From patchwork Mon Mar 7 14:59:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602268 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=nB32QXAL; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2NN2tMJz9sFk for ; Tue, 8 Mar 2022 02:25:56 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9C9C83858428 for ; Mon, 7 Mar 2022 15:25:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9C9C83858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666753; bh=Xk1SPBV9zTbt3OhVE6FtlOM11NLjT3jmLWX6bPG7wmY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=nB32QXAL5wgi8JUkUJN8kZBvMSvFNq6yrfHY+JtfMrTJo+BTDmgSbkIKkFyo27INV x5jPNX8PIOiZykSrMorlDUI+oYKr4qgusaUMSI/fS4rBx9TvMSpHdw2sqFWHIX1wMI emw7qDZuyP2/3JX8+aT5+iJsmVqMCR2wsjnOz868= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 4E5FF3858000 for ; Mon, 7 Mar 2022 15:02:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4E5FF3858000 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138338" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138338" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526463" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:02 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dZ016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 06:59:56 -0800 Message-Id: <20220307150201.10590-2-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_acosf16_core_avx512.S | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S index f08d4304fa..26fef1f268 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf16_core_avx512.S @@ -46,7 +46,7 @@ #include - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_acosf_skx) pushq %rbp cfi_def_cfa_offset(16) @@ -205,11 +205,11 @@ L(SPECIAL_VALUES_LOOP): L(SCALAR_MATH_CALL): movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 + movss 64(%rsp, %r14, 4), %xmm0 call acosf@PLT # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) /* Process special inputs in loop */ jmp L(SPECIAL_VALUES_LOOP) @@ -234,37 +234,37 @@ typedef struct { } __svml_sacos_data_internal; #endif __svml_sacos_data_internal: - /*== SgnBit ==*/ + /* SgnBit */ .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 - /*== OneHalf ==*/ + /* OneHalf */ .align 64 .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== SmallNorm ==*/ + /* SmallNorm */ .align 64 .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 - /*== MOne ==*/ + /* MOne */ .align 64 .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 - /*== Two ==*/ + /* Two */ .align 64 .long 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000 - /*== sqrt_coeff[2] ==*/ + /* sqrt_coeff[2] */ .align 64 .long 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004 /* sqrt_coeff2 */ .long 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001 /* sqrt_coeff1 */ - /*== poly_coeff[5] ==*/ + /* poly_coeff[5] */ .align 64 .long 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07 /* poly_coeff5 */ .long 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B /* poly_coeff4 */ .long 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4 /* poly_coeff3 */ .long 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12 /* poly_coeff2 */ .long 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF /* poly_coeff1 */ - /*== Pi2H ==*/ + /* Pi2H */ .align 64 .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB - /*== PiH ==*/ + /* PiH */ .align 64 .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB .align 64 - .type __svml_sacos_data_internal,@object - .size __svml_sacos_data_internal,.-__svml_sacos_data_internal + .type __svml_sacos_data_internal, @object + .size __svml_sacos_data_internal, .-__svml_sacos_data_internal From patchwork Mon Mar 7 14:59:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602287 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=LbCVAW8u; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2d069X5z9sFt for ; Tue, 8 Mar 2022 02:36:52 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 90FC9385842C for ; Mon, 7 Mar 2022 15:36:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 90FC9385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667410; bh=/Xbhp6YA4pEkdXDkKR0kYkVQErnLeMFIOy+WAjbzCCw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=LbCVAW8uoGtZgcCqF1uuSLTSnUA1hgJLWdkD7PtOKXDJIaxxZPhiM6NdRnNAs6VI6 ZUoYFvOvxhNKXD4+Vq7RB7dBGIRYSGbFhky+TPbDRmkVHY5yX3eb892Wez8I7kcy/E tTfelgrL5ciQzjADRclfGz7vPmIr7cGohcY56dHg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 393D73858C20 for ; Mon, 7 Mar 2022 15:02:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 393D73858C20 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="251983655" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="251983655" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="610639856" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2022 07:02:02 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21da016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 002/126] x86_64: Fix svml_s_acosf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 06:59:57 -0800 Message-Id: <20220307150201.10590-3-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_acosf4_core_sse4.S | 423 +++++++++--------- 1 file changed, 211 insertions(+), 212 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S index 741a24dd7b..05b48d00dc 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf4_core_sse4.S @@ -29,242 +29,241 @@ /* Offsets for data table __svml_sacos_data_internal */ -#define SgnBit 0 -#define OneHalf 16 -#define SmallNorm 32 -#define MOne 48 -#define Two 64 -#define sqrt_coeff 80 -#define poly_coeff 112 -#define Pi2H 192 -#define PiH 208 +#define SgnBit 0 +#define OneHalf 16 +#define SmallNorm 32 +#define MOne 48 +#define Two 64 +#define sqrt_coeff 80 +#define poly_coeff 112 +#define Pi2H 192 +#define PiH 208 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_acosf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* X X-Patchwork-Id: 1602363 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Aec7tfz+; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3FK26NJz9sFt for ; Tue, 8 Mar 2022 03:04:53 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F3D903858423 for ; Mon, 7 Mar 2022 16:04:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F3D903858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669091; bh=6HyHl+3yIeq5naznY+WdUT/s1EhMqksuBqiDRwgXqLA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Aec7tfz+iynY0Kqb1vZ/b1Lv94Q+xiwMXGSytFhCI6qlLum2uSlKONdAGazHrgrYr T7Vnw+Gq8dqrpgs8prAfWHv5N01j0XnMmcqSW+L+sNKQcTBhkm2FdOT3nzBTfvmcNO VzMW+KwoNKjfQs4mVJyCD42Nu8crgCEnqgJWZ0kc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 10E823858410 for ; Mon, 7 Mar 2022 15:02:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 10E823858410 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017244" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017244" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186272" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21db016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 003/126] x86_64: Fix svml_s_acosf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 06:59:58 -0800 Message-Id: <20220307150201.10590-4-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_acosf8_core_avx2.S | 411 +++++++++--------- 1 file changed, 205 insertions(+), 206 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S index 94402554ad..bf28a5dd00 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acosf8_core_avx2.S @@ -29,236 +29,235 @@ /* Offsets for data table __svml_sacos_data_internal */ -#define SgnBit 0 -#define OneHalf 32 -#define SmallNorm 64 -#define MOne 96 -#define Two 128 -#define sqrt_coeff 160 -#define poly_coeff 224 -#define Pi2H 384 -#define PiH 416 +#define SgnBit 0 +#define OneHalf 32 +#define SmallNorm 64 +#define MOne 96 +#define Two 128 +#define sqrt_coeff 160 +#define poly_coeff 224 +#define Pi2H 384 +#define PiH 416 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_acosf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* - * 2*sqrt(X) ~ Sh - Sl (to 24+ bits) - * SQ ~ 2*sqrt(X) - */ - vmovups __svml_sacos_data_internal(%rip), %ymm6 - vmovups OneHalf+__svml_sacos_data_internal(%rip), %ymm7 - vmovaps %ymm0, %ymm5 - -/* x = -|arg| */ - vorps %ymm5, %ymm6, %ymm4 - -/* Y = 0.5 + 0.5*(-x) */ - vfmadd231ps %ymm4, %ymm7, %ymm7 - -/* x^2 */ - vmulps %ymm4, %ymm4, %ymm8 - -/* SQ ~ 2*sqrt(Y) */ - vmovups sqrt_coeff+__svml_sacos_data_internal(%rip), %ymm0 - vcmpnge_uqps MOne+__svml_sacos_data_internal(%rip), %ymm4, %ymm9 - vcmplt_oqps SmallNorm+__svml_sacos_data_internal(%rip), %ymm7, %ymm10 - vminps %ymm7, %ymm8, %ymm2 - vaddps %ymm7, %ymm7, %ymm14 - vrsqrtps %ymm7, %ymm11 - vmovups poly_coeff+64+__svml_sacos_data_internal(%rip), %ymm8 - vcmpnlt_uqps %ymm7, %ymm2, %ymm1 - vmulps %ymm2, %ymm2, %ymm7 - vfmadd213ps poly_coeff+96+__svml_sacos_data_internal(%rip), %ymm2, %ymm8 - vmovmskps %ymm9, %edx - -/* polynomial */ - vmovups poly_coeff+__svml_sacos_data_internal(%rip), %ymm9 - vandnps %ymm11, %ymm10, %ymm12 - vmulps %ymm12, %ymm12, %ymm13 - vfmadd213ps poly_coeff+32+__svml_sacos_data_internal(%rip), %ymm2, %ymm9 - -/* X X-Patchwork-Id: 1602281 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=oECO4L51; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2ZF0cRMz9sFk for ; Tue, 8 Mar 2022 02:34:29 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BA68D3858428 for ; Mon, 7 Mar 2022 15:34:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA68D3858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667266; bh=3uDForfI0i9A9goXUUX0YyDRrvlT1vJpCJPkeldNav0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=oECO4L51GFdF+IzSsuOxBl8lfAumuRzG9s9/zu6AetkVITaxSdtRz5UNRCHaKpXJ8 aWMaN3rmdq63bF6Y9gmRwcGhjGMcBVMuVLzy4zS2YGOF2qqDlpdvg6D9SFsnRWWBot kVJ2rXSOIth1MhrgsMTz9iU7DflJuuZ7PwWxr13o= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 42B613858426 for ; Mon, 7 Mar 2022 15:02:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 42B613858426 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364102" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364102" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081753" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:02 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dc016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 004/126] x86_64: Fix svml_d_acos2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 06:59:59 -0800 Message-Id: <20220307150201.10590-5-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_acos2_core_sse4.S | 489 +++++++++--------- 1 file changed, 244 insertions(+), 245 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S index c25ff14329..c95aa26e3e 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos2_core_sse4.S @@ -28,276 +28,275 @@ /* Offsets for data table __svml_dacos_data_internal */ -#define SgnBit 0 -#define OneHalf 16 -#define SmallNorm 32 -#define MOne 48 -#define Two 64 -#define sqrt_coeff 80 -#define poly_coeff 144 -#define PiH 336 -#define Pi2H 352 +#define SgnBit 0 +#define OneHalf 16 +#define SmallNorm 32 +#define MOne 48 +#define Two 64 +#define sqrt_coeff 80 +#define poly_coeff 144 +#define PiH 336 +#define Pi2H 352 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_acos_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm5 - movups __svml_dacos_data_internal(%rip), %xmm3 - movups OneHalf+__svml_dacos_data_internal(%rip), %xmm6 - -/* x = -|arg| */ - movaps %xmm3, %xmm4 - orps %xmm5, %xmm4 - -/* Y = 0.5 + 0.5*(-x) */ - movaps %xmm6, %xmm7 - mulpd %xmm4, %xmm7 - addpd %xmm7, %xmm6 - -/* S ~ 2*sqrt(Y) */ - cvtpd2ps %xmm6, %xmm9 - movlhps %xmm9, %xmm9 - -/* x^2 */ - movaps %xmm4, %xmm0 - rsqrtps %xmm9, %xmm10 - mulpd %xmm4, %xmm0 - cvtps2pd %xmm10, %xmm11 - minpd %xmm6, %xmm0 - movaps %xmm6, %xmm1 - movaps %xmm0, %xmm2 - cmpltpd SmallNorm+__svml_dacos_data_internal(%rip), %xmm1 - cmpnltpd %xmm6, %xmm2 - addpd %xmm6, %xmm6 - andnps %xmm11, %xmm1 - movaps %xmm0, %xmm11 - movaps %xmm1, %xmm12 - andps %xmm5, %xmm3 - mulpd %xmm1, %xmm12 - mulpd %xmm6, %xmm1 - mulpd %xmm12, %xmm6 - mulpd %xmm0, %xmm11 - subpd Two+__svml_dacos_data_internal(%rip), %xmm6 - movups sqrt_coeff+__svml_dacos_data_internal(%rip), %xmm13 - movaps %xmm6, %xmm14 - mulpd %xmm6, %xmm13 - mulpd %xmm1, %xmm14 - addpd sqrt_coeff+16+__svml_dacos_data_internal(%rip), %xmm13 - mulpd %xmm6, %xmm13 - addpd sqrt_coeff+32+__svml_dacos_data_internal(%rip), %xmm13 - mulpd %xmm13, %xmm6 - -/* polynomial */ - movups poly_coeff+__svml_dacos_data_internal(%rip), %xmm15 - movaps %xmm11, %xmm7 - mulpd %xmm0, %xmm15 - addpd sqrt_coeff+48+__svml_dacos_data_internal(%rip), %xmm6 - addpd poly_coeff+16+__svml_dacos_data_internal(%rip), %xmm15 - mulpd %xmm11, %xmm7 - mulpd %xmm6, %xmm14 - mulpd %xmm11, %xmm15 - subpd %xmm14, %xmm1 - movups MOne+__svml_dacos_data_internal(%rip), %xmm8 - andps %xmm2, %xmm1 - -/* NaN processed in special branch (so wind test passed) */ - cmpnlepd %xmm4, %xmm8 - movmskpd %xmm8, %edx - -/* X X-Patchwork-Id: 1602374 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=UK26dDIg; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3S46t2Xz9sFt for ; Tue, 8 Mar 2022 03:14:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B00F73858424 for ; Mon, 7 Mar 2022 16:14:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B00F73858424 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669650; bh=eMwBS6YXeDXOacMJwKxQn+DWJ9XtXeyxs4GmIxLRa98=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=UK26dDIge65VacTD9s6GI7tj0ivGqeKPcEm2CoDzzO1bsuGITFG1rLxRPxBuVcROD BNfJvR5R10MQLkftK9OuU458s/+HAhl+7WZVTB3ewn28Ebo2A5DyqbUABj5P9j+mis Zwn7NLDp1h5ieHbBJwEjZohilyHxiznrAc+qttuk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id E348A385843D for ; Mon, 7 Mar 2022 15:03:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E348A385843D X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017249" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017249" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186273" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dd016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 005/126] x86_64: Fix svml_d_acos4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:00 -0800 Message-Id: <20220307150201.10590-6-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_acos4_core_avx2.S | 455 +++++++++--------- 1 file changed, 227 insertions(+), 228 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S index 9efd359bfa..e19bddd2e2 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos4_core_avx2.S @@ -28,258 +28,257 @@ /* Offsets for data table __svml_dacos_data_internal */ -#define SgnBit 0 -#define OneHalf 32 -#define SmallNorm 64 -#define MOne 96 -#define Two 128 -#define sqrt_coeff 160 -#define poly_coeff 288 -#define PiH 672 -#define Pi2H 704 +#define SgnBit 0 +#define OneHalf 32 +#define SmallNorm 64 +#define MOne 96 +#define Two 128 +#define sqrt_coeff 160 +#define poly_coeff 288 +#define PiH 672 +#define Pi2H 704 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_acos_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovupd __svml_dacos_data_internal(%rip), %ymm6 - vmovupd OneHalf+__svml_dacos_data_internal(%rip), %ymm7 - vmovapd %ymm0, %ymm5 - -/* x = -|arg| */ - vorpd %ymm5, %ymm6, %ymm4 - -/* Y = 0.5 + 0.5*(-x) */ - vfmadd231pd %ymm4, %ymm7, %ymm7 - -/* x^2 */ - vmulpd %ymm4, %ymm4, %ymm8 - -/* S ~ 2*sqrt(Y) */ - vmovupd sqrt_coeff+__svml_dacos_data_internal(%rip), %ymm0 - vcmplt_oqpd SmallNorm+__svml_dacos_data_internal(%rip), %ymm7, %ymm12 - vminpd %ymm7, %ymm8, %ymm2 - -/* NaN processed in special branch (so wind test passed) */ - vcmpnge_uqpd MOne+__svml_dacos_data_internal(%rip), %ymm4, %ymm9 - vcvtpd2ps %ymm7, %xmm10 - vmovupd poly_coeff+64+__svml_dacos_data_internal(%rip), %ymm8 - vcmpnlt_uqpd %ymm7, %ymm2, %ymm1 - vrsqrtps %xmm10, %xmm11 - vfmadd213pd poly_coeff+96+__svml_dacos_data_internal(%rip), %ymm2, %ymm8 - vcvtps2pd %xmm11, %ymm13 - vmovupd poly_coeff+128+__svml_dacos_data_internal(%rip), %ymm11 - vandnpd %ymm13, %ymm12, %ymm14 - vmulpd %ymm14, %ymm14, %ymm15 - vfmadd213pd poly_coeff+160+__svml_dacos_data_internal(%rip), %ymm2, %ymm11 - vmulpd %ymm2, %ymm2, %ymm13 - vmovupd poly_coeff+256+__svml_dacos_data_internal(%rip), %ymm12 - vmulpd %ymm13, %ymm13, %ymm10 - vfmadd213pd poly_coeff+288+__svml_dacos_data_internal(%rip), %ymm2, %ymm12 - vandpd %ymm5, %ymm6, %ymm3 - vaddpd %ymm7, %ymm7, %ymm6 - vmulpd %ymm6, %ymm14, %ymm7 - vfmsub213pd Two+__svml_dacos_data_internal(%rip), %ymm15, %ymm6 - vmovupd poly_coeff+320+__svml_dacos_data_internal(%rip), %ymm14 - vfmadd213pd sqrt_coeff+32+__svml_dacos_data_internal(%rip), %ymm6, %ymm0 - vmulpd %ymm6, %ymm7, %ymm15 - vfmadd213pd poly_coeff+352+__svml_dacos_data_internal(%rip), %ymm2, %ymm14 - vfmadd213pd sqrt_coeff+64+__svml_dacos_data_internal(%rip), %ymm6, %ymm0 - vfmadd213pd sqrt_coeff+96+__svml_dacos_data_internal(%rip), %ymm6, %ymm0 - -/* polynomial */ - vmovupd poly_coeff+__svml_dacos_data_internal(%rip), %ymm6 - vfnmadd213pd %ymm7, %ymm15, %ymm0 - vfmadd213pd poly_coeff+32+__svml_dacos_data_internal(%rip), %ymm2, %ymm6 - vblendvpd %ymm1, %ymm0, %ymm4, %ymm0 - vfmadd213pd %ymm8, %ymm13, %ymm6 - vmovmskpd %ymm9, %edx - vmovupd poly_coeff+192+__svml_dacos_data_internal(%rip), %ymm9 - vfmadd213pd poly_coeff+224+__svml_dacos_data_internal(%rip), %ymm2, %ymm9 - vfmadd213pd %ymm9, %ymm13, %ymm11 - vfmadd213pd %ymm11, %ymm10, %ymm6 - vfmadd213pd %ymm12, %ymm13, %ymm6 - vfmadd213pd %ymm14, %ymm13, %ymm6 - vmulpd %ymm6, %ymm2, %ymm9 - -/* X X-Patchwork-Id: 1602321 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=GST8Ii4K; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2rG6ZLtz9sFw for ; Tue, 8 Mar 2022 02:46:38 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 96039385841F for ; Mon, 7 Mar 2022 15:46:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 96039385841F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667996; bh=y37lLjjqxxUBrg1r1WJPThH+PZLzRgFPMH4VmOOqIjA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=GST8Ii4KX3uPwvaEUNc46PawODdW208mS75uLOf7B/HwmBubqYPKa59F2BU1T+5gy YDI31BLgFWtDyNuq4HkwkA7Q/KXqbLHtVPXX6nJsaYlgL3U/vbFjirh3n/QyYuWZyQ dKG1rlWq+uUlF4tlLutSbuZ+y2pJY3WkzsR78gQk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 2CB563858000 for ; Mon, 7 Mar 2022 15:02:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2CB563858000 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="251983656" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="251983656" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="610639859" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2022 07:02:02 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21de016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 006/126] x86_64: Fix svml_d_acos8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:01 -0800 Message-Id: <20220307150201.10590-7-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_acos8_core_avx512.S | 499 +++++++++--------- 1 file changed, 249 insertions(+), 250 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S index 4f617ac850..f4c72c3618 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acos8_core_avx512.S @@ -28,280 +28,279 @@ /* Offsets for data table __svml_dacos_data_internal */ -#define SgnBit 0 -#define OneHalf 64 -#define SmallNorm 128 -#define MOne 192 -#define Two 256 -#define sqrt_coeff_1 320 -#define sqrt_coeff_2 384 -#define sqrt_coeff_3 448 -#define sqrt_coeff_4 512 -#define poly_coeff_1 576 -#define poly_coeff_2 640 -#define poly_coeff_3 704 -#define poly_coeff_4 768 -#define poly_coeff_5 832 -#define poly_coeff_6 896 -#define poly_coeff_7 960 -#define poly_coeff_8 1024 -#define poly_coeff_9 1088 -#define poly_coeff_10 1152 -#define poly_coeff_11 1216 -#define poly_coeff_12 1280 -#define PiH 1344 -#define Pi2H 1408 +#define SgnBit 0 +#define OneHalf 64 +#define SmallNorm 128 +#define MOne 192 +#define Two 256 +#define sqrt_coeff_1 320 +#define sqrt_coeff_2 384 +#define sqrt_coeff_3 448 +#define sqrt_coeff_4 512 +#define poly_coeff_1 576 +#define poly_coeff_2 640 +#define poly_coeff_3 704 +#define poly_coeff_4 768 +#define poly_coeff_5 832 +#define poly_coeff_6 896 +#define poly_coeff_7 960 +#define poly_coeff_8 1024 +#define poly_coeff_9 1088 +#define poly_coeff_10 1152 +#define poly_coeff_11 1216 +#define poly_coeff_12 1280 +#define PiH 1344 +#define Pi2H 1408 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_acos_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups __svml_dacos_data_internal(%rip), %zmm7 - vmovups OneHalf+__svml_dacos_data_internal(%rip), %zmm8 - -/* S ~ 2*sqrt(Y) */ - vmovups SmallNorm+__svml_dacos_data_internal(%rip), %zmm11 - vmovups Two+__svml_dacos_data_internal(%rip), %zmm14 - vmovups sqrt_coeff_1+__svml_dacos_data_internal(%rip), %zmm15 - vmovups sqrt_coeff_2+__svml_dacos_data_internal(%rip), %zmm2 - vmovups sqrt_coeff_3+__svml_dacos_data_internal(%rip), %zmm1 - vmovups MOne+__svml_dacos_data_internal(%rip), %zmm10 - vmovaps %zmm0, %zmm6 - -/* x = -|arg| */ - vorpd %zmm6, %zmm7, %zmm5 - vandpd %zmm6, %zmm7, %zmm4 - -/* Y = 0.5 + 0.5*(-x) */ - vfmadd231pd {rn-sae}, %zmm5, %zmm8, %zmm8 - -/* x^2 */ - vmulpd {rn-sae}, %zmm5, %zmm5, %zmm9 - vrsqrt14pd %zmm8, %zmm12 - vcmppd $17, {sae}, %zmm11, %zmm8, %k1 - vcmppd $17, {sae}, %zmm10, %zmm5, %k0 - vmovups poly_coeff_5+__svml_dacos_data_internal(%rip), %zmm10 - vmovups poly_coeff_7+__svml_dacos_data_internal(%rip), %zmm11 - vminpd {sae}, %zmm8, %zmm9, %zmm3 - vmovups poly_coeff_3+__svml_dacos_data_internal(%rip), %zmm9 - vxorpd %zmm12, %zmm12, %zmm12{%k1} - vaddpd {rn-sae}, %zmm8, %zmm8, %zmm0 - vcmppd $21, {sae}, %zmm8, %zmm3, %k4 - -/* X X-Patchwork-Id: 1602369 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ttOXhDRl; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3MW2DXJz9sFt for ; Tue, 8 Mar 2022 03:10:15 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 208D8385842F for ; Mon, 7 Mar 2022 16:10:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 208D8385842F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669413; bh=e9nUWzVtcl5j1PyMmfm8ThKutObkWOLSN2CY9tZGOBA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ttOXhDRl6SU0phiwM5AtPpZklCu3d2vmClGGIuDBWFEj5fu9Ed4tSsyqvHm4v0lb+ tbhVdisvs45rLL+HAqVGke/7FuTCMWkopr2/Rq0IsbRxw4qtjywUVYGzIwgX2XC44S UVtAbt/BjozqW6JI4xLsUPmRN2or3dZGaDvvILH8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 2F6A23858422 for ; Mon, 7 Mar 2022 15:03:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2F6A23858422 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017250" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017250" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186274" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21df016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 007/126] x86_64: Fix svml_s_acoshf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:02 -0800 Message-Id: <20220307150201.10590-8-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_acoshf16_core_avx512.S | 743 +++++++++--------- 1 file changed, 371 insertions(+), 372 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S index 0ae0e89116..3f44e75248 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf16_core_avx512.S @@ -36,414 +36,413 @@ /* Offsets for data table __svml_sacosh_data_internal_avx512 */ -#define Log_tbl_H 0 -#define Log_tbl_L 128 -#define One 256 -#define SmallThreshold 320 -#define Threshold 384 -#define LargeThreshold 448 -#define ca1 512 -#define c2s 576 -#define c1s 640 -#define AddB5 704 -#define RcpBitMask 768 -#define OneEighth 832 -#define Four 896 -#define poly_coeff3 960 -#define poly_coeff2 1024 -#define poly_coeff1 1088 -#define L2H 1152 -#define L2L 1216 +#define Log_tbl_H 0 +#define Log_tbl_L 128 +#define One 256 +#define SmallThreshold 320 +#define Threshold 384 +#define LargeThreshold 448 +#define ca1 512 +#define c2s 576 +#define c1s 640 +#define AddB5 704 +#define RcpBitMask 768 +#define OneEighth 832 +#define Four 896 +#define poly_coeff3 960 +#define poly_coeff2 1024 +#define poly_coeff1 1088 +#define L2H 1152 +#define L2L 1216 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_acoshf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups One+__svml_sacosh_data_internal_avx512(%rip), %zmm1 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups One+__svml_sacosh_data_internal_avx512(%rip), %zmm1 -/* - * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s - * poly_s = c1+c2*Eh - */ - vmovups c2s+__svml_sacosh_data_internal_avx512(%rip), %zmm13 - vmovups c1s+__svml_sacosh_data_internal_avx512(%rip), %zmm15 - -/* polynomial computation for small inputs */ - vmovups ca1+__svml_sacosh_data_internal_avx512(%rip), %zmm9 - -/* very large inputs ? */ - vmovups Threshold+__svml_sacosh_data_internal_avx512(%rip), %zmm10 - -/* out of range inputs? */ - vmovups LargeThreshold+__svml_sacosh_data_internal_avx512(%rip), %zmm11 - -/* not a very small input ? */ - vmovups SmallThreshold+__svml_sacosh_data_internal_avx512(%rip), %zmm6 - vmovaps %zmm0, %zmm8 - -/* x^2 - 1 */ - vmovaps %zmm1, %zmm7 - vfmsub231ps {rn-sae}, %zmm8, %zmm8, %zmm7 - vcmpps $21, {sae}, %zmm10, %zmm8, %k2 - vcmpps $22, {sae}, %zmm11, %zmm8, %k0 - vcmpps $18, {sae}, %zmm1, %zmm8, %k1 - vrsqrt14ps %zmm7, %zmm12 - vcmpps $21, {sae}, %zmm6, %zmm7, %k3 - vmulps {rn-sae}, %zmm9, %zmm7, %zmm4 - -/* Sh ~sqrt(-1+x^2) */ - vmulps {rn-sae}, %zmm12, %zmm7, %zmm5 - -/* Sh+x */ - vaddps {rn-sae}, %zmm8, %zmm5, %zmm9 - -/* (Yh*R0)_low */ - vmovaps %zmm7, %zmm0 - korw %k0, %k1, %k0 - -/* rel. error term: Eh=1-Sh*R0 */ - vmovaps %zmm1, %zmm14 - vfmsub213ps {rn-sae}, %zmm5, %zmm12, %zmm0 - vfnmadd231ps {rn-sae}, %zmm5, %zmm12, %zmm14 - -/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ - vfnmadd231ps {rn-sae}, %zmm0, %zmm12, %zmm14 - -/* Sh*Eh */ - vmulps {rn-sae}, %zmm14, %zmm5, %zmm3 - vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm15 - -/* Sl + Sh*Eh*poly_s */ - vfmadd213ps {rn-sae}, %zmm0, %zmm15, %zmm3 - -/* Shh */ - vsubps {rn-sae}, %zmm8, %zmm9, %zmm15 + /* + * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s + * poly_s = c1+c2*Eh + */ + vmovups c2s+__svml_sacosh_data_internal_avx512(%rip), %zmm13 + vmovups c1s+__svml_sacosh_data_internal_avx512(%rip), %zmm15 + + /* polynomial computation for small inputs */ + vmovups ca1+__svml_sacosh_data_internal_avx512(%rip), %zmm9 -/* polynomial computation for small inputs */ - vaddps {rn-sae}, %zmm3, %zmm5, %zmm0 + /* very large inputs ? */ + vmovups Threshold+__svml_sacosh_data_internal_avx512(%rip), %zmm10 + + /* out of range inputs? */ + vmovups LargeThreshold+__svml_sacosh_data_internal_avx512(%rip), %zmm11 + + /* not a very small input ? */ + vmovups SmallThreshold+__svml_sacosh_data_internal_avx512(%rip), %zmm6 + vmovaps %zmm0, %zmm8 + + /* x^2 - 1 */ + vmovaps %zmm1, %zmm7 + vfmsub231ps {rn-sae}, %zmm8, %zmm8, %zmm7 + vcmpps $21, {sae}, %zmm10, %zmm8, %k2 + vcmpps $22, {sae}, %zmm11, %zmm8, %k0 + vcmpps $18, {sae}, %zmm1, %zmm8, %k1 + vrsqrt14ps %zmm7, %zmm12 + vcmpps $21, {sae}, %zmm6, %zmm7, %k3 + vmulps {rn-sae}, %zmm9, %zmm7, %zmm4 + + /* Sh ~sqrt(-1+x^2) */ + vmulps {rn-sae}, %zmm12, %zmm7, %zmm5 + + /* Sh+x */ + vaddps {rn-sae}, %zmm8, %zmm5, %zmm9 + + /* (Yh*R0)_low */ + vmovaps %zmm7, %zmm0 + korw %k0, %k1, %k0 + + /* rel. error term: Eh=1-Sh*R0 */ + vmovaps %zmm1, %zmm14 + vfmsub213ps {rn-sae}, %zmm5, %zmm12, %zmm0 + vfnmadd231ps {rn-sae}, %zmm5, %zmm12, %zmm14 + + /* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ + vfnmadd231ps {rn-sae}, %zmm0, %zmm12, %zmm14 + + /* Sh*Eh */ + vmulps {rn-sae}, %zmm14, %zmm5, %zmm3 + vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm15 + + /* Sl + Sh*Eh*poly_s */ + vfmadd213ps {rn-sae}, %zmm0, %zmm15, %zmm3 + + /* Shh */ + vsubps {rn-sae}, %zmm8, %zmm9, %zmm15 + + /* polynomial computation for small inputs */ + vaddps {rn-sae}, %zmm3, %zmm5, %zmm0 + + /* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ + vaddps {rn-sae}, %zmm3, %zmm9, %zmm2 + + /* Shl */ + vsubps {rn-sae}, %zmm15, %zmm5, %zmm10 + vfmadd231ps {rn-sae}, %zmm0, %zmm4, %zmm0 + + /* fixup for very large inputs */ + vmovups OneEighth+__svml_sacosh_data_internal_avx512(%rip), %zmm4 + + /* Sl_high */ + vsubps {rn-sae}, %zmm9, %zmm2, %zmm5 + + /* polynomial */ + vmovups poly_coeff3+__svml_sacosh_data_internal_avx512(%rip), %zmm9 + vmulps {rn-sae}, %zmm4, %zmm8, %zmm2{%k2} + + /* -K*L2L + Tl */ + vmovups L2L+__svml_sacosh_data_internal_avx512(%rip), %zmm4 + + /* Sl_l */ + vsubps {rn-sae}, %zmm5, %zmm3, %zmm3 + vrcp14ps %zmm2, %zmm11 + vmovups Log_tbl_L+__svml_sacosh_data_internal_avx512(%rip), %zmm5 + + /* Xin_low */ + vaddps {rn-sae}, %zmm10, %zmm3, %zmm13 + + /* round reciprocal to 1+4b mantissas */ + vpaddd AddB5+__svml_sacosh_data_internal_avx512(%rip), %zmm11, %zmm12 + vmovups poly_coeff1+__svml_sacosh_data_internal_avx512(%rip), %zmm10 + vandps RcpBitMask+__svml_sacosh_data_internal_avx512(%rip), %zmm12, %zmm14 -/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ - vaddps {rn-sae}, %zmm3, %zmm9, %zmm2 + /* fixup for very large inputs */ + vxorps %zmm13, %zmm13, %zmm13{%k2} -/* Shl */ - vsubps {rn-sae}, %zmm15, %zmm5, %zmm10 - vfmadd231ps {rn-sae}, %zmm0, %zmm4, %zmm0 + /* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ + vfmsub231ps {rn-sae}, %zmm14, %zmm2, %zmm1 -/* fixup for very large inputs */ - vmovups OneEighth+__svml_sacosh_data_internal_avx512(%rip), %zmm4 + /* exponents */ + vgetexpps {sae}, %zmm14, %zmm12 + vmovups Four+__svml_sacosh_data_internal_avx512(%rip), %zmm2 -/* Sl_high */ - vsubps {rn-sae}, %zmm9, %zmm2, %zmm5 + /* Prepare table index */ + vpsrld $18, %zmm14, %zmm3 + vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm1 + vmovups poly_coeff2+__svml_sacosh_data_internal_avx512(%rip), %zmm13 -/* polynomial */ - vmovups poly_coeff3+__svml_sacosh_data_internal_avx512(%rip), %zmm9 - vmulps {rn-sae}, %zmm4, %zmm8, %zmm2{%k2} + /* Table lookups */ + vmovups __svml_sacosh_data_internal_avx512(%rip), %zmm14 + vsubps {rn-sae}, %zmm2, %zmm12, %zmm12{%k2} + vpermt2ps Log_tbl_L+64+__svml_sacosh_data_internal_avx512(%rip), %zmm3, %zmm5 + vpermt2ps Log_tbl_H+64+__svml_sacosh_data_internal_avx512(%rip), %zmm3, %zmm14 -/* -K*L2L + Tl */ - vmovups L2L+__svml_sacosh_data_internal_avx512(%rip), %zmm4 + /* R^2 */ + vmulps {rn-sae}, %zmm1, %zmm1, %zmm11 -/* Sl_l */ - vsubps {rn-sae}, %zmm5, %zmm3, %zmm3 - vrcp14ps %zmm2, %zmm11 - vmovups Log_tbl_L+__svml_sacosh_data_internal_avx512(%rip), %zmm5 + /* -K*L2H + Th */ + vmovups L2H+__svml_sacosh_data_internal_avx512(%rip), %zmm2 + vfmadd231ps {rn-sae}, %zmm1, %zmm9, %zmm13 + vfnmadd231ps {rn-sae}, %zmm12, %zmm2, %zmm14 + vfnmadd213ps {rn-sae}, %zmm5, %zmm4, %zmm12 + vfmadd213ps {rn-sae}, %zmm10, %zmm1, %zmm13 -/* Xin_low */ - vaddps {rn-sae}, %zmm10, %zmm3, %zmm13 + /* Tl + R^2*Poly */ + vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm13 -/* round reciprocal to 1+4b mantissas */ - vpaddd AddB5+__svml_sacosh_data_internal_avx512(%rip), %zmm11, %zmm12 - vmovups poly_coeff1+__svml_sacosh_data_internal_avx512(%rip), %zmm10 - vandps RcpBitMask+__svml_sacosh_data_internal_avx512(%rip), %zmm12, %zmm14 + /* R+Tl + R^2*Poly */ + vaddps {rn-sae}, %zmm1, %zmm13, %zmm1 + vaddps {rn-sae}, %zmm1, %zmm14, %zmm0{%k3} -/* fixup for very large inputs */ - vxorps %zmm13, %zmm13, %zmm13{%k2} + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 k0 zmm0 zmm8 -/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ - vfmsub231ps {rn-sae}, %zmm14, %zmm2, %zmm1 - -/* exponents */ - vgetexpps {sae}, %zmm14, %zmm12 - vmovups Four+__svml_sacosh_data_internal_avx512(%rip), %zmm2 - -/* Prepare table index */ - vpsrld $18, %zmm14, %zmm3 - vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm1 - vmovups poly_coeff2+__svml_sacosh_data_internal_avx512(%rip), %zmm13 - -/* Table lookups */ - vmovups __svml_sacosh_data_internal_avx512(%rip), %zmm14 - vsubps {rn-sae}, %zmm2, %zmm12, %zmm12{%k2} - vpermt2ps Log_tbl_L+64+__svml_sacosh_data_internal_avx512(%rip), %zmm3, %zmm5 - vpermt2ps Log_tbl_H+64+__svml_sacosh_data_internal_avx512(%rip), %zmm3, %zmm14 - -/* R^2 */ - vmulps {rn-sae}, %zmm1, %zmm1, %zmm11 - -/* -K*L2H + Th */ - vmovups L2H+__svml_sacosh_data_internal_avx512(%rip), %zmm2 - vfmadd231ps {rn-sae}, %zmm1, %zmm9, %zmm13 - vfnmadd231ps {rn-sae}, %zmm12, %zmm2, %zmm14 - vfnmadd213ps {rn-sae}, %zmm5, %zmm4, %zmm12 - vfmadd213ps {rn-sae}, %zmm10, %zmm1, %zmm13 - -/* Tl + R^2*Poly */ - vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm13 - -/* R+Tl + R^2*Poly */ - vaddps {rn-sae}, %zmm1, %zmm13, %zmm1 - vaddps {rn-sae}, %zmm1, %zmm14, %zmm0{%k3} - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 k0 zmm0 zmm8 - -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm8, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 k0 zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax k0 - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - kmovd %k0, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm8, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 k0 zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax k0 + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + kmovd %k0, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call acoshf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call acoshf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_acoshf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_sacosh_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl_H[32][1]; - __declspec(align(64)) VUINT32 Log_tbl_L[32][1]; - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 SmallThreshold[16][1]; - __declspec(align(64)) VUINT32 Threshold[16][1]; - __declspec(align(64)) VUINT32 LargeThreshold[16][1]; - __declspec(align(64)) VUINT32 ca1[16][1]; - __declspec(align(64)) VUINT32 c2s[16][1]; - __declspec(align(64)) VUINT32 c1s[16][1]; - __declspec(align(64)) VUINT32 AddB5[16][1]; - __declspec(align(64)) VUINT32 RcpBitMask[16][1]; - __declspec(align(64)) VUINT32 OneEighth[16][1]; - __declspec(align(64)) VUINT32 Four[16][1]; - __declspec(align(64)) VUINT32 poly_coeff3[16][1]; - __declspec(align(64)) VUINT32 poly_coeff2[16][1]; - __declspec(align(64)) VUINT32 poly_coeff1[16][1]; - __declspec(align(64)) VUINT32 L2H[16][1]; - __declspec(align(64)) VUINT32 L2L[16][1]; - } __svml_sacosh_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl_H[32][1]; + __declspec(align(64)) VUINT32 Log_tbl_L[32][1]; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 SmallThreshold[16][1]; + __declspec(align(64)) VUINT32 Threshold[16][1]; + __declspec(align(64)) VUINT32 LargeThreshold[16][1]; + __declspec(align(64)) VUINT32 ca1[16][1]; + __declspec(align(64)) VUINT32 c2s[16][1]; + __declspec(align(64)) VUINT32 c1s[16][1]; + __declspec(align(64)) VUINT32 AddB5[16][1]; + __declspec(align(64)) VUINT32 RcpBitMask[16][1]; + __declspec(align(64)) VUINT32 OneEighth[16][1]; + __declspec(align(64)) VUINT32 Four[16][1]; + __declspec(align(64)) VUINT32 poly_coeff3[16][1]; + __declspec(align(64)) VUINT32 poly_coeff2[16][1]; + __declspec(align(64)) VUINT32 poly_coeff1[16][1]; + __declspec(align(64)) VUINT32 L2H[16][1]; + __declspec(align(64)) VUINT32 L2L[16][1]; +} __svml_sacosh_data_internal_avx512; #endif __svml_sacosh_data_internal_avx512: - /*== Log_tbl_H ==*/ - .long 0x00000000 - .long 0xbcfc0000 - .long 0xbd788000 - .long 0xbdb78000 - .long 0xbdf14000 - .long 0xbe14a000 - .long 0xbe300000 - .long 0xbe4aa000 - .long 0xbe648000 - .long 0xbe7dc000 - .long 0xbe8b4000 - .long 0xbe974000 - .long 0xbea31000 - .long 0xbeae9000 - .long 0xbeb9d000 - .long 0xbec4d000 - .long 0xbecfa000 - .long 0xbeda2000 - .long 0xbee48000 - .long 0xbeeea000 - .long 0xbef89000 - .long 0xbf012800 - .long 0xbf05f000 - .long 0xbf0aa800 - .long 0xbf0f4000 - .long 0xbf13c800 - .long 0xbf184000 - .long 0xbf1ca000 - .long 0xbf20f000 - .long 0xbf252800 - .long 0xbf295000 - .long 0xbf2d6800 - /*== Log_tbl_L ==*/ - .align 64 - .long 0x80000000 - .long 0xb726c39e - .long 0x3839e7fe - .long 0xb7528ae5 - .long 0x377891d5 - .long 0xb8297c10 - .long 0x37cf8f58 - .long 0x3852b186 - .long 0x35838656 - .long 0xb80c36af - .long 0x38235454 - .long 0xb862bae1 - .long 0x37e87bc7 - .long 0x37848150 - .long 0x37202511 - .long 0xb74e1b05 - .long 0x385c1340 - .long 0xb8777bcd - .long 0x36038656 - .long 0xb7d40984 - .long 0xb80f5faf - .long 0xb8254b4c - .long 0xb865c84a - .long 0x37f0b42d - .long 0xb83ebce1 - .long 0xb83c2513 - .long 0x37a332c4 - .long 0x3779654f - .long 0x38602f73 - .long 0x367449f8 - .long 0xb7b4996f - .long 0xb800986b - /*== One ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== SmallThreshold ==*/ - .align 64 - .long 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000 - /*== Threshold ==*/ - .align 64 - .long 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000 - /*== LargeThreshold ==*/ - .align 64 - .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff - /*== ca1 ==*/ - .align 64 - .long 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE - /*== c2s ==*/ - .align 64 - .long 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000 - /*== c1s ==*/ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== AddB5 ==*/ - .align 64 - .long 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000 - /*== RcpBitMask ==*/ - .align 64 - .long 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000 - /*==OneEighth ==*/ - .align 64 - .long 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000 - /*== Four ==*/ - .align 64 - .long 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000 - /*== poly_coeff3 ==*/ - .align 64 - .long 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810 - /*== poly_coeff2 ==*/ - .align 64 - .long 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e - /*== poly_coeff1 ==*/ - .align 64 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .long 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000 - /*== L2L = log(2)_low ==*/ - .align 64 - .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 - .align 64 - .type __svml_sacosh_data_internal_avx512,@object - .size __svml_sacosh_data_internal_avx512,.-__svml_sacosh_data_internal_avx512 + /* Log_tbl_H */ + .long 0x00000000 + .long 0xbcfc0000 + .long 0xbd788000 + .long 0xbdb78000 + .long 0xbdf14000 + .long 0xbe14a000 + .long 0xbe300000 + .long 0xbe4aa000 + .long 0xbe648000 + .long 0xbe7dc000 + .long 0xbe8b4000 + .long 0xbe974000 + .long 0xbea31000 + .long 0xbeae9000 + .long 0xbeb9d000 + .long 0xbec4d000 + .long 0xbecfa000 + .long 0xbeda2000 + .long 0xbee48000 + .long 0xbeeea000 + .long 0xbef89000 + .long 0xbf012800 + .long 0xbf05f000 + .long 0xbf0aa800 + .long 0xbf0f4000 + .long 0xbf13c800 + .long 0xbf184000 + .long 0xbf1ca000 + .long 0xbf20f000 + .long 0xbf252800 + .long 0xbf295000 + .long 0xbf2d6800 + /* Log_tbl_L */ + .align 64 + .long 0x80000000 + .long 0xb726c39e + .long 0x3839e7fe + .long 0xb7528ae5 + .long 0x377891d5 + .long 0xb8297c10 + .long 0x37cf8f58 + .long 0x3852b186 + .long 0x35838656 + .long 0xb80c36af + .long 0x38235454 + .long 0xb862bae1 + .long 0x37e87bc7 + .long 0x37848150 + .long 0x37202511 + .long 0xb74e1b05 + .long 0x385c1340 + .long 0xb8777bcd + .long 0x36038656 + .long 0xb7d40984 + .long 0xb80f5faf + .long 0xb8254b4c + .long 0xb865c84a + .long 0x37f0b42d + .long 0xb83ebce1 + .long 0xb83c2513 + .long 0x37a332c4 + .long 0x3779654f + .long 0x38602f73 + .long 0x367449f8 + .long 0xb7b4996f + .long 0xb800986b + /* One */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* SmallThreshold */ + .align 64 + .long 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000, 0x39800000 + /* Threshold */ + .align 64 + .long 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000 + /* LargeThreshold */ + .align 64 + .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff + /* ca1 */ + .align 64 + .long 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE + /* c2s */ + .align 64 + .long 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000 + /* c1s */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + /* AddB5 */ + .align 64 + .long 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000 + /* RcpBitMask */ + .align 64 + .long 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000 + /* OneEighth */ + .align 64 + .long 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000 + /* Four */ + .align 64 + .long 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000 + /* poly_coeff3 */ + .align 64 + .long 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810 + /* poly_coeff2 */ + .align 64 + .long 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e + /* poly_coeff1 */ + .align 64 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 + /* L2H = log(2)_high */ + .align 64 + .long 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000 + /* L2L = log(2)_low */ + .align 64 + .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 + .align 64 + .type __svml_sacosh_data_internal_avx512, @object + .size __svml_sacosh_data_internal_avx512, .-__svml_sacosh_data_internal_avx512 From patchwork Mon Mar 7 15:00:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602291 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=AsyTCgYc; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2gX4hQ4z9sFt for ; Tue, 8 Mar 2022 02:39:04 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 750F43858426 for ; Mon, 7 Mar 2022 15:39:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 750F43858426 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667542; bh=FjN5BHyP3K4V5JC5fORC/h/JVhkr4VmaJ2TsZloVYh8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=AsyTCgYcDMH8b42hwzShVBvzAFSN92kxd/CUyOnGfQ8FRmBMbKKyV8gwqPiu4fpJo HJpPZQgL0p+wx0W7Qysjp0OO8zURxs78E6ULitibKudPc/vUF7SkF3nnAOXwjeEc/V mSNJOA4RKCNAQlowf2M1AbfrgnzrrM61zFMm47U4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 75C6C3858438 for ; Mon, 7 Mar 2022 15:02:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 75C6C3858438 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241842975" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241842975" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="711132935" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga005.jf.intel.com with ESMTP; 07 Mar 2022 07:02:02 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dg016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 008/126] x86_64: Fix svml_s_acoshf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:03 -0800 Message-Id: <20220307150201.10590-9-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_acoshf4_core_sse4.S | 653 +++++++++--------- 1 file changed, 326 insertions(+), 327 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S index 036c7c040f..3d7cdd4315 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf4_core_sse4.S @@ -33,357 +33,356 @@ /* Offsets for data table __svml_sacosh_data_internal */ -#define sOne 0 -#define sPoly 16 -#define iBrkValue 144 -#define iOffExpoMask 160 -#define sBigThreshold 176 -#define sC2 192 -#define sC3 208 -#define sHalf 224 -#define sLargestFinite 240 -#define sThirtyOne 256 -#define sTopMask8 272 -#define XScale 288 -#define sLn2 304 +#define sOne 0 +#define sPoly 16 +#define iBrkValue 144 +#define iOffExpoMask 160 +#define sBigThreshold 176 +#define sC2 192 +#define sC3 208 +#define sHalf 224 +#define sLargestFinite 240 +#define sThirtyOne 256 +#define sTopMask8 272 +#define XScale 288 +#define sLn2 304 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_acoshf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* Compute U = X - 1 and V = X + 1, naively first. */ - movaps %xmm0, %xmm12 - -/* Load constants, always including One = 1 */ - movups sOne+__svml_sacosh_data_internal(%rip), %xmm2 - -/* - * Check that 1 < X < +inf; otherwise go to the callout function. - * We need the callout for X = 1 to avoid division by zero below. - * This test ensures that callout handles NaN and either infinity. - */ - movaps %xmm0, %xmm4 - movaps %xmm2, %xmm9 - -/* - * Compute e = -(2 * d + d^2) - * The first FMR is exact, and the rounding error in the other is acceptable - * since d and e are ~ 2^-8 - */ - movaps %xmm2, %xmm10 - -/* Finally, express Y + W = U * V accurately where Y has <= 8 bits */ - movups sTopMask8+__svml_sacosh_data_internal(%rip), %xmm5 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - movaps %xmm2, %xmm13 - movaps %xmm5, %xmm11 - movaps %xmm2, %xmm3 - -/* - * Now 1 / (1 + d) - * = 1 / (1 + (sqrt(1 - e) - 1)) - * = 1 / sqrt(1 - e) - * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... - * So compute the first three nonconstant terms of that, so that - * we have a relative correction (1 + Corr) to apply to S etc. - * C1 = 1/2 - * C2 = 3/8 - * C3 = 5/16 - */ - movups sC3+__svml_sacosh_data_internal(%rip), %xmm8 - -/* - * The following computation can go wrong for very large X, e.g. - * the X^2 - 1 = U * V can overflow. But for large X we have - * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when to do this. - */ - movaps %xmm0, %xmm1 - cmpnleps sLargestFinite+__svml_sacosh_data_internal(%rip), %xmm4 - cmpltps sBigThreshold+__svml_sacosh_data_internal(%rip), %xmm1 - cmpnltps %xmm0, %xmm3 - subps %xmm2, %xmm12 - addps %xmm0, %xmm9 - -/* For low-accuracy versions, naivety is harmless */ - mulps %xmm12, %xmm9 - orps %xmm3, %xmm4 - movmskps %xmm4, %edx - andps %xmm9, %xmm11 - movaps %xmm1, %xmm3 - -/* - * Compute R = 1/sqrt(Y + W) * (1 + d) - * Force R to <= 8 significant bits. - * This means that R * Y and R^2 * Y are exactly representable. - */ - rsqrtps %xmm11, %xmm7 - subps %xmm11, %xmm9 - andps %xmm5, %xmm7 - movaps %xmm2, %xmm4 - -/* - * Compute S = (Y/sqrt(Y + W)) * (1 + d) - * and T = (W/sqrt(Y + W)) * (1 + d) - * so that S + T = sqrt(Y + W) * (1 + d) - * S is exact, and the rounding error in T is OK. - */ - mulps %xmm7, %xmm11 - movaps %xmm7, %xmm6 - mulps %xmm7, %xmm9 - mulps %xmm11, %xmm6 - mulps %xmm9, %xmm7 - -/* - * For low-accuracy versions, the computation can be done - * just as U + ((S + T) + (S + T) * Corr) - */ - addps %xmm9, %xmm11 - subps %xmm6, %xmm10 - movaps %xmm2, %xmm9 - subps %xmm7, %xmm10 - mulps %xmm10, %xmm8 - -/* Now multiplex to the case X = 2^-30 * input, Xl = 0 in the "big" case. */ - movups XScale+__svml_sacosh_data_internal(%rip), %xmm14 - mulps %xmm0, %xmm14 - addps sC2+__svml_sacosh_data_internal(%rip), %xmm8 - mulps %xmm10, %xmm8 - andnps %xmm14, %xmm3 - -/* - * Now resume the main code. - * reduction: compute r,n - */ - movdqu iBrkValue+__svml_sacosh_data_internal(%rip), %xmm14 - movdqu iOffExpoMask+__svml_sacosh_data_internal(%rip), %xmm5 - -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - movups sThirtyOne+__svml_sacosh_data_internal(%rip), %xmm6 - addps sHalf+__svml_sacosh_data_internal(%rip), %xmm8 - mulps %xmm8, %xmm10 - movaps %xmm1, %xmm8 - mulps %xmm11, %xmm10 - addps %xmm10, %xmm11 - addps %xmm11, %xmm12 - maxps %xmm12, %xmm13 - minps %xmm12, %xmm9 - movaps %xmm13, %xmm15 - addps %xmm9, %xmm15 - subps %xmm15, %xmm13 - andps %xmm1, %xmm15 - orps %xmm15, %xmm3 - addps %xmm13, %xmm9 - psubd %xmm14, %xmm3 - andps %xmm1, %xmm9 - pand %xmm3, %xmm5 - psrad $23, %xmm3 - cvtdq2ps %xmm3, %xmm7 - pslld $23, %xmm3 - paddd %xmm14, %xmm5 - psubd %xmm3, %xmm4 - -/* polynomial evaluation */ - subps %xmm2, %xmm5 - mulps %xmm4, %xmm9 - addps %xmm7, %xmm6 - movups sPoly+112+__svml_sacosh_data_internal(%rip), %xmm2 - andnps %xmm6, %xmm8 - andps %xmm1, %xmm7 - addps %xmm5, %xmm9 - mulps %xmm9, %xmm2 - orps %xmm7, %xmm8 - -/* final reconstruction */ - mulps sLn2+__svml_sacosh_data_internal(%rip), %xmm8 - addps sPoly+96+__svml_sacosh_data_internal(%rip), %xmm2 - mulps %xmm9, %xmm2 - addps sPoly+80+__svml_sacosh_data_internal(%rip), %xmm2 - mulps %xmm9, %xmm2 - addps sPoly+64+__svml_sacosh_data_internal(%rip), %xmm2 - mulps %xmm9, %xmm2 - addps sPoly+48+__svml_sacosh_data_internal(%rip), %xmm2 - mulps %xmm9, %xmm2 - addps sPoly+32+__svml_sacosh_data_internal(%rip), %xmm2 - mulps %xmm9, %xmm2 - addps sPoly+16+__svml_sacosh_data_internal(%rip), %xmm2 - mulps %xmm9, %xmm2 - addps sPoly+__svml_sacosh_data_internal(%rip), %xmm2 - mulps %xmm9, %xmm2 - mulps %xmm9, %xmm2 - addps %xmm2, %xmm9 - addps %xmm8, %xmm9 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm9 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* Compute U = X - 1 and V = X + 1, naively first. */ + movaps %xmm0, %xmm12 + + /* Load constants, always including One = 1 */ + movups sOne+__svml_sacosh_data_internal(%rip), %xmm2 + + /* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + movaps %xmm0, %xmm4 + movaps %xmm2, %xmm9 + + /* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + movaps %xmm2, %xmm10 + + /* Finally, express Y + W = U * V accurately where Y has <= 8 bits */ + movups sTopMask8+__svml_sacosh_data_internal(%rip), %xmm5 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm2, %xmm13 + movaps %xmm5, %xmm11 + movaps %xmm2, %xmm3 + + /* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + movups sC3+__svml_sacosh_data_internal(%rip), %xmm8 + + /* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + movaps %xmm0, %xmm1 + cmpnleps sLargestFinite+__svml_sacosh_data_internal(%rip), %xmm4 + cmpltps sBigThreshold+__svml_sacosh_data_internal(%rip), %xmm1 + cmpnltps %xmm0, %xmm3 + subps %xmm2, %xmm12 + addps %xmm0, %xmm9 + + /* For low-accuracy versions, naivety is harmless */ + mulps %xmm12, %xmm9 + orps %xmm3, %xmm4 + movmskps %xmm4, %edx + andps %xmm9, %xmm11 + movaps %xmm1, %xmm3 + + /* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + rsqrtps %xmm11, %xmm7 + subps %xmm11, %xmm9 + andps %xmm5, %xmm7 + movaps %xmm2, %xmm4 + + /* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + mulps %xmm7, %xmm11 + movaps %xmm7, %xmm6 + mulps %xmm7, %xmm9 + mulps %xmm11, %xmm6 + mulps %xmm9, %xmm7 + + /* + * For low-accuracy versions, the computation can be done + * just as U + ((S + T) + (S + T) * Corr) + */ + addps %xmm9, %xmm11 + subps %xmm6, %xmm10 + movaps %xmm2, %xmm9 + subps %xmm7, %xmm10 + mulps %xmm10, %xmm8 + + /* Now multiplex to the case X = 2^-30 * input, Xl = 0 in the "big" case. */ + movups XScale+__svml_sacosh_data_internal(%rip), %xmm14 + mulps %xmm0, %xmm14 + addps sC2+__svml_sacosh_data_internal(%rip), %xmm8 + mulps %xmm10, %xmm8 + andnps %xmm14, %xmm3 + + /* + * Now resume the main code. + * reduction: compute r, n + */ + movdqu iBrkValue+__svml_sacosh_data_internal(%rip), %xmm14 + movdqu iOffExpoMask+__svml_sacosh_data_internal(%rip), %xmm5 + + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups sThirtyOne+__svml_sacosh_data_internal(%rip), %xmm6 + addps sHalf+__svml_sacosh_data_internal(%rip), %xmm8 + mulps %xmm8, %xmm10 + movaps %xmm1, %xmm8 + mulps %xmm11, %xmm10 + addps %xmm10, %xmm11 + addps %xmm11, %xmm12 + maxps %xmm12, %xmm13 + minps %xmm12, %xmm9 + movaps %xmm13, %xmm15 + addps %xmm9, %xmm15 + subps %xmm15, %xmm13 + andps %xmm1, %xmm15 + orps %xmm15, %xmm3 + addps %xmm13, %xmm9 + psubd %xmm14, %xmm3 + andps %xmm1, %xmm9 + pand %xmm3, %xmm5 + psrad $23, %xmm3 + cvtdq2ps %xmm3, %xmm7 + pslld $23, %xmm3 + paddd %xmm14, %xmm5 + psubd %xmm3, %xmm4 + + /* polynomial evaluation */ + subps %xmm2, %xmm5 + mulps %xmm4, %xmm9 + addps %xmm7, %xmm6 + movups sPoly+112+__svml_sacosh_data_internal(%rip), %xmm2 + andnps %xmm6, %xmm8 + andps %xmm1, %xmm7 + addps %xmm5, %xmm9 + mulps %xmm9, %xmm2 + orps %xmm7, %xmm8 + + /* final reconstruction */ + mulps sLn2+__svml_sacosh_data_internal(%rip), %xmm8 + addps sPoly+96+__svml_sacosh_data_internal(%rip), %xmm2 + mulps %xmm9, %xmm2 + addps sPoly+80+__svml_sacosh_data_internal(%rip), %xmm2 + mulps %xmm9, %xmm2 + addps sPoly+64+__svml_sacosh_data_internal(%rip), %xmm2 + mulps %xmm9, %xmm2 + addps sPoly+48+__svml_sacosh_data_internal(%rip), %xmm2 + mulps %xmm9, %xmm2 + addps sPoly+32+__svml_sacosh_data_internal(%rip), %xmm2 + mulps %xmm9, %xmm2 + addps sPoly+16+__svml_sacosh_data_internal(%rip), %xmm2 + mulps %xmm9, %xmm2 + addps sPoly+__svml_sacosh_data_internal(%rip), %xmm2 + mulps %xmm9, %xmm2 + mulps %xmm9, %xmm2 + addps %xmm2, %xmm9 + addps %xmm8, %xmm9 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm9 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm9, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm9, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm9, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm9, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm9 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm9 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm9 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm9 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call acoshf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call acoshf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_acoshf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_sacosh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 sOne[4][1]; - __declspec(align(16)) VUINT32 sPoly[8][4][1]; - __declspec(align(16)) VUINT32 iBrkValue[4][1]; - __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; - __declspec(align(16)) VUINT32 sBigThreshold[4][1]; - __declspec(align(16)) VUINT32 sC2[4][1]; - __declspec(align(16)) VUINT32 sC3[4][1]; - __declspec(align(16)) VUINT32 sHalf[4][1]; - __declspec(align(16)) VUINT32 sLargestFinite[4][1]; - __declspec(align(16)) VUINT32 sThirtyOne[4][1]; - __declspec(align(16)) VUINT32 sTopMask8[4][1]; - __declspec(align(16)) VUINT32 XScale[4][1]; - __declspec(align(16)) VUINT32 sLn2[4][1]; + __declspec(align(16)) VUINT32 sOne[4][1]; + __declspec(align(16)) VUINT32 sPoly[8][4][1]; + __declspec(align(16)) VUINT32 iBrkValue[4][1]; + __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; + __declspec(align(16)) VUINT32 sBigThreshold[4][1]; + __declspec(align(16)) VUINT32 sC2[4][1]; + __declspec(align(16)) VUINT32 sC3[4][1]; + __declspec(align(16)) VUINT32 sHalf[4][1]; + __declspec(align(16)) VUINT32 sLargestFinite[4][1]; + __declspec(align(16)) VUINT32 sThirtyOne[4][1]; + __declspec(align(16)) VUINT32 sTopMask8[4][1]; + __declspec(align(16)) VUINT32 XScale[4][1]; + __declspec(align(16)) VUINT32 sLn2[4][1]; } __svml_sacosh_data_internal; #endif __svml_sacosh_data_internal: - /*== sOne = SP 1.0 ==*/ - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 16 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iBrkValue = SP 2/3 ==*/ - .align 16 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 16 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sBigThreshold ==*/ - .align 16 - .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 - /*== sC2 ==*/ - .align 16 - .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 - /*== sC3 ==*/ - .align 16 - .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 - /*== sHalf ==*/ - .align 16 - .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 - /*== sLargestFinite ==*/ - .align 16 - .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF - /*== sThirtyOne ==*/ - .align 16 - .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 - /*== sTopMask8 ==*/ - .align 16 - .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 - /*== XScale ==*/ - .align 16 - .long 0x30800000, 0x30800000, 0x30800000, 0x30800000 - /*== sLn2 = SP ln(2) ==*/ - .align 16 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 16 - .type __svml_sacosh_data_internal,@object - .size __svml_sacosh_data_internal,.-__svml_sacosh_data_internal + /* sOne = SP 1.0 */ + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 16 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iBrkValue = SP 2/3 */ + .align 16 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 16 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sBigThreshold */ + .align 16 + .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 + /* sC2 */ + .align 16 + .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 + /* sC3 */ + .align 16 + .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 + /* sHalf */ + .align 16 + .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 + /* sLargestFinite */ + .align 16 + .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF + /* sThirtyOne */ + .align 16 + .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 + /* sTopMask8 */ + .align 16 + .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 + /* XScale */ + .align 16 + .long 0x30800000, 0x30800000, 0x30800000, 0x30800000 + /* sLn2 = SP ln(2) */ + .align 16 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 16 + .type __svml_sacosh_data_internal, @object + .size __svml_sacosh_data_internal, .-__svml_sacosh_data_internal From patchwork Mon Mar 7 15:00:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602249 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=dFChVXWY; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC23m5Lgxz9s8s for ; Tue, 8 Mar 2022 02:11:32 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D048D3858424 for ; Mon, 7 Mar 2022 15:11:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D048D3858424 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665890; bh=SlHkzRhgvhrGYAL1Ub4dfyrbjp4fI+qSjyt+3cCELxk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=dFChVXWY+otqhQX4MH/iCFlSqdnoxzhbTvHL0ZPE3drXkIFFap65zYC3xsbF174Yh J+My60YeEdBs0nAZbYcIY4XMy8tPtio8e5d424ubcHTVlm28JFkXYk4eCz50laTZQs /i4hZ4+HFo6FuwxDhHHzRCiI2O8XjjUi9iBOeG8k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 2DC053858410 for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2DC053858410 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138345" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138345" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526468" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:02 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dh016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 009/126] x86_64: Fix svml_s_acoshf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:04 -0800 Message-Id: <20220307150201.10590-10-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_acoshf8_core_avx2.S | 615 +++++++++--------- 1 file changed, 307 insertions(+), 308 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S index 6746aff576..3a70fc1448 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_acoshf8_core_avx2.S @@ -33,338 +33,337 @@ /* Offsets for data table __svml_sacosh_data_internal */ -#define sOne 0 -#define sPoly 32 -#define iBrkValue 288 -#define iOffExpoMask 320 -#define sBigThreshold 352 -#define sC2 384 -#define sC3 416 -#define sHalf 448 -#define sLargestFinite 480 -#define sThirtyOne 512 -#define sTopMask8 544 -#define XScale 576 -#define sLn2 608 +#define sOne 0 +#define sPoly 32 +#define iBrkValue 288 +#define iOffExpoMask 320 +#define sBigThreshold 352 +#define sC2 384 +#define sC3 416 +#define sHalf 448 +#define sLargestFinite 480 +#define sThirtyOne 512 +#define sTopMask8 544 +#define XScale 576 +#define sLn2 608 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_acoshf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* Load constants, always including One = 1 */ - vmovups sOne+__svml_sacosh_data_internal(%rip), %ymm2 - -/* Finally, express Y + W = U * V accurately where Y has <= 8 bits */ - vmovups sTopMask8+__svml_sacosh_data_internal(%rip), %ymm9 - -/* - * Now 1 / (1 + d) - * = 1 / (1 + (sqrt(1 - e) - 1)) - * = 1 / sqrt(1 - e) - * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... - * So compute the first three nonconstant terms of that, so that - * we have a relative correction (1 + Corr) to apply to S etc. - * C1 = 1/2 - * C2 = 3/8 - * C3 = 5/16 - */ - vmovups sC3+__svml_sacosh_data_internal(%rip), %ymm14 - vmovaps %ymm0, %ymm3 - vmovaps %ymm2, %ymm7 - vfmsub231ps %ymm3, %ymm3, %ymm7 - -/* - * Check that 1 < X < +inf; otherwise go to the callout function. - * We need the callout for X = 1 to avoid division by zero below. - * This test ensures that callout handles NaN and either infinity. - */ - vcmpnle_uqps sLargestFinite+__svml_sacosh_data_internal(%rip), %ymm3, %ymm4 - vcmpngt_uqps %ymm2, %ymm3, %ymm5 - -/* - * The following computation can go wrong for very large X, e.g. - * the X^2 - 1 = U * V can overflow. But for large X we have - * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when to do this. - */ - vcmplt_oqps sBigThreshold+__svml_sacosh_data_internal(%rip), %ymm3, %ymm1 - vandps %ymm9, %ymm7, %ymm10 - -/* - * Compute R = 1/sqrt(Y + W) * (1 + d) - * Force R to <= 8 significant bits. - * This means that R * Y and R^2 * Y are exactly representable. - */ - vrsqrtps %ymm10, %ymm8 - vsubps %ymm10, %ymm7, %ymm11 - vandps %ymm9, %ymm8, %ymm12 - -/* - * Compute S = (Y/sqrt(Y + W)) * (1 + d) - * and T = (W/sqrt(Y + W)) * (1 + d) - * so that S + T = sqrt(Y + W) * (1 + d) - * S is exact, and the rounding error in T is OK. - */ - vmulps %ymm12, %ymm10, %ymm15 - vmulps %ymm11, %ymm12, %ymm0 - -/* Now multiplex to the case X = 2^-30 * input, Xl = 0 in the "big" case. */ - vmulps XScale+__svml_sacosh_data_internal(%rip), %ymm3, %ymm11 - -/* - * Compute e = -(2 * d + d^2) - * The first FMR is exact, and the rounding error in the other is acceptable - * since d and e are ~ 2^-8 - */ - vmovaps %ymm2, %ymm13 - vfnmadd231ps %ymm15, %ymm12, %ymm13 - vfnmadd231ps %ymm0, %ymm12, %ymm13 - vfmadd213ps sC2+__svml_sacosh_data_internal(%rip), %ymm13, %ymm14 - vfmadd213ps sHalf+__svml_sacosh_data_internal(%rip), %ymm13, %ymm14 - vmulps %ymm14, %ymm13, %ymm7 - vorps %ymm5, %ymm4, %ymm6 - -/* - * For low-accuracy versions, the computation can be done - * just as U + ((S + T) + (S + T) * Corr) - */ - vaddps %ymm0, %ymm15, %ymm5 - -/* sU is needed later on */ - vsubps %ymm2, %ymm3, %ymm4 - vfmadd213ps %ymm5, %ymm7, %ymm5 - vmovmskps %ymm6, %edx - vaddps %ymm5, %ymm4, %ymm6 - -/* - * Now resume the main code. - * reduction: compute r,n - */ - vmovups iBrkValue+__svml_sacosh_data_internal(%rip), %ymm4 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - vmaxps %ymm6, %ymm2, %ymm8 - vminps %ymm6, %ymm2, %ymm9 - vaddps %ymm9, %ymm8, %ymm12 - vblendvps %ymm1, %ymm12, %ymm11, %ymm14 - vsubps %ymm12, %ymm8, %ymm10 - vpsubd %ymm4, %ymm14, %ymm15 - vaddps %ymm10, %ymm9, %ymm13 - vpand iOffExpoMask+__svml_sacosh_data_internal(%rip), %ymm15, %ymm14 - vpsrad $23, %ymm15, %ymm15 - vpaddd %ymm4, %ymm14, %ymm8 - vpslld $23, %ymm15, %ymm5 - vmovups sPoly+224+__svml_sacosh_data_internal(%rip), %ymm4 - vcvtdq2ps %ymm15, %ymm0 - vpsubd %ymm5, %ymm2, %ymm7 - -/* polynomial evaluation */ - vsubps %ymm2, %ymm8, %ymm2 - -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - vaddps sThirtyOne+__svml_sacosh_data_internal(%rip), %ymm0, %ymm5 - vandps %ymm1, %ymm13, %ymm6 - vmulps %ymm7, %ymm6, %ymm9 - vblendvps %ymm1, %ymm0, %ymm5, %ymm0 - vaddps %ymm2, %ymm9, %ymm2 - vfmadd213ps sPoly+192+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 - vfmadd213ps sPoly+160+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 - vfmadd213ps sPoly+128+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 - vfmadd213ps sPoly+96+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 - vfmadd213ps sPoly+64+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 - vfmadd213ps sPoly+32+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 - vfmadd213ps sPoly+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 - vmulps %ymm4, %ymm2, %ymm6 - vfmadd213ps %ymm2, %ymm2, %ymm6 - -/* final reconstruction */ - vfmadd132ps sLn2+__svml_sacosh_data_internal(%rip), %ymm6, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* Load constants, always including One = 1 */ + vmovups sOne+__svml_sacosh_data_internal(%rip), %ymm2 + + /* Finally, express Y + W = U * V accurately where Y has <= 8 bits */ + vmovups sTopMask8+__svml_sacosh_data_internal(%rip), %ymm9 + + /* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + vmovups sC3+__svml_sacosh_data_internal(%rip), %ymm14 + vmovaps %ymm0, %ymm3 + vmovaps %ymm2, %ymm7 + vfmsub231ps %ymm3, %ymm3, %ymm7 + + /* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + vcmpnle_uqps sLargestFinite+__svml_sacosh_data_internal(%rip), %ymm3, %ymm4 + vcmpngt_uqps %ymm2, %ymm3, %ymm5 + + /* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + vcmplt_oqps sBigThreshold+__svml_sacosh_data_internal(%rip), %ymm3, %ymm1 + vandps %ymm9, %ymm7, %ymm10 + + /* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + vrsqrtps %ymm10, %ymm8 + vsubps %ymm10, %ymm7, %ymm11 + vandps %ymm9, %ymm8, %ymm12 + + /* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulps %ymm12, %ymm10, %ymm15 + vmulps %ymm11, %ymm12, %ymm0 + + /* Now multiplex to the case X = 2^-30 * input, Xl = 0 in the "big" case. */ + vmulps XScale+__svml_sacosh_data_internal(%rip), %ymm3, %ymm11 + + /* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + vmovaps %ymm2, %ymm13 + vfnmadd231ps %ymm15, %ymm12, %ymm13 + vfnmadd231ps %ymm0, %ymm12, %ymm13 + vfmadd213ps sC2+__svml_sacosh_data_internal(%rip), %ymm13, %ymm14 + vfmadd213ps sHalf+__svml_sacosh_data_internal(%rip), %ymm13, %ymm14 + vmulps %ymm14, %ymm13, %ymm7 + vorps %ymm5, %ymm4, %ymm6 + + /* + * For low-accuracy versions, the computation can be done + * just as U + ((S + T) + (S + T) * Corr) + */ + vaddps %ymm0, %ymm15, %ymm5 + + /* sU is needed later on */ + vsubps %ymm2, %ymm3, %ymm4 + vfmadd213ps %ymm5, %ymm7, %ymm5 + vmovmskps %ymm6, %edx + vaddps %ymm5, %ymm4, %ymm6 + + /* + * Now resume the main code. + * reduction: compute r, n + */ + vmovups iBrkValue+__svml_sacosh_data_internal(%rip), %ymm4 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxps %ymm6, %ymm2, %ymm8 + vminps %ymm6, %ymm2, %ymm9 + vaddps %ymm9, %ymm8, %ymm12 + vblendvps %ymm1, %ymm12, %ymm11, %ymm14 + vsubps %ymm12, %ymm8, %ymm10 + vpsubd %ymm4, %ymm14, %ymm15 + vaddps %ymm10, %ymm9, %ymm13 + vpand iOffExpoMask+__svml_sacosh_data_internal(%rip), %ymm15, %ymm14 + vpsrad $23, %ymm15, %ymm15 + vpaddd %ymm4, %ymm14, %ymm8 + vpslld $23, %ymm15, %ymm5 + vmovups sPoly+224+__svml_sacosh_data_internal(%rip), %ymm4 + vcvtdq2ps %ymm15, %ymm0 + vpsubd %ymm5, %ymm2, %ymm7 + + /* polynomial evaluation */ + vsubps %ymm2, %ymm8, %ymm2 + + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddps sThirtyOne+__svml_sacosh_data_internal(%rip), %ymm0, %ymm5 + vandps %ymm1, %ymm13, %ymm6 + vmulps %ymm7, %ymm6, %ymm9 + vblendvps %ymm1, %ymm0, %ymm5, %ymm0 + vaddps %ymm2, %ymm9, %ymm2 + vfmadd213ps sPoly+192+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps sPoly+160+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps sPoly+128+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps sPoly+96+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps sPoly+64+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps sPoly+32+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vfmadd213ps sPoly+__svml_sacosh_data_internal(%rip), %ymm2, %ymm4 + vmulps %ymm4, %ymm2, %ymm6 + vfmadd213ps %ymm2, %ymm2, %ymm6 + + /* final reconstruction */ + vfmadd132ps sLn2+__svml_sacosh_data_internal(%rip), %ymm6, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm3, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm3, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call acoshf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call acoshf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_acoshf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_sacosh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 sOne[8][1]; - __declspec(align(32)) VUINT32 sPoly[8][8][1]; - __declspec(align(32)) VUINT32 iBrkValue[8][1]; - __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; - __declspec(align(32)) VUINT32 sBigThreshold[8][1]; - __declspec(align(32)) VUINT32 sC2[8][1]; - __declspec(align(32)) VUINT32 sC3[8][1]; - __declspec(align(32)) VUINT32 sHalf[8][1]; - __declspec(align(32)) VUINT32 sLargestFinite[8][1]; - __declspec(align(32)) VUINT32 sThirtyOne[8][1]; - __declspec(align(32)) VUINT32 sTopMask8[8][1]; - __declspec(align(32)) VUINT32 XScale[8][1]; - __declspec(align(32)) VUINT32 sLn2[8][1]; + __declspec(align(32)) VUINT32 sOne[8][1]; + __declspec(align(32)) VUINT32 sPoly[8][8][1]; + __declspec(align(32)) VUINT32 iBrkValue[8][1]; + __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; + __declspec(align(32)) VUINT32 sBigThreshold[8][1]; + __declspec(align(32)) VUINT32 sC2[8][1]; + __declspec(align(32)) VUINT32 sC3[8][1]; + __declspec(align(32)) VUINT32 sHalf[8][1]; + __declspec(align(32)) VUINT32 sLargestFinite[8][1]; + __declspec(align(32)) VUINT32 sThirtyOne[8][1]; + __declspec(align(32)) VUINT32 sTopMask8[8][1]; + __declspec(align(32)) VUINT32 XScale[8][1]; + __declspec(align(32)) VUINT32 sLn2[8][1]; } __svml_sacosh_data_internal; #endif __svml_sacosh_data_internal: - /*== sOne = SP 1.0 ==*/ - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 32 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iBrkValue = SP 2/3 ==*/ - .align 32 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 32 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sBigThreshold ==*/ - .align 32 - .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 - /*== sC2 ==*/ - .align 32 - .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 - /*== sC3 ==*/ - .align 32 - .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 - /*== sHalf ==*/ - .align 32 - .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 - /*== sLargestFinite ==*/ - .align 32 - .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF - /*== sThirtyOne ==*/ - .align 32 - .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 - /*== sTopMask8 ==*/ - .align 32 - .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 - /*== XScale ==*/ - .align 32 - .long 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000 - /*== sLn2 = SP ln(2) ==*/ - .align 32 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 32 - .type __svml_sacosh_data_internal,@object - .size __svml_sacosh_data_internal,.-__svml_sacosh_data_internal + /* sOne = SP 1.0 */ + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 32 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iBrkValue = SP 2/3 */ + .align 32 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sBigThreshold */ + .align 32 + .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 + /* sC2 */ + .align 32 + .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 + /* sC3 */ + .align 32 + .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 + /* sHalf */ + .align 32 + .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 + /* sLargestFinite */ + .align 32 + .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF + /* sThirtyOne */ + .align 32 + .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 + /* sTopMask8 */ + .align 32 + .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 + /* XScale */ + .align 32 + .long 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000 + /* sLn2 = SP ln(2) */ + .align 32 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 32 + .type __svml_sacosh_data_internal, @object + .size __svml_sacosh_data_internal, .-__svml_sacosh_data_internal From patchwork Mon Mar 7 15:00:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602371 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=bdvHMMKx; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3PS470vz9sFt for ; Tue, 8 Mar 2022 03:11:56 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 416C93858424 for ; Mon, 7 Mar 2022 16:11:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 416C93858424 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669514; bh=MGW6KMwtrywjQH2Yu07iDdAU79qFFmfoEJ0P0YtkAsI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=bdvHMMKxZQNA88hC4QCFBEv0tzH15TvEqN7wPW9yVVoESmqyP7ft24gTi2yCt7l6R M8Agq3xjODxmv7Ip4jsx27bT0UyAZgzCQIkobOexYfTDfgduPbmYG7cfVL2uVIOOvM TdwlMP7q/vPFEoeLBcy9Adnu3gRUZ1ffWIitV6ns= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 84639385843E for ; Mon, 7 Mar 2022 15:03:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 84639385843E X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017248" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017248" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186266" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21di016772; Mon, 7 Mar 2022 07:02:02 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 010/126] x86_64: Fix svml_d_acosh2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:05 -0800 Message-Id: <20220307150201.10590-11-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_acosh2_core_sse4.S | 2741 ++++++++--------- 1 file changed, 1370 insertions(+), 1371 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S index 1842c7da6a..24a678688c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh2_core_sse4.S @@ -33,1437 +33,1436 @@ /* Offsets for data table __svml_dacosh_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8208 -#define poly_coeff 12320 -#define ExpMask 12384 -#define Two10 12400 -#define MinLog1p 12416 -#define MaxLog1p 12432 -#define One 12448 -#define SgnMask 12464 -#define XThreshold 12480 -#define XhMask 12496 -#define Threshold 12512 -#define Bias 12528 -#define Bias1 12544 -#define ExpMask0 12560 -#define ExpMask2 12576 -#define L2 12592 -#define dBigThreshold 12608 -#define dLargestFinite 12624 -#define dThirtyOne 12640 -#define XScale 12656 +#define Log_HA_table 0 +#define Log_LA_table 8208 +#define poly_coeff 12320 +#define ExpMask 12384 +#define Two10 12400 +#define MinLog1p 12416 +#define MaxLog1p 12432 +#define One 12448 +#define SgnMask 12464 +#define XThreshold 12480 +#define XhMask 12496 +#define Threshold 12512 +#define Bias 12528 +#define Bias1 12544 +#define ExpMask0 12560 +#define ExpMask2 12576 +#define L2 12592 +#define dBigThreshold 12608 +#define dLargestFinite 12624 +#define dThirtyOne 12640 +#define XScale 12656 /* Lookup bias for data table __svml_dacosh_data_internal. */ -#define Table_Lookup_Bias -0x405ff0 +#define Table_Lookup_Bias -0x405ff0 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_acosh_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 - movaps %xmm0, %xmm7 + 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 + movaps %xmm0, %xmm7 -/* Load the constant 1 and possibly other stuff */ - movups One+__svml_dacosh_data_internal(%rip), %xmm6 + /* Load the constant 1 and possibly other stuff */ + movups One+__svml_dacosh_data_internal(%rip), %xmm6 -/* Compute U = X - 1 and V = X + 1, naively first. */ - movaps %xmm7, %xmm11 - movaps %xmm6, %xmm10 + /* Compute U = X - 1 and V = X + 1, naively first. */ + movaps %xmm7, %xmm11 + movaps %xmm6, %xmm10 -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - movaps %xmm6, %xmm14 - subpd %xmm6, %xmm11 - addpd %xmm7, %xmm10 + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm6, %xmm14 + subpd %xmm6, %xmm11 + addpd %xmm7, %xmm10 -/* For low-accuracy versions, naivety is harmless */ - mulpd %xmm11, %xmm10 + /* For low-accuracy versions, naivety is harmless */ + mulpd %xmm11, %xmm10 -/* dH = [X + sqrt(X^2 - 1)] - 1 */ - sqrtpd %xmm10, %xmm13 - addpd %xmm11, %xmm13 - maxpd %xmm13, %xmm14 - movaps %xmm6, %xmm4 + /* dH = [X + sqrt(X^2 - 1)] - 1 */ + sqrtpd %xmm10, %xmm13 + addpd %xmm11, %xmm13 + maxpd %xmm13, %xmm14 + movaps %xmm6, %xmm4 -/* - * The following computation can go wrong for very large X, e.g. - * the X^2 - 1 = U * V can overflow. But for large X we have - * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when to do this. - */ - movaps %xmm7, %xmm5 - minpd %xmm13, %xmm4 - cmpltpd dBigThreshold+__svml_dacosh_data_internal(%rip), %xmm5 - movups SgnMask+__svml_dacosh_data_internal(%rip), %xmm12 - movaps %xmm14, %xmm0 + /* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + movaps %xmm7, %xmm5 + minpd %xmm13, %xmm4 + cmpltpd dBigThreshold+__svml_dacosh_data_internal(%rip), %xmm5 + movups SgnMask+__svml_dacosh_data_internal(%rip), %xmm12 + movaps %xmm14, %xmm0 -/* Now multiplex to the case X = 2^-30 * input, Xl = dL = 0 in the "big" case. */ - movups XScale+__svml_dacosh_data_internal(%rip), %xmm15 - andps %xmm12, %xmm13 - mulpd %xmm7, %xmm15 - cmpltpd XThreshold+__svml_dacosh_data_internal(%rip), %xmm13 - addpd %xmm4, %xmm0 - orps XhMask+__svml_dacosh_data_internal(%rip), %xmm13 - movaps %xmm5, %xmm3 - andps %xmm13, %xmm0 - andnps %xmm15, %xmm3 - subpd %xmm0, %xmm14 - andps %xmm5, %xmm0 + /* Now multiplex to the case X = 2^-30 * input, Xl = dL = 0 in the "big" case. */ + movups XScale+__svml_dacosh_data_internal(%rip), %xmm15 + andps %xmm12, %xmm13 + mulpd %xmm7, %xmm15 + cmpltpd XThreshold+__svml_dacosh_data_internal(%rip), %xmm13 + addpd %xmm4, %xmm0 + orps XhMask+__svml_dacosh_data_internal(%rip), %xmm13 + movaps %xmm5, %xmm3 + andps %xmm13, %xmm0 + andnps %xmm15, %xmm3 + subpd %xmm0, %xmm14 + andps %xmm5, %xmm0 -/* - * Check that 1 < X < +inf; otherwise go to the callout function. - * We need the callout for X = 1 to avoid division by zero below. - * This test ensures that callout handles NaN and either infinity. - */ - movaps %xmm7, %xmm9 + /* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + movaps %xmm7, %xmm9 -/* Now resume the main code. */ - movups ExpMask+__svml_dacosh_data_internal(%rip), %xmm1 - orps %xmm0, %xmm3 + /* Now resume the main code. */ + movups ExpMask+__svml_dacosh_data_internal(%rip), %xmm1 + orps %xmm0, %xmm3 -/* preserve mantissa, set input exponent to 2^(-10) */ - andps %xmm3, %xmm1 - movaps %xmm6, %xmm8 - orps Two10+__svml_dacosh_data_internal(%rip), %xmm1 + /* preserve mantissa, set input exponent to 2^(-10) */ + andps %xmm3, %xmm1 + movaps %xmm6, %xmm8 + orps Two10+__svml_dacosh_data_internal(%rip), %xmm1 -/* exponent bits */ - movaps %xmm3, %xmm11 + /* exponent bits */ + movaps %xmm3, %xmm11 -/* reciprocal approximation good to at least 11 bits */ - cvtpd2ps %xmm1, %xmm2 - cmpnlepd dLargestFinite+__svml_dacosh_data_internal(%rip), %xmm9 - cmpnltpd %xmm7, %xmm8 - addpd %xmm14, %xmm4 - movlhps %xmm2, %xmm2 - orps %xmm8, %xmm9 - rcpps %xmm2, %xmm8 - movmskpd %xmm9, %edx + /* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm1, %xmm2 + cmpnlepd dLargestFinite+__svml_dacosh_data_internal(%rip), %xmm9 + cmpnltpd %xmm7, %xmm8 + addpd %xmm14, %xmm4 + movlhps %xmm2, %xmm2 + orps %xmm8, %xmm9 + rcpps %xmm2, %xmm8 + movmskpd %xmm9, %edx -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - movups .FLT_20(%rip), %xmm10 - andps %xmm5, %xmm4 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_20(%rip), %xmm10 + andps %xmm5, %xmm4 -/* exponent of X needed to scale Xl */ - movdqu ExpMask0+__svml_dacosh_data_internal(%rip), %xmm9 - psrlq $20, %xmm11 - cvtps2pd %xmm8, %xmm1 - addpd %xmm10, %xmm1 - subpd %xmm10, %xmm1 + /* exponent of X needed to scale Xl */ + movdqu ExpMask0+__svml_dacosh_data_internal(%rip), %xmm9 + psrlq $20, %xmm11 + cvtps2pd %xmm8, %xmm1 + addpd %xmm10, %xmm1 + subpd %xmm10, %xmm1 -/* 2^ (-10-exp(X) ) */ - movdqu ExpMask2+__svml_dacosh_data_internal(%rip), %xmm2 - pand %xmm3, %xmm9 - psubq %xmm9, %xmm2 + /* 2^ (-10-exp(X) ) */ + movdqu ExpMask2+__svml_dacosh_data_internal(%rip), %xmm2 + pand %xmm3, %xmm9 + psubq %xmm9, %xmm2 -/* scale DblRcp */ - mulpd %xmm1, %xmm2 + /* scale DblRcp */ + mulpd %xmm1, %xmm2 -/* argument reduction */ - mulpd %xmm2, %xmm3 - mulpd %xmm2, %xmm4 - subpd %xmm6, %xmm3 - movaps %xmm3, %xmm2 - movaps %xmm5, %xmm0 - addpd %xmm4, %xmm2 - pshufd $221, %xmm11, %xmm12 - movaps %xmm2, %xmm6 + /* argument reduction */ + mulpd %xmm2, %xmm3 + mulpd %xmm2, %xmm4 + subpd %xmm6, %xmm3 + movaps %xmm3, %xmm2 + movaps %xmm5, %xmm0 + addpd %xmm4, %xmm2 + pshufd $221, %xmm11, %xmm12 + movaps %xmm2, %xmm6 -/* biased exponent in DP format */ - cvtdq2pd %xmm12, %xmm14 - subpd %xmm3, %xmm6 + /* biased exponent in DP format */ + cvtdq2pd %xmm12, %xmm14 + subpd %xmm3, %xmm6 -/* polynomial */ - movups poly_coeff+__svml_dacosh_data_internal(%rip), %xmm3 - lea Table_Lookup_Bias+__svml_dacosh_data_internal(%rip), %rsi - mulpd %xmm2, %xmm3 - subpd %xmm6, %xmm4 - addpd poly_coeff+16+__svml_dacosh_data_internal(%rip), %xmm3 + /* polynomial */ + movups poly_coeff+__svml_dacosh_data_internal(%rip), %xmm3 + lea Table_Lookup_Bias+__svml_dacosh_data_internal(%rip), %rsi + mulpd %xmm2, %xmm3 + subpd %xmm6, %xmm4 + addpd poly_coeff+16+__svml_dacosh_data_internal(%rip), %xmm3 -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - movups dThirtyOne+__svml_dacosh_data_internal(%rip), %xmm13 + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups dThirtyOne+__svml_dacosh_data_internal(%rip), %xmm13 -/* exponent*log(2.0) */ - movups Threshold+__svml_dacosh_data_internal(%rip), %xmm8 - addpd %xmm14, %xmm13 - cmpltpd %xmm1, %xmm8 - andps %xmm5, %xmm14 + /* exponent*log(2.0) */ + movups Threshold+__svml_dacosh_data_internal(%rip), %xmm8 + addpd %xmm14, %xmm13 + cmpltpd %xmm1, %xmm8 + andps %xmm5, %xmm14 -/* - * prepare table index - * table lookup - */ - movaps %xmm1, %xmm5 - movaps %xmm2, %xmm1 - andnps %xmm13, %xmm0 - mulpd %xmm2, %xmm1 - movups poly_coeff+32+__svml_dacosh_data_internal(%rip), %xmm6 - psrlq $40, %xmm5 - mulpd %xmm2, %xmm6 - mulpd %xmm1, %xmm3 - addpd poly_coeff+48+__svml_dacosh_data_internal(%rip), %xmm6 - movd %xmm5, %eax - andps Bias+__svml_dacosh_data_internal(%rip), %xmm8 - orps %xmm14, %xmm0 - addpd %xmm3, %xmm6 + /* + * prepare table index + * table lookup + */ + movaps %xmm1, %xmm5 + movaps %xmm2, %xmm1 + andnps %xmm13, %xmm0 + mulpd %xmm2, %xmm1 + movups poly_coeff+32+__svml_dacosh_data_internal(%rip), %xmm6 + psrlq $40, %xmm5 + mulpd %xmm2, %xmm6 + mulpd %xmm1, %xmm3 + addpd poly_coeff+48+__svml_dacosh_data_internal(%rip), %xmm6 + movd %xmm5, %eax + andps Bias+__svml_dacosh_data_internal(%rip), %xmm8 + orps %xmm14, %xmm0 + addpd %xmm3, %xmm6 -/* - * reconstruction - * VQFMA( D, R, P, R2, R ); - */ - mulpd %xmm6, %xmm1 - addpd %xmm1, %xmm4 - orps Bias1+__svml_dacosh_data_internal(%rip), %xmm8 - pshufd $2, %xmm5, %xmm15 - subpd %xmm8, %xmm0 - addpd %xmm4, %xmm2 - movd %xmm15, %ecx - mulpd L2+__svml_dacosh_data_internal(%rip), %xmm0 - movslq %eax, %rax - movslq %ecx, %rcx - movsd (%rsi,%rax), %xmm9 - movhpd (%rsi,%rcx), %xmm9 - addpd %xmm2, %xmm9 - addpd %xmm9, %xmm0 - testl %edx, %edx + /* + * reconstruction + * VQFMA( D, R, P, R2, R ); + */ + mulpd %xmm6, %xmm1 + addpd %xmm1, %xmm4 + orps Bias1+__svml_dacosh_data_internal(%rip), %xmm8 + pshufd $2, %xmm5, %xmm15 + subpd %xmm8, %xmm0 + addpd %xmm4, %xmm2 + movd %xmm15, %ecx + mulpd L2+__svml_dacosh_data_internal(%rip), %xmm0 + movslq %eax, %rax + movslq %ecx, %rcx + movsd (%rsi, %rax), %xmm9 + movhpd (%rsi, %rcx), %xmm9 + addpd %xmm2, %xmm9 + addpd %xmm9, %xmm0 + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx xmm0 xmm7 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx xmm0 xmm7 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm7, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx r12 r13 r14 r15 edx + movups %xmm7, 32(%rsp) + movups %xmm0, 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 + 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 - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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), %xmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 48(%rsp), %xmm0 -/* 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 xmm0 + /* 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 xmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call acosh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call acosh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN2v_acosh_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dacosh_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[4][2][2]; - __declspec(align(16)) VUINT32 ExpMask[2][2]; - __declspec(align(16)) VUINT32 Two10[2][2]; - __declspec(align(16)) VUINT32 MinLog1p[2][2]; - __declspec(align(16)) VUINT32 MaxLog1p[2][2]; - __declspec(align(16)) VUINT32 One[2][2]; - __declspec(align(16)) VUINT32 SgnMask[2][2]; - __declspec(align(16)) VUINT32 XThreshold[2][2]; - __declspec(align(16)) VUINT32 XhMask[2][2]; - __declspec(align(16)) VUINT32 Threshold[2][2]; - __declspec(align(16)) VUINT32 Bias[2][2]; - __declspec(align(16)) VUINT32 Bias1[2][2]; - __declspec(align(16)) VUINT32 ExpMask0[2][2]; - __declspec(align(16)) VUINT32 ExpMask2[2][2]; - __declspec(align(16)) VUINT32 L2[2][2]; - __declspec(align(16)) VUINT32 dBigThreshold[2][2]; - __declspec(align(16)) VUINT32 dLargestFinite[2][2]; - __declspec(align(16)) VUINT32 dThirtyOne[2][2]; - __declspec(align(16)) VUINT32 XScale[2][2]; + __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[4][2][2]; + __declspec(align(16)) VUINT32 ExpMask[2][2]; + __declspec(align(16)) VUINT32 Two10[2][2]; + __declspec(align(16)) VUINT32 MinLog1p[2][2]; + __declspec(align(16)) VUINT32 MaxLog1p[2][2]; + __declspec(align(16)) VUINT32 One[2][2]; + __declspec(align(16)) VUINT32 SgnMask[2][2]; + __declspec(align(16)) VUINT32 XThreshold[2][2]; + __declspec(align(16)) VUINT32 XhMask[2][2]; + __declspec(align(16)) VUINT32 Threshold[2][2]; + __declspec(align(16)) VUINT32 Bias[2][2]; + __declspec(align(16)) VUINT32 Bias1[2][2]; + __declspec(align(16)) VUINT32 ExpMask0[2][2]; + __declspec(align(16)) VUINT32 ExpMask2[2][2]; + __declspec(align(16)) VUINT32 L2[2][2]; + __declspec(align(16)) VUINT32 dBigThreshold[2][2]; + __declspec(align(16)) VUINT32 dLargestFinite[2][2]; + __declspec(align(16)) VUINT32 dThirtyOne[2][2]; + __declspec(align(16)) VUINT32 XScale[2][2]; } __svml_dacosh_data_internal; #endif __svml_dacosh_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 16 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 16 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 16 - .quad 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 16 - .quad 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 16 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 16 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 16 - .quad 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 16 - .quad 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 16 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 16 - .quad 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 16 - .quad 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 16 - .quad 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 16 - .quad 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 16 - .quad 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 16 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - /*== dBigThreshold ==*/ - .align 16 - .quad 0x41D0000000000000, 0x41D0000000000000 - /*== dLargestFinite ==*/ - .align 16 - .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF - /*== dThirtyOne ==*/ - .align 16 - .quad 0x403F000000000000, 0x403F000000000000 - /*== XScale ==*/ - .align 16 - .quad 0x3E10000000000000, 0x3E10000000000000 - .align 16 - .type __svml_dacosh_data_internal,@object - .size __svml_dacosh_data_internal,.-__svml_dacosh_data_internal - .align 16 + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 16 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 16 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 16 + .quad 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 16 + .quad 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 16 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 16 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 16 + .quad 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 16 + .quad 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 16 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 16 + .quad 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 16 + .quad 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 16 + .quad 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 16 + .quad 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 16 + .quad 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 16 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + /* dBigThreshold */ + .align 16 + .quad 0x41D0000000000000, 0x41D0000000000000 + /* dLargestFinite */ + .align 16 + .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF + /* dThirtyOne */ + .align 16 + .quad 0x403F000000000000, 0x403F000000000000 + /* XScale */ + .align 16 + .quad 0x3E10000000000000, 0x3E10000000000000 + .align 16 + .type __svml_dacosh_data_internal, @object + .size __svml_dacosh_data_internal, .-__svml_dacosh_data_internal + .align 16 .FLT_20: - .long 0x00000000,0x43380000,0x00000000,0x43380000 - .type .FLT_20,@object - .size .FLT_20,16 + .long 0x00000000, 0x43380000, 0x00000000, 0x43380000 + .type .FLT_20, @object + .size .FLT_20, 16 From patchwork Mon Mar 7 15:00:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602336 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=iRbIZskJ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2v13jJsz9sFw for ; Tue, 8 Mar 2022 02:49:01 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 56D3E385841A for ; Mon, 7 Mar 2022 15:48:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 56D3E385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668139; bh=oJ0Cl3tp8J0jDvidWXjLN29O/1zEwb4a+iRBOyizuN0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=iRbIZskJBqUjGrR2Fpla0G9lAJfVPkDVsJQTSuJiGKOISXGyKFHpxnSMYQP3ayREy 1afIqMuTDsb/B9yJoD8XTU+CnTWYEHBFtGtc2ktnIMRTk+EhTPudMylilFp9GUZ2cQ qDyV9OTn2TFR6rsFYIyLg89F+wDCjRFcieViuOMI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 91C0F3858003 for ; Mon, 7 Mar 2022 15:02:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 91C0F3858003 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017224" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017224" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="512708605" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga006.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dj016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 011/126] x86_64: Fix svml_d_acosh4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:06 -0800 Message-Id: <20220307150201.10590-12-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_acosh4_core_avx2.S | 2871 ++++++++--------- 1 file changed, 1435 insertions(+), 1436 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S index b1b6a80f04..5d0b23b72c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh4_core_avx2.S @@ -33,1504 +33,1503 @@ /* Offsets for data table __svml_dacosh_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8224 -#define poly_coeff 12352 -#define ExpMask 12480 -#define Two10 12512 -#define MinLog1p 12544 -#define MaxLog1p 12576 -#define One 12608 -#define SgnMask 12640 -#define XThreshold 12672 -#define XhMask 12704 -#define Threshold 12736 -#define Bias 12768 -#define Bias1 12800 -#define ExpMask0 12832 -#define ExpMask2 12864 -#define L2 12896 -#define dBigThreshold 12928 -#define dC1 12960 -#define dC2 12992 -#define dC3 13024 -#define dC4 13056 -#define dC5 13088 -#define dLargestFinite 13120 -#define dThirtyOne 13152 -#define dTopMask12 13184 -#define dTopMask29 13216 -#define XScale 13248 +#define Log_HA_table 0 +#define Log_LA_table 8224 +#define poly_coeff 12352 +#define ExpMask 12480 +#define Two10 12512 +#define MinLog1p 12544 +#define MaxLog1p 12576 +#define One 12608 +#define SgnMask 12640 +#define XThreshold 12672 +#define XhMask 12704 +#define Threshold 12736 +#define Bias 12768 +#define Bias1 12800 +#define ExpMask0 12832 +#define ExpMask2 12864 +#define L2 12896 +#define dBigThreshold 12928 +#define dC1 12960 +#define dC2 12992 +#define dC3 13024 +#define dC4 13056 +#define dC5 13088 +#define dLargestFinite 13120 +#define dThirtyOne 13152 +#define dTopMask12 13184 +#define dTopMask29 13216 +#define XScale 13248 /* Lookup bias for data table __svml_dacosh_data_internal. */ -#define Table_Lookup_Bias -0x405fe0 +#define Table_Lookup_Bias -0x405fe0 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_acosh_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea Table_Lookup_Bias+__svml_dacosh_data_internal(%rip), %r8 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea Table_Lookup_Bias+__svml_dacosh_data_internal(%rip), %r8 -/* Load the constant 1 and possibly other stuff */ - vmovupd One+__svml_dacosh_data_internal(%rip), %ymm8 + /* Load the constant 1 and possibly other stuff */ + vmovupd One+__svml_dacosh_data_internal(%rip), %ymm8 -/* - * Now 1 / (1 + d) - * = 1 / (1 + (sqrt(1 - e) - 1)) - * = 1 / sqrt(1 - e) - * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + - * 63/256 * e^5 + 231/1024 * e^6 + .... - * So compute the first five nonconstant terms of that, so that - * we have a relative correction (1 + Corr) to apply to S etc. - * C1 = 1/2 - * C2 = 3/8 - * C3 = 5/16 - * C4 = 35/128 - * C5 = 63/256 - */ - vmovupd dC5+__svml_dacosh_data_internal(%rip), %ymm3 - vmovapd %ymm0, %ymm9 - vmovapd %ymm8, %ymm13 - vfmsub231pd %ymm9, %ymm9, %ymm13 + /* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + + * 63/256 * e^5 + 231/1024 * e^6 + .... + * So compute the first five nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + * C4 = 35/128 + * C5 = 63/256 + */ + vmovupd dC5+__svml_dacosh_data_internal(%rip), %ymm3 + vmovapd %ymm0, %ymm9 + vmovapd %ymm8, %ymm13 + vfmsub231pd %ymm9, %ymm9, %ymm13 -/* - * Check that 1 < X < +inf; otherwise go to the callout function. - * We need the callout for X = 1 to avoid division by zero below. - * This test ensures that callout handles NaN and either infinity. - */ - vcmpnle_uqpd dLargestFinite+__svml_dacosh_data_internal(%rip), %ymm9, %ymm10 - vcmpngt_uqpd %ymm8, %ymm9, %ymm11 + /* + * Check that 1 < X < +inf; otherwise go to the callout function. + * We need the callout for X = 1 to avoid division by zero below. + * This test ensures that callout handles NaN and either infinity. + */ + vcmpnle_uqpd dLargestFinite+__svml_dacosh_data_internal(%rip), %ymm9, %ymm10 + vcmpngt_uqpd %ymm8, %ymm9, %ymm11 -/* dU is needed later on */ - vsubpd %ymm8, %ymm9, %ymm6 + /* dU is needed later on */ + vsubpd %ymm8, %ymm9, %ymm6 -/* - * The following computation can go wrong for very large X, e.g. - * the X^2 - 1 = U * V can overflow. But for large X we have - * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when to do this. - */ - vcmplt_oqpd dBigThreshold+__svml_dacosh_data_internal(%rip), %ymm9, %ymm7 + /* + * The following computation can go wrong for very large X, e.g. + * the X^2 - 1 = U * V can overflow. But for large X we have + * acosh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when to do this. + */ + vcmplt_oqpd dBigThreshold+__svml_dacosh_data_internal(%rip), %ymm9, %ymm7 -/* - * do the same thing but with NR iteration - * Finally, express Y + W = U * V accurately where Y has <= 29 bits - */ - vandpd dTopMask29+__svml_dacosh_data_internal(%rip), %ymm13, %ymm5 + /* + * do the same thing but with NR iteration + * Finally, express Y + W = U * V accurately where Y has <= 29 bits + */ + vandpd dTopMask29+__svml_dacosh_data_internal(%rip), %ymm13, %ymm5 -/* - * Compute R = 1/sqrt(Y + W) * (1 + d) - * Force R to <= 12 significant bits in case it isn't already - * This means that R * Y and R^2 * Y are exactly representable. - */ - vcvtpd2ps %ymm5, %xmm14 - vsubpd %ymm5, %ymm13, %ymm4 - vrsqrtps %xmm14, %xmm15 - vcvtps2pd %xmm15, %ymm0 - vandpd dTopMask12+__svml_dacosh_data_internal(%rip), %ymm0, %ymm2 - vorpd %ymm11, %ymm10, %ymm12 + /* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 12 significant bits in case it isn't already + * This means that R * Y and R^2 * Y are exactly representable. + */ + vcvtpd2ps %ymm5, %xmm14 + vsubpd %ymm5, %ymm13, %ymm4 + vrsqrtps %xmm14, %xmm15 + vcvtps2pd %xmm15, %ymm0 + vandpd dTopMask12+__svml_dacosh_data_internal(%rip), %ymm0, %ymm2 + vorpd %ymm11, %ymm10, %ymm12 -/* - * Compute S = (Y/sqrt(Y + W)) * (1 + d) - * and T = (W/sqrt(Y + W)) * (1 + d) - * so that S + T = sqrt(Y + W) * (1 + d) - * S is exact, and the rounding error in T is OK. - */ - vmulpd %ymm2, %ymm5, %ymm10 - vmulpd %ymm4, %ymm2, %ymm11 + /* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulpd %ymm2, %ymm5, %ymm10 + vmulpd %ymm4, %ymm2, %ymm11 -/* - * Compute e = -(2 * d + d^2) - * The first FMR is exact, and the rounding error in the other is acceptable - * since d and e are ~ 2^-12 - */ - vmovapd %ymm8, %ymm1 - vfnmadd231pd %ymm10, %ymm2, %ymm1 + /* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-12 + */ + vmovapd %ymm8, %ymm1 + vfnmadd231pd %ymm10, %ymm2, %ymm1 -/* - * For low-accuracy versions, the computation can be done - * just as U + ((S + T) + (S + T) * Corr) - */ - vaddpd %ymm11, %ymm10, %ymm13 - vfnmadd231pd %ymm11, %ymm2, %ymm1 - vfmadd213pd dC4+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 - vfmadd213pd dC3+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 - vfmadd213pd dC2+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 - vfmadd213pd dC1+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 - vmovmskpd %ymm12, %eax - vmulpd %ymm3, %ymm1, %ymm12 + /* + * For low-accuracy versions, the computation can be done + * just as U + ((S + T) + (S + T) * Corr) + */ + vaddpd %ymm11, %ymm10, %ymm13 + vfnmadd231pd %ymm11, %ymm2, %ymm1 + vfmadd213pd dC4+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 + vfmadd213pd dC3+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 + vfmadd213pd dC2+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 + vfmadd213pd dC1+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 + vmovmskpd %ymm12, %eax + vmulpd %ymm3, %ymm1, %ymm12 -/* Now multiplex to the case X = 2^-30 * input, Xl = dL = 0 in the "big" case. */ - vmulpd XScale+__svml_dacosh_data_internal(%rip), %ymm9, %ymm3 - vfmadd213pd %ymm13, %ymm12, %ymm13 - vaddpd %ymm13, %ymm6, %ymm6 + /* Now multiplex to the case X = 2^-30 * input, Xl = dL = 0 in the "big" case. */ + vmulpd XScale+__svml_dacosh_data_internal(%rip), %ymm9, %ymm3 + vfmadd213pd %ymm13, %ymm12, %ymm13 + vaddpd %ymm13, %ymm6, %ymm6 -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - vmaxpd %ymm6, %ymm8, %ymm4 - vminpd %ymm6, %ymm8, %ymm2 - vandpd SgnMask+__svml_dacosh_data_internal(%rip), %ymm6, %ymm14 - vcmplt_oqpd XThreshold+__svml_dacosh_data_internal(%rip), %ymm14, %ymm15 - vaddpd %ymm2, %ymm4, %ymm0 - vorpd XhMask+__svml_dacosh_data_internal(%rip), %ymm15, %ymm5 - vandpd %ymm5, %ymm0, %ymm6 - vblendvpd %ymm7, %ymm6, %ymm3, %ymm5 - vsubpd %ymm6, %ymm4, %ymm1 + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxpd %ymm6, %ymm8, %ymm4 + vminpd %ymm6, %ymm8, %ymm2 + vandpd SgnMask+__svml_dacosh_data_internal(%rip), %ymm6, %ymm14 + vcmplt_oqpd XThreshold+__svml_dacosh_data_internal(%rip), %ymm14, %ymm15 + vaddpd %ymm2, %ymm4, %ymm0 + vorpd XhMask+__svml_dacosh_data_internal(%rip), %ymm15, %ymm5 + vandpd %ymm5, %ymm0, %ymm6 + vblendvpd %ymm7, %ymm6, %ymm3, %ymm5 + vsubpd %ymm6, %ymm4, %ymm1 -/* 2^ (-10-exp(X) ) */ - vmovupd ExpMask2+__svml_dacosh_data_internal(%rip), %ymm15 - vaddpd %ymm1, %ymm2, %ymm10 + /* 2^ (-10-exp(X) ) */ + vmovupd ExpMask2+__svml_dacosh_data_internal(%rip), %ymm15 + vaddpd %ymm1, %ymm2, %ymm10 -/* exponent bits */ - vpsrlq $20, %ymm5, %ymm2 + /* exponent bits */ + vpsrlq $20, %ymm5, %ymm2 -/* - * Now resume the main code. - * preserve mantissa, set input exponent to 2^(-10) - */ - vandpd ExpMask+__svml_dacosh_data_internal(%rip), %ymm5, %ymm11 - vorpd Two10+__svml_dacosh_data_internal(%rip), %ymm11, %ymm12 + /* + * Now resume the main code. + * preserve mantissa, set input exponent to 2^(-10) + */ + vandpd ExpMask+__svml_dacosh_data_internal(%rip), %ymm5, %ymm11 + vorpd Two10+__svml_dacosh_data_internal(%rip), %ymm11, %ymm12 -/* reciprocal approximation good to at least 11 bits */ - vcvtpd2ps %ymm12, %xmm13 - vrcpps %xmm13, %xmm14 + /* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm12, %xmm13 + vrcpps %xmm13, %xmm14 -/* exponent*log(2.0) */ - vmovupd Threshold+__svml_dacosh_data_internal(%rip), %ymm13 - vcvtps2pd %xmm14, %ymm3 - vandpd %ymm7, %ymm10, %ymm4 + /* exponent*log(2.0) */ + vmovupd Threshold+__svml_dacosh_data_internal(%rip), %ymm13 + vcvtps2pd %xmm14, %ymm3 + vandpd %ymm7, %ymm10, %ymm4 -/* exponent of X needed to scale Xl */ - vandps ExpMask0+__svml_dacosh_data_internal(%rip), %ymm5, %ymm0 - vpsubq %ymm0, %ymm15, %ymm6 + /* exponent of X needed to scale Xl */ + vandps ExpMask0+__svml_dacosh_data_internal(%rip), %ymm5, %ymm0 + vpsubq %ymm0, %ymm15, %ymm6 -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - vroundpd $0, %ymm3, %ymm3 - vextractf128 $1, %ymm2, %xmm1 - vshufps $221, %xmm1, %xmm2, %xmm10 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm3, %ymm3 + vextractf128 $1, %ymm2, %xmm1 + vshufps $221, %xmm1, %xmm2, %xmm10 -/* biased exponent in DP format */ - vcvtdq2pd %xmm10, %ymm12 + /* biased exponent in DP format */ + vcvtdq2pd %xmm10, %ymm12 -/* scale DblRcp */ - vmulpd %ymm6, %ymm3, %ymm2 + /* scale DblRcp */ + vmulpd %ymm6, %ymm3, %ymm2 -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - vaddpd dThirtyOne+__svml_dacosh_data_internal(%rip), %ymm12, %ymm11 + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddpd dThirtyOne+__svml_dacosh_data_internal(%rip), %ymm12, %ymm11 -/* argument reduction */ - vfmsub213pd %ymm8, %ymm2, %ymm5 - vmulpd %ymm2, %ymm4, %ymm8 - vmovupd poly_coeff+64+__svml_dacosh_data_internal(%rip), %ymm2 - vblendvpd %ymm7, %ymm12, %ymm11, %ymm1 + /* argument reduction */ + vfmsub213pd %ymm8, %ymm2, %ymm5 + vmulpd %ymm2, %ymm4, %ymm8 + vmovupd poly_coeff+64+__svml_dacosh_data_internal(%rip), %ymm2 + vblendvpd %ymm7, %ymm12, %ymm11, %ymm1 -/* - * prepare table index - * table lookup - */ - vpsrlq $40, %ymm3, %ymm7 - vcmplt_oqpd %ymm3, %ymm13, %ymm3 - vandpd Bias+__svml_dacosh_data_internal(%rip), %ymm3, %ymm14 - vorpd Bias1+__svml_dacosh_data_internal(%rip), %ymm14, %ymm15 - vsubpd %ymm15, %ymm1, %ymm1 + /* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm7 + vcmplt_oqpd %ymm3, %ymm13, %ymm3 + vandpd Bias+__svml_dacosh_data_internal(%rip), %ymm3, %ymm14 + vorpd Bias1+__svml_dacosh_data_internal(%rip), %ymm14, %ymm15 + vsubpd %ymm15, %ymm1, %ymm1 -/* polynomial */ - vmovupd poly_coeff+__svml_dacosh_data_internal(%rip), %ymm3 - vmovd %xmm7, %edx - vextractf128 $1, %ymm7, %xmm10 - vpextrd $2, %xmm7, %ecx - vmulpd L2+__svml_dacosh_data_internal(%rip), %ymm1, %ymm7 - vaddpd %ymm8, %ymm5, %ymm1 - vmovd %xmm10, %esi - vsubpd %ymm5, %ymm1, %ymm5 - vfmadd213pd poly_coeff+32+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 - vfmadd213pd poly_coeff+96+__svml_dacosh_data_internal(%rip), %ymm1, %ymm2 - vsubpd %ymm5, %ymm8, %ymm4 - vmulpd %ymm1, %ymm1, %ymm8 - vfmadd213pd %ymm2, %ymm8, %ymm3 - movslq %edx, %rdx - movslq %esi, %rsi - vpextrd $2, %xmm10, %edi - movslq %ecx, %rcx - movslq %edi, %rdi + /* polynomial */ + vmovupd poly_coeff+__svml_dacosh_data_internal(%rip), %ymm3 + vmovd %xmm7, %edx + vextractf128 $1, %ymm7, %xmm10 + vpextrd $2, %xmm7, %ecx + vmulpd L2+__svml_dacosh_data_internal(%rip), %ymm1, %ymm7 + vaddpd %ymm8, %ymm5, %ymm1 + vmovd %xmm10, %esi + vsubpd %ymm5, %ymm1, %ymm5 + vfmadd213pd poly_coeff+32+__svml_dacosh_data_internal(%rip), %ymm1, %ymm3 + vfmadd213pd poly_coeff+96+__svml_dacosh_data_internal(%rip), %ymm1, %ymm2 + vsubpd %ymm5, %ymm8, %ymm4 + vmulpd %ymm1, %ymm1, %ymm8 + vfmadd213pd %ymm2, %ymm8, %ymm3 + movslq %edx, %rdx + movslq %esi, %rsi + vpextrd $2, %xmm10, %edi + movslq %ecx, %rcx + movslq %edi, %rdi -/* - * reconstruction - * VQFMA( D, R, P, R2, R ); - */ - vfmadd213pd %ymm4, %ymm8, %ymm3 - vmovsd (%r8,%rdx), %xmm0 - vmovsd (%r8,%rsi), %xmm11 - vmovhpd (%r8,%rcx), %xmm0, %xmm6 - vmovhpd (%r8,%rdi), %xmm11, %xmm12 - vinsertf128 $1, %xmm12, %ymm6, %ymm0 - vaddpd %ymm3, %ymm1, %ymm6 - vaddpd %ymm6, %ymm0, %ymm0 - vaddpd %ymm0, %ymm7, %ymm0 - testl %eax, %eax + /* + * reconstruction + * VQFMA( D, R, P, R2, R ); + */ + vfmadd213pd %ymm4, %ymm8, %ymm3 + vmovsd (%r8, %rdx), %xmm0 + vmovsd (%r8, %rsi), %xmm11 + vmovhpd (%r8, %rcx), %xmm0, %xmm6 + vmovhpd (%r8, %rdi), %xmm11, %xmm12 + vinsertf128 $1, %xmm12, %ymm6, %ymm0 + vaddpd %ymm3, %ymm1, %ymm6 + vaddpd %ymm6, %ymm0, %ymm0 + vaddpd %ymm0, %ymm7, %ymm0 + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm9 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm9 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd %ymm9, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 + vmovupd %ymm9, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call acosh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call acosh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_acosh_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dacosh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; - __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; - __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; - __declspec(align(32)) VUINT32 ExpMask[4][2]; - __declspec(align(32)) VUINT32 Two10[4][2]; - __declspec(align(32)) VUINT32 MinLog1p[4][2]; - __declspec(align(32)) VUINT32 MaxLog1p[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 SgnMask[4][2]; - __declspec(align(32)) VUINT32 XThreshold[4][2]; - __declspec(align(32)) VUINT32 XhMask[4][2]; - __declspec(align(32)) VUINT32 Threshold[4][2]; - __declspec(align(32)) VUINT32 Bias[4][2]; - __declspec(align(32)) VUINT32 Bias1[4][2]; - __declspec(align(32)) VUINT32 ExpMask0[4][2]; - __declspec(align(32)) VUINT32 ExpMask2[4][2]; - __declspec(align(32)) VUINT32 L2[4][2]; - __declspec(align(32)) VUINT32 dBigThreshold[4][2]; - __declspec(align(32)) VUINT32 dC1[4][2]; - __declspec(align(32)) VUINT32 dC2[4][2]; - __declspec(align(32)) VUINT32 dC3[4][2]; - __declspec(align(32)) VUINT32 dC4[4][2]; - __declspec(align(32)) VUINT32 dC5[4][2]; - __declspec(align(32)) VUINT32 dLargestFinite[4][2]; - __declspec(align(32)) VUINT32 dThirtyOne[4][2]; - __declspec(align(32)) VUINT32 dTopMask12[4][2]; - __declspec(align(32)) VUINT32 dTopMask29[4][2]; - __declspec(align(32)) VUINT32 XScale[4][2]; + __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; + __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; + __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; + __declspec(align(32)) VUINT32 ExpMask[4][2]; + __declspec(align(32)) VUINT32 Two10[4][2]; + __declspec(align(32)) VUINT32 MinLog1p[4][2]; + __declspec(align(32)) VUINT32 MaxLog1p[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 SgnMask[4][2]; + __declspec(align(32)) VUINT32 XThreshold[4][2]; + __declspec(align(32)) VUINT32 XhMask[4][2]; + __declspec(align(32)) VUINT32 Threshold[4][2]; + __declspec(align(32)) VUINT32 Bias[4][2]; + __declspec(align(32)) VUINT32 Bias1[4][2]; + __declspec(align(32)) VUINT32 ExpMask0[4][2]; + __declspec(align(32)) VUINT32 ExpMask2[4][2]; + __declspec(align(32)) VUINT32 L2[4][2]; + __declspec(align(32)) VUINT32 dBigThreshold[4][2]; + __declspec(align(32)) VUINT32 dC1[4][2]; + __declspec(align(32)) VUINT32 dC2[4][2]; + __declspec(align(32)) VUINT32 dC3[4][2]; + __declspec(align(32)) VUINT32 dC4[4][2]; + __declspec(align(32)) VUINT32 dC5[4][2]; + __declspec(align(32)) VUINT32 dLargestFinite[4][2]; + __declspec(align(32)) VUINT32 dThirtyOne[4][2]; + __declspec(align(32)) VUINT32 dTopMask12[4][2]; + __declspec(align(32)) VUINT32 dTopMask29[4][2]; + __declspec(align(32)) VUINT32 XScale[4][2]; } __svml_dacosh_data_internal; #endif __svml_dacosh_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 32 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 32 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 32 - .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 32 - .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 32 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 32 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 32 - .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 32 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 32 - .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 32 - .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 32 - .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 32 - .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 32 - .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 32 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - /*== dBigThreshold ==*/ - .align 32 - .quad 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000 - /*== dC1 ==*/ - .align 32 - .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 - /*== dC2 ==*/ - .align 32 - .quad 0x3fd7fffffffffffa, 0x3fd7fffffffffffa, 0x3fd7fffffffffffa, 0x3fd7fffffffffffa - /*== dC3 ==*/ - .align 32 - .quad 0x3fd3fffffffffffa, 0x3fd3fffffffffffa, 0x3fd3fffffffffffa, 0x3fd3fffffffffffa - /*== dC4 ==*/ - .align 32 - .quad 0x3fd1800013d9d428, 0x3fd1800013d9d428, 0x3fd1800013d9d428, 0x3fd1800013d9d428 - /*== dC5 ==*/ - .align 32 - .quad 0x3fcf800025de102f, 0x3fcf800025de102f, 0x3fcf800025de102f, 0x3fcf800025de102f - /*== dLargestFinite ==*/ - .align 32 - .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF - /*== dThirtyOne ==*/ - .align 32 - .quad 0x403F000000000000, 0x403F000000000000, 0x403F000000000000, 0x403F000000000000 - /*== dTopMask12 ==*/ - .align 32 - .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000 - /*== dTopMask29 ==*/ - .align 32 - .quad 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000 - /*== XScale ==*/ - .align 32 - .quad 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000 - .align 32 - .type __svml_dacosh_data_internal,@object - .size __svml_dacosh_data_internal,.-__svml_dacosh_data_internal + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 32 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 32 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 32 + .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 32 + .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 32 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 32 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 32 + .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 32 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 32 + .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 32 + .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 32 + .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 32 + .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 32 + .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 32 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + /* dBigThreshold */ + .align 32 + .quad 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000 + /* dC1 */ + .align 32 + .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 + /* dC2 */ + .align 32 + .quad 0x3fd7fffffffffffa, 0x3fd7fffffffffffa, 0x3fd7fffffffffffa, 0x3fd7fffffffffffa + /* dC3 */ + .align 32 + .quad 0x3fd3fffffffffffa, 0x3fd3fffffffffffa, 0x3fd3fffffffffffa, 0x3fd3fffffffffffa + /* dC4 */ + .align 32 + .quad 0x3fd1800013d9d428, 0x3fd1800013d9d428, 0x3fd1800013d9d428, 0x3fd1800013d9d428 + /* dC5 */ + .align 32 + .quad 0x3fcf800025de102f, 0x3fcf800025de102f, 0x3fcf800025de102f, 0x3fcf800025de102f + /* dLargestFinite */ + .align 32 + .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF + /* dThirtyOne */ + .align 32 + .quad 0x403F000000000000, 0x403F000000000000, 0x403F000000000000, 0x403F000000000000 + /* dTopMask12 */ + .align 32 + .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000 + /* dTopMask29 */ + .align 32 + .quad 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000 + /* XScale */ + .align 32 + .quad 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000 + .align 32 + .type __svml_dacosh_data_internal, @object + .size __svml_dacosh_data_internal, .-__svml_dacosh_data_internal From patchwork Mon Mar 7 15:00:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602309 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=XJIPLw9a; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2lt6Z8Xz9sFk for ; Tue, 8 Mar 2022 02:42:50 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E3712385840E for ; Mon, 7 Mar 2022 15:42:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E3712385840E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667768; bh=01NH5xiXhtxStdwDot8wd4fGZ4uFCoRjx1bzFCJzOKY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=XJIPLw9ab9C+dDlY6FR9jXTcObKiVhD4QSd0/NleV+dBzKi9I9TWAZiF33AGyqb2T 4dF5xjRKgMlhIXXj0fqvx2yixaTSZXDX1Crk+jG/0q/73cD6DeSbgWkG1Mm4JTCoj4 0K0Dx6tS3ryagL1TwNuJq/YPe4VD5ZvqyjE0Ky/g= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 59A53385843B for ; Mon, 7 Mar 2022 15:02:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 59A53385843B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017222" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017222" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="546915094" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga007.fm.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dk016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 012/126] x86_64: Fix svml_d_acosh8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:07 -0800 Message-Id: <20220307150201.10590-13-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_acosh8_core_avx512.S | 831 +++++++++--------- 1 file changed, 415 insertions(+), 416 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S index 6cf000c956..b9a1131664 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_acosh8_core_avx512.S @@ -36,445 +36,444 @@ /* Offsets for data table __svml_dacosh_data_internal_avx512 */ -#define Log_tbl_H 0 -#define Log_tbl_L 128 -#define One 256 -#define SmallThreshold 320 -#define Threshold 384 -#define LargeThreshold 448 -#define ca2 512 -#define ca1 576 -#define c4s 640 -#define c3s 704 -#define c2s 768 -#define c1s 832 -#define AddB5 896 -#define RcpBitMask 960 -#define OneEighth 1024 -#define Four 1088 -#define poly_coeff9 1152 -#define poly_coeff8 1216 -#define poly_coeff7 1280 -#define poly_coeff6 1344 -#define poly_coeff5 1408 -#define poly_coeff4 1472 -#define poly_coeff3 1536 -#define poly_coeff2 1600 -#define poly_coeff1 1664 -#define L2H 1728 -#define L2L 1792 +#define Log_tbl_H 0 +#define Log_tbl_L 128 +#define One 256 +#define SmallThreshold 320 +#define Threshold 384 +#define LargeThreshold 448 +#define ca2 512 +#define ca1 576 +#define c4s 640 +#define c3s 704 +#define c2s 768 +#define c1s 832 +#define AddB5 896 +#define RcpBitMask 960 +#define OneEighth 1024 +#define Four 1088 +#define poly_coeff9 1152 +#define poly_coeff8 1216 +#define poly_coeff7 1280 +#define poly_coeff6 1344 +#define poly_coeff5 1408 +#define poly_coeff4 1472 +#define poly_coeff3 1536 +#define poly_coeff2 1600 +#define poly_coeff1 1664 +#define L2H 1728 +#define L2L 1792 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_acosh_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups One+__svml_dacosh_data_internal_avx512(%rip), %zmm5 - -/* polynomial computation for small inputs */ - vmovups ca2+__svml_dacosh_data_internal_avx512(%rip), %zmm13 - vmovups ca1+__svml_dacosh_data_internal_avx512(%rip), %zmm14 - -/* - * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s - * poly_s = c1+c2*Eh+c3*Eh^2 - */ - vmovups c4s+__svml_dacosh_data_internal_avx512(%rip), %zmm1 - vmovups c2s+__svml_dacosh_data_internal_avx512(%rip), %zmm2 - vmovups c1s+__svml_dacosh_data_internal_avx512(%rip), %zmm6 - -/* very large inputs ? */ - vmovups Threshold+__svml_dacosh_data_internal_avx512(%rip), %zmm15 - -/* out of range inputs? */ - vmovups LargeThreshold+__svml_dacosh_data_internal_avx512(%rip), %zmm3 - -/* not a very small input ? */ - vmovups SmallThreshold+__svml_dacosh_data_internal_avx512(%rip), %zmm10 - vmovaps %zmm0, %zmm12 - -/* x^2 - 1 */ - vmovaps %zmm5, %zmm11 - vfmsub231pd {rn-sae}, %zmm12, %zmm12, %zmm11 - vcmppd $21, {sae}, %zmm15, %zmm12, %k2 - vcmppd $22, {sae}, %zmm3, %zmm12, %k0 - vcmppd $18, {sae}, %zmm5, %zmm12, %k1 - vrsqrt14pd %zmm11, %zmm4 - vcmppd $21, {sae}, %zmm10, %zmm11, %k3 - vfmadd231pd {rn-sae}, %zmm11, %zmm13, %zmm14 - vmovups c3s+__svml_dacosh_data_internal_avx512(%rip), %zmm13 - -/* Sh ~sqrt(-1+x^2) */ - vmulpd {rn-sae}, %zmm4, %zmm11, %zmm9 - vmulpd {rn-sae}, %zmm11, %zmm14, %zmm8 - -/* Sh+x */ - vaddpd {rn-sae}, %zmm12, %zmm9, %zmm15 - -/* Shh */ - vsubpd {rn-sae}, %zmm12, %zmm15, %zmm14 - -/* (Yh*R0)_low */ - vmovaps %zmm11, %zmm0 - korw %k0, %k1, %k0 - -/* rel. error term: Eh=1-Sh*R0 */ - vmovaps %zmm5, %zmm7 - vfmsub213pd {rn-sae}, %zmm9, %zmm4, %zmm0 - vfnmadd231pd {rn-sae}, %zmm9, %zmm4, %zmm7 - -/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ - vfnmadd231pd {rn-sae}, %zmm0, %zmm4, %zmm7 - -/* Shl */ - vsubpd {rn-sae}, %zmm14, %zmm9, %zmm4 - vmovups poly_coeff7+__svml_dacosh_data_internal_avx512(%rip), %zmm14 - vfmadd231pd {rn-sae}, %zmm7, %zmm1, %zmm13 - vfmadd213pd {rn-sae}, %zmm2, %zmm7, %zmm13 - vfmadd213pd {rn-sae}, %zmm6, %zmm7, %zmm13 - -/* Sh*Eh */ - vmulpd {rn-sae}, %zmm7, %zmm9, %zmm7 - -/* Sl + Sh*Eh*poly_s */ - vfmadd213pd {rn-sae}, %zmm0, %zmm13, %zmm7 - -/* polynomials */ - vmovups poly_coeff9+__svml_dacosh_data_internal_avx512(%rip), %zmm13 - -/* polynomial computation for small inputs */ - vaddpd {rn-sae}, %zmm7, %zmm9, %zmm0 - -/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ - vaddpd {rn-sae}, %zmm7, %zmm15, %zmm6 - vfmadd231pd {rn-sae}, %zmm0, %zmm8, %zmm0 - -/* fixup for very large inputs */ - vmovups OneEighth+__svml_dacosh_data_internal_avx512(%rip), %zmm8 - -/* Sl_high */ - vsubpd {rn-sae}, %zmm15, %zmm6, %zmm9 - vmovups poly_coeff6+__svml_dacosh_data_internal_avx512(%rip), %zmm15 - vmulpd {rn-sae}, %zmm8, %zmm12, %zmm6{%k2} - -/* Sl_l */ - vsubpd {rn-sae}, %zmm9, %zmm7, %zmm3 - vrcp14pd %zmm6, %zmm1 - -/* Xin_low */ - vaddpd {rn-sae}, %zmm4, %zmm3, %zmm7 - -/* Table lookups */ - vmovups __svml_dacosh_data_internal_avx512(%rip), %zmm3 - -/* round reciprocal to 1+4b mantissas */ - vpaddq AddB5+__svml_dacosh_data_internal_avx512(%rip), %zmm1, %zmm2 - -/* fixup for very large inputs */ - vxorpd %zmm7, %zmm7, %zmm7{%k2} - vmovups poly_coeff8+__svml_dacosh_data_internal_avx512(%rip), %zmm1 - vandpd RcpBitMask+__svml_dacosh_data_internal_avx512(%rip), %zmm2, %zmm8 - vmovups Log_tbl_L+__svml_dacosh_data_internal_avx512(%rip), %zmm2 - -/* Prepare table index */ - vpsrlq $48, %zmm8, %zmm9 - -/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ - vfmsub231pd {rn-sae}, %zmm8, %zmm6, %zmm5 - -/* exponents */ - vgetexppd {sae}, %zmm8, %zmm4 - vmovups Four+__svml_dacosh_data_internal_avx512(%rip), %zmm6 - vpermt2pd Log_tbl_H+64+__svml_dacosh_data_internal_avx512(%rip), %zmm9, %zmm3 - vpermt2pd Log_tbl_L+64+__svml_dacosh_data_internal_avx512(%rip), %zmm9, %zmm2 - vsubpd {rn-sae}, %zmm6, %zmm4, %zmm4{%k2} - vfmadd231pd {rn-sae}, %zmm8, %zmm7, %zmm5 - vmovups poly_coeff5+__svml_dacosh_data_internal_avx512(%rip), %zmm6 - vmovups poly_coeff4+__svml_dacosh_data_internal_avx512(%rip), %zmm7 - -/* -K*L2H + Th */ - vmovups L2H+__svml_dacosh_data_internal_avx512(%rip), %zmm8 - -/* -K*L2L + Tl */ - vmovups L2L+__svml_dacosh_data_internal_avx512(%rip), %zmm9 - vfmadd231pd {rn-sae}, %zmm5, %zmm13, %zmm1 - vmovups poly_coeff2+__svml_dacosh_data_internal_avx512(%rip), %zmm13 - vfnmadd231pd {rn-sae}, %zmm4, %zmm8, %zmm3 - vfnmadd213pd {rn-sae}, %zmm2, %zmm9, %zmm4 - vfmadd213pd {rn-sae}, %zmm14, %zmm5, %zmm1 - vmovups poly_coeff3+__svml_dacosh_data_internal_avx512(%rip), %zmm2 - vmovups poly_coeff1+__svml_dacosh_data_internal_avx512(%rip), %zmm14 - vfmadd213pd {rn-sae}, %zmm15, %zmm5, %zmm1 - -/* R^2 */ - vmulpd {rn-sae}, %zmm5, %zmm5, %zmm15 - vfmadd213pd {rn-sae}, %zmm6, %zmm5, %zmm1 - vfmadd213pd {rn-sae}, %zmm7, %zmm5, %zmm1 - vfmadd213pd {rn-sae}, %zmm2, %zmm5, %zmm1 - vfmadd213pd {rn-sae}, %zmm13, %zmm5, %zmm1 - vfmadd213pd {rn-sae}, %zmm14, %zmm5, %zmm1 - -/* Tl + R^2*Poly */ - vfmadd213pd {rn-sae}, %zmm4, %zmm15, %zmm1 - -/* R+Tl + R^2*Poly */ - vaddpd {rn-sae}, %zmm5, %zmm1, %zmm5 - vaddpd {rn-sae}, %zmm5, %zmm3, %zmm0{%k3} - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 k0 zmm0 zmm12 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups One+__svml_dacosh_data_internal_avx512(%rip), %zmm5 + + /* polynomial computation for small inputs */ + vmovups ca2+__svml_dacosh_data_internal_avx512(%rip), %zmm13 + vmovups ca1+__svml_dacosh_data_internal_avx512(%rip), %zmm14 + + /* + * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s + * poly_s = c1+c2*Eh+c3*Eh^2 + */ + vmovups c4s+__svml_dacosh_data_internal_avx512(%rip), %zmm1 + vmovups c2s+__svml_dacosh_data_internal_avx512(%rip), %zmm2 + vmovups c1s+__svml_dacosh_data_internal_avx512(%rip), %zmm6 + + /* very large inputs ? */ + vmovups Threshold+__svml_dacosh_data_internal_avx512(%rip), %zmm15 + + /* out of range inputs? */ + vmovups LargeThreshold+__svml_dacosh_data_internal_avx512(%rip), %zmm3 + + /* not a very small input ? */ + vmovups SmallThreshold+__svml_dacosh_data_internal_avx512(%rip), %zmm10 + vmovaps %zmm0, %zmm12 + + /* x^2 - 1 */ + vmovaps %zmm5, %zmm11 + vfmsub231pd {rn-sae}, %zmm12, %zmm12, %zmm11 + vcmppd $21, {sae}, %zmm15, %zmm12, %k2 + vcmppd $22, {sae}, %zmm3, %zmm12, %k0 + vcmppd $18, {sae}, %zmm5, %zmm12, %k1 + vrsqrt14pd %zmm11, %zmm4 + vcmppd $21, {sae}, %zmm10, %zmm11, %k3 + vfmadd231pd {rn-sae}, %zmm11, %zmm13, %zmm14 + vmovups c3s+__svml_dacosh_data_internal_avx512(%rip), %zmm13 + + /* Sh ~sqrt(-1+x^2) */ + vmulpd {rn-sae}, %zmm4, %zmm11, %zmm9 + vmulpd {rn-sae}, %zmm11, %zmm14, %zmm8 + + /* Sh+x */ + vaddpd {rn-sae}, %zmm12, %zmm9, %zmm15 + + /* Shh */ + vsubpd {rn-sae}, %zmm12, %zmm15, %zmm14 + + /* (Yh*R0)_low */ + vmovaps %zmm11, %zmm0 + korw %k0, %k1, %k0 + + /* rel. error term: Eh=1-Sh*R0 */ + vmovaps %zmm5, %zmm7 + vfmsub213pd {rn-sae}, %zmm9, %zmm4, %zmm0 + vfnmadd231pd {rn-sae}, %zmm9, %zmm4, %zmm7 + + /* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ + vfnmadd231pd {rn-sae}, %zmm0, %zmm4, %zmm7 + + /* Shl */ + vsubpd {rn-sae}, %zmm14, %zmm9, %zmm4 + vmovups poly_coeff7+__svml_dacosh_data_internal_avx512(%rip), %zmm14 + vfmadd231pd {rn-sae}, %zmm7, %zmm1, %zmm13 + vfmadd213pd {rn-sae}, %zmm2, %zmm7, %zmm13 + vfmadd213pd {rn-sae}, %zmm6, %zmm7, %zmm13 + + /* Sh*Eh */ + vmulpd {rn-sae}, %zmm7, %zmm9, %zmm7 + + /* Sl + Sh*Eh*poly_s */ + vfmadd213pd {rn-sae}, %zmm0, %zmm13, %zmm7 + + /* polynomials */ + vmovups poly_coeff9+__svml_dacosh_data_internal_avx512(%rip), %zmm13 + + /* polynomial computation for small inputs */ + vaddpd {rn-sae}, %zmm7, %zmm9, %zmm0 + + /* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ + vaddpd {rn-sae}, %zmm7, %zmm15, %zmm6 + vfmadd231pd {rn-sae}, %zmm0, %zmm8, %zmm0 + + /* fixup for very large inputs */ + vmovups OneEighth+__svml_dacosh_data_internal_avx512(%rip), %zmm8 + + /* Sl_high */ + vsubpd {rn-sae}, %zmm15, %zmm6, %zmm9 + vmovups poly_coeff6+__svml_dacosh_data_internal_avx512(%rip), %zmm15 + vmulpd {rn-sae}, %zmm8, %zmm12, %zmm6{%k2} + + /* Sl_l */ + vsubpd {rn-sae}, %zmm9, %zmm7, %zmm3 + vrcp14pd %zmm6, %zmm1 + + /* Xin_low */ + vaddpd {rn-sae}, %zmm4, %zmm3, %zmm7 + + /* Table lookups */ + vmovups __svml_dacosh_data_internal_avx512(%rip), %zmm3 + + /* round reciprocal to 1+4b mantissas */ + vpaddq AddB5+__svml_dacosh_data_internal_avx512(%rip), %zmm1, %zmm2 + + /* fixup for very large inputs */ + vxorpd %zmm7, %zmm7, %zmm7{%k2} + vmovups poly_coeff8+__svml_dacosh_data_internal_avx512(%rip), %zmm1 + vandpd RcpBitMask+__svml_dacosh_data_internal_avx512(%rip), %zmm2, %zmm8 + vmovups Log_tbl_L+__svml_dacosh_data_internal_avx512(%rip), %zmm2 + + /* Prepare table index */ + vpsrlq $48, %zmm8, %zmm9 + + /* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ + vfmsub231pd {rn-sae}, %zmm8, %zmm6, %zmm5 + + /* exponents */ + vgetexppd {sae}, %zmm8, %zmm4 + vmovups Four+__svml_dacosh_data_internal_avx512(%rip), %zmm6 + vpermt2pd Log_tbl_H+64+__svml_dacosh_data_internal_avx512(%rip), %zmm9, %zmm3 + vpermt2pd Log_tbl_L+64+__svml_dacosh_data_internal_avx512(%rip), %zmm9, %zmm2 + vsubpd {rn-sae}, %zmm6, %zmm4, %zmm4{%k2} + vfmadd231pd {rn-sae}, %zmm8, %zmm7, %zmm5 + vmovups poly_coeff5+__svml_dacosh_data_internal_avx512(%rip), %zmm6 + vmovups poly_coeff4+__svml_dacosh_data_internal_avx512(%rip), %zmm7 + + /* -K*L2H + Th */ + vmovups L2H+__svml_dacosh_data_internal_avx512(%rip), %zmm8 + + /* -K*L2L + Tl */ + vmovups L2L+__svml_dacosh_data_internal_avx512(%rip), %zmm9 + vfmadd231pd {rn-sae}, %zmm5, %zmm13, %zmm1 + vmovups poly_coeff2+__svml_dacosh_data_internal_avx512(%rip), %zmm13 + vfnmadd231pd {rn-sae}, %zmm4, %zmm8, %zmm3 + vfnmadd213pd {rn-sae}, %zmm2, %zmm9, %zmm4 + vfmadd213pd {rn-sae}, %zmm14, %zmm5, %zmm1 + vmovups poly_coeff3+__svml_dacosh_data_internal_avx512(%rip), %zmm2 + vmovups poly_coeff1+__svml_dacosh_data_internal_avx512(%rip), %zmm14 + vfmadd213pd {rn-sae}, %zmm15, %zmm5, %zmm1 + + /* R^2 */ + vmulpd {rn-sae}, %zmm5, %zmm5, %zmm15 + vfmadd213pd {rn-sae}, %zmm6, %zmm5, %zmm1 + vfmadd213pd {rn-sae}, %zmm7, %zmm5, %zmm1 + vfmadd213pd {rn-sae}, %zmm2, %zmm5, %zmm1 + vfmadd213pd {rn-sae}, %zmm13, %zmm5, %zmm1 + vfmadd213pd {rn-sae}, %zmm14, %zmm5, %zmm1 + + /* Tl + R^2*Poly */ + vfmadd213pd {rn-sae}, %zmm4, %zmm15, %zmm1 + + /* R+Tl + R^2*Poly */ + vaddpd {rn-sae}, %zmm5, %zmm1, %zmm5 + vaddpd {rn-sae}, %zmm5, %zmm3, %zmm0{%k3} + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 k0 zmm0 zmm12 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm12, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 k0 zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax k0 - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - kmovd %k0, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm12, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 k0 zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax k0 + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + kmovd %k0, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call acosh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call acosh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_acosh_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dacosh_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl_H[16][2]; - __declspec(align(64)) VUINT32 Log_tbl_L[16][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 SmallThreshold[8][2]; - __declspec(align(64)) VUINT32 Threshold[8][2]; - __declspec(align(64)) VUINT32 LargeThreshold[8][2]; - __declspec(align(64)) VUINT32 ca2[8][2]; - __declspec(align(64)) VUINT32 ca1[8][2]; - __declspec(align(64)) VUINT32 c4s[8][2]; - __declspec(align(64)) VUINT32 c3s[8][2]; - __declspec(align(64)) VUINT32 c2s[8][2]; - __declspec(align(64)) VUINT32 c1s[8][2]; - __declspec(align(64)) VUINT32 AddB5[8][2]; - __declspec(align(64)) VUINT32 RcpBitMask[8][2]; - __declspec(align(64)) VUINT32 OneEighth[8][2]; - __declspec(align(64)) VUINT32 Four[8][2]; - __declspec(align(64)) VUINT32 poly_coeff9[8][2]; - __declspec(align(64)) VUINT32 poly_coeff8[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - __declspec(align(64)) VUINT32 L2H[8][2]; - __declspec(align(64)) VUINT32 L2L[8][2]; - } __svml_dacosh_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl_H[16][2]; + __declspec(align(64)) VUINT32 Log_tbl_L[16][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 SmallThreshold[8][2]; + __declspec(align(64)) VUINT32 Threshold[8][2]; + __declspec(align(64)) VUINT32 LargeThreshold[8][2]; + __declspec(align(64)) VUINT32 ca2[8][2]; + __declspec(align(64)) VUINT32 ca1[8][2]; + __declspec(align(64)) VUINT32 c4s[8][2]; + __declspec(align(64)) VUINT32 c3s[8][2]; + __declspec(align(64)) VUINT32 c2s[8][2]; + __declspec(align(64)) VUINT32 c1s[8][2]; + __declspec(align(64)) VUINT32 AddB5[8][2]; + __declspec(align(64)) VUINT32 RcpBitMask[8][2]; + __declspec(align(64)) VUINT32 OneEighth[8][2]; + __declspec(align(64)) VUINT32 Four[8][2]; + __declspec(align(64)) VUINT32 poly_coeff9[8][2]; + __declspec(align(64)) VUINT32 poly_coeff8[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; + __declspec(align(64)) VUINT32 L2H[8][2]; + __declspec(align(64)) VUINT32 L2L[8][2]; +} __svml_dacosh_data_internal_avx512; #endif __svml_dacosh_data_internal_avx512: - /*== Log_tbl_H ==*/ - .quad 0x0000000000000000 - .quad 0xbfaf0a30c0120000 - .quad 0xbfbe27076e2b0000 - .quad 0xbfc5ff3070a78000 - .quad 0xbfcc8ff7c79a8000 - .quad 0xbfd1675cababc000 - .quad 0xbfd4618bc21c4000 - .quad 0xbfd739d7f6bbc000 - .quad 0xbfd9f323ecbf8000 - .quad 0xbfdc8ff7c79a8000 - .quad 0xbfdf128f5faf0000 - .quad 0xbfe0be72e4252000 - .quad 0xbfe1e85f5e704000 - .quad 0xbfe307d7334f2000 - .quad 0xbfe41d8fe8468000 - .quad 0xbfe52a2d265bc000 - /*== Log_tbl_L ==*/ - .align 64 - .quad 0x0000000000000000 - .quad 0x3d53ab33d066d1d2 - .quad 0x3d2a342c2af0003c - .quad 0xbd43d3c873e20a07 - .quad 0xbd4a21ac25d81ef3 - .quad 0x3d59f1fc63382a8f - .quad 0xbd5ec27d0b7b37b3 - .quad 0xbd50069ce24c53fb - .quad 0xbd584bf2b68d766f - .quad 0xbd5a21ac25d81ef3 - .quad 0xbd3bb2cd720ec44c - .quad 0xbd55056d312f7668 - .quad 0xbd1a07bd8b34be7c - .quad 0x3d5e83c094debc15 - .quad 0x3d5aa33736867a17 - .quad 0xbd46abb9df22bc57 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== SmallThreshold ==*/ - .align 64 - .quad 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000 - /*== Threshold ==*/ - .align 64 - .quad 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000 - /*== LargeThreshold ==*/ - .align 64 - .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff - /*== ca2 ==*/ - .align 64 - .quad 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7 - /*== ca1 ==*/ - .align 64 - .quad 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e - /*== c4s ==*/ - .align 64 - .quad 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612 - /*== c3s ==*/ - .align 64 - .quad 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000 - /*== c2s ==*/ - .align 64 - .quad 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000 - /*== c1s ==*/ - .align 64 - .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 - /*== AddB5 ==*/ - .align 64 - .quad 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000 - /*== RcpBitMask ==*/ - .align 64 - .quad 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000 - /*==OneEighth ==*/ - .align 64 - .quad 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000 - /*== Four ==*/ - .align 64 - .quad 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000 - /*== poly_coeff9 ==*/ - .align 64 - .quad 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368 - /*== poly_coeff8 ==*/ - .align 64 - .quad 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778 - /*== poly_coeff7 ==*/ - .align 64 - .quad 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9 - /*== poly_coeff6 ==*/ - .align 64 - .quad 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1 - /*== poly_coeff5 ==*/ - .align 64 - .quad 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736 - /*== poly_coeff4 ==*/ - .align 64 - .quad 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af - /*== poly_coeff3 ==*/ - .align 64 - .quad 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65 - /*== poly_coeff2 ==*/ - .align 64 - .quad 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1 - /*== poly_coeff1 ==*/ - .align 64 - .quad 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .quad 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000 - /*== L2L = log(2)_low ==*/ - .align 64 - .quad 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000 - .align 64 - .type __svml_dacosh_data_internal_avx512,@object - .size __svml_dacosh_data_internal_avx512,.-__svml_dacosh_data_internal_avx512 + /* Log_tbl_H */ + .quad 0x0000000000000000 + .quad 0xbfaf0a30c0120000 + .quad 0xbfbe27076e2b0000 + .quad 0xbfc5ff3070a78000 + .quad 0xbfcc8ff7c79a8000 + .quad 0xbfd1675cababc000 + .quad 0xbfd4618bc21c4000 + .quad 0xbfd739d7f6bbc000 + .quad 0xbfd9f323ecbf8000 + .quad 0xbfdc8ff7c79a8000 + .quad 0xbfdf128f5faf0000 + .quad 0xbfe0be72e4252000 + .quad 0xbfe1e85f5e704000 + .quad 0xbfe307d7334f2000 + .quad 0xbfe41d8fe8468000 + .quad 0xbfe52a2d265bc000 + /* Log_tbl_L */ + .align 64 + .quad 0x0000000000000000 + .quad 0x3d53ab33d066d1d2 + .quad 0x3d2a342c2af0003c + .quad 0xbd43d3c873e20a07 + .quad 0xbd4a21ac25d81ef3 + .quad 0x3d59f1fc63382a8f + .quad 0xbd5ec27d0b7b37b3 + .quad 0xbd50069ce24c53fb + .quad 0xbd584bf2b68d766f + .quad 0xbd5a21ac25d81ef3 + .quad 0xbd3bb2cd720ec44c + .quad 0xbd55056d312f7668 + .quad 0xbd1a07bd8b34be7c + .quad 0x3d5e83c094debc15 + .quad 0x3d5aa33736867a17 + .quad 0xbd46abb9df22bc57 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* SmallThreshold */ + .align 64 + .quad 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000, 0x3ef0000000000000 + /* Threshold */ + .align 64 + .quad 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000 + /* LargeThreshold */ + .align 64 + .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff + /* ca2 */ + .align 64 + .quad 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7 + /* ca1 */ + .align 64 + .quad 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e + /* c4s */ + .align 64 + .quad 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612 + /* c3s */ + .align 64 + .quad 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000 + /* c2s */ + .align 64 + .quad 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000 + /* c1s */ + .align 64 + .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 + /* AddB5 */ + .align 64 + .quad 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000 + /* RcpBitMask */ + .align 64 + .quad 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000 + /* OneEighth */ + .align 64 + .quad 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000 + /* Four */ + .align 64 + .quad 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000 + /* poly_coeff9 */ + .align 64 + .quad 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368 + /* poly_coeff8 */ + .align 64 + .quad 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778 + /* poly_coeff7 */ + .align 64 + .quad 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9 + /* poly_coeff6 */ + .align 64 + .quad 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1 + /* poly_coeff5 */ + .align 64 + .quad 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736 + /* poly_coeff4 */ + .align 64 + .quad 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af + /* poly_coeff3 */ + .align 64 + .quad 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65 + /* poly_coeff2 */ + .align 64 + .quad 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1 + /* poly_coeff1 */ + .align 64 + .quad 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000 + /* L2H = log(2)_high */ + .align 64 + .quad 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000 + /* L2L = log(2)_low */ + .align 64 + .quad 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000 + .align 64 + .type __svml_dacosh_data_internal_avx512, @object + .size __svml_dacosh_data_internal_avx512, .-__svml_dacosh_data_internal_avx512 From patchwork Mon Mar 7 15:00:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602339 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=wsIdd56r; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2xp5j9pz9sFw for ; Tue, 8 Mar 2022 02:51:26 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E96FC385842E for ; Mon, 7 Mar 2022 15:51:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E96FC385842E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668283; bh=lK3tN5rzoziQBYDr0orSTroNxxjnKtBcl6xrLp6ZF0s=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=wsIdd56rrO4cWPtVxWFqBwl0HCASOivcc8oMPbNQw9z1WXQc0yW/BMIUs9pDd/PVh BbOZ4zzECH6Xk3aPMs8a6XtI9bfnJkII9dq95cCc8aXj27SdLeamKy6hBm/fHUISyY pX5wUWOCXwnICTndyx/+b15zWJKHMR+6qhQUH0Ko= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id EDA69385841A for ; Mon, 7 Mar 2022 15:02:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EDA69385841A X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="251983658" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="251983658" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="610639862" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dl016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 013/126] x86_64: Fix svml_s_asinf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:08 -0800 Message-Id: <20220307150201.10590-14-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_asinf16_core_avx512.S | 405 +++++++++--------- 1 file changed, 202 insertions(+), 203 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S index 280b5c256c..4e9984d870 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf16_core_avx512.S @@ -28,233 +28,232 @@ /* Offsets for data table __svml_sasin_data_internal */ -#define AbsMask 0 -#define OneHalf 64 -#define SmallNorm 128 -#define One 192 -#define Two 256 -#define sqrt_coeff_1 320 -#define sqrt_coeff_2 384 -#define poly_coeff_1 448 -#define poly_coeff_2 512 -#define poly_coeff_3 576 -#define poly_coeff_4 640 -#define poly_coeff_5 704 -#define Pi2H 768 +#define AbsMask 0 +#define OneHalf 64 +#define SmallNorm 128 +#define One 192 +#define Two 256 +#define sqrt_coeff_1 320 +#define sqrt_coeff_2 384 +#define poly_coeff_1 448 +#define poly_coeff_2 512 +#define poly_coeff_3 576 +#define poly_coeff_4 640 +#define poly_coeff_5 704 +#define Pi2H 768 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_asinf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups __svml_sasin_data_internal(%rip), %zmm4 - vmovups OneHalf+__svml_sasin_data_internal(%rip), %zmm6 - -/* SQ ~ -2*sqrt(Y) */ - vmovups SmallNorm+__svml_sasin_data_internal(%rip), %zmm8 - vmovups Two+__svml_sasin_data_internal(%rip), %zmm12 - vmovups sqrt_coeff_1+__svml_sasin_data_internal(%rip), %zmm13 - vmovups One+__svml_sasin_data_internal(%rip), %zmm7 - vmovaps %zmm0, %zmm3 - -/* x = |arg| */ - vandps %zmm3, %zmm4, %zmm2 - vandnps %zmm3, %zmm4, %zmm1 - -/* x^2 */ - vmulps {rn-sae}, %zmm2, %zmm2, %zmm5 - vcmpps $17, {sae}, %zmm2, %zmm7, %k0 - vcmpps $21, {sae}, %zmm6, %zmm2, %k2 - vmovups poly_coeff_2+__svml_sasin_data_internal(%rip), %zmm7 - kmovw %k0, %edx - -/* Y = 0.5 - 0.5*x */ - vmovaps %zmm6, %zmm9 - vfnmadd231ps {rn-sae}, %zmm2, %zmm6, %zmm9 - vmovups poly_coeff_5+__svml_sasin_data_internal(%rip), %zmm6 - vrsqrt14ps %zmm9, %zmm10 - vcmpps $17, {sae}, %zmm8, %zmm9, %k1 - vminps {sae}, %zmm9, %zmm5, %zmm0 - vmovups sqrt_coeff_2+__svml_sasin_data_internal(%rip), %zmm8 - vmovups poly_coeff_4+__svml_sasin_data_internal(%rip), %zmm5 - vxorps %zmm10, %zmm10, %zmm10{%k1} - vaddps {rn-sae}, %zmm9, %zmm9, %zmm14 - vmulps {rn-sae}, %zmm10, %zmm10, %zmm11 - vmulps {rn-sae}, %zmm10, %zmm14, %zmm4 - vfmsub213ps {rn-sae}, %zmm12, %zmm11, %zmm14 - vmulps {rn-sae}, %zmm14, %zmm4, %zmm15 - vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm8 - vmovups poly_coeff_3+__svml_sasin_data_internal(%rip), %zmm14 - -/* polynomial */ - vmovups poly_coeff_1+__svml_sasin_data_internal(%rip), %zmm13 - vfmsub213ps {rn-sae}, %zmm4, %zmm15, %zmm8 - vfmadd231ps {rn-sae}, %zmm0, %zmm14, %zmm5 - vfmadd231ps {rn-sae}, %zmm0, %zmm13, %zmm7 - vmulps {rn-sae}, %zmm0, %zmm0, %zmm15 - vblendmps %zmm8, %zmm2, %zmm2{%k2} - vfmadd213ps {rn-sae}, %zmm5, %zmm15, %zmm7 - vfmadd213ps {rn-sae}, %zmm6, %zmm0, %zmm7 - vmulps {rn-sae}, %zmm0, %zmm7, %zmm9 - vmovups Pi2H+__svml_sasin_data_internal(%rip), %zmm0 - vfmadd213ps {rn-sae}, %zmm2, %zmm2, %zmm9 - vaddps {rn-sae}, %zmm0, %zmm9, %zmm9{%k2} - vxorps %zmm1, %zmm9, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm3 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups __svml_sasin_data_internal(%rip), %zmm4 + vmovups OneHalf+__svml_sasin_data_internal(%rip), %zmm6 + + /* SQ ~ -2*sqrt(Y) */ + vmovups SmallNorm+__svml_sasin_data_internal(%rip), %zmm8 + vmovups Two+__svml_sasin_data_internal(%rip), %zmm12 + vmovups sqrt_coeff_1+__svml_sasin_data_internal(%rip), %zmm13 + vmovups One+__svml_sasin_data_internal(%rip), %zmm7 + vmovaps %zmm0, %zmm3 + + /* x = |arg| */ + vandps %zmm3, %zmm4, %zmm2 + vandnps %zmm3, %zmm4, %zmm1 + + /* x^2 */ + vmulps {rn-sae}, %zmm2, %zmm2, %zmm5 + vcmpps $17, {sae}, %zmm2, %zmm7, %k0 + vcmpps $21, {sae}, %zmm6, %zmm2, %k2 + vmovups poly_coeff_2+__svml_sasin_data_internal(%rip), %zmm7 + kmovw %k0, %edx + + /* Y = 0.5 - 0.5*x */ + vmovaps %zmm6, %zmm9 + vfnmadd231ps {rn-sae}, %zmm2, %zmm6, %zmm9 + vmovups poly_coeff_5+__svml_sasin_data_internal(%rip), %zmm6 + vrsqrt14ps %zmm9, %zmm10 + vcmpps $17, {sae}, %zmm8, %zmm9, %k1 + vminps {sae}, %zmm9, %zmm5, %zmm0 + vmovups sqrt_coeff_2+__svml_sasin_data_internal(%rip), %zmm8 + vmovups poly_coeff_4+__svml_sasin_data_internal(%rip), %zmm5 + vxorps %zmm10, %zmm10, %zmm10{%k1} + vaddps {rn-sae}, %zmm9, %zmm9, %zmm14 + vmulps {rn-sae}, %zmm10, %zmm10, %zmm11 + vmulps {rn-sae}, %zmm10, %zmm14, %zmm4 + vfmsub213ps {rn-sae}, %zmm12, %zmm11, %zmm14 + vmulps {rn-sae}, %zmm14, %zmm4, %zmm15 + vfmadd231ps {rn-sae}, %zmm14, %zmm13, %zmm8 + vmovups poly_coeff_3+__svml_sasin_data_internal(%rip), %zmm14 + + /* polynomial */ + vmovups poly_coeff_1+__svml_sasin_data_internal(%rip), %zmm13 + vfmsub213ps {rn-sae}, %zmm4, %zmm15, %zmm8 + vfmadd231ps {rn-sae}, %zmm0, %zmm14, %zmm5 + vfmadd231ps {rn-sae}, %zmm0, %zmm13, %zmm7 + vmulps {rn-sae}, %zmm0, %zmm0, %zmm15 + vblendmps %zmm8, %zmm2, %zmm2{%k2} + vfmadd213ps {rn-sae}, %zmm5, %zmm15, %zmm7 + vfmadd213ps {rn-sae}, %zmm6, %zmm0, %zmm7 + vmulps {rn-sae}, %zmm0, %zmm7, %zmm9 + vmovups Pi2H+__svml_sasin_data_internal(%rip), %zmm0 + vfmadd213ps {rn-sae}, %zmm2, %zmm2, %zmm9 + vaddps {rn-sae}, %zmm0, %zmm9, %zmm9{%k2} + vxorps %zmm1, %zmm9, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm3, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm3, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call asinf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call asinf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_asinf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_sasin_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 AbsMask[16][1]; - __declspec(align(64)) VUINT32 OneHalf[16][1]; - __declspec(align(64)) VUINT32 SmallNorm[16][1]; - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 Two[16][1]; - __declspec(align(64)) VUINT32 sqrt_coeff[2][16][1]; - __declspec(align(64)) VUINT32 poly_coeff[5][16][1]; - __declspec(align(64)) VUINT32 Pi2H[16][1]; + __declspec(align(64)) VUINT32 AbsMask[16][1]; + __declspec(align(64)) VUINT32 OneHalf[16][1]; + __declspec(align(64)) VUINT32 SmallNorm[16][1]; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 Two[16][1]; + __declspec(align(64)) VUINT32 sqrt_coeff[2][16][1]; + __declspec(align(64)) VUINT32 poly_coeff[5][16][1]; + __declspec(align(64)) VUINT32 Pi2H[16][1]; } __svml_sasin_data_internal; #endif __svml_sasin_data_internal: - /*== AbsMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== OneHalf ==*/ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== SmallNorm ==*/ - .align 64 - .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 - /*== One ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== Two ==*/ - .align 64 - .long 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000 - /*== sqrt_coeff[2] ==*/ - .align 64 - .long 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004 /* sqrt_coeff2 */ - .long 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001 /* sqrt_coeff1 */ - /*== poly_coeff[5] ==*/ - .align 64 - .long 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07 /* poly_coeff5 */ - .long 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B /* poly_coeff4 */ - .long 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4 /* poly_coeff3 */ - .long 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12 /* poly_coeff2 */ - .long 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF /* poly_coeff1 */ - /*== Pi2H ==*/ - .align 64 - .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB - .align 64 - .type __svml_sasin_data_internal,@object - .size __svml_sasin_data_internal,.-__svml_sasin_data_internal + /* AbsMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* OneHalf */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + /* SmallNorm */ + .align 64 + .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 + /* One */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* Two */ + .align 64 + .long 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000 + /* sqrt_coeff[2] */ + .align 64 + .long 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004 /* sqrt_coeff2 */ + .long 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001 /* sqrt_coeff1 */ + /* poly_coeff[5] */ + .align 64 + .long 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07 /* poly_coeff5 */ + .long 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B /* poly_coeff4 */ + .long 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4 /* poly_coeff3 */ + .long 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12 /* poly_coeff2 */ + .long 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF /* poly_coeff1 */ + /* Pi2H */ + .align 64 + .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB + .align 64 + .type __svml_sasin_data_internal, @object + .size __svml_sasin_data_internal, .-__svml_sasin_data_internal From patchwork Mon Mar 7 15:00:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602240 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Ba7914GK; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC1wc2P6fz9s8s for ; Tue, 8 Mar 2022 02:05:20 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1B7593858431 for ; Mon, 7 Mar 2022 15:05:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1B7593858431 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665518; bh=vncnbsdYdjZTZfB5IOEuzNDaDoSBrfRI755smtGotBE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Ba7914GKH391Lxu8nZ+UAfiAnrnagHv5SbgiocYGjltJdODEVZwoP74kQmS3U85cq 0thf2T6WdpoD0/PZBfYAhE+LJyWujBfe0SoWsiZLWpxrUFaeTI/ZNHLZdSfEfK6llP yvf4clmNt4/N3bYwheIeT8Und3EentzGKCYS5SOw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id 960BE3858423 for ; Mon, 7 Mar 2022 15:02:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 960BE3858423 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="315123195" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="315123195" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186275" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dm016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 014/126] x86_64: Fix svml_s_asinf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:09 -0800 Message-Id: <20220307150201.10590-15-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_asinf4_core_sse4.S | 387 +++++++++--------- 1 file changed, 193 insertions(+), 194 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S index 10ceed62a3..7d5a10ff42 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf4_core_sse4.S @@ -28,225 +28,224 @@ /* Offsets for data table __svml_sasin_data_internal */ -#define AbsMask 0 -#define OneHalf 16 -#define SmallNorm 32 -#define One 48 -#define Two 64 -#define sqrt_coeff 80 -#define poly_coeff 112 -#define Pi2H 192 +#define AbsMask 0 +#define OneHalf 16 +#define SmallNorm 32 +#define One 48 +#define Two 64 +#define sqrt_coeff 80 +#define poly_coeff 112 +#define Pi2H 192 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_asinf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm2 - movups __svml_sasin_data_internal(%rip), %xmm1 - movups OneHalf+__svml_sasin_data_internal(%rip), %xmm5 - -/* x = |arg| */ - movaps %xmm1, %xmm0 - andps %xmm2, %xmm0 - -/* Y = 0.5 - 0.5*x */ - movaps %xmm5, %xmm3 - mulps %xmm0, %xmm3 - movaps %xmm5, %xmm8 - -/* x^2 */ - movaps %xmm0, %xmm14 - movaps %xmm0, %xmm15 - mulps %xmm0, %xmm14 - subps %xmm3, %xmm8 - cmpnltps %xmm5, %xmm15 - -/* SQ ~ -2*sqrt(Y) */ - rsqrtps %xmm8, %xmm6 - minps %xmm8, %xmm14 - movaps %xmm8, %xmm9 - movaps %xmm14, %xmm10 - cmpltps SmallNorm+__svml_sasin_data_internal(%rip), %xmm9 - mulps %xmm14, %xmm10 - addps %xmm8, %xmm8 - andnps %xmm6, %xmm9 - movaps %xmm15, %xmm3 - movaps %xmm9, %xmm7 - andnps %xmm0, %xmm3 - mulps %xmm9, %xmm7 - andnps %xmm2, %xmm1 - mulps %xmm8, %xmm9 - mulps %xmm7, %xmm8 - -/* polynomial */ - movups poly_coeff+__svml_sasin_data_internal(%rip), %xmm11 - mulps %xmm14, %xmm11 - subps Two+__svml_sasin_data_internal(%rip), %xmm8 - movups poly_coeff+32+__svml_sasin_data_internal(%rip), %xmm12 - mulps %xmm14, %xmm12 - addps poly_coeff+16+__svml_sasin_data_internal(%rip), %xmm11 - mulps %xmm10, %xmm11 - addps poly_coeff+48+__svml_sasin_data_internal(%rip), %xmm12 - movups sqrt_coeff+__svml_sasin_data_internal(%rip), %xmm13 - addps %xmm11, %xmm12 - mulps %xmm8, %xmm13 - mulps %xmm9, %xmm8 - mulps %xmm14, %xmm12 - addps sqrt_coeff+16+__svml_sasin_data_internal(%rip), %xmm13 - addps poly_coeff+64+__svml_sasin_data_internal(%rip), %xmm12 - mulps %xmm8, %xmm13 - mulps %xmm12, %xmm14 - subps %xmm9, %xmm13 - andps %xmm15, %xmm13 - orps %xmm13, %xmm3 - mulps %xmm3, %xmm14 - movups One+__svml_sasin_data_internal(%rip), %xmm4 - addps %xmm14, %xmm3 - cmpltps %xmm0, %xmm4 - movups Pi2H+__svml_sasin_data_internal(%rip), %xmm0 - andps %xmm15, %xmm0 - movmskps %xmm4, %edx - addps %xmm3, %xmm0 - pxor %xmm1, %xmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm2 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm2 + movups __svml_sasin_data_internal(%rip), %xmm1 + movups OneHalf+__svml_sasin_data_internal(%rip), %xmm5 + + /* x = |arg| */ + movaps %xmm1, %xmm0 + andps %xmm2, %xmm0 + + /* Y = 0.5 - 0.5*x */ + movaps %xmm5, %xmm3 + mulps %xmm0, %xmm3 + movaps %xmm5, %xmm8 + + /* x^2 */ + movaps %xmm0, %xmm14 + movaps %xmm0, %xmm15 + mulps %xmm0, %xmm14 + subps %xmm3, %xmm8 + cmpnltps %xmm5, %xmm15 + + /* SQ ~ -2*sqrt(Y) */ + rsqrtps %xmm8, %xmm6 + minps %xmm8, %xmm14 + movaps %xmm8, %xmm9 + movaps %xmm14, %xmm10 + cmpltps SmallNorm+__svml_sasin_data_internal(%rip), %xmm9 + mulps %xmm14, %xmm10 + addps %xmm8, %xmm8 + andnps %xmm6, %xmm9 + movaps %xmm15, %xmm3 + movaps %xmm9, %xmm7 + andnps %xmm0, %xmm3 + mulps %xmm9, %xmm7 + andnps %xmm2, %xmm1 + mulps %xmm8, %xmm9 + mulps %xmm7, %xmm8 + + /* polynomial */ + movups poly_coeff+__svml_sasin_data_internal(%rip), %xmm11 + mulps %xmm14, %xmm11 + subps Two+__svml_sasin_data_internal(%rip), %xmm8 + movups poly_coeff+32+__svml_sasin_data_internal(%rip), %xmm12 + mulps %xmm14, %xmm12 + addps poly_coeff+16+__svml_sasin_data_internal(%rip), %xmm11 + mulps %xmm10, %xmm11 + addps poly_coeff+48+__svml_sasin_data_internal(%rip), %xmm12 + movups sqrt_coeff+__svml_sasin_data_internal(%rip), %xmm13 + addps %xmm11, %xmm12 + mulps %xmm8, %xmm13 + mulps %xmm9, %xmm8 + mulps %xmm14, %xmm12 + addps sqrt_coeff+16+__svml_sasin_data_internal(%rip), %xmm13 + addps poly_coeff+64+__svml_sasin_data_internal(%rip), %xmm12 + mulps %xmm8, %xmm13 + mulps %xmm12, %xmm14 + subps %xmm9, %xmm13 + andps %xmm15, %xmm13 + orps %xmm13, %xmm3 + mulps %xmm3, %xmm14 + movups One+__svml_sasin_data_internal(%rip), %xmm4 + addps %xmm14, %xmm3 + cmpltps %xmm0, %xmm4 + movups Pi2H+__svml_sasin_data_internal(%rip), %xmm0 + andps %xmm15, %xmm0 + movmskps %xmm4, %edx + addps %xmm3, %xmm0 + pxor %xmm1, %xmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm2, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm2, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call asinf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call asinf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_asinf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_sasin_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 AbsMask[4][1]; - __declspec(align(16)) VUINT32 OneHalf[4][1]; - __declspec(align(16)) VUINT32 SmallNorm[4][1]; - __declspec(align(16)) VUINT32 One[4][1]; - __declspec(align(16)) VUINT32 Two[4][1]; - __declspec(align(16)) VUINT32 sqrt_coeff[2][4][1]; - __declspec(align(16)) VUINT32 poly_coeff[5][4][1]; - __declspec(align(16)) VUINT32 Pi2H[4][1]; + __declspec(align(16)) VUINT32 AbsMask[4][1]; + __declspec(align(16)) VUINT32 OneHalf[4][1]; + __declspec(align(16)) VUINT32 SmallNorm[4][1]; + __declspec(align(16)) VUINT32 One[4][1]; + __declspec(align(16)) VUINT32 Two[4][1]; + __declspec(align(16)) VUINT32 sqrt_coeff[2][4][1]; + __declspec(align(16)) VUINT32 poly_coeff[5][4][1]; + __declspec(align(16)) VUINT32 Pi2H[4][1]; } __svml_sasin_data_internal; #endif __svml_sasin_data_internal: - /*== AbsMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== OneHalf ==*/ - .align 16 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== SmallNorm ==*/ - .align 16 - .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 - /*== One ==*/ - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== Two ==*/ - .align 16 - .long 0x40000000, 0x40000000, 0x40000000, 0x40000000 - /*== sqrt_coeff[2] ==*/ - .align 16 - .long 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004 /* sqrt_coeff2 */ - .long 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001 /* sqrt_coeff1 */ - /*== poly_coeff[5] ==*/ - .align 16 - .long 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07 /* poly_coeff5 */ - .long 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B /* poly_coeff4 */ - .long 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4 /* poly_coeff3 */ - .long 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12 /* poly_coeff2 */ - .long 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF /* poly_coeff1 */ - /*== Pi2H ==*/ - .align 16 - .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB - .align 16 - .type __svml_sasin_data_internal,@object - .size __svml_sasin_data_internal,.-__svml_sasin_data_internal + /* AbsMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* OneHalf */ + .align 16 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + /* SmallNorm */ + .align 16 + .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 + /* One */ + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* Two */ + .align 16 + .long 0x40000000, 0x40000000, 0x40000000, 0x40000000 + /* sqrt_coeff[2] */ + .align 16 + .long 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004 /* sqrt_coeff2 */ + .long 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001 /* sqrt_coeff1 */ + /* poly_coeff[5] */ + .align 16 + .long 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07 /* poly_coeff5 */ + .long 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B /* poly_coeff4 */ + .long 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4 /* poly_coeff3 */ + .long 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12 /* poly_coeff2 */ + .long 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF /* poly_coeff1 */ + /* Pi2H */ + .align 16 + .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB + .align 16 + .type __svml_sasin_data_internal, @object + .size __svml_sasin_data_internal, .-__svml_sasin_data_internal From patchwork Mon Mar 7 15:00:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602237 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=xY2v+sgk; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC1t32PyYz9s8s for ; Tue, 8 Mar 2022 02:03:07 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A48C63858428 for ; Mon, 7 Mar 2022 15:03:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A48C63858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665384; bh=jHAj/3UNmV2GGn64jyg9amgevdoZj+AjyhYSuSr913I=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=xY2v+sgkmLWbYF5MYgH+pQ1+mncJBZiE8/s04tZ+OP2qS2rAt8dnHZg9HhAj8Ja/q cXi125YL9cFAS9Gg9E7K/BEJPWz3AkMsKoB34moYaASJX6sA1SC+x2C2CBVurj2i2j XV/b4wvJsQrw/Kzkc3+WS9fS67tufHXLkAc8liKA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id DC00C3858437 for ; Mon, 7 Mar 2022 15:02:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DC00C3858437 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640409" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640409" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="641355920" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga002.fm.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dn016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 015/126] x86_64: Fix svml_s_asinf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:10 -0800 Message-Id: <20220307150201.10590-16-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_asinf8_core_avx2.S | 383 +++++++++--------- 1 file changed, 191 insertions(+), 192 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S index 6e296cb7a1..59bea9dc42 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinf8_core_avx2.S @@ -28,222 +28,221 @@ /* Offsets for data table __svml_sasin_data_internal */ -#define AbsMask 0 -#define OneHalf 32 -#define SmallNorm 64 -#define One 96 -#define Two 128 -#define sqrt_coeff 160 -#define poly_coeff 224 -#define Pi2H 384 +#define AbsMask 0 +#define OneHalf 32 +#define SmallNorm 64 +#define One 96 +#define Two 128 +#define sqrt_coeff 160 +#define poly_coeff 224 +#define Pi2H 384 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_asinf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovups __svml_sasin_data_internal(%rip), %ymm5 - vmovups OneHalf+__svml_sasin_data_internal(%rip), %ymm9 - vmovups One+__svml_sasin_data_internal(%rip), %ymm6 - vmovaps %ymm0, %ymm4 - -/* x = |arg| */ - vandps %ymm4, %ymm5, %ymm3 - -/* Y = 0.5 - 0.5*x */ - vmovaps %ymm9, %ymm12 - vfnmadd231ps %ymm3, %ymm9, %ymm12 - -/* x^2 */ - vmulps %ymm3, %ymm3, %ymm7 - vcmplt_oqps %ymm3, %ymm6, %ymm8 - -/* SQ ~ -2*sqrt(Y) */ - vcmplt_oqps SmallNorm+__svml_sasin_data_internal(%rip), %ymm12, %ymm10 - vminps %ymm12, %ymm7, %ymm1 - vaddps %ymm12, %ymm12, %ymm15 - vcmpnlt_uqps %ymm9, %ymm3, %ymm0 - vrsqrtps %ymm12, %ymm11 - vmovups poly_coeff+64+__svml_sasin_data_internal(%rip), %ymm7 - vmulps %ymm1, %ymm1, %ymm6 - vmovups sqrt_coeff+__svml_sasin_data_internal(%rip), %ymm9 - vfmadd213ps poly_coeff+96+__svml_sasin_data_internal(%rip), %ymm1, %ymm7 - vmovmskps %ymm8, %edx - -/* polynomial */ - vmovups poly_coeff+__svml_sasin_data_internal(%rip), %ymm8 - vandnps %ymm11, %ymm10, %ymm13 - vmulps %ymm13, %ymm13, %ymm14 - vfmadd213ps poly_coeff+32+__svml_sasin_data_internal(%rip), %ymm1, %ymm8 - vandnps %ymm4, %ymm5, %ymm2 - vmulps %ymm15, %ymm13, %ymm5 - vfmsub213ps Two+__svml_sasin_data_internal(%rip), %ymm14, %ymm15 - vfmadd213ps %ymm7, %ymm6, %ymm8 - vfmadd213ps sqrt_coeff+32+__svml_sasin_data_internal(%rip), %ymm15, %ymm9 - vmulps %ymm15, %ymm5, %ymm15 - vfmadd213ps poly_coeff+128+__svml_sasin_data_internal(%rip), %ymm1, %ymm8 - vfmsub213ps %ymm5, %ymm15, %ymm9 - vmulps %ymm8, %ymm1, %ymm1 - vblendvps %ymm0, %ymm9, %ymm3, %ymm3 - vfmadd213ps %ymm3, %ymm3, %ymm1 - vandps Pi2H+__svml_sasin_data_internal(%rip), %ymm0, %ymm0 - vaddps %ymm1, %ymm0, %ymm10 - vxorps %ymm2, %ymm10, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm4 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + vmovups __svml_sasin_data_internal(%rip), %ymm5 + vmovups OneHalf+__svml_sasin_data_internal(%rip), %ymm9 + vmovups One+__svml_sasin_data_internal(%rip), %ymm6 + vmovaps %ymm0, %ymm4 + + /* x = |arg| */ + vandps %ymm4, %ymm5, %ymm3 + + /* Y = 0.5 - 0.5*x */ + vmovaps %ymm9, %ymm12 + vfnmadd231ps %ymm3, %ymm9, %ymm12 + + /* x^2 */ + vmulps %ymm3, %ymm3, %ymm7 + vcmplt_oqps %ymm3, %ymm6, %ymm8 + + /* SQ ~ -2*sqrt(Y) */ + vcmplt_oqps SmallNorm+__svml_sasin_data_internal(%rip), %ymm12, %ymm10 + vminps %ymm12, %ymm7, %ymm1 + vaddps %ymm12, %ymm12, %ymm15 + vcmpnlt_uqps %ymm9, %ymm3, %ymm0 + vrsqrtps %ymm12, %ymm11 + vmovups poly_coeff+64+__svml_sasin_data_internal(%rip), %ymm7 + vmulps %ymm1, %ymm1, %ymm6 + vmovups sqrt_coeff+__svml_sasin_data_internal(%rip), %ymm9 + vfmadd213ps poly_coeff+96+__svml_sasin_data_internal(%rip), %ymm1, %ymm7 + vmovmskps %ymm8, %edx + + /* polynomial */ + vmovups poly_coeff+__svml_sasin_data_internal(%rip), %ymm8 + vandnps %ymm11, %ymm10, %ymm13 + vmulps %ymm13, %ymm13, %ymm14 + vfmadd213ps poly_coeff+32+__svml_sasin_data_internal(%rip), %ymm1, %ymm8 + vandnps %ymm4, %ymm5, %ymm2 + vmulps %ymm15, %ymm13, %ymm5 + vfmsub213ps Two+__svml_sasin_data_internal(%rip), %ymm14, %ymm15 + vfmadd213ps %ymm7, %ymm6, %ymm8 + vfmadd213ps sqrt_coeff+32+__svml_sasin_data_internal(%rip), %ymm15, %ymm9 + vmulps %ymm15, %ymm5, %ymm15 + vfmadd213ps poly_coeff+128+__svml_sasin_data_internal(%rip), %ymm1, %ymm8 + vfmsub213ps %ymm5, %ymm15, %ymm9 + vmulps %ymm8, %ymm1, %ymm1 + vblendvps %ymm0, %ymm9, %ymm3, %ymm3 + vfmadd213ps %ymm3, %ymm3, %ymm1 + vandps Pi2H+__svml_sasin_data_internal(%rip), %ymm0, %ymm0 + vaddps %ymm1, %ymm0, %ymm10 + vxorps %ymm2, %ymm10, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm4 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm4, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm4, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call asinf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call asinf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_asinf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_sasin_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 AbsMask[8][1]; - __declspec(align(32)) VUINT32 OneHalf[8][1]; - __declspec(align(32)) VUINT32 SmallNorm[8][1]; - __declspec(align(32)) VUINT32 One[8][1]; - __declspec(align(32)) VUINT32 Two[8][1]; - __declspec(align(32)) VUINT32 sqrt_coeff[2][8][1]; - __declspec(align(32)) VUINT32 poly_coeff[5][8][1]; - __declspec(align(32)) VUINT32 Pi2H[8][1]; + __declspec(align(32)) VUINT32 AbsMask[8][1]; + __declspec(align(32)) VUINT32 OneHalf[8][1]; + __declspec(align(32)) VUINT32 SmallNorm[8][1]; + __declspec(align(32)) VUINT32 One[8][1]; + __declspec(align(32)) VUINT32 Two[8][1]; + __declspec(align(32)) VUINT32 sqrt_coeff[2][8][1]; + __declspec(align(32)) VUINT32 poly_coeff[5][8][1]; + __declspec(align(32)) VUINT32 Pi2H[8][1]; } __svml_sasin_data_internal; #endif __svml_sasin_data_internal: - /*== AbsMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== OneHalf ==*/ - .align 32 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== SmallNorm ==*/ - .align 32 - .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 - /*== One ==*/ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== Two ==*/ - .align 32 - .long 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000 - /*== sqrt_coeff[2] ==*/ - .align 32 - .long 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004 /* sqrt_coeff2 */ - .long 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001 /* sqrt_coeff1 */ - /*== poly_coeff[5] ==*/ - .align 32 - .long 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07 /* poly_coeff5 */ - .long 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B /* poly_coeff4 */ - .long 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4 /* poly_coeff3 */ - .long 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12 /* poly_coeff2 */ - .long 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF /* poly_coeff1 */ - /*== Pi2H ==*/ - .align 32 - .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB - .align 32 - .type __svml_sasin_data_internal,@object - .size __svml_sasin_data_internal,.-__svml_sasin_data_internal + /* AbsMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* OneHalf */ + .align 32 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + /* SmallNorm */ + .align 32 + .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 + /* One */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* Two */ + .align 32 + .long 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000 + /* sqrt_coeff[2] */ + .align 32 + .long 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004, 0xbdC00004 /* sqrt_coeff2 */ + .long 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001, 0x3e800001 /* sqrt_coeff1 */ + /* poly_coeff[5] */ + .align 32 + .long 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07, 0x3d2EDC07 /* poly_coeff5 */ + .long 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B, 0x3CC32A6B /* poly_coeff4 */ + .long 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4, 0x3d3A9AB4 /* poly_coeff3 */ + .long 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12, 0x3d997C12 /* poly_coeff2 */ + .long 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF, 0x3e2AAAFF /* poly_coeff1 */ + /* Pi2H */ + .align 32 + .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB + .align 32 + .type __svml_sasin_data_internal, @object + .size __svml_sasin_data_internal, .-__svml_sasin_data_internal From patchwork Mon Mar 7 15:00:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602284 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=t8Sf+vbq; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2cB2Kylz9sFk for ; Tue, 8 Mar 2022 02:36:10 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 48DC9385841A for ; Mon, 7 Mar 2022 15:36:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 48DC9385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667368; bh=hGOGq1/udvpU+AydCs+vfC244+gYnvgNLN+G5j2Kz00=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=t8Sf+vbqYwD8kXVqeBE5gFldV/Incn8BAe4UeFSUyrWlK8LIcc33fNyfkC3bQvtmQ NbmNiUhbsEdbx/zYK4DVR5TOCq2XBGNuPOyNN3EFz0yY8i91cz6TLseoucFb9X8OLc WM17wCqRR0nA4R1PBV/78cWF4LJ0bMkCKk8lAP60= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 052FD3858423 for ; Mon, 7 Mar 2022 15:02:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 052FD3858423 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364112" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364112" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081763" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21do016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 016/126] x86_64: Fix svml_d_asin2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:11 -0800 Message-Id: <20220307150201.10590-17-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_asin2_core_sse4.S | 461 +++++++++--------- 1 file changed, 230 insertions(+), 231 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S index 00723482a2..e37f36560b 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin2_core_sse4.S @@ -27,262 +27,261 @@ /* Offsets for data table __svml_dasin_data_internal */ -#define AbsMask 0 -#define OneHalf 16 -#define SmallNorm 32 -#define One 48 -#define Two 64 -#define sqrt_coeff 80 -#define poly_coeff 144 -#define Pi2H 336 +#define AbsMask 0 +#define OneHalf 16 +#define SmallNorm 32 +#define One 48 +#define Two 64 +#define sqrt_coeff 80 +#define poly_coeff 144 +#define Pi2H 336 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_asin_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm5 - movups __svml_dasin_data_internal(%rip), %xmm3 - movups OneHalf+__svml_dasin_data_internal(%rip), %xmm8 - -/* x = |arg| */ - movaps %xmm3, %xmm4 - andps %xmm5, %xmm4 - -/* Y = 0.5 - 0.5*x */ - movaps %xmm8, %xmm6 - mulpd %xmm4, %xmm6 - movaps %xmm8, %xmm14 - -/* x^2 */ - movaps %xmm4, %xmm2 - subpd %xmm6, %xmm14 - mulpd %xmm4, %xmm2 - -/* S ~ -2*sqrt(Y) */ - cvtpd2ps %xmm14, %xmm9 - minpd %xmm14, %xmm2 - movlhps %xmm9, %xmm9 - movaps %xmm14, %xmm15 - rsqrtps %xmm9, %xmm10 - cmpltpd SmallNorm+__svml_dasin_data_internal(%rip), %xmm15 - addpd %xmm14, %xmm14 - cvtps2pd %xmm10, %xmm11 - andnps %xmm11, %xmm15 - movaps %xmm4, %xmm1 - movaps %xmm15, %xmm12 - andnps %xmm5, %xmm3 - mulpd %xmm15, %xmm12 - mulpd %xmm14, %xmm15 - mulpd %xmm12, %xmm14 - cmpnltpd %xmm8, %xmm1 - subpd Two+__svml_dasin_data_internal(%rip), %xmm14 - -/* polynomial */ - movups poly_coeff+__svml_dasin_data_internal(%rip), %xmm6 - movaps %xmm2, %xmm12 - mulpd %xmm2, %xmm6 - mulpd %xmm2, %xmm12 - addpd poly_coeff+16+__svml_dasin_data_internal(%rip), %xmm6 - movups One+__svml_dasin_data_internal(%rip), %xmm7 - movaps %xmm12, %xmm8 - cmpltpd %xmm4, %xmm7 - mulpd %xmm12, %xmm6 - movmskpd %xmm7, %edx - movups poly_coeff+32+__svml_dasin_data_internal(%rip), %xmm9 - movaps %xmm14, %xmm0 - movups poly_coeff+64+__svml_dasin_data_internal(%rip), %xmm7 - mulpd %xmm2, %xmm9 - mulpd %xmm2, %xmm7 - addpd poly_coeff+48+__svml_dasin_data_internal(%rip), %xmm9 - addpd poly_coeff+80+__svml_dasin_data_internal(%rip), %xmm7 - mulpd %xmm12, %xmm8 - mulpd %xmm12, %xmm7 - addpd %xmm6, %xmm9 - mulpd %xmm15, %xmm0 - mulpd %xmm8, %xmm9 - movups poly_coeff+96+__svml_dasin_data_internal(%rip), %xmm10 - mulpd %xmm2, %xmm10 - movups sqrt_coeff+__svml_dasin_data_internal(%rip), %xmm13 - mulpd %xmm14, %xmm13 - addpd poly_coeff+112+__svml_dasin_data_internal(%rip), %xmm10 - addpd sqrt_coeff+16+__svml_dasin_data_internal(%rip), %xmm13 - addpd %xmm7, %xmm10 - mulpd %xmm14, %xmm13 - addpd %xmm9, %xmm10 - addpd sqrt_coeff+32+__svml_dasin_data_internal(%rip), %xmm13 - mulpd %xmm12, %xmm10 - mulpd %xmm13, %xmm14 - movups poly_coeff+128+__svml_dasin_data_internal(%rip), %xmm11 - mulpd %xmm2, %xmm11 - addpd sqrt_coeff+48+__svml_dasin_data_internal(%rip), %xmm14 - addpd poly_coeff+144+__svml_dasin_data_internal(%rip), %xmm11 - mulpd %xmm14, %xmm0 - addpd %xmm10, %xmm11 - subpd %xmm15, %xmm0 - mulpd %xmm11, %xmm12 - movups poly_coeff+160+__svml_dasin_data_internal(%rip), %xmm13 - movaps %xmm1, %xmm14 - mulpd %xmm2, %xmm13 - addpd poly_coeff+176+__svml_dasin_data_internal(%rip), %xmm13 - addpd %xmm12, %xmm13 - mulpd %xmm13, %xmm2 - andnps %xmm4, %xmm14 - andps %xmm1, %xmm0 - orps %xmm0, %xmm14 - mulpd %xmm14, %xmm2 - addpd %xmm2, %xmm14 - movups Pi2H+__svml_dasin_data_internal(%rip), %xmm0 - andps %xmm1, %xmm0 - addpd %xmm14, %xmm0 - pxor %xmm3, %xmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm5 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm5 + movups __svml_dasin_data_internal(%rip), %xmm3 + movups OneHalf+__svml_dasin_data_internal(%rip), %xmm8 + + /* x = |arg| */ + movaps %xmm3, %xmm4 + andps %xmm5, %xmm4 + + /* Y = 0.5 - 0.5*x */ + movaps %xmm8, %xmm6 + mulpd %xmm4, %xmm6 + movaps %xmm8, %xmm14 + + /* x^2 */ + movaps %xmm4, %xmm2 + subpd %xmm6, %xmm14 + mulpd %xmm4, %xmm2 + + /* S ~ -2*sqrt(Y) */ + cvtpd2ps %xmm14, %xmm9 + minpd %xmm14, %xmm2 + movlhps %xmm9, %xmm9 + movaps %xmm14, %xmm15 + rsqrtps %xmm9, %xmm10 + cmpltpd SmallNorm+__svml_dasin_data_internal(%rip), %xmm15 + addpd %xmm14, %xmm14 + cvtps2pd %xmm10, %xmm11 + andnps %xmm11, %xmm15 + movaps %xmm4, %xmm1 + movaps %xmm15, %xmm12 + andnps %xmm5, %xmm3 + mulpd %xmm15, %xmm12 + mulpd %xmm14, %xmm15 + mulpd %xmm12, %xmm14 + cmpnltpd %xmm8, %xmm1 + subpd Two+__svml_dasin_data_internal(%rip), %xmm14 + + /* polynomial */ + movups poly_coeff+__svml_dasin_data_internal(%rip), %xmm6 + movaps %xmm2, %xmm12 + mulpd %xmm2, %xmm6 + mulpd %xmm2, %xmm12 + addpd poly_coeff+16+__svml_dasin_data_internal(%rip), %xmm6 + movups One+__svml_dasin_data_internal(%rip), %xmm7 + movaps %xmm12, %xmm8 + cmpltpd %xmm4, %xmm7 + mulpd %xmm12, %xmm6 + movmskpd %xmm7, %edx + movups poly_coeff+32+__svml_dasin_data_internal(%rip), %xmm9 + movaps %xmm14, %xmm0 + movups poly_coeff+64+__svml_dasin_data_internal(%rip), %xmm7 + mulpd %xmm2, %xmm9 + mulpd %xmm2, %xmm7 + addpd poly_coeff+48+__svml_dasin_data_internal(%rip), %xmm9 + addpd poly_coeff+80+__svml_dasin_data_internal(%rip), %xmm7 + mulpd %xmm12, %xmm8 + mulpd %xmm12, %xmm7 + addpd %xmm6, %xmm9 + mulpd %xmm15, %xmm0 + mulpd %xmm8, %xmm9 + movups poly_coeff+96+__svml_dasin_data_internal(%rip), %xmm10 + mulpd %xmm2, %xmm10 + movups sqrt_coeff+__svml_dasin_data_internal(%rip), %xmm13 + mulpd %xmm14, %xmm13 + addpd poly_coeff+112+__svml_dasin_data_internal(%rip), %xmm10 + addpd sqrt_coeff+16+__svml_dasin_data_internal(%rip), %xmm13 + addpd %xmm7, %xmm10 + mulpd %xmm14, %xmm13 + addpd %xmm9, %xmm10 + addpd sqrt_coeff+32+__svml_dasin_data_internal(%rip), %xmm13 + mulpd %xmm12, %xmm10 + mulpd %xmm13, %xmm14 + movups poly_coeff+128+__svml_dasin_data_internal(%rip), %xmm11 + mulpd %xmm2, %xmm11 + addpd sqrt_coeff+48+__svml_dasin_data_internal(%rip), %xmm14 + addpd poly_coeff+144+__svml_dasin_data_internal(%rip), %xmm11 + mulpd %xmm14, %xmm0 + addpd %xmm10, %xmm11 + subpd %xmm15, %xmm0 + mulpd %xmm11, %xmm12 + movups poly_coeff+160+__svml_dasin_data_internal(%rip), %xmm13 + movaps %xmm1, %xmm14 + mulpd %xmm2, %xmm13 + addpd poly_coeff+176+__svml_dasin_data_internal(%rip), %xmm13 + addpd %xmm12, %xmm13 + mulpd %xmm13, %xmm2 + andnps %xmm4, %xmm14 + andps %xmm1, %xmm0 + orps %xmm0, %xmm14 + mulpd %xmm14, %xmm2 + addpd %xmm2, %xmm14 + movups Pi2H+__svml_dasin_data_internal(%rip), %xmm0 + andps %xmm1, %xmm0 + addpd %xmm14, %xmm0 + pxor %xmm3, %xmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm5 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm5, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm5, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call asin@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call asin@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_asin_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dasin_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 AbsMask[2][2]; - __declspec(align(16)) VUINT32 OneHalf[2][2]; - __declspec(align(16)) VUINT32 SmallNorm[2][2]; - __declspec(align(16)) VUINT32 One[2][2]; - __declspec(align(16)) VUINT32 Two[2][2]; - __declspec(align(16)) VUINT32 sqrt_coeff[4][2][2]; - __declspec(align(16)) VUINT32 poly_coeff[12][2][2]; - __declspec(align(16)) VUINT32 Pi2H[2][2]; + __declspec(align(16)) VUINT32 AbsMask[2][2]; + __declspec(align(16)) VUINT32 OneHalf[2][2]; + __declspec(align(16)) VUINT32 SmallNorm[2][2]; + __declspec(align(16)) VUINT32 One[2][2]; + __declspec(align(16)) VUINT32 Two[2][2]; + __declspec(align(16)) VUINT32 sqrt_coeff[4][2][2]; + __declspec(align(16)) VUINT32 poly_coeff[12][2][2]; + __declspec(align(16)) VUINT32 Pi2H[2][2]; } __svml_dasin_data_internal; #endif __svml_dasin_data_internal: - /*== AbsMask ==*/ - .quad 0x7fffffffffffffff, 0x7fffffffffffffff - /*== OneHalf ==*/ - .align 16 - .quad 0x3fe0000000000000, 0x3fe0000000000000 - /*== SmallNorm ==*/ - .align 16 - .quad 0x3000000000000000, 0x3000000000000000 - /*== One ==*/ - .align 16 - .quad 0x3ff0000000000000, 0x3ff0000000000000 - /*== Two ==*/ - .align 16 - .quad 0x4000000000000000, 0x4000000000000000 - /*== sqrt_coeff[4] ==*/ - .align 16 - .quad 0xbf918000993B24C3, 0xbf918000993B24C3 /* sqrt_coeff4 */ - .quad 0x3fa400006F70D42D, 0x3fa400006F70D42D /* sqrt_coeff3 */ - .quad 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97 /* sqrt_coeff2 */ - .quad 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D /* sqrt_coeff1 */ - /*== poly_coeff[12] ==*/ - .align 16 - .quad 0x3fa07520C70EB909, 0x3fa07520C70EB909 /* poly_coeff12 */ - .quad 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED /* poly_coeff11 */ - .quad 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE /* poly_coeff10 */ - .quad 0x3f7A583395D45ED5, 0x3f7A583395D45ED5 /* poly_coeff9 */ - .quad 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6 /* poly_coeff8 */ - .quad 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57 /* poly_coeff7 */ - .quad 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E /* poly_coeff6 */ - .quad 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd /* poly_coeff5 */ - .quad 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE /* poly_coeff4 */ - .quad 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8 /* poly_coeff3 */ - .quad 0x3fb333333337E0DE, 0x3fb333333337E0DE /* poly_coeff2 */ - .quad 0x3fc555555555529C, 0x3fc555555555529C /* poly_coeff1 */ - /*== Pi2H ==*/ - .align 16 - .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18 - .align 16 - .type __svml_dasin_data_internal,@object - .size __svml_dasin_data_internal,.-__svml_dasin_data_internal + /* AbsMask */ + .quad 0x7fffffffffffffff, 0x7fffffffffffffff + /* OneHalf */ + .align 16 + .quad 0x3fe0000000000000, 0x3fe0000000000000 + /* SmallNorm */ + .align 16 + .quad 0x3000000000000000, 0x3000000000000000 + /* One */ + .align 16 + .quad 0x3ff0000000000000, 0x3ff0000000000000 + /* Two */ + .align 16 + .quad 0x4000000000000000, 0x4000000000000000 + /* sqrt_coeff[4] */ + .align 16 + .quad 0xbf918000993B24C3, 0xbf918000993B24C3 /* sqrt_coeff4 */ + .quad 0x3fa400006F70D42D, 0x3fa400006F70D42D /* sqrt_coeff3 */ + .quad 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97 /* sqrt_coeff2 */ + .quad 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D /* sqrt_coeff1 */ + /* poly_coeff[12] */ + .align 16 + .quad 0x3fa07520C70EB909, 0x3fa07520C70EB909 /* poly_coeff12 */ + .quad 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED /* poly_coeff11 */ + .quad 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE /* poly_coeff10 */ + .quad 0x3f7A583395D45ED5, 0x3f7A583395D45ED5 /* poly_coeff9 */ + .quad 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6 /* poly_coeff8 */ + .quad 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57 /* poly_coeff7 */ + .quad 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E /* poly_coeff6 */ + .quad 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd /* poly_coeff5 */ + .quad 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE /* poly_coeff4 */ + .quad 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8 /* poly_coeff3 */ + .quad 0x3fb333333337E0DE, 0x3fb333333337E0DE /* poly_coeff2 */ + .quad 0x3fc555555555529C, 0x3fc555555555529C /* poly_coeff1 */ + /* Pi2H */ + .align 16 + .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18 + .align 16 + .type __svml_dasin_data_internal, @object + .size __svml_dasin_data_internal, .-__svml_dasin_data_internal From patchwork Mon Mar 7 15:00:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602239 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=esnS+Ih+; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC1vp1bClz9s8s for ; Tue, 8 Mar 2022 02:04:38 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1711E385842B for ; Mon, 7 Mar 2022 15:04:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1711E385842B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665476; bh=AJyAe4lXQW4Pwvu3CrLwTSWPAHV9ma9jQOs9nD76KtA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=esnS+Ih+t4MewiunxVqcxnfW0idZTKgIqN6AFbU7zi+mT32DiO+X+4Q5ZQpDn2H2m CVxE5rDKirPBKkCf+9UPxRY23MkpXBhAPQLIqO6R6PuNg7KOmKfFYYIucAcdznytaX gH4Zbwp+2lEHBL5483LL4w2XmsOMA7tDCnsHvknc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id 93B13385842E for ; Mon, 7 Mar 2022 15:02:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 93B13385842E X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254599149" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254599149" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="495085254" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga003.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dp016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 017/126] x86_64: Fix svml_d_asin4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:12 -0800 Message-Id: <20220307150201.10590-18-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_asin4_core_avx2.S | 433 +++++++++--------- 1 file changed, 216 insertions(+), 217 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S index cc7f16d749..ba96089504 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin4_core_avx2.S @@ -27,247 +27,246 @@ /* Offsets for data table __svml_dasin_data_internal */ -#define AbsMask 0 -#define OneHalf 32 -#define SmallNorm 64 -#define One 96 -#define Two 128 -#define sqrt_coeff 160 -#define poly_coeff 288 -#define Pi2H 672 +#define AbsMask 0 +#define OneHalf 32 +#define SmallNorm 64 +#define One 96 +#define Two 128 +#define sqrt_coeff 160 +#define poly_coeff 288 +#define Pi2H 672 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_asin_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovupd __svml_dasin_data_internal(%rip), %ymm6 - vmovupd OneHalf+__svml_dasin_data_internal(%rip), %ymm10 - vmovupd One+__svml_dasin_data_internal(%rip), %ymm8 - vmovapd %ymm0, %ymm5 - -/* x = |arg| */ - vandpd %ymm5, %ymm6, %ymm4 - -/* Y = 0.5 - 0.5*x */ - vmovapd %ymm10, %ymm15 - vfnmadd231pd %ymm4, %ymm10, %ymm15 - -/* x^2 */ - vmulpd %ymm4, %ymm4, %ymm7 - vcmplt_oqpd %ymm4, %ymm8, %ymm9 - -/* S ~ -2*sqrt(Y) */ - vcmplt_oqpd SmallNorm+__svml_dasin_data_internal(%rip), %ymm15, %ymm13 - vminpd %ymm15, %ymm7, %ymm2 - vaddpd %ymm15, %ymm15, %ymm7 - vcmpnlt_uqpd %ymm10, %ymm4, %ymm1 - vcvtpd2ps %ymm15, %xmm11 - vmovupd poly_coeff+64+__svml_dasin_data_internal(%rip), %ymm10 - vmulpd %ymm2, %ymm2, %ymm15 - vrsqrtps %xmm11, %xmm12 - vmovupd poly_coeff+192+__svml_dasin_data_internal(%rip), %ymm11 - vfmadd213pd poly_coeff+96+__svml_dasin_data_internal(%rip), %ymm2, %ymm10 - vcvtps2pd %xmm12, %ymm14 - vmulpd %ymm15, %ymm15, %ymm12 - vfmadd213pd poly_coeff+224+__svml_dasin_data_internal(%rip), %ymm2, %ymm11 - vandnpd %ymm14, %ymm13, %ymm0 - vandnpd %ymm5, %ymm6, %ymm3 - vmulpd %ymm0, %ymm0, %ymm6 - vmovupd poly_coeff+128+__svml_dasin_data_internal(%rip), %ymm13 - vmovupd poly_coeff+256+__svml_dasin_data_internal(%rip), %ymm14 - vfmadd213pd poly_coeff+160+__svml_dasin_data_internal(%rip), %ymm2, %ymm13 - vfmadd213pd poly_coeff+288+__svml_dasin_data_internal(%rip), %ymm2, %ymm14 - vfmadd213pd %ymm11, %ymm15, %ymm13 - vmovmskpd %ymm9, %edx - vmulpd %ymm7, %ymm0, %ymm9 - vfmsub213pd Two+__svml_dasin_data_internal(%rip), %ymm6, %ymm7 - -/* polynomial */ - vmovupd poly_coeff+__svml_dasin_data_internal(%rip), %ymm6 - vmovupd sqrt_coeff+__svml_dasin_data_internal(%rip), %ymm0 - vmulpd %ymm7, %ymm9, %ymm8 - vfmadd213pd poly_coeff+32+__svml_dasin_data_internal(%rip), %ymm2, %ymm6 - vfmadd213pd sqrt_coeff+32+__svml_dasin_data_internal(%rip), %ymm7, %ymm0 - vfmadd213pd %ymm10, %ymm15, %ymm6 - vmovupd poly_coeff+320+__svml_dasin_data_internal(%rip), %ymm10 - vfmadd213pd sqrt_coeff+64+__svml_dasin_data_internal(%rip), %ymm7, %ymm0 - vfmadd213pd %ymm13, %ymm12, %ymm6 - vfmadd213pd poly_coeff+352+__svml_dasin_data_internal(%rip), %ymm2, %ymm10 - vfmadd213pd sqrt_coeff+96+__svml_dasin_data_internal(%rip), %ymm7, %ymm0 - vfmadd213pd %ymm14, %ymm15, %ymm6 - vfmsub213pd %ymm9, %ymm8, %ymm0 - vfmadd213pd %ymm10, %ymm15, %ymm6 - vblendvpd %ymm1, %ymm0, %ymm4, %ymm4 - vmulpd %ymm6, %ymm2, %ymm2 - vfmadd213pd %ymm4, %ymm4, %ymm2 - vandpd Pi2H+__svml_dasin_data_internal(%rip), %ymm1, %ymm1 - vaddpd %ymm2, %ymm1, %ymm0 - vxorpd %ymm3, %ymm0, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm5 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + vmovupd __svml_dasin_data_internal(%rip), %ymm6 + vmovupd OneHalf+__svml_dasin_data_internal(%rip), %ymm10 + vmovupd One+__svml_dasin_data_internal(%rip), %ymm8 + vmovapd %ymm0, %ymm5 + + /* x = |arg| */ + vandpd %ymm5, %ymm6, %ymm4 + + /* Y = 0.5 - 0.5*x */ + vmovapd %ymm10, %ymm15 + vfnmadd231pd %ymm4, %ymm10, %ymm15 + + /* x^2 */ + vmulpd %ymm4, %ymm4, %ymm7 + vcmplt_oqpd %ymm4, %ymm8, %ymm9 + + /* S ~ -2*sqrt(Y) */ + vcmplt_oqpd SmallNorm+__svml_dasin_data_internal(%rip), %ymm15, %ymm13 + vminpd %ymm15, %ymm7, %ymm2 + vaddpd %ymm15, %ymm15, %ymm7 + vcmpnlt_uqpd %ymm10, %ymm4, %ymm1 + vcvtpd2ps %ymm15, %xmm11 + vmovupd poly_coeff+64+__svml_dasin_data_internal(%rip), %ymm10 + vmulpd %ymm2, %ymm2, %ymm15 + vrsqrtps %xmm11, %xmm12 + vmovupd poly_coeff+192+__svml_dasin_data_internal(%rip), %ymm11 + vfmadd213pd poly_coeff+96+__svml_dasin_data_internal(%rip), %ymm2, %ymm10 + vcvtps2pd %xmm12, %ymm14 + vmulpd %ymm15, %ymm15, %ymm12 + vfmadd213pd poly_coeff+224+__svml_dasin_data_internal(%rip), %ymm2, %ymm11 + vandnpd %ymm14, %ymm13, %ymm0 + vandnpd %ymm5, %ymm6, %ymm3 + vmulpd %ymm0, %ymm0, %ymm6 + vmovupd poly_coeff+128+__svml_dasin_data_internal(%rip), %ymm13 + vmovupd poly_coeff+256+__svml_dasin_data_internal(%rip), %ymm14 + vfmadd213pd poly_coeff+160+__svml_dasin_data_internal(%rip), %ymm2, %ymm13 + vfmadd213pd poly_coeff+288+__svml_dasin_data_internal(%rip), %ymm2, %ymm14 + vfmadd213pd %ymm11, %ymm15, %ymm13 + vmovmskpd %ymm9, %edx + vmulpd %ymm7, %ymm0, %ymm9 + vfmsub213pd Two+__svml_dasin_data_internal(%rip), %ymm6, %ymm7 + + /* polynomial */ + vmovupd poly_coeff+__svml_dasin_data_internal(%rip), %ymm6 + vmovupd sqrt_coeff+__svml_dasin_data_internal(%rip), %ymm0 + vmulpd %ymm7, %ymm9, %ymm8 + vfmadd213pd poly_coeff+32+__svml_dasin_data_internal(%rip), %ymm2, %ymm6 + vfmadd213pd sqrt_coeff+32+__svml_dasin_data_internal(%rip), %ymm7, %ymm0 + vfmadd213pd %ymm10, %ymm15, %ymm6 + vmovupd poly_coeff+320+__svml_dasin_data_internal(%rip), %ymm10 + vfmadd213pd sqrt_coeff+64+__svml_dasin_data_internal(%rip), %ymm7, %ymm0 + vfmadd213pd %ymm13, %ymm12, %ymm6 + vfmadd213pd poly_coeff+352+__svml_dasin_data_internal(%rip), %ymm2, %ymm10 + vfmadd213pd sqrt_coeff+96+__svml_dasin_data_internal(%rip), %ymm7, %ymm0 + vfmadd213pd %ymm14, %ymm15, %ymm6 + vfmsub213pd %ymm9, %ymm8, %ymm0 + vfmadd213pd %ymm10, %ymm15, %ymm6 + vblendvpd %ymm1, %ymm0, %ymm4, %ymm4 + vmulpd %ymm6, %ymm2, %ymm2 + vfmadd213pd %ymm4, %ymm4, %ymm2 + vandpd Pi2H+__svml_dasin_data_internal(%rip), %ymm1, %ymm1 + vaddpd %ymm2, %ymm1, %ymm0 + vxorpd %ymm3, %ymm0, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm5 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm5, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm5, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call asin@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call asin@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_asin_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dasin_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 AbsMask[4][2]; - __declspec(align(32)) VUINT32 OneHalf[4][2]; - __declspec(align(32)) VUINT32 SmallNorm[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 Two[4][2]; - __declspec(align(32)) VUINT32 sqrt_coeff[4][4][2]; - __declspec(align(32)) VUINT32 poly_coeff[12][4][2]; - __declspec(align(32)) VUINT32 Pi2H[4][2]; + __declspec(align(32)) VUINT32 AbsMask[4][2]; + __declspec(align(32)) VUINT32 OneHalf[4][2]; + __declspec(align(32)) VUINT32 SmallNorm[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 Two[4][2]; + __declspec(align(32)) VUINT32 sqrt_coeff[4][4][2]; + __declspec(align(32)) VUINT32 poly_coeff[12][4][2]; + __declspec(align(32)) VUINT32 Pi2H[4][2]; } __svml_dasin_data_internal; #endif __svml_dasin_data_internal: - /*== AbsMask ==*/ - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== OneHalf ==*/ - .align 32 - .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 - /*== SmallNorm ==*/ - .align 32 - .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== Two ==*/ - .align 32 - .quad 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000 - /*== sqrt_coeff[4] ==*/ - .align 32 - .quad 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3 /* sqrt_coeff4 */ - .quad 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D /* sqrt_coeff3 */ - .quad 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97 /* sqrt_coeff2 */ - .quad 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D /* sqrt_coeff1 */ - /*== poly_coeff[12] ==*/ - .align 32 - .quad 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909 /* poly_coeff12 */ - .quad 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED /* poly_coeff11 */ - .quad 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE /* poly_coeff10 */ - .quad 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5 /* poly_coeff9 */ - .quad 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6 /* poly_coeff8 */ - .quad 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57 /* poly_coeff7 */ - .quad 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E /* poly_coeff6 */ - .quad 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd /* poly_coeff5 */ - .quad 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE /* poly_coeff4 */ - .quad 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8 /* poly_coeff3 */ - .quad 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE /* poly_coeff2 */ - .quad 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C /* poly_coeff1 */ - /*== Pi2H ==*/ - .align 32 - .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 - .align 32 - .type __svml_dasin_data_internal,@object - .size __svml_dasin_data_internal,.-__svml_dasin_data_internal + /* AbsMask */ + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* OneHalf */ + .align 32 + .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 + /* SmallNorm */ + .align 32 + .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* Two */ + .align 32 + .quad 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000 + /* sqrt_coeff[4] */ + .align 32 + .quad 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3 /* sqrt_coeff4 */ + .quad 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D /* sqrt_coeff3 */ + .quad 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97 /* sqrt_coeff2 */ + .quad 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D /* sqrt_coeff1 */ + /* poly_coeff[12] */ + .align 32 + .quad 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909 /* poly_coeff12 */ + .quad 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED /* poly_coeff11 */ + .quad 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE /* poly_coeff10 */ + .quad 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5 /* poly_coeff9 */ + .quad 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6 /* poly_coeff8 */ + .quad 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57 /* poly_coeff7 */ + .quad 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E /* poly_coeff6 */ + .quad 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd /* poly_coeff5 */ + .quad 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE /* poly_coeff4 */ + .quad 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8 /* poly_coeff3 */ + .quad 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE /* poly_coeff2 */ + .quad 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C /* poly_coeff1 */ + /* Pi2H */ + .align 32 + .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 + .align 32 + .type __svml_dasin_data_internal, @object + .size __svml_dasin_data_internal, .-__svml_dasin_data_internal From patchwork Mon Mar 7 15:00:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602318 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=gdkewJf7; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2qS35VKz9sFw for ; Tue, 8 Mar 2022 02:45:56 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1C3BC3858423 for ; Mon, 7 Mar 2022 15:45:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C3BC3858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667954; bh=pZmn01LTy4F4uzPxb8oRvTolzShn2g7E9QuGlvfBsZg=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=gdkewJf7him9ZU/zESlZSE7Y84udHKkeKWc55eO5KPqT43RRu2Voo7kIgrXBJCxhX Ixkjl1U/RcFC2KMmIpUZpXntTJK5TCyu5cj1ycCHmujH0dviGKBIiZ8IxsYAuWSelK c6mHzhsg1gUICu6QpYRNyKQS1TC5UsDNEmn7G1Sc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 565233858435 for ; Mon, 7 Mar 2022 15:02:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 565233858435 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017226" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017226" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="546915095" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga007.fm.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dq016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 018/126] x86_64: Fix svml_d_asin8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:13 -0800 Message-Id: <20220307150201.10590-19-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_asin8_core_avx512.S | 477 +++++++++--------- 1 file changed, 238 insertions(+), 239 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S index 2574d80cbd..0f5b773b04 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asin8_core_avx512.S @@ -27,269 +27,268 @@ /* Offsets for data table __svml_dasin_data_internal */ -#define AbsMask 0 -#define OneHalf 64 -#define SmallNorm 128 -#define One 192 -#define Two 256 -#define sqrt_coeff_1 320 -#define sqrt_coeff_2 384 -#define sqrt_coeff_3 448 -#define sqrt_coeff_4 512 -#define poly_coeff_1 576 -#define poly_coeff_2 640 -#define poly_coeff_3 704 -#define poly_coeff_4 768 -#define poly_coeff_5 832 -#define poly_coeff_6 896 -#define poly_coeff_7 960 -#define poly_coeff_8 1024 -#define poly_coeff_9 1088 -#define poly_coeff_10 1152 -#define poly_coeff_11 1216 -#define poly_coeff_12 1280 -#define Pi2H 1344 +#define AbsMask 0 +#define OneHalf 64 +#define SmallNorm 128 +#define One 192 +#define Two 256 +#define sqrt_coeff_1 320 +#define sqrt_coeff_2 384 +#define sqrt_coeff_3 448 +#define sqrt_coeff_4 512 +#define poly_coeff_1 576 +#define poly_coeff_2 640 +#define poly_coeff_3 704 +#define poly_coeff_4 768 +#define poly_coeff_5 832 +#define poly_coeff_6 896 +#define poly_coeff_7 960 +#define poly_coeff_8 1024 +#define poly_coeff_9 1088 +#define poly_coeff_10 1152 +#define poly_coeff_11 1216 +#define poly_coeff_12 1280 +#define Pi2H 1344 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_asin_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups OneHalf+__svml_dasin_data_internal(%rip), %zmm8 - -/* S ~ -2*sqrt(Y) */ - vmovups SmallNorm+__svml_dasin_data_internal(%rip), %zmm10 - vmovups Two+__svml_dasin_data_internal(%rip), %zmm14 - vmovups sqrt_coeff_1+__svml_dasin_data_internal(%rip), %zmm15 - vmovups sqrt_coeff_2+__svml_dasin_data_internal(%rip), %zmm2 - vmovups sqrt_coeff_3+__svml_dasin_data_internal(%rip), %zmm1 - vmovups One+__svml_dasin_data_internal(%rip), %zmm9 - vmovaps %zmm0, %zmm6 - -/* x = |arg| */ - vandpd __svml_dasin_data_internal(%rip), %zmm6, %zmm4 - -/* Y = 0.5 - 0.5*x */ - vmovaps %zmm8, %zmm11 - vfnmadd231pd {rn-sae}, %zmm4, %zmm8, %zmm11 - -/* x^2 */ - vmulpd {rn-sae}, %zmm4, %zmm4, %zmm7 - vrsqrt14pd %zmm11, %zmm12 - vcmppd $17, {sae}, %zmm10, %zmm11, %k1 - vcmppd $21, {sae}, %zmm8, %zmm4, %k2 - vcmppd $17, {sae}, %zmm4, %zmm9, %k0 - vmovups poly_coeff_5+__svml_dasin_data_internal(%rip), %zmm10 - -/* polynomial */ - vmovups poly_coeff_1+__svml_dasin_data_internal(%rip), %zmm8 - vmovups poly_coeff_3+__svml_dasin_data_internal(%rip), %zmm9 - vminpd {sae}, %zmm11, %zmm7, %zmm3 - vxorpd %zmm12, %zmm12, %zmm12{%k1} - vaddpd {rn-sae}, %zmm11, %zmm11, %zmm0 - vxorpd %zmm6, %zmm4, %zmm5 - vmulpd {rn-sae}, %zmm12, %zmm12, %zmm13 - vmulpd {rn-sae}, %zmm12, %zmm0, %zmm7 - vmovups poly_coeff_7+__svml_dasin_data_internal(%rip), %zmm11 - vmovups poly_coeff_4+__svml_dasin_data_internal(%rip), %zmm12 - vfmsub213pd {rn-sae}, %zmm14, %zmm13, %zmm0 - vmovups sqrt_coeff_4+__svml_dasin_data_internal(%rip), %zmm13 - vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm12 - vmovups poly_coeff_11+__svml_dasin_data_internal(%rip), %zmm9 - vfmadd231pd {rn-sae}, %zmm0, %zmm15, %zmm2 - vmovups poly_coeff_9+__svml_dasin_data_internal(%rip), %zmm15 - vmulpd {rn-sae}, %zmm0, %zmm7, %zmm14 - vfmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm2 - vmovups poly_coeff_2+__svml_dasin_data_internal(%rip), %zmm1 - kmovw %k0, %edx - vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm2 - vfmadd231pd {rn-sae}, %zmm3, %zmm8, %zmm1 - vmovups poly_coeff_10+__svml_dasin_data_internal(%rip), %zmm8 - vmulpd {rn-sae}, %zmm3, %zmm3, %zmm0 - vfmsub213pd {rn-sae}, %zmm7, %zmm14, %zmm2 - vmovups poly_coeff_6+__svml_dasin_data_internal(%rip), %zmm7 - vfmadd231pd {rn-sae}, %zmm3, %zmm15, %zmm8 - vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm1 - vblendmpd %zmm2, %zmm4, %zmm2{%k2} - vfmadd231pd {rn-sae}, %zmm3, %zmm10, %zmm7 - vmovups poly_coeff_8+__svml_dasin_data_internal(%rip), %zmm10 - vmovups Pi2H+__svml_dasin_data_internal(%rip), %zmm4 - vfmadd231pd {rn-sae}, %zmm3, %zmm11, %zmm10 - vmovups poly_coeff_12+__svml_dasin_data_internal(%rip), %zmm11 - vfmadd213pd {rn-sae}, %zmm10, %zmm0, %zmm7 - vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm11 - vmulpd {rn-sae}, %zmm0, %zmm0, %zmm10 - vfmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm1 - vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm1 - vfmadd213pd {rn-sae}, %zmm11, %zmm0, %zmm1 - vmulpd {rn-sae}, %zmm3, %zmm1, %zmm3 - vfmadd213pd {rn-sae}, %zmm2, %zmm2, %zmm3 - vaddpd {rn-sae}, %zmm4, %zmm3, %zmm3{%k2} - vxorpd %zmm5, %zmm3, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm6 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups OneHalf+__svml_dasin_data_internal(%rip), %zmm8 + + /* S ~ -2*sqrt(Y) */ + vmovups SmallNorm+__svml_dasin_data_internal(%rip), %zmm10 + vmovups Two+__svml_dasin_data_internal(%rip), %zmm14 + vmovups sqrt_coeff_1+__svml_dasin_data_internal(%rip), %zmm15 + vmovups sqrt_coeff_2+__svml_dasin_data_internal(%rip), %zmm2 + vmovups sqrt_coeff_3+__svml_dasin_data_internal(%rip), %zmm1 + vmovups One+__svml_dasin_data_internal(%rip), %zmm9 + vmovaps %zmm0, %zmm6 + + /* x = |arg| */ + vandpd __svml_dasin_data_internal(%rip), %zmm6, %zmm4 + + /* Y = 0.5 - 0.5*x */ + vmovaps %zmm8, %zmm11 + vfnmadd231pd {rn-sae}, %zmm4, %zmm8, %zmm11 + + /* x^2 */ + vmulpd {rn-sae}, %zmm4, %zmm4, %zmm7 + vrsqrt14pd %zmm11, %zmm12 + vcmppd $17, {sae}, %zmm10, %zmm11, %k1 + vcmppd $21, {sae}, %zmm8, %zmm4, %k2 + vcmppd $17, {sae}, %zmm4, %zmm9, %k0 + vmovups poly_coeff_5+__svml_dasin_data_internal(%rip), %zmm10 + + /* polynomial */ + vmovups poly_coeff_1+__svml_dasin_data_internal(%rip), %zmm8 + vmovups poly_coeff_3+__svml_dasin_data_internal(%rip), %zmm9 + vminpd {sae}, %zmm11, %zmm7, %zmm3 + vxorpd %zmm12, %zmm12, %zmm12{%k1} + vaddpd {rn-sae}, %zmm11, %zmm11, %zmm0 + vxorpd %zmm6, %zmm4, %zmm5 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm13 + vmulpd {rn-sae}, %zmm12, %zmm0, %zmm7 + vmovups poly_coeff_7+__svml_dasin_data_internal(%rip), %zmm11 + vmovups poly_coeff_4+__svml_dasin_data_internal(%rip), %zmm12 + vfmsub213pd {rn-sae}, %zmm14, %zmm13, %zmm0 + vmovups sqrt_coeff_4+__svml_dasin_data_internal(%rip), %zmm13 + vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm12 + vmovups poly_coeff_11+__svml_dasin_data_internal(%rip), %zmm9 + vfmadd231pd {rn-sae}, %zmm0, %zmm15, %zmm2 + vmovups poly_coeff_9+__svml_dasin_data_internal(%rip), %zmm15 + vmulpd {rn-sae}, %zmm0, %zmm7, %zmm14 + vfmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm2 + vmovups poly_coeff_2+__svml_dasin_data_internal(%rip), %zmm1 + kmovw %k0, %edx + vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm2 + vfmadd231pd {rn-sae}, %zmm3, %zmm8, %zmm1 + vmovups poly_coeff_10+__svml_dasin_data_internal(%rip), %zmm8 + vmulpd {rn-sae}, %zmm3, %zmm3, %zmm0 + vfmsub213pd {rn-sae}, %zmm7, %zmm14, %zmm2 + vmovups poly_coeff_6+__svml_dasin_data_internal(%rip), %zmm7 + vfmadd231pd {rn-sae}, %zmm3, %zmm15, %zmm8 + vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm1 + vblendmpd %zmm2, %zmm4, %zmm2{%k2} + vfmadd231pd {rn-sae}, %zmm3, %zmm10, %zmm7 + vmovups poly_coeff_8+__svml_dasin_data_internal(%rip), %zmm10 + vmovups Pi2H+__svml_dasin_data_internal(%rip), %zmm4 + vfmadd231pd {rn-sae}, %zmm3, %zmm11, %zmm10 + vmovups poly_coeff_12+__svml_dasin_data_internal(%rip), %zmm11 + vfmadd213pd {rn-sae}, %zmm10, %zmm0, %zmm7 + vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm11 + vmulpd {rn-sae}, %zmm0, %zmm0, %zmm10 + vfmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm1 + vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm1 + vfmadd213pd {rn-sae}, %zmm11, %zmm0, %zmm1 + vmulpd {rn-sae}, %zmm3, %zmm1, %zmm3 + vfmadd213pd {rn-sae}, %zmm2, %zmm2, %zmm3 + vaddpd {rn-sae}, %zmm4, %zmm3, %zmm3{%k2} + vxorpd %zmm5, %zmm3, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm6 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm6, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm6, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call asin@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call asin@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_asin_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dasin_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 AbsMask[8][2]; - __declspec(align(64)) VUINT32 OneHalf[8][2]; - __declspec(align(64)) VUINT32 SmallNorm[8][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 Two[8][2]; - __declspec(align(64)) VUINT32 sqrt_coeff[4][8][2]; - __declspec(align(64)) VUINT32 poly_coeff[12][8][2]; - __declspec(align(64)) VUINT32 Pi2H[8][2]; + __declspec(align(64)) VUINT32 AbsMask[8][2]; + __declspec(align(64)) VUINT32 OneHalf[8][2]; + __declspec(align(64)) VUINT32 SmallNorm[8][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 Two[8][2]; + __declspec(align(64)) VUINT32 sqrt_coeff[4][8][2]; + __declspec(align(64)) VUINT32 poly_coeff[12][8][2]; + __declspec(align(64)) VUINT32 Pi2H[8][2]; } __svml_dasin_data_internal; #endif __svml_dasin_data_internal: - /*== AbsMask ==*/ - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== OneHalf ==*/ - .align 64 - .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 - /*== SmallNorm ==*/ - .align 64 - .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== Two ==*/ - .align 64 - .quad 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000 - /*== sqrt_coeff[4] ==*/ - .align 64 - .quad 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3 /* sqrt_coeff4 */ - .quad 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D /* sqrt_coeff3 */ - .quad 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97 /* sqrt_coeff2 */ - .quad 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D /* sqrt_coeff1 */ - /*== poly_coeff[12] ==*/ - .align 64 - .quad 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909 /* poly_coeff12 */ - .quad 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED /* poly_coeff11 */ - .quad 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE /* poly_coeff10 */ - .quad 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5 /* poly_coeff9 */ - .quad 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6 /* poly_coeff8 */ - .quad 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57 /* poly_coeff7 */ - .quad 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E /* poly_coeff6 */ - .quad 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd /* poly_coeff5 */ - .quad 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE /* poly_coeff4 */ - .quad 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8 /* poly_coeff3 */ - .quad 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE /* poly_coeff2 */ - .quad 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C /* poly_coeff1 */ - /*== Pi2H ==*/ - .align 64 - .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 - .align 64 - .type __svml_dasin_data_internal,@object - .size __svml_dasin_data_internal,.-__svml_dasin_data_internal + /* AbsMask */ + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* OneHalf */ + .align 64 + .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 + /* SmallNorm */ + .align 64 + .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* Two */ + .align 64 + .quad 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000, 0x4000000000000000 + /* sqrt_coeff[4] */ + .align 64 + .quad 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3, 0xbf918000993B24C3 /* sqrt_coeff4 */ + .quad 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D, 0x3fa400006F70D42D /* sqrt_coeff3 */ + .quad 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97, 0xbfb7FFFFFFFFFE97 /* sqrt_coeff2 */ + .quad 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D, 0x3fcFFFFFFFFFFF9D /* sqrt_coeff1 */ + /* poly_coeff[12] */ + .align 64 + .quad 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909, 0x3fa07520C70EB909 /* poly_coeff12 */ + .quad 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED, 0xbf90FB17F7DBB0ED /* poly_coeff11 */ + .quad 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE, 0x3f943F44BFBC3BAE /* poly_coeff10 */ + .quad 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5, 0x3f7A583395D45ED5 /* poly_coeff9 */ + .quad 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6, 0x3f88F8DC2AFCCAD6 /* poly_coeff8 */ + .quad 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57, 0x3f8C6DBBCB88BD57 /* poly_coeff7 */ + .quad 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E, 0x3f91C6DCF538AD2E /* poly_coeff6 */ + .quad 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd, 0x3f96E89CEBDEFadd /* poly_coeff5 */ + .quad 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE, 0x3f9F1C72E13AD8BE /* poly_coeff4 */ + .quad 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8, 0x3fa6DB6DB3B445F8 /* poly_coeff3 */ + .quad 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE, 0x3fb333333337E0DE /* poly_coeff2 */ + .quad 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C, 0x3fc555555555529C /* poly_coeff1 */ + /* Pi2H */ + .align 64 + .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 + .align 64 + .type __svml_dasin_data_internal, @object + .size __svml_dasin_data_internal, .-__svml_dasin_data_internal From patchwork Mon Mar 7 15:00:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602343 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=oq9s0UOO; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2zP6r9Kz9sG4 for ; Tue, 8 Mar 2022 02:52:49 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 138A53858426 for ; Mon, 7 Mar 2022 15:52:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 138A53858426 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668368; bh=K6i2DoTNn7UbGn6GJfnBDp0bJEh3v31+O1t8nlb0JAk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=oq9s0UOOsKAx3bUfL9Dw69NdsI2sYxB35s+n7IywhHRsBNQgm4aEQaT03NzDuU17G bCFIdHpY4+hFoddiX4jXlUqOzPnwcOeVyVdjfEA2D/M8kO1VN282wpdQMnGRkihkKy CzBHGwfkB7wm6gqFl8Yj+/y11jda8X6jPJYPeU2c= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id CF079385842B for ; Mon, 7 Mar 2022 15:02:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CF079385842B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017229" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017229" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="512708609" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga006.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dr016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 019/126] x86_64: Fix svml_s_asinhf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:14 -0800 Message-Id: <20220307150201.10590-20-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_asinhf16_core_avx512.S | 739 +++++++++--------- 1 file changed, 369 insertions(+), 370 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S index 3cd80db578..6b569ecf41 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf16_core_avx512.S @@ -34,443 +34,442 @@ /* Offsets for data table __svml_sasinh_data_internal_avx512 */ -#define Log_tbl_H 0 -#define Log_tbl_L 128 -#define One 256 -#define AbsMask 320 -#define SmallThreshold 384 -#define Threshold 448 -#define LargeThreshold 512 -#define ca1 576 -#define c2s 640 -#define c1s 704 -#define AddB5 768 -#define RcpBitMask 832 -#define OneEighth 896 -#define Four 960 -#define poly_coeff3 1024 -#define poly_coeff2 1088 -#define poly_coeff1 1152 -#define L2H 1216 -#define L2L 1280 +#define Log_tbl_H 0 +#define Log_tbl_L 128 +#define One 256 +#define AbsMask 320 +#define SmallThreshold 384 +#define Threshold 448 +#define LargeThreshold 512 +#define ca1 576 +#define c2s 640 +#define c1s 704 +#define AddB5 768 +#define RcpBitMask 832 +#define OneEighth 896 +#define Four 960 +#define poly_coeff3 1024 +#define poly_coeff2 1088 +#define poly_coeff1 1152 +#define L2H 1216 +#define L2L 1280 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_asinhf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovaps %zmm0, %zmm10 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm10 -/* x^2 */ - vmulps {rn-sae}, %zmm10, %zmm10, %zmm0 - vmovups One+__svml_sasinh_data_internal_avx512(%rip), %zmm2 + /* x^2 */ + vmulps {rn-sae}, %zmm10, %zmm10, %zmm0 + vmovups One+__svml_sasinh_data_internal_avx512(%rip), %zmm2 -/* polynomial computation for small inputs */ - vmovups ca1+__svml_sasinh_data_internal_avx512(%rip), %zmm1 + /* polynomial computation for small inputs */ + vmovups ca1+__svml_sasinh_data_internal_avx512(%rip), %zmm1 -/* not a very small input ? */ - vmovups SmallThreshold+__svml_sasinh_data_internal_avx512(%rip), %zmm11 + /* not a very small input ? */ + vmovups SmallThreshold+__svml_sasinh_data_internal_avx512(%rip), %zmm11 -/* 1+x^2 */ - vaddps {rn-sae}, %zmm2, %zmm0, %zmm7 + /* 1+x^2 */ + vaddps {rn-sae}, %zmm2, %zmm0, %zmm7 -/* |input| */ - vandps AbsMask+__svml_sasinh_data_internal_avx512(%rip), %zmm10, %zmm12 + /* |input| */ + vandps AbsMask+__svml_sasinh_data_internal_avx512(%rip), %zmm10, %zmm12 -/* A=max(x^2, 1); */ - vmaxps {sae}, %zmm0, %zmm2, %zmm14 - vrsqrt14ps %zmm7, %zmm8 + /* A=max(x^2, 1); */ + vmaxps {sae}, %zmm0, %zmm2, %zmm14 + vrsqrt14ps %zmm7, %zmm8 -/* B=min(x^2, 1); */ - vminps {sae}, %zmm0, %zmm2, %zmm15 - vcmpps $21, {sae}, %zmm11, %zmm12, %k2 + /* B=min(x^2, 1); */ + vminps {sae}, %zmm0, %zmm2, %zmm15 + vcmpps $21, {sae}, %zmm11, %zmm12, %k2 -/* B_high */ - vsubps {rn-sae}, %zmm14, %zmm7, %zmm9 + /* B_high */ + vsubps {rn-sae}, %zmm14, %zmm7, %zmm9 -/* sign bit */ - vxorps %zmm10, %zmm12, %zmm13 + /* sign bit */ + vxorps %zmm10, %zmm12, %zmm13 -/* Sh ~sqrt(1+x^2) */ - vmulps {rn-sae}, %zmm8, %zmm7, %zmm6 - vmovups LargeThreshold+__svml_sasinh_data_internal_avx512(%rip), %zmm14 + /* Sh ~sqrt(1+x^2) */ + vmulps {rn-sae}, %zmm8, %zmm7, %zmm6 + vmovups LargeThreshold+__svml_sasinh_data_internal_avx512(%rip), %zmm14 -/* B_low */ - vsubps {rn-sae}, %zmm9, %zmm15, %zmm3 + /* B_low */ + vsubps {rn-sae}, %zmm9, %zmm15, %zmm3 -/* Sh+x */ - vaddps {rn-sae}, %zmm12, %zmm6, %zmm15 + /* Sh+x */ + vaddps {rn-sae}, %zmm12, %zmm6, %zmm15 -/* (Yh*R0)_low */ - vfmsub213ps {rn-sae}, %zmm6, %zmm8, %zmm7 - vmulps {rn-sae}, %zmm1, %zmm0, %zmm9 - vcmpps $22, {sae}, %zmm14, %zmm12, %k0 - vmovups c1s+__svml_sasinh_data_internal_avx512(%rip), %zmm1 + /* (Yh*R0)_low */ + vfmsub213ps {rn-sae}, %zmm6, %zmm8, %zmm7 + vmulps {rn-sae}, %zmm1, %zmm0, %zmm9 + vcmpps $22, {sae}, %zmm14, %zmm12, %k0 + vmovups c1s+__svml_sasinh_data_internal_avx512(%rip), %zmm1 -/* polynomial computation for small inputs */ - vfmadd213ps {rn-sae}, %zmm12, %zmm12, %zmm9 - kmovw %k0, %edx + /* polynomial computation for small inputs */ + vfmadd213ps {rn-sae}, %zmm12, %zmm12, %zmm9 + kmovw %k0, %edx -/* (x^2)_low */ - vmovaps %zmm10, %zmm4 - vfmsub213ps {rn-sae}, %zmm0, %zmm10, %zmm4 + /* (x^2)_low */ + vmovaps %zmm10, %zmm4 + vfmsub213ps {rn-sae}, %zmm0, %zmm10, %zmm4 -/* Yl = (x^2)_low + B_low */ - vaddps {rn-sae}, %zmm4, %zmm3, %zmm5 + /* Yl = (x^2)_low + B_low */ + vaddps {rn-sae}, %zmm4, %zmm3, %zmm5 -/* rel. error term: Eh=1-Sh*R0 */ - vmovaps %zmm2, %zmm0 - vfnmadd231ps {rn-sae}, %zmm6, %zmm8, %zmm0 + /* rel. error term: Eh=1-Sh*R0 */ + vmovaps %zmm2, %zmm0 + vfnmadd231ps {rn-sae}, %zmm6, %zmm8, %zmm0 -/* Sl = (Yh*R0)_low+(R0*Yl) */ - vfmadd213ps {rn-sae}, %zmm7, %zmm8, %zmm5 + /* Sl = (Yh*R0)_low+(R0*Yl) */ + vfmadd213ps {rn-sae}, %zmm7, %zmm8, %zmm5 -/* very large inputs ? */ - vmovups Threshold+__svml_sasinh_data_internal_avx512(%rip), %zmm7 + /* very large inputs ? */ + vmovups Threshold+__svml_sasinh_data_internal_avx512(%rip), %zmm7 -/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ - vfnmadd231ps {rn-sae}, %zmm5, %zmm8, %zmm0 + /* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ + vfnmadd231ps {rn-sae}, %zmm5, %zmm8, %zmm0 -/* sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s */ - vmovups c2s+__svml_sasinh_data_internal_avx512(%rip), %zmm8 - vcmpps $21, {sae}, %zmm7, %zmm12, %k1 + /* sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s */ + vmovups c2s+__svml_sasinh_data_internal_avx512(%rip), %zmm8 + vcmpps $21, {sae}, %zmm7, %zmm12, %k1 -/* Sh*Eh */ - vmulps {rn-sae}, %zmm0, %zmm6, %zmm4 - vfmadd231ps {rn-sae}, %zmm0, %zmm8, %zmm1 + /* Sh*Eh */ + vmulps {rn-sae}, %zmm0, %zmm6, %zmm4 + vfmadd231ps {rn-sae}, %zmm0, %zmm8, %zmm1 -/* Sl + Sh*Eh*poly_s */ - vfmadd213ps {rn-sae}, %zmm5, %zmm1, %zmm4 + /* Sl + Sh*Eh*poly_s */ + vfmadd213ps {rn-sae}, %zmm5, %zmm1, %zmm4 -/* Xh */ - vsubps {rn-sae}, %zmm6, %zmm15, %zmm5 + /* Xh */ + vsubps {rn-sae}, %zmm6, %zmm15, %zmm5 -/* fixup for very large inputs */ - vmovups OneEighth+__svml_sasinh_data_internal_avx512(%rip), %zmm6 + /* fixup for very large inputs */ + vmovups OneEighth+__svml_sasinh_data_internal_avx512(%rip), %zmm6 -/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ - vaddps {rn-sae}, %zmm4, %zmm15, %zmm3 + /* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ + vaddps {rn-sae}, %zmm4, %zmm15, %zmm3 -/* Xl */ - vsubps {rn-sae}, %zmm5, %zmm12, %zmm5 + /* Xl */ + vsubps {rn-sae}, %zmm5, %zmm12, %zmm5 -/* Sl_high */ - vsubps {rn-sae}, %zmm15, %zmm3, %zmm0 - vmulps {rn-sae}, %zmm6, %zmm12, %zmm3{%k1} + /* Sl_high */ + vsubps {rn-sae}, %zmm15, %zmm3, %zmm0 + vmulps {rn-sae}, %zmm6, %zmm12, %zmm3{%k1} -/* -K*L2H + Th */ - vmovups L2H+__svml_sasinh_data_internal_avx512(%rip), %zmm15 + /* -K*L2H + Th */ + vmovups L2H+__svml_sasinh_data_internal_avx512(%rip), %zmm15 -/* Sl_l */ - vsubps {rn-sae}, %zmm0, %zmm4, %zmm1 - vrcp14ps %zmm3, %zmm6 + /* Sl_l */ + vsubps {rn-sae}, %zmm0, %zmm4, %zmm1 + vrcp14ps %zmm3, %zmm6 -/* Table lookups */ - vmovups __svml_sasinh_data_internal_avx512(%rip), %zmm0 + /* Table lookups */ + vmovups __svml_sasinh_data_internal_avx512(%rip), %zmm0 -/* Xin_low */ - vaddps {rn-sae}, %zmm5, %zmm1, %zmm7 + /* Xin_low */ + vaddps {rn-sae}, %zmm5, %zmm1, %zmm7 -/* round reciprocal to 1+4b mantissas */ - vpaddd AddB5+__svml_sasinh_data_internal_avx512(%rip), %zmm6, %zmm4 - vmovups poly_coeff1+__svml_sasinh_data_internal_avx512(%rip), %zmm5 - vandps RcpBitMask+__svml_sasinh_data_internal_avx512(%rip), %zmm4, %zmm8 + /* round reciprocal to 1+4b mantissas */ + vpaddd AddB5+__svml_sasinh_data_internal_avx512(%rip), %zmm6, %zmm4 + vmovups poly_coeff1+__svml_sasinh_data_internal_avx512(%rip), %zmm5 + vandps RcpBitMask+__svml_sasinh_data_internal_avx512(%rip), %zmm4, %zmm8 -/* fixup for very large inputs */ - vxorps %zmm7, %zmm7, %zmm7{%k1} + /* fixup for very large inputs */ + vxorps %zmm7, %zmm7, %zmm7{%k1} -/* polynomial */ - vmovups poly_coeff3+__svml_sasinh_data_internal_avx512(%rip), %zmm4 + /* polynomial */ + vmovups poly_coeff3+__svml_sasinh_data_internal_avx512(%rip), %zmm4 -/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ - vfmsub231ps {rn-sae}, %zmm8, %zmm3, %zmm2 - vmovups Four+__svml_sasinh_data_internal_avx512(%rip), %zmm3 + /* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ + vfmsub231ps {rn-sae}, %zmm8, %zmm3, %zmm2 + vmovups Four+__svml_sasinh_data_internal_avx512(%rip), %zmm3 -/* exponents */ - vgetexpps {sae}, %zmm8, %zmm1 + /* exponents */ + vgetexpps {sae}, %zmm8, %zmm1 -/* Prepare table index */ - vpsrld $18, %zmm8, %zmm14 - vfmadd231ps {rn-sae}, %zmm8, %zmm7, %zmm2 - vmovups poly_coeff2+__svml_sasinh_data_internal_avx512(%rip), %zmm7 - vsubps {rn-sae}, %zmm3, %zmm1, %zmm1{%k1} - vpermt2ps Log_tbl_H+64+__svml_sasinh_data_internal_avx512(%rip), %zmm14, %zmm0 - vmovups Log_tbl_L+__svml_sasinh_data_internal_avx512(%rip), %zmm3 - vfmadd231ps {rn-sae}, %zmm2, %zmm4, %zmm7 - vfnmadd231ps {rn-sae}, %zmm1, %zmm15, %zmm0 + /* Prepare table index */ + vpsrld $18, %zmm8, %zmm14 + vfmadd231ps {rn-sae}, %zmm8, %zmm7, %zmm2 + vmovups poly_coeff2+__svml_sasinh_data_internal_avx512(%rip), %zmm7 + vsubps {rn-sae}, %zmm3, %zmm1, %zmm1{%k1} + vpermt2ps Log_tbl_H+64+__svml_sasinh_data_internal_avx512(%rip), %zmm14, %zmm0 + vmovups Log_tbl_L+__svml_sasinh_data_internal_avx512(%rip), %zmm3 + vfmadd231ps {rn-sae}, %zmm2, %zmm4, %zmm7 + vfnmadd231ps {rn-sae}, %zmm1, %zmm15, %zmm0 -/* R^2 */ - vmulps {rn-sae}, %zmm2, %zmm2, %zmm6 - vfmadd213ps {rn-sae}, %zmm5, %zmm2, %zmm7 - vpermt2ps Log_tbl_L+64+__svml_sasinh_data_internal_avx512(%rip), %zmm14, %zmm3 + /* R^2 */ + vmulps {rn-sae}, %zmm2, %zmm2, %zmm6 + vfmadd213ps {rn-sae}, %zmm5, %zmm2, %zmm7 + vpermt2ps Log_tbl_L+64+__svml_sasinh_data_internal_avx512(%rip), %zmm14, %zmm3 -/* -K*L2L + Tl */ - vmovups L2L+__svml_sasinh_data_internal_avx512(%rip), %zmm14 - vfnmadd213ps {rn-sae}, %zmm3, %zmm14, %zmm1 + /* -K*L2L + Tl */ + vmovups L2L+__svml_sasinh_data_internal_avx512(%rip), %zmm14 + vfnmadd213ps {rn-sae}, %zmm3, %zmm14, %zmm1 -/* Tl + R^2*Poly */ - vfmadd213ps {rn-sae}, %zmm1, %zmm6, %zmm7 + /* Tl + R^2*Poly */ + vfmadd213ps {rn-sae}, %zmm1, %zmm6, %zmm7 -/* R+Tl + R^2*Poly */ - vaddps {rn-sae}, %zmm2, %zmm7, %zmm2 - vaddps {rn-sae}, %zmm2, %zmm0, %zmm9{%k2} - vxorps %zmm13, %zmm9, %zmm0 - testl %edx, %edx + /* R+Tl + R^2*Poly */ + vaddps {rn-sae}, %zmm2, %zmm7, %zmm2 + vaddps {rn-sae}, %zmm2, %zmm0, %zmm9{%k2} + vxorps %zmm13, %zmm9, %zmm0 + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm10 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm10 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm10, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm10, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call asinhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call asinhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_asinhf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_sasinh_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl_H[32][1]; - __declspec(align(64)) VUINT32 Log_tbl_L[32][1]; - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 AbsMask[16][1]; - __declspec(align(64)) VUINT32 SmallThreshold[16][1]; - __declspec(align(64)) VUINT32 Threshold[16][1]; - __declspec(align(64)) VUINT32 LargeThreshold[16][1]; - __declspec(align(64)) VUINT32 ca1[16][1]; - __declspec(align(64)) VUINT32 c2s[16][1]; - __declspec(align(64)) VUINT32 c1s[16][1]; - __declspec(align(64)) VUINT32 AddB5[16][1]; - __declspec(align(64)) VUINT32 RcpBitMask[16][1]; - __declspec(align(64)) VUINT32 OneEighth[16][1]; - __declspec(align(64)) VUINT32 Four[16][1]; - __declspec(align(64)) VUINT32 poly_coeff3[16][1]; - __declspec(align(64)) VUINT32 poly_coeff2[16][1]; - __declspec(align(64)) VUINT32 poly_coeff1[16][1]; - __declspec(align(64)) VUINT32 L2H[16][1]; - __declspec(align(64)) VUINT32 L2L[16][1]; - } __svml_sasinh_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl_H[32][1]; + __declspec(align(64)) VUINT32 Log_tbl_L[32][1]; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 AbsMask[16][1]; + __declspec(align(64)) VUINT32 SmallThreshold[16][1]; + __declspec(align(64)) VUINT32 Threshold[16][1]; + __declspec(align(64)) VUINT32 LargeThreshold[16][1]; + __declspec(align(64)) VUINT32 ca1[16][1]; + __declspec(align(64)) VUINT32 c2s[16][1]; + __declspec(align(64)) VUINT32 c1s[16][1]; + __declspec(align(64)) VUINT32 AddB5[16][1]; + __declspec(align(64)) VUINT32 RcpBitMask[16][1]; + __declspec(align(64)) VUINT32 OneEighth[16][1]; + __declspec(align(64)) VUINT32 Four[16][1]; + __declspec(align(64)) VUINT32 poly_coeff3[16][1]; + __declspec(align(64)) VUINT32 poly_coeff2[16][1]; + __declspec(align(64)) VUINT32 poly_coeff1[16][1]; + __declspec(align(64)) VUINT32 L2H[16][1]; + __declspec(align(64)) VUINT32 L2L[16][1]; +} __svml_sasinh_data_internal_avx512; #endif __svml_sasinh_data_internal_avx512: - /*== Log_tbl_H ==*/ - .long 0x00000000 - .long 0xbcfc0000 - .long 0xbd788000 - .long 0xbdb78000 - .long 0xbdf14000 - .long 0xbe14a000 - .long 0xbe300000 - .long 0xbe4aa000 - .long 0xbe648000 - .long 0xbe7dc000 - .long 0xbe8b4000 - .long 0xbe974000 - .long 0xbea31000 - .long 0xbeae9000 - .long 0xbeb9d000 - .long 0xbec4d000 - .long 0xbecfa000 - .long 0xbeda2000 - .long 0xbee48000 - .long 0xbeeea000 - .long 0xbef89000 - .long 0xbf012800 - .long 0xbf05f000 - .long 0xbf0aa800 - .long 0xbf0f4000 - .long 0xbf13c800 - .long 0xbf184000 - .long 0xbf1ca000 - .long 0xbf20f000 - .long 0xbf252800 - .long 0xbf295000 - .long 0xbf2d6800 - /*== Log_tbl_L ==*/ - .align 64 - .long 0x80000000 - .long 0xb726c39e - .long 0x3839e7fe - .long 0xb7528ae5 - .long 0x377891d5 - .long 0xb8297c10 - .long 0x37cf8f58 - .long 0x3852b186 - .long 0x35838656 - .long 0xb80c36af - .long 0x38235454 - .long 0xb862bae1 - .long 0x37e87bc7 - .long 0x37848150 - .long 0x37202511 - .long 0xb74e1b05 - .long 0x385c1340 - .long 0xb8777bcd - .long 0x36038656 - .long 0xb7d40984 - .long 0xb80f5faf - .long 0xb8254b4c - .long 0xb865c84a - .long 0x37f0b42d - .long 0xb83ebce1 - .long 0xb83c2513 - .long 0x37a332c4 - .long 0x3779654f - .long 0x38602f73 - .long 0x367449f8 - .long 0xb7b4996f - .long 0xb800986b - /*== One ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== AbsMask ==*/ - .align 64 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== SmallThreshold ==*/ - .align 64 - .long 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000 - /*== Threshold ==*/ - .align 64 - .long 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000 - /*== LargeThreshold ==*/ - .align 64 - .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff - /*== ca1 ==*/ - .align 64 - .long 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE - /*== c2s ==*/ - .align 64 - .long 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000 - /*== c1s ==*/ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== AddB5 ==*/ - .align 64 - .long 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000 - /*== RcpBitMask ==*/ - .align 64 - .long 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000 - /*==OneEighth ==*/ - .align 64 - .long 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000 - /*== Four ==*/ - .align 64 - .long 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000 - /*== poly_coeff3 ==*/ - .align 64 - .long 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810 - /*== poly_coeff2 ==*/ - .align 64 - .long 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e - /*== poly_coeff1 ==*/ - .align 64 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .long 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000 - /*== L2L = log(2)_low ==*/ - .align 64 - .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 - .align 64 - .type __svml_sasinh_data_internal_avx512,@object - .size __svml_sasinh_data_internal_avx512,.-__svml_sasinh_data_internal_avx512 + /* Log_tbl_H */ + .long 0x00000000 + .long 0xbcfc0000 + .long 0xbd788000 + .long 0xbdb78000 + .long 0xbdf14000 + .long 0xbe14a000 + .long 0xbe300000 + .long 0xbe4aa000 + .long 0xbe648000 + .long 0xbe7dc000 + .long 0xbe8b4000 + .long 0xbe974000 + .long 0xbea31000 + .long 0xbeae9000 + .long 0xbeb9d000 + .long 0xbec4d000 + .long 0xbecfa000 + .long 0xbeda2000 + .long 0xbee48000 + .long 0xbeeea000 + .long 0xbef89000 + .long 0xbf012800 + .long 0xbf05f000 + .long 0xbf0aa800 + .long 0xbf0f4000 + .long 0xbf13c800 + .long 0xbf184000 + .long 0xbf1ca000 + .long 0xbf20f000 + .long 0xbf252800 + .long 0xbf295000 + .long 0xbf2d6800 + /* Log_tbl_L */ + .align 64 + .long 0x80000000 + .long 0xb726c39e + .long 0x3839e7fe + .long 0xb7528ae5 + .long 0x377891d5 + .long 0xb8297c10 + .long 0x37cf8f58 + .long 0x3852b186 + .long 0x35838656 + .long 0xb80c36af + .long 0x38235454 + .long 0xb862bae1 + .long 0x37e87bc7 + .long 0x37848150 + .long 0x37202511 + .long 0xb74e1b05 + .long 0x385c1340 + .long 0xb8777bcd + .long 0x36038656 + .long 0xb7d40984 + .long 0xb80f5faf + .long 0xb8254b4c + .long 0xb865c84a + .long 0x37f0b42d + .long 0xb83ebce1 + .long 0xb83c2513 + .long 0x37a332c4 + .long 0x3779654f + .long 0x38602f73 + .long 0x367449f8 + .long 0xb7b4996f + .long 0xb800986b + /* One */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* AbsMask */ + .align 64 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* SmallThreshold */ + .align 64 + .long 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000, 0x3c800000 + /* Threshold */ + .align 64 + .long 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000, 0x5f000000 + /* LargeThreshold */ + .align 64 + .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff + /* ca1 */ + .align 64 + .long 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE, 0xbe2AA5DE + /* c2s */ + .align 64 + .long 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000, 0x3ec00000 + /* c1s */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + /* AddB5 */ + .align 64 + .long 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000 + /* RcpBitMask */ + .align 64 + .long 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000 + /* OneEighth */ + .align 64 + .long 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000, 0x3e000000 + /* Four */ + .align 64 + .long 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000, 0x40800000 + /* poly_coeff3 */ + .align 64 + .long 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810 + /* poly_coeff2 */ + .align 64 + .long 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e + /* poly_coeff1 */ + .align 64 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 + /* L2H = log(2)_high */ + .align 64 + .long 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000 + /* L2L = log(2)_low */ + .align 64 + .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 + .align 64 + .type __svml_sasinh_data_internal_avx512, @object + .size __svml_sasinh_data_internal_avx512, .-__svml_sasinh_data_internal_avx512 From patchwork Mon Mar 7 15:00:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602283 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=QkopQYOa; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2bG5NjKz9sFk for ; Tue, 8 Mar 2022 02:35:22 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D4865385842C for ; Mon, 7 Mar 2022 15:35:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D4865385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667320; bh=duUECh6U/xFzp/3NqXPsoZeDMjIt1NPDc+mkPuQwd4U=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=QkopQYOaC9geVPyTnJCP+sBkZtY9ra+WidvYgF5Qc8DXGYCP3HW1zLeGBjE1cg8lR UvZ74Be9XvqaIRlWkTNu+PZWreIdY7+ChAFj2ZdKC1GWaYzTj6Oc5j9F/cV0O1NFXb wEcyD/EoFkIODM6nzo6ihQ214YvsT4boCvFbvz0w= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 563473858008 for ; Mon, 7 Mar 2022 15:02:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 563473858008 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364113" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364113" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561708" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ds016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 020/126] x86_64: Fix svml_s_asinhf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:15 -0800 Message-Id: <20220307150201.10590-21-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_asinhf4_core_sse4.S | 895 +++++++++--------- 1 file changed, 447 insertions(+), 448 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S index 6b5c097e9c..26573bc6fe 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf4_core_sse4.S @@ -31,479 +31,478 @@ /* Offsets for data table __svml_sasinh_data_internal */ -#define SgnMask 0 -#define sOne 16 -#define sPoly 32 -#define iBrkValue 160 -#define iOffExpoMask 176 -#define sBigThreshold 192 -#define sC2 208 -#define sC3 224 -#define sHalf 240 -#define sLargestFinite 256 -#define sLittleThreshold 272 -#define sSign 288 -#define sThirtyOne 304 -#define sTopMask11 320 -#define sTopMask8 336 -#define XScale 352 -#define sLn2 368 +#define SgnMask 0 +#define sOne 16 +#define sPoly 32 +#define iBrkValue 160 +#define iOffExpoMask 176 +#define sBigThreshold 192 +#define sC2 208 +#define sC3 224 +#define sHalf 240 +#define sLargestFinite 256 +#define sLittleThreshold 272 +#define sSign 288 +#define sThirtyOne 304 +#define sTopMask11 320 +#define sTopMask8 336 +#define XScale 352 +#define sLn2 368 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_asinhf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm8 - -/* - * Split X into high and low parts, XHi (<= 11 bits) and XLo (<= 13 bits) - * We could use either X or |X| here, but it doesn't seem to matter - */ - movups sTopMask11+__svml_sasinh_data_internal(%rip), %xmm10 - movaps %xmm8, %xmm2 - andps %xmm8, %xmm10 - -/* - * Compute X^2 = (XHi + XLo)^2 = XHi^2 + XLo * (X + XHi) - * The two parts are shifted off by around 11 bits. So even though - * the low bit will not in general be exact, it's near enough - */ - movaps %xmm10, %xmm3 - subps %xmm10, %xmm2 - mulps %xmm10, %xmm3 - addps %xmm8, %xmm10 - -/* Load the constant 1 and a sign mask */ - movups sOne+__svml_sasinh_data_internal(%rip), %xmm7 - -/* - * Finally, express Y + W = X^2 + 1 accurately where Y has <= 8 bits. - * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 - * as the dominant component in the compensated summation. Otherwise, - * if |X| >= 1, then since X2Hi only has 22 significant bits, the basic - * addition will be exact anyway until we get to |X| >= 2^24. But by - * that time the log function is well-conditioned enough that the - * rounding error doesn't matter. Hence we can treat 1 as dominant even - * if it literally isn't. - */ - movaps %xmm7, %xmm11 - movaps %xmm7, %xmm4 - movups sTopMask8+__svml_sasinh_data_internal(%rip), %xmm12 - addps %xmm3, %xmm11 - mulps %xmm10, %xmm2 - subps %xmm11, %xmm4 - movaps %xmm12, %xmm0 - addps %xmm3, %xmm4 - -/* - * Unfortunately, we can still be in trouble if |X| <= 2^-5, since - * the absolute error 2^-(7+24)-ish in sqrt(1 + X^2) gets scaled up - * by 1/X and comes close to our threshold. Hence if |X| <= 2^-4, - * perform an alternative computation - * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 - * X2 = X^2 - */ - addps %xmm2, %xmm3 - addps %xmm2, %xmm4 - andps %xmm11, %xmm0 - -/* - * Compute R = 1/sqrt(Y + W) * (1 + d) - * Force R to <= 8 significant bits. - * This means that R * Y and R^2 * Y are exactly representable. - */ - rsqrtps %xmm0, %xmm14 - subps %xmm0, %xmm11 - andps %xmm12, %xmm14 - addps %xmm11, %xmm4 - -/* - * Compute S = (Y/sqrt(Y + W)) * (1 + d) - * and T = (W/sqrt(Y + W)) * (1 + d) - * so that S + T = sqrt(Y + W) * (1 + d) - * S is exact, and the rounding error in T is OK. - */ - mulps %xmm14, %xmm0 - mulps %xmm14, %xmm4 - -/* - * Get the absolute value of the input, since we will exploit antisymmetry - * and mostly assume X >= 0 in the core computation - */ - movups SgnMask+__svml_sasinh_data_internal(%rip), %xmm6 - -/* - * Compute e = -(2 * d + d^2) - * The first FMR is exact, and the rounding error in the other is acceptable - * since d and e are ~ 2^-8 - */ - movaps %xmm14, %xmm13 - andps %xmm8, %xmm6 - -/* - * Obtain sqrt(1 + X^2) - 1 in two pieces - * sqrt(1 + X^2) - 1 - * = sqrt(Y + W) - 1 - * = (S + T) * (1 + Corr) - 1 - * = [S - 1] + [T + (S + T) * Corr] - * We need a compensated summation for the last part. We treat S - 1 - * as the larger part; it certainly is until about X < 2^-4, and in that - * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 - * Final sum is dTmp5 (hi) + dTmp7 (lo) - */ - movaps %xmm0, %xmm1 - -/* - * Check whether the input is finite, by checking |X| <= MaxFloat - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) - */ - movaps %xmm6, %xmm9 - -/* - * The following computation can go wrong for very large X, basically - * because X^2 overflows. But for large X we have - * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when do do this. - */ - movaps %xmm6, %xmm5 - cmpnleps sLargestFinite+__svml_sasinh_data_internal(%rip), %xmm9 - cmpltps sBigThreshold+__svml_sasinh_data_internal(%rip), %xmm5 - mulps %xmm0, %xmm13 - addps %xmm4, %xmm1 - subps %xmm7, %xmm0 - mulps %xmm4, %xmm14 - movmskps %xmm9, %edx - movaps %xmm7, %xmm9 - -/* - * Now 1 / (1 + d) - * = 1 / (1 + (sqrt(1 - e) - 1)) - * = 1 / sqrt(1 - e) - * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... - * So compute the first three nonconstant terms of that, so that - * we have a relative correction (1 + Corr) to apply to S etc. - * C1 = 1/2 - * C2 = 3/8 - * C3 = 5/16 - */ - movups sC3+__svml_sasinh_data_internal(%rip), %xmm15 - subps %xmm13, %xmm9 - movups sHalf+__svml_sasinh_data_internal(%rip), %xmm10 - subps %xmm14, %xmm9 - -/* sX2over2 = X^2/2 */ - mulps %xmm10, %xmm3 - mulps %xmm9, %xmm15 - -/* sX46 = -X^4/4 + X^6/8 */ - movaps %xmm3, %xmm2 - movaps %xmm3, %xmm12 - -/* - * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. - * It's always safe to assume |X| is larger. - * This is the final 2-part argument to the log1p function - */ - movaps %xmm6, %xmm14 - addps sC2+__svml_sasinh_data_internal(%rip), %xmm15 - mulps %xmm9, %xmm15 - addps %xmm10, %xmm15 - mulps %xmm15, %xmm9 - mulps %xmm1, %xmm9 - -/* Now multiplex to the case X = 2^-30 * input, Xl = sL = 0 in the "big" case. */ - movups XScale+__svml_sasinh_data_internal(%rip), %xmm15 - addps %xmm9, %xmm4 - movaps %xmm4, %xmm11 - addps %xmm0, %xmm11 - subps %xmm11, %xmm0 - addps %xmm0, %xmm4 - -/* sX4over4 = X^4/4 */ - movaps %xmm3, %xmm0 - mulps %xmm3, %xmm0 - mulps %xmm0, %xmm2 - subps %xmm0, %xmm2 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - movaps %xmm7, %xmm0 - -/* sX46over2 = -X^4/8 + x^6/16 */ - mulps %xmm2, %xmm10 - movaps %xmm7, %xmm2 - addps %xmm10, %xmm12 - subps %xmm12, %xmm3 - addps %xmm3, %xmm10 - -/* Now multiplex the two possible computations */ - movaps %xmm6, %xmm3 - cmpleps sLittleThreshold+__svml_sasinh_data_internal(%rip), %xmm3 - movaps %xmm3, %xmm13 - andps %xmm3, %xmm12 - andnps %xmm11, %xmm13 - movaps %xmm3, %xmm1 - orps %xmm12, %xmm13 - andnps %xmm4, %xmm1 - andps %xmm3, %xmm10 - movaps %xmm6, %xmm4 - orps %xmm10, %xmm1 - addps %xmm13, %xmm14 - mulps %xmm15, %xmm6 - maxps %xmm14, %xmm0 - minps %xmm14, %xmm2 - subps %xmm14, %xmm4 - movaps %xmm0, %xmm3 - addps %xmm4, %xmm13 - addps %xmm2, %xmm3 - addps %xmm13, %xmm1 - subps %xmm3, %xmm0 - movaps %xmm5, %xmm4 - andps %xmm5, %xmm3 - andnps %xmm6, %xmm4 - addps %xmm0, %xmm2 - -/* - * Now resume the main code. - * reduction: compute r,n - */ - movdqu iBrkValue+__svml_sasinh_data_internal(%rip), %xmm6 - orps %xmm3, %xmm4 - psubd %xmm6, %xmm4 - movaps %xmm7, %xmm0 - addps %xmm2, %xmm1 - movdqu iOffExpoMask+__svml_sasinh_data_internal(%rip), %xmm2 - pand %xmm4, %xmm2 - psrad $23, %xmm4 - cvtdq2ps %xmm4, %xmm3 - pslld $23, %xmm4 - andps %xmm5, %xmm1 - paddd %xmm6, %xmm2 - psubd %xmm4, %xmm0 - mulps %xmm0, %xmm1 - -/* polynomial evaluation */ - subps %xmm7, %xmm2 - movups sPoly+112+__svml_sasinh_data_internal(%rip), %xmm7 - addps %xmm2, %xmm1 - mulps %xmm1, %xmm7 - movaps %xmm5, %xmm2 - -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - movups sThirtyOne+__svml_sasinh_data_internal(%rip), %xmm0 - addps sPoly+96+__svml_sasinh_data_internal(%rip), %xmm7 - addps %xmm3, %xmm0 - mulps %xmm1, %xmm7 - andnps %xmm0, %xmm2 - andps %xmm5, %xmm3 - orps %xmm3, %xmm2 - addps sPoly+80+__svml_sasinh_data_internal(%rip), %xmm7 - -/* final reconstruction */ - mulps sLn2+__svml_sasinh_data_internal(%rip), %xmm2 - mulps %xmm1, %xmm7 - -/* Finally, reincorporate the original sign. */ - movups sSign+__svml_sasinh_data_internal(%rip), %xmm0 - andps %xmm8, %xmm0 - addps sPoly+64+__svml_sasinh_data_internal(%rip), %xmm7 - mulps %xmm1, %xmm7 - addps sPoly+48+__svml_sasinh_data_internal(%rip), %xmm7 - mulps %xmm1, %xmm7 - addps sPoly+32+__svml_sasinh_data_internal(%rip), %xmm7 - mulps %xmm1, %xmm7 - addps sPoly+16+__svml_sasinh_data_internal(%rip), %xmm7 - mulps %xmm1, %xmm7 - addps sPoly+__svml_sasinh_data_internal(%rip), %xmm7 - mulps %xmm1, %xmm7 - mulps %xmm1, %xmm7 - addps %xmm7, %xmm1 - addps %xmm2, %xmm1 - pxor %xmm1, %xmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm8 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm8 + + /* + * Split X into high and low parts, XHi (<= 11 bits) and XLo (<= 13 bits) + * We could use either X or |X| here, but it doesn't seem to matter + */ + movups sTopMask11+__svml_sasinh_data_internal(%rip), %xmm10 + movaps %xmm8, %xmm2 + andps %xmm8, %xmm10 + + /* + * Compute X^2 = (XHi + XLo)^2 = XHi^2 + XLo * (X + XHi) + * The two parts are shifted off by around 11 bits. So even though + * the low bit will not in general be exact, it's near enough + */ + movaps %xmm10, %xmm3 + subps %xmm10, %xmm2 + mulps %xmm10, %xmm3 + addps %xmm8, %xmm10 + + /* Load the constant 1 and a sign mask */ + movups sOne+__svml_sasinh_data_internal(%rip), %xmm7 + + /* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 8 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 22 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^24. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + movaps %xmm7, %xmm11 + movaps %xmm7, %xmm4 + movups sTopMask8+__svml_sasinh_data_internal(%rip), %xmm12 + addps %xmm3, %xmm11 + mulps %xmm10, %xmm2 + subps %xmm11, %xmm4 + movaps %xmm12, %xmm0 + addps %xmm3, %xmm4 + + /* + * Unfortunately, we can still be in trouble if |X| <= 2^-5, since + * the absolute error 2^-(7+24)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-4, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + addps %xmm2, %xmm3 + addps %xmm2, %xmm4 + andps %xmm11, %xmm0 + + /* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + rsqrtps %xmm0, %xmm14 + subps %xmm0, %xmm11 + andps %xmm12, %xmm14 + addps %xmm11, %xmm4 + + /* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + mulps %xmm14, %xmm0 + mulps %xmm14, %xmm4 + + /* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + movups SgnMask+__svml_sasinh_data_internal(%rip), %xmm6 + + /* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + movaps %xmm14, %xmm13 + andps %xmm8, %xmm6 + + /* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + movaps %xmm0, %xmm1 + + /* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + movaps %xmm6, %xmm9 + + /* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + movaps %xmm6, %xmm5 + cmpnleps sLargestFinite+__svml_sasinh_data_internal(%rip), %xmm9 + cmpltps sBigThreshold+__svml_sasinh_data_internal(%rip), %xmm5 + mulps %xmm0, %xmm13 + addps %xmm4, %xmm1 + subps %xmm7, %xmm0 + mulps %xmm4, %xmm14 + movmskps %xmm9, %edx + movaps %xmm7, %xmm9 + + /* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + movups sC3+__svml_sasinh_data_internal(%rip), %xmm15 + subps %xmm13, %xmm9 + movups sHalf+__svml_sasinh_data_internal(%rip), %xmm10 + subps %xmm14, %xmm9 + + /* sX2over2 = X^2/2 */ + mulps %xmm10, %xmm3 + mulps %xmm9, %xmm15 + + /* sX46 = -X^4/4 + X^6/8 */ + movaps %xmm3, %xmm2 + movaps %xmm3, %xmm12 + + /* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + movaps %xmm6, %xmm14 + addps sC2+__svml_sasinh_data_internal(%rip), %xmm15 + mulps %xmm9, %xmm15 + addps %xmm10, %xmm15 + mulps %xmm15, %xmm9 + mulps %xmm1, %xmm9 + + /* Now multiplex to the case X = 2^-30 * input, Xl = sL = 0 in the "big" case. */ + movups XScale+__svml_sasinh_data_internal(%rip), %xmm15 + addps %xmm9, %xmm4 + movaps %xmm4, %xmm11 + addps %xmm0, %xmm11 + subps %xmm11, %xmm0 + addps %xmm0, %xmm4 + + /* sX4over4 = X^4/4 */ + movaps %xmm3, %xmm0 + mulps %xmm3, %xmm0 + mulps %xmm0, %xmm2 + subps %xmm0, %xmm2 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm7, %xmm0 + + /* sX46over2 = -X^4/8 + x^6/16 */ + mulps %xmm2, %xmm10 + movaps %xmm7, %xmm2 + addps %xmm10, %xmm12 + subps %xmm12, %xmm3 + addps %xmm3, %xmm10 + + /* Now multiplex the two possible computations */ + movaps %xmm6, %xmm3 + cmpleps sLittleThreshold+__svml_sasinh_data_internal(%rip), %xmm3 + movaps %xmm3, %xmm13 + andps %xmm3, %xmm12 + andnps %xmm11, %xmm13 + movaps %xmm3, %xmm1 + orps %xmm12, %xmm13 + andnps %xmm4, %xmm1 + andps %xmm3, %xmm10 + movaps %xmm6, %xmm4 + orps %xmm10, %xmm1 + addps %xmm13, %xmm14 + mulps %xmm15, %xmm6 + maxps %xmm14, %xmm0 + minps %xmm14, %xmm2 + subps %xmm14, %xmm4 + movaps %xmm0, %xmm3 + addps %xmm4, %xmm13 + addps %xmm2, %xmm3 + addps %xmm13, %xmm1 + subps %xmm3, %xmm0 + movaps %xmm5, %xmm4 + andps %xmm5, %xmm3 + andnps %xmm6, %xmm4 + addps %xmm0, %xmm2 + + /* + * Now resume the main code. + * reduction: compute r, n + */ + movdqu iBrkValue+__svml_sasinh_data_internal(%rip), %xmm6 + orps %xmm3, %xmm4 + psubd %xmm6, %xmm4 + movaps %xmm7, %xmm0 + addps %xmm2, %xmm1 + movdqu iOffExpoMask+__svml_sasinh_data_internal(%rip), %xmm2 + pand %xmm4, %xmm2 + psrad $23, %xmm4 + cvtdq2ps %xmm4, %xmm3 + pslld $23, %xmm4 + andps %xmm5, %xmm1 + paddd %xmm6, %xmm2 + psubd %xmm4, %xmm0 + mulps %xmm0, %xmm1 + + /* polynomial evaluation */ + subps %xmm7, %xmm2 + movups sPoly+112+__svml_sasinh_data_internal(%rip), %xmm7 + addps %xmm2, %xmm1 + mulps %xmm1, %xmm7 + movaps %xmm5, %xmm2 + + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups sThirtyOne+__svml_sasinh_data_internal(%rip), %xmm0 + addps sPoly+96+__svml_sasinh_data_internal(%rip), %xmm7 + addps %xmm3, %xmm0 + mulps %xmm1, %xmm7 + andnps %xmm0, %xmm2 + andps %xmm5, %xmm3 + orps %xmm3, %xmm2 + addps sPoly+80+__svml_sasinh_data_internal(%rip), %xmm7 + + /* final reconstruction */ + mulps sLn2+__svml_sasinh_data_internal(%rip), %xmm2 + mulps %xmm1, %xmm7 + + /* Finally, reincorporate the original sign. */ + movups sSign+__svml_sasinh_data_internal(%rip), %xmm0 + andps %xmm8, %xmm0 + addps sPoly+64+__svml_sasinh_data_internal(%rip), %xmm7 + mulps %xmm1, %xmm7 + addps sPoly+48+__svml_sasinh_data_internal(%rip), %xmm7 + mulps %xmm1, %xmm7 + addps sPoly+32+__svml_sasinh_data_internal(%rip), %xmm7 + mulps %xmm1, %xmm7 + addps sPoly+16+__svml_sasinh_data_internal(%rip), %xmm7 + mulps %xmm1, %xmm7 + addps sPoly+__svml_sasinh_data_internal(%rip), %xmm7 + mulps %xmm1, %xmm7 + mulps %xmm1, %xmm7 + addps %xmm7, %xmm1 + addps %xmm2, %xmm1 + pxor %xmm1, %xmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm8 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm8, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm8, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call asinhf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call asinhf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_asinhf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_sasinh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 SgnMask[4][1]; - __declspec(align(16)) VUINT32 sOne[4][1]; - __declspec(align(16)) VUINT32 sPoly[8][4][1]; - __declspec(align(16)) VUINT32 iBrkValue[4][1]; - __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; - __declspec(align(16)) VUINT32 sBigThreshold[4][1]; - __declspec(align(16)) VUINT32 sC2[4][1]; - __declspec(align(16)) VUINT32 sC3[4][1]; - __declspec(align(16)) VUINT32 sHalf[4][1]; - __declspec(align(16)) VUINT32 sLargestFinite[4][1]; - __declspec(align(16)) VUINT32 sLittleThreshold[4][1]; - __declspec(align(16)) VUINT32 sSign[4][1]; - __declspec(align(16)) VUINT32 sThirtyOne[4][1]; - __declspec(align(16)) VUINT32 sTopMask11[4][1]; - __declspec(align(16)) VUINT32 sTopMask8[4][1]; - __declspec(align(16)) VUINT32 XScale[4][1]; - __declspec(align(16)) VUINT32 sLn2[4][1]; + __declspec(align(16)) VUINT32 SgnMask[4][1]; + __declspec(align(16)) VUINT32 sOne[4][1]; + __declspec(align(16)) VUINT32 sPoly[8][4][1]; + __declspec(align(16)) VUINT32 iBrkValue[4][1]; + __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; + __declspec(align(16)) VUINT32 sBigThreshold[4][1]; + __declspec(align(16)) VUINT32 sC2[4][1]; + __declspec(align(16)) VUINT32 sC3[4][1]; + __declspec(align(16)) VUINT32 sHalf[4][1]; + __declspec(align(16)) VUINT32 sLargestFinite[4][1]; + __declspec(align(16)) VUINT32 sLittleThreshold[4][1]; + __declspec(align(16)) VUINT32 sSign[4][1]; + __declspec(align(16)) VUINT32 sThirtyOne[4][1]; + __declspec(align(16)) VUINT32 sTopMask11[4][1]; + __declspec(align(16)) VUINT32 sTopMask8[4][1]; + __declspec(align(16)) VUINT32 XScale[4][1]; + __declspec(align(16)) VUINT32 sLn2[4][1]; } __svml_sasinh_data_internal; #endif __svml_sasinh_data_internal: - /*== SgnMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== sOne = SP 1.0 ==*/ - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 16 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iBrkValue = SP 2/3 ==*/ - .align 16 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 16 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sBigThreshold ==*/ - .align 16 - .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 - /*== sC2 ==*/ - .align 16 - .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 - /*== sC3 ==*/ - .align 16 - .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 - /*== sHalf ==*/ - .align 16 - .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 - /*== sLargestFinite ==*/ - .align 16 - .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF - /*== sLittleThreshold ==*/ - .align 16 - .long 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000 - /*== sSign ==*/ - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 - /*== sThirtyOne ==*/ - .align 16 - .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 - /*== sTopMask11 ==*/ - .align 16 - .long 0xFFFFE000, 0xFFFFE000, 0xFFFFE000, 0xFFFFE000 - /*== sTopMask8 ==*/ - .align 16 - .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 - /*== XScale ==*/ - .align 16 - .long 0x30800000, 0x30800000, 0x30800000, 0x30800000 - /*== sLn2 = SP ln(2) ==*/ - .align 16 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 16 - .type __svml_sasinh_data_internal,@object - .size __svml_sasinh_data_internal,.-__svml_sasinh_data_internal + /* SgnMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* sOne = SP 1.0 */ + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 16 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iBrkValue = SP 2/3 */ + .align 16 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 16 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sBigThreshold */ + .align 16 + .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 + /* sC2 */ + .align 16 + .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 + /* sC3 */ + .align 16 + .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 + /* sHalf */ + .align 16 + .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 + /* sLargestFinite */ + .align 16 + .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF + /* sLittleThreshold */ + .align 16 + .long 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000 + /* sSign */ + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 + /* sThirtyOne */ + .align 16 + .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 + /* sTopMask11 */ + .align 16 + .long 0xFFFFE000, 0xFFFFE000, 0xFFFFE000, 0xFFFFE000 + /* sTopMask8 */ + .align 16 + .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 + /* XScale */ + .align 16 + .long 0x30800000, 0x30800000, 0x30800000, 0x30800000 + /* sLn2 = SP ln(2) */ + .align 16 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 16 + .type __svml_sasinh_data_internal, @object + .size __svml_sasinh_data_internal, .-__svml_sasinh_data_internal From patchwork Mon Mar 7 15:00:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602269 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=n7I2P5LN; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2PN3rQcz9sFk for ; Tue, 8 Mar 2022 02:26:48 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9F74E3858423 for ; Mon, 7 Mar 2022 15:26:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9F74E3858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666805; bh=rV7D1PiWDoXyK4/TamI6M6pK3SEl5nwIG/8OJiYO2Ps=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=n7I2P5LNXWhKN6t9gKIFUWCZk6nuhTjbz2ffp6k9soXSsT0RDp+5vjz5V1SGBsmMZ UpboYwAu3WxM+8ulYvLv2YwDbtQGx/Fp0xwCrG3DpeZWcHp8IeVtRSqPA/V9um0Ax+ DNN6GmItg93793smXLMVR23HsnJODM/3ISKj9l08= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id ADCE73858428 for ; Mon, 7 Mar 2022 15:02:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org ADCE73858428 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138348" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138348" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="577627343" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga001.jf.intel.com with ESMTP; 07 Mar 2022 07:02:03 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dt016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 021/126] x86_64: Fix svml_s_asinhf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:16 -0800 Message-Id: <20220307150201.10590-22-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_asinhf8_core_avx2.S | 793 +++++++++--------- 1 file changed, 396 insertions(+), 397 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S index bd3138dc01..794030a481 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_asinhf8_core_avx2.S @@ -31,427 +31,426 @@ /* Offsets for data table __svml_sasinh_data_internal */ -#define SgnMask 0 -#define sOne 32 -#define sPoly 64 -#define iBrkValue 320 -#define iOffExpoMask 352 -#define sBigThreshold 384 -#define sC2 416 -#define sC3 448 -#define sHalf 480 -#define sLargestFinite 512 -#define sLittleThreshold 544 -#define sSign 576 -#define sThirtyOne 608 -#define sTopMask8 640 -#define XScale 672 -#define sLn2 704 +#define SgnMask 0 +#define sOne 32 +#define sPoly 64 +#define iBrkValue 320 +#define iOffExpoMask 352 +#define sBigThreshold 384 +#define sC2 416 +#define sC3 448 +#define sHalf 480 +#define sLargestFinite 512 +#define sLittleThreshold 544 +#define sSign 576 +#define sThirtyOne 608 +#define sTopMask8 640 +#define XScale 672 +#define sLn2 704 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_asinhf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovaps %ymm0, %ymm9 - -/* Load the constant 1 and a sign mask */ - vmovups sOne+__svml_sasinh_data_internal(%rip), %ymm8 - -/* No need to split X when FMA is available in hardware. */ - vmulps %ymm9, %ymm9, %ymm5 - vmovups sTopMask8+__svml_sasinh_data_internal(%rip), %ymm1 - -/* - * Finally, express Y + W = X^2 + 1 accurately where Y has <= 8 bits. - * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 - * as the dominant component in the compensated summation. Otherwise, - * if |X| >= 1, then since X2Hi only has 22 significant bits, the basic - * addition will be exact anyway until we get to |X| >= 2^24. But by - * that time the log function is well-conditioned enough that the - * rounding error doesn't matter. Hence we can treat 1 as dominant even - * if it literally isn't. - */ - vaddps %ymm5, %ymm8, %ymm13 - vandps %ymm1, %ymm13, %ymm2 - vmovaps %ymm9, %ymm4 - vsubps %ymm13, %ymm8, %ymm11 - vsubps %ymm2, %ymm13, %ymm15 - -/* - * Compute R = 1/sqrt(Y + W) * (1 + d) - * Force R to <= 8 significant bits. - * This means that R * Y and R^2 * Y are exactly representable. - */ - vrsqrtps %ymm2, %ymm0 - vfmsub213ps %ymm5, %ymm9, %ymm4 - vaddps %ymm11, %ymm5, %ymm12 - -/* - * Get the absolute value of the input, since we will exploit antisymmetry - * and mostly assume X >= 0 in the core computation - */ - vandps SgnMask+__svml_sasinh_data_internal(%rip), %ymm9, %ymm6 - -/* - * Check whether the input is finite, by checking |X| <= MaxFloat - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) - */ - vcmpnle_uqps sLargestFinite+__svml_sasinh_data_internal(%rip), %ymm6, %ymm10 - vaddps %ymm12, %ymm4, %ymm14 - -/* - * Unfortunately, we can still be in trouble if |X| <= 2^-5, since - * the absolute error 2^-(7+24)-ish in sqrt(1 + X^2) gets scaled up - * by 1/X and comes close to our threshold. Hence if |X| <= 2^-4, - * perform an alternative computation - * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 - * X2 = X^2 - */ - vaddps %ymm4, %ymm5, %ymm4 - -/* - * The following computation can go wrong for very large X, basically - * because X^2 overflows. But for large X we have - * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when do do this. - */ - vcmplt_oqps sBigThreshold+__svml_sasinh_data_internal(%rip), %ymm6, %ymm7 - vaddps %ymm15, %ymm14, %ymm3 - -/* - * Now 1 / (1 + d) - * = 1 / (1 + (sqrt(1 - e) - 1)) - * = 1 / sqrt(1 - e) - * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... - * So compute the first three nonconstant terms of that, so that - * we have a relative correction (1 + Corr) to apply to S etc. - * C1 = 1/2 - * C2 = 3/8 - * C3 = 5/16 - */ - vmovups sC3+__svml_sasinh_data_internal(%rip), %ymm12 - vmovmskps %ymm10, %edx - vandps %ymm1, %ymm0, %ymm10 - -/* - * Compute S = (Y/sqrt(Y + W)) * (1 + d) - * and T = (W/sqrt(Y + W)) * (1 + d) - * so that S + T = sqrt(Y + W) * (1 + d) - * S is exact, and the rounding error in T is OK. - */ - vmulps %ymm10, %ymm2, %ymm15 - vmulps %ymm3, %ymm10, %ymm14 - vmovups sHalf+__svml_sasinh_data_internal(%rip), %ymm3 - vsubps %ymm8, %ymm15, %ymm0 - -/* - * Obtain sqrt(1 + X^2) - 1 in two pieces - * sqrt(1 + X^2) - 1 - * = sqrt(Y + W) - 1 - * = (S + T) * (1 + Corr) - 1 - * = [S - 1] + [T + (S + T) * Corr] - * We need a compensated summation for the last part. We treat S - 1 - * as the larger part; it certainly is until about X < 2^-4, and in that - * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 - * Final sum is dTmp5 (hi) + dTmp7 (lo) - */ - vaddps %ymm14, %ymm15, %ymm13 - -/* - * Compute e = -(2 * d + d^2) - * The first FMR is exact, and the rounding error in the other is acceptable - * since d and e are ~ 2^-8 - */ - vmovaps %ymm8, %ymm11 - vfnmadd231ps %ymm15, %ymm10, %ymm11 - vfnmadd231ps %ymm14, %ymm10, %ymm11 - vfmadd213ps sC2+__svml_sasinh_data_internal(%rip), %ymm11, %ymm12 - vfmadd213ps %ymm3, %ymm11, %ymm12 - vmulps %ymm12, %ymm11, %ymm1 - -/* Now multiplex the two possible computations */ - vcmple_oqps sLittleThreshold+__svml_sasinh_data_internal(%rip), %ymm6, %ymm11 - vfmadd213ps %ymm14, %ymm13, %ymm1 - vaddps %ymm0, %ymm1, %ymm2 - vsubps %ymm2, %ymm0, %ymm10 - -/* sX2over2 = X^2/2 */ - vmulps %ymm4, %ymm3, %ymm0 - vaddps %ymm10, %ymm1, %ymm1 - -/* sX4over4 = X^4/4 */ - vmulps %ymm0, %ymm0, %ymm5 - -/* sX46 = -X^4/4 + X^6/8 */ - vfmsub231ps %ymm0, %ymm5, %ymm5 - -/* sX46over2 = -X^4/8 + x^6/16 */ - vmulps %ymm5, %ymm3, %ymm3 - vaddps %ymm3, %ymm0, %ymm5 - vblendvps %ymm11, %ymm5, %ymm2, %ymm2 - vsubps %ymm5, %ymm0, %ymm4 - -/* - * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. - * It's always safe to assume |X| is larger. - * This is the final 2-part argument to the log1p function - */ - vaddps %ymm2, %ymm6, %ymm14 - -/* - * Now resume the main code. - * reduction: compute r,n - */ - vmovups iBrkValue+__svml_sasinh_data_internal(%rip), %ymm5 - vaddps %ymm4, %ymm3, %ymm10 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - vmaxps %ymm14, %ymm8, %ymm15 - vminps %ymm14, %ymm8, %ymm0 - vblendvps %ymm11, %ymm10, %ymm1, %ymm12 - vsubps %ymm14, %ymm6, %ymm1 - vaddps %ymm0, %ymm15, %ymm3 - -/* Now multiplex to the case X = 2^-30 * input, Xl = sL = 0 in the "big" case. */ - vmulps XScale+__svml_sasinh_data_internal(%rip), %ymm6, %ymm6 - vaddps %ymm1, %ymm2, %ymm13 - vsubps %ymm3, %ymm15, %ymm15 - vaddps %ymm13, %ymm12, %ymm1 - vaddps %ymm15, %ymm0, %ymm2 - vblendvps %ymm7, %ymm3, %ymm6, %ymm0 - vaddps %ymm2, %ymm1, %ymm4 - vpsubd %ymm5, %ymm0, %ymm1 - vpsrad $23, %ymm1, %ymm6 - vpand iOffExpoMask+__svml_sasinh_data_internal(%rip), %ymm1, %ymm2 - vmovups sPoly+224+__svml_sasinh_data_internal(%rip), %ymm1 - vpslld $23, %ymm6, %ymm10 - vpaddd %ymm5, %ymm2, %ymm13 - vcvtdq2ps %ymm6, %ymm0 - vpsubd %ymm10, %ymm8, %ymm12 - -/* polynomial evaluation */ - vsubps %ymm8, %ymm13, %ymm8 - -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - vaddps sThirtyOne+__svml_sasinh_data_internal(%rip), %ymm0, %ymm3 - vandps %ymm7, %ymm4, %ymm11 - vmulps %ymm12, %ymm11, %ymm14 - vblendvps %ymm7, %ymm0, %ymm3, %ymm0 - vaddps %ymm8, %ymm14, %ymm2 - vfmadd213ps sPoly+192+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 - vfmadd213ps sPoly+160+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 - vfmadd213ps sPoly+128+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 - vfmadd213ps sPoly+96+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 - vfmadd213ps sPoly+64+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 - vfmadd213ps sPoly+32+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 - vfmadd213ps sPoly+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 - vmulps %ymm1, %ymm2, %ymm4 - vfmadd213ps %ymm2, %ymm2, %ymm4 - -/* final reconstruction */ - vfmadd132ps sLn2+__svml_sasinh_data_internal(%rip), %ymm4, %ymm0 - -/* Finally, reincorporate the original sign. */ - vandps sSign+__svml_sasinh_data_internal(%rip), %ymm9, %ymm7 - vxorps %ymm0, %ymm7, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm9 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + vmovaps %ymm0, %ymm9 + + /* Load the constant 1 and a sign mask */ + vmovups sOne+__svml_sasinh_data_internal(%rip), %ymm8 + + /* No need to split X when FMA is available in hardware. */ + vmulps %ymm9, %ymm9, %ymm5 + vmovups sTopMask8+__svml_sasinh_data_internal(%rip), %ymm1 + + /* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 8 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 22 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^24. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + vaddps %ymm5, %ymm8, %ymm13 + vandps %ymm1, %ymm13, %ymm2 + vmovaps %ymm9, %ymm4 + vsubps %ymm13, %ymm8, %ymm11 + vsubps %ymm2, %ymm13, %ymm15 + + /* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 8 significant bits. + * This means that R * Y and R^2 * Y are exactly representable. + */ + vrsqrtps %ymm2, %ymm0 + vfmsub213ps %ymm5, %ymm9, %ymm4 + vaddps %ymm11, %ymm5, %ymm12 + + /* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + vandps SgnMask+__svml_sasinh_data_internal(%rip), %ymm9, %ymm6 + + /* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + vcmpnle_uqps sLargestFinite+__svml_sasinh_data_internal(%rip), %ymm6, %ymm10 + vaddps %ymm12, %ymm4, %ymm14 + + /* + * Unfortunately, we can still be in trouble if |X| <= 2^-5, since + * the absolute error 2^-(7+24)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-4, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + vaddps %ymm4, %ymm5, %ymm4 + + /* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + vcmplt_oqps sBigThreshold+__svml_sasinh_data_internal(%rip), %ymm6, %ymm7 + vaddps %ymm15, %ymm14, %ymm3 + + /* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + ... + * So compute the first three nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + */ + vmovups sC3+__svml_sasinh_data_internal(%rip), %ymm12 + vmovmskps %ymm10, %edx + vandps %ymm1, %ymm0, %ymm10 + + /* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulps %ymm10, %ymm2, %ymm15 + vmulps %ymm3, %ymm10, %ymm14 + vmovups sHalf+__svml_sasinh_data_internal(%rip), %ymm3 + vsubps %ymm8, %ymm15, %ymm0 + + /* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + vaddps %ymm14, %ymm15, %ymm13 + + /* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-8 + */ + vmovaps %ymm8, %ymm11 + vfnmadd231ps %ymm15, %ymm10, %ymm11 + vfnmadd231ps %ymm14, %ymm10, %ymm11 + vfmadd213ps sC2+__svml_sasinh_data_internal(%rip), %ymm11, %ymm12 + vfmadd213ps %ymm3, %ymm11, %ymm12 + vmulps %ymm12, %ymm11, %ymm1 + + /* Now multiplex the two possible computations */ + vcmple_oqps sLittleThreshold+__svml_sasinh_data_internal(%rip), %ymm6, %ymm11 + vfmadd213ps %ymm14, %ymm13, %ymm1 + vaddps %ymm0, %ymm1, %ymm2 + vsubps %ymm2, %ymm0, %ymm10 + + /* sX2over2 = X^2/2 */ + vmulps %ymm4, %ymm3, %ymm0 + vaddps %ymm10, %ymm1, %ymm1 + + /* sX4over4 = X^4/4 */ + vmulps %ymm0, %ymm0, %ymm5 + + /* sX46 = -X^4/4 + X^6/8 */ + vfmsub231ps %ymm0, %ymm5, %ymm5 + + /* sX46over2 = -X^4/8 + x^6/16 */ + vmulps %ymm5, %ymm3, %ymm3 + vaddps %ymm3, %ymm0, %ymm5 + vblendvps %ymm11, %ymm5, %ymm2, %ymm2 + vsubps %ymm5, %ymm0, %ymm4 + + /* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + vaddps %ymm2, %ymm6, %ymm14 + + /* + * Now resume the main code. + * reduction: compute r, n + */ + vmovups iBrkValue+__svml_sasinh_data_internal(%rip), %ymm5 + vaddps %ymm4, %ymm3, %ymm10 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxps %ymm14, %ymm8, %ymm15 + vminps %ymm14, %ymm8, %ymm0 + vblendvps %ymm11, %ymm10, %ymm1, %ymm12 + vsubps %ymm14, %ymm6, %ymm1 + vaddps %ymm0, %ymm15, %ymm3 + + /* Now multiplex to the case X = 2^-30 * input, Xl = sL = 0 in the "big" case. */ + vmulps XScale+__svml_sasinh_data_internal(%rip), %ymm6, %ymm6 + vaddps %ymm1, %ymm2, %ymm13 + vsubps %ymm3, %ymm15, %ymm15 + vaddps %ymm13, %ymm12, %ymm1 + vaddps %ymm15, %ymm0, %ymm2 + vblendvps %ymm7, %ymm3, %ymm6, %ymm0 + vaddps %ymm2, %ymm1, %ymm4 + vpsubd %ymm5, %ymm0, %ymm1 + vpsrad $23, %ymm1, %ymm6 + vpand iOffExpoMask+__svml_sasinh_data_internal(%rip), %ymm1, %ymm2 + vmovups sPoly+224+__svml_sasinh_data_internal(%rip), %ymm1 + vpslld $23, %ymm6, %ymm10 + vpaddd %ymm5, %ymm2, %ymm13 + vcvtdq2ps %ymm6, %ymm0 + vpsubd %ymm10, %ymm8, %ymm12 + + /* polynomial evaluation */ + vsubps %ymm8, %ymm13, %ymm8 + + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddps sThirtyOne+__svml_sasinh_data_internal(%rip), %ymm0, %ymm3 + vandps %ymm7, %ymm4, %ymm11 + vmulps %ymm12, %ymm11, %ymm14 + vblendvps %ymm7, %ymm0, %ymm3, %ymm0 + vaddps %ymm8, %ymm14, %ymm2 + vfmadd213ps sPoly+192+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 + vfmadd213ps sPoly+160+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 + vfmadd213ps sPoly+128+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 + vfmadd213ps sPoly+96+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 + vfmadd213ps sPoly+64+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 + vfmadd213ps sPoly+32+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 + vfmadd213ps sPoly+__svml_sasinh_data_internal(%rip), %ymm2, %ymm1 + vmulps %ymm1, %ymm2, %ymm4 + vfmadd213ps %ymm2, %ymm2, %ymm4 + + /* final reconstruction */ + vfmadd132ps sLn2+__svml_sasinh_data_internal(%rip), %ymm4, %ymm0 + + /* Finally, reincorporate the original sign. */ + vandps sSign+__svml_sasinh_data_internal(%rip), %ymm9, %ymm7 + vxorps %ymm0, %ymm7, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm9 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm9, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm9, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call asinhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call asinhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_asinhf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_sasinh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 SgnMask[8][1]; - __declspec(align(32)) VUINT32 sOne[8][1]; - __declspec(align(32)) VUINT32 sPoly[8][8][1]; - __declspec(align(32)) VUINT32 iBrkValue[8][1]; - __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; - __declspec(align(32)) VUINT32 sBigThreshold[8][1]; - __declspec(align(32)) VUINT32 sC2[8][1]; - __declspec(align(32)) VUINT32 sC3[8][1]; - __declspec(align(32)) VUINT32 sHalf[8][1]; - __declspec(align(32)) VUINT32 sLargestFinite[8][1]; - __declspec(align(32)) VUINT32 sLittleThreshold[8][1]; - __declspec(align(32)) VUINT32 sSign[8][1]; - __declspec(align(32)) VUINT32 sThirtyOne[8][1]; - __declspec(align(32)) VUINT32 sTopMask8[8][1]; - __declspec(align(32)) VUINT32 XScale[8][1]; - __declspec(align(32)) VUINT32 sLn2[8][1]; + __declspec(align(32)) VUINT32 SgnMask[8][1]; + __declspec(align(32)) VUINT32 sOne[8][1]; + __declspec(align(32)) VUINT32 sPoly[8][8][1]; + __declspec(align(32)) VUINT32 iBrkValue[8][1]; + __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; + __declspec(align(32)) VUINT32 sBigThreshold[8][1]; + __declspec(align(32)) VUINT32 sC2[8][1]; + __declspec(align(32)) VUINT32 sC3[8][1]; + __declspec(align(32)) VUINT32 sHalf[8][1]; + __declspec(align(32)) VUINT32 sLargestFinite[8][1]; + __declspec(align(32)) VUINT32 sLittleThreshold[8][1]; + __declspec(align(32)) VUINT32 sSign[8][1]; + __declspec(align(32)) VUINT32 sThirtyOne[8][1]; + __declspec(align(32)) VUINT32 sTopMask8[8][1]; + __declspec(align(32)) VUINT32 XScale[8][1]; + __declspec(align(32)) VUINT32 sLn2[8][1]; } __svml_sasinh_data_internal; #endif __svml_sasinh_data_internal: - /*== SgnMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== sOne = SP 1.0 ==*/ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 32 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iBrkValue = SP 2/3 ==*/ - .align 32 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 32 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sBigThreshold ==*/ - .align 32 - .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 - /*== sC2 ==*/ - .align 32 - .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 - /*== sC3 ==*/ - .align 32 - .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 - /*== sHalf ==*/ - .align 32 - .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 - /*== sLargestFinite ==*/ - .align 32 - .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF - /*== sLittleThreshold ==*/ - .align 32 - .long 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000 - /*== sSign ==*/ - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 - /*== sThirtyOne ==*/ - .align 32 - .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 - /*== sTopMask8 ==*/ - .align 32 - .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 - /*== XScale ==*/ - .align 32 - .long 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000 - /*== sLn2 = SP ln(2) ==*/ - .align 32 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 32 - .type __svml_sasinh_data_internal,@object - .size __svml_sasinh_data_internal,.-__svml_sasinh_data_internal + /* SgnMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* sOne = SP 1.0 */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 32 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iBrkValue = SP 2/3 */ + .align 32 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sBigThreshold */ + .align 32 + .long 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000, 0x4E800000 + /* sC2 */ + .align 32 + .long 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000, 0x3EC00000 + /* sC3 */ + .align 32 + .long 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000, 0x3EA00000 + /* sHalf */ + .align 32 + .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 + /* sLargestFinite */ + .align 32 + .long 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF + /* sLittleThreshold */ + .align 32 + .long 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000, 0x3D800000 + /* sSign */ + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 + /* sThirtyOne */ + .align 32 + .long 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000, 0x41F80000 + /* sTopMask8 */ + .align 32 + .long 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000 + /* XScale */ + .align 32 + .long 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000, 0x30800000 + /* sLn2 = SP ln(2) */ + .align 32 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 32 + .type __svml_sasinh_data_internal, @object + .size __svml_sasinh_data_internal, .-__svml_sasinh_data_internal From patchwork Mon Mar 7 15:00:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602344 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Goq0jxgA; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC30Q37dLz9sFw for ; Tue, 8 Mar 2022 02:53:42 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 62B9D385842E for ; Mon, 7 Mar 2022 15:53:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 62B9D385842E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668420; bh=7D9tlvvP7m68iz69E/h317ThBI8QO0xX+Yba2fcchj8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Goq0jxgAbuyBLkhE1HsClhG5KkH0HROzVOA+VZiBV/jPzzfkq7e4Hb8IN3oOiLdhy HSxiWx8eIVmgQ+9mrp1lkpTs2xq8EvtDaW+np2TJZe7m3A1qHS/YQiDTJjwtV85OJq cl/BqsLaLLkxn8+J8H7CTODfywZVXXIoZBiIm1t4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 631063858436 for ; Mon, 7 Mar 2022 15:02:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 631063858436 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364114" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364114" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561709" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21du016772; Mon, 7 Mar 2022 07:02:03 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 022/126] x86_64: Fix svml_d_asinh2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:17 -0800 Message-Id: <20220307150201.10590-23-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_asinh2_core_sse4.S | 3195 ++++++++--------- 1 file changed, 1597 insertions(+), 1598 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S index 528ef8fd57..c5de5c907e 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh2_core_sse4.S @@ -31,1632 +31,1631 @@ /* Offsets for data table __svml_dasinh_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8208 -#define poly_coeff 12320 -#define ExpMask 12384 -#define Two10 12400 -#define MinLog1p 12416 -#define MaxLog1p 12432 -#define One 12448 -#define SgnMask 12464 -#define XThreshold 12480 -#define XhMask 12496 -#define Threshold 12512 -#define Bias 12528 -#define Bias1 12544 -#define ExpMask0 12560 -#define ExpMask2 12576 -#define L2 12592 -#define dBigThreshold 12608 -#define dC2 12624 -#define dC3 12640 -#define dC4 12656 -#define dC5 12672 -#define dHalf 12688 -#define dLargestFinite 12704 -#define dLittleThreshold 12720 -#define dSign 12736 -#define dThirtyOne 12752 -#define dTopMask12 12768 -#define dTopMask26 12784 -#define dTopMask29 12800 -#define XScale 12816 +#define Log_HA_table 0 +#define Log_LA_table 8208 +#define poly_coeff 12320 +#define ExpMask 12384 +#define Two10 12400 +#define MinLog1p 12416 +#define MaxLog1p 12432 +#define One 12448 +#define SgnMask 12464 +#define XThreshold 12480 +#define XhMask 12496 +#define Threshold 12512 +#define Bias 12528 +#define Bias1 12544 +#define ExpMask0 12560 +#define ExpMask2 12576 +#define L2 12592 +#define dBigThreshold 12608 +#define dC2 12624 +#define dC3 12640 +#define dC4 12656 +#define dC5 12672 +#define dHalf 12688 +#define dLargestFinite 12704 +#define dLittleThreshold 12720 +#define dSign 12736 +#define dThirtyOne 12752 +#define dTopMask12 12768 +#define dTopMask26 12784 +#define dTopMask29 12800 +#define XScale 12816 /* Lookup bias for data table __svml_dasinh_data_internal. */ -#define Table_Lookup_Bias -0x405ff0 +#define Table_Lookup_Bias -0x405ff0 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_asinh_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 - movaps %xmm0, %xmm13 - -/* - * Split X into high and low parts, XHi (<= 26 bits) and XLo (<= 27 bits) - * We could use either X or |X| here, but it doesn't seem to matter - */ - movups dTopMask26+__svml_dasinh_data_internal(%rip), %xmm15 - movaps %xmm13, %xmm7 - andps %xmm13, %xmm15 - lea Table_Lookup_Bias+__svml_dasinh_data_internal(%rip), %rsi - -/* - * Compute X^2 = (XHi + XLo)^2 = XHi^2 + XLo * (X + XHi) - * The two parts are shifted off by around 26 bits. So even though - * the low bit will not in general be exact, it's near enough - */ - movaps %xmm15, %xmm8 - mulpd %xmm15, %xmm8 - subpd %xmm15, %xmm7 - addpd %xmm13, %xmm15 - -/* Load the constant 1 and a sign mask */ - movups One+__svml_dasinh_data_internal(%rip), %xmm12 - -/* - * Finally, express Y + W = X^2 + 1 accurately where Y has <= 29 bits. - * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 - * as the dominant component in the compensated summation. Otherwise, - * if |X| >= 1, then since X2Hi only has 52 significant bits, the basic - * addition will be exact anyway until we get to |X| >= 2^53. But by - * that time the log function is well-conditioned enough that the - * rounding error doesn't matter. Hence we can treat 1 as dominant even - * if it literally isn't. - */ - movaps %xmm12, %xmm3 - movaps %xmm12, %xmm5 - addpd %xmm8, %xmm3 - mulpd %xmm15, %xmm7 - subpd %xmm3, %xmm5 - movups dTopMask29+__svml_dasinh_data_internal(%rip), %xmm6 - andps %xmm3, %xmm6 - -/* - * Compute R = 1/sqrt(Y + W) * (1 + d) - * Force R to <= 12 significant bits in case it isn't already - * This means that R * Y and R^2 * Y are exactly representable. - */ - cvtpd2ps %xmm6, %xmm1 - addpd %xmm8, %xmm5 - subpd %xmm6, %xmm3 - -/* - * Unfortunately, we can still be in trouble if |X| <= 2^-10, since - * the absolute error 2^-(12+53)-ish in sqrt(1 + X^2) gets scaled up - * by 1/X and comes close to our threshold. Hence if |X| <= 2^-9, - * perform an alternative computation - * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 - * X2 = X^2 - */ - addpd %xmm7, %xmm8 - addpd %xmm7, %xmm5 - movlhps %xmm1, %xmm1 - rsqrtps %xmm1, %xmm4 - addpd %xmm3, %xmm5 - cvtps2pd %xmm4, %xmm2 - andps dTopMask12+__svml_dasinh_data_internal(%rip), %xmm2 - -/* - * Compute e = -(2 * d + d^2) - * The first FMR is exact, and the rounding error in the other is acceptable - * since d and e are ~ 2^-12 - */ - movaps %xmm12, %xmm1 - -/* - * Compute S = (Y/sqrt(Y + W)) * (1 + d) - * and T = (W/sqrt(Y + W)) * (1 + d) - * so that S + T = sqrt(Y + W) * (1 + d) - * S is exact, and the rounding error in T is OK. - */ - mulpd %xmm2, %xmm6 - mulpd %xmm2, %xmm5 - movaps %xmm2, %xmm0 - -/* - * Obtain sqrt(1 + X^2) - 1 in two pieces - * sqrt(1 + X^2) - 1 - * = sqrt(Y + W) - 1 - * = (S + T) * (1 + Corr) - 1 - * = [S - 1] + [T + (S + T) * Corr] - * We need a compensated summation for the last part. We treat S - 1 - * as the larger part; it certainly is until about X < 2^-4, and in that - * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 - * Final sum is dTmp5 (hi) + dTmp7 (lo) - */ - movaps %xmm6, %xmm3 - mulpd %xmm6, %xmm0 - mulpd %xmm5, %xmm2 - subpd %xmm0, %xmm1 - addpd %xmm5, %xmm3 - subpd %xmm12, %xmm6 - subpd %xmm2, %xmm1 - movups SgnMask+__svml_dasinh_data_internal(%rip), %xmm9 - movaps %xmm12, %xmm4 - -/* - * Get the absolute value of the input, since we will exploit antisymmetry - * and mostly assume X >= 0 in the core computation - */ - movaps %xmm9, %xmm10 - andps %xmm13, %xmm10 - -/* - * Check whether the input is finite, by checking |X| <= MaxFloat - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) - */ - movaps %xmm10, %xmm14 - -/* - * The following computation can go wrong for very large X, basically - * because X^2 overflows. But for large X we have - * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when do do this. - */ - movaps %xmm10, %xmm11 - cmpnlepd dLargestFinite+__svml_dasinh_data_internal(%rip), %xmm14 - cmpltpd dBigThreshold+__svml_dasinh_data_internal(%rip), %xmm11 - movmskpd %xmm14, %edx - -/* - * Now 1 / (1 + d) - * = 1 / (1 + (sqrt(1 - e) - 1)) - * = 1 / sqrt(1 - e) - * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + - * 63/256 * e^5 + 231/1024 * e^6 + .... - * So compute the first five nonconstant terms of that, so that - * we have a relative correction (1 + Corr) to apply to S etc. - * C1 = 1/2 - * C2 = 3/8 - * C3 = 5/16 - * C4 = 35/128 - * C5 = 63/256 - */ - movups dC5+__svml_dasinh_data_internal(%rip), %xmm14 - movups dHalf+__svml_dasinh_data_internal(%rip), %xmm15 - mulpd %xmm1, %xmm14 - -/* dX2over2 = X^2/2 */ - mulpd %xmm15, %xmm8 - addpd dC4+__svml_dasinh_data_internal(%rip), %xmm14 - mulpd %xmm1, %xmm14 - addpd dC3+__svml_dasinh_data_internal(%rip), %xmm14 - mulpd %xmm1, %xmm14 - addpd dC2+__svml_dasinh_data_internal(%rip), %xmm14 - mulpd %xmm1, %xmm14 - addpd %xmm15, %xmm14 - mulpd %xmm14, %xmm1 - mulpd %xmm3, %xmm1 - addpd %xmm1, %xmm5 - addpd %xmm6, %xmm5 - -/* dX4over4 = X^4/4 */ - movaps %xmm8, %xmm6 - -/* dX46 = -X^4/4 + X^6/8 */ - movaps %xmm8, %xmm7 - mulpd %xmm8, %xmm6 - mulpd %xmm6, %xmm7 - subpd %xmm6, %xmm7 - -/* dX46over2 = -X^4/8 + x^6/16 */ - mulpd %xmm7, %xmm15 - -/* Now multiplex the two possible computations */ - movaps %xmm10, %xmm3 - cmplepd dLittleThreshold+__svml_dasinh_data_internal(%rip), %xmm3 - addpd %xmm15, %xmm8 - movaps %xmm3, %xmm1 - andps %xmm3, %xmm8 - andnps %xmm5, %xmm1 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - movaps %xmm12, %xmm5 - orps %xmm8, %xmm1 - movaps %xmm11, %xmm3 - -/* - * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. - * It's always safe to assume |X| is larger. - * This is the final 2-part argument to the log1p function - */ - addpd %xmm10, %xmm1 - maxpd %xmm1, %xmm5 - minpd %xmm1, %xmm4 - -/* Now multiplex to the case X = 2^-30 * |input|, Xl = dL = 0 in the "big" case. */ - movups XScale+__svml_dasinh_data_internal(%rip), %xmm8 - andps %xmm9, %xmm1 - mulpd %xmm8, %xmm10 - cmpltpd XThreshold+__svml_dasinh_data_internal(%rip), %xmm1 - movaps %xmm5, %xmm9 - andnps %xmm10, %xmm3 - addpd %xmm4, %xmm9 - orps XhMask+__svml_dasinh_data_internal(%rip), %xmm1 - andps %xmm1, %xmm9 - subpd %xmm9, %xmm5 - andps %xmm11, %xmm9 - -/* Now resume the main code. */ - movups ExpMask+__svml_dasinh_data_internal(%rip), %xmm10 - orps %xmm9, %xmm3 - -/* preserve mantissa, set input exponent to 2^(-10) */ - andps %xmm3, %xmm10 - -/* exponent bits */ - movaps %xmm3, %xmm7 - orps Two10+__svml_dasinh_data_internal(%rip), %xmm10 - psrlq $20, %xmm7 - -/* reciprocal approximation good to at least 11 bits */ - cvtpd2ps %xmm10, %xmm1 - addpd %xmm5, %xmm4 - movlhps %xmm1, %xmm1 - andps %xmm11, %xmm4 - rcpps %xmm1, %xmm0 - cvtps2pd %xmm0, %xmm0 - -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - movups .FLT_30(%rip), %xmm6 - movaps %xmm11, %xmm1 - addpd %xmm6, %xmm0 - subpd %xmm6, %xmm0 - -/* exponent of X needed to scale Xl */ - movdqu ExpMask0+__svml_dasinh_data_internal(%rip), %xmm5 - -/* 2^ (-10-exp(X) ) */ - movdqu ExpMask2+__svml_dasinh_data_internal(%rip), %xmm2 - pand %xmm3, %xmm5 - psubq %xmm5, %xmm2 - -/* scale DblRcp */ - mulpd %xmm0, %xmm2 - -/* argument reduction */ - mulpd %xmm2, %xmm3 - mulpd %xmm2, %xmm4 - subpd %xmm12, %xmm3 - addpd %xmm4, %xmm3 - -/* polynomial */ - movups poly_coeff+__svml_dasinh_data_internal(%rip), %xmm12 - movaps %xmm3, %xmm2 - pshufd $221, %xmm7, %xmm8 - mulpd %xmm3, %xmm12 - -/* biased exponent in DP format */ - cvtdq2pd %xmm8, %xmm14 - addpd poly_coeff+16+__svml_dasinh_data_internal(%rip), %xmm12 - mulpd %xmm3, %xmm2 - -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - movups dThirtyOne+__svml_dasinh_data_internal(%rip), %xmm9 - -/* exponent*log(2.0) */ - movups Threshold+__svml_dasinh_data_internal(%rip), %xmm5 - addpd %xmm14, %xmm9 - cmpltpd %xmm0, %xmm5 - mulpd %xmm2, %xmm12 - andps %xmm11, %xmm14 - -/* - * prepare table index - * table lookup - */ - movaps %xmm0, %xmm11 - movups poly_coeff+32+__svml_dasinh_data_internal(%rip), %xmm0 - andnps %xmm9, %xmm1 - mulpd %xmm3, %xmm0 - addpd poly_coeff+48+__svml_dasinh_data_internal(%rip), %xmm0 - addpd %xmm12, %xmm0 - -/* reconstruction */ - mulpd %xmm0, %xmm2 - andps Bias+__svml_dasinh_data_internal(%rip), %xmm5 - psrlq $40, %xmm11 - orps Bias1+__svml_dasinh_data_internal(%rip), %xmm5 - orps %xmm14, %xmm1 - movd %xmm11, %eax - pshufd $2, %xmm11, %xmm11 - -/* Finally, reincorporate the original sign. */ - movups dSign+__svml_dasinh_data_internal(%rip), %xmm0 - subpd %xmm5, %xmm1 - addpd %xmm2, %xmm3 - movd %xmm11, %ecx - mulpd L2+__svml_dasinh_data_internal(%rip), %xmm1 - movslq %eax, %rax - andps %xmm13, %xmm0 - movslq %ecx, %rcx - movsd (%rsi,%rax), %xmm6 - movhpd (%rsi,%rcx), %xmm6 - addpd %xmm3, %xmm6 - addpd %xmm6, %xmm1 - pxor %xmm1, %xmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx xmm0 xmm13 - -/* Restore registers - * and exit the function - */ + 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 + movaps %xmm0, %xmm13 + + /* + * Split X into high and low parts, XHi (<= 26 bits) and XLo (<= 27 bits) + * We could use either X or |X| here, but it doesn't seem to matter + */ + movups dTopMask26+__svml_dasinh_data_internal(%rip), %xmm15 + movaps %xmm13, %xmm7 + andps %xmm13, %xmm15 + lea Table_Lookup_Bias+__svml_dasinh_data_internal(%rip), %rsi + + /* + * Compute X^2 = (XHi + XLo)^2 = XHi^2 + XLo * (X + XHi) + * The two parts are shifted off by around 26 bits. So even though + * the low bit will not in general be exact, it's near enough + */ + movaps %xmm15, %xmm8 + mulpd %xmm15, %xmm8 + subpd %xmm15, %xmm7 + addpd %xmm13, %xmm15 + + /* Load the constant 1 and a sign mask */ + movups One+__svml_dasinh_data_internal(%rip), %xmm12 + + /* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 29 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 52 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^53. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + movaps %xmm12, %xmm3 + movaps %xmm12, %xmm5 + addpd %xmm8, %xmm3 + mulpd %xmm15, %xmm7 + subpd %xmm3, %xmm5 + movups dTopMask29+__svml_dasinh_data_internal(%rip), %xmm6 + andps %xmm3, %xmm6 + + /* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 12 significant bits in case it isn't already + * This means that R * Y and R^2 * Y are exactly representable. + */ + cvtpd2ps %xmm6, %xmm1 + addpd %xmm8, %xmm5 + subpd %xmm6, %xmm3 + + /* + * Unfortunately, we can still be in trouble if |X| <= 2^-10, since + * the absolute error 2^-(12+53)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-9, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + addpd %xmm7, %xmm8 + addpd %xmm7, %xmm5 + movlhps %xmm1, %xmm1 + rsqrtps %xmm1, %xmm4 + addpd %xmm3, %xmm5 + cvtps2pd %xmm4, %xmm2 + andps dTopMask12+__svml_dasinh_data_internal(%rip), %xmm2 + + /* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-12 + */ + movaps %xmm12, %xmm1 + + /* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + mulpd %xmm2, %xmm6 + mulpd %xmm2, %xmm5 + movaps %xmm2, %xmm0 + + /* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + movaps %xmm6, %xmm3 + mulpd %xmm6, %xmm0 + mulpd %xmm5, %xmm2 + subpd %xmm0, %xmm1 + addpd %xmm5, %xmm3 + subpd %xmm12, %xmm6 + subpd %xmm2, %xmm1 + movups SgnMask+__svml_dasinh_data_internal(%rip), %xmm9 + movaps %xmm12, %xmm4 + + /* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + movaps %xmm9, %xmm10 + andps %xmm13, %xmm10 + + /* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + movaps %xmm10, %xmm14 + + /* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + movaps %xmm10, %xmm11 + cmpnlepd dLargestFinite+__svml_dasinh_data_internal(%rip), %xmm14 + cmpltpd dBigThreshold+__svml_dasinh_data_internal(%rip), %xmm11 + movmskpd %xmm14, %edx + + /* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + + * 63/256 * e^5 + 231/1024 * e^6 + .... + * So compute the first five nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + * C4 = 35/128 + * C5 = 63/256 + */ + movups dC5+__svml_dasinh_data_internal(%rip), %xmm14 + movups dHalf+__svml_dasinh_data_internal(%rip), %xmm15 + mulpd %xmm1, %xmm14 + + /* dX2over2 = X^2/2 */ + mulpd %xmm15, %xmm8 + addpd dC4+__svml_dasinh_data_internal(%rip), %xmm14 + mulpd %xmm1, %xmm14 + addpd dC3+__svml_dasinh_data_internal(%rip), %xmm14 + mulpd %xmm1, %xmm14 + addpd dC2+__svml_dasinh_data_internal(%rip), %xmm14 + mulpd %xmm1, %xmm14 + addpd %xmm15, %xmm14 + mulpd %xmm14, %xmm1 + mulpd %xmm3, %xmm1 + addpd %xmm1, %xmm5 + addpd %xmm6, %xmm5 + + /* dX4over4 = X^4/4 */ + movaps %xmm8, %xmm6 + + /* dX46 = -X^4/4 + X^6/8 */ + movaps %xmm8, %xmm7 + mulpd %xmm8, %xmm6 + mulpd %xmm6, %xmm7 + subpd %xmm6, %xmm7 + + /* dX46over2 = -X^4/8 + x^6/16 */ + mulpd %xmm7, %xmm15 + + /* Now multiplex the two possible computations */ + movaps %xmm10, %xmm3 + cmplepd dLittleThreshold+__svml_dasinh_data_internal(%rip), %xmm3 + addpd %xmm15, %xmm8 + movaps %xmm3, %xmm1 + andps %xmm3, %xmm8 + andnps %xmm5, %xmm1 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + movaps %xmm12, %xmm5 + orps %xmm8, %xmm1 + movaps %xmm11, %xmm3 + + /* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + addpd %xmm10, %xmm1 + maxpd %xmm1, %xmm5 + minpd %xmm1, %xmm4 + + /* Now multiplex to the case X = 2^-30 * |input|, Xl = dL = 0 in the "big" case. */ + movups XScale+__svml_dasinh_data_internal(%rip), %xmm8 + andps %xmm9, %xmm1 + mulpd %xmm8, %xmm10 + cmpltpd XThreshold+__svml_dasinh_data_internal(%rip), %xmm1 + movaps %xmm5, %xmm9 + andnps %xmm10, %xmm3 + addpd %xmm4, %xmm9 + orps XhMask+__svml_dasinh_data_internal(%rip), %xmm1 + andps %xmm1, %xmm9 + subpd %xmm9, %xmm5 + andps %xmm11, %xmm9 + + /* Now resume the main code. */ + movups ExpMask+__svml_dasinh_data_internal(%rip), %xmm10 + orps %xmm9, %xmm3 + + /* preserve mantissa, set input exponent to 2^(-10) */ + andps %xmm3, %xmm10 + + /* exponent bits */ + movaps %xmm3, %xmm7 + orps Two10+__svml_dasinh_data_internal(%rip), %xmm10 + psrlq $20, %xmm7 + + /* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm10, %xmm1 + addpd %xmm5, %xmm4 + movlhps %xmm1, %xmm1 + andps %xmm11, %xmm4 + rcpps %xmm1, %xmm0 + cvtps2pd %xmm0, %xmm0 + + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_30(%rip), %xmm6 + movaps %xmm11, %xmm1 + addpd %xmm6, %xmm0 + subpd %xmm6, %xmm0 + + /* exponent of X needed to scale Xl */ + movdqu ExpMask0+__svml_dasinh_data_internal(%rip), %xmm5 + + /* 2^ (-10-exp(X) ) */ + movdqu ExpMask2+__svml_dasinh_data_internal(%rip), %xmm2 + pand %xmm3, %xmm5 + psubq %xmm5, %xmm2 + + /* scale DblRcp */ + mulpd %xmm0, %xmm2 + + /* argument reduction */ + mulpd %xmm2, %xmm3 + mulpd %xmm2, %xmm4 + subpd %xmm12, %xmm3 + addpd %xmm4, %xmm3 + + /* polynomial */ + movups poly_coeff+__svml_dasinh_data_internal(%rip), %xmm12 + movaps %xmm3, %xmm2 + pshufd $221, %xmm7, %xmm8 + mulpd %xmm3, %xmm12 + + /* biased exponent in DP format */ + cvtdq2pd %xmm8, %xmm14 + addpd poly_coeff+16+__svml_dasinh_data_internal(%rip), %xmm12 + mulpd %xmm3, %xmm2 + + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + movups dThirtyOne+__svml_dasinh_data_internal(%rip), %xmm9 + + /* exponent*log(2.0) */ + movups Threshold+__svml_dasinh_data_internal(%rip), %xmm5 + addpd %xmm14, %xmm9 + cmpltpd %xmm0, %xmm5 + mulpd %xmm2, %xmm12 + andps %xmm11, %xmm14 + + /* + * prepare table index + * table lookup + */ + movaps %xmm0, %xmm11 + movups poly_coeff+32+__svml_dasinh_data_internal(%rip), %xmm0 + andnps %xmm9, %xmm1 + mulpd %xmm3, %xmm0 + addpd poly_coeff+48+__svml_dasinh_data_internal(%rip), %xmm0 + addpd %xmm12, %xmm0 + + /* reconstruction */ + mulpd %xmm0, %xmm2 + andps Bias+__svml_dasinh_data_internal(%rip), %xmm5 + psrlq $40, %xmm11 + orps Bias1+__svml_dasinh_data_internal(%rip), %xmm5 + orps %xmm14, %xmm1 + movd %xmm11, %eax + pshufd $2, %xmm11, %xmm11 + + /* Finally, reincorporate the original sign. */ + movups dSign+__svml_dasinh_data_internal(%rip), %xmm0 + subpd %xmm5, %xmm1 + addpd %xmm2, %xmm3 + movd %xmm11, %ecx + mulpd L2+__svml_dasinh_data_internal(%rip), %xmm1 + movslq %eax, %rax + andps %xmm13, %xmm0 + movslq %ecx, %rcx + movsd (%rsi, %rax), %xmm6 + movhpd (%rsi, %rcx), %xmm6 + addpd %xmm3, %xmm6 + addpd %xmm6, %xmm1 + pxor %xmm1, %xmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx xmm0 xmm13 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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 %xmm13, 32(%rsp) - movups %xmm0, 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 - */ + movups %xmm13, 32(%rsp) + movups %xmm0, 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 + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* 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), %xmm0 - -/* 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 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + 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), %xmm0 + + /* 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 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call asinh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call asinh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN2v_asinh_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dasinh_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[4][2][2]; - __declspec(align(16)) VUINT32 ExpMask[2][2]; - __declspec(align(16)) VUINT32 Two10[2][2]; - __declspec(align(16)) VUINT32 MinLog1p[2][2]; - __declspec(align(16)) VUINT32 MaxLog1p[2][2]; - __declspec(align(16)) VUINT32 One[2][2]; - __declspec(align(16)) VUINT32 SgnMask[2][2]; - __declspec(align(16)) VUINT32 XThreshold[2][2]; - __declspec(align(16)) VUINT32 XhMask[2][2]; - __declspec(align(16)) VUINT32 Threshold[2][2]; - __declspec(align(16)) VUINT32 Bias[2][2]; - __declspec(align(16)) VUINT32 Bias1[2][2]; - __declspec(align(16)) VUINT32 ExpMask0[2][2]; - __declspec(align(16)) VUINT32 ExpMask2[2][2]; - __declspec(align(16)) VUINT32 L2[2][2]; - __declspec(align(16)) VUINT32 dBigThreshold[2][2]; - __declspec(align(16)) VUINT32 dC2[2][2]; - __declspec(align(16)) VUINT32 dC3[2][2]; - __declspec(align(16)) VUINT32 dC4[2][2]; - __declspec(align(16)) VUINT32 dC5[2][2]; - __declspec(align(16)) VUINT32 dHalf[2][2]; - __declspec(align(16)) VUINT32 dLargestFinite[2][2]; - __declspec(align(16)) VUINT32 dLittleThreshold[2][2]; - __declspec(align(16)) VUINT32 dSign[2][2]; - __declspec(align(16)) VUINT32 dThirtyOne[2][2]; - __declspec(align(16)) VUINT32 dTopMask12[2][2]; - __declspec(align(16)) VUINT32 dTopMask26[2][2]; - __declspec(align(16)) VUINT32 dTopMask29[2][2]; - __declspec(align(16)) VUINT32 XScale[2][2]; + __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[4][2][2]; + __declspec(align(16)) VUINT32 ExpMask[2][2]; + __declspec(align(16)) VUINT32 Two10[2][2]; + __declspec(align(16)) VUINT32 MinLog1p[2][2]; + __declspec(align(16)) VUINT32 MaxLog1p[2][2]; + __declspec(align(16)) VUINT32 One[2][2]; + __declspec(align(16)) VUINT32 SgnMask[2][2]; + __declspec(align(16)) VUINT32 XThreshold[2][2]; + __declspec(align(16)) VUINT32 XhMask[2][2]; + __declspec(align(16)) VUINT32 Threshold[2][2]; + __declspec(align(16)) VUINT32 Bias[2][2]; + __declspec(align(16)) VUINT32 Bias1[2][2]; + __declspec(align(16)) VUINT32 ExpMask0[2][2]; + __declspec(align(16)) VUINT32 ExpMask2[2][2]; + __declspec(align(16)) VUINT32 L2[2][2]; + __declspec(align(16)) VUINT32 dBigThreshold[2][2]; + __declspec(align(16)) VUINT32 dC2[2][2]; + __declspec(align(16)) VUINT32 dC3[2][2]; + __declspec(align(16)) VUINT32 dC4[2][2]; + __declspec(align(16)) VUINT32 dC5[2][2]; + __declspec(align(16)) VUINT32 dHalf[2][2]; + __declspec(align(16)) VUINT32 dLargestFinite[2][2]; + __declspec(align(16)) VUINT32 dLittleThreshold[2][2]; + __declspec(align(16)) VUINT32 dSign[2][2]; + __declspec(align(16)) VUINT32 dThirtyOne[2][2]; + __declspec(align(16)) VUINT32 dTopMask12[2][2]; + __declspec(align(16)) VUINT32 dTopMask26[2][2]; + __declspec(align(16)) VUINT32 dTopMask29[2][2]; + __declspec(align(16)) VUINT32 XScale[2][2]; } __svml_dasinh_data_internal; #endif __svml_dasinh_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 16 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 16 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 16 - .quad 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 16 - .quad 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 16 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 16 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 16 - .quad 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 16 - .quad 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 16 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 16 - .quad 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 16 - .quad 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 16 - .quad 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 16 - .quad 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 16 - .quad 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 16 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - /*== dBigThreshold ==*/ - .align 16 - .quad 0x41D0000000000000, 0x41D0000000000000 - /*== dC2 ==*/ - .align 16 - .quad 0x3FD8000000000000, 0x3FD8000000000000 - /*== dC3 ==*/ - .align 16 - .quad 0x3FD4000000000000, 0x3FD4000000000000 - /*== dC4 ==*/ - .align 16 - .quad 0x3FD1800000000000, 0x3FD1800000000000 - /*== dC5 ==*/ - .align 16 - .quad 0x3FCF800000000000, 0x3FCF800000000000 - /*== dHalf ==*/ - .align 16 - .quad 0x3FE0000000000000, 0x3FE0000000000000 - /*== dLargestFinite ==*/ - .align 16 - .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF - /*== dLittleThreshold ==*/ - .align 16 - .quad 0x3F60000000000000, 0x3F60000000000000 - /*== dSign ==*/ - .align 16 - .quad 0x8000000000000000, 0x8000000000000000 - /*== dThirtyOne ==*/ - .align 16 - .quad 0x403F000000000000, 0x403F000000000000 - /*== dTopMask12 ==*/ - .align 16 - .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000 - /*== dTopMask26 ==*/ - .align 16 - .quad 0xFFFFFFFFF8000000, 0xFFFFFFFFF8000000 - /*== dTopMask29 ==*/ - .align 16 - .quad 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000 - /*== XScale ==*/ - .align 16 - .quad 0x3E10000000000000, 0x3E10000000000000 - .align 16 - .type __svml_dasinh_data_internal,@object - .size __svml_dasinh_data_internal,.-__svml_dasinh_data_internal - .align 16 + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 16 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 16 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 16 + .quad 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 16 + .quad 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 16 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 16 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 16 + .quad 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 16 + .quad 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 16 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 16 + .quad 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 16 + .quad 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 16 + .quad 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 16 + .quad 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 16 + .quad 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 16 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + /* dBigThreshold */ + .align 16 + .quad 0x41D0000000000000, 0x41D0000000000000 + /* dC2 */ + .align 16 + .quad 0x3FD8000000000000, 0x3FD8000000000000 + /* dC3 */ + .align 16 + .quad 0x3FD4000000000000, 0x3FD4000000000000 + /* dC4 */ + .align 16 + .quad 0x3FD1800000000000, 0x3FD1800000000000 + /* dC5 */ + .align 16 + .quad 0x3FCF800000000000, 0x3FCF800000000000 + /* dHalf */ + .align 16 + .quad 0x3FE0000000000000, 0x3FE0000000000000 + /* dLargestFinite */ + .align 16 + .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF + /* dLittleThreshold */ + .align 16 + .quad 0x3F60000000000000, 0x3F60000000000000 + /* dSign */ + .align 16 + .quad 0x8000000000000000, 0x8000000000000000 + /* dThirtyOne */ + .align 16 + .quad 0x403F000000000000, 0x403F000000000000 + /* dTopMask12 */ + .align 16 + .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000 + /* dTopMask26 */ + .align 16 + .quad 0xFFFFFFFFF8000000, 0xFFFFFFFFF8000000 + /* dTopMask29 */ + .align 16 + .quad 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000 + /* XScale */ + .align 16 + .quad 0x3E10000000000000, 0x3E10000000000000 + .align 16 + .type __svml_dasinh_data_internal, @object + .size __svml_dasinh_data_internal, .-__svml_dasinh_data_internal + .align 16 .FLT_30: - .long 0x00000000,0x43380000,0x00000000,0x43380000 - .type .FLT_30,@object - .size .FLT_30,16 + .long 0x00000000, 0x43380000, 0x00000000, 0x43380000 + .type .FLT_30, @object + .size .FLT_30, 16 From patchwork Mon Mar 7 15:00:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602245 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ueK4lUuT; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2145B2Rz9s8s for ; Tue, 8 Mar 2022 02:09:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B1BF33858424 for ; Mon, 7 Mar 2022 15:09:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B1BF33858424 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665750; bh=tZ1fQkQp7UQLhhSEk41QfxwYhk14WGRUzFWASZlQOsk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ueK4lUuTa8ur+JXE3s1XJPDFnuexWqFM4GrDgpdAC1OQHg8xNWoaoiY5zzBFJ23hu NHUNor6ekFkWZ5YVZuileFIB3btYnsderuSKJkofRCcMig6UJqawUwsKlb0QeiTuJF IrrrtChZigiIwZYDZvmaBf1x4i9Xnsp9YTGcWlBA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id D2D48385843B for ; Mon, 7 Mar 2022 15:02:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D2D48385843B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640413" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640413" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="641355929" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga002.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dv016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 023/126] x86_64: Fix svml_d_asinh4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:18 -0800 Message-Id: <20220307150201.10590-24-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_asinh4_core_avx2.S | 3077 ++++++++--------- 1 file changed, 1538 insertions(+), 1539 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S index 636637b4b1..131b716c95 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh4_core_avx2.S @@ -31,1571 +31,1570 @@ /* Offsets for data table __svml_dasinh_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8224 -#define poly_coeff 12352 -#define ExpMask 12480 -#define Two10 12512 -#define MinLog1p 12544 -#define MaxLog1p 12576 -#define One 12608 -#define SgnMask 12640 -#define XThreshold 12672 -#define XhMask 12704 -#define Threshold 12736 -#define Bias 12768 -#define Bias1 12800 -#define ExpMask0 12832 -#define ExpMask2 12864 -#define L2 12896 -#define dBigThreshold 12928 -#define dC2 12960 -#define dC3 12992 -#define dC4 13024 -#define dC5 13056 -#define dHalf 13088 -#define dLargestFinite 13120 -#define dLittleThreshold 13152 -#define dSign 13184 -#define dThirtyOne 13216 -#define dTopMask12 13248 -#define dTopMask29 13280 -#define XScale 13312 +#define Log_HA_table 0 +#define Log_LA_table 8224 +#define poly_coeff 12352 +#define ExpMask 12480 +#define Two10 12512 +#define MinLog1p 12544 +#define MaxLog1p 12576 +#define One 12608 +#define SgnMask 12640 +#define XThreshold 12672 +#define XhMask 12704 +#define Threshold 12736 +#define Bias 12768 +#define Bias1 12800 +#define ExpMask0 12832 +#define ExpMask2 12864 +#define L2 12896 +#define dBigThreshold 12928 +#define dC2 12960 +#define dC3 12992 +#define dC4 13024 +#define dC5 13056 +#define dHalf 13088 +#define dLargestFinite 13120 +#define dLittleThreshold 13152 +#define dSign 13184 +#define dThirtyOne 13216 +#define dTopMask12 13248 +#define dTopMask29 13280 +#define XScale 13312 /* Lookup bias for data table __svml_dasinh_data_internal. */ -#define Table_Lookup_Bias -0x405fe0 +#define Table_Lookup_Bias -0x405fe0 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_asinh_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea Table_Lookup_Bias+__svml_dasinh_data_internal(%rip), %r8 - vmovapd %ymm0, %ymm13 - vmovupd SgnMask+__svml_dasinh_data_internal(%rip), %ymm9 - -/* Load the constant 1 and a sign mask */ - vmovupd One+__svml_dasinh_data_internal(%rip), %ymm12 - -/* No need to split X when FMA is available in hardware. */ - vmulpd %ymm13, %ymm13, %ymm8 - -/* - * Get the absolute value of the input, since we will exploit antisymmetry - * and mostly assume X >= 0 in the core computation - */ - vandpd %ymm9, %ymm13, %ymm10 - -/* - * Check whether the input is finite, by checking |X| <= MaxFloat - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) - */ - vcmpnle_uqpd dLargestFinite+__svml_dasinh_data_internal(%rip), %ymm10, %ymm14 - -/* - * Finally, express Y + W = X^2 + 1 accurately where Y has <= 29 bits. - * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 - * as the dominant component in the compensated summation. Otherwise, - * if |X| >= 1, then since X2Hi only has 52 significant bits, the basic - * addition will be exact anyway until we get to |X| >= 2^53. But by - * that time the log function is well-conditioned enough that the - * rounding error doesn't matter. Hence we can treat 1 as dominant even - * if it literally isn't. - */ - vaddpd %ymm8, %ymm12, %ymm5 - -/* - * The following computation can go wrong for very large X, basically - * because X^2 overflows. But for large X we have - * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 - * we can just later stick X back into the log and tweak up the exponent. - * Actually we scale X by 2^-30 and tweak the exponent up by 31, - * to stay in the safe range for the later log computation. - * Compute a flag now telling us when do do this. - */ - vcmplt_oqpd dBigThreshold+__svml_dasinh_data_internal(%rip), %ymm10, %ymm11 - vsubpd %ymm5, %ymm12, %ymm15 - vmovmskpd %ymm14, %eax - vandpd dTopMask29+__svml_dasinh_data_internal(%rip), %ymm5, %ymm14 - -/* - * Compute R = 1/sqrt(Y + W) * (1 + d) - * Force R to <= 12 significant bits in case it isn't already - * This means that R * Y and R^2 * Y are exactly representable. - */ - vcvtpd2ps %ymm14, %xmm1 - vaddpd %ymm15, %ymm8, %ymm0 - vsubpd %ymm14, %ymm5, %ymm2 - vrsqrtps %xmm1, %xmm3 - vmovapd %ymm13, %ymm7 - vfmsub213pd %ymm8, %ymm13, %ymm7 - vcvtps2pd %xmm3, %ymm6 - vaddpd %ymm0, %ymm7, %ymm4 - -/* - * Unfortunately, we can still be in trouble if |X| <= 2^-10, since - * the absolute error 2^-(12+53)-ish in sqrt(1 + X^2) gets scaled up - * by 1/X and comes close to our threshold. Hence if |X| <= 2^-9, - * perform an alternative computation - * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 - * X2 = X^2 - */ - vaddpd %ymm7, %ymm8, %ymm7 - vaddpd %ymm2, %ymm4, %ymm15 - -/* - * Now 1 / (1 + d) - * = 1 / (1 + (sqrt(1 - e) - 1)) - * = 1 / sqrt(1 - e) - * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + - * 63/256 * e^5 + 231/1024 * e^6 + .... - * So compute the first five nonconstant terms of that, so that - * we have a relative correction (1 + Corr) to apply to S etc. - * C1 = 1/2 - * C2 = 3/8 - * C3 = 5/16 - * C4 = 35/128 - * C5 = 63/256 - */ - vmovupd dC5+__svml_dasinh_data_internal(%rip), %ymm4 - vandpd dTopMask12+__svml_dasinh_data_internal(%rip), %ymm6, %ymm0 - -/* - * Compute S = (Y/sqrt(Y + W)) * (1 + d) - * and T = (W/sqrt(Y + W)) * (1 + d) - * so that S + T = sqrt(Y + W) * (1 + d) - * S is exact, and the rounding error in T is OK. - */ - vmulpd %ymm0, %ymm14, %ymm3 - vmulpd %ymm15, %ymm0, %ymm1 - vmovupd dHalf+__svml_dasinh_data_internal(%rip), %ymm6 - vsubpd %ymm12, %ymm3, %ymm14 - -/* - * Obtain sqrt(1 + X^2) - 1 in two pieces - * sqrt(1 + X^2) - 1 - * = sqrt(Y + W) - 1 - * = (S + T) * (1 + Corr) - 1 - * = [S - 1] + [T + (S + T) * Corr] - * We need a compensated summation for the last part. We treat S - 1 - * as the larger part; it certainly is until about X < 2^-4, and in that - * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 - * Final sum is dTmp5 (hi) + dTmp7 (lo) - */ - vaddpd %ymm1, %ymm3, %ymm2 - -/* - * Compute e = -(2 * d + d^2) - * The first FMR is exact, and the rounding error in the other is acceptable - * since d and e are ~ 2^-12 - */ - vmovapd %ymm12, %ymm5 - vfnmadd231pd %ymm3, %ymm0, %ymm5 - vfnmadd231pd %ymm1, %ymm0, %ymm5 - vfmadd213pd dC4+__svml_dasinh_data_internal(%rip), %ymm5, %ymm4 - vfmadd213pd dC3+__svml_dasinh_data_internal(%rip), %ymm5, %ymm4 - vfmadd213pd dC2+__svml_dasinh_data_internal(%rip), %ymm5, %ymm4 - vfmadd213pd %ymm6, %ymm5, %ymm4 - vmulpd %ymm4, %ymm5, %ymm0 - vfmadd213pd %ymm1, %ymm2, %ymm0 - -/* Now multiplex the two possible computations */ - vcmple_oqpd dLittleThreshold+__svml_dasinh_data_internal(%rip), %ymm10, %ymm2 - vaddpd %ymm14, %ymm0, %ymm15 - -/* dX2over2 = X^2/2 */ - vmulpd %ymm7, %ymm6, %ymm0 - -/* dX4over4 = X^4/4 */ - vmulpd %ymm0, %ymm0, %ymm8 - -/* dX46 = -X^4/4 + X^6/8 */ - vfmsub231pd %ymm0, %ymm8, %ymm8 - -/* dX46over2 = -X^4/8 + x^6/16 */ - vmulpd %ymm8, %ymm6, %ymm5 - -/* 2^ (-10-exp(X) ) */ - vmovupd ExpMask2+__svml_dasinh_data_internal(%rip), %ymm8 - vaddpd %ymm5, %ymm0, %ymm4 - vblendvpd %ymm2, %ymm4, %ymm15, %ymm1 - -/* - * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. - * It's always safe to assume |X| is larger. - * This is the final 2-part argument to the log1p function - */ - vaddpd %ymm1, %ymm10, %ymm3 - -/* Now multiplex to the case X = 2^-30 * |input|, Xl = dL = 0 in the "big" case. */ - vmulpd XScale+__svml_dasinh_data_internal(%rip), %ymm10, %ymm10 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * also adding L into Xl. - * compute 1+x as high, low parts - */ - vmaxpd %ymm3, %ymm12, %ymm6 - vminpd %ymm3, %ymm12, %ymm7 - vandpd %ymm9, %ymm3, %ymm9 - vcmplt_oqpd XThreshold+__svml_dasinh_data_internal(%rip), %ymm9, %ymm0 - vaddpd %ymm7, %ymm6, %ymm5 - vorpd XhMask+__svml_dasinh_data_internal(%rip), %ymm0, %ymm4 - vandpd %ymm4, %ymm5, %ymm1 - vblendvpd %ymm11, %ymm1, %ymm10, %ymm5 - vsubpd %ymm1, %ymm6, %ymm2 - -/* exponent bits */ - vpsrlq $20, %ymm5, %ymm10 - vaddpd %ymm2, %ymm7, %ymm3 - -/* - * Now resume the main code. - * preserve mantissa, set input exponent to 2^(-10) - */ - vandpd ExpMask+__svml_dasinh_data_internal(%rip), %ymm5, %ymm0 - vorpd Two10+__svml_dasinh_data_internal(%rip), %ymm0, %ymm2 - -/* reciprocal approximation good to at least 11 bits */ - vcvtpd2ps %ymm2, %xmm6 - vrcpps %xmm6, %xmm7 - vcvtps2pd %xmm7, %ymm15 - -/* exponent of X needed to scale Xl */ - vandps ExpMask0+__svml_dasinh_data_internal(%rip), %ymm5, %ymm9 - vpsubq %ymm9, %ymm8, %ymm0 - vandpd %ymm11, %ymm3, %ymm4 - -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - vroundpd $0, %ymm15, %ymm3 - -/* scale DblRcp */ - vmulpd %ymm0, %ymm3, %ymm2 - -/* argument reduction */ - vfmsub213pd %ymm12, %ymm2, %ymm5 - vmulpd %ymm2, %ymm4, %ymm12 - vmovupd poly_coeff+64+__svml_dasinh_data_internal(%rip), %ymm2 - vaddpd %ymm12, %ymm5, %ymm5 - vfmadd213pd poly_coeff+96+__svml_dasinh_data_internal(%rip), %ymm5, %ymm2 - vmulpd %ymm5, %ymm5, %ymm4 - vextractf128 $1, %ymm10, %xmm14 - vshufps $221, %xmm14, %xmm10, %xmm1 - -/* biased exponent in DP format */ - vcvtdq2pd %xmm1, %ymm7 - -/* exponent*log(2.0) */ - vmovupd Threshold+__svml_dasinh_data_internal(%rip), %ymm10 - -/* Add 31 to the exponent in the "large" case to get log(2 * input) */ - vaddpd dThirtyOne+__svml_dasinh_data_internal(%rip), %ymm7, %ymm6 - vblendvpd %ymm11, %ymm7, %ymm6, %ymm1 - -/* - * prepare table index - * table lookup - */ - vpsrlq $40, %ymm3, %ymm11 - vcmplt_oqpd %ymm3, %ymm10, %ymm3 - vandpd Bias+__svml_dasinh_data_internal(%rip), %ymm3, %ymm14 - vorpd Bias1+__svml_dasinh_data_internal(%rip), %ymm14, %ymm15 - vsubpd %ymm15, %ymm1, %ymm1 - vmulpd L2+__svml_dasinh_data_internal(%rip), %ymm1, %ymm3 - -/* polynomial */ - vmovupd poly_coeff+__svml_dasinh_data_internal(%rip), %ymm1 - vfmadd213pd poly_coeff+32+__svml_dasinh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213pd %ymm2, %ymm4, %ymm1 - -/* reconstruction */ - vfmadd213pd %ymm5, %ymm4, %ymm1 - vextractf128 $1, %ymm11, %xmm7 - vmovd %xmm11, %edx - vmovd %xmm7, %esi - movslq %edx, %rdx - vpextrd $2, %xmm11, %ecx - movslq %esi, %rsi - vpextrd $2, %xmm7, %edi - movslq %ecx, %rcx - movslq %edi, %rdi - vmovsd (%r8,%rdx), %xmm0 - vmovsd (%r8,%rsi), %xmm8 - vmovhpd (%r8,%rcx), %xmm0, %xmm6 - vmovhpd (%r8,%rdi), %xmm8, %xmm9 - vinsertf128 $1, %xmm9, %ymm6, %ymm0 - vaddpd %ymm1, %ymm0, %ymm0 - vaddpd %ymm0, %ymm3, %ymm7 - -/* Finally, reincorporate the original sign. */ - vandpd dSign+__svml_dasinh_data_internal(%rip), %ymm13, %ymm6 - vxorpd %ymm7, %ymm6, %ymm0 - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm13 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea Table_Lookup_Bias+__svml_dasinh_data_internal(%rip), %r8 + vmovapd %ymm0, %ymm13 + vmovupd SgnMask+__svml_dasinh_data_internal(%rip), %ymm9 + + /* Load the constant 1 and a sign mask */ + vmovupd One+__svml_dasinh_data_internal(%rip), %ymm12 + + /* No need to split X when FMA is available in hardware. */ + vmulpd %ymm13, %ymm13, %ymm8 + + /* + * Get the absolute value of the input, since we will exploit antisymmetry + * and mostly assume X >= 0 in the core computation + */ + vandpd %ymm9, %ymm13, %ymm10 + + /* + * Check whether the input is finite, by checking |X| <= MaxFloat + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN <= MaxFloat) + */ + vcmpnle_uqpd dLargestFinite+__svml_dasinh_data_internal(%rip), %ymm10, %ymm14 + + /* + * Finally, express Y + W = X^2 + 1 accurately where Y has <= 29 bits. + * If |X| <= 1 then |XHi| <= 1 and so |X2Hi| <= 1, so we can treat 1 + * as the dominant component in the compensated summation. Otherwise, + * if |X| >= 1, then since X2Hi only has 52 significant bits, the basic + * addition will be exact anyway until we get to |X| >= 2^53. But by + * that time the log function is well-conditioned enough that the + * rounding error doesn't matter. Hence we can treat 1 as dominant even + * if it literally isn't. + */ + vaddpd %ymm8, %ymm12, %ymm5 + + /* + * The following computation can go wrong for very large X, basically + * because X^2 overflows. But for large X we have + * asinh(X) / log(2 X) - 1 =~= 1/(4 * X^2), so for X >= 2^30 + * we can just later stick X back into the log and tweak up the exponent. + * Actually we scale X by 2^-30 and tweak the exponent up by 31, + * to stay in the safe range for the later log computation. + * Compute a flag now telling us when do do this. + */ + vcmplt_oqpd dBigThreshold+__svml_dasinh_data_internal(%rip), %ymm10, %ymm11 + vsubpd %ymm5, %ymm12, %ymm15 + vmovmskpd %ymm14, %eax + vandpd dTopMask29+__svml_dasinh_data_internal(%rip), %ymm5, %ymm14 + + /* + * Compute R = 1/sqrt(Y + W) * (1 + d) + * Force R to <= 12 significant bits in case it isn't already + * This means that R * Y and R^2 * Y are exactly representable. + */ + vcvtpd2ps %ymm14, %xmm1 + vaddpd %ymm15, %ymm8, %ymm0 + vsubpd %ymm14, %ymm5, %ymm2 + vrsqrtps %xmm1, %xmm3 + vmovapd %ymm13, %ymm7 + vfmsub213pd %ymm8, %ymm13, %ymm7 + vcvtps2pd %xmm3, %ymm6 + vaddpd %ymm0, %ymm7, %ymm4 + + /* + * Unfortunately, we can still be in trouble if |X| <= 2^-10, since + * the absolute error 2^-(12+53)-ish in sqrt(1 + X^2) gets scaled up + * by 1/X and comes close to our threshold. Hence if |X| <= 2^-9, + * perform an alternative computation + * sqrt(1 + X^2) - 1 = X^2/2 - X^4/8 + X^6/16 + * X2 = X^2 + */ + vaddpd %ymm7, %ymm8, %ymm7 + vaddpd %ymm2, %ymm4, %ymm15 + + /* + * Now 1 / (1 + d) + * = 1 / (1 + (sqrt(1 - e) - 1)) + * = 1 / sqrt(1 - e) + * = 1 + 1/2 * e + 3/8 * e^2 + 5/16 * e^3 + 35/128 * e^4 + + * 63/256 * e^5 + 231/1024 * e^6 + .... + * So compute the first five nonconstant terms of that, so that + * we have a relative correction (1 + Corr) to apply to S etc. + * C1 = 1/2 + * C2 = 3/8 + * C3 = 5/16 + * C4 = 35/128 + * C5 = 63/256 + */ + vmovupd dC5+__svml_dasinh_data_internal(%rip), %ymm4 + vandpd dTopMask12+__svml_dasinh_data_internal(%rip), %ymm6, %ymm0 + + /* + * Compute S = (Y/sqrt(Y + W)) * (1 + d) + * and T = (W/sqrt(Y + W)) * (1 + d) + * so that S + T = sqrt(Y + W) * (1 + d) + * S is exact, and the rounding error in T is OK. + */ + vmulpd %ymm0, %ymm14, %ymm3 + vmulpd %ymm15, %ymm0, %ymm1 + vmovupd dHalf+__svml_dasinh_data_internal(%rip), %ymm6 + vsubpd %ymm12, %ymm3, %ymm14 + + /* + * Obtain sqrt(1 + X^2) - 1 in two pieces + * sqrt(1 + X^2) - 1 + * = sqrt(Y + W) - 1 + * = (S + T) * (1 + Corr) - 1 + * = [S - 1] + [T + (S + T) * Corr] + * We need a compensated summation for the last part. We treat S - 1 + * as the larger part; it certainly is until about X < 2^-4, and in that + * case, the error is affordable since X dominates over sqrt(1 + X^2) - 1 + * Final sum is dTmp5 (hi) + dTmp7 (lo) + */ + vaddpd %ymm1, %ymm3, %ymm2 + + /* + * Compute e = -(2 * d + d^2) + * The first FMR is exact, and the rounding error in the other is acceptable + * since d and e are ~ 2^-12 + */ + vmovapd %ymm12, %ymm5 + vfnmadd231pd %ymm3, %ymm0, %ymm5 + vfnmadd231pd %ymm1, %ymm0, %ymm5 + vfmadd213pd dC4+__svml_dasinh_data_internal(%rip), %ymm5, %ymm4 + vfmadd213pd dC3+__svml_dasinh_data_internal(%rip), %ymm5, %ymm4 + vfmadd213pd dC2+__svml_dasinh_data_internal(%rip), %ymm5, %ymm4 + vfmadd213pd %ymm6, %ymm5, %ymm4 + vmulpd %ymm4, %ymm5, %ymm0 + vfmadd213pd %ymm1, %ymm2, %ymm0 + + /* Now multiplex the two possible computations */ + vcmple_oqpd dLittleThreshold+__svml_dasinh_data_internal(%rip), %ymm10, %ymm2 + vaddpd %ymm14, %ymm0, %ymm15 + + /* dX2over2 = X^2/2 */ + vmulpd %ymm7, %ymm6, %ymm0 + + /* dX4over4 = X^4/4 */ + vmulpd %ymm0, %ymm0, %ymm8 + + /* dX46 = -X^4/4 + X^6/8 */ + vfmsub231pd %ymm0, %ymm8, %ymm8 + + /* dX46over2 = -X^4/8 + x^6/16 */ + vmulpd %ymm8, %ymm6, %ymm5 + + /* 2^ (-10-exp(X) ) */ + vmovupd ExpMask2+__svml_dasinh_data_internal(%rip), %ymm8 + vaddpd %ymm5, %ymm0, %ymm4 + vblendvpd %ymm2, %ymm4, %ymm15, %ymm1 + + /* + * Now do another compensated sum to add |X| + [sqrt(1 + X^2) - 1]. + * It's always safe to assume |X| is larger. + * This is the final 2-part argument to the log1p function + */ + vaddpd %ymm1, %ymm10, %ymm3 + + /* Now multiplex to the case X = 2^-30 * |input|, Xl = dL = 0 in the "big" case. */ + vmulpd XScale+__svml_dasinh_data_internal(%rip), %ymm10, %ymm10 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * also adding L into Xl. + * compute 1+x as high, low parts + */ + vmaxpd %ymm3, %ymm12, %ymm6 + vminpd %ymm3, %ymm12, %ymm7 + vandpd %ymm9, %ymm3, %ymm9 + vcmplt_oqpd XThreshold+__svml_dasinh_data_internal(%rip), %ymm9, %ymm0 + vaddpd %ymm7, %ymm6, %ymm5 + vorpd XhMask+__svml_dasinh_data_internal(%rip), %ymm0, %ymm4 + vandpd %ymm4, %ymm5, %ymm1 + vblendvpd %ymm11, %ymm1, %ymm10, %ymm5 + vsubpd %ymm1, %ymm6, %ymm2 + + /* exponent bits */ + vpsrlq $20, %ymm5, %ymm10 + vaddpd %ymm2, %ymm7, %ymm3 + + /* + * Now resume the main code. + * preserve mantissa, set input exponent to 2^(-10) + */ + vandpd ExpMask+__svml_dasinh_data_internal(%rip), %ymm5, %ymm0 + vorpd Two10+__svml_dasinh_data_internal(%rip), %ymm0, %ymm2 + + /* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm2, %xmm6 + vrcpps %xmm6, %xmm7 + vcvtps2pd %xmm7, %ymm15 + + /* exponent of X needed to scale Xl */ + vandps ExpMask0+__svml_dasinh_data_internal(%rip), %ymm5, %ymm9 + vpsubq %ymm9, %ymm8, %ymm0 + vandpd %ymm11, %ymm3, %ymm4 + + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm15, %ymm3 + + /* scale DblRcp */ + vmulpd %ymm0, %ymm3, %ymm2 + + /* argument reduction */ + vfmsub213pd %ymm12, %ymm2, %ymm5 + vmulpd %ymm2, %ymm4, %ymm12 + vmovupd poly_coeff+64+__svml_dasinh_data_internal(%rip), %ymm2 + vaddpd %ymm12, %ymm5, %ymm5 + vfmadd213pd poly_coeff+96+__svml_dasinh_data_internal(%rip), %ymm5, %ymm2 + vmulpd %ymm5, %ymm5, %ymm4 + vextractf128 $1, %ymm10, %xmm14 + vshufps $221, %xmm14, %xmm10, %xmm1 + + /* biased exponent in DP format */ + vcvtdq2pd %xmm1, %ymm7 + + /* exponent*log(2.0) */ + vmovupd Threshold+__svml_dasinh_data_internal(%rip), %ymm10 + + /* Add 31 to the exponent in the "large" case to get log(2 * input) */ + vaddpd dThirtyOne+__svml_dasinh_data_internal(%rip), %ymm7, %ymm6 + vblendvpd %ymm11, %ymm7, %ymm6, %ymm1 + + /* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm11 + vcmplt_oqpd %ymm3, %ymm10, %ymm3 + vandpd Bias+__svml_dasinh_data_internal(%rip), %ymm3, %ymm14 + vorpd Bias1+__svml_dasinh_data_internal(%rip), %ymm14, %ymm15 + vsubpd %ymm15, %ymm1, %ymm1 + vmulpd L2+__svml_dasinh_data_internal(%rip), %ymm1, %ymm3 + + /* polynomial */ + vmovupd poly_coeff+__svml_dasinh_data_internal(%rip), %ymm1 + vfmadd213pd poly_coeff+32+__svml_dasinh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213pd %ymm2, %ymm4, %ymm1 + + /* reconstruction */ + vfmadd213pd %ymm5, %ymm4, %ymm1 + vextractf128 $1, %ymm11, %xmm7 + vmovd %xmm11, %edx + vmovd %xmm7, %esi + movslq %edx, %rdx + vpextrd $2, %xmm11, %ecx + movslq %esi, %rsi + vpextrd $2, %xmm7, %edi + movslq %ecx, %rcx + movslq %edi, %rdi + vmovsd (%r8, %rdx), %xmm0 + vmovsd (%r8, %rsi), %xmm8 + vmovhpd (%r8, %rcx), %xmm0, %xmm6 + vmovhpd (%r8, %rdi), %xmm8, %xmm9 + vinsertf128 $1, %xmm9, %ymm6, %ymm0 + vaddpd %ymm1, %ymm0, %ymm0 + vaddpd %ymm0, %ymm3, %ymm7 + + /* Finally, reincorporate the original sign. */ + vandpd dSign+__svml_dasinh_data_internal(%rip), %ymm13, %ymm6 + vxorpd %ymm7, %ymm6, %ymm0 + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm13 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm13, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 - - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm13, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 + + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call asinh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call asinh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_asinh_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dasinh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; - __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; - __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; - __declspec(align(32)) VUINT32 ExpMask[4][2]; - __declspec(align(32)) VUINT32 Two10[4][2]; - __declspec(align(32)) VUINT32 MinLog1p[4][2]; - __declspec(align(32)) VUINT32 MaxLog1p[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 SgnMask[4][2]; - __declspec(align(32)) VUINT32 XThreshold[4][2]; - __declspec(align(32)) VUINT32 XhMask[4][2]; - __declspec(align(32)) VUINT32 Threshold[4][2]; - __declspec(align(32)) VUINT32 Bias[4][2]; - __declspec(align(32)) VUINT32 Bias1[4][2]; - __declspec(align(32)) VUINT32 ExpMask0[4][2]; - __declspec(align(32)) VUINT32 ExpMask2[4][2]; - __declspec(align(32)) VUINT32 L2[4][2]; - __declspec(align(32)) VUINT32 dBigThreshold[4][2]; - __declspec(align(32)) VUINT32 dC2[4][2]; - __declspec(align(32)) VUINT32 dC3[4][2]; - __declspec(align(32)) VUINT32 dC4[4][2]; - __declspec(align(32)) VUINT32 dC5[4][2]; - __declspec(align(32)) VUINT32 dHalf[4][2]; - __declspec(align(32)) VUINT32 dLargestFinite[4][2]; - __declspec(align(32)) VUINT32 dLittleThreshold[4][2]; - __declspec(align(32)) VUINT32 dSign[4][2]; - __declspec(align(32)) VUINT32 dThirtyOne[4][2]; - __declspec(align(32)) VUINT32 dTopMask12[4][2]; - __declspec(align(32)) VUINT32 dTopMask29[4][2]; - __declspec(align(32)) VUINT32 XScale[4][2]; + __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; + __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; + __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; + __declspec(align(32)) VUINT32 ExpMask[4][2]; + __declspec(align(32)) VUINT32 Two10[4][2]; + __declspec(align(32)) VUINT32 MinLog1p[4][2]; + __declspec(align(32)) VUINT32 MaxLog1p[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 SgnMask[4][2]; + __declspec(align(32)) VUINT32 XThreshold[4][2]; + __declspec(align(32)) VUINT32 XhMask[4][2]; + __declspec(align(32)) VUINT32 Threshold[4][2]; + __declspec(align(32)) VUINT32 Bias[4][2]; + __declspec(align(32)) VUINT32 Bias1[4][2]; + __declspec(align(32)) VUINT32 ExpMask0[4][2]; + __declspec(align(32)) VUINT32 ExpMask2[4][2]; + __declspec(align(32)) VUINT32 L2[4][2]; + __declspec(align(32)) VUINT32 dBigThreshold[4][2]; + __declspec(align(32)) VUINT32 dC2[4][2]; + __declspec(align(32)) VUINT32 dC3[4][2]; + __declspec(align(32)) VUINT32 dC4[4][2]; + __declspec(align(32)) VUINT32 dC5[4][2]; + __declspec(align(32)) VUINT32 dHalf[4][2]; + __declspec(align(32)) VUINT32 dLargestFinite[4][2]; + __declspec(align(32)) VUINT32 dLittleThreshold[4][2]; + __declspec(align(32)) VUINT32 dSign[4][2]; + __declspec(align(32)) VUINT32 dThirtyOne[4][2]; + __declspec(align(32)) VUINT32 dTopMask12[4][2]; + __declspec(align(32)) VUINT32 dTopMask29[4][2]; + __declspec(align(32)) VUINT32 XScale[4][2]; } __svml_dasinh_data_internal; #endif __svml_dasinh_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 32 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 32 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 32 - .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 32 - .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 32 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 32 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 32 - .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 32 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 32 - .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 32 - .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 32 - .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 32 - .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 32 - .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 32 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - /*== dBigThreshold ==*/ - .align 32 - .quad 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000 - /*== dC2 ==*/ - .align 32 - .quad 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000 - /*== dC3 ==*/ - .align 32 - .quad 0x3FD4000000000000, 0x3FD4000000000000, 0x3FD4000000000000, 0x3FD4000000000000 - /*== dC4 ==*/ - .align 32 - .quad 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000 - /*== dC5 ==*/ - .align 32 - .quad 0x3FCF800000000000, 0x3FCF800000000000, 0x3FCF800000000000, 0x3FCF800000000000 - /*== dHalf ==*/ - .align 32 - .quad 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000 - /*== dLargestFinite ==*/ - .align 32 - .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF - /*== dLittleThreshold ==*/ - .align 32 - .quad 0x3F60000000000000, 0x3F60000000000000, 0x3F60000000000000, 0x3F60000000000000 - /*== dSign ==*/ - .align 32 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 - /*== dThirtyOne ==*/ - .align 32 - .quad 0x403F000000000000, 0x403F000000000000, 0x403F000000000000, 0x403F000000000000 - /*== dTopMask12 ==*/ - .align 32 - .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000 - /*== dTopMask29 ==*/ - .align 32 - .quad 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000 - /*== XScale ==*/ - .align 32 - .quad 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000 - .align 32 - .type __svml_dasinh_data_internal,@object - .size __svml_dasinh_data_internal,.-__svml_dasinh_data_internal + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 32 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 32 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 32 + .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 32 + .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 32 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 32 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 32 + .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 32 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 32 + .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 32 + .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 32 + .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 32 + .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 32 + .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 32 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + /* dBigThreshold */ + .align 32 + .quad 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000, 0x41D0000000000000 + /* dC2 */ + .align 32 + .quad 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000 + /* dC3 */ + .align 32 + .quad 0x3FD4000000000000, 0x3FD4000000000000, 0x3FD4000000000000, 0x3FD4000000000000 + /* dC4 */ + .align 32 + .quad 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000 + /* dC5 */ + .align 32 + .quad 0x3FCF800000000000, 0x3FCF800000000000, 0x3FCF800000000000, 0x3FCF800000000000 + /* dHalf */ + .align 32 + .quad 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000 + /* dLargestFinite */ + .align 32 + .quad 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF, 0x7FEFFFFFFFFFFFFF + /* dLittleThreshold */ + .align 32 + .quad 0x3F60000000000000, 0x3F60000000000000, 0x3F60000000000000, 0x3F60000000000000 + /* dSign */ + .align 32 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 + /* dThirtyOne */ + .align 32 + .quad 0x403F000000000000, 0x403F000000000000, 0x403F000000000000, 0x403F000000000000 + /* dTopMask12 */ + .align 32 + .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000 + /* dTopMask29 */ + .align 32 + .quad 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000, 0xFFFFFFFFFF000000 + /* XScale */ + .align 32 + .quad 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000, 0x3E10000000000000 + .align 32 + .type __svml_dasinh_data_internal, @object + .size __svml_dasinh_data_internal, .-__svml_dasinh_data_internal From patchwork Mon Mar 7 15:00:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602338 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=HbPSOGr1; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2wv0zPXz9sFw for ; Tue, 8 Mar 2022 02:50:39 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2A611385841A for ; Mon, 7 Mar 2022 15:50:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2A611385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668237; bh=zSAXqSy4hqNNgzVCbTAC5qhXI88JLNYsZOhtz2XmDy8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=HbPSOGr1Ecfd/Kwn8lEugT+CihBhigw7kAaVHE3CKv92uXrluJwe7YdZ/yNyLWqQS qGL5Y+iQSWgJE0tEzPaNS7dazilfCnp02YCjmyLfApaLSoF5wCoFjGPj+wYiKjU9i0 ZzsWj2KC17eJtez3rnhSonDcA9b/fld/aZ8Q71Vg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id EA1A23858014 for ; Mon, 7 Mar 2022 15:02:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EA1A23858014 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364116" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364116" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081768" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dw016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 024/126] x86_64: Fix svml_d_asinh8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:19 -0800 Message-Id: <20220307150201.10590-25-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_asinh8_core_avx512.S | 871 +++++++++--------- 1 file changed, 435 insertions(+), 436 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S index 11523ef485..5bdc6859f0 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_asinh8_core_avx512.S @@ -34,477 +34,476 @@ /* Offsets for data table __svml_dasinh_data_internal_avx512 */ -#define Log_tbl_H 0 -#define Log_tbl_L 128 -#define One 256 -#define AbsMask 320 -#define SmallThreshold 384 -#define Threshold 448 -#define LargeThreshold 512 -#define ca2 576 -#define ca1 640 -#define c4s 704 -#define c3s 768 -#define c2s 832 -#define c1s 896 -#define AddB5 960 -#define RcpBitMask 1024 -#define OneEighth 1088 -#define Four 1152 -#define poly_coeff9 1216 -#define poly_coeff8 1280 -#define poly_coeff7 1344 -#define poly_coeff6 1408 -#define poly_coeff5 1472 -#define poly_coeff4 1536 -#define poly_coeff3 1600 -#define poly_coeff2 1664 -#define poly_coeff1 1728 -#define L2H 1792 -#define L2L 1856 +#define Log_tbl_H 0 +#define Log_tbl_L 128 +#define One 256 +#define AbsMask 320 +#define SmallThreshold 384 +#define Threshold 448 +#define LargeThreshold 512 +#define ca2 576 +#define ca1 640 +#define c4s 704 +#define c3s 768 +#define c2s 832 +#define c1s 896 +#define AddB5 960 +#define RcpBitMask 1024 +#define OneEighth 1088 +#define Four 1152 +#define poly_coeff9 1216 +#define poly_coeff8 1280 +#define poly_coeff7 1344 +#define poly_coeff6 1408 +#define poly_coeff5 1472 +#define poly_coeff4 1536 +#define poly_coeff3 1600 +#define poly_coeff2 1664 +#define poly_coeff1 1728 +#define L2H 1792 +#define L2L 1856 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_asinh_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovaps %zmm0, %zmm3 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm3 -/* x^2 */ - vmulpd {rn-sae}, %zmm3, %zmm3, %zmm14 - vmovups One+__svml_dasinh_data_internal_avx512(%rip), %zmm9 + /* x^2 */ + vmulpd {rn-sae}, %zmm3, %zmm3, %zmm14 + vmovups One+__svml_dasinh_data_internal_avx512(%rip), %zmm9 -/* polynomial computation for small inputs */ - vmovups ca2+__svml_dasinh_data_internal_avx512(%rip), %zmm10 - vmovups ca1+__svml_dasinh_data_internal_avx512(%rip), %zmm11 + /* polynomial computation for small inputs */ + vmovups ca2+__svml_dasinh_data_internal_avx512(%rip), %zmm10 + vmovups ca1+__svml_dasinh_data_internal_avx512(%rip), %zmm11 -/* not a very small input ? */ - vmovups SmallThreshold+__svml_dasinh_data_internal_avx512(%rip), %zmm0 + /* not a very small input ? */ + vmovups SmallThreshold+__svml_dasinh_data_internal_avx512(%rip), %zmm0 -/* A=max(x^2, 1); */ - vmaxpd {sae}, %zmm14, %zmm9, %zmm4 + /* A=max(x^2, 1); */ + vmaxpd {sae}, %zmm14, %zmm9, %zmm4 -/* B=min(x^2, 1); */ - vminpd {sae}, %zmm14, %zmm9, %zmm5 - vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm11 + /* B=min(x^2, 1); */ + vminpd {sae}, %zmm14, %zmm9, %zmm5 + vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm11 -/* 1+x^2 */ - vaddpd {rn-sae}, %zmm9, %zmm14, %zmm8 + /* 1+x^2 */ + vaddpd {rn-sae}, %zmm9, %zmm14, %zmm8 -/* |input| */ - vandpd AbsMask+__svml_dasinh_data_internal_avx512(%rip), %zmm3, %zmm1 - vrsqrt14pd %zmm8, %zmm6 - vcmppd $21, {sae}, %zmm0, %zmm1, %k2 + /* |input| */ + vandpd AbsMask+__svml_dasinh_data_internal_avx512(%rip), %zmm3, %zmm1 + vrsqrt14pd %zmm8, %zmm6 + vcmppd $21, {sae}, %zmm0, %zmm1, %k2 -/* B_high */ - vsubpd {rn-sae}, %zmm4, %zmm8, %zmm7 + /* B_high */ + vsubpd {rn-sae}, %zmm4, %zmm8, %zmm7 -/* sign bit */ - vxorpd %zmm3, %zmm1, %zmm2 - vmulpd {rn-sae}, %zmm14, %zmm11, %zmm4 + /* sign bit */ + vxorpd %zmm3, %zmm1, %zmm2 + vmulpd {rn-sae}, %zmm14, %zmm11, %zmm4 -/* B_low */ - vsubpd {rn-sae}, %zmm7, %zmm5, %zmm13 - vmovups c2s+__svml_dasinh_data_internal_avx512(%rip), %zmm5 - vmovups c1s+__svml_dasinh_data_internal_avx512(%rip), %zmm7 + /* B_low */ + vsubpd {rn-sae}, %zmm7, %zmm5, %zmm13 + vmovups c2s+__svml_dasinh_data_internal_avx512(%rip), %zmm5 + vmovups c1s+__svml_dasinh_data_internal_avx512(%rip), %zmm7 -/* polynomial computation for small inputs */ - vfmadd213pd {rn-sae}, %zmm1, %zmm1, %zmm4 + /* polynomial computation for small inputs */ + vfmadd213pd {rn-sae}, %zmm1, %zmm1, %zmm4 -/* (x^2)_low */ - vmovaps %zmm3, %zmm15 - vfmsub213pd {rn-sae}, %zmm14, %zmm3, %zmm15 - -/* Sh ~sqrt(1+x^2) */ - vmulpd {rn-sae}, %zmm6, %zmm8, %zmm14 - -/* Yl = (x^2)_low + B_low */ - vaddpd {rn-sae}, %zmm15, %zmm13, %zmm13 - -/* very large inputs ? */ - vmovups Threshold+__svml_dasinh_data_internal_avx512(%rip), %zmm15 - -/* (Yh*R0)_low */ - vfmsub213pd {rn-sae}, %zmm14, %zmm6, %zmm8 - vcmppd $21, {sae}, %zmm15, %zmm1, %k1 - -/* Sl = (Yh*R0)_low+(R0*Yl) */ - vfmadd213pd {rn-sae}, %zmm8, %zmm6, %zmm13 - vmovups LargeThreshold+__svml_dasinh_data_internal_avx512(%rip), %zmm8 - -/* rel. error term: Eh=1-Sh*R0 */ - vmovaps %zmm9, %zmm12 - vfnmadd231pd {rn-sae}, %zmm14, %zmm6, %zmm12 - vcmppd $22, {sae}, %zmm8, %zmm1, %k0 - -/* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ - vfnmadd231pd {rn-sae}, %zmm13, %zmm6, %zmm12 - -/* - * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s - * poly_s = c1+c2*Eh+c3*Eh^2 - */ - vmovups c4s+__svml_dasinh_data_internal_avx512(%rip), %zmm6 - vmovups c3s+__svml_dasinh_data_internal_avx512(%rip), %zmm8 - -/* Sh*Eh */ - vmulpd {rn-sae}, %zmm12, %zmm14, %zmm11 - vfmadd231pd {rn-sae}, %zmm12, %zmm6, %zmm8 - -/* Sh+x */ - vaddpd {rn-sae}, %zmm1, %zmm14, %zmm6 - kmovw %k0, %edx - vfmadd213pd {rn-sae}, %zmm5, %zmm12, %zmm8 - vfmadd213pd {rn-sae}, %zmm7, %zmm12, %zmm8 - -/* Xh */ - vsubpd {rn-sae}, %zmm14, %zmm6, %zmm12 - -/* Sl + Sh*Eh*poly_s */ - vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm11 - -/* fixup for very large inputs */ - vmovups OneEighth+__svml_dasinh_data_internal_avx512(%rip), %zmm8 - -/* Xl */ - vsubpd {rn-sae}, %zmm12, %zmm1, %zmm12 - -/* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ - vaddpd {rn-sae}, %zmm11, %zmm6, %zmm10 - -/* Sl_high */ - vsubpd {rn-sae}, %zmm6, %zmm10, %zmm5 - vmulpd {rn-sae}, %zmm8, %zmm1, %zmm10{%k1} - -/* Table lookups */ - vmovups __svml_dasinh_data_internal_avx512(%rip), %zmm6 - -/* Sl_l */ - vsubpd {rn-sae}, %zmm5, %zmm11, %zmm7 - vrcp14pd %zmm10, %zmm13 - -/* Xin_low */ - vaddpd {rn-sae}, %zmm12, %zmm7, %zmm14 - vmovups Log_tbl_L+__svml_dasinh_data_internal_avx512(%rip), %zmm7 - vmovups poly_coeff6+__svml_dasinh_data_internal_avx512(%rip), %zmm12 - -/* round reciprocal to 1+4b mantissas */ - vpaddq AddB5+__svml_dasinh_data_internal_avx512(%rip), %zmm13, %zmm11 - -/* fixup for very large inputs */ - vxorpd %zmm14, %zmm14, %zmm14{%k1} - vmovups poly_coeff5+__svml_dasinh_data_internal_avx512(%rip), %zmm13 - vandpd RcpBitMask+__svml_dasinh_data_internal_avx512(%rip), %zmm11, %zmm15 - vmovups poly_coeff7+__svml_dasinh_data_internal_avx512(%rip), %zmm11 - -/* Prepare table index */ - vpsrlq $48, %zmm15, %zmm5 - -/* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ - vfmsub231pd {rn-sae}, %zmm15, %zmm10, %zmm9 - -/* exponents */ - vgetexppd {sae}, %zmm15, %zmm8 - vmovups Four+__svml_dasinh_data_internal_avx512(%rip), %zmm10 - vpermt2pd Log_tbl_H+64+__svml_dasinh_data_internal_avx512(%rip), %zmm5, %zmm6 - vpermt2pd Log_tbl_L+64+__svml_dasinh_data_internal_avx512(%rip), %zmm5, %zmm7 - vsubpd {rn-sae}, %zmm10, %zmm8, %zmm8{%k1} - vfmadd231pd {rn-sae}, %zmm15, %zmm14, %zmm9 - -/* polynomials */ - vmovups poly_coeff9+__svml_dasinh_data_internal_avx512(%rip), %zmm10 - vmovups poly_coeff8+__svml_dasinh_data_internal_avx512(%rip), %zmm5 - vmovups poly_coeff4+__svml_dasinh_data_internal_avx512(%rip), %zmm14 - -/* -K*L2H + Th */ - vmovups L2H+__svml_dasinh_data_internal_avx512(%rip), %zmm15 - vfmadd231pd {rn-sae}, %zmm9, %zmm10, %zmm5 - -/* -K*L2L + Tl */ - vmovups L2L+__svml_dasinh_data_internal_avx512(%rip), %zmm10 - vfnmadd231pd {rn-sae}, %zmm8, %zmm15, %zmm6 - vfmadd213pd {rn-sae}, %zmm11, %zmm9, %zmm5 - vfnmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm8 - vmovups poly_coeff3+__svml_dasinh_data_internal_avx512(%rip), %zmm7 - vmovups poly_coeff1+__svml_dasinh_data_internal_avx512(%rip), %zmm10 - -/* R^2 */ - vmulpd {rn-sae}, %zmm9, %zmm9, %zmm11 - vfmadd213pd {rn-sae}, %zmm12, %zmm9, %zmm5 - vfmadd213pd {rn-sae}, %zmm13, %zmm9, %zmm5 - vfmadd213pd {rn-sae}, %zmm14, %zmm9, %zmm5 - vfmadd213pd {rn-sae}, %zmm7, %zmm9, %zmm5 - vmovups poly_coeff2+__svml_dasinh_data_internal_avx512(%rip), %zmm7 - vfmadd213pd {rn-sae}, %zmm7, %zmm9, %zmm5 - vfmadd213pd {rn-sae}, %zmm10, %zmm9, %zmm5 - -/* Tl + R^2*Poly */ - vfmadd213pd {rn-sae}, %zmm8, %zmm11, %zmm5 - -/* R+Tl + R^2*Poly */ - vaddpd {rn-sae}, %zmm9, %zmm5, %zmm9 - vaddpd {rn-sae}, %zmm9, %zmm6, %zmm4{%k2} - vxorpd %zmm2, %zmm4, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm3 - -/* Restore registers - * and exit the function - */ + /* (x^2)_low */ + vmovaps %zmm3, %zmm15 + vfmsub213pd {rn-sae}, %zmm14, %zmm3, %zmm15 + + /* Sh ~sqrt(1+x^2) */ + vmulpd {rn-sae}, %zmm6, %zmm8, %zmm14 + + /* Yl = (x^2)_low + B_low */ + vaddpd {rn-sae}, %zmm15, %zmm13, %zmm13 + + /* very large inputs ? */ + vmovups Threshold+__svml_dasinh_data_internal_avx512(%rip), %zmm15 + + /* (Yh*R0)_low */ + vfmsub213pd {rn-sae}, %zmm14, %zmm6, %zmm8 + vcmppd $21, {sae}, %zmm15, %zmm1, %k1 + + /* Sl = (Yh*R0)_low+(R0*Yl) */ + vfmadd213pd {rn-sae}, %zmm8, %zmm6, %zmm13 + vmovups LargeThreshold+__svml_dasinh_data_internal_avx512(%rip), %zmm8 + + /* rel. error term: Eh=1-Sh*R0 */ + vmovaps %zmm9, %zmm12 + vfnmadd231pd {rn-sae}, %zmm14, %zmm6, %zmm12 + vcmppd $22, {sae}, %zmm8, %zmm1, %k0 + + /* rel. error term: Eh=(1-Sh*R0)-Sl*R0 */ + vfnmadd231pd {rn-sae}, %zmm13, %zmm6, %zmm12 + + /* + * sqrt(1+x^2) ~ Sh + Sl + Sh*Eh*poly_s + * poly_s = c1+c2*Eh+c3*Eh^2 + */ + vmovups c4s+__svml_dasinh_data_internal_avx512(%rip), %zmm6 + vmovups c3s+__svml_dasinh_data_internal_avx512(%rip), %zmm8 + + /* Sh*Eh */ + vmulpd {rn-sae}, %zmm12, %zmm14, %zmm11 + vfmadd231pd {rn-sae}, %zmm12, %zmm6, %zmm8 + + /* Sh+x */ + vaddpd {rn-sae}, %zmm1, %zmm14, %zmm6 + kmovw %k0, %edx + vfmadd213pd {rn-sae}, %zmm5, %zmm12, %zmm8 + vfmadd213pd {rn-sae}, %zmm7, %zmm12, %zmm8 + + /* Xh */ + vsubpd {rn-sae}, %zmm14, %zmm6, %zmm12 + + /* Sl + Sh*Eh*poly_s */ + vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm11 + + /* fixup for very large inputs */ + vmovups OneEighth+__svml_dasinh_data_internal_avx512(%rip), %zmm8 + + /* Xl */ + vsubpd {rn-sae}, %zmm12, %zmm1, %zmm12 + + /* Xin0+Sl+Sh*Eh*poly_s ~ x+sqrt(1+x^2) */ + vaddpd {rn-sae}, %zmm11, %zmm6, %zmm10 + + /* Sl_high */ + vsubpd {rn-sae}, %zmm6, %zmm10, %zmm5 + vmulpd {rn-sae}, %zmm8, %zmm1, %zmm10{%k1} + + /* Table lookups */ + vmovups __svml_dasinh_data_internal_avx512(%rip), %zmm6 + + /* Sl_l */ + vsubpd {rn-sae}, %zmm5, %zmm11, %zmm7 + vrcp14pd %zmm10, %zmm13 + + /* Xin_low */ + vaddpd {rn-sae}, %zmm12, %zmm7, %zmm14 + vmovups Log_tbl_L+__svml_dasinh_data_internal_avx512(%rip), %zmm7 + vmovups poly_coeff6+__svml_dasinh_data_internal_avx512(%rip), %zmm12 + + /* round reciprocal to 1+4b mantissas */ + vpaddq AddB5+__svml_dasinh_data_internal_avx512(%rip), %zmm13, %zmm11 + + /* fixup for very large inputs */ + vxorpd %zmm14, %zmm14, %zmm14{%k1} + vmovups poly_coeff5+__svml_dasinh_data_internal_avx512(%rip), %zmm13 + vandpd RcpBitMask+__svml_dasinh_data_internal_avx512(%rip), %zmm11, %zmm15 + vmovups poly_coeff7+__svml_dasinh_data_internal_avx512(%rip), %zmm11 + + /* Prepare table index */ + vpsrlq $48, %zmm15, %zmm5 + + /* reduced argument for log(): (Rcp*Xin-1)+Rcp*Xin_low */ + vfmsub231pd {rn-sae}, %zmm15, %zmm10, %zmm9 + + /* exponents */ + vgetexppd {sae}, %zmm15, %zmm8 + vmovups Four+__svml_dasinh_data_internal_avx512(%rip), %zmm10 + vpermt2pd Log_tbl_H+64+__svml_dasinh_data_internal_avx512(%rip), %zmm5, %zmm6 + vpermt2pd Log_tbl_L+64+__svml_dasinh_data_internal_avx512(%rip), %zmm5, %zmm7 + vsubpd {rn-sae}, %zmm10, %zmm8, %zmm8{%k1} + vfmadd231pd {rn-sae}, %zmm15, %zmm14, %zmm9 + + /* polynomials */ + vmovups poly_coeff9+__svml_dasinh_data_internal_avx512(%rip), %zmm10 + vmovups poly_coeff8+__svml_dasinh_data_internal_avx512(%rip), %zmm5 + vmovups poly_coeff4+__svml_dasinh_data_internal_avx512(%rip), %zmm14 + + /* -K*L2H + Th */ + vmovups L2H+__svml_dasinh_data_internal_avx512(%rip), %zmm15 + vfmadd231pd {rn-sae}, %zmm9, %zmm10, %zmm5 + + /* -K*L2L + Tl */ + vmovups L2L+__svml_dasinh_data_internal_avx512(%rip), %zmm10 + vfnmadd231pd {rn-sae}, %zmm8, %zmm15, %zmm6 + vfmadd213pd {rn-sae}, %zmm11, %zmm9, %zmm5 + vfnmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm8 + vmovups poly_coeff3+__svml_dasinh_data_internal_avx512(%rip), %zmm7 + vmovups poly_coeff1+__svml_dasinh_data_internal_avx512(%rip), %zmm10 + + /* R^2 */ + vmulpd {rn-sae}, %zmm9, %zmm9, %zmm11 + vfmadd213pd {rn-sae}, %zmm12, %zmm9, %zmm5 + vfmadd213pd {rn-sae}, %zmm13, %zmm9, %zmm5 + vfmadd213pd {rn-sae}, %zmm14, %zmm9, %zmm5 + vfmadd213pd {rn-sae}, %zmm7, %zmm9, %zmm5 + vmovups poly_coeff2+__svml_dasinh_data_internal_avx512(%rip), %zmm7 + vfmadd213pd {rn-sae}, %zmm7, %zmm9, %zmm5 + vfmadd213pd {rn-sae}, %zmm10, %zmm9, %zmm5 + + /* Tl + R^2*Poly */ + vfmadd213pd {rn-sae}, %zmm8, %zmm11, %zmm5 + + /* R+Tl + R^2*Poly */ + vaddpd {rn-sae}, %zmm9, %zmm5, %zmm9 + vaddpd {rn-sae}, %zmm9, %zmm6, %zmm4{%k2} + vxorpd %zmm2, %zmm4, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm3, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm3, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call asinh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call asinh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_asinh_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dasinh_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl_H[16][2]; - __declspec(align(64)) VUINT32 Log_tbl_L[16][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 AbsMask[8][2]; - __declspec(align(64)) VUINT32 SmallThreshold[8][2]; - __declspec(align(64)) VUINT32 Threshold[8][2]; - __declspec(align(64)) VUINT32 LargeThreshold[8][2]; - __declspec(align(64)) VUINT32 ca2[8][2]; - __declspec(align(64)) VUINT32 ca1[8][2]; - __declspec(align(64)) VUINT32 c4s[8][2]; - __declspec(align(64)) VUINT32 c3s[8][2]; - __declspec(align(64)) VUINT32 c2s[8][2]; - __declspec(align(64)) VUINT32 c1s[8][2]; - __declspec(align(64)) VUINT32 AddB5[8][2]; - __declspec(align(64)) VUINT32 RcpBitMask[8][2]; - __declspec(align(64)) VUINT32 OneEighth[8][2]; - __declspec(align(64)) VUINT32 Four[8][2]; - __declspec(align(64)) VUINT32 poly_coeff9[8][2]; - __declspec(align(64)) VUINT32 poly_coeff8[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - __declspec(align(64)) VUINT32 L2H[8][2]; - __declspec(align(64)) VUINT32 L2L[8][2]; - } __svml_dasinh_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl_H[16][2]; + __declspec(align(64)) VUINT32 Log_tbl_L[16][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 AbsMask[8][2]; + __declspec(align(64)) VUINT32 SmallThreshold[8][2]; + __declspec(align(64)) VUINT32 Threshold[8][2]; + __declspec(align(64)) VUINT32 LargeThreshold[8][2]; + __declspec(align(64)) VUINT32 ca2[8][2]; + __declspec(align(64)) VUINT32 ca1[8][2]; + __declspec(align(64)) VUINT32 c4s[8][2]; + __declspec(align(64)) VUINT32 c3s[8][2]; + __declspec(align(64)) VUINT32 c2s[8][2]; + __declspec(align(64)) VUINT32 c1s[8][2]; + __declspec(align(64)) VUINT32 AddB5[8][2]; + __declspec(align(64)) VUINT32 RcpBitMask[8][2]; + __declspec(align(64)) VUINT32 OneEighth[8][2]; + __declspec(align(64)) VUINT32 Four[8][2]; + __declspec(align(64)) VUINT32 poly_coeff9[8][2]; + __declspec(align(64)) VUINT32 poly_coeff8[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; + __declspec(align(64)) VUINT32 L2H[8][2]; + __declspec(align(64)) VUINT32 L2L[8][2]; +} __svml_dasinh_data_internal_avx512; #endif __svml_dasinh_data_internal_avx512: - /*== Log_tbl_H ==*/ - .quad 0x0000000000000000 - .quad 0xbfaf0a30c0120000 - .quad 0xbfbe27076e2b0000 - .quad 0xbfc5ff3070a78000 - .quad 0xbfcc8ff7c79a8000 - .quad 0xbfd1675cababc000 - .quad 0xbfd4618bc21c4000 - .quad 0xbfd739d7f6bbc000 - .quad 0xbfd9f323ecbf8000 - .quad 0xbfdc8ff7c79a8000 - .quad 0xbfdf128f5faf0000 - .quad 0xbfe0be72e4252000 - .quad 0xbfe1e85f5e704000 - .quad 0xbfe307d7334f2000 - .quad 0xbfe41d8fe8468000 - .quad 0xbfe52a2d265bc000 - /*== Log_tbl_L ==*/ - .align 64 - .quad 0x0000000000000000 - .quad 0x3d53ab33d066d1d2 - .quad 0x3d2a342c2af0003c - .quad 0xbd43d3c873e20a07 - .quad 0xbd4a21ac25d81ef3 - .quad 0x3d59f1fc63382a8f - .quad 0xbd5ec27d0b7b37b3 - .quad 0xbd50069ce24c53fb - .quad 0xbd584bf2b68d766f - .quad 0xbd5a21ac25d81ef3 - .quad 0xbd3bb2cd720ec44c - .quad 0xbd55056d312f7668 - .quad 0xbd1a07bd8b34be7c - .quad 0x3d5e83c094debc15 - .quad 0x3d5aa33736867a17 - .quad 0xbd46abb9df22bc57 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== AbsMask ==*/ - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== SmallThreshold ==*/ - .align 64 - .quad 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000 - /*== Threshold ==*/ - .align 64 - .quad 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000 - /*== LargeThreshold ==*/ - .align 64 - .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff - /*== ca2 ==*/ - .align 64 - .quad 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7 - /*== ca1 ==*/ - .align 64 - .quad 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e - /*== c4s ==*/ - .align 64 - .quad 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612 - /*== c3s ==*/ - .align 64 - .quad 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000 - /*== c2s ==*/ - .align 64 - .quad 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000 - /*== c1s ==*/ - .align 64 - .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 - /*== AddB5 ==*/ - .align 64 - .quad 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000 - /*== RcpBitMask ==*/ - .align 64 - .quad 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000 - /*==OneEighth ==*/ - .align 64 - .quad 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000 - /*== Four ==*/ - .align 64 - .quad 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000 - /*== poly_coeff9 ==*/ - .align 64 - .quad 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368 - /*== poly_coeff8 ==*/ - .align 64 - .quad 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778 - /*== poly_coeff7 ==*/ - .align 64 - .quad 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9 - /*== poly_coeff6 ==*/ - .align 64 - .quad 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1 - /*== poly_coeff5 ==*/ - .align 64 - .quad 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736 - /*== poly_coeff4 ==*/ - .align 64 - .quad 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af - /*== poly_coeff3 ==*/ - .align 64 - .quad 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65 - /*== poly_coeff2 ==*/ - .align 64 - .quad 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1 - /*== poly_coeff1 ==*/ - .align 64 - .quad 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .quad 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000 - /*== L2L = log(2)_low ==*/ - .align 64 - .quad 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000 - .align 64 - .type __svml_dasinh_data_internal_avx512,@object - .size __svml_dasinh_data_internal_avx512,.-__svml_dasinh_data_internal_avx512 + /* Log_tbl_H */ + .quad 0x0000000000000000 + .quad 0xbfaf0a30c0120000 + .quad 0xbfbe27076e2b0000 + .quad 0xbfc5ff3070a78000 + .quad 0xbfcc8ff7c79a8000 + .quad 0xbfd1675cababc000 + .quad 0xbfd4618bc21c4000 + .quad 0xbfd739d7f6bbc000 + .quad 0xbfd9f323ecbf8000 + .quad 0xbfdc8ff7c79a8000 + .quad 0xbfdf128f5faf0000 + .quad 0xbfe0be72e4252000 + .quad 0xbfe1e85f5e704000 + .quad 0xbfe307d7334f2000 + .quad 0xbfe41d8fe8468000 + .quad 0xbfe52a2d265bc000 + /* Log_tbl_L */ + .align 64 + .quad 0x0000000000000000 + .quad 0x3d53ab33d066d1d2 + .quad 0x3d2a342c2af0003c + .quad 0xbd43d3c873e20a07 + .quad 0xbd4a21ac25d81ef3 + .quad 0x3d59f1fc63382a8f + .quad 0xbd5ec27d0b7b37b3 + .quad 0xbd50069ce24c53fb + .quad 0xbd584bf2b68d766f + .quad 0xbd5a21ac25d81ef3 + .quad 0xbd3bb2cd720ec44c + .quad 0xbd55056d312f7668 + .quad 0xbd1a07bd8b34be7c + .quad 0x3d5e83c094debc15 + .quad 0x3d5aa33736867a17 + .quad 0xbd46abb9df22bc57 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* AbsMask */ + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* SmallThreshold */ + .align 64 + .quad 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000, 0x3f70000000000000 + /* Threshold */ + .align 64 + .quad 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000, 0x5fe0000000000000 + /* LargeThreshold */ + .align 64 + .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff + /* ca2 */ + .align 64 + .quad 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7, 0x3fb333220eaf02e7 + /* ca1 */ + .align 64 + .quad 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e, 0xbfc5555555521e7e + /* c4s */ + .align 64 + .quad 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612, 0x3fd1800001943612 + /* c3s */ + .align 64 + .quad 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000, 0x3fd40000013b0000 + /* c2s */ + .align 64 + .quad 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000, 0x3fd8000000000000 + /* c1s */ + .align 64 + .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 + /* AddB5 */ + .align 64 + .quad 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000 + /* RcpBitMask */ + .align 64 + .quad 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000 + /* OneEighth */ + .align 64 + .quad 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000, 0x3fc0000000000000 + /* Four */ + .align 64 + .quad 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000, 0x4010000000000000 + /* poly_coeff9 */ + .align 64 + .quad 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368, 0xbfb9a9b040214368 + /* poly_coeff8 */ + .align 64 + .quad 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778, 0x3fbc80666e249778 + /* poly_coeff7 */ + .align 64 + .quad 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9, 0xbfbffffb8a054bc9 + /* poly_coeff6 */ + .align 64 + .quad 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1, 0x3fc24922f71256f1 + /* poly_coeff5 */ + .align 64 + .quad 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736, 0xbfc55555559ba736 + /* poly_coeff4 */ + .align 64 + .quad 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af, 0x3fc9999999be77af + /* poly_coeff3 */ + .align 64 + .quad 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65, 0xbfcffffffffffc65 + /* poly_coeff2 */ + .align 64 + .quad 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1, 0x3fd55555555554c1 + /* poly_coeff1 */ + .align 64 + .quad 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000, 0xbfe0000000000000 + /* L2H = log(2)_high */ + .align 64 + .quad 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000 + /* L2L = log(2)_low */ + .align 64 + .quad 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000 + .align 64 + .type __svml_dasinh_data_internal_avx512, @object + .size __svml_dasinh_data_internal_avx512, .-__svml_dasinh_data_internal_avx512 From patchwork Mon Mar 7 15:00:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602347 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=h5LHmizd; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC32544JKz9sFw for ; Tue, 8 Mar 2022 02:55:09 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A0128385842C for ; Mon, 7 Mar 2022 15:55:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A0128385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668507; bh=BvDUiay77PVRgTqWKZ7m/4+WecMaaCn6u5zEtrffQvs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=h5LHmizd+qLoHdVglcI+qlnrcgUP3/nAfgu3HFJs3hHM1zOOcu/GFWrvXvirK+N/J pFwDPR2EoK235icPnY1pUfFcFKUf3HAou8qNwBfgGxOwhWDIIzq/M/mGBA02KGt5bz 9JUOPYZt8GkaC0YZ/IkczQFaHY0FBPRmTt99M5Bw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id D393A385842C for ; Mon, 7 Mar 2022 15:02:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D393A385842C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017235" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017235" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="512708619" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga006.jf.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21dx016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 025/126] x86_64: Fix svml_s_atanf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:20 -0800 Message-Id: <20220307150201.10590-26-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_atanf16_core_avx512.S | 257 +++++++++--------- 1 file changed, 128 insertions(+), 129 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S index 4285a4ba42..62d96d13ea 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf16_core_avx512.S @@ -30,145 +30,144 @@ /* Offsets for data table __svml_satan_data_internal_avx512 */ -#define AbsMask 0 -#define Shifter 64 -#define MaxThreshold 128 -#define MOne 192 -#define One 256 -#define LargeX 320 -#define Zero 384 -#define Tbl_H 448 -#define Pi2 576 -#define coeff_1 640 -#define coeff_2 704 -#define coeff_3 768 +#define AbsMask 0 +#define Shifter 64 +#define MaxThreshold 128 +#define MOne 192 +#define One 256 +#define LargeX 320 +#define Zero 384 +#define Tbl_H 448 +#define Pi2 576 +#define coeff_1 640 +#define coeff_2 704 +#define coeff_3 768 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_atanf_skx) - vandps __svml_satan_data_internal_avx512(%rip), %zmm0, %zmm7 - vmovups MaxThreshold+__svml_satan_data_internal_avx512(%rip), %zmm3 - vmovups One+__svml_satan_data_internal_avx512(%rip), %zmm8 - -/* round to 2 bits after binary point */ - vreduceps $40, {sae}, %zmm7, %zmm5 - -/* saturate X range */ - vmovups LargeX+__svml_satan_data_internal_avx512(%rip), %zmm6 - vmovups Shifter+__svml_satan_data_internal_avx512(%rip), %zmm2 - vcmpps $29, {sae}, %zmm3, %zmm7, %k1 - -/* table lookup sequence */ - vmovups Tbl_H+__svml_satan_data_internal_avx512(%rip), %zmm3 - vsubps {rn-sae}, %zmm5, %zmm7, %zmm4 - vaddps {rn-sae}, %zmm2, %zmm7, %zmm1 - vxorps %zmm0, %zmm7, %zmm0 - vfmadd231ps {rn-sae}, %zmm7, %zmm4, %zmm8 - vmovups coeff_2+__svml_satan_data_internal_avx512(%rip), %zmm4 - -/* if|X|>=MaxThreshold, set DiffX=-1 */ - vblendmps MOne+__svml_satan_data_internal_avx512(%rip), %zmm5, %zmm9{%k1} - vmovups coeff_3+__svml_satan_data_internal_avx512(%rip), %zmm5 - -/* if|X|>=MaxThreshold, set Y=X */ - vminps {sae}, %zmm7, %zmm6, %zmm8{%k1} - -/* R+Rl = DiffX/Y */ - vgetmantps $0, {sae}, %zmm9, %zmm12 - vgetexpps {sae}, %zmm9, %zmm10 - vpermt2ps Tbl_H+64+__svml_satan_data_internal_avx512(%rip), %zmm1, %zmm3 - vgetmantps $0, {sae}, %zmm8, %zmm15 - vgetexpps {sae}, %zmm8, %zmm11 - vmovups coeff_1+__svml_satan_data_internal_avx512(%rip), %zmm1 - -/* set table value to Pi/2 for large X */ - vblendmps Pi2+__svml_satan_data_internal_avx512(%rip), %zmm3, %zmm9{%k1} - vrcp14ps %zmm15, %zmm13 - vsubps {rn-sae}, %zmm11, %zmm10, %zmm2 - vmulps {rn-sae}, %zmm13, %zmm12, %zmm14 - vfnmadd213ps {rn-sae}, %zmm12, %zmm14, %zmm15 - vfmadd213ps {rn-sae}, %zmm14, %zmm13, %zmm15 - vscalefps {rn-sae}, %zmm2, %zmm15, %zmm7 - -/* polynomial evaluation */ - vmulps {rn-sae}, %zmm7, %zmm7, %zmm8 - vmulps {rn-sae}, %zmm7, %zmm8, %zmm6 - vfmadd231ps {rn-sae}, %zmm8, %zmm1, %zmm4 - vfmadd213ps {rn-sae}, %zmm5, %zmm4, %zmm8 - vfmadd213ps {rn-sae}, %zmm7, %zmm6, %zmm8 - vaddps {rn-sae}, %zmm9, %zmm8, %zmm10 - vxorps %zmm0, %zmm10, %zmm0 - ret + vandps __svml_satan_data_internal_avx512(%rip), %zmm0, %zmm7 + vmovups MaxThreshold+__svml_satan_data_internal_avx512(%rip), %zmm3 + vmovups One+__svml_satan_data_internal_avx512(%rip), %zmm8 + + /* round to 2 bits after binary point */ + vreduceps $40, {sae}, %zmm7, %zmm5 + + /* saturate X range */ + vmovups LargeX+__svml_satan_data_internal_avx512(%rip), %zmm6 + vmovups Shifter+__svml_satan_data_internal_avx512(%rip), %zmm2 + vcmpps $29, {sae}, %zmm3, %zmm7, %k1 + + /* table lookup sequence */ + vmovups Tbl_H+__svml_satan_data_internal_avx512(%rip), %zmm3 + vsubps {rn-sae}, %zmm5, %zmm7, %zmm4 + vaddps {rn-sae}, %zmm2, %zmm7, %zmm1 + vxorps %zmm0, %zmm7, %zmm0 + vfmadd231ps {rn-sae}, %zmm7, %zmm4, %zmm8 + vmovups coeff_2+__svml_satan_data_internal_avx512(%rip), %zmm4 + + /* if|X|>=MaxThreshold, set DiffX=-1 */ + vblendmps MOne+__svml_satan_data_internal_avx512(%rip), %zmm5, %zmm9{%k1} + vmovups coeff_3+__svml_satan_data_internal_avx512(%rip), %zmm5 + + /* if|X|>=MaxThreshold, set Y=X */ + vminps {sae}, %zmm7, %zmm6, %zmm8{%k1} + + /* R+Rl = DiffX/Y */ + vgetmantps $0, {sae}, %zmm9, %zmm12 + vgetexpps {sae}, %zmm9, %zmm10 + vpermt2ps Tbl_H+64+__svml_satan_data_internal_avx512(%rip), %zmm1, %zmm3 + vgetmantps $0, {sae}, %zmm8, %zmm15 + vgetexpps {sae}, %zmm8, %zmm11 + vmovups coeff_1+__svml_satan_data_internal_avx512(%rip), %zmm1 + + /* set table value to Pi/2 for large X */ + vblendmps Pi2+__svml_satan_data_internal_avx512(%rip), %zmm3, %zmm9{%k1} + vrcp14ps %zmm15, %zmm13 + vsubps {rn-sae}, %zmm11, %zmm10, %zmm2 + vmulps {rn-sae}, %zmm13, %zmm12, %zmm14 + vfnmadd213ps {rn-sae}, %zmm12, %zmm14, %zmm15 + vfmadd213ps {rn-sae}, %zmm14, %zmm13, %zmm15 + vscalefps {rn-sae}, %zmm2, %zmm15, %zmm7 + + /* polynomial evaluation */ + vmulps {rn-sae}, %zmm7, %zmm7, %zmm8 + vmulps {rn-sae}, %zmm7, %zmm8, %zmm6 + vfmadd231ps {rn-sae}, %zmm8, %zmm1, %zmm4 + vfmadd213ps {rn-sae}, %zmm5, %zmm4, %zmm8 + vfmadd213ps {rn-sae}, %zmm7, %zmm6, %zmm8 + vaddps {rn-sae}, %zmm9, %zmm8, %zmm10 + vxorps %zmm0, %zmm10, %zmm0 + ret END(_ZGVeN16v_atanf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_satan_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 AbsMask[16][1]; - __declspec(align(64)) VUINT32 Shifter[16][1]; - __declspec(align(64)) VUINT32 MaxThreshold[16][1]; - __declspec(align(64)) VUINT32 MOne[16][1]; - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 LargeX[16][1]; - __declspec(align(64)) VUINT32 Zero[16][1]; - __declspec(align(64)) VUINT32 Tbl_H[32][1]; - __declspec(align(64)) VUINT32 Pi2[16][1]; - __declspec(align(64)) VUINT32 coeff[3][16][1]; - } __svml_satan_data_internal_avx512; + __declspec(align(64)) VUINT32 AbsMask[16][1]; + __declspec(align(64)) VUINT32 Shifter[16][1]; + __declspec(align(64)) VUINT32 MaxThreshold[16][1]; + __declspec(align(64)) VUINT32 MOne[16][1]; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 LargeX[16][1]; + __declspec(align(64)) VUINT32 Zero[16][1]; + __declspec(align(64)) VUINT32 Tbl_H[32][1]; + __declspec(align(64)) VUINT32 Pi2[16][1]; + __declspec(align(64)) VUINT32 coeff[3][16][1]; +} __svml_satan_data_internal_avx512; #endif __svml_satan_data_internal_avx512: - /*== AbsMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== Shifter ==*/ - .align 64 - .long 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000 - /*== MaxThreshold ==*/ - .align 64 - .long 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000 - /*== MOne ==*/ - .align 64 - .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 - /*== One ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== LargeX ==*/ - .align 64 - .long 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000 - /*== Zero ==*/ - .align 64 - .long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - /*== Tbl_H ==*/ - .align 64 - .long 0x00000000, 0x3e7adbb0 - .long 0x3eed6338, 0x3f24bc7d - .long 0x3f490fdb, 0x3f6563e3 - .long 0x3f7b985f, 0x3f869c79 - .long 0x3f8db70d, 0x3f93877b - .long 0x3f985b6c, 0x3f9c6b53 - .long 0x3f9fe0bb, 0x3fa2daa4 - .long 0x3fa57088, 0x3fa7b46f - .long 0x3fa9b465, 0x3fab7b7a - .long 0x3fad1283, 0x3fae809e - .long 0x3fafcb99, 0x3fb0f836 - .long 0x3fb20a6a, 0x3fb30581 - .long 0x3fb3ec43, 0x3fb4c10a - .long 0x3fb585d7, 0x3fb63c64 - .long 0x3fb6e62c, 0x3fb78478 - .long 0x3fb81868, 0x3fb8a2f5 - /*== Pi2 ==*/ - .align 64 - .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB - /*== coeff3 ==*/ - .align 64 - .long 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de - .long 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2 - .long 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa - .align 64 - .type __svml_satan_data_internal_avx512,@object - .size __svml_satan_data_internal_avx512,.-__svml_satan_data_internal_avx512 + /* AbsMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* Shifter */ + .align 64 + .long 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000, 0x4a000000 + /* MaxThreshold */ + .align 64 + .long 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000, 0x40F80000 + /* MOne */ + .align 64 + .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 + /* One */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* LargeX */ + .align 64 + .long 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000, 0x4f800000 + /* Zero */ + .align 64 + .long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + /* Tbl_H */ + .align 64 + .long 0x00000000, 0x3e7adbb0 + .long 0x3eed6338, 0x3f24bc7d + .long 0x3f490fdb, 0x3f6563e3 + .long 0x3f7b985f, 0x3f869c79 + .long 0x3f8db70d, 0x3f93877b + .long 0x3f985b6c, 0x3f9c6b53 + .long 0x3f9fe0bb, 0x3fa2daa4 + .long 0x3fa57088, 0x3fa7b46f + .long 0x3fa9b465, 0x3fab7b7a + .long 0x3fad1283, 0x3fae809e + .long 0x3fafcb99, 0x3fb0f836 + .long 0x3fb20a6a, 0x3fb30581 + .long 0x3fb3ec43, 0x3fb4c10a + .long 0x3fb585d7, 0x3fb63c64 + .long 0x3fb6e62c, 0x3fb78478 + .long 0x3fb81868, 0x3fb8a2f5 + /* Pi2 */ + .align 64 + .long 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB, 0x3fc90FDB + /* coeff3 */ + .align 64 + .long 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de, 0xbe0fa8de + .long 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2, 0x3e4cc8e2 + .long 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa, 0xbeaaaaaa + .align 64 + .type __svml_satan_data_internal_avx512, @object + .size __svml_satan_data_internal_avx512, .-__svml_satan_data_internal_avx512 From patchwork Mon Mar 7 15:00:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602255 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=PHZr9vb0; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC28w5x1sz9s8s for ; Tue, 8 Mar 2022 02:16:00 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 984E9385842F for ; Mon, 7 Mar 2022 15:15:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 984E9385842F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666158; bh=/LraiMUPrK4Zxgg9wdtGvx3Do0uiZNefMtXT8KBMnNM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=PHZr9vb0hxAAJ26Z9IpC5LPINVCexvqGsiamUBcg43NaJFXdZqqnKo0xklDmPPKMU c/pqMszhCqDcAGLBPiK4DpbT8ZMQKiEs454lImN7N34m1Ok7X3/T/5w/X+lgFhVpqi Q6dseJ1jYCe3qFnrFf3TBEWdpvy6aIXs62fkfpe8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 20F74385841A for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 20F74385841A X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138352" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138352" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526474" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e0016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 026/126] x86_64: Fix svml_s_atanf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:21 -0800 Message-Id: <20220307150201.10590-27-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_atanf4_core_sse4.S | 229 +++++++++--------- 1 file changed, 114 insertions(+), 115 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S index 0faf622a34..83cecb8ee5 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf4_core_sse4.S @@ -30,135 +30,134 @@ /* Offsets for data table __svml_satan_data_internal */ -#define _sSIGN_MASK 0 -#define _sABS_MASK 16 -#define _sONE 32 -#define _sPIO2 48 -#define _sPC8 64 -#define _sPC7 80 -#define _sPC6 96 -#define _sPC5 112 -#define _sPC4 128 -#define _sPC3 144 -#define _sPC2 160 -#define _sPC1 176 -#define _sPC0 192 +#define _sSIGN_MASK 0 +#define _sABS_MASK 16 +#define _sONE 32 +#define _sPIO2 48 +#define _sPC8 64 +#define _sPC7 80 +#define _sPC6 96 +#define _sPC5 112 +#define _sPC4 128 +#define _sPC3 144 +#define _sPC2 160 +#define _sPC1 176 +#define _sPC0 192 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_atanf_sse4) -/* - * To use minps\maxps operations for argument reduction - * uncomment _AT_USEMINMAX_ definition - * Declarations - * Variables - * Constants - */ - movups _sABS_MASK+__svml_satan_data_internal(%rip), %xmm2 + /* + * To use minps\maxps operations for argument reduction + * uncomment _AT_USEMINMAX_ definition + * Declarations + * Variables + * Constants + */ + movups _sABS_MASK+__svml_satan_data_internal(%rip), %xmm2 -/* - * 1) If x>1, then r=-1/x, PIO2=Pi/2 - * 2) If -1<=x<=1, then r=x, PIO2=0 - * 3) If x<-1, then r=-1/x, PIO2=-Pi/2 - */ - movups _sONE+__svml_satan_data_internal(%rip), %xmm1 - andps %xmm0, %xmm2 - movaps %xmm2, %xmm9 - movaps %xmm1, %xmm3 - cmpleps %xmm1, %xmm9 - maxps %xmm2, %xmm3 - minps %xmm2, %xmm1 - divps %xmm3, %xmm1 - movups __svml_satan_data_internal(%rip), %xmm4 - movaps %xmm9, %xmm10 - andps %xmm4, %xmm0 - andnps %xmm4, %xmm9 - pxor %xmm0, %xmm9 - pxor %xmm1, %xmm9 + /* + * 1) If x>1, then r=-1/x, PIO2=Pi/2 + * 2) If -1<=x<=1, then r=x, PIO2=0 + * 3) If x<-1, then r=-1/x, PIO2=-Pi/2 + */ + movups _sONE+__svml_satan_data_internal(%rip), %xmm1 + andps %xmm0, %xmm2 + movaps %xmm2, %xmm9 + movaps %xmm1, %xmm3 + cmpleps %xmm1, %xmm9 + maxps %xmm2, %xmm3 + minps %xmm2, %xmm1 + divps %xmm3, %xmm1 + movups __svml_satan_data_internal(%rip), %xmm4 + movaps %xmm9, %xmm10 + andps %xmm4, %xmm0 + andnps %xmm4, %xmm9 + pxor %xmm0, %xmm9 + pxor %xmm1, %xmm9 -/* Polynomial. */ - movaps %xmm9, %xmm8 - mulps %xmm9, %xmm8 - movaps %xmm8, %xmm7 - mulps %xmm8, %xmm7 - movups _sPC8+__svml_satan_data_internal(%rip), %xmm6 - mulps %xmm7, %xmm6 - movups _sPC7+__svml_satan_data_internal(%rip), %xmm5 - mulps %xmm7, %xmm5 - addps _sPC6+__svml_satan_data_internal(%rip), %xmm6 - mulps %xmm7, %xmm6 - addps _sPC5+__svml_satan_data_internal(%rip), %xmm5 - mulps %xmm7, %xmm5 - addps _sPC4+__svml_satan_data_internal(%rip), %xmm6 - mulps %xmm7, %xmm6 - addps _sPC3+__svml_satan_data_internal(%rip), %xmm5 - mulps %xmm5, %xmm7 - addps _sPC2+__svml_satan_data_internal(%rip), %xmm6 - mulps %xmm8, %xmm6 - addps _sPC1+__svml_satan_data_internal(%rip), %xmm7 - andnps _sPIO2+__svml_satan_data_internal(%rip), %xmm10 - addps %xmm6, %xmm7 - mulps %xmm7, %xmm8 - pxor %xmm0, %xmm10 - addps _sPC0+__svml_satan_data_internal(%rip), %xmm8 + /* Polynomial. */ + movaps %xmm9, %xmm8 + mulps %xmm9, %xmm8 + movaps %xmm8, %xmm7 + mulps %xmm8, %xmm7 + movups _sPC8+__svml_satan_data_internal(%rip), %xmm6 + mulps %xmm7, %xmm6 + movups _sPC7+__svml_satan_data_internal(%rip), %xmm5 + mulps %xmm7, %xmm5 + addps _sPC6+__svml_satan_data_internal(%rip), %xmm6 + mulps %xmm7, %xmm6 + addps _sPC5+__svml_satan_data_internal(%rip), %xmm5 + mulps %xmm7, %xmm5 + addps _sPC4+__svml_satan_data_internal(%rip), %xmm6 + mulps %xmm7, %xmm6 + addps _sPC3+__svml_satan_data_internal(%rip), %xmm5 + mulps %xmm5, %xmm7 + addps _sPC2+__svml_satan_data_internal(%rip), %xmm6 + mulps %xmm8, %xmm6 + addps _sPC1+__svml_satan_data_internal(%rip), %xmm7 + andnps _sPIO2+__svml_satan_data_internal(%rip), %xmm10 + addps %xmm6, %xmm7 + mulps %xmm7, %xmm8 + pxor %xmm0, %xmm10 + addps _sPC0+__svml_satan_data_internal(%rip), %xmm8 -/* Reconstruction. */ - mulps %xmm8, %xmm9 - addps %xmm9, %xmm10 - movaps %xmm10, %xmm0 - ret + /* Reconstruction. */ + mulps %xmm8, %xmm9 + addps %xmm9, %xmm10 + movaps %xmm10, %xmm0 + ret END(_ZGVbN4v_atanf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_satan_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 _sSIGN_MASK[4][1]; - __declspec(align(16)) VUINT32 _sABS_MASK[4][1]; - __declspec(align(16)) VUINT32 _sONE[4][1]; - __declspec(align(16)) VUINT32 _sPIO2[4][1]; - __declspec(align(16)) VUINT32 _sPC8[4][1]; - __declspec(align(16)) VUINT32 _sPC7[4][1]; - __declspec(align(16)) VUINT32 _sPC6[4][1]; - __declspec(align(16)) VUINT32 _sPC5[4][1]; - __declspec(align(16)) VUINT32 _sPC4[4][1]; - __declspec(align(16)) VUINT32 _sPC3[4][1]; - __declspec(align(16)) VUINT32 _sPC2[4][1]; - __declspec(align(16)) VUINT32 _sPC1[4][1]; - __declspec(align(16)) VUINT32 _sPC0[4][1]; + __declspec(align(16)) VUINT32 _sSIGN_MASK[4][1]; + __declspec(align(16)) VUINT32 _sABS_MASK[4][1]; + __declspec(align(16)) VUINT32 _sONE[4][1]; + __declspec(align(16)) VUINT32 _sPIO2[4][1]; + __declspec(align(16)) VUINT32 _sPC8[4][1]; + __declspec(align(16)) VUINT32 _sPC7[4][1]; + __declspec(align(16)) VUINT32 _sPC6[4][1]; + __declspec(align(16)) VUINT32 _sPC5[4][1]; + __declspec(align(16)) VUINT32 _sPC4[4][1]; + __declspec(align(16)) VUINT32 _sPC3[4][1]; + __declspec(align(16)) VUINT32 _sPC2[4][1]; + __declspec(align(16)) VUINT32 _sPC1[4][1]; + __declspec(align(16)) VUINT32 _sPC0[4][1]; } __svml_satan_data_internal; #endif __svml_satan_data_internal: - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 //_sSIGN_MASK - .align 16 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF //_sABS_MASK - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 //_sONE - .align 16 - .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB //_sPIO2 - .align 16 - .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 //_sPC8 - .align 16 - .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 //_sPC7 - .align 16 - .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 //_sPC6 - .align 16 - .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 //_sPC5 - .align 16 - .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 //_sPC4 - .align 16 - .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 //_sPC3 - .align 16 - .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F //_sPC2 - .align 16 - .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 //_sPC1 - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 //_sPC0 - .align 16 - .type __svml_satan_data_internal,@object - .size __svml_satan_data_internal,.-__svml_satan_data_internal + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 // _sSIGN_MASK + .align 16 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // _sABS_MASK + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 // _sONE + .align 16 + .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // _sPIO2 + .align 16 + .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // _sPC8 + .align 16 + .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // _sPC7 + .align 16 + .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // _sPC6 + .align 16 + .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // _sPC5 + .align 16 + .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // _sPC4 + .align 16 + .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // _sPC3 + .align 16 + .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // _sPC2 + .align 16 + .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // _sPC1 + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 // _sPC0 + .align 16 + .type __svml_satan_data_internal, @object + .size __svml_satan_data_internal, .-__svml_satan_data_internal From patchwork Mon Mar 7 15:00:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602243 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qpqjYi57; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC1z801HGz9s8s for ; Tue, 8 Mar 2022 02:07:31 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 18FFA3858422 for ; Mon, 7 Mar 2022 15:07:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 18FFA3858422 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665650; bh=6XxRetddJeVUOA0vmy1W0GzTVzZMMAOwUsfXa+3YRmo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qpqjYi57i9Oqs/CKpoi0i/+2Ri6r6TRmFawfinqAULEpSzHxVOnxok4iaVtlRaiB2 mhX8x8WSxjiFl5D2/WAvQTAaVsu4n5f53yDgjidVg5/3sHgyQ+/J5/QMKrTxebB1/G PuDc2en4Zl3//YId/tnYl2LRq3iSGnR24CV6rsZQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id F0E91385841B for ; Mon, 7 Mar 2022 15:02:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F0E91385841B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113921" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113921" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274072" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e1016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 027/126] x86_64: Fix svml_s_atanf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:22 -0800 Message-Id: <20220307150201.10590-28-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_atanf8_core_avx2.S | 197 +++++++++--------- 1 file changed, 98 insertions(+), 99 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S index c4d98c7937..ee49a3e10e 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanf8_core_avx2.S @@ -30,119 +30,118 @@ /* Offsets for data table __svml_satan_data_internal */ -#define _sSIGN_MASK 0 -#define _sABS_MASK 32 -#define _sONE 64 -#define _sPIO2 96 -#define _sPC8 128 -#define _sPC7 160 -#define _sPC6 192 -#define _sPC5 224 -#define _sPC4 256 -#define _sPC3 288 -#define _sPC2 320 -#define _sPC1 352 -#define _sPC0 384 +#define _sSIGN_MASK 0 +#define _sABS_MASK 32 +#define _sONE 64 +#define _sPIO2 96 +#define _sPC8 128 +#define _sPC7 160 +#define _sPC6 192 +#define _sPC5 224 +#define _sPC4 256 +#define _sPC3 288 +#define _sPC2 320 +#define _sPC1 352 +#define _sPC0 384 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_atanf_avx2) -/* - * 1) If x>1, then r=-1/x, PIO2=Pi/2 - * 2) If -1<=x<=1, then r=x, PIO2=0 - * 3) If x<-1, then r=-1/x, PIO2=-Pi/2 - */ - vmovups _sONE+__svml_satan_data_internal(%rip), %ymm2 - vmovups __svml_satan_data_internal(%rip), %ymm7 - vmovups _sPC7+__svml_satan_data_internal(%rip), %ymm13 + /* + * 1) If x>1, then r=-1/x, PIO2=Pi/2 + * 2) If -1<=x<=1, then r=x, PIO2=0 + * 3) If x<-1, then r=-1/x, PIO2=-Pi/2 + */ + vmovups _sONE+__svml_satan_data_internal(%rip), %ymm2 + vmovups __svml_satan_data_internal(%rip), %ymm7 + vmovups _sPC7+__svml_satan_data_internal(%rip), %ymm13 -/* - * To use minps\maxps operations for argument reduction - * uncomment _AT_USEMINMAX_ definition - * Declarations - * Variables - * Constants - */ - vandps _sABS_MASK+__svml_satan_data_internal(%rip), %ymm0, %ymm3 - vmaxps %ymm3, %ymm2, %ymm5 - vminps %ymm3, %ymm2, %ymm4 - vcmple_oqps %ymm2, %ymm3, %ymm6 - vdivps %ymm5, %ymm4, %ymm11 - vandps %ymm7, %ymm0, %ymm9 - vandnps %ymm7, %ymm6, %ymm8 - vxorps %ymm9, %ymm8, %ymm10 - vxorps %ymm11, %ymm10, %ymm15 + /* + * To use minps\maxps operations for argument reduction + * uncomment _AT_USEMINMAX_ definition + * Declarations + * Variables + * Constants + */ + vandps _sABS_MASK+__svml_satan_data_internal(%rip), %ymm0, %ymm3 + vmaxps %ymm3, %ymm2, %ymm5 + vminps %ymm3, %ymm2, %ymm4 + vcmple_oqps %ymm2, %ymm3, %ymm6 + vdivps %ymm5, %ymm4, %ymm11 + vandps %ymm7, %ymm0, %ymm9 + vandnps %ymm7, %ymm6, %ymm8 + vxorps %ymm9, %ymm8, %ymm10 + vxorps %ymm11, %ymm10, %ymm15 -/* Polynomial. */ - vmulps %ymm15, %ymm15, %ymm14 - vmovups _sPC8+__svml_satan_data_internal(%rip), %ymm0 - vmulps %ymm14, %ymm14, %ymm12 - vfmadd213ps _sPC6+__svml_satan_data_internal(%rip), %ymm12, %ymm0 - vfmadd213ps _sPC5+__svml_satan_data_internal(%rip), %ymm12, %ymm13 - vfmadd213ps _sPC4+__svml_satan_data_internal(%rip), %ymm12, %ymm0 - vfmadd213ps _sPC3+__svml_satan_data_internal(%rip), %ymm12, %ymm13 - vfmadd213ps _sPC2+__svml_satan_data_internal(%rip), %ymm12, %ymm0 - vfmadd213ps _sPC1+__svml_satan_data_internal(%rip), %ymm12, %ymm13 - vfmadd213ps %ymm13, %ymm14, %ymm0 - vfmadd213ps _sPC0+__svml_satan_data_internal(%rip), %ymm14, %ymm0 - vandnps _sPIO2+__svml_satan_data_internal(%rip), %ymm6, %ymm1 - vxorps %ymm9, %ymm1, %ymm1 + /* Polynomial. */ + vmulps %ymm15, %ymm15, %ymm14 + vmovups _sPC8+__svml_satan_data_internal(%rip), %ymm0 + vmulps %ymm14, %ymm14, %ymm12 + vfmadd213ps _sPC6+__svml_satan_data_internal(%rip), %ymm12, %ymm0 + vfmadd213ps _sPC5+__svml_satan_data_internal(%rip), %ymm12, %ymm13 + vfmadd213ps _sPC4+__svml_satan_data_internal(%rip), %ymm12, %ymm0 + vfmadd213ps _sPC3+__svml_satan_data_internal(%rip), %ymm12, %ymm13 + vfmadd213ps _sPC2+__svml_satan_data_internal(%rip), %ymm12, %ymm0 + vfmadd213ps _sPC1+__svml_satan_data_internal(%rip), %ymm12, %ymm13 + vfmadd213ps %ymm13, %ymm14, %ymm0 + vfmadd213ps _sPC0+__svml_satan_data_internal(%rip), %ymm14, %ymm0 + vandnps _sPIO2+__svml_satan_data_internal(%rip), %ymm6, %ymm1 + vxorps %ymm9, %ymm1, %ymm1 -/* Reconstruction. */ - vfmadd213ps %ymm1, %ymm15, %ymm0 - ret + /* Reconstruction. */ + vfmadd213ps %ymm1, %ymm15, %ymm0 + ret END(_ZGVdN8v_atanf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_satan_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 _sSIGN_MASK[8][1]; - __declspec(align(32)) VUINT32 _sABS_MASK[8][1]; - __declspec(align(32)) VUINT32 _sONE[8][1]; - __declspec(align(32)) VUINT32 _sPIO2[8][1]; - __declspec(align(32)) VUINT32 _sPC8[8][1]; - __declspec(align(32)) VUINT32 _sPC7[8][1]; - __declspec(align(32)) VUINT32 _sPC6[8][1]; - __declspec(align(32)) VUINT32 _sPC5[8][1]; - __declspec(align(32)) VUINT32 _sPC4[8][1]; - __declspec(align(32)) VUINT32 _sPC3[8][1]; - __declspec(align(32)) VUINT32 _sPC2[8][1]; - __declspec(align(32)) VUINT32 _sPC1[8][1]; - __declspec(align(32)) VUINT32 _sPC0[8][1]; + __declspec(align(32)) VUINT32 _sSIGN_MASK[8][1]; + __declspec(align(32)) VUINT32 _sABS_MASK[8][1]; + __declspec(align(32)) VUINT32 _sONE[8][1]; + __declspec(align(32)) VUINT32 _sPIO2[8][1]; + __declspec(align(32)) VUINT32 _sPC8[8][1]; + __declspec(align(32)) VUINT32 _sPC7[8][1]; + __declspec(align(32)) VUINT32 _sPC6[8][1]; + __declspec(align(32)) VUINT32 _sPC5[8][1]; + __declspec(align(32)) VUINT32 _sPC4[8][1]; + __declspec(align(32)) VUINT32 _sPC3[8][1]; + __declspec(align(32)) VUINT32 _sPC2[8][1]; + __declspec(align(32)) VUINT32 _sPC1[8][1]; + __declspec(align(32)) VUINT32 _sPC0[8][1]; } __svml_satan_data_internal; #endif __svml_satan_data_internal: - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 //_sSIGN_MASK - .align 32 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF //_sABS_MASK - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 //_sONE - .align 32 - .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB //_sPIO2 - .align 32 - .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 //_sPC8 - .align 32 - .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 //_sPC7 - .align 32 - .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 //_sPC6 - .align 32 - .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 //_sPC5 - .align 32 - .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 //_sPC4 - .align 32 - .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 //_sPC3 - .align 32 - .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F //_sPC2 - .align 32 - .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 //_sPC1 - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 //_sPC0 - .align 32 - .type __svml_satan_data_internal,@object - .size __svml_satan_data_internal,.-__svml_satan_data_internal + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 // _sSIGN_MASK + .align 32 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // _sABS_MASK + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 // _sONE + .align 32 + .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // _sPIO2 + .align 32 + .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // _sPC8 + .align 32 + .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // _sPC7 + .align 32 + .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // _sPC6 + .align 32 + .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // _sPC5 + .align 32 + .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // _sPC4 + .align 32 + .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // _sPC3 + .align 32 + .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // _sPC2 + .align 32 + .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // _sPC1 + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 // _sPC0 + .align 32 + .type __svml_satan_data_internal, @object + .size __svml_satan_data_internal, .-__svml_satan_data_internal From patchwork Mon Mar 7 15:00:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602238 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=TefD6Znj; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC1ty5y3Bz9s8s for ; Tue, 8 Mar 2022 02:03:54 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 983E5385840E for ; Mon, 7 Mar 2022 15:03:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 983E5385840E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665432; bh=KINRBi+G9MPdPHHqP95PiNGzsY54NtO2ex7rtOdip8Y=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=TefD6ZnjgzoFOHn+QBke2ROPQ1JoCkK5e61iYY4/h2f5xtvSRNIBhYh6YQDEeVnKa KuqJV0TfqEyLRIU7KDeEYSgksP4lM7HAAVc+4rI//q5WWD/aML9eEXoT4YsTpjOYtm QgFBRzz6kxIpeC9dcPbWFwi3L39kjsIbO6zXoqvQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id C704E3858403 for ; Mon, 7 Mar 2022 15:02:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C704E3858403 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347772" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347772" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="780351102" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e2016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 028/126] x86_64: Fix svml_d_atan2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:23 -0800 Message-Id: <20220307150201.10590-29-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atan2_core_sse4.S | 395 +++++++++--------- 1 file changed, 197 insertions(+), 198 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S index 31194c8e4c..055ca4acc8 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan2_core_sse4.S @@ -30,216 +30,215 @@ /* Offsets for data table __svml_datan_data_internal_avx512 */ -#define AbsMask 0 -#define Shifter 16 -#define MaxThreshold 32 -#define MOne 48 -#define One 64 -#define LargeX 80 -#define Zero 96 -#define Tbl_H 112 -#define Tbl_L 368 -#define dIndexMed 624 -#define Pi2 640 -#define Pi2_low 656 -#define coeff 672 +#define AbsMask 0 +#define Shifter 16 +#define MaxThreshold 32 +#define MOne 48 +#define One 64 +#define LargeX 80 +#define Zero 96 +#define Tbl_H 112 +#define Tbl_L 368 +#define dIndexMed 624 +#define Pi2 640 +#define Pi2_low 656 +#define coeff 672 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_atan_sse4) - lea Tbl_H+128+__svml_datan_data_internal_avx512(%rip), %rcx - movups __svml_datan_data_internal_avx512(%rip), %xmm4 - movups Shifter+__svml_datan_data_internal_avx512(%rip), %xmm3 - andps %xmm0, %xmm4 - movaps %xmm3, %xmm12 - movaps %xmm4, %xmm5 - addpd %xmm4, %xmm12 - movaps %xmm12, %xmm7 - -/* - * table lookup sequence - * VPERMUTE not available - */ - movaps %xmm12, %xmm10 - subpd %xmm3, %xmm7 - subpd %xmm7, %xmm5 - mulpd %xmm4, %xmm7 - movups MaxThreshold+__svml_datan_data_internal_avx512(%rip), %xmm2 - psllq $3, %xmm10 - -/* saturate X range */ - movups LargeX+__svml_datan_data_internal_avx512(%rip), %xmm8 - pxor %xmm4, %xmm0 - cmplepd %xmm4, %xmm2 - addpd One+__svml_datan_data_internal_avx512(%rip), %xmm7 - minpd %xmm4, %xmm8 - movups MOne+__svml_datan_data_internal_avx512(%rip), %xmm6 - movaps %xmm2, %xmm1 - movaps %xmm2, %xmm9 - andnps %xmm5, %xmm1 - andps %xmm2, %xmm6 - andnps %xmm7, %xmm9 - andps %xmm2, %xmm8 - orps %xmm6, %xmm1 - orps %xmm8, %xmm9 - -/* R+Rl = DiffX/Y */ - divpd %xmm9, %xmm1 - pand .FLT_11(%rip), %xmm10 - -/* set table value to Pi/2 for large X */ - movups Pi2+__svml_datan_data_internal_avx512(%rip), %xmm4 - movd %xmm10, %eax - andps %xmm2, %xmm4 - pshufd $2, %xmm10, %xmm11 - movaps %xmm2, %xmm10 - -/* polynomial evaluation */ - movaps %xmm1, %xmm2 - mulpd %xmm1, %xmm2 - movd %xmm11, %edx - movups coeff+__svml_datan_data_internal_avx512(%rip), %xmm5 - movaps %xmm2, %xmm7 - movups coeff+32+__svml_datan_data_internal_avx512(%rip), %xmm6 - movaps %xmm2, %xmm9 - mulpd %xmm2, %xmm5 - mulpd %xmm2, %xmm7 - addpd coeff+16+__svml_datan_data_internal_avx512(%rip), %xmm5 - mulpd %xmm2, %xmm6 - mulpd %xmm7, %xmm5 - addpd coeff+48+__svml_datan_data_internal_avx512(%rip), %xmm6 - mulpd %xmm1, %xmm9 - addpd %xmm5, %xmm6 - movups coeff+64+__svml_datan_data_internal_avx512(%rip), %xmm8 - mulpd %xmm2, %xmm8 - mulpd %xmm6, %xmm7 - addpd coeff+80+__svml_datan_data_internal_avx512(%rip), %xmm8 - addpd %xmm7, %xmm8 - mulpd %xmm8, %xmm9 - movups dIndexMed+__svml_datan_data_internal_avx512(%rip), %xmm14 - cmplepd %xmm12, %xmm14 - addpd %xmm9, %xmm1 - movslq %eax, %rax - movaps %xmm14, %xmm3 - movslq %edx, %rdx - movsd -128(%rax,%rcx), %xmm13 - movsd (%rcx,%rax), %xmm15 - movhpd -128(%rdx,%rcx), %xmm13 - movhpd (%rcx,%rdx), %xmm15 - andnps %xmm13, %xmm3 - andps %xmm14, %xmm15 - orps %xmm15, %xmm3 - andnps %xmm3, %xmm10 - orps %xmm4, %xmm10 - addpd %xmm1, %xmm10 - pxor %xmm10, %xmm0 - ret + lea Tbl_H+128+__svml_datan_data_internal_avx512(%rip), %rcx + movups __svml_datan_data_internal_avx512(%rip), %xmm4 + movups Shifter+__svml_datan_data_internal_avx512(%rip), %xmm3 + andps %xmm0, %xmm4 + movaps %xmm3, %xmm12 + movaps %xmm4, %xmm5 + addpd %xmm4, %xmm12 + movaps %xmm12, %xmm7 + + /* + * table lookup sequence + * VPERMUTE not available + */ + movaps %xmm12, %xmm10 + subpd %xmm3, %xmm7 + subpd %xmm7, %xmm5 + mulpd %xmm4, %xmm7 + movups MaxThreshold+__svml_datan_data_internal_avx512(%rip), %xmm2 + psllq $3, %xmm10 + + /* saturate X range */ + movups LargeX+__svml_datan_data_internal_avx512(%rip), %xmm8 + pxor %xmm4, %xmm0 + cmplepd %xmm4, %xmm2 + addpd One+__svml_datan_data_internal_avx512(%rip), %xmm7 + minpd %xmm4, %xmm8 + movups MOne+__svml_datan_data_internal_avx512(%rip), %xmm6 + movaps %xmm2, %xmm1 + movaps %xmm2, %xmm9 + andnps %xmm5, %xmm1 + andps %xmm2, %xmm6 + andnps %xmm7, %xmm9 + andps %xmm2, %xmm8 + orps %xmm6, %xmm1 + orps %xmm8, %xmm9 + + /* R+Rl = DiffX/Y */ + divpd %xmm9, %xmm1 + pand .FLT_11(%rip), %xmm10 + + /* set table value to Pi/2 for large X */ + movups Pi2+__svml_datan_data_internal_avx512(%rip), %xmm4 + movd %xmm10, %eax + andps %xmm2, %xmm4 + pshufd $2, %xmm10, %xmm11 + movaps %xmm2, %xmm10 + + /* polynomial evaluation */ + movaps %xmm1, %xmm2 + mulpd %xmm1, %xmm2 + movd %xmm11, %edx + movups coeff+__svml_datan_data_internal_avx512(%rip), %xmm5 + movaps %xmm2, %xmm7 + movups coeff+32+__svml_datan_data_internal_avx512(%rip), %xmm6 + movaps %xmm2, %xmm9 + mulpd %xmm2, %xmm5 + mulpd %xmm2, %xmm7 + addpd coeff+16+__svml_datan_data_internal_avx512(%rip), %xmm5 + mulpd %xmm2, %xmm6 + mulpd %xmm7, %xmm5 + addpd coeff+48+__svml_datan_data_internal_avx512(%rip), %xmm6 + mulpd %xmm1, %xmm9 + addpd %xmm5, %xmm6 + movups coeff+64+__svml_datan_data_internal_avx512(%rip), %xmm8 + mulpd %xmm2, %xmm8 + mulpd %xmm6, %xmm7 + addpd coeff+80+__svml_datan_data_internal_avx512(%rip), %xmm8 + addpd %xmm7, %xmm8 + mulpd %xmm8, %xmm9 + movups dIndexMed+__svml_datan_data_internal_avx512(%rip), %xmm14 + cmplepd %xmm12, %xmm14 + addpd %xmm9, %xmm1 + movslq %eax, %rax + movaps %xmm14, %xmm3 + movslq %edx, %rdx + movsd -128(%rax, %rcx), %xmm13 + movsd (%rcx, %rax), %xmm15 + movhpd -128(%rdx, %rcx), %xmm13 + movhpd (%rcx, %rdx), %xmm15 + andnps %xmm13, %xmm3 + andps %xmm14, %xmm15 + orps %xmm15, %xmm3 + andnps %xmm3, %xmm10 + orps %xmm4, %xmm10 + addpd %xmm1, %xmm10 + pxor %xmm10, %xmm0 + ret END(_ZGVbN2v_atan_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_datan_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 AbsMask[2][2]; - __declspec(align(16)) VUINT32 Shifter[2][2]; - __declspec(align(16)) VUINT32 MaxThreshold[2][2]; - __declspec(align(16)) VUINT32 MOne[2][2]; - __declspec(align(16)) VUINT32 One[2][2]; - __declspec(align(16)) VUINT32 LargeX[2][2]; - __declspec(align(16)) VUINT32 Zero[2][2]; - __declspec(align(16)) VUINT32 Tbl_H[32][2]; - __declspec(align(16)) VUINT32 Tbl_L[32][2]; - __declspec(align(16)) VUINT32 dIndexMed[2][2]; - __declspec(align(16)) VUINT32 Pi2[2][2]; - __declspec(align(16)) VUINT32 Pi2_low[2][2]; - __declspec(align(16)) VUINT32 coeff[6][2][2]; - } __svml_datan_data_internal_avx512; + __declspec(align(16)) VUINT32 AbsMask[2][2]; + __declspec(align(16)) VUINT32 Shifter[2][2]; + __declspec(align(16)) VUINT32 MaxThreshold[2][2]; + __declspec(align(16)) VUINT32 MOne[2][2]; + __declspec(align(16)) VUINT32 One[2][2]; + __declspec(align(16)) VUINT32 LargeX[2][2]; + __declspec(align(16)) VUINT32 Zero[2][2]; + __declspec(align(16)) VUINT32 Tbl_H[32][2]; + __declspec(align(16)) VUINT32 Tbl_L[32][2]; + __declspec(align(16)) VUINT32 dIndexMed[2][2]; + __declspec(align(16)) VUINT32 Pi2[2][2]; + __declspec(align(16)) VUINT32 Pi2_low[2][2]; + __declspec(align(16)) VUINT32 coeff[6][2][2]; +} __svml_datan_data_internal_avx512; #endif __svml_datan_data_internal_avx512: - /*== AbsMask ==*/ - .quad 0x7fffffffffffffff, 0x7fffffffffffffff - /*== Shifter ==*/ - .align 16 - .quad 0x4318000000000000, 0x4318000000000000 - /*== MaxThreshold ==*/ - .align 16 - .quad 0x401f800000000000, 0x401f800000000000 - /*== MOne ==*/ - .align 16 - .quad 0xbff0000000000000, 0xbff0000000000000 - /*== One ==*/ - .align 16 - .quad 0x3ff0000000000000, 0x3ff0000000000000 - /*== LargeX ==*/ - .align 16 - .quad 0x47f0000000000000, 0x47f0000000000000 - /*== Zero ==*/ - .align 16 - .quad 0x0000000000000000, 0x0000000000000000 - /*== Tbl_H ==*/ - .align 16 - .quad 0x0000000000000000, 0x3fcf5b75f92c80dd - .quad 0x3fddac670561bb4f, 0x3fe4978fa3269ee1 - .quad 0x3fe921fb54442d18, 0x3fecac7c57846f9e - .quad 0x3fef730bd281f69b, 0x3ff0d38f2c5ba09f - .quad 0x3ff1b6e192ebbe44, 0x3ff270ef55a53a25 - .quad 0x3ff30b6d796a4da8, 0x3ff38d6a6ce13353 - .quad 0x3ff3fc176b7a8560, 0x3ff45b54837351a0 - .quad 0x3ff4ae10fc6589a5, 0x3ff4f68dea672617 - .quad 0x3ff5368c951e9cfd, 0x3ff56f6f33a3e6a7 - .quad 0x3ff5a25052114e60, 0x3ff5d013c41adabd - .quad 0x3ff5f97315254857, 0x3ff61f06c6a92b89 - .quad 0x3ff6414d44094c7c, 0x3ff660b02c736a06 - .quad 0x3ff67d8863bc99bd, 0x3ff698213a9d5053 - .quad 0x3ff6b0bae830c070, 0x3ff6c78c7edeb195 - .quad 0x3ff6dcc57bb565fd, 0x3ff6f08f07435fec - .quad 0x3ff7030cf9403197, 0x3ff7145eac2088a4 - /*== Tbl_L ==*/ - .align 16 - .quad 0x0000000000000000, 0x3c68ab6e3cf7afbd - .quad 0x3c7a2b7f222f65e2, 0x3c72419a87f2a458 - .quad 0x3c81a62633145c07, 0x3c80dae13ad18a6b - .quad 0x3c7007887af0cbbd, 0xbc9bd0dc231bfd70 - .quad 0x3c9b1b466a88828e, 0xbc9a66b1af5f84fb - .quad 0x3c96254cb03bb199, 0xbc812c77e8a80f5c - .quad 0xbc4441a3bd3f1084, 0x3c79e4a72eedacc4 - .quad 0xbc93b03e8a27f555, 0x3c9934f9f2b0020e - .quad 0xbc996f47948a99f1, 0xbc7df6edd6f1ec3b - .quad 0x3c78c2d0c89de218, 0x3c9f82bba194dd5d - .quad 0xbc831151a43b51ca, 0xbc8487d50bceb1a5 - .quad 0xbc9c5f60a65c7397, 0xbc7acb6afb332a0f - .quad 0xbc99b7bd2e1e8c9c, 0xbc9b9839085189e3 - .quad 0xbc97d1ab82ffb70b, 0x3c99239ad620ffe2 - .quad 0xbc929c86447928e7, 0xbc8957a7170df016 - .quad 0xbc7cbe1896221608, 0xbc9fda5797b32a0b - /*== dIndexMed ==*/ - .align 16 - .quad 0x4318000000000010, 0x4318000000000010 - /*== Pi2 ==*/ - .align 16 - .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18 - /*== Pi2_low ==*/ - .align 16 - .quad 0x3c91a62633145c07, 0x3c91a62633145c07 - /*== coeff6 ==*/ - .align 16 - .quad 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97 - .quad 0xbfb74257c46790cc, 0xbfb74257c46790cc - .quad 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0 - .quad 0xbfc249248eef04da, 0xbfc249248eef04da - .quad 0x3fc999999998741e, 0x3fc999999998741e - .quad 0xbfd555555555554d, 0xbfd555555555554d - .align 16 - .type __svml_datan_data_internal_avx512,@object - .size __svml_datan_data_internal_avx512,.-__svml_datan_data_internal_avx512 - .align 16 + /* AbsMask */ + .quad 0x7fffffffffffffff, 0x7fffffffffffffff + /* Shifter */ + .align 16 + .quad 0x4318000000000000, 0x4318000000000000 + /* MaxThreshold */ + .align 16 + .quad 0x401f800000000000, 0x401f800000000000 + /* MOne */ + .align 16 + .quad 0xbff0000000000000, 0xbff0000000000000 + /* One */ + .align 16 + .quad 0x3ff0000000000000, 0x3ff0000000000000 + /* LargeX */ + .align 16 + .quad 0x47f0000000000000, 0x47f0000000000000 + /* Zero */ + .align 16 + .quad 0x0000000000000000, 0x0000000000000000 + /* Tbl_H */ + .align 16 + .quad 0x0000000000000000, 0x3fcf5b75f92c80dd + .quad 0x3fddac670561bb4f, 0x3fe4978fa3269ee1 + .quad 0x3fe921fb54442d18, 0x3fecac7c57846f9e + .quad 0x3fef730bd281f69b, 0x3ff0d38f2c5ba09f + .quad 0x3ff1b6e192ebbe44, 0x3ff270ef55a53a25 + .quad 0x3ff30b6d796a4da8, 0x3ff38d6a6ce13353 + .quad 0x3ff3fc176b7a8560, 0x3ff45b54837351a0 + .quad 0x3ff4ae10fc6589a5, 0x3ff4f68dea672617 + .quad 0x3ff5368c951e9cfd, 0x3ff56f6f33a3e6a7 + .quad 0x3ff5a25052114e60, 0x3ff5d013c41adabd + .quad 0x3ff5f97315254857, 0x3ff61f06c6a92b89 + .quad 0x3ff6414d44094c7c, 0x3ff660b02c736a06 + .quad 0x3ff67d8863bc99bd, 0x3ff698213a9d5053 + .quad 0x3ff6b0bae830c070, 0x3ff6c78c7edeb195 + .quad 0x3ff6dcc57bb565fd, 0x3ff6f08f07435fec + .quad 0x3ff7030cf9403197, 0x3ff7145eac2088a4 + /* Tbl_L */ + .align 16 + .quad 0x0000000000000000, 0x3c68ab6e3cf7afbd + .quad 0x3c7a2b7f222f65e2, 0x3c72419a87f2a458 + .quad 0x3c81a62633145c07, 0x3c80dae13ad18a6b + .quad 0x3c7007887af0cbbd, 0xbc9bd0dc231bfd70 + .quad 0x3c9b1b466a88828e, 0xbc9a66b1af5f84fb + .quad 0x3c96254cb03bb199, 0xbc812c77e8a80f5c + .quad 0xbc4441a3bd3f1084, 0x3c79e4a72eedacc4 + .quad 0xbc93b03e8a27f555, 0x3c9934f9f2b0020e + .quad 0xbc996f47948a99f1, 0xbc7df6edd6f1ec3b + .quad 0x3c78c2d0c89de218, 0x3c9f82bba194dd5d + .quad 0xbc831151a43b51ca, 0xbc8487d50bceb1a5 + .quad 0xbc9c5f60a65c7397, 0xbc7acb6afb332a0f + .quad 0xbc99b7bd2e1e8c9c, 0xbc9b9839085189e3 + .quad 0xbc97d1ab82ffb70b, 0x3c99239ad620ffe2 + .quad 0xbc929c86447928e7, 0xbc8957a7170df016 + .quad 0xbc7cbe1896221608, 0xbc9fda5797b32a0b + /* dIndexMed */ + .align 16 + .quad 0x4318000000000010, 0x4318000000000010 + /* Pi2 */ + .align 16 + .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18 + /* Pi2_low */ + .align 16 + .quad 0x3c91a62633145c07, 0x3c91a62633145c07 + /* coeff6 */ + .align 16 + .quad 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97 + .quad 0xbfb74257c46790cc, 0xbfb74257c46790cc + .quad 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0 + .quad 0xbfc249248eef04da, 0xbfc249248eef04da + .quad 0x3fc999999998741e, 0x3fc999999998741e + .quad 0xbfd555555555554d, 0xbfd555555555554d + .align 16 + .type __svml_datan_data_internal_avx512, @object + .size __svml_datan_data_internal_avx512, .-__svml_datan_data_internal_avx512 + .align 16 .FLT_11: - .long 0x00000078,0x00000000,0x00000078,0x00000000 - .type .FLT_11,@object - .size .FLT_11,16 + .long 0x00000078, 0x00000000, 0x00000078, 0x00000000 + .type .FLT_11, @object + .size .FLT_11, 16 From patchwork Mon Mar 7 15:00:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602242 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=UTCPvpbz; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC1yK720Yz9s8s for ; Tue, 8 Mar 2022 02:06:49 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B91D73858431 for ; Mon, 7 Mar 2022 15:06:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B91D73858431 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665607; bh=Io0VhYNMdFLlzkfjJtUOKPeClLf9JCk1NW9wXp6bve8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=UTCPvpbzt/VYxKPF57+iCNwJ12BLOGjvoeRFTEdt3dTeT/HfGvKK/HEnOMRZ4W2zJ 8++zH0DiMdVtSm1WOG40ZPBrWMrnOKqmvmJftGfJGM6QqETzwlQwyWyYfUx8Rcy4Jj jhPpS/JhLgHBg+jt3RXs1vcb5++J2cJp19/Q7E1M= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 06E23385843F for ; Mon, 7 Mar 2022 15:02:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 06E23385843F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347774" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347774" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="780351101" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e3016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 029/126] x86_64: Fix svml_d_atan4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:24 -0800 Message-Id: <20220307150201.10590-30-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atan4_core_avx2.S | 355 +++++++++--------- 1 file changed, 177 insertions(+), 178 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S index 00ae66eb6f..4a02eb15f4 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan4_core_avx2.S @@ -30,196 +30,195 @@ /* Offsets for data table __svml_datan_data_internal_avx512 */ -#define AbsMask 0 -#define Shifter 32 -#define MaxThreshold 64 -#define MOne 96 -#define One 128 -#define LargeX 160 -#define Zero 192 -#define Tbl_H 224 -#define Tbl_L 480 -#define dIndexMed 736 -#define Pi2 768 -#define Pi2_low 800 -#define coeff 832 +#define AbsMask 0 +#define Shifter 32 +#define MaxThreshold 64 +#define MOne 96 +#define One 128 +#define LargeX 160 +#define Zero 192 +#define Tbl_H 224 +#define Tbl_L 480 +#define dIndexMed 736 +#define Pi2 768 +#define Pi2_low 800 +#define coeff 832 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_atan_avx2) - lea Tbl_H+128+__svml_datan_data_internal_avx512(%rip), %rdi - vmovupd Shifter+__svml_datan_data_internal_avx512(%rip), %ymm4 - vmovupd One+__svml_datan_data_internal_avx512(%rip), %ymm9 - -/* saturate X range */ - vmovupd LargeX+__svml_datan_data_internal_avx512(%rip), %ymm6 - vandpd __svml_datan_data_internal_avx512(%rip), %ymm0, %ymm7 - vaddpd %ymm4, %ymm7, %ymm2 - vcmpge_oqpd MaxThreshold+__svml_datan_data_internal_avx512(%rip), %ymm7, %ymm3 - vminpd %ymm7, %ymm6, %ymm10 - vsubpd %ymm4, %ymm2, %ymm5 - -/* - * table lookup sequence - * VPERMUTE not available - */ - vpsllq $3, %ymm2, %ymm13 - vsubpd %ymm5, %ymm7, %ymm8 - vcmpge_oqpd dIndexMed+__svml_datan_data_internal_avx512(%rip), %ymm2, %ymm2 - vfmadd231pd %ymm7, %ymm5, %ymm9 - vpand .FLT_11(%rip), %ymm13, %ymm14 - vblendvpd %ymm3, MOne+__svml_datan_data_internal_avx512(%rip), %ymm8, %ymm11 - vblendvpd %ymm3, %ymm10, %ymm9, %ymm12 - vxorpd %ymm0, %ymm7, %ymm1 - -/* R+Rl = DiffX/Y */ - vdivpd %ymm12, %ymm11, %ymm0 - vextractf128 $1, %ymm14, %xmm4 - vmovd %xmm14, %eax - vmovd %xmm4, %ecx - movslq %eax, %rax - vpextrd $2, %xmm14, %edx - movslq %ecx, %rcx - vpextrd $2, %xmm4, %esi - movslq %edx, %rdx - movslq %esi, %rsi - vmovsd -128(%rax,%rdi), %xmm15 - vmovsd (%rdi,%rax), %xmm7 - vmovsd -128(%rcx,%rdi), %xmm5 - vmovsd (%rdi,%rcx), %xmm9 - vmovhpd -128(%rdx,%rdi), %xmm15, %xmm15 - vmovhpd (%rdi,%rdx), %xmm7, %xmm8 - vmovhpd -128(%rsi,%rdi), %xmm5, %xmm6 - vmovhpd (%rdi,%rsi), %xmm9, %xmm10 - -/* polynomial evaluation */ - vmulpd %ymm0, %ymm0, %ymm5 - vmulpd %ymm5, %ymm5, %ymm4 - vinsertf128 $1, %xmm6, %ymm15, %ymm11 - vinsertf128 $1, %xmm10, %ymm8, %ymm12 - vblendvpd %ymm2, %ymm12, %ymm11, %ymm13 - vmovupd coeff+__svml_datan_data_internal_avx512(%rip), %ymm8 - vmovupd coeff+64+__svml_datan_data_internal_avx512(%rip), %ymm2 - vmulpd %ymm5, %ymm0, %ymm6 - vfmadd213pd coeff+32+__svml_datan_data_internal_avx512(%rip), %ymm5, %ymm8 - vfmadd213pd coeff+96+__svml_datan_data_internal_avx512(%rip), %ymm5, %ymm2 - -/* set table value to Pi/2 for large X */ - vblendvpd %ymm3, Pi2+__svml_datan_data_internal_avx512(%rip), %ymm13, %ymm7 - vmovupd coeff+128+__svml_datan_data_internal_avx512(%rip), %ymm3 - vfmadd213pd %ymm2, %ymm4, %ymm8 - vfmadd213pd coeff+160+__svml_datan_data_internal_avx512(%rip), %ymm3, %ymm5 - vfmadd213pd %ymm5, %ymm4, %ymm8 - vfmadd213pd %ymm0, %ymm6, %ymm8 - vaddpd %ymm8, %ymm7, %ymm0 - vxorpd %ymm1, %ymm0, %ymm0 - ret + lea Tbl_H+128+__svml_datan_data_internal_avx512(%rip), %rdi + vmovupd Shifter+__svml_datan_data_internal_avx512(%rip), %ymm4 + vmovupd One+__svml_datan_data_internal_avx512(%rip), %ymm9 + + /* saturate X range */ + vmovupd LargeX+__svml_datan_data_internal_avx512(%rip), %ymm6 + vandpd __svml_datan_data_internal_avx512(%rip), %ymm0, %ymm7 + vaddpd %ymm4, %ymm7, %ymm2 + vcmpge_oqpd MaxThreshold+__svml_datan_data_internal_avx512(%rip), %ymm7, %ymm3 + vminpd %ymm7, %ymm6, %ymm10 + vsubpd %ymm4, %ymm2, %ymm5 + + /* + * table lookup sequence + * VPERMUTE not available + */ + vpsllq $3, %ymm2, %ymm13 + vsubpd %ymm5, %ymm7, %ymm8 + vcmpge_oqpd dIndexMed+__svml_datan_data_internal_avx512(%rip), %ymm2, %ymm2 + vfmadd231pd %ymm7, %ymm5, %ymm9 + vpand .FLT_11(%rip), %ymm13, %ymm14 + vblendvpd %ymm3, MOne+__svml_datan_data_internal_avx512(%rip), %ymm8, %ymm11 + vblendvpd %ymm3, %ymm10, %ymm9, %ymm12 + vxorpd %ymm0, %ymm7, %ymm1 + + /* R+Rl = DiffX/Y */ + vdivpd %ymm12, %ymm11, %ymm0 + vextractf128 $1, %ymm14, %xmm4 + vmovd %xmm14, %eax + vmovd %xmm4, %ecx + movslq %eax, %rax + vpextrd $2, %xmm14, %edx + movslq %ecx, %rcx + vpextrd $2, %xmm4, %esi + movslq %edx, %rdx + movslq %esi, %rsi + vmovsd -128(%rax, %rdi), %xmm15 + vmovsd (%rdi, %rax), %xmm7 + vmovsd -128(%rcx, %rdi), %xmm5 + vmovsd (%rdi, %rcx), %xmm9 + vmovhpd -128(%rdx, %rdi), %xmm15, %xmm15 + vmovhpd (%rdi, %rdx), %xmm7, %xmm8 + vmovhpd -128(%rsi, %rdi), %xmm5, %xmm6 + vmovhpd (%rdi, %rsi), %xmm9, %xmm10 + + /* polynomial evaluation */ + vmulpd %ymm0, %ymm0, %ymm5 + vmulpd %ymm5, %ymm5, %ymm4 + vinsertf128 $1, %xmm6, %ymm15, %ymm11 + vinsertf128 $1, %xmm10, %ymm8, %ymm12 + vblendvpd %ymm2, %ymm12, %ymm11, %ymm13 + vmovupd coeff+__svml_datan_data_internal_avx512(%rip), %ymm8 + vmovupd coeff+64+__svml_datan_data_internal_avx512(%rip), %ymm2 + vmulpd %ymm5, %ymm0, %ymm6 + vfmadd213pd coeff+32+__svml_datan_data_internal_avx512(%rip), %ymm5, %ymm8 + vfmadd213pd coeff+96+__svml_datan_data_internal_avx512(%rip), %ymm5, %ymm2 + + /* set table value to Pi/2 for large X */ + vblendvpd %ymm3, Pi2+__svml_datan_data_internal_avx512(%rip), %ymm13, %ymm7 + vmovupd coeff+128+__svml_datan_data_internal_avx512(%rip), %ymm3 + vfmadd213pd %ymm2, %ymm4, %ymm8 + vfmadd213pd coeff+160+__svml_datan_data_internal_avx512(%rip), %ymm3, %ymm5 + vfmadd213pd %ymm5, %ymm4, %ymm8 + vfmadd213pd %ymm0, %ymm6, %ymm8 + vaddpd %ymm8, %ymm7, %ymm0 + vxorpd %ymm1, %ymm0, %ymm0 + ret END(_ZGVdN4v_atan_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 .FLT_11: - .long 0x00000078,0x00000000,0x00000078,0x00000000,0x00000078,0x00000000,0x00000078,0x00000000 - .type .FLT_11,@object - .size .FLT_11,32 - .align 32 + .long 0x00000078, 0x00000000, 0x00000078, 0x00000000, 0x00000078, 0x00000000, 0x00000078, 0x00000000 + .type .FLT_11, @object + .size .FLT_11, 32 + .align 32 #ifdef __svml_datan_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 AbsMask[4][2]; - __declspec(align(32)) VUINT32 Shifter[4][2]; - __declspec(align(32)) VUINT32 MaxThreshold[4][2]; - __declspec(align(32)) VUINT32 MOne[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 LargeX[4][2]; - __declspec(align(32)) VUINT32 Zero[4][2]; - __declspec(align(32)) VUINT32 Tbl_H[32][2]; - __declspec(align(32)) VUINT32 Tbl_L[32][2]; - __declspec(align(32)) VUINT32 dIndexMed[4][2]; - __declspec(align(32)) VUINT32 Pi2[4][2]; - __declspec(align(32)) VUINT32 Pi2_low[4][2]; - __declspec(align(32)) VUINT32 coeff[6][4][2]; - } __svml_datan_data_internal_avx512; + __declspec(align(32)) VUINT32 AbsMask[4][2]; + __declspec(align(32)) VUINT32 Shifter[4][2]; + __declspec(align(32)) VUINT32 MaxThreshold[4][2]; + __declspec(align(32)) VUINT32 MOne[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 LargeX[4][2]; + __declspec(align(32)) VUINT32 Zero[4][2]; + __declspec(align(32)) VUINT32 Tbl_H[32][2]; + __declspec(align(32)) VUINT32 Tbl_L[32][2]; + __declspec(align(32)) VUINT32 dIndexMed[4][2]; + __declspec(align(32)) VUINT32 Pi2[4][2]; + __declspec(align(32)) VUINT32 Pi2_low[4][2]; + __declspec(align(32)) VUINT32 coeff[6][4][2]; +} __svml_datan_data_internal_avx512; #endif __svml_datan_data_internal_avx512: - /*== AbsMask ==*/ - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== Shifter ==*/ - .align 32 - .quad 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000 - /*== MaxThreshold ==*/ - .align 32 - .quad 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000 - /*== MOne ==*/ - .align 32 - .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== LargeX ==*/ - .align 32 - .quad 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000 - /*== Zero ==*/ - .align 32 - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 - /*== Tbl_H ==*/ - .align 32 - .quad 0x0000000000000000, 0x3fcf5b75f92c80dd - .quad 0x3fddac670561bb4f, 0x3fe4978fa3269ee1 - .quad 0x3fe921fb54442d18, 0x3fecac7c57846f9e - .quad 0x3fef730bd281f69b, 0x3ff0d38f2c5ba09f - .quad 0x3ff1b6e192ebbe44, 0x3ff270ef55a53a25 - .quad 0x3ff30b6d796a4da8, 0x3ff38d6a6ce13353 - .quad 0x3ff3fc176b7a8560, 0x3ff45b54837351a0 - .quad 0x3ff4ae10fc6589a5, 0x3ff4f68dea672617 - .quad 0x3ff5368c951e9cfd, 0x3ff56f6f33a3e6a7 - .quad 0x3ff5a25052114e60, 0x3ff5d013c41adabd - .quad 0x3ff5f97315254857, 0x3ff61f06c6a92b89 - .quad 0x3ff6414d44094c7c, 0x3ff660b02c736a06 - .quad 0x3ff67d8863bc99bd, 0x3ff698213a9d5053 - .quad 0x3ff6b0bae830c070, 0x3ff6c78c7edeb195 - .quad 0x3ff6dcc57bb565fd, 0x3ff6f08f07435fec - .quad 0x3ff7030cf9403197, 0x3ff7145eac2088a4 - /*== Tbl_L ==*/ - .align 32 - .quad 0x0000000000000000, 0x3c68ab6e3cf7afbd - .quad 0x3c7a2b7f222f65e2, 0x3c72419a87f2a458 - .quad 0x3c81a62633145c07, 0x3c80dae13ad18a6b - .quad 0x3c7007887af0cbbd, 0xbc9bd0dc231bfd70 - .quad 0x3c9b1b466a88828e, 0xbc9a66b1af5f84fb - .quad 0x3c96254cb03bb199, 0xbc812c77e8a80f5c - .quad 0xbc4441a3bd3f1084, 0x3c79e4a72eedacc4 - .quad 0xbc93b03e8a27f555, 0x3c9934f9f2b0020e - .quad 0xbc996f47948a99f1, 0xbc7df6edd6f1ec3b - .quad 0x3c78c2d0c89de218, 0x3c9f82bba194dd5d - .quad 0xbc831151a43b51ca, 0xbc8487d50bceb1a5 - .quad 0xbc9c5f60a65c7397, 0xbc7acb6afb332a0f - .quad 0xbc99b7bd2e1e8c9c, 0xbc9b9839085189e3 - .quad 0xbc97d1ab82ffb70b, 0x3c99239ad620ffe2 - .quad 0xbc929c86447928e7, 0xbc8957a7170df016 - .quad 0xbc7cbe1896221608, 0xbc9fda5797b32a0b - /*== dIndexMed ==*/ - .align 32 - .quad 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010 - /*== Pi2 ==*/ - .align 32 - .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 - /*== Pi2_low ==*/ - .align 32 - .quad 0x3c91a62633145c07, 0x3c91a62633145c07, 0x3c91a62633145c07, 0x3c91a62633145c07 - /*== coeff6 ==*/ - .align 32 - .quad 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97 - .quad 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc - .quad 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0 - .quad 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da - .quad 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e - .quad 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d - .align 32 - .type __svml_datan_data_internal_avx512,@object - .size __svml_datan_data_internal_avx512,.-__svml_datan_data_internal_avx512 + /* AbsMask */ + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* Shifter */ + .align 32 + .quad 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000 + /* MaxThreshold */ + .align 32 + .quad 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000 + /* MOne */ + .align 32 + .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* LargeX */ + .align 32 + .quad 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000 + /* Zero */ + .align 32 + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 + /* Tbl_H */ + .align 32 + .quad 0x0000000000000000, 0x3fcf5b75f92c80dd + .quad 0x3fddac670561bb4f, 0x3fe4978fa3269ee1 + .quad 0x3fe921fb54442d18, 0x3fecac7c57846f9e + .quad 0x3fef730bd281f69b, 0x3ff0d38f2c5ba09f + .quad 0x3ff1b6e192ebbe44, 0x3ff270ef55a53a25 + .quad 0x3ff30b6d796a4da8, 0x3ff38d6a6ce13353 + .quad 0x3ff3fc176b7a8560, 0x3ff45b54837351a0 + .quad 0x3ff4ae10fc6589a5, 0x3ff4f68dea672617 + .quad 0x3ff5368c951e9cfd, 0x3ff56f6f33a3e6a7 + .quad 0x3ff5a25052114e60, 0x3ff5d013c41adabd + .quad 0x3ff5f97315254857, 0x3ff61f06c6a92b89 + .quad 0x3ff6414d44094c7c, 0x3ff660b02c736a06 + .quad 0x3ff67d8863bc99bd, 0x3ff698213a9d5053 + .quad 0x3ff6b0bae830c070, 0x3ff6c78c7edeb195 + .quad 0x3ff6dcc57bb565fd, 0x3ff6f08f07435fec + .quad 0x3ff7030cf9403197, 0x3ff7145eac2088a4 + /* Tbl_L */ + .align 32 + .quad 0x0000000000000000, 0x3c68ab6e3cf7afbd + .quad 0x3c7a2b7f222f65e2, 0x3c72419a87f2a458 + .quad 0x3c81a62633145c07, 0x3c80dae13ad18a6b + .quad 0x3c7007887af0cbbd, 0xbc9bd0dc231bfd70 + .quad 0x3c9b1b466a88828e, 0xbc9a66b1af5f84fb + .quad 0x3c96254cb03bb199, 0xbc812c77e8a80f5c + .quad 0xbc4441a3bd3f1084, 0x3c79e4a72eedacc4 + .quad 0xbc93b03e8a27f555, 0x3c9934f9f2b0020e + .quad 0xbc996f47948a99f1, 0xbc7df6edd6f1ec3b + .quad 0x3c78c2d0c89de218, 0x3c9f82bba194dd5d + .quad 0xbc831151a43b51ca, 0xbc8487d50bceb1a5 + .quad 0xbc9c5f60a65c7397, 0xbc7acb6afb332a0f + .quad 0xbc99b7bd2e1e8c9c, 0xbc9b9839085189e3 + .quad 0xbc97d1ab82ffb70b, 0x3c99239ad620ffe2 + .quad 0xbc929c86447928e7, 0xbc8957a7170df016 + .quad 0xbc7cbe1896221608, 0xbc9fda5797b32a0b + /* dIndexMed */ + .align 32 + .quad 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010 + /* Pi2 */ + .align 32 + .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 + /* Pi2_low */ + .align 32 + .quad 0x3c91a62633145c07, 0x3c91a62633145c07, 0x3c91a62633145c07, 0x3c91a62633145c07 + /* coeff6 */ + .align 32 + .quad 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97 + .quad 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc + .quad 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0 + .quad 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da + .quad 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e + .quad 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d + .align 32 + .type __svml_datan_data_internal_avx512, @object + .size __svml_datan_data_internal_avx512, .-__svml_datan_data_internal_avx512 From patchwork Mon Mar 7 15:00:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602275 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=h8iGifRl; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2St0T6rz9sFk for ; Tue, 8 Mar 2022 02:29:50 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2B63B3858423 for ; Mon, 7 Mar 2022 15:29:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B63B3858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666988; bh=lLv9xZoMf+Zm824Cgmn4Uon0b2GsRWJ++UgLlrxao20=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=h8iGifRloztYPzMy4/LpDBXkpWXxrDC0dIK+sWN9bP8jvXYy01g1Y3aXOaITYvTN8 RyMLfDQo1G4dzp2yfx6C4cH8QMkzC5C1HI5wM8FBoprTw1anCx/VKZE173/kTQagJg VZm9XEKYrmeAcQdbwxLDctYGlGld9Bm5e/e/kzuA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 66EE73858005 for ; Mon, 7 Mar 2022 15:02:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 66EE73858005 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138354" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138354" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526475" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e4016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 030/126] x86_64: Fix svml_d_atan8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:25 -0800 Message-Id: <20220307150201.10590-31-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atan8_core_avx512.S | 331 +++++++++--------- 1 file changed, 165 insertions(+), 166 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S index 789f2368d9..9c63037153 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan8_core_avx512.S @@ -30,184 +30,183 @@ /* Offsets for data table __svml_datan_data_internal_avx512 */ -#define AbsMask 0 -#define Shifter 64 -#define MaxThreshold 128 -#define MOne 192 -#define One 256 -#define LargeX 320 -#define Zero 384 -#define Tbl_H 448 -#define dIndexMed 704 -#define Pi2 768 -#define coeff_1 832 -#define coeff_2 896 -#define coeff_3 960 -#define coeff_4 1024 -#define coeff_5 1088 -#define coeff_6 1152 +#define AbsMask 0 +#define Shifter 64 +#define MaxThreshold 128 +#define MOne 192 +#define One 256 +#define LargeX 320 +#define Zero 384 +#define Tbl_H 448 +#define dIndexMed 704 +#define Pi2 768 +#define coeff_1 832 +#define coeff_2 896 +#define coeff_3 960 +#define coeff_4 1024 +#define coeff_5 1088 +#define coeff_6 1152 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_atan_skx) - vmovups Shifter+__svml_datan_data_internal_avx512(%rip), %zmm4 - vmovups MaxThreshold+__svml_datan_data_internal_avx512(%rip), %zmm3 - vmovups One+__svml_datan_data_internal_avx512(%rip), %zmm9 - -/* saturate X range */ - vmovups LargeX+__svml_datan_data_internal_avx512(%rip), %zmm7 - vandpd __svml_datan_data_internal_avx512(%rip), %zmm0, %zmm8 - -/* R+Rl = DiffX/Y */ - vbroadcastsd .FLT_10(%rip), %zmm15 - vaddpd {rn-sae}, %zmm4, %zmm8, %zmm2 - vxorpd %zmm0, %zmm8, %zmm1 - vcmppd $29, {sae}, %zmm3, %zmm8, %k2 - -/* round to 2 bits after binary point */ - vreducepd $40, {sae}, %zmm8, %zmm6 - vsubpd {rn-sae}, %zmm4, %zmm2, %zmm5 - -/* - * if|X|>=MaxThreshold, set DiffX=-1 - * VMSUB(D, DiffX, LargeMask, Zero, One); - */ - vblendmpd MOne+__svml_datan_data_internal_avx512(%rip), %zmm6, %zmm10{%k2} - vfmadd231pd {rn-sae}, %zmm8, %zmm5, %zmm9 - vmovups dIndexMed+__svml_datan_data_internal_avx512(%rip), %zmm5 - -/* table lookup sequence */ - vmovups Tbl_H+__svml_datan_data_internal_avx512(%rip), %zmm6 - vgetmantpd $0, {sae}, %zmm10, %zmm14 - vgetexppd {sae}, %zmm10, %zmm11 - vmovups coeff_5+__svml_datan_data_internal_avx512(%rip), %zmm10 - -/* - * if|X|>=MaxThreshold, set Y=X - * VMADD(D, Y, LargeMask, X, Zero); - */ - vminpd {sae}, %zmm8, %zmm7, %zmm9{%k2} - vcmppd $29, {sae}, %zmm5, %zmm2, %k1 - vmovups Tbl_H+128+__svml_datan_data_internal_avx512(%rip), %zmm7 - vmovups coeff_1+__svml_datan_data_internal_avx512(%rip), %zmm8 - vgetmantpd $0, {sae}, %zmm9, %zmm3 - vgetexppd {sae}, %zmm9, %zmm12 - vmovups coeff_3+__svml_datan_data_internal_avx512(%rip), %zmm9 - vpermt2pd Tbl_H+64+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm6 - vsubpd {rn-sae}, %zmm12, %zmm11, %zmm4 - vpermt2pd Tbl_H+192+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm7 - vrcp14pd %zmm3, %zmm13 - vmovups coeff_4+__svml_datan_data_internal_avx512(%rip), %zmm12 - vmovups coeff_6+__svml_datan_data_internal_avx512(%rip), %zmm11 - vblendmpd %zmm7, %zmm6, %zmm2{%k1} - vmulpd {rn-sae}, %zmm13, %zmm14, %zmm0 - vfnmadd231pd {rn-sae}, %zmm3, %zmm13, %zmm15 - vfnmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm3 - vfmadd213pd {rn-sae}, %zmm15, %zmm15, %zmm15 - vfmadd213pd {rn-sae}, %zmm13, %zmm13, %zmm15 - vfmadd213pd {rn-sae}, %zmm0, %zmm15, %zmm3 - vscalefpd {rn-sae}, %zmm4, %zmm3, %zmm0 - -/* set table value to Pi/2 for large X */ - vblendmpd Pi2+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm3{%k2} - vmovups coeff_2+__svml_datan_data_internal_avx512(%rip), %zmm2 - -/* polynomial evaluation */ - vmulpd {rn-sae}, %zmm0, %zmm0, %zmm14 - vmulpd {rn-sae}, %zmm14, %zmm14, %zmm13 - vmulpd {rn-sae}, %zmm0, %zmm14, %zmm15 - vfmadd231pd {rn-sae}, %zmm14, %zmm8, %zmm2 - vfmadd231pd {rn-sae}, %zmm14, %zmm9, %zmm12 - vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm14 - vfmadd213pd {rn-sae}, %zmm12, %zmm13, %zmm2 - vfmadd213pd {rn-sae}, %zmm14, %zmm13, %zmm2 - vfmadd213pd {rn-sae}, %zmm0, %zmm15, %zmm2 - vaddpd {rn-sae}, %zmm3, %zmm2, %zmm0 - vxorpd %zmm1, %zmm0, %zmm0 - ret + vmovups Shifter+__svml_datan_data_internal_avx512(%rip), %zmm4 + vmovups MaxThreshold+__svml_datan_data_internal_avx512(%rip), %zmm3 + vmovups One+__svml_datan_data_internal_avx512(%rip), %zmm9 + + /* saturate X range */ + vmovups LargeX+__svml_datan_data_internal_avx512(%rip), %zmm7 + vandpd __svml_datan_data_internal_avx512(%rip), %zmm0, %zmm8 + + /* R+Rl = DiffX/Y */ + vbroadcastsd .FLT_10(%rip), %zmm15 + vaddpd {rn-sae}, %zmm4, %zmm8, %zmm2 + vxorpd %zmm0, %zmm8, %zmm1 + vcmppd $29, {sae}, %zmm3, %zmm8, %k2 + + /* round to 2 bits after binary point */ + vreducepd $40, {sae}, %zmm8, %zmm6 + vsubpd {rn-sae}, %zmm4, %zmm2, %zmm5 + + /* + * if|X|>=MaxThreshold, set DiffX=-1 + * VMSUB(D, DiffX, LargeMask, Zero, One); + */ + vblendmpd MOne+__svml_datan_data_internal_avx512(%rip), %zmm6, %zmm10{%k2} + vfmadd231pd {rn-sae}, %zmm8, %zmm5, %zmm9 + vmovups dIndexMed+__svml_datan_data_internal_avx512(%rip), %zmm5 + + /* table lookup sequence */ + vmovups Tbl_H+__svml_datan_data_internal_avx512(%rip), %zmm6 + vgetmantpd $0, {sae}, %zmm10, %zmm14 + vgetexppd {sae}, %zmm10, %zmm11 + vmovups coeff_5+__svml_datan_data_internal_avx512(%rip), %zmm10 + + /* + * if|X|>=MaxThreshold, set Y=X + * VMADD(D, Y, LargeMask, X, Zero); + */ + vminpd {sae}, %zmm8, %zmm7, %zmm9{%k2} + vcmppd $29, {sae}, %zmm5, %zmm2, %k1 + vmovups Tbl_H+128+__svml_datan_data_internal_avx512(%rip), %zmm7 + vmovups coeff_1+__svml_datan_data_internal_avx512(%rip), %zmm8 + vgetmantpd $0, {sae}, %zmm9, %zmm3 + vgetexppd {sae}, %zmm9, %zmm12 + vmovups coeff_3+__svml_datan_data_internal_avx512(%rip), %zmm9 + vpermt2pd Tbl_H+64+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm6 + vsubpd {rn-sae}, %zmm12, %zmm11, %zmm4 + vpermt2pd Tbl_H+192+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm7 + vrcp14pd %zmm3, %zmm13 + vmovups coeff_4+__svml_datan_data_internal_avx512(%rip), %zmm12 + vmovups coeff_6+__svml_datan_data_internal_avx512(%rip), %zmm11 + vblendmpd %zmm7, %zmm6, %zmm2{%k1} + vmulpd {rn-sae}, %zmm13, %zmm14, %zmm0 + vfnmadd231pd {rn-sae}, %zmm3, %zmm13, %zmm15 + vfnmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm3 + vfmadd213pd {rn-sae}, %zmm15, %zmm15, %zmm15 + vfmadd213pd {rn-sae}, %zmm13, %zmm13, %zmm15 + vfmadd213pd {rn-sae}, %zmm0, %zmm15, %zmm3 + vscalefpd {rn-sae}, %zmm4, %zmm3, %zmm0 + + /* set table value to Pi/2 for large X */ + vblendmpd Pi2+__svml_datan_data_internal_avx512(%rip), %zmm2, %zmm3{%k2} + vmovups coeff_2+__svml_datan_data_internal_avx512(%rip), %zmm2 + + /* polynomial evaluation */ + vmulpd {rn-sae}, %zmm0, %zmm0, %zmm14 + vmulpd {rn-sae}, %zmm14, %zmm14, %zmm13 + vmulpd {rn-sae}, %zmm0, %zmm14, %zmm15 + vfmadd231pd {rn-sae}, %zmm14, %zmm8, %zmm2 + vfmadd231pd {rn-sae}, %zmm14, %zmm9, %zmm12 + vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm14 + vfmadd213pd {rn-sae}, %zmm12, %zmm13, %zmm2 + vfmadd213pd {rn-sae}, %zmm14, %zmm13, %zmm2 + vfmadd213pd {rn-sae}, %zmm0, %zmm15, %zmm2 + vaddpd {rn-sae}, %zmm3, %zmm2, %zmm0 + vxorpd %zmm1, %zmm0, %zmm0 + ret END(_ZGVeN8v_atan_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_datan_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 AbsMask[8][2]; - __declspec(align(64)) VUINT32 Shifter[8][2]; - __declspec(align(64)) VUINT32 MaxThreshold[8][2]; - __declspec(align(64)) VUINT32 MOne[8][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 LargeX[8][2]; - __declspec(align(64)) VUINT32 Zero[8][2]; - __declspec(align(64)) VUINT32 Tbl_H[32][2]; - __declspec(align(64)) VUINT32 dIndexMed[8][2]; - __declspec(align(64)) VUINT32 Pi2[8][2]; - __declspec(align(64)) VUINT32 coeff[6][8][2]; - } __svml_datan_data_internal_avx512; + __declspec(align(64)) VUINT32 AbsMask[8][2]; + __declspec(align(64)) VUINT32 Shifter[8][2]; + __declspec(align(64)) VUINT32 MaxThreshold[8][2]; + __declspec(align(64)) VUINT32 MOne[8][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 LargeX[8][2]; + __declspec(align(64)) VUINT32 Zero[8][2]; + __declspec(align(64)) VUINT32 Tbl_H[32][2]; + __declspec(align(64)) VUINT32 dIndexMed[8][2]; + __declspec(align(64)) VUINT32 Pi2[8][2]; + __declspec(align(64)) VUINT32 coeff[6][8][2]; +} __svml_datan_data_internal_avx512; #endif __svml_datan_data_internal_avx512: - /*== AbsMask ==*/ - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== Shifter ==*/ - .align 64 - .quad 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000 - /*== MaxThreshold ==*/ - .align 64 - .quad 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000 - /*== MOne ==*/ - .align 64 - .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== LargeX ==*/ - .align 64 - .quad 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000 - /*== Zero ==*/ - .align 64 - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 - /*== Tbl_H ==*/ - .align 64 - .quad 0x0000000000000000, 0x3fcf5b75f92c80dd - .quad 0x3fddac670561bb4f, 0x3fe4978fa3269ee1 - .quad 0x3fe921fb54442d18, 0x3fecac7c57846f9e - .quad 0x3fef730bd281f69b, 0x3ff0d38f2c5ba09f - .quad 0x3ff1b6e192ebbe44, 0x3ff270ef55a53a25 - .quad 0x3ff30b6d796a4da8, 0x3ff38d6a6ce13353 - .quad 0x3ff3fc176b7a8560, 0x3ff45b54837351a0 - .quad 0x3ff4ae10fc6589a5, 0x3ff4f68dea672617 - .quad 0x3ff5368c951e9cfd, 0x3ff56f6f33a3e6a7 - .quad 0x3ff5a25052114e60, 0x3ff5d013c41adabd - .quad 0x3ff5f97315254857, 0x3ff61f06c6a92b89 - .quad 0x3ff6414d44094c7c, 0x3ff660b02c736a06 - .quad 0x3ff67d8863bc99bd, 0x3ff698213a9d5053 - .quad 0x3ff6b0bae830c070, 0x3ff6c78c7edeb195 - .quad 0x3ff6dcc57bb565fd, 0x3ff6f08f07435fec - .quad 0x3ff7030cf9403197, 0x3ff7145eac2088a4 - /*== dIndexMed ==*/ - .align 64 - .quad 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010 - /*== Pi2 ==*/ - .align 64 - .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 - /*== coeff6 ==*/ - .align 64 - .quad 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97 - .quad 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc - .quad 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0 - .quad 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da - .quad 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e - .quad 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d - .align 64 - .type __svml_datan_data_internal_avx512,@object - .size __svml_datan_data_internal_avx512,.-__svml_datan_data_internal_avx512 - .align 8 + /* AbsMask */ + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* Shifter */ + .align 64 + .quad 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000, 0x4318000000000000 + /* MaxThreshold */ + .align 64 + .quad 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000, 0x401f800000000000 + /* MOne */ + .align 64 + .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* LargeX */ + .align 64 + .quad 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000, 0x47f0000000000000 + /* Zero */ + .align 64 + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 + /* Tbl_H */ + .align 64 + .quad 0x0000000000000000, 0x3fcf5b75f92c80dd + .quad 0x3fddac670561bb4f, 0x3fe4978fa3269ee1 + .quad 0x3fe921fb54442d18, 0x3fecac7c57846f9e + .quad 0x3fef730bd281f69b, 0x3ff0d38f2c5ba09f + .quad 0x3ff1b6e192ebbe44, 0x3ff270ef55a53a25 + .quad 0x3ff30b6d796a4da8, 0x3ff38d6a6ce13353 + .quad 0x3ff3fc176b7a8560, 0x3ff45b54837351a0 + .quad 0x3ff4ae10fc6589a5, 0x3ff4f68dea672617 + .quad 0x3ff5368c951e9cfd, 0x3ff56f6f33a3e6a7 + .quad 0x3ff5a25052114e60, 0x3ff5d013c41adabd + .quad 0x3ff5f97315254857, 0x3ff61f06c6a92b89 + .quad 0x3ff6414d44094c7c, 0x3ff660b02c736a06 + .quad 0x3ff67d8863bc99bd, 0x3ff698213a9d5053 + .quad 0x3ff6b0bae830c070, 0x3ff6c78c7edeb195 + .quad 0x3ff6dcc57bb565fd, 0x3ff6f08f07435fec + .quad 0x3ff7030cf9403197, 0x3ff7145eac2088a4 + /* dIndexMed */ + .align 64 + .quad 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010, 0x4318000000000010 + /* Pi2 */ + .align 64 + .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 + /* coeff6 */ + .align 64 + .quad 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97, 0x3fb2e9b9f5c4fe97 + .quad 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc, 0xbfb74257c46790cc + .quad 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0, 0x3fbc71bfeff916a0 + .quad 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da, 0xbfc249248eef04da + .quad 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e, 0x3fc999999998741e + .quad 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d, 0xbfd555555555554d + .align 64 + .type __svml_datan_data_internal_avx512, @object + .size __svml_datan_data_internal_avx512, .-__svml_datan_data_internal_avx512 + .align 8 .FLT_10: - .long 0x00000000,0x3ff00000 - .type .FLT_10,@object - .size .FLT_10,8 + .long 0x00000000, 0x3ff00000 + .type .FLT_10, @object + .size .FLT_10, 8 From patchwork Mon Mar 7 15:00:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602256 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Q9566MUv; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC29k4nfcz9s8s for ; Tue, 8 Mar 2022 02:16:42 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 637B73858C20 for ; Mon, 7 Mar 2022 15:16:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 637B73858C20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666200; bh=SLoN5a2GeMVhgZch8B4bErzFgIXv7YnK4o+lJCG+Bk0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Q9566MUvIFdcK8Rh3YsxsXc6biI2+hpQHLYHFqCrsjh024YUDaqmNIzqnBiRdhRa2 3vTD2D5Q1tBBNka7zRJfOdpK8ZDuglBeoyRbXPYbYw/3ljFCdUHkF2oOXzUjos1pj/ Y3TJMNRK1WWUDzsmMRBjxvSWp4tYA4Yblw3FlqVg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 41FCC385842B for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 41FCC385842B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113922" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113922" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274074" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e5016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 031/126] x86_64: Fix svml_s_atan2f16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:26 -0800 Message-Id: <20220307150201.10590-32-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_atan2f16_core_avx512.S | 669 +++++++++--------- 1 file changed, 334 insertions(+), 335 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S index a4e9a02b38..56aa5bb917 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f16_core_avx512.S @@ -30,370 +30,369 @@ /* Offsets for data table __svml_satan2_data_internal */ -#define sZERO 0 -#define sONE 64 -#define sSIGN_MASK 128 -#define sABS_MASK 192 -#define sPIO2 256 -#define sPI 320 -#define sPC8 384 -#define sPC7 448 -#define sPC6 512 -#define sPC5 576 -#define sPC4 640 -#define sPC3 704 -#define sPC2 768 -#define sPC1 832 -#define sPC0 896 -#define iCHK_WORK_SUB 960 -#define iCHK_WORK_CMP 1024 +#define sZERO 0 +#define sONE 64 +#define sSIGN_MASK 128 +#define sABS_MASK 192 +#define sPIO2 256 +#define sPI 320 +#define sPC8 384 +#define sPC7 448 +#define sPC6 512 +#define sPC5 576 +#define sPC4 640 +#define sPC3 704 +#define sPC2 768 +#define sPC1 832 +#define sPC0 896 +#define iCHK_WORK_SUB 960 +#define iCHK_WORK_CMP 1024 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16vv_atan2f_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $256, %rsp - xorl %edx, %edx - -/* - * #define NO_VECTOR_ZERO_ATAN2_ARGS - * Declarations - * Variables - * Constants - * The end of declarations - * Implementation - * Arguments signs - */ - vmovups sABS_MASK+__svml_satan2_data_internal(%rip), %zmm6 - vmovups sONE+__svml_satan2_data_internal(%rip), %zmm3 - -/* Testing on working interval. */ - vmovups iCHK_WORK_SUB+__svml_satan2_data_internal(%rip), %zmm9 - vmovups iCHK_WORK_CMP+__svml_satan2_data_internal(%rip), %zmm14 - -/* - * 1) If yx then a=-x, b=y, PIO2=Pi/2 - */ - vmovups sPIO2+__svml_satan2_data_internal(%rip), %zmm4 - vpternlogd $255, %zmm13, %zmm13, %zmm13 - vmovaps %zmm1, %zmm8 - vandps %zmm6, %zmm8, %zmm2 - vandps %zmm6, %zmm0, %zmm1 - vorps sSIGN_MASK+__svml_satan2_data_internal(%rip), %zmm2, %zmm5 - vpsubd %zmm9, %zmm2, %zmm10 - vpsubd %zmm9, %zmm1, %zmm12 - vxorps %zmm2, %zmm8, %zmm7 - vxorps %zmm1, %zmm0, %zmm6 - vcmpps $17, {sae}, %zmm2, %zmm1, %k1 - vpcmpgtd %zmm10, %zmm14, %k2 - vpcmpgtd %zmm12, %zmm14, %k3 - vmovups sPC6+__svml_satan2_data_internal(%rip), %zmm14 - vblendmps %zmm1, %zmm5, %zmm11{%k1} - vblendmps %zmm2, %zmm1, %zmm5{%k1} - vxorps %zmm4, %zmm4, %zmm4{%k1} - -/* - * Division a/b. - * Enabled when FMA is available and - * performance is better with NR iteration - */ - vrcp14ps %zmm5, %zmm15 - vfnmadd231ps {rn-sae}, %zmm5, %zmm15, %zmm3 - vfmadd213ps {rn-sae}, %zmm15, %zmm3, %zmm15 - vmulps {rn-sae}, %zmm15, %zmm11, %zmm3 - vfnmadd231ps {rn-sae}, %zmm5, %zmm3, %zmm11 - vfmadd213ps {rn-sae}, %zmm3, %zmm11, %zmm15 - vmovups sPC8+__svml_satan2_data_internal(%rip), %zmm11 - vpternlogd $255, %zmm3, %zmm3, %zmm3 - -/* Polynomial. */ - vmulps {rn-sae}, %zmm15, %zmm15, %zmm9 - vpandnd %zmm10, %zmm10, %zmm13{%k2} - vmulps {rn-sae}, %zmm9, %zmm9, %zmm10 - vfmadd231ps {rn-sae}, %zmm10, %zmm11, %zmm14 - vmovups sPC5+__svml_satan2_data_internal(%rip), %zmm11 - vpandnd %zmm12, %zmm12, %zmm3{%k3} - vpord %zmm3, %zmm13, %zmm3 - vmovups sPC4+__svml_satan2_data_internal(%rip), %zmm13 - vmovups sPC7+__svml_satan2_data_internal(%rip), %zmm12 - vptestmd %zmm3, %zmm3, %k0 - vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14 - vfmadd231ps {rn-sae}, %zmm10, %zmm12, %zmm11 - vmovups sPC3+__svml_satan2_data_internal(%rip), %zmm12 - vmovups sPC2+__svml_satan2_data_internal(%rip), %zmm13 - -/* Special branch for fast (vector) processing of zero arguments */ - kortestw %k0, %k0 - vfmadd213ps {rn-sae}, %zmm12, %zmm10, %zmm11 - vmovups sPC1+__svml_satan2_data_internal(%rip), %zmm12 - vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14 - vmovups sPC0+__svml_satan2_data_internal(%rip), %zmm13 - vfmadd213ps {rn-sae}, %zmm12, %zmm10, %zmm11 - vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14 - vfmadd213ps {rn-sae}, %zmm14, %zmm9, %zmm11 - -/* Reconstruction. */ - vfmadd213ps {rn-sae}, %zmm4, %zmm15, %zmm11 - -/* if x<0, sPI = Pi, else sPI =0 */ - vmovups __svml_satan2_data_internal(%rip), %zmm15 - vorps %zmm7, %zmm11, %zmm9 - vcmpps $18, {sae}, %zmm15, %zmm8, %k4 - vmovups sPI+__svml_satan2_data_internal(%rip), %zmm11 - vaddps {rn-sae}, %zmm11, %zmm9, %zmm9{%k4} - vorps %zmm6, %zmm9, %zmm10 - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm10 zmm11 - -/* Return from auxilary branch - * for out of main path inputs - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $256, %rsp + xorl %edx, %edx + + /* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Arguments signs + */ + vmovups sABS_MASK+__svml_satan2_data_internal(%rip), %zmm6 + vmovups sONE+__svml_satan2_data_internal(%rip), %zmm3 + + /* Testing on working interval. */ + vmovups iCHK_WORK_SUB+__svml_satan2_data_internal(%rip), %zmm9 + vmovups iCHK_WORK_CMP+__svml_satan2_data_internal(%rip), %zmm14 + + /* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + vmovups sPIO2+__svml_satan2_data_internal(%rip), %zmm4 + vpternlogd $255, %zmm13, %zmm13, %zmm13 + vmovaps %zmm1, %zmm8 + vandps %zmm6, %zmm8, %zmm2 + vandps %zmm6, %zmm0, %zmm1 + vorps sSIGN_MASK+__svml_satan2_data_internal(%rip), %zmm2, %zmm5 + vpsubd %zmm9, %zmm2, %zmm10 + vpsubd %zmm9, %zmm1, %zmm12 + vxorps %zmm2, %zmm8, %zmm7 + vxorps %zmm1, %zmm0, %zmm6 + vcmpps $17, {sae}, %zmm2, %zmm1, %k1 + vpcmpgtd %zmm10, %zmm14, %k2 + vpcmpgtd %zmm12, %zmm14, %k3 + vmovups sPC6+__svml_satan2_data_internal(%rip), %zmm14 + vblendmps %zmm1, %zmm5, %zmm11{%k1} + vblendmps %zmm2, %zmm1, %zmm5{%k1} + vxorps %zmm4, %zmm4, %zmm4{%k1} + + /* + * Division a/b. + * Enabled when FMA is available and + * performance is better with NR iteration + */ + vrcp14ps %zmm5, %zmm15 + vfnmadd231ps {rn-sae}, %zmm5, %zmm15, %zmm3 + vfmadd213ps {rn-sae}, %zmm15, %zmm3, %zmm15 + vmulps {rn-sae}, %zmm15, %zmm11, %zmm3 + vfnmadd231ps {rn-sae}, %zmm5, %zmm3, %zmm11 + vfmadd213ps {rn-sae}, %zmm3, %zmm11, %zmm15 + vmovups sPC8+__svml_satan2_data_internal(%rip), %zmm11 + vpternlogd $255, %zmm3, %zmm3, %zmm3 + + /* Polynomial. */ + vmulps {rn-sae}, %zmm15, %zmm15, %zmm9 + vpandnd %zmm10, %zmm10, %zmm13{%k2} + vmulps {rn-sae}, %zmm9, %zmm9, %zmm10 + vfmadd231ps {rn-sae}, %zmm10, %zmm11, %zmm14 + vmovups sPC5+__svml_satan2_data_internal(%rip), %zmm11 + vpandnd %zmm12, %zmm12, %zmm3{%k3} + vpord %zmm3, %zmm13, %zmm3 + vmovups sPC4+__svml_satan2_data_internal(%rip), %zmm13 + vmovups sPC7+__svml_satan2_data_internal(%rip), %zmm12 + vptestmd %zmm3, %zmm3, %k0 + vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14 + vfmadd231ps {rn-sae}, %zmm10, %zmm12, %zmm11 + vmovups sPC3+__svml_satan2_data_internal(%rip), %zmm12 + vmovups sPC2+__svml_satan2_data_internal(%rip), %zmm13 + + /* Special branch for fast (vector) processing of zero arguments */ + kortestw %k0, %k0 + vfmadd213ps {rn-sae}, %zmm12, %zmm10, %zmm11 + vmovups sPC1+__svml_satan2_data_internal(%rip), %zmm12 + vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14 + vmovups sPC0+__svml_satan2_data_internal(%rip), %zmm13 + vfmadd213ps {rn-sae}, %zmm12, %zmm10, %zmm11 + vfmadd213ps {rn-sae}, %zmm13, %zmm10, %zmm14 + vfmadd213ps {rn-sae}, %zmm14, %zmm9, %zmm11 + + /* Reconstruction. */ + vfmadd213ps {rn-sae}, %zmm4, %zmm15, %zmm11 + + /* if x<0, sPI = Pi, else sPI =0 */ + vmovups __svml_satan2_data_internal(%rip), %zmm15 + vorps %zmm7, %zmm11, %zmm9 + vcmpps $18, {sae}, %zmm15, %zmm8, %k4 + vmovups sPI+__svml_satan2_data_internal(%rip), %zmm11 + vaddps {rn-sae}, %zmm11, %zmm9, %zmm9{%k4} + vorps %zmm6, %zmm9, %zmm10 + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm10 zmm11 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): -/* - * Special branch for fast (vector) processing of zero arguments - * The end of implementation - */ - testl %edx, %edx + /* + * Special branch for fast (vector) processing of zero arguments + * The end of implementation + */ + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm8 zmm10 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm8 zmm10 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm10, %zmm0 - 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 - */ + vmovaps %zmm10, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm8, 128(%rsp) - vmovups %zmm10, 192(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm10 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm8, 128(%rsp) + vmovups %zmm10, 192(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm10 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 192(%rsp), %zmm10 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm10 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 192(%rsp), %zmm10 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm10 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - movss 128(%rsp,%r14,4), %xmm1 - call atan2f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 - - movss %xmm0, 192(%rsp,%r14,4) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + movss 128(%rsp, %r14, 4), %xmm1 + call atan2f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): -/* Check if at least on of Y or Y is zero: iAXAYZERO */ - vmovups __svml_satan2_data_internal(%rip), %zmm9 + movss %xmm0, 192(%rsp, %r14, 4) -/* Check if both X & Y are not NaNs: iXYnotNAN */ - vcmpps $3, {sae}, %zmm8, %zmm8, %k1 - vcmpps $3, {sae}, %zmm0, %zmm0, %k2 - vpcmpd $4, %zmm9, %zmm2, %k3 - vpcmpd $4, %zmm9, %zmm1, %k4 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx r15 r12d r13d -/* - * Path for zero arguments (at least one of both) - * Check if both args are zeros (den. is zero) - */ - vcmpps $4, {sae}, %zmm9, %zmm5, %k5 - -/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ - vpcmpgtd %zmm8, %zmm9, %k6 - vpternlogd $255, %zmm14, %zmm14, %zmm14 - vpternlogd $255, %zmm12, %zmm12, %zmm12 - vpternlogd $255, %zmm13, %zmm13, %zmm13 - vpandnd %zmm2, %zmm2, %zmm14{%k3} - vpternlogd $255, %zmm2, %zmm2, %zmm2 - vpandnd %zmm1, %zmm1, %zmm2{%k4} - vpord %zmm2, %zmm14, %zmm15 - vpternlogd $255, %zmm2, %zmm2, %zmm2 - vpandnd %zmm5, %zmm5, %zmm2{%k5} - -/* Set sPIO2 to zero if den. is zero */ - vpandnd %zmm4, %zmm2, %zmm4 - vpandd %zmm2, %zmm9, %zmm5 - vpord %zmm5, %zmm4, %zmm2 - vorps %zmm7, %zmm2, %zmm7 - vaddps {rn-sae}, %zmm11, %zmm7, %zmm7{%k6} - vorps %zmm6, %zmm7, %zmm6 - vpandnd %zmm8, %zmm8, %zmm12{%k1} - vpandnd %zmm0, %zmm0, %zmm13{%k2} - vandps %zmm13, %zmm12, %zmm12 - -/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ - vpandd %zmm12, %zmm15, %zmm1 - -/* Exclude from previous callout mask zero (and not NaN) arguments */ - vpandnd %zmm3, %zmm1, %zmm3 - -/* Go to callout */ - vptestmd %zmm3, %zmm3, %k0 - kmovw %k0, %edx - -/* Merge results from main and spec path */ - vpandnd %zmm10, %zmm1, %zmm10 - vpandd %zmm1, %zmm6, %zmm11 - vpord %zmm11, %zmm10, %zmm10 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm8 zmm10 + /* Auxilary branch + * for out of main path inputs + */ + +L(AUX_BRANCH): + /* Check if at least on of Y or Y is zero: iAXAYZERO */ + vmovups __svml_satan2_data_internal(%rip), %zmm9 + + /* Check if both X & Y are not NaNs: iXYnotNAN */ + vcmpps $3, {sae}, %zmm8, %zmm8, %k1 + vcmpps $3, {sae}, %zmm0, %zmm0, %k2 + vpcmpd $4, %zmm9, %zmm2, %k3 + vpcmpd $4, %zmm9, %zmm1, %k4 + + /* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + vcmpps $4, {sae}, %zmm9, %zmm5, %k5 + + /* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + vpcmpgtd %zmm8, %zmm9, %k6 + vpternlogd $255, %zmm14, %zmm14, %zmm14 + vpternlogd $255, %zmm12, %zmm12, %zmm12 + vpternlogd $255, %zmm13, %zmm13, %zmm13 + vpandnd %zmm2, %zmm2, %zmm14{%k3} + vpternlogd $255, %zmm2, %zmm2, %zmm2 + vpandnd %zmm1, %zmm1, %zmm2{%k4} + vpord %zmm2, %zmm14, %zmm15 + vpternlogd $255, %zmm2, %zmm2, %zmm2 + vpandnd %zmm5, %zmm5, %zmm2{%k5} + + /* Set sPIO2 to zero if den. is zero */ + vpandnd %zmm4, %zmm2, %zmm4 + vpandd %zmm2, %zmm9, %zmm5 + vpord %zmm5, %zmm4, %zmm2 + vorps %zmm7, %zmm2, %zmm7 + vaddps {rn-sae}, %zmm11, %zmm7, %zmm7{%k6} + vorps %zmm6, %zmm7, %zmm6 + vpandnd %zmm8, %zmm8, %zmm12{%k1} + vpandnd %zmm0, %zmm0, %zmm13{%k2} + vandps %zmm13, %zmm12, %zmm12 + + /* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + vpandd %zmm12, %zmm15, %zmm1 + + /* Exclude from previous callout mask zero (and not NaN) arguments */ + vpandnd %zmm3, %zmm1, %zmm3 + + /* Go to callout */ + vptestmd %zmm3, %zmm3, %k0 + kmovw %k0, %edx + + /* Merge results from main and spec path */ + vpandnd %zmm10, %zmm1, %zmm10 + vpandd %zmm1, %zmm6, %zmm11 + vpord %zmm11, %zmm10, %zmm10 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm8 zmm10 END(_ZGVeN16vv_atan2f_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_satan2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 sZERO[16][1]; - __declspec(align(64)) VUINT32 sONE[16][1]; - __declspec(align(64)) VUINT32 sSIGN_MASK[16][1]; - __declspec(align(64)) VUINT32 sABS_MASK[16][1]; - __declspec(align(64)) VUINT32 sPIO2[16][1]; - __declspec(align(64)) VUINT32 sPI[16][1]; - __declspec(align(64)) VUINT32 sPC8[16][1]; - __declspec(align(64)) VUINT32 sPC7[16][1]; - __declspec(align(64)) VUINT32 sPC6[16][1]; - __declspec(align(64)) VUINT32 sPC5[16][1]; - __declspec(align(64)) VUINT32 sPC4[16][1]; - __declspec(align(64)) VUINT32 sPC3[16][1]; - __declspec(align(64)) VUINT32 sPC2[16][1]; - __declspec(align(64)) VUINT32 sPC1[16][1]; - __declspec(align(64)) VUINT32 sPC0[16][1]; - __declspec(align(64)) VUINT32 iCHK_WORK_SUB[16][1]; - __declspec(align(64)) VUINT32 iCHK_WORK_CMP[16][1]; + __declspec(align(64)) VUINT32 sZERO[16][1]; + __declspec(align(64)) VUINT32 sONE[16][1]; + __declspec(align(64)) VUINT32 sSIGN_MASK[16][1]; + __declspec(align(64)) VUINT32 sABS_MASK[16][1]; + __declspec(align(64)) VUINT32 sPIO2[16][1]; + __declspec(align(64)) VUINT32 sPI[16][1]; + __declspec(align(64)) VUINT32 sPC8[16][1]; + __declspec(align(64)) VUINT32 sPC7[16][1]; + __declspec(align(64)) VUINT32 sPC6[16][1]; + __declspec(align(64)) VUINT32 sPC5[16][1]; + __declspec(align(64)) VUINT32 sPC4[16][1]; + __declspec(align(64)) VUINT32 sPC3[16][1]; + __declspec(align(64)) VUINT32 sPC2[16][1]; + __declspec(align(64)) VUINT32 sPC1[16][1]; + __declspec(align(64)) VUINT32 sPC0[16][1]; + __declspec(align(64)) VUINT32 iCHK_WORK_SUB[16][1]; + __declspec(align(64)) VUINT32 iCHK_WORK_CMP[16][1]; } __svml_satan2_data_internal; #endif __svml_satan2_data_internal: - .long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 // sZERO - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 // sONE - .align 64 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 // sSIGN_MASK - .align 64 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // sABS_MASK - .align 64 - .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // sPIO2 - .align 64 - .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB // sPI - .align 64 - .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // sA08 - .align 64 - .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // sA07 - .align 64 - .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // sA06 - .align 64 - .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // sA05 - .align 64 - .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // sA04 - .align 64 - .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // sA03 - .align 64 - .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // sA02 - .align 64 - .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // sA01 - .align 64 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 // sA00 - .align 64 - .long 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000 //iCHK_WORK_SUB - .align 64 - .long 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000 //iCHK_WORK_CMP - .align 64 - .type __svml_satan2_data_internal,@object - .size __svml_satan2_data_internal,.-__svml_satan2_data_internal + .long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 // sZERO + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 // sONE + .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 // sSIGN_MASK + .align 64 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // sABS_MASK + .align 64 + .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // sPIO2 + .align 64 + .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB // sPI + .align 64 + .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // sA08 + .align 64 + .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // sA07 + .align 64 + .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // sA06 + .align 64 + .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // sA05 + .align 64 + .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // sA04 + .align 64 + .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // sA03 + .align 64 + .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // sA02 + .align 64 + .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // sA01 + .align 64 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 // sA00 + .align 64 + .long 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000 // iCHK_WORK_SUB + .align 64 + .long 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000 // iCHK_WORK_CMP + .align 64 + .type __svml_satan2_data_internal, @object + .size __svml_satan2_data_internal, .-__svml_satan2_data_internal From patchwork Mon Mar 7 15:00:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602346 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=fCABALXt; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC31H1WMMz9sFw for ; Tue, 8 Mar 2022 02:54:27 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 12831385842C for ; Mon, 7 Mar 2022 15:54:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 12831385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668465; bh=Mxu92iut5vB4Gh4OOCg9uYPjmn0UxIZfspNU6FW3BcI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=fCABALXtZLQWaRYV5MqDSdsZajdQ3/9Vb0uIxkjNfECcFoM+frN7gPtPwZPlUub1a 3D5YHq3xnIOy+E488FJC1ByN58MYS8cz9ffFAEogELl5Es2LbUtLuilK9v0SsrPQb4 gfWyMvkqm3/ug+GEu3KGWP0vUjmxIYUIGL/jmAS0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 35767385843D for ; Mon, 7 Mar 2022 15:02:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 35767385843D X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364119" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364119" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="509733229" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e6016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 032/126] x86_64: Fix svml_s_atan2f4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:27 -0800 Message-Id: <20220307150201.10590-33-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_atan2f4_core_sse4.S | 639 +++++++++--------- 1 file changed, 319 insertions(+), 320 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S index 048be70b95..e99a69985c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f4_core_sse4.S @@ -30,355 +30,354 @@ /* Offsets for data table __svml_satan2_data_internal */ -#define sZERO 0 -#define sSIGN_MASK 16 -#define sABS_MASK 32 -#define sPIO2 48 -#define sPI 64 -#define sPC8 80 -#define sPC7 96 -#define sPC6 112 -#define sPC5 128 -#define sPC4 144 -#define sPC3 160 -#define sPC2 176 -#define sPC1 192 -#define sPC0 208 -#define iCHK_WORK_SUB 224 -#define iCHK_WORK_CMP 240 +#define sZERO 0 +#define sSIGN_MASK 16 +#define sABS_MASK 32 +#define sPIO2 48 +#define sPI 64 +#define sPC8 80 +#define sPC7 96 +#define sPC6 112 +#define sPC5 128 +#define sPC4 144 +#define sPC3 160 +#define sPC2 176 +#define sPC1 192 +#define sPC0 208 +#define iCHK_WORK_SUB 224 +#define iCHK_WORK_CMP 240 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4vv_atan2f_sse4) - subq $88, %rsp - cfi_def_cfa_offset(96) - movaps %xmm0, %xmm12 - -/* - * #define NO_VECTOR_ZERO_ATAN2_ARGS - * Declarations - * Variables - * Constants - * The end of declarations - * Implementation - * Arguments signs - */ - movups sABS_MASK+__svml_satan2_data_internal(%rip), %xmm10 - movaps %xmm1, %xmm13 - movaps %xmm10, %xmm11 - andps %xmm12, %xmm10 - andps %xmm13, %xmm11 - movaps %xmm10, %xmm7 - cmpltps %xmm11, %xmm7 - -/* - * 1) If yx then a=-x, b=y, PIO2=Pi/2 - */ - movups sSIGN_MASK+__svml_satan2_data_internal(%rip), %xmm6 - movaps %xmm7, %xmm0 - orps %xmm11, %xmm6 - movaps %xmm10, %xmm4 - andnps %xmm6, %xmm0 - movaps %xmm7, %xmm6 - movaps %xmm11, %xmm5 - andps %xmm7, %xmm4 - andnps %xmm10, %xmm6 - andps %xmm7, %xmm5 - orps %xmm4, %xmm0 - orps %xmm5, %xmm6 - -/* Division a/b. */ - divps %xmm6, %xmm0 - -/* Testing on working interval. */ - movdqu iCHK_WORK_SUB+__svml_satan2_data_internal(%rip), %xmm14 - movaps %xmm11, %xmm15 - movaps %xmm10, %xmm3 - psubd %xmm14, %xmm15 - psubd %xmm14, %xmm3 - movdqa %xmm15, %xmm1 - movdqu iCHK_WORK_CMP+__svml_satan2_data_internal(%rip), %xmm2 - movdqa %xmm3, %xmm14 - pcmpgtd %xmm2, %xmm1 - pcmpeqd %xmm2, %xmm15 - pcmpgtd %xmm2, %xmm14 - pcmpeqd %xmm2, %xmm3 - por %xmm15, %xmm1 - por %xmm3, %xmm14 - por %xmm14, %xmm1 - -/* Polynomial. */ - movaps %xmm0, %xmm14 - mulps %xmm0, %xmm14 - movaps %xmm13, %xmm4 - movmskps %xmm1, %ecx - movaps %xmm14, %xmm15 - movaps %xmm11, %xmm9 - mulps %xmm14, %xmm15 - pxor %xmm13, %xmm9 - movups sPC8+__svml_satan2_data_internal(%rip), %xmm2 - movaps %xmm10, %xmm8 - mulps %xmm15, %xmm2 - pxor %xmm12, %xmm8 - movups sPC7+__svml_satan2_data_internal(%rip), %xmm3 - xorl %edx, %edx - mulps %xmm15, %xmm3 - addps sPC6+__svml_satan2_data_internal(%rip), %xmm2 - mulps %xmm15, %xmm2 - addps sPC5+__svml_satan2_data_internal(%rip), %xmm3 - mulps %xmm15, %xmm3 - addps sPC4+__svml_satan2_data_internal(%rip), %xmm2 - mulps %xmm15, %xmm2 - addps sPC3+__svml_satan2_data_internal(%rip), %xmm3 - mulps %xmm15, %xmm3 - addps sPC2+__svml_satan2_data_internal(%rip), %xmm2 - mulps %xmm2, %xmm15 - addps sPC1+__svml_satan2_data_internal(%rip), %xmm3 - mulps %xmm3, %xmm14 - addps sPC0+__svml_satan2_data_internal(%rip), %xmm15 - -/* if x<0, sPI = Pi, else sPI =0 */ - movups __svml_satan2_data_internal(%rip), %xmm5 - xorl %eax, %eax - andnps sPIO2+__svml_satan2_data_internal(%rip), %xmm7 - addps %xmm14, %xmm15 - cmpleps %xmm5, %xmm4 - -/* Reconstruction. */ - mulps %xmm15, %xmm0 - andps sPI+__svml_satan2_data_internal(%rip), %xmm4 - addps %xmm7, %xmm0 - orps %xmm9, %xmm0 - addps %xmm4, %xmm0 - orps %xmm8, %xmm0 - -/* Special branch for fast (vector) processing of zero arguments */ - testl %ecx, %ecx - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm1 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 - -/* Return from auxilary branch - * for out of main path inputs - */ + subq $88, %rsp + cfi_def_cfa_offset(96) + movaps %xmm0, %xmm12 + + /* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Arguments signs + */ + movups sABS_MASK+__svml_satan2_data_internal(%rip), %xmm10 + movaps %xmm1, %xmm13 + movaps %xmm10, %xmm11 + andps %xmm12, %xmm10 + andps %xmm13, %xmm11 + movaps %xmm10, %xmm7 + cmpltps %xmm11, %xmm7 + + /* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + movups sSIGN_MASK+__svml_satan2_data_internal(%rip), %xmm6 + movaps %xmm7, %xmm0 + orps %xmm11, %xmm6 + movaps %xmm10, %xmm4 + andnps %xmm6, %xmm0 + movaps %xmm7, %xmm6 + movaps %xmm11, %xmm5 + andps %xmm7, %xmm4 + andnps %xmm10, %xmm6 + andps %xmm7, %xmm5 + orps %xmm4, %xmm0 + orps %xmm5, %xmm6 + + /* Division a/b. */ + divps %xmm6, %xmm0 + + /* Testing on working interval. */ + movdqu iCHK_WORK_SUB+__svml_satan2_data_internal(%rip), %xmm14 + movaps %xmm11, %xmm15 + movaps %xmm10, %xmm3 + psubd %xmm14, %xmm15 + psubd %xmm14, %xmm3 + movdqa %xmm15, %xmm1 + movdqu iCHK_WORK_CMP+__svml_satan2_data_internal(%rip), %xmm2 + movdqa %xmm3, %xmm14 + pcmpgtd %xmm2, %xmm1 + pcmpeqd %xmm2, %xmm15 + pcmpgtd %xmm2, %xmm14 + pcmpeqd %xmm2, %xmm3 + por %xmm15, %xmm1 + por %xmm3, %xmm14 + por %xmm14, %xmm1 + + /* Polynomial. */ + movaps %xmm0, %xmm14 + mulps %xmm0, %xmm14 + movaps %xmm13, %xmm4 + movmskps %xmm1, %ecx + movaps %xmm14, %xmm15 + movaps %xmm11, %xmm9 + mulps %xmm14, %xmm15 + pxor %xmm13, %xmm9 + movups sPC8+__svml_satan2_data_internal(%rip), %xmm2 + movaps %xmm10, %xmm8 + mulps %xmm15, %xmm2 + pxor %xmm12, %xmm8 + movups sPC7+__svml_satan2_data_internal(%rip), %xmm3 + xorl %edx, %edx + mulps %xmm15, %xmm3 + addps sPC6+__svml_satan2_data_internal(%rip), %xmm2 + mulps %xmm15, %xmm2 + addps sPC5+__svml_satan2_data_internal(%rip), %xmm3 + mulps %xmm15, %xmm3 + addps sPC4+__svml_satan2_data_internal(%rip), %xmm2 + mulps %xmm15, %xmm2 + addps sPC3+__svml_satan2_data_internal(%rip), %xmm3 + mulps %xmm15, %xmm3 + addps sPC2+__svml_satan2_data_internal(%rip), %xmm2 + mulps %xmm2, %xmm15 + addps sPC1+__svml_satan2_data_internal(%rip), %xmm3 + mulps %xmm3, %xmm14 + addps sPC0+__svml_satan2_data_internal(%rip), %xmm15 + + /* if x<0, sPI = Pi, else sPI =0 */ + movups __svml_satan2_data_internal(%rip), %xmm5 + xorl %eax, %eax + andnps sPIO2+__svml_satan2_data_internal(%rip), %xmm7 + addps %xmm14, %xmm15 + cmpleps %xmm5, %xmm4 + + /* Reconstruction. */ + mulps %xmm15, %xmm0 + andps sPI+__svml_satan2_data_internal(%rip), %xmm4 + addps %xmm7, %xmm0 + orps %xmm9, %xmm0 + addps %xmm4, %xmm0 + orps %xmm8, %xmm0 + + /* Special branch for fast (vector) processing of zero arguments */ + testl %ecx, %ecx + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm1 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): -/* - * Special branch for fast (vector) processing of zero arguments - * The end of implementation - */ - testl %edx, %edx + /* + * Special branch for fast (vector) processing of zero arguments + * The end of implementation + */ + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm12 xmm13 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm12 xmm13 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $88, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(96) + addq $88, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(96) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm12, 32(%rsp) - movups %xmm13, 48(%rsp) - movups %xmm0, 64(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 - - movq %r12, 16(%rsp) - cfi_offset(12, -80) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -88) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -96) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm12, 32(%rsp) + movups %xmm13, 48(%rsp) + movups %xmm0, 64(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 + + movq %r12, 16(%rsp) + cfi_offset(12, -80) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -88) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -96) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d - - movq 16(%rsp), %r12 - cfi_restore(12) - movq 8(%rsp), %r13 - cfi_restore(13) - movq (%rsp), %r14 - cfi_restore(14) - movups 64(%rsp), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -80) - cfi_offset(13, -88) - cfi_offset(14, -96) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp r15 r12d r13d + + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 64(%rsp), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -80) + cfi_offset(13, -88) + cfi_offset(14, -96) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - movss 48(%rsp,%r14,4), %xmm1 - call atan2f@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 - - movss %xmm0, 64(%rsp,%r14,4) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx rbp r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + movss 48(%rsp, %r14, 4), %xmm1 + call atan2f@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): -/* Check if both X & Y are not NaNs: iXYnotNAN */ - movaps %xmm13, %xmm3 - movaps %xmm12, %xmm2 - cmpordps %xmm13, %xmm3 - cmpordps %xmm12, %xmm2 + movss %xmm0, 64(%rsp, %r14, 4) -/* - * Path for zero arguments (at least one of both) - * Check if both args are zeros (den. is zero) - */ - cmpeqps %xmm5, %xmm6 - -/* Check if at least on of Y or Y is zero: iAXAYZERO */ - pcmpeqd %xmm5, %xmm11 - pcmpeqd %xmm5, %xmm10 - andps %xmm2, %xmm3 - por %xmm10, %xmm11 - -/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ - andps %xmm3, %xmm11 - -/* Exclude from previous callout mask zero (and not NaN) arguments */ - movaps %xmm11, %xmm10 - pandn %xmm1, %xmm10 - -/* Set sPIO2 to zero if den. is zero */ - movaps %xmm6, %xmm1 - andnps %xmm7, %xmm1 - andps %xmm5, %xmm6 - orps %xmm6, %xmm1 - -/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ - pcmpgtd %xmm13, %xmm5 - orps %xmm9, %xmm1 - andps %xmm4, %xmm5 - -/* Merge results from main and spec path */ - movaps %xmm11, %xmm4 - addps %xmm5, %xmm1 - -/* Go to callout */ - movmskps %xmm10, %edx - orps %xmm8, %xmm1 - andnps %xmm0, %xmm4 - andps %xmm11, %xmm1 - movaps %xmm4, %xmm0 - orps %xmm1, %xmm0 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm12 xmm13 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx rbp r15 r12d r13d + + /* Auxilary branch + * for out of main path inputs + */ + +L(AUX_BRANCH): + /* Check if both X & Y are not NaNs: iXYnotNAN */ + movaps %xmm13, %xmm3 + movaps %xmm12, %xmm2 + cmpordps %xmm13, %xmm3 + cmpordps %xmm12, %xmm2 + + /* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + cmpeqps %xmm5, %xmm6 + + /* Check if at least on of Y or Y is zero: iAXAYZERO */ + pcmpeqd %xmm5, %xmm11 + pcmpeqd %xmm5, %xmm10 + andps %xmm2, %xmm3 + por %xmm10, %xmm11 + + /* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + andps %xmm3, %xmm11 + + /* Exclude from previous callout mask zero (and not NaN) arguments */ + movaps %xmm11, %xmm10 + pandn %xmm1, %xmm10 + + /* Set sPIO2 to zero if den. is zero */ + movaps %xmm6, %xmm1 + andnps %xmm7, %xmm1 + andps %xmm5, %xmm6 + orps %xmm6, %xmm1 + + /* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + pcmpgtd %xmm13, %xmm5 + orps %xmm9, %xmm1 + andps %xmm4, %xmm5 + + /* Merge results from main and spec path */ + movaps %xmm11, %xmm4 + addps %xmm5, %xmm1 + + /* Go to callout */ + movmskps %xmm10, %edx + orps %xmm8, %xmm1 + andnps %xmm0, %xmm4 + andps %xmm11, %xmm1 + movaps %xmm4, %xmm0 + orps %xmm1, %xmm0 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm12 xmm13 END(_ZGVbN4vv_atan2f_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_satan2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 sZERO[4][1]; - __declspec(align(16)) VUINT32 sSIGN_MASK[4][1]; - __declspec(align(16)) VUINT32 sABS_MASK[4][1]; - __declspec(align(16)) VUINT32 sPIO2[4][1]; - __declspec(align(16)) VUINT32 sPI[4][1]; - __declspec(align(16)) VUINT32 sPC8[4][1]; - __declspec(align(16)) VUINT32 sPC7[4][1]; - __declspec(align(16)) VUINT32 sPC6[4][1]; - __declspec(align(16)) VUINT32 sPC5[4][1]; - __declspec(align(16)) VUINT32 sPC4[4][1]; - __declspec(align(16)) VUINT32 sPC3[4][1]; - __declspec(align(16)) VUINT32 sPC2[4][1]; - __declspec(align(16)) VUINT32 sPC1[4][1]; - __declspec(align(16)) VUINT32 sPC0[4][1]; - __declspec(align(16)) VUINT32 iCHK_WORK_SUB[4][1]; - __declspec(align(16)) VUINT32 iCHK_WORK_CMP[4][1]; + __declspec(align(16)) VUINT32 sZERO[4][1]; + __declspec(align(16)) VUINT32 sSIGN_MASK[4][1]; + __declspec(align(16)) VUINT32 sABS_MASK[4][1]; + __declspec(align(16)) VUINT32 sPIO2[4][1]; + __declspec(align(16)) VUINT32 sPI[4][1]; + __declspec(align(16)) VUINT32 sPC8[4][1]; + __declspec(align(16)) VUINT32 sPC7[4][1]; + __declspec(align(16)) VUINT32 sPC6[4][1]; + __declspec(align(16)) VUINT32 sPC5[4][1]; + __declspec(align(16)) VUINT32 sPC4[4][1]; + __declspec(align(16)) VUINT32 sPC3[4][1]; + __declspec(align(16)) VUINT32 sPC2[4][1]; + __declspec(align(16)) VUINT32 sPC1[4][1]; + __declspec(align(16)) VUINT32 sPC0[4][1]; + __declspec(align(16)) VUINT32 iCHK_WORK_SUB[4][1]; + __declspec(align(16)) VUINT32 iCHK_WORK_CMP[4][1]; } __svml_satan2_data_internal; #endif __svml_satan2_data_internal: - .long 0x00000000, 0x00000000, 0x00000000, 0x00000000 // sZERO - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 // sSIGN_MASK - .align 16 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // sABS_MASK - .align 16 - .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // sPIO2 - .align 16 - .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB // sPI - .align 16 - .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // sA08 - .align 16 - .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // sA07 - .align 16 - .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // sA06 - .align 16 - .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // sA05 - .align 16 - .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // sA04 - .align 16 - .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // sA03 - .align 16 - .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // sA02 - .align 16 - .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // sA01 - .align 16 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 // sA00 - .align 16 - .long 0x81000000, 0x81000000, 0x81000000, 0x81000000 //iCHK_WORK_SUB - .align 16 - .long 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000 //iCHK_WORK_CMP - .align 16 - .type __svml_satan2_data_internal,@object - .size __svml_satan2_data_internal,.-__svml_satan2_data_internal + .long 0x00000000, 0x00000000, 0x00000000, 0x00000000 // sZERO + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 // sSIGN_MASK + .align 16 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // sABS_MASK + .align 16 + .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // sPIO2 + .align 16 + .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB // sPI + .align 16 + .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // sA08 + .align 16 + .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // sA07 + .align 16 + .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // sA06 + .align 16 + .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // sA05 + .align 16 + .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // sA04 + .align 16 + .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // sA03 + .align 16 + .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // sA02 + .align 16 + .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // sA01 + .align 16 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 // sA00 + .align 16 + .long 0x81000000, 0x81000000, 0x81000000, 0x81000000 // iCHK_WORK_SUB + .align 16 + .long 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000 // iCHK_WORK_CMP + .align 16 + .type __svml_satan2_data_internal, @object + .size __svml_satan2_data_internal, .-__svml_satan2_data_internal From patchwork Mon Mar 7 15:00:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602327 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ZEbF2TzV; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2sw1bPdz9sFw for ; Tue, 8 Mar 2022 02:48:04 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 52F2B385841F for ; Mon, 7 Mar 2022 15:48:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 52F2B385841F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668082; bh=l4TYQKzMIy7A5TPRnspCaaWDCkx7BYk2LOtlx2xn+Iw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ZEbF2TzVO1n78mF1LbUNCQMvFULWTizyRh/S0QDM13wfgJh6EATx/Y7sxrsRJL4mO JWooxSTQ4OrJDGJxKugoV1kBJuSAyAE5fkfs6Q+t2Brpy6kqOtB/L66tID15lx0lQ9 PQpuPP5CzikGSNu8yGgFf9gENoNSM7zTOJKS2ox0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id C68F63858C39 for ; Mon, 7 Mar 2022 15:02:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C68F63858C39 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138356" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138356" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526476" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e7016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 033/126] x86_64: Fix svml_s_atan2f8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:28 -0800 Message-Id: <20220307150201.10590-34-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_atan2f8_core_avx2.S | 593 +++++++++--------- 1 file changed, 296 insertions(+), 297 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S index 1488945943..29ebbb6db2 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atan2f8_core_avx2.S @@ -30,333 +30,332 @@ /* Offsets for data table __svml_satan2_data_internal */ -#define sZERO 0 -#define sSIGN_MASK 32 -#define sABS_MASK 64 -#define sPIO2 96 -#define sPI 128 -#define sPC8 160 -#define sPC7 192 -#define sPC6 224 -#define sPC5 256 -#define sPC4 288 -#define sPC3 320 -#define sPC2 352 -#define sPC1 384 -#define sPC0 416 -#define iCHK_WORK_SUB 448 -#define iCHK_WORK_CMP 480 +#define sZERO 0 +#define sSIGN_MASK 32 +#define sABS_MASK 64 +#define sPIO2 96 +#define sPI 128 +#define sPC8 160 +#define sPC7 192 +#define sPC6 224 +#define sPC5 256 +#define sPC4 288 +#define sPC3 320 +#define sPC2 352 +#define sPC1 384 +#define sPC0 416 +#define iCHK_WORK_SUB 448 +#define iCHK_WORK_CMP 480 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8vv_atan2f_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $128, %rsp - xorl %edx, %edx - -/* - * #define NO_VECTOR_ZERO_ATAN2_ARGS - * Declarations - * Variables - * Constants - * The end of declarations - * Implementation - * Arguments signs - */ - vmovups sABS_MASK+__svml_satan2_data_internal(%rip), %ymm2 - -/* Testing on working interval. */ - vmovups iCHK_WORK_SUB+__svml_satan2_data_internal(%rip), %ymm15 - vmovups iCHK_WORK_CMP+__svml_satan2_data_internal(%rip), %ymm9 - -/* if x<0, sPI = Pi, else sPI =0 */ - vmovups __svml_satan2_data_internal(%rip), %ymm5 - vmovaps %ymm1, %ymm7 - vandps %ymm2, %ymm7, %ymm13 - vandps %ymm2, %ymm0, %ymm12 - vcmplt_oqps %ymm13, %ymm12, %ymm4 - vcmple_oqps %ymm5, %ymm7, %ymm6 - vpsubd %ymm15, %ymm13, %ymm10 - vpsubd %ymm15, %ymm12, %ymm8 - -/* - * 1) If yx then a=-x, b=y, PIO2=Pi/2 - */ - vorps sSIGN_MASK+__svml_satan2_data_internal(%rip), %ymm13, %ymm3 - vblendvps %ymm4, %ymm12, %ymm3, %ymm14 - vblendvps %ymm4, %ymm13, %ymm12, %ymm3 - -/* Division a/b. */ - vdivps %ymm3, %ymm14, %ymm11 - vpcmpgtd %ymm9, %ymm10, %ymm14 - vpcmpeqd %ymm9, %ymm10, %ymm15 - vpor %ymm15, %ymm14, %ymm10 - vmovups sPC7+__svml_satan2_data_internal(%rip), %ymm15 - vpcmpgtd %ymm9, %ymm8, %ymm14 - vpcmpeqd %ymm9, %ymm8, %ymm8 - vpor %ymm8, %ymm14, %ymm9 - vmovups sPC8+__svml_satan2_data_internal(%rip), %ymm14 - vpor %ymm9, %ymm10, %ymm10 - -/* Polynomial. */ - vmulps %ymm11, %ymm11, %ymm9 - vmulps %ymm9, %ymm9, %ymm8 - vfmadd213ps sPC6+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 - vfmadd213ps sPC5+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 - vfmadd213ps sPC4+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 - vfmadd213ps sPC3+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 - vfmadd213ps sPC2+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 - vfmadd213ps sPC1+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 - vfmadd213ps sPC0+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 - vfmadd213ps %ymm14, %ymm9, %ymm15 - vandnps sPIO2+__svml_satan2_data_internal(%rip), %ymm4, %ymm4 - -/* Reconstruction. */ - vfmadd213ps %ymm4, %ymm11, %ymm15 - vxorps %ymm13, %ymm7, %ymm1 - vandps sPI+__svml_satan2_data_internal(%rip), %ymm6, %ymm6 - vorps %ymm1, %ymm15, %ymm11 - vaddps %ymm11, %ymm6, %ymm8 - vmovmskps %ymm10, %eax - vxorps %ymm12, %ymm0, %ymm2 - vorps %ymm2, %ymm8, %ymm9 - -/* Special branch for fast (vector) processing of zero arguments */ - testl %eax, %eax - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm9 ymm10 ymm12 ymm13 - -/* Return from auxilary branch - * for out of main path inputs - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $128, %rsp + xorl %edx, %edx + + /* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Arguments signs + */ + vmovups sABS_MASK+__svml_satan2_data_internal(%rip), %ymm2 + + /* Testing on working interval. */ + vmovups iCHK_WORK_SUB+__svml_satan2_data_internal(%rip), %ymm15 + vmovups iCHK_WORK_CMP+__svml_satan2_data_internal(%rip), %ymm9 + + /* if x<0, sPI = Pi, else sPI =0 */ + vmovups __svml_satan2_data_internal(%rip), %ymm5 + vmovaps %ymm1, %ymm7 + vandps %ymm2, %ymm7, %ymm13 + vandps %ymm2, %ymm0, %ymm12 + vcmplt_oqps %ymm13, %ymm12, %ymm4 + vcmple_oqps %ymm5, %ymm7, %ymm6 + vpsubd %ymm15, %ymm13, %ymm10 + vpsubd %ymm15, %ymm12, %ymm8 + + /* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + vorps sSIGN_MASK+__svml_satan2_data_internal(%rip), %ymm13, %ymm3 + vblendvps %ymm4, %ymm12, %ymm3, %ymm14 + vblendvps %ymm4, %ymm13, %ymm12, %ymm3 + + /* Division a/b. */ + vdivps %ymm3, %ymm14, %ymm11 + vpcmpgtd %ymm9, %ymm10, %ymm14 + vpcmpeqd %ymm9, %ymm10, %ymm15 + vpor %ymm15, %ymm14, %ymm10 + vmovups sPC7+__svml_satan2_data_internal(%rip), %ymm15 + vpcmpgtd %ymm9, %ymm8, %ymm14 + vpcmpeqd %ymm9, %ymm8, %ymm8 + vpor %ymm8, %ymm14, %ymm9 + vmovups sPC8+__svml_satan2_data_internal(%rip), %ymm14 + vpor %ymm9, %ymm10, %ymm10 + + /* Polynomial. */ + vmulps %ymm11, %ymm11, %ymm9 + vmulps %ymm9, %ymm9, %ymm8 + vfmadd213ps sPC6+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps sPC5+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 + vfmadd213ps sPC4+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps sPC3+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 + vfmadd213ps sPC2+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps sPC1+__svml_satan2_data_internal(%rip), %ymm8, %ymm15 + vfmadd213ps sPC0+__svml_satan2_data_internal(%rip), %ymm8, %ymm14 + vfmadd213ps %ymm14, %ymm9, %ymm15 + vandnps sPIO2+__svml_satan2_data_internal(%rip), %ymm4, %ymm4 + + /* Reconstruction. */ + vfmadd213ps %ymm4, %ymm11, %ymm15 + vxorps %ymm13, %ymm7, %ymm1 + vandps sPI+__svml_satan2_data_internal(%rip), %ymm6, %ymm6 + vorps %ymm1, %ymm15, %ymm11 + vaddps %ymm11, %ymm6, %ymm8 + vmovmskps %ymm10, %eax + vxorps %ymm12, %ymm0, %ymm2 + vorps %ymm2, %ymm8, %ymm9 + + /* Special branch for fast (vector) processing of zero arguments */ + testl %eax, %eax + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm9 ymm10 ymm12 ymm13 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): -/* - * Special branch for fast (vector) processing of zero arguments - * The end of implementation - */ - testl %edx, %edx + /* + * Special branch for fast (vector) processing of zero arguments + * The end of implementation + */ + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm7 ymm9 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm7 ymm9 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %ymm9, %ymm0 - 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 - */ + vmovaps %ymm9, %ymm0 + 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): - vmovups %ymm0, 32(%rsp) - vmovups %ymm7, 64(%rsp) - vmovups %ymm9, 96(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm9 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm0, 32(%rsp) + vmovups %ymm7, 64(%rsp) + vmovups %ymm9, 96(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm9 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 96(%rsp), %ymm9 - -/* 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm9 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 96(%rsp), %ymm9 + + /* 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm9 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - movss 64(%rsp,%r14,4), %xmm1 - call atan2f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 - - movss %xmm0, 96(%rsp,%r14,4) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ - -L(AUX_BRANCH): -/* Check if at least on of Y or Y is zero: iAXAYZERO */ - vpcmpeqd %ymm5, %ymm13, %ymm13 - vpcmpeqd %ymm5, %ymm12, %ymm12 - -/* Check if both X & Y are not NaNs: iXYnotNAN */ - vcmpordps %ymm7, %ymm7, %ymm11 - vcmpordps %ymm0, %ymm0, %ymm14 - -/* - * Path for zero arguments (at least one of both) - * Check if both args are zeros (den. is zero) - */ - vcmpeqps %ymm5, %ymm3, %ymm3 - vpor %ymm12, %ymm13, %ymm15 - -/* Set sPIO2 to zero if den. is zero */ - vblendvps %ymm3, %ymm5, %ymm4, %ymm4 - vandps %ymm14, %ymm11, %ymm8 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + movss 64(%rsp, %r14, 4), %xmm1 + call atan2f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 -/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ - vpand %ymm8, %ymm15, %ymm8 + movss %xmm0, 96(%rsp, %r14, 4) -/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ - vpcmpgtd %ymm7, %ymm5, %ymm5 - vorps %ymm1, %ymm4, %ymm1 - vandps %ymm6, %ymm5, %ymm6 - vaddps %ymm6, %ymm1, %ymm1 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx r15 r12d r13d -/* Exclude from previous callout mask zero (and not NaN) arguments */ - vpandn %ymm10, %ymm8, %ymm10 - vorps %ymm2, %ymm1, %ymm2 + /* Auxilary branch + * for out of main path inputs + */ -/* Go to callout */ - vmovmskps %ymm10, %edx - -/* Merge results from main and spec path */ - vblendvps %ymm8, %ymm2, %ymm9, %ymm9 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm7 ymm9 +L(AUX_BRANCH): + /* Check if at least on of Y or Y is zero: iAXAYZERO */ + vpcmpeqd %ymm5, %ymm13, %ymm13 + vpcmpeqd %ymm5, %ymm12, %ymm12 + + /* Check if both X & Y are not NaNs: iXYnotNAN */ + vcmpordps %ymm7, %ymm7, %ymm11 + vcmpordps %ymm0, %ymm0, %ymm14 + + /* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + vcmpeqps %ymm5, %ymm3, %ymm3 + vpor %ymm12, %ymm13, %ymm15 + + /* Set sPIO2 to zero if den. is zero */ + vblendvps %ymm3, %ymm5, %ymm4, %ymm4 + vandps %ymm14, %ymm11, %ymm8 + + /* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + vpand %ymm8, %ymm15, %ymm8 + + /* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + vpcmpgtd %ymm7, %ymm5, %ymm5 + vorps %ymm1, %ymm4, %ymm1 + vandps %ymm6, %ymm5, %ymm6 + vaddps %ymm6, %ymm1, %ymm1 + + /* Exclude from previous callout mask zero (and not NaN) arguments */ + vpandn %ymm10, %ymm8, %ymm10 + vorps %ymm2, %ymm1, %ymm2 + + /* Go to callout */ + vmovmskps %ymm10, %edx + + /* Merge results from main and spec path */ + vblendvps %ymm8, %ymm2, %ymm9, %ymm9 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm7 ymm9 END(_ZGVdN8vv_atan2f_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_satan2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 sZERO[8][1]; - __declspec(align(32)) VUINT32 sSIGN_MASK[8][1]; - __declspec(align(32)) VUINT32 sABS_MASK[8][1]; - __declspec(align(32)) VUINT32 sPIO2[8][1]; - __declspec(align(32)) VUINT32 sPI[8][1]; - __declspec(align(32)) VUINT32 sPC8[8][1]; - __declspec(align(32)) VUINT32 sPC7[8][1]; - __declspec(align(32)) VUINT32 sPC6[8][1]; - __declspec(align(32)) VUINT32 sPC5[8][1]; - __declspec(align(32)) VUINT32 sPC4[8][1]; - __declspec(align(32)) VUINT32 sPC3[8][1]; - __declspec(align(32)) VUINT32 sPC2[8][1]; - __declspec(align(32)) VUINT32 sPC1[8][1]; - __declspec(align(32)) VUINT32 sPC0[8][1]; - __declspec(align(32)) VUINT32 iCHK_WORK_SUB[8][1]; - __declspec(align(32)) VUINT32 iCHK_WORK_CMP[8][1]; + __declspec(align(32)) VUINT32 sZERO[8][1]; + __declspec(align(32)) VUINT32 sSIGN_MASK[8][1]; + __declspec(align(32)) VUINT32 sABS_MASK[8][1]; + __declspec(align(32)) VUINT32 sPIO2[8][1]; + __declspec(align(32)) VUINT32 sPI[8][1]; + __declspec(align(32)) VUINT32 sPC8[8][1]; + __declspec(align(32)) VUINT32 sPC7[8][1]; + __declspec(align(32)) VUINT32 sPC6[8][1]; + __declspec(align(32)) VUINT32 sPC5[8][1]; + __declspec(align(32)) VUINT32 sPC4[8][1]; + __declspec(align(32)) VUINT32 sPC3[8][1]; + __declspec(align(32)) VUINT32 sPC2[8][1]; + __declspec(align(32)) VUINT32 sPC1[8][1]; + __declspec(align(32)) VUINT32 sPC0[8][1]; + __declspec(align(32)) VUINT32 iCHK_WORK_SUB[8][1]; + __declspec(align(32)) VUINT32 iCHK_WORK_CMP[8][1]; } __svml_satan2_data_internal; #endif __svml_satan2_data_internal: - .long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 // sZERO - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 // sSIGN_MASK - .align 32 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // sABS_MASK - .align 32 - .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // sPIO2 - .align 32 - .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB // sPI - .align 32 - .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // sA08 - .align 32 - .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // sA07 - .align 32 - .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // sA06 - .align 32 - .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // sA05 - .align 32 - .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // sA04 - .align 32 - .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // sA03 - .align 32 - .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // sA02 - .align 32 - .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // sA01 - .align 32 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 // sA00 - .align 32 - .long 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000 //iCHK_WORK_SUB - .align 32 - .long 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000 //iCHK_WORK_CMP - .align 32 - .type __svml_satan2_data_internal,@object - .size __svml_satan2_data_internal,.-__svml_satan2_data_internal + .long 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 // sZERO + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 // sSIGN_MASK + .align 32 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF // sABS_MASK + .align 32 + .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB // sPIO2 + .align 32 + .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB // sPI + .align 32 + .long 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0, 0x3B322CC0 // sA08 + .align 32 + .long 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631, 0xBC7F2631 // sA07 + .align 32 + .long 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384, 0x3D2BC384 // sA06 + .align 32 + .long 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629, 0xBD987629 // sA05 + .align 32 + .long 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474, 0x3DD96474 // sA04 + .align 32 + .long 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8, 0xBE1161F8 // sA03 + .align 32 + .long 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F, 0x3E4CB79F // sA02 + .align 32 + .long 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49, 0xBEAAAA49 // sA01 + .align 32 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 // sA00 + .align 32 + .long 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000, 0x81000000 // iCHK_WORK_SUB + .align 32 + .long 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000, 0xFC000000 // iCHK_WORK_CMP + .align 32 + .type __svml_satan2_data_internal, @object + .size __svml_satan2_data_internal, .-__svml_satan2_data_internal From patchwork Mon Mar 7 15:00:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602313 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=KzKy4ZK7; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2nY131Zz9sFk for ; Tue, 8 Mar 2022 02:44:16 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D1828385840E for ; Mon, 7 Mar 2022 15:44:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D1828385840E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667854; bh=TvLUuETCw/k5NDNy8zoTk+uIbtc9A33QAsDqk4snjDg=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=KzKy4ZK7STOVV8icVpygfuCX+daV0KU7JyZ2kvvtrIiS+n+dnystoKeHgMtVo8Ua5 dCDWRrRUDxokyiVGIFPdvmsPYPxdrgNhz9NiYXPdssKmZkw53XJx3uqU6YAOfErkda neVsIvq0LP8QXbzri6zi2PbCJAsKG4BcwCzom+FM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 25DA5385841B for ; Mon, 7 Mar 2022 15:02:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 25DA5385841B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138358" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138358" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526477" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e8016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 034/126] x86_64: Fix svml_d_atan22_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:29 -0800 Message-Id: <20220307150201.10590-35-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atan22_core_sse4.S | 861 +++++++++--------- 1 file changed, 430 insertions(+), 431 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S index 138ff2ffa0..e1298b5bfa 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan22_core_sse4.S @@ -30,467 +30,466 @@ /* Offsets for data table __svml_datan2_data_internal */ -#define dPI 0 -#define dPIO2 16 -#define dA19 32 -#define dA18 48 -#define dA17 64 -#define dA16 80 -#define dA15 96 -#define dA14 112 -#define dA13 128 -#define dA12 144 -#define dA11 160 -#define dA10 176 -#define dA09 192 -#define dA08 208 -#define dA07 224 -#define dA06 240 -#define dA05 256 -#define dA04 272 -#define dA03 288 -#define dA02 304 -#define dA01 320 -#define dA00 336 -#define dSIGN_MASK 352 -#define iCHK_WORK_SUB 368 -#define iCHK_WORK_CMP 384 -#define dABS_MASK 400 -#define dZERO 416 +#define dPI 0 +#define dPIO2 16 +#define dA19 32 +#define dA18 48 +#define dA17 64 +#define dA16 80 +#define dA15 96 +#define dA14 112 +#define dA13 128 +#define dA12 144 +#define dA11 160 +#define dA10 176 +#define dA09 192 +#define dA08 208 +#define dA07 224 +#define dA06 240 +#define dA05 256 +#define dA04 272 +#define dA03 288 +#define dA02 304 +#define dA01 320 +#define dA00 336 +#define dSIGN_MASK 352 +#define iCHK_WORK_SUB 368 +#define iCHK_WORK_CMP 384 +#define dABS_MASK 400 +#define dZERO 416 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2vv_atan2_sse4) - subq $88, %rsp - cfi_def_cfa_offset(96) - movaps %xmm1, %xmm11 - -/* - * #define NO_VECTOR_ZERO_ATAN2_ARGS - * Declarations - * Variables - * Constants - * The end of declarations - * Implementation - * Get r0~=1/B - * Cannot be replaced by VQRCP(D, dR0, dB); - * Argument Absolute values - */ - movups dABS_MASK+__svml_datan2_data_internal(%rip), %xmm1 - movaps %xmm0, %xmm10 - movaps %xmm1, %xmm9 - andps %xmm10, %xmm1 - andps %xmm11, %xmm9 - movaps %xmm1, %xmm4 - cmpnltpd %xmm9, %xmm4 - -/* Argument signs */ - movups dSIGN_MASK+__svml_datan2_data_internal(%rip), %xmm5 - movaps %xmm4, %xmm0 - movaps %xmm5, %xmm8 - movaps %xmm5, %xmm7 - -/* - * 1) If yx then a=-x, b=y, PIO2=Pi/2 - */ - orps %xmm9, %xmm5 - andnps %xmm1, %xmm0 - andps %xmm4, %xmm5 - andps %xmm11, %xmm8 - movups dPIO2+__svml_datan2_data_internal(%rip), %xmm6 - orps %xmm5, %xmm0 - movaps %xmm4, %xmm5 - andps %xmm4, %xmm6 - andnps %xmm9, %xmm5 - andps %xmm1, %xmm4 - orps %xmm4, %xmm5 - andps %xmm10, %xmm7 - divpd %xmm5, %xmm0 - movq iCHK_WORK_SUB+__svml_datan2_data_internal(%rip), %xmm2 - xorl %edx, %edx - -/* Check if y and x are on main path. */ - pshufd $221, %xmm9, %xmm3 - xorl %eax, %eax - pshufd $221, %xmm1, %xmm13 - psubd %xmm2, %xmm3 - psubd %xmm2, %xmm13 - movdqa %xmm3, %xmm4 - movq iCHK_WORK_CMP+__svml_datan2_data_internal(%rip), %xmm12 - movdqa %xmm13, %xmm14 - pcmpgtd %xmm12, %xmm4 - pcmpeqd %xmm12, %xmm3 - pcmpgtd %xmm12, %xmm14 - pcmpeqd %xmm12, %xmm13 - -/* Polynomial. */ - movaps %xmm0, %xmm12 - por %xmm3, %xmm4 - mulpd %xmm0, %xmm12 - -/* P = A19*R2 + A18 */ - movups dA19+__svml_datan2_data_internal(%rip), %xmm15 - movaps %xmm11, %xmm2 - mulpd %xmm12, %xmm15 - addpd dA18+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A17 */ - mulpd %xmm12, %xmm15 - addpd dA17+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A16 */ - mulpd %xmm12, %xmm15 - addpd dA16+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A15 */ - mulpd %xmm12, %xmm15 - addpd dA15+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A14 */ - mulpd %xmm12, %xmm15 - addpd dA14+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A13 */ - mulpd %xmm12, %xmm15 - addpd dA13+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A12 */ - mulpd %xmm12, %xmm15 - addpd dA12+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A11 */ - mulpd %xmm12, %xmm15 - addpd dA11+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A10 */ - mulpd %xmm12, %xmm15 - addpd dA10+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A09 */ - mulpd %xmm12, %xmm15 - addpd dA09+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A08 */ - mulpd %xmm12, %xmm15 - addpd dA08+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A07 */ - mulpd %xmm12, %xmm15 - addpd dA07+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A06 */ - mulpd %xmm12, %xmm15 - addpd dA06+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A05 */ - mulpd %xmm12, %xmm15 - addpd dA05+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A04 */ - mulpd %xmm12, %xmm15 - addpd dA04+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A03 */ - mulpd %xmm12, %xmm15 - addpd dA03+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A02 */ - mulpd %xmm12, %xmm15 - addpd dA02+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 + A01 */ - mulpd %xmm12, %xmm15 - addpd dA01+__svml_datan2_data_internal(%rip), %xmm15 - -/* P = P*R2 */ - mulpd %xmm15, %xmm12 - -/* - * Reconstruction. - * dP=(R+R*dP) + dPIO2 - */ - mulpd %xmm0, %xmm12 - addpd %xmm12, %xmm0 - -/* if x<0, dPI = Pi, else dPI =0 */ - movups dZERO+__svml_datan2_data_internal(%rip), %xmm3 - por %xmm13, %xmm14 - cmplepd %xmm3, %xmm2 - addpd %xmm6, %xmm0 - andps __svml_datan2_data_internal(%rip), %xmm2 - orps %xmm8, %xmm0 - addpd %xmm2, %xmm0 - por %xmm14, %xmm4 - orps %xmm7, %xmm0 - movmskps %xmm4, %ecx - -/* Special branch for fast (vector) processing of zero arguments */ - testb $3, %cl - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 - -/* Return from auxilary branch - * for out of main path inputs - */ + subq $88, %rsp + cfi_def_cfa_offset(96) + movaps %xmm1, %xmm11 + + /* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Get r0~=1/B + * Cannot be replaced by VQRCP(D, dR0, dB); + * Argument Absolute values + */ + movups dABS_MASK+__svml_datan2_data_internal(%rip), %xmm1 + movaps %xmm0, %xmm10 + movaps %xmm1, %xmm9 + andps %xmm10, %xmm1 + andps %xmm11, %xmm9 + movaps %xmm1, %xmm4 + cmpnltpd %xmm9, %xmm4 + + /* Argument signs */ + movups dSIGN_MASK+__svml_datan2_data_internal(%rip), %xmm5 + movaps %xmm4, %xmm0 + movaps %xmm5, %xmm8 + movaps %xmm5, %xmm7 + + /* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + orps %xmm9, %xmm5 + andnps %xmm1, %xmm0 + andps %xmm4, %xmm5 + andps %xmm11, %xmm8 + movups dPIO2+__svml_datan2_data_internal(%rip), %xmm6 + orps %xmm5, %xmm0 + movaps %xmm4, %xmm5 + andps %xmm4, %xmm6 + andnps %xmm9, %xmm5 + andps %xmm1, %xmm4 + orps %xmm4, %xmm5 + andps %xmm10, %xmm7 + divpd %xmm5, %xmm0 + movq iCHK_WORK_SUB+__svml_datan2_data_internal(%rip), %xmm2 + xorl %edx, %edx + + /* Check if y and x are on main path. */ + pshufd $221, %xmm9, %xmm3 + xorl %eax, %eax + pshufd $221, %xmm1, %xmm13 + psubd %xmm2, %xmm3 + psubd %xmm2, %xmm13 + movdqa %xmm3, %xmm4 + movq iCHK_WORK_CMP+__svml_datan2_data_internal(%rip), %xmm12 + movdqa %xmm13, %xmm14 + pcmpgtd %xmm12, %xmm4 + pcmpeqd %xmm12, %xmm3 + pcmpgtd %xmm12, %xmm14 + pcmpeqd %xmm12, %xmm13 + + /* Polynomial. */ + movaps %xmm0, %xmm12 + por %xmm3, %xmm4 + mulpd %xmm0, %xmm12 + + /* P = A19*R2 + A18 */ + movups dA19+__svml_datan2_data_internal(%rip), %xmm15 + movaps %xmm11, %xmm2 + mulpd %xmm12, %xmm15 + addpd dA18+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A17 */ + mulpd %xmm12, %xmm15 + addpd dA17+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A16 */ + mulpd %xmm12, %xmm15 + addpd dA16+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A15 */ + mulpd %xmm12, %xmm15 + addpd dA15+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A14 */ + mulpd %xmm12, %xmm15 + addpd dA14+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A13 */ + mulpd %xmm12, %xmm15 + addpd dA13+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A12 */ + mulpd %xmm12, %xmm15 + addpd dA12+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A11 */ + mulpd %xmm12, %xmm15 + addpd dA11+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A10 */ + mulpd %xmm12, %xmm15 + addpd dA10+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A09 */ + mulpd %xmm12, %xmm15 + addpd dA09+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A08 */ + mulpd %xmm12, %xmm15 + addpd dA08+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A07 */ + mulpd %xmm12, %xmm15 + addpd dA07+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A06 */ + mulpd %xmm12, %xmm15 + addpd dA06+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A05 */ + mulpd %xmm12, %xmm15 + addpd dA05+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A04 */ + mulpd %xmm12, %xmm15 + addpd dA04+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A03 */ + mulpd %xmm12, %xmm15 + addpd dA03+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A02 */ + mulpd %xmm12, %xmm15 + addpd dA02+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 + A01 */ + mulpd %xmm12, %xmm15 + addpd dA01+__svml_datan2_data_internal(%rip), %xmm15 + + /* P = P*R2 */ + mulpd %xmm15, %xmm12 + + /* + * Reconstruction. + * dP=(R+R*dP) + dPIO2 + */ + mulpd %xmm0, %xmm12 + addpd %xmm12, %xmm0 + + /* if x<0, dPI = Pi, else dPI =0 */ + movups dZERO+__svml_datan2_data_internal(%rip), %xmm3 + por %xmm13, %xmm14 + cmplepd %xmm3, %xmm2 + addpd %xmm6, %xmm0 + andps __svml_datan2_data_internal(%rip), %xmm2 + orps %xmm8, %xmm0 + addpd %xmm2, %xmm0 + por %xmm14, %xmm4 + orps %xmm7, %xmm0 + movmskps %xmm4, %ecx + + /* Special branch for fast (vector) processing of zero arguments */ + testb $3, %cl + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): -/* - * Special branch for fast (vector) processing of zero arguments - * The end of implementation - */ - testl %edx, %edx + /* + * Special branch for fast (vector) processing of zero arguments + * The end of implementation + */ + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm10 xmm11 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm10 xmm11 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $88, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(96) + addq $88, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(96) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm10, 32(%rsp) - movups %xmm11, 48(%rsp) - movups %xmm0, 64(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 - - movq %r12, 16(%rsp) - cfi_offset(12, -80) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -88) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -96) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm10, 32(%rsp) + movups %xmm11, 48(%rsp) + movups %xmm0, 64(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 + + movq %r12, 16(%rsp) + cfi_offset(12, -80) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -88) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -96) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d - - movq 16(%rsp), %r12 - cfi_restore(12) - movq 8(%rsp), %r13 - cfi_restore(13) - movq (%rsp), %r14 - cfi_restore(14) - movups 64(%rsp), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -80) - cfi_offset(13, -88) - cfi_offset(14, -96) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp r15 r12d r13d + + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 64(%rsp), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -80) + cfi_offset(13, -88) + cfi_offset(14, -96) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - movsd 48(%rsp,%r14,8), %xmm1 - call atan2@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 - - movsd %xmm0, 64(%rsp,%r14,8) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx rbp r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + movsd 48(%rsp, %r14, 8), %xmm1 + call atan2@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): -/* Check if both X & Y are not NaNs: iXYnotNAN */ - movaps %xmm11, %xmm13 - movaps %xmm10, %xmm12 - cmpordpd %xmm11, %xmm13 - cmpordpd %xmm10, %xmm12 + movsd %xmm0, 64(%rsp, %r14, 8) -/* Check if at least on of Y or Y is zero: iAXAYZERO */ - cmpeqpd %xmm3, %xmm9 - cmpeqpd %xmm3, %xmm1 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx rbp r15 r12d r13d -/* - * Path for zero arguments (at least one of both) - * Check if both args are zeros (den. is zero) - */ - cmpeqpd %xmm3, %xmm5 - andps %xmm12, %xmm13 - orps %xmm1, %xmm9 - pshufd $221, %xmm9, %xmm1 - pshufd $221, %xmm13, %xmm9 - -/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ - pand %xmm9, %xmm1 - -/* Exclude from previous callout mask zero (and not NaN) arguments */ - movdqa %xmm1, %xmm14 - pandn %xmm4, %xmm14 - -/* Set sPIO2 to zero if den. is zero */ - movaps %xmm5, %xmm4 - andnps %xmm6, %xmm4 - andps %xmm3, %xmm5 - -/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ - pshufd $221, %xmm3, %xmm3 - orps %xmm5, %xmm4 - pshufd $221, %xmm11, %xmm5 - orps %xmm8, %xmm4 - pcmpgtd %xmm5, %xmm3 - pshufd $80, %xmm3, %xmm6 - andps %xmm2, %xmm6 - addpd %xmm6, %xmm4 - -/* Go to callout */ - movmskps %xmm14, %edx - -/* Merge results from main and spec path */ - pshufd $80, %xmm1, %xmm2 - orps %xmm7, %xmm4 - movdqa %xmm2, %xmm7 - andps %xmm2, %xmm4 - andnps %xmm0, %xmm7 - andl $3, %edx - movaps %xmm7, %xmm0 - orps %xmm4, %xmm0 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm10 xmm11 + /* Auxilary branch + * for out of main path inputs + */ + +L(AUX_BRANCH): + /* Check if both X & Y are not NaNs: iXYnotNAN */ + movaps %xmm11, %xmm13 + movaps %xmm10, %xmm12 + cmpordpd %xmm11, %xmm13 + cmpordpd %xmm10, %xmm12 + + /* Check if at least on of Y or Y is zero: iAXAYZERO */ + cmpeqpd %xmm3, %xmm9 + cmpeqpd %xmm3, %xmm1 + + /* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + cmpeqpd %xmm3, %xmm5 + andps %xmm12, %xmm13 + orps %xmm1, %xmm9 + pshufd $221, %xmm9, %xmm1 + pshufd $221, %xmm13, %xmm9 + + /* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + pand %xmm9, %xmm1 + + /* Exclude from previous callout mask zero (and not NaN) arguments */ + movdqa %xmm1, %xmm14 + pandn %xmm4, %xmm14 + + /* Set sPIO2 to zero if den. is zero */ + movaps %xmm5, %xmm4 + andnps %xmm6, %xmm4 + andps %xmm3, %xmm5 + + /* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + pshufd $221, %xmm3, %xmm3 + orps %xmm5, %xmm4 + pshufd $221, %xmm11, %xmm5 + orps %xmm8, %xmm4 + pcmpgtd %xmm5, %xmm3 + pshufd $80, %xmm3, %xmm6 + andps %xmm2, %xmm6 + addpd %xmm6, %xmm4 + + /* Go to callout */ + movmskps %xmm14, %edx + + /* Merge results from main and spec path */ + pshufd $80, %xmm1, %xmm2 + orps %xmm7, %xmm4 + movdqa %xmm2, %xmm7 + andps %xmm2, %xmm4 + andnps %xmm0, %xmm7 + andl $3, %edx + movaps %xmm7, %xmm0 + orps %xmm4, %xmm0 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx rbp r12 r13 r14 r15 eax edx xmm0 xmm10 xmm11 END(_ZGVbN2vv_atan2_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_datan2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 dPI[2][2]; - __declspec(align(16)) VUINT32 dPIO2[2][2]; - __declspec(align(16)) VUINT32 dA19[2][2]; - __declspec(align(16)) VUINT32 dA18[2][2]; - __declspec(align(16)) VUINT32 dA17[2][2]; - __declspec(align(16)) VUINT32 dA16[2][2]; - __declspec(align(16)) VUINT32 dA15[2][2]; - __declspec(align(16)) VUINT32 dA14[2][2]; - __declspec(align(16)) VUINT32 dA13[2][2]; - __declspec(align(16)) VUINT32 dA12[2][2]; - __declspec(align(16)) VUINT32 dA11[2][2]; - __declspec(align(16)) VUINT32 dA10[2][2]; - __declspec(align(16)) VUINT32 dA09[2][2]; - __declspec(align(16)) VUINT32 dA08[2][2]; - __declspec(align(16)) VUINT32 dA07[2][2]; - __declspec(align(16)) VUINT32 dA06[2][2]; - __declspec(align(16)) VUINT32 dA05[2][2]; - __declspec(align(16)) VUINT32 dA04[2][2]; - __declspec(align(16)) VUINT32 dA03[2][2]; - __declspec(align(16)) VUINT32 dA02[2][2]; - __declspec(align(16)) VUINT32 dA01[2][2]; - __declspec(align(16)) VUINT32 dA00[2][2]; - __declspec(align(16)) VUINT32 dSIGN_MASK[2][2]; - __declspec(align(16)) VUINT32 iCHK_WORK_SUB[4][1]; - __declspec(align(16)) VUINT32 iCHK_WORK_CMP[4][1]; - __declspec(align(16)) VUINT32 dABS_MASK[2][2]; - __declspec(align(16)) VUINT32 dZERO[2][2]; + __declspec(align(16)) VUINT32 dPI[2][2]; + __declspec(align(16)) VUINT32 dPIO2[2][2]; + __declspec(align(16)) VUINT32 dA19[2][2]; + __declspec(align(16)) VUINT32 dA18[2][2]; + __declspec(align(16)) VUINT32 dA17[2][2]; + __declspec(align(16)) VUINT32 dA16[2][2]; + __declspec(align(16)) VUINT32 dA15[2][2]; + __declspec(align(16)) VUINT32 dA14[2][2]; + __declspec(align(16)) VUINT32 dA13[2][2]; + __declspec(align(16)) VUINT32 dA12[2][2]; + __declspec(align(16)) VUINT32 dA11[2][2]; + __declspec(align(16)) VUINT32 dA10[2][2]; + __declspec(align(16)) VUINT32 dA09[2][2]; + __declspec(align(16)) VUINT32 dA08[2][2]; + __declspec(align(16)) VUINT32 dA07[2][2]; + __declspec(align(16)) VUINT32 dA06[2][2]; + __declspec(align(16)) VUINT32 dA05[2][2]; + __declspec(align(16)) VUINT32 dA04[2][2]; + __declspec(align(16)) VUINT32 dA03[2][2]; + __declspec(align(16)) VUINT32 dA02[2][2]; + __declspec(align(16)) VUINT32 dA01[2][2]; + __declspec(align(16)) VUINT32 dA00[2][2]; + __declspec(align(16)) VUINT32 dSIGN_MASK[2][2]; + __declspec(align(16)) VUINT32 iCHK_WORK_SUB[4][1]; + __declspec(align(16)) VUINT32 iCHK_WORK_CMP[4][1]; + __declspec(align(16)) VUINT32 dABS_MASK[2][2]; + __declspec(align(16)) VUINT32 dZERO[2][2]; } __svml_datan2_data_internal; #endif __svml_datan2_data_internal: - .quad 0x400921FB54442D18, 0x400921FB54442D18 //dPI - .align 16 - .quad 0x3FF921FB54442D18, 0x3FF921FB54442D18 //dPIO2 - .align 16 - .quad 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3 // dA19 - .align 16 - .quad 0x3F2CED0A36665209, 0x3F2CED0A36665209 // dA18 - .align 16 - .quad 0xBF52E67C93954C23, 0xBF52E67C93954C23 // dA17 - .align 16 - .quad 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3 // dA16 - .align 16 - .quad 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD // dA15 - .align 16 - .quad 0x3F914F4C661116A5, 0x3F914F4C661116A5 // dA14 - .align 16 - .quad 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C // dA13 - .align 16 - .quad 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F // dA12 - .align 16 - .quad 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC // dA11 - .align 16 - .quad 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B // dA10 - .align 16 - .quad 0xBFAAD261EAA09954, 0xBFAAD261EAA09954 // dA09 - .align 16 - .quad 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF // dA08 - .align 16 - .quad 0xBFB11084009435E0, 0xBFB11084009435E0 // dA07 - .align 16 - .quad 0x3FB3B12A49295651, 0x3FB3B12A49295651 // dA06 - .align 16 - .quad 0xBFB745D009BADA94, 0xBFB745D009BADA94 // dA05 - .align 16 - .quad 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5 // dA04 - .align 16 - .quad 0xBFC2492491EE55C7, 0xBFC2492491EE55C7 // dA03 - .align 16 - .quad 0x3FC999999997EE34, 0x3FC999999997EE34 // dA02 - .align 16 - .quad 0xBFD55555555553C5, 0xBFD55555555553C5 // dA01 - .align 16 - .quad 0x3FF0000000000000, 0x3FF0000000000000 // dA00 - .align 16 - .quad 0x8000000000000000, 0x8000000000000000 //dSIGN_MASK - .align 16 - .long 0x80300000, 0x80300000, 0x80300000, 0x80300000 //iCHK_WORK_SUB - .align 16 - .long 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000 //iCHK_WORK_CMP - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff //dABS_MASK - .align 16 - .quad 0x0000000000000000, 0x0000000000000000 //dZERO - .align 16 - .type __svml_datan2_data_internal,@object - .size __svml_datan2_data_internal,.-__svml_datan2_data_internal + .quad 0x400921FB54442D18, 0x400921FB54442D18 // dPI + .align 16 + .quad 0x3FF921FB54442D18, 0x3FF921FB54442D18 // dPIO2 + .align 16 + .quad 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3 // dA19 + .align 16 + .quad 0x3F2CED0A36665209, 0x3F2CED0A36665209 // dA18 + .align 16 + .quad 0xBF52E67C93954C23, 0xBF52E67C93954C23 // dA17 + .align 16 + .quad 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3 // dA16 + .align 16 + .quad 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD // dA15 + .align 16 + .quad 0x3F914F4C661116A5, 0x3F914F4C661116A5 // dA14 + .align 16 + .quad 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C // dA13 + .align 16 + .quad 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F // dA12 + .align 16 + .quad 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC // dA11 + .align 16 + .quad 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B // dA10 + .align 16 + .quad 0xBFAAD261EAA09954, 0xBFAAD261EAA09954 // dA09 + .align 16 + .quad 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF // dA08 + .align 16 + .quad 0xBFB11084009435E0, 0xBFB11084009435E0 // dA07 + .align 16 + .quad 0x3FB3B12A49295651, 0x3FB3B12A49295651 // dA06 + .align 16 + .quad 0xBFB745D009BADA94, 0xBFB745D009BADA94 // dA05 + .align 16 + .quad 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5 // dA04 + .align 16 + .quad 0xBFC2492491EE55C7, 0xBFC2492491EE55C7 // dA03 + .align 16 + .quad 0x3FC999999997EE34, 0x3FC999999997EE34 // dA02 + .align 16 + .quad 0xBFD55555555553C5, 0xBFD55555555553C5 // dA01 + .align 16 + .quad 0x3FF0000000000000, 0x3FF0000000000000 // dA00 + .align 16 + .quad 0x8000000000000000, 0x8000000000000000 // dSIGN_MASK + .align 16 + .long 0x80300000, 0x80300000, 0x80300000, 0x80300000 // iCHK_WORK_SUB + .align 16 + .long 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000 // iCHK_WORK_CMP + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff // dABS_MASK + .align 16 + .quad 0x0000000000000000, 0x0000000000000000 // dZERO + .align 16 + .type __svml_datan2_data_internal, @object + .size __svml_datan2_data_internal, .-__svml_datan2_data_internal From patchwork Mon Mar 7 15:00:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602251 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=VWOsCQax; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC25V2S5Qz9s8s for ; Tue, 8 Mar 2022 02:13:02 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1C2CE3858424 for ; Mon, 7 Mar 2022 15:13:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C2CE3858424 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665980; bh=FLr2HmKNhdGPhzYyveRSrwteddaT0CJRhxV4CDKau/o=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=VWOsCQaxKq+WhnBA3ZxN3P1SJgBF5ee/+Tn8TEJvxqcBb+q8p8Vycv3TjkP8eGs23 6eiYWgWFqZNicXfhmm9O3iPGnuU4Ni5bZWq2PIOzkQdfJfmcSyF3xBhBrfsohOqSCN a94XkSNJyOBoMiFWnO9HKImKvjyjmSV/6eikYAgI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id D7C283858437 for ; Mon, 7 Mar 2022 15:02:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D7C283858437 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640430" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640430" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526478" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21e9016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 035/126] x86_64: Fix svml_d_atan24_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:30 -0800 Message-Id: <20220307150201.10590-36-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atan24_core_avx2.S | 775 +++++++++--------- 1 file changed, 387 insertions(+), 388 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S index 9438c1b751..1b601576cc 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan24_core_avx2.S @@ -30,422 +30,421 @@ /* Offsets for data table __svml_datan2_data_internal */ -#define dPI 0 -#define dPIO2 32 -#define dA19 64 -#define dA18 96 -#define dA17 128 -#define dA16 160 -#define dA15 192 -#define dA14 224 -#define dA13 256 -#define dA12 288 -#define dA11 320 -#define dA10 352 -#define dA09 384 -#define dA08 416 -#define dA07 448 -#define dA06 480 -#define dA05 512 -#define dA04 544 -#define dA03 576 -#define dA02 608 -#define dA01 640 -#define dA00 672 -#define dSIGN_MASK 704 -#define iCHK_WORK_SUB 736 -#define iCHK_WORK_CMP 768 -#define dABS_MASK 800 -#define dZERO 832 +#define dPI 0 +#define dPIO2 32 +#define dA19 64 +#define dA18 96 +#define dA17 128 +#define dA16 160 +#define dA15 192 +#define dA14 224 +#define dA13 256 +#define dA12 288 +#define dA11 320 +#define dA10 352 +#define dA09 384 +#define dA08 416 +#define dA07 448 +#define dA06 480 +#define dA05 512 +#define dA04 544 +#define dA03 576 +#define dA02 608 +#define dA01 640 +#define dA00 672 +#define dSIGN_MASK 704 +#define iCHK_WORK_SUB 736 +#define iCHK_WORK_CMP 768 +#define dABS_MASK 800 +#define dZERO 832 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4vv_atan2_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $128, %rsp - xorl %edx, %edx - -/* - * #define NO_VECTOR_ZERO_ATAN2_ARGS - * Declarations - * Variables - * Constants - * The end of declarations - * Implementation - * Get r0~=1/B - * Cannot be replaced by VQRCP(D, dR0, dB); - * Argument Absolute values - */ - vmovupd dABS_MASK+__svml_datan2_data_internal(%rip), %ymm5 - -/* Argument signs */ - vmovupd dSIGN_MASK+__svml_datan2_data_internal(%rip), %ymm4 - vmovups iCHK_WORK_SUB+__svml_datan2_data_internal(%rip), %xmm13 - vmovupd %ymm0, (%rsp) - vmovapd %ymm1, %ymm8 - vandpd %ymm5, %ymm8, %ymm2 - vandpd %ymm5, %ymm0, %ymm1 - vcmpnlt_uqpd %ymm2, %ymm1, %ymm15 - -/* - * 1) If yx then a=-x, b=y, PIO2=Pi/2 - */ - vorpd %ymm4, %ymm2, %ymm6 - vblendvpd %ymm15, %ymm6, %ymm1, %ymm3 - vblendvpd %ymm15, %ymm1, %ymm2, %ymm6 - vdivpd %ymm6, %ymm3, %ymm14 - vmovups iCHK_WORK_CMP+__svml_datan2_data_internal(%rip), %xmm3 - vmovupd %ymm6, 32(%rsp) - vandpd %ymm4, %ymm0, %ymm7 - vandpd %ymm4, %ymm8, %ymm5 - vandpd dPIO2+__svml_datan2_data_internal(%rip), %ymm15, %ymm4 - -/* Check if y and x are on main path. */ - vextractf128 $1, %ymm2, %xmm9 - vextractf128 $1, %ymm1, %xmm10 - vshufps $221, %xmm9, %xmm2, %xmm11 - vshufps $221, %xmm10, %xmm1, %xmm12 - vpsubd %xmm13, %xmm11, %xmm0 - vpsubd %xmm13, %xmm12, %xmm9 - vpcmpgtd %xmm3, %xmm0, %xmm15 - vpcmpeqd %xmm3, %xmm0, %xmm6 - vpcmpgtd %xmm3, %xmm9, %xmm10 - vpcmpeqd %xmm3, %xmm9, %xmm3 - vpor %xmm6, %xmm15, %xmm11 - vpor %xmm3, %xmm10, %xmm12 - -/* Polynomial. */ - vmulpd %ymm14, %ymm14, %ymm10 - vpor %xmm12, %xmm11, %xmm3 - vmovupd dA18+__svml_datan2_data_internal(%rip), %ymm9 - vmovupd dA17+__svml_datan2_data_internal(%rip), %ymm12 - vmovupd dA16+__svml_datan2_data_internal(%rip), %ymm15 - vmulpd %ymm10, %ymm10, %ymm11 - -/* if x<0, dPI = Pi, else dPI =0 */ - vcmple_oqpd dZERO+__svml_datan2_data_internal(%rip), %ymm8, %ymm13 - vmovmskps %xmm3, %eax - vmulpd %ymm11, %ymm11, %ymm0 - vandpd __svml_datan2_data_internal(%rip), %ymm13, %ymm6 - vmovupd dA19+__svml_datan2_data_internal(%rip), %ymm13 - vfmadd213pd dA14+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 - vfmadd213pd dA13+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 - vfmadd213pd dA12+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 - vfmadd213pd dA15+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 - vfmadd213pd dA10+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 - vfmadd213pd dA09+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 - vfmadd213pd dA08+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 - vfmadd213pd dA11+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 - vfmadd213pd dA06+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 - vfmadd213pd dA05+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 - vfmadd213pd dA04+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 - vfmadd213pd dA07+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 - vfmadd213pd dA02+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 - vfmadd213pd dA01+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 - vfmadd213pd dA03+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 - -/* A00=1.0, account for it later VQFMA(D, dP4, dP4, dR8, dA00); */ - vmulpd %ymm15, %ymm0, %ymm0 - vfmadd213pd %ymm9, %ymm10, %ymm13 - vfmadd213pd %ymm0, %ymm10, %ymm12 - vfmadd213pd %ymm12, %ymm11, %ymm13 - -/* - * Reconstruction. - * dP=(R+R*dP) + dPIO2 - */ - vfmadd213pd %ymm14, %ymm14, %ymm13 - vaddpd %ymm13, %ymm4, %ymm14 - vorpd %ymm5, %ymm14, %ymm0 - vaddpd %ymm0, %ymm6, %ymm9 - vorpd %ymm7, %ymm9, %ymm0 - -/* Special branch for fast (vector) processing of zero arguments */ - testl %eax, %eax - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx r12 r13 r14 r15 edx xmm3 ymm0 ymm1 ymm2 ymm4 ymm5 ymm6 ymm7 ymm8 - -/* Return from auxilary branch - * for out of main path inputs - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $128, %rsp + xorl %edx, %edx + + /* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Get r0~=1/B + * Cannot be replaced by VQRCP(D, dR0, dB); + * Argument Absolute values + */ + vmovupd dABS_MASK+__svml_datan2_data_internal(%rip), %ymm5 + + /* Argument signs */ + vmovupd dSIGN_MASK+__svml_datan2_data_internal(%rip), %ymm4 + vmovups iCHK_WORK_SUB+__svml_datan2_data_internal(%rip), %xmm13 + vmovupd %ymm0, (%rsp) + vmovapd %ymm1, %ymm8 + vandpd %ymm5, %ymm8, %ymm2 + vandpd %ymm5, %ymm0, %ymm1 + vcmpnlt_uqpd %ymm2, %ymm1, %ymm15 + + /* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + vorpd %ymm4, %ymm2, %ymm6 + vblendvpd %ymm15, %ymm6, %ymm1, %ymm3 + vblendvpd %ymm15, %ymm1, %ymm2, %ymm6 + vdivpd %ymm6, %ymm3, %ymm14 + vmovups iCHK_WORK_CMP+__svml_datan2_data_internal(%rip), %xmm3 + vmovupd %ymm6, 32(%rsp) + vandpd %ymm4, %ymm0, %ymm7 + vandpd %ymm4, %ymm8, %ymm5 + vandpd dPIO2+__svml_datan2_data_internal(%rip), %ymm15, %ymm4 + + /* Check if y and x are on main path. */ + vextractf128 $1, %ymm2, %xmm9 + vextractf128 $1, %ymm1, %xmm10 + vshufps $221, %xmm9, %xmm2, %xmm11 + vshufps $221, %xmm10, %xmm1, %xmm12 + vpsubd %xmm13, %xmm11, %xmm0 + vpsubd %xmm13, %xmm12, %xmm9 + vpcmpgtd %xmm3, %xmm0, %xmm15 + vpcmpeqd %xmm3, %xmm0, %xmm6 + vpcmpgtd %xmm3, %xmm9, %xmm10 + vpcmpeqd %xmm3, %xmm9, %xmm3 + vpor %xmm6, %xmm15, %xmm11 + vpor %xmm3, %xmm10, %xmm12 + + /* Polynomial. */ + vmulpd %ymm14, %ymm14, %ymm10 + vpor %xmm12, %xmm11, %xmm3 + vmovupd dA18+__svml_datan2_data_internal(%rip), %ymm9 + vmovupd dA17+__svml_datan2_data_internal(%rip), %ymm12 + vmovupd dA16+__svml_datan2_data_internal(%rip), %ymm15 + vmulpd %ymm10, %ymm10, %ymm11 + + /* if x<0, dPI = Pi, else dPI =0 */ + vcmple_oqpd dZERO+__svml_datan2_data_internal(%rip), %ymm8, %ymm13 + vmovmskps %xmm3, %eax + vmulpd %ymm11, %ymm11, %ymm0 + vandpd __svml_datan2_data_internal(%rip), %ymm13, %ymm6 + vmovupd dA19+__svml_datan2_data_internal(%rip), %ymm13 + vfmadd213pd dA14+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd dA13+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd dA12+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 + vfmadd213pd dA15+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + vfmadd213pd dA10+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd dA09+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd dA08+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 + vfmadd213pd dA11+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + vfmadd213pd dA06+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd dA05+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd dA04+__svml_datan2_data_internal(%rip), %ymm0, %ymm15 + vfmadd213pd dA07+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + vfmadd213pd dA02+__svml_datan2_data_internal(%rip), %ymm0, %ymm9 + vfmadd213pd dA01+__svml_datan2_data_internal(%rip), %ymm0, %ymm12 + vfmadd213pd dA03+__svml_datan2_data_internal(%rip), %ymm0, %ymm13 + + /* A00=1.0, account for it later VQFMA(D, dP4, dP4, dR8, dA00); */ + vmulpd %ymm15, %ymm0, %ymm0 + vfmadd213pd %ymm9, %ymm10, %ymm13 + vfmadd213pd %ymm0, %ymm10, %ymm12 + vfmadd213pd %ymm12, %ymm11, %ymm13 + + /* + * Reconstruction. + * dP=(R+R*dP) + dPIO2 + */ + vfmadd213pd %ymm14, %ymm14, %ymm13 + vaddpd %ymm13, %ymm4, %ymm14 + vorpd %ymm5, %ymm14, %ymm0 + vaddpd %ymm0, %ymm6, %ymm9 + vorpd %ymm7, %ymm9, %ymm0 + + /* Special branch for fast (vector) processing of zero arguments */ + testl %eax, %eax + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx r12 r13 r14 r15 edx xmm3 ymm0 ymm1 ymm2 ymm4 ymm5 ymm6 ymm7 ymm8 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): -/* - * Special branch for fast (vector) processing of zero arguments - * The end of implementation - */ - testl %edx, %edx + /* + * Special branch for fast (vector) processing of zero arguments + * The end of implementation + */ + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm8 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm8 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd (%rsp), %ymm1 - vmovupd %ymm8, 64(%rsp) - vmovupd %ymm0, 96(%rsp) - vmovupd %ymm1, 32(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd (%rsp), %ymm1 + vmovupd %ymm8, 64(%rsp) + vmovupd %ymm0, 96(%rsp) + vmovupd %ymm1, 32(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 96(%rsp), %ymm0 - -/* 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 96(%rsp), %ymm0 + + /* 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - movsd 64(%rsp,%r14,8), %xmm1 - call atan2@PLT - # LOE rbx r14 r15 r12d r13d xmm0 - - movsd %xmm0, 96(%rsp,%r14,8) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + movsd 64(%rsp, %r14, 8), %xmm1 + call atan2@PLT + # LOE rbx r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): - vmovupd (%rsp), %ymm11 - -/* Check if at least on of Y or Y is zero: iAXAYZERO */ - vmovupd dZERO+__svml_datan2_data_internal(%rip), %ymm10 - -/* Check if both X & Y are not NaNs: iXYnotNAN */ - vcmpordpd %ymm8, %ymm8, %ymm12 - vcmpordpd %ymm11, %ymm11, %ymm13 - vcmpeqpd %ymm10, %ymm2, %ymm2 - vcmpeqpd %ymm10, %ymm1, %ymm1 - vandpd %ymm13, %ymm12, %ymm14 - vorpd %ymm1, %ymm2, %ymm2 - vextractf128 $1, %ymm14, %xmm15 - vextractf128 $1, %ymm2, %xmm11 - vshufps $221, %xmm15, %xmm14, %xmm9 - vshufps $221, %xmm11, %xmm2, %xmm12 + movsd %xmm0, 96(%rsp, %r14, 8) -/* - * Path for zero arguments (at least one of both) - * Check if both args are zeros (den. is zero) - */ - vcmpeqpd 32(%rsp), %ymm10, %ymm2 - -/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ - vpand %xmm9, %xmm12, %xmm1 - -/* Exclude from previous callout mask zero (and not NaN) arguments */ - vpandn %xmm3, %xmm1, %xmm3 - -/* Go to callout */ - vmovmskps %xmm3, %edx - -/* Set sPIO2 to zero if den. is zero */ - vblendvpd %ymm2, %ymm10, %ymm4, %ymm4 - vorpd %ymm5, %ymm4, %ymm5 - -/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ - vextractf128 $1, %ymm10, %xmm2 - vextractf128 $1, %ymm8, %xmm3 - vshufps $221, %xmm2, %xmm10, %xmm4 - vshufps $221, %xmm3, %xmm8, %xmm9 - vpcmpgtd %xmm9, %xmm4, %xmm12 - vpshufd $80, %xmm12, %xmm11 - vpshufd $250, %xmm12, %xmm13 - vinsertf128 $1, %xmm13, %ymm11, %ymm14 - vandpd %ymm6, %ymm14, %ymm6 - vaddpd %ymm6, %ymm5, %ymm2 - vorpd %ymm7, %ymm2, %ymm2 - -/* Merge results from main and spec path */ - vpshufd $80, %xmm1, %xmm7 - vpshufd $250, %xmm1, %xmm1 - vinsertf128 $1, %xmm1, %ymm7, %ymm3 - vblendvpd %ymm3, %ymm2, %ymm0, %ymm0 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm8 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx r15 r12d r13d + + /* Auxilary branch + * for out of main path inputs + */ + +L(AUX_BRANCH): + vmovupd (%rsp), %ymm11 + + /* Check if at least on of Y or Y is zero: iAXAYZERO */ + vmovupd dZERO+__svml_datan2_data_internal(%rip), %ymm10 + + /* Check if both X & Y are not NaNs: iXYnotNAN */ + vcmpordpd %ymm8, %ymm8, %ymm12 + vcmpordpd %ymm11, %ymm11, %ymm13 + vcmpeqpd %ymm10, %ymm2, %ymm2 + vcmpeqpd %ymm10, %ymm1, %ymm1 + vandpd %ymm13, %ymm12, %ymm14 + vorpd %ymm1, %ymm2, %ymm2 + vextractf128 $1, %ymm14, %xmm15 + vextractf128 $1, %ymm2, %xmm11 + vshufps $221, %xmm15, %xmm14, %xmm9 + vshufps $221, %xmm11, %xmm2, %xmm12 + + /* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + vcmpeqpd 32(%rsp), %ymm10, %ymm2 + + /* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + vpand %xmm9, %xmm12, %xmm1 + + /* Exclude from previous callout mask zero (and not NaN) arguments */ + vpandn %xmm3, %xmm1, %xmm3 + + /* Go to callout */ + vmovmskps %xmm3, %edx + + /* Set sPIO2 to zero if den. is zero */ + vblendvpd %ymm2, %ymm10, %ymm4, %ymm4 + vorpd %ymm5, %ymm4, %ymm5 + + /* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + vextractf128 $1, %ymm10, %xmm2 + vextractf128 $1, %ymm8, %xmm3 + vshufps $221, %xmm2, %xmm10, %xmm4 + vshufps $221, %xmm3, %xmm8, %xmm9 + vpcmpgtd %xmm9, %xmm4, %xmm12 + vpshufd $80, %xmm12, %xmm11 + vpshufd $250, %xmm12, %xmm13 + vinsertf128 $1, %xmm13, %ymm11, %ymm14 + vandpd %ymm6, %ymm14, %ymm6 + vaddpd %ymm6, %ymm5, %ymm2 + vorpd %ymm7, %ymm2, %ymm2 + + /* Merge results from main and spec path */ + vpshufd $80, %xmm1, %xmm7 + vpshufd $250, %xmm1, %xmm1 + vinsertf128 $1, %xmm1, %ymm7, %ymm3 + vblendvpd %ymm3, %ymm2, %ymm0, %ymm0 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm8 END(_ZGVdN4vv_atan2_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_datan2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 dPI[4][2]; - __declspec(align(32)) VUINT32 dPIO2[4][2]; - __declspec(align(32)) VUINT32 dA19[4][2]; - __declspec(align(32)) VUINT32 dA18[4][2]; - __declspec(align(32)) VUINT32 dA17[4][2]; - __declspec(align(32)) VUINT32 dA16[4][2]; - __declspec(align(32)) VUINT32 dA15[4][2]; - __declspec(align(32)) VUINT32 dA14[4][2]; - __declspec(align(32)) VUINT32 dA13[4][2]; - __declspec(align(32)) VUINT32 dA12[4][2]; - __declspec(align(32)) VUINT32 dA11[4][2]; - __declspec(align(32)) VUINT32 dA10[4][2]; - __declspec(align(32)) VUINT32 dA09[4][2]; - __declspec(align(32)) VUINT32 dA08[4][2]; - __declspec(align(32)) VUINT32 dA07[4][2]; - __declspec(align(32)) VUINT32 dA06[4][2]; - __declspec(align(32)) VUINT32 dA05[4][2]; - __declspec(align(32)) VUINT32 dA04[4][2]; - __declspec(align(32)) VUINT32 dA03[4][2]; - __declspec(align(32)) VUINT32 dA02[4][2]; - __declspec(align(32)) VUINT32 dA01[4][2]; - __declspec(align(32)) VUINT32 dA00[4][2]; - __declspec(align(32)) VUINT32 dSIGN_MASK[4][2]; - __declspec(align(32)) VUINT32 iCHK_WORK_SUB[8][1]; - __declspec(align(32)) VUINT32 iCHK_WORK_CMP[8][1]; - __declspec(align(32)) VUINT32 dABS_MASK[4][2]; - __declspec(align(32)) VUINT32 dZERO[4][2]; + __declspec(align(32)) VUINT32 dPI[4][2]; + __declspec(align(32)) VUINT32 dPIO2[4][2]; + __declspec(align(32)) VUINT32 dA19[4][2]; + __declspec(align(32)) VUINT32 dA18[4][2]; + __declspec(align(32)) VUINT32 dA17[4][2]; + __declspec(align(32)) VUINT32 dA16[4][2]; + __declspec(align(32)) VUINT32 dA15[4][2]; + __declspec(align(32)) VUINT32 dA14[4][2]; + __declspec(align(32)) VUINT32 dA13[4][2]; + __declspec(align(32)) VUINT32 dA12[4][2]; + __declspec(align(32)) VUINT32 dA11[4][2]; + __declspec(align(32)) VUINT32 dA10[4][2]; + __declspec(align(32)) VUINT32 dA09[4][2]; + __declspec(align(32)) VUINT32 dA08[4][2]; + __declspec(align(32)) VUINT32 dA07[4][2]; + __declspec(align(32)) VUINT32 dA06[4][2]; + __declspec(align(32)) VUINT32 dA05[4][2]; + __declspec(align(32)) VUINT32 dA04[4][2]; + __declspec(align(32)) VUINT32 dA03[4][2]; + __declspec(align(32)) VUINT32 dA02[4][2]; + __declspec(align(32)) VUINT32 dA01[4][2]; + __declspec(align(32)) VUINT32 dA00[4][2]; + __declspec(align(32)) VUINT32 dSIGN_MASK[4][2]; + __declspec(align(32)) VUINT32 iCHK_WORK_SUB[8][1]; + __declspec(align(32)) VUINT32 iCHK_WORK_CMP[8][1]; + __declspec(align(32)) VUINT32 dABS_MASK[4][2]; + __declspec(align(32)) VUINT32 dZERO[4][2]; } __svml_datan2_data_internal; #endif __svml_datan2_data_internal: - .quad 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18 //dPI - .align 32 - .quad 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18 //dPIO2 - .align 32 - .quad 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3 // dA19 - .align 32 - .quad 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209 // dA18 - .align 32 - .quad 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23 // dA17 - .align 32 - .quad 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3 // dA16 - .align 32 - .quad 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD // dA15 - .align 32 - .quad 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5 // dA14 - .align 32 - .quad 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C // dA13 - .align 32 - .quad 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F // dA12 - .align 32 - .quad 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC // dA11 - .align 32 - .quad 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B // dA10 - .align 32 - .quad 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954 // dA09 - .align 32 - .quad 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF // dA08 - .align 32 - .quad 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0 // dA07 - .align 32 - .quad 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651 // dA06 - .align 32 - .quad 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94 // dA05 - .align 32 - .quad 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5 // dA04 - .align 32 - .quad 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7 // dA03 - .align 32 - .quad 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34 // dA02 - .align 32 - .quad 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5 // dA01 - .align 32 - .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 // dA00 - .align 32 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 //dSIGN_MASK - .align 32 - .long 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000 //iCHK_WORK_SUB - .align 32 - .long 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000 //iCHK_WORK_CMP - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff //dABS_MASK - .align 32 - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 //dZERO - .align 32 - .type __svml_datan2_data_internal,@object - .size __svml_datan2_data_internal,.-__svml_datan2_data_internal + .quad 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18 // dPI + .align 32 + .quad 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18 // dPIO2 + .align 32 + .quad 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3 // dA19 + .align 32 + .quad 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209 // dA18 + .align 32 + .quad 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23 // dA17 + .align 32 + .quad 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3 // dA16 + .align 32 + .quad 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD // dA15 + .align 32 + .quad 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5 // dA14 + .align 32 + .quad 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C // dA13 + .align 32 + .quad 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F // dA12 + .align 32 + .quad 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC // dA11 + .align 32 + .quad 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B // dA10 + .align 32 + .quad 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954 // dA09 + .align 32 + .quad 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF // dA08 + .align 32 + .quad 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0 // dA07 + .align 32 + .quad 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651 // dA06 + .align 32 + .quad 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94 // dA05 + .align 32 + .quad 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5 // dA04 + .align 32 + .quad 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7 // dA03 + .align 32 + .quad 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34 // dA02 + .align 32 + .quad 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5 // dA01 + .align 32 + .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 // dA00 + .align 32 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 // dSIGN_MASK + .align 32 + .long 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000 // iCHK_WORK_SUB + .align 32 + .long 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000 // iCHK_WORK_CMP + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff // dABS_MASK + .align 32 + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 // dZERO + .align 32 + .type __svml_datan2_data_internal, @object + .size __svml_datan2_data_internal, .-__svml_datan2_data_internal From patchwork Mon Mar 7 15:00:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602358 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ZXVFyl+b; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3986njvz9sFt for ; Tue, 8 Mar 2022 03:01:16 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 773B53858428 for ; Mon, 7 Mar 2022 16:01:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 773B53858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668874; bh=/6gsJ/3K/qob3XEvNGaI/mZv6yZAcxqaCV+/Z8kIrF4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ZXVFyl+b5zefmxTG/DALngnskgEM76cCyzx5Oa055oX3rvjPJpBo5roBEikr2SP3x FZJTooVCR8+wUVYU+z0TB0Svgiv7eBN7fjT9VpHB+OOWO2FGJdlS6pIeoySBeJ2KvF N/6Nk8aErFy88AGA8/a46p12DiABID/IlLxM83Ys= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id CA288385843B for ; Mon, 7 Mar 2022 15:02:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CA288385843B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017237" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017237" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="631871396" Received: from scymds01.sc.intel.com ([10.148.94.138]) by FMSMGA003.fm.intel.com with ESMTP; 07 Mar 2022 07:02:04 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eA016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 036/126] x86_64: Fix svml_d_atan28_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:31 -0800 Message-Id: <20220307150201.10590-37-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atan28_core_avx512.S | 823 +++++++++--------- 1 file changed, 411 insertions(+), 412 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S index cecbf60078..ef9581075d 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atan28_core_avx512.S @@ -30,446 +30,445 @@ /* Offsets for data table __svml_datan2_data_internal */ -#define dPI 0 -#define dPIO2 64 -#define dA19 128 -#define dA18 192 -#define dA17 256 -#define dA16 320 -#define dA15 384 -#define dA14 448 -#define dA13 512 -#define dA12 576 -#define dA11 640 -#define dA10 704 -#define dA09 768 -#define dA08 832 -#define dA07 896 -#define dA06 960 -#define dA05 1024 -#define dA04 1088 -#define dA03 1152 -#define dA02 1216 -#define dA01 1280 -#define dA00 1344 -#define dSIGN_MASK 1408 -#define iCHK_WORK_SUB 1472 -#define iCHK_WORK_CMP 1536 -#define dABS_MASK 1600 -#define dZERO 1664 +#define dPI 0 +#define dPIO2 64 +#define dA19 128 +#define dA18 192 +#define dA17 256 +#define dA16 320 +#define dA15 384 +#define dA14 448 +#define dA13 512 +#define dA12 576 +#define dA11 640 +#define dA10 704 +#define dA09 768 +#define dA08 832 +#define dA07 896 +#define dA06 960 +#define dA05 1024 +#define dA04 1088 +#define dA03 1152 +#define dA02 1216 +#define dA01 1280 +#define dA00 1344 +#define dSIGN_MASK 1408 +#define iCHK_WORK_SUB 1472 +#define iCHK_WORK_CMP 1536 +#define dABS_MASK 1600 +#define dZERO 1664 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8vv_atan2_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $256, %rsp - xorl %edx, %edx - -/* - * #define NO_VECTOR_ZERO_ATAN2_ARGS - * Declarations - * Variables - * Constants - * The end of declarations - * Implementation - * Get r0~=1/B - * Cannot be replaced by VQRCP(D, dR0, dB); - * Argument Absolute values - */ - vmovups dABS_MASK+__svml_datan2_data_internal(%rip), %zmm4 - -/* Argument signs */ - vmovups dSIGN_MASK+__svml_datan2_data_internal(%rip), %zmm6 - -/* - * 1) If yx then a=-x, b=y, PIO2=Pi/2 - */ - vmovups dPIO2+__svml_datan2_data_internal(%rip), %zmm3 - vandpd %zmm4, %zmm0, %zmm11 - vmovaps %zmm1, %zmm7 - vandpd %zmm4, %zmm7, %zmm2 - vandpd %zmm6, %zmm7, %zmm5 - vandpd %zmm6, %zmm0, %zmm4 - vorpd %zmm6, %zmm2, %zmm12 - vcmppd $17, {sae}, %zmm2, %zmm11, %k1 - vmovdqu iCHK_WORK_CMP+__svml_datan2_data_internal(%rip), %ymm6 - vmovups %zmm11, 64(%rsp) - -/* Check if y and x are on main path. */ - vpsrlq $32, %zmm2, %zmm9 - vblendmpd %zmm11, %zmm12, %zmm13{%k1} - vblendmpd %zmm2, %zmm11, %zmm15{%k1} - vpsrlq $32, %zmm11, %zmm8 - vmovdqu iCHK_WORK_SUB+__svml_datan2_data_internal(%rip), %ymm12 - vdivpd {rn-sae}, %zmm15, %zmm13, %zmm1 - vmovups %zmm15, (%rsp) - vpmovqd %zmm9, %ymm14 - vpmovqd %zmm8, %ymm10 - vxorpd %zmm3, %zmm3, %zmm3{%k1} - vpsubd %ymm12, %ymm14, %ymm13 - vpsubd %ymm12, %ymm10, %ymm9 - -/* Polynomial. */ - vmulpd {rn-sae}, %zmm1, %zmm1, %zmm12 - vpcmpgtd %ymm6, %ymm13, %ymm15 - vpcmpeqd %ymm6, %ymm13, %ymm11 - vmulpd {rn-sae}, %zmm12, %zmm12, %zmm13 - vpor %ymm11, %ymm15, %ymm8 - vmovups dA19+__svml_datan2_data_internal(%rip), %zmm11 - vmovups dA15+__svml_datan2_data_internal(%rip), %zmm15 - vpcmpgtd %ymm6, %ymm9, %ymm14 - vpcmpeqd %ymm6, %ymm9, %ymm6 - vpor %ymm6, %ymm14, %ymm10 - vmulpd {rn-sae}, %zmm13, %zmm13, %zmm14 - vmovups dA18+__svml_datan2_data_internal(%rip), %zmm9 - vpor %ymm10, %ymm8, %ymm6 - vmovups dA17+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd231pd {rn-sae}, %zmm14, %zmm11, %zmm15 - vmovups dA14+__svml_datan2_data_internal(%rip), %zmm11 - vmovups dA12+__svml_datan2_data_internal(%rip), %zmm8 - vfmadd231pd {rn-sae}, %zmm14, %zmm9, %zmm11 - vmovups dA13+__svml_datan2_data_internal(%rip), %zmm9 - vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm9 - vmovups dA16+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm8 - vmovups dA11+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15 - vmovups dA10+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11 - vmovups dA09+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9 - vmovups dA08+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm8 - vmovups dA07+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15 - vmovups dA06+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11 - vmovups dA05+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9 - vmovups dA04+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm8 - vmovups dA03+__svml_datan2_data_internal(%rip), %zmm10 - -/* A00=1.0, account for it later VQFMA(D, dP4, dP4, dR8, dA00); */ - vmulpd {rn-sae}, %zmm14, %zmm8, %zmm8 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15 - vmovups dA02+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11 - vmovups dA01+__svml_datan2_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm11, %zmm12, %zmm15 - vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9 - vfmadd213pd {rn-sae}, %zmm8, %zmm12, %zmm9 - vmovups __svml_datan2_data_internal(%rip), %zmm8 - vfmadd213pd {rn-sae}, %zmm9, %zmm13, %zmm15 - -/* - * Reconstruction. - * dP=(R+R*dP) + dPIO2 - */ - vfmadd213pd {rn-sae}, %zmm1, %zmm1, %zmm15 - vaddpd {rn-sae}, %zmm3, %zmm15, %zmm1 - vorpd %zmm5, %zmm1, %zmm9 - -/* if x<0, dPI = Pi, else dPI =0 */ - vmovups dZERO+__svml_datan2_data_internal(%rip), %zmm1 - vcmppd $18, {sae}, %zmm1, %zmm7, %k2 - vaddpd {rn-sae}, %zmm8, %zmm9, %zmm9{%k2} - vmovmskps %ymm6, %eax - vorpd %zmm4, %zmm9, %zmm11 - -/* Special branch for fast (vector) processing of zero arguments */ - vmovups 64(%rsp), %zmm9 - testl %eax, %eax - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm6 zmm0 zmm2 zmm3 zmm4 zmm5 zmm7 zmm9 zmm11 - -/* Return from auxilary branch - * for out of main path inputs - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $256, %rsp + xorl %edx, %edx + + /* + * #define NO_VECTOR_ZERO_ATAN2_ARGS + * Declarations + * Variables + * Constants + * The end of declarations + * Implementation + * Get r0~=1/B + * Cannot be replaced by VQRCP(D, dR0, dB); + * Argument Absolute values + */ + vmovups dABS_MASK+__svml_datan2_data_internal(%rip), %zmm4 + + /* Argument signs */ + vmovups dSIGN_MASK+__svml_datan2_data_internal(%rip), %zmm6 + + /* + * 1) If yx then a=-x, b=y, PIO2=Pi/2 + */ + vmovups dPIO2+__svml_datan2_data_internal(%rip), %zmm3 + vandpd %zmm4, %zmm0, %zmm11 + vmovaps %zmm1, %zmm7 + vandpd %zmm4, %zmm7, %zmm2 + vandpd %zmm6, %zmm7, %zmm5 + vandpd %zmm6, %zmm0, %zmm4 + vorpd %zmm6, %zmm2, %zmm12 + vcmppd $17, {sae}, %zmm2, %zmm11, %k1 + vmovdqu iCHK_WORK_CMP+__svml_datan2_data_internal(%rip), %ymm6 + vmovups %zmm11, 64(%rsp) + + /* Check if y and x are on main path. */ + vpsrlq $32, %zmm2, %zmm9 + vblendmpd %zmm11, %zmm12, %zmm13{%k1} + vblendmpd %zmm2, %zmm11, %zmm15{%k1} + vpsrlq $32, %zmm11, %zmm8 + vmovdqu iCHK_WORK_SUB+__svml_datan2_data_internal(%rip), %ymm12 + vdivpd {rn-sae}, %zmm15, %zmm13, %zmm1 + vmovups %zmm15, (%rsp) + vpmovqd %zmm9, %ymm14 + vpmovqd %zmm8, %ymm10 + vxorpd %zmm3, %zmm3, %zmm3{%k1} + vpsubd %ymm12, %ymm14, %ymm13 + vpsubd %ymm12, %ymm10, %ymm9 + + /* Polynomial. */ + vmulpd {rn-sae}, %zmm1, %zmm1, %zmm12 + vpcmpgtd %ymm6, %ymm13, %ymm15 + vpcmpeqd %ymm6, %ymm13, %ymm11 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm13 + vpor %ymm11, %ymm15, %ymm8 + vmovups dA19+__svml_datan2_data_internal(%rip), %zmm11 + vmovups dA15+__svml_datan2_data_internal(%rip), %zmm15 + vpcmpgtd %ymm6, %ymm9, %ymm14 + vpcmpeqd %ymm6, %ymm9, %ymm6 + vpor %ymm6, %ymm14, %ymm10 + vmulpd {rn-sae}, %zmm13, %zmm13, %zmm14 + vmovups dA18+__svml_datan2_data_internal(%rip), %zmm9 + vpor %ymm10, %ymm8, %ymm6 + vmovups dA17+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd231pd {rn-sae}, %zmm14, %zmm11, %zmm15 + vmovups dA14+__svml_datan2_data_internal(%rip), %zmm11 + vmovups dA12+__svml_datan2_data_internal(%rip), %zmm8 + vfmadd231pd {rn-sae}, %zmm14, %zmm9, %zmm11 + vmovups dA13+__svml_datan2_data_internal(%rip), %zmm9 + vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm9 + vmovups dA16+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd231pd {rn-sae}, %zmm14, %zmm10, %zmm8 + vmovups dA11+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15 + vmovups dA10+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11 + vmovups dA09+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9 + vmovups dA08+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm8 + vmovups dA07+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15 + vmovups dA06+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11 + vmovups dA05+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9 + vmovups dA04+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm8 + vmovups dA03+__svml_datan2_data_internal(%rip), %zmm10 + + /* A00=1.0, account for it later VQFMA(D, dP4, dP4, dR8, dA00); */ + vmulpd {rn-sae}, %zmm14, %zmm8, %zmm8 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm15 + vmovups dA02+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm11 + vmovups dA01+__svml_datan2_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm11, %zmm12, %zmm15 + vfmadd213pd {rn-sae}, %zmm10, %zmm14, %zmm9 + vfmadd213pd {rn-sae}, %zmm8, %zmm12, %zmm9 + vmovups __svml_datan2_data_internal(%rip), %zmm8 + vfmadd213pd {rn-sae}, %zmm9, %zmm13, %zmm15 + + /* + * Reconstruction. + * dP=(R+R*dP) + dPIO2 + */ + vfmadd213pd {rn-sae}, %zmm1, %zmm1, %zmm15 + vaddpd {rn-sae}, %zmm3, %zmm15, %zmm1 + vorpd %zmm5, %zmm1, %zmm9 + + /* if x<0, dPI = Pi, else dPI =0 */ + vmovups dZERO+__svml_datan2_data_internal(%rip), %zmm1 + vcmppd $18, {sae}, %zmm1, %zmm7, %k2 + vaddpd {rn-sae}, %zmm8, %zmm9, %zmm9{%k2} + vmovmskps %ymm6, %eax + vorpd %zmm4, %zmm9, %zmm11 + + /* Special branch for fast (vector) processing of zero arguments */ + vmovups 64(%rsp), %zmm9 + testl %eax, %eax + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm6 zmm0 zmm2 zmm3 zmm4 zmm5 zmm7 zmm9 zmm11 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): -/* - * Special branch for fast (vector) processing of zero arguments - * The end of implementation - */ - testl %edx, %edx + /* + * Special branch for fast (vector) processing of zero arguments + * The end of implementation + */ + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 zmm11 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 zmm11 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm11, %zmm0 - 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 - */ + vmovaps %zmm11, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm7, 128(%rsp) - vmovups %zmm11, 192(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm11 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm7, 128(%rsp) + vmovups %zmm11, 192(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm11 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 192(%rsp), %zmm11 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm11 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 192(%rsp), %zmm11 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm11 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - movsd 128(%rsp,%r14,8), %xmm1 - call atan2@PLT - # LOE rbx r14 r15 r12d r13d xmm0 - - movsd %xmm0, 192(%rsp,%r14,8) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + movsd 128(%rsp, %r14, 8), %xmm1 + call atan2@PLT + # LOE rbx r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): -/* Check if at least on of Y or Y is zero: iAXAYZERO */ - vmovups dZERO+__svml_datan2_data_internal(%rip), %zmm8 - -/* Check if both X & Y are not NaNs: iXYnotNAN */ - vcmppd $3, {sae}, %zmm7, %zmm7, %k1 - vcmppd $3, {sae}, %zmm0, %zmm0, %k2 - vcmppd $4, {sae}, %zmm8, %zmm2, %k3 - vcmppd $4, {sae}, %zmm8, %zmm9, %k4 - -/* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ - vpcmpgtq %zmm7, %zmm8, %k6 - vpternlogd $0xff, %zmm1, %zmm1, %zmm10 - vmovaps %zmm10, %zmm15 - vmovaps %zmm10, %zmm12 - vmovaps %zmm10, %zmm13 - vpandnq %zmm2, %zmm2, %zmm15{%k3} - vmovaps %zmm10, %zmm2 - vpandnq %zmm7, %zmm7, %zmm12{%k1} - vpandnq %zmm0, %zmm0, %zmm13{%k2} - vpandnq %zmm9, %zmm9, %zmm2{%k4} - vandpd %zmm13, %zmm12, %zmm14 - vorpd %zmm2, %zmm15, %zmm9 - vpsrlq $32, %zmm14, %zmm1 - vpsrlq $32, %zmm9, %zmm2 - vpmovqd %zmm1, %ymm1 - vpmovqd %zmm2, %ymm9 - -/* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ - vpand %ymm1, %ymm9, %ymm2 + movsd %xmm0, 192(%rsp, %r14, 8) -/* - * Path for zero arguments (at least one of both) - * Check if both args are zeros (den. is zero) - */ - vmovups (%rsp), %zmm1 - -/* Exclude from previous callout mask zero (and not NaN) arguments */ - vpandn %ymm6, %ymm2, %ymm6 - vcmppd $4, {sae}, %zmm8, %zmm1, %k5 - -/* Go to callout */ - vmovmskps %ymm6, %edx - vpandnq %zmm1, %zmm1, %zmm10{%k5} - -/* Set sPIO2 to zero if den. is zero */ - vpandnq %zmm3, %zmm10, %zmm3 - vpandq %zmm10, %zmm8, %zmm1 - vporq %zmm1, %zmm3, %zmm3 - vorpd %zmm5, %zmm3, %zmm1 - vmovups __svml_datan2_data_internal(%rip), %zmm5 - vaddpd {rn-sae}, %zmm5, %zmm1, %zmm1{%k6} - vorpd %zmm4, %zmm1, %zmm1 - -/* Merge results from main and spec path */ - vpmovzxdq %ymm2, %zmm4 - vpsllq $32, %zmm4, %zmm2 - vpord %zmm2, %zmm4, %zmm3 - vpandnq %zmm11, %zmm3, %zmm11 - vpandq %zmm3, %zmm1, %zmm1 - vporq %zmm1, %zmm11, %zmm11 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 zmm11 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx r15 r12d r13d + + /* Auxilary branch + * for out of main path inputs + */ + +L(AUX_BRANCH): + /* Check if at least on of Y or Y is zero: iAXAYZERO */ + vmovups dZERO+__svml_datan2_data_internal(%rip), %zmm8 + + /* Check if both X & Y are not NaNs: iXYnotNAN */ + vcmppd $3, {sae}, %zmm7, %zmm7, %k1 + vcmppd $3, {sae}, %zmm0, %zmm0, %k2 + vcmppd $4, {sae}, %zmm8, %zmm2, %k3 + vcmppd $4, {sae}, %zmm8, %zmm9, %k4 + + /* Res = sign(Y)*(X<0)?(PIO2+PI):PIO2 */ + vpcmpgtq %zmm7, %zmm8, %k6 + vpternlogd $0xff, %zmm1, %zmm1, %zmm10 + vmovaps %zmm10, %zmm15 + vmovaps %zmm10, %zmm12 + vmovaps %zmm10, %zmm13 + vpandnq %zmm2, %zmm2, %zmm15{%k3} + vmovaps %zmm10, %zmm2 + vpandnq %zmm7, %zmm7, %zmm12{%k1} + vpandnq %zmm0, %zmm0, %zmm13{%k2} + vpandnq %zmm9, %zmm9, %zmm2{%k4} + vandpd %zmm13, %zmm12, %zmm14 + vorpd %zmm2, %zmm15, %zmm9 + vpsrlq $32, %zmm14, %zmm1 + vpsrlq $32, %zmm9, %zmm2 + vpmovqd %zmm1, %ymm1 + vpmovqd %zmm2, %ymm9 + + /* Check if at least on of Y or Y is zero and not NaN: iAXAYZEROnotNAN */ + vpand %ymm1, %ymm9, %ymm2 + + /* + * Path for zero arguments (at least one of both) + * Check if both args are zeros (den. is zero) + */ + vmovups (%rsp), %zmm1 + + /* Exclude from previous callout mask zero (and not NaN) arguments */ + vpandn %ymm6, %ymm2, %ymm6 + vcmppd $4, {sae}, %zmm8, %zmm1, %k5 + + /* Go to callout */ + vmovmskps %ymm6, %edx + vpandnq %zmm1, %zmm1, %zmm10{%k5} + + /* Set sPIO2 to zero if den. is zero */ + vpandnq %zmm3, %zmm10, %zmm3 + vpandq %zmm10, %zmm8, %zmm1 + vporq %zmm1, %zmm3, %zmm3 + vorpd %zmm5, %zmm3, %zmm1 + vmovups __svml_datan2_data_internal(%rip), %zmm5 + vaddpd {rn-sae}, %zmm5, %zmm1, %zmm1{%k6} + vorpd %zmm4, %zmm1, %zmm1 + + /* Merge results from main and spec path */ + vpmovzxdq %ymm2, %zmm4 + vpsllq $32, %zmm4, %zmm2 + vpord %zmm2, %zmm4, %zmm3 + vpandnq %zmm11, %zmm3, %zmm11 + vpandq %zmm3, %zmm1, %zmm1 + vporq %zmm1, %zmm11, %zmm11 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 zmm11 END(_ZGVeN8vv_atan2_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_datan2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 dPI[8][2]; - __declspec(align(64)) VUINT32 dPIO2[8][2]; - __declspec(align(64)) VUINT32 dA19[8][2]; - __declspec(align(64)) VUINT32 dA18[8][2]; - __declspec(align(64)) VUINT32 dA17[8][2]; - __declspec(align(64)) VUINT32 dA16[8][2]; - __declspec(align(64)) VUINT32 dA15[8][2]; - __declspec(align(64)) VUINT32 dA14[8][2]; - __declspec(align(64)) VUINT32 dA13[8][2]; - __declspec(align(64)) VUINT32 dA12[8][2]; - __declspec(align(64)) VUINT32 dA11[8][2]; - __declspec(align(64)) VUINT32 dA10[8][2]; - __declspec(align(64)) VUINT32 dA09[8][2]; - __declspec(align(64)) VUINT32 dA08[8][2]; - __declspec(align(64)) VUINT32 dA07[8][2]; - __declspec(align(64)) VUINT32 dA06[8][2]; - __declspec(align(64)) VUINT32 dA05[8][2]; - __declspec(align(64)) VUINT32 dA04[8][2]; - __declspec(align(64)) VUINT32 dA03[8][2]; - __declspec(align(64)) VUINT32 dA02[8][2]; - __declspec(align(64)) VUINT32 dA01[8][2]; - __declspec(align(64)) VUINT32 dA00[8][2]; - __declspec(align(64)) VUINT32 dSIGN_MASK[8][2]; - __declspec(align(64)) VUINT32 iCHK_WORK_SUB[16][1]; - __declspec(align(64)) VUINT32 iCHK_WORK_CMP[16][1]; - __declspec(align(64)) VUINT32 dABS_MASK[8][2]; - __declspec(align(64)) VUINT32 dZERO[8][2]; + __declspec(align(64)) VUINT32 dPI[8][2]; + __declspec(align(64)) VUINT32 dPIO2[8][2]; + __declspec(align(64)) VUINT32 dA19[8][2]; + __declspec(align(64)) VUINT32 dA18[8][2]; + __declspec(align(64)) VUINT32 dA17[8][2]; + __declspec(align(64)) VUINT32 dA16[8][2]; + __declspec(align(64)) VUINT32 dA15[8][2]; + __declspec(align(64)) VUINT32 dA14[8][2]; + __declspec(align(64)) VUINT32 dA13[8][2]; + __declspec(align(64)) VUINT32 dA12[8][2]; + __declspec(align(64)) VUINT32 dA11[8][2]; + __declspec(align(64)) VUINT32 dA10[8][2]; + __declspec(align(64)) VUINT32 dA09[8][2]; + __declspec(align(64)) VUINT32 dA08[8][2]; + __declspec(align(64)) VUINT32 dA07[8][2]; + __declspec(align(64)) VUINT32 dA06[8][2]; + __declspec(align(64)) VUINT32 dA05[8][2]; + __declspec(align(64)) VUINT32 dA04[8][2]; + __declspec(align(64)) VUINT32 dA03[8][2]; + __declspec(align(64)) VUINT32 dA02[8][2]; + __declspec(align(64)) VUINT32 dA01[8][2]; + __declspec(align(64)) VUINT32 dA00[8][2]; + __declspec(align(64)) VUINT32 dSIGN_MASK[8][2]; + __declspec(align(64)) VUINT32 iCHK_WORK_SUB[16][1]; + __declspec(align(64)) VUINT32 iCHK_WORK_CMP[16][1]; + __declspec(align(64)) VUINT32 dABS_MASK[8][2]; + __declspec(align(64)) VUINT32 dZERO[8][2]; } __svml_datan2_data_internal; #endif __svml_datan2_data_internal: - .quad 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18 //dPI - .align 64 - .quad 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18 //dPIO2 - .align 64 - .quad 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3 // dA19 - .align 64 - .quad 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209 // dA18 - .align 64 - .quad 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23 // dA17 - .align 64 - .quad 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3 // dA16 - .align 64 - .quad 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD // dA15 - .align 64 - .quad 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5 // dA14 - .align 64 - .quad 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C // dA13 - .align 64 - .quad 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F // dA12 - .align 64 - .quad 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC // dA11 - .align 64 - .quad 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B // dA10 - .align 64 - .quad 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954 // dA09 - .align 64 - .quad 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF // dA08 - .align 64 - .quad 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0 // dA07 - .align 64 - .quad 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651 // dA06 - .align 64 - .quad 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94 // dA05 - .align 64 - .quad 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5 // dA04 - .align 64 - .quad 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7 // dA03 - .align 64 - .quad 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34 // dA02 - .align 64 - .quad 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5 // dA01 - .align 64 - .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 // dA00 - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 //dSIGN_MASK - .align 64 - .long 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000 //iCHK_WORK_SUB - .align 64 - .long 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000 //iCHK_WORK_CMP - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff //dABS_MASK - .align 64 - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 //dZERO - .align 64 - .type __svml_datan2_data_internal,@object - .size __svml_datan2_data_internal,.-__svml_datan2_data_internal + .quad 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18, 0x400921FB54442D18 // dPI + .align 64 + .quad 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18, 0x3FF921FB54442D18 // dPIO2 + .align 64 + .quad 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3, 0xBEF4FDB537ABC7A3 // dA19 + .align 64 + .quad 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209, 0x3F2CED0A36665209 // dA18 + .align 64 + .quad 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23, 0xBF52E67C93954C23 // dA17 + .align 64 + .quad 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3, 0x3F6F5A1DAE82AFB3 // dA16 + .align 64 + .quad 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD, 0xBF82B2EC618E4BAD // dA15 + .align 64 + .quad 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5, 0x3F914F4C661116A5 // dA14 + .align 64 + .quad 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C, 0xBF9A5E83B081F69C // dA13 + .align 64 + .quad 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F, 0x3FA169980CB6AD4F // dA12 + .align 64 + .quad 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC, 0xBFA4EFA2E563C1BC // dA11 + .align 64 + .quad 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B, 0x3FA7EC0FBC50683B // dA10 + .align 64 + .quad 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954, 0xBFAAD261EAA09954 // dA09 + .align 64 + .quad 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF, 0x3FAE1749BD612DCF // dA08 + .align 64 + .quad 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0, 0xBFB11084009435E0 // dA07 + .align 64 + .quad 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651, 0x3FB3B12A49295651 // dA06 + .align 64 + .quad 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94, 0xBFB745D009BADA94 // dA05 + .align 64 + .quad 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5, 0x3FBC71C707F7D5B5 // dA04 + .align 64 + .quad 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7, 0xBFC2492491EE55C7 // dA03 + .align 64 + .quad 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34, 0x3FC999999997EE34 // dA02 + .align 64 + .quad 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5, 0xBFD55555555553C5 // dA01 + .align 64 + .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 // dA00 + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 // dSIGN_MASK + .align 64 + .long 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000, 0x80300000 // iCHK_WORK_SUB + .align 64 + .long 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000, 0xfdd00000 // iCHK_WORK_CMP + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff // dABS_MASK + .align 64 + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 // dZERO + .align 64 + .type __svml_datan2_data_internal, @object + .size __svml_datan2_data_internal, .-__svml_datan2_data_internal From patchwork Mon Mar 7 15:00:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602250 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=dX3ysJkK; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC24g3Ncmz9s8s for ; Tue, 8 Mar 2022 02:12:19 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8BFA9385841A for ; Mon, 7 Mar 2022 15:12:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8BFA9385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665937; bh=6e/WZ+j8+6DMHV/BjqAUu0rHrbR3PJPfuC40JFHa58A=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=dX3ysJkKhd1M1IC2b9R9oAdBfPQsAuP8KkyXAtuUsXCViYPUHnlxR2Ur6qe2izx9p hkxus5w/hJnqSzHhAebnPuAExuVwDiOnKdzj3/76kW9qoaj+iUi+AnKUWPbeUI5emP cPYOU3zPgdYHlhKpWjUMzoUhCPYfr6kbDQsi4VUA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 1ABFA385843E for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1ABFA385843E X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640432" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640432" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526479" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eB016772; Mon, 7 Mar 2022 07:02:04 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 037/126] x86_64: Fix svml_s_atanhf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:32 -0800 Message-Id: <20220307150201.10590-38-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_atanhf16_core_avx512.S | 663 +++++++++--------- 1 file changed, 331 insertions(+), 332 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S index f863f4f959..a1cd920a0f 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf16_core_avx512.S @@ -33,361 +33,360 @@ /* Offsets for data table __svml_satanh_data_internal_avx512 */ -#define Log_tbl_H 0 -#define Log_tbl_L 128 -#define One 256 -#define AbsMask 320 -#define AddB5 384 -#define RcpBitMask 448 -#define poly_coeff3 512 -#define poly_coeff2 576 -#define poly_coeff1 640 -#define poly_coeff0 704 -#define Half 768 -#define L2H 832 -#define L2L 896 +#define Log_tbl_H 0 +#define Log_tbl_L 128 +#define One 256 +#define AbsMask 320 +#define AddB5 384 +#define RcpBitMask 448 +#define poly_coeff3 512 +#define poly_coeff2 576 +#define poly_coeff1 640 +#define poly_coeff0 704 +#define Half 768 +#define L2H 832 +#define L2L 896 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_atanhf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups One+__svml_satanh_data_internal_avx512(%rip), %zmm4 - -/* round reciprocals to 1+5b mantissas */ - vmovups AddB5+__svml_satanh_data_internal_avx512(%rip), %zmm14 - vmovups RcpBitMask+__svml_satanh_data_internal_avx512(%rip), %zmm1 - vmovaps %zmm0, %zmm11 - vandps AbsMask+__svml_satanh_data_internal_avx512(%rip), %zmm11, %zmm6 - -/* 1+y */ - vaddps {rn-sae}, %zmm4, %zmm6, %zmm9 - -/* 1-y */ - vsubps {rn-sae}, %zmm6, %zmm4, %zmm8 - vxorps %zmm6, %zmm11, %zmm10 - -/* Yp_high */ - vsubps {rn-sae}, %zmm4, %zmm9, %zmm2 - -/* -Ym_high */ - vsubps {rn-sae}, %zmm4, %zmm8, %zmm5 - -/* RcpP ~ 1/Yp */ - vrcp14ps %zmm9, %zmm12 - -/* RcpM ~ 1/Ym */ - vrcp14ps %zmm8, %zmm13 - -/* input outside (-1, 1) ? */ - vcmpps $21, {sae}, %zmm4, %zmm6, %k0 - vpaddd %zmm14, %zmm12, %zmm15 - vpaddd %zmm14, %zmm13, %zmm0 - -/* Yp_low */ - vsubps {rn-sae}, %zmm2, %zmm6, %zmm3 - vandps %zmm1, %zmm15, %zmm7 - vandps %zmm1, %zmm0, %zmm12 - -/* Ym_low */ - vaddps {rn-sae}, %zmm5, %zmm6, %zmm5 - -/* Reduced argument: Rp = (RcpP*Yp - 1)+RcpP*Yp_low */ - vfmsub213ps {rn-sae}, %zmm4, %zmm7, %zmm9 - -/* Reduced argument: Rm = (RcpM*Ym - 1)+RcpM*Ym_low */ - vfmsub231ps {rn-sae}, %zmm12, %zmm8, %zmm4 - vmovups Log_tbl_L+__svml_satanh_data_internal_avx512(%rip), %zmm8 - vmovups Log_tbl_L+64+__svml_satanh_data_internal_avx512(%rip), %zmm13 - -/* exponents */ - vgetexpps {sae}, %zmm7, %zmm15 - vfmadd231ps {rn-sae}, %zmm7, %zmm3, %zmm9 - -/* Table lookups */ - vmovups __svml_satanh_data_internal_avx512(%rip), %zmm6 - vgetexpps {sae}, %zmm12, %zmm14 - vfnmadd231ps {rn-sae}, %zmm12, %zmm5, %zmm4 - -/* Prepare table index */ - vpsrld $18, %zmm7, %zmm3 - vpsrld $18, %zmm12, %zmm2 - vmovups Log_tbl_H+64+__svml_satanh_data_internal_avx512(%rip), %zmm7 - vmovups poly_coeff1+__svml_satanh_data_internal_avx512(%rip), %zmm12 - -/* Km-Kp */ - vsubps {rn-sae}, %zmm15, %zmm14, %zmm1 - kmovw %k0, %edx - vmovaps %zmm3, %zmm0 - vpermi2ps %zmm13, %zmm8, %zmm3 - vpermt2ps %zmm13, %zmm2, %zmm8 - vpermi2ps %zmm7, %zmm6, %zmm0 - vpermt2ps %zmm7, %zmm2, %zmm6 - vsubps {rn-sae}, %zmm3, %zmm8, %zmm5 - -/* K*L2H + Th */ - vmovups L2H+__svml_satanh_data_internal_avx512(%rip), %zmm2 - -/* K*L2L + Tl */ - vmovups L2L+__svml_satanh_data_internal_avx512(%rip), %zmm3 - -/* polynomials */ - vmovups poly_coeff3+__svml_satanh_data_internal_avx512(%rip), %zmm7 - vmovups poly_coeff0+__svml_satanh_data_internal_avx512(%rip), %zmm13 - -/* table values */ - vsubps {rn-sae}, %zmm0, %zmm6, %zmm0 - vfmadd231ps {rn-sae}, %zmm1, %zmm2, %zmm0 - vfmadd213ps {rn-sae}, %zmm5, %zmm3, %zmm1 - vmovups poly_coeff2+__svml_satanh_data_internal_avx512(%rip), %zmm3 - vmovaps %zmm3, %zmm2 - vfmadd231ps {rn-sae}, %zmm9, %zmm7, %zmm2 - vfmadd231ps {rn-sae}, %zmm4, %zmm7, %zmm3 - vfmadd213ps {rn-sae}, %zmm12, %zmm9, %zmm2 - vfmadd213ps {rn-sae}, %zmm12, %zmm4, %zmm3 - vfmadd213ps {rn-sae}, %zmm13, %zmm9, %zmm2 - vfmadd213ps {rn-sae}, %zmm13, %zmm4, %zmm3 - -/* (K*L2L + Tl) + Rp*PolyP */ - vfmadd213ps {rn-sae}, %zmm1, %zmm9, %zmm2 - vorps Half+__svml_satanh_data_internal_avx512(%rip), %zmm10, %zmm9 - -/* (K*L2L + Tl) + Rp*PolyP -Rm*PolyM */ - vfnmadd213ps {rn-sae}, %zmm2, %zmm4, %zmm3 - vaddps {rn-sae}, %zmm3, %zmm0, %zmm4 - vmulps {rn-sae}, %zmm9, %zmm4, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups One+__svml_satanh_data_internal_avx512(%rip), %zmm4 + + /* round reciprocals to 1+5b mantissas */ + vmovups AddB5+__svml_satanh_data_internal_avx512(%rip), %zmm14 + vmovups RcpBitMask+__svml_satanh_data_internal_avx512(%rip), %zmm1 + vmovaps %zmm0, %zmm11 + vandps AbsMask+__svml_satanh_data_internal_avx512(%rip), %zmm11, %zmm6 + + /* 1+y */ + vaddps {rn-sae}, %zmm4, %zmm6, %zmm9 + + /* 1-y */ + vsubps {rn-sae}, %zmm6, %zmm4, %zmm8 + vxorps %zmm6, %zmm11, %zmm10 + + /* Yp_high */ + vsubps {rn-sae}, %zmm4, %zmm9, %zmm2 + + /* -Ym_high */ + vsubps {rn-sae}, %zmm4, %zmm8, %zmm5 + + /* RcpP ~ 1/Yp */ + vrcp14ps %zmm9, %zmm12 + + /* RcpM ~ 1/Ym */ + vrcp14ps %zmm8, %zmm13 + + /* input outside (-1, 1) ? */ + vcmpps $21, {sae}, %zmm4, %zmm6, %k0 + vpaddd %zmm14, %zmm12, %zmm15 + vpaddd %zmm14, %zmm13, %zmm0 + + /* Yp_low */ + vsubps {rn-sae}, %zmm2, %zmm6, %zmm3 + vandps %zmm1, %zmm15, %zmm7 + vandps %zmm1, %zmm0, %zmm12 + + /* Ym_low */ + vaddps {rn-sae}, %zmm5, %zmm6, %zmm5 + + /* Reduced argument: Rp = (RcpP*Yp - 1)+RcpP*Yp_low */ + vfmsub213ps {rn-sae}, %zmm4, %zmm7, %zmm9 + + /* Reduced argument: Rm = (RcpM*Ym - 1)+RcpM*Ym_low */ + vfmsub231ps {rn-sae}, %zmm12, %zmm8, %zmm4 + vmovups Log_tbl_L+__svml_satanh_data_internal_avx512(%rip), %zmm8 + vmovups Log_tbl_L+64+__svml_satanh_data_internal_avx512(%rip), %zmm13 + + /* exponents */ + vgetexpps {sae}, %zmm7, %zmm15 + vfmadd231ps {rn-sae}, %zmm7, %zmm3, %zmm9 + + /* Table lookups */ + vmovups __svml_satanh_data_internal_avx512(%rip), %zmm6 + vgetexpps {sae}, %zmm12, %zmm14 + vfnmadd231ps {rn-sae}, %zmm12, %zmm5, %zmm4 + + /* Prepare table index */ + vpsrld $18, %zmm7, %zmm3 + vpsrld $18, %zmm12, %zmm2 + vmovups Log_tbl_H+64+__svml_satanh_data_internal_avx512(%rip), %zmm7 + vmovups poly_coeff1+__svml_satanh_data_internal_avx512(%rip), %zmm12 + + /* Km-Kp */ + vsubps {rn-sae}, %zmm15, %zmm14, %zmm1 + kmovw %k0, %edx + vmovaps %zmm3, %zmm0 + vpermi2ps %zmm13, %zmm8, %zmm3 + vpermt2ps %zmm13, %zmm2, %zmm8 + vpermi2ps %zmm7, %zmm6, %zmm0 + vpermt2ps %zmm7, %zmm2, %zmm6 + vsubps {rn-sae}, %zmm3, %zmm8, %zmm5 + + /* K*L2H + Th */ + vmovups L2H+__svml_satanh_data_internal_avx512(%rip), %zmm2 + + /* K*L2L + Tl */ + vmovups L2L+__svml_satanh_data_internal_avx512(%rip), %zmm3 + + /* polynomials */ + vmovups poly_coeff3+__svml_satanh_data_internal_avx512(%rip), %zmm7 + vmovups poly_coeff0+__svml_satanh_data_internal_avx512(%rip), %zmm13 + + /* table values */ + vsubps {rn-sae}, %zmm0, %zmm6, %zmm0 + vfmadd231ps {rn-sae}, %zmm1, %zmm2, %zmm0 + vfmadd213ps {rn-sae}, %zmm5, %zmm3, %zmm1 + vmovups poly_coeff2+__svml_satanh_data_internal_avx512(%rip), %zmm3 + vmovaps %zmm3, %zmm2 + vfmadd231ps {rn-sae}, %zmm9, %zmm7, %zmm2 + vfmadd231ps {rn-sae}, %zmm4, %zmm7, %zmm3 + vfmadd213ps {rn-sae}, %zmm12, %zmm9, %zmm2 + vfmadd213ps {rn-sae}, %zmm12, %zmm4, %zmm3 + vfmadd213ps {rn-sae}, %zmm13, %zmm9, %zmm2 + vfmadd213ps {rn-sae}, %zmm13, %zmm4, %zmm3 + + /* (K*L2L + Tl) + Rp*PolyP */ + vfmadd213ps {rn-sae}, %zmm1, %zmm9, %zmm2 + vorps Half+__svml_satanh_data_internal_avx512(%rip), %zmm10, %zmm9 + + /* (K*L2L + Tl) + Rp*PolyP -Rm*PolyM */ + vfnmadd213ps {rn-sae}, %zmm2, %zmm4, %zmm3 + vaddps {rn-sae}, %zmm3, %zmm0, %zmm4 + vmulps {rn-sae}, %zmm9, %zmm4, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm11, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm11, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call atanhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call atanhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_atanhf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_satanh_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl_H[32][1]; - __declspec(align(64)) VUINT32 Log_tbl_L[32][1]; - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 AbsMask[16][1]; - __declspec(align(64)) VUINT32 AddB5[16][1]; - __declspec(align(64)) VUINT32 RcpBitMask[16][1]; - __declspec(align(64)) VUINT32 poly_coeff3[16][1]; - __declspec(align(64)) VUINT32 poly_coeff2[16][1]; - __declspec(align(64)) VUINT32 poly_coeff1[16][1]; - __declspec(align(64)) VUINT32 poly_coeff0[16][1]; - __declspec(align(64)) VUINT32 Half[16][1]; - __declspec(align(64)) VUINT32 L2H[16][1]; - __declspec(align(64)) VUINT32 L2L[16][1]; - } __svml_satanh_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl_H[32][1]; + __declspec(align(64)) VUINT32 Log_tbl_L[32][1]; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 AbsMask[16][1]; + __declspec(align(64)) VUINT32 AddB5[16][1]; + __declspec(align(64)) VUINT32 RcpBitMask[16][1]; + __declspec(align(64)) VUINT32 poly_coeff3[16][1]; + __declspec(align(64)) VUINT32 poly_coeff2[16][1]; + __declspec(align(64)) VUINT32 poly_coeff1[16][1]; + __declspec(align(64)) VUINT32 poly_coeff0[16][1]; + __declspec(align(64)) VUINT32 Half[16][1]; + __declspec(align(64)) VUINT32 L2H[16][1]; + __declspec(align(64)) VUINT32 L2L[16][1]; +} __svml_satanh_data_internal_avx512; #endif __svml_satanh_data_internal_avx512: - /*== Log_tbl_H ==*/ - .long 0x00000000 - .long 0x3cfc0000 - .long 0x3d780000 - .long 0x3db78000 - .long 0x3df10000 - .long 0x3e14c000 - .long 0x3e300000 - .long 0x3e4a8000 - .long 0x3e648000 - .long 0x3e7dc000 - .long 0x3e8b4000 - .long 0x3e974000 - .long 0x3ea30000 - .long 0x3eae8000 - .long 0x3eb9c000 - .long 0x3ec4e000 - .long 0x3ecfa000 - .long 0x3eda2000 - .long 0x3ee48000 - .long 0x3eeea000 - .long 0x3ef8a000 - .long 0x3f013000 - .long 0x3f05f000 - .long 0x3f0aa000 - .long 0x3f0f4000 - .long 0x3f13d000 - .long 0x3f184000 - .long 0x3f1ca000 - .long 0x3f20f000 - .long 0x3f252000 - .long 0x3f295000 - .long 0x3f2d7000 - /*== Log_tbl_L ==*/ - .align 64 - .long 0x00000000 - .long 0x3726c39e - .long 0x38a30c01 - .long 0x37528ae5 - .long 0x38e0edc5 - .long 0xb8ab41f8 - .long 0xb7cf8f58 - .long 0x3896a73d - .long 0xb5838656 - .long 0x380c36af - .long 0xb8235454 - .long 0x3862bae1 - .long 0x38c5e10e - .long 0x38dedfac - .long 0x38ebfb5e - .long 0xb8e63c9f - .long 0xb85c1340 - .long 0x38777bcd - .long 0xb6038656 - .long 0x37d40984 - .long 0xb8b85028 - .long 0xb8ad5a5a - .long 0x3865c84a - .long 0x38c3d2f5 - .long 0x383ebce1 - .long 0xb8a1ed76 - .long 0xb7a332c4 - .long 0xb779654f - .long 0xb8602f73 - .long 0x38f85db0 - .long 0x37b4996f - .long 0xb8bfb3ca - /*== One ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== AbsMask ==*/ - .align 64 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== AddB5 ==*/ - .align 64 - .long 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000 - /*== RcpBitMask ==*/ - .align 64 - .long 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000 - /*== poly_coeff3 ==*/ - .align 64 - .long 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810 - /*== poly_coeff2 ==*/ - .align 64 - .long 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e - /*== poly_coeff1 ==*/ - .align 64 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 - /*== poly_coeff0 ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== Half ==*/ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .long 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000 - /*== L2L = log(2)_low ==*/ - .align 64 - .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 - .align 64 - .type __svml_satanh_data_internal_avx512,@object - .size __svml_satanh_data_internal_avx512,.-__svml_satanh_data_internal_avx512 + /* Log_tbl_H */ + .long 0x00000000 + .long 0x3cfc0000 + .long 0x3d780000 + .long 0x3db78000 + .long 0x3df10000 + .long 0x3e14c000 + .long 0x3e300000 + .long 0x3e4a8000 + .long 0x3e648000 + .long 0x3e7dc000 + .long 0x3e8b4000 + .long 0x3e974000 + .long 0x3ea30000 + .long 0x3eae8000 + .long 0x3eb9c000 + .long 0x3ec4e000 + .long 0x3ecfa000 + .long 0x3eda2000 + .long 0x3ee48000 + .long 0x3eeea000 + .long 0x3ef8a000 + .long 0x3f013000 + .long 0x3f05f000 + .long 0x3f0aa000 + .long 0x3f0f4000 + .long 0x3f13d000 + .long 0x3f184000 + .long 0x3f1ca000 + .long 0x3f20f000 + .long 0x3f252000 + .long 0x3f295000 + .long 0x3f2d7000 + /* Log_tbl_L */ + .align 64 + .long 0x00000000 + .long 0x3726c39e + .long 0x38a30c01 + .long 0x37528ae5 + .long 0x38e0edc5 + .long 0xb8ab41f8 + .long 0xb7cf8f58 + .long 0x3896a73d + .long 0xb5838656 + .long 0x380c36af + .long 0xb8235454 + .long 0x3862bae1 + .long 0x38c5e10e + .long 0x38dedfac + .long 0x38ebfb5e + .long 0xb8e63c9f + .long 0xb85c1340 + .long 0x38777bcd + .long 0xb6038656 + .long 0x37d40984 + .long 0xb8b85028 + .long 0xb8ad5a5a + .long 0x3865c84a + .long 0x38c3d2f5 + .long 0x383ebce1 + .long 0xb8a1ed76 + .long 0xb7a332c4 + .long 0xb779654f + .long 0xb8602f73 + .long 0x38f85db0 + .long 0x37b4996f + .long 0xb8bfb3ca + /* One */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* AbsMask */ + .align 64 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* AddB5 */ + .align 64 + .long 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000 + /* RcpBitMask */ + .align 64 + .long 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000, 0xfffc0000 + /* poly_coeff3 */ + .align 64 + .long 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810, 0xbe800810 + /* poly_coeff2 */ + .align 64 + .long 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e, 0x3eaab11e + /* poly_coeff1 */ + .align 64 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 + /* poly_coeff0 */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* Half */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + /* L2H = log(2)_high */ + .align 64 + .long 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000, 0x3f317000 + /* L2L = log(2)_low */ + .align 64 + .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 + .align 64 + .type __svml_satanh_data_internal_avx512, @object + .size __svml_satanh_data_internal_avx512, .-__svml_satanh_data_internal_avx512 From patchwork Mon Mar 7 15:00:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602364 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=eEFgY7Wy; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3GK45kcz9sFt for ; Tue, 8 Mar 2022 03:05:45 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A48443858423 for ; Mon, 7 Mar 2022 16:05:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A48443858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669143; bh=zGXTdWnl+uHlK5OSZ+owMTVP7TBKHcrd95zU1QHWJAw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=eEFgY7WyMtvGQ8IX0DzYntuQE7id4oUME9eWXlkXG9vnu4pZWPKfe7fHsEzujp2Ch Lmp98ra0m16Kgxarh6EVVVah6dbWWXVWLq+JwhG+5EdSSEUrc2O7PA3agVDvJBCXzi qhxi6F/EXUZVyNfXxBo8bF3ZsnNMcsddTYeZnzGw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 79F7A3858017 for ; Mon, 7 Mar 2022 15:02:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 79F7A3858017 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364121" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364121" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="509733230" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eC016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 038/126] x86_64: Fix svml_s_atanhf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:33 -0800 Message-Id: <20220307150201.10590-39-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_atanhf4_core_sse4.S | 597 +++++++++--------- 1 file changed, 298 insertions(+), 299 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S index 7927e01f0c..2d3ad2617f 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf4_core_sse4.S @@ -32,330 +32,329 @@ /* Offsets for data table __svml_satanh_data_internal */ -#define SgnMask 0 -#define sOne 16 -#define sPoly 32 -#define iBrkValue 160 -#define iOffExpoMask 176 -#define sHalf 192 -#define sSign 208 -#define sTopMask12 224 -#define TinyRange 240 -#define sLn2 256 +#define SgnMask 0 +#define sOne 16 +#define sPoly 32 +#define iBrkValue 160 +#define iOffExpoMask 176 +#define sHalf 192 +#define sSign 208 +#define sTopMask12 224 +#define TinyRange 240 +#define sLn2 256 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_atanhf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm5 - -/* Load constants including One = 1 */ - movups sOne+__svml_satanh_data_internal(%rip), %xmm4 - movaps %xmm5, %xmm3 - -/* Strip off the sign, so treat X as positive until right at the end */ - movups SgnMask+__svml_satanh_data_internal(%rip), %xmm7 - movaps %xmm4, %xmm8 - andps %xmm5, %xmm7 - movaps %xmm4, %xmm10 - movups sTopMask12+__svml_satanh_data_internal(%rip), %xmm11 - movaps %xmm4, %xmm14 - movaps %xmm11, %xmm9 - -/* - * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, - * the upper part UHi being <= 12 bits long. Then we have - * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). - */ - movaps %xmm7, %xmm12 - -/* - * Check whether |X| < 1, in which case we use the main function. - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN < 1). - */ - movaps %xmm7, %xmm6 - movaps %xmm7, %xmm2 - cmpnltps %xmm4, %xmm6 - cmpltps TinyRange+__svml_satanh_data_internal(%rip), %xmm2 - mulps %xmm5, %xmm3 - subps %xmm7, %xmm8 - addps %xmm7, %xmm12 - movmskps %xmm6, %edx - subps %xmm8, %xmm10 - addps %xmm5, %xmm3 - subps %xmm7, %xmm10 - andps %xmm8, %xmm9 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * later incorporating L into the reduced argument. - * compute 1+x as high, low parts - */ - movaps %xmm4, %xmm7 - -/* - * Now compute R = 1/(UHi+ULo) * (1 - E) and the error term E - * The first FMR is exact (we force R to 12 bits just in case it - * isn't already, to make absolutely sure), and since E is ~ 2^-12, - * the rounding error in the other one is acceptable. - */ - rcpps %xmm9, %xmm15 - subps %xmm9, %xmm8 - andps %xmm11, %xmm15 - -/* - * Split V as well into upper 12 bits and lower part, so that we can get - * a preliminary quotient estimate without rounding error. - */ - andps %xmm12, %xmm11 - mulps %xmm15, %xmm9 - addps %xmm8, %xmm10 - subps %xmm11, %xmm12 - -/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ - mulps %xmm15, %xmm11 - mulps %xmm15, %xmm10 - subps %xmm9, %xmm14 - mulps %xmm12, %xmm15 - subps %xmm10, %xmm14 - -/* Compute D = E + E^2 */ - movaps %xmm14, %xmm13 - movaps %xmm4, %xmm8 - mulps %xmm14, %xmm13 - -/* reduction: compute r,n */ - movdqu iBrkValue+__svml_satanh_data_internal(%rip), %xmm9 - addps %xmm13, %xmm14 - -/* - * Compute R * (VHi + VLo) * (1 + E + E^2) - * = R * (VHi + VLo) * (1 + D) - * = QHi + (QHi * D + QLo + QLo * D) - */ - movaps %xmm14, %xmm0 - mulps %xmm15, %xmm14 - mulps %xmm11, %xmm0 - addps %xmm14, %xmm15 - movdqu iOffExpoMask+__svml_satanh_data_internal(%rip), %xmm12 - movaps %xmm4, %xmm14 - -/* Record the sign for eventual reincorporation. */ - movups sSign+__svml_satanh_data_internal(%rip), %xmm1 - addps %xmm15, %xmm0 - -/* - * Now finally accumulate the high and low parts of the - * argument to log1p, H + L, with a final compensated summation. - */ - movaps %xmm0, %xmm6 - andps %xmm5, %xmm1 - -/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ - orps %xmm1, %xmm3 - addps %xmm11, %xmm6 - maxps %xmm6, %xmm7 - minps %xmm6, %xmm8 - subps %xmm6, %xmm11 - movaps %xmm7, %xmm10 - andps %xmm2, %xmm3 - addps %xmm8, %xmm10 - addps %xmm11, %xmm0 - subps %xmm10, %xmm7 - psubd %xmm9, %xmm10 - addps %xmm7, %xmm8 - pand %xmm10, %xmm12 - psrad $23, %xmm10 - cvtdq2ps %xmm10, %xmm13 - addps %xmm8, %xmm0 - -/* final reconstruction */ - mulps sLn2+__svml_satanh_data_internal(%rip), %xmm13 - pslld $23, %xmm10 - paddd %xmm9, %xmm12 - psubd %xmm10, %xmm14 - -/* polynomial evaluation */ - subps %xmm4, %xmm12 - mulps %xmm0, %xmm14 - movups sPoly+112+__svml_satanh_data_internal(%rip), %xmm0 - addps %xmm12, %xmm14 - mulps %xmm14, %xmm0 - -/* Finally, halve the result and reincorporate the sign */ - movups sHalf+__svml_satanh_data_internal(%rip), %xmm4 - pxor %xmm1, %xmm4 - addps sPoly+96+__svml_satanh_data_internal(%rip), %xmm0 - mulps %xmm14, %xmm0 - addps sPoly+80+__svml_satanh_data_internal(%rip), %xmm0 - mulps %xmm14, %xmm0 - addps sPoly+64+__svml_satanh_data_internal(%rip), %xmm0 - mulps %xmm14, %xmm0 - addps sPoly+48+__svml_satanh_data_internal(%rip), %xmm0 - mulps %xmm14, %xmm0 - addps sPoly+32+__svml_satanh_data_internal(%rip), %xmm0 - mulps %xmm14, %xmm0 - addps sPoly+16+__svml_satanh_data_internal(%rip), %xmm0 - mulps %xmm14, %xmm0 - addps sPoly+__svml_satanh_data_internal(%rip), %xmm0 - mulps %xmm14, %xmm0 - mulps %xmm14, %xmm0 - addps %xmm0, %xmm14 - movaps %xmm2, %xmm0 - addps %xmm13, %xmm14 - mulps %xmm14, %xmm4 - andnps %xmm4, %xmm0 - orps %xmm3, %xmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm5 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm5 + + /* Load constants including One = 1 */ + movups sOne+__svml_satanh_data_internal(%rip), %xmm4 + movaps %xmm5, %xmm3 + + /* Strip off the sign, so treat X as positive until right at the end */ + movups SgnMask+__svml_satanh_data_internal(%rip), %xmm7 + movaps %xmm4, %xmm8 + andps %xmm5, %xmm7 + movaps %xmm4, %xmm10 + movups sTopMask12+__svml_satanh_data_internal(%rip), %xmm11 + movaps %xmm4, %xmm14 + movaps %xmm11, %xmm9 + + /* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 12 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + movaps %xmm7, %xmm12 + + /* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + movaps %xmm7, %xmm6 + movaps %xmm7, %xmm2 + cmpnltps %xmm4, %xmm6 + cmpltps TinyRange+__svml_satanh_data_internal(%rip), %xmm2 + mulps %xmm5, %xmm3 + subps %xmm7, %xmm8 + addps %xmm7, %xmm12 + movmskps %xmm6, %edx + subps %xmm8, %xmm10 + addps %xmm5, %xmm3 + subps %xmm7, %xmm10 + andps %xmm8, %xmm9 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + movaps %xmm4, %xmm7 + + /* + * Now compute R = 1/(UHi+ULo) * (1 - E) and the error term E + * The first FMR is exact (we force R to 12 bits just in case it + * isn't already, to make absolutely sure), and since E is ~ 2^-12, + * the rounding error in the other one is acceptable. + */ + rcpps %xmm9, %xmm15 + subps %xmm9, %xmm8 + andps %xmm11, %xmm15 + + /* + * Split V as well into upper 12 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + andps %xmm12, %xmm11 + mulps %xmm15, %xmm9 + addps %xmm8, %xmm10 + subps %xmm11, %xmm12 + + /* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + mulps %xmm15, %xmm11 + mulps %xmm15, %xmm10 + subps %xmm9, %xmm14 + mulps %xmm12, %xmm15 + subps %xmm10, %xmm14 + + /* Compute D = E + E^2 */ + movaps %xmm14, %xmm13 + movaps %xmm4, %xmm8 + mulps %xmm14, %xmm13 + + /* reduction: compute r, n */ + movdqu iBrkValue+__svml_satanh_data_internal(%rip), %xmm9 + addps %xmm13, %xmm14 + + /* + * Compute R * (VHi + VLo) * (1 + E + E^2) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + movaps %xmm14, %xmm0 + mulps %xmm15, %xmm14 + mulps %xmm11, %xmm0 + addps %xmm14, %xmm15 + movdqu iOffExpoMask+__svml_satanh_data_internal(%rip), %xmm12 + movaps %xmm4, %xmm14 + + /* Record the sign for eventual reincorporation. */ + movups sSign+__svml_satanh_data_internal(%rip), %xmm1 + addps %xmm15, %xmm0 + + /* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + movaps %xmm0, %xmm6 + andps %xmm5, %xmm1 + + /* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + orps %xmm1, %xmm3 + addps %xmm11, %xmm6 + maxps %xmm6, %xmm7 + minps %xmm6, %xmm8 + subps %xmm6, %xmm11 + movaps %xmm7, %xmm10 + andps %xmm2, %xmm3 + addps %xmm8, %xmm10 + addps %xmm11, %xmm0 + subps %xmm10, %xmm7 + psubd %xmm9, %xmm10 + addps %xmm7, %xmm8 + pand %xmm10, %xmm12 + psrad $23, %xmm10 + cvtdq2ps %xmm10, %xmm13 + addps %xmm8, %xmm0 + + /* final reconstruction */ + mulps sLn2+__svml_satanh_data_internal(%rip), %xmm13 + pslld $23, %xmm10 + paddd %xmm9, %xmm12 + psubd %xmm10, %xmm14 + + /* polynomial evaluation */ + subps %xmm4, %xmm12 + mulps %xmm0, %xmm14 + movups sPoly+112+__svml_satanh_data_internal(%rip), %xmm0 + addps %xmm12, %xmm14 + mulps %xmm14, %xmm0 + + /* Finally, halve the result and reincorporate the sign */ + movups sHalf+__svml_satanh_data_internal(%rip), %xmm4 + pxor %xmm1, %xmm4 + addps sPoly+96+__svml_satanh_data_internal(%rip), %xmm0 + mulps %xmm14, %xmm0 + addps sPoly+80+__svml_satanh_data_internal(%rip), %xmm0 + mulps %xmm14, %xmm0 + addps sPoly+64+__svml_satanh_data_internal(%rip), %xmm0 + mulps %xmm14, %xmm0 + addps sPoly+48+__svml_satanh_data_internal(%rip), %xmm0 + mulps %xmm14, %xmm0 + addps sPoly+32+__svml_satanh_data_internal(%rip), %xmm0 + mulps %xmm14, %xmm0 + addps sPoly+16+__svml_satanh_data_internal(%rip), %xmm0 + mulps %xmm14, %xmm0 + addps sPoly+__svml_satanh_data_internal(%rip), %xmm0 + mulps %xmm14, %xmm0 + mulps %xmm14, %xmm0 + addps %xmm0, %xmm14 + movaps %xmm2, %xmm0 + addps %xmm13, %xmm14 + mulps %xmm14, %xmm4 + andnps %xmm4, %xmm0 + orps %xmm3, %xmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm5 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm5, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm5, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call atanhf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call atanhf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_atanhf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_satanh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 SgnMask[4][1]; - __declspec(align(16)) VUINT32 sOne[4][1]; - __declspec(align(16)) VUINT32 sPoly[8][4][1]; - __declspec(align(16)) VUINT32 iBrkValue[4][1]; - __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; - __declspec(align(16)) VUINT32 sHalf[4][1]; - __declspec(align(16)) VUINT32 sSign[4][1]; - __declspec(align(16)) VUINT32 sTopMask12[4][1]; - __declspec(align(16)) VUINT32 TinyRange[4][1]; - __declspec(align(16)) VUINT32 sLn2[4][1]; + __declspec(align(16)) VUINT32 SgnMask[4][1]; + __declspec(align(16)) VUINT32 sOne[4][1]; + __declspec(align(16)) VUINT32 sPoly[8][4][1]; + __declspec(align(16)) VUINT32 iBrkValue[4][1]; + __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; + __declspec(align(16)) VUINT32 sHalf[4][1]; + __declspec(align(16)) VUINT32 sSign[4][1]; + __declspec(align(16)) VUINT32 sTopMask12[4][1]; + __declspec(align(16)) VUINT32 TinyRange[4][1]; + __declspec(align(16)) VUINT32 sLn2[4][1]; } __svml_satanh_data_internal; #endif __svml_satanh_data_internal: - /*== SgnMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== sOne = SP 1.0 ==*/ - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 16 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iBrkValue = SP 2/3 ==*/ - .align 16 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 16 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sHalf ==*/ - .align 16 - .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 - /*== sSign ==*/ - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 - /*== sTopMask12 ==*/ - .align 16 - .long 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000 - /*== TinyRange ==*/ - .align 16 - .long 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000 - /*== sLn2 = SP ln(2) ==*/ - .align 16 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 16 - .type __svml_satanh_data_internal,@object - .size __svml_satanh_data_internal,.-__svml_satanh_data_internal + /* SgnMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* sOne = SP 1.0 */ + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 16 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iBrkValue = SP 2/3 */ + .align 16 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 16 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sHalf */ + .align 16 + .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 + /* sSign */ + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 + /* sTopMask12 */ + .align 16 + .long 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000 + /* TinyRange */ + .align 16 + .long 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000 + /* sLn2 = SP ln(2) */ + .align 16 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 16 + .type __svml_satanh_data_internal, @object + .size __svml_satanh_data_internal, .-__svml_satanh_data_internal From patchwork Mon Mar 7 15:00:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602359 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=BM+QIHhr; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3B4430Lz9sFt for ; Tue, 8 Mar 2022 03:02:04 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D25713858410 for ; Mon, 7 Mar 2022 16:02:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D25713858410 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668921; bh=dhb4RqgM0bZo000+BnAq5H95VPCtI/5zSOeOwV0nzEk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=BM+QIHhr78tDap4zsFuQQV/q47EAQLCGIcGlmnEziuvDt41wvZb+nbJrGLJqZC9Yf m8AmEiBm2P8k/RtYNUNadgB/PUmhsbWWsdAazz7BaGt6hv1LFAqi8MOCq7xTTplyf2 /bOOBuKNwgCdphGuJeSWy8EOLDFaSBZe737Adj4o= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id C41ED3858013 for ; Mon, 7 Mar 2022 15:02:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C41ED3858013 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017238" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017238" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="631871397" Received: from scymds01.sc.intel.com ([10.148.94.138]) by FMSMGA003.fm.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eD016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 039/126] x86_64: Fix svml_s_atanhf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:34 -0800 Message-Id: <20220307150201.10590-40-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_atanhf8_core_avx2.S | 547 +++++++++--------- 1 file changed, 273 insertions(+), 274 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S index e67fb5dc92..c1ea1c3353 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_atanhf8_core_avx2.S @@ -32,304 +32,303 @@ /* Offsets for data table __svml_satanh_data_internal */ -#define SgnMask 0 -#define sOne 32 -#define sPoly 64 -#define iBrkValue 320 -#define iOffExpoMask 352 -#define sHalf 384 -#define sSign 416 -#define sTopMask12 448 -#define TinyRange 480 -#define sLn2 512 +#define SgnMask 0 +#define sOne 32 +#define sPoly 64 +#define iBrkValue 320 +#define iOffExpoMask 352 +#define sHalf 384 +#define sSign 416 +#define sTopMask12 448 +#define TinyRange 480 +#define sLn2 512 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_atanhf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* Load constants including One = 1 */ - vmovups sOne+__svml_satanh_data_internal(%rip), %ymm5 - vmovups sTopMask12+__svml_satanh_data_internal(%rip), %ymm13 - vmovaps %ymm0, %ymm6 - -/* Strip off the sign, so treat X as positive until right at the end */ - vandps SgnMask+__svml_satanh_data_internal(%rip), %ymm6, %ymm10 - vsubps %ymm10, %ymm5, %ymm1 - -/* - * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, - * the upper part UHi being <= 12 bits long. Then we have - * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). - */ - vaddps %ymm10, %ymm10, %ymm14 - -/* - * Check whether |X| < 1, in which case we use the main function. - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN < 1). - */ - vcmpnlt_uqps %ymm5, %ymm10, %ymm7 - vsubps %ymm1, %ymm5, %ymm9 - vcmplt_oqps TinyRange+__svml_satanh_data_internal(%rip), %ymm10, %ymm4 - vrcpps %ymm1, %ymm11 - vsubps %ymm10, %ymm9, %ymm12 - vandps %ymm13, %ymm11, %ymm0 - -/* No need to split sU when FMA is available */ - vfnmadd213ps %ymm5, %ymm0, %ymm1 - vmovaps %ymm6, %ymm8 - vfmadd213ps %ymm6, %ymm6, %ymm8 - vfnmadd231ps %ymm0, %ymm12, %ymm1 - -/* - * Split V as well into upper 12 bits and lower part, so that we can get - * a preliminary quotient estimate without rounding error. - */ - vandps %ymm13, %ymm14, %ymm15 - vmovmskps %ymm7, %edx - vsubps %ymm15, %ymm14, %ymm7 - -/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ - vmulps %ymm15, %ymm0, %ymm10 - -/* Compute D = E + E^2 */ - vfmadd213ps %ymm1, %ymm1, %ymm1 - -/* Record the sign for eventual reincorporation. */ - vandps sSign+__svml_satanh_data_internal(%rip), %ymm6, %ymm3 - -/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ - vorps %ymm3, %ymm8, %ymm2 - vmulps %ymm7, %ymm0, %ymm8 - -/* - * Compute R * (VHi + VLo) * (1 + E + E^2) - * = R * (VHi + VLo) * (1 + D) - * = QHi + (QHi * D + QLo + QLo * D) - */ - vmulps %ymm1, %ymm10, %ymm9 - vfmadd213ps %ymm8, %ymm8, %ymm1 - vaddps %ymm1, %ymm9, %ymm1 - -/* reduction: compute r,n */ - vmovups iBrkValue+__svml_satanh_data_internal(%rip), %ymm9 - -/* - * Now finally accumulate the high and low parts of the - * argument to log1p, H + L, with a final compensated summation. - */ - vaddps %ymm1, %ymm10, %ymm12 - vsubps %ymm12, %ymm10, %ymm11 - -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * later incorporating L into the reduced argument. - * compute 1+x as high, low parts - */ - vmaxps %ymm12, %ymm5, %ymm13 - vminps %ymm12, %ymm5, %ymm14 - vaddps %ymm11, %ymm1, %ymm0 - vaddps %ymm14, %ymm13, %ymm1 - vpsubd %ymm9, %ymm1, %ymm7 - vsubps %ymm1, %ymm13, %ymm15 - vpsrad $23, %ymm7, %ymm10 - vpand iOffExpoMask+__svml_satanh_data_internal(%rip), %ymm7, %ymm8 - vaddps %ymm15, %ymm14, %ymm13 - vpslld $23, %ymm10, %ymm11 - vpaddd %ymm9, %ymm8, %ymm15 - vaddps %ymm13, %ymm0, %ymm14 - vcvtdq2ps %ymm10, %ymm0 - vpsubd %ymm11, %ymm5, %ymm12 - -/* polynomial evaluation */ - vsubps %ymm5, %ymm15, %ymm5 - vmulps %ymm14, %ymm12, %ymm1 - vaddps %ymm5, %ymm1, %ymm5 - vmovups sPoly+224+__svml_satanh_data_internal(%rip), %ymm1 - vfmadd213ps sPoly+192+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213ps sPoly+160+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213ps sPoly+128+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213ps sPoly+96+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213ps sPoly+64+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213ps sPoly+32+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213ps sPoly+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 - vmulps %ymm1, %ymm5, %ymm7 - vfmadd213ps %ymm5, %ymm5, %ymm7 - -/* final reconstruction */ - vfmadd132ps sLn2+__svml_satanh_data_internal(%rip), %ymm7, %ymm0 - -/* Finally, halve the result and reincorporate the sign */ - vxorps sHalf+__svml_satanh_data_internal(%rip), %ymm3, %ymm3 - vmulps %ymm0, %ymm3, %ymm0 - vblendvps %ymm4, %ymm2, %ymm0, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm6 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* Load constants including One = 1 */ + vmovups sOne+__svml_satanh_data_internal(%rip), %ymm5 + vmovups sTopMask12+__svml_satanh_data_internal(%rip), %ymm13 + vmovaps %ymm0, %ymm6 + + /* Strip off the sign, so treat X as positive until right at the end */ + vandps SgnMask+__svml_satanh_data_internal(%rip), %ymm6, %ymm10 + vsubps %ymm10, %ymm5, %ymm1 + + /* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 12 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + vaddps %ymm10, %ymm10, %ymm14 + + /* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + vcmpnlt_uqps %ymm5, %ymm10, %ymm7 + vsubps %ymm1, %ymm5, %ymm9 + vcmplt_oqps TinyRange+__svml_satanh_data_internal(%rip), %ymm10, %ymm4 + vrcpps %ymm1, %ymm11 + vsubps %ymm10, %ymm9, %ymm12 + vandps %ymm13, %ymm11, %ymm0 + + /* No need to split sU when FMA is available */ + vfnmadd213ps %ymm5, %ymm0, %ymm1 + vmovaps %ymm6, %ymm8 + vfmadd213ps %ymm6, %ymm6, %ymm8 + vfnmadd231ps %ymm0, %ymm12, %ymm1 + + /* + * Split V as well into upper 12 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + vandps %ymm13, %ymm14, %ymm15 + vmovmskps %ymm7, %edx + vsubps %ymm15, %ymm14, %ymm7 + + /* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + vmulps %ymm15, %ymm0, %ymm10 + + /* Compute D = E + E^2 */ + vfmadd213ps %ymm1, %ymm1, %ymm1 + + /* Record the sign for eventual reincorporation. */ + vandps sSign+__svml_satanh_data_internal(%rip), %ymm6, %ymm3 + + /* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + vorps %ymm3, %ymm8, %ymm2 + vmulps %ymm7, %ymm0, %ymm8 + + /* + * Compute R * (VHi + VLo) * (1 + E + E^2) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + vmulps %ymm1, %ymm10, %ymm9 + vfmadd213ps %ymm8, %ymm8, %ymm1 + vaddps %ymm1, %ymm9, %ymm1 + + /* reduction: compute r, n */ + vmovups iBrkValue+__svml_satanh_data_internal(%rip), %ymm9 + + /* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + vaddps %ymm1, %ymm10, %ymm12 + vsubps %ymm12, %ymm10, %ymm11 + + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + vmaxps %ymm12, %ymm5, %ymm13 + vminps %ymm12, %ymm5, %ymm14 + vaddps %ymm11, %ymm1, %ymm0 + vaddps %ymm14, %ymm13, %ymm1 + vpsubd %ymm9, %ymm1, %ymm7 + vsubps %ymm1, %ymm13, %ymm15 + vpsrad $23, %ymm7, %ymm10 + vpand iOffExpoMask+__svml_satanh_data_internal(%rip), %ymm7, %ymm8 + vaddps %ymm15, %ymm14, %ymm13 + vpslld $23, %ymm10, %ymm11 + vpaddd %ymm9, %ymm8, %ymm15 + vaddps %ymm13, %ymm0, %ymm14 + vcvtdq2ps %ymm10, %ymm0 + vpsubd %ymm11, %ymm5, %ymm12 + + /* polynomial evaluation */ + vsubps %ymm5, %ymm15, %ymm5 + vmulps %ymm14, %ymm12, %ymm1 + vaddps %ymm5, %ymm1, %ymm5 + vmovups sPoly+224+__svml_satanh_data_internal(%rip), %ymm1 + vfmadd213ps sPoly+192+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps sPoly+160+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps sPoly+128+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps sPoly+96+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps sPoly+64+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps sPoly+32+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213ps sPoly+__svml_satanh_data_internal(%rip), %ymm5, %ymm1 + vmulps %ymm1, %ymm5, %ymm7 + vfmadd213ps %ymm5, %ymm5, %ymm7 + + /* final reconstruction */ + vfmadd132ps sLn2+__svml_satanh_data_internal(%rip), %ymm7, %ymm0 + + /* Finally, halve the result and reincorporate the sign */ + vxorps sHalf+__svml_satanh_data_internal(%rip), %ymm3, %ymm3 + vmulps %ymm0, %ymm3, %ymm0 + vblendvps %ymm4, %ymm2, %ymm0, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm6 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm6, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm6, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call atanhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call atanhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_atanhf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_satanh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 SgnMask[8][1]; - __declspec(align(32)) VUINT32 sOne[8][1]; - __declspec(align(32)) VUINT32 sPoly[8][8][1]; - __declspec(align(32)) VUINT32 iBrkValue[8][1]; - __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; - __declspec(align(32)) VUINT32 sHalf[8][1]; - __declspec(align(32)) VUINT32 sSign[8][1]; - __declspec(align(32)) VUINT32 sTopMask12[8][1]; - __declspec(align(32)) VUINT32 TinyRange[8][1]; - __declspec(align(32)) VUINT32 sLn2[8][1]; + __declspec(align(32)) VUINT32 SgnMask[8][1]; + __declspec(align(32)) VUINT32 sOne[8][1]; + __declspec(align(32)) VUINT32 sPoly[8][8][1]; + __declspec(align(32)) VUINT32 iBrkValue[8][1]; + __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; + __declspec(align(32)) VUINT32 sHalf[8][1]; + __declspec(align(32)) VUINT32 sSign[8][1]; + __declspec(align(32)) VUINT32 sTopMask12[8][1]; + __declspec(align(32)) VUINT32 TinyRange[8][1]; + __declspec(align(32)) VUINT32 sLn2[8][1]; } __svml_satanh_data_internal; #endif __svml_satanh_data_internal: - /*== SgnMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== sOne = SP 1.0 ==*/ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 32 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iBrkValue = SP 2/3 ==*/ - .align 32 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 32 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sHalf ==*/ - .align 32 - .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 - /*== sSign ==*/ - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 - /*== sTopMask12 ==*/ - .align 32 - .long 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000 - /*== TinyRange ==*/ - .align 32 - .long 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000 - /*== sLn2 = SP ln(2) ==*/ - .align 32 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 32 - .type __svml_satanh_data_internal,@object - .size __svml_satanh_data_internal,.-__svml_satanh_data_internal + /* SgnMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* sOne = SP 1.0 */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 32 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iBrkValue = SP 2/3 */ + .align 32 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sHalf */ + .align 32 + .long 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000, 0x3F000000 + /* sSign */ + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 + /* sTopMask12 */ + .align 32 + .long 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000, 0xFFFFF000 + /* TinyRange */ + .align 32 + .long 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000, 0x0C000000 + /* sLn2 = SP ln(2) */ + .align 32 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 32 + .type __svml_satanh_data_internal, @object + .size __svml_satanh_data_internal, .-__svml_satanh_data_internal From patchwork Mon Mar 7 15:00:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602312 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=SwiGk1ZF; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2mj5ggdz9sFk for ; Tue, 8 Mar 2022 02:43:33 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D060E385842B for ; Mon, 7 Mar 2022 15:43:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D060E385842B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667811; bh=kdPYizzp3hPk59BZWhrWjv01PW1L5qgJaz88+OFlBQ4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=SwiGk1ZFt7OkLrmKrmNj+y1RrHpjiVWZ/e83dA/uEQbW9bLLj6wXgg9uWPzIKMrOO nJQ7An3T/Yu2vGT3MjlAvu7Ci7QW/WnF5sn608DIFmCwZyPr3vTTgcMXQN7F+X5/f8 E6kSikfBGoB0rEsvXGLXEbsyFhF+4hBjGtdlDNgY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 21E0F3858013 for ; Mon, 7 Mar 2022 15:02:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 21E0F3858013 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138359" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138359" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="577627351" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga001.jf.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eE016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 040/126] x86_64: Fix svml_d_atanh2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:35 -0800 Message-Id: <20220307150201.10590-41-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atanh2_core_sse4.S | 2835 ++++++++--------- 1 file changed, 1417 insertions(+), 1418 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S index 046a0eb188..3ab0e920ce 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh2_core_sse4.S @@ -32,1488 +32,1487 @@ /* Offsets for data table __svml_datanh_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8208 -#define poly_coeff 12320 -#define ExpMask 12384 -#define Two10 12400 -#define MinLog1p 12416 -#define MaxLog1p 12432 -#define One 12448 -#define SgnMask 12464 -#define XThreshold 12480 -#define XhMask 12496 -#define Threshold 12512 -#define Bias 12528 -#define Bias1 12544 -#define ExpMask0 12560 -#define ExpMask2 12576 -#define L2 12592 -#define dHalf 12608 -#define dSign 12624 -#define dTopMask12 12640 -#define dTopMask41 12656 -#define TinyRange 12672 +#define Log_HA_table 0 +#define Log_LA_table 8208 +#define poly_coeff 12320 +#define ExpMask 12384 +#define Two10 12400 +#define MinLog1p 12416 +#define MaxLog1p 12432 +#define One 12448 +#define SgnMask 12464 +#define XThreshold 12480 +#define XhMask 12496 +#define Threshold 12512 +#define Bias 12528 +#define Bias1 12544 +#define ExpMask0 12560 +#define ExpMask2 12576 +#define L2 12592 +#define dHalf 12608 +#define dSign 12624 +#define dTopMask12 12640 +#define dTopMask41 12656 +#define TinyRange 12672 /* Lookup bias for data table __svml_datanh_data_internal. */ -#define Table_Lookup_Bias -0x405ff0 +#define Table_Lookup_Bias -0x405ff0 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_atanh_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 - movaps %xmm0, %xmm12 - movups SgnMask+__svml_datanh_data_internal(%rip), %xmm7 - lea Table_Lookup_Bias+__svml_datanh_data_internal(%rip), %rsi + 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 + movaps %xmm0, %xmm12 + movups SgnMask+__svml_datanh_data_internal(%rip), %xmm7 + lea Table_Lookup_Bias+__svml_datanh_data_internal(%rip), %rsi -/* Load the constant 1 and a sign mask */ - movups One+__svml_datanh_data_internal(%rip), %xmm11 + /* Load the constant 1 and a sign mask */ + movups One+__svml_datanh_data_internal(%rip), %xmm11 -/* Strip off the sign, so treat X as positive until right at the end */ - movaps %xmm7, %xmm14 - andps %xmm12, %xmm14 - movaps %xmm11, %xmm15 - subpd %xmm14, %xmm15 - movups dTopMask41+__svml_datanh_data_internal(%rip), %xmm2 - movaps %xmm11, %xmm5 - movaps %xmm2, %xmm0 + /* Strip off the sign, so treat X as positive until right at the end */ + movaps %xmm7, %xmm14 + andps %xmm12, %xmm14 + movaps %xmm11, %xmm15 + subpd %xmm14, %xmm15 + movups dTopMask41+__svml_datanh_data_internal(%rip), %xmm2 + movaps %xmm11, %xmm5 + movaps %xmm2, %xmm0 -/* - * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, - * the upper part UHi being <= 41 bits long. Then we have - * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). - */ - movaps %xmm14, %xmm6 - andps %xmm15, %xmm0 + /* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 41 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + movaps %xmm14, %xmm6 + andps %xmm15, %xmm0 -/* - * Check whether |X| < 1, in which case we use the main function. - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN < 1). - */ - movaps %xmm14, %xmm13 + /* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + movaps %xmm14, %xmm13 -/* - * Now compute R = 1/(UHi+ULo) * (1 - E) and the error term E - * The first FMR is exact (we force R to 12 bits just in case it - * isn't already, to make absolutely sure), and since E is ~ 2^-12, - * the rounding error in the other one is acceptable. - */ - cvtpd2ps %xmm0, %xmm1 - subpd %xmm15, %xmm5 - addpd %xmm14, %xmm6 - subpd %xmm0, %xmm15 - cmpnltpd %xmm11, %xmm13 - subpd %xmm14, %xmm5 - movmskpd %xmm13, %edx - movlhps %xmm1, %xmm1 - movaps %xmm14, %xmm9 - rcpps %xmm1, %xmm4 - addpd %xmm15, %xmm5 - cmpltpd TinyRange+__svml_datanh_data_internal(%rip), %xmm9 - cvtps2pd %xmm4, %xmm14 - andps dTopMask12+__svml_datanh_data_internal(%rip), %xmm14 - movaps %xmm11, %xmm13 - mulpd %xmm14, %xmm0 - mulpd %xmm14, %xmm5 - subpd %xmm0, %xmm13 + /* + * Now compute R = 1/(UHi+ULo) * (1 - E) and the error term E + * The first FMR is exact (we force R to 12 bits just in case it + * isn't already, to make absolutely sure), and since E is ~ 2^-12, + * the rounding error in the other one is acceptable. + */ + cvtpd2ps %xmm0, %xmm1 + subpd %xmm15, %xmm5 + addpd %xmm14, %xmm6 + subpd %xmm0, %xmm15 + cmpnltpd %xmm11, %xmm13 + subpd %xmm14, %xmm5 + movmskpd %xmm13, %edx + movlhps %xmm1, %xmm1 + movaps %xmm14, %xmm9 + rcpps %xmm1, %xmm4 + addpd %xmm15, %xmm5 + cmpltpd TinyRange+__svml_datanh_data_internal(%rip), %xmm9 + cvtps2pd %xmm4, %xmm14 + andps dTopMask12+__svml_datanh_data_internal(%rip), %xmm14 + movaps %xmm11, %xmm13 + mulpd %xmm14, %xmm0 + mulpd %xmm14, %xmm5 + subpd %xmm0, %xmm13 -/* - * Split V as well into upper 41 bits and lower part, so that we can get - * a preliminary quotient estimate without rounding error. - */ - andps %xmm6, %xmm2 + /* + * Split V as well into upper 41 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + andps %xmm6, %xmm2 -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * later incorporating L into the reduced argument. - * compute 1+x as high, low parts - */ - movaps %xmm11, %xmm0 - subpd %xmm5, %xmm13 - subpd %xmm2, %xmm6 + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + movaps %xmm11, %xmm0 + subpd %xmm5, %xmm13 + subpd %xmm2, %xmm6 -/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ - mulpd %xmm14, %xmm2 - mulpd %xmm6, %xmm14 + /* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + mulpd %xmm14, %xmm2 + mulpd %xmm6, %xmm14 -/* - * Compute D = E + E^2 + E^3 + E^4 + E^5 - * = E + (E + E^2) (E + E * E^2) - */ - movaps %xmm13, %xmm6 - movaps %xmm13, %xmm3 - mulpd %xmm13, %xmm6 - mulpd %xmm6, %xmm3 - addpd %xmm13, %xmm6 - addpd %xmm13, %xmm3 - mulpd %xmm3, %xmm6 - addpd %xmm6, %xmm13 + /* + * Compute D = E + E^2 + E^3 + E^4 + E^5 + * = E + (E + E^2) (E + E * E^2) + */ + movaps %xmm13, %xmm6 + movaps %xmm13, %xmm3 + mulpd %xmm13, %xmm6 + mulpd %xmm6, %xmm3 + addpd %xmm13, %xmm6 + addpd %xmm13, %xmm3 + mulpd %xmm3, %xmm6 + addpd %xmm6, %xmm13 -/* - * Compute R * (VHi + VLo) * (1 + E + E^2 + E^3 + E^4 + E^5) - * = R * (VHi + VLo) * (1 + D) - * = QHi + (QHi * D + QLo + QLo * D) - */ - movaps %xmm13, %xmm1 - movaps %xmm11, %xmm5 - mulpd %xmm14, %xmm13 - mulpd %xmm2, %xmm1 - addpd %xmm13, %xmm14 - addpd %xmm14, %xmm1 + /* + * Compute R * (VHi + VLo) * (1 + E + E^2 + E^3 + E^4 + E^5) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + movaps %xmm13, %xmm1 + movaps %xmm11, %xmm5 + mulpd %xmm14, %xmm13 + mulpd %xmm2, %xmm1 + addpd %xmm13, %xmm14 + addpd %xmm14, %xmm1 -/* - * Now finally accumulate the high and low parts of the - * argument to log1p, H + L, with a final compensated summation. - */ - addpd %xmm1, %xmm2 - maxpd %xmm2, %xmm0 - minpd %xmm2, %xmm5 - andps %xmm7, %xmm2 - movaps %xmm0, %xmm4 - cmpltpd XThreshold+__svml_datanh_data_internal(%rip), %xmm2 - addpd %xmm5, %xmm4 - orps XhMask+__svml_datanh_data_internal(%rip), %xmm2 - movaps %xmm12, %xmm10 + /* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + addpd %xmm1, %xmm2 + maxpd %xmm2, %xmm0 + minpd %xmm2, %xmm5 + andps %xmm7, %xmm2 + movaps %xmm0, %xmm4 + cmpltpd XThreshold+__svml_datanh_data_internal(%rip), %xmm2 + addpd %xmm5, %xmm4 + orps XhMask+__svml_datanh_data_internal(%rip), %xmm2 + movaps %xmm12, %xmm10 -/* preserve mantissa, set input exponent to 2^(-10) */ - movups ExpMask+__svml_datanh_data_internal(%rip), %xmm7 - andps %xmm2, %xmm4 - andps %xmm4, %xmm7 + /* preserve mantissa, set input exponent to 2^(-10) */ + movups ExpMask+__svml_datanh_data_internal(%rip), %xmm7 + andps %xmm2, %xmm4 + andps %xmm4, %xmm7 -/* exponent bits */ - movaps %xmm4, %xmm6 - orps Two10+__svml_datanh_data_internal(%rip), %xmm7 - psrlq $20, %xmm6 + /* exponent bits */ + movaps %xmm4, %xmm6 + orps Two10+__svml_datanh_data_internal(%rip), %xmm7 + psrlq $20, %xmm6 -/* reciprocal approximation good to at least 11 bits */ - cvtpd2ps %xmm7, %xmm1 - subpd %xmm4, %xmm0 - mulpd %xmm12, %xmm10 - addpd %xmm0, %xmm5 - addpd %xmm12, %xmm10 - movlhps %xmm1, %xmm1 - rcpps %xmm1, %xmm15 - cvtps2pd %xmm15, %xmm3 + /* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm7, %xmm1 + subpd %xmm4, %xmm0 + mulpd %xmm12, %xmm10 + addpd %xmm0, %xmm5 + addpd %xmm12, %xmm10 + movlhps %xmm1, %xmm1 + rcpps %xmm1, %xmm15 + cvtps2pd %xmm15, %xmm3 -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - movups .FLT_21(%rip), %xmm1 - addpd %xmm1, %xmm3 - subpd %xmm1, %xmm3 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_21(%rip), %xmm1 + addpd %xmm1, %xmm3 + subpd %xmm1, %xmm3 -/* exponent of X needed to scale Xl */ - movdqu ExpMask0+__svml_datanh_data_internal(%rip), %xmm0 + /* exponent of X needed to scale Xl */ + movdqu ExpMask0+__svml_datanh_data_internal(%rip), %xmm0 -/* - * prepare table index - * table lookup - */ - movaps %xmm3, %xmm13 + /* + * prepare table index + * table lookup + */ + movaps %xmm3, %xmm13 -/* 2^ (-10-exp(X) ) */ - movdqu ExpMask2+__svml_datanh_data_internal(%rip), %xmm2 - pand %xmm4, %xmm0 - psubq %xmm0, %xmm2 + /* 2^ (-10-exp(X) ) */ + movdqu ExpMask2+__svml_datanh_data_internal(%rip), %xmm2 + pand %xmm4, %xmm0 + psubq %xmm0, %xmm2 -/* scale DblRcp */ - mulpd %xmm3, %xmm2 + /* scale DblRcp */ + mulpd %xmm3, %xmm2 -/* argument reduction */ - mulpd %xmm2, %xmm4 - mulpd %xmm2, %xmm5 - subpd %xmm11, %xmm4 - addpd %xmm5, %xmm4 + /* argument reduction */ + mulpd %xmm2, %xmm4 + mulpd %xmm2, %xmm5 + subpd %xmm11, %xmm4 + addpd %xmm5, %xmm4 -/* polynomial */ - movups poly_coeff+__svml_datanh_data_internal(%rip), %xmm11 - psrlq $40, %xmm13 - mulpd %xmm4, %xmm11 - movd %xmm13, %eax - pshufd $221, %xmm6, %xmm7 + /* polynomial */ + movups poly_coeff+__svml_datanh_data_internal(%rip), %xmm11 + psrlq $40, %xmm13 + mulpd %xmm4, %xmm11 + movd %xmm13, %eax + pshufd $221, %xmm6, %xmm7 -/* exponent*log(2.0) */ - movups Threshold+__svml_datanh_data_internal(%rip), %xmm6 - cmpltpd %xmm3, %xmm6 - addpd poly_coeff+16+__svml_datanh_data_internal(%rip), %xmm11 + /* exponent*log(2.0) */ + movups Threshold+__svml_datanh_data_internal(%rip), %xmm6 + cmpltpd %xmm3, %xmm6 + addpd poly_coeff+16+__svml_datanh_data_internal(%rip), %xmm11 -/* biased exponent in DP format */ - cvtdq2pd %xmm7, %xmm1 - movaps %xmm4, %xmm3 - mulpd %xmm4, %xmm3 - movups poly_coeff+32+__svml_datanh_data_internal(%rip), %xmm2 - mulpd %xmm4, %xmm2 - mulpd %xmm3, %xmm11 - addpd poly_coeff+48+__svml_datanh_data_internal(%rip), %xmm2 - addpd %xmm11, %xmm2 + /* biased exponent in DP format */ + cvtdq2pd %xmm7, %xmm1 + movaps %xmm4, %xmm3 + mulpd %xmm4, %xmm3 + movups poly_coeff+32+__svml_datanh_data_internal(%rip), %xmm2 + mulpd %xmm4, %xmm2 + mulpd %xmm3, %xmm11 + addpd poly_coeff+48+__svml_datanh_data_internal(%rip), %xmm2 + addpd %xmm11, %xmm2 -/* reconstruction */ - mulpd %xmm2, %xmm3 - andps Bias+__svml_datanh_data_internal(%rip), %xmm6 - orps Bias1+__svml_datanh_data_internal(%rip), %xmm6 - pshufd $2, %xmm13, %xmm14 - subpd %xmm6, %xmm1 - addpd %xmm3, %xmm4 - movd %xmm14, %ecx - mulpd L2+__svml_datanh_data_internal(%rip), %xmm1 - movslq %eax, %rax - movslq %ecx, %rcx + /* reconstruction */ + mulpd %xmm2, %xmm3 + andps Bias+__svml_datanh_data_internal(%rip), %xmm6 + orps Bias1+__svml_datanh_data_internal(%rip), %xmm6 + pshufd $2, %xmm13, %xmm14 + subpd %xmm6, %xmm1 + addpd %xmm3, %xmm4 + movd %xmm14, %ecx + mulpd L2+__svml_datanh_data_internal(%rip), %xmm1 + movslq %eax, %rax + movslq %ecx, %rcx -/* Record the sign for eventual reincorporation. */ - movups dSign+__svml_datanh_data_internal(%rip), %xmm8 - andps %xmm12, %xmm8 - movsd (%rsi,%rax), %xmm0 + /* Record the sign for eventual reincorporation. */ + movups dSign+__svml_datanh_data_internal(%rip), %xmm8 + andps %xmm12, %xmm8 + movsd (%rsi, %rax), %xmm0 -/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ - orps %xmm8, %xmm10 - movhpd (%rsi,%rcx), %xmm0 - andps %xmm9, %xmm10 - addpd %xmm4, %xmm0 - addpd %xmm0, %xmm1 + /* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + orps %xmm8, %xmm10 + movhpd (%rsi, %rcx), %xmm0 + andps %xmm9, %xmm10 + addpd %xmm4, %xmm0 + addpd %xmm0, %xmm1 -/* Finally, halve the result and reincorporate the sign */ - movups dHalf+__svml_datanh_data_internal(%rip), %xmm4 - movaps %xmm9, %xmm0 - pxor %xmm8, %xmm4 - mulpd %xmm1, %xmm4 - andnps %xmm4, %xmm0 - orps %xmm10, %xmm0 - testl %edx, %edx + /* Finally, halve the result and reincorporate the sign */ + movups dHalf+__svml_datanh_data_internal(%rip), %xmm4 + movaps %xmm9, %xmm0 + pxor %xmm8, %xmm4 + mulpd %xmm1, %xmm4 + andnps %xmm4, %xmm0 + orps %xmm10, %xmm0 + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx xmm0 xmm12 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx xmm0 xmm12 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm12, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx r12 r13 r14 r15 edx + movups %xmm12, 32(%rsp) + movups %xmm0, 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 + 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 - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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), %xmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 48(%rsp), %xmm0 -/* 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 xmm0 + /* 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 xmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call atanh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call atanh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN2v_atanh_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_datanh_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[4][2][2]; - __declspec(align(16)) VUINT32 ExpMask[2][2]; - __declspec(align(16)) VUINT32 Two10[2][2]; - __declspec(align(16)) VUINT32 MinLog1p[2][2]; - __declspec(align(16)) VUINT32 MaxLog1p[2][2]; - __declspec(align(16)) VUINT32 One[2][2]; - __declspec(align(16)) VUINT32 SgnMask[2][2]; - __declspec(align(16)) VUINT32 XThreshold[2][2]; - __declspec(align(16)) VUINT32 XhMask[2][2]; - __declspec(align(16)) VUINT32 Threshold[2][2]; - __declspec(align(16)) VUINT32 Bias[2][2]; - __declspec(align(16)) VUINT32 Bias1[2][2]; - __declspec(align(16)) VUINT32 ExpMask0[2][2]; - __declspec(align(16)) VUINT32 ExpMask2[2][2]; - __declspec(align(16)) VUINT32 L2[2][2]; - __declspec(align(16)) VUINT32 dHalf[2][2]; - __declspec(align(16)) VUINT32 dSign[2][2]; - __declspec(align(16)) VUINT32 dTopMask12[2][2]; - __declspec(align(16)) VUINT32 dTopMask41[2][2]; - __declspec(align(16)) VUINT32 TinyRange[2][2]; + __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[4][2][2]; + __declspec(align(16)) VUINT32 ExpMask[2][2]; + __declspec(align(16)) VUINT32 Two10[2][2]; + __declspec(align(16)) VUINT32 MinLog1p[2][2]; + __declspec(align(16)) VUINT32 MaxLog1p[2][2]; + __declspec(align(16)) VUINT32 One[2][2]; + __declspec(align(16)) VUINT32 SgnMask[2][2]; + __declspec(align(16)) VUINT32 XThreshold[2][2]; + __declspec(align(16)) VUINT32 XhMask[2][2]; + __declspec(align(16)) VUINT32 Threshold[2][2]; + __declspec(align(16)) VUINT32 Bias[2][2]; + __declspec(align(16)) VUINT32 Bias1[2][2]; + __declspec(align(16)) VUINT32 ExpMask0[2][2]; + __declspec(align(16)) VUINT32 ExpMask2[2][2]; + __declspec(align(16)) VUINT32 L2[2][2]; + __declspec(align(16)) VUINT32 dHalf[2][2]; + __declspec(align(16)) VUINT32 dSign[2][2]; + __declspec(align(16)) VUINT32 dTopMask12[2][2]; + __declspec(align(16)) VUINT32 dTopMask41[2][2]; + __declspec(align(16)) VUINT32 TinyRange[2][2]; } __svml_datanh_data_internal; #endif __svml_datanh_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 16 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 16 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 16 - .quad 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 16 - .quad 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 16 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 16 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 16 - .quad 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 16 - .quad 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 16 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 16 - .quad 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 16 - .quad 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 16 - .quad 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 16 - .quad 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 16 - .quad 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 16 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - /*== dHalf ==*/ - .align 16 - .quad 0x3FE0000000000000, 0x3FE0000000000000 - /*== dSign ==*/ - .align 16 - .quad 0x8000000000000000, 0x8000000000000000 - /*== dTopMask12 ==*/ - .align 16 - .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000 - /*== dTopMask41 ==*/ - .align 16 - .quad 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000 - /*== dTinyRange ==*/ - .align 16 - .quad 0x0350000000000000, 0x0350000000000000 - .align 16 - .type __svml_datanh_data_internal,@object - .size __svml_datanh_data_internal,.-__svml_datanh_data_internal - .align 16 + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 16 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 16 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 16 + .quad 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 16 + .quad 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 16 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 16 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 16 + .quad 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 16 + .quad 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 16 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 16 + .quad 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 16 + .quad 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 16 + .quad 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 16 + .quad 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 16 + .quad 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 16 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + /* dHalf */ + .align 16 + .quad 0x3FE0000000000000, 0x3FE0000000000000 + /* dSign */ + .align 16 + .quad 0x8000000000000000, 0x8000000000000000 + /* dTopMask12 */ + .align 16 + .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000 + /* dTopMask41 */ + .align 16 + .quad 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000 + /* dTinyRange */ + .align 16 + .quad 0x0350000000000000, 0x0350000000000000 + .align 16 + .type __svml_datanh_data_internal, @object + .size __svml_datanh_data_internal, .-__svml_datanh_data_internal + .align 16 .FLT_21: - .long 0x00000000,0x43380000,0x00000000,0x43380000 - .type .FLT_21,@object - .size .FLT_21,16 + .long 0x00000000, 0x43380000, 0x00000000, 0x43380000 + .type .FLT_21, @object + .size .FLT_21, 16 From patchwork Mon Mar 7 15:00:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602265 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Fhh6ybSj; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2Kx1NL7z9sFk for ; Tue, 8 Mar 2022 02:23:48 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A6B7C3858C39 for ; Mon, 7 Mar 2022 15:23:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A6B7C3858C39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666625; bh=rEXz18fWNDtrog/MpSnMUYO9XFZeUqep0p1ZVbBQhmI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Fhh6ybSjkz0CAsowVJRyUjaAY6vl62idnK1vhj5y4UDlkMhfmCK73NLQlHNhdSmHC EnQfkFJePvsD59qdgay8scB5f99Z/8dMkM9z2iec/E7LoSzS9CEGD0nufzkkt9QJA9 DZVDrpf4J+OLK9PfJxnDMpkKEOHTKuzPauFXVBlo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id B1C803858404 for ; Mon, 7 Mar 2022 15:02:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B1C803858404 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640454" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640454" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="641355938" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga002.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eF016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 041/126] x86_64: Fix svml_d_atanh4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:36 -0800 Message-Id: <20220307150201.10590-42-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atanh4_core_avx2.S | 2757 ++++++++--------- 1 file changed, 1378 insertions(+), 1379 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S index 22794d0e91..b5cbfd224c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh4_core_avx2.S @@ -32,1448 +32,1447 @@ /* Offsets for data table __svml_datanh_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8224 -#define poly_coeff 12352 -#define ExpMask 12480 -#define Two10 12512 -#define MinLog1p 12544 -#define MaxLog1p 12576 -#define One 12608 -#define SgnMask 12640 -#define XThreshold 12672 -#define XhMask 12704 -#define Threshold 12736 -#define Bias 12768 -#define Bias1 12800 -#define ExpMask0 12832 -#define ExpMask2 12864 -#define L2 12896 -#define dHalf 12928 -#define dSign 12960 -#define dTopMask12 12992 -#define dTopMask41 13024 -#define TinyRange 13056 +#define Log_HA_table 0 +#define Log_LA_table 8224 +#define poly_coeff 12352 +#define ExpMask 12480 +#define Two10 12512 +#define MinLog1p 12544 +#define MaxLog1p 12576 +#define One 12608 +#define SgnMask 12640 +#define XThreshold 12672 +#define XhMask 12704 +#define Threshold 12736 +#define Bias 12768 +#define Bias1 12800 +#define ExpMask0 12832 +#define ExpMask2 12864 +#define L2 12896 +#define dHalf 12928 +#define dSign 12960 +#define dTopMask12 12992 +#define dTopMask41 13024 +#define TinyRange 13056 /* Lookup bias for data table __svml_datanh_data_internal. */ -#define Table_Lookup_Bias -0x405fe0 +#define Table_Lookup_Bias -0x405fe0 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_atanh_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea Table_Lookup_Bias+__svml_datanh_data_internal(%rip), %r8 - vmovupd SgnMask+__svml_datanh_data_internal(%rip), %ymm7 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea Table_Lookup_Bias+__svml_datanh_data_internal(%rip), %r8 + vmovupd SgnMask+__svml_datanh_data_internal(%rip), %ymm7 -/* Load the constant 1 and a sign mask */ - vmovupd One+__svml_datanh_data_internal(%rip), %ymm11 - vmovapd %ymm0, %ymm12 + /* Load the constant 1 and a sign mask */ + vmovupd One+__svml_datanh_data_internal(%rip), %ymm11 + vmovapd %ymm0, %ymm12 -/* Strip off the sign, so treat X as positive until right at the end */ - vandpd %ymm7, %ymm12, %ymm0 - vsubpd %ymm0, %ymm11, %ymm6 + /* Strip off the sign, so treat X as positive until right at the end */ + vandpd %ymm7, %ymm12, %ymm0 + vsubpd %ymm0, %ymm11, %ymm6 -/* - * Check whether |X| < 1, in which case we use the main function. - * Otherwise set the rangemask so that the callout will get used. - * Note that this will also use the callout for NaNs since not(NaN < 1). - */ - vcmpnlt_uqpd %ymm11, %ymm0, %ymm13 - vcmplt_oqpd TinyRange+__svml_datanh_data_internal(%rip), %ymm0, %ymm10 - vsubpd %ymm6, %ymm11, %ymm15 + /* + * Check whether |X| < 1, in which case we use the main function. + * Otherwise set the rangemask so that the callout will get used. + * Note that this will also use the callout for NaNs since not(NaN < 1). + */ + vcmpnlt_uqpd %ymm11, %ymm0, %ymm13 + vcmplt_oqpd TinyRange+__svml_datanh_data_internal(%rip), %ymm0, %ymm10 + vsubpd %ymm6, %ymm11, %ymm15 -/* - * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, - * the upper part UHi being <= 41 bits long. Then we have - * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). - */ - vaddpd %ymm0, %ymm0, %ymm3 - vcvtpd2ps %ymm6, %xmm5 - vsubpd %ymm0, %ymm15, %ymm1 - vrcpps %xmm5, %xmm4 - vmovapd %ymm12, %ymm14 - vfmadd213pd %ymm12, %ymm12, %ymm14 - vcvtps2pd %xmm4, %ymm2 + /* + * Compute V = 2 * X trivially, and UHi + U_lo = 1 - X in two pieces, + * the upper part UHi being <= 41 bits long. Then we have + * atanh(X) = 1/2 * log((1 + X) / (1 - X)) = 1/2 * log1p(V / (UHi + ULo)). + */ + vaddpd %ymm0, %ymm0, %ymm3 + vcvtpd2ps %ymm6, %xmm5 + vsubpd %ymm0, %ymm15, %ymm1 + vrcpps %xmm5, %xmm4 + vmovapd %ymm12, %ymm14 + vfmadd213pd %ymm12, %ymm12, %ymm14 + vcvtps2pd %xmm4, %ymm2 -/* Record the sign for eventual reincorporation. */ - vandpd dSign+__svml_datanh_data_internal(%rip), %ymm12, %ymm9 + /* Record the sign for eventual reincorporation. */ + vandpd dSign+__svml_datanh_data_internal(%rip), %ymm12, %ymm9 -/* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ - vorpd %ymm9, %ymm14, %ymm8 - vandpd dTopMask12+__svml_datanh_data_internal(%rip), %ymm2, %ymm14 + /* Or the sign bit in with the tiny result to handle atanh(-0) correctly */ + vorpd %ymm9, %ymm14, %ymm8 + vandpd dTopMask12+__svml_datanh_data_internal(%rip), %ymm2, %ymm14 -/* No need to split dU when FMA is available */ - vfnmadd213pd %ymm11, %ymm14, %ymm6 - vfnmadd231pd %ymm14, %ymm1, %ymm6 + /* No need to split dU when FMA is available */ + vfnmadd213pd %ymm11, %ymm14, %ymm6 + vfnmadd231pd %ymm14, %ymm1, %ymm6 -/* - * Compute D = E + E^2 + E^3 + E^4 + E^5 - * = E + (E + E^2) (E + E * E^2) - * Only saves when FMA is available - */ - vmovapd %ymm11, %ymm0 - vmovapd %ymm6, %ymm5 - vfmadd231pd %ymm6, %ymm6, %ymm0 - vfmadd213pd %ymm6, %ymm6, %ymm5 - vfmadd213pd %ymm11, %ymm0, %ymm5 - vmovmskpd %ymm13, %eax + /* + * Compute D = E + E^2 + E^3 + E^4 + E^5 + * = E + (E + E^2) (E + E * E^2) + * Only saves when FMA is available + */ + vmovapd %ymm11, %ymm0 + vmovapd %ymm6, %ymm5 + vfmadd231pd %ymm6, %ymm6, %ymm0 + vfmadd213pd %ymm6, %ymm6, %ymm5 + vfmadd213pd %ymm11, %ymm0, %ymm5 + vmovmskpd %ymm13, %eax -/* - * Split V as well into upper 41 bits and lower part, so that we can get - * a preliminary quotient estimate without rounding error. - */ - vandpd dTopMask41+__svml_datanh_data_internal(%rip), %ymm3, %ymm13 - vsubpd %ymm13, %ymm3, %ymm15 + /* + * Split V as well into upper 41 bits and lower part, so that we can get + * a preliminary quotient estimate without rounding error. + */ + vandpd dTopMask41+__svml_datanh_data_internal(%rip), %ymm3, %ymm13 + vsubpd %ymm13, %ymm3, %ymm15 -/* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ - vmulpd %ymm13, %ymm14, %ymm2 - vmulpd %ymm5, %ymm6, %ymm0 - vmulpd %ymm15, %ymm14, %ymm4 + /* Hence get initial quotient estimate QHi + QLo = R * VHi + R * VLo */ + vmulpd %ymm13, %ymm14, %ymm2 + vmulpd %ymm5, %ymm6, %ymm0 + vmulpd %ymm15, %ymm14, %ymm4 -/* 2^ (-10-exp(X) ) */ - vmovupd ExpMask2+__svml_datanh_data_internal(%rip), %ymm15 + /* 2^ (-10-exp(X) ) */ + vmovupd ExpMask2+__svml_datanh_data_internal(%rip), %ymm15 -/* - * Compute R * (VHi + VLo) * (1 + E + E^2 + E^3 + E^4 + E^5) - * = R * (VHi + VLo) * (1 + D) - * = QHi + (QHi * D + QLo + QLo * D) - */ - vmulpd %ymm0, %ymm2, %ymm6 - vfmadd213pd %ymm4, %ymm4, %ymm0 - vaddpd %ymm0, %ymm6, %ymm5 + /* + * Compute R * (VHi + VLo) * (1 + E + E^2 + E^3 + E^4 + E^5) + * = R * (VHi + VLo) * (1 + D) + * = QHi + (QHi * D + QLo + QLo * D) + */ + vmulpd %ymm0, %ymm2, %ymm6 + vfmadd213pd %ymm4, %ymm4, %ymm0 + vaddpd %ymm0, %ymm6, %ymm5 -/* - * Now finally accumulate the high and low parts of the - * argument to log1p, H + L, with a final compensated summation. - */ - vaddpd %ymm5, %ymm2, %ymm4 + /* + * Now finally accumulate the high and low parts of the + * argument to log1p, H + L, with a final compensated summation. + */ + vaddpd %ymm5, %ymm2, %ymm4 -/* - * Now we feed into the log1p code, using H in place of _VARG1 and - * later incorporating L into the reduced argument. - * compute 1+x as high, low parts - */ - vmaxpd %ymm4, %ymm11, %ymm1 - vminpd %ymm4, %ymm11, %ymm3 - vandpd %ymm7, %ymm4, %ymm7 - vcmplt_oqpd XThreshold+__svml_datanh_data_internal(%rip), %ymm7, %ymm0 - vaddpd %ymm3, %ymm1, %ymm5 - vorpd XhMask+__svml_datanh_data_internal(%rip), %ymm0, %ymm4 - vandpd %ymm4, %ymm5, %ymm5 + /* + * Now we feed into the log1p code, using H in place of _VARG1 and + * later incorporating L into the reduced argument. + * compute 1+x as high, low parts + */ + vmaxpd %ymm4, %ymm11, %ymm1 + vminpd %ymm4, %ymm11, %ymm3 + vandpd %ymm7, %ymm4, %ymm7 + vcmplt_oqpd XThreshold+__svml_datanh_data_internal(%rip), %ymm7, %ymm0 + vaddpd %ymm3, %ymm1, %ymm5 + vorpd XhMask+__svml_datanh_data_internal(%rip), %ymm0, %ymm4 + vandpd %ymm4, %ymm5, %ymm5 -/* preserve mantissa, set input exponent to 2^(-10) */ - vandpd ExpMask+__svml_datanh_data_internal(%rip), %ymm5, %ymm6 - vorpd Two10+__svml_datanh_data_internal(%rip), %ymm6, %ymm7 + /* preserve mantissa, set input exponent to 2^(-10) */ + vandpd ExpMask+__svml_datanh_data_internal(%rip), %ymm5, %ymm6 + vorpd Two10+__svml_datanh_data_internal(%rip), %ymm6, %ymm7 -/* reciprocal approximation good to at least 11 bits */ - vcvtpd2ps %ymm7, %xmm13 - vsubpd %ymm5, %ymm1, %ymm2 - vrcpps %xmm13, %xmm14 - vaddpd %ymm2, %ymm3, %ymm4 - vcvtps2pd %xmm14, %ymm3 + /* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm7, %xmm13 + vsubpd %ymm5, %ymm1, %ymm2 + vrcpps %xmm13, %xmm14 + vaddpd %ymm2, %ymm3, %ymm4 + vcvtps2pd %xmm14, %ymm3 -/* exponent bits */ - vpsrlq $20, %ymm5, %ymm2 + /* exponent bits */ + vpsrlq $20, %ymm5, %ymm2 -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - vroundpd $0, %ymm3, %ymm3 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm3, %ymm3 -/* - * prepare table index - * table lookup - */ - vpsrlq $40, %ymm3, %ymm13 + /* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm13 -/* exponent of X needed to scale Xl */ - vandps ExpMask0+__svml_datanh_data_internal(%rip), %ymm5, %ymm0 - vpsubq %ymm0, %ymm15, %ymm6 + /* exponent of X needed to scale Xl */ + vandps ExpMask0+__svml_datanh_data_internal(%rip), %ymm5, %ymm0 + vpsubq %ymm0, %ymm15, %ymm6 -/* Finally, halve the result and reincorporate the sign */ - vxorpd dHalf+__svml_datanh_data_internal(%rip), %ymm9, %ymm9 - vmovd %xmm13, %edx - vextractf128 $1, %ymm13, %xmm0 - movslq %edx, %rdx - vpextrd $2, %xmm13, %ecx - movslq %ecx, %rcx - vmovd %xmm0, %esi - vmovsd (%r8,%rdx), %xmm14 - vmovhpd (%r8,%rcx), %xmm14, %xmm15 + /* Finally, halve the result and reincorporate the sign */ + vxorpd dHalf+__svml_datanh_data_internal(%rip), %ymm9, %ymm9 + vmovd %xmm13, %edx + vextractf128 $1, %ymm13, %xmm0 + movslq %edx, %rdx + vpextrd $2, %xmm13, %ecx + movslq %ecx, %rcx + vmovd %xmm0, %esi + vmovsd (%r8, %rdx), %xmm14 + vmovhpd (%r8, %rcx), %xmm14, %xmm15 -/* exponent*log(2.0) */ - vmovupd Threshold+__svml_datanh_data_internal(%rip), %ymm14 - movslq %esi, %rsi - vpextrd $2, %xmm0, %edi - movslq %edi, %rdi - vextractf128 $1, %ymm2, %xmm1 - vshufps $221, %xmm1, %xmm2, %xmm7 + /* exponent*log(2.0) */ + vmovupd Threshold+__svml_datanh_data_internal(%rip), %ymm14 + movslq %esi, %rsi + vpextrd $2, %xmm0, %edi + movslq %edi, %rdi + vextractf128 $1, %ymm2, %xmm1 + vshufps $221, %xmm1, %xmm2, %xmm7 -/* scale DblRcp */ - vmulpd %ymm6, %ymm3, %ymm2 - vmovsd (%r8,%rsi), %xmm6 + /* scale DblRcp */ + vmulpd %ymm6, %ymm3, %ymm2 + vmovsd (%r8, %rsi), %xmm6 -/* biased exponent in DP format */ - vcvtdq2pd %xmm7, %ymm1 - vmovhpd (%r8,%rdi), %xmm6, %xmm7 - vcmplt_oqpd %ymm3, %ymm14, %ymm3 + /* biased exponent in DP format */ + vcvtdq2pd %xmm7, %ymm1 + vmovhpd (%r8, %rdi), %xmm6, %xmm7 + vcmplt_oqpd %ymm3, %ymm14, %ymm3 -/* argument reduction */ - vfmsub213pd %ymm11, %ymm2, %ymm5 - vmulpd %ymm2, %ymm4, %ymm11 - vmovupd poly_coeff+64+__svml_datanh_data_internal(%rip), %ymm2 - vaddpd %ymm11, %ymm5, %ymm5 - vandpd Bias+__svml_datanh_data_internal(%rip), %ymm3, %ymm3 - vorpd Bias1+__svml_datanh_data_internal(%rip), %ymm3, %ymm6 - vsubpd %ymm6, %ymm1, %ymm1 - vfmadd213pd poly_coeff+96+__svml_datanh_data_internal(%rip), %ymm5, %ymm2 - vmulpd %ymm5, %ymm5, %ymm4 - vmulpd L2+__svml_datanh_data_internal(%rip), %ymm1, %ymm3 + /* argument reduction */ + vfmsub213pd %ymm11, %ymm2, %ymm5 + vmulpd %ymm2, %ymm4, %ymm11 + vmovupd poly_coeff+64+__svml_datanh_data_internal(%rip), %ymm2 + vaddpd %ymm11, %ymm5, %ymm5 + vandpd Bias+__svml_datanh_data_internal(%rip), %ymm3, %ymm3 + vorpd Bias1+__svml_datanh_data_internal(%rip), %ymm3, %ymm6 + vsubpd %ymm6, %ymm1, %ymm1 + vfmadd213pd poly_coeff+96+__svml_datanh_data_internal(%rip), %ymm5, %ymm2 + vmulpd %ymm5, %ymm5, %ymm4 + vmulpd L2+__svml_datanh_data_internal(%rip), %ymm1, %ymm3 -/* polynomial */ - vmovupd poly_coeff+__svml_datanh_data_internal(%rip), %ymm1 - vfmadd213pd poly_coeff+32+__svml_datanh_data_internal(%rip), %ymm5, %ymm1 - vfmadd213pd %ymm2, %ymm4, %ymm1 + /* polynomial */ + vmovupd poly_coeff+__svml_datanh_data_internal(%rip), %ymm1 + vfmadd213pd poly_coeff+32+__svml_datanh_data_internal(%rip), %ymm5, %ymm1 + vfmadd213pd %ymm2, %ymm4, %ymm1 -/* reconstruction */ - vfmadd213pd %ymm5, %ymm4, %ymm1 - vinsertf128 $1, %xmm7, %ymm15, %ymm0 - vaddpd %ymm1, %ymm0, %ymm0 - vaddpd %ymm0, %ymm3, %ymm6 - vmulpd %ymm6, %ymm9, %ymm0 - vblendvpd %ymm10, %ymm8, %ymm0, %ymm0 - testl %eax, %eax + /* reconstruction */ + vfmadd213pd %ymm5, %ymm4, %ymm1 + vinsertf128 $1, %xmm7, %ymm15, %ymm0 + vaddpd %ymm1, %ymm0, %ymm0 + vaddpd %ymm0, %ymm3, %ymm6 + vmulpd %ymm6, %ymm9, %ymm0 + vblendvpd %ymm10, %ymm8, %ymm0, %ymm0 + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm12 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm12 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd %ymm12, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 + vmovupd %ymm12, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call atanh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call atanh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_atanh_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_datanh_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; - __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; - __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; - __declspec(align(32)) VUINT32 ExpMask[4][2]; - __declspec(align(32)) VUINT32 Two10[4][2]; - __declspec(align(32)) VUINT32 MinLog1p[4][2]; - __declspec(align(32)) VUINT32 MaxLog1p[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 SgnMask[4][2]; - __declspec(align(32)) VUINT32 XThreshold[4][2]; - __declspec(align(32)) VUINT32 XhMask[4][2]; - __declspec(align(32)) VUINT32 Threshold[4][2]; - __declspec(align(32)) VUINT32 Bias[4][2]; - __declspec(align(32)) VUINT32 Bias1[4][2]; - __declspec(align(32)) VUINT32 ExpMask0[4][2]; - __declspec(align(32)) VUINT32 ExpMask2[4][2]; - __declspec(align(32)) VUINT32 L2[4][2]; - __declspec(align(32)) VUINT32 dHalf[4][2]; - __declspec(align(32)) VUINT32 dSign[4][2]; - __declspec(align(32)) VUINT32 dTopMask12[4][2]; - __declspec(align(32)) VUINT32 dTopMask41[4][2]; - __declspec(align(32)) VUINT32 TinyRange[4][2]; + __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; + __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; + __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; + __declspec(align(32)) VUINT32 ExpMask[4][2]; + __declspec(align(32)) VUINT32 Two10[4][2]; + __declspec(align(32)) VUINT32 MinLog1p[4][2]; + __declspec(align(32)) VUINT32 MaxLog1p[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 SgnMask[4][2]; + __declspec(align(32)) VUINT32 XThreshold[4][2]; + __declspec(align(32)) VUINT32 XhMask[4][2]; + __declspec(align(32)) VUINT32 Threshold[4][2]; + __declspec(align(32)) VUINT32 Bias[4][2]; + __declspec(align(32)) VUINT32 Bias1[4][2]; + __declspec(align(32)) VUINT32 ExpMask0[4][2]; + __declspec(align(32)) VUINT32 ExpMask2[4][2]; + __declspec(align(32)) VUINT32 L2[4][2]; + __declspec(align(32)) VUINT32 dHalf[4][2]; + __declspec(align(32)) VUINT32 dSign[4][2]; + __declspec(align(32)) VUINT32 dTopMask12[4][2]; + __declspec(align(32)) VUINT32 dTopMask41[4][2]; + __declspec(align(32)) VUINT32 TinyRange[4][2]; } __svml_datanh_data_internal; #endif __svml_datanh_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 32 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 32 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 32 - .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 32 - .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 32 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 32 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 32 - .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 32 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 32 - .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 32 - .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 32 - .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 32 - .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 32 - .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 32 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - /*== dHalf ==*/ - .align 32 - .quad 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000 - /*== dSign ==*/ - .align 32 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 - /*== dTopMask12 ==*/ - .align 32 - .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000 - /*== dTopMask41 ==*/ - .align 32 - .quad 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000 - /*== dTinyRange ==*/ - .align 32 - .quad 0x0350000000000000, 0x0350000000000000, 0x0350000000000000, 0x0350000000000000 - .align 32 - .type __svml_datanh_data_internal,@object - .size __svml_datanh_data_internal,.-__svml_datanh_data_internal + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 32 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 32 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 32 + .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 32 + .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 32 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 32 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 32 + .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 32 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 32 + .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 32 + .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 32 + .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 32 + .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 32 + .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 32 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + /* dHalf */ + .align 32 + .quad 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000 + /* dSign */ + .align 32 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 + /* dTopMask12 */ + .align 32 + .quad 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000, 0xFFFFFE0000000000 + /* dTopMask41 */ + .align 32 + .quad 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000, 0xFFFFFFFFFFFFF000 + /* dTinyRange */ + .align 32 + .quad 0x0350000000000000, 0x0350000000000000, 0x0350000000000000, 0x0350000000000000 + .align 32 + .type __svml_datanh_data_internal, @object + .size __svml_datanh_data_internal, .-__svml_datanh_data_internal From patchwork Mon Mar 7 15:00:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602244 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=IHKhWW27; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2086Z90z9s8s for ; Tue, 8 Mar 2022 02:08:24 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6BF56385842B for ; Mon, 7 Mar 2022 15:08:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6BF56385842B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665702; bh=lit2u+BQhMUFL8WfbIufJSuKDUn3rE6gdW8iZ8Qvv9o=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=IHKhWW278fc0lo+MD5U78aBJfjUCHu9oSrZ8LjPKyxSn80MvFSAqTLXCGWX3KPRQB ushJUhDT2kCls9GCVJFq3sV+017tWIHFj0+iDaIEEoA092pfsLb2YRSuJ+4SQ9pRho wIpZdh+gJTnyclXkW9SZ50ERzWJtXOVHI1WoRrlA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 21A1A3858418 for ; Mon, 7 Mar 2022 15:02:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 21A1A3858418 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347776" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347776" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="780351106" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eG016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 042/126] x86_64: Fix svml_d_atanh8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:37 -0800 Message-Id: <20220307150201.10590-43-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_atanh8_core_avx512.S | 679 +++++++++--------- 1 file changed, 339 insertions(+), 340 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S index 797d9d48a4..3193c026dd 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_atanh8_core_avx512.S @@ -33,369 +33,368 @@ /* Offsets for data table __svml_datanh_data_internal_avx512 */ -#define Log_tbl_H 0 -#define Log_tbl_L 128 -#define One 256 -#define AbsMask 320 -#define AddB5 384 -#define RcpBitMask 448 -#define poly_coeff8 512 -#define poly_coeff7 576 -#define poly_coeff6 640 -#define poly_coeff5 704 -#define poly_coeff4 768 -#define poly_coeff3 832 -#define poly_coeff2 896 -#define poly_coeff1 960 -#define poly_coeff0 1024 -#define Half 1088 -#define L2H 1152 -#define L2L 1216 +#define Log_tbl_H 0 +#define Log_tbl_L 128 +#define One 256 +#define AbsMask 320 +#define AddB5 384 +#define RcpBitMask 448 +#define poly_coeff8 512 +#define poly_coeff7 576 +#define poly_coeff6 640 +#define poly_coeff5 704 +#define poly_coeff4 768 +#define poly_coeff3 832 +#define poly_coeff2 896 +#define poly_coeff1 960 +#define poly_coeff0 1024 +#define Half 1088 +#define L2H 1152 +#define L2L 1216 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_atanh_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups One+__svml_datanh_data_internal_avx512(%rip), %zmm15 - -/* round reciprocals to 1+4b mantissas */ - vmovups AddB5+__svml_datanh_data_internal_avx512(%rip), %zmm6 - vmovups RcpBitMask+__svml_datanh_data_internal_avx512(%rip), %zmm9 - vmovaps %zmm0, %zmm2 - vandpd AbsMask+__svml_datanh_data_internal_avx512(%rip), %zmm2, %zmm13 - -/* 1+y */ - vaddpd {rn-sae}, %zmm15, %zmm13, %zmm0 - -/* 1-y */ - vsubpd {rn-sae}, %zmm13, %zmm15, %zmm4 - vxorpd %zmm13, %zmm2, %zmm1 - -/* Yp_high */ - vsubpd {rn-sae}, %zmm15, %zmm0, %zmm7 - -/* -Ym_high */ - vsubpd {rn-sae}, %zmm15, %zmm4, %zmm12 - -/* RcpP ~ 1/Yp */ - vrcp14pd %zmm0, %zmm3 - -/* RcpM ~ 1/Ym */ - vrcp14pd %zmm4, %zmm5 - -/* input outside (-1, 1) ? */ - vcmppd $21, {sae}, %zmm15, %zmm13, %k0 - vpaddq %zmm6, %zmm3, %zmm11 - vpaddq %zmm6, %zmm5, %zmm10 - -/* Yp_low */ - vsubpd {rn-sae}, %zmm7, %zmm13, %zmm8 - vandpd %zmm9, %zmm11, %zmm14 - vandpd %zmm9, %zmm10, %zmm3 - -/* Ym_low */ - vaddpd {rn-sae}, %zmm12, %zmm13, %zmm12 - -/* Reduced argument: Rp = (RcpP*Yp - 1)+RcpP*Yp_low */ - vfmsub213pd {rn-sae}, %zmm15, %zmm14, %zmm0 - -/* Reduced argument: Rm = (RcpM*Ym - 1)+RcpM*Ym_low */ - vfmsub231pd {rn-sae}, %zmm3, %zmm4, %zmm15 - -/* exponents */ - vgetexppd {sae}, %zmm14, %zmm5 - vgetexppd {sae}, %zmm3, %zmm4 - -/* Table lookups */ - vmovups __svml_datanh_data_internal_avx512(%rip), %zmm9 - vmovups Log_tbl_H+64+__svml_datanh_data_internal_avx512(%rip), %zmm13 - vmovups Log_tbl_L+__svml_datanh_data_internal_avx512(%rip), %zmm7 - vfmadd231pd {rn-sae}, %zmm14, %zmm8, %zmm0 - vfnmadd231pd {rn-sae}, %zmm3, %zmm12, %zmm15 - -/* Prepare table index */ - vpsrlq $48, %zmm14, %zmm11 - vpsrlq $48, %zmm3, %zmm8 - vmovups Log_tbl_L+64+__svml_datanh_data_internal_avx512(%rip), %zmm14 - -/* polynomials */ - vmovups poly_coeff8+__svml_datanh_data_internal_avx512(%rip), %zmm3 - -/* Km-Kp */ - vsubpd {rn-sae}, %zmm5, %zmm4, %zmm5 - vmovups poly_coeff7+__svml_datanh_data_internal_avx512(%rip), %zmm4 - kmovw %k0, %edx - vmovaps %zmm11, %zmm10 - vmovaps %zmm4, %zmm6 - vpermi2pd %zmm13, %zmm9, %zmm10 - vpermi2pd %zmm14, %zmm7, %zmm11 - vpermt2pd %zmm13, %zmm8, %zmm9 - vpermt2pd %zmm14, %zmm8, %zmm7 - vmovups poly_coeff6+__svml_datanh_data_internal_avx512(%rip), %zmm8 - vfmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm6 - vfmadd231pd {rn-sae}, %zmm15, %zmm3, %zmm4 - vmovups poly_coeff3+__svml_datanh_data_internal_avx512(%rip), %zmm13 - vmovups poly_coeff2+__svml_datanh_data_internal_avx512(%rip), %zmm14 - vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm6 - vfmadd213pd {rn-sae}, %zmm8, %zmm15, %zmm4 - vmovups poly_coeff0+__svml_datanh_data_internal_avx512(%rip), %zmm8 - vsubpd {rn-sae}, %zmm11, %zmm7, %zmm12 - -/* table values */ - vsubpd {rn-sae}, %zmm10, %zmm9, %zmm3 - vmovups poly_coeff5+__svml_datanh_data_internal_avx512(%rip), %zmm7 - vmovups poly_coeff4+__svml_datanh_data_internal_avx512(%rip), %zmm9 - -/* K*L2H + Th */ - vmovups L2H+__svml_datanh_data_internal_avx512(%rip), %zmm10 - -/* K*L2L + Tl */ - vmovups L2L+__svml_datanh_data_internal_avx512(%rip), %zmm11 - vfmadd213pd {rn-sae}, %zmm7, %zmm0, %zmm6 - vfmadd213pd {rn-sae}, %zmm7, %zmm15, %zmm4 - vmovups poly_coeff1+__svml_datanh_data_internal_avx512(%rip), %zmm7 - vfmadd231pd {rn-sae}, %zmm5, %zmm10, %zmm3 - vfmadd213pd {rn-sae}, %zmm12, %zmm11, %zmm5 - vfmadd213pd {rn-sae}, %zmm9, %zmm0, %zmm6 - vfmadd213pd {rn-sae}, %zmm9, %zmm15, %zmm4 - vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm6 - vfmadd213pd {rn-sae}, %zmm13, %zmm15, %zmm4 - vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm6 - vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm4 - vfmadd213pd {rn-sae}, %zmm7, %zmm0, %zmm6 - vfmadd213pd {rn-sae}, %zmm7, %zmm15, %zmm4 - vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm6 - vfmadd213pd {rn-sae}, %zmm8, %zmm15, %zmm4 - -/* (K*L2L + Tl) + Rp*PolyP */ - vfmadd213pd {rn-sae}, %zmm5, %zmm0, %zmm6 - vorpd Half+__svml_datanh_data_internal_avx512(%rip), %zmm1, %zmm0 - -/* (K*L2L + Tl) + Rp*PolyP -Rm*PolyM */ - vfnmadd213pd {rn-sae}, %zmm6, %zmm15, %zmm4 - vaddpd {rn-sae}, %zmm4, %zmm3, %zmm1 - vmulpd {rn-sae}, %zmm0, %zmm1, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups One+__svml_datanh_data_internal_avx512(%rip), %zmm15 + + /* round reciprocals to 1+4b mantissas */ + vmovups AddB5+__svml_datanh_data_internal_avx512(%rip), %zmm6 + vmovups RcpBitMask+__svml_datanh_data_internal_avx512(%rip), %zmm9 + vmovaps %zmm0, %zmm2 + vandpd AbsMask+__svml_datanh_data_internal_avx512(%rip), %zmm2, %zmm13 + + /* 1+y */ + vaddpd {rn-sae}, %zmm15, %zmm13, %zmm0 + + /* 1-y */ + vsubpd {rn-sae}, %zmm13, %zmm15, %zmm4 + vxorpd %zmm13, %zmm2, %zmm1 + + /* Yp_high */ + vsubpd {rn-sae}, %zmm15, %zmm0, %zmm7 + + /* -Ym_high */ + vsubpd {rn-sae}, %zmm15, %zmm4, %zmm12 + + /* RcpP ~ 1/Yp */ + vrcp14pd %zmm0, %zmm3 + + /* RcpM ~ 1/Ym */ + vrcp14pd %zmm4, %zmm5 + + /* input outside (-1, 1) ? */ + vcmppd $21, {sae}, %zmm15, %zmm13, %k0 + vpaddq %zmm6, %zmm3, %zmm11 + vpaddq %zmm6, %zmm5, %zmm10 + + /* Yp_low */ + vsubpd {rn-sae}, %zmm7, %zmm13, %zmm8 + vandpd %zmm9, %zmm11, %zmm14 + vandpd %zmm9, %zmm10, %zmm3 + + /* Ym_low */ + vaddpd {rn-sae}, %zmm12, %zmm13, %zmm12 + + /* Reduced argument: Rp = (RcpP*Yp - 1)+RcpP*Yp_low */ + vfmsub213pd {rn-sae}, %zmm15, %zmm14, %zmm0 + + /* Reduced argument: Rm = (RcpM*Ym - 1)+RcpM*Ym_low */ + vfmsub231pd {rn-sae}, %zmm3, %zmm4, %zmm15 + + /* exponents */ + vgetexppd {sae}, %zmm14, %zmm5 + vgetexppd {sae}, %zmm3, %zmm4 + + /* Table lookups */ + vmovups __svml_datanh_data_internal_avx512(%rip), %zmm9 + vmovups Log_tbl_H+64+__svml_datanh_data_internal_avx512(%rip), %zmm13 + vmovups Log_tbl_L+__svml_datanh_data_internal_avx512(%rip), %zmm7 + vfmadd231pd {rn-sae}, %zmm14, %zmm8, %zmm0 + vfnmadd231pd {rn-sae}, %zmm3, %zmm12, %zmm15 + + /* Prepare table index */ + vpsrlq $48, %zmm14, %zmm11 + vpsrlq $48, %zmm3, %zmm8 + vmovups Log_tbl_L+64+__svml_datanh_data_internal_avx512(%rip), %zmm14 + + /* polynomials */ + vmovups poly_coeff8+__svml_datanh_data_internal_avx512(%rip), %zmm3 + + /* Km-Kp */ + vsubpd {rn-sae}, %zmm5, %zmm4, %zmm5 + vmovups poly_coeff7+__svml_datanh_data_internal_avx512(%rip), %zmm4 + kmovw %k0, %edx + vmovaps %zmm11, %zmm10 + vmovaps %zmm4, %zmm6 + vpermi2pd %zmm13, %zmm9, %zmm10 + vpermi2pd %zmm14, %zmm7, %zmm11 + vpermt2pd %zmm13, %zmm8, %zmm9 + vpermt2pd %zmm14, %zmm8, %zmm7 + vmovups poly_coeff6+__svml_datanh_data_internal_avx512(%rip), %zmm8 + vfmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm6 + vfmadd231pd {rn-sae}, %zmm15, %zmm3, %zmm4 + vmovups poly_coeff3+__svml_datanh_data_internal_avx512(%rip), %zmm13 + vmovups poly_coeff2+__svml_datanh_data_internal_avx512(%rip), %zmm14 + vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm6 + vfmadd213pd {rn-sae}, %zmm8, %zmm15, %zmm4 + vmovups poly_coeff0+__svml_datanh_data_internal_avx512(%rip), %zmm8 + vsubpd {rn-sae}, %zmm11, %zmm7, %zmm12 + + /* table values */ + vsubpd {rn-sae}, %zmm10, %zmm9, %zmm3 + vmovups poly_coeff5+__svml_datanh_data_internal_avx512(%rip), %zmm7 + vmovups poly_coeff4+__svml_datanh_data_internal_avx512(%rip), %zmm9 + + /* K*L2H + Th */ + vmovups L2H+__svml_datanh_data_internal_avx512(%rip), %zmm10 + + /* K*L2L + Tl */ + vmovups L2L+__svml_datanh_data_internal_avx512(%rip), %zmm11 + vfmadd213pd {rn-sae}, %zmm7, %zmm0, %zmm6 + vfmadd213pd {rn-sae}, %zmm7, %zmm15, %zmm4 + vmovups poly_coeff1+__svml_datanh_data_internal_avx512(%rip), %zmm7 + vfmadd231pd {rn-sae}, %zmm5, %zmm10, %zmm3 + vfmadd213pd {rn-sae}, %zmm12, %zmm11, %zmm5 + vfmadd213pd {rn-sae}, %zmm9, %zmm0, %zmm6 + vfmadd213pd {rn-sae}, %zmm9, %zmm15, %zmm4 + vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm6 + vfmadd213pd {rn-sae}, %zmm13, %zmm15, %zmm4 + vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm6 + vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm4 + vfmadd213pd {rn-sae}, %zmm7, %zmm0, %zmm6 + vfmadd213pd {rn-sae}, %zmm7, %zmm15, %zmm4 + vfmadd213pd {rn-sae}, %zmm8, %zmm0, %zmm6 + vfmadd213pd {rn-sae}, %zmm8, %zmm15, %zmm4 + + /* (K*L2L + Tl) + Rp*PolyP */ + vfmadd213pd {rn-sae}, %zmm5, %zmm0, %zmm6 + vorpd Half+__svml_datanh_data_internal_avx512(%rip), %zmm1, %zmm0 + + /* (K*L2L + Tl) + Rp*PolyP -Rm*PolyM */ + vfnmadd213pd {rn-sae}, %zmm6, %zmm15, %zmm4 + vaddpd {rn-sae}, %zmm4, %zmm3, %zmm1 + vmulpd {rn-sae}, %zmm0, %zmm1, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm2, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm2, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call atanh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call atanh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_atanh_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_datanh_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl_H[16][2]; - __declspec(align(64)) VUINT32 Log_tbl_L[16][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 AbsMask[8][2]; - __declspec(align(64)) VUINT32 AddB5[8][2]; - __declspec(align(64)) VUINT32 RcpBitMask[8][2]; - __declspec(align(64)) VUINT32 poly_coeff8[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - __declspec(align(64)) VUINT32 poly_coeff0[8][2]; - __declspec(align(64)) VUINT32 Half[8][2]; - __declspec(align(64)) VUINT32 L2H[8][2]; - __declspec(align(64)) VUINT32 L2L[8][2]; - } __svml_datanh_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl_H[16][2]; + __declspec(align(64)) VUINT32 Log_tbl_L[16][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 AbsMask[8][2]; + __declspec(align(64)) VUINT32 AddB5[8][2]; + __declspec(align(64)) VUINT32 RcpBitMask[8][2]; + __declspec(align(64)) VUINT32 poly_coeff8[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; + __declspec(align(64)) VUINT32 poly_coeff0[8][2]; + __declspec(align(64)) VUINT32 Half[8][2]; + __declspec(align(64)) VUINT32 L2H[8][2]; + __declspec(align(64)) VUINT32 L2L[8][2]; +} __svml_datanh_data_internal_avx512; #endif __svml_datanh_data_internal_avx512: - /*== Log_tbl_H ==*/ - .quad 0x0000000000000000 - .quad 0x3faf0a30c0100000 - .quad 0x3fbe27076e2a0000 - .quad 0x3fc5ff3070a80000 - .quad 0x3fcc8ff7c79b0000 - .quad 0x3fd1675cabab8000 - .quad 0x3fd4618bc21c8000 - .quad 0x3fd739d7f6bc0000 - .quad 0x3fd9f323ecbf8000 - .quad 0x3fdc8ff7c79a8000 - .quad 0x3fdf128f5faf0000 - .quad 0x3fe0be72e4254000 - .quad 0x3fe1e85f5e704000 - .quad 0x3fe307d7334f0000 - .quad 0x3fe41d8fe8468000 - .quad 0x3fe52a2d265bc000 - /*== Log_tbl_L ==*/ - .align 64 - .quad 0x0000000000000000 - .quad 0x3d662a6617cc9717 - .quad 0x3d6e5cbd3d50fffc - .quad 0xbd6b0b0de3077d7e - .quad 0xbd697794f689f843 - .quad 0x3d630701ce63eab9 - .quad 0xbd609ec17a426426 - .quad 0xbd67fcb18ed9d603 - .quad 0x3d584bf2b68d766f - .quad 0x3d5a21ac25d81ef3 - .quad 0x3d3bb2cd720ec44c - .quad 0xbd657d49676844cc - .quad 0x3d1a07bd8b34be7c - .quad 0x3d60be1fb590a1f5 - .quad 0xbd5aa33736867a17 - .quad 0x3d46abb9df22bc57 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== AbsMask ==*/ - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== AddB5 ==*/ - .align 64 - .quad 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000 - /*== RcpBitMask ==*/ - .align 64 - .quad 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000 - /*== poly_coeff8 ==*/ - .align 64 - .quad 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142 - /*== poly_coeff7 ==*/ - .align 64 - .quad 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70 - /*== poly_coeff6 ==*/ - .align 64 - .quad 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8 - /*== poly_coeff5 ==*/ - .align 64 - .quad 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5 - /*== poly_coeff4 ==*/ - .align 64 - .quad 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a - /*== poly_coeff3 ==*/ - .align 64 - .quad 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01 - /*== poly_coeff2 ==*/ - .align 64 - .quad 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462 - /*== poly_coeff1 ==*/ - .align 64 - .quad 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5 - /*== poly_coeff0 ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== Half ==*/ - .align 64 - .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .quad 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000 - /*== L2L = log(2)_low ==*/ - .align 64 - .quad 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000 - .align 64 - .type __svml_datanh_data_internal_avx512,@object - .size __svml_datanh_data_internal_avx512,.-__svml_datanh_data_internal_avx512 + /* Log_tbl_H */ + .quad 0x0000000000000000 + .quad 0x3faf0a30c0100000 + .quad 0x3fbe27076e2a0000 + .quad 0x3fc5ff3070a80000 + .quad 0x3fcc8ff7c79b0000 + .quad 0x3fd1675cabab8000 + .quad 0x3fd4618bc21c8000 + .quad 0x3fd739d7f6bc0000 + .quad 0x3fd9f323ecbf8000 + .quad 0x3fdc8ff7c79a8000 + .quad 0x3fdf128f5faf0000 + .quad 0x3fe0be72e4254000 + .quad 0x3fe1e85f5e704000 + .quad 0x3fe307d7334f0000 + .quad 0x3fe41d8fe8468000 + .quad 0x3fe52a2d265bc000 + /* Log_tbl_L */ + .align 64 + .quad 0x0000000000000000 + .quad 0x3d662a6617cc9717 + .quad 0x3d6e5cbd3d50fffc + .quad 0xbd6b0b0de3077d7e + .quad 0xbd697794f689f843 + .quad 0x3d630701ce63eab9 + .quad 0xbd609ec17a426426 + .quad 0xbd67fcb18ed9d603 + .quad 0x3d584bf2b68d766f + .quad 0x3d5a21ac25d81ef3 + .quad 0x3d3bb2cd720ec44c + .quad 0xbd657d49676844cc + .quad 0x3d1a07bd8b34be7c + .quad 0x3d60be1fb590a1f5 + .quad 0xbd5aa33736867a17 + .quad 0x3d46abb9df22bc57 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* AbsMask */ + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* AddB5 */ + .align 64 + .quad 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000, 0x0000800000000000 + /* RcpBitMask */ + .align 64 + .quad 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000, 0xffff000000000000 + /* poly_coeff8 */ + .align 64 + .quad 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142, 0x3fbc81dd40d38142 + /* poly_coeff7 */ + .align 64 + .quad 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70, 0xbfc0073cb82e8b70 + /* poly_coeff6 */ + .align 64 + .quad 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8, 0x3fc2492298ffdae8 + /* poly_coeff5 */ + .align 64 + .quad 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5, 0xbfc55553f871e5c5 + /* poly_coeff4 */ + .align 64 + .quad 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a, 0x3fc9999999cd394a + /* poly_coeff3 */ + .align 64 + .quad 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01, 0xbfd00000000c2a01 + /* poly_coeff2 */ + .align 64 + .quad 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462, 0x3fd5555555555462 + /* poly_coeff1 */ + .align 64 + .quad 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5, 0xbfdfffffffffffc5 + /* poly_coeff0 */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* Half */ + .align 64 + .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000 + /* L2H = log(2)_high */ + .align 64 + .quad 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000, 0x3fe62E42FEFA0000 + /* L2L = log(2)_low */ + .align 64 + .quad 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000, 0x3d7cf79abc9e0000 + .align 64 + .type __svml_datanh_data_internal_avx512, @object + .size __svml_datanh_data_internal_avx512, .-__svml_datanh_data_internal_avx512 From patchwork Mon Mar 7 15:00:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602372 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=De0GT5xZ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3QG5zkNz9sFt for ; Tue, 8 Mar 2022 03:12:38 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E913B385840E for ; Mon, 7 Mar 2022 16:12:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E913B385840E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669556; bh=XhBc6LM3LYWVNzzpfWGmGh2EG4P7TtBsUpm8sxJYymM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=De0GT5xZHs+LNJjCGr2wnk/nbHN9W+PUh9yEop3mDh+Uy/UNdsDVI0o7fJm3Sd/dr kBUf7uks/vqFMufcPChJ4RmD2k3zA7WD74s4CNsk59mDfC7bzQZgck7HJhSSfY0hXx ymST1ACT3/j61ZLrEP3WbBz1TZlW2aM0ATXDi3uk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 8BBD73858412 for ; Mon, 7 Mar 2022 15:03:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8BBD73858412 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364122" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364122" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561715" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eH016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 043/126] x86_64: Fix svml_s_cbrtf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:38 -0800 Message-Id: <20220307150201.10590-44-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_cbrtf16_core_avx512.S | 377 +++++++++--------- 1 file changed, 188 insertions(+), 189 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S index 9cf7918019..ce10cf177b 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf16_core_avx512.S @@ -31,205 +31,204 @@ /* Offsets for data table __svml_scbrt_data_internal_avx512 */ -#define etbl_H 0 -#define etbl_L 64 -#define cbrt_tbl_H 128 -#define BiasL 256 -#define SZero 320 -#define OneThird 384 -#define Bias3 448 -#define Three 512 -#define One 576 -#define poly_coeff3 640 -#define poly_coeff2 704 -#define poly_coeff1 768 +#define etbl_H 0 +#define etbl_L 64 +#define cbrt_tbl_H 128 +#define BiasL 256 +#define SZero 320 +#define OneThird 384 +#define Bias3 448 +#define Three 512 +#define One 576 +#define poly_coeff3 640 +#define poly_coeff2 704 +#define poly_coeff1 768 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_cbrtf_skx) - vgetmantps $0, {sae}, %zmm0, %zmm8 - -/* GetExp(x) */ - vgetexpps {sae}, %zmm0, %zmm1 - vmovups BiasL+__svml_scbrt_data_internal_avx512(%rip), %zmm2 - -/* exponent/3 */ - vmovups OneThird+__svml_scbrt_data_internal_avx512(%rip), %zmm3 - vmovups Bias3+__svml_scbrt_data_internal_avx512(%rip), %zmm4 - vmovups One+__svml_scbrt_data_internal_avx512(%rip), %zmm15 - -/* exponent%3 (to be used as index) */ - vmovups Three+__svml_scbrt_data_internal_avx512(%rip), %zmm5 - -/* polynomial */ - vmovups poly_coeff3+__svml_scbrt_data_internal_avx512(%rip), %zmm11 - vmovups poly_coeff1+__svml_scbrt_data_internal_avx512(%rip), %zmm14 - -/* Table lookup */ - vmovups cbrt_tbl_H+__svml_scbrt_data_internal_avx512(%rip), %zmm12 - -/* DblRcp ~ 1/Mantissa */ - vrcp14ps %zmm8, %zmm7 - vaddps {rn-sae}, %zmm2, %zmm1, %zmm6 - vandps SZero+__svml_scbrt_data_internal_avx512(%rip), %zmm0, %zmm0 - -/* round DblRcp to 3 fractional bits (RN mode, no Precision exception) */ - vrndscaleps $88, {sae}, %zmm7, %zmm9 - vfmsub231ps {rn-sae}, %zmm6, %zmm3, %zmm4 - vmovups poly_coeff2+__svml_scbrt_data_internal_avx512(%rip), %zmm7 - -/* Reduced argument: R = DblRcp*Mantissa - 1 */ - vfmsub231ps {rn-sae}, %zmm9, %zmm8, %zmm15 - vrndscaleps $9, {sae}, %zmm4, %zmm13 - -/* Prepare table index */ - vpsrld $19, %zmm9, %zmm10 - vfmadd231ps {rn-sae}, %zmm15, %zmm11, %zmm7 - vfnmadd231ps {rn-sae}, %zmm13, %zmm5, %zmm6 - vpermt2ps cbrt_tbl_H+64+__svml_scbrt_data_internal_avx512(%rip), %zmm10, %zmm12 - vfmadd213ps {rn-sae}, %zmm14, %zmm15, %zmm7 - vscalefps {rn-sae}, %zmm13, %zmm12, %zmm2 - -/* Table lookup: 2^(exponent%3) */ - vpermps __svml_scbrt_data_internal_avx512(%rip), %zmm6, %zmm1 - vpermps etbl_L+__svml_scbrt_data_internal_avx512(%rip), %zmm6, %zmm6 - -/* Sh*R */ - vmulps {rn-sae}, %zmm15, %zmm1, %zmm14 - -/* Sl + (Sh*R)*Poly */ - vfmadd213ps {rn-sae}, %zmm6, %zmm7, %zmm14 - -/* - * branch-free - * scaled_Th*(Sh+Sl+Sh*R*Poly) - */ - vaddps {rn-sae}, %zmm1, %zmm14, %zmm15 - vmulps {rn-sae}, %zmm2, %zmm15, %zmm3 - vorps %zmm0, %zmm3, %zmm0 - ret + vgetmantps $0, {sae}, %zmm0, %zmm8 + + /* GetExp(x) */ + vgetexpps {sae}, %zmm0, %zmm1 + vmovups BiasL+__svml_scbrt_data_internal_avx512(%rip), %zmm2 + + /* exponent/3 */ + vmovups OneThird+__svml_scbrt_data_internal_avx512(%rip), %zmm3 + vmovups Bias3+__svml_scbrt_data_internal_avx512(%rip), %zmm4 + vmovups One+__svml_scbrt_data_internal_avx512(%rip), %zmm15 + + /* exponent%3 (to be used as index) */ + vmovups Three+__svml_scbrt_data_internal_avx512(%rip), %zmm5 + + /* polynomial */ + vmovups poly_coeff3+__svml_scbrt_data_internal_avx512(%rip), %zmm11 + vmovups poly_coeff1+__svml_scbrt_data_internal_avx512(%rip), %zmm14 + + /* Table lookup */ + vmovups cbrt_tbl_H+__svml_scbrt_data_internal_avx512(%rip), %zmm12 + + /* DblRcp ~ 1/Mantissa */ + vrcp14ps %zmm8, %zmm7 + vaddps {rn-sae}, %zmm2, %zmm1, %zmm6 + vandps SZero+__svml_scbrt_data_internal_avx512(%rip), %zmm0, %zmm0 + + /* round DblRcp to 3 fractional bits (RN mode, no Precision exception) */ + vrndscaleps $88, {sae}, %zmm7, %zmm9 + vfmsub231ps {rn-sae}, %zmm6, %zmm3, %zmm4 + vmovups poly_coeff2+__svml_scbrt_data_internal_avx512(%rip), %zmm7 + + /* Reduced argument: R = DblRcp*Mantissa - 1 */ + vfmsub231ps {rn-sae}, %zmm9, %zmm8, %zmm15 + vrndscaleps $9, {sae}, %zmm4, %zmm13 + + /* Prepare table index */ + vpsrld $19, %zmm9, %zmm10 + vfmadd231ps {rn-sae}, %zmm15, %zmm11, %zmm7 + vfnmadd231ps {rn-sae}, %zmm13, %zmm5, %zmm6 + vpermt2ps cbrt_tbl_H+64+__svml_scbrt_data_internal_avx512(%rip), %zmm10, %zmm12 + vfmadd213ps {rn-sae}, %zmm14, %zmm15, %zmm7 + vscalefps {rn-sae}, %zmm13, %zmm12, %zmm2 + + /* Table lookup: 2^(exponent%3) */ + vpermps __svml_scbrt_data_internal_avx512(%rip), %zmm6, %zmm1 + vpermps etbl_L+__svml_scbrt_data_internal_avx512(%rip), %zmm6, %zmm6 + + /* Sh*R */ + vmulps {rn-sae}, %zmm15, %zmm1, %zmm14 + + /* Sl + (Sh*R)*Poly */ + vfmadd213ps {rn-sae}, %zmm6, %zmm7, %zmm14 + + /* + * branch-free + * scaled_Th*(Sh+Sl+Sh*R*Poly) + */ + vaddps {rn-sae}, %zmm1, %zmm14, %zmm15 + vmulps {rn-sae}, %zmm2, %zmm15, %zmm3 + vorps %zmm0, %zmm3, %zmm0 + ret END(_ZGVeN16v_cbrtf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_scbrt_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 etbl_H[16][1]; - __declspec(align(64)) VUINT32 etbl_L[16][1]; - __declspec(align(64)) VUINT32 cbrt_tbl_H[32][1]; - __declspec(align(64)) VUINT32 BiasL[16][1]; - __declspec(align(64)) VUINT32 SZero[16][1]; - __declspec(align(64)) VUINT32 OneThird[16][1]; - __declspec(align(64)) VUINT32 Bias3[16][1]; - __declspec(align(64)) VUINT32 Three[16][1]; - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 poly_coeff3[16][1]; - __declspec(align(64)) VUINT32 poly_coeff2[16][1]; - __declspec(align(64)) VUINT32 poly_coeff1[16][1]; - } __svml_scbrt_data_internal_avx512; + __declspec(align(64)) VUINT32 etbl_H[16][1]; + __declspec(align(64)) VUINT32 etbl_L[16][1]; + __declspec(align(64)) VUINT32 cbrt_tbl_H[32][1]; + __declspec(align(64)) VUINT32 BiasL[16][1]; + __declspec(align(64)) VUINT32 SZero[16][1]; + __declspec(align(64)) VUINT32 OneThird[16][1]; + __declspec(align(64)) VUINT32 Bias3[16][1]; + __declspec(align(64)) VUINT32 Three[16][1]; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 poly_coeff3[16][1]; + __declspec(align(64)) VUINT32 poly_coeff2[16][1]; + __declspec(align(64)) VUINT32 poly_coeff1[16][1]; +} __svml_scbrt_data_internal_avx512; #endif __svml_scbrt_data_internal_avx512: - /*== etbl_H ==*/ - .long 0x3f800000 - .long 0x3fa14518 - .long 0x3fcb2ff5 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - /*== etbl_L ==*/ - .align 64 - .long 0x00000000 - .long 0xb2ce51af - .long 0x32a7adc8 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - /*== cbrt_tbl_H ==*/ - .align 64 - .long 0x3fa14518 - .long 0x3f9e0b2b - .long 0x3f9b0f9b - .long 0x3f984a9a - .long 0x3f95b5af - .long 0x3f934b6c - .long 0x3f910737 - .long 0x3f8ee526 - .long 0x3f8ce1da - .long 0x3f8afa6a - .long 0x3f892c4e - .long 0x3f87754e - .long 0x3f85d377 - .long 0x3f844510 - .long 0x3f82c892 - .long 0x3f815c9f - .long 0x3f800000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - .long 0x00000000 - /*== BiasL ==*/ - .align 64 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 - /*== Zero ==*/ - .align 64 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 - /*== OneThird ==*/ - .align 64 - .long 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab - /*== Bias3 ==*/ - .align 64 - .long 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000 - /*== Three ==*/ - .align 64 - .long 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000 - /*==One ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== poly_coeff3 ==*/ - .align 64 - .long 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c - /*== poly_coeff2 ==*/ - .align 64 - .long 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363 - /*== poly_coeff1 ==*/ - .align 64 - .long 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa - .align 64 - .type __svml_scbrt_data_internal_avx512,@object - .size __svml_scbrt_data_internal_avx512,.-__svml_scbrt_data_internal_avx512 + /* etbl_H */ + .long 0x3f800000 + .long 0x3fa14518 + .long 0x3fcb2ff5 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + /* etbl_L */ + .align 64 + .long 0x00000000 + .long 0xb2ce51af + .long 0x32a7adc8 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + /* cbrt_tbl_H */ + .align 64 + .long 0x3fa14518 + .long 0x3f9e0b2b + .long 0x3f9b0f9b + .long 0x3f984a9a + .long 0x3f95b5af + .long 0x3f934b6c + .long 0x3f910737 + .long 0x3f8ee526 + .long 0x3f8ce1da + .long 0x3f8afa6a + .long 0x3f892c4e + .long 0x3f87754e + .long 0x3f85d377 + .long 0x3f844510 + .long 0x3f82c892 + .long 0x3f815c9f + .long 0x3f800000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + .long 0x00000000 + /* BiasL */ + .align 64 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 + /* Zero */ + .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 + /* OneThird */ + .align 64 + .long 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab, 0x3eaaaaab + /* Bias3 */ + .align 64 + .long 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000, 0x4a800000 + /* Three */ + .align 64 + .long 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000, 0x40400000 + /* One */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* poly_coeff3 */ + .align 64 + .long 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c, 0x3d7d057c + /* poly_coeff2 */ + .align 64 + .long 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363, 0xbde3a363 + /* poly_coeff1 */ + .align 64 + .long 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa, 0x3eaaaaaa + .align 64 + .type __svml_scbrt_data_internal_avx512, @object + .size __svml_scbrt_data_internal_avx512, .-__svml_scbrt_data_internal_avx512 From patchwork Mon Mar 7 15:00:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602296 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=hmfvGmwT; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2jL6ZSQz9sFk for ; Tue, 8 Mar 2022 02:40:38 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 982943858423 for ; Mon, 7 Mar 2022 15:40:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 982943858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667636; bh=I6UBbKNTASUYOMClIPb/r+9XZt8JUMGGM6vdIkuyDSE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=hmfvGmwTjpuz8j5HHn+vy4hiPo6ghF/mljq6yroL1xSbe2/ZPYB7KtHB0ZhtJfMh7 VWZVY5p4GI76yqsj8C6hNe/DZ2KtHZG015R5KjralE+EI6TEIwB1YGSb1Ezvqy+ZCu RUQdUnQiBgrPNnJTT8l+TwtqSa5d50d/X17sUw40= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id B0ED83858004 for ; Mon, 7 Mar 2022 15:02:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B0ED83858004 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843002" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843002" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="711132962" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga005.jf.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eI016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 044/126] x86_64: Fix svml_s_cbrtf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:39 -0800 Message-Id: <20220307150201.10590-45-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_cbrtf4_core_sse4.S | 856 +++++++++--------- 1 file changed, 427 insertions(+), 429 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S index 69705e4213..b1d6f9c26d 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf4_core_sse4.S @@ -31,460 +31,458 @@ /* Offsets for data table __svml_scbrt_data_internal */ -#define _sRcp 0 -#define _sCbrtHL 128 -#define _sP2 512 -#define _sP1 528 -#define _sMantissaMask 544 -#define _sMantissaMask1 560 -#define _sExpMask 576 -#define _sExpMask1 592 -#define _iRcpIndexMask 608 -#define _iBExpMask 624 -#define _iSignMask 640 -#define _iBias 656 -#define _iOne 672 -#define _i555 688 -#define _iAbsMask 704 -#define _iSubConst 720 -#define _iCmpConst 736 +#define _sRcp 0 +#define _sCbrtHL 128 +#define _sP2 512 +#define _sP1 528 +#define _sMantissaMask 544 +#define _sMantissaMask1 560 +#define _sExpMask 576 +#define _sExpMask1 592 +#define _iRcpIndexMask 608 +#define _iBExpMask 624 +#define _iSignMask 640 +#define _iBias 656 +#define _iOne 672 +#define _i555 688 +#define _iAbsMask 704 +#define _iSubConst 720 +#define _iCmpConst 736 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_cbrtf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* - * Load constants - * Reciprocal index calculation - */ - movaps %xmm0, %xmm2 - movdqu _iRcpIndexMask+__svml_scbrt_data_internal(%rip), %xmm3 - psrld $16, %xmm2 - pand %xmm2, %xmm3 - -/* Load reciprocal value */ - lea __svml_scbrt_data_internal(%rip), %rdx - pshufd $1, %xmm3, %xmm5 - -/* Get signed biased exponent */ - psrld $7, %xmm2 - movd %xmm3, %eax - movd %xmm5, %ecx - -/* Get absolute biased exponent */ - movdqu _iBExpMask+__svml_scbrt_data_internal(%rip), %xmm15 - -/* - * Calculate exponent/3 - * i555Exp=(2^{12}-1)/3*exponent - */ - movdqu _i555+__svml_scbrt_data_internal(%rip), %xmm14 - pand %xmm2, %xmm15 - movslq %eax, %rax - movdqa %xmm14, %xmm5 - movslq %ecx, %rcx - psrlq $32, %xmm14 - pmuludq %xmm15, %xmm5 - movd (%rdx,%rax), %xmm4 - movd (%rdx,%rcx), %xmm6 - punpckldq %xmm6, %xmm4 - movdqa %xmm15, %xmm6 - psrlq $32, %xmm15 - pmuludq %xmm14, %xmm15 - pshufd $2, %xmm3, %xmm7 - psllq $32, %xmm15 - pshufd $3, %xmm3, %xmm8 - movd %xmm7, %esi - movd %xmm8, %edi - -/* Argument reduction */ - movups _sMantissaMask+__svml_scbrt_data_internal(%rip), %xmm12 - movups _sMantissaMask1+__svml_scbrt_data_internal(%rip), %xmm11 - andps %xmm0, %xmm12 - pand .FLT_17(%rip), %xmm5 - andps %xmm0, %xmm11 - movslq %esi, %rsi - por %xmm15, %xmm5 - movslq %edi, %rdi - -/* Get K (exponent=3*k+j) */ - psrld $12, %xmm5 - orps _sExpMask+__svml_scbrt_data_internal(%rip), %xmm12 - orps _sExpMask1+__svml_scbrt_data_internal(%rip), %xmm11 - psubd _iOne+__svml_scbrt_data_internal(%rip), %xmm6 - -/* r=y-y` */ - subps %xmm11, %xmm12 - -/* Get J */ - psubd %xmm5, %xmm6 - movdqu _iAbsMask+__svml_scbrt_data_internal(%rip), %xmm1 - psubd %xmm5, %xmm6 - movd (%rdx,%rsi), %xmm10 - pand %xmm0, %xmm1 - movd (%rdx,%rdi), %xmm9 - psubd %xmm5, %xmm6 - punpckldq %xmm9, %xmm10 - -/* Get 128*J */ - pslld $7, %xmm6 - punpcklqdq %xmm10, %xmm4 - -/* - * iCbrtIndex=4*l+128*j - * Zero index if callout expected - */ - paddd %xmm6, %xmm3 - psubd _iSubConst+__svml_scbrt_data_internal(%rip), %xmm1 - pcmpgtd _iCmpConst+__svml_scbrt_data_internal(%rip), %xmm1 - -/* r=(y-y`)*rcp_table(y`) */ - mulps %xmm12, %xmm4 - movmskps %xmm1, %eax - -/* Biased exponent-1 */ - movdqu _iSignMask+__svml_scbrt_data_internal(%rip), %xmm13 - pandn %xmm3, %xmm1 - -/* - * Add 2/3*(bias-1)+1 to (k+1/3*(bias-1)) - * Attach sign to exponent - */ - movdqu _iBias+__svml_scbrt_data_internal(%rip), %xmm12 - pand %xmm13, %xmm2 - paddd %xmm5, %xmm12 - -/* Load Cbrt table Hi & Lo values */ - movd %xmm1, %r8d - por %xmm2, %xmm12 - pshufd $1, %xmm1, %xmm2 - pslld $23, %xmm12 - pshufd $2, %xmm1, %xmm7 - pshufd $3, %xmm1, %xmm1 - movd %xmm2, %r9d - movd %xmm7, %r10d - movd %xmm1, %r11d - -/* Polynomial: p1+r*(p2*r+r*(p3+r*p4)) */ - movups _sP2+__svml_scbrt_data_internal(%rip), %xmm11 - mulps %xmm4, %xmm11 - movslq %r8d, %r8 - addps _sP1+__svml_scbrt_data_internal(%rip), %xmm11 - movslq %r9d, %r9 - movslq %r10d, %r10 - movslq %r11d, %r11 - movd 128(%rdx,%r8), %xmm10 - movd 128(%rdx,%r9), %xmm3 - movd 128(%rdx,%r10), %xmm9 - movd 128(%rdx,%r11), %xmm8 - punpckldq %xmm3, %xmm10 - punpckldq %xmm8, %xmm9 - punpcklqdq %xmm9, %xmm10 - -/* sCbrtHi *= 2^k */ - mulps %xmm10, %xmm12 - -/* T`*r */ - mulps %xmm12, %xmm4 - -/* (T`*r)*P */ - mulps %xmm4, %xmm11 - -/* - * T`*r*P+D` - * result = T`+(T`*r*P+D`) - */ - addps %xmm11, %xmm12 - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm12 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* + * Load constants + * Reciprocal index calculation + */ + movaps %xmm0, %xmm2 + movdqu _iRcpIndexMask+__svml_scbrt_data_internal(%rip), %xmm3 + psrld $16, %xmm2 + pand %xmm2, %xmm3 + + /* Load reciprocal value */ + lea __svml_scbrt_data_internal(%rip), %rdx + pshufd $1, %xmm3, %xmm5 + + /* Get signed biased exponent */ + psrld $7, %xmm2 + movd %xmm3, %eax + movd %xmm5, %ecx + + /* Get absolute biased exponent */ + movdqu _iBExpMask+__svml_scbrt_data_internal(%rip), %xmm15 + + /* + * Calculate exponent/3 + * i555Exp=(2^{12}-1)/3*exponent + */ + movdqu _i555+__svml_scbrt_data_internal(%rip), %xmm14 + pand %xmm2, %xmm15 + movslq %eax, %rax + movdqa %xmm14, %xmm5 + movslq %ecx, %rcx + psrlq $32, %xmm14 + pmuludq %xmm15, %xmm5 + movd (%rdx, %rax), %xmm4 + movd (%rdx, %rcx), %xmm6 + punpckldq %xmm6, %xmm4 + movdqa %xmm15, %xmm6 + psrlq $32, %xmm15 + pmuludq %xmm14, %xmm15 + pshufd $2, %xmm3, %xmm7 + psllq $32, %xmm15 + pshufd $3, %xmm3, %xmm8 + movd %xmm7, %esi + movd %xmm8, %edi + + /* Argument reduction */ + movups _sMantissaMask+__svml_scbrt_data_internal(%rip), %xmm12 + movups _sMantissaMask1+__svml_scbrt_data_internal(%rip), %xmm11 + andps %xmm0, %xmm12 + pand .FLT_17(%rip), %xmm5 + andps %xmm0, %xmm11 + movslq %esi, %rsi + por %xmm15, %xmm5 + movslq %edi, %rdi + + /* Get K (exponent=3*k+j) */ + psrld $12, %xmm5 + orps _sExpMask+__svml_scbrt_data_internal(%rip), %xmm12 + orps _sExpMask1+__svml_scbrt_data_internal(%rip), %xmm11 + psubd _iOne+__svml_scbrt_data_internal(%rip), %xmm6 + + /* r=y-y` */ + subps %xmm11, %xmm12 + + /* Get J */ + psubd %xmm5, %xmm6 + movdqu _iAbsMask+__svml_scbrt_data_internal(%rip), %xmm1 + psubd %xmm5, %xmm6 + movd (%rdx, %rsi), %xmm10 + pand %xmm0, %xmm1 + movd (%rdx, %rdi), %xmm9 + psubd %xmm5, %xmm6 + punpckldq %xmm9, %xmm10 + + /* Get 128*J */ + pslld $7, %xmm6 + punpcklqdq %xmm10, %xmm4 + + /* + * iCbrtIndex=4*l+128*j + * Zero index if callout expected + */ + paddd %xmm6, %xmm3 + psubd _iSubConst+__svml_scbrt_data_internal(%rip), %xmm1 + pcmpgtd _iCmpConst+__svml_scbrt_data_internal(%rip), %xmm1 + + /* r=(y-y`)*rcp_table(y`) */ + mulps %xmm12, %xmm4 + movmskps %xmm1, %eax + + /* Biased exponent-1 */ + movdqu _iSignMask+__svml_scbrt_data_internal(%rip), %xmm13 + pandn %xmm3, %xmm1 + + /* + * Add 2/3*(bias-1)+1 to (k+1/3*(bias-1)) + * Attach sign to exponent + */ + movdqu _iBias+__svml_scbrt_data_internal(%rip), %xmm12 + pand %xmm13, %xmm2 + paddd %xmm5, %xmm12 + + /* Load Cbrt table Hi & Lo values */ + movd %xmm1, %r8d + por %xmm2, %xmm12 + pshufd $1, %xmm1, %xmm2 + pslld $23, %xmm12 + pshufd $2, %xmm1, %xmm7 + pshufd $3, %xmm1, %xmm1 + movd %xmm2, %r9d + movd %xmm7, %r10d + movd %xmm1, %r11d + + /* Polynomial: p1+r*(p2*r+r*(p3+r*p4)) */ + movups _sP2+__svml_scbrt_data_internal(%rip), %xmm11 + mulps %xmm4, %xmm11 + movslq %r8d, %r8 + addps _sP1+__svml_scbrt_data_internal(%rip), %xmm11 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %r11d, %r11 + movd 128(%rdx, %r8), %xmm10 + movd 128(%rdx, %r9), %xmm3 + movd 128(%rdx, %r10), %xmm9 + movd 128(%rdx, %r11), %xmm8 + punpckldq %xmm3, %xmm10 + punpckldq %xmm8, %xmm9 + punpcklqdq %xmm9, %xmm10 + + /* sCbrtHi *= 2^k */ + mulps %xmm10, %xmm12 + + /* T`*r */ + mulps %xmm12, %xmm4 + + /* (T`*r)*P */ + mulps %xmm4, %xmm11 + + /* + * T`*r*P+D` + * result = T`+(T`*r*P+D`) + */ + addps %xmm11, %xmm12 + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm12 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm12, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm12, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm12, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax - - xorl %edx, %edx - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %edx, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %eax, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm12, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax + + xorl %edx, %edx + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %edx, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %eax, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm12 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm12 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm12 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm12 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call cbrtf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call cbrtf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_cbrtf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_scbrt_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _sRcp[32][1]; - __declspec(align(16)) VUINT32 _sCbrtHL[96][1]; - __declspec(align(16)) VUINT32 _sP2[4][1]; - __declspec(align(16)) VUINT32 _sP1[4][1]; - __declspec(align(16)) VUINT32 _sMantissaMask[4][1]; - __declspec(align(16)) VUINT32 _sMantissaMask1[4][1]; - __declspec(align(16)) VUINT32 _sExpMask[4][1]; - __declspec(align(16)) VUINT32 _sExpMask1[4][1]; - __declspec(align(16)) VUINT32 _iRcpIndexMask[4][1]; - __declspec(align(16)) VUINT32 _iBExpMask[4][1]; - __declspec(align(16)) VUINT32 _iSignMask[4][1]; - __declspec(align(16)) VUINT32 _iBias[4][1]; - __declspec(align(16)) VUINT32 _iOne[4][1]; - __declspec(align(16)) VUINT32 _i555[4][1]; - __declspec(align(16)) VUINT32 _iAbsMask[4][1]; - __declspec(align(16)) VUINT32 _iSubConst[4][1]; - __declspec(align(16)) VUINT32 _iCmpConst[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _sRcp[32][1]; + __declspec(align(16)) VUINT32 _sCbrtHL[96][1]; + __declspec(align(16)) VUINT32 _sP2[4][1]; + __declspec(align(16)) VUINT32 _sP1[4][1]; + __declspec(align(16)) VUINT32 _sMantissaMask[4][1]; + __declspec(align(16)) VUINT32 _sMantissaMask1[4][1]; + __declspec(align(16)) VUINT32 _sExpMask[4][1]; + __declspec(align(16)) VUINT32 _sExpMask1[4][1]; + __declspec(align(16)) VUINT32 _iRcpIndexMask[4][1]; + __declspec(align(16)) VUINT32 _iBExpMask[4][1]; + __declspec(align(16)) VUINT32 _iSignMask[4][1]; + __declspec(align(16)) VUINT32 _iBias[4][1]; + __declspec(align(16)) VUINT32 _iOne[4][1]; + __declspec(align(16)) VUINT32 _i555[4][1]; + __declspec(align(16)) VUINT32 _iAbsMask[4][1]; + __declspec(align(16)) VUINT32 _iSubConst[4][1]; + __declspec(align(16)) VUINT32 _iCmpConst[4][1]; } __svml_scbrt_data_internal; #endif __svml_scbrt_data_internal: - /*== _sRcp ==*/ - .long 0xBF7C0FC1 /* (1/(1+0/32+1/64)) = -.984615 */ - .long 0xBF74898D /* (1/(1+1/32+1/64)) = -.955224 */ - .long 0xBF6D7304 /* (1/(1+2/32+1/64)) = -.927536 */ - .long 0xBF66C2B4 /* (1/(1+3/32+1/64)) = -.901408 */ - .long 0xBF607038 /* (1/(1+4/32+1/64)) = -.876712 */ - .long 0xBF5A740E /* (1/(1+5/32+1/64)) = -.853333 */ - .long 0xBF54C77B /* (1/(1+6/32+1/64)) = -.831169 */ - .long 0xBF4F6475 /* (1/(1+7/32+1/64)) = -.810127 */ - .long 0xBF4A4588 /* (1/(1+8/32+1/64)) = -.790123 */ - .long 0xBF4565C8 /* (1/(1+9/32+1/64)) = -.771084 */ - .long 0xBF40C0C1 /* (1/(1+10/32+1/64)) = -.752941 */ - .long 0xBF3C5264 /* (1/(1+11/32+1/64)) = -.735632 */ - .long 0xBF381703 /* (1/(1+12/32+1/64)) = -.719101 */ - .long 0xBF340B41 /* (1/(1+13/32+1/64)) = -.703297 */ - .long 0xBF302C0B /* (1/(1+14/32+1/64)) = -.688172 */ - .long 0xBF2C7692 /* (1/(1+15/32+1/64)) = -.673684 */ - .long 0xBF28E83F /* (1/(1+16/32+1/64)) = -.659794 */ - .long 0xBF257EB5 /* (1/(1+17/32+1/64)) = -.646465 */ - .long 0xBF2237C3 /* (1/(1+18/32+1/64)) = -.633663 */ - .long 0xBF1F1166 /* (1/(1+19/32+1/64)) = -.621359 */ - .long 0xBF1C09C1 /* (1/(1+20/32+1/64)) = -.609524 */ - .long 0xBF191F1A /* (1/(1+21/32+1/64)) = -.598131 */ - .long 0xBF164FDA /* (1/(1+22/32+1/64)) = -.587156 */ - .long 0xBF139A86 /* (1/(1+23/32+1/64)) = -.576577 */ - .long 0xBF10FDBC /* (1/(1+24/32+1/64)) = -.566372 */ - .long 0xBF0E7835 /* (1/(1+25/32+1/64)) = -.556522 */ - .long 0xBF0C08C1 /* (1/(1+26/32+1/64)) = -.547009 */ - .long 0xBF09AE41 /* (1/(1+27/32+1/64)) = -.537815 */ - .long 0xBF0767AB /* (1/(1+28/32+1/64)) = -.528926 */ - .long 0xBF053408 /* (1/(1+29/32+1/64)) = -.520325 */ - .long 0xBF03126F /* (1/(1+30/32+1/64)) = -.512 */ - .long 0xBF010204 /* (1/(1+31/32+1/64)) = -.503937 */ - /*== _sCbrtHL ==*/ - .align 16 - .long 0x3F80A9C9 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ - .long 0x3F81F833 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ - .long 0x3F834007 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ - .long 0x3F848194 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ - .long 0x3F85BD25 /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ - .long 0x3F86F300 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ - .long 0x3F882365 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ - .long 0x3F894E90 /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ - .long 0x3F8A74B9 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ - .long 0x3F8B9615 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ - .long 0x3F8CB2D4 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ - .long 0x3F8DCB24 /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ - .long 0x3F8EDF31 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ - .long 0x3F8FEF22 /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ - .long 0x3F90FB1F /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ - .long 0x3F92034C /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ - .long 0x3F9307CA /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ - .long 0x3F9408B9 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ - .long 0x3F950638 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ - .long 0x3F960064 /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ - .long 0x3F96F759 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ - .long 0x3F97EB2F /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ - .long 0x3F98DC01 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ - .long 0x3F99C9E5 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ - .long 0x3F9AB4F2 /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ - .long 0x3F9B9D3D /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ - .long 0x3F9C82DA /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ - .long 0x3F9D65DD /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ - .long 0x3F9E4659 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ - .long 0x3F9F245F /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ - .long 0x3FA00000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ - .long 0x3FA0D94C /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ - .long 0x3FA21B02 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ - .long 0x3FA3C059 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ - .long 0x3FA55D61 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ - .long 0x3FA6F282 /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ - .long 0x3FA8801A /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ - .long 0x3FAA067E /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ - .long 0x3FAB8602 /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ - .long 0x3FACFEEF /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ - .long 0x3FAE718E /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ - .long 0x3FAFDE1F /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ - .long 0x3FB144E1 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ - .long 0x3FB2A60D /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395692 */ - .long 0x3FB401DA /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ - .long 0x3FB5587B /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ - .long 0x3FB6AA20 /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ - .long 0x3FB7F6F7 /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ - .long 0x3FB93F29 /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ - .long 0x3FBA82E1 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ - .long 0x3FBBC244 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ - .long 0x3FBCFD77 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ - .long 0x3FBE349B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ - .long 0x3FBF67D3 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ - .long 0x3FC0973C /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ - .long 0x3FC1C2F6 /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ - .long 0x3FC2EB1A /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ - .long 0x3FC40FC6 /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ - .long 0x3FC53112 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ - .long 0x3FC64F16 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ - .long 0x3FC769EB /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ - .long 0x3FC881A6 /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ - .long 0x3FC9965D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ - .long 0x3FCAA825 /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ - .long 0x3FCC3D79 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ - .long 0x3FCE5054 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ - .long 0x3FD058B8 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627707 */ - .long 0x3FD25726 /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ - .long 0x3FD44C15 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ - .long 0x3FD637F2 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ - .long 0x3FD81B24 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ - .long 0x3FD9F60B /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ - .long 0x3FDBC8FE /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ - .long 0x3FDD9452 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ - .long 0x3FDF5853 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ - .long 0x3FE1154B /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ - .long 0x3FE2CB7F /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ - .long 0x3FE47B2E /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ - .long 0x3FE62496 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ - .long 0x3FE7C7F0 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ - .long 0x3FE96571 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ - .long 0x3FEAFD4C /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ - .long 0x3FEC8FB3 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ - .long 0x3FEE1CD3 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ - .long 0x3FEFA4D7 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ - .long 0x3FF127E9 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.88403 */ - .long 0x3FF2A62F /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ - .long 0x3FF41FD0 /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ - .long 0x3FF594EE /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918607 */ - .long 0x3FF705AC /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ - .long 0x3FF8722A /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ - .long 0x3FF9DA86 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ - .long 0x3FFB3EDE /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ - .long 0x3FFC9F4E /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ - .long 0x3FFDFBF2 /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ - .long 0x3FFF54E3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ - .align 16 - .long 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962 /* _sP2 */ - .align 16 - .long 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91 /* _sP1 */ - .align 16 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff /* _sMantissaMask (EXP_MSK3) */ - .align 16 - .long 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000 /* _sMantissaMask1 (SIG_MASK) */ - .align 16 - .long 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000 /* _sExpMask (EXP_MASK) */ - .align 16 - .long 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000 /* _sExpMask1 (EXP_MASK2) */ - .align 16 - .long 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c /* _iRcpIndexMask */ - .align 16 - .long 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff /* _iBExpMask */ - .align 16 - .long 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iSignMask */ - .align 16 - .long 0x00000055, 0x00000055, 0x00000055, 0x00000055 /* _iBias */ - .align 16 - .long 0x00000001, 0x00000001, 0x00000001, 0x00000001 /* _iOne */ - .align 16 - .long 0x00000555, 0x00000555, 0x00000555, 0x00000555 /* _i555 */ - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 16 - .long 0x80800000, 0x80800000, 0x80800000, 0x80800000 /* _iSubConst */ - .align 16 - .long 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF /* _iCmpConst */ - .align 16 - .type __svml_scbrt_data_internal,@object - .size __svml_scbrt_data_internal,.-__svml_scbrt_data_internal - .align 16 + /* _sRcp */ + .long 0xBF7C0FC1 /* (1/(1+0/32+1/64)) = -.984615 */ + .long 0xBF74898D /* (1/(1+1/32+1/64)) = -.955224 */ + .long 0xBF6D7304 /* (1/(1+2/32+1/64)) = -.927536 */ + .long 0xBF66C2B4 /* (1/(1+3/32+1/64)) = -.901408 */ + .long 0xBF607038 /* (1/(1+4/32+1/64)) = -.876712 */ + .long 0xBF5A740E /* (1/(1+5/32+1/64)) = -.853333 */ + .long 0xBF54C77B /* (1/(1+6/32+1/64)) = -.831169 */ + .long 0xBF4F6475 /* (1/(1+7/32+1/64)) = -.810127 */ + .long 0xBF4A4588 /* (1/(1+8/32+1/64)) = -.790123 */ + .long 0xBF4565C8 /* (1/(1+9/32+1/64)) = -.771084 */ + .long 0xBF40C0C1 /* (1/(1+10/32+1/64)) = -.752941 */ + .long 0xBF3C5264 /* (1/(1+11/32+1/64)) = -.735632 */ + .long 0xBF381703 /* (1/(1+12/32+1/64)) = -.719101 */ + .long 0xBF340B41 /* (1/(1+13/32+1/64)) = -.703297 */ + .long 0xBF302C0B /* (1/(1+14/32+1/64)) = -.688172 */ + .long 0xBF2C7692 /* (1/(1+15/32+1/64)) = -.673684 */ + .long 0xBF28E83F /* (1/(1+16/32+1/64)) = -.659794 */ + .long 0xBF257EB5 /* (1/(1+17/32+1/64)) = -.646465 */ + .long 0xBF2237C3 /* (1/(1+18/32+1/64)) = -.633663 */ + .long 0xBF1F1166 /* (1/(1+19/32+1/64)) = -.621359 */ + .long 0xBF1C09C1 /* (1/(1+20/32+1/64)) = -.609524 */ + .long 0xBF191F1A /* (1/(1+21/32+1/64)) = -.598131 */ + .long 0xBF164FDA /* (1/(1+22/32+1/64)) = -.587156 */ + .long 0xBF139A86 /* (1/(1+23/32+1/64)) = -.576577 */ + .long 0xBF10FDBC /* (1/(1+24/32+1/64)) = -.566372 */ + .long 0xBF0E7835 /* (1/(1+25/32+1/64)) = -.556522 */ + .long 0xBF0C08C1 /* (1/(1+26/32+1/64)) = -.547009 */ + .long 0xBF09AE41 /* (1/(1+27/32+1/64)) = -.537815 */ + .long 0xBF0767AB /* (1/(1+28/32+1/64)) = -.528926 */ + .long 0xBF053408 /* (1/(1+29/32+1/64)) = -.520325 */ + .long 0xBF03126F /* (1/(1+30/32+1/64)) = -.512 */ + .long 0xBF010204 /* (1/(1+31/32+1/64)) = -.503937 */ + /* _sCbrtHL */ + .align 16 + .long 0x3F80A9C9 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ + .long 0x3F81F833 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ + .long 0x3F834007 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ + .long 0x3F848194 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ + .long 0x3F85BD25 /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ + .long 0x3F86F300 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ + .long 0x3F882365 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ + .long 0x3F894E90 /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ + .long 0x3F8A74B9 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ + .long 0x3F8B9615 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ + .long 0x3F8CB2D4 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ + .long 0x3F8DCB24 /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ + .long 0x3F8EDF31 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ + .long 0x3F8FEF22 /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ + .long 0x3F90FB1F /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ + .long 0x3F92034C /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ + .long 0x3F9307CA /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ + .long 0x3F9408B9 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ + .long 0x3F950638 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ + .long 0x3F960064 /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ + .long 0x3F96F759 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ + .long 0x3F97EB2F /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ + .long 0x3F98DC01 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ + .long 0x3F99C9E5 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ + .long 0x3F9AB4F2 /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ + .long 0x3F9B9D3D /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ + .long 0x3F9C82DA /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ + .long 0x3F9D65DD /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ + .long 0x3F9E4659 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ + .long 0x3F9F245F /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ + .long 0x3FA00000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ + .long 0x3FA0D94C /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ + .long 0x3FA21B02 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ + .long 0x3FA3C059 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ + .long 0x3FA55D61 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ + .long 0x3FA6F282 /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ + .long 0x3FA8801A /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ + .long 0x3FAA067E /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ + .long 0x3FAB8602 /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ + .long 0x3FACFEEF /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ + .long 0x3FAE718E /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ + .long 0x3FAFDE1F /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ + .long 0x3FB144E1 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ + .long 0x3FB2A60D /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395692 */ + .long 0x3FB401DA /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ + .long 0x3FB5587B /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ + .long 0x3FB6AA20 /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ + .long 0x3FB7F6F7 /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ + .long 0x3FB93F29 /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ + .long 0x3FBA82E1 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ + .long 0x3FBBC244 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ + .long 0x3FBCFD77 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ + .long 0x3FBE349B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ + .long 0x3FBF67D3 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ + .long 0x3FC0973C /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ + .long 0x3FC1C2F6 /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ + .long 0x3FC2EB1A /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ + .long 0x3FC40FC6 /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ + .long 0x3FC53112 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ + .long 0x3FC64F16 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ + .long 0x3FC769EB /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ + .long 0x3FC881A6 /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ + .long 0x3FC9965D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ + .long 0x3FCAA825 /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ + .long 0x3FCC3D79 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ + .long 0x3FCE5054 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ + .long 0x3FD058B8 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627707 */ + .long 0x3FD25726 /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ + .long 0x3FD44C15 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ + .long 0x3FD637F2 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ + .long 0x3FD81B24 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ + .long 0x3FD9F60B /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ + .long 0x3FDBC8FE /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ + .long 0x3FDD9452 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ + .long 0x3FDF5853 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ + .long 0x3FE1154B /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ + .long 0x3FE2CB7F /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ + .long 0x3FE47B2E /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ + .long 0x3FE62496 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ + .long 0x3FE7C7F0 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ + .long 0x3FE96571 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ + .long 0x3FEAFD4C /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ + .long 0x3FEC8FB3 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ + .long 0x3FEE1CD3 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ + .long 0x3FEFA4D7 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ + .long 0x3FF127E9 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.88403 */ + .long 0x3FF2A62F /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ + .long 0x3FF41FD0 /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ + .long 0x3FF594EE /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918607 */ + .long 0x3FF705AC /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ + .long 0x3FF8722A /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ + .long 0x3FF9DA86 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ + .long 0x3FFB3EDE /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ + .long 0x3FFC9F4E /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ + .long 0x3FFDFBF2 /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ + .long 0x3FFF54E3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ + .align 16 + .long 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962 /* _sP2 */ + .align 16 + .long 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91 /* _sP1 */ + .align 16 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff /* _sMantissaMask (EXP_MSK3) */ + .align 16 + .long 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000 /* _sMantissaMask1 (SIG_MASK) */ + .align 16 + .long 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000 /* _sExpMask (EXP_MASK) */ + .align 16 + .long 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000 /* _sExpMask1 (EXP_MASK2) */ + .align 16 + .long 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c /* _iRcpIndexMask */ + .align 16 + .long 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff /* _iBExpMask */ + .align 16 + .long 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iSignMask */ + .align 16 + .long 0x00000055, 0x00000055, 0x00000055, 0x00000055 /* _iBias */ + .align 16 + .long 0x00000001, 0x00000001, 0x00000001, 0x00000001 /* _iOne */ + .align 16 + .long 0x00000555, 0x00000555, 0x00000555, 0x00000555 /* _i555 */ + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 16 + .long 0x80800000, 0x80800000, 0x80800000, 0x80800000 /* _iSubConst */ + .align 16 + .long 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF /* _iCmpConst */ + .align 16 + .type __svml_scbrt_data_internal, @object + .size __svml_scbrt_data_internal, .-__svml_scbrt_data_internal + .align 16 .FLT_17: - .long 0xffffffff,0x00000000,0xffffffff,0x00000000 - .type .FLT_17,@object - .size .FLT_17,16 + .long 0xffffffff, 0x00000000, 0xffffffff, 0x00000000 + .type .FLT_17, @object + .size .FLT_17, 16 From patchwork Mon Mar 7 15:00:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602380 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=FNzaBNKK; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3YG5R15z9sFt for ; Tue, 8 Mar 2022 03:18:42 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D92B8385801F for ; Mon, 7 Mar 2022 16:18:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D92B8385801F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669920; bh=NKpIlFGhEwaSf4Iitft8OUnOGzvIIabbohpXfQfig90=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=FNzaBNKKpgN5pMor9Yr4E/mE/RyRmuIe9N17D2AYUF8fXW/XPDYfcdzrXtuc9DqPO sYFM6C3AGGMssUwdSaPSX+eo5wNe/0K1LoAYGSw4Dp3xk/Ae9fLrWQNBezsCL2z+QY H6f2PFHlrNpoR5L0CcWcrHnFIfgv3D87qBZbTS5I= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 8B5C83858C2C for ; Mon, 7 Mar 2022 15:03:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8B5C83858C2C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364125" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364125" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081778" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eJ016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 045/126] x86_64: Fix svml_s_cbrtf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:40 -0800 Message-Id: <20220307150201.10590-46-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=2.3 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_cbrtf8_core_avx2.S | 898 +++++++++--------- 1 file changed, 448 insertions(+), 450 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S index 8b780af3ed..d24d36163d 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_cbrtf8_core_avx2.S @@ -31,479 +31,477 @@ /* Offsets for data table __svml_scbrt_data_internal */ -#define _sRcp 0 -#define _sCbrtHL 128 -#define _sP2 512 -#define _sP1 544 -#define _sMantissaMask 576 -#define _sMantissaMask1 608 -#define _sExpMask 640 -#define _sExpMask1 672 -#define _iRcpIndexMask 704 -#define _iBExpMask 736 -#define _iSignMask 768 -#define _iBias 800 -#define _iOne 832 -#define _i555 864 -#define _iAbsMask 896 -#define _iSubConst 928 -#define _iCmpConst 960 +#define _sRcp 0 +#define _sCbrtHL 128 +#define _sP2 512 +#define _sP1 544 +#define _sMantissaMask 576 +#define _sMantissaMask1 608 +#define _sExpMask 640 +#define _sExpMask1 672 +#define _iRcpIndexMask 704 +#define _iBExpMask 736 +#define _iSignMask 768 +#define _iBias 800 +#define _iOne 832 +#define _i555 864 +#define _iAbsMask 896 +#define _iSubConst 928 +#define _iCmpConst 960 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_cbrtf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* Load reciprocal value */ - lea __svml_scbrt_data_internal(%rip), %rdx - vmovaps %ymm0, %ymm5 - -/* - * Load constants - * Reciprocal index calculation - */ - vpsrld $16, %ymm5, %ymm3 - vpand _iRcpIndexMask+__svml_scbrt_data_internal(%rip), %ymm3, %ymm4 - vextractf128 $1, %ymm4, %xmm15 - vmovd %xmm4, %eax - vmovd %xmm15, %r8d - vpextrd $1, %xmm15, %r9d - vpextrd $2, %xmm15, %r10d - vpextrd $3, %xmm15, %r11d - movslq %r8d, %r8 - movslq %r9d, %r9 - movslq %r10d, %r10 - movslq %r11d, %r11 - vpextrd $1, %xmm4, %ecx - vpextrd $2, %xmm4, %esi - vpextrd $3, %xmm4, %edi - movslq %eax, %rax - movslq %ecx, %rcx - movslq %esi, %rsi - movslq %edi, %rdi - vmovd (%rdx,%r8), %xmm13 - vmovd (%rdx,%r9), %xmm14 - vmovd (%rdx,%r10), %xmm1 - vmovd (%rdx,%r11), %xmm0 - vpunpckldq %xmm14, %xmm13, %xmm2 - vpunpckldq %xmm0, %xmm1, %xmm13 - -/* Get signed biased exponent */ - vpsrld $7, %ymm3, %ymm0 - vmovd (%rdx,%rax), %xmm6 - vmovd (%rdx,%rcx), %xmm7 - vmovd (%rdx,%rsi), %xmm8 - vmovd (%rdx,%rdi), %xmm9 - vpunpckldq %xmm7, %xmm6, %xmm10 - vpunpckldq %xmm9, %xmm8, %xmm11 - vpunpcklqdq %xmm11, %xmm10, %xmm12 - vpunpcklqdq %xmm13, %xmm2, %xmm6 - vandps _iAbsMask+__svml_scbrt_data_internal(%rip), %ymm5, %ymm3 - -/* Argument reduction */ - vandps _sMantissaMask+__svml_scbrt_data_internal(%rip), %ymm5, %ymm8 - vandps _sMantissaMask1+__svml_scbrt_data_internal(%rip), %ymm5, %ymm9 - vpsubd _iSubConst+__svml_scbrt_data_internal(%rip), %ymm3, %ymm7 - vorps _sExpMask+__svml_scbrt_data_internal(%rip), %ymm8, %ymm10 - vorps _sExpMask1+__svml_scbrt_data_internal(%rip), %ymm9, %ymm11 - -/* r=y-y` */ - vsubps %ymm11, %ymm10, %ymm15 - -/* Biased exponent-1 */ - vpand _iSignMask+__svml_scbrt_data_internal(%rip), %ymm0, %ymm8 - vpcmpgtd _iCmpConst+__svml_scbrt_data_internal(%rip), %ymm7, %ymm2 - vmovmskps %ymm2, %eax - vinsertf128 $1, %xmm6, %ymm12, %ymm14 - -/* Get absolute biased exponent */ - vpand _iBExpMask+__svml_scbrt_data_internal(%rip), %ymm0, %ymm6 - -/* r=(y-y`)*rcp_table(y`) */ - vmulps %ymm15, %ymm14, %ymm1 - vpsubd _iOne+__svml_scbrt_data_internal(%rip), %ymm6, %ymm10 - -/* - * Calculate exponent/3 - * i555Exp=(2^{12}-1)/3*exponent - */ - vpmulld _i555+__svml_scbrt_data_internal(%rip), %ymm6, %ymm3 - -/* Get K (exponent=3*k+j) */ - vpsrld $12, %ymm3, %ymm13 - -/* Get J */ - vpsubd %ymm13, %ymm10, %ymm11 - -/* Add 2/3*(bias-1)+1 to (k+1/3*(bias-1)) */ - vpaddd _iBias+__svml_scbrt_data_internal(%rip), %ymm13, %ymm7 - vpsubd %ymm13, %ymm11, %ymm12 - -/* Attach sign to exponent */ - vpor %ymm8, %ymm7, %ymm9 - vpsubd %ymm13, %ymm12, %ymm14 - vpslld $23, %ymm9, %ymm0 - -/* Get 128*J */ - vpslld $7, %ymm14, %ymm15 - -/* iCbrtIndex=4*l+128*j */ - vpaddd %ymm15, %ymm4, %ymm4 - -/* Zero index if callout expected */ - vpandn %ymm4, %ymm2, %ymm4 - -/* Load Cbrt table Hi & Lo values */ - vmovd %xmm4, %ecx - vextractf128 $1, %ymm4, %xmm13 - vpextrd $1, %xmm4, %esi - movslq %ecx, %rcx - movslq %esi, %rsi - vmovd %xmm13, %r9d - vmovd 128(%rdx,%rcx), %xmm2 - vpextrd $2, %xmm4, %edi - vpextrd $3, %xmm4, %r8d - vmovd 128(%rdx,%rsi), %xmm3 - vpextrd $1, %xmm13, %r10d - vpextrd $2, %xmm13, %ecx - vpextrd $3, %xmm13, %esi - movslq %edi, %rdi - movslq %r8d, %r8 - movslq %r9d, %r9 - movslq %r10d, %r10 - movslq %ecx, %rcx - movslq %esi, %rsi - vmovd 128(%rdx,%rdi), %xmm6 - vmovd 128(%rdx,%r8), %xmm7 - vmovd 128(%rdx,%r9), %xmm11 - vmovd 128(%rdx,%r10), %xmm12 - vmovd 128(%rdx,%rcx), %xmm14 - vmovd 128(%rdx,%rsi), %xmm15 - vpunpckldq %xmm3, %xmm2, %xmm8 - vpunpckldq %xmm7, %xmm6, %xmm9 - vpunpckldq %xmm12, %xmm11, %xmm4 - vpunpckldq %xmm15, %xmm14, %xmm11 - vpunpcklqdq %xmm9, %xmm8, %xmm10 - vpunpcklqdq %xmm11, %xmm4, %xmm2 - vinsertf128 $1, %xmm2, %ymm10, %ymm3 - -/* sCbrtHi *= 2^k */ - vmulps %ymm3, %ymm0, %ymm2 - -/* Polynomial: p1+r*(p2*r+r*(p3+r*p4)) */ - vmovups _sP2+__svml_scbrt_data_internal(%rip), %ymm0 - vfmadd213ps _sP1+__svml_scbrt_data_internal(%rip), %ymm1, %ymm0 - -/* T`*r */ - vmulps %ymm2, %ymm1, %ymm1 - -/* (T`*r)*P */ - vmulps %ymm1, %ymm0, %ymm0 - -/* - * T`*r*P+D` - * result = T`+(T`*r*P+D`) - */ - vaddps %ymm0, %ymm2, %ymm0 - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm5 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* Load reciprocal value */ + lea __svml_scbrt_data_internal(%rip), %rdx + vmovaps %ymm0, %ymm5 + + /* + * Load constants + * Reciprocal index calculation + */ + vpsrld $16, %ymm5, %ymm3 + vpand _iRcpIndexMask+__svml_scbrt_data_internal(%rip), %ymm3, %ymm4 + vextractf128 $1, %ymm4, %xmm15 + vmovd %xmm4, %eax + vmovd %xmm15, %r8d + vpextrd $1, %xmm15, %r9d + vpextrd $2, %xmm15, %r10d + vpextrd $3, %xmm15, %r11d + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %r11d, %r11 + vpextrd $1, %xmm4, %ecx + vpextrd $2, %xmm4, %esi + vpextrd $3, %xmm4, %edi + movslq %eax, %rax + movslq %ecx, %rcx + movslq %esi, %rsi + movslq %edi, %rdi + vmovd (%rdx, %r8), %xmm13 + vmovd (%rdx, %r9), %xmm14 + vmovd (%rdx, %r10), %xmm1 + vmovd (%rdx, %r11), %xmm0 + vpunpckldq %xmm14, %xmm13, %xmm2 + vpunpckldq %xmm0, %xmm1, %xmm13 + + /* Get signed biased exponent */ + vpsrld $7, %ymm3, %ymm0 + vmovd (%rdx, %rax), %xmm6 + vmovd (%rdx, %rcx), %xmm7 + vmovd (%rdx, %rsi), %xmm8 + vmovd (%rdx, %rdi), %xmm9 + vpunpckldq %xmm7, %xmm6, %xmm10 + vpunpckldq %xmm9, %xmm8, %xmm11 + vpunpcklqdq %xmm11, %xmm10, %xmm12 + vpunpcklqdq %xmm13, %xmm2, %xmm6 + vandps _iAbsMask+__svml_scbrt_data_internal(%rip), %ymm5, %ymm3 + + /* Argument reduction */ + vandps _sMantissaMask+__svml_scbrt_data_internal(%rip), %ymm5, %ymm8 + vandps _sMantissaMask1+__svml_scbrt_data_internal(%rip), %ymm5, %ymm9 + vpsubd _iSubConst+__svml_scbrt_data_internal(%rip), %ymm3, %ymm7 + vorps _sExpMask+__svml_scbrt_data_internal(%rip), %ymm8, %ymm10 + vorps _sExpMask1+__svml_scbrt_data_internal(%rip), %ymm9, %ymm11 + + /* r=y-y` */ + vsubps %ymm11, %ymm10, %ymm15 + + /* Biased exponent-1 */ + vpand _iSignMask+__svml_scbrt_data_internal(%rip), %ymm0, %ymm8 + vpcmpgtd _iCmpConst+__svml_scbrt_data_internal(%rip), %ymm7, %ymm2 + vmovmskps %ymm2, %eax + vinsertf128 $1, %xmm6, %ymm12, %ymm14 + + /* Get absolute biased exponent */ + vpand _iBExpMask+__svml_scbrt_data_internal(%rip), %ymm0, %ymm6 + + /* r=(y-y`)*rcp_table(y`) */ + vmulps %ymm15, %ymm14, %ymm1 + vpsubd _iOne+__svml_scbrt_data_internal(%rip), %ymm6, %ymm10 + + /* + * Calculate exponent/3 + * i555Exp=(2^{12}-1)/3*exponent + */ + vpmulld _i555+__svml_scbrt_data_internal(%rip), %ymm6, %ymm3 + + /* Get K (exponent=3*k+j) */ + vpsrld $12, %ymm3, %ymm13 + + /* Get J */ + vpsubd %ymm13, %ymm10, %ymm11 + + /* Add 2/3*(bias-1)+1 to (k+1/3*(bias-1)) */ + vpaddd _iBias+__svml_scbrt_data_internal(%rip), %ymm13, %ymm7 + vpsubd %ymm13, %ymm11, %ymm12 + + /* Attach sign to exponent */ + vpor %ymm8, %ymm7, %ymm9 + vpsubd %ymm13, %ymm12, %ymm14 + vpslld $23, %ymm9, %ymm0 + + /* Get 128*J */ + vpslld $7, %ymm14, %ymm15 + + /* iCbrtIndex=4*l+128*j */ + vpaddd %ymm15, %ymm4, %ymm4 + + /* Zero index if callout expected */ + vpandn %ymm4, %ymm2, %ymm4 + + /* Load Cbrt table Hi & Lo values */ + vmovd %xmm4, %ecx + vextractf128 $1, %ymm4, %xmm13 + vpextrd $1, %xmm4, %esi + movslq %ecx, %rcx + movslq %esi, %rsi + vmovd %xmm13, %r9d + vmovd 128(%rdx, %rcx), %xmm2 + vpextrd $2, %xmm4, %edi + vpextrd $3, %xmm4, %r8d + vmovd 128(%rdx, %rsi), %xmm3 + vpextrd $1, %xmm13, %r10d + vpextrd $2, %xmm13, %ecx + vpextrd $3, %xmm13, %esi + movslq %edi, %rdi + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %ecx, %rcx + movslq %esi, %rsi + vmovd 128(%rdx, %rdi), %xmm6 + vmovd 128(%rdx, %r8), %xmm7 + vmovd 128(%rdx, %r9), %xmm11 + vmovd 128(%rdx, %r10), %xmm12 + vmovd 128(%rdx, %rcx), %xmm14 + vmovd 128(%rdx, %rsi), %xmm15 + vpunpckldq %xmm3, %xmm2, %xmm8 + vpunpckldq %xmm7, %xmm6, %xmm9 + vpunpckldq %xmm12, %xmm11, %xmm4 + vpunpckldq %xmm15, %xmm14, %xmm11 + vpunpcklqdq %xmm9, %xmm8, %xmm10 + vpunpcklqdq %xmm11, %xmm4, %xmm2 + vinsertf128 $1, %xmm2, %ymm10, %ymm3 + + /* sCbrtHi *= 2^k */ + vmulps %ymm3, %ymm0, %ymm2 + + /* Polynomial: p1+r*(p2*r+r*(p3+r*p4)) */ + vmovups _sP2+__svml_scbrt_data_internal(%rip), %ymm0 + vfmadd213ps _sP1+__svml_scbrt_data_internal(%rip), %ymm1, %ymm0 + + /* T`*r */ + vmulps %ymm2, %ymm1, %ymm1 + + /* (T`*r)*P */ + vmulps %ymm1, %ymm0, %ymm0 + + /* + * T`*r*P+D` + * result = T`+(T`*r*P+D`) + */ + vaddps %ymm0, %ymm2, %ymm0 + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm5 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm5, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 - - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm5, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 + + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call cbrtf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call cbrtf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_cbrtf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_scbrt_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _sRcp[32][1]; - __declspec(align(32)) VUINT32 _sCbrtHL[96][1]; - __declspec(align(32)) VUINT32 _sP2[8][1]; - __declspec(align(32)) VUINT32 _sP1[8][1]; - __declspec(align(32)) VUINT32 _sMantissaMask[8][1]; - __declspec(align(32)) VUINT32 _sMantissaMask1[8][1]; - __declspec(align(32)) VUINT32 _sExpMask[8][1]; - __declspec(align(32)) VUINT32 _sExpMask1[8][1]; - __declspec(align(32)) VUINT32 _iRcpIndexMask[8][1]; - __declspec(align(32)) VUINT32 _iBExpMask[8][1]; - __declspec(align(32)) VUINT32 _iSignMask[8][1]; - __declspec(align(32)) VUINT32 _iBias[8][1]; - __declspec(align(32)) VUINT32 _iOne[8][1]; - __declspec(align(32)) VUINT32 _i555[8][1]; - __declspec(align(32)) VUINT32 _iAbsMask[8][1]; - __declspec(align(32)) VUINT32 _iSubConst[8][1]; - __declspec(align(32)) VUINT32 _iCmpConst[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _sRcp[32][1]; + __declspec(align(32)) VUINT32 _sCbrtHL[96][1]; + __declspec(align(32)) VUINT32 _sP2[8][1]; + __declspec(align(32)) VUINT32 _sP1[8][1]; + __declspec(align(32)) VUINT32 _sMantissaMask[8][1]; + __declspec(align(32)) VUINT32 _sMantissaMask1[8][1]; + __declspec(align(32)) VUINT32 _sExpMask[8][1]; + __declspec(align(32)) VUINT32 _sExpMask1[8][1]; + __declspec(align(32)) VUINT32 _iRcpIndexMask[8][1]; + __declspec(align(32)) VUINT32 _iBExpMask[8][1]; + __declspec(align(32)) VUINT32 _iSignMask[8][1]; + __declspec(align(32)) VUINT32 _iBias[8][1]; + __declspec(align(32)) VUINT32 _iOne[8][1]; + __declspec(align(32)) VUINT32 _i555[8][1]; + __declspec(align(32)) VUINT32 _iAbsMask[8][1]; + __declspec(align(32)) VUINT32 _iSubConst[8][1]; + __declspec(align(32)) VUINT32 _iCmpConst[8][1]; } __svml_scbrt_data_internal; #endif __svml_scbrt_data_internal: - /*== _sRcp ==*/ - .long 0xBF7C0FC1 /* (1/(1+0/32+1/64)) = -.984615 */ - .long 0xBF74898D /* (1/(1+1/32+1/64)) = -.955224 */ - .long 0xBF6D7304 /* (1/(1+2/32+1/64)) = -.927536 */ - .long 0xBF66C2B4 /* (1/(1+3/32+1/64)) = -.901408 */ - .long 0xBF607038 /* (1/(1+4/32+1/64)) = -.876712 */ - .long 0xBF5A740E /* (1/(1+5/32+1/64)) = -.853333 */ - .long 0xBF54C77B /* (1/(1+6/32+1/64)) = -.831169 */ - .long 0xBF4F6475 /* (1/(1+7/32+1/64)) = -.810127 */ - .long 0xBF4A4588 /* (1/(1+8/32+1/64)) = -.790123 */ - .long 0xBF4565C8 /* (1/(1+9/32+1/64)) = -.771084 */ - .long 0xBF40C0C1 /* (1/(1+10/32+1/64)) = -.752941 */ - .long 0xBF3C5264 /* (1/(1+11/32+1/64)) = -.735632 */ - .long 0xBF381703 /* (1/(1+12/32+1/64)) = -.719101 */ - .long 0xBF340B41 /* (1/(1+13/32+1/64)) = -.703297 */ - .long 0xBF302C0B /* (1/(1+14/32+1/64)) = -.688172 */ - .long 0xBF2C7692 /* (1/(1+15/32+1/64)) = -.673684 */ - .long 0xBF28E83F /* (1/(1+16/32+1/64)) = -.659794 */ - .long 0xBF257EB5 /* (1/(1+17/32+1/64)) = -.646465 */ - .long 0xBF2237C3 /* (1/(1+18/32+1/64)) = -.633663 */ - .long 0xBF1F1166 /* (1/(1+19/32+1/64)) = -.621359 */ - .long 0xBF1C09C1 /* (1/(1+20/32+1/64)) = -.609524 */ - .long 0xBF191F1A /* (1/(1+21/32+1/64)) = -.598131 */ - .long 0xBF164FDA /* (1/(1+22/32+1/64)) = -.587156 */ - .long 0xBF139A86 /* (1/(1+23/32+1/64)) = -.576577 */ - .long 0xBF10FDBC /* (1/(1+24/32+1/64)) = -.566372 */ - .long 0xBF0E7835 /* (1/(1+25/32+1/64)) = -.556522 */ - .long 0xBF0C08C1 /* (1/(1+26/32+1/64)) = -.547009 */ - .long 0xBF09AE41 /* (1/(1+27/32+1/64)) = -.537815 */ - .long 0xBF0767AB /* (1/(1+28/32+1/64)) = -.528926 */ - .long 0xBF053408 /* (1/(1+29/32+1/64)) = -.520325 */ - .long 0xBF03126F /* (1/(1+30/32+1/64)) = -.512 */ - .long 0xBF010204 /* (1/(1+31/32+1/64)) = -.503937 */ - /*== _sCbrtHL ==*/ - .align 32 - .long 0x3F80A9C9 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ - .long 0x3F81F833 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ - .long 0x3F834007 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ - .long 0x3F848194 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ - .long 0x3F85BD25 /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ - .long 0x3F86F300 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ - .long 0x3F882365 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ - .long 0x3F894E90 /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ - .long 0x3F8A74B9 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ - .long 0x3F8B9615 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ - .long 0x3F8CB2D4 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ - .long 0x3F8DCB24 /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ - .long 0x3F8EDF31 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ - .long 0x3F8FEF22 /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ - .long 0x3F90FB1F /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ - .long 0x3F92034C /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ - .long 0x3F9307CA /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ - .long 0x3F9408B9 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ - .long 0x3F950638 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ - .long 0x3F960064 /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ - .long 0x3F96F759 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ - .long 0x3F97EB2F /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ - .long 0x3F98DC01 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ - .long 0x3F99C9E5 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ - .long 0x3F9AB4F2 /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ - .long 0x3F9B9D3D /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ - .long 0x3F9C82DA /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ - .long 0x3F9D65DD /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ - .long 0x3F9E4659 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ - .long 0x3F9F245F /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ - .long 0x3FA00000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ - .long 0x3FA0D94C /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ - .long 0x3FA21B02 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ - .long 0x3FA3C059 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ - .long 0x3FA55D61 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ - .long 0x3FA6F282 /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ - .long 0x3FA8801A /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ - .long 0x3FAA067E /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ - .long 0x3FAB8602 /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ - .long 0x3FACFEEF /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ - .long 0x3FAE718E /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ - .long 0x3FAFDE1F /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ - .long 0x3FB144E1 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ - .long 0x3FB2A60D /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395692 */ - .long 0x3FB401DA /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ - .long 0x3FB5587B /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ - .long 0x3FB6AA20 /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ - .long 0x3FB7F6F7 /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ - .long 0x3FB93F29 /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ - .long 0x3FBA82E1 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ - .long 0x3FBBC244 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ - .long 0x3FBCFD77 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ - .long 0x3FBE349B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ - .long 0x3FBF67D3 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ - .long 0x3FC0973C /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ - .long 0x3FC1C2F6 /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ - .long 0x3FC2EB1A /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ - .long 0x3FC40FC6 /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ - .long 0x3FC53112 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ - .long 0x3FC64F16 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ - .long 0x3FC769EB /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ - .long 0x3FC881A6 /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ - .long 0x3FC9965D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ - .long 0x3FCAA825 /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ - .long 0x3FCC3D79 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ - .long 0x3FCE5054 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ - .long 0x3FD058B8 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627707 */ - .long 0x3FD25726 /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ - .long 0x3FD44C15 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ - .long 0x3FD637F2 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ - .long 0x3FD81B24 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ - .long 0x3FD9F60B /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ - .long 0x3FDBC8FE /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ - .long 0x3FDD9452 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ - .long 0x3FDF5853 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ - .long 0x3FE1154B /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ - .long 0x3FE2CB7F /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ - .long 0x3FE47B2E /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ - .long 0x3FE62496 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ - .long 0x3FE7C7F0 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ - .long 0x3FE96571 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ - .long 0x3FEAFD4C /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ - .long 0x3FEC8FB3 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ - .long 0x3FEE1CD3 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ - .long 0x3FEFA4D7 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ - .long 0x3FF127E9 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.88403 */ - .long 0x3FF2A62F /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ - .long 0x3FF41FD0 /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ - .long 0x3FF594EE /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918607 */ - .long 0x3FF705AC /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ - .long 0x3FF8722A /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ - .long 0x3FF9DA86 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ - .long 0x3FFB3EDE /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ - .long 0x3FFC9F4E /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ - .long 0x3FFDFBF2 /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ - .long 0x3FFF54E3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ - .align 32 - .long 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962 /* _sP2 */ - .align 32 - .long 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91 /* _sP1 */ - .align 32 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff /* _sMantissaMask (EXP_MSK3) */ - .align 32 - .long 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000 /* _sMantissaMask1 (SIG_MASK) */ - .align 32 - .long 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000 /* _sExpMask (EXP_MASK) */ - .align 32 - .long 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000 /* _sExpMask1 (EXP_MASK2) */ - .align 32 - .long 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c /* _iRcpIndexMask */ - .align 32 - .long 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff /* _iBExpMask */ - .align 32 - .long 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iSignMask */ - .align 32 - .long 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055 /* _iBias */ - .align 32 - .long 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001 /* _iOne */ - .align 32 - .long 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555 /* _i555 */ - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 32 - .long 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000 /* _iSubConst */ - .align 32 - .long 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF /* _iCmpConst */ - .align 32 - .type __svml_scbrt_data_internal,@object - .size __svml_scbrt_data_internal,.-__svml_scbrt_data_internal + /* _sRcp */ + .long 0xBF7C0FC1 /* (1/(1+0/32+1/64)) = -.984615 */ + .long 0xBF74898D /* (1/(1+1/32+1/64)) = -.955224 */ + .long 0xBF6D7304 /* (1/(1+2/32+1/64)) = -.927536 */ + .long 0xBF66C2B4 /* (1/(1+3/32+1/64)) = -.901408 */ + .long 0xBF607038 /* (1/(1+4/32+1/64)) = -.876712 */ + .long 0xBF5A740E /* (1/(1+5/32+1/64)) = -.853333 */ + .long 0xBF54C77B /* (1/(1+6/32+1/64)) = -.831169 */ + .long 0xBF4F6475 /* (1/(1+7/32+1/64)) = -.810127 */ + .long 0xBF4A4588 /* (1/(1+8/32+1/64)) = -.790123 */ + .long 0xBF4565C8 /* (1/(1+9/32+1/64)) = -.771084 */ + .long 0xBF40C0C1 /* (1/(1+10/32+1/64)) = -.752941 */ + .long 0xBF3C5264 /* (1/(1+11/32+1/64)) = -.735632 */ + .long 0xBF381703 /* (1/(1+12/32+1/64)) = -.719101 */ + .long 0xBF340B41 /* (1/(1+13/32+1/64)) = -.703297 */ + .long 0xBF302C0B /* (1/(1+14/32+1/64)) = -.688172 */ + .long 0xBF2C7692 /* (1/(1+15/32+1/64)) = -.673684 */ + .long 0xBF28E83F /* (1/(1+16/32+1/64)) = -.659794 */ + .long 0xBF257EB5 /* (1/(1+17/32+1/64)) = -.646465 */ + .long 0xBF2237C3 /* (1/(1+18/32+1/64)) = -.633663 */ + .long 0xBF1F1166 /* (1/(1+19/32+1/64)) = -.621359 */ + .long 0xBF1C09C1 /* (1/(1+20/32+1/64)) = -.609524 */ + .long 0xBF191F1A /* (1/(1+21/32+1/64)) = -.598131 */ + .long 0xBF164FDA /* (1/(1+22/32+1/64)) = -.587156 */ + .long 0xBF139A86 /* (1/(1+23/32+1/64)) = -.576577 */ + .long 0xBF10FDBC /* (1/(1+24/32+1/64)) = -.566372 */ + .long 0xBF0E7835 /* (1/(1+25/32+1/64)) = -.556522 */ + .long 0xBF0C08C1 /* (1/(1+26/32+1/64)) = -.547009 */ + .long 0xBF09AE41 /* (1/(1+27/32+1/64)) = -.537815 */ + .long 0xBF0767AB /* (1/(1+28/32+1/64)) = -.528926 */ + .long 0xBF053408 /* (1/(1+29/32+1/64)) = -.520325 */ + .long 0xBF03126F /* (1/(1+30/32+1/64)) = -.512 */ + .long 0xBF010204 /* (1/(1+31/32+1/64)) = -.503937 */ + /* _sCbrtHL */ + .align 32 + .long 0x3F80A9C9 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ + .long 0x3F81F833 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ + .long 0x3F834007 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ + .long 0x3F848194 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ + .long 0x3F85BD25 /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ + .long 0x3F86F300 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ + .long 0x3F882365 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ + .long 0x3F894E90 /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ + .long 0x3F8A74B9 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ + .long 0x3F8B9615 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ + .long 0x3F8CB2D4 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ + .long 0x3F8DCB24 /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ + .long 0x3F8EDF31 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ + .long 0x3F8FEF22 /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ + .long 0x3F90FB1F /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ + .long 0x3F92034C /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ + .long 0x3F9307CA /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ + .long 0x3F9408B9 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ + .long 0x3F950638 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ + .long 0x3F960064 /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ + .long 0x3F96F759 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ + .long 0x3F97EB2F /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ + .long 0x3F98DC01 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ + .long 0x3F99C9E5 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ + .long 0x3F9AB4F2 /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ + .long 0x3F9B9D3D /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ + .long 0x3F9C82DA /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ + .long 0x3F9D65DD /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ + .long 0x3F9E4659 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ + .long 0x3F9F245F /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ + .long 0x3FA00000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ + .long 0x3FA0D94C /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ + .long 0x3FA21B02 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ + .long 0x3FA3C059 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ + .long 0x3FA55D61 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ + .long 0x3FA6F282 /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ + .long 0x3FA8801A /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ + .long 0x3FAA067E /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ + .long 0x3FAB8602 /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ + .long 0x3FACFEEF /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ + .long 0x3FAE718E /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ + .long 0x3FAFDE1F /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ + .long 0x3FB144E1 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ + .long 0x3FB2A60D /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395692 */ + .long 0x3FB401DA /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ + .long 0x3FB5587B /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ + .long 0x3FB6AA20 /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ + .long 0x3FB7F6F7 /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ + .long 0x3FB93F29 /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ + .long 0x3FBA82E1 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ + .long 0x3FBBC244 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ + .long 0x3FBCFD77 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ + .long 0x3FBE349B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ + .long 0x3FBF67D3 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ + .long 0x3FC0973C /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ + .long 0x3FC1C2F6 /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ + .long 0x3FC2EB1A /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ + .long 0x3FC40FC6 /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ + .long 0x3FC53112 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ + .long 0x3FC64F16 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ + .long 0x3FC769EB /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ + .long 0x3FC881A6 /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ + .long 0x3FC9965D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ + .long 0x3FCAA825 /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ + .long 0x3FCC3D79 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ + .long 0x3FCE5054 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ + .long 0x3FD058B8 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627707 */ + .long 0x3FD25726 /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ + .long 0x3FD44C15 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ + .long 0x3FD637F2 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ + .long 0x3FD81B24 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ + .long 0x3FD9F60B /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ + .long 0x3FDBC8FE /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ + .long 0x3FDD9452 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ + .long 0x3FDF5853 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ + .long 0x3FE1154B /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ + .long 0x3FE2CB7F /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ + .long 0x3FE47B2E /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ + .long 0x3FE62496 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ + .long 0x3FE7C7F0 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ + .long 0x3FE96571 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ + .long 0x3FEAFD4C /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ + .long 0x3FEC8FB3 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ + .long 0x3FEE1CD3 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ + .long 0x3FEFA4D7 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ + .long 0x3FF127E9 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.88403 */ + .long 0x3FF2A62F /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ + .long 0x3FF41FD0 /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ + .long 0x3FF594EE /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918607 */ + .long 0x3FF705AC /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ + .long 0x3FF8722A /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ + .long 0x3FF9DA86 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ + .long 0x3FFB3EDE /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ + .long 0x3FFC9F4E /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ + .long 0x3FFDFBF2 /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ + .long 0x3FFF54E3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ + .align 32 + .long 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962, 0xBDE3A962 /* _sP2 */ + .align 32 + .long 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91, 0x3EAAAC91 /* _sP1 */ + .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff /* _sMantissaMask (EXP_MSK3) */ + .align 32 + .long 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000, 0x007e0000 /* _sMantissaMask1 (SIG_MASK) */ + .align 32 + .long 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000 /* _sExpMask (EXP_MASK) */ + .align 32 + .long 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000, 0xBF820000 /* _sExpMask1 (EXP_MASK2) */ + .align 32 + .long 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c, 0x0000007c /* _iRcpIndexMask */ + .align 32 + .long 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff /* _iBExpMask */ + .align 32 + .long 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iSignMask */ + .align 32 + .long 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055, 0x00000055 /* _iBias */ + .align 32 + .long 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001, 0x00000001 /* _iOne */ + .align 32 + .long 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555, 0x00000555 /* _i555 */ + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 32 + .long 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000, 0x80800000 /* _iSubConst */ + .align 32 + .long 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF, 0xFEFFFFFF /* _iCmpConst */ + .align 32 + .type __svml_scbrt_data_internal, @object + .size __svml_scbrt_data_internal, .-__svml_scbrt_data_internal From patchwork Mon Mar 7 15:00:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602260 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=l0yvw8wb; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2FQ64T1z9sFk for ; Tue, 8 Mar 2022 02:19:54 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B0EF93858403 for ; Mon, 7 Mar 2022 15:19:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B0EF93858403 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666392; bh=LNksjtFNwlZBvFDpukJn7fabzryJGuQijAcHB9aBIbw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=l0yvw8wbsve3ZdcMItkgdT8JWiJz/R7Q5gcOsFplAnBX8v4KQK1+mUo+QJZZRSTYC /OMbrkxJSoRV2W1553gHBDN79fi6yL3g/n9xF5S2+fzRnFKnqf8NQG6ZTb1BUq9rro sdT+ct4E3336kUg7/PzjnnuonhC0r4FVsf91thoQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id B6B6B385842E for ; Mon, 7 Mar 2022 15:02:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B6B6B385842E X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113926" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113926" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274084" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eK016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 046/126] x86_64: Fix svml_d_cbrt2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:41 -0800 Message-Id: <20220307150201.10590-47-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_cbrt2_core_sse4.S | 814 +++++++++--------- 1 file changed, 406 insertions(+), 408 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S index 7b78e4ddd5..9baaeaa5cc 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt2_core_sse4.S @@ -31,437 +31,435 @@ /* Offsets for data table __svml_dcbrt_data_internal */ -#define _dRcp 0 -#define _dCbrtHiLo 256 -#define _dA7 1024 -#define _dA6 1040 -#define _dA5 1056 -#define _dA4 1072 -#define _dA3 1088 -#define _dA2 1104 -#define _dA1 1120 -#define _dNeg65Div64 1136 -#define _dSgnf6Mask 1152 -#define _dNegOne 1168 -#define _dMantissaMask 1184 -#define _lExpHiMask 1200 -#define _lExpLoMask 1216 -#define _l1556 1232 -#define _iRcpIndexMask 1248 -#define _iAbsMask 1264 -#define _iSignMask 1280 -#define _iBias 1296 -#define _iSub 1312 -#define _iCmp 1328 +#define _dRcp 0 +#define _dCbrtHiLo 256 +#define _dA7 1024 +#define _dA6 1040 +#define _dA5 1056 +#define _dA4 1072 +#define _dA3 1088 +#define _dA2 1104 +#define _dA1 1120 +#define _dNeg65Div64 1136 +#define _dSgnf6Mask 1152 +#define _dNegOne 1168 +#define _dMantissaMask 1184 +#define _lExpHiMask 1200 +#define _lExpLoMask 1216 +#define _l1556 1232 +#define _iRcpIndexMask 1248 +#define _iAbsMask 1264 +#define _iSignMask 1280 +#define _iBias 1296 +#define _iSub 1312 +#define _iCmp 1328 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_cbrt_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* Calculate CbrtIndex */ - movaps %xmm0, %xmm10 - psrlq $52, %xmm10 - -/* Load 1/(1+iRcpIndex/32+1/64) reciprocal table value */ - lea __svml_dcbrt_data_internal(%rip), %r8 - pand _lExpLoMask+__svml_dcbrt_data_internal(%rip), %xmm10 - movdqu _l1556+__svml_dcbrt_data_internal(%rip), %xmm9 - pmuludq %xmm10, %xmm9 - -/* If the exponent field is zero - go to callout to process denormals */ - movq _iAbsMask+__svml_dcbrt_data_internal(%rip), %xmm7 - -/* Calculate Rcp table index */ - movq _iRcpIndexMask+__svml_dcbrt_data_internal(%rip), %xmm13 - -/* Get iX - high part of argument */ - pshufd $221, %xmm0, %xmm4 - -/* - * Declarations - * Load constants - */ - movq _iSignMask+__svml_dcbrt_data_internal(%rip), %xmm1 - pand %xmm4, %xmm7 - pand %xmm4, %xmm13 - -/* Compute 2^k */ - psrld $20, %xmm4 - movq _iBias+__svml_dcbrt_data_internal(%rip), %xmm2 - pand %xmm1, %xmm4 - pshufd $136, %xmm9, %xmm15 - por %xmm2, %xmm4 - psrld $14, %xmm15 - psrld $12, %xmm13 - paddd %xmm15, %xmm4 - pxor %xmm2, %xmm2 - pslld $20, %xmm4 - movdqa %xmm15, %xmm11 - movd %xmm13, %edx - paddd %xmm15, %xmm11 - pshufd $1, %xmm13, %xmm8 - punpckldq %xmm4, %xmm2 - -/* - * VAND( L, l2k, = l2k, lExpHiMask ); - * Argument reduction Z - */ - movups _dMantissaMask+__svml_dcbrt_data_internal(%rip), %xmm1 - movups _dSgnf6Mask+__svml_dcbrt_data_internal(%rip), %xmm4 - andps %xmm0, %xmm1 - movd %xmm8, %ecx - andps %xmm0, %xmm4 - orps _dNegOne+__svml_dcbrt_data_internal(%rip), %xmm1 - orps _dNeg65Div64+__svml_dcbrt_data_internal(%rip), %xmm4 - movslq %edx, %rdx - subpd %xmm4, %xmm1 - movslq %ecx, %rcx - movsd (%r8,%rdx), %xmm3 - movq _iSub+__svml_dcbrt_data_internal(%rip), %xmm5 - psubd %xmm5, %xmm7 - movhpd (%r8,%rcx), %xmm3 - mulpd %xmm1, %xmm3 - -/* Polynomial */ - movups _dA7+__svml_dcbrt_data_internal(%rip), %xmm5 - mulpd %xmm3, %xmm5 - addpd _dA6+__svml_dcbrt_data_internal(%rip), %xmm5 - mulpd %xmm3, %xmm5 - addpd _dA5+__svml_dcbrt_data_internal(%rip), %xmm5 - mulpd %xmm3, %xmm5 - addpd _dA4+__svml_dcbrt_data_internal(%rip), %xmm5 - mulpd %xmm3, %xmm5 - addpd _dA3+__svml_dcbrt_data_internal(%rip), %xmm5 - pshufd $136, %xmm10, %xmm12 - psubd %xmm15, %xmm12 - psubd %xmm11, %xmm12 - mulpd %xmm3, %xmm5 - pslld $8, %xmm12 - paddd %xmm12, %xmm13 - -/* Load cbrt(2^j*(1+iRcpIndex/32+1/64)) Hi & Lo values */ - movd %xmm13, %esi - pshufd $1, %xmm13, %xmm14 - movq _iCmp+__svml_dcbrt_data_internal(%rip), %xmm6 - movd %xmm14, %edi - pcmpgtd %xmm6, %xmm7 - movmskps %xmm7, %eax - addpd _dA2+__svml_dcbrt_data_internal(%rip), %xmm5 - movslq %esi, %rsi - movslq %edi, %rdi - mulpd %xmm3, %xmm5 - movsd 256(%r8,%rsi), %xmm6 - movhpd 256(%r8,%rdi), %xmm6 - -/* THi*2^k, TLo*2^k */ - mulpd %xmm2, %xmm6 - addpd _dA1+__svml_dcbrt_data_internal(%rip), %xmm5 - -/* THi*2^k*Z */ - mulpd %xmm6, %xmm3 - -/* Final reconstruction */ - mulpd %xmm3, %xmm5 - addpd %xmm5, %xmm6 - andl $3, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm6 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* Calculate CbrtIndex */ + movaps %xmm0, %xmm10 + psrlq $52, %xmm10 + + /* Load 1/(1+iRcpIndex/32+1/64) reciprocal table value */ + lea __svml_dcbrt_data_internal(%rip), %r8 + pand _lExpLoMask+__svml_dcbrt_data_internal(%rip), %xmm10 + movdqu _l1556+__svml_dcbrt_data_internal(%rip), %xmm9 + pmuludq %xmm10, %xmm9 + + /* If the exponent field is zero - go to callout to process denormals */ + movq _iAbsMask+__svml_dcbrt_data_internal(%rip), %xmm7 + + /* Calculate Rcp table index */ + movq _iRcpIndexMask+__svml_dcbrt_data_internal(%rip), %xmm13 + + /* Get iX - high part of argument */ + pshufd $221, %xmm0, %xmm4 + + /* + * Declarations + * Load constants + */ + movq _iSignMask+__svml_dcbrt_data_internal(%rip), %xmm1 + pand %xmm4, %xmm7 + pand %xmm4, %xmm13 + + /* Compute 2^k */ + psrld $20, %xmm4 + movq _iBias+__svml_dcbrt_data_internal(%rip), %xmm2 + pand %xmm1, %xmm4 + pshufd $136, %xmm9, %xmm15 + por %xmm2, %xmm4 + psrld $14, %xmm15 + psrld $12, %xmm13 + paddd %xmm15, %xmm4 + pxor %xmm2, %xmm2 + pslld $20, %xmm4 + movdqa %xmm15, %xmm11 + movd %xmm13, %edx + paddd %xmm15, %xmm11 + pshufd $1, %xmm13, %xmm8 + punpckldq %xmm4, %xmm2 + + /* + * VAND( L, l2k, = l2k, lExpHiMask ); + * Argument reduction Z + */ + movups _dMantissaMask+__svml_dcbrt_data_internal(%rip), %xmm1 + movups _dSgnf6Mask+__svml_dcbrt_data_internal(%rip), %xmm4 + andps %xmm0, %xmm1 + movd %xmm8, %ecx + andps %xmm0, %xmm4 + orps _dNegOne+__svml_dcbrt_data_internal(%rip), %xmm1 + orps _dNeg65Div64+__svml_dcbrt_data_internal(%rip), %xmm4 + movslq %edx, %rdx + subpd %xmm4, %xmm1 + movslq %ecx, %rcx + movsd (%r8, %rdx), %xmm3 + movq _iSub+__svml_dcbrt_data_internal(%rip), %xmm5 + psubd %xmm5, %xmm7 + movhpd (%r8, %rcx), %xmm3 + mulpd %xmm1, %xmm3 + + /* Polynomial */ + movups _dA7+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd _dA6+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd _dA5+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd _dA4+__svml_dcbrt_data_internal(%rip), %xmm5 + mulpd %xmm3, %xmm5 + addpd _dA3+__svml_dcbrt_data_internal(%rip), %xmm5 + pshufd $136, %xmm10, %xmm12 + psubd %xmm15, %xmm12 + psubd %xmm11, %xmm12 + mulpd %xmm3, %xmm5 + pslld $8, %xmm12 + paddd %xmm12, %xmm13 + + /* Load cbrt(2^j*(1+iRcpIndex/32+1/64)) Hi & Lo values */ + movd %xmm13, %esi + pshufd $1, %xmm13, %xmm14 + movq _iCmp+__svml_dcbrt_data_internal(%rip), %xmm6 + movd %xmm14, %edi + pcmpgtd %xmm6, %xmm7 + movmskps %xmm7, %eax + addpd _dA2+__svml_dcbrt_data_internal(%rip), %xmm5 + movslq %esi, %rsi + movslq %edi, %rdi + mulpd %xmm3, %xmm5 + movsd 256(%r8, %rsi), %xmm6 + movhpd 256(%r8, %rdi), %xmm6 + + /* THi*2^k, TLo*2^k */ + mulpd %xmm2, %xmm6 + addpd _dA1+__svml_dcbrt_data_internal(%rip), %xmm5 + + /* THi*2^k*Z */ + mulpd %xmm6, %xmm3 + + /* Final reconstruction */ + mulpd %xmm3, %xmm5 + addpd %xmm5, %xmm6 + andl $3, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm6 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm6, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm6, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm6, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax xmm6 - - xorl %edx, %edx - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %edx, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %eax, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm6, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax xmm6 + + xorl %edx, %edx + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %edx, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %eax, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm6 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm6 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm6 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm6 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call cbrt@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call cbrt@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_cbrt_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dcbrt_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dRcp[32][2]; - __declspec(align(16)) VUINT32 _dCbrtHiLo[96][2]; - __declspec(align(16)) VUINT32 _dA7[2][2]; - __declspec(align(16)) VUINT32 _dA6[2][2]; - __declspec(align(16)) VUINT32 _dA5[2][2]; - __declspec(align(16)) VUINT32 _dA4[2][2]; - __declspec(align(16)) VUINT32 _dA3[2][2]; - __declspec(align(16)) VUINT32 _dA2[2][2]; - __declspec(align(16)) VUINT32 _dA1[2][2]; - __declspec(align(16)) VUINT32 _dNeg65Div64[2][2]; - __declspec(align(16)) VUINT32 _dSgnf6Mask[2][2]; - __declspec(align(16)) VUINT32 _dNegOne[2][2]; - __declspec(align(16)) VUINT32 _dMantissaMask[2][2]; - __declspec(align(16)) VUINT32 _lExpHiMask[2][2]; - __declspec(align(16)) VUINT32 _lExpLoMask[2][2]; - __declspec(align(16)) VUINT32 _l1556[2][2]; - __declspec(align(16)) VUINT32 _iRcpIndexMask[4][1]; - __declspec(align(16)) VUINT32 _iAbsMask[4][1]; - __declspec(align(16)) VUINT32 _iSignMask[4][1]; - __declspec(align(16)) VUINT32 _iBias[4][1]; - __declspec(align(16)) VUINT32 _iSub[4][1]; - __declspec(align(16)) VUINT32 _iCmp[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _dRcp[32][2]; + __declspec(align(16)) VUINT32 _dCbrtHiLo[96][2]; + __declspec(align(16)) VUINT32 _dA7[2][2]; + __declspec(align(16)) VUINT32 _dA6[2][2]; + __declspec(align(16)) VUINT32 _dA5[2][2]; + __declspec(align(16)) VUINT32 _dA4[2][2]; + __declspec(align(16)) VUINT32 _dA3[2][2]; + __declspec(align(16)) VUINT32 _dA2[2][2]; + __declspec(align(16)) VUINT32 _dA1[2][2]; + __declspec(align(16)) VUINT32 _dNeg65Div64[2][2]; + __declspec(align(16)) VUINT32 _dSgnf6Mask[2][2]; + __declspec(align(16)) VUINT32 _dNegOne[2][2]; + __declspec(align(16)) VUINT32 _dMantissaMask[2][2]; + __declspec(align(16)) VUINT32 _lExpHiMask[2][2]; + __declspec(align(16)) VUINT32 _lExpLoMask[2][2]; + __declspec(align(16)) VUINT32 _l1556[2][2]; + __declspec(align(16)) VUINT32 _iRcpIndexMask[4][1]; + __declspec(align(16)) VUINT32 _iAbsMask[4][1]; + __declspec(align(16)) VUINT32 _iSignMask[4][1]; + __declspec(align(16)) VUINT32 _iBias[4][1]; + __declspec(align(16)) VUINT32 _iSub[4][1]; + __declspec(align(16)) VUINT32 _iCmp[4][1]; } __svml_dcbrt_data_internal; #endif __svml_dcbrt_data_internal: - /*== _dRcp ==*/ - .quad 0xBFEF81F81F81F820 /* (1/(1+0/32+1/64)) = -.984615 */ - .quad 0xBFEE9131ABF0B767 /* (1/(1+1/32+1/64)) = -.955224 */ - .quad 0xBFEDAE6076B981DB /* (1/(1+2/32+1/64)) = -.927536 */ - .quad 0xBFECD85689039B0B /* (1/(1+3/32+1/64)) = -.901408 */ - .quad 0xBFEC0E070381C0E0 /* (1/(1+4/32+1/64)) = -.876712 */ - .quad 0xBFEB4E81B4E81B4F /* (1/(1+5/32+1/64)) = -.853333 */ - .quad 0xBFEA98EF606A63BE /* (1/(1+6/32+1/64)) = -.831169 */ - .quad 0xBFE9EC8E951033D9 /* (1/(1+7/32+1/64)) = -.810127 */ - .quad 0xBFE948B0FCD6E9E0 /* (1/(1+8/32+1/64)) = -.790123 */ - .quad 0xBFE8ACB90F6BF3AA /* (1/(1+9/32+1/64)) = -.771084 */ - .quad 0xBFE8181818181818 /* (1/(1+10/32+1/64)) = -.752941 */ - .quad 0xBFE78A4C8178A4C8 /* (1/(1+11/32+1/64)) = -.735632 */ - .quad 0xBFE702E05C0B8170 /* (1/(1+12/32+1/64)) = -.719101 */ - .quad 0xBFE6816816816817 /* (1/(1+13/32+1/64)) = -.703297 */ - .quad 0xBFE6058160581606 /* (1/(1+14/32+1/64)) = -.688172 */ - .quad 0xBFE58ED2308158ED /* (1/(1+15/32+1/64)) = -.673684 */ - .quad 0xBFE51D07EAE2F815 /* (1/(1+16/32+1/64)) = -.659794 */ - .quad 0xBFE4AFD6A052BF5B /* (1/(1+17/32+1/64)) = -.646465 */ - .quad 0xBFE446F86562D9FB /* (1/(1+18/32+1/64)) = -.633663 */ - .quad 0xBFE3E22CBCE4A902 /* (1/(1+19/32+1/64)) = -.621359 */ - .quad 0xBFE3813813813814 /* (1/(1+20/32+1/64)) = -.609524 */ - .quad 0xBFE323E34A2B10BF /* (1/(1+21/32+1/64)) = -.598131 */ - .quad 0xBFE2C9FB4D812CA0 /* (1/(1+22/32+1/64)) = -.587156 */ - .quad 0xBFE27350B8812735 /* (1/(1+23/32+1/64)) = -.576577 */ - .quad 0xBFE21FB78121FB78 /* (1/(1+24/32+1/64)) = -.566372 */ - .quad 0xBFE1CF06ADA2811D /* (1/(1+25/32+1/64)) = -.556522 */ - .quad 0xBFE1811811811812 /* (1/(1+26/32+1/64)) = -.547009 */ - .quad 0xBFE135C81135C811 /* (1/(1+27/32+1/64)) = -.537815 */ - .quad 0xBFE0ECF56BE69C90 /* (1/(1+28/32+1/64)) = -.528926 */ - .quad 0xBFE0A6810A6810A7 /* (1/(1+29/32+1/64)) = -.520325 */ - .quad 0xBFE0624DD2F1A9FC /* (1/(1+30/32+1/64)) = -.512 */ - .quad 0xBFE0204081020408 /* (1/(1+31/32+1/64)) = -.503937 */ - /*== _dCbrtHiLo ==*/ - .align 16 - .quad 0x3FF01539221D4C97 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ - .quad 0x3FF03F06771A2E33 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ - .quad 0x3FF06800E629D671 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ - .quad 0x3FF090328731DEB2 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ - .quad 0x3FF0B7A4B1BD64AC /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ - .quad 0x3FF0DE601024FB87 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ - .quad 0x3FF1046CB0597000 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ - .quad 0x3FF129D212A9BA9B /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ - .quad 0x3FF14E9736CDAF38 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ - .quad 0x3FF172C2A772F507 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ - .quad 0x3FF1965A848001D3 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ - .quad 0x3FF1B9648C38C55D /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ - .quad 0x3FF1DBE6236A0C45 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ - .quad 0x3FF1FDE45CBB1F9F /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ - .quad 0x3FF21F63FF409042 /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ - .quad 0x3FF240698C6746E5 /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ - .quad 0x3FF260F9454BB99B /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ - .quad 0x3FF281172F8E7073 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ - .quad 0x3FF2A0C719B4B6D0 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ - .quad 0x3FF2C00C9F2263EC /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ - .quad 0x3FF2DEEB2BB7FB78 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ - .quad 0x3FF2FD65FF1EFBBC /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ - .quad 0x3FF31B802FCCF6A2 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ - .quad 0x3FF3393CADC50708 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ - .quad 0x3FF3569E451E4C2A /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ - .quad 0x3FF373A7A0554CDE /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ - .quad 0x3FF3905B4A6D76CE /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ - .quad 0x3FF3ACBBB0E756B6 /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ - .quad 0x3FF3C8CB258FA340 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ - .quad 0x3FF3E48BE02AC0CE /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ - .quad 0x3FF4000000000000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ - .quad 0x3FF41B298D47800E /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ - .quad 0x3FF443604B34D9B2 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ - .quad 0x3FF4780B20906571 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ - .quad 0x3FF4ABAC3EE06706 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ - .quad 0x3FF4DE505DA66B8D /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ - .quad 0x3FF51003420A5C07 /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ - .quad 0x3FF540CFD6FD11C1 /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ - .quad 0x3FF570C04260716B /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ - .quad 0x3FF59FDDF7A45F38 /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ - .quad 0x3FF5CE31C83539DF /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ - .quad 0x3FF5FBC3F20966A4 /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ - .quad 0x3FF6289C2C8F1B70 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ - .quad 0x3FF654C1B4316DCF /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395693 */ - .quad 0x3FF6803B54A34E44 /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ - .quad 0x3FF6AB0F72182659 /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ - .quad 0x3FF6D544118C08BC /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ - .quad 0x3FF6FEDEE0388D4A /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ - .quad 0x3FF727E53A4F645E /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ - .quad 0x3FF7505C31104114 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ - .quad 0x3FF77848904CD549 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ - .quad 0x3FF79FAEE36B2534 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ - .quad 0x3FF7C69379F4605B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ - .quad 0x3FF7ECFA6BBCA391 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ - .quad 0x3FF812E79CAE7EB9 /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ - .quad 0x3FF8385EC043C71D /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ - .quad 0x3FF85D635CB41B9D /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ - .quad 0x3FF881F8CDE083DB /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ - .quad 0x3FF8A6224802B8A8 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ - .quad 0x3FF8C9E2DA25E5E4 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ - .quad 0x3FF8ED3D706E1010 /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ - .quad 0x3FF91034D632B6DF /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ - .quad 0x3FF932CBB7F0CF2D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ - .quad 0x3FF95504A517BF3A /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ - .quad 0x3FF987AF34F8BB19 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ - .quad 0x3FF9CA0A8337B317 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ - .quad 0x3FFA0B1709CC13D5 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627708 */ - .quad 0x3FFA4AE4CE6419ED /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ - .quad 0x3FFA8982A5567031 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ - .quad 0x3FFAC6FE500AB570 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ - .quad 0x3FFB036497A15A17 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ - .quad 0x3FFB3EC164671755 /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ - .quad 0x3FFB791FD288C46F /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ - .quad 0x3FFBB28A44693BE4 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ - .quad 0x3FFBEB0A72EB6E31 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ - .quad 0x3FFC22A97BF5F697 /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ - .quad 0x3FFC596FEF6AF983 /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ - .quad 0x3FFC8F65DAC655A3 /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ - .quad 0x3FFCC492D38CE8D9 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ - .quad 0x3FFCF8FE00B19367 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ - .quad 0x3FFD2CAE230F8709 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ - .quad 0x3FFD5FA99D15208F /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ - .quad 0x3FFD91F679B6E505 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ - .quad 0x3FFDC39A72BF2302 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ - .quad 0x3FFDF49AF68C1570 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ - .quad 0x3FFE24FD2D4C23B8 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.884031 */ - .quad 0x3FFE54C5FDC5EC73 /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ - .quad 0x3FFE83FA11B81DBB /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ - .quad 0x3FFEB29DD9DBAF25 /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918608 */ - .quad 0x3FFEE0B59191D374 /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ - .quad 0x3FFF0E454245E4BF /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ - .quad 0x3FFF3B50C68A9DD3 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ - .quad 0x3FFF67DBCCF922DC /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ - .quad 0x3FFF93E9DAD7A4A6 /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ - .quad 0x3FFFBF7E4E8CC9CB /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ - .quad 0x3FFFEA9C61E47CD3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ - .align 16 - .quad 0x3F93750AD588F115, 0x3F93750AD588F115 /* _dA7 */ - .align 16 - .quad 0xBF98090D6221A247, 0xBF98090D6221A247 /* _dA6 */ - .align 16 - .quad 0x3F9EE7113506AC12, 0x3F9EE7113506AC12 /* _dA5 */ - .align 16 - .quad 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B /* _dA4 */ - .align 16 - .quad 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458 /* _dA3 */ - .align 16 - .quad 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C /* _dA2 */ - .align 16 - .quad 0x3FD5555555555555, 0x3FD5555555555555 /* _dA1 */ - .align 16 - .quad 0xBFF0400000000000, 0xBFF0400000000000 /* _dNeg65Div64 */ - .align 16 - .quad 0x000FC00000000000, 0x000FC00000000000 /* _dSgnf6Mask */ - .align 16 - .quad 0xBFF0000000000000, 0xBFF0000000000000 /* _dNegOne */ - .align 16 - .quad 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF /* _dMantissaMask */ - .align 16 - .quad 0xFFF0000000000000, 0xFFF0000000000000 /* _lExpHiMask */ - .align 16 - .quad 0x00000000000007FF, 0x00000000000007FF /* _lExpLoMask */ - .align 16 - .quad 0x0000000000001556, 0x0000000000001556 /* _l1556 */ - .align 16 - .long 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000 /* _iRcpIndexMask */ - .align 16 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _iAbsMask */ - .align 16 - .long 0x00000800, 0x00000800, 0x00000800, 0x00000800 /* _iSignMask */ - .align 16 - .long 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA /* _iBias */ - .align 16 - .long 0x80100000, 0x80100000, 0x80100000, 0x80100000 /* _iSub */ - .align 16 - .long 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff /* _iCmp */ - .align 16 - .type __svml_dcbrt_data_internal,@object - .size __svml_dcbrt_data_internal,.-__svml_dcbrt_data_internal + /* _dRcp */ + .quad 0xBFEF81F81F81F820 /* (1/(1+0/32+1/64)) = -.984615 */ + .quad 0xBFEE9131ABF0B767 /* (1/(1+1/32+1/64)) = -.955224 */ + .quad 0xBFEDAE6076B981DB /* (1/(1+2/32+1/64)) = -.927536 */ + .quad 0xBFECD85689039B0B /* (1/(1+3/32+1/64)) = -.901408 */ + .quad 0xBFEC0E070381C0E0 /* (1/(1+4/32+1/64)) = -.876712 */ + .quad 0xBFEB4E81B4E81B4F /* (1/(1+5/32+1/64)) = -.853333 */ + .quad 0xBFEA98EF606A63BE /* (1/(1+6/32+1/64)) = -.831169 */ + .quad 0xBFE9EC8E951033D9 /* (1/(1+7/32+1/64)) = -.810127 */ + .quad 0xBFE948B0FCD6E9E0 /* (1/(1+8/32+1/64)) = -.790123 */ + .quad 0xBFE8ACB90F6BF3AA /* (1/(1+9/32+1/64)) = -.771084 */ + .quad 0xBFE8181818181818 /* (1/(1+10/32+1/64)) = -.752941 */ + .quad 0xBFE78A4C8178A4C8 /* (1/(1+11/32+1/64)) = -.735632 */ + .quad 0xBFE702E05C0B8170 /* (1/(1+12/32+1/64)) = -.719101 */ + .quad 0xBFE6816816816817 /* (1/(1+13/32+1/64)) = -.703297 */ + .quad 0xBFE6058160581606 /* (1/(1+14/32+1/64)) = -.688172 */ + .quad 0xBFE58ED2308158ED /* (1/(1+15/32+1/64)) = -.673684 */ + .quad 0xBFE51D07EAE2F815 /* (1/(1+16/32+1/64)) = -.659794 */ + .quad 0xBFE4AFD6A052BF5B /* (1/(1+17/32+1/64)) = -.646465 */ + .quad 0xBFE446F86562D9FB /* (1/(1+18/32+1/64)) = -.633663 */ + .quad 0xBFE3E22CBCE4A902 /* (1/(1+19/32+1/64)) = -.621359 */ + .quad 0xBFE3813813813814 /* (1/(1+20/32+1/64)) = -.609524 */ + .quad 0xBFE323E34A2B10BF /* (1/(1+21/32+1/64)) = -.598131 */ + .quad 0xBFE2C9FB4D812CA0 /* (1/(1+22/32+1/64)) = -.587156 */ + .quad 0xBFE27350B8812735 /* (1/(1+23/32+1/64)) = -.576577 */ + .quad 0xBFE21FB78121FB78 /* (1/(1+24/32+1/64)) = -.566372 */ + .quad 0xBFE1CF06ADA2811D /* (1/(1+25/32+1/64)) = -.556522 */ + .quad 0xBFE1811811811812 /* (1/(1+26/32+1/64)) = -.547009 */ + .quad 0xBFE135C81135C811 /* (1/(1+27/32+1/64)) = -.537815 */ + .quad 0xBFE0ECF56BE69C90 /* (1/(1+28/32+1/64)) = -.528926 */ + .quad 0xBFE0A6810A6810A7 /* (1/(1+29/32+1/64)) = -.520325 */ + .quad 0xBFE0624DD2F1A9FC /* (1/(1+30/32+1/64)) = -.512 */ + .quad 0xBFE0204081020408 /* (1/(1+31/32+1/64)) = -.503937 */ + /* _dCbrtHiLo */ + .align 16 + .quad 0x3FF01539221D4C97 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ + .quad 0x3FF03F06771A2E33 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ + .quad 0x3FF06800E629D671 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ + .quad 0x3FF090328731DEB2 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ + .quad 0x3FF0B7A4B1BD64AC /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ + .quad 0x3FF0DE601024FB87 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ + .quad 0x3FF1046CB0597000 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ + .quad 0x3FF129D212A9BA9B /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ + .quad 0x3FF14E9736CDAF38 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ + .quad 0x3FF172C2A772F507 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ + .quad 0x3FF1965A848001D3 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ + .quad 0x3FF1B9648C38C55D /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ + .quad 0x3FF1DBE6236A0C45 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ + .quad 0x3FF1FDE45CBB1F9F /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ + .quad 0x3FF21F63FF409042 /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ + .quad 0x3FF240698C6746E5 /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ + .quad 0x3FF260F9454BB99B /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ + .quad 0x3FF281172F8E7073 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ + .quad 0x3FF2A0C719B4B6D0 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ + .quad 0x3FF2C00C9F2263EC /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ + .quad 0x3FF2DEEB2BB7FB78 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ + .quad 0x3FF2FD65FF1EFBBC /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ + .quad 0x3FF31B802FCCF6A2 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ + .quad 0x3FF3393CADC50708 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ + .quad 0x3FF3569E451E4C2A /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ + .quad 0x3FF373A7A0554CDE /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ + .quad 0x3FF3905B4A6D76CE /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ + .quad 0x3FF3ACBBB0E756B6 /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ + .quad 0x3FF3C8CB258FA340 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ + .quad 0x3FF3E48BE02AC0CE /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ + .quad 0x3FF4000000000000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ + .quad 0x3FF41B298D47800E /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ + .quad 0x3FF443604B34D9B2 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ + .quad 0x3FF4780B20906571 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ + .quad 0x3FF4ABAC3EE06706 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ + .quad 0x3FF4DE505DA66B8D /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ + .quad 0x3FF51003420A5C07 /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ + .quad 0x3FF540CFD6FD11C1 /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ + .quad 0x3FF570C04260716B /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ + .quad 0x3FF59FDDF7A45F38 /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ + .quad 0x3FF5CE31C83539DF /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ + .quad 0x3FF5FBC3F20966A4 /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ + .quad 0x3FF6289C2C8F1B70 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ + .quad 0x3FF654C1B4316DCF /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395693 */ + .quad 0x3FF6803B54A34E44 /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ + .quad 0x3FF6AB0F72182659 /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ + .quad 0x3FF6D544118C08BC /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ + .quad 0x3FF6FEDEE0388D4A /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ + .quad 0x3FF727E53A4F645E /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ + .quad 0x3FF7505C31104114 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ + .quad 0x3FF77848904CD549 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ + .quad 0x3FF79FAEE36B2534 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ + .quad 0x3FF7C69379F4605B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ + .quad 0x3FF7ECFA6BBCA391 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ + .quad 0x3FF812E79CAE7EB9 /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ + .quad 0x3FF8385EC043C71D /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ + .quad 0x3FF85D635CB41B9D /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ + .quad 0x3FF881F8CDE083DB /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ + .quad 0x3FF8A6224802B8A8 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ + .quad 0x3FF8C9E2DA25E5E4 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ + .quad 0x3FF8ED3D706E1010 /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ + .quad 0x3FF91034D632B6DF /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ + .quad 0x3FF932CBB7F0CF2D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ + .quad 0x3FF95504A517BF3A /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ + .quad 0x3FF987AF34F8BB19 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ + .quad 0x3FF9CA0A8337B317 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ + .quad 0x3FFA0B1709CC13D5 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627708 */ + .quad 0x3FFA4AE4CE6419ED /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ + .quad 0x3FFA8982A5567031 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ + .quad 0x3FFAC6FE500AB570 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ + .quad 0x3FFB036497A15A17 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ + .quad 0x3FFB3EC164671755 /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ + .quad 0x3FFB791FD288C46F /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ + .quad 0x3FFBB28A44693BE4 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ + .quad 0x3FFBEB0A72EB6E31 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ + .quad 0x3FFC22A97BF5F697 /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ + .quad 0x3FFC596FEF6AF983 /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ + .quad 0x3FFC8F65DAC655A3 /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ + .quad 0x3FFCC492D38CE8D9 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ + .quad 0x3FFCF8FE00B19367 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ + .quad 0x3FFD2CAE230F8709 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ + .quad 0x3FFD5FA99D15208F /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ + .quad 0x3FFD91F679B6E505 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ + .quad 0x3FFDC39A72BF2302 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ + .quad 0x3FFDF49AF68C1570 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ + .quad 0x3FFE24FD2D4C23B8 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.884031 */ + .quad 0x3FFE54C5FDC5EC73 /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ + .quad 0x3FFE83FA11B81DBB /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ + .quad 0x3FFEB29DD9DBAF25 /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918608 */ + .quad 0x3FFEE0B59191D374 /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ + .quad 0x3FFF0E454245E4BF /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ + .quad 0x3FFF3B50C68A9DD3 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ + .quad 0x3FFF67DBCCF922DC /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ + .quad 0x3FFF93E9DAD7A4A6 /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ + .quad 0x3FFFBF7E4E8CC9CB /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ + .quad 0x3FFFEA9C61E47CD3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ + .align 16 + .quad 0x3F93750AD588F115, 0x3F93750AD588F115 /* _dA7 */ + .align 16 + .quad 0xBF98090D6221A247, 0xBF98090D6221A247 /* _dA6 */ + .align 16 + .quad 0x3F9EE7113506AC12, 0x3F9EE7113506AC12 /* _dA5 */ + .align 16 + .quad 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B /* _dA4 */ + .align 16 + .quad 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458 /* _dA3 */ + .align 16 + .quad 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C /* _dA2 */ + .align 16 + .quad 0x3FD5555555555555, 0x3FD5555555555555 /* _dA1 */ + .align 16 + .quad 0xBFF0400000000000, 0xBFF0400000000000 /* _dNeg65Div64 */ + .align 16 + .quad 0x000FC00000000000, 0x000FC00000000000 /* _dSgnf6Mask */ + .align 16 + .quad 0xBFF0000000000000, 0xBFF0000000000000 /* _dNegOne */ + .align 16 + .quad 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF /* _dMantissaMask */ + .align 16 + .quad 0xFFF0000000000000, 0xFFF0000000000000 /* _lExpHiMask */ + .align 16 + .quad 0x00000000000007FF, 0x00000000000007FF /* _lExpLoMask */ + .align 16 + .quad 0x0000000000001556, 0x0000000000001556 /* _l1556 */ + .align 16 + .long 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000 /* _iRcpIndexMask */ + .align 16 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _iAbsMask */ + .align 16 + .long 0x00000800, 0x00000800, 0x00000800, 0x00000800 /* _iSignMask */ + .align 16 + .long 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA /* _iBias */ + .align 16 + .long 0x80100000, 0x80100000, 0x80100000, 0x80100000 /* _iSub */ + .align 16 + .long 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff /* _iCmp */ + .align 16 + .type __svml_dcbrt_data_internal, @object + .size __svml_dcbrt_data_internal, .-__svml_dcbrt_data_internal From patchwork Mon Mar 7 15:00:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602325 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=InutPE6w; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2s60cstz9sFx for ; Tue, 8 Mar 2022 02:47:21 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E2BBB3858428 for ; Mon, 7 Mar 2022 15:47:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E2BBB3858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668039; bh=1OBw/73qli3EBWC8zWxJiOFcnENtkcEvgREtbcMSAX0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=InutPE6w/Jq8VrzmLVS06LcBe3v+cs/4cSLZ5UqspN+lfH+lZDhYJecikI5QM9XTV a16LZagtdxMDwynEfW7UxKdgoSpNAfNnoiEgJh1zmCJp/1negFreEUlge4YXCaZpX8 vEpd6vu8CpUG+zPuQMudkgsehXgWD+Sp3Ms0NkiI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 8773E3858C74 for ; Mon, 7 Mar 2022 15:02:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8773E3858C74 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843005" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843005" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="711132965" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga005.jf.intel.com with ESMTP; 07 Mar 2022 07:02:05 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eL016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 047/126] x86_64: Fix svml_d_cbrt4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:42 -0800 Message-Id: <20220307150201.10590-48-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_cbrt4_core_avx2.S | 880 +++++++++--------- 1 file changed, 439 insertions(+), 441 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S index 28f779d23c..96ecbe05c1 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt4_core_avx2.S @@ -31,475 +31,473 @@ /* Offsets for data table __svml_dcbrt_data_internal */ -#define _dRcp 0 -#define _dCbrtHiLo 256 -#define _dA7 1024 -#define _dA6 1056 -#define _dA5 1088 -#define _dA4 1120 -#define _dA3 1152 -#define _dA2 1184 -#define _dA1 1216 -#define _dNeg65Div64 1248 -#define _dSgnf6Mask 1280 -#define _dNegOne 1312 -#define _dMantissaMask 1344 -#define _lExpHiMask 1376 -#define _lExpLoMask 1408 -#define _l1556 1440 -#define _iRcpIndexMask 1472 -#define _iAbsMask 1504 -#define _iSignMask 1536 -#define _iBias 1568 -#define _iSub 1600 -#define _iCmp 1632 +#define _dRcp 0 +#define _dCbrtHiLo 256 +#define _dA7 1024 +#define _dA6 1056 +#define _dA5 1088 +#define _dA4 1120 +#define _dA3 1152 +#define _dA2 1184 +#define _dA1 1216 +#define _dNeg65Div64 1248 +#define _dSgnf6Mask 1280 +#define _dNegOne 1312 +#define _dMantissaMask 1344 +#define _lExpHiMask 1376 +#define _lExpLoMask 1408 +#define _l1556 1440 +#define _iRcpIndexMask 1472 +#define _iAbsMask 1504 +#define _iSignMask 1536 +#define _iBias 1568 +#define _iSub 1600 +#define _iCmp 1632 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_cbrt_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* Load 1/(1+iRcpIndex/32+1/64) reciprocal table value */ - lea __svml_dcbrt_data_internal(%rip), %rax - vmovapd %ymm0, %ymm5 - -/* - * Declarations - * Load constants - * Get iX - high part of argument - */ - vextractf128 $1, %ymm5, %xmm6 - -/* Calculate CbrtIndex */ - vpsrlq $52, %ymm5, %ymm15 - vshufps $221, %xmm6, %xmm5, %xmm4 - -/* Calculate Rcp table index */ - vandps _iRcpIndexMask+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm10 - vpsrld $12, %xmm10, %xmm3 - vmovd %xmm3, %ecx - -/* If the exponent field is zero - go to callout to process denormals */ - vandps _iAbsMask+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm7 - -/* Compute 2^k */ - vpsrld $20, %xmm4, %xmm4 - vpsubd _iSub+__svml_dcbrt_data_internal(%rip), %xmm7, %xmm8 - vandps _lExpLoMask+__svml_dcbrt_data_internal(%rip), %ymm15, %ymm0 - vpmuludq _l1556+__svml_dcbrt_data_internal(%rip), %ymm0, %ymm6 - vpextrd $2, %xmm3, %edi - movslq %ecx, %rcx - vpextrd $1, %xmm3, %esi - movslq %edi, %rdi - vpextrd $3, %xmm3, %r8d - movslq %esi, %rsi - movslq %r8d, %r8 - vpcmpgtd _iCmp+__svml_dcbrt_data_internal(%rip), %xmm8, %xmm9 - vmovsd (%rax,%rcx), %xmm11 - vmovmskps %xmm9, %edx - vmovsd (%rax,%rdi), %xmm13 - vmovhpd (%rax,%rsi), %xmm11, %xmm12 - vmovhpd (%rax,%r8), %xmm13, %xmm14 - vextractf128 $1, %ymm6, %xmm7 - vshufps $136, %xmm7, %xmm6, %xmm8 - vmovups __VUNPACK_ODD_ind1.613.0.1(%rip), %ymm7 - vextractf128 $1, %ymm0, %xmm1 - vshufps $136, %xmm1, %xmm0, %xmm9 - vpsrld $14, %xmm8, %xmm1 - vpsubd %xmm1, %xmm9, %xmm10 - vpaddd %xmm1, %xmm1, %xmm11 - -/* - * VAND( L, l2k, = l2k, lExpHiMask ); - * Argument reduction Z - */ - vandpd _dMantissaMask+__svml_dcbrt_data_internal(%rip), %ymm5, %ymm9 - vinsertf128 $1, %xmm14, %ymm12, %ymm2 - vpsubd %xmm11, %xmm10, %xmm12 - vpslld $8, %xmm12, %xmm13 - vpaddd %xmm13, %xmm3, %xmm15 - -/* Load cbrt(2^j*(1+iRcpIndex/32+1/64)) Hi & Lo values */ - vmovd %xmm15, %r9d - vpextrd $2, %xmm15, %r11d - movslq %r9d, %r9 - vpextrd $1, %xmm15, %r10d - movslq %r11d, %r11 - vpextrd $3, %xmm15, %ecx - movslq %r10d, %r10 - movslq %ecx, %rcx - vmovsd 256(%rax,%r9), %xmm3 - vmovsd 256(%rax,%r11), %xmm0 - vandpd _dSgnf6Mask+__svml_dcbrt_data_internal(%rip), %ymm5, %ymm10 - vmovhpd 256(%rax,%r10), %xmm3, %xmm14 - vmovhpd 256(%rax,%rcx), %xmm0, %xmm3 - vorpd _dNegOne+__svml_dcbrt_data_internal(%rip), %ymm9, %ymm11 - vorpd _dNeg65Div64+__svml_dcbrt_data_internal(%rip), %ymm10, %ymm12 - vsubpd %ymm12, %ymm11, %ymm13 - vmulpd %ymm13, %ymm2, %ymm2 - vinsertf128 $1, %xmm3, %ymm14, %ymm0 - vpand _iSignMask+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm3 - vpor _iBias+__svml_dcbrt_data_internal(%rip), %xmm3, %xmm4 - vpaddd %xmm1, %xmm4, %xmm1 - vpslld $20, %xmm1, %xmm6 - -/* Polynomial */ - vmovupd _dA7+__svml_dcbrt_data_internal(%rip), %ymm1 - vfmadd213pd _dA6+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 - vfmadd213pd _dA5+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 - vfmadd213pd _dA4+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 - vfmadd213pd _dA3+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 - vfmadd213pd _dA2+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 - vfmadd213pd _dA1+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 - vpermps %ymm6, %ymm7, %ymm8 - vandps __VUNPACK_ODD_mask.613.0.1(%rip), %ymm8, %ymm14 - -/* THi*2^k, TLo*2^k */ - vmulpd %ymm14, %ymm0, %ymm0 - -/* THi*2^k*Z */ - vmulpd %ymm0, %ymm2, %ymm2 - -/* Final reconstruction */ - vmulpd %ymm2, %ymm1, %ymm3 - vaddpd %ymm3, %ymm0, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm5 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* Load 1/(1+iRcpIndex/32+1/64) reciprocal table value */ + lea __svml_dcbrt_data_internal(%rip), %rax + vmovapd %ymm0, %ymm5 + + /* + * Declarations + * Load constants + * Get iX - high part of argument + */ + vextractf128 $1, %ymm5, %xmm6 + + /* Calculate CbrtIndex */ + vpsrlq $52, %ymm5, %ymm15 + vshufps $221, %xmm6, %xmm5, %xmm4 + + /* Calculate Rcp table index */ + vandps _iRcpIndexMask+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm10 + vpsrld $12, %xmm10, %xmm3 + vmovd %xmm3, %ecx + + /* If the exponent field is zero - go to callout to process denormals */ + vandps _iAbsMask+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm7 + + /* Compute 2^k */ + vpsrld $20, %xmm4, %xmm4 + vpsubd _iSub+__svml_dcbrt_data_internal(%rip), %xmm7, %xmm8 + vandps _lExpLoMask+__svml_dcbrt_data_internal(%rip), %ymm15, %ymm0 + vpmuludq _l1556+__svml_dcbrt_data_internal(%rip), %ymm0, %ymm6 + vpextrd $2, %xmm3, %edi + movslq %ecx, %rcx + vpextrd $1, %xmm3, %esi + movslq %edi, %rdi + vpextrd $3, %xmm3, %r8d + movslq %esi, %rsi + movslq %r8d, %r8 + vpcmpgtd _iCmp+__svml_dcbrt_data_internal(%rip), %xmm8, %xmm9 + vmovsd (%rax, %rcx), %xmm11 + vmovmskps %xmm9, %edx + vmovsd (%rax, %rdi), %xmm13 + vmovhpd (%rax, %rsi), %xmm11, %xmm12 + vmovhpd (%rax, %r8), %xmm13, %xmm14 + vextractf128 $1, %ymm6, %xmm7 + vshufps $136, %xmm7, %xmm6, %xmm8 + vmovups __VUNPACK_ODD_ind1.613.0.1(%rip), %ymm7 + vextractf128 $1, %ymm0, %xmm1 + vshufps $136, %xmm1, %xmm0, %xmm9 + vpsrld $14, %xmm8, %xmm1 + vpsubd %xmm1, %xmm9, %xmm10 + vpaddd %xmm1, %xmm1, %xmm11 + + /* + * VAND( L, l2k, = l2k, lExpHiMask ); + * Argument reduction Z + */ + vandpd _dMantissaMask+__svml_dcbrt_data_internal(%rip), %ymm5, %ymm9 + vinsertf128 $1, %xmm14, %ymm12, %ymm2 + vpsubd %xmm11, %xmm10, %xmm12 + vpslld $8, %xmm12, %xmm13 + vpaddd %xmm13, %xmm3, %xmm15 + + /* Load cbrt(2^j*(1+iRcpIndex/32+1/64)) Hi & Lo values */ + vmovd %xmm15, %r9d + vpextrd $2, %xmm15, %r11d + movslq %r9d, %r9 + vpextrd $1, %xmm15, %r10d + movslq %r11d, %r11 + vpextrd $3, %xmm15, %ecx + movslq %r10d, %r10 + movslq %ecx, %rcx + vmovsd 256(%rax, %r9), %xmm3 + vmovsd 256(%rax, %r11), %xmm0 + vandpd _dSgnf6Mask+__svml_dcbrt_data_internal(%rip), %ymm5, %ymm10 + vmovhpd 256(%rax, %r10), %xmm3, %xmm14 + vmovhpd 256(%rax, %rcx), %xmm0, %xmm3 + vorpd _dNegOne+__svml_dcbrt_data_internal(%rip), %ymm9, %ymm11 + vorpd _dNeg65Div64+__svml_dcbrt_data_internal(%rip), %ymm10, %ymm12 + vsubpd %ymm12, %ymm11, %ymm13 + vmulpd %ymm13, %ymm2, %ymm2 + vinsertf128 $1, %xmm3, %ymm14, %ymm0 + vpand _iSignMask+__svml_dcbrt_data_internal(%rip), %xmm4, %xmm3 + vpor _iBias+__svml_dcbrt_data_internal(%rip), %xmm3, %xmm4 + vpaddd %xmm1, %xmm4, %xmm1 + vpslld $20, %xmm1, %xmm6 + + /* Polynomial */ + vmovupd _dA7+__svml_dcbrt_data_internal(%rip), %ymm1 + vfmadd213pd _dA6+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 + vfmadd213pd _dA5+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 + vfmadd213pd _dA4+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 + vfmadd213pd _dA3+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 + vfmadd213pd _dA2+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 + vfmadd213pd _dA1+__svml_dcbrt_data_internal(%rip), %ymm2, %ymm1 + vpermps %ymm6, %ymm7, %ymm8 + vandps __VUNPACK_ODD_mask.613.0.1(%rip), %ymm8, %ymm14 + + /* THi*2^k, TLo*2^k */ + vmulpd %ymm14, %ymm0, %ymm0 + + /* THi*2^k*Z */ + vmulpd %ymm0, %ymm2, %ymm2 + + /* Final reconstruction */ + vmulpd %ymm2, %ymm1, %ymm3 + vaddpd %ymm3, %ymm0, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm5 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm5, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm5, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call cbrt@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call cbrt@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_cbrt_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 __VUNPACK_ODD_ind1.613.0.1: .rept 3 - .long 0 + .long 0 .endr - .long 1 - .long 0 - .long 2 - .long 0 - .long 3 - .align 32 + .long 1 + .long 0 + .long 2 + .long 0 + .long 3 + .align 32 __VUNPACK_ODD_mask.613.0.1: - .long 0 - .long -1 - .long 0 - .long -1 - .long 0 - .long -1 - .long 0 - .long -1 - - .section .rodata, "a" - .align 32 + .long 0 + .long -1 + .long 0 + .long -1 + .long 0 + .long -1 + .long 0 + .long -1 + + .section .rodata, "a" + .align 32 #ifdef __svml_dcbrt_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dRcp[32][2]; - __declspec(align(32)) VUINT32 _dCbrtHiLo[96][2]; - __declspec(align(32)) VUINT32 _dA7[4][2]; - __declspec(align(32)) VUINT32 _dA6[4][2]; - __declspec(align(32)) VUINT32 _dA5[4][2]; - __declspec(align(32)) VUINT32 _dA4[4][2]; - __declspec(align(32)) VUINT32 _dA3[4][2]; - __declspec(align(32)) VUINT32 _dA2[4][2]; - __declspec(align(32)) VUINT32 _dA1[4][2]; - __declspec(align(32)) VUINT32 _dNeg65Div64[4][2]; - __declspec(align(32)) VUINT32 _dSgnf6Mask[4][2]; - __declspec(align(32)) VUINT32 _dNegOne[4][2]; - __declspec(align(32)) VUINT32 _dMantissaMask[4][2]; - __declspec(align(32)) VUINT32 _lExpHiMask[4][2]; - __declspec(align(32)) VUINT32 _lExpLoMask[4][2]; - __declspec(align(32)) VUINT32 _l1556[4][2]; - __declspec(align(32)) VUINT32 _iRcpIndexMask[8][1]; - __declspec(align(32)) VUINT32 _iAbsMask[8][1]; - __declspec(align(32)) VUINT32 _iSignMask[8][1]; - __declspec(align(32)) VUINT32 _iBias[8][1]; - __declspec(align(32)) VUINT32 _iSub[8][1]; - __declspec(align(32)) VUINT32 _iCmp[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _dRcp[32][2]; + __declspec(align(32)) VUINT32 _dCbrtHiLo[96][2]; + __declspec(align(32)) VUINT32 _dA7[4][2]; + __declspec(align(32)) VUINT32 _dA6[4][2]; + __declspec(align(32)) VUINT32 _dA5[4][2]; + __declspec(align(32)) VUINT32 _dA4[4][2]; + __declspec(align(32)) VUINT32 _dA3[4][2]; + __declspec(align(32)) VUINT32 _dA2[4][2]; + __declspec(align(32)) VUINT32 _dA1[4][2]; + __declspec(align(32)) VUINT32 _dNeg65Div64[4][2]; + __declspec(align(32)) VUINT32 _dSgnf6Mask[4][2]; + __declspec(align(32)) VUINT32 _dNegOne[4][2]; + __declspec(align(32)) VUINT32 _dMantissaMask[4][2]; + __declspec(align(32)) VUINT32 _lExpHiMask[4][2]; + __declspec(align(32)) VUINT32 _lExpLoMask[4][2]; + __declspec(align(32)) VUINT32 _l1556[4][2]; + __declspec(align(32)) VUINT32 _iRcpIndexMask[8][1]; + __declspec(align(32)) VUINT32 _iAbsMask[8][1]; + __declspec(align(32)) VUINT32 _iSignMask[8][1]; + __declspec(align(32)) VUINT32 _iBias[8][1]; + __declspec(align(32)) VUINT32 _iSub[8][1]; + __declspec(align(32)) VUINT32 _iCmp[8][1]; } __svml_dcbrt_data_internal; #endif __svml_dcbrt_data_internal: - /*== _dRcp ==*/ - .quad 0xBFEF81F81F81F820 /* (1/(1+0/32+1/64)) = -.984615 */ - .quad 0xBFEE9131ABF0B767 /* (1/(1+1/32+1/64)) = -.955224 */ - .quad 0xBFEDAE6076B981DB /* (1/(1+2/32+1/64)) = -.927536 */ - .quad 0xBFECD85689039B0B /* (1/(1+3/32+1/64)) = -.901408 */ - .quad 0xBFEC0E070381C0E0 /* (1/(1+4/32+1/64)) = -.876712 */ - .quad 0xBFEB4E81B4E81B4F /* (1/(1+5/32+1/64)) = -.853333 */ - .quad 0xBFEA98EF606A63BE /* (1/(1+6/32+1/64)) = -.831169 */ - .quad 0xBFE9EC8E951033D9 /* (1/(1+7/32+1/64)) = -.810127 */ - .quad 0xBFE948B0FCD6E9E0 /* (1/(1+8/32+1/64)) = -.790123 */ - .quad 0xBFE8ACB90F6BF3AA /* (1/(1+9/32+1/64)) = -.771084 */ - .quad 0xBFE8181818181818 /* (1/(1+10/32+1/64)) = -.752941 */ - .quad 0xBFE78A4C8178A4C8 /* (1/(1+11/32+1/64)) = -.735632 */ - .quad 0xBFE702E05C0B8170 /* (1/(1+12/32+1/64)) = -.719101 */ - .quad 0xBFE6816816816817 /* (1/(1+13/32+1/64)) = -.703297 */ - .quad 0xBFE6058160581606 /* (1/(1+14/32+1/64)) = -.688172 */ - .quad 0xBFE58ED2308158ED /* (1/(1+15/32+1/64)) = -.673684 */ - .quad 0xBFE51D07EAE2F815 /* (1/(1+16/32+1/64)) = -.659794 */ - .quad 0xBFE4AFD6A052BF5B /* (1/(1+17/32+1/64)) = -.646465 */ - .quad 0xBFE446F86562D9FB /* (1/(1+18/32+1/64)) = -.633663 */ - .quad 0xBFE3E22CBCE4A902 /* (1/(1+19/32+1/64)) = -.621359 */ - .quad 0xBFE3813813813814 /* (1/(1+20/32+1/64)) = -.609524 */ - .quad 0xBFE323E34A2B10BF /* (1/(1+21/32+1/64)) = -.598131 */ - .quad 0xBFE2C9FB4D812CA0 /* (1/(1+22/32+1/64)) = -.587156 */ - .quad 0xBFE27350B8812735 /* (1/(1+23/32+1/64)) = -.576577 */ - .quad 0xBFE21FB78121FB78 /* (1/(1+24/32+1/64)) = -.566372 */ - .quad 0xBFE1CF06ADA2811D /* (1/(1+25/32+1/64)) = -.556522 */ - .quad 0xBFE1811811811812 /* (1/(1+26/32+1/64)) = -.547009 */ - .quad 0xBFE135C81135C811 /* (1/(1+27/32+1/64)) = -.537815 */ - .quad 0xBFE0ECF56BE69C90 /* (1/(1+28/32+1/64)) = -.528926 */ - .quad 0xBFE0A6810A6810A7 /* (1/(1+29/32+1/64)) = -.520325 */ - .quad 0xBFE0624DD2F1A9FC /* (1/(1+30/32+1/64)) = -.512 */ - .quad 0xBFE0204081020408 /* (1/(1+31/32+1/64)) = -.503937 */ - /*== _dCbrtHiLo ==*/ - .align 32 - .quad 0x3FF01539221D4C97 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ - .quad 0x3FF03F06771A2E33 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ - .quad 0x3FF06800E629D671 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ - .quad 0x3FF090328731DEB2 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ - .quad 0x3FF0B7A4B1BD64AC /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ - .quad 0x3FF0DE601024FB87 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ - .quad 0x3FF1046CB0597000 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ - .quad 0x3FF129D212A9BA9B /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ - .quad 0x3FF14E9736CDAF38 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ - .quad 0x3FF172C2A772F507 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ - .quad 0x3FF1965A848001D3 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ - .quad 0x3FF1B9648C38C55D /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ - .quad 0x3FF1DBE6236A0C45 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ - .quad 0x3FF1FDE45CBB1F9F /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ - .quad 0x3FF21F63FF409042 /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ - .quad 0x3FF240698C6746E5 /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ - .quad 0x3FF260F9454BB99B /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ - .quad 0x3FF281172F8E7073 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ - .quad 0x3FF2A0C719B4B6D0 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ - .quad 0x3FF2C00C9F2263EC /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ - .quad 0x3FF2DEEB2BB7FB78 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ - .quad 0x3FF2FD65FF1EFBBC /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ - .quad 0x3FF31B802FCCF6A2 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ - .quad 0x3FF3393CADC50708 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ - .quad 0x3FF3569E451E4C2A /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ - .quad 0x3FF373A7A0554CDE /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ - .quad 0x3FF3905B4A6D76CE /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ - .quad 0x3FF3ACBBB0E756B6 /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ - .quad 0x3FF3C8CB258FA340 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ - .quad 0x3FF3E48BE02AC0CE /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ - .quad 0x3FF4000000000000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ - .quad 0x3FF41B298D47800E /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ - .quad 0x3FF443604B34D9B2 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ - .quad 0x3FF4780B20906571 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ - .quad 0x3FF4ABAC3EE06706 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ - .quad 0x3FF4DE505DA66B8D /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ - .quad 0x3FF51003420A5C07 /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ - .quad 0x3FF540CFD6FD11C1 /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ - .quad 0x3FF570C04260716B /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ - .quad 0x3FF59FDDF7A45F38 /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ - .quad 0x3FF5CE31C83539DF /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ - .quad 0x3FF5FBC3F20966A4 /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ - .quad 0x3FF6289C2C8F1B70 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ - .quad 0x3FF654C1B4316DCF /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395693 */ - .quad 0x3FF6803B54A34E44 /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ - .quad 0x3FF6AB0F72182659 /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ - .quad 0x3FF6D544118C08BC /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ - .quad 0x3FF6FEDEE0388D4A /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ - .quad 0x3FF727E53A4F645E /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ - .quad 0x3FF7505C31104114 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ - .quad 0x3FF77848904CD549 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ - .quad 0x3FF79FAEE36B2534 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ - .quad 0x3FF7C69379F4605B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ - .quad 0x3FF7ECFA6BBCA391 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ - .quad 0x3FF812E79CAE7EB9 /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ - .quad 0x3FF8385EC043C71D /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ - .quad 0x3FF85D635CB41B9D /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ - .quad 0x3FF881F8CDE083DB /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ - .quad 0x3FF8A6224802B8A8 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ - .quad 0x3FF8C9E2DA25E5E4 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ - .quad 0x3FF8ED3D706E1010 /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ - .quad 0x3FF91034D632B6DF /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ - .quad 0x3FF932CBB7F0CF2D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ - .quad 0x3FF95504A517BF3A /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ - .quad 0x3FF987AF34F8BB19 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ - .quad 0x3FF9CA0A8337B317 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ - .quad 0x3FFA0B1709CC13D5 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627708 */ - .quad 0x3FFA4AE4CE6419ED /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ - .quad 0x3FFA8982A5567031 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ - .quad 0x3FFAC6FE500AB570 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ - .quad 0x3FFB036497A15A17 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ - .quad 0x3FFB3EC164671755 /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ - .quad 0x3FFB791FD288C46F /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ - .quad 0x3FFBB28A44693BE4 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ - .quad 0x3FFBEB0A72EB6E31 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ - .quad 0x3FFC22A97BF5F697 /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ - .quad 0x3FFC596FEF6AF983 /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ - .quad 0x3FFC8F65DAC655A3 /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ - .quad 0x3FFCC492D38CE8D9 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ - .quad 0x3FFCF8FE00B19367 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ - .quad 0x3FFD2CAE230F8709 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ - .quad 0x3FFD5FA99D15208F /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ - .quad 0x3FFD91F679B6E505 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ - .quad 0x3FFDC39A72BF2302 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ - .quad 0x3FFDF49AF68C1570 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ - .quad 0x3FFE24FD2D4C23B8 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.884031 */ - .quad 0x3FFE54C5FDC5EC73 /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ - .quad 0x3FFE83FA11B81DBB /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ - .quad 0x3FFEB29DD9DBAF25 /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918608 */ - .quad 0x3FFEE0B59191D374 /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ - .quad 0x3FFF0E454245E4BF /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ - .quad 0x3FFF3B50C68A9DD3 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ - .quad 0x3FFF67DBCCF922DC /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ - .quad 0x3FFF93E9DAD7A4A6 /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ - .quad 0x3FFFBF7E4E8CC9CB /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ - .quad 0x3FFFEA9C61E47CD3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ - .align 32 - .quad 0x3F93750AD588F115, 0x3F93750AD588F115, 0x3F93750AD588F115, 0x3F93750AD588F115 /* _dA7 */ - .align 32 - .quad 0xBF98090D6221A247, 0xBF98090D6221A247, 0xBF98090D6221A247, 0xBF98090D6221A247 /* _dA6 */ - .align 32 - .quad 0x3F9EE7113506AC12, 0x3F9EE7113506AC12, 0x3F9EE7113506AC12, 0x3F9EE7113506AC12 /* _dA5 */ - .align 32 - .quad 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B /* _dA4 */ - .align 32 - .quad 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458 /* _dA3 */ - .align 32 - .quad 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C /* _dA2 */ - .align 32 - .quad 0x3FD5555555555555, 0x3FD5555555555555, 0x3FD5555555555555, 0x3FD5555555555555 /* _dA1 */ - .align 32 - .quad 0xBFF0400000000000, 0xBFF0400000000000, 0xBFF0400000000000, 0xBFF0400000000000 /* _dNeg65Div64 */ - .align 32 - .quad 0x000FC00000000000, 0x000FC00000000000, 0x000FC00000000000, 0x000FC00000000000 /* _dSgnf6Mask */ - .align 32 - .quad 0xBFF0000000000000, 0xBFF0000000000000, 0xBFF0000000000000, 0xBFF0000000000000 /* _dNegOne */ - .align 32 - .quad 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF /* _dMantissaMask */ - .align 32 - .quad 0xFFF0000000000000, 0xFFF0000000000000, 0xFFF0000000000000, 0xFFF0000000000000 /* _lExpHiMask */ - .align 32 - .quad 0x00000000000007FF, 0x00000000000007FF, 0x00000000000007FF, 0x00000000000007FF /* _lExpLoMask */ - .align 32 - .quad 0x0000000000001556, 0x0000000000001556, 0x0000000000001556, 0x0000000000001556 /* _l1556 */ - .align 32 - .long 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000 /* _iRcpIndexMask */ - .align 32 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _iAbsMask */ - .align 32 - .long 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800 /* _iSignMask */ - .align 32 - .long 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA /* _iBias */ - .align 32 - .long 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000 /* _iSub */ - .align 32 - .long 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff /* _iCmp */ - .align 32 - .type __svml_dcbrt_data_internal,@object - .size __svml_dcbrt_data_internal,.-__svml_dcbrt_data_internal + /* _dRcp */ + .quad 0xBFEF81F81F81F820 /* (1/(1+0/32+1/64)) = -.984615 */ + .quad 0xBFEE9131ABF0B767 /* (1/(1+1/32+1/64)) = -.955224 */ + .quad 0xBFEDAE6076B981DB /* (1/(1+2/32+1/64)) = -.927536 */ + .quad 0xBFECD85689039B0B /* (1/(1+3/32+1/64)) = -.901408 */ + .quad 0xBFEC0E070381C0E0 /* (1/(1+4/32+1/64)) = -.876712 */ + .quad 0xBFEB4E81B4E81B4F /* (1/(1+5/32+1/64)) = -.853333 */ + .quad 0xBFEA98EF606A63BE /* (1/(1+6/32+1/64)) = -.831169 */ + .quad 0xBFE9EC8E951033D9 /* (1/(1+7/32+1/64)) = -.810127 */ + .quad 0xBFE948B0FCD6E9E0 /* (1/(1+8/32+1/64)) = -.790123 */ + .quad 0xBFE8ACB90F6BF3AA /* (1/(1+9/32+1/64)) = -.771084 */ + .quad 0xBFE8181818181818 /* (1/(1+10/32+1/64)) = -.752941 */ + .quad 0xBFE78A4C8178A4C8 /* (1/(1+11/32+1/64)) = -.735632 */ + .quad 0xBFE702E05C0B8170 /* (1/(1+12/32+1/64)) = -.719101 */ + .quad 0xBFE6816816816817 /* (1/(1+13/32+1/64)) = -.703297 */ + .quad 0xBFE6058160581606 /* (1/(1+14/32+1/64)) = -.688172 */ + .quad 0xBFE58ED2308158ED /* (1/(1+15/32+1/64)) = -.673684 */ + .quad 0xBFE51D07EAE2F815 /* (1/(1+16/32+1/64)) = -.659794 */ + .quad 0xBFE4AFD6A052BF5B /* (1/(1+17/32+1/64)) = -.646465 */ + .quad 0xBFE446F86562D9FB /* (1/(1+18/32+1/64)) = -.633663 */ + .quad 0xBFE3E22CBCE4A902 /* (1/(1+19/32+1/64)) = -.621359 */ + .quad 0xBFE3813813813814 /* (1/(1+20/32+1/64)) = -.609524 */ + .quad 0xBFE323E34A2B10BF /* (1/(1+21/32+1/64)) = -.598131 */ + .quad 0xBFE2C9FB4D812CA0 /* (1/(1+22/32+1/64)) = -.587156 */ + .quad 0xBFE27350B8812735 /* (1/(1+23/32+1/64)) = -.576577 */ + .quad 0xBFE21FB78121FB78 /* (1/(1+24/32+1/64)) = -.566372 */ + .quad 0xBFE1CF06ADA2811D /* (1/(1+25/32+1/64)) = -.556522 */ + .quad 0xBFE1811811811812 /* (1/(1+26/32+1/64)) = -.547009 */ + .quad 0xBFE135C81135C811 /* (1/(1+27/32+1/64)) = -.537815 */ + .quad 0xBFE0ECF56BE69C90 /* (1/(1+28/32+1/64)) = -.528926 */ + .quad 0xBFE0A6810A6810A7 /* (1/(1+29/32+1/64)) = -.520325 */ + .quad 0xBFE0624DD2F1A9FC /* (1/(1+30/32+1/64)) = -.512 */ + .quad 0xBFE0204081020408 /* (1/(1+31/32+1/64)) = -.503937 */ + /* _dCbrtHiLo */ + .align 32 + .quad 0x3FF01539221D4C97 /* HI((2^0*(1+0/32+1/64))^(1/3)) = 1.005181 */ + .quad 0x3FF03F06771A2E33 /* HI((2^0*(1+1/32+1/64))^(1/3)) = 1.015387 */ + .quad 0x3FF06800E629D671 /* HI((2^0*(1+2/32+1/64))^(1/3)) = 1.025391 */ + .quad 0x3FF090328731DEB2 /* HI((2^0*(1+3/32+1/64))^(1/3)) = 1.035204 */ + .quad 0x3FF0B7A4B1BD64AC /* HI((2^0*(1+4/32+1/64))^(1/3)) = 1.044835 */ + .quad 0x3FF0DE601024FB87 /* HI((2^0*(1+5/32+1/64))^(1/3)) = 1.054291 */ + .quad 0x3FF1046CB0597000 /* HI((2^0*(1+6/32+1/64))^(1/3)) = 1.06358 */ + .quad 0x3FF129D212A9BA9B /* HI((2^0*(1+7/32+1/64))^(1/3)) = 1.07271 */ + .quad 0x3FF14E9736CDAF38 /* HI((2^0*(1+8/32+1/64))^(1/3)) = 1.081687 */ + .quad 0x3FF172C2A772F507 /* HI((2^0*(1+9/32+1/64))^(1/3)) = 1.090518 */ + .quad 0x3FF1965A848001D3 /* HI((2^0*(1+10/32+1/64))^(1/3)) = 1.099207 */ + .quad 0x3FF1B9648C38C55D /* HI((2^0*(1+11/32+1/64))^(1/3)) = 1.107762 */ + .quad 0x3FF1DBE6236A0C45 /* HI((2^0*(1+12/32+1/64))^(1/3)) = 1.116186 */ + .quad 0x3FF1FDE45CBB1F9F /* HI((2^0*(1+13/32+1/64))^(1/3)) = 1.124485 */ + .quad 0x3FF21F63FF409042 /* HI((2^0*(1+14/32+1/64))^(1/3)) = 1.132664 */ + .quad 0x3FF240698C6746E5 /* HI((2^0*(1+15/32+1/64))^(1/3)) = 1.140726 */ + .quad 0x3FF260F9454BB99B /* HI((2^0*(1+16/32+1/64))^(1/3)) = 1.148675 */ + .quad 0x3FF281172F8E7073 /* HI((2^0*(1+17/32+1/64))^(1/3)) = 1.156516 */ + .quad 0x3FF2A0C719B4B6D0 /* HI((2^0*(1+18/32+1/64))^(1/3)) = 1.164252 */ + .quad 0x3FF2C00C9F2263EC /* HI((2^0*(1+19/32+1/64))^(1/3)) = 1.171887 */ + .quad 0x3FF2DEEB2BB7FB78 /* HI((2^0*(1+20/32+1/64))^(1/3)) = 1.179423 */ + .quad 0x3FF2FD65FF1EFBBC /* HI((2^0*(1+21/32+1/64))^(1/3)) = 1.186865 */ + .quad 0x3FF31B802FCCF6A2 /* HI((2^0*(1+22/32+1/64))^(1/3)) = 1.194214 */ + .quad 0x3FF3393CADC50708 /* HI((2^0*(1+23/32+1/64))^(1/3)) = 1.201474 */ + .quad 0x3FF3569E451E4C2A /* HI((2^0*(1+24/32+1/64))^(1/3)) = 1.208647 */ + .quad 0x3FF373A7A0554CDE /* HI((2^0*(1+25/32+1/64))^(1/3)) = 1.215736 */ + .quad 0x3FF3905B4A6D76CE /* HI((2^0*(1+26/32+1/64))^(1/3)) = 1.222743 */ + .quad 0x3FF3ACBBB0E756B6 /* HI((2^0*(1+27/32+1/64))^(1/3)) = 1.229671 */ + .quad 0x3FF3C8CB258FA340 /* HI((2^0*(1+28/32+1/64))^(1/3)) = 1.236522 */ + .quad 0x3FF3E48BE02AC0CE /* HI((2^0*(1+29/32+1/64))^(1/3)) = 1.243297 */ + .quad 0x3FF4000000000000 /* HI((2^0*(1+30/32+1/64))^(1/3)) = 1.25 */ + .quad 0x3FF41B298D47800E /* HI((2^0*(1+31/32+1/64))^(1/3)) = 1.256631 */ + .quad 0x3FF443604B34D9B2 /* HI((2^1*(1+0/32+1/64))^(1/3)) = 1.266449 */ + .quad 0x3FF4780B20906571 /* HI((2^1*(1+1/32+1/64))^(1/3)) = 1.279307 */ + .quad 0x3FF4ABAC3EE06706 /* HI((2^1*(1+2/32+1/64))^(1/3)) = 1.291912 */ + .quad 0x3FF4DE505DA66B8D /* HI((2^1*(1+3/32+1/64))^(1/3)) = 1.304276 */ + .quad 0x3FF51003420A5C07 /* HI((2^1*(1+4/32+1/64))^(1/3)) = 1.316409 */ + .quad 0x3FF540CFD6FD11C1 /* HI((2^1*(1+5/32+1/64))^(1/3)) = 1.328323 */ + .quad 0x3FF570C04260716B /* HI((2^1*(1+6/32+1/64))^(1/3)) = 1.340027 */ + .quad 0x3FF59FDDF7A45F38 /* HI((2^1*(1+7/32+1/64))^(1/3)) = 1.35153 */ + .quad 0x3FF5CE31C83539DF /* HI((2^1*(1+8/32+1/64))^(1/3)) = 1.36284 */ + .quad 0x3FF5FBC3F20966A4 /* HI((2^1*(1+9/32+1/64))^(1/3)) = 1.373966 */ + .quad 0x3FF6289C2C8F1B70 /* HI((2^1*(1+10/32+1/64))^(1/3)) = 1.384915 */ + .quad 0x3FF654C1B4316DCF /* HI((2^1*(1+11/32+1/64))^(1/3)) = 1.395693 */ + .quad 0x3FF6803B54A34E44 /* HI((2^1*(1+12/32+1/64))^(1/3)) = 1.406307 */ + .quad 0x3FF6AB0F72182659 /* HI((2^1*(1+13/32+1/64))^(1/3)) = 1.416763 */ + .quad 0x3FF6D544118C08BC /* HI((2^1*(1+14/32+1/64))^(1/3)) = 1.427067 */ + .quad 0x3FF6FEDEE0388D4A /* HI((2^1*(1+15/32+1/64))^(1/3)) = 1.437224 */ + .quad 0x3FF727E53A4F645E /* HI((2^1*(1+16/32+1/64))^(1/3)) = 1.44724 */ + .quad 0x3FF7505C31104114 /* HI((2^1*(1+17/32+1/64))^(1/3)) = 1.457119 */ + .quad 0x3FF77848904CD549 /* HI((2^1*(1+18/32+1/64))^(1/3)) = 1.466866 */ + .quad 0x3FF79FAEE36B2534 /* HI((2^1*(1+19/32+1/64))^(1/3)) = 1.476485 */ + .quad 0x3FF7C69379F4605B /* HI((2^1*(1+20/32+1/64))^(1/3)) = 1.48598 */ + .quad 0x3FF7ECFA6BBCA391 /* HI((2^1*(1+21/32+1/64))^(1/3)) = 1.495356 */ + .quad 0x3FF812E79CAE7EB9 /* HI((2^1*(1+22/32+1/64))^(1/3)) = 1.504615 */ + .quad 0x3FF8385EC043C71D /* HI((2^1*(1+23/32+1/64))^(1/3)) = 1.513762 */ + .quad 0x3FF85D635CB41B9D /* HI((2^1*(1+24/32+1/64))^(1/3)) = 1.5228 */ + .quad 0x3FF881F8CDE083DB /* HI((2^1*(1+25/32+1/64))^(1/3)) = 1.531731 */ + .quad 0x3FF8A6224802B8A8 /* HI((2^1*(1+26/32+1/64))^(1/3)) = 1.54056 */ + .quad 0x3FF8C9E2DA25E5E4 /* HI((2^1*(1+27/32+1/64))^(1/3)) = 1.549289 */ + .quad 0x3FF8ED3D706E1010 /* HI((2^1*(1+28/32+1/64))^(1/3)) = 1.55792 */ + .quad 0x3FF91034D632B6DF /* HI((2^1*(1+29/32+1/64))^(1/3)) = 1.566457 */ + .quad 0x3FF932CBB7F0CF2D /* HI((2^1*(1+30/32+1/64))^(1/3)) = 1.574901 */ + .quad 0x3FF95504A517BF3A /* HI((2^1*(1+31/32+1/64))^(1/3)) = 1.583256 */ + .quad 0x3FF987AF34F8BB19 /* HI((2^2*(1+0/32+1/64))^(1/3)) = 1.595626 */ + .quad 0x3FF9CA0A8337B317 /* HI((2^2*(1+1/32+1/64))^(1/3)) = 1.611826 */ + .quad 0x3FFA0B1709CC13D5 /* HI((2^2*(1+2/32+1/64))^(1/3)) = 1.627708 */ + .quad 0x3FFA4AE4CE6419ED /* HI((2^2*(1+3/32+1/64))^(1/3)) = 1.643285 */ + .quad 0x3FFA8982A5567031 /* HI((2^2*(1+4/32+1/64))^(1/3)) = 1.658572 */ + .quad 0x3FFAC6FE500AB570 /* HI((2^2*(1+5/32+1/64))^(1/3)) = 1.673582 */ + .quad 0x3FFB036497A15A17 /* HI((2^2*(1+6/32+1/64))^(1/3)) = 1.688328 */ + .quad 0x3FFB3EC164671755 /* HI((2^2*(1+7/32+1/64))^(1/3)) = 1.702821 */ + .quad 0x3FFB791FD288C46F /* HI((2^2*(1+8/32+1/64))^(1/3)) = 1.717071 */ + .quad 0x3FFBB28A44693BE4 /* HI((2^2*(1+9/32+1/64))^(1/3)) = 1.731089 */ + .quad 0x3FFBEB0A72EB6E31 /* HI((2^2*(1+10/32+1/64))^(1/3)) = 1.744883 */ + .quad 0x3FFC22A97BF5F697 /* HI((2^2*(1+11/32+1/64))^(1/3)) = 1.758462 */ + .quad 0x3FFC596FEF6AF983 /* HI((2^2*(1+12/32+1/64))^(1/3)) = 1.771835 */ + .quad 0x3FFC8F65DAC655A3 /* HI((2^2*(1+13/32+1/64))^(1/3)) = 1.785009 */ + .quad 0x3FFCC492D38CE8D9 /* HI((2^2*(1+14/32+1/64))^(1/3)) = 1.797992 */ + .quad 0x3FFCF8FE00B19367 /* HI((2^2*(1+15/32+1/64))^(1/3)) = 1.810789 */ + .quad 0x3FFD2CAE230F8709 /* HI((2^2*(1+16/32+1/64))^(1/3)) = 1.823408 */ + .quad 0x3FFD5FA99D15208F /* HI((2^2*(1+17/32+1/64))^(1/3)) = 1.835855 */ + .quad 0x3FFD91F679B6E505 /* HI((2^2*(1+18/32+1/64))^(1/3)) = 1.848135 */ + .quad 0x3FFDC39A72BF2302 /* HI((2^2*(1+19/32+1/64))^(1/3)) = 1.860255 */ + .quad 0x3FFDF49AF68C1570 /* HI((2^2*(1+20/32+1/64))^(1/3)) = 1.872218 */ + .quad 0x3FFE24FD2D4C23B8 /* HI((2^2*(1+21/32+1/64))^(1/3)) = 1.884031 */ + .quad 0x3FFE54C5FDC5EC73 /* HI((2^2*(1+22/32+1/64))^(1/3)) = 1.895697 */ + .quad 0x3FFE83FA11B81DBB /* HI((2^2*(1+23/32+1/64))^(1/3)) = 1.907221 */ + .quad 0x3FFEB29DD9DBAF25 /* HI((2^2*(1+24/32+1/64))^(1/3)) = 1.918608 */ + .quad 0x3FFEE0B59191D374 /* HI((2^2*(1+25/32+1/64))^(1/3)) = 1.929861 */ + .quad 0x3FFF0E454245E4BF /* HI((2^2*(1+26/32+1/64))^(1/3)) = 1.940984 */ + .quad 0x3FFF3B50C68A9DD3 /* HI((2^2*(1+27/32+1/64))^(1/3)) = 1.951981 */ + .quad 0x3FFF67DBCCF922DC /* HI((2^2*(1+28/32+1/64))^(1/3)) = 1.962856 */ + .quad 0x3FFF93E9DAD7A4A6 /* HI((2^2*(1+29/32+1/64))^(1/3)) = 1.973612 */ + .quad 0x3FFFBF7E4E8CC9CB /* HI((2^2*(1+30/32+1/64))^(1/3)) = 1.984251 */ + .quad 0x3FFFEA9C61E47CD3 /* HI((2^2*(1+31/32+1/64))^(1/3)) = 1.994778 */ + .align 32 + .quad 0x3F93750AD588F115, 0x3F93750AD588F115, 0x3F93750AD588F115, 0x3F93750AD588F115 /* _dA7 */ + .align 32 + .quad 0xBF98090D6221A247, 0xBF98090D6221A247, 0xBF98090D6221A247, 0xBF98090D6221A247 /* _dA6 */ + .align 32 + .quad 0x3F9EE7113506AC12, 0x3F9EE7113506AC12, 0x3F9EE7113506AC12, 0x3F9EE7113506AC12 /* _dA5 */ + .align 32 + .quad 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B, 0xBFA511E8D2B3183B /* _dA4 */ + .align 32 + .quad 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458, 0x3FAF9ADD3C0CA458 /* _dA3 */ + .align 32 + .quad 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C, 0xBFBC71C71C71C71C /* _dA2 */ + .align 32 + .quad 0x3FD5555555555555, 0x3FD5555555555555, 0x3FD5555555555555, 0x3FD5555555555555 /* _dA1 */ + .align 32 + .quad 0xBFF0400000000000, 0xBFF0400000000000, 0xBFF0400000000000, 0xBFF0400000000000 /* _dNeg65Div64 */ + .align 32 + .quad 0x000FC00000000000, 0x000FC00000000000, 0x000FC00000000000, 0x000FC00000000000 /* _dSgnf6Mask */ + .align 32 + .quad 0xBFF0000000000000, 0xBFF0000000000000, 0xBFF0000000000000, 0xBFF0000000000000 /* _dNegOne */ + .align 32 + .quad 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF, 0x000FFFFFFFFFFFFF /* _dMantissaMask */ + .align 32 + .quad 0xFFF0000000000000, 0xFFF0000000000000, 0xFFF0000000000000, 0xFFF0000000000000 /* _lExpHiMask */ + .align 32 + .quad 0x00000000000007FF, 0x00000000000007FF, 0x00000000000007FF, 0x00000000000007FF /* _lExpLoMask */ + .align 32 + .quad 0x0000000000001556, 0x0000000000001556, 0x0000000000001556, 0x0000000000001556 /* _l1556 */ + .align 32 + .long 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000, 0x000F8000 /* _iRcpIndexMask */ + .align 32 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _iAbsMask */ + .align 32 + .long 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800, 0x00000800 /* _iSignMask */ + .align 32 + .long 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA, 0x000002AA /* _iBias */ + .align 32 + .long 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000, 0x80100000 /* _iSub */ + .align 32 + .long 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff, 0xffdfffff /* _iCmp */ + .align 32 + .type __svml_dcbrt_data_internal, @object + .size __svml_dcbrt_data_internal, .-__svml_dcbrt_data_internal From patchwork Mon Mar 7 15:00:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602241 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=j92pYdA5; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC1xW60nMz9s8s for ; Tue, 8 Mar 2022 02:06:07 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3B485385842B for ; Mon, 7 Mar 2022 15:06:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3B485385842B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665565; bh=qrjEuke0YLNJMKQj5VaAkQU3HR6V8vo3HQV7MfDC2PQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=j92pYdA5hIG+BLCyOBNJCwxWRMNBjHazYIev0Hl6+okqzeaBSAmPVKCmPrlaxnIy3 37IYUs4lhoWUnSKIDw899zGxUHKYLTG2cn4PW+HEjMd7XdqwnAVSN+PVWA/7PPsjuY vBtrQTi0zVwHopiDwrhG/Fquvonn2nRupBTX0tXk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id E42EC385843D for ; Mon, 7 Mar 2022 15:02:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E42EC385843D X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254599166" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254599166" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141837" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eM016772; Mon, 7 Mar 2022 07:02:05 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 048/126] x86_64: Fix svml_d_cbrt8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:43 -0800 Message-Id: <20220307150201.10590-49-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_cbrt8_core_avx512.S | 413 +++++++++--------- 1 file changed, 206 insertions(+), 207 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S index 35abf8d2f1..42cecf96f6 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cbrt8_core_avx512.S @@ -31,223 +31,222 @@ /* Offsets for data table __svml_dcbrt_data_internal_avx512 */ -#define etbl_H 0 -#define etbl_L 64 -#define cbrt_tbl_H 128 -#define BiasL 256 -#define SZero 320 -#define OneThird 384 -#define Bias3 448 -#define Three 512 -#define One 576 -#define poly_coeff10 640 -#define poly_coeff9 704 -#define poly_coeff8 768 -#define poly_coeff7 832 -#define poly_coeff6 896 -#define poly_coeff5 960 -#define poly_coeff4 1024 -#define poly_coeff3 1088 -#define poly_coeff2 1152 -#define poly_coeff1 1216 +#define etbl_H 0 +#define etbl_L 64 +#define cbrt_tbl_H 128 +#define BiasL 256 +#define SZero 320 +#define OneThird 384 +#define Bias3 448 +#define Three 512 +#define One 576 +#define poly_coeff10 640 +#define poly_coeff9 704 +#define poly_coeff8 768 +#define poly_coeff7 832 +#define poly_coeff6 896 +#define poly_coeff5 960 +#define poly_coeff4 1024 +#define poly_coeff3 1088 +#define poly_coeff2 1152 +#define poly_coeff1 1216 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_cbrt_skx) - vgetmantpd $0, {sae}, %zmm0, %zmm14 - -/* GetExp(x) */ - vgetexppd {sae}, %zmm0, %zmm7 - vmovups BiasL+__svml_dcbrt_data_internal_avx512(%rip), %zmm8 - -/* exponent/3 */ - vmovups OneThird+__svml_dcbrt_data_internal_avx512(%rip), %zmm9 - vmovups Bias3+__svml_dcbrt_data_internal_avx512(%rip), %zmm10 - -/* Reduced argument: R = DblRcp*Mantissa - 1 */ - vmovups One+__svml_dcbrt_data_internal_avx512(%rip), %zmm2 - -/* exponent%3 (to be used as index) */ - vmovups Three+__svml_dcbrt_data_internal_avx512(%rip), %zmm11 - -/* DblRcp ~ 1/Mantissa */ - vrcp14pd %zmm14, %zmm13 - vaddpd {rn-sae}, %zmm8, %zmm7, %zmm12 - vandpd SZero+__svml_dcbrt_data_internal_avx512(%rip), %zmm0, %zmm6 - -/* round DblRcp to 3 fractional bits (RN mode, no Precision exception) */ - vrndscalepd $72, {sae}, %zmm13, %zmm15 - vfmsub231pd {rn-sae}, %zmm12, %zmm9, %zmm10 - -/* polynomial */ - vmovups poly_coeff10+__svml_dcbrt_data_internal_avx512(%rip), %zmm0 - vmovups poly_coeff8+__svml_dcbrt_data_internal_avx512(%rip), %zmm7 - vmovups poly_coeff7+__svml_dcbrt_data_internal_avx512(%rip), %zmm9 - vfmsub231pd {rn-sae}, %zmm15, %zmm14, %zmm2 - vrndscalepd $9, {sae}, %zmm10, %zmm5 - -/* Table lookup */ - vmovups cbrt_tbl_H+__svml_dcbrt_data_internal_avx512(%rip), %zmm10 - vmovups poly_coeff6+__svml_dcbrt_data_internal_avx512(%rip), %zmm8 - vmovups poly_coeff3+__svml_dcbrt_data_internal_avx512(%rip), %zmm13 - vfmadd231pd {rn-sae}, %zmm2, %zmm7, %zmm9 - vfnmadd231pd {rn-sae}, %zmm5, %zmm11, %zmm12 - vmovups poly_coeff5+__svml_dcbrt_data_internal_avx512(%rip), %zmm11 - vmovups poly_coeff1+__svml_dcbrt_data_internal_avx512(%rip), %zmm14 - -/* Prepare table index */ - vpsrlq $49, %zmm15, %zmm1 - -/* Table lookup: 2^(exponent%3) */ - vpermpd __svml_dcbrt_data_internal_avx512(%rip), %zmm12, %zmm4 - vpermpd etbl_L+__svml_dcbrt_data_internal_avx512(%rip), %zmm12, %zmm3 - vpermt2pd cbrt_tbl_H+64+__svml_dcbrt_data_internal_avx512(%rip), %zmm1, %zmm10 - vmovups poly_coeff9+__svml_dcbrt_data_internal_avx512(%rip), %zmm1 - vfmadd231pd {rn-sae}, %zmm2, %zmm8, %zmm11 - vmovups poly_coeff2+__svml_dcbrt_data_internal_avx512(%rip), %zmm12 - vscalefpd {rn-sae}, %zmm5, %zmm10, %zmm15 - vfmadd231pd {rn-sae}, %zmm2, %zmm0, %zmm1 - vmovups poly_coeff4+__svml_dcbrt_data_internal_avx512(%rip), %zmm5 - vfmadd231pd {rn-sae}, %zmm2, %zmm12, %zmm14 - vmulpd {rn-sae}, %zmm2, %zmm2, %zmm0 - vfmadd231pd {rn-sae}, %zmm2, %zmm5, %zmm13 - -/* Sh*R */ - vmulpd {rn-sae}, %zmm2, %zmm4, %zmm2 - vfmadd213pd {rn-sae}, %zmm9, %zmm0, %zmm1 - vfmadd213pd {rn-sae}, %zmm11, %zmm0, %zmm1 - vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm1 - vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm1 - -/* Sl + (Sh*R)*Poly */ - vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm2 - -/* - * branch-free - * scaled_Th*(Sh+Sl+Sh*R*Poly) - */ - vaddpd {rn-sae}, %zmm4, %zmm2, %zmm3 - vmulpd {rn-sae}, %zmm15, %zmm3, %zmm4 - vorpd %zmm6, %zmm4, %zmm0 - ret + vgetmantpd $0, {sae}, %zmm0, %zmm14 + + /* GetExp(x) */ + vgetexppd {sae}, %zmm0, %zmm7 + vmovups BiasL+__svml_dcbrt_data_internal_avx512(%rip), %zmm8 + + /* exponent/3 */ + vmovups OneThird+__svml_dcbrt_data_internal_avx512(%rip), %zmm9 + vmovups Bias3+__svml_dcbrt_data_internal_avx512(%rip), %zmm10 + + /* Reduced argument: R = DblRcp*Mantissa - 1 */ + vmovups One+__svml_dcbrt_data_internal_avx512(%rip), %zmm2 + + /* exponent%3 (to be used as index) */ + vmovups Three+__svml_dcbrt_data_internal_avx512(%rip), %zmm11 + + /* DblRcp ~ 1/Mantissa */ + vrcp14pd %zmm14, %zmm13 + vaddpd {rn-sae}, %zmm8, %zmm7, %zmm12 + vandpd SZero+__svml_dcbrt_data_internal_avx512(%rip), %zmm0, %zmm6 + + /* round DblRcp to 3 fractional bits (RN mode, no Precision exception) */ + vrndscalepd $72, {sae}, %zmm13, %zmm15 + vfmsub231pd {rn-sae}, %zmm12, %zmm9, %zmm10 + + /* polynomial */ + vmovups poly_coeff10+__svml_dcbrt_data_internal_avx512(%rip), %zmm0 + vmovups poly_coeff8+__svml_dcbrt_data_internal_avx512(%rip), %zmm7 + vmovups poly_coeff7+__svml_dcbrt_data_internal_avx512(%rip), %zmm9 + vfmsub231pd {rn-sae}, %zmm15, %zmm14, %zmm2 + vrndscalepd $9, {sae}, %zmm10, %zmm5 + + /* Table lookup */ + vmovups cbrt_tbl_H+__svml_dcbrt_data_internal_avx512(%rip), %zmm10 + vmovups poly_coeff6+__svml_dcbrt_data_internal_avx512(%rip), %zmm8 + vmovups poly_coeff3+__svml_dcbrt_data_internal_avx512(%rip), %zmm13 + vfmadd231pd {rn-sae}, %zmm2, %zmm7, %zmm9 + vfnmadd231pd {rn-sae}, %zmm5, %zmm11, %zmm12 + vmovups poly_coeff5+__svml_dcbrt_data_internal_avx512(%rip), %zmm11 + vmovups poly_coeff1+__svml_dcbrt_data_internal_avx512(%rip), %zmm14 + + /* Prepare table index */ + vpsrlq $49, %zmm15, %zmm1 + + /* Table lookup: 2^(exponent%3) */ + vpermpd __svml_dcbrt_data_internal_avx512(%rip), %zmm12, %zmm4 + vpermpd etbl_L+__svml_dcbrt_data_internal_avx512(%rip), %zmm12, %zmm3 + vpermt2pd cbrt_tbl_H+64+__svml_dcbrt_data_internal_avx512(%rip), %zmm1, %zmm10 + vmovups poly_coeff9+__svml_dcbrt_data_internal_avx512(%rip), %zmm1 + vfmadd231pd {rn-sae}, %zmm2, %zmm8, %zmm11 + vmovups poly_coeff2+__svml_dcbrt_data_internal_avx512(%rip), %zmm12 + vscalefpd {rn-sae}, %zmm5, %zmm10, %zmm15 + vfmadd231pd {rn-sae}, %zmm2, %zmm0, %zmm1 + vmovups poly_coeff4+__svml_dcbrt_data_internal_avx512(%rip), %zmm5 + vfmadd231pd {rn-sae}, %zmm2, %zmm12, %zmm14 + vmulpd {rn-sae}, %zmm2, %zmm2, %zmm0 + vfmadd231pd {rn-sae}, %zmm2, %zmm5, %zmm13 + + /* Sh*R */ + vmulpd {rn-sae}, %zmm2, %zmm4, %zmm2 + vfmadd213pd {rn-sae}, %zmm9, %zmm0, %zmm1 + vfmadd213pd {rn-sae}, %zmm11, %zmm0, %zmm1 + vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm1 + vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm1 + + /* Sl + (Sh*R)*Poly */ + vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm2 + + /* + * branch-free + * scaled_Th*(Sh+Sl+Sh*R*Poly) + */ + vaddpd {rn-sae}, %zmm4, %zmm2, %zmm3 + vmulpd {rn-sae}, %zmm15, %zmm3, %zmm4 + vorpd %zmm6, %zmm4, %zmm0 + ret END(_ZGVeN8v_cbrt_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dcbrt_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 etbl_H[8][2]; - __declspec(align(64)) VUINT32 etbl_L[8][2]; - __declspec(align(64)) VUINT32 cbrt_tbl_H[16][2]; - __declspec(align(64)) VUINT32 BiasL[8][2]; - __declspec(align(64)) VUINT32 SZero[8][2]; - __declspec(align(64)) VUINT32 OneThird[8][2]; - __declspec(align(64)) VUINT32 Bias3[8][2]; - __declspec(align(64)) VUINT32 Three[8][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 poly_coeff10[8][2]; - __declspec(align(64)) VUINT32 poly_coeff9[8][2]; - __declspec(align(64)) VUINT32 poly_coeff8[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - } __svml_dcbrt_data_internal_avx512; + __declspec(align(64)) VUINT32 etbl_H[8][2]; + __declspec(align(64)) VUINT32 etbl_L[8][2]; + __declspec(align(64)) VUINT32 cbrt_tbl_H[16][2]; + __declspec(align(64)) VUINT32 BiasL[8][2]; + __declspec(align(64)) VUINT32 SZero[8][2]; + __declspec(align(64)) VUINT32 OneThird[8][2]; + __declspec(align(64)) VUINT32 Bias3[8][2]; + __declspec(align(64)) VUINT32 Three[8][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 poly_coeff10[8][2]; + __declspec(align(64)) VUINT32 poly_coeff9[8][2]; + __declspec(align(64)) VUINT32 poly_coeff8[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; +} __svml_dcbrt_data_internal_avx512; #endif __svml_dcbrt_data_internal_avx512: - /*== etbl_H ==*/ - .quad 0x3ff0000000000000 - .quad 0x3ff428a2f98d728b - .quad 0x3ff965fea53d6e3d - .quad 0x0000000000000000 - .quad 0xbff0000000000000 - .quad 0xbff428a2f98d728b - .quad 0xbff965fea53d6e3d - .quad 0x0000000000000000 - /*== etbl_L ==*/ - .align 64 - .quad 0x0000000000000000 - .quad 0xbc7ddc22548ea41e - .quad 0xbc9f53e999952f09 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x3c7ddc22548ea41e - .quad 0x3c9f53e999952f09 - .quad 0x0000000000000000 - /*== cbrt_tbl_H ==*/ - .align 64 - .quad 0x3ff428a2f98d728b - .quad 0x3ff361f35ca116ff - .quad 0x3ff2b6b5edf6b54a - .quad 0x3ff220e6dd675180 - .quad 0x3ff19c3b38e975a8 - .quad 0x3ff12589c21fb842 - .quad 0x3ff0ba6ee5f9aad4 - .quad 0x3ff059123d3a9848 - .quad 0x3ff0000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - /*== BiasL ==*/ - .align 64 - .quad 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000 - /*== Zero ==*/ - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 - /*== OneThird ==*/ - .align 64 - .quad 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556 - /*== Bias3 ==*/ - .align 64 - .quad 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000 - /*== Three ==*/ - .align 64 - .quad 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000 - /*==One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== poly_coeff10 ==*/ - .align 64 - .quad 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62 - /*== poly_coeff9 ==*/ - .align 64 - .quad 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875 - /*== poly_coeff8 ==*/ - .align 64 - .quad 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f - /*== poly_coeff7 ==*/ - .align 64 - .quad 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914 - /*== poly_coeff6 ==*/ - .align 64 - .quad 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e - /*== poly_coeff5 ==*/ - .align 64 - .quad 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569 - /*== poly_coeff4 ==*/ - .align 64 - .quad 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e - /*== poly_coeff3 ==*/ - .align 64 - .quad 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31 - /*== poly_coeff2 ==*/ - .align 64 - .quad 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741 - /*== poly_coeff1 ==*/ - .align 64 - .quad 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557 - .align 64 - .type __svml_dcbrt_data_internal_avx512,@object - .size __svml_dcbrt_data_internal_avx512,.-__svml_dcbrt_data_internal_avx512 + /* etbl_H */ + .quad 0x3ff0000000000000 + .quad 0x3ff428a2f98d728b + .quad 0x3ff965fea53d6e3d + .quad 0x0000000000000000 + .quad 0xbff0000000000000 + .quad 0xbff428a2f98d728b + .quad 0xbff965fea53d6e3d + .quad 0x0000000000000000 + /* etbl_L */ + .align 64 + .quad 0x0000000000000000 + .quad 0xbc7ddc22548ea41e + .quad 0xbc9f53e999952f09 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x3c7ddc22548ea41e + .quad 0x3c9f53e999952f09 + .quad 0x0000000000000000 + /* cbrt_tbl_H */ + .align 64 + .quad 0x3ff428a2f98d728b + .quad 0x3ff361f35ca116ff + .quad 0x3ff2b6b5edf6b54a + .quad 0x3ff220e6dd675180 + .quad 0x3ff19c3b38e975a8 + .quad 0x3ff12589c21fb842 + .quad 0x3ff0ba6ee5f9aad4 + .quad 0x3ff059123d3a9848 + .quad 0x3ff0000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + /* BiasL */ + .align 64 + .quad 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000 + /* Zero */ + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 + /* OneThird */ + .align 64 + .quad 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556, 0x3fd5555555555556 + /* Bias3 */ + .align 64 + .quad 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000, 0x4320000000000000 + /* Three */ + .align 64 + .quad 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000, 0x4008000000000000 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* poly_coeff10 */ + .align 64 + .quad 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62, 0xbf882e3b6adeca62 + /* poly_coeff9 */ + .align 64 + .quad 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875, 0x3f8bda24bae48875 + /* poly_coeff8 */ + .align 64 + .quad 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f, 0xbf9036b87c71d55f + /* poly_coeff7 */ + .align 64 + .quad 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914, 0x3f9374ed9398b914 + /* poly_coeff6 */ + .align 64 + .quad 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e, 0xbf98090d77f2468e + /* poly_coeff5 */ + .align 64 + .quad 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569, 0x3f9ee71141dcf569 + /* poly_coeff4 */ + .align 64 + .quad 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e, 0xbfa511e8d2b0363e + /* poly_coeff3 */ + .align 64 + .quad 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31, 0x3faf9add3c0b7e31 + /* poly_coeff2 */ + .align 64 + .quad 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741, 0xbfbc71c71c71c741 + /* poly_coeff1 */ + .align 64 + .quad 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557, 0x3fd5555555555557 + .align 64 + .type __svml_dcbrt_data_internal_avx512, @object + .size __svml_dcbrt_data_internal_avx512, .-__svml_dcbrt_data_internal_avx512 From patchwork Mon Mar 7 15:00:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602377 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=RDE7PPi3; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Vj6GkMz9sFt for ; Tue, 8 Mar 2022 03:16:29 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E82193858418 for ; Mon, 7 Mar 2022 16:16:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E82193858418 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669787; bh=87fDgu8kTnftepx3jm3E9fO+I4nkmJT+YExxesuwjlI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=RDE7PPi3BL1D98MUcye8YfyIkwBEUP6QIvwdD9MHTBSA3XtOps6jgnoOMJSYHqm1j BS6qbQvEWcs5uS/PGvYJMsC0XJS/L7k8uUFQ3K0LHHsU4ahfJR76kgJvoDl54tD90k CEIpIFnqo7kVbCWYJojmVblCigROhWnuMbFKQG5Q= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id D299E3858010 for ; Mon, 7 Mar 2022 15:03:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D299E3858010 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364132" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364132" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081779" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eN016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 049/126] x86_64: Fix svml_s_coshf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:44 -0800 Message-Id: <20220307150201.10590-50-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_coshf16_core_avx512.S | 516 +++++++++--------- 1 file changed, 257 insertions(+), 259 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S index d001653a72..6b740bf866 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf16_core_avx512.S @@ -34,288 +34,286 @@ /* Offsets for data table __svml_scosh_data_internal */ -#define _sExp_tbl_PH 0 -#define _sExp_tbl_NH 128 -#define _sShifter_UISA 256 -#define _iDomainRange_UISA 320 -#define _sPC1_UISA 384 -#define _sPC2_UISA 448 -#define _sPC3_UISA 512 -#define _sInvLn2 576 -#define _sLn2hi 640 -#define _sLn2lo 704 -#define _sSign 768 -#define _iExpMask 832 -#define _sShifter 896 -#define _iDomainRange 960 -#define _sPC1 1024 -#define _sPC2 1088 -#define _sPC3 1152 +#define _sExp_tbl_PH 0 +#define _sExp_tbl_NH 128 +#define _sShifter_UISA 256 +#define _iDomainRange_UISA 320 +#define _sPC1_UISA 384 +#define _sPC2_UISA 448 +#define _sPC3_UISA 512 +#define _sInvLn2 576 +#define _sLn2hi 640 +#define _sLn2lo 704 +#define _sSign 768 +#define _iExpMask 832 +#define _sShifter 896 +#define _iDomainRange 960 +#define _sPC1 1024 +#define _sPC2 1088 +#define _sPC3 1152 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_coshf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups _sSign+__svml_scosh_data_internal(%rip), %zmm4 - vmovups _sShifter_UISA+__svml_scosh_data_internal(%rip), %zmm6 - -/* - * Load argument - * dM = x/log(2) + RShifter - */ - vmovups _sInvLn2+__svml_scosh_data_internal(%rip), %zmm10 - vmovups _sLn2hi+__svml_scosh_data_internal(%rip), %zmm7 - vmovups _sLn2lo+__svml_scosh_data_internal(%rip), %zmm9 - -/* */ - vmovups _sPC3_UISA+__svml_scosh_data_internal(%rip), %zmm2 - -/* x^2 */ - vmovups _sPC2_UISA+__svml_scosh_data_internal(%rip), %zmm3 - -/* G1,G2 2^N,2^(-N) */ - vmovups __svml_scosh_data_internal(%rip), %zmm12 - vmovups _sExp_tbl_NH+__svml_scosh_data_internal(%rip), %zmm13 - -/* - * Implementation - * Abs argument - */ - vandnps %zmm0, %zmm4, %zmm1 - -/* Check for overflow\underflow */ - vpternlogd $255, %zmm5, %zmm5, %zmm5 - vfmadd213ps {rn-sae}, %zmm6, %zmm1, %zmm10 - vpcmpd $1, _iDomainRange_UISA+__svml_scosh_data_internal(%rip), %zmm1, %k1 - -/* iM now is an EXP(2^N) */ - vpslld $18, %zmm10, %zmm11 - -/* - * R - * sN = sM - RShifter - */ - vsubps {rn-sae}, %zmm6, %zmm10, %zmm8 - vpermt2ps _sExp_tbl_PH+64+__svml_scosh_data_internal(%rip), %zmm10, %zmm12 - vpermt2ps _sExp_tbl_NH+64+__svml_scosh_data_internal(%rip), %zmm10, %zmm13 - vpandnd %zmm1, %zmm1, %zmm5{%k1} - -/* sR = sX - sN*Log2_hi */ - vfnmadd231ps {rn-sae}, %zmm7, %zmm8, %zmm1 - vptestmd %zmm5, %zmm5, %k0 - -/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ - vfnmadd231ps {rn-sae}, %zmm9, %zmm8, %zmm1 - kmovw %k0, %edx - vmulps {rn-sae}, %zmm1, %zmm1, %zmm4 - vmulps {rn-sae}, %zmm4, %zmm2, %zmm2 - -/* sSinh_r = r + r*(r^2*(a3)) */ - vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm2 - -/* sOut = r^2*(a2) */ - vmulps {rn-sae}, %zmm4, %zmm3, %zmm1 - vpandd _iExpMask+__svml_scosh_data_internal(%rip), %zmm11, %zmm14 - vpaddd %zmm14, %zmm12, %zmm15 - vpsubd %zmm14, %zmm13, %zmm10 - -/* sG2 = 2^N*Th + 2^(-N)*T_h */ - vaddps {rn-sae}, %zmm10, %zmm15, %zmm5 - -/* sG1 = 2^N*Th - 2^(-N)*T_h */ - vsubps {rn-sae}, %zmm10, %zmm15, %zmm6 - -/* res = sG1*(r + r*(r^2*(a3))) + sG2*(1+r^2*(a2)) */ - vfmadd213ps {rn-sae}, %zmm5, %zmm5, %zmm1 - vfmadd213ps {rn-sae}, %zmm1, %zmm2, %zmm6 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm6 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups _sSign+__svml_scosh_data_internal(%rip), %zmm4 + vmovups _sShifter_UISA+__svml_scosh_data_internal(%rip), %zmm6 + + /* + * Load argument + * dM = x/log(2) + RShifter + */ + vmovups _sInvLn2+__svml_scosh_data_internal(%rip), %zmm10 + vmovups _sLn2hi+__svml_scosh_data_internal(%rip), %zmm7 + vmovups _sLn2lo+__svml_scosh_data_internal(%rip), %zmm9 + + /* */ + vmovups _sPC3_UISA+__svml_scosh_data_internal(%rip), %zmm2 + + /* x^2 */ + vmovups _sPC2_UISA+__svml_scosh_data_internal(%rip), %zmm3 + + /* G1, G2 2^N, 2^(-N) */ + vmovups __svml_scosh_data_internal(%rip), %zmm12 + vmovups _sExp_tbl_NH+__svml_scosh_data_internal(%rip), %zmm13 + + /* + * Implementation + * Abs argument + */ + vandnps %zmm0, %zmm4, %zmm1 + + /* Check for overflow\underflow */ + vpternlogd $255, %zmm5, %zmm5, %zmm5 + vfmadd213ps {rn-sae}, %zmm6, %zmm1, %zmm10 + vpcmpd $1, _iDomainRange_UISA+__svml_scosh_data_internal(%rip), %zmm1, %k1 + + /* iM now is an EXP(2^N) */ + vpslld $18, %zmm10, %zmm11 + + /* + * R + * sN = sM - RShifter + */ + vsubps {rn-sae}, %zmm6, %zmm10, %zmm8 + vpermt2ps _sExp_tbl_PH+64+__svml_scosh_data_internal(%rip), %zmm10, %zmm12 + vpermt2ps _sExp_tbl_NH+64+__svml_scosh_data_internal(%rip), %zmm10, %zmm13 + vpandnd %zmm1, %zmm1, %zmm5{%k1} + + /* sR = sX - sN*Log2_hi */ + vfnmadd231ps {rn-sae}, %zmm7, %zmm8, %zmm1 + vptestmd %zmm5, %zmm5, %k0 + + /* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + vfnmadd231ps {rn-sae}, %zmm9, %zmm8, %zmm1 + kmovw %k0, %edx + vmulps {rn-sae}, %zmm1, %zmm1, %zmm4 + vmulps {rn-sae}, %zmm4, %zmm2, %zmm2 + + /* sSinh_r = r + r*(r^2*(a3)) */ + vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm2 + + /* sOut = r^2*(a2) */ + vmulps {rn-sae}, %zmm4, %zmm3, %zmm1 + vpandd _iExpMask+__svml_scosh_data_internal(%rip), %zmm11, %zmm14 + vpaddd %zmm14, %zmm12, %zmm15 + vpsubd %zmm14, %zmm13, %zmm10 + + /* sG2 = 2^N*Th + 2^(-N)*T_h */ + vaddps {rn-sae}, %zmm10, %zmm15, %zmm5 + + /* sG1 = 2^N*Th - 2^(-N)*T_h */ + vsubps {rn-sae}, %zmm10, %zmm15, %zmm6 + + /* res = sG1*(r + r*(r^2*(a3))) + sG2*(1+r^2*(a2)) */ + vfmadd213ps {rn-sae}, %zmm5, %zmm5, %zmm1 + vfmadd213ps {rn-sae}, %zmm1, %zmm2, %zmm6 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm6 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm6, %zmm0 - 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 - */ + vmovaps %zmm6, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm6, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm6 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm6, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm6 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm6 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm6 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm6 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm6 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call coshf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call coshf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_coshf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_scosh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _sExp_tbl_PH[32][1]; - __declspec(align(64)) VUINT32 _sExp_tbl_NH[32][1]; - __declspec(align(64)) VUINT32 _sShifter_UISA[16][1]; - __declspec(align(64)) VUINT32 _iDomainRange_UISA[16][1]; - __declspec(align(64)) VUINT32 _sPC1_UISA[16][1]; - __declspec(align(64)) VUINT32 _sPC2_UISA[16][1]; - __declspec(align(64)) VUINT32 _sPC3_UISA[16][1]; - __declspec(align(64)) VUINT32 _sInvLn2[16][1]; - __declspec(align(64)) VUINT32 _sLn2hi[16][1]; - __declspec(align(64)) VUINT32 _sLn2lo[16][1]; - __declspec(align(64)) VUINT32 _sSign[16][1]; - __declspec(align(64)) VUINT32 _iExpMask[16][1]; - __declspec(align(64)) VUINT32 _sShifter[16][1]; - __declspec(align(64)) VUINT32 _iDomainRange[16][1]; - __declspec(align(64)) VUINT32 _sPC1[16][1]; - __declspec(align(64)) VUINT32 _sPC2[16][1]; - __declspec(align(64)) VUINT32 _sPC3[16][1]; +typedef struct { + __declspec(align(64)) VUINT32 _sExp_tbl_PH[32][1]; + __declspec(align(64)) VUINT32 _sExp_tbl_NH[32][1]; + __declspec(align(64)) VUINT32 _sShifter_UISA[16][1]; + __declspec(align(64)) VUINT32 _iDomainRange_UISA[16][1]; + __declspec(align(64)) VUINT32 _sPC1_UISA[16][1]; + __declspec(align(64)) VUINT32 _sPC2_UISA[16][1]; + __declspec(align(64)) VUINT32 _sPC3_UISA[16][1]; + __declspec(align(64)) VUINT32 _sInvLn2[16][1]; + __declspec(align(64)) VUINT32 _sLn2hi[16][1]; + __declspec(align(64)) VUINT32 _sLn2lo[16][1]; + __declspec(align(64)) VUINT32 _sSign[16][1]; + __declspec(align(64)) VUINT32 _iExpMask[16][1]; + __declspec(align(64)) VUINT32 _sShifter[16][1]; + __declspec(align(64)) VUINT32 _iDomainRange[16][1]; + __declspec(align(64)) VUINT32 _sPC1[16][1]; + __declspec(align(64)) VUINT32 _sPC2[16][1]; + __declspec(align(64)) VUINT32 _sPC3[16][1]; } __svml_scosh_data_internal; #endif __svml_scosh_data_internal: - /* _sExp_tbl_PH 2^(i/32-1), i=0..31 */ - .long 0x3f000000, 0x3f02cd87, 0x3f05aac3, 0x3f08980f - .long 0x3f0b95c2, 0x3f0ea43a, 0x3f11c3d3, 0x3f14f4f0 - .long 0x3f1837f0, 0x3f1b8d3a, 0x3f1ef532, 0x3f227043 - .long 0x3f25fed7, 0x3f29a15b, 0x3f2d583f, 0x3f3123f6 - .long 0x3f3504f3, 0x3f38fbaf, 0x3f3d08a4, 0x3f412c4d - .long 0x3f45672a, 0x3f49b9be, 0x3f4e248c, 0x3f52a81e - .long 0x3f5744fd, 0x3f5bfbb8, 0x3f60ccdf, 0x3f65b907 - .long 0x3f6ac0c7, 0x3f6fe4ba, 0x3f75257d, 0x3f7a83b3 - /* _sExp_tbl_NH 2^(-i/32-1), i=0..31 */ - .align 64 - .long 0x3f000000, 0x3efa83b3, 0x3ef5257d, 0x3eefe4ba - .long 0x3eeac0c7, 0x3ee5b907, 0x3ee0ccdf, 0x3edbfbb8 - .long 0x3ed744fd, 0x3ed2a81e, 0x3ece248c, 0x3ec9b9be - .long 0x3ec5672a, 0x3ec12c4d, 0x3ebd08a4, 0x3eb8fbaf - .long 0x3eb504f3, 0x3eb123f6, 0x3ead583f, 0x3ea9a15b - .long 0x3ea5fed7, 0x3ea27043, 0x3e9ef532, 0x3e9b8d3a - .long 0x3e9837f0, 0x3e94f4f0, 0x3e91c3d3, 0x3e8ea43a - .long 0x3e8b95c2, 0x3e88980f, 0x3e85aac3, 0x3e82cd87 - .align 64 - .long 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000 /* 1.5*2^18 _sShifter_UISA */ - .align 64 - .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange_UISA */ - .align 64 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1_UISA=1 */ - .align 64 - .long 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f /* _sPC2_UISA */ - .align 64 - .long 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd /* _sPC3_UISA */ - .align 64 - .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ //k=0 - .align 64 - .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ - .align 64 - .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 /* _sLn2lo */ - .align 64 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ - .align 64 - .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _iExpMask */ - .align 64 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 64 - .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ - .align 64 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ - .align 64 - .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ - .align 64 - .type __svml_scosh_data_internal,@object - .size __svml_scosh_data_internal,.-__svml_scosh_data_internal + /* _sExp_tbl_PH 2^(i/32-1), i=0..31 */ + .long 0x3f000000, 0x3f02cd87, 0x3f05aac3, 0x3f08980f + .long 0x3f0b95c2, 0x3f0ea43a, 0x3f11c3d3, 0x3f14f4f0 + .long 0x3f1837f0, 0x3f1b8d3a, 0x3f1ef532, 0x3f227043 + .long 0x3f25fed7, 0x3f29a15b, 0x3f2d583f, 0x3f3123f6 + .long 0x3f3504f3, 0x3f38fbaf, 0x3f3d08a4, 0x3f412c4d + .long 0x3f45672a, 0x3f49b9be, 0x3f4e248c, 0x3f52a81e + .long 0x3f5744fd, 0x3f5bfbb8, 0x3f60ccdf, 0x3f65b907 + .long 0x3f6ac0c7, 0x3f6fe4ba, 0x3f75257d, 0x3f7a83b3 + /* _sExp_tbl_NH 2^(-i/32-1), i=0..31 */ + .align 64 + .long 0x3f000000, 0x3efa83b3, 0x3ef5257d, 0x3eefe4ba + .long 0x3eeac0c7, 0x3ee5b907, 0x3ee0ccdf, 0x3edbfbb8 + .long 0x3ed744fd, 0x3ed2a81e, 0x3ece248c, 0x3ec9b9be + .long 0x3ec5672a, 0x3ec12c4d, 0x3ebd08a4, 0x3eb8fbaf + .long 0x3eb504f3, 0x3eb123f6, 0x3ead583f, 0x3ea9a15b + .long 0x3ea5fed7, 0x3ea27043, 0x3e9ef532, 0x3e9b8d3a + .long 0x3e9837f0, 0x3e94f4f0, 0x3e91c3d3, 0x3e8ea43a + .long 0x3e8b95c2, 0x3e88980f, 0x3e85aac3, 0x3e82cd87 + .align 64 + .long 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000 /* 1.5*2^18 _sShifter_UISA */ + .align 64 + .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange_UISA */ + .align 64 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1_UISA=1 */ + .align 64 + .long 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f, 0x3f00010f /* _sPC2_UISA */ + .align 64 + .long 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd, 0x3e2aaacd /* _sPC3_UISA */ + .align 64 + .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ // k=0 + .align 64 + .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ + .align 64 + .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 /* _sLn2lo */ + .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ + .align 64 + .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _iExpMask */ + .align 64 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 64 + .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ + .align 64 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ + .align 64 + .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ + .align 64 + .type __svml_scosh_data_internal, @object + .size __svml_scosh_data_internal, .-__svml_scosh_data_internal From patchwork Mon Mar 7 15:00:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602384 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=M9suOMz2; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3cp5Pqmz9sFt for ; Tue, 8 Mar 2022 03:21:46 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C2DB8385801F for ; Mon, 7 Mar 2022 16:21:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C2DB8385801F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670104; bh=n/ORd9ZDfssYHjBRzWCKKVVPdwONBIRpdENTEZ/nL34=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=M9suOMz23I1iZhLgfmoqzpYLhNiwlc8MPszJT7qwD3rzB8vLIf0rNQvTUix63oyzj 3PvfJqXr3YPzUcG3Srv/HgG3m8eOl5laPLwk7FhaMUqPTwD7yIvd9Tm0HtlZ3F6b3k PnVT2meAaojjsq92z4bUkloKYAwOm79KG2VWKypI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id F06AB3858004 for ; Mon, 7 Mar 2022 15:03:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F06AB3858004 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364128" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364128" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561718" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eO016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 050/126] x86_64: Fix svml_s_coshf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:45 -0800 Message-Id: <20220307150201.10590-51-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SCC_5_SHORT_WORD_LINES, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_coshf4_core_sse4.S | 484 +++++++++--------- 1 file changed, 241 insertions(+), 243 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S index 7812fe9345..5d0d3db893 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf4_core_sse4.S @@ -34,272 +34,270 @@ /* Offsets for data table __svml_scosh_data_internal */ -#define _sInvLn2 0 -#define _sLn2hi 16 -#define _sLn2lo 32 -#define _sSign 48 -#define _sShifter 64 -#define _iDomainRange 80 -#define _sPC1 96 -#define _sPC2 112 -#define _sPC3 128 -#define _sPC4 144 -#define _sPC5 160 -#define _sPC6 176 -#define _iHalf 192 +#define _sInvLn2 0 +#define _sLn2hi 16 +#define _sLn2lo 32 +#define _sSign 48 +#define _sShifter 64 +#define _iDomainRange 80 +#define _sPC1 96 +#define _sPC2 112 +#define _sPC3 128 +#define _sPC4 144 +#define _sPC5 160 +#define _sPC6 176 +#define _iHalf 192 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_coshf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* - * Implementation - * Abs argument - */ - movups _sSign+__svml_scosh_data_internal(%rip), %xmm1 - -/* - * Load argument - * dM = x/log(2) + RShifter - */ - movups _sInvLn2+__svml_scosh_data_internal(%rip), %xmm9 - andnps %xmm0, %xmm1 - mulps %xmm1, %xmm9 - -/* Check for overflow\underflow */ - movaps %xmm1, %xmm3 - movups _sShifter+__svml_scosh_data_internal(%rip), %xmm4 - movups _sLn2hi+__svml_scosh_data_internal(%rip), %xmm5 - addps %xmm4, %xmm9 - -/* - * R - * sN = sM - RShifter - */ - movaps %xmm9, %xmm6 - -/* - * G1,G2 2^N,2^(-N) - * iM now is an EXP(2^N) - */ - pslld $23, %xmm9 - movups _sLn2lo+__svml_scosh_data_internal(%rip), %xmm7 - subps %xmm4, %xmm6 - -/* sR = sX - sN*Log2_hi */ - mulps %xmm6, %xmm5 - -/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ - mulps %xmm6, %xmm7 - movdqu _iDomainRange+__svml_scosh_data_internal(%rip), %xmm2 - pcmpgtd %xmm2, %xmm3 - pcmpeqd %xmm1, %xmm2 - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... - * sSinh_r = (a3+r^2*a5) - */ - movups _sPC5+__svml_scosh_data_internal(%rip), %xmm10 - por %xmm2, %xmm3 - -/* - * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) - * sOut = (a4 +a6*sR2) - */ - movups _sPC6+__svml_scosh_data_internal(%rip), %xmm11 - subps %xmm5, %xmm1 - movmskps %xmm3, %edx - movdqu _iHalf+__svml_scosh_data_internal(%rip), %xmm8 - subps %xmm7, %xmm1 - -/* sR2 = sR^2,shaffled */ - movaps %xmm1, %xmm13 - movdqa %xmm8, %xmm2 - mulps %xmm1, %xmm13 - paddd %xmm9, %xmm2 - mulps %xmm13, %xmm10 - psubd %xmm9, %xmm8 - mulps %xmm13, %xmm11 - addps _sPC3+__svml_scosh_data_internal(%rip), %xmm10 - addps _sPC4+__svml_scosh_data_internal(%rip), %xmm11 - -/* sSinh_r = r^2*(a3+r^2*a5) */ - mulps %xmm13, %xmm10 - -/* sOut = a2+sR2*(a4+a6*sR2) */ - mulps %xmm13, %xmm11 - -/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - mulps %xmm1, %xmm10 - addps _sPC2+__svml_scosh_data_internal(%rip), %xmm11 - addps %xmm10, %xmm1 - -/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ - mulps %xmm11, %xmm13 - -/* sG1 = 2^(N-1)-2^(-N-1) */ - movdqa %xmm2, %xmm12 - -/* sG2 = 2^(N-1)+2^(-N-1) */ - addps %xmm8, %xmm2 - subps %xmm8, %xmm12 - -/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - mulps %xmm2, %xmm13 - -/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - mulps %xmm1, %xmm12 - addps %xmm12, %xmm13 - -/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - addps %xmm13, %xmm2 - -/* Ret H */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm2 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* + * Implementation + * Abs argument + */ + movups _sSign+__svml_scosh_data_internal(%rip), %xmm1 + + /* + * Load argument + * dM = x/log(2) + RShifter + */ + movups _sInvLn2+__svml_scosh_data_internal(%rip), %xmm9 + andnps %xmm0, %xmm1 + mulps %xmm1, %xmm9 + + /* Check for overflow\underflow */ + movaps %xmm1, %xmm3 + movups _sShifter+__svml_scosh_data_internal(%rip), %xmm4 + movups _sLn2hi+__svml_scosh_data_internal(%rip), %xmm5 + addps %xmm4, %xmm9 + + /* + * R + * sN = sM - RShifter + */ + movaps %xmm9, %xmm6 + + /* + * G1, G2 2^N, 2^(-N) + * iM now is an EXP(2^N) + */ + pslld $23, %xmm9 + movups _sLn2lo+__svml_scosh_data_internal(%rip), %xmm7 + subps %xmm4, %xmm6 + + /* sR = sX - sN*Log2_hi */ + mulps %xmm6, %xmm5 + + /* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + mulps %xmm6, %xmm7 + movdqu _iDomainRange+__svml_scosh_data_internal(%rip), %xmm2 + pcmpgtd %xmm2, %xmm3 + pcmpeqd %xmm1, %xmm2 + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + movups _sPC5+__svml_scosh_data_internal(%rip), %xmm10 + por %xmm2, %xmm3 + + /* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + movups _sPC6+__svml_scosh_data_internal(%rip), %xmm11 + subps %xmm5, %xmm1 + movmskps %xmm3, %edx + movdqu _iHalf+__svml_scosh_data_internal(%rip), %xmm8 + subps %xmm7, %xmm1 + + /* sR2 = sR^2, shaffled */ + movaps %xmm1, %xmm13 + movdqa %xmm8, %xmm2 + mulps %xmm1, %xmm13 + paddd %xmm9, %xmm2 + mulps %xmm13, %xmm10 + psubd %xmm9, %xmm8 + mulps %xmm13, %xmm11 + addps _sPC3+__svml_scosh_data_internal(%rip), %xmm10 + addps _sPC4+__svml_scosh_data_internal(%rip), %xmm11 + + /* sSinh_r = r^2*(a3+r^2*a5) */ + mulps %xmm13, %xmm10 + + /* sOut = a2+sR2*(a4+a6*sR2) */ + mulps %xmm13, %xmm11 + + /* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + mulps %xmm1, %xmm10 + addps _sPC2+__svml_scosh_data_internal(%rip), %xmm11 + addps %xmm10, %xmm1 + + /* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm11, %xmm13 + + /* sG1 = 2^(N-1)-2^(-N-1) */ + movdqa %xmm2, %xmm12 + + /* sG2 = 2^(N-1)+2^(-N-1) */ + addps %xmm8, %xmm2 + subps %xmm8, %xmm12 + + /* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm2, %xmm13 + + /* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm1, %xmm12 + addps %xmm12, %xmm13 + + /* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + addps %xmm13, %xmm2 + + /* Ret H */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm2, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm2, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm2, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm2, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm2 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm2 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm2 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm2 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call coshf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call coshf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_coshf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_scosh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _sInvLn2[4][1]; - __declspec(align(16)) VUINT32 _sLn2hi[4][1]; - __declspec(align(16)) VUINT32 _sLn2lo[4][1]; - __declspec(align(16)) VUINT32 _sSign[4][1]; - __declspec(align(16)) VUINT32 _sShifter[4][1]; - __declspec(align(16)) VUINT32 _iDomainRange[4][1]; - __declspec(align(16)) VUINT32 _sPC1[4][1]; - __declspec(align(16)) VUINT32 _sPC2[4][1]; - __declspec(align(16)) VUINT32 _sPC3[4][1]; - __declspec(align(16)) VUINT32 _sPC4[4][1]; - __declspec(align(16)) VUINT32 _sPC5[4][1]; - __declspec(align(16)) VUINT32 _sPC6[4][1]; - __declspec(align(16)) VUINT32 _iHalf[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _sInvLn2[4][1]; + __declspec(align(16)) VUINT32 _sLn2hi[4][1]; + __declspec(align(16)) VUINT32 _sLn2lo[4][1]; + __declspec(align(16)) VUINT32 _sSign[4][1]; + __declspec(align(16)) VUINT32 _sShifter[4][1]; + __declspec(align(16)) VUINT32 _iDomainRange[4][1]; + __declspec(align(16)) VUINT32 _sPC1[4][1]; + __declspec(align(16)) VUINT32 _sPC2[4][1]; + __declspec(align(16)) VUINT32 _sPC3[4][1]; + __declspec(align(16)) VUINT32 _sPC4[4][1]; + __declspec(align(16)) VUINT32 _sPC5[4][1]; + __declspec(align(16)) VUINT32 _sPC6[4][1]; + __declspec(align(16)) VUINT32 _iHalf[4][1]; } __svml_scosh_data_internal; #endif __svml_scosh_data_internal: - .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ //k=0 - .align 16 - .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ - .align 16 - .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 /* _sLn2lo */ - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ - .align 16 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 16 - .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ - .align 16 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ - .align 16 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ - .align 16 - .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ - .align 16 - .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ - .align 16 - .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ - .align 16 - .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ - // Integer constants - .align 16 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf*/ - .align 16 - .type __svml_scosh_data_internal,@object - .size __svml_scosh_data_internal,.-__svml_scosh_data_internal + .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ // k=0 + .align 16 + .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ + .align 16 + .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 /* _sLn2lo */ + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ + .align 16 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 16 + .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ + .align 16 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ + .align 16 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ + .align 16 + .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ + .align 16 + .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ + .align 16 + .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ + .align 16 + .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ + // Integer constants + .align 16 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf */ + .align 16 + .type __svml_scosh_data_internal, @object + .size __svml_scosh_data_internal, .-__svml_scosh_data_internal From patchwork Mon Mar 7 15:00:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602350 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=yqANsEq1; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC34p0rs9z9sBy for ; Tue, 8 Mar 2022 02:57:30 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1F6C2385841B for ; Mon, 7 Mar 2022 15:57:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1F6C2385841B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668648; bh=vnm5GMQ+pIbguGoS6QwICjhOriVQ4mkA7s2I+R8qHBs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=yqANsEq1b1B654tKfXQtl6WOf7jBMollC47JzbXaTdkiBz80qR7brFfNmSCyYV1PN QsbXYtNdIzxa8pdu9T4CLsGv4nZA4Qhhh8+DnUO/pWe608NptSUeCmQUqvc/tNHbqr wCXTSAblcukkAMLO6tJFA7blVJFdJvQqjqv0bXWs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 006C73858404 for ; Mon, 7 Mar 2022 15:02:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 006C73858404 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="251983677" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="251983677" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="610639875" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eP016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 051/126] x86_64: Fix svml_s_coshf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:46 -0800 Message-Id: <20220307150201.10590-52-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_coshf8_core_avx2.S | 490 +++++++++--------- 1 file changed, 244 insertions(+), 246 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S index a7726b8d42..6f29218af1 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_coshf8_core_avx2.S @@ -34,275 +34,273 @@ /* Offsets for data table __svml_scosh_data_internal */ -#define _sInvLn2 0 -#define _sLn2hi 32 -#define _sLn2lo 64 -#define _sSign 96 -#define _sShifter 128 -#define _iDomainRange 160 -#define _sPC1 192 -#define _sPC2 224 -#define _sPC3 256 -#define _sPC4 288 -#define _sPC5 320 -#define _sPC6 352 -#define _iHalf 384 +#define _sInvLn2 0 +#define _sLn2hi 32 +#define _sLn2lo 64 +#define _sSign 96 +#define _sShifter 128 +#define _iDomainRange 160 +#define _sPC1 192 +#define _sPC2 224 +#define _sPC3 256 +#define _sPC4 288 +#define _sPC5 320 +#define _sPC6 352 +#define _iHalf 384 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_coshf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovups _sSign+__svml_scosh_data_internal(%rip), %ymm2 - vmovups _sShifter+__svml_scosh_data_internal(%rip), %ymm7 - -/* - * Load argument - * dM = x/log(2) + RShifter - */ - vmovups _sInvLn2+__svml_scosh_data_internal(%rip), %ymm10 - vmovups _sLn2hi+__svml_scosh_data_internal(%rip), %ymm8 - vmovups _iDomainRange+__svml_scosh_data_internal(%rip), %ymm3 - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... - * sSinh_r = (a3+r^2*a5) - */ - vmovups _sPC5+__svml_scosh_data_internal(%rip), %ymm15 - vmovups _iHalf+__svml_scosh_data_internal(%rip), %ymm11 - vmovaps %ymm0, %ymm1 - -/* - * Implementation - * Abs argument - */ - vandnps %ymm1, %ymm2, %ymm0 - vfmadd213ps %ymm7, %ymm0, %ymm10 - -/* - * R - * sN = sM - RShifter - */ - vsubps %ymm7, %ymm10, %ymm9 - -/* - * G1,G2 2^N,2^(-N) - * iM now is an EXP(2^N) - */ - vpslld $23, %ymm10, %ymm12 - -/* Check for overflow\underflow */ - vpcmpgtd %ymm3, %ymm0, %ymm4 - vpcmpeqd %ymm3, %ymm0, %ymm5 - -/* sR = sX - sN*Log2_hi */ - vfnmadd231ps %ymm8, %ymm9, %ymm0 - vpaddd %ymm12, %ymm11, %ymm13 - vpsubd %ymm12, %ymm11, %ymm14 - vpor %ymm5, %ymm4, %ymm6 - -/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ - vfnmadd231ps _sLn2lo+__svml_scosh_data_internal(%rip), %ymm9, %ymm0 - -/* sG1 = 2^(N-1)-2^(-N-1) */ - vsubps %ymm14, %ymm13, %ymm4 - -/* sG2 = 2^(N-1)+2^(-N-1) */ - vaddps %ymm14, %ymm13, %ymm3 - -/* sR2 = sR^2,shaffled */ - vmulps %ymm0, %ymm0, %ymm2 - vfmadd213ps _sPC3+__svml_scosh_data_internal(%rip), %ymm2, %ymm15 - -/* sSinh_r = r^2*(a3+r^2*a5) */ - vmulps %ymm15, %ymm2, %ymm13 - -/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - vfmadd213ps %ymm0, %ymm0, %ymm13 - -/* - * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) - * sOut = (a4 +a6*sR2) - */ - vmovups _sPC6+__svml_scosh_data_internal(%rip), %ymm0 - vfmadd213ps _sPC4+__svml_scosh_data_internal(%rip), %ymm2, %ymm0 - -/* sOut = a2+sR2*(a4+a6*sR2) */ - vfmadd213ps _sPC2+__svml_scosh_data_internal(%rip), %ymm2, %ymm0 - -/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ - vmulps %ymm0, %ymm2, %ymm15 - -/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vmulps %ymm15, %ymm3, %ymm14 - -/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vfmadd213ps %ymm14, %ymm13, %ymm4 - vmovmskps %ymm6, %edx - -/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vaddps %ymm4, %ymm3, %ymm0 - -/* Ret H */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + vmovups _sSign+__svml_scosh_data_internal(%rip), %ymm2 + vmovups _sShifter+__svml_scosh_data_internal(%rip), %ymm7 + + /* + * Load argument + * dM = x/log(2) + RShifter + */ + vmovups _sInvLn2+__svml_scosh_data_internal(%rip), %ymm10 + vmovups _sLn2hi+__svml_scosh_data_internal(%rip), %ymm8 + vmovups _iDomainRange+__svml_scosh_data_internal(%rip), %ymm3 + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + vmovups _sPC5+__svml_scosh_data_internal(%rip), %ymm15 + vmovups _iHalf+__svml_scosh_data_internal(%rip), %ymm11 + vmovaps %ymm0, %ymm1 + + /* + * Implementation + * Abs argument + */ + vandnps %ymm1, %ymm2, %ymm0 + vfmadd213ps %ymm7, %ymm0, %ymm10 + + /* + * R + * sN = sM - RShifter + */ + vsubps %ymm7, %ymm10, %ymm9 + + /* + * G1, G2 2^N, 2^(-N) + * iM now is an EXP(2^N) + */ + vpslld $23, %ymm10, %ymm12 + + /* Check for overflow\underflow */ + vpcmpgtd %ymm3, %ymm0, %ymm4 + vpcmpeqd %ymm3, %ymm0, %ymm5 + + /* sR = sX - sN*Log2_hi */ + vfnmadd231ps %ymm8, %ymm9, %ymm0 + vpaddd %ymm12, %ymm11, %ymm13 + vpsubd %ymm12, %ymm11, %ymm14 + vpor %ymm5, %ymm4, %ymm6 + + /* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + vfnmadd231ps _sLn2lo+__svml_scosh_data_internal(%rip), %ymm9, %ymm0 + + /* sG1 = 2^(N-1)-2^(-N-1) */ + vsubps %ymm14, %ymm13, %ymm4 + + /* sG2 = 2^(N-1)+2^(-N-1) */ + vaddps %ymm14, %ymm13, %ymm3 + + /* sR2 = sR^2, shaffled */ + vmulps %ymm0, %ymm0, %ymm2 + vfmadd213ps _sPC3+__svml_scosh_data_internal(%rip), %ymm2, %ymm15 + + /* sSinh_r = r^2*(a3+r^2*a5) */ + vmulps %ymm15, %ymm2, %ymm13 + + /* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213ps %ymm0, %ymm0, %ymm13 + + /* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + vmovups _sPC6+__svml_scosh_data_internal(%rip), %ymm0 + vfmadd213ps _sPC4+__svml_scosh_data_internal(%rip), %ymm2, %ymm0 + + /* sOut = a2+sR2*(a4+a6*sR2) */ + vfmadd213ps _sPC2+__svml_scosh_data_internal(%rip), %ymm2, %ymm0 + + /* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm0, %ymm2, %ymm15 + + /* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm15, %ymm3, %ymm14 + + /* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vfmadd213ps %ymm14, %ymm13, %ymm4 + vmovmskps %ymm6, %edx + + /* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vaddps %ymm4, %ymm3, %ymm0 + + /* Ret H */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm1, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm1, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call coshf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call coshf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_coshf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_scosh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _sInvLn2[8][1]; - __declspec(align(32)) VUINT32 _sLn2hi[8][1]; - __declspec(align(32)) VUINT32 _sLn2lo[8][1]; - __declspec(align(32)) VUINT32 _sSign[8][1]; - __declspec(align(32)) VUINT32 _sShifter[8][1]; - __declspec(align(32)) VUINT32 _iDomainRange[8][1]; - __declspec(align(32)) VUINT32 _sPC1[8][1]; - __declspec(align(32)) VUINT32 _sPC2[8][1]; - __declspec(align(32)) VUINT32 _sPC3[8][1]; - __declspec(align(32)) VUINT32 _sPC4[8][1]; - __declspec(align(32)) VUINT32 _sPC5[8][1]; - __declspec(align(32)) VUINT32 _sPC6[8][1]; - __declspec(align(32)) VUINT32 _iHalf[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _sInvLn2[8][1]; + __declspec(align(32)) VUINT32 _sLn2hi[8][1]; + __declspec(align(32)) VUINT32 _sLn2lo[8][1]; + __declspec(align(32)) VUINT32 _sSign[8][1]; + __declspec(align(32)) VUINT32 _sShifter[8][1]; + __declspec(align(32)) VUINT32 _iDomainRange[8][1]; + __declspec(align(32)) VUINT32 _sPC1[8][1]; + __declspec(align(32)) VUINT32 _sPC2[8][1]; + __declspec(align(32)) VUINT32 _sPC3[8][1]; + __declspec(align(32)) VUINT32 _sPC4[8][1]; + __declspec(align(32)) VUINT32 _sPC5[8][1]; + __declspec(align(32)) VUINT32 _sPC6[8][1]; + __declspec(align(32)) VUINT32 _iHalf[8][1]; } __svml_scosh_data_internal; #endif __svml_scosh_data_internal: - .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ //k=0 - .align 32 - .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ - .align 32 - .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 /* _sLn2lo */ - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ - .align 32 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 32 - .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ - .align 32 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ - .align 32 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ - .align 32 - .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ - .align 32 - .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ - .align 32 - .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ - .align 32 - .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ - // Integer constants - .align 32 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf*/ - .align 32 - .type __svml_scosh_data_internal,@object - .size __svml_scosh_data_internal,.-__svml_scosh_data_internal + .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ // k=0 + .align 32 + .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ + .align 32 + .long 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4, 0x3805fdf4 /* _sLn2lo */ + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ + .align 32 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 32 + .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ + .align 32 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ + .align 32 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ + .align 32 + .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ + .align 32 + .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ + .align 32 + .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ + .align 32 + .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ + // Integer constants + .align 32 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf */ + .align 32 + .type __svml_scosh_data_internal, @object + .size __svml_scosh_data_internal, .-__svml_scosh_data_internal From patchwork Mon Mar 7 15:00:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602259 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=mWHkkgPj; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2DQ70cHz9sFk for ; Tue, 8 Mar 2022 02:19:02 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E5C333858438 for ; Mon, 7 Mar 2022 15:19:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5C333858438 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666340; bh=p/430R/j49wn+wZsWi2f7LSPKRwMvE0AjMBI+cudIOE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=mWHkkgPjG8WUdoTL8VAN+i7A0InJFIq4syJrs0AQB2pc8MIUCWOqMNIlPzuX1meCs Cb8ocuXGt1e+kXHRjc4YxyYWaNCpo0n5Qci7V8tYeaoTagaFiOMuQhc2xTudj4wCEB x/zEKQJFAiAoZNY8GCqxeoNMCsd8JQdYRX7DB2nc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 45149385843F for ; Mon, 7 Mar 2022 15:02:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 45149385843F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347781" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347781" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526486" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eQ016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 052/126] x86_64: Fix svml_d_cosh2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:47 -0800 Message-Id: <20220307150201.10590-53-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_cosh2_core_sse4.S | 664 +++++++++--------- 1 file changed, 331 insertions(+), 333 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S index 8cfc426a59..130c1a5cca 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh2_core_sse4.S @@ -34,363 +34,361 @@ /* Offsets for data table __svml_dcosh_data_internal */ -#define _dbT 0 -#define _dbInvLn2 2064 -#define _dbLn2hi 2080 -#define _dbLn2lo 2096 -#define _dbShifter 2112 -#define _iIndexMask 2128 -#define _dPC2 2144 -#define _dPC3 2160 -#define _dPC4 2176 -#define _iMaxIndex 2192 -#define _lExpMask 2208 -#define _dSign 2224 -#define _iDomainRange 2240 +#define _dbT 0 +#define _dbInvLn2 2064 +#define _dbLn2hi 2080 +#define _dbLn2lo 2096 +#define _dbShifter 2112 +#define _iIndexMask 2128 +#define _dPC2 2144 +#define _dPC3 2160 +#define _dPC4 2176 +#define _iMaxIndex 2192 +#define _lExpMask 2208 +#define _dSign 2224 +#define _iDomainRange 2240 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_cosh_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm4 - movups _dSign+__svml_dcosh_data_internal(%rip), %xmm2 - lea _dbT+__svml_dcosh_data_internal(%rip), %r8 - -/* Abs argument */ - movaps %xmm2, %xmm5 - -/* dXSign=0x001000000000 */ - psrlq $11, %xmm2 - -/* - * Load argument - * dM = x*2^K/log(2) + RShifter - */ - movups _dbInvLn2+__svml_dcosh_data_internal(%rip), %xmm3 - andnps %xmm4, %xmm5 - mulpd %xmm5, %xmm3 - movups _dbShifter+__svml_dcosh_data_internal(%rip), %xmm1 - addpd %xmm1, %xmm3 - -/* - * R - * dN = dM - RShifter - */ - movaps %xmm3, %xmm15 - subpd %xmm1, %xmm15 - -/* dR = dX - dN*Log2_hi/2^K */ - movups _dbLn2hi+__svml_dcosh_data_internal(%rip), %xmm14 - mulpd %xmm15, %xmm14 - -/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ - movups _dbLn2lo+__svml_dcosh_data_internal(%rip), %xmm1 - mulpd %xmm15, %xmm1 - -/* - * Check for overflow\underflow - * - */ - pshufd $221, %xmm5, %xmm7 - subpd %xmm14, %xmm5 - movq _iIndexMask+__svml_dcosh_data_internal(%rip), %xmm8 - -/* Index and lookup */ - pshufd $136, %xmm3, %xmm9 - -/* - * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) - * NB: copied from sinh_la - to be optimized!!!!! - */ - psllq $44, %xmm3 - -/* - * trick - * 256=-iIndex - */ - movq _iMaxIndex+__svml_dcosh_data_internal(%rip), %xmm12 - pand %xmm8, %xmm9 - subpd %xmm1, %xmm5 - psubd %xmm9, %xmm12 - -/* iIndex*=3 */ - movdqa %xmm9, %xmm10 - -/* iDomainRange*=3 */ - pslld $3, %xmm12 - pslld $3, %xmm10 - movd %xmm12, %esi - pshufd $1, %xmm12, %xmm13 - movq _iDomainRange+__svml_dcosh_data_internal(%rip), %xmm6 - movd %xmm13, %edi - pcmpgtd %xmm6, %xmm7 - movmskps %xmm7, %eax - -/* dR2 = dR^2 */ - movaps %xmm5, %xmm7 - -/* lM now is an EXP(2^N) */ - pand _lExpMask+__svml_dcosh_data_internal(%rip), %xmm3 - pshufd $1, %xmm10, %xmm11 - movslq %esi, %rsi - mulpd %xmm5, %xmm7 - movd %xmm10, %edx - movsd (%r8,%rsi), %xmm6 - movd %xmm11, %ecx - movslq %edi, %rdi - movslq %edx, %rdx - movslq %ecx, %rcx - movhpd (%r8,%rdi), %xmm6 - -/* */ - psubq %xmm3, %xmm6 - -/* lX- = EXP(1/2) */ - psubq %xmm2, %xmm6 - -/* - * sinh(r) = r +r*r^2*a3 .... - * dSinh_r = r^2*a3 - */ - movups _dPC3+__svml_dcosh_data_internal(%rip), %xmm2 - mulpd %xmm7, %xmm2 - -/* dSinh_r = r + r*r^2*a3 */ - mulpd %xmm5, %xmm2 - movsd (%r8,%rdx), %xmm0 - movhpd (%r8,%rcx), %xmm0 - paddq %xmm3, %xmm0 - addpd %xmm2, %xmm5 - -/* dTn = dTn*2^N - dTn*2^-N */ - movaps %xmm0, %xmm3 - subpd %xmm6, %xmm3 - -/* dTp = dTn*2^N + dTn*2^-N */ - addpd %xmm6, %xmm0 - mulpd %xmm5, %xmm3 - -/* poly(r) = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ - movups _dPC4+__svml_dcosh_data_internal(%rip), %xmm5 - mulpd %xmm7, %xmm5 - addpd _dPC2+__svml_dcosh_data_internal(%rip), %xmm5 - mulpd %xmm5, %xmm7 - -/* dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ - mulpd %xmm0, %xmm7 - addpd %xmm7, %xmm3 - -/* _VRES1 = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ - addpd %xmm3, %xmm0 - andl $3, %eax - -/* Ret H */ - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm4 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm4 + movups _dSign+__svml_dcosh_data_internal(%rip), %xmm2 + lea _dbT+__svml_dcosh_data_internal(%rip), %r8 + + /* Abs argument */ + movaps %xmm2, %xmm5 + + /* dXSign=0x001000000000 */ + psrlq $11, %xmm2 + + /* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + movups _dbInvLn2+__svml_dcosh_data_internal(%rip), %xmm3 + andnps %xmm4, %xmm5 + mulpd %xmm5, %xmm3 + movups _dbShifter+__svml_dcosh_data_internal(%rip), %xmm1 + addpd %xmm1, %xmm3 + + /* + * R + * dN = dM - RShifter + */ + movaps %xmm3, %xmm15 + subpd %xmm1, %xmm15 + + /* dR = dX - dN*Log2_hi/2^K */ + movups _dbLn2hi+__svml_dcosh_data_internal(%rip), %xmm14 + mulpd %xmm15, %xmm14 + + /* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + movups _dbLn2lo+__svml_dcosh_data_internal(%rip), %xmm1 + mulpd %xmm15, %xmm1 + + /* + * Check for overflow\underflow + * + */ + pshufd $221, %xmm5, %xmm7 + subpd %xmm14, %xmm5 + movq _iIndexMask+__svml_dcosh_data_internal(%rip), %xmm8 + + /* Index and lookup */ + pshufd $136, %xmm3, %xmm9 + + /* + * G1, G2, G3: dTdif, dTn * 2^N, 2^(-N) + * NB: copied from sinh_la - to be optimized!!!!! + */ + psllq $44, %xmm3 + + /* + * trick + * 256=-iIndex + */ + movq _iMaxIndex+__svml_dcosh_data_internal(%rip), %xmm12 + pand %xmm8, %xmm9 + subpd %xmm1, %xmm5 + psubd %xmm9, %xmm12 + + /* iIndex*=3 */ + movdqa %xmm9, %xmm10 + + /* iDomainRange*=3 */ + pslld $3, %xmm12 + pslld $3, %xmm10 + movd %xmm12, %esi + pshufd $1, %xmm12, %xmm13 + movq _iDomainRange+__svml_dcosh_data_internal(%rip), %xmm6 + movd %xmm13, %edi + pcmpgtd %xmm6, %xmm7 + movmskps %xmm7, %eax + + /* dR2 = dR^2 */ + movaps %xmm5, %xmm7 + + /* lM now is an EXP(2^N) */ + pand _lExpMask+__svml_dcosh_data_internal(%rip), %xmm3 + pshufd $1, %xmm10, %xmm11 + movslq %esi, %rsi + mulpd %xmm5, %xmm7 + movd %xmm10, %edx + movsd (%r8, %rsi), %xmm6 + movd %xmm11, %ecx + movslq %edi, %rdi + movslq %edx, %rdx + movslq %ecx, %rcx + movhpd (%r8, %rdi), %xmm6 + + /* */ + psubq %xmm3, %xmm6 + + /* lX- = EXP(1/2) */ + psubq %xmm2, %xmm6 + + /* + * sinh(r) = r +r*r^2*a3 .... + * dSinh_r = r^2*a3 + */ + movups _dPC3+__svml_dcosh_data_internal(%rip), %xmm2 + mulpd %xmm7, %xmm2 + + /* dSinh_r = r + r*r^2*a3 */ + mulpd %xmm5, %xmm2 + movsd (%r8, %rdx), %xmm0 + movhpd (%r8, %rcx), %xmm0 + paddq %xmm3, %xmm0 + addpd %xmm2, %xmm5 + + /* dTn = dTn*2^N - dTn*2^-N */ + movaps %xmm0, %xmm3 + subpd %xmm6, %xmm3 + + /* dTp = dTn*2^N + dTn*2^-N */ + addpd %xmm6, %xmm0 + mulpd %xmm5, %xmm3 + + /* poly(r) = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + movups _dPC4+__svml_dcosh_data_internal(%rip), %xmm5 + mulpd %xmm7, %xmm5 + addpd _dPC2+__svml_dcosh_data_internal(%rip), %xmm5 + mulpd %xmm5, %xmm7 + + /* dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + mulpd %xmm0, %xmm7 + addpd %xmm7, %xmm3 + + /* _VRES1 = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + addpd %xmm3, %xmm0 + andl $3, %eax + + /* Ret H */ + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm4 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm4, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 - - xorl %edx, %edx - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %edx, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %eax, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm4, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 + + xorl %edx, %edx + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %edx, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %eax, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call cosh@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call cosh@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_cosh_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dcosh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dbT[(1 + (1<<8))][2]; //dTpj ONLY! - __declspec(align(16)) VUINT32 _dbInvLn2[2][2]; - __declspec(align(16)) VUINT32 _dbLn2hi[2][2]; - __declspec(align(16)) VUINT32 _dbLn2lo[2][2]; - __declspec(align(16)) VUINT32 _dbShifter[2][2]; - __declspec(align(16)) VUINT32 _iIndexMask[4][1]; //(1< X-Patchwork-Id: 1602246 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qXQEGKYT; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC21x4v79z9s8s for ; Tue, 8 Mar 2022 02:09:57 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5B077385842E for ; Mon, 7 Mar 2022 15:09:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B077385842E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665795; bh=N3vwP9v8RqzRO55lAgCr0V3RVpxUbqn480+Uqcn93gQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qXQEGKYT0Bfg6z5TQM7VmzlJbARGb7Tdt89upHY3uI6eIcdVEejn4jzWCYdUVeYhU HmzqwNhkCcbRiqXE9EAHzA0HmkLH+FdpWf+MkyVM6bYJOZua1Z7ZLxeUi0KEZjgRb1 RDnbRKUZ9IcVuGymdKI0UQwq7o0CvXD5g3mru++Y= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 8EB943858424 for ; Mon, 7 Mar 2022 15:02:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8EB943858424 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347779" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347779" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081781" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eR016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 053/126] x86_64: Fix svml_d_cosh4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:48 -0800 Message-Id: <20220307150201.10590-54-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_cosh4_core_avx2.S | 698 +++++++++--------- 1 file changed, 348 insertions(+), 350 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S index 8936a7150b..25df252108 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh4_core_avx2.S @@ -34,379 +34,377 @@ /* Offsets for data table __svml_dcosh_data_internal */ -#define _dbT 0 -#define _dbInvLn2 2080 -#define _dbLn2hi 2112 -#define _dbLn2lo 2144 -#define _dbShifter 2176 -#define _iIndexMask 2208 -#define _dPC2 2240 -#define _dPC3 2272 -#define _dPC4 2304 -#define _iMaxIndex 2336 -#define _lExpMask 2368 -#define _dSign 2400 -#define _iDomainRange 2432 +#define _dbT 0 +#define _dbInvLn2 2080 +#define _dbLn2hi 2112 +#define _dbLn2lo 2144 +#define _dbShifter 2176 +#define _iIndexMask 2208 +#define _dPC2 2240 +#define _dPC3 2272 +#define _dPC4 2304 +#define _iMaxIndex 2336 +#define _lExpMask 2368 +#define _dSign 2400 +#define _iDomainRange 2432 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_cosh_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea _dbT+__svml_dcosh_data_internal(%rip), %rax - vmovupd _dSign+__svml_dcosh_data_internal(%rip), %ymm8 - vmovupd _dbShifter+__svml_dcosh_data_internal(%rip), %ymm6 - -/* - * Load argument - * dM = x*2^K/log(2) + RShifter - */ - vmovupd _dbInvLn2+__svml_dcosh_data_internal(%rip), %ymm3 - -/* - * trick - * 256=-iIndex - */ - vmovups _iMaxIndex+__svml_dcosh_data_internal(%rip), %xmm14 - -/* dXSign=0x001000000000 */ - vpsrlq $11, %ymm8, %ymm5 - vmovapd %ymm0, %ymm7 - -/* Abs argument */ - vandnpd %ymm7, %ymm8, %ymm4 - vfmadd213pd %ymm6, %ymm4, %ymm3 - -/* Index and lookup */ - vextractf128 $1, %ymm3, %xmm12 - vshufps $136, %xmm12, %xmm3, %xmm13 - vpand _iIndexMask+__svml_dcosh_data_internal(%rip), %xmm13, %xmm15 - vpsubd %xmm15, %xmm14, %xmm0 - -/* iDomainRange*=3 */ - vpslld $3, %xmm0, %xmm2 - vmovd %xmm2, %r9d - vpextrd $2, %xmm2, %r11d - movslq %r9d, %r9 - vpextrd $1, %xmm2, %r10d - movslq %r11d, %r11 - movslq %r10d, %r10 - vmovsd (%rax,%r9), %xmm12 - -/* - * Check for overflow\underflow - * - */ - vextractf128 $1, %ymm4, %xmm9 - vmovsd (%rax,%r11), %xmm14 - vmovhpd (%rax,%r10), %xmm12, %xmm13 - vshufps $221, %xmm9, %xmm4, %xmm10 - -/* iIndex*=3 */ - vpslld $3, %xmm15, %xmm9 - -/* - * R - * dN = dM - RShifter - */ - vsubpd %ymm6, %ymm3, %ymm15 - vmovd %xmm9, %ecx - vpcmpgtd _iDomainRange+__svml_dcosh_data_internal(%rip), %xmm10, %xmm11 - vmovupd _dbLn2hi+__svml_dcosh_data_internal(%rip), %ymm6 - -/* - * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) - * NB: copied from sinh_la - to be optimized!!!!! - */ - vpsllq $44, %ymm3, %ymm3 - vmovmskps %xmm11, %edx - -/* dR = dX - dN*Log2_hi/2^K */ - vfnmadd231pd %ymm6, %ymm15, %ymm4 - -/* lM now is an EXP(2^N) */ - vpand _lExpMask+__svml_dcosh_data_internal(%rip), %ymm3, %ymm3 - -/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ - vfnmadd231pd _dbLn2lo+__svml_dcosh_data_internal(%rip), %ymm15, %ymm4 - movslq %ecx, %rcx - vpextrd $2, %xmm9, %edi - vpextrd $1, %xmm9, %esi - movslq %edi, %rdi - vmovsd (%rax,%rcx), %xmm1 - vpextrd $3, %xmm9, %r8d - vpextrd $3, %xmm2, %ecx - movslq %esi, %rsi - movslq %r8d, %r8 - movslq %ecx, %rcx - -/* dR2 = dR^2 */ - vmulpd %ymm4, %ymm4, %ymm0 - vmovsd (%rax,%rdi), %xmm10 - vmovhpd (%rax,%rsi), %xmm1, %xmm8 - vmovhpd (%rax,%r8), %xmm10, %xmm11 - vmovhpd (%rax,%rcx), %xmm14, %xmm2 - vinsertf128 $1, %xmm11, %ymm8, %ymm1 - vinsertf128 $1, %xmm2, %ymm13, %ymm2 - vpaddq %ymm3, %ymm1, %ymm6 - -/* */ - vpsubq %ymm3, %ymm2, %ymm1 - -/* - * sinh(r) = r +r*r^2*a3 .... - * dSinh_r = r^2*a3 - */ - vmulpd _dPC3+__svml_dcosh_data_internal(%rip), %ymm0, %ymm2 - -/* lX- = EXP(1/2) */ - vpsubq %ymm5, %ymm1, %ymm5 - -/* dSinh_r = r + r*r^2*a3 */ - vfmadd213pd %ymm4, %ymm4, %ymm2 - -/* poly(r) = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ - vmovupd _dPC4+__svml_dcosh_data_internal(%rip), %ymm4 - -/* dTn = dTn*2^N - dTn*2^-N */ - vsubpd %ymm5, %ymm6, %ymm1 - -/* dTp = dTn*2^N + dTn*2^-N */ - vaddpd %ymm5, %ymm6, %ymm3 - vfmadd213pd _dPC2+__svml_dcosh_data_internal(%rip), %ymm0, %ymm4 - vmulpd %ymm2, %ymm1, %ymm1 - vmulpd %ymm4, %ymm0, %ymm0 - -/* dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ - vfmadd213pd %ymm1, %ymm3, %ymm0 - -/* _VRES1 = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ - vaddpd %ymm0, %ymm3, %ymm0 - -/* Ret H */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm7 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea _dbT+__svml_dcosh_data_internal(%rip), %rax + vmovupd _dSign+__svml_dcosh_data_internal(%rip), %ymm8 + vmovupd _dbShifter+__svml_dcosh_data_internal(%rip), %ymm6 + + /* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + vmovupd _dbInvLn2+__svml_dcosh_data_internal(%rip), %ymm3 + + /* + * trick + * 256=-iIndex + */ + vmovups _iMaxIndex+__svml_dcosh_data_internal(%rip), %xmm14 + + /* dXSign=0x001000000000 */ + vpsrlq $11, %ymm8, %ymm5 + vmovapd %ymm0, %ymm7 + + /* Abs argument */ + vandnpd %ymm7, %ymm8, %ymm4 + vfmadd213pd %ymm6, %ymm4, %ymm3 + + /* Index and lookup */ + vextractf128 $1, %ymm3, %xmm12 + vshufps $136, %xmm12, %xmm3, %xmm13 + vpand _iIndexMask+__svml_dcosh_data_internal(%rip), %xmm13, %xmm15 + vpsubd %xmm15, %xmm14, %xmm0 + + /* iDomainRange*=3 */ + vpslld $3, %xmm0, %xmm2 + vmovd %xmm2, %r9d + vpextrd $2, %xmm2, %r11d + movslq %r9d, %r9 + vpextrd $1, %xmm2, %r10d + movslq %r11d, %r11 + movslq %r10d, %r10 + vmovsd (%rax, %r9), %xmm12 + + /* + * Check for overflow\underflow + * + */ + vextractf128 $1, %ymm4, %xmm9 + vmovsd (%rax, %r11), %xmm14 + vmovhpd (%rax, %r10), %xmm12, %xmm13 + vshufps $221, %xmm9, %xmm4, %xmm10 + + /* iIndex*=3 */ + vpslld $3, %xmm15, %xmm9 + + /* + * R + * dN = dM - RShifter + */ + vsubpd %ymm6, %ymm3, %ymm15 + vmovd %xmm9, %ecx + vpcmpgtd _iDomainRange+__svml_dcosh_data_internal(%rip), %xmm10, %xmm11 + vmovupd _dbLn2hi+__svml_dcosh_data_internal(%rip), %ymm6 + + /* + * G1, G2, G3: dTdif, dTn * 2^N, 2^(-N) + * NB: copied from sinh_la - to be optimized!!!!! + */ + vpsllq $44, %ymm3, %ymm3 + vmovmskps %xmm11, %edx + + /* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd %ymm6, %ymm15, %ymm4 + + /* lM now is an EXP(2^N) */ + vpand _lExpMask+__svml_dcosh_data_internal(%rip), %ymm3, %ymm3 + + /* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + vfnmadd231pd _dbLn2lo+__svml_dcosh_data_internal(%rip), %ymm15, %ymm4 + movslq %ecx, %rcx + vpextrd $2, %xmm9, %edi + vpextrd $1, %xmm9, %esi + movslq %edi, %rdi + vmovsd (%rax, %rcx), %xmm1 + vpextrd $3, %xmm9, %r8d + vpextrd $3, %xmm2, %ecx + movslq %esi, %rsi + movslq %r8d, %r8 + movslq %ecx, %rcx + + /* dR2 = dR^2 */ + vmulpd %ymm4, %ymm4, %ymm0 + vmovsd (%rax, %rdi), %xmm10 + vmovhpd (%rax, %rsi), %xmm1, %xmm8 + vmovhpd (%rax, %r8), %xmm10, %xmm11 + vmovhpd (%rax, %rcx), %xmm14, %xmm2 + vinsertf128 $1, %xmm11, %ymm8, %ymm1 + vinsertf128 $1, %xmm2, %ymm13, %ymm2 + vpaddq %ymm3, %ymm1, %ymm6 + + /* */ + vpsubq %ymm3, %ymm2, %ymm1 + + /* + * sinh(r) = r +r*r^2*a3 .... + * dSinh_r = r^2*a3 + */ + vmulpd _dPC3+__svml_dcosh_data_internal(%rip), %ymm0, %ymm2 + + /* lX- = EXP(1/2) */ + vpsubq %ymm5, %ymm1, %ymm5 + + /* dSinh_r = r + r*r^2*a3 */ + vfmadd213pd %ymm4, %ymm4, %ymm2 + + /* poly(r) = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + vmovupd _dPC4+__svml_dcosh_data_internal(%rip), %ymm4 + + /* dTn = dTn*2^N - dTn*2^-N */ + vsubpd %ymm5, %ymm6, %ymm1 + + /* dTp = dTn*2^N + dTn*2^-N */ + vaddpd %ymm5, %ymm6, %ymm3 + vfmadd213pd _dPC2+__svml_dcosh_data_internal(%rip), %ymm0, %ymm4 + vmulpd %ymm2, %ymm1, %ymm1 + vmulpd %ymm4, %ymm0, %ymm0 + + /* dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + vfmadd213pd %ymm1, %ymm3, %ymm0 + + /* _VRES1 = dTp + dTn*sinh(dR)+dTp*dR2*(a2 +a4*dR2) */ + vaddpd %ymm0, %ymm3, %ymm0 + + /* Ret H */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm7 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm7, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm7, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call cosh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call cosh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_cosh_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dcosh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dbT[(1 + (1<<8))][2]; //dTpj ONLY! - __declspec(align(32)) VUINT32 _dbInvLn2[4][2]; - __declspec(align(32)) VUINT32 _dbLn2hi[4][2]; - __declspec(align(32)) VUINT32 _dbLn2lo[4][2]; - __declspec(align(32)) VUINT32 _dbShifter[4][2]; - __declspec(align(32)) VUINT32 _iIndexMask[8][1]; //(1< X-Patchwork-Id: 1602254 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=QMWm9Z3c; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2860s0Jz9s8s for ; Tue, 8 Mar 2022 02:15:18 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3BE0A3858423 for ; Mon, 7 Mar 2022 15:15:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3BE0A3858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666116; bh=ODg3U88IyuQELw5DlgIzk/BLPbESBfxfOT46r/zirzE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=QMWm9Z3cPBARs0GNhyPVmBBgMehbDg6P3hjDMw6u6IXujLz+QxnP3OFyikRhktL4V 6l1JbK6peA1sW46YzpHKopkcz1+6M1Om4euAwkSEWTXParunjPaVy8hXZO4LAXLhQb nDQHo68TuAILpuBpW8F5+bFmXf2mLQmwUNi0vJOM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id BD5A53858005 for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BD5A53858005 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254599167" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254599167" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141845" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eS016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 054/126] x86_64: Fix svml_d_cosh8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:49 -0800 Message-Id: <20220307150201.10590-55-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_cosh8_core_avx512.S | 520 +++++++++--------- 1 file changed, 259 insertions(+), 261 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S index fd010c61b4..066bbc7de6 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_cosh8_core_avx512.S @@ -34,290 +34,288 @@ /* Offsets for data table __svml_dcosh_data_internal */ -#define _dTp_h 0 -#define _dTn_h 128 -#define _dbShifter_UISA 256 -#define _dPC2_UISA 320 -#define _dPC3_UISA 384 -#define _dPC4_UISA 448 -#define _dPC5_UISA 512 -#define _dPC6_UISA 576 -#define _dPC7_UISA 640 -#define _dbInvLn2 704 -#define _dbLn2hi 768 -#define _dbLn2lo 832 -#define _dbShifter 896 -#define _dPC2 960 -#define _dPC3 1024 -#define _dPC4 1088 -#define _lExpMask 1152 -#define _dSign 1216 -#define _iDomainRange 1280 +#define _dTp_h 0 +#define _dTn_h 128 +#define _dbShifter_UISA 256 +#define _dPC2_UISA 320 +#define _dPC3_UISA 384 +#define _dPC4_UISA 448 +#define _dPC5_UISA 512 +#define _dPC6_UISA 576 +#define _dPC7_UISA 640 +#define _dbInvLn2 704 +#define _dbLn2hi 768 +#define _dbLn2lo 832 +#define _dbShifter 896 +#define _dPC2 960 +#define _dPC3 1024 +#define _dPC4 1088 +#define _lExpMask 1152 +#define _dSign 1216 +#define _iDomainRange 1280 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_cosh_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups _dSign+__svml_dcosh_data_internal(%rip), %zmm11 - vmovups _dbShifter_UISA+__svml_dcosh_data_internal(%rip), %zmm15 - -/* - * Load argument - * dM = x*2^K/log(2) + RShifter - */ - vmovups _dbInvLn2+__svml_dcosh_data_internal(%rip), %zmm4 - vmovups _dbLn2hi+__svml_dcosh_data_internal(%rip), %zmm2 - vmovups _dbLn2lo+__svml_dcosh_data_internal(%rip), %zmm3 - vmovups _dPC7_UISA+__svml_dcosh_data_internal(%rip), %zmm8 - vmovups _dPC6_UISA+__svml_dcosh_data_internal(%rip), %zmm9 - vmovups _dPC2_UISA+__svml_dcosh_data_internal(%rip), %zmm7 - vmovups _dPC3_UISA+__svml_dcosh_data_internal(%rip), %zmm6 - vmovaps %zmm0, %zmm10 - -/* Abs argument */ - vandnpd %zmm10, %zmm11, %zmm5 - -/* Index and lookup */ - vmovups __svml_dcosh_data_internal(%rip), %zmm11 - vmovups _dTn_h+__svml_dcosh_data_internal(%rip), %zmm0 - vfmadd213pd {rn-sae}, %zmm15, %zmm5, %zmm4 - -/* - * Check for overflow\underflow - * - */ - vpsrlq $32, %zmm5, %zmm12 - -/* dN = dM - RShifter */ - vsubpd {rn-sae}, %zmm15, %zmm4, %zmm1 - vpmovqd %zmm12, %ymm13 - vpermt2pd _dTn_h+64+__svml_dcosh_data_internal(%rip), %zmm4, %zmm0 - vpermt2pd _dTp_h+64+__svml_dcosh_data_internal(%rip), %zmm4, %zmm11 - -/* dR = dX - dN*Log2_hi/2^K */ - vfnmadd231pd {rn-sae}, %zmm2, %zmm1, %zmm5 - -/* - * poly(r) = Gmjp(1 + a2*r^2 + a4*r^4) + Gmjn*(r+ a3*r^3 +a5*r^5) = - * = Gmjp_h +Gmjp_l+ Gmjp*r^2*(a2 + a4*r^2) + Gmjn*(r+ r^3*(a3 +a5*r^2) - */ - vmovups _dPC5_UISA+__svml_dcosh_data_internal(%rip), %zmm12 - vpsllq $48, %zmm4, %zmm2 - -/* dR = dX - dN*Log2_hi/2^K */ - vfnmadd231pd {rn-sae}, %zmm3, %zmm1, %zmm5 - vmulpd {rn-sae}, %zmm5, %zmm5, %zmm1 - vfmadd231pd {rn-sae}, %zmm1, %zmm8, %zmm12 - vmovups _dPC4_UISA+__svml_dcosh_data_internal(%rip), %zmm8 - vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm12 - vfmadd231pd {rn-sae}, %zmm1, %zmm9, %zmm8 - vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm8 - vpcmpgtd _iDomainRange+__svml_dcosh_data_internal(%rip), %ymm13, %ymm14 - vmovmskps %ymm14, %edx - -/* dOut=r^2*(a2 + a4*r^2) */ - vmulpd {rn-sae}, %zmm1, %zmm8, %zmm6 - -/* lM now is an EXP(2^N) */ - vpandq _lExpMask+__svml_dcosh_data_internal(%rip), %zmm2, %zmm3 - vpaddq %zmm3, %zmm11, %zmm4 - vpsubq %zmm3, %zmm0, %zmm0 - vsubpd {rn-sae}, %zmm0, %zmm4, %zmm14 - vaddpd {rn-sae}, %zmm0, %zmm4, %zmm13 - -/* dM=r^2*(a3 +a5*r^2) */ - vmulpd {rn-sae}, %zmm1, %zmm12, %zmm0 - vfmadd213pd {rn-sae}, %zmm13, %zmm13, %zmm6 - -/* dM= r + r^3*(a3 +a5*r^2) */ - vfmadd213pd {rn-sae}, %zmm5, %zmm5, %zmm0 - vfmadd213pd {rn-sae}, %zmm6, %zmm14, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm10 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups _dSign+__svml_dcosh_data_internal(%rip), %zmm11 + vmovups _dbShifter_UISA+__svml_dcosh_data_internal(%rip), %zmm15 + + /* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + vmovups _dbInvLn2+__svml_dcosh_data_internal(%rip), %zmm4 + vmovups _dbLn2hi+__svml_dcosh_data_internal(%rip), %zmm2 + vmovups _dbLn2lo+__svml_dcosh_data_internal(%rip), %zmm3 + vmovups _dPC7_UISA+__svml_dcosh_data_internal(%rip), %zmm8 + vmovups _dPC6_UISA+__svml_dcosh_data_internal(%rip), %zmm9 + vmovups _dPC2_UISA+__svml_dcosh_data_internal(%rip), %zmm7 + vmovups _dPC3_UISA+__svml_dcosh_data_internal(%rip), %zmm6 + vmovaps %zmm0, %zmm10 + + /* Abs argument */ + vandnpd %zmm10, %zmm11, %zmm5 + + /* Index and lookup */ + vmovups __svml_dcosh_data_internal(%rip), %zmm11 + vmovups _dTn_h+__svml_dcosh_data_internal(%rip), %zmm0 + vfmadd213pd {rn-sae}, %zmm15, %zmm5, %zmm4 + + /* + * Check for overflow\underflow + * + */ + vpsrlq $32, %zmm5, %zmm12 + + /* dN = dM - RShifter */ + vsubpd {rn-sae}, %zmm15, %zmm4, %zmm1 + vpmovqd %zmm12, %ymm13 + vpermt2pd _dTn_h+64+__svml_dcosh_data_internal(%rip), %zmm4, %zmm0 + vpermt2pd _dTp_h+64+__svml_dcosh_data_internal(%rip), %zmm4, %zmm11 + + /* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd {rn-sae}, %zmm2, %zmm1, %zmm5 + + /* + * poly(r) = Gmjp(1 + a2*r^2 + a4*r^4) + Gmjn*(r+ a3*r^3 +a5*r^5) = + * = Gmjp_h +Gmjp_l+ Gmjp*r^2*(a2 + a4*r^2) + Gmjn*(r+ r^3*(a3 +a5*r^2) + */ + vmovups _dPC5_UISA+__svml_dcosh_data_internal(%rip), %zmm12 + vpsllq $48, %zmm4, %zmm2 + + /* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd {rn-sae}, %zmm3, %zmm1, %zmm5 + vmulpd {rn-sae}, %zmm5, %zmm5, %zmm1 + vfmadd231pd {rn-sae}, %zmm1, %zmm8, %zmm12 + vmovups _dPC4_UISA+__svml_dcosh_data_internal(%rip), %zmm8 + vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm12 + vfmadd231pd {rn-sae}, %zmm1, %zmm9, %zmm8 + vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm8 + vpcmpgtd _iDomainRange+__svml_dcosh_data_internal(%rip), %ymm13, %ymm14 + vmovmskps %ymm14, %edx + + /* dOut=r^2*(a2 + a4*r^2) */ + vmulpd {rn-sae}, %zmm1, %zmm8, %zmm6 + + /* lM now is an EXP(2^N) */ + vpandq _lExpMask+__svml_dcosh_data_internal(%rip), %zmm2, %zmm3 + vpaddq %zmm3, %zmm11, %zmm4 + vpsubq %zmm3, %zmm0, %zmm0 + vsubpd {rn-sae}, %zmm0, %zmm4, %zmm14 + vaddpd {rn-sae}, %zmm0, %zmm4, %zmm13 + + /* dM=r^2*(a3 +a5*r^2) */ + vmulpd {rn-sae}, %zmm1, %zmm12, %zmm0 + vfmadd213pd {rn-sae}, %zmm13, %zmm13, %zmm6 + + /* dM= r + r^3*(a3 +a5*r^2) */ + vfmadd213pd {rn-sae}, %zmm5, %zmm5, %zmm0 + vfmadd213pd {rn-sae}, %zmm6, %zmm14, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm10 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm10, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm10, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call cosh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call cosh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_cosh_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dcosh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _dTp_h[(1<<4)][2]; - __declspec(align(64)) VUINT32 _dTn_h[(1<<4)][2]; - __declspec(align(64)) VUINT32 _dbShifter_UISA[8][2]; - __declspec(align(64)) VUINT32 _dPC2_UISA[8][2]; - __declspec(align(64)) VUINT32 _dPC3_UISA[8][2]; - __declspec(align(64)) VUINT32 _dPC4_UISA[8][2]; - __declspec(align(64)) VUINT32 _dPC5_UISA[8][2]; - __declspec(align(64)) VUINT32 _dPC6_UISA[8][2]; - __declspec(align(64)) VUINT32 _dPC7_UISA[8][2]; - __declspec(align(64)) VUINT32 _dbInvLn2[8][2]; - __declspec(align(64)) VUINT32 _dbLn2hi[8][2]; - __declspec(align(64)) VUINT32 _dbLn2lo[8][2]; - __declspec(align(64)) VUINT32 _dbShifter[8][2]; - __declspec(align(64)) VUINT32 _dPC2[8][2]; - __declspec(align(64)) VUINT32 _dPC3[8][2]; - __declspec(align(64)) VUINT32 _dPC4[8][2]; - __declspec(align(64)) VUINT32 _lExpMask[8][2]; - __declspec(align(64)) VUINT32 _dSign[8][2]; //0x8000000000000000 - __declspec(align(64)) VUINT32 _iDomainRange[16][1]; +typedef struct { + __declspec(align(64)) VUINT32 _dTp_h[(1<<4)][2]; + __declspec(align(64)) VUINT32 _dTn_h[(1<<4)][2]; + __declspec(align(64)) VUINT32 _dbShifter_UISA[8][2]; + __declspec(align(64)) VUINT32 _dPC2_UISA[8][2]; + __declspec(align(64)) VUINT32 _dPC3_UISA[8][2]; + __declspec(align(64)) VUINT32 _dPC4_UISA[8][2]; + __declspec(align(64)) VUINT32 _dPC5_UISA[8][2]; + __declspec(align(64)) VUINT32 _dPC6_UISA[8][2]; + __declspec(align(64)) VUINT32 _dPC7_UISA[8][2]; + __declspec(align(64)) VUINT32 _dbInvLn2[8][2]; + __declspec(align(64)) VUINT32 _dbLn2hi[8][2]; + __declspec(align(64)) VUINT32 _dbLn2lo[8][2]; + __declspec(align(64)) VUINT32 _dbShifter[8][2]; + __declspec(align(64)) VUINT32 _dPC2[8][2]; + __declspec(align(64)) VUINT32 _dPC3[8][2]; + __declspec(align(64)) VUINT32 _dPC4[8][2]; + __declspec(align(64)) VUINT32 _lExpMask[8][2]; + __declspec(align(64)) VUINT32 _dSign[8][2]; // 0x8000000000000000 + __declspec(align(64)) VUINT32 _iDomainRange[16][1]; } __svml_dcosh_data_internal; #endif __svml_dcosh_data_internal: - /*== _dTp_h ==*/ - .quad 0x3fe0000000000000, 0x3fe0b5586cf9890f, 0x3fe172b83c7d517b, 0x3fe2387a6e756238 - .quad 0x3fe306fe0a31b715, 0x3fe3dea64c123422, 0x3fe4bfdad5362a27, 0x3fe5ab07dd485429 - .quad 0x3fe6a09e667f3bcd, 0x3fe7a11473eb0187, 0x3fe8ace5422aa0db, 0x3fe9c49182a3f090 - .quad 0x3feae89f995ad3ad, 0x3fec199bdd85529c, 0x3fed5818dcfba487, 0x3feea4afa2a490da - /*== dTn_h ==*/ - .align 64 - .quad 0x3fe0000000000000, 0x3fdea4afa2a490da, 0x3fdd5818dcfba487, 0x3fdc199bdd85529c - .quad 0x3fdae89f995ad3ad, 0x3fd9c49182a3f090, 0x3fd8ace5422aa0db, 0x3fd7a11473eb0187 - .quad 0x3fd6a09e667f3bcd, 0x3fd5ab07dd485429, 0x3fd4bfdad5362a27, 0x3fd3dea64c123422 - .quad 0x3fd306fe0a31b715, 0x3fd2387a6e756238, 0x3fd172b83c7d517b, 0x3fd0b5586cf9890f - .align 64 - .quad 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000 /* _dbShifter_UISA */ - .align 64 - .quad 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004 /* _dPC2_UISA */ - .align 64 - .quad 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543 /* _dPC3_UISA */ - .align 64 - .quad 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37 /* _dPC4_UISA */ - .align 64 - .quad 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c /* _dPC5_UISA */ - .align 64 - .quad 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116 /* _dPC6_UISA */ - .align 64 - .quad 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da /* _dPC7_UISA */ - /*== _dbT ==*/ - .align 64 - .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe /* _dbInvLn2 = 1/log(2) */ - .align 64 - .quad 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000 /* _dbLn2hi = log(2) hi*/ - .align 64 - .quad 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899 /* _dbLn2lo = log(2) lo*/ - .align 64 - .quad 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000 /* _dbShifter */ - .align 64 - .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ - .align 64 - .quad 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14 /* _dPC3 */ - .align 64 - .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ - .align 64 - .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 /* _lExpMask */ - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign*/ - .align 64 - .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp*/ - .align 64 - .type __svml_dcosh_data_internal,@object - .size __svml_dcosh_data_internal,.-__svml_dcosh_data_internal + /* _dTp_h */ + .quad 0x3fe0000000000000, 0x3fe0b5586cf9890f, 0x3fe172b83c7d517b, 0x3fe2387a6e756238 + .quad 0x3fe306fe0a31b715, 0x3fe3dea64c123422, 0x3fe4bfdad5362a27, 0x3fe5ab07dd485429 + .quad 0x3fe6a09e667f3bcd, 0x3fe7a11473eb0187, 0x3fe8ace5422aa0db, 0x3fe9c49182a3f090 + .quad 0x3feae89f995ad3ad, 0x3fec199bdd85529c, 0x3fed5818dcfba487, 0x3feea4afa2a490da + /* dTn_h */ + .align 64 + .quad 0x3fe0000000000000, 0x3fdea4afa2a490da, 0x3fdd5818dcfba487, 0x3fdc199bdd85529c + .quad 0x3fdae89f995ad3ad, 0x3fd9c49182a3f090, 0x3fd8ace5422aa0db, 0x3fd7a11473eb0187 + .quad 0x3fd6a09e667f3bcd, 0x3fd5ab07dd485429, 0x3fd4bfdad5362a27, 0x3fd3dea64c123422 + .quad 0x3fd306fe0a31b715, 0x3fd2387a6e756238, 0x3fd172b83c7d517b, 0x3fd0b5586cf9890f + .align 64 + .quad 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000 /* _dbShifter_UISA */ + .align 64 + .quad 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004, 0x3fe0000000000004 /* _dPC2_UISA */ + .align 64 + .quad 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543, 0x3fc5555555555543 /* _dPC3_UISA */ + .align 64 + .quad 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37, 0x3fa5555555484f37 /* _dPC4_UISA */ + .align 64 + .quad 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c, 0x3f81111111286a0c /* _dPC5_UISA */ + .align 64 + .quad 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116, 0x3f56c183da08f116 /* _dPC6_UISA */ + .align 64 + .quad 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da, 0x3f2a018d76da03da /* _dPC7_UISA */ + /* _dbT */ + .align 64 + .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe /* _dbInvLn2 = 1/log(2) */ + .align 64 + .quad 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000 /* _dbLn2hi = log(2) hi */ + .align 64 + .quad 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899 /* _dbLn2lo = log(2) lo */ + .align 64 + .quad 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000 /* _dbShifter */ + .align 64 + .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ + .align 64 + .quad 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14 /* _dPC3 */ + .align 64 + .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ + .align 64 + .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 /* _lExpMask */ + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign */ + .align 64 + .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp */ + .align 64 + .type __svml_dcosh_data_internal, @object + .size __svml_dcosh_data_internal, .-__svml_dcosh_data_internal From patchwork Mon Mar 7 15:00:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602383 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Y1VA2Qcn; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3bk1nNdz9s3q for ; Tue, 8 Mar 2022 03:20:50 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 515B4385801D for ; Mon, 7 Mar 2022 16:20:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 515B4385801D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670048; bh=sOHvh7iUW16j2ERFYtz0UwW4QXS8VyEL1Q4WyAkuPv0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Y1VA2QcnNLZcZh2Y4Fe2/1ohKTGKaTvZ8cuIEJ6d8+gtReMCGWjg8wn4VdFxpIWj5 lBpsfKh/2WFwh/uQNJHzvxuiuvUtu4377JtrmfCg2Wkwf0T1sW/9iri5xbZP76DJQR 1DSFmFmIb/vSSQctIz0tpHQHGMiLvCYSXp2j+T8A= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 7E9E93858000 for ; Mon, 7 Mar 2022 15:03:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7E9E93858000 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364136" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364136" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561719" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eT016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 055/126] x86_64: Fix svml_s_erff16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:50 -0800 Message-Id: <20220307150201.10590-56-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_erff16_core_avx512.S | 260 +++++++++--------- 1 file changed, 129 insertions(+), 131 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S index 7b131e42fd..3bdc906ec8 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff16_core_avx512.S @@ -37,149 +37,147 @@ /* Offsets for data table __svml_serf_data_internal */ -#define _AbsMask 0 -#define _One 64 -#define _gf_MaxThreshold_LA 128 -#define _gf_la_poly_0 192 -#define _gf_la_poly_1 256 -#define _gf_la_poly_2 320 -#define _gf_la_poly_3 384 -#define _gf_la_poly_4 448 -#define _gf_la_poly_5 512 -#define _gf_la_poly_6 576 -#define _gf_la_poly_7 640 -#define _gf_la_poly_8 704 -#define _gf_la_poly_9 768 -#define _gf_la_poly_10 832 -#define _gf_la_poly_11 896 -#define _gf_la_poly_12 960 +#define _AbsMask 0 +#define _One 64 +#define _gf_MaxThreshold_LA 128 +#define _gf_la_poly_0 192 +#define _gf_la_poly_1 256 +#define _gf_la_poly_2 320 +#define _gf_la_poly_3 384 +#define _gf_la_poly_4 448 +#define _gf_la_poly_5 512 +#define _gf_la_poly_6 576 +#define _gf_la_poly_7 640 +#define _gf_la_poly_8 704 +#define _gf_la_poly_9 768 +#define _gf_la_poly_10 832 +#define _gf_la_poly_11 896 +#define _gf_la_poly_12 960 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_erff_skx) - vmovaps %zmm0, %zmm8 - vmulps {rn-sae}, %zmm8, %zmm8, %zmm11 - vmovups _gf_la_poly_11+__svml_serf_data_internal(%rip), %zmm15 - vmovups _gf_la_poly_12+__svml_serf_data_internal(%rip), %zmm10 - vmovups _gf_la_poly_10+__svml_serf_data_internal(%rip), %zmm9 - vmovups _gf_la_poly_9+__svml_serf_data_internal(%rip), %zmm7 - vmovups _gf_la_poly_8+__svml_serf_data_internal(%rip), %zmm0 - vmovups _gf_la_poly_7+__svml_serf_data_internal(%rip), %zmm1 - vmovups _gf_la_poly_6+__svml_serf_data_internal(%rip), %zmm2 - vmovups _gf_la_poly_5+__svml_serf_data_internal(%rip), %zmm3 - vmovups _gf_la_poly_4+__svml_serf_data_internal(%rip), %zmm4 - vmovups _gf_la_poly_3+__svml_serf_data_internal(%rip), %zmm5 - vmovups _gf_la_poly_2+__svml_serf_data_internal(%rip), %zmm6 - vextractf32x8 $1, %zmm8, %ymm13 - vcvtps2pd {sae}, %ymm8, %zmm12 - vcvtps2pd {sae}, %ymm13, %zmm14 - vmulpd {rn-sae}, %zmm12, %zmm12, %zmm12 - vmulpd {rn-sae}, %zmm14, %zmm14, %zmm13 + vmovaps %zmm0, %zmm8 + vmulps {rn-sae}, %zmm8, %zmm8, %zmm11 + vmovups _gf_la_poly_11+__svml_serf_data_internal(%rip), %zmm15 + vmovups _gf_la_poly_12+__svml_serf_data_internal(%rip), %zmm10 + vmovups _gf_la_poly_10+__svml_serf_data_internal(%rip), %zmm9 + vmovups _gf_la_poly_9+__svml_serf_data_internal(%rip), %zmm7 + vmovups _gf_la_poly_8+__svml_serf_data_internal(%rip), %zmm0 + vmovups _gf_la_poly_7+__svml_serf_data_internal(%rip), %zmm1 + vmovups _gf_la_poly_6+__svml_serf_data_internal(%rip), %zmm2 + vmovups _gf_la_poly_5+__svml_serf_data_internal(%rip), %zmm3 + vmovups _gf_la_poly_4+__svml_serf_data_internal(%rip), %zmm4 + vmovups _gf_la_poly_3+__svml_serf_data_internal(%rip), %zmm5 + vmovups _gf_la_poly_2+__svml_serf_data_internal(%rip), %zmm6 + vextractf32x8 $1, %zmm8, %ymm13 + vcvtps2pd {sae}, %ymm8, %zmm12 + vcvtps2pd {sae}, %ymm13, %zmm14 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm12 + vmulpd {rn-sae}, %zmm14, %zmm14, %zmm13 -/* R = P0 + x^2*(P1 + x^2*(P2 + .... x^2*P12)); */ - vmovaps %zmm15, %zmm14 - vfmadd231pd {rn-sae}, %zmm12, %zmm10, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm10, %zmm15 - vmovups _gf_la_poly_1+__svml_serf_data_internal(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm9, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm15, %zmm9 - vfmadd213pd {rn-sae}, %zmm7, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm9, %zmm7 - vfmadd213pd {rn-sae}, %zmm0, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm7, %zmm0 - vmovups _gf_MaxThreshold_LA+__svml_serf_data_internal(%rip), %zmm7 - vfmadd213pd {rn-sae}, %zmm1, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm0, %zmm1 - vmovups _gf_la_poly_0+__svml_serf_data_internal(%rip), %zmm0 - vcmpps $22, {sae}, %zmm11, %zmm7, %k1 - vfmadd213pd {rn-sae}, %zmm2, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm1, %zmm2 - vfmadd213pd {rn-sae}, %zmm3, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm2, %zmm3 - vfmadd213pd {rn-sae}, %zmm4, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm3, %zmm4 - vfmadd213pd {rn-sae}, %zmm5, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm4, %zmm5 - vfmadd213pd {rn-sae}, %zmm6, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm5, %zmm6 - vmovups _AbsMask+__svml_serf_data_internal(%rip), %zmm5 - vfmadd213pd {rn-sae}, %zmm10, %zmm12, %zmm14 - vfmadd231pd {rn-sae}, %zmm13, %zmm6, %zmm10 - vandnps %zmm8, %zmm5, %zmm6 - vfmadd213pd {rn-sae}, %zmm0, %zmm14, %zmm12 - vfmadd213pd {rn-sae}, %zmm0, %zmm10, %zmm13 - vorps _One+__svml_serf_data_internal(%rip), %zmm6, %zmm0 - vmulpd {rn-sae}, %zmm12, %zmm12, %zmm1 - vmulpd {rn-sae}, %zmm13, %zmm13, %zmm3 - vcvtpd2ps {rn-sae}, %zmm1, %ymm2 - vcvtpd2ps {rn-sae}, %zmm3, %ymm4 - vinsertf32x8 $1, %ymm4, %zmm2, %zmm9 + /* R = P0 + x^2*(P1 + x^2*(P2 + .... x^2*P12)); */ + vmovaps %zmm15, %zmm14 + vfmadd231pd {rn-sae}, %zmm12, %zmm10, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm10, %zmm15 + vmovups _gf_la_poly_1+__svml_serf_data_internal(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm9, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm15, %zmm9 + vfmadd213pd {rn-sae}, %zmm7, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm9, %zmm7 + vfmadd213pd {rn-sae}, %zmm0, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm7, %zmm0 + vmovups _gf_MaxThreshold_LA+__svml_serf_data_internal(%rip), %zmm7 + vfmadd213pd {rn-sae}, %zmm1, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm0, %zmm1 + vmovups _gf_la_poly_0+__svml_serf_data_internal(%rip), %zmm0 + vcmpps $22, {sae}, %zmm11, %zmm7, %k1 + vfmadd213pd {rn-sae}, %zmm2, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm1, %zmm2 + vfmadd213pd {rn-sae}, %zmm3, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm2, %zmm3 + vfmadd213pd {rn-sae}, %zmm4, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm3, %zmm4 + vfmadd213pd {rn-sae}, %zmm5, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm4, %zmm5 + vfmadd213pd {rn-sae}, %zmm6, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm5, %zmm6 + vmovups _AbsMask+__svml_serf_data_internal(%rip), %zmm5 + vfmadd213pd {rn-sae}, %zmm10, %zmm12, %zmm14 + vfmadd231pd {rn-sae}, %zmm13, %zmm6, %zmm10 + vandnps %zmm8, %zmm5, %zmm6 + vfmadd213pd {rn-sae}, %zmm0, %zmm14, %zmm12 + vfmadd213pd {rn-sae}, %zmm0, %zmm10, %zmm13 + vorps _One+__svml_serf_data_internal(%rip), %zmm6, %zmm0 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm1 + vmulpd {rn-sae}, %zmm13, %zmm13, %zmm3 + vcvtpd2ps {rn-sae}, %zmm1, %ymm2 + vcvtpd2ps {rn-sae}, %zmm3, %ymm4 + vinsertf32x8 $1, %ymm4, %zmm2, %zmm9 -/* erf(x) = R * R * x; */ - vmulps {rn-sae}, %zmm8, %zmm9, %zmm0{%k1} - ret + /* erf(x) = R * R * x; */ + vmulps {rn-sae}, %zmm8, %zmm9, %zmm0{%k1} + ret END(_ZGVeN16v_erff_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_serf_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _AbsMask[16][1]; - __declspec(align(64)) VUINT32 _One[16][1]; - __declspec(align(64)) VUINT32 _gf_MaxThreshold_LA[16][1]; - __declspec(align(64)) VUINT32 _gf_la_poly_0[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_1[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_2[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_3[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_4[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_5[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_6[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_7[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_8[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_9[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_10[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_11[8][2]; - __declspec(align(64)) VUINT32 _gf_la_poly_12[8][2]; +typedef struct { + __declspec(align(64)) VUINT32 _AbsMask[16][1]; + __declspec(align(64)) VUINT32 _One[16][1]; + __declspec(align(64)) VUINT32 _gf_MaxThreshold_LA[16][1]; + __declspec(align(64)) VUINT32 _gf_la_poly_0[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_1[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_2[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_3[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_4[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_5[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_6[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_7[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_8[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_9[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_10[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_11[8][2]; + __declspec(align(64)) VUINT32 _gf_la_poly_12[8][2]; } __svml_serf_data_internal; #endif __svml_serf_data_internal: - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _One */ - .align 64 - .long 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a /* _gf_MaxThreshold_LA */ - .align 64 - .quad 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903 /* _gf_la_poly_0 */ - .align 64 - .quad 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367 /* _gf_la_poly_1 */ - .align 64 - .quad 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b /* _gf_la_poly_2 */ - .align 64 - .quad 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc /* _gf_la_poly_3 */ - .align 64 - .quad 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392 /* _gf_la_poly_4 */ - .align 64 - .quad 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede /* _gf_la_poly_5 */ - .align 64 - .quad 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0 /* _gf_la_poly_6 */ - .align 64 - .quad 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f /* _gf_la_poly_7 */ - .align 64 - .quad 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523 /* _gf_la_poly_8 */ - .align 64 - .quad 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47 /* _gf_la_poly_9 */ - .align 64 - .quad 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03 /* _gf_la_poly_10 */ - .align 64 - .quad 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb /* _gf_la_poly_11 */ - .align 64 - .quad 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1 /* _gf_la_poly_12 */ - .align 64 - .type __svml_serf_data_internal,@object - .size __svml_serf_data_internal,.-__svml_serf_data_internal + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _One */ + .align 64 + .long 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a, 0x41558c5a /* _gf_MaxThreshold_LA */ + .align 64 + .quad 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903, 0x3ff0fefbd933b903 /* _gf_la_poly_0 */ + .align 64 + .quad 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367, 0xbfc6a948101e6367 /* _gf_la_poly_1 */ + .align 64 + .quad 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b, 0x3fa3a334ce602c6b /* _gf_la_poly_2 */ + .align 64 + .quad 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc, 0xbf799309ea0c81dc /* _gf_la_poly_3 */ + .align 64 + .quad 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392, 0x3f476df64a40e392 /* _gf_la_poly_4 */ + .align 64 + .quad 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede, 0xbf0a5216b9508ede /* _gf_la_poly_5 */ + .align 64 + .quad 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0, 0x3ea5794b95c8e8a0 /* _gf_la_poly_6 */ + .align 64 + .quad 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f, 0x3e94b6c0b485f30f /* _gf_la_poly_7 */ + .align 64 + .quad 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523, 0xbe65806ce17f0523 /* _gf_la_poly_8 */ + .align 64 + .quad 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47, 0x3e2715640470db47 /* _gf_la_poly_9 */ + .align 64 + .quad 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03, 0xbdddcb2653d80f03 /* _gf_la_poly_10 */ + .align 64 + .quad 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb, 0x3d85eadfc762d3eb /* _gf_la_poly_11 */ + .align 64 + .quad 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1, 0xbd1c668a2871f0f1 /* _gf_la_poly_12 */ + .align 64 + .type __svml_serf_data_internal, @object + .size __svml_serf_data_internal, .-__svml_serf_data_internal From patchwork Mon Mar 7 15:00:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602386 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=klC6W+jC; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3fW5mfdz9sFt for ; Tue, 8 Mar 2022 03:23:15 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 74F59385802E for ; Mon, 7 Mar 2022 16:23:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 74F59385802E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670193; bh=VHOG4chusmiDMBAXHAKsq3/Q9quGUncOuh40yKip3+A=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=klC6W+jCMUEP37Kb+iND3kKGyx6NNEg8PaSw9xd1jT43SfFprY14+AV4Vvwmr5ymu lZjKYaeaxt+kmG0BuHM92rB4nbI1VdMQLw+aYbQ4y1uDJcv+eMllteVOKnbRxw4OGA WbCNc1IBAxVSGyi8iv05AVqhBxZJKNh+iGip4NO0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 56040385843B for ; Mon, 7 Mar 2022 15:03:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 56040385843B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017253" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017253" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186296" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eU016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 056/126] x86_64: Fix svml_s_erff4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:51 -0800 Message-Id: <20220307150201.10590-57-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_erff4_core_sse4.S | 1208 ++++++++--------- 1 file changed, 603 insertions(+), 605 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S index 6df58a8192..9792888008 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff4_core_sse4.S @@ -33,632 +33,630 @@ /* Offsets for data table __svml_serf_data_internal */ -#define _erf_tbl 0 -#define _AbsMask 4032 -#define _MaxThreshold 4048 -#define _SRound 4064 -#define _U2Threshold 4080 -#define _poly3_0 4096 +#define _erf_tbl 0 +#define _AbsMask 4032 +#define _MaxThreshold 4048 +#define _SRound 4064 +#define _U2Threshold 4080 +#define _poly3_0 4096 /* Lookup bias for data table __svml_serf_data_internal. */ -#define Table_Lookup_Bias -0x3c000000 +#define Table_Lookup_Bias -0x3c000000 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_erff_sse4) - lea Table_Lookup_Bias+__svml_serf_data_internal(%rip), %rdi - movups _AbsMask+__svml_serf_data_internal(%rip), %xmm9 - andps %xmm0, %xmm9 + lea Table_Lookup_Bias+__svml_serf_data_internal(%rip), %rdi + movups _AbsMask+__svml_serf_data_internal(%rip), %xmm9 + andps %xmm0, %xmm9 -/* - * erf(x) rounds to 1.0 for x>_MaxThreshold (3.9375) - * can compute all results in the main path - */ - movaps %xmm9, %xmm12 + /* + * erf(x) rounds to 1.0 for x>_MaxThreshold (3.9375) + * can compute all results in the main path + */ + movaps %xmm9, %xmm12 -/* save sign */ - pxor %xmm9, %xmm0 - minps _MaxThreshold+__svml_serf_data_internal(%rip), %xmm12 + /* save sign */ + pxor %xmm9, %xmm0 + minps _MaxThreshold+__svml_serf_data_internal(%rip), %xmm12 -/* - * vector gather: - * erf(x0), exp(-x0*x0)*2.0/sqrt(pi) - */ - movups _SRound+__svml_serf_data_internal(%rip), %xmm1 - movaps %xmm1, %xmm4 - movups _U2Threshold+__svml_serf_data_internal(%rip), %xmm11 - addps %xmm12, %xmm4 - cmpltps %xmm12, %xmm11 - movaps %xmm4, %xmm10 - pslld $3, %xmm4 - pshufd $1, %xmm4, %xmm2 - subps %xmm1, %xmm10 - movd %xmm4, %eax - movd %xmm2, %edx - pshufd $2, %xmm4, %xmm3 - subps %xmm10, %xmm12 - movd %xmm3, %ecx - andps %xmm12, %xmm11 + /* + * vector gather: + * erf(x0), exp(-x0*x0)*2.0/sqrt(pi) + */ + movups _SRound+__svml_serf_data_internal(%rip), %xmm1 + movaps %xmm1, %xmm4 + movups _U2Threshold+__svml_serf_data_internal(%rip), %xmm11 + addps %xmm12, %xmm4 + cmpltps %xmm12, %xmm11 + movaps %xmm4, %xmm10 + pslld $3, %xmm4 + pshufd $1, %xmm4, %xmm2 + subps %xmm1, %xmm10 + movd %xmm4, %eax + movd %xmm2, %edx + pshufd $2, %xmm4, %xmm3 + subps %xmm10, %xmm12 + movd %xmm3, %ecx + andps %xmm12, %xmm11 -/* D2 = Diff^2 */ - mulps %xmm11, %xmm11 - mulps %xmm12, %xmm10 + /* D2 = Diff^2 */ + mulps %xmm11, %xmm11 + mulps %xmm12, %xmm10 -/* NaN fixup */ - minps %xmm9, %xmm12 + /* NaN fixup */ + minps %xmm9, %xmm12 -/* - * Start polynomial evaluation - * P1 - */ - mulps _poly3_0+__svml_serf_data_internal(%rip), %xmm11 - pshufd $3, %xmm4, %xmm5 - subps %xmm10, %xmm11 - movd %xmm5, %esi + /* + * Start polynomial evaluation + * P1 + */ + mulps _poly3_0+__svml_serf_data_internal(%rip), %xmm11 + pshufd $3, %xmm4, %xmm5 + subps %xmm10, %xmm11 + movd %xmm5, %esi -/* - * branch-free - * (exp_h(x0) * Diff) * (poly + 1.0) - */ - mulps %xmm12, %xmm11 - movslq %eax, %rax - addps %xmm11, %xmm12 - movslq %edx, %rdx - movslq %ecx, %rcx - movslq %esi, %rsi - movq (%rdi,%rax), %xmm13 - movq (%rdi,%rdx), %xmm6 - movq (%rdi,%rcx), %xmm8 - movq (%rdi,%rsi), %xmm7 - unpcklps %xmm6, %xmm13 - unpcklps %xmm7, %xmm8 - movaps %xmm13, %xmm14 - shufps $238, %xmm8, %xmm13 + /* + * branch-free + * (exp_h(x0) * Diff) * (poly + 1.0) + */ + mulps %xmm12, %xmm11 + movslq %eax, %rax + addps %xmm11, %xmm12 + movslq %edx, %rdx + movslq %ecx, %rcx + movslq %esi, %rsi + movq (%rdi, %rax), %xmm13 + movq (%rdi, %rdx), %xmm6 + movq (%rdi, %rcx), %xmm8 + movq (%rdi, %rsi), %xmm7 + unpcklps %xmm6, %xmm13 + unpcklps %xmm7, %xmm8 + movaps %xmm13, %xmm14 + shufps $238, %xmm8, %xmm13 -/* Final result */ - mulps %xmm12, %xmm13 - movlhps %xmm8, %xmm14 - addps %xmm13, %xmm14 + /* Final result */ + mulps %xmm12, %xmm13 + movlhps %xmm8, %xmm14 + addps %xmm13, %xmm14 -/* set sign */ - orps %xmm14, %xmm0 - ret + /* set sign */ + orps %xmm14, %xmm0 + ret END(_ZGVbN4v_erff_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_serf_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _erf_tbl[1008][1]; - __declspec(align(16)) VUINT32 _AbsMask[4][1]; - __declspec(align(16)) VUINT32 _MaxThreshold[4][1]; - __declspec(align(16)) VUINT32 _SRound[4][1]; - __declspec(align(16)) VUINT32 _U2Threshold[4][1]; - __declspec(align(16)) VUINT32 _poly3_0[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _erf_tbl[1008][1]; + __declspec(align(16)) VUINT32 _AbsMask[4][1]; + __declspec(align(16)) VUINT32 _MaxThreshold[4][1]; + __declspec(align(16)) VUINT32 _SRound[4][1]; + __declspec(align(16)) VUINT32 _U2Threshold[4][1]; + __declspec(align(16)) VUINT32 _poly3_0[4][1]; } __svml_serf_data_internal; #endif __svml_serf_data_internal: - /*== _erf_tbl ==*/ - .long 0x00000000, 0x3f906ebb - .long 0x3c106dfa, 0x3f906c79 - .long 0x3c906bb8, 0x3f9065b4 - .long 0x3cd89bf0, 0x3f905a6c - .long 0x3d1062b2, 0x3f904aa3 - .long 0x3d3472ea, 0x3f90365a - .long 0x3d587d7f, 0x3f901d93 - .long 0x3d7c8154, 0x3f900050 - .long 0x3d903ea4, 0x3f8fde94 - .long 0x3da2381f, 0x3f8fb862 - .long 0x3db42c8d, 0x3f8f8dbd - .long 0x3dc61b5f, 0x3f8f5eab - .long 0x3dd80409, 0x3f8f2b2e - .long 0x3de9e5fc, 0x3f8ef34c - .long 0x3dfbc0ad, 0x3f8eb70a - .long 0x3e06c9c8, 0x3f8e766e - .long 0x3e0faf0d, 0x3f8e317d - .long 0x3e188fe1, 0x3f8de83e - .long 0x3e216bfe, 0x3f8d9ab9 - .long 0x3e2a4321, 0x3f8d48f3 - .long 0x3e331506, 0x3f8cf2f5 - .long 0x3e3be169, 0x3f8c98c6 - .long 0x3e44a808, 0x3f8c3a6f - .long 0x3e4d68a1, 0x3f8bd7f8 - .long 0x3e5622f2, 0x3f8b716c - .long 0x3e5ed6b9, 0x3f8b06d2 - .long 0x3e6783b7, 0x3f8a9834 - .long 0x3e7029aa, 0x3f8a259e - .long 0x3e78c855, 0x3f89af18 - .long 0x3e80afbc, 0x3f8934af - .long 0x3e84f76b, 0x3f88b66c - .long 0x3e893b19, 0x3f88345d - .long 0x3e8d7aa7, 0x3f87ae8b - .long 0x3e91b5f8, 0x3f872504 - .long 0x3e95ecee, 0x3f8697d3 - .long 0x3e9a1f6b, 0x3f860705 - .long 0x3e9e4d54, 0x3f8572a8 - .long 0x3ea2768c, 0x3f84dac8 - .long 0x3ea69af8, 0x3f843f72 - .long 0x3eaaba7a, 0x3f83a0b6 - .long 0x3eaed4fa, 0x3f82fe9f - .long 0x3eb2ea5c, 0x3f82593e - .long 0x3eb6fa85, 0x3f81b0a0 - .long 0x3ebb055d, 0x3f8104d3 - .long 0x3ebf0aca, 0x3f8055e8 - .long 0x3ec30ab3, 0x3f7f47d8 - .long 0x3ec70501, 0x3f7ddddf - .long 0x3ecaf99b, 0x3f7c6e05 - .long 0x3ecee869, 0x3f7af867 - .long 0x3ed2d156, 0x3f797d26 - .long 0x3ed6b44b, 0x3f77fc62 - .long 0x3eda9132, 0x3f76763c - .long 0x3ede67f6, 0x3f74ead4 - .long 0x3ee23882, 0x3f735a4c - .long 0x3ee602c2, 0x3f71c4c4 - .long 0x3ee9c6a2, 0x3f702a5f - .long 0x3eed840e, 0x3f6e8b3e - .long 0x3ef13af5, 0x3f6ce783 - .long 0x3ef4eb45, 0x3f6b3f51 - .long 0x3ef894ea, 0x3f6992c9 - .long 0x3efc37d5, 0x3f67e20f - .long 0x3effd3f5, 0x3f662d45 - .long 0x3f01b49d, 0x3f64748e - .long 0x3f037bca, 0x3f62b80d - .long 0x3f053f7b, 0x3f60f7e5 - .long 0x3f06ffa8, 0x3f5f3439 - .long 0x3f08bc4a, 0x3f5d6d2d - .long 0x3f0a755a, 0x3f5ba2e3 - .long 0x3f0c2ad3, 0x3f59d57e - .long 0x3f0ddcae, 0x3f580523 - .long 0x3f0f8ae6, 0x3f5631f4 - .long 0x3f113574, 0x3f545c14 - .long 0x3f12dc54, 0x3f5283a7 - .long 0x3f147f81, 0x3f50a8cf - .long 0x3f161ef6, 0x3f4ecbb1 - .long 0x3f17baae, 0x3f4cec6d - .long 0x3f1952a6, 0x3f4b0b28 - .long 0x3f1ae6da, 0x3f492804 - .long 0x3f1c7745, 0x3f474323 - .long 0x3f1e03e5, 0x3f455ca8 - .long 0x3f1f8cb7, 0x3f4374b5 - .long 0x3f2111b7, 0x3f418b6b - .long 0x3f2292e4, 0x3f3fa0ee - .long 0x3f24103a, 0x3f3db55e - .long 0x3f2589b9, 0x3f3bc8dc - .long 0x3f26ff5d, 0x3f39db8a - .long 0x3f287126, 0x3f37ed89 - .long 0x3f29df13, 0x3f35fef8 - .long 0x3f2b4922, 0x3f340ff9 - .long 0x3f2caf53, 0x3f3220ab - .long 0x3f2e11a4, 0x3f30312e - .long 0x3f2f7017, 0x3f2e41a1 - .long 0x3f30caab, 0x3f2c5223 - .long 0x3f322160, 0x3f2a62d3 - .long 0x3f337437, 0x3f2873cf - .long 0x3f34c32f, 0x3f268534 - .long 0x3f360e4c, 0x3f249721 - .long 0x3f37558c, 0x3f22a9b3 - .long 0x3f3898f3, 0x3f20bd06 - .long 0x3f39d881, 0x3f1ed137 - .long 0x3f3b1438, 0x3f1ce661 - .long 0x3f3c4c1b, 0x3f1afca0 - .long 0x3f3d802c, 0x3f19140f - .long 0x3f3eb06c, 0x3f172cc9 - .long 0x3f3fdce0, 0x3f1546e7 - .long 0x3f410589, 0x3f136284 - .long 0x3f422a6b, 0x3f117fb9 - .long 0x3f434b89, 0x3f0f9e9e - .long 0x3f4468e7, 0x3f0dbf4c - .long 0x3f458287, 0x3f0be1db - .long 0x3f46986f, 0x3f0a0662 - .long 0x3f47aaa2, 0x3f082cf7 - .long 0x3f48b925, 0x3f0655b1 - .long 0x3f49c3fb, 0x3f0480a6 - .long 0x3f4acb29, 0x3f02adeb - .long 0x3f4bceb4, 0x3f00dd96 - .long 0x3f4ccea1, 0x3efe1f73 - .long 0x3f4dcaf4, 0x3efa88d5 - .long 0x3f4ec3b4, 0x3ef6f777 - .long 0x3f4fb8e5, 0x3ef36b80 - .long 0x3f50aa8d, 0x3eefe513 - .long 0x3f5198b1, 0x3eec6455 - .long 0x3f528358, 0x3ee8e968 - .long 0x3f536a86, 0x3ee5746d - .long 0x3f544e43, 0x3ee20584 - .long 0x3f552e93, 0x3ede9ccc - .long 0x3f560b7e, 0x3edb3a64 - .long 0x3f56e50a, 0x3ed7de6a - .long 0x3f57bb3d, 0x3ed488f8 - .long 0x3f588e1e, 0x3ed13a2b - .long 0x3f595db4, 0x3ecdf21c - .long 0x3f5a2a05, 0x3ecab0e4 - .long 0x3f5af318, 0x3ec7769b - .long 0x3f5bb8f4, 0x3ec44359 - .long 0x3f5c7ba1, 0x3ec11733 - .long 0x3f5d3b25, 0x3ebdf23d - .long 0x3f5df788, 0x3ebad48d - .long 0x3f5eb0d1, 0x3eb7be35 - .long 0x3f5f6707, 0x3eb4af46 - .long 0x3f601a32, 0x3eb1a7d3 - .long 0x3f60ca59, 0x3eaea7ea - .long 0x3f617784, 0x3eabaf9a - .long 0x3f6221bb, 0x3ea8bef3 - .long 0x3f62c905, 0x3ea5d600 - .long 0x3f636d69, 0x3ea2f4ce - .long 0x3f640ef1, 0x3ea01b68 - .long 0x3f64ada3, 0x3e9d49d9 - .long 0x3f654987, 0x3e9a8029 - .long 0x3f65e2a6, 0x3e97be62 - .long 0x3f667906, 0x3e95048b - .long 0x3f670cb1, 0x3e9252aa - .long 0x3f679dae, 0x3e8fa8c5 - .long 0x3f682c06, 0x3e8d06e3 - .long 0x3f68b7bf, 0x3e8a6d05 - .long 0x3f6940e2, 0x3e87db31 - .long 0x3f69c778, 0x3e855168 - .long 0x3f6a4b88, 0x3e82cfad - .long 0x3f6acd1a, 0x3e805600 - .long 0x3f6b4c36, 0x3e7bc8c2 - .long 0x3f6bc8e5, 0x3e76f5a0 - .long 0x3f6c432f, 0x3e723298 - .long 0x3f6cbb1b, 0x3e6d7fa5 - .long 0x3f6d30b1, 0x3e68dcc1 - .long 0x3f6da3fa, 0x3e6449e7 - .long 0x3f6e14fe, 0x3e5fc70e - .long 0x3f6e83c4, 0x3e5b542b - .long 0x3f6ef055, 0x3e56f136 - .long 0x3f6f5ab8, 0x3e529e21 - .long 0x3f6fc2f5, 0x3e4e5adf - .long 0x3f702915, 0x3e4a2761 - .long 0x3f708d1f, 0x3e460399 - .long 0x3f70ef1b, 0x3e41ef75 - .long 0x3f714f11, 0x3e3deae4 - .long 0x3f71ad09, 0x3e39f5d2 - .long 0x3f72090a, 0x3e36102b - .long 0x3f72631c, 0x3e3239db - .long 0x3f72bb46, 0x3e2e72cb - .long 0x3f731191, 0x3e2abae4 - .long 0x3f736604, 0x3e27120f - .long 0x3f73b8a5, 0x3e237833 - .long 0x3f74097e, 0x3e1fed36 - .long 0x3f745895, 0x3e1c70fd - .long 0x3f74a5f2, 0x3e19036e - .long 0x3f74f19b, 0x3e15a46d - .long 0x3f753b98, 0x3e1253dc - .long 0x3f7583f1, 0x3e0f119f - .long 0x3f75caac, 0x3e0bdd96 - .long 0x3f760fd1, 0x3e08b7a4 - .long 0x3f765366, 0x3e059fa9 - .long 0x3f769573, 0x3e029586 - .long 0x3f76d5fe, 0x3dff3230 - .long 0x3f77150f, 0x3df95481 - .long 0x3f7752ab, 0x3df391b9 - .long 0x3f778eda, 0x3dede995 - .long 0x3f77c9a2, 0x3de85bd0 - .long 0x3f78030a, 0x3de2e825 - .long 0x3f783b18, 0x3ddd8e4c - .long 0x3f7871d3, 0x3dd84dfe - .long 0x3f78a741, 0x3dd326f3 - .long 0x3f78db68, 0x3dce18e3 - .long 0x3f790e50, 0x3dc92385 - .long 0x3f793ffc, 0x3dc4468f - .long 0x3f797075, 0x3dbf81b6 - .long 0x3f799fbf, 0x3dbad4b0 - .long 0x3f79cde1, 0x3db63f32 - .long 0x3f79fae1, 0x3db1c0f1 - .long 0x3f7a26c4, 0x3dad59a1 - .long 0x3f7a518f, 0x3da908f6 - .long 0x3f7a7b4a, 0x3da4cea4 - .long 0x3f7aa3f9, 0x3da0aa5e - .long 0x3f7acba1, 0x3d9c9bd9 - .long 0x3f7af248, 0x3d98a2c7 - .long 0x3f7b17f4, 0x3d94bedd - .long 0x3f7b3ca9, 0x3d90efcd - .long 0x3f7b606e, 0x3d8d354b - .long 0x3f7b8346, 0x3d898f0a - .long 0x3f7ba537, 0x3d85fcbf - .long 0x3f7bc646, 0x3d827e1d - .long 0x3f7be677, 0x3d7e25af - .long 0x3f7c05d1, 0x3d777546 - .long 0x3f7c2456, 0x3d70ea68 - .long 0x3f7c420d, 0x3d6a847d - .long 0x3f7c5ef9, 0x3d6442f0 - .long 0x3f7c7b1f, 0x3d5e252a - .long 0x3f7c9684, 0x3d582a98 - .long 0x3f7cb12b, 0x3d5252a5 - .long 0x3f7ccb1a, 0x3d4c9cbd - .long 0x3f7ce454, 0x3d47084e - .long 0x3f7cfcdd, 0x3d4194c7 - .long 0x3f7d14ba, 0x3d3c4196 - .long 0x3f7d2bef, 0x3d370e2c - .long 0x3f7d427f, 0x3d31f9fb - .long 0x3f7d586f, 0x3d2d0474 - .long 0x3f7d6dc2, 0x3d282d0c - .long 0x3f7d827b, 0x3d237336 - .long 0x3f7d96a0, 0x3d1ed669 - .long 0x3f7daa32, 0x3d1a561b - .long 0x3f7dbd36, 0x3d15f1c6 - .long 0x3f7dcfb0, 0x3d11a8e1 - .long 0x3f7de1a2, 0x3d0d7ae9 - .long 0x3f7df30f, 0x3d09675a - .long 0x3f7e03fd, 0x3d056db0 - .long 0x3f7e146c, 0x3d018d6b - .long 0x3f7e2461, 0x3cfb8c15 - .long 0x3f7e33de, 0x3cf42e22 - .long 0x3f7e42e8, 0x3ced0003 - .long 0x3f7e517f, 0x3ce600c0 - .long 0x3f7e5fa9, 0x3cdf2f67 - .long 0x3f7e6d66, 0x3cd88b05 - .long 0x3f7e7abb, 0x3cd212ad - .long 0x3f7e87aa, 0x3ccbc574 - .long 0x3f7e9435, 0x3cc5a273 - .long 0x3f7ea05f, 0x3cbfa8c4 - .long 0x3f7eac2b, 0x3cb9d786 - .long 0x3f7eb79a, 0x3cb42ddb - .long 0x3f7ec2b1, 0x3caeaae6 - .long 0x3f7ecd71, 0x3ca94dcf - .long 0x3f7ed7dc, 0x3ca415c2 - .long 0x3f7ee1f4, 0x3c9f01ec - .long 0x3f7eebbd, 0x3c9a117f - .long 0x3f7ef537, 0x3c9543ae - .long 0x3f7efe66, 0x3c9097b1 - .long 0x3f7f074b, 0x3c8c0cc2 - .long 0x3f7f0fe8, 0x3c87a21f - .long 0x3f7f1840, 0x3c83570a - .long 0x3f7f2053, 0x3c7e558a - .long 0x3f7f2826, 0x3c763931 - .long 0x3f7f2fb8, 0x3c6e579b - .long 0x3f7f370c, 0x3c66af65 - .long 0x3f7f3e23, 0x3c5f3f2d - .long 0x3f7f4500, 0x3c58059c - .long 0x3f7f4ba4, 0x3c51015f - .long 0x3f7f5211, 0x3c4a3127 - .long 0x3f7f5848, 0x3c4393af - .long 0x3f7f5e4b, 0x3c3d27b5 - .long 0x3f7f641b, 0x3c36ebff - .long 0x3f7f69ba, 0x3c30df57 - .long 0x3f7f6f29, 0x3c2b008e - .long 0x3f7f746a, 0x3c254e7b - .long 0x3f7f797f, 0x3c1fc7fb - .long 0x3f7f7e67, 0x3c1a6bee - .long 0x3f7f8326, 0x3c15393d - .long 0x3f7f87bb, 0x3c102ed6 - .long 0x3f7f8c29, 0x3c0b4bab - .long 0x3f7f9070, 0x3c068eb5 - .long 0x3f7f9492, 0x3c01f6f1 - .long 0x3f7f9890, 0x3bfb06c5 - .long 0x3f7f9c6b, 0x3bf26625 - .long 0x3f7fa024, 0x3bea0a1d - .long 0x3f7fa3bc, 0x3be1f0d3 - .long 0x3f7fa734, 0x3bda1876 - .long 0x3f7faa8d, 0x3bd27f42 - .long 0x3f7fadc8, 0x3bcb237a - .long 0x3f7fb0e6, 0x3bc4036c - .long 0x3f7fb3e8, 0x3bbd1d6f - .long 0x3f7fb6cf, 0x3bb66fe6 - .long 0x3f7fb99c, 0x3baff93b - .long 0x3f7fbc4f, 0x3ba9b7e1 - .long 0x3f7fbeea, 0x3ba3aa56 - .long 0x3f7fc16d, 0x3b9dcf20 - .long 0x3f7fc3d9, 0x3b9824ce - .long 0x3f7fc62e, 0x3b92a9f7 - .long 0x3f7fc86e, 0x3b8d5d3c - .long 0x3f7fca99, 0x3b883d46 - .long 0x3f7fccb0, 0x3b8348c6 - .long 0x3f7fceb4, 0x3b7cfce8 - .long 0x3f7fd0a5, 0x3b73ba24 - .long 0x3f7fd283, 0x3b6ac6d3 - .long 0x3f7fd450, 0x3b622096 - .long 0x3f7fd60c, 0x3b59c51d - .long 0x3f7fd7b7, 0x3b51b22a - .long 0x3f7fd953, 0x3b49e589 - .long 0x3f7fdadf, 0x3b425d18 - .long 0x3f7fdc5c, 0x3b3b16c2 - .long 0x3f7fddcc, 0x3b341080 - .long 0x3f7fdf2d, 0x3b2d4858 - .long 0x3f7fe081, 0x3b26bc5e - .long 0x3f7fe1c8, 0x3b206ab2 - .long 0x3f7fe303, 0x3b1a5183 - .long 0x3f7fe431, 0x3b146f09 - .long 0x3f7fe554, 0x3b0ec18c - .long 0x3f7fe66c, 0x3b09475d - .long 0x3f7fe77a, 0x3b03feda - .long 0x3f7fe87d, 0x3afdccdc - .long 0x3f7fe975, 0x3af3f919 - .long 0x3f7fea65, 0x3aea7f6c - .long 0x3f7feb4b, 0x3ae15ce8 - .long 0x3f7fec27, 0x3ad88eb8 - .long 0x3f7fecfc, 0x3ad0121b - .long 0x3f7fedc8, 0x3ac7e464 - .long 0x3f7fee8c, 0x3ac002f8 - .long 0x3f7fef48, 0x3ab86b52 - .long 0x3f7feffd, 0x3ab11afe - .long 0x3f7ff0aa, 0x3aaa0f9a - .long 0x3f7ff151, 0x3aa346d7 - .long 0x3f7ff1f1, 0x3a9cbe77 - .long 0x3f7ff28a, 0x3a96744c - .long 0x3f7ff31e, 0x3a90663b - .long 0x3f7ff3ab, 0x3a8a9237 - .long 0x3f7ff433, 0x3a84f643 - .long 0x3f7ff4b5, 0x3a7f20e7 - .long 0x3f7ff532, 0x3a74bdd2 - .long 0x3f7ff5aa, 0x3a6abfa9 - .long 0x3f7ff61d, 0x3a6122ea - .long 0x3f7ff68b, 0x3a57e42f - .long 0x3f7ff6f5, 0x3a4f002c - .long 0x3f7ff75a, 0x3a4673af - .long 0x3f7ff7bb, 0x3a3e3ba2 - .long 0x3f7ff819, 0x3a365507 - .long 0x3f7ff872, 0x3a2ebcf6 - .long 0x3f7ff8c7, 0x3a2770a1 - .long 0x3f7ff919, 0x3a206d52 - .long 0x3f7ff968, 0x3a19b066 - .long 0x3f7ff9b3, 0x3a133754 - .long 0x3f7ff9fb, 0x3a0cffa3 - .long 0x3f7ffa40, 0x3a0706f4 - .long 0x3f7ffa82, 0x3a014af8 - .long 0x3f7ffac1, 0x39f792ea - .long 0x3f7ffafe, 0x39ed0088 - .long 0x3f7ffb38, 0x39e2daa1 - .long 0x3f7ffb6f, 0x39d91d2d - .long 0x3f7ffba5, 0x39cfc44a - .long 0x3f7ffbd7, 0x39c6cc35 - .long 0x3f7ffc08, 0x39be314d - .long 0x3f7ffc36, 0x39b5f011 - .long 0x3f7ffc63, 0x39ae051c - .long 0x3f7ffc8e, 0x39a66d2a - .long 0x3f7ffcb6, 0x399f2512 - .long 0x3f7ffcdd, 0x399829c8 - .long 0x3f7ffd02, 0x3991785a - .long 0x3f7ffd26, 0x398b0df2 - .long 0x3f7ffd48, 0x3984e7d2 - .long 0x3f7ffd68, 0x397e06ab - .long 0x3f7ffd87, 0x3972bbde - .long 0x3f7ffda5, 0x3967ea53 - .long 0x3f7ffdc1, 0x395d8d4b - .long 0x3f7ffddc, 0x3953a034 - .long 0x3f7ffdf6, 0x394a1ea5 - .long 0x3f7ffe0f, 0x3941045e - .long 0x3f7ffe27, 0x39384d47 - .long 0x3f7ffe3d, 0x392ff56d - .long 0x3f7ffe53, 0x3927f904 - .long 0x3f7ffe67, 0x39205461 - .long 0x3f7ffe7b, 0x391903fe - .long 0x3f7ffe8d, 0x39120475 - .long 0x3f7ffe9f, 0x390b5281 - .long 0x3f7ffeb0, 0x3904eafc - .long 0x3f7ffec0, 0x38fd95bd - .long 0x3f7ffed0, 0x38f1de7a - .long 0x3f7ffedf, 0x38e6aa94 - .long 0x3f7ffeed, 0x38dbf4a3 - .long 0x3f7ffefa, 0x38d1b776 - .long 0x3f7fff07, 0x38c7ee0e - .long 0x3f7fff13, 0x38be939c - .long 0x3f7fff1f, 0x38b5a381 - .long 0x3f7fff2a, 0x38ad194e - .long 0x3f7fff34, 0x38a4f0bc - .long 0x3f7fff3f, 0x389d25b0 - .long 0x3f7fff48, 0x3895b43b - .long 0x3f7fff51, 0x388e9890 - .long 0x3f7fff5a, 0x3887cf0e - .long 0x3f7fff62, 0x38815434 - .long 0x3f7fff6a, 0x3876494d - .long 0x3f7fff72, 0x386a7a5a - .long 0x3f7fff79, 0x385f355e - .long 0x3f7fff80, 0x38547466 - .long 0x3f7fff86, 0x384a31bf - .long 0x3f7fff8c, 0x384067ee - .long 0x3f7fff92, 0x383711b4 - .long 0x3f7fff98, 0x382e2a06 - .long 0x3f7fff9d, 0x3825ac0e - .long 0x3f7fffa2, 0x381d9329 - .long 0x3f7fffa7, 0x3815dae6 - .long 0x3f7fffab, 0x380e7f01 - .long 0x3f7fffb0, 0x38077b62 - .long 0x3f7fffb4, 0x3800cc21 - .long 0x3f7fffb8, 0x37f4daf4 - .long 0x3f7fffbc, 0x37e8b7ac - .long 0x3f7fffbf, 0x37dd2782 - .long 0x3f7fffc2, 0x37d223dc - .long 0x3f7fffc6, 0x37c7a666 - .long 0x3f7fffc9, 0x37bda912 - .long 0x3f7fffcc, 0x37b42611 - .long 0x3f7fffce, 0x37ab17d6 - .long 0x3f7fffd1, 0x37a2790f - .long 0x3f7fffd3, 0x379a44a5 - .long 0x3f7fffd6, 0x379275b9 - .long 0x3f7fffd8, 0x378b07a2 - .long 0x3f7fffda, 0x3783f5e9 - .long 0x3f7fffdc, 0x377a7897 - .long 0x3f7fffde, 0x376dad68 - .long 0x3f7fffe0, 0x37618278 - .long 0x3f7fffe2, 0x3755f04f - .long 0x3f7fffe3, 0x374aefcc - .long 0x3f7fffe5, 0x37407a1d - .long 0x3f7fffe6, 0x373688bc - .long 0x3f7fffe8, 0x372d1570 - .long 0x3f7fffe9, 0x37241a44 - .long 0x3f7fffea, 0x371b9188 - .long 0x3f7fffeb, 0x371375cf - .long 0x3f7fffec, 0x370bc1e7 - .long 0x3f7fffee, 0x370470dd - .long 0x3f7fffef, 0x36fafbec - .long 0x3f7fffef, 0x36edc95b - .long 0x3f7ffff0, 0x36e14167 - .long 0x3f7ffff1, 0x36d55bd6 - .long 0x3f7ffff2, 0x36ca10ce - .long 0x3f7ffff3, 0x36bf58d1 - .long 0x3f7ffff4, 0x36b52cb9 - .long 0x3f7ffff4, 0x36ab85b5 - .long 0x3f7ffff5, 0x36a25d43 - .long 0x3f7ffff5, 0x3699ad31 - .long 0x3f7ffff6, 0x36916f95 - .long 0x3f7ffff7, 0x36899ecb - .long 0x3f7ffff7, 0x36823575 - .long 0x3f7ffff8, 0x36765ce8 - .long 0x3f7ffff8, 0x366909cc - .long 0x3f7ffff9, 0x365c684a - .long 0x3f7ffff9, 0x36506f88 - .long 0x3f7ffff9, 0x36451713 - .long 0x3f7ffffa, 0x363a56e4 - .long 0x3f7ffffa, 0x36302754 - .long 0x3f7ffffa, 0x36268119 - .long 0x3f7ffffb, 0x361d5d43 - .long 0x3f7ffffb, 0x3614b538 - .long 0x3f7ffffb, 0x360c82b1 - .long 0x3f7ffffc, 0x3604bfb1 - .long 0x3f7ffffc, 0x35facd10 - .long 0x3f7ffffc, 0x35ece39b - .long 0x3f7ffffc, 0x35dfb8b6 - .long 0x3f7ffffd, 0x35d34296 - .long 0x3f7ffffd, 0x35c777ec - .long 0x3f7ffffd, 0x35bc4fdc - .long 0x3f7ffffd, 0x35b1c1fc - .long 0x3f7ffffd, 0x35a7c64b - .long 0x3f7ffffd, 0x359e5531 - .long 0x3f7ffffe, 0x35956771 - .long 0x3f7ffffe, 0x358cf630 - .long 0x3f7ffffe, 0x3584fae8 - .long 0x3f7ffffe, 0x357adecb - .long 0x3f7ffffe, 0x356c9b8f - .long 0x3f7ffffe, 0x355f20ef - .long 0x3f7ffffe, 0x3552644f - .long 0x3f7ffffe, 0x35465b9c - .long 0x3f7fffff, 0x353afd47 - .long 0x3f7fffff, 0x3530403c - .long 0x3f7fffff, 0x35261be0 - .long 0x3f7fffff, 0x351c8807 - .long 0x3f7fffff, 0x35137cf0 - .long 0x3f7fffff, 0x350af341 - .long 0x3f7fffff, 0x3502e402 - .long 0x3f7fffff, 0x34f6912a - .long 0x3f7fffff, 0x34e8356b - .long 0x3f7fffff, 0x34daa8e4 - .long 0x3f7fffff, 0x34cde050 - .long 0x3f7fffff, 0x34c1d100 - .long 0x3f7fffff, 0x34b670d5 - .long 0x3f7fffff, 0x34abb639 - .long 0x3f7fffff, 0x34a19816 - .long 0x3f7fffff, 0x34980dd1 - .long 0x3f7fffff, 0x348f0f43 - .long 0x3f7fffff, 0x348694b3 - .long 0x3f800000, 0x347d2da8 - .long 0x3f800000, 0x346e1d72 - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ - .align 16 - .long 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000 /* _MaxThreshold */ - .align 16 - .long 0x47800000, 0x47800000, 0x47800000, 0x47800000 /* _SRound */ - .align 16 - .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 /* _U2THreshold */ - .align 16 - .long 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade /* _poly_3_0 */ - .align 16 - .type __svml_serf_data_internal,@object - .size __svml_serf_data_internal,.-__svml_serf_data_internal + /* _erf_tbl */ + .long 0x00000000, 0x3f906ebb + .long 0x3c106dfa, 0x3f906c79 + .long 0x3c906bb8, 0x3f9065b4 + .long 0x3cd89bf0, 0x3f905a6c + .long 0x3d1062b2, 0x3f904aa3 + .long 0x3d3472ea, 0x3f90365a + .long 0x3d587d7f, 0x3f901d93 + .long 0x3d7c8154, 0x3f900050 + .long 0x3d903ea4, 0x3f8fde94 + .long 0x3da2381f, 0x3f8fb862 + .long 0x3db42c8d, 0x3f8f8dbd + .long 0x3dc61b5f, 0x3f8f5eab + .long 0x3dd80409, 0x3f8f2b2e + .long 0x3de9e5fc, 0x3f8ef34c + .long 0x3dfbc0ad, 0x3f8eb70a + .long 0x3e06c9c8, 0x3f8e766e + .long 0x3e0faf0d, 0x3f8e317d + .long 0x3e188fe1, 0x3f8de83e + .long 0x3e216bfe, 0x3f8d9ab9 + .long 0x3e2a4321, 0x3f8d48f3 + .long 0x3e331506, 0x3f8cf2f5 + .long 0x3e3be169, 0x3f8c98c6 + .long 0x3e44a808, 0x3f8c3a6f + .long 0x3e4d68a1, 0x3f8bd7f8 + .long 0x3e5622f2, 0x3f8b716c + .long 0x3e5ed6b9, 0x3f8b06d2 + .long 0x3e6783b7, 0x3f8a9834 + .long 0x3e7029aa, 0x3f8a259e + .long 0x3e78c855, 0x3f89af18 + .long 0x3e80afbc, 0x3f8934af + .long 0x3e84f76b, 0x3f88b66c + .long 0x3e893b19, 0x3f88345d + .long 0x3e8d7aa7, 0x3f87ae8b + .long 0x3e91b5f8, 0x3f872504 + .long 0x3e95ecee, 0x3f8697d3 + .long 0x3e9a1f6b, 0x3f860705 + .long 0x3e9e4d54, 0x3f8572a8 + .long 0x3ea2768c, 0x3f84dac8 + .long 0x3ea69af8, 0x3f843f72 + .long 0x3eaaba7a, 0x3f83a0b6 + .long 0x3eaed4fa, 0x3f82fe9f + .long 0x3eb2ea5c, 0x3f82593e + .long 0x3eb6fa85, 0x3f81b0a0 + .long 0x3ebb055d, 0x3f8104d3 + .long 0x3ebf0aca, 0x3f8055e8 + .long 0x3ec30ab3, 0x3f7f47d8 + .long 0x3ec70501, 0x3f7ddddf + .long 0x3ecaf99b, 0x3f7c6e05 + .long 0x3ecee869, 0x3f7af867 + .long 0x3ed2d156, 0x3f797d26 + .long 0x3ed6b44b, 0x3f77fc62 + .long 0x3eda9132, 0x3f76763c + .long 0x3ede67f6, 0x3f74ead4 + .long 0x3ee23882, 0x3f735a4c + .long 0x3ee602c2, 0x3f71c4c4 + .long 0x3ee9c6a2, 0x3f702a5f + .long 0x3eed840e, 0x3f6e8b3e + .long 0x3ef13af5, 0x3f6ce783 + .long 0x3ef4eb45, 0x3f6b3f51 + .long 0x3ef894ea, 0x3f6992c9 + .long 0x3efc37d5, 0x3f67e20f + .long 0x3effd3f5, 0x3f662d45 + .long 0x3f01b49d, 0x3f64748e + .long 0x3f037bca, 0x3f62b80d + .long 0x3f053f7b, 0x3f60f7e5 + .long 0x3f06ffa8, 0x3f5f3439 + .long 0x3f08bc4a, 0x3f5d6d2d + .long 0x3f0a755a, 0x3f5ba2e3 + .long 0x3f0c2ad3, 0x3f59d57e + .long 0x3f0ddcae, 0x3f580523 + .long 0x3f0f8ae6, 0x3f5631f4 + .long 0x3f113574, 0x3f545c14 + .long 0x3f12dc54, 0x3f5283a7 + .long 0x3f147f81, 0x3f50a8cf + .long 0x3f161ef6, 0x3f4ecbb1 + .long 0x3f17baae, 0x3f4cec6d + .long 0x3f1952a6, 0x3f4b0b28 + .long 0x3f1ae6da, 0x3f492804 + .long 0x3f1c7745, 0x3f474323 + .long 0x3f1e03e5, 0x3f455ca8 + .long 0x3f1f8cb7, 0x3f4374b5 + .long 0x3f2111b7, 0x3f418b6b + .long 0x3f2292e4, 0x3f3fa0ee + .long 0x3f24103a, 0x3f3db55e + .long 0x3f2589b9, 0x3f3bc8dc + .long 0x3f26ff5d, 0x3f39db8a + .long 0x3f287126, 0x3f37ed89 + .long 0x3f29df13, 0x3f35fef8 + .long 0x3f2b4922, 0x3f340ff9 + .long 0x3f2caf53, 0x3f3220ab + .long 0x3f2e11a4, 0x3f30312e + .long 0x3f2f7017, 0x3f2e41a1 + .long 0x3f30caab, 0x3f2c5223 + .long 0x3f322160, 0x3f2a62d3 + .long 0x3f337437, 0x3f2873cf + .long 0x3f34c32f, 0x3f268534 + .long 0x3f360e4c, 0x3f249721 + .long 0x3f37558c, 0x3f22a9b3 + .long 0x3f3898f3, 0x3f20bd06 + .long 0x3f39d881, 0x3f1ed137 + .long 0x3f3b1438, 0x3f1ce661 + .long 0x3f3c4c1b, 0x3f1afca0 + .long 0x3f3d802c, 0x3f19140f + .long 0x3f3eb06c, 0x3f172cc9 + .long 0x3f3fdce0, 0x3f1546e7 + .long 0x3f410589, 0x3f136284 + .long 0x3f422a6b, 0x3f117fb9 + .long 0x3f434b89, 0x3f0f9e9e + .long 0x3f4468e7, 0x3f0dbf4c + .long 0x3f458287, 0x3f0be1db + .long 0x3f46986f, 0x3f0a0662 + .long 0x3f47aaa2, 0x3f082cf7 + .long 0x3f48b925, 0x3f0655b1 + .long 0x3f49c3fb, 0x3f0480a6 + .long 0x3f4acb29, 0x3f02adeb + .long 0x3f4bceb4, 0x3f00dd96 + .long 0x3f4ccea1, 0x3efe1f73 + .long 0x3f4dcaf4, 0x3efa88d5 + .long 0x3f4ec3b4, 0x3ef6f777 + .long 0x3f4fb8e5, 0x3ef36b80 + .long 0x3f50aa8d, 0x3eefe513 + .long 0x3f5198b1, 0x3eec6455 + .long 0x3f528358, 0x3ee8e968 + .long 0x3f536a86, 0x3ee5746d + .long 0x3f544e43, 0x3ee20584 + .long 0x3f552e93, 0x3ede9ccc + .long 0x3f560b7e, 0x3edb3a64 + .long 0x3f56e50a, 0x3ed7de6a + .long 0x3f57bb3d, 0x3ed488f8 + .long 0x3f588e1e, 0x3ed13a2b + .long 0x3f595db4, 0x3ecdf21c + .long 0x3f5a2a05, 0x3ecab0e4 + .long 0x3f5af318, 0x3ec7769b + .long 0x3f5bb8f4, 0x3ec44359 + .long 0x3f5c7ba1, 0x3ec11733 + .long 0x3f5d3b25, 0x3ebdf23d + .long 0x3f5df788, 0x3ebad48d + .long 0x3f5eb0d1, 0x3eb7be35 + .long 0x3f5f6707, 0x3eb4af46 + .long 0x3f601a32, 0x3eb1a7d3 + .long 0x3f60ca59, 0x3eaea7ea + .long 0x3f617784, 0x3eabaf9a + .long 0x3f6221bb, 0x3ea8bef3 + .long 0x3f62c905, 0x3ea5d600 + .long 0x3f636d69, 0x3ea2f4ce + .long 0x3f640ef1, 0x3ea01b68 + .long 0x3f64ada3, 0x3e9d49d9 + .long 0x3f654987, 0x3e9a8029 + .long 0x3f65e2a6, 0x3e97be62 + .long 0x3f667906, 0x3e95048b + .long 0x3f670cb1, 0x3e9252aa + .long 0x3f679dae, 0x3e8fa8c5 + .long 0x3f682c06, 0x3e8d06e3 + .long 0x3f68b7bf, 0x3e8a6d05 + .long 0x3f6940e2, 0x3e87db31 + .long 0x3f69c778, 0x3e855168 + .long 0x3f6a4b88, 0x3e82cfad + .long 0x3f6acd1a, 0x3e805600 + .long 0x3f6b4c36, 0x3e7bc8c2 + .long 0x3f6bc8e5, 0x3e76f5a0 + .long 0x3f6c432f, 0x3e723298 + .long 0x3f6cbb1b, 0x3e6d7fa5 + .long 0x3f6d30b1, 0x3e68dcc1 + .long 0x3f6da3fa, 0x3e6449e7 + .long 0x3f6e14fe, 0x3e5fc70e + .long 0x3f6e83c4, 0x3e5b542b + .long 0x3f6ef055, 0x3e56f136 + .long 0x3f6f5ab8, 0x3e529e21 + .long 0x3f6fc2f5, 0x3e4e5adf + .long 0x3f702915, 0x3e4a2761 + .long 0x3f708d1f, 0x3e460399 + .long 0x3f70ef1b, 0x3e41ef75 + .long 0x3f714f11, 0x3e3deae4 + .long 0x3f71ad09, 0x3e39f5d2 + .long 0x3f72090a, 0x3e36102b + .long 0x3f72631c, 0x3e3239db + .long 0x3f72bb46, 0x3e2e72cb + .long 0x3f731191, 0x3e2abae4 + .long 0x3f736604, 0x3e27120f + .long 0x3f73b8a5, 0x3e237833 + .long 0x3f74097e, 0x3e1fed36 + .long 0x3f745895, 0x3e1c70fd + .long 0x3f74a5f2, 0x3e19036e + .long 0x3f74f19b, 0x3e15a46d + .long 0x3f753b98, 0x3e1253dc + .long 0x3f7583f1, 0x3e0f119f + .long 0x3f75caac, 0x3e0bdd96 + .long 0x3f760fd1, 0x3e08b7a4 + .long 0x3f765366, 0x3e059fa9 + .long 0x3f769573, 0x3e029586 + .long 0x3f76d5fe, 0x3dff3230 + .long 0x3f77150f, 0x3df95481 + .long 0x3f7752ab, 0x3df391b9 + .long 0x3f778eda, 0x3dede995 + .long 0x3f77c9a2, 0x3de85bd0 + .long 0x3f78030a, 0x3de2e825 + .long 0x3f783b18, 0x3ddd8e4c + .long 0x3f7871d3, 0x3dd84dfe + .long 0x3f78a741, 0x3dd326f3 + .long 0x3f78db68, 0x3dce18e3 + .long 0x3f790e50, 0x3dc92385 + .long 0x3f793ffc, 0x3dc4468f + .long 0x3f797075, 0x3dbf81b6 + .long 0x3f799fbf, 0x3dbad4b0 + .long 0x3f79cde1, 0x3db63f32 + .long 0x3f79fae1, 0x3db1c0f1 + .long 0x3f7a26c4, 0x3dad59a1 + .long 0x3f7a518f, 0x3da908f6 + .long 0x3f7a7b4a, 0x3da4cea4 + .long 0x3f7aa3f9, 0x3da0aa5e + .long 0x3f7acba1, 0x3d9c9bd9 + .long 0x3f7af248, 0x3d98a2c7 + .long 0x3f7b17f4, 0x3d94bedd + .long 0x3f7b3ca9, 0x3d90efcd + .long 0x3f7b606e, 0x3d8d354b + .long 0x3f7b8346, 0x3d898f0a + .long 0x3f7ba537, 0x3d85fcbf + .long 0x3f7bc646, 0x3d827e1d + .long 0x3f7be677, 0x3d7e25af + .long 0x3f7c05d1, 0x3d777546 + .long 0x3f7c2456, 0x3d70ea68 + .long 0x3f7c420d, 0x3d6a847d + .long 0x3f7c5ef9, 0x3d6442f0 + .long 0x3f7c7b1f, 0x3d5e252a + .long 0x3f7c9684, 0x3d582a98 + .long 0x3f7cb12b, 0x3d5252a5 + .long 0x3f7ccb1a, 0x3d4c9cbd + .long 0x3f7ce454, 0x3d47084e + .long 0x3f7cfcdd, 0x3d4194c7 + .long 0x3f7d14ba, 0x3d3c4196 + .long 0x3f7d2bef, 0x3d370e2c + .long 0x3f7d427f, 0x3d31f9fb + .long 0x3f7d586f, 0x3d2d0474 + .long 0x3f7d6dc2, 0x3d282d0c + .long 0x3f7d827b, 0x3d237336 + .long 0x3f7d96a0, 0x3d1ed669 + .long 0x3f7daa32, 0x3d1a561b + .long 0x3f7dbd36, 0x3d15f1c6 + .long 0x3f7dcfb0, 0x3d11a8e1 + .long 0x3f7de1a2, 0x3d0d7ae9 + .long 0x3f7df30f, 0x3d09675a + .long 0x3f7e03fd, 0x3d056db0 + .long 0x3f7e146c, 0x3d018d6b + .long 0x3f7e2461, 0x3cfb8c15 + .long 0x3f7e33de, 0x3cf42e22 + .long 0x3f7e42e8, 0x3ced0003 + .long 0x3f7e517f, 0x3ce600c0 + .long 0x3f7e5fa9, 0x3cdf2f67 + .long 0x3f7e6d66, 0x3cd88b05 + .long 0x3f7e7abb, 0x3cd212ad + .long 0x3f7e87aa, 0x3ccbc574 + .long 0x3f7e9435, 0x3cc5a273 + .long 0x3f7ea05f, 0x3cbfa8c4 + .long 0x3f7eac2b, 0x3cb9d786 + .long 0x3f7eb79a, 0x3cb42ddb + .long 0x3f7ec2b1, 0x3caeaae6 + .long 0x3f7ecd71, 0x3ca94dcf + .long 0x3f7ed7dc, 0x3ca415c2 + .long 0x3f7ee1f4, 0x3c9f01ec + .long 0x3f7eebbd, 0x3c9a117f + .long 0x3f7ef537, 0x3c9543ae + .long 0x3f7efe66, 0x3c9097b1 + .long 0x3f7f074b, 0x3c8c0cc2 + .long 0x3f7f0fe8, 0x3c87a21f + .long 0x3f7f1840, 0x3c83570a + .long 0x3f7f2053, 0x3c7e558a + .long 0x3f7f2826, 0x3c763931 + .long 0x3f7f2fb8, 0x3c6e579b + .long 0x3f7f370c, 0x3c66af65 + .long 0x3f7f3e23, 0x3c5f3f2d + .long 0x3f7f4500, 0x3c58059c + .long 0x3f7f4ba4, 0x3c51015f + .long 0x3f7f5211, 0x3c4a3127 + .long 0x3f7f5848, 0x3c4393af + .long 0x3f7f5e4b, 0x3c3d27b5 + .long 0x3f7f641b, 0x3c36ebff + .long 0x3f7f69ba, 0x3c30df57 + .long 0x3f7f6f29, 0x3c2b008e + .long 0x3f7f746a, 0x3c254e7b + .long 0x3f7f797f, 0x3c1fc7fb + .long 0x3f7f7e67, 0x3c1a6bee + .long 0x3f7f8326, 0x3c15393d + .long 0x3f7f87bb, 0x3c102ed6 + .long 0x3f7f8c29, 0x3c0b4bab + .long 0x3f7f9070, 0x3c068eb5 + .long 0x3f7f9492, 0x3c01f6f1 + .long 0x3f7f9890, 0x3bfb06c5 + .long 0x3f7f9c6b, 0x3bf26625 + .long 0x3f7fa024, 0x3bea0a1d + .long 0x3f7fa3bc, 0x3be1f0d3 + .long 0x3f7fa734, 0x3bda1876 + .long 0x3f7faa8d, 0x3bd27f42 + .long 0x3f7fadc8, 0x3bcb237a + .long 0x3f7fb0e6, 0x3bc4036c + .long 0x3f7fb3e8, 0x3bbd1d6f + .long 0x3f7fb6cf, 0x3bb66fe6 + .long 0x3f7fb99c, 0x3baff93b + .long 0x3f7fbc4f, 0x3ba9b7e1 + .long 0x3f7fbeea, 0x3ba3aa56 + .long 0x3f7fc16d, 0x3b9dcf20 + .long 0x3f7fc3d9, 0x3b9824ce + .long 0x3f7fc62e, 0x3b92a9f7 + .long 0x3f7fc86e, 0x3b8d5d3c + .long 0x3f7fca99, 0x3b883d46 + .long 0x3f7fccb0, 0x3b8348c6 + .long 0x3f7fceb4, 0x3b7cfce8 + .long 0x3f7fd0a5, 0x3b73ba24 + .long 0x3f7fd283, 0x3b6ac6d3 + .long 0x3f7fd450, 0x3b622096 + .long 0x3f7fd60c, 0x3b59c51d + .long 0x3f7fd7b7, 0x3b51b22a + .long 0x3f7fd953, 0x3b49e589 + .long 0x3f7fdadf, 0x3b425d18 + .long 0x3f7fdc5c, 0x3b3b16c2 + .long 0x3f7fddcc, 0x3b341080 + .long 0x3f7fdf2d, 0x3b2d4858 + .long 0x3f7fe081, 0x3b26bc5e + .long 0x3f7fe1c8, 0x3b206ab2 + .long 0x3f7fe303, 0x3b1a5183 + .long 0x3f7fe431, 0x3b146f09 + .long 0x3f7fe554, 0x3b0ec18c + .long 0x3f7fe66c, 0x3b09475d + .long 0x3f7fe77a, 0x3b03feda + .long 0x3f7fe87d, 0x3afdccdc + .long 0x3f7fe975, 0x3af3f919 + .long 0x3f7fea65, 0x3aea7f6c + .long 0x3f7feb4b, 0x3ae15ce8 + .long 0x3f7fec27, 0x3ad88eb8 + .long 0x3f7fecfc, 0x3ad0121b + .long 0x3f7fedc8, 0x3ac7e464 + .long 0x3f7fee8c, 0x3ac002f8 + .long 0x3f7fef48, 0x3ab86b52 + .long 0x3f7feffd, 0x3ab11afe + .long 0x3f7ff0aa, 0x3aaa0f9a + .long 0x3f7ff151, 0x3aa346d7 + .long 0x3f7ff1f1, 0x3a9cbe77 + .long 0x3f7ff28a, 0x3a96744c + .long 0x3f7ff31e, 0x3a90663b + .long 0x3f7ff3ab, 0x3a8a9237 + .long 0x3f7ff433, 0x3a84f643 + .long 0x3f7ff4b5, 0x3a7f20e7 + .long 0x3f7ff532, 0x3a74bdd2 + .long 0x3f7ff5aa, 0x3a6abfa9 + .long 0x3f7ff61d, 0x3a6122ea + .long 0x3f7ff68b, 0x3a57e42f + .long 0x3f7ff6f5, 0x3a4f002c + .long 0x3f7ff75a, 0x3a4673af + .long 0x3f7ff7bb, 0x3a3e3ba2 + .long 0x3f7ff819, 0x3a365507 + .long 0x3f7ff872, 0x3a2ebcf6 + .long 0x3f7ff8c7, 0x3a2770a1 + .long 0x3f7ff919, 0x3a206d52 + .long 0x3f7ff968, 0x3a19b066 + .long 0x3f7ff9b3, 0x3a133754 + .long 0x3f7ff9fb, 0x3a0cffa3 + .long 0x3f7ffa40, 0x3a0706f4 + .long 0x3f7ffa82, 0x3a014af8 + .long 0x3f7ffac1, 0x39f792ea + .long 0x3f7ffafe, 0x39ed0088 + .long 0x3f7ffb38, 0x39e2daa1 + .long 0x3f7ffb6f, 0x39d91d2d + .long 0x3f7ffba5, 0x39cfc44a + .long 0x3f7ffbd7, 0x39c6cc35 + .long 0x3f7ffc08, 0x39be314d + .long 0x3f7ffc36, 0x39b5f011 + .long 0x3f7ffc63, 0x39ae051c + .long 0x3f7ffc8e, 0x39a66d2a + .long 0x3f7ffcb6, 0x399f2512 + .long 0x3f7ffcdd, 0x399829c8 + .long 0x3f7ffd02, 0x3991785a + .long 0x3f7ffd26, 0x398b0df2 + .long 0x3f7ffd48, 0x3984e7d2 + .long 0x3f7ffd68, 0x397e06ab + .long 0x3f7ffd87, 0x3972bbde + .long 0x3f7ffda5, 0x3967ea53 + .long 0x3f7ffdc1, 0x395d8d4b + .long 0x3f7ffddc, 0x3953a034 + .long 0x3f7ffdf6, 0x394a1ea5 + .long 0x3f7ffe0f, 0x3941045e + .long 0x3f7ffe27, 0x39384d47 + .long 0x3f7ffe3d, 0x392ff56d + .long 0x3f7ffe53, 0x3927f904 + .long 0x3f7ffe67, 0x39205461 + .long 0x3f7ffe7b, 0x391903fe + .long 0x3f7ffe8d, 0x39120475 + .long 0x3f7ffe9f, 0x390b5281 + .long 0x3f7ffeb0, 0x3904eafc + .long 0x3f7ffec0, 0x38fd95bd + .long 0x3f7ffed0, 0x38f1de7a + .long 0x3f7ffedf, 0x38e6aa94 + .long 0x3f7ffeed, 0x38dbf4a3 + .long 0x3f7ffefa, 0x38d1b776 + .long 0x3f7fff07, 0x38c7ee0e + .long 0x3f7fff13, 0x38be939c + .long 0x3f7fff1f, 0x38b5a381 + .long 0x3f7fff2a, 0x38ad194e + .long 0x3f7fff34, 0x38a4f0bc + .long 0x3f7fff3f, 0x389d25b0 + .long 0x3f7fff48, 0x3895b43b + .long 0x3f7fff51, 0x388e9890 + .long 0x3f7fff5a, 0x3887cf0e + .long 0x3f7fff62, 0x38815434 + .long 0x3f7fff6a, 0x3876494d + .long 0x3f7fff72, 0x386a7a5a + .long 0x3f7fff79, 0x385f355e + .long 0x3f7fff80, 0x38547466 + .long 0x3f7fff86, 0x384a31bf + .long 0x3f7fff8c, 0x384067ee + .long 0x3f7fff92, 0x383711b4 + .long 0x3f7fff98, 0x382e2a06 + .long 0x3f7fff9d, 0x3825ac0e + .long 0x3f7fffa2, 0x381d9329 + .long 0x3f7fffa7, 0x3815dae6 + .long 0x3f7fffab, 0x380e7f01 + .long 0x3f7fffb0, 0x38077b62 + .long 0x3f7fffb4, 0x3800cc21 + .long 0x3f7fffb8, 0x37f4daf4 + .long 0x3f7fffbc, 0x37e8b7ac + .long 0x3f7fffbf, 0x37dd2782 + .long 0x3f7fffc2, 0x37d223dc + .long 0x3f7fffc6, 0x37c7a666 + .long 0x3f7fffc9, 0x37bda912 + .long 0x3f7fffcc, 0x37b42611 + .long 0x3f7fffce, 0x37ab17d6 + .long 0x3f7fffd1, 0x37a2790f + .long 0x3f7fffd3, 0x379a44a5 + .long 0x3f7fffd6, 0x379275b9 + .long 0x3f7fffd8, 0x378b07a2 + .long 0x3f7fffda, 0x3783f5e9 + .long 0x3f7fffdc, 0x377a7897 + .long 0x3f7fffde, 0x376dad68 + .long 0x3f7fffe0, 0x37618278 + .long 0x3f7fffe2, 0x3755f04f + .long 0x3f7fffe3, 0x374aefcc + .long 0x3f7fffe5, 0x37407a1d + .long 0x3f7fffe6, 0x373688bc + .long 0x3f7fffe8, 0x372d1570 + .long 0x3f7fffe9, 0x37241a44 + .long 0x3f7fffea, 0x371b9188 + .long 0x3f7fffeb, 0x371375cf + .long 0x3f7fffec, 0x370bc1e7 + .long 0x3f7fffee, 0x370470dd + .long 0x3f7fffef, 0x36fafbec + .long 0x3f7fffef, 0x36edc95b + .long 0x3f7ffff0, 0x36e14167 + .long 0x3f7ffff1, 0x36d55bd6 + .long 0x3f7ffff2, 0x36ca10ce + .long 0x3f7ffff3, 0x36bf58d1 + .long 0x3f7ffff4, 0x36b52cb9 + .long 0x3f7ffff4, 0x36ab85b5 + .long 0x3f7ffff5, 0x36a25d43 + .long 0x3f7ffff5, 0x3699ad31 + .long 0x3f7ffff6, 0x36916f95 + .long 0x3f7ffff7, 0x36899ecb + .long 0x3f7ffff7, 0x36823575 + .long 0x3f7ffff8, 0x36765ce8 + .long 0x3f7ffff8, 0x366909cc + .long 0x3f7ffff9, 0x365c684a + .long 0x3f7ffff9, 0x36506f88 + .long 0x3f7ffff9, 0x36451713 + .long 0x3f7ffffa, 0x363a56e4 + .long 0x3f7ffffa, 0x36302754 + .long 0x3f7ffffa, 0x36268119 + .long 0x3f7ffffb, 0x361d5d43 + .long 0x3f7ffffb, 0x3614b538 + .long 0x3f7ffffb, 0x360c82b1 + .long 0x3f7ffffc, 0x3604bfb1 + .long 0x3f7ffffc, 0x35facd10 + .long 0x3f7ffffc, 0x35ece39b + .long 0x3f7ffffc, 0x35dfb8b6 + .long 0x3f7ffffd, 0x35d34296 + .long 0x3f7ffffd, 0x35c777ec + .long 0x3f7ffffd, 0x35bc4fdc + .long 0x3f7ffffd, 0x35b1c1fc + .long 0x3f7ffffd, 0x35a7c64b + .long 0x3f7ffffd, 0x359e5531 + .long 0x3f7ffffe, 0x35956771 + .long 0x3f7ffffe, 0x358cf630 + .long 0x3f7ffffe, 0x3584fae8 + .long 0x3f7ffffe, 0x357adecb + .long 0x3f7ffffe, 0x356c9b8f + .long 0x3f7ffffe, 0x355f20ef + .long 0x3f7ffffe, 0x3552644f + .long 0x3f7ffffe, 0x35465b9c + .long 0x3f7fffff, 0x353afd47 + .long 0x3f7fffff, 0x3530403c + .long 0x3f7fffff, 0x35261be0 + .long 0x3f7fffff, 0x351c8807 + .long 0x3f7fffff, 0x35137cf0 + .long 0x3f7fffff, 0x350af341 + .long 0x3f7fffff, 0x3502e402 + .long 0x3f7fffff, 0x34f6912a + .long 0x3f7fffff, 0x34e8356b + .long 0x3f7fffff, 0x34daa8e4 + .long 0x3f7fffff, 0x34cde050 + .long 0x3f7fffff, 0x34c1d100 + .long 0x3f7fffff, 0x34b670d5 + .long 0x3f7fffff, 0x34abb639 + .long 0x3f7fffff, 0x34a19816 + .long 0x3f7fffff, 0x34980dd1 + .long 0x3f7fffff, 0x348f0f43 + .long 0x3f7fffff, 0x348694b3 + .long 0x3f800000, 0x347d2da8 + .long 0x3f800000, 0x346e1d72 + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ + .align 16 + .long 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000 /* _MaxThreshold */ + .align 16 + .long 0x47800000, 0x47800000, 0x47800000, 0x47800000 /* _SRound */ + .align 16 + .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 /* _U2THreshold */ + .align 16 + .long 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade /* _poly_3_0 */ + .align 16 + .type __svml_serf_data_internal, @object + .size __svml_serf_data_internal, .-__svml_serf_data_internal From patchwork Mon Mar 7 15:00:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602376 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=kOiwo9zm; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Tk123Xz9sFt for ; Tue, 8 Mar 2022 03:15:38 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E0DDF3858438 for ; Mon, 7 Mar 2022 16:15:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E0DDF3858438 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669735; bh=MgXCECmeVd0C/96v4njgNJ75jVs5fo1EoY3QO7LwCCI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=kOiwo9zmttgzJjeDqmldkhSwSdJ0Qkk+pGnWXaI/okZSbFZGzpnNWVFihw5Y0fDlm 8btFQB1uC41fAAEJakgnxep+tyM0Kki2lhKe9lVDhpkfP7MpocgP8yd+ptlCi04JXQ OdpyYfVgA2wSbfpg6pfey8btk4lLAMWJisTfUnfk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 01BF3385843F for ; Mon, 7 Mar 2022 15:03:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 01BF3385843F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017252" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017252" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="546915103" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga007.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eV016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 057/126] x86_64: Fix svml_s_erff8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:52 -0800 Message-Id: <20220307150201.10590-58-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_erff8_core_avx2.S | 1218 ++++++++--------- 1 file changed, 608 insertions(+), 610 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S index 33d227f17e..405d6cb41a 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erff8_core_avx2.S @@ -33,637 +33,635 @@ /* Offsets for data table __svml_serf_data_internal */ -#define _erf_tbl 0 -#define _AbsMask 4032 -#define _MaxThreshold 4064 -#define _SRound 4096 -#define _U2Threshold 4128 -#define _poly3_0 4160 +#define _erf_tbl 0 +#define _AbsMask 4032 +#define _MaxThreshold 4064 +#define _SRound 4096 +#define _U2Threshold 4128 +#define _poly3_0 4160 /* Lookup bias for data table __svml_serf_data_internal. */ -#define Table_Lookup_Bias -0x3c000000 +#define Table_Lookup_Bias -0x3c000000 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_erff_avx2) - lea Table_Lookup_Bias+__svml_serf_data_internal(%rip), %rax + lea Table_Lookup_Bias+__svml_serf_data_internal(%rip), %rax -/* - * vector gather: - * erf(x0), exp(-x0*x0)*2.0/sqrt(pi) - */ - vmovups _SRound+__svml_serf_data_internal(%rip), %ymm7 - vandps _AbsMask+__svml_serf_data_internal(%rip), %ymm0, %ymm6 + /* + * vector gather: + * erf(x0), exp(-x0*x0)*2.0/sqrt(pi) + */ + vmovups _SRound+__svml_serf_data_internal(%rip), %ymm7 + vandps _AbsMask+__svml_serf_data_internal(%rip), %ymm0, %ymm6 -/* - * erf(x) rounds to 1.0 for x>_MaxThreshold (3.9375) - * can compute all results in the main path - */ - vminps _MaxThreshold+__svml_serf_data_internal(%rip), %ymm6, %ymm8 - vaddps %ymm7, %ymm8, %ymm10 - vcmpgt_oqps _U2Threshold+__svml_serf_data_internal(%rip), %ymm8, %ymm9 - vpslld $3, %ymm10, %ymm11 - vsubps %ymm7, %ymm10, %ymm4 - vsubps %ymm4, %ymm8, %ymm3 - vandps %ymm9, %ymm3, %ymm2 + /* + * erf(x) rounds to 1.0 for x>_MaxThreshold (3.9375) + * can compute all results in the main path + */ + vminps _MaxThreshold+__svml_serf_data_internal(%rip), %ymm6, %ymm8 + vaddps %ymm7, %ymm8, %ymm10 + vcmpgt_oqps _U2Threshold+__svml_serf_data_internal(%rip), %ymm8, %ymm9 + vpslld $3, %ymm10, %ymm11 + vsubps %ymm7, %ymm10, %ymm4 + vsubps %ymm4, %ymm8, %ymm3 + vandps %ymm9, %ymm3, %ymm2 -/* NaN fixup */ - vminps %ymm6, %ymm3, %ymm3 + /* NaN fixup */ + vminps %ymm6, %ymm3, %ymm3 -/* D2 = Diff^2 */ - vmulps %ymm2, %ymm2, %ymm2 + /* D2 = Diff^2 */ + vmulps %ymm2, %ymm2, %ymm2 -/* save sign */ - vxorps %ymm0, %ymm6, %ymm5 - vmovd %xmm11, %edx - vextractf128 $1, %ymm11, %xmm12 - vpextrd $2, %xmm11, %esi - movslq %edx, %rdx - movslq %esi, %rsi - vmovd %xmm12, %r8d - vmovq (%rax,%rdx), %xmm13 - vmovq (%rax,%rsi), %xmm14 - vunpcklps %xmm14, %xmm13, %xmm10 - vmovups _poly3_0+__svml_serf_data_internal(%rip), %ymm14 - vpextrd $1, %xmm11, %ecx - vpextrd $3, %xmm11, %edi - vpextrd $1, %xmm12, %r9d - vpextrd $2, %xmm12, %r10d - vpextrd $3, %xmm12, %r11d + /* save sign */ + vxorps %ymm0, %ymm6, %ymm5 + vmovd %xmm11, %edx + vextractf128 $1, %ymm11, %xmm12 + vpextrd $2, %xmm11, %esi + movslq %edx, %rdx + movslq %esi, %rsi + vmovd %xmm12, %r8d + vmovq (%rax, %rdx), %xmm13 + vmovq (%rax, %rsi), %xmm14 + vunpcklps %xmm14, %xmm13, %xmm10 + vmovups _poly3_0+__svml_serf_data_internal(%rip), %ymm14 + vpextrd $1, %xmm11, %ecx + vpextrd $3, %xmm11, %edi + vpextrd $1, %xmm12, %r9d + vpextrd $2, %xmm12, %r10d + vpextrd $3, %xmm12, %r11d -/* - * Start polynomial evaluation - * P1 - */ - vfmsub231ps %ymm14, %ymm3, %ymm4 - movslq %ecx, %rcx - movslq %edi, %rdi - movslq %r8d, %r8 - movslq %r9d, %r9 - movslq %r10d, %r10 - movslq %r11d, %r11 - vmovq (%rax,%rcx), %xmm1 - vmovq (%rax,%rdi), %xmm15 + /* + * Start polynomial evaluation + * P1 + */ + vfmsub231ps %ymm14, %ymm3, %ymm4 + movslq %ecx, %rcx + movslq %edi, %rdi + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %r11d, %r11 + vmovq (%rax, %rcx), %xmm1 + vmovq (%rax, %rdi), %xmm15 -/* - * branch-free - * (exp_h(x0) * Diff) * (poly + 1.0) - */ - vfmadd213ps %ymm3, %ymm2, %ymm4 - vmovq (%rax,%r8), %xmm7 - vmovq (%rax,%r9), %xmm0 - vmovq (%rax,%r10), %xmm8 - vmovq (%rax,%r11), %xmm9 - vunpcklps %xmm15, %xmm1, %xmm11 - vunpcklps %xmm8, %xmm7, %xmm1 - vunpcklps %xmm9, %xmm0, %xmm0 - vinsertf128 $1, %xmm1, %ymm10, %ymm12 - vinsertf128 $1, %xmm0, %ymm11, %ymm13 - vunpcklps %ymm13, %ymm12, %ymm0 - vunpckhps %ymm13, %ymm12, %ymm15 + /* + * branch-free + * (exp_h(x0) * Diff) * (poly + 1.0) + */ + vfmadd213ps %ymm3, %ymm2, %ymm4 + vmovq (%rax, %r8), %xmm7 + vmovq (%rax, %r9), %xmm0 + vmovq (%rax, %r10), %xmm8 + vmovq (%rax, %r11), %xmm9 + vunpcklps %xmm15, %xmm1, %xmm11 + vunpcklps %xmm8, %xmm7, %xmm1 + vunpcklps %xmm9, %xmm0, %xmm0 + vinsertf128 $1, %xmm1, %ymm10, %ymm12 + vinsertf128 $1, %xmm0, %ymm11, %ymm13 + vunpcklps %ymm13, %ymm12, %ymm0 + vunpckhps %ymm13, %ymm12, %ymm15 -/* Final result */ - vfmadd213ps %ymm0, %ymm15, %ymm4 + /* Final result */ + vfmadd213ps %ymm0, %ymm15, %ymm4 -/* set sign */ - vorps %ymm5, %ymm4, %ymm0 - ret + /* set sign */ + vorps %ymm5, %ymm4, %ymm0 + ret END(_ZGVdN8v_erff_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_serf_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _erf_tbl[1008][1]; - __declspec(align(32)) VUINT32 _AbsMask[8][1]; - __declspec(align(32)) VUINT32 _MaxThreshold[8][1]; - __declspec(align(32)) VUINT32 _SRound[8][1]; - __declspec(align(32)) VUINT32 _U2Threshold[8][1]; - __declspec(align(32)) VUINT32 _poly3_0[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _erf_tbl[1008][1]; + __declspec(align(32)) VUINT32 _AbsMask[8][1]; + __declspec(align(32)) VUINT32 _MaxThreshold[8][1]; + __declspec(align(32)) VUINT32 _SRound[8][1]; + __declspec(align(32)) VUINT32 _U2Threshold[8][1]; + __declspec(align(32)) VUINT32 _poly3_0[8][1]; } __svml_serf_data_internal; #endif __svml_serf_data_internal: - /*== _erf_tbl ==*/ - .long 0x00000000, 0x3f906ebb - .long 0x3c106dfa, 0x3f906c79 - .long 0x3c906bb8, 0x3f9065b4 - .long 0x3cd89bf0, 0x3f905a6c - .long 0x3d1062b2, 0x3f904aa3 - .long 0x3d3472ea, 0x3f90365a - .long 0x3d587d7f, 0x3f901d93 - .long 0x3d7c8154, 0x3f900050 - .long 0x3d903ea4, 0x3f8fde94 - .long 0x3da2381f, 0x3f8fb862 - .long 0x3db42c8d, 0x3f8f8dbd - .long 0x3dc61b5f, 0x3f8f5eab - .long 0x3dd80409, 0x3f8f2b2e - .long 0x3de9e5fc, 0x3f8ef34c - .long 0x3dfbc0ad, 0x3f8eb70a - .long 0x3e06c9c8, 0x3f8e766e - .long 0x3e0faf0d, 0x3f8e317d - .long 0x3e188fe1, 0x3f8de83e - .long 0x3e216bfe, 0x3f8d9ab9 - .long 0x3e2a4321, 0x3f8d48f3 - .long 0x3e331506, 0x3f8cf2f5 - .long 0x3e3be169, 0x3f8c98c6 - .long 0x3e44a808, 0x3f8c3a6f - .long 0x3e4d68a1, 0x3f8bd7f8 - .long 0x3e5622f2, 0x3f8b716c - .long 0x3e5ed6b9, 0x3f8b06d2 - .long 0x3e6783b7, 0x3f8a9834 - .long 0x3e7029aa, 0x3f8a259e - .long 0x3e78c855, 0x3f89af18 - .long 0x3e80afbc, 0x3f8934af - .long 0x3e84f76b, 0x3f88b66c - .long 0x3e893b19, 0x3f88345d - .long 0x3e8d7aa7, 0x3f87ae8b - .long 0x3e91b5f8, 0x3f872504 - .long 0x3e95ecee, 0x3f8697d3 - .long 0x3e9a1f6b, 0x3f860705 - .long 0x3e9e4d54, 0x3f8572a8 - .long 0x3ea2768c, 0x3f84dac8 - .long 0x3ea69af8, 0x3f843f72 - .long 0x3eaaba7a, 0x3f83a0b6 - .long 0x3eaed4fa, 0x3f82fe9f - .long 0x3eb2ea5c, 0x3f82593e - .long 0x3eb6fa85, 0x3f81b0a0 - .long 0x3ebb055d, 0x3f8104d3 - .long 0x3ebf0aca, 0x3f8055e8 - .long 0x3ec30ab3, 0x3f7f47d8 - .long 0x3ec70501, 0x3f7ddddf - .long 0x3ecaf99b, 0x3f7c6e05 - .long 0x3ecee869, 0x3f7af867 - .long 0x3ed2d156, 0x3f797d26 - .long 0x3ed6b44b, 0x3f77fc62 - .long 0x3eda9132, 0x3f76763c - .long 0x3ede67f6, 0x3f74ead4 - .long 0x3ee23882, 0x3f735a4c - .long 0x3ee602c2, 0x3f71c4c4 - .long 0x3ee9c6a2, 0x3f702a5f - .long 0x3eed840e, 0x3f6e8b3e - .long 0x3ef13af5, 0x3f6ce783 - .long 0x3ef4eb45, 0x3f6b3f51 - .long 0x3ef894ea, 0x3f6992c9 - .long 0x3efc37d5, 0x3f67e20f - .long 0x3effd3f5, 0x3f662d45 - .long 0x3f01b49d, 0x3f64748e - .long 0x3f037bca, 0x3f62b80d - .long 0x3f053f7b, 0x3f60f7e5 - .long 0x3f06ffa8, 0x3f5f3439 - .long 0x3f08bc4a, 0x3f5d6d2d - .long 0x3f0a755a, 0x3f5ba2e3 - .long 0x3f0c2ad3, 0x3f59d57e - .long 0x3f0ddcae, 0x3f580523 - .long 0x3f0f8ae6, 0x3f5631f4 - .long 0x3f113574, 0x3f545c14 - .long 0x3f12dc54, 0x3f5283a7 - .long 0x3f147f81, 0x3f50a8cf - .long 0x3f161ef6, 0x3f4ecbb1 - .long 0x3f17baae, 0x3f4cec6d - .long 0x3f1952a6, 0x3f4b0b28 - .long 0x3f1ae6da, 0x3f492804 - .long 0x3f1c7745, 0x3f474323 - .long 0x3f1e03e5, 0x3f455ca8 - .long 0x3f1f8cb7, 0x3f4374b5 - .long 0x3f2111b7, 0x3f418b6b - .long 0x3f2292e4, 0x3f3fa0ee - .long 0x3f24103a, 0x3f3db55e - .long 0x3f2589b9, 0x3f3bc8dc - .long 0x3f26ff5d, 0x3f39db8a - .long 0x3f287126, 0x3f37ed89 - .long 0x3f29df13, 0x3f35fef8 - .long 0x3f2b4922, 0x3f340ff9 - .long 0x3f2caf53, 0x3f3220ab - .long 0x3f2e11a4, 0x3f30312e - .long 0x3f2f7017, 0x3f2e41a1 - .long 0x3f30caab, 0x3f2c5223 - .long 0x3f322160, 0x3f2a62d3 - .long 0x3f337437, 0x3f2873cf - .long 0x3f34c32f, 0x3f268534 - .long 0x3f360e4c, 0x3f249721 - .long 0x3f37558c, 0x3f22a9b3 - .long 0x3f3898f3, 0x3f20bd06 - .long 0x3f39d881, 0x3f1ed137 - .long 0x3f3b1438, 0x3f1ce661 - .long 0x3f3c4c1b, 0x3f1afca0 - .long 0x3f3d802c, 0x3f19140f - .long 0x3f3eb06c, 0x3f172cc9 - .long 0x3f3fdce0, 0x3f1546e7 - .long 0x3f410589, 0x3f136284 - .long 0x3f422a6b, 0x3f117fb9 - .long 0x3f434b89, 0x3f0f9e9e - .long 0x3f4468e7, 0x3f0dbf4c - .long 0x3f458287, 0x3f0be1db - .long 0x3f46986f, 0x3f0a0662 - .long 0x3f47aaa2, 0x3f082cf7 - .long 0x3f48b925, 0x3f0655b1 - .long 0x3f49c3fb, 0x3f0480a6 - .long 0x3f4acb29, 0x3f02adeb - .long 0x3f4bceb4, 0x3f00dd96 - .long 0x3f4ccea1, 0x3efe1f73 - .long 0x3f4dcaf4, 0x3efa88d5 - .long 0x3f4ec3b4, 0x3ef6f777 - .long 0x3f4fb8e5, 0x3ef36b80 - .long 0x3f50aa8d, 0x3eefe513 - .long 0x3f5198b1, 0x3eec6455 - .long 0x3f528358, 0x3ee8e968 - .long 0x3f536a86, 0x3ee5746d - .long 0x3f544e43, 0x3ee20584 - .long 0x3f552e93, 0x3ede9ccc - .long 0x3f560b7e, 0x3edb3a64 - .long 0x3f56e50a, 0x3ed7de6a - .long 0x3f57bb3d, 0x3ed488f8 - .long 0x3f588e1e, 0x3ed13a2b - .long 0x3f595db4, 0x3ecdf21c - .long 0x3f5a2a05, 0x3ecab0e4 - .long 0x3f5af318, 0x3ec7769b - .long 0x3f5bb8f4, 0x3ec44359 - .long 0x3f5c7ba1, 0x3ec11733 - .long 0x3f5d3b25, 0x3ebdf23d - .long 0x3f5df788, 0x3ebad48d - .long 0x3f5eb0d1, 0x3eb7be35 - .long 0x3f5f6707, 0x3eb4af46 - .long 0x3f601a32, 0x3eb1a7d3 - .long 0x3f60ca59, 0x3eaea7ea - .long 0x3f617784, 0x3eabaf9a - .long 0x3f6221bb, 0x3ea8bef3 - .long 0x3f62c905, 0x3ea5d600 - .long 0x3f636d69, 0x3ea2f4ce - .long 0x3f640ef1, 0x3ea01b68 - .long 0x3f64ada3, 0x3e9d49d9 - .long 0x3f654987, 0x3e9a8029 - .long 0x3f65e2a6, 0x3e97be62 - .long 0x3f667906, 0x3e95048b - .long 0x3f670cb1, 0x3e9252aa - .long 0x3f679dae, 0x3e8fa8c5 - .long 0x3f682c06, 0x3e8d06e3 - .long 0x3f68b7bf, 0x3e8a6d05 - .long 0x3f6940e2, 0x3e87db31 - .long 0x3f69c778, 0x3e855168 - .long 0x3f6a4b88, 0x3e82cfad - .long 0x3f6acd1a, 0x3e805600 - .long 0x3f6b4c36, 0x3e7bc8c2 - .long 0x3f6bc8e5, 0x3e76f5a0 - .long 0x3f6c432f, 0x3e723298 - .long 0x3f6cbb1b, 0x3e6d7fa5 - .long 0x3f6d30b1, 0x3e68dcc1 - .long 0x3f6da3fa, 0x3e6449e7 - .long 0x3f6e14fe, 0x3e5fc70e - .long 0x3f6e83c4, 0x3e5b542b - .long 0x3f6ef055, 0x3e56f136 - .long 0x3f6f5ab8, 0x3e529e21 - .long 0x3f6fc2f5, 0x3e4e5adf - .long 0x3f702915, 0x3e4a2761 - .long 0x3f708d1f, 0x3e460399 - .long 0x3f70ef1b, 0x3e41ef75 - .long 0x3f714f11, 0x3e3deae4 - .long 0x3f71ad09, 0x3e39f5d2 - .long 0x3f72090a, 0x3e36102b - .long 0x3f72631c, 0x3e3239db - .long 0x3f72bb46, 0x3e2e72cb - .long 0x3f731191, 0x3e2abae4 - .long 0x3f736604, 0x3e27120f - .long 0x3f73b8a5, 0x3e237833 - .long 0x3f74097e, 0x3e1fed36 - .long 0x3f745895, 0x3e1c70fd - .long 0x3f74a5f2, 0x3e19036e - .long 0x3f74f19b, 0x3e15a46d - .long 0x3f753b98, 0x3e1253dc - .long 0x3f7583f1, 0x3e0f119f - .long 0x3f75caac, 0x3e0bdd96 - .long 0x3f760fd1, 0x3e08b7a4 - .long 0x3f765366, 0x3e059fa9 - .long 0x3f769573, 0x3e029586 - .long 0x3f76d5fe, 0x3dff3230 - .long 0x3f77150f, 0x3df95481 - .long 0x3f7752ab, 0x3df391b9 - .long 0x3f778eda, 0x3dede995 - .long 0x3f77c9a2, 0x3de85bd0 - .long 0x3f78030a, 0x3de2e825 - .long 0x3f783b18, 0x3ddd8e4c - .long 0x3f7871d3, 0x3dd84dfe - .long 0x3f78a741, 0x3dd326f3 - .long 0x3f78db68, 0x3dce18e3 - .long 0x3f790e50, 0x3dc92385 - .long 0x3f793ffc, 0x3dc4468f - .long 0x3f797075, 0x3dbf81b6 - .long 0x3f799fbf, 0x3dbad4b0 - .long 0x3f79cde1, 0x3db63f32 - .long 0x3f79fae1, 0x3db1c0f1 - .long 0x3f7a26c4, 0x3dad59a1 - .long 0x3f7a518f, 0x3da908f6 - .long 0x3f7a7b4a, 0x3da4cea4 - .long 0x3f7aa3f9, 0x3da0aa5e - .long 0x3f7acba1, 0x3d9c9bd9 - .long 0x3f7af248, 0x3d98a2c7 - .long 0x3f7b17f4, 0x3d94bedd - .long 0x3f7b3ca9, 0x3d90efcd - .long 0x3f7b606e, 0x3d8d354b - .long 0x3f7b8346, 0x3d898f0a - .long 0x3f7ba537, 0x3d85fcbf - .long 0x3f7bc646, 0x3d827e1d - .long 0x3f7be677, 0x3d7e25af - .long 0x3f7c05d1, 0x3d777546 - .long 0x3f7c2456, 0x3d70ea68 - .long 0x3f7c420d, 0x3d6a847d - .long 0x3f7c5ef9, 0x3d6442f0 - .long 0x3f7c7b1f, 0x3d5e252a - .long 0x3f7c9684, 0x3d582a98 - .long 0x3f7cb12b, 0x3d5252a5 - .long 0x3f7ccb1a, 0x3d4c9cbd - .long 0x3f7ce454, 0x3d47084e - .long 0x3f7cfcdd, 0x3d4194c7 - .long 0x3f7d14ba, 0x3d3c4196 - .long 0x3f7d2bef, 0x3d370e2c - .long 0x3f7d427f, 0x3d31f9fb - .long 0x3f7d586f, 0x3d2d0474 - .long 0x3f7d6dc2, 0x3d282d0c - .long 0x3f7d827b, 0x3d237336 - .long 0x3f7d96a0, 0x3d1ed669 - .long 0x3f7daa32, 0x3d1a561b - .long 0x3f7dbd36, 0x3d15f1c6 - .long 0x3f7dcfb0, 0x3d11a8e1 - .long 0x3f7de1a2, 0x3d0d7ae9 - .long 0x3f7df30f, 0x3d09675a - .long 0x3f7e03fd, 0x3d056db0 - .long 0x3f7e146c, 0x3d018d6b - .long 0x3f7e2461, 0x3cfb8c15 - .long 0x3f7e33de, 0x3cf42e22 - .long 0x3f7e42e8, 0x3ced0003 - .long 0x3f7e517f, 0x3ce600c0 - .long 0x3f7e5fa9, 0x3cdf2f67 - .long 0x3f7e6d66, 0x3cd88b05 - .long 0x3f7e7abb, 0x3cd212ad - .long 0x3f7e87aa, 0x3ccbc574 - .long 0x3f7e9435, 0x3cc5a273 - .long 0x3f7ea05f, 0x3cbfa8c4 - .long 0x3f7eac2b, 0x3cb9d786 - .long 0x3f7eb79a, 0x3cb42ddb - .long 0x3f7ec2b1, 0x3caeaae6 - .long 0x3f7ecd71, 0x3ca94dcf - .long 0x3f7ed7dc, 0x3ca415c2 - .long 0x3f7ee1f4, 0x3c9f01ec - .long 0x3f7eebbd, 0x3c9a117f - .long 0x3f7ef537, 0x3c9543ae - .long 0x3f7efe66, 0x3c9097b1 - .long 0x3f7f074b, 0x3c8c0cc2 - .long 0x3f7f0fe8, 0x3c87a21f - .long 0x3f7f1840, 0x3c83570a - .long 0x3f7f2053, 0x3c7e558a - .long 0x3f7f2826, 0x3c763931 - .long 0x3f7f2fb8, 0x3c6e579b - .long 0x3f7f370c, 0x3c66af65 - .long 0x3f7f3e23, 0x3c5f3f2d - .long 0x3f7f4500, 0x3c58059c - .long 0x3f7f4ba4, 0x3c51015f - .long 0x3f7f5211, 0x3c4a3127 - .long 0x3f7f5848, 0x3c4393af - .long 0x3f7f5e4b, 0x3c3d27b5 - .long 0x3f7f641b, 0x3c36ebff - .long 0x3f7f69ba, 0x3c30df57 - .long 0x3f7f6f29, 0x3c2b008e - .long 0x3f7f746a, 0x3c254e7b - .long 0x3f7f797f, 0x3c1fc7fb - .long 0x3f7f7e67, 0x3c1a6bee - .long 0x3f7f8326, 0x3c15393d - .long 0x3f7f87bb, 0x3c102ed6 - .long 0x3f7f8c29, 0x3c0b4bab - .long 0x3f7f9070, 0x3c068eb5 - .long 0x3f7f9492, 0x3c01f6f1 - .long 0x3f7f9890, 0x3bfb06c5 - .long 0x3f7f9c6b, 0x3bf26625 - .long 0x3f7fa024, 0x3bea0a1d - .long 0x3f7fa3bc, 0x3be1f0d3 - .long 0x3f7fa734, 0x3bda1876 - .long 0x3f7faa8d, 0x3bd27f42 - .long 0x3f7fadc8, 0x3bcb237a - .long 0x3f7fb0e6, 0x3bc4036c - .long 0x3f7fb3e8, 0x3bbd1d6f - .long 0x3f7fb6cf, 0x3bb66fe6 - .long 0x3f7fb99c, 0x3baff93b - .long 0x3f7fbc4f, 0x3ba9b7e1 - .long 0x3f7fbeea, 0x3ba3aa56 - .long 0x3f7fc16d, 0x3b9dcf20 - .long 0x3f7fc3d9, 0x3b9824ce - .long 0x3f7fc62e, 0x3b92a9f7 - .long 0x3f7fc86e, 0x3b8d5d3c - .long 0x3f7fca99, 0x3b883d46 - .long 0x3f7fccb0, 0x3b8348c6 - .long 0x3f7fceb4, 0x3b7cfce8 - .long 0x3f7fd0a5, 0x3b73ba24 - .long 0x3f7fd283, 0x3b6ac6d3 - .long 0x3f7fd450, 0x3b622096 - .long 0x3f7fd60c, 0x3b59c51d - .long 0x3f7fd7b7, 0x3b51b22a - .long 0x3f7fd953, 0x3b49e589 - .long 0x3f7fdadf, 0x3b425d18 - .long 0x3f7fdc5c, 0x3b3b16c2 - .long 0x3f7fddcc, 0x3b341080 - .long 0x3f7fdf2d, 0x3b2d4858 - .long 0x3f7fe081, 0x3b26bc5e - .long 0x3f7fe1c8, 0x3b206ab2 - .long 0x3f7fe303, 0x3b1a5183 - .long 0x3f7fe431, 0x3b146f09 - .long 0x3f7fe554, 0x3b0ec18c - .long 0x3f7fe66c, 0x3b09475d - .long 0x3f7fe77a, 0x3b03feda - .long 0x3f7fe87d, 0x3afdccdc - .long 0x3f7fe975, 0x3af3f919 - .long 0x3f7fea65, 0x3aea7f6c - .long 0x3f7feb4b, 0x3ae15ce8 - .long 0x3f7fec27, 0x3ad88eb8 - .long 0x3f7fecfc, 0x3ad0121b - .long 0x3f7fedc8, 0x3ac7e464 - .long 0x3f7fee8c, 0x3ac002f8 - .long 0x3f7fef48, 0x3ab86b52 - .long 0x3f7feffd, 0x3ab11afe - .long 0x3f7ff0aa, 0x3aaa0f9a - .long 0x3f7ff151, 0x3aa346d7 - .long 0x3f7ff1f1, 0x3a9cbe77 - .long 0x3f7ff28a, 0x3a96744c - .long 0x3f7ff31e, 0x3a90663b - .long 0x3f7ff3ab, 0x3a8a9237 - .long 0x3f7ff433, 0x3a84f643 - .long 0x3f7ff4b5, 0x3a7f20e7 - .long 0x3f7ff532, 0x3a74bdd2 - .long 0x3f7ff5aa, 0x3a6abfa9 - .long 0x3f7ff61d, 0x3a6122ea - .long 0x3f7ff68b, 0x3a57e42f - .long 0x3f7ff6f5, 0x3a4f002c - .long 0x3f7ff75a, 0x3a4673af - .long 0x3f7ff7bb, 0x3a3e3ba2 - .long 0x3f7ff819, 0x3a365507 - .long 0x3f7ff872, 0x3a2ebcf6 - .long 0x3f7ff8c7, 0x3a2770a1 - .long 0x3f7ff919, 0x3a206d52 - .long 0x3f7ff968, 0x3a19b066 - .long 0x3f7ff9b3, 0x3a133754 - .long 0x3f7ff9fb, 0x3a0cffa3 - .long 0x3f7ffa40, 0x3a0706f4 - .long 0x3f7ffa82, 0x3a014af8 - .long 0x3f7ffac1, 0x39f792ea - .long 0x3f7ffafe, 0x39ed0088 - .long 0x3f7ffb38, 0x39e2daa1 - .long 0x3f7ffb6f, 0x39d91d2d - .long 0x3f7ffba5, 0x39cfc44a - .long 0x3f7ffbd7, 0x39c6cc35 - .long 0x3f7ffc08, 0x39be314d - .long 0x3f7ffc36, 0x39b5f011 - .long 0x3f7ffc63, 0x39ae051c - .long 0x3f7ffc8e, 0x39a66d2a - .long 0x3f7ffcb6, 0x399f2512 - .long 0x3f7ffcdd, 0x399829c8 - .long 0x3f7ffd02, 0x3991785a - .long 0x3f7ffd26, 0x398b0df2 - .long 0x3f7ffd48, 0x3984e7d2 - .long 0x3f7ffd68, 0x397e06ab - .long 0x3f7ffd87, 0x3972bbde - .long 0x3f7ffda5, 0x3967ea53 - .long 0x3f7ffdc1, 0x395d8d4b - .long 0x3f7ffddc, 0x3953a034 - .long 0x3f7ffdf6, 0x394a1ea5 - .long 0x3f7ffe0f, 0x3941045e - .long 0x3f7ffe27, 0x39384d47 - .long 0x3f7ffe3d, 0x392ff56d - .long 0x3f7ffe53, 0x3927f904 - .long 0x3f7ffe67, 0x39205461 - .long 0x3f7ffe7b, 0x391903fe - .long 0x3f7ffe8d, 0x39120475 - .long 0x3f7ffe9f, 0x390b5281 - .long 0x3f7ffeb0, 0x3904eafc - .long 0x3f7ffec0, 0x38fd95bd - .long 0x3f7ffed0, 0x38f1de7a - .long 0x3f7ffedf, 0x38e6aa94 - .long 0x3f7ffeed, 0x38dbf4a3 - .long 0x3f7ffefa, 0x38d1b776 - .long 0x3f7fff07, 0x38c7ee0e - .long 0x3f7fff13, 0x38be939c - .long 0x3f7fff1f, 0x38b5a381 - .long 0x3f7fff2a, 0x38ad194e - .long 0x3f7fff34, 0x38a4f0bc - .long 0x3f7fff3f, 0x389d25b0 - .long 0x3f7fff48, 0x3895b43b - .long 0x3f7fff51, 0x388e9890 - .long 0x3f7fff5a, 0x3887cf0e - .long 0x3f7fff62, 0x38815434 - .long 0x3f7fff6a, 0x3876494d - .long 0x3f7fff72, 0x386a7a5a - .long 0x3f7fff79, 0x385f355e - .long 0x3f7fff80, 0x38547466 - .long 0x3f7fff86, 0x384a31bf - .long 0x3f7fff8c, 0x384067ee - .long 0x3f7fff92, 0x383711b4 - .long 0x3f7fff98, 0x382e2a06 - .long 0x3f7fff9d, 0x3825ac0e - .long 0x3f7fffa2, 0x381d9329 - .long 0x3f7fffa7, 0x3815dae6 - .long 0x3f7fffab, 0x380e7f01 - .long 0x3f7fffb0, 0x38077b62 - .long 0x3f7fffb4, 0x3800cc21 - .long 0x3f7fffb8, 0x37f4daf4 - .long 0x3f7fffbc, 0x37e8b7ac - .long 0x3f7fffbf, 0x37dd2782 - .long 0x3f7fffc2, 0x37d223dc - .long 0x3f7fffc6, 0x37c7a666 - .long 0x3f7fffc9, 0x37bda912 - .long 0x3f7fffcc, 0x37b42611 - .long 0x3f7fffce, 0x37ab17d6 - .long 0x3f7fffd1, 0x37a2790f - .long 0x3f7fffd3, 0x379a44a5 - .long 0x3f7fffd6, 0x379275b9 - .long 0x3f7fffd8, 0x378b07a2 - .long 0x3f7fffda, 0x3783f5e9 - .long 0x3f7fffdc, 0x377a7897 - .long 0x3f7fffde, 0x376dad68 - .long 0x3f7fffe0, 0x37618278 - .long 0x3f7fffe2, 0x3755f04f - .long 0x3f7fffe3, 0x374aefcc - .long 0x3f7fffe5, 0x37407a1d - .long 0x3f7fffe6, 0x373688bc - .long 0x3f7fffe8, 0x372d1570 - .long 0x3f7fffe9, 0x37241a44 - .long 0x3f7fffea, 0x371b9188 - .long 0x3f7fffeb, 0x371375cf - .long 0x3f7fffec, 0x370bc1e7 - .long 0x3f7fffee, 0x370470dd - .long 0x3f7fffef, 0x36fafbec - .long 0x3f7fffef, 0x36edc95b - .long 0x3f7ffff0, 0x36e14167 - .long 0x3f7ffff1, 0x36d55bd6 - .long 0x3f7ffff2, 0x36ca10ce - .long 0x3f7ffff3, 0x36bf58d1 - .long 0x3f7ffff4, 0x36b52cb9 - .long 0x3f7ffff4, 0x36ab85b5 - .long 0x3f7ffff5, 0x36a25d43 - .long 0x3f7ffff5, 0x3699ad31 - .long 0x3f7ffff6, 0x36916f95 - .long 0x3f7ffff7, 0x36899ecb - .long 0x3f7ffff7, 0x36823575 - .long 0x3f7ffff8, 0x36765ce8 - .long 0x3f7ffff8, 0x366909cc - .long 0x3f7ffff9, 0x365c684a - .long 0x3f7ffff9, 0x36506f88 - .long 0x3f7ffff9, 0x36451713 - .long 0x3f7ffffa, 0x363a56e4 - .long 0x3f7ffffa, 0x36302754 - .long 0x3f7ffffa, 0x36268119 - .long 0x3f7ffffb, 0x361d5d43 - .long 0x3f7ffffb, 0x3614b538 - .long 0x3f7ffffb, 0x360c82b1 - .long 0x3f7ffffc, 0x3604bfb1 - .long 0x3f7ffffc, 0x35facd10 - .long 0x3f7ffffc, 0x35ece39b - .long 0x3f7ffffc, 0x35dfb8b6 - .long 0x3f7ffffd, 0x35d34296 - .long 0x3f7ffffd, 0x35c777ec - .long 0x3f7ffffd, 0x35bc4fdc - .long 0x3f7ffffd, 0x35b1c1fc - .long 0x3f7ffffd, 0x35a7c64b - .long 0x3f7ffffd, 0x359e5531 - .long 0x3f7ffffe, 0x35956771 - .long 0x3f7ffffe, 0x358cf630 - .long 0x3f7ffffe, 0x3584fae8 - .long 0x3f7ffffe, 0x357adecb - .long 0x3f7ffffe, 0x356c9b8f - .long 0x3f7ffffe, 0x355f20ef - .long 0x3f7ffffe, 0x3552644f - .long 0x3f7ffffe, 0x35465b9c - .long 0x3f7fffff, 0x353afd47 - .long 0x3f7fffff, 0x3530403c - .long 0x3f7fffff, 0x35261be0 - .long 0x3f7fffff, 0x351c8807 - .long 0x3f7fffff, 0x35137cf0 - .long 0x3f7fffff, 0x350af341 - .long 0x3f7fffff, 0x3502e402 - .long 0x3f7fffff, 0x34f6912a - .long 0x3f7fffff, 0x34e8356b - .long 0x3f7fffff, 0x34daa8e4 - .long 0x3f7fffff, 0x34cde050 - .long 0x3f7fffff, 0x34c1d100 - .long 0x3f7fffff, 0x34b670d5 - .long 0x3f7fffff, 0x34abb639 - .long 0x3f7fffff, 0x34a19816 - .long 0x3f7fffff, 0x34980dd1 - .long 0x3f7fffff, 0x348f0f43 - .long 0x3f7fffff, 0x348694b3 - .long 0x3f800000, 0x347d2da8 - .long 0x3f800000, 0x346e1d72 - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ - .align 32 - .long 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000 /* _MaxThreshold */ - .align 32 - .long 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000 /* _SRound */ - .align 32 - .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 /* _U2THreshold */ - .align 32 - .long 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade /* _poly_3_0 */ - .align 32 - .type __svml_serf_data_internal,@object - .size __svml_serf_data_internal,.-__svml_serf_data_internal + /* _erf_tbl */ + .long 0x00000000, 0x3f906ebb + .long 0x3c106dfa, 0x3f906c79 + .long 0x3c906bb8, 0x3f9065b4 + .long 0x3cd89bf0, 0x3f905a6c + .long 0x3d1062b2, 0x3f904aa3 + .long 0x3d3472ea, 0x3f90365a + .long 0x3d587d7f, 0x3f901d93 + .long 0x3d7c8154, 0x3f900050 + .long 0x3d903ea4, 0x3f8fde94 + .long 0x3da2381f, 0x3f8fb862 + .long 0x3db42c8d, 0x3f8f8dbd + .long 0x3dc61b5f, 0x3f8f5eab + .long 0x3dd80409, 0x3f8f2b2e + .long 0x3de9e5fc, 0x3f8ef34c + .long 0x3dfbc0ad, 0x3f8eb70a + .long 0x3e06c9c8, 0x3f8e766e + .long 0x3e0faf0d, 0x3f8e317d + .long 0x3e188fe1, 0x3f8de83e + .long 0x3e216bfe, 0x3f8d9ab9 + .long 0x3e2a4321, 0x3f8d48f3 + .long 0x3e331506, 0x3f8cf2f5 + .long 0x3e3be169, 0x3f8c98c6 + .long 0x3e44a808, 0x3f8c3a6f + .long 0x3e4d68a1, 0x3f8bd7f8 + .long 0x3e5622f2, 0x3f8b716c + .long 0x3e5ed6b9, 0x3f8b06d2 + .long 0x3e6783b7, 0x3f8a9834 + .long 0x3e7029aa, 0x3f8a259e + .long 0x3e78c855, 0x3f89af18 + .long 0x3e80afbc, 0x3f8934af + .long 0x3e84f76b, 0x3f88b66c + .long 0x3e893b19, 0x3f88345d + .long 0x3e8d7aa7, 0x3f87ae8b + .long 0x3e91b5f8, 0x3f872504 + .long 0x3e95ecee, 0x3f8697d3 + .long 0x3e9a1f6b, 0x3f860705 + .long 0x3e9e4d54, 0x3f8572a8 + .long 0x3ea2768c, 0x3f84dac8 + .long 0x3ea69af8, 0x3f843f72 + .long 0x3eaaba7a, 0x3f83a0b6 + .long 0x3eaed4fa, 0x3f82fe9f + .long 0x3eb2ea5c, 0x3f82593e + .long 0x3eb6fa85, 0x3f81b0a0 + .long 0x3ebb055d, 0x3f8104d3 + .long 0x3ebf0aca, 0x3f8055e8 + .long 0x3ec30ab3, 0x3f7f47d8 + .long 0x3ec70501, 0x3f7ddddf + .long 0x3ecaf99b, 0x3f7c6e05 + .long 0x3ecee869, 0x3f7af867 + .long 0x3ed2d156, 0x3f797d26 + .long 0x3ed6b44b, 0x3f77fc62 + .long 0x3eda9132, 0x3f76763c + .long 0x3ede67f6, 0x3f74ead4 + .long 0x3ee23882, 0x3f735a4c + .long 0x3ee602c2, 0x3f71c4c4 + .long 0x3ee9c6a2, 0x3f702a5f + .long 0x3eed840e, 0x3f6e8b3e + .long 0x3ef13af5, 0x3f6ce783 + .long 0x3ef4eb45, 0x3f6b3f51 + .long 0x3ef894ea, 0x3f6992c9 + .long 0x3efc37d5, 0x3f67e20f + .long 0x3effd3f5, 0x3f662d45 + .long 0x3f01b49d, 0x3f64748e + .long 0x3f037bca, 0x3f62b80d + .long 0x3f053f7b, 0x3f60f7e5 + .long 0x3f06ffa8, 0x3f5f3439 + .long 0x3f08bc4a, 0x3f5d6d2d + .long 0x3f0a755a, 0x3f5ba2e3 + .long 0x3f0c2ad3, 0x3f59d57e + .long 0x3f0ddcae, 0x3f580523 + .long 0x3f0f8ae6, 0x3f5631f4 + .long 0x3f113574, 0x3f545c14 + .long 0x3f12dc54, 0x3f5283a7 + .long 0x3f147f81, 0x3f50a8cf + .long 0x3f161ef6, 0x3f4ecbb1 + .long 0x3f17baae, 0x3f4cec6d + .long 0x3f1952a6, 0x3f4b0b28 + .long 0x3f1ae6da, 0x3f492804 + .long 0x3f1c7745, 0x3f474323 + .long 0x3f1e03e5, 0x3f455ca8 + .long 0x3f1f8cb7, 0x3f4374b5 + .long 0x3f2111b7, 0x3f418b6b + .long 0x3f2292e4, 0x3f3fa0ee + .long 0x3f24103a, 0x3f3db55e + .long 0x3f2589b9, 0x3f3bc8dc + .long 0x3f26ff5d, 0x3f39db8a + .long 0x3f287126, 0x3f37ed89 + .long 0x3f29df13, 0x3f35fef8 + .long 0x3f2b4922, 0x3f340ff9 + .long 0x3f2caf53, 0x3f3220ab + .long 0x3f2e11a4, 0x3f30312e + .long 0x3f2f7017, 0x3f2e41a1 + .long 0x3f30caab, 0x3f2c5223 + .long 0x3f322160, 0x3f2a62d3 + .long 0x3f337437, 0x3f2873cf + .long 0x3f34c32f, 0x3f268534 + .long 0x3f360e4c, 0x3f249721 + .long 0x3f37558c, 0x3f22a9b3 + .long 0x3f3898f3, 0x3f20bd06 + .long 0x3f39d881, 0x3f1ed137 + .long 0x3f3b1438, 0x3f1ce661 + .long 0x3f3c4c1b, 0x3f1afca0 + .long 0x3f3d802c, 0x3f19140f + .long 0x3f3eb06c, 0x3f172cc9 + .long 0x3f3fdce0, 0x3f1546e7 + .long 0x3f410589, 0x3f136284 + .long 0x3f422a6b, 0x3f117fb9 + .long 0x3f434b89, 0x3f0f9e9e + .long 0x3f4468e7, 0x3f0dbf4c + .long 0x3f458287, 0x3f0be1db + .long 0x3f46986f, 0x3f0a0662 + .long 0x3f47aaa2, 0x3f082cf7 + .long 0x3f48b925, 0x3f0655b1 + .long 0x3f49c3fb, 0x3f0480a6 + .long 0x3f4acb29, 0x3f02adeb + .long 0x3f4bceb4, 0x3f00dd96 + .long 0x3f4ccea1, 0x3efe1f73 + .long 0x3f4dcaf4, 0x3efa88d5 + .long 0x3f4ec3b4, 0x3ef6f777 + .long 0x3f4fb8e5, 0x3ef36b80 + .long 0x3f50aa8d, 0x3eefe513 + .long 0x3f5198b1, 0x3eec6455 + .long 0x3f528358, 0x3ee8e968 + .long 0x3f536a86, 0x3ee5746d + .long 0x3f544e43, 0x3ee20584 + .long 0x3f552e93, 0x3ede9ccc + .long 0x3f560b7e, 0x3edb3a64 + .long 0x3f56e50a, 0x3ed7de6a + .long 0x3f57bb3d, 0x3ed488f8 + .long 0x3f588e1e, 0x3ed13a2b + .long 0x3f595db4, 0x3ecdf21c + .long 0x3f5a2a05, 0x3ecab0e4 + .long 0x3f5af318, 0x3ec7769b + .long 0x3f5bb8f4, 0x3ec44359 + .long 0x3f5c7ba1, 0x3ec11733 + .long 0x3f5d3b25, 0x3ebdf23d + .long 0x3f5df788, 0x3ebad48d + .long 0x3f5eb0d1, 0x3eb7be35 + .long 0x3f5f6707, 0x3eb4af46 + .long 0x3f601a32, 0x3eb1a7d3 + .long 0x3f60ca59, 0x3eaea7ea + .long 0x3f617784, 0x3eabaf9a + .long 0x3f6221bb, 0x3ea8bef3 + .long 0x3f62c905, 0x3ea5d600 + .long 0x3f636d69, 0x3ea2f4ce + .long 0x3f640ef1, 0x3ea01b68 + .long 0x3f64ada3, 0x3e9d49d9 + .long 0x3f654987, 0x3e9a8029 + .long 0x3f65e2a6, 0x3e97be62 + .long 0x3f667906, 0x3e95048b + .long 0x3f670cb1, 0x3e9252aa + .long 0x3f679dae, 0x3e8fa8c5 + .long 0x3f682c06, 0x3e8d06e3 + .long 0x3f68b7bf, 0x3e8a6d05 + .long 0x3f6940e2, 0x3e87db31 + .long 0x3f69c778, 0x3e855168 + .long 0x3f6a4b88, 0x3e82cfad + .long 0x3f6acd1a, 0x3e805600 + .long 0x3f6b4c36, 0x3e7bc8c2 + .long 0x3f6bc8e5, 0x3e76f5a0 + .long 0x3f6c432f, 0x3e723298 + .long 0x3f6cbb1b, 0x3e6d7fa5 + .long 0x3f6d30b1, 0x3e68dcc1 + .long 0x3f6da3fa, 0x3e6449e7 + .long 0x3f6e14fe, 0x3e5fc70e + .long 0x3f6e83c4, 0x3e5b542b + .long 0x3f6ef055, 0x3e56f136 + .long 0x3f6f5ab8, 0x3e529e21 + .long 0x3f6fc2f5, 0x3e4e5adf + .long 0x3f702915, 0x3e4a2761 + .long 0x3f708d1f, 0x3e460399 + .long 0x3f70ef1b, 0x3e41ef75 + .long 0x3f714f11, 0x3e3deae4 + .long 0x3f71ad09, 0x3e39f5d2 + .long 0x3f72090a, 0x3e36102b + .long 0x3f72631c, 0x3e3239db + .long 0x3f72bb46, 0x3e2e72cb + .long 0x3f731191, 0x3e2abae4 + .long 0x3f736604, 0x3e27120f + .long 0x3f73b8a5, 0x3e237833 + .long 0x3f74097e, 0x3e1fed36 + .long 0x3f745895, 0x3e1c70fd + .long 0x3f74a5f2, 0x3e19036e + .long 0x3f74f19b, 0x3e15a46d + .long 0x3f753b98, 0x3e1253dc + .long 0x3f7583f1, 0x3e0f119f + .long 0x3f75caac, 0x3e0bdd96 + .long 0x3f760fd1, 0x3e08b7a4 + .long 0x3f765366, 0x3e059fa9 + .long 0x3f769573, 0x3e029586 + .long 0x3f76d5fe, 0x3dff3230 + .long 0x3f77150f, 0x3df95481 + .long 0x3f7752ab, 0x3df391b9 + .long 0x3f778eda, 0x3dede995 + .long 0x3f77c9a2, 0x3de85bd0 + .long 0x3f78030a, 0x3de2e825 + .long 0x3f783b18, 0x3ddd8e4c + .long 0x3f7871d3, 0x3dd84dfe + .long 0x3f78a741, 0x3dd326f3 + .long 0x3f78db68, 0x3dce18e3 + .long 0x3f790e50, 0x3dc92385 + .long 0x3f793ffc, 0x3dc4468f + .long 0x3f797075, 0x3dbf81b6 + .long 0x3f799fbf, 0x3dbad4b0 + .long 0x3f79cde1, 0x3db63f32 + .long 0x3f79fae1, 0x3db1c0f1 + .long 0x3f7a26c4, 0x3dad59a1 + .long 0x3f7a518f, 0x3da908f6 + .long 0x3f7a7b4a, 0x3da4cea4 + .long 0x3f7aa3f9, 0x3da0aa5e + .long 0x3f7acba1, 0x3d9c9bd9 + .long 0x3f7af248, 0x3d98a2c7 + .long 0x3f7b17f4, 0x3d94bedd + .long 0x3f7b3ca9, 0x3d90efcd + .long 0x3f7b606e, 0x3d8d354b + .long 0x3f7b8346, 0x3d898f0a + .long 0x3f7ba537, 0x3d85fcbf + .long 0x3f7bc646, 0x3d827e1d + .long 0x3f7be677, 0x3d7e25af + .long 0x3f7c05d1, 0x3d777546 + .long 0x3f7c2456, 0x3d70ea68 + .long 0x3f7c420d, 0x3d6a847d + .long 0x3f7c5ef9, 0x3d6442f0 + .long 0x3f7c7b1f, 0x3d5e252a + .long 0x3f7c9684, 0x3d582a98 + .long 0x3f7cb12b, 0x3d5252a5 + .long 0x3f7ccb1a, 0x3d4c9cbd + .long 0x3f7ce454, 0x3d47084e + .long 0x3f7cfcdd, 0x3d4194c7 + .long 0x3f7d14ba, 0x3d3c4196 + .long 0x3f7d2bef, 0x3d370e2c + .long 0x3f7d427f, 0x3d31f9fb + .long 0x3f7d586f, 0x3d2d0474 + .long 0x3f7d6dc2, 0x3d282d0c + .long 0x3f7d827b, 0x3d237336 + .long 0x3f7d96a0, 0x3d1ed669 + .long 0x3f7daa32, 0x3d1a561b + .long 0x3f7dbd36, 0x3d15f1c6 + .long 0x3f7dcfb0, 0x3d11a8e1 + .long 0x3f7de1a2, 0x3d0d7ae9 + .long 0x3f7df30f, 0x3d09675a + .long 0x3f7e03fd, 0x3d056db0 + .long 0x3f7e146c, 0x3d018d6b + .long 0x3f7e2461, 0x3cfb8c15 + .long 0x3f7e33de, 0x3cf42e22 + .long 0x3f7e42e8, 0x3ced0003 + .long 0x3f7e517f, 0x3ce600c0 + .long 0x3f7e5fa9, 0x3cdf2f67 + .long 0x3f7e6d66, 0x3cd88b05 + .long 0x3f7e7abb, 0x3cd212ad + .long 0x3f7e87aa, 0x3ccbc574 + .long 0x3f7e9435, 0x3cc5a273 + .long 0x3f7ea05f, 0x3cbfa8c4 + .long 0x3f7eac2b, 0x3cb9d786 + .long 0x3f7eb79a, 0x3cb42ddb + .long 0x3f7ec2b1, 0x3caeaae6 + .long 0x3f7ecd71, 0x3ca94dcf + .long 0x3f7ed7dc, 0x3ca415c2 + .long 0x3f7ee1f4, 0x3c9f01ec + .long 0x3f7eebbd, 0x3c9a117f + .long 0x3f7ef537, 0x3c9543ae + .long 0x3f7efe66, 0x3c9097b1 + .long 0x3f7f074b, 0x3c8c0cc2 + .long 0x3f7f0fe8, 0x3c87a21f + .long 0x3f7f1840, 0x3c83570a + .long 0x3f7f2053, 0x3c7e558a + .long 0x3f7f2826, 0x3c763931 + .long 0x3f7f2fb8, 0x3c6e579b + .long 0x3f7f370c, 0x3c66af65 + .long 0x3f7f3e23, 0x3c5f3f2d + .long 0x3f7f4500, 0x3c58059c + .long 0x3f7f4ba4, 0x3c51015f + .long 0x3f7f5211, 0x3c4a3127 + .long 0x3f7f5848, 0x3c4393af + .long 0x3f7f5e4b, 0x3c3d27b5 + .long 0x3f7f641b, 0x3c36ebff + .long 0x3f7f69ba, 0x3c30df57 + .long 0x3f7f6f29, 0x3c2b008e + .long 0x3f7f746a, 0x3c254e7b + .long 0x3f7f797f, 0x3c1fc7fb + .long 0x3f7f7e67, 0x3c1a6bee + .long 0x3f7f8326, 0x3c15393d + .long 0x3f7f87bb, 0x3c102ed6 + .long 0x3f7f8c29, 0x3c0b4bab + .long 0x3f7f9070, 0x3c068eb5 + .long 0x3f7f9492, 0x3c01f6f1 + .long 0x3f7f9890, 0x3bfb06c5 + .long 0x3f7f9c6b, 0x3bf26625 + .long 0x3f7fa024, 0x3bea0a1d + .long 0x3f7fa3bc, 0x3be1f0d3 + .long 0x3f7fa734, 0x3bda1876 + .long 0x3f7faa8d, 0x3bd27f42 + .long 0x3f7fadc8, 0x3bcb237a + .long 0x3f7fb0e6, 0x3bc4036c + .long 0x3f7fb3e8, 0x3bbd1d6f + .long 0x3f7fb6cf, 0x3bb66fe6 + .long 0x3f7fb99c, 0x3baff93b + .long 0x3f7fbc4f, 0x3ba9b7e1 + .long 0x3f7fbeea, 0x3ba3aa56 + .long 0x3f7fc16d, 0x3b9dcf20 + .long 0x3f7fc3d9, 0x3b9824ce + .long 0x3f7fc62e, 0x3b92a9f7 + .long 0x3f7fc86e, 0x3b8d5d3c + .long 0x3f7fca99, 0x3b883d46 + .long 0x3f7fccb0, 0x3b8348c6 + .long 0x3f7fceb4, 0x3b7cfce8 + .long 0x3f7fd0a5, 0x3b73ba24 + .long 0x3f7fd283, 0x3b6ac6d3 + .long 0x3f7fd450, 0x3b622096 + .long 0x3f7fd60c, 0x3b59c51d + .long 0x3f7fd7b7, 0x3b51b22a + .long 0x3f7fd953, 0x3b49e589 + .long 0x3f7fdadf, 0x3b425d18 + .long 0x3f7fdc5c, 0x3b3b16c2 + .long 0x3f7fddcc, 0x3b341080 + .long 0x3f7fdf2d, 0x3b2d4858 + .long 0x3f7fe081, 0x3b26bc5e + .long 0x3f7fe1c8, 0x3b206ab2 + .long 0x3f7fe303, 0x3b1a5183 + .long 0x3f7fe431, 0x3b146f09 + .long 0x3f7fe554, 0x3b0ec18c + .long 0x3f7fe66c, 0x3b09475d + .long 0x3f7fe77a, 0x3b03feda + .long 0x3f7fe87d, 0x3afdccdc + .long 0x3f7fe975, 0x3af3f919 + .long 0x3f7fea65, 0x3aea7f6c + .long 0x3f7feb4b, 0x3ae15ce8 + .long 0x3f7fec27, 0x3ad88eb8 + .long 0x3f7fecfc, 0x3ad0121b + .long 0x3f7fedc8, 0x3ac7e464 + .long 0x3f7fee8c, 0x3ac002f8 + .long 0x3f7fef48, 0x3ab86b52 + .long 0x3f7feffd, 0x3ab11afe + .long 0x3f7ff0aa, 0x3aaa0f9a + .long 0x3f7ff151, 0x3aa346d7 + .long 0x3f7ff1f1, 0x3a9cbe77 + .long 0x3f7ff28a, 0x3a96744c + .long 0x3f7ff31e, 0x3a90663b + .long 0x3f7ff3ab, 0x3a8a9237 + .long 0x3f7ff433, 0x3a84f643 + .long 0x3f7ff4b5, 0x3a7f20e7 + .long 0x3f7ff532, 0x3a74bdd2 + .long 0x3f7ff5aa, 0x3a6abfa9 + .long 0x3f7ff61d, 0x3a6122ea + .long 0x3f7ff68b, 0x3a57e42f + .long 0x3f7ff6f5, 0x3a4f002c + .long 0x3f7ff75a, 0x3a4673af + .long 0x3f7ff7bb, 0x3a3e3ba2 + .long 0x3f7ff819, 0x3a365507 + .long 0x3f7ff872, 0x3a2ebcf6 + .long 0x3f7ff8c7, 0x3a2770a1 + .long 0x3f7ff919, 0x3a206d52 + .long 0x3f7ff968, 0x3a19b066 + .long 0x3f7ff9b3, 0x3a133754 + .long 0x3f7ff9fb, 0x3a0cffa3 + .long 0x3f7ffa40, 0x3a0706f4 + .long 0x3f7ffa82, 0x3a014af8 + .long 0x3f7ffac1, 0x39f792ea + .long 0x3f7ffafe, 0x39ed0088 + .long 0x3f7ffb38, 0x39e2daa1 + .long 0x3f7ffb6f, 0x39d91d2d + .long 0x3f7ffba5, 0x39cfc44a + .long 0x3f7ffbd7, 0x39c6cc35 + .long 0x3f7ffc08, 0x39be314d + .long 0x3f7ffc36, 0x39b5f011 + .long 0x3f7ffc63, 0x39ae051c + .long 0x3f7ffc8e, 0x39a66d2a + .long 0x3f7ffcb6, 0x399f2512 + .long 0x3f7ffcdd, 0x399829c8 + .long 0x3f7ffd02, 0x3991785a + .long 0x3f7ffd26, 0x398b0df2 + .long 0x3f7ffd48, 0x3984e7d2 + .long 0x3f7ffd68, 0x397e06ab + .long 0x3f7ffd87, 0x3972bbde + .long 0x3f7ffda5, 0x3967ea53 + .long 0x3f7ffdc1, 0x395d8d4b + .long 0x3f7ffddc, 0x3953a034 + .long 0x3f7ffdf6, 0x394a1ea5 + .long 0x3f7ffe0f, 0x3941045e + .long 0x3f7ffe27, 0x39384d47 + .long 0x3f7ffe3d, 0x392ff56d + .long 0x3f7ffe53, 0x3927f904 + .long 0x3f7ffe67, 0x39205461 + .long 0x3f7ffe7b, 0x391903fe + .long 0x3f7ffe8d, 0x39120475 + .long 0x3f7ffe9f, 0x390b5281 + .long 0x3f7ffeb0, 0x3904eafc + .long 0x3f7ffec0, 0x38fd95bd + .long 0x3f7ffed0, 0x38f1de7a + .long 0x3f7ffedf, 0x38e6aa94 + .long 0x3f7ffeed, 0x38dbf4a3 + .long 0x3f7ffefa, 0x38d1b776 + .long 0x3f7fff07, 0x38c7ee0e + .long 0x3f7fff13, 0x38be939c + .long 0x3f7fff1f, 0x38b5a381 + .long 0x3f7fff2a, 0x38ad194e + .long 0x3f7fff34, 0x38a4f0bc + .long 0x3f7fff3f, 0x389d25b0 + .long 0x3f7fff48, 0x3895b43b + .long 0x3f7fff51, 0x388e9890 + .long 0x3f7fff5a, 0x3887cf0e + .long 0x3f7fff62, 0x38815434 + .long 0x3f7fff6a, 0x3876494d + .long 0x3f7fff72, 0x386a7a5a + .long 0x3f7fff79, 0x385f355e + .long 0x3f7fff80, 0x38547466 + .long 0x3f7fff86, 0x384a31bf + .long 0x3f7fff8c, 0x384067ee + .long 0x3f7fff92, 0x383711b4 + .long 0x3f7fff98, 0x382e2a06 + .long 0x3f7fff9d, 0x3825ac0e + .long 0x3f7fffa2, 0x381d9329 + .long 0x3f7fffa7, 0x3815dae6 + .long 0x3f7fffab, 0x380e7f01 + .long 0x3f7fffb0, 0x38077b62 + .long 0x3f7fffb4, 0x3800cc21 + .long 0x3f7fffb8, 0x37f4daf4 + .long 0x3f7fffbc, 0x37e8b7ac + .long 0x3f7fffbf, 0x37dd2782 + .long 0x3f7fffc2, 0x37d223dc + .long 0x3f7fffc6, 0x37c7a666 + .long 0x3f7fffc9, 0x37bda912 + .long 0x3f7fffcc, 0x37b42611 + .long 0x3f7fffce, 0x37ab17d6 + .long 0x3f7fffd1, 0x37a2790f + .long 0x3f7fffd3, 0x379a44a5 + .long 0x3f7fffd6, 0x379275b9 + .long 0x3f7fffd8, 0x378b07a2 + .long 0x3f7fffda, 0x3783f5e9 + .long 0x3f7fffdc, 0x377a7897 + .long 0x3f7fffde, 0x376dad68 + .long 0x3f7fffe0, 0x37618278 + .long 0x3f7fffe2, 0x3755f04f + .long 0x3f7fffe3, 0x374aefcc + .long 0x3f7fffe5, 0x37407a1d + .long 0x3f7fffe6, 0x373688bc + .long 0x3f7fffe8, 0x372d1570 + .long 0x3f7fffe9, 0x37241a44 + .long 0x3f7fffea, 0x371b9188 + .long 0x3f7fffeb, 0x371375cf + .long 0x3f7fffec, 0x370bc1e7 + .long 0x3f7fffee, 0x370470dd + .long 0x3f7fffef, 0x36fafbec + .long 0x3f7fffef, 0x36edc95b + .long 0x3f7ffff0, 0x36e14167 + .long 0x3f7ffff1, 0x36d55bd6 + .long 0x3f7ffff2, 0x36ca10ce + .long 0x3f7ffff3, 0x36bf58d1 + .long 0x3f7ffff4, 0x36b52cb9 + .long 0x3f7ffff4, 0x36ab85b5 + .long 0x3f7ffff5, 0x36a25d43 + .long 0x3f7ffff5, 0x3699ad31 + .long 0x3f7ffff6, 0x36916f95 + .long 0x3f7ffff7, 0x36899ecb + .long 0x3f7ffff7, 0x36823575 + .long 0x3f7ffff8, 0x36765ce8 + .long 0x3f7ffff8, 0x366909cc + .long 0x3f7ffff9, 0x365c684a + .long 0x3f7ffff9, 0x36506f88 + .long 0x3f7ffff9, 0x36451713 + .long 0x3f7ffffa, 0x363a56e4 + .long 0x3f7ffffa, 0x36302754 + .long 0x3f7ffffa, 0x36268119 + .long 0x3f7ffffb, 0x361d5d43 + .long 0x3f7ffffb, 0x3614b538 + .long 0x3f7ffffb, 0x360c82b1 + .long 0x3f7ffffc, 0x3604bfb1 + .long 0x3f7ffffc, 0x35facd10 + .long 0x3f7ffffc, 0x35ece39b + .long 0x3f7ffffc, 0x35dfb8b6 + .long 0x3f7ffffd, 0x35d34296 + .long 0x3f7ffffd, 0x35c777ec + .long 0x3f7ffffd, 0x35bc4fdc + .long 0x3f7ffffd, 0x35b1c1fc + .long 0x3f7ffffd, 0x35a7c64b + .long 0x3f7ffffd, 0x359e5531 + .long 0x3f7ffffe, 0x35956771 + .long 0x3f7ffffe, 0x358cf630 + .long 0x3f7ffffe, 0x3584fae8 + .long 0x3f7ffffe, 0x357adecb + .long 0x3f7ffffe, 0x356c9b8f + .long 0x3f7ffffe, 0x355f20ef + .long 0x3f7ffffe, 0x3552644f + .long 0x3f7ffffe, 0x35465b9c + .long 0x3f7fffff, 0x353afd47 + .long 0x3f7fffff, 0x3530403c + .long 0x3f7fffff, 0x35261be0 + .long 0x3f7fffff, 0x351c8807 + .long 0x3f7fffff, 0x35137cf0 + .long 0x3f7fffff, 0x350af341 + .long 0x3f7fffff, 0x3502e402 + .long 0x3f7fffff, 0x34f6912a + .long 0x3f7fffff, 0x34e8356b + .long 0x3f7fffff, 0x34daa8e4 + .long 0x3f7fffff, 0x34cde050 + .long 0x3f7fffff, 0x34c1d100 + .long 0x3f7fffff, 0x34b670d5 + .long 0x3f7fffff, 0x34abb639 + .long 0x3f7fffff, 0x34a19816 + .long 0x3f7fffff, 0x34980dd1 + .long 0x3f7fffff, 0x348f0f43 + .long 0x3f7fffff, 0x348694b3 + .long 0x3f800000, 0x347d2da8 + .long 0x3f800000, 0x346e1d72 + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ + .align 32 + .long 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000, 0x407b8000 /* _MaxThreshold */ + .align 32 + .long 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000, 0x47800000 /* _SRound */ + .align 32 + .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000 /* _U2THreshold */ + .align 32 + .long 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade, 0xbeaaaade /* _poly_3_0 */ + .align 32 + .type __svml_serf_data_internal, @object + .size __svml_serf_data_internal, .-__svml_serf_data_internal From patchwork Mon Mar 7 15:00:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602261 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Ooqkmvxt; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2GF3HZwz9sFk for ; Tue, 8 Mar 2022 02:20:37 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8F0703858426 for ; Mon, 7 Mar 2022 15:20:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8F0703858426 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666435; bh=n62fZ5QLK8ltShbpkAoPSIEQ/t5iUbbq6hUJFLjwkAw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Ooqkmvxt4T6gHJpkZDeEJjnboRK/TB1a7ItH0kmdL5AHNtoK4jKwM5h/QWFW8mam2 MZPwSEtMrEyFDxh6oWIF3SJCon0c8AMgiAQg/6IVw6aQfbKxphLPpukHgeMwaKwtzI 9ti+uzWRbfuWqcZ8fmL8XPzF2HGZSMk/kDfAYsqc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id 2A541385842F for ; Mon, 7 Mar 2022 15:02:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2A541385842F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254599170" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254599170" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141848" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eW016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 058/126] x86_64: Fix svml_d_erf2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:53 -0800 Message-Id: <20220307150201.10590-59-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_erf2_core_sse4.S | 1848 ++++++++--------- 1 file changed, 923 insertions(+), 925 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S index d766da64d0..5aba0454e5 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf2_core_sse4.S @@ -33,955 +33,953 @@ /* Offsets for data table __svml_derf_data_internal */ -#define _erf_tbl 0 -#define _AbsMask 12288 -#define _MaxThreshold 12304 -#define _SRound 12320 -#define _U2Threshold 12336 -#define _poly1_0 12352 -#define _poly1_1 12368 -#define _poly3_0 12384 -#define _poly3_1 12400 -#define _poly5_0 12416 -#define _poly5_1 12432 -#define _poly1_2 12448 -#define _poly3_2 12464 -#define _poly1_3 12480 -#define _poly3_3 12496 +#define _erf_tbl 0 +#define _AbsMask 12288 +#define _MaxThreshold 12304 +#define _SRound 12320 +#define _U2Threshold 12336 +#define _poly1_0 12352 +#define _poly1_1 12368 +#define _poly3_0 12384 +#define _poly3_1 12400 +#define _poly5_0 12416 +#define _poly5_1 12432 +#define _poly1_2 12448 +#define _poly3_2 12464 +#define _poly1_3 12480 +#define _poly3_3 12496 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_erf_sse4) -/* - * vector gather: erf(x0), - * second value is exp(-x0*x0) - */ - lea __svml_derf_data_internal(%rip), %rcx - movups _AbsMask+__svml_derf_data_internal(%rip), %xmm5 - andps %xmm0, %xmm5 + /* + * vector gather: erf(x0), + * second value is exp(-x0*x0) + */ + lea __svml_derf_data_internal(%rip), %rcx + movups _AbsMask+__svml_derf_data_internal(%rip), %xmm5 + andps %xmm0, %xmm5 -/* - * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) - * can compute all results in the main path - */ - movaps %xmm5, %xmm9 + /* + * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) + * can compute all results in the main path + */ + movaps %xmm5, %xmm9 -/* save sign */ - pxor %xmm5, %xmm0 - minpd _MaxThreshold+__svml_derf_data_internal(%rip), %xmm9 - movups _SRound+__svml_derf_data_internal(%rip), %xmm1 - movaps %xmm1, %xmm2 - addpd %xmm9, %xmm2 - movaps %xmm2, %xmm8 - psllq $4, %xmm2 - subpd %xmm1, %xmm8 - movd %xmm2, %eax - movups _U2Threshold+__svml_derf_data_internal(%rip), %xmm11 - cmpltpd %xmm9, %xmm11 - subpd %xmm8, %xmm9 - mulpd %xmm9, %xmm8 + /* save sign */ + pxor %xmm5, %xmm0 + minpd _MaxThreshold+__svml_derf_data_internal(%rip), %xmm9 + movups _SRound+__svml_derf_data_internal(%rip), %xmm1 + movaps %xmm1, %xmm2 + addpd %xmm9, %xmm2 + movaps %xmm2, %xmm8 + psllq $4, %xmm2 + subpd %xmm1, %xmm8 + movd %xmm2, %eax + movups _U2Threshold+__svml_derf_data_internal(%rip), %xmm11 + cmpltpd %xmm9, %xmm11 + subpd %xmm8, %xmm9 + mulpd %xmm9, %xmm8 -/* - * _LA_ polynomial computation - * Start polynomial evaluation - */ - movups _poly1_0+__svml_derf_data_internal(%rip), %xmm7 - andps %xmm9, %xmm11 - mulpd %xmm8, %xmm7 + /* + * _LA_ polynomial computation + * Start polynomial evaluation + */ + movups _poly1_0+__svml_derf_data_internal(%rip), %xmm7 + andps %xmm9, %xmm11 + mulpd %xmm8, %xmm7 -/* D2 = Diff^2 */ - mulpd %xmm11, %xmm11 - addpd _poly1_1+__svml_derf_data_internal(%rip), %xmm7 + /* D2 = Diff^2 */ + mulpd %xmm11, %xmm11 + addpd _poly1_1+__svml_derf_data_internal(%rip), %xmm7 -/* NaN fixup */ - minpd %xmm5, %xmm9 - mulpd %xmm8, %xmm7 - movups _poly3_0+__svml_derf_data_internal(%rip), %xmm6 + /* NaN fixup */ + minpd %xmm5, %xmm9 + mulpd %xmm8, %xmm7 + movups _poly3_0+__svml_derf_data_internal(%rip), %xmm6 -/* T^2 */ - movaps %xmm8, %xmm12 - mulpd %xmm8, %xmm6 - addpd _poly1_2+__svml_derf_data_internal(%rip), %xmm7 - addpd _poly3_1+__svml_derf_data_internal(%rip), %xmm6 - mulpd %xmm8, %xmm12 - mulpd %xmm8, %xmm6 - mulpd %xmm8, %xmm7 - addpd _poly3_2+__svml_derf_data_internal(%rip), %xmm6 - addpd _poly1_3+__svml_derf_data_internal(%rip), %xmm7 - mulpd %xmm8, %xmm6 + /* T^2 */ + movaps %xmm8, %xmm12 + mulpd %xmm8, %xmm6 + addpd _poly1_2+__svml_derf_data_internal(%rip), %xmm7 + addpd _poly3_1+__svml_derf_data_internal(%rip), %xmm6 + mulpd %xmm8, %xmm12 + mulpd %xmm8, %xmm6 + mulpd %xmm8, %xmm7 + addpd _poly3_2+__svml_derf_data_internal(%rip), %xmm6 + addpd _poly1_3+__svml_derf_data_internal(%rip), %xmm7 + mulpd %xmm8, %xmm6 -/* P1 = T^2*P1 - T */ - mulpd %xmm7, %xmm12 - movups _poly5_0+__svml_derf_data_internal(%rip), %xmm10 + /* P1 = T^2*P1 - T */ + mulpd %xmm7, %xmm12 + movups _poly5_0+__svml_derf_data_internal(%rip), %xmm10 -/* Sign | Diff */ - pxor %xmm0, %xmm9 - mulpd %xmm8, %xmm10 - subpd %xmm8, %xmm12 - addpd _poly5_1+__svml_derf_data_internal(%rip), %xmm10 - mulpd %xmm11, %xmm10 - addpd _poly3_3+__svml_derf_data_internal(%rip), %xmm10 - addpd %xmm6, %xmm10 - pshufd $2, %xmm2, %xmm3 - movd %xmm3, %edx + /* Sign | Diff */ + pxor %xmm0, %xmm9 + mulpd %xmm8, %xmm10 + subpd %xmm8, %xmm12 + addpd _poly5_1+__svml_derf_data_internal(%rip), %xmm10 + mulpd %xmm11, %xmm10 + addpd _poly3_3+__svml_derf_data_internal(%rip), %xmm10 + addpd %xmm6, %xmm10 + pshufd $2, %xmm2, %xmm3 + movd %xmm3, %edx -/* P1 + P3*D2 */ - mulpd %xmm10, %xmm11 - movslq %eax, %rax - movslq %edx, %rdx - addpd %xmm11, %xmm12 - movups (%rcx,%rax), %xmm13 - movups (%rcx,%rdx), %xmm4 - movaps %xmm13, %xmm14 - unpckhpd %xmm4, %xmm13 + /* P1 + P3*D2 */ + mulpd %xmm10, %xmm11 + movslq %eax, %rax + movslq %edx, %rdx + addpd %xmm11, %xmm12 + movups (%rcx, %rax), %xmm13 + movups (%rcx, %rdx), %xmm4 + movaps %xmm13, %xmm14 + unpckhpd %xmm4, %xmm13 -/* exp_h(x0) * Diff */ - mulpd %xmm9, %xmm13 + /* exp_h(x0) * Diff */ + mulpd %xmm9, %xmm13 -/* - * branch-free - * low part of result: exp_h(x0) * Diff*(1+P1) - */ - mulpd %xmm13, %xmm12 - addpd %xmm12, %xmm13 - unpcklpd %xmm4, %xmm14 + /* + * branch-free + * low part of result: exp_h(x0) * Diff*(1+P1) + */ + mulpd %xmm13, %xmm12 + addpd %xmm12, %xmm13 + unpcklpd %xmm4, %xmm14 -/* Sign | _Erf_H */ - pxor %xmm0, %xmm14 + /* Sign | _Erf_H */ + pxor %xmm0, %xmm14 -/* Final result */ - addpd %xmm13, %xmm14 + /* Final result */ + addpd %xmm13, %xmm14 -/* Fix erf(-0) = -0 */ - orps %xmm14, %xmm0 - ret + /* Fix erf(-0) = -0 */ + orps %xmm14, %xmm0 + ret END(_ZGVbN2v_erf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_derf_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _erf_tbl[6*128*2][2]; - __declspec(align(16)) VUINT32 _AbsMask[2][2]; - __declspec(align(16)) VUINT32 _MaxThreshold[2][2]; - __declspec(align(16)) VUINT32 _SRound[2][2]; - __declspec(align(16)) VUINT32 _U2Threshold[2][2]; - __declspec(align(16)) VUINT32 _poly1_0[2][2]; - __declspec(align(16)) VUINT32 _poly1_1[2][2]; - __declspec(align(16)) VUINT32 _poly3_0[2][2]; - __declspec(align(16)) VUINT32 _poly3_1[2][2]; - __declspec(align(16)) VUINT32 _poly5_0[2][2]; - __declspec(align(16)) VUINT32 _poly5_1[2][2]; - __declspec(align(16)) VUINT32 _poly1_2[2][2]; - __declspec(align(16)) VUINT32 _poly3_2[2][2]; - __declspec(align(16)) VUINT32 _poly1_3[2][2]; - __declspec(align(16)) VUINT32 _poly3_3[2][2]; +typedef struct { + __declspec(align(16)) VUINT32 _erf_tbl[6*128*2][2]; + __declspec(align(16)) VUINT32 _AbsMask[2][2]; + __declspec(align(16)) VUINT32 _MaxThreshold[2][2]; + __declspec(align(16)) VUINT32 _SRound[2][2]; + __declspec(align(16)) VUINT32 _U2Threshold[2][2]; + __declspec(align(16)) VUINT32 _poly1_0[2][2]; + __declspec(align(16)) VUINT32 _poly1_1[2][2]; + __declspec(align(16)) VUINT32 _poly3_0[2][2]; + __declspec(align(16)) VUINT32 _poly3_1[2][2]; + __declspec(align(16)) VUINT32 _poly5_0[2][2]; + __declspec(align(16)) VUINT32 _poly5_1[2][2]; + __declspec(align(16)) VUINT32 _poly1_2[2][2]; + __declspec(align(16)) VUINT32 _poly3_2[2][2]; + __declspec(align(16)) VUINT32 _poly1_3[2][2]; + __declspec(align(16)) VUINT32 _poly3_3[2][2]; } __svml_derf_data_internal; #endif __svml_derf_data_internal: - /*== _erf_tbl ==*/ - .quad 0x0000000000000000, 0x3ff20dd750429b6d - .quad 0x3f820dbf3deb1340, 0x3ff20d8f1975c85d - .quad 0x3f920d77083f17a0, 0x3ff20cb67bd452c7 - .quad 0x3f9b137e0cf584dc, 0x3ff20b4d8bac36c1 - .quad 0x3fa20c5645dd2538, 0x3ff209546ad13ccf - .quad 0x3fa68e5d3bbc9526, 0x3ff206cb4897b148 - .quad 0x3fab0fafef135745, 0x3ff203b261cd0053 - .quad 0x3faf902a77bd3821, 0x3ff2000a00ae3804 - .quad 0x3fb207d480e90658, 0x3ff1fbd27cdc72d3 - .quad 0x3fb44703e87e8593, 0x3ff1f70c3b4f2cc8 - .quad 0x3fb68591a1e83b5d, 0x3ff1f1b7ae44867f - .quad 0x3fb8c36beb8a8d23, 0x3ff1ebd5552f795b - .quad 0x3fbb0081148a873a, 0x3ff1e565bca400d4 - .quad 0x3fbd3cbf7e70a4b3, 0x3ff1de697e413d29 - .quad 0x3fbf78159ec8bb50, 0x3ff1d6e14099944a - .quad 0x3fc0d939005f65e5, 0x3ff1cecdb718d61c - .quad 0x3fc1f5e1a35c3b89, 0x3ff1c62fa1e869b6 - .quad 0x3fc311fc15f56d14, 0x3ff1bd07cdd189ac - .quad 0x3fc42d7fc2f64959, 0x3ff1b357141d95d5 - .quad 0x3fc548642321d7c6, 0x3ff1a91e5a748165 - .quad 0x3fc662a0bdf7a89f, 0x3ff19e5e92b964ab - .quad 0x3fc77c2d2a765f9e, 0x3ff19318bae53a04 - .quad 0x3fc895010fdbdbfd, 0x3ff1874ddcdfce24 - .quad 0x3fc9ad142662e14d, 0x3ff17aff0e56ec10 - .quad 0x3fcac45e37fe2526, 0x3ff16e2d7093cd8c - .quad 0x3fcbdad72110a648, 0x3ff160da304ed92f - .quad 0x3fccf076d1233237, 0x3ff153068581b781 - .quad 0x3fce05354b96ff36, 0x3ff144b3b337c90c - .quad 0x3fcf190aa85540e2, 0x3ff135e3075d076b - .quad 0x3fd015f78a3dcf3d, 0x3ff12695da8b5bde - .quad 0x3fd09eed6982b948, 0x3ff116cd8fd67618 - .quad 0x3fd127631eb8de32, 0x3ff1068b94962e5e - .quad 0x3fd1af54e232d609, 0x3ff0f5d1602f7e41 - .quad 0x3fd236bef825d9a2, 0x3ff0e4a073dc1b91 - .quad 0x3fd2bd9db0f7827f, 0x3ff0d2fa5a70c168 - .quad 0x3fd343ed6989b7d9, 0x3ff0c0e0a8223359 - .quad 0x3fd3c9aa8b84beda, 0x3ff0ae54fa490723 - .quad 0x3fd44ed18d9f6462, 0x3ff09b58f724416b - .quad 0x3fd4d35ef3e5372e, 0x3ff087ee4d9ad247 - .quad 0x3fd5574f4ffac98e, 0x3ff07416b4fbfe7c - .quad 0x3fd5da9f415ff23f, 0x3ff05fd3ecbec298 - .quad 0x3fd65d4b75b00471, 0x3ff04b27bc403d30 - .quad 0x3fd6df50a8dff772, 0x3ff03613f2812daf - .quad 0x3fd760aba57a76bf, 0x3ff0209a65e29545 - .quad 0x3fd7e15944d9d3e4, 0x3ff00abcf3e187a9 - .quad 0x3fd861566f5fd3c0, 0x3fefe8fb01a47307 - .quad 0x3fd8e0a01cab516b, 0x3fefbbbbef34b4b2 - .quad 0x3fd95f3353cbb146, 0x3fef8dc092d58ff8 - .quad 0x3fd9dd0d2b721f39, 0x3fef5f0cdaf15313 - .quad 0x3fda5a2aca209394, 0x3fef2fa4c16c0019 - .quad 0x3fdad68966569a87, 0x3feeff8c4b1375db - .quad 0x3fdb522646bbda68, 0x3feecec7870ebca8 - .quad 0x3fdbccfec24855b8, 0x3fee9d5a8e4c934e - .quad 0x3fdc4710406a65fc, 0x3fee6b4982f158b9 - .quad 0x3fdcc058392a6d2d, 0x3fee38988fc46e72 - .quad 0x3fdd38d4354c3bd0, 0x3fee054be79d3042 - .quad 0x3fddb081ce6e2a48, 0x3fedd167c4cf9d2a - .quad 0x3fde275eaf25e458, 0x3fed9cf06898cdaf - .quad 0x3fde9d68931ae650, 0x3fed67ea1a8b5368 - .quad 0x3fdf129d471eabb1, 0x3fed325927fb9d89 - .quad 0x3fdf86faa9428f9d, 0x3fecfc41e36c7df9 - .quad 0x3fdffa7ea8eb5fd0, 0x3fecc5a8a3fbea40 - .quad 0x3fe03693a371519c, 0x3fec8e91c4d01368 - .quad 0x3fe06f794ab2cae7, 0x3fec5701a484ef9d - .quad 0x3fe0a7ef5c18edd2, 0x3fec1efca49a5011 - .quad 0x3fe0dff4f247f6c6, 0x3febe68728e29d5e - .quad 0x3fe1178930ada115, 0x3febada596f25436 - .quad 0x3fe14eab43841b55, 0x3feb745c55905bf8 - .quad 0x3fe1855a5fd3dd50, 0x3feb3aafcc27502e - .quad 0x3fe1bb95c3746199, 0x3feb00a46237d5be - .quad 0x3fe1f15cb50bc4de, 0x3feac63e7ecc1411 - .quad 0x3fe226ae840d4d70, 0x3fea8b8287ec6a09 - .quad 0x3fe25b8a88b6dd7f, 0x3fea5074e2157620 - .quad 0x3fe28ff0240d52cd, 0x3fea1519efaf889e - .quad 0x3fe2c3debfd7d6c1, 0x3fe9d97610879642 - .quad 0x3fe2f755ce9a21f4, 0x3fe99d8da149c13f - .quad 0x3fe32a54cb8db67b, 0x3fe96164fafd8de3 - .quad 0x3fe35cdb3a9a144d, 0x3fe925007283d7aa - .quad 0x3fe38ee8a84beb71, 0x3fe8e86458169af8 - .quad 0x3fe3c07ca9cb4f9e, 0x3fe8ab94f6caa71d - .quad 0x3fe3f196dcd0f135, 0x3fe86e9694134b9e - .quad 0x3fe42236e79a5fa6, 0x3fe8316d6f48133d - .quad 0x3fe4525c78dd5966, 0x3fe7f41dc12c9e89 - .quad 0x3fe4820747ba2dc2, 0x3fe7b6abbb7aaf19 - .quad 0x3fe4b13713ad3513, 0x3fe7791b886e7403 - .quad 0x3fe4dfeba47f63cc, 0x3fe73b714a552763 - .quad 0x3fe50e24ca35fd2c, 0x3fe6fdb11b1e0c34 - .quad 0x3fe53be25d016a4f, 0x3fe6bfdf0beddaf5 - .quad 0x3fe569243d2b3a9b, 0x3fe681ff24b4ab04 - .quad 0x3fe595ea53035283, 0x3fe6441563c665d4 - .quad 0x3fe5c2348ecc4dc3, 0x3fe60625bd75d07b - .quad 0x3fe5ee02e8a71a53, 0x3fe5c8341bb23767 - .quad 0x3fe61955607dd15d, 0x3fe58a445da7c74c - .quad 0x3fe6442bfdedd397, 0x3fe54c5a57629db0 - .quad 0x3fe66e86d0312e82, 0x3fe50e79d1749ac9 - .quad 0x3fe69865ee075011, 0x3fe4d0a6889dfd9f - .quad 0x3fe6c1c9759d0e5f, 0x3fe492e42d78d2c5 - .quad 0x3fe6eab18c74091b, 0x3fe4553664273d24 - .quad 0x3fe7131e5f496a5a, 0x3fe417a0c4049fd0 - .quad 0x3fe73b1021fc0cb8, 0x3fe3da26d759aef5 - .quad 0x3fe762870f720c6f, 0x3fe39ccc1b136d5a - .quad 0x3fe78983697dc96f, 0x3fe35f93fe7d1b3d - .quad 0x3fe7b00578c26037, 0x3fe32281e2fd1a92 - .quad 0x3fe7d60d8c979f7b, 0x3fe2e5991bd4cbfc - .quad 0x3fe7fb9bfaed8078, 0x3fe2a8dcede3673b - .quad 0x3fe820b1202f27fb, 0x3fe26c508f6bd0ff - .quad 0x3fe8454d5f25760d, 0x3fe22ff727dd6f7b - .quad 0x3fe8697120d92a4a, 0x3fe1f3d3cf9ffe5a - .quad 0x3fe88d1cd474a2e0, 0x3fe1b7e98fe26217 - .quad 0x3fe8b050ef253c37, 0x3fe17c3b626c7a12 - .quad 0x3fe8d30debfc572e, 0x3fe140cc3173f007 - .quad 0x3fe8f5544bd00c04, 0x3fe1059ed7740313 - .quad 0x3fe91724951b8fc6, 0x3fe0cab61f084b93 - .quad 0x3fe9387f53df5238, 0x3fe09014c2ca74da - .quad 0x3fe959651980da31, 0x3fe055bd6d32e8d7 - .quad 0x3fe979d67caa6631, 0x3fe01bb2b87c6968 - .quad 0x3fe999d4192a5715, 0x3fdfc3ee5d1524b0 - .quad 0x3fe9b95e8fd26aba, 0x3fdf511a91a67d2a - .quad 0x3fe9d8768656cc42, 0x3fdedeeee0959518 - .quad 0x3fe9f71ca72cffb6, 0x3fde6d6ffaa65a25 - .quad 0x3fea1551a16aaeaf, 0x3fddfca26f5bbf88 - .quad 0x3fea331628a45b92, 0x3fdd8c8aace11e63 - .quad 0x3fea506af4cc00f4, 0x3fdd1d2cfff91594 - .quad 0x3fea6d50c20fa293, 0x3fdcae8d93f1d7b7 - .quad 0x3fea89c850b7d54d, 0x3fdc40b0729ed548 - .quad 0x3feaa5d265064366, 0x3fdbd3998457afdb - .quad 0x3feac16fc7143263, 0x3fdb674c8ffc6283 - .quad 0x3feadca142b10f98, 0x3fdafbcd3afe8ab6 - .quad 0x3feaf767a741088b, 0x3fda911f096fbc26 - .quad 0x3feb11c3c79bb424, 0x3fda27455e14c93c - .quad 0x3feb2bb679ead19c, 0x3fd9be437a7de946 - .quad 0x3feb4540978921ee, 0x3fd9561c7f23a47b - .quad 0x3feb5e62fce16095, 0x3fd8eed36b886d93 - .quad 0x3feb771e894d602e, 0x3fd8886b1e5ecfd1 - .quad 0x3feb8f741ef54f83, 0x3fd822e655b417e7 - .quad 0x3feba764a2af2b78, 0x3fd7be47af1f5d89 - .quad 0x3febbef0fbde6221, 0x3fd75a91a7f4d2ed - .quad 0x3febd61a1453ab44, 0x3fd6f7c69d7d3ef8 - .quad 0x3febece0d82d1a5c, 0x3fd695e8cd31867e - .quad 0x3fec034635b66e23, 0x3fd634fa54fa285f - .quad 0x3fec194b1d49a184, 0x3fd5d4fd33729015 - .quad 0x3fec2ef0812fc1bd, 0x3fd575f3483021c3 - .quad 0x3fec443755820d64, 0x3fd517de540ce2a3 - .quad 0x3fec5920900b5fd1, 0x3fd4babff975a04c - .quad 0x3fec6dad2829ec62, 0x3fd45e99bcbb7915 - .quad 0x3fec81de16b14cef, 0x3fd4036d0468a7a2 - .quad 0x3fec95b455cce69d, 0x3fd3a93b1998736c - .quad 0x3feca930e0e2a825, 0x3fd35005285227f1 - .quad 0x3fecbc54b476248d, 0x3fd2f7cc3fe6f423 - .quad 0x3feccf20ce0c0d27, 0x3fd2a09153529381 - .quad 0x3fece1962c0e0d8b, 0x3fd24a55399ea239 - .quad 0x3fecf3b5cdaf0c39, 0x3fd1f518ae487dc8 - .quad 0x3fed0580b2cfd249, 0x3fd1a0dc51a9934d - .quad 0x3fed16f7dbe41ca0, 0x3fd14da0a961fd14 - .quad 0x3fed281c49d818d0, 0x3fd0fb6620c550af - .quad 0x3fed38eefdf64fdd, 0x3fd0aa2d09497f2b - .quad 0x3fed4970f9ce00d9, 0x3fd059f59af7a906 - .quad 0x3fed59a33f19ed42, 0x3fd00abff4dec7a3 - .quad 0x3fed6986cfa798e7, 0x3fcf79183b101c5b - .quad 0x3fed791cad3eff01, 0x3fcedeb406d9c825 - .quad 0x3fed8865d98abe01, 0x3fce4652fadcb6b2 - .quad 0x3fed97635600bb89, 0x3fcdaff4969c0b04 - .quad 0x3feda61623cb41e0, 0x3fcd1b982c501370 - .quad 0x3fedb47f43b2980d, 0x3fcc893ce1dcbef7 - .quad 0x3fedc29fb60715af, 0x3fcbf8e1b1ca2279 - .quad 0x3fedd0787a8bb39d, 0x3fcb6a856c3ed54f - .quad 0x3fedde0a90611a0d, 0x3fcade26b7fbed95 - .quad 0x3fedeb56f5f12d28, 0x3fca53c4135a6526 - .quad 0x3fedf85ea8db188e, 0x3fc9cb5bd549b111 - .quad 0x3fee0522a5dfda73, 0x3fc944ec2e4f5630 - .quad 0x3fee11a3e8cf4eb8, 0x3fc8c07329874652 - .quad 0x3fee1de36c75ba58, 0x3fc83deeada4d25a - .quad 0x3fee29e22a89d766, 0x3fc7bd5c7df3fe9c - .quad 0x3fee35a11b9b61ce, 0x3fc73eba3b5b07b7 - .quad 0x3fee4121370224cc, 0x3fc6c205655be720 - .quad 0x3fee4c6372cd8927, 0x3fc6473b5b15a7a1 - .quad 0x3fee5768c3b4a3fc, 0x3fc5ce595c455b0a - .quad 0x3fee62321d06c5e0, 0x3fc5575c8a468362 - .quad 0x3fee6cc0709c8a0d, 0x3fc4e241e912c305 - .quad 0x3fee7714aec96534, 0x3fc46f066040a832 - .quad 0x3fee812fc64db369, 0x3fc3fda6bc016994 - .quad 0x3fee8b12a44944a8, 0x3fc38e1fae1d6a9d - .quad 0x3fee94be342e6743, 0x3fc3206dceef5f87 - .quad 0x3fee9e335fb56f87, 0x3fc2b48d9e5dea1c - .quad 0x3feea7730ed0bbb9, 0x3fc24a7b84d38971 - .quad 0x3feeb07e27a133aa, 0x3fc1e233d434b813 - .quad 0x3feeb9558e6b42ce, 0x3fc17bb2c8d41535 - .quad 0x3feec1fa258c4bea, 0x3fc116f48a6476cc - .quad 0x3feeca6ccd709544, 0x3fc0b3f52ce8c383 - .quad 0x3feed2ae6489ac1e, 0x3fc052b0b1a174ea - .quad 0x3feedabfc7453e63, 0x3fbfe6460fef4680 - .quad 0x3feee2a1d004692c, 0x3fbf2a901ccafb37 - .quad 0x3feeea5557137ae0, 0x3fbe723726b824a9 - .quad 0x3feef1db32a2277c, 0x3fbdbd32ac4c99b0 - .quad 0x3feef93436bc2daa, 0x3fbd0b7a0f921e7c - .quad 0x3fef006135426b26, 0x3fbc5d0497c09e74 - .quad 0x3fef0762fde45ee6, 0x3fbbb1c972f23e50 - .quad 0x3fef0e3a5e1a1788, 0x3fbb09bfb7d11a84 - .quad 0x3fef14e8211e8c55, 0x3fba64de673e8837 - .quad 0x3fef1b6d0fea5f4d, 0x3fb9c31c6df3b1b8 - .quad 0x3fef21c9f12f0677, 0x3fb92470a61b6965 - .quad 0x3fef27ff89525acf, 0x3fb888d1d8e510a3 - .quad 0x3fef2e0e9a6a8b09, 0x3fb7f036c0107294 - .quad 0x3fef33f7e43a706b, 0x3fb75a96077274ba - .quad 0x3fef39bc242e43e6, 0x3fb6c7e64e7281cb - .quad 0x3fef3f5c1558b19e, 0x3fb6381e2980956b - .quad 0x3fef44d870704911, 0x3fb5ab342383d178 - .quad 0x3fef4a31ebcd47df, 0x3fb5211ebf41880b - .quad 0x3fef4f693b67bd77, 0x3fb499d478bca735 - .quad 0x3fef547f10d60597, 0x3fb4154bc68d75c3 - .quad 0x3fef59741b4b97cf, 0x3fb3937b1b31925a - .quad 0x3fef5e4907982a07, 0x3fb31458e6542847 - .quad 0x3fef62fe80272419, 0x3fb297db960e4f63 - .quad 0x3fef67952cff6282, 0x3fb21df9981f8e53 - .quad 0x3fef6c0db3c34641, 0x3fb1a6a95b1e786f - .quad 0x3fef7068b7b10fd9, 0x3fb131e14fa1625d - .quad 0x3fef74a6d9a38383, 0x3fb0bf97e95f2a64 - .quad 0x3fef78c8b812d498, 0x3fb04fc3a0481321 - .quad 0x3fef7cceef15d631, 0x3fafc4b5e32d6259 - .quad 0x3fef80ba18636f07, 0x3faeeea8c1b1db94 - .quad 0x3fef848acb544e95, 0x3fae1d4cf1e2450a - .quad 0x3fef88419ce4e184, 0x3fad508f9a1ea64f - .quad 0x3fef8bdf1fb78370, 0x3fac885df3451a07 - .quad 0x3fef8f63e416ebff, 0x3fabc4a54a84e834 - .quad 0x3fef92d077f8d56d, 0x3fab055303221015 - .quad 0x3fef96256700da8e, 0x3faa4a549829587e - .quad 0x3fef99633a838a57, 0x3fa993979e14fffe - .quad 0x3fef9c8a7989af0d, 0x3fa8e109c4622913 - .quad 0x3fef9f9ba8d3c733, 0x3fa83298d717210e - .quad 0x3fefa2974addae45, 0x3fa78832c03aa2b1 - .quad 0x3fefa57ddfe27376, 0x3fa6e1c5893c380b - .quad 0x3fefa84fe5e05c8d, 0x3fa63f3f5c4de13b - .quad 0x3fefab0dd89d1309, 0x3fa5a08e85af27e0 - .quad 0x3fefadb831a9f9c3, 0x3fa505a174e9c929 - .quad 0x3fefb04f6868a944, 0x3fa46e66be002240 - .quad 0x3fefb2d3f20f9101, 0x3fa3dacd1a8d8cce - .quad 0x3fefb54641aebbc9, 0x3fa34ac36ad8dafe - .quad 0x3fefb7a6c834b5a2, 0x3fa2be38b6d92415 - .quad 0x3fefb9f5f4739170, 0x3fa2351c2f2d1449 - .quad 0x3fefbc3433260ca5, 0x3fa1af5d2e04f3f6 - .quad 0x3fefbe61eef4cf6a, 0x3fa12ceb37ff9bc3 - .quad 0x3fefc07f907bc794, 0x3fa0adb5fcfa8c75 - .quad 0x3fefc28d7e4f9cd0, 0x3fa031ad58d56279 - .quad 0x3fefc48c1d033c7a, 0x3f9f7182a851bca2 - .quad 0x3fefc67bcf2d7b8f, 0x3f9e85c449e377f3 - .quad 0x3fefc85cf56ecd38, 0x3f9da0005e5f28df - .quad 0x3fefca2fee770c79, 0x3f9cc0180af00a8b - .quad 0x3fefcbf5170b578b, 0x3f9be5ecd2fcb5f9 - .quad 0x3fefcdacca0bfb73, 0x3f9b1160991ff737 - .quad 0x3fefcf57607a6e7c, 0x3f9a4255a00b9f03 - .quad 0x3fefd0f5317f582f, 0x3f9978ae8b55ce1b - .quad 0x3fefd2869270a56f, 0x3f98b44e6031383e - .quad 0x3fefd40bd6d7a785, 0x3f97f5188610ddc8 - .quad 0x3fefd58550773cb5, 0x3f973af0c737bb45 - .quad 0x3fefd6f34f52013a, 0x3f9685bb5134ef13 - .quad 0x3fefd85621b0876d, 0x3f95d55cb54cd53a - .quad 0x3fefd9ae142795e3, 0x3f9529b9e8cf9a1e - .quad 0x3fefdafb719e6a69, 0x3f9482b8455dc491 - .quad 0x3fefdc3e835500b3, 0x3f93e03d891b37de - .quad 0x3fefdd7790ea5bc0, 0x3f93422fd6d12e2b - .quad 0x3fefdea6e062d0c9, 0x3f92a875b5ffab56 - .quad 0x3fefdfccb62e52d3, 0x3f9212f612dee7fb - .quad 0x3fefe0e9552ebdd6, 0x3f9181983e5133dd - .quad 0x3fefe1fcfebe2083, 0x3f90f443edc5ce49 - .quad 0x3fefe307f2b503d0, 0x3f906ae13b0d3255 - .quad 0x3fefe40a6f70af4b, 0x3f8fcab1483ea7fc - .quad 0x3fefe504b1d9696c, 0x3f8ec72615a894c4 - .quad 0x3fefe5f6f568b301, 0x3f8dcaf3691fc448 - .quad 0x3fefe6e1742f7cf6, 0x3f8cd5ec93c12432 - .quad 0x3fefe7c466dc57a1, 0x3f8be7e5ac24963b - .quad 0x3fefe8a004c19ae6, 0x3f8b00b38d6b3575 - .quad 0x3fefe97483db8670, 0x3f8a202bd6372dce - .quad 0x3fefea4218d6594a, 0x3f894624e78e0faf - .quad 0x3fefeb08f7146046, 0x3f887275e3a6869e - .quad 0x3fefebc950b3fa75, 0x3f87a4f6aca256cb - .quad 0x3fefec835695932e, 0x3f86dd7fe3358230 - .quad 0x3fefed37386190fb, 0x3f861beae53b72b7 - .quad 0x3fefede5248e38f4, 0x3f856011cc3b036d - .quad 0x3fefee8d486585ee, 0x3f84a9cf6bda3f4c - .quad 0x3fefef2fd00af31a, 0x3f83f8ff5042a88e - .quad 0x3fefefcce6813974, 0x3f834d7dbc76d7e5 - .quad 0x3feff064b5afffbe, 0x3f82a727a89a3f14 - .quad 0x3feff0f766697c76, 0x3f8205dac02bd6b9 - .quad 0x3feff18520700971, 0x3f81697560347b26 - .quad 0x3feff20e0a7ba8c2, 0x3f80d1d69569b82d - .quad 0x3feff2924a3f7a83, 0x3f803ede1a45bfee - .quad 0x3feff312046f2339, 0x3f7f60d8aa2a88f2 - .quad 0x3feff38d5cc4227f, 0x3f7e4cc4abf7d065 - .quad 0x3feff404760319b4, 0x3f7d4143a9dfe965 - .quad 0x3feff47772010262, 0x3f7c3e1a5f5c077c - .quad 0x3feff4e671a85425, 0x3f7b430ecf4a83a8 - .quad 0x3feff55194fe19df, 0x3f7a4fe83fb9db25 - .quad 0x3feff5b8fb26f5f6, 0x3f79646f35a76624 - .quad 0x3feff61cc26c1578, 0x3f78806d70b2fc36 - .quad 0x3feff67d08401202, 0x3f77a3ade6c8b3e5 - .quad 0x3feff6d9e943c231, 0x3f76cdfcbfc1e263 - .quad 0x3feff733814af88c, 0x3f75ff2750fe7820 - .quad 0x3feff789eb6130c9, 0x3f7536fc18f7ce5c - .quad 0x3feff7dd41ce2b4d, 0x3f74754abacdf1dc - .quad 0x3feff82d9e1a76d8, 0x3f73b9e3f9d06e3f - .quad 0x3feff87b1913e853, 0x3f730499b503957f - .quad 0x3feff8c5cad200a5, 0x3f72553ee2a336bf - .quad 0x3feff90dcaba4096, 0x3f71aba78ba3af89 - .quad 0x3feff9532f846ab0, 0x3f7107a8c7323a6e - .quad 0x3feff9960f3eb327, 0x3f706918b6355624 - .quad 0x3feff9d67f51ddba, 0x3f6f9f9cfd9c3035 - .quad 0x3feffa14948549a7, 0x3f6e77448fb66bb9 - .quad 0x3feffa506302ebae, 0x3f6d58da68fd1170 - .quad 0x3feffa89fe5b3625, 0x3f6c4412bf4b8f0b - .quad 0x3feffac17988ef4b, 0x3f6b38a3af2e55b4 - .quad 0x3feffaf6e6f4f5c0, 0x3f6a3645330550ff - .quad 0x3feffb2a5879f35e, 0x3f693cb11a30d765 - .quad 0x3feffb5bdf67fe6f, 0x3f684ba3004a50d0 - .quad 0x3feffb8b8c88295f, 0x3f6762d84469c18f - .quad 0x3feffbb970200110, 0x3f66821000795a03 - .quad 0x3feffbe599f4f9d9, 0x3f65a90b00981d93 - .quad 0x3feffc10194fcb64, 0x3f64d78bba8ca5fd - .quad 0x3feffc38fcffbb7c, 0x3f640d564548fad7 - .quad 0x3feffc60535dd7f5, 0x3f634a305080681f - .quad 0x3feffc862a501fd7, 0x3f628de11c5031eb - .quad 0x3feffcaa8f4c9bea, 0x3f61d83170fbf6fb - .quad 0x3feffccd8f5c66d1, 0x3f6128eb96be8798 - .quad 0x3feffcef371ea4d7, 0x3f607fdb4dafea5f - .quad 0x3feffd0f92cb6ba7, 0x3f5fb99b8b8279e1 - .quad 0x3feffd2eae369a07, 0x3f5e7f232d9e2630 - .quad 0x3feffd4c94d29fdb, 0x3f5d4fed7195d7e8 - .quad 0x3feffd6951b33686, 0x3f5c2b9cf7f893bf - .quad 0x3feffd84ef9009ee, 0x3f5b11d702b3deb2 - .quad 0x3feffd9f78c7524a, 0x3f5a024365f771bd - .quad 0x3feffdb8f7605ee7, 0x3f58fc8c794b03b5 - .quad 0x3feffdd1750e1220, 0x3f58005f08d6f1ef - .quad 0x3feffde8fb314ebf, 0x3f570d6a46e07dda - .quad 0x3feffdff92db56e5, 0x3f56235fbd7a4345 - .quad 0x3feffe1544d01ccb, 0x3f5541f340697987 - .quad 0x3feffe2a1988857c, 0x3f5468dadf4080ab - .quad 0x3feffe3e19349dc7, 0x3f5397ced7af2b15 - .quad 0x3feffe514bbdc197, 0x3f52ce898809244e - .quad 0x3feffe63b8c8b5f7, 0x3f520cc76202c5fb - .quad 0x3feffe7567b7b5e1, 0x3f515246dda49d47 - .quad 0x3feffe865fac722b, 0x3f509ec86c75d497 - .quad 0x3feffe96a78a04a9, 0x3f4fe41cd9bb4eee - .quad 0x3feffea645f6d6da, 0x3f4e97ba3b77f306 - .quad 0x3feffeb5415e7c44, 0x3f4d57f524723822 - .quad 0x3feffec39ff380b9, 0x3f4c245d4b99847a - .quad 0x3feffed167b12ac2, 0x3f4afc85e0f82e12 - .quad 0x3feffede9e5d3262, 0x3f49e005769dbc1d - .quad 0x3feffeeb49896c6d, 0x3f48ce75e9f6f8a0 - .quad 0x3feffef76e956a9f, 0x3f47c7744d9378f7 - .quad 0x3fefff0312b010b5, 0x3f46caa0d3582fe9 - .quad 0x3fefff0e3ad91ec2, 0x3f45d79eb71e893b - .quad 0x3fefff18ebe2b0e1, 0x3f44ee1429bf7cc0 - .quad 0x3fefff232a72b48e, 0x3f440daa3c89f5b6 - .quad 0x3fefff2cfb0453d9, 0x3f43360ccd23db3a - .quad 0x3fefff3661e9569d, 0x3f4266ea71d4f71a - .quad 0x3fefff3f634b79f9, 0x3f419ff4663ae9df - .quad 0x3fefff48032dbe40, 0x3f40e0de78654d1e - .quad 0x3fefff50456dab8c, 0x3f40295ef6591848 - .quad 0x3fefff582dc48d30, 0x3f3ef25d37f49fe1 - .quad 0x3fefff5fbfc8a439, 0x3f3da01102b5f851 - .quad 0x3fefff66feee5129, 0x3f3c5b5412dcafad - .quad 0x3fefff6dee89352e, 0x3f3b23a5a23e4210 - .quad 0x3fefff7491cd4af6, 0x3f39f8893d8fd1c1 - .quad 0x3fefff7aebcff755, 0x3f38d986a4187285 - .quad 0x3fefff80ff8911fd, 0x3f37c629a822bc9e - .quad 0x3fefff86cfd3e657, 0x3f36be02102b3520 - .quad 0x3fefff8c5f702ccf, 0x3f35c0a378c90bca - .quad 0x3fefff91b102fca8, 0x3f34cda5374ea275 - .quad 0x3fefff96c717b695, 0x3f33e4a23d1f4703 - .quad 0x3fefff9ba420e834, 0x3f330538fbb77ecd - .quad 0x3fefffa04a7928b1, 0x3f322f0b496539be - .quad 0x3fefffa4bc63ee9a, 0x3f3161be46ad3b50 - .quad 0x3fefffa8fc0e5f33, 0x3f309cfa445b00ff - .quad 0x3fefffad0b901755, 0x3f2fc0d55470cf51 - .quad 0x3fefffb0ecebee1b, 0x3f2e577bbcd49935 - .quad 0x3fefffb4a210b172, 0x3f2cfd4a5adec5c0 - .quad 0x3fefffb82cd9dcbf, 0x3f2bb1a9657ce465 - .quad 0x3fefffbb8f1049c6, 0x3f2a740684026555 - .quad 0x3fefffbeca6adbe9, 0x3f2943d4a1d1ed39 - .quad 0x3fefffc1e08f25f5, 0x3f28208bc334a6a5 - .quad 0x3fefffc4d3120aa1, 0x3f2709a8db59f25c - .quad 0x3fefffc7a37857d2, 0x3f25feada379d8b7 - .quad 0x3fefffca53375ce3, 0x3f24ff207314a102 - .quad 0x3fefffcce3b57bff, 0x3f240a8c1949f75e - .quad 0x3fefffcf564ab6b7, 0x3f23207fb7420eb9 - .quad 0x3fefffd1ac4135f9, 0x3f22408e9ba3327f - .quad 0x3fefffd3e6d5cd87, 0x3f216a501f0e42ca - .quad 0x3fefffd607387b07, 0x3f209d5f819c9e29 - .quad 0x3fefffd80e8ce0da, 0x3f1fb2b792b40a22 - .quad 0x3fefffd9fdeabcce, 0x3f1e3bcf436a1a95 - .quad 0x3fefffdbd65e5ad0, 0x3f1cd55277c18d05 - .quad 0x3fefffdd98e903b2, 0x3f1b7e94604479dc - .quad 0x3fefffdf46816833, 0x3f1a36eec00926dd - .quad 0x3fefffe0e0140857, 0x3f18fdc1b2dcf7b9 - .quad 0x3fefffe26683972a, 0x3f17d2737527c3f9 - .quad 0x3fefffe3daa95b18, 0x3f16b4702d7d5849 - .quad 0x3fefffe53d558ae9, 0x3f15a329b7d30748 - .quad 0x3fefffe68f4fa777, 0x3f149e17724f4d41 - .quad 0x3fefffe7d156d244, 0x3f13a4b60ba9aa4e - .quad 0x3fefffe904222101, 0x3f12b6875310f785 - .quad 0x3fefffea2860ee1e, 0x3f11d312098e9dba - .quad 0x3fefffeb3ebb267b, 0x3f10f9e1b4dd36df - .quad 0x3fefffec47d19457, 0x3f102a8673a94692 - .quad 0x3fefffed443e2787, 0x3f0ec929a665b449 - .quad 0x3fefffee34943b15, 0x3f0d4f4b4c8e09ed - .quad 0x3fefffef1960d85d, 0x3f0be6abbb10a5aa - .quad 0x3fefffeff32af7af, 0x3f0a8e8cc1fadef6 - .quad 0x3feffff0c273bea2, 0x3f094637d5bacfdb - .quad 0x3feffff187b6bc0e, 0x3f080cfdc72220cf - .quad 0x3feffff2436a21dc, 0x3f06e2367dc27f95 - .quad 0x3feffff2f5fefcaa, 0x3f05c540b4936fd2 - .quad 0x3feffff39fe16963, 0x3f04b581b8d170fc - .quad 0x3feffff44178c8d2, 0x3f03b2652b06c2b2 - .quad 0x3feffff4db27f146, 0x3f02bb5cc22e5db6 - .quad 0x3feffff56d4d5e5e, 0x3f01cfe010e2052d - .quad 0x3feffff5f8435efc, 0x3f00ef6c4c84a0fe - .quad 0x3feffff67c604180, 0x3f001984165a5f36 - .quad 0x3feffff6f9f67e55, 0x3efe9b5e8d00ce77 - .quad 0x3feffff77154e0d6, 0x3efd16f5716c6c1a - .quad 0x3feffff7e2c6aea2, 0x3efba4f035d60e03 - .quad 0x3feffff84e93cd75, 0x3efa447b7b03f045 - .quad 0x3feffff8b500e77c, 0x3ef8f4ccca7fc90d - .quad 0x3feffff9164f8e46, 0x3ef7b5223dac7336 - .quad 0x3feffff972be5c59, 0x3ef684c227fcacef - .quad 0x3feffff9ca891572, 0x3ef562fac4329b48 - .quad 0x3feffffa1de8c582, 0x3ef44f21e49054f2 - .quad 0x3feffffa6d13de73, 0x3ef34894a5e24657 - .quad 0x3feffffab83e54b8, 0x3ef24eb7254ccf83 - .quad 0x3feffffaff99bac4, 0x3ef160f438c70913 - .quad 0x3feffffb43555b5f, 0x3ef07ebd2a2d2844 - .quad 0x3feffffb839e52f3, 0x3eef4f12e9ab070a - .quad 0x3feffffbc09fa7cd, 0x3eedb5ad0b27805c - .quad 0x3feffffbfa82616b, 0x3eec304efa2c6f4e - .quad 0x3feffffc316d9ed0, 0x3eeabe09e9144b5e - .quad 0x3feffffc6586abf6, 0x3ee95df988e76644 - .quad 0x3feffffc96f1165e, 0x3ee80f439b4ee04b - .quad 0x3feffffcc5cec0c1, 0x3ee6d11788a69c64 - .quad 0x3feffffcf23ff5fc, 0x3ee5a2adfa0b4bc4 - .quad 0x3feffffd1c637b2b, 0x3ee4834877429b8f - .quad 0x3feffffd4456a10d, 0x3ee37231085c7d9a - .quad 0x3feffffd6a3554a1, 0x3ee26eb9daed6f7e - .quad 0x3feffffd8e1a2f22, 0x3ee1783ceac28910 - .quad 0x3feffffdb01e8546, 0x3ee08e1badf0fced - .quad 0x3feffffdd05a75ea, 0x3edf5f7d88472604 - .quad 0x3feffffdeee4f810, 0x3eddb92b5212fb8d - .quad 0x3feffffe0bd3e852, 0x3edc282cd3957eda - .quad 0x3feffffe273c15b7, 0x3edaab7abace48dc - .quad 0x3feffffe41314e06, 0x3ed94219bfcb4928 - .quad 0x3feffffe59c6698b, 0x3ed7eb1a2075864e - .quad 0x3feffffe710d565e, 0x3ed6a597219a93da - .quad 0x3feffffe8717232d, 0x3ed570b69502f313 - .quad 0x3feffffe9bf4098c, 0x3ed44ba864670882 - .quad 0x3feffffeafb377d5, 0x3ed335a62115bce2 - .quad 0x3feffffec2641a9e, 0x3ed22df298214423 - .quad 0x3feffffed413e5b7, 0x3ed133d96ae7e0dd - .quad 0x3feffffee4d01cd6, 0x3ed046aeabcfcdec - .quad 0x3feffffef4a55bd4, 0x3ececb9cfe1d8642 - .quad 0x3fefffff039f9e8f, 0x3ecd21397ead99cb - .quad 0x3fefffff11ca4876, 0x3ecb8d094c86d374 - .quad 0x3fefffff1f302bc1, 0x3eca0df0f0c626dc - .quad 0x3fefffff2bdb904d, 0x3ec8a2e269750a39 - .quad 0x3fefffff37d63a36, 0x3ec74adc8f4064d3 - .quad 0x3fefffff43297019, 0x3ec604ea819f007c - .quad 0x3fefffff4dde0118, 0x3ec4d0231928c6f9 - .quad 0x3fefffff57fc4a95, 0x3ec3aba85fe22e20 - .quad 0x3fefffff618c3da6, 0x3ec296a70f414053 - .quad 0x3fefffff6a956450, 0x3ec1905613b3abf2 - .quad 0x3fefffff731ee681, 0x3ec097f6156f32c5 - .quad 0x3fefffff7b2f8ed6, 0x3ebf59a20caf6695 - .quad 0x3fefffff82cdcf1b, 0x3ebd9c73698fb1dc - .quad 0x3fefffff89ffc4aa, 0x3ebbf716c6168bae - .quad 0x3fefffff90cb3c81, 0x3eba6852c6b58392 - .quad 0x3fefffff9735b73b, 0x3eb8eefd70594a89 - .quad 0x3fefffff9d446ccc, 0x3eb789fb715aae95 - .quad 0x3fefffffa2fc5015, 0x3eb6383f726a8e04 - .quad 0x3fefffffa8621251, 0x3eb4f8c96f26a26a - .quad 0x3fefffffad7a2652, 0x3eb3caa61607f920 - .quad 0x3fefffffb248c39d, 0x3eb2acee2f5ecdb8 - .quad 0x3fefffffb6d1e95d, 0x3eb19ec60b1242ed - .quad 0x3fefffffbb196132, 0x3eb09f5cf4dd2877 - .quad 0x3fefffffbf22c1e2, 0x3eaf5bd95d8730d8 - .quad 0x3fefffffc2f171e3, 0x3ead9371e2ff7c35 - .quad 0x3fefffffc688a9cf, 0x3eabe41de54d155a - .quad 0x3fefffffc9eb76ac, 0x3eaa4c89e08ef4f3 - .quad 0x3fefffffcd1cbc28, 0x3ea8cb738399b12c - .quad 0x3fefffffd01f36af, 0x3ea75fa8dbc84bec - .quad 0x3fefffffd2f57d68, 0x3ea608078a70dcbc - .quad 0x3fefffffd5a2041f, 0x3ea4c37c0394d094 - .quad 0x3fefffffd8271d12, 0x3ea39100d5687bfe - .quad 0x3fefffffda86faa9, 0x3ea26f9df8519bd7 - .quad 0x3fefffffdcc3b117, 0x3ea15e6827001f18 - .quad 0x3fefffffdedf37ed, 0x3ea05c803e4831c1 - .quad 0x3fefffffe0db6b91, 0x3e9ed22548cffd35 - .quad 0x3fefffffe2ba0ea5, 0x3e9d06ad6ecdf971 - .quad 0x3fefffffe47ccb60, 0x3e9b551c847fbc96 - .quad 0x3fefffffe62534d4, 0x3e99bc09f112b494 - .quad 0x3fefffffe7b4c81e, 0x3e983a1ff0aa239d - .quad 0x3fefffffe92ced93, 0x3e96ce1aa3fd7bdd - .quad 0x3fefffffea8ef9cf, 0x3e9576c72b514859 - .quad 0x3fefffffebdc2ec6, 0x3e943302cc4a0da8 - .quad 0x3fefffffed15bcba, 0x3e9301ba221dc9bb - .quad 0x3fefffffee3cc32c, 0x3e91e1e857adc568 - .quad 0x3fefffffef5251c2, 0x3e90d2966b1746f7 - .quad 0x3feffffff0576917, 0x3e8fa5b4f49cc6b2 - .quad 0x3feffffff14cfb92, 0x3e8dc3ae30b55c16 - .quad 0x3feffffff233ee1d, 0x3e8bfd7555a3bd68 - .quad 0x3feffffff30d18e8, 0x3e8a517d9e61628a - .quad 0x3feffffff3d9480f, 0x3e88be4f8f6c951f - .quad 0x3feffffff4993c46, 0x3e874287ded49339 - .quad 0x3feffffff54dab72, 0x3e85dcd669f2cd34 - .quad 0x3feffffff5f74141, 0x3e848bfd38302871 - .quad 0x3feffffff6969fb8, 0x3e834ecf8a3c124a - .quad 0x3feffffff72c5fb6, 0x3e822430f521cbcf - .quad 0x3feffffff7b91176, 0x3e810b1488aeb235 - .quad 0x3feffffff83d3d07, 0x3e80027c00a263a6 - .quad 0x3feffffff8b962be, 0x3e7e12ee004efc37 - .quad 0x3feffffff92dfba2, 0x3e7c3e44ae32b16b - .quad 0x3feffffff99b79d2, 0x3e7a854ea14102a8 - .quad 0x3feffffffa0248e8, 0x3e78e6761569f45d - .quad 0x3feffffffa62ce54, 0x3e77603bac345f65 - .quad 0x3feffffffabd69b4, 0x3e75f1353cdad001 - .quad 0x3feffffffb127525, 0x3e74980cb3c80949 - .quad 0x3feffffffb624592, 0x3e73537f00b6ad4d - .quad 0x3feffffffbad2aff, 0x3e72225b12bffc68 - .quad 0x3feffffffbf370cd, 0x3e710380e1adb7e9 - .quad 0x3feffffffc355dfd, 0x3e6febc107d5efaa - .quad 0x3feffffffc733572, 0x3e6df0f2a0ee6947 - .quad 0x3feffffffcad3626, 0x3e6c14b2188bcee4 - .quad 0x3feffffffce39b67, 0x3e6a553644f7f07d - .quad 0x3feffffffd169d0c, 0x3e68b0cfce0579e0 - .quad 0x3feffffffd466fa5, 0x3e6725e7c5dd20f7 - .quad 0x3feffffffd7344aa, 0x3e65b2fe547a1340 - .quad 0x3feffffffd9d4aab, 0x3e6456a974e92e93 - .quad 0x3feffffffdc4ad7a, 0x3e630f93c3699078 - .quad 0x3feffffffde9964e, 0x3e61dc7b5b978cf8 - .quad 0x3feffffffe0c2bf0, 0x3e60bc30c5d52f15 - .quad 0x3feffffffe2c92db, 0x3e5f5b2be65a0c7f - .quad 0x3feffffffe4aed5e, 0x3e5d5f3a8dea7357 - .quad 0x3feffffffe675bbd, 0x3e5b82915b03515b - .quad 0x3feffffffe81fc4e, 0x3e59c3517e789488 - .quad 0x3feffffffe9aeb97, 0x3e581fb7df06136e - .quad 0x3feffffffeb24467, 0x3e56961b8d641d06 - .quad 0x3feffffffec81ff2, 0x3e5524ec4d916cae - .quad 0x3feffffffedc95e7, 0x3e53cab1343d18d1 - .quad 0x3feffffffeefbc85, 0x3e52860757487a01 - .quad 0x3fefffffff01a8b6, 0x3e5155a09065d4f7 - .quad 0x3fefffffff126e1e, 0x3e50384250e4c9fc - .quad 0x3fefffffff221f30, 0x3e4e59890b926c78 - .quad 0x3fefffffff30cd3f, 0x3e4c642116a8a9e3 - .quad 0x3fefffffff3e8892, 0x3e4a8e405e651ab6 - .quad 0x3fefffffff4b606f, 0x3e48d5f98114f872 - .quad 0x3fefffffff57632d, 0x3e47397c5a66e307 - .quad 0x3fefffffff629e44, 0x3e45b71456c5a4c4 - .quad 0x3fefffffff6d1e56, 0x3e444d26de513197 - .quad 0x3fefffffff76ef3f, 0x3e42fa31d6371537 - .quad 0x3fefffffff801c1f, 0x3e41bcca373b7b43 - .quad 0x3fefffffff88af67, 0x3e40939ab853339f - .quad 0x3fefffffff90b2e3, 0x3e3efac5187b2863 - .quad 0x3fefffffff982fc1, 0x3e3cf1e86235d0e7 - .quad 0x3fefffffff9f2e9f, 0x3e3b0a68a2128bab - .quad 0x3fefffffffa5b790, 0x3e39423165bc4444 - .quad 0x3fefffffffabd229, 0x3e37974e743dea3d - .quad 0x3fefffffffb18582, 0x3e3607e9eacd1050 - .quad 0x3fefffffffb6d844, 0x3e34924a74dec729 - .quad 0x3fefffffffbbd0aa, 0x3e3334d19e0c2160 - .quad 0x3fefffffffc0748f, 0x3e31edfa3c5f5cca - .quad 0x3fefffffffc4c96c, 0x3e30bc56f1b54701 - .quad 0x3fefffffffc8d462, 0x3e2f3d2185e047d9 - .quad 0x3fefffffffcc9a41, 0x3e2d26cb87945e87 - .quad 0x3fefffffffd01f89, 0x3e2b334fac4b9f99 - .quad 0x3fefffffffd36871, 0x3e296076f7918d1c - .quad 0x3fefffffffd678ed, 0x3e27ac2d72fc2c63 - .quad 0x3fefffffffd954ae, 0x3e2614801550319e - .quad 0x3fefffffffdbff2a, 0x3e24979ac8b28927 - .quad 0x3fefffffffde7ba0, 0x3e2333c68e2d0548 - .quad 0x3fefffffffe0cd16, 0x3e21e767bce37dd7 - .quad 0x3fefffffffe2f664, 0x3e20b0fc5b6d05a0 - .quad 0x3fefffffffe4fa30, 0x3e1f1e3523b41d7d - .quad 0x3fefffffffe6daf7, 0x3e1d00de6608effe - .quad 0x3fefffffffe89b0c, 0x3e1b0778b7b3301b - .quad 0x3fefffffffea3c9a, 0x3e192fb04ec0f6cf - .quad 0x3fefffffffebc1a9, 0x3e177756ec9f78fa - .quad 0x3fefffffffed2c21, 0x3e15dc61922d5a06 - .quad 0x3fefffffffee7dc8, 0x3e145ce65699ff6d - .quad 0x3fefffffffefb847, 0x3e12f71a5f159970 - .quad 0x3feffffffff0dd2b, 0x3e11a94ff571654f - .quad 0x3feffffffff1ede9, 0x3e1071f4bbea09ec - .quad 0x3feffffffff2ebda, 0x3e0e9f1ff8ddd774 - .quad 0x3feffffffff3d843, 0x3e0c818223a202c7 - .quad 0x3feffffffff4b453, 0x3e0a887bd2b4404d - .quad 0x3feffffffff58126, 0x3e08b1a336c5eb6b - .quad 0x3feffffffff63fc3, 0x3e06fab63324088a - .quad 0x3feffffffff6f121, 0x3e056197e30205ba - .quad 0x3feffffffff79626, 0x3e03e44e45301b92 - .quad 0x3feffffffff82fab, 0x3e0281000bfe4c3f - .quad 0x3feffffffff8be77, 0x3e0135f28f2d50b4 - .quad 0x3feffffffff94346, 0x3e000187dded5975 - .quad 0x3feffffffff9bec8, 0x3dfdc479de0ef001 - .quad 0x3feffffffffa319f, 0x3dfbad4fdad3caa1 - .quad 0x3feffffffffa9c63, 0x3df9baed3ed27ab8 - .quad 0x3feffffffffaffa4, 0x3df7ead9ce4285bb - .quad 0x3feffffffffb5be5, 0x3df63ac6b4edc88e - .quad 0x3feffffffffbb1a2, 0x3df4a88be2a6390c - .quad 0x3feffffffffc014e, 0x3df332259185f1a0 - .quad 0x3feffffffffc4b56, 0x3df1d5b1f3793044 - .quad 0x3feffffffffc901c, 0x3df0916f04b6e18b - .quad 0x3feffffffffccfff, 0x3deec77101de6926 - .quad 0x3feffffffffd0b56, 0x3dec960bf23153e0 - .quad 0x3feffffffffd4271, 0x3dea8bd20fc65ef7 - .quad 0x3feffffffffd759d, 0x3de8a61745ec7d1d - .quad 0x3feffffffffda520, 0x3de6e25d0e756261 - .quad 0x3feffffffffdd13c, 0x3de53e4f7d1666cb - .quad 0x3feffffffffdfa2d, 0x3de3b7c27a7ddb0e - .quad 0x3feffffffffe202d, 0x3de24caf2c32af14 - .quad 0x3feffffffffe4371, 0x3de0fb3186804d0f - .quad 0x3feffffffffe642a, 0x3ddf830c0bb41fd7 - .quad 0x3feffffffffe8286, 0x3ddd3c0f1a91c846 - .quad 0x3feffffffffe9eb0, 0x3ddb1e5acf351d87 - .quad 0x3feffffffffeb8d0, 0x3dd92712d259ce66 - .quad 0x3feffffffffed10a, 0x3dd7538c60a04476 - .quad 0x3feffffffffee782, 0x3dd5a14b04b47879 - .quad 0x3feffffffffefc57, 0x3dd40dfd87456f4c - .quad 0x3fefffffffff0fa7, 0x3dd2977b1172b9d5 - .quad 0x3fefffffffff218f, 0x3dd13bc07e891491 - .quad 0x3fefffffffff3227, 0x3dcff1dbb4300811 - .quad 0x3fefffffffff4188, 0x3dcd9a880f306bd8 - .quad 0x3fefffffffff4fc9, 0x3dcb6e45220b55e0 - .quad 0x3fefffffffff5cfd, 0x3dc96a0b33f2c4da - .quad 0x3fefffffffff6939, 0x3dc78b07e9e924ac - .quad 0x3fefffffffff748e, 0x3dc5ce9ab1670dd2 - .quad 0x3fefffffffff7f0d, 0x3dc4325167006bb0 - .quad 0x3fefffffffff88c5, 0x3dc2b3e53538ff3f - .quad 0x3fefffffffff91c6, 0x3dc15137a7f44864 - .quad 0x3fefffffffff9a1b, 0x3dc0084ff125639d - .quad 0x3fefffffffffa1d2, 0x3dbdaeb0b7311ec7 - .quad 0x3fefffffffffa8f6, 0x3dbb7937d1c40c53 - .quad 0x3fefffffffffaf92, 0x3db96d082f59ab06 - .quad 0x3fefffffffffb5b0, 0x3db7872d9fa10aad - .quad 0x3fefffffffffbb58, 0x3db5c4e8e37bc7d0 - .quad 0x3fefffffffffc095, 0x3db423ac0df49a40 - .quad 0x3fefffffffffc56d, 0x3db2a117230ad284 - .quad 0x3fefffffffffc9e8, 0x3db13af4f04f9998 - .quad 0x3fefffffffffce0d, 0x3dafde703724e560 - .quad 0x3fefffffffffd1e1, 0x3dad77f0c82e7641 - .quad 0x3fefffffffffd56c, 0x3dab3ee02611d7dd - .quad 0x3fefffffffffd8b3, 0x3da92ff33023d5bd - .quad 0x3fefffffffffdbba, 0x3da7481a9e69f53f - .quad 0x3fefffffffffde86, 0x3da5847eda620959 - .quad 0x3fefffffffffe11d, 0x3da3e27c1fcc74bd - .quad 0x3fefffffffffe380, 0x3da25f9ee0b923dc - .quad 0x3fefffffffffe5b6, 0x3da0f9a068653200 - .quad 0x3fefffffffffe7c0, 0x3d9f5cc7718082b0 - .quad 0x3fefffffffffe9a2, 0x3d9cf7e53d6a2ca5 - .quad 0x3fefffffffffeb60, 0x3d9ac0f5f3229372 - .quad 0x3fefffffffffecfb, 0x3d98b498644847ea - .quad 0x3fefffffffffee77, 0x3d96cfa9bcca59dc - .quad 0x3fefffffffffefd6, 0x3d950f411d4fd2cd - .quad 0x3feffffffffff11a, 0x3d9370ab8327af5e - .quad 0x3feffffffffff245, 0x3d91f167f88c6b6e - .quad 0x3feffffffffff359, 0x3d908f24085d4597 - .quad 0x3feffffffffff457, 0x3d8e8f70e181d61a - .quad 0x3feffffffffff542, 0x3d8c324c20e337dc - .quad 0x3feffffffffff61b, 0x3d8a03261574b54e - .quad 0x3feffffffffff6e3, 0x3d87fe903cdf5855 - .quad 0x3feffffffffff79b, 0x3d86215c58da3450 - .quad 0x3feffffffffff845, 0x3d846897d4b69fc6 - .quad 0x3feffffffffff8e2, 0x3d82d1877d731b7b - .quad 0x3feffffffffff973, 0x3d8159a386b11517 - .quad 0x3feffffffffff9f8, 0x3d7ffd27ae9393ce - .quad 0x3feffffffffffa73, 0x3d7d7c593130dd0b - .quad 0x3feffffffffffae4, 0x3d7b2cd607c79bcf - .quad 0x3feffffffffffb4c, 0x3d790ae4d3405651 - .quad 0x3feffffffffffbad, 0x3d771312dd1759e2 - .quad 0x3feffffffffffc05, 0x3d75422ef5d8949d - .quad 0x3feffffffffffc57, 0x3d739544b0ecc957 - .quad 0x3feffffffffffca2, 0x3d720997f73e73dd - .quad 0x3feffffffffffce7, 0x3d709ca0eaacd277 - .quad 0x3feffffffffffd27, 0x3d6e9810295890ec - .quad 0x3feffffffffffd62, 0x3d6c2b45b5aa4a1d - .quad 0x3feffffffffffd98, 0x3d69eee068fa7596 - .quad 0x3feffffffffffdca, 0x3d67df2b399c10a8 - .quad 0x3feffffffffffdf8, 0x3d65f8b87a31bd85 - .quad 0x3feffffffffffe22, 0x3d64385c96e9a2d9 - .quad 0x3feffffffffffe49, 0x3d629b2933ef4cbc - .quad 0x3feffffffffffe6c, 0x3d611e68a6378f8a - .quad 0x3feffffffffffe8d, 0x3d5f7f338086a86b - .quad 0x3feffffffffffeab, 0x3d5cf8d7d9ce040a - .quad 0x3feffffffffffec7, 0x3d5aa577251ae485 - .quad 0x3feffffffffffee1, 0x3d58811d739efb5f - .quad 0x3feffffffffffef8, 0x3d568823e52970be - .quad 0x3fefffffffffff0e, 0x3d54b72ae68e8b4c - .quad 0x3fefffffffffff22, 0x3d530b14dbe876bc - .quad 0x3fefffffffffff34, 0x3d5181012ef86610 - .quad 0x3fefffffffffff45, 0x3d501647ba798745 - .quad 0x3fefffffffffff54, 0x3d4d90e917701675 - .quad 0x3fefffffffffff62, 0x3d4b2a87e86d0c8a - .quad 0x3fefffffffffff6f, 0x3d48f53dcb377293 - .quad 0x3fefffffffffff7b, 0x3d46ed2f2515e933 - .quad 0x3fefffffffffff86, 0x3d450ecc9ed47f19 - .quad 0x3fefffffffffff90, 0x3d4356cd5ce7799e - .quad 0x3fefffffffffff9a, 0x3d41c229a587ab78 - .quad 0x3fefffffffffffa2, 0x3d404e15ecc7f3f6 - .quad 0x3fefffffffffffaa, 0x3d3deffc7e6a6017 - .quad 0x3fefffffffffffb1, 0x3d3b7b040832f310 - .quad 0x3fefffffffffffb8, 0x3d3938e021f36d76 - .quad 0x3fefffffffffffbe, 0x3d37258610b3b233 - .quad 0x3fefffffffffffc3, 0x3d353d3bfc82a909 - .quad 0x3fefffffffffffc8, 0x3d337c92babdc2fd - .quad 0x3fefffffffffffcd, 0x3d31e06010120f6a - .quad 0x3fefffffffffffd1, 0x3d3065b9616170d4 - .quad 0x3fefffffffffffd5, 0x3d2e13dd96b3753b - .quad 0x3fefffffffffffd9, 0x3d2b950d32467392 - .quad 0x3fefffffffffffdc, 0x3d294a72263259a5 - .quad 0x3fefffffffffffdf, 0x3d272fd93e036cdc - .quad 0x3fefffffffffffe2, 0x3d254164576929ab - .quad 0x3fefffffffffffe4, 0x3d237b83c521fe96 - .quad 0x3fefffffffffffe7, 0x3d21daf033182e96 - .quad 0x3fefffffffffffe9, 0x3d205ca50205d26a - .quad 0x3fefffffffffffeb, 0x3d1dfbb6235639fa - .quad 0x3fefffffffffffed, 0x3d1b7807e294781f - .quad 0x3fefffffffffffee, 0x3d19298add70a734 - .quad 0x3feffffffffffff0, 0x3d170beaf9c7ffb6 - .quad 0x3feffffffffffff1, 0x3d151b2cd6709222 - .quad 0x3feffffffffffff3, 0x3d1353a6cf7f7fff - .quad 0x3feffffffffffff4, 0x3d11b1fa8cbe84a7 - .quad 0x3feffffffffffff5, 0x3d10330f0fd69921 - .quad 0x3feffffffffffff6, 0x3d0da81670f96f9b - .quad 0x3feffffffffffff7, 0x3d0b24a16b4d09aa - .quad 0x3feffffffffffff7, 0x3d08d6eeb6efdbd6 - .quad 0x3feffffffffffff8, 0x3d06ba91ac734786 - .quad 0x3feffffffffffff9, 0x3d04cb7966770ab5 - .quad 0x3feffffffffffff9, 0x3d0305e9721d0981 - .quad 0x3feffffffffffffa, 0x3d01667311fff70a - .quad 0x3feffffffffffffb, 0x3cffd3de10d62855 - .quad 0x3feffffffffffffb, 0x3cfd1aefbcd48d0c - .quad 0x3feffffffffffffb, 0x3cfa9cc93c25aca9 - .quad 0x3feffffffffffffc, 0x3cf85487ee3ea735 - .quad 0x3feffffffffffffc, 0x3cf63daf8b4b1e0c - .quad 0x3feffffffffffffd, 0x3cf45421e69a6ca1 - .quad 0x3feffffffffffffd, 0x3cf294175802d99a - .quad 0x3feffffffffffffd, 0x3cf0fa17bf41068f - .quad 0x3feffffffffffffd, 0x3cef05e82aae2bb9 - .quad 0x3feffffffffffffe, 0x3cec578101b29058 - .quad 0x3feffffffffffffe, 0x3ce9e39dc5dd2f7c - .quad 0x3feffffffffffffe, 0x3ce7a553a728bbf2 - .quad 0x3feffffffffffffe, 0x3ce5982008db1304 - .quad 0x3feffffffffffffe, 0x3ce3b7e00422e51b - .quad 0x3feffffffffffffe, 0x3ce200c898d9ee3e - .quad 0x3fefffffffffffff, 0x3ce06f5f7eb65a56 - .quad 0x3fefffffffffffff, 0x3cde00e9148a1d25 - .quad 0x3fefffffffffffff, 0x3cdb623734024e92 - .quad 0x3fefffffffffffff, 0x3cd8fd4e01891bf8 - .quad 0x3fefffffffffffff, 0x3cd6cd44c7470d89 - .quad 0x3fefffffffffffff, 0x3cd4cd9c04158cd7 - .quad 0x3fefffffffffffff, 0x3cd2fa34bf5c8344 - .quad 0x3fefffffffffffff, 0x3cd14f4890ff2461 - .quad 0x3fefffffffffffff, 0x3ccf92c49dfa4df5 - .quad 0x3fefffffffffffff, 0x3ccccaaea71ab0df - .quad 0x3fefffffffffffff, 0x3cca40829f001197 - .quad 0x3ff0000000000000, 0x3cc7eef13b59e96c - .quad 0x3ff0000000000000, 0x3cc5d11e1a252bf5 - .quad 0x3ff0000000000000, 0x3cc3e296303b2297 - .quad 0x3ff0000000000000, 0x3cc21f47009f43ce - .quad 0x3ff0000000000000, 0x3cc083768c5e4542 - .quad 0x3ff0000000000000, 0x3cbe1777d831265f - .quad 0x3ff0000000000000, 0x3cbb69f10b0191b5 - .quad 0x3ff0000000000000, 0x3cb8f8a3a05b5b53 - .quad 0x3ff0000000000000, 0x3cb6be573c40c8e7 - .quad 0x3ff0000000000000, 0x3cb4b645ba991fdb - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ - .align 16 - .quad 0x4017f80000000000, 0x4017f80000000000 /* _MaxThreshold = 6.0 - 1.0/128.0 */ - .align 16 - .quad 0x42c0000000000000, 0x42c0000000000000 /* SRound */ - .align 16 - .quad 0x2ff0000000000000, 0x2ff0000000000000 /* _U2THreshold */ - .align 16 - .quad 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5 /* _poly_1_0 */ - .align 16 - .quad 0x3fc1111235a363b1, 0x3fc1111235a363b1 /* _poly_1_1 */ - .align 16 - .quad 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57 /* _poly_3_0 */ - .align 16 - .quad 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8 /* _poly_3_1 */ - .align 16 - .quad 0xbfc5555800001B4F, 0xbfc5555800001B4F /* _poly_5_0 */ - .align 16 - .quad 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122 /* _poly_5_1 */ - .align 16 - .quad 0xbfd55555555547f6, 0xbfd55555555547f6 /* _poly_1_2 */ - .align 16 - .quad 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd /* _poly_3_2 */ - .align 16 - .quad 0x3fe5555555554b0c, 0x3fe5555555554b0c /* _poly_1_3 */ - .align 16 - .quad 0xbfd5555555555555, 0xbfd5555555555555 /* _poly_3_3 */ - .align 16 - .type __svml_derf_data_internal,@object - .size __svml_derf_data_internal,.-__svml_derf_data_internal + /* _erf_tbl */ + .quad 0x0000000000000000, 0x3ff20dd750429b6d + .quad 0x3f820dbf3deb1340, 0x3ff20d8f1975c85d + .quad 0x3f920d77083f17a0, 0x3ff20cb67bd452c7 + .quad 0x3f9b137e0cf584dc, 0x3ff20b4d8bac36c1 + .quad 0x3fa20c5645dd2538, 0x3ff209546ad13ccf + .quad 0x3fa68e5d3bbc9526, 0x3ff206cb4897b148 + .quad 0x3fab0fafef135745, 0x3ff203b261cd0053 + .quad 0x3faf902a77bd3821, 0x3ff2000a00ae3804 + .quad 0x3fb207d480e90658, 0x3ff1fbd27cdc72d3 + .quad 0x3fb44703e87e8593, 0x3ff1f70c3b4f2cc8 + .quad 0x3fb68591a1e83b5d, 0x3ff1f1b7ae44867f + .quad 0x3fb8c36beb8a8d23, 0x3ff1ebd5552f795b + .quad 0x3fbb0081148a873a, 0x3ff1e565bca400d4 + .quad 0x3fbd3cbf7e70a4b3, 0x3ff1de697e413d29 + .quad 0x3fbf78159ec8bb50, 0x3ff1d6e14099944a + .quad 0x3fc0d939005f65e5, 0x3ff1cecdb718d61c + .quad 0x3fc1f5e1a35c3b89, 0x3ff1c62fa1e869b6 + .quad 0x3fc311fc15f56d14, 0x3ff1bd07cdd189ac + .quad 0x3fc42d7fc2f64959, 0x3ff1b357141d95d5 + .quad 0x3fc548642321d7c6, 0x3ff1a91e5a748165 + .quad 0x3fc662a0bdf7a89f, 0x3ff19e5e92b964ab + .quad 0x3fc77c2d2a765f9e, 0x3ff19318bae53a04 + .quad 0x3fc895010fdbdbfd, 0x3ff1874ddcdfce24 + .quad 0x3fc9ad142662e14d, 0x3ff17aff0e56ec10 + .quad 0x3fcac45e37fe2526, 0x3ff16e2d7093cd8c + .quad 0x3fcbdad72110a648, 0x3ff160da304ed92f + .quad 0x3fccf076d1233237, 0x3ff153068581b781 + .quad 0x3fce05354b96ff36, 0x3ff144b3b337c90c + .quad 0x3fcf190aa85540e2, 0x3ff135e3075d076b + .quad 0x3fd015f78a3dcf3d, 0x3ff12695da8b5bde + .quad 0x3fd09eed6982b948, 0x3ff116cd8fd67618 + .quad 0x3fd127631eb8de32, 0x3ff1068b94962e5e + .quad 0x3fd1af54e232d609, 0x3ff0f5d1602f7e41 + .quad 0x3fd236bef825d9a2, 0x3ff0e4a073dc1b91 + .quad 0x3fd2bd9db0f7827f, 0x3ff0d2fa5a70c168 + .quad 0x3fd343ed6989b7d9, 0x3ff0c0e0a8223359 + .quad 0x3fd3c9aa8b84beda, 0x3ff0ae54fa490723 + .quad 0x3fd44ed18d9f6462, 0x3ff09b58f724416b + .quad 0x3fd4d35ef3e5372e, 0x3ff087ee4d9ad247 + .quad 0x3fd5574f4ffac98e, 0x3ff07416b4fbfe7c + .quad 0x3fd5da9f415ff23f, 0x3ff05fd3ecbec298 + .quad 0x3fd65d4b75b00471, 0x3ff04b27bc403d30 + .quad 0x3fd6df50a8dff772, 0x3ff03613f2812daf + .quad 0x3fd760aba57a76bf, 0x3ff0209a65e29545 + .quad 0x3fd7e15944d9d3e4, 0x3ff00abcf3e187a9 + .quad 0x3fd861566f5fd3c0, 0x3fefe8fb01a47307 + .quad 0x3fd8e0a01cab516b, 0x3fefbbbbef34b4b2 + .quad 0x3fd95f3353cbb146, 0x3fef8dc092d58ff8 + .quad 0x3fd9dd0d2b721f39, 0x3fef5f0cdaf15313 + .quad 0x3fda5a2aca209394, 0x3fef2fa4c16c0019 + .quad 0x3fdad68966569a87, 0x3feeff8c4b1375db + .quad 0x3fdb522646bbda68, 0x3feecec7870ebca8 + .quad 0x3fdbccfec24855b8, 0x3fee9d5a8e4c934e + .quad 0x3fdc4710406a65fc, 0x3fee6b4982f158b9 + .quad 0x3fdcc058392a6d2d, 0x3fee38988fc46e72 + .quad 0x3fdd38d4354c3bd0, 0x3fee054be79d3042 + .quad 0x3fddb081ce6e2a48, 0x3fedd167c4cf9d2a + .quad 0x3fde275eaf25e458, 0x3fed9cf06898cdaf + .quad 0x3fde9d68931ae650, 0x3fed67ea1a8b5368 + .quad 0x3fdf129d471eabb1, 0x3fed325927fb9d89 + .quad 0x3fdf86faa9428f9d, 0x3fecfc41e36c7df9 + .quad 0x3fdffa7ea8eb5fd0, 0x3fecc5a8a3fbea40 + .quad 0x3fe03693a371519c, 0x3fec8e91c4d01368 + .quad 0x3fe06f794ab2cae7, 0x3fec5701a484ef9d + .quad 0x3fe0a7ef5c18edd2, 0x3fec1efca49a5011 + .quad 0x3fe0dff4f247f6c6, 0x3febe68728e29d5e + .quad 0x3fe1178930ada115, 0x3febada596f25436 + .quad 0x3fe14eab43841b55, 0x3feb745c55905bf8 + .quad 0x3fe1855a5fd3dd50, 0x3feb3aafcc27502e + .quad 0x3fe1bb95c3746199, 0x3feb00a46237d5be + .quad 0x3fe1f15cb50bc4de, 0x3feac63e7ecc1411 + .quad 0x3fe226ae840d4d70, 0x3fea8b8287ec6a09 + .quad 0x3fe25b8a88b6dd7f, 0x3fea5074e2157620 + .quad 0x3fe28ff0240d52cd, 0x3fea1519efaf889e + .quad 0x3fe2c3debfd7d6c1, 0x3fe9d97610879642 + .quad 0x3fe2f755ce9a21f4, 0x3fe99d8da149c13f + .quad 0x3fe32a54cb8db67b, 0x3fe96164fafd8de3 + .quad 0x3fe35cdb3a9a144d, 0x3fe925007283d7aa + .quad 0x3fe38ee8a84beb71, 0x3fe8e86458169af8 + .quad 0x3fe3c07ca9cb4f9e, 0x3fe8ab94f6caa71d + .quad 0x3fe3f196dcd0f135, 0x3fe86e9694134b9e + .quad 0x3fe42236e79a5fa6, 0x3fe8316d6f48133d + .quad 0x3fe4525c78dd5966, 0x3fe7f41dc12c9e89 + .quad 0x3fe4820747ba2dc2, 0x3fe7b6abbb7aaf19 + .quad 0x3fe4b13713ad3513, 0x3fe7791b886e7403 + .quad 0x3fe4dfeba47f63cc, 0x3fe73b714a552763 + .quad 0x3fe50e24ca35fd2c, 0x3fe6fdb11b1e0c34 + .quad 0x3fe53be25d016a4f, 0x3fe6bfdf0beddaf5 + .quad 0x3fe569243d2b3a9b, 0x3fe681ff24b4ab04 + .quad 0x3fe595ea53035283, 0x3fe6441563c665d4 + .quad 0x3fe5c2348ecc4dc3, 0x3fe60625bd75d07b + .quad 0x3fe5ee02e8a71a53, 0x3fe5c8341bb23767 + .quad 0x3fe61955607dd15d, 0x3fe58a445da7c74c + .quad 0x3fe6442bfdedd397, 0x3fe54c5a57629db0 + .quad 0x3fe66e86d0312e82, 0x3fe50e79d1749ac9 + .quad 0x3fe69865ee075011, 0x3fe4d0a6889dfd9f + .quad 0x3fe6c1c9759d0e5f, 0x3fe492e42d78d2c5 + .quad 0x3fe6eab18c74091b, 0x3fe4553664273d24 + .quad 0x3fe7131e5f496a5a, 0x3fe417a0c4049fd0 + .quad 0x3fe73b1021fc0cb8, 0x3fe3da26d759aef5 + .quad 0x3fe762870f720c6f, 0x3fe39ccc1b136d5a + .quad 0x3fe78983697dc96f, 0x3fe35f93fe7d1b3d + .quad 0x3fe7b00578c26037, 0x3fe32281e2fd1a92 + .quad 0x3fe7d60d8c979f7b, 0x3fe2e5991bd4cbfc + .quad 0x3fe7fb9bfaed8078, 0x3fe2a8dcede3673b + .quad 0x3fe820b1202f27fb, 0x3fe26c508f6bd0ff + .quad 0x3fe8454d5f25760d, 0x3fe22ff727dd6f7b + .quad 0x3fe8697120d92a4a, 0x3fe1f3d3cf9ffe5a + .quad 0x3fe88d1cd474a2e0, 0x3fe1b7e98fe26217 + .quad 0x3fe8b050ef253c37, 0x3fe17c3b626c7a12 + .quad 0x3fe8d30debfc572e, 0x3fe140cc3173f007 + .quad 0x3fe8f5544bd00c04, 0x3fe1059ed7740313 + .quad 0x3fe91724951b8fc6, 0x3fe0cab61f084b93 + .quad 0x3fe9387f53df5238, 0x3fe09014c2ca74da + .quad 0x3fe959651980da31, 0x3fe055bd6d32e8d7 + .quad 0x3fe979d67caa6631, 0x3fe01bb2b87c6968 + .quad 0x3fe999d4192a5715, 0x3fdfc3ee5d1524b0 + .quad 0x3fe9b95e8fd26aba, 0x3fdf511a91a67d2a + .quad 0x3fe9d8768656cc42, 0x3fdedeeee0959518 + .quad 0x3fe9f71ca72cffb6, 0x3fde6d6ffaa65a25 + .quad 0x3fea1551a16aaeaf, 0x3fddfca26f5bbf88 + .quad 0x3fea331628a45b92, 0x3fdd8c8aace11e63 + .quad 0x3fea506af4cc00f4, 0x3fdd1d2cfff91594 + .quad 0x3fea6d50c20fa293, 0x3fdcae8d93f1d7b7 + .quad 0x3fea89c850b7d54d, 0x3fdc40b0729ed548 + .quad 0x3feaa5d265064366, 0x3fdbd3998457afdb + .quad 0x3feac16fc7143263, 0x3fdb674c8ffc6283 + .quad 0x3feadca142b10f98, 0x3fdafbcd3afe8ab6 + .quad 0x3feaf767a741088b, 0x3fda911f096fbc26 + .quad 0x3feb11c3c79bb424, 0x3fda27455e14c93c + .quad 0x3feb2bb679ead19c, 0x3fd9be437a7de946 + .quad 0x3feb4540978921ee, 0x3fd9561c7f23a47b + .quad 0x3feb5e62fce16095, 0x3fd8eed36b886d93 + .quad 0x3feb771e894d602e, 0x3fd8886b1e5ecfd1 + .quad 0x3feb8f741ef54f83, 0x3fd822e655b417e7 + .quad 0x3feba764a2af2b78, 0x3fd7be47af1f5d89 + .quad 0x3febbef0fbde6221, 0x3fd75a91a7f4d2ed + .quad 0x3febd61a1453ab44, 0x3fd6f7c69d7d3ef8 + .quad 0x3febece0d82d1a5c, 0x3fd695e8cd31867e + .quad 0x3fec034635b66e23, 0x3fd634fa54fa285f + .quad 0x3fec194b1d49a184, 0x3fd5d4fd33729015 + .quad 0x3fec2ef0812fc1bd, 0x3fd575f3483021c3 + .quad 0x3fec443755820d64, 0x3fd517de540ce2a3 + .quad 0x3fec5920900b5fd1, 0x3fd4babff975a04c + .quad 0x3fec6dad2829ec62, 0x3fd45e99bcbb7915 + .quad 0x3fec81de16b14cef, 0x3fd4036d0468a7a2 + .quad 0x3fec95b455cce69d, 0x3fd3a93b1998736c + .quad 0x3feca930e0e2a825, 0x3fd35005285227f1 + .quad 0x3fecbc54b476248d, 0x3fd2f7cc3fe6f423 + .quad 0x3feccf20ce0c0d27, 0x3fd2a09153529381 + .quad 0x3fece1962c0e0d8b, 0x3fd24a55399ea239 + .quad 0x3fecf3b5cdaf0c39, 0x3fd1f518ae487dc8 + .quad 0x3fed0580b2cfd249, 0x3fd1a0dc51a9934d + .quad 0x3fed16f7dbe41ca0, 0x3fd14da0a961fd14 + .quad 0x3fed281c49d818d0, 0x3fd0fb6620c550af + .quad 0x3fed38eefdf64fdd, 0x3fd0aa2d09497f2b + .quad 0x3fed4970f9ce00d9, 0x3fd059f59af7a906 + .quad 0x3fed59a33f19ed42, 0x3fd00abff4dec7a3 + .quad 0x3fed6986cfa798e7, 0x3fcf79183b101c5b + .quad 0x3fed791cad3eff01, 0x3fcedeb406d9c825 + .quad 0x3fed8865d98abe01, 0x3fce4652fadcb6b2 + .quad 0x3fed97635600bb89, 0x3fcdaff4969c0b04 + .quad 0x3feda61623cb41e0, 0x3fcd1b982c501370 + .quad 0x3fedb47f43b2980d, 0x3fcc893ce1dcbef7 + .quad 0x3fedc29fb60715af, 0x3fcbf8e1b1ca2279 + .quad 0x3fedd0787a8bb39d, 0x3fcb6a856c3ed54f + .quad 0x3fedde0a90611a0d, 0x3fcade26b7fbed95 + .quad 0x3fedeb56f5f12d28, 0x3fca53c4135a6526 + .quad 0x3fedf85ea8db188e, 0x3fc9cb5bd549b111 + .quad 0x3fee0522a5dfda73, 0x3fc944ec2e4f5630 + .quad 0x3fee11a3e8cf4eb8, 0x3fc8c07329874652 + .quad 0x3fee1de36c75ba58, 0x3fc83deeada4d25a + .quad 0x3fee29e22a89d766, 0x3fc7bd5c7df3fe9c + .quad 0x3fee35a11b9b61ce, 0x3fc73eba3b5b07b7 + .quad 0x3fee4121370224cc, 0x3fc6c205655be720 + .quad 0x3fee4c6372cd8927, 0x3fc6473b5b15a7a1 + .quad 0x3fee5768c3b4a3fc, 0x3fc5ce595c455b0a + .quad 0x3fee62321d06c5e0, 0x3fc5575c8a468362 + .quad 0x3fee6cc0709c8a0d, 0x3fc4e241e912c305 + .quad 0x3fee7714aec96534, 0x3fc46f066040a832 + .quad 0x3fee812fc64db369, 0x3fc3fda6bc016994 + .quad 0x3fee8b12a44944a8, 0x3fc38e1fae1d6a9d + .quad 0x3fee94be342e6743, 0x3fc3206dceef5f87 + .quad 0x3fee9e335fb56f87, 0x3fc2b48d9e5dea1c + .quad 0x3feea7730ed0bbb9, 0x3fc24a7b84d38971 + .quad 0x3feeb07e27a133aa, 0x3fc1e233d434b813 + .quad 0x3feeb9558e6b42ce, 0x3fc17bb2c8d41535 + .quad 0x3feec1fa258c4bea, 0x3fc116f48a6476cc + .quad 0x3feeca6ccd709544, 0x3fc0b3f52ce8c383 + .quad 0x3feed2ae6489ac1e, 0x3fc052b0b1a174ea + .quad 0x3feedabfc7453e63, 0x3fbfe6460fef4680 + .quad 0x3feee2a1d004692c, 0x3fbf2a901ccafb37 + .quad 0x3feeea5557137ae0, 0x3fbe723726b824a9 + .quad 0x3feef1db32a2277c, 0x3fbdbd32ac4c99b0 + .quad 0x3feef93436bc2daa, 0x3fbd0b7a0f921e7c + .quad 0x3fef006135426b26, 0x3fbc5d0497c09e74 + .quad 0x3fef0762fde45ee6, 0x3fbbb1c972f23e50 + .quad 0x3fef0e3a5e1a1788, 0x3fbb09bfb7d11a84 + .quad 0x3fef14e8211e8c55, 0x3fba64de673e8837 + .quad 0x3fef1b6d0fea5f4d, 0x3fb9c31c6df3b1b8 + .quad 0x3fef21c9f12f0677, 0x3fb92470a61b6965 + .quad 0x3fef27ff89525acf, 0x3fb888d1d8e510a3 + .quad 0x3fef2e0e9a6a8b09, 0x3fb7f036c0107294 + .quad 0x3fef33f7e43a706b, 0x3fb75a96077274ba + .quad 0x3fef39bc242e43e6, 0x3fb6c7e64e7281cb + .quad 0x3fef3f5c1558b19e, 0x3fb6381e2980956b + .quad 0x3fef44d870704911, 0x3fb5ab342383d178 + .quad 0x3fef4a31ebcd47df, 0x3fb5211ebf41880b + .quad 0x3fef4f693b67bd77, 0x3fb499d478bca735 + .quad 0x3fef547f10d60597, 0x3fb4154bc68d75c3 + .quad 0x3fef59741b4b97cf, 0x3fb3937b1b31925a + .quad 0x3fef5e4907982a07, 0x3fb31458e6542847 + .quad 0x3fef62fe80272419, 0x3fb297db960e4f63 + .quad 0x3fef67952cff6282, 0x3fb21df9981f8e53 + .quad 0x3fef6c0db3c34641, 0x3fb1a6a95b1e786f + .quad 0x3fef7068b7b10fd9, 0x3fb131e14fa1625d + .quad 0x3fef74a6d9a38383, 0x3fb0bf97e95f2a64 + .quad 0x3fef78c8b812d498, 0x3fb04fc3a0481321 + .quad 0x3fef7cceef15d631, 0x3fafc4b5e32d6259 + .quad 0x3fef80ba18636f07, 0x3faeeea8c1b1db94 + .quad 0x3fef848acb544e95, 0x3fae1d4cf1e2450a + .quad 0x3fef88419ce4e184, 0x3fad508f9a1ea64f + .quad 0x3fef8bdf1fb78370, 0x3fac885df3451a07 + .quad 0x3fef8f63e416ebff, 0x3fabc4a54a84e834 + .quad 0x3fef92d077f8d56d, 0x3fab055303221015 + .quad 0x3fef96256700da8e, 0x3faa4a549829587e + .quad 0x3fef99633a838a57, 0x3fa993979e14fffe + .quad 0x3fef9c8a7989af0d, 0x3fa8e109c4622913 + .quad 0x3fef9f9ba8d3c733, 0x3fa83298d717210e + .quad 0x3fefa2974addae45, 0x3fa78832c03aa2b1 + .quad 0x3fefa57ddfe27376, 0x3fa6e1c5893c380b + .quad 0x3fefa84fe5e05c8d, 0x3fa63f3f5c4de13b + .quad 0x3fefab0dd89d1309, 0x3fa5a08e85af27e0 + .quad 0x3fefadb831a9f9c3, 0x3fa505a174e9c929 + .quad 0x3fefb04f6868a944, 0x3fa46e66be002240 + .quad 0x3fefb2d3f20f9101, 0x3fa3dacd1a8d8cce + .quad 0x3fefb54641aebbc9, 0x3fa34ac36ad8dafe + .quad 0x3fefb7a6c834b5a2, 0x3fa2be38b6d92415 + .quad 0x3fefb9f5f4739170, 0x3fa2351c2f2d1449 + .quad 0x3fefbc3433260ca5, 0x3fa1af5d2e04f3f6 + .quad 0x3fefbe61eef4cf6a, 0x3fa12ceb37ff9bc3 + .quad 0x3fefc07f907bc794, 0x3fa0adb5fcfa8c75 + .quad 0x3fefc28d7e4f9cd0, 0x3fa031ad58d56279 + .quad 0x3fefc48c1d033c7a, 0x3f9f7182a851bca2 + .quad 0x3fefc67bcf2d7b8f, 0x3f9e85c449e377f3 + .quad 0x3fefc85cf56ecd38, 0x3f9da0005e5f28df + .quad 0x3fefca2fee770c79, 0x3f9cc0180af00a8b + .quad 0x3fefcbf5170b578b, 0x3f9be5ecd2fcb5f9 + .quad 0x3fefcdacca0bfb73, 0x3f9b1160991ff737 + .quad 0x3fefcf57607a6e7c, 0x3f9a4255a00b9f03 + .quad 0x3fefd0f5317f582f, 0x3f9978ae8b55ce1b + .quad 0x3fefd2869270a56f, 0x3f98b44e6031383e + .quad 0x3fefd40bd6d7a785, 0x3f97f5188610ddc8 + .quad 0x3fefd58550773cb5, 0x3f973af0c737bb45 + .quad 0x3fefd6f34f52013a, 0x3f9685bb5134ef13 + .quad 0x3fefd85621b0876d, 0x3f95d55cb54cd53a + .quad 0x3fefd9ae142795e3, 0x3f9529b9e8cf9a1e + .quad 0x3fefdafb719e6a69, 0x3f9482b8455dc491 + .quad 0x3fefdc3e835500b3, 0x3f93e03d891b37de + .quad 0x3fefdd7790ea5bc0, 0x3f93422fd6d12e2b + .quad 0x3fefdea6e062d0c9, 0x3f92a875b5ffab56 + .quad 0x3fefdfccb62e52d3, 0x3f9212f612dee7fb + .quad 0x3fefe0e9552ebdd6, 0x3f9181983e5133dd + .quad 0x3fefe1fcfebe2083, 0x3f90f443edc5ce49 + .quad 0x3fefe307f2b503d0, 0x3f906ae13b0d3255 + .quad 0x3fefe40a6f70af4b, 0x3f8fcab1483ea7fc + .quad 0x3fefe504b1d9696c, 0x3f8ec72615a894c4 + .quad 0x3fefe5f6f568b301, 0x3f8dcaf3691fc448 + .quad 0x3fefe6e1742f7cf6, 0x3f8cd5ec93c12432 + .quad 0x3fefe7c466dc57a1, 0x3f8be7e5ac24963b + .quad 0x3fefe8a004c19ae6, 0x3f8b00b38d6b3575 + .quad 0x3fefe97483db8670, 0x3f8a202bd6372dce + .quad 0x3fefea4218d6594a, 0x3f894624e78e0faf + .quad 0x3fefeb08f7146046, 0x3f887275e3a6869e + .quad 0x3fefebc950b3fa75, 0x3f87a4f6aca256cb + .quad 0x3fefec835695932e, 0x3f86dd7fe3358230 + .quad 0x3fefed37386190fb, 0x3f861beae53b72b7 + .quad 0x3fefede5248e38f4, 0x3f856011cc3b036d + .quad 0x3fefee8d486585ee, 0x3f84a9cf6bda3f4c + .quad 0x3fefef2fd00af31a, 0x3f83f8ff5042a88e + .quad 0x3fefefcce6813974, 0x3f834d7dbc76d7e5 + .quad 0x3feff064b5afffbe, 0x3f82a727a89a3f14 + .quad 0x3feff0f766697c76, 0x3f8205dac02bd6b9 + .quad 0x3feff18520700971, 0x3f81697560347b26 + .quad 0x3feff20e0a7ba8c2, 0x3f80d1d69569b82d + .quad 0x3feff2924a3f7a83, 0x3f803ede1a45bfee + .quad 0x3feff312046f2339, 0x3f7f60d8aa2a88f2 + .quad 0x3feff38d5cc4227f, 0x3f7e4cc4abf7d065 + .quad 0x3feff404760319b4, 0x3f7d4143a9dfe965 + .quad 0x3feff47772010262, 0x3f7c3e1a5f5c077c + .quad 0x3feff4e671a85425, 0x3f7b430ecf4a83a8 + .quad 0x3feff55194fe19df, 0x3f7a4fe83fb9db25 + .quad 0x3feff5b8fb26f5f6, 0x3f79646f35a76624 + .quad 0x3feff61cc26c1578, 0x3f78806d70b2fc36 + .quad 0x3feff67d08401202, 0x3f77a3ade6c8b3e5 + .quad 0x3feff6d9e943c231, 0x3f76cdfcbfc1e263 + .quad 0x3feff733814af88c, 0x3f75ff2750fe7820 + .quad 0x3feff789eb6130c9, 0x3f7536fc18f7ce5c + .quad 0x3feff7dd41ce2b4d, 0x3f74754abacdf1dc + .quad 0x3feff82d9e1a76d8, 0x3f73b9e3f9d06e3f + .quad 0x3feff87b1913e853, 0x3f730499b503957f + .quad 0x3feff8c5cad200a5, 0x3f72553ee2a336bf + .quad 0x3feff90dcaba4096, 0x3f71aba78ba3af89 + .quad 0x3feff9532f846ab0, 0x3f7107a8c7323a6e + .quad 0x3feff9960f3eb327, 0x3f706918b6355624 + .quad 0x3feff9d67f51ddba, 0x3f6f9f9cfd9c3035 + .quad 0x3feffa14948549a7, 0x3f6e77448fb66bb9 + .quad 0x3feffa506302ebae, 0x3f6d58da68fd1170 + .quad 0x3feffa89fe5b3625, 0x3f6c4412bf4b8f0b + .quad 0x3feffac17988ef4b, 0x3f6b38a3af2e55b4 + .quad 0x3feffaf6e6f4f5c0, 0x3f6a3645330550ff + .quad 0x3feffb2a5879f35e, 0x3f693cb11a30d765 + .quad 0x3feffb5bdf67fe6f, 0x3f684ba3004a50d0 + .quad 0x3feffb8b8c88295f, 0x3f6762d84469c18f + .quad 0x3feffbb970200110, 0x3f66821000795a03 + .quad 0x3feffbe599f4f9d9, 0x3f65a90b00981d93 + .quad 0x3feffc10194fcb64, 0x3f64d78bba8ca5fd + .quad 0x3feffc38fcffbb7c, 0x3f640d564548fad7 + .quad 0x3feffc60535dd7f5, 0x3f634a305080681f + .quad 0x3feffc862a501fd7, 0x3f628de11c5031eb + .quad 0x3feffcaa8f4c9bea, 0x3f61d83170fbf6fb + .quad 0x3feffccd8f5c66d1, 0x3f6128eb96be8798 + .quad 0x3feffcef371ea4d7, 0x3f607fdb4dafea5f + .quad 0x3feffd0f92cb6ba7, 0x3f5fb99b8b8279e1 + .quad 0x3feffd2eae369a07, 0x3f5e7f232d9e2630 + .quad 0x3feffd4c94d29fdb, 0x3f5d4fed7195d7e8 + .quad 0x3feffd6951b33686, 0x3f5c2b9cf7f893bf + .quad 0x3feffd84ef9009ee, 0x3f5b11d702b3deb2 + .quad 0x3feffd9f78c7524a, 0x3f5a024365f771bd + .quad 0x3feffdb8f7605ee7, 0x3f58fc8c794b03b5 + .quad 0x3feffdd1750e1220, 0x3f58005f08d6f1ef + .quad 0x3feffde8fb314ebf, 0x3f570d6a46e07dda + .quad 0x3feffdff92db56e5, 0x3f56235fbd7a4345 + .quad 0x3feffe1544d01ccb, 0x3f5541f340697987 + .quad 0x3feffe2a1988857c, 0x3f5468dadf4080ab + .quad 0x3feffe3e19349dc7, 0x3f5397ced7af2b15 + .quad 0x3feffe514bbdc197, 0x3f52ce898809244e + .quad 0x3feffe63b8c8b5f7, 0x3f520cc76202c5fb + .quad 0x3feffe7567b7b5e1, 0x3f515246dda49d47 + .quad 0x3feffe865fac722b, 0x3f509ec86c75d497 + .quad 0x3feffe96a78a04a9, 0x3f4fe41cd9bb4eee + .quad 0x3feffea645f6d6da, 0x3f4e97ba3b77f306 + .quad 0x3feffeb5415e7c44, 0x3f4d57f524723822 + .quad 0x3feffec39ff380b9, 0x3f4c245d4b99847a + .quad 0x3feffed167b12ac2, 0x3f4afc85e0f82e12 + .quad 0x3feffede9e5d3262, 0x3f49e005769dbc1d + .quad 0x3feffeeb49896c6d, 0x3f48ce75e9f6f8a0 + .quad 0x3feffef76e956a9f, 0x3f47c7744d9378f7 + .quad 0x3fefff0312b010b5, 0x3f46caa0d3582fe9 + .quad 0x3fefff0e3ad91ec2, 0x3f45d79eb71e893b + .quad 0x3fefff18ebe2b0e1, 0x3f44ee1429bf7cc0 + .quad 0x3fefff232a72b48e, 0x3f440daa3c89f5b6 + .quad 0x3fefff2cfb0453d9, 0x3f43360ccd23db3a + .quad 0x3fefff3661e9569d, 0x3f4266ea71d4f71a + .quad 0x3fefff3f634b79f9, 0x3f419ff4663ae9df + .quad 0x3fefff48032dbe40, 0x3f40e0de78654d1e + .quad 0x3fefff50456dab8c, 0x3f40295ef6591848 + .quad 0x3fefff582dc48d30, 0x3f3ef25d37f49fe1 + .quad 0x3fefff5fbfc8a439, 0x3f3da01102b5f851 + .quad 0x3fefff66feee5129, 0x3f3c5b5412dcafad + .quad 0x3fefff6dee89352e, 0x3f3b23a5a23e4210 + .quad 0x3fefff7491cd4af6, 0x3f39f8893d8fd1c1 + .quad 0x3fefff7aebcff755, 0x3f38d986a4187285 + .quad 0x3fefff80ff8911fd, 0x3f37c629a822bc9e + .quad 0x3fefff86cfd3e657, 0x3f36be02102b3520 + .quad 0x3fefff8c5f702ccf, 0x3f35c0a378c90bca + .quad 0x3fefff91b102fca8, 0x3f34cda5374ea275 + .quad 0x3fefff96c717b695, 0x3f33e4a23d1f4703 + .quad 0x3fefff9ba420e834, 0x3f330538fbb77ecd + .quad 0x3fefffa04a7928b1, 0x3f322f0b496539be + .quad 0x3fefffa4bc63ee9a, 0x3f3161be46ad3b50 + .quad 0x3fefffa8fc0e5f33, 0x3f309cfa445b00ff + .quad 0x3fefffad0b901755, 0x3f2fc0d55470cf51 + .quad 0x3fefffb0ecebee1b, 0x3f2e577bbcd49935 + .quad 0x3fefffb4a210b172, 0x3f2cfd4a5adec5c0 + .quad 0x3fefffb82cd9dcbf, 0x3f2bb1a9657ce465 + .quad 0x3fefffbb8f1049c6, 0x3f2a740684026555 + .quad 0x3fefffbeca6adbe9, 0x3f2943d4a1d1ed39 + .quad 0x3fefffc1e08f25f5, 0x3f28208bc334a6a5 + .quad 0x3fefffc4d3120aa1, 0x3f2709a8db59f25c + .quad 0x3fefffc7a37857d2, 0x3f25feada379d8b7 + .quad 0x3fefffca53375ce3, 0x3f24ff207314a102 + .quad 0x3fefffcce3b57bff, 0x3f240a8c1949f75e + .quad 0x3fefffcf564ab6b7, 0x3f23207fb7420eb9 + .quad 0x3fefffd1ac4135f9, 0x3f22408e9ba3327f + .quad 0x3fefffd3e6d5cd87, 0x3f216a501f0e42ca + .quad 0x3fefffd607387b07, 0x3f209d5f819c9e29 + .quad 0x3fefffd80e8ce0da, 0x3f1fb2b792b40a22 + .quad 0x3fefffd9fdeabcce, 0x3f1e3bcf436a1a95 + .quad 0x3fefffdbd65e5ad0, 0x3f1cd55277c18d05 + .quad 0x3fefffdd98e903b2, 0x3f1b7e94604479dc + .quad 0x3fefffdf46816833, 0x3f1a36eec00926dd + .quad 0x3fefffe0e0140857, 0x3f18fdc1b2dcf7b9 + .quad 0x3fefffe26683972a, 0x3f17d2737527c3f9 + .quad 0x3fefffe3daa95b18, 0x3f16b4702d7d5849 + .quad 0x3fefffe53d558ae9, 0x3f15a329b7d30748 + .quad 0x3fefffe68f4fa777, 0x3f149e17724f4d41 + .quad 0x3fefffe7d156d244, 0x3f13a4b60ba9aa4e + .quad 0x3fefffe904222101, 0x3f12b6875310f785 + .quad 0x3fefffea2860ee1e, 0x3f11d312098e9dba + .quad 0x3fefffeb3ebb267b, 0x3f10f9e1b4dd36df + .quad 0x3fefffec47d19457, 0x3f102a8673a94692 + .quad 0x3fefffed443e2787, 0x3f0ec929a665b449 + .quad 0x3fefffee34943b15, 0x3f0d4f4b4c8e09ed + .quad 0x3fefffef1960d85d, 0x3f0be6abbb10a5aa + .quad 0x3fefffeff32af7af, 0x3f0a8e8cc1fadef6 + .quad 0x3feffff0c273bea2, 0x3f094637d5bacfdb + .quad 0x3feffff187b6bc0e, 0x3f080cfdc72220cf + .quad 0x3feffff2436a21dc, 0x3f06e2367dc27f95 + .quad 0x3feffff2f5fefcaa, 0x3f05c540b4936fd2 + .quad 0x3feffff39fe16963, 0x3f04b581b8d170fc + .quad 0x3feffff44178c8d2, 0x3f03b2652b06c2b2 + .quad 0x3feffff4db27f146, 0x3f02bb5cc22e5db6 + .quad 0x3feffff56d4d5e5e, 0x3f01cfe010e2052d + .quad 0x3feffff5f8435efc, 0x3f00ef6c4c84a0fe + .quad 0x3feffff67c604180, 0x3f001984165a5f36 + .quad 0x3feffff6f9f67e55, 0x3efe9b5e8d00ce77 + .quad 0x3feffff77154e0d6, 0x3efd16f5716c6c1a + .quad 0x3feffff7e2c6aea2, 0x3efba4f035d60e03 + .quad 0x3feffff84e93cd75, 0x3efa447b7b03f045 + .quad 0x3feffff8b500e77c, 0x3ef8f4ccca7fc90d + .quad 0x3feffff9164f8e46, 0x3ef7b5223dac7336 + .quad 0x3feffff972be5c59, 0x3ef684c227fcacef + .quad 0x3feffff9ca891572, 0x3ef562fac4329b48 + .quad 0x3feffffa1de8c582, 0x3ef44f21e49054f2 + .quad 0x3feffffa6d13de73, 0x3ef34894a5e24657 + .quad 0x3feffffab83e54b8, 0x3ef24eb7254ccf83 + .quad 0x3feffffaff99bac4, 0x3ef160f438c70913 + .quad 0x3feffffb43555b5f, 0x3ef07ebd2a2d2844 + .quad 0x3feffffb839e52f3, 0x3eef4f12e9ab070a + .quad 0x3feffffbc09fa7cd, 0x3eedb5ad0b27805c + .quad 0x3feffffbfa82616b, 0x3eec304efa2c6f4e + .quad 0x3feffffc316d9ed0, 0x3eeabe09e9144b5e + .quad 0x3feffffc6586abf6, 0x3ee95df988e76644 + .quad 0x3feffffc96f1165e, 0x3ee80f439b4ee04b + .quad 0x3feffffcc5cec0c1, 0x3ee6d11788a69c64 + .quad 0x3feffffcf23ff5fc, 0x3ee5a2adfa0b4bc4 + .quad 0x3feffffd1c637b2b, 0x3ee4834877429b8f + .quad 0x3feffffd4456a10d, 0x3ee37231085c7d9a + .quad 0x3feffffd6a3554a1, 0x3ee26eb9daed6f7e + .quad 0x3feffffd8e1a2f22, 0x3ee1783ceac28910 + .quad 0x3feffffdb01e8546, 0x3ee08e1badf0fced + .quad 0x3feffffdd05a75ea, 0x3edf5f7d88472604 + .quad 0x3feffffdeee4f810, 0x3eddb92b5212fb8d + .quad 0x3feffffe0bd3e852, 0x3edc282cd3957eda + .quad 0x3feffffe273c15b7, 0x3edaab7abace48dc + .quad 0x3feffffe41314e06, 0x3ed94219bfcb4928 + .quad 0x3feffffe59c6698b, 0x3ed7eb1a2075864e + .quad 0x3feffffe710d565e, 0x3ed6a597219a93da + .quad 0x3feffffe8717232d, 0x3ed570b69502f313 + .quad 0x3feffffe9bf4098c, 0x3ed44ba864670882 + .quad 0x3feffffeafb377d5, 0x3ed335a62115bce2 + .quad 0x3feffffec2641a9e, 0x3ed22df298214423 + .quad 0x3feffffed413e5b7, 0x3ed133d96ae7e0dd + .quad 0x3feffffee4d01cd6, 0x3ed046aeabcfcdec + .quad 0x3feffffef4a55bd4, 0x3ececb9cfe1d8642 + .quad 0x3fefffff039f9e8f, 0x3ecd21397ead99cb + .quad 0x3fefffff11ca4876, 0x3ecb8d094c86d374 + .quad 0x3fefffff1f302bc1, 0x3eca0df0f0c626dc + .quad 0x3fefffff2bdb904d, 0x3ec8a2e269750a39 + .quad 0x3fefffff37d63a36, 0x3ec74adc8f4064d3 + .quad 0x3fefffff43297019, 0x3ec604ea819f007c + .quad 0x3fefffff4dde0118, 0x3ec4d0231928c6f9 + .quad 0x3fefffff57fc4a95, 0x3ec3aba85fe22e20 + .quad 0x3fefffff618c3da6, 0x3ec296a70f414053 + .quad 0x3fefffff6a956450, 0x3ec1905613b3abf2 + .quad 0x3fefffff731ee681, 0x3ec097f6156f32c5 + .quad 0x3fefffff7b2f8ed6, 0x3ebf59a20caf6695 + .quad 0x3fefffff82cdcf1b, 0x3ebd9c73698fb1dc + .quad 0x3fefffff89ffc4aa, 0x3ebbf716c6168bae + .quad 0x3fefffff90cb3c81, 0x3eba6852c6b58392 + .quad 0x3fefffff9735b73b, 0x3eb8eefd70594a89 + .quad 0x3fefffff9d446ccc, 0x3eb789fb715aae95 + .quad 0x3fefffffa2fc5015, 0x3eb6383f726a8e04 + .quad 0x3fefffffa8621251, 0x3eb4f8c96f26a26a + .quad 0x3fefffffad7a2652, 0x3eb3caa61607f920 + .quad 0x3fefffffb248c39d, 0x3eb2acee2f5ecdb8 + .quad 0x3fefffffb6d1e95d, 0x3eb19ec60b1242ed + .quad 0x3fefffffbb196132, 0x3eb09f5cf4dd2877 + .quad 0x3fefffffbf22c1e2, 0x3eaf5bd95d8730d8 + .quad 0x3fefffffc2f171e3, 0x3ead9371e2ff7c35 + .quad 0x3fefffffc688a9cf, 0x3eabe41de54d155a + .quad 0x3fefffffc9eb76ac, 0x3eaa4c89e08ef4f3 + .quad 0x3fefffffcd1cbc28, 0x3ea8cb738399b12c + .quad 0x3fefffffd01f36af, 0x3ea75fa8dbc84bec + .quad 0x3fefffffd2f57d68, 0x3ea608078a70dcbc + .quad 0x3fefffffd5a2041f, 0x3ea4c37c0394d094 + .quad 0x3fefffffd8271d12, 0x3ea39100d5687bfe + .quad 0x3fefffffda86faa9, 0x3ea26f9df8519bd7 + .quad 0x3fefffffdcc3b117, 0x3ea15e6827001f18 + .quad 0x3fefffffdedf37ed, 0x3ea05c803e4831c1 + .quad 0x3fefffffe0db6b91, 0x3e9ed22548cffd35 + .quad 0x3fefffffe2ba0ea5, 0x3e9d06ad6ecdf971 + .quad 0x3fefffffe47ccb60, 0x3e9b551c847fbc96 + .quad 0x3fefffffe62534d4, 0x3e99bc09f112b494 + .quad 0x3fefffffe7b4c81e, 0x3e983a1ff0aa239d + .quad 0x3fefffffe92ced93, 0x3e96ce1aa3fd7bdd + .quad 0x3fefffffea8ef9cf, 0x3e9576c72b514859 + .quad 0x3fefffffebdc2ec6, 0x3e943302cc4a0da8 + .quad 0x3fefffffed15bcba, 0x3e9301ba221dc9bb + .quad 0x3fefffffee3cc32c, 0x3e91e1e857adc568 + .quad 0x3fefffffef5251c2, 0x3e90d2966b1746f7 + .quad 0x3feffffff0576917, 0x3e8fa5b4f49cc6b2 + .quad 0x3feffffff14cfb92, 0x3e8dc3ae30b55c16 + .quad 0x3feffffff233ee1d, 0x3e8bfd7555a3bd68 + .quad 0x3feffffff30d18e8, 0x3e8a517d9e61628a + .quad 0x3feffffff3d9480f, 0x3e88be4f8f6c951f + .quad 0x3feffffff4993c46, 0x3e874287ded49339 + .quad 0x3feffffff54dab72, 0x3e85dcd669f2cd34 + .quad 0x3feffffff5f74141, 0x3e848bfd38302871 + .quad 0x3feffffff6969fb8, 0x3e834ecf8a3c124a + .quad 0x3feffffff72c5fb6, 0x3e822430f521cbcf + .quad 0x3feffffff7b91176, 0x3e810b1488aeb235 + .quad 0x3feffffff83d3d07, 0x3e80027c00a263a6 + .quad 0x3feffffff8b962be, 0x3e7e12ee004efc37 + .quad 0x3feffffff92dfba2, 0x3e7c3e44ae32b16b + .quad 0x3feffffff99b79d2, 0x3e7a854ea14102a8 + .quad 0x3feffffffa0248e8, 0x3e78e6761569f45d + .quad 0x3feffffffa62ce54, 0x3e77603bac345f65 + .quad 0x3feffffffabd69b4, 0x3e75f1353cdad001 + .quad 0x3feffffffb127525, 0x3e74980cb3c80949 + .quad 0x3feffffffb624592, 0x3e73537f00b6ad4d + .quad 0x3feffffffbad2aff, 0x3e72225b12bffc68 + .quad 0x3feffffffbf370cd, 0x3e710380e1adb7e9 + .quad 0x3feffffffc355dfd, 0x3e6febc107d5efaa + .quad 0x3feffffffc733572, 0x3e6df0f2a0ee6947 + .quad 0x3feffffffcad3626, 0x3e6c14b2188bcee4 + .quad 0x3feffffffce39b67, 0x3e6a553644f7f07d + .quad 0x3feffffffd169d0c, 0x3e68b0cfce0579e0 + .quad 0x3feffffffd466fa5, 0x3e6725e7c5dd20f7 + .quad 0x3feffffffd7344aa, 0x3e65b2fe547a1340 + .quad 0x3feffffffd9d4aab, 0x3e6456a974e92e93 + .quad 0x3feffffffdc4ad7a, 0x3e630f93c3699078 + .quad 0x3feffffffde9964e, 0x3e61dc7b5b978cf8 + .quad 0x3feffffffe0c2bf0, 0x3e60bc30c5d52f15 + .quad 0x3feffffffe2c92db, 0x3e5f5b2be65a0c7f + .quad 0x3feffffffe4aed5e, 0x3e5d5f3a8dea7357 + .quad 0x3feffffffe675bbd, 0x3e5b82915b03515b + .quad 0x3feffffffe81fc4e, 0x3e59c3517e789488 + .quad 0x3feffffffe9aeb97, 0x3e581fb7df06136e + .quad 0x3feffffffeb24467, 0x3e56961b8d641d06 + .quad 0x3feffffffec81ff2, 0x3e5524ec4d916cae + .quad 0x3feffffffedc95e7, 0x3e53cab1343d18d1 + .quad 0x3feffffffeefbc85, 0x3e52860757487a01 + .quad 0x3fefffffff01a8b6, 0x3e5155a09065d4f7 + .quad 0x3fefffffff126e1e, 0x3e50384250e4c9fc + .quad 0x3fefffffff221f30, 0x3e4e59890b926c78 + .quad 0x3fefffffff30cd3f, 0x3e4c642116a8a9e3 + .quad 0x3fefffffff3e8892, 0x3e4a8e405e651ab6 + .quad 0x3fefffffff4b606f, 0x3e48d5f98114f872 + .quad 0x3fefffffff57632d, 0x3e47397c5a66e307 + .quad 0x3fefffffff629e44, 0x3e45b71456c5a4c4 + .quad 0x3fefffffff6d1e56, 0x3e444d26de513197 + .quad 0x3fefffffff76ef3f, 0x3e42fa31d6371537 + .quad 0x3fefffffff801c1f, 0x3e41bcca373b7b43 + .quad 0x3fefffffff88af67, 0x3e40939ab853339f + .quad 0x3fefffffff90b2e3, 0x3e3efac5187b2863 + .quad 0x3fefffffff982fc1, 0x3e3cf1e86235d0e7 + .quad 0x3fefffffff9f2e9f, 0x3e3b0a68a2128bab + .quad 0x3fefffffffa5b790, 0x3e39423165bc4444 + .quad 0x3fefffffffabd229, 0x3e37974e743dea3d + .quad 0x3fefffffffb18582, 0x3e3607e9eacd1050 + .quad 0x3fefffffffb6d844, 0x3e34924a74dec729 + .quad 0x3fefffffffbbd0aa, 0x3e3334d19e0c2160 + .quad 0x3fefffffffc0748f, 0x3e31edfa3c5f5cca + .quad 0x3fefffffffc4c96c, 0x3e30bc56f1b54701 + .quad 0x3fefffffffc8d462, 0x3e2f3d2185e047d9 + .quad 0x3fefffffffcc9a41, 0x3e2d26cb87945e87 + .quad 0x3fefffffffd01f89, 0x3e2b334fac4b9f99 + .quad 0x3fefffffffd36871, 0x3e296076f7918d1c + .quad 0x3fefffffffd678ed, 0x3e27ac2d72fc2c63 + .quad 0x3fefffffffd954ae, 0x3e2614801550319e + .quad 0x3fefffffffdbff2a, 0x3e24979ac8b28927 + .quad 0x3fefffffffde7ba0, 0x3e2333c68e2d0548 + .quad 0x3fefffffffe0cd16, 0x3e21e767bce37dd7 + .quad 0x3fefffffffe2f664, 0x3e20b0fc5b6d05a0 + .quad 0x3fefffffffe4fa30, 0x3e1f1e3523b41d7d + .quad 0x3fefffffffe6daf7, 0x3e1d00de6608effe + .quad 0x3fefffffffe89b0c, 0x3e1b0778b7b3301b + .quad 0x3fefffffffea3c9a, 0x3e192fb04ec0f6cf + .quad 0x3fefffffffebc1a9, 0x3e177756ec9f78fa + .quad 0x3fefffffffed2c21, 0x3e15dc61922d5a06 + .quad 0x3fefffffffee7dc8, 0x3e145ce65699ff6d + .quad 0x3fefffffffefb847, 0x3e12f71a5f159970 + .quad 0x3feffffffff0dd2b, 0x3e11a94ff571654f + .quad 0x3feffffffff1ede9, 0x3e1071f4bbea09ec + .quad 0x3feffffffff2ebda, 0x3e0e9f1ff8ddd774 + .quad 0x3feffffffff3d843, 0x3e0c818223a202c7 + .quad 0x3feffffffff4b453, 0x3e0a887bd2b4404d + .quad 0x3feffffffff58126, 0x3e08b1a336c5eb6b + .quad 0x3feffffffff63fc3, 0x3e06fab63324088a + .quad 0x3feffffffff6f121, 0x3e056197e30205ba + .quad 0x3feffffffff79626, 0x3e03e44e45301b92 + .quad 0x3feffffffff82fab, 0x3e0281000bfe4c3f + .quad 0x3feffffffff8be77, 0x3e0135f28f2d50b4 + .quad 0x3feffffffff94346, 0x3e000187dded5975 + .quad 0x3feffffffff9bec8, 0x3dfdc479de0ef001 + .quad 0x3feffffffffa319f, 0x3dfbad4fdad3caa1 + .quad 0x3feffffffffa9c63, 0x3df9baed3ed27ab8 + .quad 0x3feffffffffaffa4, 0x3df7ead9ce4285bb + .quad 0x3feffffffffb5be5, 0x3df63ac6b4edc88e + .quad 0x3feffffffffbb1a2, 0x3df4a88be2a6390c + .quad 0x3feffffffffc014e, 0x3df332259185f1a0 + .quad 0x3feffffffffc4b56, 0x3df1d5b1f3793044 + .quad 0x3feffffffffc901c, 0x3df0916f04b6e18b + .quad 0x3feffffffffccfff, 0x3deec77101de6926 + .quad 0x3feffffffffd0b56, 0x3dec960bf23153e0 + .quad 0x3feffffffffd4271, 0x3dea8bd20fc65ef7 + .quad 0x3feffffffffd759d, 0x3de8a61745ec7d1d + .quad 0x3feffffffffda520, 0x3de6e25d0e756261 + .quad 0x3feffffffffdd13c, 0x3de53e4f7d1666cb + .quad 0x3feffffffffdfa2d, 0x3de3b7c27a7ddb0e + .quad 0x3feffffffffe202d, 0x3de24caf2c32af14 + .quad 0x3feffffffffe4371, 0x3de0fb3186804d0f + .quad 0x3feffffffffe642a, 0x3ddf830c0bb41fd7 + .quad 0x3feffffffffe8286, 0x3ddd3c0f1a91c846 + .quad 0x3feffffffffe9eb0, 0x3ddb1e5acf351d87 + .quad 0x3feffffffffeb8d0, 0x3dd92712d259ce66 + .quad 0x3feffffffffed10a, 0x3dd7538c60a04476 + .quad 0x3feffffffffee782, 0x3dd5a14b04b47879 + .quad 0x3feffffffffefc57, 0x3dd40dfd87456f4c + .quad 0x3fefffffffff0fa7, 0x3dd2977b1172b9d5 + .quad 0x3fefffffffff218f, 0x3dd13bc07e891491 + .quad 0x3fefffffffff3227, 0x3dcff1dbb4300811 + .quad 0x3fefffffffff4188, 0x3dcd9a880f306bd8 + .quad 0x3fefffffffff4fc9, 0x3dcb6e45220b55e0 + .quad 0x3fefffffffff5cfd, 0x3dc96a0b33f2c4da + .quad 0x3fefffffffff6939, 0x3dc78b07e9e924ac + .quad 0x3fefffffffff748e, 0x3dc5ce9ab1670dd2 + .quad 0x3fefffffffff7f0d, 0x3dc4325167006bb0 + .quad 0x3fefffffffff88c5, 0x3dc2b3e53538ff3f + .quad 0x3fefffffffff91c6, 0x3dc15137a7f44864 + .quad 0x3fefffffffff9a1b, 0x3dc0084ff125639d + .quad 0x3fefffffffffa1d2, 0x3dbdaeb0b7311ec7 + .quad 0x3fefffffffffa8f6, 0x3dbb7937d1c40c53 + .quad 0x3fefffffffffaf92, 0x3db96d082f59ab06 + .quad 0x3fefffffffffb5b0, 0x3db7872d9fa10aad + .quad 0x3fefffffffffbb58, 0x3db5c4e8e37bc7d0 + .quad 0x3fefffffffffc095, 0x3db423ac0df49a40 + .quad 0x3fefffffffffc56d, 0x3db2a117230ad284 + .quad 0x3fefffffffffc9e8, 0x3db13af4f04f9998 + .quad 0x3fefffffffffce0d, 0x3dafde703724e560 + .quad 0x3fefffffffffd1e1, 0x3dad77f0c82e7641 + .quad 0x3fefffffffffd56c, 0x3dab3ee02611d7dd + .quad 0x3fefffffffffd8b3, 0x3da92ff33023d5bd + .quad 0x3fefffffffffdbba, 0x3da7481a9e69f53f + .quad 0x3fefffffffffde86, 0x3da5847eda620959 + .quad 0x3fefffffffffe11d, 0x3da3e27c1fcc74bd + .quad 0x3fefffffffffe380, 0x3da25f9ee0b923dc + .quad 0x3fefffffffffe5b6, 0x3da0f9a068653200 + .quad 0x3fefffffffffe7c0, 0x3d9f5cc7718082b0 + .quad 0x3fefffffffffe9a2, 0x3d9cf7e53d6a2ca5 + .quad 0x3fefffffffffeb60, 0x3d9ac0f5f3229372 + .quad 0x3fefffffffffecfb, 0x3d98b498644847ea + .quad 0x3fefffffffffee77, 0x3d96cfa9bcca59dc + .quad 0x3fefffffffffefd6, 0x3d950f411d4fd2cd + .quad 0x3feffffffffff11a, 0x3d9370ab8327af5e + .quad 0x3feffffffffff245, 0x3d91f167f88c6b6e + .quad 0x3feffffffffff359, 0x3d908f24085d4597 + .quad 0x3feffffffffff457, 0x3d8e8f70e181d61a + .quad 0x3feffffffffff542, 0x3d8c324c20e337dc + .quad 0x3feffffffffff61b, 0x3d8a03261574b54e + .quad 0x3feffffffffff6e3, 0x3d87fe903cdf5855 + .quad 0x3feffffffffff79b, 0x3d86215c58da3450 + .quad 0x3feffffffffff845, 0x3d846897d4b69fc6 + .quad 0x3feffffffffff8e2, 0x3d82d1877d731b7b + .quad 0x3feffffffffff973, 0x3d8159a386b11517 + .quad 0x3feffffffffff9f8, 0x3d7ffd27ae9393ce + .quad 0x3feffffffffffa73, 0x3d7d7c593130dd0b + .quad 0x3feffffffffffae4, 0x3d7b2cd607c79bcf + .quad 0x3feffffffffffb4c, 0x3d790ae4d3405651 + .quad 0x3feffffffffffbad, 0x3d771312dd1759e2 + .quad 0x3feffffffffffc05, 0x3d75422ef5d8949d + .quad 0x3feffffffffffc57, 0x3d739544b0ecc957 + .quad 0x3feffffffffffca2, 0x3d720997f73e73dd + .quad 0x3feffffffffffce7, 0x3d709ca0eaacd277 + .quad 0x3feffffffffffd27, 0x3d6e9810295890ec + .quad 0x3feffffffffffd62, 0x3d6c2b45b5aa4a1d + .quad 0x3feffffffffffd98, 0x3d69eee068fa7596 + .quad 0x3feffffffffffdca, 0x3d67df2b399c10a8 + .quad 0x3feffffffffffdf8, 0x3d65f8b87a31bd85 + .quad 0x3feffffffffffe22, 0x3d64385c96e9a2d9 + .quad 0x3feffffffffffe49, 0x3d629b2933ef4cbc + .quad 0x3feffffffffffe6c, 0x3d611e68a6378f8a + .quad 0x3feffffffffffe8d, 0x3d5f7f338086a86b + .quad 0x3feffffffffffeab, 0x3d5cf8d7d9ce040a + .quad 0x3feffffffffffec7, 0x3d5aa577251ae485 + .quad 0x3feffffffffffee1, 0x3d58811d739efb5f + .quad 0x3feffffffffffef8, 0x3d568823e52970be + .quad 0x3fefffffffffff0e, 0x3d54b72ae68e8b4c + .quad 0x3fefffffffffff22, 0x3d530b14dbe876bc + .quad 0x3fefffffffffff34, 0x3d5181012ef86610 + .quad 0x3fefffffffffff45, 0x3d501647ba798745 + .quad 0x3fefffffffffff54, 0x3d4d90e917701675 + .quad 0x3fefffffffffff62, 0x3d4b2a87e86d0c8a + .quad 0x3fefffffffffff6f, 0x3d48f53dcb377293 + .quad 0x3fefffffffffff7b, 0x3d46ed2f2515e933 + .quad 0x3fefffffffffff86, 0x3d450ecc9ed47f19 + .quad 0x3fefffffffffff90, 0x3d4356cd5ce7799e + .quad 0x3fefffffffffff9a, 0x3d41c229a587ab78 + .quad 0x3fefffffffffffa2, 0x3d404e15ecc7f3f6 + .quad 0x3fefffffffffffaa, 0x3d3deffc7e6a6017 + .quad 0x3fefffffffffffb1, 0x3d3b7b040832f310 + .quad 0x3fefffffffffffb8, 0x3d3938e021f36d76 + .quad 0x3fefffffffffffbe, 0x3d37258610b3b233 + .quad 0x3fefffffffffffc3, 0x3d353d3bfc82a909 + .quad 0x3fefffffffffffc8, 0x3d337c92babdc2fd + .quad 0x3fefffffffffffcd, 0x3d31e06010120f6a + .quad 0x3fefffffffffffd1, 0x3d3065b9616170d4 + .quad 0x3fefffffffffffd5, 0x3d2e13dd96b3753b + .quad 0x3fefffffffffffd9, 0x3d2b950d32467392 + .quad 0x3fefffffffffffdc, 0x3d294a72263259a5 + .quad 0x3fefffffffffffdf, 0x3d272fd93e036cdc + .quad 0x3fefffffffffffe2, 0x3d254164576929ab + .quad 0x3fefffffffffffe4, 0x3d237b83c521fe96 + .quad 0x3fefffffffffffe7, 0x3d21daf033182e96 + .quad 0x3fefffffffffffe9, 0x3d205ca50205d26a + .quad 0x3fefffffffffffeb, 0x3d1dfbb6235639fa + .quad 0x3fefffffffffffed, 0x3d1b7807e294781f + .quad 0x3fefffffffffffee, 0x3d19298add70a734 + .quad 0x3feffffffffffff0, 0x3d170beaf9c7ffb6 + .quad 0x3feffffffffffff1, 0x3d151b2cd6709222 + .quad 0x3feffffffffffff3, 0x3d1353a6cf7f7fff + .quad 0x3feffffffffffff4, 0x3d11b1fa8cbe84a7 + .quad 0x3feffffffffffff5, 0x3d10330f0fd69921 + .quad 0x3feffffffffffff6, 0x3d0da81670f96f9b + .quad 0x3feffffffffffff7, 0x3d0b24a16b4d09aa + .quad 0x3feffffffffffff7, 0x3d08d6eeb6efdbd6 + .quad 0x3feffffffffffff8, 0x3d06ba91ac734786 + .quad 0x3feffffffffffff9, 0x3d04cb7966770ab5 + .quad 0x3feffffffffffff9, 0x3d0305e9721d0981 + .quad 0x3feffffffffffffa, 0x3d01667311fff70a + .quad 0x3feffffffffffffb, 0x3cffd3de10d62855 + .quad 0x3feffffffffffffb, 0x3cfd1aefbcd48d0c + .quad 0x3feffffffffffffb, 0x3cfa9cc93c25aca9 + .quad 0x3feffffffffffffc, 0x3cf85487ee3ea735 + .quad 0x3feffffffffffffc, 0x3cf63daf8b4b1e0c + .quad 0x3feffffffffffffd, 0x3cf45421e69a6ca1 + .quad 0x3feffffffffffffd, 0x3cf294175802d99a + .quad 0x3feffffffffffffd, 0x3cf0fa17bf41068f + .quad 0x3feffffffffffffd, 0x3cef05e82aae2bb9 + .quad 0x3feffffffffffffe, 0x3cec578101b29058 + .quad 0x3feffffffffffffe, 0x3ce9e39dc5dd2f7c + .quad 0x3feffffffffffffe, 0x3ce7a553a728bbf2 + .quad 0x3feffffffffffffe, 0x3ce5982008db1304 + .quad 0x3feffffffffffffe, 0x3ce3b7e00422e51b + .quad 0x3feffffffffffffe, 0x3ce200c898d9ee3e + .quad 0x3fefffffffffffff, 0x3ce06f5f7eb65a56 + .quad 0x3fefffffffffffff, 0x3cde00e9148a1d25 + .quad 0x3fefffffffffffff, 0x3cdb623734024e92 + .quad 0x3fefffffffffffff, 0x3cd8fd4e01891bf8 + .quad 0x3fefffffffffffff, 0x3cd6cd44c7470d89 + .quad 0x3fefffffffffffff, 0x3cd4cd9c04158cd7 + .quad 0x3fefffffffffffff, 0x3cd2fa34bf5c8344 + .quad 0x3fefffffffffffff, 0x3cd14f4890ff2461 + .quad 0x3fefffffffffffff, 0x3ccf92c49dfa4df5 + .quad 0x3fefffffffffffff, 0x3ccccaaea71ab0df + .quad 0x3fefffffffffffff, 0x3cca40829f001197 + .quad 0x3ff0000000000000, 0x3cc7eef13b59e96c + .quad 0x3ff0000000000000, 0x3cc5d11e1a252bf5 + .quad 0x3ff0000000000000, 0x3cc3e296303b2297 + .quad 0x3ff0000000000000, 0x3cc21f47009f43ce + .quad 0x3ff0000000000000, 0x3cc083768c5e4542 + .quad 0x3ff0000000000000, 0x3cbe1777d831265f + .quad 0x3ff0000000000000, 0x3cbb69f10b0191b5 + .quad 0x3ff0000000000000, 0x3cb8f8a3a05b5b53 + .quad 0x3ff0000000000000, 0x3cb6be573c40c8e7 + .quad 0x3ff0000000000000, 0x3cb4b645ba991fdb + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ + .align 16 + .quad 0x4017f80000000000, 0x4017f80000000000 /* _MaxThreshold = 6.0 - 1.0/128.0 */ + .align 16 + .quad 0x42c0000000000000, 0x42c0000000000000 /* SRound */ + .align 16 + .quad 0x2ff0000000000000, 0x2ff0000000000000 /* _U2THreshold */ + .align 16 + .quad 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5 /* _poly_1_0 */ + .align 16 + .quad 0x3fc1111235a363b1, 0x3fc1111235a363b1 /* _poly_1_1 */ + .align 16 + .quad 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57 /* _poly_3_0 */ + .align 16 + .quad 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8 /* _poly_3_1 */ + .align 16 + .quad 0xbfc5555800001B4F, 0xbfc5555800001B4F /* _poly_5_0 */ + .align 16 + .quad 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122 /* _poly_5_1 */ + .align 16 + .quad 0xbfd55555555547f6, 0xbfd55555555547f6 /* _poly_1_2 */ + .align 16 + .quad 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd /* _poly_3_2 */ + .align 16 + .quad 0x3fe5555555554b0c, 0x3fe5555555554b0c /* _poly_1_3 */ + .align 16 + .quad 0xbfd5555555555555, 0xbfd5555555555555 /* _poly_3_3 */ + .align 16 + .type __svml_derf_data_internal, @object + .size __svml_derf_data_internal, .-__svml_derf_data_internal From patchwork Mon Mar 7 15:00:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602263 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=PTRY1h4c; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2J86Hd6z9sFk for ; Tue, 8 Mar 2022 02:22:16 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F36DD3858D35 for ; Mon, 7 Mar 2022 15:22:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F36DD3858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666535; bh=X73nZWaeyfD4bg4dEUIKNENk4yvk8WdUfh/WNFX4+gc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=PTRY1h4cxf7lnozF4fySMIHJmzfi8EJwVbZa8xulmF1mt2WbTZV+o6LxajOrokS0q 3wrj4YG3qKgKgyvzl5uEK4CXS2mPx+z0aMUENw9mNSNW/8uOnPulM8sJjjxFmMQ1Tb ViaTpuPAoJ1PfldEM9kBeAWSNo38WrjZHSUdX5sM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 387943858015 for ; Mon, 7 Mar 2022 15:02:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 387943858015 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347783" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347783" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526488" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eX016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 059/126] x86_64: Fix svml_d_erf4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:54 -0800 Message-Id: <20220307150201.10590-60-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_erf4_core_avx2.S | 1842 ++++++++--------- 1 file changed, 920 insertions(+), 922 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S index d81c8ee55e..07700fe05f 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf4_core_avx2.S @@ -33,952 +33,950 @@ /* Offsets for data table __svml_derf_data_internal */ -#define _erf_tbl 0 -#define _AbsMask 12288 -#define _MaxThreshold 12320 -#define _SRound 12352 -#define _U2Threshold 12384 -#define _poly1_0 12416 -#define _poly1_1 12448 -#define _poly3_0 12480 -#define _poly3_1 12512 -#define _poly5_0 12544 -#define _poly5_1 12576 -#define _poly1_2 12608 -#define _poly3_2 12640 -#define _poly1_3 12672 -#define _poly3_3 12704 -#define _Mask32 12736 +#define _erf_tbl 0 +#define _AbsMask 12288 +#define _MaxThreshold 12320 +#define _SRound 12352 +#define _U2Threshold 12384 +#define _poly1_0 12416 +#define _poly1_1 12448 +#define _poly3_0 12480 +#define _poly3_1 12512 +#define _poly5_0 12544 +#define _poly5_1 12576 +#define _poly1_2 12608 +#define _poly3_2 12640 +#define _poly1_3 12672 +#define _poly3_3 12704 +#define _Mask32 12736 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_erf_avx2) -/* - * vector gather: erf(x0), - * second value is exp(-x0*x0) - */ - lea __svml_derf_data_internal(%rip), %rdi - vmovupd _SRound+__svml_derf_data_internal(%rip), %ymm6 - vandpd _AbsMask+__svml_derf_data_internal(%rip), %ymm0, %ymm5 + /* + * vector gather: erf(x0), + * second value is exp(-x0*x0) + */ + lea __svml_derf_data_internal(%rip), %rdi + vmovupd _SRound+__svml_derf_data_internal(%rip), %ymm6 + vandpd _AbsMask+__svml_derf_data_internal(%rip), %ymm0, %ymm5 -/* - * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) - * can compute all results in the main path - */ - vminpd _MaxThreshold+__svml_derf_data_internal(%rip), %ymm5, %ymm7 - vaddpd %ymm6, %ymm7, %ymm10 - vcmpgt_oqpd _U2Threshold+__svml_derf_data_internal(%rip), %ymm7, %ymm9 - vpsllq $4, %ymm10, %ymm11 - vsubpd %ymm6, %ymm10, %ymm8 - vandps _Mask32+__svml_derf_data_internal(%rip), %ymm11, %ymm12 - vsubpd %ymm8, %ymm7, %ymm3 - vmulpd %ymm3, %ymm8, %ymm2 - vandpd %ymm9, %ymm3, %ymm1 + /* + * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) + * can compute all results in the main path + */ + vminpd _MaxThreshold+__svml_derf_data_internal(%rip), %ymm5, %ymm7 + vaddpd %ymm6, %ymm7, %ymm10 + vcmpgt_oqpd _U2Threshold+__svml_derf_data_internal(%rip), %ymm7, %ymm9 + vpsllq $4, %ymm10, %ymm11 + vsubpd %ymm6, %ymm10, %ymm8 + vandps _Mask32+__svml_derf_data_internal(%rip), %ymm11, %ymm12 + vsubpd %ymm8, %ymm7, %ymm3 + vmulpd %ymm3, %ymm8, %ymm2 + vandpd %ymm9, %ymm3, %ymm1 -/* NaN fixup */ - vminpd %ymm5, %ymm3, %ymm3 + /* NaN fixup */ + vminpd %ymm5, %ymm3, %ymm3 -/* save sign */ - vxorpd %ymm0, %ymm5, %ymm4 + /* save sign */ + vxorpd %ymm0, %ymm5, %ymm4 -/* T^2 */ - vmulpd %ymm2, %ymm2, %ymm5 - vextractf128 $1, %ymm12, %xmm13 - vmovd %xmm12, %eax - vmovd %xmm13, %ecx - vpextrd $2, %xmm12, %edx - vpextrd $2, %xmm13, %esi - movslq %eax, %rax - movslq %edx, %rdx - movslq %ecx, %rcx - movslq %esi, %rsi + /* T^2 */ + vmulpd %ymm2, %ymm2, %ymm5 + vextractf128 $1, %ymm12, %xmm13 + vmovd %xmm12, %eax + vmovd %xmm13, %ecx + vpextrd $2, %xmm12, %edx + vpextrd $2, %xmm13, %esi + movslq %eax, %rax + movslq %edx, %rdx + movslq %ecx, %rcx + movslq %esi, %rsi -/* Sign | Diff */ - vxorpd %ymm4, %ymm3, %ymm12 + /* Sign | Diff */ + vxorpd %ymm4, %ymm3, %ymm12 -/* - * _LA_ polynomial computation - * Start polynomial evaluation - */ - vmovupd _poly1_0+__svml_derf_data_internal(%rip), %ymm3 - vmovupd (%rdi,%rax), %xmm6 - vmovupd (%rdi,%rdx), %xmm7 - vmovupd (%rdi,%rcx), %xmm8 - vmovupd (%rdi,%rsi), %xmm9 - vunpcklpd %xmm7, %xmm6, %xmm14 - vunpcklpd %xmm9, %xmm8, %xmm15 + /* + * _LA_ polynomial computation + * Start polynomial evaluation + */ + vmovupd _poly1_0+__svml_derf_data_internal(%rip), %ymm3 + vmovupd (%rdi, %rax), %xmm6 + vmovupd (%rdi, %rdx), %xmm7 + vmovupd (%rdi, %rcx), %xmm8 + vmovupd (%rdi, %rsi), %xmm9 + vunpcklpd %xmm7, %xmm6, %xmm14 + vunpcklpd %xmm9, %xmm8, %xmm15 -/* D2 = Diff^2 */ - vmulpd %ymm1, %ymm1, %ymm13 - vfmadd213pd _poly1_1+__svml_derf_data_internal(%rip), %ymm2, %ymm3 - vmovupd _poly5_0+__svml_derf_data_internal(%rip), %ymm1 - vunpckhpd %xmm9, %xmm8, %xmm10 - vfmadd213pd _poly1_2+__svml_derf_data_internal(%rip), %ymm2, %ymm3 - vfmadd213pd _poly5_1+__svml_derf_data_internal(%rip), %ymm2, %ymm1 - vfmadd213pd _poly1_3+__svml_derf_data_internal(%rip), %ymm2, %ymm3 - vfmadd213pd _poly3_3+__svml_derf_data_internal(%rip), %ymm13, %ymm1 + /* D2 = Diff^2 */ + vmulpd %ymm1, %ymm1, %ymm13 + vfmadd213pd _poly1_1+__svml_derf_data_internal(%rip), %ymm2, %ymm3 + vmovupd _poly5_0+__svml_derf_data_internal(%rip), %ymm1 + vunpckhpd %xmm9, %xmm8, %xmm10 + vfmadd213pd _poly1_2+__svml_derf_data_internal(%rip), %ymm2, %ymm3 + vfmadd213pd _poly5_1+__svml_derf_data_internal(%rip), %ymm2, %ymm1 + vfmadd213pd _poly1_3+__svml_derf_data_internal(%rip), %ymm2, %ymm3 + vfmadd213pd _poly3_3+__svml_derf_data_internal(%rip), %ymm13, %ymm1 -/* P1 = T^2*P1 - T */ - vfmsub213pd %ymm2, %ymm5, %ymm3 - vinsertf128 $1, %xmm15, %ymm14, %ymm0 - vunpckhpd %xmm7, %xmm6, %xmm14 - vmovupd _poly3_0+__svml_derf_data_internal(%rip), %ymm6 - vfmadd213pd _poly3_1+__svml_derf_data_internal(%rip), %ymm2, %ymm6 - vfmadd213pd _poly3_2+__svml_derf_data_internal(%rip), %ymm2, %ymm6 - vfmadd213pd %ymm1, %ymm2, %ymm6 + /* P1 = T^2*P1 - T */ + vfmsub213pd %ymm2, %ymm5, %ymm3 + vinsertf128 $1, %xmm15, %ymm14, %ymm0 + vunpckhpd %xmm7, %xmm6, %xmm14 + vmovupd _poly3_0+__svml_derf_data_internal(%rip), %ymm6 + vfmadd213pd _poly3_1+__svml_derf_data_internal(%rip), %ymm2, %ymm6 + vfmadd213pd _poly3_2+__svml_derf_data_internal(%rip), %ymm2, %ymm6 + vfmadd213pd %ymm1, %ymm2, %ymm6 -/* P1 + P3*D2 */ - vfmadd213pd %ymm3, %ymm13, %ymm6 + /* P1 + P3*D2 */ + vfmadd213pd %ymm3, %ymm13, %ymm6 -/* Sign | _Erf_H */ - vxorpd %ymm4, %ymm0, %ymm0 - vinsertf128 $1, %xmm10, %ymm14, %ymm11 + /* Sign | _Erf_H */ + vxorpd %ymm4, %ymm0, %ymm0 + vinsertf128 $1, %xmm10, %ymm14, %ymm11 -/* exp_h(x0) * Diff */ - vmulpd %ymm12, %ymm11, %ymm2 + /* exp_h(x0) * Diff */ + vmulpd %ymm12, %ymm11, %ymm2 -/* - * branch-free - * low part of result: exp_h(x0) * Diff*(1+P1) - */ - vfmadd213pd %ymm2, %ymm2, %ymm6 + /* + * branch-free + * low part of result: exp_h(x0) * Diff*(1+P1) + */ + vfmadd213pd %ymm2, %ymm2, %ymm6 -/* Final result */ - vaddpd %ymm6, %ymm0, %ymm15 + /* Final result */ + vaddpd %ymm6, %ymm0, %ymm15 -/* Fix erf(-0) = -0 */ - vorpd %ymm4, %ymm15, %ymm0 - ret + /* Fix erf(-0) = -0 */ + vorpd %ymm4, %ymm15, %ymm0 + ret END(_ZGVdN4v_erf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_derf_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _erf_tbl[6*128*2][2]; - __declspec(align(32)) VUINT32 _AbsMask[4][2]; - __declspec(align(32)) VUINT32 _MaxThreshold[4][2]; - __declspec(align(32)) VUINT32 _SRound[4][2]; - __declspec(align(32)) VUINT32 _U2Threshold[4][2]; - __declspec(align(32)) VUINT32 _poly1_0[4][2]; - __declspec(align(32)) VUINT32 _poly1_1[4][2]; - __declspec(align(32)) VUINT32 _poly3_0[4][2]; - __declspec(align(32)) VUINT32 _poly3_1[4][2]; - __declspec(align(32)) VUINT32 _poly5_0[4][2]; - __declspec(align(32)) VUINT32 _poly5_1[4][2]; - __declspec(align(32)) VUINT32 _poly1_2[4][2]; - __declspec(align(32)) VUINT32 _poly3_2[4][2]; - __declspec(align(32)) VUINT32 _poly1_3[4][2]; - __declspec(align(32)) VUINT32 _poly3_3[4][2]; - __declspec(align(32)) VUINT32 _Mask32[4][2]; +typedef struct { + __declspec(align(32)) VUINT32 _erf_tbl[6*128*2][2]; + __declspec(align(32)) VUINT32 _AbsMask[4][2]; + __declspec(align(32)) VUINT32 _MaxThreshold[4][2]; + __declspec(align(32)) VUINT32 _SRound[4][2]; + __declspec(align(32)) VUINT32 _U2Threshold[4][2]; + __declspec(align(32)) VUINT32 _poly1_0[4][2]; + __declspec(align(32)) VUINT32 _poly1_1[4][2]; + __declspec(align(32)) VUINT32 _poly3_0[4][2]; + __declspec(align(32)) VUINT32 _poly3_1[4][2]; + __declspec(align(32)) VUINT32 _poly5_0[4][2]; + __declspec(align(32)) VUINT32 _poly5_1[4][2]; + __declspec(align(32)) VUINT32 _poly1_2[4][2]; + __declspec(align(32)) VUINT32 _poly3_2[4][2]; + __declspec(align(32)) VUINT32 _poly1_3[4][2]; + __declspec(align(32)) VUINT32 _poly3_3[4][2]; + __declspec(align(32)) VUINT32 _Mask32[4][2]; } __svml_derf_data_internal; #endif __svml_derf_data_internal: - /*== _erf_tbl ==*/ - .quad 0x0000000000000000, 0x3ff20dd750429b6d - .quad 0x3f820dbf3deb1340, 0x3ff20d8f1975c85d - .quad 0x3f920d77083f17a0, 0x3ff20cb67bd452c7 - .quad 0x3f9b137e0cf584dc, 0x3ff20b4d8bac36c1 - .quad 0x3fa20c5645dd2538, 0x3ff209546ad13ccf - .quad 0x3fa68e5d3bbc9526, 0x3ff206cb4897b148 - .quad 0x3fab0fafef135745, 0x3ff203b261cd0053 - .quad 0x3faf902a77bd3821, 0x3ff2000a00ae3804 - .quad 0x3fb207d480e90658, 0x3ff1fbd27cdc72d3 - .quad 0x3fb44703e87e8593, 0x3ff1f70c3b4f2cc8 - .quad 0x3fb68591a1e83b5d, 0x3ff1f1b7ae44867f - .quad 0x3fb8c36beb8a8d23, 0x3ff1ebd5552f795b - .quad 0x3fbb0081148a873a, 0x3ff1e565bca400d4 - .quad 0x3fbd3cbf7e70a4b3, 0x3ff1de697e413d29 - .quad 0x3fbf78159ec8bb50, 0x3ff1d6e14099944a - .quad 0x3fc0d939005f65e5, 0x3ff1cecdb718d61c - .quad 0x3fc1f5e1a35c3b89, 0x3ff1c62fa1e869b6 - .quad 0x3fc311fc15f56d14, 0x3ff1bd07cdd189ac - .quad 0x3fc42d7fc2f64959, 0x3ff1b357141d95d5 - .quad 0x3fc548642321d7c6, 0x3ff1a91e5a748165 - .quad 0x3fc662a0bdf7a89f, 0x3ff19e5e92b964ab - .quad 0x3fc77c2d2a765f9e, 0x3ff19318bae53a04 - .quad 0x3fc895010fdbdbfd, 0x3ff1874ddcdfce24 - .quad 0x3fc9ad142662e14d, 0x3ff17aff0e56ec10 - .quad 0x3fcac45e37fe2526, 0x3ff16e2d7093cd8c - .quad 0x3fcbdad72110a648, 0x3ff160da304ed92f - .quad 0x3fccf076d1233237, 0x3ff153068581b781 - .quad 0x3fce05354b96ff36, 0x3ff144b3b337c90c - .quad 0x3fcf190aa85540e2, 0x3ff135e3075d076b - .quad 0x3fd015f78a3dcf3d, 0x3ff12695da8b5bde - .quad 0x3fd09eed6982b948, 0x3ff116cd8fd67618 - .quad 0x3fd127631eb8de32, 0x3ff1068b94962e5e - .quad 0x3fd1af54e232d609, 0x3ff0f5d1602f7e41 - .quad 0x3fd236bef825d9a2, 0x3ff0e4a073dc1b91 - .quad 0x3fd2bd9db0f7827f, 0x3ff0d2fa5a70c168 - .quad 0x3fd343ed6989b7d9, 0x3ff0c0e0a8223359 - .quad 0x3fd3c9aa8b84beda, 0x3ff0ae54fa490723 - .quad 0x3fd44ed18d9f6462, 0x3ff09b58f724416b - .quad 0x3fd4d35ef3e5372e, 0x3ff087ee4d9ad247 - .quad 0x3fd5574f4ffac98e, 0x3ff07416b4fbfe7c - .quad 0x3fd5da9f415ff23f, 0x3ff05fd3ecbec298 - .quad 0x3fd65d4b75b00471, 0x3ff04b27bc403d30 - .quad 0x3fd6df50a8dff772, 0x3ff03613f2812daf - .quad 0x3fd760aba57a76bf, 0x3ff0209a65e29545 - .quad 0x3fd7e15944d9d3e4, 0x3ff00abcf3e187a9 - .quad 0x3fd861566f5fd3c0, 0x3fefe8fb01a47307 - .quad 0x3fd8e0a01cab516b, 0x3fefbbbbef34b4b2 - .quad 0x3fd95f3353cbb146, 0x3fef8dc092d58ff8 - .quad 0x3fd9dd0d2b721f39, 0x3fef5f0cdaf15313 - .quad 0x3fda5a2aca209394, 0x3fef2fa4c16c0019 - .quad 0x3fdad68966569a87, 0x3feeff8c4b1375db - .quad 0x3fdb522646bbda68, 0x3feecec7870ebca8 - .quad 0x3fdbccfec24855b8, 0x3fee9d5a8e4c934e - .quad 0x3fdc4710406a65fc, 0x3fee6b4982f158b9 - .quad 0x3fdcc058392a6d2d, 0x3fee38988fc46e72 - .quad 0x3fdd38d4354c3bd0, 0x3fee054be79d3042 - .quad 0x3fddb081ce6e2a48, 0x3fedd167c4cf9d2a - .quad 0x3fde275eaf25e458, 0x3fed9cf06898cdaf - .quad 0x3fde9d68931ae650, 0x3fed67ea1a8b5368 - .quad 0x3fdf129d471eabb1, 0x3fed325927fb9d89 - .quad 0x3fdf86faa9428f9d, 0x3fecfc41e36c7df9 - .quad 0x3fdffa7ea8eb5fd0, 0x3fecc5a8a3fbea40 - .quad 0x3fe03693a371519c, 0x3fec8e91c4d01368 - .quad 0x3fe06f794ab2cae7, 0x3fec5701a484ef9d - .quad 0x3fe0a7ef5c18edd2, 0x3fec1efca49a5011 - .quad 0x3fe0dff4f247f6c6, 0x3febe68728e29d5e - .quad 0x3fe1178930ada115, 0x3febada596f25436 - .quad 0x3fe14eab43841b55, 0x3feb745c55905bf8 - .quad 0x3fe1855a5fd3dd50, 0x3feb3aafcc27502e - .quad 0x3fe1bb95c3746199, 0x3feb00a46237d5be - .quad 0x3fe1f15cb50bc4de, 0x3feac63e7ecc1411 - .quad 0x3fe226ae840d4d70, 0x3fea8b8287ec6a09 - .quad 0x3fe25b8a88b6dd7f, 0x3fea5074e2157620 - .quad 0x3fe28ff0240d52cd, 0x3fea1519efaf889e - .quad 0x3fe2c3debfd7d6c1, 0x3fe9d97610879642 - .quad 0x3fe2f755ce9a21f4, 0x3fe99d8da149c13f - .quad 0x3fe32a54cb8db67b, 0x3fe96164fafd8de3 - .quad 0x3fe35cdb3a9a144d, 0x3fe925007283d7aa - .quad 0x3fe38ee8a84beb71, 0x3fe8e86458169af8 - .quad 0x3fe3c07ca9cb4f9e, 0x3fe8ab94f6caa71d - .quad 0x3fe3f196dcd0f135, 0x3fe86e9694134b9e - .quad 0x3fe42236e79a5fa6, 0x3fe8316d6f48133d - .quad 0x3fe4525c78dd5966, 0x3fe7f41dc12c9e89 - .quad 0x3fe4820747ba2dc2, 0x3fe7b6abbb7aaf19 - .quad 0x3fe4b13713ad3513, 0x3fe7791b886e7403 - .quad 0x3fe4dfeba47f63cc, 0x3fe73b714a552763 - .quad 0x3fe50e24ca35fd2c, 0x3fe6fdb11b1e0c34 - .quad 0x3fe53be25d016a4f, 0x3fe6bfdf0beddaf5 - .quad 0x3fe569243d2b3a9b, 0x3fe681ff24b4ab04 - .quad 0x3fe595ea53035283, 0x3fe6441563c665d4 - .quad 0x3fe5c2348ecc4dc3, 0x3fe60625bd75d07b - .quad 0x3fe5ee02e8a71a53, 0x3fe5c8341bb23767 - .quad 0x3fe61955607dd15d, 0x3fe58a445da7c74c - .quad 0x3fe6442bfdedd397, 0x3fe54c5a57629db0 - .quad 0x3fe66e86d0312e82, 0x3fe50e79d1749ac9 - .quad 0x3fe69865ee075011, 0x3fe4d0a6889dfd9f - .quad 0x3fe6c1c9759d0e5f, 0x3fe492e42d78d2c5 - .quad 0x3fe6eab18c74091b, 0x3fe4553664273d24 - .quad 0x3fe7131e5f496a5a, 0x3fe417a0c4049fd0 - .quad 0x3fe73b1021fc0cb8, 0x3fe3da26d759aef5 - .quad 0x3fe762870f720c6f, 0x3fe39ccc1b136d5a - .quad 0x3fe78983697dc96f, 0x3fe35f93fe7d1b3d - .quad 0x3fe7b00578c26037, 0x3fe32281e2fd1a92 - .quad 0x3fe7d60d8c979f7b, 0x3fe2e5991bd4cbfc - .quad 0x3fe7fb9bfaed8078, 0x3fe2a8dcede3673b - .quad 0x3fe820b1202f27fb, 0x3fe26c508f6bd0ff - .quad 0x3fe8454d5f25760d, 0x3fe22ff727dd6f7b - .quad 0x3fe8697120d92a4a, 0x3fe1f3d3cf9ffe5a - .quad 0x3fe88d1cd474a2e0, 0x3fe1b7e98fe26217 - .quad 0x3fe8b050ef253c37, 0x3fe17c3b626c7a12 - .quad 0x3fe8d30debfc572e, 0x3fe140cc3173f007 - .quad 0x3fe8f5544bd00c04, 0x3fe1059ed7740313 - .quad 0x3fe91724951b8fc6, 0x3fe0cab61f084b93 - .quad 0x3fe9387f53df5238, 0x3fe09014c2ca74da - .quad 0x3fe959651980da31, 0x3fe055bd6d32e8d7 - .quad 0x3fe979d67caa6631, 0x3fe01bb2b87c6968 - .quad 0x3fe999d4192a5715, 0x3fdfc3ee5d1524b0 - .quad 0x3fe9b95e8fd26aba, 0x3fdf511a91a67d2a - .quad 0x3fe9d8768656cc42, 0x3fdedeeee0959518 - .quad 0x3fe9f71ca72cffb6, 0x3fde6d6ffaa65a25 - .quad 0x3fea1551a16aaeaf, 0x3fddfca26f5bbf88 - .quad 0x3fea331628a45b92, 0x3fdd8c8aace11e63 - .quad 0x3fea506af4cc00f4, 0x3fdd1d2cfff91594 - .quad 0x3fea6d50c20fa293, 0x3fdcae8d93f1d7b7 - .quad 0x3fea89c850b7d54d, 0x3fdc40b0729ed548 - .quad 0x3feaa5d265064366, 0x3fdbd3998457afdb - .quad 0x3feac16fc7143263, 0x3fdb674c8ffc6283 - .quad 0x3feadca142b10f98, 0x3fdafbcd3afe8ab6 - .quad 0x3feaf767a741088b, 0x3fda911f096fbc26 - .quad 0x3feb11c3c79bb424, 0x3fda27455e14c93c - .quad 0x3feb2bb679ead19c, 0x3fd9be437a7de946 - .quad 0x3feb4540978921ee, 0x3fd9561c7f23a47b - .quad 0x3feb5e62fce16095, 0x3fd8eed36b886d93 - .quad 0x3feb771e894d602e, 0x3fd8886b1e5ecfd1 - .quad 0x3feb8f741ef54f83, 0x3fd822e655b417e7 - .quad 0x3feba764a2af2b78, 0x3fd7be47af1f5d89 - .quad 0x3febbef0fbde6221, 0x3fd75a91a7f4d2ed - .quad 0x3febd61a1453ab44, 0x3fd6f7c69d7d3ef8 - .quad 0x3febece0d82d1a5c, 0x3fd695e8cd31867e - .quad 0x3fec034635b66e23, 0x3fd634fa54fa285f - .quad 0x3fec194b1d49a184, 0x3fd5d4fd33729015 - .quad 0x3fec2ef0812fc1bd, 0x3fd575f3483021c3 - .quad 0x3fec443755820d64, 0x3fd517de540ce2a3 - .quad 0x3fec5920900b5fd1, 0x3fd4babff975a04c - .quad 0x3fec6dad2829ec62, 0x3fd45e99bcbb7915 - .quad 0x3fec81de16b14cef, 0x3fd4036d0468a7a2 - .quad 0x3fec95b455cce69d, 0x3fd3a93b1998736c - .quad 0x3feca930e0e2a825, 0x3fd35005285227f1 - .quad 0x3fecbc54b476248d, 0x3fd2f7cc3fe6f423 - .quad 0x3feccf20ce0c0d27, 0x3fd2a09153529381 - .quad 0x3fece1962c0e0d8b, 0x3fd24a55399ea239 - .quad 0x3fecf3b5cdaf0c39, 0x3fd1f518ae487dc8 - .quad 0x3fed0580b2cfd249, 0x3fd1a0dc51a9934d - .quad 0x3fed16f7dbe41ca0, 0x3fd14da0a961fd14 - .quad 0x3fed281c49d818d0, 0x3fd0fb6620c550af - .quad 0x3fed38eefdf64fdd, 0x3fd0aa2d09497f2b - .quad 0x3fed4970f9ce00d9, 0x3fd059f59af7a906 - .quad 0x3fed59a33f19ed42, 0x3fd00abff4dec7a3 - .quad 0x3fed6986cfa798e7, 0x3fcf79183b101c5b - .quad 0x3fed791cad3eff01, 0x3fcedeb406d9c825 - .quad 0x3fed8865d98abe01, 0x3fce4652fadcb6b2 - .quad 0x3fed97635600bb89, 0x3fcdaff4969c0b04 - .quad 0x3feda61623cb41e0, 0x3fcd1b982c501370 - .quad 0x3fedb47f43b2980d, 0x3fcc893ce1dcbef7 - .quad 0x3fedc29fb60715af, 0x3fcbf8e1b1ca2279 - .quad 0x3fedd0787a8bb39d, 0x3fcb6a856c3ed54f - .quad 0x3fedde0a90611a0d, 0x3fcade26b7fbed95 - .quad 0x3fedeb56f5f12d28, 0x3fca53c4135a6526 - .quad 0x3fedf85ea8db188e, 0x3fc9cb5bd549b111 - .quad 0x3fee0522a5dfda73, 0x3fc944ec2e4f5630 - .quad 0x3fee11a3e8cf4eb8, 0x3fc8c07329874652 - .quad 0x3fee1de36c75ba58, 0x3fc83deeada4d25a - .quad 0x3fee29e22a89d766, 0x3fc7bd5c7df3fe9c - .quad 0x3fee35a11b9b61ce, 0x3fc73eba3b5b07b7 - .quad 0x3fee4121370224cc, 0x3fc6c205655be720 - .quad 0x3fee4c6372cd8927, 0x3fc6473b5b15a7a1 - .quad 0x3fee5768c3b4a3fc, 0x3fc5ce595c455b0a - .quad 0x3fee62321d06c5e0, 0x3fc5575c8a468362 - .quad 0x3fee6cc0709c8a0d, 0x3fc4e241e912c305 - .quad 0x3fee7714aec96534, 0x3fc46f066040a832 - .quad 0x3fee812fc64db369, 0x3fc3fda6bc016994 - .quad 0x3fee8b12a44944a8, 0x3fc38e1fae1d6a9d - .quad 0x3fee94be342e6743, 0x3fc3206dceef5f87 - .quad 0x3fee9e335fb56f87, 0x3fc2b48d9e5dea1c - .quad 0x3feea7730ed0bbb9, 0x3fc24a7b84d38971 - .quad 0x3feeb07e27a133aa, 0x3fc1e233d434b813 - .quad 0x3feeb9558e6b42ce, 0x3fc17bb2c8d41535 - .quad 0x3feec1fa258c4bea, 0x3fc116f48a6476cc - .quad 0x3feeca6ccd709544, 0x3fc0b3f52ce8c383 - .quad 0x3feed2ae6489ac1e, 0x3fc052b0b1a174ea - .quad 0x3feedabfc7453e63, 0x3fbfe6460fef4680 - .quad 0x3feee2a1d004692c, 0x3fbf2a901ccafb37 - .quad 0x3feeea5557137ae0, 0x3fbe723726b824a9 - .quad 0x3feef1db32a2277c, 0x3fbdbd32ac4c99b0 - .quad 0x3feef93436bc2daa, 0x3fbd0b7a0f921e7c - .quad 0x3fef006135426b26, 0x3fbc5d0497c09e74 - .quad 0x3fef0762fde45ee6, 0x3fbbb1c972f23e50 - .quad 0x3fef0e3a5e1a1788, 0x3fbb09bfb7d11a84 - .quad 0x3fef14e8211e8c55, 0x3fba64de673e8837 - .quad 0x3fef1b6d0fea5f4d, 0x3fb9c31c6df3b1b8 - .quad 0x3fef21c9f12f0677, 0x3fb92470a61b6965 - .quad 0x3fef27ff89525acf, 0x3fb888d1d8e510a3 - .quad 0x3fef2e0e9a6a8b09, 0x3fb7f036c0107294 - .quad 0x3fef33f7e43a706b, 0x3fb75a96077274ba - .quad 0x3fef39bc242e43e6, 0x3fb6c7e64e7281cb - .quad 0x3fef3f5c1558b19e, 0x3fb6381e2980956b - .quad 0x3fef44d870704911, 0x3fb5ab342383d178 - .quad 0x3fef4a31ebcd47df, 0x3fb5211ebf41880b - .quad 0x3fef4f693b67bd77, 0x3fb499d478bca735 - .quad 0x3fef547f10d60597, 0x3fb4154bc68d75c3 - .quad 0x3fef59741b4b97cf, 0x3fb3937b1b31925a - .quad 0x3fef5e4907982a07, 0x3fb31458e6542847 - .quad 0x3fef62fe80272419, 0x3fb297db960e4f63 - .quad 0x3fef67952cff6282, 0x3fb21df9981f8e53 - .quad 0x3fef6c0db3c34641, 0x3fb1a6a95b1e786f - .quad 0x3fef7068b7b10fd9, 0x3fb131e14fa1625d - .quad 0x3fef74a6d9a38383, 0x3fb0bf97e95f2a64 - .quad 0x3fef78c8b812d498, 0x3fb04fc3a0481321 - .quad 0x3fef7cceef15d631, 0x3fafc4b5e32d6259 - .quad 0x3fef80ba18636f07, 0x3faeeea8c1b1db94 - .quad 0x3fef848acb544e95, 0x3fae1d4cf1e2450a - .quad 0x3fef88419ce4e184, 0x3fad508f9a1ea64f - .quad 0x3fef8bdf1fb78370, 0x3fac885df3451a07 - .quad 0x3fef8f63e416ebff, 0x3fabc4a54a84e834 - .quad 0x3fef92d077f8d56d, 0x3fab055303221015 - .quad 0x3fef96256700da8e, 0x3faa4a549829587e - .quad 0x3fef99633a838a57, 0x3fa993979e14fffe - .quad 0x3fef9c8a7989af0d, 0x3fa8e109c4622913 - .quad 0x3fef9f9ba8d3c733, 0x3fa83298d717210e - .quad 0x3fefa2974addae45, 0x3fa78832c03aa2b1 - .quad 0x3fefa57ddfe27376, 0x3fa6e1c5893c380b - .quad 0x3fefa84fe5e05c8d, 0x3fa63f3f5c4de13b - .quad 0x3fefab0dd89d1309, 0x3fa5a08e85af27e0 - .quad 0x3fefadb831a9f9c3, 0x3fa505a174e9c929 - .quad 0x3fefb04f6868a944, 0x3fa46e66be002240 - .quad 0x3fefb2d3f20f9101, 0x3fa3dacd1a8d8cce - .quad 0x3fefb54641aebbc9, 0x3fa34ac36ad8dafe - .quad 0x3fefb7a6c834b5a2, 0x3fa2be38b6d92415 - .quad 0x3fefb9f5f4739170, 0x3fa2351c2f2d1449 - .quad 0x3fefbc3433260ca5, 0x3fa1af5d2e04f3f6 - .quad 0x3fefbe61eef4cf6a, 0x3fa12ceb37ff9bc3 - .quad 0x3fefc07f907bc794, 0x3fa0adb5fcfa8c75 - .quad 0x3fefc28d7e4f9cd0, 0x3fa031ad58d56279 - .quad 0x3fefc48c1d033c7a, 0x3f9f7182a851bca2 - .quad 0x3fefc67bcf2d7b8f, 0x3f9e85c449e377f3 - .quad 0x3fefc85cf56ecd38, 0x3f9da0005e5f28df - .quad 0x3fefca2fee770c79, 0x3f9cc0180af00a8b - .quad 0x3fefcbf5170b578b, 0x3f9be5ecd2fcb5f9 - .quad 0x3fefcdacca0bfb73, 0x3f9b1160991ff737 - .quad 0x3fefcf57607a6e7c, 0x3f9a4255a00b9f03 - .quad 0x3fefd0f5317f582f, 0x3f9978ae8b55ce1b - .quad 0x3fefd2869270a56f, 0x3f98b44e6031383e - .quad 0x3fefd40bd6d7a785, 0x3f97f5188610ddc8 - .quad 0x3fefd58550773cb5, 0x3f973af0c737bb45 - .quad 0x3fefd6f34f52013a, 0x3f9685bb5134ef13 - .quad 0x3fefd85621b0876d, 0x3f95d55cb54cd53a - .quad 0x3fefd9ae142795e3, 0x3f9529b9e8cf9a1e - .quad 0x3fefdafb719e6a69, 0x3f9482b8455dc491 - .quad 0x3fefdc3e835500b3, 0x3f93e03d891b37de - .quad 0x3fefdd7790ea5bc0, 0x3f93422fd6d12e2b - .quad 0x3fefdea6e062d0c9, 0x3f92a875b5ffab56 - .quad 0x3fefdfccb62e52d3, 0x3f9212f612dee7fb - .quad 0x3fefe0e9552ebdd6, 0x3f9181983e5133dd - .quad 0x3fefe1fcfebe2083, 0x3f90f443edc5ce49 - .quad 0x3fefe307f2b503d0, 0x3f906ae13b0d3255 - .quad 0x3fefe40a6f70af4b, 0x3f8fcab1483ea7fc - .quad 0x3fefe504b1d9696c, 0x3f8ec72615a894c4 - .quad 0x3fefe5f6f568b301, 0x3f8dcaf3691fc448 - .quad 0x3fefe6e1742f7cf6, 0x3f8cd5ec93c12432 - .quad 0x3fefe7c466dc57a1, 0x3f8be7e5ac24963b - .quad 0x3fefe8a004c19ae6, 0x3f8b00b38d6b3575 - .quad 0x3fefe97483db8670, 0x3f8a202bd6372dce - .quad 0x3fefea4218d6594a, 0x3f894624e78e0faf - .quad 0x3fefeb08f7146046, 0x3f887275e3a6869e - .quad 0x3fefebc950b3fa75, 0x3f87a4f6aca256cb - .quad 0x3fefec835695932e, 0x3f86dd7fe3358230 - .quad 0x3fefed37386190fb, 0x3f861beae53b72b7 - .quad 0x3fefede5248e38f4, 0x3f856011cc3b036d - .quad 0x3fefee8d486585ee, 0x3f84a9cf6bda3f4c - .quad 0x3fefef2fd00af31a, 0x3f83f8ff5042a88e - .quad 0x3fefefcce6813974, 0x3f834d7dbc76d7e5 - .quad 0x3feff064b5afffbe, 0x3f82a727a89a3f14 - .quad 0x3feff0f766697c76, 0x3f8205dac02bd6b9 - .quad 0x3feff18520700971, 0x3f81697560347b26 - .quad 0x3feff20e0a7ba8c2, 0x3f80d1d69569b82d - .quad 0x3feff2924a3f7a83, 0x3f803ede1a45bfee - .quad 0x3feff312046f2339, 0x3f7f60d8aa2a88f2 - .quad 0x3feff38d5cc4227f, 0x3f7e4cc4abf7d065 - .quad 0x3feff404760319b4, 0x3f7d4143a9dfe965 - .quad 0x3feff47772010262, 0x3f7c3e1a5f5c077c - .quad 0x3feff4e671a85425, 0x3f7b430ecf4a83a8 - .quad 0x3feff55194fe19df, 0x3f7a4fe83fb9db25 - .quad 0x3feff5b8fb26f5f6, 0x3f79646f35a76624 - .quad 0x3feff61cc26c1578, 0x3f78806d70b2fc36 - .quad 0x3feff67d08401202, 0x3f77a3ade6c8b3e5 - .quad 0x3feff6d9e943c231, 0x3f76cdfcbfc1e263 - .quad 0x3feff733814af88c, 0x3f75ff2750fe7820 - .quad 0x3feff789eb6130c9, 0x3f7536fc18f7ce5c - .quad 0x3feff7dd41ce2b4d, 0x3f74754abacdf1dc - .quad 0x3feff82d9e1a76d8, 0x3f73b9e3f9d06e3f - .quad 0x3feff87b1913e853, 0x3f730499b503957f - .quad 0x3feff8c5cad200a5, 0x3f72553ee2a336bf - .quad 0x3feff90dcaba4096, 0x3f71aba78ba3af89 - .quad 0x3feff9532f846ab0, 0x3f7107a8c7323a6e - .quad 0x3feff9960f3eb327, 0x3f706918b6355624 - .quad 0x3feff9d67f51ddba, 0x3f6f9f9cfd9c3035 - .quad 0x3feffa14948549a7, 0x3f6e77448fb66bb9 - .quad 0x3feffa506302ebae, 0x3f6d58da68fd1170 - .quad 0x3feffa89fe5b3625, 0x3f6c4412bf4b8f0b - .quad 0x3feffac17988ef4b, 0x3f6b38a3af2e55b4 - .quad 0x3feffaf6e6f4f5c0, 0x3f6a3645330550ff - .quad 0x3feffb2a5879f35e, 0x3f693cb11a30d765 - .quad 0x3feffb5bdf67fe6f, 0x3f684ba3004a50d0 - .quad 0x3feffb8b8c88295f, 0x3f6762d84469c18f - .quad 0x3feffbb970200110, 0x3f66821000795a03 - .quad 0x3feffbe599f4f9d9, 0x3f65a90b00981d93 - .quad 0x3feffc10194fcb64, 0x3f64d78bba8ca5fd - .quad 0x3feffc38fcffbb7c, 0x3f640d564548fad7 - .quad 0x3feffc60535dd7f5, 0x3f634a305080681f - .quad 0x3feffc862a501fd7, 0x3f628de11c5031eb - .quad 0x3feffcaa8f4c9bea, 0x3f61d83170fbf6fb - .quad 0x3feffccd8f5c66d1, 0x3f6128eb96be8798 - .quad 0x3feffcef371ea4d7, 0x3f607fdb4dafea5f - .quad 0x3feffd0f92cb6ba7, 0x3f5fb99b8b8279e1 - .quad 0x3feffd2eae369a07, 0x3f5e7f232d9e2630 - .quad 0x3feffd4c94d29fdb, 0x3f5d4fed7195d7e8 - .quad 0x3feffd6951b33686, 0x3f5c2b9cf7f893bf - .quad 0x3feffd84ef9009ee, 0x3f5b11d702b3deb2 - .quad 0x3feffd9f78c7524a, 0x3f5a024365f771bd - .quad 0x3feffdb8f7605ee7, 0x3f58fc8c794b03b5 - .quad 0x3feffdd1750e1220, 0x3f58005f08d6f1ef - .quad 0x3feffde8fb314ebf, 0x3f570d6a46e07dda - .quad 0x3feffdff92db56e5, 0x3f56235fbd7a4345 - .quad 0x3feffe1544d01ccb, 0x3f5541f340697987 - .quad 0x3feffe2a1988857c, 0x3f5468dadf4080ab - .quad 0x3feffe3e19349dc7, 0x3f5397ced7af2b15 - .quad 0x3feffe514bbdc197, 0x3f52ce898809244e - .quad 0x3feffe63b8c8b5f7, 0x3f520cc76202c5fb - .quad 0x3feffe7567b7b5e1, 0x3f515246dda49d47 - .quad 0x3feffe865fac722b, 0x3f509ec86c75d497 - .quad 0x3feffe96a78a04a9, 0x3f4fe41cd9bb4eee - .quad 0x3feffea645f6d6da, 0x3f4e97ba3b77f306 - .quad 0x3feffeb5415e7c44, 0x3f4d57f524723822 - .quad 0x3feffec39ff380b9, 0x3f4c245d4b99847a - .quad 0x3feffed167b12ac2, 0x3f4afc85e0f82e12 - .quad 0x3feffede9e5d3262, 0x3f49e005769dbc1d - .quad 0x3feffeeb49896c6d, 0x3f48ce75e9f6f8a0 - .quad 0x3feffef76e956a9f, 0x3f47c7744d9378f7 - .quad 0x3fefff0312b010b5, 0x3f46caa0d3582fe9 - .quad 0x3fefff0e3ad91ec2, 0x3f45d79eb71e893b - .quad 0x3fefff18ebe2b0e1, 0x3f44ee1429bf7cc0 - .quad 0x3fefff232a72b48e, 0x3f440daa3c89f5b6 - .quad 0x3fefff2cfb0453d9, 0x3f43360ccd23db3a - .quad 0x3fefff3661e9569d, 0x3f4266ea71d4f71a - .quad 0x3fefff3f634b79f9, 0x3f419ff4663ae9df - .quad 0x3fefff48032dbe40, 0x3f40e0de78654d1e - .quad 0x3fefff50456dab8c, 0x3f40295ef6591848 - .quad 0x3fefff582dc48d30, 0x3f3ef25d37f49fe1 - .quad 0x3fefff5fbfc8a439, 0x3f3da01102b5f851 - .quad 0x3fefff66feee5129, 0x3f3c5b5412dcafad - .quad 0x3fefff6dee89352e, 0x3f3b23a5a23e4210 - .quad 0x3fefff7491cd4af6, 0x3f39f8893d8fd1c1 - .quad 0x3fefff7aebcff755, 0x3f38d986a4187285 - .quad 0x3fefff80ff8911fd, 0x3f37c629a822bc9e - .quad 0x3fefff86cfd3e657, 0x3f36be02102b3520 - .quad 0x3fefff8c5f702ccf, 0x3f35c0a378c90bca - .quad 0x3fefff91b102fca8, 0x3f34cda5374ea275 - .quad 0x3fefff96c717b695, 0x3f33e4a23d1f4703 - .quad 0x3fefff9ba420e834, 0x3f330538fbb77ecd - .quad 0x3fefffa04a7928b1, 0x3f322f0b496539be - .quad 0x3fefffa4bc63ee9a, 0x3f3161be46ad3b50 - .quad 0x3fefffa8fc0e5f33, 0x3f309cfa445b00ff - .quad 0x3fefffad0b901755, 0x3f2fc0d55470cf51 - .quad 0x3fefffb0ecebee1b, 0x3f2e577bbcd49935 - .quad 0x3fefffb4a210b172, 0x3f2cfd4a5adec5c0 - .quad 0x3fefffb82cd9dcbf, 0x3f2bb1a9657ce465 - .quad 0x3fefffbb8f1049c6, 0x3f2a740684026555 - .quad 0x3fefffbeca6adbe9, 0x3f2943d4a1d1ed39 - .quad 0x3fefffc1e08f25f5, 0x3f28208bc334a6a5 - .quad 0x3fefffc4d3120aa1, 0x3f2709a8db59f25c - .quad 0x3fefffc7a37857d2, 0x3f25feada379d8b7 - .quad 0x3fefffca53375ce3, 0x3f24ff207314a102 - .quad 0x3fefffcce3b57bff, 0x3f240a8c1949f75e - .quad 0x3fefffcf564ab6b7, 0x3f23207fb7420eb9 - .quad 0x3fefffd1ac4135f9, 0x3f22408e9ba3327f - .quad 0x3fefffd3e6d5cd87, 0x3f216a501f0e42ca - .quad 0x3fefffd607387b07, 0x3f209d5f819c9e29 - .quad 0x3fefffd80e8ce0da, 0x3f1fb2b792b40a22 - .quad 0x3fefffd9fdeabcce, 0x3f1e3bcf436a1a95 - .quad 0x3fefffdbd65e5ad0, 0x3f1cd55277c18d05 - .quad 0x3fefffdd98e903b2, 0x3f1b7e94604479dc - .quad 0x3fefffdf46816833, 0x3f1a36eec00926dd - .quad 0x3fefffe0e0140857, 0x3f18fdc1b2dcf7b9 - .quad 0x3fefffe26683972a, 0x3f17d2737527c3f9 - .quad 0x3fefffe3daa95b18, 0x3f16b4702d7d5849 - .quad 0x3fefffe53d558ae9, 0x3f15a329b7d30748 - .quad 0x3fefffe68f4fa777, 0x3f149e17724f4d41 - .quad 0x3fefffe7d156d244, 0x3f13a4b60ba9aa4e - .quad 0x3fefffe904222101, 0x3f12b6875310f785 - .quad 0x3fefffea2860ee1e, 0x3f11d312098e9dba - .quad 0x3fefffeb3ebb267b, 0x3f10f9e1b4dd36df - .quad 0x3fefffec47d19457, 0x3f102a8673a94692 - .quad 0x3fefffed443e2787, 0x3f0ec929a665b449 - .quad 0x3fefffee34943b15, 0x3f0d4f4b4c8e09ed - .quad 0x3fefffef1960d85d, 0x3f0be6abbb10a5aa - .quad 0x3fefffeff32af7af, 0x3f0a8e8cc1fadef6 - .quad 0x3feffff0c273bea2, 0x3f094637d5bacfdb - .quad 0x3feffff187b6bc0e, 0x3f080cfdc72220cf - .quad 0x3feffff2436a21dc, 0x3f06e2367dc27f95 - .quad 0x3feffff2f5fefcaa, 0x3f05c540b4936fd2 - .quad 0x3feffff39fe16963, 0x3f04b581b8d170fc - .quad 0x3feffff44178c8d2, 0x3f03b2652b06c2b2 - .quad 0x3feffff4db27f146, 0x3f02bb5cc22e5db6 - .quad 0x3feffff56d4d5e5e, 0x3f01cfe010e2052d - .quad 0x3feffff5f8435efc, 0x3f00ef6c4c84a0fe - .quad 0x3feffff67c604180, 0x3f001984165a5f36 - .quad 0x3feffff6f9f67e55, 0x3efe9b5e8d00ce77 - .quad 0x3feffff77154e0d6, 0x3efd16f5716c6c1a - .quad 0x3feffff7e2c6aea2, 0x3efba4f035d60e03 - .quad 0x3feffff84e93cd75, 0x3efa447b7b03f045 - .quad 0x3feffff8b500e77c, 0x3ef8f4ccca7fc90d - .quad 0x3feffff9164f8e46, 0x3ef7b5223dac7336 - .quad 0x3feffff972be5c59, 0x3ef684c227fcacef - .quad 0x3feffff9ca891572, 0x3ef562fac4329b48 - .quad 0x3feffffa1de8c582, 0x3ef44f21e49054f2 - .quad 0x3feffffa6d13de73, 0x3ef34894a5e24657 - .quad 0x3feffffab83e54b8, 0x3ef24eb7254ccf83 - .quad 0x3feffffaff99bac4, 0x3ef160f438c70913 - .quad 0x3feffffb43555b5f, 0x3ef07ebd2a2d2844 - .quad 0x3feffffb839e52f3, 0x3eef4f12e9ab070a - .quad 0x3feffffbc09fa7cd, 0x3eedb5ad0b27805c - .quad 0x3feffffbfa82616b, 0x3eec304efa2c6f4e - .quad 0x3feffffc316d9ed0, 0x3eeabe09e9144b5e - .quad 0x3feffffc6586abf6, 0x3ee95df988e76644 - .quad 0x3feffffc96f1165e, 0x3ee80f439b4ee04b - .quad 0x3feffffcc5cec0c1, 0x3ee6d11788a69c64 - .quad 0x3feffffcf23ff5fc, 0x3ee5a2adfa0b4bc4 - .quad 0x3feffffd1c637b2b, 0x3ee4834877429b8f - .quad 0x3feffffd4456a10d, 0x3ee37231085c7d9a - .quad 0x3feffffd6a3554a1, 0x3ee26eb9daed6f7e - .quad 0x3feffffd8e1a2f22, 0x3ee1783ceac28910 - .quad 0x3feffffdb01e8546, 0x3ee08e1badf0fced - .quad 0x3feffffdd05a75ea, 0x3edf5f7d88472604 - .quad 0x3feffffdeee4f810, 0x3eddb92b5212fb8d - .quad 0x3feffffe0bd3e852, 0x3edc282cd3957eda - .quad 0x3feffffe273c15b7, 0x3edaab7abace48dc - .quad 0x3feffffe41314e06, 0x3ed94219bfcb4928 - .quad 0x3feffffe59c6698b, 0x3ed7eb1a2075864e - .quad 0x3feffffe710d565e, 0x3ed6a597219a93da - .quad 0x3feffffe8717232d, 0x3ed570b69502f313 - .quad 0x3feffffe9bf4098c, 0x3ed44ba864670882 - .quad 0x3feffffeafb377d5, 0x3ed335a62115bce2 - .quad 0x3feffffec2641a9e, 0x3ed22df298214423 - .quad 0x3feffffed413e5b7, 0x3ed133d96ae7e0dd - .quad 0x3feffffee4d01cd6, 0x3ed046aeabcfcdec - .quad 0x3feffffef4a55bd4, 0x3ececb9cfe1d8642 - .quad 0x3fefffff039f9e8f, 0x3ecd21397ead99cb - .quad 0x3fefffff11ca4876, 0x3ecb8d094c86d374 - .quad 0x3fefffff1f302bc1, 0x3eca0df0f0c626dc - .quad 0x3fefffff2bdb904d, 0x3ec8a2e269750a39 - .quad 0x3fefffff37d63a36, 0x3ec74adc8f4064d3 - .quad 0x3fefffff43297019, 0x3ec604ea819f007c - .quad 0x3fefffff4dde0118, 0x3ec4d0231928c6f9 - .quad 0x3fefffff57fc4a95, 0x3ec3aba85fe22e20 - .quad 0x3fefffff618c3da6, 0x3ec296a70f414053 - .quad 0x3fefffff6a956450, 0x3ec1905613b3abf2 - .quad 0x3fefffff731ee681, 0x3ec097f6156f32c5 - .quad 0x3fefffff7b2f8ed6, 0x3ebf59a20caf6695 - .quad 0x3fefffff82cdcf1b, 0x3ebd9c73698fb1dc - .quad 0x3fefffff89ffc4aa, 0x3ebbf716c6168bae - .quad 0x3fefffff90cb3c81, 0x3eba6852c6b58392 - .quad 0x3fefffff9735b73b, 0x3eb8eefd70594a89 - .quad 0x3fefffff9d446ccc, 0x3eb789fb715aae95 - .quad 0x3fefffffa2fc5015, 0x3eb6383f726a8e04 - .quad 0x3fefffffa8621251, 0x3eb4f8c96f26a26a - .quad 0x3fefffffad7a2652, 0x3eb3caa61607f920 - .quad 0x3fefffffb248c39d, 0x3eb2acee2f5ecdb8 - .quad 0x3fefffffb6d1e95d, 0x3eb19ec60b1242ed - .quad 0x3fefffffbb196132, 0x3eb09f5cf4dd2877 - .quad 0x3fefffffbf22c1e2, 0x3eaf5bd95d8730d8 - .quad 0x3fefffffc2f171e3, 0x3ead9371e2ff7c35 - .quad 0x3fefffffc688a9cf, 0x3eabe41de54d155a - .quad 0x3fefffffc9eb76ac, 0x3eaa4c89e08ef4f3 - .quad 0x3fefffffcd1cbc28, 0x3ea8cb738399b12c - .quad 0x3fefffffd01f36af, 0x3ea75fa8dbc84bec - .quad 0x3fefffffd2f57d68, 0x3ea608078a70dcbc - .quad 0x3fefffffd5a2041f, 0x3ea4c37c0394d094 - .quad 0x3fefffffd8271d12, 0x3ea39100d5687bfe - .quad 0x3fefffffda86faa9, 0x3ea26f9df8519bd7 - .quad 0x3fefffffdcc3b117, 0x3ea15e6827001f18 - .quad 0x3fefffffdedf37ed, 0x3ea05c803e4831c1 - .quad 0x3fefffffe0db6b91, 0x3e9ed22548cffd35 - .quad 0x3fefffffe2ba0ea5, 0x3e9d06ad6ecdf971 - .quad 0x3fefffffe47ccb60, 0x3e9b551c847fbc96 - .quad 0x3fefffffe62534d4, 0x3e99bc09f112b494 - .quad 0x3fefffffe7b4c81e, 0x3e983a1ff0aa239d - .quad 0x3fefffffe92ced93, 0x3e96ce1aa3fd7bdd - .quad 0x3fefffffea8ef9cf, 0x3e9576c72b514859 - .quad 0x3fefffffebdc2ec6, 0x3e943302cc4a0da8 - .quad 0x3fefffffed15bcba, 0x3e9301ba221dc9bb - .quad 0x3fefffffee3cc32c, 0x3e91e1e857adc568 - .quad 0x3fefffffef5251c2, 0x3e90d2966b1746f7 - .quad 0x3feffffff0576917, 0x3e8fa5b4f49cc6b2 - .quad 0x3feffffff14cfb92, 0x3e8dc3ae30b55c16 - .quad 0x3feffffff233ee1d, 0x3e8bfd7555a3bd68 - .quad 0x3feffffff30d18e8, 0x3e8a517d9e61628a - .quad 0x3feffffff3d9480f, 0x3e88be4f8f6c951f - .quad 0x3feffffff4993c46, 0x3e874287ded49339 - .quad 0x3feffffff54dab72, 0x3e85dcd669f2cd34 - .quad 0x3feffffff5f74141, 0x3e848bfd38302871 - .quad 0x3feffffff6969fb8, 0x3e834ecf8a3c124a - .quad 0x3feffffff72c5fb6, 0x3e822430f521cbcf - .quad 0x3feffffff7b91176, 0x3e810b1488aeb235 - .quad 0x3feffffff83d3d07, 0x3e80027c00a263a6 - .quad 0x3feffffff8b962be, 0x3e7e12ee004efc37 - .quad 0x3feffffff92dfba2, 0x3e7c3e44ae32b16b - .quad 0x3feffffff99b79d2, 0x3e7a854ea14102a8 - .quad 0x3feffffffa0248e8, 0x3e78e6761569f45d - .quad 0x3feffffffa62ce54, 0x3e77603bac345f65 - .quad 0x3feffffffabd69b4, 0x3e75f1353cdad001 - .quad 0x3feffffffb127525, 0x3e74980cb3c80949 - .quad 0x3feffffffb624592, 0x3e73537f00b6ad4d - .quad 0x3feffffffbad2aff, 0x3e72225b12bffc68 - .quad 0x3feffffffbf370cd, 0x3e710380e1adb7e9 - .quad 0x3feffffffc355dfd, 0x3e6febc107d5efaa - .quad 0x3feffffffc733572, 0x3e6df0f2a0ee6947 - .quad 0x3feffffffcad3626, 0x3e6c14b2188bcee4 - .quad 0x3feffffffce39b67, 0x3e6a553644f7f07d - .quad 0x3feffffffd169d0c, 0x3e68b0cfce0579e0 - .quad 0x3feffffffd466fa5, 0x3e6725e7c5dd20f7 - .quad 0x3feffffffd7344aa, 0x3e65b2fe547a1340 - .quad 0x3feffffffd9d4aab, 0x3e6456a974e92e93 - .quad 0x3feffffffdc4ad7a, 0x3e630f93c3699078 - .quad 0x3feffffffde9964e, 0x3e61dc7b5b978cf8 - .quad 0x3feffffffe0c2bf0, 0x3e60bc30c5d52f15 - .quad 0x3feffffffe2c92db, 0x3e5f5b2be65a0c7f - .quad 0x3feffffffe4aed5e, 0x3e5d5f3a8dea7357 - .quad 0x3feffffffe675bbd, 0x3e5b82915b03515b - .quad 0x3feffffffe81fc4e, 0x3e59c3517e789488 - .quad 0x3feffffffe9aeb97, 0x3e581fb7df06136e - .quad 0x3feffffffeb24467, 0x3e56961b8d641d06 - .quad 0x3feffffffec81ff2, 0x3e5524ec4d916cae - .quad 0x3feffffffedc95e7, 0x3e53cab1343d18d1 - .quad 0x3feffffffeefbc85, 0x3e52860757487a01 - .quad 0x3fefffffff01a8b6, 0x3e5155a09065d4f7 - .quad 0x3fefffffff126e1e, 0x3e50384250e4c9fc - .quad 0x3fefffffff221f30, 0x3e4e59890b926c78 - .quad 0x3fefffffff30cd3f, 0x3e4c642116a8a9e3 - .quad 0x3fefffffff3e8892, 0x3e4a8e405e651ab6 - .quad 0x3fefffffff4b606f, 0x3e48d5f98114f872 - .quad 0x3fefffffff57632d, 0x3e47397c5a66e307 - .quad 0x3fefffffff629e44, 0x3e45b71456c5a4c4 - .quad 0x3fefffffff6d1e56, 0x3e444d26de513197 - .quad 0x3fefffffff76ef3f, 0x3e42fa31d6371537 - .quad 0x3fefffffff801c1f, 0x3e41bcca373b7b43 - .quad 0x3fefffffff88af67, 0x3e40939ab853339f - .quad 0x3fefffffff90b2e3, 0x3e3efac5187b2863 - .quad 0x3fefffffff982fc1, 0x3e3cf1e86235d0e7 - .quad 0x3fefffffff9f2e9f, 0x3e3b0a68a2128bab - .quad 0x3fefffffffa5b790, 0x3e39423165bc4444 - .quad 0x3fefffffffabd229, 0x3e37974e743dea3d - .quad 0x3fefffffffb18582, 0x3e3607e9eacd1050 - .quad 0x3fefffffffb6d844, 0x3e34924a74dec729 - .quad 0x3fefffffffbbd0aa, 0x3e3334d19e0c2160 - .quad 0x3fefffffffc0748f, 0x3e31edfa3c5f5cca - .quad 0x3fefffffffc4c96c, 0x3e30bc56f1b54701 - .quad 0x3fefffffffc8d462, 0x3e2f3d2185e047d9 - .quad 0x3fefffffffcc9a41, 0x3e2d26cb87945e87 - .quad 0x3fefffffffd01f89, 0x3e2b334fac4b9f99 - .quad 0x3fefffffffd36871, 0x3e296076f7918d1c - .quad 0x3fefffffffd678ed, 0x3e27ac2d72fc2c63 - .quad 0x3fefffffffd954ae, 0x3e2614801550319e - .quad 0x3fefffffffdbff2a, 0x3e24979ac8b28927 - .quad 0x3fefffffffde7ba0, 0x3e2333c68e2d0548 - .quad 0x3fefffffffe0cd16, 0x3e21e767bce37dd7 - .quad 0x3fefffffffe2f664, 0x3e20b0fc5b6d05a0 - .quad 0x3fefffffffe4fa30, 0x3e1f1e3523b41d7d - .quad 0x3fefffffffe6daf7, 0x3e1d00de6608effe - .quad 0x3fefffffffe89b0c, 0x3e1b0778b7b3301b - .quad 0x3fefffffffea3c9a, 0x3e192fb04ec0f6cf - .quad 0x3fefffffffebc1a9, 0x3e177756ec9f78fa - .quad 0x3fefffffffed2c21, 0x3e15dc61922d5a06 - .quad 0x3fefffffffee7dc8, 0x3e145ce65699ff6d - .quad 0x3fefffffffefb847, 0x3e12f71a5f159970 - .quad 0x3feffffffff0dd2b, 0x3e11a94ff571654f - .quad 0x3feffffffff1ede9, 0x3e1071f4bbea09ec - .quad 0x3feffffffff2ebda, 0x3e0e9f1ff8ddd774 - .quad 0x3feffffffff3d843, 0x3e0c818223a202c7 - .quad 0x3feffffffff4b453, 0x3e0a887bd2b4404d - .quad 0x3feffffffff58126, 0x3e08b1a336c5eb6b - .quad 0x3feffffffff63fc3, 0x3e06fab63324088a - .quad 0x3feffffffff6f121, 0x3e056197e30205ba - .quad 0x3feffffffff79626, 0x3e03e44e45301b92 - .quad 0x3feffffffff82fab, 0x3e0281000bfe4c3f - .quad 0x3feffffffff8be77, 0x3e0135f28f2d50b4 - .quad 0x3feffffffff94346, 0x3e000187dded5975 - .quad 0x3feffffffff9bec8, 0x3dfdc479de0ef001 - .quad 0x3feffffffffa319f, 0x3dfbad4fdad3caa1 - .quad 0x3feffffffffa9c63, 0x3df9baed3ed27ab8 - .quad 0x3feffffffffaffa4, 0x3df7ead9ce4285bb - .quad 0x3feffffffffb5be5, 0x3df63ac6b4edc88e - .quad 0x3feffffffffbb1a2, 0x3df4a88be2a6390c - .quad 0x3feffffffffc014e, 0x3df332259185f1a0 - .quad 0x3feffffffffc4b56, 0x3df1d5b1f3793044 - .quad 0x3feffffffffc901c, 0x3df0916f04b6e18b - .quad 0x3feffffffffccfff, 0x3deec77101de6926 - .quad 0x3feffffffffd0b56, 0x3dec960bf23153e0 - .quad 0x3feffffffffd4271, 0x3dea8bd20fc65ef7 - .quad 0x3feffffffffd759d, 0x3de8a61745ec7d1d - .quad 0x3feffffffffda520, 0x3de6e25d0e756261 - .quad 0x3feffffffffdd13c, 0x3de53e4f7d1666cb - .quad 0x3feffffffffdfa2d, 0x3de3b7c27a7ddb0e - .quad 0x3feffffffffe202d, 0x3de24caf2c32af14 - .quad 0x3feffffffffe4371, 0x3de0fb3186804d0f - .quad 0x3feffffffffe642a, 0x3ddf830c0bb41fd7 - .quad 0x3feffffffffe8286, 0x3ddd3c0f1a91c846 - .quad 0x3feffffffffe9eb0, 0x3ddb1e5acf351d87 - .quad 0x3feffffffffeb8d0, 0x3dd92712d259ce66 - .quad 0x3feffffffffed10a, 0x3dd7538c60a04476 - .quad 0x3feffffffffee782, 0x3dd5a14b04b47879 - .quad 0x3feffffffffefc57, 0x3dd40dfd87456f4c - .quad 0x3fefffffffff0fa7, 0x3dd2977b1172b9d5 - .quad 0x3fefffffffff218f, 0x3dd13bc07e891491 - .quad 0x3fefffffffff3227, 0x3dcff1dbb4300811 - .quad 0x3fefffffffff4188, 0x3dcd9a880f306bd8 - .quad 0x3fefffffffff4fc9, 0x3dcb6e45220b55e0 - .quad 0x3fefffffffff5cfd, 0x3dc96a0b33f2c4da - .quad 0x3fefffffffff6939, 0x3dc78b07e9e924ac - .quad 0x3fefffffffff748e, 0x3dc5ce9ab1670dd2 - .quad 0x3fefffffffff7f0d, 0x3dc4325167006bb0 - .quad 0x3fefffffffff88c5, 0x3dc2b3e53538ff3f - .quad 0x3fefffffffff91c6, 0x3dc15137a7f44864 - .quad 0x3fefffffffff9a1b, 0x3dc0084ff125639d - .quad 0x3fefffffffffa1d2, 0x3dbdaeb0b7311ec7 - .quad 0x3fefffffffffa8f6, 0x3dbb7937d1c40c53 - .quad 0x3fefffffffffaf92, 0x3db96d082f59ab06 - .quad 0x3fefffffffffb5b0, 0x3db7872d9fa10aad - .quad 0x3fefffffffffbb58, 0x3db5c4e8e37bc7d0 - .quad 0x3fefffffffffc095, 0x3db423ac0df49a40 - .quad 0x3fefffffffffc56d, 0x3db2a117230ad284 - .quad 0x3fefffffffffc9e8, 0x3db13af4f04f9998 - .quad 0x3fefffffffffce0d, 0x3dafde703724e560 - .quad 0x3fefffffffffd1e1, 0x3dad77f0c82e7641 - .quad 0x3fefffffffffd56c, 0x3dab3ee02611d7dd - .quad 0x3fefffffffffd8b3, 0x3da92ff33023d5bd - .quad 0x3fefffffffffdbba, 0x3da7481a9e69f53f - .quad 0x3fefffffffffde86, 0x3da5847eda620959 - .quad 0x3fefffffffffe11d, 0x3da3e27c1fcc74bd - .quad 0x3fefffffffffe380, 0x3da25f9ee0b923dc - .quad 0x3fefffffffffe5b6, 0x3da0f9a068653200 - .quad 0x3fefffffffffe7c0, 0x3d9f5cc7718082b0 - .quad 0x3fefffffffffe9a2, 0x3d9cf7e53d6a2ca5 - .quad 0x3fefffffffffeb60, 0x3d9ac0f5f3229372 - .quad 0x3fefffffffffecfb, 0x3d98b498644847ea - .quad 0x3fefffffffffee77, 0x3d96cfa9bcca59dc - .quad 0x3fefffffffffefd6, 0x3d950f411d4fd2cd - .quad 0x3feffffffffff11a, 0x3d9370ab8327af5e - .quad 0x3feffffffffff245, 0x3d91f167f88c6b6e - .quad 0x3feffffffffff359, 0x3d908f24085d4597 - .quad 0x3feffffffffff457, 0x3d8e8f70e181d61a - .quad 0x3feffffffffff542, 0x3d8c324c20e337dc - .quad 0x3feffffffffff61b, 0x3d8a03261574b54e - .quad 0x3feffffffffff6e3, 0x3d87fe903cdf5855 - .quad 0x3feffffffffff79b, 0x3d86215c58da3450 - .quad 0x3feffffffffff845, 0x3d846897d4b69fc6 - .quad 0x3feffffffffff8e2, 0x3d82d1877d731b7b - .quad 0x3feffffffffff973, 0x3d8159a386b11517 - .quad 0x3feffffffffff9f8, 0x3d7ffd27ae9393ce - .quad 0x3feffffffffffa73, 0x3d7d7c593130dd0b - .quad 0x3feffffffffffae4, 0x3d7b2cd607c79bcf - .quad 0x3feffffffffffb4c, 0x3d790ae4d3405651 - .quad 0x3feffffffffffbad, 0x3d771312dd1759e2 - .quad 0x3feffffffffffc05, 0x3d75422ef5d8949d - .quad 0x3feffffffffffc57, 0x3d739544b0ecc957 - .quad 0x3feffffffffffca2, 0x3d720997f73e73dd - .quad 0x3feffffffffffce7, 0x3d709ca0eaacd277 - .quad 0x3feffffffffffd27, 0x3d6e9810295890ec - .quad 0x3feffffffffffd62, 0x3d6c2b45b5aa4a1d - .quad 0x3feffffffffffd98, 0x3d69eee068fa7596 - .quad 0x3feffffffffffdca, 0x3d67df2b399c10a8 - .quad 0x3feffffffffffdf8, 0x3d65f8b87a31bd85 - .quad 0x3feffffffffffe22, 0x3d64385c96e9a2d9 - .quad 0x3feffffffffffe49, 0x3d629b2933ef4cbc - .quad 0x3feffffffffffe6c, 0x3d611e68a6378f8a - .quad 0x3feffffffffffe8d, 0x3d5f7f338086a86b - .quad 0x3feffffffffffeab, 0x3d5cf8d7d9ce040a - .quad 0x3feffffffffffec7, 0x3d5aa577251ae485 - .quad 0x3feffffffffffee1, 0x3d58811d739efb5f - .quad 0x3feffffffffffef8, 0x3d568823e52970be - .quad 0x3fefffffffffff0e, 0x3d54b72ae68e8b4c - .quad 0x3fefffffffffff22, 0x3d530b14dbe876bc - .quad 0x3fefffffffffff34, 0x3d5181012ef86610 - .quad 0x3fefffffffffff45, 0x3d501647ba798745 - .quad 0x3fefffffffffff54, 0x3d4d90e917701675 - .quad 0x3fefffffffffff62, 0x3d4b2a87e86d0c8a - .quad 0x3fefffffffffff6f, 0x3d48f53dcb377293 - .quad 0x3fefffffffffff7b, 0x3d46ed2f2515e933 - .quad 0x3fefffffffffff86, 0x3d450ecc9ed47f19 - .quad 0x3fefffffffffff90, 0x3d4356cd5ce7799e - .quad 0x3fefffffffffff9a, 0x3d41c229a587ab78 - .quad 0x3fefffffffffffa2, 0x3d404e15ecc7f3f6 - .quad 0x3fefffffffffffaa, 0x3d3deffc7e6a6017 - .quad 0x3fefffffffffffb1, 0x3d3b7b040832f310 - .quad 0x3fefffffffffffb8, 0x3d3938e021f36d76 - .quad 0x3fefffffffffffbe, 0x3d37258610b3b233 - .quad 0x3fefffffffffffc3, 0x3d353d3bfc82a909 - .quad 0x3fefffffffffffc8, 0x3d337c92babdc2fd - .quad 0x3fefffffffffffcd, 0x3d31e06010120f6a - .quad 0x3fefffffffffffd1, 0x3d3065b9616170d4 - .quad 0x3fefffffffffffd5, 0x3d2e13dd96b3753b - .quad 0x3fefffffffffffd9, 0x3d2b950d32467392 - .quad 0x3fefffffffffffdc, 0x3d294a72263259a5 - .quad 0x3fefffffffffffdf, 0x3d272fd93e036cdc - .quad 0x3fefffffffffffe2, 0x3d254164576929ab - .quad 0x3fefffffffffffe4, 0x3d237b83c521fe96 - .quad 0x3fefffffffffffe7, 0x3d21daf033182e96 - .quad 0x3fefffffffffffe9, 0x3d205ca50205d26a - .quad 0x3fefffffffffffeb, 0x3d1dfbb6235639fa - .quad 0x3fefffffffffffed, 0x3d1b7807e294781f - .quad 0x3fefffffffffffee, 0x3d19298add70a734 - .quad 0x3feffffffffffff0, 0x3d170beaf9c7ffb6 - .quad 0x3feffffffffffff1, 0x3d151b2cd6709222 - .quad 0x3feffffffffffff3, 0x3d1353a6cf7f7fff - .quad 0x3feffffffffffff4, 0x3d11b1fa8cbe84a7 - .quad 0x3feffffffffffff5, 0x3d10330f0fd69921 - .quad 0x3feffffffffffff6, 0x3d0da81670f96f9b - .quad 0x3feffffffffffff7, 0x3d0b24a16b4d09aa - .quad 0x3feffffffffffff7, 0x3d08d6eeb6efdbd6 - .quad 0x3feffffffffffff8, 0x3d06ba91ac734786 - .quad 0x3feffffffffffff9, 0x3d04cb7966770ab5 - .quad 0x3feffffffffffff9, 0x3d0305e9721d0981 - .quad 0x3feffffffffffffa, 0x3d01667311fff70a - .quad 0x3feffffffffffffb, 0x3cffd3de10d62855 - .quad 0x3feffffffffffffb, 0x3cfd1aefbcd48d0c - .quad 0x3feffffffffffffb, 0x3cfa9cc93c25aca9 - .quad 0x3feffffffffffffc, 0x3cf85487ee3ea735 - .quad 0x3feffffffffffffc, 0x3cf63daf8b4b1e0c - .quad 0x3feffffffffffffd, 0x3cf45421e69a6ca1 - .quad 0x3feffffffffffffd, 0x3cf294175802d99a - .quad 0x3feffffffffffffd, 0x3cf0fa17bf41068f - .quad 0x3feffffffffffffd, 0x3cef05e82aae2bb9 - .quad 0x3feffffffffffffe, 0x3cec578101b29058 - .quad 0x3feffffffffffffe, 0x3ce9e39dc5dd2f7c - .quad 0x3feffffffffffffe, 0x3ce7a553a728bbf2 - .quad 0x3feffffffffffffe, 0x3ce5982008db1304 - .quad 0x3feffffffffffffe, 0x3ce3b7e00422e51b - .quad 0x3feffffffffffffe, 0x3ce200c898d9ee3e - .quad 0x3fefffffffffffff, 0x3ce06f5f7eb65a56 - .quad 0x3fefffffffffffff, 0x3cde00e9148a1d25 - .quad 0x3fefffffffffffff, 0x3cdb623734024e92 - .quad 0x3fefffffffffffff, 0x3cd8fd4e01891bf8 - .quad 0x3fefffffffffffff, 0x3cd6cd44c7470d89 - .quad 0x3fefffffffffffff, 0x3cd4cd9c04158cd7 - .quad 0x3fefffffffffffff, 0x3cd2fa34bf5c8344 - .quad 0x3fefffffffffffff, 0x3cd14f4890ff2461 - .quad 0x3fefffffffffffff, 0x3ccf92c49dfa4df5 - .quad 0x3fefffffffffffff, 0x3ccccaaea71ab0df - .quad 0x3fefffffffffffff, 0x3cca40829f001197 - .quad 0x3ff0000000000000, 0x3cc7eef13b59e96c - .quad 0x3ff0000000000000, 0x3cc5d11e1a252bf5 - .quad 0x3ff0000000000000, 0x3cc3e296303b2297 - .quad 0x3ff0000000000000, 0x3cc21f47009f43ce - .quad 0x3ff0000000000000, 0x3cc083768c5e4542 - .quad 0x3ff0000000000000, 0x3cbe1777d831265f - .quad 0x3ff0000000000000, 0x3cbb69f10b0191b5 - .quad 0x3ff0000000000000, 0x3cb8f8a3a05b5b53 - .quad 0x3ff0000000000000, 0x3cb6be573c40c8e7 - .quad 0x3ff0000000000000, 0x3cb4b645ba991fdb - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ - .align 32 - .quad 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000 /* _MaxThreshold = 6.0 - 1.0/128.0 */ - .align 32 - .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ - .align 32 - .quad 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000 /* _U2THreshold */ - .align 32 - .quad 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5 /* _poly_1_0 */ - .align 32 - .quad 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1 /* _poly_1_1 */ - .align 32 - .quad 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57 /* _poly_3_0 */ - .align 32 - .quad 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8 /* _poly_3_1 */ - .align 32 - .quad 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F /* _poly_5_0 */ - .align 32 - .quad 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122 /* _poly_5_1 */ - .align 32 - .quad 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6 /* _poly_1_2 */ - .align 32 - .quad 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd /* _poly_3_2 */ - .align 32 - .quad 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c /* _poly_1_3 */ - .align 32 - .quad 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555 /* _poly_3_3 */ - .align 32 - .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ - .align 32 - .type __svml_derf_data_internal,@object - .size __svml_derf_data_internal,.-__svml_derf_data_internal + /* _erf_tbl */ + .quad 0x0000000000000000, 0x3ff20dd750429b6d + .quad 0x3f820dbf3deb1340, 0x3ff20d8f1975c85d + .quad 0x3f920d77083f17a0, 0x3ff20cb67bd452c7 + .quad 0x3f9b137e0cf584dc, 0x3ff20b4d8bac36c1 + .quad 0x3fa20c5645dd2538, 0x3ff209546ad13ccf + .quad 0x3fa68e5d3bbc9526, 0x3ff206cb4897b148 + .quad 0x3fab0fafef135745, 0x3ff203b261cd0053 + .quad 0x3faf902a77bd3821, 0x3ff2000a00ae3804 + .quad 0x3fb207d480e90658, 0x3ff1fbd27cdc72d3 + .quad 0x3fb44703e87e8593, 0x3ff1f70c3b4f2cc8 + .quad 0x3fb68591a1e83b5d, 0x3ff1f1b7ae44867f + .quad 0x3fb8c36beb8a8d23, 0x3ff1ebd5552f795b + .quad 0x3fbb0081148a873a, 0x3ff1e565bca400d4 + .quad 0x3fbd3cbf7e70a4b3, 0x3ff1de697e413d29 + .quad 0x3fbf78159ec8bb50, 0x3ff1d6e14099944a + .quad 0x3fc0d939005f65e5, 0x3ff1cecdb718d61c + .quad 0x3fc1f5e1a35c3b89, 0x3ff1c62fa1e869b6 + .quad 0x3fc311fc15f56d14, 0x3ff1bd07cdd189ac + .quad 0x3fc42d7fc2f64959, 0x3ff1b357141d95d5 + .quad 0x3fc548642321d7c6, 0x3ff1a91e5a748165 + .quad 0x3fc662a0bdf7a89f, 0x3ff19e5e92b964ab + .quad 0x3fc77c2d2a765f9e, 0x3ff19318bae53a04 + .quad 0x3fc895010fdbdbfd, 0x3ff1874ddcdfce24 + .quad 0x3fc9ad142662e14d, 0x3ff17aff0e56ec10 + .quad 0x3fcac45e37fe2526, 0x3ff16e2d7093cd8c + .quad 0x3fcbdad72110a648, 0x3ff160da304ed92f + .quad 0x3fccf076d1233237, 0x3ff153068581b781 + .quad 0x3fce05354b96ff36, 0x3ff144b3b337c90c + .quad 0x3fcf190aa85540e2, 0x3ff135e3075d076b + .quad 0x3fd015f78a3dcf3d, 0x3ff12695da8b5bde + .quad 0x3fd09eed6982b948, 0x3ff116cd8fd67618 + .quad 0x3fd127631eb8de32, 0x3ff1068b94962e5e + .quad 0x3fd1af54e232d609, 0x3ff0f5d1602f7e41 + .quad 0x3fd236bef825d9a2, 0x3ff0e4a073dc1b91 + .quad 0x3fd2bd9db0f7827f, 0x3ff0d2fa5a70c168 + .quad 0x3fd343ed6989b7d9, 0x3ff0c0e0a8223359 + .quad 0x3fd3c9aa8b84beda, 0x3ff0ae54fa490723 + .quad 0x3fd44ed18d9f6462, 0x3ff09b58f724416b + .quad 0x3fd4d35ef3e5372e, 0x3ff087ee4d9ad247 + .quad 0x3fd5574f4ffac98e, 0x3ff07416b4fbfe7c + .quad 0x3fd5da9f415ff23f, 0x3ff05fd3ecbec298 + .quad 0x3fd65d4b75b00471, 0x3ff04b27bc403d30 + .quad 0x3fd6df50a8dff772, 0x3ff03613f2812daf + .quad 0x3fd760aba57a76bf, 0x3ff0209a65e29545 + .quad 0x3fd7e15944d9d3e4, 0x3ff00abcf3e187a9 + .quad 0x3fd861566f5fd3c0, 0x3fefe8fb01a47307 + .quad 0x3fd8e0a01cab516b, 0x3fefbbbbef34b4b2 + .quad 0x3fd95f3353cbb146, 0x3fef8dc092d58ff8 + .quad 0x3fd9dd0d2b721f39, 0x3fef5f0cdaf15313 + .quad 0x3fda5a2aca209394, 0x3fef2fa4c16c0019 + .quad 0x3fdad68966569a87, 0x3feeff8c4b1375db + .quad 0x3fdb522646bbda68, 0x3feecec7870ebca8 + .quad 0x3fdbccfec24855b8, 0x3fee9d5a8e4c934e + .quad 0x3fdc4710406a65fc, 0x3fee6b4982f158b9 + .quad 0x3fdcc058392a6d2d, 0x3fee38988fc46e72 + .quad 0x3fdd38d4354c3bd0, 0x3fee054be79d3042 + .quad 0x3fddb081ce6e2a48, 0x3fedd167c4cf9d2a + .quad 0x3fde275eaf25e458, 0x3fed9cf06898cdaf + .quad 0x3fde9d68931ae650, 0x3fed67ea1a8b5368 + .quad 0x3fdf129d471eabb1, 0x3fed325927fb9d89 + .quad 0x3fdf86faa9428f9d, 0x3fecfc41e36c7df9 + .quad 0x3fdffa7ea8eb5fd0, 0x3fecc5a8a3fbea40 + .quad 0x3fe03693a371519c, 0x3fec8e91c4d01368 + .quad 0x3fe06f794ab2cae7, 0x3fec5701a484ef9d + .quad 0x3fe0a7ef5c18edd2, 0x3fec1efca49a5011 + .quad 0x3fe0dff4f247f6c6, 0x3febe68728e29d5e + .quad 0x3fe1178930ada115, 0x3febada596f25436 + .quad 0x3fe14eab43841b55, 0x3feb745c55905bf8 + .quad 0x3fe1855a5fd3dd50, 0x3feb3aafcc27502e + .quad 0x3fe1bb95c3746199, 0x3feb00a46237d5be + .quad 0x3fe1f15cb50bc4de, 0x3feac63e7ecc1411 + .quad 0x3fe226ae840d4d70, 0x3fea8b8287ec6a09 + .quad 0x3fe25b8a88b6dd7f, 0x3fea5074e2157620 + .quad 0x3fe28ff0240d52cd, 0x3fea1519efaf889e + .quad 0x3fe2c3debfd7d6c1, 0x3fe9d97610879642 + .quad 0x3fe2f755ce9a21f4, 0x3fe99d8da149c13f + .quad 0x3fe32a54cb8db67b, 0x3fe96164fafd8de3 + .quad 0x3fe35cdb3a9a144d, 0x3fe925007283d7aa + .quad 0x3fe38ee8a84beb71, 0x3fe8e86458169af8 + .quad 0x3fe3c07ca9cb4f9e, 0x3fe8ab94f6caa71d + .quad 0x3fe3f196dcd0f135, 0x3fe86e9694134b9e + .quad 0x3fe42236e79a5fa6, 0x3fe8316d6f48133d + .quad 0x3fe4525c78dd5966, 0x3fe7f41dc12c9e89 + .quad 0x3fe4820747ba2dc2, 0x3fe7b6abbb7aaf19 + .quad 0x3fe4b13713ad3513, 0x3fe7791b886e7403 + .quad 0x3fe4dfeba47f63cc, 0x3fe73b714a552763 + .quad 0x3fe50e24ca35fd2c, 0x3fe6fdb11b1e0c34 + .quad 0x3fe53be25d016a4f, 0x3fe6bfdf0beddaf5 + .quad 0x3fe569243d2b3a9b, 0x3fe681ff24b4ab04 + .quad 0x3fe595ea53035283, 0x3fe6441563c665d4 + .quad 0x3fe5c2348ecc4dc3, 0x3fe60625bd75d07b + .quad 0x3fe5ee02e8a71a53, 0x3fe5c8341bb23767 + .quad 0x3fe61955607dd15d, 0x3fe58a445da7c74c + .quad 0x3fe6442bfdedd397, 0x3fe54c5a57629db0 + .quad 0x3fe66e86d0312e82, 0x3fe50e79d1749ac9 + .quad 0x3fe69865ee075011, 0x3fe4d0a6889dfd9f + .quad 0x3fe6c1c9759d0e5f, 0x3fe492e42d78d2c5 + .quad 0x3fe6eab18c74091b, 0x3fe4553664273d24 + .quad 0x3fe7131e5f496a5a, 0x3fe417a0c4049fd0 + .quad 0x3fe73b1021fc0cb8, 0x3fe3da26d759aef5 + .quad 0x3fe762870f720c6f, 0x3fe39ccc1b136d5a + .quad 0x3fe78983697dc96f, 0x3fe35f93fe7d1b3d + .quad 0x3fe7b00578c26037, 0x3fe32281e2fd1a92 + .quad 0x3fe7d60d8c979f7b, 0x3fe2e5991bd4cbfc + .quad 0x3fe7fb9bfaed8078, 0x3fe2a8dcede3673b + .quad 0x3fe820b1202f27fb, 0x3fe26c508f6bd0ff + .quad 0x3fe8454d5f25760d, 0x3fe22ff727dd6f7b + .quad 0x3fe8697120d92a4a, 0x3fe1f3d3cf9ffe5a + .quad 0x3fe88d1cd474a2e0, 0x3fe1b7e98fe26217 + .quad 0x3fe8b050ef253c37, 0x3fe17c3b626c7a12 + .quad 0x3fe8d30debfc572e, 0x3fe140cc3173f007 + .quad 0x3fe8f5544bd00c04, 0x3fe1059ed7740313 + .quad 0x3fe91724951b8fc6, 0x3fe0cab61f084b93 + .quad 0x3fe9387f53df5238, 0x3fe09014c2ca74da + .quad 0x3fe959651980da31, 0x3fe055bd6d32e8d7 + .quad 0x3fe979d67caa6631, 0x3fe01bb2b87c6968 + .quad 0x3fe999d4192a5715, 0x3fdfc3ee5d1524b0 + .quad 0x3fe9b95e8fd26aba, 0x3fdf511a91a67d2a + .quad 0x3fe9d8768656cc42, 0x3fdedeeee0959518 + .quad 0x3fe9f71ca72cffb6, 0x3fde6d6ffaa65a25 + .quad 0x3fea1551a16aaeaf, 0x3fddfca26f5bbf88 + .quad 0x3fea331628a45b92, 0x3fdd8c8aace11e63 + .quad 0x3fea506af4cc00f4, 0x3fdd1d2cfff91594 + .quad 0x3fea6d50c20fa293, 0x3fdcae8d93f1d7b7 + .quad 0x3fea89c850b7d54d, 0x3fdc40b0729ed548 + .quad 0x3feaa5d265064366, 0x3fdbd3998457afdb + .quad 0x3feac16fc7143263, 0x3fdb674c8ffc6283 + .quad 0x3feadca142b10f98, 0x3fdafbcd3afe8ab6 + .quad 0x3feaf767a741088b, 0x3fda911f096fbc26 + .quad 0x3feb11c3c79bb424, 0x3fda27455e14c93c + .quad 0x3feb2bb679ead19c, 0x3fd9be437a7de946 + .quad 0x3feb4540978921ee, 0x3fd9561c7f23a47b + .quad 0x3feb5e62fce16095, 0x3fd8eed36b886d93 + .quad 0x3feb771e894d602e, 0x3fd8886b1e5ecfd1 + .quad 0x3feb8f741ef54f83, 0x3fd822e655b417e7 + .quad 0x3feba764a2af2b78, 0x3fd7be47af1f5d89 + .quad 0x3febbef0fbde6221, 0x3fd75a91a7f4d2ed + .quad 0x3febd61a1453ab44, 0x3fd6f7c69d7d3ef8 + .quad 0x3febece0d82d1a5c, 0x3fd695e8cd31867e + .quad 0x3fec034635b66e23, 0x3fd634fa54fa285f + .quad 0x3fec194b1d49a184, 0x3fd5d4fd33729015 + .quad 0x3fec2ef0812fc1bd, 0x3fd575f3483021c3 + .quad 0x3fec443755820d64, 0x3fd517de540ce2a3 + .quad 0x3fec5920900b5fd1, 0x3fd4babff975a04c + .quad 0x3fec6dad2829ec62, 0x3fd45e99bcbb7915 + .quad 0x3fec81de16b14cef, 0x3fd4036d0468a7a2 + .quad 0x3fec95b455cce69d, 0x3fd3a93b1998736c + .quad 0x3feca930e0e2a825, 0x3fd35005285227f1 + .quad 0x3fecbc54b476248d, 0x3fd2f7cc3fe6f423 + .quad 0x3feccf20ce0c0d27, 0x3fd2a09153529381 + .quad 0x3fece1962c0e0d8b, 0x3fd24a55399ea239 + .quad 0x3fecf3b5cdaf0c39, 0x3fd1f518ae487dc8 + .quad 0x3fed0580b2cfd249, 0x3fd1a0dc51a9934d + .quad 0x3fed16f7dbe41ca0, 0x3fd14da0a961fd14 + .quad 0x3fed281c49d818d0, 0x3fd0fb6620c550af + .quad 0x3fed38eefdf64fdd, 0x3fd0aa2d09497f2b + .quad 0x3fed4970f9ce00d9, 0x3fd059f59af7a906 + .quad 0x3fed59a33f19ed42, 0x3fd00abff4dec7a3 + .quad 0x3fed6986cfa798e7, 0x3fcf79183b101c5b + .quad 0x3fed791cad3eff01, 0x3fcedeb406d9c825 + .quad 0x3fed8865d98abe01, 0x3fce4652fadcb6b2 + .quad 0x3fed97635600bb89, 0x3fcdaff4969c0b04 + .quad 0x3feda61623cb41e0, 0x3fcd1b982c501370 + .quad 0x3fedb47f43b2980d, 0x3fcc893ce1dcbef7 + .quad 0x3fedc29fb60715af, 0x3fcbf8e1b1ca2279 + .quad 0x3fedd0787a8bb39d, 0x3fcb6a856c3ed54f + .quad 0x3fedde0a90611a0d, 0x3fcade26b7fbed95 + .quad 0x3fedeb56f5f12d28, 0x3fca53c4135a6526 + .quad 0x3fedf85ea8db188e, 0x3fc9cb5bd549b111 + .quad 0x3fee0522a5dfda73, 0x3fc944ec2e4f5630 + .quad 0x3fee11a3e8cf4eb8, 0x3fc8c07329874652 + .quad 0x3fee1de36c75ba58, 0x3fc83deeada4d25a + .quad 0x3fee29e22a89d766, 0x3fc7bd5c7df3fe9c + .quad 0x3fee35a11b9b61ce, 0x3fc73eba3b5b07b7 + .quad 0x3fee4121370224cc, 0x3fc6c205655be720 + .quad 0x3fee4c6372cd8927, 0x3fc6473b5b15a7a1 + .quad 0x3fee5768c3b4a3fc, 0x3fc5ce595c455b0a + .quad 0x3fee62321d06c5e0, 0x3fc5575c8a468362 + .quad 0x3fee6cc0709c8a0d, 0x3fc4e241e912c305 + .quad 0x3fee7714aec96534, 0x3fc46f066040a832 + .quad 0x3fee812fc64db369, 0x3fc3fda6bc016994 + .quad 0x3fee8b12a44944a8, 0x3fc38e1fae1d6a9d + .quad 0x3fee94be342e6743, 0x3fc3206dceef5f87 + .quad 0x3fee9e335fb56f87, 0x3fc2b48d9e5dea1c + .quad 0x3feea7730ed0bbb9, 0x3fc24a7b84d38971 + .quad 0x3feeb07e27a133aa, 0x3fc1e233d434b813 + .quad 0x3feeb9558e6b42ce, 0x3fc17bb2c8d41535 + .quad 0x3feec1fa258c4bea, 0x3fc116f48a6476cc + .quad 0x3feeca6ccd709544, 0x3fc0b3f52ce8c383 + .quad 0x3feed2ae6489ac1e, 0x3fc052b0b1a174ea + .quad 0x3feedabfc7453e63, 0x3fbfe6460fef4680 + .quad 0x3feee2a1d004692c, 0x3fbf2a901ccafb37 + .quad 0x3feeea5557137ae0, 0x3fbe723726b824a9 + .quad 0x3feef1db32a2277c, 0x3fbdbd32ac4c99b0 + .quad 0x3feef93436bc2daa, 0x3fbd0b7a0f921e7c + .quad 0x3fef006135426b26, 0x3fbc5d0497c09e74 + .quad 0x3fef0762fde45ee6, 0x3fbbb1c972f23e50 + .quad 0x3fef0e3a5e1a1788, 0x3fbb09bfb7d11a84 + .quad 0x3fef14e8211e8c55, 0x3fba64de673e8837 + .quad 0x3fef1b6d0fea5f4d, 0x3fb9c31c6df3b1b8 + .quad 0x3fef21c9f12f0677, 0x3fb92470a61b6965 + .quad 0x3fef27ff89525acf, 0x3fb888d1d8e510a3 + .quad 0x3fef2e0e9a6a8b09, 0x3fb7f036c0107294 + .quad 0x3fef33f7e43a706b, 0x3fb75a96077274ba + .quad 0x3fef39bc242e43e6, 0x3fb6c7e64e7281cb + .quad 0x3fef3f5c1558b19e, 0x3fb6381e2980956b + .quad 0x3fef44d870704911, 0x3fb5ab342383d178 + .quad 0x3fef4a31ebcd47df, 0x3fb5211ebf41880b + .quad 0x3fef4f693b67bd77, 0x3fb499d478bca735 + .quad 0x3fef547f10d60597, 0x3fb4154bc68d75c3 + .quad 0x3fef59741b4b97cf, 0x3fb3937b1b31925a + .quad 0x3fef5e4907982a07, 0x3fb31458e6542847 + .quad 0x3fef62fe80272419, 0x3fb297db960e4f63 + .quad 0x3fef67952cff6282, 0x3fb21df9981f8e53 + .quad 0x3fef6c0db3c34641, 0x3fb1a6a95b1e786f + .quad 0x3fef7068b7b10fd9, 0x3fb131e14fa1625d + .quad 0x3fef74a6d9a38383, 0x3fb0bf97e95f2a64 + .quad 0x3fef78c8b812d498, 0x3fb04fc3a0481321 + .quad 0x3fef7cceef15d631, 0x3fafc4b5e32d6259 + .quad 0x3fef80ba18636f07, 0x3faeeea8c1b1db94 + .quad 0x3fef848acb544e95, 0x3fae1d4cf1e2450a + .quad 0x3fef88419ce4e184, 0x3fad508f9a1ea64f + .quad 0x3fef8bdf1fb78370, 0x3fac885df3451a07 + .quad 0x3fef8f63e416ebff, 0x3fabc4a54a84e834 + .quad 0x3fef92d077f8d56d, 0x3fab055303221015 + .quad 0x3fef96256700da8e, 0x3faa4a549829587e + .quad 0x3fef99633a838a57, 0x3fa993979e14fffe + .quad 0x3fef9c8a7989af0d, 0x3fa8e109c4622913 + .quad 0x3fef9f9ba8d3c733, 0x3fa83298d717210e + .quad 0x3fefa2974addae45, 0x3fa78832c03aa2b1 + .quad 0x3fefa57ddfe27376, 0x3fa6e1c5893c380b + .quad 0x3fefa84fe5e05c8d, 0x3fa63f3f5c4de13b + .quad 0x3fefab0dd89d1309, 0x3fa5a08e85af27e0 + .quad 0x3fefadb831a9f9c3, 0x3fa505a174e9c929 + .quad 0x3fefb04f6868a944, 0x3fa46e66be002240 + .quad 0x3fefb2d3f20f9101, 0x3fa3dacd1a8d8cce + .quad 0x3fefb54641aebbc9, 0x3fa34ac36ad8dafe + .quad 0x3fefb7a6c834b5a2, 0x3fa2be38b6d92415 + .quad 0x3fefb9f5f4739170, 0x3fa2351c2f2d1449 + .quad 0x3fefbc3433260ca5, 0x3fa1af5d2e04f3f6 + .quad 0x3fefbe61eef4cf6a, 0x3fa12ceb37ff9bc3 + .quad 0x3fefc07f907bc794, 0x3fa0adb5fcfa8c75 + .quad 0x3fefc28d7e4f9cd0, 0x3fa031ad58d56279 + .quad 0x3fefc48c1d033c7a, 0x3f9f7182a851bca2 + .quad 0x3fefc67bcf2d7b8f, 0x3f9e85c449e377f3 + .quad 0x3fefc85cf56ecd38, 0x3f9da0005e5f28df + .quad 0x3fefca2fee770c79, 0x3f9cc0180af00a8b + .quad 0x3fefcbf5170b578b, 0x3f9be5ecd2fcb5f9 + .quad 0x3fefcdacca0bfb73, 0x3f9b1160991ff737 + .quad 0x3fefcf57607a6e7c, 0x3f9a4255a00b9f03 + .quad 0x3fefd0f5317f582f, 0x3f9978ae8b55ce1b + .quad 0x3fefd2869270a56f, 0x3f98b44e6031383e + .quad 0x3fefd40bd6d7a785, 0x3f97f5188610ddc8 + .quad 0x3fefd58550773cb5, 0x3f973af0c737bb45 + .quad 0x3fefd6f34f52013a, 0x3f9685bb5134ef13 + .quad 0x3fefd85621b0876d, 0x3f95d55cb54cd53a + .quad 0x3fefd9ae142795e3, 0x3f9529b9e8cf9a1e + .quad 0x3fefdafb719e6a69, 0x3f9482b8455dc491 + .quad 0x3fefdc3e835500b3, 0x3f93e03d891b37de + .quad 0x3fefdd7790ea5bc0, 0x3f93422fd6d12e2b + .quad 0x3fefdea6e062d0c9, 0x3f92a875b5ffab56 + .quad 0x3fefdfccb62e52d3, 0x3f9212f612dee7fb + .quad 0x3fefe0e9552ebdd6, 0x3f9181983e5133dd + .quad 0x3fefe1fcfebe2083, 0x3f90f443edc5ce49 + .quad 0x3fefe307f2b503d0, 0x3f906ae13b0d3255 + .quad 0x3fefe40a6f70af4b, 0x3f8fcab1483ea7fc + .quad 0x3fefe504b1d9696c, 0x3f8ec72615a894c4 + .quad 0x3fefe5f6f568b301, 0x3f8dcaf3691fc448 + .quad 0x3fefe6e1742f7cf6, 0x3f8cd5ec93c12432 + .quad 0x3fefe7c466dc57a1, 0x3f8be7e5ac24963b + .quad 0x3fefe8a004c19ae6, 0x3f8b00b38d6b3575 + .quad 0x3fefe97483db8670, 0x3f8a202bd6372dce + .quad 0x3fefea4218d6594a, 0x3f894624e78e0faf + .quad 0x3fefeb08f7146046, 0x3f887275e3a6869e + .quad 0x3fefebc950b3fa75, 0x3f87a4f6aca256cb + .quad 0x3fefec835695932e, 0x3f86dd7fe3358230 + .quad 0x3fefed37386190fb, 0x3f861beae53b72b7 + .quad 0x3fefede5248e38f4, 0x3f856011cc3b036d + .quad 0x3fefee8d486585ee, 0x3f84a9cf6bda3f4c + .quad 0x3fefef2fd00af31a, 0x3f83f8ff5042a88e + .quad 0x3fefefcce6813974, 0x3f834d7dbc76d7e5 + .quad 0x3feff064b5afffbe, 0x3f82a727a89a3f14 + .quad 0x3feff0f766697c76, 0x3f8205dac02bd6b9 + .quad 0x3feff18520700971, 0x3f81697560347b26 + .quad 0x3feff20e0a7ba8c2, 0x3f80d1d69569b82d + .quad 0x3feff2924a3f7a83, 0x3f803ede1a45bfee + .quad 0x3feff312046f2339, 0x3f7f60d8aa2a88f2 + .quad 0x3feff38d5cc4227f, 0x3f7e4cc4abf7d065 + .quad 0x3feff404760319b4, 0x3f7d4143a9dfe965 + .quad 0x3feff47772010262, 0x3f7c3e1a5f5c077c + .quad 0x3feff4e671a85425, 0x3f7b430ecf4a83a8 + .quad 0x3feff55194fe19df, 0x3f7a4fe83fb9db25 + .quad 0x3feff5b8fb26f5f6, 0x3f79646f35a76624 + .quad 0x3feff61cc26c1578, 0x3f78806d70b2fc36 + .quad 0x3feff67d08401202, 0x3f77a3ade6c8b3e5 + .quad 0x3feff6d9e943c231, 0x3f76cdfcbfc1e263 + .quad 0x3feff733814af88c, 0x3f75ff2750fe7820 + .quad 0x3feff789eb6130c9, 0x3f7536fc18f7ce5c + .quad 0x3feff7dd41ce2b4d, 0x3f74754abacdf1dc + .quad 0x3feff82d9e1a76d8, 0x3f73b9e3f9d06e3f + .quad 0x3feff87b1913e853, 0x3f730499b503957f + .quad 0x3feff8c5cad200a5, 0x3f72553ee2a336bf + .quad 0x3feff90dcaba4096, 0x3f71aba78ba3af89 + .quad 0x3feff9532f846ab0, 0x3f7107a8c7323a6e + .quad 0x3feff9960f3eb327, 0x3f706918b6355624 + .quad 0x3feff9d67f51ddba, 0x3f6f9f9cfd9c3035 + .quad 0x3feffa14948549a7, 0x3f6e77448fb66bb9 + .quad 0x3feffa506302ebae, 0x3f6d58da68fd1170 + .quad 0x3feffa89fe5b3625, 0x3f6c4412bf4b8f0b + .quad 0x3feffac17988ef4b, 0x3f6b38a3af2e55b4 + .quad 0x3feffaf6e6f4f5c0, 0x3f6a3645330550ff + .quad 0x3feffb2a5879f35e, 0x3f693cb11a30d765 + .quad 0x3feffb5bdf67fe6f, 0x3f684ba3004a50d0 + .quad 0x3feffb8b8c88295f, 0x3f6762d84469c18f + .quad 0x3feffbb970200110, 0x3f66821000795a03 + .quad 0x3feffbe599f4f9d9, 0x3f65a90b00981d93 + .quad 0x3feffc10194fcb64, 0x3f64d78bba8ca5fd + .quad 0x3feffc38fcffbb7c, 0x3f640d564548fad7 + .quad 0x3feffc60535dd7f5, 0x3f634a305080681f + .quad 0x3feffc862a501fd7, 0x3f628de11c5031eb + .quad 0x3feffcaa8f4c9bea, 0x3f61d83170fbf6fb + .quad 0x3feffccd8f5c66d1, 0x3f6128eb96be8798 + .quad 0x3feffcef371ea4d7, 0x3f607fdb4dafea5f + .quad 0x3feffd0f92cb6ba7, 0x3f5fb99b8b8279e1 + .quad 0x3feffd2eae369a07, 0x3f5e7f232d9e2630 + .quad 0x3feffd4c94d29fdb, 0x3f5d4fed7195d7e8 + .quad 0x3feffd6951b33686, 0x3f5c2b9cf7f893bf + .quad 0x3feffd84ef9009ee, 0x3f5b11d702b3deb2 + .quad 0x3feffd9f78c7524a, 0x3f5a024365f771bd + .quad 0x3feffdb8f7605ee7, 0x3f58fc8c794b03b5 + .quad 0x3feffdd1750e1220, 0x3f58005f08d6f1ef + .quad 0x3feffde8fb314ebf, 0x3f570d6a46e07dda + .quad 0x3feffdff92db56e5, 0x3f56235fbd7a4345 + .quad 0x3feffe1544d01ccb, 0x3f5541f340697987 + .quad 0x3feffe2a1988857c, 0x3f5468dadf4080ab + .quad 0x3feffe3e19349dc7, 0x3f5397ced7af2b15 + .quad 0x3feffe514bbdc197, 0x3f52ce898809244e + .quad 0x3feffe63b8c8b5f7, 0x3f520cc76202c5fb + .quad 0x3feffe7567b7b5e1, 0x3f515246dda49d47 + .quad 0x3feffe865fac722b, 0x3f509ec86c75d497 + .quad 0x3feffe96a78a04a9, 0x3f4fe41cd9bb4eee + .quad 0x3feffea645f6d6da, 0x3f4e97ba3b77f306 + .quad 0x3feffeb5415e7c44, 0x3f4d57f524723822 + .quad 0x3feffec39ff380b9, 0x3f4c245d4b99847a + .quad 0x3feffed167b12ac2, 0x3f4afc85e0f82e12 + .quad 0x3feffede9e5d3262, 0x3f49e005769dbc1d + .quad 0x3feffeeb49896c6d, 0x3f48ce75e9f6f8a0 + .quad 0x3feffef76e956a9f, 0x3f47c7744d9378f7 + .quad 0x3fefff0312b010b5, 0x3f46caa0d3582fe9 + .quad 0x3fefff0e3ad91ec2, 0x3f45d79eb71e893b + .quad 0x3fefff18ebe2b0e1, 0x3f44ee1429bf7cc0 + .quad 0x3fefff232a72b48e, 0x3f440daa3c89f5b6 + .quad 0x3fefff2cfb0453d9, 0x3f43360ccd23db3a + .quad 0x3fefff3661e9569d, 0x3f4266ea71d4f71a + .quad 0x3fefff3f634b79f9, 0x3f419ff4663ae9df + .quad 0x3fefff48032dbe40, 0x3f40e0de78654d1e + .quad 0x3fefff50456dab8c, 0x3f40295ef6591848 + .quad 0x3fefff582dc48d30, 0x3f3ef25d37f49fe1 + .quad 0x3fefff5fbfc8a439, 0x3f3da01102b5f851 + .quad 0x3fefff66feee5129, 0x3f3c5b5412dcafad + .quad 0x3fefff6dee89352e, 0x3f3b23a5a23e4210 + .quad 0x3fefff7491cd4af6, 0x3f39f8893d8fd1c1 + .quad 0x3fefff7aebcff755, 0x3f38d986a4187285 + .quad 0x3fefff80ff8911fd, 0x3f37c629a822bc9e + .quad 0x3fefff86cfd3e657, 0x3f36be02102b3520 + .quad 0x3fefff8c5f702ccf, 0x3f35c0a378c90bca + .quad 0x3fefff91b102fca8, 0x3f34cda5374ea275 + .quad 0x3fefff96c717b695, 0x3f33e4a23d1f4703 + .quad 0x3fefff9ba420e834, 0x3f330538fbb77ecd + .quad 0x3fefffa04a7928b1, 0x3f322f0b496539be + .quad 0x3fefffa4bc63ee9a, 0x3f3161be46ad3b50 + .quad 0x3fefffa8fc0e5f33, 0x3f309cfa445b00ff + .quad 0x3fefffad0b901755, 0x3f2fc0d55470cf51 + .quad 0x3fefffb0ecebee1b, 0x3f2e577bbcd49935 + .quad 0x3fefffb4a210b172, 0x3f2cfd4a5adec5c0 + .quad 0x3fefffb82cd9dcbf, 0x3f2bb1a9657ce465 + .quad 0x3fefffbb8f1049c6, 0x3f2a740684026555 + .quad 0x3fefffbeca6adbe9, 0x3f2943d4a1d1ed39 + .quad 0x3fefffc1e08f25f5, 0x3f28208bc334a6a5 + .quad 0x3fefffc4d3120aa1, 0x3f2709a8db59f25c + .quad 0x3fefffc7a37857d2, 0x3f25feada379d8b7 + .quad 0x3fefffca53375ce3, 0x3f24ff207314a102 + .quad 0x3fefffcce3b57bff, 0x3f240a8c1949f75e + .quad 0x3fefffcf564ab6b7, 0x3f23207fb7420eb9 + .quad 0x3fefffd1ac4135f9, 0x3f22408e9ba3327f + .quad 0x3fefffd3e6d5cd87, 0x3f216a501f0e42ca + .quad 0x3fefffd607387b07, 0x3f209d5f819c9e29 + .quad 0x3fefffd80e8ce0da, 0x3f1fb2b792b40a22 + .quad 0x3fefffd9fdeabcce, 0x3f1e3bcf436a1a95 + .quad 0x3fefffdbd65e5ad0, 0x3f1cd55277c18d05 + .quad 0x3fefffdd98e903b2, 0x3f1b7e94604479dc + .quad 0x3fefffdf46816833, 0x3f1a36eec00926dd + .quad 0x3fefffe0e0140857, 0x3f18fdc1b2dcf7b9 + .quad 0x3fefffe26683972a, 0x3f17d2737527c3f9 + .quad 0x3fefffe3daa95b18, 0x3f16b4702d7d5849 + .quad 0x3fefffe53d558ae9, 0x3f15a329b7d30748 + .quad 0x3fefffe68f4fa777, 0x3f149e17724f4d41 + .quad 0x3fefffe7d156d244, 0x3f13a4b60ba9aa4e + .quad 0x3fefffe904222101, 0x3f12b6875310f785 + .quad 0x3fefffea2860ee1e, 0x3f11d312098e9dba + .quad 0x3fefffeb3ebb267b, 0x3f10f9e1b4dd36df + .quad 0x3fefffec47d19457, 0x3f102a8673a94692 + .quad 0x3fefffed443e2787, 0x3f0ec929a665b449 + .quad 0x3fefffee34943b15, 0x3f0d4f4b4c8e09ed + .quad 0x3fefffef1960d85d, 0x3f0be6abbb10a5aa + .quad 0x3fefffeff32af7af, 0x3f0a8e8cc1fadef6 + .quad 0x3feffff0c273bea2, 0x3f094637d5bacfdb + .quad 0x3feffff187b6bc0e, 0x3f080cfdc72220cf + .quad 0x3feffff2436a21dc, 0x3f06e2367dc27f95 + .quad 0x3feffff2f5fefcaa, 0x3f05c540b4936fd2 + .quad 0x3feffff39fe16963, 0x3f04b581b8d170fc + .quad 0x3feffff44178c8d2, 0x3f03b2652b06c2b2 + .quad 0x3feffff4db27f146, 0x3f02bb5cc22e5db6 + .quad 0x3feffff56d4d5e5e, 0x3f01cfe010e2052d + .quad 0x3feffff5f8435efc, 0x3f00ef6c4c84a0fe + .quad 0x3feffff67c604180, 0x3f001984165a5f36 + .quad 0x3feffff6f9f67e55, 0x3efe9b5e8d00ce77 + .quad 0x3feffff77154e0d6, 0x3efd16f5716c6c1a + .quad 0x3feffff7e2c6aea2, 0x3efba4f035d60e03 + .quad 0x3feffff84e93cd75, 0x3efa447b7b03f045 + .quad 0x3feffff8b500e77c, 0x3ef8f4ccca7fc90d + .quad 0x3feffff9164f8e46, 0x3ef7b5223dac7336 + .quad 0x3feffff972be5c59, 0x3ef684c227fcacef + .quad 0x3feffff9ca891572, 0x3ef562fac4329b48 + .quad 0x3feffffa1de8c582, 0x3ef44f21e49054f2 + .quad 0x3feffffa6d13de73, 0x3ef34894a5e24657 + .quad 0x3feffffab83e54b8, 0x3ef24eb7254ccf83 + .quad 0x3feffffaff99bac4, 0x3ef160f438c70913 + .quad 0x3feffffb43555b5f, 0x3ef07ebd2a2d2844 + .quad 0x3feffffb839e52f3, 0x3eef4f12e9ab070a + .quad 0x3feffffbc09fa7cd, 0x3eedb5ad0b27805c + .quad 0x3feffffbfa82616b, 0x3eec304efa2c6f4e + .quad 0x3feffffc316d9ed0, 0x3eeabe09e9144b5e + .quad 0x3feffffc6586abf6, 0x3ee95df988e76644 + .quad 0x3feffffc96f1165e, 0x3ee80f439b4ee04b + .quad 0x3feffffcc5cec0c1, 0x3ee6d11788a69c64 + .quad 0x3feffffcf23ff5fc, 0x3ee5a2adfa0b4bc4 + .quad 0x3feffffd1c637b2b, 0x3ee4834877429b8f + .quad 0x3feffffd4456a10d, 0x3ee37231085c7d9a + .quad 0x3feffffd6a3554a1, 0x3ee26eb9daed6f7e + .quad 0x3feffffd8e1a2f22, 0x3ee1783ceac28910 + .quad 0x3feffffdb01e8546, 0x3ee08e1badf0fced + .quad 0x3feffffdd05a75ea, 0x3edf5f7d88472604 + .quad 0x3feffffdeee4f810, 0x3eddb92b5212fb8d + .quad 0x3feffffe0bd3e852, 0x3edc282cd3957eda + .quad 0x3feffffe273c15b7, 0x3edaab7abace48dc + .quad 0x3feffffe41314e06, 0x3ed94219bfcb4928 + .quad 0x3feffffe59c6698b, 0x3ed7eb1a2075864e + .quad 0x3feffffe710d565e, 0x3ed6a597219a93da + .quad 0x3feffffe8717232d, 0x3ed570b69502f313 + .quad 0x3feffffe9bf4098c, 0x3ed44ba864670882 + .quad 0x3feffffeafb377d5, 0x3ed335a62115bce2 + .quad 0x3feffffec2641a9e, 0x3ed22df298214423 + .quad 0x3feffffed413e5b7, 0x3ed133d96ae7e0dd + .quad 0x3feffffee4d01cd6, 0x3ed046aeabcfcdec + .quad 0x3feffffef4a55bd4, 0x3ececb9cfe1d8642 + .quad 0x3fefffff039f9e8f, 0x3ecd21397ead99cb + .quad 0x3fefffff11ca4876, 0x3ecb8d094c86d374 + .quad 0x3fefffff1f302bc1, 0x3eca0df0f0c626dc + .quad 0x3fefffff2bdb904d, 0x3ec8a2e269750a39 + .quad 0x3fefffff37d63a36, 0x3ec74adc8f4064d3 + .quad 0x3fefffff43297019, 0x3ec604ea819f007c + .quad 0x3fefffff4dde0118, 0x3ec4d0231928c6f9 + .quad 0x3fefffff57fc4a95, 0x3ec3aba85fe22e20 + .quad 0x3fefffff618c3da6, 0x3ec296a70f414053 + .quad 0x3fefffff6a956450, 0x3ec1905613b3abf2 + .quad 0x3fefffff731ee681, 0x3ec097f6156f32c5 + .quad 0x3fefffff7b2f8ed6, 0x3ebf59a20caf6695 + .quad 0x3fefffff82cdcf1b, 0x3ebd9c73698fb1dc + .quad 0x3fefffff89ffc4aa, 0x3ebbf716c6168bae + .quad 0x3fefffff90cb3c81, 0x3eba6852c6b58392 + .quad 0x3fefffff9735b73b, 0x3eb8eefd70594a89 + .quad 0x3fefffff9d446ccc, 0x3eb789fb715aae95 + .quad 0x3fefffffa2fc5015, 0x3eb6383f726a8e04 + .quad 0x3fefffffa8621251, 0x3eb4f8c96f26a26a + .quad 0x3fefffffad7a2652, 0x3eb3caa61607f920 + .quad 0x3fefffffb248c39d, 0x3eb2acee2f5ecdb8 + .quad 0x3fefffffb6d1e95d, 0x3eb19ec60b1242ed + .quad 0x3fefffffbb196132, 0x3eb09f5cf4dd2877 + .quad 0x3fefffffbf22c1e2, 0x3eaf5bd95d8730d8 + .quad 0x3fefffffc2f171e3, 0x3ead9371e2ff7c35 + .quad 0x3fefffffc688a9cf, 0x3eabe41de54d155a + .quad 0x3fefffffc9eb76ac, 0x3eaa4c89e08ef4f3 + .quad 0x3fefffffcd1cbc28, 0x3ea8cb738399b12c + .quad 0x3fefffffd01f36af, 0x3ea75fa8dbc84bec + .quad 0x3fefffffd2f57d68, 0x3ea608078a70dcbc + .quad 0x3fefffffd5a2041f, 0x3ea4c37c0394d094 + .quad 0x3fefffffd8271d12, 0x3ea39100d5687bfe + .quad 0x3fefffffda86faa9, 0x3ea26f9df8519bd7 + .quad 0x3fefffffdcc3b117, 0x3ea15e6827001f18 + .quad 0x3fefffffdedf37ed, 0x3ea05c803e4831c1 + .quad 0x3fefffffe0db6b91, 0x3e9ed22548cffd35 + .quad 0x3fefffffe2ba0ea5, 0x3e9d06ad6ecdf971 + .quad 0x3fefffffe47ccb60, 0x3e9b551c847fbc96 + .quad 0x3fefffffe62534d4, 0x3e99bc09f112b494 + .quad 0x3fefffffe7b4c81e, 0x3e983a1ff0aa239d + .quad 0x3fefffffe92ced93, 0x3e96ce1aa3fd7bdd + .quad 0x3fefffffea8ef9cf, 0x3e9576c72b514859 + .quad 0x3fefffffebdc2ec6, 0x3e943302cc4a0da8 + .quad 0x3fefffffed15bcba, 0x3e9301ba221dc9bb + .quad 0x3fefffffee3cc32c, 0x3e91e1e857adc568 + .quad 0x3fefffffef5251c2, 0x3e90d2966b1746f7 + .quad 0x3feffffff0576917, 0x3e8fa5b4f49cc6b2 + .quad 0x3feffffff14cfb92, 0x3e8dc3ae30b55c16 + .quad 0x3feffffff233ee1d, 0x3e8bfd7555a3bd68 + .quad 0x3feffffff30d18e8, 0x3e8a517d9e61628a + .quad 0x3feffffff3d9480f, 0x3e88be4f8f6c951f + .quad 0x3feffffff4993c46, 0x3e874287ded49339 + .quad 0x3feffffff54dab72, 0x3e85dcd669f2cd34 + .quad 0x3feffffff5f74141, 0x3e848bfd38302871 + .quad 0x3feffffff6969fb8, 0x3e834ecf8a3c124a + .quad 0x3feffffff72c5fb6, 0x3e822430f521cbcf + .quad 0x3feffffff7b91176, 0x3e810b1488aeb235 + .quad 0x3feffffff83d3d07, 0x3e80027c00a263a6 + .quad 0x3feffffff8b962be, 0x3e7e12ee004efc37 + .quad 0x3feffffff92dfba2, 0x3e7c3e44ae32b16b + .quad 0x3feffffff99b79d2, 0x3e7a854ea14102a8 + .quad 0x3feffffffa0248e8, 0x3e78e6761569f45d + .quad 0x3feffffffa62ce54, 0x3e77603bac345f65 + .quad 0x3feffffffabd69b4, 0x3e75f1353cdad001 + .quad 0x3feffffffb127525, 0x3e74980cb3c80949 + .quad 0x3feffffffb624592, 0x3e73537f00b6ad4d + .quad 0x3feffffffbad2aff, 0x3e72225b12bffc68 + .quad 0x3feffffffbf370cd, 0x3e710380e1adb7e9 + .quad 0x3feffffffc355dfd, 0x3e6febc107d5efaa + .quad 0x3feffffffc733572, 0x3e6df0f2a0ee6947 + .quad 0x3feffffffcad3626, 0x3e6c14b2188bcee4 + .quad 0x3feffffffce39b67, 0x3e6a553644f7f07d + .quad 0x3feffffffd169d0c, 0x3e68b0cfce0579e0 + .quad 0x3feffffffd466fa5, 0x3e6725e7c5dd20f7 + .quad 0x3feffffffd7344aa, 0x3e65b2fe547a1340 + .quad 0x3feffffffd9d4aab, 0x3e6456a974e92e93 + .quad 0x3feffffffdc4ad7a, 0x3e630f93c3699078 + .quad 0x3feffffffde9964e, 0x3e61dc7b5b978cf8 + .quad 0x3feffffffe0c2bf0, 0x3e60bc30c5d52f15 + .quad 0x3feffffffe2c92db, 0x3e5f5b2be65a0c7f + .quad 0x3feffffffe4aed5e, 0x3e5d5f3a8dea7357 + .quad 0x3feffffffe675bbd, 0x3e5b82915b03515b + .quad 0x3feffffffe81fc4e, 0x3e59c3517e789488 + .quad 0x3feffffffe9aeb97, 0x3e581fb7df06136e + .quad 0x3feffffffeb24467, 0x3e56961b8d641d06 + .quad 0x3feffffffec81ff2, 0x3e5524ec4d916cae + .quad 0x3feffffffedc95e7, 0x3e53cab1343d18d1 + .quad 0x3feffffffeefbc85, 0x3e52860757487a01 + .quad 0x3fefffffff01a8b6, 0x3e5155a09065d4f7 + .quad 0x3fefffffff126e1e, 0x3e50384250e4c9fc + .quad 0x3fefffffff221f30, 0x3e4e59890b926c78 + .quad 0x3fefffffff30cd3f, 0x3e4c642116a8a9e3 + .quad 0x3fefffffff3e8892, 0x3e4a8e405e651ab6 + .quad 0x3fefffffff4b606f, 0x3e48d5f98114f872 + .quad 0x3fefffffff57632d, 0x3e47397c5a66e307 + .quad 0x3fefffffff629e44, 0x3e45b71456c5a4c4 + .quad 0x3fefffffff6d1e56, 0x3e444d26de513197 + .quad 0x3fefffffff76ef3f, 0x3e42fa31d6371537 + .quad 0x3fefffffff801c1f, 0x3e41bcca373b7b43 + .quad 0x3fefffffff88af67, 0x3e40939ab853339f + .quad 0x3fefffffff90b2e3, 0x3e3efac5187b2863 + .quad 0x3fefffffff982fc1, 0x3e3cf1e86235d0e7 + .quad 0x3fefffffff9f2e9f, 0x3e3b0a68a2128bab + .quad 0x3fefffffffa5b790, 0x3e39423165bc4444 + .quad 0x3fefffffffabd229, 0x3e37974e743dea3d + .quad 0x3fefffffffb18582, 0x3e3607e9eacd1050 + .quad 0x3fefffffffb6d844, 0x3e34924a74dec729 + .quad 0x3fefffffffbbd0aa, 0x3e3334d19e0c2160 + .quad 0x3fefffffffc0748f, 0x3e31edfa3c5f5cca + .quad 0x3fefffffffc4c96c, 0x3e30bc56f1b54701 + .quad 0x3fefffffffc8d462, 0x3e2f3d2185e047d9 + .quad 0x3fefffffffcc9a41, 0x3e2d26cb87945e87 + .quad 0x3fefffffffd01f89, 0x3e2b334fac4b9f99 + .quad 0x3fefffffffd36871, 0x3e296076f7918d1c + .quad 0x3fefffffffd678ed, 0x3e27ac2d72fc2c63 + .quad 0x3fefffffffd954ae, 0x3e2614801550319e + .quad 0x3fefffffffdbff2a, 0x3e24979ac8b28927 + .quad 0x3fefffffffde7ba0, 0x3e2333c68e2d0548 + .quad 0x3fefffffffe0cd16, 0x3e21e767bce37dd7 + .quad 0x3fefffffffe2f664, 0x3e20b0fc5b6d05a0 + .quad 0x3fefffffffe4fa30, 0x3e1f1e3523b41d7d + .quad 0x3fefffffffe6daf7, 0x3e1d00de6608effe + .quad 0x3fefffffffe89b0c, 0x3e1b0778b7b3301b + .quad 0x3fefffffffea3c9a, 0x3e192fb04ec0f6cf + .quad 0x3fefffffffebc1a9, 0x3e177756ec9f78fa + .quad 0x3fefffffffed2c21, 0x3e15dc61922d5a06 + .quad 0x3fefffffffee7dc8, 0x3e145ce65699ff6d + .quad 0x3fefffffffefb847, 0x3e12f71a5f159970 + .quad 0x3feffffffff0dd2b, 0x3e11a94ff571654f + .quad 0x3feffffffff1ede9, 0x3e1071f4bbea09ec + .quad 0x3feffffffff2ebda, 0x3e0e9f1ff8ddd774 + .quad 0x3feffffffff3d843, 0x3e0c818223a202c7 + .quad 0x3feffffffff4b453, 0x3e0a887bd2b4404d + .quad 0x3feffffffff58126, 0x3e08b1a336c5eb6b + .quad 0x3feffffffff63fc3, 0x3e06fab63324088a + .quad 0x3feffffffff6f121, 0x3e056197e30205ba + .quad 0x3feffffffff79626, 0x3e03e44e45301b92 + .quad 0x3feffffffff82fab, 0x3e0281000bfe4c3f + .quad 0x3feffffffff8be77, 0x3e0135f28f2d50b4 + .quad 0x3feffffffff94346, 0x3e000187dded5975 + .quad 0x3feffffffff9bec8, 0x3dfdc479de0ef001 + .quad 0x3feffffffffa319f, 0x3dfbad4fdad3caa1 + .quad 0x3feffffffffa9c63, 0x3df9baed3ed27ab8 + .quad 0x3feffffffffaffa4, 0x3df7ead9ce4285bb + .quad 0x3feffffffffb5be5, 0x3df63ac6b4edc88e + .quad 0x3feffffffffbb1a2, 0x3df4a88be2a6390c + .quad 0x3feffffffffc014e, 0x3df332259185f1a0 + .quad 0x3feffffffffc4b56, 0x3df1d5b1f3793044 + .quad 0x3feffffffffc901c, 0x3df0916f04b6e18b + .quad 0x3feffffffffccfff, 0x3deec77101de6926 + .quad 0x3feffffffffd0b56, 0x3dec960bf23153e0 + .quad 0x3feffffffffd4271, 0x3dea8bd20fc65ef7 + .quad 0x3feffffffffd759d, 0x3de8a61745ec7d1d + .quad 0x3feffffffffda520, 0x3de6e25d0e756261 + .quad 0x3feffffffffdd13c, 0x3de53e4f7d1666cb + .quad 0x3feffffffffdfa2d, 0x3de3b7c27a7ddb0e + .quad 0x3feffffffffe202d, 0x3de24caf2c32af14 + .quad 0x3feffffffffe4371, 0x3de0fb3186804d0f + .quad 0x3feffffffffe642a, 0x3ddf830c0bb41fd7 + .quad 0x3feffffffffe8286, 0x3ddd3c0f1a91c846 + .quad 0x3feffffffffe9eb0, 0x3ddb1e5acf351d87 + .quad 0x3feffffffffeb8d0, 0x3dd92712d259ce66 + .quad 0x3feffffffffed10a, 0x3dd7538c60a04476 + .quad 0x3feffffffffee782, 0x3dd5a14b04b47879 + .quad 0x3feffffffffefc57, 0x3dd40dfd87456f4c + .quad 0x3fefffffffff0fa7, 0x3dd2977b1172b9d5 + .quad 0x3fefffffffff218f, 0x3dd13bc07e891491 + .quad 0x3fefffffffff3227, 0x3dcff1dbb4300811 + .quad 0x3fefffffffff4188, 0x3dcd9a880f306bd8 + .quad 0x3fefffffffff4fc9, 0x3dcb6e45220b55e0 + .quad 0x3fefffffffff5cfd, 0x3dc96a0b33f2c4da + .quad 0x3fefffffffff6939, 0x3dc78b07e9e924ac + .quad 0x3fefffffffff748e, 0x3dc5ce9ab1670dd2 + .quad 0x3fefffffffff7f0d, 0x3dc4325167006bb0 + .quad 0x3fefffffffff88c5, 0x3dc2b3e53538ff3f + .quad 0x3fefffffffff91c6, 0x3dc15137a7f44864 + .quad 0x3fefffffffff9a1b, 0x3dc0084ff125639d + .quad 0x3fefffffffffa1d2, 0x3dbdaeb0b7311ec7 + .quad 0x3fefffffffffa8f6, 0x3dbb7937d1c40c53 + .quad 0x3fefffffffffaf92, 0x3db96d082f59ab06 + .quad 0x3fefffffffffb5b0, 0x3db7872d9fa10aad + .quad 0x3fefffffffffbb58, 0x3db5c4e8e37bc7d0 + .quad 0x3fefffffffffc095, 0x3db423ac0df49a40 + .quad 0x3fefffffffffc56d, 0x3db2a117230ad284 + .quad 0x3fefffffffffc9e8, 0x3db13af4f04f9998 + .quad 0x3fefffffffffce0d, 0x3dafde703724e560 + .quad 0x3fefffffffffd1e1, 0x3dad77f0c82e7641 + .quad 0x3fefffffffffd56c, 0x3dab3ee02611d7dd + .quad 0x3fefffffffffd8b3, 0x3da92ff33023d5bd + .quad 0x3fefffffffffdbba, 0x3da7481a9e69f53f + .quad 0x3fefffffffffde86, 0x3da5847eda620959 + .quad 0x3fefffffffffe11d, 0x3da3e27c1fcc74bd + .quad 0x3fefffffffffe380, 0x3da25f9ee0b923dc + .quad 0x3fefffffffffe5b6, 0x3da0f9a068653200 + .quad 0x3fefffffffffe7c0, 0x3d9f5cc7718082b0 + .quad 0x3fefffffffffe9a2, 0x3d9cf7e53d6a2ca5 + .quad 0x3fefffffffffeb60, 0x3d9ac0f5f3229372 + .quad 0x3fefffffffffecfb, 0x3d98b498644847ea + .quad 0x3fefffffffffee77, 0x3d96cfa9bcca59dc + .quad 0x3fefffffffffefd6, 0x3d950f411d4fd2cd + .quad 0x3feffffffffff11a, 0x3d9370ab8327af5e + .quad 0x3feffffffffff245, 0x3d91f167f88c6b6e + .quad 0x3feffffffffff359, 0x3d908f24085d4597 + .quad 0x3feffffffffff457, 0x3d8e8f70e181d61a + .quad 0x3feffffffffff542, 0x3d8c324c20e337dc + .quad 0x3feffffffffff61b, 0x3d8a03261574b54e + .quad 0x3feffffffffff6e3, 0x3d87fe903cdf5855 + .quad 0x3feffffffffff79b, 0x3d86215c58da3450 + .quad 0x3feffffffffff845, 0x3d846897d4b69fc6 + .quad 0x3feffffffffff8e2, 0x3d82d1877d731b7b + .quad 0x3feffffffffff973, 0x3d8159a386b11517 + .quad 0x3feffffffffff9f8, 0x3d7ffd27ae9393ce + .quad 0x3feffffffffffa73, 0x3d7d7c593130dd0b + .quad 0x3feffffffffffae4, 0x3d7b2cd607c79bcf + .quad 0x3feffffffffffb4c, 0x3d790ae4d3405651 + .quad 0x3feffffffffffbad, 0x3d771312dd1759e2 + .quad 0x3feffffffffffc05, 0x3d75422ef5d8949d + .quad 0x3feffffffffffc57, 0x3d739544b0ecc957 + .quad 0x3feffffffffffca2, 0x3d720997f73e73dd + .quad 0x3feffffffffffce7, 0x3d709ca0eaacd277 + .quad 0x3feffffffffffd27, 0x3d6e9810295890ec + .quad 0x3feffffffffffd62, 0x3d6c2b45b5aa4a1d + .quad 0x3feffffffffffd98, 0x3d69eee068fa7596 + .quad 0x3feffffffffffdca, 0x3d67df2b399c10a8 + .quad 0x3feffffffffffdf8, 0x3d65f8b87a31bd85 + .quad 0x3feffffffffffe22, 0x3d64385c96e9a2d9 + .quad 0x3feffffffffffe49, 0x3d629b2933ef4cbc + .quad 0x3feffffffffffe6c, 0x3d611e68a6378f8a + .quad 0x3feffffffffffe8d, 0x3d5f7f338086a86b + .quad 0x3feffffffffffeab, 0x3d5cf8d7d9ce040a + .quad 0x3feffffffffffec7, 0x3d5aa577251ae485 + .quad 0x3feffffffffffee1, 0x3d58811d739efb5f + .quad 0x3feffffffffffef8, 0x3d568823e52970be + .quad 0x3fefffffffffff0e, 0x3d54b72ae68e8b4c + .quad 0x3fefffffffffff22, 0x3d530b14dbe876bc + .quad 0x3fefffffffffff34, 0x3d5181012ef86610 + .quad 0x3fefffffffffff45, 0x3d501647ba798745 + .quad 0x3fefffffffffff54, 0x3d4d90e917701675 + .quad 0x3fefffffffffff62, 0x3d4b2a87e86d0c8a + .quad 0x3fefffffffffff6f, 0x3d48f53dcb377293 + .quad 0x3fefffffffffff7b, 0x3d46ed2f2515e933 + .quad 0x3fefffffffffff86, 0x3d450ecc9ed47f19 + .quad 0x3fefffffffffff90, 0x3d4356cd5ce7799e + .quad 0x3fefffffffffff9a, 0x3d41c229a587ab78 + .quad 0x3fefffffffffffa2, 0x3d404e15ecc7f3f6 + .quad 0x3fefffffffffffaa, 0x3d3deffc7e6a6017 + .quad 0x3fefffffffffffb1, 0x3d3b7b040832f310 + .quad 0x3fefffffffffffb8, 0x3d3938e021f36d76 + .quad 0x3fefffffffffffbe, 0x3d37258610b3b233 + .quad 0x3fefffffffffffc3, 0x3d353d3bfc82a909 + .quad 0x3fefffffffffffc8, 0x3d337c92babdc2fd + .quad 0x3fefffffffffffcd, 0x3d31e06010120f6a + .quad 0x3fefffffffffffd1, 0x3d3065b9616170d4 + .quad 0x3fefffffffffffd5, 0x3d2e13dd96b3753b + .quad 0x3fefffffffffffd9, 0x3d2b950d32467392 + .quad 0x3fefffffffffffdc, 0x3d294a72263259a5 + .quad 0x3fefffffffffffdf, 0x3d272fd93e036cdc + .quad 0x3fefffffffffffe2, 0x3d254164576929ab + .quad 0x3fefffffffffffe4, 0x3d237b83c521fe96 + .quad 0x3fefffffffffffe7, 0x3d21daf033182e96 + .quad 0x3fefffffffffffe9, 0x3d205ca50205d26a + .quad 0x3fefffffffffffeb, 0x3d1dfbb6235639fa + .quad 0x3fefffffffffffed, 0x3d1b7807e294781f + .quad 0x3fefffffffffffee, 0x3d19298add70a734 + .quad 0x3feffffffffffff0, 0x3d170beaf9c7ffb6 + .quad 0x3feffffffffffff1, 0x3d151b2cd6709222 + .quad 0x3feffffffffffff3, 0x3d1353a6cf7f7fff + .quad 0x3feffffffffffff4, 0x3d11b1fa8cbe84a7 + .quad 0x3feffffffffffff5, 0x3d10330f0fd69921 + .quad 0x3feffffffffffff6, 0x3d0da81670f96f9b + .quad 0x3feffffffffffff7, 0x3d0b24a16b4d09aa + .quad 0x3feffffffffffff7, 0x3d08d6eeb6efdbd6 + .quad 0x3feffffffffffff8, 0x3d06ba91ac734786 + .quad 0x3feffffffffffff9, 0x3d04cb7966770ab5 + .quad 0x3feffffffffffff9, 0x3d0305e9721d0981 + .quad 0x3feffffffffffffa, 0x3d01667311fff70a + .quad 0x3feffffffffffffb, 0x3cffd3de10d62855 + .quad 0x3feffffffffffffb, 0x3cfd1aefbcd48d0c + .quad 0x3feffffffffffffb, 0x3cfa9cc93c25aca9 + .quad 0x3feffffffffffffc, 0x3cf85487ee3ea735 + .quad 0x3feffffffffffffc, 0x3cf63daf8b4b1e0c + .quad 0x3feffffffffffffd, 0x3cf45421e69a6ca1 + .quad 0x3feffffffffffffd, 0x3cf294175802d99a + .quad 0x3feffffffffffffd, 0x3cf0fa17bf41068f + .quad 0x3feffffffffffffd, 0x3cef05e82aae2bb9 + .quad 0x3feffffffffffffe, 0x3cec578101b29058 + .quad 0x3feffffffffffffe, 0x3ce9e39dc5dd2f7c + .quad 0x3feffffffffffffe, 0x3ce7a553a728bbf2 + .quad 0x3feffffffffffffe, 0x3ce5982008db1304 + .quad 0x3feffffffffffffe, 0x3ce3b7e00422e51b + .quad 0x3feffffffffffffe, 0x3ce200c898d9ee3e + .quad 0x3fefffffffffffff, 0x3ce06f5f7eb65a56 + .quad 0x3fefffffffffffff, 0x3cde00e9148a1d25 + .quad 0x3fefffffffffffff, 0x3cdb623734024e92 + .quad 0x3fefffffffffffff, 0x3cd8fd4e01891bf8 + .quad 0x3fefffffffffffff, 0x3cd6cd44c7470d89 + .quad 0x3fefffffffffffff, 0x3cd4cd9c04158cd7 + .quad 0x3fefffffffffffff, 0x3cd2fa34bf5c8344 + .quad 0x3fefffffffffffff, 0x3cd14f4890ff2461 + .quad 0x3fefffffffffffff, 0x3ccf92c49dfa4df5 + .quad 0x3fefffffffffffff, 0x3ccccaaea71ab0df + .quad 0x3fefffffffffffff, 0x3cca40829f001197 + .quad 0x3ff0000000000000, 0x3cc7eef13b59e96c + .quad 0x3ff0000000000000, 0x3cc5d11e1a252bf5 + .quad 0x3ff0000000000000, 0x3cc3e296303b2297 + .quad 0x3ff0000000000000, 0x3cc21f47009f43ce + .quad 0x3ff0000000000000, 0x3cc083768c5e4542 + .quad 0x3ff0000000000000, 0x3cbe1777d831265f + .quad 0x3ff0000000000000, 0x3cbb69f10b0191b5 + .quad 0x3ff0000000000000, 0x3cb8f8a3a05b5b53 + .quad 0x3ff0000000000000, 0x3cb6be573c40c8e7 + .quad 0x3ff0000000000000, 0x3cb4b645ba991fdb + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ + .align 32 + .quad 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000 /* _MaxThreshold = 6.0 - 1.0/128.0 */ + .align 32 + .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ + .align 32 + .quad 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000 /* _U2THreshold */ + .align 32 + .quad 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5 /* _poly_1_0 */ + .align 32 + .quad 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1 /* _poly_1_1 */ + .align 32 + .quad 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57 /* _poly_3_0 */ + .align 32 + .quad 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8 /* _poly_3_1 */ + .align 32 + .quad 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F /* _poly_5_0 */ + .align 32 + .quad 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122 /* _poly_5_1 */ + .align 32 + .quad 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6 /* _poly_1_2 */ + .align 32 + .quad 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd /* _poly_3_2 */ + .align 32 + .quad 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c /* _poly_1_3 */ + .align 32 + .quad 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555 /* _poly_3_3 */ + .align 32 + .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ + .align 32 + .type __svml_derf_data_internal, @object + .size __svml_derf_data_internal, .-__svml_derf_data_internal From patchwork Mon Mar 7 15:00:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602397 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=yxbeK7or; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3lh08mfz9s8s for ; Tue, 8 Mar 2022 03:27:44 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B3D803858025 for ; Mon, 7 Mar 2022 16:27:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B3D803858025 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670461; bh=LhL42Azgrv84kKXwRjQKab1jJdep31dmZPgb1XCoFAE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=yxbeK7orBuPdCd7oLEhCsPDYY1QzSxEhMzXKeN6+e+BEYStivLvv/qXk/oknODTPD t6KmN/qHgWaQCcohTwT/3oenOs65P/mzHEY8k3p2ZbxGfiv5pdynPrGBIwUVN7I1tF fI3zJX34+IUFx67jCp485bWqCVsyyL4bnnIQvqk8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id 935313858423 for ; Mon, 7 Mar 2022 15:03:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 935313858423 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364142" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364142" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561720" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:06 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eY016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 060/126] x86_64: Fix svml_d_erf8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:55 -0800 Message-Id: <20220307150201.10590-61-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_erf8_core_avx512.S | 1840 ++++++++--------- 1 file changed, 919 insertions(+), 921 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S index 8e5216fbaa..0d4400f4c6 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erf8_core_avx512.S @@ -33,951 +33,949 @@ /* Offsets for data table __svml_derf_data_internal */ -#define _erf_tbl 0 -#define _AbsMask 12288 -#define _MaxThreshold 12352 -#define _SRound 12416 -#define _U2Threshold 12480 -#define _poly1_0 12544 -#define _poly1_1 12608 -#define _poly3_0 12672 -#define _poly3_1 12736 -#define _poly5_0 12800 -#define _poly5_1 12864 -#define _poly1_2 12928 -#define _poly3_2 12992 -#define _poly1_3 13056 -#define _poly3_3 13120 -#define _Mask32 13184 +#define _erf_tbl 0 +#define _AbsMask 12288 +#define _MaxThreshold 12352 +#define _SRound 12416 +#define _U2Threshold 12480 +#define _poly1_0 12544 +#define _poly1_1 12608 +#define _poly3_0 12672 +#define _poly3_1 12736 +#define _poly5_0 12800 +#define _poly5_1 12864 +#define _poly1_2 12928 +#define _poly3_2 12992 +#define _poly1_3 13056 +#define _poly3_3 13120 +#define _Mask32 13184 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_erf_skx) -/* - * vector gather: erf(x0), - * second value is exp(-x0*x0) - */ - lea __svml_derf_data_internal(%rip), %rax + /* + * vector gather: erf(x0), + * second value is exp(-x0*x0) + */ + lea __svml_derf_data_internal(%rip), %rax -/* - * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) - * can compute all results in the main path - */ - vmovups _MaxThreshold+__svml_derf_data_internal(%rip), %zmm9 - vmovups _SRound+__svml_derf_data_internal(%rip), %zmm11 - vmovups _U2Threshold+__svml_derf_data_internal(%rip), %zmm10 - vandpd _AbsMask+__svml_derf_data_internal(%rip), %zmm0, %zmm7 - vpternlogd $0xff, %zmm1, %zmm1, %zmm14 - kxnorw %k0, %k0, %k3 - kxnorw %k0, %k0, %k2 - vminpd {sae}, %zmm9, %zmm7, %zmm12 + /* + * erf(x) rounds to 1.0 for x>_MaxThreshold (5.9921875) + * can compute all results in the main path + */ + vmovups _MaxThreshold+__svml_derf_data_internal(%rip), %zmm9 + vmovups _SRound+__svml_derf_data_internal(%rip), %zmm11 + vmovups _U2Threshold+__svml_derf_data_internal(%rip), %zmm10 + vandpd _AbsMask+__svml_derf_data_internal(%rip), %zmm0, %zmm7 + vpternlogd $0xff, %zmm1, %zmm1, %zmm14 + kxnorw %k0, %k0, %k3 + kxnorw %k0, %k0, %k2 + vminpd {sae}, %zmm9, %zmm7, %zmm12 -/* save sign */ - vxorpd %zmm0, %zmm7, %zmm8 - vaddpd {rn-sae}, %zmm11, %zmm12, %zmm15 - vcmppd $26, {sae}, %zmm10, %zmm12, %k1 + /* save sign */ + vxorpd %zmm0, %zmm7, %zmm8 + vaddpd {rn-sae}, %zmm11, %zmm12, %zmm15 + vcmppd $26, {sae}, %zmm10, %zmm12, %k1 -/* - * _LA_ polynomial computation - * Start polynomial evaluation - */ - vmovups _poly1_0+__svml_derf_data_internal(%rip), %zmm10 - vpsllq $4, %zmm15, %zmm3 - vsubpd {rn-sae}, %zmm11, %zmm15, %zmm13 - vmovups _poly3_0+__svml_derf_data_internal(%rip), %zmm11 - vmovups _poly3_3+__svml_derf_data_internal(%rip), %zmm15 - vsubpd {rn-sae}, %zmm13, %zmm12, %zmm1 - vmulpd {rn-sae}, %zmm1, %zmm13, %zmm6 + /* + * _LA_ polynomial computation + * Start polynomial evaluation + */ + vmovups _poly1_0+__svml_derf_data_internal(%rip), %zmm10 + vpsllq $4, %zmm15, %zmm3 + vsubpd {rn-sae}, %zmm11, %zmm15, %zmm13 + vmovups _poly3_0+__svml_derf_data_internal(%rip), %zmm11 + vmovups _poly3_3+__svml_derf_data_internal(%rip), %zmm15 + vsubpd {rn-sae}, %zmm13, %zmm12, %zmm1 + vmulpd {rn-sae}, %zmm1, %zmm13, %zmm6 -/* NaN fixup */ - vminpd {sae}, %zmm7, %zmm1, %zmm7 - vmovups _poly1_2+__svml_derf_data_internal(%rip), %zmm13 - vpandq _Mask32+__svml_derf_data_internal(%rip), %zmm3, %zmm2 - vpmovqd %zmm2, %ymm0 - vmovups _poly1_1+__svml_derf_data_internal(%rip), %zmm2 - vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm2 - vfmadd213pd {rn-sae}, %zmm13, %zmm6, %zmm2 - vpxord %zmm4, %zmm4, %zmm4 - vgatherdpd 8(%rax,%ymm0), %zmm4{%k3} - vpxord %zmm5, %zmm5, %zmm5 - vgatherdpd (%rax,%ymm0), %zmm5{%k2} - vmovups _poly3_1+__svml_derf_data_internal(%rip), %zmm0 + /* NaN fixup */ + vminpd {sae}, %zmm7, %zmm1, %zmm7 + vmovups _poly1_2+__svml_derf_data_internal(%rip), %zmm13 + vpandq _Mask32+__svml_derf_data_internal(%rip), %zmm3, %zmm2 + vpmovqd %zmm2, %ymm0 + vmovups _poly1_1+__svml_derf_data_internal(%rip), %zmm2 + vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm2 + vfmadd213pd {rn-sae}, %zmm13, %zmm6, %zmm2 + vpxord %zmm4, %zmm4, %zmm4 + vgatherdpd 8(%rax, %ymm0), %zmm4{%k3} + vpxord %zmm5, %zmm5, %zmm5 + vgatherdpd (%rax, %ymm0), %zmm5{%k2} + vmovups _poly3_1+__svml_derf_data_internal(%rip), %zmm0 -/* Sign | _Erf_H */ - vxorpd %zmm8, %zmm5, %zmm5 - vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm0 - vpandnq %zmm12, %zmm12, %zmm14{%k1} - vandpd %zmm14, %zmm1, %zmm9 + /* Sign | _Erf_H */ + vxorpd %zmm8, %zmm5, %zmm5 + vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm0 + vpandnq %zmm12, %zmm12, %zmm14{%k1} + vandpd %zmm14, %zmm1, %zmm9 -/* Sign | Diff */ - vxorpd %zmm8, %zmm7, %zmm1 - vmovups _poly5_0+__svml_derf_data_internal(%rip), %zmm12 - vmovups _poly5_1+__svml_derf_data_internal(%rip), %zmm7 - vmovups _poly3_2+__svml_derf_data_internal(%rip), %zmm14 + /* Sign | Diff */ + vxorpd %zmm8, %zmm7, %zmm1 + vmovups _poly5_0+__svml_derf_data_internal(%rip), %zmm12 + vmovups _poly5_1+__svml_derf_data_internal(%rip), %zmm7 + vmovups _poly3_2+__svml_derf_data_internal(%rip), %zmm14 -/* D2 = Diff^2 */ - vmulpd {rn-sae}, %zmm9, %zmm9, %zmm3 + /* D2 = Diff^2 */ + vmulpd {rn-sae}, %zmm9, %zmm9, %zmm3 -/* T^2 */ - vmulpd {rn-sae}, %zmm6, %zmm6, %zmm9 + /* T^2 */ + vmulpd {rn-sae}, %zmm6, %zmm6, %zmm9 -/* exp_h(x0) * Diff */ - vmulpd {rn-sae}, %zmm1, %zmm4, %zmm4 - vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm7 - vmovups _poly1_3+__svml_derf_data_internal(%rip), %zmm12 - vfmadd213pd {rn-sae}, %zmm14, %zmm6, %zmm0 - vfmadd213pd {rn-sae}, %zmm15, %zmm3, %zmm7 - vfmadd213pd {rn-sae}, %zmm12, %zmm6, %zmm2 - vfmadd213pd {rn-sae}, %zmm7, %zmm6, %zmm0 + /* exp_h(x0) * Diff */ + vmulpd {rn-sae}, %zmm1, %zmm4, %zmm4 + vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm7 + vmovups _poly1_3+__svml_derf_data_internal(%rip), %zmm12 + vfmadd213pd {rn-sae}, %zmm14, %zmm6, %zmm0 + vfmadd213pd {rn-sae}, %zmm15, %zmm3, %zmm7 + vfmadd213pd {rn-sae}, %zmm12, %zmm6, %zmm2 + vfmadd213pd {rn-sae}, %zmm7, %zmm6, %zmm0 -/* P1 = T^2*P1 - T */ - vfmsub213pd {rn-sae}, %zmm6, %zmm9, %zmm2 + /* P1 = T^2*P1 - T */ + vfmsub213pd {rn-sae}, %zmm6, %zmm9, %zmm2 -/* P1 + P3*D2 */ - vfmadd213pd {rn-sae}, %zmm2, %zmm3, %zmm0 + /* P1 + P3*D2 */ + vfmadd213pd {rn-sae}, %zmm2, %zmm3, %zmm0 -/* - * branch-free - * low part of result: exp_h(x0) * Diff*(1+P1) - */ - vfmadd213pd {rn-sae}, %zmm4, %zmm4, %zmm0 + /* + * branch-free + * low part of result: exp_h(x0) * Diff*(1+P1) + */ + vfmadd213pd {rn-sae}, %zmm4, %zmm4, %zmm0 -/* Final result */ - vaddpd {rn-sae}, %zmm5, %zmm0, %zmm6 + /* Final result */ + vaddpd {rn-sae}, %zmm5, %zmm0, %zmm6 -/* Fix erf(-0) = -0 */ - vorpd %zmm8, %zmm6, %zmm0 - ret + /* Fix erf(-0) = -0 */ + vorpd %zmm8, %zmm6, %zmm0 + ret END(_ZGVeN8v_erf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_derf_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _erf_tbl[6*128*2][2]; - __declspec(align(64)) VUINT32 _AbsMask[8][2]; - __declspec(align(64)) VUINT32 _MaxThreshold[8][2]; - __declspec(align(64)) VUINT32 _SRound[8][2]; - __declspec(align(64)) VUINT32 _U2Threshold[8][2]; - __declspec(align(64)) VUINT32 _poly1_0[8][2]; - __declspec(align(64)) VUINT32 _poly1_1[8][2]; - __declspec(align(64)) VUINT32 _poly3_0[8][2]; - __declspec(align(64)) VUINT32 _poly3_1[8][2]; - __declspec(align(64)) VUINT32 _poly5_0[8][2]; - __declspec(align(64)) VUINT32 _poly5_1[8][2]; - __declspec(align(64)) VUINT32 _poly1_2[8][2]; - __declspec(align(64)) VUINT32 _poly3_2[8][2]; - __declspec(align(64)) VUINT32 _poly1_3[8][2]; - __declspec(align(64)) VUINT32 _poly3_3[8][2]; - __declspec(align(64)) VUINT32 _Mask32[8][2]; +typedef struct { + __declspec(align(64)) VUINT32 _erf_tbl[6*128*2][2]; + __declspec(align(64)) VUINT32 _AbsMask[8][2]; + __declspec(align(64)) VUINT32 _MaxThreshold[8][2]; + __declspec(align(64)) VUINT32 _SRound[8][2]; + __declspec(align(64)) VUINT32 _U2Threshold[8][2]; + __declspec(align(64)) VUINT32 _poly1_0[8][2]; + __declspec(align(64)) VUINT32 _poly1_1[8][2]; + __declspec(align(64)) VUINT32 _poly3_0[8][2]; + __declspec(align(64)) VUINT32 _poly3_1[8][2]; + __declspec(align(64)) VUINT32 _poly5_0[8][2]; + __declspec(align(64)) VUINT32 _poly5_1[8][2]; + __declspec(align(64)) VUINT32 _poly1_2[8][2]; + __declspec(align(64)) VUINT32 _poly3_2[8][2]; + __declspec(align(64)) VUINT32 _poly1_3[8][2]; + __declspec(align(64)) VUINT32 _poly3_3[8][2]; + __declspec(align(64)) VUINT32 _Mask32[8][2]; } __svml_derf_data_internal; #endif __svml_derf_data_internal: - /*== _erf_tbl ==*/ - .quad 0x0000000000000000, 0x3ff20dd750429b6d - .quad 0x3f820dbf3deb1340, 0x3ff20d8f1975c85d - .quad 0x3f920d77083f17a0, 0x3ff20cb67bd452c7 - .quad 0x3f9b137e0cf584dc, 0x3ff20b4d8bac36c1 - .quad 0x3fa20c5645dd2538, 0x3ff209546ad13ccf - .quad 0x3fa68e5d3bbc9526, 0x3ff206cb4897b148 - .quad 0x3fab0fafef135745, 0x3ff203b261cd0053 - .quad 0x3faf902a77bd3821, 0x3ff2000a00ae3804 - .quad 0x3fb207d480e90658, 0x3ff1fbd27cdc72d3 - .quad 0x3fb44703e87e8593, 0x3ff1f70c3b4f2cc8 - .quad 0x3fb68591a1e83b5d, 0x3ff1f1b7ae44867f - .quad 0x3fb8c36beb8a8d23, 0x3ff1ebd5552f795b - .quad 0x3fbb0081148a873a, 0x3ff1e565bca400d4 - .quad 0x3fbd3cbf7e70a4b3, 0x3ff1de697e413d29 - .quad 0x3fbf78159ec8bb50, 0x3ff1d6e14099944a - .quad 0x3fc0d939005f65e5, 0x3ff1cecdb718d61c - .quad 0x3fc1f5e1a35c3b89, 0x3ff1c62fa1e869b6 - .quad 0x3fc311fc15f56d14, 0x3ff1bd07cdd189ac - .quad 0x3fc42d7fc2f64959, 0x3ff1b357141d95d5 - .quad 0x3fc548642321d7c6, 0x3ff1a91e5a748165 - .quad 0x3fc662a0bdf7a89f, 0x3ff19e5e92b964ab - .quad 0x3fc77c2d2a765f9e, 0x3ff19318bae53a04 - .quad 0x3fc895010fdbdbfd, 0x3ff1874ddcdfce24 - .quad 0x3fc9ad142662e14d, 0x3ff17aff0e56ec10 - .quad 0x3fcac45e37fe2526, 0x3ff16e2d7093cd8c - .quad 0x3fcbdad72110a648, 0x3ff160da304ed92f - .quad 0x3fccf076d1233237, 0x3ff153068581b781 - .quad 0x3fce05354b96ff36, 0x3ff144b3b337c90c - .quad 0x3fcf190aa85540e2, 0x3ff135e3075d076b - .quad 0x3fd015f78a3dcf3d, 0x3ff12695da8b5bde - .quad 0x3fd09eed6982b948, 0x3ff116cd8fd67618 - .quad 0x3fd127631eb8de32, 0x3ff1068b94962e5e - .quad 0x3fd1af54e232d609, 0x3ff0f5d1602f7e41 - .quad 0x3fd236bef825d9a2, 0x3ff0e4a073dc1b91 - .quad 0x3fd2bd9db0f7827f, 0x3ff0d2fa5a70c168 - .quad 0x3fd343ed6989b7d9, 0x3ff0c0e0a8223359 - .quad 0x3fd3c9aa8b84beda, 0x3ff0ae54fa490723 - .quad 0x3fd44ed18d9f6462, 0x3ff09b58f724416b - .quad 0x3fd4d35ef3e5372e, 0x3ff087ee4d9ad247 - .quad 0x3fd5574f4ffac98e, 0x3ff07416b4fbfe7c - .quad 0x3fd5da9f415ff23f, 0x3ff05fd3ecbec298 - .quad 0x3fd65d4b75b00471, 0x3ff04b27bc403d30 - .quad 0x3fd6df50a8dff772, 0x3ff03613f2812daf - .quad 0x3fd760aba57a76bf, 0x3ff0209a65e29545 - .quad 0x3fd7e15944d9d3e4, 0x3ff00abcf3e187a9 - .quad 0x3fd861566f5fd3c0, 0x3fefe8fb01a47307 - .quad 0x3fd8e0a01cab516b, 0x3fefbbbbef34b4b2 - .quad 0x3fd95f3353cbb146, 0x3fef8dc092d58ff8 - .quad 0x3fd9dd0d2b721f39, 0x3fef5f0cdaf15313 - .quad 0x3fda5a2aca209394, 0x3fef2fa4c16c0019 - .quad 0x3fdad68966569a87, 0x3feeff8c4b1375db - .quad 0x3fdb522646bbda68, 0x3feecec7870ebca8 - .quad 0x3fdbccfec24855b8, 0x3fee9d5a8e4c934e - .quad 0x3fdc4710406a65fc, 0x3fee6b4982f158b9 - .quad 0x3fdcc058392a6d2d, 0x3fee38988fc46e72 - .quad 0x3fdd38d4354c3bd0, 0x3fee054be79d3042 - .quad 0x3fddb081ce6e2a48, 0x3fedd167c4cf9d2a - .quad 0x3fde275eaf25e458, 0x3fed9cf06898cdaf - .quad 0x3fde9d68931ae650, 0x3fed67ea1a8b5368 - .quad 0x3fdf129d471eabb1, 0x3fed325927fb9d89 - .quad 0x3fdf86faa9428f9d, 0x3fecfc41e36c7df9 - .quad 0x3fdffa7ea8eb5fd0, 0x3fecc5a8a3fbea40 - .quad 0x3fe03693a371519c, 0x3fec8e91c4d01368 - .quad 0x3fe06f794ab2cae7, 0x3fec5701a484ef9d - .quad 0x3fe0a7ef5c18edd2, 0x3fec1efca49a5011 - .quad 0x3fe0dff4f247f6c6, 0x3febe68728e29d5e - .quad 0x3fe1178930ada115, 0x3febada596f25436 - .quad 0x3fe14eab43841b55, 0x3feb745c55905bf8 - .quad 0x3fe1855a5fd3dd50, 0x3feb3aafcc27502e - .quad 0x3fe1bb95c3746199, 0x3feb00a46237d5be - .quad 0x3fe1f15cb50bc4de, 0x3feac63e7ecc1411 - .quad 0x3fe226ae840d4d70, 0x3fea8b8287ec6a09 - .quad 0x3fe25b8a88b6dd7f, 0x3fea5074e2157620 - .quad 0x3fe28ff0240d52cd, 0x3fea1519efaf889e - .quad 0x3fe2c3debfd7d6c1, 0x3fe9d97610879642 - .quad 0x3fe2f755ce9a21f4, 0x3fe99d8da149c13f - .quad 0x3fe32a54cb8db67b, 0x3fe96164fafd8de3 - .quad 0x3fe35cdb3a9a144d, 0x3fe925007283d7aa - .quad 0x3fe38ee8a84beb71, 0x3fe8e86458169af8 - .quad 0x3fe3c07ca9cb4f9e, 0x3fe8ab94f6caa71d - .quad 0x3fe3f196dcd0f135, 0x3fe86e9694134b9e - .quad 0x3fe42236e79a5fa6, 0x3fe8316d6f48133d - .quad 0x3fe4525c78dd5966, 0x3fe7f41dc12c9e89 - .quad 0x3fe4820747ba2dc2, 0x3fe7b6abbb7aaf19 - .quad 0x3fe4b13713ad3513, 0x3fe7791b886e7403 - .quad 0x3fe4dfeba47f63cc, 0x3fe73b714a552763 - .quad 0x3fe50e24ca35fd2c, 0x3fe6fdb11b1e0c34 - .quad 0x3fe53be25d016a4f, 0x3fe6bfdf0beddaf5 - .quad 0x3fe569243d2b3a9b, 0x3fe681ff24b4ab04 - .quad 0x3fe595ea53035283, 0x3fe6441563c665d4 - .quad 0x3fe5c2348ecc4dc3, 0x3fe60625bd75d07b - .quad 0x3fe5ee02e8a71a53, 0x3fe5c8341bb23767 - .quad 0x3fe61955607dd15d, 0x3fe58a445da7c74c - .quad 0x3fe6442bfdedd397, 0x3fe54c5a57629db0 - .quad 0x3fe66e86d0312e82, 0x3fe50e79d1749ac9 - .quad 0x3fe69865ee075011, 0x3fe4d0a6889dfd9f - .quad 0x3fe6c1c9759d0e5f, 0x3fe492e42d78d2c5 - .quad 0x3fe6eab18c74091b, 0x3fe4553664273d24 - .quad 0x3fe7131e5f496a5a, 0x3fe417a0c4049fd0 - .quad 0x3fe73b1021fc0cb8, 0x3fe3da26d759aef5 - .quad 0x3fe762870f720c6f, 0x3fe39ccc1b136d5a - .quad 0x3fe78983697dc96f, 0x3fe35f93fe7d1b3d - .quad 0x3fe7b00578c26037, 0x3fe32281e2fd1a92 - .quad 0x3fe7d60d8c979f7b, 0x3fe2e5991bd4cbfc - .quad 0x3fe7fb9bfaed8078, 0x3fe2a8dcede3673b - .quad 0x3fe820b1202f27fb, 0x3fe26c508f6bd0ff - .quad 0x3fe8454d5f25760d, 0x3fe22ff727dd6f7b - .quad 0x3fe8697120d92a4a, 0x3fe1f3d3cf9ffe5a - .quad 0x3fe88d1cd474a2e0, 0x3fe1b7e98fe26217 - .quad 0x3fe8b050ef253c37, 0x3fe17c3b626c7a12 - .quad 0x3fe8d30debfc572e, 0x3fe140cc3173f007 - .quad 0x3fe8f5544bd00c04, 0x3fe1059ed7740313 - .quad 0x3fe91724951b8fc6, 0x3fe0cab61f084b93 - .quad 0x3fe9387f53df5238, 0x3fe09014c2ca74da - .quad 0x3fe959651980da31, 0x3fe055bd6d32e8d7 - .quad 0x3fe979d67caa6631, 0x3fe01bb2b87c6968 - .quad 0x3fe999d4192a5715, 0x3fdfc3ee5d1524b0 - .quad 0x3fe9b95e8fd26aba, 0x3fdf511a91a67d2a - .quad 0x3fe9d8768656cc42, 0x3fdedeeee0959518 - .quad 0x3fe9f71ca72cffb6, 0x3fde6d6ffaa65a25 - .quad 0x3fea1551a16aaeaf, 0x3fddfca26f5bbf88 - .quad 0x3fea331628a45b92, 0x3fdd8c8aace11e63 - .quad 0x3fea506af4cc00f4, 0x3fdd1d2cfff91594 - .quad 0x3fea6d50c20fa293, 0x3fdcae8d93f1d7b7 - .quad 0x3fea89c850b7d54d, 0x3fdc40b0729ed548 - .quad 0x3feaa5d265064366, 0x3fdbd3998457afdb - .quad 0x3feac16fc7143263, 0x3fdb674c8ffc6283 - .quad 0x3feadca142b10f98, 0x3fdafbcd3afe8ab6 - .quad 0x3feaf767a741088b, 0x3fda911f096fbc26 - .quad 0x3feb11c3c79bb424, 0x3fda27455e14c93c - .quad 0x3feb2bb679ead19c, 0x3fd9be437a7de946 - .quad 0x3feb4540978921ee, 0x3fd9561c7f23a47b - .quad 0x3feb5e62fce16095, 0x3fd8eed36b886d93 - .quad 0x3feb771e894d602e, 0x3fd8886b1e5ecfd1 - .quad 0x3feb8f741ef54f83, 0x3fd822e655b417e7 - .quad 0x3feba764a2af2b78, 0x3fd7be47af1f5d89 - .quad 0x3febbef0fbde6221, 0x3fd75a91a7f4d2ed - .quad 0x3febd61a1453ab44, 0x3fd6f7c69d7d3ef8 - .quad 0x3febece0d82d1a5c, 0x3fd695e8cd31867e - .quad 0x3fec034635b66e23, 0x3fd634fa54fa285f - .quad 0x3fec194b1d49a184, 0x3fd5d4fd33729015 - .quad 0x3fec2ef0812fc1bd, 0x3fd575f3483021c3 - .quad 0x3fec443755820d64, 0x3fd517de540ce2a3 - .quad 0x3fec5920900b5fd1, 0x3fd4babff975a04c - .quad 0x3fec6dad2829ec62, 0x3fd45e99bcbb7915 - .quad 0x3fec81de16b14cef, 0x3fd4036d0468a7a2 - .quad 0x3fec95b455cce69d, 0x3fd3a93b1998736c - .quad 0x3feca930e0e2a825, 0x3fd35005285227f1 - .quad 0x3fecbc54b476248d, 0x3fd2f7cc3fe6f423 - .quad 0x3feccf20ce0c0d27, 0x3fd2a09153529381 - .quad 0x3fece1962c0e0d8b, 0x3fd24a55399ea239 - .quad 0x3fecf3b5cdaf0c39, 0x3fd1f518ae487dc8 - .quad 0x3fed0580b2cfd249, 0x3fd1a0dc51a9934d - .quad 0x3fed16f7dbe41ca0, 0x3fd14da0a961fd14 - .quad 0x3fed281c49d818d0, 0x3fd0fb6620c550af - .quad 0x3fed38eefdf64fdd, 0x3fd0aa2d09497f2b - .quad 0x3fed4970f9ce00d9, 0x3fd059f59af7a906 - .quad 0x3fed59a33f19ed42, 0x3fd00abff4dec7a3 - .quad 0x3fed6986cfa798e7, 0x3fcf79183b101c5b - .quad 0x3fed791cad3eff01, 0x3fcedeb406d9c825 - .quad 0x3fed8865d98abe01, 0x3fce4652fadcb6b2 - .quad 0x3fed97635600bb89, 0x3fcdaff4969c0b04 - .quad 0x3feda61623cb41e0, 0x3fcd1b982c501370 - .quad 0x3fedb47f43b2980d, 0x3fcc893ce1dcbef7 - .quad 0x3fedc29fb60715af, 0x3fcbf8e1b1ca2279 - .quad 0x3fedd0787a8bb39d, 0x3fcb6a856c3ed54f - .quad 0x3fedde0a90611a0d, 0x3fcade26b7fbed95 - .quad 0x3fedeb56f5f12d28, 0x3fca53c4135a6526 - .quad 0x3fedf85ea8db188e, 0x3fc9cb5bd549b111 - .quad 0x3fee0522a5dfda73, 0x3fc944ec2e4f5630 - .quad 0x3fee11a3e8cf4eb8, 0x3fc8c07329874652 - .quad 0x3fee1de36c75ba58, 0x3fc83deeada4d25a - .quad 0x3fee29e22a89d766, 0x3fc7bd5c7df3fe9c - .quad 0x3fee35a11b9b61ce, 0x3fc73eba3b5b07b7 - .quad 0x3fee4121370224cc, 0x3fc6c205655be720 - .quad 0x3fee4c6372cd8927, 0x3fc6473b5b15a7a1 - .quad 0x3fee5768c3b4a3fc, 0x3fc5ce595c455b0a - .quad 0x3fee62321d06c5e0, 0x3fc5575c8a468362 - .quad 0x3fee6cc0709c8a0d, 0x3fc4e241e912c305 - .quad 0x3fee7714aec96534, 0x3fc46f066040a832 - .quad 0x3fee812fc64db369, 0x3fc3fda6bc016994 - .quad 0x3fee8b12a44944a8, 0x3fc38e1fae1d6a9d - .quad 0x3fee94be342e6743, 0x3fc3206dceef5f87 - .quad 0x3fee9e335fb56f87, 0x3fc2b48d9e5dea1c - .quad 0x3feea7730ed0bbb9, 0x3fc24a7b84d38971 - .quad 0x3feeb07e27a133aa, 0x3fc1e233d434b813 - .quad 0x3feeb9558e6b42ce, 0x3fc17bb2c8d41535 - .quad 0x3feec1fa258c4bea, 0x3fc116f48a6476cc - .quad 0x3feeca6ccd709544, 0x3fc0b3f52ce8c383 - .quad 0x3feed2ae6489ac1e, 0x3fc052b0b1a174ea - .quad 0x3feedabfc7453e63, 0x3fbfe6460fef4680 - .quad 0x3feee2a1d004692c, 0x3fbf2a901ccafb37 - .quad 0x3feeea5557137ae0, 0x3fbe723726b824a9 - .quad 0x3feef1db32a2277c, 0x3fbdbd32ac4c99b0 - .quad 0x3feef93436bc2daa, 0x3fbd0b7a0f921e7c - .quad 0x3fef006135426b26, 0x3fbc5d0497c09e74 - .quad 0x3fef0762fde45ee6, 0x3fbbb1c972f23e50 - .quad 0x3fef0e3a5e1a1788, 0x3fbb09bfb7d11a84 - .quad 0x3fef14e8211e8c55, 0x3fba64de673e8837 - .quad 0x3fef1b6d0fea5f4d, 0x3fb9c31c6df3b1b8 - .quad 0x3fef21c9f12f0677, 0x3fb92470a61b6965 - .quad 0x3fef27ff89525acf, 0x3fb888d1d8e510a3 - .quad 0x3fef2e0e9a6a8b09, 0x3fb7f036c0107294 - .quad 0x3fef33f7e43a706b, 0x3fb75a96077274ba - .quad 0x3fef39bc242e43e6, 0x3fb6c7e64e7281cb - .quad 0x3fef3f5c1558b19e, 0x3fb6381e2980956b - .quad 0x3fef44d870704911, 0x3fb5ab342383d178 - .quad 0x3fef4a31ebcd47df, 0x3fb5211ebf41880b - .quad 0x3fef4f693b67bd77, 0x3fb499d478bca735 - .quad 0x3fef547f10d60597, 0x3fb4154bc68d75c3 - .quad 0x3fef59741b4b97cf, 0x3fb3937b1b31925a - .quad 0x3fef5e4907982a07, 0x3fb31458e6542847 - .quad 0x3fef62fe80272419, 0x3fb297db960e4f63 - .quad 0x3fef67952cff6282, 0x3fb21df9981f8e53 - .quad 0x3fef6c0db3c34641, 0x3fb1a6a95b1e786f - .quad 0x3fef7068b7b10fd9, 0x3fb131e14fa1625d - .quad 0x3fef74a6d9a38383, 0x3fb0bf97e95f2a64 - .quad 0x3fef78c8b812d498, 0x3fb04fc3a0481321 - .quad 0x3fef7cceef15d631, 0x3fafc4b5e32d6259 - .quad 0x3fef80ba18636f07, 0x3faeeea8c1b1db94 - .quad 0x3fef848acb544e95, 0x3fae1d4cf1e2450a - .quad 0x3fef88419ce4e184, 0x3fad508f9a1ea64f - .quad 0x3fef8bdf1fb78370, 0x3fac885df3451a07 - .quad 0x3fef8f63e416ebff, 0x3fabc4a54a84e834 - .quad 0x3fef92d077f8d56d, 0x3fab055303221015 - .quad 0x3fef96256700da8e, 0x3faa4a549829587e - .quad 0x3fef99633a838a57, 0x3fa993979e14fffe - .quad 0x3fef9c8a7989af0d, 0x3fa8e109c4622913 - .quad 0x3fef9f9ba8d3c733, 0x3fa83298d717210e - .quad 0x3fefa2974addae45, 0x3fa78832c03aa2b1 - .quad 0x3fefa57ddfe27376, 0x3fa6e1c5893c380b - .quad 0x3fefa84fe5e05c8d, 0x3fa63f3f5c4de13b - .quad 0x3fefab0dd89d1309, 0x3fa5a08e85af27e0 - .quad 0x3fefadb831a9f9c3, 0x3fa505a174e9c929 - .quad 0x3fefb04f6868a944, 0x3fa46e66be002240 - .quad 0x3fefb2d3f20f9101, 0x3fa3dacd1a8d8cce - .quad 0x3fefb54641aebbc9, 0x3fa34ac36ad8dafe - .quad 0x3fefb7a6c834b5a2, 0x3fa2be38b6d92415 - .quad 0x3fefb9f5f4739170, 0x3fa2351c2f2d1449 - .quad 0x3fefbc3433260ca5, 0x3fa1af5d2e04f3f6 - .quad 0x3fefbe61eef4cf6a, 0x3fa12ceb37ff9bc3 - .quad 0x3fefc07f907bc794, 0x3fa0adb5fcfa8c75 - .quad 0x3fefc28d7e4f9cd0, 0x3fa031ad58d56279 - .quad 0x3fefc48c1d033c7a, 0x3f9f7182a851bca2 - .quad 0x3fefc67bcf2d7b8f, 0x3f9e85c449e377f3 - .quad 0x3fefc85cf56ecd38, 0x3f9da0005e5f28df - .quad 0x3fefca2fee770c79, 0x3f9cc0180af00a8b - .quad 0x3fefcbf5170b578b, 0x3f9be5ecd2fcb5f9 - .quad 0x3fefcdacca0bfb73, 0x3f9b1160991ff737 - .quad 0x3fefcf57607a6e7c, 0x3f9a4255a00b9f03 - .quad 0x3fefd0f5317f582f, 0x3f9978ae8b55ce1b - .quad 0x3fefd2869270a56f, 0x3f98b44e6031383e - .quad 0x3fefd40bd6d7a785, 0x3f97f5188610ddc8 - .quad 0x3fefd58550773cb5, 0x3f973af0c737bb45 - .quad 0x3fefd6f34f52013a, 0x3f9685bb5134ef13 - .quad 0x3fefd85621b0876d, 0x3f95d55cb54cd53a - .quad 0x3fefd9ae142795e3, 0x3f9529b9e8cf9a1e - .quad 0x3fefdafb719e6a69, 0x3f9482b8455dc491 - .quad 0x3fefdc3e835500b3, 0x3f93e03d891b37de - .quad 0x3fefdd7790ea5bc0, 0x3f93422fd6d12e2b - .quad 0x3fefdea6e062d0c9, 0x3f92a875b5ffab56 - .quad 0x3fefdfccb62e52d3, 0x3f9212f612dee7fb - .quad 0x3fefe0e9552ebdd6, 0x3f9181983e5133dd - .quad 0x3fefe1fcfebe2083, 0x3f90f443edc5ce49 - .quad 0x3fefe307f2b503d0, 0x3f906ae13b0d3255 - .quad 0x3fefe40a6f70af4b, 0x3f8fcab1483ea7fc - .quad 0x3fefe504b1d9696c, 0x3f8ec72615a894c4 - .quad 0x3fefe5f6f568b301, 0x3f8dcaf3691fc448 - .quad 0x3fefe6e1742f7cf6, 0x3f8cd5ec93c12432 - .quad 0x3fefe7c466dc57a1, 0x3f8be7e5ac24963b - .quad 0x3fefe8a004c19ae6, 0x3f8b00b38d6b3575 - .quad 0x3fefe97483db8670, 0x3f8a202bd6372dce - .quad 0x3fefea4218d6594a, 0x3f894624e78e0faf - .quad 0x3fefeb08f7146046, 0x3f887275e3a6869e - .quad 0x3fefebc950b3fa75, 0x3f87a4f6aca256cb - .quad 0x3fefec835695932e, 0x3f86dd7fe3358230 - .quad 0x3fefed37386190fb, 0x3f861beae53b72b7 - .quad 0x3fefede5248e38f4, 0x3f856011cc3b036d - .quad 0x3fefee8d486585ee, 0x3f84a9cf6bda3f4c - .quad 0x3fefef2fd00af31a, 0x3f83f8ff5042a88e - .quad 0x3fefefcce6813974, 0x3f834d7dbc76d7e5 - .quad 0x3feff064b5afffbe, 0x3f82a727a89a3f14 - .quad 0x3feff0f766697c76, 0x3f8205dac02bd6b9 - .quad 0x3feff18520700971, 0x3f81697560347b26 - .quad 0x3feff20e0a7ba8c2, 0x3f80d1d69569b82d - .quad 0x3feff2924a3f7a83, 0x3f803ede1a45bfee - .quad 0x3feff312046f2339, 0x3f7f60d8aa2a88f2 - .quad 0x3feff38d5cc4227f, 0x3f7e4cc4abf7d065 - .quad 0x3feff404760319b4, 0x3f7d4143a9dfe965 - .quad 0x3feff47772010262, 0x3f7c3e1a5f5c077c - .quad 0x3feff4e671a85425, 0x3f7b430ecf4a83a8 - .quad 0x3feff55194fe19df, 0x3f7a4fe83fb9db25 - .quad 0x3feff5b8fb26f5f6, 0x3f79646f35a76624 - .quad 0x3feff61cc26c1578, 0x3f78806d70b2fc36 - .quad 0x3feff67d08401202, 0x3f77a3ade6c8b3e5 - .quad 0x3feff6d9e943c231, 0x3f76cdfcbfc1e263 - .quad 0x3feff733814af88c, 0x3f75ff2750fe7820 - .quad 0x3feff789eb6130c9, 0x3f7536fc18f7ce5c - .quad 0x3feff7dd41ce2b4d, 0x3f74754abacdf1dc - .quad 0x3feff82d9e1a76d8, 0x3f73b9e3f9d06e3f - .quad 0x3feff87b1913e853, 0x3f730499b503957f - .quad 0x3feff8c5cad200a5, 0x3f72553ee2a336bf - .quad 0x3feff90dcaba4096, 0x3f71aba78ba3af89 - .quad 0x3feff9532f846ab0, 0x3f7107a8c7323a6e - .quad 0x3feff9960f3eb327, 0x3f706918b6355624 - .quad 0x3feff9d67f51ddba, 0x3f6f9f9cfd9c3035 - .quad 0x3feffa14948549a7, 0x3f6e77448fb66bb9 - .quad 0x3feffa506302ebae, 0x3f6d58da68fd1170 - .quad 0x3feffa89fe5b3625, 0x3f6c4412bf4b8f0b - .quad 0x3feffac17988ef4b, 0x3f6b38a3af2e55b4 - .quad 0x3feffaf6e6f4f5c0, 0x3f6a3645330550ff - .quad 0x3feffb2a5879f35e, 0x3f693cb11a30d765 - .quad 0x3feffb5bdf67fe6f, 0x3f684ba3004a50d0 - .quad 0x3feffb8b8c88295f, 0x3f6762d84469c18f - .quad 0x3feffbb970200110, 0x3f66821000795a03 - .quad 0x3feffbe599f4f9d9, 0x3f65a90b00981d93 - .quad 0x3feffc10194fcb64, 0x3f64d78bba8ca5fd - .quad 0x3feffc38fcffbb7c, 0x3f640d564548fad7 - .quad 0x3feffc60535dd7f5, 0x3f634a305080681f - .quad 0x3feffc862a501fd7, 0x3f628de11c5031eb - .quad 0x3feffcaa8f4c9bea, 0x3f61d83170fbf6fb - .quad 0x3feffccd8f5c66d1, 0x3f6128eb96be8798 - .quad 0x3feffcef371ea4d7, 0x3f607fdb4dafea5f - .quad 0x3feffd0f92cb6ba7, 0x3f5fb99b8b8279e1 - .quad 0x3feffd2eae369a07, 0x3f5e7f232d9e2630 - .quad 0x3feffd4c94d29fdb, 0x3f5d4fed7195d7e8 - .quad 0x3feffd6951b33686, 0x3f5c2b9cf7f893bf - .quad 0x3feffd84ef9009ee, 0x3f5b11d702b3deb2 - .quad 0x3feffd9f78c7524a, 0x3f5a024365f771bd - .quad 0x3feffdb8f7605ee7, 0x3f58fc8c794b03b5 - .quad 0x3feffdd1750e1220, 0x3f58005f08d6f1ef - .quad 0x3feffde8fb314ebf, 0x3f570d6a46e07dda - .quad 0x3feffdff92db56e5, 0x3f56235fbd7a4345 - .quad 0x3feffe1544d01ccb, 0x3f5541f340697987 - .quad 0x3feffe2a1988857c, 0x3f5468dadf4080ab - .quad 0x3feffe3e19349dc7, 0x3f5397ced7af2b15 - .quad 0x3feffe514bbdc197, 0x3f52ce898809244e - .quad 0x3feffe63b8c8b5f7, 0x3f520cc76202c5fb - .quad 0x3feffe7567b7b5e1, 0x3f515246dda49d47 - .quad 0x3feffe865fac722b, 0x3f509ec86c75d497 - .quad 0x3feffe96a78a04a9, 0x3f4fe41cd9bb4eee - .quad 0x3feffea645f6d6da, 0x3f4e97ba3b77f306 - .quad 0x3feffeb5415e7c44, 0x3f4d57f524723822 - .quad 0x3feffec39ff380b9, 0x3f4c245d4b99847a - .quad 0x3feffed167b12ac2, 0x3f4afc85e0f82e12 - .quad 0x3feffede9e5d3262, 0x3f49e005769dbc1d - .quad 0x3feffeeb49896c6d, 0x3f48ce75e9f6f8a0 - .quad 0x3feffef76e956a9f, 0x3f47c7744d9378f7 - .quad 0x3fefff0312b010b5, 0x3f46caa0d3582fe9 - .quad 0x3fefff0e3ad91ec2, 0x3f45d79eb71e893b - .quad 0x3fefff18ebe2b0e1, 0x3f44ee1429bf7cc0 - .quad 0x3fefff232a72b48e, 0x3f440daa3c89f5b6 - .quad 0x3fefff2cfb0453d9, 0x3f43360ccd23db3a - .quad 0x3fefff3661e9569d, 0x3f4266ea71d4f71a - .quad 0x3fefff3f634b79f9, 0x3f419ff4663ae9df - .quad 0x3fefff48032dbe40, 0x3f40e0de78654d1e - .quad 0x3fefff50456dab8c, 0x3f40295ef6591848 - .quad 0x3fefff582dc48d30, 0x3f3ef25d37f49fe1 - .quad 0x3fefff5fbfc8a439, 0x3f3da01102b5f851 - .quad 0x3fefff66feee5129, 0x3f3c5b5412dcafad - .quad 0x3fefff6dee89352e, 0x3f3b23a5a23e4210 - .quad 0x3fefff7491cd4af6, 0x3f39f8893d8fd1c1 - .quad 0x3fefff7aebcff755, 0x3f38d986a4187285 - .quad 0x3fefff80ff8911fd, 0x3f37c629a822bc9e - .quad 0x3fefff86cfd3e657, 0x3f36be02102b3520 - .quad 0x3fefff8c5f702ccf, 0x3f35c0a378c90bca - .quad 0x3fefff91b102fca8, 0x3f34cda5374ea275 - .quad 0x3fefff96c717b695, 0x3f33e4a23d1f4703 - .quad 0x3fefff9ba420e834, 0x3f330538fbb77ecd - .quad 0x3fefffa04a7928b1, 0x3f322f0b496539be - .quad 0x3fefffa4bc63ee9a, 0x3f3161be46ad3b50 - .quad 0x3fefffa8fc0e5f33, 0x3f309cfa445b00ff - .quad 0x3fefffad0b901755, 0x3f2fc0d55470cf51 - .quad 0x3fefffb0ecebee1b, 0x3f2e577bbcd49935 - .quad 0x3fefffb4a210b172, 0x3f2cfd4a5adec5c0 - .quad 0x3fefffb82cd9dcbf, 0x3f2bb1a9657ce465 - .quad 0x3fefffbb8f1049c6, 0x3f2a740684026555 - .quad 0x3fefffbeca6adbe9, 0x3f2943d4a1d1ed39 - .quad 0x3fefffc1e08f25f5, 0x3f28208bc334a6a5 - .quad 0x3fefffc4d3120aa1, 0x3f2709a8db59f25c - .quad 0x3fefffc7a37857d2, 0x3f25feada379d8b7 - .quad 0x3fefffca53375ce3, 0x3f24ff207314a102 - .quad 0x3fefffcce3b57bff, 0x3f240a8c1949f75e - .quad 0x3fefffcf564ab6b7, 0x3f23207fb7420eb9 - .quad 0x3fefffd1ac4135f9, 0x3f22408e9ba3327f - .quad 0x3fefffd3e6d5cd87, 0x3f216a501f0e42ca - .quad 0x3fefffd607387b07, 0x3f209d5f819c9e29 - .quad 0x3fefffd80e8ce0da, 0x3f1fb2b792b40a22 - .quad 0x3fefffd9fdeabcce, 0x3f1e3bcf436a1a95 - .quad 0x3fefffdbd65e5ad0, 0x3f1cd55277c18d05 - .quad 0x3fefffdd98e903b2, 0x3f1b7e94604479dc - .quad 0x3fefffdf46816833, 0x3f1a36eec00926dd - .quad 0x3fefffe0e0140857, 0x3f18fdc1b2dcf7b9 - .quad 0x3fefffe26683972a, 0x3f17d2737527c3f9 - .quad 0x3fefffe3daa95b18, 0x3f16b4702d7d5849 - .quad 0x3fefffe53d558ae9, 0x3f15a329b7d30748 - .quad 0x3fefffe68f4fa777, 0x3f149e17724f4d41 - .quad 0x3fefffe7d156d244, 0x3f13a4b60ba9aa4e - .quad 0x3fefffe904222101, 0x3f12b6875310f785 - .quad 0x3fefffea2860ee1e, 0x3f11d312098e9dba - .quad 0x3fefffeb3ebb267b, 0x3f10f9e1b4dd36df - .quad 0x3fefffec47d19457, 0x3f102a8673a94692 - .quad 0x3fefffed443e2787, 0x3f0ec929a665b449 - .quad 0x3fefffee34943b15, 0x3f0d4f4b4c8e09ed - .quad 0x3fefffef1960d85d, 0x3f0be6abbb10a5aa - .quad 0x3fefffeff32af7af, 0x3f0a8e8cc1fadef6 - .quad 0x3feffff0c273bea2, 0x3f094637d5bacfdb - .quad 0x3feffff187b6bc0e, 0x3f080cfdc72220cf - .quad 0x3feffff2436a21dc, 0x3f06e2367dc27f95 - .quad 0x3feffff2f5fefcaa, 0x3f05c540b4936fd2 - .quad 0x3feffff39fe16963, 0x3f04b581b8d170fc - .quad 0x3feffff44178c8d2, 0x3f03b2652b06c2b2 - .quad 0x3feffff4db27f146, 0x3f02bb5cc22e5db6 - .quad 0x3feffff56d4d5e5e, 0x3f01cfe010e2052d - .quad 0x3feffff5f8435efc, 0x3f00ef6c4c84a0fe - .quad 0x3feffff67c604180, 0x3f001984165a5f36 - .quad 0x3feffff6f9f67e55, 0x3efe9b5e8d00ce77 - .quad 0x3feffff77154e0d6, 0x3efd16f5716c6c1a - .quad 0x3feffff7e2c6aea2, 0x3efba4f035d60e03 - .quad 0x3feffff84e93cd75, 0x3efa447b7b03f045 - .quad 0x3feffff8b500e77c, 0x3ef8f4ccca7fc90d - .quad 0x3feffff9164f8e46, 0x3ef7b5223dac7336 - .quad 0x3feffff972be5c59, 0x3ef684c227fcacef - .quad 0x3feffff9ca891572, 0x3ef562fac4329b48 - .quad 0x3feffffa1de8c582, 0x3ef44f21e49054f2 - .quad 0x3feffffa6d13de73, 0x3ef34894a5e24657 - .quad 0x3feffffab83e54b8, 0x3ef24eb7254ccf83 - .quad 0x3feffffaff99bac4, 0x3ef160f438c70913 - .quad 0x3feffffb43555b5f, 0x3ef07ebd2a2d2844 - .quad 0x3feffffb839e52f3, 0x3eef4f12e9ab070a - .quad 0x3feffffbc09fa7cd, 0x3eedb5ad0b27805c - .quad 0x3feffffbfa82616b, 0x3eec304efa2c6f4e - .quad 0x3feffffc316d9ed0, 0x3eeabe09e9144b5e - .quad 0x3feffffc6586abf6, 0x3ee95df988e76644 - .quad 0x3feffffc96f1165e, 0x3ee80f439b4ee04b - .quad 0x3feffffcc5cec0c1, 0x3ee6d11788a69c64 - .quad 0x3feffffcf23ff5fc, 0x3ee5a2adfa0b4bc4 - .quad 0x3feffffd1c637b2b, 0x3ee4834877429b8f - .quad 0x3feffffd4456a10d, 0x3ee37231085c7d9a - .quad 0x3feffffd6a3554a1, 0x3ee26eb9daed6f7e - .quad 0x3feffffd8e1a2f22, 0x3ee1783ceac28910 - .quad 0x3feffffdb01e8546, 0x3ee08e1badf0fced - .quad 0x3feffffdd05a75ea, 0x3edf5f7d88472604 - .quad 0x3feffffdeee4f810, 0x3eddb92b5212fb8d - .quad 0x3feffffe0bd3e852, 0x3edc282cd3957eda - .quad 0x3feffffe273c15b7, 0x3edaab7abace48dc - .quad 0x3feffffe41314e06, 0x3ed94219bfcb4928 - .quad 0x3feffffe59c6698b, 0x3ed7eb1a2075864e - .quad 0x3feffffe710d565e, 0x3ed6a597219a93da - .quad 0x3feffffe8717232d, 0x3ed570b69502f313 - .quad 0x3feffffe9bf4098c, 0x3ed44ba864670882 - .quad 0x3feffffeafb377d5, 0x3ed335a62115bce2 - .quad 0x3feffffec2641a9e, 0x3ed22df298214423 - .quad 0x3feffffed413e5b7, 0x3ed133d96ae7e0dd - .quad 0x3feffffee4d01cd6, 0x3ed046aeabcfcdec - .quad 0x3feffffef4a55bd4, 0x3ececb9cfe1d8642 - .quad 0x3fefffff039f9e8f, 0x3ecd21397ead99cb - .quad 0x3fefffff11ca4876, 0x3ecb8d094c86d374 - .quad 0x3fefffff1f302bc1, 0x3eca0df0f0c626dc - .quad 0x3fefffff2bdb904d, 0x3ec8a2e269750a39 - .quad 0x3fefffff37d63a36, 0x3ec74adc8f4064d3 - .quad 0x3fefffff43297019, 0x3ec604ea819f007c - .quad 0x3fefffff4dde0118, 0x3ec4d0231928c6f9 - .quad 0x3fefffff57fc4a95, 0x3ec3aba85fe22e20 - .quad 0x3fefffff618c3da6, 0x3ec296a70f414053 - .quad 0x3fefffff6a956450, 0x3ec1905613b3abf2 - .quad 0x3fefffff731ee681, 0x3ec097f6156f32c5 - .quad 0x3fefffff7b2f8ed6, 0x3ebf59a20caf6695 - .quad 0x3fefffff82cdcf1b, 0x3ebd9c73698fb1dc - .quad 0x3fefffff89ffc4aa, 0x3ebbf716c6168bae - .quad 0x3fefffff90cb3c81, 0x3eba6852c6b58392 - .quad 0x3fefffff9735b73b, 0x3eb8eefd70594a89 - .quad 0x3fefffff9d446ccc, 0x3eb789fb715aae95 - .quad 0x3fefffffa2fc5015, 0x3eb6383f726a8e04 - .quad 0x3fefffffa8621251, 0x3eb4f8c96f26a26a - .quad 0x3fefffffad7a2652, 0x3eb3caa61607f920 - .quad 0x3fefffffb248c39d, 0x3eb2acee2f5ecdb8 - .quad 0x3fefffffb6d1e95d, 0x3eb19ec60b1242ed - .quad 0x3fefffffbb196132, 0x3eb09f5cf4dd2877 - .quad 0x3fefffffbf22c1e2, 0x3eaf5bd95d8730d8 - .quad 0x3fefffffc2f171e3, 0x3ead9371e2ff7c35 - .quad 0x3fefffffc688a9cf, 0x3eabe41de54d155a - .quad 0x3fefffffc9eb76ac, 0x3eaa4c89e08ef4f3 - .quad 0x3fefffffcd1cbc28, 0x3ea8cb738399b12c - .quad 0x3fefffffd01f36af, 0x3ea75fa8dbc84bec - .quad 0x3fefffffd2f57d68, 0x3ea608078a70dcbc - .quad 0x3fefffffd5a2041f, 0x3ea4c37c0394d094 - .quad 0x3fefffffd8271d12, 0x3ea39100d5687bfe - .quad 0x3fefffffda86faa9, 0x3ea26f9df8519bd7 - .quad 0x3fefffffdcc3b117, 0x3ea15e6827001f18 - .quad 0x3fefffffdedf37ed, 0x3ea05c803e4831c1 - .quad 0x3fefffffe0db6b91, 0x3e9ed22548cffd35 - .quad 0x3fefffffe2ba0ea5, 0x3e9d06ad6ecdf971 - .quad 0x3fefffffe47ccb60, 0x3e9b551c847fbc96 - .quad 0x3fefffffe62534d4, 0x3e99bc09f112b494 - .quad 0x3fefffffe7b4c81e, 0x3e983a1ff0aa239d - .quad 0x3fefffffe92ced93, 0x3e96ce1aa3fd7bdd - .quad 0x3fefffffea8ef9cf, 0x3e9576c72b514859 - .quad 0x3fefffffebdc2ec6, 0x3e943302cc4a0da8 - .quad 0x3fefffffed15bcba, 0x3e9301ba221dc9bb - .quad 0x3fefffffee3cc32c, 0x3e91e1e857adc568 - .quad 0x3fefffffef5251c2, 0x3e90d2966b1746f7 - .quad 0x3feffffff0576917, 0x3e8fa5b4f49cc6b2 - .quad 0x3feffffff14cfb92, 0x3e8dc3ae30b55c16 - .quad 0x3feffffff233ee1d, 0x3e8bfd7555a3bd68 - .quad 0x3feffffff30d18e8, 0x3e8a517d9e61628a - .quad 0x3feffffff3d9480f, 0x3e88be4f8f6c951f - .quad 0x3feffffff4993c46, 0x3e874287ded49339 - .quad 0x3feffffff54dab72, 0x3e85dcd669f2cd34 - .quad 0x3feffffff5f74141, 0x3e848bfd38302871 - .quad 0x3feffffff6969fb8, 0x3e834ecf8a3c124a - .quad 0x3feffffff72c5fb6, 0x3e822430f521cbcf - .quad 0x3feffffff7b91176, 0x3e810b1488aeb235 - .quad 0x3feffffff83d3d07, 0x3e80027c00a263a6 - .quad 0x3feffffff8b962be, 0x3e7e12ee004efc37 - .quad 0x3feffffff92dfba2, 0x3e7c3e44ae32b16b - .quad 0x3feffffff99b79d2, 0x3e7a854ea14102a8 - .quad 0x3feffffffa0248e8, 0x3e78e6761569f45d - .quad 0x3feffffffa62ce54, 0x3e77603bac345f65 - .quad 0x3feffffffabd69b4, 0x3e75f1353cdad001 - .quad 0x3feffffffb127525, 0x3e74980cb3c80949 - .quad 0x3feffffffb624592, 0x3e73537f00b6ad4d - .quad 0x3feffffffbad2aff, 0x3e72225b12bffc68 - .quad 0x3feffffffbf370cd, 0x3e710380e1adb7e9 - .quad 0x3feffffffc355dfd, 0x3e6febc107d5efaa - .quad 0x3feffffffc733572, 0x3e6df0f2a0ee6947 - .quad 0x3feffffffcad3626, 0x3e6c14b2188bcee4 - .quad 0x3feffffffce39b67, 0x3e6a553644f7f07d - .quad 0x3feffffffd169d0c, 0x3e68b0cfce0579e0 - .quad 0x3feffffffd466fa5, 0x3e6725e7c5dd20f7 - .quad 0x3feffffffd7344aa, 0x3e65b2fe547a1340 - .quad 0x3feffffffd9d4aab, 0x3e6456a974e92e93 - .quad 0x3feffffffdc4ad7a, 0x3e630f93c3699078 - .quad 0x3feffffffde9964e, 0x3e61dc7b5b978cf8 - .quad 0x3feffffffe0c2bf0, 0x3e60bc30c5d52f15 - .quad 0x3feffffffe2c92db, 0x3e5f5b2be65a0c7f - .quad 0x3feffffffe4aed5e, 0x3e5d5f3a8dea7357 - .quad 0x3feffffffe675bbd, 0x3e5b82915b03515b - .quad 0x3feffffffe81fc4e, 0x3e59c3517e789488 - .quad 0x3feffffffe9aeb97, 0x3e581fb7df06136e - .quad 0x3feffffffeb24467, 0x3e56961b8d641d06 - .quad 0x3feffffffec81ff2, 0x3e5524ec4d916cae - .quad 0x3feffffffedc95e7, 0x3e53cab1343d18d1 - .quad 0x3feffffffeefbc85, 0x3e52860757487a01 - .quad 0x3fefffffff01a8b6, 0x3e5155a09065d4f7 - .quad 0x3fefffffff126e1e, 0x3e50384250e4c9fc - .quad 0x3fefffffff221f30, 0x3e4e59890b926c78 - .quad 0x3fefffffff30cd3f, 0x3e4c642116a8a9e3 - .quad 0x3fefffffff3e8892, 0x3e4a8e405e651ab6 - .quad 0x3fefffffff4b606f, 0x3e48d5f98114f872 - .quad 0x3fefffffff57632d, 0x3e47397c5a66e307 - .quad 0x3fefffffff629e44, 0x3e45b71456c5a4c4 - .quad 0x3fefffffff6d1e56, 0x3e444d26de513197 - .quad 0x3fefffffff76ef3f, 0x3e42fa31d6371537 - .quad 0x3fefffffff801c1f, 0x3e41bcca373b7b43 - .quad 0x3fefffffff88af67, 0x3e40939ab853339f - .quad 0x3fefffffff90b2e3, 0x3e3efac5187b2863 - .quad 0x3fefffffff982fc1, 0x3e3cf1e86235d0e7 - .quad 0x3fefffffff9f2e9f, 0x3e3b0a68a2128bab - .quad 0x3fefffffffa5b790, 0x3e39423165bc4444 - .quad 0x3fefffffffabd229, 0x3e37974e743dea3d - .quad 0x3fefffffffb18582, 0x3e3607e9eacd1050 - .quad 0x3fefffffffb6d844, 0x3e34924a74dec729 - .quad 0x3fefffffffbbd0aa, 0x3e3334d19e0c2160 - .quad 0x3fefffffffc0748f, 0x3e31edfa3c5f5cca - .quad 0x3fefffffffc4c96c, 0x3e30bc56f1b54701 - .quad 0x3fefffffffc8d462, 0x3e2f3d2185e047d9 - .quad 0x3fefffffffcc9a41, 0x3e2d26cb87945e87 - .quad 0x3fefffffffd01f89, 0x3e2b334fac4b9f99 - .quad 0x3fefffffffd36871, 0x3e296076f7918d1c - .quad 0x3fefffffffd678ed, 0x3e27ac2d72fc2c63 - .quad 0x3fefffffffd954ae, 0x3e2614801550319e - .quad 0x3fefffffffdbff2a, 0x3e24979ac8b28927 - .quad 0x3fefffffffde7ba0, 0x3e2333c68e2d0548 - .quad 0x3fefffffffe0cd16, 0x3e21e767bce37dd7 - .quad 0x3fefffffffe2f664, 0x3e20b0fc5b6d05a0 - .quad 0x3fefffffffe4fa30, 0x3e1f1e3523b41d7d - .quad 0x3fefffffffe6daf7, 0x3e1d00de6608effe - .quad 0x3fefffffffe89b0c, 0x3e1b0778b7b3301b - .quad 0x3fefffffffea3c9a, 0x3e192fb04ec0f6cf - .quad 0x3fefffffffebc1a9, 0x3e177756ec9f78fa - .quad 0x3fefffffffed2c21, 0x3e15dc61922d5a06 - .quad 0x3fefffffffee7dc8, 0x3e145ce65699ff6d - .quad 0x3fefffffffefb847, 0x3e12f71a5f159970 - .quad 0x3feffffffff0dd2b, 0x3e11a94ff571654f - .quad 0x3feffffffff1ede9, 0x3e1071f4bbea09ec - .quad 0x3feffffffff2ebda, 0x3e0e9f1ff8ddd774 - .quad 0x3feffffffff3d843, 0x3e0c818223a202c7 - .quad 0x3feffffffff4b453, 0x3e0a887bd2b4404d - .quad 0x3feffffffff58126, 0x3e08b1a336c5eb6b - .quad 0x3feffffffff63fc3, 0x3e06fab63324088a - .quad 0x3feffffffff6f121, 0x3e056197e30205ba - .quad 0x3feffffffff79626, 0x3e03e44e45301b92 - .quad 0x3feffffffff82fab, 0x3e0281000bfe4c3f - .quad 0x3feffffffff8be77, 0x3e0135f28f2d50b4 - .quad 0x3feffffffff94346, 0x3e000187dded5975 - .quad 0x3feffffffff9bec8, 0x3dfdc479de0ef001 - .quad 0x3feffffffffa319f, 0x3dfbad4fdad3caa1 - .quad 0x3feffffffffa9c63, 0x3df9baed3ed27ab8 - .quad 0x3feffffffffaffa4, 0x3df7ead9ce4285bb - .quad 0x3feffffffffb5be5, 0x3df63ac6b4edc88e - .quad 0x3feffffffffbb1a2, 0x3df4a88be2a6390c - .quad 0x3feffffffffc014e, 0x3df332259185f1a0 - .quad 0x3feffffffffc4b56, 0x3df1d5b1f3793044 - .quad 0x3feffffffffc901c, 0x3df0916f04b6e18b - .quad 0x3feffffffffccfff, 0x3deec77101de6926 - .quad 0x3feffffffffd0b56, 0x3dec960bf23153e0 - .quad 0x3feffffffffd4271, 0x3dea8bd20fc65ef7 - .quad 0x3feffffffffd759d, 0x3de8a61745ec7d1d - .quad 0x3feffffffffda520, 0x3de6e25d0e756261 - .quad 0x3feffffffffdd13c, 0x3de53e4f7d1666cb - .quad 0x3feffffffffdfa2d, 0x3de3b7c27a7ddb0e - .quad 0x3feffffffffe202d, 0x3de24caf2c32af14 - .quad 0x3feffffffffe4371, 0x3de0fb3186804d0f - .quad 0x3feffffffffe642a, 0x3ddf830c0bb41fd7 - .quad 0x3feffffffffe8286, 0x3ddd3c0f1a91c846 - .quad 0x3feffffffffe9eb0, 0x3ddb1e5acf351d87 - .quad 0x3feffffffffeb8d0, 0x3dd92712d259ce66 - .quad 0x3feffffffffed10a, 0x3dd7538c60a04476 - .quad 0x3feffffffffee782, 0x3dd5a14b04b47879 - .quad 0x3feffffffffefc57, 0x3dd40dfd87456f4c - .quad 0x3fefffffffff0fa7, 0x3dd2977b1172b9d5 - .quad 0x3fefffffffff218f, 0x3dd13bc07e891491 - .quad 0x3fefffffffff3227, 0x3dcff1dbb4300811 - .quad 0x3fefffffffff4188, 0x3dcd9a880f306bd8 - .quad 0x3fefffffffff4fc9, 0x3dcb6e45220b55e0 - .quad 0x3fefffffffff5cfd, 0x3dc96a0b33f2c4da - .quad 0x3fefffffffff6939, 0x3dc78b07e9e924ac - .quad 0x3fefffffffff748e, 0x3dc5ce9ab1670dd2 - .quad 0x3fefffffffff7f0d, 0x3dc4325167006bb0 - .quad 0x3fefffffffff88c5, 0x3dc2b3e53538ff3f - .quad 0x3fefffffffff91c6, 0x3dc15137a7f44864 - .quad 0x3fefffffffff9a1b, 0x3dc0084ff125639d - .quad 0x3fefffffffffa1d2, 0x3dbdaeb0b7311ec7 - .quad 0x3fefffffffffa8f6, 0x3dbb7937d1c40c53 - .quad 0x3fefffffffffaf92, 0x3db96d082f59ab06 - .quad 0x3fefffffffffb5b0, 0x3db7872d9fa10aad - .quad 0x3fefffffffffbb58, 0x3db5c4e8e37bc7d0 - .quad 0x3fefffffffffc095, 0x3db423ac0df49a40 - .quad 0x3fefffffffffc56d, 0x3db2a117230ad284 - .quad 0x3fefffffffffc9e8, 0x3db13af4f04f9998 - .quad 0x3fefffffffffce0d, 0x3dafde703724e560 - .quad 0x3fefffffffffd1e1, 0x3dad77f0c82e7641 - .quad 0x3fefffffffffd56c, 0x3dab3ee02611d7dd - .quad 0x3fefffffffffd8b3, 0x3da92ff33023d5bd - .quad 0x3fefffffffffdbba, 0x3da7481a9e69f53f - .quad 0x3fefffffffffde86, 0x3da5847eda620959 - .quad 0x3fefffffffffe11d, 0x3da3e27c1fcc74bd - .quad 0x3fefffffffffe380, 0x3da25f9ee0b923dc - .quad 0x3fefffffffffe5b6, 0x3da0f9a068653200 - .quad 0x3fefffffffffe7c0, 0x3d9f5cc7718082b0 - .quad 0x3fefffffffffe9a2, 0x3d9cf7e53d6a2ca5 - .quad 0x3fefffffffffeb60, 0x3d9ac0f5f3229372 - .quad 0x3fefffffffffecfb, 0x3d98b498644847ea - .quad 0x3fefffffffffee77, 0x3d96cfa9bcca59dc - .quad 0x3fefffffffffefd6, 0x3d950f411d4fd2cd - .quad 0x3feffffffffff11a, 0x3d9370ab8327af5e - .quad 0x3feffffffffff245, 0x3d91f167f88c6b6e - .quad 0x3feffffffffff359, 0x3d908f24085d4597 - .quad 0x3feffffffffff457, 0x3d8e8f70e181d61a - .quad 0x3feffffffffff542, 0x3d8c324c20e337dc - .quad 0x3feffffffffff61b, 0x3d8a03261574b54e - .quad 0x3feffffffffff6e3, 0x3d87fe903cdf5855 - .quad 0x3feffffffffff79b, 0x3d86215c58da3450 - .quad 0x3feffffffffff845, 0x3d846897d4b69fc6 - .quad 0x3feffffffffff8e2, 0x3d82d1877d731b7b - .quad 0x3feffffffffff973, 0x3d8159a386b11517 - .quad 0x3feffffffffff9f8, 0x3d7ffd27ae9393ce - .quad 0x3feffffffffffa73, 0x3d7d7c593130dd0b - .quad 0x3feffffffffffae4, 0x3d7b2cd607c79bcf - .quad 0x3feffffffffffb4c, 0x3d790ae4d3405651 - .quad 0x3feffffffffffbad, 0x3d771312dd1759e2 - .quad 0x3feffffffffffc05, 0x3d75422ef5d8949d - .quad 0x3feffffffffffc57, 0x3d739544b0ecc957 - .quad 0x3feffffffffffca2, 0x3d720997f73e73dd - .quad 0x3feffffffffffce7, 0x3d709ca0eaacd277 - .quad 0x3feffffffffffd27, 0x3d6e9810295890ec - .quad 0x3feffffffffffd62, 0x3d6c2b45b5aa4a1d - .quad 0x3feffffffffffd98, 0x3d69eee068fa7596 - .quad 0x3feffffffffffdca, 0x3d67df2b399c10a8 - .quad 0x3feffffffffffdf8, 0x3d65f8b87a31bd85 - .quad 0x3feffffffffffe22, 0x3d64385c96e9a2d9 - .quad 0x3feffffffffffe49, 0x3d629b2933ef4cbc - .quad 0x3feffffffffffe6c, 0x3d611e68a6378f8a - .quad 0x3feffffffffffe8d, 0x3d5f7f338086a86b - .quad 0x3feffffffffffeab, 0x3d5cf8d7d9ce040a - .quad 0x3feffffffffffec7, 0x3d5aa577251ae485 - .quad 0x3feffffffffffee1, 0x3d58811d739efb5f - .quad 0x3feffffffffffef8, 0x3d568823e52970be - .quad 0x3fefffffffffff0e, 0x3d54b72ae68e8b4c - .quad 0x3fefffffffffff22, 0x3d530b14dbe876bc - .quad 0x3fefffffffffff34, 0x3d5181012ef86610 - .quad 0x3fefffffffffff45, 0x3d501647ba798745 - .quad 0x3fefffffffffff54, 0x3d4d90e917701675 - .quad 0x3fefffffffffff62, 0x3d4b2a87e86d0c8a - .quad 0x3fefffffffffff6f, 0x3d48f53dcb377293 - .quad 0x3fefffffffffff7b, 0x3d46ed2f2515e933 - .quad 0x3fefffffffffff86, 0x3d450ecc9ed47f19 - .quad 0x3fefffffffffff90, 0x3d4356cd5ce7799e - .quad 0x3fefffffffffff9a, 0x3d41c229a587ab78 - .quad 0x3fefffffffffffa2, 0x3d404e15ecc7f3f6 - .quad 0x3fefffffffffffaa, 0x3d3deffc7e6a6017 - .quad 0x3fefffffffffffb1, 0x3d3b7b040832f310 - .quad 0x3fefffffffffffb8, 0x3d3938e021f36d76 - .quad 0x3fefffffffffffbe, 0x3d37258610b3b233 - .quad 0x3fefffffffffffc3, 0x3d353d3bfc82a909 - .quad 0x3fefffffffffffc8, 0x3d337c92babdc2fd - .quad 0x3fefffffffffffcd, 0x3d31e06010120f6a - .quad 0x3fefffffffffffd1, 0x3d3065b9616170d4 - .quad 0x3fefffffffffffd5, 0x3d2e13dd96b3753b - .quad 0x3fefffffffffffd9, 0x3d2b950d32467392 - .quad 0x3fefffffffffffdc, 0x3d294a72263259a5 - .quad 0x3fefffffffffffdf, 0x3d272fd93e036cdc - .quad 0x3fefffffffffffe2, 0x3d254164576929ab - .quad 0x3fefffffffffffe4, 0x3d237b83c521fe96 - .quad 0x3fefffffffffffe7, 0x3d21daf033182e96 - .quad 0x3fefffffffffffe9, 0x3d205ca50205d26a - .quad 0x3fefffffffffffeb, 0x3d1dfbb6235639fa - .quad 0x3fefffffffffffed, 0x3d1b7807e294781f - .quad 0x3fefffffffffffee, 0x3d19298add70a734 - .quad 0x3feffffffffffff0, 0x3d170beaf9c7ffb6 - .quad 0x3feffffffffffff1, 0x3d151b2cd6709222 - .quad 0x3feffffffffffff3, 0x3d1353a6cf7f7fff - .quad 0x3feffffffffffff4, 0x3d11b1fa8cbe84a7 - .quad 0x3feffffffffffff5, 0x3d10330f0fd69921 - .quad 0x3feffffffffffff6, 0x3d0da81670f96f9b - .quad 0x3feffffffffffff7, 0x3d0b24a16b4d09aa - .quad 0x3feffffffffffff7, 0x3d08d6eeb6efdbd6 - .quad 0x3feffffffffffff8, 0x3d06ba91ac734786 - .quad 0x3feffffffffffff9, 0x3d04cb7966770ab5 - .quad 0x3feffffffffffff9, 0x3d0305e9721d0981 - .quad 0x3feffffffffffffa, 0x3d01667311fff70a - .quad 0x3feffffffffffffb, 0x3cffd3de10d62855 - .quad 0x3feffffffffffffb, 0x3cfd1aefbcd48d0c - .quad 0x3feffffffffffffb, 0x3cfa9cc93c25aca9 - .quad 0x3feffffffffffffc, 0x3cf85487ee3ea735 - .quad 0x3feffffffffffffc, 0x3cf63daf8b4b1e0c - .quad 0x3feffffffffffffd, 0x3cf45421e69a6ca1 - .quad 0x3feffffffffffffd, 0x3cf294175802d99a - .quad 0x3feffffffffffffd, 0x3cf0fa17bf41068f - .quad 0x3feffffffffffffd, 0x3cef05e82aae2bb9 - .quad 0x3feffffffffffffe, 0x3cec578101b29058 - .quad 0x3feffffffffffffe, 0x3ce9e39dc5dd2f7c - .quad 0x3feffffffffffffe, 0x3ce7a553a728bbf2 - .quad 0x3feffffffffffffe, 0x3ce5982008db1304 - .quad 0x3feffffffffffffe, 0x3ce3b7e00422e51b - .quad 0x3feffffffffffffe, 0x3ce200c898d9ee3e - .quad 0x3fefffffffffffff, 0x3ce06f5f7eb65a56 - .quad 0x3fefffffffffffff, 0x3cde00e9148a1d25 - .quad 0x3fefffffffffffff, 0x3cdb623734024e92 - .quad 0x3fefffffffffffff, 0x3cd8fd4e01891bf8 - .quad 0x3fefffffffffffff, 0x3cd6cd44c7470d89 - .quad 0x3fefffffffffffff, 0x3cd4cd9c04158cd7 - .quad 0x3fefffffffffffff, 0x3cd2fa34bf5c8344 - .quad 0x3fefffffffffffff, 0x3cd14f4890ff2461 - .quad 0x3fefffffffffffff, 0x3ccf92c49dfa4df5 - .quad 0x3fefffffffffffff, 0x3ccccaaea71ab0df - .quad 0x3fefffffffffffff, 0x3cca40829f001197 - .quad 0x3ff0000000000000, 0x3cc7eef13b59e96c - .quad 0x3ff0000000000000, 0x3cc5d11e1a252bf5 - .quad 0x3ff0000000000000, 0x3cc3e296303b2297 - .quad 0x3ff0000000000000, 0x3cc21f47009f43ce - .quad 0x3ff0000000000000, 0x3cc083768c5e4542 - .quad 0x3ff0000000000000, 0x3cbe1777d831265f - .quad 0x3ff0000000000000, 0x3cbb69f10b0191b5 - .quad 0x3ff0000000000000, 0x3cb8f8a3a05b5b53 - .quad 0x3ff0000000000000, 0x3cb6be573c40c8e7 - .quad 0x3ff0000000000000, 0x3cb4b645ba991fdb - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ - .align 64 - .quad 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000 /* _MaxThreshold = 6.0 - 1.0/128.0 */ - .align 64 - .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ - .align 64 - .quad 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000 /* _U2THreshold */ - .align 64 - .quad 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5 /* _poly_1_0 */ - .align 64 - .quad 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1 /* _poly_1_1 */ - .align 64 - .quad 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57 /* _poly_3_0 */ - .align 64 - .quad 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8 /* _poly_3_1 */ - .align 64 - .quad 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F /* _poly_5_0 */ - .align 64 - .quad 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122 /* _poly_5_1 */ - .align 64 - .quad 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6 /* _poly_1_2 */ - .align 64 - .quad 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd /* _poly_3_2 */ - .align 64 - .quad 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c /* _poly_1_3 */ - .align 64 - .quad 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555 /* _poly_3_3 */ - .align 64 - .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ - .align 64 - .type __svml_derf_data_internal,@object - .size __svml_derf_data_internal,.-__svml_derf_data_internal + /* _erf_tbl */ + .quad 0x0000000000000000, 0x3ff20dd750429b6d + .quad 0x3f820dbf3deb1340, 0x3ff20d8f1975c85d + .quad 0x3f920d77083f17a0, 0x3ff20cb67bd452c7 + .quad 0x3f9b137e0cf584dc, 0x3ff20b4d8bac36c1 + .quad 0x3fa20c5645dd2538, 0x3ff209546ad13ccf + .quad 0x3fa68e5d3bbc9526, 0x3ff206cb4897b148 + .quad 0x3fab0fafef135745, 0x3ff203b261cd0053 + .quad 0x3faf902a77bd3821, 0x3ff2000a00ae3804 + .quad 0x3fb207d480e90658, 0x3ff1fbd27cdc72d3 + .quad 0x3fb44703e87e8593, 0x3ff1f70c3b4f2cc8 + .quad 0x3fb68591a1e83b5d, 0x3ff1f1b7ae44867f + .quad 0x3fb8c36beb8a8d23, 0x3ff1ebd5552f795b + .quad 0x3fbb0081148a873a, 0x3ff1e565bca400d4 + .quad 0x3fbd3cbf7e70a4b3, 0x3ff1de697e413d29 + .quad 0x3fbf78159ec8bb50, 0x3ff1d6e14099944a + .quad 0x3fc0d939005f65e5, 0x3ff1cecdb718d61c + .quad 0x3fc1f5e1a35c3b89, 0x3ff1c62fa1e869b6 + .quad 0x3fc311fc15f56d14, 0x3ff1bd07cdd189ac + .quad 0x3fc42d7fc2f64959, 0x3ff1b357141d95d5 + .quad 0x3fc548642321d7c6, 0x3ff1a91e5a748165 + .quad 0x3fc662a0bdf7a89f, 0x3ff19e5e92b964ab + .quad 0x3fc77c2d2a765f9e, 0x3ff19318bae53a04 + .quad 0x3fc895010fdbdbfd, 0x3ff1874ddcdfce24 + .quad 0x3fc9ad142662e14d, 0x3ff17aff0e56ec10 + .quad 0x3fcac45e37fe2526, 0x3ff16e2d7093cd8c + .quad 0x3fcbdad72110a648, 0x3ff160da304ed92f + .quad 0x3fccf076d1233237, 0x3ff153068581b781 + .quad 0x3fce05354b96ff36, 0x3ff144b3b337c90c + .quad 0x3fcf190aa85540e2, 0x3ff135e3075d076b + .quad 0x3fd015f78a3dcf3d, 0x3ff12695da8b5bde + .quad 0x3fd09eed6982b948, 0x3ff116cd8fd67618 + .quad 0x3fd127631eb8de32, 0x3ff1068b94962e5e + .quad 0x3fd1af54e232d609, 0x3ff0f5d1602f7e41 + .quad 0x3fd236bef825d9a2, 0x3ff0e4a073dc1b91 + .quad 0x3fd2bd9db0f7827f, 0x3ff0d2fa5a70c168 + .quad 0x3fd343ed6989b7d9, 0x3ff0c0e0a8223359 + .quad 0x3fd3c9aa8b84beda, 0x3ff0ae54fa490723 + .quad 0x3fd44ed18d9f6462, 0x3ff09b58f724416b + .quad 0x3fd4d35ef3e5372e, 0x3ff087ee4d9ad247 + .quad 0x3fd5574f4ffac98e, 0x3ff07416b4fbfe7c + .quad 0x3fd5da9f415ff23f, 0x3ff05fd3ecbec298 + .quad 0x3fd65d4b75b00471, 0x3ff04b27bc403d30 + .quad 0x3fd6df50a8dff772, 0x3ff03613f2812daf + .quad 0x3fd760aba57a76bf, 0x3ff0209a65e29545 + .quad 0x3fd7e15944d9d3e4, 0x3ff00abcf3e187a9 + .quad 0x3fd861566f5fd3c0, 0x3fefe8fb01a47307 + .quad 0x3fd8e0a01cab516b, 0x3fefbbbbef34b4b2 + .quad 0x3fd95f3353cbb146, 0x3fef8dc092d58ff8 + .quad 0x3fd9dd0d2b721f39, 0x3fef5f0cdaf15313 + .quad 0x3fda5a2aca209394, 0x3fef2fa4c16c0019 + .quad 0x3fdad68966569a87, 0x3feeff8c4b1375db + .quad 0x3fdb522646bbda68, 0x3feecec7870ebca8 + .quad 0x3fdbccfec24855b8, 0x3fee9d5a8e4c934e + .quad 0x3fdc4710406a65fc, 0x3fee6b4982f158b9 + .quad 0x3fdcc058392a6d2d, 0x3fee38988fc46e72 + .quad 0x3fdd38d4354c3bd0, 0x3fee054be79d3042 + .quad 0x3fddb081ce6e2a48, 0x3fedd167c4cf9d2a + .quad 0x3fde275eaf25e458, 0x3fed9cf06898cdaf + .quad 0x3fde9d68931ae650, 0x3fed67ea1a8b5368 + .quad 0x3fdf129d471eabb1, 0x3fed325927fb9d89 + .quad 0x3fdf86faa9428f9d, 0x3fecfc41e36c7df9 + .quad 0x3fdffa7ea8eb5fd0, 0x3fecc5a8a3fbea40 + .quad 0x3fe03693a371519c, 0x3fec8e91c4d01368 + .quad 0x3fe06f794ab2cae7, 0x3fec5701a484ef9d + .quad 0x3fe0a7ef5c18edd2, 0x3fec1efca49a5011 + .quad 0x3fe0dff4f247f6c6, 0x3febe68728e29d5e + .quad 0x3fe1178930ada115, 0x3febada596f25436 + .quad 0x3fe14eab43841b55, 0x3feb745c55905bf8 + .quad 0x3fe1855a5fd3dd50, 0x3feb3aafcc27502e + .quad 0x3fe1bb95c3746199, 0x3feb00a46237d5be + .quad 0x3fe1f15cb50bc4de, 0x3feac63e7ecc1411 + .quad 0x3fe226ae840d4d70, 0x3fea8b8287ec6a09 + .quad 0x3fe25b8a88b6dd7f, 0x3fea5074e2157620 + .quad 0x3fe28ff0240d52cd, 0x3fea1519efaf889e + .quad 0x3fe2c3debfd7d6c1, 0x3fe9d97610879642 + .quad 0x3fe2f755ce9a21f4, 0x3fe99d8da149c13f + .quad 0x3fe32a54cb8db67b, 0x3fe96164fafd8de3 + .quad 0x3fe35cdb3a9a144d, 0x3fe925007283d7aa + .quad 0x3fe38ee8a84beb71, 0x3fe8e86458169af8 + .quad 0x3fe3c07ca9cb4f9e, 0x3fe8ab94f6caa71d + .quad 0x3fe3f196dcd0f135, 0x3fe86e9694134b9e + .quad 0x3fe42236e79a5fa6, 0x3fe8316d6f48133d + .quad 0x3fe4525c78dd5966, 0x3fe7f41dc12c9e89 + .quad 0x3fe4820747ba2dc2, 0x3fe7b6abbb7aaf19 + .quad 0x3fe4b13713ad3513, 0x3fe7791b886e7403 + .quad 0x3fe4dfeba47f63cc, 0x3fe73b714a552763 + .quad 0x3fe50e24ca35fd2c, 0x3fe6fdb11b1e0c34 + .quad 0x3fe53be25d016a4f, 0x3fe6bfdf0beddaf5 + .quad 0x3fe569243d2b3a9b, 0x3fe681ff24b4ab04 + .quad 0x3fe595ea53035283, 0x3fe6441563c665d4 + .quad 0x3fe5c2348ecc4dc3, 0x3fe60625bd75d07b + .quad 0x3fe5ee02e8a71a53, 0x3fe5c8341bb23767 + .quad 0x3fe61955607dd15d, 0x3fe58a445da7c74c + .quad 0x3fe6442bfdedd397, 0x3fe54c5a57629db0 + .quad 0x3fe66e86d0312e82, 0x3fe50e79d1749ac9 + .quad 0x3fe69865ee075011, 0x3fe4d0a6889dfd9f + .quad 0x3fe6c1c9759d0e5f, 0x3fe492e42d78d2c5 + .quad 0x3fe6eab18c74091b, 0x3fe4553664273d24 + .quad 0x3fe7131e5f496a5a, 0x3fe417a0c4049fd0 + .quad 0x3fe73b1021fc0cb8, 0x3fe3da26d759aef5 + .quad 0x3fe762870f720c6f, 0x3fe39ccc1b136d5a + .quad 0x3fe78983697dc96f, 0x3fe35f93fe7d1b3d + .quad 0x3fe7b00578c26037, 0x3fe32281e2fd1a92 + .quad 0x3fe7d60d8c979f7b, 0x3fe2e5991bd4cbfc + .quad 0x3fe7fb9bfaed8078, 0x3fe2a8dcede3673b + .quad 0x3fe820b1202f27fb, 0x3fe26c508f6bd0ff + .quad 0x3fe8454d5f25760d, 0x3fe22ff727dd6f7b + .quad 0x3fe8697120d92a4a, 0x3fe1f3d3cf9ffe5a + .quad 0x3fe88d1cd474a2e0, 0x3fe1b7e98fe26217 + .quad 0x3fe8b050ef253c37, 0x3fe17c3b626c7a12 + .quad 0x3fe8d30debfc572e, 0x3fe140cc3173f007 + .quad 0x3fe8f5544bd00c04, 0x3fe1059ed7740313 + .quad 0x3fe91724951b8fc6, 0x3fe0cab61f084b93 + .quad 0x3fe9387f53df5238, 0x3fe09014c2ca74da + .quad 0x3fe959651980da31, 0x3fe055bd6d32e8d7 + .quad 0x3fe979d67caa6631, 0x3fe01bb2b87c6968 + .quad 0x3fe999d4192a5715, 0x3fdfc3ee5d1524b0 + .quad 0x3fe9b95e8fd26aba, 0x3fdf511a91a67d2a + .quad 0x3fe9d8768656cc42, 0x3fdedeeee0959518 + .quad 0x3fe9f71ca72cffb6, 0x3fde6d6ffaa65a25 + .quad 0x3fea1551a16aaeaf, 0x3fddfca26f5bbf88 + .quad 0x3fea331628a45b92, 0x3fdd8c8aace11e63 + .quad 0x3fea506af4cc00f4, 0x3fdd1d2cfff91594 + .quad 0x3fea6d50c20fa293, 0x3fdcae8d93f1d7b7 + .quad 0x3fea89c850b7d54d, 0x3fdc40b0729ed548 + .quad 0x3feaa5d265064366, 0x3fdbd3998457afdb + .quad 0x3feac16fc7143263, 0x3fdb674c8ffc6283 + .quad 0x3feadca142b10f98, 0x3fdafbcd3afe8ab6 + .quad 0x3feaf767a741088b, 0x3fda911f096fbc26 + .quad 0x3feb11c3c79bb424, 0x3fda27455e14c93c + .quad 0x3feb2bb679ead19c, 0x3fd9be437a7de946 + .quad 0x3feb4540978921ee, 0x3fd9561c7f23a47b + .quad 0x3feb5e62fce16095, 0x3fd8eed36b886d93 + .quad 0x3feb771e894d602e, 0x3fd8886b1e5ecfd1 + .quad 0x3feb8f741ef54f83, 0x3fd822e655b417e7 + .quad 0x3feba764a2af2b78, 0x3fd7be47af1f5d89 + .quad 0x3febbef0fbde6221, 0x3fd75a91a7f4d2ed + .quad 0x3febd61a1453ab44, 0x3fd6f7c69d7d3ef8 + .quad 0x3febece0d82d1a5c, 0x3fd695e8cd31867e + .quad 0x3fec034635b66e23, 0x3fd634fa54fa285f + .quad 0x3fec194b1d49a184, 0x3fd5d4fd33729015 + .quad 0x3fec2ef0812fc1bd, 0x3fd575f3483021c3 + .quad 0x3fec443755820d64, 0x3fd517de540ce2a3 + .quad 0x3fec5920900b5fd1, 0x3fd4babff975a04c + .quad 0x3fec6dad2829ec62, 0x3fd45e99bcbb7915 + .quad 0x3fec81de16b14cef, 0x3fd4036d0468a7a2 + .quad 0x3fec95b455cce69d, 0x3fd3a93b1998736c + .quad 0x3feca930e0e2a825, 0x3fd35005285227f1 + .quad 0x3fecbc54b476248d, 0x3fd2f7cc3fe6f423 + .quad 0x3feccf20ce0c0d27, 0x3fd2a09153529381 + .quad 0x3fece1962c0e0d8b, 0x3fd24a55399ea239 + .quad 0x3fecf3b5cdaf0c39, 0x3fd1f518ae487dc8 + .quad 0x3fed0580b2cfd249, 0x3fd1a0dc51a9934d + .quad 0x3fed16f7dbe41ca0, 0x3fd14da0a961fd14 + .quad 0x3fed281c49d818d0, 0x3fd0fb6620c550af + .quad 0x3fed38eefdf64fdd, 0x3fd0aa2d09497f2b + .quad 0x3fed4970f9ce00d9, 0x3fd059f59af7a906 + .quad 0x3fed59a33f19ed42, 0x3fd00abff4dec7a3 + .quad 0x3fed6986cfa798e7, 0x3fcf79183b101c5b + .quad 0x3fed791cad3eff01, 0x3fcedeb406d9c825 + .quad 0x3fed8865d98abe01, 0x3fce4652fadcb6b2 + .quad 0x3fed97635600bb89, 0x3fcdaff4969c0b04 + .quad 0x3feda61623cb41e0, 0x3fcd1b982c501370 + .quad 0x3fedb47f43b2980d, 0x3fcc893ce1dcbef7 + .quad 0x3fedc29fb60715af, 0x3fcbf8e1b1ca2279 + .quad 0x3fedd0787a8bb39d, 0x3fcb6a856c3ed54f + .quad 0x3fedde0a90611a0d, 0x3fcade26b7fbed95 + .quad 0x3fedeb56f5f12d28, 0x3fca53c4135a6526 + .quad 0x3fedf85ea8db188e, 0x3fc9cb5bd549b111 + .quad 0x3fee0522a5dfda73, 0x3fc944ec2e4f5630 + .quad 0x3fee11a3e8cf4eb8, 0x3fc8c07329874652 + .quad 0x3fee1de36c75ba58, 0x3fc83deeada4d25a + .quad 0x3fee29e22a89d766, 0x3fc7bd5c7df3fe9c + .quad 0x3fee35a11b9b61ce, 0x3fc73eba3b5b07b7 + .quad 0x3fee4121370224cc, 0x3fc6c205655be720 + .quad 0x3fee4c6372cd8927, 0x3fc6473b5b15a7a1 + .quad 0x3fee5768c3b4a3fc, 0x3fc5ce595c455b0a + .quad 0x3fee62321d06c5e0, 0x3fc5575c8a468362 + .quad 0x3fee6cc0709c8a0d, 0x3fc4e241e912c305 + .quad 0x3fee7714aec96534, 0x3fc46f066040a832 + .quad 0x3fee812fc64db369, 0x3fc3fda6bc016994 + .quad 0x3fee8b12a44944a8, 0x3fc38e1fae1d6a9d + .quad 0x3fee94be342e6743, 0x3fc3206dceef5f87 + .quad 0x3fee9e335fb56f87, 0x3fc2b48d9e5dea1c + .quad 0x3feea7730ed0bbb9, 0x3fc24a7b84d38971 + .quad 0x3feeb07e27a133aa, 0x3fc1e233d434b813 + .quad 0x3feeb9558e6b42ce, 0x3fc17bb2c8d41535 + .quad 0x3feec1fa258c4bea, 0x3fc116f48a6476cc + .quad 0x3feeca6ccd709544, 0x3fc0b3f52ce8c383 + .quad 0x3feed2ae6489ac1e, 0x3fc052b0b1a174ea + .quad 0x3feedabfc7453e63, 0x3fbfe6460fef4680 + .quad 0x3feee2a1d004692c, 0x3fbf2a901ccafb37 + .quad 0x3feeea5557137ae0, 0x3fbe723726b824a9 + .quad 0x3feef1db32a2277c, 0x3fbdbd32ac4c99b0 + .quad 0x3feef93436bc2daa, 0x3fbd0b7a0f921e7c + .quad 0x3fef006135426b26, 0x3fbc5d0497c09e74 + .quad 0x3fef0762fde45ee6, 0x3fbbb1c972f23e50 + .quad 0x3fef0e3a5e1a1788, 0x3fbb09bfb7d11a84 + .quad 0x3fef14e8211e8c55, 0x3fba64de673e8837 + .quad 0x3fef1b6d0fea5f4d, 0x3fb9c31c6df3b1b8 + .quad 0x3fef21c9f12f0677, 0x3fb92470a61b6965 + .quad 0x3fef27ff89525acf, 0x3fb888d1d8e510a3 + .quad 0x3fef2e0e9a6a8b09, 0x3fb7f036c0107294 + .quad 0x3fef33f7e43a706b, 0x3fb75a96077274ba + .quad 0x3fef39bc242e43e6, 0x3fb6c7e64e7281cb + .quad 0x3fef3f5c1558b19e, 0x3fb6381e2980956b + .quad 0x3fef44d870704911, 0x3fb5ab342383d178 + .quad 0x3fef4a31ebcd47df, 0x3fb5211ebf41880b + .quad 0x3fef4f693b67bd77, 0x3fb499d478bca735 + .quad 0x3fef547f10d60597, 0x3fb4154bc68d75c3 + .quad 0x3fef59741b4b97cf, 0x3fb3937b1b31925a + .quad 0x3fef5e4907982a07, 0x3fb31458e6542847 + .quad 0x3fef62fe80272419, 0x3fb297db960e4f63 + .quad 0x3fef67952cff6282, 0x3fb21df9981f8e53 + .quad 0x3fef6c0db3c34641, 0x3fb1a6a95b1e786f + .quad 0x3fef7068b7b10fd9, 0x3fb131e14fa1625d + .quad 0x3fef74a6d9a38383, 0x3fb0bf97e95f2a64 + .quad 0x3fef78c8b812d498, 0x3fb04fc3a0481321 + .quad 0x3fef7cceef15d631, 0x3fafc4b5e32d6259 + .quad 0x3fef80ba18636f07, 0x3faeeea8c1b1db94 + .quad 0x3fef848acb544e95, 0x3fae1d4cf1e2450a + .quad 0x3fef88419ce4e184, 0x3fad508f9a1ea64f + .quad 0x3fef8bdf1fb78370, 0x3fac885df3451a07 + .quad 0x3fef8f63e416ebff, 0x3fabc4a54a84e834 + .quad 0x3fef92d077f8d56d, 0x3fab055303221015 + .quad 0x3fef96256700da8e, 0x3faa4a549829587e + .quad 0x3fef99633a838a57, 0x3fa993979e14fffe + .quad 0x3fef9c8a7989af0d, 0x3fa8e109c4622913 + .quad 0x3fef9f9ba8d3c733, 0x3fa83298d717210e + .quad 0x3fefa2974addae45, 0x3fa78832c03aa2b1 + .quad 0x3fefa57ddfe27376, 0x3fa6e1c5893c380b + .quad 0x3fefa84fe5e05c8d, 0x3fa63f3f5c4de13b + .quad 0x3fefab0dd89d1309, 0x3fa5a08e85af27e0 + .quad 0x3fefadb831a9f9c3, 0x3fa505a174e9c929 + .quad 0x3fefb04f6868a944, 0x3fa46e66be002240 + .quad 0x3fefb2d3f20f9101, 0x3fa3dacd1a8d8cce + .quad 0x3fefb54641aebbc9, 0x3fa34ac36ad8dafe + .quad 0x3fefb7a6c834b5a2, 0x3fa2be38b6d92415 + .quad 0x3fefb9f5f4739170, 0x3fa2351c2f2d1449 + .quad 0x3fefbc3433260ca5, 0x3fa1af5d2e04f3f6 + .quad 0x3fefbe61eef4cf6a, 0x3fa12ceb37ff9bc3 + .quad 0x3fefc07f907bc794, 0x3fa0adb5fcfa8c75 + .quad 0x3fefc28d7e4f9cd0, 0x3fa031ad58d56279 + .quad 0x3fefc48c1d033c7a, 0x3f9f7182a851bca2 + .quad 0x3fefc67bcf2d7b8f, 0x3f9e85c449e377f3 + .quad 0x3fefc85cf56ecd38, 0x3f9da0005e5f28df + .quad 0x3fefca2fee770c79, 0x3f9cc0180af00a8b + .quad 0x3fefcbf5170b578b, 0x3f9be5ecd2fcb5f9 + .quad 0x3fefcdacca0bfb73, 0x3f9b1160991ff737 + .quad 0x3fefcf57607a6e7c, 0x3f9a4255a00b9f03 + .quad 0x3fefd0f5317f582f, 0x3f9978ae8b55ce1b + .quad 0x3fefd2869270a56f, 0x3f98b44e6031383e + .quad 0x3fefd40bd6d7a785, 0x3f97f5188610ddc8 + .quad 0x3fefd58550773cb5, 0x3f973af0c737bb45 + .quad 0x3fefd6f34f52013a, 0x3f9685bb5134ef13 + .quad 0x3fefd85621b0876d, 0x3f95d55cb54cd53a + .quad 0x3fefd9ae142795e3, 0x3f9529b9e8cf9a1e + .quad 0x3fefdafb719e6a69, 0x3f9482b8455dc491 + .quad 0x3fefdc3e835500b3, 0x3f93e03d891b37de + .quad 0x3fefdd7790ea5bc0, 0x3f93422fd6d12e2b + .quad 0x3fefdea6e062d0c9, 0x3f92a875b5ffab56 + .quad 0x3fefdfccb62e52d3, 0x3f9212f612dee7fb + .quad 0x3fefe0e9552ebdd6, 0x3f9181983e5133dd + .quad 0x3fefe1fcfebe2083, 0x3f90f443edc5ce49 + .quad 0x3fefe307f2b503d0, 0x3f906ae13b0d3255 + .quad 0x3fefe40a6f70af4b, 0x3f8fcab1483ea7fc + .quad 0x3fefe504b1d9696c, 0x3f8ec72615a894c4 + .quad 0x3fefe5f6f568b301, 0x3f8dcaf3691fc448 + .quad 0x3fefe6e1742f7cf6, 0x3f8cd5ec93c12432 + .quad 0x3fefe7c466dc57a1, 0x3f8be7e5ac24963b + .quad 0x3fefe8a004c19ae6, 0x3f8b00b38d6b3575 + .quad 0x3fefe97483db8670, 0x3f8a202bd6372dce + .quad 0x3fefea4218d6594a, 0x3f894624e78e0faf + .quad 0x3fefeb08f7146046, 0x3f887275e3a6869e + .quad 0x3fefebc950b3fa75, 0x3f87a4f6aca256cb + .quad 0x3fefec835695932e, 0x3f86dd7fe3358230 + .quad 0x3fefed37386190fb, 0x3f861beae53b72b7 + .quad 0x3fefede5248e38f4, 0x3f856011cc3b036d + .quad 0x3fefee8d486585ee, 0x3f84a9cf6bda3f4c + .quad 0x3fefef2fd00af31a, 0x3f83f8ff5042a88e + .quad 0x3fefefcce6813974, 0x3f834d7dbc76d7e5 + .quad 0x3feff064b5afffbe, 0x3f82a727a89a3f14 + .quad 0x3feff0f766697c76, 0x3f8205dac02bd6b9 + .quad 0x3feff18520700971, 0x3f81697560347b26 + .quad 0x3feff20e0a7ba8c2, 0x3f80d1d69569b82d + .quad 0x3feff2924a3f7a83, 0x3f803ede1a45bfee + .quad 0x3feff312046f2339, 0x3f7f60d8aa2a88f2 + .quad 0x3feff38d5cc4227f, 0x3f7e4cc4abf7d065 + .quad 0x3feff404760319b4, 0x3f7d4143a9dfe965 + .quad 0x3feff47772010262, 0x3f7c3e1a5f5c077c + .quad 0x3feff4e671a85425, 0x3f7b430ecf4a83a8 + .quad 0x3feff55194fe19df, 0x3f7a4fe83fb9db25 + .quad 0x3feff5b8fb26f5f6, 0x3f79646f35a76624 + .quad 0x3feff61cc26c1578, 0x3f78806d70b2fc36 + .quad 0x3feff67d08401202, 0x3f77a3ade6c8b3e5 + .quad 0x3feff6d9e943c231, 0x3f76cdfcbfc1e263 + .quad 0x3feff733814af88c, 0x3f75ff2750fe7820 + .quad 0x3feff789eb6130c9, 0x3f7536fc18f7ce5c + .quad 0x3feff7dd41ce2b4d, 0x3f74754abacdf1dc + .quad 0x3feff82d9e1a76d8, 0x3f73b9e3f9d06e3f + .quad 0x3feff87b1913e853, 0x3f730499b503957f + .quad 0x3feff8c5cad200a5, 0x3f72553ee2a336bf + .quad 0x3feff90dcaba4096, 0x3f71aba78ba3af89 + .quad 0x3feff9532f846ab0, 0x3f7107a8c7323a6e + .quad 0x3feff9960f3eb327, 0x3f706918b6355624 + .quad 0x3feff9d67f51ddba, 0x3f6f9f9cfd9c3035 + .quad 0x3feffa14948549a7, 0x3f6e77448fb66bb9 + .quad 0x3feffa506302ebae, 0x3f6d58da68fd1170 + .quad 0x3feffa89fe5b3625, 0x3f6c4412bf4b8f0b + .quad 0x3feffac17988ef4b, 0x3f6b38a3af2e55b4 + .quad 0x3feffaf6e6f4f5c0, 0x3f6a3645330550ff + .quad 0x3feffb2a5879f35e, 0x3f693cb11a30d765 + .quad 0x3feffb5bdf67fe6f, 0x3f684ba3004a50d0 + .quad 0x3feffb8b8c88295f, 0x3f6762d84469c18f + .quad 0x3feffbb970200110, 0x3f66821000795a03 + .quad 0x3feffbe599f4f9d9, 0x3f65a90b00981d93 + .quad 0x3feffc10194fcb64, 0x3f64d78bba8ca5fd + .quad 0x3feffc38fcffbb7c, 0x3f640d564548fad7 + .quad 0x3feffc60535dd7f5, 0x3f634a305080681f + .quad 0x3feffc862a501fd7, 0x3f628de11c5031eb + .quad 0x3feffcaa8f4c9bea, 0x3f61d83170fbf6fb + .quad 0x3feffccd8f5c66d1, 0x3f6128eb96be8798 + .quad 0x3feffcef371ea4d7, 0x3f607fdb4dafea5f + .quad 0x3feffd0f92cb6ba7, 0x3f5fb99b8b8279e1 + .quad 0x3feffd2eae369a07, 0x3f5e7f232d9e2630 + .quad 0x3feffd4c94d29fdb, 0x3f5d4fed7195d7e8 + .quad 0x3feffd6951b33686, 0x3f5c2b9cf7f893bf + .quad 0x3feffd84ef9009ee, 0x3f5b11d702b3deb2 + .quad 0x3feffd9f78c7524a, 0x3f5a024365f771bd + .quad 0x3feffdb8f7605ee7, 0x3f58fc8c794b03b5 + .quad 0x3feffdd1750e1220, 0x3f58005f08d6f1ef + .quad 0x3feffde8fb314ebf, 0x3f570d6a46e07dda + .quad 0x3feffdff92db56e5, 0x3f56235fbd7a4345 + .quad 0x3feffe1544d01ccb, 0x3f5541f340697987 + .quad 0x3feffe2a1988857c, 0x3f5468dadf4080ab + .quad 0x3feffe3e19349dc7, 0x3f5397ced7af2b15 + .quad 0x3feffe514bbdc197, 0x3f52ce898809244e + .quad 0x3feffe63b8c8b5f7, 0x3f520cc76202c5fb + .quad 0x3feffe7567b7b5e1, 0x3f515246dda49d47 + .quad 0x3feffe865fac722b, 0x3f509ec86c75d497 + .quad 0x3feffe96a78a04a9, 0x3f4fe41cd9bb4eee + .quad 0x3feffea645f6d6da, 0x3f4e97ba3b77f306 + .quad 0x3feffeb5415e7c44, 0x3f4d57f524723822 + .quad 0x3feffec39ff380b9, 0x3f4c245d4b99847a + .quad 0x3feffed167b12ac2, 0x3f4afc85e0f82e12 + .quad 0x3feffede9e5d3262, 0x3f49e005769dbc1d + .quad 0x3feffeeb49896c6d, 0x3f48ce75e9f6f8a0 + .quad 0x3feffef76e956a9f, 0x3f47c7744d9378f7 + .quad 0x3fefff0312b010b5, 0x3f46caa0d3582fe9 + .quad 0x3fefff0e3ad91ec2, 0x3f45d79eb71e893b + .quad 0x3fefff18ebe2b0e1, 0x3f44ee1429bf7cc0 + .quad 0x3fefff232a72b48e, 0x3f440daa3c89f5b6 + .quad 0x3fefff2cfb0453d9, 0x3f43360ccd23db3a + .quad 0x3fefff3661e9569d, 0x3f4266ea71d4f71a + .quad 0x3fefff3f634b79f9, 0x3f419ff4663ae9df + .quad 0x3fefff48032dbe40, 0x3f40e0de78654d1e + .quad 0x3fefff50456dab8c, 0x3f40295ef6591848 + .quad 0x3fefff582dc48d30, 0x3f3ef25d37f49fe1 + .quad 0x3fefff5fbfc8a439, 0x3f3da01102b5f851 + .quad 0x3fefff66feee5129, 0x3f3c5b5412dcafad + .quad 0x3fefff6dee89352e, 0x3f3b23a5a23e4210 + .quad 0x3fefff7491cd4af6, 0x3f39f8893d8fd1c1 + .quad 0x3fefff7aebcff755, 0x3f38d986a4187285 + .quad 0x3fefff80ff8911fd, 0x3f37c629a822bc9e + .quad 0x3fefff86cfd3e657, 0x3f36be02102b3520 + .quad 0x3fefff8c5f702ccf, 0x3f35c0a378c90bca + .quad 0x3fefff91b102fca8, 0x3f34cda5374ea275 + .quad 0x3fefff96c717b695, 0x3f33e4a23d1f4703 + .quad 0x3fefff9ba420e834, 0x3f330538fbb77ecd + .quad 0x3fefffa04a7928b1, 0x3f322f0b496539be + .quad 0x3fefffa4bc63ee9a, 0x3f3161be46ad3b50 + .quad 0x3fefffa8fc0e5f33, 0x3f309cfa445b00ff + .quad 0x3fefffad0b901755, 0x3f2fc0d55470cf51 + .quad 0x3fefffb0ecebee1b, 0x3f2e577bbcd49935 + .quad 0x3fefffb4a210b172, 0x3f2cfd4a5adec5c0 + .quad 0x3fefffb82cd9dcbf, 0x3f2bb1a9657ce465 + .quad 0x3fefffbb8f1049c6, 0x3f2a740684026555 + .quad 0x3fefffbeca6adbe9, 0x3f2943d4a1d1ed39 + .quad 0x3fefffc1e08f25f5, 0x3f28208bc334a6a5 + .quad 0x3fefffc4d3120aa1, 0x3f2709a8db59f25c + .quad 0x3fefffc7a37857d2, 0x3f25feada379d8b7 + .quad 0x3fefffca53375ce3, 0x3f24ff207314a102 + .quad 0x3fefffcce3b57bff, 0x3f240a8c1949f75e + .quad 0x3fefffcf564ab6b7, 0x3f23207fb7420eb9 + .quad 0x3fefffd1ac4135f9, 0x3f22408e9ba3327f + .quad 0x3fefffd3e6d5cd87, 0x3f216a501f0e42ca + .quad 0x3fefffd607387b07, 0x3f209d5f819c9e29 + .quad 0x3fefffd80e8ce0da, 0x3f1fb2b792b40a22 + .quad 0x3fefffd9fdeabcce, 0x3f1e3bcf436a1a95 + .quad 0x3fefffdbd65e5ad0, 0x3f1cd55277c18d05 + .quad 0x3fefffdd98e903b2, 0x3f1b7e94604479dc + .quad 0x3fefffdf46816833, 0x3f1a36eec00926dd + .quad 0x3fefffe0e0140857, 0x3f18fdc1b2dcf7b9 + .quad 0x3fefffe26683972a, 0x3f17d2737527c3f9 + .quad 0x3fefffe3daa95b18, 0x3f16b4702d7d5849 + .quad 0x3fefffe53d558ae9, 0x3f15a329b7d30748 + .quad 0x3fefffe68f4fa777, 0x3f149e17724f4d41 + .quad 0x3fefffe7d156d244, 0x3f13a4b60ba9aa4e + .quad 0x3fefffe904222101, 0x3f12b6875310f785 + .quad 0x3fefffea2860ee1e, 0x3f11d312098e9dba + .quad 0x3fefffeb3ebb267b, 0x3f10f9e1b4dd36df + .quad 0x3fefffec47d19457, 0x3f102a8673a94692 + .quad 0x3fefffed443e2787, 0x3f0ec929a665b449 + .quad 0x3fefffee34943b15, 0x3f0d4f4b4c8e09ed + .quad 0x3fefffef1960d85d, 0x3f0be6abbb10a5aa + .quad 0x3fefffeff32af7af, 0x3f0a8e8cc1fadef6 + .quad 0x3feffff0c273bea2, 0x3f094637d5bacfdb + .quad 0x3feffff187b6bc0e, 0x3f080cfdc72220cf + .quad 0x3feffff2436a21dc, 0x3f06e2367dc27f95 + .quad 0x3feffff2f5fefcaa, 0x3f05c540b4936fd2 + .quad 0x3feffff39fe16963, 0x3f04b581b8d170fc + .quad 0x3feffff44178c8d2, 0x3f03b2652b06c2b2 + .quad 0x3feffff4db27f146, 0x3f02bb5cc22e5db6 + .quad 0x3feffff56d4d5e5e, 0x3f01cfe010e2052d + .quad 0x3feffff5f8435efc, 0x3f00ef6c4c84a0fe + .quad 0x3feffff67c604180, 0x3f001984165a5f36 + .quad 0x3feffff6f9f67e55, 0x3efe9b5e8d00ce77 + .quad 0x3feffff77154e0d6, 0x3efd16f5716c6c1a + .quad 0x3feffff7e2c6aea2, 0x3efba4f035d60e03 + .quad 0x3feffff84e93cd75, 0x3efa447b7b03f045 + .quad 0x3feffff8b500e77c, 0x3ef8f4ccca7fc90d + .quad 0x3feffff9164f8e46, 0x3ef7b5223dac7336 + .quad 0x3feffff972be5c59, 0x3ef684c227fcacef + .quad 0x3feffff9ca891572, 0x3ef562fac4329b48 + .quad 0x3feffffa1de8c582, 0x3ef44f21e49054f2 + .quad 0x3feffffa6d13de73, 0x3ef34894a5e24657 + .quad 0x3feffffab83e54b8, 0x3ef24eb7254ccf83 + .quad 0x3feffffaff99bac4, 0x3ef160f438c70913 + .quad 0x3feffffb43555b5f, 0x3ef07ebd2a2d2844 + .quad 0x3feffffb839e52f3, 0x3eef4f12e9ab070a + .quad 0x3feffffbc09fa7cd, 0x3eedb5ad0b27805c + .quad 0x3feffffbfa82616b, 0x3eec304efa2c6f4e + .quad 0x3feffffc316d9ed0, 0x3eeabe09e9144b5e + .quad 0x3feffffc6586abf6, 0x3ee95df988e76644 + .quad 0x3feffffc96f1165e, 0x3ee80f439b4ee04b + .quad 0x3feffffcc5cec0c1, 0x3ee6d11788a69c64 + .quad 0x3feffffcf23ff5fc, 0x3ee5a2adfa0b4bc4 + .quad 0x3feffffd1c637b2b, 0x3ee4834877429b8f + .quad 0x3feffffd4456a10d, 0x3ee37231085c7d9a + .quad 0x3feffffd6a3554a1, 0x3ee26eb9daed6f7e + .quad 0x3feffffd8e1a2f22, 0x3ee1783ceac28910 + .quad 0x3feffffdb01e8546, 0x3ee08e1badf0fced + .quad 0x3feffffdd05a75ea, 0x3edf5f7d88472604 + .quad 0x3feffffdeee4f810, 0x3eddb92b5212fb8d + .quad 0x3feffffe0bd3e852, 0x3edc282cd3957eda + .quad 0x3feffffe273c15b7, 0x3edaab7abace48dc + .quad 0x3feffffe41314e06, 0x3ed94219bfcb4928 + .quad 0x3feffffe59c6698b, 0x3ed7eb1a2075864e + .quad 0x3feffffe710d565e, 0x3ed6a597219a93da + .quad 0x3feffffe8717232d, 0x3ed570b69502f313 + .quad 0x3feffffe9bf4098c, 0x3ed44ba864670882 + .quad 0x3feffffeafb377d5, 0x3ed335a62115bce2 + .quad 0x3feffffec2641a9e, 0x3ed22df298214423 + .quad 0x3feffffed413e5b7, 0x3ed133d96ae7e0dd + .quad 0x3feffffee4d01cd6, 0x3ed046aeabcfcdec + .quad 0x3feffffef4a55bd4, 0x3ececb9cfe1d8642 + .quad 0x3fefffff039f9e8f, 0x3ecd21397ead99cb + .quad 0x3fefffff11ca4876, 0x3ecb8d094c86d374 + .quad 0x3fefffff1f302bc1, 0x3eca0df0f0c626dc + .quad 0x3fefffff2bdb904d, 0x3ec8a2e269750a39 + .quad 0x3fefffff37d63a36, 0x3ec74adc8f4064d3 + .quad 0x3fefffff43297019, 0x3ec604ea819f007c + .quad 0x3fefffff4dde0118, 0x3ec4d0231928c6f9 + .quad 0x3fefffff57fc4a95, 0x3ec3aba85fe22e20 + .quad 0x3fefffff618c3da6, 0x3ec296a70f414053 + .quad 0x3fefffff6a956450, 0x3ec1905613b3abf2 + .quad 0x3fefffff731ee681, 0x3ec097f6156f32c5 + .quad 0x3fefffff7b2f8ed6, 0x3ebf59a20caf6695 + .quad 0x3fefffff82cdcf1b, 0x3ebd9c73698fb1dc + .quad 0x3fefffff89ffc4aa, 0x3ebbf716c6168bae + .quad 0x3fefffff90cb3c81, 0x3eba6852c6b58392 + .quad 0x3fefffff9735b73b, 0x3eb8eefd70594a89 + .quad 0x3fefffff9d446ccc, 0x3eb789fb715aae95 + .quad 0x3fefffffa2fc5015, 0x3eb6383f726a8e04 + .quad 0x3fefffffa8621251, 0x3eb4f8c96f26a26a + .quad 0x3fefffffad7a2652, 0x3eb3caa61607f920 + .quad 0x3fefffffb248c39d, 0x3eb2acee2f5ecdb8 + .quad 0x3fefffffb6d1e95d, 0x3eb19ec60b1242ed + .quad 0x3fefffffbb196132, 0x3eb09f5cf4dd2877 + .quad 0x3fefffffbf22c1e2, 0x3eaf5bd95d8730d8 + .quad 0x3fefffffc2f171e3, 0x3ead9371e2ff7c35 + .quad 0x3fefffffc688a9cf, 0x3eabe41de54d155a + .quad 0x3fefffffc9eb76ac, 0x3eaa4c89e08ef4f3 + .quad 0x3fefffffcd1cbc28, 0x3ea8cb738399b12c + .quad 0x3fefffffd01f36af, 0x3ea75fa8dbc84bec + .quad 0x3fefffffd2f57d68, 0x3ea608078a70dcbc + .quad 0x3fefffffd5a2041f, 0x3ea4c37c0394d094 + .quad 0x3fefffffd8271d12, 0x3ea39100d5687bfe + .quad 0x3fefffffda86faa9, 0x3ea26f9df8519bd7 + .quad 0x3fefffffdcc3b117, 0x3ea15e6827001f18 + .quad 0x3fefffffdedf37ed, 0x3ea05c803e4831c1 + .quad 0x3fefffffe0db6b91, 0x3e9ed22548cffd35 + .quad 0x3fefffffe2ba0ea5, 0x3e9d06ad6ecdf971 + .quad 0x3fefffffe47ccb60, 0x3e9b551c847fbc96 + .quad 0x3fefffffe62534d4, 0x3e99bc09f112b494 + .quad 0x3fefffffe7b4c81e, 0x3e983a1ff0aa239d + .quad 0x3fefffffe92ced93, 0x3e96ce1aa3fd7bdd + .quad 0x3fefffffea8ef9cf, 0x3e9576c72b514859 + .quad 0x3fefffffebdc2ec6, 0x3e943302cc4a0da8 + .quad 0x3fefffffed15bcba, 0x3e9301ba221dc9bb + .quad 0x3fefffffee3cc32c, 0x3e91e1e857adc568 + .quad 0x3fefffffef5251c2, 0x3e90d2966b1746f7 + .quad 0x3feffffff0576917, 0x3e8fa5b4f49cc6b2 + .quad 0x3feffffff14cfb92, 0x3e8dc3ae30b55c16 + .quad 0x3feffffff233ee1d, 0x3e8bfd7555a3bd68 + .quad 0x3feffffff30d18e8, 0x3e8a517d9e61628a + .quad 0x3feffffff3d9480f, 0x3e88be4f8f6c951f + .quad 0x3feffffff4993c46, 0x3e874287ded49339 + .quad 0x3feffffff54dab72, 0x3e85dcd669f2cd34 + .quad 0x3feffffff5f74141, 0x3e848bfd38302871 + .quad 0x3feffffff6969fb8, 0x3e834ecf8a3c124a + .quad 0x3feffffff72c5fb6, 0x3e822430f521cbcf + .quad 0x3feffffff7b91176, 0x3e810b1488aeb235 + .quad 0x3feffffff83d3d07, 0x3e80027c00a263a6 + .quad 0x3feffffff8b962be, 0x3e7e12ee004efc37 + .quad 0x3feffffff92dfba2, 0x3e7c3e44ae32b16b + .quad 0x3feffffff99b79d2, 0x3e7a854ea14102a8 + .quad 0x3feffffffa0248e8, 0x3e78e6761569f45d + .quad 0x3feffffffa62ce54, 0x3e77603bac345f65 + .quad 0x3feffffffabd69b4, 0x3e75f1353cdad001 + .quad 0x3feffffffb127525, 0x3e74980cb3c80949 + .quad 0x3feffffffb624592, 0x3e73537f00b6ad4d + .quad 0x3feffffffbad2aff, 0x3e72225b12bffc68 + .quad 0x3feffffffbf370cd, 0x3e710380e1adb7e9 + .quad 0x3feffffffc355dfd, 0x3e6febc107d5efaa + .quad 0x3feffffffc733572, 0x3e6df0f2a0ee6947 + .quad 0x3feffffffcad3626, 0x3e6c14b2188bcee4 + .quad 0x3feffffffce39b67, 0x3e6a553644f7f07d + .quad 0x3feffffffd169d0c, 0x3e68b0cfce0579e0 + .quad 0x3feffffffd466fa5, 0x3e6725e7c5dd20f7 + .quad 0x3feffffffd7344aa, 0x3e65b2fe547a1340 + .quad 0x3feffffffd9d4aab, 0x3e6456a974e92e93 + .quad 0x3feffffffdc4ad7a, 0x3e630f93c3699078 + .quad 0x3feffffffde9964e, 0x3e61dc7b5b978cf8 + .quad 0x3feffffffe0c2bf0, 0x3e60bc30c5d52f15 + .quad 0x3feffffffe2c92db, 0x3e5f5b2be65a0c7f + .quad 0x3feffffffe4aed5e, 0x3e5d5f3a8dea7357 + .quad 0x3feffffffe675bbd, 0x3e5b82915b03515b + .quad 0x3feffffffe81fc4e, 0x3e59c3517e789488 + .quad 0x3feffffffe9aeb97, 0x3e581fb7df06136e + .quad 0x3feffffffeb24467, 0x3e56961b8d641d06 + .quad 0x3feffffffec81ff2, 0x3e5524ec4d916cae + .quad 0x3feffffffedc95e7, 0x3e53cab1343d18d1 + .quad 0x3feffffffeefbc85, 0x3e52860757487a01 + .quad 0x3fefffffff01a8b6, 0x3e5155a09065d4f7 + .quad 0x3fefffffff126e1e, 0x3e50384250e4c9fc + .quad 0x3fefffffff221f30, 0x3e4e59890b926c78 + .quad 0x3fefffffff30cd3f, 0x3e4c642116a8a9e3 + .quad 0x3fefffffff3e8892, 0x3e4a8e405e651ab6 + .quad 0x3fefffffff4b606f, 0x3e48d5f98114f872 + .quad 0x3fefffffff57632d, 0x3e47397c5a66e307 + .quad 0x3fefffffff629e44, 0x3e45b71456c5a4c4 + .quad 0x3fefffffff6d1e56, 0x3e444d26de513197 + .quad 0x3fefffffff76ef3f, 0x3e42fa31d6371537 + .quad 0x3fefffffff801c1f, 0x3e41bcca373b7b43 + .quad 0x3fefffffff88af67, 0x3e40939ab853339f + .quad 0x3fefffffff90b2e3, 0x3e3efac5187b2863 + .quad 0x3fefffffff982fc1, 0x3e3cf1e86235d0e7 + .quad 0x3fefffffff9f2e9f, 0x3e3b0a68a2128bab + .quad 0x3fefffffffa5b790, 0x3e39423165bc4444 + .quad 0x3fefffffffabd229, 0x3e37974e743dea3d + .quad 0x3fefffffffb18582, 0x3e3607e9eacd1050 + .quad 0x3fefffffffb6d844, 0x3e34924a74dec729 + .quad 0x3fefffffffbbd0aa, 0x3e3334d19e0c2160 + .quad 0x3fefffffffc0748f, 0x3e31edfa3c5f5cca + .quad 0x3fefffffffc4c96c, 0x3e30bc56f1b54701 + .quad 0x3fefffffffc8d462, 0x3e2f3d2185e047d9 + .quad 0x3fefffffffcc9a41, 0x3e2d26cb87945e87 + .quad 0x3fefffffffd01f89, 0x3e2b334fac4b9f99 + .quad 0x3fefffffffd36871, 0x3e296076f7918d1c + .quad 0x3fefffffffd678ed, 0x3e27ac2d72fc2c63 + .quad 0x3fefffffffd954ae, 0x3e2614801550319e + .quad 0x3fefffffffdbff2a, 0x3e24979ac8b28927 + .quad 0x3fefffffffde7ba0, 0x3e2333c68e2d0548 + .quad 0x3fefffffffe0cd16, 0x3e21e767bce37dd7 + .quad 0x3fefffffffe2f664, 0x3e20b0fc5b6d05a0 + .quad 0x3fefffffffe4fa30, 0x3e1f1e3523b41d7d + .quad 0x3fefffffffe6daf7, 0x3e1d00de6608effe + .quad 0x3fefffffffe89b0c, 0x3e1b0778b7b3301b + .quad 0x3fefffffffea3c9a, 0x3e192fb04ec0f6cf + .quad 0x3fefffffffebc1a9, 0x3e177756ec9f78fa + .quad 0x3fefffffffed2c21, 0x3e15dc61922d5a06 + .quad 0x3fefffffffee7dc8, 0x3e145ce65699ff6d + .quad 0x3fefffffffefb847, 0x3e12f71a5f159970 + .quad 0x3feffffffff0dd2b, 0x3e11a94ff571654f + .quad 0x3feffffffff1ede9, 0x3e1071f4bbea09ec + .quad 0x3feffffffff2ebda, 0x3e0e9f1ff8ddd774 + .quad 0x3feffffffff3d843, 0x3e0c818223a202c7 + .quad 0x3feffffffff4b453, 0x3e0a887bd2b4404d + .quad 0x3feffffffff58126, 0x3e08b1a336c5eb6b + .quad 0x3feffffffff63fc3, 0x3e06fab63324088a + .quad 0x3feffffffff6f121, 0x3e056197e30205ba + .quad 0x3feffffffff79626, 0x3e03e44e45301b92 + .quad 0x3feffffffff82fab, 0x3e0281000bfe4c3f + .quad 0x3feffffffff8be77, 0x3e0135f28f2d50b4 + .quad 0x3feffffffff94346, 0x3e000187dded5975 + .quad 0x3feffffffff9bec8, 0x3dfdc479de0ef001 + .quad 0x3feffffffffa319f, 0x3dfbad4fdad3caa1 + .quad 0x3feffffffffa9c63, 0x3df9baed3ed27ab8 + .quad 0x3feffffffffaffa4, 0x3df7ead9ce4285bb + .quad 0x3feffffffffb5be5, 0x3df63ac6b4edc88e + .quad 0x3feffffffffbb1a2, 0x3df4a88be2a6390c + .quad 0x3feffffffffc014e, 0x3df332259185f1a0 + .quad 0x3feffffffffc4b56, 0x3df1d5b1f3793044 + .quad 0x3feffffffffc901c, 0x3df0916f04b6e18b + .quad 0x3feffffffffccfff, 0x3deec77101de6926 + .quad 0x3feffffffffd0b56, 0x3dec960bf23153e0 + .quad 0x3feffffffffd4271, 0x3dea8bd20fc65ef7 + .quad 0x3feffffffffd759d, 0x3de8a61745ec7d1d + .quad 0x3feffffffffda520, 0x3de6e25d0e756261 + .quad 0x3feffffffffdd13c, 0x3de53e4f7d1666cb + .quad 0x3feffffffffdfa2d, 0x3de3b7c27a7ddb0e + .quad 0x3feffffffffe202d, 0x3de24caf2c32af14 + .quad 0x3feffffffffe4371, 0x3de0fb3186804d0f + .quad 0x3feffffffffe642a, 0x3ddf830c0bb41fd7 + .quad 0x3feffffffffe8286, 0x3ddd3c0f1a91c846 + .quad 0x3feffffffffe9eb0, 0x3ddb1e5acf351d87 + .quad 0x3feffffffffeb8d0, 0x3dd92712d259ce66 + .quad 0x3feffffffffed10a, 0x3dd7538c60a04476 + .quad 0x3feffffffffee782, 0x3dd5a14b04b47879 + .quad 0x3feffffffffefc57, 0x3dd40dfd87456f4c + .quad 0x3fefffffffff0fa7, 0x3dd2977b1172b9d5 + .quad 0x3fefffffffff218f, 0x3dd13bc07e891491 + .quad 0x3fefffffffff3227, 0x3dcff1dbb4300811 + .quad 0x3fefffffffff4188, 0x3dcd9a880f306bd8 + .quad 0x3fefffffffff4fc9, 0x3dcb6e45220b55e0 + .quad 0x3fefffffffff5cfd, 0x3dc96a0b33f2c4da + .quad 0x3fefffffffff6939, 0x3dc78b07e9e924ac + .quad 0x3fefffffffff748e, 0x3dc5ce9ab1670dd2 + .quad 0x3fefffffffff7f0d, 0x3dc4325167006bb0 + .quad 0x3fefffffffff88c5, 0x3dc2b3e53538ff3f + .quad 0x3fefffffffff91c6, 0x3dc15137a7f44864 + .quad 0x3fefffffffff9a1b, 0x3dc0084ff125639d + .quad 0x3fefffffffffa1d2, 0x3dbdaeb0b7311ec7 + .quad 0x3fefffffffffa8f6, 0x3dbb7937d1c40c53 + .quad 0x3fefffffffffaf92, 0x3db96d082f59ab06 + .quad 0x3fefffffffffb5b0, 0x3db7872d9fa10aad + .quad 0x3fefffffffffbb58, 0x3db5c4e8e37bc7d0 + .quad 0x3fefffffffffc095, 0x3db423ac0df49a40 + .quad 0x3fefffffffffc56d, 0x3db2a117230ad284 + .quad 0x3fefffffffffc9e8, 0x3db13af4f04f9998 + .quad 0x3fefffffffffce0d, 0x3dafde703724e560 + .quad 0x3fefffffffffd1e1, 0x3dad77f0c82e7641 + .quad 0x3fefffffffffd56c, 0x3dab3ee02611d7dd + .quad 0x3fefffffffffd8b3, 0x3da92ff33023d5bd + .quad 0x3fefffffffffdbba, 0x3da7481a9e69f53f + .quad 0x3fefffffffffde86, 0x3da5847eda620959 + .quad 0x3fefffffffffe11d, 0x3da3e27c1fcc74bd + .quad 0x3fefffffffffe380, 0x3da25f9ee0b923dc + .quad 0x3fefffffffffe5b6, 0x3da0f9a068653200 + .quad 0x3fefffffffffe7c0, 0x3d9f5cc7718082b0 + .quad 0x3fefffffffffe9a2, 0x3d9cf7e53d6a2ca5 + .quad 0x3fefffffffffeb60, 0x3d9ac0f5f3229372 + .quad 0x3fefffffffffecfb, 0x3d98b498644847ea + .quad 0x3fefffffffffee77, 0x3d96cfa9bcca59dc + .quad 0x3fefffffffffefd6, 0x3d950f411d4fd2cd + .quad 0x3feffffffffff11a, 0x3d9370ab8327af5e + .quad 0x3feffffffffff245, 0x3d91f167f88c6b6e + .quad 0x3feffffffffff359, 0x3d908f24085d4597 + .quad 0x3feffffffffff457, 0x3d8e8f70e181d61a + .quad 0x3feffffffffff542, 0x3d8c324c20e337dc + .quad 0x3feffffffffff61b, 0x3d8a03261574b54e + .quad 0x3feffffffffff6e3, 0x3d87fe903cdf5855 + .quad 0x3feffffffffff79b, 0x3d86215c58da3450 + .quad 0x3feffffffffff845, 0x3d846897d4b69fc6 + .quad 0x3feffffffffff8e2, 0x3d82d1877d731b7b + .quad 0x3feffffffffff973, 0x3d8159a386b11517 + .quad 0x3feffffffffff9f8, 0x3d7ffd27ae9393ce + .quad 0x3feffffffffffa73, 0x3d7d7c593130dd0b + .quad 0x3feffffffffffae4, 0x3d7b2cd607c79bcf + .quad 0x3feffffffffffb4c, 0x3d790ae4d3405651 + .quad 0x3feffffffffffbad, 0x3d771312dd1759e2 + .quad 0x3feffffffffffc05, 0x3d75422ef5d8949d + .quad 0x3feffffffffffc57, 0x3d739544b0ecc957 + .quad 0x3feffffffffffca2, 0x3d720997f73e73dd + .quad 0x3feffffffffffce7, 0x3d709ca0eaacd277 + .quad 0x3feffffffffffd27, 0x3d6e9810295890ec + .quad 0x3feffffffffffd62, 0x3d6c2b45b5aa4a1d + .quad 0x3feffffffffffd98, 0x3d69eee068fa7596 + .quad 0x3feffffffffffdca, 0x3d67df2b399c10a8 + .quad 0x3feffffffffffdf8, 0x3d65f8b87a31bd85 + .quad 0x3feffffffffffe22, 0x3d64385c96e9a2d9 + .quad 0x3feffffffffffe49, 0x3d629b2933ef4cbc + .quad 0x3feffffffffffe6c, 0x3d611e68a6378f8a + .quad 0x3feffffffffffe8d, 0x3d5f7f338086a86b + .quad 0x3feffffffffffeab, 0x3d5cf8d7d9ce040a + .quad 0x3feffffffffffec7, 0x3d5aa577251ae485 + .quad 0x3feffffffffffee1, 0x3d58811d739efb5f + .quad 0x3feffffffffffef8, 0x3d568823e52970be + .quad 0x3fefffffffffff0e, 0x3d54b72ae68e8b4c + .quad 0x3fefffffffffff22, 0x3d530b14dbe876bc + .quad 0x3fefffffffffff34, 0x3d5181012ef86610 + .quad 0x3fefffffffffff45, 0x3d501647ba798745 + .quad 0x3fefffffffffff54, 0x3d4d90e917701675 + .quad 0x3fefffffffffff62, 0x3d4b2a87e86d0c8a + .quad 0x3fefffffffffff6f, 0x3d48f53dcb377293 + .quad 0x3fefffffffffff7b, 0x3d46ed2f2515e933 + .quad 0x3fefffffffffff86, 0x3d450ecc9ed47f19 + .quad 0x3fefffffffffff90, 0x3d4356cd5ce7799e + .quad 0x3fefffffffffff9a, 0x3d41c229a587ab78 + .quad 0x3fefffffffffffa2, 0x3d404e15ecc7f3f6 + .quad 0x3fefffffffffffaa, 0x3d3deffc7e6a6017 + .quad 0x3fefffffffffffb1, 0x3d3b7b040832f310 + .quad 0x3fefffffffffffb8, 0x3d3938e021f36d76 + .quad 0x3fefffffffffffbe, 0x3d37258610b3b233 + .quad 0x3fefffffffffffc3, 0x3d353d3bfc82a909 + .quad 0x3fefffffffffffc8, 0x3d337c92babdc2fd + .quad 0x3fefffffffffffcd, 0x3d31e06010120f6a + .quad 0x3fefffffffffffd1, 0x3d3065b9616170d4 + .quad 0x3fefffffffffffd5, 0x3d2e13dd96b3753b + .quad 0x3fefffffffffffd9, 0x3d2b950d32467392 + .quad 0x3fefffffffffffdc, 0x3d294a72263259a5 + .quad 0x3fefffffffffffdf, 0x3d272fd93e036cdc + .quad 0x3fefffffffffffe2, 0x3d254164576929ab + .quad 0x3fefffffffffffe4, 0x3d237b83c521fe96 + .quad 0x3fefffffffffffe7, 0x3d21daf033182e96 + .quad 0x3fefffffffffffe9, 0x3d205ca50205d26a + .quad 0x3fefffffffffffeb, 0x3d1dfbb6235639fa + .quad 0x3fefffffffffffed, 0x3d1b7807e294781f + .quad 0x3fefffffffffffee, 0x3d19298add70a734 + .quad 0x3feffffffffffff0, 0x3d170beaf9c7ffb6 + .quad 0x3feffffffffffff1, 0x3d151b2cd6709222 + .quad 0x3feffffffffffff3, 0x3d1353a6cf7f7fff + .quad 0x3feffffffffffff4, 0x3d11b1fa8cbe84a7 + .quad 0x3feffffffffffff5, 0x3d10330f0fd69921 + .quad 0x3feffffffffffff6, 0x3d0da81670f96f9b + .quad 0x3feffffffffffff7, 0x3d0b24a16b4d09aa + .quad 0x3feffffffffffff7, 0x3d08d6eeb6efdbd6 + .quad 0x3feffffffffffff8, 0x3d06ba91ac734786 + .quad 0x3feffffffffffff9, 0x3d04cb7966770ab5 + .quad 0x3feffffffffffff9, 0x3d0305e9721d0981 + .quad 0x3feffffffffffffa, 0x3d01667311fff70a + .quad 0x3feffffffffffffb, 0x3cffd3de10d62855 + .quad 0x3feffffffffffffb, 0x3cfd1aefbcd48d0c + .quad 0x3feffffffffffffb, 0x3cfa9cc93c25aca9 + .quad 0x3feffffffffffffc, 0x3cf85487ee3ea735 + .quad 0x3feffffffffffffc, 0x3cf63daf8b4b1e0c + .quad 0x3feffffffffffffd, 0x3cf45421e69a6ca1 + .quad 0x3feffffffffffffd, 0x3cf294175802d99a + .quad 0x3feffffffffffffd, 0x3cf0fa17bf41068f + .quad 0x3feffffffffffffd, 0x3cef05e82aae2bb9 + .quad 0x3feffffffffffffe, 0x3cec578101b29058 + .quad 0x3feffffffffffffe, 0x3ce9e39dc5dd2f7c + .quad 0x3feffffffffffffe, 0x3ce7a553a728bbf2 + .quad 0x3feffffffffffffe, 0x3ce5982008db1304 + .quad 0x3feffffffffffffe, 0x3ce3b7e00422e51b + .quad 0x3feffffffffffffe, 0x3ce200c898d9ee3e + .quad 0x3fefffffffffffff, 0x3ce06f5f7eb65a56 + .quad 0x3fefffffffffffff, 0x3cde00e9148a1d25 + .quad 0x3fefffffffffffff, 0x3cdb623734024e92 + .quad 0x3fefffffffffffff, 0x3cd8fd4e01891bf8 + .quad 0x3fefffffffffffff, 0x3cd6cd44c7470d89 + .quad 0x3fefffffffffffff, 0x3cd4cd9c04158cd7 + .quad 0x3fefffffffffffff, 0x3cd2fa34bf5c8344 + .quad 0x3fefffffffffffff, 0x3cd14f4890ff2461 + .quad 0x3fefffffffffffff, 0x3ccf92c49dfa4df5 + .quad 0x3fefffffffffffff, 0x3ccccaaea71ab0df + .quad 0x3fefffffffffffff, 0x3cca40829f001197 + .quad 0x3ff0000000000000, 0x3cc7eef13b59e96c + .quad 0x3ff0000000000000, 0x3cc5d11e1a252bf5 + .quad 0x3ff0000000000000, 0x3cc3e296303b2297 + .quad 0x3ff0000000000000, 0x3cc21f47009f43ce + .quad 0x3ff0000000000000, 0x3cc083768c5e4542 + .quad 0x3ff0000000000000, 0x3cbe1777d831265f + .quad 0x3ff0000000000000, 0x3cbb69f10b0191b5 + .quad 0x3ff0000000000000, 0x3cb8f8a3a05b5b53 + .quad 0x3ff0000000000000, 0x3cb6be573c40c8e7 + .quad 0x3ff0000000000000, 0x3cb4b645ba991fdb + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ + .align 64 + .quad 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000, 0x4017f80000000000 /* _MaxThreshold = 6.0 - 1.0/128.0 */ + .align 64 + .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ + .align 64 + .quad 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000, 0x2ff0000000000000 /* _U2THreshold */ + .align 64 + .quad 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5, 0xbfa6c16db05bdea5 /* _poly_1_0 */ + .align 64 + .quad 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1, 0x3fc1111235a363b1 /* _poly_1_1 */ + .align 64 + .quad 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57, 0x3fcc71ca1c71eb57 /* _poly_3_0 */ + .align 64 + .quad 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8, 0xbfd9999c2be2dda8 /* _poly_3_1 */ + .align 64 + .quad 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F, 0xbfc5555800001B4F /* _poly_5_0 */ + .align 64 + .quad 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122, 0x3fb9999E2BE2F122 /* _poly_5_1 */ + .align 64 + .quad 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6, 0xbfd55555555547f6 /* _poly_1_2 */ + .align 64 + .quad 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd, 0x3fdfffffffffd4cd /* _poly_3_2 */ + .align 64 + .quad 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c, 0x3fe5555555554b0c /* _poly_1_3 */ + .align 64 + .quad 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555, 0xbfd5555555555555 /* _poly_3_3 */ + .align 64 + .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ + .align 64 + .type __svml_derf_data_internal, @object + .size __svml_derf_data_internal, .-__svml_derf_data_internal From patchwork Mon Mar 7 15:00:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602262 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=kNMTT79W; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2H46N94z9sFk for ; Tue, 8 Mar 2022 02:21:20 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3CA23385842C for ; Mon, 7 Mar 2022 15:21:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3CA23385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666478; bh=QCFZn5UZEIfRyxP2tQF1CWlphCIffeyqAWuslRCtllM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=kNMTT79WSYjwORARXuEoIG9JPJy+VYb1P8FBIPvi718Vlnioqd7NdGjWFqlw4JJZS YdX9k0HDEU65BJANd+2EF8Cyi19rWz72TWoukvCIVFI+WUmkCsdEnP+F86Ljhj5y4p GM7ZIXaV8gKe1iq9AX1JibGE847j1eBueosGQSso= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 6EA993858004 for ; Mon, 7 Mar 2022 15:02:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6EA993858004 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113937" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113937" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274092" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eZ016772; Mon, 7 Mar 2022 07:02:06 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 061/126] x86_64: Fix svml_s_erfcf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:00:56 -0800 Message-Id: <20220307150201.10590-62-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_erfcf16_core_avx512.S | 1744 ++++++++--------- 1 file changed, 871 insertions(+), 873 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S index 96c3b383d1..9daaa0c06d 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf16_core_avx512.S @@ -29,904 +29,902 @@ /* Offsets for data table __svml_serfc_data_internal */ -#define _erfc_tbl 0 -#define _AbsMask 5184 -#define _MaxThreshold 5248 -#define _SgnMask 5312 -#define _One 5376 -#define _SRound 5440 -#define _TwoM48 5504 -#define _poly1_0 5568 -#define _poly1_1 5632 -#define _poly3_0 5696 -#define _poly3_1 5760 -#define _poly1_2 5824 -#define _poly1_3 5888 -#define _UF_Threshold 5952 +#define _erfc_tbl 0 +#define _AbsMask 5184 +#define _MaxThreshold 5248 +#define _SgnMask 5312 +#define _One 5376 +#define _SRound 5440 +#define _TwoM48 5504 +#define _poly1_0 5568 +#define _poly1_1 5632 +#define _poly3_0 5696 +#define _poly3_1 5760 +#define _poly1_2 5824 +#define _poly1_3 5888 +#define _UF_Threshold 5952 /* Lookup bias for data table __svml_serfc_data_internal. */ -#define Table_Lookup_Bias -0x3ffffffc +#define Table_Lookup_Bias -0x3ffffffc #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_erfcf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - -/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ - lea Table_Lookup_Bias+__svml_serfc_data_internal(%rip), %rax - -/* - * erfc(10.125) underflows to 0 - * can compute all results in the main path - */ - vmovups _MaxThreshold+__svml_serfc_data_internal(%rip), %zmm7 - vmovups _TwoM48+__svml_serfc_data_internal(%rip), %zmm15 - vmovups _SRound+__svml_serfc_data_internal(%rip), %zmm11 - vmovups _One+__svml_serfc_data_internal(%rip), %zmm8 - kxnorw %k0, %k0, %k2 - kxnorw %k0, %k0, %k1 - vmovaps %zmm0, %zmm5 - vandps _AbsMask+__svml_serfc_data_internal(%rip), %zmm5, %zmm6 - vandps _SgnMask+__svml_serfc_data_internal(%rip), %zmm5, %zmm1 - vminps {sae}, %zmm7, %zmm6, %zmm10 - vmovups _poly3_0+__svml_serfc_data_internal(%rip), %zmm6 - vorps %zmm1, %zmm8, %zmm9 - vaddps {rn-sae}, %zmm11, %zmm10, %zmm14 - -/* 2^(-64) with sign of input */ - vorps %zmm1, %zmm15, %zmm2 - -/* 2.0 if x<0, 0.0 otherwise */ - vsubps {rn-sae}, %zmm9, %zmm8, %zmm4 - vsubps {rn-sae}, %zmm11, %zmm14, %zmm13 - vmaxps {sae}, %zmm15, %zmm10, %zmm12 - vmovups _poly3_1+__svml_serfc_data_internal(%rip), %zmm10 - -/* Start polynomial evaluation */ - vmovups _poly1_0+__svml_serfc_data_internal(%rip), %zmm15 - vmovups _poly1_1+__svml_serfc_data_internal(%rip), %zmm1 - vmovups _poly1_2+__svml_serfc_data_internal(%rip), %zmm8 - vmovups _poly1_3+__svml_serfc_data_internal(%rip), %zmm9 - vpslld $3, %zmm14, %zmm7 - vsubps {rn-sae}, %zmm13, %zmm12, %zmm0 - vmulps {rn-sae}, %zmm0, %zmm13, %zmm3 - -/* Diff^2 */ - vmulps {rn-sae}, %zmm0, %zmm0, %zmm11 - vfmadd231ps {rn-sae}, %zmm3, %zmm6, %zmm10 - vfmadd231ps {rn-sae}, %zmm3, %zmm15, %zmm1 - -/* P3*D2 */ - vmulps {rn-sae}, %zmm11, %zmm10, %zmm12 - vfmadd213ps {rn-sae}, %zmm8, %zmm3, %zmm1 - vfmadd213ps {rn-sae}, %zmm9, %zmm3, %zmm1 - -/* P1 = P1*T + P3*D2 */ - vfmadd213ps {rn-sae}, %zmm12, %zmm3, %zmm1 - -/* Special arguments (for flags only) */ - vmovups _UF_Threshold+__svml_serfc_data_internal(%rip), %zmm3 - vcmpps $21, {sae}, %zmm3, %zmm5, %k0 - kmovw %k0, %edx - vpxord %zmm13, %zmm13, %zmm13 - vgatherdps (%rax,%zmm7), %zmm13{%k2} - -/* EXP_X0H * (1+P1) */ - vfmadd213ps {rn-sae}, %zmm13, %zmm13, %zmm1 - vpxord %zmm14, %zmm14, %zmm14 - vgatherdps -4(%rax,%zmm7), %zmm14{%k1} - -/* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ - vfnmadd213ps {rn-sae}, %zmm14, %zmm1, %zmm0 - vfmadd213ps {rn-sae}, %zmm4, %zmm2, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm5 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + + /* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea Table_Lookup_Bias+__svml_serfc_data_internal(%rip), %rax + + /* + * erfc(10.125) underflows to 0 + * can compute all results in the main path + */ + vmovups _MaxThreshold+__svml_serfc_data_internal(%rip), %zmm7 + vmovups _TwoM48+__svml_serfc_data_internal(%rip), %zmm15 + vmovups _SRound+__svml_serfc_data_internal(%rip), %zmm11 + vmovups _One+__svml_serfc_data_internal(%rip), %zmm8 + kxnorw %k0, %k0, %k2 + kxnorw %k0, %k0, %k1 + vmovaps %zmm0, %zmm5 + vandps _AbsMask+__svml_serfc_data_internal(%rip), %zmm5, %zmm6 + vandps _SgnMask+__svml_serfc_data_internal(%rip), %zmm5, %zmm1 + vminps {sae}, %zmm7, %zmm6, %zmm10 + vmovups _poly3_0+__svml_serfc_data_internal(%rip), %zmm6 + vorps %zmm1, %zmm8, %zmm9 + vaddps {rn-sae}, %zmm11, %zmm10, %zmm14 + + /* 2^(-64) with sign of input */ + vorps %zmm1, %zmm15, %zmm2 + + /* 2.0 if x<0, 0.0 otherwise */ + vsubps {rn-sae}, %zmm9, %zmm8, %zmm4 + vsubps {rn-sae}, %zmm11, %zmm14, %zmm13 + vmaxps {sae}, %zmm15, %zmm10, %zmm12 + vmovups _poly3_1+__svml_serfc_data_internal(%rip), %zmm10 + + /* Start polynomial evaluation */ + vmovups _poly1_0+__svml_serfc_data_internal(%rip), %zmm15 + vmovups _poly1_1+__svml_serfc_data_internal(%rip), %zmm1 + vmovups _poly1_2+__svml_serfc_data_internal(%rip), %zmm8 + vmovups _poly1_3+__svml_serfc_data_internal(%rip), %zmm9 + vpslld $3, %zmm14, %zmm7 + vsubps {rn-sae}, %zmm13, %zmm12, %zmm0 + vmulps {rn-sae}, %zmm0, %zmm13, %zmm3 + + /* Diff^2 */ + vmulps {rn-sae}, %zmm0, %zmm0, %zmm11 + vfmadd231ps {rn-sae}, %zmm3, %zmm6, %zmm10 + vfmadd231ps {rn-sae}, %zmm3, %zmm15, %zmm1 + + /* P3*D2 */ + vmulps {rn-sae}, %zmm11, %zmm10, %zmm12 + vfmadd213ps {rn-sae}, %zmm8, %zmm3, %zmm1 + vfmadd213ps {rn-sae}, %zmm9, %zmm3, %zmm1 + + /* P1 = P1*T + P3*D2 */ + vfmadd213ps {rn-sae}, %zmm12, %zmm3, %zmm1 + + /* Special arguments (for flags only) */ + vmovups _UF_Threshold+__svml_serfc_data_internal(%rip), %zmm3 + vcmpps $21, {sae}, %zmm3, %zmm5, %k0 + kmovw %k0, %edx + vpxord %zmm13, %zmm13, %zmm13 + vgatherdps (%rax, %zmm7), %zmm13{%k2} + + /* EXP_X0H * (1+P1) */ + vfmadd213ps {rn-sae}, %zmm13, %zmm13, %zmm1 + vpxord %zmm14, %zmm14, %zmm14 + vgatherdps -4(%rax, %zmm7), %zmm14{%k1} + + /* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ + vfnmadd213ps {rn-sae}, %zmm14, %zmm1, %zmm0 + vfmadd213ps {rn-sae}, %zmm4, %zmm2, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm5 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm5, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm5, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call erfcf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call erfcf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_erfcf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_serfc_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _erfc_tbl[645*2][1]; - __declspec(align(64)) VUINT32 _AbsMask[16][1]; - __declspec(align(64)) VUINT32 _MaxThreshold[16][1]; - __declspec(align(64)) VUINT32 _SgnMask[16][1]; - __declspec(align(64)) VUINT32 _One[16][1]; - __declspec(align(64)) VUINT32 _SRound[16][1]; - __declspec(align(64)) VUINT32 _TwoM48[16][1]; - __declspec(align(64)) VUINT32 _poly1_0[16][1]; - __declspec(align(64)) VUINT32 _poly1_1[16][1]; - __declspec(align(64)) VUINT32 _poly3_0[16][1]; - __declspec(align(64)) VUINT32 _poly3_1[16][1]; - __declspec(align(64)) VUINT32 _poly1_2[16][1]; - __declspec(align(64)) VUINT32 _poly1_3[16][1]; - __declspec(align(64)) VUINT32 _UF_Threshold[16][1]; +typedef struct { + __declspec(align(64)) VUINT32 _erfc_tbl[645*2][1]; + __declspec(align(64)) VUINT32 _AbsMask[16][1]; + __declspec(align(64)) VUINT32 _MaxThreshold[16][1]; + __declspec(align(64)) VUINT32 _SgnMask[16][1]; + __declspec(align(64)) VUINT32 _One[16][1]; + __declspec(align(64)) VUINT32 _SRound[16][1]; + __declspec(align(64)) VUINT32 _TwoM48[16][1]; + __declspec(align(64)) VUINT32 _poly1_0[16][1]; + __declspec(align(64)) VUINT32 _poly1_1[16][1]; + __declspec(align(64)) VUINT32 _poly3_0[16][1]; + __declspec(align(64)) VUINT32 _poly3_1[16][1]; + __declspec(align(64)) VUINT32 _poly1_2[16][1]; + __declspec(align(64)) VUINT32 _poly1_3[16][1]; + __declspec(align(64)) VUINT32 _UF_Threshold[16][1]; } __svml_serfc_data_internal; #endif __svml_serfc_data_internal: - /*== _erfc_tbl ==*/ - .long 0x57800000, 0x57906ebb - .long 0x577b7ca2, 0x579065b4 - .long 0x5776f9d5, 0x57904aa3 - .long 0x57727828, 0x57901d93 - .long 0x576df82b, 0x578fde94 - .long 0x57697a6e, 0x578f8dbd - .long 0x5764ff7f, 0x578f2b2e - .long 0x576087ea, 0x578eb70a - .long 0x575c143d, 0x578e317d - .long 0x5757a500, 0x578d9ab9 - .long 0x57533abf, 0x578cf2f5 - .long 0x574ed5fe, 0x578c3a6f - .long 0x574a7744, 0x578b716c - .long 0x57461f12, 0x578a9834 - .long 0x5741cdeb, 0x5789af18 - .long 0x573d844a, 0x5788b66c - .long 0x573942ac, 0x5787ae8b - .long 0x57350989, 0x578697d3 - .long 0x5730d956, 0x578572a8 - .long 0x572cb284, 0x57843f72 - .long 0x57289583, 0x5782fe9f - .long 0x572482bd, 0x5781b0a0 - .long 0x57207a9b, 0x578055e8 - .long 0x571c7d80, 0x577ddddf - .long 0x57188bcb, 0x577af867 - .long 0x5714a5da, 0x5777fc62 - .long 0x5710cc05, 0x5774ead4 - .long 0x570cfe9f, 0x5771c4c4 - .long 0x57093df9, 0x576e8b3e - .long 0x57058a5e, 0x576b3f51 - .long 0x5701e415, 0x5767e20f - .long 0x56fc96c6, 0x5764748e - .long 0x56f5810a, 0x5760f7e5 - .long 0x56ee876d, 0x575d6d2d - .long 0x56e7aa5a, 0x5759d57e - .long 0x56e0ea35, 0x575631f4 - .long 0x56da4757, 0x575283a7 - .long 0x56d3c214, 0x574ecbb1 - .long 0x56cd5ab3, 0x574b0b28 - .long 0x56c71175, 0x57474323 - .long 0x56c0e692, 0x574374b5 - .long 0x56bada38, 0x573fa0ee - .long 0x56b4ec8f, 0x573bc8dc - .long 0x56af1db3, 0x5737ed89 - .long 0x56a96dbc, 0x57340ff9 - .long 0x56a3dcb7, 0x5730312e - .long 0x569e6aaa, 0x572c5223 - .long 0x56991793, 0x572873cf - .long 0x5693e369, 0x57249721 - .long 0x568ece1a, 0x5720bd06 - .long 0x5689d78f, 0x571ce661 - .long 0x5684ffa8, 0x5719140f - .long 0x56804640, 0x571546e7 - .long 0x56775654, 0x57117fb9 - .long 0x566e5c65, 0x570dbf4c - .long 0x56659e43, 0x570a0662 - .long 0x565d1b6d, 0x570655b1 - .long 0x5654d35d, 0x5702adeb - .long 0x564cc57d, 0x56fe1f73 - .long 0x5644f12f, 0x56f6f777 - .long 0x563d55cc, 0x56efe513 - .long 0x5635f2a1, 0x56e8e968 - .long 0x562ec6f6, 0x56e20584 - .long 0x5627d207, 0x56db3a64 - .long 0x5621130b, 0x56d488f8 - .long 0x561a8931, 0x56cdf21c - .long 0x561433a0, 0x56c7769b - .long 0x560e117c, 0x56c11733 - .long 0x560821e1, 0x56bad48d - .long 0x560263e5, 0x56b4af46 - .long 0x55f9ad39, 0x56aea7ea - .long 0x55eef22b, 0x56a8bef3 - .long 0x55e494b6, 0x56a2f4ce - .long 0x55da92eb, 0x569d49d9 - .long 0x55d0ead3, 0x5697be62 - .long 0x55c79a75, 0x569252aa - .long 0x55be9fd3, 0x568d06e3 - .long 0x55b5f8ee, 0x5687db31 - .long 0x55ada3c2, 0x5682cfad - .long 0x55a59e4c, 0x567bc8c2 - .long 0x559de68a, 0x56723298 - .long 0x55967a77, 0x5668dcc1 - .long 0x558f5812, 0x565fc70e - .long 0x55887d5c, 0x5656f136 - .long 0x5581e856, 0x564e5adf - .long 0x55772e0c, 0x56460399 - .long 0x556b0eeb, 0x563deae4 - .long 0x555f6f64, 0x5636102b - .long 0x55544b9e, 0x562e72cb - .long 0x55499fc8, 0x5627120f - .long 0x553f681d, 0x561fed36 - .long 0x5535a0e6, 0x5619036e - .long 0x552c4679, 0x561253dc - .long 0x55235539, 0x560bdd96 - .long 0x551ac999, 0x56059fa9 - .long 0x5512a01c, 0x55ff3230 - .long 0x550ad554, 0x55f391b9 - .long 0x550365e5, 0x55e85bd0 - .long 0x54f89d02, 0x55dd8e4c - .long 0x54eb17df, 0x55d326f3 - .long 0x54de360f, 0x55c92385 - .long 0x54d1f166, 0x55bf81b6 - .long 0x54c643dc, 0x55b63f32 - .long 0x54bb2790, 0x55ad59a1 - .long 0x54b096c5, 0x55a4cea4 - .long 0x54a68be5, 0x559c9bd9 - .long 0x549d0180, 0x5594bedd - .long 0x5493f24c, 0x558d354b - .long 0x548b5926, 0x5585fcbf - .long 0x54833111, 0x557e25af - .long 0x5476ea69, 0x5570ea68 - .long 0x546841c1, 0x556442f0 - .long 0x545a5f10, 0x55582a98 - .long 0x544d398b, 0x554c9cbd - .long 0x5440c8ae, 0x554194c7 - .long 0x54350440, 0x55370e2c - .long 0x5429e44f, 0x552d0474 - .long 0x541f612f, 0x55237336 - .long 0x5415737d, 0x551a561b - .long 0x540c1417, 0x5511a8e1 - .long 0x54033c22, 0x5509675a - .long 0x53f5ca07, 0x55018d6b - .long 0x53e610c3, 0x54f42e22 - .long 0x53d74046, 0x54e600c0 - .long 0x53c94cd8, 0x54d88b05 - .long 0x53bc2b3a, 0x54cbc574 - .long 0x53afd0a5, 0x54bfa8c4 - .long 0x53a432c3, 0x54b42ddb - .long 0x539947af, 0x54a94dcf - .long 0x538f05f3, 0x549f01ec - .long 0x5385647e, 0x549543ae - .long 0x5378b557, 0x548c0cc2 - .long 0x5367c06a, 0x5483570a - .long 0x5357da71, 0x54763931 - .long 0x5348f45f, 0x5466af65 - .long 0x533affda, 0x5458059c - .long 0x532def39, 0x544a3127 - .long 0x5321b57a, 0x543d27b5 - .long 0x5316463d, 0x5430df57 - .long 0x530b95bd, 0x54254e7b - .long 0x530198cc, 0x541a6bee - .long 0x52f08999, 0x54102ed6 - .long 0x52df1f58, 0x54068eb5 - .long 0x52cedfb9, 0x53fb06c5 - .long 0x52bfb8a0, 0x53ea0a1d - .long 0x52b198e5, 0x53da1876 - .long 0x52a4704e, 0x53cb237a - .long 0x52982f7c, 0x53bd1d6f - .long 0x528cc7eb, 0x53aff93b - .long 0x52822be3, 0x53a3aa56 - .long 0x52709cde, 0x539824ce - .long 0x525e46a9, 0x538d5d3c - .long 0x524d3e18, 0x538348c6 - .long 0x523d6d6f, 0x5373ba24 - .long 0x522ec035, 0x53622096 - .long 0x52212321, 0x5351b22a - .long 0x52148413, 0x53425d18 - .long 0x5208d1fc, 0x53341080 - .long 0x51fbf9ac, 0x5326bc5e - .long 0x51e7eb29, 0x531a5183 - .long 0x51d55c2d, 0x530ec18c - .long 0x51c43238, 0x5303feda - .long 0x51b45472, 0x52f3f919 - .long 0x51a5ab93, 0x52e15ce8 - .long 0x519821ce, 0x52d0121b - .long 0x518ba2bc, 0x52c002f8 - .long 0x51801b49, 0x52b11afe - .long 0x516af33c, 0x52a346d7 - .long 0x51575a21, 0x5296744c - .long 0x51454c24, 0x528a9237 - .long 0x5134ac3b, 0x527f20e7 - .long 0x51255f51, 0x526abfa9 - .long 0x51174c27, 0x5257e42f - .long 0x510a5b3b, 0x524673af - .long 0x50fced50, 0x52365507 - .long 0x50e7141d, 0x522770a1 - .long 0x50d304fc, 0x5219b066 - .long 0x50c09cb5, 0x520cffa3 - .long 0x50afba92, 0x52014af8 - .long 0x50a04037, 0x51ed0088 - .long 0x50921177, 0x51d91d2d - .long 0x50851430, 0x51c6cc35 - .long 0x50726058, 0x51b5f011 - .long 0x505c9dfa, 0x51a66d2a - .long 0x5048b7be, 0x519829c8 - .long 0x50368738, 0x518b0df2 - .long 0x5025e8e0, 0x517e06ab - .long 0x5016bbdf, 0x5167ea53 - .long 0x5008e1df, 0x5153a034 - .long 0x4ff87dc3, 0x5141045e - .long 0x4fe1721f, 0x512ff56d - .long 0x4fcc712a, 0x51205461 - .long 0x4fb94efb, 0x51120475 - .long 0x4fa7e31e, 0x5104eafc - .long 0x4f980855, 0x50f1de7a - .long 0x4f899c5c, 0x50dbf4a3 - .long 0x4f78ff60, 0x50c7ee0e - .long 0x4f612ab5, 0x50b5a381 - .long 0x4f4b8583, 0x50a4f0bc - .long 0x4f37deef, 0x5095b43b - .long 0x4f260a27, 0x5087cf0e - .long 0x4f15de0f, 0x5076494d - .long 0x4f0734f9, 0x505f355e - .long 0x4ef3d8c4, 0x504a31bf - .long 0x4edbc95e, 0x503711b4 - .long 0x4ec601e9, 0x5025ac0e - .long 0x4eb24d81, 0x5015dae6 - .long 0x4ea07bca, 0x50077b62 - .long 0x4e906098, 0x4ff4daf4 - .long 0x4e81d395, 0x4fdd2782 - .long 0x4e695fe3, 0x4fc7a666 - .long 0x4e51a834, 0x4fb42611 - .long 0x4e3c42e7, 0x4fa2790f - .long 0x4e28f835, 0x4f9275b9 - .long 0x4e179555, 0x4f83f5e9 - .long 0x4e07ec0b, 0x4f6dad68 - .long 0x4df3a498, 0x4f55f04f - .long 0x4dda43ba, 0x4f407a1d - .long 0x4dc37003, 0x4f2d1570 - .long 0x4daeea58, 0x4f1b9188 - .long 0x4d9c7974, 0x4f0bc1e7 - .long 0x4d8be963, 0x4efafbec - .long 0x4d7a160c, 0x4ee14167 - .long 0x4d5f6759, 0x4eca10ce - .long 0x4d477955, 0x4eb52cb9 - .long 0x4d3205fb, 0x4ea25d43 - .long 0x4d1ecdf3, 0x4e916f95 - .long 0x4d0d97f2, 0x4e823575 - .long 0x4cfc6061, 0x4e6909cc - .long 0x4ce0cfd4, 0x4e506f88 - .long 0x4cc829c6, 0x4e3a56e4 - .long 0x4cb221ff, 0x4e268119 - .long 0x4c9e73c2, 0x4e14b538 - .long 0x4c8ce119, 0x4e04bfb1 - .long 0x4c7a6462, 0x4dece39b - .long 0x4c5e6987, 0x4dd34296 - .long 0x4c457726, 0x4dbc4fdc - .long 0x4c2f3bdb, 0x4da7c64b - .long 0x4c1b6e79, 0x4d956771 - .long 0x4c09cd3e, 0x4d84fae8 - .long 0x4bf43a38, 0x4d6c9b8f - .long 0x4bd85225, 0x4d52644f - .long 0x4bbf8325, 0x4d3afd47 - .long 0x4ba977f0, 0x4d261be0 - .long 0x4b95e415, 0x4d137cf0 - .long 0x4b848320, 0x4d02e402 - .long 0x4b6a2f8b, 0x4ce8356b - .long 0x4b4ed659, 0x4ccde050 - .long 0x4b369893, 0x4cb670d5 - .long 0x4b211e8a, 0x4ca19816 - .long 0x4b0e19e7, 0x4c8f0f43 - .long 0x4afa896f, 0x4c7d2da8 - .long 0x4adcc11e, 0x4c5febab - .long 0x4ac26b7f, 0x4c45f27c - .long 0x4aab2549, 0x4c2ee6b3 - .long 0x4a969605, 0x4c1a767c - .long 0x4a846ee9, 0x4c0858a4 - .long 0x4a68d3a8, 0x4bf09770 - .long 0x4a4c90c6, 0x4bd42a75 - .long 0x4a33a635, 0x4bbb01dd - .long 0x4a1db15b, 0x4ba4c066 - .long 0x4a0a5aa0, 0x4b9112d9 - .long 0x49f2a881, 0x4b7f5e08 - .long 0x49d4b277, 0x4b60a591 - .long 0x49ba58bd, 0x4b45867e - .long 0x49a32ed5, 0x4b2d97f3 - .long 0x498ed4a2, 0x4b187c9e - .long 0x4979ea08, 0x4b05e186 - .long 0x495a8951, 0x4aeaf9d4 - .long 0x493f01d9, 0x4ace1a8c - .long 0x4926ddcc, 0x4ab4b0dc - .long 0x4911b50d, 0x4a9e558a - .long 0x48fe574a, 0x4a8aad05 - .long 0x48dde0d0, 0x4a72cc48 - .long 0x48c1776e, 0x4a547203 - .long 0x48a89cd3, 0x4a39cbe3 - .long 0x4892e1aa, 0x4a226937 - .long 0x487fc7c2, 0x4a0de652 - .long 0x485e9a3a, 0x49f7d629 - .long 0x4841a2c3, 0x49d85345 - .long 0x48285bae, 0x49bcba74 - .long 0x48124f79, 0x49a49254 - .long 0x47fe2dc4, 0x498f6fd2 - .long 0x47dcae77, 0x4979e90c - .long 0x47bf81dd, 0x49599a7d - .long 0x47a61c4e, 0x493d616c - .long 0x47900357, 0x4924bcd6 - .long 0x47799750, 0x490f3b3e - .long 0x47582e7f, 0x48f8f1a9 - .long 0x473b27a3, 0x48d83bc6 - .long 0x4721f2b6, 0x48bbbab7 - .long 0x470c11c0, 0x48a2e733 - .long 0x46f22d4c, 0x488d4a80 - .long 0x46d14266, 0x4874f900 - .long 0x46b4bacb, 0x485443df - .long 0x469c03d6, 0x4837d5b2 - .long 0x46869d9b, 0x481f2272 - .long 0x46683120, 0x4809af94 - .long 0x46482706, 0x47ee23cf - .long 0x462c7395, 0x47cdd76a - .long 0x46148366, 0x47b1d636 - .long 0x45ffac6d, 0x4799912d - .long 0x45dbf8fa, 0x47848b78 - .long 0x45bd2a88, 0x4764b060 - .long 0x45a298a1, 0x474530ba - .long 0x458bb0fc, 0x4729f27c - .long 0x456fe94b, 0x47126579 - .long 0x454deaf8, 0x46fc1860 - .long 0x4530a808, 0x46d8f2d6 - .long 0x45177b00, 0x46ba9c63 - .long 0x4501d48c, 0x46a06fec - .long 0x44de7135, 0x4689de04 - .long 0x44be77a1, 0x466cd440 - .long 0x44a302b0, 0x464b505a - .long 0x448b71e5, 0x462e74d6 - .long 0x446e7534, 0x46159f2a - .long 0x444bca2d, 0x46004280 - .long 0x442e1414, 0x45dbc9bf - .long 0x4414a0a8, 0x45bc396d - .long 0x43fdac7d, 0x45a11d60 - .long 0x43d860d4, 0x4589d7a8 - .long 0x43b87a3a, 0x456bbf86 - .long 0x439d3454, 0x45497f9a - .long 0x4385e630, 0x452c23f7 - .long 0x4363fd06, 0x4512fcf7 - .long 0x434200db, 0x44fae63c - .long 0x4325014d, 0x44d607b0 - .long 0x430c4623, 0x44b67d4e - .long 0x42ee627d, 0x449b855c - .long 0x42ca7603, 0x44847920 - .long 0x42abde4b, 0x44619261 - .long 0x4291d40d, 0x443ff482 - .long 0x4277593c, 0x442344bf - .long 0x4251abca, 0x440acd1c - .long 0x4231a5c0, 0x43ebe2ca - .long 0x42167152, 0x43c85727 - .long 0x41feaf84, 0x43aa1178 - .long 0x41d779e7, 0x43904cc0 - .long 0x41b63731, 0x4374c081 - .long 0x419a03db, 0x434f7703 - .long 0x41821dd0, 0x432fc5c4 - .long 0x415bbf2e, 0x4314d94a - .long 0x41397862, 0x42fbf99c - .long 0x411c770c, 0x42d52bb9 - .long 0x4103eeb4, 0x42b4411f - .long 0x40de62c7, 0x429858a7 - .long 0x40bb5652, 0x4280b23e - .long 0x409dbc89, 0x4259543f - .long 0x4084bfc1, 0x42376979 - .long 0x405f551f, 0x421ab66b - .long 0x403bc5f1, 0x420270af - .long 0x401dccc2, 0x41dbd820 - .long 0x40048c16, 0x41b92c31 - .long 0x3fde907e, 0x419be496 - .long 0x3fbac490, 0x41832dcb - .long 0x3f9ca73d, 0x415ca86a - .long 0x3f8354cb, 0x41397eca - .long 0x3f5c1947, 0x411bdc1e - .long 0x3f3857fa, 0x4102e528 - .long 0x3f1a529e, 0x40dbc03f - .long 0x3f0120ef, 0x40b85f58 - .long 0x3ed7fdc8, 0x409a9d36 - .long 0x3eb48e3e, 0x40819878 - .long 0x3e96dc65, 0x4059250b - .long 0x3e7bfa7c, 0x4035d48d - .long 0x3e5255b2, 0x40182f4c - .long 0x3e2f7d27, 0x3ffe9ef1 - .long 0x3e12586c, 0x3fd4e64a - .long 0x3df3f750, 0x3fb1ed7c - .long 0x3dcb4137, 0x3f94a0bb - .long 0x3da94169, 0x3f782f41 - .long 0x3d8ce028, 0x3f4f1cee - .long 0x3d6a654e, 0x3f2cc100 - .long 0x3d42e7d6, 0x3f100645 - .long 0x3d21fd99, 0x3ef00749 - .long 0x3d0691c1, 0x3ec7ea70 - .long 0x3cdf78d9, 0x3ea66ce0 - .long 0x3cb976f2, 0x3e8a7a45 - .long 0x3c99d8e5, 0x3e665575 - .long 0x3c7f1de8, 0x3e3f778a - .long 0x3c536be9, 0x3e1f14b2 - .long 0x3c2f2031, 0x3e041bb4 - .long 0x3c10fdbd, 0x3ddb4f88 - .long 0x3beff7df, 0x3db5f2ba - .long 0x3bc67c0b, 0x3d96e08d - .long 0x3ba417d4, 0x3d7a1a1e - .long 0x3b879862, 0x3d4f30a7 - .long 0x3b5ffc37, 0x3d2b8e9a - .long 0x3b38e85b, 0x3d0dfba1 - .long 0x3b1892fb, 0x3ceae636 - .long 0x3afbaaf5, 0x3cc2374f - .long 0x3acf75d5, 0x3ca08024 - .long 0x3aaaef8c, 0x3c8492c0 - .long 0x3a8cc60c, 0x3c5ae75b - .long 0x3a67c170, 0x3c34a340 - .long 0x3a3ead7b, 0x3c14fcf4 - .long 0x3a1cce14, 0x3bf5a5cf - .long 0x3a00e32d, 0x3bca68ef - .long 0x39d3c741, 0x3ba6b383 - .long 0x39ade7c9, 0x3b8939a3 - .long 0x398ebc8e, 0x3b61cfd0 - .long 0x396a31ee, 0x3b39b3ce - .long 0x394008fe, 0x3b18a48b - .long 0x391d638e, 0x3afad08d - .long 0x3900ee61, 0x3acdf654 - .long 0x38d322ce, 0x3aa90c4d - .long 0x38accb15, 0x3a8aaea4 - .long 0x388d5872, 0x3a636e45 - .long 0x3867216f, 0x3a3a6544 - .long 0x383ce218, 0x3a18b095 - .long 0x381a4894, 0x39fa092d - .long 0x37fbec07, 0x39cc9f41 - .long 0x37cd9386, 0x39a76003 - .long 0x37a7acfd, 0x3988d758 - .long 0x3788b256, 0x395fa559 - .long 0x375ec64b, 0x3936ab0f - .long 0x373570b9, 0x39152037 - .long 0x3713b43a, 0x38f35dd3 - .long 0x36f05d69, 0x38c67c0a - .long 0x36c37bc4, 0x38a1ccfc - .long 0x369ee7d7, 0x3883d518 - .long 0x36811c14, 0x3856b981 - .long 0x3651b337, 0x382ec87a - .long 0x362a371c, 0x380e33a7 - .long 0x360a1932, 0x37e74660 - .long 0x35dff98b, 0x37bbfab1 - .long 0x35b589f6, 0x3798b6d4 - .long 0x3593127a, 0x37780230 - .long 0x356e2ef2, 0x37494905 - .long 0x3540c69d, 0x372348d9 - .long 0x351bf310, 0x370464b5 - .long 0x34fc31bf, 0x36d69685 - .long 0x34cbd1ee, 0x36add231 - .long 0x34a4a520, 0x368cbaf0 - .long 0x3484ef72, 0x3663c449 - .long 0x34568fd0, 0x363839e2 - .long 0x342d122f, 0x3614efa4 - .long 0x340b893c, 0x35f0b1df - .long 0x33e0e3a6, 0x35c265d8 - .long 0x33b5237a, 0x359cede7 - .long 0x3391d42c, 0x357d3dc9 - .long 0x336ab0cb, 0x354c3b50 - .long 0x333cc25b, 0x3524a05e - .long 0x3317be62, 0x3504a304 - .long 0x32f3db16, 0x34d59f46 - .long 0x32c3d8af, 0x34abf19f - .long 0x329d3680, 0x348a545b - .long 0x327c475d, 0x345e76f3 - .long 0x324a5141, 0x3432cc8c - .long 0x32222c05, 0x340fa24c - .long 0x3201edfc, 0x33e6a843 - .long 0x31d01833, 0x33b91cba - .long 0x31a68f97, 0x33947ce5 - .long 0x318540a5, 0x336e1a5b - .long 0x31551b65, 0x333eced8 - .long 0x312a535b, 0x3318d52b - .long 0x31081119, 0x32f4b613 - .long 0x30d94acf, 0x32c3d10c - .long 0x30ad6b36, 0x329c9d69 - .long 0x308a563f, 0x327a666d - .long 0x305c98dc, 0x32481354 - .long 0x302fcd12, 0x321fc975 - .long 0x300c08aa, 0x31ff1904 - .long 0x2fdefaaf, 0x31cb87d8 - .long 0x2fb17113, 0x31a24ef3 - .long 0x2f8d22bb, 0x31815f38 - .long 0x2f60685f, 0x314e2339 - .long 0x2f3251c3, 0x3124258f - .long 0x2f0da0c6, 0x3102a54d - .long 0x2ee0dd25, 0x30cfdcca - .long 0x2eb26c30, 0x30a54727 - .long 0x2e8d8121, 0x30835a7f - .long 0x2e605773, 0x3050aec3 - .long 0x2e31bffd, 0x3025afef - .long 0x2e0cc431, 0x30037c6d - .long 0x2dded902, 0x2fd09664 - .long 0x2db04f61, 0x2fa55e85 - .long 0x2d8b6c69, 0x2f830aa5 - .long 0x2d5c66c4, 0x2f4f93fd - .long 0x2d2e1f21, 0x2f2453fe - .long 0x2d097e36, 0x2f0206a5 - .long 0x2cd908c8, 0x2ecdaaf4 - .long 0x2cab3670, 0x2ea293d6 - .long 0x2c86fff0, 0x2e8073d6 - .long 0x2c54ca13, 0x2e4ae1ac - .long 0x2c279ec9, 0x2e2023e7 - .long 0x2c03f9af, 0x2dfcaee7 - .long 0x2bcfb860, 0x2dc74167 - .long 0x2ba363bd, 0x2d9d0c41 - .long 0x2b807524, 0x2d7770ea - .long 0x2b49e3d6, 0x2d42d60c - .long 0x2b1e92b5, 0x2d195702 - .long 0x2af8fac8, 0x2cf13ec4 - .long 0x2ac35eb5, 0x2cbdaded - .long 0x2a993aaa, 0x2c95101b - .long 0x2a703d5a, 0x2c6a2c50 - .long 0x2a3c3cf6, 0x2c37d975 - .long 0x2a136bd8, 0x2c104516 - .long 0x29e6cc51, 0x2be24fc5 - .long 0x29b493e1, 0x2bb16ad5 - .long 0x298d376b, 0x2b8b04c7 - .long 0x295cc356, 0x2b59c147 - .long 0x292c79ad, 0x2b2a759f - .long 0x2906af30, 0x2b055f07 - .long 0x28d23edb, 0x2ad09a6a - .long 0x28a4050c, 0x2aa30e6d - .long 0x287fca72, 0x2a7ec8c1 - .long 0x28475b9c, 0x2a46f5b1 - .long 0x281b4cca, 0x2a1b4a74 - .long 0x27f1d725, 0x29f24b83 - .long 0x27bc361f, 0x29bcee14 - .long 0x27926764, 0x29933f23 - .long 0x2763a7e2, 0x29656858 - .long 0x2730ea36, 0x29329e84 - .long 0x27096aae, 0x290b01c6 - .long 0x26d55ed6, 0x28d840d5 - .long 0x26a59297, 0x28a82171 - .long 0x26806b7c, 0x2882a722 - .long 0x26471c70, 0x284af596 - .long 0x261a4874, 0x281d9063 - .long 0x25eefab5, 0x27f4865b - .long 0x25b8fef0, 0x27bda5bb - .long 0x258f232d, 0x27930395 - .long 0x255d6497, 0x2763d176 - .long 0x252b220e, 0x27306e78 - .long 0x25043806, 0x270891a3 - .long 0x24cc3533, 0x26d35285 - .long 0x249d9eab, 0x26a36ab9 - .long 0x247333ed, 0x267c9e87 - .long 0x243b895c, 0x2643294f - .long 0x24108aa2, 0x2616b2d7 - .long 0x23deb305, 0x25e89e19 - .long 0x23ab79f7, 0x25b3722d - .long 0x2383f8a5, 0x258a5c5b - .long 0x234b094e, 0x255542a6 - .long 0x231c1be0, 0x252445ca - .long 0x22eff061, 0x24fcf3b9 - .long 0x22b84dad, 0x24c2a818 - .long 0x228d7fe9, 0x2495b90c - .long 0x22592b20, 0x246635db - .long 0x222691fd, 0x2430e58d - .long 0x21ff65e8, 0x2407dd07 - .long 0x21c3b3ec, 0x23d09839 - .long 0x2195e33f, 0x23a00d5e - .long 0x21657c23, 0x23757e16 - .long 0x212f973d, 0x233c2e00 - .long 0x210649d6, 0x23102d3f - .long 0x20cd4d83, 0x22dcd18d - .long 0x209cdbfe, 0x22a904b4 - .long 0x206f93bd, 0x22814e73 - .long 0x2036de68, 0x2245c0eb - .long 0x200b8405, 0x22172479 - .long 0x1fd4c713, 0x21e6ec36 - .long 0x1fa22d35, 0x21b0523d - .long 0x1f771927, 0x21869086 - .long 0x1f3c2718, 0x214d4b0f - .long 0x1f0f32ff, 0x211c85ba - .long 0x1ed9ddc3, 0x20ee8f29 - .long 0x1ea5a71b, 0x20b5b53d - .long 0x1e7bc87b, 0x208a5661 - .long 0x1e3f4167, 0x205288d5 - .long 0x1e11353d, 0x2020208a - .long 0x1ddc631a, 0x1ff3754b - .long 0x1da729d6, 0x1fb8fcbd - .long 0x1d7d76ae, 0x1f8c7d97 - .long 0x1d4010bf, 0x1f554a3f - .long 0x1d117833, 0x1f21d3cb - .long 0x1cdc3fc3, 0x1ef57178 - .long 0x1ca6a764, 0x1eba0a73 - .long 0x1c7c141f, 0x1e8cf23a - .long 0x1c3e8d91, 0x1e5575bf - .long 0x1c0ff968, 0x1e218fb3 - .long 0x1bd974f4, 0x1df47139 - .long 0x1ba4246f, 0x1db8d48f - .long 0x1b77ad8b, 0x1d8bb00a - .long 0x1b3ac5c9, 0x1d5309be - .long 0x1b0cc6a1, 0x1d1f56ba - .long 0x1ad41c58, 0x1cf07de1 - .long 0x1a9fb806, 0x1cb56657 - .long 0x1a706b47, 0x1c88c2bc - .long 0x1a34dbfa, 0x1c4e1cba - .long 0x1a07fd09, 0x1c1b3d7d - .long 0x19cc668e, 0x1be9bbfd - .long 0x19998a40, 0x1bafdf73 - .long 0x19668edd, 0x1b844540 - .long 0x192d054e, 0x1b46dbe6 - .long 0x1901c77a, 0x1b156976 - .long 0x18c29845, 0x1ae0691f - .long 0x1891d1e0, 0x1aa8720d - .long 0x185a6f34, 0x1a7cc054 - .long 0x18238672, 0x1a3d887f - .long 0x17f4b806, 0x1a0e0ecc - .long 0x17b70648, 0x19d4d840 - .long 0x1788d12d, 0x199f5fda - .long 0x174c739d, 0x196e8e9b - .long 0x1718afac, 0x193273f8 - .long 0x16e3f1ae, 0x19056d4a - .long 0x16aa10bb, 0x18c76cf4 - .long 0x167da48f, 0x1894f659 - .long 0x163d0e1a, 0x185e6d9a - .long 0x160cd879, 0x1825fb65 - .long 0x15d1c1e5, 0x17f7998c - .long 0x159c1df9, 0x17b895e1 - .long 0x1568466d, 0x17898a88 - .long 0x152cb568, 0x174cdf9b - .long 0x15005b01, 0x1718826b - .long 0x14beb151, 0x16e2f29a - .long 0x148d955e, 0x16a8c6d9 - .long 0x14522407, 0x167ae8e3 - .long 0x141bdf21, 0x163a6a2d - .long 0x13e71f72, 0x160a6e25 - .long 0x13ab44c3, 0x15cd7e87 - .long 0x137db4e3, 0x15987319 - .long 0x133bd23f, 0x156215a4 - .long 0x130afa70, 0x15278fa9 - .long 0x12cd92ee, 0x14f840ab - .long 0x1297f777, 0x14b7cfb1 - .long 0x1260915e, 0x148807fd - .long 0x1225d8aa, 0x14493e73 - .long 0x11f4d72b, 0x1414c97a - .long 0x11b4a474, 0x13dbe665 - .long 0x11853669, 0x13a26be2 - .long 0x11446065, 0x136fd110 - .long 0x1110acc4, 0x1330f593 - .long 0x10d51115, 0x13028371 - .long 0x109cd187, 0x12c06c14 - .long 0x1066ba07, 0x128dc782 - .long 0x1029a6c1, 0x1250d3f6 - .long 0x0ff95d83, 0x1219b798 - .long 0x0fb72d9a, 0x11e230b9 - .long 0x0f867e41, 0x11a655c1 - .long 0x0f456641, 0x117484a6 - .long 0x0f10cb43, 0x1133a328 - .long 0x0ed44fd3, 0x1103e85c - .long 0x0e9b94c1, 0x10c19ffd - .long 0x0e63e84a, 0x108e0a3d - .long 0x0e26d8e4, 0x10504b66 - .long 0x0df42c6c, 0x1018a6f6 - .long 0x0db294f0, 0x0fdfa367 - .long 0x0d828bdd, 0x0fa3bcb5 - .long 0x0d3ec540, 0x0f6fa4d1 - .long 0x0d0b5230, 0x0f2f48cc - .long 0x0ccb653b, 0x0f00259a - .long 0x0c946596, 0x0ebb479f - .long 0x00000000, 0x00000000 - .align 64 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ - .align 64 - .long 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000 /* _MaxThreshold=644.0/64.0 */ - .align 64 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* sign mask */ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ - .align 64 - .long 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000 /* SRound */ - .align 64 - .long 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000 /* _TwoM48 */ - // polynomial coefficients - .align 64 - .long 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca // poly1[0] - .align 64 - .long 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22 // poly1[1] - .align 64 - .long 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36 // poly3[0] - .align 64 - .long 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb // poly3[1] - .align 64 - .long 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6 // poly1[2] - .align 64 - .long 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc // poly1[3] - .align 64 - .long 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB /* UF_Threshold */ - .align 64 - .type __svml_serfc_data_internal,@object - .size __svml_serfc_data_internal,.-__svml_serfc_data_internal + /* _erfc_tbl */ + .long 0x57800000, 0x57906ebb + .long 0x577b7ca2, 0x579065b4 + .long 0x5776f9d5, 0x57904aa3 + .long 0x57727828, 0x57901d93 + .long 0x576df82b, 0x578fde94 + .long 0x57697a6e, 0x578f8dbd + .long 0x5764ff7f, 0x578f2b2e + .long 0x576087ea, 0x578eb70a + .long 0x575c143d, 0x578e317d + .long 0x5757a500, 0x578d9ab9 + .long 0x57533abf, 0x578cf2f5 + .long 0x574ed5fe, 0x578c3a6f + .long 0x574a7744, 0x578b716c + .long 0x57461f12, 0x578a9834 + .long 0x5741cdeb, 0x5789af18 + .long 0x573d844a, 0x5788b66c + .long 0x573942ac, 0x5787ae8b + .long 0x57350989, 0x578697d3 + .long 0x5730d956, 0x578572a8 + .long 0x572cb284, 0x57843f72 + .long 0x57289583, 0x5782fe9f + .long 0x572482bd, 0x5781b0a0 + .long 0x57207a9b, 0x578055e8 + .long 0x571c7d80, 0x577ddddf + .long 0x57188bcb, 0x577af867 + .long 0x5714a5da, 0x5777fc62 + .long 0x5710cc05, 0x5774ead4 + .long 0x570cfe9f, 0x5771c4c4 + .long 0x57093df9, 0x576e8b3e + .long 0x57058a5e, 0x576b3f51 + .long 0x5701e415, 0x5767e20f + .long 0x56fc96c6, 0x5764748e + .long 0x56f5810a, 0x5760f7e5 + .long 0x56ee876d, 0x575d6d2d + .long 0x56e7aa5a, 0x5759d57e + .long 0x56e0ea35, 0x575631f4 + .long 0x56da4757, 0x575283a7 + .long 0x56d3c214, 0x574ecbb1 + .long 0x56cd5ab3, 0x574b0b28 + .long 0x56c71175, 0x57474323 + .long 0x56c0e692, 0x574374b5 + .long 0x56bada38, 0x573fa0ee + .long 0x56b4ec8f, 0x573bc8dc + .long 0x56af1db3, 0x5737ed89 + .long 0x56a96dbc, 0x57340ff9 + .long 0x56a3dcb7, 0x5730312e + .long 0x569e6aaa, 0x572c5223 + .long 0x56991793, 0x572873cf + .long 0x5693e369, 0x57249721 + .long 0x568ece1a, 0x5720bd06 + .long 0x5689d78f, 0x571ce661 + .long 0x5684ffa8, 0x5719140f + .long 0x56804640, 0x571546e7 + .long 0x56775654, 0x57117fb9 + .long 0x566e5c65, 0x570dbf4c + .long 0x56659e43, 0x570a0662 + .long 0x565d1b6d, 0x570655b1 + .long 0x5654d35d, 0x5702adeb + .long 0x564cc57d, 0x56fe1f73 + .long 0x5644f12f, 0x56f6f777 + .long 0x563d55cc, 0x56efe513 + .long 0x5635f2a1, 0x56e8e968 + .long 0x562ec6f6, 0x56e20584 + .long 0x5627d207, 0x56db3a64 + .long 0x5621130b, 0x56d488f8 + .long 0x561a8931, 0x56cdf21c + .long 0x561433a0, 0x56c7769b + .long 0x560e117c, 0x56c11733 + .long 0x560821e1, 0x56bad48d + .long 0x560263e5, 0x56b4af46 + .long 0x55f9ad39, 0x56aea7ea + .long 0x55eef22b, 0x56a8bef3 + .long 0x55e494b6, 0x56a2f4ce + .long 0x55da92eb, 0x569d49d9 + .long 0x55d0ead3, 0x5697be62 + .long 0x55c79a75, 0x569252aa + .long 0x55be9fd3, 0x568d06e3 + .long 0x55b5f8ee, 0x5687db31 + .long 0x55ada3c2, 0x5682cfad + .long 0x55a59e4c, 0x567bc8c2 + .long 0x559de68a, 0x56723298 + .long 0x55967a77, 0x5668dcc1 + .long 0x558f5812, 0x565fc70e + .long 0x55887d5c, 0x5656f136 + .long 0x5581e856, 0x564e5adf + .long 0x55772e0c, 0x56460399 + .long 0x556b0eeb, 0x563deae4 + .long 0x555f6f64, 0x5636102b + .long 0x55544b9e, 0x562e72cb + .long 0x55499fc8, 0x5627120f + .long 0x553f681d, 0x561fed36 + .long 0x5535a0e6, 0x5619036e + .long 0x552c4679, 0x561253dc + .long 0x55235539, 0x560bdd96 + .long 0x551ac999, 0x56059fa9 + .long 0x5512a01c, 0x55ff3230 + .long 0x550ad554, 0x55f391b9 + .long 0x550365e5, 0x55e85bd0 + .long 0x54f89d02, 0x55dd8e4c + .long 0x54eb17df, 0x55d326f3 + .long 0x54de360f, 0x55c92385 + .long 0x54d1f166, 0x55bf81b6 + .long 0x54c643dc, 0x55b63f32 + .long 0x54bb2790, 0x55ad59a1 + .long 0x54b096c5, 0x55a4cea4 + .long 0x54a68be5, 0x559c9bd9 + .long 0x549d0180, 0x5594bedd + .long 0x5493f24c, 0x558d354b + .long 0x548b5926, 0x5585fcbf + .long 0x54833111, 0x557e25af + .long 0x5476ea69, 0x5570ea68 + .long 0x546841c1, 0x556442f0 + .long 0x545a5f10, 0x55582a98 + .long 0x544d398b, 0x554c9cbd + .long 0x5440c8ae, 0x554194c7 + .long 0x54350440, 0x55370e2c + .long 0x5429e44f, 0x552d0474 + .long 0x541f612f, 0x55237336 + .long 0x5415737d, 0x551a561b + .long 0x540c1417, 0x5511a8e1 + .long 0x54033c22, 0x5509675a + .long 0x53f5ca07, 0x55018d6b + .long 0x53e610c3, 0x54f42e22 + .long 0x53d74046, 0x54e600c0 + .long 0x53c94cd8, 0x54d88b05 + .long 0x53bc2b3a, 0x54cbc574 + .long 0x53afd0a5, 0x54bfa8c4 + .long 0x53a432c3, 0x54b42ddb + .long 0x539947af, 0x54a94dcf + .long 0x538f05f3, 0x549f01ec + .long 0x5385647e, 0x549543ae + .long 0x5378b557, 0x548c0cc2 + .long 0x5367c06a, 0x5483570a + .long 0x5357da71, 0x54763931 + .long 0x5348f45f, 0x5466af65 + .long 0x533affda, 0x5458059c + .long 0x532def39, 0x544a3127 + .long 0x5321b57a, 0x543d27b5 + .long 0x5316463d, 0x5430df57 + .long 0x530b95bd, 0x54254e7b + .long 0x530198cc, 0x541a6bee + .long 0x52f08999, 0x54102ed6 + .long 0x52df1f58, 0x54068eb5 + .long 0x52cedfb9, 0x53fb06c5 + .long 0x52bfb8a0, 0x53ea0a1d + .long 0x52b198e5, 0x53da1876 + .long 0x52a4704e, 0x53cb237a + .long 0x52982f7c, 0x53bd1d6f + .long 0x528cc7eb, 0x53aff93b + .long 0x52822be3, 0x53a3aa56 + .long 0x52709cde, 0x539824ce + .long 0x525e46a9, 0x538d5d3c + .long 0x524d3e18, 0x538348c6 + .long 0x523d6d6f, 0x5373ba24 + .long 0x522ec035, 0x53622096 + .long 0x52212321, 0x5351b22a + .long 0x52148413, 0x53425d18 + .long 0x5208d1fc, 0x53341080 + .long 0x51fbf9ac, 0x5326bc5e + .long 0x51e7eb29, 0x531a5183 + .long 0x51d55c2d, 0x530ec18c + .long 0x51c43238, 0x5303feda + .long 0x51b45472, 0x52f3f919 + .long 0x51a5ab93, 0x52e15ce8 + .long 0x519821ce, 0x52d0121b + .long 0x518ba2bc, 0x52c002f8 + .long 0x51801b49, 0x52b11afe + .long 0x516af33c, 0x52a346d7 + .long 0x51575a21, 0x5296744c + .long 0x51454c24, 0x528a9237 + .long 0x5134ac3b, 0x527f20e7 + .long 0x51255f51, 0x526abfa9 + .long 0x51174c27, 0x5257e42f + .long 0x510a5b3b, 0x524673af + .long 0x50fced50, 0x52365507 + .long 0x50e7141d, 0x522770a1 + .long 0x50d304fc, 0x5219b066 + .long 0x50c09cb5, 0x520cffa3 + .long 0x50afba92, 0x52014af8 + .long 0x50a04037, 0x51ed0088 + .long 0x50921177, 0x51d91d2d + .long 0x50851430, 0x51c6cc35 + .long 0x50726058, 0x51b5f011 + .long 0x505c9dfa, 0x51a66d2a + .long 0x5048b7be, 0x519829c8 + .long 0x50368738, 0x518b0df2 + .long 0x5025e8e0, 0x517e06ab + .long 0x5016bbdf, 0x5167ea53 + .long 0x5008e1df, 0x5153a034 + .long 0x4ff87dc3, 0x5141045e + .long 0x4fe1721f, 0x512ff56d + .long 0x4fcc712a, 0x51205461 + .long 0x4fb94efb, 0x51120475 + .long 0x4fa7e31e, 0x5104eafc + .long 0x4f980855, 0x50f1de7a + .long 0x4f899c5c, 0x50dbf4a3 + .long 0x4f78ff60, 0x50c7ee0e + .long 0x4f612ab5, 0x50b5a381 + .long 0x4f4b8583, 0x50a4f0bc + .long 0x4f37deef, 0x5095b43b + .long 0x4f260a27, 0x5087cf0e + .long 0x4f15de0f, 0x5076494d + .long 0x4f0734f9, 0x505f355e + .long 0x4ef3d8c4, 0x504a31bf + .long 0x4edbc95e, 0x503711b4 + .long 0x4ec601e9, 0x5025ac0e + .long 0x4eb24d81, 0x5015dae6 + .long 0x4ea07bca, 0x50077b62 + .long 0x4e906098, 0x4ff4daf4 + .long 0x4e81d395, 0x4fdd2782 + .long 0x4e695fe3, 0x4fc7a666 + .long 0x4e51a834, 0x4fb42611 + .long 0x4e3c42e7, 0x4fa2790f + .long 0x4e28f835, 0x4f9275b9 + .long 0x4e179555, 0x4f83f5e9 + .long 0x4e07ec0b, 0x4f6dad68 + .long 0x4df3a498, 0x4f55f04f + .long 0x4dda43ba, 0x4f407a1d + .long 0x4dc37003, 0x4f2d1570 + .long 0x4daeea58, 0x4f1b9188 + .long 0x4d9c7974, 0x4f0bc1e7 + .long 0x4d8be963, 0x4efafbec + .long 0x4d7a160c, 0x4ee14167 + .long 0x4d5f6759, 0x4eca10ce + .long 0x4d477955, 0x4eb52cb9 + .long 0x4d3205fb, 0x4ea25d43 + .long 0x4d1ecdf3, 0x4e916f95 + .long 0x4d0d97f2, 0x4e823575 + .long 0x4cfc6061, 0x4e6909cc + .long 0x4ce0cfd4, 0x4e506f88 + .long 0x4cc829c6, 0x4e3a56e4 + .long 0x4cb221ff, 0x4e268119 + .long 0x4c9e73c2, 0x4e14b538 + .long 0x4c8ce119, 0x4e04bfb1 + .long 0x4c7a6462, 0x4dece39b + .long 0x4c5e6987, 0x4dd34296 + .long 0x4c457726, 0x4dbc4fdc + .long 0x4c2f3bdb, 0x4da7c64b + .long 0x4c1b6e79, 0x4d956771 + .long 0x4c09cd3e, 0x4d84fae8 + .long 0x4bf43a38, 0x4d6c9b8f + .long 0x4bd85225, 0x4d52644f + .long 0x4bbf8325, 0x4d3afd47 + .long 0x4ba977f0, 0x4d261be0 + .long 0x4b95e415, 0x4d137cf0 + .long 0x4b848320, 0x4d02e402 + .long 0x4b6a2f8b, 0x4ce8356b + .long 0x4b4ed659, 0x4ccde050 + .long 0x4b369893, 0x4cb670d5 + .long 0x4b211e8a, 0x4ca19816 + .long 0x4b0e19e7, 0x4c8f0f43 + .long 0x4afa896f, 0x4c7d2da8 + .long 0x4adcc11e, 0x4c5febab + .long 0x4ac26b7f, 0x4c45f27c + .long 0x4aab2549, 0x4c2ee6b3 + .long 0x4a969605, 0x4c1a767c + .long 0x4a846ee9, 0x4c0858a4 + .long 0x4a68d3a8, 0x4bf09770 + .long 0x4a4c90c6, 0x4bd42a75 + .long 0x4a33a635, 0x4bbb01dd + .long 0x4a1db15b, 0x4ba4c066 + .long 0x4a0a5aa0, 0x4b9112d9 + .long 0x49f2a881, 0x4b7f5e08 + .long 0x49d4b277, 0x4b60a591 + .long 0x49ba58bd, 0x4b45867e + .long 0x49a32ed5, 0x4b2d97f3 + .long 0x498ed4a2, 0x4b187c9e + .long 0x4979ea08, 0x4b05e186 + .long 0x495a8951, 0x4aeaf9d4 + .long 0x493f01d9, 0x4ace1a8c + .long 0x4926ddcc, 0x4ab4b0dc + .long 0x4911b50d, 0x4a9e558a + .long 0x48fe574a, 0x4a8aad05 + .long 0x48dde0d0, 0x4a72cc48 + .long 0x48c1776e, 0x4a547203 + .long 0x48a89cd3, 0x4a39cbe3 + .long 0x4892e1aa, 0x4a226937 + .long 0x487fc7c2, 0x4a0de652 + .long 0x485e9a3a, 0x49f7d629 + .long 0x4841a2c3, 0x49d85345 + .long 0x48285bae, 0x49bcba74 + .long 0x48124f79, 0x49a49254 + .long 0x47fe2dc4, 0x498f6fd2 + .long 0x47dcae77, 0x4979e90c + .long 0x47bf81dd, 0x49599a7d + .long 0x47a61c4e, 0x493d616c + .long 0x47900357, 0x4924bcd6 + .long 0x47799750, 0x490f3b3e + .long 0x47582e7f, 0x48f8f1a9 + .long 0x473b27a3, 0x48d83bc6 + .long 0x4721f2b6, 0x48bbbab7 + .long 0x470c11c0, 0x48a2e733 + .long 0x46f22d4c, 0x488d4a80 + .long 0x46d14266, 0x4874f900 + .long 0x46b4bacb, 0x485443df + .long 0x469c03d6, 0x4837d5b2 + .long 0x46869d9b, 0x481f2272 + .long 0x46683120, 0x4809af94 + .long 0x46482706, 0x47ee23cf + .long 0x462c7395, 0x47cdd76a + .long 0x46148366, 0x47b1d636 + .long 0x45ffac6d, 0x4799912d + .long 0x45dbf8fa, 0x47848b78 + .long 0x45bd2a88, 0x4764b060 + .long 0x45a298a1, 0x474530ba + .long 0x458bb0fc, 0x4729f27c + .long 0x456fe94b, 0x47126579 + .long 0x454deaf8, 0x46fc1860 + .long 0x4530a808, 0x46d8f2d6 + .long 0x45177b00, 0x46ba9c63 + .long 0x4501d48c, 0x46a06fec + .long 0x44de7135, 0x4689de04 + .long 0x44be77a1, 0x466cd440 + .long 0x44a302b0, 0x464b505a + .long 0x448b71e5, 0x462e74d6 + .long 0x446e7534, 0x46159f2a + .long 0x444bca2d, 0x46004280 + .long 0x442e1414, 0x45dbc9bf + .long 0x4414a0a8, 0x45bc396d + .long 0x43fdac7d, 0x45a11d60 + .long 0x43d860d4, 0x4589d7a8 + .long 0x43b87a3a, 0x456bbf86 + .long 0x439d3454, 0x45497f9a + .long 0x4385e630, 0x452c23f7 + .long 0x4363fd06, 0x4512fcf7 + .long 0x434200db, 0x44fae63c + .long 0x4325014d, 0x44d607b0 + .long 0x430c4623, 0x44b67d4e + .long 0x42ee627d, 0x449b855c + .long 0x42ca7603, 0x44847920 + .long 0x42abde4b, 0x44619261 + .long 0x4291d40d, 0x443ff482 + .long 0x4277593c, 0x442344bf + .long 0x4251abca, 0x440acd1c + .long 0x4231a5c0, 0x43ebe2ca + .long 0x42167152, 0x43c85727 + .long 0x41feaf84, 0x43aa1178 + .long 0x41d779e7, 0x43904cc0 + .long 0x41b63731, 0x4374c081 + .long 0x419a03db, 0x434f7703 + .long 0x41821dd0, 0x432fc5c4 + .long 0x415bbf2e, 0x4314d94a + .long 0x41397862, 0x42fbf99c + .long 0x411c770c, 0x42d52bb9 + .long 0x4103eeb4, 0x42b4411f + .long 0x40de62c7, 0x429858a7 + .long 0x40bb5652, 0x4280b23e + .long 0x409dbc89, 0x4259543f + .long 0x4084bfc1, 0x42376979 + .long 0x405f551f, 0x421ab66b + .long 0x403bc5f1, 0x420270af + .long 0x401dccc2, 0x41dbd820 + .long 0x40048c16, 0x41b92c31 + .long 0x3fde907e, 0x419be496 + .long 0x3fbac490, 0x41832dcb + .long 0x3f9ca73d, 0x415ca86a + .long 0x3f8354cb, 0x41397eca + .long 0x3f5c1947, 0x411bdc1e + .long 0x3f3857fa, 0x4102e528 + .long 0x3f1a529e, 0x40dbc03f + .long 0x3f0120ef, 0x40b85f58 + .long 0x3ed7fdc8, 0x409a9d36 + .long 0x3eb48e3e, 0x40819878 + .long 0x3e96dc65, 0x4059250b + .long 0x3e7bfa7c, 0x4035d48d + .long 0x3e5255b2, 0x40182f4c + .long 0x3e2f7d27, 0x3ffe9ef1 + .long 0x3e12586c, 0x3fd4e64a + .long 0x3df3f750, 0x3fb1ed7c + .long 0x3dcb4137, 0x3f94a0bb + .long 0x3da94169, 0x3f782f41 + .long 0x3d8ce028, 0x3f4f1cee + .long 0x3d6a654e, 0x3f2cc100 + .long 0x3d42e7d6, 0x3f100645 + .long 0x3d21fd99, 0x3ef00749 + .long 0x3d0691c1, 0x3ec7ea70 + .long 0x3cdf78d9, 0x3ea66ce0 + .long 0x3cb976f2, 0x3e8a7a45 + .long 0x3c99d8e5, 0x3e665575 + .long 0x3c7f1de8, 0x3e3f778a + .long 0x3c536be9, 0x3e1f14b2 + .long 0x3c2f2031, 0x3e041bb4 + .long 0x3c10fdbd, 0x3ddb4f88 + .long 0x3beff7df, 0x3db5f2ba + .long 0x3bc67c0b, 0x3d96e08d + .long 0x3ba417d4, 0x3d7a1a1e + .long 0x3b879862, 0x3d4f30a7 + .long 0x3b5ffc37, 0x3d2b8e9a + .long 0x3b38e85b, 0x3d0dfba1 + .long 0x3b1892fb, 0x3ceae636 + .long 0x3afbaaf5, 0x3cc2374f + .long 0x3acf75d5, 0x3ca08024 + .long 0x3aaaef8c, 0x3c8492c0 + .long 0x3a8cc60c, 0x3c5ae75b + .long 0x3a67c170, 0x3c34a340 + .long 0x3a3ead7b, 0x3c14fcf4 + .long 0x3a1cce14, 0x3bf5a5cf + .long 0x3a00e32d, 0x3bca68ef + .long 0x39d3c741, 0x3ba6b383 + .long 0x39ade7c9, 0x3b8939a3 + .long 0x398ebc8e, 0x3b61cfd0 + .long 0x396a31ee, 0x3b39b3ce + .long 0x394008fe, 0x3b18a48b + .long 0x391d638e, 0x3afad08d + .long 0x3900ee61, 0x3acdf654 + .long 0x38d322ce, 0x3aa90c4d + .long 0x38accb15, 0x3a8aaea4 + .long 0x388d5872, 0x3a636e45 + .long 0x3867216f, 0x3a3a6544 + .long 0x383ce218, 0x3a18b095 + .long 0x381a4894, 0x39fa092d + .long 0x37fbec07, 0x39cc9f41 + .long 0x37cd9386, 0x39a76003 + .long 0x37a7acfd, 0x3988d758 + .long 0x3788b256, 0x395fa559 + .long 0x375ec64b, 0x3936ab0f + .long 0x373570b9, 0x39152037 + .long 0x3713b43a, 0x38f35dd3 + .long 0x36f05d69, 0x38c67c0a + .long 0x36c37bc4, 0x38a1ccfc + .long 0x369ee7d7, 0x3883d518 + .long 0x36811c14, 0x3856b981 + .long 0x3651b337, 0x382ec87a + .long 0x362a371c, 0x380e33a7 + .long 0x360a1932, 0x37e74660 + .long 0x35dff98b, 0x37bbfab1 + .long 0x35b589f6, 0x3798b6d4 + .long 0x3593127a, 0x37780230 + .long 0x356e2ef2, 0x37494905 + .long 0x3540c69d, 0x372348d9 + .long 0x351bf310, 0x370464b5 + .long 0x34fc31bf, 0x36d69685 + .long 0x34cbd1ee, 0x36add231 + .long 0x34a4a520, 0x368cbaf0 + .long 0x3484ef72, 0x3663c449 + .long 0x34568fd0, 0x363839e2 + .long 0x342d122f, 0x3614efa4 + .long 0x340b893c, 0x35f0b1df + .long 0x33e0e3a6, 0x35c265d8 + .long 0x33b5237a, 0x359cede7 + .long 0x3391d42c, 0x357d3dc9 + .long 0x336ab0cb, 0x354c3b50 + .long 0x333cc25b, 0x3524a05e + .long 0x3317be62, 0x3504a304 + .long 0x32f3db16, 0x34d59f46 + .long 0x32c3d8af, 0x34abf19f + .long 0x329d3680, 0x348a545b + .long 0x327c475d, 0x345e76f3 + .long 0x324a5141, 0x3432cc8c + .long 0x32222c05, 0x340fa24c + .long 0x3201edfc, 0x33e6a843 + .long 0x31d01833, 0x33b91cba + .long 0x31a68f97, 0x33947ce5 + .long 0x318540a5, 0x336e1a5b + .long 0x31551b65, 0x333eced8 + .long 0x312a535b, 0x3318d52b + .long 0x31081119, 0x32f4b613 + .long 0x30d94acf, 0x32c3d10c + .long 0x30ad6b36, 0x329c9d69 + .long 0x308a563f, 0x327a666d + .long 0x305c98dc, 0x32481354 + .long 0x302fcd12, 0x321fc975 + .long 0x300c08aa, 0x31ff1904 + .long 0x2fdefaaf, 0x31cb87d8 + .long 0x2fb17113, 0x31a24ef3 + .long 0x2f8d22bb, 0x31815f38 + .long 0x2f60685f, 0x314e2339 + .long 0x2f3251c3, 0x3124258f + .long 0x2f0da0c6, 0x3102a54d + .long 0x2ee0dd25, 0x30cfdcca + .long 0x2eb26c30, 0x30a54727 + .long 0x2e8d8121, 0x30835a7f + .long 0x2e605773, 0x3050aec3 + .long 0x2e31bffd, 0x3025afef + .long 0x2e0cc431, 0x30037c6d + .long 0x2dded902, 0x2fd09664 + .long 0x2db04f61, 0x2fa55e85 + .long 0x2d8b6c69, 0x2f830aa5 + .long 0x2d5c66c4, 0x2f4f93fd + .long 0x2d2e1f21, 0x2f2453fe + .long 0x2d097e36, 0x2f0206a5 + .long 0x2cd908c8, 0x2ecdaaf4 + .long 0x2cab3670, 0x2ea293d6 + .long 0x2c86fff0, 0x2e8073d6 + .long 0x2c54ca13, 0x2e4ae1ac + .long 0x2c279ec9, 0x2e2023e7 + .long 0x2c03f9af, 0x2dfcaee7 + .long 0x2bcfb860, 0x2dc74167 + .long 0x2ba363bd, 0x2d9d0c41 + .long 0x2b807524, 0x2d7770ea + .long 0x2b49e3d6, 0x2d42d60c + .long 0x2b1e92b5, 0x2d195702 + .long 0x2af8fac8, 0x2cf13ec4 + .long 0x2ac35eb5, 0x2cbdaded + .long 0x2a993aaa, 0x2c95101b + .long 0x2a703d5a, 0x2c6a2c50 + .long 0x2a3c3cf6, 0x2c37d975 + .long 0x2a136bd8, 0x2c104516 + .long 0x29e6cc51, 0x2be24fc5 + .long 0x29b493e1, 0x2bb16ad5 + .long 0x298d376b, 0x2b8b04c7 + .long 0x295cc356, 0x2b59c147 + .long 0x292c79ad, 0x2b2a759f + .long 0x2906af30, 0x2b055f07 + .long 0x28d23edb, 0x2ad09a6a + .long 0x28a4050c, 0x2aa30e6d + .long 0x287fca72, 0x2a7ec8c1 + .long 0x28475b9c, 0x2a46f5b1 + .long 0x281b4cca, 0x2a1b4a74 + .long 0x27f1d725, 0x29f24b83 + .long 0x27bc361f, 0x29bcee14 + .long 0x27926764, 0x29933f23 + .long 0x2763a7e2, 0x29656858 + .long 0x2730ea36, 0x29329e84 + .long 0x27096aae, 0x290b01c6 + .long 0x26d55ed6, 0x28d840d5 + .long 0x26a59297, 0x28a82171 + .long 0x26806b7c, 0x2882a722 + .long 0x26471c70, 0x284af596 + .long 0x261a4874, 0x281d9063 + .long 0x25eefab5, 0x27f4865b + .long 0x25b8fef0, 0x27bda5bb + .long 0x258f232d, 0x27930395 + .long 0x255d6497, 0x2763d176 + .long 0x252b220e, 0x27306e78 + .long 0x25043806, 0x270891a3 + .long 0x24cc3533, 0x26d35285 + .long 0x249d9eab, 0x26a36ab9 + .long 0x247333ed, 0x267c9e87 + .long 0x243b895c, 0x2643294f + .long 0x24108aa2, 0x2616b2d7 + .long 0x23deb305, 0x25e89e19 + .long 0x23ab79f7, 0x25b3722d + .long 0x2383f8a5, 0x258a5c5b + .long 0x234b094e, 0x255542a6 + .long 0x231c1be0, 0x252445ca + .long 0x22eff061, 0x24fcf3b9 + .long 0x22b84dad, 0x24c2a818 + .long 0x228d7fe9, 0x2495b90c + .long 0x22592b20, 0x246635db + .long 0x222691fd, 0x2430e58d + .long 0x21ff65e8, 0x2407dd07 + .long 0x21c3b3ec, 0x23d09839 + .long 0x2195e33f, 0x23a00d5e + .long 0x21657c23, 0x23757e16 + .long 0x212f973d, 0x233c2e00 + .long 0x210649d6, 0x23102d3f + .long 0x20cd4d83, 0x22dcd18d + .long 0x209cdbfe, 0x22a904b4 + .long 0x206f93bd, 0x22814e73 + .long 0x2036de68, 0x2245c0eb + .long 0x200b8405, 0x22172479 + .long 0x1fd4c713, 0x21e6ec36 + .long 0x1fa22d35, 0x21b0523d + .long 0x1f771927, 0x21869086 + .long 0x1f3c2718, 0x214d4b0f + .long 0x1f0f32ff, 0x211c85ba + .long 0x1ed9ddc3, 0x20ee8f29 + .long 0x1ea5a71b, 0x20b5b53d + .long 0x1e7bc87b, 0x208a5661 + .long 0x1e3f4167, 0x205288d5 + .long 0x1e11353d, 0x2020208a + .long 0x1ddc631a, 0x1ff3754b + .long 0x1da729d6, 0x1fb8fcbd + .long 0x1d7d76ae, 0x1f8c7d97 + .long 0x1d4010bf, 0x1f554a3f + .long 0x1d117833, 0x1f21d3cb + .long 0x1cdc3fc3, 0x1ef57178 + .long 0x1ca6a764, 0x1eba0a73 + .long 0x1c7c141f, 0x1e8cf23a + .long 0x1c3e8d91, 0x1e5575bf + .long 0x1c0ff968, 0x1e218fb3 + .long 0x1bd974f4, 0x1df47139 + .long 0x1ba4246f, 0x1db8d48f + .long 0x1b77ad8b, 0x1d8bb00a + .long 0x1b3ac5c9, 0x1d5309be + .long 0x1b0cc6a1, 0x1d1f56ba + .long 0x1ad41c58, 0x1cf07de1 + .long 0x1a9fb806, 0x1cb56657 + .long 0x1a706b47, 0x1c88c2bc + .long 0x1a34dbfa, 0x1c4e1cba + .long 0x1a07fd09, 0x1c1b3d7d + .long 0x19cc668e, 0x1be9bbfd + .long 0x19998a40, 0x1bafdf73 + .long 0x19668edd, 0x1b844540 + .long 0x192d054e, 0x1b46dbe6 + .long 0x1901c77a, 0x1b156976 + .long 0x18c29845, 0x1ae0691f + .long 0x1891d1e0, 0x1aa8720d + .long 0x185a6f34, 0x1a7cc054 + .long 0x18238672, 0x1a3d887f + .long 0x17f4b806, 0x1a0e0ecc + .long 0x17b70648, 0x19d4d840 + .long 0x1788d12d, 0x199f5fda + .long 0x174c739d, 0x196e8e9b + .long 0x1718afac, 0x193273f8 + .long 0x16e3f1ae, 0x19056d4a + .long 0x16aa10bb, 0x18c76cf4 + .long 0x167da48f, 0x1894f659 + .long 0x163d0e1a, 0x185e6d9a + .long 0x160cd879, 0x1825fb65 + .long 0x15d1c1e5, 0x17f7998c + .long 0x159c1df9, 0x17b895e1 + .long 0x1568466d, 0x17898a88 + .long 0x152cb568, 0x174cdf9b + .long 0x15005b01, 0x1718826b + .long 0x14beb151, 0x16e2f29a + .long 0x148d955e, 0x16a8c6d9 + .long 0x14522407, 0x167ae8e3 + .long 0x141bdf21, 0x163a6a2d + .long 0x13e71f72, 0x160a6e25 + .long 0x13ab44c3, 0x15cd7e87 + .long 0x137db4e3, 0x15987319 + .long 0x133bd23f, 0x156215a4 + .long 0x130afa70, 0x15278fa9 + .long 0x12cd92ee, 0x14f840ab + .long 0x1297f777, 0x14b7cfb1 + .long 0x1260915e, 0x148807fd + .long 0x1225d8aa, 0x14493e73 + .long 0x11f4d72b, 0x1414c97a + .long 0x11b4a474, 0x13dbe665 + .long 0x11853669, 0x13a26be2 + .long 0x11446065, 0x136fd110 + .long 0x1110acc4, 0x1330f593 + .long 0x10d51115, 0x13028371 + .long 0x109cd187, 0x12c06c14 + .long 0x1066ba07, 0x128dc782 + .long 0x1029a6c1, 0x1250d3f6 + .long 0x0ff95d83, 0x1219b798 + .long 0x0fb72d9a, 0x11e230b9 + .long 0x0f867e41, 0x11a655c1 + .long 0x0f456641, 0x117484a6 + .long 0x0f10cb43, 0x1133a328 + .long 0x0ed44fd3, 0x1103e85c + .long 0x0e9b94c1, 0x10c19ffd + .long 0x0e63e84a, 0x108e0a3d + .long 0x0e26d8e4, 0x10504b66 + .long 0x0df42c6c, 0x1018a6f6 + .long 0x0db294f0, 0x0fdfa367 + .long 0x0d828bdd, 0x0fa3bcb5 + .long 0x0d3ec540, 0x0f6fa4d1 + .long 0x0d0b5230, 0x0f2f48cc + .long 0x0ccb653b, 0x0f00259a + .long 0x0c946596, 0x0ebb479f + .long 0x00000000, 0x00000000 + .align 64 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ + .align 64 + .long 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000 /* _MaxThreshold=644.0/64.0 */ + .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* sign mask */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ + .align 64 + .long 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000 /* SRound */ + .align 64 + .long 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000 /* _TwoM48 */ + // polynomial coefficients + .align 64 + .long 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca // poly1[0] + .align 64 + .long 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22 // poly1[1] + .align 64 + .long 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36 // poly3[0] + .align 64 + .long 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb // poly3[1] + .align 64 + .long 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6 // poly1[2] + .align 64 + .long 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc // poly1[3] + .align 64 + .long 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB /* UF_Threshold */ + .align 64 + .type __svml_serfc_data_internal, @object + .size __svml_serfc_data_internal, .-__svml_serfc_data_internal From patchwork Mon Mar 7 15:00:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602248 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=OrUOjayX; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC22x5Gb8z9s8s for ; Tue, 8 Mar 2022 02:10:49 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D4F99385842C for ; Mon, 7 Mar 2022 15:10:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D4F99385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646665847; bh=LSVJj91cUiv27YZlHxJPKxCj6Tt3tZBavGRrhXJTaOg=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=OrUOjayXI94zYLB28n+j+ydkRDKpMzlmxD6OTbeDwOiNXGKQwwSrIa3anXX5wli2n M6/SrB9QLsXOHs5Gd3JYEzsp5i18xHJqXA5CQvnUxraSZtV/F2J1Yt8TZGTOp7iQj7 jsEO+SlzxcbQRKc1GDZtN+tHTggQ18/AL6mIZ+f0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id 86B7B3858C2C for ; Mon, 7 Mar 2022 15:02:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 86B7B3858C2C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="315123197" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="315123197" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141851" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ea016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 062/126] x86_64: Fix svml_s_erfcf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:57 -0800 Message-Id: <20220307150201.10590-63-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_erfcf4_core_sse4.S | 1756 ++++++++--------- 1 file changed, 877 insertions(+), 879 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S index 60b6931fb2..2139f67a70 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf4_core_sse4.S @@ -29,911 +29,909 @@ /* Offsets for data table __svml_serfc_data_internal */ -#define _erfc_tbl 0 -#define _AbsMask 5168 -#define _MaxThreshold 5184 -#define _SgnMask 5200 -#define _SRound 5216 -#define _TwoM48 5232 -#define _poly1_0 5248 -#define _poly1_1 5264 -#define _poly3_0 5280 -#define _poly3_1 5296 -#define _poly1_2 5312 -#define _poly1_3 5328 -#define _UF_Threshold 5344 -#define _TwoP48 5360 +#define _erfc_tbl 0 +#define _AbsMask 5168 +#define _MaxThreshold 5184 +#define _SgnMask 5200 +#define _SRound 5216 +#define _TwoM48 5232 +#define _poly1_0 5248 +#define _poly1_1 5264 +#define _poly3_0 5280 +#define _poly3_1 5296 +#define _poly1_2 5312 +#define _poly1_3 5328 +#define _UF_Threshold 5344 +#define _TwoP48 5360 /* Lookup bias for data table __svml_serfc_data_internal. */ -#define Table_Lookup_Bias -0x40000000 +#define Table_Lookup_Bias -0x40000000 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_erfcf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm7 - movups _AbsMask+__svml_serfc_data_internal(%rip), %xmm6 - -/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ - lea Table_Lookup_Bias+__svml_serfc_data_internal(%rip), %rdi - andps %xmm7, %xmm6 - -/* - * erfc(10.125) underflows to 0 - * can compute all results in the main path - */ - minps _MaxThreshold+__svml_serfc_data_internal(%rip), %xmm6 - movups _SRound+__svml_serfc_data_internal(%rip), %xmm9 - movaps %xmm9, %xmm13 - movups _TwoM48+__svml_serfc_data_internal(%rip), %xmm0 - addps %xmm6, %xmm13 - maxps %xmm0, %xmm6 - movaps %xmm13, %xmm4 - pslld $3, %xmm13 - -/* Start polynomial evaluation */ - movups _poly1_0+__svml_serfc_data_internal(%rip), %xmm1 - subps %xmm9, %xmm4 - movd %xmm13, %eax - movups _poly3_0+__svml_serfc_data_internal(%rip), %xmm2 - subps %xmm4, %xmm6 - mulps %xmm6, %xmm4 - -/* Diff^2 */ - movaps %xmm6, %xmm9 - mulps %xmm6, %xmm9 - mulps %xmm4, %xmm1 - mulps %xmm4, %xmm2 - addps _poly1_1+__svml_serfc_data_internal(%rip), %xmm1 - addps _poly3_1+__svml_serfc_data_internal(%rip), %xmm2 - mulps %xmm4, %xmm1 - -/* P3*D2 */ - mulps %xmm9, %xmm2 - addps _poly1_2+__svml_serfc_data_internal(%rip), %xmm1 - mulps %xmm4, %xmm1 - pshufd $1, %xmm13, %xmm11 - addps _poly1_3+__svml_serfc_data_internal(%rip), %xmm1 - movd %xmm11, %edx - pshufd $2, %xmm13, %xmm12 - pshufd $3, %xmm13, %xmm14 - movd %xmm12, %ecx - movd %xmm14, %esi - movups _SgnMask+__svml_serfc_data_internal(%rip), %xmm10 - andps %xmm7, %xmm10 - -/* P1 = P1*T + P3*D2 */ - mulps %xmm1, %xmm4 - movaps %xmm10, %xmm5 - movslq %eax, %rax - -/* 2^(-64) with sign of input */ - orps %xmm10, %xmm0 - movslq %edx, %rdx - -/* Special arguments (for flags only) */ - movaps %xmm7, %xmm1 - movslq %ecx, %rcx - addps %xmm4, %xmm2 - cmpltps _UF_Threshold+__svml_serfc_data_internal(%rip), %xmm1 - movslq %esi, %rsi - movups _TwoP48+__svml_serfc_data_internal(%rip), %xmm8 - orps %xmm8, %xmm5 - movq (%rdi,%rax), %xmm3 - subps %xmm8, %xmm5 - movq (%rdi,%rdx), %xmm15 - movq (%rdi,%rcx), %xmm8 - movq (%rdi,%rsi), %xmm13 - unpcklps %xmm15, %xmm3 - unpcklps %xmm13, %xmm8 - movaps %xmm3, %xmm10 - shufps $238, %xmm8, %xmm3 - -/* EXP_X0H * (1+P1) */ - mulps %xmm3, %xmm2 - -/* combine and get argument value range mask */ - movmskps %xmm1, %edx - movlhps %xmm8, %xmm10 - addps %xmm2, %xmm3 - -/* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ - mulps %xmm3, %xmm6 - notl %edx - subps %xmm6, %xmm10 - addps %xmm10, %xmm5 - mulps %xmm5, %xmm0 - andl $15, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm7 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm7 + movups _AbsMask+__svml_serfc_data_internal(%rip), %xmm6 + + /* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea Table_Lookup_Bias+__svml_serfc_data_internal(%rip), %rdi + andps %xmm7, %xmm6 + + /* + * erfc(10.125) underflows to 0 + * can compute all results in the main path + */ + minps _MaxThreshold+__svml_serfc_data_internal(%rip), %xmm6 + movups _SRound+__svml_serfc_data_internal(%rip), %xmm9 + movaps %xmm9, %xmm13 + movups _TwoM48+__svml_serfc_data_internal(%rip), %xmm0 + addps %xmm6, %xmm13 + maxps %xmm0, %xmm6 + movaps %xmm13, %xmm4 + pslld $3, %xmm13 + + /* Start polynomial evaluation */ + movups _poly1_0+__svml_serfc_data_internal(%rip), %xmm1 + subps %xmm9, %xmm4 + movd %xmm13, %eax + movups _poly3_0+__svml_serfc_data_internal(%rip), %xmm2 + subps %xmm4, %xmm6 + mulps %xmm6, %xmm4 + + /* Diff^2 */ + movaps %xmm6, %xmm9 + mulps %xmm6, %xmm9 + mulps %xmm4, %xmm1 + mulps %xmm4, %xmm2 + addps _poly1_1+__svml_serfc_data_internal(%rip), %xmm1 + addps _poly3_1+__svml_serfc_data_internal(%rip), %xmm2 + mulps %xmm4, %xmm1 + + /* P3*D2 */ + mulps %xmm9, %xmm2 + addps _poly1_2+__svml_serfc_data_internal(%rip), %xmm1 + mulps %xmm4, %xmm1 + pshufd $1, %xmm13, %xmm11 + addps _poly1_3+__svml_serfc_data_internal(%rip), %xmm1 + movd %xmm11, %edx + pshufd $2, %xmm13, %xmm12 + pshufd $3, %xmm13, %xmm14 + movd %xmm12, %ecx + movd %xmm14, %esi + movups _SgnMask+__svml_serfc_data_internal(%rip), %xmm10 + andps %xmm7, %xmm10 + + /* P1 = P1*T + P3*D2 */ + mulps %xmm1, %xmm4 + movaps %xmm10, %xmm5 + movslq %eax, %rax + + /* 2^(-64) with sign of input */ + orps %xmm10, %xmm0 + movslq %edx, %rdx + + /* Special arguments (for flags only) */ + movaps %xmm7, %xmm1 + movslq %ecx, %rcx + addps %xmm4, %xmm2 + cmpltps _UF_Threshold+__svml_serfc_data_internal(%rip), %xmm1 + movslq %esi, %rsi + movups _TwoP48+__svml_serfc_data_internal(%rip), %xmm8 + orps %xmm8, %xmm5 + movq (%rdi, %rax), %xmm3 + subps %xmm8, %xmm5 + movq (%rdi, %rdx), %xmm15 + movq (%rdi, %rcx), %xmm8 + movq (%rdi, %rsi), %xmm13 + unpcklps %xmm15, %xmm3 + unpcklps %xmm13, %xmm8 + movaps %xmm3, %xmm10 + shufps $238, %xmm8, %xmm3 + + /* EXP_X0H * (1+P1) */ + mulps %xmm3, %xmm2 + + /* combine and get argument value range mask */ + movmskps %xmm1, %edx + movlhps %xmm8, %xmm10 + addps %xmm2, %xmm3 + + /* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ + mulps %xmm3, %xmm6 + notl %edx + subps %xmm6, %xmm10 + addps %xmm10, %xmm5 + mulps %xmm5, %xmm0 + andl $15, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm7 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm7, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm7, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call erfcf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call erfcf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_erfcf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_serfc_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _erfc_tbl[645*2][1]; - __declspec(align(16)) VUINT32 _AbsMask[4][1]; - __declspec(align(16)) VUINT32 _MaxThreshold[4][1]; - __declspec(align(16)) VUINT32 _SgnMask[4][1]; - __declspec(align(16)) VUINT32 _SRound[4][1]; - __declspec(align(16)) VUINT32 _TwoM48[4][1]; - __declspec(align(16)) VUINT32 _poly1_0[4][1]; - __declspec(align(16)) VUINT32 _poly1_1[4][1]; - __declspec(align(16)) VUINT32 _poly3_0[4][1]; - __declspec(align(16)) VUINT32 _poly3_1[4][1]; - __declspec(align(16)) VUINT32 _poly1_2[4][1]; - __declspec(align(16)) VUINT32 _poly1_3[4][1]; - __declspec(align(16)) VUINT32 _UF_Threshold[4][1]; - __declspec(align(16)) VUINT32 _TwoP48[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _erfc_tbl[645*2][1]; + __declspec(align(16)) VUINT32 _AbsMask[4][1]; + __declspec(align(16)) VUINT32 _MaxThreshold[4][1]; + __declspec(align(16)) VUINT32 _SgnMask[4][1]; + __declspec(align(16)) VUINT32 _SRound[4][1]; + __declspec(align(16)) VUINT32 _TwoM48[4][1]; + __declspec(align(16)) VUINT32 _poly1_0[4][1]; + __declspec(align(16)) VUINT32 _poly1_1[4][1]; + __declspec(align(16)) VUINT32 _poly3_0[4][1]; + __declspec(align(16)) VUINT32 _poly3_1[4][1]; + __declspec(align(16)) VUINT32 _poly1_2[4][1]; + __declspec(align(16)) VUINT32 _poly1_3[4][1]; + __declspec(align(16)) VUINT32 _UF_Threshold[4][1]; + __declspec(align(16)) VUINT32 _TwoP48[4][1]; } __svml_serfc_data_internal; #endif __svml_serfc_data_internal: - /*== _erfc_tbl ==*/ - .long 0x57800000, 0x57906ebb - .long 0x577b7ca2, 0x579065b4 - .long 0x5776f9d5, 0x57904aa3 - .long 0x57727828, 0x57901d93 - .long 0x576df82b, 0x578fde94 - .long 0x57697a6e, 0x578f8dbd - .long 0x5764ff7f, 0x578f2b2e - .long 0x576087ea, 0x578eb70a - .long 0x575c143d, 0x578e317d - .long 0x5757a500, 0x578d9ab9 - .long 0x57533abf, 0x578cf2f5 - .long 0x574ed5fe, 0x578c3a6f - .long 0x574a7744, 0x578b716c - .long 0x57461f12, 0x578a9834 - .long 0x5741cdeb, 0x5789af18 - .long 0x573d844a, 0x5788b66c - .long 0x573942ac, 0x5787ae8b - .long 0x57350989, 0x578697d3 - .long 0x5730d956, 0x578572a8 - .long 0x572cb284, 0x57843f72 - .long 0x57289583, 0x5782fe9f - .long 0x572482bd, 0x5781b0a0 - .long 0x57207a9b, 0x578055e8 - .long 0x571c7d80, 0x577ddddf - .long 0x57188bcb, 0x577af867 - .long 0x5714a5da, 0x5777fc62 - .long 0x5710cc05, 0x5774ead4 - .long 0x570cfe9f, 0x5771c4c4 - .long 0x57093df9, 0x576e8b3e - .long 0x57058a5e, 0x576b3f51 - .long 0x5701e415, 0x5767e20f - .long 0x56fc96c6, 0x5764748e - .long 0x56f5810a, 0x5760f7e5 - .long 0x56ee876d, 0x575d6d2d - .long 0x56e7aa5a, 0x5759d57e - .long 0x56e0ea35, 0x575631f4 - .long 0x56da4757, 0x575283a7 - .long 0x56d3c214, 0x574ecbb1 - .long 0x56cd5ab3, 0x574b0b28 - .long 0x56c71175, 0x57474323 - .long 0x56c0e692, 0x574374b5 - .long 0x56bada38, 0x573fa0ee - .long 0x56b4ec8f, 0x573bc8dc - .long 0x56af1db3, 0x5737ed89 - .long 0x56a96dbc, 0x57340ff9 - .long 0x56a3dcb7, 0x5730312e - .long 0x569e6aaa, 0x572c5223 - .long 0x56991793, 0x572873cf - .long 0x5693e369, 0x57249721 - .long 0x568ece1a, 0x5720bd06 - .long 0x5689d78f, 0x571ce661 - .long 0x5684ffa8, 0x5719140f - .long 0x56804640, 0x571546e7 - .long 0x56775654, 0x57117fb9 - .long 0x566e5c65, 0x570dbf4c - .long 0x56659e43, 0x570a0662 - .long 0x565d1b6d, 0x570655b1 - .long 0x5654d35d, 0x5702adeb - .long 0x564cc57d, 0x56fe1f73 - .long 0x5644f12f, 0x56f6f777 - .long 0x563d55cc, 0x56efe513 - .long 0x5635f2a1, 0x56e8e968 - .long 0x562ec6f6, 0x56e20584 - .long 0x5627d207, 0x56db3a64 - .long 0x5621130b, 0x56d488f8 - .long 0x561a8931, 0x56cdf21c - .long 0x561433a0, 0x56c7769b - .long 0x560e117c, 0x56c11733 - .long 0x560821e1, 0x56bad48d - .long 0x560263e5, 0x56b4af46 - .long 0x55f9ad39, 0x56aea7ea - .long 0x55eef22b, 0x56a8bef3 - .long 0x55e494b6, 0x56a2f4ce - .long 0x55da92eb, 0x569d49d9 - .long 0x55d0ead3, 0x5697be62 - .long 0x55c79a75, 0x569252aa - .long 0x55be9fd3, 0x568d06e3 - .long 0x55b5f8ee, 0x5687db31 - .long 0x55ada3c2, 0x5682cfad - .long 0x55a59e4c, 0x567bc8c2 - .long 0x559de68a, 0x56723298 - .long 0x55967a77, 0x5668dcc1 - .long 0x558f5812, 0x565fc70e - .long 0x55887d5c, 0x5656f136 - .long 0x5581e856, 0x564e5adf - .long 0x55772e0c, 0x56460399 - .long 0x556b0eeb, 0x563deae4 - .long 0x555f6f64, 0x5636102b - .long 0x55544b9e, 0x562e72cb - .long 0x55499fc8, 0x5627120f - .long 0x553f681d, 0x561fed36 - .long 0x5535a0e6, 0x5619036e - .long 0x552c4679, 0x561253dc - .long 0x55235539, 0x560bdd96 - .long 0x551ac999, 0x56059fa9 - .long 0x5512a01c, 0x55ff3230 - .long 0x550ad554, 0x55f391b9 - .long 0x550365e5, 0x55e85bd0 - .long 0x54f89d02, 0x55dd8e4c - .long 0x54eb17df, 0x55d326f3 - .long 0x54de360f, 0x55c92385 - .long 0x54d1f166, 0x55bf81b6 - .long 0x54c643dc, 0x55b63f32 - .long 0x54bb2790, 0x55ad59a1 - .long 0x54b096c5, 0x55a4cea4 - .long 0x54a68be5, 0x559c9bd9 - .long 0x549d0180, 0x5594bedd - .long 0x5493f24c, 0x558d354b - .long 0x548b5926, 0x5585fcbf - .long 0x54833111, 0x557e25af - .long 0x5476ea69, 0x5570ea68 - .long 0x546841c1, 0x556442f0 - .long 0x545a5f10, 0x55582a98 - .long 0x544d398b, 0x554c9cbd - .long 0x5440c8ae, 0x554194c7 - .long 0x54350440, 0x55370e2c - .long 0x5429e44f, 0x552d0474 - .long 0x541f612f, 0x55237336 - .long 0x5415737d, 0x551a561b - .long 0x540c1417, 0x5511a8e1 - .long 0x54033c22, 0x5509675a - .long 0x53f5ca07, 0x55018d6b - .long 0x53e610c3, 0x54f42e22 - .long 0x53d74046, 0x54e600c0 - .long 0x53c94cd8, 0x54d88b05 - .long 0x53bc2b3a, 0x54cbc574 - .long 0x53afd0a5, 0x54bfa8c4 - .long 0x53a432c3, 0x54b42ddb - .long 0x539947af, 0x54a94dcf - .long 0x538f05f3, 0x549f01ec - .long 0x5385647e, 0x549543ae - .long 0x5378b557, 0x548c0cc2 - .long 0x5367c06a, 0x5483570a - .long 0x5357da71, 0x54763931 - .long 0x5348f45f, 0x5466af65 - .long 0x533affda, 0x5458059c - .long 0x532def39, 0x544a3127 - .long 0x5321b57a, 0x543d27b5 - .long 0x5316463d, 0x5430df57 - .long 0x530b95bd, 0x54254e7b - .long 0x530198cc, 0x541a6bee - .long 0x52f08999, 0x54102ed6 - .long 0x52df1f58, 0x54068eb5 - .long 0x52cedfb9, 0x53fb06c5 - .long 0x52bfb8a0, 0x53ea0a1d - .long 0x52b198e5, 0x53da1876 - .long 0x52a4704e, 0x53cb237a - .long 0x52982f7c, 0x53bd1d6f - .long 0x528cc7eb, 0x53aff93b - .long 0x52822be3, 0x53a3aa56 - .long 0x52709cde, 0x539824ce - .long 0x525e46a9, 0x538d5d3c - .long 0x524d3e18, 0x538348c6 - .long 0x523d6d6f, 0x5373ba24 - .long 0x522ec035, 0x53622096 - .long 0x52212321, 0x5351b22a - .long 0x52148413, 0x53425d18 - .long 0x5208d1fc, 0x53341080 - .long 0x51fbf9ac, 0x5326bc5e - .long 0x51e7eb29, 0x531a5183 - .long 0x51d55c2d, 0x530ec18c - .long 0x51c43238, 0x5303feda - .long 0x51b45472, 0x52f3f919 - .long 0x51a5ab93, 0x52e15ce8 - .long 0x519821ce, 0x52d0121b - .long 0x518ba2bc, 0x52c002f8 - .long 0x51801b49, 0x52b11afe - .long 0x516af33c, 0x52a346d7 - .long 0x51575a21, 0x5296744c - .long 0x51454c24, 0x528a9237 - .long 0x5134ac3b, 0x527f20e7 - .long 0x51255f51, 0x526abfa9 - .long 0x51174c27, 0x5257e42f - .long 0x510a5b3b, 0x524673af - .long 0x50fced50, 0x52365507 - .long 0x50e7141d, 0x522770a1 - .long 0x50d304fc, 0x5219b066 - .long 0x50c09cb5, 0x520cffa3 - .long 0x50afba92, 0x52014af8 - .long 0x50a04037, 0x51ed0088 - .long 0x50921177, 0x51d91d2d - .long 0x50851430, 0x51c6cc35 - .long 0x50726058, 0x51b5f011 - .long 0x505c9dfa, 0x51a66d2a - .long 0x5048b7be, 0x519829c8 - .long 0x50368738, 0x518b0df2 - .long 0x5025e8e0, 0x517e06ab - .long 0x5016bbdf, 0x5167ea53 - .long 0x5008e1df, 0x5153a034 - .long 0x4ff87dc3, 0x5141045e - .long 0x4fe1721f, 0x512ff56d - .long 0x4fcc712a, 0x51205461 - .long 0x4fb94efb, 0x51120475 - .long 0x4fa7e31e, 0x5104eafc - .long 0x4f980855, 0x50f1de7a - .long 0x4f899c5c, 0x50dbf4a3 - .long 0x4f78ff60, 0x50c7ee0e - .long 0x4f612ab5, 0x50b5a381 - .long 0x4f4b8583, 0x50a4f0bc - .long 0x4f37deef, 0x5095b43b - .long 0x4f260a27, 0x5087cf0e - .long 0x4f15de0f, 0x5076494d - .long 0x4f0734f9, 0x505f355e - .long 0x4ef3d8c4, 0x504a31bf - .long 0x4edbc95e, 0x503711b4 - .long 0x4ec601e9, 0x5025ac0e - .long 0x4eb24d81, 0x5015dae6 - .long 0x4ea07bca, 0x50077b62 - .long 0x4e906098, 0x4ff4daf4 - .long 0x4e81d395, 0x4fdd2782 - .long 0x4e695fe3, 0x4fc7a666 - .long 0x4e51a834, 0x4fb42611 - .long 0x4e3c42e7, 0x4fa2790f - .long 0x4e28f835, 0x4f9275b9 - .long 0x4e179555, 0x4f83f5e9 - .long 0x4e07ec0b, 0x4f6dad68 - .long 0x4df3a498, 0x4f55f04f - .long 0x4dda43ba, 0x4f407a1d - .long 0x4dc37003, 0x4f2d1570 - .long 0x4daeea58, 0x4f1b9188 - .long 0x4d9c7974, 0x4f0bc1e7 - .long 0x4d8be963, 0x4efafbec - .long 0x4d7a160c, 0x4ee14167 - .long 0x4d5f6759, 0x4eca10ce - .long 0x4d477955, 0x4eb52cb9 - .long 0x4d3205fb, 0x4ea25d43 - .long 0x4d1ecdf3, 0x4e916f95 - .long 0x4d0d97f2, 0x4e823575 - .long 0x4cfc6061, 0x4e6909cc - .long 0x4ce0cfd4, 0x4e506f88 - .long 0x4cc829c6, 0x4e3a56e4 - .long 0x4cb221ff, 0x4e268119 - .long 0x4c9e73c2, 0x4e14b538 - .long 0x4c8ce119, 0x4e04bfb1 - .long 0x4c7a6462, 0x4dece39b - .long 0x4c5e6987, 0x4dd34296 - .long 0x4c457726, 0x4dbc4fdc - .long 0x4c2f3bdb, 0x4da7c64b - .long 0x4c1b6e79, 0x4d956771 - .long 0x4c09cd3e, 0x4d84fae8 - .long 0x4bf43a38, 0x4d6c9b8f - .long 0x4bd85225, 0x4d52644f - .long 0x4bbf8325, 0x4d3afd47 - .long 0x4ba977f0, 0x4d261be0 - .long 0x4b95e415, 0x4d137cf0 - .long 0x4b848320, 0x4d02e402 - .long 0x4b6a2f8b, 0x4ce8356b - .long 0x4b4ed659, 0x4ccde050 - .long 0x4b369893, 0x4cb670d5 - .long 0x4b211e8a, 0x4ca19816 - .long 0x4b0e19e7, 0x4c8f0f43 - .long 0x4afa896f, 0x4c7d2da8 - .long 0x4adcc11e, 0x4c5febab - .long 0x4ac26b7f, 0x4c45f27c - .long 0x4aab2549, 0x4c2ee6b3 - .long 0x4a969605, 0x4c1a767c - .long 0x4a846ee9, 0x4c0858a4 - .long 0x4a68d3a8, 0x4bf09770 - .long 0x4a4c90c6, 0x4bd42a75 - .long 0x4a33a635, 0x4bbb01dd - .long 0x4a1db15b, 0x4ba4c066 - .long 0x4a0a5aa0, 0x4b9112d9 - .long 0x49f2a881, 0x4b7f5e08 - .long 0x49d4b277, 0x4b60a591 - .long 0x49ba58bd, 0x4b45867e - .long 0x49a32ed5, 0x4b2d97f3 - .long 0x498ed4a2, 0x4b187c9e - .long 0x4979ea08, 0x4b05e186 - .long 0x495a8951, 0x4aeaf9d4 - .long 0x493f01d9, 0x4ace1a8c - .long 0x4926ddcc, 0x4ab4b0dc - .long 0x4911b50d, 0x4a9e558a - .long 0x48fe574a, 0x4a8aad05 - .long 0x48dde0d0, 0x4a72cc48 - .long 0x48c1776e, 0x4a547203 - .long 0x48a89cd3, 0x4a39cbe3 - .long 0x4892e1aa, 0x4a226937 - .long 0x487fc7c2, 0x4a0de652 - .long 0x485e9a3a, 0x49f7d629 - .long 0x4841a2c3, 0x49d85345 - .long 0x48285bae, 0x49bcba74 - .long 0x48124f79, 0x49a49254 - .long 0x47fe2dc4, 0x498f6fd2 - .long 0x47dcae77, 0x4979e90c - .long 0x47bf81dd, 0x49599a7d - .long 0x47a61c4e, 0x493d616c - .long 0x47900357, 0x4924bcd6 - .long 0x47799750, 0x490f3b3e - .long 0x47582e7f, 0x48f8f1a9 - .long 0x473b27a3, 0x48d83bc6 - .long 0x4721f2b6, 0x48bbbab7 - .long 0x470c11c0, 0x48a2e733 - .long 0x46f22d4c, 0x488d4a80 - .long 0x46d14266, 0x4874f900 - .long 0x46b4bacb, 0x485443df - .long 0x469c03d6, 0x4837d5b2 - .long 0x46869d9b, 0x481f2272 - .long 0x46683120, 0x4809af94 - .long 0x46482706, 0x47ee23cf - .long 0x462c7395, 0x47cdd76a - .long 0x46148366, 0x47b1d636 - .long 0x45ffac6d, 0x4799912d - .long 0x45dbf8fa, 0x47848b78 - .long 0x45bd2a88, 0x4764b060 - .long 0x45a298a1, 0x474530ba - .long 0x458bb0fc, 0x4729f27c - .long 0x456fe94b, 0x47126579 - .long 0x454deaf8, 0x46fc1860 - .long 0x4530a808, 0x46d8f2d6 - .long 0x45177b00, 0x46ba9c63 - .long 0x4501d48c, 0x46a06fec - .long 0x44de7135, 0x4689de04 - .long 0x44be77a1, 0x466cd440 - .long 0x44a302b0, 0x464b505a - .long 0x448b71e5, 0x462e74d6 - .long 0x446e7534, 0x46159f2a - .long 0x444bca2d, 0x46004280 - .long 0x442e1414, 0x45dbc9bf - .long 0x4414a0a8, 0x45bc396d - .long 0x43fdac7d, 0x45a11d60 - .long 0x43d860d4, 0x4589d7a8 - .long 0x43b87a3a, 0x456bbf86 - .long 0x439d3454, 0x45497f9a - .long 0x4385e630, 0x452c23f7 - .long 0x4363fd06, 0x4512fcf7 - .long 0x434200db, 0x44fae63c - .long 0x4325014d, 0x44d607b0 - .long 0x430c4623, 0x44b67d4e - .long 0x42ee627d, 0x449b855c - .long 0x42ca7603, 0x44847920 - .long 0x42abde4b, 0x44619261 - .long 0x4291d40d, 0x443ff482 - .long 0x4277593c, 0x442344bf - .long 0x4251abca, 0x440acd1c - .long 0x4231a5c0, 0x43ebe2ca - .long 0x42167152, 0x43c85727 - .long 0x41feaf84, 0x43aa1178 - .long 0x41d779e7, 0x43904cc0 - .long 0x41b63731, 0x4374c081 - .long 0x419a03db, 0x434f7703 - .long 0x41821dd0, 0x432fc5c4 - .long 0x415bbf2e, 0x4314d94a - .long 0x41397862, 0x42fbf99c - .long 0x411c770c, 0x42d52bb9 - .long 0x4103eeb4, 0x42b4411f - .long 0x40de62c7, 0x429858a7 - .long 0x40bb5652, 0x4280b23e - .long 0x409dbc89, 0x4259543f - .long 0x4084bfc1, 0x42376979 - .long 0x405f551f, 0x421ab66b - .long 0x403bc5f1, 0x420270af - .long 0x401dccc2, 0x41dbd820 - .long 0x40048c16, 0x41b92c31 - .long 0x3fde907e, 0x419be496 - .long 0x3fbac490, 0x41832dcb - .long 0x3f9ca73d, 0x415ca86a - .long 0x3f8354cb, 0x41397eca - .long 0x3f5c1947, 0x411bdc1e - .long 0x3f3857fa, 0x4102e528 - .long 0x3f1a529e, 0x40dbc03f - .long 0x3f0120ef, 0x40b85f58 - .long 0x3ed7fdc8, 0x409a9d36 - .long 0x3eb48e3e, 0x40819878 - .long 0x3e96dc65, 0x4059250b - .long 0x3e7bfa7c, 0x4035d48d - .long 0x3e5255b2, 0x40182f4c - .long 0x3e2f7d27, 0x3ffe9ef1 - .long 0x3e12586c, 0x3fd4e64a - .long 0x3df3f750, 0x3fb1ed7c - .long 0x3dcb4137, 0x3f94a0bb - .long 0x3da94169, 0x3f782f41 - .long 0x3d8ce028, 0x3f4f1cee - .long 0x3d6a654e, 0x3f2cc100 - .long 0x3d42e7d6, 0x3f100645 - .long 0x3d21fd99, 0x3ef00749 - .long 0x3d0691c1, 0x3ec7ea70 - .long 0x3cdf78d9, 0x3ea66ce0 - .long 0x3cb976f2, 0x3e8a7a45 - .long 0x3c99d8e5, 0x3e665575 - .long 0x3c7f1de8, 0x3e3f778a - .long 0x3c536be9, 0x3e1f14b2 - .long 0x3c2f2031, 0x3e041bb4 - .long 0x3c10fdbd, 0x3ddb4f88 - .long 0x3beff7df, 0x3db5f2ba - .long 0x3bc67c0b, 0x3d96e08d - .long 0x3ba417d4, 0x3d7a1a1e - .long 0x3b879862, 0x3d4f30a7 - .long 0x3b5ffc37, 0x3d2b8e9a - .long 0x3b38e85b, 0x3d0dfba1 - .long 0x3b1892fb, 0x3ceae636 - .long 0x3afbaaf5, 0x3cc2374f - .long 0x3acf75d5, 0x3ca08024 - .long 0x3aaaef8c, 0x3c8492c0 - .long 0x3a8cc60c, 0x3c5ae75b - .long 0x3a67c170, 0x3c34a340 - .long 0x3a3ead7b, 0x3c14fcf4 - .long 0x3a1cce14, 0x3bf5a5cf - .long 0x3a00e32d, 0x3bca68ef - .long 0x39d3c741, 0x3ba6b383 - .long 0x39ade7c9, 0x3b8939a3 - .long 0x398ebc8e, 0x3b61cfd0 - .long 0x396a31ee, 0x3b39b3ce - .long 0x394008fe, 0x3b18a48b - .long 0x391d638e, 0x3afad08d - .long 0x3900ee61, 0x3acdf654 - .long 0x38d322ce, 0x3aa90c4d - .long 0x38accb15, 0x3a8aaea4 - .long 0x388d5872, 0x3a636e45 - .long 0x3867216f, 0x3a3a6544 - .long 0x383ce218, 0x3a18b095 - .long 0x381a4894, 0x39fa092d - .long 0x37fbec07, 0x39cc9f41 - .long 0x37cd9386, 0x39a76003 - .long 0x37a7acfd, 0x3988d758 - .long 0x3788b256, 0x395fa559 - .long 0x375ec64b, 0x3936ab0f - .long 0x373570b9, 0x39152037 - .long 0x3713b43a, 0x38f35dd3 - .long 0x36f05d69, 0x38c67c0a - .long 0x36c37bc4, 0x38a1ccfc - .long 0x369ee7d7, 0x3883d518 - .long 0x36811c14, 0x3856b981 - .long 0x3651b337, 0x382ec87a - .long 0x362a371c, 0x380e33a7 - .long 0x360a1932, 0x37e74660 - .long 0x35dff98b, 0x37bbfab1 - .long 0x35b589f6, 0x3798b6d4 - .long 0x3593127a, 0x37780230 - .long 0x356e2ef2, 0x37494905 - .long 0x3540c69d, 0x372348d9 - .long 0x351bf310, 0x370464b5 - .long 0x34fc31bf, 0x36d69685 - .long 0x34cbd1ee, 0x36add231 - .long 0x34a4a520, 0x368cbaf0 - .long 0x3484ef72, 0x3663c449 - .long 0x34568fd0, 0x363839e2 - .long 0x342d122f, 0x3614efa4 - .long 0x340b893c, 0x35f0b1df - .long 0x33e0e3a6, 0x35c265d8 - .long 0x33b5237a, 0x359cede7 - .long 0x3391d42c, 0x357d3dc9 - .long 0x336ab0cb, 0x354c3b50 - .long 0x333cc25b, 0x3524a05e - .long 0x3317be62, 0x3504a304 - .long 0x32f3db16, 0x34d59f46 - .long 0x32c3d8af, 0x34abf19f - .long 0x329d3680, 0x348a545b - .long 0x327c475d, 0x345e76f3 - .long 0x324a5141, 0x3432cc8c - .long 0x32222c05, 0x340fa24c - .long 0x3201edfc, 0x33e6a843 - .long 0x31d01833, 0x33b91cba - .long 0x31a68f97, 0x33947ce5 - .long 0x318540a5, 0x336e1a5b - .long 0x31551b65, 0x333eced8 - .long 0x312a535b, 0x3318d52b - .long 0x31081119, 0x32f4b613 - .long 0x30d94acf, 0x32c3d10c - .long 0x30ad6b36, 0x329c9d69 - .long 0x308a563f, 0x327a666d - .long 0x305c98dc, 0x32481354 - .long 0x302fcd12, 0x321fc975 - .long 0x300c08aa, 0x31ff1904 - .long 0x2fdefaaf, 0x31cb87d8 - .long 0x2fb17113, 0x31a24ef3 - .long 0x2f8d22bb, 0x31815f38 - .long 0x2f60685f, 0x314e2339 - .long 0x2f3251c3, 0x3124258f - .long 0x2f0da0c6, 0x3102a54d - .long 0x2ee0dd25, 0x30cfdcca - .long 0x2eb26c30, 0x30a54727 - .long 0x2e8d8121, 0x30835a7f - .long 0x2e605773, 0x3050aec3 - .long 0x2e31bffd, 0x3025afef - .long 0x2e0cc431, 0x30037c6d - .long 0x2dded902, 0x2fd09664 - .long 0x2db04f61, 0x2fa55e85 - .long 0x2d8b6c69, 0x2f830aa5 - .long 0x2d5c66c4, 0x2f4f93fd - .long 0x2d2e1f21, 0x2f2453fe - .long 0x2d097e36, 0x2f0206a5 - .long 0x2cd908c8, 0x2ecdaaf4 - .long 0x2cab3670, 0x2ea293d6 - .long 0x2c86fff0, 0x2e8073d6 - .long 0x2c54ca13, 0x2e4ae1ac - .long 0x2c279ec9, 0x2e2023e7 - .long 0x2c03f9af, 0x2dfcaee7 - .long 0x2bcfb860, 0x2dc74167 - .long 0x2ba363bd, 0x2d9d0c41 - .long 0x2b807524, 0x2d7770ea - .long 0x2b49e3d6, 0x2d42d60c - .long 0x2b1e92b5, 0x2d195702 - .long 0x2af8fac8, 0x2cf13ec4 - .long 0x2ac35eb5, 0x2cbdaded - .long 0x2a993aaa, 0x2c95101b - .long 0x2a703d5a, 0x2c6a2c50 - .long 0x2a3c3cf6, 0x2c37d975 - .long 0x2a136bd8, 0x2c104516 - .long 0x29e6cc51, 0x2be24fc5 - .long 0x29b493e1, 0x2bb16ad5 - .long 0x298d376b, 0x2b8b04c7 - .long 0x295cc356, 0x2b59c147 - .long 0x292c79ad, 0x2b2a759f - .long 0x2906af30, 0x2b055f07 - .long 0x28d23edb, 0x2ad09a6a - .long 0x28a4050c, 0x2aa30e6d - .long 0x287fca72, 0x2a7ec8c1 - .long 0x28475b9c, 0x2a46f5b1 - .long 0x281b4cca, 0x2a1b4a74 - .long 0x27f1d725, 0x29f24b83 - .long 0x27bc361f, 0x29bcee14 - .long 0x27926764, 0x29933f23 - .long 0x2763a7e2, 0x29656858 - .long 0x2730ea36, 0x29329e84 - .long 0x27096aae, 0x290b01c6 - .long 0x26d55ed6, 0x28d840d5 - .long 0x26a59297, 0x28a82171 - .long 0x26806b7c, 0x2882a722 - .long 0x26471c70, 0x284af596 - .long 0x261a4874, 0x281d9063 - .long 0x25eefab5, 0x27f4865b - .long 0x25b8fef0, 0x27bda5bb - .long 0x258f232d, 0x27930395 - .long 0x255d6497, 0x2763d176 - .long 0x252b220e, 0x27306e78 - .long 0x25043806, 0x270891a3 - .long 0x24cc3533, 0x26d35285 - .long 0x249d9eab, 0x26a36ab9 - .long 0x247333ed, 0x267c9e87 - .long 0x243b895c, 0x2643294f - .long 0x24108aa2, 0x2616b2d7 - .long 0x23deb305, 0x25e89e19 - .long 0x23ab79f7, 0x25b3722d - .long 0x2383f8a5, 0x258a5c5b - .long 0x234b094e, 0x255542a6 - .long 0x231c1be0, 0x252445ca - .long 0x22eff061, 0x24fcf3b9 - .long 0x22b84dad, 0x24c2a818 - .long 0x228d7fe9, 0x2495b90c - .long 0x22592b20, 0x246635db - .long 0x222691fd, 0x2430e58d - .long 0x21ff65e8, 0x2407dd07 - .long 0x21c3b3ec, 0x23d09839 - .long 0x2195e33f, 0x23a00d5e - .long 0x21657c23, 0x23757e16 - .long 0x212f973d, 0x233c2e00 - .long 0x210649d6, 0x23102d3f - .long 0x20cd4d83, 0x22dcd18d - .long 0x209cdbfe, 0x22a904b4 - .long 0x206f93bd, 0x22814e73 - .long 0x2036de68, 0x2245c0eb - .long 0x200b8405, 0x22172479 - .long 0x1fd4c713, 0x21e6ec36 - .long 0x1fa22d35, 0x21b0523d - .long 0x1f771927, 0x21869086 - .long 0x1f3c2718, 0x214d4b0f - .long 0x1f0f32ff, 0x211c85ba - .long 0x1ed9ddc3, 0x20ee8f29 - .long 0x1ea5a71b, 0x20b5b53d - .long 0x1e7bc87b, 0x208a5661 - .long 0x1e3f4167, 0x205288d5 - .long 0x1e11353d, 0x2020208a - .long 0x1ddc631a, 0x1ff3754b - .long 0x1da729d6, 0x1fb8fcbd - .long 0x1d7d76ae, 0x1f8c7d97 - .long 0x1d4010bf, 0x1f554a3f - .long 0x1d117833, 0x1f21d3cb - .long 0x1cdc3fc3, 0x1ef57178 - .long 0x1ca6a764, 0x1eba0a73 - .long 0x1c7c141f, 0x1e8cf23a - .long 0x1c3e8d91, 0x1e5575bf - .long 0x1c0ff968, 0x1e218fb3 - .long 0x1bd974f4, 0x1df47139 - .long 0x1ba4246f, 0x1db8d48f - .long 0x1b77ad8b, 0x1d8bb00a - .long 0x1b3ac5c9, 0x1d5309be - .long 0x1b0cc6a1, 0x1d1f56ba - .long 0x1ad41c58, 0x1cf07de1 - .long 0x1a9fb806, 0x1cb56657 - .long 0x1a706b47, 0x1c88c2bc - .long 0x1a34dbfa, 0x1c4e1cba - .long 0x1a07fd09, 0x1c1b3d7d - .long 0x19cc668e, 0x1be9bbfd - .long 0x19998a40, 0x1bafdf73 - .long 0x19668edd, 0x1b844540 - .long 0x192d054e, 0x1b46dbe6 - .long 0x1901c77a, 0x1b156976 - .long 0x18c29845, 0x1ae0691f - .long 0x1891d1e0, 0x1aa8720d - .long 0x185a6f34, 0x1a7cc054 - .long 0x18238672, 0x1a3d887f - .long 0x17f4b806, 0x1a0e0ecc - .long 0x17b70648, 0x19d4d840 - .long 0x1788d12d, 0x199f5fda - .long 0x174c739d, 0x196e8e9b - .long 0x1718afac, 0x193273f8 - .long 0x16e3f1ae, 0x19056d4a - .long 0x16aa10bb, 0x18c76cf4 - .long 0x167da48f, 0x1894f659 - .long 0x163d0e1a, 0x185e6d9a - .long 0x160cd879, 0x1825fb65 - .long 0x15d1c1e5, 0x17f7998c - .long 0x159c1df9, 0x17b895e1 - .long 0x1568466d, 0x17898a88 - .long 0x152cb568, 0x174cdf9b - .long 0x15005b01, 0x1718826b - .long 0x14beb151, 0x16e2f29a - .long 0x148d955e, 0x16a8c6d9 - .long 0x14522407, 0x167ae8e3 - .long 0x141bdf21, 0x163a6a2d - .long 0x13e71f72, 0x160a6e25 - .long 0x13ab44c3, 0x15cd7e87 - .long 0x137db4e3, 0x15987319 - .long 0x133bd23f, 0x156215a4 - .long 0x130afa70, 0x15278fa9 - .long 0x12cd92ee, 0x14f840ab - .long 0x1297f777, 0x14b7cfb1 - .long 0x1260915e, 0x148807fd - .long 0x1225d8aa, 0x14493e73 - .long 0x11f4d72b, 0x1414c97a - .long 0x11b4a474, 0x13dbe665 - .long 0x11853669, 0x13a26be2 - .long 0x11446065, 0x136fd110 - .long 0x1110acc4, 0x1330f593 - .long 0x10d51115, 0x13028371 - .long 0x109cd187, 0x12c06c14 - .long 0x1066ba07, 0x128dc782 - .long 0x1029a6c1, 0x1250d3f6 - .long 0x0ff95d83, 0x1219b798 - .long 0x0fb72d9a, 0x11e230b9 - .long 0x0f867e41, 0x11a655c1 - .long 0x0f456641, 0x117484a6 - .long 0x0f10cb43, 0x1133a328 - .long 0x0ed44fd3, 0x1103e85c - .long 0x0e9b94c1, 0x10c19ffd - .long 0x0e63e84a, 0x108e0a3d - .long 0x0e26d8e4, 0x10504b66 - .long 0x0df42c6c, 0x1018a6f6 - .long 0x0db294f0, 0x0fdfa367 - .long 0x0d828bdd, 0x0fa3bcb5 - .long 0x0d3ec540, 0x0f6fa4d1 - .long 0x0d0b5230, 0x0f2f48cc - .long 0x0ccb653b, 0x0f00259a - .long 0x0c946596, 0x0ebb479f - .long 0x00000000, 0x00000000 - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ - .align 16 - .long 0x41210000, 0x41210000, 0x41210000, 0x41210000 /* _MaxThreshold=644.0/64.0 */ - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* sign mask */ - .align 16 - .long 0x48000000, 0x48000000, 0x48000000, 0x48000000 /* SRound */ - .align 16 - .long 0x27800000, 0x27800000, 0x27800000, 0x27800000 /* _TwoM48 */ - // polynomial coefficients - .align 16 - .long 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca // poly1[0] - .align 16 - .long 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22 // poly1[1] - .align 16 - .long 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36 // poly3[0] - .align 16 - .long 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb // poly3[1] - .align 16 - .long 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6 // poly1[2] - .align 16 - .long 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc // poly1[3] - .align 16 - .long 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB /* UF_Threshold */ - .align 16 - .long 0x57800000, 0x57800000, 0x57800000, 0x57800000 /* 2^48 */ - .align 16 - .type __svml_serfc_data_internal,@object - .size __svml_serfc_data_internal,.-__svml_serfc_data_internal + /* _erfc_tbl */ + .long 0x57800000, 0x57906ebb + .long 0x577b7ca2, 0x579065b4 + .long 0x5776f9d5, 0x57904aa3 + .long 0x57727828, 0x57901d93 + .long 0x576df82b, 0x578fde94 + .long 0x57697a6e, 0x578f8dbd + .long 0x5764ff7f, 0x578f2b2e + .long 0x576087ea, 0x578eb70a + .long 0x575c143d, 0x578e317d + .long 0x5757a500, 0x578d9ab9 + .long 0x57533abf, 0x578cf2f5 + .long 0x574ed5fe, 0x578c3a6f + .long 0x574a7744, 0x578b716c + .long 0x57461f12, 0x578a9834 + .long 0x5741cdeb, 0x5789af18 + .long 0x573d844a, 0x5788b66c + .long 0x573942ac, 0x5787ae8b + .long 0x57350989, 0x578697d3 + .long 0x5730d956, 0x578572a8 + .long 0x572cb284, 0x57843f72 + .long 0x57289583, 0x5782fe9f + .long 0x572482bd, 0x5781b0a0 + .long 0x57207a9b, 0x578055e8 + .long 0x571c7d80, 0x577ddddf + .long 0x57188bcb, 0x577af867 + .long 0x5714a5da, 0x5777fc62 + .long 0x5710cc05, 0x5774ead4 + .long 0x570cfe9f, 0x5771c4c4 + .long 0x57093df9, 0x576e8b3e + .long 0x57058a5e, 0x576b3f51 + .long 0x5701e415, 0x5767e20f + .long 0x56fc96c6, 0x5764748e + .long 0x56f5810a, 0x5760f7e5 + .long 0x56ee876d, 0x575d6d2d + .long 0x56e7aa5a, 0x5759d57e + .long 0x56e0ea35, 0x575631f4 + .long 0x56da4757, 0x575283a7 + .long 0x56d3c214, 0x574ecbb1 + .long 0x56cd5ab3, 0x574b0b28 + .long 0x56c71175, 0x57474323 + .long 0x56c0e692, 0x574374b5 + .long 0x56bada38, 0x573fa0ee + .long 0x56b4ec8f, 0x573bc8dc + .long 0x56af1db3, 0x5737ed89 + .long 0x56a96dbc, 0x57340ff9 + .long 0x56a3dcb7, 0x5730312e + .long 0x569e6aaa, 0x572c5223 + .long 0x56991793, 0x572873cf + .long 0x5693e369, 0x57249721 + .long 0x568ece1a, 0x5720bd06 + .long 0x5689d78f, 0x571ce661 + .long 0x5684ffa8, 0x5719140f + .long 0x56804640, 0x571546e7 + .long 0x56775654, 0x57117fb9 + .long 0x566e5c65, 0x570dbf4c + .long 0x56659e43, 0x570a0662 + .long 0x565d1b6d, 0x570655b1 + .long 0x5654d35d, 0x5702adeb + .long 0x564cc57d, 0x56fe1f73 + .long 0x5644f12f, 0x56f6f777 + .long 0x563d55cc, 0x56efe513 + .long 0x5635f2a1, 0x56e8e968 + .long 0x562ec6f6, 0x56e20584 + .long 0x5627d207, 0x56db3a64 + .long 0x5621130b, 0x56d488f8 + .long 0x561a8931, 0x56cdf21c + .long 0x561433a0, 0x56c7769b + .long 0x560e117c, 0x56c11733 + .long 0x560821e1, 0x56bad48d + .long 0x560263e5, 0x56b4af46 + .long 0x55f9ad39, 0x56aea7ea + .long 0x55eef22b, 0x56a8bef3 + .long 0x55e494b6, 0x56a2f4ce + .long 0x55da92eb, 0x569d49d9 + .long 0x55d0ead3, 0x5697be62 + .long 0x55c79a75, 0x569252aa + .long 0x55be9fd3, 0x568d06e3 + .long 0x55b5f8ee, 0x5687db31 + .long 0x55ada3c2, 0x5682cfad + .long 0x55a59e4c, 0x567bc8c2 + .long 0x559de68a, 0x56723298 + .long 0x55967a77, 0x5668dcc1 + .long 0x558f5812, 0x565fc70e + .long 0x55887d5c, 0x5656f136 + .long 0x5581e856, 0x564e5adf + .long 0x55772e0c, 0x56460399 + .long 0x556b0eeb, 0x563deae4 + .long 0x555f6f64, 0x5636102b + .long 0x55544b9e, 0x562e72cb + .long 0x55499fc8, 0x5627120f + .long 0x553f681d, 0x561fed36 + .long 0x5535a0e6, 0x5619036e + .long 0x552c4679, 0x561253dc + .long 0x55235539, 0x560bdd96 + .long 0x551ac999, 0x56059fa9 + .long 0x5512a01c, 0x55ff3230 + .long 0x550ad554, 0x55f391b9 + .long 0x550365e5, 0x55e85bd0 + .long 0x54f89d02, 0x55dd8e4c + .long 0x54eb17df, 0x55d326f3 + .long 0x54de360f, 0x55c92385 + .long 0x54d1f166, 0x55bf81b6 + .long 0x54c643dc, 0x55b63f32 + .long 0x54bb2790, 0x55ad59a1 + .long 0x54b096c5, 0x55a4cea4 + .long 0x54a68be5, 0x559c9bd9 + .long 0x549d0180, 0x5594bedd + .long 0x5493f24c, 0x558d354b + .long 0x548b5926, 0x5585fcbf + .long 0x54833111, 0x557e25af + .long 0x5476ea69, 0x5570ea68 + .long 0x546841c1, 0x556442f0 + .long 0x545a5f10, 0x55582a98 + .long 0x544d398b, 0x554c9cbd + .long 0x5440c8ae, 0x554194c7 + .long 0x54350440, 0x55370e2c + .long 0x5429e44f, 0x552d0474 + .long 0x541f612f, 0x55237336 + .long 0x5415737d, 0x551a561b + .long 0x540c1417, 0x5511a8e1 + .long 0x54033c22, 0x5509675a + .long 0x53f5ca07, 0x55018d6b + .long 0x53e610c3, 0x54f42e22 + .long 0x53d74046, 0x54e600c0 + .long 0x53c94cd8, 0x54d88b05 + .long 0x53bc2b3a, 0x54cbc574 + .long 0x53afd0a5, 0x54bfa8c4 + .long 0x53a432c3, 0x54b42ddb + .long 0x539947af, 0x54a94dcf + .long 0x538f05f3, 0x549f01ec + .long 0x5385647e, 0x549543ae + .long 0x5378b557, 0x548c0cc2 + .long 0x5367c06a, 0x5483570a + .long 0x5357da71, 0x54763931 + .long 0x5348f45f, 0x5466af65 + .long 0x533affda, 0x5458059c + .long 0x532def39, 0x544a3127 + .long 0x5321b57a, 0x543d27b5 + .long 0x5316463d, 0x5430df57 + .long 0x530b95bd, 0x54254e7b + .long 0x530198cc, 0x541a6bee + .long 0x52f08999, 0x54102ed6 + .long 0x52df1f58, 0x54068eb5 + .long 0x52cedfb9, 0x53fb06c5 + .long 0x52bfb8a0, 0x53ea0a1d + .long 0x52b198e5, 0x53da1876 + .long 0x52a4704e, 0x53cb237a + .long 0x52982f7c, 0x53bd1d6f + .long 0x528cc7eb, 0x53aff93b + .long 0x52822be3, 0x53a3aa56 + .long 0x52709cde, 0x539824ce + .long 0x525e46a9, 0x538d5d3c + .long 0x524d3e18, 0x538348c6 + .long 0x523d6d6f, 0x5373ba24 + .long 0x522ec035, 0x53622096 + .long 0x52212321, 0x5351b22a + .long 0x52148413, 0x53425d18 + .long 0x5208d1fc, 0x53341080 + .long 0x51fbf9ac, 0x5326bc5e + .long 0x51e7eb29, 0x531a5183 + .long 0x51d55c2d, 0x530ec18c + .long 0x51c43238, 0x5303feda + .long 0x51b45472, 0x52f3f919 + .long 0x51a5ab93, 0x52e15ce8 + .long 0x519821ce, 0x52d0121b + .long 0x518ba2bc, 0x52c002f8 + .long 0x51801b49, 0x52b11afe + .long 0x516af33c, 0x52a346d7 + .long 0x51575a21, 0x5296744c + .long 0x51454c24, 0x528a9237 + .long 0x5134ac3b, 0x527f20e7 + .long 0x51255f51, 0x526abfa9 + .long 0x51174c27, 0x5257e42f + .long 0x510a5b3b, 0x524673af + .long 0x50fced50, 0x52365507 + .long 0x50e7141d, 0x522770a1 + .long 0x50d304fc, 0x5219b066 + .long 0x50c09cb5, 0x520cffa3 + .long 0x50afba92, 0x52014af8 + .long 0x50a04037, 0x51ed0088 + .long 0x50921177, 0x51d91d2d + .long 0x50851430, 0x51c6cc35 + .long 0x50726058, 0x51b5f011 + .long 0x505c9dfa, 0x51a66d2a + .long 0x5048b7be, 0x519829c8 + .long 0x50368738, 0x518b0df2 + .long 0x5025e8e0, 0x517e06ab + .long 0x5016bbdf, 0x5167ea53 + .long 0x5008e1df, 0x5153a034 + .long 0x4ff87dc3, 0x5141045e + .long 0x4fe1721f, 0x512ff56d + .long 0x4fcc712a, 0x51205461 + .long 0x4fb94efb, 0x51120475 + .long 0x4fa7e31e, 0x5104eafc + .long 0x4f980855, 0x50f1de7a + .long 0x4f899c5c, 0x50dbf4a3 + .long 0x4f78ff60, 0x50c7ee0e + .long 0x4f612ab5, 0x50b5a381 + .long 0x4f4b8583, 0x50a4f0bc + .long 0x4f37deef, 0x5095b43b + .long 0x4f260a27, 0x5087cf0e + .long 0x4f15de0f, 0x5076494d + .long 0x4f0734f9, 0x505f355e + .long 0x4ef3d8c4, 0x504a31bf + .long 0x4edbc95e, 0x503711b4 + .long 0x4ec601e9, 0x5025ac0e + .long 0x4eb24d81, 0x5015dae6 + .long 0x4ea07bca, 0x50077b62 + .long 0x4e906098, 0x4ff4daf4 + .long 0x4e81d395, 0x4fdd2782 + .long 0x4e695fe3, 0x4fc7a666 + .long 0x4e51a834, 0x4fb42611 + .long 0x4e3c42e7, 0x4fa2790f + .long 0x4e28f835, 0x4f9275b9 + .long 0x4e179555, 0x4f83f5e9 + .long 0x4e07ec0b, 0x4f6dad68 + .long 0x4df3a498, 0x4f55f04f + .long 0x4dda43ba, 0x4f407a1d + .long 0x4dc37003, 0x4f2d1570 + .long 0x4daeea58, 0x4f1b9188 + .long 0x4d9c7974, 0x4f0bc1e7 + .long 0x4d8be963, 0x4efafbec + .long 0x4d7a160c, 0x4ee14167 + .long 0x4d5f6759, 0x4eca10ce + .long 0x4d477955, 0x4eb52cb9 + .long 0x4d3205fb, 0x4ea25d43 + .long 0x4d1ecdf3, 0x4e916f95 + .long 0x4d0d97f2, 0x4e823575 + .long 0x4cfc6061, 0x4e6909cc + .long 0x4ce0cfd4, 0x4e506f88 + .long 0x4cc829c6, 0x4e3a56e4 + .long 0x4cb221ff, 0x4e268119 + .long 0x4c9e73c2, 0x4e14b538 + .long 0x4c8ce119, 0x4e04bfb1 + .long 0x4c7a6462, 0x4dece39b + .long 0x4c5e6987, 0x4dd34296 + .long 0x4c457726, 0x4dbc4fdc + .long 0x4c2f3bdb, 0x4da7c64b + .long 0x4c1b6e79, 0x4d956771 + .long 0x4c09cd3e, 0x4d84fae8 + .long 0x4bf43a38, 0x4d6c9b8f + .long 0x4bd85225, 0x4d52644f + .long 0x4bbf8325, 0x4d3afd47 + .long 0x4ba977f0, 0x4d261be0 + .long 0x4b95e415, 0x4d137cf0 + .long 0x4b848320, 0x4d02e402 + .long 0x4b6a2f8b, 0x4ce8356b + .long 0x4b4ed659, 0x4ccde050 + .long 0x4b369893, 0x4cb670d5 + .long 0x4b211e8a, 0x4ca19816 + .long 0x4b0e19e7, 0x4c8f0f43 + .long 0x4afa896f, 0x4c7d2da8 + .long 0x4adcc11e, 0x4c5febab + .long 0x4ac26b7f, 0x4c45f27c + .long 0x4aab2549, 0x4c2ee6b3 + .long 0x4a969605, 0x4c1a767c + .long 0x4a846ee9, 0x4c0858a4 + .long 0x4a68d3a8, 0x4bf09770 + .long 0x4a4c90c6, 0x4bd42a75 + .long 0x4a33a635, 0x4bbb01dd + .long 0x4a1db15b, 0x4ba4c066 + .long 0x4a0a5aa0, 0x4b9112d9 + .long 0x49f2a881, 0x4b7f5e08 + .long 0x49d4b277, 0x4b60a591 + .long 0x49ba58bd, 0x4b45867e + .long 0x49a32ed5, 0x4b2d97f3 + .long 0x498ed4a2, 0x4b187c9e + .long 0x4979ea08, 0x4b05e186 + .long 0x495a8951, 0x4aeaf9d4 + .long 0x493f01d9, 0x4ace1a8c + .long 0x4926ddcc, 0x4ab4b0dc + .long 0x4911b50d, 0x4a9e558a + .long 0x48fe574a, 0x4a8aad05 + .long 0x48dde0d0, 0x4a72cc48 + .long 0x48c1776e, 0x4a547203 + .long 0x48a89cd3, 0x4a39cbe3 + .long 0x4892e1aa, 0x4a226937 + .long 0x487fc7c2, 0x4a0de652 + .long 0x485e9a3a, 0x49f7d629 + .long 0x4841a2c3, 0x49d85345 + .long 0x48285bae, 0x49bcba74 + .long 0x48124f79, 0x49a49254 + .long 0x47fe2dc4, 0x498f6fd2 + .long 0x47dcae77, 0x4979e90c + .long 0x47bf81dd, 0x49599a7d + .long 0x47a61c4e, 0x493d616c + .long 0x47900357, 0x4924bcd6 + .long 0x47799750, 0x490f3b3e + .long 0x47582e7f, 0x48f8f1a9 + .long 0x473b27a3, 0x48d83bc6 + .long 0x4721f2b6, 0x48bbbab7 + .long 0x470c11c0, 0x48a2e733 + .long 0x46f22d4c, 0x488d4a80 + .long 0x46d14266, 0x4874f900 + .long 0x46b4bacb, 0x485443df + .long 0x469c03d6, 0x4837d5b2 + .long 0x46869d9b, 0x481f2272 + .long 0x46683120, 0x4809af94 + .long 0x46482706, 0x47ee23cf + .long 0x462c7395, 0x47cdd76a + .long 0x46148366, 0x47b1d636 + .long 0x45ffac6d, 0x4799912d + .long 0x45dbf8fa, 0x47848b78 + .long 0x45bd2a88, 0x4764b060 + .long 0x45a298a1, 0x474530ba + .long 0x458bb0fc, 0x4729f27c + .long 0x456fe94b, 0x47126579 + .long 0x454deaf8, 0x46fc1860 + .long 0x4530a808, 0x46d8f2d6 + .long 0x45177b00, 0x46ba9c63 + .long 0x4501d48c, 0x46a06fec + .long 0x44de7135, 0x4689de04 + .long 0x44be77a1, 0x466cd440 + .long 0x44a302b0, 0x464b505a + .long 0x448b71e5, 0x462e74d6 + .long 0x446e7534, 0x46159f2a + .long 0x444bca2d, 0x46004280 + .long 0x442e1414, 0x45dbc9bf + .long 0x4414a0a8, 0x45bc396d + .long 0x43fdac7d, 0x45a11d60 + .long 0x43d860d4, 0x4589d7a8 + .long 0x43b87a3a, 0x456bbf86 + .long 0x439d3454, 0x45497f9a + .long 0x4385e630, 0x452c23f7 + .long 0x4363fd06, 0x4512fcf7 + .long 0x434200db, 0x44fae63c + .long 0x4325014d, 0x44d607b0 + .long 0x430c4623, 0x44b67d4e + .long 0x42ee627d, 0x449b855c + .long 0x42ca7603, 0x44847920 + .long 0x42abde4b, 0x44619261 + .long 0x4291d40d, 0x443ff482 + .long 0x4277593c, 0x442344bf + .long 0x4251abca, 0x440acd1c + .long 0x4231a5c0, 0x43ebe2ca + .long 0x42167152, 0x43c85727 + .long 0x41feaf84, 0x43aa1178 + .long 0x41d779e7, 0x43904cc0 + .long 0x41b63731, 0x4374c081 + .long 0x419a03db, 0x434f7703 + .long 0x41821dd0, 0x432fc5c4 + .long 0x415bbf2e, 0x4314d94a + .long 0x41397862, 0x42fbf99c + .long 0x411c770c, 0x42d52bb9 + .long 0x4103eeb4, 0x42b4411f + .long 0x40de62c7, 0x429858a7 + .long 0x40bb5652, 0x4280b23e + .long 0x409dbc89, 0x4259543f + .long 0x4084bfc1, 0x42376979 + .long 0x405f551f, 0x421ab66b + .long 0x403bc5f1, 0x420270af + .long 0x401dccc2, 0x41dbd820 + .long 0x40048c16, 0x41b92c31 + .long 0x3fde907e, 0x419be496 + .long 0x3fbac490, 0x41832dcb + .long 0x3f9ca73d, 0x415ca86a + .long 0x3f8354cb, 0x41397eca + .long 0x3f5c1947, 0x411bdc1e + .long 0x3f3857fa, 0x4102e528 + .long 0x3f1a529e, 0x40dbc03f + .long 0x3f0120ef, 0x40b85f58 + .long 0x3ed7fdc8, 0x409a9d36 + .long 0x3eb48e3e, 0x40819878 + .long 0x3e96dc65, 0x4059250b + .long 0x3e7bfa7c, 0x4035d48d + .long 0x3e5255b2, 0x40182f4c + .long 0x3e2f7d27, 0x3ffe9ef1 + .long 0x3e12586c, 0x3fd4e64a + .long 0x3df3f750, 0x3fb1ed7c + .long 0x3dcb4137, 0x3f94a0bb + .long 0x3da94169, 0x3f782f41 + .long 0x3d8ce028, 0x3f4f1cee + .long 0x3d6a654e, 0x3f2cc100 + .long 0x3d42e7d6, 0x3f100645 + .long 0x3d21fd99, 0x3ef00749 + .long 0x3d0691c1, 0x3ec7ea70 + .long 0x3cdf78d9, 0x3ea66ce0 + .long 0x3cb976f2, 0x3e8a7a45 + .long 0x3c99d8e5, 0x3e665575 + .long 0x3c7f1de8, 0x3e3f778a + .long 0x3c536be9, 0x3e1f14b2 + .long 0x3c2f2031, 0x3e041bb4 + .long 0x3c10fdbd, 0x3ddb4f88 + .long 0x3beff7df, 0x3db5f2ba + .long 0x3bc67c0b, 0x3d96e08d + .long 0x3ba417d4, 0x3d7a1a1e + .long 0x3b879862, 0x3d4f30a7 + .long 0x3b5ffc37, 0x3d2b8e9a + .long 0x3b38e85b, 0x3d0dfba1 + .long 0x3b1892fb, 0x3ceae636 + .long 0x3afbaaf5, 0x3cc2374f + .long 0x3acf75d5, 0x3ca08024 + .long 0x3aaaef8c, 0x3c8492c0 + .long 0x3a8cc60c, 0x3c5ae75b + .long 0x3a67c170, 0x3c34a340 + .long 0x3a3ead7b, 0x3c14fcf4 + .long 0x3a1cce14, 0x3bf5a5cf + .long 0x3a00e32d, 0x3bca68ef + .long 0x39d3c741, 0x3ba6b383 + .long 0x39ade7c9, 0x3b8939a3 + .long 0x398ebc8e, 0x3b61cfd0 + .long 0x396a31ee, 0x3b39b3ce + .long 0x394008fe, 0x3b18a48b + .long 0x391d638e, 0x3afad08d + .long 0x3900ee61, 0x3acdf654 + .long 0x38d322ce, 0x3aa90c4d + .long 0x38accb15, 0x3a8aaea4 + .long 0x388d5872, 0x3a636e45 + .long 0x3867216f, 0x3a3a6544 + .long 0x383ce218, 0x3a18b095 + .long 0x381a4894, 0x39fa092d + .long 0x37fbec07, 0x39cc9f41 + .long 0x37cd9386, 0x39a76003 + .long 0x37a7acfd, 0x3988d758 + .long 0x3788b256, 0x395fa559 + .long 0x375ec64b, 0x3936ab0f + .long 0x373570b9, 0x39152037 + .long 0x3713b43a, 0x38f35dd3 + .long 0x36f05d69, 0x38c67c0a + .long 0x36c37bc4, 0x38a1ccfc + .long 0x369ee7d7, 0x3883d518 + .long 0x36811c14, 0x3856b981 + .long 0x3651b337, 0x382ec87a + .long 0x362a371c, 0x380e33a7 + .long 0x360a1932, 0x37e74660 + .long 0x35dff98b, 0x37bbfab1 + .long 0x35b589f6, 0x3798b6d4 + .long 0x3593127a, 0x37780230 + .long 0x356e2ef2, 0x37494905 + .long 0x3540c69d, 0x372348d9 + .long 0x351bf310, 0x370464b5 + .long 0x34fc31bf, 0x36d69685 + .long 0x34cbd1ee, 0x36add231 + .long 0x34a4a520, 0x368cbaf0 + .long 0x3484ef72, 0x3663c449 + .long 0x34568fd0, 0x363839e2 + .long 0x342d122f, 0x3614efa4 + .long 0x340b893c, 0x35f0b1df + .long 0x33e0e3a6, 0x35c265d8 + .long 0x33b5237a, 0x359cede7 + .long 0x3391d42c, 0x357d3dc9 + .long 0x336ab0cb, 0x354c3b50 + .long 0x333cc25b, 0x3524a05e + .long 0x3317be62, 0x3504a304 + .long 0x32f3db16, 0x34d59f46 + .long 0x32c3d8af, 0x34abf19f + .long 0x329d3680, 0x348a545b + .long 0x327c475d, 0x345e76f3 + .long 0x324a5141, 0x3432cc8c + .long 0x32222c05, 0x340fa24c + .long 0x3201edfc, 0x33e6a843 + .long 0x31d01833, 0x33b91cba + .long 0x31a68f97, 0x33947ce5 + .long 0x318540a5, 0x336e1a5b + .long 0x31551b65, 0x333eced8 + .long 0x312a535b, 0x3318d52b + .long 0x31081119, 0x32f4b613 + .long 0x30d94acf, 0x32c3d10c + .long 0x30ad6b36, 0x329c9d69 + .long 0x308a563f, 0x327a666d + .long 0x305c98dc, 0x32481354 + .long 0x302fcd12, 0x321fc975 + .long 0x300c08aa, 0x31ff1904 + .long 0x2fdefaaf, 0x31cb87d8 + .long 0x2fb17113, 0x31a24ef3 + .long 0x2f8d22bb, 0x31815f38 + .long 0x2f60685f, 0x314e2339 + .long 0x2f3251c3, 0x3124258f + .long 0x2f0da0c6, 0x3102a54d + .long 0x2ee0dd25, 0x30cfdcca + .long 0x2eb26c30, 0x30a54727 + .long 0x2e8d8121, 0x30835a7f + .long 0x2e605773, 0x3050aec3 + .long 0x2e31bffd, 0x3025afef + .long 0x2e0cc431, 0x30037c6d + .long 0x2dded902, 0x2fd09664 + .long 0x2db04f61, 0x2fa55e85 + .long 0x2d8b6c69, 0x2f830aa5 + .long 0x2d5c66c4, 0x2f4f93fd + .long 0x2d2e1f21, 0x2f2453fe + .long 0x2d097e36, 0x2f0206a5 + .long 0x2cd908c8, 0x2ecdaaf4 + .long 0x2cab3670, 0x2ea293d6 + .long 0x2c86fff0, 0x2e8073d6 + .long 0x2c54ca13, 0x2e4ae1ac + .long 0x2c279ec9, 0x2e2023e7 + .long 0x2c03f9af, 0x2dfcaee7 + .long 0x2bcfb860, 0x2dc74167 + .long 0x2ba363bd, 0x2d9d0c41 + .long 0x2b807524, 0x2d7770ea + .long 0x2b49e3d6, 0x2d42d60c + .long 0x2b1e92b5, 0x2d195702 + .long 0x2af8fac8, 0x2cf13ec4 + .long 0x2ac35eb5, 0x2cbdaded + .long 0x2a993aaa, 0x2c95101b + .long 0x2a703d5a, 0x2c6a2c50 + .long 0x2a3c3cf6, 0x2c37d975 + .long 0x2a136bd8, 0x2c104516 + .long 0x29e6cc51, 0x2be24fc5 + .long 0x29b493e1, 0x2bb16ad5 + .long 0x298d376b, 0x2b8b04c7 + .long 0x295cc356, 0x2b59c147 + .long 0x292c79ad, 0x2b2a759f + .long 0x2906af30, 0x2b055f07 + .long 0x28d23edb, 0x2ad09a6a + .long 0x28a4050c, 0x2aa30e6d + .long 0x287fca72, 0x2a7ec8c1 + .long 0x28475b9c, 0x2a46f5b1 + .long 0x281b4cca, 0x2a1b4a74 + .long 0x27f1d725, 0x29f24b83 + .long 0x27bc361f, 0x29bcee14 + .long 0x27926764, 0x29933f23 + .long 0x2763a7e2, 0x29656858 + .long 0x2730ea36, 0x29329e84 + .long 0x27096aae, 0x290b01c6 + .long 0x26d55ed6, 0x28d840d5 + .long 0x26a59297, 0x28a82171 + .long 0x26806b7c, 0x2882a722 + .long 0x26471c70, 0x284af596 + .long 0x261a4874, 0x281d9063 + .long 0x25eefab5, 0x27f4865b + .long 0x25b8fef0, 0x27bda5bb + .long 0x258f232d, 0x27930395 + .long 0x255d6497, 0x2763d176 + .long 0x252b220e, 0x27306e78 + .long 0x25043806, 0x270891a3 + .long 0x24cc3533, 0x26d35285 + .long 0x249d9eab, 0x26a36ab9 + .long 0x247333ed, 0x267c9e87 + .long 0x243b895c, 0x2643294f + .long 0x24108aa2, 0x2616b2d7 + .long 0x23deb305, 0x25e89e19 + .long 0x23ab79f7, 0x25b3722d + .long 0x2383f8a5, 0x258a5c5b + .long 0x234b094e, 0x255542a6 + .long 0x231c1be0, 0x252445ca + .long 0x22eff061, 0x24fcf3b9 + .long 0x22b84dad, 0x24c2a818 + .long 0x228d7fe9, 0x2495b90c + .long 0x22592b20, 0x246635db + .long 0x222691fd, 0x2430e58d + .long 0x21ff65e8, 0x2407dd07 + .long 0x21c3b3ec, 0x23d09839 + .long 0x2195e33f, 0x23a00d5e + .long 0x21657c23, 0x23757e16 + .long 0x212f973d, 0x233c2e00 + .long 0x210649d6, 0x23102d3f + .long 0x20cd4d83, 0x22dcd18d + .long 0x209cdbfe, 0x22a904b4 + .long 0x206f93bd, 0x22814e73 + .long 0x2036de68, 0x2245c0eb + .long 0x200b8405, 0x22172479 + .long 0x1fd4c713, 0x21e6ec36 + .long 0x1fa22d35, 0x21b0523d + .long 0x1f771927, 0x21869086 + .long 0x1f3c2718, 0x214d4b0f + .long 0x1f0f32ff, 0x211c85ba + .long 0x1ed9ddc3, 0x20ee8f29 + .long 0x1ea5a71b, 0x20b5b53d + .long 0x1e7bc87b, 0x208a5661 + .long 0x1e3f4167, 0x205288d5 + .long 0x1e11353d, 0x2020208a + .long 0x1ddc631a, 0x1ff3754b + .long 0x1da729d6, 0x1fb8fcbd + .long 0x1d7d76ae, 0x1f8c7d97 + .long 0x1d4010bf, 0x1f554a3f + .long 0x1d117833, 0x1f21d3cb + .long 0x1cdc3fc3, 0x1ef57178 + .long 0x1ca6a764, 0x1eba0a73 + .long 0x1c7c141f, 0x1e8cf23a + .long 0x1c3e8d91, 0x1e5575bf + .long 0x1c0ff968, 0x1e218fb3 + .long 0x1bd974f4, 0x1df47139 + .long 0x1ba4246f, 0x1db8d48f + .long 0x1b77ad8b, 0x1d8bb00a + .long 0x1b3ac5c9, 0x1d5309be + .long 0x1b0cc6a1, 0x1d1f56ba + .long 0x1ad41c58, 0x1cf07de1 + .long 0x1a9fb806, 0x1cb56657 + .long 0x1a706b47, 0x1c88c2bc + .long 0x1a34dbfa, 0x1c4e1cba + .long 0x1a07fd09, 0x1c1b3d7d + .long 0x19cc668e, 0x1be9bbfd + .long 0x19998a40, 0x1bafdf73 + .long 0x19668edd, 0x1b844540 + .long 0x192d054e, 0x1b46dbe6 + .long 0x1901c77a, 0x1b156976 + .long 0x18c29845, 0x1ae0691f + .long 0x1891d1e0, 0x1aa8720d + .long 0x185a6f34, 0x1a7cc054 + .long 0x18238672, 0x1a3d887f + .long 0x17f4b806, 0x1a0e0ecc + .long 0x17b70648, 0x19d4d840 + .long 0x1788d12d, 0x199f5fda + .long 0x174c739d, 0x196e8e9b + .long 0x1718afac, 0x193273f8 + .long 0x16e3f1ae, 0x19056d4a + .long 0x16aa10bb, 0x18c76cf4 + .long 0x167da48f, 0x1894f659 + .long 0x163d0e1a, 0x185e6d9a + .long 0x160cd879, 0x1825fb65 + .long 0x15d1c1e5, 0x17f7998c + .long 0x159c1df9, 0x17b895e1 + .long 0x1568466d, 0x17898a88 + .long 0x152cb568, 0x174cdf9b + .long 0x15005b01, 0x1718826b + .long 0x14beb151, 0x16e2f29a + .long 0x148d955e, 0x16a8c6d9 + .long 0x14522407, 0x167ae8e3 + .long 0x141bdf21, 0x163a6a2d + .long 0x13e71f72, 0x160a6e25 + .long 0x13ab44c3, 0x15cd7e87 + .long 0x137db4e3, 0x15987319 + .long 0x133bd23f, 0x156215a4 + .long 0x130afa70, 0x15278fa9 + .long 0x12cd92ee, 0x14f840ab + .long 0x1297f777, 0x14b7cfb1 + .long 0x1260915e, 0x148807fd + .long 0x1225d8aa, 0x14493e73 + .long 0x11f4d72b, 0x1414c97a + .long 0x11b4a474, 0x13dbe665 + .long 0x11853669, 0x13a26be2 + .long 0x11446065, 0x136fd110 + .long 0x1110acc4, 0x1330f593 + .long 0x10d51115, 0x13028371 + .long 0x109cd187, 0x12c06c14 + .long 0x1066ba07, 0x128dc782 + .long 0x1029a6c1, 0x1250d3f6 + .long 0x0ff95d83, 0x1219b798 + .long 0x0fb72d9a, 0x11e230b9 + .long 0x0f867e41, 0x11a655c1 + .long 0x0f456641, 0x117484a6 + .long 0x0f10cb43, 0x1133a328 + .long 0x0ed44fd3, 0x1103e85c + .long 0x0e9b94c1, 0x10c19ffd + .long 0x0e63e84a, 0x108e0a3d + .long 0x0e26d8e4, 0x10504b66 + .long 0x0df42c6c, 0x1018a6f6 + .long 0x0db294f0, 0x0fdfa367 + .long 0x0d828bdd, 0x0fa3bcb5 + .long 0x0d3ec540, 0x0f6fa4d1 + .long 0x0d0b5230, 0x0f2f48cc + .long 0x0ccb653b, 0x0f00259a + .long 0x0c946596, 0x0ebb479f + .long 0x00000000, 0x00000000 + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ + .align 16 + .long 0x41210000, 0x41210000, 0x41210000, 0x41210000 /* _MaxThreshold=644.0/64.0 */ + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* sign mask */ + .align 16 + .long 0x48000000, 0x48000000, 0x48000000, 0x48000000 /* SRound */ + .align 16 + .long 0x27800000, 0x27800000, 0x27800000, 0x27800000 /* _TwoM48 */ + // polynomial coefficients + .align 16 + .long 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca // poly1[0] + .align 16 + .long 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22 // poly1[1] + .align 16 + .long 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36 // poly3[0] + .align 16 + .long 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb // poly3[1] + .align 16 + .long 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6 // poly1[2] + .align 16 + .long 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc // poly1[3] + .align 16 + .long 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB /* UF_Threshold */ + .align 16 + .long 0x57800000, 0x57800000, 0x57800000, 0x57800000 /* 2^48 */ + .align 16 + .type __svml_serfc_data_internal, @object + .size __svml_serfc_data_internal, .-__svml_serfc_data_internal From patchwork Mon Mar 7 15:00:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602400 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=eADktW9s; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3nK28z3z9sFx for ; Tue, 8 Mar 2022 03:29:09 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 531B53858013 for ; Mon, 7 Mar 2022 16:29:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 531B53858013 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670547; bh=VikLLTv5PeCW67NaAuc58ruaLRy6fPJ69EeoO79VfLc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=eADktW9s6zZEtgbLg00wA+RDCedb8CFLqlwgmZj5YKoarD7XDXX4raL+8G1ZsEOuQ YcisL2FQ4wRg/EsxvvFwnzl+PXSB2FGCcv/oGDVS360/WtVKn8SD5s3o/R48HX9H0n ltZVGVpqSjUlNpF45LlvVx+U0rzJ6h0sN4zfovFc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id B0DE23858410 for ; Mon, 7 Mar 2022 15:03:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B0DE23858410 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364143" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364143" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="509733238" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eb016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 063/126] x86_64: Fix svml_s_erfcf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:00:58 -0800 Message-Id: <20220307150201.10590-64-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_erfcf8_core_avx2.S | 1794 ++++++++--------- 1 file changed, 896 insertions(+), 898 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S index ec459644f0..4cafc1bcd5 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_erfcf8_core_avx2.S @@ -29,929 +29,927 @@ /* Offsets for data table __svml_serfc_data_internal */ -#define _erfc_tbl 0 -#define _AbsMask 5184 -#define _MaxThreshold 5216 -#define _SgnMask 5248 -#define _One 5280 -#define _SRound 5312 -#define _TwoM48 5344 -#define _poly1_0 5376 -#define _poly1_1 5408 -#define _poly3_0 5440 -#define _poly3_1 5472 -#define _poly1_2 5504 -#define _poly1_3 5536 -#define _UF_Threshold 5568 +#define _erfc_tbl 0 +#define _AbsMask 5184 +#define _MaxThreshold 5216 +#define _SgnMask 5248 +#define _One 5280 +#define _SRound 5312 +#define _TwoM48 5344 +#define _poly1_0 5376 +#define _poly1_1 5408 +#define _poly3_0 5440 +#define _poly3_1 5472 +#define _poly1_2 5504 +#define _poly1_3 5536 +#define _UF_Threshold 5568 /* Lookup bias for data table __svml_serfc_data_internal. */ -#define Table_Lookup_Bias -0x40000000 +#define Table_Lookup_Bias -0x40000000 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_erfcf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ - lea Table_Lookup_Bias+__svml_serfc_data_internal(%rip), %rax - vmovaps %ymm0, %ymm6 - vmovups _SRound+__svml_serfc_data_internal(%rip), %ymm1 - vmovups _TwoM48+__svml_serfc_data_internal(%rip), %ymm10 - vmovups _One+__svml_serfc_data_internal(%rip), %ymm0 - vandps _AbsMask+__svml_serfc_data_internal(%rip), %ymm6, %ymm5 - -/* - * erfc(10.125) underflows to 0 - * can compute all results in the main path - */ - vminps _MaxThreshold+__svml_serfc_data_internal(%rip), %ymm5, %ymm4 - vaddps %ymm1, %ymm4, %ymm8 - vmaxps %ymm10, %ymm4, %ymm2 - vsubps %ymm1, %ymm8, %ymm12 - vpslld $3, %ymm8, %ymm7 - vandps _SgnMask+__svml_serfc_data_internal(%rip), %ymm6, %ymm13 - vorps %ymm13, %ymm0, %ymm3 - -/* 2.0 if x<0, 0.0 otherwise */ - vsubps %ymm3, %ymm0, %ymm5 - vsubps %ymm12, %ymm2, %ymm0 - -/* Start polynomial evaluation */ - vmovups _poly1_0+__svml_serfc_data_internal(%rip), %ymm3 - vmovups _poly3_0+__svml_serfc_data_internal(%rip), %ymm2 - vmulps %ymm0, %ymm12, %ymm1 - vfmadd213ps _poly1_1+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 - vfmadd213ps _poly3_1+__svml_serfc_data_internal(%rip), %ymm1, %ymm2 - vfmadd213ps _poly1_2+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 - -/* 2^(-64) with sign of input */ - vorps %ymm13, %ymm10, %ymm4 - vfmadd213ps _poly1_3+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 - vextractf128 $1, %ymm7, %xmm12 - vmovd %xmm7, %edx - vmovd %xmm12, %r8d - vpextrd $1, %xmm7, %ecx - vpextrd $2, %xmm7, %esi - vpextrd $3, %xmm7, %edi - vpextrd $1, %xmm12, %r9d - vpextrd $2, %xmm12, %r10d - vpextrd $3, %xmm12, %r11d - movslq %edx, %rdx - movslq %ecx, %rcx - movslq %esi, %rsi - movslq %edi, %rdi - movslq %r8d, %r8 - movslq %r9d, %r9 - movslq %r10d, %r10 - movslq %r11d, %r11 - vmovq (%rax,%rdx), %xmm13 - vmovq (%rax,%rcx), %xmm11 - vmovq (%rax,%rsi), %xmm14 - vmovq (%rax,%rdi), %xmm15 - vmovq (%rax,%r8), %xmm7 - vmovq (%rax,%r9), %xmm8 - vmovq (%rax,%r10), %xmm9 - vmovq (%rax,%r11), %xmm10 - vunpcklps %xmm14, %xmm13, %xmm12 - vunpcklps %xmm15, %xmm11, %xmm11 - vunpcklps %xmm9, %xmm7, %xmm9 - vunpcklps %xmm10, %xmm8, %xmm14 - vinsertf128 $1, %xmm9, %ymm12, %ymm15 - vinsertf128 $1, %xmm14, %ymm11, %ymm7 - vunpcklps %ymm7, %ymm15, %ymm9 - vunpckhps %ymm7, %ymm15, %ymm8 - -/* Diff^2 */ - vmulps %ymm0, %ymm0, %ymm15 - -/* P3*D2 */ - vmulps %ymm15, %ymm2, %ymm2 - -/* P1 = P1*T + P3*D2 */ - vfmadd213ps %ymm2, %ymm1, %ymm3 - -/* Special arguments (for flags only) */ - vcmplt_oqps _UF_Threshold+__svml_serfc_data_internal(%rip), %ymm6, %ymm1 - -/* EXP_X0H * (1+P1) */ - vfmadd213ps %ymm8, %ymm8, %ymm3 - -/* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ - vfnmadd213ps %ymm9, %ymm3, %ymm0 - -/* combine and get argument value range mask */ - vmovmskps %ymm1, %edx - notl %edx - movzbl %dl, %edx - vfmadd213ps %ymm5, %ymm4, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm6 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea Table_Lookup_Bias+__svml_serfc_data_internal(%rip), %rax + vmovaps %ymm0, %ymm6 + vmovups _SRound+__svml_serfc_data_internal(%rip), %ymm1 + vmovups _TwoM48+__svml_serfc_data_internal(%rip), %ymm10 + vmovups _One+__svml_serfc_data_internal(%rip), %ymm0 + vandps _AbsMask+__svml_serfc_data_internal(%rip), %ymm6, %ymm5 + + /* + * erfc(10.125) underflows to 0 + * can compute all results in the main path + */ + vminps _MaxThreshold+__svml_serfc_data_internal(%rip), %ymm5, %ymm4 + vaddps %ymm1, %ymm4, %ymm8 + vmaxps %ymm10, %ymm4, %ymm2 + vsubps %ymm1, %ymm8, %ymm12 + vpslld $3, %ymm8, %ymm7 + vandps _SgnMask+__svml_serfc_data_internal(%rip), %ymm6, %ymm13 + vorps %ymm13, %ymm0, %ymm3 + + /* 2.0 if x<0, 0.0 otherwise */ + vsubps %ymm3, %ymm0, %ymm5 + vsubps %ymm12, %ymm2, %ymm0 + + /* Start polynomial evaluation */ + vmovups _poly1_0+__svml_serfc_data_internal(%rip), %ymm3 + vmovups _poly3_0+__svml_serfc_data_internal(%rip), %ymm2 + vmulps %ymm0, %ymm12, %ymm1 + vfmadd213ps _poly1_1+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 + vfmadd213ps _poly3_1+__svml_serfc_data_internal(%rip), %ymm1, %ymm2 + vfmadd213ps _poly1_2+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 + + /* 2^(-64) with sign of input */ + vorps %ymm13, %ymm10, %ymm4 + vfmadd213ps _poly1_3+__svml_serfc_data_internal(%rip), %ymm1, %ymm3 + vextractf128 $1, %ymm7, %xmm12 + vmovd %xmm7, %edx + vmovd %xmm12, %r8d + vpextrd $1, %xmm7, %ecx + vpextrd $2, %xmm7, %esi + vpextrd $3, %xmm7, %edi + vpextrd $1, %xmm12, %r9d + vpextrd $2, %xmm12, %r10d + vpextrd $3, %xmm12, %r11d + movslq %edx, %rdx + movslq %ecx, %rcx + movslq %esi, %rsi + movslq %edi, %rdi + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %r11d, %r11 + vmovq (%rax, %rdx), %xmm13 + vmovq (%rax, %rcx), %xmm11 + vmovq (%rax, %rsi), %xmm14 + vmovq (%rax, %rdi), %xmm15 + vmovq (%rax, %r8), %xmm7 + vmovq (%rax, %r9), %xmm8 + vmovq (%rax, %r10), %xmm9 + vmovq (%rax, %r11), %xmm10 + vunpcklps %xmm14, %xmm13, %xmm12 + vunpcklps %xmm15, %xmm11, %xmm11 + vunpcklps %xmm9, %xmm7, %xmm9 + vunpcklps %xmm10, %xmm8, %xmm14 + vinsertf128 $1, %xmm9, %ymm12, %ymm15 + vinsertf128 $1, %xmm14, %ymm11, %ymm7 + vunpcklps %ymm7, %ymm15, %ymm9 + vunpckhps %ymm7, %ymm15, %ymm8 + + /* Diff^2 */ + vmulps %ymm0, %ymm0, %ymm15 + + /* P3*D2 */ + vmulps %ymm15, %ymm2, %ymm2 + + /* P1 = P1*T + P3*D2 */ + vfmadd213ps %ymm2, %ymm1, %ymm3 + + /* Special arguments (for flags only) */ + vcmplt_oqps _UF_Threshold+__svml_serfc_data_internal(%rip), %ymm6, %ymm1 + + /* EXP_X0H * (1+P1) */ + vfmadd213ps %ymm8, %ymm8, %ymm3 + + /* erfc_high(x0) - Diff * (2/sqrt(pi)*exp(-x0^2))*(1+P1) */ + vfnmadd213ps %ymm9, %ymm3, %ymm0 + + /* combine and get argument value range mask */ + vmovmskps %ymm1, %edx + notl %edx + movzbl %dl, %edx + vfmadd213ps %ymm5, %ymm4, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm6 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm6, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm6, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call erfcf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call erfcf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_erfcf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_serfc_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _erfc_tbl[645*2][1]; - __declspec(align(32)) VUINT32 _AbsMask[8][1]; - __declspec(align(32)) VUINT32 _MaxThreshold[8][1]; - __declspec(align(32)) VUINT32 _SgnMask[8][1]; - __declspec(align(32)) VUINT32 _One[8][1]; - __declspec(align(32)) VUINT32 _SRound[8][1]; - __declspec(align(32)) VUINT32 _TwoM48[8][1]; - __declspec(align(32)) VUINT32 _poly1_0[8][1]; - __declspec(align(32)) VUINT32 _poly1_1[8][1]; - __declspec(align(32)) VUINT32 _poly3_0[8][1]; - __declspec(align(32)) VUINT32 _poly3_1[8][1]; - __declspec(align(32)) VUINT32 _poly1_2[8][1]; - __declspec(align(32)) VUINT32 _poly1_3[8][1]; - __declspec(align(32)) VUINT32 _UF_Threshold[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _erfc_tbl[645*2][1]; + __declspec(align(32)) VUINT32 _AbsMask[8][1]; + __declspec(align(32)) VUINT32 _MaxThreshold[8][1]; + __declspec(align(32)) VUINT32 _SgnMask[8][1]; + __declspec(align(32)) VUINT32 _One[8][1]; + __declspec(align(32)) VUINT32 _SRound[8][1]; + __declspec(align(32)) VUINT32 _TwoM48[8][1]; + __declspec(align(32)) VUINT32 _poly1_0[8][1]; + __declspec(align(32)) VUINT32 _poly1_1[8][1]; + __declspec(align(32)) VUINT32 _poly3_0[8][1]; + __declspec(align(32)) VUINT32 _poly3_1[8][1]; + __declspec(align(32)) VUINT32 _poly1_2[8][1]; + __declspec(align(32)) VUINT32 _poly1_3[8][1]; + __declspec(align(32)) VUINT32 _UF_Threshold[8][1]; } __svml_serfc_data_internal; #endif __svml_serfc_data_internal: - /*== _erfc_tbl ==*/ - .long 0x57800000, 0x57906ebb - .long 0x577b7ca2, 0x579065b4 - .long 0x5776f9d5, 0x57904aa3 - .long 0x57727828, 0x57901d93 - .long 0x576df82b, 0x578fde94 - .long 0x57697a6e, 0x578f8dbd - .long 0x5764ff7f, 0x578f2b2e - .long 0x576087ea, 0x578eb70a - .long 0x575c143d, 0x578e317d - .long 0x5757a500, 0x578d9ab9 - .long 0x57533abf, 0x578cf2f5 - .long 0x574ed5fe, 0x578c3a6f - .long 0x574a7744, 0x578b716c - .long 0x57461f12, 0x578a9834 - .long 0x5741cdeb, 0x5789af18 - .long 0x573d844a, 0x5788b66c - .long 0x573942ac, 0x5787ae8b - .long 0x57350989, 0x578697d3 - .long 0x5730d956, 0x578572a8 - .long 0x572cb284, 0x57843f72 - .long 0x57289583, 0x5782fe9f - .long 0x572482bd, 0x5781b0a0 - .long 0x57207a9b, 0x578055e8 - .long 0x571c7d80, 0x577ddddf - .long 0x57188bcb, 0x577af867 - .long 0x5714a5da, 0x5777fc62 - .long 0x5710cc05, 0x5774ead4 - .long 0x570cfe9f, 0x5771c4c4 - .long 0x57093df9, 0x576e8b3e - .long 0x57058a5e, 0x576b3f51 - .long 0x5701e415, 0x5767e20f - .long 0x56fc96c6, 0x5764748e - .long 0x56f5810a, 0x5760f7e5 - .long 0x56ee876d, 0x575d6d2d - .long 0x56e7aa5a, 0x5759d57e - .long 0x56e0ea35, 0x575631f4 - .long 0x56da4757, 0x575283a7 - .long 0x56d3c214, 0x574ecbb1 - .long 0x56cd5ab3, 0x574b0b28 - .long 0x56c71175, 0x57474323 - .long 0x56c0e692, 0x574374b5 - .long 0x56bada38, 0x573fa0ee - .long 0x56b4ec8f, 0x573bc8dc - .long 0x56af1db3, 0x5737ed89 - .long 0x56a96dbc, 0x57340ff9 - .long 0x56a3dcb7, 0x5730312e - .long 0x569e6aaa, 0x572c5223 - .long 0x56991793, 0x572873cf - .long 0x5693e369, 0x57249721 - .long 0x568ece1a, 0x5720bd06 - .long 0x5689d78f, 0x571ce661 - .long 0x5684ffa8, 0x5719140f - .long 0x56804640, 0x571546e7 - .long 0x56775654, 0x57117fb9 - .long 0x566e5c65, 0x570dbf4c - .long 0x56659e43, 0x570a0662 - .long 0x565d1b6d, 0x570655b1 - .long 0x5654d35d, 0x5702adeb - .long 0x564cc57d, 0x56fe1f73 - .long 0x5644f12f, 0x56f6f777 - .long 0x563d55cc, 0x56efe513 - .long 0x5635f2a1, 0x56e8e968 - .long 0x562ec6f6, 0x56e20584 - .long 0x5627d207, 0x56db3a64 - .long 0x5621130b, 0x56d488f8 - .long 0x561a8931, 0x56cdf21c - .long 0x561433a0, 0x56c7769b - .long 0x560e117c, 0x56c11733 - .long 0x560821e1, 0x56bad48d - .long 0x560263e5, 0x56b4af46 - .long 0x55f9ad39, 0x56aea7ea - .long 0x55eef22b, 0x56a8bef3 - .long 0x55e494b6, 0x56a2f4ce - .long 0x55da92eb, 0x569d49d9 - .long 0x55d0ead3, 0x5697be62 - .long 0x55c79a75, 0x569252aa - .long 0x55be9fd3, 0x568d06e3 - .long 0x55b5f8ee, 0x5687db31 - .long 0x55ada3c2, 0x5682cfad - .long 0x55a59e4c, 0x567bc8c2 - .long 0x559de68a, 0x56723298 - .long 0x55967a77, 0x5668dcc1 - .long 0x558f5812, 0x565fc70e - .long 0x55887d5c, 0x5656f136 - .long 0x5581e856, 0x564e5adf - .long 0x55772e0c, 0x56460399 - .long 0x556b0eeb, 0x563deae4 - .long 0x555f6f64, 0x5636102b - .long 0x55544b9e, 0x562e72cb - .long 0x55499fc8, 0x5627120f - .long 0x553f681d, 0x561fed36 - .long 0x5535a0e6, 0x5619036e - .long 0x552c4679, 0x561253dc - .long 0x55235539, 0x560bdd96 - .long 0x551ac999, 0x56059fa9 - .long 0x5512a01c, 0x55ff3230 - .long 0x550ad554, 0x55f391b9 - .long 0x550365e5, 0x55e85bd0 - .long 0x54f89d02, 0x55dd8e4c - .long 0x54eb17df, 0x55d326f3 - .long 0x54de360f, 0x55c92385 - .long 0x54d1f166, 0x55bf81b6 - .long 0x54c643dc, 0x55b63f32 - .long 0x54bb2790, 0x55ad59a1 - .long 0x54b096c5, 0x55a4cea4 - .long 0x54a68be5, 0x559c9bd9 - .long 0x549d0180, 0x5594bedd - .long 0x5493f24c, 0x558d354b - .long 0x548b5926, 0x5585fcbf - .long 0x54833111, 0x557e25af - .long 0x5476ea69, 0x5570ea68 - .long 0x546841c1, 0x556442f0 - .long 0x545a5f10, 0x55582a98 - .long 0x544d398b, 0x554c9cbd - .long 0x5440c8ae, 0x554194c7 - .long 0x54350440, 0x55370e2c - .long 0x5429e44f, 0x552d0474 - .long 0x541f612f, 0x55237336 - .long 0x5415737d, 0x551a561b - .long 0x540c1417, 0x5511a8e1 - .long 0x54033c22, 0x5509675a - .long 0x53f5ca07, 0x55018d6b - .long 0x53e610c3, 0x54f42e22 - .long 0x53d74046, 0x54e600c0 - .long 0x53c94cd8, 0x54d88b05 - .long 0x53bc2b3a, 0x54cbc574 - .long 0x53afd0a5, 0x54bfa8c4 - .long 0x53a432c3, 0x54b42ddb - .long 0x539947af, 0x54a94dcf - .long 0x538f05f3, 0x549f01ec - .long 0x5385647e, 0x549543ae - .long 0x5378b557, 0x548c0cc2 - .long 0x5367c06a, 0x5483570a - .long 0x5357da71, 0x54763931 - .long 0x5348f45f, 0x5466af65 - .long 0x533affda, 0x5458059c - .long 0x532def39, 0x544a3127 - .long 0x5321b57a, 0x543d27b5 - .long 0x5316463d, 0x5430df57 - .long 0x530b95bd, 0x54254e7b - .long 0x530198cc, 0x541a6bee - .long 0x52f08999, 0x54102ed6 - .long 0x52df1f58, 0x54068eb5 - .long 0x52cedfb9, 0x53fb06c5 - .long 0x52bfb8a0, 0x53ea0a1d - .long 0x52b198e5, 0x53da1876 - .long 0x52a4704e, 0x53cb237a - .long 0x52982f7c, 0x53bd1d6f - .long 0x528cc7eb, 0x53aff93b - .long 0x52822be3, 0x53a3aa56 - .long 0x52709cde, 0x539824ce - .long 0x525e46a9, 0x538d5d3c - .long 0x524d3e18, 0x538348c6 - .long 0x523d6d6f, 0x5373ba24 - .long 0x522ec035, 0x53622096 - .long 0x52212321, 0x5351b22a - .long 0x52148413, 0x53425d18 - .long 0x5208d1fc, 0x53341080 - .long 0x51fbf9ac, 0x5326bc5e - .long 0x51e7eb29, 0x531a5183 - .long 0x51d55c2d, 0x530ec18c - .long 0x51c43238, 0x5303feda - .long 0x51b45472, 0x52f3f919 - .long 0x51a5ab93, 0x52e15ce8 - .long 0x519821ce, 0x52d0121b - .long 0x518ba2bc, 0x52c002f8 - .long 0x51801b49, 0x52b11afe - .long 0x516af33c, 0x52a346d7 - .long 0x51575a21, 0x5296744c - .long 0x51454c24, 0x528a9237 - .long 0x5134ac3b, 0x527f20e7 - .long 0x51255f51, 0x526abfa9 - .long 0x51174c27, 0x5257e42f - .long 0x510a5b3b, 0x524673af - .long 0x50fced50, 0x52365507 - .long 0x50e7141d, 0x522770a1 - .long 0x50d304fc, 0x5219b066 - .long 0x50c09cb5, 0x520cffa3 - .long 0x50afba92, 0x52014af8 - .long 0x50a04037, 0x51ed0088 - .long 0x50921177, 0x51d91d2d - .long 0x50851430, 0x51c6cc35 - .long 0x50726058, 0x51b5f011 - .long 0x505c9dfa, 0x51a66d2a - .long 0x5048b7be, 0x519829c8 - .long 0x50368738, 0x518b0df2 - .long 0x5025e8e0, 0x517e06ab - .long 0x5016bbdf, 0x5167ea53 - .long 0x5008e1df, 0x5153a034 - .long 0x4ff87dc3, 0x5141045e - .long 0x4fe1721f, 0x512ff56d - .long 0x4fcc712a, 0x51205461 - .long 0x4fb94efb, 0x51120475 - .long 0x4fa7e31e, 0x5104eafc - .long 0x4f980855, 0x50f1de7a - .long 0x4f899c5c, 0x50dbf4a3 - .long 0x4f78ff60, 0x50c7ee0e - .long 0x4f612ab5, 0x50b5a381 - .long 0x4f4b8583, 0x50a4f0bc - .long 0x4f37deef, 0x5095b43b - .long 0x4f260a27, 0x5087cf0e - .long 0x4f15de0f, 0x5076494d - .long 0x4f0734f9, 0x505f355e - .long 0x4ef3d8c4, 0x504a31bf - .long 0x4edbc95e, 0x503711b4 - .long 0x4ec601e9, 0x5025ac0e - .long 0x4eb24d81, 0x5015dae6 - .long 0x4ea07bca, 0x50077b62 - .long 0x4e906098, 0x4ff4daf4 - .long 0x4e81d395, 0x4fdd2782 - .long 0x4e695fe3, 0x4fc7a666 - .long 0x4e51a834, 0x4fb42611 - .long 0x4e3c42e7, 0x4fa2790f - .long 0x4e28f835, 0x4f9275b9 - .long 0x4e179555, 0x4f83f5e9 - .long 0x4e07ec0b, 0x4f6dad68 - .long 0x4df3a498, 0x4f55f04f - .long 0x4dda43ba, 0x4f407a1d - .long 0x4dc37003, 0x4f2d1570 - .long 0x4daeea58, 0x4f1b9188 - .long 0x4d9c7974, 0x4f0bc1e7 - .long 0x4d8be963, 0x4efafbec - .long 0x4d7a160c, 0x4ee14167 - .long 0x4d5f6759, 0x4eca10ce - .long 0x4d477955, 0x4eb52cb9 - .long 0x4d3205fb, 0x4ea25d43 - .long 0x4d1ecdf3, 0x4e916f95 - .long 0x4d0d97f2, 0x4e823575 - .long 0x4cfc6061, 0x4e6909cc - .long 0x4ce0cfd4, 0x4e506f88 - .long 0x4cc829c6, 0x4e3a56e4 - .long 0x4cb221ff, 0x4e268119 - .long 0x4c9e73c2, 0x4e14b538 - .long 0x4c8ce119, 0x4e04bfb1 - .long 0x4c7a6462, 0x4dece39b - .long 0x4c5e6987, 0x4dd34296 - .long 0x4c457726, 0x4dbc4fdc - .long 0x4c2f3bdb, 0x4da7c64b - .long 0x4c1b6e79, 0x4d956771 - .long 0x4c09cd3e, 0x4d84fae8 - .long 0x4bf43a38, 0x4d6c9b8f - .long 0x4bd85225, 0x4d52644f - .long 0x4bbf8325, 0x4d3afd47 - .long 0x4ba977f0, 0x4d261be0 - .long 0x4b95e415, 0x4d137cf0 - .long 0x4b848320, 0x4d02e402 - .long 0x4b6a2f8b, 0x4ce8356b - .long 0x4b4ed659, 0x4ccde050 - .long 0x4b369893, 0x4cb670d5 - .long 0x4b211e8a, 0x4ca19816 - .long 0x4b0e19e7, 0x4c8f0f43 - .long 0x4afa896f, 0x4c7d2da8 - .long 0x4adcc11e, 0x4c5febab - .long 0x4ac26b7f, 0x4c45f27c - .long 0x4aab2549, 0x4c2ee6b3 - .long 0x4a969605, 0x4c1a767c - .long 0x4a846ee9, 0x4c0858a4 - .long 0x4a68d3a8, 0x4bf09770 - .long 0x4a4c90c6, 0x4bd42a75 - .long 0x4a33a635, 0x4bbb01dd - .long 0x4a1db15b, 0x4ba4c066 - .long 0x4a0a5aa0, 0x4b9112d9 - .long 0x49f2a881, 0x4b7f5e08 - .long 0x49d4b277, 0x4b60a591 - .long 0x49ba58bd, 0x4b45867e - .long 0x49a32ed5, 0x4b2d97f3 - .long 0x498ed4a2, 0x4b187c9e - .long 0x4979ea08, 0x4b05e186 - .long 0x495a8951, 0x4aeaf9d4 - .long 0x493f01d9, 0x4ace1a8c - .long 0x4926ddcc, 0x4ab4b0dc - .long 0x4911b50d, 0x4a9e558a - .long 0x48fe574a, 0x4a8aad05 - .long 0x48dde0d0, 0x4a72cc48 - .long 0x48c1776e, 0x4a547203 - .long 0x48a89cd3, 0x4a39cbe3 - .long 0x4892e1aa, 0x4a226937 - .long 0x487fc7c2, 0x4a0de652 - .long 0x485e9a3a, 0x49f7d629 - .long 0x4841a2c3, 0x49d85345 - .long 0x48285bae, 0x49bcba74 - .long 0x48124f79, 0x49a49254 - .long 0x47fe2dc4, 0x498f6fd2 - .long 0x47dcae77, 0x4979e90c - .long 0x47bf81dd, 0x49599a7d - .long 0x47a61c4e, 0x493d616c - .long 0x47900357, 0x4924bcd6 - .long 0x47799750, 0x490f3b3e - .long 0x47582e7f, 0x48f8f1a9 - .long 0x473b27a3, 0x48d83bc6 - .long 0x4721f2b6, 0x48bbbab7 - .long 0x470c11c0, 0x48a2e733 - .long 0x46f22d4c, 0x488d4a80 - .long 0x46d14266, 0x4874f900 - .long 0x46b4bacb, 0x485443df - .long 0x469c03d6, 0x4837d5b2 - .long 0x46869d9b, 0x481f2272 - .long 0x46683120, 0x4809af94 - .long 0x46482706, 0x47ee23cf - .long 0x462c7395, 0x47cdd76a - .long 0x46148366, 0x47b1d636 - .long 0x45ffac6d, 0x4799912d - .long 0x45dbf8fa, 0x47848b78 - .long 0x45bd2a88, 0x4764b060 - .long 0x45a298a1, 0x474530ba - .long 0x458bb0fc, 0x4729f27c - .long 0x456fe94b, 0x47126579 - .long 0x454deaf8, 0x46fc1860 - .long 0x4530a808, 0x46d8f2d6 - .long 0x45177b00, 0x46ba9c63 - .long 0x4501d48c, 0x46a06fec - .long 0x44de7135, 0x4689de04 - .long 0x44be77a1, 0x466cd440 - .long 0x44a302b0, 0x464b505a - .long 0x448b71e5, 0x462e74d6 - .long 0x446e7534, 0x46159f2a - .long 0x444bca2d, 0x46004280 - .long 0x442e1414, 0x45dbc9bf - .long 0x4414a0a8, 0x45bc396d - .long 0x43fdac7d, 0x45a11d60 - .long 0x43d860d4, 0x4589d7a8 - .long 0x43b87a3a, 0x456bbf86 - .long 0x439d3454, 0x45497f9a - .long 0x4385e630, 0x452c23f7 - .long 0x4363fd06, 0x4512fcf7 - .long 0x434200db, 0x44fae63c - .long 0x4325014d, 0x44d607b0 - .long 0x430c4623, 0x44b67d4e - .long 0x42ee627d, 0x449b855c - .long 0x42ca7603, 0x44847920 - .long 0x42abde4b, 0x44619261 - .long 0x4291d40d, 0x443ff482 - .long 0x4277593c, 0x442344bf - .long 0x4251abca, 0x440acd1c - .long 0x4231a5c0, 0x43ebe2ca - .long 0x42167152, 0x43c85727 - .long 0x41feaf84, 0x43aa1178 - .long 0x41d779e7, 0x43904cc0 - .long 0x41b63731, 0x4374c081 - .long 0x419a03db, 0x434f7703 - .long 0x41821dd0, 0x432fc5c4 - .long 0x415bbf2e, 0x4314d94a - .long 0x41397862, 0x42fbf99c - .long 0x411c770c, 0x42d52bb9 - .long 0x4103eeb4, 0x42b4411f - .long 0x40de62c7, 0x429858a7 - .long 0x40bb5652, 0x4280b23e - .long 0x409dbc89, 0x4259543f - .long 0x4084bfc1, 0x42376979 - .long 0x405f551f, 0x421ab66b - .long 0x403bc5f1, 0x420270af - .long 0x401dccc2, 0x41dbd820 - .long 0x40048c16, 0x41b92c31 - .long 0x3fde907e, 0x419be496 - .long 0x3fbac490, 0x41832dcb - .long 0x3f9ca73d, 0x415ca86a - .long 0x3f8354cb, 0x41397eca - .long 0x3f5c1947, 0x411bdc1e - .long 0x3f3857fa, 0x4102e528 - .long 0x3f1a529e, 0x40dbc03f - .long 0x3f0120ef, 0x40b85f58 - .long 0x3ed7fdc8, 0x409a9d36 - .long 0x3eb48e3e, 0x40819878 - .long 0x3e96dc65, 0x4059250b - .long 0x3e7bfa7c, 0x4035d48d - .long 0x3e5255b2, 0x40182f4c - .long 0x3e2f7d27, 0x3ffe9ef1 - .long 0x3e12586c, 0x3fd4e64a - .long 0x3df3f750, 0x3fb1ed7c - .long 0x3dcb4137, 0x3f94a0bb - .long 0x3da94169, 0x3f782f41 - .long 0x3d8ce028, 0x3f4f1cee - .long 0x3d6a654e, 0x3f2cc100 - .long 0x3d42e7d6, 0x3f100645 - .long 0x3d21fd99, 0x3ef00749 - .long 0x3d0691c1, 0x3ec7ea70 - .long 0x3cdf78d9, 0x3ea66ce0 - .long 0x3cb976f2, 0x3e8a7a45 - .long 0x3c99d8e5, 0x3e665575 - .long 0x3c7f1de8, 0x3e3f778a - .long 0x3c536be9, 0x3e1f14b2 - .long 0x3c2f2031, 0x3e041bb4 - .long 0x3c10fdbd, 0x3ddb4f88 - .long 0x3beff7df, 0x3db5f2ba - .long 0x3bc67c0b, 0x3d96e08d - .long 0x3ba417d4, 0x3d7a1a1e - .long 0x3b879862, 0x3d4f30a7 - .long 0x3b5ffc37, 0x3d2b8e9a - .long 0x3b38e85b, 0x3d0dfba1 - .long 0x3b1892fb, 0x3ceae636 - .long 0x3afbaaf5, 0x3cc2374f - .long 0x3acf75d5, 0x3ca08024 - .long 0x3aaaef8c, 0x3c8492c0 - .long 0x3a8cc60c, 0x3c5ae75b - .long 0x3a67c170, 0x3c34a340 - .long 0x3a3ead7b, 0x3c14fcf4 - .long 0x3a1cce14, 0x3bf5a5cf - .long 0x3a00e32d, 0x3bca68ef - .long 0x39d3c741, 0x3ba6b383 - .long 0x39ade7c9, 0x3b8939a3 - .long 0x398ebc8e, 0x3b61cfd0 - .long 0x396a31ee, 0x3b39b3ce - .long 0x394008fe, 0x3b18a48b - .long 0x391d638e, 0x3afad08d - .long 0x3900ee61, 0x3acdf654 - .long 0x38d322ce, 0x3aa90c4d - .long 0x38accb15, 0x3a8aaea4 - .long 0x388d5872, 0x3a636e45 - .long 0x3867216f, 0x3a3a6544 - .long 0x383ce218, 0x3a18b095 - .long 0x381a4894, 0x39fa092d - .long 0x37fbec07, 0x39cc9f41 - .long 0x37cd9386, 0x39a76003 - .long 0x37a7acfd, 0x3988d758 - .long 0x3788b256, 0x395fa559 - .long 0x375ec64b, 0x3936ab0f - .long 0x373570b9, 0x39152037 - .long 0x3713b43a, 0x38f35dd3 - .long 0x36f05d69, 0x38c67c0a - .long 0x36c37bc4, 0x38a1ccfc - .long 0x369ee7d7, 0x3883d518 - .long 0x36811c14, 0x3856b981 - .long 0x3651b337, 0x382ec87a - .long 0x362a371c, 0x380e33a7 - .long 0x360a1932, 0x37e74660 - .long 0x35dff98b, 0x37bbfab1 - .long 0x35b589f6, 0x3798b6d4 - .long 0x3593127a, 0x37780230 - .long 0x356e2ef2, 0x37494905 - .long 0x3540c69d, 0x372348d9 - .long 0x351bf310, 0x370464b5 - .long 0x34fc31bf, 0x36d69685 - .long 0x34cbd1ee, 0x36add231 - .long 0x34a4a520, 0x368cbaf0 - .long 0x3484ef72, 0x3663c449 - .long 0x34568fd0, 0x363839e2 - .long 0x342d122f, 0x3614efa4 - .long 0x340b893c, 0x35f0b1df - .long 0x33e0e3a6, 0x35c265d8 - .long 0x33b5237a, 0x359cede7 - .long 0x3391d42c, 0x357d3dc9 - .long 0x336ab0cb, 0x354c3b50 - .long 0x333cc25b, 0x3524a05e - .long 0x3317be62, 0x3504a304 - .long 0x32f3db16, 0x34d59f46 - .long 0x32c3d8af, 0x34abf19f - .long 0x329d3680, 0x348a545b - .long 0x327c475d, 0x345e76f3 - .long 0x324a5141, 0x3432cc8c - .long 0x32222c05, 0x340fa24c - .long 0x3201edfc, 0x33e6a843 - .long 0x31d01833, 0x33b91cba - .long 0x31a68f97, 0x33947ce5 - .long 0x318540a5, 0x336e1a5b - .long 0x31551b65, 0x333eced8 - .long 0x312a535b, 0x3318d52b - .long 0x31081119, 0x32f4b613 - .long 0x30d94acf, 0x32c3d10c - .long 0x30ad6b36, 0x329c9d69 - .long 0x308a563f, 0x327a666d - .long 0x305c98dc, 0x32481354 - .long 0x302fcd12, 0x321fc975 - .long 0x300c08aa, 0x31ff1904 - .long 0x2fdefaaf, 0x31cb87d8 - .long 0x2fb17113, 0x31a24ef3 - .long 0x2f8d22bb, 0x31815f38 - .long 0x2f60685f, 0x314e2339 - .long 0x2f3251c3, 0x3124258f - .long 0x2f0da0c6, 0x3102a54d - .long 0x2ee0dd25, 0x30cfdcca - .long 0x2eb26c30, 0x30a54727 - .long 0x2e8d8121, 0x30835a7f - .long 0x2e605773, 0x3050aec3 - .long 0x2e31bffd, 0x3025afef - .long 0x2e0cc431, 0x30037c6d - .long 0x2dded902, 0x2fd09664 - .long 0x2db04f61, 0x2fa55e85 - .long 0x2d8b6c69, 0x2f830aa5 - .long 0x2d5c66c4, 0x2f4f93fd - .long 0x2d2e1f21, 0x2f2453fe - .long 0x2d097e36, 0x2f0206a5 - .long 0x2cd908c8, 0x2ecdaaf4 - .long 0x2cab3670, 0x2ea293d6 - .long 0x2c86fff0, 0x2e8073d6 - .long 0x2c54ca13, 0x2e4ae1ac - .long 0x2c279ec9, 0x2e2023e7 - .long 0x2c03f9af, 0x2dfcaee7 - .long 0x2bcfb860, 0x2dc74167 - .long 0x2ba363bd, 0x2d9d0c41 - .long 0x2b807524, 0x2d7770ea - .long 0x2b49e3d6, 0x2d42d60c - .long 0x2b1e92b5, 0x2d195702 - .long 0x2af8fac8, 0x2cf13ec4 - .long 0x2ac35eb5, 0x2cbdaded - .long 0x2a993aaa, 0x2c95101b - .long 0x2a703d5a, 0x2c6a2c50 - .long 0x2a3c3cf6, 0x2c37d975 - .long 0x2a136bd8, 0x2c104516 - .long 0x29e6cc51, 0x2be24fc5 - .long 0x29b493e1, 0x2bb16ad5 - .long 0x298d376b, 0x2b8b04c7 - .long 0x295cc356, 0x2b59c147 - .long 0x292c79ad, 0x2b2a759f - .long 0x2906af30, 0x2b055f07 - .long 0x28d23edb, 0x2ad09a6a - .long 0x28a4050c, 0x2aa30e6d - .long 0x287fca72, 0x2a7ec8c1 - .long 0x28475b9c, 0x2a46f5b1 - .long 0x281b4cca, 0x2a1b4a74 - .long 0x27f1d725, 0x29f24b83 - .long 0x27bc361f, 0x29bcee14 - .long 0x27926764, 0x29933f23 - .long 0x2763a7e2, 0x29656858 - .long 0x2730ea36, 0x29329e84 - .long 0x27096aae, 0x290b01c6 - .long 0x26d55ed6, 0x28d840d5 - .long 0x26a59297, 0x28a82171 - .long 0x26806b7c, 0x2882a722 - .long 0x26471c70, 0x284af596 - .long 0x261a4874, 0x281d9063 - .long 0x25eefab5, 0x27f4865b - .long 0x25b8fef0, 0x27bda5bb - .long 0x258f232d, 0x27930395 - .long 0x255d6497, 0x2763d176 - .long 0x252b220e, 0x27306e78 - .long 0x25043806, 0x270891a3 - .long 0x24cc3533, 0x26d35285 - .long 0x249d9eab, 0x26a36ab9 - .long 0x247333ed, 0x267c9e87 - .long 0x243b895c, 0x2643294f - .long 0x24108aa2, 0x2616b2d7 - .long 0x23deb305, 0x25e89e19 - .long 0x23ab79f7, 0x25b3722d - .long 0x2383f8a5, 0x258a5c5b - .long 0x234b094e, 0x255542a6 - .long 0x231c1be0, 0x252445ca - .long 0x22eff061, 0x24fcf3b9 - .long 0x22b84dad, 0x24c2a818 - .long 0x228d7fe9, 0x2495b90c - .long 0x22592b20, 0x246635db - .long 0x222691fd, 0x2430e58d - .long 0x21ff65e8, 0x2407dd07 - .long 0x21c3b3ec, 0x23d09839 - .long 0x2195e33f, 0x23a00d5e - .long 0x21657c23, 0x23757e16 - .long 0x212f973d, 0x233c2e00 - .long 0x210649d6, 0x23102d3f - .long 0x20cd4d83, 0x22dcd18d - .long 0x209cdbfe, 0x22a904b4 - .long 0x206f93bd, 0x22814e73 - .long 0x2036de68, 0x2245c0eb - .long 0x200b8405, 0x22172479 - .long 0x1fd4c713, 0x21e6ec36 - .long 0x1fa22d35, 0x21b0523d - .long 0x1f771927, 0x21869086 - .long 0x1f3c2718, 0x214d4b0f - .long 0x1f0f32ff, 0x211c85ba - .long 0x1ed9ddc3, 0x20ee8f29 - .long 0x1ea5a71b, 0x20b5b53d - .long 0x1e7bc87b, 0x208a5661 - .long 0x1e3f4167, 0x205288d5 - .long 0x1e11353d, 0x2020208a - .long 0x1ddc631a, 0x1ff3754b - .long 0x1da729d6, 0x1fb8fcbd - .long 0x1d7d76ae, 0x1f8c7d97 - .long 0x1d4010bf, 0x1f554a3f - .long 0x1d117833, 0x1f21d3cb - .long 0x1cdc3fc3, 0x1ef57178 - .long 0x1ca6a764, 0x1eba0a73 - .long 0x1c7c141f, 0x1e8cf23a - .long 0x1c3e8d91, 0x1e5575bf - .long 0x1c0ff968, 0x1e218fb3 - .long 0x1bd974f4, 0x1df47139 - .long 0x1ba4246f, 0x1db8d48f - .long 0x1b77ad8b, 0x1d8bb00a - .long 0x1b3ac5c9, 0x1d5309be - .long 0x1b0cc6a1, 0x1d1f56ba - .long 0x1ad41c58, 0x1cf07de1 - .long 0x1a9fb806, 0x1cb56657 - .long 0x1a706b47, 0x1c88c2bc - .long 0x1a34dbfa, 0x1c4e1cba - .long 0x1a07fd09, 0x1c1b3d7d - .long 0x19cc668e, 0x1be9bbfd - .long 0x19998a40, 0x1bafdf73 - .long 0x19668edd, 0x1b844540 - .long 0x192d054e, 0x1b46dbe6 - .long 0x1901c77a, 0x1b156976 - .long 0x18c29845, 0x1ae0691f - .long 0x1891d1e0, 0x1aa8720d - .long 0x185a6f34, 0x1a7cc054 - .long 0x18238672, 0x1a3d887f - .long 0x17f4b806, 0x1a0e0ecc - .long 0x17b70648, 0x19d4d840 - .long 0x1788d12d, 0x199f5fda - .long 0x174c739d, 0x196e8e9b - .long 0x1718afac, 0x193273f8 - .long 0x16e3f1ae, 0x19056d4a - .long 0x16aa10bb, 0x18c76cf4 - .long 0x167da48f, 0x1894f659 - .long 0x163d0e1a, 0x185e6d9a - .long 0x160cd879, 0x1825fb65 - .long 0x15d1c1e5, 0x17f7998c - .long 0x159c1df9, 0x17b895e1 - .long 0x1568466d, 0x17898a88 - .long 0x152cb568, 0x174cdf9b - .long 0x15005b01, 0x1718826b - .long 0x14beb151, 0x16e2f29a - .long 0x148d955e, 0x16a8c6d9 - .long 0x14522407, 0x167ae8e3 - .long 0x141bdf21, 0x163a6a2d - .long 0x13e71f72, 0x160a6e25 - .long 0x13ab44c3, 0x15cd7e87 - .long 0x137db4e3, 0x15987319 - .long 0x133bd23f, 0x156215a4 - .long 0x130afa70, 0x15278fa9 - .long 0x12cd92ee, 0x14f840ab - .long 0x1297f777, 0x14b7cfb1 - .long 0x1260915e, 0x148807fd - .long 0x1225d8aa, 0x14493e73 - .long 0x11f4d72b, 0x1414c97a - .long 0x11b4a474, 0x13dbe665 - .long 0x11853669, 0x13a26be2 - .long 0x11446065, 0x136fd110 - .long 0x1110acc4, 0x1330f593 - .long 0x10d51115, 0x13028371 - .long 0x109cd187, 0x12c06c14 - .long 0x1066ba07, 0x128dc782 - .long 0x1029a6c1, 0x1250d3f6 - .long 0x0ff95d83, 0x1219b798 - .long 0x0fb72d9a, 0x11e230b9 - .long 0x0f867e41, 0x11a655c1 - .long 0x0f456641, 0x117484a6 - .long 0x0f10cb43, 0x1133a328 - .long 0x0ed44fd3, 0x1103e85c - .long 0x0e9b94c1, 0x10c19ffd - .long 0x0e63e84a, 0x108e0a3d - .long 0x0e26d8e4, 0x10504b66 - .long 0x0df42c6c, 0x1018a6f6 - .long 0x0db294f0, 0x0fdfa367 - .long 0x0d828bdd, 0x0fa3bcb5 - .long 0x0d3ec540, 0x0f6fa4d1 - .long 0x0d0b5230, 0x0f2f48cc - .long 0x0ccb653b, 0x0f00259a - .long 0x0c946596, 0x0ebb479f - .long 0x00000000, 0x00000000 - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ - .align 32 - .long 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000 /* _MaxThreshold=644.0/64.0 */ - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* sign mask */ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ - .align 32 - .long 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000 /* SRound */ - .align 32 - .long 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000 /* _TwoM48 */ - // polynomial coefficients - .align 32 - .long 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca // poly1[0] - .align 32 - .long 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22 // poly1[1] - .align 32 - .long 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36 // poly3[0] - .align 32 - .long 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb // poly3[1] - .align 32 - .long 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6 // poly1[2] - .align 32 - .long 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc // poly1[3] - .align 32 - .long 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB /* UF_Threshold */ - .align 32 - .type __svml_serfc_data_internal,@object - .size __svml_serfc_data_internal,.-__svml_serfc_data_internal + /* _erfc_tbl */ + .long 0x57800000, 0x57906ebb + .long 0x577b7ca2, 0x579065b4 + .long 0x5776f9d5, 0x57904aa3 + .long 0x57727828, 0x57901d93 + .long 0x576df82b, 0x578fde94 + .long 0x57697a6e, 0x578f8dbd + .long 0x5764ff7f, 0x578f2b2e + .long 0x576087ea, 0x578eb70a + .long 0x575c143d, 0x578e317d + .long 0x5757a500, 0x578d9ab9 + .long 0x57533abf, 0x578cf2f5 + .long 0x574ed5fe, 0x578c3a6f + .long 0x574a7744, 0x578b716c + .long 0x57461f12, 0x578a9834 + .long 0x5741cdeb, 0x5789af18 + .long 0x573d844a, 0x5788b66c + .long 0x573942ac, 0x5787ae8b + .long 0x57350989, 0x578697d3 + .long 0x5730d956, 0x578572a8 + .long 0x572cb284, 0x57843f72 + .long 0x57289583, 0x5782fe9f + .long 0x572482bd, 0x5781b0a0 + .long 0x57207a9b, 0x578055e8 + .long 0x571c7d80, 0x577ddddf + .long 0x57188bcb, 0x577af867 + .long 0x5714a5da, 0x5777fc62 + .long 0x5710cc05, 0x5774ead4 + .long 0x570cfe9f, 0x5771c4c4 + .long 0x57093df9, 0x576e8b3e + .long 0x57058a5e, 0x576b3f51 + .long 0x5701e415, 0x5767e20f + .long 0x56fc96c6, 0x5764748e + .long 0x56f5810a, 0x5760f7e5 + .long 0x56ee876d, 0x575d6d2d + .long 0x56e7aa5a, 0x5759d57e + .long 0x56e0ea35, 0x575631f4 + .long 0x56da4757, 0x575283a7 + .long 0x56d3c214, 0x574ecbb1 + .long 0x56cd5ab3, 0x574b0b28 + .long 0x56c71175, 0x57474323 + .long 0x56c0e692, 0x574374b5 + .long 0x56bada38, 0x573fa0ee + .long 0x56b4ec8f, 0x573bc8dc + .long 0x56af1db3, 0x5737ed89 + .long 0x56a96dbc, 0x57340ff9 + .long 0x56a3dcb7, 0x5730312e + .long 0x569e6aaa, 0x572c5223 + .long 0x56991793, 0x572873cf + .long 0x5693e369, 0x57249721 + .long 0x568ece1a, 0x5720bd06 + .long 0x5689d78f, 0x571ce661 + .long 0x5684ffa8, 0x5719140f + .long 0x56804640, 0x571546e7 + .long 0x56775654, 0x57117fb9 + .long 0x566e5c65, 0x570dbf4c + .long 0x56659e43, 0x570a0662 + .long 0x565d1b6d, 0x570655b1 + .long 0x5654d35d, 0x5702adeb + .long 0x564cc57d, 0x56fe1f73 + .long 0x5644f12f, 0x56f6f777 + .long 0x563d55cc, 0x56efe513 + .long 0x5635f2a1, 0x56e8e968 + .long 0x562ec6f6, 0x56e20584 + .long 0x5627d207, 0x56db3a64 + .long 0x5621130b, 0x56d488f8 + .long 0x561a8931, 0x56cdf21c + .long 0x561433a0, 0x56c7769b + .long 0x560e117c, 0x56c11733 + .long 0x560821e1, 0x56bad48d + .long 0x560263e5, 0x56b4af46 + .long 0x55f9ad39, 0x56aea7ea + .long 0x55eef22b, 0x56a8bef3 + .long 0x55e494b6, 0x56a2f4ce + .long 0x55da92eb, 0x569d49d9 + .long 0x55d0ead3, 0x5697be62 + .long 0x55c79a75, 0x569252aa + .long 0x55be9fd3, 0x568d06e3 + .long 0x55b5f8ee, 0x5687db31 + .long 0x55ada3c2, 0x5682cfad + .long 0x55a59e4c, 0x567bc8c2 + .long 0x559de68a, 0x56723298 + .long 0x55967a77, 0x5668dcc1 + .long 0x558f5812, 0x565fc70e + .long 0x55887d5c, 0x5656f136 + .long 0x5581e856, 0x564e5adf + .long 0x55772e0c, 0x56460399 + .long 0x556b0eeb, 0x563deae4 + .long 0x555f6f64, 0x5636102b + .long 0x55544b9e, 0x562e72cb + .long 0x55499fc8, 0x5627120f + .long 0x553f681d, 0x561fed36 + .long 0x5535a0e6, 0x5619036e + .long 0x552c4679, 0x561253dc + .long 0x55235539, 0x560bdd96 + .long 0x551ac999, 0x56059fa9 + .long 0x5512a01c, 0x55ff3230 + .long 0x550ad554, 0x55f391b9 + .long 0x550365e5, 0x55e85bd0 + .long 0x54f89d02, 0x55dd8e4c + .long 0x54eb17df, 0x55d326f3 + .long 0x54de360f, 0x55c92385 + .long 0x54d1f166, 0x55bf81b6 + .long 0x54c643dc, 0x55b63f32 + .long 0x54bb2790, 0x55ad59a1 + .long 0x54b096c5, 0x55a4cea4 + .long 0x54a68be5, 0x559c9bd9 + .long 0x549d0180, 0x5594bedd + .long 0x5493f24c, 0x558d354b + .long 0x548b5926, 0x5585fcbf + .long 0x54833111, 0x557e25af + .long 0x5476ea69, 0x5570ea68 + .long 0x546841c1, 0x556442f0 + .long 0x545a5f10, 0x55582a98 + .long 0x544d398b, 0x554c9cbd + .long 0x5440c8ae, 0x554194c7 + .long 0x54350440, 0x55370e2c + .long 0x5429e44f, 0x552d0474 + .long 0x541f612f, 0x55237336 + .long 0x5415737d, 0x551a561b + .long 0x540c1417, 0x5511a8e1 + .long 0x54033c22, 0x5509675a + .long 0x53f5ca07, 0x55018d6b + .long 0x53e610c3, 0x54f42e22 + .long 0x53d74046, 0x54e600c0 + .long 0x53c94cd8, 0x54d88b05 + .long 0x53bc2b3a, 0x54cbc574 + .long 0x53afd0a5, 0x54bfa8c4 + .long 0x53a432c3, 0x54b42ddb + .long 0x539947af, 0x54a94dcf + .long 0x538f05f3, 0x549f01ec + .long 0x5385647e, 0x549543ae + .long 0x5378b557, 0x548c0cc2 + .long 0x5367c06a, 0x5483570a + .long 0x5357da71, 0x54763931 + .long 0x5348f45f, 0x5466af65 + .long 0x533affda, 0x5458059c + .long 0x532def39, 0x544a3127 + .long 0x5321b57a, 0x543d27b5 + .long 0x5316463d, 0x5430df57 + .long 0x530b95bd, 0x54254e7b + .long 0x530198cc, 0x541a6bee + .long 0x52f08999, 0x54102ed6 + .long 0x52df1f58, 0x54068eb5 + .long 0x52cedfb9, 0x53fb06c5 + .long 0x52bfb8a0, 0x53ea0a1d + .long 0x52b198e5, 0x53da1876 + .long 0x52a4704e, 0x53cb237a + .long 0x52982f7c, 0x53bd1d6f + .long 0x528cc7eb, 0x53aff93b + .long 0x52822be3, 0x53a3aa56 + .long 0x52709cde, 0x539824ce + .long 0x525e46a9, 0x538d5d3c + .long 0x524d3e18, 0x538348c6 + .long 0x523d6d6f, 0x5373ba24 + .long 0x522ec035, 0x53622096 + .long 0x52212321, 0x5351b22a + .long 0x52148413, 0x53425d18 + .long 0x5208d1fc, 0x53341080 + .long 0x51fbf9ac, 0x5326bc5e + .long 0x51e7eb29, 0x531a5183 + .long 0x51d55c2d, 0x530ec18c + .long 0x51c43238, 0x5303feda + .long 0x51b45472, 0x52f3f919 + .long 0x51a5ab93, 0x52e15ce8 + .long 0x519821ce, 0x52d0121b + .long 0x518ba2bc, 0x52c002f8 + .long 0x51801b49, 0x52b11afe + .long 0x516af33c, 0x52a346d7 + .long 0x51575a21, 0x5296744c + .long 0x51454c24, 0x528a9237 + .long 0x5134ac3b, 0x527f20e7 + .long 0x51255f51, 0x526abfa9 + .long 0x51174c27, 0x5257e42f + .long 0x510a5b3b, 0x524673af + .long 0x50fced50, 0x52365507 + .long 0x50e7141d, 0x522770a1 + .long 0x50d304fc, 0x5219b066 + .long 0x50c09cb5, 0x520cffa3 + .long 0x50afba92, 0x52014af8 + .long 0x50a04037, 0x51ed0088 + .long 0x50921177, 0x51d91d2d + .long 0x50851430, 0x51c6cc35 + .long 0x50726058, 0x51b5f011 + .long 0x505c9dfa, 0x51a66d2a + .long 0x5048b7be, 0x519829c8 + .long 0x50368738, 0x518b0df2 + .long 0x5025e8e0, 0x517e06ab + .long 0x5016bbdf, 0x5167ea53 + .long 0x5008e1df, 0x5153a034 + .long 0x4ff87dc3, 0x5141045e + .long 0x4fe1721f, 0x512ff56d + .long 0x4fcc712a, 0x51205461 + .long 0x4fb94efb, 0x51120475 + .long 0x4fa7e31e, 0x5104eafc + .long 0x4f980855, 0x50f1de7a + .long 0x4f899c5c, 0x50dbf4a3 + .long 0x4f78ff60, 0x50c7ee0e + .long 0x4f612ab5, 0x50b5a381 + .long 0x4f4b8583, 0x50a4f0bc + .long 0x4f37deef, 0x5095b43b + .long 0x4f260a27, 0x5087cf0e + .long 0x4f15de0f, 0x5076494d + .long 0x4f0734f9, 0x505f355e + .long 0x4ef3d8c4, 0x504a31bf + .long 0x4edbc95e, 0x503711b4 + .long 0x4ec601e9, 0x5025ac0e + .long 0x4eb24d81, 0x5015dae6 + .long 0x4ea07bca, 0x50077b62 + .long 0x4e906098, 0x4ff4daf4 + .long 0x4e81d395, 0x4fdd2782 + .long 0x4e695fe3, 0x4fc7a666 + .long 0x4e51a834, 0x4fb42611 + .long 0x4e3c42e7, 0x4fa2790f + .long 0x4e28f835, 0x4f9275b9 + .long 0x4e179555, 0x4f83f5e9 + .long 0x4e07ec0b, 0x4f6dad68 + .long 0x4df3a498, 0x4f55f04f + .long 0x4dda43ba, 0x4f407a1d + .long 0x4dc37003, 0x4f2d1570 + .long 0x4daeea58, 0x4f1b9188 + .long 0x4d9c7974, 0x4f0bc1e7 + .long 0x4d8be963, 0x4efafbec + .long 0x4d7a160c, 0x4ee14167 + .long 0x4d5f6759, 0x4eca10ce + .long 0x4d477955, 0x4eb52cb9 + .long 0x4d3205fb, 0x4ea25d43 + .long 0x4d1ecdf3, 0x4e916f95 + .long 0x4d0d97f2, 0x4e823575 + .long 0x4cfc6061, 0x4e6909cc + .long 0x4ce0cfd4, 0x4e506f88 + .long 0x4cc829c6, 0x4e3a56e4 + .long 0x4cb221ff, 0x4e268119 + .long 0x4c9e73c2, 0x4e14b538 + .long 0x4c8ce119, 0x4e04bfb1 + .long 0x4c7a6462, 0x4dece39b + .long 0x4c5e6987, 0x4dd34296 + .long 0x4c457726, 0x4dbc4fdc + .long 0x4c2f3bdb, 0x4da7c64b + .long 0x4c1b6e79, 0x4d956771 + .long 0x4c09cd3e, 0x4d84fae8 + .long 0x4bf43a38, 0x4d6c9b8f + .long 0x4bd85225, 0x4d52644f + .long 0x4bbf8325, 0x4d3afd47 + .long 0x4ba977f0, 0x4d261be0 + .long 0x4b95e415, 0x4d137cf0 + .long 0x4b848320, 0x4d02e402 + .long 0x4b6a2f8b, 0x4ce8356b + .long 0x4b4ed659, 0x4ccde050 + .long 0x4b369893, 0x4cb670d5 + .long 0x4b211e8a, 0x4ca19816 + .long 0x4b0e19e7, 0x4c8f0f43 + .long 0x4afa896f, 0x4c7d2da8 + .long 0x4adcc11e, 0x4c5febab + .long 0x4ac26b7f, 0x4c45f27c + .long 0x4aab2549, 0x4c2ee6b3 + .long 0x4a969605, 0x4c1a767c + .long 0x4a846ee9, 0x4c0858a4 + .long 0x4a68d3a8, 0x4bf09770 + .long 0x4a4c90c6, 0x4bd42a75 + .long 0x4a33a635, 0x4bbb01dd + .long 0x4a1db15b, 0x4ba4c066 + .long 0x4a0a5aa0, 0x4b9112d9 + .long 0x49f2a881, 0x4b7f5e08 + .long 0x49d4b277, 0x4b60a591 + .long 0x49ba58bd, 0x4b45867e + .long 0x49a32ed5, 0x4b2d97f3 + .long 0x498ed4a2, 0x4b187c9e + .long 0x4979ea08, 0x4b05e186 + .long 0x495a8951, 0x4aeaf9d4 + .long 0x493f01d9, 0x4ace1a8c + .long 0x4926ddcc, 0x4ab4b0dc + .long 0x4911b50d, 0x4a9e558a + .long 0x48fe574a, 0x4a8aad05 + .long 0x48dde0d0, 0x4a72cc48 + .long 0x48c1776e, 0x4a547203 + .long 0x48a89cd3, 0x4a39cbe3 + .long 0x4892e1aa, 0x4a226937 + .long 0x487fc7c2, 0x4a0de652 + .long 0x485e9a3a, 0x49f7d629 + .long 0x4841a2c3, 0x49d85345 + .long 0x48285bae, 0x49bcba74 + .long 0x48124f79, 0x49a49254 + .long 0x47fe2dc4, 0x498f6fd2 + .long 0x47dcae77, 0x4979e90c + .long 0x47bf81dd, 0x49599a7d + .long 0x47a61c4e, 0x493d616c + .long 0x47900357, 0x4924bcd6 + .long 0x47799750, 0x490f3b3e + .long 0x47582e7f, 0x48f8f1a9 + .long 0x473b27a3, 0x48d83bc6 + .long 0x4721f2b6, 0x48bbbab7 + .long 0x470c11c0, 0x48a2e733 + .long 0x46f22d4c, 0x488d4a80 + .long 0x46d14266, 0x4874f900 + .long 0x46b4bacb, 0x485443df + .long 0x469c03d6, 0x4837d5b2 + .long 0x46869d9b, 0x481f2272 + .long 0x46683120, 0x4809af94 + .long 0x46482706, 0x47ee23cf + .long 0x462c7395, 0x47cdd76a + .long 0x46148366, 0x47b1d636 + .long 0x45ffac6d, 0x4799912d + .long 0x45dbf8fa, 0x47848b78 + .long 0x45bd2a88, 0x4764b060 + .long 0x45a298a1, 0x474530ba + .long 0x458bb0fc, 0x4729f27c + .long 0x456fe94b, 0x47126579 + .long 0x454deaf8, 0x46fc1860 + .long 0x4530a808, 0x46d8f2d6 + .long 0x45177b00, 0x46ba9c63 + .long 0x4501d48c, 0x46a06fec + .long 0x44de7135, 0x4689de04 + .long 0x44be77a1, 0x466cd440 + .long 0x44a302b0, 0x464b505a + .long 0x448b71e5, 0x462e74d6 + .long 0x446e7534, 0x46159f2a + .long 0x444bca2d, 0x46004280 + .long 0x442e1414, 0x45dbc9bf + .long 0x4414a0a8, 0x45bc396d + .long 0x43fdac7d, 0x45a11d60 + .long 0x43d860d4, 0x4589d7a8 + .long 0x43b87a3a, 0x456bbf86 + .long 0x439d3454, 0x45497f9a + .long 0x4385e630, 0x452c23f7 + .long 0x4363fd06, 0x4512fcf7 + .long 0x434200db, 0x44fae63c + .long 0x4325014d, 0x44d607b0 + .long 0x430c4623, 0x44b67d4e + .long 0x42ee627d, 0x449b855c + .long 0x42ca7603, 0x44847920 + .long 0x42abde4b, 0x44619261 + .long 0x4291d40d, 0x443ff482 + .long 0x4277593c, 0x442344bf + .long 0x4251abca, 0x440acd1c + .long 0x4231a5c0, 0x43ebe2ca + .long 0x42167152, 0x43c85727 + .long 0x41feaf84, 0x43aa1178 + .long 0x41d779e7, 0x43904cc0 + .long 0x41b63731, 0x4374c081 + .long 0x419a03db, 0x434f7703 + .long 0x41821dd0, 0x432fc5c4 + .long 0x415bbf2e, 0x4314d94a + .long 0x41397862, 0x42fbf99c + .long 0x411c770c, 0x42d52bb9 + .long 0x4103eeb4, 0x42b4411f + .long 0x40de62c7, 0x429858a7 + .long 0x40bb5652, 0x4280b23e + .long 0x409dbc89, 0x4259543f + .long 0x4084bfc1, 0x42376979 + .long 0x405f551f, 0x421ab66b + .long 0x403bc5f1, 0x420270af + .long 0x401dccc2, 0x41dbd820 + .long 0x40048c16, 0x41b92c31 + .long 0x3fde907e, 0x419be496 + .long 0x3fbac490, 0x41832dcb + .long 0x3f9ca73d, 0x415ca86a + .long 0x3f8354cb, 0x41397eca + .long 0x3f5c1947, 0x411bdc1e + .long 0x3f3857fa, 0x4102e528 + .long 0x3f1a529e, 0x40dbc03f + .long 0x3f0120ef, 0x40b85f58 + .long 0x3ed7fdc8, 0x409a9d36 + .long 0x3eb48e3e, 0x40819878 + .long 0x3e96dc65, 0x4059250b + .long 0x3e7bfa7c, 0x4035d48d + .long 0x3e5255b2, 0x40182f4c + .long 0x3e2f7d27, 0x3ffe9ef1 + .long 0x3e12586c, 0x3fd4e64a + .long 0x3df3f750, 0x3fb1ed7c + .long 0x3dcb4137, 0x3f94a0bb + .long 0x3da94169, 0x3f782f41 + .long 0x3d8ce028, 0x3f4f1cee + .long 0x3d6a654e, 0x3f2cc100 + .long 0x3d42e7d6, 0x3f100645 + .long 0x3d21fd99, 0x3ef00749 + .long 0x3d0691c1, 0x3ec7ea70 + .long 0x3cdf78d9, 0x3ea66ce0 + .long 0x3cb976f2, 0x3e8a7a45 + .long 0x3c99d8e5, 0x3e665575 + .long 0x3c7f1de8, 0x3e3f778a + .long 0x3c536be9, 0x3e1f14b2 + .long 0x3c2f2031, 0x3e041bb4 + .long 0x3c10fdbd, 0x3ddb4f88 + .long 0x3beff7df, 0x3db5f2ba + .long 0x3bc67c0b, 0x3d96e08d + .long 0x3ba417d4, 0x3d7a1a1e + .long 0x3b879862, 0x3d4f30a7 + .long 0x3b5ffc37, 0x3d2b8e9a + .long 0x3b38e85b, 0x3d0dfba1 + .long 0x3b1892fb, 0x3ceae636 + .long 0x3afbaaf5, 0x3cc2374f + .long 0x3acf75d5, 0x3ca08024 + .long 0x3aaaef8c, 0x3c8492c0 + .long 0x3a8cc60c, 0x3c5ae75b + .long 0x3a67c170, 0x3c34a340 + .long 0x3a3ead7b, 0x3c14fcf4 + .long 0x3a1cce14, 0x3bf5a5cf + .long 0x3a00e32d, 0x3bca68ef + .long 0x39d3c741, 0x3ba6b383 + .long 0x39ade7c9, 0x3b8939a3 + .long 0x398ebc8e, 0x3b61cfd0 + .long 0x396a31ee, 0x3b39b3ce + .long 0x394008fe, 0x3b18a48b + .long 0x391d638e, 0x3afad08d + .long 0x3900ee61, 0x3acdf654 + .long 0x38d322ce, 0x3aa90c4d + .long 0x38accb15, 0x3a8aaea4 + .long 0x388d5872, 0x3a636e45 + .long 0x3867216f, 0x3a3a6544 + .long 0x383ce218, 0x3a18b095 + .long 0x381a4894, 0x39fa092d + .long 0x37fbec07, 0x39cc9f41 + .long 0x37cd9386, 0x39a76003 + .long 0x37a7acfd, 0x3988d758 + .long 0x3788b256, 0x395fa559 + .long 0x375ec64b, 0x3936ab0f + .long 0x373570b9, 0x39152037 + .long 0x3713b43a, 0x38f35dd3 + .long 0x36f05d69, 0x38c67c0a + .long 0x36c37bc4, 0x38a1ccfc + .long 0x369ee7d7, 0x3883d518 + .long 0x36811c14, 0x3856b981 + .long 0x3651b337, 0x382ec87a + .long 0x362a371c, 0x380e33a7 + .long 0x360a1932, 0x37e74660 + .long 0x35dff98b, 0x37bbfab1 + .long 0x35b589f6, 0x3798b6d4 + .long 0x3593127a, 0x37780230 + .long 0x356e2ef2, 0x37494905 + .long 0x3540c69d, 0x372348d9 + .long 0x351bf310, 0x370464b5 + .long 0x34fc31bf, 0x36d69685 + .long 0x34cbd1ee, 0x36add231 + .long 0x34a4a520, 0x368cbaf0 + .long 0x3484ef72, 0x3663c449 + .long 0x34568fd0, 0x363839e2 + .long 0x342d122f, 0x3614efa4 + .long 0x340b893c, 0x35f0b1df + .long 0x33e0e3a6, 0x35c265d8 + .long 0x33b5237a, 0x359cede7 + .long 0x3391d42c, 0x357d3dc9 + .long 0x336ab0cb, 0x354c3b50 + .long 0x333cc25b, 0x3524a05e + .long 0x3317be62, 0x3504a304 + .long 0x32f3db16, 0x34d59f46 + .long 0x32c3d8af, 0x34abf19f + .long 0x329d3680, 0x348a545b + .long 0x327c475d, 0x345e76f3 + .long 0x324a5141, 0x3432cc8c + .long 0x32222c05, 0x340fa24c + .long 0x3201edfc, 0x33e6a843 + .long 0x31d01833, 0x33b91cba + .long 0x31a68f97, 0x33947ce5 + .long 0x318540a5, 0x336e1a5b + .long 0x31551b65, 0x333eced8 + .long 0x312a535b, 0x3318d52b + .long 0x31081119, 0x32f4b613 + .long 0x30d94acf, 0x32c3d10c + .long 0x30ad6b36, 0x329c9d69 + .long 0x308a563f, 0x327a666d + .long 0x305c98dc, 0x32481354 + .long 0x302fcd12, 0x321fc975 + .long 0x300c08aa, 0x31ff1904 + .long 0x2fdefaaf, 0x31cb87d8 + .long 0x2fb17113, 0x31a24ef3 + .long 0x2f8d22bb, 0x31815f38 + .long 0x2f60685f, 0x314e2339 + .long 0x2f3251c3, 0x3124258f + .long 0x2f0da0c6, 0x3102a54d + .long 0x2ee0dd25, 0x30cfdcca + .long 0x2eb26c30, 0x30a54727 + .long 0x2e8d8121, 0x30835a7f + .long 0x2e605773, 0x3050aec3 + .long 0x2e31bffd, 0x3025afef + .long 0x2e0cc431, 0x30037c6d + .long 0x2dded902, 0x2fd09664 + .long 0x2db04f61, 0x2fa55e85 + .long 0x2d8b6c69, 0x2f830aa5 + .long 0x2d5c66c4, 0x2f4f93fd + .long 0x2d2e1f21, 0x2f2453fe + .long 0x2d097e36, 0x2f0206a5 + .long 0x2cd908c8, 0x2ecdaaf4 + .long 0x2cab3670, 0x2ea293d6 + .long 0x2c86fff0, 0x2e8073d6 + .long 0x2c54ca13, 0x2e4ae1ac + .long 0x2c279ec9, 0x2e2023e7 + .long 0x2c03f9af, 0x2dfcaee7 + .long 0x2bcfb860, 0x2dc74167 + .long 0x2ba363bd, 0x2d9d0c41 + .long 0x2b807524, 0x2d7770ea + .long 0x2b49e3d6, 0x2d42d60c + .long 0x2b1e92b5, 0x2d195702 + .long 0x2af8fac8, 0x2cf13ec4 + .long 0x2ac35eb5, 0x2cbdaded + .long 0x2a993aaa, 0x2c95101b + .long 0x2a703d5a, 0x2c6a2c50 + .long 0x2a3c3cf6, 0x2c37d975 + .long 0x2a136bd8, 0x2c104516 + .long 0x29e6cc51, 0x2be24fc5 + .long 0x29b493e1, 0x2bb16ad5 + .long 0x298d376b, 0x2b8b04c7 + .long 0x295cc356, 0x2b59c147 + .long 0x292c79ad, 0x2b2a759f + .long 0x2906af30, 0x2b055f07 + .long 0x28d23edb, 0x2ad09a6a + .long 0x28a4050c, 0x2aa30e6d + .long 0x287fca72, 0x2a7ec8c1 + .long 0x28475b9c, 0x2a46f5b1 + .long 0x281b4cca, 0x2a1b4a74 + .long 0x27f1d725, 0x29f24b83 + .long 0x27bc361f, 0x29bcee14 + .long 0x27926764, 0x29933f23 + .long 0x2763a7e2, 0x29656858 + .long 0x2730ea36, 0x29329e84 + .long 0x27096aae, 0x290b01c6 + .long 0x26d55ed6, 0x28d840d5 + .long 0x26a59297, 0x28a82171 + .long 0x26806b7c, 0x2882a722 + .long 0x26471c70, 0x284af596 + .long 0x261a4874, 0x281d9063 + .long 0x25eefab5, 0x27f4865b + .long 0x25b8fef0, 0x27bda5bb + .long 0x258f232d, 0x27930395 + .long 0x255d6497, 0x2763d176 + .long 0x252b220e, 0x27306e78 + .long 0x25043806, 0x270891a3 + .long 0x24cc3533, 0x26d35285 + .long 0x249d9eab, 0x26a36ab9 + .long 0x247333ed, 0x267c9e87 + .long 0x243b895c, 0x2643294f + .long 0x24108aa2, 0x2616b2d7 + .long 0x23deb305, 0x25e89e19 + .long 0x23ab79f7, 0x25b3722d + .long 0x2383f8a5, 0x258a5c5b + .long 0x234b094e, 0x255542a6 + .long 0x231c1be0, 0x252445ca + .long 0x22eff061, 0x24fcf3b9 + .long 0x22b84dad, 0x24c2a818 + .long 0x228d7fe9, 0x2495b90c + .long 0x22592b20, 0x246635db + .long 0x222691fd, 0x2430e58d + .long 0x21ff65e8, 0x2407dd07 + .long 0x21c3b3ec, 0x23d09839 + .long 0x2195e33f, 0x23a00d5e + .long 0x21657c23, 0x23757e16 + .long 0x212f973d, 0x233c2e00 + .long 0x210649d6, 0x23102d3f + .long 0x20cd4d83, 0x22dcd18d + .long 0x209cdbfe, 0x22a904b4 + .long 0x206f93bd, 0x22814e73 + .long 0x2036de68, 0x2245c0eb + .long 0x200b8405, 0x22172479 + .long 0x1fd4c713, 0x21e6ec36 + .long 0x1fa22d35, 0x21b0523d + .long 0x1f771927, 0x21869086 + .long 0x1f3c2718, 0x214d4b0f + .long 0x1f0f32ff, 0x211c85ba + .long 0x1ed9ddc3, 0x20ee8f29 + .long 0x1ea5a71b, 0x20b5b53d + .long 0x1e7bc87b, 0x208a5661 + .long 0x1e3f4167, 0x205288d5 + .long 0x1e11353d, 0x2020208a + .long 0x1ddc631a, 0x1ff3754b + .long 0x1da729d6, 0x1fb8fcbd + .long 0x1d7d76ae, 0x1f8c7d97 + .long 0x1d4010bf, 0x1f554a3f + .long 0x1d117833, 0x1f21d3cb + .long 0x1cdc3fc3, 0x1ef57178 + .long 0x1ca6a764, 0x1eba0a73 + .long 0x1c7c141f, 0x1e8cf23a + .long 0x1c3e8d91, 0x1e5575bf + .long 0x1c0ff968, 0x1e218fb3 + .long 0x1bd974f4, 0x1df47139 + .long 0x1ba4246f, 0x1db8d48f + .long 0x1b77ad8b, 0x1d8bb00a + .long 0x1b3ac5c9, 0x1d5309be + .long 0x1b0cc6a1, 0x1d1f56ba + .long 0x1ad41c58, 0x1cf07de1 + .long 0x1a9fb806, 0x1cb56657 + .long 0x1a706b47, 0x1c88c2bc + .long 0x1a34dbfa, 0x1c4e1cba + .long 0x1a07fd09, 0x1c1b3d7d + .long 0x19cc668e, 0x1be9bbfd + .long 0x19998a40, 0x1bafdf73 + .long 0x19668edd, 0x1b844540 + .long 0x192d054e, 0x1b46dbe6 + .long 0x1901c77a, 0x1b156976 + .long 0x18c29845, 0x1ae0691f + .long 0x1891d1e0, 0x1aa8720d + .long 0x185a6f34, 0x1a7cc054 + .long 0x18238672, 0x1a3d887f + .long 0x17f4b806, 0x1a0e0ecc + .long 0x17b70648, 0x19d4d840 + .long 0x1788d12d, 0x199f5fda + .long 0x174c739d, 0x196e8e9b + .long 0x1718afac, 0x193273f8 + .long 0x16e3f1ae, 0x19056d4a + .long 0x16aa10bb, 0x18c76cf4 + .long 0x167da48f, 0x1894f659 + .long 0x163d0e1a, 0x185e6d9a + .long 0x160cd879, 0x1825fb65 + .long 0x15d1c1e5, 0x17f7998c + .long 0x159c1df9, 0x17b895e1 + .long 0x1568466d, 0x17898a88 + .long 0x152cb568, 0x174cdf9b + .long 0x15005b01, 0x1718826b + .long 0x14beb151, 0x16e2f29a + .long 0x148d955e, 0x16a8c6d9 + .long 0x14522407, 0x167ae8e3 + .long 0x141bdf21, 0x163a6a2d + .long 0x13e71f72, 0x160a6e25 + .long 0x13ab44c3, 0x15cd7e87 + .long 0x137db4e3, 0x15987319 + .long 0x133bd23f, 0x156215a4 + .long 0x130afa70, 0x15278fa9 + .long 0x12cd92ee, 0x14f840ab + .long 0x1297f777, 0x14b7cfb1 + .long 0x1260915e, 0x148807fd + .long 0x1225d8aa, 0x14493e73 + .long 0x11f4d72b, 0x1414c97a + .long 0x11b4a474, 0x13dbe665 + .long 0x11853669, 0x13a26be2 + .long 0x11446065, 0x136fd110 + .long 0x1110acc4, 0x1330f593 + .long 0x10d51115, 0x13028371 + .long 0x109cd187, 0x12c06c14 + .long 0x1066ba07, 0x128dc782 + .long 0x1029a6c1, 0x1250d3f6 + .long 0x0ff95d83, 0x1219b798 + .long 0x0fb72d9a, 0x11e230b9 + .long 0x0f867e41, 0x11a655c1 + .long 0x0f456641, 0x117484a6 + .long 0x0f10cb43, 0x1133a328 + .long 0x0ed44fd3, 0x1103e85c + .long 0x0e9b94c1, 0x10c19ffd + .long 0x0e63e84a, 0x108e0a3d + .long 0x0e26d8e4, 0x10504b66 + .long 0x0df42c6c, 0x1018a6f6 + .long 0x0db294f0, 0x0fdfa367 + .long 0x0d828bdd, 0x0fa3bcb5 + .long 0x0d3ec540, 0x0f6fa4d1 + .long 0x0d0b5230, 0x0f2f48cc + .long 0x0ccb653b, 0x0f00259a + .long 0x0c946596, 0x0ebb479f + .long 0x00000000, 0x00000000 + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _AbsMask */ + .align 32 + .long 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000, 0x41210000 /* _MaxThreshold=644.0/64.0 */ + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* sign mask */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ + .align 32 + .long 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000, 0x48000000 /* SRound */ + .align 32 + .long 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000, 0x27800000 /* _TwoM48 */ + // polynomial coefficients + .align 32 + .long 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca, 0x3e08a7ca // poly1[0] + .align 32 + .long 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22, 0xbeaacf22 // poly1[1] + .align 32 + .long 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36, 0x3f005b36 // poly3[0] + .align 32 + .long 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb, 0xbeab4edb // poly3[1] + .align 32 + .long 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6, 0x3f2aaaa6 // poly1[2] + .align 32 + .long 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc, 0xbf7ffffc // poly1[3] + .align 32 + .long 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB, 0x4120DDFB /* UF_Threshold */ + .align 32 + .type __svml_serfc_data_internal, @object + .size __svml_serfc_data_internal, .-__svml_serfc_data_internal From patchwork Mon Mar 7 15:00:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602395 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=r0TrJabI; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3jM4SzFz9sFt for ; Tue, 8 Mar 2022 03:25:43 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A56583858013 for ; Mon, 7 Mar 2022 16:25:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A56583858013 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670340; bh=uVPnn8Obvb2eG/00bfKBsoQXbxSnnGbBMIlcDFmZiPY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=r0TrJabI6WDpPsq9VwF4oo0oI/Hg9fYhw57Z1+zlFVOLr9wSeTaC580SXD+z4kykJ QFHqp/lghfI8tw6zSKaGJaMQRMRE6SHQN2Pcdxo/5Ey1rdjcRAnc4uaWAZHn+1UG0M t/p5117dTs6vJ612OkbbgCYJ5Truyc1d8g5J8nUs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id BF641385843F for ; Mon, 7 Mar 2022 15:03:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BF641385843F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017257" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017257" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="546915107" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga007.fm.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ec016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 064/126] x86_64: Fix svml_d_erfc2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:00:59 -0800 Message-Id: <20220307150201.10590-65-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_erfc2_core_sse4.S | 7548 ++++++++--------- 1 file changed, 3773 insertions(+), 3775 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S index 7c07102019..cd371a11a8 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc2_core_sse4.S @@ -29,3825 +29,3823 @@ /* Offsets for data table __svml_derfc_data_internal */ -#define _erfc_tbl 0 -#define _AbsMask 55808 -#define _MaxThreshold 55824 -#define _SgnMask 55840 -#define _TwoM128 55856 -#define _SRound 55872 -#define _poly1_0 55888 -#define _poly1_1 55904 -#define _poly3_0 55920 -#define _poly3_1 55936 -#define _poly5_0 55952 -#define _poly5_1 55968 -#define _poly1_2 55984 -#define _poly3_2 56000 -#define _poly5_2 56016 -#define _poly1_3 56032 -#define _poly3_3 56048 -#define _poly5_3 56064 -#define _poly1_4 56080 -#define _poly3_4 56096 -#define _poly1_5 56112 -#define _poly3_5 56128 -#define _poly3_6 56144 -#define _poly1_6 56160 -#define _poly1_7 56176 -#define _UF_Threshold 56192 -#define _TwoP128 56208 +#define _erfc_tbl 0 +#define _AbsMask 55808 +#define _MaxThreshold 55824 +#define _SgnMask 55840 +#define _TwoM128 55856 +#define _SRound 55872 +#define _poly1_0 55888 +#define _poly1_1 55904 +#define _poly3_0 55920 +#define _poly3_1 55936 +#define _poly5_0 55952 +#define _poly5_1 55968 +#define _poly1_2 55984 +#define _poly3_2 56000 +#define _poly5_2 56016 +#define _poly1_3 56032 +#define _poly3_3 56048 +#define _poly5_3 56064 +#define _poly1_4 56080 +#define _poly3_4 56096 +#define _poly1_5 56112 +#define _poly3_5 56128 +#define _poly3_6 56144 +#define _poly1_6 56160 +#define _poly1_7 56176 +#define _UF_Threshold 56192 +#define _TwoP128 56208 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_erfc_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm4 - movups _AbsMask+__svml_derfc_data_internal(%rip), %xmm2 + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm4 + movups _AbsMask+__svml_derfc_data_internal(%rip), %xmm2 -/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ - lea __svml_derfc_data_internal(%rip), %rcx - andps %xmm4, %xmm2 + /* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea __svml_derfc_data_internal(%rip), %rcx + andps %xmm4, %xmm2 -/* - * erfc(27.25) underflows to 0 - * can compute all results in the main path - */ - minpd _MaxThreshold+__svml_derfc_data_internal(%rip), %xmm2 - movups _SRound+__svml_derfc_data_internal(%rip), %xmm6 - movaps %xmm6, %xmm8 - addpd %xmm2, %xmm8 - movups _TwoM128+__svml_derfc_data_internal(%rip), %xmm0 - movaps %xmm8, %xmm1 - maxpd %xmm0, %xmm2 - subpd %xmm6, %xmm1 - subpd %xmm1, %xmm2 - mulpd %xmm2, %xmm1 + /* + * erfc(27.25) underflows to 0 + * can compute all results in the main path + */ + minpd _MaxThreshold+__svml_derfc_data_internal(%rip), %xmm2 + movups _SRound+__svml_derfc_data_internal(%rip), %xmm6 + movaps %xmm6, %xmm8 + addpd %xmm2, %xmm8 + movups _TwoM128+__svml_derfc_data_internal(%rip), %xmm0 + movaps %xmm8, %xmm1 + maxpd %xmm0, %xmm2 + subpd %xmm6, %xmm1 + subpd %xmm1, %xmm2 + mulpd %xmm2, %xmm1 -/* Start polynomial evaluation */ - movups _poly1_0+__svml_derfc_data_internal(%rip), %xmm13 + /* Start polynomial evaluation */ + movups _poly1_0+__svml_derfc_data_internal(%rip), %xmm13 -/* Diff^2 */ - movaps %xmm2, %xmm15 - mulpd %xmm1, %xmm13 - mulpd %xmm2, %xmm15 - addpd _poly1_1+__svml_derfc_data_internal(%rip), %xmm13 - movups _poly3_0+__svml_derfc_data_internal(%rip), %xmm11 + /* Diff^2 */ + movaps %xmm2, %xmm15 + mulpd %xmm1, %xmm13 + mulpd %xmm2, %xmm15 + addpd _poly1_1+__svml_derfc_data_internal(%rip), %xmm13 + movups _poly3_0+__svml_derfc_data_internal(%rip), %xmm11 -/* T^2 */ - movaps %xmm1, %xmm14 - mulpd %xmm1, %xmm11 - mulpd %xmm1, %xmm13 - addpd _poly3_1+__svml_derfc_data_internal(%rip), %xmm11 - addpd _poly1_2+__svml_derfc_data_internal(%rip), %xmm13 - mulpd %xmm1, %xmm14 - mulpd %xmm1, %xmm11 - mulpd %xmm1, %xmm13 - addpd _poly3_2+__svml_derfc_data_internal(%rip), %xmm11 - addpd _poly1_3+__svml_derfc_data_internal(%rip), %xmm13 - mulpd %xmm1, %xmm11 - mulpd %xmm1, %xmm13 - addpd _poly3_3+__svml_derfc_data_internal(%rip), %xmm11 - addpd _poly1_4+__svml_derfc_data_internal(%rip), %xmm13 - mulpd %xmm1, %xmm11 - mulpd %xmm1, %xmm13 - addpd _poly3_4+__svml_derfc_data_internal(%rip), %xmm11 - addpd _poly1_5+__svml_derfc_data_internal(%rip), %xmm13 - mulpd %xmm1, %xmm11 - mulpd %xmm1, %xmm13 - addpd _poly3_5+__svml_derfc_data_internal(%rip), %xmm11 - addpd _poly1_6+__svml_derfc_data_internal(%rip), %xmm13 - mulpd %xmm1, %xmm11 - mulpd %xmm1, %xmm13 - movups _poly5_0+__svml_derfc_data_internal(%rip), %xmm12 - psllq $4, %xmm8 - mulpd %xmm1, %xmm12 - addpd _poly1_7+__svml_derfc_data_internal(%rip), %xmm13 - addpd _poly5_1+__svml_derfc_data_internal(%rip), %xmm12 - movd %xmm8, %eax - mulpd %xmm13, %xmm14 - mulpd %xmm1, %xmm12 - addpd _poly5_2+__svml_derfc_data_internal(%rip), %xmm12 - mulpd %xmm1, %xmm12 - addpd _poly5_3+__svml_derfc_data_internal(%rip), %xmm12 + /* T^2 */ + movaps %xmm1, %xmm14 + mulpd %xmm1, %xmm11 + mulpd %xmm1, %xmm13 + addpd _poly3_1+__svml_derfc_data_internal(%rip), %xmm11 + addpd _poly1_2+__svml_derfc_data_internal(%rip), %xmm13 + mulpd %xmm1, %xmm14 + mulpd %xmm1, %xmm11 + mulpd %xmm1, %xmm13 + addpd _poly3_2+__svml_derfc_data_internal(%rip), %xmm11 + addpd _poly1_3+__svml_derfc_data_internal(%rip), %xmm13 + mulpd %xmm1, %xmm11 + mulpd %xmm1, %xmm13 + addpd _poly3_3+__svml_derfc_data_internal(%rip), %xmm11 + addpd _poly1_4+__svml_derfc_data_internal(%rip), %xmm13 + mulpd %xmm1, %xmm11 + mulpd %xmm1, %xmm13 + addpd _poly3_4+__svml_derfc_data_internal(%rip), %xmm11 + addpd _poly1_5+__svml_derfc_data_internal(%rip), %xmm13 + mulpd %xmm1, %xmm11 + mulpd %xmm1, %xmm13 + addpd _poly3_5+__svml_derfc_data_internal(%rip), %xmm11 + addpd _poly1_6+__svml_derfc_data_internal(%rip), %xmm13 + mulpd %xmm1, %xmm11 + mulpd %xmm1, %xmm13 + movups _poly5_0+__svml_derfc_data_internal(%rip), %xmm12 + psllq $4, %xmm8 + mulpd %xmm1, %xmm12 + addpd _poly1_7+__svml_derfc_data_internal(%rip), %xmm13 + addpd _poly5_1+__svml_derfc_data_internal(%rip), %xmm12 + movd %xmm8, %eax + mulpd %xmm13, %xmm14 + mulpd %xmm1, %xmm12 + addpd _poly5_2+__svml_derfc_data_internal(%rip), %xmm12 + mulpd %xmm1, %xmm12 + addpd _poly5_3+__svml_derfc_data_internal(%rip), %xmm12 -/* P5 = P5 + D2*P07 */ - mulpd %xmm15, %xmm12 - addpd _poly3_6+__svml_derfc_data_internal(%rip), %xmm12 - addpd %xmm11, %xmm12 - mulpd %xmm12, %xmm15 - pshufd $2, %xmm8, %xmm9 - movd %xmm9, %edx - movups _TwoP128+__svml_derfc_data_internal(%rip), %xmm5 - movups _SgnMask+__svml_derfc_data_internal(%rip), %xmm7 - movaps %xmm5, %xmm3 - movslq %eax, %rax - andps %xmm4, %xmm7 - movslq %edx, %rdx - orps %xmm7, %xmm3 - subpd %xmm1, %xmm15 - subpd %xmm5, %xmm3 - addpd %xmm14, %xmm15 - movups (%rcx,%rax), %xmm5 + /* P5 = P5 + D2*P07 */ + mulpd %xmm15, %xmm12 + addpd _poly3_6+__svml_derfc_data_internal(%rip), %xmm12 + addpd %xmm11, %xmm12 + mulpd %xmm12, %xmm15 + pshufd $2, %xmm8, %xmm9 + movd %xmm9, %edx + movups _TwoP128+__svml_derfc_data_internal(%rip), %xmm5 + movups _SgnMask+__svml_derfc_data_internal(%rip), %xmm7 + movaps %xmm5, %xmm3 + movslq %eax, %rax + andps %xmm4, %xmm7 + movslq %edx, %rdx + orps %xmm7, %xmm3 + subpd %xmm1, %xmm15 + subpd %xmm5, %xmm3 + addpd %xmm14, %xmm15 + movups (%rcx, %rax), %xmm5 -/* Special arguments (for flags only) */ - movaps %xmm4, %xmm1 - movups (%rcx,%rdx), %xmm10 - movaps %xmm5, %xmm6 - unpckhpd %xmm10, %xmm5 + /* Special arguments (for flags only) */ + movaps %xmm4, %xmm1 + movups (%rcx, %rdx), %xmm10 + movaps %xmm5, %xmm6 + unpckhpd %xmm10, %xmm5 -/* 2^(-128) with sign of input */ - orps %xmm7, %xmm0 + /* 2^(-128) with sign of input */ + orps %xmm7, %xmm0 -/* EXP_X0H *= Diff */ - mulpd %xmm2, %xmm5 - cmpltpd _UF_Threshold+__svml_derfc_data_internal(%rip), %xmm1 + /* EXP_X0H *= Diff */ + mulpd %xmm2, %xmm5 + cmpltpd _UF_Threshold+__svml_derfc_data_internal(%rip), %xmm1 -/* EXP_x0H*Diff*(1+P1) */ - mulpd %xmm5, %xmm15 + /* EXP_x0H*Diff*(1+P1) */ + mulpd %xmm5, %xmm15 -/* combine and get argument value range mask */ - movmskpd %xmm1, %edx - unpcklpd %xmm10, %xmm6 - addpd %xmm15, %xmm5 + /* combine and get argument value range mask */ + movmskpd %xmm1, %edx + unpcklpd %xmm10, %xmm6 + addpd %xmm15, %xmm5 -/* erfc(|_VARG1|) = erfc_h(x0) - P1 */ - subpd %xmm5, %xmm6 - addpd %xmm6, %xmm3 - notl %edx - mulpd %xmm3, %xmm0 - andl $3, %edx + /* erfc(|_VARG1|) = erfc_h(x0) - P1 */ + subpd %xmm5, %xmm6 + addpd %xmm6, %xmm3 + notl %edx + mulpd %xmm3, %xmm0 + andl $3, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm4 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm4 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm4, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 + movups %xmm4, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 48(%rsp), %xmm0 -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call erfc@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call erfc@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_erfc_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_derfc_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _erfc_tbl[3488*2][2]; - __declspec(align(16)) VUINT32 _AbsMask[2][2]; - __declspec(align(16)) VUINT32 _MaxThreshold[2][2]; - __declspec(align(16)) VUINT32 _SgnMask[2][2]; - __declspec(align(16)) VUINT32 _TwoM128[2][2]; - __declspec(align(16)) VUINT32 _SRound[2][2]; - __declspec(align(16)) VUINT32 _poly1_0[2][2]; - __declspec(align(16)) VUINT32 _poly1_1[2][2]; - __declspec(align(16)) VUINT32 _poly3_0[2][2]; - __declspec(align(16)) VUINT32 _poly3_1[2][2]; - __declspec(align(16)) VUINT32 _poly5_0[2][2]; - __declspec(align(16)) VUINT32 _poly5_1[2][2]; - __declspec(align(16)) VUINT32 _poly1_2[2][2]; - __declspec(align(16)) VUINT32 _poly3_2[2][2]; - __declspec(align(16)) VUINT32 _poly5_2[2][2]; - __declspec(align(16)) VUINT32 _poly1_3[2][2]; - __declspec(align(16)) VUINT32 _poly3_3[2][2]; - __declspec(align(16)) VUINT32 _poly5_3[2][2]; - __declspec(align(16)) VUINT32 _poly1_4[2][2]; - __declspec(align(16)) VUINT32 _poly3_4[2][2]; - __declspec(align(16)) VUINT32 _poly1_5[2][2]; - __declspec(align(16)) VUINT32 _poly3_5[2][2]; - __declspec(align(16)) VUINT32 _poly3_6[2][2]; - __declspec(align(16)) VUINT32 _poly1_6[2][2]; - __declspec(align(16)) VUINT32 _poly1_7[2][2]; - __declspec(align(16)) VUINT32 _UF_Threshold[2][2]; - __declspec(align(16)) VUINT32 _TwoP128[2][2]; +typedef struct { + __declspec(align(16)) VUINT32 _erfc_tbl[3488*2][2]; + __declspec(align(16)) VUINT32 _AbsMask[2][2]; + __declspec(align(16)) VUINT32 _MaxThreshold[2][2]; + __declspec(align(16)) VUINT32 _SgnMask[2][2]; + __declspec(align(16)) VUINT32 _TwoM128[2][2]; + __declspec(align(16)) VUINT32 _SRound[2][2]; + __declspec(align(16)) VUINT32 _poly1_0[2][2]; + __declspec(align(16)) VUINT32 _poly1_1[2][2]; + __declspec(align(16)) VUINT32 _poly3_0[2][2]; + __declspec(align(16)) VUINT32 _poly3_1[2][2]; + __declspec(align(16)) VUINT32 _poly5_0[2][2]; + __declspec(align(16)) VUINT32 _poly5_1[2][2]; + __declspec(align(16)) VUINT32 _poly1_2[2][2]; + __declspec(align(16)) VUINT32 _poly3_2[2][2]; + __declspec(align(16)) VUINT32 _poly5_2[2][2]; + __declspec(align(16)) VUINT32 _poly1_3[2][2]; + __declspec(align(16)) VUINT32 _poly3_3[2][2]; + __declspec(align(16)) VUINT32 _poly5_3[2][2]; + __declspec(align(16)) VUINT32 _poly1_4[2][2]; + __declspec(align(16)) VUINT32 _poly3_4[2][2]; + __declspec(align(16)) VUINT32 _poly1_5[2][2]; + __declspec(align(16)) VUINT32 _poly3_5[2][2]; + __declspec(align(16)) VUINT32 _poly3_6[2][2]; + __declspec(align(16)) VUINT32 _poly1_6[2][2]; + __declspec(align(16)) VUINT32 _poly1_7[2][2]; + __declspec(align(16)) VUINT32 _UF_Threshold[2][2]; + __declspec(align(16)) VUINT32 _TwoP128[2][2]; } __svml_derfc_data_internal; #endif __svml_derfc_data_internal: - /*== _erfc_tbl ==*/ - .quad 0x47f0000000000000, 0x47f20dd750429b6d - .quad 0x47efb7c9030853b3, 0x47f20d8f1975c85d - .quad 0x47ef6f9447be0743, 0x47f20cb67bd452c7 - .quad 0x47ef27640f9853d9, 0x47f20b4d8bac36c1 - .quad 0x47eedf3a9ba22dad, 0x47f209546ad13ccf - .quad 0x47ee971a2c4436ae, 0x47f206cb4897b148 - .quad 0x47ee4f05010eca8c, 0x47f203b261cd0053 - .quad 0x47ee06fd58842c7e, 0x47f2000a00ae3804 - .quad 0x47edbf056fe2df35, 0x47f1fbd27cdc72d3 - .quad 0x47ed771f82f02f4e, 0x47f1f70c3b4f2cc8 - .quad 0x47ed2f4dcbc2f894, 0x47f1f1b7ae44867f - .quad 0x47ece792828eae5c, 0x47f1ebd5552f795b - .quad 0x47ec9fefdd6eaf19, 0x47f1e565bca400d4 - .quad 0x47ec58681031eb6a, 0x47f1de697e413d29 - .quad 0x47ec10fd4c26e896, 0x47f1d6e14099944a - .quad 0x47ebc9b1bfe82687, 0x47f1cecdb718d61c - .quad 0x47eb82879728f11e, 0x47f1c62fa1e869b6 - .quad 0x47eb3b80fa82a4bb, 0x47f1bd07cdd189ac - .quad 0x47eaf4a00f426daa, 0x47f1b357141d95d5 - .quad 0x47eaade6f7378a0e, 0x47f1a91e5a748165 - .quad 0x47ea6757d08215d8, 0x47f19e5e92b964ab - .quad 0x47ea20f4b5626818, 0x47f19318bae53a04 - .quad 0x47e9dabfbc090901, 0x47f1874ddcdfce24 - .quad 0x47e994baf66747ad, 0x47f17aff0e56ec10 - .quad 0x47e94ee8720076b6, 0x47f16e2d7093cd8c - .quad 0x47e9094a37bbd66e, 0x47f160da304ed92f - .quad 0x47e8c3e24bb73372, 0x47f153068581b781 - .quad 0x47e87eb2ad1a4032, 0x47f144b3b337c90c - .quad 0x47e839bd55eaafc8, 0x47f135e3075d076b - .quad 0x47e7f5043ae11862, 0x47f12695da8b5bde - .quad 0x47e7b0894b3ea35c, 0x47f116cd8fd67618 - .quad 0x47e76c4e70a390e7, 0x47f1068b94962e5e - .quad 0x47e728558ee694fc, 0x47f0f5d1602f7e41 - .quad 0x47e6e4a083ed132f, 0x47f0e4a073dc1b91 - .quad 0x47e6a13127843ec1, 0x47f0d2fa5a70c168 - .quad 0x47e65e094b3b2413, 0x47f0c0e0a8223359 - .quad 0x47e61b2aba3da093, 0x47f0ae54fa490723 - .quad 0x47e5d89739304dcf, 0x47f09b58f724416b - .quad 0x47e59650860d6469, 0x47f087ee4d9ad247 - .quad 0x47e5545858029b39, 0x47f07416b4fbfe7c - .quad 0x47e512b05f5006e1, 0x47f05fd3ecbec298 - .quad 0x47e4d15a4527fdc7, 0x47f04b27bc403d30 - .quad 0x47e49057ab900447, 0x47f03613f2812daf - .quad 0x47e44faa2d42c4a0, 0x47f0209a65e29545 - .quad 0x47e40f535d93160e, 0x47f00abcf3e187a9 - .quad 0x47e3cf54c8501620, 0x47efe8fb01a47307 - .quad 0x47e38faff1aa574a, 0x47efbbbbef34b4b2 - .quad 0x47e35066561a275d, 0x47ef8dc092d58ff8 - .quad 0x47e311796a46f064, 0x47ef5f0cdaf15313 - .quad 0x47e2d2ea9aefb636, 0x47ef2fa4c16c0019 - .quad 0x47e294bb4cd4b2bd, 0x47eeff8c4b1375db - .quad 0x47e256ecdca212cc, 0x47eecec7870ebca8 - .quad 0x47e219809edbd524, 0x47ee9d5a8e4c934e - .quad 0x47e1dc77dfcacd02, 0x47ee6b4982f158b9 - .quad 0x47e19fd3e36ac96a, 0x47ee38988fc46e72 - .quad 0x47e16395e559e218, 0x47ee054be79d3042 - .quad 0x47e127bf18c8eadc, 0x47edd167c4cf9d2a - .quad 0x47e0ec50a86d0dd4, 0x47ed9cf06898cdaf - .quad 0x47e0b14bb6728cd8, 0x47ed67ea1a8b5368 - .quad 0x47e076b15c70aa28, 0x47ed325927fb9d89 - .quad 0x47e03c82ab5eb831, 0x47ecfc41e36c7df9 - .quad 0x47e002c0ab8a5018, 0x47ecc5a8a3fbea40 - .quad 0x47df92d8b91d5cc7, 0x47ec8e91c4d01368 - .quad 0x47df210d6a9a6a31, 0x47ec5701a484ef9d - .quad 0x47deb02147ce245c, 0x47ec1efca49a5011 - .quad 0x47de40161b701275, 0x47ebe68728e29d5e - .quad 0x47ddd0ed9ea4bdd6, 0x47ebada596f25436 - .quad 0x47dd62a978f7c957, 0x47eb745c55905bf8 - .quad 0x47dcf54b4058455f, 0x47eb3aafcc27502e - .quad 0x47dc88d479173cce, 0x47eb00a46237d5be - .quad 0x47dc1d4695e87644, 0x47eac63e7ecc1411 - .quad 0x47dbb2a2f7e56520, 0x47ea8b8287ec6a09 - .quad 0x47db48eaee924501, 0x47ea5074e2157620 - .quad 0x47dae01fb7e55a66, 0x47ea1519efaf889e - .quad 0x47da78428050527e, 0x47e9d97610879642 - .quad 0x47da115462cbbc17, 0x47e99d8da149c13f - .quad 0x47d9ab5668e4930a, 0x47e96164fafd8de3 - .quad 0x47d946498acbd766, 0x47e925007283d7aa - .quad 0x47d8e22eaf68291e, 0x47e8e86458169af8 - .quad 0x47d87f06ac6960c4, 0x47e8ab94f6caa71d - .quad 0x47d81cd2465e1d96, 0x47e86e9694134b9e - .quad 0x47d7bb9230cb40b4, 0x47e8316d6f48133d - .quad 0x47d75b470e454d35, 0x47e7f41dc12c9e89 - .quad 0x47d6fbf1708ba47c, 0x47e7b6abbb7aaf19 - .quad 0x47d69d91d8a595da, 0x47e7791b886e7403 - .quad 0x47d64028b7013867, 0x47e73b714a552763 - .quad 0x47d5e3b66b9405a9, 0x47e6fdb11b1e0c34 - .quad 0x47d5883b45fd2b63, 0x47e6bfdf0beddaf5 - .quad 0x47d52db785a98aca, 0x47e681ff24b4ab04 - .quad 0x47d4d42b59f95afa, 0x47e6441563c665d4 - .quad 0x47d47b96e267647a, 0x47e60625bd75d07b - .quad 0x47d423fa2eb1cb59, 0x47e5c8341bb23767 - .quad 0x47d3cd553f045d45, 0x47e58a445da7c74c - .quad 0x47d377a8042458d1, 0x47e54c5a57629db0 - .quad 0x47d322f25f9da2fd, 0x47e50e79d1749ac9 - .quad 0x47d2cf3423f15fdf, 0x47e4d0a6889dfd9f - .quad 0x47d27c6d14c5e341, 0x47e492e42d78d2c5 - .quad 0x47d22a9ce717edcb, 0x47e4553664273d24 - .quad 0x47d1d9c3416d2b4b, 0x47e417a0c4049fd0 - .quad 0x47d189dfbc07e690, 0x47e3da26d759aef5 - .quad 0x47d13af1e11be721, 0x47e39ccc1b136d5a - .quad 0x47d0ecf92d046d22, 0x47e35f93fe7d1b3d - .quad 0x47d09ff50e7b3f93, 0x47e32281e2fd1a92 - .quad 0x47d053e4e6d0c10b, 0x47e2e5991bd4cbfc - .quad 0x47d008c80a24ff10, 0x47e2a8dcede3673b - .quad 0x47cf7d3b7f436013, 0x47e26c508f6bd0ff - .quad 0x47ceeaca836a27cc, 0x47e22ff727dd6f7b - .quad 0x47ce5a3b7c9b56da, 0x47e1f3d3cf9ffe5a - .quad 0x47cdcb8cae2d747f, 0x47e1b7e98fe26217 - .quad 0x47cd3ebc436b0f26, 0x47e17c3b626c7a12 - .quad 0x47ccb3c8500ea349, 0x47e140cc3173f007 - .quad 0x47cc2aaed0bfcfee, 0x47e1059ed7740313 - .quad 0x47cba36dab91c0e9, 0x47e0cab61f084b93 - .quad 0x47cb1e02b082b720, 0x47e09014c2ca74da - .quad 0x47ca9a6b99fc973b, 0x47e055bd6d32e8d7 - .quad 0x47ca18a60d56673e, 0x47e01bb2b87c6968 - .quad 0x47c998af9b56a3ae, 0x47dfc3ee5d1524b0 - .quad 0x47c91a85c0b65519, 0x47df511a91a67d2a - .quad 0x47c89e25e6a4cef9, 0x47dedeeee0959518 - .quad 0x47c8238d634c0127, 0x47de6d6ffaa65a25 - .quad 0x47c7aab97a554544, 0x47ddfca26f5bbf88 - .quad 0x47c733a75d6e91b8, 0x47dd8c8aace11e63 - .quad 0x47c6be542ccffc2f, 0x47dd1d2cfff91594 - .quad 0x47c64abcf7c175b4, 0x47dcae8d93f1d7b7 - .quad 0x47c5d8debd20aace, 0x47dc40b0729ed548 - .quad 0x47c568b66be6f268, 0x47dbd3998457afdb - .quad 0x47c4fa40e3af3674, 0x47db674c8ffc6283 - .quad 0x47c48d7af53bc19f, 0x47dafbcd3afe8ab6 - .quad 0x47c4226162fbddd5, 0x47da911f096fbc26 - .quad 0x47c3b8f0e1912f70, 0x47da27455e14c93c - .quad 0x47c351261854b991, 0x47d9be437a7de946 - .quad 0x47c2eafda1db784a, 0x47d9561c7f23a47b - .quad 0x47c286740c7a7dab, 0x47d8eed36b886d93 - .quad 0x47c22385daca7f47, 0x47d8886b1e5ecfd1 - .quad 0x47c1c22f842ac1f2, 0x47d822e655b417e7 - .quad 0x47c1626d75435220, 0x47d7be47af1f5d89 - .quad 0x47c1043c1086777d, 0x47d75a91a7f4d2ed - .quad 0x47c0a797aeb152f2, 0x47d6f7c69d7d3ef8 - .quad 0x47c04c7c9f4b9690, 0x47d695e8cd31867e - .quad 0x47bfe5ce524c8ee5, 0x47d634fa54fa285f - .quad 0x47bf35a715b2f3e1, 0x47d5d4fd33729015 - .quad 0x47be887bf681f218, 0x47d575f3483021c3 - .quad 0x47bdde4553ef94de, 0x47d517de540ce2a3 - .quad 0x47bd36fb7fa50177, 0x47d4babff975a04c - .quad 0x47bc9296beb09cf1, 0x47d45e99bcbb7915 - .quad 0x47bbf10f4a759889, 0x47d4036d0468a7a2 - .quad 0x47bb525d5198cb1c, 0x47d3a93b1998736c - .quad 0x47bab678f8eabedb, 0x47d35005285227f1 - .quad 0x47ba1d5a5c4edb96, 0x47d2f7cc3fe6f423 - .quad 0x47b986f98f9f96c8, 0x47d2a09153529381 - .quad 0x47b8f34e9f8f93a6, 0x47d24a55399ea239 - .quad 0x47b8625192879e39, 0x47d1f518ae487dc8 - .quad 0x47b7d3fa69816db5, 0x47d1a0dc51a9934d - .quad 0x47b7484120df1b01, 0x47d14da0a961fd14 - .quad 0x47b6bf1db13f3983, 0x47d0fb6620c550af - .quad 0x47b63888104d811a, 0x47d0aa2d09497f2b - .quad 0x47b5b478318ff939, 0x47d059f59af7a906 - .quad 0x47b532e6073095f2, 0x47d00abff4dec7a3 - .quad 0x47b4b3c982c338c7, 0x47cf79183b101c5b - .quad 0x47b4371a960807f8, 0x47cedeb406d9c825 - .quad 0x47b3bcd133aa0ffc, 0x47ce4652fadcb6b2 - .quad 0x47b344e54ffa23b9, 0x47cdaff4969c0b04 - .quad 0x47b2cf4ee1a5f0fc, 0x47cd1b982c501370 - .quad 0x47b25c05e26b3f99, 0x47cc893ce1dcbef7 - .quad 0x47b1eb024fc75285, 0x47cbf8e1b1ca2279 - .quad 0x47b17c3c2ba26319, 0x47cb6a856c3ed54f - .quad 0x47b10fab7cf72f94, 0x47cade26b7fbed95 - .quad 0x47b0a548507696c0, 0x47ca53c4135a6526 - .quad 0x47b03d0ab9273b94, 0x47c9cb5bd549b111 - .quad 0x47afadd5a20258d3, 0x47c944ec2e4f5630 - .quad 0x47aee5c1730b147c, 0x47c8c07329874652 - .quad 0x47ae21c938a45a83, 0x47c83deeada4d25a - .quad 0x47ad61dd57628999, 0x47c7bd5c7df3fe9c - .quad 0x47aca5ee4649e31f, 0x47c73eba3b5b07b7 - .quad 0x47abedec8fddb340, 0x47c6c205655be720 - .quad 0x47ab39c8d3276d8a, 0x47c6473b5b15a7a1 - .quad 0x47aa8973c4b5c03e, 0x47c5ce595c455b0a - .quad 0x47a9dcde2f93a207, 0x47c5575c8a468362 - .quad 0x47a933f8f6375f2c, 0x47c4e241e912c305 - .quad 0x47a88eb51369acb9, 0x47c46f066040a832 - .quad 0x47a7ed039b24c96b, 0x47c3fda6bc016994 - .quad 0x47a74ed5bb6bb581, 0x47c38e1fae1d6a9d - .quad 0x47a6b41cbd198bc8, 0x47c3206dceef5f87 - .quad 0x47a61cca04a90795, 0x47c2b48d9e5dea1c - .quad 0x47a588cf12f4446b, 0x47c24a7b84d38971 - .quad 0x47a4f81d85ecc55b, 0x47c1e233d434b813 - .quad 0x47a46aa7194bd324, 0x47c17bb2c8d41535 - .quad 0x47a3e05da73b4159, 0x47c116f48a6476cc - .quad 0x47a3593328f6abbe, 0x47c0b3f52ce8c383 - .quad 0x47a2d519b7653e1e, 0x47c052b0b1a174ea - .quad 0x47a254038bac19d6, 0x47bfe6460fef4680 - .quad 0x47a1d5e2ffb96d40, 0x47bf2a901ccafb37 - .quad 0x47a15aaa8ec85205, 0x47be723726b824a9 - .quad 0x47a0e24cd5dd8846, 0x47bdbd32ac4c99b0 - .quad 0x47a06cbc943d255a, 0x47bd0b7a0f921e7c - .quad 0x479ff3d957b29b39, 0x47bc5d0497c09e74 - .quad 0x479f13a043742333, 0x47bbb1c972f23e50 - .quad 0x479e38b43cbd0f0f, 0x47bb09bfb7d11a84 - .quad 0x479d62fbdc2e756b, 0x47ba64de673e8837 - .quad 0x479c925e02b41668, 0x47b9c31c6df3b1b8 - .quad 0x479bc6c1da1f3121, 0x47b92470a61b6965 - .quad 0x479b000ed5b4a626, 0x47b888d1d8e510a3 - .quad 0x479a3e2cb2ae9edb, 0x47b7f036c0107294 - .quad 0x4799810378b1f299, 0x47b75a96077274ba - .quad 0x4798c87b7a37834f, 0x47b6c7e64e7281cb - .quad 0x4798147d54e9cc33, 0x47b6381e2980956b - .quad 0x479764f1f1f6ddea, 0x47b5ab342383d178 - .quad 0x4796b9c28657041a, 0x47b5211ebf41880b - .quad 0x479612d893085125, 0x47b499d478bca735 - .quad 0x4795701de53f4d2e, 0x47b4154bc68d75c3 - .quad 0x4794d17c968d062b, 0x47b3937b1b31925a - .quad 0x479436df0cfabf1d, 0x47b31458e6542847 - .quad 0x4793a02ffb1b7cee, 0x47b297db960e4f63 - .quad 0x47930d5a6013afc5, 0x47b21df9981f8e53 - .quad 0x47927e49879737d3, 0x47b1a6a95b1e786f - .quad 0x4791f2e909de04d2, 0x47b131e14fa1625d - .quad 0x47916b24cb8f8f92, 0x47b0bf97e95f2a64 - .quad 0x4790e6e8fda56cf7, 0x47b04fc3a0481321 - .quad 0x479066221d4539d8, 0x47afc4b5e32d6259 - .quad 0x478fd179e7243e3c, 0x47aeeea8c1b1db94 - .quad 0x478edd4d2aec5adb, 0x47ae1d4cf1e2450a - .quad 0x478def98c6c79efa, 0x47ad508f9a1ea64f - .quad 0x478d0838121f2418, 0x47ac885df3451a07 - .quad 0x478c2706fa45005e, 0x47abc4a54a84e834 - .quad 0x478b4be201caa4b4, 0x47ab055303221015 - .quad 0x478a76a63fc95c79, 0x47aa4a549829587e - .quad 0x4789a7315f1d6a55, 0x47a993979e14fffe - .quad 0x4788dd619d943ca1, 0x47a8e109c4622913 - .quad 0x47881915cb0e3323, 0x47a83298d717210e - .quad 0x47875a2d48946eb1, 0x47a78832c03aa2b1 - .quad 0x4786a08807632262, 0x47a6e1c5893c380b - .quad 0x4785ec0687e8dcb2, 0x47a63f3f5c4de13b - .quad 0x47853c89d8bb3ddb, 0x47a5a08e85af27e0 - .quad 0x478491f395818f54, 0x47a505a174e9c929 - .quad 0x4783ec25e5d5af12, 0x47a46e66be002240 - .quad 0x47834b037c1bbfc5, 0x47a3dacd1a8d8cce - .quad 0x4782ae6f94510dd8, 0x47a34ac36ad8dafe - .quad 0x4782164df2d29765, 0x47a2be38b6d92415 - .quad 0x47818282e31ba3e8, 0x47a2351c2f2d1449 - .quad 0x4780f2f3367cd6aa, 0x47a1af5d2e04f3f6 - .quad 0x4780678442cc256f, 0x47a12ceb37ff9bc3 - .quad 0x477fc037c21c3622, 0x47a0adb5fcfa8c75 - .quad 0x477eb940d8319831, 0x47a031ad58d56279 - .quad 0x477db9f17e61c310, 0x479f7182a851bca2 - .quad 0x477cc218694238a2, 0x479e85c449e377f3 - .quad 0x477bd18548996419, 0x479da0005e5f28df - .quad 0x477ae808c479c371, 0x479cc0180af00a8b - .quad 0x477a05747a543aa7, 0x479be5ecd2fcb5f9 - .quad 0x4779299afa0246a6, 0x479b1160991ff737 - .quad 0x4778544fc2c8c1da, 0x479a4255a00b9f03 - .quad 0x477785674053e8b9, 0x479978ae8b55ce1b - .quad 0x4776bcb6c7ad4854, 0x4798b44e6031383e - .quad 0x4775fa14942c3d54, 0x4797f5188610ddc8 - .quad 0x47753d57c461a5a7, 0x47973af0c737bb45 - .quad 0x4774865856ff632a, 0x479685bb5134ef13 - .quad 0x4773d4ef27bc49a6, 0x4795d55cb54cd53a - .quad 0x477328f5ec350e67, 0x479529b9e8cf9a1e - .quad 0x4772824730cacbb4, 0x479482b8455dc491 - .quad 0x4771e0be557fa673, 0x4793e03d891b37de - .quad 0x477144378ad22027, 0x4793422fd6d12e2b - .quad 0x4770ac8fce979b96, 0x4792a875b5ffab56 - .quad 0x477019a4e8d69649, 0x479212f612dee7fb - .quad 0x476f16aad1422a55, 0x479181983e5133dd - .quad 0x476e030141df7d25, 0x4790f443edc5ce49 - .quad 0x476cf80d4afc3019, 0x47906ae13b0d3255 - .quad 0x476bf5908f50b4a0, 0x478fcab1483ea7fc - .quad 0x476afb4e269693df, 0x478ec72615a894c4 - .quad 0x476a090a974cfebe, 0x478dcaf3691fc448 - .quad 0x47691e8bd0830a74, 0x478cd5ec93c12432 - .quad 0x47683b9923a85f7b, 0x478be7e5ac24963b - .quad 0x47675ffb3e6519a0, 0x478b00b38d6b3575 - .quad 0x47668b7c2479902d, 0x478a202bd6372dce - .quad 0x4765bde729a6b60f, 0x47894624e78e0faf - .quad 0x4764f708eb9fba63, 0x47887275e3a6869e - .quad 0x476436af4c058acb, 0x4787a4f6aca256cb - .quad 0x47637ca96a6cd1d4, 0x4786dd7fe3358230 - .quad 0x4762c8c79e6f04a3, 0x47861beae53b72b7 - .quad 0x47621adb71c70c75, 0x47856011cc3b036d - .quad 0x476172b79a7a1181, 0x4784a9cf6bda3f4c - .quad 0x4760d02ff50ce651, 0x4783f8ff5042a88e - .quad 0x476033197ec68c0e, 0x47834d7dbc76d7e5 - .quad 0x475f3694a0008381, 0x4782a727a89a3f14 - .quad 0x475e11332d0714c5, 0x478205dac02bd6b9 - .quad 0x475cf5bf1fed1e70, 0x4781697560347b26 - .quad 0x475be3eb08ae7c20, 0x4780d1d69569b82d - .quad 0x475adb6b810af9e2, 0x47803ede1a45bfee - .quad 0x4759dbf721b98dfa, 0x477f60d8aa2a88f2 - .quad 0x4758e54677bb0151, 0x477e4cc4abf7d065 - .quad 0x4757f713f9cc9784, 0x477d4143a9dfe965 - .quad 0x4757111bfdfb3ce0, 0x477c3e1a5f5c077c - .quad 0x4756331caf57b5db, 0x477b430ecf4a83a8 - .quad 0x47555cd603cc4150, 0x477a4fe83fb9db25 - .quad 0x47548e09b21414bf, 0x4779646f35a76624 - .quad 0x4753c67b27d50fe7, 0x4778806d70b2fc36 - .quad 0x475305ef7fdbfb95, 0x4777a3ade6c8b3e5 - .quad 0x47524c2d787b9e37, 0x4776cdfcbfc1e263 - .quad 0x475198fd6a0ee7bd, 0x4775ff2750fe7820 - .quad 0x4750ec293d9e6d85, 0x477536fc18f7ce5c - .quad 0x4750457c63a96690, 0x4774754abacdf1dc - .quad 0x474f49879624a021, 0x4773b9e3f9d06e3f - .quad 0x474e139bb05eb49e, 0x47730499b503957f - .quad 0x474ce8d4b7fd6c70, 0x4772553ee2a336bf - .quad 0x474bc8d516fda8ba, 0x4771aba78ba3af89 - .quad 0x474ab341ee553e25, 0x477107a8c7323a6e - .quad 0x4749a7c305336484, 0x47706918b6355624 - .quad 0x4748a602b88919c0, 0x476f9f9cfd9c3035 - .quad 0x4747adadead962ed, 0x476e77448fb66bb9 - .quad 0x4746be73f45149fb, 0x476d58da68fd1170 - .quad 0x4745d80693276a6d, 0x476c4412bf4b8f0b - .quad 0x4744fa19dc42d409, 0x476b38a3af2e55b4 - .quad 0x474424642c28ff75, 0x476a3645330550ff - .quad 0x4743569e18328604, 0x47693cb11a30d765 - .quad 0x47429082600643fd, 0x47684ba3004a50d0 - .quad 0x4741d1cddf5a82de, 0x476762d84469c18f - .quad 0x47411a3f7ffbbfea, 0x4766821000795a03 - .quad 0x474069982c189a9e, 0x4765a90b00981d93 - .quad 0x473f7f3581a4dc2c, 0x4764d78bba8ca5fd - .quad 0x473e381802242163, 0x47640d564548fad7 - .quad 0x473cfd6511405b2d, 0x47634a305080681f - .quad 0x473bcead7f01492f, 0x47628de11c5031eb - .quad 0x473aab859b20ac9e, 0x4761d83170fbf6fb - .quad 0x473993851cc9779a, 0x476128eb96be8798 - .quad 0x473886470ad946a7, 0x47607fdb4dafea5f - .quad 0x47378369a4a2cbd6, 0x475fb99b8b8279e1 - .quad 0x47368a8e4b2fc8c2, 0x475e7f232d9e2630 - .quad 0x47359b596b012aaa, 0x475d4fed7195d7e8 - .quad 0x4734b572664bd2dc, 0x475c2b9cf7f893bf - .quad 0x4733d8837fb08d1d, 0x475b11d702b3deb2 - .quad 0x47330439c56dadf6, 0x475a024365f771bd - .quad 0x47323844fd08cb93, 0x4758fc8c794b03b5 - .quad 0x473174578f6efd5d, 0x4758005f08d6f1ef - .quad 0x4730b826758a086b, 0x47570d6a46e07dda - .quad 0x473003692548d98b, 0x4756235fbd7a4345 - .quad 0x472eabb2fe335196, 0x475541f340697987 - .quad 0x472d5e6777a83c2a, 0x475468dadf4080ab - .quad 0x472c1e6cb6239574, 0x475397ced7af2b15 - .quad 0x472aeb4423e690e7, 0x4752ce898809244e - .quad 0x4729c47374a0974e, 0x47520cc76202c5fb - .quad 0x4728a98484a1e8d3, 0x47515246dda49d47 - .quad 0x47279a0538dd4fc7, 0x47509ec86c75d497 - .quad 0x472695875fb574a0, 0x474fe41cd9bb4eee - .quad 0x47259ba0929261c5, 0x474e97ba3b77f306 - .quad 0x4724abea183bc470, 0x474d57f524723822 - .quad 0x4723c600c7f477c5, 0x474c245d4b99847a - .quad 0x4722e984ed53e777, 0x474afc85e0f82e12 - .quad 0x4722161a2cd9d894, 0x4749e005769dbc1d - .quad 0x47214b67693928cf, 0x4748ce75e9f6f8a0 - .quad 0x47208916a9561720, 0x4747c7744d9378f7 - .quad 0x471f9da9fde95755, 0x4746caa0d3582fe9 - .quad 0x471e38a4dc27b11b, 0x4745d79eb71e893b - .quad 0x471ce283a9e3e330, 0x4744ee1429bf7cc0 - .quad 0x471b9ab1a96e3b3e, 0x47440daa3c89f5b6 - .quad 0x471a609f7584d32b, 0x4743360ccd23db3a - .quad 0x471933c2d52c56c9, 0x474266ea71d4f71a - .quad 0x4718139690c0d187, 0x47419ff4663ae9df - .quad 0x4716ff9a4837fa43, 0x4740e0de78654d1e - .quad 0x4715f7524a8e81a2, 0x4740295ef6591848 - .quad 0x4714fa476e59f668, 0x473ef25d37f49fe1 - .quad 0x47140806eb78e353, 0x473da01102b5f851 - .quad 0x4713202235dada50, 0x473c5b5412dcafad - .quad 0x4712422ed95a3235, 0x473b23a5a23e4210 - .quad 0x47116dc656a14df6, 0x4739f8893d8fd1c1 - .quad 0x4710a2860115569c, 0x4738d986a4187285 - .quad 0x470fc01dbb80c841, 0x4737c629a822bc9e - .quad 0x470e4c0b066a4970, 0x4736be02102b3520 - .quad 0x470ce823f4cc4bad, 0x4735c0a378c90bca - .quad 0x470b93bf40d5eccb, 0x4734cda5374ea275 - .quad 0x470a4e3a125adc76, 0x4733e4a23d1f4703 - .quad 0x470916f7c5f2f764, 0x47330538fbb77ecd - .quad 0x4707ed61b5d3db0a, 0x47322f0b496539be - .quad 0x4706d0e7045988cb, 0x473161be46ad3b50 - .quad 0x4705c0fc68335b0c, 0x47309cfa445b00ff - .quad 0x4704bd1bfa2aba3d, 0x472fc0d55470cf51 - .quad 0x4703c4c504792bf8, 0x472e577bbcd49935 - .quad 0x4702d77bd3a382bc, 0x472cfd4a5adec5c0 - .quad 0x4701f4c988d02149, 0x472bb1a9657ce465 - .quad 0x47011c3bed8e716a, 0x472a740684026555 - .quad 0x47004d654905dad0, 0x472943d4a1d1ed39 - .quad 0x46ff0fb86d056745, 0x4728208bc334a6a5 - .quad 0x46fd9676faafa27f, 0x472709a8db59f25c - .quad 0x46fc2e43d417197b, 0x4725feada379d8b7 - .quad 0x46fad664518e771b, 0x4724ff207314a102 - .quad 0x46f98e25420092da, 0x47240a8c1949f75e - .quad 0x46f854daa4a49b0f, 0x4723207fb7420eb9 - .quad 0x46f729df6503422a, 0x4722408e9ba3327f - .quad 0x46f60c95193c542d, 0x47216a501f0e42ca - .quad 0x46f4fc63c27c71ae, 0x47209d5f819c9e29 - .quad 0x46f3f8b98f93052a, 0x471fb2b792b40a22 - .quad 0x46f3010aa198de78, 0x471e3bcf436a1a95 - .quad 0x46f214d0d2983650, 0x471cd55277c18d05 - .quad 0x46f1338b7e273194, 0x471b7e94604479dc - .quad 0x46f05cbf4be650ab, 0x471a36eec00926dd - .quad 0x46ef1febf7a916aa, 0x4718fdc1b2dcf7b9 - .quad 0x46ed997c68d65936, 0x4717d2737527c3f9 - .quad 0x46ec2556a4e7a90f, 0x4716b4702d7d5849 - .quad 0x46eac2aa7516ade4, 0x4715a329b7d30748 - .quad 0x46e970b05888fda2, 0x47149e17724f4d41 - .quad 0x46e82ea92dbc1a27, 0x4713a4b60ba9aa4e - .quad 0x46e6fbdddeff308f, 0x4712b6875310f785 - .quad 0x46e5d79f11e27f6b, 0x4711d312098e9dba - .quad 0x46e4c144d984e1b8, 0x4710f9e1b4dd36df - .quad 0x46e3b82e6ba892a4, 0x47102a8673a94692 - .quad 0x46e2bbc1d878d272, 0x470ec929a665b449 - .quad 0x46e1cb6bc4eaa678, 0x470d4f4b4c8e09ed - .quad 0x46e0e69f27a37df3, 0x470be6abbb10a5aa - .quad 0x46e00cd508511266, 0x470a8e8cc1fadef6 - .quad 0x46de7b1882bccac5, 0x47094637d5bacfdb - .quad 0x46dcf09287e48bb9, 0x47080cfdc72220cf - .quad 0x46db792bbc489b04, 0x4706e2367dc27f95 - .quad 0x46da140206ab9450, 0x4705c540b4936fd2 - .quad 0x46d8c03d2d39119b, 0x4704b581b8d170fc - .quad 0x46d77d0e6e5bed21, 0x4703b2652b06c2b2 - .quad 0x46d649b01d73110a, 0x4702bb5cc22e5db6 - .quad 0x46d525654343aad2, 0x4701cfe010e2052d - .quad 0x46d40f79420887c7, 0x4700ef6c4c84a0fe - .quad 0x46d3073f7cff4a85, 0x47001984165a5f36 - .quad 0x46d20c1303550f0e, 0x46fe9b5e8d00ce77 - .quad 0x46d11d563e54f40e, 0x46fd16f5716c6c1a - .quad 0x46d03a72a2bbdc06, 0x46fba4f035d60e03 - .quad 0x46cec5b0ca2b20f5, 0x46fa447b7b03f045 - .quad 0x46cd2bfc6210880a, 0x46f8f4ccca7fc90d - .quad 0x46cba6c1c6e87c40, 0x46f7b5223dac7336 - .quad 0x46ca35068e9c89cf, 0x46f684c227fcacef - .quad 0x46c8d5dbaa383b98, 0x46f562fac4329b48 - .quad 0x46c7885ce9f67cdb, 0x46f44f21e49054f2 - .quad 0x46c64bb0863504dd, 0x46f34894a5e24657 - .quad 0x46c51f06ad20e4c3, 0x46f24eb7254ccf83 - .quad 0x46c4019914f0b53a, 0x46f160f438c70913 - .quad 0x46c2f2aa92823e80, 0x46f07ebd2a2d2844 - .quad 0x46c1f186b432c98b, 0x46ef4f12e9ab070a - .quad 0x46c0fd8160ca94a0, 0x46edb5ad0b27805c - .quad 0x46c015f67a552924, 0x46ec304efa2c6f4e - .quad 0x46be749309831666, 0x46eabe09e9144b5e - .quad 0x46bcd3caa04cdd1b, 0x46e95df988e76644 - .quad 0x46bb48774d0f8e45, 0x46e80f439b4ee04b - .quad 0x46b9d189f9f85cbf, 0x46e6d11788a69c64 - .quad 0x46b86e0050236315, 0x46e5a2adfa0b4bc4 - .quad 0x46b71ce426a561d3, 0x46e4834877429b8f - .quad 0x46b5dd4af79906a9, 0x46e37231085c7d9a - .quad 0x46b4ae555af52cdf, 0x46e26eb9daed6f7e - .quad 0x46b38f2e86f38216, 0x46e1783ceac28910 - .quad 0x46b27f0bd5d0e6b1, 0x46e08e1badf0fced - .quad 0x46b17d2c50b2bfaf, 0x46df5f7d88472604 - .quad 0x46b088d83f7e4069, 0x46ddb92b5212fb8d - .quad 0x46af42c17ae0ebf6, 0x46dc282cd3957eda - .quad 0x46ad8c3ea48f2889, 0x46daab7abace48dc - .quad 0x46abeceb1f9f5b3d, 0x46d94219bfcb4928 - .quad 0x46aa6399674d366b, 0x46d7eb1a2075864e - .quad 0x46a8ef2a9a18d857, 0x46d6a597219a93da - .quad 0x46a78e8dcd2e6bfd, 0x46d570b69502f313 - .quad 0x46a640bf6745325e, 0x46d44ba864670882 - .quad 0x46a504c882a97424, 0x46d335a62115bce2 - .quad 0x46a3d9be56279ee9, 0x46d22df298214423 - .quad 0x46a2bec1a4917edb, 0x46d133d96ae7e0dd - .quad 0x46a1b2fe32991d5c, 0x46d046aeabcfcdec - .quad 0x46a0b5aa42bf5054, 0x46cecb9cfe1d8642 - .quad 0x469f8c0c2e2ce8de, 0x46cd21397ead99cb - .quad 0x469dc6b6f1384e18, 0x46cb8d094c86d374 - .quad 0x469c19fa87de37fb, 0x46ca0df0f0c626dc - .quad 0x469a848df650bea7, 0x46c8a2e269750a39 - .quad 0x46990538b942ea7c, 0x46c74adc8f4064d3 - .quad 0x46979ad1fce5b3d8, 0x46c604ea819f007c - .quad 0x4696443fdcf0c327, 0x46c4d0231928c6f9 - .quad 0x46950076ad55cc39, 0x46c3aba85fe22e20 - .quad 0x4693ce784b411931, 0x46c296a70f414053 - .quad 0x4692ad53760d7287, 0x46c1905613b3abf2 - .quad 0x46919c232fd50b88, 0x46c097f6156f32c5 - .quad 0x46909a0e254c75e0, 0x46bf59a20caf6695 - .quad 0x468f4c8c392fb944, 0x46bd9c73698fb1dc - .quad 0x468d800ed59bd026, 0x46bbf716c6168bae - .quad 0x468bcd30dfbd611b, 0x46ba6852c6b58392 - .quad 0x468a32923130213f, 0x46b8eefd70594a89 - .quad 0x4688aee4cd06ec1b, 0x46b789fb715aae95 - .quad 0x468740ebfab80eb4, 0x46b6383f726a8e04 - .quad 0x4685e77b6bbd2127, 0x46b4f8c96f26a26a - .quad 0x4684a1766b6e5e8a, 0x46b3caa61607f920 - .quad 0x46836dcf18a6465c, 0x46b2acee2f5ecdb8 - .quad 0x46824b85a8bf0124, 0x46b19ec60b1242ed - .quad 0x468139a7b37f8475, 0x46b09f5cf4dd2877 - .quad 0x4680374f8792ca97, 0x46af5bd95d8730d8 - .quad 0x467e87470e4f4246, 0x46ad9371e2ff7c35 - .quad 0x467cbbab18b73217, 0x46abe41de54d155a - .quad 0x467b0a44aa2f067e, 0x46aa4c89e08ef4f3 - .quad 0x467971a1ec0f40c7, 0x46a8cb738399b12c - .quad 0x4677f064a8ba8323, 0x46a75fa8dbc84bec - .quad 0x467685414c16188e, 0x46a608078a70dcbc - .quad 0x46752efdf060cd20, 0x46a4c37c0394d094 - .quad 0x4673ec7176d784b5, 0x46a39100d5687bfe - .quad 0x4672bc82ab9d2302, 0x46a26f9df8519bd7 - .quad 0x46719e2774614040, 0x46a15e6827001f18 - .quad 0x467090640946d2d5, 0x46a05c803e4831c1 - .quad 0x466f24946f22d5ae, 0x469ed22548cffd35 - .quad 0x466d45f15b49b35e, 0x469d06ad6ecdf971 - .quad 0x466b83349fd05191, 0x469b551c847fbc96 - .quad 0x4669dacb2c432ef4, 0x4699bc09f112b494 - .quad 0x46684b37e1cbf8eb, 0x46983a1ff0aa239d - .quad 0x4666d3126d74b6cc, 0x4696ce1aa3fd7bdd - .quad 0x4665710631158bff, 0x469576c72b514859 - .quad 0x466423d13a3b73e1, 0x46943302cc4a0da8 - .quad 0x4662ea43465e3995, 0x469301ba221dc9bb - .quad 0x4661c33cd3c37add, 0x4691e1e857adc568 - .quad 0x4660adae3e73c2b5, 0x4690d2966b1746f7 - .quad 0x465f512dd15b73b7, 0x468fa5b4f49cc6b2 - .quad 0x465d6608dc942687, 0x468dc3ae30b55c16 - .quad 0x465b9823c51276e1, 0x468bfd7555a3bd68 - .quad 0x4659e5ce2f93dd76, 0x468a517d9e61628a - .quad 0x46584d6fe15b6b93, 0x4688be4f8f6c951f - .quad 0x4656cd87746bc76b, 0x46874287ded49339 - .quad 0x465564a91cd221f0, 0x4685dcd669f2cd34 - .quad 0x4654117d7e2c667d, 0x46848bfd38302871 - .quad 0x4652d2c0909ebeb9, 0x46834ecf8a3c124a - .quad 0x4651a7409475f2f9, 0x46822430f521cbcf - .quad 0x46508ddd13bd35e7, 0x46810b1488aeb235 - .quad 0x464f0b0be22d18e8, 0x4680027c00a263a6 - .quad 0x464d1a75065a8c74, 0x467e12ee004efc37 - .quad 0x464b48117843c1c7, 0x467c3e44ae32b16b - .quad 0x46499218b8ac7f8e, 0x467a854ea14102a8 - .quad 0x4647f6dc6010b4ad, 0x4678e6761569f45d - .quad 0x464674c6ae60d852, 0x4677603bac345f65 - .quad 0x46450a592e3c968e, 0x4675f1353cdad001 - .quad 0x4643b62b6aafb0c8, 0x4674980cb3c80949 - .quad 0x464276e9b681072f, 0x4673537f00b6ad4d - .quad 0x46414b54042f445b, 0x4672225b12bffc68 - .quad 0x4640323ccdc1a3dc, 0x46710380e1adb7e9 - .quad 0x463e5510173b9a50, 0x466febc107d5efaa - .quad 0x463c6654733b86ad, 0x466df0f2a0ee6947 - .quad 0x463a964ed354f984, 0x466c14b2188bcee4 - .quad 0x4638e324c651b064, 0x466a553644f7f07d - .quad 0x46374b179d1eba81, 0x4668b0cfce0579e0 - .quad 0x4635cc82d9070d95, 0x466725e7c5dd20f7 - .quad 0x463465daafca8b1d, 0x4665b2fe547a1340 - .quad 0x463315aaa46df48e, 0x466456a974e92e93 - .quad 0x4631da9433aebbcf, 0x46630f93c3699078 - .quad 0x4630b34d93135fc0, 0x4661dc7b5b978cf8 - .quad 0x462f3d41033c44cc, 0x4660bc30c5d52f15 - .quad 0x462d36d25268cd2b, 0x465f5b2be65a0c7f - .quad 0x462b512a1fb1d8fc, 0x465d5f3a8dea7357 - .quad 0x46298a442fc4fc15, 0x465b82915b03515b - .quad 0x4627e03b1cc6d738, 0x4659c3517e789488 - .quad 0x462651468e010b8a, 0x46581fb7df06136e - .quad 0x4624dbb989001d84, 0x4656961b8d641d06 - .quad 0x46237e00dac4e8b5, 0x465524ec4d916cae - .quad 0x462236a197bf0b9a, 0x4653cab1343d18d1 - .quad 0x46210437b1569d7e, 0x4652860757487a01 - .quad 0x461fcae93fb7323c, 0x465155a09065d4f7 - .quad 0x461db23c3f816f92, 0x4650384250e4c9fc - .quad 0x461bbc1a022c14d4, 0x464e59890b926c78 - .quad 0x4619e658108af2e0, 0x464c642116a8a9e3 - .quad 0x46182eedbe410407, 0x464a8e405e651ab6 - .quad 0x461693f22ab61ce9, 0x4648d5f98114f872 - .quad 0x4615139a5f3661fb, 0x4647397c5a66e307 - .quad 0x4613ac3788a1b429, 0x4645b71456c5a4c4 - .quad 0x46125c354b26cb4e, 0x46444d26de513197 - .quad 0x461122182e9a270f, 0x4642fa31d6371537 - .quad 0x460ff8f84418d510, 0x4641bcca373b7b43 - .quad 0x460dd4262aac53e8, 0x4640939ab853339f - .quad 0x460bd3474ec16ca5, 0x463efac5187b2863 - .quad 0x4609f40fd0082b72, 0x463cf1e86235d0e7 - .quad 0x4608345858c4438d, 0x463b0a68a2128bab - .quad 0x4606921be96b86b1, 0x4639423165bc4444 - .quad 0x46050b75c536f927, 0x4637974e743dea3d - .quad 0x46039e9f7dcbe479, 0x463607e9eacd1050 - .quad 0x460249ef1c3be817, 0x4634924a74dec729 - .quad 0x46010bd565b35393, 0x463334d19e0c2160 - .quad 0x45ffc5b8748842b2, 0x4631edfa3c5f5cca - .quad 0x45fd9b4a18a38642, 0x4630bc56f1b54701 - .quad 0x45fb95cede6d524b, 0x462f3d2185e047d9 - .quad 0x45f9b2df77a02225, 0x462d26cb87945e87 - .quad 0x45f7f03b935e8e3a, 0x462b334fac4b9f99 - .quad 0x45f64bc777824f0e, 0x46296076f7918d1c - .quad 0x45f4c389be9acb83, 0x4627ac2d72fc2c63 - .quad 0x45f355a9387de78c, 0x462614801550319e - .quad 0x45f2006aeb6bc768, 0x4624979ac8b28927 - .quad 0x45f0c23033e2a376, 0x462333c68e2d0548 - .quad 0x45ef32ea02b55d23, 0x4621e767bce37dd7 - .quad 0x45ed099c5c770f5a, 0x4620b0fc5b6d05a0 - .quad 0x45eb05cfe2e99435, 0x461f1e3523b41d7d - .quad 0x45e92508d0743fc9, 0x461d00de6608effe - .quad 0x45e764f46cf19f9c, 0x461b0778b7b3301b - .quad 0x45e5c36679625a01, 0x46192fb04ec0f6cf - .quad 0x45e43e56c3e340a7, 0x46177756ec9f78fa - .quad 0x45e2d3dee1869201, 0x4615dc61922d5a06 - .quad 0x45e182380bd2f494, 0x46145ce65699ff6d - .quad 0x45e047b91fcb6491, 0x4612f71a5f159970 - .quad 0x45de45a9790460c1, 0x4611a94ff571654f - .quad 0x45dc242efeaca760, 0x461071f4bbea09ec - .quad 0x45da284cb82c31ce, 0x460e9f1ff8ddd774 - .quad 0x45d84f7a1eb7f7f3, 0x460c818223a202c7 - .quad 0x45d697595326d7dc, 0x460a887bd2b4404d - .quad 0x45d4fdb462549af1, 0x4608b1a336c5eb6b - .quad 0x45d3807ab51436a8, 0x4606fab63324088a - .quad 0x45d21dbea9108398, 0x46056197e30205ba - .quad 0x45d0d3b35021d695, 0x4603e44e45301b92 - .quad 0x45cf4154a787cc1b, 0x460281000bfe4c3f - .quad 0x45cd0623f4f4a28f, 0x460135f28f2d50b4 - .quad 0x45caf2e69a262610, 0x46000187dded5975 - .quad 0x45c904e0b3aa82a3, 0x45fdc479de0ef001 - .quad 0x45c73985278fa30e, 0x45fbad4fdad3caa1 - .quad 0x45c58e7298af87d9, 0x45f9baed3ed27ab8 - .quad 0x45c401708b7e64c6, 0x45f7ead9ce4285bb - .quad 0x45c2906cb94eb40d, 0x45f63ac6b4edc88e - .quad 0x45c139788f2dd663, 0x45f4a88be2a6390c - .quad 0x45bff58dab4f2a79, 0x45f332259185f1a0 - .quad 0x45bda552fdd03043, 0x45f1d5b1f3793044 - .quad 0x45bb7f1f31b571b6, 0x45f0916f04b6e18b - .quad 0x45b98006c2117e39, 0x45eec77101de6926 - .quad 0x45b7a550f03b145b, 0x45ec960bf23153e0 - .quad 0x45b5ec74662c5961, 0x45ea8bd20fc65ef7 - .quad 0x45b453141082302a, 0x45e8a61745ec7d1d - .quad 0x45b2d6fc2c9e8bc0, 0x45e6e25d0e756261 - .quad 0x45b1761f87a6dc3d, 0x45e53e4f7d1666cb - .quad 0x45b02e94eb4ac8a5, 0x45e3b7c27a7ddb0e - .quad 0x45adfd296adef82a, 0x45e24caf2c32af14 - .quad 0x45abc8ed301215eb, 0x45e0fb3186804d0f - .quad 0x45a9bd5efd2c0f15, 0x45df830c0bb41fd7 - .quad 0x45a7d79f2db2d4a5, 0x45dd3c0f1a91c846 - .quad 0x45a61500f5293f06, 0x45db1e5acf351d87 - .quad 0x45a47306f04df3d6, 0x45d92712d259ce66 - .quad 0x45a2ef5ff0323b28, 0x45d7538c60a04476 - .quad 0x45a187e3fb74914d, 0x45d5a14b04b47879 - .quad 0x45a03a918225a966, 0x45d40dfd87456f4c - .quad 0x459e0b15822be4e0, 0x45d2977b1172b9d5 - .quad 0x459bce26a2fb7176, 0x45d13bc07e891491 - .quad 0x4599bb1bc445c3c6, 0x45cff1dbb4300811 - .quad 0x4597cef42e9a617d, 0x45cd9a880f306bd8 - .quad 0x459606e51e0a4963, 0x45cb6e45220b55e0 - .quad 0x459460560e841d79, 0x45c96a0b33f2c4da - .quad 0x4592d8dd47a40ad8, 0x45c78b07e9e924ac - .quad 0x45916e3ca3d4393f, 0x45c5ce9ab1670dd2 - .quad 0x45901e5e8edda47b, 0x45c4325167006bb0 - .quad 0x458dcea670907819, 0x45c2b3e53538ff3f - .quad 0x458b8e9bec48816d, 0x45c15137a7f44864 - .quad 0x45897945aa1c9c35, 0x45c0084ff125639d - .quad 0x45878b88a4e7107b, 0x45bdaeb0b7311ec7 - .quad 0x4585c2827c986b62, 0x45bb7937d1c40c53 - .quad 0x45841b858361b0fe, 0x45b96d082f59ab06 - .quad 0x458294150fb19119, 0x45b7872d9fa10aad - .quad 0x458129e20e732adc, 0x45b5c4e8e37bc7d0 - .quad 0x457fb58fa290d436, 0x45b423ac0df49a40 - .quad 0x457d499229819bc6, 0x45b2a117230ad284 - .quad 0x457b0c1a759f7739, 0x45b13af4f04f9998 - .quad 0x4578f9bb6c075486, 0x45afde703724e560 - .quad 0x45770f4744735c2b, 0x45ad77f0c82e7641 - .quad 0x457549cb0f7ef8e2, 0x45ab3ee02611d7dd - .quad 0x4573a68a8c1234e1, 0x45a92ff33023d5bd - .quad 0x457222fc469e8b8c, 0x45a7481a9e69f53f - .quad 0x4570bcc5fd30f1dd, 0x45a5847eda620959 - .quad 0x456ee3728761897b, 0x45a3e27c1fcc74bd - .quad 0x456c7fa0c7e3bac7, 0x45a25f9ee0b923dc - .quad 0x456a4a56eb132a54, 0x45a0f9a068653200 - .quad 0x4568401b5336a8a0, 0x459f5cc7718082b0 - .quad 0x45665db58e2358c1, 0x459cf7e53d6a2ca5 - .quad 0x4564a029a7ea7cd1, 0x459ac0f5f3229372 - .quad 0x456304b3d1961171, 0x4598b498644847ea - .quad 0x456188c45630dc53, 0x4596cfa9bcca59dc - .quad 0x456029fbd8b92835, 0x45950f411d4fd2cd - .quad 0x455dcc4fabf32f1c, 0x459370ab8327af5e - .quad 0x455b767ecb334a7e, 0x4591f167f88c6b6e - .quad 0x45594ec06c0ff29f, 0x45908f24085d4597 - .quad 0x455751977e5803d3, 0x458e8f70e181d61a - .quad 0x45557bc950253825, 0x458c324c20e337dc - .quad 0x4553ca58b816a87f, 0x458a03261574b54e - .quad 0x45523a8197d2607e, 0x4587fe903cdf5855 - .quad 0x4550c9b4b0a6a16f, 0x4586215c58da3450 - .quad 0x454eeb27891d2bb3, 0x45846897d4b69fc6 - .quad 0x454c77dbfc848866, 0x4582d1877d731b7b - .quad 0x454a357936adf17b, 0x458159a386b11517 - .quad 0x4548203fa7992554, 0x457ffd27ae9393ce - .quad 0x454634b7f56b0a5c, 0x457d7c593130dd0b - .quad 0x45446fada7e6a5fe, 0x457b2cd607c79bcf - .quad 0x4542ce2a3690576b, 0x45790ae4d3405651 - .quad 0x45414d707280e6cf, 0x45771312dd1759e2 - .quad 0x453fd5f08ad2b29a, 0x4575422ef5d8949d - .quad 0x453d48d57f7718b7, 0x45739544b0ecc957 - .quad 0x453aef3ce0add578, 0x45720997f73e73dd - .quad 0x4538c52800f939c8, 0x45709ca0eaacd277 - .quad 0x4536c6e61e57bf9b, 0x456e9810295890ec - .quad 0x4534f10e8ebc44a9, 0x456c2b45b5aa4a1d - .quad 0x4533407b59d72a5b, 0x4569eee068fa7596 - .quad 0x4531b2443858c0a1, 0x4567df2b399c10a8 - .quad 0x453043b9f1621ff3, 0x4565f8b87a31bd85 - .quad 0x452de4c41eb96b45, 0x4564385c96e9a2d9 - .quad 0x452b77e5cbd5d147, 0x45629b2933ef4cbc - .quad 0x45293c9fc62bfb11, 0x45611e68a6378f8a - .quad 0x45272f0c4c8e9bff, 0x455f7f338086a86b - .quad 0x45254b92affb11af, 0x455cf8d7d9ce040a - .quad 0x45238ee17b150182, 0x455aa577251ae485 - .quad 0x4521f5e908f70e0c, 0x4558811d739efb5f - .quad 0x45207dd6833bb380, 0x45568823e52970be - .quad 0x451e481e7f6ac4bc, 0x4554b72ae68e8b4c - .quad 0x451bcc58edad5559, 0x45530b14dbe876bc - .quad 0x451983ee9896d582, 0x455181012ef86610 - .quad 0x45176aca47764427, 0x45501647ba798745 - .quad 0x45157d287836bd3d, 0x454d90e917701675 - .quad 0x4513b79118c097a1, 0x454b2a87e86d0c8a - .quad 0x451216d1b97279a9, 0x4548f53dcb377293 - .quad 0x451097f82fc04025, 0x4546ed2f2515e933 - .quad 0x450e709b415656d0, 0x45450ecc9ed47f19 - .quad 0x450beaa3d6c15504, 0x454356cd5ce7799e - .quad 0x4509996ed9b83967, 0x4541c229a587ab78 - .quad 0x450778be2bd9795b, 0x45404e15ecc7f3f6 - .quad 0x450584a99af8a842, 0x453deffc7e6a6017 - .quad 0x4503b99832cbefdd, 0x453b7b040832f310 - .quad 0x4502143a112d0466, 0x453938e021f36d76 - .quad 0x45009182b326b229, 0x4537258610b3b233 - .quad 0x44fe5d47637f5db5, 0x45353d3bfc82a909 - .quad 0x44fbd20fcc3b76d7, 0x45337c92babdc2fd - .quad 0x44f97c9dda748fc7, 0x4531e06010120f6a - .quad 0x44f7589207e91ad1, 0x453065b9616170d4 - .quad 0x44f561e669aa7fdb, 0x452e13dd96b3753b - .quad 0x44f394e7a2ac9fc7, 0x452b950d32467392 - .quad 0x44f1ee2e61eccc99, 0x45294a72263259a5 - .quad 0x44f06a996198f06f, 0x45272fd93e036cdc - .quad 0x44ee0e8fbad2703e, 0x45254164576929ab - .quad 0x44eb8328ee330ae9, 0x45237b83c521fe96 - .quad 0x44e92e21013a7670, 0x4521daf033182e96 - .quad 0x44e70aff489136eb, 0x45205ca50205d26a - .quad 0x44e515a7c77fab48, 0x451dfbb6235639fa - .quad 0x44e34a53ce0bbb6f, 0x451b7807e294781f - .quad 0x44e1a58b2b09fdcb, 0x4519298add70a734 - .quad 0x44e0241de6c31e5b, 0x45170beaf9c7ffb6 - .quad 0x44dd863cf753825c, 0x45151b2cd6709222 - .quad 0x44daffb906d0ae09, 0x451353a6cf7f7fff - .quad 0x44d8afbf9e9520c2, 0x4511b1fa8cbe84a7 - .quad 0x44d691c7c768bece, 0x4510330f0fd69921 - .quad 0x44d4a1a79df39cde, 0x450da81670f96f9b - .quad 0x44d2db8ca9009091, 0x450b24a16b4d09aa - .quad 0x44d13bf4cb384e4a, 0x4508d6eeb6efdbd6 - .quad 0x44cf7f4f88751db4, 0x4506ba91ac734786 - .quad 0x44ccc7626bced452, 0x4504cb7966770ab5 - .quad 0x44ca4ab6470c1c5c, 0x450305e9721d0981 - .quad 0x44c80451c2811052, 0x4501667311fff70a - .quad 0x44c5efa4d64f59f6, 0x44ffd3de10d62855 - .quad 0x44c40880373ed740, 0x44fd1aefbcd48d0c - .quad 0x44c24b0d7368076e, 0x44fa9cc93c25aca9 - .quad 0x44c0b3c7b0d960f0, 0x44f85487ee3ea735 - .quad 0x44be7eea02e4ed88, 0x44f63daf8b4b1e0c - .quad 0x44bbd6408059b696, 0x44f45421e69a6ca1 - .quad 0x44b96826d9e90341, 0x44f294175802d99a - .quad 0x44b72fa4fa12d516, 0x44f0fa17bf41068f - .quad 0x44b5282d2d5803fe, 0x44ef05e82aae2bb9 - .quad 0x44b34d935f1be064, 0x44ec578101b29058 - .quad 0x44b19c050c56d0d7, 0x44e9e39dc5dd2f7c - .quad 0x44b01001dd9c7cce, 0x44e7a553a728bbf2 - .quad 0x44ad4ca9b634ecba, 0x44e5982008db1304 - .quad 0x44aab81c5c80cf39, 0x44e3b7e00422e51b - .quad 0x44a85cfacb7477f2, 0x44e200c898d9ee3e - .quad 0x44a6365862923eb9, 0x44e06f5f7eb65a56 - .quad 0x44a43fb317b5dc37, 0x44de00e9148a1d25 - .quad 0x44a274ea96044bd7, 0x44db623734024e92 - .quad 0x44a0d23817479c67, 0x44d8fd4e01891bf8 - .quad 0x449ea84dd1592590, 0x44d6cd44c7470d89 - .quad 0x449bef1b1a12823e, 0x44d4cd9c04158cd7 - .quad 0x4499730edfda64ac, 0x44d2fa34bf5c8344 - .quad 0x44972ede3b7eaa25, 0x44d14f4890ff2461 - .quad 0x44951db1ec3a3087, 0x44cf92c49dfa4df5 - .quad 0x44933b1c9d1576ec, 0x44cccaaea71ab0df - .quad 0x44918311f8a03aca, 0x44ca40829f001197 - .quad 0x448fe3bcf4629fea, 0x44c7eef13b59e96c - .quad 0x448d083fda665164, 0x44c5d11e1a252bf5 - .quad 0x448a6d7d18831888, 0x44c3e296303b2297 - .quad 0x44880dcd6603df1b, 0x44c21f47009f43ce - .quad 0x4485e4062d5b6a4e, 0x44c083768c5e4542 - .quad 0x4483eb6ef47c2758, 0x44be1777d831265f - .quad 0x44821fb7a81c5444, 0x44bb69f10b0191b5 - .quad 0x44807cefb734d68b, 0x44b8f8a3a05b5b53 - .quad 0x447dfefbdb19ac7e, 0x44b6be573c40c8e7 - .quad 0x447b4831fb123440, 0x44b4b645ba991fdb - .quad 0x4478cf81557d20b6, 0x44b2dc119095729f - .quad 0x44768f6f0feb4755, 0x44b12bbcfa4d62de - .quad 0x447482fa78c40635, 0x44af4343c7d504b9 - .quad 0x4472a59289a484fb, 0x44ac74d4fe1e0e8b - .quad 0x4470f30c4d0be5c0, 0x44a9e614ecbf4af6 - .quad 0x446ecf3428c48d4f, 0x44a791716475420c - .quad 0x446bff86d9ec8499, 0x44a571d34563050a - .quad 0x446970bb87f4ae14, 0x44a3829407a207d8 - .quad 0x44671d0b55b79b86, 0x44a1bf74244aed5a - .quad 0x4464ff315d036fbd, 0x44a024924c7520d1 - .quad 0x4463125f6a3d2570, 0x449d5cc6ba567f29 - .quad 0x44615233ae8815f2, 0x449ab3560167ccaa - .quad 0x445f755ea760487d, 0x449846e9dda7a163 - .quad 0x445c905bbd9ab5a6, 0x4496121d7db32bdd - .quad 0x4459eebaa0589b4e, 0x449410047ead6894 - .quad 0x44578a6de0f41b89, 0x44923c2090cdde78 - .quad 0x44555df1790f2f61, 0x44909257fca001c0 - .quad 0x4453643ec463a3cf, 0x448e1dd9ec677783 - .quad 0x445198c18435598d, 0x448b5ceb5a13221b - .quad 0x444fee9bab9f4e14, 0x4488dbaa11de2037 - .quad 0x444cf82e0eb6196b, 0x448694680a9a3ee6 - .quad 0x444a474e7029a919, 0x448481f73b3778e8 - .quad 0x4447d5af6513e2be, 0x44829f9e7d8fd094 - .quad 0x44459d93e1d8f57d, 0x4480e90f64b5b103 - .quad 0x444399c279e4699a, 0x447eb4b9e47b58c9 - .quad 0x4441c579bbca6885, 0x447bdfe62f60dd70 - .quad 0x44401c659160612d, 0x44794d1de5c4576f - .quad 0x443d352b1ae26940, 0x4476f66f6ab90c3c - .quad 0x443a78e8252c204d, 0x4474d67050b31c2a - .quad 0x4437fd7c80f3410e, 0x4472e8318008cf89 - .quad 0x4435bcf92cc55d86, 0x4471273463a1589b - .quad 0x4433b1f876b10da7, 0x446f1ec20afad0e2 - .quad 0x4431d791bb1324a1, 0x446c39fa0d4a5a2b - .quad 0x4430294e37abcee8, 0x44699946bf7e02a1 - .quad 0x442d463db5fa3c13, 0x44673679b24aeb9b - .quad 0x442a82a5f4047a5b, 0x44650bf2558ab78f - .quad 0x4428011fb05fe090, 0x446314916abfa1ea - .quad 0x4425bb91decf8a58, 0x44614bad9006f53b - .quad 0x4423ac71ce35c1d3, 0x445f5a1196b5bb2e - .quad 0x4421ceb656955c59, 0x445c698e001f6d30 - .quad 0x44201dcc2acf7755, 0x4459beca74b0f147 - .quad 0x441d2b166911c178, 0x445753637caac6d9 - .quad 0x441a6459c5b11342, 0x4455218993857afc - .quad 0x4417e086accc805d, 0x445323f3f19cff3e - .quad 0x44159962aef547b3, 0x445155d47fdb9c94 - .quad 0x4413894608650ede, 0x444f6599b70323ca - .quad 0x4411ab0e4d284f44, 0x444c6dc8a4bb3ba6 - .quad 0x440ff4248ebb8299, 0x4449bcfd83a431e9 - .quad 0x440ce42dd8e4fa23, 0x44474ca889bbacd5 - .quad 0x440a1e8aa1400997, 0x444516d33e26c040 - .quad 0x44079c430435a7fc, 0x44431612a7ef535f - .quad 0x440557046eb39249, 0x4441457ab75c2489 - .quad 0x440349127b59b217, 0x443f41259c9550c0 - .quad 0x44016d392dff5104, 0x443c46969ca99a2e - .quad 0x43ff7d80dc993f2f, 0x443993e82b76e726 - .quad 0x43fc72c149cb214b, 0x44372267ac1b25a0 - .quad 0x43f9b270c24cc8fa, 0x4434ec0062aeeb78 - .quad 0x43f73585df7b6643, 0x4432eb2d18a2081b - .quad 0x43f4f59f9910367e, 0x44311aeb0b11d1a1 - .quad 0x43f2ecf5b7f6abe3, 0x442eed5c0bbf1061 - .quad 0x43f1164ab45aa235, 0x442bf4ab21b4f3f0 - .quad 0x43eed9bdbc6f1b0a, 0x442944462d4d5991 - .quad 0x43ebd8c96533b39b, 0x4426d561de54f6a1 - .quad 0x43e921ec84d5860e, 0x4424a1d472804fc8 - .quad 0x43e6ae172414ceba, 0x4422a406e25fcb44 - .quad 0x43e476e3b661be8c, 0x4420d6e7662dda9d - .quad 0x43e276873924f0b4, 0x441e6bba6770e22d - .quad 0x43e0a7c2c9322f59, 0x441b797ab2ba22d2 - .quad 0x43de0bad18c4e37d, 0x4418cf813910fdcd - .quad 0x43db18eba0be4d24, 0x441666f488db6e0a - .quad 0x43d86f7884e1caad, 0x4414399f7770045f - .quad 0x43d608484d592328, 0x441241e1ebbbf4ec - .quad 0x43d3dcfaee52a8f5, 0x44107aa30ce6a5a0 - .quad 0x43d1e7cbac093f27, 0x440dbe8969a24c6f - .quad 0x43d023827dc88ed9, 0x440ad7301258d788 - .quad 0x43cd16cd999791c3, 0x440837a640fa9d3d - .quad 0x43ca3666de0788b0, 0x4405d90f358d61f6 - .quad 0x43c79e17816df1e8, 0x4403b5342f7be9c0 - .quad 0x43c546e385224d10, 0x4401c674ecd152d3 - .quad 0x43c32a7a483e977b, 0x440007b997a0b531 - .quad 0x43c1432649c86c4d, 0x43fce8cc007a6432 - .quad 0x43bf177ce0bd5836, 0x43fa109c0bccbc39 - .quad 0x43bbff3166bc36ee, 0x43f77f5624913c3a - .quad 0x43b934fc0975fb30, 0x43f52e251d5d3b1f - .quad 0x43b6b13ebb9a5ad4, 0x43f316da780bc4d9 - .quad 0x43b46d17a80cc174, 0x43f133deb1d35260 - .quad 0x43b2624f3a0a8870, 0x43ef00460b24acf8 - .quad 0x43b08b47d7733cb6, 0x43ebee2903d584f9 - .quad 0x43adc5de496b1810, 0x43e92920a7c80e26 - .quad 0x43aac9615b3c9fd7, 0x43e6a9b25345c773 - .quad 0x43a818d3a356669e, 0x43e4691b26b9c82f - .quad 0x43a5acbdab2ed713, 0x43e2613e9610f6d1 - .quad 0x43a37e61fd4c0fe0, 0x43e08c969adf0bea - .quad 0x43a187ab3d71db11, 0x43ddcc4ac4f59be5 - .quad 0x439f8637ea4e52ac, 0x43dad2d0a9a18288 - .quad 0x439c577fd709b099, 0x43d82498a7cc94b9 - .quad 0x43997a3dc62119c8, 0x43d5ba462dee8a02 - .quad 0x4396e66137bb7cca, 0x43d38d330d8806a0 - .quad 0x439494a3f6a9a70e, 0x43d1975e0627306c - .quad 0x43927e767bb79ea2, 0x43cfa6b5ee8f3088 - .quad 0x43909dee32687729, 0x43cc78892308bd90 - .quad 0x438ddb6ae2f39381, 0x43c99b5ec6741cb3 - .quad 0x438ad1f9fba4b2ab, 0x43c7073c400e10dc - .quad 0x438816dde4c11ca3, 0x43c4b4ee0b3a84d6 - .quad 0x4385a245d5e5289c, 0x43c29df4862ac231 - .quad 0x43836d26a686daaf, 0x43c0bc7294e0cbaf - .quad 0x438171277cbbce9c, 0x43be163bd8df8640 - .quad 0x437f5120b45c00e6, 0x43bb0a61bce91993 - .quad 0x437c1c74b30d0bb0, 0x43b84cbb00f925f0 - .quad 0x43793b02e5cf0324, 0x43b5d5841ce6cb73 - .quad 0x4376a46f43f3118c, 0x43b39dbcd485dd07 - .quad 0x43745132973bb79b, 0x43b19f153b38a108 - .quad 0x43723a85891dc72b, 0x43afa7b9159fc471 - .quad 0x43705a4dba466c4e, 0x43ac6de3429e31fa - .quad 0x436d561964307dc4, 0x43a98769faac8a1b - .quad 0x436a4fa0f13737e8, 0x43a6ebf82977acf0 - .quad 0x4367984b636ad1be, 0x43a4940bc89fa5aa - .quad 0x4365281628cb373a, 0x43a278e135bcf0a4 - .quad 0x4362f7cc38bc628d, 0x43a0946088b6f8ed - .quad 0x436100f1aef8eaf5, 0x439dc21972b9e9f4 - .quad 0x435e7b62ce66acde, 0x439ab3e8cfada51a - .quad 0x435b5198cf325114, 0x4397f5483f729c27 - .quad 0x43587b15da6677af, 0x43957e33e2b1c6da - .quad 0x4355ef5de2e68985, 0x4393477480d89e25 - .quad 0x4353a6d00852a688, 0x43914a8b54629fb2 - .quad 0x43519a90b14f53af, 0x438f033fa073d520 - .quad 0x434f88eba04114cb, 0x438bcede5acc0d40 - .quad 0x434c3dea36b87937, 0x4388ee7b29d0b081 - .quad 0x43494a28136fa731, 0x438659917bbb6632 - .quad 0x4346a4b2c9663fa1, 0x43840877b79cd868 - .quad 0x43444580945b8452, 0x4381f44979177348 - .quad 0x43422558f1aa9f03, 0x438016d3f0358160 - .quad 0x43403dbf8db89298, 0x437cd508600d0ba8 - .quad 0x433d11c2965639f6, 0x4379d4ae77a21604 - .quad 0x433a03065db54a4b, 0x437723974e9529d8 - .quad 0x433745e6013d8cf3, 0x4374b9a944f57915 - .quad 0x4334d1f2eb853100, 0x43728f9c9b769ee3 - .quad 0x43329f9b7c4f56df, 0x43709ee66b6e99e9 - .quad 0x4330a814a1dfc5ed, 0x436dc34b6999ff72 - .quad 0x432dca8b63e38fa9, 0x436aa5249b4cca57 - .quad 0x432aa36c9242f8bc, 0x4367d9db080918ba - .quad 0x4327d0fbfa6c3c19, 0x436558e88e8945ef - .quad 0x43254a6b679dd96f, 0x43631aa564e92066 - .quad 0x432307d4e71272d7, 0x43611831a9c3763d - .quad 0x4321022313b11381, 0x435e96c265c21fbf - .quad 0x431e65f78e13edcd, 0x435b5d52c19374fe - .quad 0x431b2959e487c93f, 0x43587a2188252d5f - .quad 0x43184436cf62b6f8, 0x4355e440cc8caaf9 - .quad 0x4315ad66c67f3f63, 0x435393ad199301de - .quad 0x43135cb549c616eb, 0x43518135a0647102 - .quad 0x43114ac7e9322a1a, 0x434f4ccd98eab06b - .quad 0x430ee20fae75a2c5, 0x434bfaedff2748c1 - .quad 0x430b931b883c77f2, 0x4349026a7e3c9538 - .quad 0x43089e1f8e1d4be6, 0x434659f3419269ee - .quad 0x4305f9a24050e89f, 0x4343f92e9472ca4c - .quad 0x43039d2746cbe57f, 0x4341d89fb6602df9 - .quad 0x43018115431b6c4a, 0x433fe32077e095c4 - .quad 0x42ff3d3ca19edf64, 0x433c7bf775863df5 - .quad 0x42fbdf55dd9bdce0, 0x433970fb0b5580dc - .quad 0x42f8dd8e25d2255d, 0x4336b88087e4af9f - .quad 0x42f62e225ebca190, 0x433449de67f2c6b2 - .quad 0x42f3c855ef212bad, 0x43321d51dc348d4d - .quad 0x42f1a4576cd5cddc, 0x43302be7023a443e - .quad 0x42ef765035c713d8, 0x432cdec7155697e1 - .quad 0x42ec0d0bdeb46ae2, 0x4329c4671c1a6e3c - .quad 0x42e901afbd3819be, 0x4326feb0af26f865 - .quad 0x42e64a386137b955, 0x432484b1e63b3be4 - .quad 0x42e3ddb15521ce49, 0x43224e68a1458bd7 - .quad 0x42e1b418ba2217c6, 0x432054a9a7c2f05a - .quad 0x42df8c8bad8e2a20, 0x431d2214ad33ca5e - .quad 0x42dc1ba4950b8f4f, 0x4319fb9933adac68 - .quad 0x42d90a0b40dd690c, 0x43172b99eccc462e - .quad 0x42d64d860502b279, 0x4314a8e4dbe3539c - .quad 0x42d3dcf1aadc099d, 0x43126b4018ef81f7 - .quad 0x42d1b02414a73357, 0x43106b4fe82cc6ae - .quad 0x42cf7fa3e4bec2ae, 0x430d44feffb34893 - .quad 0x42cc0aee6d6b1406, 0x430a15d86bb23572 - .quad 0x42c8f684065398bf, 0x43073ea5ac0d71a9 - .quad 0x42c637ff9397e989, 0x4304b5fdd0f567fa - .quad 0x42c3c618d3c706eb, 0x4302737769828878 - .quad 0x42c1988625955723, 0x43006f8da87263ce - .quad 0x42bf4fc2f6d50e41, 0x42fd4710a9e149ed - .quad 0x42bbdb204ff1cda3, 0x42fa12cc7b1bf616 - .quad 0x42b8c75a6fa17116, 0x42f73793d6253bd7 - .quad 0x42b609ec277b8703, 0x42f4abd0af44c7f8 - .quad 0x42b399725d96eb63, 0x42f266f2e981ccfb - .quad 0x42b16d8d1241b86b, 0x42f06154a07d21a2 - .quad 0x42aefd875a51d28d, 0x42ed2842b40e25f0 - .quad 0x42ab8cd873c4de72, 0x42e9f27fa465d061 - .quad 0x42a87d2a89e5ac65, 0x42e7167c3937ded9 - .quad 0x42a5c3e42539c769, 0x42e48a7fb96552ca - .quad 0x42a35791e04cd29f, 0x42e245dcbaa25b1b - .quad 0x42a12fc6cdafd10d, 0x42e040d4ab2de626 - .quad 0x429e8a0077a1ed47, 0x42dce8fcb8dadc2c - .quad 0x429b2118f75a4eb7, 0x42d9b55e7c11d9e6 - .quad 0x429818e8b1c2616f, 0x42d6dbce02ec5c77 - .quad 0x429566cdf4525eb0, 0x42d4527acab6dfeb - .quad 0x4293014fd204bc71, 0x42d210a3ddcb4706 - .quad 0x4290dffe0bfc0c74, 0x42d00e7aba6527c9 - .quad 0x428df6a8d5e14f11, 0x42cc8a12a152d814 - .quad 0x428a9942579915cd, 0x42c95c35893651c9 - .quad 0x42879bdc576e403a, 0x42c6884d52cc9914 - .quad 0x4284f3d9114d799b, 0x42c4047ce663f641 - .quad 0x428297c4e6eb62fc, 0x42c1c7f9c74f3e7c - .quad 0x42807f35ef1a4fc0, 0x42bf95dcee779f74 - .quad 0x427d455e0a3b0d94, 0x42bc0cc007cc808e - .quad 0x4279f70bf04a77ce, 0x42b8e82cd2a6133c - .quad 0x427707990a8defef, 0x42b61d0ef76712e4 - .quad 0x42746c779ebb14ae, 0x42b3a1882865d26e - .quad 0x42721c4420bc9879, 0x42b16cce86450b20 - .quad 0x42700ea48df1e7fb, 0x42aeee1d41e1e516 - .quad 0x426c7856a7693627, 0x42ab72a1658393d4 - .quad 0x42693c7abef59a2c, 0x42a85ac17b553c4f - .quad 0x42665df602b1e0ff, 0x42a59b72775450f3 - .quad 0x4263d256a5ee461d, 0x42a32ae03812fc00 - .quad 0x42619053bac5f645, 0x42a1004b9cd4bae6 - .quad 0x425f1f58fe66e142, 0x429e27d88d5289bf - .quad 0x425b9216793da422, 0x429abdab3fb224ce - .quad 0x42586bd6adace04e, 0x4297b5bd9f52a89e - .quad 0x4255a104640aeb74, 0x4295051a941eb130 - .quad 0x42532755417b50dd, 0x4292a20366f6a0de - .quad 0x4250f5a5274f5c45, 0x429083cdb1163405 - .quad 0x424e07ab300dc4b9, 0x428d458a013d18b4 - .quad 0x424a956163a49613, 0x4289f01f97b2e043 - .quad 0x4247879eb52380ed, 0x4286fb2eaf7d8102 - .quad 0x4244d30488394e18, 0x42845be480207b14 - .quad 0x42426d7af2869fc5, 0x428208a2b041836e - .quad 0x42404e0c593552f5, 0x427ff1ba8cbc9c8d - .quad 0x423cd98a274acae3, 0x427c49f8a8ec4aeb - .quad 0x4239852d44d7528b, 0x42790c81ede57558 - .quad 0x4236927c2c3e4970, 0x42762d5a948b6358 - .quad 0x4233f65a98c177c9, 0x4273a1de0952fd2b - .quad 0x4231a6ed66936eea, 0x42716098d4b94692 - .quad 0x422f36ed3084aa81, 0x426ec24d6a8bc072 - .quad 0x422b986ab7ebdd54, 0x426b3828ebcc128b - .quad 0x422864933f3c0573, 0x4268158a3038115e - .quad 0x42258f359f0c4e8f, 0x42654eb3e9a3e72b - .quad 0x42230d82cb8a968c, 0x4262d93b0174f61a - .quad 0x4220d5e5f59de7c1, 0x4260abe0d45fd5c2 - .quad 0x421dbfc240ab5f81, 0x425d7ce33a39bd89 - .quad 0x421a47db588b15cf, 0x425a134d30d655e4 - .quad 0x421736c0d0a31187, 0x42570e16f315ef40 - .quad 0x421480a1879e8f57, 0x425461cda38e2783 - .quad 0x42121b0591ce1cfd, 0x4252044a2faebb7b - .quad 0x420ff94e3fca1752, 0x424fd91813f8cc8c - .quad 0x420c3a9f9558ffa0, 0x424c2530177987fe - .quad 0x4208eb738c76b2f2, 0x4248deb61106f334 - .quad 0x4205fee91a43fef1, 0x4245f91f55e86346 - .quad 0x4203699940a6a811, 0x4243694e7b13691b - .quad 0x4201216c07263de0, 0x4241256a18de488b - .quad 0x41fe3ae49fef5535, 0x423e49705a5ebd5f - .quad 0x41faab87fb8e4441, 0x423abefb3186e784 - .quad 0x41f786c3dca158c4, 0x42379dc285401b7d - .quad 0x41f4c036b7451223, 0x4234d9a4f359ba1e - .quad 0x41f24cec8453db03, 0x423267e46fd85893 - .quad 0x41f02334e92993b9, 0x42303efdea0a0506 - .quad 0x41ec74fc41217dfb, 0x422cad0afbb569b1 - .quad 0x41e9166837399532, 0x42294e0d5e7a8744 - .quad 0x41e61d46c11dd916, 0x422653d077d9eef0 - .quad 0x41e37dbe7711fcd4, 0x4223b2a639494566 - .quad 0x41e12d55c1e73c65, 0x42216038b4af0a0e - .quad 0x41de4594b115943b, 0x421ea6c598920c48 - .quad 0x41daabdabdb93484, 0x421b081aaf25ade1 - .quad 0x41d77f073eb945df, 0x4217d62079a4e4a6 - .quad 0x41d4b252d0bc8beb, 0x4215042e1a8664ed - .quad 0x41d23a7345c57cca, 0x421287117d29a9e6 - .quad 0x41d00d6f8a57f06e, 0x421054e44f8ee735 - .quad 0x41cc44f136cf3bd8, 0x420cc9cbc5fe04a8 - .quad 0x41c8e38df2790b7a, 0x42095eb2cb828067 - .quad 0x41c5e8f828661e21, 0x42065acfefcd0029 - .quad 0x41c3490e7e2bc31c, 0x4203b20c56ad84f5 - .quad 0x41c0f91b7ff9bb2a, 0x420159b917beb87a - .quad 0x41bddf56913a541e, 0x41fe90cb5cac7057 - .quad 0x41ba48cc1b8a7bc7, 0x41faeb7659e5f7ef - .quad 0x41b71fde01e2ca8c, 0x41f7b4b752e86e5f - .quad 0x41b4578e0b906b32, 0x41f4df8ace15322e - .quad 0x41b1e4659a2a2156, 0x41f26072a17961a0 - .quad 0x41af788fc218597b, 0x41f02d48c75e7d9b - .quad 0x41abac92daac0b9d, 0x41ec7a2ecd5f05a0 - .quad 0x41a85518c3484796, 0x41e90feaede7f2ae - .quad 0x41a56441b55bfff1, 0x41e60dcef1cedc3a - .quad 0x41a2cdd203ab43a1, 0x41e36787980e7387 - .quad 0x41a08700c199ad4f, 0x41e112346e13dd7e - .quad 0x419d0c9857c390f3, 0x41de087915129a98 - .quad 0x419986a650394095, 0x41da6a5096da5b7d - .quad 0x41966d6688315ad6, 0x41d73aff07c7874e - .quad 0x4193b3d55ebd8547, 0x41d46d572e10e216 - .quad 0x41914e7b714e7093, 0x41d1f5ba17e5a90b - .quad 0x418e667d9a8bcd9e, 0x41cf93d0d186fbcd - .quad 0x418ab2733e383ad8, 0x41cbc1b22cec72b0 - .quad 0x4187712b76c8c7f6, 0x41c86529e9df069c - .quad 0x418494d8e1d4fc61, 0x41c5702d052bf73a - .quad 0x4182115447c6627d, 0x41c2d65aee08874c - .quad 0x417fb7d503fc65c8, 0x41c08ccb49580d43 - .quad 0x417bd660913b938c, 0x41bd13c32a98512b - .quad 0x41786db66e158524, 0x41b98a4bfd5a5fad - .quad 0x41756f3ed5aa4222, 0x41b66e459a7794f4 - .quad 0x4172ce2265a96bef, 0x41b3b28bbce3c1c6 - .quad 0x41707f14a8d0c116, 0x41b14b8b6b67144e - .quad 0x416cf049ebedf60d, 0x41ae5e26dbef0e28 - .quad 0x41696129ca292f7e, 0x41aaa854b5c4f131 - .quad 0x4166416763f6b3bc, 0x41a765d329106241 - .quad 0x4163837bf030f4a8, 0x41a488b9479ee1c4 - .quad 0x41611b82880134f9, 0x41a204c8d940530b - .quad 0x415dfe0c1b8af1f3, 0x419f9e77238e0031 - .quad 0x415a49aa1651cfca, 0x419bbd2c8fd7e193 - .quad 0x415709b5a3a79128, 0x41985502f16a0f8d - .quad 0x41542ffa7e9ace3f, 0x4195574ceffe3945 - .quad 0x4151affd2eccd616, 0x4192b72182c97af5 - .quad 0x414efd8be43ac9a9, 0x41906925da53a0fc - .quad 0x414b2564005de7e5, 0x418cc6bb6d71090d - .quad 0x4147c694cd2b4ffd, 0x41893a02d0c97221 - .quad 0x4144d23fa69bd814, 0x41861cb1a027e057 - .quad 0x41423b556e6e918e, 0x418361358dd1f243 - .quad 0x413fecbcf04dca90, 0x4180fba0d2660d89 - .quad 0x413bf29264dcdc82, 0x417dc2ef387bd0e0 - .quad 0x4138767d7fc43eb6, 0x417a130711aadcda - .quad 0x413568f9937abc79, 0x4176d758e1ac9659 - .quad 0x4132bc67d8c20136, 0x417401abca024479 - .quad 0x413064d4616b0094, 0x417185819a7f8c6a - .quad 0x412caf8458ad2a12, 0x416eafc2b00a99b1 - .quad 0x412917faff93e540, 0x416ade505ba61e89 - .quad 0x4125f2e79283b1ca, 0x416785c00b5cb27e - .quad 0x41233220b1da4f59, 0x4164973634932c1a - .quad 0x4120c93ac678b0cc, 0x416205a7d78be568 - .quad 0x411d5aa313452dae, 0x415f8b4440d68221 - .quad 0x4119a9b05368c88b, 0x415b9a31a7b9868c - .quad 0x41166ede7f0c2d55, 0x415826756e1a42e2 - .quad 0x41139b7fc18e5891, 0x4155209676e4b424 - .quad 0x411122b662569616, 0x41527b019965e362 - .quad 0x410df2779ceabfc8, 0x415029ce648133fd - .quad 0x410a2a5d2945d2b7, 0x414c45161cd95fe8 - .quad 0x4106dbccf848794a, 0x4148b81d680cdfc5 - .quad 0x4103f79bf21caa96, 0x41459ca24a7521dd - .quad 0x41017080ae674896, 0x4142e48f266999cf - .quad 0x40fe75b024885f54, 0x4140838b13324d03 - .quad 0x40fa98e26924c6c8, 0x413cdd86b83e679d - .quad 0x40f738bf4bc8d296, 0x41393977456406dd - .quad 0x40f445a6a9a273c6, 0x41360a47aca18e96 - .quad 0x40f1b1eabeffc3a5, 0x413341669953fe1c - .quad 0x40eee324e1fde417, 0x4130d210b765b3d6 - .quad 0x40eaf4465e9c5668, 0x412d622fa53c02ce - .quad 0x40e784e3008fb46b, 0x4129a961d6383ef7 - .quad 0x40e484eecd2f1383, 0x41266890cd0bf55f - .quad 0x40e1e65fd1ef2701, 0x412390b73f2a4fb0 - .quad 0x40df39dc6baaccd7, 0x412114ae59581395 - .quad 0x40db3bb863d26278, 0x411dd1e5296953a3 - .quad 0x40d7bf89f052b591, 0x411a06dfa21b6c59 - .quad 0x40d4b4e35dbe0cdd, 0x4116b6a7a27c9005 - .quad 0x40d20d6781986167, 0x4113d1cca3d4f6d8 - .quad 0x40cf790f6877f51e, 0x41114acc164c64fe - .quad 0x40cb6e93fa7299b3, 0x410e2ba80b9c3a1b - .quad 0x40c7e82cde922833, 0x410a511aa3827999 - .quad 0x40c4d515a14a6132, 0x4106f3d9139319ed - .quad 0x40c226a790f97768, 0x410404113d7d18e6 - .quad 0x40bfa02b8ac73416, 0x410173ed60fcd6fa - .quad 0x40bb8c6342337220, 0x40fe6ea95e92c624 - .quad 0x40b7fe6d7fbcef2c, 0x40fa8767775dd309 - .quad 0x40b4e53acc7531b1, 0x40f71f97a2983044 - .quad 0x40b231e547065724, 0x40f42710a88aab19 - .quad 0x40afaed5c4559717, 0x40f18fb2ded8ebb1 - .quad 0x40ab94e0bfb59934, 0x40ee9a4d9b21386e - .quad 0x40a80217e57d8a3f, 0x40eaa947efe69879 - .quad 0x40a4e52d23cf50b0, 0x40e7397d8e2bd385 - .quad 0x40a22f0652094ae6, 0x40e43a79684f6ef6 - .quad 0x409fa4eba730bf60, 0x40e19ddbd8138a90 - .quad 0x409b87f86a26fad7, 0x40deae2ef93df996 - .quad 0x4097f323487ff94a, 0x40dab66cfccafb75 - .quad 0x4094d4ec8ea8ee67, 0x40d7414e5b5ca43c - .quad 0x40921e112e39bf18, 0x40d43e1e22ebfdb4 - .quad 0x408f8283ec45f117, 0x40d19e4732be2ff0 - .quad 0x408b65c7f9f1fbed, 0x40ceaa1efb3b003e - .quad 0x4087d1b22b6810f6, 0x40caaeb7de6855e2 - .quad 0x4084b49e984886e0, 0x40c736f7c0d13f06 - .quad 0x4081ff2d0d5a2649, 0x40c431f651be2ff4 - .quad 0x407f47ee1cab73dd, 0x40c190f3f39e9af4 - .quad 0x407b2e9e76c8d9f9, 0x40be8e2722ca46cf - .quad 0x40779e11d635b9a7, 0x40ba923a9d8d5019 - .quad 0x4074848ddf7dfffe, 0x40b71a91ee04e82c - .quad 0x4071d2a13fdd2709, 0x40b4161e6298ed3a - .quad 0x406ef5b15f73200a, 0x40b176014201ab17 - .quad 0x406ae2fb07705cc3, 0x40ae5a88cbf394e4 - .quad 0x406758b92cdfdc64, 0x40aa6137c537bf6d - .quad 0x40644528f79b1b51, 0x40a6ec5f2d1367f4 - .quad 0x406198d422be3f8c, 0x40a3ead7491061af - .quad 0x405e8c8a7276c930, 0x40a14dadee76975a - .quad 0x405a838b09afcf62, 0x409e0fbc2ec572b9 - .quad 0x40570246e766d2f3, 0x409a1c215fcd0bea - .quad 0x4053f700c0d99876, 0x4096accae115453e - .quad 0x4051524997d01a00, 0x4093b08582357e32 - .quad 0x404e0d68d9047f7a, 0x409118577f06b2f2 - .quad 0x404a11277ca2bd3f, 0x408dae6e8d292a1e - .quad 0x40469b7f34ec048e, 0x4089c3973d4c9b08 - .quad 0x40439ac6410ceb63, 0x40865c67e684d1e6 - .quad 0x4040ffa110b113f0, 0x408367af901b1370 - .quad 0x403d796b4f7aaf7f, 0x4080d678c614f535 - .quad 0x40398cd1cb38dcc0, 0x407d377f96b9fd62 - .quad 0x40362548d6675835, 0x407958648bd60350 - .quad 0x403331480815e7cd, 0x4075fbee5e7590f4 - .quad 0x4030a19336cc73a1, 0x407310fbf558eca2 - .quad 0x402cd1db96a6c6ef, 0x407088a80b837328 - .quad 0x4028f7b007e1de49, 0x406cabfe10b3371a - .quad 0x4025a0a9c047e3c7, 0x4068db7ccf7600f4 - .quad 0x4022bb6f2dd8e254, 0x40658c38f07b7c3b - .quad 0x402038ef3cbdc1c7, 0x4062ad2ebb6268bd - .quad 0x401c1829acfb62b3, 0x40602f94d1fb1ba4 - .quad 0x40185308ad209551, 0x405c0d23d3daadad - .quad 0x40150ec3549a202d, 0x40584df8496cc3ae - .quad 0x40123a3bf963c1eb, 0x40550e4191e1b76c - .quad 0x400f8d2fce0ebb41, 0x40523d2690dc7344 - .quad 0x400b4de68e608347, 0x404f980a88588961 - .quad 0x4007a03df8f9f479, 0x404b5c5135a44acb - .quad 0x400470ce4924af72, 0x4047b10fe1f0aeaa - .quad 0x4001aec242758b4f, 0x4044831de32e25bd - .quad 0x3ffe9700b697ec96, 0x4041c1d98f1b1f71 - .quad 0x3ffa74be9568f922, 0x403ebda6af103d07 - .quad 0x3ff6e0c8fadbb050, 0x403a9b07f491a273 - .quad 0x3ff3c8164e42f29c, 0x40370618a9c019da - .quad 0x3ff11a259faba91e, 0x4033ebfb36da371b - .quad 0x3fed91518c2acaf6, 0x40313c51b7852ec0 - .quad 0x3fe98e739a118b5e, 0x402dd1d36683753b - .quad 0x3fe616346ca3be0e, 0x4029cae5c1f5de61 - .quad 0x3fe315f58c13df9c, 0x40264e7f0a95542f - .quad 0x3fe07d957435b8c4, 0x40234a1a5595e9cb - .quad 0x3fdc7e35cf4db634, 0x4020ada93ac2688e - .quad 0x3fd89cd6ead31b71, 0x401cd680d6a376d2 - .quad 0x3fd542176fe1c2b2, 0x4018ed9e84be9bac - .quad 0x3fd25bd00bd97edd, 0x40158bc1beb8e117 - .quad 0x3fcfb491e02b7c15, 0x40129ecb15514182 - .quad 0x3fcb5fcd30c7e1f6, 0x401017069c4b54cf - .quad 0x3fc7a1c33cc1922b, 0x400bcdb33f7b88f9 - .quad 0x3fc46610483f2395, 0x400804f671a7a35c - .quad 0x3fc19b0f23241b88, 0x4004bf6ca87a4707 - .quad 0x3fbe62f62b4555dc, 0x4001eb67d8a75351 - .quad 0x3fba383ca9f98a0f, 0x3ffef3318a5788de - .quad 0x3fb69f16aeb36770, 0x3ffab97c2106c4d2 - .quad 0x3fb383bf2b37a037, 0x3ff712bc1550fb6a - .quad 0x3fb0d51cf5a16254, 0x3ff3eb13a24821e2 - .quad 0x3fad08cdac87dce6, 0x3ff131510c1da6ad - .quad 0x3fa909a7c3ac6f99, 0x3fedad26311e9ef0 - .quad 0x3fa596acfa0bcc8f, 0x3fe99bf36c7ef068 - .quad 0x3fa29cc13bfd53a0, 0x3fe618c26c1169a6 - .quad 0x3fa00b60212cf113, 0x3fe3104d5f799552 - .quad 0x3f9ba886ae6e40e0, 0x3fe071e8b6003b16 - .quad 0x3f97d62a282a4851, 0x3fdc5e5338097f6b - .quad 0x3f948a59e9cb1eb1, 0x3fd87730de08c821 - .quad 0x3f91b2abc895a771, 0x3fd518db221cf8ba - .quad 0x3f8e7e6f4c33eded, 0x3fd230ae74a714aa - .quad 0x3f8a4480db60fe17, 0x3fcf5d1c58fdc6ac - .quad 0x3f869fd19aacb90a, 0x3fcb091a88a72f08 - .quad 0x3f837be42e1159e7, 0x3fc74d459ba38afe - .quad 0x3f80c707db025298, 0x3fc414d114bdcde1 - .quad 0x3f7ce3ee3757dbe5, 0x3fc14dc49cbc0c30 - .quad 0x3f78df06bfb34f6d, 0x3fbdd13408401cdc - .quad 0x3f7568986affafc5, 0x3fb9afd0eca1593d - .quad 0x3f726d009f5af049, 0x3fb6203633a6814a - .quad 0x3f6fb69c5d6b524e, 0x3fb30e632b0008c9 - .quad 0x3f6b49c67cd1611f, 0x3fb069124dc6eaef - .quad 0x3f677a47ec4e9fa1, 0x3fac42b48d5cfe42 - .quad 0x3f643260788f0a1f, 0x3fa854b792c33d4a - .quad 0x3f615f4e018a09ee, 0x3fa4f1f511f7b2d7 - .quad 0x3f5de1c72f739a49, 0x3fa2073f996519c0 - .quad 0x3f59b25dc6d6642e, 0x3f9f08155c194aad - .quad 0x3f561853cc8eddac, 0x3f9ab41e011814e5 - .quad 0x3f52feeed430b87b, 0x3f96f9f62ec4193a - .quad 0x3f505451535e8102, 0x3f93c45d7f9e2fb0 - .quad 0x3f4c122bcbda7f8e, 0x3f9100ffa10ff0f3 - .quad 0x3f481ff0b26f3b6a, 0x3f8d401bee3a7787 - .quad 0x3f44bb153d2d0728, 0x3f8927ce5fbbe352 - .quad 0x3f41cfe80beb05a4, 0x3f85a195c6e2a08e - .quad 0x3f3e9ae566e02486, 0x3f82992f3c7d2ce7 - .quad 0x3f3a4a3297375461, 0x3f7ffa47aef63bd2 - .quad 0x3f36948e77b6c537, 0x3f7b7ccca35ce88e - .quad 0x3f33644eed5b1126, 0x3f779ffc3cd6bc92 - .quad 0x3f30a6cd27d913d7, 0x3f744d7c3dca9cc8 - .quad 0x3f2c97f5c053e775, 0x3f71720abf01aa9b - .quad 0x3f288c0c973b68fc, 0x3f6dfa22008cf2c8 - .quad 0x3f2512157ee1d8be, 0x3f69c08a63df00dc - .quad 0x3f2215988e86b086, 0x3f661eb258af5a93 - .quad 0x3f1f09f2b684fb31, 0x3f62ff68a28f7dc4 - .quad 0x3f1aa222a98ba953, 0x3f60506e21782262 - .quad 0x3f16d9b06046eb66, 0x3f5c041afe3a1ad2 - .quad 0x3f139a30e3030664, 0x3f580d8271e40929 - .quad 0x3f10d05cd2b64652, 0x3f54a5cc1e67b046 - .quad 0x3f0cd740d2318d4d, 0x3f51b8f04bdfa1bf - .quad 0x3f08bb7603d98280, 0x3f4e6b65816f0ff1 - .quad 0x3f0534d810db5377, 0x3f4a1a7ec86c94fb - .quad 0x3f022e56de90dc1a, 0x3f4665a9398034f1 - .quad 0x3eff2bb06a7069e2, 0x3f4336f30c8d3345 - .quad 0x3efab79b6edb04e1, 0x3f407b7cbf13abf4 - .quad 0x3ef6e5b33b150249, 0x3f3c461717dacbd8 - .quad 0x3ef39f005226a7db, 0x3f383f56253c12f1 - .quad 0x3ef0cfc8192e69bd, 0x3f34cab82baddd6c - .quad 0x3eecce310b024fd4, 0x3f31d39d04e50424 - .quad 0x3ee8acc81455f971, 0x3f2e9094beff3587 - .quad 0x3ee522570529739f, 0x3f2a3308036822db - .quad 0x3ee219685023e1be, 0x3f267464f8a36aff - .quad 0x3edeff1f945e7f7b, 0x3f233e2c9c277148 - .quad 0x3eda89fa515a2b44, 0x3f207d0b7bb52fc7 - .quad 0x3ed6b83bb4ee4348, 0x3f1c40cfbd11fd10 - .quad 0x3ed372982e2fde1d, 0x3f1833ffa698fa8b - .quad 0x3ed0a51297b20ab7, 0x3f14bb29dadf3ac0 - .quad 0x3ecc7d093fb7e463, 0x3f11c147957723bd - .quad 0x3ec8607006600009, 0x3f0e6896f5762306 - .quad 0x3ec4db1c7b733812, 0x3f0a096cc3260668 - .quad 0x3ec1d76959a6b622, 0x3f064a7647d3f88a - .quad 0x3ebe858d8b3acc80, 0x3f0314deba7bab37 - .quad 0x3eba1a94b14e3d7f, 0x3f00550e92636252 - .quad 0x3eb6529df3d1cf1c, 0x3efbf46cd0f972c3 - .quad 0x3eb316449a955429, 0x3ef7ebd49fbb30ee - .quad 0x3eb0517b9e1f89de, 0x3ef47796af08285b - .quad 0x3eabe627dddb55d7, 0x3ef1827a73755ec7 - .quad 0x3ea7d8a7f2a8a2d0, 0x3eedf49a10ccc568 - .quad 0x3ea4613bf000c71d, 0x3ee99ee7037b652b - .quad 0x3ea16a45fcb7b882, 0x3ee5e9197017791d - .quad 0x3e9dc283bcbe780f, 0x3ee2bc40c543e36b - .quad 0x3e996ca751cac37f, 0x3ee004b34180a4a9 - .quad 0x3e95b7cd13179dde, 0x3edb632d58444fad - .quad 0x3e928cb2cb8b4015, 0x3ed768f3e13d3bdc - .quad 0x3e8faedd62dabd96, 0x3ed401fa7657909e - .quad 0x3e8b0de982dbf111, 0x3ed1190d162109ab - .quad 0x3e87195b2becea19, 0x3ecd3803e22a78e4 - .quad 0x3e83b8387eea3f9d, 0x3ec8f694ad8ac632 - .quad 0x3e80d521f8291cd6, 0x3ec55326d6aac6fa - .quad 0x3e7cbb9be9cbac1e, 0x3ec236e8d3a9e0e7 - .quad 0x3e78852e54d26542, 0x3ebf1ca221c0b98b - .quad 0x3e74ec36b8fdf428, 0x3eba914b62872bc3 - .quad 0x3e71d9d0055d11d0, 0x3eb6af2ae42db580 - .quad 0x3e6e74cb7ebdea0a, 0x3eb35dbe86ed95c7 - .quad 0x3e69fa735b03463a, 0x3eb0880cfe68041e - .quad 0x3e6627f6220ca6a9, 0x3eac3847cbf78a3b - .quad 0x3e62e4d9d8b5b22f, 0x3ea81550cf271bfd - .quad 0x3e601c325e8bb3c0, 0x3ea48cefa0aac509 - .quad 0x3e5b783bc148fcef, 0x3ea188ab9ce5fddd - .quad 0x3e576aa8791eba33, 0x3e9dea9996bf1c0f - .quad 0x3e53f58d390caeec, 0x3e9984c7bb9c53ff - .quad 0x3e510299f255a2ca, 0x3e95c3c6ce5f2f75 - .quad 0x3e4cfd7e08a13b20, 0x3e928f8faa7c3202 - .quad 0x3e48b368e0429dac, 0x3e8fa73040873530 - .quad 0x3e450b2501707be6, 0x3e8afca3c464e1d5 - .quad 0x3e41ecf2c897b782, 0x3e8701780b38d71a - .quad 0x3e3e891642306fee, 0x3e839c08dab159e0 - .quad 0x3e3a013c6709bdd5, 0x3e80b66dac93672b - .quad 0x3e3624c9a2f2f8fc, 0x3e7c7bde43ebd873 - .quad 0x3e32da83d59392f5, 0x3e784520ec5eb55a - .quad 0x3e300ce3767b77a8, 0x3e74ad54236cf6b4 - .quad 0x3e2b5312d520a3f4, 0x3e719d258cf47194 - .quad 0x3e274191dcab90bc, 0x3e6e015665e4efbd - .quad 0x3e23ca855a30dad5, 0x3e698dc92b26aea0 - .quad 0x3e20d71d1069e44f, 0x3e65c29c3e79c162 - .quad 0x3e1ca7c7b61a5357, 0x3e628708aaed4d70 - .quad 0x3e186083aaabaf73, 0x3e5f8bd2046619b5 - .quad 0x3e14bc21b880f9de, 0x3e5ada636f165959 - .quad 0x3e11a28183b0e320, 0x3e56dafa60f704a1 - .quad 0x3e0dfe23a6ad4f8b, 0x3e537351629c53c0 - .quad 0x3e0980956bea8cc0, 0x3e508cff68f5874c - .quad 0x3e05ae767663002e, 0x3e4c29ce58c1fc10 - .quad 0x3e026e4fd1165b76, 0x3e47f5772973d16c - .quad 0x3dff54dde2ba8f56, 0x3e44612c5674eed9 - .quad 0x3dfaa0af3e698b26, 0x3e415539e864d70f - .quad 0x3df6a0956d7d1b63, 0x3e3d7ad5cdc3741e - .quad 0x3df339bd6e517d44, 0x3e39110bc4b50f8c - .quad 0x3df0554f0943ba8c, 0x3e354fb970dbe54e - .quad 0x3debbfac9007ec07, 0x3e321dd98bc7de87 - .quad 0x3de791862715d02f, 0x3e2ecc34851c9763 - .quad 0x3de403f77382e654, 0x3e2a2ca34863bfcb - .quad 0x3de0feff2a4fc490, 0x3e263e0d12d4d288 - .quad 0x3ddcdc5de1ae8c09, 0x3e22e615f0543e41 - .quad 0x3dd8804761a993c4, 0x3e200e4ae934cb56 - .quad 0x3dd4cc23eb3b5ffa, 0x3e1b471c42165f4a - .quad 0x3dd1a6c6c06ea18b, 0x3e172b316e47cc93 - .quad 0x3dcdf58ab9ae4fcb, 0x3e13ad1e7143aa75 - .quad 0x3dc96bd0bd6c9a31, 0x3e10b54bd6a9e23f - .quad 0x3dc59163428fb3a6, 0x3e0c5f4a785a88d1 - .quad 0x3dc24be8d0138113, 0x3e08162809b8dff6 - .quad 0x3dbf09f3c1618809, 0x3e04721b76389525 - .quad 0x3dba53148c3fc482, 0x3e015a6678e0082c - .quad 0x3db652d1d62b45e1, 0x3dfd73f8da963966 - .quad 0x3db2eda549c16ee8, 0x3df8fdeb6a9e8ebc - .quad 0x3db00c2a84aed164, 0x3df5342fe16e83a5 - .quad 0x3dab3501c0fdbbcf, 0x3df1fcdfea216d16 - .quad 0x3da70f8998ccf075, 0x3dee83eb9bce31c4 - .quad 0x3da38b3a7222dd33, 0x3de9e170e2dbff8c - .quad 0x3da08fb437656229, 0x3de5f27a9aa5f660 - .quad 0x3d9c1085f96d9fee, 0x3de29bfa42bc7b76 - .quad 0x3d97c6a3cf1c9dcf, 0x3ddf8de2739c95a9 - .quad 0x3d9423e65b2a3a8c, 0x3ddabfaa7d4233fa - .quad 0x3d910ef40de709bc, 0x3dd6ac1833360c58 - .quad 0x3d8ce48f9d9e5928, 0x3dd336f5ff042b88 - .quad 0x3d88773adc5703ce, 0x3dd0484d7ff5f6bd - .quad 0x3d84b6e86a5aa9d8, 0x3dcb978904649f57 - .quad 0x3d8189488e2e9743, 0x3dc760249f31a968 - .quad 0x3d7db0100ef385d3, 0x3dc3cd13761f1731 - .quad 0x3d79206c1ae9fb29, 0x3dc0c569a0b1627c - .quad 0x3d754382e8081943, 0x3dbc67fe1e83e910 - .quad 0x3d71fe13002859ca, 0x3db80dbcff1d72cf - .quad 0x3d6e71fde0c5e218, 0x3db45d945dc4844d - .quad 0x3d69c159bbc9900a, 0x3db13da615eb6c5f - .quad 0x3d65c8fc931c6d94, 0x3dad2ffe78d87996 - .quad 0x3d626cb8c1920344, 0x3da8b4017551e03b - .quad 0x3d5f295714275bc3, 0x3da4e7bd56b77338 - .quad 0x3d5a592ca70605e5, 0x3da1b06621cfb60e - .quad 0x3d5646a234bddd88, 0x3d9dee83fc205fc8 - .quad 0x3d52d4a498c21371, 0x3d99521701d324da - .quad 0x3d4fd5235020e009, 0x3d956ad77d8efe38 - .quad 0x3d4ae71657ff542e, 0x3d921d11201bfbcf - .quad 0x3d46bbc82f12468a, 0x3d8ea290040397f4 - .quad 0x3d43354802504d9e, 0x3d89e7295f29cf91 - .quad 0x3d403a3b07cf84b0, 0x3d85e631fb2a96db - .quad 0x3d3b6a52af7c7202, 0x3d828313d62cbf4f - .quad 0x3d3727cc024d462a, 0x3d7f4b2d92a8da6a - .quad 0x3d338e1c7590edaf, 0x3d7a726cda9c5fc4 - .quad 0x3d3083385f1e344c, 0x3d76592390114765 - .quad 0x3d2be229b5ed10eb, 0x3d72e1e1bdc1cff3 - .quad 0x3d278a15c33bf0d1, 0x3d6fe77379b5869a - .quad 0x3d23dea49bdca04d, 0x3d6af3202215009f - .quad 0x3d20c5225e967ce3, 0x3d66c30c15ee186b - .quad 0x3d1c4df14833b32e, 0x3d6338f646703f05 - .quad 0x3d17e2197e99732e, 0x3d603b4338f71d3b - .quad 0x3d14266d76b7e9ef, 0x3d5b688e02001605 - .quad 0x3d10ff9aa4df55cb, 0x3d572355f261c90f - .quad 0x3d0cad0ea9847218, 0x3d5387d609c076c8 - .quad 0x3d082f5884a3c4ff, 0x3d507bcd8d61f54d - .quad 0x3d04650f71159187, 0x3d4bd20f0d88c869 - .quad 0x3d01324c9f973607, 0x3d477977767b819c - .quad 0x3cfcfef7f529f1bf, 0x3d43ce0fee10ae91 - .quad 0x3cf8716298a66d68, 0x3d40b4fbeda58aa9 - .quad 0x3cf49a2f582864b8, 0x3d3c2f0b2bc85943 - .quad 0x3cf15cee56fb8f80, 0x3d37c4f426570458 - .quad 0x3ced43356b5d1bc3, 0x3d340b3e347db73a - .quad 0x3ce8a7d700826ce3, 0x3d30e67b4f33d066 - .quad 0x3ce4c57f38808af9, 0x3d2c7efb04c36011 - .quad 0x3ce17f41219f6e6e, 0x3d28055de49eb405 - .quad 0x3cdd796294cc09e7, 0x3d243f076e4dac86 - .quad 0x3cd8d265709c8b81, 0x3d211003322f9f2a - .quad 0x3cd4e6bf1c869176, 0x3d1cc169496c493b - .quad 0x3cd199123dce7f7c, 0x3d183a55fe01c77f - .quad 0x3ccda12f38ef6065, 0x3d14691f56a0b9d1 - .quad 0x3cc8f0ced10d0db4, 0x3d11315652423380 - .quad 0x3cc4fdbda9c9106c, 0x3d0cf5f3d2534600 - .quad 0x3cc1aa3b4e8f3caa, 0x3d08638e1112031d - .quad 0x3cbdba6023e1257a, 0x3d0489478d82c425 - .quad 0x3cb902e5d96b5dc7, 0x3d014a433d21a4e2 - .quad 0x3cb50a589affacc9, 0x3cfd1c4c912f9acb - .quad 0x3cb1b2a2ba958505, 0x3cf880c8cf6ecf16 - .quad 0x3cadc4cfb90a7ce5, 0x3cf49f5031dc1940 - .quad 0x3ca9088f811b7254, 0x3cf15aa4ccc2f79b - .quad 0x3ca50c7d151d73d0, 0x3ced343a5202c7c4 - .quad 0x3ca1b23bebdcda6d, 0x3ce891da95a3a6f5 - .quad 0x3c9dc06e50abd949, 0x3ce4ab18582d9df2 - .quad 0x3c9901c342974910, 0x3ce1626283914e64 - .quad 0x3c950427d64b1c7d, 0x3cdd3d994938f3ad - .quad 0x3c91a9076f0d2e24, 0x3cd896a9d7ab89b1 - .quad 0x3c8dad425efa38ef, 0x3cd4ac8e5c7c8723 - .quad 0x3c88ee8b30ca2586, 0x3cd16170c969f828 - .quad 0x3c84f1653e256f41, 0x3ccd385b6cd88b32 - .quad 0x3c819712f23cae3d, 0x3cc88f2f609fe4d3 - .quad 0x3c7d8b686448b5af, 0x3cc4a3b00e506616 - .quad 0x3c78cf03de32b406, 0x3cc157d10888e2f3 - .quad 0x3c74d4512f22a65d, 0x3cbd2488978a2f74 - .quad 0x3c717c7923127a39, 0x3cb87b7664b4e00c - .quad 0x3c6d5b12a674c804, 0x3cb4908ab62a09ac - .quad 0x3c68a35c1621f2cc, 0x3cb14591aa0080ca - .quad 0x3c64ad16c988b007, 0x3cad023e74fea7e1 - .quad 0x3c6159616cbf8a0c, 0x3ca85b9c65443c51 - .quad 0x3c5d1c88b489c5c3, 0x3ca4733af4601fe1 - .quad 0x3c586bd4690c0845, 0x3ca12acdf1c9738c - .quad 0x3c547bf000e37ae9, 0x3c9cd1b037f7490b - .quad 0x3c512dff96b26d81, 0x3c982fd0e7486194 - .quad 0x3c4cd026b64a0ca8, 0x3c944bec79d5416c - .quad 0x3c4828be8d7b2e74, 0x3c9107adbae7661d - .quad 0x3c4441250d6b8cc7, 0x3c8c93261af2cd0d - .quad 0x3c40fa934555eb5a, 0x3c87f854fd47e7d3 - .quad 0x3c3c765c89feb632, 0x3c841ad99b7fc9eb - .quad 0x3c37da7c97c8ea4b, 0x3c80dc65148f57fc - .quad 0x3c33fd0bbb47d67c, 0x3c7c46fcad39a071 - .quad 0x3c30bf675e9015a3, 0x3c77b57aa64c1e42 - .quad 0x3c2c0facb396944a, 0x3c73e04ac23c3f11 - .quad 0x3c2781800b4c5862, 0x3c70a933c1a65e31 - .quad 0x3c23b0069a07f02d, 0x3c6beda3eeb5f0a2 - .quad 0x3c207cd15415698a, 0x3c6767a404101f5a - .quad 0x3c1b9cab20b7b4ac, 0x3c639c95b8dcd835 - .quad 0x3c171e48c82b190a, 0x3c606e649c54a11d - .quad 0x3c135a840f1bb9bf, 0x3c5b879e3daa485d - .quad 0x3c10333055f872d1, 0x3c570f426b1f5c67 - .quad 0x3c0b1dfbc5f13465, 0x3c53501cdad9df5b - .quad 0x3c06b163d96b3dd9, 0x3c502c4cdfc5722c - .quad 0x3c02fcfd4e6913ca, 0x3c4b157f19f267ea - .quad 0x3bffc5d8e0519af3, 0x3c46acd55017e4e2 - .quad 0x3bfa945119b38a65, 0x3c42fb4e266d3e9f - .quad 0x3bf63b6a2745bde1, 0x3c3fc696b5025168 - .quad 0x3bf297f53c6e927f, 0x3c3a97e9c202c067 - .quad 0x3bef18eb2ba6357f, 0x3c3640e915b3f3ea - .quad 0x3bea006a7219c6a4, 0x3c329ea2353deb28 - .quad 0x3be5bcff1208eb99, 0x3c2f278f182d5cce - .quad 0x3be22bf73da1838d, 0x3c2a0f8fae515880 - .quad 0x3bde60853b8b4b65, 0x3c25cc15bf9dbbbb - .quad 0x3bd963124add21c0, 0x3c223a9b1f0c9515 - .quad 0x3bd536cefa1810b4, 0x3c1e7c6162103b4e - .quad 0x3bd1b995f6e584af, 0x3c197d2ef035140a - .quad 0x3bcd9da06644bc9d, 0x3c154efd8e5e8a15 - .quad 0x3bc8bd1c79049ec2, 0x3c11cfc34a10ee47 - .quad 0x3bc4a98db9bff0e8, 0x3c0dc5f9803d5324 - .quad 0x3bc1416a031bacf2, 0x3c08e1907994f8d3 - .quad 0x3bbcd13f7b7c3414, 0x3c04ca4b88f6234c - .quad 0x3bb80f645203dff7, 0x3c015eac2ce52257 - .quad 0x3bb415f515af2672, 0x3bfd054eb8db2ad5 - .quad 0x3bb0c410a1d6b3ca, 0x3bf83d8652f7235c - .quad 0x3babfc6c8b2d1c95, 0x3bf43eb1f8cfdcf1 - .quad 0x3ba75acacc068ebe, 0x3bf0e7ed05fb3af3 - .quad 0x3ba37cc328e513e5, 0x3bec3b617ec3cfd6 - .quad 0x3ba0422a6340a512, 0x3be791e9c59e2b42 - .quad 0x3b9b2036a988bead, 0x3be3ace8dce03fbd - .quad 0x3b96a0349d192d1a, 0x3be06c218ca5f25a - .quad 0x3b92deb8d0dae905, 0x3bdb69393c895b87 - .quad 0x3b8f78b3aa5bebbe, 0x3bd6df997f6bab1b - .quad 0x3b8a3dafb67a96cf, 0x3bd315ac58b7d6b7 - .quad 0x3b85e0885ebd9cc3, 0x3bcfd7d13f78002d - .quad 0x3b823c981e88b022, 0x3bca8fe21d205eb0 - .quad 0x3b7e66846a73c925, 0x3bc62777b62fde0c - .quad 0x3b7955ea2f392221, 0x3bc279bb2446baf4 - .quad 0x3b751cacbb42476e, 0x3bbecfc5eb955129 - .quad 0x3b719722d0b598a4, 0x3bb9b06ad8cbcafb - .quad 0x3b6d4f0c5733dbc9, 0x3bb56a684fe99fca - .quad 0x3b6869f70ffc1fcb, 0x3bb1d9d500e92622 - .quad 0x3b645586a9e82938, 0x3badc163a555fefb - .quad 0x3b60ef18dbc017ff, 0x3ba8cbe28ca7c426 - .quad 0x3b5c338d2435fb4b, 0x3ba4a94f1540c9ea - .quad 0x3b577ae3cb88b469, 0x3ba136b93820fc76 - .quad 0x3b538bf7be87e681, 0x3b9cadeb8c3bba05 - .quad 0x3b50453702b9a5bb, 0x3b97e356a2db5e15 - .quad 0x3b4b154294e891da, 0x3b93e50df3387f95 - .quad 0x3b4689b85dc875b1, 0x3b909125281c373a - .quad 0x3b42c0dc90fab5ba, 0x3b8b969aedac7779 - .quad 0x3b3f346b0aa94647, 0x3b86f7d0d10edd84 - .quad 0x3b39f5604d9610b0, 0x3b831e8350b95dae - .quad 0x3b3597757e14e4e8, 0x3b7fd3a5c3ac18bb - .quad 0x3b31f50b401397f7, 0x3b7a7ca8fa240180 - .quad 0x3b2ddd8dcb76e388, 0x3b760a5532471804 - .quad 0x3b28d50fcdd2a012, 0x3b7256887c26e498 - .quad 0x3b24a512f5483d32, 0x3b6e82efb884fa70 - .quad 0x3b2129521372a709, 0x3b6961449f1f5f93 - .quad 0x3b1c872d91eff745, 0x3b651be080b9d49d - .quad 0x3b17b56e9895b756, 0x3b618df034ba2c47 - .quad 0x3b13b37e1b01d1bd, 0x3b5d31877f1753ba - .quad 0x3b105e763ef1c6e1, 0x3b5845928aac023d - .quad 0x3b0b3291e83a6dda, 0x3b542d6673958cf7 - .quad 0x3b06978c8d7d61b8, 0x3b50c58552d896bd - .quad 0x3b02c3987ce2b431, 0x3b4be0be95f0126e - .quad 0x3aff2a6593b4ee39, 0x3b472aab5cc51918 - .quad 0x3af9e0f0cfd57ab4, 0x3b433fd04413c4e8 - .quad 0x3af57c6a75ebbd36, 0x3b3ffc132424c87a - .quad 0x3af1d636b1da2b46, 0x3b3a91d6af35687b - .quad 0x3aed9c6f3705063c, 0x3b36119a09e14fe5 - .quad 0x3ae8936d384f421a, 0x3b3253fb5c838ba6 - .quad 0x3ae464f8c7e074fc, 0x3b2e7068fdcaeb4e - .quad 0x3ae0ec1f5aebc21f, 0x3b2945fff2eb1b17 - .quad 0x3adc14515cb6f8f0, 0x3b24fb5a7146299a - .quad 0x3ad74b15b6eeceb1, 0x3b216ab8334ccb0a - .quad 0x3ad352169fa33216, 0x3b1ce965139dad89 - .quad 0x3ad0060a522d6818, 0x3b17fe578074e0c8 - .quad 0x3aca933ad3e37ea3, 0x3b13e8d828e807b4 - .quad 0x3ac608e37fe916b7, 0x3b1084c9533fea9d - .quad 0x3ac24490f08ca22d, 0x3b0b68488148e38c - .quad 0x3abe4940102c0a26, 0x3b06bbe630bdc58c - .quad 0x3ab91a40479b1837, 0x3b02daed7fd23569 - .quad 0x3ab4cdb9a0d20ef7, 0x3aff45c523b5ec4e - .quad 0x3ab13d21ec7ce7a5, 0x3af9ee3b5d440d20 - .quad 0x3aac90f21d2d475f, 0x3af57f9f997e1f52 - .quad 0x3aa7aa5b8d4b4359, 0x3af1d262b74c69e4 - .quad 0x3aa39a647b21bed6, 0x3aed8b50e711660a - .quad 0x3aa03c70a0dadb1d, 0x3ae87c4bc616ed3d - .quad 0x3a9ae43ba1c85bb1, 0x3ae44a615135e868 - .quad 0x3a96446b3db12c58, 0x3ae0cfed72363bb7 - .quad 0x3a926f997cdc041d, 0x3adbdb5f7a82d0f4 - .quad 0x3a8e86218ea3e6ac, 0x3ad7136d3b897e11 - .quad 0x3a89440cec9f5e3a, 0x3ad31cf2729ac24d - .quad 0x3a84e93295651e9b, 0x3acfa860b2bf75f8 - .quad 0x3a814df714b2cc27, 0x3aca36fa64c5b19f - .quad 0x3a7ca3058fde005f, 0x3ac5b478418ed951 - .quad 0x3a77b135dc219792, 0x3ac1f8035d726d41 - .quad 0x3a73995999427ba7, 0x3abdbf75e60682c2 - .quad 0x3a703604de581436, 0x3ab89f0afa1deeca - .quad 0x3a6ad067d36fa2c8, 0x3ab4602a49df0a52 - .quad 0x3a662c6642f5d4b9, 0x3ab0dc2db21eaf21 - .quad 0x3a62556d7a42568a, 0x3aabe61355e30a98 - .quad 0x3a5e5068065139be, 0x3aa7145a7dd1cf8c - .quad 0x3a590efd5cd13c30, 0x3aa31725e0702649 - .quad 0x3a54b62e9374c452, 0x3a9f93e90900fd6b - .quad 0x3a511de133cc6916, 0x3a9a1d0c10ff74df - .quad 0x3a4c49bf95c5f745, 0x3a9597928f3e0c70 - .quad 0x3a475f56ab48bd89, 0x3a91d9f316556fcc - .quad 0x3a434f00cbd8ea42, 0x3a8d8389849eaf01 - .quad 0x3a3fe61cbe17950d, 0x3a88650e1db268eb - .quad 0x3a3a589caf82618c, 0x3a84293ddcb013c1 - .quad 0x3a35c1e107375834, 0x3a80a90025fd130c - .quad 0x3a31f7319c565581, 0x3a7b87eb911fc5ef - .quad 0x3a2daa6c6af5c17f, 0x3a76bea387f6b0a0 - .quad 0x3a287d63120a742c, 0x3a72c9c915a28dda - .quad 0x3a2436e80df031f0, 0x3a6f094496a5e827 - .quad 0x3a20aef9bffa708d, 0x3a69a19446f657cc - .quad 0x3a1b890579385cdc, 0x3a652a33b4b8094c - .quad 0x3a16b84ffdb5d885, 0x3a6179841589cd00 - .quad 0x3a12be9773700384, 0x3a5cda2d93f291ab - .quad 0x3a0eecef0206652c, 0x3a57d0e0e7cac5b0 - .quad 0x3a09821029662ccf, 0x3a53a804f20fd2f4 - .quad 0x3a05097c74b3d08e, 0x3a5038a34010e13f - .quad 0x3a0158fcf12f6c8e, 0x3a4ac508371be502 - .quad 0x39fc9b60c296975d, 0x3a461608ea10db83 - .quad 0x39f7958bc88e6006, 0x3a42383e3bce3750 - .quad 0x39f370dfa8e149d1, 0x3a3e0e820ef74630 - .quad 0x39f0060a594f59c7, 0x3a38c9f67fa9c048 - .quad 0x39ea6925bee98d74, 0x3a3471203b047e85 - .quad 0x39e5c351b4996320, 0x3a30dae92b938870 - .quad 0x39e1ee518d278c58, 0x3a2bcabf2ba981bf - .quad 0x39dd8b2f8b0b2924, 0x3a26e8f25135d13f - .quad 0x39d855f0a34582a6, 0x3a22e219acb023ae - .quad 0x39d40b1881e58e30, 0x3a1f1fe817902ceb - .quad 0x39d0818d80634105, 0x3a19a5d5233d8e13 - .quad 0x39cb2ecbb2e8d76c, 0x3a1521d0766f8b85 - .quad 0x39c6614d9da549fb, 0x3a1168c985c93c95 - .quad 0x39c26c7736a63e7f, 0x3a0cae6809d7d445 - .quad 0x39be546a107b57d5, 0x3a079f71edd3cb51 - .quad 0x39b8f64020effd9c, 0x3a037443c37e4835 - .quad 0x39b48aa64075b150, 0x3a0004e8297ce819 - .quad 0x39b0e6e891142764, 0x39fa60ceba01346a - .quad 0x39abcfa525d16889, 0x39f5b71dfbe662f9 - .quad 0x39a6e0be1ed4e4cc, 0x39f1dfe04c5b884a - .quad 0x39a2d14568fa3103, 0x39ed6c299b6b03de - .quad 0x399ef39c9c67da70, 0x39e8366f8264d161 - .quad 0x399973b86e9a718f, 0x39e3ec401194be5f - .quad 0x3994ed55e6d4d5df, 0x39e0641ea45be131 - .quad 0x3991345b1de4a541, 0x39daf7b06dd7c2fa - .quad 0x398c48e8cf8e20ed, 0x39d62e7924beab28 - .quad 0x39873f6cd7db5a56, 0x39d23e2123cac1dc - .quad 0x39831afb2e91937b, 0x39ce00be39adba8f - .quad 0x397f6600b76754fc, 0x39c8ab4ee2717624 - .quad 0x3979cc2881babaf0, 0x39c447fa5b4e25fe - .quad 0x3975316d5b010b17, 0x39c0abf02c055867 - .quad 0x3971688993cfebe3, 0x39bb67d9f35f4de8 - .quad 0x396c98758b0a4eba, 0x39b685ccfe1e2ab5 - .quad 0x39677baf72da4868, 0x39b281e65593d670 - .quad 0x3963484c1e2418cb, 0x39ae698bd1000fd2 - .quad 0x395fa991c2110340, 0x39a8fc0326c87b11 - .quad 0x3959fe006460b912, 0x39a485d5ed97243e - .quad 0x395555b844a27ecd, 0x39a0db191585c5a2 - .quad 0x395182875c9f3984, 0x399baf50ff65044d - .quad 0x394cbce2423a80ac, 0x3996bb8ebe73c54a - .quad 0x394794741d4d28c6, 0x3992a9fd1221e357 - .quad 0x3943586a18110b0e, 0x398ea4b746dbeae3 - .quad 0x393fbd1c1dcb3991, 0x3989271dfe5687e7 - .quad 0x393a085cf5d6c87e, 0x3984a4b9ae2c857d - .quad 0x393559911f8b7812, 0x3980f0c2d578f06a - .quad 0x393181ddd71c27fb, 0x397bccd0201398ba - .quad 0x392cb5889458c00e, 0x3976cec95dfef21a - .quad 0x392789499da6bff1, 0x3972b5ae7721763f - .quad 0x39234b0b5ddf82c6, 0x396eb1327842cc63 - .quad 0x391fa04646636ebe, 0x39692bda7bca05b7 - .quad 0x3919eb0ea42d451e, 0x3964a4186866270a - .quad 0x39153ce6234f7db7, 0x3960ec8a57831ec5 - .quad 0x3911668fdbb007d5, 0x395bbfd05e1b64f3 - .quad 0x390c8289c5fd0187, 0x3956bf24d893426c - .quad 0x39075a62b0407aef, 0x3952a4c4fb42b862 - .quad 0x3903206cc37b0e4a, 0x394e8ec43d273fba - .quad 0x38ff53937c26236e, 0x39490a22ee0d506e - .quad 0x38f9a69ad7793258, 0x394483f4fee6553c - .quad 0x38f50039cbf56e41, 0x3940ce82f0139653 - .quad 0x38f13119a81ee824, 0x393b888d3fea2a71 - .quad 0x38ec24cdc6a6909b, 0x39368ce8cbb7eaeb - .quad 0x38e7089487e1182e, 0x3932778e05f0f826 - .quad 0x38e2d94fe2dcd5a4, 0x392e3e0a1bcb7b90 - .quad 0x38ded85fe218f015, 0x3928c29185861611 - .quad 0x38d93c37ffa2be30, 0x392444e2559eb861 - .quad 0x38d4a49efe08b764, 0x39209735c9244f77 - .quad 0x38d0e26d33274acd, 0x391b28030446d467 - .quad 0x38cb9dfc560135f0, 0x391638fa554a9791 - .quad 0x38c6955081ac80b2, 0x39122ed7a20d2031 - .quad 0x38c276f565251c73, 0x390dc07399fb9ebd - .quad 0x38be30d639687648, 0x3908566bbf3afdcc - .quad 0x38b8adc46e842374, 0x3903e7fef514c8f7 - .quad 0x38b42bb0eedd3fb2, 0x3900479dd0162987 - .quad 0x38b07beb0edff1b8, 0x38fa9fe7272a642b - .quad 0x38aaf070915be74e, 0x38f5c4d5495043b3 - .quad 0x38a602994f04daa5, 0x38f1cbea64272b5f - .quad 0x38a1fb139d7ad130, 0x38ed18375dee0b86 - .quad 0x389d5fdfa65dd70d, 0x38e7c798c690caf6 - .quad 0x3897fdb85ec65bd4, 0x38e36eec953c25e3 - .quad 0x38939787263ebbca, 0x38dfc2409fc1812e - .quad 0x388ffeb0495cc103, 0x38d9f29b80329143 - .quad 0x388a1f276c1aeb71, 0x38d5328106ecc8f8 - .quad 0x388552f40714fe54, 0x38d1507fc4d2f4ba - .quad 0x388167c9d827337c, 0x38cc484291d11ff0 - .quad 0x387c690e28b6a9bf, 0x38c7189333483e3b - .quad 0x38772f13b97db104, 0x38c2dbc3e931f24d - .quad 0x3872eaa616a9b21c, 0x38becb050b3055a0 - .quad 0x386edda16b7edc87, 0x38b9231c8255bcdb - .quad 0x38692da9c960076a, 0x38b4848161f4e509 - .quad 0x38648955baf138af, 0x38b0beb55467080a - .quad 0x3860bf90e157d9da, 0x38ab542338309321 - .quad 0x385b5082a5d8de09, 0x38a64c56b8fb3cec - .quad 0x3856454856772fed, 0x38a231052b5f7dd6 - .quad 0x385227ecea87251d, 0x389dadb937ed07eb - .quad 0x384d99724acabf71, 0x389834eb55a1d18e - .quad 0x38481ff31715569a, 0x3893bdc43dd8955f - .quad 0x3843a90e48619574, 0x389018fd4cd15479 - .quad 0x384005296113b586, 0x388a3fee5158c03f - .quad 0x383a1acf8c750894, 0x3885664a8518a142 - .quad 0x38354421936100c1, 0x388171860917e7c8 - .quad 0x383152813e135602, 0x387c6f152728fb8f - .quad 0x382c375a4cba7b23, 0x38772bf4ab4db677 - .quad 0x3826fa5568fa20f3, 0x3872e18c95c4bfb1 - .quad 0x3822b5b13ef0805c, 0x386ec41a3d4cf576 - .quad 0x381e77117811a7d2, 0x38691022d83bf8f5 - .quad 0x3818ccd934db2cb0, 0x38646a292659269e - .quad 0x38142faa33070d2a, 0x3860a05da41d6048 - .quad 0x38106db98d7f6125, 0x385b14375f322de2 - .quad 0x380abcdbdfcc9f7c, 0x38560c75486158b0 - .quad 0x3805c15c23fbb403, 0x3851f35bc35fb59f - .quad 0x3801b2fdb7cab6df, 0x384d39954e0a9d3d - .quad 0x37fccb8a64624f6c, 0x3847c98ab66270f5 - .quad 0x37f76bb52e82b59a, 0x38435be6eb898758 - .quad 0x37f30c117f001ac3, 0x383f819edd38db9c - .quad 0x37eefa0e49e3fecc, 0x3839a2821242ebd0 - .quad 0x37e92fa046d58d4e, 0x3834dadd528d6ea9 - .quad 0x37e479ae4e865fee, 0x3830f6d9e092345c - .quad 0x37e0a4c603089f16, 0x382b987187720ae4 - .quad 0x37db0e03e96a5485, 0x3826711ad9310ce1 - .quad 0x37d5fc89a9e03199, 0x38223f97aea9f29f - .quad 0x37d1dd90a3522c75, 0x381dac6b554960ff - .quad 0x37cd07c0b8b30398, 0x38181f77dc55f2bd - .quad 0x37c795540ea5dda7, 0x38139bb36d1a51da - .quad 0x37c327f191dd6247, 0x380fdf7c425dfb89 - .quad 0x37bf1db008e061d6, 0x3809e6c7f42ee3a0 - .quad 0x37b944b7c8850269, 0x38050bd38f4b0e14 - .quad 0x37b4846e1e475567, 0x38011954fcd9d596 - .quad 0x37b0a8512d6deeb0, 0x37fbc7d8a23288e1 - .quad 0x37ab0b57b848dfd5, 0x37f69099571fea27 - .quad 0x37a5f385601a1095, 0x37f25378a9823720 - .quad 0x37a1d0aee3f21eae, 0x37edc36feecfa2ba - .quad 0x379ce9ce0f1b56b8, 0x37e82a9fb7ad076b - .quad 0x379775af322a6fb6, 0x37e39ea243c7bf71 - .quad 0x3793084e2fb958e5, 0x37dfda4af81b306a - .quad 0x378ee0aaff5c7275, 0x37d9da7a2c5ab52c - .quad 0x37890b5b261712ac, 0x37d4fb44aa933f5c - .quad 0x37844f853ca3d2a1, 0x37d1068e39733d5f - .quad 0x37807839b24e2329, 0x37cba0b385a9673f - .quad 0x377ab4ef712ea53c, 0x37c669cb88b98bb4 - .quad 0x3775a6a27edc2aaf, 0x37c22e458ff074e2 - .quad 0x37718ccfb2383c0d, 0x37bd7dccacf16bdf - .quad 0x376c72c7d427b5c7, 0x37b7ea9a57d9c3fd - .quad 0x37670debd3477d7c, 0x37b364981b4fcacc - .quad 0x3762ae4c8505c4dc, 0x37af723b60a4c45a - .quad 0x375e45347f37826d, 0x37a97e0b5db827a8 - .quad 0x3758859d9d834871, 0x37a4a9cae44d02aa - .quad 0x3753dcdd6f53a761, 0x37a0bf347561e06f - .quad 0x3750163c7a1b8ce3, 0x379b246ea577dcd5 - .quad 0x374a0de9e4d0326a, 0x3795fe1a8f2ffd47 - .quad 0x374518a7407eb90e, 0x3791d15869af1a46 - .quad 0x3741146574533e59, 0x378cde08f63664fd - .quad 0x373ba6f77161f191, 0x378761ba88bf6eed - .quad 0x373661c59f17fae0, 0x3782efafc89163c3 - .quad 0x37321d2894bdd4c7, 0x377eab12c8aa7e50 - .quad 0x372d50e0eba3e44d, 0x3778d4d432dee077 - .quad 0x3727b84a5753cf1f, 0x37741a589d11cb19 - .quad 0x37233091416396db, 0x377045db9ec2ba81 - .quad 0x371f0bb3ff173143, 0x376a57861242277f - .quad 0x37191c3cacc75aaa, 0x376551681b8d3610 - .quad 0x37144ea256a84bb0, 0x376140098b38820c - .quad 0x37106bb841410434, 0x375be9e2feb561e0 - .quad 0x370a8d98b0d57710, 0x375694e9fdcb7be5 - .quad 0x37057755a2313bdf, 0x37524419d9ce37ff - .quad 0x37015a03d39bca43, 0x374d8bf1578b3aac - .quad 0x36fc0c4e9f387792, 0x3747e4dfe2cee6a2 - .quad 0x36f6aa9b63079411, 0x3743520b0bf08a51 - .quad 0x36f250ad98a67e4f, 0x373f3daa3dd37f3a - .quad 0x36ed9842421f4af1, 0x37394140b3abb78e - .quad 0x36e7e859d0226582, 0x373469d2facc66f7 - .quad 0x36e34f9e5d4c96d3, 0x37307f7c6b04c092 - .quad 0x36df314a5f5af6d7, 0x372aa9f80ec12e52 - .quad 0x36d9306ca687d568, 0x37258b5e63278412 - .quad 0x36d456b681315daf, 0x372167dcc97a0fd3 - .quad 0x36d06b98180e66f0, 0x371c1ee5bab4ede7 - .quad 0x36ca82a4c036e3f3, 0x3716b69077bfc3c7 - .quad 0x36c565cda5d05a6a, 0x371257dcc5bc2717 - .quad 0x36c144d77262f022, 0x370d9fdd2296338f - .quad 0x36bbdec7b50a66c0, 0x3707eb427b4ddd71 - .quad 0x36b67cb265d8483a, 0x37034f5aee912170 - .quad 0x36b224399b226996, 0x36ff2ca4dc8ff69f - .quad 0x36ad448f86c23d12, 0x36f92943634830d2 - .quad 0x36a79b2a15ae0faa, 0x36f44e2d8e947442 - .quad 0x36a3098d833c2da0, 0x36f0627b1e47c261 - .quad 0x369eb3aa595948f3, 0x36ea705784809825 - .quad 0x3698c0f08dff4e68, 0x36e554226cd542ef - .quad 0x3693f49a8880f6ad, 0x36e1343e7a202e90 - .quad 0x369015dd1c62a082, 0x36dbc0384ab3550d - .quad 0x3689edb80143a705, 0x36d660fe966c4e28 - .quad 0x3684e52056f2dec4, 0x36d20b6b60dae611 - .quad 0x3680d62a769875e0, 0x36cd1893fc15ba16 - .quad 0x367b2128dd015485, 0x36c7747e31ddd25c - .quad 0x3675dad6d3a16694, 0x36c2e7c997078049 - .quad 0x36719a81ef58dfc6, 0x36be790d89e8e564 - .quad 0x366c5ae1b79c4ee8, 0x36b88e545d12ba57 - .quad 0x3666d56e11abc8a7, 0x36b3c919aea97870 - .quad 0x366262a204b39df1, 0x36afe13c6f07b6ae - .quad 0x365d9a774b67b183, 0x36a9ae2b16a9550a - .quad 0x3657d48e51f6d6ed, 0x36a4af14f857334e - .quad 0x36532e43016e50e4, 0x36a0a8564eab8ff5 - .quad 0x364edf747f9f14f1, 0x369ad3a333504020 - .quad 0x3648d7d80e14b910, 0x3695996d7e13f467 - .quad 0x3643fd1708b687cb, 0x3691636f3d76858a - .quad 0x364014ad3fec9ec4, 0x368bfe545fce7a55 - .quad 0x3639dee40ecc2982, 0x368687ce08618977 - .quad 0x3634ceca2b274540, 0x368221a377d62eb4 - .quad 0x3630bbd071377b87, 0x367d2dcd30499eb7 - .quad 0x362ae9438e9a5c0b, 0x367779da2df7a30c - .quad 0x3625a30285652ad0, 0x3672e2a7c1fe1c5f - .quad 0x362164daef1c2b15, 0x366e61933d473856 - .quad 0x361bf6806876a635, 0x36686f2e6e7e582a - .quad 0x36167960688424ef, 0x3663a62b4892ce6e - .quad 0x36120f7f47f404a7, 0x365f99234ed0089e - .quad 0x360d061d530972c5, 0x3659676058974913 - .quad 0x3607517e8c57f622, 0x36546bd7c1e28ef0 - .quad 0x3602bb6ba79809ed, 0x365069f8cb02119f - .quad 0x35fe179628712470, 0x364a61febb6d574d - .quad 0x35f82af24bbe81dd, 0x36453351984f5d61 - .quad 0x35f3684a09debb18, 0x364108b4faaa8971 - .quad 0x35ef2a603a977e7c, 0x363b5e91e3ee196d - .quad 0x35e9054beadf5a51, 0x3635fc381e001854 - .quad 0x35e415c074fc9065, 0x3631a8782bc000be - .quad 0x35e01ef55a0092e3, 0x362c5c9be5ba37d4 - .quad 0x35d9e016e74801cb, 0x3626c625c9dd5c05 - .quad 0x35d4c3713bae315d, 0x362248f08aa2a9f5 - .quad 0x35d0a8cf82738469, 0x361d5b98efc2e8d5 - .quad 0x35cabada51b7b47e, 0x361790b07dcc17dd - .quad 0x35c570fb47030aa8, 0x3612e9c8b4dec3de - .quad 0x35c13270ae279a57, 0x360e5affac730013 - .quad 0x35bb951931589ad6, 0x36085b69d604d483 - .quad 0x35b61dfa678e3296, 0x36038aa7fa8655e3 - .quad 0x35b1bb88966006c4, 0x35ff5a41ad29abd6 - .quad 0x35ac6e52f00f28e6, 0x35f925df815332e1 - .quad 0x35a6ca07adb2cabe, 0x35f42b32a68b6433 - .quad 0x35a243c4de072741, 0x35f02c65f05a223c - .quad 0x359d4603cf73627e, 0x35e9ef9ba1f58105 - .quad 0x359774b9c8b06520, 0x35e4cb0a4ddc2264 - .quad 0x3592cad15ed5f00d, 0x35e0ab038a2ddd17 - .quad 0x358e1ba565f2f2da, 0x35dab82536c08c11 - .quad 0x35881da56c03901c, 0x35d569ce24f30cad - .quad 0x358350587b61e2e7, 0x35d128ac3f80b9ac - .quad 0x357eeeaf2386ba73, 0x35cb7f008c184953 - .quad 0x3578c45dba9ebaff, 0x35c6071b5b7d5f0b - .quad 0x3573d40375ab2fc9, 0x35c1a5112ad78884 - .quad 0x356fbe96dd52dd2a, 0x35bc43afb43abf3a - .quad 0x35696874b77050b3, 0x35b6a28d7dab4750 - .quad 0x3564557ac9b8a4ff, 0x35b21fe234726979 - .quad 0x35604568afbad70b, 0x35ad05b30647f5b6 - .quad 0x355a097bba9c5bba, 0x35a73bbedaae952f - .quad 0x3554d4668bc3c638, 0x35a298ce64edbc52 - .quad 0x3550a969821c25d4, 0x359dc489a35fd890 - .quad 0x354aa703eac27071, 0x3597d248efdebaf1 - .quad 0x3545506ec96ce1d8, 0x35930f843b6c62b7 - .quad 0x35410b0827e1c59f, 0x358e7fb2011e1175 - .quad 0x353b409eb99c2287, 0x358865c4d7ebd336 - .quad 0x3535c93bed6568e9, 0x358383b206d0bb99 - .quad 0x353169ff47b694c6, 0x357f36aa78ac249d - .quad 0x352bd5de633517f7, 0x3578f5cbbd7e3bd9 - .quad 0x35263e7724f64774, 0x3573f5064180659d - .quad 0x3521c60a3dd2224e, 0x356fe8f1d993bb19 - .quad 0x351c66566ef40333, 0x356981f750955121 - .quad 0x3516afcac6c09d1a, 0x3564632fef2669ec - .quad 0x35121ee56dbc8c6a, 0x35604b03ffb7174a - .quad 0x350cf19c31a391ac, 0x355a09e23dee12db - .quad 0x35071ce2ba111a68, 0x3554cddefbe00dae - .quad 0x3502744e94597df0, 0x35509eb734c1a314 - .quad 0x34fd77474fa3c96f, 0x354a8d28a7b21f9e - .quad 0x34f7856cde19858b, 0x354534c49c3a48a0 - .quad 0x34f2c60519b06073, 0x3540ef5469afe541 - .quad 0x34edf6f23e67822e, 0x353b0b689ea896f0 - .quad 0x34e7e9197060941a, 0x35359793ad60d8ab - .quad 0x34e313ca61e59763, 0x35313c9ee6b2a529 - .quad 0x34de703ac45eb1a5, 0x352b84429b1d33d8 - .quad 0x34d8479b71b66ff2, 0x3525f60114dc317a - .quad 0x34d35d621cd7892f, 0x3521865baa279b03 - .quad 0x34cee2c2766d39ae, 0x351bf759f4ae6481 - .quad 0x34c8a0a908fbee34, 0x35164fc41f392bcd - .quad 0x34c3a29293d26666, 0x3511cc51b3533d1b - .quad 0x34bf4e2f320ed2f5, 0x350c645558315ad7 - .quad 0x34b8f3fbe30bc1d8, 0x3506a496dcf46820 - .quad 0x34b3e324f4cf0981, 0x35020e4a4b8e031e - .quad 0x34afb22b934b9930, 0x34fccadf3adb1af0 - .quad 0x34a941518f17ca26, 0x34f6f4367d03dbd8 - .quad 0x34a41ee59ab3f625, 0x34f24c114d622260 - .quad 0x34a00733b2d2d2a7, 0x34ed2aa649df6e65 - .quad 0x3499886bd6d1085b, 0x34e73e63a45afd4d - .quad 0x349455a452136a60, 0x34e285756918be22 - .quad 0x3490314c07978175, 0x34dd835dd5ba6335 - .quad 0x3489c91111b6c15f, 0x34d782e2c1c97a81 - .quad 0x3484873499e69a71, 0x34d2ba486638ab1e - .quad 0x3480573c7a800f18, 0x34cdd4be385e9720 - .quad 0x347a030c72f0cf33, 0x34c7c17c5d99552c - .quad 0x3474b36ddfcc8743, 0x34c2ea5f617d321f - .quad 0x347078e5ec28bafd, 0x34be1e853589fe15 - .quad 0x346a362e51221b9f, 0x34b7f9fd64579e1a - .quad 0x3464da2bb75a5c65, 0x34b3159306d0abd0 - .quad 0x3460962c95c3eb50, 0x34ae6076548c0765 - .quad 0x345a624c67aa97df, 0x34a82c376c3acddf - .quad 0x3454fb4e0c13d490, 0x34a33bbfc6dd55a6 - .quad 0x3450aef82f484486, 0x349e9a5b32d2ef52 - .quad 0x344a874210dbadcf, 0x34985800f4a2d262 - .quad 0x344516b94dabb86d, 0x34935cc607ce4fd8 - .quad 0x3440c33410fd4c56, 0x348ecc03cea2935d - .quad 0x343aa4f078af0321, 0x34887d359f39448e - .quad 0x34352c5696370c9d, 0x3483788a50e33e44 - .quad 0x3430d2cf5025ba2d, 0x347ef546c9652b0a - .quad 0x342abb3ec79d594d, 0x34789bb66243bfd5 - .quad 0x34253c13ca08d951, 0x34738ef570827673 - .quad 0x3420ddbcd68fc943, 0x346f1601a115b514 - .quad 0x341aca1a45423b35, 0x3468b369b3c6ec4f - .quad 0x341545e3b0f8838a, 0x34639ff49c7fe5e8 - .quad 0x3410e3f374dd9d68, 0x345f2e18e05495b4 - .quad 0x340ad1767288e013, 0x3458c43bad265564 - .quad 0x340549be08e15927, 0x3453ab798c59d4c2 - .quad 0x3400e56def61fbc4, 0x344f3d7844c8a592 - .quad 0x33fad14d1b2f0b5f, 0x3448ce1e26fb8214 - .quad 0x33f5479f9137160b, 0x3443b17a8d383f04 - .quad 0x33f0e22b05782284, 0x343f4412db819edf - .quad 0x33eac99e5e7b9269, 0x3438d108ccedcd75 - .quad 0x33e53f8a0f98a8b8, 0x3433b1f28f8795ca - .quad 0x33e0da2d734853ff, 0x342f41e3132440da - .quad 0x33daba70af1767b0, 0x3428ccf9296410ae - .quad 0x33d531844d58365e, 0x3423ace12e143377 - .quad 0x33d0cd7bedf59779, 0x341f36eac3bc78c2 - .quad 0x33caa3d0ca096eed, 0x3418c1f2a8f92477 - .quad 0x33c51d9a0dfd2e93, 0x3413a24aae988ae7 - .quad 0x33c0bc211a3c2859, 0x340f23332c263066 - .quad 0x33ba85d1a4e6bedc, 0x3408affe95ac6f2a - .quad 0x33b503dbfed30324, 0x34039237fbbcfa18 - .quad 0x33b0a62b7d92f095, 0x33ff06cce511da3e - .quad 0x33aa608c535a2ba1, 0x33f8972c09d7f45c - .quad 0x33a4e45f9fa4adff, 0x33f37cb698950bda - .quad 0x33a08bad69ed20a4, 0x33eee1cfc9be3df9 - .quad 0x339a341fe436d2d7, 0x33e8778fdb058321 - .quad 0x3394bf3f24d273a5, 0x33e361d88db2b95b - .quad 0x33906cbce44363ec, 0x33deb45ad695330a - .quad 0x338a00b13659be7c, 0x33d851447ccc879b - .quad 0x3384949952fc2371, 0x33d341b44ff4c3c6 - .quad 0x3380497386163a39, 0x33ce7e93fdecae00 - .quad 0x3379c66ac5ae65b3, 0x33c82469dbf1833e - .quad 0x337464915486577b, 0x33c31c64a141680e - .quad 0x337021ee5a248c7f, 0x33be40a7f340982a - .quad 0x3369857c70b8b2bc, 0x33b7f125320f1e94 - .quad 0x33642f4e894cc71a, 0x33b2f2086b6a5cf4 - .quad 0x335fec9b69351b70, 0x33adfac9ed4c27ce - .quad 0x33593e1b371520a1, 0x33a7b7a0d21f0262 - .quad 0x3353f4fc50de840a, 0x33a2c2c295822108 - .quad 0x334f8d6a0e0a9508, 0x339dad335f7aacdb - .quad 0x3348f080f16c57c0, 0x3397780bee4609a1 - .quad 0x3343b5c9cfaada16, 0x33928eb9d3f5000a - .quad 0x333f269560bdbf92, 0x338d5823ab37d92e - .quad 0x33389cec0363502d, 0x3387329a5753ca24 - .quad 0x333371e9af8e6ccf, 0x3382561873c1cc7a - .quad 0x332eb86f931c309d, 0x337cfbdfc9b64d6e - .quad 0x3328439f081b525a, 0x3376e7843670c8d2 - .quad 0x33232991dc38028e, 0x3372190c2136fc76 - .quad 0x331e434fdd743954, 0x336c98b1eed08258 - .quad 0x3317e4e079de1a2e, 0x33669705c180d6c1 - .quad 0x3312dcfb3be31ebd, 0x3361d7c5aaa09490 - .quad 0x330dc7920bafc5dc, 0x335c2ee925b3e3f6 - .quad 0x330780fa5599d558, 0x3356415eeac7f744 - .quad 0x33028c6164ec1235, 0x33519278bf59ff34 - .quad 0x32fd459605b63623, 0x334bbed8e8100752 - .quad 0x32f71839bad6a45b, 0x3345e6d30c67b96b - .quad 0x32f2380250c57526, 0x3341495babbc8d8e - .quad 0x32ecbdbf53eed588, 0x333b48d8b08c37b5 - .quad 0x32e6aaee88d3a5e6, 0x333587a8905112eb - .quad 0x32e1e01e0cda0c0e, 0x3330fca71267dd26 - .quad 0x32dc3074a0c1c67d, 0x332acd43894c1f06 - .quad 0x32d6396af97c5f7f, 0x33252428954b7c2f - .quad 0x32d184f669e7e645, 0x3320ac95a364b406 - .quad 0x32cb9e1f37f768c9, 0x331a4c779750fb77 - .quad 0x32c5c4033ae88d94, 0x3314bc9e91b546a8 - .quad 0x32c126ceaa621095, 0x33105963d1a5105b - .quad 0x32bb072a84d6770b, 0x3309c6d5a387a6d7 - .quad 0x32b54b0d08180ac6, 0x33045157f4a2e598 - .quad 0x32b0c5eb30658611, 0x3300034f87652744 - .quad 0x32aa6c038fdf5aed, 0x32f93cc0a254a9f5 - .quad 0x32a4cedf419a9b38, 0x32f3e2a3c60327aa - .quad 0x32a062912bcc23f9, 0x32ef552fb3e1c70b - .quad 0x3299cd187cff951c, 0x32e8ae9d3a6eb66f - .quad 0x32944fd186d008c2, 0x32e370d2466d3327 - .quad 0x328ffa0c91caab55, 0x32de9ef97aa04b46 - .quad 0x32892ad80b12a09b, 0x32d81cd14bd535bb - .quad 0x3283ce3bd0683046, 0x32d2fc348f3a8121 - .quad 0x327f2b20c0b002ab, 0x32cde47d70b3398c - .quad 0x327885b1157e885c, 0x32c787c377ac34cd - .quad 0x32734a760cc47aca, 0x32c2851c338b22e4 - .quad 0x326e58ea51580bad, 0x32bd263d33512bb6 - .quad 0x3267de1218b19542, 0x32b6efdaa9c0e45e - .quad 0x3262c4d7bed4d522, 0x32b20bdae2cd61c6 - .quad 0x325d83f3d3e6d150, 0x32ac64ba5bdb46de - .quad 0x32573468ba3c29b8, 0x32a6557da47246f7 - .quad 0x32523db7a001a935, 0x32a190c20d5b5808 - .quad 0x324cacc668087b83, 0x329ba075f0192b60 - .quad 0x324689215536317f, 0x3295b9128fb09361 - .quad 0x3241b56b45aac06f, 0x329114228bb99133 - .quad 0x323bd3e92f58e3ae, 0x328ad9efd6e7e350 - .quad 0x3235dca68b92a62f, 0x32851afe8bbb6b6c - .quad 0x32312c46cab86e91, 0x3280964c48f92b05 - .quad 0x322af9e0c680145a, 0x327a11a652260d00 - .quad 0x32252f60dcf5b390, 0x32747ba5483b6e8f - .quad 0x3220a29c7db10f70, 0x3270178df0b67157 - .quad 0x321a1f2ec5b27de2, 0x326948157e97fbd7 - .quad 0x321481b643932bec, 0x3263db68a0470a4f - .quad 0x321018bc93b8e2e5, 0x325f306942454ae6 - .quad 0x3209445149305037, 0x32587db6da6dd3ca - .quad 0x3203d409d78b6819, 0x32533aa83bd4deab - .quad 0x31ff1de9c1ab95aa, 0x324e311742f9561b - .quad 0x31f869c2824b4b6b, 0x3247b300d303ed2c - .quad 0x31f326bb792c8c5b, 0x324299c1370fc2d1 - .quad 0x31ee0b212b870715, 0x323d31b83aa1a53b - .quad 0x31e78ff85165ac91, 0x3236e8665a634aff - .quad 0x31e27a27826da7a5, 0x3231f90dcff1976e - .quad 0x31dcf9b0072f8176, 0x322c32d9c998168a - .quad 0x31d6b763e947db08, 0x32261e5684f4d137 - .quad 0x31d1cea67fe8699c, 0x322158e51a7ac97e - .quad 0x31cbea20cad09b1f, 0x321b350464c51c99 - .quad 0x31c5e0717c155a1c, 0x3215553c2fc66728 - .quad 0x31c1248cf18568a2, 0x3210b99abbccdbb1 - .quad 0x31badcf760300963, 0x320a38baebfb68e4 - .quad 0x31b50b87f214792d, 0x32048d7dafad7ffe - .quad 0x31b07c2b12fe4dba, 0x32001b7eac5ea688 - .quad 0x31a9d2b0d0c4a0b1, 0x31f93e7a4bb07430 - .quad 0x31a43908aa677d25, 0x31f3c77c897ed254 - .quad 0x319fab995891c153, 0x31eefdba02e2ceff - .quad 0x3198cbc2fe600108, 0x31e846b92a47c343 - .quad 0x3193694f45c1b92f, 0x31e30395337f89bb - .quad 0x318e6371d3dc0233, 0x31ddc7fb7bbca8ad - .quad 0x3187c89c6867890e, 0x31d751e7a10e8264 - .quad 0x31829cb17b0f706b, 0x31d2421ee0211f87 - .quad 0x317d20647a807a0c, 0x31cc9649548abac7 - .quad 0x3176c9a3fd812077, 0x31c6606f00ed6d5d - .quad 0x3171d37ef5f490cd, 0x31c1836b52067807 - .quad 0x316be2ec88ae1479, 0x31bb6922692e74d4 - .quad 0x3165cf38f9818abf, 0x31b572b1a2c0293a - .quad 0x31610e013ef486f7, 0x31b0c7c6b93f06a1 - .quad 0x315aab7b734b99f6, 0x31aa40fcadcdd133 - .quad 0x3154d9b2cf546b09, 0x31a4890ac32b69b5 - .quad 0x31504c7bad04b57c, 0x31a00f779993bbc1 - .quad 0x31497a78d5f1c6db, 0x31991e450ac30542 - .quad 0x3143e9611e821800, 0x3193a3ce69b6a143 - .quad 0x313f1e56c0773bb7, 0x318eb57d7362f984 - .quad 0x313850426f2df55d, 0x3188015f467ddd40 - .quad 0x3132fe8bb3e4f4d8, 0x3182c3495adab7d8 - .quad 0x312dac8e8a813f1f, 0x317d53ae35dbfa26 - .quad 0x31272d2c2a7422ab, 0x3176eaa5fce4af3a - .quad 0x31221972950f570d, 0x3171e7c114a57a33 - .quad 0x311c44004226dc17, 0x316bf9ebf2ac34cf - .quad 0x3116118037139874, 0x3165da6aa3adb7a3 - .quad 0x31113a4e15d42467, 0x31611173d5813f4d - .quad 0x310ae501496e23f2, 0x315aa895a750e0f6 - .quad 0x3104fd7f2b705e64, 0x3154d0f59b16ac32 - .quad 0x3100614ef7575b09, 0x31504098aca1b898 - .quad 0x30f98fdb1084fd1c, 0x31495ffef5a788b3 - .quad 0x30f3f16033b4da17, 0x3143ce864a4f75bb - .quad 0x30ef1d3d20014dd3, 0x313eeabf27142ccb - .quad 0x30e844cb59a101a9, 0x31382070510e6e91 - .quad 0x30e2ed514b22b68b, 0x3132d35346de60f3 - .quad 0x30dd84bdf7421499, 0x312d5fe3202b4d44 - .quad 0x30d7040489842ad7, 0x3126ea2738b3dbeb - .quad 0x30d1f1777f205012, 0x3121df8a8637ba9c - .quad 0x30cbf956a62adf73, 0x311be0e1bcc5bf2b - .quad 0x30c5cdae0381ff94, 0x3115bd567e120a1c - .quad 0x30c0fdef3b187063, 0x3110f35198b8b7f7 - .quad 0x30ba7b2fd5556b6a, 0x310a6df243f2c6f4 - .quad 0x30b4a1e48fd99b8e, 0x31049a26968a8fd1 - .quad 0x30b012cc9c3d142a, 0x31000ec5ed2dbe3e - .quad 0x30a90a652d08b6ec, 0x30f9073f3afbdfeb - .quad 0x30a380bacb3471d9, 0x30f380b5f70c487d - .quad 0x309e603798765b0a, 0x30ee63fa380d130b - .quad 0x3097a705e88ab4c8, 0x30e7ace6e086aab7 - .quad 0x30926a399e180e7c, 0x30e2711978a97cf7 - .quad 0x308cabc2c3d98d7c, 0x30dcba0a72ae9c08 - .quad 0x308651157275ac6f, 0x30d65efbb20adf2d - .quad 0x30815e60bb1a2bac, 0x30d16b5cc5019368 - .quad 0x307b08358e30e1b1, 0x30cb1fca598944c3 - .quad 0x3075088c08941b89, 0x30c51d84fa353951 - .quad 0x30705d2722aa0abe, 0x30c06f82c9619b90 - .quad 0x3069757d44a0d5d1, 0x30b9953a1cf16aad - .quad 0x3063cd5765cc7b51, 0x30b3e87f66d27bb0 - .quad 0x305eccf7568ff3af, 0x30aefb0c5f0312cd - .quad 0x3057f37a88128933, 0x30a81a4d1085cfd1 - .quad 0x30529f5b70afae6e, 0x30a2bfdda4e2b20c - .quad 0x304cf48b1a182cb9, 0x309d2ab3b59164a6 - .quad 0x304682022c0d8296, 0x3096aeea740e7e26 - .quad 0x30417e72ed48d1c2, 0x3091a389017ca93c - .quad 0x303b30c9decefa86, 0x308b6dd2d215fccf - .quad 0x303520de188c8ff4, 0x308552ee415230cd - .quad 0x30306a7030db71fb, 0x308093620e33d9f9 - .quad 0x30298166f02e00aa, 0x3079c4336b720df7 - .quad 0x3023cfce2d301755, 0x30740629fd47fda6 - .quad 0x301ec63bac9af50a, 0x306f1e828f7f1e6e - .quad 0x3017e609b497d4bf, 0x30682d92bd0fbc5b - .quad 0x30128e89244647b5, 0x3062c8658b1c7fab - .quad 0x300cd07ee41894f6, 0x305d2def7b6139fb - .quad 0x30065e4eca3c47ce, 0x3056a9a29142865a - .quad 0x30015cbd7439af48, 0x3051995fff959855 - .quad 0x2ffaf324889fe32e, 0x304b549f742691f7 - .quad 0x2ff4e9c920d5db05, 0x3045380a4af4c2e9 - .quad 0x2ff03a122e1077b7, 0x304078d07375b0b0 - .quad 0x2fe92d9bd168c630, 0x3039921acfd99f39 - .quad 0x2fe388030ea8589c, 0x3033d867ecfb60a5 - .quad 0x2fde4c4faf832008, 0x302ecccda72dba49 - .quad 0x2fd77f4a046c515e, 0x3027e5deef2de87b - .quad 0x2fd2387f5f4b712e, 0x30228a511d87ce7d - .quad 0x2fcc413282821079, 0x301cc3995b1e2c40 - .quad 0x2fc5e78bc56d0fbb, 0x30164f5f80200f46 - .quad 0x2fc0faba5af01355, 0x30114d5424501d7e - .quad 0x2fba51f8a6830159, 0x300ad54bef9112d0 - .quad 0x2fb465b65a83bdbb, 0x3004ce07b8d50856 - .quad 0x2faf9c5589e7201f, 0x300020f8e226943e - .quad 0x2fa87dc5ad8af9ec, 0x2ff90123a8271991 - .quad 0x2fa2f918e4d3f95c, 0x2ff3613b89391a8f - .quad 0x2f9d6485a170413a, 0x2fee098381b76cd3 - .quad 0x2f96c3b66970be3d, 0x2fe7465697a54c64 - .quad 0x2f91a0fd8c3a4e6f, 0x2fe20858c20a1795 - .quad 0x2f8b4ce217bd5e55, 0x2fdbf05934cfa1cc - .quad 0x2f8522e259c7017a, 0x2fd5a41409f84e49 - .quad 0x2f805caa9cf257c4, 0x2fd0c2b83023243d - .quad 0x2f7954427a430b11, 0x2fc9f5672cf62a4f - .quad 0x2f739a5d07601e71, 0x2fc41985de8f7a14 - .quad 0x2f6e56c72cc01fcc, 0x2fbf1f5d5615d783 - .quad 0x2f67797a6e64ddc9, 0x2fb8179bfb69c631 - .quad 0x2f6229374c838060, 0x2fb2a5d1d1f1ae5c - .quad 0x2f5c18d454a503ae, 0x2facdd1c2bddbb9e - .quad 0x2f55bb5b3e414ad3, 0x2fa655e203c78ad0 - .quad 0x2f50ce808921de57, 0x2fa1481ab5a1469a - .quad 0x2f49fdfe587f056a, 0x2f9abd4ca4bd8884 - .quad 0x2f4418b54bd6a895, 0x2f94af20f59f283d - .quad 0x2f3f128f851039d9, 0x2f8fff032b2dbde7 - .quad 0x2f3804c6e03f60cb, 0x2f88be8c488684b4 - .quad 0x2f3290596a08a94f, 0x2f83223f2e5be0f0 - .quad 0x2f2cb1395c8187f6, 0x2f7d964d959533d1 - .quad 0x2f262bb1316ec5fc, 0x2f76df780d5ecc43 - .quad 0x2f21211a1b47d3ae, 0x2f71ae2302fd4bcd - .quad 0x2f1a772150026811, 0x2f6b5455f4e2ce45 - .quad 0x2f147143aa78b5fe, 0x2f651eade2a24279 - .quad 0x2f0f93996ba5e93d, 0x2f6051b3f15282e5 - .quad 0x2f08626f2553e204, 0x2f593760037df87a - .quad 0x2f02d4091cd12adc, 0x2f537ace1ccc1a8d - .quad 0x2efd1294db79df79, 0x2f4e17b7713cf17f - .quad 0x2ef6715149108678, 0x2f473db39c4b278b - .quad 0x2ef1529206516167, 0x2f41f27cc2724f90 - .quad 0x2eeabce28a1f17f2, 0x2f3bb70eb3792a1c - .quad 0x2ee4a1fe3e55f964, 0x2f35659e4463ddd1 - .quad 0x2edfd6eb54be7326, 0x2f308462ba9624db - .quad 0x2ed89049c51b8388, 0x2f297f4ffe1284a1 - .quad 0x2ed2f2b5e6789756, 0x2f23ad748e88c53f - .quad 0x2ecd3aa617478594, 0x2f1e5e5db98318a5 - .quad 0x2ec68a9e9f7b2f9a, 0x2f176e6798f53e9a - .quad 0x2ec161c2a1de488e, 0x2f121393590da64b - .quad 0x2ebacda38e82463b, 0x2f0be32dc731f12c - .quad 0x2eb4a9c33e05809a, 0x2f05824d30f3fce1 - .quad 0x2eafdaf4969fc450, 0x2f009660e736b8bd - .quad 0x2ea88d45a53c41c5, 0x2ef994b0856743cb - .quad 0x2ea2eba8f55fe897, 0x2ef3b9051c5e7679 - .quad 0x2e9d287e1e77c85a, 0x2eee689bae600601 - .quad 0x2e96770239fc87e6, 0x2ee77071c1633b26 - .quad 0x2e914e513c1b20dc, 0x2ee210a174166fcd - .quad 0x2e8aa90041143186, 0x2edbd7abebe480e6 - .quad 0x2e8488642c71cfa6, 0x2ed5740f6d4ed277 - .quad 0x2e7f9f9ce5a157bb, 0x2ed0874302ee34fd - .quad 0x2e785974997b931f, 0x2ec97701e51a6bfe - .quad 0x2e72bf0c37efc00b, 0x2ec39d3aac239fe2 - .quad 0x2e6cdc89092e43c3, 0x2ebe36341a88ea0c - .quad 0x2e6636f0e2785c54, 0x2eb743c5e4db43f9 - .quad 0x2e6118b19def65f8, 0x2eb1e9b8ad36fd99 - .quad 0x2e5a4fd2c459c710, 0x2eab94cde5e4fc30 - .quad 0x2e543ea7a73d5cf0, 0x2ea53b3a109a94ae - .quad 0x2e4f26454740b953, 0x2ea057635a1ed1df - .quad 0x2e47f60ab495565c, 0x2e9926f55b776f91 - .quad 0x2e426de8be09d876, 0x2e935abb1f1cadef - .quad 0x2e3c5889cb51dbb9, 0x2e8dc853b381e5a0 - .quad 0x2e35cbe6a335189c, 0x2e86e96e5d005f5d - .quad 0x2e30c22190c33c65, 0x2e819fc0dba0e848 - .quad 0x2e29c42b0a7816ac, 0x2e7b1c21d6e11086 - .quad 0x2e23ce41b9a97542, 0x2e74d91f3701143c - .quad 0x2e1e71ba6efe048b, 0x2e7007de792cfd6e - .quad 0x2e176552635a3b27, 0x2e68a6663a0ececb - .quad 0x2e11fa1c7f04e719, 0x2e62f310e41037d6 - .quad 0x2e0b9f88d1e59fb3, 0x2e5d2185735c5ad9 - .quad 0x2e0538582347c59e, 0x2e566381bdd98a02 - .quad 0x2e004c9ca3c242ad, 0x2e51346f1ba5a69a - .quad 0x2df9093a8968bba5, 0x2e4a706fd9470fb8 - .quad 0x2df339c31e0d51b7, 0x2e445000f1eec014 - .quad 0x2ded8619415342d3, 0x2e3f3510620184ea - .quad 0x2de6aa95f63dd017, 0x2e37f84791f6fdbb - .quad 0x2de16648113f6ec6, 0x2e32689bc620188b - .quad 0x2ddab5b65b277be7, 0x2e2c45998d7521ae - .quad 0x2dd47f9aad3382fe, 0x2e25b50e4b7d6356 - .quad 0x2dcf7591b1b1c875, 0x2e20aa3508d5db00 - .quad 0x2dc82335294ba260, 0x2e19959eb6f64db6 - .quad 0x2dc2848053b7dfb1, 0x2e13a2fb2a16d1cc - .quad 0x2dbc68a6f5a8ef62, 0x2e0e23b370697cbb - .quad 0x2db5c9ffcce7e5fd, 0x2e0720876851d9fb - .quad 0x2db0b5b54d487d35, 0x2e01be79c992aff6 - .quad 0x2da9a0421e5c5d71, 0x2dfb3980569c43a5 - .quad 0x2da3a5c4268d4e27, 0x2df4e1fc4f822568 - .quad 0x2d9e1fba80d34a41, 0x2df0042910b94342 - .quad 0x2d97172912ec21f8, 0x2de8908e30f7a1b3 - .quad 0x2d91b271db151968, 0x2de2d5e5a1b8288e - .quad 0x2d8b1f9ef2d6b135, 0x2ddce1b3b9ea6267 - .quad 0x2d84c872d1af92bc, 0x2dd623e8fb994f23 - .quad 0x2d7fd87064e02a6f, 0x2dd0f8695160ca38 - .quad 0x2d78652a61cdcd3b, 0x2dca031b186be289 - .quad 0x2d72af84a660968d, 0x2dc3eee8e04dc3a0 - .quad 0x2d6c9f07af149226, 0x2dbe8bd23cc416f0 - .quad 0x2d65eacf76fffc0c, 0x2db766e8d5583265 - .quad 0x2d60c80f3efbbf3f, 0x2db1ed2fab014c43 - .quad 0x2d59b1f8ffd8f3c8, 0x2dab76010ebb6c6a - .quad 0x2d53ab5d5023fe4a, 0x2da507d813502ab7 - .quad 0x2d4e1c174ea2aaa6, 0x2da01aa61c90eacc - .quad 0x2d470b05029068da, 0x2d98a90544ab274d - .quad 0x2d41a1fba21de5f0, 0x2d92e0fb0911dd84 - .quad 0x2d3afb70654af059, 0x2d8ce6f24739f7c7 - .quad 0x2d34a458b53b2a84, 0x2d861eefc532711f - .quad 0x2d2f944d95c81983, 0x2d80edb77098a960 - .quad 0x2d28272ab43f7156, 0x2d79e82e04d9025f - .quad 0x2d2278886c5a4d73, 0x2d73d237a2e0f859 - .quad 0x2d1c3f57b512a1f2, 0x2d6e5385c7d0efe0 - .quad 0x2d1598c52c5d1746, 0x2d673258d0b919eb - .quad 0x2d10828ad1da0983, 0x2d61bdb57d01cecc - .quad 0x2d093d4935512f54, 0x2d5b223e5e67d24a - .quad 0x2d034a3670d3cd59, 0x2d54bf43098a2ef1 - .quad 0x2cfd7b67cefff216, 0x2d4fb93db1e39a21 - .quad 0x2cf686e7356020d2, 0x2d48402d3eada60a - .quad 0x2cf135e695d6d4f8, 0x2d42892e31597360 - .quad 0x2cea4b6028e1ae52, 0x2d3c5502f868f04b - .quad 0x2ce415808da66669, 0x2d35a670a5d83e0e - .quad 0x2cdead51e60a821d, 0x2d308ac71830fd4e - .quad 0x2cd76cfe88ffbfa7, 0x2d29467d9d3bce7d - .quad 0x2cd1e2e61d740a91, 0x2d234ea92731d6f0 - .quad 0x2ccb4f6c22875415, 0x2d1d7e402cf49a21 - .quad 0x2cc4d8e03e448998, 0x2d16860e96265ba8 - .quad 0x2cbfd2c6816f010b, 0x2d1132f279000564 - .quad 0x2cb8494b75728df1, 0x2d0a4356bd52863e - .quad 0x2cb28836b62851b4, 0x2d040cac092d16a6 - .quad 0x2cac476ceb4ce0a6, 0x2cfe9bb8c8c45eaa - .quad 0x2ca592d26553a529, 0x2cf75c6ad9777c96 - .quad 0x2ca074be65f60432, 0x2cf1d3d889242361 - .quad 0x2c991a14719373e5, 0x2ceb34c7bf3e0108 - .quad 0x2c93248b33f78dd9, 0x2ce4c1bf325b5886 - .quad 0x2c8d316bfa6ecf07, 0x2cdfab351a6d7271 - .quad 0x2c8641dc398561ef, 0x2cd827d8b273a859 - .quad 0x2c80f79d08c027e2, 0x2cd26c35a8453a6e - .quad 0x2c79ddabce45ff88, 0x2ccc18e854f7a653 - .quad 0x2c73b6a0443345f1, 0x2cc56c727238c10e - .quad 0x2c6e0b830517633f, 0x2cc05545196af9e3 - .quad 0x2c66e4903f595976, 0x2cb8e6b62ae03487 - .quad 0x2c6170eca4e7a4ca, 0x2cb2facf384d3a3b - .quad 0x2c5a92756c27d93a, 0x2caceddf1e753b81 - .quad 0x2c543d40bf74392d, 0x2ca60b61e0028436 - .quad 0x2c4ed3e286c4c0de, 0x2ca0cbd09b1e5e10 - .quad 0x2c477993389df313, 0x2c9997719e8b73a8 - .quad 0x2c41dfa945eaae99, 0x2c937e77cf85ca37 - .quad 0x2c3b36ec5aa05880, 0x2c8db1e802a6c81f - .quad 0x2c34b749e64b35f5, 0x2c869d3aa6fccfd9 - .quad 0x2c2f88d823260c9e, 0x2c81383f4dd09079 - .quad 0x2c27ffa0f1fabb65, 0x2c7a388f33976b7b - .quad 0x2c2242e12375b352, 0x2c73f613589599c6 - .quad 0x2c1bc9a844ffd2b5, 0x2c6e635a66e3ebe7 - .quad 0x2c1523af73f84783, 0x2c6720bfb4a981d7 - .quad 0x2c10146a610e0588, 0x2c6199a49bcc5100 - .quad 0x2c087590d6d36008, 0x2c5ac8ae259e160c - .quad 0x2c0299b80ea6bb7f, 0x2c54609b0c4183ca - .quad 0x2bfc496292aa266b, 0x2c4f00af26520f9d - .quad 0x2bf5817f72c95e4c, 0x2c4794ce31e24c7b - .quad 0x2bf059392396d038, 0x2c41ef2877dbfcad - .quad 0x2be8da5a346cbb3f, 0x2c3b468dc95cb829 - .quad 0x2be2e36a9eb80d32, 0x2c34bd213115ac94 - .quad 0x2bdcb4fb203e18a0, 0x2c2f88862b544527 - .quad 0x2bd5cfe5be9615c7, 0x2c27f861b04cbe3a - .quad 0x2bd0923c6394f695, 0x2c22380a7a548a2f - .quad 0x2bc92d18166ccd51, 0x2c1bb1122f6e5762 - .quad 0x2bc31f510cb3f507, 0x2c150ad48dd9b3a6 - .quad 0x2bbd0b7c794af438, 0x2c0ff9ab8e5d6631 - .quad 0x2bb60e2f23228ded, 0x2c084a97f6b3e853 - .quad 0x2bb0bef1906dac58, 0x2c0273a4b16ba84f - .quad 0x2ba96d0ca88e4fc0, 0x2bfc07484e1da469 - .quad 0x2ba34ce1af3c1b60, 0x2bf549037ceef1fe - .quad 0x2b9d4c1f7c67dd18, 0x2bf0298e0fc06037 - .quad 0x2b963bcc0600e3b1, 0x2be88ab45875f419 - .quad 0x2b90def17046c37e, 0x2be2a16e161fa35f - .quad 0x2b8999a40ba75f42, 0x2bdc48699c75f345 - .quad 0x2b836bb3093bcf7f, 0x2bd5771e906a9978 - .quad 0x2b7d764e5657aa20, 0x2bd04a04a1699caa - .quad 0x2b7658528dc53bd5, 0x2bc8b822865b44e6 - .quad 0x2b70f1f1acd583c0, 0x2bc2c0fc98ac934c - .quad 0x2b69b2768ee2e280, 0x2bbc73df0b6d4334 - .quad 0x2b637b7d60833afb, 0x2bb594bab8ddacb1 - .quad 0x2b5d89a6c43f4c10, 0x2bb05dee05833b3c - .quad 0x2b5663803afd90e2, 0x2ba8d278c9cbfc58 - .quad 0x2b50f7c5f2e42650, 0x2ba2d206b997c2cc - .quad 0x2b49b74a41343d69, 0x2b9c89434d36542f - .quad 0x2b437c1bd3bb9cfe, 0x2b95a192e33cf627 - .quad 0x2b3d85fb90bdf218, 0x2b90651bc0c61b20 - .quad 0x2b365d3aea4b609e, 0x2b88d9799e5f2521 - .quad 0x2b30f0609e7aa674, 0x2b82d464a6b30dc2 - .quad 0x2b29a813d2878f74, 0x2b7c88645e6c88ee - .quad 0x2b236d8ce9d2217b, 0x2b759d89052b0525 - .quad 0x2b1d6b5543d3c940, 0x2b705f7d07f3fb02 - .quad 0x2b1645913a262a36, 0x2b68cd14a1185c8d - .quad 0x2b10dbd2f003b6a5, 0x2b62c810d60e767e - .quad 0x2b0984f6bfe67780, 0x2b5c714448c370a6 - .quad 0x2b034ff297cd534d, 0x2b5588a691f2cd1f - .quad 0x2afd39f201da2255, 0x2b504d1f01416963 - .quad 0x2af61cba521cabb4, 0x2b48ad66d03eba59 - .quad 0x2af0ba4cc94c45b3, 0x2b42ad281b8cc2a0 - .quad 0x2ae94e44c9a075e7, 0x2b3c44191b160ec2 - .quad 0x2ae32391bcecdc03, 0x2b35631c55b5d22c - .quad 0x2adcf2449a3fda4b, 0x2b302e2c911c7929 - .quad 0x2ad5e3150cc8eda4, 0x2b287aba1a7120bf - .quad 0x2ad08c1bf3c985fa, 0x2b2283e938a586f7 - .quad 0x2ac9047cb663bb8c, 0x2b1c014c17012593 - .quad 0x2ac2e8d117dfdd44, 0x2b152d41b7968429 - .quad 0x2abc94f2cb2815a8, 0x2b1002edb3674f27 - .quad 0x2ab599268900e7bc, 0x2b0835843f5f0b0c - .quad 0x2ab051aaf415041d, 0x2b024cb3e8b7d756 - .quad 0x2aa8a84869fc8267, 0x2afba9781881c8a9 - .quad 0x2aa2a037bab743e1, 0x2af4e79366e7a470 - .quad 0x2a9c22d2c350e306, 0x2aef978cc962d426 - .quad 0x2a953f982a03a248, 0x2ae7de65083f0e21 - .quad 0x2a900b7f70f68972, 0x2ae208076f18ea30 - .quad 0x2a883a7a5a0b9d4d, 0x2adb3d6740403453 - .quad 0x2a824a6b05eb3eda, 0x2ad492b17a8d9ad4 - .quad 0x2a7b9ce7efad864c, 0x2acf126a42ab2a64 - .quad 0x2a74d7351162fad8, 0x2ac77623e1a3ca2f - .quad 0x2a6f74706d1f613c, 0x2ac1b680aeae0c3c - .quad 0x2a67bc0a6e57fbc5, 0x2ababe0fed214bca - .quad 0x2a61e82c35430e3d, 0x2ab42f5d0cb0afeb - .quad 0x2a5b045f25c98b4b, 0x2aae77a20528f8f5 - .quad 0x2a5460e7202036c7, 0x2aa6fdace394b03c - .quad 0x2a4ebd15c07c2acd, 0x2aa158d7d54f1681 - .quad 0x2a472e125d540295, 0x2a9a2c9115542385 - .quad 0x2a417a558b9c184f, 0x2a93be755f8b210c - .quad 0x2a3a5a8a3f3de092, 0x2a8dc88f077bd369 - .quad 0x2a33ddb38ecb5b52, 0x2a86760d57bb9982 - .quad 0x2a2df2826b036578, 0x2a80efdda755dbb3 - .quad 0x2a2691c997f37f0e, 0x2a798a2e123c782e - .quad 0x2a2101d72c627ff7, 0x2a7340f49a722110 - .quad 0x2a19a0db3d2b8dac, 0x2a6d06b3f65f6fd0 - .quad 0x2a134eb72e63e592, 0x2a65e06fcff790f4 - .quad 0x2a0d166c8f34fca4, 0x2a607c787991a680 - .quad 0x2a05e880d9f1fe43, 0x2a58d849f54265f7 - .quad 0x2a007fb3b2ff1602, 0x2a52b7ec30262d2b - .quad 0x29f8d8df0cbffd52, 0x2a4c33b5a8ad639f - .quad 0x29f2b52265317648, 0x2a453e17e1a8afad - .quad 0x29ec2aa6bd34f17b, 0x2a3fff41d2913dab - .quad 0x29e5339d751ff2a1, 0x2a3818627da2e9e4 - .quad 0x29dfe9f93308c405, 0x2a32248100f21115 - .quad 0x29d80438073219de, 0x2a2b515531d535eb - .quad 0x29d21234fbc4a127, 0x2a24905d9b84e0cb - .quad 0x29cb31198aa5f8ab, 0x2a1ef4bcc5f71a72 - .quad 0x29c474946f304456, 0x2a174c0ac8d03b2b - .quad 0x29bec59d00f3fe38, 0x2a1187e74c209a91 - .quad 0x29b7249848679fa9, 0x2a0a6169b09c4411 - .quad 0x29b16739cec78bd4, 0x2a03d8a8ccb26cd9 - .quad 0x29aa2bbd0795adee, 0x29fddb87127c2076 - .quad 0x29a3ace589cd3352, 0x29f674e5d7be735c - .quad 0x299d949ad392f075, 0x29f0e35e84d33d3f - .quad 0x29963bbbf78651cc, 0x29e965d9f895d99c - .quad 0x2990b5827a3ba382, 0x29e3186c34406960 - .quad 0x29891c922f9ee4c0, 0x29dcb5d51a48d7d4 - .quad 0x2982de164c74e725, 0x29d594a1039f0199 - .quad 0x297c5941f108d9d1, 0x29d0382d1e479246 - .quad 0x29754b639c219649, 0x29c8609634a384cc - .quad 0x296ffcc62473097a, 0x29c25120afe02122 - .quad 0x2968059c757355ae, 0x29bb85e31314f4b4 - .quad 0x296209ad26ca18d9, 0x29b4acee7c0fcbaf - .quad 0x295b15e18d0d2d12, 0x29af0f38c6449ad9 - .quad 0x2954554e9983b016, 0x29a753919ff4b182 - .quad 0x294e865bf893f8f4, 0x29a1844080030d76 - .quad 0x2946e8db855aac9a, 0x299a4dede3a3eb93 - .quad 0x2941312cc0ae5d04, 0x2993bf7fe7aa33a0 - .quad 0x2939ccc1bfbf7ecb, 0x298da5e8d4d639ed - .quad 0x29335b35e7d0088e, 0x298640bc7176cda7 - .quad 0x292d0a5ff60b92cf, 0x2980b342b640cc13 - .quad 0x2925c84558f35d95, 0x2979102c47629cb9 - .quad 0x2920560f8bafb2c7, 0x2972ce013e375d0f - .quad 0x2918801ce509ea26, 0x296c36f07720a932 - .quad 0x29125ec7207b3c64, 0x296529fe13854ed9 - .quad 0x290b8b58f7c67c36, 0x295fbf2dc269c35d - .quad 0x2904a5c0b3b7424d, 0x2957cec854a40ddc - .quad 0x28fef3874e46141b, 0x2951da13f1aaaee6 - .quad 0x28f732197e24d857, 0x294ac4c46230c45c - .quad 0x28f1619ff0ea7ec6, 0x2944112fbeff8a1f - .quad 0x28ea0bb46a0a2c53, 0x293e15420dda8758 - .quad 0x28e383201c8ba71a, 0x29368bd97eb5b05d - .quad 0x28dd3b4e4b894768, 0x2930e54a78756b6b - .quad 0x28d5e4c4aaef0130, 0x292951c14f527745 - .quad 0x28d0654a030d3e70, 0x2922f8178dd14a04 - .quad 0x28c88dc03d1ca801, 0x291c6b6bf9361ee4 - .quad 0x28c2621d65152a67, 0x2915495f2949c65e - .quad 0x28bb860981f4834a, 0x290fe24891c8ca0c - .quad 0x28b49a0d4c97c281, 0x2907e02609a87253 - .quad 0x28aed66ed1143993, 0x2901e064158c947b - .quad 0x28a713a5a10cc9b0, 0x28fac4304f253262 - .quad 0x28a14455cbbff469, 0x28f4093bdea6e36f - .quad 0x2899d62205df47a6, 0x28edfe14a435c3c2 - .quad 0x289353bfdeb15aa4, 0x28e6720e3d624fdc - .quad 0x288ce97f23783a55, 0x28e0cba8970a9d66 - .quad 0x28859f649793ea9a, 0x28d921e961b81171 - .quad 0x28802b46c188f22d, 0x28d2cd3135c626d1 - .quad 0x28782dcfdba2d59c, 0x28cc2097f7f7c953 - .quad 0x287213830f44d648, 0x28c5096e15b063db - .quad 0x286b0639acae41c7, 0x28bf76b39886a20d - .quad 0x286432d063e4cc5a, 0x28b786c2636e4e2a - .quad 0x285e3096b161ade1, 0x28b196dc712e8651 - .quad 0x28568f1646f450cc, 0x28aa4c39680abb0b - .quad 0x2850dad51a121c5f, 0x28a3a80eb1934625 - .quad 0x28492ed52465cf13, 0x289d6196b3830612 - .quad 0x2842cf8cdb32b26d, 0x2895f4b3b930a91a - .quad 0x283c1934bb7035c1, 0x289067b3db09279e - .quad 0x2834fbc11c19c0b7, 0x2888832413bcb6f5 - .quad 0x282f5613cdc1ad52, 0x28824f8b72bbd6ee - .quad 0x28276547ab0f816a, 0x287b5a5bcacf14dd - .quad 0x2821770c93ef3136, 0x28746d8046ba690c - .quad 0x281a128a30d837eb, 0x286e8209bd7c6d4d - .quad 0x281375630e92b790, 0x2866c744b66f6406 - .quad 0x280d0a93cd8add1e, 0x2861015024fefc8d - .quad 0x2805ab4549d6cf15, 0x2859631ba1694964 - .quad 0x28002a8fed4a1944, 0x2852f2b3b1ae197d - .quad 0x27f81e6d5efc2ece, 0x284c47e5b8f9de0c - .quad 0x27f1fd54f3e20bfc, 0x28451a481761d265 - .quad 0x27ead523512d80ae, 0x283f7d2ff106229c - .quad 0x27e4023f854f9c86, 0x28377da522f79ec5 - .quad 0x27ddd649c8fad0d5, 0x283185a192bd02b4 - .quad 0x27d63e684c4d4572, 0x282a22ed5ef67f83 - .quad 0x27d094b5ecc6e290, 0x28237d9a85948033 - .quad 0x27c8b7643330549e, 0x281d10da89b8212a - .quad 0x27c26b65f14cd4da, 0x2815ab7d4224f7e2 - .quad 0x27bb734f53e57228, 0x2810276587fa1c20 - .quad 0x27b473b9d1931175, 0x280814bdb918424d - .quad 0x27ae78d8c6e84fdd, 0x2801f2684f2af658 - .quad 0x27a6b2a2c93cd65a, 0x27fabf540fb4e1a1 - .quad 0x27a0e7a7b055d281, 0x27f3eddfeeed0dd2 - .quad 0x27992d87cacce695, 0x27edb1c82f79707d - .quad 0x2792bf57b6e0d98d, 0x27e61ea0b7eb4c3c - .quad 0x278bea4f9488e121, 0x27e0799f1fb897d8 - .quad 0x2784c7d8bf7bdc41, 0x27d889f21fdb1d69 - .quad 0x277eef6b8bfa9225, 0x27d245c20ba28a39 - .quad 0x277705ed2bbfd521, 0x27cb3598a0d59840 - .quad 0x277121f1b69882eb, 0x27c4418fde75923e - .quad 0x27697ec608197c79, 0x27be27e05b6c31f9 - .quad 0x2762f7b0edc74f1c, 0x27b671af7f5d8858 - .quad 0x275c380c41f75030, 0x27b0b3d4442eda68 - .quad 0x2754fd20f15083b3, 0x27a8db341e4d4306 - .quad 0x274f37ea8d01e9c5, 0x27a27e37e3bc73c9 - .quad 0x274736cebb19a201, 0x279b83a639f29a80 - .quad 0x2741428c012e2c57, 0x27947730acf38edc - .quad 0x2739a9ae80c06018, 0x278e710d5155d028 - .quad 0x27331371c2b63b80, 0x2786a331ab64b688 - .quad 0x272c5b240b14f4d6, 0x2780d4fd25f7f52e - .quad 0x2725129ffd17a136, 0x27790712f4e38e37 - .quad 0x271f510ba62354a5, 0x27729ac951c1e60b - .quad 0x27174468acd1611c, 0x276ba819d5f14678 - .quad 0x271148e1d96c299e, 0x27648dce2dc3ecd5 - .quad 0x2709ad7d58aaba44, 0x275e8c0193d16d55 - .quad 0x2703121b71d77179, 0x2756b2456938b866 - .quad 0x26fc52f68dd90e64, 0x2750dc826696c76c - .quad 0x26f507f397188496, 0x27490cc63cdbf2a2 - .quad 0x26ef3a5bdf92c388, 0x27429af3c144f8c0 - .quad 0x26e72e7cbdbb95db, 0x273ba24cc0f4c8e2 - .quad 0x26e134d638b07143, 0x27348500e815d897 - .quad 0x26d98a2111174d79, 0x272e7841c45926d0 - .quad 0x26d2f3b409e1b7b6, 0x27269ea5b1b71301 - .quad 0x26cc1fa91a869695, 0x2720ca4195cda6d3 - .quad 0x26c4dd4c7d7ec9fa, 0x2718ec33daf13649 - .quad 0x26bef442d8796795, 0x27127eb66fea5e85 - .quad 0x26b6f56f0c0f22b9, 0x270b72598c77c448 - .quad 0x26b106c4a594a047, 0x27045cf12a60cb9a - .quad 0x26a9403b0e4bd1b9, 0x26fe36284e81b5ff - .quad 0x26a2b8c63e7468c1, 0x26f668ac570f2fc8 - .quad 0x269bc22598793379, 0x26f09e8e37ef2488 - .quad 0x2694936d06178106, 0x26e8a5f0c63b5c24 - .quad 0x268e7fffb3b16a7d, 0x26e2469273320bda - .quad 0x26869a431ed205a0, 0x26db191b44e70edf - .quad 0x2680bf7e7cce4d07, 0x26d41655d7606103 - .quad 0x2678d11ace4d8996, 0x26cdc6e2b76185d5 - .quad 0x2672625d4b960a47, 0x26c6114f58eab906 - .quad 0x266b3c139841a735, 0x26c05a2f4a403a4d - .quad 0x26642ba35d81be5c, 0x26b83b3c9af7ee45 - .quad 0x265ddf9fa6fc513a, 0x26b1f386e3013e68 - .quad 0x26561e943a26f542, 0x26aa9826f127d04d - .quad 0x26506044c28d2704, 0x26a3b26ef9596f74 - .quad 0x26483eb403668f94, 0x269d2c68adc24dd3 - .quad 0x2641f1fd15ed30fe, 0x26959a199b7c8167 - .quad 0x263a8fcbdc7eab51, 0x268ffcb2bfa5b8da - .quad 0x2633a7bfb4be9962, 0x2687adf828472cfd - .quad 0x262d15ee90987618, 0x2681870951a86a79 - .quad 0x2625848951944920, 0x2679f1bfa110cbba - .quad 0x261fd57d7b45b3ca, 0x267332fc55367264 - .quad 0x26178b8ffae32bf0, 0x266c696d39db75f3 - .quad 0x26116996dab0cd1e, 0x2665051f4ea04fdf - .quad 0x2609c046dcaa75a4, 0x265f194b2a4cb970 - .quad 0x26030a06c462f23e, 0x265700975cbb46aa - .quad 0x25fc2662350ce7fa, 0x265102fae0ec7794 - .quad 0x25f4cec5169fb931, 0x264928c588cfb6d9 - .quad 0x25eec1db7d8e44b5, 0x26429a3060c44f3a - .quad 0x25e6babae8929706, 0x263b814aa869e0e4 - .quad 0x25e0cb7ae5506e7e, 0x263454ee7edd0063 - .quad 0x25d8d106f7f4047e, 0x262e0e0b72e6ef2e - .quad 0x25d255213192c405, 0x2626360f251c2f1f - .quad 0x25cb1500fc71b69a, 0x2620699a6631f93f - .quad 0x25c40052c8ba04b4, 0x261840a0d97bb129 - .quad 0x25bd8a3d24511c07, 0x2611eaa023d58a69 - .quad 0x25b5cfadd7b97160, 0x260a77ea01d8b821 - .quad 0x25b01a47ddad3ea8, 0x26038c7c7057a652 - .quad 0x25a7c5ff3799c35b, 0x25fcdf6c504a93e5 - .quad 0x25a18c087e86a1f3, 0x25f551bff88c1175 - .quad 0x2599e64530b957f4, 0x25ef7ae8590bb800 - .quad 0x25931c908986e1a8, 0x25e73d293026bc2a - .quad 0x258c33b25da2082e, 0x25e12730a9790f69 - .quad 0x2584ce362055227e, 0x25d951a7082f394a - .quad 0x257eb1b0ae0a386a, 0x25d2af1081b22794 - .quad 0x2576a3779e1ff3b0, 0x25cb925bc48353e0 - .quad 0x2570b1f245435eea, 0x25c4575deb5305a2 - .quad 0x25689efddb97fd18, 0x25be029ff0fc8645 - .quad 0x256227180cb0a8ca, 0x25b6228a92a17423 - .quad 0x255ac39e8a7de062, 0x25b05302bb5e3a1a - .quad 0x2553ba5b5279aa24, 0x25a81331d3a2cc81 - .quad 0x254d145ea8ff6403, 0x25a1c02d69097c72 - .quad 0x25456df011e743b9, 0x259a2c1b0ae83a64 - .quad 0x253f94750d0f9308, 0x25934ad734ae6135 - .quad 0x2537442e7172840a, 0x258c703bfdc748cd - .quad 0x253123a683e9b9d5, 0x2584f5290291de6e - .quad 0x25293f94a8e393e5, 0x257ee2bb5a2a4470 - .quad 0x252298449094a080, 0x2576c16f34d9525e - .quad 0x251b62c8f87855a8, 0x2570c379a70923bc - .quad 0x25142a02f59d51ef, 0x2568b21b8919710f - .quad 0x250db09bb0ffb21f, 0x2562303a1b68b2de - .quad 0x2505daee76f997a8, 0x255ac9c706a79cfc - .quad 0x25001604a662bf4c, 0x2553b983b3f72fb5 - .quad 0x24f7ad33d50dacd0, 0x254d0b33fd9b6e85 - .quad 0x24f16c1e4c8c451a, 0x2545615904c6373a - .quad 0x24e9a32159dea0d8, 0x253f7950165d693d - .quad 0x24e2dc48781056c9, 0x253729dc070c926a - .quad 0x24dbbf2871addffb, 0x25310b9b38c6e833 - .quad 0x24d4684a4152d4e0, 0x2529154f9f73ee5f - .quad 0x24ce03df4eb2c204, 0x25227418ebfd96be - .quad 0x24c6120558a89b12, 0x251b26192fa2f36e - .quad 0x24c03a014bcb5352, 0x2513f7df7d25b3e6 - .quad 0x24b7db773a6f6623, 0x250d5ec232ba3385 - .quad 0x24b1893b9023690d, 0x250598c75ff21ea4 - .quad 0x24a9c6ba6a49465a, 0x24ffc1f9e46a53e2 - .quad 0x24a2f125d64e7642, 0x24f758c452444076 - .quad 0x249bd607b51aff83, 0x24f1294b791c6529 - .quad 0x2494735d5e25dd32, 0x24e939e692035be7 - .quad 0x248e0bb7795ebab2, 0x24e289cc9b3b4107 - .quad 0x248611962fb4b008, 0x24db3e5c199dc217 - .quad 0x248035217aa6e0ad, 0x24d40415be2c6028 - .quad 0x2477cd9c096da3b3, 0x24cd6871e2c76342 - .quad 0x24717a22cd2a508f, 0x24c599d2a64857ab - .quad 0x2469a95351e8c9f1, 0x24bfba952efabe51 - .quad 0x2462d63f329a8bcb, 0x24b74cc660d4897a - .quad 0x245ba6ba0cb47e2b, 0x24b11baa6a990cd8 - .quad 0x24544ae89d144108, 0x24a91ecc31adec4e - .quad 0x244dc7e8d1b8f556, 0x24a270b14a1f9816 - .quad 0x2445d9a42222275c, 0x249b11d883fd3ec1 - .quad 0x24400789e350bd1a, 0x2493ddca348b8e79 - .quad 0x2437840aaba80c98, 0x248d27f9dd765764 - .quad 0x24313f45ccd8c935, 0x24856472f42babf3 - .quad 0x24294bc9a9955f26, 0x247f6359d3980ea5 - .quad 0x24228c5f3eaf8edd, 0x2477063ccd1b83c6 - .quad 0x241b32a3c3e46a35, 0x2470e31f012ad2b3 - .quad 0x2413f01c91fe7f47, 0x2468c4cd2c02ec2d - .quad 0x240d3a718c61d154, 0x2462298481c2ca0d - .quad 0x24056bd3dd5a05c1, 0x245aa1de55237abc - .quad 0x23ff65222fadfc00, 0x2453861db33230b0 - .quad 0x23f700eb717cfb77, 0x244c9f401331dbf6 - .quad 0x23f0da5e12700c8d, 0x2444fa3a533642f6 - .quad 0x23e8b0da54d3c71f, 0x243ebed8656f1a7b - .quad 0x23e215aeed941b43, 0x2436873a105b43c2 - .quad 0x23da7d28bd609e50, 0x2430815216360470 - .quad 0x23d3659f3261d190, 0x24282e8d038330ca - .quad 0x23cc6770887b13f6, 0x2421b65bea6b7e6a - .quad 0x23c4cb570f463d9d, 0x2419f1b427ce89a2 - .quad 0x23be715dafe5cd60, 0x2412ff9fffd4f5f9 - .quad 0x23b6480ba9b1723c, 0x240bd241d06b6757 - .quad 0x23b04e575dd6f2eb, 0x24045e411382662b - .quad 0x23a7dcff6d521467, 0x23fdd1da1bc7ec85 - .quad 0x23a1759a98201ff3, 0x23f5d36e9f7af39c - .quad 0x23998b82586ccf2d, 0x23eff233639de02a - .quad 0x2392af6afc0ce651, 0x23e7606528b3cf28 - .quad 0x238b54f244df93df, 0x23e11a8b54a30c34 - .quad 0x2383fcc4e4385b18, 0x23d9066e8a3084ad - .quad 0x237d3abb2d5b9282, 0x23d24e2ffedd9f78 - .quad 0x23755eaec016b2b5, 0x23cac6e23cde6ac9 - .quad 0x236f3e576e5bfb2c, 0x23c394ff72563c26 - .quad 0x2366d6394041cb01, 0x23bca3259bb8013e - .quad 0x2360b0a8012d71fb, 0x23b4effb58fcce20 - .quad 0x2358647f7f3a91de, 0x23ae9cac23b8427e - .quad 0x2351d29e5c60946b, 0x23a6602f707600f3 - .quad 0x234a0aa72640fd47, 0x23a05a7bd790a4bc - .quad 0x234305e23384e58a, 0x2397e6b1b23c38f4 - .quad 0x233bc9e08de1532f, 0x239176cc55ca9b80 - .quad 0x23344b4e89c6a35f, 0x238984a277e8539a - .quad 0x232da366d9d2b975, 0x2382a417253e014b - .quad 0x2325a3c60cb2c6b1, 0x237b3b2c9b4277c6 - .quad 0x231f98800fc076db, 0x2373e333559670c8 - .quad 0x23171033226bf0af, 0x236d0b8591b88278 - .quad 0x2310d53e944a7e18, 0x236534ff7f271b4d - .quad 0x23089187f3d75a14, 0x235ef6ed82d51675 - .quad 0x2301ed5d0deddfb7, 0x23569a61d0edc9d2 - .quad 0x22fa28be72757b85, 0x23507f57aca805f1 - .quad 0x22f3154ef266983d, 0x234814481a9f253c - .quad 0x22ebd6d859990532, 0x2341921067277b5d - .quad 0x22e44dcd404b4fcd, 0x2339a3a7d2712f82 - .quad 0x22dd9cdf2aadd6a6, 0x2332b45137355f77 - .quad 0x22d5979672b76b96, 0x232b497e1657b91b - .quad 0x22cf7be424410479, 0x2323e6cfcc06ed27 - .quad 0x22c6f36e7903ba4f, 0x231d06cfa865bc4e - .quad 0x22c0ba8019bd4e86, 0x23152a47395ed2ae - .quad 0x22b8621eaa755f34, 0x230edca8e605e67a - .quad 0x22b1c4a9efdce654, 0x23067f77ef705254 - .quad 0x22a9e475b5aaea97, 0x2300660edcde1e02 - .quad 0x22a2dd03980220ac, 0x22f7e727aec99554 - .quad 0x229b7b478b8fda1c, 0x22f16b24c391593b - .quad 0x22940424c4fd21f7, 0x22e96221780dfe95 - .quad 0x228d276d459f43c7, 0x22e27e2788696d86 - .quad 0x22853aa8c500f5d0, 0x22daf1357749947c - .quad 0x227ee9c5073f397e, 0x22d39fac2bf7a531 - .quad 0x2276812e6a2e8fc0, 0x22cc9538eaa71fb0 - .quad 0x22706198ecffc0e0, 0x22c4d04b3a802aee - .quad 0x2267d857ef6fe55a, 0x22be4f0604536408 - .quad 0x22615a4dc243cc5f, 0x22b610a0b4ec8401 - .quad 0x225940cad97ee071, 0x22b00fbde3ac71c6 - .quad 0x22525f772e00c70a, 0x22a7614bf61d6bfa - .quad 0x224abb2fd3f529ef, 0x22a103beefa07650 - .quad 0x2243718d87e8a0af, 0x2298c2ef94786008 - .quad 0x223c48328a4346eb, 0x229203fa39242793 - .quad 0x2234910b37b4de72, 0x228a36313f8e64ec - .quad 0x222de8817c6f33b9, 0x228310e5f6fbfd44 - .quad 0x2225be6c950a7e6f, 0x227bbbb999bb060a - .quad 0x221f9ccdcf7c94fe, 0x22742afa66f9fdc1 - .quad 0x2216fa2fc442a9d3, 0x226d54340d9c375d - .quad 0x2210b2e58cb15f5c, 0x226552b1ae6aeaa2 - .quad 0x220844d490056942, 0x225f004e9f45a94b - .quad 0x2201a217943b9ac7, 0x22568887b7750462 - .quad 0x21f99edc3fa555f4, 0x2250605cdc8a1e5e - .quad 0x21f29c58e31af831, 0x2247ccfa0b55e3f7 - .quad 0x21eb08c96a2d341c, 0x22414b13fa04509f - .quad 0x21e3a2063aa9bfc9, 0x22392087a96ea8f4 - .quad 0x21dc831fc61280f7, 0x223240a6edc95f53 - .quad 0x21d4b37d15842e1d, 0x222a83b0db0fa5b6 - .quad 0x21ce0e63f582488b, 0x22234170d65d2fe5 - .quad 0x21c5d11b81c3fea7, 0x221bf6f703f6c8b1 - .quad 0x21bfab1b4f400c2e, 0x22144dcd884a52dc - .quad 0x21b6fb3ff8ccf41c, 0x220d7adc6f76430f - .quad 0x21b0ace5d20891a2, 0x2205661968fc8c68 - .quad 0x21a8324934a763f4, 0x21ff0fe41a3b588b - .quad 0x21a18d7d8058e531, 0x21f68ab147365bff - .quad 0x2199769602e7d2c4, 0x21f05b48bc57ed71 - .quad 0x21927797b62a04a4, 0x21e7bbf2311e9661 - .quad 0x218ac8851524d431, 0x21e137b41cf9c9a4 - .quad 0x21836b7751d5da7f, 0x21d8fa3947e525d9 - .quad 0x217c2874cefea298, 0x21d21d7603b6e2cc - .quad 0x2174695ee8470b66, 0x21ca45e3910021ac - .quad 0x216d96c311be3eb3, 0x21c30cd0207d04ed - .quad 0x216571909f179506, 0x21bb9f4dc504a668 - .quad 0x215f13cd05945d89, 0x21b40603dadb780a - .quad 0x2156844e0504f766, 0x21ad06d41c212c13 - .quad 0x21504ff770417c7e, 0x21a509522cc01f2f - .quad 0x2147a1d7e8c27e50, 0x219e7cd2184183eb - .quad 0x21411dc1d57f7df8, 0x219616fb7b910c11 - .quad 0x2138ca6e2e342651, 0x219000d1267395e3 - .quad 0x2131f372812d1e14, 0x21872f3f6faafe57 - .quad 0x2129fe4fa21e8c98, 0x2180cacf12619fe1 - .quad 0x2122d1356c845fd1, 0x2178525cca4f244d - .quad 0x211b3db9cc5a58f3, 0x21719c8ed29100e2 - .quad 0x2113b7359a6b9391, 0x216980913a0c5f1e - .quad 0x210c88e8c09b9bb2, 0x2162763b979d57b5 - .quad 0x2104a59cf5958098, 0x215aba192db244fd - .quad 0x20fde016eddfacad, 0x215357ff9fbc97f4 - .quad 0x20f59c942db45eae, 0x214bff2fa5de1e9d - .quad 0x20ef437cec9632b8, 0x21444204156d00fc - .quad 0x20e69c4293cefa3f, 0x213d500e0534289d - .quad 0x20e059a8a5ce0ce7, 0x21353470ed39dd97 - .quad 0x20d7a4cdf5c8de47, 0x212eacebdf5973c2 - .quad 0x20d117e42e10afc5, 0x21262f6cc2a62dbd - .quad 0x20c8b65a792fe140, 0x21200aff63626acf - .quad 0x20c1dc89fe4a5f8a, 0x2117331cb44dd6ec - .quad 0x20b9d10a7562f377, 0x2110c5bd0cbfba30 - .quad 0x20b2a7b1b1593291, 0x21083fa43f4f73d5 - .quad 0x20aaf4fe4d278bf9, 0x210186c76677c8f7 - .quad 0x20a37971726a776e, 0x20f955251a12574c - .quad 0x209c225447c48b85, 0x20f24e359c6528bb - .quad 0x209451dde15504ec, 0x20ea73bf0e7dcf7b - .quad 0x208d592869bae136, 0x20e31c1d70a5a26c - .quad 0x20853109f6b70a02, 0x20db9b8fd3b82ace - .quad 0x207e99944d35a898, 0x20d3f09320694d40 - .quad 0x20761706e7ea0b42, 0x20ccccb2e7856e93 - .quad 0x206fe3aefa4cdaa2, 0x20c4cba948866255 - .quad 0x206703e40ae0b133, 0x20be0741675f15a5 - .quad 0x20609bc65f9b8064, 0x20b5ad70c9e433d4 - .quad 0x2057f7aeba02f7ef, 0x20af4b51e95f89d5 - .quad 0x20514a9f8443d058, 0x20a695f8add0a062 - .quad 0x2048f272381e3222, 0x20a04c7c2a8ead79 - .quad 0x2041fe6a1ccca721, 0x2097854e0a5444cf - .quad 0x2039f437947f2743, 0x2090f822de49bc54 - .quad 0x2032b72bc2a1bb29, 0x20887b7be69a8c26 - .quad 0x202afd058f4d5cb9, 0x2081a8a41a9a7340 - .quad 0x202374e8637e822f, 0x2079788b1f83908e - .quad 0x201c0ce07e3f5247, 0x20725e0558a5c077 - .quad 0x201437a22e46ffc9, 0x206a7c824c7683f1 - .quad 0x200d23ca31c0220c, 0x2063184a6ce13b46 - .quad 0x2004ff5980398e02, 0x205b8765a48c0cf1 - .quad 0x1ffe41c1da9f8a5f, 0x2053d775743f06ae - .quad 0x1ff5cc0cd28b81e5, 0x204c9936e428a9d9 - .quad 0x1fef66c3f065ea05, 0x20449b86c1b194ce - .quad 0x1fe69db8a882e290, 0x203db1f5331fbe71 - .quad 0x1fe049650c331274, 0x2035647ccc18e717 - .quad 0x1fd774577e1faf4f, 0x202ed19d0b78718c - .quad 0x1fd0e2e586d3df5c, 0x202632541cab3ac0 - .quad 0x1fc84fe1b767669b, 0x201ff82820edeaab - .quad 0x1fc17fdd44e1dc6c, 0x201705073deb552a - .quad 0x1fb9304d9065a4b9, 0x201092c6a4a26abf - .quad 0x1fb220449767742a, 0x2007dc8eab3ed87a - .quad 0x1faa158f0df4c356, 0x20012ce032c827ce - .quad 0x1fa2c4123936432b, 0x1ff8b8e0c1372c25 - .quad 0x1f9aff97ef6163ed, 0x1ff1ca5926404568 - .quad 0x1f936b3b4511d82b, 0x1fe999f1ae9f978b - .quad 0x1f8bee57a0fbbbdc, 0x1fe26b285aeabdbe - .quad 0x1f8415b32c89327c, 0x1fda7fb366632c72 - .quad 0x1f7ce1bb2fa9523e, 0x1fd30f431387ee69 - .quad 0x1f74c36baf8c2285, 0x1fcb6a15925d0c25 - .quad 0x1f6dd9ad3d89a4a5, 0x1fc3b69cf0bd5608 - .quad 0x1f657454d4c97f21, 0x1fbc590587256b75 - .quad 0x1f5ed615f7bfd7d2, 0x1fb46127e8d37ba7 - .quad 0x1f56285ce2e2e29b, 0x1fad4c6e38ed7f06 - .quad 0x1f4fd6db0d73348e, 0x1fa50ed44039bd53 - .quad 0x1f46df705a8252f7, 0x1f9e4438317c2a1e - .quad 0x1f406defd40bdb09, 0x1f95bf9082dc8412 - .quad 0x1f379979f15ddb0d, 0x1f8f4049875ce630 - .quad 0x1f30f2823287afb6, 0x1f8673497e5a0d03 - .quad 0x1f2856628e34ac2c, 0x1f802042eb28efef - .quad 0x1f217913a85a33a7, 0x1f7729ea3d219a53 - .quad 0x1f19161145d0e326, 0x1f70a2671c8cdbee - .quad 0x1f120191f16dc709, 0x1f67e35c0288722e - .quad 0x1f09d86b59187f4e, 0x1f612680a24c58f5 - .quad 0x1f028be97e6e9065, 0x1f589f8647df9662 - .quad 0x1efa9d5434377e7b, 0x1f51ac7d823a316c - .quad 0x1ef31805749922c3, 0x1f495e4eba9494ca - .quad 0x1eeb64ad6eec66d3, 0x1f42344a7c981006 - .quad 0x1ee3a5cfae5998ec, 0x1f3a1f993b67371d - .quad 0x1edc2e56cdffce02, 0x1f32bdd30bebc795 - .quad 0x1ed43530bcc0ee3a, 0x1f2ae347debd3070 - .quad 0x1eccfa2e45eea63d, 0x1f23490165a1de50 - .quad 0x1ec4c60fe9d5cbc1, 0x1f1ba93aee1c301f - .quad 0x1ebdc80ffece4451, 0x1f13d5be7b8309a9 - .quad 0x1eb558533bc564e3, 0x1f0c7150ead1fd0e - .quad 0x1eae97d659702f92, 0x1f0463f1fe01b7da - .quad 0x1ea5ebdf78f85a03, 0x1efd3b6691d169e3 - .quad 0x1e9f6959f5cadd73, 0x1ef4f3825f642b00 - .quad 0x1e9680982d0eea8a, 0x1eee0756e0ca137b - .quad 0x1e901e38dd55bfc7, 0x1ee58454d7cf0720 - .quad 0x1e87165faec70a10, 0x1eded4fb1c7fef16 - .quad 0x1e8088796f5a0260, 0x1ed6164d6a338985 - .quad 0x1e77ad1726ce2f3c, 0x1ecfa42ad866b600 - .quad 0x1e70f3587953aeb5, 0x1ec6a94eea23ecd2 - .quad 0x1e68449e977fef01, 0x1ec03a5dffc21d0d - .quad 0x1e615ebef6827c9d, 0x1eb73d3b028fc2cf - .quad 0x1e58dcd4e591ac76, 0x1eb0a3416f4dd0f1 - .quad 0x1e51ca951b79a938, 0x1ea7d1f23d694b62 - .quad 0x1e497597e1aad586, 0x1ea10ca917d13a59 - .quad 0x1e4236c25d3c18a2, 0x1e9867540c340902 - .quad 0x1e3a0ec452e85047, 0x1e91767d933fa0f7 - .quad 0x1e32a32d78fe110f, 0x1e88fd3ed17c059f - .quad 0x1e2aa8360248e3ed, 0x1e81e0a6bf884441 - .quad 0x1e230fbc7c8ab284, 0x1e79938feb3469d1 - .quad 0x1e1b41c7c6ff8cc6, 0x1e724b0bc63cac6b - .quad 0x1e137c54cf4ab1fc, 0x1e6a2a23bdfb3241 - .quad 0x1e0bdb5393a7ccd2, 0x1e62b59324d7fd9b - .quad 0x1e03e8db3be9418c, 0x1e5ac0d5c13ef72a - .quad 0x1dfc74b284572b4c, 0x1e532022b5a4d882 - .quad 0x1df45533fa93710c, 0x1e4b57808c42df0b - .quad 0x1ded0dbced86364c, 0x1e438a9fb93eb860 - .quad 0x1de4c142bbcdb51b, 0x1e3bedfde3fbf9f1 - .quad 0x1ddda64a6bca7ad0, 0x1e33f4eee0ab230d - .quad 0x1dd52ceab3daa53b, 0x1e2c8426c9c266d4 - .quad 0x1dce3e31f45a0a96, 0x1e245ef458066425 - .quad 0x1dc5980ea6ad6692, 0x1e1d19d38acfc932 - .quad 0x1dbed549e6504cf2, 0x1e14c893d1bef1fe - .quad 0x1db60290f4619f98, 0x1e0daedbd083bb8e - .quad 0x1daf6b681cab013b, 0x1e0531b0925a021e - .quad 0x1da66c53a6323b06, 0x1dfe4316b16614af - .quad 0x1da00031007ac3e3, 0x1df59a2d7cbb3c39 - .quad 0x1d96d5387be7adf6, 0x1deed65ac2de0264 - .quad 0x1d904a064f4bdd38, 0x1de601ed1ee8e719 - .quad 0x1d873d20f9b5e73b, 0x1ddf687e2b942e41 - .quad 0x1d80931e5b5e6c43, 0x1dd668d1bf455ad8 - .quad 0x1d77a3ee7681856f, 0x1dcff956b675583b - .quad 0x1d70db636a632668, 0x1dc6cebd6a35f863 - .quad 0x1d6809822a836e1f, 0x1dc0445cf3250898 - .quad 0x1d6122bfb19eafe7, 0x1db73392002f5fc2 - .quad 0x1d586dbd3e416493, 0x1db08b3e84ebc2b9 - .quad 0x1d51691d609b1ec9, 0x1da79731441e1e21 - .quad 0x1d48d080d9d1c96d, 0x1da0d13aa83e4b01 - .quad 0x1d41ae66ac0b0b6a, 0x1d97f97cea22928b - .quad 0x1d3931ae34603f62, 0x1d91163bef9eebc1 - .quad 0x1d31f285d8d6c817, 0x1d885a56a6965552 - .quad 0x1d299126a3e88ca5, 0x1d815a2cf3193875 - .quad 0x1d223565474c154e, 0x1d78b9a03d510324 - .quad 0x1d19eecbad1cb519, 0x1d719cf85b21a11f - .quad 0x1d1276ef7e686add, 0x1d69173b9121e9f7 - .quad 0x1d0a4a7f136af77e, 0x1d61de88eb969b39 - .quad 0x1d02b70f3735b79f, 0x1d59730ab373bc61 - .quad 0x1cfaa422e918100d, 0x1d521ec98edb9593 - .quad 0x1cf2f5af68314ac2, 0x1d49cceff40f1fb1 - .quad 0x1ceafb999f61e5d4, 0x1d425da56105b758 - .quad 0x1ce332bb50b471fb, 0x1d3a24cdf0f0a2e7 - .quad 0x1cdb50c6169e961b, 0x1d329b07bb123c75 - .quad 0x1cd36e1e845638bb, 0x1d2a7a87a6267113 - .quad 0x1ccba38bae4baa67, 0x1d22d6dc3e1e1b47 - .quad 0x1cc3a7c4f63d9d53, 0x1d1ace007da9e0c8 - .quad 0x1cbbf3ce55012ad1, 0x1d13110ede9680ce - .quad 0x1cb3df9b045b81fc, 0x1d0b1f1c5f28dcc9 - .quad 0x1cac4172983c2f7e, 0x1d03498bef599a58 - .quad 0x1ca4158d828399ae, 0x1cfb6dbfbfb30836 - .quad 0x1c9c8c5db3f49157, 0x1cf380402cbf1542 - .quad 0x1c944989c55b9312, 0x1cebb9cfb13e7262 - .quad 0x1c8cd475a1f163ee, 0x1ce3b518c77fb7d2 - .quad 0x1c847b7dad17cf31, 0x1cdc0331f1f7ac71 - .quad 0x1c7d19a128cff8a4, 0x1cd3e8036f737914 - .quad 0x1c74ab57affd05a9, 0x1ccc49ccfb511d2c - .quad 0x1c6d5bc7eab14dfb, 0x1cc418ee5e1d890e - .quad 0x1c64d906e49e5535, 0x1cbc8d8810c585d4 - .quad 0x1c5d9ad27381fd3d, 0x1cb447c860fdcf2c - .quad 0x1c55047b0bcf6527, 0x1cacce4b4e41cdca - .quad 0x1c4dd6aa46d0f45c, 0x1ca47480e39f8181 - .quad 0x1c452da49a426b16, 0x1c9d0bffb62a59f5 - .quad 0x1c3e0f39ed2991f9, 0x1c949f07f95c9d66 - .quad 0x1c355474c1ca1f2b, 0x1c8d468f3ef07049 - .quad 0x1c2e446d00e60d84, 0x1c84c74e66ce3841 - .quad 0x1c2578dd7a37e92b, 0x1c7d7de4e02c6f6f - .quad 0x1c1e76303a6f7572, 0x1c74ed45aae1d60c - .quad 0x1c159ad189ced845, 0x1c6db1ec9f31f5e1 - .quad 0x1c0ea4717be0f8c8, 0x1c6510e0078c325e - .quad 0x1c05ba448d444792, 0x1c5de2939b1372f7 - .quad 0x1bfecf1fdc04a7db, 0x1c5532108a122ff3 - .quad 0x1bf5d72aff4768da, 0x1c4e0fc8180b06b8 - .quad 0x1beef62bb0a0594a, 0x1c4550cb12e0f1db - .quad 0x1be5f17a3f894e1d, 0x1c3e39798a3f0a89 - .quad 0x1bdf19869809eb8a, 0x1c356d045cee7811 - .quad 0x1bd60928993f7077, 0x1c2e5f989fd91cad - .quad 0x1bcf392381fab056, 0x1c2586b2049c7737 - .quad 0x1bc61e2d491b1f68, 0x1c1e82174a67122f - .quad 0x1bbf54f6b79a6d5f, 0x1c159dca8e17880f - .quad 0x1bb6308082b0b65c, 0x1c0ea0e8c77dc629 - .quad 0x1baf6cf5e2bb03dc, 0x1c05b2456b2d3672 - .quad 0x1ba6401b7549eebb, 0x1bfebc01a8965943 - .quad 0x1b9f8118143e7eb0, 0x1bf5c41b0093e8e9 - .quad 0x1b964cf8501f223b, 0x1beed357da1f18ba - .quad 0x1b8f9155c9a1fbd1, 0x1be5d344aaa010f1 - .quad 0x1b86571245f3d39a, 0x1bdee6e2a9b9efd0 - .quad 0x1b7f9da8f1a8a0cc, 0x1bd5dfbcc1628fd2 - .quad 0x1b765e6590135a00, 0x1bcef69acba2f951 - .quad 0x1b6fa60cf0228aad, 0x1bc5e97e9c2cbc7f - .quad 0x1b6662ef70ab154b, 0x1bbf027a5f3a7f56 - .quad 0x1b5faa7ea0cc6ecb, 0x1bb5f0869476fb64 - .quad 0x1b5664ae34801e0e, 0x1baf0a7cf2ae7563 - .quad 0x1b4faafc59456a8c, 0x1ba5f4d2082760f5 - .quad 0x1b4663a133fef350, 0x1b9f0e9f85c03b41 - .quad 0x1b3fa785ea194bf2, 0x1b95f65f5b366281 - .quad 0x1b365fc8d3a43882, 0x1b8f0ee08ba43cd5 - .quad 0x1b2fa01c9ede6a16, 0x1b85f52df8b025d3 - .quad 0x1b26592683be2829, 0x1b7f0b3febf9cbcd - .quad 0x1b1f94c33d66f35b, 0x1b75f13e53118eaa - .quad 0x1b164fbcbf86f1ab, 0x1b6f03bf02da5a7a - .quad 0x1b0f857e040665a0, 0x1b65ea91e400b8af - .quad 0x1b06438f0b98cab0, 0x1b5ef860a0000a7a - .quad 0x1aff7252a6ecb2bb, 0x1b55e12b2b611c72 - .quad 0x1af634a1f3bd0d7e, 0x1b4ee92905044d53 - .quad 0x1aef5b484c995f72, 0x1b45d50dadc42d9d - .quad 0x1ae622fb08184d56, 0x1b3ed61de2b81fc4 - .quad 0x1adf40678969b4f4, 0x1b35c63df237cf4d - .quad 0x1ad60ea0d9b5d711, 0x1b2ebf4655983167 - .quad 0x1acf21ba5a45e2af, 0x1b25b4c17f7488b1 - .quad 0x1ac5f79af6759efd, 0x1b1ea4aae160108a - .quad 0x1abeff4c1e71b057, 0x1b15a09ed86def16 - .quad 0x1ab5ddf1e460242c, 0x1b0e86556bc034fe - .quad 0x1aaed92990861c73, 0x1b0589dd784842f0 - .quad 0x1aa5c1af1c6454be, 0x1afe6451363b8311 - .quad 0x1a9eaf60be99fa59, 0x1af57085cdb6c23e - .quad 0x1a95a2dd0483fd76, 0x1aee3eaad7319948 - .quad 0x1a8e820101a05296, 0x1ae554a135c6b3d2 - .quad 0x1a858186e973c8cb, 0x1ade1570321beee3 - .quad 0x1a7e511af403f0e1, 0x1ad53639f61bab8b - .quad 0x1a755db8f7b445c6, 0x1acde8b06f0475d8 - .quad 0x1a6e1cc067882b19, 0x1ac5155b36a1ff17 - .quad 0x1a6537803429dd3d, 0x1abdb87bf13d1856 - .quad 0x1a5de5045a77840f, 0x1ab4f210fabcd4fe - .quad 0x1a550eea743a03b0, 0x1aad84e44d6006fd - .quad 0x1a4da9faec295ac1, 0x1aa4cc6819f5a3a9 - .quad 0x1a44e406557456e3, 0x1a9d4dfc3ea1615f - .quad 0x1a3d6bb950e85a76, 0x1a94a46e38335bf7 - .quad 0x1a34b6e334ceafc3, 0x1a8d13d79b7b4d75 - .quad 0x1a2d2a55c543d97b, 0x1a847a31bd7fd98a - .quad 0x1a248791257b832e, 0x1a7cd68b49be13bd - .quad 0x1a1ce5e780d6c294, 0x1a744dc1cd628aec - .quad 0x1a145620e7623619, 0x1a6c962d320e4c77 - .quad 0x1a0c9e86a88f07ff, 0x1a641f2e3dd79383 - .quad 0x1a0422a3dd414b5e, 0x1a5c52d432db963c - .quad 0x19fc544c4080f626, 0x1a53ee878deaf1c1 - .quad 0x19f3ed2c02828af5, 0x1a4c0c9812daaed1 - .quad 0x19ec07521d52071e, 0x1a43bbdedbff7430 - .quad 0x19e3b5cbe0c97302, 0x1a3bc391730e1bf4 - .quad 0x19dbb7b2d547171a, 0x1a338745dbc97fd1 - .quad 0x19d37c9685446b6b, 0x1a2b77d9c068db21 - .quad 0x19cb6589b1020c3e, 0x1a2350cecc05d9cf - .quad 0x19c3419f75c953bc, 0x1a1b298b2516cc35 - .quad 0x19bb10f29bfb2a68, 0x1a13188c6bf4cd49 - .quad 0x19b304faa5c619af, 0x1a0ad8c07976bbc0 - .quad 0x19aaba0a14c264cc, 0x1a02de91f0a22435 - .quad 0x19a2c6bc6b0e1424, 0x19fa859534d21642 - .quad 0x199a60ed1d150c44, 0x19f2a2f2fa027fc3 - .quad 0x199286f9728ce321, 0x19ea30255dde65be - .quad 0x198a05b929d439ab, 0x19e265c387eea954 - .quad 0x198245c6b4e79163, 0x19d9d88d7b14c6d3 - .quad 0x1979a88c12e847c2, 0x19d22717ef05792f - .quad 0x197203396b14a770, 0x19c97eea82eb8229 - .quad 0x19694984031d9858, 0x19c1e704cd7ceb7c - .quad 0x1961bf6702f3caf4, 0x19b92359cbfdea74 - .quad 0x1958e8bf6806bcab, 0x19b1a59effeaeef1 - .quad 0x19517a6513ed67fa, 0x19a8c5f8fd2e86f6 - .quad 0x1948865ce1efe9b6, 0x19a162fb960e6361 - .quad 0x1941344953a2bc16, 0x199866e5fdcf6e5c - .quad 0x1938227b33ef66f4, 0x19911f2fc7a0a0a9 - .quad 0x1930ed298ab66e97, 0x1988063ee5dc8676 - .quad 0x1927bd39341e60d2, 0x1980da50e937b941 - .quad 0x1920a51b89b5ac38, 0x1977a421ee53231b - .quad 0x191756b5bc0538cf, 0x1970947461417eb2 - .quad 0x19105c351e298147, 0x196740ad61b23997 - .quad 0x1906ef0f9946142e, 0x19604daf9d1f19d0 - .quad 0x1900128c07d7eac9, 0x1956dbff8cae0f32 - .quad 0x18f686657e900799, 0x195006180668cd93 - .quad 0x18ef906bdc779cfc, 0x19467636af21f0cb - .quad 0x18e61cd5f4e4d33c, 0x193f7b85f0c272bb - .quad 0x18defa90ac757637, 0x19360f70ed4a200e - .quad 0x18d5b27f4d3aafaf, 0x192ee98b6b3e4f34 - .quad 0x18ce63b1303dfbfb, 0x1925a7cc414fb8aa - .quad 0x18c5477f92833195, 0x191e566abbe94f87 - .quad 0x18bdcbf7abb88524, 0x19153f666d2fde17 - .quad 0x18b4dbf47c1fc8a0, 0x190dc24dc933bf6d - .quad 0x18ad338de3492428, 0x1904d65ced070949 - .quad 0x18a46ffb60cbd760, 0x18fd2d5e0d435050 - .quad 0x189c9a9d09a6515f, 0x18f46ccce9c8cdf5 - .quad 0x189403b12a03d499, 0x18ec97c4837b573e - .quad 0x188c014dae645fc3, 0x18e402d32c6be96d - .quad 0x1883973247f05596, 0x18dc01a996aebdb3 - .quad 0x187b67c7ad400b86, 0x18d3988c1191e211 - .quad 0x18732a9aa5db4bb3, 0x18cb6b3510058b7a - .quad 0x186ace321e309c7b, 0x18c32e137db0ef23 - .quad 0x1862be059f3526f7, 0x18bad48e069f2207 - .quad 0x185a34b346493cc3, 0x18b2c384d1c64d5b - .quad 0x1852518df52ef492, 0x18aa3ddacff96f65 - .quad 0x18499b70897047dc, 0x18a258fae0968e74 - .quad 0x1841e54dc4edf3a3, 0x1899a740f1248851 - .quad 0x1839028e5cf277c7, 0x1891ee8fe480d92c - .quad 0x1831795e7e5c7cca, 0x188910e510c93fe1 - .quad 0x18286a303af6f699, 0x1881845d75e974c6 - .quad 0x18210dd8db9b7b20, 0x18787aeaea087811 - .quad 0x1817d27896d87b8e, 0x18711a7c823f5ff5 - .quad 0x1810a2d4d917179a, 0x1867e57540380a90 - .quad 0x18073b88d266bc5a, 0x1860b10543a01766 - .quad 0x18003869ae409b27, 0x185750a5d3814d59 - .quad 0x17f6a58134129f18, 0x1850480f391c14fc - .quad 0x17ef9d5b8ddde221, 0x1846bc9d56645be6 - .quad 0x17e61080de06bfb0, 0x183fbf623f3bedba - .quad 0x17decb6d7acd34f7, 0x1836297b642274f2 - .quad 0x17d57ca5c62d05dd, 0x182ef001d6eb49df - .quad 0x17cdfb32aa129cc6, 0x1825975e7810e700 - .quad 0x17c4ea0caf213789, 0x181e222785106b16 - .quad 0x17bd2cd2eb59de4c, 0x18150663e5d53392 - .quad 0x17b458d1220fa79d, 0x180d55fbee497e00 - .quad 0x17ac60744f31e198, 0x180476a7d28a437b - .quad 0x17a3c90d697e5b5d, 0x17fc8ba606fb6833 - .quad 0x179b963b20518321, 0x17f3e8452ecdbe84 - .quad 0x17933ada8cfe418f, 0x17ebc34b0b8bbc60 - .quad 0x178ace49de2283ae, 0x17e35b55b1b3d652 - .quad 0x1782ae504dc15f24, 0x17dafd0e79df00eb - .quad 0x177a08c1388db34f, 0x17d2cff1d49f192c - .quad 0x1772238524122580, 0x17ca39120c175c51 - .quad 0x176945c00d028182, 0x17c24630cff92d39 - .quad 0x17619a8e3da77fbe, 0x17b97775b48ec1aa - .quad 0x1758856364b336c5, 0x17b1be2898c8a8a4 - .quad 0x1751137f7cd08642, 0x17a8b8579b06ca2c - .quad 0x1747c7c673fe436e, 0x17a137eddf1f97ae - .quad 0x17408e6b787233ba, 0x1797fbd41b078795 - .quad 0x17370d029afc4472, 0x1790b3940d5da6fc - .quad 0x17300b637cd0ec0b, 0x17874205c365c73e - .quad 0x1726552f6729a259, 0x1780312d48405757 - .quad 0x171f14ef1a3e4ac2, 0x17768b0556e87723 - .quad 0x1715a06296220023, 0x176f6194df7630e5 - .quad 0x170e176ccb941b53, 0x1765d6e9ce0425a7 - .quad 0x1704eeb0196310cd, 0x175e64f64121563e - .quad 0x16fd1e5afef936da, 0x175525c859a2ea9a - .quad 0x16f4402a1b0bd9df, 0x174d6c9b6d4d6fc5 - .quad 0x16ec29d225a230e3, 0x174477b466ee6cc1 - .quad 0x16e394e1038ce88e, 0x173c789ea0183d02 - .quad 0x16db39e83951bdaa, 0x1733ccbfa4112a58 - .quad 0x16d2ece3803d8d68, 0x172b8917a154498b - .quad 0x16ca4eb0c6436cf4, 0x172324fa05e3adc4 - .quad 0x16c2483e8ac9d061, 0x171a9e1bcd30af1f - .quad 0x16b9683cf6400112, 0x17128071ce79e917 - .quad 0x16b1a6fd716c7c18, 0x1709b7be1e1550cb - .quad 0x16a8869b9cc95345, 0x1701df33948493fa - .quad 0x16a10929dfe85b79, 0x16f8d60f37a227b9 - .quad 0x1697a9d9444b613e, 0x16f1414a4b7a1729 - .quad 0x16906ecbe9338feb, 0x16e7f91d72bfd333 - .quad 0x1686d2003c3fdf54, 0x16e0a6bf4c7a4f95 - .quad 0x167fafd4238f8063, 0x16d720f4eaaf4bbb - .quad 0x1675ff18a8317f0a, 0x16d00f9a5fe04069 - .quad 0x166e8912b5139031, 0x16c64d9f8b065b73 - .quad 0x166531288f8c01c7, 0x16bef7c38ee94e41 - .quad 0x165d695a98770e4b, 0x16b57f251e86550e - .quad 0x16546833ee262b10, 0x16add73492689d20 - .quad 0x164c50b006d4e015, 0x16a4b58b5eba6cc7 - .quad 0x1643a43cc572b3d3, 0x169cbd8e7539eac7 - .quad 0x163b3f14799b1616, 0x1693f0d6044b145d - .quad 0x1632e5432e458097, 0x168baad518e7426e - .quad 0x162a3486c40b74f1, 0x16833106d7f3cac9 - .quad 0x16222b456b1a8db7, 0x167a9f09adee91e3 - .quad 0x161931032d667261, 0x1672761dc408f1ef - .quad 0x1611763ffacc46ac, 0x16699a2acce5bd7f - .quad 0x160834838ba6fe3d, 0x1661c018e67b6eae - .quad 0x1600c62daba74e7c, 0x16589c349043d67e - .quad 0x15f73eff5eb5eca5, 0x16510ef4a3481a29 - .quad 0x15f01b07aeca1f42, 0x1647a520aeb63fae - .quad 0x15e6506bebfc67bd, 0x164062abb7415c63 - .quad 0x15dee98b577ea7ca, 0x1636b4e695e9099f - .quad 0x15d568bc5a3d72ee, 0x162f766e96435041 - .quad 0x15cda6bba883d22a, 0x1625cb7b85aa6067 - .quad 0x15c487e1cd9f3e43, 0x161e311e0dabf963 - .quad 0x15bc6d89f0368fc1, 0x1614e8d2ab5187d6 - .quad 0x15b3adcb83cdccc3, 0x160cf55249e0172a - .quad 0x15ab3ddd3216f86e, 0x16040cdd3d52967c - .quad 0x15a2da66f0214306, 0x15fbc2f50c60488e - .quad 0x159a1799fd5925f4, 0x15f3378a96e8e29a - .quad 0x15920d9fd7b31257, 0x15ea99ed8a2f2e6b - .quad 0x1588faa294857a39, 0x15e268c853c2e48d - .quad 0x158147606d4e1ee3, 0x15d97a2092e9b19d - .quad 0x1577e6d714d6fce7, 0x15d1a0826b9b2f1e - .quad 0x157087916d26f37c, 0x15c86370b7b69b46 - .quad 0x1566dc159d3dbce3, 0x15c0dea34dab05c3 - .quad 0x155f9c3470942341, 0x15b755be71f29fea - .quad 0x1555da3a74ec8bc7, 0x15b02313fbe40a01 - .quad 0x154e35c1df5edf07, 0x15a650e8497f58cd - .quad 0x1544e120315adc06, 0x159edb784bbee452 - .quad 0x153cdb951dc67cbf, 0x159554cafa9d0c34 - .quad 0x1533f09fdba5037e, 0x158d7d0486e476cc - .quad 0x152b8d760c6a3faa, 0x158461419b3892c2 - .quad 0x152308911536a23d, 0x157c2a975dad9be0 - .quad 0x151a4b2aa8c000ca, 0x15737625bf981bdb - .quad 0x151228ca3bac6e07, 0x156ae3f97cbb25ce - .quad 0x150914773f3bbbac, 0x1562934f9e530bad - .quad 0x150151208bdc254e, 0x1559a8f1bb2e0d78 - .quad 0x14f7e91e9c37a26b, 0x1551b8963382a860 - .quad 0x14f0816843f2edd8, 0x154879454bd5bf1a - .quad 0x14e6c8e23b87885f, 0x1540e5cf631ac83b - .quad 0x14df72e98937c4f8, 0x153754b7ed21d736 - .quad 0x14d5b38276a48ea0, 0x15301ad01a5b2dd0 - .quad 0x14cdf23162441e8b, 0x15263b0c17c2af00 - .quad 0x14c4a8beb16012ed, 0x151eaed8e09770ed - .quad 0x14bc804c1d0522eb, 0x15152c032be62aab - .quad 0x14b3a855850eeeea, 0x150d36ef8a6e08fa - .quad 0x14ab1cdcc2ca0214, 0x1504275d9d00481d - .quad 0x14a2b204ea20186e, 0x14fbcd89c2310d59 - .quad 0x1499c78595e362ce, 0x14f32cdb1c10f0ee - .quad 0x1491c58a6013aaee, 0x14ea724c21e93002 - .quad 0x14887fe848fd6bff, 0x14e23c3ac05a8c19 - .quad 0x1480e2a313c94bb5, 0x14d924da86249080 - .quad 0x147745a6341bd9d3, 0x14d1553b2e7eba16 - .quad 0x1470090c041eb55f, 0x14c7e4d844204d5f - .quad 0x14661860872f36c7, 0x14c0779abdf88654 - .quad 0x145e710449b20327, 0x14b6b1e85d9cfdc3 - .quad 0x1454f7b87a3ccd22, 0x14af462f39da55f5 - .quad 0x144ce184ffaa0275, 0x14a58badb2559681 - .quad 0x1443e34f7b15484d, 0x149daedfe49c8a9f - .quad 0x143b6314a8f93441, 0x149471cb2f12adec - .quad 0x1432dac758984610, 0x148c28c3fc94131b - .quad 0x1429f52e6b0168fb, 0x148363e3fa566830 - .quad 0x1421ddc26b854422, 0x147ab358720f461f - .quad 0x1418974e49b18481, 0x1472619b9e9f9276 - .quad 0x1410ebe3bcdc6652, 0x14694e1adf5ef17a - .quad 0x140748f15c14a990, 0x14616a96324493c1 - .quad 0x140004cf29d383af, 0x1457f889bf8109c7 - .quad 0x13f60995fd7916b4, 0x14507e787ce8decb - .quad 0x13ee50530acb7a2b, 0x1446b224a16aa4e0 - .quad 0x13e4d8bbfb38c980, 0x143f39d03522ee6e - .quad 0x13dcab316f0b29de, 0x14357a6c57f8fed2 - .quad 0x13d3b5e4bf3051bb, 0x142d8b1738bdcb74 - .quad 0x13cb1987b3f62cd2, 0x142450e32693ba8d - .quad 0x13c2a09376f26716, 0x141bf0154de94403 - .quad 0x13b99aa6a5f22416, 0x1413350cea8cd61a - .quad 0x13b1984d37c8d151, 0x140a681c1d2f0b94 - .quad 0x13a82de1daeb9c47, 0x1402266f414ce57b - .quad 0x13a09c991f950457, 0x13f8f27fe21c9591 - .quad 0x1396d28fdea9871a, 0x13f12491ab5c17d9 - .quad 0x138f5a00e548f085, 0x13e78e979aa0c9be - .quad 0x1385880a5ae03598, 0x13e02efdac5a4ff4 - .quad 0x137d921d6d1c821b, 0x13d63bbd32217718 - .quad 0x13744dae3b23367b, 0x13ce8a7dcff4677c - .quad 0x136be0a394617721, 0x13c4f94da865b2a3 - .quad 0x136322dbccd73cab, 0x13bccdc67829105b - .quad 0x135a44b3f5ce9c8b, 0x13b3c6a934743c05 - .quad 0x135206f6db46b930, 0x13ab26f5afd4ebc9 - .quad 0x1348bd742e227a38, 0x13a2a3336386b4d7 - .quad 0x1340f966c7fd2396, 0x13999530a15ce61a - .quad 0x13374a0efc06d36e, 0x13918e533433f227 - .quad 0x132ff32d3f1c0a49, 0x138817a166d90dbd - .quad 0x1325e9b45aff1be0, 0x138087732df4f3ab - .quad 0x131e0dea55db81c4, 0x1376ad7728d6db01 - .quad 0x13149b9999981d6c, 0x136f1c02ea5235f3 - .quad 0x130c41e9fb058b1e, 0x136555e63841a093 - .quad 0x13035ef96b0fe655, 0x135d42dfb77e321e - .quad 0x12fa8e19002cb47f, 0x1354102823a6a0a2 - .quad 0x12f23313f4adb099, 0x134b8267dd51660d - .quad 0x12e8f16bf19917ac, 0x1342db7bc80b123e - .quad 0x12e1172ed701cd40, 0x1339d98e007ff597 - .quad 0x12d76adf2095d808, 0x1331b7255d8af1ce - .quad 0x12d00a953345bce4, 0x1328474c5f89cf1f - .quad 0x12c5f976a86ba7a3, 0x1320a26e7ff7c8a0 - .quad 0x12be192f5a290a0d, 0x1316caa4dc34bcc6 - .quad 0x12b49c3e6e576cf8, 0x130f394c675d5da1 - .quad 0x12ac3918d16606af, 0x130562a0ffd36fef - .quad 0x12a3524a1ccb90ce, 0x12fd4a41cdb95576 - .quad 0x129a739e0c3f00b3, 0x12f40e51faa74ee4 - .quad 0x12921ab51a49a640, 0x12eb7670ded07be7 - .quad 0x1288c781323e2b8b, 0x12e2ccd09eaa3410 - .quad 0x1280f4a27c210b83, 0x12d9bc980b6cd88b - .quad 0x1277338f3cfd4b18, 0x12d19d3d560c7458 - .quad 0x126fbe79eabbab8b, 0x12c81b807901b2dd - .quad 0x1265b69fdd784131, 0x12c07ec015b26bbf - .quad 0x125db36d8463b3e1, 0x12b691fdebe382be - .quad 0x12544f955c9776f6, 0x12aee11097f70374 - .quad 0x124bc693203fe92c, 0x12a51eeeac7320be - .quad 0x1242fd5c7756dd24, 0x129ce39998362bf9 - .quad 0x1239f66cc65fb2cb, 0x1293c13b67a17ff2 - .quad 0x1231beec36eb8502, 0x128b03976c943068 - .quad 0x1228418af0dd65ed, 0x128277d70b2ebc6f - .quad 0x12209345c546e7cd, 0x12793f94ba2c6b6a - .quad 0x1216a68c4bfd764b, 0x127141be9e049453 - .quad 0x120ef2e87ca7b717, 0x1267962a50231832 - .quad 0x1205241d71eb6e19, 0x12601df915097b64 - .quad 0x11fce118fc8beeea, 0x125605fee84767f0 - .quad 0x11f3b8f8a28fd848, 0x124e172e498cd2fc - .quad 0x11eaef59daa19c93, 0x12448dc6e3757e71 - .quad 0x11e263e577f574d0, 0x123c1366206ca036 - .quad 0x11d91bfa9231de5c, 0x12332c440230ef3a - .quad 0x11d123b897af1af4, 0x122a2ee0ea25a216 - .quad 0x11c7655cd85a2773, 0x1221e04519eb8f87 - .quad 0x11bfeea6c3554149, 0x121867f82bdccb8f - .quad 0x11b5c9f427a491a4, 0x1210a8a5c7678dff - .quad 0x11adbb4739afff2e, 0x1206bd1744d1513e - .quad 0x11a4484548d479a3, 0x11ff089c3d3d8b6f - .quad 0x119bab46440d8e4b, 0x11f52cbafb8bc99f - .quad 0x1192dee5d96e696e, 0x11ece464b1286c0d - .quad 0x1189bcaf0aad775c, 0x11e3b571085ef9db - .quad 0x11818c7bd07b007f, 0x11dae2a4fedee59c - .quad 0x1177eda37d26ae66, 0x11d255d79dbe3905 - .quad 0x11704fbd01fd3b9a, 0x11c9017432798e26 - .quad 0x11663c5ba199716f, 0x11c10c9ceee61d28 - .quad 0x115e4edd431a7a40, 0x11b73effa34f57ab - .quad 0x1154a724e2f6eade, 0x11afb0fd6a99ec28 - .quad 0x114c24c9890314cd, 0x11a5998a4600495b - .quad 0x11432c615eef6a3d, 0x119d70936a92f04a - .quad 0x113a1f03c81340fd, 0x11940f6bfdad1f14 - .quad 0x1131ca87340e1c39, 0x118b55b284add8c1 - .quad 0x11283b6cbf2ba29f, 0x11829f10ece9036e - .quad 0x1120801fd07f7284, 0x11795e2d86ae92c8 - .quad 0x111677ffffc31b92, 0x117146f8c6e8dc57 - .quad 0x110e978e83ebd95d, 0x116787f26e598ebb - .quad 0x1104d2d2f5dd4096, 0x116005b6216a17ea - .quad 0x10fc58570e2f641d, 0x1155d10973fbab06 - .quad 0x10f34a13f272cdfa, 0x114db3db8f832a58 - .quad 0x10ea4017c5ace0de, 0x1144379416dfac63 - .quad 0x10e1dc0938cfb932, 0x113b84ac1ef46255 - .quad 0x10d84c7064147f81, 0x1132b9cc2c3d6738 - .quad 0x10d087100f5e6429, 0x11297b6c5dc3637a - .quad 0x10c67b20873fc995, 0x11215602f1227af8 - .quad 0x10be9337a8979da0, 0x111795cb2bb480b6 - .quad 0x10b4ca0667456eb8, 0x11100aa01fc8a73e - .quad 0x10ac446a2ccade1c, 0x1105d196927cdacc - .quad 0x10a3371d92c55c69, 0x10fdac421184af19 - .quad 0x109a1ef1650d3562, 0x10f42cba823b93cb - .quad 0x1091c07db1df4cf6, 0x10eb6e2f60b615c1 - .quad 0x1088202debc2593c, 0x10e2a53f94211ba9 - .quad 0x108064595037ce7b, 0x10d95853e0fd75ad - .quad 0x107645a58ac6913c, 0x10d13949d3b2fbd2 - .quad 0x106e41f95cc492ce, 0x10c768213ee2ba9c - .quad 0x10648d0194e5b153, 0x10bfce2f1e195a7a - .quad 0x105be99935f38c42, 0x10b59b2d772c1b04 - .quad 0x1052f40d4a5d2870, 0x10ad5a005ce1b15d - .quad 0x1049bc8aa74c3805, 0x10a3ef3138f8ae58 - .quad 0x104178b448b82b16, 0x109b12e626e3c8a1 - .quad 0x1037b7f2dc7fa066, 0x1092620652c3102c - .quad 0x1030190106456396, 0x1088f5ecffd9c995 - .quad 0x1025d92194746ef2, 0x1080f1a62a97a48e - .quad 0x101da636b2add63a, 0x1077004d0a0dd3fc - .quad 0x10141d8f14e2d235, 0x106f38508375a815 - .quad 0x100b4a8e16df3a2e, 0x10652f67f4a45dbd - .quad 0x100282da2ee06e9f, 0x105cbf8187da9700 - .quad 0x0ff91bc4f0e82a10, 0x105380c6fa6ddd1b - .quad 0x0ff106c65473611b, 0x104a757e44dde4fb - .quad 0x0fe716ca73d3a1dc, 0x1041f218f165083c - .quad 0x0fdf4e737e667fe6, 0x1038571975a9ba0c - .quad 0x0fd538bdbc880350, 0x103081306aee058b - .quad 0x0fccc4774fe05a13, 0x102661571375ee31 - .quad 0x0fc37eeb586702af, 0x101e5803c9b677c0 - .quad 0x0fba6be51e94d2c3, 0x10149169d29f057f - .quad 0x0fb1e6cae3cc5ce4, 0x100be144165bfdad - .quad 0x0fa841452e30c6ec, 0x1002e4b0b7596d86 - .quad 0x0fa06dfcc0330324, 0x0ff99a8814f82396 - .quad 0x0f964157d8dbcaa1, 0x0ff158b4c1d7aa61 - .quad 0x0f8e248fc3725278, 0x0fe7806fe5adc0de - .quad 0x0f84691284199248, 0x0fdfd64d63539ac4 - .quad 0x0f7ba32f675bcca1, 0x0fd58fd2560c98e3 - .quad 0x0f72b59cb5fcd070, 0x0fcd33b9c01b8858 - .quad 0x0f6953f4278d9771, 0x0fc3c5b9e7be019e - .quad 0x0f61244d4a198783, 0x0fbac5a261b57bd2 - .quad 0x0f57333ac721d353, 0x0fb21f61f6e6a3a5 - .quad 0x0f4f654f8b2c9938, 0x0fa8883e334bf813 - .quad 0x0f453d9d5f4e3889, 0x0fa09a33ffab8174 - .quad 0x0f3cbcb3935e8707, 0x0f9678037d69a88a - .quad 0x0f336fefd85e37f7, 0x0f8e678a0474dd4d - .quad 0x0f2a4a7147e53789, 0x0f8491a44a8cc267 - .quad 0x0f21c73c8c2f3143, 0x0f7bd3a60953bab8 - .quad 0x0f180a7df6e9e4ab, 0x0f72d20af56e98e4 - .quad 0x0f1040c111171b21, 0x0f69748563f2a02c - .quad 0x0f05f9153468350d, 0x0f613656dff66048 - .quad 0x0efdb3d65827b6f1, 0x0f57463a2ae57157 - .quad 0x0ef412b4a3b0b6bb, 0x0f4f77b2a384d071 - .quad 0x0eeb20abd232bd72, 0x0f45451ae34b02ae - .quad 0x0ee25417f5fe18aa, 0x0f3cc024fa52d21e - .quad 0x0ed8c38db09c3d68, 0x0f336dbe645ba702 - .quad 0x0ed0ba351c6b2c44, 0x0f2a415d531b6e85 - .quad 0x0ec69856de023170, 0x0f21bcf7eeeba2f5 - .quad 0x0ebe847157246bfc, 0x0f17f70703ac5558 - .quad 0x0eb49b2d16422141, 0x0f102fd377359b10 - .quad 0x0eabd304de355d85, 0x0f05dd1b0bb84b26 - .quad 0x0ea2c87c2ff697dc, 0x0efd87243e77ecad - .quad 0x0e995b4456f24a66, 0x0ef3efdb3b369292 - .quad 0x0e911cf1a60f1d84, 0x0eeaeb4dc01a4631 - .quad 0x0e8718a9184a8678, 0x0ee22bcd99dbdb06 - .quad 0x0e7f2af0be1fde49, 0x0ed88766c06b0833 - .quad 0x0e7507007917e3d9, 0x0ed08db80d427d79 - .quad 0x0e6c5e695f15072b, 0x0ec65709eb54bf5e - .quad 0x0e632266540e08c2, 0x0ebe253876b38ace - .quad 0x0e59cf012acb820b, 0x0eb45623a2f6a451 - .quad 0x0e51673fda512b46, 0x0eab6f674d703273 - .quad 0x0e4777d05328bd26, 0x0ea280eca736b4b1 - .quad 0x0e3fa46d62b8e57d, 0x0e98f4d804e3ad6f - .quad 0x0e35544c8bc23e1c, 0x0e90d3e50a2eecdc - .quad 0x0e2cc068b1dc8ab2, 0x0e86b0c7763ce52b - .quad 0x0e236042b9065710, 0x0e7e979edc5b3767 - .quad 0x0e1a1cbbab815b4c, 0x0e749ecd657d5dd6 - .quad 0x0e1197d0fe71564c, 0x0e6bcb59141dc715 - .quad 0x0e07b41f3bcb1869, 0x0e62bad65a82bb23 - .quad 0x0dffeec24eca8006, 0x0e593d6de18ac6bf - .quad 0x0df581b387627669, 0x0e51011dd6dfecf6 - .quad 0x0decf746ccaba032, 0x0e46e8be31f2fe24 - .quad 0x0de380f8b864e1ac, 0x0e3edc51c8649aaa - .quad 0x0dda4312cc2f816a, 0x0e34c88f43732a10 - .quad 0x0dd1adc83c96accf, 0x0e2bfd81ed74f1cd - .quad 0x0dc7cc835281bbf3, 0x0e22d883a292df3b - .quad 0x0dc0044e6f2b903f, 0x0e195fde403b5724 - .quad 0x0db58e66674c0f82, 0x0e111494966870b7 - .quad 0x0dad0209514d613d, 0x0e06fdef1ca550b3 - .quad 0x0da383f2f4495aed, 0x0dfef217eb67d36d - .quad 0x0d9a41575f0363d6, 0x0df4d2aaa5b8e28a - .quad 0x0d91a8c12a0cae91, 0x0dec04fcbf1fddd8 - .quad 0x0d87c08d08f2ccbb, 0x0de2d96cdd2a30b8 - .quad 0x0d7ff186c5b90604, 0x0dd95b8ba50a2687 - .quad 0x0d757a2b0b1c4c86, 0x0dd10df03cd711e3 - .quad 0x0d6ce07ef98af2ae, 0x0dc6eff939f51c8f - .quad 0x0d636923c5eb270b, 0x0dbed88d96607fb4 - .quad 0x0d5a1791489717bf, 0x0db4bcf1445c1d61 - .quad 0x0d5188d2c2d680a3, 0x0dabe1a747b458c8 - .quad 0x0d47907312c7e255, 0x0da2bd8dde16ba8a - .quad 0x0d3fa9e995f4c414, 0x0d993089dc23e417 - .quad 0x0d35455df149c7b5, 0x0d90ed4f34d6e965 - .quad 0x0d2c93410e8142f8, 0x0d86bf1c754a3325 - .quad 0x0d233105a5b594f7, 0x0d7e9027b1c5a4ab - .quad 0x0d19c67f441e11b3, 0x0d7487c687197597 - .quad 0x0d114e8ebae7496e, 0x0d6b942323a72767 - .quad 0x0d073d10c597b774, 0x0d6285660efb3e9a - .quad 0x0cff330b99c7f9e7, 0x0d58df9d62fb9c5e - .quad 0x0cf4f0ef77c81a6f, 0x0d50b34677fe9486 - .quad 0x0cec1baedb5f2e65, 0x0d466c37bb05de1e - .quad 0x0ce2dc9788ad9864, 0x0d3e1a30436bcde5 - .quad 0x0cd94f913add4907, 0x0d34341c90c553e7 - .quad 0x0cd0fafd2c40ba27, 0x0d2b1dd0ffc5d04b - .quad 0x0cc6c7df995241d1, 0x0d2231f4a6757469 - .quad 0x0cbe8f062cc963ce, 0x0d186a35930ed5e1 - .quad 0x0cb47e5cbff0d92e, 0x0d1060dd236f49a3 - .quad 0x0cab7be34be4e18d, 0x0d05f8c25cd122d7 - .quad 0x0ca26d5559b935e7, 0x0cfd78bca82e9f37 - .quad 0x0c98b4dd6af9c05d, 0x0cf3c36d15093021 - .quad 0x0c908f94cfc79158, 0x0cea80c62c44a65b - .quad 0x0c8632ec0e0d009c, 0x0ce1c4b11ed6627a - .quad 0x0c7dc0b5f2e40ea4, 0x0cd7d261cc2edf72 - .quad 0x0c73efa480ea698b, 0x0ccfef096f5252f0 - .quad 0x0c6ab6a5245de9e5, 0x0cc566c107178d1f - .quad 0x0c61e52cde409267, 0x0cbcae9de8f00c0b - .quad 0x0c57f910d0084829, 0x0cb337ae444bd293 - .quad 0x0c500e3012bd4171, 0x0ca9bfbcfe9dc1e8 - .quad 0x0c4580c66bfc7cf5, 0x0ca13f803c0631d9 - .quad 0x0c3ccba595fe34b5, 0x0c971ac2109d33c9 - .quad 0x0c3347383dcf4a9b, 0x0c8ef21caa7d80c3 - .quad 0x0c29cf52785fcd1f, 0x0c84b8b6bbdb7a4f - .quad 0x0c21466f7a4ba4b3, 0x0c7bbf4bcf8ca0c3 - .quad 0x0c171f5b701cb667, 0x0c72934441fdae8b - .quad 0x0c0ef1fef5338f87, 0x0c68de00a5d4cff3 - .quad 0x0c04b46ffc2e70cc, 0x0c60a4a61359d63a - .quad 0x0bfbb3f3e667d5e5, 0x0c564673b39bdd54 - .quad 0x0bf287ea78b8278f, 0x0c4dcf3acd0cc1f4 - .quad 0x0be8c9c8347a2863, 0x0c43f1926f0c2aa4 - .quad 0x0be093c166d47d90, 0x0c3aaecb94ca24e1 - .quad 0x0bd62b5957e6b822, 0x0c31d8efbbc88d6c - .quad 0x0bcda4f3c5b8c56f, 0x0c27df554174928c - .quad 0x0bc3d1457a1afdae, 0x0c1fed6b4a9440a8 - .quad 0x0bba7e3665ffae25, 0x0c1558fae0fed7aa - .quad 0x0bb1b4da97b89113, 0x0c0c8b307e047613 - .quad 0x0ba7aa46b2ec675c, 0x0c03149a005e5984 - .quad 0x0b9fa00e080e5360, 0x0bf9819329634547 - .quad 0x0b9520f92dcad4a2, 0x0bf10bba52994e8e - .quad 0x0b8c3a9666328faa, 0x0be6c7dd2d93c0f9 - .quad 0x0b82dae795ce73b6, 0x0bde70fd5d6d806d - .quad 0x0b792f5963d343cf, 0x0bd45629dffe1fa7 - .quad 0x0b70d15f439254be, 0x0bcb2b2e959996b0 - .quad 0x0b6675546ac2c967, 0x0bc2255364dfcfd7 - .quad 0x0b5dfca1ff236f02, 0x0bb83c6a3841fcca - .quad 0x0b54046155930cfb, 0x0bb02ee197efc99d - .quad 0x0b4ab8846c89a496, 0x0ba59bfc8bdbfffe - .quad 0x0b41d5226b496f7e, 0x0b9cd9f4c9733040 - .quad 0x0b37cc7edd2bedd1, 0x0b93420703d360ea - .quad 0x0b2fc1e021531b11, 0x0b89b4a6e4580455 - .quad 0x0b252f9fd29afa7b, 0x0b81276cde31355e - .quad 0x0b1c439018f9e7b0, 0x0b76e44a0da72ded - .quad 0x0b12d9d4a3bfacfa, 0x0b6e8b82d35e9882 - .quad 0x0b09247c7d6b7109, 0x0b64603c1a2de688 - .quad 0x0b00c3d4d5746632, 0x0b5b2e6fa531d555 - .quad 0x0af65add59367765, 0x0b5220b241172407 - .quad 0x0aedce1e8301e6ef, 0x0b482d28ae825549 - .quad 0x0ae3dde18cb97a8d, 0x0b401ea51e3f541c - .quad 0x0ada7b31ccb0b2f4, 0x0b357e3d8e31e749 - .quad 0x0ad1a59798dd7aa2, 0x0b2ca77ce984ce61 - .quad 0x0ac7843a7981f8e3, 0x0b23192c63185ef2 - .quad 0x0abf55b0f3ffe463, 0x0b1974911a73b1a7 - .quad 0x0ab4df9fe655b0fb, 0x0b10f64b579273f6 - .quad 0x0aabce68ce6bcfed, 0x0b069a3e1bad13da - .quad 0x0aa284bfe1cdea24, 0x0afe1d6859c11527 - .quad 0x0a98a9c29acbf47d, 0x0af40f425a16dca3 - .quad 0x0a906bd70b72892b, 0x0aeab8633790b1e2 - .quad 0x0a85dd55c1a48477, 0x0ae1cb4a43b9229f - .quad 0x0a7d1bd6b173b9f2, 0x0ad7b25cc6523c3b - .quad 0x0a735fc8451ff49e, 0x0acf8db2dc70232b - .quad 0x0a69c9712232f548, 0x0ac5014bc06e7f91 - .quad 0x0a6128b47439dcd5, 0x0abbf66ba3b9066c - .quad 0x0a56d53d2be0a0b6, 0x0ab29c2c1dc958db - .quad 0x0a4e6122171333df, 0x0aa8c4a9d76af90f - .quad 0x0a4435229d0cc681, 0x0aa07ae5a7347d0b - .quad 0x0a3ae1371b74ea2d, 0x0a95ed9539dfd0c9 - .quad 0x0a31e01427183001, 0x0a8d2c69c7599edc - .quad 0x0a27c589442700ec, 0x0a83677341a98a13 - .quad 0x0a1f9be9e1d7b4e4, 0x0a79cf2c5625685e - .quad 0x0a15033c96eb7570, 0x0a71298aebe8af0f - .quad 0x0a0bef014f36ffa9, 0x0a66d2655c8560eb - .quad 0x0a0290979be09b3b, 0x0a5e58166789d0bc - .quad 0x09f8ac6ba86dcc3c, 0x0a542b9e90b536b6 - .quad 0x09f064e638fb2517, 0x0a4acfe7e64002b1 - .quad 0x09e5c884857d8ade, 0x0a41d179e12ade6e - .quad 0x09dcf0beaeb1b319, 0x0a37ae01eb0f55cb - .quad 0x09d338e29511ffcd, 0x0a2f772a9e0423a1 - .quad 0x09c9881a23b2ff9b, 0x0a24e72e15f0f016 - .quad 0x09c0f43798c4f845, 0x0a1bc4e2f5a8c9af - .quad 0x09b6836e63bd7d88, 0x0a127165d875ec78 - .quad 0x09ade466f9c32fda, 0x0a087eb54ae1860d - .quad 0x09a3d79f883687bf, 0x0a0043b38d103ec9 - .quad 0x099a56d48500b8a3, 0x09f598a7d65e3b67 - .quad 0x09917ac327f9b5e5, 0x09ecac2d1ee89db1 - .quad 0x09873278f241bb95, 0x09e308090afcd9f3 - .quad 0x097ec801820c3f3d, 0x09d942d41e7bf2a3 - .quad 0x09746b841565ab3e, 0x09d0c34dc595f4bf - .quad 0x096b16ea850bfa34, 0x09c63e9cb83e74b2 - .quad 0x0961f76e44abf0ec, 0x09bd83e5a3ffd7ad - .quad 0x0957d432d7dd0ca1, 0x09b39428e0fd00c5 - .quad 0x094f99abec00b682, 0x09a9f8c2eadfb109 - .quad 0x0944f35579392d4b, 0x09a13957092e7741 - .quad 0x093bc6c19eee10e8, 0x0996d7ad6ac744f9 - .quad 0x0932692d6adc530f, 0x098e4a41e3c393c2 - .quad 0x0928673fad41c337, 0x0984149a31665d1e - .quad 0x09202bd066e6e446, 0x097a9efbad7c9909 - .quad 0x09156dece3f159c3, 0x0971a4d14ca40e60 - .quad 0x090c64dabfd6babd, 0x0967628f37011dc7 - .quad 0x0902cf07ed3ac7ca, 0x095efd93aae49244 - .quad 0x08f8ea5cdb1b77f8, 0x0954884565714d83 - .quad 0x08f0801f05da3bab, 0x094b341347ab9d2e - .quad 0x08e5da3ba0723cbc, 0x094204d0f497ca7d - .quad 0x08dcefd7b19fc691, 0x0937de10a24a9be3 - .quad 0x08d3281b7ca3d771, 0x092f9c4f419d97b9 - .quad 0x08c95c663259c5d8, 0x0924ee2a6bb63f1d - .quad 0x08c0c90568fe453b, 0x091bb6bea4d790c6 - .quad 0x08b6374ef6370a23, 0x091258802fee3a1b - .quad 0x08ad668024e6e773, 0x0908491dcb50d650 - .quad 0x08a3739f6c74a992, 0x090012888bcf5e1b - .quad 0x0899bc5a27482390, 0x08f5456466d99824 - .quad 0x089105de86fb726e, 0x08ec25d7813e5a28 - .quad 0x08868453b252f9af, 0x08e29f220ff323bd - .quad 0x087dc7c640bf856f, 0x08d8a2c46b36447d - .quad 0x0873b0e7a2d8004d, 0x08d04b5178932d9e - .quad 0x086a095d99893bea, 0x08c58d2d04dcdef9 - .quad 0x0861361f24d04a1e, 0x08bc8060b8a624d8 - .quad 0x0856c0994513d45b, 0x08b2d8154e3020f5 - .quad 0x084e12caa0268707, 0x08a8ea37661d565f - .quad 0x0843df6725a60cf5, 0x08a078003d294269 - .quad 0x083a42bf15180a09, 0x0895c4df6da1a5f0 - .quad 0x08315957e82800c6, 0x088cc58a0676d26e - .quad 0x0826eb9463d29a0d, 0x088302d6b1661ef0 - .quad 0x081e46dfa81a2018, 0x08791ed1d851d1dd - .quad 0x0813feb236502138, 0x0870982d94421652 - .quad 0x080a67f97b02e026, 0x0865ebfab91b4a2b - .quad 0x08016f37032d6085, 0x085cf4b3235443f5 - .quad 0x07f704e120e656fd, 0x08531f0304f01ddb - .quad 0x07ee638c247f445d, 0x084940198fd0e1c2 - .quad 0x07e40e7ff18c854c, 0x0840ab8eaa8fae67 - .quad 0x07da78b6039c7039, 0x08360223e0067b2c - .quad 0x07d1778970df4481, 0x082d0d6e2f89dd66 - .quad 0x07c70c446e7535cc, 0x08232c589802b4ba - .quad 0x07be688d1dc06742, 0x08194dc0e4e3bd62 - .quad 0x07b40eab69ffb357, 0x0810b1f64079cf15 - .quad 0x07aa74cd8f49285b, 0x080607271cb1c230 - .quad 0x07a1723bbb37e710, 0x07fd0f815d3e30e4 - .quad 0x079701ad03f5aba2, 0x07f32ab83cb1b9aa - .quad 0x078e55d6dd34aeb5, 0x07e947a7e7d08e62 - .quad 0x0783ff3437e5e592, 0x07e0ab555a059592 - .quad 0x077a5c493ec4b75b, 0x07d5faf8b45ee11c - .quad 0x07715f5a46f2a8c5, 0x07ccfae7d166a387 - .quad 0x0766e533a1804da5, 0x07c31a25c153692f - .quad 0x075e2b951ac76b4b, 0x07b92ddcdd3a585a - .quad 0x0753e03e7aaf4a23, 0x07b097bb793410b5 - .quad 0x074a2f624fa2da41, 0x07a5ddb524f58124 - .quad 0x07413f112353b2e2, 0x079ccfd1b6b2b0d1 - .quad 0x0736b71aaf8395ac, 0x0792fac7e1ac1a55 - .quad 0x072dea2a52e6f8d6, 0x0789009c068a7447 - .quad 0x0723b2124c85eb7d, 0x078077566199da13 - .quad 0x0719ee813dcc82f4, 0x0775afa0b60e30ad - .quad 0x071111ab5ef7d9ce, 0x076c8ea38207b48c - .quad 0x070677cd3ce598a2, 0x0762cce7b0334e93 - .quad 0x06fd922e485849df, 0x0758c04eb792831b - .quad 0x06f3751aaab95803, 0x07504a716678c7d9 - .quad 0x06e99a3c2eb312df, 0x074571266fb205e7 - .quad 0x06e0d791e54efc95, 0x073c37f46c8a36ce - .quad 0x06d627dd610c1f2f, 0x073290ef7aa6784e - .quad 0x06cd246bba093ddd, 0x07286d89be61c44f - .quad 0x06c329e3d8fc35e5, 0x072011744722e8f8 - .quad 0x06b93354aecb0f91, 0x071522d67c700dd9 - .quad 0x06b09149eae599f4, 0x070bcc8c2b79e5e6 - .quad 0x06a5c8020a89d6a7, 0x070247692feaf7c7 - .quad 0x069ca1dd59404578, 0x06f8090b25f1fb1c - .quad 0x0692d1194826d1d9, 0x06ef99c33fa36826 - .quad 0x0688bab4cd7bc185, 0x06e4c563ff8738ed - .quad 0x06803f72f0fa181c, 0x06db4d5ff233ee8b - .quad 0x067559144638d7d2, 0x06d1f0fc4fe41aef - .quad 0x066c0baa10766979, 0x06c793b75fbd2367 - .quad 0x06626b830bbc4f33, 0x06befaa9eeaa4992 - .quad 0x0658316ba6f8ef74, 0x06b459a26ac43fcf - .quad 0x064fc588d5eeb300, 0x06aabb8ece685efe - .quad 0x0644dc0c0d42f863, 0x06a18e6b704952c1 - .quad 0x063b6320aea7077a, 0x06970e95e366ca95 - .quad 0x0631fa02ebad6485, 0x068e4700e7fab75e - .quad 0x062798a96e59845b, 0x0683e0826243926d - .quad 0x061ef81624855ca5, 0x067a185d71d9ae78 - .quad 0x061451fcaaed5e70, 0x0671209163a43d8a - .quad 0x060aa9b30dd7b333, 0x06667acd56555624 - .quad 0x06017d9121b4ff43, 0x065d805487b20ec2 - .quad 0x05f6f1bb0c9eff18, 0x06535b0e3e76f72a - .quad 0x05ee184bec96bcc5, 0x064965317fc3f8eb - .quad 0x05e3bc10ccdff1d7, 0x0640a85e11600392 - .quad 0x05d9e0f0cdf83a76, 0x0635d99f4f4fa7a2 - .quad 0x05d0f738d3253e75, 0x062ca8538b911cc2 - .quad 0x05c63e056b37b486, 0x0622ca663e8f6c6e - .quad 0x05bd2806afda0512, 0x0618a38c763ae500 - .quad 0x05b31b865207923b, 0x061026d30f31261e - .quad 0x05a90a81bef15367, 0x06052c63cbe5201d - .quad 0x05a068145905badd, 0x05fbc0c903e2dd51 - .quad 0x05957f0081c7461b, 0x05f22fbc7eb40c8e - .quad 0x058c293abfeb81c1, 0x05e7d5064d5d2e6a - .quad 0x058271a9ed146425, 0x05df3a001a1da12a - .quad 0x0578282015bfd093, 0x05d474846e880b80 - .quad 0x056fa292d1f4b615, 0x05cacb96019278e3 - .quad 0x0564b6323fa7fafc, 0x05c18c50c637e437 - .quad 0x055b1ded81f6cf48, 0x05b6fb47e7243b10 - .quad 0x0551bfd2aff12d23, 0x05ae17fe4af1cdcd - .quad 0x05473b9288cf980b, 0x05a3b3779cd081bc - .quad 0x053e680a6315c8f9, 0x0599caab20737c4b - .quad 0x0533e52969a46a03, 0x0590e16c42489121 - .quad 0x052a082ea93d471f, 0x058618056ad2fa0d - .quad 0x0521075d9566cab2, 0x057ce9e247afa7ef - .quad 0x051646a66f6fb197, 0x0572eabb9557e4c3 - .quad 0x050d22f0f82317a8, 0x0568c0020c90fd02 - .quad 0x05030d7883df3e07, 0x0560305d4157bdec - .quad 0x04f8ea1187daf8b3, 0x05552cf8a69cbdee - .quad 0x04f049a91d747c02, 0x054bb1f3a4ce848c - .quad 0x04e54b29ff375e83, 0x05421bd19407d3a8 - .quad 0x04dbd5a7cbaf896d, 0x0537ad97206eb3e9 - .quad 0x04d230b0dec754da, 0x052ef4e6059f1fe4 - .quad 0x04c7c5a693980a40, 0x05243bdb9112e65b - .quad 0x04bf10221f87a1ca, 0x051a7278c0b2c815 - .quad 0x04b44ae6c097e3b8, 0x051148391a9b5b70 - .quad 0x0000000000000000, 0x0000000000000000 - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ - .align 16 - .quad 0x403b3e0000000000, 0x403b3e0000000000 /* _MaxThreshold=3487.0/128.0 */ - .align 16 - .quad 0x8000000000000000, 0x8000000000000000 /* sign mask */ - .align 16 - .quad 0x37f0000000000000, 0x37f0000000000000 /* 2^(-128) */ - .align 16 - .quad 0x42c0000000000000, 0x42c0000000000000 /* SRound */ - // polynomial coefficients - .align 16 - .quad 0xbf2282c89a04c65f, 0xbf2282c89a04c65f // poly1[0] - .align 16 - .quad 0x3f472360bac04e70, 0x3f472360bac04e70 // poly1[1] - .align 16 - .quad 0xbf8441df86900a46, 0xbf8441df86900a46 // poly3[0] - .align 16 - .quad 0x3fa117abf1fea28c, 0x3fa117abf1fea28c // poly3[1] - .align 16 - .quad 0xbfb56433674ba5c2, 0xbfb56433674ba5c2 // poly5[0] - .align 16 - .quad 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf // poly5[1] - .align 16 - .quad 0xbf6a019f4f234617, 0xbf6a019f4f234617 // poly1[2] - .align 16 - .quad 0xbfb8618412bc79ec, 0xbfb8618412bc79ec // poly3[2] - .align 16 - .quad 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7 // poly5[2] - .align 16 - .quad 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f // poly1[3] - .align 16 - .quad 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6 // poly3[3] - .align 16 - .quad 0x3fb9998f9d0729da, 0x3fb9998f9d0729da // poly5[3] - .align 16 - .quad 0xbfa6c16c16d06420, 0xbfa6c16c16d06420 // poly1[4] - .align 16 - .quad 0xbfd9999999f3d838, 0xbfd9999999f3d838 // poly3[4] - .align 16 - .quad 0x3fc11111111ab082, 0x3fc11111111ab082 // poly1[5] - .align 16 - .quad 0x3fe0000000379730, 0x3fe0000000379730 // poly3[5] - .align 16 - .quad 0xbfd5555555554add, 0xbfd5555555554add // poly3[6] - .align 16 - .quad 0xbfd555555555548a, 0xbfd555555555548a // poly1[6] - .align 16 - .quad 0x3fe55555555554cf, 0x3fe55555555554cf // poly1[7] - .align 16 - .quad 0x403B39DC41E48BFD, 0x403B39DC41E48BFD /* UF_Threshold */ - .align 16 - .quad 0x47f0000000000000, 0x47f0000000000000 /* 2^128 */ - .align 16 - .type __svml_derfc_data_internal,@object - .size __svml_derfc_data_internal,.-__svml_derfc_data_internal + /* _erfc_tbl */ + .quad 0x47f0000000000000, 0x47f20dd750429b6d + .quad 0x47efb7c9030853b3, 0x47f20d8f1975c85d + .quad 0x47ef6f9447be0743, 0x47f20cb67bd452c7 + .quad 0x47ef27640f9853d9, 0x47f20b4d8bac36c1 + .quad 0x47eedf3a9ba22dad, 0x47f209546ad13ccf + .quad 0x47ee971a2c4436ae, 0x47f206cb4897b148 + .quad 0x47ee4f05010eca8c, 0x47f203b261cd0053 + .quad 0x47ee06fd58842c7e, 0x47f2000a00ae3804 + .quad 0x47edbf056fe2df35, 0x47f1fbd27cdc72d3 + .quad 0x47ed771f82f02f4e, 0x47f1f70c3b4f2cc8 + .quad 0x47ed2f4dcbc2f894, 0x47f1f1b7ae44867f + .quad 0x47ece792828eae5c, 0x47f1ebd5552f795b + .quad 0x47ec9fefdd6eaf19, 0x47f1e565bca400d4 + .quad 0x47ec58681031eb6a, 0x47f1de697e413d29 + .quad 0x47ec10fd4c26e896, 0x47f1d6e14099944a + .quad 0x47ebc9b1bfe82687, 0x47f1cecdb718d61c + .quad 0x47eb82879728f11e, 0x47f1c62fa1e869b6 + .quad 0x47eb3b80fa82a4bb, 0x47f1bd07cdd189ac + .quad 0x47eaf4a00f426daa, 0x47f1b357141d95d5 + .quad 0x47eaade6f7378a0e, 0x47f1a91e5a748165 + .quad 0x47ea6757d08215d8, 0x47f19e5e92b964ab + .quad 0x47ea20f4b5626818, 0x47f19318bae53a04 + .quad 0x47e9dabfbc090901, 0x47f1874ddcdfce24 + .quad 0x47e994baf66747ad, 0x47f17aff0e56ec10 + .quad 0x47e94ee8720076b6, 0x47f16e2d7093cd8c + .quad 0x47e9094a37bbd66e, 0x47f160da304ed92f + .quad 0x47e8c3e24bb73372, 0x47f153068581b781 + .quad 0x47e87eb2ad1a4032, 0x47f144b3b337c90c + .quad 0x47e839bd55eaafc8, 0x47f135e3075d076b + .quad 0x47e7f5043ae11862, 0x47f12695da8b5bde + .quad 0x47e7b0894b3ea35c, 0x47f116cd8fd67618 + .quad 0x47e76c4e70a390e7, 0x47f1068b94962e5e + .quad 0x47e728558ee694fc, 0x47f0f5d1602f7e41 + .quad 0x47e6e4a083ed132f, 0x47f0e4a073dc1b91 + .quad 0x47e6a13127843ec1, 0x47f0d2fa5a70c168 + .quad 0x47e65e094b3b2413, 0x47f0c0e0a8223359 + .quad 0x47e61b2aba3da093, 0x47f0ae54fa490723 + .quad 0x47e5d89739304dcf, 0x47f09b58f724416b + .quad 0x47e59650860d6469, 0x47f087ee4d9ad247 + .quad 0x47e5545858029b39, 0x47f07416b4fbfe7c + .quad 0x47e512b05f5006e1, 0x47f05fd3ecbec298 + .quad 0x47e4d15a4527fdc7, 0x47f04b27bc403d30 + .quad 0x47e49057ab900447, 0x47f03613f2812daf + .quad 0x47e44faa2d42c4a0, 0x47f0209a65e29545 + .quad 0x47e40f535d93160e, 0x47f00abcf3e187a9 + .quad 0x47e3cf54c8501620, 0x47efe8fb01a47307 + .quad 0x47e38faff1aa574a, 0x47efbbbbef34b4b2 + .quad 0x47e35066561a275d, 0x47ef8dc092d58ff8 + .quad 0x47e311796a46f064, 0x47ef5f0cdaf15313 + .quad 0x47e2d2ea9aefb636, 0x47ef2fa4c16c0019 + .quad 0x47e294bb4cd4b2bd, 0x47eeff8c4b1375db + .quad 0x47e256ecdca212cc, 0x47eecec7870ebca8 + .quad 0x47e219809edbd524, 0x47ee9d5a8e4c934e + .quad 0x47e1dc77dfcacd02, 0x47ee6b4982f158b9 + .quad 0x47e19fd3e36ac96a, 0x47ee38988fc46e72 + .quad 0x47e16395e559e218, 0x47ee054be79d3042 + .quad 0x47e127bf18c8eadc, 0x47edd167c4cf9d2a + .quad 0x47e0ec50a86d0dd4, 0x47ed9cf06898cdaf + .quad 0x47e0b14bb6728cd8, 0x47ed67ea1a8b5368 + .quad 0x47e076b15c70aa28, 0x47ed325927fb9d89 + .quad 0x47e03c82ab5eb831, 0x47ecfc41e36c7df9 + .quad 0x47e002c0ab8a5018, 0x47ecc5a8a3fbea40 + .quad 0x47df92d8b91d5cc7, 0x47ec8e91c4d01368 + .quad 0x47df210d6a9a6a31, 0x47ec5701a484ef9d + .quad 0x47deb02147ce245c, 0x47ec1efca49a5011 + .quad 0x47de40161b701275, 0x47ebe68728e29d5e + .quad 0x47ddd0ed9ea4bdd6, 0x47ebada596f25436 + .quad 0x47dd62a978f7c957, 0x47eb745c55905bf8 + .quad 0x47dcf54b4058455f, 0x47eb3aafcc27502e + .quad 0x47dc88d479173cce, 0x47eb00a46237d5be + .quad 0x47dc1d4695e87644, 0x47eac63e7ecc1411 + .quad 0x47dbb2a2f7e56520, 0x47ea8b8287ec6a09 + .quad 0x47db48eaee924501, 0x47ea5074e2157620 + .quad 0x47dae01fb7e55a66, 0x47ea1519efaf889e + .quad 0x47da78428050527e, 0x47e9d97610879642 + .quad 0x47da115462cbbc17, 0x47e99d8da149c13f + .quad 0x47d9ab5668e4930a, 0x47e96164fafd8de3 + .quad 0x47d946498acbd766, 0x47e925007283d7aa + .quad 0x47d8e22eaf68291e, 0x47e8e86458169af8 + .quad 0x47d87f06ac6960c4, 0x47e8ab94f6caa71d + .quad 0x47d81cd2465e1d96, 0x47e86e9694134b9e + .quad 0x47d7bb9230cb40b4, 0x47e8316d6f48133d + .quad 0x47d75b470e454d35, 0x47e7f41dc12c9e89 + .quad 0x47d6fbf1708ba47c, 0x47e7b6abbb7aaf19 + .quad 0x47d69d91d8a595da, 0x47e7791b886e7403 + .quad 0x47d64028b7013867, 0x47e73b714a552763 + .quad 0x47d5e3b66b9405a9, 0x47e6fdb11b1e0c34 + .quad 0x47d5883b45fd2b63, 0x47e6bfdf0beddaf5 + .quad 0x47d52db785a98aca, 0x47e681ff24b4ab04 + .quad 0x47d4d42b59f95afa, 0x47e6441563c665d4 + .quad 0x47d47b96e267647a, 0x47e60625bd75d07b + .quad 0x47d423fa2eb1cb59, 0x47e5c8341bb23767 + .quad 0x47d3cd553f045d45, 0x47e58a445da7c74c + .quad 0x47d377a8042458d1, 0x47e54c5a57629db0 + .quad 0x47d322f25f9da2fd, 0x47e50e79d1749ac9 + .quad 0x47d2cf3423f15fdf, 0x47e4d0a6889dfd9f + .quad 0x47d27c6d14c5e341, 0x47e492e42d78d2c5 + .quad 0x47d22a9ce717edcb, 0x47e4553664273d24 + .quad 0x47d1d9c3416d2b4b, 0x47e417a0c4049fd0 + .quad 0x47d189dfbc07e690, 0x47e3da26d759aef5 + .quad 0x47d13af1e11be721, 0x47e39ccc1b136d5a + .quad 0x47d0ecf92d046d22, 0x47e35f93fe7d1b3d + .quad 0x47d09ff50e7b3f93, 0x47e32281e2fd1a92 + .quad 0x47d053e4e6d0c10b, 0x47e2e5991bd4cbfc + .quad 0x47d008c80a24ff10, 0x47e2a8dcede3673b + .quad 0x47cf7d3b7f436013, 0x47e26c508f6bd0ff + .quad 0x47ceeaca836a27cc, 0x47e22ff727dd6f7b + .quad 0x47ce5a3b7c9b56da, 0x47e1f3d3cf9ffe5a + .quad 0x47cdcb8cae2d747f, 0x47e1b7e98fe26217 + .quad 0x47cd3ebc436b0f26, 0x47e17c3b626c7a12 + .quad 0x47ccb3c8500ea349, 0x47e140cc3173f007 + .quad 0x47cc2aaed0bfcfee, 0x47e1059ed7740313 + .quad 0x47cba36dab91c0e9, 0x47e0cab61f084b93 + .quad 0x47cb1e02b082b720, 0x47e09014c2ca74da + .quad 0x47ca9a6b99fc973b, 0x47e055bd6d32e8d7 + .quad 0x47ca18a60d56673e, 0x47e01bb2b87c6968 + .quad 0x47c998af9b56a3ae, 0x47dfc3ee5d1524b0 + .quad 0x47c91a85c0b65519, 0x47df511a91a67d2a + .quad 0x47c89e25e6a4cef9, 0x47dedeeee0959518 + .quad 0x47c8238d634c0127, 0x47de6d6ffaa65a25 + .quad 0x47c7aab97a554544, 0x47ddfca26f5bbf88 + .quad 0x47c733a75d6e91b8, 0x47dd8c8aace11e63 + .quad 0x47c6be542ccffc2f, 0x47dd1d2cfff91594 + .quad 0x47c64abcf7c175b4, 0x47dcae8d93f1d7b7 + .quad 0x47c5d8debd20aace, 0x47dc40b0729ed548 + .quad 0x47c568b66be6f268, 0x47dbd3998457afdb + .quad 0x47c4fa40e3af3674, 0x47db674c8ffc6283 + .quad 0x47c48d7af53bc19f, 0x47dafbcd3afe8ab6 + .quad 0x47c4226162fbddd5, 0x47da911f096fbc26 + .quad 0x47c3b8f0e1912f70, 0x47da27455e14c93c + .quad 0x47c351261854b991, 0x47d9be437a7de946 + .quad 0x47c2eafda1db784a, 0x47d9561c7f23a47b + .quad 0x47c286740c7a7dab, 0x47d8eed36b886d93 + .quad 0x47c22385daca7f47, 0x47d8886b1e5ecfd1 + .quad 0x47c1c22f842ac1f2, 0x47d822e655b417e7 + .quad 0x47c1626d75435220, 0x47d7be47af1f5d89 + .quad 0x47c1043c1086777d, 0x47d75a91a7f4d2ed + .quad 0x47c0a797aeb152f2, 0x47d6f7c69d7d3ef8 + .quad 0x47c04c7c9f4b9690, 0x47d695e8cd31867e + .quad 0x47bfe5ce524c8ee5, 0x47d634fa54fa285f + .quad 0x47bf35a715b2f3e1, 0x47d5d4fd33729015 + .quad 0x47be887bf681f218, 0x47d575f3483021c3 + .quad 0x47bdde4553ef94de, 0x47d517de540ce2a3 + .quad 0x47bd36fb7fa50177, 0x47d4babff975a04c + .quad 0x47bc9296beb09cf1, 0x47d45e99bcbb7915 + .quad 0x47bbf10f4a759889, 0x47d4036d0468a7a2 + .quad 0x47bb525d5198cb1c, 0x47d3a93b1998736c + .quad 0x47bab678f8eabedb, 0x47d35005285227f1 + .quad 0x47ba1d5a5c4edb96, 0x47d2f7cc3fe6f423 + .quad 0x47b986f98f9f96c8, 0x47d2a09153529381 + .quad 0x47b8f34e9f8f93a6, 0x47d24a55399ea239 + .quad 0x47b8625192879e39, 0x47d1f518ae487dc8 + .quad 0x47b7d3fa69816db5, 0x47d1a0dc51a9934d + .quad 0x47b7484120df1b01, 0x47d14da0a961fd14 + .quad 0x47b6bf1db13f3983, 0x47d0fb6620c550af + .quad 0x47b63888104d811a, 0x47d0aa2d09497f2b + .quad 0x47b5b478318ff939, 0x47d059f59af7a906 + .quad 0x47b532e6073095f2, 0x47d00abff4dec7a3 + .quad 0x47b4b3c982c338c7, 0x47cf79183b101c5b + .quad 0x47b4371a960807f8, 0x47cedeb406d9c825 + .quad 0x47b3bcd133aa0ffc, 0x47ce4652fadcb6b2 + .quad 0x47b344e54ffa23b9, 0x47cdaff4969c0b04 + .quad 0x47b2cf4ee1a5f0fc, 0x47cd1b982c501370 + .quad 0x47b25c05e26b3f99, 0x47cc893ce1dcbef7 + .quad 0x47b1eb024fc75285, 0x47cbf8e1b1ca2279 + .quad 0x47b17c3c2ba26319, 0x47cb6a856c3ed54f + .quad 0x47b10fab7cf72f94, 0x47cade26b7fbed95 + .quad 0x47b0a548507696c0, 0x47ca53c4135a6526 + .quad 0x47b03d0ab9273b94, 0x47c9cb5bd549b111 + .quad 0x47afadd5a20258d3, 0x47c944ec2e4f5630 + .quad 0x47aee5c1730b147c, 0x47c8c07329874652 + .quad 0x47ae21c938a45a83, 0x47c83deeada4d25a + .quad 0x47ad61dd57628999, 0x47c7bd5c7df3fe9c + .quad 0x47aca5ee4649e31f, 0x47c73eba3b5b07b7 + .quad 0x47abedec8fddb340, 0x47c6c205655be720 + .quad 0x47ab39c8d3276d8a, 0x47c6473b5b15a7a1 + .quad 0x47aa8973c4b5c03e, 0x47c5ce595c455b0a + .quad 0x47a9dcde2f93a207, 0x47c5575c8a468362 + .quad 0x47a933f8f6375f2c, 0x47c4e241e912c305 + .quad 0x47a88eb51369acb9, 0x47c46f066040a832 + .quad 0x47a7ed039b24c96b, 0x47c3fda6bc016994 + .quad 0x47a74ed5bb6bb581, 0x47c38e1fae1d6a9d + .quad 0x47a6b41cbd198bc8, 0x47c3206dceef5f87 + .quad 0x47a61cca04a90795, 0x47c2b48d9e5dea1c + .quad 0x47a588cf12f4446b, 0x47c24a7b84d38971 + .quad 0x47a4f81d85ecc55b, 0x47c1e233d434b813 + .quad 0x47a46aa7194bd324, 0x47c17bb2c8d41535 + .quad 0x47a3e05da73b4159, 0x47c116f48a6476cc + .quad 0x47a3593328f6abbe, 0x47c0b3f52ce8c383 + .quad 0x47a2d519b7653e1e, 0x47c052b0b1a174ea + .quad 0x47a254038bac19d6, 0x47bfe6460fef4680 + .quad 0x47a1d5e2ffb96d40, 0x47bf2a901ccafb37 + .quad 0x47a15aaa8ec85205, 0x47be723726b824a9 + .quad 0x47a0e24cd5dd8846, 0x47bdbd32ac4c99b0 + .quad 0x47a06cbc943d255a, 0x47bd0b7a0f921e7c + .quad 0x479ff3d957b29b39, 0x47bc5d0497c09e74 + .quad 0x479f13a043742333, 0x47bbb1c972f23e50 + .quad 0x479e38b43cbd0f0f, 0x47bb09bfb7d11a84 + .quad 0x479d62fbdc2e756b, 0x47ba64de673e8837 + .quad 0x479c925e02b41668, 0x47b9c31c6df3b1b8 + .quad 0x479bc6c1da1f3121, 0x47b92470a61b6965 + .quad 0x479b000ed5b4a626, 0x47b888d1d8e510a3 + .quad 0x479a3e2cb2ae9edb, 0x47b7f036c0107294 + .quad 0x4799810378b1f299, 0x47b75a96077274ba + .quad 0x4798c87b7a37834f, 0x47b6c7e64e7281cb + .quad 0x4798147d54e9cc33, 0x47b6381e2980956b + .quad 0x479764f1f1f6ddea, 0x47b5ab342383d178 + .quad 0x4796b9c28657041a, 0x47b5211ebf41880b + .quad 0x479612d893085125, 0x47b499d478bca735 + .quad 0x4795701de53f4d2e, 0x47b4154bc68d75c3 + .quad 0x4794d17c968d062b, 0x47b3937b1b31925a + .quad 0x479436df0cfabf1d, 0x47b31458e6542847 + .quad 0x4793a02ffb1b7cee, 0x47b297db960e4f63 + .quad 0x47930d5a6013afc5, 0x47b21df9981f8e53 + .quad 0x47927e49879737d3, 0x47b1a6a95b1e786f + .quad 0x4791f2e909de04d2, 0x47b131e14fa1625d + .quad 0x47916b24cb8f8f92, 0x47b0bf97e95f2a64 + .quad 0x4790e6e8fda56cf7, 0x47b04fc3a0481321 + .quad 0x479066221d4539d8, 0x47afc4b5e32d6259 + .quad 0x478fd179e7243e3c, 0x47aeeea8c1b1db94 + .quad 0x478edd4d2aec5adb, 0x47ae1d4cf1e2450a + .quad 0x478def98c6c79efa, 0x47ad508f9a1ea64f + .quad 0x478d0838121f2418, 0x47ac885df3451a07 + .quad 0x478c2706fa45005e, 0x47abc4a54a84e834 + .quad 0x478b4be201caa4b4, 0x47ab055303221015 + .quad 0x478a76a63fc95c79, 0x47aa4a549829587e + .quad 0x4789a7315f1d6a55, 0x47a993979e14fffe + .quad 0x4788dd619d943ca1, 0x47a8e109c4622913 + .quad 0x47881915cb0e3323, 0x47a83298d717210e + .quad 0x47875a2d48946eb1, 0x47a78832c03aa2b1 + .quad 0x4786a08807632262, 0x47a6e1c5893c380b + .quad 0x4785ec0687e8dcb2, 0x47a63f3f5c4de13b + .quad 0x47853c89d8bb3ddb, 0x47a5a08e85af27e0 + .quad 0x478491f395818f54, 0x47a505a174e9c929 + .quad 0x4783ec25e5d5af12, 0x47a46e66be002240 + .quad 0x47834b037c1bbfc5, 0x47a3dacd1a8d8cce + .quad 0x4782ae6f94510dd8, 0x47a34ac36ad8dafe + .quad 0x4782164df2d29765, 0x47a2be38b6d92415 + .quad 0x47818282e31ba3e8, 0x47a2351c2f2d1449 + .quad 0x4780f2f3367cd6aa, 0x47a1af5d2e04f3f6 + .quad 0x4780678442cc256f, 0x47a12ceb37ff9bc3 + .quad 0x477fc037c21c3622, 0x47a0adb5fcfa8c75 + .quad 0x477eb940d8319831, 0x47a031ad58d56279 + .quad 0x477db9f17e61c310, 0x479f7182a851bca2 + .quad 0x477cc218694238a2, 0x479e85c449e377f3 + .quad 0x477bd18548996419, 0x479da0005e5f28df + .quad 0x477ae808c479c371, 0x479cc0180af00a8b + .quad 0x477a05747a543aa7, 0x479be5ecd2fcb5f9 + .quad 0x4779299afa0246a6, 0x479b1160991ff737 + .quad 0x4778544fc2c8c1da, 0x479a4255a00b9f03 + .quad 0x477785674053e8b9, 0x479978ae8b55ce1b + .quad 0x4776bcb6c7ad4854, 0x4798b44e6031383e + .quad 0x4775fa14942c3d54, 0x4797f5188610ddc8 + .quad 0x47753d57c461a5a7, 0x47973af0c737bb45 + .quad 0x4774865856ff632a, 0x479685bb5134ef13 + .quad 0x4773d4ef27bc49a6, 0x4795d55cb54cd53a + .quad 0x477328f5ec350e67, 0x479529b9e8cf9a1e + .quad 0x4772824730cacbb4, 0x479482b8455dc491 + .quad 0x4771e0be557fa673, 0x4793e03d891b37de + .quad 0x477144378ad22027, 0x4793422fd6d12e2b + .quad 0x4770ac8fce979b96, 0x4792a875b5ffab56 + .quad 0x477019a4e8d69649, 0x479212f612dee7fb + .quad 0x476f16aad1422a55, 0x479181983e5133dd + .quad 0x476e030141df7d25, 0x4790f443edc5ce49 + .quad 0x476cf80d4afc3019, 0x47906ae13b0d3255 + .quad 0x476bf5908f50b4a0, 0x478fcab1483ea7fc + .quad 0x476afb4e269693df, 0x478ec72615a894c4 + .quad 0x476a090a974cfebe, 0x478dcaf3691fc448 + .quad 0x47691e8bd0830a74, 0x478cd5ec93c12432 + .quad 0x47683b9923a85f7b, 0x478be7e5ac24963b + .quad 0x47675ffb3e6519a0, 0x478b00b38d6b3575 + .quad 0x47668b7c2479902d, 0x478a202bd6372dce + .quad 0x4765bde729a6b60f, 0x47894624e78e0faf + .quad 0x4764f708eb9fba63, 0x47887275e3a6869e + .quad 0x476436af4c058acb, 0x4787a4f6aca256cb + .quad 0x47637ca96a6cd1d4, 0x4786dd7fe3358230 + .quad 0x4762c8c79e6f04a3, 0x47861beae53b72b7 + .quad 0x47621adb71c70c75, 0x47856011cc3b036d + .quad 0x476172b79a7a1181, 0x4784a9cf6bda3f4c + .quad 0x4760d02ff50ce651, 0x4783f8ff5042a88e + .quad 0x476033197ec68c0e, 0x47834d7dbc76d7e5 + .quad 0x475f3694a0008381, 0x4782a727a89a3f14 + .quad 0x475e11332d0714c5, 0x478205dac02bd6b9 + .quad 0x475cf5bf1fed1e70, 0x4781697560347b26 + .quad 0x475be3eb08ae7c20, 0x4780d1d69569b82d + .quad 0x475adb6b810af9e2, 0x47803ede1a45bfee + .quad 0x4759dbf721b98dfa, 0x477f60d8aa2a88f2 + .quad 0x4758e54677bb0151, 0x477e4cc4abf7d065 + .quad 0x4757f713f9cc9784, 0x477d4143a9dfe965 + .quad 0x4757111bfdfb3ce0, 0x477c3e1a5f5c077c + .quad 0x4756331caf57b5db, 0x477b430ecf4a83a8 + .quad 0x47555cd603cc4150, 0x477a4fe83fb9db25 + .quad 0x47548e09b21414bf, 0x4779646f35a76624 + .quad 0x4753c67b27d50fe7, 0x4778806d70b2fc36 + .quad 0x475305ef7fdbfb95, 0x4777a3ade6c8b3e5 + .quad 0x47524c2d787b9e37, 0x4776cdfcbfc1e263 + .quad 0x475198fd6a0ee7bd, 0x4775ff2750fe7820 + .quad 0x4750ec293d9e6d85, 0x477536fc18f7ce5c + .quad 0x4750457c63a96690, 0x4774754abacdf1dc + .quad 0x474f49879624a021, 0x4773b9e3f9d06e3f + .quad 0x474e139bb05eb49e, 0x47730499b503957f + .quad 0x474ce8d4b7fd6c70, 0x4772553ee2a336bf + .quad 0x474bc8d516fda8ba, 0x4771aba78ba3af89 + .quad 0x474ab341ee553e25, 0x477107a8c7323a6e + .quad 0x4749a7c305336484, 0x47706918b6355624 + .quad 0x4748a602b88919c0, 0x476f9f9cfd9c3035 + .quad 0x4747adadead962ed, 0x476e77448fb66bb9 + .quad 0x4746be73f45149fb, 0x476d58da68fd1170 + .quad 0x4745d80693276a6d, 0x476c4412bf4b8f0b + .quad 0x4744fa19dc42d409, 0x476b38a3af2e55b4 + .quad 0x474424642c28ff75, 0x476a3645330550ff + .quad 0x4743569e18328604, 0x47693cb11a30d765 + .quad 0x47429082600643fd, 0x47684ba3004a50d0 + .quad 0x4741d1cddf5a82de, 0x476762d84469c18f + .quad 0x47411a3f7ffbbfea, 0x4766821000795a03 + .quad 0x474069982c189a9e, 0x4765a90b00981d93 + .quad 0x473f7f3581a4dc2c, 0x4764d78bba8ca5fd + .quad 0x473e381802242163, 0x47640d564548fad7 + .quad 0x473cfd6511405b2d, 0x47634a305080681f + .quad 0x473bcead7f01492f, 0x47628de11c5031eb + .quad 0x473aab859b20ac9e, 0x4761d83170fbf6fb + .quad 0x473993851cc9779a, 0x476128eb96be8798 + .quad 0x473886470ad946a7, 0x47607fdb4dafea5f + .quad 0x47378369a4a2cbd6, 0x475fb99b8b8279e1 + .quad 0x47368a8e4b2fc8c2, 0x475e7f232d9e2630 + .quad 0x47359b596b012aaa, 0x475d4fed7195d7e8 + .quad 0x4734b572664bd2dc, 0x475c2b9cf7f893bf + .quad 0x4733d8837fb08d1d, 0x475b11d702b3deb2 + .quad 0x47330439c56dadf6, 0x475a024365f771bd + .quad 0x47323844fd08cb93, 0x4758fc8c794b03b5 + .quad 0x473174578f6efd5d, 0x4758005f08d6f1ef + .quad 0x4730b826758a086b, 0x47570d6a46e07dda + .quad 0x473003692548d98b, 0x4756235fbd7a4345 + .quad 0x472eabb2fe335196, 0x475541f340697987 + .quad 0x472d5e6777a83c2a, 0x475468dadf4080ab + .quad 0x472c1e6cb6239574, 0x475397ced7af2b15 + .quad 0x472aeb4423e690e7, 0x4752ce898809244e + .quad 0x4729c47374a0974e, 0x47520cc76202c5fb + .quad 0x4728a98484a1e8d3, 0x47515246dda49d47 + .quad 0x47279a0538dd4fc7, 0x47509ec86c75d497 + .quad 0x472695875fb574a0, 0x474fe41cd9bb4eee + .quad 0x47259ba0929261c5, 0x474e97ba3b77f306 + .quad 0x4724abea183bc470, 0x474d57f524723822 + .quad 0x4723c600c7f477c5, 0x474c245d4b99847a + .quad 0x4722e984ed53e777, 0x474afc85e0f82e12 + .quad 0x4722161a2cd9d894, 0x4749e005769dbc1d + .quad 0x47214b67693928cf, 0x4748ce75e9f6f8a0 + .quad 0x47208916a9561720, 0x4747c7744d9378f7 + .quad 0x471f9da9fde95755, 0x4746caa0d3582fe9 + .quad 0x471e38a4dc27b11b, 0x4745d79eb71e893b + .quad 0x471ce283a9e3e330, 0x4744ee1429bf7cc0 + .quad 0x471b9ab1a96e3b3e, 0x47440daa3c89f5b6 + .quad 0x471a609f7584d32b, 0x4743360ccd23db3a + .quad 0x471933c2d52c56c9, 0x474266ea71d4f71a + .quad 0x4718139690c0d187, 0x47419ff4663ae9df + .quad 0x4716ff9a4837fa43, 0x4740e0de78654d1e + .quad 0x4715f7524a8e81a2, 0x4740295ef6591848 + .quad 0x4714fa476e59f668, 0x473ef25d37f49fe1 + .quad 0x47140806eb78e353, 0x473da01102b5f851 + .quad 0x4713202235dada50, 0x473c5b5412dcafad + .quad 0x4712422ed95a3235, 0x473b23a5a23e4210 + .quad 0x47116dc656a14df6, 0x4739f8893d8fd1c1 + .quad 0x4710a2860115569c, 0x4738d986a4187285 + .quad 0x470fc01dbb80c841, 0x4737c629a822bc9e + .quad 0x470e4c0b066a4970, 0x4736be02102b3520 + .quad 0x470ce823f4cc4bad, 0x4735c0a378c90bca + .quad 0x470b93bf40d5eccb, 0x4734cda5374ea275 + .quad 0x470a4e3a125adc76, 0x4733e4a23d1f4703 + .quad 0x470916f7c5f2f764, 0x47330538fbb77ecd + .quad 0x4707ed61b5d3db0a, 0x47322f0b496539be + .quad 0x4706d0e7045988cb, 0x473161be46ad3b50 + .quad 0x4705c0fc68335b0c, 0x47309cfa445b00ff + .quad 0x4704bd1bfa2aba3d, 0x472fc0d55470cf51 + .quad 0x4703c4c504792bf8, 0x472e577bbcd49935 + .quad 0x4702d77bd3a382bc, 0x472cfd4a5adec5c0 + .quad 0x4701f4c988d02149, 0x472bb1a9657ce465 + .quad 0x47011c3bed8e716a, 0x472a740684026555 + .quad 0x47004d654905dad0, 0x472943d4a1d1ed39 + .quad 0x46ff0fb86d056745, 0x4728208bc334a6a5 + .quad 0x46fd9676faafa27f, 0x472709a8db59f25c + .quad 0x46fc2e43d417197b, 0x4725feada379d8b7 + .quad 0x46fad664518e771b, 0x4724ff207314a102 + .quad 0x46f98e25420092da, 0x47240a8c1949f75e + .quad 0x46f854daa4a49b0f, 0x4723207fb7420eb9 + .quad 0x46f729df6503422a, 0x4722408e9ba3327f + .quad 0x46f60c95193c542d, 0x47216a501f0e42ca + .quad 0x46f4fc63c27c71ae, 0x47209d5f819c9e29 + .quad 0x46f3f8b98f93052a, 0x471fb2b792b40a22 + .quad 0x46f3010aa198de78, 0x471e3bcf436a1a95 + .quad 0x46f214d0d2983650, 0x471cd55277c18d05 + .quad 0x46f1338b7e273194, 0x471b7e94604479dc + .quad 0x46f05cbf4be650ab, 0x471a36eec00926dd + .quad 0x46ef1febf7a916aa, 0x4718fdc1b2dcf7b9 + .quad 0x46ed997c68d65936, 0x4717d2737527c3f9 + .quad 0x46ec2556a4e7a90f, 0x4716b4702d7d5849 + .quad 0x46eac2aa7516ade4, 0x4715a329b7d30748 + .quad 0x46e970b05888fda2, 0x47149e17724f4d41 + .quad 0x46e82ea92dbc1a27, 0x4713a4b60ba9aa4e + .quad 0x46e6fbdddeff308f, 0x4712b6875310f785 + .quad 0x46e5d79f11e27f6b, 0x4711d312098e9dba + .quad 0x46e4c144d984e1b8, 0x4710f9e1b4dd36df + .quad 0x46e3b82e6ba892a4, 0x47102a8673a94692 + .quad 0x46e2bbc1d878d272, 0x470ec929a665b449 + .quad 0x46e1cb6bc4eaa678, 0x470d4f4b4c8e09ed + .quad 0x46e0e69f27a37df3, 0x470be6abbb10a5aa + .quad 0x46e00cd508511266, 0x470a8e8cc1fadef6 + .quad 0x46de7b1882bccac5, 0x47094637d5bacfdb + .quad 0x46dcf09287e48bb9, 0x47080cfdc72220cf + .quad 0x46db792bbc489b04, 0x4706e2367dc27f95 + .quad 0x46da140206ab9450, 0x4705c540b4936fd2 + .quad 0x46d8c03d2d39119b, 0x4704b581b8d170fc + .quad 0x46d77d0e6e5bed21, 0x4703b2652b06c2b2 + .quad 0x46d649b01d73110a, 0x4702bb5cc22e5db6 + .quad 0x46d525654343aad2, 0x4701cfe010e2052d + .quad 0x46d40f79420887c7, 0x4700ef6c4c84a0fe + .quad 0x46d3073f7cff4a85, 0x47001984165a5f36 + .quad 0x46d20c1303550f0e, 0x46fe9b5e8d00ce77 + .quad 0x46d11d563e54f40e, 0x46fd16f5716c6c1a + .quad 0x46d03a72a2bbdc06, 0x46fba4f035d60e03 + .quad 0x46cec5b0ca2b20f5, 0x46fa447b7b03f045 + .quad 0x46cd2bfc6210880a, 0x46f8f4ccca7fc90d + .quad 0x46cba6c1c6e87c40, 0x46f7b5223dac7336 + .quad 0x46ca35068e9c89cf, 0x46f684c227fcacef + .quad 0x46c8d5dbaa383b98, 0x46f562fac4329b48 + .quad 0x46c7885ce9f67cdb, 0x46f44f21e49054f2 + .quad 0x46c64bb0863504dd, 0x46f34894a5e24657 + .quad 0x46c51f06ad20e4c3, 0x46f24eb7254ccf83 + .quad 0x46c4019914f0b53a, 0x46f160f438c70913 + .quad 0x46c2f2aa92823e80, 0x46f07ebd2a2d2844 + .quad 0x46c1f186b432c98b, 0x46ef4f12e9ab070a + .quad 0x46c0fd8160ca94a0, 0x46edb5ad0b27805c + .quad 0x46c015f67a552924, 0x46ec304efa2c6f4e + .quad 0x46be749309831666, 0x46eabe09e9144b5e + .quad 0x46bcd3caa04cdd1b, 0x46e95df988e76644 + .quad 0x46bb48774d0f8e45, 0x46e80f439b4ee04b + .quad 0x46b9d189f9f85cbf, 0x46e6d11788a69c64 + .quad 0x46b86e0050236315, 0x46e5a2adfa0b4bc4 + .quad 0x46b71ce426a561d3, 0x46e4834877429b8f + .quad 0x46b5dd4af79906a9, 0x46e37231085c7d9a + .quad 0x46b4ae555af52cdf, 0x46e26eb9daed6f7e + .quad 0x46b38f2e86f38216, 0x46e1783ceac28910 + .quad 0x46b27f0bd5d0e6b1, 0x46e08e1badf0fced + .quad 0x46b17d2c50b2bfaf, 0x46df5f7d88472604 + .quad 0x46b088d83f7e4069, 0x46ddb92b5212fb8d + .quad 0x46af42c17ae0ebf6, 0x46dc282cd3957eda + .quad 0x46ad8c3ea48f2889, 0x46daab7abace48dc + .quad 0x46abeceb1f9f5b3d, 0x46d94219bfcb4928 + .quad 0x46aa6399674d366b, 0x46d7eb1a2075864e + .quad 0x46a8ef2a9a18d857, 0x46d6a597219a93da + .quad 0x46a78e8dcd2e6bfd, 0x46d570b69502f313 + .quad 0x46a640bf6745325e, 0x46d44ba864670882 + .quad 0x46a504c882a97424, 0x46d335a62115bce2 + .quad 0x46a3d9be56279ee9, 0x46d22df298214423 + .quad 0x46a2bec1a4917edb, 0x46d133d96ae7e0dd + .quad 0x46a1b2fe32991d5c, 0x46d046aeabcfcdec + .quad 0x46a0b5aa42bf5054, 0x46cecb9cfe1d8642 + .quad 0x469f8c0c2e2ce8de, 0x46cd21397ead99cb + .quad 0x469dc6b6f1384e18, 0x46cb8d094c86d374 + .quad 0x469c19fa87de37fb, 0x46ca0df0f0c626dc + .quad 0x469a848df650bea7, 0x46c8a2e269750a39 + .quad 0x46990538b942ea7c, 0x46c74adc8f4064d3 + .quad 0x46979ad1fce5b3d8, 0x46c604ea819f007c + .quad 0x4696443fdcf0c327, 0x46c4d0231928c6f9 + .quad 0x46950076ad55cc39, 0x46c3aba85fe22e20 + .quad 0x4693ce784b411931, 0x46c296a70f414053 + .quad 0x4692ad53760d7287, 0x46c1905613b3abf2 + .quad 0x46919c232fd50b88, 0x46c097f6156f32c5 + .quad 0x46909a0e254c75e0, 0x46bf59a20caf6695 + .quad 0x468f4c8c392fb944, 0x46bd9c73698fb1dc + .quad 0x468d800ed59bd026, 0x46bbf716c6168bae + .quad 0x468bcd30dfbd611b, 0x46ba6852c6b58392 + .quad 0x468a32923130213f, 0x46b8eefd70594a89 + .quad 0x4688aee4cd06ec1b, 0x46b789fb715aae95 + .quad 0x468740ebfab80eb4, 0x46b6383f726a8e04 + .quad 0x4685e77b6bbd2127, 0x46b4f8c96f26a26a + .quad 0x4684a1766b6e5e8a, 0x46b3caa61607f920 + .quad 0x46836dcf18a6465c, 0x46b2acee2f5ecdb8 + .quad 0x46824b85a8bf0124, 0x46b19ec60b1242ed + .quad 0x468139a7b37f8475, 0x46b09f5cf4dd2877 + .quad 0x4680374f8792ca97, 0x46af5bd95d8730d8 + .quad 0x467e87470e4f4246, 0x46ad9371e2ff7c35 + .quad 0x467cbbab18b73217, 0x46abe41de54d155a + .quad 0x467b0a44aa2f067e, 0x46aa4c89e08ef4f3 + .quad 0x467971a1ec0f40c7, 0x46a8cb738399b12c + .quad 0x4677f064a8ba8323, 0x46a75fa8dbc84bec + .quad 0x467685414c16188e, 0x46a608078a70dcbc + .quad 0x46752efdf060cd20, 0x46a4c37c0394d094 + .quad 0x4673ec7176d784b5, 0x46a39100d5687bfe + .quad 0x4672bc82ab9d2302, 0x46a26f9df8519bd7 + .quad 0x46719e2774614040, 0x46a15e6827001f18 + .quad 0x467090640946d2d5, 0x46a05c803e4831c1 + .quad 0x466f24946f22d5ae, 0x469ed22548cffd35 + .quad 0x466d45f15b49b35e, 0x469d06ad6ecdf971 + .quad 0x466b83349fd05191, 0x469b551c847fbc96 + .quad 0x4669dacb2c432ef4, 0x4699bc09f112b494 + .quad 0x46684b37e1cbf8eb, 0x46983a1ff0aa239d + .quad 0x4666d3126d74b6cc, 0x4696ce1aa3fd7bdd + .quad 0x4665710631158bff, 0x469576c72b514859 + .quad 0x466423d13a3b73e1, 0x46943302cc4a0da8 + .quad 0x4662ea43465e3995, 0x469301ba221dc9bb + .quad 0x4661c33cd3c37add, 0x4691e1e857adc568 + .quad 0x4660adae3e73c2b5, 0x4690d2966b1746f7 + .quad 0x465f512dd15b73b7, 0x468fa5b4f49cc6b2 + .quad 0x465d6608dc942687, 0x468dc3ae30b55c16 + .quad 0x465b9823c51276e1, 0x468bfd7555a3bd68 + .quad 0x4659e5ce2f93dd76, 0x468a517d9e61628a + .quad 0x46584d6fe15b6b93, 0x4688be4f8f6c951f + .quad 0x4656cd87746bc76b, 0x46874287ded49339 + .quad 0x465564a91cd221f0, 0x4685dcd669f2cd34 + .quad 0x4654117d7e2c667d, 0x46848bfd38302871 + .quad 0x4652d2c0909ebeb9, 0x46834ecf8a3c124a + .quad 0x4651a7409475f2f9, 0x46822430f521cbcf + .quad 0x46508ddd13bd35e7, 0x46810b1488aeb235 + .quad 0x464f0b0be22d18e8, 0x4680027c00a263a6 + .quad 0x464d1a75065a8c74, 0x467e12ee004efc37 + .quad 0x464b48117843c1c7, 0x467c3e44ae32b16b + .quad 0x46499218b8ac7f8e, 0x467a854ea14102a8 + .quad 0x4647f6dc6010b4ad, 0x4678e6761569f45d + .quad 0x464674c6ae60d852, 0x4677603bac345f65 + .quad 0x46450a592e3c968e, 0x4675f1353cdad001 + .quad 0x4643b62b6aafb0c8, 0x4674980cb3c80949 + .quad 0x464276e9b681072f, 0x4673537f00b6ad4d + .quad 0x46414b54042f445b, 0x4672225b12bffc68 + .quad 0x4640323ccdc1a3dc, 0x46710380e1adb7e9 + .quad 0x463e5510173b9a50, 0x466febc107d5efaa + .quad 0x463c6654733b86ad, 0x466df0f2a0ee6947 + .quad 0x463a964ed354f984, 0x466c14b2188bcee4 + .quad 0x4638e324c651b064, 0x466a553644f7f07d + .quad 0x46374b179d1eba81, 0x4668b0cfce0579e0 + .quad 0x4635cc82d9070d95, 0x466725e7c5dd20f7 + .quad 0x463465daafca8b1d, 0x4665b2fe547a1340 + .quad 0x463315aaa46df48e, 0x466456a974e92e93 + .quad 0x4631da9433aebbcf, 0x46630f93c3699078 + .quad 0x4630b34d93135fc0, 0x4661dc7b5b978cf8 + .quad 0x462f3d41033c44cc, 0x4660bc30c5d52f15 + .quad 0x462d36d25268cd2b, 0x465f5b2be65a0c7f + .quad 0x462b512a1fb1d8fc, 0x465d5f3a8dea7357 + .quad 0x46298a442fc4fc15, 0x465b82915b03515b + .quad 0x4627e03b1cc6d738, 0x4659c3517e789488 + .quad 0x462651468e010b8a, 0x46581fb7df06136e + .quad 0x4624dbb989001d84, 0x4656961b8d641d06 + .quad 0x46237e00dac4e8b5, 0x465524ec4d916cae + .quad 0x462236a197bf0b9a, 0x4653cab1343d18d1 + .quad 0x46210437b1569d7e, 0x4652860757487a01 + .quad 0x461fcae93fb7323c, 0x465155a09065d4f7 + .quad 0x461db23c3f816f92, 0x4650384250e4c9fc + .quad 0x461bbc1a022c14d4, 0x464e59890b926c78 + .quad 0x4619e658108af2e0, 0x464c642116a8a9e3 + .quad 0x46182eedbe410407, 0x464a8e405e651ab6 + .quad 0x461693f22ab61ce9, 0x4648d5f98114f872 + .quad 0x4615139a5f3661fb, 0x4647397c5a66e307 + .quad 0x4613ac3788a1b429, 0x4645b71456c5a4c4 + .quad 0x46125c354b26cb4e, 0x46444d26de513197 + .quad 0x461122182e9a270f, 0x4642fa31d6371537 + .quad 0x460ff8f84418d510, 0x4641bcca373b7b43 + .quad 0x460dd4262aac53e8, 0x4640939ab853339f + .quad 0x460bd3474ec16ca5, 0x463efac5187b2863 + .quad 0x4609f40fd0082b72, 0x463cf1e86235d0e7 + .quad 0x4608345858c4438d, 0x463b0a68a2128bab + .quad 0x4606921be96b86b1, 0x4639423165bc4444 + .quad 0x46050b75c536f927, 0x4637974e743dea3d + .quad 0x46039e9f7dcbe479, 0x463607e9eacd1050 + .quad 0x460249ef1c3be817, 0x4634924a74dec729 + .quad 0x46010bd565b35393, 0x463334d19e0c2160 + .quad 0x45ffc5b8748842b2, 0x4631edfa3c5f5cca + .quad 0x45fd9b4a18a38642, 0x4630bc56f1b54701 + .quad 0x45fb95cede6d524b, 0x462f3d2185e047d9 + .quad 0x45f9b2df77a02225, 0x462d26cb87945e87 + .quad 0x45f7f03b935e8e3a, 0x462b334fac4b9f99 + .quad 0x45f64bc777824f0e, 0x46296076f7918d1c + .quad 0x45f4c389be9acb83, 0x4627ac2d72fc2c63 + .quad 0x45f355a9387de78c, 0x462614801550319e + .quad 0x45f2006aeb6bc768, 0x4624979ac8b28927 + .quad 0x45f0c23033e2a376, 0x462333c68e2d0548 + .quad 0x45ef32ea02b55d23, 0x4621e767bce37dd7 + .quad 0x45ed099c5c770f5a, 0x4620b0fc5b6d05a0 + .quad 0x45eb05cfe2e99435, 0x461f1e3523b41d7d + .quad 0x45e92508d0743fc9, 0x461d00de6608effe + .quad 0x45e764f46cf19f9c, 0x461b0778b7b3301b + .quad 0x45e5c36679625a01, 0x46192fb04ec0f6cf + .quad 0x45e43e56c3e340a7, 0x46177756ec9f78fa + .quad 0x45e2d3dee1869201, 0x4615dc61922d5a06 + .quad 0x45e182380bd2f494, 0x46145ce65699ff6d + .quad 0x45e047b91fcb6491, 0x4612f71a5f159970 + .quad 0x45de45a9790460c1, 0x4611a94ff571654f + .quad 0x45dc242efeaca760, 0x461071f4bbea09ec + .quad 0x45da284cb82c31ce, 0x460e9f1ff8ddd774 + .quad 0x45d84f7a1eb7f7f3, 0x460c818223a202c7 + .quad 0x45d697595326d7dc, 0x460a887bd2b4404d + .quad 0x45d4fdb462549af1, 0x4608b1a336c5eb6b + .quad 0x45d3807ab51436a8, 0x4606fab63324088a + .quad 0x45d21dbea9108398, 0x46056197e30205ba + .quad 0x45d0d3b35021d695, 0x4603e44e45301b92 + .quad 0x45cf4154a787cc1b, 0x460281000bfe4c3f + .quad 0x45cd0623f4f4a28f, 0x460135f28f2d50b4 + .quad 0x45caf2e69a262610, 0x46000187dded5975 + .quad 0x45c904e0b3aa82a3, 0x45fdc479de0ef001 + .quad 0x45c73985278fa30e, 0x45fbad4fdad3caa1 + .quad 0x45c58e7298af87d9, 0x45f9baed3ed27ab8 + .quad 0x45c401708b7e64c6, 0x45f7ead9ce4285bb + .quad 0x45c2906cb94eb40d, 0x45f63ac6b4edc88e + .quad 0x45c139788f2dd663, 0x45f4a88be2a6390c + .quad 0x45bff58dab4f2a79, 0x45f332259185f1a0 + .quad 0x45bda552fdd03043, 0x45f1d5b1f3793044 + .quad 0x45bb7f1f31b571b6, 0x45f0916f04b6e18b + .quad 0x45b98006c2117e39, 0x45eec77101de6926 + .quad 0x45b7a550f03b145b, 0x45ec960bf23153e0 + .quad 0x45b5ec74662c5961, 0x45ea8bd20fc65ef7 + .quad 0x45b453141082302a, 0x45e8a61745ec7d1d + .quad 0x45b2d6fc2c9e8bc0, 0x45e6e25d0e756261 + .quad 0x45b1761f87a6dc3d, 0x45e53e4f7d1666cb + .quad 0x45b02e94eb4ac8a5, 0x45e3b7c27a7ddb0e + .quad 0x45adfd296adef82a, 0x45e24caf2c32af14 + .quad 0x45abc8ed301215eb, 0x45e0fb3186804d0f + .quad 0x45a9bd5efd2c0f15, 0x45df830c0bb41fd7 + .quad 0x45a7d79f2db2d4a5, 0x45dd3c0f1a91c846 + .quad 0x45a61500f5293f06, 0x45db1e5acf351d87 + .quad 0x45a47306f04df3d6, 0x45d92712d259ce66 + .quad 0x45a2ef5ff0323b28, 0x45d7538c60a04476 + .quad 0x45a187e3fb74914d, 0x45d5a14b04b47879 + .quad 0x45a03a918225a966, 0x45d40dfd87456f4c + .quad 0x459e0b15822be4e0, 0x45d2977b1172b9d5 + .quad 0x459bce26a2fb7176, 0x45d13bc07e891491 + .quad 0x4599bb1bc445c3c6, 0x45cff1dbb4300811 + .quad 0x4597cef42e9a617d, 0x45cd9a880f306bd8 + .quad 0x459606e51e0a4963, 0x45cb6e45220b55e0 + .quad 0x459460560e841d79, 0x45c96a0b33f2c4da + .quad 0x4592d8dd47a40ad8, 0x45c78b07e9e924ac + .quad 0x45916e3ca3d4393f, 0x45c5ce9ab1670dd2 + .quad 0x45901e5e8edda47b, 0x45c4325167006bb0 + .quad 0x458dcea670907819, 0x45c2b3e53538ff3f + .quad 0x458b8e9bec48816d, 0x45c15137a7f44864 + .quad 0x45897945aa1c9c35, 0x45c0084ff125639d + .quad 0x45878b88a4e7107b, 0x45bdaeb0b7311ec7 + .quad 0x4585c2827c986b62, 0x45bb7937d1c40c53 + .quad 0x45841b858361b0fe, 0x45b96d082f59ab06 + .quad 0x458294150fb19119, 0x45b7872d9fa10aad + .quad 0x458129e20e732adc, 0x45b5c4e8e37bc7d0 + .quad 0x457fb58fa290d436, 0x45b423ac0df49a40 + .quad 0x457d499229819bc6, 0x45b2a117230ad284 + .quad 0x457b0c1a759f7739, 0x45b13af4f04f9998 + .quad 0x4578f9bb6c075486, 0x45afde703724e560 + .quad 0x45770f4744735c2b, 0x45ad77f0c82e7641 + .quad 0x457549cb0f7ef8e2, 0x45ab3ee02611d7dd + .quad 0x4573a68a8c1234e1, 0x45a92ff33023d5bd + .quad 0x457222fc469e8b8c, 0x45a7481a9e69f53f + .quad 0x4570bcc5fd30f1dd, 0x45a5847eda620959 + .quad 0x456ee3728761897b, 0x45a3e27c1fcc74bd + .quad 0x456c7fa0c7e3bac7, 0x45a25f9ee0b923dc + .quad 0x456a4a56eb132a54, 0x45a0f9a068653200 + .quad 0x4568401b5336a8a0, 0x459f5cc7718082b0 + .quad 0x45665db58e2358c1, 0x459cf7e53d6a2ca5 + .quad 0x4564a029a7ea7cd1, 0x459ac0f5f3229372 + .quad 0x456304b3d1961171, 0x4598b498644847ea + .quad 0x456188c45630dc53, 0x4596cfa9bcca59dc + .quad 0x456029fbd8b92835, 0x45950f411d4fd2cd + .quad 0x455dcc4fabf32f1c, 0x459370ab8327af5e + .quad 0x455b767ecb334a7e, 0x4591f167f88c6b6e + .quad 0x45594ec06c0ff29f, 0x45908f24085d4597 + .quad 0x455751977e5803d3, 0x458e8f70e181d61a + .quad 0x45557bc950253825, 0x458c324c20e337dc + .quad 0x4553ca58b816a87f, 0x458a03261574b54e + .quad 0x45523a8197d2607e, 0x4587fe903cdf5855 + .quad 0x4550c9b4b0a6a16f, 0x4586215c58da3450 + .quad 0x454eeb27891d2bb3, 0x45846897d4b69fc6 + .quad 0x454c77dbfc848866, 0x4582d1877d731b7b + .quad 0x454a357936adf17b, 0x458159a386b11517 + .quad 0x4548203fa7992554, 0x457ffd27ae9393ce + .quad 0x454634b7f56b0a5c, 0x457d7c593130dd0b + .quad 0x45446fada7e6a5fe, 0x457b2cd607c79bcf + .quad 0x4542ce2a3690576b, 0x45790ae4d3405651 + .quad 0x45414d707280e6cf, 0x45771312dd1759e2 + .quad 0x453fd5f08ad2b29a, 0x4575422ef5d8949d + .quad 0x453d48d57f7718b7, 0x45739544b0ecc957 + .quad 0x453aef3ce0add578, 0x45720997f73e73dd + .quad 0x4538c52800f939c8, 0x45709ca0eaacd277 + .quad 0x4536c6e61e57bf9b, 0x456e9810295890ec + .quad 0x4534f10e8ebc44a9, 0x456c2b45b5aa4a1d + .quad 0x4533407b59d72a5b, 0x4569eee068fa7596 + .quad 0x4531b2443858c0a1, 0x4567df2b399c10a8 + .quad 0x453043b9f1621ff3, 0x4565f8b87a31bd85 + .quad 0x452de4c41eb96b45, 0x4564385c96e9a2d9 + .quad 0x452b77e5cbd5d147, 0x45629b2933ef4cbc + .quad 0x45293c9fc62bfb11, 0x45611e68a6378f8a + .quad 0x45272f0c4c8e9bff, 0x455f7f338086a86b + .quad 0x45254b92affb11af, 0x455cf8d7d9ce040a + .quad 0x45238ee17b150182, 0x455aa577251ae485 + .quad 0x4521f5e908f70e0c, 0x4558811d739efb5f + .quad 0x45207dd6833bb380, 0x45568823e52970be + .quad 0x451e481e7f6ac4bc, 0x4554b72ae68e8b4c + .quad 0x451bcc58edad5559, 0x45530b14dbe876bc + .quad 0x451983ee9896d582, 0x455181012ef86610 + .quad 0x45176aca47764427, 0x45501647ba798745 + .quad 0x45157d287836bd3d, 0x454d90e917701675 + .quad 0x4513b79118c097a1, 0x454b2a87e86d0c8a + .quad 0x451216d1b97279a9, 0x4548f53dcb377293 + .quad 0x451097f82fc04025, 0x4546ed2f2515e933 + .quad 0x450e709b415656d0, 0x45450ecc9ed47f19 + .quad 0x450beaa3d6c15504, 0x454356cd5ce7799e + .quad 0x4509996ed9b83967, 0x4541c229a587ab78 + .quad 0x450778be2bd9795b, 0x45404e15ecc7f3f6 + .quad 0x450584a99af8a842, 0x453deffc7e6a6017 + .quad 0x4503b99832cbefdd, 0x453b7b040832f310 + .quad 0x4502143a112d0466, 0x453938e021f36d76 + .quad 0x45009182b326b229, 0x4537258610b3b233 + .quad 0x44fe5d47637f5db5, 0x45353d3bfc82a909 + .quad 0x44fbd20fcc3b76d7, 0x45337c92babdc2fd + .quad 0x44f97c9dda748fc7, 0x4531e06010120f6a + .quad 0x44f7589207e91ad1, 0x453065b9616170d4 + .quad 0x44f561e669aa7fdb, 0x452e13dd96b3753b + .quad 0x44f394e7a2ac9fc7, 0x452b950d32467392 + .quad 0x44f1ee2e61eccc99, 0x45294a72263259a5 + .quad 0x44f06a996198f06f, 0x45272fd93e036cdc + .quad 0x44ee0e8fbad2703e, 0x45254164576929ab + .quad 0x44eb8328ee330ae9, 0x45237b83c521fe96 + .quad 0x44e92e21013a7670, 0x4521daf033182e96 + .quad 0x44e70aff489136eb, 0x45205ca50205d26a + .quad 0x44e515a7c77fab48, 0x451dfbb6235639fa + .quad 0x44e34a53ce0bbb6f, 0x451b7807e294781f + .quad 0x44e1a58b2b09fdcb, 0x4519298add70a734 + .quad 0x44e0241de6c31e5b, 0x45170beaf9c7ffb6 + .quad 0x44dd863cf753825c, 0x45151b2cd6709222 + .quad 0x44daffb906d0ae09, 0x451353a6cf7f7fff + .quad 0x44d8afbf9e9520c2, 0x4511b1fa8cbe84a7 + .quad 0x44d691c7c768bece, 0x4510330f0fd69921 + .quad 0x44d4a1a79df39cde, 0x450da81670f96f9b + .quad 0x44d2db8ca9009091, 0x450b24a16b4d09aa + .quad 0x44d13bf4cb384e4a, 0x4508d6eeb6efdbd6 + .quad 0x44cf7f4f88751db4, 0x4506ba91ac734786 + .quad 0x44ccc7626bced452, 0x4504cb7966770ab5 + .quad 0x44ca4ab6470c1c5c, 0x450305e9721d0981 + .quad 0x44c80451c2811052, 0x4501667311fff70a + .quad 0x44c5efa4d64f59f6, 0x44ffd3de10d62855 + .quad 0x44c40880373ed740, 0x44fd1aefbcd48d0c + .quad 0x44c24b0d7368076e, 0x44fa9cc93c25aca9 + .quad 0x44c0b3c7b0d960f0, 0x44f85487ee3ea735 + .quad 0x44be7eea02e4ed88, 0x44f63daf8b4b1e0c + .quad 0x44bbd6408059b696, 0x44f45421e69a6ca1 + .quad 0x44b96826d9e90341, 0x44f294175802d99a + .quad 0x44b72fa4fa12d516, 0x44f0fa17bf41068f + .quad 0x44b5282d2d5803fe, 0x44ef05e82aae2bb9 + .quad 0x44b34d935f1be064, 0x44ec578101b29058 + .quad 0x44b19c050c56d0d7, 0x44e9e39dc5dd2f7c + .quad 0x44b01001dd9c7cce, 0x44e7a553a728bbf2 + .quad 0x44ad4ca9b634ecba, 0x44e5982008db1304 + .quad 0x44aab81c5c80cf39, 0x44e3b7e00422e51b + .quad 0x44a85cfacb7477f2, 0x44e200c898d9ee3e + .quad 0x44a6365862923eb9, 0x44e06f5f7eb65a56 + .quad 0x44a43fb317b5dc37, 0x44de00e9148a1d25 + .quad 0x44a274ea96044bd7, 0x44db623734024e92 + .quad 0x44a0d23817479c67, 0x44d8fd4e01891bf8 + .quad 0x449ea84dd1592590, 0x44d6cd44c7470d89 + .quad 0x449bef1b1a12823e, 0x44d4cd9c04158cd7 + .quad 0x4499730edfda64ac, 0x44d2fa34bf5c8344 + .quad 0x44972ede3b7eaa25, 0x44d14f4890ff2461 + .quad 0x44951db1ec3a3087, 0x44cf92c49dfa4df5 + .quad 0x44933b1c9d1576ec, 0x44cccaaea71ab0df + .quad 0x44918311f8a03aca, 0x44ca40829f001197 + .quad 0x448fe3bcf4629fea, 0x44c7eef13b59e96c + .quad 0x448d083fda665164, 0x44c5d11e1a252bf5 + .quad 0x448a6d7d18831888, 0x44c3e296303b2297 + .quad 0x44880dcd6603df1b, 0x44c21f47009f43ce + .quad 0x4485e4062d5b6a4e, 0x44c083768c5e4542 + .quad 0x4483eb6ef47c2758, 0x44be1777d831265f + .quad 0x44821fb7a81c5444, 0x44bb69f10b0191b5 + .quad 0x44807cefb734d68b, 0x44b8f8a3a05b5b53 + .quad 0x447dfefbdb19ac7e, 0x44b6be573c40c8e7 + .quad 0x447b4831fb123440, 0x44b4b645ba991fdb + .quad 0x4478cf81557d20b6, 0x44b2dc119095729f + .quad 0x44768f6f0feb4755, 0x44b12bbcfa4d62de + .quad 0x447482fa78c40635, 0x44af4343c7d504b9 + .quad 0x4472a59289a484fb, 0x44ac74d4fe1e0e8b + .quad 0x4470f30c4d0be5c0, 0x44a9e614ecbf4af6 + .quad 0x446ecf3428c48d4f, 0x44a791716475420c + .quad 0x446bff86d9ec8499, 0x44a571d34563050a + .quad 0x446970bb87f4ae14, 0x44a3829407a207d8 + .quad 0x44671d0b55b79b86, 0x44a1bf74244aed5a + .quad 0x4464ff315d036fbd, 0x44a024924c7520d1 + .quad 0x4463125f6a3d2570, 0x449d5cc6ba567f29 + .quad 0x44615233ae8815f2, 0x449ab3560167ccaa + .quad 0x445f755ea760487d, 0x449846e9dda7a163 + .quad 0x445c905bbd9ab5a6, 0x4496121d7db32bdd + .quad 0x4459eebaa0589b4e, 0x449410047ead6894 + .quad 0x44578a6de0f41b89, 0x44923c2090cdde78 + .quad 0x44555df1790f2f61, 0x44909257fca001c0 + .quad 0x4453643ec463a3cf, 0x448e1dd9ec677783 + .quad 0x445198c18435598d, 0x448b5ceb5a13221b + .quad 0x444fee9bab9f4e14, 0x4488dbaa11de2037 + .quad 0x444cf82e0eb6196b, 0x448694680a9a3ee6 + .quad 0x444a474e7029a919, 0x448481f73b3778e8 + .quad 0x4447d5af6513e2be, 0x44829f9e7d8fd094 + .quad 0x44459d93e1d8f57d, 0x4480e90f64b5b103 + .quad 0x444399c279e4699a, 0x447eb4b9e47b58c9 + .quad 0x4441c579bbca6885, 0x447bdfe62f60dd70 + .quad 0x44401c659160612d, 0x44794d1de5c4576f + .quad 0x443d352b1ae26940, 0x4476f66f6ab90c3c + .quad 0x443a78e8252c204d, 0x4474d67050b31c2a + .quad 0x4437fd7c80f3410e, 0x4472e8318008cf89 + .quad 0x4435bcf92cc55d86, 0x4471273463a1589b + .quad 0x4433b1f876b10da7, 0x446f1ec20afad0e2 + .quad 0x4431d791bb1324a1, 0x446c39fa0d4a5a2b + .quad 0x4430294e37abcee8, 0x44699946bf7e02a1 + .quad 0x442d463db5fa3c13, 0x44673679b24aeb9b + .quad 0x442a82a5f4047a5b, 0x44650bf2558ab78f + .quad 0x4428011fb05fe090, 0x446314916abfa1ea + .quad 0x4425bb91decf8a58, 0x44614bad9006f53b + .quad 0x4423ac71ce35c1d3, 0x445f5a1196b5bb2e + .quad 0x4421ceb656955c59, 0x445c698e001f6d30 + .quad 0x44201dcc2acf7755, 0x4459beca74b0f147 + .quad 0x441d2b166911c178, 0x445753637caac6d9 + .quad 0x441a6459c5b11342, 0x4455218993857afc + .quad 0x4417e086accc805d, 0x445323f3f19cff3e + .quad 0x44159962aef547b3, 0x445155d47fdb9c94 + .quad 0x4413894608650ede, 0x444f6599b70323ca + .quad 0x4411ab0e4d284f44, 0x444c6dc8a4bb3ba6 + .quad 0x440ff4248ebb8299, 0x4449bcfd83a431e9 + .quad 0x440ce42dd8e4fa23, 0x44474ca889bbacd5 + .quad 0x440a1e8aa1400997, 0x444516d33e26c040 + .quad 0x44079c430435a7fc, 0x44431612a7ef535f + .quad 0x440557046eb39249, 0x4441457ab75c2489 + .quad 0x440349127b59b217, 0x443f41259c9550c0 + .quad 0x44016d392dff5104, 0x443c46969ca99a2e + .quad 0x43ff7d80dc993f2f, 0x443993e82b76e726 + .quad 0x43fc72c149cb214b, 0x44372267ac1b25a0 + .quad 0x43f9b270c24cc8fa, 0x4434ec0062aeeb78 + .quad 0x43f73585df7b6643, 0x4432eb2d18a2081b + .quad 0x43f4f59f9910367e, 0x44311aeb0b11d1a1 + .quad 0x43f2ecf5b7f6abe3, 0x442eed5c0bbf1061 + .quad 0x43f1164ab45aa235, 0x442bf4ab21b4f3f0 + .quad 0x43eed9bdbc6f1b0a, 0x442944462d4d5991 + .quad 0x43ebd8c96533b39b, 0x4426d561de54f6a1 + .quad 0x43e921ec84d5860e, 0x4424a1d472804fc8 + .quad 0x43e6ae172414ceba, 0x4422a406e25fcb44 + .quad 0x43e476e3b661be8c, 0x4420d6e7662dda9d + .quad 0x43e276873924f0b4, 0x441e6bba6770e22d + .quad 0x43e0a7c2c9322f59, 0x441b797ab2ba22d2 + .quad 0x43de0bad18c4e37d, 0x4418cf813910fdcd + .quad 0x43db18eba0be4d24, 0x441666f488db6e0a + .quad 0x43d86f7884e1caad, 0x4414399f7770045f + .quad 0x43d608484d592328, 0x441241e1ebbbf4ec + .quad 0x43d3dcfaee52a8f5, 0x44107aa30ce6a5a0 + .quad 0x43d1e7cbac093f27, 0x440dbe8969a24c6f + .quad 0x43d023827dc88ed9, 0x440ad7301258d788 + .quad 0x43cd16cd999791c3, 0x440837a640fa9d3d + .quad 0x43ca3666de0788b0, 0x4405d90f358d61f6 + .quad 0x43c79e17816df1e8, 0x4403b5342f7be9c0 + .quad 0x43c546e385224d10, 0x4401c674ecd152d3 + .quad 0x43c32a7a483e977b, 0x440007b997a0b531 + .quad 0x43c1432649c86c4d, 0x43fce8cc007a6432 + .quad 0x43bf177ce0bd5836, 0x43fa109c0bccbc39 + .quad 0x43bbff3166bc36ee, 0x43f77f5624913c3a + .quad 0x43b934fc0975fb30, 0x43f52e251d5d3b1f + .quad 0x43b6b13ebb9a5ad4, 0x43f316da780bc4d9 + .quad 0x43b46d17a80cc174, 0x43f133deb1d35260 + .quad 0x43b2624f3a0a8870, 0x43ef00460b24acf8 + .quad 0x43b08b47d7733cb6, 0x43ebee2903d584f9 + .quad 0x43adc5de496b1810, 0x43e92920a7c80e26 + .quad 0x43aac9615b3c9fd7, 0x43e6a9b25345c773 + .quad 0x43a818d3a356669e, 0x43e4691b26b9c82f + .quad 0x43a5acbdab2ed713, 0x43e2613e9610f6d1 + .quad 0x43a37e61fd4c0fe0, 0x43e08c969adf0bea + .quad 0x43a187ab3d71db11, 0x43ddcc4ac4f59be5 + .quad 0x439f8637ea4e52ac, 0x43dad2d0a9a18288 + .quad 0x439c577fd709b099, 0x43d82498a7cc94b9 + .quad 0x43997a3dc62119c8, 0x43d5ba462dee8a02 + .quad 0x4396e66137bb7cca, 0x43d38d330d8806a0 + .quad 0x439494a3f6a9a70e, 0x43d1975e0627306c + .quad 0x43927e767bb79ea2, 0x43cfa6b5ee8f3088 + .quad 0x43909dee32687729, 0x43cc78892308bd90 + .quad 0x438ddb6ae2f39381, 0x43c99b5ec6741cb3 + .quad 0x438ad1f9fba4b2ab, 0x43c7073c400e10dc + .quad 0x438816dde4c11ca3, 0x43c4b4ee0b3a84d6 + .quad 0x4385a245d5e5289c, 0x43c29df4862ac231 + .quad 0x43836d26a686daaf, 0x43c0bc7294e0cbaf + .quad 0x438171277cbbce9c, 0x43be163bd8df8640 + .quad 0x437f5120b45c00e6, 0x43bb0a61bce91993 + .quad 0x437c1c74b30d0bb0, 0x43b84cbb00f925f0 + .quad 0x43793b02e5cf0324, 0x43b5d5841ce6cb73 + .quad 0x4376a46f43f3118c, 0x43b39dbcd485dd07 + .quad 0x43745132973bb79b, 0x43b19f153b38a108 + .quad 0x43723a85891dc72b, 0x43afa7b9159fc471 + .quad 0x43705a4dba466c4e, 0x43ac6de3429e31fa + .quad 0x436d561964307dc4, 0x43a98769faac8a1b + .quad 0x436a4fa0f13737e8, 0x43a6ebf82977acf0 + .quad 0x4367984b636ad1be, 0x43a4940bc89fa5aa + .quad 0x4365281628cb373a, 0x43a278e135bcf0a4 + .quad 0x4362f7cc38bc628d, 0x43a0946088b6f8ed + .quad 0x436100f1aef8eaf5, 0x439dc21972b9e9f4 + .quad 0x435e7b62ce66acde, 0x439ab3e8cfada51a + .quad 0x435b5198cf325114, 0x4397f5483f729c27 + .quad 0x43587b15da6677af, 0x43957e33e2b1c6da + .quad 0x4355ef5de2e68985, 0x4393477480d89e25 + .quad 0x4353a6d00852a688, 0x43914a8b54629fb2 + .quad 0x43519a90b14f53af, 0x438f033fa073d520 + .quad 0x434f88eba04114cb, 0x438bcede5acc0d40 + .quad 0x434c3dea36b87937, 0x4388ee7b29d0b081 + .quad 0x43494a28136fa731, 0x438659917bbb6632 + .quad 0x4346a4b2c9663fa1, 0x43840877b79cd868 + .quad 0x43444580945b8452, 0x4381f44979177348 + .quad 0x43422558f1aa9f03, 0x438016d3f0358160 + .quad 0x43403dbf8db89298, 0x437cd508600d0ba8 + .quad 0x433d11c2965639f6, 0x4379d4ae77a21604 + .quad 0x433a03065db54a4b, 0x437723974e9529d8 + .quad 0x433745e6013d8cf3, 0x4374b9a944f57915 + .quad 0x4334d1f2eb853100, 0x43728f9c9b769ee3 + .quad 0x43329f9b7c4f56df, 0x43709ee66b6e99e9 + .quad 0x4330a814a1dfc5ed, 0x436dc34b6999ff72 + .quad 0x432dca8b63e38fa9, 0x436aa5249b4cca57 + .quad 0x432aa36c9242f8bc, 0x4367d9db080918ba + .quad 0x4327d0fbfa6c3c19, 0x436558e88e8945ef + .quad 0x43254a6b679dd96f, 0x43631aa564e92066 + .quad 0x432307d4e71272d7, 0x43611831a9c3763d + .quad 0x4321022313b11381, 0x435e96c265c21fbf + .quad 0x431e65f78e13edcd, 0x435b5d52c19374fe + .quad 0x431b2959e487c93f, 0x43587a2188252d5f + .quad 0x43184436cf62b6f8, 0x4355e440cc8caaf9 + .quad 0x4315ad66c67f3f63, 0x435393ad199301de + .quad 0x43135cb549c616eb, 0x43518135a0647102 + .quad 0x43114ac7e9322a1a, 0x434f4ccd98eab06b + .quad 0x430ee20fae75a2c5, 0x434bfaedff2748c1 + .quad 0x430b931b883c77f2, 0x4349026a7e3c9538 + .quad 0x43089e1f8e1d4be6, 0x434659f3419269ee + .quad 0x4305f9a24050e89f, 0x4343f92e9472ca4c + .quad 0x43039d2746cbe57f, 0x4341d89fb6602df9 + .quad 0x43018115431b6c4a, 0x433fe32077e095c4 + .quad 0x42ff3d3ca19edf64, 0x433c7bf775863df5 + .quad 0x42fbdf55dd9bdce0, 0x433970fb0b5580dc + .quad 0x42f8dd8e25d2255d, 0x4336b88087e4af9f + .quad 0x42f62e225ebca190, 0x433449de67f2c6b2 + .quad 0x42f3c855ef212bad, 0x43321d51dc348d4d + .quad 0x42f1a4576cd5cddc, 0x43302be7023a443e + .quad 0x42ef765035c713d8, 0x432cdec7155697e1 + .quad 0x42ec0d0bdeb46ae2, 0x4329c4671c1a6e3c + .quad 0x42e901afbd3819be, 0x4326feb0af26f865 + .quad 0x42e64a386137b955, 0x432484b1e63b3be4 + .quad 0x42e3ddb15521ce49, 0x43224e68a1458bd7 + .quad 0x42e1b418ba2217c6, 0x432054a9a7c2f05a + .quad 0x42df8c8bad8e2a20, 0x431d2214ad33ca5e + .quad 0x42dc1ba4950b8f4f, 0x4319fb9933adac68 + .quad 0x42d90a0b40dd690c, 0x43172b99eccc462e + .quad 0x42d64d860502b279, 0x4314a8e4dbe3539c + .quad 0x42d3dcf1aadc099d, 0x43126b4018ef81f7 + .quad 0x42d1b02414a73357, 0x43106b4fe82cc6ae + .quad 0x42cf7fa3e4bec2ae, 0x430d44feffb34893 + .quad 0x42cc0aee6d6b1406, 0x430a15d86bb23572 + .quad 0x42c8f684065398bf, 0x43073ea5ac0d71a9 + .quad 0x42c637ff9397e989, 0x4304b5fdd0f567fa + .quad 0x42c3c618d3c706eb, 0x4302737769828878 + .quad 0x42c1988625955723, 0x43006f8da87263ce + .quad 0x42bf4fc2f6d50e41, 0x42fd4710a9e149ed + .quad 0x42bbdb204ff1cda3, 0x42fa12cc7b1bf616 + .quad 0x42b8c75a6fa17116, 0x42f73793d6253bd7 + .quad 0x42b609ec277b8703, 0x42f4abd0af44c7f8 + .quad 0x42b399725d96eb63, 0x42f266f2e981ccfb + .quad 0x42b16d8d1241b86b, 0x42f06154a07d21a2 + .quad 0x42aefd875a51d28d, 0x42ed2842b40e25f0 + .quad 0x42ab8cd873c4de72, 0x42e9f27fa465d061 + .quad 0x42a87d2a89e5ac65, 0x42e7167c3937ded9 + .quad 0x42a5c3e42539c769, 0x42e48a7fb96552ca + .quad 0x42a35791e04cd29f, 0x42e245dcbaa25b1b + .quad 0x42a12fc6cdafd10d, 0x42e040d4ab2de626 + .quad 0x429e8a0077a1ed47, 0x42dce8fcb8dadc2c + .quad 0x429b2118f75a4eb7, 0x42d9b55e7c11d9e6 + .quad 0x429818e8b1c2616f, 0x42d6dbce02ec5c77 + .quad 0x429566cdf4525eb0, 0x42d4527acab6dfeb + .quad 0x4293014fd204bc71, 0x42d210a3ddcb4706 + .quad 0x4290dffe0bfc0c74, 0x42d00e7aba6527c9 + .quad 0x428df6a8d5e14f11, 0x42cc8a12a152d814 + .quad 0x428a9942579915cd, 0x42c95c35893651c9 + .quad 0x42879bdc576e403a, 0x42c6884d52cc9914 + .quad 0x4284f3d9114d799b, 0x42c4047ce663f641 + .quad 0x428297c4e6eb62fc, 0x42c1c7f9c74f3e7c + .quad 0x42807f35ef1a4fc0, 0x42bf95dcee779f74 + .quad 0x427d455e0a3b0d94, 0x42bc0cc007cc808e + .quad 0x4279f70bf04a77ce, 0x42b8e82cd2a6133c + .quad 0x427707990a8defef, 0x42b61d0ef76712e4 + .quad 0x42746c779ebb14ae, 0x42b3a1882865d26e + .quad 0x42721c4420bc9879, 0x42b16cce86450b20 + .quad 0x42700ea48df1e7fb, 0x42aeee1d41e1e516 + .quad 0x426c7856a7693627, 0x42ab72a1658393d4 + .quad 0x42693c7abef59a2c, 0x42a85ac17b553c4f + .quad 0x42665df602b1e0ff, 0x42a59b72775450f3 + .quad 0x4263d256a5ee461d, 0x42a32ae03812fc00 + .quad 0x42619053bac5f645, 0x42a1004b9cd4bae6 + .quad 0x425f1f58fe66e142, 0x429e27d88d5289bf + .quad 0x425b9216793da422, 0x429abdab3fb224ce + .quad 0x42586bd6adace04e, 0x4297b5bd9f52a89e + .quad 0x4255a104640aeb74, 0x4295051a941eb130 + .quad 0x42532755417b50dd, 0x4292a20366f6a0de + .quad 0x4250f5a5274f5c45, 0x429083cdb1163405 + .quad 0x424e07ab300dc4b9, 0x428d458a013d18b4 + .quad 0x424a956163a49613, 0x4289f01f97b2e043 + .quad 0x4247879eb52380ed, 0x4286fb2eaf7d8102 + .quad 0x4244d30488394e18, 0x42845be480207b14 + .quad 0x42426d7af2869fc5, 0x428208a2b041836e + .quad 0x42404e0c593552f5, 0x427ff1ba8cbc9c8d + .quad 0x423cd98a274acae3, 0x427c49f8a8ec4aeb + .quad 0x4239852d44d7528b, 0x42790c81ede57558 + .quad 0x4236927c2c3e4970, 0x42762d5a948b6358 + .quad 0x4233f65a98c177c9, 0x4273a1de0952fd2b + .quad 0x4231a6ed66936eea, 0x42716098d4b94692 + .quad 0x422f36ed3084aa81, 0x426ec24d6a8bc072 + .quad 0x422b986ab7ebdd54, 0x426b3828ebcc128b + .quad 0x422864933f3c0573, 0x4268158a3038115e + .quad 0x42258f359f0c4e8f, 0x42654eb3e9a3e72b + .quad 0x42230d82cb8a968c, 0x4262d93b0174f61a + .quad 0x4220d5e5f59de7c1, 0x4260abe0d45fd5c2 + .quad 0x421dbfc240ab5f81, 0x425d7ce33a39bd89 + .quad 0x421a47db588b15cf, 0x425a134d30d655e4 + .quad 0x421736c0d0a31187, 0x42570e16f315ef40 + .quad 0x421480a1879e8f57, 0x425461cda38e2783 + .quad 0x42121b0591ce1cfd, 0x4252044a2faebb7b + .quad 0x420ff94e3fca1752, 0x424fd91813f8cc8c + .quad 0x420c3a9f9558ffa0, 0x424c2530177987fe + .quad 0x4208eb738c76b2f2, 0x4248deb61106f334 + .quad 0x4205fee91a43fef1, 0x4245f91f55e86346 + .quad 0x4203699940a6a811, 0x4243694e7b13691b + .quad 0x4201216c07263de0, 0x4241256a18de488b + .quad 0x41fe3ae49fef5535, 0x423e49705a5ebd5f + .quad 0x41faab87fb8e4441, 0x423abefb3186e784 + .quad 0x41f786c3dca158c4, 0x42379dc285401b7d + .quad 0x41f4c036b7451223, 0x4234d9a4f359ba1e + .quad 0x41f24cec8453db03, 0x423267e46fd85893 + .quad 0x41f02334e92993b9, 0x42303efdea0a0506 + .quad 0x41ec74fc41217dfb, 0x422cad0afbb569b1 + .quad 0x41e9166837399532, 0x42294e0d5e7a8744 + .quad 0x41e61d46c11dd916, 0x422653d077d9eef0 + .quad 0x41e37dbe7711fcd4, 0x4223b2a639494566 + .quad 0x41e12d55c1e73c65, 0x42216038b4af0a0e + .quad 0x41de4594b115943b, 0x421ea6c598920c48 + .quad 0x41daabdabdb93484, 0x421b081aaf25ade1 + .quad 0x41d77f073eb945df, 0x4217d62079a4e4a6 + .quad 0x41d4b252d0bc8beb, 0x4215042e1a8664ed + .quad 0x41d23a7345c57cca, 0x421287117d29a9e6 + .quad 0x41d00d6f8a57f06e, 0x421054e44f8ee735 + .quad 0x41cc44f136cf3bd8, 0x420cc9cbc5fe04a8 + .quad 0x41c8e38df2790b7a, 0x42095eb2cb828067 + .quad 0x41c5e8f828661e21, 0x42065acfefcd0029 + .quad 0x41c3490e7e2bc31c, 0x4203b20c56ad84f5 + .quad 0x41c0f91b7ff9bb2a, 0x420159b917beb87a + .quad 0x41bddf56913a541e, 0x41fe90cb5cac7057 + .quad 0x41ba48cc1b8a7bc7, 0x41faeb7659e5f7ef + .quad 0x41b71fde01e2ca8c, 0x41f7b4b752e86e5f + .quad 0x41b4578e0b906b32, 0x41f4df8ace15322e + .quad 0x41b1e4659a2a2156, 0x41f26072a17961a0 + .quad 0x41af788fc218597b, 0x41f02d48c75e7d9b + .quad 0x41abac92daac0b9d, 0x41ec7a2ecd5f05a0 + .quad 0x41a85518c3484796, 0x41e90feaede7f2ae + .quad 0x41a56441b55bfff1, 0x41e60dcef1cedc3a + .quad 0x41a2cdd203ab43a1, 0x41e36787980e7387 + .quad 0x41a08700c199ad4f, 0x41e112346e13dd7e + .quad 0x419d0c9857c390f3, 0x41de087915129a98 + .quad 0x419986a650394095, 0x41da6a5096da5b7d + .quad 0x41966d6688315ad6, 0x41d73aff07c7874e + .quad 0x4193b3d55ebd8547, 0x41d46d572e10e216 + .quad 0x41914e7b714e7093, 0x41d1f5ba17e5a90b + .quad 0x418e667d9a8bcd9e, 0x41cf93d0d186fbcd + .quad 0x418ab2733e383ad8, 0x41cbc1b22cec72b0 + .quad 0x4187712b76c8c7f6, 0x41c86529e9df069c + .quad 0x418494d8e1d4fc61, 0x41c5702d052bf73a + .quad 0x4182115447c6627d, 0x41c2d65aee08874c + .quad 0x417fb7d503fc65c8, 0x41c08ccb49580d43 + .quad 0x417bd660913b938c, 0x41bd13c32a98512b + .quad 0x41786db66e158524, 0x41b98a4bfd5a5fad + .quad 0x41756f3ed5aa4222, 0x41b66e459a7794f4 + .quad 0x4172ce2265a96bef, 0x41b3b28bbce3c1c6 + .quad 0x41707f14a8d0c116, 0x41b14b8b6b67144e + .quad 0x416cf049ebedf60d, 0x41ae5e26dbef0e28 + .quad 0x41696129ca292f7e, 0x41aaa854b5c4f131 + .quad 0x4166416763f6b3bc, 0x41a765d329106241 + .quad 0x4163837bf030f4a8, 0x41a488b9479ee1c4 + .quad 0x41611b82880134f9, 0x41a204c8d940530b + .quad 0x415dfe0c1b8af1f3, 0x419f9e77238e0031 + .quad 0x415a49aa1651cfca, 0x419bbd2c8fd7e193 + .quad 0x415709b5a3a79128, 0x41985502f16a0f8d + .quad 0x41542ffa7e9ace3f, 0x4195574ceffe3945 + .quad 0x4151affd2eccd616, 0x4192b72182c97af5 + .quad 0x414efd8be43ac9a9, 0x41906925da53a0fc + .quad 0x414b2564005de7e5, 0x418cc6bb6d71090d + .quad 0x4147c694cd2b4ffd, 0x41893a02d0c97221 + .quad 0x4144d23fa69bd814, 0x41861cb1a027e057 + .quad 0x41423b556e6e918e, 0x418361358dd1f243 + .quad 0x413fecbcf04dca90, 0x4180fba0d2660d89 + .quad 0x413bf29264dcdc82, 0x417dc2ef387bd0e0 + .quad 0x4138767d7fc43eb6, 0x417a130711aadcda + .quad 0x413568f9937abc79, 0x4176d758e1ac9659 + .quad 0x4132bc67d8c20136, 0x417401abca024479 + .quad 0x413064d4616b0094, 0x417185819a7f8c6a + .quad 0x412caf8458ad2a12, 0x416eafc2b00a99b1 + .quad 0x412917faff93e540, 0x416ade505ba61e89 + .quad 0x4125f2e79283b1ca, 0x416785c00b5cb27e + .quad 0x41233220b1da4f59, 0x4164973634932c1a + .quad 0x4120c93ac678b0cc, 0x416205a7d78be568 + .quad 0x411d5aa313452dae, 0x415f8b4440d68221 + .quad 0x4119a9b05368c88b, 0x415b9a31a7b9868c + .quad 0x41166ede7f0c2d55, 0x415826756e1a42e2 + .quad 0x41139b7fc18e5891, 0x4155209676e4b424 + .quad 0x411122b662569616, 0x41527b019965e362 + .quad 0x410df2779ceabfc8, 0x415029ce648133fd + .quad 0x410a2a5d2945d2b7, 0x414c45161cd95fe8 + .quad 0x4106dbccf848794a, 0x4148b81d680cdfc5 + .quad 0x4103f79bf21caa96, 0x41459ca24a7521dd + .quad 0x41017080ae674896, 0x4142e48f266999cf + .quad 0x40fe75b024885f54, 0x4140838b13324d03 + .quad 0x40fa98e26924c6c8, 0x413cdd86b83e679d + .quad 0x40f738bf4bc8d296, 0x41393977456406dd + .quad 0x40f445a6a9a273c6, 0x41360a47aca18e96 + .quad 0x40f1b1eabeffc3a5, 0x413341669953fe1c + .quad 0x40eee324e1fde417, 0x4130d210b765b3d6 + .quad 0x40eaf4465e9c5668, 0x412d622fa53c02ce + .quad 0x40e784e3008fb46b, 0x4129a961d6383ef7 + .quad 0x40e484eecd2f1383, 0x41266890cd0bf55f + .quad 0x40e1e65fd1ef2701, 0x412390b73f2a4fb0 + .quad 0x40df39dc6baaccd7, 0x412114ae59581395 + .quad 0x40db3bb863d26278, 0x411dd1e5296953a3 + .quad 0x40d7bf89f052b591, 0x411a06dfa21b6c59 + .quad 0x40d4b4e35dbe0cdd, 0x4116b6a7a27c9005 + .quad 0x40d20d6781986167, 0x4113d1cca3d4f6d8 + .quad 0x40cf790f6877f51e, 0x41114acc164c64fe + .quad 0x40cb6e93fa7299b3, 0x410e2ba80b9c3a1b + .quad 0x40c7e82cde922833, 0x410a511aa3827999 + .quad 0x40c4d515a14a6132, 0x4106f3d9139319ed + .quad 0x40c226a790f97768, 0x410404113d7d18e6 + .quad 0x40bfa02b8ac73416, 0x410173ed60fcd6fa + .quad 0x40bb8c6342337220, 0x40fe6ea95e92c624 + .quad 0x40b7fe6d7fbcef2c, 0x40fa8767775dd309 + .quad 0x40b4e53acc7531b1, 0x40f71f97a2983044 + .quad 0x40b231e547065724, 0x40f42710a88aab19 + .quad 0x40afaed5c4559717, 0x40f18fb2ded8ebb1 + .quad 0x40ab94e0bfb59934, 0x40ee9a4d9b21386e + .quad 0x40a80217e57d8a3f, 0x40eaa947efe69879 + .quad 0x40a4e52d23cf50b0, 0x40e7397d8e2bd385 + .quad 0x40a22f0652094ae6, 0x40e43a79684f6ef6 + .quad 0x409fa4eba730bf60, 0x40e19ddbd8138a90 + .quad 0x409b87f86a26fad7, 0x40deae2ef93df996 + .quad 0x4097f323487ff94a, 0x40dab66cfccafb75 + .quad 0x4094d4ec8ea8ee67, 0x40d7414e5b5ca43c + .quad 0x40921e112e39bf18, 0x40d43e1e22ebfdb4 + .quad 0x408f8283ec45f117, 0x40d19e4732be2ff0 + .quad 0x408b65c7f9f1fbed, 0x40ceaa1efb3b003e + .quad 0x4087d1b22b6810f6, 0x40caaeb7de6855e2 + .quad 0x4084b49e984886e0, 0x40c736f7c0d13f06 + .quad 0x4081ff2d0d5a2649, 0x40c431f651be2ff4 + .quad 0x407f47ee1cab73dd, 0x40c190f3f39e9af4 + .quad 0x407b2e9e76c8d9f9, 0x40be8e2722ca46cf + .quad 0x40779e11d635b9a7, 0x40ba923a9d8d5019 + .quad 0x4074848ddf7dfffe, 0x40b71a91ee04e82c + .quad 0x4071d2a13fdd2709, 0x40b4161e6298ed3a + .quad 0x406ef5b15f73200a, 0x40b176014201ab17 + .quad 0x406ae2fb07705cc3, 0x40ae5a88cbf394e4 + .quad 0x406758b92cdfdc64, 0x40aa6137c537bf6d + .quad 0x40644528f79b1b51, 0x40a6ec5f2d1367f4 + .quad 0x406198d422be3f8c, 0x40a3ead7491061af + .quad 0x405e8c8a7276c930, 0x40a14dadee76975a + .quad 0x405a838b09afcf62, 0x409e0fbc2ec572b9 + .quad 0x40570246e766d2f3, 0x409a1c215fcd0bea + .quad 0x4053f700c0d99876, 0x4096accae115453e + .quad 0x4051524997d01a00, 0x4093b08582357e32 + .quad 0x404e0d68d9047f7a, 0x409118577f06b2f2 + .quad 0x404a11277ca2bd3f, 0x408dae6e8d292a1e + .quad 0x40469b7f34ec048e, 0x4089c3973d4c9b08 + .quad 0x40439ac6410ceb63, 0x40865c67e684d1e6 + .quad 0x4040ffa110b113f0, 0x408367af901b1370 + .quad 0x403d796b4f7aaf7f, 0x4080d678c614f535 + .quad 0x40398cd1cb38dcc0, 0x407d377f96b9fd62 + .quad 0x40362548d6675835, 0x407958648bd60350 + .quad 0x403331480815e7cd, 0x4075fbee5e7590f4 + .quad 0x4030a19336cc73a1, 0x407310fbf558eca2 + .quad 0x402cd1db96a6c6ef, 0x407088a80b837328 + .quad 0x4028f7b007e1de49, 0x406cabfe10b3371a + .quad 0x4025a0a9c047e3c7, 0x4068db7ccf7600f4 + .quad 0x4022bb6f2dd8e254, 0x40658c38f07b7c3b + .quad 0x402038ef3cbdc1c7, 0x4062ad2ebb6268bd + .quad 0x401c1829acfb62b3, 0x40602f94d1fb1ba4 + .quad 0x40185308ad209551, 0x405c0d23d3daadad + .quad 0x40150ec3549a202d, 0x40584df8496cc3ae + .quad 0x40123a3bf963c1eb, 0x40550e4191e1b76c + .quad 0x400f8d2fce0ebb41, 0x40523d2690dc7344 + .quad 0x400b4de68e608347, 0x404f980a88588961 + .quad 0x4007a03df8f9f479, 0x404b5c5135a44acb + .quad 0x400470ce4924af72, 0x4047b10fe1f0aeaa + .quad 0x4001aec242758b4f, 0x4044831de32e25bd + .quad 0x3ffe9700b697ec96, 0x4041c1d98f1b1f71 + .quad 0x3ffa74be9568f922, 0x403ebda6af103d07 + .quad 0x3ff6e0c8fadbb050, 0x403a9b07f491a273 + .quad 0x3ff3c8164e42f29c, 0x40370618a9c019da + .quad 0x3ff11a259faba91e, 0x4033ebfb36da371b + .quad 0x3fed91518c2acaf6, 0x40313c51b7852ec0 + .quad 0x3fe98e739a118b5e, 0x402dd1d36683753b + .quad 0x3fe616346ca3be0e, 0x4029cae5c1f5de61 + .quad 0x3fe315f58c13df9c, 0x40264e7f0a95542f + .quad 0x3fe07d957435b8c4, 0x40234a1a5595e9cb + .quad 0x3fdc7e35cf4db634, 0x4020ada93ac2688e + .quad 0x3fd89cd6ead31b71, 0x401cd680d6a376d2 + .quad 0x3fd542176fe1c2b2, 0x4018ed9e84be9bac + .quad 0x3fd25bd00bd97edd, 0x40158bc1beb8e117 + .quad 0x3fcfb491e02b7c15, 0x40129ecb15514182 + .quad 0x3fcb5fcd30c7e1f6, 0x401017069c4b54cf + .quad 0x3fc7a1c33cc1922b, 0x400bcdb33f7b88f9 + .quad 0x3fc46610483f2395, 0x400804f671a7a35c + .quad 0x3fc19b0f23241b88, 0x4004bf6ca87a4707 + .quad 0x3fbe62f62b4555dc, 0x4001eb67d8a75351 + .quad 0x3fba383ca9f98a0f, 0x3ffef3318a5788de + .quad 0x3fb69f16aeb36770, 0x3ffab97c2106c4d2 + .quad 0x3fb383bf2b37a037, 0x3ff712bc1550fb6a + .quad 0x3fb0d51cf5a16254, 0x3ff3eb13a24821e2 + .quad 0x3fad08cdac87dce6, 0x3ff131510c1da6ad + .quad 0x3fa909a7c3ac6f99, 0x3fedad26311e9ef0 + .quad 0x3fa596acfa0bcc8f, 0x3fe99bf36c7ef068 + .quad 0x3fa29cc13bfd53a0, 0x3fe618c26c1169a6 + .quad 0x3fa00b60212cf113, 0x3fe3104d5f799552 + .quad 0x3f9ba886ae6e40e0, 0x3fe071e8b6003b16 + .quad 0x3f97d62a282a4851, 0x3fdc5e5338097f6b + .quad 0x3f948a59e9cb1eb1, 0x3fd87730de08c821 + .quad 0x3f91b2abc895a771, 0x3fd518db221cf8ba + .quad 0x3f8e7e6f4c33eded, 0x3fd230ae74a714aa + .quad 0x3f8a4480db60fe17, 0x3fcf5d1c58fdc6ac + .quad 0x3f869fd19aacb90a, 0x3fcb091a88a72f08 + .quad 0x3f837be42e1159e7, 0x3fc74d459ba38afe + .quad 0x3f80c707db025298, 0x3fc414d114bdcde1 + .quad 0x3f7ce3ee3757dbe5, 0x3fc14dc49cbc0c30 + .quad 0x3f78df06bfb34f6d, 0x3fbdd13408401cdc + .quad 0x3f7568986affafc5, 0x3fb9afd0eca1593d + .quad 0x3f726d009f5af049, 0x3fb6203633a6814a + .quad 0x3f6fb69c5d6b524e, 0x3fb30e632b0008c9 + .quad 0x3f6b49c67cd1611f, 0x3fb069124dc6eaef + .quad 0x3f677a47ec4e9fa1, 0x3fac42b48d5cfe42 + .quad 0x3f643260788f0a1f, 0x3fa854b792c33d4a + .quad 0x3f615f4e018a09ee, 0x3fa4f1f511f7b2d7 + .quad 0x3f5de1c72f739a49, 0x3fa2073f996519c0 + .quad 0x3f59b25dc6d6642e, 0x3f9f08155c194aad + .quad 0x3f561853cc8eddac, 0x3f9ab41e011814e5 + .quad 0x3f52feeed430b87b, 0x3f96f9f62ec4193a + .quad 0x3f505451535e8102, 0x3f93c45d7f9e2fb0 + .quad 0x3f4c122bcbda7f8e, 0x3f9100ffa10ff0f3 + .quad 0x3f481ff0b26f3b6a, 0x3f8d401bee3a7787 + .quad 0x3f44bb153d2d0728, 0x3f8927ce5fbbe352 + .quad 0x3f41cfe80beb05a4, 0x3f85a195c6e2a08e + .quad 0x3f3e9ae566e02486, 0x3f82992f3c7d2ce7 + .quad 0x3f3a4a3297375461, 0x3f7ffa47aef63bd2 + .quad 0x3f36948e77b6c537, 0x3f7b7ccca35ce88e + .quad 0x3f33644eed5b1126, 0x3f779ffc3cd6bc92 + .quad 0x3f30a6cd27d913d7, 0x3f744d7c3dca9cc8 + .quad 0x3f2c97f5c053e775, 0x3f71720abf01aa9b + .quad 0x3f288c0c973b68fc, 0x3f6dfa22008cf2c8 + .quad 0x3f2512157ee1d8be, 0x3f69c08a63df00dc + .quad 0x3f2215988e86b086, 0x3f661eb258af5a93 + .quad 0x3f1f09f2b684fb31, 0x3f62ff68a28f7dc4 + .quad 0x3f1aa222a98ba953, 0x3f60506e21782262 + .quad 0x3f16d9b06046eb66, 0x3f5c041afe3a1ad2 + .quad 0x3f139a30e3030664, 0x3f580d8271e40929 + .quad 0x3f10d05cd2b64652, 0x3f54a5cc1e67b046 + .quad 0x3f0cd740d2318d4d, 0x3f51b8f04bdfa1bf + .quad 0x3f08bb7603d98280, 0x3f4e6b65816f0ff1 + .quad 0x3f0534d810db5377, 0x3f4a1a7ec86c94fb + .quad 0x3f022e56de90dc1a, 0x3f4665a9398034f1 + .quad 0x3eff2bb06a7069e2, 0x3f4336f30c8d3345 + .quad 0x3efab79b6edb04e1, 0x3f407b7cbf13abf4 + .quad 0x3ef6e5b33b150249, 0x3f3c461717dacbd8 + .quad 0x3ef39f005226a7db, 0x3f383f56253c12f1 + .quad 0x3ef0cfc8192e69bd, 0x3f34cab82baddd6c + .quad 0x3eecce310b024fd4, 0x3f31d39d04e50424 + .quad 0x3ee8acc81455f971, 0x3f2e9094beff3587 + .quad 0x3ee522570529739f, 0x3f2a3308036822db + .quad 0x3ee219685023e1be, 0x3f267464f8a36aff + .quad 0x3edeff1f945e7f7b, 0x3f233e2c9c277148 + .quad 0x3eda89fa515a2b44, 0x3f207d0b7bb52fc7 + .quad 0x3ed6b83bb4ee4348, 0x3f1c40cfbd11fd10 + .quad 0x3ed372982e2fde1d, 0x3f1833ffa698fa8b + .quad 0x3ed0a51297b20ab7, 0x3f14bb29dadf3ac0 + .quad 0x3ecc7d093fb7e463, 0x3f11c147957723bd + .quad 0x3ec8607006600009, 0x3f0e6896f5762306 + .quad 0x3ec4db1c7b733812, 0x3f0a096cc3260668 + .quad 0x3ec1d76959a6b622, 0x3f064a7647d3f88a + .quad 0x3ebe858d8b3acc80, 0x3f0314deba7bab37 + .quad 0x3eba1a94b14e3d7f, 0x3f00550e92636252 + .quad 0x3eb6529df3d1cf1c, 0x3efbf46cd0f972c3 + .quad 0x3eb316449a955429, 0x3ef7ebd49fbb30ee + .quad 0x3eb0517b9e1f89de, 0x3ef47796af08285b + .quad 0x3eabe627dddb55d7, 0x3ef1827a73755ec7 + .quad 0x3ea7d8a7f2a8a2d0, 0x3eedf49a10ccc568 + .quad 0x3ea4613bf000c71d, 0x3ee99ee7037b652b + .quad 0x3ea16a45fcb7b882, 0x3ee5e9197017791d + .quad 0x3e9dc283bcbe780f, 0x3ee2bc40c543e36b + .quad 0x3e996ca751cac37f, 0x3ee004b34180a4a9 + .quad 0x3e95b7cd13179dde, 0x3edb632d58444fad + .quad 0x3e928cb2cb8b4015, 0x3ed768f3e13d3bdc + .quad 0x3e8faedd62dabd96, 0x3ed401fa7657909e + .quad 0x3e8b0de982dbf111, 0x3ed1190d162109ab + .quad 0x3e87195b2becea19, 0x3ecd3803e22a78e4 + .quad 0x3e83b8387eea3f9d, 0x3ec8f694ad8ac632 + .quad 0x3e80d521f8291cd6, 0x3ec55326d6aac6fa + .quad 0x3e7cbb9be9cbac1e, 0x3ec236e8d3a9e0e7 + .quad 0x3e78852e54d26542, 0x3ebf1ca221c0b98b + .quad 0x3e74ec36b8fdf428, 0x3eba914b62872bc3 + .quad 0x3e71d9d0055d11d0, 0x3eb6af2ae42db580 + .quad 0x3e6e74cb7ebdea0a, 0x3eb35dbe86ed95c7 + .quad 0x3e69fa735b03463a, 0x3eb0880cfe68041e + .quad 0x3e6627f6220ca6a9, 0x3eac3847cbf78a3b + .quad 0x3e62e4d9d8b5b22f, 0x3ea81550cf271bfd + .quad 0x3e601c325e8bb3c0, 0x3ea48cefa0aac509 + .quad 0x3e5b783bc148fcef, 0x3ea188ab9ce5fddd + .quad 0x3e576aa8791eba33, 0x3e9dea9996bf1c0f + .quad 0x3e53f58d390caeec, 0x3e9984c7bb9c53ff + .quad 0x3e510299f255a2ca, 0x3e95c3c6ce5f2f75 + .quad 0x3e4cfd7e08a13b20, 0x3e928f8faa7c3202 + .quad 0x3e48b368e0429dac, 0x3e8fa73040873530 + .quad 0x3e450b2501707be6, 0x3e8afca3c464e1d5 + .quad 0x3e41ecf2c897b782, 0x3e8701780b38d71a + .quad 0x3e3e891642306fee, 0x3e839c08dab159e0 + .quad 0x3e3a013c6709bdd5, 0x3e80b66dac93672b + .quad 0x3e3624c9a2f2f8fc, 0x3e7c7bde43ebd873 + .quad 0x3e32da83d59392f5, 0x3e784520ec5eb55a + .quad 0x3e300ce3767b77a8, 0x3e74ad54236cf6b4 + .quad 0x3e2b5312d520a3f4, 0x3e719d258cf47194 + .quad 0x3e274191dcab90bc, 0x3e6e015665e4efbd + .quad 0x3e23ca855a30dad5, 0x3e698dc92b26aea0 + .quad 0x3e20d71d1069e44f, 0x3e65c29c3e79c162 + .quad 0x3e1ca7c7b61a5357, 0x3e628708aaed4d70 + .quad 0x3e186083aaabaf73, 0x3e5f8bd2046619b5 + .quad 0x3e14bc21b880f9de, 0x3e5ada636f165959 + .quad 0x3e11a28183b0e320, 0x3e56dafa60f704a1 + .quad 0x3e0dfe23a6ad4f8b, 0x3e537351629c53c0 + .quad 0x3e0980956bea8cc0, 0x3e508cff68f5874c + .quad 0x3e05ae767663002e, 0x3e4c29ce58c1fc10 + .quad 0x3e026e4fd1165b76, 0x3e47f5772973d16c + .quad 0x3dff54dde2ba8f56, 0x3e44612c5674eed9 + .quad 0x3dfaa0af3e698b26, 0x3e415539e864d70f + .quad 0x3df6a0956d7d1b63, 0x3e3d7ad5cdc3741e + .quad 0x3df339bd6e517d44, 0x3e39110bc4b50f8c + .quad 0x3df0554f0943ba8c, 0x3e354fb970dbe54e + .quad 0x3debbfac9007ec07, 0x3e321dd98bc7de87 + .quad 0x3de791862715d02f, 0x3e2ecc34851c9763 + .quad 0x3de403f77382e654, 0x3e2a2ca34863bfcb + .quad 0x3de0feff2a4fc490, 0x3e263e0d12d4d288 + .quad 0x3ddcdc5de1ae8c09, 0x3e22e615f0543e41 + .quad 0x3dd8804761a993c4, 0x3e200e4ae934cb56 + .quad 0x3dd4cc23eb3b5ffa, 0x3e1b471c42165f4a + .quad 0x3dd1a6c6c06ea18b, 0x3e172b316e47cc93 + .quad 0x3dcdf58ab9ae4fcb, 0x3e13ad1e7143aa75 + .quad 0x3dc96bd0bd6c9a31, 0x3e10b54bd6a9e23f + .quad 0x3dc59163428fb3a6, 0x3e0c5f4a785a88d1 + .quad 0x3dc24be8d0138113, 0x3e08162809b8dff6 + .quad 0x3dbf09f3c1618809, 0x3e04721b76389525 + .quad 0x3dba53148c3fc482, 0x3e015a6678e0082c + .quad 0x3db652d1d62b45e1, 0x3dfd73f8da963966 + .quad 0x3db2eda549c16ee8, 0x3df8fdeb6a9e8ebc + .quad 0x3db00c2a84aed164, 0x3df5342fe16e83a5 + .quad 0x3dab3501c0fdbbcf, 0x3df1fcdfea216d16 + .quad 0x3da70f8998ccf075, 0x3dee83eb9bce31c4 + .quad 0x3da38b3a7222dd33, 0x3de9e170e2dbff8c + .quad 0x3da08fb437656229, 0x3de5f27a9aa5f660 + .quad 0x3d9c1085f96d9fee, 0x3de29bfa42bc7b76 + .quad 0x3d97c6a3cf1c9dcf, 0x3ddf8de2739c95a9 + .quad 0x3d9423e65b2a3a8c, 0x3ddabfaa7d4233fa + .quad 0x3d910ef40de709bc, 0x3dd6ac1833360c58 + .quad 0x3d8ce48f9d9e5928, 0x3dd336f5ff042b88 + .quad 0x3d88773adc5703ce, 0x3dd0484d7ff5f6bd + .quad 0x3d84b6e86a5aa9d8, 0x3dcb978904649f57 + .quad 0x3d8189488e2e9743, 0x3dc760249f31a968 + .quad 0x3d7db0100ef385d3, 0x3dc3cd13761f1731 + .quad 0x3d79206c1ae9fb29, 0x3dc0c569a0b1627c + .quad 0x3d754382e8081943, 0x3dbc67fe1e83e910 + .quad 0x3d71fe13002859ca, 0x3db80dbcff1d72cf + .quad 0x3d6e71fde0c5e218, 0x3db45d945dc4844d + .quad 0x3d69c159bbc9900a, 0x3db13da615eb6c5f + .quad 0x3d65c8fc931c6d94, 0x3dad2ffe78d87996 + .quad 0x3d626cb8c1920344, 0x3da8b4017551e03b + .quad 0x3d5f295714275bc3, 0x3da4e7bd56b77338 + .quad 0x3d5a592ca70605e5, 0x3da1b06621cfb60e + .quad 0x3d5646a234bddd88, 0x3d9dee83fc205fc8 + .quad 0x3d52d4a498c21371, 0x3d99521701d324da + .quad 0x3d4fd5235020e009, 0x3d956ad77d8efe38 + .quad 0x3d4ae71657ff542e, 0x3d921d11201bfbcf + .quad 0x3d46bbc82f12468a, 0x3d8ea290040397f4 + .quad 0x3d43354802504d9e, 0x3d89e7295f29cf91 + .quad 0x3d403a3b07cf84b0, 0x3d85e631fb2a96db + .quad 0x3d3b6a52af7c7202, 0x3d828313d62cbf4f + .quad 0x3d3727cc024d462a, 0x3d7f4b2d92a8da6a + .quad 0x3d338e1c7590edaf, 0x3d7a726cda9c5fc4 + .quad 0x3d3083385f1e344c, 0x3d76592390114765 + .quad 0x3d2be229b5ed10eb, 0x3d72e1e1bdc1cff3 + .quad 0x3d278a15c33bf0d1, 0x3d6fe77379b5869a + .quad 0x3d23dea49bdca04d, 0x3d6af3202215009f + .quad 0x3d20c5225e967ce3, 0x3d66c30c15ee186b + .quad 0x3d1c4df14833b32e, 0x3d6338f646703f05 + .quad 0x3d17e2197e99732e, 0x3d603b4338f71d3b + .quad 0x3d14266d76b7e9ef, 0x3d5b688e02001605 + .quad 0x3d10ff9aa4df55cb, 0x3d572355f261c90f + .quad 0x3d0cad0ea9847218, 0x3d5387d609c076c8 + .quad 0x3d082f5884a3c4ff, 0x3d507bcd8d61f54d + .quad 0x3d04650f71159187, 0x3d4bd20f0d88c869 + .quad 0x3d01324c9f973607, 0x3d477977767b819c + .quad 0x3cfcfef7f529f1bf, 0x3d43ce0fee10ae91 + .quad 0x3cf8716298a66d68, 0x3d40b4fbeda58aa9 + .quad 0x3cf49a2f582864b8, 0x3d3c2f0b2bc85943 + .quad 0x3cf15cee56fb8f80, 0x3d37c4f426570458 + .quad 0x3ced43356b5d1bc3, 0x3d340b3e347db73a + .quad 0x3ce8a7d700826ce3, 0x3d30e67b4f33d066 + .quad 0x3ce4c57f38808af9, 0x3d2c7efb04c36011 + .quad 0x3ce17f41219f6e6e, 0x3d28055de49eb405 + .quad 0x3cdd796294cc09e7, 0x3d243f076e4dac86 + .quad 0x3cd8d265709c8b81, 0x3d211003322f9f2a + .quad 0x3cd4e6bf1c869176, 0x3d1cc169496c493b + .quad 0x3cd199123dce7f7c, 0x3d183a55fe01c77f + .quad 0x3ccda12f38ef6065, 0x3d14691f56a0b9d1 + .quad 0x3cc8f0ced10d0db4, 0x3d11315652423380 + .quad 0x3cc4fdbda9c9106c, 0x3d0cf5f3d2534600 + .quad 0x3cc1aa3b4e8f3caa, 0x3d08638e1112031d + .quad 0x3cbdba6023e1257a, 0x3d0489478d82c425 + .quad 0x3cb902e5d96b5dc7, 0x3d014a433d21a4e2 + .quad 0x3cb50a589affacc9, 0x3cfd1c4c912f9acb + .quad 0x3cb1b2a2ba958505, 0x3cf880c8cf6ecf16 + .quad 0x3cadc4cfb90a7ce5, 0x3cf49f5031dc1940 + .quad 0x3ca9088f811b7254, 0x3cf15aa4ccc2f79b + .quad 0x3ca50c7d151d73d0, 0x3ced343a5202c7c4 + .quad 0x3ca1b23bebdcda6d, 0x3ce891da95a3a6f5 + .quad 0x3c9dc06e50abd949, 0x3ce4ab18582d9df2 + .quad 0x3c9901c342974910, 0x3ce1626283914e64 + .quad 0x3c950427d64b1c7d, 0x3cdd3d994938f3ad + .quad 0x3c91a9076f0d2e24, 0x3cd896a9d7ab89b1 + .quad 0x3c8dad425efa38ef, 0x3cd4ac8e5c7c8723 + .quad 0x3c88ee8b30ca2586, 0x3cd16170c969f828 + .quad 0x3c84f1653e256f41, 0x3ccd385b6cd88b32 + .quad 0x3c819712f23cae3d, 0x3cc88f2f609fe4d3 + .quad 0x3c7d8b686448b5af, 0x3cc4a3b00e506616 + .quad 0x3c78cf03de32b406, 0x3cc157d10888e2f3 + .quad 0x3c74d4512f22a65d, 0x3cbd2488978a2f74 + .quad 0x3c717c7923127a39, 0x3cb87b7664b4e00c + .quad 0x3c6d5b12a674c804, 0x3cb4908ab62a09ac + .quad 0x3c68a35c1621f2cc, 0x3cb14591aa0080ca + .quad 0x3c64ad16c988b007, 0x3cad023e74fea7e1 + .quad 0x3c6159616cbf8a0c, 0x3ca85b9c65443c51 + .quad 0x3c5d1c88b489c5c3, 0x3ca4733af4601fe1 + .quad 0x3c586bd4690c0845, 0x3ca12acdf1c9738c + .quad 0x3c547bf000e37ae9, 0x3c9cd1b037f7490b + .quad 0x3c512dff96b26d81, 0x3c982fd0e7486194 + .quad 0x3c4cd026b64a0ca8, 0x3c944bec79d5416c + .quad 0x3c4828be8d7b2e74, 0x3c9107adbae7661d + .quad 0x3c4441250d6b8cc7, 0x3c8c93261af2cd0d + .quad 0x3c40fa934555eb5a, 0x3c87f854fd47e7d3 + .quad 0x3c3c765c89feb632, 0x3c841ad99b7fc9eb + .quad 0x3c37da7c97c8ea4b, 0x3c80dc65148f57fc + .quad 0x3c33fd0bbb47d67c, 0x3c7c46fcad39a071 + .quad 0x3c30bf675e9015a3, 0x3c77b57aa64c1e42 + .quad 0x3c2c0facb396944a, 0x3c73e04ac23c3f11 + .quad 0x3c2781800b4c5862, 0x3c70a933c1a65e31 + .quad 0x3c23b0069a07f02d, 0x3c6beda3eeb5f0a2 + .quad 0x3c207cd15415698a, 0x3c6767a404101f5a + .quad 0x3c1b9cab20b7b4ac, 0x3c639c95b8dcd835 + .quad 0x3c171e48c82b190a, 0x3c606e649c54a11d + .quad 0x3c135a840f1bb9bf, 0x3c5b879e3daa485d + .quad 0x3c10333055f872d1, 0x3c570f426b1f5c67 + .quad 0x3c0b1dfbc5f13465, 0x3c53501cdad9df5b + .quad 0x3c06b163d96b3dd9, 0x3c502c4cdfc5722c + .quad 0x3c02fcfd4e6913ca, 0x3c4b157f19f267ea + .quad 0x3bffc5d8e0519af3, 0x3c46acd55017e4e2 + .quad 0x3bfa945119b38a65, 0x3c42fb4e266d3e9f + .quad 0x3bf63b6a2745bde1, 0x3c3fc696b5025168 + .quad 0x3bf297f53c6e927f, 0x3c3a97e9c202c067 + .quad 0x3bef18eb2ba6357f, 0x3c3640e915b3f3ea + .quad 0x3bea006a7219c6a4, 0x3c329ea2353deb28 + .quad 0x3be5bcff1208eb99, 0x3c2f278f182d5cce + .quad 0x3be22bf73da1838d, 0x3c2a0f8fae515880 + .quad 0x3bde60853b8b4b65, 0x3c25cc15bf9dbbbb + .quad 0x3bd963124add21c0, 0x3c223a9b1f0c9515 + .quad 0x3bd536cefa1810b4, 0x3c1e7c6162103b4e + .quad 0x3bd1b995f6e584af, 0x3c197d2ef035140a + .quad 0x3bcd9da06644bc9d, 0x3c154efd8e5e8a15 + .quad 0x3bc8bd1c79049ec2, 0x3c11cfc34a10ee47 + .quad 0x3bc4a98db9bff0e8, 0x3c0dc5f9803d5324 + .quad 0x3bc1416a031bacf2, 0x3c08e1907994f8d3 + .quad 0x3bbcd13f7b7c3414, 0x3c04ca4b88f6234c + .quad 0x3bb80f645203dff7, 0x3c015eac2ce52257 + .quad 0x3bb415f515af2672, 0x3bfd054eb8db2ad5 + .quad 0x3bb0c410a1d6b3ca, 0x3bf83d8652f7235c + .quad 0x3babfc6c8b2d1c95, 0x3bf43eb1f8cfdcf1 + .quad 0x3ba75acacc068ebe, 0x3bf0e7ed05fb3af3 + .quad 0x3ba37cc328e513e5, 0x3bec3b617ec3cfd6 + .quad 0x3ba0422a6340a512, 0x3be791e9c59e2b42 + .quad 0x3b9b2036a988bead, 0x3be3ace8dce03fbd + .quad 0x3b96a0349d192d1a, 0x3be06c218ca5f25a + .quad 0x3b92deb8d0dae905, 0x3bdb69393c895b87 + .quad 0x3b8f78b3aa5bebbe, 0x3bd6df997f6bab1b + .quad 0x3b8a3dafb67a96cf, 0x3bd315ac58b7d6b7 + .quad 0x3b85e0885ebd9cc3, 0x3bcfd7d13f78002d + .quad 0x3b823c981e88b022, 0x3bca8fe21d205eb0 + .quad 0x3b7e66846a73c925, 0x3bc62777b62fde0c + .quad 0x3b7955ea2f392221, 0x3bc279bb2446baf4 + .quad 0x3b751cacbb42476e, 0x3bbecfc5eb955129 + .quad 0x3b719722d0b598a4, 0x3bb9b06ad8cbcafb + .quad 0x3b6d4f0c5733dbc9, 0x3bb56a684fe99fca + .quad 0x3b6869f70ffc1fcb, 0x3bb1d9d500e92622 + .quad 0x3b645586a9e82938, 0x3badc163a555fefb + .quad 0x3b60ef18dbc017ff, 0x3ba8cbe28ca7c426 + .quad 0x3b5c338d2435fb4b, 0x3ba4a94f1540c9ea + .quad 0x3b577ae3cb88b469, 0x3ba136b93820fc76 + .quad 0x3b538bf7be87e681, 0x3b9cadeb8c3bba05 + .quad 0x3b50453702b9a5bb, 0x3b97e356a2db5e15 + .quad 0x3b4b154294e891da, 0x3b93e50df3387f95 + .quad 0x3b4689b85dc875b1, 0x3b909125281c373a + .quad 0x3b42c0dc90fab5ba, 0x3b8b969aedac7779 + .quad 0x3b3f346b0aa94647, 0x3b86f7d0d10edd84 + .quad 0x3b39f5604d9610b0, 0x3b831e8350b95dae + .quad 0x3b3597757e14e4e8, 0x3b7fd3a5c3ac18bb + .quad 0x3b31f50b401397f7, 0x3b7a7ca8fa240180 + .quad 0x3b2ddd8dcb76e388, 0x3b760a5532471804 + .quad 0x3b28d50fcdd2a012, 0x3b7256887c26e498 + .quad 0x3b24a512f5483d32, 0x3b6e82efb884fa70 + .quad 0x3b2129521372a709, 0x3b6961449f1f5f93 + .quad 0x3b1c872d91eff745, 0x3b651be080b9d49d + .quad 0x3b17b56e9895b756, 0x3b618df034ba2c47 + .quad 0x3b13b37e1b01d1bd, 0x3b5d31877f1753ba + .quad 0x3b105e763ef1c6e1, 0x3b5845928aac023d + .quad 0x3b0b3291e83a6dda, 0x3b542d6673958cf7 + .quad 0x3b06978c8d7d61b8, 0x3b50c58552d896bd + .quad 0x3b02c3987ce2b431, 0x3b4be0be95f0126e + .quad 0x3aff2a6593b4ee39, 0x3b472aab5cc51918 + .quad 0x3af9e0f0cfd57ab4, 0x3b433fd04413c4e8 + .quad 0x3af57c6a75ebbd36, 0x3b3ffc132424c87a + .quad 0x3af1d636b1da2b46, 0x3b3a91d6af35687b + .quad 0x3aed9c6f3705063c, 0x3b36119a09e14fe5 + .quad 0x3ae8936d384f421a, 0x3b3253fb5c838ba6 + .quad 0x3ae464f8c7e074fc, 0x3b2e7068fdcaeb4e + .quad 0x3ae0ec1f5aebc21f, 0x3b2945fff2eb1b17 + .quad 0x3adc14515cb6f8f0, 0x3b24fb5a7146299a + .quad 0x3ad74b15b6eeceb1, 0x3b216ab8334ccb0a + .quad 0x3ad352169fa33216, 0x3b1ce965139dad89 + .quad 0x3ad0060a522d6818, 0x3b17fe578074e0c8 + .quad 0x3aca933ad3e37ea3, 0x3b13e8d828e807b4 + .quad 0x3ac608e37fe916b7, 0x3b1084c9533fea9d + .quad 0x3ac24490f08ca22d, 0x3b0b68488148e38c + .quad 0x3abe4940102c0a26, 0x3b06bbe630bdc58c + .quad 0x3ab91a40479b1837, 0x3b02daed7fd23569 + .quad 0x3ab4cdb9a0d20ef7, 0x3aff45c523b5ec4e + .quad 0x3ab13d21ec7ce7a5, 0x3af9ee3b5d440d20 + .quad 0x3aac90f21d2d475f, 0x3af57f9f997e1f52 + .quad 0x3aa7aa5b8d4b4359, 0x3af1d262b74c69e4 + .quad 0x3aa39a647b21bed6, 0x3aed8b50e711660a + .quad 0x3aa03c70a0dadb1d, 0x3ae87c4bc616ed3d + .quad 0x3a9ae43ba1c85bb1, 0x3ae44a615135e868 + .quad 0x3a96446b3db12c58, 0x3ae0cfed72363bb7 + .quad 0x3a926f997cdc041d, 0x3adbdb5f7a82d0f4 + .quad 0x3a8e86218ea3e6ac, 0x3ad7136d3b897e11 + .quad 0x3a89440cec9f5e3a, 0x3ad31cf2729ac24d + .quad 0x3a84e93295651e9b, 0x3acfa860b2bf75f8 + .quad 0x3a814df714b2cc27, 0x3aca36fa64c5b19f + .quad 0x3a7ca3058fde005f, 0x3ac5b478418ed951 + .quad 0x3a77b135dc219792, 0x3ac1f8035d726d41 + .quad 0x3a73995999427ba7, 0x3abdbf75e60682c2 + .quad 0x3a703604de581436, 0x3ab89f0afa1deeca + .quad 0x3a6ad067d36fa2c8, 0x3ab4602a49df0a52 + .quad 0x3a662c6642f5d4b9, 0x3ab0dc2db21eaf21 + .quad 0x3a62556d7a42568a, 0x3aabe61355e30a98 + .quad 0x3a5e5068065139be, 0x3aa7145a7dd1cf8c + .quad 0x3a590efd5cd13c30, 0x3aa31725e0702649 + .quad 0x3a54b62e9374c452, 0x3a9f93e90900fd6b + .quad 0x3a511de133cc6916, 0x3a9a1d0c10ff74df + .quad 0x3a4c49bf95c5f745, 0x3a9597928f3e0c70 + .quad 0x3a475f56ab48bd89, 0x3a91d9f316556fcc + .quad 0x3a434f00cbd8ea42, 0x3a8d8389849eaf01 + .quad 0x3a3fe61cbe17950d, 0x3a88650e1db268eb + .quad 0x3a3a589caf82618c, 0x3a84293ddcb013c1 + .quad 0x3a35c1e107375834, 0x3a80a90025fd130c + .quad 0x3a31f7319c565581, 0x3a7b87eb911fc5ef + .quad 0x3a2daa6c6af5c17f, 0x3a76bea387f6b0a0 + .quad 0x3a287d63120a742c, 0x3a72c9c915a28dda + .quad 0x3a2436e80df031f0, 0x3a6f094496a5e827 + .quad 0x3a20aef9bffa708d, 0x3a69a19446f657cc + .quad 0x3a1b890579385cdc, 0x3a652a33b4b8094c + .quad 0x3a16b84ffdb5d885, 0x3a6179841589cd00 + .quad 0x3a12be9773700384, 0x3a5cda2d93f291ab + .quad 0x3a0eecef0206652c, 0x3a57d0e0e7cac5b0 + .quad 0x3a09821029662ccf, 0x3a53a804f20fd2f4 + .quad 0x3a05097c74b3d08e, 0x3a5038a34010e13f + .quad 0x3a0158fcf12f6c8e, 0x3a4ac508371be502 + .quad 0x39fc9b60c296975d, 0x3a461608ea10db83 + .quad 0x39f7958bc88e6006, 0x3a42383e3bce3750 + .quad 0x39f370dfa8e149d1, 0x3a3e0e820ef74630 + .quad 0x39f0060a594f59c7, 0x3a38c9f67fa9c048 + .quad 0x39ea6925bee98d74, 0x3a3471203b047e85 + .quad 0x39e5c351b4996320, 0x3a30dae92b938870 + .quad 0x39e1ee518d278c58, 0x3a2bcabf2ba981bf + .quad 0x39dd8b2f8b0b2924, 0x3a26e8f25135d13f + .quad 0x39d855f0a34582a6, 0x3a22e219acb023ae + .quad 0x39d40b1881e58e30, 0x3a1f1fe817902ceb + .quad 0x39d0818d80634105, 0x3a19a5d5233d8e13 + .quad 0x39cb2ecbb2e8d76c, 0x3a1521d0766f8b85 + .quad 0x39c6614d9da549fb, 0x3a1168c985c93c95 + .quad 0x39c26c7736a63e7f, 0x3a0cae6809d7d445 + .quad 0x39be546a107b57d5, 0x3a079f71edd3cb51 + .quad 0x39b8f64020effd9c, 0x3a037443c37e4835 + .quad 0x39b48aa64075b150, 0x3a0004e8297ce819 + .quad 0x39b0e6e891142764, 0x39fa60ceba01346a + .quad 0x39abcfa525d16889, 0x39f5b71dfbe662f9 + .quad 0x39a6e0be1ed4e4cc, 0x39f1dfe04c5b884a + .quad 0x39a2d14568fa3103, 0x39ed6c299b6b03de + .quad 0x399ef39c9c67da70, 0x39e8366f8264d161 + .quad 0x399973b86e9a718f, 0x39e3ec401194be5f + .quad 0x3994ed55e6d4d5df, 0x39e0641ea45be131 + .quad 0x3991345b1de4a541, 0x39daf7b06dd7c2fa + .quad 0x398c48e8cf8e20ed, 0x39d62e7924beab28 + .quad 0x39873f6cd7db5a56, 0x39d23e2123cac1dc + .quad 0x39831afb2e91937b, 0x39ce00be39adba8f + .quad 0x397f6600b76754fc, 0x39c8ab4ee2717624 + .quad 0x3979cc2881babaf0, 0x39c447fa5b4e25fe + .quad 0x3975316d5b010b17, 0x39c0abf02c055867 + .quad 0x3971688993cfebe3, 0x39bb67d9f35f4de8 + .quad 0x396c98758b0a4eba, 0x39b685ccfe1e2ab5 + .quad 0x39677baf72da4868, 0x39b281e65593d670 + .quad 0x3963484c1e2418cb, 0x39ae698bd1000fd2 + .quad 0x395fa991c2110340, 0x39a8fc0326c87b11 + .quad 0x3959fe006460b912, 0x39a485d5ed97243e + .quad 0x395555b844a27ecd, 0x39a0db191585c5a2 + .quad 0x395182875c9f3984, 0x399baf50ff65044d + .quad 0x394cbce2423a80ac, 0x3996bb8ebe73c54a + .quad 0x394794741d4d28c6, 0x3992a9fd1221e357 + .quad 0x3943586a18110b0e, 0x398ea4b746dbeae3 + .quad 0x393fbd1c1dcb3991, 0x3989271dfe5687e7 + .quad 0x393a085cf5d6c87e, 0x3984a4b9ae2c857d + .quad 0x393559911f8b7812, 0x3980f0c2d578f06a + .quad 0x393181ddd71c27fb, 0x397bccd0201398ba + .quad 0x392cb5889458c00e, 0x3976cec95dfef21a + .quad 0x392789499da6bff1, 0x3972b5ae7721763f + .quad 0x39234b0b5ddf82c6, 0x396eb1327842cc63 + .quad 0x391fa04646636ebe, 0x39692bda7bca05b7 + .quad 0x3919eb0ea42d451e, 0x3964a4186866270a + .quad 0x39153ce6234f7db7, 0x3960ec8a57831ec5 + .quad 0x3911668fdbb007d5, 0x395bbfd05e1b64f3 + .quad 0x390c8289c5fd0187, 0x3956bf24d893426c + .quad 0x39075a62b0407aef, 0x3952a4c4fb42b862 + .quad 0x3903206cc37b0e4a, 0x394e8ec43d273fba + .quad 0x38ff53937c26236e, 0x39490a22ee0d506e + .quad 0x38f9a69ad7793258, 0x394483f4fee6553c + .quad 0x38f50039cbf56e41, 0x3940ce82f0139653 + .quad 0x38f13119a81ee824, 0x393b888d3fea2a71 + .quad 0x38ec24cdc6a6909b, 0x39368ce8cbb7eaeb + .quad 0x38e7089487e1182e, 0x3932778e05f0f826 + .quad 0x38e2d94fe2dcd5a4, 0x392e3e0a1bcb7b90 + .quad 0x38ded85fe218f015, 0x3928c29185861611 + .quad 0x38d93c37ffa2be30, 0x392444e2559eb861 + .quad 0x38d4a49efe08b764, 0x39209735c9244f77 + .quad 0x38d0e26d33274acd, 0x391b28030446d467 + .quad 0x38cb9dfc560135f0, 0x391638fa554a9791 + .quad 0x38c6955081ac80b2, 0x39122ed7a20d2031 + .quad 0x38c276f565251c73, 0x390dc07399fb9ebd + .quad 0x38be30d639687648, 0x3908566bbf3afdcc + .quad 0x38b8adc46e842374, 0x3903e7fef514c8f7 + .quad 0x38b42bb0eedd3fb2, 0x3900479dd0162987 + .quad 0x38b07beb0edff1b8, 0x38fa9fe7272a642b + .quad 0x38aaf070915be74e, 0x38f5c4d5495043b3 + .quad 0x38a602994f04daa5, 0x38f1cbea64272b5f + .quad 0x38a1fb139d7ad130, 0x38ed18375dee0b86 + .quad 0x389d5fdfa65dd70d, 0x38e7c798c690caf6 + .quad 0x3897fdb85ec65bd4, 0x38e36eec953c25e3 + .quad 0x38939787263ebbca, 0x38dfc2409fc1812e + .quad 0x388ffeb0495cc103, 0x38d9f29b80329143 + .quad 0x388a1f276c1aeb71, 0x38d5328106ecc8f8 + .quad 0x388552f40714fe54, 0x38d1507fc4d2f4ba + .quad 0x388167c9d827337c, 0x38cc484291d11ff0 + .quad 0x387c690e28b6a9bf, 0x38c7189333483e3b + .quad 0x38772f13b97db104, 0x38c2dbc3e931f24d + .quad 0x3872eaa616a9b21c, 0x38becb050b3055a0 + .quad 0x386edda16b7edc87, 0x38b9231c8255bcdb + .quad 0x38692da9c960076a, 0x38b4848161f4e509 + .quad 0x38648955baf138af, 0x38b0beb55467080a + .quad 0x3860bf90e157d9da, 0x38ab542338309321 + .quad 0x385b5082a5d8de09, 0x38a64c56b8fb3cec + .quad 0x3856454856772fed, 0x38a231052b5f7dd6 + .quad 0x385227ecea87251d, 0x389dadb937ed07eb + .quad 0x384d99724acabf71, 0x389834eb55a1d18e + .quad 0x38481ff31715569a, 0x3893bdc43dd8955f + .quad 0x3843a90e48619574, 0x389018fd4cd15479 + .quad 0x384005296113b586, 0x388a3fee5158c03f + .quad 0x383a1acf8c750894, 0x3885664a8518a142 + .quad 0x38354421936100c1, 0x388171860917e7c8 + .quad 0x383152813e135602, 0x387c6f152728fb8f + .quad 0x382c375a4cba7b23, 0x38772bf4ab4db677 + .quad 0x3826fa5568fa20f3, 0x3872e18c95c4bfb1 + .quad 0x3822b5b13ef0805c, 0x386ec41a3d4cf576 + .quad 0x381e77117811a7d2, 0x38691022d83bf8f5 + .quad 0x3818ccd934db2cb0, 0x38646a292659269e + .quad 0x38142faa33070d2a, 0x3860a05da41d6048 + .quad 0x38106db98d7f6125, 0x385b14375f322de2 + .quad 0x380abcdbdfcc9f7c, 0x38560c75486158b0 + .quad 0x3805c15c23fbb403, 0x3851f35bc35fb59f + .quad 0x3801b2fdb7cab6df, 0x384d39954e0a9d3d + .quad 0x37fccb8a64624f6c, 0x3847c98ab66270f5 + .quad 0x37f76bb52e82b59a, 0x38435be6eb898758 + .quad 0x37f30c117f001ac3, 0x383f819edd38db9c + .quad 0x37eefa0e49e3fecc, 0x3839a2821242ebd0 + .quad 0x37e92fa046d58d4e, 0x3834dadd528d6ea9 + .quad 0x37e479ae4e865fee, 0x3830f6d9e092345c + .quad 0x37e0a4c603089f16, 0x382b987187720ae4 + .quad 0x37db0e03e96a5485, 0x3826711ad9310ce1 + .quad 0x37d5fc89a9e03199, 0x38223f97aea9f29f + .quad 0x37d1dd90a3522c75, 0x381dac6b554960ff + .quad 0x37cd07c0b8b30398, 0x38181f77dc55f2bd + .quad 0x37c795540ea5dda7, 0x38139bb36d1a51da + .quad 0x37c327f191dd6247, 0x380fdf7c425dfb89 + .quad 0x37bf1db008e061d6, 0x3809e6c7f42ee3a0 + .quad 0x37b944b7c8850269, 0x38050bd38f4b0e14 + .quad 0x37b4846e1e475567, 0x38011954fcd9d596 + .quad 0x37b0a8512d6deeb0, 0x37fbc7d8a23288e1 + .quad 0x37ab0b57b848dfd5, 0x37f69099571fea27 + .quad 0x37a5f385601a1095, 0x37f25378a9823720 + .quad 0x37a1d0aee3f21eae, 0x37edc36feecfa2ba + .quad 0x379ce9ce0f1b56b8, 0x37e82a9fb7ad076b + .quad 0x379775af322a6fb6, 0x37e39ea243c7bf71 + .quad 0x3793084e2fb958e5, 0x37dfda4af81b306a + .quad 0x378ee0aaff5c7275, 0x37d9da7a2c5ab52c + .quad 0x37890b5b261712ac, 0x37d4fb44aa933f5c + .quad 0x37844f853ca3d2a1, 0x37d1068e39733d5f + .quad 0x37807839b24e2329, 0x37cba0b385a9673f + .quad 0x377ab4ef712ea53c, 0x37c669cb88b98bb4 + .quad 0x3775a6a27edc2aaf, 0x37c22e458ff074e2 + .quad 0x37718ccfb2383c0d, 0x37bd7dccacf16bdf + .quad 0x376c72c7d427b5c7, 0x37b7ea9a57d9c3fd + .quad 0x37670debd3477d7c, 0x37b364981b4fcacc + .quad 0x3762ae4c8505c4dc, 0x37af723b60a4c45a + .quad 0x375e45347f37826d, 0x37a97e0b5db827a8 + .quad 0x3758859d9d834871, 0x37a4a9cae44d02aa + .quad 0x3753dcdd6f53a761, 0x37a0bf347561e06f + .quad 0x3750163c7a1b8ce3, 0x379b246ea577dcd5 + .quad 0x374a0de9e4d0326a, 0x3795fe1a8f2ffd47 + .quad 0x374518a7407eb90e, 0x3791d15869af1a46 + .quad 0x3741146574533e59, 0x378cde08f63664fd + .quad 0x373ba6f77161f191, 0x378761ba88bf6eed + .quad 0x373661c59f17fae0, 0x3782efafc89163c3 + .quad 0x37321d2894bdd4c7, 0x377eab12c8aa7e50 + .quad 0x372d50e0eba3e44d, 0x3778d4d432dee077 + .quad 0x3727b84a5753cf1f, 0x37741a589d11cb19 + .quad 0x37233091416396db, 0x377045db9ec2ba81 + .quad 0x371f0bb3ff173143, 0x376a57861242277f + .quad 0x37191c3cacc75aaa, 0x376551681b8d3610 + .quad 0x37144ea256a84bb0, 0x376140098b38820c + .quad 0x37106bb841410434, 0x375be9e2feb561e0 + .quad 0x370a8d98b0d57710, 0x375694e9fdcb7be5 + .quad 0x37057755a2313bdf, 0x37524419d9ce37ff + .quad 0x37015a03d39bca43, 0x374d8bf1578b3aac + .quad 0x36fc0c4e9f387792, 0x3747e4dfe2cee6a2 + .quad 0x36f6aa9b63079411, 0x3743520b0bf08a51 + .quad 0x36f250ad98a67e4f, 0x373f3daa3dd37f3a + .quad 0x36ed9842421f4af1, 0x37394140b3abb78e + .quad 0x36e7e859d0226582, 0x373469d2facc66f7 + .quad 0x36e34f9e5d4c96d3, 0x37307f7c6b04c092 + .quad 0x36df314a5f5af6d7, 0x372aa9f80ec12e52 + .quad 0x36d9306ca687d568, 0x37258b5e63278412 + .quad 0x36d456b681315daf, 0x372167dcc97a0fd3 + .quad 0x36d06b98180e66f0, 0x371c1ee5bab4ede7 + .quad 0x36ca82a4c036e3f3, 0x3716b69077bfc3c7 + .quad 0x36c565cda5d05a6a, 0x371257dcc5bc2717 + .quad 0x36c144d77262f022, 0x370d9fdd2296338f + .quad 0x36bbdec7b50a66c0, 0x3707eb427b4ddd71 + .quad 0x36b67cb265d8483a, 0x37034f5aee912170 + .quad 0x36b224399b226996, 0x36ff2ca4dc8ff69f + .quad 0x36ad448f86c23d12, 0x36f92943634830d2 + .quad 0x36a79b2a15ae0faa, 0x36f44e2d8e947442 + .quad 0x36a3098d833c2da0, 0x36f0627b1e47c261 + .quad 0x369eb3aa595948f3, 0x36ea705784809825 + .quad 0x3698c0f08dff4e68, 0x36e554226cd542ef + .quad 0x3693f49a8880f6ad, 0x36e1343e7a202e90 + .quad 0x369015dd1c62a082, 0x36dbc0384ab3550d + .quad 0x3689edb80143a705, 0x36d660fe966c4e28 + .quad 0x3684e52056f2dec4, 0x36d20b6b60dae611 + .quad 0x3680d62a769875e0, 0x36cd1893fc15ba16 + .quad 0x367b2128dd015485, 0x36c7747e31ddd25c + .quad 0x3675dad6d3a16694, 0x36c2e7c997078049 + .quad 0x36719a81ef58dfc6, 0x36be790d89e8e564 + .quad 0x366c5ae1b79c4ee8, 0x36b88e545d12ba57 + .quad 0x3666d56e11abc8a7, 0x36b3c919aea97870 + .quad 0x366262a204b39df1, 0x36afe13c6f07b6ae + .quad 0x365d9a774b67b183, 0x36a9ae2b16a9550a + .quad 0x3657d48e51f6d6ed, 0x36a4af14f857334e + .quad 0x36532e43016e50e4, 0x36a0a8564eab8ff5 + .quad 0x364edf747f9f14f1, 0x369ad3a333504020 + .quad 0x3648d7d80e14b910, 0x3695996d7e13f467 + .quad 0x3643fd1708b687cb, 0x3691636f3d76858a + .quad 0x364014ad3fec9ec4, 0x368bfe545fce7a55 + .quad 0x3639dee40ecc2982, 0x368687ce08618977 + .quad 0x3634ceca2b274540, 0x368221a377d62eb4 + .quad 0x3630bbd071377b87, 0x367d2dcd30499eb7 + .quad 0x362ae9438e9a5c0b, 0x367779da2df7a30c + .quad 0x3625a30285652ad0, 0x3672e2a7c1fe1c5f + .quad 0x362164daef1c2b15, 0x366e61933d473856 + .quad 0x361bf6806876a635, 0x36686f2e6e7e582a + .quad 0x36167960688424ef, 0x3663a62b4892ce6e + .quad 0x36120f7f47f404a7, 0x365f99234ed0089e + .quad 0x360d061d530972c5, 0x3659676058974913 + .quad 0x3607517e8c57f622, 0x36546bd7c1e28ef0 + .quad 0x3602bb6ba79809ed, 0x365069f8cb02119f + .quad 0x35fe179628712470, 0x364a61febb6d574d + .quad 0x35f82af24bbe81dd, 0x36453351984f5d61 + .quad 0x35f3684a09debb18, 0x364108b4faaa8971 + .quad 0x35ef2a603a977e7c, 0x363b5e91e3ee196d + .quad 0x35e9054beadf5a51, 0x3635fc381e001854 + .quad 0x35e415c074fc9065, 0x3631a8782bc000be + .quad 0x35e01ef55a0092e3, 0x362c5c9be5ba37d4 + .quad 0x35d9e016e74801cb, 0x3626c625c9dd5c05 + .quad 0x35d4c3713bae315d, 0x362248f08aa2a9f5 + .quad 0x35d0a8cf82738469, 0x361d5b98efc2e8d5 + .quad 0x35cabada51b7b47e, 0x361790b07dcc17dd + .quad 0x35c570fb47030aa8, 0x3612e9c8b4dec3de + .quad 0x35c13270ae279a57, 0x360e5affac730013 + .quad 0x35bb951931589ad6, 0x36085b69d604d483 + .quad 0x35b61dfa678e3296, 0x36038aa7fa8655e3 + .quad 0x35b1bb88966006c4, 0x35ff5a41ad29abd6 + .quad 0x35ac6e52f00f28e6, 0x35f925df815332e1 + .quad 0x35a6ca07adb2cabe, 0x35f42b32a68b6433 + .quad 0x35a243c4de072741, 0x35f02c65f05a223c + .quad 0x359d4603cf73627e, 0x35e9ef9ba1f58105 + .quad 0x359774b9c8b06520, 0x35e4cb0a4ddc2264 + .quad 0x3592cad15ed5f00d, 0x35e0ab038a2ddd17 + .quad 0x358e1ba565f2f2da, 0x35dab82536c08c11 + .quad 0x35881da56c03901c, 0x35d569ce24f30cad + .quad 0x358350587b61e2e7, 0x35d128ac3f80b9ac + .quad 0x357eeeaf2386ba73, 0x35cb7f008c184953 + .quad 0x3578c45dba9ebaff, 0x35c6071b5b7d5f0b + .quad 0x3573d40375ab2fc9, 0x35c1a5112ad78884 + .quad 0x356fbe96dd52dd2a, 0x35bc43afb43abf3a + .quad 0x35696874b77050b3, 0x35b6a28d7dab4750 + .quad 0x3564557ac9b8a4ff, 0x35b21fe234726979 + .quad 0x35604568afbad70b, 0x35ad05b30647f5b6 + .quad 0x355a097bba9c5bba, 0x35a73bbedaae952f + .quad 0x3554d4668bc3c638, 0x35a298ce64edbc52 + .quad 0x3550a969821c25d4, 0x359dc489a35fd890 + .quad 0x354aa703eac27071, 0x3597d248efdebaf1 + .quad 0x3545506ec96ce1d8, 0x35930f843b6c62b7 + .quad 0x35410b0827e1c59f, 0x358e7fb2011e1175 + .quad 0x353b409eb99c2287, 0x358865c4d7ebd336 + .quad 0x3535c93bed6568e9, 0x358383b206d0bb99 + .quad 0x353169ff47b694c6, 0x357f36aa78ac249d + .quad 0x352bd5de633517f7, 0x3578f5cbbd7e3bd9 + .quad 0x35263e7724f64774, 0x3573f5064180659d + .quad 0x3521c60a3dd2224e, 0x356fe8f1d993bb19 + .quad 0x351c66566ef40333, 0x356981f750955121 + .quad 0x3516afcac6c09d1a, 0x3564632fef2669ec + .quad 0x35121ee56dbc8c6a, 0x35604b03ffb7174a + .quad 0x350cf19c31a391ac, 0x355a09e23dee12db + .quad 0x35071ce2ba111a68, 0x3554cddefbe00dae + .quad 0x3502744e94597df0, 0x35509eb734c1a314 + .quad 0x34fd77474fa3c96f, 0x354a8d28a7b21f9e + .quad 0x34f7856cde19858b, 0x354534c49c3a48a0 + .quad 0x34f2c60519b06073, 0x3540ef5469afe541 + .quad 0x34edf6f23e67822e, 0x353b0b689ea896f0 + .quad 0x34e7e9197060941a, 0x35359793ad60d8ab + .quad 0x34e313ca61e59763, 0x35313c9ee6b2a529 + .quad 0x34de703ac45eb1a5, 0x352b84429b1d33d8 + .quad 0x34d8479b71b66ff2, 0x3525f60114dc317a + .quad 0x34d35d621cd7892f, 0x3521865baa279b03 + .quad 0x34cee2c2766d39ae, 0x351bf759f4ae6481 + .quad 0x34c8a0a908fbee34, 0x35164fc41f392bcd + .quad 0x34c3a29293d26666, 0x3511cc51b3533d1b + .quad 0x34bf4e2f320ed2f5, 0x350c645558315ad7 + .quad 0x34b8f3fbe30bc1d8, 0x3506a496dcf46820 + .quad 0x34b3e324f4cf0981, 0x35020e4a4b8e031e + .quad 0x34afb22b934b9930, 0x34fccadf3adb1af0 + .quad 0x34a941518f17ca26, 0x34f6f4367d03dbd8 + .quad 0x34a41ee59ab3f625, 0x34f24c114d622260 + .quad 0x34a00733b2d2d2a7, 0x34ed2aa649df6e65 + .quad 0x3499886bd6d1085b, 0x34e73e63a45afd4d + .quad 0x349455a452136a60, 0x34e285756918be22 + .quad 0x3490314c07978175, 0x34dd835dd5ba6335 + .quad 0x3489c91111b6c15f, 0x34d782e2c1c97a81 + .quad 0x3484873499e69a71, 0x34d2ba486638ab1e + .quad 0x3480573c7a800f18, 0x34cdd4be385e9720 + .quad 0x347a030c72f0cf33, 0x34c7c17c5d99552c + .quad 0x3474b36ddfcc8743, 0x34c2ea5f617d321f + .quad 0x347078e5ec28bafd, 0x34be1e853589fe15 + .quad 0x346a362e51221b9f, 0x34b7f9fd64579e1a + .quad 0x3464da2bb75a5c65, 0x34b3159306d0abd0 + .quad 0x3460962c95c3eb50, 0x34ae6076548c0765 + .quad 0x345a624c67aa97df, 0x34a82c376c3acddf + .quad 0x3454fb4e0c13d490, 0x34a33bbfc6dd55a6 + .quad 0x3450aef82f484486, 0x349e9a5b32d2ef52 + .quad 0x344a874210dbadcf, 0x34985800f4a2d262 + .quad 0x344516b94dabb86d, 0x34935cc607ce4fd8 + .quad 0x3440c33410fd4c56, 0x348ecc03cea2935d + .quad 0x343aa4f078af0321, 0x34887d359f39448e + .quad 0x34352c5696370c9d, 0x3483788a50e33e44 + .quad 0x3430d2cf5025ba2d, 0x347ef546c9652b0a + .quad 0x342abb3ec79d594d, 0x34789bb66243bfd5 + .quad 0x34253c13ca08d951, 0x34738ef570827673 + .quad 0x3420ddbcd68fc943, 0x346f1601a115b514 + .quad 0x341aca1a45423b35, 0x3468b369b3c6ec4f + .quad 0x341545e3b0f8838a, 0x34639ff49c7fe5e8 + .quad 0x3410e3f374dd9d68, 0x345f2e18e05495b4 + .quad 0x340ad1767288e013, 0x3458c43bad265564 + .quad 0x340549be08e15927, 0x3453ab798c59d4c2 + .quad 0x3400e56def61fbc4, 0x344f3d7844c8a592 + .quad 0x33fad14d1b2f0b5f, 0x3448ce1e26fb8214 + .quad 0x33f5479f9137160b, 0x3443b17a8d383f04 + .quad 0x33f0e22b05782284, 0x343f4412db819edf + .quad 0x33eac99e5e7b9269, 0x3438d108ccedcd75 + .quad 0x33e53f8a0f98a8b8, 0x3433b1f28f8795ca + .quad 0x33e0da2d734853ff, 0x342f41e3132440da + .quad 0x33daba70af1767b0, 0x3428ccf9296410ae + .quad 0x33d531844d58365e, 0x3423ace12e143377 + .quad 0x33d0cd7bedf59779, 0x341f36eac3bc78c2 + .quad 0x33caa3d0ca096eed, 0x3418c1f2a8f92477 + .quad 0x33c51d9a0dfd2e93, 0x3413a24aae988ae7 + .quad 0x33c0bc211a3c2859, 0x340f23332c263066 + .quad 0x33ba85d1a4e6bedc, 0x3408affe95ac6f2a + .quad 0x33b503dbfed30324, 0x34039237fbbcfa18 + .quad 0x33b0a62b7d92f095, 0x33ff06cce511da3e + .quad 0x33aa608c535a2ba1, 0x33f8972c09d7f45c + .quad 0x33a4e45f9fa4adff, 0x33f37cb698950bda + .quad 0x33a08bad69ed20a4, 0x33eee1cfc9be3df9 + .quad 0x339a341fe436d2d7, 0x33e8778fdb058321 + .quad 0x3394bf3f24d273a5, 0x33e361d88db2b95b + .quad 0x33906cbce44363ec, 0x33deb45ad695330a + .quad 0x338a00b13659be7c, 0x33d851447ccc879b + .quad 0x3384949952fc2371, 0x33d341b44ff4c3c6 + .quad 0x3380497386163a39, 0x33ce7e93fdecae00 + .quad 0x3379c66ac5ae65b3, 0x33c82469dbf1833e + .quad 0x337464915486577b, 0x33c31c64a141680e + .quad 0x337021ee5a248c7f, 0x33be40a7f340982a + .quad 0x3369857c70b8b2bc, 0x33b7f125320f1e94 + .quad 0x33642f4e894cc71a, 0x33b2f2086b6a5cf4 + .quad 0x335fec9b69351b70, 0x33adfac9ed4c27ce + .quad 0x33593e1b371520a1, 0x33a7b7a0d21f0262 + .quad 0x3353f4fc50de840a, 0x33a2c2c295822108 + .quad 0x334f8d6a0e0a9508, 0x339dad335f7aacdb + .quad 0x3348f080f16c57c0, 0x3397780bee4609a1 + .quad 0x3343b5c9cfaada16, 0x33928eb9d3f5000a + .quad 0x333f269560bdbf92, 0x338d5823ab37d92e + .quad 0x33389cec0363502d, 0x3387329a5753ca24 + .quad 0x333371e9af8e6ccf, 0x3382561873c1cc7a + .quad 0x332eb86f931c309d, 0x337cfbdfc9b64d6e + .quad 0x3328439f081b525a, 0x3376e7843670c8d2 + .quad 0x33232991dc38028e, 0x3372190c2136fc76 + .quad 0x331e434fdd743954, 0x336c98b1eed08258 + .quad 0x3317e4e079de1a2e, 0x33669705c180d6c1 + .quad 0x3312dcfb3be31ebd, 0x3361d7c5aaa09490 + .quad 0x330dc7920bafc5dc, 0x335c2ee925b3e3f6 + .quad 0x330780fa5599d558, 0x3356415eeac7f744 + .quad 0x33028c6164ec1235, 0x33519278bf59ff34 + .quad 0x32fd459605b63623, 0x334bbed8e8100752 + .quad 0x32f71839bad6a45b, 0x3345e6d30c67b96b + .quad 0x32f2380250c57526, 0x3341495babbc8d8e + .quad 0x32ecbdbf53eed588, 0x333b48d8b08c37b5 + .quad 0x32e6aaee88d3a5e6, 0x333587a8905112eb + .quad 0x32e1e01e0cda0c0e, 0x3330fca71267dd26 + .quad 0x32dc3074a0c1c67d, 0x332acd43894c1f06 + .quad 0x32d6396af97c5f7f, 0x33252428954b7c2f + .quad 0x32d184f669e7e645, 0x3320ac95a364b406 + .quad 0x32cb9e1f37f768c9, 0x331a4c779750fb77 + .quad 0x32c5c4033ae88d94, 0x3314bc9e91b546a8 + .quad 0x32c126ceaa621095, 0x33105963d1a5105b + .quad 0x32bb072a84d6770b, 0x3309c6d5a387a6d7 + .quad 0x32b54b0d08180ac6, 0x33045157f4a2e598 + .quad 0x32b0c5eb30658611, 0x3300034f87652744 + .quad 0x32aa6c038fdf5aed, 0x32f93cc0a254a9f5 + .quad 0x32a4cedf419a9b38, 0x32f3e2a3c60327aa + .quad 0x32a062912bcc23f9, 0x32ef552fb3e1c70b + .quad 0x3299cd187cff951c, 0x32e8ae9d3a6eb66f + .quad 0x32944fd186d008c2, 0x32e370d2466d3327 + .quad 0x328ffa0c91caab55, 0x32de9ef97aa04b46 + .quad 0x32892ad80b12a09b, 0x32d81cd14bd535bb + .quad 0x3283ce3bd0683046, 0x32d2fc348f3a8121 + .quad 0x327f2b20c0b002ab, 0x32cde47d70b3398c + .quad 0x327885b1157e885c, 0x32c787c377ac34cd + .quad 0x32734a760cc47aca, 0x32c2851c338b22e4 + .quad 0x326e58ea51580bad, 0x32bd263d33512bb6 + .quad 0x3267de1218b19542, 0x32b6efdaa9c0e45e + .quad 0x3262c4d7bed4d522, 0x32b20bdae2cd61c6 + .quad 0x325d83f3d3e6d150, 0x32ac64ba5bdb46de + .quad 0x32573468ba3c29b8, 0x32a6557da47246f7 + .quad 0x32523db7a001a935, 0x32a190c20d5b5808 + .quad 0x324cacc668087b83, 0x329ba075f0192b60 + .quad 0x324689215536317f, 0x3295b9128fb09361 + .quad 0x3241b56b45aac06f, 0x329114228bb99133 + .quad 0x323bd3e92f58e3ae, 0x328ad9efd6e7e350 + .quad 0x3235dca68b92a62f, 0x32851afe8bbb6b6c + .quad 0x32312c46cab86e91, 0x3280964c48f92b05 + .quad 0x322af9e0c680145a, 0x327a11a652260d00 + .quad 0x32252f60dcf5b390, 0x32747ba5483b6e8f + .quad 0x3220a29c7db10f70, 0x3270178df0b67157 + .quad 0x321a1f2ec5b27de2, 0x326948157e97fbd7 + .quad 0x321481b643932bec, 0x3263db68a0470a4f + .quad 0x321018bc93b8e2e5, 0x325f306942454ae6 + .quad 0x3209445149305037, 0x32587db6da6dd3ca + .quad 0x3203d409d78b6819, 0x32533aa83bd4deab + .quad 0x31ff1de9c1ab95aa, 0x324e311742f9561b + .quad 0x31f869c2824b4b6b, 0x3247b300d303ed2c + .quad 0x31f326bb792c8c5b, 0x324299c1370fc2d1 + .quad 0x31ee0b212b870715, 0x323d31b83aa1a53b + .quad 0x31e78ff85165ac91, 0x3236e8665a634aff + .quad 0x31e27a27826da7a5, 0x3231f90dcff1976e + .quad 0x31dcf9b0072f8176, 0x322c32d9c998168a + .quad 0x31d6b763e947db08, 0x32261e5684f4d137 + .quad 0x31d1cea67fe8699c, 0x322158e51a7ac97e + .quad 0x31cbea20cad09b1f, 0x321b350464c51c99 + .quad 0x31c5e0717c155a1c, 0x3215553c2fc66728 + .quad 0x31c1248cf18568a2, 0x3210b99abbccdbb1 + .quad 0x31badcf760300963, 0x320a38baebfb68e4 + .quad 0x31b50b87f214792d, 0x32048d7dafad7ffe + .quad 0x31b07c2b12fe4dba, 0x32001b7eac5ea688 + .quad 0x31a9d2b0d0c4a0b1, 0x31f93e7a4bb07430 + .quad 0x31a43908aa677d25, 0x31f3c77c897ed254 + .quad 0x319fab995891c153, 0x31eefdba02e2ceff + .quad 0x3198cbc2fe600108, 0x31e846b92a47c343 + .quad 0x3193694f45c1b92f, 0x31e30395337f89bb + .quad 0x318e6371d3dc0233, 0x31ddc7fb7bbca8ad + .quad 0x3187c89c6867890e, 0x31d751e7a10e8264 + .quad 0x31829cb17b0f706b, 0x31d2421ee0211f87 + .quad 0x317d20647a807a0c, 0x31cc9649548abac7 + .quad 0x3176c9a3fd812077, 0x31c6606f00ed6d5d + .quad 0x3171d37ef5f490cd, 0x31c1836b52067807 + .quad 0x316be2ec88ae1479, 0x31bb6922692e74d4 + .quad 0x3165cf38f9818abf, 0x31b572b1a2c0293a + .quad 0x31610e013ef486f7, 0x31b0c7c6b93f06a1 + .quad 0x315aab7b734b99f6, 0x31aa40fcadcdd133 + .quad 0x3154d9b2cf546b09, 0x31a4890ac32b69b5 + .quad 0x31504c7bad04b57c, 0x31a00f779993bbc1 + .quad 0x31497a78d5f1c6db, 0x31991e450ac30542 + .quad 0x3143e9611e821800, 0x3193a3ce69b6a143 + .quad 0x313f1e56c0773bb7, 0x318eb57d7362f984 + .quad 0x313850426f2df55d, 0x3188015f467ddd40 + .quad 0x3132fe8bb3e4f4d8, 0x3182c3495adab7d8 + .quad 0x312dac8e8a813f1f, 0x317d53ae35dbfa26 + .quad 0x31272d2c2a7422ab, 0x3176eaa5fce4af3a + .quad 0x31221972950f570d, 0x3171e7c114a57a33 + .quad 0x311c44004226dc17, 0x316bf9ebf2ac34cf + .quad 0x3116118037139874, 0x3165da6aa3adb7a3 + .quad 0x31113a4e15d42467, 0x31611173d5813f4d + .quad 0x310ae501496e23f2, 0x315aa895a750e0f6 + .quad 0x3104fd7f2b705e64, 0x3154d0f59b16ac32 + .quad 0x3100614ef7575b09, 0x31504098aca1b898 + .quad 0x30f98fdb1084fd1c, 0x31495ffef5a788b3 + .quad 0x30f3f16033b4da17, 0x3143ce864a4f75bb + .quad 0x30ef1d3d20014dd3, 0x313eeabf27142ccb + .quad 0x30e844cb59a101a9, 0x31382070510e6e91 + .quad 0x30e2ed514b22b68b, 0x3132d35346de60f3 + .quad 0x30dd84bdf7421499, 0x312d5fe3202b4d44 + .quad 0x30d7040489842ad7, 0x3126ea2738b3dbeb + .quad 0x30d1f1777f205012, 0x3121df8a8637ba9c + .quad 0x30cbf956a62adf73, 0x311be0e1bcc5bf2b + .quad 0x30c5cdae0381ff94, 0x3115bd567e120a1c + .quad 0x30c0fdef3b187063, 0x3110f35198b8b7f7 + .quad 0x30ba7b2fd5556b6a, 0x310a6df243f2c6f4 + .quad 0x30b4a1e48fd99b8e, 0x31049a26968a8fd1 + .quad 0x30b012cc9c3d142a, 0x31000ec5ed2dbe3e + .quad 0x30a90a652d08b6ec, 0x30f9073f3afbdfeb + .quad 0x30a380bacb3471d9, 0x30f380b5f70c487d + .quad 0x309e603798765b0a, 0x30ee63fa380d130b + .quad 0x3097a705e88ab4c8, 0x30e7ace6e086aab7 + .quad 0x30926a399e180e7c, 0x30e2711978a97cf7 + .quad 0x308cabc2c3d98d7c, 0x30dcba0a72ae9c08 + .quad 0x308651157275ac6f, 0x30d65efbb20adf2d + .quad 0x30815e60bb1a2bac, 0x30d16b5cc5019368 + .quad 0x307b08358e30e1b1, 0x30cb1fca598944c3 + .quad 0x3075088c08941b89, 0x30c51d84fa353951 + .quad 0x30705d2722aa0abe, 0x30c06f82c9619b90 + .quad 0x3069757d44a0d5d1, 0x30b9953a1cf16aad + .quad 0x3063cd5765cc7b51, 0x30b3e87f66d27bb0 + .quad 0x305eccf7568ff3af, 0x30aefb0c5f0312cd + .quad 0x3057f37a88128933, 0x30a81a4d1085cfd1 + .quad 0x30529f5b70afae6e, 0x30a2bfdda4e2b20c + .quad 0x304cf48b1a182cb9, 0x309d2ab3b59164a6 + .quad 0x304682022c0d8296, 0x3096aeea740e7e26 + .quad 0x30417e72ed48d1c2, 0x3091a389017ca93c + .quad 0x303b30c9decefa86, 0x308b6dd2d215fccf + .quad 0x303520de188c8ff4, 0x308552ee415230cd + .quad 0x30306a7030db71fb, 0x308093620e33d9f9 + .quad 0x30298166f02e00aa, 0x3079c4336b720df7 + .quad 0x3023cfce2d301755, 0x30740629fd47fda6 + .quad 0x301ec63bac9af50a, 0x306f1e828f7f1e6e + .quad 0x3017e609b497d4bf, 0x30682d92bd0fbc5b + .quad 0x30128e89244647b5, 0x3062c8658b1c7fab + .quad 0x300cd07ee41894f6, 0x305d2def7b6139fb + .quad 0x30065e4eca3c47ce, 0x3056a9a29142865a + .quad 0x30015cbd7439af48, 0x3051995fff959855 + .quad 0x2ffaf324889fe32e, 0x304b549f742691f7 + .quad 0x2ff4e9c920d5db05, 0x3045380a4af4c2e9 + .quad 0x2ff03a122e1077b7, 0x304078d07375b0b0 + .quad 0x2fe92d9bd168c630, 0x3039921acfd99f39 + .quad 0x2fe388030ea8589c, 0x3033d867ecfb60a5 + .quad 0x2fde4c4faf832008, 0x302ecccda72dba49 + .quad 0x2fd77f4a046c515e, 0x3027e5deef2de87b + .quad 0x2fd2387f5f4b712e, 0x30228a511d87ce7d + .quad 0x2fcc413282821079, 0x301cc3995b1e2c40 + .quad 0x2fc5e78bc56d0fbb, 0x30164f5f80200f46 + .quad 0x2fc0faba5af01355, 0x30114d5424501d7e + .quad 0x2fba51f8a6830159, 0x300ad54bef9112d0 + .quad 0x2fb465b65a83bdbb, 0x3004ce07b8d50856 + .quad 0x2faf9c5589e7201f, 0x300020f8e226943e + .quad 0x2fa87dc5ad8af9ec, 0x2ff90123a8271991 + .quad 0x2fa2f918e4d3f95c, 0x2ff3613b89391a8f + .quad 0x2f9d6485a170413a, 0x2fee098381b76cd3 + .quad 0x2f96c3b66970be3d, 0x2fe7465697a54c64 + .quad 0x2f91a0fd8c3a4e6f, 0x2fe20858c20a1795 + .quad 0x2f8b4ce217bd5e55, 0x2fdbf05934cfa1cc + .quad 0x2f8522e259c7017a, 0x2fd5a41409f84e49 + .quad 0x2f805caa9cf257c4, 0x2fd0c2b83023243d + .quad 0x2f7954427a430b11, 0x2fc9f5672cf62a4f + .quad 0x2f739a5d07601e71, 0x2fc41985de8f7a14 + .quad 0x2f6e56c72cc01fcc, 0x2fbf1f5d5615d783 + .quad 0x2f67797a6e64ddc9, 0x2fb8179bfb69c631 + .quad 0x2f6229374c838060, 0x2fb2a5d1d1f1ae5c + .quad 0x2f5c18d454a503ae, 0x2facdd1c2bddbb9e + .quad 0x2f55bb5b3e414ad3, 0x2fa655e203c78ad0 + .quad 0x2f50ce808921de57, 0x2fa1481ab5a1469a + .quad 0x2f49fdfe587f056a, 0x2f9abd4ca4bd8884 + .quad 0x2f4418b54bd6a895, 0x2f94af20f59f283d + .quad 0x2f3f128f851039d9, 0x2f8fff032b2dbde7 + .quad 0x2f3804c6e03f60cb, 0x2f88be8c488684b4 + .quad 0x2f3290596a08a94f, 0x2f83223f2e5be0f0 + .quad 0x2f2cb1395c8187f6, 0x2f7d964d959533d1 + .quad 0x2f262bb1316ec5fc, 0x2f76df780d5ecc43 + .quad 0x2f21211a1b47d3ae, 0x2f71ae2302fd4bcd + .quad 0x2f1a772150026811, 0x2f6b5455f4e2ce45 + .quad 0x2f147143aa78b5fe, 0x2f651eade2a24279 + .quad 0x2f0f93996ba5e93d, 0x2f6051b3f15282e5 + .quad 0x2f08626f2553e204, 0x2f593760037df87a + .quad 0x2f02d4091cd12adc, 0x2f537ace1ccc1a8d + .quad 0x2efd1294db79df79, 0x2f4e17b7713cf17f + .quad 0x2ef6715149108678, 0x2f473db39c4b278b + .quad 0x2ef1529206516167, 0x2f41f27cc2724f90 + .quad 0x2eeabce28a1f17f2, 0x2f3bb70eb3792a1c + .quad 0x2ee4a1fe3e55f964, 0x2f35659e4463ddd1 + .quad 0x2edfd6eb54be7326, 0x2f308462ba9624db + .quad 0x2ed89049c51b8388, 0x2f297f4ffe1284a1 + .quad 0x2ed2f2b5e6789756, 0x2f23ad748e88c53f + .quad 0x2ecd3aa617478594, 0x2f1e5e5db98318a5 + .quad 0x2ec68a9e9f7b2f9a, 0x2f176e6798f53e9a + .quad 0x2ec161c2a1de488e, 0x2f121393590da64b + .quad 0x2ebacda38e82463b, 0x2f0be32dc731f12c + .quad 0x2eb4a9c33e05809a, 0x2f05824d30f3fce1 + .quad 0x2eafdaf4969fc450, 0x2f009660e736b8bd + .quad 0x2ea88d45a53c41c5, 0x2ef994b0856743cb + .quad 0x2ea2eba8f55fe897, 0x2ef3b9051c5e7679 + .quad 0x2e9d287e1e77c85a, 0x2eee689bae600601 + .quad 0x2e96770239fc87e6, 0x2ee77071c1633b26 + .quad 0x2e914e513c1b20dc, 0x2ee210a174166fcd + .quad 0x2e8aa90041143186, 0x2edbd7abebe480e6 + .quad 0x2e8488642c71cfa6, 0x2ed5740f6d4ed277 + .quad 0x2e7f9f9ce5a157bb, 0x2ed0874302ee34fd + .quad 0x2e785974997b931f, 0x2ec97701e51a6bfe + .quad 0x2e72bf0c37efc00b, 0x2ec39d3aac239fe2 + .quad 0x2e6cdc89092e43c3, 0x2ebe36341a88ea0c + .quad 0x2e6636f0e2785c54, 0x2eb743c5e4db43f9 + .quad 0x2e6118b19def65f8, 0x2eb1e9b8ad36fd99 + .quad 0x2e5a4fd2c459c710, 0x2eab94cde5e4fc30 + .quad 0x2e543ea7a73d5cf0, 0x2ea53b3a109a94ae + .quad 0x2e4f26454740b953, 0x2ea057635a1ed1df + .quad 0x2e47f60ab495565c, 0x2e9926f55b776f91 + .quad 0x2e426de8be09d876, 0x2e935abb1f1cadef + .quad 0x2e3c5889cb51dbb9, 0x2e8dc853b381e5a0 + .quad 0x2e35cbe6a335189c, 0x2e86e96e5d005f5d + .quad 0x2e30c22190c33c65, 0x2e819fc0dba0e848 + .quad 0x2e29c42b0a7816ac, 0x2e7b1c21d6e11086 + .quad 0x2e23ce41b9a97542, 0x2e74d91f3701143c + .quad 0x2e1e71ba6efe048b, 0x2e7007de792cfd6e + .quad 0x2e176552635a3b27, 0x2e68a6663a0ececb + .quad 0x2e11fa1c7f04e719, 0x2e62f310e41037d6 + .quad 0x2e0b9f88d1e59fb3, 0x2e5d2185735c5ad9 + .quad 0x2e0538582347c59e, 0x2e566381bdd98a02 + .quad 0x2e004c9ca3c242ad, 0x2e51346f1ba5a69a + .quad 0x2df9093a8968bba5, 0x2e4a706fd9470fb8 + .quad 0x2df339c31e0d51b7, 0x2e445000f1eec014 + .quad 0x2ded8619415342d3, 0x2e3f3510620184ea + .quad 0x2de6aa95f63dd017, 0x2e37f84791f6fdbb + .quad 0x2de16648113f6ec6, 0x2e32689bc620188b + .quad 0x2ddab5b65b277be7, 0x2e2c45998d7521ae + .quad 0x2dd47f9aad3382fe, 0x2e25b50e4b7d6356 + .quad 0x2dcf7591b1b1c875, 0x2e20aa3508d5db00 + .quad 0x2dc82335294ba260, 0x2e19959eb6f64db6 + .quad 0x2dc2848053b7dfb1, 0x2e13a2fb2a16d1cc + .quad 0x2dbc68a6f5a8ef62, 0x2e0e23b370697cbb + .quad 0x2db5c9ffcce7e5fd, 0x2e0720876851d9fb + .quad 0x2db0b5b54d487d35, 0x2e01be79c992aff6 + .quad 0x2da9a0421e5c5d71, 0x2dfb3980569c43a5 + .quad 0x2da3a5c4268d4e27, 0x2df4e1fc4f822568 + .quad 0x2d9e1fba80d34a41, 0x2df0042910b94342 + .quad 0x2d97172912ec21f8, 0x2de8908e30f7a1b3 + .quad 0x2d91b271db151968, 0x2de2d5e5a1b8288e + .quad 0x2d8b1f9ef2d6b135, 0x2ddce1b3b9ea6267 + .quad 0x2d84c872d1af92bc, 0x2dd623e8fb994f23 + .quad 0x2d7fd87064e02a6f, 0x2dd0f8695160ca38 + .quad 0x2d78652a61cdcd3b, 0x2dca031b186be289 + .quad 0x2d72af84a660968d, 0x2dc3eee8e04dc3a0 + .quad 0x2d6c9f07af149226, 0x2dbe8bd23cc416f0 + .quad 0x2d65eacf76fffc0c, 0x2db766e8d5583265 + .quad 0x2d60c80f3efbbf3f, 0x2db1ed2fab014c43 + .quad 0x2d59b1f8ffd8f3c8, 0x2dab76010ebb6c6a + .quad 0x2d53ab5d5023fe4a, 0x2da507d813502ab7 + .quad 0x2d4e1c174ea2aaa6, 0x2da01aa61c90eacc + .quad 0x2d470b05029068da, 0x2d98a90544ab274d + .quad 0x2d41a1fba21de5f0, 0x2d92e0fb0911dd84 + .quad 0x2d3afb70654af059, 0x2d8ce6f24739f7c7 + .quad 0x2d34a458b53b2a84, 0x2d861eefc532711f + .quad 0x2d2f944d95c81983, 0x2d80edb77098a960 + .quad 0x2d28272ab43f7156, 0x2d79e82e04d9025f + .quad 0x2d2278886c5a4d73, 0x2d73d237a2e0f859 + .quad 0x2d1c3f57b512a1f2, 0x2d6e5385c7d0efe0 + .quad 0x2d1598c52c5d1746, 0x2d673258d0b919eb + .quad 0x2d10828ad1da0983, 0x2d61bdb57d01cecc + .quad 0x2d093d4935512f54, 0x2d5b223e5e67d24a + .quad 0x2d034a3670d3cd59, 0x2d54bf43098a2ef1 + .quad 0x2cfd7b67cefff216, 0x2d4fb93db1e39a21 + .quad 0x2cf686e7356020d2, 0x2d48402d3eada60a + .quad 0x2cf135e695d6d4f8, 0x2d42892e31597360 + .quad 0x2cea4b6028e1ae52, 0x2d3c5502f868f04b + .quad 0x2ce415808da66669, 0x2d35a670a5d83e0e + .quad 0x2cdead51e60a821d, 0x2d308ac71830fd4e + .quad 0x2cd76cfe88ffbfa7, 0x2d29467d9d3bce7d + .quad 0x2cd1e2e61d740a91, 0x2d234ea92731d6f0 + .quad 0x2ccb4f6c22875415, 0x2d1d7e402cf49a21 + .quad 0x2cc4d8e03e448998, 0x2d16860e96265ba8 + .quad 0x2cbfd2c6816f010b, 0x2d1132f279000564 + .quad 0x2cb8494b75728df1, 0x2d0a4356bd52863e + .quad 0x2cb28836b62851b4, 0x2d040cac092d16a6 + .quad 0x2cac476ceb4ce0a6, 0x2cfe9bb8c8c45eaa + .quad 0x2ca592d26553a529, 0x2cf75c6ad9777c96 + .quad 0x2ca074be65f60432, 0x2cf1d3d889242361 + .quad 0x2c991a14719373e5, 0x2ceb34c7bf3e0108 + .quad 0x2c93248b33f78dd9, 0x2ce4c1bf325b5886 + .quad 0x2c8d316bfa6ecf07, 0x2cdfab351a6d7271 + .quad 0x2c8641dc398561ef, 0x2cd827d8b273a859 + .quad 0x2c80f79d08c027e2, 0x2cd26c35a8453a6e + .quad 0x2c79ddabce45ff88, 0x2ccc18e854f7a653 + .quad 0x2c73b6a0443345f1, 0x2cc56c727238c10e + .quad 0x2c6e0b830517633f, 0x2cc05545196af9e3 + .quad 0x2c66e4903f595976, 0x2cb8e6b62ae03487 + .quad 0x2c6170eca4e7a4ca, 0x2cb2facf384d3a3b + .quad 0x2c5a92756c27d93a, 0x2caceddf1e753b81 + .quad 0x2c543d40bf74392d, 0x2ca60b61e0028436 + .quad 0x2c4ed3e286c4c0de, 0x2ca0cbd09b1e5e10 + .quad 0x2c477993389df313, 0x2c9997719e8b73a8 + .quad 0x2c41dfa945eaae99, 0x2c937e77cf85ca37 + .quad 0x2c3b36ec5aa05880, 0x2c8db1e802a6c81f + .quad 0x2c34b749e64b35f5, 0x2c869d3aa6fccfd9 + .quad 0x2c2f88d823260c9e, 0x2c81383f4dd09079 + .quad 0x2c27ffa0f1fabb65, 0x2c7a388f33976b7b + .quad 0x2c2242e12375b352, 0x2c73f613589599c6 + .quad 0x2c1bc9a844ffd2b5, 0x2c6e635a66e3ebe7 + .quad 0x2c1523af73f84783, 0x2c6720bfb4a981d7 + .quad 0x2c10146a610e0588, 0x2c6199a49bcc5100 + .quad 0x2c087590d6d36008, 0x2c5ac8ae259e160c + .quad 0x2c0299b80ea6bb7f, 0x2c54609b0c4183ca + .quad 0x2bfc496292aa266b, 0x2c4f00af26520f9d + .quad 0x2bf5817f72c95e4c, 0x2c4794ce31e24c7b + .quad 0x2bf059392396d038, 0x2c41ef2877dbfcad + .quad 0x2be8da5a346cbb3f, 0x2c3b468dc95cb829 + .quad 0x2be2e36a9eb80d32, 0x2c34bd213115ac94 + .quad 0x2bdcb4fb203e18a0, 0x2c2f88862b544527 + .quad 0x2bd5cfe5be9615c7, 0x2c27f861b04cbe3a + .quad 0x2bd0923c6394f695, 0x2c22380a7a548a2f + .quad 0x2bc92d18166ccd51, 0x2c1bb1122f6e5762 + .quad 0x2bc31f510cb3f507, 0x2c150ad48dd9b3a6 + .quad 0x2bbd0b7c794af438, 0x2c0ff9ab8e5d6631 + .quad 0x2bb60e2f23228ded, 0x2c084a97f6b3e853 + .quad 0x2bb0bef1906dac58, 0x2c0273a4b16ba84f + .quad 0x2ba96d0ca88e4fc0, 0x2bfc07484e1da469 + .quad 0x2ba34ce1af3c1b60, 0x2bf549037ceef1fe + .quad 0x2b9d4c1f7c67dd18, 0x2bf0298e0fc06037 + .quad 0x2b963bcc0600e3b1, 0x2be88ab45875f419 + .quad 0x2b90def17046c37e, 0x2be2a16e161fa35f + .quad 0x2b8999a40ba75f42, 0x2bdc48699c75f345 + .quad 0x2b836bb3093bcf7f, 0x2bd5771e906a9978 + .quad 0x2b7d764e5657aa20, 0x2bd04a04a1699caa + .quad 0x2b7658528dc53bd5, 0x2bc8b822865b44e6 + .quad 0x2b70f1f1acd583c0, 0x2bc2c0fc98ac934c + .quad 0x2b69b2768ee2e280, 0x2bbc73df0b6d4334 + .quad 0x2b637b7d60833afb, 0x2bb594bab8ddacb1 + .quad 0x2b5d89a6c43f4c10, 0x2bb05dee05833b3c + .quad 0x2b5663803afd90e2, 0x2ba8d278c9cbfc58 + .quad 0x2b50f7c5f2e42650, 0x2ba2d206b997c2cc + .quad 0x2b49b74a41343d69, 0x2b9c89434d36542f + .quad 0x2b437c1bd3bb9cfe, 0x2b95a192e33cf627 + .quad 0x2b3d85fb90bdf218, 0x2b90651bc0c61b20 + .quad 0x2b365d3aea4b609e, 0x2b88d9799e5f2521 + .quad 0x2b30f0609e7aa674, 0x2b82d464a6b30dc2 + .quad 0x2b29a813d2878f74, 0x2b7c88645e6c88ee + .quad 0x2b236d8ce9d2217b, 0x2b759d89052b0525 + .quad 0x2b1d6b5543d3c940, 0x2b705f7d07f3fb02 + .quad 0x2b1645913a262a36, 0x2b68cd14a1185c8d + .quad 0x2b10dbd2f003b6a5, 0x2b62c810d60e767e + .quad 0x2b0984f6bfe67780, 0x2b5c714448c370a6 + .quad 0x2b034ff297cd534d, 0x2b5588a691f2cd1f + .quad 0x2afd39f201da2255, 0x2b504d1f01416963 + .quad 0x2af61cba521cabb4, 0x2b48ad66d03eba59 + .quad 0x2af0ba4cc94c45b3, 0x2b42ad281b8cc2a0 + .quad 0x2ae94e44c9a075e7, 0x2b3c44191b160ec2 + .quad 0x2ae32391bcecdc03, 0x2b35631c55b5d22c + .quad 0x2adcf2449a3fda4b, 0x2b302e2c911c7929 + .quad 0x2ad5e3150cc8eda4, 0x2b287aba1a7120bf + .quad 0x2ad08c1bf3c985fa, 0x2b2283e938a586f7 + .quad 0x2ac9047cb663bb8c, 0x2b1c014c17012593 + .quad 0x2ac2e8d117dfdd44, 0x2b152d41b7968429 + .quad 0x2abc94f2cb2815a8, 0x2b1002edb3674f27 + .quad 0x2ab599268900e7bc, 0x2b0835843f5f0b0c + .quad 0x2ab051aaf415041d, 0x2b024cb3e8b7d756 + .quad 0x2aa8a84869fc8267, 0x2afba9781881c8a9 + .quad 0x2aa2a037bab743e1, 0x2af4e79366e7a470 + .quad 0x2a9c22d2c350e306, 0x2aef978cc962d426 + .quad 0x2a953f982a03a248, 0x2ae7de65083f0e21 + .quad 0x2a900b7f70f68972, 0x2ae208076f18ea30 + .quad 0x2a883a7a5a0b9d4d, 0x2adb3d6740403453 + .quad 0x2a824a6b05eb3eda, 0x2ad492b17a8d9ad4 + .quad 0x2a7b9ce7efad864c, 0x2acf126a42ab2a64 + .quad 0x2a74d7351162fad8, 0x2ac77623e1a3ca2f + .quad 0x2a6f74706d1f613c, 0x2ac1b680aeae0c3c + .quad 0x2a67bc0a6e57fbc5, 0x2ababe0fed214bca + .quad 0x2a61e82c35430e3d, 0x2ab42f5d0cb0afeb + .quad 0x2a5b045f25c98b4b, 0x2aae77a20528f8f5 + .quad 0x2a5460e7202036c7, 0x2aa6fdace394b03c + .quad 0x2a4ebd15c07c2acd, 0x2aa158d7d54f1681 + .quad 0x2a472e125d540295, 0x2a9a2c9115542385 + .quad 0x2a417a558b9c184f, 0x2a93be755f8b210c + .quad 0x2a3a5a8a3f3de092, 0x2a8dc88f077bd369 + .quad 0x2a33ddb38ecb5b52, 0x2a86760d57bb9982 + .quad 0x2a2df2826b036578, 0x2a80efdda755dbb3 + .quad 0x2a2691c997f37f0e, 0x2a798a2e123c782e + .quad 0x2a2101d72c627ff7, 0x2a7340f49a722110 + .quad 0x2a19a0db3d2b8dac, 0x2a6d06b3f65f6fd0 + .quad 0x2a134eb72e63e592, 0x2a65e06fcff790f4 + .quad 0x2a0d166c8f34fca4, 0x2a607c787991a680 + .quad 0x2a05e880d9f1fe43, 0x2a58d849f54265f7 + .quad 0x2a007fb3b2ff1602, 0x2a52b7ec30262d2b + .quad 0x29f8d8df0cbffd52, 0x2a4c33b5a8ad639f + .quad 0x29f2b52265317648, 0x2a453e17e1a8afad + .quad 0x29ec2aa6bd34f17b, 0x2a3fff41d2913dab + .quad 0x29e5339d751ff2a1, 0x2a3818627da2e9e4 + .quad 0x29dfe9f93308c405, 0x2a32248100f21115 + .quad 0x29d80438073219de, 0x2a2b515531d535eb + .quad 0x29d21234fbc4a127, 0x2a24905d9b84e0cb + .quad 0x29cb31198aa5f8ab, 0x2a1ef4bcc5f71a72 + .quad 0x29c474946f304456, 0x2a174c0ac8d03b2b + .quad 0x29bec59d00f3fe38, 0x2a1187e74c209a91 + .quad 0x29b7249848679fa9, 0x2a0a6169b09c4411 + .quad 0x29b16739cec78bd4, 0x2a03d8a8ccb26cd9 + .quad 0x29aa2bbd0795adee, 0x29fddb87127c2076 + .quad 0x29a3ace589cd3352, 0x29f674e5d7be735c + .quad 0x299d949ad392f075, 0x29f0e35e84d33d3f + .quad 0x29963bbbf78651cc, 0x29e965d9f895d99c + .quad 0x2990b5827a3ba382, 0x29e3186c34406960 + .quad 0x29891c922f9ee4c0, 0x29dcb5d51a48d7d4 + .quad 0x2982de164c74e725, 0x29d594a1039f0199 + .quad 0x297c5941f108d9d1, 0x29d0382d1e479246 + .quad 0x29754b639c219649, 0x29c8609634a384cc + .quad 0x296ffcc62473097a, 0x29c25120afe02122 + .quad 0x2968059c757355ae, 0x29bb85e31314f4b4 + .quad 0x296209ad26ca18d9, 0x29b4acee7c0fcbaf + .quad 0x295b15e18d0d2d12, 0x29af0f38c6449ad9 + .quad 0x2954554e9983b016, 0x29a753919ff4b182 + .quad 0x294e865bf893f8f4, 0x29a1844080030d76 + .quad 0x2946e8db855aac9a, 0x299a4dede3a3eb93 + .quad 0x2941312cc0ae5d04, 0x2993bf7fe7aa33a0 + .quad 0x2939ccc1bfbf7ecb, 0x298da5e8d4d639ed + .quad 0x29335b35e7d0088e, 0x298640bc7176cda7 + .quad 0x292d0a5ff60b92cf, 0x2980b342b640cc13 + .quad 0x2925c84558f35d95, 0x2979102c47629cb9 + .quad 0x2920560f8bafb2c7, 0x2972ce013e375d0f + .quad 0x2918801ce509ea26, 0x296c36f07720a932 + .quad 0x29125ec7207b3c64, 0x296529fe13854ed9 + .quad 0x290b8b58f7c67c36, 0x295fbf2dc269c35d + .quad 0x2904a5c0b3b7424d, 0x2957cec854a40ddc + .quad 0x28fef3874e46141b, 0x2951da13f1aaaee6 + .quad 0x28f732197e24d857, 0x294ac4c46230c45c + .quad 0x28f1619ff0ea7ec6, 0x2944112fbeff8a1f + .quad 0x28ea0bb46a0a2c53, 0x293e15420dda8758 + .quad 0x28e383201c8ba71a, 0x29368bd97eb5b05d + .quad 0x28dd3b4e4b894768, 0x2930e54a78756b6b + .quad 0x28d5e4c4aaef0130, 0x292951c14f527745 + .quad 0x28d0654a030d3e70, 0x2922f8178dd14a04 + .quad 0x28c88dc03d1ca801, 0x291c6b6bf9361ee4 + .quad 0x28c2621d65152a67, 0x2915495f2949c65e + .quad 0x28bb860981f4834a, 0x290fe24891c8ca0c + .quad 0x28b49a0d4c97c281, 0x2907e02609a87253 + .quad 0x28aed66ed1143993, 0x2901e064158c947b + .quad 0x28a713a5a10cc9b0, 0x28fac4304f253262 + .quad 0x28a14455cbbff469, 0x28f4093bdea6e36f + .quad 0x2899d62205df47a6, 0x28edfe14a435c3c2 + .quad 0x289353bfdeb15aa4, 0x28e6720e3d624fdc + .quad 0x288ce97f23783a55, 0x28e0cba8970a9d66 + .quad 0x28859f649793ea9a, 0x28d921e961b81171 + .quad 0x28802b46c188f22d, 0x28d2cd3135c626d1 + .quad 0x28782dcfdba2d59c, 0x28cc2097f7f7c953 + .quad 0x287213830f44d648, 0x28c5096e15b063db + .quad 0x286b0639acae41c7, 0x28bf76b39886a20d + .quad 0x286432d063e4cc5a, 0x28b786c2636e4e2a + .quad 0x285e3096b161ade1, 0x28b196dc712e8651 + .quad 0x28568f1646f450cc, 0x28aa4c39680abb0b + .quad 0x2850dad51a121c5f, 0x28a3a80eb1934625 + .quad 0x28492ed52465cf13, 0x289d6196b3830612 + .quad 0x2842cf8cdb32b26d, 0x2895f4b3b930a91a + .quad 0x283c1934bb7035c1, 0x289067b3db09279e + .quad 0x2834fbc11c19c0b7, 0x2888832413bcb6f5 + .quad 0x282f5613cdc1ad52, 0x28824f8b72bbd6ee + .quad 0x28276547ab0f816a, 0x287b5a5bcacf14dd + .quad 0x2821770c93ef3136, 0x28746d8046ba690c + .quad 0x281a128a30d837eb, 0x286e8209bd7c6d4d + .quad 0x281375630e92b790, 0x2866c744b66f6406 + .quad 0x280d0a93cd8add1e, 0x2861015024fefc8d + .quad 0x2805ab4549d6cf15, 0x2859631ba1694964 + .quad 0x28002a8fed4a1944, 0x2852f2b3b1ae197d + .quad 0x27f81e6d5efc2ece, 0x284c47e5b8f9de0c + .quad 0x27f1fd54f3e20bfc, 0x28451a481761d265 + .quad 0x27ead523512d80ae, 0x283f7d2ff106229c + .quad 0x27e4023f854f9c86, 0x28377da522f79ec5 + .quad 0x27ddd649c8fad0d5, 0x283185a192bd02b4 + .quad 0x27d63e684c4d4572, 0x282a22ed5ef67f83 + .quad 0x27d094b5ecc6e290, 0x28237d9a85948033 + .quad 0x27c8b7643330549e, 0x281d10da89b8212a + .quad 0x27c26b65f14cd4da, 0x2815ab7d4224f7e2 + .quad 0x27bb734f53e57228, 0x2810276587fa1c20 + .quad 0x27b473b9d1931175, 0x280814bdb918424d + .quad 0x27ae78d8c6e84fdd, 0x2801f2684f2af658 + .quad 0x27a6b2a2c93cd65a, 0x27fabf540fb4e1a1 + .quad 0x27a0e7a7b055d281, 0x27f3eddfeeed0dd2 + .quad 0x27992d87cacce695, 0x27edb1c82f79707d + .quad 0x2792bf57b6e0d98d, 0x27e61ea0b7eb4c3c + .quad 0x278bea4f9488e121, 0x27e0799f1fb897d8 + .quad 0x2784c7d8bf7bdc41, 0x27d889f21fdb1d69 + .quad 0x277eef6b8bfa9225, 0x27d245c20ba28a39 + .quad 0x277705ed2bbfd521, 0x27cb3598a0d59840 + .quad 0x277121f1b69882eb, 0x27c4418fde75923e + .quad 0x27697ec608197c79, 0x27be27e05b6c31f9 + .quad 0x2762f7b0edc74f1c, 0x27b671af7f5d8858 + .quad 0x275c380c41f75030, 0x27b0b3d4442eda68 + .quad 0x2754fd20f15083b3, 0x27a8db341e4d4306 + .quad 0x274f37ea8d01e9c5, 0x27a27e37e3bc73c9 + .quad 0x274736cebb19a201, 0x279b83a639f29a80 + .quad 0x2741428c012e2c57, 0x27947730acf38edc + .quad 0x2739a9ae80c06018, 0x278e710d5155d028 + .quad 0x27331371c2b63b80, 0x2786a331ab64b688 + .quad 0x272c5b240b14f4d6, 0x2780d4fd25f7f52e + .quad 0x2725129ffd17a136, 0x27790712f4e38e37 + .quad 0x271f510ba62354a5, 0x27729ac951c1e60b + .quad 0x27174468acd1611c, 0x276ba819d5f14678 + .quad 0x271148e1d96c299e, 0x27648dce2dc3ecd5 + .quad 0x2709ad7d58aaba44, 0x275e8c0193d16d55 + .quad 0x2703121b71d77179, 0x2756b2456938b866 + .quad 0x26fc52f68dd90e64, 0x2750dc826696c76c + .quad 0x26f507f397188496, 0x27490cc63cdbf2a2 + .quad 0x26ef3a5bdf92c388, 0x27429af3c144f8c0 + .quad 0x26e72e7cbdbb95db, 0x273ba24cc0f4c8e2 + .quad 0x26e134d638b07143, 0x27348500e815d897 + .quad 0x26d98a2111174d79, 0x272e7841c45926d0 + .quad 0x26d2f3b409e1b7b6, 0x27269ea5b1b71301 + .quad 0x26cc1fa91a869695, 0x2720ca4195cda6d3 + .quad 0x26c4dd4c7d7ec9fa, 0x2718ec33daf13649 + .quad 0x26bef442d8796795, 0x27127eb66fea5e85 + .quad 0x26b6f56f0c0f22b9, 0x270b72598c77c448 + .quad 0x26b106c4a594a047, 0x27045cf12a60cb9a + .quad 0x26a9403b0e4bd1b9, 0x26fe36284e81b5ff + .quad 0x26a2b8c63e7468c1, 0x26f668ac570f2fc8 + .quad 0x269bc22598793379, 0x26f09e8e37ef2488 + .quad 0x2694936d06178106, 0x26e8a5f0c63b5c24 + .quad 0x268e7fffb3b16a7d, 0x26e2469273320bda + .quad 0x26869a431ed205a0, 0x26db191b44e70edf + .quad 0x2680bf7e7cce4d07, 0x26d41655d7606103 + .quad 0x2678d11ace4d8996, 0x26cdc6e2b76185d5 + .quad 0x2672625d4b960a47, 0x26c6114f58eab906 + .quad 0x266b3c139841a735, 0x26c05a2f4a403a4d + .quad 0x26642ba35d81be5c, 0x26b83b3c9af7ee45 + .quad 0x265ddf9fa6fc513a, 0x26b1f386e3013e68 + .quad 0x26561e943a26f542, 0x26aa9826f127d04d + .quad 0x26506044c28d2704, 0x26a3b26ef9596f74 + .quad 0x26483eb403668f94, 0x269d2c68adc24dd3 + .quad 0x2641f1fd15ed30fe, 0x26959a199b7c8167 + .quad 0x263a8fcbdc7eab51, 0x268ffcb2bfa5b8da + .quad 0x2633a7bfb4be9962, 0x2687adf828472cfd + .quad 0x262d15ee90987618, 0x2681870951a86a79 + .quad 0x2625848951944920, 0x2679f1bfa110cbba + .quad 0x261fd57d7b45b3ca, 0x267332fc55367264 + .quad 0x26178b8ffae32bf0, 0x266c696d39db75f3 + .quad 0x26116996dab0cd1e, 0x2665051f4ea04fdf + .quad 0x2609c046dcaa75a4, 0x265f194b2a4cb970 + .quad 0x26030a06c462f23e, 0x265700975cbb46aa + .quad 0x25fc2662350ce7fa, 0x265102fae0ec7794 + .quad 0x25f4cec5169fb931, 0x264928c588cfb6d9 + .quad 0x25eec1db7d8e44b5, 0x26429a3060c44f3a + .quad 0x25e6babae8929706, 0x263b814aa869e0e4 + .quad 0x25e0cb7ae5506e7e, 0x263454ee7edd0063 + .quad 0x25d8d106f7f4047e, 0x262e0e0b72e6ef2e + .quad 0x25d255213192c405, 0x2626360f251c2f1f + .quad 0x25cb1500fc71b69a, 0x2620699a6631f93f + .quad 0x25c40052c8ba04b4, 0x261840a0d97bb129 + .quad 0x25bd8a3d24511c07, 0x2611eaa023d58a69 + .quad 0x25b5cfadd7b97160, 0x260a77ea01d8b821 + .quad 0x25b01a47ddad3ea8, 0x26038c7c7057a652 + .quad 0x25a7c5ff3799c35b, 0x25fcdf6c504a93e5 + .quad 0x25a18c087e86a1f3, 0x25f551bff88c1175 + .quad 0x2599e64530b957f4, 0x25ef7ae8590bb800 + .quad 0x25931c908986e1a8, 0x25e73d293026bc2a + .quad 0x258c33b25da2082e, 0x25e12730a9790f69 + .quad 0x2584ce362055227e, 0x25d951a7082f394a + .quad 0x257eb1b0ae0a386a, 0x25d2af1081b22794 + .quad 0x2576a3779e1ff3b0, 0x25cb925bc48353e0 + .quad 0x2570b1f245435eea, 0x25c4575deb5305a2 + .quad 0x25689efddb97fd18, 0x25be029ff0fc8645 + .quad 0x256227180cb0a8ca, 0x25b6228a92a17423 + .quad 0x255ac39e8a7de062, 0x25b05302bb5e3a1a + .quad 0x2553ba5b5279aa24, 0x25a81331d3a2cc81 + .quad 0x254d145ea8ff6403, 0x25a1c02d69097c72 + .quad 0x25456df011e743b9, 0x259a2c1b0ae83a64 + .quad 0x253f94750d0f9308, 0x25934ad734ae6135 + .quad 0x2537442e7172840a, 0x258c703bfdc748cd + .quad 0x253123a683e9b9d5, 0x2584f5290291de6e + .quad 0x25293f94a8e393e5, 0x257ee2bb5a2a4470 + .quad 0x252298449094a080, 0x2576c16f34d9525e + .quad 0x251b62c8f87855a8, 0x2570c379a70923bc + .quad 0x25142a02f59d51ef, 0x2568b21b8919710f + .quad 0x250db09bb0ffb21f, 0x2562303a1b68b2de + .quad 0x2505daee76f997a8, 0x255ac9c706a79cfc + .quad 0x25001604a662bf4c, 0x2553b983b3f72fb5 + .quad 0x24f7ad33d50dacd0, 0x254d0b33fd9b6e85 + .quad 0x24f16c1e4c8c451a, 0x2545615904c6373a + .quad 0x24e9a32159dea0d8, 0x253f7950165d693d + .quad 0x24e2dc48781056c9, 0x253729dc070c926a + .quad 0x24dbbf2871addffb, 0x25310b9b38c6e833 + .quad 0x24d4684a4152d4e0, 0x2529154f9f73ee5f + .quad 0x24ce03df4eb2c204, 0x25227418ebfd96be + .quad 0x24c6120558a89b12, 0x251b26192fa2f36e + .quad 0x24c03a014bcb5352, 0x2513f7df7d25b3e6 + .quad 0x24b7db773a6f6623, 0x250d5ec232ba3385 + .quad 0x24b1893b9023690d, 0x250598c75ff21ea4 + .quad 0x24a9c6ba6a49465a, 0x24ffc1f9e46a53e2 + .quad 0x24a2f125d64e7642, 0x24f758c452444076 + .quad 0x249bd607b51aff83, 0x24f1294b791c6529 + .quad 0x2494735d5e25dd32, 0x24e939e692035be7 + .quad 0x248e0bb7795ebab2, 0x24e289cc9b3b4107 + .quad 0x248611962fb4b008, 0x24db3e5c199dc217 + .quad 0x248035217aa6e0ad, 0x24d40415be2c6028 + .quad 0x2477cd9c096da3b3, 0x24cd6871e2c76342 + .quad 0x24717a22cd2a508f, 0x24c599d2a64857ab + .quad 0x2469a95351e8c9f1, 0x24bfba952efabe51 + .quad 0x2462d63f329a8bcb, 0x24b74cc660d4897a + .quad 0x245ba6ba0cb47e2b, 0x24b11baa6a990cd8 + .quad 0x24544ae89d144108, 0x24a91ecc31adec4e + .quad 0x244dc7e8d1b8f556, 0x24a270b14a1f9816 + .quad 0x2445d9a42222275c, 0x249b11d883fd3ec1 + .quad 0x24400789e350bd1a, 0x2493ddca348b8e79 + .quad 0x2437840aaba80c98, 0x248d27f9dd765764 + .quad 0x24313f45ccd8c935, 0x24856472f42babf3 + .quad 0x24294bc9a9955f26, 0x247f6359d3980ea5 + .quad 0x24228c5f3eaf8edd, 0x2477063ccd1b83c6 + .quad 0x241b32a3c3e46a35, 0x2470e31f012ad2b3 + .quad 0x2413f01c91fe7f47, 0x2468c4cd2c02ec2d + .quad 0x240d3a718c61d154, 0x2462298481c2ca0d + .quad 0x24056bd3dd5a05c1, 0x245aa1de55237abc + .quad 0x23ff65222fadfc00, 0x2453861db33230b0 + .quad 0x23f700eb717cfb77, 0x244c9f401331dbf6 + .quad 0x23f0da5e12700c8d, 0x2444fa3a533642f6 + .quad 0x23e8b0da54d3c71f, 0x243ebed8656f1a7b + .quad 0x23e215aeed941b43, 0x2436873a105b43c2 + .quad 0x23da7d28bd609e50, 0x2430815216360470 + .quad 0x23d3659f3261d190, 0x24282e8d038330ca + .quad 0x23cc6770887b13f6, 0x2421b65bea6b7e6a + .quad 0x23c4cb570f463d9d, 0x2419f1b427ce89a2 + .quad 0x23be715dafe5cd60, 0x2412ff9fffd4f5f9 + .quad 0x23b6480ba9b1723c, 0x240bd241d06b6757 + .quad 0x23b04e575dd6f2eb, 0x24045e411382662b + .quad 0x23a7dcff6d521467, 0x23fdd1da1bc7ec85 + .quad 0x23a1759a98201ff3, 0x23f5d36e9f7af39c + .quad 0x23998b82586ccf2d, 0x23eff233639de02a + .quad 0x2392af6afc0ce651, 0x23e7606528b3cf28 + .quad 0x238b54f244df93df, 0x23e11a8b54a30c34 + .quad 0x2383fcc4e4385b18, 0x23d9066e8a3084ad + .quad 0x237d3abb2d5b9282, 0x23d24e2ffedd9f78 + .quad 0x23755eaec016b2b5, 0x23cac6e23cde6ac9 + .quad 0x236f3e576e5bfb2c, 0x23c394ff72563c26 + .quad 0x2366d6394041cb01, 0x23bca3259bb8013e + .quad 0x2360b0a8012d71fb, 0x23b4effb58fcce20 + .quad 0x2358647f7f3a91de, 0x23ae9cac23b8427e + .quad 0x2351d29e5c60946b, 0x23a6602f707600f3 + .quad 0x234a0aa72640fd47, 0x23a05a7bd790a4bc + .quad 0x234305e23384e58a, 0x2397e6b1b23c38f4 + .quad 0x233bc9e08de1532f, 0x239176cc55ca9b80 + .quad 0x23344b4e89c6a35f, 0x238984a277e8539a + .quad 0x232da366d9d2b975, 0x2382a417253e014b + .quad 0x2325a3c60cb2c6b1, 0x237b3b2c9b4277c6 + .quad 0x231f98800fc076db, 0x2373e333559670c8 + .quad 0x23171033226bf0af, 0x236d0b8591b88278 + .quad 0x2310d53e944a7e18, 0x236534ff7f271b4d + .quad 0x23089187f3d75a14, 0x235ef6ed82d51675 + .quad 0x2301ed5d0deddfb7, 0x23569a61d0edc9d2 + .quad 0x22fa28be72757b85, 0x23507f57aca805f1 + .quad 0x22f3154ef266983d, 0x234814481a9f253c + .quad 0x22ebd6d859990532, 0x2341921067277b5d + .quad 0x22e44dcd404b4fcd, 0x2339a3a7d2712f82 + .quad 0x22dd9cdf2aadd6a6, 0x2332b45137355f77 + .quad 0x22d5979672b76b96, 0x232b497e1657b91b + .quad 0x22cf7be424410479, 0x2323e6cfcc06ed27 + .quad 0x22c6f36e7903ba4f, 0x231d06cfa865bc4e + .quad 0x22c0ba8019bd4e86, 0x23152a47395ed2ae + .quad 0x22b8621eaa755f34, 0x230edca8e605e67a + .quad 0x22b1c4a9efdce654, 0x23067f77ef705254 + .quad 0x22a9e475b5aaea97, 0x2300660edcde1e02 + .quad 0x22a2dd03980220ac, 0x22f7e727aec99554 + .quad 0x229b7b478b8fda1c, 0x22f16b24c391593b + .quad 0x22940424c4fd21f7, 0x22e96221780dfe95 + .quad 0x228d276d459f43c7, 0x22e27e2788696d86 + .quad 0x22853aa8c500f5d0, 0x22daf1357749947c + .quad 0x227ee9c5073f397e, 0x22d39fac2bf7a531 + .quad 0x2276812e6a2e8fc0, 0x22cc9538eaa71fb0 + .quad 0x22706198ecffc0e0, 0x22c4d04b3a802aee + .quad 0x2267d857ef6fe55a, 0x22be4f0604536408 + .quad 0x22615a4dc243cc5f, 0x22b610a0b4ec8401 + .quad 0x225940cad97ee071, 0x22b00fbde3ac71c6 + .quad 0x22525f772e00c70a, 0x22a7614bf61d6bfa + .quad 0x224abb2fd3f529ef, 0x22a103beefa07650 + .quad 0x2243718d87e8a0af, 0x2298c2ef94786008 + .quad 0x223c48328a4346eb, 0x229203fa39242793 + .quad 0x2234910b37b4de72, 0x228a36313f8e64ec + .quad 0x222de8817c6f33b9, 0x228310e5f6fbfd44 + .quad 0x2225be6c950a7e6f, 0x227bbbb999bb060a + .quad 0x221f9ccdcf7c94fe, 0x22742afa66f9fdc1 + .quad 0x2216fa2fc442a9d3, 0x226d54340d9c375d + .quad 0x2210b2e58cb15f5c, 0x226552b1ae6aeaa2 + .quad 0x220844d490056942, 0x225f004e9f45a94b + .quad 0x2201a217943b9ac7, 0x22568887b7750462 + .quad 0x21f99edc3fa555f4, 0x2250605cdc8a1e5e + .quad 0x21f29c58e31af831, 0x2247ccfa0b55e3f7 + .quad 0x21eb08c96a2d341c, 0x22414b13fa04509f + .quad 0x21e3a2063aa9bfc9, 0x22392087a96ea8f4 + .quad 0x21dc831fc61280f7, 0x223240a6edc95f53 + .quad 0x21d4b37d15842e1d, 0x222a83b0db0fa5b6 + .quad 0x21ce0e63f582488b, 0x22234170d65d2fe5 + .quad 0x21c5d11b81c3fea7, 0x221bf6f703f6c8b1 + .quad 0x21bfab1b4f400c2e, 0x22144dcd884a52dc + .quad 0x21b6fb3ff8ccf41c, 0x220d7adc6f76430f + .quad 0x21b0ace5d20891a2, 0x2205661968fc8c68 + .quad 0x21a8324934a763f4, 0x21ff0fe41a3b588b + .quad 0x21a18d7d8058e531, 0x21f68ab147365bff + .quad 0x2199769602e7d2c4, 0x21f05b48bc57ed71 + .quad 0x21927797b62a04a4, 0x21e7bbf2311e9661 + .quad 0x218ac8851524d431, 0x21e137b41cf9c9a4 + .quad 0x21836b7751d5da7f, 0x21d8fa3947e525d9 + .quad 0x217c2874cefea298, 0x21d21d7603b6e2cc + .quad 0x2174695ee8470b66, 0x21ca45e3910021ac + .quad 0x216d96c311be3eb3, 0x21c30cd0207d04ed + .quad 0x216571909f179506, 0x21bb9f4dc504a668 + .quad 0x215f13cd05945d89, 0x21b40603dadb780a + .quad 0x2156844e0504f766, 0x21ad06d41c212c13 + .quad 0x21504ff770417c7e, 0x21a509522cc01f2f + .quad 0x2147a1d7e8c27e50, 0x219e7cd2184183eb + .quad 0x21411dc1d57f7df8, 0x219616fb7b910c11 + .quad 0x2138ca6e2e342651, 0x219000d1267395e3 + .quad 0x2131f372812d1e14, 0x21872f3f6faafe57 + .quad 0x2129fe4fa21e8c98, 0x2180cacf12619fe1 + .quad 0x2122d1356c845fd1, 0x2178525cca4f244d + .quad 0x211b3db9cc5a58f3, 0x21719c8ed29100e2 + .quad 0x2113b7359a6b9391, 0x216980913a0c5f1e + .quad 0x210c88e8c09b9bb2, 0x2162763b979d57b5 + .quad 0x2104a59cf5958098, 0x215aba192db244fd + .quad 0x20fde016eddfacad, 0x215357ff9fbc97f4 + .quad 0x20f59c942db45eae, 0x214bff2fa5de1e9d + .quad 0x20ef437cec9632b8, 0x21444204156d00fc + .quad 0x20e69c4293cefa3f, 0x213d500e0534289d + .quad 0x20e059a8a5ce0ce7, 0x21353470ed39dd97 + .quad 0x20d7a4cdf5c8de47, 0x212eacebdf5973c2 + .quad 0x20d117e42e10afc5, 0x21262f6cc2a62dbd + .quad 0x20c8b65a792fe140, 0x21200aff63626acf + .quad 0x20c1dc89fe4a5f8a, 0x2117331cb44dd6ec + .quad 0x20b9d10a7562f377, 0x2110c5bd0cbfba30 + .quad 0x20b2a7b1b1593291, 0x21083fa43f4f73d5 + .quad 0x20aaf4fe4d278bf9, 0x210186c76677c8f7 + .quad 0x20a37971726a776e, 0x20f955251a12574c + .quad 0x209c225447c48b85, 0x20f24e359c6528bb + .quad 0x209451dde15504ec, 0x20ea73bf0e7dcf7b + .quad 0x208d592869bae136, 0x20e31c1d70a5a26c + .quad 0x20853109f6b70a02, 0x20db9b8fd3b82ace + .quad 0x207e99944d35a898, 0x20d3f09320694d40 + .quad 0x20761706e7ea0b42, 0x20ccccb2e7856e93 + .quad 0x206fe3aefa4cdaa2, 0x20c4cba948866255 + .quad 0x206703e40ae0b133, 0x20be0741675f15a5 + .quad 0x20609bc65f9b8064, 0x20b5ad70c9e433d4 + .quad 0x2057f7aeba02f7ef, 0x20af4b51e95f89d5 + .quad 0x20514a9f8443d058, 0x20a695f8add0a062 + .quad 0x2048f272381e3222, 0x20a04c7c2a8ead79 + .quad 0x2041fe6a1ccca721, 0x2097854e0a5444cf + .quad 0x2039f437947f2743, 0x2090f822de49bc54 + .quad 0x2032b72bc2a1bb29, 0x20887b7be69a8c26 + .quad 0x202afd058f4d5cb9, 0x2081a8a41a9a7340 + .quad 0x202374e8637e822f, 0x2079788b1f83908e + .quad 0x201c0ce07e3f5247, 0x20725e0558a5c077 + .quad 0x201437a22e46ffc9, 0x206a7c824c7683f1 + .quad 0x200d23ca31c0220c, 0x2063184a6ce13b46 + .quad 0x2004ff5980398e02, 0x205b8765a48c0cf1 + .quad 0x1ffe41c1da9f8a5f, 0x2053d775743f06ae + .quad 0x1ff5cc0cd28b81e5, 0x204c9936e428a9d9 + .quad 0x1fef66c3f065ea05, 0x20449b86c1b194ce + .quad 0x1fe69db8a882e290, 0x203db1f5331fbe71 + .quad 0x1fe049650c331274, 0x2035647ccc18e717 + .quad 0x1fd774577e1faf4f, 0x202ed19d0b78718c + .quad 0x1fd0e2e586d3df5c, 0x202632541cab3ac0 + .quad 0x1fc84fe1b767669b, 0x201ff82820edeaab + .quad 0x1fc17fdd44e1dc6c, 0x201705073deb552a + .quad 0x1fb9304d9065a4b9, 0x201092c6a4a26abf + .quad 0x1fb220449767742a, 0x2007dc8eab3ed87a + .quad 0x1faa158f0df4c356, 0x20012ce032c827ce + .quad 0x1fa2c4123936432b, 0x1ff8b8e0c1372c25 + .quad 0x1f9aff97ef6163ed, 0x1ff1ca5926404568 + .quad 0x1f936b3b4511d82b, 0x1fe999f1ae9f978b + .quad 0x1f8bee57a0fbbbdc, 0x1fe26b285aeabdbe + .quad 0x1f8415b32c89327c, 0x1fda7fb366632c72 + .quad 0x1f7ce1bb2fa9523e, 0x1fd30f431387ee69 + .quad 0x1f74c36baf8c2285, 0x1fcb6a15925d0c25 + .quad 0x1f6dd9ad3d89a4a5, 0x1fc3b69cf0bd5608 + .quad 0x1f657454d4c97f21, 0x1fbc590587256b75 + .quad 0x1f5ed615f7bfd7d2, 0x1fb46127e8d37ba7 + .quad 0x1f56285ce2e2e29b, 0x1fad4c6e38ed7f06 + .quad 0x1f4fd6db0d73348e, 0x1fa50ed44039bd53 + .quad 0x1f46df705a8252f7, 0x1f9e4438317c2a1e + .quad 0x1f406defd40bdb09, 0x1f95bf9082dc8412 + .quad 0x1f379979f15ddb0d, 0x1f8f4049875ce630 + .quad 0x1f30f2823287afb6, 0x1f8673497e5a0d03 + .quad 0x1f2856628e34ac2c, 0x1f802042eb28efef + .quad 0x1f217913a85a33a7, 0x1f7729ea3d219a53 + .quad 0x1f19161145d0e326, 0x1f70a2671c8cdbee + .quad 0x1f120191f16dc709, 0x1f67e35c0288722e + .quad 0x1f09d86b59187f4e, 0x1f612680a24c58f5 + .quad 0x1f028be97e6e9065, 0x1f589f8647df9662 + .quad 0x1efa9d5434377e7b, 0x1f51ac7d823a316c + .quad 0x1ef31805749922c3, 0x1f495e4eba9494ca + .quad 0x1eeb64ad6eec66d3, 0x1f42344a7c981006 + .quad 0x1ee3a5cfae5998ec, 0x1f3a1f993b67371d + .quad 0x1edc2e56cdffce02, 0x1f32bdd30bebc795 + .quad 0x1ed43530bcc0ee3a, 0x1f2ae347debd3070 + .quad 0x1eccfa2e45eea63d, 0x1f23490165a1de50 + .quad 0x1ec4c60fe9d5cbc1, 0x1f1ba93aee1c301f + .quad 0x1ebdc80ffece4451, 0x1f13d5be7b8309a9 + .quad 0x1eb558533bc564e3, 0x1f0c7150ead1fd0e + .quad 0x1eae97d659702f92, 0x1f0463f1fe01b7da + .quad 0x1ea5ebdf78f85a03, 0x1efd3b6691d169e3 + .quad 0x1e9f6959f5cadd73, 0x1ef4f3825f642b00 + .quad 0x1e9680982d0eea8a, 0x1eee0756e0ca137b + .quad 0x1e901e38dd55bfc7, 0x1ee58454d7cf0720 + .quad 0x1e87165faec70a10, 0x1eded4fb1c7fef16 + .quad 0x1e8088796f5a0260, 0x1ed6164d6a338985 + .quad 0x1e77ad1726ce2f3c, 0x1ecfa42ad866b600 + .quad 0x1e70f3587953aeb5, 0x1ec6a94eea23ecd2 + .quad 0x1e68449e977fef01, 0x1ec03a5dffc21d0d + .quad 0x1e615ebef6827c9d, 0x1eb73d3b028fc2cf + .quad 0x1e58dcd4e591ac76, 0x1eb0a3416f4dd0f1 + .quad 0x1e51ca951b79a938, 0x1ea7d1f23d694b62 + .quad 0x1e497597e1aad586, 0x1ea10ca917d13a59 + .quad 0x1e4236c25d3c18a2, 0x1e9867540c340902 + .quad 0x1e3a0ec452e85047, 0x1e91767d933fa0f7 + .quad 0x1e32a32d78fe110f, 0x1e88fd3ed17c059f + .quad 0x1e2aa8360248e3ed, 0x1e81e0a6bf884441 + .quad 0x1e230fbc7c8ab284, 0x1e79938feb3469d1 + .quad 0x1e1b41c7c6ff8cc6, 0x1e724b0bc63cac6b + .quad 0x1e137c54cf4ab1fc, 0x1e6a2a23bdfb3241 + .quad 0x1e0bdb5393a7ccd2, 0x1e62b59324d7fd9b + .quad 0x1e03e8db3be9418c, 0x1e5ac0d5c13ef72a + .quad 0x1dfc74b284572b4c, 0x1e532022b5a4d882 + .quad 0x1df45533fa93710c, 0x1e4b57808c42df0b + .quad 0x1ded0dbced86364c, 0x1e438a9fb93eb860 + .quad 0x1de4c142bbcdb51b, 0x1e3bedfde3fbf9f1 + .quad 0x1ddda64a6bca7ad0, 0x1e33f4eee0ab230d + .quad 0x1dd52ceab3daa53b, 0x1e2c8426c9c266d4 + .quad 0x1dce3e31f45a0a96, 0x1e245ef458066425 + .quad 0x1dc5980ea6ad6692, 0x1e1d19d38acfc932 + .quad 0x1dbed549e6504cf2, 0x1e14c893d1bef1fe + .quad 0x1db60290f4619f98, 0x1e0daedbd083bb8e + .quad 0x1daf6b681cab013b, 0x1e0531b0925a021e + .quad 0x1da66c53a6323b06, 0x1dfe4316b16614af + .quad 0x1da00031007ac3e3, 0x1df59a2d7cbb3c39 + .quad 0x1d96d5387be7adf6, 0x1deed65ac2de0264 + .quad 0x1d904a064f4bdd38, 0x1de601ed1ee8e719 + .quad 0x1d873d20f9b5e73b, 0x1ddf687e2b942e41 + .quad 0x1d80931e5b5e6c43, 0x1dd668d1bf455ad8 + .quad 0x1d77a3ee7681856f, 0x1dcff956b675583b + .quad 0x1d70db636a632668, 0x1dc6cebd6a35f863 + .quad 0x1d6809822a836e1f, 0x1dc0445cf3250898 + .quad 0x1d6122bfb19eafe7, 0x1db73392002f5fc2 + .quad 0x1d586dbd3e416493, 0x1db08b3e84ebc2b9 + .quad 0x1d51691d609b1ec9, 0x1da79731441e1e21 + .quad 0x1d48d080d9d1c96d, 0x1da0d13aa83e4b01 + .quad 0x1d41ae66ac0b0b6a, 0x1d97f97cea22928b + .quad 0x1d3931ae34603f62, 0x1d91163bef9eebc1 + .quad 0x1d31f285d8d6c817, 0x1d885a56a6965552 + .quad 0x1d299126a3e88ca5, 0x1d815a2cf3193875 + .quad 0x1d223565474c154e, 0x1d78b9a03d510324 + .quad 0x1d19eecbad1cb519, 0x1d719cf85b21a11f + .quad 0x1d1276ef7e686add, 0x1d69173b9121e9f7 + .quad 0x1d0a4a7f136af77e, 0x1d61de88eb969b39 + .quad 0x1d02b70f3735b79f, 0x1d59730ab373bc61 + .quad 0x1cfaa422e918100d, 0x1d521ec98edb9593 + .quad 0x1cf2f5af68314ac2, 0x1d49cceff40f1fb1 + .quad 0x1ceafb999f61e5d4, 0x1d425da56105b758 + .quad 0x1ce332bb50b471fb, 0x1d3a24cdf0f0a2e7 + .quad 0x1cdb50c6169e961b, 0x1d329b07bb123c75 + .quad 0x1cd36e1e845638bb, 0x1d2a7a87a6267113 + .quad 0x1ccba38bae4baa67, 0x1d22d6dc3e1e1b47 + .quad 0x1cc3a7c4f63d9d53, 0x1d1ace007da9e0c8 + .quad 0x1cbbf3ce55012ad1, 0x1d13110ede9680ce + .quad 0x1cb3df9b045b81fc, 0x1d0b1f1c5f28dcc9 + .quad 0x1cac4172983c2f7e, 0x1d03498bef599a58 + .quad 0x1ca4158d828399ae, 0x1cfb6dbfbfb30836 + .quad 0x1c9c8c5db3f49157, 0x1cf380402cbf1542 + .quad 0x1c944989c55b9312, 0x1cebb9cfb13e7262 + .quad 0x1c8cd475a1f163ee, 0x1ce3b518c77fb7d2 + .quad 0x1c847b7dad17cf31, 0x1cdc0331f1f7ac71 + .quad 0x1c7d19a128cff8a4, 0x1cd3e8036f737914 + .quad 0x1c74ab57affd05a9, 0x1ccc49ccfb511d2c + .quad 0x1c6d5bc7eab14dfb, 0x1cc418ee5e1d890e + .quad 0x1c64d906e49e5535, 0x1cbc8d8810c585d4 + .quad 0x1c5d9ad27381fd3d, 0x1cb447c860fdcf2c + .quad 0x1c55047b0bcf6527, 0x1cacce4b4e41cdca + .quad 0x1c4dd6aa46d0f45c, 0x1ca47480e39f8181 + .quad 0x1c452da49a426b16, 0x1c9d0bffb62a59f5 + .quad 0x1c3e0f39ed2991f9, 0x1c949f07f95c9d66 + .quad 0x1c355474c1ca1f2b, 0x1c8d468f3ef07049 + .quad 0x1c2e446d00e60d84, 0x1c84c74e66ce3841 + .quad 0x1c2578dd7a37e92b, 0x1c7d7de4e02c6f6f + .quad 0x1c1e76303a6f7572, 0x1c74ed45aae1d60c + .quad 0x1c159ad189ced845, 0x1c6db1ec9f31f5e1 + .quad 0x1c0ea4717be0f8c8, 0x1c6510e0078c325e + .quad 0x1c05ba448d444792, 0x1c5de2939b1372f7 + .quad 0x1bfecf1fdc04a7db, 0x1c5532108a122ff3 + .quad 0x1bf5d72aff4768da, 0x1c4e0fc8180b06b8 + .quad 0x1beef62bb0a0594a, 0x1c4550cb12e0f1db + .quad 0x1be5f17a3f894e1d, 0x1c3e39798a3f0a89 + .quad 0x1bdf19869809eb8a, 0x1c356d045cee7811 + .quad 0x1bd60928993f7077, 0x1c2e5f989fd91cad + .quad 0x1bcf392381fab056, 0x1c2586b2049c7737 + .quad 0x1bc61e2d491b1f68, 0x1c1e82174a67122f + .quad 0x1bbf54f6b79a6d5f, 0x1c159dca8e17880f + .quad 0x1bb6308082b0b65c, 0x1c0ea0e8c77dc629 + .quad 0x1baf6cf5e2bb03dc, 0x1c05b2456b2d3672 + .quad 0x1ba6401b7549eebb, 0x1bfebc01a8965943 + .quad 0x1b9f8118143e7eb0, 0x1bf5c41b0093e8e9 + .quad 0x1b964cf8501f223b, 0x1beed357da1f18ba + .quad 0x1b8f9155c9a1fbd1, 0x1be5d344aaa010f1 + .quad 0x1b86571245f3d39a, 0x1bdee6e2a9b9efd0 + .quad 0x1b7f9da8f1a8a0cc, 0x1bd5dfbcc1628fd2 + .quad 0x1b765e6590135a00, 0x1bcef69acba2f951 + .quad 0x1b6fa60cf0228aad, 0x1bc5e97e9c2cbc7f + .quad 0x1b6662ef70ab154b, 0x1bbf027a5f3a7f56 + .quad 0x1b5faa7ea0cc6ecb, 0x1bb5f0869476fb64 + .quad 0x1b5664ae34801e0e, 0x1baf0a7cf2ae7563 + .quad 0x1b4faafc59456a8c, 0x1ba5f4d2082760f5 + .quad 0x1b4663a133fef350, 0x1b9f0e9f85c03b41 + .quad 0x1b3fa785ea194bf2, 0x1b95f65f5b366281 + .quad 0x1b365fc8d3a43882, 0x1b8f0ee08ba43cd5 + .quad 0x1b2fa01c9ede6a16, 0x1b85f52df8b025d3 + .quad 0x1b26592683be2829, 0x1b7f0b3febf9cbcd + .quad 0x1b1f94c33d66f35b, 0x1b75f13e53118eaa + .quad 0x1b164fbcbf86f1ab, 0x1b6f03bf02da5a7a + .quad 0x1b0f857e040665a0, 0x1b65ea91e400b8af + .quad 0x1b06438f0b98cab0, 0x1b5ef860a0000a7a + .quad 0x1aff7252a6ecb2bb, 0x1b55e12b2b611c72 + .quad 0x1af634a1f3bd0d7e, 0x1b4ee92905044d53 + .quad 0x1aef5b484c995f72, 0x1b45d50dadc42d9d + .quad 0x1ae622fb08184d56, 0x1b3ed61de2b81fc4 + .quad 0x1adf40678969b4f4, 0x1b35c63df237cf4d + .quad 0x1ad60ea0d9b5d711, 0x1b2ebf4655983167 + .quad 0x1acf21ba5a45e2af, 0x1b25b4c17f7488b1 + .quad 0x1ac5f79af6759efd, 0x1b1ea4aae160108a + .quad 0x1abeff4c1e71b057, 0x1b15a09ed86def16 + .quad 0x1ab5ddf1e460242c, 0x1b0e86556bc034fe + .quad 0x1aaed92990861c73, 0x1b0589dd784842f0 + .quad 0x1aa5c1af1c6454be, 0x1afe6451363b8311 + .quad 0x1a9eaf60be99fa59, 0x1af57085cdb6c23e + .quad 0x1a95a2dd0483fd76, 0x1aee3eaad7319948 + .quad 0x1a8e820101a05296, 0x1ae554a135c6b3d2 + .quad 0x1a858186e973c8cb, 0x1ade1570321beee3 + .quad 0x1a7e511af403f0e1, 0x1ad53639f61bab8b + .quad 0x1a755db8f7b445c6, 0x1acde8b06f0475d8 + .quad 0x1a6e1cc067882b19, 0x1ac5155b36a1ff17 + .quad 0x1a6537803429dd3d, 0x1abdb87bf13d1856 + .quad 0x1a5de5045a77840f, 0x1ab4f210fabcd4fe + .quad 0x1a550eea743a03b0, 0x1aad84e44d6006fd + .quad 0x1a4da9faec295ac1, 0x1aa4cc6819f5a3a9 + .quad 0x1a44e406557456e3, 0x1a9d4dfc3ea1615f + .quad 0x1a3d6bb950e85a76, 0x1a94a46e38335bf7 + .quad 0x1a34b6e334ceafc3, 0x1a8d13d79b7b4d75 + .quad 0x1a2d2a55c543d97b, 0x1a847a31bd7fd98a + .quad 0x1a248791257b832e, 0x1a7cd68b49be13bd + .quad 0x1a1ce5e780d6c294, 0x1a744dc1cd628aec + .quad 0x1a145620e7623619, 0x1a6c962d320e4c77 + .quad 0x1a0c9e86a88f07ff, 0x1a641f2e3dd79383 + .quad 0x1a0422a3dd414b5e, 0x1a5c52d432db963c + .quad 0x19fc544c4080f626, 0x1a53ee878deaf1c1 + .quad 0x19f3ed2c02828af5, 0x1a4c0c9812daaed1 + .quad 0x19ec07521d52071e, 0x1a43bbdedbff7430 + .quad 0x19e3b5cbe0c97302, 0x1a3bc391730e1bf4 + .quad 0x19dbb7b2d547171a, 0x1a338745dbc97fd1 + .quad 0x19d37c9685446b6b, 0x1a2b77d9c068db21 + .quad 0x19cb6589b1020c3e, 0x1a2350cecc05d9cf + .quad 0x19c3419f75c953bc, 0x1a1b298b2516cc35 + .quad 0x19bb10f29bfb2a68, 0x1a13188c6bf4cd49 + .quad 0x19b304faa5c619af, 0x1a0ad8c07976bbc0 + .quad 0x19aaba0a14c264cc, 0x1a02de91f0a22435 + .quad 0x19a2c6bc6b0e1424, 0x19fa859534d21642 + .quad 0x199a60ed1d150c44, 0x19f2a2f2fa027fc3 + .quad 0x199286f9728ce321, 0x19ea30255dde65be + .quad 0x198a05b929d439ab, 0x19e265c387eea954 + .quad 0x198245c6b4e79163, 0x19d9d88d7b14c6d3 + .quad 0x1979a88c12e847c2, 0x19d22717ef05792f + .quad 0x197203396b14a770, 0x19c97eea82eb8229 + .quad 0x19694984031d9858, 0x19c1e704cd7ceb7c + .quad 0x1961bf6702f3caf4, 0x19b92359cbfdea74 + .quad 0x1958e8bf6806bcab, 0x19b1a59effeaeef1 + .quad 0x19517a6513ed67fa, 0x19a8c5f8fd2e86f6 + .quad 0x1948865ce1efe9b6, 0x19a162fb960e6361 + .quad 0x1941344953a2bc16, 0x199866e5fdcf6e5c + .quad 0x1938227b33ef66f4, 0x19911f2fc7a0a0a9 + .quad 0x1930ed298ab66e97, 0x1988063ee5dc8676 + .quad 0x1927bd39341e60d2, 0x1980da50e937b941 + .quad 0x1920a51b89b5ac38, 0x1977a421ee53231b + .quad 0x191756b5bc0538cf, 0x1970947461417eb2 + .quad 0x19105c351e298147, 0x196740ad61b23997 + .quad 0x1906ef0f9946142e, 0x19604daf9d1f19d0 + .quad 0x1900128c07d7eac9, 0x1956dbff8cae0f32 + .quad 0x18f686657e900799, 0x195006180668cd93 + .quad 0x18ef906bdc779cfc, 0x19467636af21f0cb + .quad 0x18e61cd5f4e4d33c, 0x193f7b85f0c272bb + .quad 0x18defa90ac757637, 0x19360f70ed4a200e + .quad 0x18d5b27f4d3aafaf, 0x192ee98b6b3e4f34 + .quad 0x18ce63b1303dfbfb, 0x1925a7cc414fb8aa + .quad 0x18c5477f92833195, 0x191e566abbe94f87 + .quad 0x18bdcbf7abb88524, 0x19153f666d2fde17 + .quad 0x18b4dbf47c1fc8a0, 0x190dc24dc933bf6d + .quad 0x18ad338de3492428, 0x1904d65ced070949 + .quad 0x18a46ffb60cbd760, 0x18fd2d5e0d435050 + .quad 0x189c9a9d09a6515f, 0x18f46ccce9c8cdf5 + .quad 0x189403b12a03d499, 0x18ec97c4837b573e + .quad 0x188c014dae645fc3, 0x18e402d32c6be96d + .quad 0x1883973247f05596, 0x18dc01a996aebdb3 + .quad 0x187b67c7ad400b86, 0x18d3988c1191e211 + .quad 0x18732a9aa5db4bb3, 0x18cb6b3510058b7a + .quad 0x186ace321e309c7b, 0x18c32e137db0ef23 + .quad 0x1862be059f3526f7, 0x18bad48e069f2207 + .quad 0x185a34b346493cc3, 0x18b2c384d1c64d5b + .quad 0x1852518df52ef492, 0x18aa3ddacff96f65 + .quad 0x18499b70897047dc, 0x18a258fae0968e74 + .quad 0x1841e54dc4edf3a3, 0x1899a740f1248851 + .quad 0x1839028e5cf277c7, 0x1891ee8fe480d92c + .quad 0x1831795e7e5c7cca, 0x188910e510c93fe1 + .quad 0x18286a303af6f699, 0x1881845d75e974c6 + .quad 0x18210dd8db9b7b20, 0x18787aeaea087811 + .quad 0x1817d27896d87b8e, 0x18711a7c823f5ff5 + .quad 0x1810a2d4d917179a, 0x1867e57540380a90 + .quad 0x18073b88d266bc5a, 0x1860b10543a01766 + .quad 0x18003869ae409b27, 0x185750a5d3814d59 + .quad 0x17f6a58134129f18, 0x1850480f391c14fc + .quad 0x17ef9d5b8ddde221, 0x1846bc9d56645be6 + .quad 0x17e61080de06bfb0, 0x183fbf623f3bedba + .quad 0x17decb6d7acd34f7, 0x1836297b642274f2 + .quad 0x17d57ca5c62d05dd, 0x182ef001d6eb49df + .quad 0x17cdfb32aa129cc6, 0x1825975e7810e700 + .quad 0x17c4ea0caf213789, 0x181e222785106b16 + .quad 0x17bd2cd2eb59de4c, 0x18150663e5d53392 + .quad 0x17b458d1220fa79d, 0x180d55fbee497e00 + .quad 0x17ac60744f31e198, 0x180476a7d28a437b + .quad 0x17a3c90d697e5b5d, 0x17fc8ba606fb6833 + .quad 0x179b963b20518321, 0x17f3e8452ecdbe84 + .quad 0x17933ada8cfe418f, 0x17ebc34b0b8bbc60 + .quad 0x178ace49de2283ae, 0x17e35b55b1b3d652 + .quad 0x1782ae504dc15f24, 0x17dafd0e79df00eb + .quad 0x177a08c1388db34f, 0x17d2cff1d49f192c + .quad 0x1772238524122580, 0x17ca39120c175c51 + .quad 0x176945c00d028182, 0x17c24630cff92d39 + .quad 0x17619a8e3da77fbe, 0x17b97775b48ec1aa + .quad 0x1758856364b336c5, 0x17b1be2898c8a8a4 + .quad 0x1751137f7cd08642, 0x17a8b8579b06ca2c + .quad 0x1747c7c673fe436e, 0x17a137eddf1f97ae + .quad 0x17408e6b787233ba, 0x1797fbd41b078795 + .quad 0x17370d029afc4472, 0x1790b3940d5da6fc + .quad 0x17300b637cd0ec0b, 0x17874205c365c73e + .quad 0x1726552f6729a259, 0x1780312d48405757 + .quad 0x171f14ef1a3e4ac2, 0x17768b0556e87723 + .quad 0x1715a06296220023, 0x176f6194df7630e5 + .quad 0x170e176ccb941b53, 0x1765d6e9ce0425a7 + .quad 0x1704eeb0196310cd, 0x175e64f64121563e + .quad 0x16fd1e5afef936da, 0x175525c859a2ea9a + .quad 0x16f4402a1b0bd9df, 0x174d6c9b6d4d6fc5 + .quad 0x16ec29d225a230e3, 0x174477b466ee6cc1 + .quad 0x16e394e1038ce88e, 0x173c789ea0183d02 + .quad 0x16db39e83951bdaa, 0x1733ccbfa4112a58 + .quad 0x16d2ece3803d8d68, 0x172b8917a154498b + .quad 0x16ca4eb0c6436cf4, 0x172324fa05e3adc4 + .quad 0x16c2483e8ac9d061, 0x171a9e1bcd30af1f + .quad 0x16b9683cf6400112, 0x17128071ce79e917 + .quad 0x16b1a6fd716c7c18, 0x1709b7be1e1550cb + .quad 0x16a8869b9cc95345, 0x1701df33948493fa + .quad 0x16a10929dfe85b79, 0x16f8d60f37a227b9 + .quad 0x1697a9d9444b613e, 0x16f1414a4b7a1729 + .quad 0x16906ecbe9338feb, 0x16e7f91d72bfd333 + .quad 0x1686d2003c3fdf54, 0x16e0a6bf4c7a4f95 + .quad 0x167fafd4238f8063, 0x16d720f4eaaf4bbb + .quad 0x1675ff18a8317f0a, 0x16d00f9a5fe04069 + .quad 0x166e8912b5139031, 0x16c64d9f8b065b73 + .quad 0x166531288f8c01c7, 0x16bef7c38ee94e41 + .quad 0x165d695a98770e4b, 0x16b57f251e86550e + .quad 0x16546833ee262b10, 0x16add73492689d20 + .quad 0x164c50b006d4e015, 0x16a4b58b5eba6cc7 + .quad 0x1643a43cc572b3d3, 0x169cbd8e7539eac7 + .quad 0x163b3f14799b1616, 0x1693f0d6044b145d + .quad 0x1632e5432e458097, 0x168baad518e7426e + .quad 0x162a3486c40b74f1, 0x16833106d7f3cac9 + .quad 0x16222b456b1a8db7, 0x167a9f09adee91e3 + .quad 0x161931032d667261, 0x1672761dc408f1ef + .quad 0x1611763ffacc46ac, 0x16699a2acce5bd7f + .quad 0x160834838ba6fe3d, 0x1661c018e67b6eae + .quad 0x1600c62daba74e7c, 0x16589c349043d67e + .quad 0x15f73eff5eb5eca5, 0x16510ef4a3481a29 + .quad 0x15f01b07aeca1f42, 0x1647a520aeb63fae + .quad 0x15e6506bebfc67bd, 0x164062abb7415c63 + .quad 0x15dee98b577ea7ca, 0x1636b4e695e9099f + .quad 0x15d568bc5a3d72ee, 0x162f766e96435041 + .quad 0x15cda6bba883d22a, 0x1625cb7b85aa6067 + .quad 0x15c487e1cd9f3e43, 0x161e311e0dabf963 + .quad 0x15bc6d89f0368fc1, 0x1614e8d2ab5187d6 + .quad 0x15b3adcb83cdccc3, 0x160cf55249e0172a + .quad 0x15ab3ddd3216f86e, 0x16040cdd3d52967c + .quad 0x15a2da66f0214306, 0x15fbc2f50c60488e + .quad 0x159a1799fd5925f4, 0x15f3378a96e8e29a + .quad 0x15920d9fd7b31257, 0x15ea99ed8a2f2e6b + .quad 0x1588faa294857a39, 0x15e268c853c2e48d + .quad 0x158147606d4e1ee3, 0x15d97a2092e9b19d + .quad 0x1577e6d714d6fce7, 0x15d1a0826b9b2f1e + .quad 0x157087916d26f37c, 0x15c86370b7b69b46 + .quad 0x1566dc159d3dbce3, 0x15c0dea34dab05c3 + .quad 0x155f9c3470942341, 0x15b755be71f29fea + .quad 0x1555da3a74ec8bc7, 0x15b02313fbe40a01 + .quad 0x154e35c1df5edf07, 0x15a650e8497f58cd + .quad 0x1544e120315adc06, 0x159edb784bbee452 + .quad 0x153cdb951dc67cbf, 0x159554cafa9d0c34 + .quad 0x1533f09fdba5037e, 0x158d7d0486e476cc + .quad 0x152b8d760c6a3faa, 0x158461419b3892c2 + .quad 0x152308911536a23d, 0x157c2a975dad9be0 + .quad 0x151a4b2aa8c000ca, 0x15737625bf981bdb + .quad 0x151228ca3bac6e07, 0x156ae3f97cbb25ce + .quad 0x150914773f3bbbac, 0x1562934f9e530bad + .quad 0x150151208bdc254e, 0x1559a8f1bb2e0d78 + .quad 0x14f7e91e9c37a26b, 0x1551b8963382a860 + .quad 0x14f0816843f2edd8, 0x154879454bd5bf1a + .quad 0x14e6c8e23b87885f, 0x1540e5cf631ac83b + .quad 0x14df72e98937c4f8, 0x153754b7ed21d736 + .quad 0x14d5b38276a48ea0, 0x15301ad01a5b2dd0 + .quad 0x14cdf23162441e8b, 0x15263b0c17c2af00 + .quad 0x14c4a8beb16012ed, 0x151eaed8e09770ed + .quad 0x14bc804c1d0522eb, 0x15152c032be62aab + .quad 0x14b3a855850eeeea, 0x150d36ef8a6e08fa + .quad 0x14ab1cdcc2ca0214, 0x1504275d9d00481d + .quad 0x14a2b204ea20186e, 0x14fbcd89c2310d59 + .quad 0x1499c78595e362ce, 0x14f32cdb1c10f0ee + .quad 0x1491c58a6013aaee, 0x14ea724c21e93002 + .quad 0x14887fe848fd6bff, 0x14e23c3ac05a8c19 + .quad 0x1480e2a313c94bb5, 0x14d924da86249080 + .quad 0x147745a6341bd9d3, 0x14d1553b2e7eba16 + .quad 0x1470090c041eb55f, 0x14c7e4d844204d5f + .quad 0x14661860872f36c7, 0x14c0779abdf88654 + .quad 0x145e710449b20327, 0x14b6b1e85d9cfdc3 + .quad 0x1454f7b87a3ccd22, 0x14af462f39da55f5 + .quad 0x144ce184ffaa0275, 0x14a58badb2559681 + .quad 0x1443e34f7b15484d, 0x149daedfe49c8a9f + .quad 0x143b6314a8f93441, 0x149471cb2f12adec + .quad 0x1432dac758984610, 0x148c28c3fc94131b + .quad 0x1429f52e6b0168fb, 0x148363e3fa566830 + .quad 0x1421ddc26b854422, 0x147ab358720f461f + .quad 0x1418974e49b18481, 0x1472619b9e9f9276 + .quad 0x1410ebe3bcdc6652, 0x14694e1adf5ef17a + .quad 0x140748f15c14a990, 0x14616a96324493c1 + .quad 0x140004cf29d383af, 0x1457f889bf8109c7 + .quad 0x13f60995fd7916b4, 0x14507e787ce8decb + .quad 0x13ee50530acb7a2b, 0x1446b224a16aa4e0 + .quad 0x13e4d8bbfb38c980, 0x143f39d03522ee6e + .quad 0x13dcab316f0b29de, 0x14357a6c57f8fed2 + .quad 0x13d3b5e4bf3051bb, 0x142d8b1738bdcb74 + .quad 0x13cb1987b3f62cd2, 0x142450e32693ba8d + .quad 0x13c2a09376f26716, 0x141bf0154de94403 + .quad 0x13b99aa6a5f22416, 0x1413350cea8cd61a + .quad 0x13b1984d37c8d151, 0x140a681c1d2f0b94 + .quad 0x13a82de1daeb9c47, 0x1402266f414ce57b + .quad 0x13a09c991f950457, 0x13f8f27fe21c9591 + .quad 0x1396d28fdea9871a, 0x13f12491ab5c17d9 + .quad 0x138f5a00e548f085, 0x13e78e979aa0c9be + .quad 0x1385880a5ae03598, 0x13e02efdac5a4ff4 + .quad 0x137d921d6d1c821b, 0x13d63bbd32217718 + .quad 0x13744dae3b23367b, 0x13ce8a7dcff4677c + .quad 0x136be0a394617721, 0x13c4f94da865b2a3 + .quad 0x136322dbccd73cab, 0x13bccdc67829105b + .quad 0x135a44b3f5ce9c8b, 0x13b3c6a934743c05 + .quad 0x135206f6db46b930, 0x13ab26f5afd4ebc9 + .quad 0x1348bd742e227a38, 0x13a2a3336386b4d7 + .quad 0x1340f966c7fd2396, 0x13999530a15ce61a + .quad 0x13374a0efc06d36e, 0x13918e533433f227 + .quad 0x132ff32d3f1c0a49, 0x138817a166d90dbd + .quad 0x1325e9b45aff1be0, 0x138087732df4f3ab + .quad 0x131e0dea55db81c4, 0x1376ad7728d6db01 + .quad 0x13149b9999981d6c, 0x136f1c02ea5235f3 + .quad 0x130c41e9fb058b1e, 0x136555e63841a093 + .quad 0x13035ef96b0fe655, 0x135d42dfb77e321e + .quad 0x12fa8e19002cb47f, 0x1354102823a6a0a2 + .quad 0x12f23313f4adb099, 0x134b8267dd51660d + .quad 0x12e8f16bf19917ac, 0x1342db7bc80b123e + .quad 0x12e1172ed701cd40, 0x1339d98e007ff597 + .quad 0x12d76adf2095d808, 0x1331b7255d8af1ce + .quad 0x12d00a953345bce4, 0x1328474c5f89cf1f + .quad 0x12c5f976a86ba7a3, 0x1320a26e7ff7c8a0 + .quad 0x12be192f5a290a0d, 0x1316caa4dc34bcc6 + .quad 0x12b49c3e6e576cf8, 0x130f394c675d5da1 + .quad 0x12ac3918d16606af, 0x130562a0ffd36fef + .quad 0x12a3524a1ccb90ce, 0x12fd4a41cdb95576 + .quad 0x129a739e0c3f00b3, 0x12f40e51faa74ee4 + .quad 0x12921ab51a49a640, 0x12eb7670ded07be7 + .quad 0x1288c781323e2b8b, 0x12e2ccd09eaa3410 + .quad 0x1280f4a27c210b83, 0x12d9bc980b6cd88b + .quad 0x1277338f3cfd4b18, 0x12d19d3d560c7458 + .quad 0x126fbe79eabbab8b, 0x12c81b807901b2dd + .quad 0x1265b69fdd784131, 0x12c07ec015b26bbf + .quad 0x125db36d8463b3e1, 0x12b691fdebe382be + .quad 0x12544f955c9776f6, 0x12aee11097f70374 + .quad 0x124bc693203fe92c, 0x12a51eeeac7320be + .quad 0x1242fd5c7756dd24, 0x129ce39998362bf9 + .quad 0x1239f66cc65fb2cb, 0x1293c13b67a17ff2 + .quad 0x1231beec36eb8502, 0x128b03976c943068 + .quad 0x1228418af0dd65ed, 0x128277d70b2ebc6f + .quad 0x12209345c546e7cd, 0x12793f94ba2c6b6a + .quad 0x1216a68c4bfd764b, 0x127141be9e049453 + .quad 0x120ef2e87ca7b717, 0x1267962a50231832 + .quad 0x1205241d71eb6e19, 0x12601df915097b64 + .quad 0x11fce118fc8beeea, 0x125605fee84767f0 + .quad 0x11f3b8f8a28fd848, 0x124e172e498cd2fc + .quad 0x11eaef59daa19c93, 0x12448dc6e3757e71 + .quad 0x11e263e577f574d0, 0x123c1366206ca036 + .quad 0x11d91bfa9231de5c, 0x12332c440230ef3a + .quad 0x11d123b897af1af4, 0x122a2ee0ea25a216 + .quad 0x11c7655cd85a2773, 0x1221e04519eb8f87 + .quad 0x11bfeea6c3554149, 0x121867f82bdccb8f + .quad 0x11b5c9f427a491a4, 0x1210a8a5c7678dff + .quad 0x11adbb4739afff2e, 0x1206bd1744d1513e + .quad 0x11a4484548d479a3, 0x11ff089c3d3d8b6f + .quad 0x119bab46440d8e4b, 0x11f52cbafb8bc99f + .quad 0x1192dee5d96e696e, 0x11ece464b1286c0d + .quad 0x1189bcaf0aad775c, 0x11e3b571085ef9db + .quad 0x11818c7bd07b007f, 0x11dae2a4fedee59c + .quad 0x1177eda37d26ae66, 0x11d255d79dbe3905 + .quad 0x11704fbd01fd3b9a, 0x11c9017432798e26 + .quad 0x11663c5ba199716f, 0x11c10c9ceee61d28 + .quad 0x115e4edd431a7a40, 0x11b73effa34f57ab + .quad 0x1154a724e2f6eade, 0x11afb0fd6a99ec28 + .quad 0x114c24c9890314cd, 0x11a5998a4600495b + .quad 0x11432c615eef6a3d, 0x119d70936a92f04a + .quad 0x113a1f03c81340fd, 0x11940f6bfdad1f14 + .quad 0x1131ca87340e1c39, 0x118b55b284add8c1 + .quad 0x11283b6cbf2ba29f, 0x11829f10ece9036e + .quad 0x1120801fd07f7284, 0x11795e2d86ae92c8 + .quad 0x111677ffffc31b92, 0x117146f8c6e8dc57 + .quad 0x110e978e83ebd95d, 0x116787f26e598ebb + .quad 0x1104d2d2f5dd4096, 0x116005b6216a17ea + .quad 0x10fc58570e2f641d, 0x1155d10973fbab06 + .quad 0x10f34a13f272cdfa, 0x114db3db8f832a58 + .quad 0x10ea4017c5ace0de, 0x1144379416dfac63 + .quad 0x10e1dc0938cfb932, 0x113b84ac1ef46255 + .quad 0x10d84c7064147f81, 0x1132b9cc2c3d6738 + .quad 0x10d087100f5e6429, 0x11297b6c5dc3637a + .quad 0x10c67b20873fc995, 0x11215602f1227af8 + .quad 0x10be9337a8979da0, 0x111795cb2bb480b6 + .quad 0x10b4ca0667456eb8, 0x11100aa01fc8a73e + .quad 0x10ac446a2ccade1c, 0x1105d196927cdacc + .quad 0x10a3371d92c55c69, 0x10fdac421184af19 + .quad 0x109a1ef1650d3562, 0x10f42cba823b93cb + .quad 0x1091c07db1df4cf6, 0x10eb6e2f60b615c1 + .quad 0x1088202debc2593c, 0x10e2a53f94211ba9 + .quad 0x108064595037ce7b, 0x10d95853e0fd75ad + .quad 0x107645a58ac6913c, 0x10d13949d3b2fbd2 + .quad 0x106e41f95cc492ce, 0x10c768213ee2ba9c + .quad 0x10648d0194e5b153, 0x10bfce2f1e195a7a + .quad 0x105be99935f38c42, 0x10b59b2d772c1b04 + .quad 0x1052f40d4a5d2870, 0x10ad5a005ce1b15d + .quad 0x1049bc8aa74c3805, 0x10a3ef3138f8ae58 + .quad 0x104178b448b82b16, 0x109b12e626e3c8a1 + .quad 0x1037b7f2dc7fa066, 0x1092620652c3102c + .quad 0x1030190106456396, 0x1088f5ecffd9c995 + .quad 0x1025d92194746ef2, 0x1080f1a62a97a48e + .quad 0x101da636b2add63a, 0x1077004d0a0dd3fc + .quad 0x10141d8f14e2d235, 0x106f38508375a815 + .quad 0x100b4a8e16df3a2e, 0x10652f67f4a45dbd + .quad 0x100282da2ee06e9f, 0x105cbf8187da9700 + .quad 0x0ff91bc4f0e82a10, 0x105380c6fa6ddd1b + .quad 0x0ff106c65473611b, 0x104a757e44dde4fb + .quad 0x0fe716ca73d3a1dc, 0x1041f218f165083c + .quad 0x0fdf4e737e667fe6, 0x1038571975a9ba0c + .quad 0x0fd538bdbc880350, 0x103081306aee058b + .quad 0x0fccc4774fe05a13, 0x102661571375ee31 + .quad 0x0fc37eeb586702af, 0x101e5803c9b677c0 + .quad 0x0fba6be51e94d2c3, 0x10149169d29f057f + .quad 0x0fb1e6cae3cc5ce4, 0x100be144165bfdad + .quad 0x0fa841452e30c6ec, 0x1002e4b0b7596d86 + .quad 0x0fa06dfcc0330324, 0x0ff99a8814f82396 + .quad 0x0f964157d8dbcaa1, 0x0ff158b4c1d7aa61 + .quad 0x0f8e248fc3725278, 0x0fe7806fe5adc0de + .quad 0x0f84691284199248, 0x0fdfd64d63539ac4 + .quad 0x0f7ba32f675bcca1, 0x0fd58fd2560c98e3 + .quad 0x0f72b59cb5fcd070, 0x0fcd33b9c01b8858 + .quad 0x0f6953f4278d9771, 0x0fc3c5b9e7be019e + .quad 0x0f61244d4a198783, 0x0fbac5a261b57bd2 + .quad 0x0f57333ac721d353, 0x0fb21f61f6e6a3a5 + .quad 0x0f4f654f8b2c9938, 0x0fa8883e334bf813 + .quad 0x0f453d9d5f4e3889, 0x0fa09a33ffab8174 + .quad 0x0f3cbcb3935e8707, 0x0f9678037d69a88a + .quad 0x0f336fefd85e37f7, 0x0f8e678a0474dd4d + .quad 0x0f2a4a7147e53789, 0x0f8491a44a8cc267 + .quad 0x0f21c73c8c2f3143, 0x0f7bd3a60953bab8 + .quad 0x0f180a7df6e9e4ab, 0x0f72d20af56e98e4 + .quad 0x0f1040c111171b21, 0x0f69748563f2a02c + .quad 0x0f05f9153468350d, 0x0f613656dff66048 + .quad 0x0efdb3d65827b6f1, 0x0f57463a2ae57157 + .quad 0x0ef412b4a3b0b6bb, 0x0f4f77b2a384d071 + .quad 0x0eeb20abd232bd72, 0x0f45451ae34b02ae + .quad 0x0ee25417f5fe18aa, 0x0f3cc024fa52d21e + .quad 0x0ed8c38db09c3d68, 0x0f336dbe645ba702 + .quad 0x0ed0ba351c6b2c44, 0x0f2a415d531b6e85 + .quad 0x0ec69856de023170, 0x0f21bcf7eeeba2f5 + .quad 0x0ebe847157246bfc, 0x0f17f70703ac5558 + .quad 0x0eb49b2d16422141, 0x0f102fd377359b10 + .quad 0x0eabd304de355d85, 0x0f05dd1b0bb84b26 + .quad 0x0ea2c87c2ff697dc, 0x0efd87243e77ecad + .quad 0x0e995b4456f24a66, 0x0ef3efdb3b369292 + .quad 0x0e911cf1a60f1d84, 0x0eeaeb4dc01a4631 + .quad 0x0e8718a9184a8678, 0x0ee22bcd99dbdb06 + .quad 0x0e7f2af0be1fde49, 0x0ed88766c06b0833 + .quad 0x0e7507007917e3d9, 0x0ed08db80d427d79 + .quad 0x0e6c5e695f15072b, 0x0ec65709eb54bf5e + .quad 0x0e632266540e08c2, 0x0ebe253876b38ace + .quad 0x0e59cf012acb820b, 0x0eb45623a2f6a451 + .quad 0x0e51673fda512b46, 0x0eab6f674d703273 + .quad 0x0e4777d05328bd26, 0x0ea280eca736b4b1 + .quad 0x0e3fa46d62b8e57d, 0x0e98f4d804e3ad6f + .quad 0x0e35544c8bc23e1c, 0x0e90d3e50a2eecdc + .quad 0x0e2cc068b1dc8ab2, 0x0e86b0c7763ce52b + .quad 0x0e236042b9065710, 0x0e7e979edc5b3767 + .quad 0x0e1a1cbbab815b4c, 0x0e749ecd657d5dd6 + .quad 0x0e1197d0fe71564c, 0x0e6bcb59141dc715 + .quad 0x0e07b41f3bcb1869, 0x0e62bad65a82bb23 + .quad 0x0dffeec24eca8006, 0x0e593d6de18ac6bf + .quad 0x0df581b387627669, 0x0e51011dd6dfecf6 + .quad 0x0decf746ccaba032, 0x0e46e8be31f2fe24 + .quad 0x0de380f8b864e1ac, 0x0e3edc51c8649aaa + .quad 0x0dda4312cc2f816a, 0x0e34c88f43732a10 + .quad 0x0dd1adc83c96accf, 0x0e2bfd81ed74f1cd + .quad 0x0dc7cc835281bbf3, 0x0e22d883a292df3b + .quad 0x0dc0044e6f2b903f, 0x0e195fde403b5724 + .quad 0x0db58e66674c0f82, 0x0e111494966870b7 + .quad 0x0dad0209514d613d, 0x0e06fdef1ca550b3 + .quad 0x0da383f2f4495aed, 0x0dfef217eb67d36d + .quad 0x0d9a41575f0363d6, 0x0df4d2aaa5b8e28a + .quad 0x0d91a8c12a0cae91, 0x0dec04fcbf1fddd8 + .quad 0x0d87c08d08f2ccbb, 0x0de2d96cdd2a30b8 + .quad 0x0d7ff186c5b90604, 0x0dd95b8ba50a2687 + .quad 0x0d757a2b0b1c4c86, 0x0dd10df03cd711e3 + .quad 0x0d6ce07ef98af2ae, 0x0dc6eff939f51c8f + .quad 0x0d636923c5eb270b, 0x0dbed88d96607fb4 + .quad 0x0d5a1791489717bf, 0x0db4bcf1445c1d61 + .quad 0x0d5188d2c2d680a3, 0x0dabe1a747b458c8 + .quad 0x0d47907312c7e255, 0x0da2bd8dde16ba8a + .quad 0x0d3fa9e995f4c414, 0x0d993089dc23e417 + .quad 0x0d35455df149c7b5, 0x0d90ed4f34d6e965 + .quad 0x0d2c93410e8142f8, 0x0d86bf1c754a3325 + .quad 0x0d233105a5b594f7, 0x0d7e9027b1c5a4ab + .quad 0x0d19c67f441e11b3, 0x0d7487c687197597 + .quad 0x0d114e8ebae7496e, 0x0d6b942323a72767 + .quad 0x0d073d10c597b774, 0x0d6285660efb3e9a + .quad 0x0cff330b99c7f9e7, 0x0d58df9d62fb9c5e + .quad 0x0cf4f0ef77c81a6f, 0x0d50b34677fe9486 + .quad 0x0cec1baedb5f2e65, 0x0d466c37bb05de1e + .quad 0x0ce2dc9788ad9864, 0x0d3e1a30436bcde5 + .quad 0x0cd94f913add4907, 0x0d34341c90c553e7 + .quad 0x0cd0fafd2c40ba27, 0x0d2b1dd0ffc5d04b + .quad 0x0cc6c7df995241d1, 0x0d2231f4a6757469 + .quad 0x0cbe8f062cc963ce, 0x0d186a35930ed5e1 + .quad 0x0cb47e5cbff0d92e, 0x0d1060dd236f49a3 + .quad 0x0cab7be34be4e18d, 0x0d05f8c25cd122d7 + .quad 0x0ca26d5559b935e7, 0x0cfd78bca82e9f37 + .quad 0x0c98b4dd6af9c05d, 0x0cf3c36d15093021 + .quad 0x0c908f94cfc79158, 0x0cea80c62c44a65b + .quad 0x0c8632ec0e0d009c, 0x0ce1c4b11ed6627a + .quad 0x0c7dc0b5f2e40ea4, 0x0cd7d261cc2edf72 + .quad 0x0c73efa480ea698b, 0x0ccfef096f5252f0 + .quad 0x0c6ab6a5245de9e5, 0x0cc566c107178d1f + .quad 0x0c61e52cde409267, 0x0cbcae9de8f00c0b + .quad 0x0c57f910d0084829, 0x0cb337ae444bd293 + .quad 0x0c500e3012bd4171, 0x0ca9bfbcfe9dc1e8 + .quad 0x0c4580c66bfc7cf5, 0x0ca13f803c0631d9 + .quad 0x0c3ccba595fe34b5, 0x0c971ac2109d33c9 + .quad 0x0c3347383dcf4a9b, 0x0c8ef21caa7d80c3 + .quad 0x0c29cf52785fcd1f, 0x0c84b8b6bbdb7a4f + .quad 0x0c21466f7a4ba4b3, 0x0c7bbf4bcf8ca0c3 + .quad 0x0c171f5b701cb667, 0x0c72934441fdae8b + .quad 0x0c0ef1fef5338f87, 0x0c68de00a5d4cff3 + .quad 0x0c04b46ffc2e70cc, 0x0c60a4a61359d63a + .quad 0x0bfbb3f3e667d5e5, 0x0c564673b39bdd54 + .quad 0x0bf287ea78b8278f, 0x0c4dcf3acd0cc1f4 + .quad 0x0be8c9c8347a2863, 0x0c43f1926f0c2aa4 + .quad 0x0be093c166d47d90, 0x0c3aaecb94ca24e1 + .quad 0x0bd62b5957e6b822, 0x0c31d8efbbc88d6c + .quad 0x0bcda4f3c5b8c56f, 0x0c27df554174928c + .quad 0x0bc3d1457a1afdae, 0x0c1fed6b4a9440a8 + .quad 0x0bba7e3665ffae25, 0x0c1558fae0fed7aa + .quad 0x0bb1b4da97b89113, 0x0c0c8b307e047613 + .quad 0x0ba7aa46b2ec675c, 0x0c03149a005e5984 + .quad 0x0b9fa00e080e5360, 0x0bf9819329634547 + .quad 0x0b9520f92dcad4a2, 0x0bf10bba52994e8e + .quad 0x0b8c3a9666328faa, 0x0be6c7dd2d93c0f9 + .quad 0x0b82dae795ce73b6, 0x0bde70fd5d6d806d + .quad 0x0b792f5963d343cf, 0x0bd45629dffe1fa7 + .quad 0x0b70d15f439254be, 0x0bcb2b2e959996b0 + .quad 0x0b6675546ac2c967, 0x0bc2255364dfcfd7 + .quad 0x0b5dfca1ff236f02, 0x0bb83c6a3841fcca + .quad 0x0b54046155930cfb, 0x0bb02ee197efc99d + .quad 0x0b4ab8846c89a496, 0x0ba59bfc8bdbfffe + .quad 0x0b41d5226b496f7e, 0x0b9cd9f4c9733040 + .quad 0x0b37cc7edd2bedd1, 0x0b93420703d360ea + .quad 0x0b2fc1e021531b11, 0x0b89b4a6e4580455 + .quad 0x0b252f9fd29afa7b, 0x0b81276cde31355e + .quad 0x0b1c439018f9e7b0, 0x0b76e44a0da72ded + .quad 0x0b12d9d4a3bfacfa, 0x0b6e8b82d35e9882 + .quad 0x0b09247c7d6b7109, 0x0b64603c1a2de688 + .quad 0x0b00c3d4d5746632, 0x0b5b2e6fa531d555 + .quad 0x0af65add59367765, 0x0b5220b241172407 + .quad 0x0aedce1e8301e6ef, 0x0b482d28ae825549 + .quad 0x0ae3dde18cb97a8d, 0x0b401ea51e3f541c + .quad 0x0ada7b31ccb0b2f4, 0x0b357e3d8e31e749 + .quad 0x0ad1a59798dd7aa2, 0x0b2ca77ce984ce61 + .quad 0x0ac7843a7981f8e3, 0x0b23192c63185ef2 + .quad 0x0abf55b0f3ffe463, 0x0b1974911a73b1a7 + .quad 0x0ab4df9fe655b0fb, 0x0b10f64b579273f6 + .quad 0x0aabce68ce6bcfed, 0x0b069a3e1bad13da + .quad 0x0aa284bfe1cdea24, 0x0afe1d6859c11527 + .quad 0x0a98a9c29acbf47d, 0x0af40f425a16dca3 + .quad 0x0a906bd70b72892b, 0x0aeab8633790b1e2 + .quad 0x0a85dd55c1a48477, 0x0ae1cb4a43b9229f + .quad 0x0a7d1bd6b173b9f2, 0x0ad7b25cc6523c3b + .quad 0x0a735fc8451ff49e, 0x0acf8db2dc70232b + .quad 0x0a69c9712232f548, 0x0ac5014bc06e7f91 + .quad 0x0a6128b47439dcd5, 0x0abbf66ba3b9066c + .quad 0x0a56d53d2be0a0b6, 0x0ab29c2c1dc958db + .quad 0x0a4e6122171333df, 0x0aa8c4a9d76af90f + .quad 0x0a4435229d0cc681, 0x0aa07ae5a7347d0b + .quad 0x0a3ae1371b74ea2d, 0x0a95ed9539dfd0c9 + .quad 0x0a31e01427183001, 0x0a8d2c69c7599edc + .quad 0x0a27c589442700ec, 0x0a83677341a98a13 + .quad 0x0a1f9be9e1d7b4e4, 0x0a79cf2c5625685e + .quad 0x0a15033c96eb7570, 0x0a71298aebe8af0f + .quad 0x0a0bef014f36ffa9, 0x0a66d2655c8560eb + .quad 0x0a0290979be09b3b, 0x0a5e58166789d0bc + .quad 0x09f8ac6ba86dcc3c, 0x0a542b9e90b536b6 + .quad 0x09f064e638fb2517, 0x0a4acfe7e64002b1 + .quad 0x09e5c884857d8ade, 0x0a41d179e12ade6e + .quad 0x09dcf0beaeb1b319, 0x0a37ae01eb0f55cb + .quad 0x09d338e29511ffcd, 0x0a2f772a9e0423a1 + .quad 0x09c9881a23b2ff9b, 0x0a24e72e15f0f016 + .quad 0x09c0f43798c4f845, 0x0a1bc4e2f5a8c9af + .quad 0x09b6836e63bd7d88, 0x0a127165d875ec78 + .quad 0x09ade466f9c32fda, 0x0a087eb54ae1860d + .quad 0x09a3d79f883687bf, 0x0a0043b38d103ec9 + .quad 0x099a56d48500b8a3, 0x09f598a7d65e3b67 + .quad 0x09917ac327f9b5e5, 0x09ecac2d1ee89db1 + .quad 0x09873278f241bb95, 0x09e308090afcd9f3 + .quad 0x097ec801820c3f3d, 0x09d942d41e7bf2a3 + .quad 0x09746b841565ab3e, 0x09d0c34dc595f4bf + .quad 0x096b16ea850bfa34, 0x09c63e9cb83e74b2 + .quad 0x0961f76e44abf0ec, 0x09bd83e5a3ffd7ad + .quad 0x0957d432d7dd0ca1, 0x09b39428e0fd00c5 + .quad 0x094f99abec00b682, 0x09a9f8c2eadfb109 + .quad 0x0944f35579392d4b, 0x09a13957092e7741 + .quad 0x093bc6c19eee10e8, 0x0996d7ad6ac744f9 + .quad 0x0932692d6adc530f, 0x098e4a41e3c393c2 + .quad 0x0928673fad41c337, 0x0984149a31665d1e + .quad 0x09202bd066e6e446, 0x097a9efbad7c9909 + .quad 0x09156dece3f159c3, 0x0971a4d14ca40e60 + .quad 0x090c64dabfd6babd, 0x0967628f37011dc7 + .quad 0x0902cf07ed3ac7ca, 0x095efd93aae49244 + .quad 0x08f8ea5cdb1b77f8, 0x0954884565714d83 + .quad 0x08f0801f05da3bab, 0x094b341347ab9d2e + .quad 0x08e5da3ba0723cbc, 0x094204d0f497ca7d + .quad 0x08dcefd7b19fc691, 0x0937de10a24a9be3 + .quad 0x08d3281b7ca3d771, 0x092f9c4f419d97b9 + .quad 0x08c95c663259c5d8, 0x0924ee2a6bb63f1d + .quad 0x08c0c90568fe453b, 0x091bb6bea4d790c6 + .quad 0x08b6374ef6370a23, 0x091258802fee3a1b + .quad 0x08ad668024e6e773, 0x0908491dcb50d650 + .quad 0x08a3739f6c74a992, 0x090012888bcf5e1b + .quad 0x0899bc5a27482390, 0x08f5456466d99824 + .quad 0x089105de86fb726e, 0x08ec25d7813e5a28 + .quad 0x08868453b252f9af, 0x08e29f220ff323bd + .quad 0x087dc7c640bf856f, 0x08d8a2c46b36447d + .quad 0x0873b0e7a2d8004d, 0x08d04b5178932d9e + .quad 0x086a095d99893bea, 0x08c58d2d04dcdef9 + .quad 0x0861361f24d04a1e, 0x08bc8060b8a624d8 + .quad 0x0856c0994513d45b, 0x08b2d8154e3020f5 + .quad 0x084e12caa0268707, 0x08a8ea37661d565f + .quad 0x0843df6725a60cf5, 0x08a078003d294269 + .quad 0x083a42bf15180a09, 0x0895c4df6da1a5f0 + .quad 0x08315957e82800c6, 0x088cc58a0676d26e + .quad 0x0826eb9463d29a0d, 0x088302d6b1661ef0 + .quad 0x081e46dfa81a2018, 0x08791ed1d851d1dd + .quad 0x0813feb236502138, 0x0870982d94421652 + .quad 0x080a67f97b02e026, 0x0865ebfab91b4a2b + .quad 0x08016f37032d6085, 0x085cf4b3235443f5 + .quad 0x07f704e120e656fd, 0x08531f0304f01ddb + .quad 0x07ee638c247f445d, 0x084940198fd0e1c2 + .quad 0x07e40e7ff18c854c, 0x0840ab8eaa8fae67 + .quad 0x07da78b6039c7039, 0x08360223e0067b2c + .quad 0x07d1778970df4481, 0x082d0d6e2f89dd66 + .quad 0x07c70c446e7535cc, 0x08232c589802b4ba + .quad 0x07be688d1dc06742, 0x08194dc0e4e3bd62 + .quad 0x07b40eab69ffb357, 0x0810b1f64079cf15 + .quad 0x07aa74cd8f49285b, 0x080607271cb1c230 + .quad 0x07a1723bbb37e710, 0x07fd0f815d3e30e4 + .quad 0x079701ad03f5aba2, 0x07f32ab83cb1b9aa + .quad 0x078e55d6dd34aeb5, 0x07e947a7e7d08e62 + .quad 0x0783ff3437e5e592, 0x07e0ab555a059592 + .quad 0x077a5c493ec4b75b, 0x07d5faf8b45ee11c + .quad 0x07715f5a46f2a8c5, 0x07ccfae7d166a387 + .quad 0x0766e533a1804da5, 0x07c31a25c153692f + .quad 0x075e2b951ac76b4b, 0x07b92ddcdd3a585a + .quad 0x0753e03e7aaf4a23, 0x07b097bb793410b5 + .quad 0x074a2f624fa2da41, 0x07a5ddb524f58124 + .quad 0x07413f112353b2e2, 0x079ccfd1b6b2b0d1 + .quad 0x0736b71aaf8395ac, 0x0792fac7e1ac1a55 + .quad 0x072dea2a52e6f8d6, 0x0789009c068a7447 + .quad 0x0723b2124c85eb7d, 0x078077566199da13 + .quad 0x0719ee813dcc82f4, 0x0775afa0b60e30ad + .quad 0x071111ab5ef7d9ce, 0x076c8ea38207b48c + .quad 0x070677cd3ce598a2, 0x0762cce7b0334e93 + .quad 0x06fd922e485849df, 0x0758c04eb792831b + .quad 0x06f3751aaab95803, 0x07504a716678c7d9 + .quad 0x06e99a3c2eb312df, 0x074571266fb205e7 + .quad 0x06e0d791e54efc95, 0x073c37f46c8a36ce + .quad 0x06d627dd610c1f2f, 0x073290ef7aa6784e + .quad 0x06cd246bba093ddd, 0x07286d89be61c44f + .quad 0x06c329e3d8fc35e5, 0x072011744722e8f8 + .quad 0x06b93354aecb0f91, 0x071522d67c700dd9 + .quad 0x06b09149eae599f4, 0x070bcc8c2b79e5e6 + .quad 0x06a5c8020a89d6a7, 0x070247692feaf7c7 + .quad 0x069ca1dd59404578, 0x06f8090b25f1fb1c + .quad 0x0692d1194826d1d9, 0x06ef99c33fa36826 + .quad 0x0688bab4cd7bc185, 0x06e4c563ff8738ed + .quad 0x06803f72f0fa181c, 0x06db4d5ff233ee8b + .quad 0x067559144638d7d2, 0x06d1f0fc4fe41aef + .quad 0x066c0baa10766979, 0x06c793b75fbd2367 + .quad 0x06626b830bbc4f33, 0x06befaa9eeaa4992 + .quad 0x0658316ba6f8ef74, 0x06b459a26ac43fcf + .quad 0x064fc588d5eeb300, 0x06aabb8ece685efe + .quad 0x0644dc0c0d42f863, 0x06a18e6b704952c1 + .quad 0x063b6320aea7077a, 0x06970e95e366ca95 + .quad 0x0631fa02ebad6485, 0x068e4700e7fab75e + .quad 0x062798a96e59845b, 0x0683e0826243926d + .quad 0x061ef81624855ca5, 0x067a185d71d9ae78 + .quad 0x061451fcaaed5e70, 0x0671209163a43d8a + .quad 0x060aa9b30dd7b333, 0x06667acd56555624 + .quad 0x06017d9121b4ff43, 0x065d805487b20ec2 + .quad 0x05f6f1bb0c9eff18, 0x06535b0e3e76f72a + .quad 0x05ee184bec96bcc5, 0x064965317fc3f8eb + .quad 0x05e3bc10ccdff1d7, 0x0640a85e11600392 + .quad 0x05d9e0f0cdf83a76, 0x0635d99f4f4fa7a2 + .quad 0x05d0f738d3253e75, 0x062ca8538b911cc2 + .quad 0x05c63e056b37b486, 0x0622ca663e8f6c6e + .quad 0x05bd2806afda0512, 0x0618a38c763ae500 + .quad 0x05b31b865207923b, 0x061026d30f31261e + .quad 0x05a90a81bef15367, 0x06052c63cbe5201d + .quad 0x05a068145905badd, 0x05fbc0c903e2dd51 + .quad 0x05957f0081c7461b, 0x05f22fbc7eb40c8e + .quad 0x058c293abfeb81c1, 0x05e7d5064d5d2e6a + .quad 0x058271a9ed146425, 0x05df3a001a1da12a + .quad 0x0578282015bfd093, 0x05d474846e880b80 + .quad 0x056fa292d1f4b615, 0x05cacb96019278e3 + .quad 0x0564b6323fa7fafc, 0x05c18c50c637e437 + .quad 0x055b1ded81f6cf48, 0x05b6fb47e7243b10 + .quad 0x0551bfd2aff12d23, 0x05ae17fe4af1cdcd + .quad 0x05473b9288cf980b, 0x05a3b3779cd081bc + .quad 0x053e680a6315c8f9, 0x0599caab20737c4b + .quad 0x0533e52969a46a03, 0x0590e16c42489121 + .quad 0x052a082ea93d471f, 0x058618056ad2fa0d + .quad 0x0521075d9566cab2, 0x057ce9e247afa7ef + .quad 0x051646a66f6fb197, 0x0572eabb9557e4c3 + .quad 0x050d22f0f82317a8, 0x0568c0020c90fd02 + .quad 0x05030d7883df3e07, 0x0560305d4157bdec + .quad 0x04f8ea1187daf8b3, 0x05552cf8a69cbdee + .quad 0x04f049a91d747c02, 0x054bb1f3a4ce848c + .quad 0x04e54b29ff375e83, 0x05421bd19407d3a8 + .quad 0x04dbd5a7cbaf896d, 0x0537ad97206eb3e9 + .quad 0x04d230b0dec754da, 0x052ef4e6059f1fe4 + .quad 0x04c7c5a693980a40, 0x05243bdb9112e65b + .quad 0x04bf10221f87a1ca, 0x051a7278c0b2c815 + .quad 0x04b44ae6c097e3b8, 0x051148391a9b5b70 + .quad 0x0000000000000000, 0x0000000000000000 + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ + .align 16 + .quad 0x403b3e0000000000, 0x403b3e0000000000 /* _MaxThreshold=3487.0/128.0 */ + .align 16 + .quad 0x8000000000000000, 0x8000000000000000 /* sign mask */ + .align 16 + .quad 0x37f0000000000000, 0x37f0000000000000 /* 2^(-128) */ + .align 16 + .quad 0x42c0000000000000, 0x42c0000000000000 /* SRound */ + // polynomial coefficients + .align 16 + .quad 0xbf2282c89a04c65f, 0xbf2282c89a04c65f // poly1[0] + .align 16 + .quad 0x3f472360bac04e70, 0x3f472360bac04e70 // poly1[1] + .align 16 + .quad 0xbf8441df86900a46, 0xbf8441df86900a46 // poly3[0] + .align 16 + .quad 0x3fa117abf1fea28c, 0x3fa117abf1fea28c // poly3[1] + .align 16 + .quad 0xbfb56433674ba5c2, 0xbfb56433674ba5c2 // poly5[0] + .align 16 + .quad 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf // poly5[1] + .align 16 + .quad 0xbf6a019f4f234617, 0xbf6a019f4f234617 // poly1[2] + .align 16 + .quad 0xbfb8618412bc79ec, 0xbfb8618412bc79ec // poly3[2] + .align 16 + .quad 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7 // poly5[2] + .align 16 + .quad 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f // poly1[3] + .align 16 + .quad 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6 // poly3[3] + .align 16 + .quad 0x3fb9998f9d0729da, 0x3fb9998f9d0729da // poly5[3] + .align 16 + .quad 0xbfa6c16c16d06420, 0xbfa6c16c16d06420 // poly1[4] + .align 16 + .quad 0xbfd9999999f3d838, 0xbfd9999999f3d838 // poly3[4] + .align 16 + .quad 0x3fc11111111ab082, 0x3fc11111111ab082 // poly1[5] + .align 16 + .quad 0x3fe0000000379730, 0x3fe0000000379730 // poly3[5] + .align 16 + .quad 0xbfd5555555554add, 0xbfd5555555554add // poly3[6] + .align 16 + .quad 0xbfd555555555548a, 0xbfd555555555548a // poly1[6] + .align 16 + .quad 0x3fe55555555554cf, 0x3fe55555555554cf // poly1[7] + .align 16 + .quad 0x403B39DC41E48BFD, 0x403B39DC41E48BFD /* UF_Threshold */ + .align 16 + .quad 0x47f0000000000000, 0x47f0000000000000 /* 2^128 */ + .align 16 + .type __svml_derfc_data_internal, @object + .size __svml_derfc_data_internal, .-__svml_derfc_data_internal From patchwork Mon Mar 7 15:01:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602365 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=MewulGCp; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3HN4PWwz9sFt for ; Tue, 8 Mar 2022 03:06:40 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 305573858423 for ; Mon, 7 Mar 2022 16:06:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 305573858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669198; bh=ZyJPxSnhkTP8U/DGrR2Siqc736FatzkvvEBCYF0BVZ8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=MewulGCplOA+M2Yi73DPBX7jUWewb2xugc1EOIM3YOgx0oNQQiJh4uYP/MpUj1OGh UyJcj3RKlePae6aas0O8shT3pKNAPZrb/WOucJ4l1iNriT4LzRBbucJ0gAfTCmzr1F Bn/zWpChyP8/FhhigVq5ht/mSFbZxqZ+lqXHwR58= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 0F5F63858008 for ; Mon, 7 Mar 2022 15:02:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0F5F63858008 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843020" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843020" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561722" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ed016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 065/126] x86_64: Fix svml_d_erfc4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:00 -0800 Message-Id: <20220307150201.10590-66-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_erfc4_core_avx2.S | 7552 ++++++++--------- 1 file changed, 3775 insertions(+), 3777 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S index 76fb6d3ee9..c832b65e3e 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc4_core_avx2.S @@ -29,3829 +29,3827 @@ /* Offsets for data table __svml_derfc_data_internal */ -#define _erfc_tbl 0 -#define _AbsMask 55808 -#define _MaxThreshold 55840 -#define _SgnMask 55872 -#define _One 55904 -#define _TwoM128 55936 -#define _SRound 55968 -#define _poly1_0 56000 -#define _poly1_1 56032 -#define _poly3_0 56064 -#define _poly3_1 56096 -#define _poly5_0 56128 -#define _poly5_1 56160 -#define _poly1_2 56192 -#define _poly3_2 56224 -#define _poly5_2 56256 -#define _poly1_3 56288 -#define _poly3_3 56320 -#define _poly5_3 56352 -#define _poly1_4 56384 -#define _poly3_4 56416 -#define _poly1_5 56448 -#define _poly3_5 56480 -#define _poly3_6 56512 -#define _poly1_6 56544 -#define _poly1_7 56576 -#define _UF_Threshold 56608 -#define _Mask32 56640 +#define _erfc_tbl 0 +#define _AbsMask 55808 +#define _MaxThreshold 55840 +#define _SgnMask 55872 +#define _One 55904 +#define _TwoM128 55936 +#define _SRound 55968 +#define _poly1_0 56000 +#define _poly1_1 56032 +#define _poly3_0 56064 +#define _poly3_1 56096 +#define _poly5_0 56128 +#define _poly5_1 56160 +#define _poly1_2 56192 +#define _poly3_2 56224 +#define _poly5_2 56256 +#define _poly1_3 56288 +#define _poly3_3 56320 +#define _poly5_3 56352 +#define _poly1_4 56384 +#define _poly3_4 56416 +#define _poly1_5 56448 +#define _poly3_5 56480 +#define _poly3_6 56512 +#define _poly1_6 56544 +#define _poly1_7 56576 +#define _UF_Threshold 56608 +#define _Mask32 56640 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_erfc_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp -/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ - lea __svml_derfc_data_internal(%rip), %rdi - vmovapd %ymm0, %ymm12 - vmovupd _SRound+__svml_derfc_data_internal(%rip), %ymm8 - vmovupd _TwoM128+__svml_derfc_data_internal(%rip), %ymm5 - vmovupd _One+__svml_derfc_data_internal(%rip), %ymm14 - vandpd _AbsMask+__svml_derfc_data_internal(%rip), %ymm12, %ymm13 + /* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea __svml_derfc_data_internal(%rip), %rdi + vmovapd %ymm0, %ymm12 + vmovupd _SRound+__svml_derfc_data_internal(%rip), %ymm8 + vmovupd _TwoM128+__svml_derfc_data_internal(%rip), %ymm5 + vmovupd _One+__svml_derfc_data_internal(%rip), %ymm14 + vandpd _AbsMask+__svml_derfc_data_internal(%rip), %ymm12, %ymm13 -/* - * erfc(27.25) underflows to 0 - * can compute all results in the main path - */ - vminpd _MaxThreshold+__svml_derfc_data_internal(%rip), %ymm13, %ymm6 - vaddpd %ymm8, %ymm6, %ymm1 - vmaxpd %ymm5, %ymm6, %ymm0 + /* + * erfc(27.25) underflows to 0 + * can compute all results in the main path + */ + vminpd _MaxThreshold+__svml_derfc_data_internal(%rip), %ymm13, %ymm6 + vaddpd %ymm8, %ymm6, %ymm1 + vmaxpd %ymm5, %ymm6, %ymm0 -/* Start polynomial evaluation */ - vmovupd _poly1_0+__svml_derfc_data_internal(%rip), %ymm6 - vpsllq $4, %ymm1, %ymm4 - vsubpd %ymm8, %ymm1, %ymm7 - vsubpd %ymm7, %ymm0, %ymm10 - vmulpd %ymm10, %ymm7, %ymm9 - vmovupd _poly3_0+__svml_derfc_data_internal(%rip), %ymm7 - vfmadd213pd _poly1_1+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 - vfmadd213pd _poly3_1+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 - vfmadd213pd _poly1_2+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 - vfmadd213pd _poly3_2+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 - vfmadd213pd _poly1_3+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 - vfmadd213pd _poly3_3+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 - vfmadd213pd _poly1_4+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 - vfmadd213pd _poly3_4+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 - vfmadd213pd _poly1_5+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 - vfmadd213pd _poly3_5+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 - vfmadd213pd _poly1_6+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 - vandpd _SgnMask+__svml_derfc_data_internal(%rip), %ymm12, %ymm2 + /* Start polynomial evaluation */ + vmovupd _poly1_0+__svml_derfc_data_internal(%rip), %ymm6 + vpsllq $4, %ymm1, %ymm4 + vsubpd %ymm8, %ymm1, %ymm7 + vsubpd %ymm7, %ymm0, %ymm10 + vmulpd %ymm10, %ymm7, %ymm9 + vmovupd _poly3_0+__svml_derfc_data_internal(%rip), %ymm7 + vfmadd213pd _poly1_1+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd _poly3_1+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd _poly1_2+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd _poly3_2+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd _poly1_3+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd _poly3_3+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd _poly1_4+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd _poly3_4+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd _poly1_5+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd _poly3_5+__svml_derfc_data_internal(%rip), %ymm9, %ymm7 + vfmadd213pd _poly1_6+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vandpd _SgnMask+__svml_derfc_data_internal(%rip), %ymm12, %ymm2 -/* 2^(-128) with sign of input */ - vorpd %ymm2, %ymm5, %ymm8 - vmovupd _poly5_0+__svml_derfc_data_internal(%rip), %ymm5 - vfmadd213pd _poly1_7+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 - vfmadd213pd _poly5_1+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 - vandps _Mask32+__svml_derfc_data_internal(%rip), %ymm4, %ymm13 - vorpd %ymm2, %ymm14, %ymm15 + /* 2^(-128) with sign of input */ + vorpd %ymm2, %ymm5, %ymm8 + vmovupd _poly5_0+__svml_derfc_data_internal(%rip), %ymm5 + vfmadd213pd _poly1_7+__svml_derfc_data_internal(%rip), %ymm9, %ymm6 + vfmadd213pd _poly5_1+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 + vandps _Mask32+__svml_derfc_data_internal(%rip), %ymm4, %ymm13 + vorpd %ymm2, %ymm14, %ymm15 -/* 2.0 if x<0, 0.0 otherwise */ - vsubpd %ymm15, %ymm14, %ymm11 - vfmadd213pd _poly5_2+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 - vfmadd213pd _poly5_3+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 - vextractf128 $1, %ymm13, %xmm14 - vmovd %xmm13, %eax - vmovd %xmm14, %ecx - vpextrd $2, %xmm14, %esi - movslq %ecx, %rcx - movslq %esi, %rsi - vpextrd $2, %xmm13, %edx - movslq %eax, %rax - vmovupd (%rdi,%rcx), %xmm2 - vmovupd (%rdi,%rsi), %xmm1 - vunpcklpd %xmm1, %xmm2, %xmm0 - vunpckhpd %xmm1, %xmm2, %xmm1 + /* 2.0 if x<0, 0.0 otherwise */ + vsubpd %ymm15, %ymm14, %ymm11 + vfmadd213pd _poly5_2+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 + vfmadd213pd _poly5_3+__svml_derfc_data_internal(%rip), %ymm9, %ymm5 + vextractf128 $1, %ymm13, %xmm14 + vmovd %xmm13, %eax + vmovd %xmm14, %ecx + vpextrd $2, %xmm14, %esi + movslq %ecx, %rcx + movslq %esi, %rsi + vpextrd $2, %xmm13, %edx + movslq %eax, %rax + vmovupd (%rdi, %rcx), %xmm2 + vmovupd (%rdi, %rsi), %xmm1 + vunpcklpd %xmm1, %xmm2, %xmm0 + vunpckhpd %xmm1, %xmm2, %xmm1 -/* Diff^2 */ - vmulpd %ymm10, %ymm10, %ymm2 - vmovupd (%rdi,%rax), %xmm4 + /* Diff^2 */ + vmulpd %ymm10, %ymm10, %ymm2 + vmovupd (%rdi, %rax), %xmm4 -/* P5 = P5 + D2*P07 */ - vfmadd213pd _poly3_6+__svml_derfc_data_internal(%rip), %ymm2, %ymm5 - vfmadd213pd %ymm5, %ymm9, %ymm7 + /* P5 = P5 + D2*P07 */ + vfmadd213pd _poly3_6+__svml_derfc_data_internal(%rip), %ymm2, %ymm5 + vfmadd213pd %ymm5, %ymm9, %ymm7 -/* T^2 */ - vmulpd %ymm9, %ymm9, %ymm5 - vfmsub213pd %ymm9, %ymm2, %ymm7 - movslq %edx, %rdx - vfmadd213pd %ymm7, %ymm5, %ymm6 - vmovupd (%rdi,%rdx), %xmm3 - vunpcklpd %xmm3, %xmm4, %xmm15 - vunpckhpd %xmm3, %xmm4, %xmm3 - vinsertf128 $1, %xmm1, %ymm3, %ymm4 + /* T^2 */ + vmulpd %ymm9, %ymm9, %ymm5 + vfmsub213pd %ymm9, %ymm2, %ymm7 + movslq %edx, %rdx + vfmadd213pd %ymm7, %ymm5, %ymm6 + vmovupd (%rdi, %rdx), %xmm3 + vunpcklpd %xmm3, %xmm4, %xmm15 + vunpckhpd %xmm3, %xmm4, %xmm3 + vinsertf128 $1, %xmm1, %ymm3, %ymm4 -/* EXP_X0H *= Diff */ - vmulpd %ymm10, %ymm4, %ymm9 + /* EXP_X0H *= Diff */ + vmulpd %ymm10, %ymm4, %ymm9 -/* Special arguments (for flags only) */ - vcmplt_oqpd _UF_Threshold+__svml_derfc_data_internal(%rip), %ymm12, %ymm10 + /* Special arguments (for flags only) */ + vcmplt_oqpd _UF_Threshold+__svml_derfc_data_internal(%rip), %ymm12, %ymm10 -/* EXP_x0H*Diff*(1+P1) */ - vfmadd213pd %ymm9, %ymm9, %ymm6 + /* EXP_x0H*Diff*(1+P1) */ + vfmadd213pd %ymm9, %ymm9, %ymm6 -/* combine and get argument value range mask */ - vmovmskpd %ymm10, %edx - notl %edx - vinsertf128 $1, %xmm0, %ymm15, %ymm0 + /* combine and get argument value range mask */ + vmovmskpd %ymm10, %edx + notl %edx + vinsertf128 $1, %xmm0, %ymm15, %ymm0 -/* erfc(|_VARG1|) = erfc_h(x0) - P1 */ - vsubpd %ymm6, %ymm0, %ymm0 - vfmadd213pd %ymm11, %ymm8, %ymm0 - andl $15, %edx + /* erfc(|_VARG1|) = erfc_h(x0) - P1 */ + vsubpd %ymm6, %ymm0, %ymm0 + vfmadd213pd %ymm11, %ymm8, %ymm0 + andl $15, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm12 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm12 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd %ymm12, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 + vmovupd %ymm12, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call erfc@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call erfc@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_erfc_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_derfc_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _erfc_tbl[3488*2][2]; - __declspec(align(32)) VUINT32 _AbsMask[4][2]; - __declspec(align(32)) VUINT32 _MaxThreshold[4][2]; - __declspec(align(32)) VUINT32 _SgnMask[4][2]; - __declspec(align(32)) VUINT32 _One[4][2]; - __declspec(align(32)) VUINT32 _TwoM128[4][2]; - __declspec(align(32)) VUINT32 _SRound[4][2]; - __declspec(align(32)) VUINT32 _poly1_0[4][2]; - __declspec(align(32)) VUINT32 _poly1_1[4][2]; - __declspec(align(32)) VUINT32 _poly3_0[4][2]; - __declspec(align(32)) VUINT32 _poly3_1[4][2]; - __declspec(align(32)) VUINT32 _poly5_0[4][2]; - __declspec(align(32)) VUINT32 _poly5_1[4][2]; - __declspec(align(32)) VUINT32 _poly1_2[4][2]; - __declspec(align(32)) VUINT32 _poly3_2[4][2]; - __declspec(align(32)) VUINT32 _poly5_2[4][2]; - __declspec(align(32)) VUINT32 _poly1_3[4][2]; - __declspec(align(32)) VUINT32 _poly3_3[4][2]; - __declspec(align(32)) VUINT32 _poly5_3[4][2]; - __declspec(align(32)) VUINT32 _poly1_4[4][2]; - __declspec(align(32)) VUINT32 _poly3_4[4][2]; - __declspec(align(32)) VUINT32 _poly1_5[4][2]; - __declspec(align(32)) VUINT32 _poly3_5[4][2]; - __declspec(align(32)) VUINT32 _poly3_6[4][2]; - __declspec(align(32)) VUINT32 _poly1_6[4][2]; - __declspec(align(32)) VUINT32 _poly1_7[4][2]; - __declspec(align(32)) VUINT32 _UF_Threshold[4][2]; - __declspec(align(32)) VUINT32 _Mask32[4][2]; +typedef struct { + __declspec(align(32)) VUINT32 _erfc_tbl[3488*2][2]; + __declspec(align(32)) VUINT32 _AbsMask[4][2]; + __declspec(align(32)) VUINT32 _MaxThreshold[4][2]; + __declspec(align(32)) VUINT32 _SgnMask[4][2]; + __declspec(align(32)) VUINT32 _One[4][2]; + __declspec(align(32)) VUINT32 _TwoM128[4][2]; + __declspec(align(32)) VUINT32 _SRound[4][2]; + __declspec(align(32)) VUINT32 _poly1_0[4][2]; + __declspec(align(32)) VUINT32 _poly1_1[4][2]; + __declspec(align(32)) VUINT32 _poly3_0[4][2]; + __declspec(align(32)) VUINT32 _poly3_1[4][2]; + __declspec(align(32)) VUINT32 _poly5_0[4][2]; + __declspec(align(32)) VUINT32 _poly5_1[4][2]; + __declspec(align(32)) VUINT32 _poly1_2[4][2]; + __declspec(align(32)) VUINT32 _poly3_2[4][2]; + __declspec(align(32)) VUINT32 _poly5_2[4][2]; + __declspec(align(32)) VUINT32 _poly1_3[4][2]; + __declspec(align(32)) VUINT32 _poly3_3[4][2]; + __declspec(align(32)) VUINT32 _poly5_3[4][2]; + __declspec(align(32)) VUINT32 _poly1_4[4][2]; + __declspec(align(32)) VUINT32 _poly3_4[4][2]; + __declspec(align(32)) VUINT32 _poly1_5[4][2]; + __declspec(align(32)) VUINT32 _poly3_5[4][2]; + __declspec(align(32)) VUINT32 _poly3_6[4][2]; + __declspec(align(32)) VUINT32 _poly1_6[4][2]; + __declspec(align(32)) VUINT32 _poly1_7[4][2]; + __declspec(align(32)) VUINT32 _UF_Threshold[4][2]; + __declspec(align(32)) VUINT32 _Mask32[4][2]; } __svml_derfc_data_internal; #endif __svml_derfc_data_internal: - /*== _erfc_tbl ==*/ - .quad 0x47f0000000000000, 0x47f20dd750429b6d - .quad 0x47efb7c9030853b3, 0x47f20d8f1975c85d - .quad 0x47ef6f9447be0743, 0x47f20cb67bd452c7 - .quad 0x47ef27640f9853d9, 0x47f20b4d8bac36c1 - .quad 0x47eedf3a9ba22dad, 0x47f209546ad13ccf - .quad 0x47ee971a2c4436ae, 0x47f206cb4897b148 - .quad 0x47ee4f05010eca8c, 0x47f203b261cd0053 - .quad 0x47ee06fd58842c7e, 0x47f2000a00ae3804 - .quad 0x47edbf056fe2df35, 0x47f1fbd27cdc72d3 - .quad 0x47ed771f82f02f4e, 0x47f1f70c3b4f2cc8 - .quad 0x47ed2f4dcbc2f894, 0x47f1f1b7ae44867f - .quad 0x47ece792828eae5c, 0x47f1ebd5552f795b - .quad 0x47ec9fefdd6eaf19, 0x47f1e565bca400d4 - .quad 0x47ec58681031eb6a, 0x47f1de697e413d29 - .quad 0x47ec10fd4c26e896, 0x47f1d6e14099944a - .quad 0x47ebc9b1bfe82687, 0x47f1cecdb718d61c - .quad 0x47eb82879728f11e, 0x47f1c62fa1e869b6 - .quad 0x47eb3b80fa82a4bb, 0x47f1bd07cdd189ac - .quad 0x47eaf4a00f426daa, 0x47f1b357141d95d5 - .quad 0x47eaade6f7378a0e, 0x47f1a91e5a748165 - .quad 0x47ea6757d08215d8, 0x47f19e5e92b964ab - .quad 0x47ea20f4b5626818, 0x47f19318bae53a04 - .quad 0x47e9dabfbc090901, 0x47f1874ddcdfce24 - .quad 0x47e994baf66747ad, 0x47f17aff0e56ec10 - .quad 0x47e94ee8720076b6, 0x47f16e2d7093cd8c - .quad 0x47e9094a37bbd66e, 0x47f160da304ed92f - .quad 0x47e8c3e24bb73372, 0x47f153068581b781 - .quad 0x47e87eb2ad1a4032, 0x47f144b3b337c90c - .quad 0x47e839bd55eaafc8, 0x47f135e3075d076b - .quad 0x47e7f5043ae11862, 0x47f12695da8b5bde - .quad 0x47e7b0894b3ea35c, 0x47f116cd8fd67618 - .quad 0x47e76c4e70a390e7, 0x47f1068b94962e5e - .quad 0x47e728558ee694fc, 0x47f0f5d1602f7e41 - .quad 0x47e6e4a083ed132f, 0x47f0e4a073dc1b91 - .quad 0x47e6a13127843ec1, 0x47f0d2fa5a70c168 - .quad 0x47e65e094b3b2413, 0x47f0c0e0a8223359 - .quad 0x47e61b2aba3da093, 0x47f0ae54fa490723 - .quad 0x47e5d89739304dcf, 0x47f09b58f724416b - .quad 0x47e59650860d6469, 0x47f087ee4d9ad247 - .quad 0x47e5545858029b39, 0x47f07416b4fbfe7c - .quad 0x47e512b05f5006e1, 0x47f05fd3ecbec298 - .quad 0x47e4d15a4527fdc7, 0x47f04b27bc403d30 - .quad 0x47e49057ab900447, 0x47f03613f2812daf - .quad 0x47e44faa2d42c4a0, 0x47f0209a65e29545 - .quad 0x47e40f535d93160e, 0x47f00abcf3e187a9 - .quad 0x47e3cf54c8501620, 0x47efe8fb01a47307 - .quad 0x47e38faff1aa574a, 0x47efbbbbef34b4b2 - .quad 0x47e35066561a275d, 0x47ef8dc092d58ff8 - .quad 0x47e311796a46f064, 0x47ef5f0cdaf15313 - .quad 0x47e2d2ea9aefb636, 0x47ef2fa4c16c0019 - .quad 0x47e294bb4cd4b2bd, 0x47eeff8c4b1375db - .quad 0x47e256ecdca212cc, 0x47eecec7870ebca8 - .quad 0x47e219809edbd524, 0x47ee9d5a8e4c934e - .quad 0x47e1dc77dfcacd02, 0x47ee6b4982f158b9 - .quad 0x47e19fd3e36ac96a, 0x47ee38988fc46e72 - .quad 0x47e16395e559e218, 0x47ee054be79d3042 - .quad 0x47e127bf18c8eadc, 0x47edd167c4cf9d2a - .quad 0x47e0ec50a86d0dd4, 0x47ed9cf06898cdaf - .quad 0x47e0b14bb6728cd8, 0x47ed67ea1a8b5368 - .quad 0x47e076b15c70aa28, 0x47ed325927fb9d89 - .quad 0x47e03c82ab5eb831, 0x47ecfc41e36c7df9 - .quad 0x47e002c0ab8a5018, 0x47ecc5a8a3fbea40 - .quad 0x47df92d8b91d5cc7, 0x47ec8e91c4d01368 - .quad 0x47df210d6a9a6a31, 0x47ec5701a484ef9d - .quad 0x47deb02147ce245c, 0x47ec1efca49a5011 - .quad 0x47de40161b701275, 0x47ebe68728e29d5e - .quad 0x47ddd0ed9ea4bdd6, 0x47ebada596f25436 - .quad 0x47dd62a978f7c957, 0x47eb745c55905bf8 - .quad 0x47dcf54b4058455f, 0x47eb3aafcc27502e - .quad 0x47dc88d479173cce, 0x47eb00a46237d5be - .quad 0x47dc1d4695e87644, 0x47eac63e7ecc1411 - .quad 0x47dbb2a2f7e56520, 0x47ea8b8287ec6a09 - .quad 0x47db48eaee924501, 0x47ea5074e2157620 - .quad 0x47dae01fb7e55a66, 0x47ea1519efaf889e - .quad 0x47da78428050527e, 0x47e9d97610879642 - .quad 0x47da115462cbbc17, 0x47e99d8da149c13f - .quad 0x47d9ab5668e4930a, 0x47e96164fafd8de3 - .quad 0x47d946498acbd766, 0x47e925007283d7aa - .quad 0x47d8e22eaf68291e, 0x47e8e86458169af8 - .quad 0x47d87f06ac6960c4, 0x47e8ab94f6caa71d - .quad 0x47d81cd2465e1d96, 0x47e86e9694134b9e - .quad 0x47d7bb9230cb40b4, 0x47e8316d6f48133d - .quad 0x47d75b470e454d35, 0x47e7f41dc12c9e89 - .quad 0x47d6fbf1708ba47c, 0x47e7b6abbb7aaf19 - .quad 0x47d69d91d8a595da, 0x47e7791b886e7403 - .quad 0x47d64028b7013867, 0x47e73b714a552763 - .quad 0x47d5e3b66b9405a9, 0x47e6fdb11b1e0c34 - .quad 0x47d5883b45fd2b63, 0x47e6bfdf0beddaf5 - .quad 0x47d52db785a98aca, 0x47e681ff24b4ab04 - .quad 0x47d4d42b59f95afa, 0x47e6441563c665d4 - .quad 0x47d47b96e267647a, 0x47e60625bd75d07b - .quad 0x47d423fa2eb1cb59, 0x47e5c8341bb23767 - .quad 0x47d3cd553f045d45, 0x47e58a445da7c74c - .quad 0x47d377a8042458d1, 0x47e54c5a57629db0 - .quad 0x47d322f25f9da2fd, 0x47e50e79d1749ac9 - .quad 0x47d2cf3423f15fdf, 0x47e4d0a6889dfd9f - .quad 0x47d27c6d14c5e341, 0x47e492e42d78d2c5 - .quad 0x47d22a9ce717edcb, 0x47e4553664273d24 - .quad 0x47d1d9c3416d2b4b, 0x47e417a0c4049fd0 - .quad 0x47d189dfbc07e690, 0x47e3da26d759aef5 - .quad 0x47d13af1e11be721, 0x47e39ccc1b136d5a - .quad 0x47d0ecf92d046d22, 0x47e35f93fe7d1b3d - .quad 0x47d09ff50e7b3f93, 0x47e32281e2fd1a92 - .quad 0x47d053e4e6d0c10b, 0x47e2e5991bd4cbfc - .quad 0x47d008c80a24ff10, 0x47e2a8dcede3673b - .quad 0x47cf7d3b7f436013, 0x47e26c508f6bd0ff - .quad 0x47ceeaca836a27cc, 0x47e22ff727dd6f7b - .quad 0x47ce5a3b7c9b56da, 0x47e1f3d3cf9ffe5a - .quad 0x47cdcb8cae2d747f, 0x47e1b7e98fe26217 - .quad 0x47cd3ebc436b0f26, 0x47e17c3b626c7a12 - .quad 0x47ccb3c8500ea349, 0x47e140cc3173f007 - .quad 0x47cc2aaed0bfcfee, 0x47e1059ed7740313 - .quad 0x47cba36dab91c0e9, 0x47e0cab61f084b93 - .quad 0x47cb1e02b082b720, 0x47e09014c2ca74da - .quad 0x47ca9a6b99fc973b, 0x47e055bd6d32e8d7 - .quad 0x47ca18a60d56673e, 0x47e01bb2b87c6968 - .quad 0x47c998af9b56a3ae, 0x47dfc3ee5d1524b0 - .quad 0x47c91a85c0b65519, 0x47df511a91a67d2a - .quad 0x47c89e25e6a4cef9, 0x47dedeeee0959518 - .quad 0x47c8238d634c0127, 0x47de6d6ffaa65a25 - .quad 0x47c7aab97a554544, 0x47ddfca26f5bbf88 - .quad 0x47c733a75d6e91b8, 0x47dd8c8aace11e63 - .quad 0x47c6be542ccffc2f, 0x47dd1d2cfff91594 - .quad 0x47c64abcf7c175b4, 0x47dcae8d93f1d7b7 - .quad 0x47c5d8debd20aace, 0x47dc40b0729ed548 - .quad 0x47c568b66be6f268, 0x47dbd3998457afdb - .quad 0x47c4fa40e3af3674, 0x47db674c8ffc6283 - .quad 0x47c48d7af53bc19f, 0x47dafbcd3afe8ab6 - .quad 0x47c4226162fbddd5, 0x47da911f096fbc26 - .quad 0x47c3b8f0e1912f70, 0x47da27455e14c93c - .quad 0x47c351261854b991, 0x47d9be437a7de946 - .quad 0x47c2eafda1db784a, 0x47d9561c7f23a47b - .quad 0x47c286740c7a7dab, 0x47d8eed36b886d93 - .quad 0x47c22385daca7f47, 0x47d8886b1e5ecfd1 - .quad 0x47c1c22f842ac1f2, 0x47d822e655b417e7 - .quad 0x47c1626d75435220, 0x47d7be47af1f5d89 - .quad 0x47c1043c1086777d, 0x47d75a91a7f4d2ed - .quad 0x47c0a797aeb152f2, 0x47d6f7c69d7d3ef8 - .quad 0x47c04c7c9f4b9690, 0x47d695e8cd31867e - .quad 0x47bfe5ce524c8ee5, 0x47d634fa54fa285f - .quad 0x47bf35a715b2f3e1, 0x47d5d4fd33729015 - .quad 0x47be887bf681f218, 0x47d575f3483021c3 - .quad 0x47bdde4553ef94de, 0x47d517de540ce2a3 - .quad 0x47bd36fb7fa50177, 0x47d4babff975a04c - .quad 0x47bc9296beb09cf1, 0x47d45e99bcbb7915 - .quad 0x47bbf10f4a759889, 0x47d4036d0468a7a2 - .quad 0x47bb525d5198cb1c, 0x47d3a93b1998736c - .quad 0x47bab678f8eabedb, 0x47d35005285227f1 - .quad 0x47ba1d5a5c4edb96, 0x47d2f7cc3fe6f423 - .quad 0x47b986f98f9f96c8, 0x47d2a09153529381 - .quad 0x47b8f34e9f8f93a6, 0x47d24a55399ea239 - .quad 0x47b8625192879e39, 0x47d1f518ae487dc8 - .quad 0x47b7d3fa69816db5, 0x47d1a0dc51a9934d - .quad 0x47b7484120df1b01, 0x47d14da0a961fd14 - .quad 0x47b6bf1db13f3983, 0x47d0fb6620c550af - .quad 0x47b63888104d811a, 0x47d0aa2d09497f2b - .quad 0x47b5b478318ff939, 0x47d059f59af7a906 - .quad 0x47b532e6073095f2, 0x47d00abff4dec7a3 - .quad 0x47b4b3c982c338c7, 0x47cf79183b101c5b - .quad 0x47b4371a960807f8, 0x47cedeb406d9c825 - .quad 0x47b3bcd133aa0ffc, 0x47ce4652fadcb6b2 - .quad 0x47b344e54ffa23b9, 0x47cdaff4969c0b04 - .quad 0x47b2cf4ee1a5f0fc, 0x47cd1b982c501370 - .quad 0x47b25c05e26b3f99, 0x47cc893ce1dcbef7 - .quad 0x47b1eb024fc75285, 0x47cbf8e1b1ca2279 - .quad 0x47b17c3c2ba26319, 0x47cb6a856c3ed54f - .quad 0x47b10fab7cf72f94, 0x47cade26b7fbed95 - .quad 0x47b0a548507696c0, 0x47ca53c4135a6526 - .quad 0x47b03d0ab9273b94, 0x47c9cb5bd549b111 - .quad 0x47afadd5a20258d3, 0x47c944ec2e4f5630 - .quad 0x47aee5c1730b147c, 0x47c8c07329874652 - .quad 0x47ae21c938a45a83, 0x47c83deeada4d25a - .quad 0x47ad61dd57628999, 0x47c7bd5c7df3fe9c - .quad 0x47aca5ee4649e31f, 0x47c73eba3b5b07b7 - .quad 0x47abedec8fddb340, 0x47c6c205655be720 - .quad 0x47ab39c8d3276d8a, 0x47c6473b5b15a7a1 - .quad 0x47aa8973c4b5c03e, 0x47c5ce595c455b0a - .quad 0x47a9dcde2f93a207, 0x47c5575c8a468362 - .quad 0x47a933f8f6375f2c, 0x47c4e241e912c305 - .quad 0x47a88eb51369acb9, 0x47c46f066040a832 - .quad 0x47a7ed039b24c96b, 0x47c3fda6bc016994 - .quad 0x47a74ed5bb6bb581, 0x47c38e1fae1d6a9d - .quad 0x47a6b41cbd198bc8, 0x47c3206dceef5f87 - .quad 0x47a61cca04a90795, 0x47c2b48d9e5dea1c - .quad 0x47a588cf12f4446b, 0x47c24a7b84d38971 - .quad 0x47a4f81d85ecc55b, 0x47c1e233d434b813 - .quad 0x47a46aa7194bd324, 0x47c17bb2c8d41535 - .quad 0x47a3e05da73b4159, 0x47c116f48a6476cc - .quad 0x47a3593328f6abbe, 0x47c0b3f52ce8c383 - .quad 0x47a2d519b7653e1e, 0x47c052b0b1a174ea - .quad 0x47a254038bac19d6, 0x47bfe6460fef4680 - .quad 0x47a1d5e2ffb96d40, 0x47bf2a901ccafb37 - .quad 0x47a15aaa8ec85205, 0x47be723726b824a9 - .quad 0x47a0e24cd5dd8846, 0x47bdbd32ac4c99b0 - .quad 0x47a06cbc943d255a, 0x47bd0b7a0f921e7c - .quad 0x479ff3d957b29b39, 0x47bc5d0497c09e74 - .quad 0x479f13a043742333, 0x47bbb1c972f23e50 - .quad 0x479e38b43cbd0f0f, 0x47bb09bfb7d11a84 - .quad 0x479d62fbdc2e756b, 0x47ba64de673e8837 - .quad 0x479c925e02b41668, 0x47b9c31c6df3b1b8 - .quad 0x479bc6c1da1f3121, 0x47b92470a61b6965 - .quad 0x479b000ed5b4a626, 0x47b888d1d8e510a3 - .quad 0x479a3e2cb2ae9edb, 0x47b7f036c0107294 - .quad 0x4799810378b1f299, 0x47b75a96077274ba - .quad 0x4798c87b7a37834f, 0x47b6c7e64e7281cb - .quad 0x4798147d54e9cc33, 0x47b6381e2980956b - .quad 0x479764f1f1f6ddea, 0x47b5ab342383d178 - .quad 0x4796b9c28657041a, 0x47b5211ebf41880b - .quad 0x479612d893085125, 0x47b499d478bca735 - .quad 0x4795701de53f4d2e, 0x47b4154bc68d75c3 - .quad 0x4794d17c968d062b, 0x47b3937b1b31925a - .quad 0x479436df0cfabf1d, 0x47b31458e6542847 - .quad 0x4793a02ffb1b7cee, 0x47b297db960e4f63 - .quad 0x47930d5a6013afc5, 0x47b21df9981f8e53 - .quad 0x47927e49879737d3, 0x47b1a6a95b1e786f - .quad 0x4791f2e909de04d2, 0x47b131e14fa1625d - .quad 0x47916b24cb8f8f92, 0x47b0bf97e95f2a64 - .quad 0x4790e6e8fda56cf7, 0x47b04fc3a0481321 - .quad 0x479066221d4539d8, 0x47afc4b5e32d6259 - .quad 0x478fd179e7243e3c, 0x47aeeea8c1b1db94 - .quad 0x478edd4d2aec5adb, 0x47ae1d4cf1e2450a - .quad 0x478def98c6c79efa, 0x47ad508f9a1ea64f - .quad 0x478d0838121f2418, 0x47ac885df3451a07 - .quad 0x478c2706fa45005e, 0x47abc4a54a84e834 - .quad 0x478b4be201caa4b4, 0x47ab055303221015 - .quad 0x478a76a63fc95c79, 0x47aa4a549829587e - .quad 0x4789a7315f1d6a55, 0x47a993979e14fffe - .quad 0x4788dd619d943ca1, 0x47a8e109c4622913 - .quad 0x47881915cb0e3323, 0x47a83298d717210e - .quad 0x47875a2d48946eb1, 0x47a78832c03aa2b1 - .quad 0x4786a08807632262, 0x47a6e1c5893c380b - .quad 0x4785ec0687e8dcb2, 0x47a63f3f5c4de13b - .quad 0x47853c89d8bb3ddb, 0x47a5a08e85af27e0 - .quad 0x478491f395818f54, 0x47a505a174e9c929 - .quad 0x4783ec25e5d5af12, 0x47a46e66be002240 - .quad 0x47834b037c1bbfc5, 0x47a3dacd1a8d8cce - .quad 0x4782ae6f94510dd8, 0x47a34ac36ad8dafe - .quad 0x4782164df2d29765, 0x47a2be38b6d92415 - .quad 0x47818282e31ba3e8, 0x47a2351c2f2d1449 - .quad 0x4780f2f3367cd6aa, 0x47a1af5d2e04f3f6 - .quad 0x4780678442cc256f, 0x47a12ceb37ff9bc3 - .quad 0x477fc037c21c3622, 0x47a0adb5fcfa8c75 - .quad 0x477eb940d8319831, 0x47a031ad58d56279 - .quad 0x477db9f17e61c310, 0x479f7182a851bca2 - .quad 0x477cc218694238a2, 0x479e85c449e377f3 - .quad 0x477bd18548996419, 0x479da0005e5f28df - .quad 0x477ae808c479c371, 0x479cc0180af00a8b - .quad 0x477a05747a543aa7, 0x479be5ecd2fcb5f9 - .quad 0x4779299afa0246a6, 0x479b1160991ff737 - .quad 0x4778544fc2c8c1da, 0x479a4255a00b9f03 - .quad 0x477785674053e8b9, 0x479978ae8b55ce1b - .quad 0x4776bcb6c7ad4854, 0x4798b44e6031383e - .quad 0x4775fa14942c3d54, 0x4797f5188610ddc8 - .quad 0x47753d57c461a5a7, 0x47973af0c737bb45 - .quad 0x4774865856ff632a, 0x479685bb5134ef13 - .quad 0x4773d4ef27bc49a6, 0x4795d55cb54cd53a - .quad 0x477328f5ec350e67, 0x479529b9e8cf9a1e - .quad 0x4772824730cacbb4, 0x479482b8455dc491 - .quad 0x4771e0be557fa673, 0x4793e03d891b37de - .quad 0x477144378ad22027, 0x4793422fd6d12e2b - .quad 0x4770ac8fce979b96, 0x4792a875b5ffab56 - .quad 0x477019a4e8d69649, 0x479212f612dee7fb - .quad 0x476f16aad1422a55, 0x479181983e5133dd - .quad 0x476e030141df7d25, 0x4790f443edc5ce49 - .quad 0x476cf80d4afc3019, 0x47906ae13b0d3255 - .quad 0x476bf5908f50b4a0, 0x478fcab1483ea7fc - .quad 0x476afb4e269693df, 0x478ec72615a894c4 - .quad 0x476a090a974cfebe, 0x478dcaf3691fc448 - .quad 0x47691e8bd0830a74, 0x478cd5ec93c12432 - .quad 0x47683b9923a85f7b, 0x478be7e5ac24963b - .quad 0x47675ffb3e6519a0, 0x478b00b38d6b3575 - .quad 0x47668b7c2479902d, 0x478a202bd6372dce - .quad 0x4765bde729a6b60f, 0x47894624e78e0faf - .quad 0x4764f708eb9fba63, 0x47887275e3a6869e - .quad 0x476436af4c058acb, 0x4787a4f6aca256cb - .quad 0x47637ca96a6cd1d4, 0x4786dd7fe3358230 - .quad 0x4762c8c79e6f04a3, 0x47861beae53b72b7 - .quad 0x47621adb71c70c75, 0x47856011cc3b036d - .quad 0x476172b79a7a1181, 0x4784a9cf6bda3f4c - .quad 0x4760d02ff50ce651, 0x4783f8ff5042a88e - .quad 0x476033197ec68c0e, 0x47834d7dbc76d7e5 - .quad 0x475f3694a0008381, 0x4782a727a89a3f14 - .quad 0x475e11332d0714c5, 0x478205dac02bd6b9 - .quad 0x475cf5bf1fed1e70, 0x4781697560347b26 - .quad 0x475be3eb08ae7c20, 0x4780d1d69569b82d - .quad 0x475adb6b810af9e2, 0x47803ede1a45bfee - .quad 0x4759dbf721b98dfa, 0x477f60d8aa2a88f2 - .quad 0x4758e54677bb0151, 0x477e4cc4abf7d065 - .quad 0x4757f713f9cc9784, 0x477d4143a9dfe965 - .quad 0x4757111bfdfb3ce0, 0x477c3e1a5f5c077c - .quad 0x4756331caf57b5db, 0x477b430ecf4a83a8 - .quad 0x47555cd603cc4150, 0x477a4fe83fb9db25 - .quad 0x47548e09b21414bf, 0x4779646f35a76624 - .quad 0x4753c67b27d50fe7, 0x4778806d70b2fc36 - .quad 0x475305ef7fdbfb95, 0x4777a3ade6c8b3e5 - .quad 0x47524c2d787b9e37, 0x4776cdfcbfc1e263 - .quad 0x475198fd6a0ee7bd, 0x4775ff2750fe7820 - .quad 0x4750ec293d9e6d85, 0x477536fc18f7ce5c - .quad 0x4750457c63a96690, 0x4774754abacdf1dc - .quad 0x474f49879624a021, 0x4773b9e3f9d06e3f - .quad 0x474e139bb05eb49e, 0x47730499b503957f - .quad 0x474ce8d4b7fd6c70, 0x4772553ee2a336bf - .quad 0x474bc8d516fda8ba, 0x4771aba78ba3af89 - .quad 0x474ab341ee553e25, 0x477107a8c7323a6e - .quad 0x4749a7c305336484, 0x47706918b6355624 - .quad 0x4748a602b88919c0, 0x476f9f9cfd9c3035 - .quad 0x4747adadead962ed, 0x476e77448fb66bb9 - .quad 0x4746be73f45149fb, 0x476d58da68fd1170 - .quad 0x4745d80693276a6d, 0x476c4412bf4b8f0b - .quad 0x4744fa19dc42d409, 0x476b38a3af2e55b4 - .quad 0x474424642c28ff75, 0x476a3645330550ff - .quad 0x4743569e18328604, 0x47693cb11a30d765 - .quad 0x47429082600643fd, 0x47684ba3004a50d0 - .quad 0x4741d1cddf5a82de, 0x476762d84469c18f - .quad 0x47411a3f7ffbbfea, 0x4766821000795a03 - .quad 0x474069982c189a9e, 0x4765a90b00981d93 - .quad 0x473f7f3581a4dc2c, 0x4764d78bba8ca5fd - .quad 0x473e381802242163, 0x47640d564548fad7 - .quad 0x473cfd6511405b2d, 0x47634a305080681f - .quad 0x473bcead7f01492f, 0x47628de11c5031eb - .quad 0x473aab859b20ac9e, 0x4761d83170fbf6fb - .quad 0x473993851cc9779a, 0x476128eb96be8798 - .quad 0x473886470ad946a7, 0x47607fdb4dafea5f - .quad 0x47378369a4a2cbd6, 0x475fb99b8b8279e1 - .quad 0x47368a8e4b2fc8c2, 0x475e7f232d9e2630 - .quad 0x47359b596b012aaa, 0x475d4fed7195d7e8 - .quad 0x4734b572664bd2dc, 0x475c2b9cf7f893bf - .quad 0x4733d8837fb08d1d, 0x475b11d702b3deb2 - .quad 0x47330439c56dadf6, 0x475a024365f771bd - .quad 0x47323844fd08cb93, 0x4758fc8c794b03b5 - .quad 0x473174578f6efd5d, 0x4758005f08d6f1ef - .quad 0x4730b826758a086b, 0x47570d6a46e07dda - .quad 0x473003692548d98b, 0x4756235fbd7a4345 - .quad 0x472eabb2fe335196, 0x475541f340697987 - .quad 0x472d5e6777a83c2a, 0x475468dadf4080ab - .quad 0x472c1e6cb6239574, 0x475397ced7af2b15 - .quad 0x472aeb4423e690e7, 0x4752ce898809244e - .quad 0x4729c47374a0974e, 0x47520cc76202c5fb - .quad 0x4728a98484a1e8d3, 0x47515246dda49d47 - .quad 0x47279a0538dd4fc7, 0x47509ec86c75d497 - .quad 0x472695875fb574a0, 0x474fe41cd9bb4eee - .quad 0x47259ba0929261c5, 0x474e97ba3b77f306 - .quad 0x4724abea183bc470, 0x474d57f524723822 - .quad 0x4723c600c7f477c5, 0x474c245d4b99847a - .quad 0x4722e984ed53e777, 0x474afc85e0f82e12 - .quad 0x4722161a2cd9d894, 0x4749e005769dbc1d - .quad 0x47214b67693928cf, 0x4748ce75e9f6f8a0 - .quad 0x47208916a9561720, 0x4747c7744d9378f7 - .quad 0x471f9da9fde95755, 0x4746caa0d3582fe9 - .quad 0x471e38a4dc27b11b, 0x4745d79eb71e893b - .quad 0x471ce283a9e3e330, 0x4744ee1429bf7cc0 - .quad 0x471b9ab1a96e3b3e, 0x47440daa3c89f5b6 - .quad 0x471a609f7584d32b, 0x4743360ccd23db3a - .quad 0x471933c2d52c56c9, 0x474266ea71d4f71a - .quad 0x4718139690c0d187, 0x47419ff4663ae9df - .quad 0x4716ff9a4837fa43, 0x4740e0de78654d1e - .quad 0x4715f7524a8e81a2, 0x4740295ef6591848 - .quad 0x4714fa476e59f668, 0x473ef25d37f49fe1 - .quad 0x47140806eb78e353, 0x473da01102b5f851 - .quad 0x4713202235dada50, 0x473c5b5412dcafad - .quad 0x4712422ed95a3235, 0x473b23a5a23e4210 - .quad 0x47116dc656a14df6, 0x4739f8893d8fd1c1 - .quad 0x4710a2860115569c, 0x4738d986a4187285 - .quad 0x470fc01dbb80c841, 0x4737c629a822bc9e - .quad 0x470e4c0b066a4970, 0x4736be02102b3520 - .quad 0x470ce823f4cc4bad, 0x4735c0a378c90bca - .quad 0x470b93bf40d5eccb, 0x4734cda5374ea275 - .quad 0x470a4e3a125adc76, 0x4733e4a23d1f4703 - .quad 0x470916f7c5f2f764, 0x47330538fbb77ecd - .quad 0x4707ed61b5d3db0a, 0x47322f0b496539be - .quad 0x4706d0e7045988cb, 0x473161be46ad3b50 - .quad 0x4705c0fc68335b0c, 0x47309cfa445b00ff - .quad 0x4704bd1bfa2aba3d, 0x472fc0d55470cf51 - .quad 0x4703c4c504792bf8, 0x472e577bbcd49935 - .quad 0x4702d77bd3a382bc, 0x472cfd4a5adec5c0 - .quad 0x4701f4c988d02149, 0x472bb1a9657ce465 - .quad 0x47011c3bed8e716a, 0x472a740684026555 - .quad 0x47004d654905dad0, 0x472943d4a1d1ed39 - .quad 0x46ff0fb86d056745, 0x4728208bc334a6a5 - .quad 0x46fd9676faafa27f, 0x472709a8db59f25c - .quad 0x46fc2e43d417197b, 0x4725feada379d8b7 - .quad 0x46fad664518e771b, 0x4724ff207314a102 - .quad 0x46f98e25420092da, 0x47240a8c1949f75e - .quad 0x46f854daa4a49b0f, 0x4723207fb7420eb9 - .quad 0x46f729df6503422a, 0x4722408e9ba3327f - .quad 0x46f60c95193c542d, 0x47216a501f0e42ca - .quad 0x46f4fc63c27c71ae, 0x47209d5f819c9e29 - .quad 0x46f3f8b98f93052a, 0x471fb2b792b40a22 - .quad 0x46f3010aa198de78, 0x471e3bcf436a1a95 - .quad 0x46f214d0d2983650, 0x471cd55277c18d05 - .quad 0x46f1338b7e273194, 0x471b7e94604479dc - .quad 0x46f05cbf4be650ab, 0x471a36eec00926dd - .quad 0x46ef1febf7a916aa, 0x4718fdc1b2dcf7b9 - .quad 0x46ed997c68d65936, 0x4717d2737527c3f9 - .quad 0x46ec2556a4e7a90f, 0x4716b4702d7d5849 - .quad 0x46eac2aa7516ade4, 0x4715a329b7d30748 - .quad 0x46e970b05888fda2, 0x47149e17724f4d41 - .quad 0x46e82ea92dbc1a27, 0x4713a4b60ba9aa4e - .quad 0x46e6fbdddeff308f, 0x4712b6875310f785 - .quad 0x46e5d79f11e27f6b, 0x4711d312098e9dba - .quad 0x46e4c144d984e1b8, 0x4710f9e1b4dd36df - .quad 0x46e3b82e6ba892a4, 0x47102a8673a94692 - .quad 0x46e2bbc1d878d272, 0x470ec929a665b449 - .quad 0x46e1cb6bc4eaa678, 0x470d4f4b4c8e09ed - .quad 0x46e0e69f27a37df3, 0x470be6abbb10a5aa - .quad 0x46e00cd508511266, 0x470a8e8cc1fadef6 - .quad 0x46de7b1882bccac5, 0x47094637d5bacfdb - .quad 0x46dcf09287e48bb9, 0x47080cfdc72220cf - .quad 0x46db792bbc489b04, 0x4706e2367dc27f95 - .quad 0x46da140206ab9450, 0x4705c540b4936fd2 - .quad 0x46d8c03d2d39119b, 0x4704b581b8d170fc - .quad 0x46d77d0e6e5bed21, 0x4703b2652b06c2b2 - .quad 0x46d649b01d73110a, 0x4702bb5cc22e5db6 - .quad 0x46d525654343aad2, 0x4701cfe010e2052d - .quad 0x46d40f79420887c7, 0x4700ef6c4c84a0fe - .quad 0x46d3073f7cff4a85, 0x47001984165a5f36 - .quad 0x46d20c1303550f0e, 0x46fe9b5e8d00ce77 - .quad 0x46d11d563e54f40e, 0x46fd16f5716c6c1a - .quad 0x46d03a72a2bbdc06, 0x46fba4f035d60e03 - .quad 0x46cec5b0ca2b20f5, 0x46fa447b7b03f045 - .quad 0x46cd2bfc6210880a, 0x46f8f4ccca7fc90d - .quad 0x46cba6c1c6e87c40, 0x46f7b5223dac7336 - .quad 0x46ca35068e9c89cf, 0x46f684c227fcacef - .quad 0x46c8d5dbaa383b98, 0x46f562fac4329b48 - .quad 0x46c7885ce9f67cdb, 0x46f44f21e49054f2 - .quad 0x46c64bb0863504dd, 0x46f34894a5e24657 - .quad 0x46c51f06ad20e4c3, 0x46f24eb7254ccf83 - .quad 0x46c4019914f0b53a, 0x46f160f438c70913 - .quad 0x46c2f2aa92823e80, 0x46f07ebd2a2d2844 - .quad 0x46c1f186b432c98b, 0x46ef4f12e9ab070a - .quad 0x46c0fd8160ca94a0, 0x46edb5ad0b27805c - .quad 0x46c015f67a552924, 0x46ec304efa2c6f4e - .quad 0x46be749309831666, 0x46eabe09e9144b5e - .quad 0x46bcd3caa04cdd1b, 0x46e95df988e76644 - .quad 0x46bb48774d0f8e45, 0x46e80f439b4ee04b - .quad 0x46b9d189f9f85cbf, 0x46e6d11788a69c64 - .quad 0x46b86e0050236315, 0x46e5a2adfa0b4bc4 - .quad 0x46b71ce426a561d3, 0x46e4834877429b8f - .quad 0x46b5dd4af79906a9, 0x46e37231085c7d9a - .quad 0x46b4ae555af52cdf, 0x46e26eb9daed6f7e - .quad 0x46b38f2e86f38216, 0x46e1783ceac28910 - .quad 0x46b27f0bd5d0e6b1, 0x46e08e1badf0fced - .quad 0x46b17d2c50b2bfaf, 0x46df5f7d88472604 - .quad 0x46b088d83f7e4069, 0x46ddb92b5212fb8d - .quad 0x46af42c17ae0ebf6, 0x46dc282cd3957eda - .quad 0x46ad8c3ea48f2889, 0x46daab7abace48dc - .quad 0x46abeceb1f9f5b3d, 0x46d94219bfcb4928 - .quad 0x46aa6399674d366b, 0x46d7eb1a2075864e - .quad 0x46a8ef2a9a18d857, 0x46d6a597219a93da - .quad 0x46a78e8dcd2e6bfd, 0x46d570b69502f313 - .quad 0x46a640bf6745325e, 0x46d44ba864670882 - .quad 0x46a504c882a97424, 0x46d335a62115bce2 - .quad 0x46a3d9be56279ee9, 0x46d22df298214423 - .quad 0x46a2bec1a4917edb, 0x46d133d96ae7e0dd - .quad 0x46a1b2fe32991d5c, 0x46d046aeabcfcdec - .quad 0x46a0b5aa42bf5054, 0x46cecb9cfe1d8642 - .quad 0x469f8c0c2e2ce8de, 0x46cd21397ead99cb - .quad 0x469dc6b6f1384e18, 0x46cb8d094c86d374 - .quad 0x469c19fa87de37fb, 0x46ca0df0f0c626dc - .quad 0x469a848df650bea7, 0x46c8a2e269750a39 - .quad 0x46990538b942ea7c, 0x46c74adc8f4064d3 - .quad 0x46979ad1fce5b3d8, 0x46c604ea819f007c - .quad 0x4696443fdcf0c327, 0x46c4d0231928c6f9 - .quad 0x46950076ad55cc39, 0x46c3aba85fe22e20 - .quad 0x4693ce784b411931, 0x46c296a70f414053 - .quad 0x4692ad53760d7287, 0x46c1905613b3abf2 - .quad 0x46919c232fd50b88, 0x46c097f6156f32c5 - .quad 0x46909a0e254c75e0, 0x46bf59a20caf6695 - .quad 0x468f4c8c392fb944, 0x46bd9c73698fb1dc - .quad 0x468d800ed59bd026, 0x46bbf716c6168bae - .quad 0x468bcd30dfbd611b, 0x46ba6852c6b58392 - .quad 0x468a32923130213f, 0x46b8eefd70594a89 - .quad 0x4688aee4cd06ec1b, 0x46b789fb715aae95 - .quad 0x468740ebfab80eb4, 0x46b6383f726a8e04 - .quad 0x4685e77b6bbd2127, 0x46b4f8c96f26a26a - .quad 0x4684a1766b6e5e8a, 0x46b3caa61607f920 - .quad 0x46836dcf18a6465c, 0x46b2acee2f5ecdb8 - .quad 0x46824b85a8bf0124, 0x46b19ec60b1242ed - .quad 0x468139a7b37f8475, 0x46b09f5cf4dd2877 - .quad 0x4680374f8792ca97, 0x46af5bd95d8730d8 - .quad 0x467e87470e4f4246, 0x46ad9371e2ff7c35 - .quad 0x467cbbab18b73217, 0x46abe41de54d155a - .quad 0x467b0a44aa2f067e, 0x46aa4c89e08ef4f3 - .quad 0x467971a1ec0f40c7, 0x46a8cb738399b12c - .quad 0x4677f064a8ba8323, 0x46a75fa8dbc84bec - .quad 0x467685414c16188e, 0x46a608078a70dcbc - .quad 0x46752efdf060cd20, 0x46a4c37c0394d094 - .quad 0x4673ec7176d784b5, 0x46a39100d5687bfe - .quad 0x4672bc82ab9d2302, 0x46a26f9df8519bd7 - .quad 0x46719e2774614040, 0x46a15e6827001f18 - .quad 0x467090640946d2d5, 0x46a05c803e4831c1 - .quad 0x466f24946f22d5ae, 0x469ed22548cffd35 - .quad 0x466d45f15b49b35e, 0x469d06ad6ecdf971 - .quad 0x466b83349fd05191, 0x469b551c847fbc96 - .quad 0x4669dacb2c432ef4, 0x4699bc09f112b494 - .quad 0x46684b37e1cbf8eb, 0x46983a1ff0aa239d - .quad 0x4666d3126d74b6cc, 0x4696ce1aa3fd7bdd - .quad 0x4665710631158bff, 0x469576c72b514859 - .quad 0x466423d13a3b73e1, 0x46943302cc4a0da8 - .quad 0x4662ea43465e3995, 0x469301ba221dc9bb - .quad 0x4661c33cd3c37add, 0x4691e1e857adc568 - .quad 0x4660adae3e73c2b5, 0x4690d2966b1746f7 - .quad 0x465f512dd15b73b7, 0x468fa5b4f49cc6b2 - .quad 0x465d6608dc942687, 0x468dc3ae30b55c16 - .quad 0x465b9823c51276e1, 0x468bfd7555a3bd68 - .quad 0x4659e5ce2f93dd76, 0x468a517d9e61628a - .quad 0x46584d6fe15b6b93, 0x4688be4f8f6c951f - .quad 0x4656cd87746bc76b, 0x46874287ded49339 - .quad 0x465564a91cd221f0, 0x4685dcd669f2cd34 - .quad 0x4654117d7e2c667d, 0x46848bfd38302871 - .quad 0x4652d2c0909ebeb9, 0x46834ecf8a3c124a - .quad 0x4651a7409475f2f9, 0x46822430f521cbcf - .quad 0x46508ddd13bd35e7, 0x46810b1488aeb235 - .quad 0x464f0b0be22d18e8, 0x4680027c00a263a6 - .quad 0x464d1a75065a8c74, 0x467e12ee004efc37 - .quad 0x464b48117843c1c7, 0x467c3e44ae32b16b - .quad 0x46499218b8ac7f8e, 0x467a854ea14102a8 - .quad 0x4647f6dc6010b4ad, 0x4678e6761569f45d - .quad 0x464674c6ae60d852, 0x4677603bac345f65 - .quad 0x46450a592e3c968e, 0x4675f1353cdad001 - .quad 0x4643b62b6aafb0c8, 0x4674980cb3c80949 - .quad 0x464276e9b681072f, 0x4673537f00b6ad4d - .quad 0x46414b54042f445b, 0x4672225b12bffc68 - .quad 0x4640323ccdc1a3dc, 0x46710380e1adb7e9 - .quad 0x463e5510173b9a50, 0x466febc107d5efaa - .quad 0x463c6654733b86ad, 0x466df0f2a0ee6947 - .quad 0x463a964ed354f984, 0x466c14b2188bcee4 - .quad 0x4638e324c651b064, 0x466a553644f7f07d - .quad 0x46374b179d1eba81, 0x4668b0cfce0579e0 - .quad 0x4635cc82d9070d95, 0x466725e7c5dd20f7 - .quad 0x463465daafca8b1d, 0x4665b2fe547a1340 - .quad 0x463315aaa46df48e, 0x466456a974e92e93 - .quad 0x4631da9433aebbcf, 0x46630f93c3699078 - .quad 0x4630b34d93135fc0, 0x4661dc7b5b978cf8 - .quad 0x462f3d41033c44cc, 0x4660bc30c5d52f15 - .quad 0x462d36d25268cd2b, 0x465f5b2be65a0c7f - .quad 0x462b512a1fb1d8fc, 0x465d5f3a8dea7357 - .quad 0x46298a442fc4fc15, 0x465b82915b03515b - .quad 0x4627e03b1cc6d738, 0x4659c3517e789488 - .quad 0x462651468e010b8a, 0x46581fb7df06136e - .quad 0x4624dbb989001d84, 0x4656961b8d641d06 - .quad 0x46237e00dac4e8b5, 0x465524ec4d916cae - .quad 0x462236a197bf0b9a, 0x4653cab1343d18d1 - .quad 0x46210437b1569d7e, 0x4652860757487a01 - .quad 0x461fcae93fb7323c, 0x465155a09065d4f7 - .quad 0x461db23c3f816f92, 0x4650384250e4c9fc - .quad 0x461bbc1a022c14d4, 0x464e59890b926c78 - .quad 0x4619e658108af2e0, 0x464c642116a8a9e3 - .quad 0x46182eedbe410407, 0x464a8e405e651ab6 - .quad 0x461693f22ab61ce9, 0x4648d5f98114f872 - .quad 0x4615139a5f3661fb, 0x4647397c5a66e307 - .quad 0x4613ac3788a1b429, 0x4645b71456c5a4c4 - .quad 0x46125c354b26cb4e, 0x46444d26de513197 - .quad 0x461122182e9a270f, 0x4642fa31d6371537 - .quad 0x460ff8f84418d510, 0x4641bcca373b7b43 - .quad 0x460dd4262aac53e8, 0x4640939ab853339f - .quad 0x460bd3474ec16ca5, 0x463efac5187b2863 - .quad 0x4609f40fd0082b72, 0x463cf1e86235d0e7 - .quad 0x4608345858c4438d, 0x463b0a68a2128bab - .quad 0x4606921be96b86b1, 0x4639423165bc4444 - .quad 0x46050b75c536f927, 0x4637974e743dea3d - .quad 0x46039e9f7dcbe479, 0x463607e9eacd1050 - .quad 0x460249ef1c3be817, 0x4634924a74dec729 - .quad 0x46010bd565b35393, 0x463334d19e0c2160 - .quad 0x45ffc5b8748842b2, 0x4631edfa3c5f5cca - .quad 0x45fd9b4a18a38642, 0x4630bc56f1b54701 - .quad 0x45fb95cede6d524b, 0x462f3d2185e047d9 - .quad 0x45f9b2df77a02225, 0x462d26cb87945e87 - .quad 0x45f7f03b935e8e3a, 0x462b334fac4b9f99 - .quad 0x45f64bc777824f0e, 0x46296076f7918d1c - .quad 0x45f4c389be9acb83, 0x4627ac2d72fc2c63 - .quad 0x45f355a9387de78c, 0x462614801550319e - .quad 0x45f2006aeb6bc768, 0x4624979ac8b28927 - .quad 0x45f0c23033e2a376, 0x462333c68e2d0548 - .quad 0x45ef32ea02b55d23, 0x4621e767bce37dd7 - .quad 0x45ed099c5c770f5a, 0x4620b0fc5b6d05a0 - .quad 0x45eb05cfe2e99435, 0x461f1e3523b41d7d - .quad 0x45e92508d0743fc9, 0x461d00de6608effe - .quad 0x45e764f46cf19f9c, 0x461b0778b7b3301b - .quad 0x45e5c36679625a01, 0x46192fb04ec0f6cf - .quad 0x45e43e56c3e340a7, 0x46177756ec9f78fa - .quad 0x45e2d3dee1869201, 0x4615dc61922d5a06 - .quad 0x45e182380bd2f494, 0x46145ce65699ff6d - .quad 0x45e047b91fcb6491, 0x4612f71a5f159970 - .quad 0x45de45a9790460c1, 0x4611a94ff571654f - .quad 0x45dc242efeaca760, 0x461071f4bbea09ec - .quad 0x45da284cb82c31ce, 0x460e9f1ff8ddd774 - .quad 0x45d84f7a1eb7f7f3, 0x460c818223a202c7 - .quad 0x45d697595326d7dc, 0x460a887bd2b4404d - .quad 0x45d4fdb462549af1, 0x4608b1a336c5eb6b - .quad 0x45d3807ab51436a8, 0x4606fab63324088a - .quad 0x45d21dbea9108398, 0x46056197e30205ba - .quad 0x45d0d3b35021d695, 0x4603e44e45301b92 - .quad 0x45cf4154a787cc1b, 0x460281000bfe4c3f - .quad 0x45cd0623f4f4a28f, 0x460135f28f2d50b4 - .quad 0x45caf2e69a262610, 0x46000187dded5975 - .quad 0x45c904e0b3aa82a3, 0x45fdc479de0ef001 - .quad 0x45c73985278fa30e, 0x45fbad4fdad3caa1 - .quad 0x45c58e7298af87d9, 0x45f9baed3ed27ab8 - .quad 0x45c401708b7e64c6, 0x45f7ead9ce4285bb - .quad 0x45c2906cb94eb40d, 0x45f63ac6b4edc88e - .quad 0x45c139788f2dd663, 0x45f4a88be2a6390c - .quad 0x45bff58dab4f2a79, 0x45f332259185f1a0 - .quad 0x45bda552fdd03043, 0x45f1d5b1f3793044 - .quad 0x45bb7f1f31b571b6, 0x45f0916f04b6e18b - .quad 0x45b98006c2117e39, 0x45eec77101de6926 - .quad 0x45b7a550f03b145b, 0x45ec960bf23153e0 - .quad 0x45b5ec74662c5961, 0x45ea8bd20fc65ef7 - .quad 0x45b453141082302a, 0x45e8a61745ec7d1d - .quad 0x45b2d6fc2c9e8bc0, 0x45e6e25d0e756261 - .quad 0x45b1761f87a6dc3d, 0x45e53e4f7d1666cb - .quad 0x45b02e94eb4ac8a5, 0x45e3b7c27a7ddb0e - .quad 0x45adfd296adef82a, 0x45e24caf2c32af14 - .quad 0x45abc8ed301215eb, 0x45e0fb3186804d0f - .quad 0x45a9bd5efd2c0f15, 0x45df830c0bb41fd7 - .quad 0x45a7d79f2db2d4a5, 0x45dd3c0f1a91c846 - .quad 0x45a61500f5293f06, 0x45db1e5acf351d87 - .quad 0x45a47306f04df3d6, 0x45d92712d259ce66 - .quad 0x45a2ef5ff0323b28, 0x45d7538c60a04476 - .quad 0x45a187e3fb74914d, 0x45d5a14b04b47879 - .quad 0x45a03a918225a966, 0x45d40dfd87456f4c - .quad 0x459e0b15822be4e0, 0x45d2977b1172b9d5 - .quad 0x459bce26a2fb7176, 0x45d13bc07e891491 - .quad 0x4599bb1bc445c3c6, 0x45cff1dbb4300811 - .quad 0x4597cef42e9a617d, 0x45cd9a880f306bd8 - .quad 0x459606e51e0a4963, 0x45cb6e45220b55e0 - .quad 0x459460560e841d79, 0x45c96a0b33f2c4da - .quad 0x4592d8dd47a40ad8, 0x45c78b07e9e924ac - .quad 0x45916e3ca3d4393f, 0x45c5ce9ab1670dd2 - .quad 0x45901e5e8edda47b, 0x45c4325167006bb0 - .quad 0x458dcea670907819, 0x45c2b3e53538ff3f - .quad 0x458b8e9bec48816d, 0x45c15137a7f44864 - .quad 0x45897945aa1c9c35, 0x45c0084ff125639d - .quad 0x45878b88a4e7107b, 0x45bdaeb0b7311ec7 - .quad 0x4585c2827c986b62, 0x45bb7937d1c40c53 - .quad 0x45841b858361b0fe, 0x45b96d082f59ab06 - .quad 0x458294150fb19119, 0x45b7872d9fa10aad - .quad 0x458129e20e732adc, 0x45b5c4e8e37bc7d0 - .quad 0x457fb58fa290d436, 0x45b423ac0df49a40 - .quad 0x457d499229819bc6, 0x45b2a117230ad284 - .quad 0x457b0c1a759f7739, 0x45b13af4f04f9998 - .quad 0x4578f9bb6c075486, 0x45afde703724e560 - .quad 0x45770f4744735c2b, 0x45ad77f0c82e7641 - .quad 0x457549cb0f7ef8e2, 0x45ab3ee02611d7dd - .quad 0x4573a68a8c1234e1, 0x45a92ff33023d5bd - .quad 0x457222fc469e8b8c, 0x45a7481a9e69f53f - .quad 0x4570bcc5fd30f1dd, 0x45a5847eda620959 - .quad 0x456ee3728761897b, 0x45a3e27c1fcc74bd - .quad 0x456c7fa0c7e3bac7, 0x45a25f9ee0b923dc - .quad 0x456a4a56eb132a54, 0x45a0f9a068653200 - .quad 0x4568401b5336a8a0, 0x459f5cc7718082b0 - .quad 0x45665db58e2358c1, 0x459cf7e53d6a2ca5 - .quad 0x4564a029a7ea7cd1, 0x459ac0f5f3229372 - .quad 0x456304b3d1961171, 0x4598b498644847ea - .quad 0x456188c45630dc53, 0x4596cfa9bcca59dc - .quad 0x456029fbd8b92835, 0x45950f411d4fd2cd - .quad 0x455dcc4fabf32f1c, 0x459370ab8327af5e - .quad 0x455b767ecb334a7e, 0x4591f167f88c6b6e - .quad 0x45594ec06c0ff29f, 0x45908f24085d4597 - .quad 0x455751977e5803d3, 0x458e8f70e181d61a - .quad 0x45557bc950253825, 0x458c324c20e337dc - .quad 0x4553ca58b816a87f, 0x458a03261574b54e - .quad 0x45523a8197d2607e, 0x4587fe903cdf5855 - .quad 0x4550c9b4b0a6a16f, 0x4586215c58da3450 - .quad 0x454eeb27891d2bb3, 0x45846897d4b69fc6 - .quad 0x454c77dbfc848866, 0x4582d1877d731b7b - .quad 0x454a357936adf17b, 0x458159a386b11517 - .quad 0x4548203fa7992554, 0x457ffd27ae9393ce - .quad 0x454634b7f56b0a5c, 0x457d7c593130dd0b - .quad 0x45446fada7e6a5fe, 0x457b2cd607c79bcf - .quad 0x4542ce2a3690576b, 0x45790ae4d3405651 - .quad 0x45414d707280e6cf, 0x45771312dd1759e2 - .quad 0x453fd5f08ad2b29a, 0x4575422ef5d8949d - .quad 0x453d48d57f7718b7, 0x45739544b0ecc957 - .quad 0x453aef3ce0add578, 0x45720997f73e73dd - .quad 0x4538c52800f939c8, 0x45709ca0eaacd277 - .quad 0x4536c6e61e57bf9b, 0x456e9810295890ec - .quad 0x4534f10e8ebc44a9, 0x456c2b45b5aa4a1d - .quad 0x4533407b59d72a5b, 0x4569eee068fa7596 - .quad 0x4531b2443858c0a1, 0x4567df2b399c10a8 - .quad 0x453043b9f1621ff3, 0x4565f8b87a31bd85 - .quad 0x452de4c41eb96b45, 0x4564385c96e9a2d9 - .quad 0x452b77e5cbd5d147, 0x45629b2933ef4cbc - .quad 0x45293c9fc62bfb11, 0x45611e68a6378f8a - .quad 0x45272f0c4c8e9bff, 0x455f7f338086a86b - .quad 0x45254b92affb11af, 0x455cf8d7d9ce040a - .quad 0x45238ee17b150182, 0x455aa577251ae485 - .quad 0x4521f5e908f70e0c, 0x4558811d739efb5f - .quad 0x45207dd6833bb380, 0x45568823e52970be - .quad 0x451e481e7f6ac4bc, 0x4554b72ae68e8b4c - .quad 0x451bcc58edad5559, 0x45530b14dbe876bc - .quad 0x451983ee9896d582, 0x455181012ef86610 - .quad 0x45176aca47764427, 0x45501647ba798745 - .quad 0x45157d287836bd3d, 0x454d90e917701675 - .quad 0x4513b79118c097a1, 0x454b2a87e86d0c8a - .quad 0x451216d1b97279a9, 0x4548f53dcb377293 - .quad 0x451097f82fc04025, 0x4546ed2f2515e933 - .quad 0x450e709b415656d0, 0x45450ecc9ed47f19 - .quad 0x450beaa3d6c15504, 0x454356cd5ce7799e - .quad 0x4509996ed9b83967, 0x4541c229a587ab78 - .quad 0x450778be2bd9795b, 0x45404e15ecc7f3f6 - .quad 0x450584a99af8a842, 0x453deffc7e6a6017 - .quad 0x4503b99832cbefdd, 0x453b7b040832f310 - .quad 0x4502143a112d0466, 0x453938e021f36d76 - .quad 0x45009182b326b229, 0x4537258610b3b233 - .quad 0x44fe5d47637f5db5, 0x45353d3bfc82a909 - .quad 0x44fbd20fcc3b76d7, 0x45337c92babdc2fd - .quad 0x44f97c9dda748fc7, 0x4531e06010120f6a - .quad 0x44f7589207e91ad1, 0x453065b9616170d4 - .quad 0x44f561e669aa7fdb, 0x452e13dd96b3753b - .quad 0x44f394e7a2ac9fc7, 0x452b950d32467392 - .quad 0x44f1ee2e61eccc99, 0x45294a72263259a5 - .quad 0x44f06a996198f06f, 0x45272fd93e036cdc - .quad 0x44ee0e8fbad2703e, 0x45254164576929ab - .quad 0x44eb8328ee330ae9, 0x45237b83c521fe96 - .quad 0x44e92e21013a7670, 0x4521daf033182e96 - .quad 0x44e70aff489136eb, 0x45205ca50205d26a - .quad 0x44e515a7c77fab48, 0x451dfbb6235639fa - .quad 0x44e34a53ce0bbb6f, 0x451b7807e294781f - .quad 0x44e1a58b2b09fdcb, 0x4519298add70a734 - .quad 0x44e0241de6c31e5b, 0x45170beaf9c7ffb6 - .quad 0x44dd863cf753825c, 0x45151b2cd6709222 - .quad 0x44daffb906d0ae09, 0x451353a6cf7f7fff - .quad 0x44d8afbf9e9520c2, 0x4511b1fa8cbe84a7 - .quad 0x44d691c7c768bece, 0x4510330f0fd69921 - .quad 0x44d4a1a79df39cde, 0x450da81670f96f9b - .quad 0x44d2db8ca9009091, 0x450b24a16b4d09aa - .quad 0x44d13bf4cb384e4a, 0x4508d6eeb6efdbd6 - .quad 0x44cf7f4f88751db4, 0x4506ba91ac734786 - .quad 0x44ccc7626bced452, 0x4504cb7966770ab5 - .quad 0x44ca4ab6470c1c5c, 0x450305e9721d0981 - .quad 0x44c80451c2811052, 0x4501667311fff70a - .quad 0x44c5efa4d64f59f6, 0x44ffd3de10d62855 - .quad 0x44c40880373ed740, 0x44fd1aefbcd48d0c - .quad 0x44c24b0d7368076e, 0x44fa9cc93c25aca9 - .quad 0x44c0b3c7b0d960f0, 0x44f85487ee3ea735 - .quad 0x44be7eea02e4ed88, 0x44f63daf8b4b1e0c - .quad 0x44bbd6408059b696, 0x44f45421e69a6ca1 - .quad 0x44b96826d9e90341, 0x44f294175802d99a - .quad 0x44b72fa4fa12d516, 0x44f0fa17bf41068f - .quad 0x44b5282d2d5803fe, 0x44ef05e82aae2bb9 - .quad 0x44b34d935f1be064, 0x44ec578101b29058 - .quad 0x44b19c050c56d0d7, 0x44e9e39dc5dd2f7c - .quad 0x44b01001dd9c7cce, 0x44e7a553a728bbf2 - .quad 0x44ad4ca9b634ecba, 0x44e5982008db1304 - .quad 0x44aab81c5c80cf39, 0x44e3b7e00422e51b - .quad 0x44a85cfacb7477f2, 0x44e200c898d9ee3e - .quad 0x44a6365862923eb9, 0x44e06f5f7eb65a56 - .quad 0x44a43fb317b5dc37, 0x44de00e9148a1d25 - .quad 0x44a274ea96044bd7, 0x44db623734024e92 - .quad 0x44a0d23817479c67, 0x44d8fd4e01891bf8 - .quad 0x449ea84dd1592590, 0x44d6cd44c7470d89 - .quad 0x449bef1b1a12823e, 0x44d4cd9c04158cd7 - .quad 0x4499730edfda64ac, 0x44d2fa34bf5c8344 - .quad 0x44972ede3b7eaa25, 0x44d14f4890ff2461 - .quad 0x44951db1ec3a3087, 0x44cf92c49dfa4df5 - .quad 0x44933b1c9d1576ec, 0x44cccaaea71ab0df - .quad 0x44918311f8a03aca, 0x44ca40829f001197 - .quad 0x448fe3bcf4629fea, 0x44c7eef13b59e96c - .quad 0x448d083fda665164, 0x44c5d11e1a252bf5 - .quad 0x448a6d7d18831888, 0x44c3e296303b2297 - .quad 0x44880dcd6603df1b, 0x44c21f47009f43ce - .quad 0x4485e4062d5b6a4e, 0x44c083768c5e4542 - .quad 0x4483eb6ef47c2758, 0x44be1777d831265f - .quad 0x44821fb7a81c5444, 0x44bb69f10b0191b5 - .quad 0x44807cefb734d68b, 0x44b8f8a3a05b5b53 - .quad 0x447dfefbdb19ac7e, 0x44b6be573c40c8e7 - .quad 0x447b4831fb123440, 0x44b4b645ba991fdb - .quad 0x4478cf81557d20b6, 0x44b2dc119095729f - .quad 0x44768f6f0feb4755, 0x44b12bbcfa4d62de - .quad 0x447482fa78c40635, 0x44af4343c7d504b9 - .quad 0x4472a59289a484fb, 0x44ac74d4fe1e0e8b - .quad 0x4470f30c4d0be5c0, 0x44a9e614ecbf4af6 - .quad 0x446ecf3428c48d4f, 0x44a791716475420c - .quad 0x446bff86d9ec8499, 0x44a571d34563050a - .quad 0x446970bb87f4ae14, 0x44a3829407a207d8 - .quad 0x44671d0b55b79b86, 0x44a1bf74244aed5a - .quad 0x4464ff315d036fbd, 0x44a024924c7520d1 - .quad 0x4463125f6a3d2570, 0x449d5cc6ba567f29 - .quad 0x44615233ae8815f2, 0x449ab3560167ccaa - .quad 0x445f755ea760487d, 0x449846e9dda7a163 - .quad 0x445c905bbd9ab5a6, 0x4496121d7db32bdd - .quad 0x4459eebaa0589b4e, 0x449410047ead6894 - .quad 0x44578a6de0f41b89, 0x44923c2090cdde78 - .quad 0x44555df1790f2f61, 0x44909257fca001c0 - .quad 0x4453643ec463a3cf, 0x448e1dd9ec677783 - .quad 0x445198c18435598d, 0x448b5ceb5a13221b - .quad 0x444fee9bab9f4e14, 0x4488dbaa11de2037 - .quad 0x444cf82e0eb6196b, 0x448694680a9a3ee6 - .quad 0x444a474e7029a919, 0x448481f73b3778e8 - .quad 0x4447d5af6513e2be, 0x44829f9e7d8fd094 - .quad 0x44459d93e1d8f57d, 0x4480e90f64b5b103 - .quad 0x444399c279e4699a, 0x447eb4b9e47b58c9 - .quad 0x4441c579bbca6885, 0x447bdfe62f60dd70 - .quad 0x44401c659160612d, 0x44794d1de5c4576f - .quad 0x443d352b1ae26940, 0x4476f66f6ab90c3c - .quad 0x443a78e8252c204d, 0x4474d67050b31c2a - .quad 0x4437fd7c80f3410e, 0x4472e8318008cf89 - .quad 0x4435bcf92cc55d86, 0x4471273463a1589b - .quad 0x4433b1f876b10da7, 0x446f1ec20afad0e2 - .quad 0x4431d791bb1324a1, 0x446c39fa0d4a5a2b - .quad 0x4430294e37abcee8, 0x44699946bf7e02a1 - .quad 0x442d463db5fa3c13, 0x44673679b24aeb9b - .quad 0x442a82a5f4047a5b, 0x44650bf2558ab78f - .quad 0x4428011fb05fe090, 0x446314916abfa1ea - .quad 0x4425bb91decf8a58, 0x44614bad9006f53b - .quad 0x4423ac71ce35c1d3, 0x445f5a1196b5bb2e - .quad 0x4421ceb656955c59, 0x445c698e001f6d30 - .quad 0x44201dcc2acf7755, 0x4459beca74b0f147 - .quad 0x441d2b166911c178, 0x445753637caac6d9 - .quad 0x441a6459c5b11342, 0x4455218993857afc - .quad 0x4417e086accc805d, 0x445323f3f19cff3e - .quad 0x44159962aef547b3, 0x445155d47fdb9c94 - .quad 0x4413894608650ede, 0x444f6599b70323ca - .quad 0x4411ab0e4d284f44, 0x444c6dc8a4bb3ba6 - .quad 0x440ff4248ebb8299, 0x4449bcfd83a431e9 - .quad 0x440ce42dd8e4fa23, 0x44474ca889bbacd5 - .quad 0x440a1e8aa1400997, 0x444516d33e26c040 - .quad 0x44079c430435a7fc, 0x44431612a7ef535f - .quad 0x440557046eb39249, 0x4441457ab75c2489 - .quad 0x440349127b59b217, 0x443f41259c9550c0 - .quad 0x44016d392dff5104, 0x443c46969ca99a2e - .quad 0x43ff7d80dc993f2f, 0x443993e82b76e726 - .quad 0x43fc72c149cb214b, 0x44372267ac1b25a0 - .quad 0x43f9b270c24cc8fa, 0x4434ec0062aeeb78 - .quad 0x43f73585df7b6643, 0x4432eb2d18a2081b - .quad 0x43f4f59f9910367e, 0x44311aeb0b11d1a1 - .quad 0x43f2ecf5b7f6abe3, 0x442eed5c0bbf1061 - .quad 0x43f1164ab45aa235, 0x442bf4ab21b4f3f0 - .quad 0x43eed9bdbc6f1b0a, 0x442944462d4d5991 - .quad 0x43ebd8c96533b39b, 0x4426d561de54f6a1 - .quad 0x43e921ec84d5860e, 0x4424a1d472804fc8 - .quad 0x43e6ae172414ceba, 0x4422a406e25fcb44 - .quad 0x43e476e3b661be8c, 0x4420d6e7662dda9d - .quad 0x43e276873924f0b4, 0x441e6bba6770e22d - .quad 0x43e0a7c2c9322f59, 0x441b797ab2ba22d2 - .quad 0x43de0bad18c4e37d, 0x4418cf813910fdcd - .quad 0x43db18eba0be4d24, 0x441666f488db6e0a - .quad 0x43d86f7884e1caad, 0x4414399f7770045f - .quad 0x43d608484d592328, 0x441241e1ebbbf4ec - .quad 0x43d3dcfaee52a8f5, 0x44107aa30ce6a5a0 - .quad 0x43d1e7cbac093f27, 0x440dbe8969a24c6f - .quad 0x43d023827dc88ed9, 0x440ad7301258d788 - .quad 0x43cd16cd999791c3, 0x440837a640fa9d3d - .quad 0x43ca3666de0788b0, 0x4405d90f358d61f6 - .quad 0x43c79e17816df1e8, 0x4403b5342f7be9c0 - .quad 0x43c546e385224d10, 0x4401c674ecd152d3 - .quad 0x43c32a7a483e977b, 0x440007b997a0b531 - .quad 0x43c1432649c86c4d, 0x43fce8cc007a6432 - .quad 0x43bf177ce0bd5836, 0x43fa109c0bccbc39 - .quad 0x43bbff3166bc36ee, 0x43f77f5624913c3a - .quad 0x43b934fc0975fb30, 0x43f52e251d5d3b1f - .quad 0x43b6b13ebb9a5ad4, 0x43f316da780bc4d9 - .quad 0x43b46d17a80cc174, 0x43f133deb1d35260 - .quad 0x43b2624f3a0a8870, 0x43ef00460b24acf8 - .quad 0x43b08b47d7733cb6, 0x43ebee2903d584f9 - .quad 0x43adc5de496b1810, 0x43e92920a7c80e26 - .quad 0x43aac9615b3c9fd7, 0x43e6a9b25345c773 - .quad 0x43a818d3a356669e, 0x43e4691b26b9c82f - .quad 0x43a5acbdab2ed713, 0x43e2613e9610f6d1 - .quad 0x43a37e61fd4c0fe0, 0x43e08c969adf0bea - .quad 0x43a187ab3d71db11, 0x43ddcc4ac4f59be5 - .quad 0x439f8637ea4e52ac, 0x43dad2d0a9a18288 - .quad 0x439c577fd709b099, 0x43d82498a7cc94b9 - .quad 0x43997a3dc62119c8, 0x43d5ba462dee8a02 - .quad 0x4396e66137bb7cca, 0x43d38d330d8806a0 - .quad 0x439494a3f6a9a70e, 0x43d1975e0627306c - .quad 0x43927e767bb79ea2, 0x43cfa6b5ee8f3088 - .quad 0x43909dee32687729, 0x43cc78892308bd90 - .quad 0x438ddb6ae2f39381, 0x43c99b5ec6741cb3 - .quad 0x438ad1f9fba4b2ab, 0x43c7073c400e10dc - .quad 0x438816dde4c11ca3, 0x43c4b4ee0b3a84d6 - .quad 0x4385a245d5e5289c, 0x43c29df4862ac231 - .quad 0x43836d26a686daaf, 0x43c0bc7294e0cbaf - .quad 0x438171277cbbce9c, 0x43be163bd8df8640 - .quad 0x437f5120b45c00e6, 0x43bb0a61bce91993 - .quad 0x437c1c74b30d0bb0, 0x43b84cbb00f925f0 - .quad 0x43793b02e5cf0324, 0x43b5d5841ce6cb73 - .quad 0x4376a46f43f3118c, 0x43b39dbcd485dd07 - .quad 0x43745132973bb79b, 0x43b19f153b38a108 - .quad 0x43723a85891dc72b, 0x43afa7b9159fc471 - .quad 0x43705a4dba466c4e, 0x43ac6de3429e31fa - .quad 0x436d561964307dc4, 0x43a98769faac8a1b - .quad 0x436a4fa0f13737e8, 0x43a6ebf82977acf0 - .quad 0x4367984b636ad1be, 0x43a4940bc89fa5aa - .quad 0x4365281628cb373a, 0x43a278e135bcf0a4 - .quad 0x4362f7cc38bc628d, 0x43a0946088b6f8ed - .quad 0x436100f1aef8eaf5, 0x439dc21972b9e9f4 - .quad 0x435e7b62ce66acde, 0x439ab3e8cfada51a - .quad 0x435b5198cf325114, 0x4397f5483f729c27 - .quad 0x43587b15da6677af, 0x43957e33e2b1c6da - .quad 0x4355ef5de2e68985, 0x4393477480d89e25 - .quad 0x4353a6d00852a688, 0x43914a8b54629fb2 - .quad 0x43519a90b14f53af, 0x438f033fa073d520 - .quad 0x434f88eba04114cb, 0x438bcede5acc0d40 - .quad 0x434c3dea36b87937, 0x4388ee7b29d0b081 - .quad 0x43494a28136fa731, 0x438659917bbb6632 - .quad 0x4346a4b2c9663fa1, 0x43840877b79cd868 - .quad 0x43444580945b8452, 0x4381f44979177348 - .quad 0x43422558f1aa9f03, 0x438016d3f0358160 - .quad 0x43403dbf8db89298, 0x437cd508600d0ba8 - .quad 0x433d11c2965639f6, 0x4379d4ae77a21604 - .quad 0x433a03065db54a4b, 0x437723974e9529d8 - .quad 0x433745e6013d8cf3, 0x4374b9a944f57915 - .quad 0x4334d1f2eb853100, 0x43728f9c9b769ee3 - .quad 0x43329f9b7c4f56df, 0x43709ee66b6e99e9 - .quad 0x4330a814a1dfc5ed, 0x436dc34b6999ff72 - .quad 0x432dca8b63e38fa9, 0x436aa5249b4cca57 - .quad 0x432aa36c9242f8bc, 0x4367d9db080918ba - .quad 0x4327d0fbfa6c3c19, 0x436558e88e8945ef - .quad 0x43254a6b679dd96f, 0x43631aa564e92066 - .quad 0x432307d4e71272d7, 0x43611831a9c3763d - .quad 0x4321022313b11381, 0x435e96c265c21fbf - .quad 0x431e65f78e13edcd, 0x435b5d52c19374fe - .quad 0x431b2959e487c93f, 0x43587a2188252d5f - .quad 0x43184436cf62b6f8, 0x4355e440cc8caaf9 - .quad 0x4315ad66c67f3f63, 0x435393ad199301de - .quad 0x43135cb549c616eb, 0x43518135a0647102 - .quad 0x43114ac7e9322a1a, 0x434f4ccd98eab06b - .quad 0x430ee20fae75a2c5, 0x434bfaedff2748c1 - .quad 0x430b931b883c77f2, 0x4349026a7e3c9538 - .quad 0x43089e1f8e1d4be6, 0x434659f3419269ee - .quad 0x4305f9a24050e89f, 0x4343f92e9472ca4c - .quad 0x43039d2746cbe57f, 0x4341d89fb6602df9 - .quad 0x43018115431b6c4a, 0x433fe32077e095c4 - .quad 0x42ff3d3ca19edf64, 0x433c7bf775863df5 - .quad 0x42fbdf55dd9bdce0, 0x433970fb0b5580dc - .quad 0x42f8dd8e25d2255d, 0x4336b88087e4af9f - .quad 0x42f62e225ebca190, 0x433449de67f2c6b2 - .quad 0x42f3c855ef212bad, 0x43321d51dc348d4d - .quad 0x42f1a4576cd5cddc, 0x43302be7023a443e - .quad 0x42ef765035c713d8, 0x432cdec7155697e1 - .quad 0x42ec0d0bdeb46ae2, 0x4329c4671c1a6e3c - .quad 0x42e901afbd3819be, 0x4326feb0af26f865 - .quad 0x42e64a386137b955, 0x432484b1e63b3be4 - .quad 0x42e3ddb15521ce49, 0x43224e68a1458bd7 - .quad 0x42e1b418ba2217c6, 0x432054a9a7c2f05a - .quad 0x42df8c8bad8e2a20, 0x431d2214ad33ca5e - .quad 0x42dc1ba4950b8f4f, 0x4319fb9933adac68 - .quad 0x42d90a0b40dd690c, 0x43172b99eccc462e - .quad 0x42d64d860502b279, 0x4314a8e4dbe3539c - .quad 0x42d3dcf1aadc099d, 0x43126b4018ef81f7 - .quad 0x42d1b02414a73357, 0x43106b4fe82cc6ae - .quad 0x42cf7fa3e4bec2ae, 0x430d44feffb34893 - .quad 0x42cc0aee6d6b1406, 0x430a15d86bb23572 - .quad 0x42c8f684065398bf, 0x43073ea5ac0d71a9 - .quad 0x42c637ff9397e989, 0x4304b5fdd0f567fa - .quad 0x42c3c618d3c706eb, 0x4302737769828878 - .quad 0x42c1988625955723, 0x43006f8da87263ce - .quad 0x42bf4fc2f6d50e41, 0x42fd4710a9e149ed - .quad 0x42bbdb204ff1cda3, 0x42fa12cc7b1bf616 - .quad 0x42b8c75a6fa17116, 0x42f73793d6253bd7 - .quad 0x42b609ec277b8703, 0x42f4abd0af44c7f8 - .quad 0x42b399725d96eb63, 0x42f266f2e981ccfb - .quad 0x42b16d8d1241b86b, 0x42f06154a07d21a2 - .quad 0x42aefd875a51d28d, 0x42ed2842b40e25f0 - .quad 0x42ab8cd873c4de72, 0x42e9f27fa465d061 - .quad 0x42a87d2a89e5ac65, 0x42e7167c3937ded9 - .quad 0x42a5c3e42539c769, 0x42e48a7fb96552ca - .quad 0x42a35791e04cd29f, 0x42e245dcbaa25b1b - .quad 0x42a12fc6cdafd10d, 0x42e040d4ab2de626 - .quad 0x429e8a0077a1ed47, 0x42dce8fcb8dadc2c - .quad 0x429b2118f75a4eb7, 0x42d9b55e7c11d9e6 - .quad 0x429818e8b1c2616f, 0x42d6dbce02ec5c77 - .quad 0x429566cdf4525eb0, 0x42d4527acab6dfeb - .quad 0x4293014fd204bc71, 0x42d210a3ddcb4706 - .quad 0x4290dffe0bfc0c74, 0x42d00e7aba6527c9 - .quad 0x428df6a8d5e14f11, 0x42cc8a12a152d814 - .quad 0x428a9942579915cd, 0x42c95c35893651c9 - .quad 0x42879bdc576e403a, 0x42c6884d52cc9914 - .quad 0x4284f3d9114d799b, 0x42c4047ce663f641 - .quad 0x428297c4e6eb62fc, 0x42c1c7f9c74f3e7c - .quad 0x42807f35ef1a4fc0, 0x42bf95dcee779f74 - .quad 0x427d455e0a3b0d94, 0x42bc0cc007cc808e - .quad 0x4279f70bf04a77ce, 0x42b8e82cd2a6133c - .quad 0x427707990a8defef, 0x42b61d0ef76712e4 - .quad 0x42746c779ebb14ae, 0x42b3a1882865d26e - .quad 0x42721c4420bc9879, 0x42b16cce86450b20 - .quad 0x42700ea48df1e7fb, 0x42aeee1d41e1e516 - .quad 0x426c7856a7693627, 0x42ab72a1658393d4 - .quad 0x42693c7abef59a2c, 0x42a85ac17b553c4f - .quad 0x42665df602b1e0ff, 0x42a59b72775450f3 - .quad 0x4263d256a5ee461d, 0x42a32ae03812fc00 - .quad 0x42619053bac5f645, 0x42a1004b9cd4bae6 - .quad 0x425f1f58fe66e142, 0x429e27d88d5289bf - .quad 0x425b9216793da422, 0x429abdab3fb224ce - .quad 0x42586bd6adace04e, 0x4297b5bd9f52a89e - .quad 0x4255a104640aeb74, 0x4295051a941eb130 - .quad 0x42532755417b50dd, 0x4292a20366f6a0de - .quad 0x4250f5a5274f5c45, 0x429083cdb1163405 - .quad 0x424e07ab300dc4b9, 0x428d458a013d18b4 - .quad 0x424a956163a49613, 0x4289f01f97b2e043 - .quad 0x4247879eb52380ed, 0x4286fb2eaf7d8102 - .quad 0x4244d30488394e18, 0x42845be480207b14 - .quad 0x42426d7af2869fc5, 0x428208a2b041836e - .quad 0x42404e0c593552f5, 0x427ff1ba8cbc9c8d - .quad 0x423cd98a274acae3, 0x427c49f8a8ec4aeb - .quad 0x4239852d44d7528b, 0x42790c81ede57558 - .quad 0x4236927c2c3e4970, 0x42762d5a948b6358 - .quad 0x4233f65a98c177c9, 0x4273a1de0952fd2b - .quad 0x4231a6ed66936eea, 0x42716098d4b94692 - .quad 0x422f36ed3084aa81, 0x426ec24d6a8bc072 - .quad 0x422b986ab7ebdd54, 0x426b3828ebcc128b - .quad 0x422864933f3c0573, 0x4268158a3038115e - .quad 0x42258f359f0c4e8f, 0x42654eb3e9a3e72b - .quad 0x42230d82cb8a968c, 0x4262d93b0174f61a - .quad 0x4220d5e5f59de7c1, 0x4260abe0d45fd5c2 - .quad 0x421dbfc240ab5f81, 0x425d7ce33a39bd89 - .quad 0x421a47db588b15cf, 0x425a134d30d655e4 - .quad 0x421736c0d0a31187, 0x42570e16f315ef40 - .quad 0x421480a1879e8f57, 0x425461cda38e2783 - .quad 0x42121b0591ce1cfd, 0x4252044a2faebb7b - .quad 0x420ff94e3fca1752, 0x424fd91813f8cc8c - .quad 0x420c3a9f9558ffa0, 0x424c2530177987fe - .quad 0x4208eb738c76b2f2, 0x4248deb61106f334 - .quad 0x4205fee91a43fef1, 0x4245f91f55e86346 - .quad 0x4203699940a6a811, 0x4243694e7b13691b - .quad 0x4201216c07263de0, 0x4241256a18de488b - .quad 0x41fe3ae49fef5535, 0x423e49705a5ebd5f - .quad 0x41faab87fb8e4441, 0x423abefb3186e784 - .quad 0x41f786c3dca158c4, 0x42379dc285401b7d - .quad 0x41f4c036b7451223, 0x4234d9a4f359ba1e - .quad 0x41f24cec8453db03, 0x423267e46fd85893 - .quad 0x41f02334e92993b9, 0x42303efdea0a0506 - .quad 0x41ec74fc41217dfb, 0x422cad0afbb569b1 - .quad 0x41e9166837399532, 0x42294e0d5e7a8744 - .quad 0x41e61d46c11dd916, 0x422653d077d9eef0 - .quad 0x41e37dbe7711fcd4, 0x4223b2a639494566 - .quad 0x41e12d55c1e73c65, 0x42216038b4af0a0e - .quad 0x41de4594b115943b, 0x421ea6c598920c48 - .quad 0x41daabdabdb93484, 0x421b081aaf25ade1 - .quad 0x41d77f073eb945df, 0x4217d62079a4e4a6 - .quad 0x41d4b252d0bc8beb, 0x4215042e1a8664ed - .quad 0x41d23a7345c57cca, 0x421287117d29a9e6 - .quad 0x41d00d6f8a57f06e, 0x421054e44f8ee735 - .quad 0x41cc44f136cf3bd8, 0x420cc9cbc5fe04a8 - .quad 0x41c8e38df2790b7a, 0x42095eb2cb828067 - .quad 0x41c5e8f828661e21, 0x42065acfefcd0029 - .quad 0x41c3490e7e2bc31c, 0x4203b20c56ad84f5 - .quad 0x41c0f91b7ff9bb2a, 0x420159b917beb87a - .quad 0x41bddf56913a541e, 0x41fe90cb5cac7057 - .quad 0x41ba48cc1b8a7bc7, 0x41faeb7659e5f7ef - .quad 0x41b71fde01e2ca8c, 0x41f7b4b752e86e5f - .quad 0x41b4578e0b906b32, 0x41f4df8ace15322e - .quad 0x41b1e4659a2a2156, 0x41f26072a17961a0 - .quad 0x41af788fc218597b, 0x41f02d48c75e7d9b - .quad 0x41abac92daac0b9d, 0x41ec7a2ecd5f05a0 - .quad 0x41a85518c3484796, 0x41e90feaede7f2ae - .quad 0x41a56441b55bfff1, 0x41e60dcef1cedc3a - .quad 0x41a2cdd203ab43a1, 0x41e36787980e7387 - .quad 0x41a08700c199ad4f, 0x41e112346e13dd7e - .quad 0x419d0c9857c390f3, 0x41de087915129a98 - .quad 0x419986a650394095, 0x41da6a5096da5b7d - .quad 0x41966d6688315ad6, 0x41d73aff07c7874e - .quad 0x4193b3d55ebd8547, 0x41d46d572e10e216 - .quad 0x41914e7b714e7093, 0x41d1f5ba17e5a90b - .quad 0x418e667d9a8bcd9e, 0x41cf93d0d186fbcd - .quad 0x418ab2733e383ad8, 0x41cbc1b22cec72b0 - .quad 0x4187712b76c8c7f6, 0x41c86529e9df069c - .quad 0x418494d8e1d4fc61, 0x41c5702d052bf73a - .quad 0x4182115447c6627d, 0x41c2d65aee08874c - .quad 0x417fb7d503fc65c8, 0x41c08ccb49580d43 - .quad 0x417bd660913b938c, 0x41bd13c32a98512b - .quad 0x41786db66e158524, 0x41b98a4bfd5a5fad - .quad 0x41756f3ed5aa4222, 0x41b66e459a7794f4 - .quad 0x4172ce2265a96bef, 0x41b3b28bbce3c1c6 - .quad 0x41707f14a8d0c116, 0x41b14b8b6b67144e - .quad 0x416cf049ebedf60d, 0x41ae5e26dbef0e28 - .quad 0x41696129ca292f7e, 0x41aaa854b5c4f131 - .quad 0x4166416763f6b3bc, 0x41a765d329106241 - .quad 0x4163837bf030f4a8, 0x41a488b9479ee1c4 - .quad 0x41611b82880134f9, 0x41a204c8d940530b - .quad 0x415dfe0c1b8af1f3, 0x419f9e77238e0031 - .quad 0x415a49aa1651cfca, 0x419bbd2c8fd7e193 - .quad 0x415709b5a3a79128, 0x41985502f16a0f8d - .quad 0x41542ffa7e9ace3f, 0x4195574ceffe3945 - .quad 0x4151affd2eccd616, 0x4192b72182c97af5 - .quad 0x414efd8be43ac9a9, 0x41906925da53a0fc - .quad 0x414b2564005de7e5, 0x418cc6bb6d71090d - .quad 0x4147c694cd2b4ffd, 0x41893a02d0c97221 - .quad 0x4144d23fa69bd814, 0x41861cb1a027e057 - .quad 0x41423b556e6e918e, 0x418361358dd1f243 - .quad 0x413fecbcf04dca90, 0x4180fba0d2660d89 - .quad 0x413bf29264dcdc82, 0x417dc2ef387bd0e0 - .quad 0x4138767d7fc43eb6, 0x417a130711aadcda - .quad 0x413568f9937abc79, 0x4176d758e1ac9659 - .quad 0x4132bc67d8c20136, 0x417401abca024479 - .quad 0x413064d4616b0094, 0x417185819a7f8c6a - .quad 0x412caf8458ad2a12, 0x416eafc2b00a99b1 - .quad 0x412917faff93e540, 0x416ade505ba61e89 - .quad 0x4125f2e79283b1ca, 0x416785c00b5cb27e - .quad 0x41233220b1da4f59, 0x4164973634932c1a - .quad 0x4120c93ac678b0cc, 0x416205a7d78be568 - .quad 0x411d5aa313452dae, 0x415f8b4440d68221 - .quad 0x4119a9b05368c88b, 0x415b9a31a7b9868c - .quad 0x41166ede7f0c2d55, 0x415826756e1a42e2 - .quad 0x41139b7fc18e5891, 0x4155209676e4b424 - .quad 0x411122b662569616, 0x41527b019965e362 - .quad 0x410df2779ceabfc8, 0x415029ce648133fd - .quad 0x410a2a5d2945d2b7, 0x414c45161cd95fe8 - .quad 0x4106dbccf848794a, 0x4148b81d680cdfc5 - .quad 0x4103f79bf21caa96, 0x41459ca24a7521dd - .quad 0x41017080ae674896, 0x4142e48f266999cf - .quad 0x40fe75b024885f54, 0x4140838b13324d03 - .quad 0x40fa98e26924c6c8, 0x413cdd86b83e679d - .quad 0x40f738bf4bc8d296, 0x41393977456406dd - .quad 0x40f445a6a9a273c6, 0x41360a47aca18e96 - .quad 0x40f1b1eabeffc3a5, 0x413341669953fe1c - .quad 0x40eee324e1fde417, 0x4130d210b765b3d6 - .quad 0x40eaf4465e9c5668, 0x412d622fa53c02ce - .quad 0x40e784e3008fb46b, 0x4129a961d6383ef7 - .quad 0x40e484eecd2f1383, 0x41266890cd0bf55f - .quad 0x40e1e65fd1ef2701, 0x412390b73f2a4fb0 - .quad 0x40df39dc6baaccd7, 0x412114ae59581395 - .quad 0x40db3bb863d26278, 0x411dd1e5296953a3 - .quad 0x40d7bf89f052b591, 0x411a06dfa21b6c59 - .quad 0x40d4b4e35dbe0cdd, 0x4116b6a7a27c9005 - .quad 0x40d20d6781986167, 0x4113d1cca3d4f6d8 - .quad 0x40cf790f6877f51e, 0x41114acc164c64fe - .quad 0x40cb6e93fa7299b3, 0x410e2ba80b9c3a1b - .quad 0x40c7e82cde922833, 0x410a511aa3827999 - .quad 0x40c4d515a14a6132, 0x4106f3d9139319ed - .quad 0x40c226a790f97768, 0x410404113d7d18e6 - .quad 0x40bfa02b8ac73416, 0x410173ed60fcd6fa - .quad 0x40bb8c6342337220, 0x40fe6ea95e92c624 - .quad 0x40b7fe6d7fbcef2c, 0x40fa8767775dd309 - .quad 0x40b4e53acc7531b1, 0x40f71f97a2983044 - .quad 0x40b231e547065724, 0x40f42710a88aab19 - .quad 0x40afaed5c4559717, 0x40f18fb2ded8ebb1 - .quad 0x40ab94e0bfb59934, 0x40ee9a4d9b21386e - .quad 0x40a80217e57d8a3f, 0x40eaa947efe69879 - .quad 0x40a4e52d23cf50b0, 0x40e7397d8e2bd385 - .quad 0x40a22f0652094ae6, 0x40e43a79684f6ef6 - .quad 0x409fa4eba730bf60, 0x40e19ddbd8138a90 - .quad 0x409b87f86a26fad7, 0x40deae2ef93df996 - .quad 0x4097f323487ff94a, 0x40dab66cfccafb75 - .quad 0x4094d4ec8ea8ee67, 0x40d7414e5b5ca43c - .quad 0x40921e112e39bf18, 0x40d43e1e22ebfdb4 - .quad 0x408f8283ec45f117, 0x40d19e4732be2ff0 - .quad 0x408b65c7f9f1fbed, 0x40ceaa1efb3b003e - .quad 0x4087d1b22b6810f6, 0x40caaeb7de6855e2 - .quad 0x4084b49e984886e0, 0x40c736f7c0d13f06 - .quad 0x4081ff2d0d5a2649, 0x40c431f651be2ff4 - .quad 0x407f47ee1cab73dd, 0x40c190f3f39e9af4 - .quad 0x407b2e9e76c8d9f9, 0x40be8e2722ca46cf - .quad 0x40779e11d635b9a7, 0x40ba923a9d8d5019 - .quad 0x4074848ddf7dfffe, 0x40b71a91ee04e82c - .quad 0x4071d2a13fdd2709, 0x40b4161e6298ed3a - .quad 0x406ef5b15f73200a, 0x40b176014201ab17 - .quad 0x406ae2fb07705cc3, 0x40ae5a88cbf394e4 - .quad 0x406758b92cdfdc64, 0x40aa6137c537bf6d - .quad 0x40644528f79b1b51, 0x40a6ec5f2d1367f4 - .quad 0x406198d422be3f8c, 0x40a3ead7491061af - .quad 0x405e8c8a7276c930, 0x40a14dadee76975a - .quad 0x405a838b09afcf62, 0x409e0fbc2ec572b9 - .quad 0x40570246e766d2f3, 0x409a1c215fcd0bea - .quad 0x4053f700c0d99876, 0x4096accae115453e - .quad 0x4051524997d01a00, 0x4093b08582357e32 - .quad 0x404e0d68d9047f7a, 0x409118577f06b2f2 - .quad 0x404a11277ca2bd3f, 0x408dae6e8d292a1e - .quad 0x40469b7f34ec048e, 0x4089c3973d4c9b08 - .quad 0x40439ac6410ceb63, 0x40865c67e684d1e6 - .quad 0x4040ffa110b113f0, 0x408367af901b1370 - .quad 0x403d796b4f7aaf7f, 0x4080d678c614f535 - .quad 0x40398cd1cb38dcc0, 0x407d377f96b9fd62 - .quad 0x40362548d6675835, 0x407958648bd60350 - .quad 0x403331480815e7cd, 0x4075fbee5e7590f4 - .quad 0x4030a19336cc73a1, 0x407310fbf558eca2 - .quad 0x402cd1db96a6c6ef, 0x407088a80b837328 - .quad 0x4028f7b007e1de49, 0x406cabfe10b3371a - .quad 0x4025a0a9c047e3c7, 0x4068db7ccf7600f4 - .quad 0x4022bb6f2dd8e254, 0x40658c38f07b7c3b - .quad 0x402038ef3cbdc1c7, 0x4062ad2ebb6268bd - .quad 0x401c1829acfb62b3, 0x40602f94d1fb1ba4 - .quad 0x40185308ad209551, 0x405c0d23d3daadad - .quad 0x40150ec3549a202d, 0x40584df8496cc3ae - .quad 0x40123a3bf963c1eb, 0x40550e4191e1b76c - .quad 0x400f8d2fce0ebb41, 0x40523d2690dc7344 - .quad 0x400b4de68e608347, 0x404f980a88588961 - .quad 0x4007a03df8f9f479, 0x404b5c5135a44acb - .quad 0x400470ce4924af72, 0x4047b10fe1f0aeaa - .quad 0x4001aec242758b4f, 0x4044831de32e25bd - .quad 0x3ffe9700b697ec96, 0x4041c1d98f1b1f71 - .quad 0x3ffa74be9568f922, 0x403ebda6af103d07 - .quad 0x3ff6e0c8fadbb050, 0x403a9b07f491a273 - .quad 0x3ff3c8164e42f29c, 0x40370618a9c019da - .quad 0x3ff11a259faba91e, 0x4033ebfb36da371b - .quad 0x3fed91518c2acaf6, 0x40313c51b7852ec0 - .quad 0x3fe98e739a118b5e, 0x402dd1d36683753b - .quad 0x3fe616346ca3be0e, 0x4029cae5c1f5de61 - .quad 0x3fe315f58c13df9c, 0x40264e7f0a95542f - .quad 0x3fe07d957435b8c4, 0x40234a1a5595e9cb - .quad 0x3fdc7e35cf4db634, 0x4020ada93ac2688e - .quad 0x3fd89cd6ead31b71, 0x401cd680d6a376d2 - .quad 0x3fd542176fe1c2b2, 0x4018ed9e84be9bac - .quad 0x3fd25bd00bd97edd, 0x40158bc1beb8e117 - .quad 0x3fcfb491e02b7c15, 0x40129ecb15514182 - .quad 0x3fcb5fcd30c7e1f6, 0x401017069c4b54cf - .quad 0x3fc7a1c33cc1922b, 0x400bcdb33f7b88f9 - .quad 0x3fc46610483f2395, 0x400804f671a7a35c - .quad 0x3fc19b0f23241b88, 0x4004bf6ca87a4707 - .quad 0x3fbe62f62b4555dc, 0x4001eb67d8a75351 - .quad 0x3fba383ca9f98a0f, 0x3ffef3318a5788de - .quad 0x3fb69f16aeb36770, 0x3ffab97c2106c4d2 - .quad 0x3fb383bf2b37a037, 0x3ff712bc1550fb6a - .quad 0x3fb0d51cf5a16254, 0x3ff3eb13a24821e2 - .quad 0x3fad08cdac87dce6, 0x3ff131510c1da6ad - .quad 0x3fa909a7c3ac6f99, 0x3fedad26311e9ef0 - .quad 0x3fa596acfa0bcc8f, 0x3fe99bf36c7ef068 - .quad 0x3fa29cc13bfd53a0, 0x3fe618c26c1169a6 - .quad 0x3fa00b60212cf113, 0x3fe3104d5f799552 - .quad 0x3f9ba886ae6e40e0, 0x3fe071e8b6003b16 - .quad 0x3f97d62a282a4851, 0x3fdc5e5338097f6b - .quad 0x3f948a59e9cb1eb1, 0x3fd87730de08c821 - .quad 0x3f91b2abc895a771, 0x3fd518db221cf8ba - .quad 0x3f8e7e6f4c33eded, 0x3fd230ae74a714aa - .quad 0x3f8a4480db60fe17, 0x3fcf5d1c58fdc6ac - .quad 0x3f869fd19aacb90a, 0x3fcb091a88a72f08 - .quad 0x3f837be42e1159e7, 0x3fc74d459ba38afe - .quad 0x3f80c707db025298, 0x3fc414d114bdcde1 - .quad 0x3f7ce3ee3757dbe5, 0x3fc14dc49cbc0c30 - .quad 0x3f78df06bfb34f6d, 0x3fbdd13408401cdc - .quad 0x3f7568986affafc5, 0x3fb9afd0eca1593d - .quad 0x3f726d009f5af049, 0x3fb6203633a6814a - .quad 0x3f6fb69c5d6b524e, 0x3fb30e632b0008c9 - .quad 0x3f6b49c67cd1611f, 0x3fb069124dc6eaef - .quad 0x3f677a47ec4e9fa1, 0x3fac42b48d5cfe42 - .quad 0x3f643260788f0a1f, 0x3fa854b792c33d4a - .quad 0x3f615f4e018a09ee, 0x3fa4f1f511f7b2d7 - .quad 0x3f5de1c72f739a49, 0x3fa2073f996519c0 - .quad 0x3f59b25dc6d6642e, 0x3f9f08155c194aad - .quad 0x3f561853cc8eddac, 0x3f9ab41e011814e5 - .quad 0x3f52feeed430b87b, 0x3f96f9f62ec4193a - .quad 0x3f505451535e8102, 0x3f93c45d7f9e2fb0 - .quad 0x3f4c122bcbda7f8e, 0x3f9100ffa10ff0f3 - .quad 0x3f481ff0b26f3b6a, 0x3f8d401bee3a7787 - .quad 0x3f44bb153d2d0728, 0x3f8927ce5fbbe352 - .quad 0x3f41cfe80beb05a4, 0x3f85a195c6e2a08e - .quad 0x3f3e9ae566e02486, 0x3f82992f3c7d2ce7 - .quad 0x3f3a4a3297375461, 0x3f7ffa47aef63bd2 - .quad 0x3f36948e77b6c537, 0x3f7b7ccca35ce88e - .quad 0x3f33644eed5b1126, 0x3f779ffc3cd6bc92 - .quad 0x3f30a6cd27d913d7, 0x3f744d7c3dca9cc8 - .quad 0x3f2c97f5c053e775, 0x3f71720abf01aa9b - .quad 0x3f288c0c973b68fc, 0x3f6dfa22008cf2c8 - .quad 0x3f2512157ee1d8be, 0x3f69c08a63df00dc - .quad 0x3f2215988e86b086, 0x3f661eb258af5a93 - .quad 0x3f1f09f2b684fb31, 0x3f62ff68a28f7dc4 - .quad 0x3f1aa222a98ba953, 0x3f60506e21782262 - .quad 0x3f16d9b06046eb66, 0x3f5c041afe3a1ad2 - .quad 0x3f139a30e3030664, 0x3f580d8271e40929 - .quad 0x3f10d05cd2b64652, 0x3f54a5cc1e67b046 - .quad 0x3f0cd740d2318d4d, 0x3f51b8f04bdfa1bf - .quad 0x3f08bb7603d98280, 0x3f4e6b65816f0ff1 - .quad 0x3f0534d810db5377, 0x3f4a1a7ec86c94fb - .quad 0x3f022e56de90dc1a, 0x3f4665a9398034f1 - .quad 0x3eff2bb06a7069e2, 0x3f4336f30c8d3345 - .quad 0x3efab79b6edb04e1, 0x3f407b7cbf13abf4 - .quad 0x3ef6e5b33b150249, 0x3f3c461717dacbd8 - .quad 0x3ef39f005226a7db, 0x3f383f56253c12f1 - .quad 0x3ef0cfc8192e69bd, 0x3f34cab82baddd6c - .quad 0x3eecce310b024fd4, 0x3f31d39d04e50424 - .quad 0x3ee8acc81455f971, 0x3f2e9094beff3587 - .quad 0x3ee522570529739f, 0x3f2a3308036822db - .quad 0x3ee219685023e1be, 0x3f267464f8a36aff - .quad 0x3edeff1f945e7f7b, 0x3f233e2c9c277148 - .quad 0x3eda89fa515a2b44, 0x3f207d0b7bb52fc7 - .quad 0x3ed6b83bb4ee4348, 0x3f1c40cfbd11fd10 - .quad 0x3ed372982e2fde1d, 0x3f1833ffa698fa8b - .quad 0x3ed0a51297b20ab7, 0x3f14bb29dadf3ac0 - .quad 0x3ecc7d093fb7e463, 0x3f11c147957723bd - .quad 0x3ec8607006600009, 0x3f0e6896f5762306 - .quad 0x3ec4db1c7b733812, 0x3f0a096cc3260668 - .quad 0x3ec1d76959a6b622, 0x3f064a7647d3f88a - .quad 0x3ebe858d8b3acc80, 0x3f0314deba7bab37 - .quad 0x3eba1a94b14e3d7f, 0x3f00550e92636252 - .quad 0x3eb6529df3d1cf1c, 0x3efbf46cd0f972c3 - .quad 0x3eb316449a955429, 0x3ef7ebd49fbb30ee - .quad 0x3eb0517b9e1f89de, 0x3ef47796af08285b - .quad 0x3eabe627dddb55d7, 0x3ef1827a73755ec7 - .quad 0x3ea7d8a7f2a8a2d0, 0x3eedf49a10ccc568 - .quad 0x3ea4613bf000c71d, 0x3ee99ee7037b652b - .quad 0x3ea16a45fcb7b882, 0x3ee5e9197017791d - .quad 0x3e9dc283bcbe780f, 0x3ee2bc40c543e36b - .quad 0x3e996ca751cac37f, 0x3ee004b34180a4a9 - .quad 0x3e95b7cd13179dde, 0x3edb632d58444fad - .quad 0x3e928cb2cb8b4015, 0x3ed768f3e13d3bdc - .quad 0x3e8faedd62dabd96, 0x3ed401fa7657909e - .quad 0x3e8b0de982dbf111, 0x3ed1190d162109ab - .quad 0x3e87195b2becea19, 0x3ecd3803e22a78e4 - .quad 0x3e83b8387eea3f9d, 0x3ec8f694ad8ac632 - .quad 0x3e80d521f8291cd6, 0x3ec55326d6aac6fa - .quad 0x3e7cbb9be9cbac1e, 0x3ec236e8d3a9e0e7 - .quad 0x3e78852e54d26542, 0x3ebf1ca221c0b98b - .quad 0x3e74ec36b8fdf428, 0x3eba914b62872bc3 - .quad 0x3e71d9d0055d11d0, 0x3eb6af2ae42db580 - .quad 0x3e6e74cb7ebdea0a, 0x3eb35dbe86ed95c7 - .quad 0x3e69fa735b03463a, 0x3eb0880cfe68041e - .quad 0x3e6627f6220ca6a9, 0x3eac3847cbf78a3b - .quad 0x3e62e4d9d8b5b22f, 0x3ea81550cf271bfd - .quad 0x3e601c325e8bb3c0, 0x3ea48cefa0aac509 - .quad 0x3e5b783bc148fcef, 0x3ea188ab9ce5fddd - .quad 0x3e576aa8791eba33, 0x3e9dea9996bf1c0f - .quad 0x3e53f58d390caeec, 0x3e9984c7bb9c53ff - .quad 0x3e510299f255a2ca, 0x3e95c3c6ce5f2f75 - .quad 0x3e4cfd7e08a13b20, 0x3e928f8faa7c3202 - .quad 0x3e48b368e0429dac, 0x3e8fa73040873530 - .quad 0x3e450b2501707be6, 0x3e8afca3c464e1d5 - .quad 0x3e41ecf2c897b782, 0x3e8701780b38d71a - .quad 0x3e3e891642306fee, 0x3e839c08dab159e0 - .quad 0x3e3a013c6709bdd5, 0x3e80b66dac93672b - .quad 0x3e3624c9a2f2f8fc, 0x3e7c7bde43ebd873 - .quad 0x3e32da83d59392f5, 0x3e784520ec5eb55a - .quad 0x3e300ce3767b77a8, 0x3e74ad54236cf6b4 - .quad 0x3e2b5312d520a3f4, 0x3e719d258cf47194 - .quad 0x3e274191dcab90bc, 0x3e6e015665e4efbd - .quad 0x3e23ca855a30dad5, 0x3e698dc92b26aea0 - .quad 0x3e20d71d1069e44f, 0x3e65c29c3e79c162 - .quad 0x3e1ca7c7b61a5357, 0x3e628708aaed4d70 - .quad 0x3e186083aaabaf73, 0x3e5f8bd2046619b5 - .quad 0x3e14bc21b880f9de, 0x3e5ada636f165959 - .quad 0x3e11a28183b0e320, 0x3e56dafa60f704a1 - .quad 0x3e0dfe23a6ad4f8b, 0x3e537351629c53c0 - .quad 0x3e0980956bea8cc0, 0x3e508cff68f5874c - .quad 0x3e05ae767663002e, 0x3e4c29ce58c1fc10 - .quad 0x3e026e4fd1165b76, 0x3e47f5772973d16c - .quad 0x3dff54dde2ba8f56, 0x3e44612c5674eed9 - .quad 0x3dfaa0af3e698b26, 0x3e415539e864d70f - .quad 0x3df6a0956d7d1b63, 0x3e3d7ad5cdc3741e - .quad 0x3df339bd6e517d44, 0x3e39110bc4b50f8c - .quad 0x3df0554f0943ba8c, 0x3e354fb970dbe54e - .quad 0x3debbfac9007ec07, 0x3e321dd98bc7de87 - .quad 0x3de791862715d02f, 0x3e2ecc34851c9763 - .quad 0x3de403f77382e654, 0x3e2a2ca34863bfcb - .quad 0x3de0feff2a4fc490, 0x3e263e0d12d4d288 - .quad 0x3ddcdc5de1ae8c09, 0x3e22e615f0543e41 - .quad 0x3dd8804761a993c4, 0x3e200e4ae934cb56 - .quad 0x3dd4cc23eb3b5ffa, 0x3e1b471c42165f4a - .quad 0x3dd1a6c6c06ea18b, 0x3e172b316e47cc93 - .quad 0x3dcdf58ab9ae4fcb, 0x3e13ad1e7143aa75 - .quad 0x3dc96bd0bd6c9a31, 0x3e10b54bd6a9e23f - .quad 0x3dc59163428fb3a6, 0x3e0c5f4a785a88d1 - .quad 0x3dc24be8d0138113, 0x3e08162809b8dff6 - .quad 0x3dbf09f3c1618809, 0x3e04721b76389525 - .quad 0x3dba53148c3fc482, 0x3e015a6678e0082c - .quad 0x3db652d1d62b45e1, 0x3dfd73f8da963966 - .quad 0x3db2eda549c16ee8, 0x3df8fdeb6a9e8ebc - .quad 0x3db00c2a84aed164, 0x3df5342fe16e83a5 - .quad 0x3dab3501c0fdbbcf, 0x3df1fcdfea216d16 - .quad 0x3da70f8998ccf075, 0x3dee83eb9bce31c4 - .quad 0x3da38b3a7222dd33, 0x3de9e170e2dbff8c - .quad 0x3da08fb437656229, 0x3de5f27a9aa5f660 - .quad 0x3d9c1085f96d9fee, 0x3de29bfa42bc7b76 - .quad 0x3d97c6a3cf1c9dcf, 0x3ddf8de2739c95a9 - .quad 0x3d9423e65b2a3a8c, 0x3ddabfaa7d4233fa - .quad 0x3d910ef40de709bc, 0x3dd6ac1833360c58 - .quad 0x3d8ce48f9d9e5928, 0x3dd336f5ff042b88 - .quad 0x3d88773adc5703ce, 0x3dd0484d7ff5f6bd - .quad 0x3d84b6e86a5aa9d8, 0x3dcb978904649f57 - .quad 0x3d8189488e2e9743, 0x3dc760249f31a968 - .quad 0x3d7db0100ef385d3, 0x3dc3cd13761f1731 - .quad 0x3d79206c1ae9fb29, 0x3dc0c569a0b1627c - .quad 0x3d754382e8081943, 0x3dbc67fe1e83e910 - .quad 0x3d71fe13002859ca, 0x3db80dbcff1d72cf - .quad 0x3d6e71fde0c5e218, 0x3db45d945dc4844d - .quad 0x3d69c159bbc9900a, 0x3db13da615eb6c5f - .quad 0x3d65c8fc931c6d94, 0x3dad2ffe78d87996 - .quad 0x3d626cb8c1920344, 0x3da8b4017551e03b - .quad 0x3d5f295714275bc3, 0x3da4e7bd56b77338 - .quad 0x3d5a592ca70605e5, 0x3da1b06621cfb60e - .quad 0x3d5646a234bddd88, 0x3d9dee83fc205fc8 - .quad 0x3d52d4a498c21371, 0x3d99521701d324da - .quad 0x3d4fd5235020e009, 0x3d956ad77d8efe38 - .quad 0x3d4ae71657ff542e, 0x3d921d11201bfbcf - .quad 0x3d46bbc82f12468a, 0x3d8ea290040397f4 - .quad 0x3d43354802504d9e, 0x3d89e7295f29cf91 - .quad 0x3d403a3b07cf84b0, 0x3d85e631fb2a96db - .quad 0x3d3b6a52af7c7202, 0x3d828313d62cbf4f - .quad 0x3d3727cc024d462a, 0x3d7f4b2d92a8da6a - .quad 0x3d338e1c7590edaf, 0x3d7a726cda9c5fc4 - .quad 0x3d3083385f1e344c, 0x3d76592390114765 - .quad 0x3d2be229b5ed10eb, 0x3d72e1e1bdc1cff3 - .quad 0x3d278a15c33bf0d1, 0x3d6fe77379b5869a - .quad 0x3d23dea49bdca04d, 0x3d6af3202215009f - .quad 0x3d20c5225e967ce3, 0x3d66c30c15ee186b - .quad 0x3d1c4df14833b32e, 0x3d6338f646703f05 - .quad 0x3d17e2197e99732e, 0x3d603b4338f71d3b - .quad 0x3d14266d76b7e9ef, 0x3d5b688e02001605 - .quad 0x3d10ff9aa4df55cb, 0x3d572355f261c90f - .quad 0x3d0cad0ea9847218, 0x3d5387d609c076c8 - .quad 0x3d082f5884a3c4ff, 0x3d507bcd8d61f54d - .quad 0x3d04650f71159187, 0x3d4bd20f0d88c869 - .quad 0x3d01324c9f973607, 0x3d477977767b819c - .quad 0x3cfcfef7f529f1bf, 0x3d43ce0fee10ae91 - .quad 0x3cf8716298a66d68, 0x3d40b4fbeda58aa9 - .quad 0x3cf49a2f582864b8, 0x3d3c2f0b2bc85943 - .quad 0x3cf15cee56fb8f80, 0x3d37c4f426570458 - .quad 0x3ced43356b5d1bc3, 0x3d340b3e347db73a - .quad 0x3ce8a7d700826ce3, 0x3d30e67b4f33d066 - .quad 0x3ce4c57f38808af9, 0x3d2c7efb04c36011 - .quad 0x3ce17f41219f6e6e, 0x3d28055de49eb405 - .quad 0x3cdd796294cc09e7, 0x3d243f076e4dac86 - .quad 0x3cd8d265709c8b81, 0x3d211003322f9f2a - .quad 0x3cd4e6bf1c869176, 0x3d1cc169496c493b - .quad 0x3cd199123dce7f7c, 0x3d183a55fe01c77f - .quad 0x3ccda12f38ef6065, 0x3d14691f56a0b9d1 - .quad 0x3cc8f0ced10d0db4, 0x3d11315652423380 - .quad 0x3cc4fdbda9c9106c, 0x3d0cf5f3d2534600 - .quad 0x3cc1aa3b4e8f3caa, 0x3d08638e1112031d - .quad 0x3cbdba6023e1257a, 0x3d0489478d82c425 - .quad 0x3cb902e5d96b5dc7, 0x3d014a433d21a4e2 - .quad 0x3cb50a589affacc9, 0x3cfd1c4c912f9acb - .quad 0x3cb1b2a2ba958505, 0x3cf880c8cf6ecf16 - .quad 0x3cadc4cfb90a7ce5, 0x3cf49f5031dc1940 - .quad 0x3ca9088f811b7254, 0x3cf15aa4ccc2f79b - .quad 0x3ca50c7d151d73d0, 0x3ced343a5202c7c4 - .quad 0x3ca1b23bebdcda6d, 0x3ce891da95a3a6f5 - .quad 0x3c9dc06e50abd949, 0x3ce4ab18582d9df2 - .quad 0x3c9901c342974910, 0x3ce1626283914e64 - .quad 0x3c950427d64b1c7d, 0x3cdd3d994938f3ad - .quad 0x3c91a9076f0d2e24, 0x3cd896a9d7ab89b1 - .quad 0x3c8dad425efa38ef, 0x3cd4ac8e5c7c8723 - .quad 0x3c88ee8b30ca2586, 0x3cd16170c969f828 - .quad 0x3c84f1653e256f41, 0x3ccd385b6cd88b32 - .quad 0x3c819712f23cae3d, 0x3cc88f2f609fe4d3 - .quad 0x3c7d8b686448b5af, 0x3cc4a3b00e506616 - .quad 0x3c78cf03de32b406, 0x3cc157d10888e2f3 - .quad 0x3c74d4512f22a65d, 0x3cbd2488978a2f74 - .quad 0x3c717c7923127a39, 0x3cb87b7664b4e00c - .quad 0x3c6d5b12a674c804, 0x3cb4908ab62a09ac - .quad 0x3c68a35c1621f2cc, 0x3cb14591aa0080ca - .quad 0x3c64ad16c988b007, 0x3cad023e74fea7e1 - .quad 0x3c6159616cbf8a0c, 0x3ca85b9c65443c51 - .quad 0x3c5d1c88b489c5c3, 0x3ca4733af4601fe1 - .quad 0x3c586bd4690c0845, 0x3ca12acdf1c9738c - .quad 0x3c547bf000e37ae9, 0x3c9cd1b037f7490b - .quad 0x3c512dff96b26d81, 0x3c982fd0e7486194 - .quad 0x3c4cd026b64a0ca8, 0x3c944bec79d5416c - .quad 0x3c4828be8d7b2e74, 0x3c9107adbae7661d - .quad 0x3c4441250d6b8cc7, 0x3c8c93261af2cd0d - .quad 0x3c40fa934555eb5a, 0x3c87f854fd47e7d3 - .quad 0x3c3c765c89feb632, 0x3c841ad99b7fc9eb - .quad 0x3c37da7c97c8ea4b, 0x3c80dc65148f57fc - .quad 0x3c33fd0bbb47d67c, 0x3c7c46fcad39a071 - .quad 0x3c30bf675e9015a3, 0x3c77b57aa64c1e42 - .quad 0x3c2c0facb396944a, 0x3c73e04ac23c3f11 - .quad 0x3c2781800b4c5862, 0x3c70a933c1a65e31 - .quad 0x3c23b0069a07f02d, 0x3c6beda3eeb5f0a2 - .quad 0x3c207cd15415698a, 0x3c6767a404101f5a - .quad 0x3c1b9cab20b7b4ac, 0x3c639c95b8dcd835 - .quad 0x3c171e48c82b190a, 0x3c606e649c54a11d - .quad 0x3c135a840f1bb9bf, 0x3c5b879e3daa485d - .quad 0x3c10333055f872d1, 0x3c570f426b1f5c67 - .quad 0x3c0b1dfbc5f13465, 0x3c53501cdad9df5b - .quad 0x3c06b163d96b3dd9, 0x3c502c4cdfc5722c - .quad 0x3c02fcfd4e6913ca, 0x3c4b157f19f267ea - .quad 0x3bffc5d8e0519af3, 0x3c46acd55017e4e2 - .quad 0x3bfa945119b38a65, 0x3c42fb4e266d3e9f - .quad 0x3bf63b6a2745bde1, 0x3c3fc696b5025168 - .quad 0x3bf297f53c6e927f, 0x3c3a97e9c202c067 - .quad 0x3bef18eb2ba6357f, 0x3c3640e915b3f3ea - .quad 0x3bea006a7219c6a4, 0x3c329ea2353deb28 - .quad 0x3be5bcff1208eb99, 0x3c2f278f182d5cce - .quad 0x3be22bf73da1838d, 0x3c2a0f8fae515880 - .quad 0x3bde60853b8b4b65, 0x3c25cc15bf9dbbbb - .quad 0x3bd963124add21c0, 0x3c223a9b1f0c9515 - .quad 0x3bd536cefa1810b4, 0x3c1e7c6162103b4e - .quad 0x3bd1b995f6e584af, 0x3c197d2ef035140a - .quad 0x3bcd9da06644bc9d, 0x3c154efd8e5e8a15 - .quad 0x3bc8bd1c79049ec2, 0x3c11cfc34a10ee47 - .quad 0x3bc4a98db9bff0e8, 0x3c0dc5f9803d5324 - .quad 0x3bc1416a031bacf2, 0x3c08e1907994f8d3 - .quad 0x3bbcd13f7b7c3414, 0x3c04ca4b88f6234c - .quad 0x3bb80f645203dff7, 0x3c015eac2ce52257 - .quad 0x3bb415f515af2672, 0x3bfd054eb8db2ad5 - .quad 0x3bb0c410a1d6b3ca, 0x3bf83d8652f7235c - .quad 0x3babfc6c8b2d1c95, 0x3bf43eb1f8cfdcf1 - .quad 0x3ba75acacc068ebe, 0x3bf0e7ed05fb3af3 - .quad 0x3ba37cc328e513e5, 0x3bec3b617ec3cfd6 - .quad 0x3ba0422a6340a512, 0x3be791e9c59e2b42 - .quad 0x3b9b2036a988bead, 0x3be3ace8dce03fbd - .quad 0x3b96a0349d192d1a, 0x3be06c218ca5f25a - .quad 0x3b92deb8d0dae905, 0x3bdb69393c895b87 - .quad 0x3b8f78b3aa5bebbe, 0x3bd6df997f6bab1b - .quad 0x3b8a3dafb67a96cf, 0x3bd315ac58b7d6b7 - .quad 0x3b85e0885ebd9cc3, 0x3bcfd7d13f78002d - .quad 0x3b823c981e88b022, 0x3bca8fe21d205eb0 - .quad 0x3b7e66846a73c925, 0x3bc62777b62fde0c - .quad 0x3b7955ea2f392221, 0x3bc279bb2446baf4 - .quad 0x3b751cacbb42476e, 0x3bbecfc5eb955129 - .quad 0x3b719722d0b598a4, 0x3bb9b06ad8cbcafb - .quad 0x3b6d4f0c5733dbc9, 0x3bb56a684fe99fca - .quad 0x3b6869f70ffc1fcb, 0x3bb1d9d500e92622 - .quad 0x3b645586a9e82938, 0x3badc163a555fefb - .quad 0x3b60ef18dbc017ff, 0x3ba8cbe28ca7c426 - .quad 0x3b5c338d2435fb4b, 0x3ba4a94f1540c9ea - .quad 0x3b577ae3cb88b469, 0x3ba136b93820fc76 - .quad 0x3b538bf7be87e681, 0x3b9cadeb8c3bba05 - .quad 0x3b50453702b9a5bb, 0x3b97e356a2db5e15 - .quad 0x3b4b154294e891da, 0x3b93e50df3387f95 - .quad 0x3b4689b85dc875b1, 0x3b909125281c373a - .quad 0x3b42c0dc90fab5ba, 0x3b8b969aedac7779 - .quad 0x3b3f346b0aa94647, 0x3b86f7d0d10edd84 - .quad 0x3b39f5604d9610b0, 0x3b831e8350b95dae - .quad 0x3b3597757e14e4e8, 0x3b7fd3a5c3ac18bb - .quad 0x3b31f50b401397f7, 0x3b7a7ca8fa240180 - .quad 0x3b2ddd8dcb76e388, 0x3b760a5532471804 - .quad 0x3b28d50fcdd2a012, 0x3b7256887c26e498 - .quad 0x3b24a512f5483d32, 0x3b6e82efb884fa70 - .quad 0x3b2129521372a709, 0x3b6961449f1f5f93 - .quad 0x3b1c872d91eff745, 0x3b651be080b9d49d - .quad 0x3b17b56e9895b756, 0x3b618df034ba2c47 - .quad 0x3b13b37e1b01d1bd, 0x3b5d31877f1753ba - .quad 0x3b105e763ef1c6e1, 0x3b5845928aac023d - .quad 0x3b0b3291e83a6dda, 0x3b542d6673958cf7 - .quad 0x3b06978c8d7d61b8, 0x3b50c58552d896bd - .quad 0x3b02c3987ce2b431, 0x3b4be0be95f0126e - .quad 0x3aff2a6593b4ee39, 0x3b472aab5cc51918 - .quad 0x3af9e0f0cfd57ab4, 0x3b433fd04413c4e8 - .quad 0x3af57c6a75ebbd36, 0x3b3ffc132424c87a - .quad 0x3af1d636b1da2b46, 0x3b3a91d6af35687b - .quad 0x3aed9c6f3705063c, 0x3b36119a09e14fe5 - .quad 0x3ae8936d384f421a, 0x3b3253fb5c838ba6 - .quad 0x3ae464f8c7e074fc, 0x3b2e7068fdcaeb4e - .quad 0x3ae0ec1f5aebc21f, 0x3b2945fff2eb1b17 - .quad 0x3adc14515cb6f8f0, 0x3b24fb5a7146299a - .quad 0x3ad74b15b6eeceb1, 0x3b216ab8334ccb0a - .quad 0x3ad352169fa33216, 0x3b1ce965139dad89 - .quad 0x3ad0060a522d6818, 0x3b17fe578074e0c8 - .quad 0x3aca933ad3e37ea3, 0x3b13e8d828e807b4 - .quad 0x3ac608e37fe916b7, 0x3b1084c9533fea9d - .quad 0x3ac24490f08ca22d, 0x3b0b68488148e38c - .quad 0x3abe4940102c0a26, 0x3b06bbe630bdc58c - .quad 0x3ab91a40479b1837, 0x3b02daed7fd23569 - .quad 0x3ab4cdb9a0d20ef7, 0x3aff45c523b5ec4e - .quad 0x3ab13d21ec7ce7a5, 0x3af9ee3b5d440d20 - .quad 0x3aac90f21d2d475f, 0x3af57f9f997e1f52 - .quad 0x3aa7aa5b8d4b4359, 0x3af1d262b74c69e4 - .quad 0x3aa39a647b21bed6, 0x3aed8b50e711660a - .quad 0x3aa03c70a0dadb1d, 0x3ae87c4bc616ed3d - .quad 0x3a9ae43ba1c85bb1, 0x3ae44a615135e868 - .quad 0x3a96446b3db12c58, 0x3ae0cfed72363bb7 - .quad 0x3a926f997cdc041d, 0x3adbdb5f7a82d0f4 - .quad 0x3a8e86218ea3e6ac, 0x3ad7136d3b897e11 - .quad 0x3a89440cec9f5e3a, 0x3ad31cf2729ac24d - .quad 0x3a84e93295651e9b, 0x3acfa860b2bf75f8 - .quad 0x3a814df714b2cc27, 0x3aca36fa64c5b19f - .quad 0x3a7ca3058fde005f, 0x3ac5b478418ed951 - .quad 0x3a77b135dc219792, 0x3ac1f8035d726d41 - .quad 0x3a73995999427ba7, 0x3abdbf75e60682c2 - .quad 0x3a703604de581436, 0x3ab89f0afa1deeca - .quad 0x3a6ad067d36fa2c8, 0x3ab4602a49df0a52 - .quad 0x3a662c6642f5d4b9, 0x3ab0dc2db21eaf21 - .quad 0x3a62556d7a42568a, 0x3aabe61355e30a98 - .quad 0x3a5e5068065139be, 0x3aa7145a7dd1cf8c - .quad 0x3a590efd5cd13c30, 0x3aa31725e0702649 - .quad 0x3a54b62e9374c452, 0x3a9f93e90900fd6b - .quad 0x3a511de133cc6916, 0x3a9a1d0c10ff74df - .quad 0x3a4c49bf95c5f745, 0x3a9597928f3e0c70 - .quad 0x3a475f56ab48bd89, 0x3a91d9f316556fcc - .quad 0x3a434f00cbd8ea42, 0x3a8d8389849eaf01 - .quad 0x3a3fe61cbe17950d, 0x3a88650e1db268eb - .quad 0x3a3a589caf82618c, 0x3a84293ddcb013c1 - .quad 0x3a35c1e107375834, 0x3a80a90025fd130c - .quad 0x3a31f7319c565581, 0x3a7b87eb911fc5ef - .quad 0x3a2daa6c6af5c17f, 0x3a76bea387f6b0a0 - .quad 0x3a287d63120a742c, 0x3a72c9c915a28dda - .quad 0x3a2436e80df031f0, 0x3a6f094496a5e827 - .quad 0x3a20aef9bffa708d, 0x3a69a19446f657cc - .quad 0x3a1b890579385cdc, 0x3a652a33b4b8094c - .quad 0x3a16b84ffdb5d885, 0x3a6179841589cd00 - .quad 0x3a12be9773700384, 0x3a5cda2d93f291ab - .quad 0x3a0eecef0206652c, 0x3a57d0e0e7cac5b0 - .quad 0x3a09821029662ccf, 0x3a53a804f20fd2f4 - .quad 0x3a05097c74b3d08e, 0x3a5038a34010e13f - .quad 0x3a0158fcf12f6c8e, 0x3a4ac508371be502 - .quad 0x39fc9b60c296975d, 0x3a461608ea10db83 - .quad 0x39f7958bc88e6006, 0x3a42383e3bce3750 - .quad 0x39f370dfa8e149d1, 0x3a3e0e820ef74630 - .quad 0x39f0060a594f59c7, 0x3a38c9f67fa9c048 - .quad 0x39ea6925bee98d74, 0x3a3471203b047e85 - .quad 0x39e5c351b4996320, 0x3a30dae92b938870 - .quad 0x39e1ee518d278c58, 0x3a2bcabf2ba981bf - .quad 0x39dd8b2f8b0b2924, 0x3a26e8f25135d13f - .quad 0x39d855f0a34582a6, 0x3a22e219acb023ae - .quad 0x39d40b1881e58e30, 0x3a1f1fe817902ceb - .quad 0x39d0818d80634105, 0x3a19a5d5233d8e13 - .quad 0x39cb2ecbb2e8d76c, 0x3a1521d0766f8b85 - .quad 0x39c6614d9da549fb, 0x3a1168c985c93c95 - .quad 0x39c26c7736a63e7f, 0x3a0cae6809d7d445 - .quad 0x39be546a107b57d5, 0x3a079f71edd3cb51 - .quad 0x39b8f64020effd9c, 0x3a037443c37e4835 - .quad 0x39b48aa64075b150, 0x3a0004e8297ce819 - .quad 0x39b0e6e891142764, 0x39fa60ceba01346a - .quad 0x39abcfa525d16889, 0x39f5b71dfbe662f9 - .quad 0x39a6e0be1ed4e4cc, 0x39f1dfe04c5b884a - .quad 0x39a2d14568fa3103, 0x39ed6c299b6b03de - .quad 0x399ef39c9c67da70, 0x39e8366f8264d161 - .quad 0x399973b86e9a718f, 0x39e3ec401194be5f - .quad 0x3994ed55e6d4d5df, 0x39e0641ea45be131 - .quad 0x3991345b1de4a541, 0x39daf7b06dd7c2fa - .quad 0x398c48e8cf8e20ed, 0x39d62e7924beab28 - .quad 0x39873f6cd7db5a56, 0x39d23e2123cac1dc - .quad 0x39831afb2e91937b, 0x39ce00be39adba8f - .quad 0x397f6600b76754fc, 0x39c8ab4ee2717624 - .quad 0x3979cc2881babaf0, 0x39c447fa5b4e25fe - .quad 0x3975316d5b010b17, 0x39c0abf02c055867 - .quad 0x3971688993cfebe3, 0x39bb67d9f35f4de8 - .quad 0x396c98758b0a4eba, 0x39b685ccfe1e2ab5 - .quad 0x39677baf72da4868, 0x39b281e65593d670 - .quad 0x3963484c1e2418cb, 0x39ae698bd1000fd2 - .quad 0x395fa991c2110340, 0x39a8fc0326c87b11 - .quad 0x3959fe006460b912, 0x39a485d5ed97243e - .quad 0x395555b844a27ecd, 0x39a0db191585c5a2 - .quad 0x395182875c9f3984, 0x399baf50ff65044d - .quad 0x394cbce2423a80ac, 0x3996bb8ebe73c54a - .quad 0x394794741d4d28c6, 0x3992a9fd1221e357 - .quad 0x3943586a18110b0e, 0x398ea4b746dbeae3 - .quad 0x393fbd1c1dcb3991, 0x3989271dfe5687e7 - .quad 0x393a085cf5d6c87e, 0x3984a4b9ae2c857d - .quad 0x393559911f8b7812, 0x3980f0c2d578f06a - .quad 0x393181ddd71c27fb, 0x397bccd0201398ba - .quad 0x392cb5889458c00e, 0x3976cec95dfef21a - .quad 0x392789499da6bff1, 0x3972b5ae7721763f - .quad 0x39234b0b5ddf82c6, 0x396eb1327842cc63 - .quad 0x391fa04646636ebe, 0x39692bda7bca05b7 - .quad 0x3919eb0ea42d451e, 0x3964a4186866270a - .quad 0x39153ce6234f7db7, 0x3960ec8a57831ec5 - .quad 0x3911668fdbb007d5, 0x395bbfd05e1b64f3 - .quad 0x390c8289c5fd0187, 0x3956bf24d893426c - .quad 0x39075a62b0407aef, 0x3952a4c4fb42b862 - .quad 0x3903206cc37b0e4a, 0x394e8ec43d273fba - .quad 0x38ff53937c26236e, 0x39490a22ee0d506e - .quad 0x38f9a69ad7793258, 0x394483f4fee6553c - .quad 0x38f50039cbf56e41, 0x3940ce82f0139653 - .quad 0x38f13119a81ee824, 0x393b888d3fea2a71 - .quad 0x38ec24cdc6a6909b, 0x39368ce8cbb7eaeb - .quad 0x38e7089487e1182e, 0x3932778e05f0f826 - .quad 0x38e2d94fe2dcd5a4, 0x392e3e0a1bcb7b90 - .quad 0x38ded85fe218f015, 0x3928c29185861611 - .quad 0x38d93c37ffa2be30, 0x392444e2559eb861 - .quad 0x38d4a49efe08b764, 0x39209735c9244f77 - .quad 0x38d0e26d33274acd, 0x391b28030446d467 - .quad 0x38cb9dfc560135f0, 0x391638fa554a9791 - .quad 0x38c6955081ac80b2, 0x39122ed7a20d2031 - .quad 0x38c276f565251c73, 0x390dc07399fb9ebd - .quad 0x38be30d639687648, 0x3908566bbf3afdcc - .quad 0x38b8adc46e842374, 0x3903e7fef514c8f7 - .quad 0x38b42bb0eedd3fb2, 0x3900479dd0162987 - .quad 0x38b07beb0edff1b8, 0x38fa9fe7272a642b - .quad 0x38aaf070915be74e, 0x38f5c4d5495043b3 - .quad 0x38a602994f04daa5, 0x38f1cbea64272b5f - .quad 0x38a1fb139d7ad130, 0x38ed18375dee0b86 - .quad 0x389d5fdfa65dd70d, 0x38e7c798c690caf6 - .quad 0x3897fdb85ec65bd4, 0x38e36eec953c25e3 - .quad 0x38939787263ebbca, 0x38dfc2409fc1812e - .quad 0x388ffeb0495cc103, 0x38d9f29b80329143 - .quad 0x388a1f276c1aeb71, 0x38d5328106ecc8f8 - .quad 0x388552f40714fe54, 0x38d1507fc4d2f4ba - .quad 0x388167c9d827337c, 0x38cc484291d11ff0 - .quad 0x387c690e28b6a9bf, 0x38c7189333483e3b - .quad 0x38772f13b97db104, 0x38c2dbc3e931f24d - .quad 0x3872eaa616a9b21c, 0x38becb050b3055a0 - .quad 0x386edda16b7edc87, 0x38b9231c8255bcdb - .quad 0x38692da9c960076a, 0x38b4848161f4e509 - .quad 0x38648955baf138af, 0x38b0beb55467080a - .quad 0x3860bf90e157d9da, 0x38ab542338309321 - .quad 0x385b5082a5d8de09, 0x38a64c56b8fb3cec - .quad 0x3856454856772fed, 0x38a231052b5f7dd6 - .quad 0x385227ecea87251d, 0x389dadb937ed07eb - .quad 0x384d99724acabf71, 0x389834eb55a1d18e - .quad 0x38481ff31715569a, 0x3893bdc43dd8955f - .quad 0x3843a90e48619574, 0x389018fd4cd15479 - .quad 0x384005296113b586, 0x388a3fee5158c03f - .quad 0x383a1acf8c750894, 0x3885664a8518a142 - .quad 0x38354421936100c1, 0x388171860917e7c8 - .quad 0x383152813e135602, 0x387c6f152728fb8f - .quad 0x382c375a4cba7b23, 0x38772bf4ab4db677 - .quad 0x3826fa5568fa20f3, 0x3872e18c95c4bfb1 - .quad 0x3822b5b13ef0805c, 0x386ec41a3d4cf576 - .quad 0x381e77117811a7d2, 0x38691022d83bf8f5 - .quad 0x3818ccd934db2cb0, 0x38646a292659269e - .quad 0x38142faa33070d2a, 0x3860a05da41d6048 - .quad 0x38106db98d7f6125, 0x385b14375f322de2 - .quad 0x380abcdbdfcc9f7c, 0x38560c75486158b0 - .quad 0x3805c15c23fbb403, 0x3851f35bc35fb59f - .quad 0x3801b2fdb7cab6df, 0x384d39954e0a9d3d - .quad 0x37fccb8a64624f6c, 0x3847c98ab66270f5 - .quad 0x37f76bb52e82b59a, 0x38435be6eb898758 - .quad 0x37f30c117f001ac3, 0x383f819edd38db9c - .quad 0x37eefa0e49e3fecc, 0x3839a2821242ebd0 - .quad 0x37e92fa046d58d4e, 0x3834dadd528d6ea9 - .quad 0x37e479ae4e865fee, 0x3830f6d9e092345c - .quad 0x37e0a4c603089f16, 0x382b987187720ae4 - .quad 0x37db0e03e96a5485, 0x3826711ad9310ce1 - .quad 0x37d5fc89a9e03199, 0x38223f97aea9f29f - .quad 0x37d1dd90a3522c75, 0x381dac6b554960ff - .quad 0x37cd07c0b8b30398, 0x38181f77dc55f2bd - .quad 0x37c795540ea5dda7, 0x38139bb36d1a51da - .quad 0x37c327f191dd6247, 0x380fdf7c425dfb89 - .quad 0x37bf1db008e061d6, 0x3809e6c7f42ee3a0 - .quad 0x37b944b7c8850269, 0x38050bd38f4b0e14 - .quad 0x37b4846e1e475567, 0x38011954fcd9d596 - .quad 0x37b0a8512d6deeb0, 0x37fbc7d8a23288e1 - .quad 0x37ab0b57b848dfd5, 0x37f69099571fea27 - .quad 0x37a5f385601a1095, 0x37f25378a9823720 - .quad 0x37a1d0aee3f21eae, 0x37edc36feecfa2ba - .quad 0x379ce9ce0f1b56b8, 0x37e82a9fb7ad076b - .quad 0x379775af322a6fb6, 0x37e39ea243c7bf71 - .quad 0x3793084e2fb958e5, 0x37dfda4af81b306a - .quad 0x378ee0aaff5c7275, 0x37d9da7a2c5ab52c - .quad 0x37890b5b261712ac, 0x37d4fb44aa933f5c - .quad 0x37844f853ca3d2a1, 0x37d1068e39733d5f - .quad 0x37807839b24e2329, 0x37cba0b385a9673f - .quad 0x377ab4ef712ea53c, 0x37c669cb88b98bb4 - .quad 0x3775a6a27edc2aaf, 0x37c22e458ff074e2 - .quad 0x37718ccfb2383c0d, 0x37bd7dccacf16bdf - .quad 0x376c72c7d427b5c7, 0x37b7ea9a57d9c3fd - .quad 0x37670debd3477d7c, 0x37b364981b4fcacc - .quad 0x3762ae4c8505c4dc, 0x37af723b60a4c45a - .quad 0x375e45347f37826d, 0x37a97e0b5db827a8 - .quad 0x3758859d9d834871, 0x37a4a9cae44d02aa - .quad 0x3753dcdd6f53a761, 0x37a0bf347561e06f - .quad 0x3750163c7a1b8ce3, 0x379b246ea577dcd5 - .quad 0x374a0de9e4d0326a, 0x3795fe1a8f2ffd47 - .quad 0x374518a7407eb90e, 0x3791d15869af1a46 - .quad 0x3741146574533e59, 0x378cde08f63664fd - .quad 0x373ba6f77161f191, 0x378761ba88bf6eed - .quad 0x373661c59f17fae0, 0x3782efafc89163c3 - .quad 0x37321d2894bdd4c7, 0x377eab12c8aa7e50 - .quad 0x372d50e0eba3e44d, 0x3778d4d432dee077 - .quad 0x3727b84a5753cf1f, 0x37741a589d11cb19 - .quad 0x37233091416396db, 0x377045db9ec2ba81 - .quad 0x371f0bb3ff173143, 0x376a57861242277f - .quad 0x37191c3cacc75aaa, 0x376551681b8d3610 - .quad 0x37144ea256a84bb0, 0x376140098b38820c - .quad 0x37106bb841410434, 0x375be9e2feb561e0 - .quad 0x370a8d98b0d57710, 0x375694e9fdcb7be5 - .quad 0x37057755a2313bdf, 0x37524419d9ce37ff - .quad 0x37015a03d39bca43, 0x374d8bf1578b3aac - .quad 0x36fc0c4e9f387792, 0x3747e4dfe2cee6a2 - .quad 0x36f6aa9b63079411, 0x3743520b0bf08a51 - .quad 0x36f250ad98a67e4f, 0x373f3daa3dd37f3a - .quad 0x36ed9842421f4af1, 0x37394140b3abb78e - .quad 0x36e7e859d0226582, 0x373469d2facc66f7 - .quad 0x36e34f9e5d4c96d3, 0x37307f7c6b04c092 - .quad 0x36df314a5f5af6d7, 0x372aa9f80ec12e52 - .quad 0x36d9306ca687d568, 0x37258b5e63278412 - .quad 0x36d456b681315daf, 0x372167dcc97a0fd3 - .quad 0x36d06b98180e66f0, 0x371c1ee5bab4ede7 - .quad 0x36ca82a4c036e3f3, 0x3716b69077bfc3c7 - .quad 0x36c565cda5d05a6a, 0x371257dcc5bc2717 - .quad 0x36c144d77262f022, 0x370d9fdd2296338f - .quad 0x36bbdec7b50a66c0, 0x3707eb427b4ddd71 - .quad 0x36b67cb265d8483a, 0x37034f5aee912170 - .quad 0x36b224399b226996, 0x36ff2ca4dc8ff69f - .quad 0x36ad448f86c23d12, 0x36f92943634830d2 - .quad 0x36a79b2a15ae0faa, 0x36f44e2d8e947442 - .quad 0x36a3098d833c2da0, 0x36f0627b1e47c261 - .quad 0x369eb3aa595948f3, 0x36ea705784809825 - .quad 0x3698c0f08dff4e68, 0x36e554226cd542ef - .quad 0x3693f49a8880f6ad, 0x36e1343e7a202e90 - .quad 0x369015dd1c62a082, 0x36dbc0384ab3550d - .quad 0x3689edb80143a705, 0x36d660fe966c4e28 - .quad 0x3684e52056f2dec4, 0x36d20b6b60dae611 - .quad 0x3680d62a769875e0, 0x36cd1893fc15ba16 - .quad 0x367b2128dd015485, 0x36c7747e31ddd25c - .quad 0x3675dad6d3a16694, 0x36c2e7c997078049 - .quad 0x36719a81ef58dfc6, 0x36be790d89e8e564 - .quad 0x366c5ae1b79c4ee8, 0x36b88e545d12ba57 - .quad 0x3666d56e11abc8a7, 0x36b3c919aea97870 - .quad 0x366262a204b39df1, 0x36afe13c6f07b6ae - .quad 0x365d9a774b67b183, 0x36a9ae2b16a9550a - .quad 0x3657d48e51f6d6ed, 0x36a4af14f857334e - .quad 0x36532e43016e50e4, 0x36a0a8564eab8ff5 - .quad 0x364edf747f9f14f1, 0x369ad3a333504020 - .quad 0x3648d7d80e14b910, 0x3695996d7e13f467 - .quad 0x3643fd1708b687cb, 0x3691636f3d76858a - .quad 0x364014ad3fec9ec4, 0x368bfe545fce7a55 - .quad 0x3639dee40ecc2982, 0x368687ce08618977 - .quad 0x3634ceca2b274540, 0x368221a377d62eb4 - .quad 0x3630bbd071377b87, 0x367d2dcd30499eb7 - .quad 0x362ae9438e9a5c0b, 0x367779da2df7a30c - .quad 0x3625a30285652ad0, 0x3672e2a7c1fe1c5f - .quad 0x362164daef1c2b15, 0x366e61933d473856 - .quad 0x361bf6806876a635, 0x36686f2e6e7e582a - .quad 0x36167960688424ef, 0x3663a62b4892ce6e - .quad 0x36120f7f47f404a7, 0x365f99234ed0089e - .quad 0x360d061d530972c5, 0x3659676058974913 - .quad 0x3607517e8c57f622, 0x36546bd7c1e28ef0 - .quad 0x3602bb6ba79809ed, 0x365069f8cb02119f - .quad 0x35fe179628712470, 0x364a61febb6d574d - .quad 0x35f82af24bbe81dd, 0x36453351984f5d61 - .quad 0x35f3684a09debb18, 0x364108b4faaa8971 - .quad 0x35ef2a603a977e7c, 0x363b5e91e3ee196d - .quad 0x35e9054beadf5a51, 0x3635fc381e001854 - .quad 0x35e415c074fc9065, 0x3631a8782bc000be - .quad 0x35e01ef55a0092e3, 0x362c5c9be5ba37d4 - .quad 0x35d9e016e74801cb, 0x3626c625c9dd5c05 - .quad 0x35d4c3713bae315d, 0x362248f08aa2a9f5 - .quad 0x35d0a8cf82738469, 0x361d5b98efc2e8d5 - .quad 0x35cabada51b7b47e, 0x361790b07dcc17dd - .quad 0x35c570fb47030aa8, 0x3612e9c8b4dec3de - .quad 0x35c13270ae279a57, 0x360e5affac730013 - .quad 0x35bb951931589ad6, 0x36085b69d604d483 - .quad 0x35b61dfa678e3296, 0x36038aa7fa8655e3 - .quad 0x35b1bb88966006c4, 0x35ff5a41ad29abd6 - .quad 0x35ac6e52f00f28e6, 0x35f925df815332e1 - .quad 0x35a6ca07adb2cabe, 0x35f42b32a68b6433 - .quad 0x35a243c4de072741, 0x35f02c65f05a223c - .quad 0x359d4603cf73627e, 0x35e9ef9ba1f58105 - .quad 0x359774b9c8b06520, 0x35e4cb0a4ddc2264 - .quad 0x3592cad15ed5f00d, 0x35e0ab038a2ddd17 - .quad 0x358e1ba565f2f2da, 0x35dab82536c08c11 - .quad 0x35881da56c03901c, 0x35d569ce24f30cad - .quad 0x358350587b61e2e7, 0x35d128ac3f80b9ac - .quad 0x357eeeaf2386ba73, 0x35cb7f008c184953 - .quad 0x3578c45dba9ebaff, 0x35c6071b5b7d5f0b - .quad 0x3573d40375ab2fc9, 0x35c1a5112ad78884 - .quad 0x356fbe96dd52dd2a, 0x35bc43afb43abf3a - .quad 0x35696874b77050b3, 0x35b6a28d7dab4750 - .quad 0x3564557ac9b8a4ff, 0x35b21fe234726979 - .quad 0x35604568afbad70b, 0x35ad05b30647f5b6 - .quad 0x355a097bba9c5bba, 0x35a73bbedaae952f - .quad 0x3554d4668bc3c638, 0x35a298ce64edbc52 - .quad 0x3550a969821c25d4, 0x359dc489a35fd890 - .quad 0x354aa703eac27071, 0x3597d248efdebaf1 - .quad 0x3545506ec96ce1d8, 0x35930f843b6c62b7 - .quad 0x35410b0827e1c59f, 0x358e7fb2011e1175 - .quad 0x353b409eb99c2287, 0x358865c4d7ebd336 - .quad 0x3535c93bed6568e9, 0x358383b206d0bb99 - .quad 0x353169ff47b694c6, 0x357f36aa78ac249d - .quad 0x352bd5de633517f7, 0x3578f5cbbd7e3bd9 - .quad 0x35263e7724f64774, 0x3573f5064180659d - .quad 0x3521c60a3dd2224e, 0x356fe8f1d993bb19 - .quad 0x351c66566ef40333, 0x356981f750955121 - .quad 0x3516afcac6c09d1a, 0x3564632fef2669ec - .quad 0x35121ee56dbc8c6a, 0x35604b03ffb7174a - .quad 0x350cf19c31a391ac, 0x355a09e23dee12db - .quad 0x35071ce2ba111a68, 0x3554cddefbe00dae - .quad 0x3502744e94597df0, 0x35509eb734c1a314 - .quad 0x34fd77474fa3c96f, 0x354a8d28a7b21f9e - .quad 0x34f7856cde19858b, 0x354534c49c3a48a0 - .quad 0x34f2c60519b06073, 0x3540ef5469afe541 - .quad 0x34edf6f23e67822e, 0x353b0b689ea896f0 - .quad 0x34e7e9197060941a, 0x35359793ad60d8ab - .quad 0x34e313ca61e59763, 0x35313c9ee6b2a529 - .quad 0x34de703ac45eb1a5, 0x352b84429b1d33d8 - .quad 0x34d8479b71b66ff2, 0x3525f60114dc317a - .quad 0x34d35d621cd7892f, 0x3521865baa279b03 - .quad 0x34cee2c2766d39ae, 0x351bf759f4ae6481 - .quad 0x34c8a0a908fbee34, 0x35164fc41f392bcd - .quad 0x34c3a29293d26666, 0x3511cc51b3533d1b - .quad 0x34bf4e2f320ed2f5, 0x350c645558315ad7 - .quad 0x34b8f3fbe30bc1d8, 0x3506a496dcf46820 - .quad 0x34b3e324f4cf0981, 0x35020e4a4b8e031e - .quad 0x34afb22b934b9930, 0x34fccadf3adb1af0 - .quad 0x34a941518f17ca26, 0x34f6f4367d03dbd8 - .quad 0x34a41ee59ab3f625, 0x34f24c114d622260 - .quad 0x34a00733b2d2d2a7, 0x34ed2aa649df6e65 - .quad 0x3499886bd6d1085b, 0x34e73e63a45afd4d - .quad 0x349455a452136a60, 0x34e285756918be22 - .quad 0x3490314c07978175, 0x34dd835dd5ba6335 - .quad 0x3489c91111b6c15f, 0x34d782e2c1c97a81 - .quad 0x3484873499e69a71, 0x34d2ba486638ab1e - .quad 0x3480573c7a800f18, 0x34cdd4be385e9720 - .quad 0x347a030c72f0cf33, 0x34c7c17c5d99552c - .quad 0x3474b36ddfcc8743, 0x34c2ea5f617d321f - .quad 0x347078e5ec28bafd, 0x34be1e853589fe15 - .quad 0x346a362e51221b9f, 0x34b7f9fd64579e1a - .quad 0x3464da2bb75a5c65, 0x34b3159306d0abd0 - .quad 0x3460962c95c3eb50, 0x34ae6076548c0765 - .quad 0x345a624c67aa97df, 0x34a82c376c3acddf - .quad 0x3454fb4e0c13d490, 0x34a33bbfc6dd55a6 - .quad 0x3450aef82f484486, 0x349e9a5b32d2ef52 - .quad 0x344a874210dbadcf, 0x34985800f4a2d262 - .quad 0x344516b94dabb86d, 0x34935cc607ce4fd8 - .quad 0x3440c33410fd4c56, 0x348ecc03cea2935d - .quad 0x343aa4f078af0321, 0x34887d359f39448e - .quad 0x34352c5696370c9d, 0x3483788a50e33e44 - .quad 0x3430d2cf5025ba2d, 0x347ef546c9652b0a - .quad 0x342abb3ec79d594d, 0x34789bb66243bfd5 - .quad 0x34253c13ca08d951, 0x34738ef570827673 - .quad 0x3420ddbcd68fc943, 0x346f1601a115b514 - .quad 0x341aca1a45423b35, 0x3468b369b3c6ec4f - .quad 0x341545e3b0f8838a, 0x34639ff49c7fe5e8 - .quad 0x3410e3f374dd9d68, 0x345f2e18e05495b4 - .quad 0x340ad1767288e013, 0x3458c43bad265564 - .quad 0x340549be08e15927, 0x3453ab798c59d4c2 - .quad 0x3400e56def61fbc4, 0x344f3d7844c8a592 - .quad 0x33fad14d1b2f0b5f, 0x3448ce1e26fb8214 - .quad 0x33f5479f9137160b, 0x3443b17a8d383f04 - .quad 0x33f0e22b05782284, 0x343f4412db819edf - .quad 0x33eac99e5e7b9269, 0x3438d108ccedcd75 - .quad 0x33e53f8a0f98a8b8, 0x3433b1f28f8795ca - .quad 0x33e0da2d734853ff, 0x342f41e3132440da - .quad 0x33daba70af1767b0, 0x3428ccf9296410ae - .quad 0x33d531844d58365e, 0x3423ace12e143377 - .quad 0x33d0cd7bedf59779, 0x341f36eac3bc78c2 - .quad 0x33caa3d0ca096eed, 0x3418c1f2a8f92477 - .quad 0x33c51d9a0dfd2e93, 0x3413a24aae988ae7 - .quad 0x33c0bc211a3c2859, 0x340f23332c263066 - .quad 0x33ba85d1a4e6bedc, 0x3408affe95ac6f2a - .quad 0x33b503dbfed30324, 0x34039237fbbcfa18 - .quad 0x33b0a62b7d92f095, 0x33ff06cce511da3e - .quad 0x33aa608c535a2ba1, 0x33f8972c09d7f45c - .quad 0x33a4e45f9fa4adff, 0x33f37cb698950bda - .quad 0x33a08bad69ed20a4, 0x33eee1cfc9be3df9 - .quad 0x339a341fe436d2d7, 0x33e8778fdb058321 - .quad 0x3394bf3f24d273a5, 0x33e361d88db2b95b - .quad 0x33906cbce44363ec, 0x33deb45ad695330a - .quad 0x338a00b13659be7c, 0x33d851447ccc879b - .quad 0x3384949952fc2371, 0x33d341b44ff4c3c6 - .quad 0x3380497386163a39, 0x33ce7e93fdecae00 - .quad 0x3379c66ac5ae65b3, 0x33c82469dbf1833e - .quad 0x337464915486577b, 0x33c31c64a141680e - .quad 0x337021ee5a248c7f, 0x33be40a7f340982a - .quad 0x3369857c70b8b2bc, 0x33b7f125320f1e94 - .quad 0x33642f4e894cc71a, 0x33b2f2086b6a5cf4 - .quad 0x335fec9b69351b70, 0x33adfac9ed4c27ce - .quad 0x33593e1b371520a1, 0x33a7b7a0d21f0262 - .quad 0x3353f4fc50de840a, 0x33a2c2c295822108 - .quad 0x334f8d6a0e0a9508, 0x339dad335f7aacdb - .quad 0x3348f080f16c57c0, 0x3397780bee4609a1 - .quad 0x3343b5c9cfaada16, 0x33928eb9d3f5000a - .quad 0x333f269560bdbf92, 0x338d5823ab37d92e - .quad 0x33389cec0363502d, 0x3387329a5753ca24 - .quad 0x333371e9af8e6ccf, 0x3382561873c1cc7a - .quad 0x332eb86f931c309d, 0x337cfbdfc9b64d6e - .quad 0x3328439f081b525a, 0x3376e7843670c8d2 - .quad 0x33232991dc38028e, 0x3372190c2136fc76 - .quad 0x331e434fdd743954, 0x336c98b1eed08258 - .quad 0x3317e4e079de1a2e, 0x33669705c180d6c1 - .quad 0x3312dcfb3be31ebd, 0x3361d7c5aaa09490 - .quad 0x330dc7920bafc5dc, 0x335c2ee925b3e3f6 - .quad 0x330780fa5599d558, 0x3356415eeac7f744 - .quad 0x33028c6164ec1235, 0x33519278bf59ff34 - .quad 0x32fd459605b63623, 0x334bbed8e8100752 - .quad 0x32f71839bad6a45b, 0x3345e6d30c67b96b - .quad 0x32f2380250c57526, 0x3341495babbc8d8e - .quad 0x32ecbdbf53eed588, 0x333b48d8b08c37b5 - .quad 0x32e6aaee88d3a5e6, 0x333587a8905112eb - .quad 0x32e1e01e0cda0c0e, 0x3330fca71267dd26 - .quad 0x32dc3074a0c1c67d, 0x332acd43894c1f06 - .quad 0x32d6396af97c5f7f, 0x33252428954b7c2f - .quad 0x32d184f669e7e645, 0x3320ac95a364b406 - .quad 0x32cb9e1f37f768c9, 0x331a4c779750fb77 - .quad 0x32c5c4033ae88d94, 0x3314bc9e91b546a8 - .quad 0x32c126ceaa621095, 0x33105963d1a5105b - .quad 0x32bb072a84d6770b, 0x3309c6d5a387a6d7 - .quad 0x32b54b0d08180ac6, 0x33045157f4a2e598 - .quad 0x32b0c5eb30658611, 0x3300034f87652744 - .quad 0x32aa6c038fdf5aed, 0x32f93cc0a254a9f5 - .quad 0x32a4cedf419a9b38, 0x32f3e2a3c60327aa - .quad 0x32a062912bcc23f9, 0x32ef552fb3e1c70b - .quad 0x3299cd187cff951c, 0x32e8ae9d3a6eb66f - .quad 0x32944fd186d008c2, 0x32e370d2466d3327 - .quad 0x328ffa0c91caab55, 0x32de9ef97aa04b46 - .quad 0x32892ad80b12a09b, 0x32d81cd14bd535bb - .quad 0x3283ce3bd0683046, 0x32d2fc348f3a8121 - .quad 0x327f2b20c0b002ab, 0x32cde47d70b3398c - .quad 0x327885b1157e885c, 0x32c787c377ac34cd - .quad 0x32734a760cc47aca, 0x32c2851c338b22e4 - .quad 0x326e58ea51580bad, 0x32bd263d33512bb6 - .quad 0x3267de1218b19542, 0x32b6efdaa9c0e45e - .quad 0x3262c4d7bed4d522, 0x32b20bdae2cd61c6 - .quad 0x325d83f3d3e6d150, 0x32ac64ba5bdb46de - .quad 0x32573468ba3c29b8, 0x32a6557da47246f7 - .quad 0x32523db7a001a935, 0x32a190c20d5b5808 - .quad 0x324cacc668087b83, 0x329ba075f0192b60 - .quad 0x324689215536317f, 0x3295b9128fb09361 - .quad 0x3241b56b45aac06f, 0x329114228bb99133 - .quad 0x323bd3e92f58e3ae, 0x328ad9efd6e7e350 - .quad 0x3235dca68b92a62f, 0x32851afe8bbb6b6c - .quad 0x32312c46cab86e91, 0x3280964c48f92b05 - .quad 0x322af9e0c680145a, 0x327a11a652260d00 - .quad 0x32252f60dcf5b390, 0x32747ba5483b6e8f - .quad 0x3220a29c7db10f70, 0x3270178df0b67157 - .quad 0x321a1f2ec5b27de2, 0x326948157e97fbd7 - .quad 0x321481b643932bec, 0x3263db68a0470a4f - .quad 0x321018bc93b8e2e5, 0x325f306942454ae6 - .quad 0x3209445149305037, 0x32587db6da6dd3ca - .quad 0x3203d409d78b6819, 0x32533aa83bd4deab - .quad 0x31ff1de9c1ab95aa, 0x324e311742f9561b - .quad 0x31f869c2824b4b6b, 0x3247b300d303ed2c - .quad 0x31f326bb792c8c5b, 0x324299c1370fc2d1 - .quad 0x31ee0b212b870715, 0x323d31b83aa1a53b - .quad 0x31e78ff85165ac91, 0x3236e8665a634aff - .quad 0x31e27a27826da7a5, 0x3231f90dcff1976e - .quad 0x31dcf9b0072f8176, 0x322c32d9c998168a - .quad 0x31d6b763e947db08, 0x32261e5684f4d137 - .quad 0x31d1cea67fe8699c, 0x322158e51a7ac97e - .quad 0x31cbea20cad09b1f, 0x321b350464c51c99 - .quad 0x31c5e0717c155a1c, 0x3215553c2fc66728 - .quad 0x31c1248cf18568a2, 0x3210b99abbccdbb1 - .quad 0x31badcf760300963, 0x320a38baebfb68e4 - .quad 0x31b50b87f214792d, 0x32048d7dafad7ffe - .quad 0x31b07c2b12fe4dba, 0x32001b7eac5ea688 - .quad 0x31a9d2b0d0c4a0b1, 0x31f93e7a4bb07430 - .quad 0x31a43908aa677d25, 0x31f3c77c897ed254 - .quad 0x319fab995891c153, 0x31eefdba02e2ceff - .quad 0x3198cbc2fe600108, 0x31e846b92a47c343 - .quad 0x3193694f45c1b92f, 0x31e30395337f89bb - .quad 0x318e6371d3dc0233, 0x31ddc7fb7bbca8ad - .quad 0x3187c89c6867890e, 0x31d751e7a10e8264 - .quad 0x31829cb17b0f706b, 0x31d2421ee0211f87 - .quad 0x317d20647a807a0c, 0x31cc9649548abac7 - .quad 0x3176c9a3fd812077, 0x31c6606f00ed6d5d - .quad 0x3171d37ef5f490cd, 0x31c1836b52067807 - .quad 0x316be2ec88ae1479, 0x31bb6922692e74d4 - .quad 0x3165cf38f9818abf, 0x31b572b1a2c0293a - .quad 0x31610e013ef486f7, 0x31b0c7c6b93f06a1 - .quad 0x315aab7b734b99f6, 0x31aa40fcadcdd133 - .quad 0x3154d9b2cf546b09, 0x31a4890ac32b69b5 - .quad 0x31504c7bad04b57c, 0x31a00f779993bbc1 - .quad 0x31497a78d5f1c6db, 0x31991e450ac30542 - .quad 0x3143e9611e821800, 0x3193a3ce69b6a143 - .quad 0x313f1e56c0773bb7, 0x318eb57d7362f984 - .quad 0x313850426f2df55d, 0x3188015f467ddd40 - .quad 0x3132fe8bb3e4f4d8, 0x3182c3495adab7d8 - .quad 0x312dac8e8a813f1f, 0x317d53ae35dbfa26 - .quad 0x31272d2c2a7422ab, 0x3176eaa5fce4af3a - .quad 0x31221972950f570d, 0x3171e7c114a57a33 - .quad 0x311c44004226dc17, 0x316bf9ebf2ac34cf - .quad 0x3116118037139874, 0x3165da6aa3adb7a3 - .quad 0x31113a4e15d42467, 0x31611173d5813f4d - .quad 0x310ae501496e23f2, 0x315aa895a750e0f6 - .quad 0x3104fd7f2b705e64, 0x3154d0f59b16ac32 - .quad 0x3100614ef7575b09, 0x31504098aca1b898 - .quad 0x30f98fdb1084fd1c, 0x31495ffef5a788b3 - .quad 0x30f3f16033b4da17, 0x3143ce864a4f75bb - .quad 0x30ef1d3d20014dd3, 0x313eeabf27142ccb - .quad 0x30e844cb59a101a9, 0x31382070510e6e91 - .quad 0x30e2ed514b22b68b, 0x3132d35346de60f3 - .quad 0x30dd84bdf7421499, 0x312d5fe3202b4d44 - .quad 0x30d7040489842ad7, 0x3126ea2738b3dbeb - .quad 0x30d1f1777f205012, 0x3121df8a8637ba9c - .quad 0x30cbf956a62adf73, 0x311be0e1bcc5bf2b - .quad 0x30c5cdae0381ff94, 0x3115bd567e120a1c - .quad 0x30c0fdef3b187063, 0x3110f35198b8b7f7 - .quad 0x30ba7b2fd5556b6a, 0x310a6df243f2c6f4 - .quad 0x30b4a1e48fd99b8e, 0x31049a26968a8fd1 - .quad 0x30b012cc9c3d142a, 0x31000ec5ed2dbe3e - .quad 0x30a90a652d08b6ec, 0x30f9073f3afbdfeb - .quad 0x30a380bacb3471d9, 0x30f380b5f70c487d - .quad 0x309e603798765b0a, 0x30ee63fa380d130b - .quad 0x3097a705e88ab4c8, 0x30e7ace6e086aab7 - .quad 0x30926a399e180e7c, 0x30e2711978a97cf7 - .quad 0x308cabc2c3d98d7c, 0x30dcba0a72ae9c08 - .quad 0x308651157275ac6f, 0x30d65efbb20adf2d - .quad 0x30815e60bb1a2bac, 0x30d16b5cc5019368 - .quad 0x307b08358e30e1b1, 0x30cb1fca598944c3 - .quad 0x3075088c08941b89, 0x30c51d84fa353951 - .quad 0x30705d2722aa0abe, 0x30c06f82c9619b90 - .quad 0x3069757d44a0d5d1, 0x30b9953a1cf16aad - .quad 0x3063cd5765cc7b51, 0x30b3e87f66d27bb0 - .quad 0x305eccf7568ff3af, 0x30aefb0c5f0312cd - .quad 0x3057f37a88128933, 0x30a81a4d1085cfd1 - .quad 0x30529f5b70afae6e, 0x30a2bfdda4e2b20c - .quad 0x304cf48b1a182cb9, 0x309d2ab3b59164a6 - .quad 0x304682022c0d8296, 0x3096aeea740e7e26 - .quad 0x30417e72ed48d1c2, 0x3091a389017ca93c - .quad 0x303b30c9decefa86, 0x308b6dd2d215fccf - .quad 0x303520de188c8ff4, 0x308552ee415230cd - .quad 0x30306a7030db71fb, 0x308093620e33d9f9 - .quad 0x30298166f02e00aa, 0x3079c4336b720df7 - .quad 0x3023cfce2d301755, 0x30740629fd47fda6 - .quad 0x301ec63bac9af50a, 0x306f1e828f7f1e6e - .quad 0x3017e609b497d4bf, 0x30682d92bd0fbc5b - .quad 0x30128e89244647b5, 0x3062c8658b1c7fab - .quad 0x300cd07ee41894f6, 0x305d2def7b6139fb - .quad 0x30065e4eca3c47ce, 0x3056a9a29142865a - .quad 0x30015cbd7439af48, 0x3051995fff959855 - .quad 0x2ffaf324889fe32e, 0x304b549f742691f7 - .quad 0x2ff4e9c920d5db05, 0x3045380a4af4c2e9 - .quad 0x2ff03a122e1077b7, 0x304078d07375b0b0 - .quad 0x2fe92d9bd168c630, 0x3039921acfd99f39 - .quad 0x2fe388030ea8589c, 0x3033d867ecfb60a5 - .quad 0x2fde4c4faf832008, 0x302ecccda72dba49 - .quad 0x2fd77f4a046c515e, 0x3027e5deef2de87b - .quad 0x2fd2387f5f4b712e, 0x30228a511d87ce7d - .quad 0x2fcc413282821079, 0x301cc3995b1e2c40 - .quad 0x2fc5e78bc56d0fbb, 0x30164f5f80200f46 - .quad 0x2fc0faba5af01355, 0x30114d5424501d7e - .quad 0x2fba51f8a6830159, 0x300ad54bef9112d0 - .quad 0x2fb465b65a83bdbb, 0x3004ce07b8d50856 - .quad 0x2faf9c5589e7201f, 0x300020f8e226943e - .quad 0x2fa87dc5ad8af9ec, 0x2ff90123a8271991 - .quad 0x2fa2f918e4d3f95c, 0x2ff3613b89391a8f - .quad 0x2f9d6485a170413a, 0x2fee098381b76cd3 - .quad 0x2f96c3b66970be3d, 0x2fe7465697a54c64 - .quad 0x2f91a0fd8c3a4e6f, 0x2fe20858c20a1795 - .quad 0x2f8b4ce217bd5e55, 0x2fdbf05934cfa1cc - .quad 0x2f8522e259c7017a, 0x2fd5a41409f84e49 - .quad 0x2f805caa9cf257c4, 0x2fd0c2b83023243d - .quad 0x2f7954427a430b11, 0x2fc9f5672cf62a4f - .quad 0x2f739a5d07601e71, 0x2fc41985de8f7a14 - .quad 0x2f6e56c72cc01fcc, 0x2fbf1f5d5615d783 - .quad 0x2f67797a6e64ddc9, 0x2fb8179bfb69c631 - .quad 0x2f6229374c838060, 0x2fb2a5d1d1f1ae5c - .quad 0x2f5c18d454a503ae, 0x2facdd1c2bddbb9e - .quad 0x2f55bb5b3e414ad3, 0x2fa655e203c78ad0 - .quad 0x2f50ce808921de57, 0x2fa1481ab5a1469a - .quad 0x2f49fdfe587f056a, 0x2f9abd4ca4bd8884 - .quad 0x2f4418b54bd6a895, 0x2f94af20f59f283d - .quad 0x2f3f128f851039d9, 0x2f8fff032b2dbde7 - .quad 0x2f3804c6e03f60cb, 0x2f88be8c488684b4 - .quad 0x2f3290596a08a94f, 0x2f83223f2e5be0f0 - .quad 0x2f2cb1395c8187f6, 0x2f7d964d959533d1 - .quad 0x2f262bb1316ec5fc, 0x2f76df780d5ecc43 - .quad 0x2f21211a1b47d3ae, 0x2f71ae2302fd4bcd - .quad 0x2f1a772150026811, 0x2f6b5455f4e2ce45 - .quad 0x2f147143aa78b5fe, 0x2f651eade2a24279 - .quad 0x2f0f93996ba5e93d, 0x2f6051b3f15282e5 - .quad 0x2f08626f2553e204, 0x2f593760037df87a - .quad 0x2f02d4091cd12adc, 0x2f537ace1ccc1a8d - .quad 0x2efd1294db79df79, 0x2f4e17b7713cf17f - .quad 0x2ef6715149108678, 0x2f473db39c4b278b - .quad 0x2ef1529206516167, 0x2f41f27cc2724f90 - .quad 0x2eeabce28a1f17f2, 0x2f3bb70eb3792a1c - .quad 0x2ee4a1fe3e55f964, 0x2f35659e4463ddd1 - .quad 0x2edfd6eb54be7326, 0x2f308462ba9624db - .quad 0x2ed89049c51b8388, 0x2f297f4ffe1284a1 - .quad 0x2ed2f2b5e6789756, 0x2f23ad748e88c53f - .quad 0x2ecd3aa617478594, 0x2f1e5e5db98318a5 - .quad 0x2ec68a9e9f7b2f9a, 0x2f176e6798f53e9a - .quad 0x2ec161c2a1de488e, 0x2f121393590da64b - .quad 0x2ebacda38e82463b, 0x2f0be32dc731f12c - .quad 0x2eb4a9c33e05809a, 0x2f05824d30f3fce1 - .quad 0x2eafdaf4969fc450, 0x2f009660e736b8bd - .quad 0x2ea88d45a53c41c5, 0x2ef994b0856743cb - .quad 0x2ea2eba8f55fe897, 0x2ef3b9051c5e7679 - .quad 0x2e9d287e1e77c85a, 0x2eee689bae600601 - .quad 0x2e96770239fc87e6, 0x2ee77071c1633b26 - .quad 0x2e914e513c1b20dc, 0x2ee210a174166fcd - .quad 0x2e8aa90041143186, 0x2edbd7abebe480e6 - .quad 0x2e8488642c71cfa6, 0x2ed5740f6d4ed277 - .quad 0x2e7f9f9ce5a157bb, 0x2ed0874302ee34fd - .quad 0x2e785974997b931f, 0x2ec97701e51a6bfe - .quad 0x2e72bf0c37efc00b, 0x2ec39d3aac239fe2 - .quad 0x2e6cdc89092e43c3, 0x2ebe36341a88ea0c - .quad 0x2e6636f0e2785c54, 0x2eb743c5e4db43f9 - .quad 0x2e6118b19def65f8, 0x2eb1e9b8ad36fd99 - .quad 0x2e5a4fd2c459c710, 0x2eab94cde5e4fc30 - .quad 0x2e543ea7a73d5cf0, 0x2ea53b3a109a94ae - .quad 0x2e4f26454740b953, 0x2ea057635a1ed1df - .quad 0x2e47f60ab495565c, 0x2e9926f55b776f91 - .quad 0x2e426de8be09d876, 0x2e935abb1f1cadef - .quad 0x2e3c5889cb51dbb9, 0x2e8dc853b381e5a0 - .quad 0x2e35cbe6a335189c, 0x2e86e96e5d005f5d - .quad 0x2e30c22190c33c65, 0x2e819fc0dba0e848 - .quad 0x2e29c42b0a7816ac, 0x2e7b1c21d6e11086 - .quad 0x2e23ce41b9a97542, 0x2e74d91f3701143c - .quad 0x2e1e71ba6efe048b, 0x2e7007de792cfd6e - .quad 0x2e176552635a3b27, 0x2e68a6663a0ececb - .quad 0x2e11fa1c7f04e719, 0x2e62f310e41037d6 - .quad 0x2e0b9f88d1e59fb3, 0x2e5d2185735c5ad9 - .quad 0x2e0538582347c59e, 0x2e566381bdd98a02 - .quad 0x2e004c9ca3c242ad, 0x2e51346f1ba5a69a - .quad 0x2df9093a8968bba5, 0x2e4a706fd9470fb8 - .quad 0x2df339c31e0d51b7, 0x2e445000f1eec014 - .quad 0x2ded8619415342d3, 0x2e3f3510620184ea - .quad 0x2de6aa95f63dd017, 0x2e37f84791f6fdbb - .quad 0x2de16648113f6ec6, 0x2e32689bc620188b - .quad 0x2ddab5b65b277be7, 0x2e2c45998d7521ae - .quad 0x2dd47f9aad3382fe, 0x2e25b50e4b7d6356 - .quad 0x2dcf7591b1b1c875, 0x2e20aa3508d5db00 - .quad 0x2dc82335294ba260, 0x2e19959eb6f64db6 - .quad 0x2dc2848053b7dfb1, 0x2e13a2fb2a16d1cc - .quad 0x2dbc68a6f5a8ef62, 0x2e0e23b370697cbb - .quad 0x2db5c9ffcce7e5fd, 0x2e0720876851d9fb - .quad 0x2db0b5b54d487d35, 0x2e01be79c992aff6 - .quad 0x2da9a0421e5c5d71, 0x2dfb3980569c43a5 - .quad 0x2da3a5c4268d4e27, 0x2df4e1fc4f822568 - .quad 0x2d9e1fba80d34a41, 0x2df0042910b94342 - .quad 0x2d97172912ec21f8, 0x2de8908e30f7a1b3 - .quad 0x2d91b271db151968, 0x2de2d5e5a1b8288e - .quad 0x2d8b1f9ef2d6b135, 0x2ddce1b3b9ea6267 - .quad 0x2d84c872d1af92bc, 0x2dd623e8fb994f23 - .quad 0x2d7fd87064e02a6f, 0x2dd0f8695160ca38 - .quad 0x2d78652a61cdcd3b, 0x2dca031b186be289 - .quad 0x2d72af84a660968d, 0x2dc3eee8e04dc3a0 - .quad 0x2d6c9f07af149226, 0x2dbe8bd23cc416f0 - .quad 0x2d65eacf76fffc0c, 0x2db766e8d5583265 - .quad 0x2d60c80f3efbbf3f, 0x2db1ed2fab014c43 - .quad 0x2d59b1f8ffd8f3c8, 0x2dab76010ebb6c6a - .quad 0x2d53ab5d5023fe4a, 0x2da507d813502ab7 - .quad 0x2d4e1c174ea2aaa6, 0x2da01aa61c90eacc - .quad 0x2d470b05029068da, 0x2d98a90544ab274d - .quad 0x2d41a1fba21de5f0, 0x2d92e0fb0911dd84 - .quad 0x2d3afb70654af059, 0x2d8ce6f24739f7c7 - .quad 0x2d34a458b53b2a84, 0x2d861eefc532711f - .quad 0x2d2f944d95c81983, 0x2d80edb77098a960 - .quad 0x2d28272ab43f7156, 0x2d79e82e04d9025f - .quad 0x2d2278886c5a4d73, 0x2d73d237a2e0f859 - .quad 0x2d1c3f57b512a1f2, 0x2d6e5385c7d0efe0 - .quad 0x2d1598c52c5d1746, 0x2d673258d0b919eb - .quad 0x2d10828ad1da0983, 0x2d61bdb57d01cecc - .quad 0x2d093d4935512f54, 0x2d5b223e5e67d24a - .quad 0x2d034a3670d3cd59, 0x2d54bf43098a2ef1 - .quad 0x2cfd7b67cefff216, 0x2d4fb93db1e39a21 - .quad 0x2cf686e7356020d2, 0x2d48402d3eada60a - .quad 0x2cf135e695d6d4f8, 0x2d42892e31597360 - .quad 0x2cea4b6028e1ae52, 0x2d3c5502f868f04b - .quad 0x2ce415808da66669, 0x2d35a670a5d83e0e - .quad 0x2cdead51e60a821d, 0x2d308ac71830fd4e - .quad 0x2cd76cfe88ffbfa7, 0x2d29467d9d3bce7d - .quad 0x2cd1e2e61d740a91, 0x2d234ea92731d6f0 - .quad 0x2ccb4f6c22875415, 0x2d1d7e402cf49a21 - .quad 0x2cc4d8e03e448998, 0x2d16860e96265ba8 - .quad 0x2cbfd2c6816f010b, 0x2d1132f279000564 - .quad 0x2cb8494b75728df1, 0x2d0a4356bd52863e - .quad 0x2cb28836b62851b4, 0x2d040cac092d16a6 - .quad 0x2cac476ceb4ce0a6, 0x2cfe9bb8c8c45eaa - .quad 0x2ca592d26553a529, 0x2cf75c6ad9777c96 - .quad 0x2ca074be65f60432, 0x2cf1d3d889242361 - .quad 0x2c991a14719373e5, 0x2ceb34c7bf3e0108 - .quad 0x2c93248b33f78dd9, 0x2ce4c1bf325b5886 - .quad 0x2c8d316bfa6ecf07, 0x2cdfab351a6d7271 - .quad 0x2c8641dc398561ef, 0x2cd827d8b273a859 - .quad 0x2c80f79d08c027e2, 0x2cd26c35a8453a6e - .quad 0x2c79ddabce45ff88, 0x2ccc18e854f7a653 - .quad 0x2c73b6a0443345f1, 0x2cc56c727238c10e - .quad 0x2c6e0b830517633f, 0x2cc05545196af9e3 - .quad 0x2c66e4903f595976, 0x2cb8e6b62ae03487 - .quad 0x2c6170eca4e7a4ca, 0x2cb2facf384d3a3b - .quad 0x2c5a92756c27d93a, 0x2caceddf1e753b81 - .quad 0x2c543d40bf74392d, 0x2ca60b61e0028436 - .quad 0x2c4ed3e286c4c0de, 0x2ca0cbd09b1e5e10 - .quad 0x2c477993389df313, 0x2c9997719e8b73a8 - .quad 0x2c41dfa945eaae99, 0x2c937e77cf85ca37 - .quad 0x2c3b36ec5aa05880, 0x2c8db1e802a6c81f - .quad 0x2c34b749e64b35f5, 0x2c869d3aa6fccfd9 - .quad 0x2c2f88d823260c9e, 0x2c81383f4dd09079 - .quad 0x2c27ffa0f1fabb65, 0x2c7a388f33976b7b - .quad 0x2c2242e12375b352, 0x2c73f613589599c6 - .quad 0x2c1bc9a844ffd2b5, 0x2c6e635a66e3ebe7 - .quad 0x2c1523af73f84783, 0x2c6720bfb4a981d7 - .quad 0x2c10146a610e0588, 0x2c6199a49bcc5100 - .quad 0x2c087590d6d36008, 0x2c5ac8ae259e160c - .quad 0x2c0299b80ea6bb7f, 0x2c54609b0c4183ca - .quad 0x2bfc496292aa266b, 0x2c4f00af26520f9d - .quad 0x2bf5817f72c95e4c, 0x2c4794ce31e24c7b - .quad 0x2bf059392396d038, 0x2c41ef2877dbfcad - .quad 0x2be8da5a346cbb3f, 0x2c3b468dc95cb829 - .quad 0x2be2e36a9eb80d32, 0x2c34bd213115ac94 - .quad 0x2bdcb4fb203e18a0, 0x2c2f88862b544527 - .quad 0x2bd5cfe5be9615c7, 0x2c27f861b04cbe3a - .quad 0x2bd0923c6394f695, 0x2c22380a7a548a2f - .quad 0x2bc92d18166ccd51, 0x2c1bb1122f6e5762 - .quad 0x2bc31f510cb3f507, 0x2c150ad48dd9b3a6 - .quad 0x2bbd0b7c794af438, 0x2c0ff9ab8e5d6631 - .quad 0x2bb60e2f23228ded, 0x2c084a97f6b3e853 - .quad 0x2bb0bef1906dac58, 0x2c0273a4b16ba84f - .quad 0x2ba96d0ca88e4fc0, 0x2bfc07484e1da469 - .quad 0x2ba34ce1af3c1b60, 0x2bf549037ceef1fe - .quad 0x2b9d4c1f7c67dd18, 0x2bf0298e0fc06037 - .quad 0x2b963bcc0600e3b1, 0x2be88ab45875f419 - .quad 0x2b90def17046c37e, 0x2be2a16e161fa35f - .quad 0x2b8999a40ba75f42, 0x2bdc48699c75f345 - .quad 0x2b836bb3093bcf7f, 0x2bd5771e906a9978 - .quad 0x2b7d764e5657aa20, 0x2bd04a04a1699caa - .quad 0x2b7658528dc53bd5, 0x2bc8b822865b44e6 - .quad 0x2b70f1f1acd583c0, 0x2bc2c0fc98ac934c - .quad 0x2b69b2768ee2e280, 0x2bbc73df0b6d4334 - .quad 0x2b637b7d60833afb, 0x2bb594bab8ddacb1 - .quad 0x2b5d89a6c43f4c10, 0x2bb05dee05833b3c - .quad 0x2b5663803afd90e2, 0x2ba8d278c9cbfc58 - .quad 0x2b50f7c5f2e42650, 0x2ba2d206b997c2cc - .quad 0x2b49b74a41343d69, 0x2b9c89434d36542f - .quad 0x2b437c1bd3bb9cfe, 0x2b95a192e33cf627 - .quad 0x2b3d85fb90bdf218, 0x2b90651bc0c61b20 - .quad 0x2b365d3aea4b609e, 0x2b88d9799e5f2521 - .quad 0x2b30f0609e7aa674, 0x2b82d464a6b30dc2 - .quad 0x2b29a813d2878f74, 0x2b7c88645e6c88ee - .quad 0x2b236d8ce9d2217b, 0x2b759d89052b0525 - .quad 0x2b1d6b5543d3c940, 0x2b705f7d07f3fb02 - .quad 0x2b1645913a262a36, 0x2b68cd14a1185c8d - .quad 0x2b10dbd2f003b6a5, 0x2b62c810d60e767e - .quad 0x2b0984f6bfe67780, 0x2b5c714448c370a6 - .quad 0x2b034ff297cd534d, 0x2b5588a691f2cd1f - .quad 0x2afd39f201da2255, 0x2b504d1f01416963 - .quad 0x2af61cba521cabb4, 0x2b48ad66d03eba59 - .quad 0x2af0ba4cc94c45b3, 0x2b42ad281b8cc2a0 - .quad 0x2ae94e44c9a075e7, 0x2b3c44191b160ec2 - .quad 0x2ae32391bcecdc03, 0x2b35631c55b5d22c - .quad 0x2adcf2449a3fda4b, 0x2b302e2c911c7929 - .quad 0x2ad5e3150cc8eda4, 0x2b287aba1a7120bf - .quad 0x2ad08c1bf3c985fa, 0x2b2283e938a586f7 - .quad 0x2ac9047cb663bb8c, 0x2b1c014c17012593 - .quad 0x2ac2e8d117dfdd44, 0x2b152d41b7968429 - .quad 0x2abc94f2cb2815a8, 0x2b1002edb3674f27 - .quad 0x2ab599268900e7bc, 0x2b0835843f5f0b0c - .quad 0x2ab051aaf415041d, 0x2b024cb3e8b7d756 - .quad 0x2aa8a84869fc8267, 0x2afba9781881c8a9 - .quad 0x2aa2a037bab743e1, 0x2af4e79366e7a470 - .quad 0x2a9c22d2c350e306, 0x2aef978cc962d426 - .quad 0x2a953f982a03a248, 0x2ae7de65083f0e21 - .quad 0x2a900b7f70f68972, 0x2ae208076f18ea30 - .quad 0x2a883a7a5a0b9d4d, 0x2adb3d6740403453 - .quad 0x2a824a6b05eb3eda, 0x2ad492b17a8d9ad4 - .quad 0x2a7b9ce7efad864c, 0x2acf126a42ab2a64 - .quad 0x2a74d7351162fad8, 0x2ac77623e1a3ca2f - .quad 0x2a6f74706d1f613c, 0x2ac1b680aeae0c3c - .quad 0x2a67bc0a6e57fbc5, 0x2ababe0fed214bca - .quad 0x2a61e82c35430e3d, 0x2ab42f5d0cb0afeb - .quad 0x2a5b045f25c98b4b, 0x2aae77a20528f8f5 - .quad 0x2a5460e7202036c7, 0x2aa6fdace394b03c - .quad 0x2a4ebd15c07c2acd, 0x2aa158d7d54f1681 - .quad 0x2a472e125d540295, 0x2a9a2c9115542385 - .quad 0x2a417a558b9c184f, 0x2a93be755f8b210c - .quad 0x2a3a5a8a3f3de092, 0x2a8dc88f077bd369 - .quad 0x2a33ddb38ecb5b52, 0x2a86760d57bb9982 - .quad 0x2a2df2826b036578, 0x2a80efdda755dbb3 - .quad 0x2a2691c997f37f0e, 0x2a798a2e123c782e - .quad 0x2a2101d72c627ff7, 0x2a7340f49a722110 - .quad 0x2a19a0db3d2b8dac, 0x2a6d06b3f65f6fd0 - .quad 0x2a134eb72e63e592, 0x2a65e06fcff790f4 - .quad 0x2a0d166c8f34fca4, 0x2a607c787991a680 - .quad 0x2a05e880d9f1fe43, 0x2a58d849f54265f7 - .quad 0x2a007fb3b2ff1602, 0x2a52b7ec30262d2b - .quad 0x29f8d8df0cbffd52, 0x2a4c33b5a8ad639f - .quad 0x29f2b52265317648, 0x2a453e17e1a8afad - .quad 0x29ec2aa6bd34f17b, 0x2a3fff41d2913dab - .quad 0x29e5339d751ff2a1, 0x2a3818627da2e9e4 - .quad 0x29dfe9f93308c405, 0x2a32248100f21115 - .quad 0x29d80438073219de, 0x2a2b515531d535eb - .quad 0x29d21234fbc4a127, 0x2a24905d9b84e0cb - .quad 0x29cb31198aa5f8ab, 0x2a1ef4bcc5f71a72 - .quad 0x29c474946f304456, 0x2a174c0ac8d03b2b - .quad 0x29bec59d00f3fe38, 0x2a1187e74c209a91 - .quad 0x29b7249848679fa9, 0x2a0a6169b09c4411 - .quad 0x29b16739cec78bd4, 0x2a03d8a8ccb26cd9 - .quad 0x29aa2bbd0795adee, 0x29fddb87127c2076 - .quad 0x29a3ace589cd3352, 0x29f674e5d7be735c - .quad 0x299d949ad392f075, 0x29f0e35e84d33d3f - .quad 0x29963bbbf78651cc, 0x29e965d9f895d99c - .quad 0x2990b5827a3ba382, 0x29e3186c34406960 - .quad 0x29891c922f9ee4c0, 0x29dcb5d51a48d7d4 - .quad 0x2982de164c74e725, 0x29d594a1039f0199 - .quad 0x297c5941f108d9d1, 0x29d0382d1e479246 - .quad 0x29754b639c219649, 0x29c8609634a384cc - .quad 0x296ffcc62473097a, 0x29c25120afe02122 - .quad 0x2968059c757355ae, 0x29bb85e31314f4b4 - .quad 0x296209ad26ca18d9, 0x29b4acee7c0fcbaf - .quad 0x295b15e18d0d2d12, 0x29af0f38c6449ad9 - .quad 0x2954554e9983b016, 0x29a753919ff4b182 - .quad 0x294e865bf893f8f4, 0x29a1844080030d76 - .quad 0x2946e8db855aac9a, 0x299a4dede3a3eb93 - .quad 0x2941312cc0ae5d04, 0x2993bf7fe7aa33a0 - .quad 0x2939ccc1bfbf7ecb, 0x298da5e8d4d639ed - .quad 0x29335b35e7d0088e, 0x298640bc7176cda7 - .quad 0x292d0a5ff60b92cf, 0x2980b342b640cc13 - .quad 0x2925c84558f35d95, 0x2979102c47629cb9 - .quad 0x2920560f8bafb2c7, 0x2972ce013e375d0f - .quad 0x2918801ce509ea26, 0x296c36f07720a932 - .quad 0x29125ec7207b3c64, 0x296529fe13854ed9 - .quad 0x290b8b58f7c67c36, 0x295fbf2dc269c35d - .quad 0x2904a5c0b3b7424d, 0x2957cec854a40ddc - .quad 0x28fef3874e46141b, 0x2951da13f1aaaee6 - .quad 0x28f732197e24d857, 0x294ac4c46230c45c - .quad 0x28f1619ff0ea7ec6, 0x2944112fbeff8a1f - .quad 0x28ea0bb46a0a2c53, 0x293e15420dda8758 - .quad 0x28e383201c8ba71a, 0x29368bd97eb5b05d - .quad 0x28dd3b4e4b894768, 0x2930e54a78756b6b - .quad 0x28d5e4c4aaef0130, 0x292951c14f527745 - .quad 0x28d0654a030d3e70, 0x2922f8178dd14a04 - .quad 0x28c88dc03d1ca801, 0x291c6b6bf9361ee4 - .quad 0x28c2621d65152a67, 0x2915495f2949c65e - .quad 0x28bb860981f4834a, 0x290fe24891c8ca0c - .quad 0x28b49a0d4c97c281, 0x2907e02609a87253 - .quad 0x28aed66ed1143993, 0x2901e064158c947b - .quad 0x28a713a5a10cc9b0, 0x28fac4304f253262 - .quad 0x28a14455cbbff469, 0x28f4093bdea6e36f - .quad 0x2899d62205df47a6, 0x28edfe14a435c3c2 - .quad 0x289353bfdeb15aa4, 0x28e6720e3d624fdc - .quad 0x288ce97f23783a55, 0x28e0cba8970a9d66 - .quad 0x28859f649793ea9a, 0x28d921e961b81171 - .quad 0x28802b46c188f22d, 0x28d2cd3135c626d1 - .quad 0x28782dcfdba2d59c, 0x28cc2097f7f7c953 - .quad 0x287213830f44d648, 0x28c5096e15b063db - .quad 0x286b0639acae41c7, 0x28bf76b39886a20d - .quad 0x286432d063e4cc5a, 0x28b786c2636e4e2a - .quad 0x285e3096b161ade1, 0x28b196dc712e8651 - .quad 0x28568f1646f450cc, 0x28aa4c39680abb0b - .quad 0x2850dad51a121c5f, 0x28a3a80eb1934625 - .quad 0x28492ed52465cf13, 0x289d6196b3830612 - .quad 0x2842cf8cdb32b26d, 0x2895f4b3b930a91a - .quad 0x283c1934bb7035c1, 0x289067b3db09279e - .quad 0x2834fbc11c19c0b7, 0x2888832413bcb6f5 - .quad 0x282f5613cdc1ad52, 0x28824f8b72bbd6ee - .quad 0x28276547ab0f816a, 0x287b5a5bcacf14dd - .quad 0x2821770c93ef3136, 0x28746d8046ba690c - .quad 0x281a128a30d837eb, 0x286e8209bd7c6d4d - .quad 0x281375630e92b790, 0x2866c744b66f6406 - .quad 0x280d0a93cd8add1e, 0x2861015024fefc8d - .quad 0x2805ab4549d6cf15, 0x2859631ba1694964 - .quad 0x28002a8fed4a1944, 0x2852f2b3b1ae197d - .quad 0x27f81e6d5efc2ece, 0x284c47e5b8f9de0c - .quad 0x27f1fd54f3e20bfc, 0x28451a481761d265 - .quad 0x27ead523512d80ae, 0x283f7d2ff106229c - .quad 0x27e4023f854f9c86, 0x28377da522f79ec5 - .quad 0x27ddd649c8fad0d5, 0x283185a192bd02b4 - .quad 0x27d63e684c4d4572, 0x282a22ed5ef67f83 - .quad 0x27d094b5ecc6e290, 0x28237d9a85948033 - .quad 0x27c8b7643330549e, 0x281d10da89b8212a - .quad 0x27c26b65f14cd4da, 0x2815ab7d4224f7e2 - .quad 0x27bb734f53e57228, 0x2810276587fa1c20 - .quad 0x27b473b9d1931175, 0x280814bdb918424d - .quad 0x27ae78d8c6e84fdd, 0x2801f2684f2af658 - .quad 0x27a6b2a2c93cd65a, 0x27fabf540fb4e1a1 - .quad 0x27a0e7a7b055d281, 0x27f3eddfeeed0dd2 - .quad 0x27992d87cacce695, 0x27edb1c82f79707d - .quad 0x2792bf57b6e0d98d, 0x27e61ea0b7eb4c3c - .quad 0x278bea4f9488e121, 0x27e0799f1fb897d8 - .quad 0x2784c7d8bf7bdc41, 0x27d889f21fdb1d69 - .quad 0x277eef6b8bfa9225, 0x27d245c20ba28a39 - .quad 0x277705ed2bbfd521, 0x27cb3598a0d59840 - .quad 0x277121f1b69882eb, 0x27c4418fde75923e - .quad 0x27697ec608197c79, 0x27be27e05b6c31f9 - .quad 0x2762f7b0edc74f1c, 0x27b671af7f5d8858 - .quad 0x275c380c41f75030, 0x27b0b3d4442eda68 - .quad 0x2754fd20f15083b3, 0x27a8db341e4d4306 - .quad 0x274f37ea8d01e9c5, 0x27a27e37e3bc73c9 - .quad 0x274736cebb19a201, 0x279b83a639f29a80 - .quad 0x2741428c012e2c57, 0x27947730acf38edc - .quad 0x2739a9ae80c06018, 0x278e710d5155d028 - .quad 0x27331371c2b63b80, 0x2786a331ab64b688 - .quad 0x272c5b240b14f4d6, 0x2780d4fd25f7f52e - .quad 0x2725129ffd17a136, 0x27790712f4e38e37 - .quad 0x271f510ba62354a5, 0x27729ac951c1e60b - .quad 0x27174468acd1611c, 0x276ba819d5f14678 - .quad 0x271148e1d96c299e, 0x27648dce2dc3ecd5 - .quad 0x2709ad7d58aaba44, 0x275e8c0193d16d55 - .quad 0x2703121b71d77179, 0x2756b2456938b866 - .quad 0x26fc52f68dd90e64, 0x2750dc826696c76c - .quad 0x26f507f397188496, 0x27490cc63cdbf2a2 - .quad 0x26ef3a5bdf92c388, 0x27429af3c144f8c0 - .quad 0x26e72e7cbdbb95db, 0x273ba24cc0f4c8e2 - .quad 0x26e134d638b07143, 0x27348500e815d897 - .quad 0x26d98a2111174d79, 0x272e7841c45926d0 - .quad 0x26d2f3b409e1b7b6, 0x27269ea5b1b71301 - .quad 0x26cc1fa91a869695, 0x2720ca4195cda6d3 - .quad 0x26c4dd4c7d7ec9fa, 0x2718ec33daf13649 - .quad 0x26bef442d8796795, 0x27127eb66fea5e85 - .quad 0x26b6f56f0c0f22b9, 0x270b72598c77c448 - .quad 0x26b106c4a594a047, 0x27045cf12a60cb9a - .quad 0x26a9403b0e4bd1b9, 0x26fe36284e81b5ff - .quad 0x26a2b8c63e7468c1, 0x26f668ac570f2fc8 - .quad 0x269bc22598793379, 0x26f09e8e37ef2488 - .quad 0x2694936d06178106, 0x26e8a5f0c63b5c24 - .quad 0x268e7fffb3b16a7d, 0x26e2469273320bda - .quad 0x26869a431ed205a0, 0x26db191b44e70edf - .quad 0x2680bf7e7cce4d07, 0x26d41655d7606103 - .quad 0x2678d11ace4d8996, 0x26cdc6e2b76185d5 - .quad 0x2672625d4b960a47, 0x26c6114f58eab906 - .quad 0x266b3c139841a735, 0x26c05a2f4a403a4d - .quad 0x26642ba35d81be5c, 0x26b83b3c9af7ee45 - .quad 0x265ddf9fa6fc513a, 0x26b1f386e3013e68 - .quad 0x26561e943a26f542, 0x26aa9826f127d04d - .quad 0x26506044c28d2704, 0x26a3b26ef9596f74 - .quad 0x26483eb403668f94, 0x269d2c68adc24dd3 - .quad 0x2641f1fd15ed30fe, 0x26959a199b7c8167 - .quad 0x263a8fcbdc7eab51, 0x268ffcb2bfa5b8da - .quad 0x2633a7bfb4be9962, 0x2687adf828472cfd - .quad 0x262d15ee90987618, 0x2681870951a86a79 - .quad 0x2625848951944920, 0x2679f1bfa110cbba - .quad 0x261fd57d7b45b3ca, 0x267332fc55367264 - .quad 0x26178b8ffae32bf0, 0x266c696d39db75f3 - .quad 0x26116996dab0cd1e, 0x2665051f4ea04fdf - .quad 0x2609c046dcaa75a4, 0x265f194b2a4cb970 - .quad 0x26030a06c462f23e, 0x265700975cbb46aa - .quad 0x25fc2662350ce7fa, 0x265102fae0ec7794 - .quad 0x25f4cec5169fb931, 0x264928c588cfb6d9 - .quad 0x25eec1db7d8e44b5, 0x26429a3060c44f3a - .quad 0x25e6babae8929706, 0x263b814aa869e0e4 - .quad 0x25e0cb7ae5506e7e, 0x263454ee7edd0063 - .quad 0x25d8d106f7f4047e, 0x262e0e0b72e6ef2e - .quad 0x25d255213192c405, 0x2626360f251c2f1f - .quad 0x25cb1500fc71b69a, 0x2620699a6631f93f - .quad 0x25c40052c8ba04b4, 0x261840a0d97bb129 - .quad 0x25bd8a3d24511c07, 0x2611eaa023d58a69 - .quad 0x25b5cfadd7b97160, 0x260a77ea01d8b821 - .quad 0x25b01a47ddad3ea8, 0x26038c7c7057a652 - .quad 0x25a7c5ff3799c35b, 0x25fcdf6c504a93e5 - .quad 0x25a18c087e86a1f3, 0x25f551bff88c1175 - .quad 0x2599e64530b957f4, 0x25ef7ae8590bb800 - .quad 0x25931c908986e1a8, 0x25e73d293026bc2a - .quad 0x258c33b25da2082e, 0x25e12730a9790f69 - .quad 0x2584ce362055227e, 0x25d951a7082f394a - .quad 0x257eb1b0ae0a386a, 0x25d2af1081b22794 - .quad 0x2576a3779e1ff3b0, 0x25cb925bc48353e0 - .quad 0x2570b1f245435eea, 0x25c4575deb5305a2 - .quad 0x25689efddb97fd18, 0x25be029ff0fc8645 - .quad 0x256227180cb0a8ca, 0x25b6228a92a17423 - .quad 0x255ac39e8a7de062, 0x25b05302bb5e3a1a - .quad 0x2553ba5b5279aa24, 0x25a81331d3a2cc81 - .quad 0x254d145ea8ff6403, 0x25a1c02d69097c72 - .quad 0x25456df011e743b9, 0x259a2c1b0ae83a64 - .quad 0x253f94750d0f9308, 0x25934ad734ae6135 - .quad 0x2537442e7172840a, 0x258c703bfdc748cd - .quad 0x253123a683e9b9d5, 0x2584f5290291de6e - .quad 0x25293f94a8e393e5, 0x257ee2bb5a2a4470 - .quad 0x252298449094a080, 0x2576c16f34d9525e - .quad 0x251b62c8f87855a8, 0x2570c379a70923bc - .quad 0x25142a02f59d51ef, 0x2568b21b8919710f - .quad 0x250db09bb0ffb21f, 0x2562303a1b68b2de - .quad 0x2505daee76f997a8, 0x255ac9c706a79cfc - .quad 0x25001604a662bf4c, 0x2553b983b3f72fb5 - .quad 0x24f7ad33d50dacd0, 0x254d0b33fd9b6e85 - .quad 0x24f16c1e4c8c451a, 0x2545615904c6373a - .quad 0x24e9a32159dea0d8, 0x253f7950165d693d - .quad 0x24e2dc48781056c9, 0x253729dc070c926a - .quad 0x24dbbf2871addffb, 0x25310b9b38c6e833 - .quad 0x24d4684a4152d4e0, 0x2529154f9f73ee5f - .quad 0x24ce03df4eb2c204, 0x25227418ebfd96be - .quad 0x24c6120558a89b12, 0x251b26192fa2f36e - .quad 0x24c03a014bcb5352, 0x2513f7df7d25b3e6 - .quad 0x24b7db773a6f6623, 0x250d5ec232ba3385 - .quad 0x24b1893b9023690d, 0x250598c75ff21ea4 - .quad 0x24a9c6ba6a49465a, 0x24ffc1f9e46a53e2 - .quad 0x24a2f125d64e7642, 0x24f758c452444076 - .quad 0x249bd607b51aff83, 0x24f1294b791c6529 - .quad 0x2494735d5e25dd32, 0x24e939e692035be7 - .quad 0x248e0bb7795ebab2, 0x24e289cc9b3b4107 - .quad 0x248611962fb4b008, 0x24db3e5c199dc217 - .quad 0x248035217aa6e0ad, 0x24d40415be2c6028 - .quad 0x2477cd9c096da3b3, 0x24cd6871e2c76342 - .quad 0x24717a22cd2a508f, 0x24c599d2a64857ab - .quad 0x2469a95351e8c9f1, 0x24bfba952efabe51 - .quad 0x2462d63f329a8bcb, 0x24b74cc660d4897a - .quad 0x245ba6ba0cb47e2b, 0x24b11baa6a990cd8 - .quad 0x24544ae89d144108, 0x24a91ecc31adec4e - .quad 0x244dc7e8d1b8f556, 0x24a270b14a1f9816 - .quad 0x2445d9a42222275c, 0x249b11d883fd3ec1 - .quad 0x24400789e350bd1a, 0x2493ddca348b8e79 - .quad 0x2437840aaba80c98, 0x248d27f9dd765764 - .quad 0x24313f45ccd8c935, 0x24856472f42babf3 - .quad 0x24294bc9a9955f26, 0x247f6359d3980ea5 - .quad 0x24228c5f3eaf8edd, 0x2477063ccd1b83c6 - .quad 0x241b32a3c3e46a35, 0x2470e31f012ad2b3 - .quad 0x2413f01c91fe7f47, 0x2468c4cd2c02ec2d - .quad 0x240d3a718c61d154, 0x2462298481c2ca0d - .quad 0x24056bd3dd5a05c1, 0x245aa1de55237abc - .quad 0x23ff65222fadfc00, 0x2453861db33230b0 - .quad 0x23f700eb717cfb77, 0x244c9f401331dbf6 - .quad 0x23f0da5e12700c8d, 0x2444fa3a533642f6 - .quad 0x23e8b0da54d3c71f, 0x243ebed8656f1a7b - .quad 0x23e215aeed941b43, 0x2436873a105b43c2 - .quad 0x23da7d28bd609e50, 0x2430815216360470 - .quad 0x23d3659f3261d190, 0x24282e8d038330ca - .quad 0x23cc6770887b13f6, 0x2421b65bea6b7e6a - .quad 0x23c4cb570f463d9d, 0x2419f1b427ce89a2 - .quad 0x23be715dafe5cd60, 0x2412ff9fffd4f5f9 - .quad 0x23b6480ba9b1723c, 0x240bd241d06b6757 - .quad 0x23b04e575dd6f2eb, 0x24045e411382662b - .quad 0x23a7dcff6d521467, 0x23fdd1da1bc7ec85 - .quad 0x23a1759a98201ff3, 0x23f5d36e9f7af39c - .quad 0x23998b82586ccf2d, 0x23eff233639de02a - .quad 0x2392af6afc0ce651, 0x23e7606528b3cf28 - .quad 0x238b54f244df93df, 0x23e11a8b54a30c34 - .quad 0x2383fcc4e4385b18, 0x23d9066e8a3084ad - .quad 0x237d3abb2d5b9282, 0x23d24e2ffedd9f78 - .quad 0x23755eaec016b2b5, 0x23cac6e23cde6ac9 - .quad 0x236f3e576e5bfb2c, 0x23c394ff72563c26 - .quad 0x2366d6394041cb01, 0x23bca3259bb8013e - .quad 0x2360b0a8012d71fb, 0x23b4effb58fcce20 - .quad 0x2358647f7f3a91de, 0x23ae9cac23b8427e - .quad 0x2351d29e5c60946b, 0x23a6602f707600f3 - .quad 0x234a0aa72640fd47, 0x23a05a7bd790a4bc - .quad 0x234305e23384e58a, 0x2397e6b1b23c38f4 - .quad 0x233bc9e08de1532f, 0x239176cc55ca9b80 - .quad 0x23344b4e89c6a35f, 0x238984a277e8539a - .quad 0x232da366d9d2b975, 0x2382a417253e014b - .quad 0x2325a3c60cb2c6b1, 0x237b3b2c9b4277c6 - .quad 0x231f98800fc076db, 0x2373e333559670c8 - .quad 0x23171033226bf0af, 0x236d0b8591b88278 - .quad 0x2310d53e944a7e18, 0x236534ff7f271b4d - .quad 0x23089187f3d75a14, 0x235ef6ed82d51675 - .quad 0x2301ed5d0deddfb7, 0x23569a61d0edc9d2 - .quad 0x22fa28be72757b85, 0x23507f57aca805f1 - .quad 0x22f3154ef266983d, 0x234814481a9f253c - .quad 0x22ebd6d859990532, 0x2341921067277b5d - .quad 0x22e44dcd404b4fcd, 0x2339a3a7d2712f82 - .quad 0x22dd9cdf2aadd6a6, 0x2332b45137355f77 - .quad 0x22d5979672b76b96, 0x232b497e1657b91b - .quad 0x22cf7be424410479, 0x2323e6cfcc06ed27 - .quad 0x22c6f36e7903ba4f, 0x231d06cfa865bc4e - .quad 0x22c0ba8019bd4e86, 0x23152a47395ed2ae - .quad 0x22b8621eaa755f34, 0x230edca8e605e67a - .quad 0x22b1c4a9efdce654, 0x23067f77ef705254 - .quad 0x22a9e475b5aaea97, 0x2300660edcde1e02 - .quad 0x22a2dd03980220ac, 0x22f7e727aec99554 - .quad 0x229b7b478b8fda1c, 0x22f16b24c391593b - .quad 0x22940424c4fd21f7, 0x22e96221780dfe95 - .quad 0x228d276d459f43c7, 0x22e27e2788696d86 - .quad 0x22853aa8c500f5d0, 0x22daf1357749947c - .quad 0x227ee9c5073f397e, 0x22d39fac2bf7a531 - .quad 0x2276812e6a2e8fc0, 0x22cc9538eaa71fb0 - .quad 0x22706198ecffc0e0, 0x22c4d04b3a802aee - .quad 0x2267d857ef6fe55a, 0x22be4f0604536408 - .quad 0x22615a4dc243cc5f, 0x22b610a0b4ec8401 - .quad 0x225940cad97ee071, 0x22b00fbde3ac71c6 - .quad 0x22525f772e00c70a, 0x22a7614bf61d6bfa - .quad 0x224abb2fd3f529ef, 0x22a103beefa07650 - .quad 0x2243718d87e8a0af, 0x2298c2ef94786008 - .quad 0x223c48328a4346eb, 0x229203fa39242793 - .quad 0x2234910b37b4de72, 0x228a36313f8e64ec - .quad 0x222de8817c6f33b9, 0x228310e5f6fbfd44 - .quad 0x2225be6c950a7e6f, 0x227bbbb999bb060a - .quad 0x221f9ccdcf7c94fe, 0x22742afa66f9fdc1 - .quad 0x2216fa2fc442a9d3, 0x226d54340d9c375d - .quad 0x2210b2e58cb15f5c, 0x226552b1ae6aeaa2 - .quad 0x220844d490056942, 0x225f004e9f45a94b - .quad 0x2201a217943b9ac7, 0x22568887b7750462 - .quad 0x21f99edc3fa555f4, 0x2250605cdc8a1e5e - .quad 0x21f29c58e31af831, 0x2247ccfa0b55e3f7 - .quad 0x21eb08c96a2d341c, 0x22414b13fa04509f - .quad 0x21e3a2063aa9bfc9, 0x22392087a96ea8f4 - .quad 0x21dc831fc61280f7, 0x223240a6edc95f53 - .quad 0x21d4b37d15842e1d, 0x222a83b0db0fa5b6 - .quad 0x21ce0e63f582488b, 0x22234170d65d2fe5 - .quad 0x21c5d11b81c3fea7, 0x221bf6f703f6c8b1 - .quad 0x21bfab1b4f400c2e, 0x22144dcd884a52dc - .quad 0x21b6fb3ff8ccf41c, 0x220d7adc6f76430f - .quad 0x21b0ace5d20891a2, 0x2205661968fc8c68 - .quad 0x21a8324934a763f4, 0x21ff0fe41a3b588b - .quad 0x21a18d7d8058e531, 0x21f68ab147365bff - .quad 0x2199769602e7d2c4, 0x21f05b48bc57ed71 - .quad 0x21927797b62a04a4, 0x21e7bbf2311e9661 - .quad 0x218ac8851524d431, 0x21e137b41cf9c9a4 - .quad 0x21836b7751d5da7f, 0x21d8fa3947e525d9 - .quad 0x217c2874cefea298, 0x21d21d7603b6e2cc - .quad 0x2174695ee8470b66, 0x21ca45e3910021ac - .quad 0x216d96c311be3eb3, 0x21c30cd0207d04ed - .quad 0x216571909f179506, 0x21bb9f4dc504a668 - .quad 0x215f13cd05945d89, 0x21b40603dadb780a - .quad 0x2156844e0504f766, 0x21ad06d41c212c13 - .quad 0x21504ff770417c7e, 0x21a509522cc01f2f - .quad 0x2147a1d7e8c27e50, 0x219e7cd2184183eb - .quad 0x21411dc1d57f7df8, 0x219616fb7b910c11 - .quad 0x2138ca6e2e342651, 0x219000d1267395e3 - .quad 0x2131f372812d1e14, 0x21872f3f6faafe57 - .quad 0x2129fe4fa21e8c98, 0x2180cacf12619fe1 - .quad 0x2122d1356c845fd1, 0x2178525cca4f244d - .quad 0x211b3db9cc5a58f3, 0x21719c8ed29100e2 - .quad 0x2113b7359a6b9391, 0x216980913a0c5f1e - .quad 0x210c88e8c09b9bb2, 0x2162763b979d57b5 - .quad 0x2104a59cf5958098, 0x215aba192db244fd - .quad 0x20fde016eddfacad, 0x215357ff9fbc97f4 - .quad 0x20f59c942db45eae, 0x214bff2fa5de1e9d - .quad 0x20ef437cec9632b8, 0x21444204156d00fc - .quad 0x20e69c4293cefa3f, 0x213d500e0534289d - .quad 0x20e059a8a5ce0ce7, 0x21353470ed39dd97 - .quad 0x20d7a4cdf5c8de47, 0x212eacebdf5973c2 - .quad 0x20d117e42e10afc5, 0x21262f6cc2a62dbd - .quad 0x20c8b65a792fe140, 0x21200aff63626acf - .quad 0x20c1dc89fe4a5f8a, 0x2117331cb44dd6ec - .quad 0x20b9d10a7562f377, 0x2110c5bd0cbfba30 - .quad 0x20b2a7b1b1593291, 0x21083fa43f4f73d5 - .quad 0x20aaf4fe4d278bf9, 0x210186c76677c8f7 - .quad 0x20a37971726a776e, 0x20f955251a12574c - .quad 0x209c225447c48b85, 0x20f24e359c6528bb - .quad 0x209451dde15504ec, 0x20ea73bf0e7dcf7b - .quad 0x208d592869bae136, 0x20e31c1d70a5a26c - .quad 0x20853109f6b70a02, 0x20db9b8fd3b82ace - .quad 0x207e99944d35a898, 0x20d3f09320694d40 - .quad 0x20761706e7ea0b42, 0x20ccccb2e7856e93 - .quad 0x206fe3aefa4cdaa2, 0x20c4cba948866255 - .quad 0x206703e40ae0b133, 0x20be0741675f15a5 - .quad 0x20609bc65f9b8064, 0x20b5ad70c9e433d4 - .quad 0x2057f7aeba02f7ef, 0x20af4b51e95f89d5 - .quad 0x20514a9f8443d058, 0x20a695f8add0a062 - .quad 0x2048f272381e3222, 0x20a04c7c2a8ead79 - .quad 0x2041fe6a1ccca721, 0x2097854e0a5444cf - .quad 0x2039f437947f2743, 0x2090f822de49bc54 - .quad 0x2032b72bc2a1bb29, 0x20887b7be69a8c26 - .quad 0x202afd058f4d5cb9, 0x2081a8a41a9a7340 - .quad 0x202374e8637e822f, 0x2079788b1f83908e - .quad 0x201c0ce07e3f5247, 0x20725e0558a5c077 - .quad 0x201437a22e46ffc9, 0x206a7c824c7683f1 - .quad 0x200d23ca31c0220c, 0x2063184a6ce13b46 - .quad 0x2004ff5980398e02, 0x205b8765a48c0cf1 - .quad 0x1ffe41c1da9f8a5f, 0x2053d775743f06ae - .quad 0x1ff5cc0cd28b81e5, 0x204c9936e428a9d9 - .quad 0x1fef66c3f065ea05, 0x20449b86c1b194ce - .quad 0x1fe69db8a882e290, 0x203db1f5331fbe71 - .quad 0x1fe049650c331274, 0x2035647ccc18e717 - .quad 0x1fd774577e1faf4f, 0x202ed19d0b78718c - .quad 0x1fd0e2e586d3df5c, 0x202632541cab3ac0 - .quad 0x1fc84fe1b767669b, 0x201ff82820edeaab - .quad 0x1fc17fdd44e1dc6c, 0x201705073deb552a - .quad 0x1fb9304d9065a4b9, 0x201092c6a4a26abf - .quad 0x1fb220449767742a, 0x2007dc8eab3ed87a - .quad 0x1faa158f0df4c356, 0x20012ce032c827ce - .quad 0x1fa2c4123936432b, 0x1ff8b8e0c1372c25 - .quad 0x1f9aff97ef6163ed, 0x1ff1ca5926404568 - .quad 0x1f936b3b4511d82b, 0x1fe999f1ae9f978b - .quad 0x1f8bee57a0fbbbdc, 0x1fe26b285aeabdbe - .quad 0x1f8415b32c89327c, 0x1fda7fb366632c72 - .quad 0x1f7ce1bb2fa9523e, 0x1fd30f431387ee69 - .quad 0x1f74c36baf8c2285, 0x1fcb6a15925d0c25 - .quad 0x1f6dd9ad3d89a4a5, 0x1fc3b69cf0bd5608 - .quad 0x1f657454d4c97f21, 0x1fbc590587256b75 - .quad 0x1f5ed615f7bfd7d2, 0x1fb46127e8d37ba7 - .quad 0x1f56285ce2e2e29b, 0x1fad4c6e38ed7f06 - .quad 0x1f4fd6db0d73348e, 0x1fa50ed44039bd53 - .quad 0x1f46df705a8252f7, 0x1f9e4438317c2a1e - .quad 0x1f406defd40bdb09, 0x1f95bf9082dc8412 - .quad 0x1f379979f15ddb0d, 0x1f8f4049875ce630 - .quad 0x1f30f2823287afb6, 0x1f8673497e5a0d03 - .quad 0x1f2856628e34ac2c, 0x1f802042eb28efef - .quad 0x1f217913a85a33a7, 0x1f7729ea3d219a53 - .quad 0x1f19161145d0e326, 0x1f70a2671c8cdbee - .quad 0x1f120191f16dc709, 0x1f67e35c0288722e - .quad 0x1f09d86b59187f4e, 0x1f612680a24c58f5 - .quad 0x1f028be97e6e9065, 0x1f589f8647df9662 - .quad 0x1efa9d5434377e7b, 0x1f51ac7d823a316c - .quad 0x1ef31805749922c3, 0x1f495e4eba9494ca - .quad 0x1eeb64ad6eec66d3, 0x1f42344a7c981006 - .quad 0x1ee3a5cfae5998ec, 0x1f3a1f993b67371d - .quad 0x1edc2e56cdffce02, 0x1f32bdd30bebc795 - .quad 0x1ed43530bcc0ee3a, 0x1f2ae347debd3070 - .quad 0x1eccfa2e45eea63d, 0x1f23490165a1de50 - .quad 0x1ec4c60fe9d5cbc1, 0x1f1ba93aee1c301f - .quad 0x1ebdc80ffece4451, 0x1f13d5be7b8309a9 - .quad 0x1eb558533bc564e3, 0x1f0c7150ead1fd0e - .quad 0x1eae97d659702f92, 0x1f0463f1fe01b7da - .quad 0x1ea5ebdf78f85a03, 0x1efd3b6691d169e3 - .quad 0x1e9f6959f5cadd73, 0x1ef4f3825f642b00 - .quad 0x1e9680982d0eea8a, 0x1eee0756e0ca137b - .quad 0x1e901e38dd55bfc7, 0x1ee58454d7cf0720 - .quad 0x1e87165faec70a10, 0x1eded4fb1c7fef16 - .quad 0x1e8088796f5a0260, 0x1ed6164d6a338985 - .quad 0x1e77ad1726ce2f3c, 0x1ecfa42ad866b600 - .quad 0x1e70f3587953aeb5, 0x1ec6a94eea23ecd2 - .quad 0x1e68449e977fef01, 0x1ec03a5dffc21d0d - .quad 0x1e615ebef6827c9d, 0x1eb73d3b028fc2cf - .quad 0x1e58dcd4e591ac76, 0x1eb0a3416f4dd0f1 - .quad 0x1e51ca951b79a938, 0x1ea7d1f23d694b62 - .quad 0x1e497597e1aad586, 0x1ea10ca917d13a59 - .quad 0x1e4236c25d3c18a2, 0x1e9867540c340902 - .quad 0x1e3a0ec452e85047, 0x1e91767d933fa0f7 - .quad 0x1e32a32d78fe110f, 0x1e88fd3ed17c059f - .quad 0x1e2aa8360248e3ed, 0x1e81e0a6bf884441 - .quad 0x1e230fbc7c8ab284, 0x1e79938feb3469d1 - .quad 0x1e1b41c7c6ff8cc6, 0x1e724b0bc63cac6b - .quad 0x1e137c54cf4ab1fc, 0x1e6a2a23bdfb3241 - .quad 0x1e0bdb5393a7ccd2, 0x1e62b59324d7fd9b - .quad 0x1e03e8db3be9418c, 0x1e5ac0d5c13ef72a - .quad 0x1dfc74b284572b4c, 0x1e532022b5a4d882 - .quad 0x1df45533fa93710c, 0x1e4b57808c42df0b - .quad 0x1ded0dbced86364c, 0x1e438a9fb93eb860 - .quad 0x1de4c142bbcdb51b, 0x1e3bedfde3fbf9f1 - .quad 0x1ddda64a6bca7ad0, 0x1e33f4eee0ab230d - .quad 0x1dd52ceab3daa53b, 0x1e2c8426c9c266d4 - .quad 0x1dce3e31f45a0a96, 0x1e245ef458066425 - .quad 0x1dc5980ea6ad6692, 0x1e1d19d38acfc932 - .quad 0x1dbed549e6504cf2, 0x1e14c893d1bef1fe - .quad 0x1db60290f4619f98, 0x1e0daedbd083bb8e - .quad 0x1daf6b681cab013b, 0x1e0531b0925a021e - .quad 0x1da66c53a6323b06, 0x1dfe4316b16614af - .quad 0x1da00031007ac3e3, 0x1df59a2d7cbb3c39 - .quad 0x1d96d5387be7adf6, 0x1deed65ac2de0264 - .quad 0x1d904a064f4bdd38, 0x1de601ed1ee8e719 - .quad 0x1d873d20f9b5e73b, 0x1ddf687e2b942e41 - .quad 0x1d80931e5b5e6c43, 0x1dd668d1bf455ad8 - .quad 0x1d77a3ee7681856f, 0x1dcff956b675583b - .quad 0x1d70db636a632668, 0x1dc6cebd6a35f863 - .quad 0x1d6809822a836e1f, 0x1dc0445cf3250898 - .quad 0x1d6122bfb19eafe7, 0x1db73392002f5fc2 - .quad 0x1d586dbd3e416493, 0x1db08b3e84ebc2b9 - .quad 0x1d51691d609b1ec9, 0x1da79731441e1e21 - .quad 0x1d48d080d9d1c96d, 0x1da0d13aa83e4b01 - .quad 0x1d41ae66ac0b0b6a, 0x1d97f97cea22928b - .quad 0x1d3931ae34603f62, 0x1d91163bef9eebc1 - .quad 0x1d31f285d8d6c817, 0x1d885a56a6965552 - .quad 0x1d299126a3e88ca5, 0x1d815a2cf3193875 - .quad 0x1d223565474c154e, 0x1d78b9a03d510324 - .quad 0x1d19eecbad1cb519, 0x1d719cf85b21a11f - .quad 0x1d1276ef7e686add, 0x1d69173b9121e9f7 - .quad 0x1d0a4a7f136af77e, 0x1d61de88eb969b39 - .quad 0x1d02b70f3735b79f, 0x1d59730ab373bc61 - .quad 0x1cfaa422e918100d, 0x1d521ec98edb9593 - .quad 0x1cf2f5af68314ac2, 0x1d49cceff40f1fb1 - .quad 0x1ceafb999f61e5d4, 0x1d425da56105b758 - .quad 0x1ce332bb50b471fb, 0x1d3a24cdf0f0a2e7 - .quad 0x1cdb50c6169e961b, 0x1d329b07bb123c75 - .quad 0x1cd36e1e845638bb, 0x1d2a7a87a6267113 - .quad 0x1ccba38bae4baa67, 0x1d22d6dc3e1e1b47 - .quad 0x1cc3a7c4f63d9d53, 0x1d1ace007da9e0c8 - .quad 0x1cbbf3ce55012ad1, 0x1d13110ede9680ce - .quad 0x1cb3df9b045b81fc, 0x1d0b1f1c5f28dcc9 - .quad 0x1cac4172983c2f7e, 0x1d03498bef599a58 - .quad 0x1ca4158d828399ae, 0x1cfb6dbfbfb30836 - .quad 0x1c9c8c5db3f49157, 0x1cf380402cbf1542 - .quad 0x1c944989c55b9312, 0x1cebb9cfb13e7262 - .quad 0x1c8cd475a1f163ee, 0x1ce3b518c77fb7d2 - .quad 0x1c847b7dad17cf31, 0x1cdc0331f1f7ac71 - .quad 0x1c7d19a128cff8a4, 0x1cd3e8036f737914 - .quad 0x1c74ab57affd05a9, 0x1ccc49ccfb511d2c - .quad 0x1c6d5bc7eab14dfb, 0x1cc418ee5e1d890e - .quad 0x1c64d906e49e5535, 0x1cbc8d8810c585d4 - .quad 0x1c5d9ad27381fd3d, 0x1cb447c860fdcf2c - .quad 0x1c55047b0bcf6527, 0x1cacce4b4e41cdca - .quad 0x1c4dd6aa46d0f45c, 0x1ca47480e39f8181 - .quad 0x1c452da49a426b16, 0x1c9d0bffb62a59f5 - .quad 0x1c3e0f39ed2991f9, 0x1c949f07f95c9d66 - .quad 0x1c355474c1ca1f2b, 0x1c8d468f3ef07049 - .quad 0x1c2e446d00e60d84, 0x1c84c74e66ce3841 - .quad 0x1c2578dd7a37e92b, 0x1c7d7de4e02c6f6f - .quad 0x1c1e76303a6f7572, 0x1c74ed45aae1d60c - .quad 0x1c159ad189ced845, 0x1c6db1ec9f31f5e1 - .quad 0x1c0ea4717be0f8c8, 0x1c6510e0078c325e - .quad 0x1c05ba448d444792, 0x1c5de2939b1372f7 - .quad 0x1bfecf1fdc04a7db, 0x1c5532108a122ff3 - .quad 0x1bf5d72aff4768da, 0x1c4e0fc8180b06b8 - .quad 0x1beef62bb0a0594a, 0x1c4550cb12e0f1db - .quad 0x1be5f17a3f894e1d, 0x1c3e39798a3f0a89 - .quad 0x1bdf19869809eb8a, 0x1c356d045cee7811 - .quad 0x1bd60928993f7077, 0x1c2e5f989fd91cad - .quad 0x1bcf392381fab056, 0x1c2586b2049c7737 - .quad 0x1bc61e2d491b1f68, 0x1c1e82174a67122f - .quad 0x1bbf54f6b79a6d5f, 0x1c159dca8e17880f - .quad 0x1bb6308082b0b65c, 0x1c0ea0e8c77dc629 - .quad 0x1baf6cf5e2bb03dc, 0x1c05b2456b2d3672 - .quad 0x1ba6401b7549eebb, 0x1bfebc01a8965943 - .quad 0x1b9f8118143e7eb0, 0x1bf5c41b0093e8e9 - .quad 0x1b964cf8501f223b, 0x1beed357da1f18ba - .quad 0x1b8f9155c9a1fbd1, 0x1be5d344aaa010f1 - .quad 0x1b86571245f3d39a, 0x1bdee6e2a9b9efd0 - .quad 0x1b7f9da8f1a8a0cc, 0x1bd5dfbcc1628fd2 - .quad 0x1b765e6590135a00, 0x1bcef69acba2f951 - .quad 0x1b6fa60cf0228aad, 0x1bc5e97e9c2cbc7f - .quad 0x1b6662ef70ab154b, 0x1bbf027a5f3a7f56 - .quad 0x1b5faa7ea0cc6ecb, 0x1bb5f0869476fb64 - .quad 0x1b5664ae34801e0e, 0x1baf0a7cf2ae7563 - .quad 0x1b4faafc59456a8c, 0x1ba5f4d2082760f5 - .quad 0x1b4663a133fef350, 0x1b9f0e9f85c03b41 - .quad 0x1b3fa785ea194bf2, 0x1b95f65f5b366281 - .quad 0x1b365fc8d3a43882, 0x1b8f0ee08ba43cd5 - .quad 0x1b2fa01c9ede6a16, 0x1b85f52df8b025d3 - .quad 0x1b26592683be2829, 0x1b7f0b3febf9cbcd - .quad 0x1b1f94c33d66f35b, 0x1b75f13e53118eaa - .quad 0x1b164fbcbf86f1ab, 0x1b6f03bf02da5a7a - .quad 0x1b0f857e040665a0, 0x1b65ea91e400b8af - .quad 0x1b06438f0b98cab0, 0x1b5ef860a0000a7a - .quad 0x1aff7252a6ecb2bb, 0x1b55e12b2b611c72 - .quad 0x1af634a1f3bd0d7e, 0x1b4ee92905044d53 - .quad 0x1aef5b484c995f72, 0x1b45d50dadc42d9d - .quad 0x1ae622fb08184d56, 0x1b3ed61de2b81fc4 - .quad 0x1adf40678969b4f4, 0x1b35c63df237cf4d - .quad 0x1ad60ea0d9b5d711, 0x1b2ebf4655983167 - .quad 0x1acf21ba5a45e2af, 0x1b25b4c17f7488b1 - .quad 0x1ac5f79af6759efd, 0x1b1ea4aae160108a - .quad 0x1abeff4c1e71b057, 0x1b15a09ed86def16 - .quad 0x1ab5ddf1e460242c, 0x1b0e86556bc034fe - .quad 0x1aaed92990861c73, 0x1b0589dd784842f0 - .quad 0x1aa5c1af1c6454be, 0x1afe6451363b8311 - .quad 0x1a9eaf60be99fa59, 0x1af57085cdb6c23e - .quad 0x1a95a2dd0483fd76, 0x1aee3eaad7319948 - .quad 0x1a8e820101a05296, 0x1ae554a135c6b3d2 - .quad 0x1a858186e973c8cb, 0x1ade1570321beee3 - .quad 0x1a7e511af403f0e1, 0x1ad53639f61bab8b - .quad 0x1a755db8f7b445c6, 0x1acde8b06f0475d8 - .quad 0x1a6e1cc067882b19, 0x1ac5155b36a1ff17 - .quad 0x1a6537803429dd3d, 0x1abdb87bf13d1856 - .quad 0x1a5de5045a77840f, 0x1ab4f210fabcd4fe - .quad 0x1a550eea743a03b0, 0x1aad84e44d6006fd - .quad 0x1a4da9faec295ac1, 0x1aa4cc6819f5a3a9 - .quad 0x1a44e406557456e3, 0x1a9d4dfc3ea1615f - .quad 0x1a3d6bb950e85a76, 0x1a94a46e38335bf7 - .quad 0x1a34b6e334ceafc3, 0x1a8d13d79b7b4d75 - .quad 0x1a2d2a55c543d97b, 0x1a847a31bd7fd98a - .quad 0x1a248791257b832e, 0x1a7cd68b49be13bd - .quad 0x1a1ce5e780d6c294, 0x1a744dc1cd628aec - .quad 0x1a145620e7623619, 0x1a6c962d320e4c77 - .quad 0x1a0c9e86a88f07ff, 0x1a641f2e3dd79383 - .quad 0x1a0422a3dd414b5e, 0x1a5c52d432db963c - .quad 0x19fc544c4080f626, 0x1a53ee878deaf1c1 - .quad 0x19f3ed2c02828af5, 0x1a4c0c9812daaed1 - .quad 0x19ec07521d52071e, 0x1a43bbdedbff7430 - .quad 0x19e3b5cbe0c97302, 0x1a3bc391730e1bf4 - .quad 0x19dbb7b2d547171a, 0x1a338745dbc97fd1 - .quad 0x19d37c9685446b6b, 0x1a2b77d9c068db21 - .quad 0x19cb6589b1020c3e, 0x1a2350cecc05d9cf - .quad 0x19c3419f75c953bc, 0x1a1b298b2516cc35 - .quad 0x19bb10f29bfb2a68, 0x1a13188c6bf4cd49 - .quad 0x19b304faa5c619af, 0x1a0ad8c07976bbc0 - .quad 0x19aaba0a14c264cc, 0x1a02de91f0a22435 - .quad 0x19a2c6bc6b0e1424, 0x19fa859534d21642 - .quad 0x199a60ed1d150c44, 0x19f2a2f2fa027fc3 - .quad 0x199286f9728ce321, 0x19ea30255dde65be - .quad 0x198a05b929d439ab, 0x19e265c387eea954 - .quad 0x198245c6b4e79163, 0x19d9d88d7b14c6d3 - .quad 0x1979a88c12e847c2, 0x19d22717ef05792f - .quad 0x197203396b14a770, 0x19c97eea82eb8229 - .quad 0x19694984031d9858, 0x19c1e704cd7ceb7c - .quad 0x1961bf6702f3caf4, 0x19b92359cbfdea74 - .quad 0x1958e8bf6806bcab, 0x19b1a59effeaeef1 - .quad 0x19517a6513ed67fa, 0x19a8c5f8fd2e86f6 - .quad 0x1948865ce1efe9b6, 0x19a162fb960e6361 - .quad 0x1941344953a2bc16, 0x199866e5fdcf6e5c - .quad 0x1938227b33ef66f4, 0x19911f2fc7a0a0a9 - .quad 0x1930ed298ab66e97, 0x1988063ee5dc8676 - .quad 0x1927bd39341e60d2, 0x1980da50e937b941 - .quad 0x1920a51b89b5ac38, 0x1977a421ee53231b - .quad 0x191756b5bc0538cf, 0x1970947461417eb2 - .quad 0x19105c351e298147, 0x196740ad61b23997 - .quad 0x1906ef0f9946142e, 0x19604daf9d1f19d0 - .quad 0x1900128c07d7eac9, 0x1956dbff8cae0f32 - .quad 0x18f686657e900799, 0x195006180668cd93 - .quad 0x18ef906bdc779cfc, 0x19467636af21f0cb - .quad 0x18e61cd5f4e4d33c, 0x193f7b85f0c272bb - .quad 0x18defa90ac757637, 0x19360f70ed4a200e - .quad 0x18d5b27f4d3aafaf, 0x192ee98b6b3e4f34 - .quad 0x18ce63b1303dfbfb, 0x1925a7cc414fb8aa - .quad 0x18c5477f92833195, 0x191e566abbe94f87 - .quad 0x18bdcbf7abb88524, 0x19153f666d2fde17 - .quad 0x18b4dbf47c1fc8a0, 0x190dc24dc933bf6d - .quad 0x18ad338de3492428, 0x1904d65ced070949 - .quad 0x18a46ffb60cbd760, 0x18fd2d5e0d435050 - .quad 0x189c9a9d09a6515f, 0x18f46ccce9c8cdf5 - .quad 0x189403b12a03d499, 0x18ec97c4837b573e - .quad 0x188c014dae645fc3, 0x18e402d32c6be96d - .quad 0x1883973247f05596, 0x18dc01a996aebdb3 - .quad 0x187b67c7ad400b86, 0x18d3988c1191e211 - .quad 0x18732a9aa5db4bb3, 0x18cb6b3510058b7a - .quad 0x186ace321e309c7b, 0x18c32e137db0ef23 - .quad 0x1862be059f3526f7, 0x18bad48e069f2207 - .quad 0x185a34b346493cc3, 0x18b2c384d1c64d5b - .quad 0x1852518df52ef492, 0x18aa3ddacff96f65 - .quad 0x18499b70897047dc, 0x18a258fae0968e74 - .quad 0x1841e54dc4edf3a3, 0x1899a740f1248851 - .quad 0x1839028e5cf277c7, 0x1891ee8fe480d92c - .quad 0x1831795e7e5c7cca, 0x188910e510c93fe1 - .quad 0x18286a303af6f699, 0x1881845d75e974c6 - .quad 0x18210dd8db9b7b20, 0x18787aeaea087811 - .quad 0x1817d27896d87b8e, 0x18711a7c823f5ff5 - .quad 0x1810a2d4d917179a, 0x1867e57540380a90 - .quad 0x18073b88d266bc5a, 0x1860b10543a01766 - .quad 0x18003869ae409b27, 0x185750a5d3814d59 - .quad 0x17f6a58134129f18, 0x1850480f391c14fc - .quad 0x17ef9d5b8ddde221, 0x1846bc9d56645be6 - .quad 0x17e61080de06bfb0, 0x183fbf623f3bedba - .quad 0x17decb6d7acd34f7, 0x1836297b642274f2 - .quad 0x17d57ca5c62d05dd, 0x182ef001d6eb49df - .quad 0x17cdfb32aa129cc6, 0x1825975e7810e700 - .quad 0x17c4ea0caf213789, 0x181e222785106b16 - .quad 0x17bd2cd2eb59de4c, 0x18150663e5d53392 - .quad 0x17b458d1220fa79d, 0x180d55fbee497e00 - .quad 0x17ac60744f31e198, 0x180476a7d28a437b - .quad 0x17a3c90d697e5b5d, 0x17fc8ba606fb6833 - .quad 0x179b963b20518321, 0x17f3e8452ecdbe84 - .quad 0x17933ada8cfe418f, 0x17ebc34b0b8bbc60 - .quad 0x178ace49de2283ae, 0x17e35b55b1b3d652 - .quad 0x1782ae504dc15f24, 0x17dafd0e79df00eb - .quad 0x177a08c1388db34f, 0x17d2cff1d49f192c - .quad 0x1772238524122580, 0x17ca39120c175c51 - .quad 0x176945c00d028182, 0x17c24630cff92d39 - .quad 0x17619a8e3da77fbe, 0x17b97775b48ec1aa - .quad 0x1758856364b336c5, 0x17b1be2898c8a8a4 - .quad 0x1751137f7cd08642, 0x17a8b8579b06ca2c - .quad 0x1747c7c673fe436e, 0x17a137eddf1f97ae - .quad 0x17408e6b787233ba, 0x1797fbd41b078795 - .quad 0x17370d029afc4472, 0x1790b3940d5da6fc - .quad 0x17300b637cd0ec0b, 0x17874205c365c73e - .quad 0x1726552f6729a259, 0x1780312d48405757 - .quad 0x171f14ef1a3e4ac2, 0x17768b0556e87723 - .quad 0x1715a06296220023, 0x176f6194df7630e5 - .quad 0x170e176ccb941b53, 0x1765d6e9ce0425a7 - .quad 0x1704eeb0196310cd, 0x175e64f64121563e - .quad 0x16fd1e5afef936da, 0x175525c859a2ea9a - .quad 0x16f4402a1b0bd9df, 0x174d6c9b6d4d6fc5 - .quad 0x16ec29d225a230e3, 0x174477b466ee6cc1 - .quad 0x16e394e1038ce88e, 0x173c789ea0183d02 - .quad 0x16db39e83951bdaa, 0x1733ccbfa4112a58 - .quad 0x16d2ece3803d8d68, 0x172b8917a154498b - .quad 0x16ca4eb0c6436cf4, 0x172324fa05e3adc4 - .quad 0x16c2483e8ac9d061, 0x171a9e1bcd30af1f - .quad 0x16b9683cf6400112, 0x17128071ce79e917 - .quad 0x16b1a6fd716c7c18, 0x1709b7be1e1550cb - .quad 0x16a8869b9cc95345, 0x1701df33948493fa - .quad 0x16a10929dfe85b79, 0x16f8d60f37a227b9 - .quad 0x1697a9d9444b613e, 0x16f1414a4b7a1729 - .quad 0x16906ecbe9338feb, 0x16e7f91d72bfd333 - .quad 0x1686d2003c3fdf54, 0x16e0a6bf4c7a4f95 - .quad 0x167fafd4238f8063, 0x16d720f4eaaf4bbb - .quad 0x1675ff18a8317f0a, 0x16d00f9a5fe04069 - .quad 0x166e8912b5139031, 0x16c64d9f8b065b73 - .quad 0x166531288f8c01c7, 0x16bef7c38ee94e41 - .quad 0x165d695a98770e4b, 0x16b57f251e86550e - .quad 0x16546833ee262b10, 0x16add73492689d20 - .quad 0x164c50b006d4e015, 0x16a4b58b5eba6cc7 - .quad 0x1643a43cc572b3d3, 0x169cbd8e7539eac7 - .quad 0x163b3f14799b1616, 0x1693f0d6044b145d - .quad 0x1632e5432e458097, 0x168baad518e7426e - .quad 0x162a3486c40b74f1, 0x16833106d7f3cac9 - .quad 0x16222b456b1a8db7, 0x167a9f09adee91e3 - .quad 0x161931032d667261, 0x1672761dc408f1ef - .quad 0x1611763ffacc46ac, 0x16699a2acce5bd7f - .quad 0x160834838ba6fe3d, 0x1661c018e67b6eae - .quad 0x1600c62daba74e7c, 0x16589c349043d67e - .quad 0x15f73eff5eb5eca5, 0x16510ef4a3481a29 - .quad 0x15f01b07aeca1f42, 0x1647a520aeb63fae - .quad 0x15e6506bebfc67bd, 0x164062abb7415c63 - .quad 0x15dee98b577ea7ca, 0x1636b4e695e9099f - .quad 0x15d568bc5a3d72ee, 0x162f766e96435041 - .quad 0x15cda6bba883d22a, 0x1625cb7b85aa6067 - .quad 0x15c487e1cd9f3e43, 0x161e311e0dabf963 - .quad 0x15bc6d89f0368fc1, 0x1614e8d2ab5187d6 - .quad 0x15b3adcb83cdccc3, 0x160cf55249e0172a - .quad 0x15ab3ddd3216f86e, 0x16040cdd3d52967c - .quad 0x15a2da66f0214306, 0x15fbc2f50c60488e - .quad 0x159a1799fd5925f4, 0x15f3378a96e8e29a - .quad 0x15920d9fd7b31257, 0x15ea99ed8a2f2e6b - .quad 0x1588faa294857a39, 0x15e268c853c2e48d - .quad 0x158147606d4e1ee3, 0x15d97a2092e9b19d - .quad 0x1577e6d714d6fce7, 0x15d1a0826b9b2f1e - .quad 0x157087916d26f37c, 0x15c86370b7b69b46 - .quad 0x1566dc159d3dbce3, 0x15c0dea34dab05c3 - .quad 0x155f9c3470942341, 0x15b755be71f29fea - .quad 0x1555da3a74ec8bc7, 0x15b02313fbe40a01 - .quad 0x154e35c1df5edf07, 0x15a650e8497f58cd - .quad 0x1544e120315adc06, 0x159edb784bbee452 - .quad 0x153cdb951dc67cbf, 0x159554cafa9d0c34 - .quad 0x1533f09fdba5037e, 0x158d7d0486e476cc - .quad 0x152b8d760c6a3faa, 0x158461419b3892c2 - .quad 0x152308911536a23d, 0x157c2a975dad9be0 - .quad 0x151a4b2aa8c000ca, 0x15737625bf981bdb - .quad 0x151228ca3bac6e07, 0x156ae3f97cbb25ce - .quad 0x150914773f3bbbac, 0x1562934f9e530bad - .quad 0x150151208bdc254e, 0x1559a8f1bb2e0d78 - .quad 0x14f7e91e9c37a26b, 0x1551b8963382a860 - .quad 0x14f0816843f2edd8, 0x154879454bd5bf1a - .quad 0x14e6c8e23b87885f, 0x1540e5cf631ac83b - .quad 0x14df72e98937c4f8, 0x153754b7ed21d736 - .quad 0x14d5b38276a48ea0, 0x15301ad01a5b2dd0 - .quad 0x14cdf23162441e8b, 0x15263b0c17c2af00 - .quad 0x14c4a8beb16012ed, 0x151eaed8e09770ed - .quad 0x14bc804c1d0522eb, 0x15152c032be62aab - .quad 0x14b3a855850eeeea, 0x150d36ef8a6e08fa - .quad 0x14ab1cdcc2ca0214, 0x1504275d9d00481d - .quad 0x14a2b204ea20186e, 0x14fbcd89c2310d59 - .quad 0x1499c78595e362ce, 0x14f32cdb1c10f0ee - .quad 0x1491c58a6013aaee, 0x14ea724c21e93002 - .quad 0x14887fe848fd6bff, 0x14e23c3ac05a8c19 - .quad 0x1480e2a313c94bb5, 0x14d924da86249080 - .quad 0x147745a6341bd9d3, 0x14d1553b2e7eba16 - .quad 0x1470090c041eb55f, 0x14c7e4d844204d5f - .quad 0x14661860872f36c7, 0x14c0779abdf88654 - .quad 0x145e710449b20327, 0x14b6b1e85d9cfdc3 - .quad 0x1454f7b87a3ccd22, 0x14af462f39da55f5 - .quad 0x144ce184ffaa0275, 0x14a58badb2559681 - .quad 0x1443e34f7b15484d, 0x149daedfe49c8a9f - .quad 0x143b6314a8f93441, 0x149471cb2f12adec - .quad 0x1432dac758984610, 0x148c28c3fc94131b - .quad 0x1429f52e6b0168fb, 0x148363e3fa566830 - .quad 0x1421ddc26b854422, 0x147ab358720f461f - .quad 0x1418974e49b18481, 0x1472619b9e9f9276 - .quad 0x1410ebe3bcdc6652, 0x14694e1adf5ef17a - .quad 0x140748f15c14a990, 0x14616a96324493c1 - .quad 0x140004cf29d383af, 0x1457f889bf8109c7 - .quad 0x13f60995fd7916b4, 0x14507e787ce8decb - .quad 0x13ee50530acb7a2b, 0x1446b224a16aa4e0 - .quad 0x13e4d8bbfb38c980, 0x143f39d03522ee6e - .quad 0x13dcab316f0b29de, 0x14357a6c57f8fed2 - .quad 0x13d3b5e4bf3051bb, 0x142d8b1738bdcb74 - .quad 0x13cb1987b3f62cd2, 0x142450e32693ba8d - .quad 0x13c2a09376f26716, 0x141bf0154de94403 - .quad 0x13b99aa6a5f22416, 0x1413350cea8cd61a - .quad 0x13b1984d37c8d151, 0x140a681c1d2f0b94 - .quad 0x13a82de1daeb9c47, 0x1402266f414ce57b - .quad 0x13a09c991f950457, 0x13f8f27fe21c9591 - .quad 0x1396d28fdea9871a, 0x13f12491ab5c17d9 - .quad 0x138f5a00e548f085, 0x13e78e979aa0c9be - .quad 0x1385880a5ae03598, 0x13e02efdac5a4ff4 - .quad 0x137d921d6d1c821b, 0x13d63bbd32217718 - .quad 0x13744dae3b23367b, 0x13ce8a7dcff4677c - .quad 0x136be0a394617721, 0x13c4f94da865b2a3 - .quad 0x136322dbccd73cab, 0x13bccdc67829105b - .quad 0x135a44b3f5ce9c8b, 0x13b3c6a934743c05 - .quad 0x135206f6db46b930, 0x13ab26f5afd4ebc9 - .quad 0x1348bd742e227a38, 0x13a2a3336386b4d7 - .quad 0x1340f966c7fd2396, 0x13999530a15ce61a - .quad 0x13374a0efc06d36e, 0x13918e533433f227 - .quad 0x132ff32d3f1c0a49, 0x138817a166d90dbd - .quad 0x1325e9b45aff1be0, 0x138087732df4f3ab - .quad 0x131e0dea55db81c4, 0x1376ad7728d6db01 - .quad 0x13149b9999981d6c, 0x136f1c02ea5235f3 - .quad 0x130c41e9fb058b1e, 0x136555e63841a093 - .quad 0x13035ef96b0fe655, 0x135d42dfb77e321e - .quad 0x12fa8e19002cb47f, 0x1354102823a6a0a2 - .quad 0x12f23313f4adb099, 0x134b8267dd51660d - .quad 0x12e8f16bf19917ac, 0x1342db7bc80b123e - .quad 0x12e1172ed701cd40, 0x1339d98e007ff597 - .quad 0x12d76adf2095d808, 0x1331b7255d8af1ce - .quad 0x12d00a953345bce4, 0x1328474c5f89cf1f - .quad 0x12c5f976a86ba7a3, 0x1320a26e7ff7c8a0 - .quad 0x12be192f5a290a0d, 0x1316caa4dc34bcc6 - .quad 0x12b49c3e6e576cf8, 0x130f394c675d5da1 - .quad 0x12ac3918d16606af, 0x130562a0ffd36fef - .quad 0x12a3524a1ccb90ce, 0x12fd4a41cdb95576 - .quad 0x129a739e0c3f00b3, 0x12f40e51faa74ee4 - .quad 0x12921ab51a49a640, 0x12eb7670ded07be7 - .quad 0x1288c781323e2b8b, 0x12e2ccd09eaa3410 - .quad 0x1280f4a27c210b83, 0x12d9bc980b6cd88b - .quad 0x1277338f3cfd4b18, 0x12d19d3d560c7458 - .quad 0x126fbe79eabbab8b, 0x12c81b807901b2dd - .quad 0x1265b69fdd784131, 0x12c07ec015b26bbf - .quad 0x125db36d8463b3e1, 0x12b691fdebe382be - .quad 0x12544f955c9776f6, 0x12aee11097f70374 - .quad 0x124bc693203fe92c, 0x12a51eeeac7320be - .quad 0x1242fd5c7756dd24, 0x129ce39998362bf9 - .quad 0x1239f66cc65fb2cb, 0x1293c13b67a17ff2 - .quad 0x1231beec36eb8502, 0x128b03976c943068 - .quad 0x1228418af0dd65ed, 0x128277d70b2ebc6f - .quad 0x12209345c546e7cd, 0x12793f94ba2c6b6a - .quad 0x1216a68c4bfd764b, 0x127141be9e049453 - .quad 0x120ef2e87ca7b717, 0x1267962a50231832 - .quad 0x1205241d71eb6e19, 0x12601df915097b64 - .quad 0x11fce118fc8beeea, 0x125605fee84767f0 - .quad 0x11f3b8f8a28fd848, 0x124e172e498cd2fc - .quad 0x11eaef59daa19c93, 0x12448dc6e3757e71 - .quad 0x11e263e577f574d0, 0x123c1366206ca036 - .quad 0x11d91bfa9231de5c, 0x12332c440230ef3a - .quad 0x11d123b897af1af4, 0x122a2ee0ea25a216 - .quad 0x11c7655cd85a2773, 0x1221e04519eb8f87 - .quad 0x11bfeea6c3554149, 0x121867f82bdccb8f - .quad 0x11b5c9f427a491a4, 0x1210a8a5c7678dff - .quad 0x11adbb4739afff2e, 0x1206bd1744d1513e - .quad 0x11a4484548d479a3, 0x11ff089c3d3d8b6f - .quad 0x119bab46440d8e4b, 0x11f52cbafb8bc99f - .quad 0x1192dee5d96e696e, 0x11ece464b1286c0d - .quad 0x1189bcaf0aad775c, 0x11e3b571085ef9db - .quad 0x11818c7bd07b007f, 0x11dae2a4fedee59c - .quad 0x1177eda37d26ae66, 0x11d255d79dbe3905 - .quad 0x11704fbd01fd3b9a, 0x11c9017432798e26 - .quad 0x11663c5ba199716f, 0x11c10c9ceee61d28 - .quad 0x115e4edd431a7a40, 0x11b73effa34f57ab - .quad 0x1154a724e2f6eade, 0x11afb0fd6a99ec28 - .quad 0x114c24c9890314cd, 0x11a5998a4600495b - .quad 0x11432c615eef6a3d, 0x119d70936a92f04a - .quad 0x113a1f03c81340fd, 0x11940f6bfdad1f14 - .quad 0x1131ca87340e1c39, 0x118b55b284add8c1 - .quad 0x11283b6cbf2ba29f, 0x11829f10ece9036e - .quad 0x1120801fd07f7284, 0x11795e2d86ae92c8 - .quad 0x111677ffffc31b92, 0x117146f8c6e8dc57 - .quad 0x110e978e83ebd95d, 0x116787f26e598ebb - .quad 0x1104d2d2f5dd4096, 0x116005b6216a17ea - .quad 0x10fc58570e2f641d, 0x1155d10973fbab06 - .quad 0x10f34a13f272cdfa, 0x114db3db8f832a58 - .quad 0x10ea4017c5ace0de, 0x1144379416dfac63 - .quad 0x10e1dc0938cfb932, 0x113b84ac1ef46255 - .quad 0x10d84c7064147f81, 0x1132b9cc2c3d6738 - .quad 0x10d087100f5e6429, 0x11297b6c5dc3637a - .quad 0x10c67b20873fc995, 0x11215602f1227af8 - .quad 0x10be9337a8979da0, 0x111795cb2bb480b6 - .quad 0x10b4ca0667456eb8, 0x11100aa01fc8a73e - .quad 0x10ac446a2ccade1c, 0x1105d196927cdacc - .quad 0x10a3371d92c55c69, 0x10fdac421184af19 - .quad 0x109a1ef1650d3562, 0x10f42cba823b93cb - .quad 0x1091c07db1df4cf6, 0x10eb6e2f60b615c1 - .quad 0x1088202debc2593c, 0x10e2a53f94211ba9 - .quad 0x108064595037ce7b, 0x10d95853e0fd75ad - .quad 0x107645a58ac6913c, 0x10d13949d3b2fbd2 - .quad 0x106e41f95cc492ce, 0x10c768213ee2ba9c - .quad 0x10648d0194e5b153, 0x10bfce2f1e195a7a - .quad 0x105be99935f38c42, 0x10b59b2d772c1b04 - .quad 0x1052f40d4a5d2870, 0x10ad5a005ce1b15d - .quad 0x1049bc8aa74c3805, 0x10a3ef3138f8ae58 - .quad 0x104178b448b82b16, 0x109b12e626e3c8a1 - .quad 0x1037b7f2dc7fa066, 0x1092620652c3102c - .quad 0x1030190106456396, 0x1088f5ecffd9c995 - .quad 0x1025d92194746ef2, 0x1080f1a62a97a48e - .quad 0x101da636b2add63a, 0x1077004d0a0dd3fc - .quad 0x10141d8f14e2d235, 0x106f38508375a815 - .quad 0x100b4a8e16df3a2e, 0x10652f67f4a45dbd - .quad 0x100282da2ee06e9f, 0x105cbf8187da9700 - .quad 0x0ff91bc4f0e82a10, 0x105380c6fa6ddd1b - .quad 0x0ff106c65473611b, 0x104a757e44dde4fb - .quad 0x0fe716ca73d3a1dc, 0x1041f218f165083c - .quad 0x0fdf4e737e667fe6, 0x1038571975a9ba0c - .quad 0x0fd538bdbc880350, 0x103081306aee058b - .quad 0x0fccc4774fe05a13, 0x102661571375ee31 - .quad 0x0fc37eeb586702af, 0x101e5803c9b677c0 - .quad 0x0fba6be51e94d2c3, 0x10149169d29f057f - .quad 0x0fb1e6cae3cc5ce4, 0x100be144165bfdad - .quad 0x0fa841452e30c6ec, 0x1002e4b0b7596d86 - .quad 0x0fa06dfcc0330324, 0x0ff99a8814f82396 - .quad 0x0f964157d8dbcaa1, 0x0ff158b4c1d7aa61 - .quad 0x0f8e248fc3725278, 0x0fe7806fe5adc0de - .quad 0x0f84691284199248, 0x0fdfd64d63539ac4 - .quad 0x0f7ba32f675bcca1, 0x0fd58fd2560c98e3 - .quad 0x0f72b59cb5fcd070, 0x0fcd33b9c01b8858 - .quad 0x0f6953f4278d9771, 0x0fc3c5b9e7be019e - .quad 0x0f61244d4a198783, 0x0fbac5a261b57bd2 - .quad 0x0f57333ac721d353, 0x0fb21f61f6e6a3a5 - .quad 0x0f4f654f8b2c9938, 0x0fa8883e334bf813 - .quad 0x0f453d9d5f4e3889, 0x0fa09a33ffab8174 - .quad 0x0f3cbcb3935e8707, 0x0f9678037d69a88a - .quad 0x0f336fefd85e37f7, 0x0f8e678a0474dd4d - .quad 0x0f2a4a7147e53789, 0x0f8491a44a8cc267 - .quad 0x0f21c73c8c2f3143, 0x0f7bd3a60953bab8 - .quad 0x0f180a7df6e9e4ab, 0x0f72d20af56e98e4 - .quad 0x0f1040c111171b21, 0x0f69748563f2a02c - .quad 0x0f05f9153468350d, 0x0f613656dff66048 - .quad 0x0efdb3d65827b6f1, 0x0f57463a2ae57157 - .quad 0x0ef412b4a3b0b6bb, 0x0f4f77b2a384d071 - .quad 0x0eeb20abd232bd72, 0x0f45451ae34b02ae - .quad 0x0ee25417f5fe18aa, 0x0f3cc024fa52d21e - .quad 0x0ed8c38db09c3d68, 0x0f336dbe645ba702 - .quad 0x0ed0ba351c6b2c44, 0x0f2a415d531b6e85 - .quad 0x0ec69856de023170, 0x0f21bcf7eeeba2f5 - .quad 0x0ebe847157246bfc, 0x0f17f70703ac5558 - .quad 0x0eb49b2d16422141, 0x0f102fd377359b10 - .quad 0x0eabd304de355d85, 0x0f05dd1b0bb84b26 - .quad 0x0ea2c87c2ff697dc, 0x0efd87243e77ecad - .quad 0x0e995b4456f24a66, 0x0ef3efdb3b369292 - .quad 0x0e911cf1a60f1d84, 0x0eeaeb4dc01a4631 - .quad 0x0e8718a9184a8678, 0x0ee22bcd99dbdb06 - .quad 0x0e7f2af0be1fde49, 0x0ed88766c06b0833 - .quad 0x0e7507007917e3d9, 0x0ed08db80d427d79 - .quad 0x0e6c5e695f15072b, 0x0ec65709eb54bf5e - .quad 0x0e632266540e08c2, 0x0ebe253876b38ace - .quad 0x0e59cf012acb820b, 0x0eb45623a2f6a451 - .quad 0x0e51673fda512b46, 0x0eab6f674d703273 - .quad 0x0e4777d05328bd26, 0x0ea280eca736b4b1 - .quad 0x0e3fa46d62b8e57d, 0x0e98f4d804e3ad6f - .quad 0x0e35544c8bc23e1c, 0x0e90d3e50a2eecdc - .quad 0x0e2cc068b1dc8ab2, 0x0e86b0c7763ce52b - .quad 0x0e236042b9065710, 0x0e7e979edc5b3767 - .quad 0x0e1a1cbbab815b4c, 0x0e749ecd657d5dd6 - .quad 0x0e1197d0fe71564c, 0x0e6bcb59141dc715 - .quad 0x0e07b41f3bcb1869, 0x0e62bad65a82bb23 - .quad 0x0dffeec24eca8006, 0x0e593d6de18ac6bf - .quad 0x0df581b387627669, 0x0e51011dd6dfecf6 - .quad 0x0decf746ccaba032, 0x0e46e8be31f2fe24 - .quad 0x0de380f8b864e1ac, 0x0e3edc51c8649aaa - .quad 0x0dda4312cc2f816a, 0x0e34c88f43732a10 - .quad 0x0dd1adc83c96accf, 0x0e2bfd81ed74f1cd - .quad 0x0dc7cc835281bbf3, 0x0e22d883a292df3b - .quad 0x0dc0044e6f2b903f, 0x0e195fde403b5724 - .quad 0x0db58e66674c0f82, 0x0e111494966870b7 - .quad 0x0dad0209514d613d, 0x0e06fdef1ca550b3 - .quad 0x0da383f2f4495aed, 0x0dfef217eb67d36d - .quad 0x0d9a41575f0363d6, 0x0df4d2aaa5b8e28a - .quad 0x0d91a8c12a0cae91, 0x0dec04fcbf1fddd8 - .quad 0x0d87c08d08f2ccbb, 0x0de2d96cdd2a30b8 - .quad 0x0d7ff186c5b90604, 0x0dd95b8ba50a2687 - .quad 0x0d757a2b0b1c4c86, 0x0dd10df03cd711e3 - .quad 0x0d6ce07ef98af2ae, 0x0dc6eff939f51c8f - .quad 0x0d636923c5eb270b, 0x0dbed88d96607fb4 - .quad 0x0d5a1791489717bf, 0x0db4bcf1445c1d61 - .quad 0x0d5188d2c2d680a3, 0x0dabe1a747b458c8 - .quad 0x0d47907312c7e255, 0x0da2bd8dde16ba8a - .quad 0x0d3fa9e995f4c414, 0x0d993089dc23e417 - .quad 0x0d35455df149c7b5, 0x0d90ed4f34d6e965 - .quad 0x0d2c93410e8142f8, 0x0d86bf1c754a3325 - .quad 0x0d233105a5b594f7, 0x0d7e9027b1c5a4ab - .quad 0x0d19c67f441e11b3, 0x0d7487c687197597 - .quad 0x0d114e8ebae7496e, 0x0d6b942323a72767 - .quad 0x0d073d10c597b774, 0x0d6285660efb3e9a - .quad 0x0cff330b99c7f9e7, 0x0d58df9d62fb9c5e - .quad 0x0cf4f0ef77c81a6f, 0x0d50b34677fe9486 - .quad 0x0cec1baedb5f2e65, 0x0d466c37bb05de1e - .quad 0x0ce2dc9788ad9864, 0x0d3e1a30436bcde5 - .quad 0x0cd94f913add4907, 0x0d34341c90c553e7 - .quad 0x0cd0fafd2c40ba27, 0x0d2b1dd0ffc5d04b - .quad 0x0cc6c7df995241d1, 0x0d2231f4a6757469 - .quad 0x0cbe8f062cc963ce, 0x0d186a35930ed5e1 - .quad 0x0cb47e5cbff0d92e, 0x0d1060dd236f49a3 - .quad 0x0cab7be34be4e18d, 0x0d05f8c25cd122d7 - .quad 0x0ca26d5559b935e7, 0x0cfd78bca82e9f37 - .quad 0x0c98b4dd6af9c05d, 0x0cf3c36d15093021 - .quad 0x0c908f94cfc79158, 0x0cea80c62c44a65b - .quad 0x0c8632ec0e0d009c, 0x0ce1c4b11ed6627a - .quad 0x0c7dc0b5f2e40ea4, 0x0cd7d261cc2edf72 - .quad 0x0c73efa480ea698b, 0x0ccfef096f5252f0 - .quad 0x0c6ab6a5245de9e5, 0x0cc566c107178d1f - .quad 0x0c61e52cde409267, 0x0cbcae9de8f00c0b - .quad 0x0c57f910d0084829, 0x0cb337ae444bd293 - .quad 0x0c500e3012bd4171, 0x0ca9bfbcfe9dc1e8 - .quad 0x0c4580c66bfc7cf5, 0x0ca13f803c0631d9 - .quad 0x0c3ccba595fe34b5, 0x0c971ac2109d33c9 - .quad 0x0c3347383dcf4a9b, 0x0c8ef21caa7d80c3 - .quad 0x0c29cf52785fcd1f, 0x0c84b8b6bbdb7a4f - .quad 0x0c21466f7a4ba4b3, 0x0c7bbf4bcf8ca0c3 - .quad 0x0c171f5b701cb667, 0x0c72934441fdae8b - .quad 0x0c0ef1fef5338f87, 0x0c68de00a5d4cff3 - .quad 0x0c04b46ffc2e70cc, 0x0c60a4a61359d63a - .quad 0x0bfbb3f3e667d5e5, 0x0c564673b39bdd54 - .quad 0x0bf287ea78b8278f, 0x0c4dcf3acd0cc1f4 - .quad 0x0be8c9c8347a2863, 0x0c43f1926f0c2aa4 - .quad 0x0be093c166d47d90, 0x0c3aaecb94ca24e1 - .quad 0x0bd62b5957e6b822, 0x0c31d8efbbc88d6c - .quad 0x0bcda4f3c5b8c56f, 0x0c27df554174928c - .quad 0x0bc3d1457a1afdae, 0x0c1fed6b4a9440a8 - .quad 0x0bba7e3665ffae25, 0x0c1558fae0fed7aa - .quad 0x0bb1b4da97b89113, 0x0c0c8b307e047613 - .quad 0x0ba7aa46b2ec675c, 0x0c03149a005e5984 - .quad 0x0b9fa00e080e5360, 0x0bf9819329634547 - .quad 0x0b9520f92dcad4a2, 0x0bf10bba52994e8e - .quad 0x0b8c3a9666328faa, 0x0be6c7dd2d93c0f9 - .quad 0x0b82dae795ce73b6, 0x0bde70fd5d6d806d - .quad 0x0b792f5963d343cf, 0x0bd45629dffe1fa7 - .quad 0x0b70d15f439254be, 0x0bcb2b2e959996b0 - .quad 0x0b6675546ac2c967, 0x0bc2255364dfcfd7 - .quad 0x0b5dfca1ff236f02, 0x0bb83c6a3841fcca - .quad 0x0b54046155930cfb, 0x0bb02ee197efc99d - .quad 0x0b4ab8846c89a496, 0x0ba59bfc8bdbfffe - .quad 0x0b41d5226b496f7e, 0x0b9cd9f4c9733040 - .quad 0x0b37cc7edd2bedd1, 0x0b93420703d360ea - .quad 0x0b2fc1e021531b11, 0x0b89b4a6e4580455 - .quad 0x0b252f9fd29afa7b, 0x0b81276cde31355e - .quad 0x0b1c439018f9e7b0, 0x0b76e44a0da72ded - .quad 0x0b12d9d4a3bfacfa, 0x0b6e8b82d35e9882 - .quad 0x0b09247c7d6b7109, 0x0b64603c1a2de688 - .quad 0x0b00c3d4d5746632, 0x0b5b2e6fa531d555 - .quad 0x0af65add59367765, 0x0b5220b241172407 - .quad 0x0aedce1e8301e6ef, 0x0b482d28ae825549 - .quad 0x0ae3dde18cb97a8d, 0x0b401ea51e3f541c - .quad 0x0ada7b31ccb0b2f4, 0x0b357e3d8e31e749 - .quad 0x0ad1a59798dd7aa2, 0x0b2ca77ce984ce61 - .quad 0x0ac7843a7981f8e3, 0x0b23192c63185ef2 - .quad 0x0abf55b0f3ffe463, 0x0b1974911a73b1a7 - .quad 0x0ab4df9fe655b0fb, 0x0b10f64b579273f6 - .quad 0x0aabce68ce6bcfed, 0x0b069a3e1bad13da - .quad 0x0aa284bfe1cdea24, 0x0afe1d6859c11527 - .quad 0x0a98a9c29acbf47d, 0x0af40f425a16dca3 - .quad 0x0a906bd70b72892b, 0x0aeab8633790b1e2 - .quad 0x0a85dd55c1a48477, 0x0ae1cb4a43b9229f - .quad 0x0a7d1bd6b173b9f2, 0x0ad7b25cc6523c3b - .quad 0x0a735fc8451ff49e, 0x0acf8db2dc70232b - .quad 0x0a69c9712232f548, 0x0ac5014bc06e7f91 - .quad 0x0a6128b47439dcd5, 0x0abbf66ba3b9066c - .quad 0x0a56d53d2be0a0b6, 0x0ab29c2c1dc958db - .quad 0x0a4e6122171333df, 0x0aa8c4a9d76af90f - .quad 0x0a4435229d0cc681, 0x0aa07ae5a7347d0b - .quad 0x0a3ae1371b74ea2d, 0x0a95ed9539dfd0c9 - .quad 0x0a31e01427183001, 0x0a8d2c69c7599edc - .quad 0x0a27c589442700ec, 0x0a83677341a98a13 - .quad 0x0a1f9be9e1d7b4e4, 0x0a79cf2c5625685e - .quad 0x0a15033c96eb7570, 0x0a71298aebe8af0f - .quad 0x0a0bef014f36ffa9, 0x0a66d2655c8560eb - .quad 0x0a0290979be09b3b, 0x0a5e58166789d0bc - .quad 0x09f8ac6ba86dcc3c, 0x0a542b9e90b536b6 - .quad 0x09f064e638fb2517, 0x0a4acfe7e64002b1 - .quad 0x09e5c884857d8ade, 0x0a41d179e12ade6e - .quad 0x09dcf0beaeb1b319, 0x0a37ae01eb0f55cb - .quad 0x09d338e29511ffcd, 0x0a2f772a9e0423a1 - .quad 0x09c9881a23b2ff9b, 0x0a24e72e15f0f016 - .quad 0x09c0f43798c4f845, 0x0a1bc4e2f5a8c9af - .quad 0x09b6836e63bd7d88, 0x0a127165d875ec78 - .quad 0x09ade466f9c32fda, 0x0a087eb54ae1860d - .quad 0x09a3d79f883687bf, 0x0a0043b38d103ec9 - .quad 0x099a56d48500b8a3, 0x09f598a7d65e3b67 - .quad 0x09917ac327f9b5e5, 0x09ecac2d1ee89db1 - .quad 0x09873278f241bb95, 0x09e308090afcd9f3 - .quad 0x097ec801820c3f3d, 0x09d942d41e7bf2a3 - .quad 0x09746b841565ab3e, 0x09d0c34dc595f4bf - .quad 0x096b16ea850bfa34, 0x09c63e9cb83e74b2 - .quad 0x0961f76e44abf0ec, 0x09bd83e5a3ffd7ad - .quad 0x0957d432d7dd0ca1, 0x09b39428e0fd00c5 - .quad 0x094f99abec00b682, 0x09a9f8c2eadfb109 - .quad 0x0944f35579392d4b, 0x09a13957092e7741 - .quad 0x093bc6c19eee10e8, 0x0996d7ad6ac744f9 - .quad 0x0932692d6adc530f, 0x098e4a41e3c393c2 - .quad 0x0928673fad41c337, 0x0984149a31665d1e - .quad 0x09202bd066e6e446, 0x097a9efbad7c9909 - .quad 0x09156dece3f159c3, 0x0971a4d14ca40e60 - .quad 0x090c64dabfd6babd, 0x0967628f37011dc7 - .quad 0x0902cf07ed3ac7ca, 0x095efd93aae49244 - .quad 0x08f8ea5cdb1b77f8, 0x0954884565714d83 - .quad 0x08f0801f05da3bab, 0x094b341347ab9d2e - .quad 0x08e5da3ba0723cbc, 0x094204d0f497ca7d - .quad 0x08dcefd7b19fc691, 0x0937de10a24a9be3 - .quad 0x08d3281b7ca3d771, 0x092f9c4f419d97b9 - .quad 0x08c95c663259c5d8, 0x0924ee2a6bb63f1d - .quad 0x08c0c90568fe453b, 0x091bb6bea4d790c6 - .quad 0x08b6374ef6370a23, 0x091258802fee3a1b - .quad 0x08ad668024e6e773, 0x0908491dcb50d650 - .quad 0x08a3739f6c74a992, 0x090012888bcf5e1b - .quad 0x0899bc5a27482390, 0x08f5456466d99824 - .quad 0x089105de86fb726e, 0x08ec25d7813e5a28 - .quad 0x08868453b252f9af, 0x08e29f220ff323bd - .quad 0x087dc7c640bf856f, 0x08d8a2c46b36447d - .quad 0x0873b0e7a2d8004d, 0x08d04b5178932d9e - .quad 0x086a095d99893bea, 0x08c58d2d04dcdef9 - .quad 0x0861361f24d04a1e, 0x08bc8060b8a624d8 - .quad 0x0856c0994513d45b, 0x08b2d8154e3020f5 - .quad 0x084e12caa0268707, 0x08a8ea37661d565f - .quad 0x0843df6725a60cf5, 0x08a078003d294269 - .quad 0x083a42bf15180a09, 0x0895c4df6da1a5f0 - .quad 0x08315957e82800c6, 0x088cc58a0676d26e - .quad 0x0826eb9463d29a0d, 0x088302d6b1661ef0 - .quad 0x081e46dfa81a2018, 0x08791ed1d851d1dd - .quad 0x0813feb236502138, 0x0870982d94421652 - .quad 0x080a67f97b02e026, 0x0865ebfab91b4a2b - .quad 0x08016f37032d6085, 0x085cf4b3235443f5 - .quad 0x07f704e120e656fd, 0x08531f0304f01ddb - .quad 0x07ee638c247f445d, 0x084940198fd0e1c2 - .quad 0x07e40e7ff18c854c, 0x0840ab8eaa8fae67 - .quad 0x07da78b6039c7039, 0x08360223e0067b2c - .quad 0x07d1778970df4481, 0x082d0d6e2f89dd66 - .quad 0x07c70c446e7535cc, 0x08232c589802b4ba - .quad 0x07be688d1dc06742, 0x08194dc0e4e3bd62 - .quad 0x07b40eab69ffb357, 0x0810b1f64079cf15 - .quad 0x07aa74cd8f49285b, 0x080607271cb1c230 - .quad 0x07a1723bbb37e710, 0x07fd0f815d3e30e4 - .quad 0x079701ad03f5aba2, 0x07f32ab83cb1b9aa - .quad 0x078e55d6dd34aeb5, 0x07e947a7e7d08e62 - .quad 0x0783ff3437e5e592, 0x07e0ab555a059592 - .quad 0x077a5c493ec4b75b, 0x07d5faf8b45ee11c - .quad 0x07715f5a46f2a8c5, 0x07ccfae7d166a387 - .quad 0x0766e533a1804da5, 0x07c31a25c153692f - .quad 0x075e2b951ac76b4b, 0x07b92ddcdd3a585a - .quad 0x0753e03e7aaf4a23, 0x07b097bb793410b5 - .quad 0x074a2f624fa2da41, 0x07a5ddb524f58124 - .quad 0x07413f112353b2e2, 0x079ccfd1b6b2b0d1 - .quad 0x0736b71aaf8395ac, 0x0792fac7e1ac1a55 - .quad 0x072dea2a52e6f8d6, 0x0789009c068a7447 - .quad 0x0723b2124c85eb7d, 0x078077566199da13 - .quad 0x0719ee813dcc82f4, 0x0775afa0b60e30ad - .quad 0x071111ab5ef7d9ce, 0x076c8ea38207b48c - .quad 0x070677cd3ce598a2, 0x0762cce7b0334e93 - .quad 0x06fd922e485849df, 0x0758c04eb792831b - .quad 0x06f3751aaab95803, 0x07504a716678c7d9 - .quad 0x06e99a3c2eb312df, 0x074571266fb205e7 - .quad 0x06e0d791e54efc95, 0x073c37f46c8a36ce - .quad 0x06d627dd610c1f2f, 0x073290ef7aa6784e - .quad 0x06cd246bba093ddd, 0x07286d89be61c44f - .quad 0x06c329e3d8fc35e5, 0x072011744722e8f8 - .quad 0x06b93354aecb0f91, 0x071522d67c700dd9 - .quad 0x06b09149eae599f4, 0x070bcc8c2b79e5e6 - .quad 0x06a5c8020a89d6a7, 0x070247692feaf7c7 - .quad 0x069ca1dd59404578, 0x06f8090b25f1fb1c - .quad 0x0692d1194826d1d9, 0x06ef99c33fa36826 - .quad 0x0688bab4cd7bc185, 0x06e4c563ff8738ed - .quad 0x06803f72f0fa181c, 0x06db4d5ff233ee8b - .quad 0x067559144638d7d2, 0x06d1f0fc4fe41aef - .quad 0x066c0baa10766979, 0x06c793b75fbd2367 - .quad 0x06626b830bbc4f33, 0x06befaa9eeaa4992 - .quad 0x0658316ba6f8ef74, 0x06b459a26ac43fcf - .quad 0x064fc588d5eeb300, 0x06aabb8ece685efe - .quad 0x0644dc0c0d42f863, 0x06a18e6b704952c1 - .quad 0x063b6320aea7077a, 0x06970e95e366ca95 - .quad 0x0631fa02ebad6485, 0x068e4700e7fab75e - .quad 0x062798a96e59845b, 0x0683e0826243926d - .quad 0x061ef81624855ca5, 0x067a185d71d9ae78 - .quad 0x061451fcaaed5e70, 0x0671209163a43d8a - .quad 0x060aa9b30dd7b333, 0x06667acd56555624 - .quad 0x06017d9121b4ff43, 0x065d805487b20ec2 - .quad 0x05f6f1bb0c9eff18, 0x06535b0e3e76f72a - .quad 0x05ee184bec96bcc5, 0x064965317fc3f8eb - .quad 0x05e3bc10ccdff1d7, 0x0640a85e11600392 - .quad 0x05d9e0f0cdf83a76, 0x0635d99f4f4fa7a2 - .quad 0x05d0f738d3253e75, 0x062ca8538b911cc2 - .quad 0x05c63e056b37b486, 0x0622ca663e8f6c6e - .quad 0x05bd2806afda0512, 0x0618a38c763ae500 - .quad 0x05b31b865207923b, 0x061026d30f31261e - .quad 0x05a90a81bef15367, 0x06052c63cbe5201d - .quad 0x05a068145905badd, 0x05fbc0c903e2dd51 - .quad 0x05957f0081c7461b, 0x05f22fbc7eb40c8e - .quad 0x058c293abfeb81c1, 0x05e7d5064d5d2e6a - .quad 0x058271a9ed146425, 0x05df3a001a1da12a - .quad 0x0578282015bfd093, 0x05d474846e880b80 - .quad 0x056fa292d1f4b615, 0x05cacb96019278e3 - .quad 0x0564b6323fa7fafc, 0x05c18c50c637e437 - .quad 0x055b1ded81f6cf48, 0x05b6fb47e7243b10 - .quad 0x0551bfd2aff12d23, 0x05ae17fe4af1cdcd - .quad 0x05473b9288cf980b, 0x05a3b3779cd081bc - .quad 0x053e680a6315c8f9, 0x0599caab20737c4b - .quad 0x0533e52969a46a03, 0x0590e16c42489121 - .quad 0x052a082ea93d471f, 0x058618056ad2fa0d - .quad 0x0521075d9566cab2, 0x057ce9e247afa7ef - .quad 0x051646a66f6fb197, 0x0572eabb9557e4c3 - .quad 0x050d22f0f82317a8, 0x0568c0020c90fd02 - .quad 0x05030d7883df3e07, 0x0560305d4157bdec - .quad 0x04f8ea1187daf8b3, 0x05552cf8a69cbdee - .quad 0x04f049a91d747c02, 0x054bb1f3a4ce848c - .quad 0x04e54b29ff375e83, 0x05421bd19407d3a8 - .quad 0x04dbd5a7cbaf896d, 0x0537ad97206eb3e9 - .quad 0x04d230b0dec754da, 0x052ef4e6059f1fe4 - .quad 0x04c7c5a693980a40, 0x05243bdb9112e65b - .quad 0x04bf10221f87a1ca, 0x051a7278c0b2c815 - .quad 0x04b44ae6c097e3b8, 0x051148391a9b5b70 - .quad 0x0000000000000000, 0x0000000000000000 - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ - .align 32 - .quad 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000 /* _MaxThreshold=3487.0/128.0 */ - .align 32 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* sign mask */ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ - .align 32 - .quad 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000 /* 2^(-128) */ - .align 32 - .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ - // polynomial coefficients - .align 32 - .quad 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f // poly1[0] - .align 32 - .quad 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70 // poly1[1] - .align 32 - .quad 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46 // poly3[0] - .align 32 - .quad 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c // poly3[1] - .align 32 - .quad 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2 // poly5[0] - .align 32 - .quad 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf // poly5[1] - .align 32 - .quad 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617 // poly1[2] - .align 32 - .quad 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec // poly3[2] - .align 32 - .quad 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7 // poly5[2] - .align 32 - .quad 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f // poly1[3] - .align 32 - .quad 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6 // poly3[3] - .align 32 - .quad 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da // poly5[3] - .align 32 - .quad 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420 // poly1[4] - .align 32 - .quad 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838 // poly3[4] - .align 32 - .quad 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082 // poly1[5] - .align 32 - .quad 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730 // poly3[5] - .align 32 - .quad 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add // poly3[6] - .align 32 - .quad 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a // poly1[6] - .align 32 - .quad 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf // poly1[7] - .align 32 - .quad 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD /* UF_Threshold */ - .align 32 - .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ - .align 32 - .type __svml_derfc_data_internal,@object - .size __svml_derfc_data_internal,.-__svml_derfc_data_internal + /* _erfc_tbl */ + .quad 0x47f0000000000000, 0x47f20dd750429b6d + .quad 0x47efb7c9030853b3, 0x47f20d8f1975c85d + .quad 0x47ef6f9447be0743, 0x47f20cb67bd452c7 + .quad 0x47ef27640f9853d9, 0x47f20b4d8bac36c1 + .quad 0x47eedf3a9ba22dad, 0x47f209546ad13ccf + .quad 0x47ee971a2c4436ae, 0x47f206cb4897b148 + .quad 0x47ee4f05010eca8c, 0x47f203b261cd0053 + .quad 0x47ee06fd58842c7e, 0x47f2000a00ae3804 + .quad 0x47edbf056fe2df35, 0x47f1fbd27cdc72d3 + .quad 0x47ed771f82f02f4e, 0x47f1f70c3b4f2cc8 + .quad 0x47ed2f4dcbc2f894, 0x47f1f1b7ae44867f + .quad 0x47ece792828eae5c, 0x47f1ebd5552f795b + .quad 0x47ec9fefdd6eaf19, 0x47f1e565bca400d4 + .quad 0x47ec58681031eb6a, 0x47f1de697e413d29 + .quad 0x47ec10fd4c26e896, 0x47f1d6e14099944a + .quad 0x47ebc9b1bfe82687, 0x47f1cecdb718d61c + .quad 0x47eb82879728f11e, 0x47f1c62fa1e869b6 + .quad 0x47eb3b80fa82a4bb, 0x47f1bd07cdd189ac + .quad 0x47eaf4a00f426daa, 0x47f1b357141d95d5 + .quad 0x47eaade6f7378a0e, 0x47f1a91e5a748165 + .quad 0x47ea6757d08215d8, 0x47f19e5e92b964ab + .quad 0x47ea20f4b5626818, 0x47f19318bae53a04 + .quad 0x47e9dabfbc090901, 0x47f1874ddcdfce24 + .quad 0x47e994baf66747ad, 0x47f17aff0e56ec10 + .quad 0x47e94ee8720076b6, 0x47f16e2d7093cd8c + .quad 0x47e9094a37bbd66e, 0x47f160da304ed92f + .quad 0x47e8c3e24bb73372, 0x47f153068581b781 + .quad 0x47e87eb2ad1a4032, 0x47f144b3b337c90c + .quad 0x47e839bd55eaafc8, 0x47f135e3075d076b + .quad 0x47e7f5043ae11862, 0x47f12695da8b5bde + .quad 0x47e7b0894b3ea35c, 0x47f116cd8fd67618 + .quad 0x47e76c4e70a390e7, 0x47f1068b94962e5e + .quad 0x47e728558ee694fc, 0x47f0f5d1602f7e41 + .quad 0x47e6e4a083ed132f, 0x47f0e4a073dc1b91 + .quad 0x47e6a13127843ec1, 0x47f0d2fa5a70c168 + .quad 0x47e65e094b3b2413, 0x47f0c0e0a8223359 + .quad 0x47e61b2aba3da093, 0x47f0ae54fa490723 + .quad 0x47e5d89739304dcf, 0x47f09b58f724416b + .quad 0x47e59650860d6469, 0x47f087ee4d9ad247 + .quad 0x47e5545858029b39, 0x47f07416b4fbfe7c + .quad 0x47e512b05f5006e1, 0x47f05fd3ecbec298 + .quad 0x47e4d15a4527fdc7, 0x47f04b27bc403d30 + .quad 0x47e49057ab900447, 0x47f03613f2812daf + .quad 0x47e44faa2d42c4a0, 0x47f0209a65e29545 + .quad 0x47e40f535d93160e, 0x47f00abcf3e187a9 + .quad 0x47e3cf54c8501620, 0x47efe8fb01a47307 + .quad 0x47e38faff1aa574a, 0x47efbbbbef34b4b2 + .quad 0x47e35066561a275d, 0x47ef8dc092d58ff8 + .quad 0x47e311796a46f064, 0x47ef5f0cdaf15313 + .quad 0x47e2d2ea9aefb636, 0x47ef2fa4c16c0019 + .quad 0x47e294bb4cd4b2bd, 0x47eeff8c4b1375db + .quad 0x47e256ecdca212cc, 0x47eecec7870ebca8 + .quad 0x47e219809edbd524, 0x47ee9d5a8e4c934e + .quad 0x47e1dc77dfcacd02, 0x47ee6b4982f158b9 + .quad 0x47e19fd3e36ac96a, 0x47ee38988fc46e72 + .quad 0x47e16395e559e218, 0x47ee054be79d3042 + .quad 0x47e127bf18c8eadc, 0x47edd167c4cf9d2a + .quad 0x47e0ec50a86d0dd4, 0x47ed9cf06898cdaf + .quad 0x47e0b14bb6728cd8, 0x47ed67ea1a8b5368 + .quad 0x47e076b15c70aa28, 0x47ed325927fb9d89 + .quad 0x47e03c82ab5eb831, 0x47ecfc41e36c7df9 + .quad 0x47e002c0ab8a5018, 0x47ecc5a8a3fbea40 + .quad 0x47df92d8b91d5cc7, 0x47ec8e91c4d01368 + .quad 0x47df210d6a9a6a31, 0x47ec5701a484ef9d + .quad 0x47deb02147ce245c, 0x47ec1efca49a5011 + .quad 0x47de40161b701275, 0x47ebe68728e29d5e + .quad 0x47ddd0ed9ea4bdd6, 0x47ebada596f25436 + .quad 0x47dd62a978f7c957, 0x47eb745c55905bf8 + .quad 0x47dcf54b4058455f, 0x47eb3aafcc27502e + .quad 0x47dc88d479173cce, 0x47eb00a46237d5be + .quad 0x47dc1d4695e87644, 0x47eac63e7ecc1411 + .quad 0x47dbb2a2f7e56520, 0x47ea8b8287ec6a09 + .quad 0x47db48eaee924501, 0x47ea5074e2157620 + .quad 0x47dae01fb7e55a66, 0x47ea1519efaf889e + .quad 0x47da78428050527e, 0x47e9d97610879642 + .quad 0x47da115462cbbc17, 0x47e99d8da149c13f + .quad 0x47d9ab5668e4930a, 0x47e96164fafd8de3 + .quad 0x47d946498acbd766, 0x47e925007283d7aa + .quad 0x47d8e22eaf68291e, 0x47e8e86458169af8 + .quad 0x47d87f06ac6960c4, 0x47e8ab94f6caa71d + .quad 0x47d81cd2465e1d96, 0x47e86e9694134b9e + .quad 0x47d7bb9230cb40b4, 0x47e8316d6f48133d + .quad 0x47d75b470e454d35, 0x47e7f41dc12c9e89 + .quad 0x47d6fbf1708ba47c, 0x47e7b6abbb7aaf19 + .quad 0x47d69d91d8a595da, 0x47e7791b886e7403 + .quad 0x47d64028b7013867, 0x47e73b714a552763 + .quad 0x47d5e3b66b9405a9, 0x47e6fdb11b1e0c34 + .quad 0x47d5883b45fd2b63, 0x47e6bfdf0beddaf5 + .quad 0x47d52db785a98aca, 0x47e681ff24b4ab04 + .quad 0x47d4d42b59f95afa, 0x47e6441563c665d4 + .quad 0x47d47b96e267647a, 0x47e60625bd75d07b + .quad 0x47d423fa2eb1cb59, 0x47e5c8341bb23767 + .quad 0x47d3cd553f045d45, 0x47e58a445da7c74c + .quad 0x47d377a8042458d1, 0x47e54c5a57629db0 + .quad 0x47d322f25f9da2fd, 0x47e50e79d1749ac9 + .quad 0x47d2cf3423f15fdf, 0x47e4d0a6889dfd9f + .quad 0x47d27c6d14c5e341, 0x47e492e42d78d2c5 + .quad 0x47d22a9ce717edcb, 0x47e4553664273d24 + .quad 0x47d1d9c3416d2b4b, 0x47e417a0c4049fd0 + .quad 0x47d189dfbc07e690, 0x47e3da26d759aef5 + .quad 0x47d13af1e11be721, 0x47e39ccc1b136d5a + .quad 0x47d0ecf92d046d22, 0x47e35f93fe7d1b3d + .quad 0x47d09ff50e7b3f93, 0x47e32281e2fd1a92 + .quad 0x47d053e4e6d0c10b, 0x47e2e5991bd4cbfc + .quad 0x47d008c80a24ff10, 0x47e2a8dcede3673b + .quad 0x47cf7d3b7f436013, 0x47e26c508f6bd0ff + .quad 0x47ceeaca836a27cc, 0x47e22ff727dd6f7b + .quad 0x47ce5a3b7c9b56da, 0x47e1f3d3cf9ffe5a + .quad 0x47cdcb8cae2d747f, 0x47e1b7e98fe26217 + .quad 0x47cd3ebc436b0f26, 0x47e17c3b626c7a12 + .quad 0x47ccb3c8500ea349, 0x47e140cc3173f007 + .quad 0x47cc2aaed0bfcfee, 0x47e1059ed7740313 + .quad 0x47cba36dab91c0e9, 0x47e0cab61f084b93 + .quad 0x47cb1e02b082b720, 0x47e09014c2ca74da + .quad 0x47ca9a6b99fc973b, 0x47e055bd6d32e8d7 + .quad 0x47ca18a60d56673e, 0x47e01bb2b87c6968 + .quad 0x47c998af9b56a3ae, 0x47dfc3ee5d1524b0 + .quad 0x47c91a85c0b65519, 0x47df511a91a67d2a + .quad 0x47c89e25e6a4cef9, 0x47dedeeee0959518 + .quad 0x47c8238d634c0127, 0x47de6d6ffaa65a25 + .quad 0x47c7aab97a554544, 0x47ddfca26f5bbf88 + .quad 0x47c733a75d6e91b8, 0x47dd8c8aace11e63 + .quad 0x47c6be542ccffc2f, 0x47dd1d2cfff91594 + .quad 0x47c64abcf7c175b4, 0x47dcae8d93f1d7b7 + .quad 0x47c5d8debd20aace, 0x47dc40b0729ed548 + .quad 0x47c568b66be6f268, 0x47dbd3998457afdb + .quad 0x47c4fa40e3af3674, 0x47db674c8ffc6283 + .quad 0x47c48d7af53bc19f, 0x47dafbcd3afe8ab6 + .quad 0x47c4226162fbddd5, 0x47da911f096fbc26 + .quad 0x47c3b8f0e1912f70, 0x47da27455e14c93c + .quad 0x47c351261854b991, 0x47d9be437a7de946 + .quad 0x47c2eafda1db784a, 0x47d9561c7f23a47b + .quad 0x47c286740c7a7dab, 0x47d8eed36b886d93 + .quad 0x47c22385daca7f47, 0x47d8886b1e5ecfd1 + .quad 0x47c1c22f842ac1f2, 0x47d822e655b417e7 + .quad 0x47c1626d75435220, 0x47d7be47af1f5d89 + .quad 0x47c1043c1086777d, 0x47d75a91a7f4d2ed + .quad 0x47c0a797aeb152f2, 0x47d6f7c69d7d3ef8 + .quad 0x47c04c7c9f4b9690, 0x47d695e8cd31867e + .quad 0x47bfe5ce524c8ee5, 0x47d634fa54fa285f + .quad 0x47bf35a715b2f3e1, 0x47d5d4fd33729015 + .quad 0x47be887bf681f218, 0x47d575f3483021c3 + .quad 0x47bdde4553ef94de, 0x47d517de540ce2a3 + .quad 0x47bd36fb7fa50177, 0x47d4babff975a04c + .quad 0x47bc9296beb09cf1, 0x47d45e99bcbb7915 + .quad 0x47bbf10f4a759889, 0x47d4036d0468a7a2 + .quad 0x47bb525d5198cb1c, 0x47d3a93b1998736c + .quad 0x47bab678f8eabedb, 0x47d35005285227f1 + .quad 0x47ba1d5a5c4edb96, 0x47d2f7cc3fe6f423 + .quad 0x47b986f98f9f96c8, 0x47d2a09153529381 + .quad 0x47b8f34e9f8f93a6, 0x47d24a55399ea239 + .quad 0x47b8625192879e39, 0x47d1f518ae487dc8 + .quad 0x47b7d3fa69816db5, 0x47d1a0dc51a9934d + .quad 0x47b7484120df1b01, 0x47d14da0a961fd14 + .quad 0x47b6bf1db13f3983, 0x47d0fb6620c550af + .quad 0x47b63888104d811a, 0x47d0aa2d09497f2b + .quad 0x47b5b478318ff939, 0x47d059f59af7a906 + .quad 0x47b532e6073095f2, 0x47d00abff4dec7a3 + .quad 0x47b4b3c982c338c7, 0x47cf79183b101c5b + .quad 0x47b4371a960807f8, 0x47cedeb406d9c825 + .quad 0x47b3bcd133aa0ffc, 0x47ce4652fadcb6b2 + .quad 0x47b344e54ffa23b9, 0x47cdaff4969c0b04 + .quad 0x47b2cf4ee1a5f0fc, 0x47cd1b982c501370 + .quad 0x47b25c05e26b3f99, 0x47cc893ce1dcbef7 + .quad 0x47b1eb024fc75285, 0x47cbf8e1b1ca2279 + .quad 0x47b17c3c2ba26319, 0x47cb6a856c3ed54f + .quad 0x47b10fab7cf72f94, 0x47cade26b7fbed95 + .quad 0x47b0a548507696c0, 0x47ca53c4135a6526 + .quad 0x47b03d0ab9273b94, 0x47c9cb5bd549b111 + .quad 0x47afadd5a20258d3, 0x47c944ec2e4f5630 + .quad 0x47aee5c1730b147c, 0x47c8c07329874652 + .quad 0x47ae21c938a45a83, 0x47c83deeada4d25a + .quad 0x47ad61dd57628999, 0x47c7bd5c7df3fe9c + .quad 0x47aca5ee4649e31f, 0x47c73eba3b5b07b7 + .quad 0x47abedec8fddb340, 0x47c6c205655be720 + .quad 0x47ab39c8d3276d8a, 0x47c6473b5b15a7a1 + .quad 0x47aa8973c4b5c03e, 0x47c5ce595c455b0a + .quad 0x47a9dcde2f93a207, 0x47c5575c8a468362 + .quad 0x47a933f8f6375f2c, 0x47c4e241e912c305 + .quad 0x47a88eb51369acb9, 0x47c46f066040a832 + .quad 0x47a7ed039b24c96b, 0x47c3fda6bc016994 + .quad 0x47a74ed5bb6bb581, 0x47c38e1fae1d6a9d + .quad 0x47a6b41cbd198bc8, 0x47c3206dceef5f87 + .quad 0x47a61cca04a90795, 0x47c2b48d9e5dea1c + .quad 0x47a588cf12f4446b, 0x47c24a7b84d38971 + .quad 0x47a4f81d85ecc55b, 0x47c1e233d434b813 + .quad 0x47a46aa7194bd324, 0x47c17bb2c8d41535 + .quad 0x47a3e05da73b4159, 0x47c116f48a6476cc + .quad 0x47a3593328f6abbe, 0x47c0b3f52ce8c383 + .quad 0x47a2d519b7653e1e, 0x47c052b0b1a174ea + .quad 0x47a254038bac19d6, 0x47bfe6460fef4680 + .quad 0x47a1d5e2ffb96d40, 0x47bf2a901ccafb37 + .quad 0x47a15aaa8ec85205, 0x47be723726b824a9 + .quad 0x47a0e24cd5dd8846, 0x47bdbd32ac4c99b0 + .quad 0x47a06cbc943d255a, 0x47bd0b7a0f921e7c + .quad 0x479ff3d957b29b39, 0x47bc5d0497c09e74 + .quad 0x479f13a043742333, 0x47bbb1c972f23e50 + .quad 0x479e38b43cbd0f0f, 0x47bb09bfb7d11a84 + .quad 0x479d62fbdc2e756b, 0x47ba64de673e8837 + .quad 0x479c925e02b41668, 0x47b9c31c6df3b1b8 + .quad 0x479bc6c1da1f3121, 0x47b92470a61b6965 + .quad 0x479b000ed5b4a626, 0x47b888d1d8e510a3 + .quad 0x479a3e2cb2ae9edb, 0x47b7f036c0107294 + .quad 0x4799810378b1f299, 0x47b75a96077274ba + .quad 0x4798c87b7a37834f, 0x47b6c7e64e7281cb + .quad 0x4798147d54e9cc33, 0x47b6381e2980956b + .quad 0x479764f1f1f6ddea, 0x47b5ab342383d178 + .quad 0x4796b9c28657041a, 0x47b5211ebf41880b + .quad 0x479612d893085125, 0x47b499d478bca735 + .quad 0x4795701de53f4d2e, 0x47b4154bc68d75c3 + .quad 0x4794d17c968d062b, 0x47b3937b1b31925a + .quad 0x479436df0cfabf1d, 0x47b31458e6542847 + .quad 0x4793a02ffb1b7cee, 0x47b297db960e4f63 + .quad 0x47930d5a6013afc5, 0x47b21df9981f8e53 + .quad 0x47927e49879737d3, 0x47b1a6a95b1e786f + .quad 0x4791f2e909de04d2, 0x47b131e14fa1625d + .quad 0x47916b24cb8f8f92, 0x47b0bf97e95f2a64 + .quad 0x4790e6e8fda56cf7, 0x47b04fc3a0481321 + .quad 0x479066221d4539d8, 0x47afc4b5e32d6259 + .quad 0x478fd179e7243e3c, 0x47aeeea8c1b1db94 + .quad 0x478edd4d2aec5adb, 0x47ae1d4cf1e2450a + .quad 0x478def98c6c79efa, 0x47ad508f9a1ea64f + .quad 0x478d0838121f2418, 0x47ac885df3451a07 + .quad 0x478c2706fa45005e, 0x47abc4a54a84e834 + .quad 0x478b4be201caa4b4, 0x47ab055303221015 + .quad 0x478a76a63fc95c79, 0x47aa4a549829587e + .quad 0x4789a7315f1d6a55, 0x47a993979e14fffe + .quad 0x4788dd619d943ca1, 0x47a8e109c4622913 + .quad 0x47881915cb0e3323, 0x47a83298d717210e + .quad 0x47875a2d48946eb1, 0x47a78832c03aa2b1 + .quad 0x4786a08807632262, 0x47a6e1c5893c380b + .quad 0x4785ec0687e8dcb2, 0x47a63f3f5c4de13b + .quad 0x47853c89d8bb3ddb, 0x47a5a08e85af27e0 + .quad 0x478491f395818f54, 0x47a505a174e9c929 + .quad 0x4783ec25e5d5af12, 0x47a46e66be002240 + .quad 0x47834b037c1bbfc5, 0x47a3dacd1a8d8cce + .quad 0x4782ae6f94510dd8, 0x47a34ac36ad8dafe + .quad 0x4782164df2d29765, 0x47a2be38b6d92415 + .quad 0x47818282e31ba3e8, 0x47a2351c2f2d1449 + .quad 0x4780f2f3367cd6aa, 0x47a1af5d2e04f3f6 + .quad 0x4780678442cc256f, 0x47a12ceb37ff9bc3 + .quad 0x477fc037c21c3622, 0x47a0adb5fcfa8c75 + .quad 0x477eb940d8319831, 0x47a031ad58d56279 + .quad 0x477db9f17e61c310, 0x479f7182a851bca2 + .quad 0x477cc218694238a2, 0x479e85c449e377f3 + .quad 0x477bd18548996419, 0x479da0005e5f28df + .quad 0x477ae808c479c371, 0x479cc0180af00a8b + .quad 0x477a05747a543aa7, 0x479be5ecd2fcb5f9 + .quad 0x4779299afa0246a6, 0x479b1160991ff737 + .quad 0x4778544fc2c8c1da, 0x479a4255a00b9f03 + .quad 0x477785674053e8b9, 0x479978ae8b55ce1b + .quad 0x4776bcb6c7ad4854, 0x4798b44e6031383e + .quad 0x4775fa14942c3d54, 0x4797f5188610ddc8 + .quad 0x47753d57c461a5a7, 0x47973af0c737bb45 + .quad 0x4774865856ff632a, 0x479685bb5134ef13 + .quad 0x4773d4ef27bc49a6, 0x4795d55cb54cd53a + .quad 0x477328f5ec350e67, 0x479529b9e8cf9a1e + .quad 0x4772824730cacbb4, 0x479482b8455dc491 + .quad 0x4771e0be557fa673, 0x4793e03d891b37de + .quad 0x477144378ad22027, 0x4793422fd6d12e2b + .quad 0x4770ac8fce979b96, 0x4792a875b5ffab56 + .quad 0x477019a4e8d69649, 0x479212f612dee7fb + .quad 0x476f16aad1422a55, 0x479181983e5133dd + .quad 0x476e030141df7d25, 0x4790f443edc5ce49 + .quad 0x476cf80d4afc3019, 0x47906ae13b0d3255 + .quad 0x476bf5908f50b4a0, 0x478fcab1483ea7fc + .quad 0x476afb4e269693df, 0x478ec72615a894c4 + .quad 0x476a090a974cfebe, 0x478dcaf3691fc448 + .quad 0x47691e8bd0830a74, 0x478cd5ec93c12432 + .quad 0x47683b9923a85f7b, 0x478be7e5ac24963b + .quad 0x47675ffb3e6519a0, 0x478b00b38d6b3575 + .quad 0x47668b7c2479902d, 0x478a202bd6372dce + .quad 0x4765bde729a6b60f, 0x47894624e78e0faf + .quad 0x4764f708eb9fba63, 0x47887275e3a6869e + .quad 0x476436af4c058acb, 0x4787a4f6aca256cb + .quad 0x47637ca96a6cd1d4, 0x4786dd7fe3358230 + .quad 0x4762c8c79e6f04a3, 0x47861beae53b72b7 + .quad 0x47621adb71c70c75, 0x47856011cc3b036d + .quad 0x476172b79a7a1181, 0x4784a9cf6bda3f4c + .quad 0x4760d02ff50ce651, 0x4783f8ff5042a88e + .quad 0x476033197ec68c0e, 0x47834d7dbc76d7e5 + .quad 0x475f3694a0008381, 0x4782a727a89a3f14 + .quad 0x475e11332d0714c5, 0x478205dac02bd6b9 + .quad 0x475cf5bf1fed1e70, 0x4781697560347b26 + .quad 0x475be3eb08ae7c20, 0x4780d1d69569b82d + .quad 0x475adb6b810af9e2, 0x47803ede1a45bfee + .quad 0x4759dbf721b98dfa, 0x477f60d8aa2a88f2 + .quad 0x4758e54677bb0151, 0x477e4cc4abf7d065 + .quad 0x4757f713f9cc9784, 0x477d4143a9dfe965 + .quad 0x4757111bfdfb3ce0, 0x477c3e1a5f5c077c + .quad 0x4756331caf57b5db, 0x477b430ecf4a83a8 + .quad 0x47555cd603cc4150, 0x477a4fe83fb9db25 + .quad 0x47548e09b21414bf, 0x4779646f35a76624 + .quad 0x4753c67b27d50fe7, 0x4778806d70b2fc36 + .quad 0x475305ef7fdbfb95, 0x4777a3ade6c8b3e5 + .quad 0x47524c2d787b9e37, 0x4776cdfcbfc1e263 + .quad 0x475198fd6a0ee7bd, 0x4775ff2750fe7820 + .quad 0x4750ec293d9e6d85, 0x477536fc18f7ce5c + .quad 0x4750457c63a96690, 0x4774754abacdf1dc + .quad 0x474f49879624a021, 0x4773b9e3f9d06e3f + .quad 0x474e139bb05eb49e, 0x47730499b503957f + .quad 0x474ce8d4b7fd6c70, 0x4772553ee2a336bf + .quad 0x474bc8d516fda8ba, 0x4771aba78ba3af89 + .quad 0x474ab341ee553e25, 0x477107a8c7323a6e + .quad 0x4749a7c305336484, 0x47706918b6355624 + .quad 0x4748a602b88919c0, 0x476f9f9cfd9c3035 + .quad 0x4747adadead962ed, 0x476e77448fb66bb9 + .quad 0x4746be73f45149fb, 0x476d58da68fd1170 + .quad 0x4745d80693276a6d, 0x476c4412bf4b8f0b + .quad 0x4744fa19dc42d409, 0x476b38a3af2e55b4 + .quad 0x474424642c28ff75, 0x476a3645330550ff + .quad 0x4743569e18328604, 0x47693cb11a30d765 + .quad 0x47429082600643fd, 0x47684ba3004a50d0 + .quad 0x4741d1cddf5a82de, 0x476762d84469c18f + .quad 0x47411a3f7ffbbfea, 0x4766821000795a03 + .quad 0x474069982c189a9e, 0x4765a90b00981d93 + .quad 0x473f7f3581a4dc2c, 0x4764d78bba8ca5fd + .quad 0x473e381802242163, 0x47640d564548fad7 + .quad 0x473cfd6511405b2d, 0x47634a305080681f + .quad 0x473bcead7f01492f, 0x47628de11c5031eb + .quad 0x473aab859b20ac9e, 0x4761d83170fbf6fb + .quad 0x473993851cc9779a, 0x476128eb96be8798 + .quad 0x473886470ad946a7, 0x47607fdb4dafea5f + .quad 0x47378369a4a2cbd6, 0x475fb99b8b8279e1 + .quad 0x47368a8e4b2fc8c2, 0x475e7f232d9e2630 + .quad 0x47359b596b012aaa, 0x475d4fed7195d7e8 + .quad 0x4734b572664bd2dc, 0x475c2b9cf7f893bf + .quad 0x4733d8837fb08d1d, 0x475b11d702b3deb2 + .quad 0x47330439c56dadf6, 0x475a024365f771bd + .quad 0x47323844fd08cb93, 0x4758fc8c794b03b5 + .quad 0x473174578f6efd5d, 0x4758005f08d6f1ef + .quad 0x4730b826758a086b, 0x47570d6a46e07dda + .quad 0x473003692548d98b, 0x4756235fbd7a4345 + .quad 0x472eabb2fe335196, 0x475541f340697987 + .quad 0x472d5e6777a83c2a, 0x475468dadf4080ab + .quad 0x472c1e6cb6239574, 0x475397ced7af2b15 + .quad 0x472aeb4423e690e7, 0x4752ce898809244e + .quad 0x4729c47374a0974e, 0x47520cc76202c5fb + .quad 0x4728a98484a1e8d3, 0x47515246dda49d47 + .quad 0x47279a0538dd4fc7, 0x47509ec86c75d497 + .quad 0x472695875fb574a0, 0x474fe41cd9bb4eee + .quad 0x47259ba0929261c5, 0x474e97ba3b77f306 + .quad 0x4724abea183bc470, 0x474d57f524723822 + .quad 0x4723c600c7f477c5, 0x474c245d4b99847a + .quad 0x4722e984ed53e777, 0x474afc85e0f82e12 + .quad 0x4722161a2cd9d894, 0x4749e005769dbc1d + .quad 0x47214b67693928cf, 0x4748ce75e9f6f8a0 + .quad 0x47208916a9561720, 0x4747c7744d9378f7 + .quad 0x471f9da9fde95755, 0x4746caa0d3582fe9 + .quad 0x471e38a4dc27b11b, 0x4745d79eb71e893b + .quad 0x471ce283a9e3e330, 0x4744ee1429bf7cc0 + .quad 0x471b9ab1a96e3b3e, 0x47440daa3c89f5b6 + .quad 0x471a609f7584d32b, 0x4743360ccd23db3a + .quad 0x471933c2d52c56c9, 0x474266ea71d4f71a + .quad 0x4718139690c0d187, 0x47419ff4663ae9df + .quad 0x4716ff9a4837fa43, 0x4740e0de78654d1e + .quad 0x4715f7524a8e81a2, 0x4740295ef6591848 + .quad 0x4714fa476e59f668, 0x473ef25d37f49fe1 + .quad 0x47140806eb78e353, 0x473da01102b5f851 + .quad 0x4713202235dada50, 0x473c5b5412dcafad + .quad 0x4712422ed95a3235, 0x473b23a5a23e4210 + .quad 0x47116dc656a14df6, 0x4739f8893d8fd1c1 + .quad 0x4710a2860115569c, 0x4738d986a4187285 + .quad 0x470fc01dbb80c841, 0x4737c629a822bc9e + .quad 0x470e4c0b066a4970, 0x4736be02102b3520 + .quad 0x470ce823f4cc4bad, 0x4735c0a378c90bca + .quad 0x470b93bf40d5eccb, 0x4734cda5374ea275 + .quad 0x470a4e3a125adc76, 0x4733e4a23d1f4703 + .quad 0x470916f7c5f2f764, 0x47330538fbb77ecd + .quad 0x4707ed61b5d3db0a, 0x47322f0b496539be + .quad 0x4706d0e7045988cb, 0x473161be46ad3b50 + .quad 0x4705c0fc68335b0c, 0x47309cfa445b00ff + .quad 0x4704bd1bfa2aba3d, 0x472fc0d55470cf51 + .quad 0x4703c4c504792bf8, 0x472e577bbcd49935 + .quad 0x4702d77bd3a382bc, 0x472cfd4a5adec5c0 + .quad 0x4701f4c988d02149, 0x472bb1a9657ce465 + .quad 0x47011c3bed8e716a, 0x472a740684026555 + .quad 0x47004d654905dad0, 0x472943d4a1d1ed39 + .quad 0x46ff0fb86d056745, 0x4728208bc334a6a5 + .quad 0x46fd9676faafa27f, 0x472709a8db59f25c + .quad 0x46fc2e43d417197b, 0x4725feada379d8b7 + .quad 0x46fad664518e771b, 0x4724ff207314a102 + .quad 0x46f98e25420092da, 0x47240a8c1949f75e + .quad 0x46f854daa4a49b0f, 0x4723207fb7420eb9 + .quad 0x46f729df6503422a, 0x4722408e9ba3327f + .quad 0x46f60c95193c542d, 0x47216a501f0e42ca + .quad 0x46f4fc63c27c71ae, 0x47209d5f819c9e29 + .quad 0x46f3f8b98f93052a, 0x471fb2b792b40a22 + .quad 0x46f3010aa198de78, 0x471e3bcf436a1a95 + .quad 0x46f214d0d2983650, 0x471cd55277c18d05 + .quad 0x46f1338b7e273194, 0x471b7e94604479dc + .quad 0x46f05cbf4be650ab, 0x471a36eec00926dd + .quad 0x46ef1febf7a916aa, 0x4718fdc1b2dcf7b9 + .quad 0x46ed997c68d65936, 0x4717d2737527c3f9 + .quad 0x46ec2556a4e7a90f, 0x4716b4702d7d5849 + .quad 0x46eac2aa7516ade4, 0x4715a329b7d30748 + .quad 0x46e970b05888fda2, 0x47149e17724f4d41 + .quad 0x46e82ea92dbc1a27, 0x4713a4b60ba9aa4e + .quad 0x46e6fbdddeff308f, 0x4712b6875310f785 + .quad 0x46e5d79f11e27f6b, 0x4711d312098e9dba + .quad 0x46e4c144d984e1b8, 0x4710f9e1b4dd36df + .quad 0x46e3b82e6ba892a4, 0x47102a8673a94692 + .quad 0x46e2bbc1d878d272, 0x470ec929a665b449 + .quad 0x46e1cb6bc4eaa678, 0x470d4f4b4c8e09ed + .quad 0x46e0e69f27a37df3, 0x470be6abbb10a5aa + .quad 0x46e00cd508511266, 0x470a8e8cc1fadef6 + .quad 0x46de7b1882bccac5, 0x47094637d5bacfdb + .quad 0x46dcf09287e48bb9, 0x47080cfdc72220cf + .quad 0x46db792bbc489b04, 0x4706e2367dc27f95 + .quad 0x46da140206ab9450, 0x4705c540b4936fd2 + .quad 0x46d8c03d2d39119b, 0x4704b581b8d170fc + .quad 0x46d77d0e6e5bed21, 0x4703b2652b06c2b2 + .quad 0x46d649b01d73110a, 0x4702bb5cc22e5db6 + .quad 0x46d525654343aad2, 0x4701cfe010e2052d + .quad 0x46d40f79420887c7, 0x4700ef6c4c84a0fe + .quad 0x46d3073f7cff4a85, 0x47001984165a5f36 + .quad 0x46d20c1303550f0e, 0x46fe9b5e8d00ce77 + .quad 0x46d11d563e54f40e, 0x46fd16f5716c6c1a + .quad 0x46d03a72a2bbdc06, 0x46fba4f035d60e03 + .quad 0x46cec5b0ca2b20f5, 0x46fa447b7b03f045 + .quad 0x46cd2bfc6210880a, 0x46f8f4ccca7fc90d + .quad 0x46cba6c1c6e87c40, 0x46f7b5223dac7336 + .quad 0x46ca35068e9c89cf, 0x46f684c227fcacef + .quad 0x46c8d5dbaa383b98, 0x46f562fac4329b48 + .quad 0x46c7885ce9f67cdb, 0x46f44f21e49054f2 + .quad 0x46c64bb0863504dd, 0x46f34894a5e24657 + .quad 0x46c51f06ad20e4c3, 0x46f24eb7254ccf83 + .quad 0x46c4019914f0b53a, 0x46f160f438c70913 + .quad 0x46c2f2aa92823e80, 0x46f07ebd2a2d2844 + .quad 0x46c1f186b432c98b, 0x46ef4f12e9ab070a + .quad 0x46c0fd8160ca94a0, 0x46edb5ad0b27805c + .quad 0x46c015f67a552924, 0x46ec304efa2c6f4e + .quad 0x46be749309831666, 0x46eabe09e9144b5e + .quad 0x46bcd3caa04cdd1b, 0x46e95df988e76644 + .quad 0x46bb48774d0f8e45, 0x46e80f439b4ee04b + .quad 0x46b9d189f9f85cbf, 0x46e6d11788a69c64 + .quad 0x46b86e0050236315, 0x46e5a2adfa0b4bc4 + .quad 0x46b71ce426a561d3, 0x46e4834877429b8f + .quad 0x46b5dd4af79906a9, 0x46e37231085c7d9a + .quad 0x46b4ae555af52cdf, 0x46e26eb9daed6f7e + .quad 0x46b38f2e86f38216, 0x46e1783ceac28910 + .quad 0x46b27f0bd5d0e6b1, 0x46e08e1badf0fced + .quad 0x46b17d2c50b2bfaf, 0x46df5f7d88472604 + .quad 0x46b088d83f7e4069, 0x46ddb92b5212fb8d + .quad 0x46af42c17ae0ebf6, 0x46dc282cd3957eda + .quad 0x46ad8c3ea48f2889, 0x46daab7abace48dc + .quad 0x46abeceb1f9f5b3d, 0x46d94219bfcb4928 + .quad 0x46aa6399674d366b, 0x46d7eb1a2075864e + .quad 0x46a8ef2a9a18d857, 0x46d6a597219a93da + .quad 0x46a78e8dcd2e6bfd, 0x46d570b69502f313 + .quad 0x46a640bf6745325e, 0x46d44ba864670882 + .quad 0x46a504c882a97424, 0x46d335a62115bce2 + .quad 0x46a3d9be56279ee9, 0x46d22df298214423 + .quad 0x46a2bec1a4917edb, 0x46d133d96ae7e0dd + .quad 0x46a1b2fe32991d5c, 0x46d046aeabcfcdec + .quad 0x46a0b5aa42bf5054, 0x46cecb9cfe1d8642 + .quad 0x469f8c0c2e2ce8de, 0x46cd21397ead99cb + .quad 0x469dc6b6f1384e18, 0x46cb8d094c86d374 + .quad 0x469c19fa87de37fb, 0x46ca0df0f0c626dc + .quad 0x469a848df650bea7, 0x46c8a2e269750a39 + .quad 0x46990538b942ea7c, 0x46c74adc8f4064d3 + .quad 0x46979ad1fce5b3d8, 0x46c604ea819f007c + .quad 0x4696443fdcf0c327, 0x46c4d0231928c6f9 + .quad 0x46950076ad55cc39, 0x46c3aba85fe22e20 + .quad 0x4693ce784b411931, 0x46c296a70f414053 + .quad 0x4692ad53760d7287, 0x46c1905613b3abf2 + .quad 0x46919c232fd50b88, 0x46c097f6156f32c5 + .quad 0x46909a0e254c75e0, 0x46bf59a20caf6695 + .quad 0x468f4c8c392fb944, 0x46bd9c73698fb1dc + .quad 0x468d800ed59bd026, 0x46bbf716c6168bae + .quad 0x468bcd30dfbd611b, 0x46ba6852c6b58392 + .quad 0x468a32923130213f, 0x46b8eefd70594a89 + .quad 0x4688aee4cd06ec1b, 0x46b789fb715aae95 + .quad 0x468740ebfab80eb4, 0x46b6383f726a8e04 + .quad 0x4685e77b6bbd2127, 0x46b4f8c96f26a26a + .quad 0x4684a1766b6e5e8a, 0x46b3caa61607f920 + .quad 0x46836dcf18a6465c, 0x46b2acee2f5ecdb8 + .quad 0x46824b85a8bf0124, 0x46b19ec60b1242ed + .quad 0x468139a7b37f8475, 0x46b09f5cf4dd2877 + .quad 0x4680374f8792ca97, 0x46af5bd95d8730d8 + .quad 0x467e87470e4f4246, 0x46ad9371e2ff7c35 + .quad 0x467cbbab18b73217, 0x46abe41de54d155a + .quad 0x467b0a44aa2f067e, 0x46aa4c89e08ef4f3 + .quad 0x467971a1ec0f40c7, 0x46a8cb738399b12c + .quad 0x4677f064a8ba8323, 0x46a75fa8dbc84bec + .quad 0x467685414c16188e, 0x46a608078a70dcbc + .quad 0x46752efdf060cd20, 0x46a4c37c0394d094 + .quad 0x4673ec7176d784b5, 0x46a39100d5687bfe + .quad 0x4672bc82ab9d2302, 0x46a26f9df8519bd7 + .quad 0x46719e2774614040, 0x46a15e6827001f18 + .quad 0x467090640946d2d5, 0x46a05c803e4831c1 + .quad 0x466f24946f22d5ae, 0x469ed22548cffd35 + .quad 0x466d45f15b49b35e, 0x469d06ad6ecdf971 + .quad 0x466b83349fd05191, 0x469b551c847fbc96 + .quad 0x4669dacb2c432ef4, 0x4699bc09f112b494 + .quad 0x46684b37e1cbf8eb, 0x46983a1ff0aa239d + .quad 0x4666d3126d74b6cc, 0x4696ce1aa3fd7bdd + .quad 0x4665710631158bff, 0x469576c72b514859 + .quad 0x466423d13a3b73e1, 0x46943302cc4a0da8 + .quad 0x4662ea43465e3995, 0x469301ba221dc9bb + .quad 0x4661c33cd3c37add, 0x4691e1e857adc568 + .quad 0x4660adae3e73c2b5, 0x4690d2966b1746f7 + .quad 0x465f512dd15b73b7, 0x468fa5b4f49cc6b2 + .quad 0x465d6608dc942687, 0x468dc3ae30b55c16 + .quad 0x465b9823c51276e1, 0x468bfd7555a3bd68 + .quad 0x4659e5ce2f93dd76, 0x468a517d9e61628a + .quad 0x46584d6fe15b6b93, 0x4688be4f8f6c951f + .quad 0x4656cd87746bc76b, 0x46874287ded49339 + .quad 0x465564a91cd221f0, 0x4685dcd669f2cd34 + .quad 0x4654117d7e2c667d, 0x46848bfd38302871 + .quad 0x4652d2c0909ebeb9, 0x46834ecf8a3c124a + .quad 0x4651a7409475f2f9, 0x46822430f521cbcf + .quad 0x46508ddd13bd35e7, 0x46810b1488aeb235 + .quad 0x464f0b0be22d18e8, 0x4680027c00a263a6 + .quad 0x464d1a75065a8c74, 0x467e12ee004efc37 + .quad 0x464b48117843c1c7, 0x467c3e44ae32b16b + .quad 0x46499218b8ac7f8e, 0x467a854ea14102a8 + .quad 0x4647f6dc6010b4ad, 0x4678e6761569f45d + .quad 0x464674c6ae60d852, 0x4677603bac345f65 + .quad 0x46450a592e3c968e, 0x4675f1353cdad001 + .quad 0x4643b62b6aafb0c8, 0x4674980cb3c80949 + .quad 0x464276e9b681072f, 0x4673537f00b6ad4d + .quad 0x46414b54042f445b, 0x4672225b12bffc68 + .quad 0x4640323ccdc1a3dc, 0x46710380e1adb7e9 + .quad 0x463e5510173b9a50, 0x466febc107d5efaa + .quad 0x463c6654733b86ad, 0x466df0f2a0ee6947 + .quad 0x463a964ed354f984, 0x466c14b2188bcee4 + .quad 0x4638e324c651b064, 0x466a553644f7f07d + .quad 0x46374b179d1eba81, 0x4668b0cfce0579e0 + .quad 0x4635cc82d9070d95, 0x466725e7c5dd20f7 + .quad 0x463465daafca8b1d, 0x4665b2fe547a1340 + .quad 0x463315aaa46df48e, 0x466456a974e92e93 + .quad 0x4631da9433aebbcf, 0x46630f93c3699078 + .quad 0x4630b34d93135fc0, 0x4661dc7b5b978cf8 + .quad 0x462f3d41033c44cc, 0x4660bc30c5d52f15 + .quad 0x462d36d25268cd2b, 0x465f5b2be65a0c7f + .quad 0x462b512a1fb1d8fc, 0x465d5f3a8dea7357 + .quad 0x46298a442fc4fc15, 0x465b82915b03515b + .quad 0x4627e03b1cc6d738, 0x4659c3517e789488 + .quad 0x462651468e010b8a, 0x46581fb7df06136e + .quad 0x4624dbb989001d84, 0x4656961b8d641d06 + .quad 0x46237e00dac4e8b5, 0x465524ec4d916cae + .quad 0x462236a197bf0b9a, 0x4653cab1343d18d1 + .quad 0x46210437b1569d7e, 0x4652860757487a01 + .quad 0x461fcae93fb7323c, 0x465155a09065d4f7 + .quad 0x461db23c3f816f92, 0x4650384250e4c9fc + .quad 0x461bbc1a022c14d4, 0x464e59890b926c78 + .quad 0x4619e658108af2e0, 0x464c642116a8a9e3 + .quad 0x46182eedbe410407, 0x464a8e405e651ab6 + .quad 0x461693f22ab61ce9, 0x4648d5f98114f872 + .quad 0x4615139a5f3661fb, 0x4647397c5a66e307 + .quad 0x4613ac3788a1b429, 0x4645b71456c5a4c4 + .quad 0x46125c354b26cb4e, 0x46444d26de513197 + .quad 0x461122182e9a270f, 0x4642fa31d6371537 + .quad 0x460ff8f84418d510, 0x4641bcca373b7b43 + .quad 0x460dd4262aac53e8, 0x4640939ab853339f + .quad 0x460bd3474ec16ca5, 0x463efac5187b2863 + .quad 0x4609f40fd0082b72, 0x463cf1e86235d0e7 + .quad 0x4608345858c4438d, 0x463b0a68a2128bab + .quad 0x4606921be96b86b1, 0x4639423165bc4444 + .quad 0x46050b75c536f927, 0x4637974e743dea3d + .quad 0x46039e9f7dcbe479, 0x463607e9eacd1050 + .quad 0x460249ef1c3be817, 0x4634924a74dec729 + .quad 0x46010bd565b35393, 0x463334d19e0c2160 + .quad 0x45ffc5b8748842b2, 0x4631edfa3c5f5cca + .quad 0x45fd9b4a18a38642, 0x4630bc56f1b54701 + .quad 0x45fb95cede6d524b, 0x462f3d2185e047d9 + .quad 0x45f9b2df77a02225, 0x462d26cb87945e87 + .quad 0x45f7f03b935e8e3a, 0x462b334fac4b9f99 + .quad 0x45f64bc777824f0e, 0x46296076f7918d1c + .quad 0x45f4c389be9acb83, 0x4627ac2d72fc2c63 + .quad 0x45f355a9387de78c, 0x462614801550319e + .quad 0x45f2006aeb6bc768, 0x4624979ac8b28927 + .quad 0x45f0c23033e2a376, 0x462333c68e2d0548 + .quad 0x45ef32ea02b55d23, 0x4621e767bce37dd7 + .quad 0x45ed099c5c770f5a, 0x4620b0fc5b6d05a0 + .quad 0x45eb05cfe2e99435, 0x461f1e3523b41d7d + .quad 0x45e92508d0743fc9, 0x461d00de6608effe + .quad 0x45e764f46cf19f9c, 0x461b0778b7b3301b + .quad 0x45e5c36679625a01, 0x46192fb04ec0f6cf + .quad 0x45e43e56c3e340a7, 0x46177756ec9f78fa + .quad 0x45e2d3dee1869201, 0x4615dc61922d5a06 + .quad 0x45e182380bd2f494, 0x46145ce65699ff6d + .quad 0x45e047b91fcb6491, 0x4612f71a5f159970 + .quad 0x45de45a9790460c1, 0x4611a94ff571654f + .quad 0x45dc242efeaca760, 0x461071f4bbea09ec + .quad 0x45da284cb82c31ce, 0x460e9f1ff8ddd774 + .quad 0x45d84f7a1eb7f7f3, 0x460c818223a202c7 + .quad 0x45d697595326d7dc, 0x460a887bd2b4404d + .quad 0x45d4fdb462549af1, 0x4608b1a336c5eb6b + .quad 0x45d3807ab51436a8, 0x4606fab63324088a + .quad 0x45d21dbea9108398, 0x46056197e30205ba + .quad 0x45d0d3b35021d695, 0x4603e44e45301b92 + .quad 0x45cf4154a787cc1b, 0x460281000bfe4c3f + .quad 0x45cd0623f4f4a28f, 0x460135f28f2d50b4 + .quad 0x45caf2e69a262610, 0x46000187dded5975 + .quad 0x45c904e0b3aa82a3, 0x45fdc479de0ef001 + .quad 0x45c73985278fa30e, 0x45fbad4fdad3caa1 + .quad 0x45c58e7298af87d9, 0x45f9baed3ed27ab8 + .quad 0x45c401708b7e64c6, 0x45f7ead9ce4285bb + .quad 0x45c2906cb94eb40d, 0x45f63ac6b4edc88e + .quad 0x45c139788f2dd663, 0x45f4a88be2a6390c + .quad 0x45bff58dab4f2a79, 0x45f332259185f1a0 + .quad 0x45bda552fdd03043, 0x45f1d5b1f3793044 + .quad 0x45bb7f1f31b571b6, 0x45f0916f04b6e18b + .quad 0x45b98006c2117e39, 0x45eec77101de6926 + .quad 0x45b7a550f03b145b, 0x45ec960bf23153e0 + .quad 0x45b5ec74662c5961, 0x45ea8bd20fc65ef7 + .quad 0x45b453141082302a, 0x45e8a61745ec7d1d + .quad 0x45b2d6fc2c9e8bc0, 0x45e6e25d0e756261 + .quad 0x45b1761f87a6dc3d, 0x45e53e4f7d1666cb + .quad 0x45b02e94eb4ac8a5, 0x45e3b7c27a7ddb0e + .quad 0x45adfd296adef82a, 0x45e24caf2c32af14 + .quad 0x45abc8ed301215eb, 0x45e0fb3186804d0f + .quad 0x45a9bd5efd2c0f15, 0x45df830c0bb41fd7 + .quad 0x45a7d79f2db2d4a5, 0x45dd3c0f1a91c846 + .quad 0x45a61500f5293f06, 0x45db1e5acf351d87 + .quad 0x45a47306f04df3d6, 0x45d92712d259ce66 + .quad 0x45a2ef5ff0323b28, 0x45d7538c60a04476 + .quad 0x45a187e3fb74914d, 0x45d5a14b04b47879 + .quad 0x45a03a918225a966, 0x45d40dfd87456f4c + .quad 0x459e0b15822be4e0, 0x45d2977b1172b9d5 + .quad 0x459bce26a2fb7176, 0x45d13bc07e891491 + .quad 0x4599bb1bc445c3c6, 0x45cff1dbb4300811 + .quad 0x4597cef42e9a617d, 0x45cd9a880f306bd8 + .quad 0x459606e51e0a4963, 0x45cb6e45220b55e0 + .quad 0x459460560e841d79, 0x45c96a0b33f2c4da + .quad 0x4592d8dd47a40ad8, 0x45c78b07e9e924ac + .quad 0x45916e3ca3d4393f, 0x45c5ce9ab1670dd2 + .quad 0x45901e5e8edda47b, 0x45c4325167006bb0 + .quad 0x458dcea670907819, 0x45c2b3e53538ff3f + .quad 0x458b8e9bec48816d, 0x45c15137a7f44864 + .quad 0x45897945aa1c9c35, 0x45c0084ff125639d + .quad 0x45878b88a4e7107b, 0x45bdaeb0b7311ec7 + .quad 0x4585c2827c986b62, 0x45bb7937d1c40c53 + .quad 0x45841b858361b0fe, 0x45b96d082f59ab06 + .quad 0x458294150fb19119, 0x45b7872d9fa10aad + .quad 0x458129e20e732adc, 0x45b5c4e8e37bc7d0 + .quad 0x457fb58fa290d436, 0x45b423ac0df49a40 + .quad 0x457d499229819bc6, 0x45b2a117230ad284 + .quad 0x457b0c1a759f7739, 0x45b13af4f04f9998 + .quad 0x4578f9bb6c075486, 0x45afde703724e560 + .quad 0x45770f4744735c2b, 0x45ad77f0c82e7641 + .quad 0x457549cb0f7ef8e2, 0x45ab3ee02611d7dd + .quad 0x4573a68a8c1234e1, 0x45a92ff33023d5bd + .quad 0x457222fc469e8b8c, 0x45a7481a9e69f53f + .quad 0x4570bcc5fd30f1dd, 0x45a5847eda620959 + .quad 0x456ee3728761897b, 0x45a3e27c1fcc74bd + .quad 0x456c7fa0c7e3bac7, 0x45a25f9ee0b923dc + .quad 0x456a4a56eb132a54, 0x45a0f9a068653200 + .quad 0x4568401b5336a8a0, 0x459f5cc7718082b0 + .quad 0x45665db58e2358c1, 0x459cf7e53d6a2ca5 + .quad 0x4564a029a7ea7cd1, 0x459ac0f5f3229372 + .quad 0x456304b3d1961171, 0x4598b498644847ea + .quad 0x456188c45630dc53, 0x4596cfa9bcca59dc + .quad 0x456029fbd8b92835, 0x45950f411d4fd2cd + .quad 0x455dcc4fabf32f1c, 0x459370ab8327af5e + .quad 0x455b767ecb334a7e, 0x4591f167f88c6b6e + .quad 0x45594ec06c0ff29f, 0x45908f24085d4597 + .quad 0x455751977e5803d3, 0x458e8f70e181d61a + .quad 0x45557bc950253825, 0x458c324c20e337dc + .quad 0x4553ca58b816a87f, 0x458a03261574b54e + .quad 0x45523a8197d2607e, 0x4587fe903cdf5855 + .quad 0x4550c9b4b0a6a16f, 0x4586215c58da3450 + .quad 0x454eeb27891d2bb3, 0x45846897d4b69fc6 + .quad 0x454c77dbfc848866, 0x4582d1877d731b7b + .quad 0x454a357936adf17b, 0x458159a386b11517 + .quad 0x4548203fa7992554, 0x457ffd27ae9393ce + .quad 0x454634b7f56b0a5c, 0x457d7c593130dd0b + .quad 0x45446fada7e6a5fe, 0x457b2cd607c79bcf + .quad 0x4542ce2a3690576b, 0x45790ae4d3405651 + .quad 0x45414d707280e6cf, 0x45771312dd1759e2 + .quad 0x453fd5f08ad2b29a, 0x4575422ef5d8949d + .quad 0x453d48d57f7718b7, 0x45739544b0ecc957 + .quad 0x453aef3ce0add578, 0x45720997f73e73dd + .quad 0x4538c52800f939c8, 0x45709ca0eaacd277 + .quad 0x4536c6e61e57bf9b, 0x456e9810295890ec + .quad 0x4534f10e8ebc44a9, 0x456c2b45b5aa4a1d + .quad 0x4533407b59d72a5b, 0x4569eee068fa7596 + .quad 0x4531b2443858c0a1, 0x4567df2b399c10a8 + .quad 0x453043b9f1621ff3, 0x4565f8b87a31bd85 + .quad 0x452de4c41eb96b45, 0x4564385c96e9a2d9 + .quad 0x452b77e5cbd5d147, 0x45629b2933ef4cbc + .quad 0x45293c9fc62bfb11, 0x45611e68a6378f8a + .quad 0x45272f0c4c8e9bff, 0x455f7f338086a86b + .quad 0x45254b92affb11af, 0x455cf8d7d9ce040a + .quad 0x45238ee17b150182, 0x455aa577251ae485 + .quad 0x4521f5e908f70e0c, 0x4558811d739efb5f + .quad 0x45207dd6833bb380, 0x45568823e52970be + .quad 0x451e481e7f6ac4bc, 0x4554b72ae68e8b4c + .quad 0x451bcc58edad5559, 0x45530b14dbe876bc + .quad 0x451983ee9896d582, 0x455181012ef86610 + .quad 0x45176aca47764427, 0x45501647ba798745 + .quad 0x45157d287836bd3d, 0x454d90e917701675 + .quad 0x4513b79118c097a1, 0x454b2a87e86d0c8a + .quad 0x451216d1b97279a9, 0x4548f53dcb377293 + .quad 0x451097f82fc04025, 0x4546ed2f2515e933 + .quad 0x450e709b415656d0, 0x45450ecc9ed47f19 + .quad 0x450beaa3d6c15504, 0x454356cd5ce7799e + .quad 0x4509996ed9b83967, 0x4541c229a587ab78 + .quad 0x450778be2bd9795b, 0x45404e15ecc7f3f6 + .quad 0x450584a99af8a842, 0x453deffc7e6a6017 + .quad 0x4503b99832cbefdd, 0x453b7b040832f310 + .quad 0x4502143a112d0466, 0x453938e021f36d76 + .quad 0x45009182b326b229, 0x4537258610b3b233 + .quad 0x44fe5d47637f5db5, 0x45353d3bfc82a909 + .quad 0x44fbd20fcc3b76d7, 0x45337c92babdc2fd + .quad 0x44f97c9dda748fc7, 0x4531e06010120f6a + .quad 0x44f7589207e91ad1, 0x453065b9616170d4 + .quad 0x44f561e669aa7fdb, 0x452e13dd96b3753b + .quad 0x44f394e7a2ac9fc7, 0x452b950d32467392 + .quad 0x44f1ee2e61eccc99, 0x45294a72263259a5 + .quad 0x44f06a996198f06f, 0x45272fd93e036cdc + .quad 0x44ee0e8fbad2703e, 0x45254164576929ab + .quad 0x44eb8328ee330ae9, 0x45237b83c521fe96 + .quad 0x44e92e21013a7670, 0x4521daf033182e96 + .quad 0x44e70aff489136eb, 0x45205ca50205d26a + .quad 0x44e515a7c77fab48, 0x451dfbb6235639fa + .quad 0x44e34a53ce0bbb6f, 0x451b7807e294781f + .quad 0x44e1a58b2b09fdcb, 0x4519298add70a734 + .quad 0x44e0241de6c31e5b, 0x45170beaf9c7ffb6 + .quad 0x44dd863cf753825c, 0x45151b2cd6709222 + .quad 0x44daffb906d0ae09, 0x451353a6cf7f7fff + .quad 0x44d8afbf9e9520c2, 0x4511b1fa8cbe84a7 + .quad 0x44d691c7c768bece, 0x4510330f0fd69921 + .quad 0x44d4a1a79df39cde, 0x450da81670f96f9b + .quad 0x44d2db8ca9009091, 0x450b24a16b4d09aa + .quad 0x44d13bf4cb384e4a, 0x4508d6eeb6efdbd6 + .quad 0x44cf7f4f88751db4, 0x4506ba91ac734786 + .quad 0x44ccc7626bced452, 0x4504cb7966770ab5 + .quad 0x44ca4ab6470c1c5c, 0x450305e9721d0981 + .quad 0x44c80451c2811052, 0x4501667311fff70a + .quad 0x44c5efa4d64f59f6, 0x44ffd3de10d62855 + .quad 0x44c40880373ed740, 0x44fd1aefbcd48d0c + .quad 0x44c24b0d7368076e, 0x44fa9cc93c25aca9 + .quad 0x44c0b3c7b0d960f0, 0x44f85487ee3ea735 + .quad 0x44be7eea02e4ed88, 0x44f63daf8b4b1e0c + .quad 0x44bbd6408059b696, 0x44f45421e69a6ca1 + .quad 0x44b96826d9e90341, 0x44f294175802d99a + .quad 0x44b72fa4fa12d516, 0x44f0fa17bf41068f + .quad 0x44b5282d2d5803fe, 0x44ef05e82aae2bb9 + .quad 0x44b34d935f1be064, 0x44ec578101b29058 + .quad 0x44b19c050c56d0d7, 0x44e9e39dc5dd2f7c + .quad 0x44b01001dd9c7cce, 0x44e7a553a728bbf2 + .quad 0x44ad4ca9b634ecba, 0x44e5982008db1304 + .quad 0x44aab81c5c80cf39, 0x44e3b7e00422e51b + .quad 0x44a85cfacb7477f2, 0x44e200c898d9ee3e + .quad 0x44a6365862923eb9, 0x44e06f5f7eb65a56 + .quad 0x44a43fb317b5dc37, 0x44de00e9148a1d25 + .quad 0x44a274ea96044bd7, 0x44db623734024e92 + .quad 0x44a0d23817479c67, 0x44d8fd4e01891bf8 + .quad 0x449ea84dd1592590, 0x44d6cd44c7470d89 + .quad 0x449bef1b1a12823e, 0x44d4cd9c04158cd7 + .quad 0x4499730edfda64ac, 0x44d2fa34bf5c8344 + .quad 0x44972ede3b7eaa25, 0x44d14f4890ff2461 + .quad 0x44951db1ec3a3087, 0x44cf92c49dfa4df5 + .quad 0x44933b1c9d1576ec, 0x44cccaaea71ab0df + .quad 0x44918311f8a03aca, 0x44ca40829f001197 + .quad 0x448fe3bcf4629fea, 0x44c7eef13b59e96c + .quad 0x448d083fda665164, 0x44c5d11e1a252bf5 + .quad 0x448a6d7d18831888, 0x44c3e296303b2297 + .quad 0x44880dcd6603df1b, 0x44c21f47009f43ce + .quad 0x4485e4062d5b6a4e, 0x44c083768c5e4542 + .quad 0x4483eb6ef47c2758, 0x44be1777d831265f + .quad 0x44821fb7a81c5444, 0x44bb69f10b0191b5 + .quad 0x44807cefb734d68b, 0x44b8f8a3a05b5b53 + .quad 0x447dfefbdb19ac7e, 0x44b6be573c40c8e7 + .quad 0x447b4831fb123440, 0x44b4b645ba991fdb + .quad 0x4478cf81557d20b6, 0x44b2dc119095729f + .quad 0x44768f6f0feb4755, 0x44b12bbcfa4d62de + .quad 0x447482fa78c40635, 0x44af4343c7d504b9 + .quad 0x4472a59289a484fb, 0x44ac74d4fe1e0e8b + .quad 0x4470f30c4d0be5c0, 0x44a9e614ecbf4af6 + .quad 0x446ecf3428c48d4f, 0x44a791716475420c + .quad 0x446bff86d9ec8499, 0x44a571d34563050a + .quad 0x446970bb87f4ae14, 0x44a3829407a207d8 + .quad 0x44671d0b55b79b86, 0x44a1bf74244aed5a + .quad 0x4464ff315d036fbd, 0x44a024924c7520d1 + .quad 0x4463125f6a3d2570, 0x449d5cc6ba567f29 + .quad 0x44615233ae8815f2, 0x449ab3560167ccaa + .quad 0x445f755ea760487d, 0x449846e9dda7a163 + .quad 0x445c905bbd9ab5a6, 0x4496121d7db32bdd + .quad 0x4459eebaa0589b4e, 0x449410047ead6894 + .quad 0x44578a6de0f41b89, 0x44923c2090cdde78 + .quad 0x44555df1790f2f61, 0x44909257fca001c0 + .quad 0x4453643ec463a3cf, 0x448e1dd9ec677783 + .quad 0x445198c18435598d, 0x448b5ceb5a13221b + .quad 0x444fee9bab9f4e14, 0x4488dbaa11de2037 + .quad 0x444cf82e0eb6196b, 0x448694680a9a3ee6 + .quad 0x444a474e7029a919, 0x448481f73b3778e8 + .quad 0x4447d5af6513e2be, 0x44829f9e7d8fd094 + .quad 0x44459d93e1d8f57d, 0x4480e90f64b5b103 + .quad 0x444399c279e4699a, 0x447eb4b9e47b58c9 + .quad 0x4441c579bbca6885, 0x447bdfe62f60dd70 + .quad 0x44401c659160612d, 0x44794d1de5c4576f + .quad 0x443d352b1ae26940, 0x4476f66f6ab90c3c + .quad 0x443a78e8252c204d, 0x4474d67050b31c2a + .quad 0x4437fd7c80f3410e, 0x4472e8318008cf89 + .quad 0x4435bcf92cc55d86, 0x4471273463a1589b + .quad 0x4433b1f876b10da7, 0x446f1ec20afad0e2 + .quad 0x4431d791bb1324a1, 0x446c39fa0d4a5a2b + .quad 0x4430294e37abcee8, 0x44699946bf7e02a1 + .quad 0x442d463db5fa3c13, 0x44673679b24aeb9b + .quad 0x442a82a5f4047a5b, 0x44650bf2558ab78f + .quad 0x4428011fb05fe090, 0x446314916abfa1ea + .quad 0x4425bb91decf8a58, 0x44614bad9006f53b + .quad 0x4423ac71ce35c1d3, 0x445f5a1196b5bb2e + .quad 0x4421ceb656955c59, 0x445c698e001f6d30 + .quad 0x44201dcc2acf7755, 0x4459beca74b0f147 + .quad 0x441d2b166911c178, 0x445753637caac6d9 + .quad 0x441a6459c5b11342, 0x4455218993857afc + .quad 0x4417e086accc805d, 0x445323f3f19cff3e + .quad 0x44159962aef547b3, 0x445155d47fdb9c94 + .quad 0x4413894608650ede, 0x444f6599b70323ca + .quad 0x4411ab0e4d284f44, 0x444c6dc8a4bb3ba6 + .quad 0x440ff4248ebb8299, 0x4449bcfd83a431e9 + .quad 0x440ce42dd8e4fa23, 0x44474ca889bbacd5 + .quad 0x440a1e8aa1400997, 0x444516d33e26c040 + .quad 0x44079c430435a7fc, 0x44431612a7ef535f + .quad 0x440557046eb39249, 0x4441457ab75c2489 + .quad 0x440349127b59b217, 0x443f41259c9550c0 + .quad 0x44016d392dff5104, 0x443c46969ca99a2e + .quad 0x43ff7d80dc993f2f, 0x443993e82b76e726 + .quad 0x43fc72c149cb214b, 0x44372267ac1b25a0 + .quad 0x43f9b270c24cc8fa, 0x4434ec0062aeeb78 + .quad 0x43f73585df7b6643, 0x4432eb2d18a2081b + .quad 0x43f4f59f9910367e, 0x44311aeb0b11d1a1 + .quad 0x43f2ecf5b7f6abe3, 0x442eed5c0bbf1061 + .quad 0x43f1164ab45aa235, 0x442bf4ab21b4f3f0 + .quad 0x43eed9bdbc6f1b0a, 0x442944462d4d5991 + .quad 0x43ebd8c96533b39b, 0x4426d561de54f6a1 + .quad 0x43e921ec84d5860e, 0x4424a1d472804fc8 + .quad 0x43e6ae172414ceba, 0x4422a406e25fcb44 + .quad 0x43e476e3b661be8c, 0x4420d6e7662dda9d + .quad 0x43e276873924f0b4, 0x441e6bba6770e22d + .quad 0x43e0a7c2c9322f59, 0x441b797ab2ba22d2 + .quad 0x43de0bad18c4e37d, 0x4418cf813910fdcd + .quad 0x43db18eba0be4d24, 0x441666f488db6e0a + .quad 0x43d86f7884e1caad, 0x4414399f7770045f + .quad 0x43d608484d592328, 0x441241e1ebbbf4ec + .quad 0x43d3dcfaee52a8f5, 0x44107aa30ce6a5a0 + .quad 0x43d1e7cbac093f27, 0x440dbe8969a24c6f + .quad 0x43d023827dc88ed9, 0x440ad7301258d788 + .quad 0x43cd16cd999791c3, 0x440837a640fa9d3d + .quad 0x43ca3666de0788b0, 0x4405d90f358d61f6 + .quad 0x43c79e17816df1e8, 0x4403b5342f7be9c0 + .quad 0x43c546e385224d10, 0x4401c674ecd152d3 + .quad 0x43c32a7a483e977b, 0x440007b997a0b531 + .quad 0x43c1432649c86c4d, 0x43fce8cc007a6432 + .quad 0x43bf177ce0bd5836, 0x43fa109c0bccbc39 + .quad 0x43bbff3166bc36ee, 0x43f77f5624913c3a + .quad 0x43b934fc0975fb30, 0x43f52e251d5d3b1f + .quad 0x43b6b13ebb9a5ad4, 0x43f316da780bc4d9 + .quad 0x43b46d17a80cc174, 0x43f133deb1d35260 + .quad 0x43b2624f3a0a8870, 0x43ef00460b24acf8 + .quad 0x43b08b47d7733cb6, 0x43ebee2903d584f9 + .quad 0x43adc5de496b1810, 0x43e92920a7c80e26 + .quad 0x43aac9615b3c9fd7, 0x43e6a9b25345c773 + .quad 0x43a818d3a356669e, 0x43e4691b26b9c82f + .quad 0x43a5acbdab2ed713, 0x43e2613e9610f6d1 + .quad 0x43a37e61fd4c0fe0, 0x43e08c969adf0bea + .quad 0x43a187ab3d71db11, 0x43ddcc4ac4f59be5 + .quad 0x439f8637ea4e52ac, 0x43dad2d0a9a18288 + .quad 0x439c577fd709b099, 0x43d82498a7cc94b9 + .quad 0x43997a3dc62119c8, 0x43d5ba462dee8a02 + .quad 0x4396e66137bb7cca, 0x43d38d330d8806a0 + .quad 0x439494a3f6a9a70e, 0x43d1975e0627306c + .quad 0x43927e767bb79ea2, 0x43cfa6b5ee8f3088 + .quad 0x43909dee32687729, 0x43cc78892308bd90 + .quad 0x438ddb6ae2f39381, 0x43c99b5ec6741cb3 + .quad 0x438ad1f9fba4b2ab, 0x43c7073c400e10dc + .quad 0x438816dde4c11ca3, 0x43c4b4ee0b3a84d6 + .quad 0x4385a245d5e5289c, 0x43c29df4862ac231 + .quad 0x43836d26a686daaf, 0x43c0bc7294e0cbaf + .quad 0x438171277cbbce9c, 0x43be163bd8df8640 + .quad 0x437f5120b45c00e6, 0x43bb0a61bce91993 + .quad 0x437c1c74b30d0bb0, 0x43b84cbb00f925f0 + .quad 0x43793b02e5cf0324, 0x43b5d5841ce6cb73 + .quad 0x4376a46f43f3118c, 0x43b39dbcd485dd07 + .quad 0x43745132973bb79b, 0x43b19f153b38a108 + .quad 0x43723a85891dc72b, 0x43afa7b9159fc471 + .quad 0x43705a4dba466c4e, 0x43ac6de3429e31fa + .quad 0x436d561964307dc4, 0x43a98769faac8a1b + .quad 0x436a4fa0f13737e8, 0x43a6ebf82977acf0 + .quad 0x4367984b636ad1be, 0x43a4940bc89fa5aa + .quad 0x4365281628cb373a, 0x43a278e135bcf0a4 + .quad 0x4362f7cc38bc628d, 0x43a0946088b6f8ed + .quad 0x436100f1aef8eaf5, 0x439dc21972b9e9f4 + .quad 0x435e7b62ce66acde, 0x439ab3e8cfada51a + .quad 0x435b5198cf325114, 0x4397f5483f729c27 + .quad 0x43587b15da6677af, 0x43957e33e2b1c6da + .quad 0x4355ef5de2e68985, 0x4393477480d89e25 + .quad 0x4353a6d00852a688, 0x43914a8b54629fb2 + .quad 0x43519a90b14f53af, 0x438f033fa073d520 + .quad 0x434f88eba04114cb, 0x438bcede5acc0d40 + .quad 0x434c3dea36b87937, 0x4388ee7b29d0b081 + .quad 0x43494a28136fa731, 0x438659917bbb6632 + .quad 0x4346a4b2c9663fa1, 0x43840877b79cd868 + .quad 0x43444580945b8452, 0x4381f44979177348 + .quad 0x43422558f1aa9f03, 0x438016d3f0358160 + .quad 0x43403dbf8db89298, 0x437cd508600d0ba8 + .quad 0x433d11c2965639f6, 0x4379d4ae77a21604 + .quad 0x433a03065db54a4b, 0x437723974e9529d8 + .quad 0x433745e6013d8cf3, 0x4374b9a944f57915 + .quad 0x4334d1f2eb853100, 0x43728f9c9b769ee3 + .quad 0x43329f9b7c4f56df, 0x43709ee66b6e99e9 + .quad 0x4330a814a1dfc5ed, 0x436dc34b6999ff72 + .quad 0x432dca8b63e38fa9, 0x436aa5249b4cca57 + .quad 0x432aa36c9242f8bc, 0x4367d9db080918ba + .quad 0x4327d0fbfa6c3c19, 0x436558e88e8945ef + .quad 0x43254a6b679dd96f, 0x43631aa564e92066 + .quad 0x432307d4e71272d7, 0x43611831a9c3763d + .quad 0x4321022313b11381, 0x435e96c265c21fbf + .quad 0x431e65f78e13edcd, 0x435b5d52c19374fe + .quad 0x431b2959e487c93f, 0x43587a2188252d5f + .quad 0x43184436cf62b6f8, 0x4355e440cc8caaf9 + .quad 0x4315ad66c67f3f63, 0x435393ad199301de + .quad 0x43135cb549c616eb, 0x43518135a0647102 + .quad 0x43114ac7e9322a1a, 0x434f4ccd98eab06b + .quad 0x430ee20fae75a2c5, 0x434bfaedff2748c1 + .quad 0x430b931b883c77f2, 0x4349026a7e3c9538 + .quad 0x43089e1f8e1d4be6, 0x434659f3419269ee + .quad 0x4305f9a24050e89f, 0x4343f92e9472ca4c + .quad 0x43039d2746cbe57f, 0x4341d89fb6602df9 + .quad 0x43018115431b6c4a, 0x433fe32077e095c4 + .quad 0x42ff3d3ca19edf64, 0x433c7bf775863df5 + .quad 0x42fbdf55dd9bdce0, 0x433970fb0b5580dc + .quad 0x42f8dd8e25d2255d, 0x4336b88087e4af9f + .quad 0x42f62e225ebca190, 0x433449de67f2c6b2 + .quad 0x42f3c855ef212bad, 0x43321d51dc348d4d + .quad 0x42f1a4576cd5cddc, 0x43302be7023a443e + .quad 0x42ef765035c713d8, 0x432cdec7155697e1 + .quad 0x42ec0d0bdeb46ae2, 0x4329c4671c1a6e3c + .quad 0x42e901afbd3819be, 0x4326feb0af26f865 + .quad 0x42e64a386137b955, 0x432484b1e63b3be4 + .quad 0x42e3ddb15521ce49, 0x43224e68a1458bd7 + .quad 0x42e1b418ba2217c6, 0x432054a9a7c2f05a + .quad 0x42df8c8bad8e2a20, 0x431d2214ad33ca5e + .quad 0x42dc1ba4950b8f4f, 0x4319fb9933adac68 + .quad 0x42d90a0b40dd690c, 0x43172b99eccc462e + .quad 0x42d64d860502b279, 0x4314a8e4dbe3539c + .quad 0x42d3dcf1aadc099d, 0x43126b4018ef81f7 + .quad 0x42d1b02414a73357, 0x43106b4fe82cc6ae + .quad 0x42cf7fa3e4bec2ae, 0x430d44feffb34893 + .quad 0x42cc0aee6d6b1406, 0x430a15d86bb23572 + .quad 0x42c8f684065398bf, 0x43073ea5ac0d71a9 + .quad 0x42c637ff9397e989, 0x4304b5fdd0f567fa + .quad 0x42c3c618d3c706eb, 0x4302737769828878 + .quad 0x42c1988625955723, 0x43006f8da87263ce + .quad 0x42bf4fc2f6d50e41, 0x42fd4710a9e149ed + .quad 0x42bbdb204ff1cda3, 0x42fa12cc7b1bf616 + .quad 0x42b8c75a6fa17116, 0x42f73793d6253bd7 + .quad 0x42b609ec277b8703, 0x42f4abd0af44c7f8 + .quad 0x42b399725d96eb63, 0x42f266f2e981ccfb + .quad 0x42b16d8d1241b86b, 0x42f06154a07d21a2 + .quad 0x42aefd875a51d28d, 0x42ed2842b40e25f0 + .quad 0x42ab8cd873c4de72, 0x42e9f27fa465d061 + .quad 0x42a87d2a89e5ac65, 0x42e7167c3937ded9 + .quad 0x42a5c3e42539c769, 0x42e48a7fb96552ca + .quad 0x42a35791e04cd29f, 0x42e245dcbaa25b1b + .quad 0x42a12fc6cdafd10d, 0x42e040d4ab2de626 + .quad 0x429e8a0077a1ed47, 0x42dce8fcb8dadc2c + .quad 0x429b2118f75a4eb7, 0x42d9b55e7c11d9e6 + .quad 0x429818e8b1c2616f, 0x42d6dbce02ec5c77 + .quad 0x429566cdf4525eb0, 0x42d4527acab6dfeb + .quad 0x4293014fd204bc71, 0x42d210a3ddcb4706 + .quad 0x4290dffe0bfc0c74, 0x42d00e7aba6527c9 + .quad 0x428df6a8d5e14f11, 0x42cc8a12a152d814 + .quad 0x428a9942579915cd, 0x42c95c35893651c9 + .quad 0x42879bdc576e403a, 0x42c6884d52cc9914 + .quad 0x4284f3d9114d799b, 0x42c4047ce663f641 + .quad 0x428297c4e6eb62fc, 0x42c1c7f9c74f3e7c + .quad 0x42807f35ef1a4fc0, 0x42bf95dcee779f74 + .quad 0x427d455e0a3b0d94, 0x42bc0cc007cc808e + .quad 0x4279f70bf04a77ce, 0x42b8e82cd2a6133c + .quad 0x427707990a8defef, 0x42b61d0ef76712e4 + .quad 0x42746c779ebb14ae, 0x42b3a1882865d26e + .quad 0x42721c4420bc9879, 0x42b16cce86450b20 + .quad 0x42700ea48df1e7fb, 0x42aeee1d41e1e516 + .quad 0x426c7856a7693627, 0x42ab72a1658393d4 + .quad 0x42693c7abef59a2c, 0x42a85ac17b553c4f + .quad 0x42665df602b1e0ff, 0x42a59b72775450f3 + .quad 0x4263d256a5ee461d, 0x42a32ae03812fc00 + .quad 0x42619053bac5f645, 0x42a1004b9cd4bae6 + .quad 0x425f1f58fe66e142, 0x429e27d88d5289bf + .quad 0x425b9216793da422, 0x429abdab3fb224ce + .quad 0x42586bd6adace04e, 0x4297b5bd9f52a89e + .quad 0x4255a104640aeb74, 0x4295051a941eb130 + .quad 0x42532755417b50dd, 0x4292a20366f6a0de + .quad 0x4250f5a5274f5c45, 0x429083cdb1163405 + .quad 0x424e07ab300dc4b9, 0x428d458a013d18b4 + .quad 0x424a956163a49613, 0x4289f01f97b2e043 + .quad 0x4247879eb52380ed, 0x4286fb2eaf7d8102 + .quad 0x4244d30488394e18, 0x42845be480207b14 + .quad 0x42426d7af2869fc5, 0x428208a2b041836e + .quad 0x42404e0c593552f5, 0x427ff1ba8cbc9c8d + .quad 0x423cd98a274acae3, 0x427c49f8a8ec4aeb + .quad 0x4239852d44d7528b, 0x42790c81ede57558 + .quad 0x4236927c2c3e4970, 0x42762d5a948b6358 + .quad 0x4233f65a98c177c9, 0x4273a1de0952fd2b + .quad 0x4231a6ed66936eea, 0x42716098d4b94692 + .quad 0x422f36ed3084aa81, 0x426ec24d6a8bc072 + .quad 0x422b986ab7ebdd54, 0x426b3828ebcc128b + .quad 0x422864933f3c0573, 0x4268158a3038115e + .quad 0x42258f359f0c4e8f, 0x42654eb3e9a3e72b + .quad 0x42230d82cb8a968c, 0x4262d93b0174f61a + .quad 0x4220d5e5f59de7c1, 0x4260abe0d45fd5c2 + .quad 0x421dbfc240ab5f81, 0x425d7ce33a39bd89 + .quad 0x421a47db588b15cf, 0x425a134d30d655e4 + .quad 0x421736c0d0a31187, 0x42570e16f315ef40 + .quad 0x421480a1879e8f57, 0x425461cda38e2783 + .quad 0x42121b0591ce1cfd, 0x4252044a2faebb7b + .quad 0x420ff94e3fca1752, 0x424fd91813f8cc8c + .quad 0x420c3a9f9558ffa0, 0x424c2530177987fe + .quad 0x4208eb738c76b2f2, 0x4248deb61106f334 + .quad 0x4205fee91a43fef1, 0x4245f91f55e86346 + .quad 0x4203699940a6a811, 0x4243694e7b13691b + .quad 0x4201216c07263de0, 0x4241256a18de488b + .quad 0x41fe3ae49fef5535, 0x423e49705a5ebd5f + .quad 0x41faab87fb8e4441, 0x423abefb3186e784 + .quad 0x41f786c3dca158c4, 0x42379dc285401b7d + .quad 0x41f4c036b7451223, 0x4234d9a4f359ba1e + .quad 0x41f24cec8453db03, 0x423267e46fd85893 + .quad 0x41f02334e92993b9, 0x42303efdea0a0506 + .quad 0x41ec74fc41217dfb, 0x422cad0afbb569b1 + .quad 0x41e9166837399532, 0x42294e0d5e7a8744 + .quad 0x41e61d46c11dd916, 0x422653d077d9eef0 + .quad 0x41e37dbe7711fcd4, 0x4223b2a639494566 + .quad 0x41e12d55c1e73c65, 0x42216038b4af0a0e + .quad 0x41de4594b115943b, 0x421ea6c598920c48 + .quad 0x41daabdabdb93484, 0x421b081aaf25ade1 + .quad 0x41d77f073eb945df, 0x4217d62079a4e4a6 + .quad 0x41d4b252d0bc8beb, 0x4215042e1a8664ed + .quad 0x41d23a7345c57cca, 0x421287117d29a9e6 + .quad 0x41d00d6f8a57f06e, 0x421054e44f8ee735 + .quad 0x41cc44f136cf3bd8, 0x420cc9cbc5fe04a8 + .quad 0x41c8e38df2790b7a, 0x42095eb2cb828067 + .quad 0x41c5e8f828661e21, 0x42065acfefcd0029 + .quad 0x41c3490e7e2bc31c, 0x4203b20c56ad84f5 + .quad 0x41c0f91b7ff9bb2a, 0x420159b917beb87a + .quad 0x41bddf56913a541e, 0x41fe90cb5cac7057 + .quad 0x41ba48cc1b8a7bc7, 0x41faeb7659e5f7ef + .quad 0x41b71fde01e2ca8c, 0x41f7b4b752e86e5f + .quad 0x41b4578e0b906b32, 0x41f4df8ace15322e + .quad 0x41b1e4659a2a2156, 0x41f26072a17961a0 + .quad 0x41af788fc218597b, 0x41f02d48c75e7d9b + .quad 0x41abac92daac0b9d, 0x41ec7a2ecd5f05a0 + .quad 0x41a85518c3484796, 0x41e90feaede7f2ae + .quad 0x41a56441b55bfff1, 0x41e60dcef1cedc3a + .quad 0x41a2cdd203ab43a1, 0x41e36787980e7387 + .quad 0x41a08700c199ad4f, 0x41e112346e13dd7e + .quad 0x419d0c9857c390f3, 0x41de087915129a98 + .quad 0x419986a650394095, 0x41da6a5096da5b7d + .quad 0x41966d6688315ad6, 0x41d73aff07c7874e + .quad 0x4193b3d55ebd8547, 0x41d46d572e10e216 + .quad 0x41914e7b714e7093, 0x41d1f5ba17e5a90b + .quad 0x418e667d9a8bcd9e, 0x41cf93d0d186fbcd + .quad 0x418ab2733e383ad8, 0x41cbc1b22cec72b0 + .quad 0x4187712b76c8c7f6, 0x41c86529e9df069c + .quad 0x418494d8e1d4fc61, 0x41c5702d052bf73a + .quad 0x4182115447c6627d, 0x41c2d65aee08874c + .quad 0x417fb7d503fc65c8, 0x41c08ccb49580d43 + .quad 0x417bd660913b938c, 0x41bd13c32a98512b + .quad 0x41786db66e158524, 0x41b98a4bfd5a5fad + .quad 0x41756f3ed5aa4222, 0x41b66e459a7794f4 + .quad 0x4172ce2265a96bef, 0x41b3b28bbce3c1c6 + .quad 0x41707f14a8d0c116, 0x41b14b8b6b67144e + .quad 0x416cf049ebedf60d, 0x41ae5e26dbef0e28 + .quad 0x41696129ca292f7e, 0x41aaa854b5c4f131 + .quad 0x4166416763f6b3bc, 0x41a765d329106241 + .quad 0x4163837bf030f4a8, 0x41a488b9479ee1c4 + .quad 0x41611b82880134f9, 0x41a204c8d940530b + .quad 0x415dfe0c1b8af1f3, 0x419f9e77238e0031 + .quad 0x415a49aa1651cfca, 0x419bbd2c8fd7e193 + .quad 0x415709b5a3a79128, 0x41985502f16a0f8d + .quad 0x41542ffa7e9ace3f, 0x4195574ceffe3945 + .quad 0x4151affd2eccd616, 0x4192b72182c97af5 + .quad 0x414efd8be43ac9a9, 0x41906925da53a0fc + .quad 0x414b2564005de7e5, 0x418cc6bb6d71090d + .quad 0x4147c694cd2b4ffd, 0x41893a02d0c97221 + .quad 0x4144d23fa69bd814, 0x41861cb1a027e057 + .quad 0x41423b556e6e918e, 0x418361358dd1f243 + .quad 0x413fecbcf04dca90, 0x4180fba0d2660d89 + .quad 0x413bf29264dcdc82, 0x417dc2ef387bd0e0 + .quad 0x4138767d7fc43eb6, 0x417a130711aadcda + .quad 0x413568f9937abc79, 0x4176d758e1ac9659 + .quad 0x4132bc67d8c20136, 0x417401abca024479 + .quad 0x413064d4616b0094, 0x417185819a7f8c6a + .quad 0x412caf8458ad2a12, 0x416eafc2b00a99b1 + .quad 0x412917faff93e540, 0x416ade505ba61e89 + .quad 0x4125f2e79283b1ca, 0x416785c00b5cb27e + .quad 0x41233220b1da4f59, 0x4164973634932c1a + .quad 0x4120c93ac678b0cc, 0x416205a7d78be568 + .quad 0x411d5aa313452dae, 0x415f8b4440d68221 + .quad 0x4119a9b05368c88b, 0x415b9a31a7b9868c + .quad 0x41166ede7f0c2d55, 0x415826756e1a42e2 + .quad 0x41139b7fc18e5891, 0x4155209676e4b424 + .quad 0x411122b662569616, 0x41527b019965e362 + .quad 0x410df2779ceabfc8, 0x415029ce648133fd + .quad 0x410a2a5d2945d2b7, 0x414c45161cd95fe8 + .quad 0x4106dbccf848794a, 0x4148b81d680cdfc5 + .quad 0x4103f79bf21caa96, 0x41459ca24a7521dd + .quad 0x41017080ae674896, 0x4142e48f266999cf + .quad 0x40fe75b024885f54, 0x4140838b13324d03 + .quad 0x40fa98e26924c6c8, 0x413cdd86b83e679d + .quad 0x40f738bf4bc8d296, 0x41393977456406dd + .quad 0x40f445a6a9a273c6, 0x41360a47aca18e96 + .quad 0x40f1b1eabeffc3a5, 0x413341669953fe1c + .quad 0x40eee324e1fde417, 0x4130d210b765b3d6 + .quad 0x40eaf4465e9c5668, 0x412d622fa53c02ce + .quad 0x40e784e3008fb46b, 0x4129a961d6383ef7 + .quad 0x40e484eecd2f1383, 0x41266890cd0bf55f + .quad 0x40e1e65fd1ef2701, 0x412390b73f2a4fb0 + .quad 0x40df39dc6baaccd7, 0x412114ae59581395 + .quad 0x40db3bb863d26278, 0x411dd1e5296953a3 + .quad 0x40d7bf89f052b591, 0x411a06dfa21b6c59 + .quad 0x40d4b4e35dbe0cdd, 0x4116b6a7a27c9005 + .quad 0x40d20d6781986167, 0x4113d1cca3d4f6d8 + .quad 0x40cf790f6877f51e, 0x41114acc164c64fe + .quad 0x40cb6e93fa7299b3, 0x410e2ba80b9c3a1b + .quad 0x40c7e82cde922833, 0x410a511aa3827999 + .quad 0x40c4d515a14a6132, 0x4106f3d9139319ed + .quad 0x40c226a790f97768, 0x410404113d7d18e6 + .quad 0x40bfa02b8ac73416, 0x410173ed60fcd6fa + .quad 0x40bb8c6342337220, 0x40fe6ea95e92c624 + .quad 0x40b7fe6d7fbcef2c, 0x40fa8767775dd309 + .quad 0x40b4e53acc7531b1, 0x40f71f97a2983044 + .quad 0x40b231e547065724, 0x40f42710a88aab19 + .quad 0x40afaed5c4559717, 0x40f18fb2ded8ebb1 + .quad 0x40ab94e0bfb59934, 0x40ee9a4d9b21386e + .quad 0x40a80217e57d8a3f, 0x40eaa947efe69879 + .quad 0x40a4e52d23cf50b0, 0x40e7397d8e2bd385 + .quad 0x40a22f0652094ae6, 0x40e43a79684f6ef6 + .quad 0x409fa4eba730bf60, 0x40e19ddbd8138a90 + .quad 0x409b87f86a26fad7, 0x40deae2ef93df996 + .quad 0x4097f323487ff94a, 0x40dab66cfccafb75 + .quad 0x4094d4ec8ea8ee67, 0x40d7414e5b5ca43c + .quad 0x40921e112e39bf18, 0x40d43e1e22ebfdb4 + .quad 0x408f8283ec45f117, 0x40d19e4732be2ff0 + .quad 0x408b65c7f9f1fbed, 0x40ceaa1efb3b003e + .quad 0x4087d1b22b6810f6, 0x40caaeb7de6855e2 + .quad 0x4084b49e984886e0, 0x40c736f7c0d13f06 + .quad 0x4081ff2d0d5a2649, 0x40c431f651be2ff4 + .quad 0x407f47ee1cab73dd, 0x40c190f3f39e9af4 + .quad 0x407b2e9e76c8d9f9, 0x40be8e2722ca46cf + .quad 0x40779e11d635b9a7, 0x40ba923a9d8d5019 + .quad 0x4074848ddf7dfffe, 0x40b71a91ee04e82c + .quad 0x4071d2a13fdd2709, 0x40b4161e6298ed3a + .quad 0x406ef5b15f73200a, 0x40b176014201ab17 + .quad 0x406ae2fb07705cc3, 0x40ae5a88cbf394e4 + .quad 0x406758b92cdfdc64, 0x40aa6137c537bf6d + .quad 0x40644528f79b1b51, 0x40a6ec5f2d1367f4 + .quad 0x406198d422be3f8c, 0x40a3ead7491061af + .quad 0x405e8c8a7276c930, 0x40a14dadee76975a + .quad 0x405a838b09afcf62, 0x409e0fbc2ec572b9 + .quad 0x40570246e766d2f3, 0x409a1c215fcd0bea + .quad 0x4053f700c0d99876, 0x4096accae115453e + .quad 0x4051524997d01a00, 0x4093b08582357e32 + .quad 0x404e0d68d9047f7a, 0x409118577f06b2f2 + .quad 0x404a11277ca2bd3f, 0x408dae6e8d292a1e + .quad 0x40469b7f34ec048e, 0x4089c3973d4c9b08 + .quad 0x40439ac6410ceb63, 0x40865c67e684d1e6 + .quad 0x4040ffa110b113f0, 0x408367af901b1370 + .quad 0x403d796b4f7aaf7f, 0x4080d678c614f535 + .quad 0x40398cd1cb38dcc0, 0x407d377f96b9fd62 + .quad 0x40362548d6675835, 0x407958648bd60350 + .quad 0x403331480815e7cd, 0x4075fbee5e7590f4 + .quad 0x4030a19336cc73a1, 0x407310fbf558eca2 + .quad 0x402cd1db96a6c6ef, 0x407088a80b837328 + .quad 0x4028f7b007e1de49, 0x406cabfe10b3371a + .quad 0x4025a0a9c047e3c7, 0x4068db7ccf7600f4 + .quad 0x4022bb6f2dd8e254, 0x40658c38f07b7c3b + .quad 0x402038ef3cbdc1c7, 0x4062ad2ebb6268bd + .quad 0x401c1829acfb62b3, 0x40602f94d1fb1ba4 + .quad 0x40185308ad209551, 0x405c0d23d3daadad + .quad 0x40150ec3549a202d, 0x40584df8496cc3ae + .quad 0x40123a3bf963c1eb, 0x40550e4191e1b76c + .quad 0x400f8d2fce0ebb41, 0x40523d2690dc7344 + .quad 0x400b4de68e608347, 0x404f980a88588961 + .quad 0x4007a03df8f9f479, 0x404b5c5135a44acb + .quad 0x400470ce4924af72, 0x4047b10fe1f0aeaa + .quad 0x4001aec242758b4f, 0x4044831de32e25bd + .quad 0x3ffe9700b697ec96, 0x4041c1d98f1b1f71 + .quad 0x3ffa74be9568f922, 0x403ebda6af103d07 + .quad 0x3ff6e0c8fadbb050, 0x403a9b07f491a273 + .quad 0x3ff3c8164e42f29c, 0x40370618a9c019da + .quad 0x3ff11a259faba91e, 0x4033ebfb36da371b + .quad 0x3fed91518c2acaf6, 0x40313c51b7852ec0 + .quad 0x3fe98e739a118b5e, 0x402dd1d36683753b + .quad 0x3fe616346ca3be0e, 0x4029cae5c1f5de61 + .quad 0x3fe315f58c13df9c, 0x40264e7f0a95542f + .quad 0x3fe07d957435b8c4, 0x40234a1a5595e9cb + .quad 0x3fdc7e35cf4db634, 0x4020ada93ac2688e + .quad 0x3fd89cd6ead31b71, 0x401cd680d6a376d2 + .quad 0x3fd542176fe1c2b2, 0x4018ed9e84be9bac + .quad 0x3fd25bd00bd97edd, 0x40158bc1beb8e117 + .quad 0x3fcfb491e02b7c15, 0x40129ecb15514182 + .quad 0x3fcb5fcd30c7e1f6, 0x401017069c4b54cf + .quad 0x3fc7a1c33cc1922b, 0x400bcdb33f7b88f9 + .quad 0x3fc46610483f2395, 0x400804f671a7a35c + .quad 0x3fc19b0f23241b88, 0x4004bf6ca87a4707 + .quad 0x3fbe62f62b4555dc, 0x4001eb67d8a75351 + .quad 0x3fba383ca9f98a0f, 0x3ffef3318a5788de + .quad 0x3fb69f16aeb36770, 0x3ffab97c2106c4d2 + .quad 0x3fb383bf2b37a037, 0x3ff712bc1550fb6a + .quad 0x3fb0d51cf5a16254, 0x3ff3eb13a24821e2 + .quad 0x3fad08cdac87dce6, 0x3ff131510c1da6ad + .quad 0x3fa909a7c3ac6f99, 0x3fedad26311e9ef0 + .quad 0x3fa596acfa0bcc8f, 0x3fe99bf36c7ef068 + .quad 0x3fa29cc13bfd53a0, 0x3fe618c26c1169a6 + .quad 0x3fa00b60212cf113, 0x3fe3104d5f799552 + .quad 0x3f9ba886ae6e40e0, 0x3fe071e8b6003b16 + .quad 0x3f97d62a282a4851, 0x3fdc5e5338097f6b + .quad 0x3f948a59e9cb1eb1, 0x3fd87730de08c821 + .quad 0x3f91b2abc895a771, 0x3fd518db221cf8ba + .quad 0x3f8e7e6f4c33eded, 0x3fd230ae74a714aa + .quad 0x3f8a4480db60fe17, 0x3fcf5d1c58fdc6ac + .quad 0x3f869fd19aacb90a, 0x3fcb091a88a72f08 + .quad 0x3f837be42e1159e7, 0x3fc74d459ba38afe + .quad 0x3f80c707db025298, 0x3fc414d114bdcde1 + .quad 0x3f7ce3ee3757dbe5, 0x3fc14dc49cbc0c30 + .quad 0x3f78df06bfb34f6d, 0x3fbdd13408401cdc + .quad 0x3f7568986affafc5, 0x3fb9afd0eca1593d + .quad 0x3f726d009f5af049, 0x3fb6203633a6814a + .quad 0x3f6fb69c5d6b524e, 0x3fb30e632b0008c9 + .quad 0x3f6b49c67cd1611f, 0x3fb069124dc6eaef + .quad 0x3f677a47ec4e9fa1, 0x3fac42b48d5cfe42 + .quad 0x3f643260788f0a1f, 0x3fa854b792c33d4a + .quad 0x3f615f4e018a09ee, 0x3fa4f1f511f7b2d7 + .quad 0x3f5de1c72f739a49, 0x3fa2073f996519c0 + .quad 0x3f59b25dc6d6642e, 0x3f9f08155c194aad + .quad 0x3f561853cc8eddac, 0x3f9ab41e011814e5 + .quad 0x3f52feeed430b87b, 0x3f96f9f62ec4193a + .quad 0x3f505451535e8102, 0x3f93c45d7f9e2fb0 + .quad 0x3f4c122bcbda7f8e, 0x3f9100ffa10ff0f3 + .quad 0x3f481ff0b26f3b6a, 0x3f8d401bee3a7787 + .quad 0x3f44bb153d2d0728, 0x3f8927ce5fbbe352 + .quad 0x3f41cfe80beb05a4, 0x3f85a195c6e2a08e + .quad 0x3f3e9ae566e02486, 0x3f82992f3c7d2ce7 + .quad 0x3f3a4a3297375461, 0x3f7ffa47aef63bd2 + .quad 0x3f36948e77b6c537, 0x3f7b7ccca35ce88e + .quad 0x3f33644eed5b1126, 0x3f779ffc3cd6bc92 + .quad 0x3f30a6cd27d913d7, 0x3f744d7c3dca9cc8 + .quad 0x3f2c97f5c053e775, 0x3f71720abf01aa9b + .quad 0x3f288c0c973b68fc, 0x3f6dfa22008cf2c8 + .quad 0x3f2512157ee1d8be, 0x3f69c08a63df00dc + .quad 0x3f2215988e86b086, 0x3f661eb258af5a93 + .quad 0x3f1f09f2b684fb31, 0x3f62ff68a28f7dc4 + .quad 0x3f1aa222a98ba953, 0x3f60506e21782262 + .quad 0x3f16d9b06046eb66, 0x3f5c041afe3a1ad2 + .quad 0x3f139a30e3030664, 0x3f580d8271e40929 + .quad 0x3f10d05cd2b64652, 0x3f54a5cc1e67b046 + .quad 0x3f0cd740d2318d4d, 0x3f51b8f04bdfa1bf + .quad 0x3f08bb7603d98280, 0x3f4e6b65816f0ff1 + .quad 0x3f0534d810db5377, 0x3f4a1a7ec86c94fb + .quad 0x3f022e56de90dc1a, 0x3f4665a9398034f1 + .quad 0x3eff2bb06a7069e2, 0x3f4336f30c8d3345 + .quad 0x3efab79b6edb04e1, 0x3f407b7cbf13abf4 + .quad 0x3ef6e5b33b150249, 0x3f3c461717dacbd8 + .quad 0x3ef39f005226a7db, 0x3f383f56253c12f1 + .quad 0x3ef0cfc8192e69bd, 0x3f34cab82baddd6c + .quad 0x3eecce310b024fd4, 0x3f31d39d04e50424 + .quad 0x3ee8acc81455f971, 0x3f2e9094beff3587 + .quad 0x3ee522570529739f, 0x3f2a3308036822db + .quad 0x3ee219685023e1be, 0x3f267464f8a36aff + .quad 0x3edeff1f945e7f7b, 0x3f233e2c9c277148 + .quad 0x3eda89fa515a2b44, 0x3f207d0b7bb52fc7 + .quad 0x3ed6b83bb4ee4348, 0x3f1c40cfbd11fd10 + .quad 0x3ed372982e2fde1d, 0x3f1833ffa698fa8b + .quad 0x3ed0a51297b20ab7, 0x3f14bb29dadf3ac0 + .quad 0x3ecc7d093fb7e463, 0x3f11c147957723bd + .quad 0x3ec8607006600009, 0x3f0e6896f5762306 + .quad 0x3ec4db1c7b733812, 0x3f0a096cc3260668 + .quad 0x3ec1d76959a6b622, 0x3f064a7647d3f88a + .quad 0x3ebe858d8b3acc80, 0x3f0314deba7bab37 + .quad 0x3eba1a94b14e3d7f, 0x3f00550e92636252 + .quad 0x3eb6529df3d1cf1c, 0x3efbf46cd0f972c3 + .quad 0x3eb316449a955429, 0x3ef7ebd49fbb30ee + .quad 0x3eb0517b9e1f89de, 0x3ef47796af08285b + .quad 0x3eabe627dddb55d7, 0x3ef1827a73755ec7 + .quad 0x3ea7d8a7f2a8a2d0, 0x3eedf49a10ccc568 + .quad 0x3ea4613bf000c71d, 0x3ee99ee7037b652b + .quad 0x3ea16a45fcb7b882, 0x3ee5e9197017791d + .quad 0x3e9dc283bcbe780f, 0x3ee2bc40c543e36b + .quad 0x3e996ca751cac37f, 0x3ee004b34180a4a9 + .quad 0x3e95b7cd13179dde, 0x3edb632d58444fad + .quad 0x3e928cb2cb8b4015, 0x3ed768f3e13d3bdc + .quad 0x3e8faedd62dabd96, 0x3ed401fa7657909e + .quad 0x3e8b0de982dbf111, 0x3ed1190d162109ab + .quad 0x3e87195b2becea19, 0x3ecd3803e22a78e4 + .quad 0x3e83b8387eea3f9d, 0x3ec8f694ad8ac632 + .quad 0x3e80d521f8291cd6, 0x3ec55326d6aac6fa + .quad 0x3e7cbb9be9cbac1e, 0x3ec236e8d3a9e0e7 + .quad 0x3e78852e54d26542, 0x3ebf1ca221c0b98b + .quad 0x3e74ec36b8fdf428, 0x3eba914b62872bc3 + .quad 0x3e71d9d0055d11d0, 0x3eb6af2ae42db580 + .quad 0x3e6e74cb7ebdea0a, 0x3eb35dbe86ed95c7 + .quad 0x3e69fa735b03463a, 0x3eb0880cfe68041e + .quad 0x3e6627f6220ca6a9, 0x3eac3847cbf78a3b + .quad 0x3e62e4d9d8b5b22f, 0x3ea81550cf271bfd + .quad 0x3e601c325e8bb3c0, 0x3ea48cefa0aac509 + .quad 0x3e5b783bc148fcef, 0x3ea188ab9ce5fddd + .quad 0x3e576aa8791eba33, 0x3e9dea9996bf1c0f + .quad 0x3e53f58d390caeec, 0x3e9984c7bb9c53ff + .quad 0x3e510299f255a2ca, 0x3e95c3c6ce5f2f75 + .quad 0x3e4cfd7e08a13b20, 0x3e928f8faa7c3202 + .quad 0x3e48b368e0429dac, 0x3e8fa73040873530 + .quad 0x3e450b2501707be6, 0x3e8afca3c464e1d5 + .quad 0x3e41ecf2c897b782, 0x3e8701780b38d71a + .quad 0x3e3e891642306fee, 0x3e839c08dab159e0 + .quad 0x3e3a013c6709bdd5, 0x3e80b66dac93672b + .quad 0x3e3624c9a2f2f8fc, 0x3e7c7bde43ebd873 + .quad 0x3e32da83d59392f5, 0x3e784520ec5eb55a + .quad 0x3e300ce3767b77a8, 0x3e74ad54236cf6b4 + .quad 0x3e2b5312d520a3f4, 0x3e719d258cf47194 + .quad 0x3e274191dcab90bc, 0x3e6e015665e4efbd + .quad 0x3e23ca855a30dad5, 0x3e698dc92b26aea0 + .quad 0x3e20d71d1069e44f, 0x3e65c29c3e79c162 + .quad 0x3e1ca7c7b61a5357, 0x3e628708aaed4d70 + .quad 0x3e186083aaabaf73, 0x3e5f8bd2046619b5 + .quad 0x3e14bc21b880f9de, 0x3e5ada636f165959 + .quad 0x3e11a28183b0e320, 0x3e56dafa60f704a1 + .quad 0x3e0dfe23a6ad4f8b, 0x3e537351629c53c0 + .quad 0x3e0980956bea8cc0, 0x3e508cff68f5874c + .quad 0x3e05ae767663002e, 0x3e4c29ce58c1fc10 + .quad 0x3e026e4fd1165b76, 0x3e47f5772973d16c + .quad 0x3dff54dde2ba8f56, 0x3e44612c5674eed9 + .quad 0x3dfaa0af3e698b26, 0x3e415539e864d70f + .quad 0x3df6a0956d7d1b63, 0x3e3d7ad5cdc3741e + .quad 0x3df339bd6e517d44, 0x3e39110bc4b50f8c + .quad 0x3df0554f0943ba8c, 0x3e354fb970dbe54e + .quad 0x3debbfac9007ec07, 0x3e321dd98bc7de87 + .quad 0x3de791862715d02f, 0x3e2ecc34851c9763 + .quad 0x3de403f77382e654, 0x3e2a2ca34863bfcb + .quad 0x3de0feff2a4fc490, 0x3e263e0d12d4d288 + .quad 0x3ddcdc5de1ae8c09, 0x3e22e615f0543e41 + .quad 0x3dd8804761a993c4, 0x3e200e4ae934cb56 + .quad 0x3dd4cc23eb3b5ffa, 0x3e1b471c42165f4a + .quad 0x3dd1a6c6c06ea18b, 0x3e172b316e47cc93 + .quad 0x3dcdf58ab9ae4fcb, 0x3e13ad1e7143aa75 + .quad 0x3dc96bd0bd6c9a31, 0x3e10b54bd6a9e23f + .quad 0x3dc59163428fb3a6, 0x3e0c5f4a785a88d1 + .quad 0x3dc24be8d0138113, 0x3e08162809b8dff6 + .quad 0x3dbf09f3c1618809, 0x3e04721b76389525 + .quad 0x3dba53148c3fc482, 0x3e015a6678e0082c + .quad 0x3db652d1d62b45e1, 0x3dfd73f8da963966 + .quad 0x3db2eda549c16ee8, 0x3df8fdeb6a9e8ebc + .quad 0x3db00c2a84aed164, 0x3df5342fe16e83a5 + .quad 0x3dab3501c0fdbbcf, 0x3df1fcdfea216d16 + .quad 0x3da70f8998ccf075, 0x3dee83eb9bce31c4 + .quad 0x3da38b3a7222dd33, 0x3de9e170e2dbff8c + .quad 0x3da08fb437656229, 0x3de5f27a9aa5f660 + .quad 0x3d9c1085f96d9fee, 0x3de29bfa42bc7b76 + .quad 0x3d97c6a3cf1c9dcf, 0x3ddf8de2739c95a9 + .quad 0x3d9423e65b2a3a8c, 0x3ddabfaa7d4233fa + .quad 0x3d910ef40de709bc, 0x3dd6ac1833360c58 + .quad 0x3d8ce48f9d9e5928, 0x3dd336f5ff042b88 + .quad 0x3d88773adc5703ce, 0x3dd0484d7ff5f6bd + .quad 0x3d84b6e86a5aa9d8, 0x3dcb978904649f57 + .quad 0x3d8189488e2e9743, 0x3dc760249f31a968 + .quad 0x3d7db0100ef385d3, 0x3dc3cd13761f1731 + .quad 0x3d79206c1ae9fb29, 0x3dc0c569a0b1627c + .quad 0x3d754382e8081943, 0x3dbc67fe1e83e910 + .quad 0x3d71fe13002859ca, 0x3db80dbcff1d72cf + .quad 0x3d6e71fde0c5e218, 0x3db45d945dc4844d + .quad 0x3d69c159bbc9900a, 0x3db13da615eb6c5f + .quad 0x3d65c8fc931c6d94, 0x3dad2ffe78d87996 + .quad 0x3d626cb8c1920344, 0x3da8b4017551e03b + .quad 0x3d5f295714275bc3, 0x3da4e7bd56b77338 + .quad 0x3d5a592ca70605e5, 0x3da1b06621cfb60e + .quad 0x3d5646a234bddd88, 0x3d9dee83fc205fc8 + .quad 0x3d52d4a498c21371, 0x3d99521701d324da + .quad 0x3d4fd5235020e009, 0x3d956ad77d8efe38 + .quad 0x3d4ae71657ff542e, 0x3d921d11201bfbcf + .quad 0x3d46bbc82f12468a, 0x3d8ea290040397f4 + .quad 0x3d43354802504d9e, 0x3d89e7295f29cf91 + .quad 0x3d403a3b07cf84b0, 0x3d85e631fb2a96db + .quad 0x3d3b6a52af7c7202, 0x3d828313d62cbf4f + .quad 0x3d3727cc024d462a, 0x3d7f4b2d92a8da6a + .quad 0x3d338e1c7590edaf, 0x3d7a726cda9c5fc4 + .quad 0x3d3083385f1e344c, 0x3d76592390114765 + .quad 0x3d2be229b5ed10eb, 0x3d72e1e1bdc1cff3 + .quad 0x3d278a15c33bf0d1, 0x3d6fe77379b5869a + .quad 0x3d23dea49bdca04d, 0x3d6af3202215009f + .quad 0x3d20c5225e967ce3, 0x3d66c30c15ee186b + .quad 0x3d1c4df14833b32e, 0x3d6338f646703f05 + .quad 0x3d17e2197e99732e, 0x3d603b4338f71d3b + .quad 0x3d14266d76b7e9ef, 0x3d5b688e02001605 + .quad 0x3d10ff9aa4df55cb, 0x3d572355f261c90f + .quad 0x3d0cad0ea9847218, 0x3d5387d609c076c8 + .quad 0x3d082f5884a3c4ff, 0x3d507bcd8d61f54d + .quad 0x3d04650f71159187, 0x3d4bd20f0d88c869 + .quad 0x3d01324c9f973607, 0x3d477977767b819c + .quad 0x3cfcfef7f529f1bf, 0x3d43ce0fee10ae91 + .quad 0x3cf8716298a66d68, 0x3d40b4fbeda58aa9 + .quad 0x3cf49a2f582864b8, 0x3d3c2f0b2bc85943 + .quad 0x3cf15cee56fb8f80, 0x3d37c4f426570458 + .quad 0x3ced43356b5d1bc3, 0x3d340b3e347db73a + .quad 0x3ce8a7d700826ce3, 0x3d30e67b4f33d066 + .quad 0x3ce4c57f38808af9, 0x3d2c7efb04c36011 + .quad 0x3ce17f41219f6e6e, 0x3d28055de49eb405 + .quad 0x3cdd796294cc09e7, 0x3d243f076e4dac86 + .quad 0x3cd8d265709c8b81, 0x3d211003322f9f2a + .quad 0x3cd4e6bf1c869176, 0x3d1cc169496c493b + .quad 0x3cd199123dce7f7c, 0x3d183a55fe01c77f + .quad 0x3ccda12f38ef6065, 0x3d14691f56a0b9d1 + .quad 0x3cc8f0ced10d0db4, 0x3d11315652423380 + .quad 0x3cc4fdbda9c9106c, 0x3d0cf5f3d2534600 + .quad 0x3cc1aa3b4e8f3caa, 0x3d08638e1112031d + .quad 0x3cbdba6023e1257a, 0x3d0489478d82c425 + .quad 0x3cb902e5d96b5dc7, 0x3d014a433d21a4e2 + .quad 0x3cb50a589affacc9, 0x3cfd1c4c912f9acb + .quad 0x3cb1b2a2ba958505, 0x3cf880c8cf6ecf16 + .quad 0x3cadc4cfb90a7ce5, 0x3cf49f5031dc1940 + .quad 0x3ca9088f811b7254, 0x3cf15aa4ccc2f79b + .quad 0x3ca50c7d151d73d0, 0x3ced343a5202c7c4 + .quad 0x3ca1b23bebdcda6d, 0x3ce891da95a3a6f5 + .quad 0x3c9dc06e50abd949, 0x3ce4ab18582d9df2 + .quad 0x3c9901c342974910, 0x3ce1626283914e64 + .quad 0x3c950427d64b1c7d, 0x3cdd3d994938f3ad + .quad 0x3c91a9076f0d2e24, 0x3cd896a9d7ab89b1 + .quad 0x3c8dad425efa38ef, 0x3cd4ac8e5c7c8723 + .quad 0x3c88ee8b30ca2586, 0x3cd16170c969f828 + .quad 0x3c84f1653e256f41, 0x3ccd385b6cd88b32 + .quad 0x3c819712f23cae3d, 0x3cc88f2f609fe4d3 + .quad 0x3c7d8b686448b5af, 0x3cc4a3b00e506616 + .quad 0x3c78cf03de32b406, 0x3cc157d10888e2f3 + .quad 0x3c74d4512f22a65d, 0x3cbd2488978a2f74 + .quad 0x3c717c7923127a39, 0x3cb87b7664b4e00c + .quad 0x3c6d5b12a674c804, 0x3cb4908ab62a09ac + .quad 0x3c68a35c1621f2cc, 0x3cb14591aa0080ca + .quad 0x3c64ad16c988b007, 0x3cad023e74fea7e1 + .quad 0x3c6159616cbf8a0c, 0x3ca85b9c65443c51 + .quad 0x3c5d1c88b489c5c3, 0x3ca4733af4601fe1 + .quad 0x3c586bd4690c0845, 0x3ca12acdf1c9738c + .quad 0x3c547bf000e37ae9, 0x3c9cd1b037f7490b + .quad 0x3c512dff96b26d81, 0x3c982fd0e7486194 + .quad 0x3c4cd026b64a0ca8, 0x3c944bec79d5416c + .quad 0x3c4828be8d7b2e74, 0x3c9107adbae7661d + .quad 0x3c4441250d6b8cc7, 0x3c8c93261af2cd0d + .quad 0x3c40fa934555eb5a, 0x3c87f854fd47e7d3 + .quad 0x3c3c765c89feb632, 0x3c841ad99b7fc9eb + .quad 0x3c37da7c97c8ea4b, 0x3c80dc65148f57fc + .quad 0x3c33fd0bbb47d67c, 0x3c7c46fcad39a071 + .quad 0x3c30bf675e9015a3, 0x3c77b57aa64c1e42 + .quad 0x3c2c0facb396944a, 0x3c73e04ac23c3f11 + .quad 0x3c2781800b4c5862, 0x3c70a933c1a65e31 + .quad 0x3c23b0069a07f02d, 0x3c6beda3eeb5f0a2 + .quad 0x3c207cd15415698a, 0x3c6767a404101f5a + .quad 0x3c1b9cab20b7b4ac, 0x3c639c95b8dcd835 + .quad 0x3c171e48c82b190a, 0x3c606e649c54a11d + .quad 0x3c135a840f1bb9bf, 0x3c5b879e3daa485d + .quad 0x3c10333055f872d1, 0x3c570f426b1f5c67 + .quad 0x3c0b1dfbc5f13465, 0x3c53501cdad9df5b + .quad 0x3c06b163d96b3dd9, 0x3c502c4cdfc5722c + .quad 0x3c02fcfd4e6913ca, 0x3c4b157f19f267ea + .quad 0x3bffc5d8e0519af3, 0x3c46acd55017e4e2 + .quad 0x3bfa945119b38a65, 0x3c42fb4e266d3e9f + .quad 0x3bf63b6a2745bde1, 0x3c3fc696b5025168 + .quad 0x3bf297f53c6e927f, 0x3c3a97e9c202c067 + .quad 0x3bef18eb2ba6357f, 0x3c3640e915b3f3ea + .quad 0x3bea006a7219c6a4, 0x3c329ea2353deb28 + .quad 0x3be5bcff1208eb99, 0x3c2f278f182d5cce + .quad 0x3be22bf73da1838d, 0x3c2a0f8fae515880 + .quad 0x3bde60853b8b4b65, 0x3c25cc15bf9dbbbb + .quad 0x3bd963124add21c0, 0x3c223a9b1f0c9515 + .quad 0x3bd536cefa1810b4, 0x3c1e7c6162103b4e + .quad 0x3bd1b995f6e584af, 0x3c197d2ef035140a + .quad 0x3bcd9da06644bc9d, 0x3c154efd8e5e8a15 + .quad 0x3bc8bd1c79049ec2, 0x3c11cfc34a10ee47 + .quad 0x3bc4a98db9bff0e8, 0x3c0dc5f9803d5324 + .quad 0x3bc1416a031bacf2, 0x3c08e1907994f8d3 + .quad 0x3bbcd13f7b7c3414, 0x3c04ca4b88f6234c + .quad 0x3bb80f645203dff7, 0x3c015eac2ce52257 + .quad 0x3bb415f515af2672, 0x3bfd054eb8db2ad5 + .quad 0x3bb0c410a1d6b3ca, 0x3bf83d8652f7235c + .quad 0x3babfc6c8b2d1c95, 0x3bf43eb1f8cfdcf1 + .quad 0x3ba75acacc068ebe, 0x3bf0e7ed05fb3af3 + .quad 0x3ba37cc328e513e5, 0x3bec3b617ec3cfd6 + .quad 0x3ba0422a6340a512, 0x3be791e9c59e2b42 + .quad 0x3b9b2036a988bead, 0x3be3ace8dce03fbd + .quad 0x3b96a0349d192d1a, 0x3be06c218ca5f25a + .quad 0x3b92deb8d0dae905, 0x3bdb69393c895b87 + .quad 0x3b8f78b3aa5bebbe, 0x3bd6df997f6bab1b + .quad 0x3b8a3dafb67a96cf, 0x3bd315ac58b7d6b7 + .quad 0x3b85e0885ebd9cc3, 0x3bcfd7d13f78002d + .quad 0x3b823c981e88b022, 0x3bca8fe21d205eb0 + .quad 0x3b7e66846a73c925, 0x3bc62777b62fde0c + .quad 0x3b7955ea2f392221, 0x3bc279bb2446baf4 + .quad 0x3b751cacbb42476e, 0x3bbecfc5eb955129 + .quad 0x3b719722d0b598a4, 0x3bb9b06ad8cbcafb + .quad 0x3b6d4f0c5733dbc9, 0x3bb56a684fe99fca + .quad 0x3b6869f70ffc1fcb, 0x3bb1d9d500e92622 + .quad 0x3b645586a9e82938, 0x3badc163a555fefb + .quad 0x3b60ef18dbc017ff, 0x3ba8cbe28ca7c426 + .quad 0x3b5c338d2435fb4b, 0x3ba4a94f1540c9ea + .quad 0x3b577ae3cb88b469, 0x3ba136b93820fc76 + .quad 0x3b538bf7be87e681, 0x3b9cadeb8c3bba05 + .quad 0x3b50453702b9a5bb, 0x3b97e356a2db5e15 + .quad 0x3b4b154294e891da, 0x3b93e50df3387f95 + .quad 0x3b4689b85dc875b1, 0x3b909125281c373a + .quad 0x3b42c0dc90fab5ba, 0x3b8b969aedac7779 + .quad 0x3b3f346b0aa94647, 0x3b86f7d0d10edd84 + .quad 0x3b39f5604d9610b0, 0x3b831e8350b95dae + .quad 0x3b3597757e14e4e8, 0x3b7fd3a5c3ac18bb + .quad 0x3b31f50b401397f7, 0x3b7a7ca8fa240180 + .quad 0x3b2ddd8dcb76e388, 0x3b760a5532471804 + .quad 0x3b28d50fcdd2a012, 0x3b7256887c26e498 + .quad 0x3b24a512f5483d32, 0x3b6e82efb884fa70 + .quad 0x3b2129521372a709, 0x3b6961449f1f5f93 + .quad 0x3b1c872d91eff745, 0x3b651be080b9d49d + .quad 0x3b17b56e9895b756, 0x3b618df034ba2c47 + .quad 0x3b13b37e1b01d1bd, 0x3b5d31877f1753ba + .quad 0x3b105e763ef1c6e1, 0x3b5845928aac023d + .quad 0x3b0b3291e83a6dda, 0x3b542d6673958cf7 + .quad 0x3b06978c8d7d61b8, 0x3b50c58552d896bd + .quad 0x3b02c3987ce2b431, 0x3b4be0be95f0126e + .quad 0x3aff2a6593b4ee39, 0x3b472aab5cc51918 + .quad 0x3af9e0f0cfd57ab4, 0x3b433fd04413c4e8 + .quad 0x3af57c6a75ebbd36, 0x3b3ffc132424c87a + .quad 0x3af1d636b1da2b46, 0x3b3a91d6af35687b + .quad 0x3aed9c6f3705063c, 0x3b36119a09e14fe5 + .quad 0x3ae8936d384f421a, 0x3b3253fb5c838ba6 + .quad 0x3ae464f8c7e074fc, 0x3b2e7068fdcaeb4e + .quad 0x3ae0ec1f5aebc21f, 0x3b2945fff2eb1b17 + .quad 0x3adc14515cb6f8f0, 0x3b24fb5a7146299a + .quad 0x3ad74b15b6eeceb1, 0x3b216ab8334ccb0a + .quad 0x3ad352169fa33216, 0x3b1ce965139dad89 + .quad 0x3ad0060a522d6818, 0x3b17fe578074e0c8 + .quad 0x3aca933ad3e37ea3, 0x3b13e8d828e807b4 + .quad 0x3ac608e37fe916b7, 0x3b1084c9533fea9d + .quad 0x3ac24490f08ca22d, 0x3b0b68488148e38c + .quad 0x3abe4940102c0a26, 0x3b06bbe630bdc58c + .quad 0x3ab91a40479b1837, 0x3b02daed7fd23569 + .quad 0x3ab4cdb9a0d20ef7, 0x3aff45c523b5ec4e + .quad 0x3ab13d21ec7ce7a5, 0x3af9ee3b5d440d20 + .quad 0x3aac90f21d2d475f, 0x3af57f9f997e1f52 + .quad 0x3aa7aa5b8d4b4359, 0x3af1d262b74c69e4 + .quad 0x3aa39a647b21bed6, 0x3aed8b50e711660a + .quad 0x3aa03c70a0dadb1d, 0x3ae87c4bc616ed3d + .quad 0x3a9ae43ba1c85bb1, 0x3ae44a615135e868 + .quad 0x3a96446b3db12c58, 0x3ae0cfed72363bb7 + .quad 0x3a926f997cdc041d, 0x3adbdb5f7a82d0f4 + .quad 0x3a8e86218ea3e6ac, 0x3ad7136d3b897e11 + .quad 0x3a89440cec9f5e3a, 0x3ad31cf2729ac24d + .quad 0x3a84e93295651e9b, 0x3acfa860b2bf75f8 + .quad 0x3a814df714b2cc27, 0x3aca36fa64c5b19f + .quad 0x3a7ca3058fde005f, 0x3ac5b478418ed951 + .quad 0x3a77b135dc219792, 0x3ac1f8035d726d41 + .quad 0x3a73995999427ba7, 0x3abdbf75e60682c2 + .quad 0x3a703604de581436, 0x3ab89f0afa1deeca + .quad 0x3a6ad067d36fa2c8, 0x3ab4602a49df0a52 + .quad 0x3a662c6642f5d4b9, 0x3ab0dc2db21eaf21 + .quad 0x3a62556d7a42568a, 0x3aabe61355e30a98 + .quad 0x3a5e5068065139be, 0x3aa7145a7dd1cf8c + .quad 0x3a590efd5cd13c30, 0x3aa31725e0702649 + .quad 0x3a54b62e9374c452, 0x3a9f93e90900fd6b + .quad 0x3a511de133cc6916, 0x3a9a1d0c10ff74df + .quad 0x3a4c49bf95c5f745, 0x3a9597928f3e0c70 + .quad 0x3a475f56ab48bd89, 0x3a91d9f316556fcc + .quad 0x3a434f00cbd8ea42, 0x3a8d8389849eaf01 + .quad 0x3a3fe61cbe17950d, 0x3a88650e1db268eb + .quad 0x3a3a589caf82618c, 0x3a84293ddcb013c1 + .quad 0x3a35c1e107375834, 0x3a80a90025fd130c + .quad 0x3a31f7319c565581, 0x3a7b87eb911fc5ef + .quad 0x3a2daa6c6af5c17f, 0x3a76bea387f6b0a0 + .quad 0x3a287d63120a742c, 0x3a72c9c915a28dda + .quad 0x3a2436e80df031f0, 0x3a6f094496a5e827 + .quad 0x3a20aef9bffa708d, 0x3a69a19446f657cc + .quad 0x3a1b890579385cdc, 0x3a652a33b4b8094c + .quad 0x3a16b84ffdb5d885, 0x3a6179841589cd00 + .quad 0x3a12be9773700384, 0x3a5cda2d93f291ab + .quad 0x3a0eecef0206652c, 0x3a57d0e0e7cac5b0 + .quad 0x3a09821029662ccf, 0x3a53a804f20fd2f4 + .quad 0x3a05097c74b3d08e, 0x3a5038a34010e13f + .quad 0x3a0158fcf12f6c8e, 0x3a4ac508371be502 + .quad 0x39fc9b60c296975d, 0x3a461608ea10db83 + .quad 0x39f7958bc88e6006, 0x3a42383e3bce3750 + .quad 0x39f370dfa8e149d1, 0x3a3e0e820ef74630 + .quad 0x39f0060a594f59c7, 0x3a38c9f67fa9c048 + .quad 0x39ea6925bee98d74, 0x3a3471203b047e85 + .quad 0x39e5c351b4996320, 0x3a30dae92b938870 + .quad 0x39e1ee518d278c58, 0x3a2bcabf2ba981bf + .quad 0x39dd8b2f8b0b2924, 0x3a26e8f25135d13f + .quad 0x39d855f0a34582a6, 0x3a22e219acb023ae + .quad 0x39d40b1881e58e30, 0x3a1f1fe817902ceb + .quad 0x39d0818d80634105, 0x3a19a5d5233d8e13 + .quad 0x39cb2ecbb2e8d76c, 0x3a1521d0766f8b85 + .quad 0x39c6614d9da549fb, 0x3a1168c985c93c95 + .quad 0x39c26c7736a63e7f, 0x3a0cae6809d7d445 + .quad 0x39be546a107b57d5, 0x3a079f71edd3cb51 + .quad 0x39b8f64020effd9c, 0x3a037443c37e4835 + .quad 0x39b48aa64075b150, 0x3a0004e8297ce819 + .quad 0x39b0e6e891142764, 0x39fa60ceba01346a + .quad 0x39abcfa525d16889, 0x39f5b71dfbe662f9 + .quad 0x39a6e0be1ed4e4cc, 0x39f1dfe04c5b884a + .quad 0x39a2d14568fa3103, 0x39ed6c299b6b03de + .quad 0x399ef39c9c67da70, 0x39e8366f8264d161 + .quad 0x399973b86e9a718f, 0x39e3ec401194be5f + .quad 0x3994ed55e6d4d5df, 0x39e0641ea45be131 + .quad 0x3991345b1de4a541, 0x39daf7b06dd7c2fa + .quad 0x398c48e8cf8e20ed, 0x39d62e7924beab28 + .quad 0x39873f6cd7db5a56, 0x39d23e2123cac1dc + .quad 0x39831afb2e91937b, 0x39ce00be39adba8f + .quad 0x397f6600b76754fc, 0x39c8ab4ee2717624 + .quad 0x3979cc2881babaf0, 0x39c447fa5b4e25fe + .quad 0x3975316d5b010b17, 0x39c0abf02c055867 + .quad 0x3971688993cfebe3, 0x39bb67d9f35f4de8 + .quad 0x396c98758b0a4eba, 0x39b685ccfe1e2ab5 + .quad 0x39677baf72da4868, 0x39b281e65593d670 + .quad 0x3963484c1e2418cb, 0x39ae698bd1000fd2 + .quad 0x395fa991c2110340, 0x39a8fc0326c87b11 + .quad 0x3959fe006460b912, 0x39a485d5ed97243e + .quad 0x395555b844a27ecd, 0x39a0db191585c5a2 + .quad 0x395182875c9f3984, 0x399baf50ff65044d + .quad 0x394cbce2423a80ac, 0x3996bb8ebe73c54a + .quad 0x394794741d4d28c6, 0x3992a9fd1221e357 + .quad 0x3943586a18110b0e, 0x398ea4b746dbeae3 + .quad 0x393fbd1c1dcb3991, 0x3989271dfe5687e7 + .quad 0x393a085cf5d6c87e, 0x3984a4b9ae2c857d + .quad 0x393559911f8b7812, 0x3980f0c2d578f06a + .quad 0x393181ddd71c27fb, 0x397bccd0201398ba + .quad 0x392cb5889458c00e, 0x3976cec95dfef21a + .quad 0x392789499da6bff1, 0x3972b5ae7721763f + .quad 0x39234b0b5ddf82c6, 0x396eb1327842cc63 + .quad 0x391fa04646636ebe, 0x39692bda7bca05b7 + .quad 0x3919eb0ea42d451e, 0x3964a4186866270a + .quad 0x39153ce6234f7db7, 0x3960ec8a57831ec5 + .quad 0x3911668fdbb007d5, 0x395bbfd05e1b64f3 + .quad 0x390c8289c5fd0187, 0x3956bf24d893426c + .quad 0x39075a62b0407aef, 0x3952a4c4fb42b862 + .quad 0x3903206cc37b0e4a, 0x394e8ec43d273fba + .quad 0x38ff53937c26236e, 0x39490a22ee0d506e + .quad 0x38f9a69ad7793258, 0x394483f4fee6553c + .quad 0x38f50039cbf56e41, 0x3940ce82f0139653 + .quad 0x38f13119a81ee824, 0x393b888d3fea2a71 + .quad 0x38ec24cdc6a6909b, 0x39368ce8cbb7eaeb + .quad 0x38e7089487e1182e, 0x3932778e05f0f826 + .quad 0x38e2d94fe2dcd5a4, 0x392e3e0a1bcb7b90 + .quad 0x38ded85fe218f015, 0x3928c29185861611 + .quad 0x38d93c37ffa2be30, 0x392444e2559eb861 + .quad 0x38d4a49efe08b764, 0x39209735c9244f77 + .quad 0x38d0e26d33274acd, 0x391b28030446d467 + .quad 0x38cb9dfc560135f0, 0x391638fa554a9791 + .quad 0x38c6955081ac80b2, 0x39122ed7a20d2031 + .quad 0x38c276f565251c73, 0x390dc07399fb9ebd + .quad 0x38be30d639687648, 0x3908566bbf3afdcc + .quad 0x38b8adc46e842374, 0x3903e7fef514c8f7 + .quad 0x38b42bb0eedd3fb2, 0x3900479dd0162987 + .quad 0x38b07beb0edff1b8, 0x38fa9fe7272a642b + .quad 0x38aaf070915be74e, 0x38f5c4d5495043b3 + .quad 0x38a602994f04daa5, 0x38f1cbea64272b5f + .quad 0x38a1fb139d7ad130, 0x38ed18375dee0b86 + .quad 0x389d5fdfa65dd70d, 0x38e7c798c690caf6 + .quad 0x3897fdb85ec65bd4, 0x38e36eec953c25e3 + .quad 0x38939787263ebbca, 0x38dfc2409fc1812e + .quad 0x388ffeb0495cc103, 0x38d9f29b80329143 + .quad 0x388a1f276c1aeb71, 0x38d5328106ecc8f8 + .quad 0x388552f40714fe54, 0x38d1507fc4d2f4ba + .quad 0x388167c9d827337c, 0x38cc484291d11ff0 + .quad 0x387c690e28b6a9bf, 0x38c7189333483e3b + .quad 0x38772f13b97db104, 0x38c2dbc3e931f24d + .quad 0x3872eaa616a9b21c, 0x38becb050b3055a0 + .quad 0x386edda16b7edc87, 0x38b9231c8255bcdb + .quad 0x38692da9c960076a, 0x38b4848161f4e509 + .quad 0x38648955baf138af, 0x38b0beb55467080a + .quad 0x3860bf90e157d9da, 0x38ab542338309321 + .quad 0x385b5082a5d8de09, 0x38a64c56b8fb3cec + .quad 0x3856454856772fed, 0x38a231052b5f7dd6 + .quad 0x385227ecea87251d, 0x389dadb937ed07eb + .quad 0x384d99724acabf71, 0x389834eb55a1d18e + .quad 0x38481ff31715569a, 0x3893bdc43dd8955f + .quad 0x3843a90e48619574, 0x389018fd4cd15479 + .quad 0x384005296113b586, 0x388a3fee5158c03f + .quad 0x383a1acf8c750894, 0x3885664a8518a142 + .quad 0x38354421936100c1, 0x388171860917e7c8 + .quad 0x383152813e135602, 0x387c6f152728fb8f + .quad 0x382c375a4cba7b23, 0x38772bf4ab4db677 + .quad 0x3826fa5568fa20f3, 0x3872e18c95c4bfb1 + .quad 0x3822b5b13ef0805c, 0x386ec41a3d4cf576 + .quad 0x381e77117811a7d2, 0x38691022d83bf8f5 + .quad 0x3818ccd934db2cb0, 0x38646a292659269e + .quad 0x38142faa33070d2a, 0x3860a05da41d6048 + .quad 0x38106db98d7f6125, 0x385b14375f322de2 + .quad 0x380abcdbdfcc9f7c, 0x38560c75486158b0 + .quad 0x3805c15c23fbb403, 0x3851f35bc35fb59f + .quad 0x3801b2fdb7cab6df, 0x384d39954e0a9d3d + .quad 0x37fccb8a64624f6c, 0x3847c98ab66270f5 + .quad 0x37f76bb52e82b59a, 0x38435be6eb898758 + .quad 0x37f30c117f001ac3, 0x383f819edd38db9c + .quad 0x37eefa0e49e3fecc, 0x3839a2821242ebd0 + .quad 0x37e92fa046d58d4e, 0x3834dadd528d6ea9 + .quad 0x37e479ae4e865fee, 0x3830f6d9e092345c + .quad 0x37e0a4c603089f16, 0x382b987187720ae4 + .quad 0x37db0e03e96a5485, 0x3826711ad9310ce1 + .quad 0x37d5fc89a9e03199, 0x38223f97aea9f29f + .quad 0x37d1dd90a3522c75, 0x381dac6b554960ff + .quad 0x37cd07c0b8b30398, 0x38181f77dc55f2bd + .quad 0x37c795540ea5dda7, 0x38139bb36d1a51da + .quad 0x37c327f191dd6247, 0x380fdf7c425dfb89 + .quad 0x37bf1db008e061d6, 0x3809e6c7f42ee3a0 + .quad 0x37b944b7c8850269, 0x38050bd38f4b0e14 + .quad 0x37b4846e1e475567, 0x38011954fcd9d596 + .quad 0x37b0a8512d6deeb0, 0x37fbc7d8a23288e1 + .quad 0x37ab0b57b848dfd5, 0x37f69099571fea27 + .quad 0x37a5f385601a1095, 0x37f25378a9823720 + .quad 0x37a1d0aee3f21eae, 0x37edc36feecfa2ba + .quad 0x379ce9ce0f1b56b8, 0x37e82a9fb7ad076b + .quad 0x379775af322a6fb6, 0x37e39ea243c7bf71 + .quad 0x3793084e2fb958e5, 0x37dfda4af81b306a + .quad 0x378ee0aaff5c7275, 0x37d9da7a2c5ab52c + .quad 0x37890b5b261712ac, 0x37d4fb44aa933f5c + .quad 0x37844f853ca3d2a1, 0x37d1068e39733d5f + .quad 0x37807839b24e2329, 0x37cba0b385a9673f + .quad 0x377ab4ef712ea53c, 0x37c669cb88b98bb4 + .quad 0x3775a6a27edc2aaf, 0x37c22e458ff074e2 + .quad 0x37718ccfb2383c0d, 0x37bd7dccacf16bdf + .quad 0x376c72c7d427b5c7, 0x37b7ea9a57d9c3fd + .quad 0x37670debd3477d7c, 0x37b364981b4fcacc + .quad 0x3762ae4c8505c4dc, 0x37af723b60a4c45a + .quad 0x375e45347f37826d, 0x37a97e0b5db827a8 + .quad 0x3758859d9d834871, 0x37a4a9cae44d02aa + .quad 0x3753dcdd6f53a761, 0x37a0bf347561e06f + .quad 0x3750163c7a1b8ce3, 0x379b246ea577dcd5 + .quad 0x374a0de9e4d0326a, 0x3795fe1a8f2ffd47 + .quad 0x374518a7407eb90e, 0x3791d15869af1a46 + .quad 0x3741146574533e59, 0x378cde08f63664fd + .quad 0x373ba6f77161f191, 0x378761ba88bf6eed + .quad 0x373661c59f17fae0, 0x3782efafc89163c3 + .quad 0x37321d2894bdd4c7, 0x377eab12c8aa7e50 + .quad 0x372d50e0eba3e44d, 0x3778d4d432dee077 + .quad 0x3727b84a5753cf1f, 0x37741a589d11cb19 + .quad 0x37233091416396db, 0x377045db9ec2ba81 + .quad 0x371f0bb3ff173143, 0x376a57861242277f + .quad 0x37191c3cacc75aaa, 0x376551681b8d3610 + .quad 0x37144ea256a84bb0, 0x376140098b38820c + .quad 0x37106bb841410434, 0x375be9e2feb561e0 + .quad 0x370a8d98b0d57710, 0x375694e9fdcb7be5 + .quad 0x37057755a2313bdf, 0x37524419d9ce37ff + .quad 0x37015a03d39bca43, 0x374d8bf1578b3aac + .quad 0x36fc0c4e9f387792, 0x3747e4dfe2cee6a2 + .quad 0x36f6aa9b63079411, 0x3743520b0bf08a51 + .quad 0x36f250ad98a67e4f, 0x373f3daa3dd37f3a + .quad 0x36ed9842421f4af1, 0x37394140b3abb78e + .quad 0x36e7e859d0226582, 0x373469d2facc66f7 + .quad 0x36e34f9e5d4c96d3, 0x37307f7c6b04c092 + .quad 0x36df314a5f5af6d7, 0x372aa9f80ec12e52 + .quad 0x36d9306ca687d568, 0x37258b5e63278412 + .quad 0x36d456b681315daf, 0x372167dcc97a0fd3 + .quad 0x36d06b98180e66f0, 0x371c1ee5bab4ede7 + .quad 0x36ca82a4c036e3f3, 0x3716b69077bfc3c7 + .quad 0x36c565cda5d05a6a, 0x371257dcc5bc2717 + .quad 0x36c144d77262f022, 0x370d9fdd2296338f + .quad 0x36bbdec7b50a66c0, 0x3707eb427b4ddd71 + .quad 0x36b67cb265d8483a, 0x37034f5aee912170 + .quad 0x36b224399b226996, 0x36ff2ca4dc8ff69f + .quad 0x36ad448f86c23d12, 0x36f92943634830d2 + .quad 0x36a79b2a15ae0faa, 0x36f44e2d8e947442 + .quad 0x36a3098d833c2da0, 0x36f0627b1e47c261 + .quad 0x369eb3aa595948f3, 0x36ea705784809825 + .quad 0x3698c0f08dff4e68, 0x36e554226cd542ef + .quad 0x3693f49a8880f6ad, 0x36e1343e7a202e90 + .quad 0x369015dd1c62a082, 0x36dbc0384ab3550d + .quad 0x3689edb80143a705, 0x36d660fe966c4e28 + .quad 0x3684e52056f2dec4, 0x36d20b6b60dae611 + .quad 0x3680d62a769875e0, 0x36cd1893fc15ba16 + .quad 0x367b2128dd015485, 0x36c7747e31ddd25c + .quad 0x3675dad6d3a16694, 0x36c2e7c997078049 + .quad 0x36719a81ef58dfc6, 0x36be790d89e8e564 + .quad 0x366c5ae1b79c4ee8, 0x36b88e545d12ba57 + .quad 0x3666d56e11abc8a7, 0x36b3c919aea97870 + .quad 0x366262a204b39df1, 0x36afe13c6f07b6ae + .quad 0x365d9a774b67b183, 0x36a9ae2b16a9550a + .quad 0x3657d48e51f6d6ed, 0x36a4af14f857334e + .quad 0x36532e43016e50e4, 0x36a0a8564eab8ff5 + .quad 0x364edf747f9f14f1, 0x369ad3a333504020 + .quad 0x3648d7d80e14b910, 0x3695996d7e13f467 + .quad 0x3643fd1708b687cb, 0x3691636f3d76858a + .quad 0x364014ad3fec9ec4, 0x368bfe545fce7a55 + .quad 0x3639dee40ecc2982, 0x368687ce08618977 + .quad 0x3634ceca2b274540, 0x368221a377d62eb4 + .quad 0x3630bbd071377b87, 0x367d2dcd30499eb7 + .quad 0x362ae9438e9a5c0b, 0x367779da2df7a30c + .quad 0x3625a30285652ad0, 0x3672e2a7c1fe1c5f + .quad 0x362164daef1c2b15, 0x366e61933d473856 + .quad 0x361bf6806876a635, 0x36686f2e6e7e582a + .quad 0x36167960688424ef, 0x3663a62b4892ce6e + .quad 0x36120f7f47f404a7, 0x365f99234ed0089e + .quad 0x360d061d530972c5, 0x3659676058974913 + .quad 0x3607517e8c57f622, 0x36546bd7c1e28ef0 + .quad 0x3602bb6ba79809ed, 0x365069f8cb02119f + .quad 0x35fe179628712470, 0x364a61febb6d574d + .quad 0x35f82af24bbe81dd, 0x36453351984f5d61 + .quad 0x35f3684a09debb18, 0x364108b4faaa8971 + .quad 0x35ef2a603a977e7c, 0x363b5e91e3ee196d + .quad 0x35e9054beadf5a51, 0x3635fc381e001854 + .quad 0x35e415c074fc9065, 0x3631a8782bc000be + .quad 0x35e01ef55a0092e3, 0x362c5c9be5ba37d4 + .quad 0x35d9e016e74801cb, 0x3626c625c9dd5c05 + .quad 0x35d4c3713bae315d, 0x362248f08aa2a9f5 + .quad 0x35d0a8cf82738469, 0x361d5b98efc2e8d5 + .quad 0x35cabada51b7b47e, 0x361790b07dcc17dd + .quad 0x35c570fb47030aa8, 0x3612e9c8b4dec3de + .quad 0x35c13270ae279a57, 0x360e5affac730013 + .quad 0x35bb951931589ad6, 0x36085b69d604d483 + .quad 0x35b61dfa678e3296, 0x36038aa7fa8655e3 + .quad 0x35b1bb88966006c4, 0x35ff5a41ad29abd6 + .quad 0x35ac6e52f00f28e6, 0x35f925df815332e1 + .quad 0x35a6ca07adb2cabe, 0x35f42b32a68b6433 + .quad 0x35a243c4de072741, 0x35f02c65f05a223c + .quad 0x359d4603cf73627e, 0x35e9ef9ba1f58105 + .quad 0x359774b9c8b06520, 0x35e4cb0a4ddc2264 + .quad 0x3592cad15ed5f00d, 0x35e0ab038a2ddd17 + .quad 0x358e1ba565f2f2da, 0x35dab82536c08c11 + .quad 0x35881da56c03901c, 0x35d569ce24f30cad + .quad 0x358350587b61e2e7, 0x35d128ac3f80b9ac + .quad 0x357eeeaf2386ba73, 0x35cb7f008c184953 + .quad 0x3578c45dba9ebaff, 0x35c6071b5b7d5f0b + .quad 0x3573d40375ab2fc9, 0x35c1a5112ad78884 + .quad 0x356fbe96dd52dd2a, 0x35bc43afb43abf3a + .quad 0x35696874b77050b3, 0x35b6a28d7dab4750 + .quad 0x3564557ac9b8a4ff, 0x35b21fe234726979 + .quad 0x35604568afbad70b, 0x35ad05b30647f5b6 + .quad 0x355a097bba9c5bba, 0x35a73bbedaae952f + .quad 0x3554d4668bc3c638, 0x35a298ce64edbc52 + .quad 0x3550a969821c25d4, 0x359dc489a35fd890 + .quad 0x354aa703eac27071, 0x3597d248efdebaf1 + .quad 0x3545506ec96ce1d8, 0x35930f843b6c62b7 + .quad 0x35410b0827e1c59f, 0x358e7fb2011e1175 + .quad 0x353b409eb99c2287, 0x358865c4d7ebd336 + .quad 0x3535c93bed6568e9, 0x358383b206d0bb99 + .quad 0x353169ff47b694c6, 0x357f36aa78ac249d + .quad 0x352bd5de633517f7, 0x3578f5cbbd7e3bd9 + .quad 0x35263e7724f64774, 0x3573f5064180659d + .quad 0x3521c60a3dd2224e, 0x356fe8f1d993bb19 + .quad 0x351c66566ef40333, 0x356981f750955121 + .quad 0x3516afcac6c09d1a, 0x3564632fef2669ec + .quad 0x35121ee56dbc8c6a, 0x35604b03ffb7174a + .quad 0x350cf19c31a391ac, 0x355a09e23dee12db + .quad 0x35071ce2ba111a68, 0x3554cddefbe00dae + .quad 0x3502744e94597df0, 0x35509eb734c1a314 + .quad 0x34fd77474fa3c96f, 0x354a8d28a7b21f9e + .quad 0x34f7856cde19858b, 0x354534c49c3a48a0 + .quad 0x34f2c60519b06073, 0x3540ef5469afe541 + .quad 0x34edf6f23e67822e, 0x353b0b689ea896f0 + .quad 0x34e7e9197060941a, 0x35359793ad60d8ab + .quad 0x34e313ca61e59763, 0x35313c9ee6b2a529 + .quad 0x34de703ac45eb1a5, 0x352b84429b1d33d8 + .quad 0x34d8479b71b66ff2, 0x3525f60114dc317a + .quad 0x34d35d621cd7892f, 0x3521865baa279b03 + .quad 0x34cee2c2766d39ae, 0x351bf759f4ae6481 + .quad 0x34c8a0a908fbee34, 0x35164fc41f392bcd + .quad 0x34c3a29293d26666, 0x3511cc51b3533d1b + .quad 0x34bf4e2f320ed2f5, 0x350c645558315ad7 + .quad 0x34b8f3fbe30bc1d8, 0x3506a496dcf46820 + .quad 0x34b3e324f4cf0981, 0x35020e4a4b8e031e + .quad 0x34afb22b934b9930, 0x34fccadf3adb1af0 + .quad 0x34a941518f17ca26, 0x34f6f4367d03dbd8 + .quad 0x34a41ee59ab3f625, 0x34f24c114d622260 + .quad 0x34a00733b2d2d2a7, 0x34ed2aa649df6e65 + .quad 0x3499886bd6d1085b, 0x34e73e63a45afd4d + .quad 0x349455a452136a60, 0x34e285756918be22 + .quad 0x3490314c07978175, 0x34dd835dd5ba6335 + .quad 0x3489c91111b6c15f, 0x34d782e2c1c97a81 + .quad 0x3484873499e69a71, 0x34d2ba486638ab1e + .quad 0x3480573c7a800f18, 0x34cdd4be385e9720 + .quad 0x347a030c72f0cf33, 0x34c7c17c5d99552c + .quad 0x3474b36ddfcc8743, 0x34c2ea5f617d321f + .quad 0x347078e5ec28bafd, 0x34be1e853589fe15 + .quad 0x346a362e51221b9f, 0x34b7f9fd64579e1a + .quad 0x3464da2bb75a5c65, 0x34b3159306d0abd0 + .quad 0x3460962c95c3eb50, 0x34ae6076548c0765 + .quad 0x345a624c67aa97df, 0x34a82c376c3acddf + .quad 0x3454fb4e0c13d490, 0x34a33bbfc6dd55a6 + .quad 0x3450aef82f484486, 0x349e9a5b32d2ef52 + .quad 0x344a874210dbadcf, 0x34985800f4a2d262 + .quad 0x344516b94dabb86d, 0x34935cc607ce4fd8 + .quad 0x3440c33410fd4c56, 0x348ecc03cea2935d + .quad 0x343aa4f078af0321, 0x34887d359f39448e + .quad 0x34352c5696370c9d, 0x3483788a50e33e44 + .quad 0x3430d2cf5025ba2d, 0x347ef546c9652b0a + .quad 0x342abb3ec79d594d, 0x34789bb66243bfd5 + .quad 0x34253c13ca08d951, 0x34738ef570827673 + .quad 0x3420ddbcd68fc943, 0x346f1601a115b514 + .quad 0x341aca1a45423b35, 0x3468b369b3c6ec4f + .quad 0x341545e3b0f8838a, 0x34639ff49c7fe5e8 + .quad 0x3410e3f374dd9d68, 0x345f2e18e05495b4 + .quad 0x340ad1767288e013, 0x3458c43bad265564 + .quad 0x340549be08e15927, 0x3453ab798c59d4c2 + .quad 0x3400e56def61fbc4, 0x344f3d7844c8a592 + .quad 0x33fad14d1b2f0b5f, 0x3448ce1e26fb8214 + .quad 0x33f5479f9137160b, 0x3443b17a8d383f04 + .quad 0x33f0e22b05782284, 0x343f4412db819edf + .quad 0x33eac99e5e7b9269, 0x3438d108ccedcd75 + .quad 0x33e53f8a0f98a8b8, 0x3433b1f28f8795ca + .quad 0x33e0da2d734853ff, 0x342f41e3132440da + .quad 0x33daba70af1767b0, 0x3428ccf9296410ae + .quad 0x33d531844d58365e, 0x3423ace12e143377 + .quad 0x33d0cd7bedf59779, 0x341f36eac3bc78c2 + .quad 0x33caa3d0ca096eed, 0x3418c1f2a8f92477 + .quad 0x33c51d9a0dfd2e93, 0x3413a24aae988ae7 + .quad 0x33c0bc211a3c2859, 0x340f23332c263066 + .quad 0x33ba85d1a4e6bedc, 0x3408affe95ac6f2a + .quad 0x33b503dbfed30324, 0x34039237fbbcfa18 + .quad 0x33b0a62b7d92f095, 0x33ff06cce511da3e + .quad 0x33aa608c535a2ba1, 0x33f8972c09d7f45c + .quad 0x33a4e45f9fa4adff, 0x33f37cb698950bda + .quad 0x33a08bad69ed20a4, 0x33eee1cfc9be3df9 + .quad 0x339a341fe436d2d7, 0x33e8778fdb058321 + .quad 0x3394bf3f24d273a5, 0x33e361d88db2b95b + .quad 0x33906cbce44363ec, 0x33deb45ad695330a + .quad 0x338a00b13659be7c, 0x33d851447ccc879b + .quad 0x3384949952fc2371, 0x33d341b44ff4c3c6 + .quad 0x3380497386163a39, 0x33ce7e93fdecae00 + .quad 0x3379c66ac5ae65b3, 0x33c82469dbf1833e + .quad 0x337464915486577b, 0x33c31c64a141680e + .quad 0x337021ee5a248c7f, 0x33be40a7f340982a + .quad 0x3369857c70b8b2bc, 0x33b7f125320f1e94 + .quad 0x33642f4e894cc71a, 0x33b2f2086b6a5cf4 + .quad 0x335fec9b69351b70, 0x33adfac9ed4c27ce + .quad 0x33593e1b371520a1, 0x33a7b7a0d21f0262 + .quad 0x3353f4fc50de840a, 0x33a2c2c295822108 + .quad 0x334f8d6a0e0a9508, 0x339dad335f7aacdb + .quad 0x3348f080f16c57c0, 0x3397780bee4609a1 + .quad 0x3343b5c9cfaada16, 0x33928eb9d3f5000a + .quad 0x333f269560bdbf92, 0x338d5823ab37d92e + .quad 0x33389cec0363502d, 0x3387329a5753ca24 + .quad 0x333371e9af8e6ccf, 0x3382561873c1cc7a + .quad 0x332eb86f931c309d, 0x337cfbdfc9b64d6e + .quad 0x3328439f081b525a, 0x3376e7843670c8d2 + .quad 0x33232991dc38028e, 0x3372190c2136fc76 + .quad 0x331e434fdd743954, 0x336c98b1eed08258 + .quad 0x3317e4e079de1a2e, 0x33669705c180d6c1 + .quad 0x3312dcfb3be31ebd, 0x3361d7c5aaa09490 + .quad 0x330dc7920bafc5dc, 0x335c2ee925b3e3f6 + .quad 0x330780fa5599d558, 0x3356415eeac7f744 + .quad 0x33028c6164ec1235, 0x33519278bf59ff34 + .quad 0x32fd459605b63623, 0x334bbed8e8100752 + .quad 0x32f71839bad6a45b, 0x3345e6d30c67b96b + .quad 0x32f2380250c57526, 0x3341495babbc8d8e + .quad 0x32ecbdbf53eed588, 0x333b48d8b08c37b5 + .quad 0x32e6aaee88d3a5e6, 0x333587a8905112eb + .quad 0x32e1e01e0cda0c0e, 0x3330fca71267dd26 + .quad 0x32dc3074a0c1c67d, 0x332acd43894c1f06 + .quad 0x32d6396af97c5f7f, 0x33252428954b7c2f + .quad 0x32d184f669e7e645, 0x3320ac95a364b406 + .quad 0x32cb9e1f37f768c9, 0x331a4c779750fb77 + .quad 0x32c5c4033ae88d94, 0x3314bc9e91b546a8 + .quad 0x32c126ceaa621095, 0x33105963d1a5105b + .quad 0x32bb072a84d6770b, 0x3309c6d5a387a6d7 + .quad 0x32b54b0d08180ac6, 0x33045157f4a2e598 + .quad 0x32b0c5eb30658611, 0x3300034f87652744 + .quad 0x32aa6c038fdf5aed, 0x32f93cc0a254a9f5 + .quad 0x32a4cedf419a9b38, 0x32f3e2a3c60327aa + .quad 0x32a062912bcc23f9, 0x32ef552fb3e1c70b + .quad 0x3299cd187cff951c, 0x32e8ae9d3a6eb66f + .quad 0x32944fd186d008c2, 0x32e370d2466d3327 + .quad 0x328ffa0c91caab55, 0x32de9ef97aa04b46 + .quad 0x32892ad80b12a09b, 0x32d81cd14bd535bb + .quad 0x3283ce3bd0683046, 0x32d2fc348f3a8121 + .quad 0x327f2b20c0b002ab, 0x32cde47d70b3398c + .quad 0x327885b1157e885c, 0x32c787c377ac34cd + .quad 0x32734a760cc47aca, 0x32c2851c338b22e4 + .quad 0x326e58ea51580bad, 0x32bd263d33512bb6 + .quad 0x3267de1218b19542, 0x32b6efdaa9c0e45e + .quad 0x3262c4d7bed4d522, 0x32b20bdae2cd61c6 + .quad 0x325d83f3d3e6d150, 0x32ac64ba5bdb46de + .quad 0x32573468ba3c29b8, 0x32a6557da47246f7 + .quad 0x32523db7a001a935, 0x32a190c20d5b5808 + .quad 0x324cacc668087b83, 0x329ba075f0192b60 + .quad 0x324689215536317f, 0x3295b9128fb09361 + .quad 0x3241b56b45aac06f, 0x329114228bb99133 + .quad 0x323bd3e92f58e3ae, 0x328ad9efd6e7e350 + .quad 0x3235dca68b92a62f, 0x32851afe8bbb6b6c + .quad 0x32312c46cab86e91, 0x3280964c48f92b05 + .quad 0x322af9e0c680145a, 0x327a11a652260d00 + .quad 0x32252f60dcf5b390, 0x32747ba5483b6e8f + .quad 0x3220a29c7db10f70, 0x3270178df0b67157 + .quad 0x321a1f2ec5b27de2, 0x326948157e97fbd7 + .quad 0x321481b643932bec, 0x3263db68a0470a4f + .quad 0x321018bc93b8e2e5, 0x325f306942454ae6 + .quad 0x3209445149305037, 0x32587db6da6dd3ca + .quad 0x3203d409d78b6819, 0x32533aa83bd4deab + .quad 0x31ff1de9c1ab95aa, 0x324e311742f9561b + .quad 0x31f869c2824b4b6b, 0x3247b300d303ed2c + .quad 0x31f326bb792c8c5b, 0x324299c1370fc2d1 + .quad 0x31ee0b212b870715, 0x323d31b83aa1a53b + .quad 0x31e78ff85165ac91, 0x3236e8665a634aff + .quad 0x31e27a27826da7a5, 0x3231f90dcff1976e + .quad 0x31dcf9b0072f8176, 0x322c32d9c998168a + .quad 0x31d6b763e947db08, 0x32261e5684f4d137 + .quad 0x31d1cea67fe8699c, 0x322158e51a7ac97e + .quad 0x31cbea20cad09b1f, 0x321b350464c51c99 + .quad 0x31c5e0717c155a1c, 0x3215553c2fc66728 + .quad 0x31c1248cf18568a2, 0x3210b99abbccdbb1 + .quad 0x31badcf760300963, 0x320a38baebfb68e4 + .quad 0x31b50b87f214792d, 0x32048d7dafad7ffe + .quad 0x31b07c2b12fe4dba, 0x32001b7eac5ea688 + .quad 0x31a9d2b0d0c4a0b1, 0x31f93e7a4bb07430 + .quad 0x31a43908aa677d25, 0x31f3c77c897ed254 + .quad 0x319fab995891c153, 0x31eefdba02e2ceff + .quad 0x3198cbc2fe600108, 0x31e846b92a47c343 + .quad 0x3193694f45c1b92f, 0x31e30395337f89bb + .quad 0x318e6371d3dc0233, 0x31ddc7fb7bbca8ad + .quad 0x3187c89c6867890e, 0x31d751e7a10e8264 + .quad 0x31829cb17b0f706b, 0x31d2421ee0211f87 + .quad 0x317d20647a807a0c, 0x31cc9649548abac7 + .quad 0x3176c9a3fd812077, 0x31c6606f00ed6d5d + .quad 0x3171d37ef5f490cd, 0x31c1836b52067807 + .quad 0x316be2ec88ae1479, 0x31bb6922692e74d4 + .quad 0x3165cf38f9818abf, 0x31b572b1a2c0293a + .quad 0x31610e013ef486f7, 0x31b0c7c6b93f06a1 + .quad 0x315aab7b734b99f6, 0x31aa40fcadcdd133 + .quad 0x3154d9b2cf546b09, 0x31a4890ac32b69b5 + .quad 0x31504c7bad04b57c, 0x31a00f779993bbc1 + .quad 0x31497a78d5f1c6db, 0x31991e450ac30542 + .quad 0x3143e9611e821800, 0x3193a3ce69b6a143 + .quad 0x313f1e56c0773bb7, 0x318eb57d7362f984 + .quad 0x313850426f2df55d, 0x3188015f467ddd40 + .quad 0x3132fe8bb3e4f4d8, 0x3182c3495adab7d8 + .quad 0x312dac8e8a813f1f, 0x317d53ae35dbfa26 + .quad 0x31272d2c2a7422ab, 0x3176eaa5fce4af3a + .quad 0x31221972950f570d, 0x3171e7c114a57a33 + .quad 0x311c44004226dc17, 0x316bf9ebf2ac34cf + .quad 0x3116118037139874, 0x3165da6aa3adb7a3 + .quad 0x31113a4e15d42467, 0x31611173d5813f4d + .quad 0x310ae501496e23f2, 0x315aa895a750e0f6 + .quad 0x3104fd7f2b705e64, 0x3154d0f59b16ac32 + .quad 0x3100614ef7575b09, 0x31504098aca1b898 + .quad 0x30f98fdb1084fd1c, 0x31495ffef5a788b3 + .quad 0x30f3f16033b4da17, 0x3143ce864a4f75bb + .quad 0x30ef1d3d20014dd3, 0x313eeabf27142ccb + .quad 0x30e844cb59a101a9, 0x31382070510e6e91 + .quad 0x30e2ed514b22b68b, 0x3132d35346de60f3 + .quad 0x30dd84bdf7421499, 0x312d5fe3202b4d44 + .quad 0x30d7040489842ad7, 0x3126ea2738b3dbeb + .quad 0x30d1f1777f205012, 0x3121df8a8637ba9c + .quad 0x30cbf956a62adf73, 0x311be0e1bcc5bf2b + .quad 0x30c5cdae0381ff94, 0x3115bd567e120a1c + .quad 0x30c0fdef3b187063, 0x3110f35198b8b7f7 + .quad 0x30ba7b2fd5556b6a, 0x310a6df243f2c6f4 + .quad 0x30b4a1e48fd99b8e, 0x31049a26968a8fd1 + .quad 0x30b012cc9c3d142a, 0x31000ec5ed2dbe3e + .quad 0x30a90a652d08b6ec, 0x30f9073f3afbdfeb + .quad 0x30a380bacb3471d9, 0x30f380b5f70c487d + .quad 0x309e603798765b0a, 0x30ee63fa380d130b + .quad 0x3097a705e88ab4c8, 0x30e7ace6e086aab7 + .quad 0x30926a399e180e7c, 0x30e2711978a97cf7 + .quad 0x308cabc2c3d98d7c, 0x30dcba0a72ae9c08 + .quad 0x308651157275ac6f, 0x30d65efbb20adf2d + .quad 0x30815e60bb1a2bac, 0x30d16b5cc5019368 + .quad 0x307b08358e30e1b1, 0x30cb1fca598944c3 + .quad 0x3075088c08941b89, 0x30c51d84fa353951 + .quad 0x30705d2722aa0abe, 0x30c06f82c9619b90 + .quad 0x3069757d44a0d5d1, 0x30b9953a1cf16aad + .quad 0x3063cd5765cc7b51, 0x30b3e87f66d27bb0 + .quad 0x305eccf7568ff3af, 0x30aefb0c5f0312cd + .quad 0x3057f37a88128933, 0x30a81a4d1085cfd1 + .quad 0x30529f5b70afae6e, 0x30a2bfdda4e2b20c + .quad 0x304cf48b1a182cb9, 0x309d2ab3b59164a6 + .quad 0x304682022c0d8296, 0x3096aeea740e7e26 + .quad 0x30417e72ed48d1c2, 0x3091a389017ca93c + .quad 0x303b30c9decefa86, 0x308b6dd2d215fccf + .quad 0x303520de188c8ff4, 0x308552ee415230cd + .quad 0x30306a7030db71fb, 0x308093620e33d9f9 + .quad 0x30298166f02e00aa, 0x3079c4336b720df7 + .quad 0x3023cfce2d301755, 0x30740629fd47fda6 + .quad 0x301ec63bac9af50a, 0x306f1e828f7f1e6e + .quad 0x3017e609b497d4bf, 0x30682d92bd0fbc5b + .quad 0x30128e89244647b5, 0x3062c8658b1c7fab + .quad 0x300cd07ee41894f6, 0x305d2def7b6139fb + .quad 0x30065e4eca3c47ce, 0x3056a9a29142865a + .quad 0x30015cbd7439af48, 0x3051995fff959855 + .quad 0x2ffaf324889fe32e, 0x304b549f742691f7 + .quad 0x2ff4e9c920d5db05, 0x3045380a4af4c2e9 + .quad 0x2ff03a122e1077b7, 0x304078d07375b0b0 + .quad 0x2fe92d9bd168c630, 0x3039921acfd99f39 + .quad 0x2fe388030ea8589c, 0x3033d867ecfb60a5 + .quad 0x2fde4c4faf832008, 0x302ecccda72dba49 + .quad 0x2fd77f4a046c515e, 0x3027e5deef2de87b + .quad 0x2fd2387f5f4b712e, 0x30228a511d87ce7d + .quad 0x2fcc413282821079, 0x301cc3995b1e2c40 + .quad 0x2fc5e78bc56d0fbb, 0x30164f5f80200f46 + .quad 0x2fc0faba5af01355, 0x30114d5424501d7e + .quad 0x2fba51f8a6830159, 0x300ad54bef9112d0 + .quad 0x2fb465b65a83bdbb, 0x3004ce07b8d50856 + .quad 0x2faf9c5589e7201f, 0x300020f8e226943e + .quad 0x2fa87dc5ad8af9ec, 0x2ff90123a8271991 + .quad 0x2fa2f918e4d3f95c, 0x2ff3613b89391a8f + .quad 0x2f9d6485a170413a, 0x2fee098381b76cd3 + .quad 0x2f96c3b66970be3d, 0x2fe7465697a54c64 + .quad 0x2f91a0fd8c3a4e6f, 0x2fe20858c20a1795 + .quad 0x2f8b4ce217bd5e55, 0x2fdbf05934cfa1cc + .quad 0x2f8522e259c7017a, 0x2fd5a41409f84e49 + .quad 0x2f805caa9cf257c4, 0x2fd0c2b83023243d + .quad 0x2f7954427a430b11, 0x2fc9f5672cf62a4f + .quad 0x2f739a5d07601e71, 0x2fc41985de8f7a14 + .quad 0x2f6e56c72cc01fcc, 0x2fbf1f5d5615d783 + .quad 0x2f67797a6e64ddc9, 0x2fb8179bfb69c631 + .quad 0x2f6229374c838060, 0x2fb2a5d1d1f1ae5c + .quad 0x2f5c18d454a503ae, 0x2facdd1c2bddbb9e + .quad 0x2f55bb5b3e414ad3, 0x2fa655e203c78ad0 + .quad 0x2f50ce808921de57, 0x2fa1481ab5a1469a + .quad 0x2f49fdfe587f056a, 0x2f9abd4ca4bd8884 + .quad 0x2f4418b54bd6a895, 0x2f94af20f59f283d + .quad 0x2f3f128f851039d9, 0x2f8fff032b2dbde7 + .quad 0x2f3804c6e03f60cb, 0x2f88be8c488684b4 + .quad 0x2f3290596a08a94f, 0x2f83223f2e5be0f0 + .quad 0x2f2cb1395c8187f6, 0x2f7d964d959533d1 + .quad 0x2f262bb1316ec5fc, 0x2f76df780d5ecc43 + .quad 0x2f21211a1b47d3ae, 0x2f71ae2302fd4bcd + .quad 0x2f1a772150026811, 0x2f6b5455f4e2ce45 + .quad 0x2f147143aa78b5fe, 0x2f651eade2a24279 + .quad 0x2f0f93996ba5e93d, 0x2f6051b3f15282e5 + .quad 0x2f08626f2553e204, 0x2f593760037df87a + .quad 0x2f02d4091cd12adc, 0x2f537ace1ccc1a8d + .quad 0x2efd1294db79df79, 0x2f4e17b7713cf17f + .quad 0x2ef6715149108678, 0x2f473db39c4b278b + .quad 0x2ef1529206516167, 0x2f41f27cc2724f90 + .quad 0x2eeabce28a1f17f2, 0x2f3bb70eb3792a1c + .quad 0x2ee4a1fe3e55f964, 0x2f35659e4463ddd1 + .quad 0x2edfd6eb54be7326, 0x2f308462ba9624db + .quad 0x2ed89049c51b8388, 0x2f297f4ffe1284a1 + .quad 0x2ed2f2b5e6789756, 0x2f23ad748e88c53f + .quad 0x2ecd3aa617478594, 0x2f1e5e5db98318a5 + .quad 0x2ec68a9e9f7b2f9a, 0x2f176e6798f53e9a + .quad 0x2ec161c2a1de488e, 0x2f121393590da64b + .quad 0x2ebacda38e82463b, 0x2f0be32dc731f12c + .quad 0x2eb4a9c33e05809a, 0x2f05824d30f3fce1 + .quad 0x2eafdaf4969fc450, 0x2f009660e736b8bd + .quad 0x2ea88d45a53c41c5, 0x2ef994b0856743cb + .quad 0x2ea2eba8f55fe897, 0x2ef3b9051c5e7679 + .quad 0x2e9d287e1e77c85a, 0x2eee689bae600601 + .quad 0x2e96770239fc87e6, 0x2ee77071c1633b26 + .quad 0x2e914e513c1b20dc, 0x2ee210a174166fcd + .quad 0x2e8aa90041143186, 0x2edbd7abebe480e6 + .quad 0x2e8488642c71cfa6, 0x2ed5740f6d4ed277 + .quad 0x2e7f9f9ce5a157bb, 0x2ed0874302ee34fd + .quad 0x2e785974997b931f, 0x2ec97701e51a6bfe + .quad 0x2e72bf0c37efc00b, 0x2ec39d3aac239fe2 + .quad 0x2e6cdc89092e43c3, 0x2ebe36341a88ea0c + .quad 0x2e6636f0e2785c54, 0x2eb743c5e4db43f9 + .quad 0x2e6118b19def65f8, 0x2eb1e9b8ad36fd99 + .quad 0x2e5a4fd2c459c710, 0x2eab94cde5e4fc30 + .quad 0x2e543ea7a73d5cf0, 0x2ea53b3a109a94ae + .quad 0x2e4f26454740b953, 0x2ea057635a1ed1df + .quad 0x2e47f60ab495565c, 0x2e9926f55b776f91 + .quad 0x2e426de8be09d876, 0x2e935abb1f1cadef + .quad 0x2e3c5889cb51dbb9, 0x2e8dc853b381e5a0 + .quad 0x2e35cbe6a335189c, 0x2e86e96e5d005f5d + .quad 0x2e30c22190c33c65, 0x2e819fc0dba0e848 + .quad 0x2e29c42b0a7816ac, 0x2e7b1c21d6e11086 + .quad 0x2e23ce41b9a97542, 0x2e74d91f3701143c + .quad 0x2e1e71ba6efe048b, 0x2e7007de792cfd6e + .quad 0x2e176552635a3b27, 0x2e68a6663a0ececb + .quad 0x2e11fa1c7f04e719, 0x2e62f310e41037d6 + .quad 0x2e0b9f88d1e59fb3, 0x2e5d2185735c5ad9 + .quad 0x2e0538582347c59e, 0x2e566381bdd98a02 + .quad 0x2e004c9ca3c242ad, 0x2e51346f1ba5a69a + .quad 0x2df9093a8968bba5, 0x2e4a706fd9470fb8 + .quad 0x2df339c31e0d51b7, 0x2e445000f1eec014 + .quad 0x2ded8619415342d3, 0x2e3f3510620184ea + .quad 0x2de6aa95f63dd017, 0x2e37f84791f6fdbb + .quad 0x2de16648113f6ec6, 0x2e32689bc620188b + .quad 0x2ddab5b65b277be7, 0x2e2c45998d7521ae + .quad 0x2dd47f9aad3382fe, 0x2e25b50e4b7d6356 + .quad 0x2dcf7591b1b1c875, 0x2e20aa3508d5db00 + .quad 0x2dc82335294ba260, 0x2e19959eb6f64db6 + .quad 0x2dc2848053b7dfb1, 0x2e13a2fb2a16d1cc + .quad 0x2dbc68a6f5a8ef62, 0x2e0e23b370697cbb + .quad 0x2db5c9ffcce7e5fd, 0x2e0720876851d9fb + .quad 0x2db0b5b54d487d35, 0x2e01be79c992aff6 + .quad 0x2da9a0421e5c5d71, 0x2dfb3980569c43a5 + .quad 0x2da3a5c4268d4e27, 0x2df4e1fc4f822568 + .quad 0x2d9e1fba80d34a41, 0x2df0042910b94342 + .quad 0x2d97172912ec21f8, 0x2de8908e30f7a1b3 + .quad 0x2d91b271db151968, 0x2de2d5e5a1b8288e + .quad 0x2d8b1f9ef2d6b135, 0x2ddce1b3b9ea6267 + .quad 0x2d84c872d1af92bc, 0x2dd623e8fb994f23 + .quad 0x2d7fd87064e02a6f, 0x2dd0f8695160ca38 + .quad 0x2d78652a61cdcd3b, 0x2dca031b186be289 + .quad 0x2d72af84a660968d, 0x2dc3eee8e04dc3a0 + .quad 0x2d6c9f07af149226, 0x2dbe8bd23cc416f0 + .quad 0x2d65eacf76fffc0c, 0x2db766e8d5583265 + .quad 0x2d60c80f3efbbf3f, 0x2db1ed2fab014c43 + .quad 0x2d59b1f8ffd8f3c8, 0x2dab76010ebb6c6a + .quad 0x2d53ab5d5023fe4a, 0x2da507d813502ab7 + .quad 0x2d4e1c174ea2aaa6, 0x2da01aa61c90eacc + .quad 0x2d470b05029068da, 0x2d98a90544ab274d + .quad 0x2d41a1fba21de5f0, 0x2d92e0fb0911dd84 + .quad 0x2d3afb70654af059, 0x2d8ce6f24739f7c7 + .quad 0x2d34a458b53b2a84, 0x2d861eefc532711f + .quad 0x2d2f944d95c81983, 0x2d80edb77098a960 + .quad 0x2d28272ab43f7156, 0x2d79e82e04d9025f + .quad 0x2d2278886c5a4d73, 0x2d73d237a2e0f859 + .quad 0x2d1c3f57b512a1f2, 0x2d6e5385c7d0efe0 + .quad 0x2d1598c52c5d1746, 0x2d673258d0b919eb + .quad 0x2d10828ad1da0983, 0x2d61bdb57d01cecc + .quad 0x2d093d4935512f54, 0x2d5b223e5e67d24a + .quad 0x2d034a3670d3cd59, 0x2d54bf43098a2ef1 + .quad 0x2cfd7b67cefff216, 0x2d4fb93db1e39a21 + .quad 0x2cf686e7356020d2, 0x2d48402d3eada60a + .quad 0x2cf135e695d6d4f8, 0x2d42892e31597360 + .quad 0x2cea4b6028e1ae52, 0x2d3c5502f868f04b + .quad 0x2ce415808da66669, 0x2d35a670a5d83e0e + .quad 0x2cdead51e60a821d, 0x2d308ac71830fd4e + .quad 0x2cd76cfe88ffbfa7, 0x2d29467d9d3bce7d + .quad 0x2cd1e2e61d740a91, 0x2d234ea92731d6f0 + .quad 0x2ccb4f6c22875415, 0x2d1d7e402cf49a21 + .quad 0x2cc4d8e03e448998, 0x2d16860e96265ba8 + .quad 0x2cbfd2c6816f010b, 0x2d1132f279000564 + .quad 0x2cb8494b75728df1, 0x2d0a4356bd52863e + .quad 0x2cb28836b62851b4, 0x2d040cac092d16a6 + .quad 0x2cac476ceb4ce0a6, 0x2cfe9bb8c8c45eaa + .quad 0x2ca592d26553a529, 0x2cf75c6ad9777c96 + .quad 0x2ca074be65f60432, 0x2cf1d3d889242361 + .quad 0x2c991a14719373e5, 0x2ceb34c7bf3e0108 + .quad 0x2c93248b33f78dd9, 0x2ce4c1bf325b5886 + .quad 0x2c8d316bfa6ecf07, 0x2cdfab351a6d7271 + .quad 0x2c8641dc398561ef, 0x2cd827d8b273a859 + .quad 0x2c80f79d08c027e2, 0x2cd26c35a8453a6e + .quad 0x2c79ddabce45ff88, 0x2ccc18e854f7a653 + .quad 0x2c73b6a0443345f1, 0x2cc56c727238c10e + .quad 0x2c6e0b830517633f, 0x2cc05545196af9e3 + .quad 0x2c66e4903f595976, 0x2cb8e6b62ae03487 + .quad 0x2c6170eca4e7a4ca, 0x2cb2facf384d3a3b + .quad 0x2c5a92756c27d93a, 0x2caceddf1e753b81 + .quad 0x2c543d40bf74392d, 0x2ca60b61e0028436 + .quad 0x2c4ed3e286c4c0de, 0x2ca0cbd09b1e5e10 + .quad 0x2c477993389df313, 0x2c9997719e8b73a8 + .quad 0x2c41dfa945eaae99, 0x2c937e77cf85ca37 + .quad 0x2c3b36ec5aa05880, 0x2c8db1e802a6c81f + .quad 0x2c34b749e64b35f5, 0x2c869d3aa6fccfd9 + .quad 0x2c2f88d823260c9e, 0x2c81383f4dd09079 + .quad 0x2c27ffa0f1fabb65, 0x2c7a388f33976b7b + .quad 0x2c2242e12375b352, 0x2c73f613589599c6 + .quad 0x2c1bc9a844ffd2b5, 0x2c6e635a66e3ebe7 + .quad 0x2c1523af73f84783, 0x2c6720bfb4a981d7 + .quad 0x2c10146a610e0588, 0x2c6199a49bcc5100 + .quad 0x2c087590d6d36008, 0x2c5ac8ae259e160c + .quad 0x2c0299b80ea6bb7f, 0x2c54609b0c4183ca + .quad 0x2bfc496292aa266b, 0x2c4f00af26520f9d + .quad 0x2bf5817f72c95e4c, 0x2c4794ce31e24c7b + .quad 0x2bf059392396d038, 0x2c41ef2877dbfcad + .quad 0x2be8da5a346cbb3f, 0x2c3b468dc95cb829 + .quad 0x2be2e36a9eb80d32, 0x2c34bd213115ac94 + .quad 0x2bdcb4fb203e18a0, 0x2c2f88862b544527 + .quad 0x2bd5cfe5be9615c7, 0x2c27f861b04cbe3a + .quad 0x2bd0923c6394f695, 0x2c22380a7a548a2f + .quad 0x2bc92d18166ccd51, 0x2c1bb1122f6e5762 + .quad 0x2bc31f510cb3f507, 0x2c150ad48dd9b3a6 + .quad 0x2bbd0b7c794af438, 0x2c0ff9ab8e5d6631 + .quad 0x2bb60e2f23228ded, 0x2c084a97f6b3e853 + .quad 0x2bb0bef1906dac58, 0x2c0273a4b16ba84f + .quad 0x2ba96d0ca88e4fc0, 0x2bfc07484e1da469 + .quad 0x2ba34ce1af3c1b60, 0x2bf549037ceef1fe + .quad 0x2b9d4c1f7c67dd18, 0x2bf0298e0fc06037 + .quad 0x2b963bcc0600e3b1, 0x2be88ab45875f419 + .quad 0x2b90def17046c37e, 0x2be2a16e161fa35f + .quad 0x2b8999a40ba75f42, 0x2bdc48699c75f345 + .quad 0x2b836bb3093bcf7f, 0x2bd5771e906a9978 + .quad 0x2b7d764e5657aa20, 0x2bd04a04a1699caa + .quad 0x2b7658528dc53bd5, 0x2bc8b822865b44e6 + .quad 0x2b70f1f1acd583c0, 0x2bc2c0fc98ac934c + .quad 0x2b69b2768ee2e280, 0x2bbc73df0b6d4334 + .quad 0x2b637b7d60833afb, 0x2bb594bab8ddacb1 + .quad 0x2b5d89a6c43f4c10, 0x2bb05dee05833b3c + .quad 0x2b5663803afd90e2, 0x2ba8d278c9cbfc58 + .quad 0x2b50f7c5f2e42650, 0x2ba2d206b997c2cc + .quad 0x2b49b74a41343d69, 0x2b9c89434d36542f + .quad 0x2b437c1bd3bb9cfe, 0x2b95a192e33cf627 + .quad 0x2b3d85fb90bdf218, 0x2b90651bc0c61b20 + .quad 0x2b365d3aea4b609e, 0x2b88d9799e5f2521 + .quad 0x2b30f0609e7aa674, 0x2b82d464a6b30dc2 + .quad 0x2b29a813d2878f74, 0x2b7c88645e6c88ee + .quad 0x2b236d8ce9d2217b, 0x2b759d89052b0525 + .quad 0x2b1d6b5543d3c940, 0x2b705f7d07f3fb02 + .quad 0x2b1645913a262a36, 0x2b68cd14a1185c8d + .quad 0x2b10dbd2f003b6a5, 0x2b62c810d60e767e + .quad 0x2b0984f6bfe67780, 0x2b5c714448c370a6 + .quad 0x2b034ff297cd534d, 0x2b5588a691f2cd1f + .quad 0x2afd39f201da2255, 0x2b504d1f01416963 + .quad 0x2af61cba521cabb4, 0x2b48ad66d03eba59 + .quad 0x2af0ba4cc94c45b3, 0x2b42ad281b8cc2a0 + .quad 0x2ae94e44c9a075e7, 0x2b3c44191b160ec2 + .quad 0x2ae32391bcecdc03, 0x2b35631c55b5d22c + .quad 0x2adcf2449a3fda4b, 0x2b302e2c911c7929 + .quad 0x2ad5e3150cc8eda4, 0x2b287aba1a7120bf + .quad 0x2ad08c1bf3c985fa, 0x2b2283e938a586f7 + .quad 0x2ac9047cb663bb8c, 0x2b1c014c17012593 + .quad 0x2ac2e8d117dfdd44, 0x2b152d41b7968429 + .quad 0x2abc94f2cb2815a8, 0x2b1002edb3674f27 + .quad 0x2ab599268900e7bc, 0x2b0835843f5f0b0c + .quad 0x2ab051aaf415041d, 0x2b024cb3e8b7d756 + .quad 0x2aa8a84869fc8267, 0x2afba9781881c8a9 + .quad 0x2aa2a037bab743e1, 0x2af4e79366e7a470 + .quad 0x2a9c22d2c350e306, 0x2aef978cc962d426 + .quad 0x2a953f982a03a248, 0x2ae7de65083f0e21 + .quad 0x2a900b7f70f68972, 0x2ae208076f18ea30 + .quad 0x2a883a7a5a0b9d4d, 0x2adb3d6740403453 + .quad 0x2a824a6b05eb3eda, 0x2ad492b17a8d9ad4 + .quad 0x2a7b9ce7efad864c, 0x2acf126a42ab2a64 + .quad 0x2a74d7351162fad8, 0x2ac77623e1a3ca2f + .quad 0x2a6f74706d1f613c, 0x2ac1b680aeae0c3c + .quad 0x2a67bc0a6e57fbc5, 0x2ababe0fed214bca + .quad 0x2a61e82c35430e3d, 0x2ab42f5d0cb0afeb + .quad 0x2a5b045f25c98b4b, 0x2aae77a20528f8f5 + .quad 0x2a5460e7202036c7, 0x2aa6fdace394b03c + .quad 0x2a4ebd15c07c2acd, 0x2aa158d7d54f1681 + .quad 0x2a472e125d540295, 0x2a9a2c9115542385 + .quad 0x2a417a558b9c184f, 0x2a93be755f8b210c + .quad 0x2a3a5a8a3f3de092, 0x2a8dc88f077bd369 + .quad 0x2a33ddb38ecb5b52, 0x2a86760d57bb9982 + .quad 0x2a2df2826b036578, 0x2a80efdda755dbb3 + .quad 0x2a2691c997f37f0e, 0x2a798a2e123c782e + .quad 0x2a2101d72c627ff7, 0x2a7340f49a722110 + .quad 0x2a19a0db3d2b8dac, 0x2a6d06b3f65f6fd0 + .quad 0x2a134eb72e63e592, 0x2a65e06fcff790f4 + .quad 0x2a0d166c8f34fca4, 0x2a607c787991a680 + .quad 0x2a05e880d9f1fe43, 0x2a58d849f54265f7 + .quad 0x2a007fb3b2ff1602, 0x2a52b7ec30262d2b + .quad 0x29f8d8df0cbffd52, 0x2a4c33b5a8ad639f + .quad 0x29f2b52265317648, 0x2a453e17e1a8afad + .quad 0x29ec2aa6bd34f17b, 0x2a3fff41d2913dab + .quad 0x29e5339d751ff2a1, 0x2a3818627da2e9e4 + .quad 0x29dfe9f93308c405, 0x2a32248100f21115 + .quad 0x29d80438073219de, 0x2a2b515531d535eb + .quad 0x29d21234fbc4a127, 0x2a24905d9b84e0cb + .quad 0x29cb31198aa5f8ab, 0x2a1ef4bcc5f71a72 + .quad 0x29c474946f304456, 0x2a174c0ac8d03b2b + .quad 0x29bec59d00f3fe38, 0x2a1187e74c209a91 + .quad 0x29b7249848679fa9, 0x2a0a6169b09c4411 + .quad 0x29b16739cec78bd4, 0x2a03d8a8ccb26cd9 + .quad 0x29aa2bbd0795adee, 0x29fddb87127c2076 + .quad 0x29a3ace589cd3352, 0x29f674e5d7be735c + .quad 0x299d949ad392f075, 0x29f0e35e84d33d3f + .quad 0x29963bbbf78651cc, 0x29e965d9f895d99c + .quad 0x2990b5827a3ba382, 0x29e3186c34406960 + .quad 0x29891c922f9ee4c0, 0x29dcb5d51a48d7d4 + .quad 0x2982de164c74e725, 0x29d594a1039f0199 + .quad 0x297c5941f108d9d1, 0x29d0382d1e479246 + .quad 0x29754b639c219649, 0x29c8609634a384cc + .quad 0x296ffcc62473097a, 0x29c25120afe02122 + .quad 0x2968059c757355ae, 0x29bb85e31314f4b4 + .quad 0x296209ad26ca18d9, 0x29b4acee7c0fcbaf + .quad 0x295b15e18d0d2d12, 0x29af0f38c6449ad9 + .quad 0x2954554e9983b016, 0x29a753919ff4b182 + .quad 0x294e865bf893f8f4, 0x29a1844080030d76 + .quad 0x2946e8db855aac9a, 0x299a4dede3a3eb93 + .quad 0x2941312cc0ae5d04, 0x2993bf7fe7aa33a0 + .quad 0x2939ccc1bfbf7ecb, 0x298da5e8d4d639ed + .quad 0x29335b35e7d0088e, 0x298640bc7176cda7 + .quad 0x292d0a5ff60b92cf, 0x2980b342b640cc13 + .quad 0x2925c84558f35d95, 0x2979102c47629cb9 + .quad 0x2920560f8bafb2c7, 0x2972ce013e375d0f + .quad 0x2918801ce509ea26, 0x296c36f07720a932 + .quad 0x29125ec7207b3c64, 0x296529fe13854ed9 + .quad 0x290b8b58f7c67c36, 0x295fbf2dc269c35d + .quad 0x2904a5c0b3b7424d, 0x2957cec854a40ddc + .quad 0x28fef3874e46141b, 0x2951da13f1aaaee6 + .quad 0x28f732197e24d857, 0x294ac4c46230c45c + .quad 0x28f1619ff0ea7ec6, 0x2944112fbeff8a1f + .quad 0x28ea0bb46a0a2c53, 0x293e15420dda8758 + .quad 0x28e383201c8ba71a, 0x29368bd97eb5b05d + .quad 0x28dd3b4e4b894768, 0x2930e54a78756b6b + .quad 0x28d5e4c4aaef0130, 0x292951c14f527745 + .quad 0x28d0654a030d3e70, 0x2922f8178dd14a04 + .quad 0x28c88dc03d1ca801, 0x291c6b6bf9361ee4 + .quad 0x28c2621d65152a67, 0x2915495f2949c65e + .quad 0x28bb860981f4834a, 0x290fe24891c8ca0c + .quad 0x28b49a0d4c97c281, 0x2907e02609a87253 + .quad 0x28aed66ed1143993, 0x2901e064158c947b + .quad 0x28a713a5a10cc9b0, 0x28fac4304f253262 + .quad 0x28a14455cbbff469, 0x28f4093bdea6e36f + .quad 0x2899d62205df47a6, 0x28edfe14a435c3c2 + .quad 0x289353bfdeb15aa4, 0x28e6720e3d624fdc + .quad 0x288ce97f23783a55, 0x28e0cba8970a9d66 + .quad 0x28859f649793ea9a, 0x28d921e961b81171 + .quad 0x28802b46c188f22d, 0x28d2cd3135c626d1 + .quad 0x28782dcfdba2d59c, 0x28cc2097f7f7c953 + .quad 0x287213830f44d648, 0x28c5096e15b063db + .quad 0x286b0639acae41c7, 0x28bf76b39886a20d + .quad 0x286432d063e4cc5a, 0x28b786c2636e4e2a + .quad 0x285e3096b161ade1, 0x28b196dc712e8651 + .quad 0x28568f1646f450cc, 0x28aa4c39680abb0b + .quad 0x2850dad51a121c5f, 0x28a3a80eb1934625 + .quad 0x28492ed52465cf13, 0x289d6196b3830612 + .quad 0x2842cf8cdb32b26d, 0x2895f4b3b930a91a + .quad 0x283c1934bb7035c1, 0x289067b3db09279e + .quad 0x2834fbc11c19c0b7, 0x2888832413bcb6f5 + .quad 0x282f5613cdc1ad52, 0x28824f8b72bbd6ee + .quad 0x28276547ab0f816a, 0x287b5a5bcacf14dd + .quad 0x2821770c93ef3136, 0x28746d8046ba690c + .quad 0x281a128a30d837eb, 0x286e8209bd7c6d4d + .quad 0x281375630e92b790, 0x2866c744b66f6406 + .quad 0x280d0a93cd8add1e, 0x2861015024fefc8d + .quad 0x2805ab4549d6cf15, 0x2859631ba1694964 + .quad 0x28002a8fed4a1944, 0x2852f2b3b1ae197d + .quad 0x27f81e6d5efc2ece, 0x284c47e5b8f9de0c + .quad 0x27f1fd54f3e20bfc, 0x28451a481761d265 + .quad 0x27ead523512d80ae, 0x283f7d2ff106229c + .quad 0x27e4023f854f9c86, 0x28377da522f79ec5 + .quad 0x27ddd649c8fad0d5, 0x283185a192bd02b4 + .quad 0x27d63e684c4d4572, 0x282a22ed5ef67f83 + .quad 0x27d094b5ecc6e290, 0x28237d9a85948033 + .quad 0x27c8b7643330549e, 0x281d10da89b8212a + .quad 0x27c26b65f14cd4da, 0x2815ab7d4224f7e2 + .quad 0x27bb734f53e57228, 0x2810276587fa1c20 + .quad 0x27b473b9d1931175, 0x280814bdb918424d + .quad 0x27ae78d8c6e84fdd, 0x2801f2684f2af658 + .quad 0x27a6b2a2c93cd65a, 0x27fabf540fb4e1a1 + .quad 0x27a0e7a7b055d281, 0x27f3eddfeeed0dd2 + .quad 0x27992d87cacce695, 0x27edb1c82f79707d + .quad 0x2792bf57b6e0d98d, 0x27e61ea0b7eb4c3c + .quad 0x278bea4f9488e121, 0x27e0799f1fb897d8 + .quad 0x2784c7d8bf7bdc41, 0x27d889f21fdb1d69 + .quad 0x277eef6b8bfa9225, 0x27d245c20ba28a39 + .quad 0x277705ed2bbfd521, 0x27cb3598a0d59840 + .quad 0x277121f1b69882eb, 0x27c4418fde75923e + .quad 0x27697ec608197c79, 0x27be27e05b6c31f9 + .quad 0x2762f7b0edc74f1c, 0x27b671af7f5d8858 + .quad 0x275c380c41f75030, 0x27b0b3d4442eda68 + .quad 0x2754fd20f15083b3, 0x27a8db341e4d4306 + .quad 0x274f37ea8d01e9c5, 0x27a27e37e3bc73c9 + .quad 0x274736cebb19a201, 0x279b83a639f29a80 + .quad 0x2741428c012e2c57, 0x27947730acf38edc + .quad 0x2739a9ae80c06018, 0x278e710d5155d028 + .quad 0x27331371c2b63b80, 0x2786a331ab64b688 + .quad 0x272c5b240b14f4d6, 0x2780d4fd25f7f52e + .quad 0x2725129ffd17a136, 0x27790712f4e38e37 + .quad 0x271f510ba62354a5, 0x27729ac951c1e60b + .quad 0x27174468acd1611c, 0x276ba819d5f14678 + .quad 0x271148e1d96c299e, 0x27648dce2dc3ecd5 + .quad 0x2709ad7d58aaba44, 0x275e8c0193d16d55 + .quad 0x2703121b71d77179, 0x2756b2456938b866 + .quad 0x26fc52f68dd90e64, 0x2750dc826696c76c + .quad 0x26f507f397188496, 0x27490cc63cdbf2a2 + .quad 0x26ef3a5bdf92c388, 0x27429af3c144f8c0 + .quad 0x26e72e7cbdbb95db, 0x273ba24cc0f4c8e2 + .quad 0x26e134d638b07143, 0x27348500e815d897 + .quad 0x26d98a2111174d79, 0x272e7841c45926d0 + .quad 0x26d2f3b409e1b7b6, 0x27269ea5b1b71301 + .quad 0x26cc1fa91a869695, 0x2720ca4195cda6d3 + .quad 0x26c4dd4c7d7ec9fa, 0x2718ec33daf13649 + .quad 0x26bef442d8796795, 0x27127eb66fea5e85 + .quad 0x26b6f56f0c0f22b9, 0x270b72598c77c448 + .quad 0x26b106c4a594a047, 0x27045cf12a60cb9a + .quad 0x26a9403b0e4bd1b9, 0x26fe36284e81b5ff + .quad 0x26a2b8c63e7468c1, 0x26f668ac570f2fc8 + .quad 0x269bc22598793379, 0x26f09e8e37ef2488 + .quad 0x2694936d06178106, 0x26e8a5f0c63b5c24 + .quad 0x268e7fffb3b16a7d, 0x26e2469273320bda + .quad 0x26869a431ed205a0, 0x26db191b44e70edf + .quad 0x2680bf7e7cce4d07, 0x26d41655d7606103 + .quad 0x2678d11ace4d8996, 0x26cdc6e2b76185d5 + .quad 0x2672625d4b960a47, 0x26c6114f58eab906 + .quad 0x266b3c139841a735, 0x26c05a2f4a403a4d + .quad 0x26642ba35d81be5c, 0x26b83b3c9af7ee45 + .quad 0x265ddf9fa6fc513a, 0x26b1f386e3013e68 + .quad 0x26561e943a26f542, 0x26aa9826f127d04d + .quad 0x26506044c28d2704, 0x26a3b26ef9596f74 + .quad 0x26483eb403668f94, 0x269d2c68adc24dd3 + .quad 0x2641f1fd15ed30fe, 0x26959a199b7c8167 + .quad 0x263a8fcbdc7eab51, 0x268ffcb2bfa5b8da + .quad 0x2633a7bfb4be9962, 0x2687adf828472cfd + .quad 0x262d15ee90987618, 0x2681870951a86a79 + .quad 0x2625848951944920, 0x2679f1bfa110cbba + .quad 0x261fd57d7b45b3ca, 0x267332fc55367264 + .quad 0x26178b8ffae32bf0, 0x266c696d39db75f3 + .quad 0x26116996dab0cd1e, 0x2665051f4ea04fdf + .quad 0x2609c046dcaa75a4, 0x265f194b2a4cb970 + .quad 0x26030a06c462f23e, 0x265700975cbb46aa + .quad 0x25fc2662350ce7fa, 0x265102fae0ec7794 + .quad 0x25f4cec5169fb931, 0x264928c588cfb6d9 + .quad 0x25eec1db7d8e44b5, 0x26429a3060c44f3a + .quad 0x25e6babae8929706, 0x263b814aa869e0e4 + .quad 0x25e0cb7ae5506e7e, 0x263454ee7edd0063 + .quad 0x25d8d106f7f4047e, 0x262e0e0b72e6ef2e + .quad 0x25d255213192c405, 0x2626360f251c2f1f + .quad 0x25cb1500fc71b69a, 0x2620699a6631f93f + .quad 0x25c40052c8ba04b4, 0x261840a0d97bb129 + .quad 0x25bd8a3d24511c07, 0x2611eaa023d58a69 + .quad 0x25b5cfadd7b97160, 0x260a77ea01d8b821 + .quad 0x25b01a47ddad3ea8, 0x26038c7c7057a652 + .quad 0x25a7c5ff3799c35b, 0x25fcdf6c504a93e5 + .quad 0x25a18c087e86a1f3, 0x25f551bff88c1175 + .quad 0x2599e64530b957f4, 0x25ef7ae8590bb800 + .quad 0x25931c908986e1a8, 0x25e73d293026bc2a + .quad 0x258c33b25da2082e, 0x25e12730a9790f69 + .quad 0x2584ce362055227e, 0x25d951a7082f394a + .quad 0x257eb1b0ae0a386a, 0x25d2af1081b22794 + .quad 0x2576a3779e1ff3b0, 0x25cb925bc48353e0 + .quad 0x2570b1f245435eea, 0x25c4575deb5305a2 + .quad 0x25689efddb97fd18, 0x25be029ff0fc8645 + .quad 0x256227180cb0a8ca, 0x25b6228a92a17423 + .quad 0x255ac39e8a7de062, 0x25b05302bb5e3a1a + .quad 0x2553ba5b5279aa24, 0x25a81331d3a2cc81 + .quad 0x254d145ea8ff6403, 0x25a1c02d69097c72 + .quad 0x25456df011e743b9, 0x259a2c1b0ae83a64 + .quad 0x253f94750d0f9308, 0x25934ad734ae6135 + .quad 0x2537442e7172840a, 0x258c703bfdc748cd + .quad 0x253123a683e9b9d5, 0x2584f5290291de6e + .quad 0x25293f94a8e393e5, 0x257ee2bb5a2a4470 + .quad 0x252298449094a080, 0x2576c16f34d9525e + .quad 0x251b62c8f87855a8, 0x2570c379a70923bc + .quad 0x25142a02f59d51ef, 0x2568b21b8919710f + .quad 0x250db09bb0ffb21f, 0x2562303a1b68b2de + .quad 0x2505daee76f997a8, 0x255ac9c706a79cfc + .quad 0x25001604a662bf4c, 0x2553b983b3f72fb5 + .quad 0x24f7ad33d50dacd0, 0x254d0b33fd9b6e85 + .quad 0x24f16c1e4c8c451a, 0x2545615904c6373a + .quad 0x24e9a32159dea0d8, 0x253f7950165d693d + .quad 0x24e2dc48781056c9, 0x253729dc070c926a + .quad 0x24dbbf2871addffb, 0x25310b9b38c6e833 + .quad 0x24d4684a4152d4e0, 0x2529154f9f73ee5f + .quad 0x24ce03df4eb2c204, 0x25227418ebfd96be + .quad 0x24c6120558a89b12, 0x251b26192fa2f36e + .quad 0x24c03a014bcb5352, 0x2513f7df7d25b3e6 + .quad 0x24b7db773a6f6623, 0x250d5ec232ba3385 + .quad 0x24b1893b9023690d, 0x250598c75ff21ea4 + .quad 0x24a9c6ba6a49465a, 0x24ffc1f9e46a53e2 + .quad 0x24a2f125d64e7642, 0x24f758c452444076 + .quad 0x249bd607b51aff83, 0x24f1294b791c6529 + .quad 0x2494735d5e25dd32, 0x24e939e692035be7 + .quad 0x248e0bb7795ebab2, 0x24e289cc9b3b4107 + .quad 0x248611962fb4b008, 0x24db3e5c199dc217 + .quad 0x248035217aa6e0ad, 0x24d40415be2c6028 + .quad 0x2477cd9c096da3b3, 0x24cd6871e2c76342 + .quad 0x24717a22cd2a508f, 0x24c599d2a64857ab + .quad 0x2469a95351e8c9f1, 0x24bfba952efabe51 + .quad 0x2462d63f329a8bcb, 0x24b74cc660d4897a + .quad 0x245ba6ba0cb47e2b, 0x24b11baa6a990cd8 + .quad 0x24544ae89d144108, 0x24a91ecc31adec4e + .quad 0x244dc7e8d1b8f556, 0x24a270b14a1f9816 + .quad 0x2445d9a42222275c, 0x249b11d883fd3ec1 + .quad 0x24400789e350bd1a, 0x2493ddca348b8e79 + .quad 0x2437840aaba80c98, 0x248d27f9dd765764 + .quad 0x24313f45ccd8c935, 0x24856472f42babf3 + .quad 0x24294bc9a9955f26, 0x247f6359d3980ea5 + .quad 0x24228c5f3eaf8edd, 0x2477063ccd1b83c6 + .quad 0x241b32a3c3e46a35, 0x2470e31f012ad2b3 + .quad 0x2413f01c91fe7f47, 0x2468c4cd2c02ec2d + .quad 0x240d3a718c61d154, 0x2462298481c2ca0d + .quad 0x24056bd3dd5a05c1, 0x245aa1de55237abc + .quad 0x23ff65222fadfc00, 0x2453861db33230b0 + .quad 0x23f700eb717cfb77, 0x244c9f401331dbf6 + .quad 0x23f0da5e12700c8d, 0x2444fa3a533642f6 + .quad 0x23e8b0da54d3c71f, 0x243ebed8656f1a7b + .quad 0x23e215aeed941b43, 0x2436873a105b43c2 + .quad 0x23da7d28bd609e50, 0x2430815216360470 + .quad 0x23d3659f3261d190, 0x24282e8d038330ca + .quad 0x23cc6770887b13f6, 0x2421b65bea6b7e6a + .quad 0x23c4cb570f463d9d, 0x2419f1b427ce89a2 + .quad 0x23be715dafe5cd60, 0x2412ff9fffd4f5f9 + .quad 0x23b6480ba9b1723c, 0x240bd241d06b6757 + .quad 0x23b04e575dd6f2eb, 0x24045e411382662b + .quad 0x23a7dcff6d521467, 0x23fdd1da1bc7ec85 + .quad 0x23a1759a98201ff3, 0x23f5d36e9f7af39c + .quad 0x23998b82586ccf2d, 0x23eff233639de02a + .quad 0x2392af6afc0ce651, 0x23e7606528b3cf28 + .quad 0x238b54f244df93df, 0x23e11a8b54a30c34 + .quad 0x2383fcc4e4385b18, 0x23d9066e8a3084ad + .quad 0x237d3abb2d5b9282, 0x23d24e2ffedd9f78 + .quad 0x23755eaec016b2b5, 0x23cac6e23cde6ac9 + .quad 0x236f3e576e5bfb2c, 0x23c394ff72563c26 + .quad 0x2366d6394041cb01, 0x23bca3259bb8013e + .quad 0x2360b0a8012d71fb, 0x23b4effb58fcce20 + .quad 0x2358647f7f3a91de, 0x23ae9cac23b8427e + .quad 0x2351d29e5c60946b, 0x23a6602f707600f3 + .quad 0x234a0aa72640fd47, 0x23a05a7bd790a4bc + .quad 0x234305e23384e58a, 0x2397e6b1b23c38f4 + .quad 0x233bc9e08de1532f, 0x239176cc55ca9b80 + .quad 0x23344b4e89c6a35f, 0x238984a277e8539a + .quad 0x232da366d9d2b975, 0x2382a417253e014b + .quad 0x2325a3c60cb2c6b1, 0x237b3b2c9b4277c6 + .quad 0x231f98800fc076db, 0x2373e333559670c8 + .quad 0x23171033226bf0af, 0x236d0b8591b88278 + .quad 0x2310d53e944a7e18, 0x236534ff7f271b4d + .quad 0x23089187f3d75a14, 0x235ef6ed82d51675 + .quad 0x2301ed5d0deddfb7, 0x23569a61d0edc9d2 + .quad 0x22fa28be72757b85, 0x23507f57aca805f1 + .quad 0x22f3154ef266983d, 0x234814481a9f253c + .quad 0x22ebd6d859990532, 0x2341921067277b5d + .quad 0x22e44dcd404b4fcd, 0x2339a3a7d2712f82 + .quad 0x22dd9cdf2aadd6a6, 0x2332b45137355f77 + .quad 0x22d5979672b76b96, 0x232b497e1657b91b + .quad 0x22cf7be424410479, 0x2323e6cfcc06ed27 + .quad 0x22c6f36e7903ba4f, 0x231d06cfa865bc4e + .quad 0x22c0ba8019bd4e86, 0x23152a47395ed2ae + .quad 0x22b8621eaa755f34, 0x230edca8e605e67a + .quad 0x22b1c4a9efdce654, 0x23067f77ef705254 + .quad 0x22a9e475b5aaea97, 0x2300660edcde1e02 + .quad 0x22a2dd03980220ac, 0x22f7e727aec99554 + .quad 0x229b7b478b8fda1c, 0x22f16b24c391593b + .quad 0x22940424c4fd21f7, 0x22e96221780dfe95 + .quad 0x228d276d459f43c7, 0x22e27e2788696d86 + .quad 0x22853aa8c500f5d0, 0x22daf1357749947c + .quad 0x227ee9c5073f397e, 0x22d39fac2bf7a531 + .quad 0x2276812e6a2e8fc0, 0x22cc9538eaa71fb0 + .quad 0x22706198ecffc0e0, 0x22c4d04b3a802aee + .quad 0x2267d857ef6fe55a, 0x22be4f0604536408 + .quad 0x22615a4dc243cc5f, 0x22b610a0b4ec8401 + .quad 0x225940cad97ee071, 0x22b00fbde3ac71c6 + .quad 0x22525f772e00c70a, 0x22a7614bf61d6bfa + .quad 0x224abb2fd3f529ef, 0x22a103beefa07650 + .quad 0x2243718d87e8a0af, 0x2298c2ef94786008 + .quad 0x223c48328a4346eb, 0x229203fa39242793 + .quad 0x2234910b37b4de72, 0x228a36313f8e64ec + .quad 0x222de8817c6f33b9, 0x228310e5f6fbfd44 + .quad 0x2225be6c950a7e6f, 0x227bbbb999bb060a + .quad 0x221f9ccdcf7c94fe, 0x22742afa66f9fdc1 + .quad 0x2216fa2fc442a9d3, 0x226d54340d9c375d + .quad 0x2210b2e58cb15f5c, 0x226552b1ae6aeaa2 + .quad 0x220844d490056942, 0x225f004e9f45a94b + .quad 0x2201a217943b9ac7, 0x22568887b7750462 + .quad 0x21f99edc3fa555f4, 0x2250605cdc8a1e5e + .quad 0x21f29c58e31af831, 0x2247ccfa0b55e3f7 + .quad 0x21eb08c96a2d341c, 0x22414b13fa04509f + .quad 0x21e3a2063aa9bfc9, 0x22392087a96ea8f4 + .quad 0x21dc831fc61280f7, 0x223240a6edc95f53 + .quad 0x21d4b37d15842e1d, 0x222a83b0db0fa5b6 + .quad 0x21ce0e63f582488b, 0x22234170d65d2fe5 + .quad 0x21c5d11b81c3fea7, 0x221bf6f703f6c8b1 + .quad 0x21bfab1b4f400c2e, 0x22144dcd884a52dc + .quad 0x21b6fb3ff8ccf41c, 0x220d7adc6f76430f + .quad 0x21b0ace5d20891a2, 0x2205661968fc8c68 + .quad 0x21a8324934a763f4, 0x21ff0fe41a3b588b + .quad 0x21a18d7d8058e531, 0x21f68ab147365bff + .quad 0x2199769602e7d2c4, 0x21f05b48bc57ed71 + .quad 0x21927797b62a04a4, 0x21e7bbf2311e9661 + .quad 0x218ac8851524d431, 0x21e137b41cf9c9a4 + .quad 0x21836b7751d5da7f, 0x21d8fa3947e525d9 + .quad 0x217c2874cefea298, 0x21d21d7603b6e2cc + .quad 0x2174695ee8470b66, 0x21ca45e3910021ac + .quad 0x216d96c311be3eb3, 0x21c30cd0207d04ed + .quad 0x216571909f179506, 0x21bb9f4dc504a668 + .quad 0x215f13cd05945d89, 0x21b40603dadb780a + .quad 0x2156844e0504f766, 0x21ad06d41c212c13 + .quad 0x21504ff770417c7e, 0x21a509522cc01f2f + .quad 0x2147a1d7e8c27e50, 0x219e7cd2184183eb + .quad 0x21411dc1d57f7df8, 0x219616fb7b910c11 + .quad 0x2138ca6e2e342651, 0x219000d1267395e3 + .quad 0x2131f372812d1e14, 0x21872f3f6faafe57 + .quad 0x2129fe4fa21e8c98, 0x2180cacf12619fe1 + .quad 0x2122d1356c845fd1, 0x2178525cca4f244d + .quad 0x211b3db9cc5a58f3, 0x21719c8ed29100e2 + .quad 0x2113b7359a6b9391, 0x216980913a0c5f1e + .quad 0x210c88e8c09b9bb2, 0x2162763b979d57b5 + .quad 0x2104a59cf5958098, 0x215aba192db244fd + .quad 0x20fde016eddfacad, 0x215357ff9fbc97f4 + .quad 0x20f59c942db45eae, 0x214bff2fa5de1e9d + .quad 0x20ef437cec9632b8, 0x21444204156d00fc + .quad 0x20e69c4293cefa3f, 0x213d500e0534289d + .quad 0x20e059a8a5ce0ce7, 0x21353470ed39dd97 + .quad 0x20d7a4cdf5c8de47, 0x212eacebdf5973c2 + .quad 0x20d117e42e10afc5, 0x21262f6cc2a62dbd + .quad 0x20c8b65a792fe140, 0x21200aff63626acf + .quad 0x20c1dc89fe4a5f8a, 0x2117331cb44dd6ec + .quad 0x20b9d10a7562f377, 0x2110c5bd0cbfba30 + .quad 0x20b2a7b1b1593291, 0x21083fa43f4f73d5 + .quad 0x20aaf4fe4d278bf9, 0x210186c76677c8f7 + .quad 0x20a37971726a776e, 0x20f955251a12574c + .quad 0x209c225447c48b85, 0x20f24e359c6528bb + .quad 0x209451dde15504ec, 0x20ea73bf0e7dcf7b + .quad 0x208d592869bae136, 0x20e31c1d70a5a26c + .quad 0x20853109f6b70a02, 0x20db9b8fd3b82ace + .quad 0x207e99944d35a898, 0x20d3f09320694d40 + .quad 0x20761706e7ea0b42, 0x20ccccb2e7856e93 + .quad 0x206fe3aefa4cdaa2, 0x20c4cba948866255 + .quad 0x206703e40ae0b133, 0x20be0741675f15a5 + .quad 0x20609bc65f9b8064, 0x20b5ad70c9e433d4 + .quad 0x2057f7aeba02f7ef, 0x20af4b51e95f89d5 + .quad 0x20514a9f8443d058, 0x20a695f8add0a062 + .quad 0x2048f272381e3222, 0x20a04c7c2a8ead79 + .quad 0x2041fe6a1ccca721, 0x2097854e0a5444cf + .quad 0x2039f437947f2743, 0x2090f822de49bc54 + .quad 0x2032b72bc2a1bb29, 0x20887b7be69a8c26 + .quad 0x202afd058f4d5cb9, 0x2081a8a41a9a7340 + .quad 0x202374e8637e822f, 0x2079788b1f83908e + .quad 0x201c0ce07e3f5247, 0x20725e0558a5c077 + .quad 0x201437a22e46ffc9, 0x206a7c824c7683f1 + .quad 0x200d23ca31c0220c, 0x2063184a6ce13b46 + .quad 0x2004ff5980398e02, 0x205b8765a48c0cf1 + .quad 0x1ffe41c1da9f8a5f, 0x2053d775743f06ae + .quad 0x1ff5cc0cd28b81e5, 0x204c9936e428a9d9 + .quad 0x1fef66c3f065ea05, 0x20449b86c1b194ce + .quad 0x1fe69db8a882e290, 0x203db1f5331fbe71 + .quad 0x1fe049650c331274, 0x2035647ccc18e717 + .quad 0x1fd774577e1faf4f, 0x202ed19d0b78718c + .quad 0x1fd0e2e586d3df5c, 0x202632541cab3ac0 + .quad 0x1fc84fe1b767669b, 0x201ff82820edeaab + .quad 0x1fc17fdd44e1dc6c, 0x201705073deb552a + .quad 0x1fb9304d9065a4b9, 0x201092c6a4a26abf + .quad 0x1fb220449767742a, 0x2007dc8eab3ed87a + .quad 0x1faa158f0df4c356, 0x20012ce032c827ce + .quad 0x1fa2c4123936432b, 0x1ff8b8e0c1372c25 + .quad 0x1f9aff97ef6163ed, 0x1ff1ca5926404568 + .quad 0x1f936b3b4511d82b, 0x1fe999f1ae9f978b + .quad 0x1f8bee57a0fbbbdc, 0x1fe26b285aeabdbe + .quad 0x1f8415b32c89327c, 0x1fda7fb366632c72 + .quad 0x1f7ce1bb2fa9523e, 0x1fd30f431387ee69 + .quad 0x1f74c36baf8c2285, 0x1fcb6a15925d0c25 + .quad 0x1f6dd9ad3d89a4a5, 0x1fc3b69cf0bd5608 + .quad 0x1f657454d4c97f21, 0x1fbc590587256b75 + .quad 0x1f5ed615f7bfd7d2, 0x1fb46127e8d37ba7 + .quad 0x1f56285ce2e2e29b, 0x1fad4c6e38ed7f06 + .quad 0x1f4fd6db0d73348e, 0x1fa50ed44039bd53 + .quad 0x1f46df705a8252f7, 0x1f9e4438317c2a1e + .quad 0x1f406defd40bdb09, 0x1f95bf9082dc8412 + .quad 0x1f379979f15ddb0d, 0x1f8f4049875ce630 + .quad 0x1f30f2823287afb6, 0x1f8673497e5a0d03 + .quad 0x1f2856628e34ac2c, 0x1f802042eb28efef + .quad 0x1f217913a85a33a7, 0x1f7729ea3d219a53 + .quad 0x1f19161145d0e326, 0x1f70a2671c8cdbee + .quad 0x1f120191f16dc709, 0x1f67e35c0288722e + .quad 0x1f09d86b59187f4e, 0x1f612680a24c58f5 + .quad 0x1f028be97e6e9065, 0x1f589f8647df9662 + .quad 0x1efa9d5434377e7b, 0x1f51ac7d823a316c + .quad 0x1ef31805749922c3, 0x1f495e4eba9494ca + .quad 0x1eeb64ad6eec66d3, 0x1f42344a7c981006 + .quad 0x1ee3a5cfae5998ec, 0x1f3a1f993b67371d + .quad 0x1edc2e56cdffce02, 0x1f32bdd30bebc795 + .quad 0x1ed43530bcc0ee3a, 0x1f2ae347debd3070 + .quad 0x1eccfa2e45eea63d, 0x1f23490165a1de50 + .quad 0x1ec4c60fe9d5cbc1, 0x1f1ba93aee1c301f + .quad 0x1ebdc80ffece4451, 0x1f13d5be7b8309a9 + .quad 0x1eb558533bc564e3, 0x1f0c7150ead1fd0e + .quad 0x1eae97d659702f92, 0x1f0463f1fe01b7da + .quad 0x1ea5ebdf78f85a03, 0x1efd3b6691d169e3 + .quad 0x1e9f6959f5cadd73, 0x1ef4f3825f642b00 + .quad 0x1e9680982d0eea8a, 0x1eee0756e0ca137b + .quad 0x1e901e38dd55bfc7, 0x1ee58454d7cf0720 + .quad 0x1e87165faec70a10, 0x1eded4fb1c7fef16 + .quad 0x1e8088796f5a0260, 0x1ed6164d6a338985 + .quad 0x1e77ad1726ce2f3c, 0x1ecfa42ad866b600 + .quad 0x1e70f3587953aeb5, 0x1ec6a94eea23ecd2 + .quad 0x1e68449e977fef01, 0x1ec03a5dffc21d0d + .quad 0x1e615ebef6827c9d, 0x1eb73d3b028fc2cf + .quad 0x1e58dcd4e591ac76, 0x1eb0a3416f4dd0f1 + .quad 0x1e51ca951b79a938, 0x1ea7d1f23d694b62 + .quad 0x1e497597e1aad586, 0x1ea10ca917d13a59 + .quad 0x1e4236c25d3c18a2, 0x1e9867540c340902 + .quad 0x1e3a0ec452e85047, 0x1e91767d933fa0f7 + .quad 0x1e32a32d78fe110f, 0x1e88fd3ed17c059f + .quad 0x1e2aa8360248e3ed, 0x1e81e0a6bf884441 + .quad 0x1e230fbc7c8ab284, 0x1e79938feb3469d1 + .quad 0x1e1b41c7c6ff8cc6, 0x1e724b0bc63cac6b + .quad 0x1e137c54cf4ab1fc, 0x1e6a2a23bdfb3241 + .quad 0x1e0bdb5393a7ccd2, 0x1e62b59324d7fd9b + .quad 0x1e03e8db3be9418c, 0x1e5ac0d5c13ef72a + .quad 0x1dfc74b284572b4c, 0x1e532022b5a4d882 + .quad 0x1df45533fa93710c, 0x1e4b57808c42df0b + .quad 0x1ded0dbced86364c, 0x1e438a9fb93eb860 + .quad 0x1de4c142bbcdb51b, 0x1e3bedfde3fbf9f1 + .quad 0x1ddda64a6bca7ad0, 0x1e33f4eee0ab230d + .quad 0x1dd52ceab3daa53b, 0x1e2c8426c9c266d4 + .quad 0x1dce3e31f45a0a96, 0x1e245ef458066425 + .quad 0x1dc5980ea6ad6692, 0x1e1d19d38acfc932 + .quad 0x1dbed549e6504cf2, 0x1e14c893d1bef1fe + .quad 0x1db60290f4619f98, 0x1e0daedbd083bb8e + .quad 0x1daf6b681cab013b, 0x1e0531b0925a021e + .quad 0x1da66c53a6323b06, 0x1dfe4316b16614af + .quad 0x1da00031007ac3e3, 0x1df59a2d7cbb3c39 + .quad 0x1d96d5387be7adf6, 0x1deed65ac2de0264 + .quad 0x1d904a064f4bdd38, 0x1de601ed1ee8e719 + .quad 0x1d873d20f9b5e73b, 0x1ddf687e2b942e41 + .quad 0x1d80931e5b5e6c43, 0x1dd668d1bf455ad8 + .quad 0x1d77a3ee7681856f, 0x1dcff956b675583b + .quad 0x1d70db636a632668, 0x1dc6cebd6a35f863 + .quad 0x1d6809822a836e1f, 0x1dc0445cf3250898 + .quad 0x1d6122bfb19eafe7, 0x1db73392002f5fc2 + .quad 0x1d586dbd3e416493, 0x1db08b3e84ebc2b9 + .quad 0x1d51691d609b1ec9, 0x1da79731441e1e21 + .quad 0x1d48d080d9d1c96d, 0x1da0d13aa83e4b01 + .quad 0x1d41ae66ac0b0b6a, 0x1d97f97cea22928b + .quad 0x1d3931ae34603f62, 0x1d91163bef9eebc1 + .quad 0x1d31f285d8d6c817, 0x1d885a56a6965552 + .quad 0x1d299126a3e88ca5, 0x1d815a2cf3193875 + .quad 0x1d223565474c154e, 0x1d78b9a03d510324 + .quad 0x1d19eecbad1cb519, 0x1d719cf85b21a11f + .quad 0x1d1276ef7e686add, 0x1d69173b9121e9f7 + .quad 0x1d0a4a7f136af77e, 0x1d61de88eb969b39 + .quad 0x1d02b70f3735b79f, 0x1d59730ab373bc61 + .quad 0x1cfaa422e918100d, 0x1d521ec98edb9593 + .quad 0x1cf2f5af68314ac2, 0x1d49cceff40f1fb1 + .quad 0x1ceafb999f61e5d4, 0x1d425da56105b758 + .quad 0x1ce332bb50b471fb, 0x1d3a24cdf0f0a2e7 + .quad 0x1cdb50c6169e961b, 0x1d329b07bb123c75 + .quad 0x1cd36e1e845638bb, 0x1d2a7a87a6267113 + .quad 0x1ccba38bae4baa67, 0x1d22d6dc3e1e1b47 + .quad 0x1cc3a7c4f63d9d53, 0x1d1ace007da9e0c8 + .quad 0x1cbbf3ce55012ad1, 0x1d13110ede9680ce + .quad 0x1cb3df9b045b81fc, 0x1d0b1f1c5f28dcc9 + .quad 0x1cac4172983c2f7e, 0x1d03498bef599a58 + .quad 0x1ca4158d828399ae, 0x1cfb6dbfbfb30836 + .quad 0x1c9c8c5db3f49157, 0x1cf380402cbf1542 + .quad 0x1c944989c55b9312, 0x1cebb9cfb13e7262 + .quad 0x1c8cd475a1f163ee, 0x1ce3b518c77fb7d2 + .quad 0x1c847b7dad17cf31, 0x1cdc0331f1f7ac71 + .quad 0x1c7d19a128cff8a4, 0x1cd3e8036f737914 + .quad 0x1c74ab57affd05a9, 0x1ccc49ccfb511d2c + .quad 0x1c6d5bc7eab14dfb, 0x1cc418ee5e1d890e + .quad 0x1c64d906e49e5535, 0x1cbc8d8810c585d4 + .quad 0x1c5d9ad27381fd3d, 0x1cb447c860fdcf2c + .quad 0x1c55047b0bcf6527, 0x1cacce4b4e41cdca + .quad 0x1c4dd6aa46d0f45c, 0x1ca47480e39f8181 + .quad 0x1c452da49a426b16, 0x1c9d0bffb62a59f5 + .quad 0x1c3e0f39ed2991f9, 0x1c949f07f95c9d66 + .quad 0x1c355474c1ca1f2b, 0x1c8d468f3ef07049 + .quad 0x1c2e446d00e60d84, 0x1c84c74e66ce3841 + .quad 0x1c2578dd7a37e92b, 0x1c7d7de4e02c6f6f + .quad 0x1c1e76303a6f7572, 0x1c74ed45aae1d60c + .quad 0x1c159ad189ced845, 0x1c6db1ec9f31f5e1 + .quad 0x1c0ea4717be0f8c8, 0x1c6510e0078c325e + .quad 0x1c05ba448d444792, 0x1c5de2939b1372f7 + .quad 0x1bfecf1fdc04a7db, 0x1c5532108a122ff3 + .quad 0x1bf5d72aff4768da, 0x1c4e0fc8180b06b8 + .quad 0x1beef62bb0a0594a, 0x1c4550cb12e0f1db + .quad 0x1be5f17a3f894e1d, 0x1c3e39798a3f0a89 + .quad 0x1bdf19869809eb8a, 0x1c356d045cee7811 + .quad 0x1bd60928993f7077, 0x1c2e5f989fd91cad + .quad 0x1bcf392381fab056, 0x1c2586b2049c7737 + .quad 0x1bc61e2d491b1f68, 0x1c1e82174a67122f + .quad 0x1bbf54f6b79a6d5f, 0x1c159dca8e17880f + .quad 0x1bb6308082b0b65c, 0x1c0ea0e8c77dc629 + .quad 0x1baf6cf5e2bb03dc, 0x1c05b2456b2d3672 + .quad 0x1ba6401b7549eebb, 0x1bfebc01a8965943 + .quad 0x1b9f8118143e7eb0, 0x1bf5c41b0093e8e9 + .quad 0x1b964cf8501f223b, 0x1beed357da1f18ba + .quad 0x1b8f9155c9a1fbd1, 0x1be5d344aaa010f1 + .quad 0x1b86571245f3d39a, 0x1bdee6e2a9b9efd0 + .quad 0x1b7f9da8f1a8a0cc, 0x1bd5dfbcc1628fd2 + .quad 0x1b765e6590135a00, 0x1bcef69acba2f951 + .quad 0x1b6fa60cf0228aad, 0x1bc5e97e9c2cbc7f + .quad 0x1b6662ef70ab154b, 0x1bbf027a5f3a7f56 + .quad 0x1b5faa7ea0cc6ecb, 0x1bb5f0869476fb64 + .quad 0x1b5664ae34801e0e, 0x1baf0a7cf2ae7563 + .quad 0x1b4faafc59456a8c, 0x1ba5f4d2082760f5 + .quad 0x1b4663a133fef350, 0x1b9f0e9f85c03b41 + .quad 0x1b3fa785ea194bf2, 0x1b95f65f5b366281 + .quad 0x1b365fc8d3a43882, 0x1b8f0ee08ba43cd5 + .quad 0x1b2fa01c9ede6a16, 0x1b85f52df8b025d3 + .quad 0x1b26592683be2829, 0x1b7f0b3febf9cbcd + .quad 0x1b1f94c33d66f35b, 0x1b75f13e53118eaa + .quad 0x1b164fbcbf86f1ab, 0x1b6f03bf02da5a7a + .quad 0x1b0f857e040665a0, 0x1b65ea91e400b8af + .quad 0x1b06438f0b98cab0, 0x1b5ef860a0000a7a + .quad 0x1aff7252a6ecb2bb, 0x1b55e12b2b611c72 + .quad 0x1af634a1f3bd0d7e, 0x1b4ee92905044d53 + .quad 0x1aef5b484c995f72, 0x1b45d50dadc42d9d + .quad 0x1ae622fb08184d56, 0x1b3ed61de2b81fc4 + .quad 0x1adf40678969b4f4, 0x1b35c63df237cf4d + .quad 0x1ad60ea0d9b5d711, 0x1b2ebf4655983167 + .quad 0x1acf21ba5a45e2af, 0x1b25b4c17f7488b1 + .quad 0x1ac5f79af6759efd, 0x1b1ea4aae160108a + .quad 0x1abeff4c1e71b057, 0x1b15a09ed86def16 + .quad 0x1ab5ddf1e460242c, 0x1b0e86556bc034fe + .quad 0x1aaed92990861c73, 0x1b0589dd784842f0 + .quad 0x1aa5c1af1c6454be, 0x1afe6451363b8311 + .quad 0x1a9eaf60be99fa59, 0x1af57085cdb6c23e + .quad 0x1a95a2dd0483fd76, 0x1aee3eaad7319948 + .quad 0x1a8e820101a05296, 0x1ae554a135c6b3d2 + .quad 0x1a858186e973c8cb, 0x1ade1570321beee3 + .quad 0x1a7e511af403f0e1, 0x1ad53639f61bab8b + .quad 0x1a755db8f7b445c6, 0x1acde8b06f0475d8 + .quad 0x1a6e1cc067882b19, 0x1ac5155b36a1ff17 + .quad 0x1a6537803429dd3d, 0x1abdb87bf13d1856 + .quad 0x1a5de5045a77840f, 0x1ab4f210fabcd4fe + .quad 0x1a550eea743a03b0, 0x1aad84e44d6006fd + .quad 0x1a4da9faec295ac1, 0x1aa4cc6819f5a3a9 + .quad 0x1a44e406557456e3, 0x1a9d4dfc3ea1615f + .quad 0x1a3d6bb950e85a76, 0x1a94a46e38335bf7 + .quad 0x1a34b6e334ceafc3, 0x1a8d13d79b7b4d75 + .quad 0x1a2d2a55c543d97b, 0x1a847a31bd7fd98a + .quad 0x1a248791257b832e, 0x1a7cd68b49be13bd + .quad 0x1a1ce5e780d6c294, 0x1a744dc1cd628aec + .quad 0x1a145620e7623619, 0x1a6c962d320e4c77 + .quad 0x1a0c9e86a88f07ff, 0x1a641f2e3dd79383 + .quad 0x1a0422a3dd414b5e, 0x1a5c52d432db963c + .quad 0x19fc544c4080f626, 0x1a53ee878deaf1c1 + .quad 0x19f3ed2c02828af5, 0x1a4c0c9812daaed1 + .quad 0x19ec07521d52071e, 0x1a43bbdedbff7430 + .quad 0x19e3b5cbe0c97302, 0x1a3bc391730e1bf4 + .quad 0x19dbb7b2d547171a, 0x1a338745dbc97fd1 + .quad 0x19d37c9685446b6b, 0x1a2b77d9c068db21 + .quad 0x19cb6589b1020c3e, 0x1a2350cecc05d9cf + .quad 0x19c3419f75c953bc, 0x1a1b298b2516cc35 + .quad 0x19bb10f29bfb2a68, 0x1a13188c6bf4cd49 + .quad 0x19b304faa5c619af, 0x1a0ad8c07976bbc0 + .quad 0x19aaba0a14c264cc, 0x1a02de91f0a22435 + .quad 0x19a2c6bc6b0e1424, 0x19fa859534d21642 + .quad 0x199a60ed1d150c44, 0x19f2a2f2fa027fc3 + .quad 0x199286f9728ce321, 0x19ea30255dde65be + .quad 0x198a05b929d439ab, 0x19e265c387eea954 + .quad 0x198245c6b4e79163, 0x19d9d88d7b14c6d3 + .quad 0x1979a88c12e847c2, 0x19d22717ef05792f + .quad 0x197203396b14a770, 0x19c97eea82eb8229 + .quad 0x19694984031d9858, 0x19c1e704cd7ceb7c + .quad 0x1961bf6702f3caf4, 0x19b92359cbfdea74 + .quad 0x1958e8bf6806bcab, 0x19b1a59effeaeef1 + .quad 0x19517a6513ed67fa, 0x19a8c5f8fd2e86f6 + .quad 0x1948865ce1efe9b6, 0x19a162fb960e6361 + .quad 0x1941344953a2bc16, 0x199866e5fdcf6e5c + .quad 0x1938227b33ef66f4, 0x19911f2fc7a0a0a9 + .quad 0x1930ed298ab66e97, 0x1988063ee5dc8676 + .quad 0x1927bd39341e60d2, 0x1980da50e937b941 + .quad 0x1920a51b89b5ac38, 0x1977a421ee53231b + .quad 0x191756b5bc0538cf, 0x1970947461417eb2 + .quad 0x19105c351e298147, 0x196740ad61b23997 + .quad 0x1906ef0f9946142e, 0x19604daf9d1f19d0 + .quad 0x1900128c07d7eac9, 0x1956dbff8cae0f32 + .quad 0x18f686657e900799, 0x195006180668cd93 + .quad 0x18ef906bdc779cfc, 0x19467636af21f0cb + .quad 0x18e61cd5f4e4d33c, 0x193f7b85f0c272bb + .quad 0x18defa90ac757637, 0x19360f70ed4a200e + .quad 0x18d5b27f4d3aafaf, 0x192ee98b6b3e4f34 + .quad 0x18ce63b1303dfbfb, 0x1925a7cc414fb8aa + .quad 0x18c5477f92833195, 0x191e566abbe94f87 + .quad 0x18bdcbf7abb88524, 0x19153f666d2fde17 + .quad 0x18b4dbf47c1fc8a0, 0x190dc24dc933bf6d + .quad 0x18ad338de3492428, 0x1904d65ced070949 + .quad 0x18a46ffb60cbd760, 0x18fd2d5e0d435050 + .quad 0x189c9a9d09a6515f, 0x18f46ccce9c8cdf5 + .quad 0x189403b12a03d499, 0x18ec97c4837b573e + .quad 0x188c014dae645fc3, 0x18e402d32c6be96d + .quad 0x1883973247f05596, 0x18dc01a996aebdb3 + .quad 0x187b67c7ad400b86, 0x18d3988c1191e211 + .quad 0x18732a9aa5db4bb3, 0x18cb6b3510058b7a + .quad 0x186ace321e309c7b, 0x18c32e137db0ef23 + .quad 0x1862be059f3526f7, 0x18bad48e069f2207 + .quad 0x185a34b346493cc3, 0x18b2c384d1c64d5b + .quad 0x1852518df52ef492, 0x18aa3ddacff96f65 + .quad 0x18499b70897047dc, 0x18a258fae0968e74 + .quad 0x1841e54dc4edf3a3, 0x1899a740f1248851 + .quad 0x1839028e5cf277c7, 0x1891ee8fe480d92c + .quad 0x1831795e7e5c7cca, 0x188910e510c93fe1 + .quad 0x18286a303af6f699, 0x1881845d75e974c6 + .quad 0x18210dd8db9b7b20, 0x18787aeaea087811 + .quad 0x1817d27896d87b8e, 0x18711a7c823f5ff5 + .quad 0x1810a2d4d917179a, 0x1867e57540380a90 + .quad 0x18073b88d266bc5a, 0x1860b10543a01766 + .quad 0x18003869ae409b27, 0x185750a5d3814d59 + .quad 0x17f6a58134129f18, 0x1850480f391c14fc + .quad 0x17ef9d5b8ddde221, 0x1846bc9d56645be6 + .quad 0x17e61080de06bfb0, 0x183fbf623f3bedba + .quad 0x17decb6d7acd34f7, 0x1836297b642274f2 + .quad 0x17d57ca5c62d05dd, 0x182ef001d6eb49df + .quad 0x17cdfb32aa129cc6, 0x1825975e7810e700 + .quad 0x17c4ea0caf213789, 0x181e222785106b16 + .quad 0x17bd2cd2eb59de4c, 0x18150663e5d53392 + .quad 0x17b458d1220fa79d, 0x180d55fbee497e00 + .quad 0x17ac60744f31e198, 0x180476a7d28a437b + .quad 0x17a3c90d697e5b5d, 0x17fc8ba606fb6833 + .quad 0x179b963b20518321, 0x17f3e8452ecdbe84 + .quad 0x17933ada8cfe418f, 0x17ebc34b0b8bbc60 + .quad 0x178ace49de2283ae, 0x17e35b55b1b3d652 + .quad 0x1782ae504dc15f24, 0x17dafd0e79df00eb + .quad 0x177a08c1388db34f, 0x17d2cff1d49f192c + .quad 0x1772238524122580, 0x17ca39120c175c51 + .quad 0x176945c00d028182, 0x17c24630cff92d39 + .quad 0x17619a8e3da77fbe, 0x17b97775b48ec1aa + .quad 0x1758856364b336c5, 0x17b1be2898c8a8a4 + .quad 0x1751137f7cd08642, 0x17a8b8579b06ca2c + .quad 0x1747c7c673fe436e, 0x17a137eddf1f97ae + .quad 0x17408e6b787233ba, 0x1797fbd41b078795 + .quad 0x17370d029afc4472, 0x1790b3940d5da6fc + .quad 0x17300b637cd0ec0b, 0x17874205c365c73e + .quad 0x1726552f6729a259, 0x1780312d48405757 + .quad 0x171f14ef1a3e4ac2, 0x17768b0556e87723 + .quad 0x1715a06296220023, 0x176f6194df7630e5 + .quad 0x170e176ccb941b53, 0x1765d6e9ce0425a7 + .quad 0x1704eeb0196310cd, 0x175e64f64121563e + .quad 0x16fd1e5afef936da, 0x175525c859a2ea9a + .quad 0x16f4402a1b0bd9df, 0x174d6c9b6d4d6fc5 + .quad 0x16ec29d225a230e3, 0x174477b466ee6cc1 + .quad 0x16e394e1038ce88e, 0x173c789ea0183d02 + .quad 0x16db39e83951bdaa, 0x1733ccbfa4112a58 + .quad 0x16d2ece3803d8d68, 0x172b8917a154498b + .quad 0x16ca4eb0c6436cf4, 0x172324fa05e3adc4 + .quad 0x16c2483e8ac9d061, 0x171a9e1bcd30af1f + .quad 0x16b9683cf6400112, 0x17128071ce79e917 + .quad 0x16b1a6fd716c7c18, 0x1709b7be1e1550cb + .quad 0x16a8869b9cc95345, 0x1701df33948493fa + .quad 0x16a10929dfe85b79, 0x16f8d60f37a227b9 + .quad 0x1697a9d9444b613e, 0x16f1414a4b7a1729 + .quad 0x16906ecbe9338feb, 0x16e7f91d72bfd333 + .quad 0x1686d2003c3fdf54, 0x16e0a6bf4c7a4f95 + .quad 0x167fafd4238f8063, 0x16d720f4eaaf4bbb + .quad 0x1675ff18a8317f0a, 0x16d00f9a5fe04069 + .quad 0x166e8912b5139031, 0x16c64d9f8b065b73 + .quad 0x166531288f8c01c7, 0x16bef7c38ee94e41 + .quad 0x165d695a98770e4b, 0x16b57f251e86550e + .quad 0x16546833ee262b10, 0x16add73492689d20 + .quad 0x164c50b006d4e015, 0x16a4b58b5eba6cc7 + .quad 0x1643a43cc572b3d3, 0x169cbd8e7539eac7 + .quad 0x163b3f14799b1616, 0x1693f0d6044b145d + .quad 0x1632e5432e458097, 0x168baad518e7426e + .quad 0x162a3486c40b74f1, 0x16833106d7f3cac9 + .quad 0x16222b456b1a8db7, 0x167a9f09adee91e3 + .quad 0x161931032d667261, 0x1672761dc408f1ef + .quad 0x1611763ffacc46ac, 0x16699a2acce5bd7f + .quad 0x160834838ba6fe3d, 0x1661c018e67b6eae + .quad 0x1600c62daba74e7c, 0x16589c349043d67e + .quad 0x15f73eff5eb5eca5, 0x16510ef4a3481a29 + .quad 0x15f01b07aeca1f42, 0x1647a520aeb63fae + .quad 0x15e6506bebfc67bd, 0x164062abb7415c63 + .quad 0x15dee98b577ea7ca, 0x1636b4e695e9099f + .quad 0x15d568bc5a3d72ee, 0x162f766e96435041 + .quad 0x15cda6bba883d22a, 0x1625cb7b85aa6067 + .quad 0x15c487e1cd9f3e43, 0x161e311e0dabf963 + .quad 0x15bc6d89f0368fc1, 0x1614e8d2ab5187d6 + .quad 0x15b3adcb83cdccc3, 0x160cf55249e0172a + .quad 0x15ab3ddd3216f86e, 0x16040cdd3d52967c + .quad 0x15a2da66f0214306, 0x15fbc2f50c60488e + .quad 0x159a1799fd5925f4, 0x15f3378a96e8e29a + .quad 0x15920d9fd7b31257, 0x15ea99ed8a2f2e6b + .quad 0x1588faa294857a39, 0x15e268c853c2e48d + .quad 0x158147606d4e1ee3, 0x15d97a2092e9b19d + .quad 0x1577e6d714d6fce7, 0x15d1a0826b9b2f1e + .quad 0x157087916d26f37c, 0x15c86370b7b69b46 + .quad 0x1566dc159d3dbce3, 0x15c0dea34dab05c3 + .quad 0x155f9c3470942341, 0x15b755be71f29fea + .quad 0x1555da3a74ec8bc7, 0x15b02313fbe40a01 + .quad 0x154e35c1df5edf07, 0x15a650e8497f58cd + .quad 0x1544e120315adc06, 0x159edb784bbee452 + .quad 0x153cdb951dc67cbf, 0x159554cafa9d0c34 + .quad 0x1533f09fdba5037e, 0x158d7d0486e476cc + .quad 0x152b8d760c6a3faa, 0x158461419b3892c2 + .quad 0x152308911536a23d, 0x157c2a975dad9be0 + .quad 0x151a4b2aa8c000ca, 0x15737625bf981bdb + .quad 0x151228ca3bac6e07, 0x156ae3f97cbb25ce + .quad 0x150914773f3bbbac, 0x1562934f9e530bad + .quad 0x150151208bdc254e, 0x1559a8f1bb2e0d78 + .quad 0x14f7e91e9c37a26b, 0x1551b8963382a860 + .quad 0x14f0816843f2edd8, 0x154879454bd5bf1a + .quad 0x14e6c8e23b87885f, 0x1540e5cf631ac83b + .quad 0x14df72e98937c4f8, 0x153754b7ed21d736 + .quad 0x14d5b38276a48ea0, 0x15301ad01a5b2dd0 + .quad 0x14cdf23162441e8b, 0x15263b0c17c2af00 + .quad 0x14c4a8beb16012ed, 0x151eaed8e09770ed + .quad 0x14bc804c1d0522eb, 0x15152c032be62aab + .quad 0x14b3a855850eeeea, 0x150d36ef8a6e08fa + .quad 0x14ab1cdcc2ca0214, 0x1504275d9d00481d + .quad 0x14a2b204ea20186e, 0x14fbcd89c2310d59 + .quad 0x1499c78595e362ce, 0x14f32cdb1c10f0ee + .quad 0x1491c58a6013aaee, 0x14ea724c21e93002 + .quad 0x14887fe848fd6bff, 0x14e23c3ac05a8c19 + .quad 0x1480e2a313c94bb5, 0x14d924da86249080 + .quad 0x147745a6341bd9d3, 0x14d1553b2e7eba16 + .quad 0x1470090c041eb55f, 0x14c7e4d844204d5f + .quad 0x14661860872f36c7, 0x14c0779abdf88654 + .quad 0x145e710449b20327, 0x14b6b1e85d9cfdc3 + .quad 0x1454f7b87a3ccd22, 0x14af462f39da55f5 + .quad 0x144ce184ffaa0275, 0x14a58badb2559681 + .quad 0x1443e34f7b15484d, 0x149daedfe49c8a9f + .quad 0x143b6314a8f93441, 0x149471cb2f12adec + .quad 0x1432dac758984610, 0x148c28c3fc94131b + .quad 0x1429f52e6b0168fb, 0x148363e3fa566830 + .quad 0x1421ddc26b854422, 0x147ab358720f461f + .quad 0x1418974e49b18481, 0x1472619b9e9f9276 + .quad 0x1410ebe3bcdc6652, 0x14694e1adf5ef17a + .quad 0x140748f15c14a990, 0x14616a96324493c1 + .quad 0x140004cf29d383af, 0x1457f889bf8109c7 + .quad 0x13f60995fd7916b4, 0x14507e787ce8decb + .quad 0x13ee50530acb7a2b, 0x1446b224a16aa4e0 + .quad 0x13e4d8bbfb38c980, 0x143f39d03522ee6e + .quad 0x13dcab316f0b29de, 0x14357a6c57f8fed2 + .quad 0x13d3b5e4bf3051bb, 0x142d8b1738bdcb74 + .quad 0x13cb1987b3f62cd2, 0x142450e32693ba8d + .quad 0x13c2a09376f26716, 0x141bf0154de94403 + .quad 0x13b99aa6a5f22416, 0x1413350cea8cd61a + .quad 0x13b1984d37c8d151, 0x140a681c1d2f0b94 + .quad 0x13a82de1daeb9c47, 0x1402266f414ce57b + .quad 0x13a09c991f950457, 0x13f8f27fe21c9591 + .quad 0x1396d28fdea9871a, 0x13f12491ab5c17d9 + .quad 0x138f5a00e548f085, 0x13e78e979aa0c9be + .quad 0x1385880a5ae03598, 0x13e02efdac5a4ff4 + .quad 0x137d921d6d1c821b, 0x13d63bbd32217718 + .quad 0x13744dae3b23367b, 0x13ce8a7dcff4677c + .quad 0x136be0a394617721, 0x13c4f94da865b2a3 + .quad 0x136322dbccd73cab, 0x13bccdc67829105b + .quad 0x135a44b3f5ce9c8b, 0x13b3c6a934743c05 + .quad 0x135206f6db46b930, 0x13ab26f5afd4ebc9 + .quad 0x1348bd742e227a38, 0x13a2a3336386b4d7 + .quad 0x1340f966c7fd2396, 0x13999530a15ce61a + .quad 0x13374a0efc06d36e, 0x13918e533433f227 + .quad 0x132ff32d3f1c0a49, 0x138817a166d90dbd + .quad 0x1325e9b45aff1be0, 0x138087732df4f3ab + .quad 0x131e0dea55db81c4, 0x1376ad7728d6db01 + .quad 0x13149b9999981d6c, 0x136f1c02ea5235f3 + .quad 0x130c41e9fb058b1e, 0x136555e63841a093 + .quad 0x13035ef96b0fe655, 0x135d42dfb77e321e + .quad 0x12fa8e19002cb47f, 0x1354102823a6a0a2 + .quad 0x12f23313f4adb099, 0x134b8267dd51660d + .quad 0x12e8f16bf19917ac, 0x1342db7bc80b123e + .quad 0x12e1172ed701cd40, 0x1339d98e007ff597 + .quad 0x12d76adf2095d808, 0x1331b7255d8af1ce + .quad 0x12d00a953345bce4, 0x1328474c5f89cf1f + .quad 0x12c5f976a86ba7a3, 0x1320a26e7ff7c8a0 + .quad 0x12be192f5a290a0d, 0x1316caa4dc34bcc6 + .quad 0x12b49c3e6e576cf8, 0x130f394c675d5da1 + .quad 0x12ac3918d16606af, 0x130562a0ffd36fef + .quad 0x12a3524a1ccb90ce, 0x12fd4a41cdb95576 + .quad 0x129a739e0c3f00b3, 0x12f40e51faa74ee4 + .quad 0x12921ab51a49a640, 0x12eb7670ded07be7 + .quad 0x1288c781323e2b8b, 0x12e2ccd09eaa3410 + .quad 0x1280f4a27c210b83, 0x12d9bc980b6cd88b + .quad 0x1277338f3cfd4b18, 0x12d19d3d560c7458 + .quad 0x126fbe79eabbab8b, 0x12c81b807901b2dd + .quad 0x1265b69fdd784131, 0x12c07ec015b26bbf + .quad 0x125db36d8463b3e1, 0x12b691fdebe382be + .quad 0x12544f955c9776f6, 0x12aee11097f70374 + .quad 0x124bc693203fe92c, 0x12a51eeeac7320be + .quad 0x1242fd5c7756dd24, 0x129ce39998362bf9 + .quad 0x1239f66cc65fb2cb, 0x1293c13b67a17ff2 + .quad 0x1231beec36eb8502, 0x128b03976c943068 + .quad 0x1228418af0dd65ed, 0x128277d70b2ebc6f + .quad 0x12209345c546e7cd, 0x12793f94ba2c6b6a + .quad 0x1216a68c4bfd764b, 0x127141be9e049453 + .quad 0x120ef2e87ca7b717, 0x1267962a50231832 + .quad 0x1205241d71eb6e19, 0x12601df915097b64 + .quad 0x11fce118fc8beeea, 0x125605fee84767f0 + .quad 0x11f3b8f8a28fd848, 0x124e172e498cd2fc + .quad 0x11eaef59daa19c93, 0x12448dc6e3757e71 + .quad 0x11e263e577f574d0, 0x123c1366206ca036 + .quad 0x11d91bfa9231de5c, 0x12332c440230ef3a + .quad 0x11d123b897af1af4, 0x122a2ee0ea25a216 + .quad 0x11c7655cd85a2773, 0x1221e04519eb8f87 + .quad 0x11bfeea6c3554149, 0x121867f82bdccb8f + .quad 0x11b5c9f427a491a4, 0x1210a8a5c7678dff + .quad 0x11adbb4739afff2e, 0x1206bd1744d1513e + .quad 0x11a4484548d479a3, 0x11ff089c3d3d8b6f + .quad 0x119bab46440d8e4b, 0x11f52cbafb8bc99f + .quad 0x1192dee5d96e696e, 0x11ece464b1286c0d + .quad 0x1189bcaf0aad775c, 0x11e3b571085ef9db + .quad 0x11818c7bd07b007f, 0x11dae2a4fedee59c + .quad 0x1177eda37d26ae66, 0x11d255d79dbe3905 + .quad 0x11704fbd01fd3b9a, 0x11c9017432798e26 + .quad 0x11663c5ba199716f, 0x11c10c9ceee61d28 + .quad 0x115e4edd431a7a40, 0x11b73effa34f57ab + .quad 0x1154a724e2f6eade, 0x11afb0fd6a99ec28 + .quad 0x114c24c9890314cd, 0x11a5998a4600495b + .quad 0x11432c615eef6a3d, 0x119d70936a92f04a + .quad 0x113a1f03c81340fd, 0x11940f6bfdad1f14 + .quad 0x1131ca87340e1c39, 0x118b55b284add8c1 + .quad 0x11283b6cbf2ba29f, 0x11829f10ece9036e + .quad 0x1120801fd07f7284, 0x11795e2d86ae92c8 + .quad 0x111677ffffc31b92, 0x117146f8c6e8dc57 + .quad 0x110e978e83ebd95d, 0x116787f26e598ebb + .quad 0x1104d2d2f5dd4096, 0x116005b6216a17ea + .quad 0x10fc58570e2f641d, 0x1155d10973fbab06 + .quad 0x10f34a13f272cdfa, 0x114db3db8f832a58 + .quad 0x10ea4017c5ace0de, 0x1144379416dfac63 + .quad 0x10e1dc0938cfb932, 0x113b84ac1ef46255 + .quad 0x10d84c7064147f81, 0x1132b9cc2c3d6738 + .quad 0x10d087100f5e6429, 0x11297b6c5dc3637a + .quad 0x10c67b20873fc995, 0x11215602f1227af8 + .quad 0x10be9337a8979da0, 0x111795cb2bb480b6 + .quad 0x10b4ca0667456eb8, 0x11100aa01fc8a73e + .quad 0x10ac446a2ccade1c, 0x1105d196927cdacc + .quad 0x10a3371d92c55c69, 0x10fdac421184af19 + .quad 0x109a1ef1650d3562, 0x10f42cba823b93cb + .quad 0x1091c07db1df4cf6, 0x10eb6e2f60b615c1 + .quad 0x1088202debc2593c, 0x10e2a53f94211ba9 + .quad 0x108064595037ce7b, 0x10d95853e0fd75ad + .quad 0x107645a58ac6913c, 0x10d13949d3b2fbd2 + .quad 0x106e41f95cc492ce, 0x10c768213ee2ba9c + .quad 0x10648d0194e5b153, 0x10bfce2f1e195a7a + .quad 0x105be99935f38c42, 0x10b59b2d772c1b04 + .quad 0x1052f40d4a5d2870, 0x10ad5a005ce1b15d + .quad 0x1049bc8aa74c3805, 0x10a3ef3138f8ae58 + .quad 0x104178b448b82b16, 0x109b12e626e3c8a1 + .quad 0x1037b7f2dc7fa066, 0x1092620652c3102c + .quad 0x1030190106456396, 0x1088f5ecffd9c995 + .quad 0x1025d92194746ef2, 0x1080f1a62a97a48e + .quad 0x101da636b2add63a, 0x1077004d0a0dd3fc + .quad 0x10141d8f14e2d235, 0x106f38508375a815 + .quad 0x100b4a8e16df3a2e, 0x10652f67f4a45dbd + .quad 0x100282da2ee06e9f, 0x105cbf8187da9700 + .quad 0x0ff91bc4f0e82a10, 0x105380c6fa6ddd1b + .quad 0x0ff106c65473611b, 0x104a757e44dde4fb + .quad 0x0fe716ca73d3a1dc, 0x1041f218f165083c + .quad 0x0fdf4e737e667fe6, 0x1038571975a9ba0c + .quad 0x0fd538bdbc880350, 0x103081306aee058b + .quad 0x0fccc4774fe05a13, 0x102661571375ee31 + .quad 0x0fc37eeb586702af, 0x101e5803c9b677c0 + .quad 0x0fba6be51e94d2c3, 0x10149169d29f057f + .quad 0x0fb1e6cae3cc5ce4, 0x100be144165bfdad + .quad 0x0fa841452e30c6ec, 0x1002e4b0b7596d86 + .quad 0x0fa06dfcc0330324, 0x0ff99a8814f82396 + .quad 0x0f964157d8dbcaa1, 0x0ff158b4c1d7aa61 + .quad 0x0f8e248fc3725278, 0x0fe7806fe5adc0de + .quad 0x0f84691284199248, 0x0fdfd64d63539ac4 + .quad 0x0f7ba32f675bcca1, 0x0fd58fd2560c98e3 + .quad 0x0f72b59cb5fcd070, 0x0fcd33b9c01b8858 + .quad 0x0f6953f4278d9771, 0x0fc3c5b9e7be019e + .quad 0x0f61244d4a198783, 0x0fbac5a261b57bd2 + .quad 0x0f57333ac721d353, 0x0fb21f61f6e6a3a5 + .quad 0x0f4f654f8b2c9938, 0x0fa8883e334bf813 + .quad 0x0f453d9d5f4e3889, 0x0fa09a33ffab8174 + .quad 0x0f3cbcb3935e8707, 0x0f9678037d69a88a + .quad 0x0f336fefd85e37f7, 0x0f8e678a0474dd4d + .quad 0x0f2a4a7147e53789, 0x0f8491a44a8cc267 + .quad 0x0f21c73c8c2f3143, 0x0f7bd3a60953bab8 + .quad 0x0f180a7df6e9e4ab, 0x0f72d20af56e98e4 + .quad 0x0f1040c111171b21, 0x0f69748563f2a02c + .quad 0x0f05f9153468350d, 0x0f613656dff66048 + .quad 0x0efdb3d65827b6f1, 0x0f57463a2ae57157 + .quad 0x0ef412b4a3b0b6bb, 0x0f4f77b2a384d071 + .quad 0x0eeb20abd232bd72, 0x0f45451ae34b02ae + .quad 0x0ee25417f5fe18aa, 0x0f3cc024fa52d21e + .quad 0x0ed8c38db09c3d68, 0x0f336dbe645ba702 + .quad 0x0ed0ba351c6b2c44, 0x0f2a415d531b6e85 + .quad 0x0ec69856de023170, 0x0f21bcf7eeeba2f5 + .quad 0x0ebe847157246bfc, 0x0f17f70703ac5558 + .quad 0x0eb49b2d16422141, 0x0f102fd377359b10 + .quad 0x0eabd304de355d85, 0x0f05dd1b0bb84b26 + .quad 0x0ea2c87c2ff697dc, 0x0efd87243e77ecad + .quad 0x0e995b4456f24a66, 0x0ef3efdb3b369292 + .quad 0x0e911cf1a60f1d84, 0x0eeaeb4dc01a4631 + .quad 0x0e8718a9184a8678, 0x0ee22bcd99dbdb06 + .quad 0x0e7f2af0be1fde49, 0x0ed88766c06b0833 + .quad 0x0e7507007917e3d9, 0x0ed08db80d427d79 + .quad 0x0e6c5e695f15072b, 0x0ec65709eb54bf5e + .quad 0x0e632266540e08c2, 0x0ebe253876b38ace + .quad 0x0e59cf012acb820b, 0x0eb45623a2f6a451 + .quad 0x0e51673fda512b46, 0x0eab6f674d703273 + .quad 0x0e4777d05328bd26, 0x0ea280eca736b4b1 + .quad 0x0e3fa46d62b8e57d, 0x0e98f4d804e3ad6f + .quad 0x0e35544c8bc23e1c, 0x0e90d3e50a2eecdc + .quad 0x0e2cc068b1dc8ab2, 0x0e86b0c7763ce52b + .quad 0x0e236042b9065710, 0x0e7e979edc5b3767 + .quad 0x0e1a1cbbab815b4c, 0x0e749ecd657d5dd6 + .quad 0x0e1197d0fe71564c, 0x0e6bcb59141dc715 + .quad 0x0e07b41f3bcb1869, 0x0e62bad65a82bb23 + .quad 0x0dffeec24eca8006, 0x0e593d6de18ac6bf + .quad 0x0df581b387627669, 0x0e51011dd6dfecf6 + .quad 0x0decf746ccaba032, 0x0e46e8be31f2fe24 + .quad 0x0de380f8b864e1ac, 0x0e3edc51c8649aaa + .quad 0x0dda4312cc2f816a, 0x0e34c88f43732a10 + .quad 0x0dd1adc83c96accf, 0x0e2bfd81ed74f1cd + .quad 0x0dc7cc835281bbf3, 0x0e22d883a292df3b + .quad 0x0dc0044e6f2b903f, 0x0e195fde403b5724 + .quad 0x0db58e66674c0f82, 0x0e111494966870b7 + .quad 0x0dad0209514d613d, 0x0e06fdef1ca550b3 + .quad 0x0da383f2f4495aed, 0x0dfef217eb67d36d + .quad 0x0d9a41575f0363d6, 0x0df4d2aaa5b8e28a + .quad 0x0d91a8c12a0cae91, 0x0dec04fcbf1fddd8 + .quad 0x0d87c08d08f2ccbb, 0x0de2d96cdd2a30b8 + .quad 0x0d7ff186c5b90604, 0x0dd95b8ba50a2687 + .quad 0x0d757a2b0b1c4c86, 0x0dd10df03cd711e3 + .quad 0x0d6ce07ef98af2ae, 0x0dc6eff939f51c8f + .quad 0x0d636923c5eb270b, 0x0dbed88d96607fb4 + .quad 0x0d5a1791489717bf, 0x0db4bcf1445c1d61 + .quad 0x0d5188d2c2d680a3, 0x0dabe1a747b458c8 + .quad 0x0d47907312c7e255, 0x0da2bd8dde16ba8a + .quad 0x0d3fa9e995f4c414, 0x0d993089dc23e417 + .quad 0x0d35455df149c7b5, 0x0d90ed4f34d6e965 + .quad 0x0d2c93410e8142f8, 0x0d86bf1c754a3325 + .quad 0x0d233105a5b594f7, 0x0d7e9027b1c5a4ab + .quad 0x0d19c67f441e11b3, 0x0d7487c687197597 + .quad 0x0d114e8ebae7496e, 0x0d6b942323a72767 + .quad 0x0d073d10c597b774, 0x0d6285660efb3e9a + .quad 0x0cff330b99c7f9e7, 0x0d58df9d62fb9c5e + .quad 0x0cf4f0ef77c81a6f, 0x0d50b34677fe9486 + .quad 0x0cec1baedb5f2e65, 0x0d466c37bb05de1e + .quad 0x0ce2dc9788ad9864, 0x0d3e1a30436bcde5 + .quad 0x0cd94f913add4907, 0x0d34341c90c553e7 + .quad 0x0cd0fafd2c40ba27, 0x0d2b1dd0ffc5d04b + .quad 0x0cc6c7df995241d1, 0x0d2231f4a6757469 + .quad 0x0cbe8f062cc963ce, 0x0d186a35930ed5e1 + .quad 0x0cb47e5cbff0d92e, 0x0d1060dd236f49a3 + .quad 0x0cab7be34be4e18d, 0x0d05f8c25cd122d7 + .quad 0x0ca26d5559b935e7, 0x0cfd78bca82e9f37 + .quad 0x0c98b4dd6af9c05d, 0x0cf3c36d15093021 + .quad 0x0c908f94cfc79158, 0x0cea80c62c44a65b + .quad 0x0c8632ec0e0d009c, 0x0ce1c4b11ed6627a + .quad 0x0c7dc0b5f2e40ea4, 0x0cd7d261cc2edf72 + .quad 0x0c73efa480ea698b, 0x0ccfef096f5252f0 + .quad 0x0c6ab6a5245de9e5, 0x0cc566c107178d1f + .quad 0x0c61e52cde409267, 0x0cbcae9de8f00c0b + .quad 0x0c57f910d0084829, 0x0cb337ae444bd293 + .quad 0x0c500e3012bd4171, 0x0ca9bfbcfe9dc1e8 + .quad 0x0c4580c66bfc7cf5, 0x0ca13f803c0631d9 + .quad 0x0c3ccba595fe34b5, 0x0c971ac2109d33c9 + .quad 0x0c3347383dcf4a9b, 0x0c8ef21caa7d80c3 + .quad 0x0c29cf52785fcd1f, 0x0c84b8b6bbdb7a4f + .quad 0x0c21466f7a4ba4b3, 0x0c7bbf4bcf8ca0c3 + .quad 0x0c171f5b701cb667, 0x0c72934441fdae8b + .quad 0x0c0ef1fef5338f87, 0x0c68de00a5d4cff3 + .quad 0x0c04b46ffc2e70cc, 0x0c60a4a61359d63a + .quad 0x0bfbb3f3e667d5e5, 0x0c564673b39bdd54 + .quad 0x0bf287ea78b8278f, 0x0c4dcf3acd0cc1f4 + .quad 0x0be8c9c8347a2863, 0x0c43f1926f0c2aa4 + .quad 0x0be093c166d47d90, 0x0c3aaecb94ca24e1 + .quad 0x0bd62b5957e6b822, 0x0c31d8efbbc88d6c + .quad 0x0bcda4f3c5b8c56f, 0x0c27df554174928c + .quad 0x0bc3d1457a1afdae, 0x0c1fed6b4a9440a8 + .quad 0x0bba7e3665ffae25, 0x0c1558fae0fed7aa + .quad 0x0bb1b4da97b89113, 0x0c0c8b307e047613 + .quad 0x0ba7aa46b2ec675c, 0x0c03149a005e5984 + .quad 0x0b9fa00e080e5360, 0x0bf9819329634547 + .quad 0x0b9520f92dcad4a2, 0x0bf10bba52994e8e + .quad 0x0b8c3a9666328faa, 0x0be6c7dd2d93c0f9 + .quad 0x0b82dae795ce73b6, 0x0bde70fd5d6d806d + .quad 0x0b792f5963d343cf, 0x0bd45629dffe1fa7 + .quad 0x0b70d15f439254be, 0x0bcb2b2e959996b0 + .quad 0x0b6675546ac2c967, 0x0bc2255364dfcfd7 + .quad 0x0b5dfca1ff236f02, 0x0bb83c6a3841fcca + .quad 0x0b54046155930cfb, 0x0bb02ee197efc99d + .quad 0x0b4ab8846c89a496, 0x0ba59bfc8bdbfffe + .quad 0x0b41d5226b496f7e, 0x0b9cd9f4c9733040 + .quad 0x0b37cc7edd2bedd1, 0x0b93420703d360ea + .quad 0x0b2fc1e021531b11, 0x0b89b4a6e4580455 + .quad 0x0b252f9fd29afa7b, 0x0b81276cde31355e + .quad 0x0b1c439018f9e7b0, 0x0b76e44a0da72ded + .quad 0x0b12d9d4a3bfacfa, 0x0b6e8b82d35e9882 + .quad 0x0b09247c7d6b7109, 0x0b64603c1a2de688 + .quad 0x0b00c3d4d5746632, 0x0b5b2e6fa531d555 + .quad 0x0af65add59367765, 0x0b5220b241172407 + .quad 0x0aedce1e8301e6ef, 0x0b482d28ae825549 + .quad 0x0ae3dde18cb97a8d, 0x0b401ea51e3f541c + .quad 0x0ada7b31ccb0b2f4, 0x0b357e3d8e31e749 + .quad 0x0ad1a59798dd7aa2, 0x0b2ca77ce984ce61 + .quad 0x0ac7843a7981f8e3, 0x0b23192c63185ef2 + .quad 0x0abf55b0f3ffe463, 0x0b1974911a73b1a7 + .quad 0x0ab4df9fe655b0fb, 0x0b10f64b579273f6 + .quad 0x0aabce68ce6bcfed, 0x0b069a3e1bad13da + .quad 0x0aa284bfe1cdea24, 0x0afe1d6859c11527 + .quad 0x0a98a9c29acbf47d, 0x0af40f425a16dca3 + .quad 0x0a906bd70b72892b, 0x0aeab8633790b1e2 + .quad 0x0a85dd55c1a48477, 0x0ae1cb4a43b9229f + .quad 0x0a7d1bd6b173b9f2, 0x0ad7b25cc6523c3b + .quad 0x0a735fc8451ff49e, 0x0acf8db2dc70232b + .quad 0x0a69c9712232f548, 0x0ac5014bc06e7f91 + .quad 0x0a6128b47439dcd5, 0x0abbf66ba3b9066c + .quad 0x0a56d53d2be0a0b6, 0x0ab29c2c1dc958db + .quad 0x0a4e6122171333df, 0x0aa8c4a9d76af90f + .quad 0x0a4435229d0cc681, 0x0aa07ae5a7347d0b + .quad 0x0a3ae1371b74ea2d, 0x0a95ed9539dfd0c9 + .quad 0x0a31e01427183001, 0x0a8d2c69c7599edc + .quad 0x0a27c589442700ec, 0x0a83677341a98a13 + .quad 0x0a1f9be9e1d7b4e4, 0x0a79cf2c5625685e + .quad 0x0a15033c96eb7570, 0x0a71298aebe8af0f + .quad 0x0a0bef014f36ffa9, 0x0a66d2655c8560eb + .quad 0x0a0290979be09b3b, 0x0a5e58166789d0bc + .quad 0x09f8ac6ba86dcc3c, 0x0a542b9e90b536b6 + .quad 0x09f064e638fb2517, 0x0a4acfe7e64002b1 + .quad 0x09e5c884857d8ade, 0x0a41d179e12ade6e + .quad 0x09dcf0beaeb1b319, 0x0a37ae01eb0f55cb + .quad 0x09d338e29511ffcd, 0x0a2f772a9e0423a1 + .quad 0x09c9881a23b2ff9b, 0x0a24e72e15f0f016 + .quad 0x09c0f43798c4f845, 0x0a1bc4e2f5a8c9af + .quad 0x09b6836e63bd7d88, 0x0a127165d875ec78 + .quad 0x09ade466f9c32fda, 0x0a087eb54ae1860d + .quad 0x09a3d79f883687bf, 0x0a0043b38d103ec9 + .quad 0x099a56d48500b8a3, 0x09f598a7d65e3b67 + .quad 0x09917ac327f9b5e5, 0x09ecac2d1ee89db1 + .quad 0x09873278f241bb95, 0x09e308090afcd9f3 + .quad 0x097ec801820c3f3d, 0x09d942d41e7bf2a3 + .quad 0x09746b841565ab3e, 0x09d0c34dc595f4bf + .quad 0x096b16ea850bfa34, 0x09c63e9cb83e74b2 + .quad 0x0961f76e44abf0ec, 0x09bd83e5a3ffd7ad + .quad 0x0957d432d7dd0ca1, 0x09b39428e0fd00c5 + .quad 0x094f99abec00b682, 0x09a9f8c2eadfb109 + .quad 0x0944f35579392d4b, 0x09a13957092e7741 + .quad 0x093bc6c19eee10e8, 0x0996d7ad6ac744f9 + .quad 0x0932692d6adc530f, 0x098e4a41e3c393c2 + .quad 0x0928673fad41c337, 0x0984149a31665d1e + .quad 0x09202bd066e6e446, 0x097a9efbad7c9909 + .quad 0x09156dece3f159c3, 0x0971a4d14ca40e60 + .quad 0x090c64dabfd6babd, 0x0967628f37011dc7 + .quad 0x0902cf07ed3ac7ca, 0x095efd93aae49244 + .quad 0x08f8ea5cdb1b77f8, 0x0954884565714d83 + .quad 0x08f0801f05da3bab, 0x094b341347ab9d2e + .quad 0x08e5da3ba0723cbc, 0x094204d0f497ca7d + .quad 0x08dcefd7b19fc691, 0x0937de10a24a9be3 + .quad 0x08d3281b7ca3d771, 0x092f9c4f419d97b9 + .quad 0x08c95c663259c5d8, 0x0924ee2a6bb63f1d + .quad 0x08c0c90568fe453b, 0x091bb6bea4d790c6 + .quad 0x08b6374ef6370a23, 0x091258802fee3a1b + .quad 0x08ad668024e6e773, 0x0908491dcb50d650 + .quad 0x08a3739f6c74a992, 0x090012888bcf5e1b + .quad 0x0899bc5a27482390, 0x08f5456466d99824 + .quad 0x089105de86fb726e, 0x08ec25d7813e5a28 + .quad 0x08868453b252f9af, 0x08e29f220ff323bd + .quad 0x087dc7c640bf856f, 0x08d8a2c46b36447d + .quad 0x0873b0e7a2d8004d, 0x08d04b5178932d9e + .quad 0x086a095d99893bea, 0x08c58d2d04dcdef9 + .quad 0x0861361f24d04a1e, 0x08bc8060b8a624d8 + .quad 0x0856c0994513d45b, 0x08b2d8154e3020f5 + .quad 0x084e12caa0268707, 0x08a8ea37661d565f + .quad 0x0843df6725a60cf5, 0x08a078003d294269 + .quad 0x083a42bf15180a09, 0x0895c4df6da1a5f0 + .quad 0x08315957e82800c6, 0x088cc58a0676d26e + .quad 0x0826eb9463d29a0d, 0x088302d6b1661ef0 + .quad 0x081e46dfa81a2018, 0x08791ed1d851d1dd + .quad 0x0813feb236502138, 0x0870982d94421652 + .quad 0x080a67f97b02e026, 0x0865ebfab91b4a2b + .quad 0x08016f37032d6085, 0x085cf4b3235443f5 + .quad 0x07f704e120e656fd, 0x08531f0304f01ddb + .quad 0x07ee638c247f445d, 0x084940198fd0e1c2 + .quad 0x07e40e7ff18c854c, 0x0840ab8eaa8fae67 + .quad 0x07da78b6039c7039, 0x08360223e0067b2c + .quad 0x07d1778970df4481, 0x082d0d6e2f89dd66 + .quad 0x07c70c446e7535cc, 0x08232c589802b4ba + .quad 0x07be688d1dc06742, 0x08194dc0e4e3bd62 + .quad 0x07b40eab69ffb357, 0x0810b1f64079cf15 + .quad 0x07aa74cd8f49285b, 0x080607271cb1c230 + .quad 0x07a1723bbb37e710, 0x07fd0f815d3e30e4 + .quad 0x079701ad03f5aba2, 0x07f32ab83cb1b9aa + .quad 0x078e55d6dd34aeb5, 0x07e947a7e7d08e62 + .quad 0x0783ff3437e5e592, 0x07e0ab555a059592 + .quad 0x077a5c493ec4b75b, 0x07d5faf8b45ee11c + .quad 0x07715f5a46f2a8c5, 0x07ccfae7d166a387 + .quad 0x0766e533a1804da5, 0x07c31a25c153692f + .quad 0x075e2b951ac76b4b, 0x07b92ddcdd3a585a + .quad 0x0753e03e7aaf4a23, 0x07b097bb793410b5 + .quad 0x074a2f624fa2da41, 0x07a5ddb524f58124 + .quad 0x07413f112353b2e2, 0x079ccfd1b6b2b0d1 + .quad 0x0736b71aaf8395ac, 0x0792fac7e1ac1a55 + .quad 0x072dea2a52e6f8d6, 0x0789009c068a7447 + .quad 0x0723b2124c85eb7d, 0x078077566199da13 + .quad 0x0719ee813dcc82f4, 0x0775afa0b60e30ad + .quad 0x071111ab5ef7d9ce, 0x076c8ea38207b48c + .quad 0x070677cd3ce598a2, 0x0762cce7b0334e93 + .quad 0x06fd922e485849df, 0x0758c04eb792831b + .quad 0x06f3751aaab95803, 0x07504a716678c7d9 + .quad 0x06e99a3c2eb312df, 0x074571266fb205e7 + .quad 0x06e0d791e54efc95, 0x073c37f46c8a36ce + .quad 0x06d627dd610c1f2f, 0x073290ef7aa6784e + .quad 0x06cd246bba093ddd, 0x07286d89be61c44f + .quad 0x06c329e3d8fc35e5, 0x072011744722e8f8 + .quad 0x06b93354aecb0f91, 0x071522d67c700dd9 + .quad 0x06b09149eae599f4, 0x070bcc8c2b79e5e6 + .quad 0x06a5c8020a89d6a7, 0x070247692feaf7c7 + .quad 0x069ca1dd59404578, 0x06f8090b25f1fb1c + .quad 0x0692d1194826d1d9, 0x06ef99c33fa36826 + .quad 0x0688bab4cd7bc185, 0x06e4c563ff8738ed + .quad 0x06803f72f0fa181c, 0x06db4d5ff233ee8b + .quad 0x067559144638d7d2, 0x06d1f0fc4fe41aef + .quad 0x066c0baa10766979, 0x06c793b75fbd2367 + .quad 0x06626b830bbc4f33, 0x06befaa9eeaa4992 + .quad 0x0658316ba6f8ef74, 0x06b459a26ac43fcf + .quad 0x064fc588d5eeb300, 0x06aabb8ece685efe + .quad 0x0644dc0c0d42f863, 0x06a18e6b704952c1 + .quad 0x063b6320aea7077a, 0x06970e95e366ca95 + .quad 0x0631fa02ebad6485, 0x068e4700e7fab75e + .quad 0x062798a96e59845b, 0x0683e0826243926d + .quad 0x061ef81624855ca5, 0x067a185d71d9ae78 + .quad 0x061451fcaaed5e70, 0x0671209163a43d8a + .quad 0x060aa9b30dd7b333, 0x06667acd56555624 + .quad 0x06017d9121b4ff43, 0x065d805487b20ec2 + .quad 0x05f6f1bb0c9eff18, 0x06535b0e3e76f72a + .quad 0x05ee184bec96bcc5, 0x064965317fc3f8eb + .quad 0x05e3bc10ccdff1d7, 0x0640a85e11600392 + .quad 0x05d9e0f0cdf83a76, 0x0635d99f4f4fa7a2 + .quad 0x05d0f738d3253e75, 0x062ca8538b911cc2 + .quad 0x05c63e056b37b486, 0x0622ca663e8f6c6e + .quad 0x05bd2806afda0512, 0x0618a38c763ae500 + .quad 0x05b31b865207923b, 0x061026d30f31261e + .quad 0x05a90a81bef15367, 0x06052c63cbe5201d + .quad 0x05a068145905badd, 0x05fbc0c903e2dd51 + .quad 0x05957f0081c7461b, 0x05f22fbc7eb40c8e + .quad 0x058c293abfeb81c1, 0x05e7d5064d5d2e6a + .quad 0x058271a9ed146425, 0x05df3a001a1da12a + .quad 0x0578282015bfd093, 0x05d474846e880b80 + .quad 0x056fa292d1f4b615, 0x05cacb96019278e3 + .quad 0x0564b6323fa7fafc, 0x05c18c50c637e437 + .quad 0x055b1ded81f6cf48, 0x05b6fb47e7243b10 + .quad 0x0551bfd2aff12d23, 0x05ae17fe4af1cdcd + .quad 0x05473b9288cf980b, 0x05a3b3779cd081bc + .quad 0x053e680a6315c8f9, 0x0599caab20737c4b + .quad 0x0533e52969a46a03, 0x0590e16c42489121 + .quad 0x052a082ea93d471f, 0x058618056ad2fa0d + .quad 0x0521075d9566cab2, 0x057ce9e247afa7ef + .quad 0x051646a66f6fb197, 0x0572eabb9557e4c3 + .quad 0x050d22f0f82317a8, 0x0568c0020c90fd02 + .quad 0x05030d7883df3e07, 0x0560305d4157bdec + .quad 0x04f8ea1187daf8b3, 0x05552cf8a69cbdee + .quad 0x04f049a91d747c02, 0x054bb1f3a4ce848c + .quad 0x04e54b29ff375e83, 0x05421bd19407d3a8 + .quad 0x04dbd5a7cbaf896d, 0x0537ad97206eb3e9 + .quad 0x04d230b0dec754da, 0x052ef4e6059f1fe4 + .quad 0x04c7c5a693980a40, 0x05243bdb9112e65b + .quad 0x04bf10221f87a1ca, 0x051a7278c0b2c815 + .quad 0x04b44ae6c097e3b8, 0x051148391a9b5b70 + .quad 0x0000000000000000, 0x0000000000000000 + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ + .align 32 + .quad 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000 /* _MaxThreshold=3487.0/128.0 */ + .align 32 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* sign mask */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ + .align 32 + .quad 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000 /* 2^(-128) */ + .align 32 + .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ + // polynomial coefficients + .align 32 + .quad 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f // poly1[0] + .align 32 + .quad 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70 // poly1[1] + .align 32 + .quad 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46 // poly3[0] + .align 32 + .quad 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c // poly3[1] + .align 32 + .quad 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2 // poly5[0] + .align 32 + .quad 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf // poly5[1] + .align 32 + .quad 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617 // poly1[2] + .align 32 + .quad 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec // poly3[2] + .align 32 + .quad 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7 // poly5[2] + .align 32 + .quad 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f // poly1[3] + .align 32 + .quad 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6 // poly3[3] + .align 32 + .quad 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da // poly5[3] + .align 32 + .quad 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420 // poly1[4] + .align 32 + .quad 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838 // poly3[4] + .align 32 + .quad 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082 // poly1[5] + .align 32 + .quad 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730 // poly3[5] + .align 32 + .quad 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add // poly3[6] + .align 32 + .quad 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a // poly1[6] + .align 32 + .quad 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf // poly1[7] + .align 32 + .quad 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD /* UF_Threshold */ + .align 32 + .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ + .align 32 + .type __svml_derfc_data_internal, @object + .size __svml_derfc_data_internal, .-__svml_derfc_data_internal From patchwork Mon Mar 7 15:01:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602402 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=OqqvRkNr; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3qK1LnHz9sFt for ; Tue, 8 Mar 2022 03:30:53 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2429D3857C5B for ; Mon, 7 Mar 2022 16:30:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2429D3857C5B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670651; bh=lNPfkeglAo4h5FFQt42eg1CJmdAi6i64id4HlZLkhD8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=OqqvRkNrZDVWxELtBCteoUcq9P45VuxO7PHoy7dAU2QSF2pyIxHh/Icpxcv+x2O+3 qH3ux/yubEMZMkDJaSuS7kh7XhaaS/bZPwqBRE1+zXWKPu51hP3Vi+tBa2lrpLTD4+ PYjkJVdehbbqHotTtgWFzma3ic9vN3wb5ThcNE44= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 1FE373858000 for ; Mon, 7 Mar 2022 15:03:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1FE373858000 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017260" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017260" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="512708650" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga006.jf.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ee016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 066/126] x86_64: Fix svml_d_erfc8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:01 -0800 Message-Id: <20220307150201.10590-67-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_erfc8_core_avx512.S | 7560 ++++++++--------- 1 file changed, 3779 insertions(+), 3781 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S index bd2c3bef7d..77228814d3 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_erfc8_core_avx512.S @@ -29,3832 +29,3830 @@ /* Offsets for data table __svml_derfc_data_internal */ -#define _erfc_tbl 0 -#define _AbsMask 55808 -#define _MaxThreshold 55872 -#define _SgnMask 55936 -#define _One 56000 -#define _TwoM128 56064 -#define _SRound 56128 -#define _poly1_0 56192 -#define _poly1_1 56256 -#define _poly3_0 56320 -#define _poly3_1 56384 -#define _poly5_0 56448 -#define _poly5_1 56512 -#define _poly1_2 56576 -#define _poly3_2 56640 -#define _poly5_2 56704 -#define _poly1_3 56768 -#define _poly3_3 56832 -#define _poly5_3 56896 -#define _poly1_4 56960 -#define _poly3_4 57024 -#define _poly1_5 57088 -#define _poly3_5 57152 -#define _poly3_6 57216 -#define _poly1_6 57280 -#define _poly1_7 57344 -#define _UF_Threshold 57408 -#define _Mask32 57472 +#define _erfc_tbl 0 +#define _AbsMask 55808 +#define _MaxThreshold 55872 +#define _SgnMask 55936 +#define _One 56000 +#define _TwoM128 56064 +#define _SRound 56128 +#define _poly1_0 56192 +#define _poly1_1 56256 +#define _poly3_0 56320 +#define _poly3_1 56384 +#define _poly5_0 56448 +#define _poly5_1 56512 +#define _poly1_2 56576 +#define _poly3_2 56640 +#define _poly5_2 56704 +#define _poly1_3 56768 +#define _poly3_3 56832 +#define _poly5_3 56896 +#define _poly1_4 56960 +#define _poly3_4 57024 +#define _poly1_5 57088 +#define _poly3_5 57152 +#define _poly3_6 57216 +#define _poly1_6 57280 +#define _poly1_7 57344 +#define _UF_Threshold 57408 +#define _Mask32 57472 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_erfc_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp -/* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ - lea __svml_derfc_data_internal(%rip), %rax + /* vector gather: erfc_h(x0), (erfc_l(x0), 2/sqrt(pi)*exp(-x0^2)) */ + lea __svml_derfc_data_internal(%rip), %rax -/* - * erfc(27.25) underflows to 0 - * can compute all results in the main path - */ - vmovups _MaxThreshold+__svml_derfc_data_internal(%rip), %zmm13 - vmovups _SRound+__svml_derfc_data_internal(%rip), %zmm7 - vmovups _One+__svml_derfc_data_internal(%rip), %zmm14 - kxnorw %k0, %k0, %k2 - kxnorw %k0, %k0, %k1 - vmovaps %zmm0, %zmm11 - vandpd _AbsMask+__svml_derfc_data_internal(%rip), %zmm11, %zmm12 - vandpd _SgnMask+__svml_derfc_data_internal(%rip), %zmm11, %zmm3 - vmovups _TwoM128+__svml_derfc_data_internal(%rip), %zmm0 - vminpd {sae}, %zmm13, %zmm12, %zmm6 + /* + * erfc(27.25) underflows to 0 + * can compute all results in the main path + */ + vmovups _MaxThreshold+__svml_derfc_data_internal(%rip), %zmm13 + vmovups _SRound+__svml_derfc_data_internal(%rip), %zmm7 + vmovups _One+__svml_derfc_data_internal(%rip), %zmm14 + kxnorw %k0, %k0, %k2 + kxnorw %k0, %k0, %k1 + vmovaps %zmm0, %zmm11 + vandpd _AbsMask+__svml_derfc_data_internal(%rip), %zmm11, %zmm12 + vandpd _SgnMask+__svml_derfc_data_internal(%rip), %zmm11, %zmm3 + vmovups _TwoM128+__svml_derfc_data_internal(%rip), %zmm0 + vminpd {sae}, %zmm13, %zmm12, %zmm6 -/* Start polynomial evaluation */ - vmovups _poly1_0+__svml_derfc_data_internal(%rip), %zmm12 - vmovups _poly3_0+__svml_derfc_data_internal(%rip), %zmm13 - vaddpd {rn-sae}, %zmm7, %zmm6, %zmm1 - vorpd %zmm3, %zmm14, %zmm15 - vmaxpd {sae}, %zmm0, %zmm6, %zmm2 - vmovups _poly1_1+__svml_derfc_data_internal(%rip), %zmm6 - vpsllq $4, %zmm1, %zmm4 - vsubpd {rn-sae}, %zmm7, %zmm1, %zmm5 + /* Start polynomial evaluation */ + vmovups _poly1_0+__svml_derfc_data_internal(%rip), %zmm12 + vmovups _poly3_0+__svml_derfc_data_internal(%rip), %zmm13 + vaddpd {rn-sae}, %zmm7, %zmm6, %zmm1 + vorpd %zmm3, %zmm14, %zmm15 + vmaxpd {sae}, %zmm0, %zmm6, %zmm2 + vmovups _poly1_1+__svml_derfc_data_internal(%rip), %zmm6 + vpsllq $4, %zmm1, %zmm4 + vsubpd {rn-sae}, %zmm7, %zmm1, %zmm5 -/* 2.0 if x<0, 0.0 otherwise */ - vsubpd {rn-sae}, %zmm15, %zmm14, %zmm10 + /* 2.0 if x<0, 0.0 otherwise */ + vsubpd {rn-sae}, %zmm15, %zmm14, %zmm10 -/* 2^(-128) with sign of input */ - vorpd %zmm3, %zmm0, %zmm7 - vsubpd {rn-sae}, %zmm5, %zmm2, %zmm9 - vmovups _poly1_2+__svml_derfc_data_internal(%rip), %zmm15 - vmovups _poly5_1+__svml_derfc_data_internal(%rip), %zmm3 - vmovups _poly5_0+__svml_derfc_data_internal(%rip), %zmm14 - vmovups _poly1_3+__svml_derfc_data_internal(%rip), %zmm0 - vmovups _poly5_2+__svml_derfc_data_internal(%rip), %zmm1 - vmovups _poly3_2+__svml_derfc_data_internal(%rip), %zmm2 - vmulpd {rn-sae}, %zmm9, %zmm5, %zmm8 - vmovups _poly3_1+__svml_derfc_data_internal(%rip), %zmm5 - vfmadd231pd {rn-sae}, %zmm8, %zmm12, %zmm6 - vfmadd231pd {rn-sae}, %zmm8, %zmm14, %zmm3 - vfmadd231pd {rn-sae}, %zmm8, %zmm13, %zmm5 - vmovups _poly3_3+__svml_derfc_data_internal(%rip), %zmm12 - vmovups _poly5_3+__svml_derfc_data_internal(%rip), %zmm13 - vfmadd213pd {rn-sae}, %zmm15, %zmm8, %zmm6 - vfmadd213pd {rn-sae}, %zmm1, %zmm8, %zmm3 - vfmadd213pd {rn-sae}, %zmm2, %zmm8, %zmm5 - vmovups _poly3_5+__svml_derfc_data_internal(%rip), %zmm14 + /* 2^(-128) with sign of input */ + vorpd %zmm3, %zmm0, %zmm7 + vsubpd {rn-sae}, %zmm5, %zmm2, %zmm9 + vmovups _poly1_2+__svml_derfc_data_internal(%rip), %zmm15 + vmovups _poly5_1+__svml_derfc_data_internal(%rip), %zmm3 + vmovups _poly5_0+__svml_derfc_data_internal(%rip), %zmm14 + vmovups _poly1_3+__svml_derfc_data_internal(%rip), %zmm0 + vmovups _poly5_2+__svml_derfc_data_internal(%rip), %zmm1 + vmovups _poly3_2+__svml_derfc_data_internal(%rip), %zmm2 + vmulpd {rn-sae}, %zmm9, %zmm5, %zmm8 + vmovups _poly3_1+__svml_derfc_data_internal(%rip), %zmm5 + vfmadd231pd {rn-sae}, %zmm8, %zmm12, %zmm6 + vfmadd231pd {rn-sae}, %zmm8, %zmm14, %zmm3 + vfmadd231pd {rn-sae}, %zmm8, %zmm13, %zmm5 + vmovups _poly3_3+__svml_derfc_data_internal(%rip), %zmm12 + vmovups _poly5_3+__svml_derfc_data_internal(%rip), %zmm13 + vfmadd213pd {rn-sae}, %zmm15, %zmm8, %zmm6 + vfmadd213pd {rn-sae}, %zmm1, %zmm8, %zmm3 + vfmadd213pd {rn-sae}, %zmm2, %zmm8, %zmm5 + vmovups _poly3_5+__svml_derfc_data_internal(%rip), %zmm14 -/* P5 = P5 + D2*P07 */ - vmovups _poly3_6+__svml_derfc_data_internal(%rip), %zmm15 - vfmadd213pd {rn-sae}, %zmm0, %zmm8, %zmm6 - vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm3 - vfmadd213pd {rn-sae}, %zmm12, %zmm8, %zmm5 - vmovups _poly3_4+__svml_derfc_data_internal(%rip), %zmm12 - vmovups _poly1_5+__svml_derfc_data_internal(%rip), %zmm13 - vfmadd213pd {rn-sae}, %zmm12, %zmm8, %zmm5 - vfmadd213pd {rn-sae}, %zmm14, %zmm8, %zmm5 - vpandq _Mask32+__svml_derfc_data_internal(%rip), %zmm4, %zmm4 - vpmovqd %zmm4, %ymm0 - vmovups _poly1_4+__svml_derfc_data_internal(%rip), %zmm4 - vfmadd213pd {rn-sae}, %zmm4, %zmm8, %zmm6 + /* P5 = P5 + D2*P07 */ + vmovups _poly3_6+__svml_derfc_data_internal(%rip), %zmm15 + vfmadd213pd {rn-sae}, %zmm0, %zmm8, %zmm6 + vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm3 + vfmadd213pd {rn-sae}, %zmm12, %zmm8, %zmm5 + vmovups _poly3_4+__svml_derfc_data_internal(%rip), %zmm12 + vmovups _poly1_5+__svml_derfc_data_internal(%rip), %zmm13 + vfmadd213pd {rn-sae}, %zmm12, %zmm8, %zmm5 + vfmadd213pd {rn-sae}, %zmm14, %zmm8, %zmm5 + vpandq _Mask32+__svml_derfc_data_internal(%rip), %zmm4, %zmm4 + vpmovqd %zmm4, %ymm0 + vmovups _poly1_4+__svml_derfc_data_internal(%rip), %zmm4 + vfmadd213pd {rn-sae}, %zmm4, %zmm8, %zmm6 -/* T^2 */ - vmulpd {rn-sae}, %zmm8, %zmm8, %zmm4 - vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm6 - vpxord %zmm1, %zmm1, %zmm1 - vgatherdpd 8(%rax,%ymm0), %zmm1{%k2} - vpxord %zmm2, %zmm2, %zmm2 - vgatherdpd (%rax,%ymm0), %zmm2{%k1} + /* T^2 */ + vmulpd {rn-sae}, %zmm8, %zmm8, %zmm4 + vfmadd213pd {rn-sae}, %zmm13, %zmm8, %zmm6 + vpxord %zmm1, %zmm1, %zmm1 + vgatherdpd 8(%rax, %ymm0), %zmm1{%k2} + vpxord %zmm2, %zmm2, %zmm2 + vgatherdpd (%rax, %ymm0), %zmm2{%k1} -/* Diff^2 */ - vmulpd {rn-sae}, %zmm9, %zmm9, %zmm0 - vfmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm15 - vmovups _poly1_6+__svml_derfc_data_internal(%rip), %zmm3 - vfmadd213pd {rn-sae}, %zmm15, %zmm8, %zmm5 - vfmadd213pd {rn-sae}, %zmm3, %zmm8, %zmm6 - vmovups _poly1_7+__svml_derfc_data_internal(%rip), %zmm3 - vfmsub213pd {rn-sae}, %zmm8, %zmm0, %zmm5 - vfmadd213pd {rn-sae}, %zmm3, %zmm8, %zmm6 + /* Diff^2 */ + vmulpd {rn-sae}, %zmm9, %zmm9, %zmm0 + vfmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm15 + vmovups _poly1_6+__svml_derfc_data_internal(%rip), %zmm3 + vfmadd213pd {rn-sae}, %zmm15, %zmm8, %zmm5 + vfmadd213pd {rn-sae}, %zmm3, %zmm8, %zmm6 + vmovups _poly1_7+__svml_derfc_data_internal(%rip), %zmm3 + vfmsub213pd {rn-sae}, %zmm8, %zmm0, %zmm5 + vfmadd213pd {rn-sae}, %zmm3, %zmm8, %zmm6 -/* EXP_X0H *= Diff */ - vmulpd {rn-sae}, %zmm9, %zmm1, %zmm8 + /* EXP_X0H *= Diff */ + vmulpd {rn-sae}, %zmm9, %zmm1, %zmm8 -/* Special arguments (for flags only) */ - vmovups _UF_Threshold+__svml_derfc_data_internal(%rip), %zmm9 - vfmadd213pd {rn-sae}, %zmm5, %zmm4, %zmm6 - vcmppd $21, {sae}, %zmm9, %zmm11, %k0 + /* Special arguments (for flags only) */ + vmovups _UF_Threshold+__svml_derfc_data_internal(%rip), %zmm9 + vfmadd213pd {rn-sae}, %zmm5, %zmm4, %zmm6 + vcmppd $21, {sae}, %zmm9, %zmm11, %k0 -/* EXP_x0H*Diff*(1+P1) */ - vfmadd213pd {rn-sae}, %zmm8, %zmm8, %zmm6 - kmovw %k0, %edx + /* EXP_x0H*Diff*(1+P1) */ + vfmadd213pd {rn-sae}, %zmm8, %zmm8, %zmm6 + kmovw %k0, %edx -/* erfc(|_VARG1|) = erfc_h(x0) - P1 */ - vsubpd {rn-sae}, %zmm6, %zmm2, %zmm0 - vfmadd213pd {rn-sae}, %zmm10, %zmm7, %zmm0 - testl %edx, %edx + /* erfc(|_VARG1|) = erfc_h(x0) - P1 */ + vsubpd {rn-sae}, %zmm6, %zmm2, %zmm0 + vfmadd213pd {rn-sae}, %zmm10, %zmm7, %zmm0 + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovups %zmm11, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 + vmovups %zmm11, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %r12d + incl %r12d + cmpl $8, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovups 128(%rsp), %zmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovups 128(%rsp), %zmm0 -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call erfc@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call erfc@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_erfc_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_derfc_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _erfc_tbl[3488*2][2]; - __declspec(align(64)) VUINT32 _AbsMask[8][2]; - __declspec(align(64)) VUINT32 _MaxThreshold[8][2]; - __declspec(align(64)) VUINT32 _SgnMask[8][2]; - __declspec(align(64)) VUINT32 _One[8][2]; - __declspec(align(64)) VUINT32 _TwoM128[8][2]; - __declspec(align(64)) VUINT32 _SRound[8][2]; - __declspec(align(64)) VUINT32 _poly1_0[8][2]; - __declspec(align(64)) VUINT32 _poly1_1[8][2]; - __declspec(align(64)) VUINT32 _poly3_0[8][2]; - __declspec(align(64)) VUINT32 _poly3_1[8][2]; - __declspec(align(64)) VUINT32 _poly5_0[8][2]; - __declspec(align(64)) VUINT32 _poly5_1[8][2]; - __declspec(align(64)) VUINT32 _poly1_2[8][2]; - __declspec(align(64)) VUINT32 _poly3_2[8][2]; - __declspec(align(64)) VUINT32 _poly5_2[8][2]; - __declspec(align(64)) VUINT32 _poly1_3[8][2]; - __declspec(align(64)) VUINT32 _poly3_3[8][2]; - __declspec(align(64)) VUINT32 _poly5_3[8][2]; - __declspec(align(64)) VUINT32 _poly1_4[8][2]; - __declspec(align(64)) VUINT32 _poly3_4[8][2]; - __declspec(align(64)) VUINT32 _poly1_5[8][2]; - __declspec(align(64)) VUINT32 _poly3_5[8][2]; - __declspec(align(64)) VUINT32 _poly3_6[8][2]; - __declspec(align(64)) VUINT32 _poly1_6[8][2]; - __declspec(align(64)) VUINT32 _poly1_7[8][2]; - __declspec(align(64)) VUINT32 _UF_Threshold[8][2]; - __declspec(align(64)) VUINT32 _Mask32[8][2]; +typedef struct { + __declspec(align(64)) VUINT32 _erfc_tbl[3488*2][2]; + __declspec(align(64)) VUINT32 _AbsMask[8][2]; + __declspec(align(64)) VUINT32 _MaxThreshold[8][2]; + __declspec(align(64)) VUINT32 _SgnMask[8][2]; + __declspec(align(64)) VUINT32 _One[8][2]; + __declspec(align(64)) VUINT32 _TwoM128[8][2]; + __declspec(align(64)) VUINT32 _SRound[8][2]; + __declspec(align(64)) VUINT32 _poly1_0[8][2]; + __declspec(align(64)) VUINT32 _poly1_1[8][2]; + __declspec(align(64)) VUINT32 _poly3_0[8][2]; + __declspec(align(64)) VUINT32 _poly3_1[8][2]; + __declspec(align(64)) VUINT32 _poly5_0[8][2]; + __declspec(align(64)) VUINT32 _poly5_1[8][2]; + __declspec(align(64)) VUINT32 _poly1_2[8][2]; + __declspec(align(64)) VUINT32 _poly3_2[8][2]; + __declspec(align(64)) VUINT32 _poly5_2[8][2]; + __declspec(align(64)) VUINT32 _poly1_3[8][2]; + __declspec(align(64)) VUINT32 _poly3_3[8][2]; + __declspec(align(64)) VUINT32 _poly5_3[8][2]; + __declspec(align(64)) VUINT32 _poly1_4[8][2]; + __declspec(align(64)) VUINT32 _poly3_4[8][2]; + __declspec(align(64)) VUINT32 _poly1_5[8][2]; + __declspec(align(64)) VUINT32 _poly3_5[8][2]; + __declspec(align(64)) VUINT32 _poly3_6[8][2]; + __declspec(align(64)) VUINT32 _poly1_6[8][2]; + __declspec(align(64)) VUINT32 _poly1_7[8][2]; + __declspec(align(64)) VUINT32 _UF_Threshold[8][2]; + __declspec(align(64)) VUINT32 _Mask32[8][2]; } __svml_derfc_data_internal; #endif __svml_derfc_data_internal: - /*== _erfc_tbl ==*/ - .quad 0x47f0000000000000, 0x47f20dd750429b6d - .quad 0x47efb7c9030853b3, 0x47f20d8f1975c85d - .quad 0x47ef6f9447be0743, 0x47f20cb67bd452c7 - .quad 0x47ef27640f9853d9, 0x47f20b4d8bac36c1 - .quad 0x47eedf3a9ba22dad, 0x47f209546ad13ccf - .quad 0x47ee971a2c4436ae, 0x47f206cb4897b148 - .quad 0x47ee4f05010eca8c, 0x47f203b261cd0053 - .quad 0x47ee06fd58842c7e, 0x47f2000a00ae3804 - .quad 0x47edbf056fe2df35, 0x47f1fbd27cdc72d3 - .quad 0x47ed771f82f02f4e, 0x47f1f70c3b4f2cc8 - .quad 0x47ed2f4dcbc2f894, 0x47f1f1b7ae44867f - .quad 0x47ece792828eae5c, 0x47f1ebd5552f795b - .quad 0x47ec9fefdd6eaf19, 0x47f1e565bca400d4 - .quad 0x47ec58681031eb6a, 0x47f1de697e413d29 - .quad 0x47ec10fd4c26e896, 0x47f1d6e14099944a - .quad 0x47ebc9b1bfe82687, 0x47f1cecdb718d61c - .quad 0x47eb82879728f11e, 0x47f1c62fa1e869b6 - .quad 0x47eb3b80fa82a4bb, 0x47f1bd07cdd189ac - .quad 0x47eaf4a00f426daa, 0x47f1b357141d95d5 - .quad 0x47eaade6f7378a0e, 0x47f1a91e5a748165 - .quad 0x47ea6757d08215d8, 0x47f19e5e92b964ab - .quad 0x47ea20f4b5626818, 0x47f19318bae53a04 - .quad 0x47e9dabfbc090901, 0x47f1874ddcdfce24 - .quad 0x47e994baf66747ad, 0x47f17aff0e56ec10 - .quad 0x47e94ee8720076b6, 0x47f16e2d7093cd8c - .quad 0x47e9094a37bbd66e, 0x47f160da304ed92f - .quad 0x47e8c3e24bb73372, 0x47f153068581b781 - .quad 0x47e87eb2ad1a4032, 0x47f144b3b337c90c - .quad 0x47e839bd55eaafc8, 0x47f135e3075d076b - .quad 0x47e7f5043ae11862, 0x47f12695da8b5bde - .quad 0x47e7b0894b3ea35c, 0x47f116cd8fd67618 - .quad 0x47e76c4e70a390e7, 0x47f1068b94962e5e - .quad 0x47e728558ee694fc, 0x47f0f5d1602f7e41 - .quad 0x47e6e4a083ed132f, 0x47f0e4a073dc1b91 - .quad 0x47e6a13127843ec1, 0x47f0d2fa5a70c168 - .quad 0x47e65e094b3b2413, 0x47f0c0e0a8223359 - .quad 0x47e61b2aba3da093, 0x47f0ae54fa490723 - .quad 0x47e5d89739304dcf, 0x47f09b58f724416b - .quad 0x47e59650860d6469, 0x47f087ee4d9ad247 - .quad 0x47e5545858029b39, 0x47f07416b4fbfe7c - .quad 0x47e512b05f5006e1, 0x47f05fd3ecbec298 - .quad 0x47e4d15a4527fdc7, 0x47f04b27bc403d30 - .quad 0x47e49057ab900447, 0x47f03613f2812daf - .quad 0x47e44faa2d42c4a0, 0x47f0209a65e29545 - .quad 0x47e40f535d93160e, 0x47f00abcf3e187a9 - .quad 0x47e3cf54c8501620, 0x47efe8fb01a47307 - .quad 0x47e38faff1aa574a, 0x47efbbbbef34b4b2 - .quad 0x47e35066561a275d, 0x47ef8dc092d58ff8 - .quad 0x47e311796a46f064, 0x47ef5f0cdaf15313 - .quad 0x47e2d2ea9aefb636, 0x47ef2fa4c16c0019 - .quad 0x47e294bb4cd4b2bd, 0x47eeff8c4b1375db - .quad 0x47e256ecdca212cc, 0x47eecec7870ebca8 - .quad 0x47e219809edbd524, 0x47ee9d5a8e4c934e - .quad 0x47e1dc77dfcacd02, 0x47ee6b4982f158b9 - .quad 0x47e19fd3e36ac96a, 0x47ee38988fc46e72 - .quad 0x47e16395e559e218, 0x47ee054be79d3042 - .quad 0x47e127bf18c8eadc, 0x47edd167c4cf9d2a - .quad 0x47e0ec50a86d0dd4, 0x47ed9cf06898cdaf - .quad 0x47e0b14bb6728cd8, 0x47ed67ea1a8b5368 - .quad 0x47e076b15c70aa28, 0x47ed325927fb9d89 - .quad 0x47e03c82ab5eb831, 0x47ecfc41e36c7df9 - .quad 0x47e002c0ab8a5018, 0x47ecc5a8a3fbea40 - .quad 0x47df92d8b91d5cc7, 0x47ec8e91c4d01368 - .quad 0x47df210d6a9a6a31, 0x47ec5701a484ef9d - .quad 0x47deb02147ce245c, 0x47ec1efca49a5011 - .quad 0x47de40161b701275, 0x47ebe68728e29d5e - .quad 0x47ddd0ed9ea4bdd6, 0x47ebada596f25436 - .quad 0x47dd62a978f7c957, 0x47eb745c55905bf8 - .quad 0x47dcf54b4058455f, 0x47eb3aafcc27502e - .quad 0x47dc88d479173cce, 0x47eb00a46237d5be - .quad 0x47dc1d4695e87644, 0x47eac63e7ecc1411 - .quad 0x47dbb2a2f7e56520, 0x47ea8b8287ec6a09 - .quad 0x47db48eaee924501, 0x47ea5074e2157620 - .quad 0x47dae01fb7e55a66, 0x47ea1519efaf889e - .quad 0x47da78428050527e, 0x47e9d97610879642 - .quad 0x47da115462cbbc17, 0x47e99d8da149c13f - .quad 0x47d9ab5668e4930a, 0x47e96164fafd8de3 - .quad 0x47d946498acbd766, 0x47e925007283d7aa - .quad 0x47d8e22eaf68291e, 0x47e8e86458169af8 - .quad 0x47d87f06ac6960c4, 0x47e8ab94f6caa71d - .quad 0x47d81cd2465e1d96, 0x47e86e9694134b9e - .quad 0x47d7bb9230cb40b4, 0x47e8316d6f48133d - .quad 0x47d75b470e454d35, 0x47e7f41dc12c9e89 - .quad 0x47d6fbf1708ba47c, 0x47e7b6abbb7aaf19 - .quad 0x47d69d91d8a595da, 0x47e7791b886e7403 - .quad 0x47d64028b7013867, 0x47e73b714a552763 - .quad 0x47d5e3b66b9405a9, 0x47e6fdb11b1e0c34 - .quad 0x47d5883b45fd2b63, 0x47e6bfdf0beddaf5 - .quad 0x47d52db785a98aca, 0x47e681ff24b4ab04 - .quad 0x47d4d42b59f95afa, 0x47e6441563c665d4 - .quad 0x47d47b96e267647a, 0x47e60625bd75d07b - .quad 0x47d423fa2eb1cb59, 0x47e5c8341bb23767 - .quad 0x47d3cd553f045d45, 0x47e58a445da7c74c - .quad 0x47d377a8042458d1, 0x47e54c5a57629db0 - .quad 0x47d322f25f9da2fd, 0x47e50e79d1749ac9 - .quad 0x47d2cf3423f15fdf, 0x47e4d0a6889dfd9f - .quad 0x47d27c6d14c5e341, 0x47e492e42d78d2c5 - .quad 0x47d22a9ce717edcb, 0x47e4553664273d24 - .quad 0x47d1d9c3416d2b4b, 0x47e417a0c4049fd0 - .quad 0x47d189dfbc07e690, 0x47e3da26d759aef5 - .quad 0x47d13af1e11be721, 0x47e39ccc1b136d5a - .quad 0x47d0ecf92d046d22, 0x47e35f93fe7d1b3d - .quad 0x47d09ff50e7b3f93, 0x47e32281e2fd1a92 - .quad 0x47d053e4e6d0c10b, 0x47e2e5991bd4cbfc - .quad 0x47d008c80a24ff10, 0x47e2a8dcede3673b - .quad 0x47cf7d3b7f436013, 0x47e26c508f6bd0ff - .quad 0x47ceeaca836a27cc, 0x47e22ff727dd6f7b - .quad 0x47ce5a3b7c9b56da, 0x47e1f3d3cf9ffe5a - .quad 0x47cdcb8cae2d747f, 0x47e1b7e98fe26217 - .quad 0x47cd3ebc436b0f26, 0x47e17c3b626c7a12 - .quad 0x47ccb3c8500ea349, 0x47e140cc3173f007 - .quad 0x47cc2aaed0bfcfee, 0x47e1059ed7740313 - .quad 0x47cba36dab91c0e9, 0x47e0cab61f084b93 - .quad 0x47cb1e02b082b720, 0x47e09014c2ca74da - .quad 0x47ca9a6b99fc973b, 0x47e055bd6d32e8d7 - .quad 0x47ca18a60d56673e, 0x47e01bb2b87c6968 - .quad 0x47c998af9b56a3ae, 0x47dfc3ee5d1524b0 - .quad 0x47c91a85c0b65519, 0x47df511a91a67d2a - .quad 0x47c89e25e6a4cef9, 0x47dedeeee0959518 - .quad 0x47c8238d634c0127, 0x47de6d6ffaa65a25 - .quad 0x47c7aab97a554544, 0x47ddfca26f5bbf88 - .quad 0x47c733a75d6e91b8, 0x47dd8c8aace11e63 - .quad 0x47c6be542ccffc2f, 0x47dd1d2cfff91594 - .quad 0x47c64abcf7c175b4, 0x47dcae8d93f1d7b7 - .quad 0x47c5d8debd20aace, 0x47dc40b0729ed548 - .quad 0x47c568b66be6f268, 0x47dbd3998457afdb - .quad 0x47c4fa40e3af3674, 0x47db674c8ffc6283 - .quad 0x47c48d7af53bc19f, 0x47dafbcd3afe8ab6 - .quad 0x47c4226162fbddd5, 0x47da911f096fbc26 - .quad 0x47c3b8f0e1912f70, 0x47da27455e14c93c - .quad 0x47c351261854b991, 0x47d9be437a7de946 - .quad 0x47c2eafda1db784a, 0x47d9561c7f23a47b - .quad 0x47c286740c7a7dab, 0x47d8eed36b886d93 - .quad 0x47c22385daca7f47, 0x47d8886b1e5ecfd1 - .quad 0x47c1c22f842ac1f2, 0x47d822e655b417e7 - .quad 0x47c1626d75435220, 0x47d7be47af1f5d89 - .quad 0x47c1043c1086777d, 0x47d75a91a7f4d2ed - .quad 0x47c0a797aeb152f2, 0x47d6f7c69d7d3ef8 - .quad 0x47c04c7c9f4b9690, 0x47d695e8cd31867e - .quad 0x47bfe5ce524c8ee5, 0x47d634fa54fa285f - .quad 0x47bf35a715b2f3e1, 0x47d5d4fd33729015 - .quad 0x47be887bf681f218, 0x47d575f3483021c3 - .quad 0x47bdde4553ef94de, 0x47d517de540ce2a3 - .quad 0x47bd36fb7fa50177, 0x47d4babff975a04c - .quad 0x47bc9296beb09cf1, 0x47d45e99bcbb7915 - .quad 0x47bbf10f4a759889, 0x47d4036d0468a7a2 - .quad 0x47bb525d5198cb1c, 0x47d3a93b1998736c - .quad 0x47bab678f8eabedb, 0x47d35005285227f1 - .quad 0x47ba1d5a5c4edb96, 0x47d2f7cc3fe6f423 - .quad 0x47b986f98f9f96c8, 0x47d2a09153529381 - .quad 0x47b8f34e9f8f93a6, 0x47d24a55399ea239 - .quad 0x47b8625192879e39, 0x47d1f518ae487dc8 - .quad 0x47b7d3fa69816db5, 0x47d1a0dc51a9934d - .quad 0x47b7484120df1b01, 0x47d14da0a961fd14 - .quad 0x47b6bf1db13f3983, 0x47d0fb6620c550af - .quad 0x47b63888104d811a, 0x47d0aa2d09497f2b - .quad 0x47b5b478318ff939, 0x47d059f59af7a906 - .quad 0x47b532e6073095f2, 0x47d00abff4dec7a3 - .quad 0x47b4b3c982c338c7, 0x47cf79183b101c5b - .quad 0x47b4371a960807f8, 0x47cedeb406d9c825 - .quad 0x47b3bcd133aa0ffc, 0x47ce4652fadcb6b2 - .quad 0x47b344e54ffa23b9, 0x47cdaff4969c0b04 - .quad 0x47b2cf4ee1a5f0fc, 0x47cd1b982c501370 - .quad 0x47b25c05e26b3f99, 0x47cc893ce1dcbef7 - .quad 0x47b1eb024fc75285, 0x47cbf8e1b1ca2279 - .quad 0x47b17c3c2ba26319, 0x47cb6a856c3ed54f - .quad 0x47b10fab7cf72f94, 0x47cade26b7fbed95 - .quad 0x47b0a548507696c0, 0x47ca53c4135a6526 - .quad 0x47b03d0ab9273b94, 0x47c9cb5bd549b111 - .quad 0x47afadd5a20258d3, 0x47c944ec2e4f5630 - .quad 0x47aee5c1730b147c, 0x47c8c07329874652 - .quad 0x47ae21c938a45a83, 0x47c83deeada4d25a - .quad 0x47ad61dd57628999, 0x47c7bd5c7df3fe9c - .quad 0x47aca5ee4649e31f, 0x47c73eba3b5b07b7 - .quad 0x47abedec8fddb340, 0x47c6c205655be720 - .quad 0x47ab39c8d3276d8a, 0x47c6473b5b15a7a1 - .quad 0x47aa8973c4b5c03e, 0x47c5ce595c455b0a - .quad 0x47a9dcde2f93a207, 0x47c5575c8a468362 - .quad 0x47a933f8f6375f2c, 0x47c4e241e912c305 - .quad 0x47a88eb51369acb9, 0x47c46f066040a832 - .quad 0x47a7ed039b24c96b, 0x47c3fda6bc016994 - .quad 0x47a74ed5bb6bb581, 0x47c38e1fae1d6a9d - .quad 0x47a6b41cbd198bc8, 0x47c3206dceef5f87 - .quad 0x47a61cca04a90795, 0x47c2b48d9e5dea1c - .quad 0x47a588cf12f4446b, 0x47c24a7b84d38971 - .quad 0x47a4f81d85ecc55b, 0x47c1e233d434b813 - .quad 0x47a46aa7194bd324, 0x47c17bb2c8d41535 - .quad 0x47a3e05da73b4159, 0x47c116f48a6476cc - .quad 0x47a3593328f6abbe, 0x47c0b3f52ce8c383 - .quad 0x47a2d519b7653e1e, 0x47c052b0b1a174ea - .quad 0x47a254038bac19d6, 0x47bfe6460fef4680 - .quad 0x47a1d5e2ffb96d40, 0x47bf2a901ccafb37 - .quad 0x47a15aaa8ec85205, 0x47be723726b824a9 - .quad 0x47a0e24cd5dd8846, 0x47bdbd32ac4c99b0 - .quad 0x47a06cbc943d255a, 0x47bd0b7a0f921e7c - .quad 0x479ff3d957b29b39, 0x47bc5d0497c09e74 - .quad 0x479f13a043742333, 0x47bbb1c972f23e50 - .quad 0x479e38b43cbd0f0f, 0x47bb09bfb7d11a84 - .quad 0x479d62fbdc2e756b, 0x47ba64de673e8837 - .quad 0x479c925e02b41668, 0x47b9c31c6df3b1b8 - .quad 0x479bc6c1da1f3121, 0x47b92470a61b6965 - .quad 0x479b000ed5b4a626, 0x47b888d1d8e510a3 - .quad 0x479a3e2cb2ae9edb, 0x47b7f036c0107294 - .quad 0x4799810378b1f299, 0x47b75a96077274ba - .quad 0x4798c87b7a37834f, 0x47b6c7e64e7281cb - .quad 0x4798147d54e9cc33, 0x47b6381e2980956b - .quad 0x479764f1f1f6ddea, 0x47b5ab342383d178 - .quad 0x4796b9c28657041a, 0x47b5211ebf41880b - .quad 0x479612d893085125, 0x47b499d478bca735 - .quad 0x4795701de53f4d2e, 0x47b4154bc68d75c3 - .quad 0x4794d17c968d062b, 0x47b3937b1b31925a - .quad 0x479436df0cfabf1d, 0x47b31458e6542847 - .quad 0x4793a02ffb1b7cee, 0x47b297db960e4f63 - .quad 0x47930d5a6013afc5, 0x47b21df9981f8e53 - .quad 0x47927e49879737d3, 0x47b1a6a95b1e786f - .quad 0x4791f2e909de04d2, 0x47b131e14fa1625d - .quad 0x47916b24cb8f8f92, 0x47b0bf97e95f2a64 - .quad 0x4790e6e8fda56cf7, 0x47b04fc3a0481321 - .quad 0x479066221d4539d8, 0x47afc4b5e32d6259 - .quad 0x478fd179e7243e3c, 0x47aeeea8c1b1db94 - .quad 0x478edd4d2aec5adb, 0x47ae1d4cf1e2450a - .quad 0x478def98c6c79efa, 0x47ad508f9a1ea64f - .quad 0x478d0838121f2418, 0x47ac885df3451a07 - .quad 0x478c2706fa45005e, 0x47abc4a54a84e834 - .quad 0x478b4be201caa4b4, 0x47ab055303221015 - .quad 0x478a76a63fc95c79, 0x47aa4a549829587e - .quad 0x4789a7315f1d6a55, 0x47a993979e14fffe - .quad 0x4788dd619d943ca1, 0x47a8e109c4622913 - .quad 0x47881915cb0e3323, 0x47a83298d717210e - .quad 0x47875a2d48946eb1, 0x47a78832c03aa2b1 - .quad 0x4786a08807632262, 0x47a6e1c5893c380b - .quad 0x4785ec0687e8dcb2, 0x47a63f3f5c4de13b - .quad 0x47853c89d8bb3ddb, 0x47a5a08e85af27e0 - .quad 0x478491f395818f54, 0x47a505a174e9c929 - .quad 0x4783ec25e5d5af12, 0x47a46e66be002240 - .quad 0x47834b037c1bbfc5, 0x47a3dacd1a8d8cce - .quad 0x4782ae6f94510dd8, 0x47a34ac36ad8dafe - .quad 0x4782164df2d29765, 0x47a2be38b6d92415 - .quad 0x47818282e31ba3e8, 0x47a2351c2f2d1449 - .quad 0x4780f2f3367cd6aa, 0x47a1af5d2e04f3f6 - .quad 0x4780678442cc256f, 0x47a12ceb37ff9bc3 - .quad 0x477fc037c21c3622, 0x47a0adb5fcfa8c75 - .quad 0x477eb940d8319831, 0x47a031ad58d56279 - .quad 0x477db9f17e61c310, 0x479f7182a851bca2 - .quad 0x477cc218694238a2, 0x479e85c449e377f3 - .quad 0x477bd18548996419, 0x479da0005e5f28df - .quad 0x477ae808c479c371, 0x479cc0180af00a8b - .quad 0x477a05747a543aa7, 0x479be5ecd2fcb5f9 - .quad 0x4779299afa0246a6, 0x479b1160991ff737 - .quad 0x4778544fc2c8c1da, 0x479a4255a00b9f03 - .quad 0x477785674053e8b9, 0x479978ae8b55ce1b - .quad 0x4776bcb6c7ad4854, 0x4798b44e6031383e - .quad 0x4775fa14942c3d54, 0x4797f5188610ddc8 - .quad 0x47753d57c461a5a7, 0x47973af0c737bb45 - .quad 0x4774865856ff632a, 0x479685bb5134ef13 - .quad 0x4773d4ef27bc49a6, 0x4795d55cb54cd53a - .quad 0x477328f5ec350e67, 0x479529b9e8cf9a1e - .quad 0x4772824730cacbb4, 0x479482b8455dc491 - .quad 0x4771e0be557fa673, 0x4793e03d891b37de - .quad 0x477144378ad22027, 0x4793422fd6d12e2b - .quad 0x4770ac8fce979b96, 0x4792a875b5ffab56 - .quad 0x477019a4e8d69649, 0x479212f612dee7fb - .quad 0x476f16aad1422a55, 0x479181983e5133dd - .quad 0x476e030141df7d25, 0x4790f443edc5ce49 - .quad 0x476cf80d4afc3019, 0x47906ae13b0d3255 - .quad 0x476bf5908f50b4a0, 0x478fcab1483ea7fc - .quad 0x476afb4e269693df, 0x478ec72615a894c4 - .quad 0x476a090a974cfebe, 0x478dcaf3691fc448 - .quad 0x47691e8bd0830a74, 0x478cd5ec93c12432 - .quad 0x47683b9923a85f7b, 0x478be7e5ac24963b - .quad 0x47675ffb3e6519a0, 0x478b00b38d6b3575 - .quad 0x47668b7c2479902d, 0x478a202bd6372dce - .quad 0x4765bde729a6b60f, 0x47894624e78e0faf - .quad 0x4764f708eb9fba63, 0x47887275e3a6869e - .quad 0x476436af4c058acb, 0x4787a4f6aca256cb - .quad 0x47637ca96a6cd1d4, 0x4786dd7fe3358230 - .quad 0x4762c8c79e6f04a3, 0x47861beae53b72b7 - .quad 0x47621adb71c70c75, 0x47856011cc3b036d - .quad 0x476172b79a7a1181, 0x4784a9cf6bda3f4c - .quad 0x4760d02ff50ce651, 0x4783f8ff5042a88e - .quad 0x476033197ec68c0e, 0x47834d7dbc76d7e5 - .quad 0x475f3694a0008381, 0x4782a727a89a3f14 - .quad 0x475e11332d0714c5, 0x478205dac02bd6b9 - .quad 0x475cf5bf1fed1e70, 0x4781697560347b26 - .quad 0x475be3eb08ae7c20, 0x4780d1d69569b82d - .quad 0x475adb6b810af9e2, 0x47803ede1a45bfee - .quad 0x4759dbf721b98dfa, 0x477f60d8aa2a88f2 - .quad 0x4758e54677bb0151, 0x477e4cc4abf7d065 - .quad 0x4757f713f9cc9784, 0x477d4143a9dfe965 - .quad 0x4757111bfdfb3ce0, 0x477c3e1a5f5c077c - .quad 0x4756331caf57b5db, 0x477b430ecf4a83a8 - .quad 0x47555cd603cc4150, 0x477a4fe83fb9db25 - .quad 0x47548e09b21414bf, 0x4779646f35a76624 - .quad 0x4753c67b27d50fe7, 0x4778806d70b2fc36 - .quad 0x475305ef7fdbfb95, 0x4777a3ade6c8b3e5 - .quad 0x47524c2d787b9e37, 0x4776cdfcbfc1e263 - .quad 0x475198fd6a0ee7bd, 0x4775ff2750fe7820 - .quad 0x4750ec293d9e6d85, 0x477536fc18f7ce5c - .quad 0x4750457c63a96690, 0x4774754abacdf1dc - .quad 0x474f49879624a021, 0x4773b9e3f9d06e3f - .quad 0x474e139bb05eb49e, 0x47730499b503957f - .quad 0x474ce8d4b7fd6c70, 0x4772553ee2a336bf - .quad 0x474bc8d516fda8ba, 0x4771aba78ba3af89 - .quad 0x474ab341ee553e25, 0x477107a8c7323a6e - .quad 0x4749a7c305336484, 0x47706918b6355624 - .quad 0x4748a602b88919c0, 0x476f9f9cfd9c3035 - .quad 0x4747adadead962ed, 0x476e77448fb66bb9 - .quad 0x4746be73f45149fb, 0x476d58da68fd1170 - .quad 0x4745d80693276a6d, 0x476c4412bf4b8f0b - .quad 0x4744fa19dc42d409, 0x476b38a3af2e55b4 - .quad 0x474424642c28ff75, 0x476a3645330550ff - .quad 0x4743569e18328604, 0x47693cb11a30d765 - .quad 0x47429082600643fd, 0x47684ba3004a50d0 - .quad 0x4741d1cddf5a82de, 0x476762d84469c18f - .quad 0x47411a3f7ffbbfea, 0x4766821000795a03 - .quad 0x474069982c189a9e, 0x4765a90b00981d93 - .quad 0x473f7f3581a4dc2c, 0x4764d78bba8ca5fd - .quad 0x473e381802242163, 0x47640d564548fad7 - .quad 0x473cfd6511405b2d, 0x47634a305080681f - .quad 0x473bcead7f01492f, 0x47628de11c5031eb - .quad 0x473aab859b20ac9e, 0x4761d83170fbf6fb - .quad 0x473993851cc9779a, 0x476128eb96be8798 - .quad 0x473886470ad946a7, 0x47607fdb4dafea5f - .quad 0x47378369a4a2cbd6, 0x475fb99b8b8279e1 - .quad 0x47368a8e4b2fc8c2, 0x475e7f232d9e2630 - .quad 0x47359b596b012aaa, 0x475d4fed7195d7e8 - .quad 0x4734b572664bd2dc, 0x475c2b9cf7f893bf - .quad 0x4733d8837fb08d1d, 0x475b11d702b3deb2 - .quad 0x47330439c56dadf6, 0x475a024365f771bd - .quad 0x47323844fd08cb93, 0x4758fc8c794b03b5 - .quad 0x473174578f6efd5d, 0x4758005f08d6f1ef - .quad 0x4730b826758a086b, 0x47570d6a46e07dda - .quad 0x473003692548d98b, 0x4756235fbd7a4345 - .quad 0x472eabb2fe335196, 0x475541f340697987 - .quad 0x472d5e6777a83c2a, 0x475468dadf4080ab - .quad 0x472c1e6cb6239574, 0x475397ced7af2b15 - .quad 0x472aeb4423e690e7, 0x4752ce898809244e - .quad 0x4729c47374a0974e, 0x47520cc76202c5fb - .quad 0x4728a98484a1e8d3, 0x47515246dda49d47 - .quad 0x47279a0538dd4fc7, 0x47509ec86c75d497 - .quad 0x472695875fb574a0, 0x474fe41cd9bb4eee - .quad 0x47259ba0929261c5, 0x474e97ba3b77f306 - .quad 0x4724abea183bc470, 0x474d57f524723822 - .quad 0x4723c600c7f477c5, 0x474c245d4b99847a - .quad 0x4722e984ed53e777, 0x474afc85e0f82e12 - .quad 0x4722161a2cd9d894, 0x4749e005769dbc1d - .quad 0x47214b67693928cf, 0x4748ce75e9f6f8a0 - .quad 0x47208916a9561720, 0x4747c7744d9378f7 - .quad 0x471f9da9fde95755, 0x4746caa0d3582fe9 - .quad 0x471e38a4dc27b11b, 0x4745d79eb71e893b - .quad 0x471ce283a9e3e330, 0x4744ee1429bf7cc0 - .quad 0x471b9ab1a96e3b3e, 0x47440daa3c89f5b6 - .quad 0x471a609f7584d32b, 0x4743360ccd23db3a - .quad 0x471933c2d52c56c9, 0x474266ea71d4f71a - .quad 0x4718139690c0d187, 0x47419ff4663ae9df - .quad 0x4716ff9a4837fa43, 0x4740e0de78654d1e - .quad 0x4715f7524a8e81a2, 0x4740295ef6591848 - .quad 0x4714fa476e59f668, 0x473ef25d37f49fe1 - .quad 0x47140806eb78e353, 0x473da01102b5f851 - .quad 0x4713202235dada50, 0x473c5b5412dcafad - .quad 0x4712422ed95a3235, 0x473b23a5a23e4210 - .quad 0x47116dc656a14df6, 0x4739f8893d8fd1c1 - .quad 0x4710a2860115569c, 0x4738d986a4187285 - .quad 0x470fc01dbb80c841, 0x4737c629a822bc9e - .quad 0x470e4c0b066a4970, 0x4736be02102b3520 - .quad 0x470ce823f4cc4bad, 0x4735c0a378c90bca - .quad 0x470b93bf40d5eccb, 0x4734cda5374ea275 - .quad 0x470a4e3a125adc76, 0x4733e4a23d1f4703 - .quad 0x470916f7c5f2f764, 0x47330538fbb77ecd - .quad 0x4707ed61b5d3db0a, 0x47322f0b496539be - .quad 0x4706d0e7045988cb, 0x473161be46ad3b50 - .quad 0x4705c0fc68335b0c, 0x47309cfa445b00ff - .quad 0x4704bd1bfa2aba3d, 0x472fc0d55470cf51 - .quad 0x4703c4c504792bf8, 0x472e577bbcd49935 - .quad 0x4702d77bd3a382bc, 0x472cfd4a5adec5c0 - .quad 0x4701f4c988d02149, 0x472bb1a9657ce465 - .quad 0x47011c3bed8e716a, 0x472a740684026555 - .quad 0x47004d654905dad0, 0x472943d4a1d1ed39 - .quad 0x46ff0fb86d056745, 0x4728208bc334a6a5 - .quad 0x46fd9676faafa27f, 0x472709a8db59f25c - .quad 0x46fc2e43d417197b, 0x4725feada379d8b7 - .quad 0x46fad664518e771b, 0x4724ff207314a102 - .quad 0x46f98e25420092da, 0x47240a8c1949f75e - .quad 0x46f854daa4a49b0f, 0x4723207fb7420eb9 - .quad 0x46f729df6503422a, 0x4722408e9ba3327f - .quad 0x46f60c95193c542d, 0x47216a501f0e42ca - .quad 0x46f4fc63c27c71ae, 0x47209d5f819c9e29 - .quad 0x46f3f8b98f93052a, 0x471fb2b792b40a22 - .quad 0x46f3010aa198de78, 0x471e3bcf436a1a95 - .quad 0x46f214d0d2983650, 0x471cd55277c18d05 - .quad 0x46f1338b7e273194, 0x471b7e94604479dc - .quad 0x46f05cbf4be650ab, 0x471a36eec00926dd - .quad 0x46ef1febf7a916aa, 0x4718fdc1b2dcf7b9 - .quad 0x46ed997c68d65936, 0x4717d2737527c3f9 - .quad 0x46ec2556a4e7a90f, 0x4716b4702d7d5849 - .quad 0x46eac2aa7516ade4, 0x4715a329b7d30748 - .quad 0x46e970b05888fda2, 0x47149e17724f4d41 - .quad 0x46e82ea92dbc1a27, 0x4713a4b60ba9aa4e - .quad 0x46e6fbdddeff308f, 0x4712b6875310f785 - .quad 0x46e5d79f11e27f6b, 0x4711d312098e9dba - .quad 0x46e4c144d984e1b8, 0x4710f9e1b4dd36df - .quad 0x46e3b82e6ba892a4, 0x47102a8673a94692 - .quad 0x46e2bbc1d878d272, 0x470ec929a665b449 - .quad 0x46e1cb6bc4eaa678, 0x470d4f4b4c8e09ed - .quad 0x46e0e69f27a37df3, 0x470be6abbb10a5aa - .quad 0x46e00cd508511266, 0x470a8e8cc1fadef6 - .quad 0x46de7b1882bccac5, 0x47094637d5bacfdb - .quad 0x46dcf09287e48bb9, 0x47080cfdc72220cf - .quad 0x46db792bbc489b04, 0x4706e2367dc27f95 - .quad 0x46da140206ab9450, 0x4705c540b4936fd2 - .quad 0x46d8c03d2d39119b, 0x4704b581b8d170fc - .quad 0x46d77d0e6e5bed21, 0x4703b2652b06c2b2 - .quad 0x46d649b01d73110a, 0x4702bb5cc22e5db6 - .quad 0x46d525654343aad2, 0x4701cfe010e2052d - .quad 0x46d40f79420887c7, 0x4700ef6c4c84a0fe - .quad 0x46d3073f7cff4a85, 0x47001984165a5f36 - .quad 0x46d20c1303550f0e, 0x46fe9b5e8d00ce77 - .quad 0x46d11d563e54f40e, 0x46fd16f5716c6c1a - .quad 0x46d03a72a2bbdc06, 0x46fba4f035d60e03 - .quad 0x46cec5b0ca2b20f5, 0x46fa447b7b03f045 - .quad 0x46cd2bfc6210880a, 0x46f8f4ccca7fc90d - .quad 0x46cba6c1c6e87c40, 0x46f7b5223dac7336 - .quad 0x46ca35068e9c89cf, 0x46f684c227fcacef - .quad 0x46c8d5dbaa383b98, 0x46f562fac4329b48 - .quad 0x46c7885ce9f67cdb, 0x46f44f21e49054f2 - .quad 0x46c64bb0863504dd, 0x46f34894a5e24657 - .quad 0x46c51f06ad20e4c3, 0x46f24eb7254ccf83 - .quad 0x46c4019914f0b53a, 0x46f160f438c70913 - .quad 0x46c2f2aa92823e80, 0x46f07ebd2a2d2844 - .quad 0x46c1f186b432c98b, 0x46ef4f12e9ab070a - .quad 0x46c0fd8160ca94a0, 0x46edb5ad0b27805c - .quad 0x46c015f67a552924, 0x46ec304efa2c6f4e - .quad 0x46be749309831666, 0x46eabe09e9144b5e - .quad 0x46bcd3caa04cdd1b, 0x46e95df988e76644 - .quad 0x46bb48774d0f8e45, 0x46e80f439b4ee04b - .quad 0x46b9d189f9f85cbf, 0x46e6d11788a69c64 - .quad 0x46b86e0050236315, 0x46e5a2adfa0b4bc4 - .quad 0x46b71ce426a561d3, 0x46e4834877429b8f - .quad 0x46b5dd4af79906a9, 0x46e37231085c7d9a - .quad 0x46b4ae555af52cdf, 0x46e26eb9daed6f7e - .quad 0x46b38f2e86f38216, 0x46e1783ceac28910 - .quad 0x46b27f0bd5d0e6b1, 0x46e08e1badf0fced - .quad 0x46b17d2c50b2bfaf, 0x46df5f7d88472604 - .quad 0x46b088d83f7e4069, 0x46ddb92b5212fb8d - .quad 0x46af42c17ae0ebf6, 0x46dc282cd3957eda - .quad 0x46ad8c3ea48f2889, 0x46daab7abace48dc - .quad 0x46abeceb1f9f5b3d, 0x46d94219bfcb4928 - .quad 0x46aa6399674d366b, 0x46d7eb1a2075864e - .quad 0x46a8ef2a9a18d857, 0x46d6a597219a93da - .quad 0x46a78e8dcd2e6bfd, 0x46d570b69502f313 - .quad 0x46a640bf6745325e, 0x46d44ba864670882 - .quad 0x46a504c882a97424, 0x46d335a62115bce2 - .quad 0x46a3d9be56279ee9, 0x46d22df298214423 - .quad 0x46a2bec1a4917edb, 0x46d133d96ae7e0dd - .quad 0x46a1b2fe32991d5c, 0x46d046aeabcfcdec - .quad 0x46a0b5aa42bf5054, 0x46cecb9cfe1d8642 - .quad 0x469f8c0c2e2ce8de, 0x46cd21397ead99cb - .quad 0x469dc6b6f1384e18, 0x46cb8d094c86d374 - .quad 0x469c19fa87de37fb, 0x46ca0df0f0c626dc - .quad 0x469a848df650bea7, 0x46c8a2e269750a39 - .quad 0x46990538b942ea7c, 0x46c74adc8f4064d3 - .quad 0x46979ad1fce5b3d8, 0x46c604ea819f007c - .quad 0x4696443fdcf0c327, 0x46c4d0231928c6f9 - .quad 0x46950076ad55cc39, 0x46c3aba85fe22e20 - .quad 0x4693ce784b411931, 0x46c296a70f414053 - .quad 0x4692ad53760d7287, 0x46c1905613b3abf2 - .quad 0x46919c232fd50b88, 0x46c097f6156f32c5 - .quad 0x46909a0e254c75e0, 0x46bf59a20caf6695 - .quad 0x468f4c8c392fb944, 0x46bd9c73698fb1dc - .quad 0x468d800ed59bd026, 0x46bbf716c6168bae - .quad 0x468bcd30dfbd611b, 0x46ba6852c6b58392 - .quad 0x468a32923130213f, 0x46b8eefd70594a89 - .quad 0x4688aee4cd06ec1b, 0x46b789fb715aae95 - .quad 0x468740ebfab80eb4, 0x46b6383f726a8e04 - .quad 0x4685e77b6bbd2127, 0x46b4f8c96f26a26a - .quad 0x4684a1766b6e5e8a, 0x46b3caa61607f920 - .quad 0x46836dcf18a6465c, 0x46b2acee2f5ecdb8 - .quad 0x46824b85a8bf0124, 0x46b19ec60b1242ed - .quad 0x468139a7b37f8475, 0x46b09f5cf4dd2877 - .quad 0x4680374f8792ca97, 0x46af5bd95d8730d8 - .quad 0x467e87470e4f4246, 0x46ad9371e2ff7c35 - .quad 0x467cbbab18b73217, 0x46abe41de54d155a - .quad 0x467b0a44aa2f067e, 0x46aa4c89e08ef4f3 - .quad 0x467971a1ec0f40c7, 0x46a8cb738399b12c - .quad 0x4677f064a8ba8323, 0x46a75fa8dbc84bec - .quad 0x467685414c16188e, 0x46a608078a70dcbc - .quad 0x46752efdf060cd20, 0x46a4c37c0394d094 - .quad 0x4673ec7176d784b5, 0x46a39100d5687bfe - .quad 0x4672bc82ab9d2302, 0x46a26f9df8519bd7 - .quad 0x46719e2774614040, 0x46a15e6827001f18 - .quad 0x467090640946d2d5, 0x46a05c803e4831c1 - .quad 0x466f24946f22d5ae, 0x469ed22548cffd35 - .quad 0x466d45f15b49b35e, 0x469d06ad6ecdf971 - .quad 0x466b83349fd05191, 0x469b551c847fbc96 - .quad 0x4669dacb2c432ef4, 0x4699bc09f112b494 - .quad 0x46684b37e1cbf8eb, 0x46983a1ff0aa239d - .quad 0x4666d3126d74b6cc, 0x4696ce1aa3fd7bdd - .quad 0x4665710631158bff, 0x469576c72b514859 - .quad 0x466423d13a3b73e1, 0x46943302cc4a0da8 - .quad 0x4662ea43465e3995, 0x469301ba221dc9bb - .quad 0x4661c33cd3c37add, 0x4691e1e857adc568 - .quad 0x4660adae3e73c2b5, 0x4690d2966b1746f7 - .quad 0x465f512dd15b73b7, 0x468fa5b4f49cc6b2 - .quad 0x465d6608dc942687, 0x468dc3ae30b55c16 - .quad 0x465b9823c51276e1, 0x468bfd7555a3bd68 - .quad 0x4659e5ce2f93dd76, 0x468a517d9e61628a - .quad 0x46584d6fe15b6b93, 0x4688be4f8f6c951f - .quad 0x4656cd87746bc76b, 0x46874287ded49339 - .quad 0x465564a91cd221f0, 0x4685dcd669f2cd34 - .quad 0x4654117d7e2c667d, 0x46848bfd38302871 - .quad 0x4652d2c0909ebeb9, 0x46834ecf8a3c124a - .quad 0x4651a7409475f2f9, 0x46822430f521cbcf - .quad 0x46508ddd13bd35e7, 0x46810b1488aeb235 - .quad 0x464f0b0be22d18e8, 0x4680027c00a263a6 - .quad 0x464d1a75065a8c74, 0x467e12ee004efc37 - .quad 0x464b48117843c1c7, 0x467c3e44ae32b16b - .quad 0x46499218b8ac7f8e, 0x467a854ea14102a8 - .quad 0x4647f6dc6010b4ad, 0x4678e6761569f45d - .quad 0x464674c6ae60d852, 0x4677603bac345f65 - .quad 0x46450a592e3c968e, 0x4675f1353cdad001 - .quad 0x4643b62b6aafb0c8, 0x4674980cb3c80949 - .quad 0x464276e9b681072f, 0x4673537f00b6ad4d - .quad 0x46414b54042f445b, 0x4672225b12bffc68 - .quad 0x4640323ccdc1a3dc, 0x46710380e1adb7e9 - .quad 0x463e5510173b9a50, 0x466febc107d5efaa - .quad 0x463c6654733b86ad, 0x466df0f2a0ee6947 - .quad 0x463a964ed354f984, 0x466c14b2188bcee4 - .quad 0x4638e324c651b064, 0x466a553644f7f07d - .quad 0x46374b179d1eba81, 0x4668b0cfce0579e0 - .quad 0x4635cc82d9070d95, 0x466725e7c5dd20f7 - .quad 0x463465daafca8b1d, 0x4665b2fe547a1340 - .quad 0x463315aaa46df48e, 0x466456a974e92e93 - .quad 0x4631da9433aebbcf, 0x46630f93c3699078 - .quad 0x4630b34d93135fc0, 0x4661dc7b5b978cf8 - .quad 0x462f3d41033c44cc, 0x4660bc30c5d52f15 - .quad 0x462d36d25268cd2b, 0x465f5b2be65a0c7f - .quad 0x462b512a1fb1d8fc, 0x465d5f3a8dea7357 - .quad 0x46298a442fc4fc15, 0x465b82915b03515b - .quad 0x4627e03b1cc6d738, 0x4659c3517e789488 - .quad 0x462651468e010b8a, 0x46581fb7df06136e - .quad 0x4624dbb989001d84, 0x4656961b8d641d06 - .quad 0x46237e00dac4e8b5, 0x465524ec4d916cae - .quad 0x462236a197bf0b9a, 0x4653cab1343d18d1 - .quad 0x46210437b1569d7e, 0x4652860757487a01 - .quad 0x461fcae93fb7323c, 0x465155a09065d4f7 - .quad 0x461db23c3f816f92, 0x4650384250e4c9fc - .quad 0x461bbc1a022c14d4, 0x464e59890b926c78 - .quad 0x4619e658108af2e0, 0x464c642116a8a9e3 - .quad 0x46182eedbe410407, 0x464a8e405e651ab6 - .quad 0x461693f22ab61ce9, 0x4648d5f98114f872 - .quad 0x4615139a5f3661fb, 0x4647397c5a66e307 - .quad 0x4613ac3788a1b429, 0x4645b71456c5a4c4 - .quad 0x46125c354b26cb4e, 0x46444d26de513197 - .quad 0x461122182e9a270f, 0x4642fa31d6371537 - .quad 0x460ff8f84418d510, 0x4641bcca373b7b43 - .quad 0x460dd4262aac53e8, 0x4640939ab853339f - .quad 0x460bd3474ec16ca5, 0x463efac5187b2863 - .quad 0x4609f40fd0082b72, 0x463cf1e86235d0e7 - .quad 0x4608345858c4438d, 0x463b0a68a2128bab - .quad 0x4606921be96b86b1, 0x4639423165bc4444 - .quad 0x46050b75c536f927, 0x4637974e743dea3d - .quad 0x46039e9f7dcbe479, 0x463607e9eacd1050 - .quad 0x460249ef1c3be817, 0x4634924a74dec729 - .quad 0x46010bd565b35393, 0x463334d19e0c2160 - .quad 0x45ffc5b8748842b2, 0x4631edfa3c5f5cca - .quad 0x45fd9b4a18a38642, 0x4630bc56f1b54701 - .quad 0x45fb95cede6d524b, 0x462f3d2185e047d9 - .quad 0x45f9b2df77a02225, 0x462d26cb87945e87 - .quad 0x45f7f03b935e8e3a, 0x462b334fac4b9f99 - .quad 0x45f64bc777824f0e, 0x46296076f7918d1c - .quad 0x45f4c389be9acb83, 0x4627ac2d72fc2c63 - .quad 0x45f355a9387de78c, 0x462614801550319e - .quad 0x45f2006aeb6bc768, 0x4624979ac8b28927 - .quad 0x45f0c23033e2a376, 0x462333c68e2d0548 - .quad 0x45ef32ea02b55d23, 0x4621e767bce37dd7 - .quad 0x45ed099c5c770f5a, 0x4620b0fc5b6d05a0 - .quad 0x45eb05cfe2e99435, 0x461f1e3523b41d7d - .quad 0x45e92508d0743fc9, 0x461d00de6608effe - .quad 0x45e764f46cf19f9c, 0x461b0778b7b3301b - .quad 0x45e5c36679625a01, 0x46192fb04ec0f6cf - .quad 0x45e43e56c3e340a7, 0x46177756ec9f78fa - .quad 0x45e2d3dee1869201, 0x4615dc61922d5a06 - .quad 0x45e182380bd2f494, 0x46145ce65699ff6d - .quad 0x45e047b91fcb6491, 0x4612f71a5f159970 - .quad 0x45de45a9790460c1, 0x4611a94ff571654f - .quad 0x45dc242efeaca760, 0x461071f4bbea09ec - .quad 0x45da284cb82c31ce, 0x460e9f1ff8ddd774 - .quad 0x45d84f7a1eb7f7f3, 0x460c818223a202c7 - .quad 0x45d697595326d7dc, 0x460a887bd2b4404d - .quad 0x45d4fdb462549af1, 0x4608b1a336c5eb6b - .quad 0x45d3807ab51436a8, 0x4606fab63324088a - .quad 0x45d21dbea9108398, 0x46056197e30205ba - .quad 0x45d0d3b35021d695, 0x4603e44e45301b92 - .quad 0x45cf4154a787cc1b, 0x460281000bfe4c3f - .quad 0x45cd0623f4f4a28f, 0x460135f28f2d50b4 - .quad 0x45caf2e69a262610, 0x46000187dded5975 - .quad 0x45c904e0b3aa82a3, 0x45fdc479de0ef001 - .quad 0x45c73985278fa30e, 0x45fbad4fdad3caa1 - .quad 0x45c58e7298af87d9, 0x45f9baed3ed27ab8 - .quad 0x45c401708b7e64c6, 0x45f7ead9ce4285bb - .quad 0x45c2906cb94eb40d, 0x45f63ac6b4edc88e - .quad 0x45c139788f2dd663, 0x45f4a88be2a6390c - .quad 0x45bff58dab4f2a79, 0x45f332259185f1a0 - .quad 0x45bda552fdd03043, 0x45f1d5b1f3793044 - .quad 0x45bb7f1f31b571b6, 0x45f0916f04b6e18b - .quad 0x45b98006c2117e39, 0x45eec77101de6926 - .quad 0x45b7a550f03b145b, 0x45ec960bf23153e0 - .quad 0x45b5ec74662c5961, 0x45ea8bd20fc65ef7 - .quad 0x45b453141082302a, 0x45e8a61745ec7d1d - .quad 0x45b2d6fc2c9e8bc0, 0x45e6e25d0e756261 - .quad 0x45b1761f87a6dc3d, 0x45e53e4f7d1666cb - .quad 0x45b02e94eb4ac8a5, 0x45e3b7c27a7ddb0e - .quad 0x45adfd296adef82a, 0x45e24caf2c32af14 - .quad 0x45abc8ed301215eb, 0x45e0fb3186804d0f - .quad 0x45a9bd5efd2c0f15, 0x45df830c0bb41fd7 - .quad 0x45a7d79f2db2d4a5, 0x45dd3c0f1a91c846 - .quad 0x45a61500f5293f06, 0x45db1e5acf351d87 - .quad 0x45a47306f04df3d6, 0x45d92712d259ce66 - .quad 0x45a2ef5ff0323b28, 0x45d7538c60a04476 - .quad 0x45a187e3fb74914d, 0x45d5a14b04b47879 - .quad 0x45a03a918225a966, 0x45d40dfd87456f4c - .quad 0x459e0b15822be4e0, 0x45d2977b1172b9d5 - .quad 0x459bce26a2fb7176, 0x45d13bc07e891491 - .quad 0x4599bb1bc445c3c6, 0x45cff1dbb4300811 - .quad 0x4597cef42e9a617d, 0x45cd9a880f306bd8 - .quad 0x459606e51e0a4963, 0x45cb6e45220b55e0 - .quad 0x459460560e841d79, 0x45c96a0b33f2c4da - .quad 0x4592d8dd47a40ad8, 0x45c78b07e9e924ac - .quad 0x45916e3ca3d4393f, 0x45c5ce9ab1670dd2 - .quad 0x45901e5e8edda47b, 0x45c4325167006bb0 - .quad 0x458dcea670907819, 0x45c2b3e53538ff3f - .quad 0x458b8e9bec48816d, 0x45c15137a7f44864 - .quad 0x45897945aa1c9c35, 0x45c0084ff125639d - .quad 0x45878b88a4e7107b, 0x45bdaeb0b7311ec7 - .quad 0x4585c2827c986b62, 0x45bb7937d1c40c53 - .quad 0x45841b858361b0fe, 0x45b96d082f59ab06 - .quad 0x458294150fb19119, 0x45b7872d9fa10aad - .quad 0x458129e20e732adc, 0x45b5c4e8e37bc7d0 - .quad 0x457fb58fa290d436, 0x45b423ac0df49a40 - .quad 0x457d499229819bc6, 0x45b2a117230ad284 - .quad 0x457b0c1a759f7739, 0x45b13af4f04f9998 - .quad 0x4578f9bb6c075486, 0x45afde703724e560 - .quad 0x45770f4744735c2b, 0x45ad77f0c82e7641 - .quad 0x457549cb0f7ef8e2, 0x45ab3ee02611d7dd - .quad 0x4573a68a8c1234e1, 0x45a92ff33023d5bd - .quad 0x457222fc469e8b8c, 0x45a7481a9e69f53f - .quad 0x4570bcc5fd30f1dd, 0x45a5847eda620959 - .quad 0x456ee3728761897b, 0x45a3e27c1fcc74bd - .quad 0x456c7fa0c7e3bac7, 0x45a25f9ee0b923dc - .quad 0x456a4a56eb132a54, 0x45a0f9a068653200 - .quad 0x4568401b5336a8a0, 0x459f5cc7718082b0 - .quad 0x45665db58e2358c1, 0x459cf7e53d6a2ca5 - .quad 0x4564a029a7ea7cd1, 0x459ac0f5f3229372 - .quad 0x456304b3d1961171, 0x4598b498644847ea - .quad 0x456188c45630dc53, 0x4596cfa9bcca59dc - .quad 0x456029fbd8b92835, 0x45950f411d4fd2cd - .quad 0x455dcc4fabf32f1c, 0x459370ab8327af5e - .quad 0x455b767ecb334a7e, 0x4591f167f88c6b6e - .quad 0x45594ec06c0ff29f, 0x45908f24085d4597 - .quad 0x455751977e5803d3, 0x458e8f70e181d61a - .quad 0x45557bc950253825, 0x458c324c20e337dc - .quad 0x4553ca58b816a87f, 0x458a03261574b54e - .quad 0x45523a8197d2607e, 0x4587fe903cdf5855 - .quad 0x4550c9b4b0a6a16f, 0x4586215c58da3450 - .quad 0x454eeb27891d2bb3, 0x45846897d4b69fc6 - .quad 0x454c77dbfc848866, 0x4582d1877d731b7b - .quad 0x454a357936adf17b, 0x458159a386b11517 - .quad 0x4548203fa7992554, 0x457ffd27ae9393ce - .quad 0x454634b7f56b0a5c, 0x457d7c593130dd0b - .quad 0x45446fada7e6a5fe, 0x457b2cd607c79bcf - .quad 0x4542ce2a3690576b, 0x45790ae4d3405651 - .quad 0x45414d707280e6cf, 0x45771312dd1759e2 - .quad 0x453fd5f08ad2b29a, 0x4575422ef5d8949d - .quad 0x453d48d57f7718b7, 0x45739544b0ecc957 - .quad 0x453aef3ce0add578, 0x45720997f73e73dd - .quad 0x4538c52800f939c8, 0x45709ca0eaacd277 - .quad 0x4536c6e61e57bf9b, 0x456e9810295890ec - .quad 0x4534f10e8ebc44a9, 0x456c2b45b5aa4a1d - .quad 0x4533407b59d72a5b, 0x4569eee068fa7596 - .quad 0x4531b2443858c0a1, 0x4567df2b399c10a8 - .quad 0x453043b9f1621ff3, 0x4565f8b87a31bd85 - .quad 0x452de4c41eb96b45, 0x4564385c96e9a2d9 - .quad 0x452b77e5cbd5d147, 0x45629b2933ef4cbc - .quad 0x45293c9fc62bfb11, 0x45611e68a6378f8a - .quad 0x45272f0c4c8e9bff, 0x455f7f338086a86b - .quad 0x45254b92affb11af, 0x455cf8d7d9ce040a - .quad 0x45238ee17b150182, 0x455aa577251ae485 - .quad 0x4521f5e908f70e0c, 0x4558811d739efb5f - .quad 0x45207dd6833bb380, 0x45568823e52970be - .quad 0x451e481e7f6ac4bc, 0x4554b72ae68e8b4c - .quad 0x451bcc58edad5559, 0x45530b14dbe876bc - .quad 0x451983ee9896d582, 0x455181012ef86610 - .quad 0x45176aca47764427, 0x45501647ba798745 - .quad 0x45157d287836bd3d, 0x454d90e917701675 - .quad 0x4513b79118c097a1, 0x454b2a87e86d0c8a - .quad 0x451216d1b97279a9, 0x4548f53dcb377293 - .quad 0x451097f82fc04025, 0x4546ed2f2515e933 - .quad 0x450e709b415656d0, 0x45450ecc9ed47f19 - .quad 0x450beaa3d6c15504, 0x454356cd5ce7799e - .quad 0x4509996ed9b83967, 0x4541c229a587ab78 - .quad 0x450778be2bd9795b, 0x45404e15ecc7f3f6 - .quad 0x450584a99af8a842, 0x453deffc7e6a6017 - .quad 0x4503b99832cbefdd, 0x453b7b040832f310 - .quad 0x4502143a112d0466, 0x453938e021f36d76 - .quad 0x45009182b326b229, 0x4537258610b3b233 - .quad 0x44fe5d47637f5db5, 0x45353d3bfc82a909 - .quad 0x44fbd20fcc3b76d7, 0x45337c92babdc2fd - .quad 0x44f97c9dda748fc7, 0x4531e06010120f6a - .quad 0x44f7589207e91ad1, 0x453065b9616170d4 - .quad 0x44f561e669aa7fdb, 0x452e13dd96b3753b - .quad 0x44f394e7a2ac9fc7, 0x452b950d32467392 - .quad 0x44f1ee2e61eccc99, 0x45294a72263259a5 - .quad 0x44f06a996198f06f, 0x45272fd93e036cdc - .quad 0x44ee0e8fbad2703e, 0x45254164576929ab - .quad 0x44eb8328ee330ae9, 0x45237b83c521fe96 - .quad 0x44e92e21013a7670, 0x4521daf033182e96 - .quad 0x44e70aff489136eb, 0x45205ca50205d26a - .quad 0x44e515a7c77fab48, 0x451dfbb6235639fa - .quad 0x44e34a53ce0bbb6f, 0x451b7807e294781f - .quad 0x44e1a58b2b09fdcb, 0x4519298add70a734 - .quad 0x44e0241de6c31e5b, 0x45170beaf9c7ffb6 - .quad 0x44dd863cf753825c, 0x45151b2cd6709222 - .quad 0x44daffb906d0ae09, 0x451353a6cf7f7fff - .quad 0x44d8afbf9e9520c2, 0x4511b1fa8cbe84a7 - .quad 0x44d691c7c768bece, 0x4510330f0fd69921 - .quad 0x44d4a1a79df39cde, 0x450da81670f96f9b - .quad 0x44d2db8ca9009091, 0x450b24a16b4d09aa - .quad 0x44d13bf4cb384e4a, 0x4508d6eeb6efdbd6 - .quad 0x44cf7f4f88751db4, 0x4506ba91ac734786 - .quad 0x44ccc7626bced452, 0x4504cb7966770ab5 - .quad 0x44ca4ab6470c1c5c, 0x450305e9721d0981 - .quad 0x44c80451c2811052, 0x4501667311fff70a - .quad 0x44c5efa4d64f59f6, 0x44ffd3de10d62855 - .quad 0x44c40880373ed740, 0x44fd1aefbcd48d0c - .quad 0x44c24b0d7368076e, 0x44fa9cc93c25aca9 - .quad 0x44c0b3c7b0d960f0, 0x44f85487ee3ea735 - .quad 0x44be7eea02e4ed88, 0x44f63daf8b4b1e0c - .quad 0x44bbd6408059b696, 0x44f45421e69a6ca1 - .quad 0x44b96826d9e90341, 0x44f294175802d99a - .quad 0x44b72fa4fa12d516, 0x44f0fa17bf41068f - .quad 0x44b5282d2d5803fe, 0x44ef05e82aae2bb9 - .quad 0x44b34d935f1be064, 0x44ec578101b29058 - .quad 0x44b19c050c56d0d7, 0x44e9e39dc5dd2f7c - .quad 0x44b01001dd9c7cce, 0x44e7a553a728bbf2 - .quad 0x44ad4ca9b634ecba, 0x44e5982008db1304 - .quad 0x44aab81c5c80cf39, 0x44e3b7e00422e51b - .quad 0x44a85cfacb7477f2, 0x44e200c898d9ee3e - .quad 0x44a6365862923eb9, 0x44e06f5f7eb65a56 - .quad 0x44a43fb317b5dc37, 0x44de00e9148a1d25 - .quad 0x44a274ea96044bd7, 0x44db623734024e92 - .quad 0x44a0d23817479c67, 0x44d8fd4e01891bf8 - .quad 0x449ea84dd1592590, 0x44d6cd44c7470d89 - .quad 0x449bef1b1a12823e, 0x44d4cd9c04158cd7 - .quad 0x4499730edfda64ac, 0x44d2fa34bf5c8344 - .quad 0x44972ede3b7eaa25, 0x44d14f4890ff2461 - .quad 0x44951db1ec3a3087, 0x44cf92c49dfa4df5 - .quad 0x44933b1c9d1576ec, 0x44cccaaea71ab0df - .quad 0x44918311f8a03aca, 0x44ca40829f001197 - .quad 0x448fe3bcf4629fea, 0x44c7eef13b59e96c - .quad 0x448d083fda665164, 0x44c5d11e1a252bf5 - .quad 0x448a6d7d18831888, 0x44c3e296303b2297 - .quad 0x44880dcd6603df1b, 0x44c21f47009f43ce - .quad 0x4485e4062d5b6a4e, 0x44c083768c5e4542 - .quad 0x4483eb6ef47c2758, 0x44be1777d831265f - .quad 0x44821fb7a81c5444, 0x44bb69f10b0191b5 - .quad 0x44807cefb734d68b, 0x44b8f8a3a05b5b53 - .quad 0x447dfefbdb19ac7e, 0x44b6be573c40c8e7 - .quad 0x447b4831fb123440, 0x44b4b645ba991fdb - .quad 0x4478cf81557d20b6, 0x44b2dc119095729f - .quad 0x44768f6f0feb4755, 0x44b12bbcfa4d62de - .quad 0x447482fa78c40635, 0x44af4343c7d504b9 - .quad 0x4472a59289a484fb, 0x44ac74d4fe1e0e8b - .quad 0x4470f30c4d0be5c0, 0x44a9e614ecbf4af6 - .quad 0x446ecf3428c48d4f, 0x44a791716475420c - .quad 0x446bff86d9ec8499, 0x44a571d34563050a - .quad 0x446970bb87f4ae14, 0x44a3829407a207d8 - .quad 0x44671d0b55b79b86, 0x44a1bf74244aed5a - .quad 0x4464ff315d036fbd, 0x44a024924c7520d1 - .quad 0x4463125f6a3d2570, 0x449d5cc6ba567f29 - .quad 0x44615233ae8815f2, 0x449ab3560167ccaa - .quad 0x445f755ea760487d, 0x449846e9dda7a163 - .quad 0x445c905bbd9ab5a6, 0x4496121d7db32bdd - .quad 0x4459eebaa0589b4e, 0x449410047ead6894 - .quad 0x44578a6de0f41b89, 0x44923c2090cdde78 - .quad 0x44555df1790f2f61, 0x44909257fca001c0 - .quad 0x4453643ec463a3cf, 0x448e1dd9ec677783 - .quad 0x445198c18435598d, 0x448b5ceb5a13221b - .quad 0x444fee9bab9f4e14, 0x4488dbaa11de2037 - .quad 0x444cf82e0eb6196b, 0x448694680a9a3ee6 - .quad 0x444a474e7029a919, 0x448481f73b3778e8 - .quad 0x4447d5af6513e2be, 0x44829f9e7d8fd094 - .quad 0x44459d93e1d8f57d, 0x4480e90f64b5b103 - .quad 0x444399c279e4699a, 0x447eb4b9e47b58c9 - .quad 0x4441c579bbca6885, 0x447bdfe62f60dd70 - .quad 0x44401c659160612d, 0x44794d1de5c4576f - .quad 0x443d352b1ae26940, 0x4476f66f6ab90c3c - .quad 0x443a78e8252c204d, 0x4474d67050b31c2a - .quad 0x4437fd7c80f3410e, 0x4472e8318008cf89 - .quad 0x4435bcf92cc55d86, 0x4471273463a1589b - .quad 0x4433b1f876b10da7, 0x446f1ec20afad0e2 - .quad 0x4431d791bb1324a1, 0x446c39fa0d4a5a2b - .quad 0x4430294e37abcee8, 0x44699946bf7e02a1 - .quad 0x442d463db5fa3c13, 0x44673679b24aeb9b - .quad 0x442a82a5f4047a5b, 0x44650bf2558ab78f - .quad 0x4428011fb05fe090, 0x446314916abfa1ea - .quad 0x4425bb91decf8a58, 0x44614bad9006f53b - .quad 0x4423ac71ce35c1d3, 0x445f5a1196b5bb2e - .quad 0x4421ceb656955c59, 0x445c698e001f6d30 - .quad 0x44201dcc2acf7755, 0x4459beca74b0f147 - .quad 0x441d2b166911c178, 0x445753637caac6d9 - .quad 0x441a6459c5b11342, 0x4455218993857afc - .quad 0x4417e086accc805d, 0x445323f3f19cff3e - .quad 0x44159962aef547b3, 0x445155d47fdb9c94 - .quad 0x4413894608650ede, 0x444f6599b70323ca - .quad 0x4411ab0e4d284f44, 0x444c6dc8a4bb3ba6 - .quad 0x440ff4248ebb8299, 0x4449bcfd83a431e9 - .quad 0x440ce42dd8e4fa23, 0x44474ca889bbacd5 - .quad 0x440a1e8aa1400997, 0x444516d33e26c040 - .quad 0x44079c430435a7fc, 0x44431612a7ef535f - .quad 0x440557046eb39249, 0x4441457ab75c2489 - .quad 0x440349127b59b217, 0x443f41259c9550c0 - .quad 0x44016d392dff5104, 0x443c46969ca99a2e - .quad 0x43ff7d80dc993f2f, 0x443993e82b76e726 - .quad 0x43fc72c149cb214b, 0x44372267ac1b25a0 - .quad 0x43f9b270c24cc8fa, 0x4434ec0062aeeb78 - .quad 0x43f73585df7b6643, 0x4432eb2d18a2081b - .quad 0x43f4f59f9910367e, 0x44311aeb0b11d1a1 - .quad 0x43f2ecf5b7f6abe3, 0x442eed5c0bbf1061 - .quad 0x43f1164ab45aa235, 0x442bf4ab21b4f3f0 - .quad 0x43eed9bdbc6f1b0a, 0x442944462d4d5991 - .quad 0x43ebd8c96533b39b, 0x4426d561de54f6a1 - .quad 0x43e921ec84d5860e, 0x4424a1d472804fc8 - .quad 0x43e6ae172414ceba, 0x4422a406e25fcb44 - .quad 0x43e476e3b661be8c, 0x4420d6e7662dda9d - .quad 0x43e276873924f0b4, 0x441e6bba6770e22d - .quad 0x43e0a7c2c9322f59, 0x441b797ab2ba22d2 - .quad 0x43de0bad18c4e37d, 0x4418cf813910fdcd - .quad 0x43db18eba0be4d24, 0x441666f488db6e0a - .quad 0x43d86f7884e1caad, 0x4414399f7770045f - .quad 0x43d608484d592328, 0x441241e1ebbbf4ec - .quad 0x43d3dcfaee52a8f5, 0x44107aa30ce6a5a0 - .quad 0x43d1e7cbac093f27, 0x440dbe8969a24c6f - .quad 0x43d023827dc88ed9, 0x440ad7301258d788 - .quad 0x43cd16cd999791c3, 0x440837a640fa9d3d - .quad 0x43ca3666de0788b0, 0x4405d90f358d61f6 - .quad 0x43c79e17816df1e8, 0x4403b5342f7be9c0 - .quad 0x43c546e385224d10, 0x4401c674ecd152d3 - .quad 0x43c32a7a483e977b, 0x440007b997a0b531 - .quad 0x43c1432649c86c4d, 0x43fce8cc007a6432 - .quad 0x43bf177ce0bd5836, 0x43fa109c0bccbc39 - .quad 0x43bbff3166bc36ee, 0x43f77f5624913c3a - .quad 0x43b934fc0975fb30, 0x43f52e251d5d3b1f - .quad 0x43b6b13ebb9a5ad4, 0x43f316da780bc4d9 - .quad 0x43b46d17a80cc174, 0x43f133deb1d35260 - .quad 0x43b2624f3a0a8870, 0x43ef00460b24acf8 - .quad 0x43b08b47d7733cb6, 0x43ebee2903d584f9 - .quad 0x43adc5de496b1810, 0x43e92920a7c80e26 - .quad 0x43aac9615b3c9fd7, 0x43e6a9b25345c773 - .quad 0x43a818d3a356669e, 0x43e4691b26b9c82f - .quad 0x43a5acbdab2ed713, 0x43e2613e9610f6d1 - .quad 0x43a37e61fd4c0fe0, 0x43e08c969adf0bea - .quad 0x43a187ab3d71db11, 0x43ddcc4ac4f59be5 - .quad 0x439f8637ea4e52ac, 0x43dad2d0a9a18288 - .quad 0x439c577fd709b099, 0x43d82498a7cc94b9 - .quad 0x43997a3dc62119c8, 0x43d5ba462dee8a02 - .quad 0x4396e66137bb7cca, 0x43d38d330d8806a0 - .quad 0x439494a3f6a9a70e, 0x43d1975e0627306c - .quad 0x43927e767bb79ea2, 0x43cfa6b5ee8f3088 - .quad 0x43909dee32687729, 0x43cc78892308bd90 - .quad 0x438ddb6ae2f39381, 0x43c99b5ec6741cb3 - .quad 0x438ad1f9fba4b2ab, 0x43c7073c400e10dc - .quad 0x438816dde4c11ca3, 0x43c4b4ee0b3a84d6 - .quad 0x4385a245d5e5289c, 0x43c29df4862ac231 - .quad 0x43836d26a686daaf, 0x43c0bc7294e0cbaf - .quad 0x438171277cbbce9c, 0x43be163bd8df8640 - .quad 0x437f5120b45c00e6, 0x43bb0a61bce91993 - .quad 0x437c1c74b30d0bb0, 0x43b84cbb00f925f0 - .quad 0x43793b02e5cf0324, 0x43b5d5841ce6cb73 - .quad 0x4376a46f43f3118c, 0x43b39dbcd485dd07 - .quad 0x43745132973bb79b, 0x43b19f153b38a108 - .quad 0x43723a85891dc72b, 0x43afa7b9159fc471 - .quad 0x43705a4dba466c4e, 0x43ac6de3429e31fa - .quad 0x436d561964307dc4, 0x43a98769faac8a1b - .quad 0x436a4fa0f13737e8, 0x43a6ebf82977acf0 - .quad 0x4367984b636ad1be, 0x43a4940bc89fa5aa - .quad 0x4365281628cb373a, 0x43a278e135bcf0a4 - .quad 0x4362f7cc38bc628d, 0x43a0946088b6f8ed - .quad 0x436100f1aef8eaf5, 0x439dc21972b9e9f4 - .quad 0x435e7b62ce66acde, 0x439ab3e8cfada51a - .quad 0x435b5198cf325114, 0x4397f5483f729c27 - .quad 0x43587b15da6677af, 0x43957e33e2b1c6da - .quad 0x4355ef5de2e68985, 0x4393477480d89e25 - .quad 0x4353a6d00852a688, 0x43914a8b54629fb2 - .quad 0x43519a90b14f53af, 0x438f033fa073d520 - .quad 0x434f88eba04114cb, 0x438bcede5acc0d40 - .quad 0x434c3dea36b87937, 0x4388ee7b29d0b081 - .quad 0x43494a28136fa731, 0x438659917bbb6632 - .quad 0x4346a4b2c9663fa1, 0x43840877b79cd868 - .quad 0x43444580945b8452, 0x4381f44979177348 - .quad 0x43422558f1aa9f03, 0x438016d3f0358160 - .quad 0x43403dbf8db89298, 0x437cd508600d0ba8 - .quad 0x433d11c2965639f6, 0x4379d4ae77a21604 - .quad 0x433a03065db54a4b, 0x437723974e9529d8 - .quad 0x433745e6013d8cf3, 0x4374b9a944f57915 - .quad 0x4334d1f2eb853100, 0x43728f9c9b769ee3 - .quad 0x43329f9b7c4f56df, 0x43709ee66b6e99e9 - .quad 0x4330a814a1dfc5ed, 0x436dc34b6999ff72 - .quad 0x432dca8b63e38fa9, 0x436aa5249b4cca57 - .quad 0x432aa36c9242f8bc, 0x4367d9db080918ba - .quad 0x4327d0fbfa6c3c19, 0x436558e88e8945ef - .quad 0x43254a6b679dd96f, 0x43631aa564e92066 - .quad 0x432307d4e71272d7, 0x43611831a9c3763d - .quad 0x4321022313b11381, 0x435e96c265c21fbf - .quad 0x431e65f78e13edcd, 0x435b5d52c19374fe - .quad 0x431b2959e487c93f, 0x43587a2188252d5f - .quad 0x43184436cf62b6f8, 0x4355e440cc8caaf9 - .quad 0x4315ad66c67f3f63, 0x435393ad199301de - .quad 0x43135cb549c616eb, 0x43518135a0647102 - .quad 0x43114ac7e9322a1a, 0x434f4ccd98eab06b - .quad 0x430ee20fae75a2c5, 0x434bfaedff2748c1 - .quad 0x430b931b883c77f2, 0x4349026a7e3c9538 - .quad 0x43089e1f8e1d4be6, 0x434659f3419269ee - .quad 0x4305f9a24050e89f, 0x4343f92e9472ca4c - .quad 0x43039d2746cbe57f, 0x4341d89fb6602df9 - .quad 0x43018115431b6c4a, 0x433fe32077e095c4 - .quad 0x42ff3d3ca19edf64, 0x433c7bf775863df5 - .quad 0x42fbdf55dd9bdce0, 0x433970fb0b5580dc - .quad 0x42f8dd8e25d2255d, 0x4336b88087e4af9f - .quad 0x42f62e225ebca190, 0x433449de67f2c6b2 - .quad 0x42f3c855ef212bad, 0x43321d51dc348d4d - .quad 0x42f1a4576cd5cddc, 0x43302be7023a443e - .quad 0x42ef765035c713d8, 0x432cdec7155697e1 - .quad 0x42ec0d0bdeb46ae2, 0x4329c4671c1a6e3c - .quad 0x42e901afbd3819be, 0x4326feb0af26f865 - .quad 0x42e64a386137b955, 0x432484b1e63b3be4 - .quad 0x42e3ddb15521ce49, 0x43224e68a1458bd7 - .quad 0x42e1b418ba2217c6, 0x432054a9a7c2f05a - .quad 0x42df8c8bad8e2a20, 0x431d2214ad33ca5e - .quad 0x42dc1ba4950b8f4f, 0x4319fb9933adac68 - .quad 0x42d90a0b40dd690c, 0x43172b99eccc462e - .quad 0x42d64d860502b279, 0x4314a8e4dbe3539c - .quad 0x42d3dcf1aadc099d, 0x43126b4018ef81f7 - .quad 0x42d1b02414a73357, 0x43106b4fe82cc6ae - .quad 0x42cf7fa3e4bec2ae, 0x430d44feffb34893 - .quad 0x42cc0aee6d6b1406, 0x430a15d86bb23572 - .quad 0x42c8f684065398bf, 0x43073ea5ac0d71a9 - .quad 0x42c637ff9397e989, 0x4304b5fdd0f567fa - .quad 0x42c3c618d3c706eb, 0x4302737769828878 - .quad 0x42c1988625955723, 0x43006f8da87263ce - .quad 0x42bf4fc2f6d50e41, 0x42fd4710a9e149ed - .quad 0x42bbdb204ff1cda3, 0x42fa12cc7b1bf616 - .quad 0x42b8c75a6fa17116, 0x42f73793d6253bd7 - .quad 0x42b609ec277b8703, 0x42f4abd0af44c7f8 - .quad 0x42b399725d96eb63, 0x42f266f2e981ccfb - .quad 0x42b16d8d1241b86b, 0x42f06154a07d21a2 - .quad 0x42aefd875a51d28d, 0x42ed2842b40e25f0 - .quad 0x42ab8cd873c4de72, 0x42e9f27fa465d061 - .quad 0x42a87d2a89e5ac65, 0x42e7167c3937ded9 - .quad 0x42a5c3e42539c769, 0x42e48a7fb96552ca - .quad 0x42a35791e04cd29f, 0x42e245dcbaa25b1b - .quad 0x42a12fc6cdafd10d, 0x42e040d4ab2de626 - .quad 0x429e8a0077a1ed47, 0x42dce8fcb8dadc2c - .quad 0x429b2118f75a4eb7, 0x42d9b55e7c11d9e6 - .quad 0x429818e8b1c2616f, 0x42d6dbce02ec5c77 - .quad 0x429566cdf4525eb0, 0x42d4527acab6dfeb - .quad 0x4293014fd204bc71, 0x42d210a3ddcb4706 - .quad 0x4290dffe0bfc0c74, 0x42d00e7aba6527c9 - .quad 0x428df6a8d5e14f11, 0x42cc8a12a152d814 - .quad 0x428a9942579915cd, 0x42c95c35893651c9 - .quad 0x42879bdc576e403a, 0x42c6884d52cc9914 - .quad 0x4284f3d9114d799b, 0x42c4047ce663f641 - .quad 0x428297c4e6eb62fc, 0x42c1c7f9c74f3e7c - .quad 0x42807f35ef1a4fc0, 0x42bf95dcee779f74 - .quad 0x427d455e0a3b0d94, 0x42bc0cc007cc808e - .quad 0x4279f70bf04a77ce, 0x42b8e82cd2a6133c - .quad 0x427707990a8defef, 0x42b61d0ef76712e4 - .quad 0x42746c779ebb14ae, 0x42b3a1882865d26e - .quad 0x42721c4420bc9879, 0x42b16cce86450b20 - .quad 0x42700ea48df1e7fb, 0x42aeee1d41e1e516 - .quad 0x426c7856a7693627, 0x42ab72a1658393d4 - .quad 0x42693c7abef59a2c, 0x42a85ac17b553c4f - .quad 0x42665df602b1e0ff, 0x42a59b72775450f3 - .quad 0x4263d256a5ee461d, 0x42a32ae03812fc00 - .quad 0x42619053bac5f645, 0x42a1004b9cd4bae6 - .quad 0x425f1f58fe66e142, 0x429e27d88d5289bf - .quad 0x425b9216793da422, 0x429abdab3fb224ce - .quad 0x42586bd6adace04e, 0x4297b5bd9f52a89e - .quad 0x4255a104640aeb74, 0x4295051a941eb130 - .quad 0x42532755417b50dd, 0x4292a20366f6a0de - .quad 0x4250f5a5274f5c45, 0x429083cdb1163405 - .quad 0x424e07ab300dc4b9, 0x428d458a013d18b4 - .quad 0x424a956163a49613, 0x4289f01f97b2e043 - .quad 0x4247879eb52380ed, 0x4286fb2eaf7d8102 - .quad 0x4244d30488394e18, 0x42845be480207b14 - .quad 0x42426d7af2869fc5, 0x428208a2b041836e - .quad 0x42404e0c593552f5, 0x427ff1ba8cbc9c8d - .quad 0x423cd98a274acae3, 0x427c49f8a8ec4aeb - .quad 0x4239852d44d7528b, 0x42790c81ede57558 - .quad 0x4236927c2c3e4970, 0x42762d5a948b6358 - .quad 0x4233f65a98c177c9, 0x4273a1de0952fd2b - .quad 0x4231a6ed66936eea, 0x42716098d4b94692 - .quad 0x422f36ed3084aa81, 0x426ec24d6a8bc072 - .quad 0x422b986ab7ebdd54, 0x426b3828ebcc128b - .quad 0x422864933f3c0573, 0x4268158a3038115e - .quad 0x42258f359f0c4e8f, 0x42654eb3e9a3e72b - .quad 0x42230d82cb8a968c, 0x4262d93b0174f61a - .quad 0x4220d5e5f59de7c1, 0x4260abe0d45fd5c2 - .quad 0x421dbfc240ab5f81, 0x425d7ce33a39bd89 - .quad 0x421a47db588b15cf, 0x425a134d30d655e4 - .quad 0x421736c0d0a31187, 0x42570e16f315ef40 - .quad 0x421480a1879e8f57, 0x425461cda38e2783 - .quad 0x42121b0591ce1cfd, 0x4252044a2faebb7b - .quad 0x420ff94e3fca1752, 0x424fd91813f8cc8c - .quad 0x420c3a9f9558ffa0, 0x424c2530177987fe - .quad 0x4208eb738c76b2f2, 0x4248deb61106f334 - .quad 0x4205fee91a43fef1, 0x4245f91f55e86346 - .quad 0x4203699940a6a811, 0x4243694e7b13691b - .quad 0x4201216c07263de0, 0x4241256a18de488b - .quad 0x41fe3ae49fef5535, 0x423e49705a5ebd5f - .quad 0x41faab87fb8e4441, 0x423abefb3186e784 - .quad 0x41f786c3dca158c4, 0x42379dc285401b7d - .quad 0x41f4c036b7451223, 0x4234d9a4f359ba1e - .quad 0x41f24cec8453db03, 0x423267e46fd85893 - .quad 0x41f02334e92993b9, 0x42303efdea0a0506 - .quad 0x41ec74fc41217dfb, 0x422cad0afbb569b1 - .quad 0x41e9166837399532, 0x42294e0d5e7a8744 - .quad 0x41e61d46c11dd916, 0x422653d077d9eef0 - .quad 0x41e37dbe7711fcd4, 0x4223b2a639494566 - .quad 0x41e12d55c1e73c65, 0x42216038b4af0a0e - .quad 0x41de4594b115943b, 0x421ea6c598920c48 - .quad 0x41daabdabdb93484, 0x421b081aaf25ade1 - .quad 0x41d77f073eb945df, 0x4217d62079a4e4a6 - .quad 0x41d4b252d0bc8beb, 0x4215042e1a8664ed - .quad 0x41d23a7345c57cca, 0x421287117d29a9e6 - .quad 0x41d00d6f8a57f06e, 0x421054e44f8ee735 - .quad 0x41cc44f136cf3bd8, 0x420cc9cbc5fe04a8 - .quad 0x41c8e38df2790b7a, 0x42095eb2cb828067 - .quad 0x41c5e8f828661e21, 0x42065acfefcd0029 - .quad 0x41c3490e7e2bc31c, 0x4203b20c56ad84f5 - .quad 0x41c0f91b7ff9bb2a, 0x420159b917beb87a - .quad 0x41bddf56913a541e, 0x41fe90cb5cac7057 - .quad 0x41ba48cc1b8a7bc7, 0x41faeb7659e5f7ef - .quad 0x41b71fde01e2ca8c, 0x41f7b4b752e86e5f - .quad 0x41b4578e0b906b32, 0x41f4df8ace15322e - .quad 0x41b1e4659a2a2156, 0x41f26072a17961a0 - .quad 0x41af788fc218597b, 0x41f02d48c75e7d9b - .quad 0x41abac92daac0b9d, 0x41ec7a2ecd5f05a0 - .quad 0x41a85518c3484796, 0x41e90feaede7f2ae - .quad 0x41a56441b55bfff1, 0x41e60dcef1cedc3a - .quad 0x41a2cdd203ab43a1, 0x41e36787980e7387 - .quad 0x41a08700c199ad4f, 0x41e112346e13dd7e - .quad 0x419d0c9857c390f3, 0x41de087915129a98 - .quad 0x419986a650394095, 0x41da6a5096da5b7d - .quad 0x41966d6688315ad6, 0x41d73aff07c7874e - .quad 0x4193b3d55ebd8547, 0x41d46d572e10e216 - .quad 0x41914e7b714e7093, 0x41d1f5ba17e5a90b - .quad 0x418e667d9a8bcd9e, 0x41cf93d0d186fbcd - .quad 0x418ab2733e383ad8, 0x41cbc1b22cec72b0 - .quad 0x4187712b76c8c7f6, 0x41c86529e9df069c - .quad 0x418494d8e1d4fc61, 0x41c5702d052bf73a - .quad 0x4182115447c6627d, 0x41c2d65aee08874c - .quad 0x417fb7d503fc65c8, 0x41c08ccb49580d43 - .quad 0x417bd660913b938c, 0x41bd13c32a98512b - .quad 0x41786db66e158524, 0x41b98a4bfd5a5fad - .quad 0x41756f3ed5aa4222, 0x41b66e459a7794f4 - .quad 0x4172ce2265a96bef, 0x41b3b28bbce3c1c6 - .quad 0x41707f14a8d0c116, 0x41b14b8b6b67144e - .quad 0x416cf049ebedf60d, 0x41ae5e26dbef0e28 - .quad 0x41696129ca292f7e, 0x41aaa854b5c4f131 - .quad 0x4166416763f6b3bc, 0x41a765d329106241 - .quad 0x4163837bf030f4a8, 0x41a488b9479ee1c4 - .quad 0x41611b82880134f9, 0x41a204c8d940530b - .quad 0x415dfe0c1b8af1f3, 0x419f9e77238e0031 - .quad 0x415a49aa1651cfca, 0x419bbd2c8fd7e193 - .quad 0x415709b5a3a79128, 0x41985502f16a0f8d - .quad 0x41542ffa7e9ace3f, 0x4195574ceffe3945 - .quad 0x4151affd2eccd616, 0x4192b72182c97af5 - .quad 0x414efd8be43ac9a9, 0x41906925da53a0fc - .quad 0x414b2564005de7e5, 0x418cc6bb6d71090d - .quad 0x4147c694cd2b4ffd, 0x41893a02d0c97221 - .quad 0x4144d23fa69bd814, 0x41861cb1a027e057 - .quad 0x41423b556e6e918e, 0x418361358dd1f243 - .quad 0x413fecbcf04dca90, 0x4180fba0d2660d89 - .quad 0x413bf29264dcdc82, 0x417dc2ef387bd0e0 - .quad 0x4138767d7fc43eb6, 0x417a130711aadcda - .quad 0x413568f9937abc79, 0x4176d758e1ac9659 - .quad 0x4132bc67d8c20136, 0x417401abca024479 - .quad 0x413064d4616b0094, 0x417185819a7f8c6a - .quad 0x412caf8458ad2a12, 0x416eafc2b00a99b1 - .quad 0x412917faff93e540, 0x416ade505ba61e89 - .quad 0x4125f2e79283b1ca, 0x416785c00b5cb27e - .quad 0x41233220b1da4f59, 0x4164973634932c1a - .quad 0x4120c93ac678b0cc, 0x416205a7d78be568 - .quad 0x411d5aa313452dae, 0x415f8b4440d68221 - .quad 0x4119a9b05368c88b, 0x415b9a31a7b9868c - .quad 0x41166ede7f0c2d55, 0x415826756e1a42e2 - .quad 0x41139b7fc18e5891, 0x4155209676e4b424 - .quad 0x411122b662569616, 0x41527b019965e362 - .quad 0x410df2779ceabfc8, 0x415029ce648133fd - .quad 0x410a2a5d2945d2b7, 0x414c45161cd95fe8 - .quad 0x4106dbccf848794a, 0x4148b81d680cdfc5 - .quad 0x4103f79bf21caa96, 0x41459ca24a7521dd - .quad 0x41017080ae674896, 0x4142e48f266999cf - .quad 0x40fe75b024885f54, 0x4140838b13324d03 - .quad 0x40fa98e26924c6c8, 0x413cdd86b83e679d - .quad 0x40f738bf4bc8d296, 0x41393977456406dd - .quad 0x40f445a6a9a273c6, 0x41360a47aca18e96 - .quad 0x40f1b1eabeffc3a5, 0x413341669953fe1c - .quad 0x40eee324e1fde417, 0x4130d210b765b3d6 - .quad 0x40eaf4465e9c5668, 0x412d622fa53c02ce - .quad 0x40e784e3008fb46b, 0x4129a961d6383ef7 - .quad 0x40e484eecd2f1383, 0x41266890cd0bf55f - .quad 0x40e1e65fd1ef2701, 0x412390b73f2a4fb0 - .quad 0x40df39dc6baaccd7, 0x412114ae59581395 - .quad 0x40db3bb863d26278, 0x411dd1e5296953a3 - .quad 0x40d7bf89f052b591, 0x411a06dfa21b6c59 - .quad 0x40d4b4e35dbe0cdd, 0x4116b6a7a27c9005 - .quad 0x40d20d6781986167, 0x4113d1cca3d4f6d8 - .quad 0x40cf790f6877f51e, 0x41114acc164c64fe - .quad 0x40cb6e93fa7299b3, 0x410e2ba80b9c3a1b - .quad 0x40c7e82cde922833, 0x410a511aa3827999 - .quad 0x40c4d515a14a6132, 0x4106f3d9139319ed - .quad 0x40c226a790f97768, 0x410404113d7d18e6 - .quad 0x40bfa02b8ac73416, 0x410173ed60fcd6fa - .quad 0x40bb8c6342337220, 0x40fe6ea95e92c624 - .quad 0x40b7fe6d7fbcef2c, 0x40fa8767775dd309 - .quad 0x40b4e53acc7531b1, 0x40f71f97a2983044 - .quad 0x40b231e547065724, 0x40f42710a88aab19 - .quad 0x40afaed5c4559717, 0x40f18fb2ded8ebb1 - .quad 0x40ab94e0bfb59934, 0x40ee9a4d9b21386e - .quad 0x40a80217e57d8a3f, 0x40eaa947efe69879 - .quad 0x40a4e52d23cf50b0, 0x40e7397d8e2bd385 - .quad 0x40a22f0652094ae6, 0x40e43a79684f6ef6 - .quad 0x409fa4eba730bf60, 0x40e19ddbd8138a90 - .quad 0x409b87f86a26fad7, 0x40deae2ef93df996 - .quad 0x4097f323487ff94a, 0x40dab66cfccafb75 - .quad 0x4094d4ec8ea8ee67, 0x40d7414e5b5ca43c - .quad 0x40921e112e39bf18, 0x40d43e1e22ebfdb4 - .quad 0x408f8283ec45f117, 0x40d19e4732be2ff0 - .quad 0x408b65c7f9f1fbed, 0x40ceaa1efb3b003e - .quad 0x4087d1b22b6810f6, 0x40caaeb7de6855e2 - .quad 0x4084b49e984886e0, 0x40c736f7c0d13f06 - .quad 0x4081ff2d0d5a2649, 0x40c431f651be2ff4 - .quad 0x407f47ee1cab73dd, 0x40c190f3f39e9af4 - .quad 0x407b2e9e76c8d9f9, 0x40be8e2722ca46cf - .quad 0x40779e11d635b9a7, 0x40ba923a9d8d5019 - .quad 0x4074848ddf7dfffe, 0x40b71a91ee04e82c - .quad 0x4071d2a13fdd2709, 0x40b4161e6298ed3a - .quad 0x406ef5b15f73200a, 0x40b176014201ab17 - .quad 0x406ae2fb07705cc3, 0x40ae5a88cbf394e4 - .quad 0x406758b92cdfdc64, 0x40aa6137c537bf6d - .quad 0x40644528f79b1b51, 0x40a6ec5f2d1367f4 - .quad 0x406198d422be3f8c, 0x40a3ead7491061af - .quad 0x405e8c8a7276c930, 0x40a14dadee76975a - .quad 0x405a838b09afcf62, 0x409e0fbc2ec572b9 - .quad 0x40570246e766d2f3, 0x409a1c215fcd0bea - .quad 0x4053f700c0d99876, 0x4096accae115453e - .quad 0x4051524997d01a00, 0x4093b08582357e32 - .quad 0x404e0d68d9047f7a, 0x409118577f06b2f2 - .quad 0x404a11277ca2bd3f, 0x408dae6e8d292a1e - .quad 0x40469b7f34ec048e, 0x4089c3973d4c9b08 - .quad 0x40439ac6410ceb63, 0x40865c67e684d1e6 - .quad 0x4040ffa110b113f0, 0x408367af901b1370 - .quad 0x403d796b4f7aaf7f, 0x4080d678c614f535 - .quad 0x40398cd1cb38dcc0, 0x407d377f96b9fd62 - .quad 0x40362548d6675835, 0x407958648bd60350 - .quad 0x403331480815e7cd, 0x4075fbee5e7590f4 - .quad 0x4030a19336cc73a1, 0x407310fbf558eca2 - .quad 0x402cd1db96a6c6ef, 0x407088a80b837328 - .quad 0x4028f7b007e1de49, 0x406cabfe10b3371a - .quad 0x4025a0a9c047e3c7, 0x4068db7ccf7600f4 - .quad 0x4022bb6f2dd8e254, 0x40658c38f07b7c3b - .quad 0x402038ef3cbdc1c7, 0x4062ad2ebb6268bd - .quad 0x401c1829acfb62b3, 0x40602f94d1fb1ba4 - .quad 0x40185308ad209551, 0x405c0d23d3daadad - .quad 0x40150ec3549a202d, 0x40584df8496cc3ae - .quad 0x40123a3bf963c1eb, 0x40550e4191e1b76c - .quad 0x400f8d2fce0ebb41, 0x40523d2690dc7344 - .quad 0x400b4de68e608347, 0x404f980a88588961 - .quad 0x4007a03df8f9f479, 0x404b5c5135a44acb - .quad 0x400470ce4924af72, 0x4047b10fe1f0aeaa - .quad 0x4001aec242758b4f, 0x4044831de32e25bd - .quad 0x3ffe9700b697ec96, 0x4041c1d98f1b1f71 - .quad 0x3ffa74be9568f922, 0x403ebda6af103d07 - .quad 0x3ff6e0c8fadbb050, 0x403a9b07f491a273 - .quad 0x3ff3c8164e42f29c, 0x40370618a9c019da - .quad 0x3ff11a259faba91e, 0x4033ebfb36da371b - .quad 0x3fed91518c2acaf6, 0x40313c51b7852ec0 - .quad 0x3fe98e739a118b5e, 0x402dd1d36683753b - .quad 0x3fe616346ca3be0e, 0x4029cae5c1f5de61 - .quad 0x3fe315f58c13df9c, 0x40264e7f0a95542f - .quad 0x3fe07d957435b8c4, 0x40234a1a5595e9cb - .quad 0x3fdc7e35cf4db634, 0x4020ada93ac2688e - .quad 0x3fd89cd6ead31b71, 0x401cd680d6a376d2 - .quad 0x3fd542176fe1c2b2, 0x4018ed9e84be9bac - .quad 0x3fd25bd00bd97edd, 0x40158bc1beb8e117 - .quad 0x3fcfb491e02b7c15, 0x40129ecb15514182 - .quad 0x3fcb5fcd30c7e1f6, 0x401017069c4b54cf - .quad 0x3fc7a1c33cc1922b, 0x400bcdb33f7b88f9 - .quad 0x3fc46610483f2395, 0x400804f671a7a35c - .quad 0x3fc19b0f23241b88, 0x4004bf6ca87a4707 - .quad 0x3fbe62f62b4555dc, 0x4001eb67d8a75351 - .quad 0x3fba383ca9f98a0f, 0x3ffef3318a5788de - .quad 0x3fb69f16aeb36770, 0x3ffab97c2106c4d2 - .quad 0x3fb383bf2b37a037, 0x3ff712bc1550fb6a - .quad 0x3fb0d51cf5a16254, 0x3ff3eb13a24821e2 - .quad 0x3fad08cdac87dce6, 0x3ff131510c1da6ad - .quad 0x3fa909a7c3ac6f99, 0x3fedad26311e9ef0 - .quad 0x3fa596acfa0bcc8f, 0x3fe99bf36c7ef068 - .quad 0x3fa29cc13bfd53a0, 0x3fe618c26c1169a6 - .quad 0x3fa00b60212cf113, 0x3fe3104d5f799552 - .quad 0x3f9ba886ae6e40e0, 0x3fe071e8b6003b16 - .quad 0x3f97d62a282a4851, 0x3fdc5e5338097f6b - .quad 0x3f948a59e9cb1eb1, 0x3fd87730de08c821 - .quad 0x3f91b2abc895a771, 0x3fd518db221cf8ba - .quad 0x3f8e7e6f4c33eded, 0x3fd230ae74a714aa - .quad 0x3f8a4480db60fe17, 0x3fcf5d1c58fdc6ac - .quad 0x3f869fd19aacb90a, 0x3fcb091a88a72f08 - .quad 0x3f837be42e1159e7, 0x3fc74d459ba38afe - .quad 0x3f80c707db025298, 0x3fc414d114bdcde1 - .quad 0x3f7ce3ee3757dbe5, 0x3fc14dc49cbc0c30 - .quad 0x3f78df06bfb34f6d, 0x3fbdd13408401cdc - .quad 0x3f7568986affafc5, 0x3fb9afd0eca1593d - .quad 0x3f726d009f5af049, 0x3fb6203633a6814a - .quad 0x3f6fb69c5d6b524e, 0x3fb30e632b0008c9 - .quad 0x3f6b49c67cd1611f, 0x3fb069124dc6eaef - .quad 0x3f677a47ec4e9fa1, 0x3fac42b48d5cfe42 - .quad 0x3f643260788f0a1f, 0x3fa854b792c33d4a - .quad 0x3f615f4e018a09ee, 0x3fa4f1f511f7b2d7 - .quad 0x3f5de1c72f739a49, 0x3fa2073f996519c0 - .quad 0x3f59b25dc6d6642e, 0x3f9f08155c194aad - .quad 0x3f561853cc8eddac, 0x3f9ab41e011814e5 - .quad 0x3f52feeed430b87b, 0x3f96f9f62ec4193a - .quad 0x3f505451535e8102, 0x3f93c45d7f9e2fb0 - .quad 0x3f4c122bcbda7f8e, 0x3f9100ffa10ff0f3 - .quad 0x3f481ff0b26f3b6a, 0x3f8d401bee3a7787 - .quad 0x3f44bb153d2d0728, 0x3f8927ce5fbbe352 - .quad 0x3f41cfe80beb05a4, 0x3f85a195c6e2a08e - .quad 0x3f3e9ae566e02486, 0x3f82992f3c7d2ce7 - .quad 0x3f3a4a3297375461, 0x3f7ffa47aef63bd2 - .quad 0x3f36948e77b6c537, 0x3f7b7ccca35ce88e - .quad 0x3f33644eed5b1126, 0x3f779ffc3cd6bc92 - .quad 0x3f30a6cd27d913d7, 0x3f744d7c3dca9cc8 - .quad 0x3f2c97f5c053e775, 0x3f71720abf01aa9b - .quad 0x3f288c0c973b68fc, 0x3f6dfa22008cf2c8 - .quad 0x3f2512157ee1d8be, 0x3f69c08a63df00dc - .quad 0x3f2215988e86b086, 0x3f661eb258af5a93 - .quad 0x3f1f09f2b684fb31, 0x3f62ff68a28f7dc4 - .quad 0x3f1aa222a98ba953, 0x3f60506e21782262 - .quad 0x3f16d9b06046eb66, 0x3f5c041afe3a1ad2 - .quad 0x3f139a30e3030664, 0x3f580d8271e40929 - .quad 0x3f10d05cd2b64652, 0x3f54a5cc1e67b046 - .quad 0x3f0cd740d2318d4d, 0x3f51b8f04bdfa1bf - .quad 0x3f08bb7603d98280, 0x3f4e6b65816f0ff1 - .quad 0x3f0534d810db5377, 0x3f4a1a7ec86c94fb - .quad 0x3f022e56de90dc1a, 0x3f4665a9398034f1 - .quad 0x3eff2bb06a7069e2, 0x3f4336f30c8d3345 - .quad 0x3efab79b6edb04e1, 0x3f407b7cbf13abf4 - .quad 0x3ef6e5b33b150249, 0x3f3c461717dacbd8 - .quad 0x3ef39f005226a7db, 0x3f383f56253c12f1 - .quad 0x3ef0cfc8192e69bd, 0x3f34cab82baddd6c - .quad 0x3eecce310b024fd4, 0x3f31d39d04e50424 - .quad 0x3ee8acc81455f971, 0x3f2e9094beff3587 - .quad 0x3ee522570529739f, 0x3f2a3308036822db - .quad 0x3ee219685023e1be, 0x3f267464f8a36aff - .quad 0x3edeff1f945e7f7b, 0x3f233e2c9c277148 - .quad 0x3eda89fa515a2b44, 0x3f207d0b7bb52fc7 - .quad 0x3ed6b83bb4ee4348, 0x3f1c40cfbd11fd10 - .quad 0x3ed372982e2fde1d, 0x3f1833ffa698fa8b - .quad 0x3ed0a51297b20ab7, 0x3f14bb29dadf3ac0 - .quad 0x3ecc7d093fb7e463, 0x3f11c147957723bd - .quad 0x3ec8607006600009, 0x3f0e6896f5762306 - .quad 0x3ec4db1c7b733812, 0x3f0a096cc3260668 - .quad 0x3ec1d76959a6b622, 0x3f064a7647d3f88a - .quad 0x3ebe858d8b3acc80, 0x3f0314deba7bab37 - .quad 0x3eba1a94b14e3d7f, 0x3f00550e92636252 - .quad 0x3eb6529df3d1cf1c, 0x3efbf46cd0f972c3 - .quad 0x3eb316449a955429, 0x3ef7ebd49fbb30ee - .quad 0x3eb0517b9e1f89de, 0x3ef47796af08285b - .quad 0x3eabe627dddb55d7, 0x3ef1827a73755ec7 - .quad 0x3ea7d8a7f2a8a2d0, 0x3eedf49a10ccc568 - .quad 0x3ea4613bf000c71d, 0x3ee99ee7037b652b - .quad 0x3ea16a45fcb7b882, 0x3ee5e9197017791d - .quad 0x3e9dc283bcbe780f, 0x3ee2bc40c543e36b - .quad 0x3e996ca751cac37f, 0x3ee004b34180a4a9 - .quad 0x3e95b7cd13179dde, 0x3edb632d58444fad - .quad 0x3e928cb2cb8b4015, 0x3ed768f3e13d3bdc - .quad 0x3e8faedd62dabd96, 0x3ed401fa7657909e - .quad 0x3e8b0de982dbf111, 0x3ed1190d162109ab - .quad 0x3e87195b2becea19, 0x3ecd3803e22a78e4 - .quad 0x3e83b8387eea3f9d, 0x3ec8f694ad8ac632 - .quad 0x3e80d521f8291cd6, 0x3ec55326d6aac6fa - .quad 0x3e7cbb9be9cbac1e, 0x3ec236e8d3a9e0e7 - .quad 0x3e78852e54d26542, 0x3ebf1ca221c0b98b - .quad 0x3e74ec36b8fdf428, 0x3eba914b62872bc3 - .quad 0x3e71d9d0055d11d0, 0x3eb6af2ae42db580 - .quad 0x3e6e74cb7ebdea0a, 0x3eb35dbe86ed95c7 - .quad 0x3e69fa735b03463a, 0x3eb0880cfe68041e - .quad 0x3e6627f6220ca6a9, 0x3eac3847cbf78a3b - .quad 0x3e62e4d9d8b5b22f, 0x3ea81550cf271bfd - .quad 0x3e601c325e8bb3c0, 0x3ea48cefa0aac509 - .quad 0x3e5b783bc148fcef, 0x3ea188ab9ce5fddd - .quad 0x3e576aa8791eba33, 0x3e9dea9996bf1c0f - .quad 0x3e53f58d390caeec, 0x3e9984c7bb9c53ff - .quad 0x3e510299f255a2ca, 0x3e95c3c6ce5f2f75 - .quad 0x3e4cfd7e08a13b20, 0x3e928f8faa7c3202 - .quad 0x3e48b368e0429dac, 0x3e8fa73040873530 - .quad 0x3e450b2501707be6, 0x3e8afca3c464e1d5 - .quad 0x3e41ecf2c897b782, 0x3e8701780b38d71a - .quad 0x3e3e891642306fee, 0x3e839c08dab159e0 - .quad 0x3e3a013c6709bdd5, 0x3e80b66dac93672b - .quad 0x3e3624c9a2f2f8fc, 0x3e7c7bde43ebd873 - .quad 0x3e32da83d59392f5, 0x3e784520ec5eb55a - .quad 0x3e300ce3767b77a8, 0x3e74ad54236cf6b4 - .quad 0x3e2b5312d520a3f4, 0x3e719d258cf47194 - .quad 0x3e274191dcab90bc, 0x3e6e015665e4efbd - .quad 0x3e23ca855a30dad5, 0x3e698dc92b26aea0 - .quad 0x3e20d71d1069e44f, 0x3e65c29c3e79c162 - .quad 0x3e1ca7c7b61a5357, 0x3e628708aaed4d70 - .quad 0x3e186083aaabaf73, 0x3e5f8bd2046619b5 - .quad 0x3e14bc21b880f9de, 0x3e5ada636f165959 - .quad 0x3e11a28183b0e320, 0x3e56dafa60f704a1 - .quad 0x3e0dfe23a6ad4f8b, 0x3e537351629c53c0 - .quad 0x3e0980956bea8cc0, 0x3e508cff68f5874c - .quad 0x3e05ae767663002e, 0x3e4c29ce58c1fc10 - .quad 0x3e026e4fd1165b76, 0x3e47f5772973d16c - .quad 0x3dff54dde2ba8f56, 0x3e44612c5674eed9 - .quad 0x3dfaa0af3e698b26, 0x3e415539e864d70f - .quad 0x3df6a0956d7d1b63, 0x3e3d7ad5cdc3741e - .quad 0x3df339bd6e517d44, 0x3e39110bc4b50f8c - .quad 0x3df0554f0943ba8c, 0x3e354fb970dbe54e - .quad 0x3debbfac9007ec07, 0x3e321dd98bc7de87 - .quad 0x3de791862715d02f, 0x3e2ecc34851c9763 - .quad 0x3de403f77382e654, 0x3e2a2ca34863bfcb - .quad 0x3de0feff2a4fc490, 0x3e263e0d12d4d288 - .quad 0x3ddcdc5de1ae8c09, 0x3e22e615f0543e41 - .quad 0x3dd8804761a993c4, 0x3e200e4ae934cb56 - .quad 0x3dd4cc23eb3b5ffa, 0x3e1b471c42165f4a - .quad 0x3dd1a6c6c06ea18b, 0x3e172b316e47cc93 - .quad 0x3dcdf58ab9ae4fcb, 0x3e13ad1e7143aa75 - .quad 0x3dc96bd0bd6c9a31, 0x3e10b54bd6a9e23f - .quad 0x3dc59163428fb3a6, 0x3e0c5f4a785a88d1 - .quad 0x3dc24be8d0138113, 0x3e08162809b8dff6 - .quad 0x3dbf09f3c1618809, 0x3e04721b76389525 - .quad 0x3dba53148c3fc482, 0x3e015a6678e0082c - .quad 0x3db652d1d62b45e1, 0x3dfd73f8da963966 - .quad 0x3db2eda549c16ee8, 0x3df8fdeb6a9e8ebc - .quad 0x3db00c2a84aed164, 0x3df5342fe16e83a5 - .quad 0x3dab3501c0fdbbcf, 0x3df1fcdfea216d16 - .quad 0x3da70f8998ccf075, 0x3dee83eb9bce31c4 - .quad 0x3da38b3a7222dd33, 0x3de9e170e2dbff8c - .quad 0x3da08fb437656229, 0x3de5f27a9aa5f660 - .quad 0x3d9c1085f96d9fee, 0x3de29bfa42bc7b76 - .quad 0x3d97c6a3cf1c9dcf, 0x3ddf8de2739c95a9 - .quad 0x3d9423e65b2a3a8c, 0x3ddabfaa7d4233fa - .quad 0x3d910ef40de709bc, 0x3dd6ac1833360c58 - .quad 0x3d8ce48f9d9e5928, 0x3dd336f5ff042b88 - .quad 0x3d88773adc5703ce, 0x3dd0484d7ff5f6bd - .quad 0x3d84b6e86a5aa9d8, 0x3dcb978904649f57 - .quad 0x3d8189488e2e9743, 0x3dc760249f31a968 - .quad 0x3d7db0100ef385d3, 0x3dc3cd13761f1731 - .quad 0x3d79206c1ae9fb29, 0x3dc0c569a0b1627c - .quad 0x3d754382e8081943, 0x3dbc67fe1e83e910 - .quad 0x3d71fe13002859ca, 0x3db80dbcff1d72cf - .quad 0x3d6e71fde0c5e218, 0x3db45d945dc4844d - .quad 0x3d69c159bbc9900a, 0x3db13da615eb6c5f - .quad 0x3d65c8fc931c6d94, 0x3dad2ffe78d87996 - .quad 0x3d626cb8c1920344, 0x3da8b4017551e03b - .quad 0x3d5f295714275bc3, 0x3da4e7bd56b77338 - .quad 0x3d5a592ca70605e5, 0x3da1b06621cfb60e - .quad 0x3d5646a234bddd88, 0x3d9dee83fc205fc8 - .quad 0x3d52d4a498c21371, 0x3d99521701d324da - .quad 0x3d4fd5235020e009, 0x3d956ad77d8efe38 - .quad 0x3d4ae71657ff542e, 0x3d921d11201bfbcf - .quad 0x3d46bbc82f12468a, 0x3d8ea290040397f4 - .quad 0x3d43354802504d9e, 0x3d89e7295f29cf91 - .quad 0x3d403a3b07cf84b0, 0x3d85e631fb2a96db - .quad 0x3d3b6a52af7c7202, 0x3d828313d62cbf4f - .quad 0x3d3727cc024d462a, 0x3d7f4b2d92a8da6a - .quad 0x3d338e1c7590edaf, 0x3d7a726cda9c5fc4 - .quad 0x3d3083385f1e344c, 0x3d76592390114765 - .quad 0x3d2be229b5ed10eb, 0x3d72e1e1bdc1cff3 - .quad 0x3d278a15c33bf0d1, 0x3d6fe77379b5869a - .quad 0x3d23dea49bdca04d, 0x3d6af3202215009f - .quad 0x3d20c5225e967ce3, 0x3d66c30c15ee186b - .quad 0x3d1c4df14833b32e, 0x3d6338f646703f05 - .quad 0x3d17e2197e99732e, 0x3d603b4338f71d3b - .quad 0x3d14266d76b7e9ef, 0x3d5b688e02001605 - .quad 0x3d10ff9aa4df55cb, 0x3d572355f261c90f - .quad 0x3d0cad0ea9847218, 0x3d5387d609c076c8 - .quad 0x3d082f5884a3c4ff, 0x3d507bcd8d61f54d - .quad 0x3d04650f71159187, 0x3d4bd20f0d88c869 - .quad 0x3d01324c9f973607, 0x3d477977767b819c - .quad 0x3cfcfef7f529f1bf, 0x3d43ce0fee10ae91 - .quad 0x3cf8716298a66d68, 0x3d40b4fbeda58aa9 - .quad 0x3cf49a2f582864b8, 0x3d3c2f0b2bc85943 - .quad 0x3cf15cee56fb8f80, 0x3d37c4f426570458 - .quad 0x3ced43356b5d1bc3, 0x3d340b3e347db73a - .quad 0x3ce8a7d700826ce3, 0x3d30e67b4f33d066 - .quad 0x3ce4c57f38808af9, 0x3d2c7efb04c36011 - .quad 0x3ce17f41219f6e6e, 0x3d28055de49eb405 - .quad 0x3cdd796294cc09e7, 0x3d243f076e4dac86 - .quad 0x3cd8d265709c8b81, 0x3d211003322f9f2a - .quad 0x3cd4e6bf1c869176, 0x3d1cc169496c493b - .quad 0x3cd199123dce7f7c, 0x3d183a55fe01c77f - .quad 0x3ccda12f38ef6065, 0x3d14691f56a0b9d1 - .quad 0x3cc8f0ced10d0db4, 0x3d11315652423380 - .quad 0x3cc4fdbda9c9106c, 0x3d0cf5f3d2534600 - .quad 0x3cc1aa3b4e8f3caa, 0x3d08638e1112031d - .quad 0x3cbdba6023e1257a, 0x3d0489478d82c425 - .quad 0x3cb902e5d96b5dc7, 0x3d014a433d21a4e2 - .quad 0x3cb50a589affacc9, 0x3cfd1c4c912f9acb - .quad 0x3cb1b2a2ba958505, 0x3cf880c8cf6ecf16 - .quad 0x3cadc4cfb90a7ce5, 0x3cf49f5031dc1940 - .quad 0x3ca9088f811b7254, 0x3cf15aa4ccc2f79b - .quad 0x3ca50c7d151d73d0, 0x3ced343a5202c7c4 - .quad 0x3ca1b23bebdcda6d, 0x3ce891da95a3a6f5 - .quad 0x3c9dc06e50abd949, 0x3ce4ab18582d9df2 - .quad 0x3c9901c342974910, 0x3ce1626283914e64 - .quad 0x3c950427d64b1c7d, 0x3cdd3d994938f3ad - .quad 0x3c91a9076f0d2e24, 0x3cd896a9d7ab89b1 - .quad 0x3c8dad425efa38ef, 0x3cd4ac8e5c7c8723 - .quad 0x3c88ee8b30ca2586, 0x3cd16170c969f828 - .quad 0x3c84f1653e256f41, 0x3ccd385b6cd88b32 - .quad 0x3c819712f23cae3d, 0x3cc88f2f609fe4d3 - .quad 0x3c7d8b686448b5af, 0x3cc4a3b00e506616 - .quad 0x3c78cf03de32b406, 0x3cc157d10888e2f3 - .quad 0x3c74d4512f22a65d, 0x3cbd2488978a2f74 - .quad 0x3c717c7923127a39, 0x3cb87b7664b4e00c - .quad 0x3c6d5b12a674c804, 0x3cb4908ab62a09ac - .quad 0x3c68a35c1621f2cc, 0x3cb14591aa0080ca - .quad 0x3c64ad16c988b007, 0x3cad023e74fea7e1 - .quad 0x3c6159616cbf8a0c, 0x3ca85b9c65443c51 - .quad 0x3c5d1c88b489c5c3, 0x3ca4733af4601fe1 - .quad 0x3c586bd4690c0845, 0x3ca12acdf1c9738c - .quad 0x3c547bf000e37ae9, 0x3c9cd1b037f7490b - .quad 0x3c512dff96b26d81, 0x3c982fd0e7486194 - .quad 0x3c4cd026b64a0ca8, 0x3c944bec79d5416c - .quad 0x3c4828be8d7b2e74, 0x3c9107adbae7661d - .quad 0x3c4441250d6b8cc7, 0x3c8c93261af2cd0d - .quad 0x3c40fa934555eb5a, 0x3c87f854fd47e7d3 - .quad 0x3c3c765c89feb632, 0x3c841ad99b7fc9eb - .quad 0x3c37da7c97c8ea4b, 0x3c80dc65148f57fc - .quad 0x3c33fd0bbb47d67c, 0x3c7c46fcad39a071 - .quad 0x3c30bf675e9015a3, 0x3c77b57aa64c1e42 - .quad 0x3c2c0facb396944a, 0x3c73e04ac23c3f11 - .quad 0x3c2781800b4c5862, 0x3c70a933c1a65e31 - .quad 0x3c23b0069a07f02d, 0x3c6beda3eeb5f0a2 - .quad 0x3c207cd15415698a, 0x3c6767a404101f5a - .quad 0x3c1b9cab20b7b4ac, 0x3c639c95b8dcd835 - .quad 0x3c171e48c82b190a, 0x3c606e649c54a11d - .quad 0x3c135a840f1bb9bf, 0x3c5b879e3daa485d - .quad 0x3c10333055f872d1, 0x3c570f426b1f5c67 - .quad 0x3c0b1dfbc5f13465, 0x3c53501cdad9df5b - .quad 0x3c06b163d96b3dd9, 0x3c502c4cdfc5722c - .quad 0x3c02fcfd4e6913ca, 0x3c4b157f19f267ea - .quad 0x3bffc5d8e0519af3, 0x3c46acd55017e4e2 - .quad 0x3bfa945119b38a65, 0x3c42fb4e266d3e9f - .quad 0x3bf63b6a2745bde1, 0x3c3fc696b5025168 - .quad 0x3bf297f53c6e927f, 0x3c3a97e9c202c067 - .quad 0x3bef18eb2ba6357f, 0x3c3640e915b3f3ea - .quad 0x3bea006a7219c6a4, 0x3c329ea2353deb28 - .quad 0x3be5bcff1208eb99, 0x3c2f278f182d5cce - .quad 0x3be22bf73da1838d, 0x3c2a0f8fae515880 - .quad 0x3bde60853b8b4b65, 0x3c25cc15bf9dbbbb - .quad 0x3bd963124add21c0, 0x3c223a9b1f0c9515 - .quad 0x3bd536cefa1810b4, 0x3c1e7c6162103b4e - .quad 0x3bd1b995f6e584af, 0x3c197d2ef035140a - .quad 0x3bcd9da06644bc9d, 0x3c154efd8e5e8a15 - .quad 0x3bc8bd1c79049ec2, 0x3c11cfc34a10ee47 - .quad 0x3bc4a98db9bff0e8, 0x3c0dc5f9803d5324 - .quad 0x3bc1416a031bacf2, 0x3c08e1907994f8d3 - .quad 0x3bbcd13f7b7c3414, 0x3c04ca4b88f6234c - .quad 0x3bb80f645203dff7, 0x3c015eac2ce52257 - .quad 0x3bb415f515af2672, 0x3bfd054eb8db2ad5 - .quad 0x3bb0c410a1d6b3ca, 0x3bf83d8652f7235c - .quad 0x3babfc6c8b2d1c95, 0x3bf43eb1f8cfdcf1 - .quad 0x3ba75acacc068ebe, 0x3bf0e7ed05fb3af3 - .quad 0x3ba37cc328e513e5, 0x3bec3b617ec3cfd6 - .quad 0x3ba0422a6340a512, 0x3be791e9c59e2b42 - .quad 0x3b9b2036a988bead, 0x3be3ace8dce03fbd - .quad 0x3b96a0349d192d1a, 0x3be06c218ca5f25a - .quad 0x3b92deb8d0dae905, 0x3bdb69393c895b87 - .quad 0x3b8f78b3aa5bebbe, 0x3bd6df997f6bab1b - .quad 0x3b8a3dafb67a96cf, 0x3bd315ac58b7d6b7 - .quad 0x3b85e0885ebd9cc3, 0x3bcfd7d13f78002d - .quad 0x3b823c981e88b022, 0x3bca8fe21d205eb0 - .quad 0x3b7e66846a73c925, 0x3bc62777b62fde0c - .quad 0x3b7955ea2f392221, 0x3bc279bb2446baf4 - .quad 0x3b751cacbb42476e, 0x3bbecfc5eb955129 - .quad 0x3b719722d0b598a4, 0x3bb9b06ad8cbcafb - .quad 0x3b6d4f0c5733dbc9, 0x3bb56a684fe99fca - .quad 0x3b6869f70ffc1fcb, 0x3bb1d9d500e92622 - .quad 0x3b645586a9e82938, 0x3badc163a555fefb - .quad 0x3b60ef18dbc017ff, 0x3ba8cbe28ca7c426 - .quad 0x3b5c338d2435fb4b, 0x3ba4a94f1540c9ea - .quad 0x3b577ae3cb88b469, 0x3ba136b93820fc76 - .quad 0x3b538bf7be87e681, 0x3b9cadeb8c3bba05 - .quad 0x3b50453702b9a5bb, 0x3b97e356a2db5e15 - .quad 0x3b4b154294e891da, 0x3b93e50df3387f95 - .quad 0x3b4689b85dc875b1, 0x3b909125281c373a - .quad 0x3b42c0dc90fab5ba, 0x3b8b969aedac7779 - .quad 0x3b3f346b0aa94647, 0x3b86f7d0d10edd84 - .quad 0x3b39f5604d9610b0, 0x3b831e8350b95dae - .quad 0x3b3597757e14e4e8, 0x3b7fd3a5c3ac18bb - .quad 0x3b31f50b401397f7, 0x3b7a7ca8fa240180 - .quad 0x3b2ddd8dcb76e388, 0x3b760a5532471804 - .quad 0x3b28d50fcdd2a012, 0x3b7256887c26e498 - .quad 0x3b24a512f5483d32, 0x3b6e82efb884fa70 - .quad 0x3b2129521372a709, 0x3b6961449f1f5f93 - .quad 0x3b1c872d91eff745, 0x3b651be080b9d49d - .quad 0x3b17b56e9895b756, 0x3b618df034ba2c47 - .quad 0x3b13b37e1b01d1bd, 0x3b5d31877f1753ba - .quad 0x3b105e763ef1c6e1, 0x3b5845928aac023d - .quad 0x3b0b3291e83a6dda, 0x3b542d6673958cf7 - .quad 0x3b06978c8d7d61b8, 0x3b50c58552d896bd - .quad 0x3b02c3987ce2b431, 0x3b4be0be95f0126e - .quad 0x3aff2a6593b4ee39, 0x3b472aab5cc51918 - .quad 0x3af9e0f0cfd57ab4, 0x3b433fd04413c4e8 - .quad 0x3af57c6a75ebbd36, 0x3b3ffc132424c87a - .quad 0x3af1d636b1da2b46, 0x3b3a91d6af35687b - .quad 0x3aed9c6f3705063c, 0x3b36119a09e14fe5 - .quad 0x3ae8936d384f421a, 0x3b3253fb5c838ba6 - .quad 0x3ae464f8c7e074fc, 0x3b2e7068fdcaeb4e - .quad 0x3ae0ec1f5aebc21f, 0x3b2945fff2eb1b17 - .quad 0x3adc14515cb6f8f0, 0x3b24fb5a7146299a - .quad 0x3ad74b15b6eeceb1, 0x3b216ab8334ccb0a - .quad 0x3ad352169fa33216, 0x3b1ce965139dad89 - .quad 0x3ad0060a522d6818, 0x3b17fe578074e0c8 - .quad 0x3aca933ad3e37ea3, 0x3b13e8d828e807b4 - .quad 0x3ac608e37fe916b7, 0x3b1084c9533fea9d - .quad 0x3ac24490f08ca22d, 0x3b0b68488148e38c - .quad 0x3abe4940102c0a26, 0x3b06bbe630bdc58c - .quad 0x3ab91a40479b1837, 0x3b02daed7fd23569 - .quad 0x3ab4cdb9a0d20ef7, 0x3aff45c523b5ec4e - .quad 0x3ab13d21ec7ce7a5, 0x3af9ee3b5d440d20 - .quad 0x3aac90f21d2d475f, 0x3af57f9f997e1f52 - .quad 0x3aa7aa5b8d4b4359, 0x3af1d262b74c69e4 - .quad 0x3aa39a647b21bed6, 0x3aed8b50e711660a - .quad 0x3aa03c70a0dadb1d, 0x3ae87c4bc616ed3d - .quad 0x3a9ae43ba1c85bb1, 0x3ae44a615135e868 - .quad 0x3a96446b3db12c58, 0x3ae0cfed72363bb7 - .quad 0x3a926f997cdc041d, 0x3adbdb5f7a82d0f4 - .quad 0x3a8e86218ea3e6ac, 0x3ad7136d3b897e11 - .quad 0x3a89440cec9f5e3a, 0x3ad31cf2729ac24d - .quad 0x3a84e93295651e9b, 0x3acfa860b2bf75f8 - .quad 0x3a814df714b2cc27, 0x3aca36fa64c5b19f - .quad 0x3a7ca3058fde005f, 0x3ac5b478418ed951 - .quad 0x3a77b135dc219792, 0x3ac1f8035d726d41 - .quad 0x3a73995999427ba7, 0x3abdbf75e60682c2 - .quad 0x3a703604de581436, 0x3ab89f0afa1deeca - .quad 0x3a6ad067d36fa2c8, 0x3ab4602a49df0a52 - .quad 0x3a662c6642f5d4b9, 0x3ab0dc2db21eaf21 - .quad 0x3a62556d7a42568a, 0x3aabe61355e30a98 - .quad 0x3a5e5068065139be, 0x3aa7145a7dd1cf8c - .quad 0x3a590efd5cd13c30, 0x3aa31725e0702649 - .quad 0x3a54b62e9374c452, 0x3a9f93e90900fd6b - .quad 0x3a511de133cc6916, 0x3a9a1d0c10ff74df - .quad 0x3a4c49bf95c5f745, 0x3a9597928f3e0c70 - .quad 0x3a475f56ab48bd89, 0x3a91d9f316556fcc - .quad 0x3a434f00cbd8ea42, 0x3a8d8389849eaf01 - .quad 0x3a3fe61cbe17950d, 0x3a88650e1db268eb - .quad 0x3a3a589caf82618c, 0x3a84293ddcb013c1 - .quad 0x3a35c1e107375834, 0x3a80a90025fd130c - .quad 0x3a31f7319c565581, 0x3a7b87eb911fc5ef - .quad 0x3a2daa6c6af5c17f, 0x3a76bea387f6b0a0 - .quad 0x3a287d63120a742c, 0x3a72c9c915a28dda - .quad 0x3a2436e80df031f0, 0x3a6f094496a5e827 - .quad 0x3a20aef9bffa708d, 0x3a69a19446f657cc - .quad 0x3a1b890579385cdc, 0x3a652a33b4b8094c - .quad 0x3a16b84ffdb5d885, 0x3a6179841589cd00 - .quad 0x3a12be9773700384, 0x3a5cda2d93f291ab - .quad 0x3a0eecef0206652c, 0x3a57d0e0e7cac5b0 - .quad 0x3a09821029662ccf, 0x3a53a804f20fd2f4 - .quad 0x3a05097c74b3d08e, 0x3a5038a34010e13f - .quad 0x3a0158fcf12f6c8e, 0x3a4ac508371be502 - .quad 0x39fc9b60c296975d, 0x3a461608ea10db83 - .quad 0x39f7958bc88e6006, 0x3a42383e3bce3750 - .quad 0x39f370dfa8e149d1, 0x3a3e0e820ef74630 - .quad 0x39f0060a594f59c7, 0x3a38c9f67fa9c048 - .quad 0x39ea6925bee98d74, 0x3a3471203b047e85 - .quad 0x39e5c351b4996320, 0x3a30dae92b938870 - .quad 0x39e1ee518d278c58, 0x3a2bcabf2ba981bf - .quad 0x39dd8b2f8b0b2924, 0x3a26e8f25135d13f - .quad 0x39d855f0a34582a6, 0x3a22e219acb023ae - .quad 0x39d40b1881e58e30, 0x3a1f1fe817902ceb - .quad 0x39d0818d80634105, 0x3a19a5d5233d8e13 - .quad 0x39cb2ecbb2e8d76c, 0x3a1521d0766f8b85 - .quad 0x39c6614d9da549fb, 0x3a1168c985c93c95 - .quad 0x39c26c7736a63e7f, 0x3a0cae6809d7d445 - .quad 0x39be546a107b57d5, 0x3a079f71edd3cb51 - .quad 0x39b8f64020effd9c, 0x3a037443c37e4835 - .quad 0x39b48aa64075b150, 0x3a0004e8297ce819 - .quad 0x39b0e6e891142764, 0x39fa60ceba01346a - .quad 0x39abcfa525d16889, 0x39f5b71dfbe662f9 - .quad 0x39a6e0be1ed4e4cc, 0x39f1dfe04c5b884a - .quad 0x39a2d14568fa3103, 0x39ed6c299b6b03de - .quad 0x399ef39c9c67da70, 0x39e8366f8264d161 - .quad 0x399973b86e9a718f, 0x39e3ec401194be5f - .quad 0x3994ed55e6d4d5df, 0x39e0641ea45be131 - .quad 0x3991345b1de4a541, 0x39daf7b06dd7c2fa - .quad 0x398c48e8cf8e20ed, 0x39d62e7924beab28 - .quad 0x39873f6cd7db5a56, 0x39d23e2123cac1dc - .quad 0x39831afb2e91937b, 0x39ce00be39adba8f - .quad 0x397f6600b76754fc, 0x39c8ab4ee2717624 - .quad 0x3979cc2881babaf0, 0x39c447fa5b4e25fe - .quad 0x3975316d5b010b17, 0x39c0abf02c055867 - .quad 0x3971688993cfebe3, 0x39bb67d9f35f4de8 - .quad 0x396c98758b0a4eba, 0x39b685ccfe1e2ab5 - .quad 0x39677baf72da4868, 0x39b281e65593d670 - .quad 0x3963484c1e2418cb, 0x39ae698bd1000fd2 - .quad 0x395fa991c2110340, 0x39a8fc0326c87b11 - .quad 0x3959fe006460b912, 0x39a485d5ed97243e - .quad 0x395555b844a27ecd, 0x39a0db191585c5a2 - .quad 0x395182875c9f3984, 0x399baf50ff65044d - .quad 0x394cbce2423a80ac, 0x3996bb8ebe73c54a - .quad 0x394794741d4d28c6, 0x3992a9fd1221e357 - .quad 0x3943586a18110b0e, 0x398ea4b746dbeae3 - .quad 0x393fbd1c1dcb3991, 0x3989271dfe5687e7 - .quad 0x393a085cf5d6c87e, 0x3984a4b9ae2c857d - .quad 0x393559911f8b7812, 0x3980f0c2d578f06a - .quad 0x393181ddd71c27fb, 0x397bccd0201398ba - .quad 0x392cb5889458c00e, 0x3976cec95dfef21a - .quad 0x392789499da6bff1, 0x3972b5ae7721763f - .quad 0x39234b0b5ddf82c6, 0x396eb1327842cc63 - .quad 0x391fa04646636ebe, 0x39692bda7bca05b7 - .quad 0x3919eb0ea42d451e, 0x3964a4186866270a - .quad 0x39153ce6234f7db7, 0x3960ec8a57831ec5 - .quad 0x3911668fdbb007d5, 0x395bbfd05e1b64f3 - .quad 0x390c8289c5fd0187, 0x3956bf24d893426c - .quad 0x39075a62b0407aef, 0x3952a4c4fb42b862 - .quad 0x3903206cc37b0e4a, 0x394e8ec43d273fba - .quad 0x38ff53937c26236e, 0x39490a22ee0d506e - .quad 0x38f9a69ad7793258, 0x394483f4fee6553c - .quad 0x38f50039cbf56e41, 0x3940ce82f0139653 - .quad 0x38f13119a81ee824, 0x393b888d3fea2a71 - .quad 0x38ec24cdc6a6909b, 0x39368ce8cbb7eaeb - .quad 0x38e7089487e1182e, 0x3932778e05f0f826 - .quad 0x38e2d94fe2dcd5a4, 0x392e3e0a1bcb7b90 - .quad 0x38ded85fe218f015, 0x3928c29185861611 - .quad 0x38d93c37ffa2be30, 0x392444e2559eb861 - .quad 0x38d4a49efe08b764, 0x39209735c9244f77 - .quad 0x38d0e26d33274acd, 0x391b28030446d467 - .quad 0x38cb9dfc560135f0, 0x391638fa554a9791 - .quad 0x38c6955081ac80b2, 0x39122ed7a20d2031 - .quad 0x38c276f565251c73, 0x390dc07399fb9ebd - .quad 0x38be30d639687648, 0x3908566bbf3afdcc - .quad 0x38b8adc46e842374, 0x3903e7fef514c8f7 - .quad 0x38b42bb0eedd3fb2, 0x3900479dd0162987 - .quad 0x38b07beb0edff1b8, 0x38fa9fe7272a642b - .quad 0x38aaf070915be74e, 0x38f5c4d5495043b3 - .quad 0x38a602994f04daa5, 0x38f1cbea64272b5f - .quad 0x38a1fb139d7ad130, 0x38ed18375dee0b86 - .quad 0x389d5fdfa65dd70d, 0x38e7c798c690caf6 - .quad 0x3897fdb85ec65bd4, 0x38e36eec953c25e3 - .quad 0x38939787263ebbca, 0x38dfc2409fc1812e - .quad 0x388ffeb0495cc103, 0x38d9f29b80329143 - .quad 0x388a1f276c1aeb71, 0x38d5328106ecc8f8 - .quad 0x388552f40714fe54, 0x38d1507fc4d2f4ba - .quad 0x388167c9d827337c, 0x38cc484291d11ff0 - .quad 0x387c690e28b6a9bf, 0x38c7189333483e3b - .quad 0x38772f13b97db104, 0x38c2dbc3e931f24d - .quad 0x3872eaa616a9b21c, 0x38becb050b3055a0 - .quad 0x386edda16b7edc87, 0x38b9231c8255bcdb - .quad 0x38692da9c960076a, 0x38b4848161f4e509 - .quad 0x38648955baf138af, 0x38b0beb55467080a - .quad 0x3860bf90e157d9da, 0x38ab542338309321 - .quad 0x385b5082a5d8de09, 0x38a64c56b8fb3cec - .quad 0x3856454856772fed, 0x38a231052b5f7dd6 - .quad 0x385227ecea87251d, 0x389dadb937ed07eb - .quad 0x384d99724acabf71, 0x389834eb55a1d18e - .quad 0x38481ff31715569a, 0x3893bdc43dd8955f - .quad 0x3843a90e48619574, 0x389018fd4cd15479 - .quad 0x384005296113b586, 0x388a3fee5158c03f - .quad 0x383a1acf8c750894, 0x3885664a8518a142 - .quad 0x38354421936100c1, 0x388171860917e7c8 - .quad 0x383152813e135602, 0x387c6f152728fb8f - .quad 0x382c375a4cba7b23, 0x38772bf4ab4db677 - .quad 0x3826fa5568fa20f3, 0x3872e18c95c4bfb1 - .quad 0x3822b5b13ef0805c, 0x386ec41a3d4cf576 - .quad 0x381e77117811a7d2, 0x38691022d83bf8f5 - .quad 0x3818ccd934db2cb0, 0x38646a292659269e - .quad 0x38142faa33070d2a, 0x3860a05da41d6048 - .quad 0x38106db98d7f6125, 0x385b14375f322de2 - .quad 0x380abcdbdfcc9f7c, 0x38560c75486158b0 - .quad 0x3805c15c23fbb403, 0x3851f35bc35fb59f - .quad 0x3801b2fdb7cab6df, 0x384d39954e0a9d3d - .quad 0x37fccb8a64624f6c, 0x3847c98ab66270f5 - .quad 0x37f76bb52e82b59a, 0x38435be6eb898758 - .quad 0x37f30c117f001ac3, 0x383f819edd38db9c - .quad 0x37eefa0e49e3fecc, 0x3839a2821242ebd0 - .quad 0x37e92fa046d58d4e, 0x3834dadd528d6ea9 - .quad 0x37e479ae4e865fee, 0x3830f6d9e092345c - .quad 0x37e0a4c603089f16, 0x382b987187720ae4 - .quad 0x37db0e03e96a5485, 0x3826711ad9310ce1 - .quad 0x37d5fc89a9e03199, 0x38223f97aea9f29f - .quad 0x37d1dd90a3522c75, 0x381dac6b554960ff - .quad 0x37cd07c0b8b30398, 0x38181f77dc55f2bd - .quad 0x37c795540ea5dda7, 0x38139bb36d1a51da - .quad 0x37c327f191dd6247, 0x380fdf7c425dfb89 - .quad 0x37bf1db008e061d6, 0x3809e6c7f42ee3a0 - .quad 0x37b944b7c8850269, 0x38050bd38f4b0e14 - .quad 0x37b4846e1e475567, 0x38011954fcd9d596 - .quad 0x37b0a8512d6deeb0, 0x37fbc7d8a23288e1 - .quad 0x37ab0b57b848dfd5, 0x37f69099571fea27 - .quad 0x37a5f385601a1095, 0x37f25378a9823720 - .quad 0x37a1d0aee3f21eae, 0x37edc36feecfa2ba - .quad 0x379ce9ce0f1b56b8, 0x37e82a9fb7ad076b - .quad 0x379775af322a6fb6, 0x37e39ea243c7bf71 - .quad 0x3793084e2fb958e5, 0x37dfda4af81b306a - .quad 0x378ee0aaff5c7275, 0x37d9da7a2c5ab52c - .quad 0x37890b5b261712ac, 0x37d4fb44aa933f5c - .quad 0x37844f853ca3d2a1, 0x37d1068e39733d5f - .quad 0x37807839b24e2329, 0x37cba0b385a9673f - .quad 0x377ab4ef712ea53c, 0x37c669cb88b98bb4 - .quad 0x3775a6a27edc2aaf, 0x37c22e458ff074e2 - .quad 0x37718ccfb2383c0d, 0x37bd7dccacf16bdf - .quad 0x376c72c7d427b5c7, 0x37b7ea9a57d9c3fd - .quad 0x37670debd3477d7c, 0x37b364981b4fcacc - .quad 0x3762ae4c8505c4dc, 0x37af723b60a4c45a - .quad 0x375e45347f37826d, 0x37a97e0b5db827a8 - .quad 0x3758859d9d834871, 0x37a4a9cae44d02aa - .quad 0x3753dcdd6f53a761, 0x37a0bf347561e06f - .quad 0x3750163c7a1b8ce3, 0x379b246ea577dcd5 - .quad 0x374a0de9e4d0326a, 0x3795fe1a8f2ffd47 - .quad 0x374518a7407eb90e, 0x3791d15869af1a46 - .quad 0x3741146574533e59, 0x378cde08f63664fd - .quad 0x373ba6f77161f191, 0x378761ba88bf6eed - .quad 0x373661c59f17fae0, 0x3782efafc89163c3 - .quad 0x37321d2894bdd4c7, 0x377eab12c8aa7e50 - .quad 0x372d50e0eba3e44d, 0x3778d4d432dee077 - .quad 0x3727b84a5753cf1f, 0x37741a589d11cb19 - .quad 0x37233091416396db, 0x377045db9ec2ba81 - .quad 0x371f0bb3ff173143, 0x376a57861242277f - .quad 0x37191c3cacc75aaa, 0x376551681b8d3610 - .quad 0x37144ea256a84bb0, 0x376140098b38820c - .quad 0x37106bb841410434, 0x375be9e2feb561e0 - .quad 0x370a8d98b0d57710, 0x375694e9fdcb7be5 - .quad 0x37057755a2313bdf, 0x37524419d9ce37ff - .quad 0x37015a03d39bca43, 0x374d8bf1578b3aac - .quad 0x36fc0c4e9f387792, 0x3747e4dfe2cee6a2 - .quad 0x36f6aa9b63079411, 0x3743520b0bf08a51 - .quad 0x36f250ad98a67e4f, 0x373f3daa3dd37f3a - .quad 0x36ed9842421f4af1, 0x37394140b3abb78e - .quad 0x36e7e859d0226582, 0x373469d2facc66f7 - .quad 0x36e34f9e5d4c96d3, 0x37307f7c6b04c092 - .quad 0x36df314a5f5af6d7, 0x372aa9f80ec12e52 - .quad 0x36d9306ca687d568, 0x37258b5e63278412 - .quad 0x36d456b681315daf, 0x372167dcc97a0fd3 - .quad 0x36d06b98180e66f0, 0x371c1ee5bab4ede7 - .quad 0x36ca82a4c036e3f3, 0x3716b69077bfc3c7 - .quad 0x36c565cda5d05a6a, 0x371257dcc5bc2717 - .quad 0x36c144d77262f022, 0x370d9fdd2296338f - .quad 0x36bbdec7b50a66c0, 0x3707eb427b4ddd71 - .quad 0x36b67cb265d8483a, 0x37034f5aee912170 - .quad 0x36b224399b226996, 0x36ff2ca4dc8ff69f - .quad 0x36ad448f86c23d12, 0x36f92943634830d2 - .quad 0x36a79b2a15ae0faa, 0x36f44e2d8e947442 - .quad 0x36a3098d833c2da0, 0x36f0627b1e47c261 - .quad 0x369eb3aa595948f3, 0x36ea705784809825 - .quad 0x3698c0f08dff4e68, 0x36e554226cd542ef - .quad 0x3693f49a8880f6ad, 0x36e1343e7a202e90 - .quad 0x369015dd1c62a082, 0x36dbc0384ab3550d - .quad 0x3689edb80143a705, 0x36d660fe966c4e28 - .quad 0x3684e52056f2dec4, 0x36d20b6b60dae611 - .quad 0x3680d62a769875e0, 0x36cd1893fc15ba16 - .quad 0x367b2128dd015485, 0x36c7747e31ddd25c - .quad 0x3675dad6d3a16694, 0x36c2e7c997078049 - .quad 0x36719a81ef58dfc6, 0x36be790d89e8e564 - .quad 0x366c5ae1b79c4ee8, 0x36b88e545d12ba57 - .quad 0x3666d56e11abc8a7, 0x36b3c919aea97870 - .quad 0x366262a204b39df1, 0x36afe13c6f07b6ae - .quad 0x365d9a774b67b183, 0x36a9ae2b16a9550a - .quad 0x3657d48e51f6d6ed, 0x36a4af14f857334e - .quad 0x36532e43016e50e4, 0x36a0a8564eab8ff5 - .quad 0x364edf747f9f14f1, 0x369ad3a333504020 - .quad 0x3648d7d80e14b910, 0x3695996d7e13f467 - .quad 0x3643fd1708b687cb, 0x3691636f3d76858a - .quad 0x364014ad3fec9ec4, 0x368bfe545fce7a55 - .quad 0x3639dee40ecc2982, 0x368687ce08618977 - .quad 0x3634ceca2b274540, 0x368221a377d62eb4 - .quad 0x3630bbd071377b87, 0x367d2dcd30499eb7 - .quad 0x362ae9438e9a5c0b, 0x367779da2df7a30c - .quad 0x3625a30285652ad0, 0x3672e2a7c1fe1c5f - .quad 0x362164daef1c2b15, 0x366e61933d473856 - .quad 0x361bf6806876a635, 0x36686f2e6e7e582a - .quad 0x36167960688424ef, 0x3663a62b4892ce6e - .quad 0x36120f7f47f404a7, 0x365f99234ed0089e - .quad 0x360d061d530972c5, 0x3659676058974913 - .quad 0x3607517e8c57f622, 0x36546bd7c1e28ef0 - .quad 0x3602bb6ba79809ed, 0x365069f8cb02119f - .quad 0x35fe179628712470, 0x364a61febb6d574d - .quad 0x35f82af24bbe81dd, 0x36453351984f5d61 - .quad 0x35f3684a09debb18, 0x364108b4faaa8971 - .quad 0x35ef2a603a977e7c, 0x363b5e91e3ee196d - .quad 0x35e9054beadf5a51, 0x3635fc381e001854 - .quad 0x35e415c074fc9065, 0x3631a8782bc000be - .quad 0x35e01ef55a0092e3, 0x362c5c9be5ba37d4 - .quad 0x35d9e016e74801cb, 0x3626c625c9dd5c05 - .quad 0x35d4c3713bae315d, 0x362248f08aa2a9f5 - .quad 0x35d0a8cf82738469, 0x361d5b98efc2e8d5 - .quad 0x35cabada51b7b47e, 0x361790b07dcc17dd - .quad 0x35c570fb47030aa8, 0x3612e9c8b4dec3de - .quad 0x35c13270ae279a57, 0x360e5affac730013 - .quad 0x35bb951931589ad6, 0x36085b69d604d483 - .quad 0x35b61dfa678e3296, 0x36038aa7fa8655e3 - .quad 0x35b1bb88966006c4, 0x35ff5a41ad29abd6 - .quad 0x35ac6e52f00f28e6, 0x35f925df815332e1 - .quad 0x35a6ca07adb2cabe, 0x35f42b32a68b6433 - .quad 0x35a243c4de072741, 0x35f02c65f05a223c - .quad 0x359d4603cf73627e, 0x35e9ef9ba1f58105 - .quad 0x359774b9c8b06520, 0x35e4cb0a4ddc2264 - .quad 0x3592cad15ed5f00d, 0x35e0ab038a2ddd17 - .quad 0x358e1ba565f2f2da, 0x35dab82536c08c11 - .quad 0x35881da56c03901c, 0x35d569ce24f30cad - .quad 0x358350587b61e2e7, 0x35d128ac3f80b9ac - .quad 0x357eeeaf2386ba73, 0x35cb7f008c184953 - .quad 0x3578c45dba9ebaff, 0x35c6071b5b7d5f0b - .quad 0x3573d40375ab2fc9, 0x35c1a5112ad78884 - .quad 0x356fbe96dd52dd2a, 0x35bc43afb43abf3a - .quad 0x35696874b77050b3, 0x35b6a28d7dab4750 - .quad 0x3564557ac9b8a4ff, 0x35b21fe234726979 - .quad 0x35604568afbad70b, 0x35ad05b30647f5b6 - .quad 0x355a097bba9c5bba, 0x35a73bbedaae952f - .quad 0x3554d4668bc3c638, 0x35a298ce64edbc52 - .quad 0x3550a969821c25d4, 0x359dc489a35fd890 - .quad 0x354aa703eac27071, 0x3597d248efdebaf1 - .quad 0x3545506ec96ce1d8, 0x35930f843b6c62b7 - .quad 0x35410b0827e1c59f, 0x358e7fb2011e1175 - .quad 0x353b409eb99c2287, 0x358865c4d7ebd336 - .quad 0x3535c93bed6568e9, 0x358383b206d0bb99 - .quad 0x353169ff47b694c6, 0x357f36aa78ac249d - .quad 0x352bd5de633517f7, 0x3578f5cbbd7e3bd9 - .quad 0x35263e7724f64774, 0x3573f5064180659d - .quad 0x3521c60a3dd2224e, 0x356fe8f1d993bb19 - .quad 0x351c66566ef40333, 0x356981f750955121 - .quad 0x3516afcac6c09d1a, 0x3564632fef2669ec - .quad 0x35121ee56dbc8c6a, 0x35604b03ffb7174a - .quad 0x350cf19c31a391ac, 0x355a09e23dee12db - .quad 0x35071ce2ba111a68, 0x3554cddefbe00dae - .quad 0x3502744e94597df0, 0x35509eb734c1a314 - .quad 0x34fd77474fa3c96f, 0x354a8d28a7b21f9e - .quad 0x34f7856cde19858b, 0x354534c49c3a48a0 - .quad 0x34f2c60519b06073, 0x3540ef5469afe541 - .quad 0x34edf6f23e67822e, 0x353b0b689ea896f0 - .quad 0x34e7e9197060941a, 0x35359793ad60d8ab - .quad 0x34e313ca61e59763, 0x35313c9ee6b2a529 - .quad 0x34de703ac45eb1a5, 0x352b84429b1d33d8 - .quad 0x34d8479b71b66ff2, 0x3525f60114dc317a - .quad 0x34d35d621cd7892f, 0x3521865baa279b03 - .quad 0x34cee2c2766d39ae, 0x351bf759f4ae6481 - .quad 0x34c8a0a908fbee34, 0x35164fc41f392bcd - .quad 0x34c3a29293d26666, 0x3511cc51b3533d1b - .quad 0x34bf4e2f320ed2f5, 0x350c645558315ad7 - .quad 0x34b8f3fbe30bc1d8, 0x3506a496dcf46820 - .quad 0x34b3e324f4cf0981, 0x35020e4a4b8e031e - .quad 0x34afb22b934b9930, 0x34fccadf3adb1af0 - .quad 0x34a941518f17ca26, 0x34f6f4367d03dbd8 - .quad 0x34a41ee59ab3f625, 0x34f24c114d622260 - .quad 0x34a00733b2d2d2a7, 0x34ed2aa649df6e65 - .quad 0x3499886bd6d1085b, 0x34e73e63a45afd4d - .quad 0x349455a452136a60, 0x34e285756918be22 - .quad 0x3490314c07978175, 0x34dd835dd5ba6335 - .quad 0x3489c91111b6c15f, 0x34d782e2c1c97a81 - .quad 0x3484873499e69a71, 0x34d2ba486638ab1e - .quad 0x3480573c7a800f18, 0x34cdd4be385e9720 - .quad 0x347a030c72f0cf33, 0x34c7c17c5d99552c - .quad 0x3474b36ddfcc8743, 0x34c2ea5f617d321f - .quad 0x347078e5ec28bafd, 0x34be1e853589fe15 - .quad 0x346a362e51221b9f, 0x34b7f9fd64579e1a - .quad 0x3464da2bb75a5c65, 0x34b3159306d0abd0 - .quad 0x3460962c95c3eb50, 0x34ae6076548c0765 - .quad 0x345a624c67aa97df, 0x34a82c376c3acddf - .quad 0x3454fb4e0c13d490, 0x34a33bbfc6dd55a6 - .quad 0x3450aef82f484486, 0x349e9a5b32d2ef52 - .quad 0x344a874210dbadcf, 0x34985800f4a2d262 - .quad 0x344516b94dabb86d, 0x34935cc607ce4fd8 - .quad 0x3440c33410fd4c56, 0x348ecc03cea2935d - .quad 0x343aa4f078af0321, 0x34887d359f39448e - .quad 0x34352c5696370c9d, 0x3483788a50e33e44 - .quad 0x3430d2cf5025ba2d, 0x347ef546c9652b0a - .quad 0x342abb3ec79d594d, 0x34789bb66243bfd5 - .quad 0x34253c13ca08d951, 0x34738ef570827673 - .quad 0x3420ddbcd68fc943, 0x346f1601a115b514 - .quad 0x341aca1a45423b35, 0x3468b369b3c6ec4f - .quad 0x341545e3b0f8838a, 0x34639ff49c7fe5e8 - .quad 0x3410e3f374dd9d68, 0x345f2e18e05495b4 - .quad 0x340ad1767288e013, 0x3458c43bad265564 - .quad 0x340549be08e15927, 0x3453ab798c59d4c2 - .quad 0x3400e56def61fbc4, 0x344f3d7844c8a592 - .quad 0x33fad14d1b2f0b5f, 0x3448ce1e26fb8214 - .quad 0x33f5479f9137160b, 0x3443b17a8d383f04 - .quad 0x33f0e22b05782284, 0x343f4412db819edf - .quad 0x33eac99e5e7b9269, 0x3438d108ccedcd75 - .quad 0x33e53f8a0f98a8b8, 0x3433b1f28f8795ca - .quad 0x33e0da2d734853ff, 0x342f41e3132440da - .quad 0x33daba70af1767b0, 0x3428ccf9296410ae - .quad 0x33d531844d58365e, 0x3423ace12e143377 - .quad 0x33d0cd7bedf59779, 0x341f36eac3bc78c2 - .quad 0x33caa3d0ca096eed, 0x3418c1f2a8f92477 - .quad 0x33c51d9a0dfd2e93, 0x3413a24aae988ae7 - .quad 0x33c0bc211a3c2859, 0x340f23332c263066 - .quad 0x33ba85d1a4e6bedc, 0x3408affe95ac6f2a - .quad 0x33b503dbfed30324, 0x34039237fbbcfa18 - .quad 0x33b0a62b7d92f095, 0x33ff06cce511da3e - .quad 0x33aa608c535a2ba1, 0x33f8972c09d7f45c - .quad 0x33a4e45f9fa4adff, 0x33f37cb698950bda - .quad 0x33a08bad69ed20a4, 0x33eee1cfc9be3df9 - .quad 0x339a341fe436d2d7, 0x33e8778fdb058321 - .quad 0x3394bf3f24d273a5, 0x33e361d88db2b95b - .quad 0x33906cbce44363ec, 0x33deb45ad695330a - .quad 0x338a00b13659be7c, 0x33d851447ccc879b - .quad 0x3384949952fc2371, 0x33d341b44ff4c3c6 - .quad 0x3380497386163a39, 0x33ce7e93fdecae00 - .quad 0x3379c66ac5ae65b3, 0x33c82469dbf1833e - .quad 0x337464915486577b, 0x33c31c64a141680e - .quad 0x337021ee5a248c7f, 0x33be40a7f340982a - .quad 0x3369857c70b8b2bc, 0x33b7f125320f1e94 - .quad 0x33642f4e894cc71a, 0x33b2f2086b6a5cf4 - .quad 0x335fec9b69351b70, 0x33adfac9ed4c27ce - .quad 0x33593e1b371520a1, 0x33a7b7a0d21f0262 - .quad 0x3353f4fc50de840a, 0x33a2c2c295822108 - .quad 0x334f8d6a0e0a9508, 0x339dad335f7aacdb - .quad 0x3348f080f16c57c0, 0x3397780bee4609a1 - .quad 0x3343b5c9cfaada16, 0x33928eb9d3f5000a - .quad 0x333f269560bdbf92, 0x338d5823ab37d92e - .quad 0x33389cec0363502d, 0x3387329a5753ca24 - .quad 0x333371e9af8e6ccf, 0x3382561873c1cc7a - .quad 0x332eb86f931c309d, 0x337cfbdfc9b64d6e - .quad 0x3328439f081b525a, 0x3376e7843670c8d2 - .quad 0x33232991dc38028e, 0x3372190c2136fc76 - .quad 0x331e434fdd743954, 0x336c98b1eed08258 - .quad 0x3317e4e079de1a2e, 0x33669705c180d6c1 - .quad 0x3312dcfb3be31ebd, 0x3361d7c5aaa09490 - .quad 0x330dc7920bafc5dc, 0x335c2ee925b3e3f6 - .quad 0x330780fa5599d558, 0x3356415eeac7f744 - .quad 0x33028c6164ec1235, 0x33519278bf59ff34 - .quad 0x32fd459605b63623, 0x334bbed8e8100752 - .quad 0x32f71839bad6a45b, 0x3345e6d30c67b96b - .quad 0x32f2380250c57526, 0x3341495babbc8d8e - .quad 0x32ecbdbf53eed588, 0x333b48d8b08c37b5 - .quad 0x32e6aaee88d3a5e6, 0x333587a8905112eb - .quad 0x32e1e01e0cda0c0e, 0x3330fca71267dd26 - .quad 0x32dc3074a0c1c67d, 0x332acd43894c1f06 - .quad 0x32d6396af97c5f7f, 0x33252428954b7c2f - .quad 0x32d184f669e7e645, 0x3320ac95a364b406 - .quad 0x32cb9e1f37f768c9, 0x331a4c779750fb77 - .quad 0x32c5c4033ae88d94, 0x3314bc9e91b546a8 - .quad 0x32c126ceaa621095, 0x33105963d1a5105b - .quad 0x32bb072a84d6770b, 0x3309c6d5a387a6d7 - .quad 0x32b54b0d08180ac6, 0x33045157f4a2e598 - .quad 0x32b0c5eb30658611, 0x3300034f87652744 - .quad 0x32aa6c038fdf5aed, 0x32f93cc0a254a9f5 - .quad 0x32a4cedf419a9b38, 0x32f3e2a3c60327aa - .quad 0x32a062912bcc23f9, 0x32ef552fb3e1c70b - .quad 0x3299cd187cff951c, 0x32e8ae9d3a6eb66f - .quad 0x32944fd186d008c2, 0x32e370d2466d3327 - .quad 0x328ffa0c91caab55, 0x32de9ef97aa04b46 - .quad 0x32892ad80b12a09b, 0x32d81cd14bd535bb - .quad 0x3283ce3bd0683046, 0x32d2fc348f3a8121 - .quad 0x327f2b20c0b002ab, 0x32cde47d70b3398c - .quad 0x327885b1157e885c, 0x32c787c377ac34cd - .quad 0x32734a760cc47aca, 0x32c2851c338b22e4 - .quad 0x326e58ea51580bad, 0x32bd263d33512bb6 - .quad 0x3267de1218b19542, 0x32b6efdaa9c0e45e - .quad 0x3262c4d7bed4d522, 0x32b20bdae2cd61c6 - .quad 0x325d83f3d3e6d150, 0x32ac64ba5bdb46de - .quad 0x32573468ba3c29b8, 0x32a6557da47246f7 - .quad 0x32523db7a001a935, 0x32a190c20d5b5808 - .quad 0x324cacc668087b83, 0x329ba075f0192b60 - .quad 0x324689215536317f, 0x3295b9128fb09361 - .quad 0x3241b56b45aac06f, 0x329114228bb99133 - .quad 0x323bd3e92f58e3ae, 0x328ad9efd6e7e350 - .quad 0x3235dca68b92a62f, 0x32851afe8bbb6b6c - .quad 0x32312c46cab86e91, 0x3280964c48f92b05 - .quad 0x322af9e0c680145a, 0x327a11a652260d00 - .quad 0x32252f60dcf5b390, 0x32747ba5483b6e8f - .quad 0x3220a29c7db10f70, 0x3270178df0b67157 - .quad 0x321a1f2ec5b27de2, 0x326948157e97fbd7 - .quad 0x321481b643932bec, 0x3263db68a0470a4f - .quad 0x321018bc93b8e2e5, 0x325f306942454ae6 - .quad 0x3209445149305037, 0x32587db6da6dd3ca - .quad 0x3203d409d78b6819, 0x32533aa83bd4deab - .quad 0x31ff1de9c1ab95aa, 0x324e311742f9561b - .quad 0x31f869c2824b4b6b, 0x3247b300d303ed2c - .quad 0x31f326bb792c8c5b, 0x324299c1370fc2d1 - .quad 0x31ee0b212b870715, 0x323d31b83aa1a53b - .quad 0x31e78ff85165ac91, 0x3236e8665a634aff - .quad 0x31e27a27826da7a5, 0x3231f90dcff1976e - .quad 0x31dcf9b0072f8176, 0x322c32d9c998168a - .quad 0x31d6b763e947db08, 0x32261e5684f4d137 - .quad 0x31d1cea67fe8699c, 0x322158e51a7ac97e - .quad 0x31cbea20cad09b1f, 0x321b350464c51c99 - .quad 0x31c5e0717c155a1c, 0x3215553c2fc66728 - .quad 0x31c1248cf18568a2, 0x3210b99abbccdbb1 - .quad 0x31badcf760300963, 0x320a38baebfb68e4 - .quad 0x31b50b87f214792d, 0x32048d7dafad7ffe - .quad 0x31b07c2b12fe4dba, 0x32001b7eac5ea688 - .quad 0x31a9d2b0d0c4a0b1, 0x31f93e7a4bb07430 - .quad 0x31a43908aa677d25, 0x31f3c77c897ed254 - .quad 0x319fab995891c153, 0x31eefdba02e2ceff - .quad 0x3198cbc2fe600108, 0x31e846b92a47c343 - .quad 0x3193694f45c1b92f, 0x31e30395337f89bb - .quad 0x318e6371d3dc0233, 0x31ddc7fb7bbca8ad - .quad 0x3187c89c6867890e, 0x31d751e7a10e8264 - .quad 0x31829cb17b0f706b, 0x31d2421ee0211f87 - .quad 0x317d20647a807a0c, 0x31cc9649548abac7 - .quad 0x3176c9a3fd812077, 0x31c6606f00ed6d5d - .quad 0x3171d37ef5f490cd, 0x31c1836b52067807 - .quad 0x316be2ec88ae1479, 0x31bb6922692e74d4 - .quad 0x3165cf38f9818abf, 0x31b572b1a2c0293a - .quad 0x31610e013ef486f7, 0x31b0c7c6b93f06a1 - .quad 0x315aab7b734b99f6, 0x31aa40fcadcdd133 - .quad 0x3154d9b2cf546b09, 0x31a4890ac32b69b5 - .quad 0x31504c7bad04b57c, 0x31a00f779993bbc1 - .quad 0x31497a78d5f1c6db, 0x31991e450ac30542 - .quad 0x3143e9611e821800, 0x3193a3ce69b6a143 - .quad 0x313f1e56c0773bb7, 0x318eb57d7362f984 - .quad 0x313850426f2df55d, 0x3188015f467ddd40 - .quad 0x3132fe8bb3e4f4d8, 0x3182c3495adab7d8 - .quad 0x312dac8e8a813f1f, 0x317d53ae35dbfa26 - .quad 0x31272d2c2a7422ab, 0x3176eaa5fce4af3a - .quad 0x31221972950f570d, 0x3171e7c114a57a33 - .quad 0x311c44004226dc17, 0x316bf9ebf2ac34cf - .quad 0x3116118037139874, 0x3165da6aa3adb7a3 - .quad 0x31113a4e15d42467, 0x31611173d5813f4d - .quad 0x310ae501496e23f2, 0x315aa895a750e0f6 - .quad 0x3104fd7f2b705e64, 0x3154d0f59b16ac32 - .quad 0x3100614ef7575b09, 0x31504098aca1b898 - .quad 0x30f98fdb1084fd1c, 0x31495ffef5a788b3 - .quad 0x30f3f16033b4da17, 0x3143ce864a4f75bb - .quad 0x30ef1d3d20014dd3, 0x313eeabf27142ccb - .quad 0x30e844cb59a101a9, 0x31382070510e6e91 - .quad 0x30e2ed514b22b68b, 0x3132d35346de60f3 - .quad 0x30dd84bdf7421499, 0x312d5fe3202b4d44 - .quad 0x30d7040489842ad7, 0x3126ea2738b3dbeb - .quad 0x30d1f1777f205012, 0x3121df8a8637ba9c - .quad 0x30cbf956a62adf73, 0x311be0e1bcc5bf2b - .quad 0x30c5cdae0381ff94, 0x3115bd567e120a1c - .quad 0x30c0fdef3b187063, 0x3110f35198b8b7f7 - .quad 0x30ba7b2fd5556b6a, 0x310a6df243f2c6f4 - .quad 0x30b4a1e48fd99b8e, 0x31049a26968a8fd1 - .quad 0x30b012cc9c3d142a, 0x31000ec5ed2dbe3e - .quad 0x30a90a652d08b6ec, 0x30f9073f3afbdfeb - .quad 0x30a380bacb3471d9, 0x30f380b5f70c487d - .quad 0x309e603798765b0a, 0x30ee63fa380d130b - .quad 0x3097a705e88ab4c8, 0x30e7ace6e086aab7 - .quad 0x30926a399e180e7c, 0x30e2711978a97cf7 - .quad 0x308cabc2c3d98d7c, 0x30dcba0a72ae9c08 - .quad 0x308651157275ac6f, 0x30d65efbb20adf2d - .quad 0x30815e60bb1a2bac, 0x30d16b5cc5019368 - .quad 0x307b08358e30e1b1, 0x30cb1fca598944c3 - .quad 0x3075088c08941b89, 0x30c51d84fa353951 - .quad 0x30705d2722aa0abe, 0x30c06f82c9619b90 - .quad 0x3069757d44a0d5d1, 0x30b9953a1cf16aad - .quad 0x3063cd5765cc7b51, 0x30b3e87f66d27bb0 - .quad 0x305eccf7568ff3af, 0x30aefb0c5f0312cd - .quad 0x3057f37a88128933, 0x30a81a4d1085cfd1 - .quad 0x30529f5b70afae6e, 0x30a2bfdda4e2b20c - .quad 0x304cf48b1a182cb9, 0x309d2ab3b59164a6 - .quad 0x304682022c0d8296, 0x3096aeea740e7e26 - .quad 0x30417e72ed48d1c2, 0x3091a389017ca93c - .quad 0x303b30c9decefa86, 0x308b6dd2d215fccf - .quad 0x303520de188c8ff4, 0x308552ee415230cd - .quad 0x30306a7030db71fb, 0x308093620e33d9f9 - .quad 0x30298166f02e00aa, 0x3079c4336b720df7 - .quad 0x3023cfce2d301755, 0x30740629fd47fda6 - .quad 0x301ec63bac9af50a, 0x306f1e828f7f1e6e - .quad 0x3017e609b497d4bf, 0x30682d92bd0fbc5b - .quad 0x30128e89244647b5, 0x3062c8658b1c7fab - .quad 0x300cd07ee41894f6, 0x305d2def7b6139fb - .quad 0x30065e4eca3c47ce, 0x3056a9a29142865a - .quad 0x30015cbd7439af48, 0x3051995fff959855 - .quad 0x2ffaf324889fe32e, 0x304b549f742691f7 - .quad 0x2ff4e9c920d5db05, 0x3045380a4af4c2e9 - .quad 0x2ff03a122e1077b7, 0x304078d07375b0b0 - .quad 0x2fe92d9bd168c630, 0x3039921acfd99f39 - .quad 0x2fe388030ea8589c, 0x3033d867ecfb60a5 - .quad 0x2fde4c4faf832008, 0x302ecccda72dba49 - .quad 0x2fd77f4a046c515e, 0x3027e5deef2de87b - .quad 0x2fd2387f5f4b712e, 0x30228a511d87ce7d - .quad 0x2fcc413282821079, 0x301cc3995b1e2c40 - .quad 0x2fc5e78bc56d0fbb, 0x30164f5f80200f46 - .quad 0x2fc0faba5af01355, 0x30114d5424501d7e - .quad 0x2fba51f8a6830159, 0x300ad54bef9112d0 - .quad 0x2fb465b65a83bdbb, 0x3004ce07b8d50856 - .quad 0x2faf9c5589e7201f, 0x300020f8e226943e - .quad 0x2fa87dc5ad8af9ec, 0x2ff90123a8271991 - .quad 0x2fa2f918e4d3f95c, 0x2ff3613b89391a8f - .quad 0x2f9d6485a170413a, 0x2fee098381b76cd3 - .quad 0x2f96c3b66970be3d, 0x2fe7465697a54c64 - .quad 0x2f91a0fd8c3a4e6f, 0x2fe20858c20a1795 - .quad 0x2f8b4ce217bd5e55, 0x2fdbf05934cfa1cc - .quad 0x2f8522e259c7017a, 0x2fd5a41409f84e49 - .quad 0x2f805caa9cf257c4, 0x2fd0c2b83023243d - .quad 0x2f7954427a430b11, 0x2fc9f5672cf62a4f - .quad 0x2f739a5d07601e71, 0x2fc41985de8f7a14 - .quad 0x2f6e56c72cc01fcc, 0x2fbf1f5d5615d783 - .quad 0x2f67797a6e64ddc9, 0x2fb8179bfb69c631 - .quad 0x2f6229374c838060, 0x2fb2a5d1d1f1ae5c - .quad 0x2f5c18d454a503ae, 0x2facdd1c2bddbb9e - .quad 0x2f55bb5b3e414ad3, 0x2fa655e203c78ad0 - .quad 0x2f50ce808921de57, 0x2fa1481ab5a1469a - .quad 0x2f49fdfe587f056a, 0x2f9abd4ca4bd8884 - .quad 0x2f4418b54bd6a895, 0x2f94af20f59f283d - .quad 0x2f3f128f851039d9, 0x2f8fff032b2dbde7 - .quad 0x2f3804c6e03f60cb, 0x2f88be8c488684b4 - .quad 0x2f3290596a08a94f, 0x2f83223f2e5be0f0 - .quad 0x2f2cb1395c8187f6, 0x2f7d964d959533d1 - .quad 0x2f262bb1316ec5fc, 0x2f76df780d5ecc43 - .quad 0x2f21211a1b47d3ae, 0x2f71ae2302fd4bcd - .quad 0x2f1a772150026811, 0x2f6b5455f4e2ce45 - .quad 0x2f147143aa78b5fe, 0x2f651eade2a24279 - .quad 0x2f0f93996ba5e93d, 0x2f6051b3f15282e5 - .quad 0x2f08626f2553e204, 0x2f593760037df87a - .quad 0x2f02d4091cd12adc, 0x2f537ace1ccc1a8d - .quad 0x2efd1294db79df79, 0x2f4e17b7713cf17f - .quad 0x2ef6715149108678, 0x2f473db39c4b278b - .quad 0x2ef1529206516167, 0x2f41f27cc2724f90 - .quad 0x2eeabce28a1f17f2, 0x2f3bb70eb3792a1c - .quad 0x2ee4a1fe3e55f964, 0x2f35659e4463ddd1 - .quad 0x2edfd6eb54be7326, 0x2f308462ba9624db - .quad 0x2ed89049c51b8388, 0x2f297f4ffe1284a1 - .quad 0x2ed2f2b5e6789756, 0x2f23ad748e88c53f - .quad 0x2ecd3aa617478594, 0x2f1e5e5db98318a5 - .quad 0x2ec68a9e9f7b2f9a, 0x2f176e6798f53e9a - .quad 0x2ec161c2a1de488e, 0x2f121393590da64b - .quad 0x2ebacda38e82463b, 0x2f0be32dc731f12c - .quad 0x2eb4a9c33e05809a, 0x2f05824d30f3fce1 - .quad 0x2eafdaf4969fc450, 0x2f009660e736b8bd - .quad 0x2ea88d45a53c41c5, 0x2ef994b0856743cb - .quad 0x2ea2eba8f55fe897, 0x2ef3b9051c5e7679 - .quad 0x2e9d287e1e77c85a, 0x2eee689bae600601 - .quad 0x2e96770239fc87e6, 0x2ee77071c1633b26 - .quad 0x2e914e513c1b20dc, 0x2ee210a174166fcd - .quad 0x2e8aa90041143186, 0x2edbd7abebe480e6 - .quad 0x2e8488642c71cfa6, 0x2ed5740f6d4ed277 - .quad 0x2e7f9f9ce5a157bb, 0x2ed0874302ee34fd - .quad 0x2e785974997b931f, 0x2ec97701e51a6bfe - .quad 0x2e72bf0c37efc00b, 0x2ec39d3aac239fe2 - .quad 0x2e6cdc89092e43c3, 0x2ebe36341a88ea0c - .quad 0x2e6636f0e2785c54, 0x2eb743c5e4db43f9 - .quad 0x2e6118b19def65f8, 0x2eb1e9b8ad36fd99 - .quad 0x2e5a4fd2c459c710, 0x2eab94cde5e4fc30 - .quad 0x2e543ea7a73d5cf0, 0x2ea53b3a109a94ae - .quad 0x2e4f26454740b953, 0x2ea057635a1ed1df - .quad 0x2e47f60ab495565c, 0x2e9926f55b776f91 - .quad 0x2e426de8be09d876, 0x2e935abb1f1cadef - .quad 0x2e3c5889cb51dbb9, 0x2e8dc853b381e5a0 - .quad 0x2e35cbe6a335189c, 0x2e86e96e5d005f5d - .quad 0x2e30c22190c33c65, 0x2e819fc0dba0e848 - .quad 0x2e29c42b0a7816ac, 0x2e7b1c21d6e11086 - .quad 0x2e23ce41b9a97542, 0x2e74d91f3701143c - .quad 0x2e1e71ba6efe048b, 0x2e7007de792cfd6e - .quad 0x2e176552635a3b27, 0x2e68a6663a0ececb - .quad 0x2e11fa1c7f04e719, 0x2e62f310e41037d6 - .quad 0x2e0b9f88d1e59fb3, 0x2e5d2185735c5ad9 - .quad 0x2e0538582347c59e, 0x2e566381bdd98a02 - .quad 0x2e004c9ca3c242ad, 0x2e51346f1ba5a69a - .quad 0x2df9093a8968bba5, 0x2e4a706fd9470fb8 - .quad 0x2df339c31e0d51b7, 0x2e445000f1eec014 - .quad 0x2ded8619415342d3, 0x2e3f3510620184ea - .quad 0x2de6aa95f63dd017, 0x2e37f84791f6fdbb - .quad 0x2de16648113f6ec6, 0x2e32689bc620188b - .quad 0x2ddab5b65b277be7, 0x2e2c45998d7521ae - .quad 0x2dd47f9aad3382fe, 0x2e25b50e4b7d6356 - .quad 0x2dcf7591b1b1c875, 0x2e20aa3508d5db00 - .quad 0x2dc82335294ba260, 0x2e19959eb6f64db6 - .quad 0x2dc2848053b7dfb1, 0x2e13a2fb2a16d1cc - .quad 0x2dbc68a6f5a8ef62, 0x2e0e23b370697cbb - .quad 0x2db5c9ffcce7e5fd, 0x2e0720876851d9fb - .quad 0x2db0b5b54d487d35, 0x2e01be79c992aff6 - .quad 0x2da9a0421e5c5d71, 0x2dfb3980569c43a5 - .quad 0x2da3a5c4268d4e27, 0x2df4e1fc4f822568 - .quad 0x2d9e1fba80d34a41, 0x2df0042910b94342 - .quad 0x2d97172912ec21f8, 0x2de8908e30f7a1b3 - .quad 0x2d91b271db151968, 0x2de2d5e5a1b8288e - .quad 0x2d8b1f9ef2d6b135, 0x2ddce1b3b9ea6267 - .quad 0x2d84c872d1af92bc, 0x2dd623e8fb994f23 - .quad 0x2d7fd87064e02a6f, 0x2dd0f8695160ca38 - .quad 0x2d78652a61cdcd3b, 0x2dca031b186be289 - .quad 0x2d72af84a660968d, 0x2dc3eee8e04dc3a0 - .quad 0x2d6c9f07af149226, 0x2dbe8bd23cc416f0 - .quad 0x2d65eacf76fffc0c, 0x2db766e8d5583265 - .quad 0x2d60c80f3efbbf3f, 0x2db1ed2fab014c43 - .quad 0x2d59b1f8ffd8f3c8, 0x2dab76010ebb6c6a - .quad 0x2d53ab5d5023fe4a, 0x2da507d813502ab7 - .quad 0x2d4e1c174ea2aaa6, 0x2da01aa61c90eacc - .quad 0x2d470b05029068da, 0x2d98a90544ab274d - .quad 0x2d41a1fba21de5f0, 0x2d92e0fb0911dd84 - .quad 0x2d3afb70654af059, 0x2d8ce6f24739f7c7 - .quad 0x2d34a458b53b2a84, 0x2d861eefc532711f - .quad 0x2d2f944d95c81983, 0x2d80edb77098a960 - .quad 0x2d28272ab43f7156, 0x2d79e82e04d9025f - .quad 0x2d2278886c5a4d73, 0x2d73d237a2e0f859 - .quad 0x2d1c3f57b512a1f2, 0x2d6e5385c7d0efe0 - .quad 0x2d1598c52c5d1746, 0x2d673258d0b919eb - .quad 0x2d10828ad1da0983, 0x2d61bdb57d01cecc - .quad 0x2d093d4935512f54, 0x2d5b223e5e67d24a - .quad 0x2d034a3670d3cd59, 0x2d54bf43098a2ef1 - .quad 0x2cfd7b67cefff216, 0x2d4fb93db1e39a21 - .quad 0x2cf686e7356020d2, 0x2d48402d3eada60a - .quad 0x2cf135e695d6d4f8, 0x2d42892e31597360 - .quad 0x2cea4b6028e1ae52, 0x2d3c5502f868f04b - .quad 0x2ce415808da66669, 0x2d35a670a5d83e0e - .quad 0x2cdead51e60a821d, 0x2d308ac71830fd4e - .quad 0x2cd76cfe88ffbfa7, 0x2d29467d9d3bce7d - .quad 0x2cd1e2e61d740a91, 0x2d234ea92731d6f0 - .quad 0x2ccb4f6c22875415, 0x2d1d7e402cf49a21 - .quad 0x2cc4d8e03e448998, 0x2d16860e96265ba8 - .quad 0x2cbfd2c6816f010b, 0x2d1132f279000564 - .quad 0x2cb8494b75728df1, 0x2d0a4356bd52863e - .quad 0x2cb28836b62851b4, 0x2d040cac092d16a6 - .quad 0x2cac476ceb4ce0a6, 0x2cfe9bb8c8c45eaa - .quad 0x2ca592d26553a529, 0x2cf75c6ad9777c96 - .quad 0x2ca074be65f60432, 0x2cf1d3d889242361 - .quad 0x2c991a14719373e5, 0x2ceb34c7bf3e0108 - .quad 0x2c93248b33f78dd9, 0x2ce4c1bf325b5886 - .quad 0x2c8d316bfa6ecf07, 0x2cdfab351a6d7271 - .quad 0x2c8641dc398561ef, 0x2cd827d8b273a859 - .quad 0x2c80f79d08c027e2, 0x2cd26c35a8453a6e - .quad 0x2c79ddabce45ff88, 0x2ccc18e854f7a653 - .quad 0x2c73b6a0443345f1, 0x2cc56c727238c10e - .quad 0x2c6e0b830517633f, 0x2cc05545196af9e3 - .quad 0x2c66e4903f595976, 0x2cb8e6b62ae03487 - .quad 0x2c6170eca4e7a4ca, 0x2cb2facf384d3a3b - .quad 0x2c5a92756c27d93a, 0x2caceddf1e753b81 - .quad 0x2c543d40bf74392d, 0x2ca60b61e0028436 - .quad 0x2c4ed3e286c4c0de, 0x2ca0cbd09b1e5e10 - .quad 0x2c477993389df313, 0x2c9997719e8b73a8 - .quad 0x2c41dfa945eaae99, 0x2c937e77cf85ca37 - .quad 0x2c3b36ec5aa05880, 0x2c8db1e802a6c81f - .quad 0x2c34b749e64b35f5, 0x2c869d3aa6fccfd9 - .quad 0x2c2f88d823260c9e, 0x2c81383f4dd09079 - .quad 0x2c27ffa0f1fabb65, 0x2c7a388f33976b7b - .quad 0x2c2242e12375b352, 0x2c73f613589599c6 - .quad 0x2c1bc9a844ffd2b5, 0x2c6e635a66e3ebe7 - .quad 0x2c1523af73f84783, 0x2c6720bfb4a981d7 - .quad 0x2c10146a610e0588, 0x2c6199a49bcc5100 - .quad 0x2c087590d6d36008, 0x2c5ac8ae259e160c - .quad 0x2c0299b80ea6bb7f, 0x2c54609b0c4183ca - .quad 0x2bfc496292aa266b, 0x2c4f00af26520f9d - .quad 0x2bf5817f72c95e4c, 0x2c4794ce31e24c7b - .quad 0x2bf059392396d038, 0x2c41ef2877dbfcad - .quad 0x2be8da5a346cbb3f, 0x2c3b468dc95cb829 - .quad 0x2be2e36a9eb80d32, 0x2c34bd213115ac94 - .quad 0x2bdcb4fb203e18a0, 0x2c2f88862b544527 - .quad 0x2bd5cfe5be9615c7, 0x2c27f861b04cbe3a - .quad 0x2bd0923c6394f695, 0x2c22380a7a548a2f - .quad 0x2bc92d18166ccd51, 0x2c1bb1122f6e5762 - .quad 0x2bc31f510cb3f507, 0x2c150ad48dd9b3a6 - .quad 0x2bbd0b7c794af438, 0x2c0ff9ab8e5d6631 - .quad 0x2bb60e2f23228ded, 0x2c084a97f6b3e853 - .quad 0x2bb0bef1906dac58, 0x2c0273a4b16ba84f - .quad 0x2ba96d0ca88e4fc0, 0x2bfc07484e1da469 - .quad 0x2ba34ce1af3c1b60, 0x2bf549037ceef1fe - .quad 0x2b9d4c1f7c67dd18, 0x2bf0298e0fc06037 - .quad 0x2b963bcc0600e3b1, 0x2be88ab45875f419 - .quad 0x2b90def17046c37e, 0x2be2a16e161fa35f - .quad 0x2b8999a40ba75f42, 0x2bdc48699c75f345 - .quad 0x2b836bb3093bcf7f, 0x2bd5771e906a9978 - .quad 0x2b7d764e5657aa20, 0x2bd04a04a1699caa - .quad 0x2b7658528dc53bd5, 0x2bc8b822865b44e6 - .quad 0x2b70f1f1acd583c0, 0x2bc2c0fc98ac934c - .quad 0x2b69b2768ee2e280, 0x2bbc73df0b6d4334 - .quad 0x2b637b7d60833afb, 0x2bb594bab8ddacb1 - .quad 0x2b5d89a6c43f4c10, 0x2bb05dee05833b3c - .quad 0x2b5663803afd90e2, 0x2ba8d278c9cbfc58 - .quad 0x2b50f7c5f2e42650, 0x2ba2d206b997c2cc - .quad 0x2b49b74a41343d69, 0x2b9c89434d36542f - .quad 0x2b437c1bd3bb9cfe, 0x2b95a192e33cf627 - .quad 0x2b3d85fb90bdf218, 0x2b90651bc0c61b20 - .quad 0x2b365d3aea4b609e, 0x2b88d9799e5f2521 - .quad 0x2b30f0609e7aa674, 0x2b82d464a6b30dc2 - .quad 0x2b29a813d2878f74, 0x2b7c88645e6c88ee - .quad 0x2b236d8ce9d2217b, 0x2b759d89052b0525 - .quad 0x2b1d6b5543d3c940, 0x2b705f7d07f3fb02 - .quad 0x2b1645913a262a36, 0x2b68cd14a1185c8d - .quad 0x2b10dbd2f003b6a5, 0x2b62c810d60e767e - .quad 0x2b0984f6bfe67780, 0x2b5c714448c370a6 - .quad 0x2b034ff297cd534d, 0x2b5588a691f2cd1f - .quad 0x2afd39f201da2255, 0x2b504d1f01416963 - .quad 0x2af61cba521cabb4, 0x2b48ad66d03eba59 - .quad 0x2af0ba4cc94c45b3, 0x2b42ad281b8cc2a0 - .quad 0x2ae94e44c9a075e7, 0x2b3c44191b160ec2 - .quad 0x2ae32391bcecdc03, 0x2b35631c55b5d22c - .quad 0x2adcf2449a3fda4b, 0x2b302e2c911c7929 - .quad 0x2ad5e3150cc8eda4, 0x2b287aba1a7120bf - .quad 0x2ad08c1bf3c985fa, 0x2b2283e938a586f7 - .quad 0x2ac9047cb663bb8c, 0x2b1c014c17012593 - .quad 0x2ac2e8d117dfdd44, 0x2b152d41b7968429 - .quad 0x2abc94f2cb2815a8, 0x2b1002edb3674f27 - .quad 0x2ab599268900e7bc, 0x2b0835843f5f0b0c - .quad 0x2ab051aaf415041d, 0x2b024cb3e8b7d756 - .quad 0x2aa8a84869fc8267, 0x2afba9781881c8a9 - .quad 0x2aa2a037bab743e1, 0x2af4e79366e7a470 - .quad 0x2a9c22d2c350e306, 0x2aef978cc962d426 - .quad 0x2a953f982a03a248, 0x2ae7de65083f0e21 - .quad 0x2a900b7f70f68972, 0x2ae208076f18ea30 - .quad 0x2a883a7a5a0b9d4d, 0x2adb3d6740403453 - .quad 0x2a824a6b05eb3eda, 0x2ad492b17a8d9ad4 - .quad 0x2a7b9ce7efad864c, 0x2acf126a42ab2a64 - .quad 0x2a74d7351162fad8, 0x2ac77623e1a3ca2f - .quad 0x2a6f74706d1f613c, 0x2ac1b680aeae0c3c - .quad 0x2a67bc0a6e57fbc5, 0x2ababe0fed214bca - .quad 0x2a61e82c35430e3d, 0x2ab42f5d0cb0afeb - .quad 0x2a5b045f25c98b4b, 0x2aae77a20528f8f5 - .quad 0x2a5460e7202036c7, 0x2aa6fdace394b03c - .quad 0x2a4ebd15c07c2acd, 0x2aa158d7d54f1681 - .quad 0x2a472e125d540295, 0x2a9a2c9115542385 - .quad 0x2a417a558b9c184f, 0x2a93be755f8b210c - .quad 0x2a3a5a8a3f3de092, 0x2a8dc88f077bd369 - .quad 0x2a33ddb38ecb5b52, 0x2a86760d57bb9982 - .quad 0x2a2df2826b036578, 0x2a80efdda755dbb3 - .quad 0x2a2691c997f37f0e, 0x2a798a2e123c782e - .quad 0x2a2101d72c627ff7, 0x2a7340f49a722110 - .quad 0x2a19a0db3d2b8dac, 0x2a6d06b3f65f6fd0 - .quad 0x2a134eb72e63e592, 0x2a65e06fcff790f4 - .quad 0x2a0d166c8f34fca4, 0x2a607c787991a680 - .quad 0x2a05e880d9f1fe43, 0x2a58d849f54265f7 - .quad 0x2a007fb3b2ff1602, 0x2a52b7ec30262d2b - .quad 0x29f8d8df0cbffd52, 0x2a4c33b5a8ad639f - .quad 0x29f2b52265317648, 0x2a453e17e1a8afad - .quad 0x29ec2aa6bd34f17b, 0x2a3fff41d2913dab - .quad 0x29e5339d751ff2a1, 0x2a3818627da2e9e4 - .quad 0x29dfe9f93308c405, 0x2a32248100f21115 - .quad 0x29d80438073219de, 0x2a2b515531d535eb - .quad 0x29d21234fbc4a127, 0x2a24905d9b84e0cb - .quad 0x29cb31198aa5f8ab, 0x2a1ef4bcc5f71a72 - .quad 0x29c474946f304456, 0x2a174c0ac8d03b2b - .quad 0x29bec59d00f3fe38, 0x2a1187e74c209a91 - .quad 0x29b7249848679fa9, 0x2a0a6169b09c4411 - .quad 0x29b16739cec78bd4, 0x2a03d8a8ccb26cd9 - .quad 0x29aa2bbd0795adee, 0x29fddb87127c2076 - .quad 0x29a3ace589cd3352, 0x29f674e5d7be735c - .quad 0x299d949ad392f075, 0x29f0e35e84d33d3f - .quad 0x29963bbbf78651cc, 0x29e965d9f895d99c - .quad 0x2990b5827a3ba382, 0x29e3186c34406960 - .quad 0x29891c922f9ee4c0, 0x29dcb5d51a48d7d4 - .quad 0x2982de164c74e725, 0x29d594a1039f0199 - .quad 0x297c5941f108d9d1, 0x29d0382d1e479246 - .quad 0x29754b639c219649, 0x29c8609634a384cc - .quad 0x296ffcc62473097a, 0x29c25120afe02122 - .quad 0x2968059c757355ae, 0x29bb85e31314f4b4 - .quad 0x296209ad26ca18d9, 0x29b4acee7c0fcbaf - .quad 0x295b15e18d0d2d12, 0x29af0f38c6449ad9 - .quad 0x2954554e9983b016, 0x29a753919ff4b182 - .quad 0x294e865bf893f8f4, 0x29a1844080030d76 - .quad 0x2946e8db855aac9a, 0x299a4dede3a3eb93 - .quad 0x2941312cc0ae5d04, 0x2993bf7fe7aa33a0 - .quad 0x2939ccc1bfbf7ecb, 0x298da5e8d4d639ed - .quad 0x29335b35e7d0088e, 0x298640bc7176cda7 - .quad 0x292d0a5ff60b92cf, 0x2980b342b640cc13 - .quad 0x2925c84558f35d95, 0x2979102c47629cb9 - .quad 0x2920560f8bafb2c7, 0x2972ce013e375d0f - .quad 0x2918801ce509ea26, 0x296c36f07720a932 - .quad 0x29125ec7207b3c64, 0x296529fe13854ed9 - .quad 0x290b8b58f7c67c36, 0x295fbf2dc269c35d - .quad 0x2904a5c0b3b7424d, 0x2957cec854a40ddc - .quad 0x28fef3874e46141b, 0x2951da13f1aaaee6 - .quad 0x28f732197e24d857, 0x294ac4c46230c45c - .quad 0x28f1619ff0ea7ec6, 0x2944112fbeff8a1f - .quad 0x28ea0bb46a0a2c53, 0x293e15420dda8758 - .quad 0x28e383201c8ba71a, 0x29368bd97eb5b05d - .quad 0x28dd3b4e4b894768, 0x2930e54a78756b6b - .quad 0x28d5e4c4aaef0130, 0x292951c14f527745 - .quad 0x28d0654a030d3e70, 0x2922f8178dd14a04 - .quad 0x28c88dc03d1ca801, 0x291c6b6bf9361ee4 - .quad 0x28c2621d65152a67, 0x2915495f2949c65e - .quad 0x28bb860981f4834a, 0x290fe24891c8ca0c - .quad 0x28b49a0d4c97c281, 0x2907e02609a87253 - .quad 0x28aed66ed1143993, 0x2901e064158c947b - .quad 0x28a713a5a10cc9b0, 0x28fac4304f253262 - .quad 0x28a14455cbbff469, 0x28f4093bdea6e36f - .quad 0x2899d62205df47a6, 0x28edfe14a435c3c2 - .quad 0x289353bfdeb15aa4, 0x28e6720e3d624fdc - .quad 0x288ce97f23783a55, 0x28e0cba8970a9d66 - .quad 0x28859f649793ea9a, 0x28d921e961b81171 - .quad 0x28802b46c188f22d, 0x28d2cd3135c626d1 - .quad 0x28782dcfdba2d59c, 0x28cc2097f7f7c953 - .quad 0x287213830f44d648, 0x28c5096e15b063db - .quad 0x286b0639acae41c7, 0x28bf76b39886a20d - .quad 0x286432d063e4cc5a, 0x28b786c2636e4e2a - .quad 0x285e3096b161ade1, 0x28b196dc712e8651 - .quad 0x28568f1646f450cc, 0x28aa4c39680abb0b - .quad 0x2850dad51a121c5f, 0x28a3a80eb1934625 - .quad 0x28492ed52465cf13, 0x289d6196b3830612 - .quad 0x2842cf8cdb32b26d, 0x2895f4b3b930a91a - .quad 0x283c1934bb7035c1, 0x289067b3db09279e - .quad 0x2834fbc11c19c0b7, 0x2888832413bcb6f5 - .quad 0x282f5613cdc1ad52, 0x28824f8b72bbd6ee - .quad 0x28276547ab0f816a, 0x287b5a5bcacf14dd - .quad 0x2821770c93ef3136, 0x28746d8046ba690c - .quad 0x281a128a30d837eb, 0x286e8209bd7c6d4d - .quad 0x281375630e92b790, 0x2866c744b66f6406 - .quad 0x280d0a93cd8add1e, 0x2861015024fefc8d - .quad 0x2805ab4549d6cf15, 0x2859631ba1694964 - .quad 0x28002a8fed4a1944, 0x2852f2b3b1ae197d - .quad 0x27f81e6d5efc2ece, 0x284c47e5b8f9de0c - .quad 0x27f1fd54f3e20bfc, 0x28451a481761d265 - .quad 0x27ead523512d80ae, 0x283f7d2ff106229c - .quad 0x27e4023f854f9c86, 0x28377da522f79ec5 - .quad 0x27ddd649c8fad0d5, 0x283185a192bd02b4 - .quad 0x27d63e684c4d4572, 0x282a22ed5ef67f83 - .quad 0x27d094b5ecc6e290, 0x28237d9a85948033 - .quad 0x27c8b7643330549e, 0x281d10da89b8212a - .quad 0x27c26b65f14cd4da, 0x2815ab7d4224f7e2 - .quad 0x27bb734f53e57228, 0x2810276587fa1c20 - .quad 0x27b473b9d1931175, 0x280814bdb918424d - .quad 0x27ae78d8c6e84fdd, 0x2801f2684f2af658 - .quad 0x27a6b2a2c93cd65a, 0x27fabf540fb4e1a1 - .quad 0x27a0e7a7b055d281, 0x27f3eddfeeed0dd2 - .quad 0x27992d87cacce695, 0x27edb1c82f79707d - .quad 0x2792bf57b6e0d98d, 0x27e61ea0b7eb4c3c - .quad 0x278bea4f9488e121, 0x27e0799f1fb897d8 - .quad 0x2784c7d8bf7bdc41, 0x27d889f21fdb1d69 - .quad 0x277eef6b8bfa9225, 0x27d245c20ba28a39 - .quad 0x277705ed2bbfd521, 0x27cb3598a0d59840 - .quad 0x277121f1b69882eb, 0x27c4418fde75923e - .quad 0x27697ec608197c79, 0x27be27e05b6c31f9 - .quad 0x2762f7b0edc74f1c, 0x27b671af7f5d8858 - .quad 0x275c380c41f75030, 0x27b0b3d4442eda68 - .quad 0x2754fd20f15083b3, 0x27a8db341e4d4306 - .quad 0x274f37ea8d01e9c5, 0x27a27e37e3bc73c9 - .quad 0x274736cebb19a201, 0x279b83a639f29a80 - .quad 0x2741428c012e2c57, 0x27947730acf38edc - .quad 0x2739a9ae80c06018, 0x278e710d5155d028 - .quad 0x27331371c2b63b80, 0x2786a331ab64b688 - .quad 0x272c5b240b14f4d6, 0x2780d4fd25f7f52e - .quad 0x2725129ffd17a136, 0x27790712f4e38e37 - .quad 0x271f510ba62354a5, 0x27729ac951c1e60b - .quad 0x27174468acd1611c, 0x276ba819d5f14678 - .quad 0x271148e1d96c299e, 0x27648dce2dc3ecd5 - .quad 0x2709ad7d58aaba44, 0x275e8c0193d16d55 - .quad 0x2703121b71d77179, 0x2756b2456938b866 - .quad 0x26fc52f68dd90e64, 0x2750dc826696c76c - .quad 0x26f507f397188496, 0x27490cc63cdbf2a2 - .quad 0x26ef3a5bdf92c388, 0x27429af3c144f8c0 - .quad 0x26e72e7cbdbb95db, 0x273ba24cc0f4c8e2 - .quad 0x26e134d638b07143, 0x27348500e815d897 - .quad 0x26d98a2111174d79, 0x272e7841c45926d0 - .quad 0x26d2f3b409e1b7b6, 0x27269ea5b1b71301 - .quad 0x26cc1fa91a869695, 0x2720ca4195cda6d3 - .quad 0x26c4dd4c7d7ec9fa, 0x2718ec33daf13649 - .quad 0x26bef442d8796795, 0x27127eb66fea5e85 - .quad 0x26b6f56f0c0f22b9, 0x270b72598c77c448 - .quad 0x26b106c4a594a047, 0x27045cf12a60cb9a - .quad 0x26a9403b0e4bd1b9, 0x26fe36284e81b5ff - .quad 0x26a2b8c63e7468c1, 0x26f668ac570f2fc8 - .quad 0x269bc22598793379, 0x26f09e8e37ef2488 - .quad 0x2694936d06178106, 0x26e8a5f0c63b5c24 - .quad 0x268e7fffb3b16a7d, 0x26e2469273320bda - .quad 0x26869a431ed205a0, 0x26db191b44e70edf - .quad 0x2680bf7e7cce4d07, 0x26d41655d7606103 - .quad 0x2678d11ace4d8996, 0x26cdc6e2b76185d5 - .quad 0x2672625d4b960a47, 0x26c6114f58eab906 - .quad 0x266b3c139841a735, 0x26c05a2f4a403a4d - .quad 0x26642ba35d81be5c, 0x26b83b3c9af7ee45 - .quad 0x265ddf9fa6fc513a, 0x26b1f386e3013e68 - .quad 0x26561e943a26f542, 0x26aa9826f127d04d - .quad 0x26506044c28d2704, 0x26a3b26ef9596f74 - .quad 0x26483eb403668f94, 0x269d2c68adc24dd3 - .quad 0x2641f1fd15ed30fe, 0x26959a199b7c8167 - .quad 0x263a8fcbdc7eab51, 0x268ffcb2bfa5b8da - .quad 0x2633a7bfb4be9962, 0x2687adf828472cfd - .quad 0x262d15ee90987618, 0x2681870951a86a79 - .quad 0x2625848951944920, 0x2679f1bfa110cbba - .quad 0x261fd57d7b45b3ca, 0x267332fc55367264 - .quad 0x26178b8ffae32bf0, 0x266c696d39db75f3 - .quad 0x26116996dab0cd1e, 0x2665051f4ea04fdf - .quad 0x2609c046dcaa75a4, 0x265f194b2a4cb970 - .quad 0x26030a06c462f23e, 0x265700975cbb46aa - .quad 0x25fc2662350ce7fa, 0x265102fae0ec7794 - .quad 0x25f4cec5169fb931, 0x264928c588cfb6d9 - .quad 0x25eec1db7d8e44b5, 0x26429a3060c44f3a - .quad 0x25e6babae8929706, 0x263b814aa869e0e4 - .quad 0x25e0cb7ae5506e7e, 0x263454ee7edd0063 - .quad 0x25d8d106f7f4047e, 0x262e0e0b72e6ef2e - .quad 0x25d255213192c405, 0x2626360f251c2f1f - .quad 0x25cb1500fc71b69a, 0x2620699a6631f93f - .quad 0x25c40052c8ba04b4, 0x261840a0d97bb129 - .quad 0x25bd8a3d24511c07, 0x2611eaa023d58a69 - .quad 0x25b5cfadd7b97160, 0x260a77ea01d8b821 - .quad 0x25b01a47ddad3ea8, 0x26038c7c7057a652 - .quad 0x25a7c5ff3799c35b, 0x25fcdf6c504a93e5 - .quad 0x25a18c087e86a1f3, 0x25f551bff88c1175 - .quad 0x2599e64530b957f4, 0x25ef7ae8590bb800 - .quad 0x25931c908986e1a8, 0x25e73d293026bc2a - .quad 0x258c33b25da2082e, 0x25e12730a9790f69 - .quad 0x2584ce362055227e, 0x25d951a7082f394a - .quad 0x257eb1b0ae0a386a, 0x25d2af1081b22794 - .quad 0x2576a3779e1ff3b0, 0x25cb925bc48353e0 - .quad 0x2570b1f245435eea, 0x25c4575deb5305a2 - .quad 0x25689efddb97fd18, 0x25be029ff0fc8645 - .quad 0x256227180cb0a8ca, 0x25b6228a92a17423 - .quad 0x255ac39e8a7de062, 0x25b05302bb5e3a1a - .quad 0x2553ba5b5279aa24, 0x25a81331d3a2cc81 - .quad 0x254d145ea8ff6403, 0x25a1c02d69097c72 - .quad 0x25456df011e743b9, 0x259a2c1b0ae83a64 - .quad 0x253f94750d0f9308, 0x25934ad734ae6135 - .quad 0x2537442e7172840a, 0x258c703bfdc748cd - .quad 0x253123a683e9b9d5, 0x2584f5290291de6e - .quad 0x25293f94a8e393e5, 0x257ee2bb5a2a4470 - .quad 0x252298449094a080, 0x2576c16f34d9525e - .quad 0x251b62c8f87855a8, 0x2570c379a70923bc - .quad 0x25142a02f59d51ef, 0x2568b21b8919710f - .quad 0x250db09bb0ffb21f, 0x2562303a1b68b2de - .quad 0x2505daee76f997a8, 0x255ac9c706a79cfc - .quad 0x25001604a662bf4c, 0x2553b983b3f72fb5 - .quad 0x24f7ad33d50dacd0, 0x254d0b33fd9b6e85 - .quad 0x24f16c1e4c8c451a, 0x2545615904c6373a - .quad 0x24e9a32159dea0d8, 0x253f7950165d693d - .quad 0x24e2dc48781056c9, 0x253729dc070c926a - .quad 0x24dbbf2871addffb, 0x25310b9b38c6e833 - .quad 0x24d4684a4152d4e0, 0x2529154f9f73ee5f - .quad 0x24ce03df4eb2c204, 0x25227418ebfd96be - .quad 0x24c6120558a89b12, 0x251b26192fa2f36e - .quad 0x24c03a014bcb5352, 0x2513f7df7d25b3e6 - .quad 0x24b7db773a6f6623, 0x250d5ec232ba3385 - .quad 0x24b1893b9023690d, 0x250598c75ff21ea4 - .quad 0x24a9c6ba6a49465a, 0x24ffc1f9e46a53e2 - .quad 0x24a2f125d64e7642, 0x24f758c452444076 - .quad 0x249bd607b51aff83, 0x24f1294b791c6529 - .quad 0x2494735d5e25dd32, 0x24e939e692035be7 - .quad 0x248e0bb7795ebab2, 0x24e289cc9b3b4107 - .quad 0x248611962fb4b008, 0x24db3e5c199dc217 - .quad 0x248035217aa6e0ad, 0x24d40415be2c6028 - .quad 0x2477cd9c096da3b3, 0x24cd6871e2c76342 - .quad 0x24717a22cd2a508f, 0x24c599d2a64857ab - .quad 0x2469a95351e8c9f1, 0x24bfba952efabe51 - .quad 0x2462d63f329a8bcb, 0x24b74cc660d4897a - .quad 0x245ba6ba0cb47e2b, 0x24b11baa6a990cd8 - .quad 0x24544ae89d144108, 0x24a91ecc31adec4e - .quad 0x244dc7e8d1b8f556, 0x24a270b14a1f9816 - .quad 0x2445d9a42222275c, 0x249b11d883fd3ec1 - .quad 0x24400789e350bd1a, 0x2493ddca348b8e79 - .quad 0x2437840aaba80c98, 0x248d27f9dd765764 - .quad 0x24313f45ccd8c935, 0x24856472f42babf3 - .quad 0x24294bc9a9955f26, 0x247f6359d3980ea5 - .quad 0x24228c5f3eaf8edd, 0x2477063ccd1b83c6 - .quad 0x241b32a3c3e46a35, 0x2470e31f012ad2b3 - .quad 0x2413f01c91fe7f47, 0x2468c4cd2c02ec2d - .quad 0x240d3a718c61d154, 0x2462298481c2ca0d - .quad 0x24056bd3dd5a05c1, 0x245aa1de55237abc - .quad 0x23ff65222fadfc00, 0x2453861db33230b0 - .quad 0x23f700eb717cfb77, 0x244c9f401331dbf6 - .quad 0x23f0da5e12700c8d, 0x2444fa3a533642f6 - .quad 0x23e8b0da54d3c71f, 0x243ebed8656f1a7b - .quad 0x23e215aeed941b43, 0x2436873a105b43c2 - .quad 0x23da7d28bd609e50, 0x2430815216360470 - .quad 0x23d3659f3261d190, 0x24282e8d038330ca - .quad 0x23cc6770887b13f6, 0x2421b65bea6b7e6a - .quad 0x23c4cb570f463d9d, 0x2419f1b427ce89a2 - .quad 0x23be715dafe5cd60, 0x2412ff9fffd4f5f9 - .quad 0x23b6480ba9b1723c, 0x240bd241d06b6757 - .quad 0x23b04e575dd6f2eb, 0x24045e411382662b - .quad 0x23a7dcff6d521467, 0x23fdd1da1bc7ec85 - .quad 0x23a1759a98201ff3, 0x23f5d36e9f7af39c - .quad 0x23998b82586ccf2d, 0x23eff233639de02a - .quad 0x2392af6afc0ce651, 0x23e7606528b3cf28 - .quad 0x238b54f244df93df, 0x23e11a8b54a30c34 - .quad 0x2383fcc4e4385b18, 0x23d9066e8a3084ad - .quad 0x237d3abb2d5b9282, 0x23d24e2ffedd9f78 - .quad 0x23755eaec016b2b5, 0x23cac6e23cde6ac9 - .quad 0x236f3e576e5bfb2c, 0x23c394ff72563c26 - .quad 0x2366d6394041cb01, 0x23bca3259bb8013e - .quad 0x2360b0a8012d71fb, 0x23b4effb58fcce20 - .quad 0x2358647f7f3a91de, 0x23ae9cac23b8427e - .quad 0x2351d29e5c60946b, 0x23a6602f707600f3 - .quad 0x234a0aa72640fd47, 0x23a05a7bd790a4bc - .quad 0x234305e23384e58a, 0x2397e6b1b23c38f4 - .quad 0x233bc9e08de1532f, 0x239176cc55ca9b80 - .quad 0x23344b4e89c6a35f, 0x238984a277e8539a - .quad 0x232da366d9d2b975, 0x2382a417253e014b - .quad 0x2325a3c60cb2c6b1, 0x237b3b2c9b4277c6 - .quad 0x231f98800fc076db, 0x2373e333559670c8 - .quad 0x23171033226bf0af, 0x236d0b8591b88278 - .quad 0x2310d53e944a7e18, 0x236534ff7f271b4d - .quad 0x23089187f3d75a14, 0x235ef6ed82d51675 - .quad 0x2301ed5d0deddfb7, 0x23569a61d0edc9d2 - .quad 0x22fa28be72757b85, 0x23507f57aca805f1 - .quad 0x22f3154ef266983d, 0x234814481a9f253c - .quad 0x22ebd6d859990532, 0x2341921067277b5d - .quad 0x22e44dcd404b4fcd, 0x2339a3a7d2712f82 - .quad 0x22dd9cdf2aadd6a6, 0x2332b45137355f77 - .quad 0x22d5979672b76b96, 0x232b497e1657b91b - .quad 0x22cf7be424410479, 0x2323e6cfcc06ed27 - .quad 0x22c6f36e7903ba4f, 0x231d06cfa865bc4e - .quad 0x22c0ba8019bd4e86, 0x23152a47395ed2ae - .quad 0x22b8621eaa755f34, 0x230edca8e605e67a - .quad 0x22b1c4a9efdce654, 0x23067f77ef705254 - .quad 0x22a9e475b5aaea97, 0x2300660edcde1e02 - .quad 0x22a2dd03980220ac, 0x22f7e727aec99554 - .quad 0x229b7b478b8fda1c, 0x22f16b24c391593b - .quad 0x22940424c4fd21f7, 0x22e96221780dfe95 - .quad 0x228d276d459f43c7, 0x22e27e2788696d86 - .quad 0x22853aa8c500f5d0, 0x22daf1357749947c - .quad 0x227ee9c5073f397e, 0x22d39fac2bf7a531 - .quad 0x2276812e6a2e8fc0, 0x22cc9538eaa71fb0 - .quad 0x22706198ecffc0e0, 0x22c4d04b3a802aee - .quad 0x2267d857ef6fe55a, 0x22be4f0604536408 - .quad 0x22615a4dc243cc5f, 0x22b610a0b4ec8401 - .quad 0x225940cad97ee071, 0x22b00fbde3ac71c6 - .quad 0x22525f772e00c70a, 0x22a7614bf61d6bfa - .quad 0x224abb2fd3f529ef, 0x22a103beefa07650 - .quad 0x2243718d87e8a0af, 0x2298c2ef94786008 - .quad 0x223c48328a4346eb, 0x229203fa39242793 - .quad 0x2234910b37b4de72, 0x228a36313f8e64ec - .quad 0x222de8817c6f33b9, 0x228310e5f6fbfd44 - .quad 0x2225be6c950a7e6f, 0x227bbbb999bb060a - .quad 0x221f9ccdcf7c94fe, 0x22742afa66f9fdc1 - .quad 0x2216fa2fc442a9d3, 0x226d54340d9c375d - .quad 0x2210b2e58cb15f5c, 0x226552b1ae6aeaa2 - .quad 0x220844d490056942, 0x225f004e9f45a94b - .quad 0x2201a217943b9ac7, 0x22568887b7750462 - .quad 0x21f99edc3fa555f4, 0x2250605cdc8a1e5e - .quad 0x21f29c58e31af831, 0x2247ccfa0b55e3f7 - .quad 0x21eb08c96a2d341c, 0x22414b13fa04509f - .quad 0x21e3a2063aa9bfc9, 0x22392087a96ea8f4 - .quad 0x21dc831fc61280f7, 0x223240a6edc95f53 - .quad 0x21d4b37d15842e1d, 0x222a83b0db0fa5b6 - .quad 0x21ce0e63f582488b, 0x22234170d65d2fe5 - .quad 0x21c5d11b81c3fea7, 0x221bf6f703f6c8b1 - .quad 0x21bfab1b4f400c2e, 0x22144dcd884a52dc - .quad 0x21b6fb3ff8ccf41c, 0x220d7adc6f76430f - .quad 0x21b0ace5d20891a2, 0x2205661968fc8c68 - .quad 0x21a8324934a763f4, 0x21ff0fe41a3b588b - .quad 0x21a18d7d8058e531, 0x21f68ab147365bff - .quad 0x2199769602e7d2c4, 0x21f05b48bc57ed71 - .quad 0x21927797b62a04a4, 0x21e7bbf2311e9661 - .quad 0x218ac8851524d431, 0x21e137b41cf9c9a4 - .quad 0x21836b7751d5da7f, 0x21d8fa3947e525d9 - .quad 0x217c2874cefea298, 0x21d21d7603b6e2cc - .quad 0x2174695ee8470b66, 0x21ca45e3910021ac - .quad 0x216d96c311be3eb3, 0x21c30cd0207d04ed - .quad 0x216571909f179506, 0x21bb9f4dc504a668 - .quad 0x215f13cd05945d89, 0x21b40603dadb780a - .quad 0x2156844e0504f766, 0x21ad06d41c212c13 - .quad 0x21504ff770417c7e, 0x21a509522cc01f2f - .quad 0x2147a1d7e8c27e50, 0x219e7cd2184183eb - .quad 0x21411dc1d57f7df8, 0x219616fb7b910c11 - .quad 0x2138ca6e2e342651, 0x219000d1267395e3 - .quad 0x2131f372812d1e14, 0x21872f3f6faafe57 - .quad 0x2129fe4fa21e8c98, 0x2180cacf12619fe1 - .quad 0x2122d1356c845fd1, 0x2178525cca4f244d - .quad 0x211b3db9cc5a58f3, 0x21719c8ed29100e2 - .quad 0x2113b7359a6b9391, 0x216980913a0c5f1e - .quad 0x210c88e8c09b9bb2, 0x2162763b979d57b5 - .quad 0x2104a59cf5958098, 0x215aba192db244fd - .quad 0x20fde016eddfacad, 0x215357ff9fbc97f4 - .quad 0x20f59c942db45eae, 0x214bff2fa5de1e9d - .quad 0x20ef437cec9632b8, 0x21444204156d00fc - .quad 0x20e69c4293cefa3f, 0x213d500e0534289d - .quad 0x20e059a8a5ce0ce7, 0x21353470ed39dd97 - .quad 0x20d7a4cdf5c8de47, 0x212eacebdf5973c2 - .quad 0x20d117e42e10afc5, 0x21262f6cc2a62dbd - .quad 0x20c8b65a792fe140, 0x21200aff63626acf - .quad 0x20c1dc89fe4a5f8a, 0x2117331cb44dd6ec - .quad 0x20b9d10a7562f377, 0x2110c5bd0cbfba30 - .quad 0x20b2a7b1b1593291, 0x21083fa43f4f73d5 - .quad 0x20aaf4fe4d278bf9, 0x210186c76677c8f7 - .quad 0x20a37971726a776e, 0x20f955251a12574c - .quad 0x209c225447c48b85, 0x20f24e359c6528bb - .quad 0x209451dde15504ec, 0x20ea73bf0e7dcf7b - .quad 0x208d592869bae136, 0x20e31c1d70a5a26c - .quad 0x20853109f6b70a02, 0x20db9b8fd3b82ace - .quad 0x207e99944d35a898, 0x20d3f09320694d40 - .quad 0x20761706e7ea0b42, 0x20ccccb2e7856e93 - .quad 0x206fe3aefa4cdaa2, 0x20c4cba948866255 - .quad 0x206703e40ae0b133, 0x20be0741675f15a5 - .quad 0x20609bc65f9b8064, 0x20b5ad70c9e433d4 - .quad 0x2057f7aeba02f7ef, 0x20af4b51e95f89d5 - .quad 0x20514a9f8443d058, 0x20a695f8add0a062 - .quad 0x2048f272381e3222, 0x20a04c7c2a8ead79 - .quad 0x2041fe6a1ccca721, 0x2097854e0a5444cf - .quad 0x2039f437947f2743, 0x2090f822de49bc54 - .quad 0x2032b72bc2a1bb29, 0x20887b7be69a8c26 - .quad 0x202afd058f4d5cb9, 0x2081a8a41a9a7340 - .quad 0x202374e8637e822f, 0x2079788b1f83908e - .quad 0x201c0ce07e3f5247, 0x20725e0558a5c077 - .quad 0x201437a22e46ffc9, 0x206a7c824c7683f1 - .quad 0x200d23ca31c0220c, 0x2063184a6ce13b46 - .quad 0x2004ff5980398e02, 0x205b8765a48c0cf1 - .quad 0x1ffe41c1da9f8a5f, 0x2053d775743f06ae - .quad 0x1ff5cc0cd28b81e5, 0x204c9936e428a9d9 - .quad 0x1fef66c3f065ea05, 0x20449b86c1b194ce - .quad 0x1fe69db8a882e290, 0x203db1f5331fbe71 - .quad 0x1fe049650c331274, 0x2035647ccc18e717 - .quad 0x1fd774577e1faf4f, 0x202ed19d0b78718c - .quad 0x1fd0e2e586d3df5c, 0x202632541cab3ac0 - .quad 0x1fc84fe1b767669b, 0x201ff82820edeaab - .quad 0x1fc17fdd44e1dc6c, 0x201705073deb552a - .quad 0x1fb9304d9065a4b9, 0x201092c6a4a26abf - .quad 0x1fb220449767742a, 0x2007dc8eab3ed87a - .quad 0x1faa158f0df4c356, 0x20012ce032c827ce - .quad 0x1fa2c4123936432b, 0x1ff8b8e0c1372c25 - .quad 0x1f9aff97ef6163ed, 0x1ff1ca5926404568 - .quad 0x1f936b3b4511d82b, 0x1fe999f1ae9f978b - .quad 0x1f8bee57a0fbbbdc, 0x1fe26b285aeabdbe - .quad 0x1f8415b32c89327c, 0x1fda7fb366632c72 - .quad 0x1f7ce1bb2fa9523e, 0x1fd30f431387ee69 - .quad 0x1f74c36baf8c2285, 0x1fcb6a15925d0c25 - .quad 0x1f6dd9ad3d89a4a5, 0x1fc3b69cf0bd5608 - .quad 0x1f657454d4c97f21, 0x1fbc590587256b75 - .quad 0x1f5ed615f7bfd7d2, 0x1fb46127e8d37ba7 - .quad 0x1f56285ce2e2e29b, 0x1fad4c6e38ed7f06 - .quad 0x1f4fd6db0d73348e, 0x1fa50ed44039bd53 - .quad 0x1f46df705a8252f7, 0x1f9e4438317c2a1e - .quad 0x1f406defd40bdb09, 0x1f95bf9082dc8412 - .quad 0x1f379979f15ddb0d, 0x1f8f4049875ce630 - .quad 0x1f30f2823287afb6, 0x1f8673497e5a0d03 - .quad 0x1f2856628e34ac2c, 0x1f802042eb28efef - .quad 0x1f217913a85a33a7, 0x1f7729ea3d219a53 - .quad 0x1f19161145d0e326, 0x1f70a2671c8cdbee - .quad 0x1f120191f16dc709, 0x1f67e35c0288722e - .quad 0x1f09d86b59187f4e, 0x1f612680a24c58f5 - .quad 0x1f028be97e6e9065, 0x1f589f8647df9662 - .quad 0x1efa9d5434377e7b, 0x1f51ac7d823a316c - .quad 0x1ef31805749922c3, 0x1f495e4eba9494ca - .quad 0x1eeb64ad6eec66d3, 0x1f42344a7c981006 - .quad 0x1ee3a5cfae5998ec, 0x1f3a1f993b67371d - .quad 0x1edc2e56cdffce02, 0x1f32bdd30bebc795 - .quad 0x1ed43530bcc0ee3a, 0x1f2ae347debd3070 - .quad 0x1eccfa2e45eea63d, 0x1f23490165a1de50 - .quad 0x1ec4c60fe9d5cbc1, 0x1f1ba93aee1c301f - .quad 0x1ebdc80ffece4451, 0x1f13d5be7b8309a9 - .quad 0x1eb558533bc564e3, 0x1f0c7150ead1fd0e - .quad 0x1eae97d659702f92, 0x1f0463f1fe01b7da - .quad 0x1ea5ebdf78f85a03, 0x1efd3b6691d169e3 - .quad 0x1e9f6959f5cadd73, 0x1ef4f3825f642b00 - .quad 0x1e9680982d0eea8a, 0x1eee0756e0ca137b - .quad 0x1e901e38dd55bfc7, 0x1ee58454d7cf0720 - .quad 0x1e87165faec70a10, 0x1eded4fb1c7fef16 - .quad 0x1e8088796f5a0260, 0x1ed6164d6a338985 - .quad 0x1e77ad1726ce2f3c, 0x1ecfa42ad866b600 - .quad 0x1e70f3587953aeb5, 0x1ec6a94eea23ecd2 - .quad 0x1e68449e977fef01, 0x1ec03a5dffc21d0d - .quad 0x1e615ebef6827c9d, 0x1eb73d3b028fc2cf - .quad 0x1e58dcd4e591ac76, 0x1eb0a3416f4dd0f1 - .quad 0x1e51ca951b79a938, 0x1ea7d1f23d694b62 - .quad 0x1e497597e1aad586, 0x1ea10ca917d13a59 - .quad 0x1e4236c25d3c18a2, 0x1e9867540c340902 - .quad 0x1e3a0ec452e85047, 0x1e91767d933fa0f7 - .quad 0x1e32a32d78fe110f, 0x1e88fd3ed17c059f - .quad 0x1e2aa8360248e3ed, 0x1e81e0a6bf884441 - .quad 0x1e230fbc7c8ab284, 0x1e79938feb3469d1 - .quad 0x1e1b41c7c6ff8cc6, 0x1e724b0bc63cac6b - .quad 0x1e137c54cf4ab1fc, 0x1e6a2a23bdfb3241 - .quad 0x1e0bdb5393a7ccd2, 0x1e62b59324d7fd9b - .quad 0x1e03e8db3be9418c, 0x1e5ac0d5c13ef72a - .quad 0x1dfc74b284572b4c, 0x1e532022b5a4d882 - .quad 0x1df45533fa93710c, 0x1e4b57808c42df0b - .quad 0x1ded0dbced86364c, 0x1e438a9fb93eb860 - .quad 0x1de4c142bbcdb51b, 0x1e3bedfde3fbf9f1 - .quad 0x1ddda64a6bca7ad0, 0x1e33f4eee0ab230d - .quad 0x1dd52ceab3daa53b, 0x1e2c8426c9c266d4 - .quad 0x1dce3e31f45a0a96, 0x1e245ef458066425 - .quad 0x1dc5980ea6ad6692, 0x1e1d19d38acfc932 - .quad 0x1dbed549e6504cf2, 0x1e14c893d1bef1fe - .quad 0x1db60290f4619f98, 0x1e0daedbd083bb8e - .quad 0x1daf6b681cab013b, 0x1e0531b0925a021e - .quad 0x1da66c53a6323b06, 0x1dfe4316b16614af - .quad 0x1da00031007ac3e3, 0x1df59a2d7cbb3c39 - .quad 0x1d96d5387be7adf6, 0x1deed65ac2de0264 - .quad 0x1d904a064f4bdd38, 0x1de601ed1ee8e719 - .quad 0x1d873d20f9b5e73b, 0x1ddf687e2b942e41 - .quad 0x1d80931e5b5e6c43, 0x1dd668d1bf455ad8 - .quad 0x1d77a3ee7681856f, 0x1dcff956b675583b - .quad 0x1d70db636a632668, 0x1dc6cebd6a35f863 - .quad 0x1d6809822a836e1f, 0x1dc0445cf3250898 - .quad 0x1d6122bfb19eafe7, 0x1db73392002f5fc2 - .quad 0x1d586dbd3e416493, 0x1db08b3e84ebc2b9 - .quad 0x1d51691d609b1ec9, 0x1da79731441e1e21 - .quad 0x1d48d080d9d1c96d, 0x1da0d13aa83e4b01 - .quad 0x1d41ae66ac0b0b6a, 0x1d97f97cea22928b - .quad 0x1d3931ae34603f62, 0x1d91163bef9eebc1 - .quad 0x1d31f285d8d6c817, 0x1d885a56a6965552 - .quad 0x1d299126a3e88ca5, 0x1d815a2cf3193875 - .quad 0x1d223565474c154e, 0x1d78b9a03d510324 - .quad 0x1d19eecbad1cb519, 0x1d719cf85b21a11f - .quad 0x1d1276ef7e686add, 0x1d69173b9121e9f7 - .quad 0x1d0a4a7f136af77e, 0x1d61de88eb969b39 - .quad 0x1d02b70f3735b79f, 0x1d59730ab373bc61 - .quad 0x1cfaa422e918100d, 0x1d521ec98edb9593 - .quad 0x1cf2f5af68314ac2, 0x1d49cceff40f1fb1 - .quad 0x1ceafb999f61e5d4, 0x1d425da56105b758 - .quad 0x1ce332bb50b471fb, 0x1d3a24cdf0f0a2e7 - .quad 0x1cdb50c6169e961b, 0x1d329b07bb123c75 - .quad 0x1cd36e1e845638bb, 0x1d2a7a87a6267113 - .quad 0x1ccba38bae4baa67, 0x1d22d6dc3e1e1b47 - .quad 0x1cc3a7c4f63d9d53, 0x1d1ace007da9e0c8 - .quad 0x1cbbf3ce55012ad1, 0x1d13110ede9680ce - .quad 0x1cb3df9b045b81fc, 0x1d0b1f1c5f28dcc9 - .quad 0x1cac4172983c2f7e, 0x1d03498bef599a58 - .quad 0x1ca4158d828399ae, 0x1cfb6dbfbfb30836 - .quad 0x1c9c8c5db3f49157, 0x1cf380402cbf1542 - .quad 0x1c944989c55b9312, 0x1cebb9cfb13e7262 - .quad 0x1c8cd475a1f163ee, 0x1ce3b518c77fb7d2 - .quad 0x1c847b7dad17cf31, 0x1cdc0331f1f7ac71 - .quad 0x1c7d19a128cff8a4, 0x1cd3e8036f737914 - .quad 0x1c74ab57affd05a9, 0x1ccc49ccfb511d2c - .quad 0x1c6d5bc7eab14dfb, 0x1cc418ee5e1d890e - .quad 0x1c64d906e49e5535, 0x1cbc8d8810c585d4 - .quad 0x1c5d9ad27381fd3d, 0x1cb447c860fdcf2c - .quad 0x1c55047b0bcf6527, 0x1cacce4b4e41cdca - .quad 0x1c4dd6aa46d0f45c, 0x1ca47480e39f8181 - .quad 0x1c452da49a426b16, 0x1c9d0bffb62a59f5 - .quad 0x1c3e0f39ed2991f9, 0x1c949f07f95c9d66 - .quad 0x1c355474c1ca1f2b, 0x1c8d468f3ef07049 - .quad 0x1c2e446d00e60d84, 0x1c84c74e66ce3841 - .quad 0x1c2578dd7a37e92b, 0x1c7d7de4e02c6f6f - .quad 0x1c1e76303a6f7572, 0x1c74ed45aae1d60c - .quad 0x1c159ad189ced845, 0x1c6db1ec9f31f5e1 - .quad 0x1c0ea4717be0f8c8, 0x1c6510e0078c325e - .quad 0x1c05ba448d444792, 0x1c5de2939b1372f7 - .quad 0x1bfecf1fdc04a7db, 0x1c5532108a122ff3 - .quad 0x1bf5d72aff4768da, 0x1c4e0fc8180b06b8 - .quad 0x1beef62bb0a0594a, 0x1c4550cb12e0f1db - .quad 0x1be5f17a3f894e1d, 0x1c3e39798a3f0a89 - .quad 0x1bdf19869809eb8a, 0x1c356d045cee7811 - .quad 0x1bd60928993f7077, 0x1c2e5f989fd91cad - .quad 0x1bcf392381fab056, 0x1c2586b2049c7737 - .quad 0x1bc61e2d491b1f68, 0x1c1e82174a67122f - .quad 0x1bbf54f6b79a6d5f, 0x1c159dca8e17880f - .quad 0x1bb6308082b0b65c, 0x1c0ea0e8c77dc629 - .quad 0x1baf6cf5e2bb03dc, 0x1c05b2456b2d3672 - .quad 0x1ba6401b7549eebb, 0x1bfebc01a8965943 - .quad 0x1b9f8118143e7eb0, 0x1bf5c41b0093e8e9 - .quad 0x1b964cf8501f223b, 0x1beed357da1f18ba - .quad 0x1b8f9155c9a1fbd1, 0x1be5d344aaa010f1 - .quad 0x1b86571245f3d39a, 0x1bdee6e2a9b9efd0 - .quad 0x1b7f9da8f1a8a0cc, 0x1bd5dfbcc1628fd2 - .quad 0x1b765e6590135a00, 0x1bcef69acba2f951 - .quad 0x1b6fa60cf0228aad, 0x1bc5e97e9c2cbc7f - .quad 0x1b6662ef70ab154b, 0x1bbf027a5f3a7f56 - .quad 0x1b5faa7ea0cc6ecb, 0x1bb5f0869476fb64 - .quad 0x1b5664ae34801e0e, 0x1baf0a7cf2ae7563 - .quad 0x1b4faafc59456a8c, 0x1ba5f4d2082760f5 - .quad 0x1b4663a133fef350, 0x1b9f0e9f85c03b41 - .quad 0x1b3fa785ea194bf2, 0x1b95f65f5b366281 - .quad 0x1b365fc8d3a43882, 0x1b8f0ee08ba43cd5 - .quad 0x1b2fa01c9ede6a16, 0x1b85f52df8b025d3 - .quad 0x1b26592683be2829, 0x1b7f0b3febf9cbcd - .quad 0x1b1f94c33d66f35b, 0x1b75f13e53118eaa - .quad 0x1b164fbcbf86f1ab, 0x1b6f03bf02da5a7a - .quad 0x1b0f857e040665a0, 0x1b65ea91e400b8af - .quad 0x1b06438f0b98cab0, 0x1b5ef860a0000a7a - .quad 0x1aff7252a6ecb2bb, 0x1b55e12b2b611c72 - .quad 0x1af634a1f3bd0d7e, 0x1b4ee92905044d53 - .quad 0x1aef5b484c995f72, 0x1b45d50dadc42d9d - .quad 0x1ae622fb08184d56, 0x1b3ed61de2b81fc4 - .quad 0x1adf40678969b4f4, 0x1b35c63df237cf4d - .quad 0x1ad60ea0d9b5d711, 0x1b2ebf4655983167 - .quad 0x1acf21ba5a45e2af, 0x1b25b4c17f7488b1 - .quad 0x1ac5f79af6759efd, 0x1b1ea4aae160108a - .quad 0x1abeff4c1e71b057, 0x1b15a09ed86def16 - .quad 0x1ab5ddf1e460242c, 0x1b0e86556bc034fe - .quad 0x1aaed92990861c73, 0x1b0589dd784842f0 - .quad 0x1aa5c1af1c6454be, 0x1afe6451363b8311 - .quad 0x1a9eaf60be99fa59, 0x1af57085cdb6c23e - .quad 0x1a95a2dd0483fd76, 0x1aee3eaad7319948 - .quad 0x1a8e820101a05296, 0x1ae554a135c6b3d2 - .quad 0x1a858186e973c8cb, 0x1ade1570321beee3 - .quad 0x1a7e511af403f0e1, 0x1ad53639f61bab8b - .quad 0x1a755db8f7b445c6, 0x1acde8b06f0475d8 - .quad 0x1a6e1cc067882b19, 0x1ac5155b36a1ff17 - .quad 0x1a6537803429dd3d, 0x1abdb87bf13d1856 - .quad 0x1a5de5045a77840f, 0x1ab4f210fabcd4fe - .quad 0x1a550eea743a03b0, 0x1aad84e44d6006fd - .quad 0x1a4da9faec295ac1, 0x1aa4cc6819f5a3a9 - .quad 0x1a44e406557456e3, 0x1a9d4dfc3ea1615f - .quad 0x1a3d6bb950e85a76, 0x1a94a46e38335bf7 - .quad 0x1a34b6e334ceafc3, 0x1a8d13d79b7b4d75 - .quad 0x1a2d2a55c543d97b, 0x1a847a31bd7fd98a - .quad 0x1a248791257b832e, 0x1a7cd68b49be13bd - .quad 0x1a1ce5e780d6c294, 0x1a744dc1cd628aec - .quad 0x1a145620e7623619, 0x1a6c962d320e4c77 - .quad 0x1a0c9e86a88f07ff, 0x1a641f2e3dd79383 - .quad 0x1a0422a3dd414b5e, 0x1a5c52d432db963c - .quad 0x19fc544c4080f626, 0x1a53ee878deaf1c1 - .quad 0x19f3ed2c02828af5, 0x1a4c0c9812daaed1 - .quad 0x19ec07521d52071e, 0x1a43bbdedbff7430 - .quad 0x19e3b5cbe0c97302, 0x1a3bc391730e1bf4 - .quad 0x19dbb7b2d547171a, 0x1a338745dbc97fd1 - .quad 0x19d37c9685446b6b, 0x1a2b77d9c068db21 - .quad 0x19cb6589b1020c3e, 0x1a2350cecc05d9cf - .quad 0x19c3419f75c953bc, 0x1a1b298b2516cc35 - .quad 0x19bb10f29bfb2a68, 0x1a13188c6bf4cd49 - .quad 0x19b304faa5c619af, 0x1a0ad8c07976bbc0 - .quad 0x19aaba0a14c264cc, 0x1a02de91f0a22435 - .quad 0x19a2c6bc6b0e1424, 0x19fa859534d21642 - .quad 0x199a60ed1d150c44, 0x19f2a2f2fa027fc3 - .quad 0x199286f9728ce321, 0x19ea30255dde65be - .quad 0x198a05b929d439ab, 0x19e265c387eea954 - .quad 0x198245c6b4e79163, 0x19d9d88d7b14c6d3 - .quad 0x1979a88c12e847c2, 0x19d22717ef05792f - .quad 0x197203396b14a770, 0x19c97eea82eb8229 - .quad 0x19694984031d9858, 0x19c1e704cd7ceb7c - .quad 0x1961bf6702f3caf4, 0x19b92359cbfdea74 - .quad 0x1958e8bf6806bcab, 0x19b1a59effeaeef1 - .quad 0x19517a6513ed67fa, 0x19a8c5f8fd2e86f6 - .quad 0x1948865ce1efe9b6, 0x19a162fb960e6361 - .quad 0x1941344953a2bc16, 0x199866e5fdcf6e5c - .quad 0x1938227b33ef66f4, 0x19911f2fc7a0a0a9 - .quad 0x1930ed298ab66e97, 0x1988063ee5dc8676 - .quad 0x1927bd39341e60d2, 0x1980da50e937b941 - .quad 0x1920a51b89b5ac38, 0x1977a421ee53231b - .quad 0x191756b5bc0538cf, 0x1970947461417eb2 - .quad 0x19105c351e298147, 0x196740ad61b23997 - .quad 0x1906ef0f9946142e, 0x19604daf9d1f19d0 - .quad 0x1900128c07d7eac9, 0x1956dbff8cae0f32 - .quad 0x18f686657e900799, 0x195006180668cd93 - .quad 0x18ef906bdc779cfc, 0x19467636af21f0cb - .quad 0x18e61cd5f4e4d33c, 0x193f7b85f0c272bb - .quad 0x18defa90ac757637, 0x19360f70ed4a200e - .quad 0x18d5b27f4d3aafaf, 0x192ee98b6b3e4f34 - .quad 0x18ce63b1303dfbfb, 0x1925a7cc414fb8aa - .quad 0x18c5477f92833195, 0x191e566abbe94f87 - .quad 0x18bdcbf7abb88524, 0x19153f666d2fde17 - .quad 0x18b4dbf47c1fc8a0, 0x190dc24dc933bf6d - .quad 0x18ad338de3492428, 0x1904d65ced070949 - .quad 0x18a46ffb60cbd760, 0x18fd2d5e0d435050 - .quad 0x189c9a9d09a6515f, 0x18f46ccce9c8cdf5 - .quad 0x189403b12a03d499, 0x18ec97c4837b573e - .quad 0x188c014dae645fc3, 0x18e402d32c6be96d - .quad 0x1883973247f05596, 0x18dc01a996aebdb3 - .quad 0x187b67c7ad400b86, 0x18d3988c1191e211 - .quad 0x18732a9aa5db4bb3, 0x18cb6b3510058b7a - .quad 0x186ace321e309c7b, 0x18c32e137db0ef23 - .quad 0x1862be059f3526f7, 0x18bad48e069f2207 - .quad 0x185a34b346493cc3, 0x18b2c384d1c64d5b - .quad 0x1852518df52ef492, 0x18aa3ddacff96f65 - .quad 0x18499b70897047dc, 0x18a258fae0968e74 - .quad 0x1841e54dc4edf3a3, 0x1899a740f1248851 - .quad 0x1839028e5cf277c7, 0x1891ee8fe480d92c - .quad 0x1831795e7e5c7cca, 0x188910e510c93fe1 - .quad 0x18286a303af6f699, 0x1881845d75e974c6 - .quad 0x18210dd8db9b7b20, 0x18787aeaea087811 - .quad 0x1817d27896d87b8e, 0x18711a7c823f5ff5 - .quad 0x1810a2d4d917179a, 0x1867e57540380a90 - .quad 0x18073b88d266bc5a, 0x1860b10543a01766 - .quad 0x18003869ae409b27, 0x185750a5d3814d59 - .quad 0x17f6a58134129f18, 0x1850480f391c14fc - .quad 0x17ef9d5b8ddde221, 0x1846bc9d56645be6 - .quad 0x17e61080de06bfb0, 0x183fbf623f3bedba - .quad 0x17decb6d7acd34f7, 0x1836297b642274f2 - .quad 0x17d57ca5c62d05dd, 0x182ef001d6eb49df - .quad 0x17cdfb32aa129cc6, 0x1825975e7810e700 - .quad 0x17c4ea0caf213789, 0x181e222785106b16 - .quad 0x17bd2cd2eb59de4c, 0x18150663e5d53392 - .quad 0x17b458d1220fa79d, 0x180d55fbee497e00 - .quad 0x17ac60744f31e198, 0x180476a7d28a437b - .quad 0x17a3c90d697e5b5d, 0x17fc8ba606fb6833 - .quad 0x179b963b20518321, 0x17f3e8452ecdbe84 - .quad 0x17933ada8cfe418f, 0x17ebc34b0b8bbc60 - .quad 0x178ace49de2283ae, 0x17e35b55b1b3d652 - .quad 0x1782ae504dc15f24, 0x17dafd0e79df00eb - .quad 0x177a08c1388db34f, 0x17d2cff1d49f192c - .quad 0x1772238524122580, 0x17ca39120c175c51 - .quad 0x176945c00d028182, 0x17c24630cff92d39 - .quad 0x17619a8e3da77fbe, 0x17b97775b48ec1aa - .quad 0x1758856364b336c5, 0x17b1be2898c8a8a4 - .quad 0x1751137f7cd08642, 0x17a8b8579b06ca2c - .quad 0x1747c7c673fe436e, 0x17a137eddf1f97ae - .quad 0x17408e6b787233ba, 0x1797fbd41b078795 - .quad 0x17370d029afc4472, 0x1790b3940d5da6fc - .quad 0x17300b637cd0ec0b, 0x17874205c365c73e - .quad 0x1726552f6729a259, 0x1780312d48405757 - .quad 0x171f14ef1a3e4ac2, 0x17768b0556e87723 - .quad 0x1715a06296220023, 0x176f6194df7630e5 - .quad 0x170e176ccb941b53, 0x1765d6e9ce0425a7 - .quad 0x1704eeb0196310cd, 0x175e64f64121563e - .quad 0x16fd1e5afef936da, 0x175525c859a2ea9a - .quad 0x16f4402a1b0bd9df, 0x174d6c9b6d4d6fc5 - .quad 0x16ec29d225a230e3, 0x174477b466ee6cc1 - .quad 0x16e394e1038ce88e, 0x173c789ea0183d02 - .quad 0x16db39e83951bdaa, 0x1733ccbfa4112a58 - .quad 0x16d2ece3803d8d68, 0x172b8917a154498b - .quad 0x16ca4eb0c6436cf4, 0x172324fa05e3adc4 - .quad 0x16c2483e8ac9d061, 0x171a9e1bcd30af1f - .quad 0x16b9683cf6400112, 0x17128071ce79e917 - .quad 0x16b1a6fd716c7c18, 0x1709b7be1e1550cb - .quad 0x16a8869b9cc95345, 0x1701df33948493fa - .quad 0x16a10929dfe85b79, 0x16f8d60f37a227b9 - .quad 0x1697a9d9444b613e, 0x16f1414a4b7a1729 - .quad 0x16906ecbe9338feb, 0x16e7f91d72bfd333 - .quad 0x1686d2003c3fdf54, 0x16e0a6bf4c7a4f95 - .quad 0x167fafd4238f8063, 0x16d720f4eaaf4bbb - .quad 0x1675ff18a8317f0a, 0x16d00f9a5fe04069 - .quad 0x166e8912b5139031, 0x16c64d9f8b065b73 - .quad 0x166531288f8c01c7, 0x16bef7c38ee94e41 - .quad 0x165d695a98770e4b, 0x16b57f251e86550e - .quad 0x16546833ee262b10, 0x16add73492689d20 - .quad 0x164c50b006d4e015, 0x16a4b58b5eba6cc7 - .quad 0x1643a43cc572b3d3, 0x169cbd8e7539eac7 - .quad 0x163b3f14799b1616, 0x1693f0d6044b145d - .quad 0x1632e5432e458097, 0x168baad518e7426e - .quad 0x162a3486c40b74f1, 0x16833106d7f3cac9 - .quad 0x16222b456b1a8db7, 0x167a9f09adee91e3 - .quad 0x161931032d667261, 0x1672761dc408f1ef - .quad 0x1611763ffacc46ac, 0x16699a2acce5bd7f - .quad 0x160834838ba6fe3d, 0x1661c018e67b6eae - .quad 0x1600c62daba74e7c, 0x16589c349043d67e - .quad 0x15f73eff5eb5eca5, 0x16510ef4a3481a29 - .quad 0x15f01b07aeca1f42, 0x1647a520aeb63fae - .quad 0x15e6506bebfc67bd, 0x164062abb7415c63 - .quad 0x15dee98b577ea7ca, 0x1636b4e695e9099f - .quad 0x15d568bc5a3d72ee, 0x162f766e96435041 - .quad 0x15cda6bba883d22a, 0x1625cb7b85aa6067 - .quad 0x15c487e1cd9f3e43, 0x161e311e0dabf963 - .quad 0x15bc6d89f0368fc1, 0x1614e8d2ab5187d6 - .quad 0x15b3adcb83cdccc3, 0x160cf55249e0172a - .quad 0x15ab3ddd3216f86e, 0x16040cdd3d52967c - .quad 0x15a2da66f0214306, 0x15fbc2f50c60488e - .quad 0x159a1799fd5925f4, 0x15f3378a96e8e29a - .quad 0x15920d9fd7b31257, 0x15ea99ed8a2f2e6b - .quad 0x1588faa294857a39, 0x15e268c853c2e48d - .quad 0x158147606d4e1ee3, 0x15d97a2092e9b19d - .quad 0x1577e6d714d6fce7, 0x15d1a0826b9b2f1e - .quad 0x157087916d26f37c, 0x15c86370b7b69b46 - .quad 0x1566dc159d3dbce3, 0x15c0dea34dab05c3 - .quad 0x155f9c3470942341, 0x15b755be71f29fea - .quad 0x1555da3a74ec8bc7, 0x15b02313fbe40a01 - .quad 0x154e35c1df5edf07, 0x15a650e8497f58cd - .quad 0x1544e120315adc06, 0x159edb784bbee452 - .quad 0x153cdb951dc67cbf, 0x159554cafa9d0c34 - .quad 0x1533f09fdba5037e, 0x158d7d0486e476cc - .quad 0x152b8d760c6a3faa, 0x158461419b3892c2 - .quad 0x152308911536a23d, 0x157c2a975dad9be0 - .quad 0x151a4b2aa8c000ca, 0x15737625bf981bdb - .quad 0x151228ca3bac6e07, 0x156ae3f97cbb25ce - .quad 0x150914773f3bbbac, 0x1562934f9e530bad - .quad 0x150151208bdc254e, 0x1559a8f1bb2e0d78 - .quad 0x14f7e91e9c37a26b, 0x1551b8963382a860 - .quad 0x14f0816843f2edd8, 0x154879454bd5bf1a - .quad 0x14e6c8e23b87885f, 0x1540e5cf631ac83b - .quad 0x14df72e98937c4f8, 0x153754b7ed21d736 - .quad 0x14d5b38276a48ea0, 0x15301ad01a5b2dd0 - .quad 0x14cdf23162441e8b, 0x15263b0c17c2af00 - .quad 0x14c4a8beb16012ed, 0x151eaed8e09770ed - .quad 0x14bc804c1d0522eb, 0x15152c032be62aab - .quad 0x14b3a855850eeeea, 0x150d36ef8a6e08fa - .quad 0x14ab1cdcc2ca0214, 0x1504275d9d00481d - .quad 0x14a2b204ea20186e, 0x14fbcd89c2310d59 - .quad 0x1499c78595e362ce, 0x14f32cdb1c10f0ee - .quad 0x1491c58a6013aaee, 0x14ea724c21e93002 - .quad 0x14887fe848fd6bff, 0x14e23c3ac05a8c19 - .quad 0x1480e2a313c94bb5, 0x14d924da86249080 - .quad 0x147745a6341bd9d3, 0x14d1553b2e7eba16 - .quad 0x1470090c041eb55f, 0x14c7e4d844204d5f - .quad 0x14661860872f36c7, 0x14c0779abdf88654 - .quad 0x145e710449b20327, 0x14b6b1e85d9cfdc3 - .quad 0x1454f7b87a3ccd22, 0x14af462f39da55f5 - .quad 0x144ce184ffaa0275, 0x14a58badb2559681 - .quad 0x1443e34f7b15484d, 0x149daedfe49c8a9f - .quad 0x143b6314a8f93441, 0x149471cb2f12adec - .quad 0x1432dac758984610, 0x148c28c3fc94131b - .quad 0x1429f52e6b0168fb, 0x148363e3fa566830 - .quad 0x1421ddc26b854422, 0x147ab358720f461f - .quad 0x1418974e49b18481, 0x1472619b9e9f9276 - .quad 0x1410ebe3bcdc6652, 0x14694e1adf5ef17a - .quad 0x140748f15c14a990, 0x14616a96324493c1 - .quad 0x140004cf29d383af, 0x1457f889bf8109c7 - .quad 0x13f60995fd7916b4, 0x14507e787ce8decb - .quad 0x13ee50530acb7a2b, 0x1446b224a16aa4e0 - .quad 0x13e4d8bbfb38c980, 0x143f39d03522ee6e - .quad 0x13dcab316f0b29de, 0x14357a6c57f8fed2 - .quad 0x13d3b5e4bf3051bb, 0x142d8b1738bdcb74 - .quad 0x13cb1987b3f62cd2, 0x142450e32693ba8d - .quad 0x13c2a09376f26716, 0x141bf0154de94403 - .quad 0x13b99aa6a5f22416, 0x1413350cea8cd61a - .quad 0x13b1984d37c8d151, 0x140a681c1d2f0b94 - .quad 0x13a82de1daeb9c47, 0x1402266f414ce57b - .quad 0x13a09c991f950457, 0x13f8f27fe21c9591 - .quad 0x1396d28fdea9871a, 0x13f12491ab5c17d9 - .quad 0x138f5a00e548f085, 0x13e78e979aa0c9be - .quad 0x1385880a5ae03598, 0x13e02efdac5a4ff4 - .quad 0x137d921d6d1c821b, 0x13d63bbd32217718 - .quad 0x13744dae3b23367b, 0x13ce8a7dcff4677c - .quad 0x136be0a394617721, 0x13c4f94da865b2a3 - .quad 0x136322dbccd73cab, 0x13bccdc67829105b - .quad 0x135a44b3f5ce9c8b, 0x13b3c6a934743c05 - .quad 0x135206f6db46b930, 0x13ab26f5afd4ebc9 - .quad 0x1348bd742e227a38, 0x13a2a3336386b4d7 - .quad 0x1340f966c7fd2396, 0x13999530a15ce61a - .quad 0x13374a0efc06d36e, 0x13918e533433f227 - .quad 0x132ff32d3f1c0a49, 0x138817a166d90dbd - .quad 0x1325e9b45aff1be0, 0x138087732df4f3ab - .quad 0x131e0dea55db81c4, 0x1376ad7728d6db01 - .quad 0x13149b9999981d6c, 0x136f1c02ea5235f3 - .quad 0x130c41e9fb058b1e, 0x136555e63841a093 - .quad 0x13035ef96b0fe655, 0x135d42dfb77e321e - .quad 0x12fa8e19002cb47f, 0x1354102823a6a0a2 - .quad 0x12f23313f4adb099, 0x134b8267dd51660d - .quad 0x12e8f16bf19917ac, 0x1342db7bc80b123e - .quad 0x12e1172ed701cd40, 0x1339d98e007ff597 - .quad 0x12d76adf2095d808, 0x1331b7255d8af1ce - .quad 0x12d00a953345bce4, 0x1328474c5f89cf1f - .quad 0x12c5f976a86ba7a3, 0x1320a26e7ff7c8a0 - .quad 0x12be192f5a290a0d, 0x1316caa4dc34bcc6 - .quad 0x12b49c3e6e576cf8, 0x130f394c675d5da1 - .quad 0x12ac3918d16606af, 0x130562a0ffd36fef - .quad 0x12a3524a1ccb90ce, 0x12fd4a41cdb95576 - .quad 0x129a739e0c3f00b3, 0x12f40e51faa74ee4 - .quad 0x12921ab51a49a640, 0x12eb7670ded07be7 - .quad 0x1288c781323e2b8b, 0x12e2ccd09eaa3410 - .quad 0x1280f4a27c210b83, 0x12d9bc980b6cd88b - .quad 0x1277338f3cfd4b18, 0x12d19d3d560c7458 - .quad 0x126fbe79eabbab8b, 0x12c81b807901b2dd - .quad 0x1265b69fdd784131, 0x12c07ec015b26bbf - .quad 0x125db36d8463b3e1, 0x12b691fdebe382be - .quad 0x12544f955c9776f6, 0x12aee11097f70374 - .quad 0x124bc693203fe92c, 0x12a51eeeac7320be - .quad 0x1242fd5c7756dd24, 0x129ce39998362bf9 - .quad 0x1239f66cc65fb2cb, 0x1293c13b67a17ff2 - .quad 0x1231beec36eb8502, 0x128b03976c943068 - .quad 0x1228418af0dd65ed, 0x128277d70b2ebc6f - .quad 0x12209345c546e7cd, 0x12793f94ba2c6b6a - .quad 0x1216a68c4bfd764b, 0x127141be9e049453 - .quad 0x120ef2e87ca7b717, 0x1267962a50231832 - .quad 0x1205241d71eb6e19, 0x12601df915097b64 - .quad 0x11fce118fc8beeea, 0x125605fee84767f0 - .quad 0x11f3b8f8a28fd848, 0x124e172e498cd2fc - .quad 0x11eaef59daa19c93, 0x12448dc6e3757e71 - .quad 0x11e263e577f574d0, 0x123c1366206ca036 - .quad 0x11d91bfa9231de5c, 0x12332c440230ef3a - .quad 0x11d123b897af1af4, 0x122a2ee0ea25a216 - .quad 0x11c7655cd85a2773, 0x1221e04519eb8f87 - .quad 0x11bfeea6c3554149, 0x121867f82bdccb8f - .quad 0x11b5c9f427a491a4, 0x1210a8a5c7678dff - .quad 0x11adbb4739afff2e, 0x1206bd1744d1513e - .quad 0x11a4484548d479a3, 0x11ff089c3d3d8b6f - .quad 0x119bab46440d8e4b, 0x11f52cbafb8bc99f - .quad 0x1192dee5d96e696e, 0x11ece464b1286c0d - .quad 0x1189bcaf0aad775c, 0x11e3b571085ef9db - .quad 0x11818c7bd07b007f, 0x11dae2a4fedee59c - .quad 0x1177eda37d26ae66, 0x11d255d79dbe3905 - .quad 0x11704fbd01fd3b9a, 0x11c9017432798e26 - .quad 0x11663c5ba199716f, 0x11c10c9ceee61d28 - .quad 0x115e4edd431a7a40, 0x11b73effa34f57ab - .quad 0x1154a724e2f6eade, 0x11afb0fd6a99ec28 - .quad 0x114c24c9890314cd, 0x11a5998a4600495b - .quad 0x11432c615eef6a3d, 0x119d70936a92f04a - .quad 0x113a1f03c81340fd, 0x11940f6bfdad1f14 - .quad 0x1131ca87340e1c39, 0x118b55b284add8c1 - .quad 0x11283b6cbf2ba29f, 0x11829f10ece9036e - .quad 0x1120801fd07f7284, 0x11795e2d86ae92c8 - .quad 0x111677ffffc31b92, 0x117146f8c6e8dc57 - .quad 0x110e978e83ebd95d, 0x116787f26e598ebb - .quad 0x1104d2d2f5dd4096, 0x116005b6216a17ea - .quad 0x10fc58570e2f641d, 0x1155d10973fbab06 - .quad 0x10f34a13f272cdfa, 0x114db3db8f832a58 - .quad 0x10ea4017c5ace0de, 0x1144379416dfac63 - .quad 0x10e1dc0938cfb932, 0x113b84ac1ef46255 - .quad 0x10d84c7064147f81, 0x1132b9cc2c3d6738 - .quad 0x10d087100f5e6429, 0x11297b6c5dc3637a - .quad 0x10c67b20873fc995, 0x11215602f1227af8 - .quad 0x10be9337a8979da0, 0x111795cb2bb480b6 - .quad 0x10b4ca0667456eb8, 0x11100aa01fc8a73e - .quad 0x10ac446a2ccade1c, 0x1105d196927cdacc - .quad 0x10a3371d92c55c69, 0x10fdac421184af19 - .quad 0x109a1ef1650d3562, 0x10f42cba823b93cb - .quad 0x1091c07db1df4cf6, 0x10eb6e2f60b615c1 - .quad 0x1088202debc2593c, 0x10e2a53f94211ba9 - .quad 0x108064595037ce7b, 0x10d95853e0fd75ad - .quad 0x107645a58ac6913c, 0x10d13949d3b2fbd2 - .quad 0x106e41f95cc492ce, 0x10c768213ee2ba9c - .quad 0x10648d0194e5b153, 0x10bfce2f1e195a7a - .quad 0x105be99935f38c42, 0x10b59b2d772c1b04 - .quad 0x1052f40d4a5d2870, 0x10ad5a005ce1b15d - .quad 0x1049bc8aa74c3805, 0x10a3ef3138f8ae58 - .quad 0x104178b448b82b16, 0x109b12e626e3c8a1 - .quad 0x1037b7f2dc7fa066, 0x1092620652c3102c - .quad 0x1030190106456396, 0x1088f5ecffd9c995 - .quad 0x1025d92194746ef2, 0x1080f1a62a97a48e - .quad 0x101da636b2add63a, 0x1077004d0a0dd3fc - .quad 0x10141d8f14e2d235, 0x106f38508375a815 - .quad 0x100b4a8e16df3a2e, 0x10652f67f4a45dbd - .quad 0x100282da2ee06e9f, 0x105cbf8187da9700 - .quad 0x0ff91bc4f0e82a10, 0x105380c6fa6ddd1b - .quad 0x0ff106c65473611b, 0x104a757e44dde4fb - .quad 0x0fe716ca73d3a1dc, 0x1041f218f165083c - .quad 0x0fdf4e737e667fe6, 0x1038571975a9ba0c - .quad 0x0fd538bdbc880350, 0x103081306aee058b - .quad 0x0fccc4774fe05a13, 0x102661571375ee31 - .quad 0x0fc37eeb586702af, 0x101e5803c9b677c0 - .quad 0x0fba6be51e94d2c3, 0x10149169d29f057f - .quad 0x0fb1e6cae3cc5ce4, 0x100be144165bfdad - .quad 0x0fa841452e30c6ec, 0x1002e4b0b7596d86 - .quad 0x0fa06dfcc0330324, 0x0ff99a8814f82396 - .quad 0x0f964157d8dbcaa1, 0x0ff158b4c1d7aa61 - .quad 0x0f8e248fc3725278, 0x0fe7806fe5adc0de - .quad 0x0f84691284199248, 0x0fdfd64d63539ac4 - .quad 0x0f7ba32f675bcca1, 0x0fd58fd2560c98e3 - .quad 0x0f72b59cb5fcd070, 0x0fcd33b9c01b8858 - .quad 0x0f6953f4278d9771, 0x0fc3c5b9e7be019e - .quad 0x0f61244d4a198783, 0x0fbac5a261b57bd2 - .quad 0x0f57333ac721d353, 0x0fb21f61f6e6a3a5 - .quad 0x0f4f654f8b2c9938, 0x0fa8883e334bf813 - .quad 0x0f453d9d5f4e3889, 0x0fa09a33ffab8174 - .quad 0x0f3cbcb3935e8707, 0x0f9678037d69a88a - .quad 0x0f336fefd85e37f7, 0x0f8e678a0474dd4d - .quad 0x0f2a4a7147e53789, 0x0f8491a44a8cc267 - .quad 0x0f21c73c8c2f3143, 0x0f7bd3a60953bab8 - .quad 0x0f180a7df6e9e4ab, 0x0f72d20af56e98e4 - .quad 0x0f1040c111171b21, 0x0f69748563f2a02c - .quad 0x0f05f9153468350d, 0x0f613656dff66048 - .quad 0x0efdb3d65827b6f1, 0x0f57463a2ae57157 - .quad 0x0ef412b4a3b0b6bb, 0x0f4f77b2a384d071 - .quad 0x0eeb20abd232bd72, 0x0f45451ae34b02ae - .quad 0x0ee25417f5fe18aa, 0x0f3cc024fa52d21e - .quad 0x0ed8c38db09c3d68, 0x0f336dbe645ba702 - .quad 0x0ed0ba351c6b2c44, 0x0f2a415d531b6e85 - .quad 0x0ec69856de023170, 0x0f21bcf7eeeba2f5 - .quad 0x0ebe847157246bfc, 0x0f17f70703ac5558 - .quad 0x0eb49b2d16422141, 0x0f102fd377359b10 - .quad 0x0eabd304de355d85, 0x0f05dd1b0bb84b26 - .quad 0x0ea2c87c2ff697dc, 0x0efd87243e77ecad - .quad 0x0e995b4456f24a66, 0x0ef3efdb3b369292 - .quad 0x0e911cf1a60f1d84, 0x0eeaeb4dc01a4631 - .quad 0x0e8718a9184a8678, 0x0ee22bcd99dbdb06 - .quad 0x0e7f2af0be1fde49, 0x0ed88766c06b0833 - .quad 0x0e7507007917e3d9, 0x0ed08db80d427d79 - .quad 0x0e6c5e695f15072b, 0x0ec65709eb54bf5e - .quad 0x0e632266540e08c2, 0x0ebe253876b38ace - .quad 0x0e59cf012acb820b, 0x0eb45623a2f6a451 - .quad 0x0e51673fda512b46, 0x0eab6f674d703273 - .quad 0x0e4777d05328bd26, 0x0ea280eca736b4b1 - .quad 0x0e3fa46d62b8e57d, 0x0e98f4d804e3ad6f - .quad 0x0e35544c8bc23e1c, 0x0e90d3e50a2eecdc - .quad 0x0e2cc068b1dc8ab2, 0x0e86b0c7763ce52b - .quad 0x0e236042b9065710, 0x0e7e979edc5b3767 - .quad 0x0e1a1cbbab815b4c, 0x0e749ecd657d5dd6 - .quad 0x0e1197d0fe71564c, 0x0e6bcb59141dc715 - .quad 0x0e07b41f3bcb1869, 0x0e62bad65a82bb23 - .quad 0x0dffeec24eca8006, 0x0e593d6de18ac6bf - .quad 0x0df581b387627669, 0x0e51011dd6dfecf6 - .quad 0x0decf746ccaba032, 0x0e46e8be31f2fe24 - .quad 0x0de380f8b864e1ac, 0x0e3edc51c8649aaa - .quad 0x0dda4312cc2f816a, 0x0e34c88f43732a10 - .quad 0x0dd1adc83c96accf, 0x0e2bfd81ed74f1cd - .quad 0x0dc7cc835281bbf3, 0x0e22d883a292df3b - .quad 0x0dc0044e6f2b903f, 0x0e195fde403b5724 - .quad 0x0db58e66674c0f82, 0x0e111494966870b7 - .quad 0x0dad0209514d613d, 0x0e06fdef1ca550b3 - .quad 0x0da383f2f4495aed, 0x0dfef217eb67d36d - .quad 0x0d9a41575f0363d6, 0x0df4d2aaa5b8e28a - .quad 0x0d91a8c12a0cae91, 0x0dec04fcbf1fddd8 - .quad 0x0d87c08d08f2ccbb, 0x0de2d96cdd2a30b8 - .quad 0x0d7ff186c5b90604, 0x0dd95b8ba50a2687 - .quad 0x0d757a2b0b1c4c86, 0x0dd10df03cd711e3 - .quad 0x0d6ce07ef98af2ae, 0x0dc6eff939f51c8f - .quad 0x0d636923c5eb270b, 0x0dbed88d96607fb4 - .quad 0x0d5a1791489717bf, 0x0db4bcf1445c1d61 - .quad 0x0d5188d2c2d680a3, 0x0dabe1a747b458c8 - .quad 0x0d47907312c7e255, 0x0da2bd8dde16ba8a - .quad 0x0d3fa9e995f4c414, 0x0d993089dc23e417 - .quad 0x0d35455df149c7b5, 0x0d90ed4f34d6e965 - .quad 0x0d2c93410e8142f8, 0x0d86bf1c754a3325 - .quad 0x0d233105a5b594f7, 0x0d7e9027b1c5a4ab - .quad 0x0d19c67f441e11b3, 0x0d7487c687197597 - .quad 0x0d114e8ebae7496e, 0x0d6b942323a72767 - .quad 0x0d073d10c597b774, 0x0d6285660efb3e9a - .quad 0x0cff330b99c7f9e7, 0x0d58df9d62fb9c5e - .quad 0x0cf4f0ef77c81a6f, 0x0d50b34677fe9486 - .quad 0x0cec1baedb5f2e65, 0x0d466c37bb05de1e - .quad 0x0ce2dc9788ad9864, 0x0d3e1a30436bcde5 - .quad 0x0cd94f913add4907, 0x0d34341c90c553e7 - .quad 0x0cd0fafd2c40ba27, 0x0d2b1dd0ffc5d04b - .quad 0x0cc6c7df995241d1, 0x0d2231f4a6757469 - .quad 0x0cbe8f062cc963ce, 0x0d186a35930ed5e1 - .quad 0x0cb47e5cbff0d92e, 0x0d1060dd236f49a3 - .quad 0x0cab7be34be4e18d, 0x0d05f8c25cd122d7 - .quad 0x0ca26d5559b935e7, 0x0cfd78bca82e9f37 - .quad 0x0c98b4dd6af9c05d, 0x0cf3c36d15093021 - .quad 0x0c908f94cfc79158, 0x0cea80c62c44a65b - .quad 0x0c8632ec0e0d009c, 0x0ce1c4b11ed6627a - .quad 0x0c7dc0b5f2e40ea4, 0x0cd7d261cc2edf72 - .quad 0x0c73efa480ea698b, 0x0ccfef096f5252f0 - .quad 0x0c6ab6a5245de9e5, 0x0cc566c107178d1f - .quad 0x0c61e52cde409267, 0x0cbcae9de8f00c0b - .quad 0x0c57f910d0084829, 0x0cb337ae444bd293 - .quad 0x0c500e3012bd4171, 0x0ca9bfbcfe9dc1e8 - .quad 0x0c4580c66bfc7cf5, 0x0ca13f803c0631d9 - .quad 0x0c3ccba595fe34b5, 0x0c971ac2109d33c9 - .quad 0x0c3347383dcf4a9b, 0x0c8ef21caa7d80c3 - .quad 0x0c29cf52785fcd1f, 0x0c84b8b6bbdb7a4f - .quad 0x0c21466f7a4ba4b3, 0x0c7bbf4bcf8ca0c3 - .quad 0x0c171f5b701cb667, 0x0c72934441fdae8b - .quad 0x0c0ef1fef5338f87, 0x0c68de00a5d4cff3 - .quad 0x0c04b46ffc2e70cc, 0x0c60a4a61359d63a - .quad 0x0bfbb3f3e667d5e5, 0x0c564673b39bdd54 - .quad 0x0bf287ea78b8278f, 0x0c4dcf3acd0cc1f4 - .quad 0x0be8c9c8347a2863, 0x0c43f1926f0c2aa4 - .quad 0x0be093c166d47d90, 0x0c3aaecb94ca24e1 - .quad 0x0bd62b5957e6b822, 0x0c31d8efbbc88d6c - .quad 0x0bcda4f3c5b8c56f, 0x0c27df554174928c - .quad 0x0bc3d1457a1afdae, 0x0c1fed6b4a9440a8 - .quad 0x0bba7e3665ffae25, 0x0c1558fae0fed7aa - .quad 0x0bb1b4da97b89113, 0x0c0c8b307e047613 - .quad 0x0ba7aa46b2ec675c, 0x0c03149a005e5984 - .quad 0x0b9fa00e080e5360, 0x0bf9819329634547 - .quad 0x0b9520f92dcad4a2, 0x0bf10bba52994e8e - .quad 0x0b8c3a9666328faa, 0x0be6c7dd2d93c0f9 - .quad 0x0b82dae795ce73b6, 0x0bde70fd5d6d806d - .quad 0x0b792f5963d343cf, 0x0bd45629dffe1fa7 - .quad 0x0b70d15f439254be, 0x0bcb2b2e959996b0 - .quad 0x0b6675546ac2c967, 0x0bc2255364dfcfd7 - .quad 0x0b5dfca1ff236f02, 0x0bb83c6a3841fcca - .quad 0x0b54046155930cfb, 0x0bb02ee197efc99d - .quad 0x0b4ab8846c89a496, 0x0ba59bfc8bdbfffe - .quad 0x0b41d5226b496f7e, 0x0b9cd9f4c9733040 - .quad 0x0b37cc7edd2bedd1, 0x0b93420703d360ea - .quad 0x0b2fc1e021531b11, 0x0b89b4a6e4580455 - .quad 0x0b252f9fd29afa7b, 0x0b81276cde31355e - .quad 0x0b1c439018f9e7b0, 0x0b76e44a0da72ded - .quad 0x0b12d9d4a3bfacfa, 0x0b6e8b82d35e9882 - .quad 0x0b09247c7d6b7109, 0x0b64603c1a2de688 - .quad 0x0b00c3d4d5746632, 0x0b5b2e6fa531d555 - .quad 0x0af65add59367765, 0x0b5220b241172407 - .quad 0x0aedce1e8301e6ef, 0x0b482d28ae825549 - .quad 0x0ae3dde18cb97a8d, 0x0b401ea51e3f541c - .quad 0x0ada7b31ccb0b2f4, 0x0b357e3d8e31e749 - .quad 0x0ad1a59798dd7aa2, 0x0b2ca77ce984ce61 - .quad 0x0ac7843a7981f8e3, 0x0b23192c63185ef2 - .quad 0x0abf55b0f3ffe463, 0x0b1974911a73b1a7 - .quad 0x0ab4df9fe655b0fb, 0x0b10f64b579273f6 - .quad 0x0aabce68ce6bcfed, 0x0b069a3e1bad13da - .quad 0x0aa284bfe1cdea24, 0x0afe1d6859c11527 - .quad 0x0a98a9c29acbf47d, 0x0af40f425a16dca3 - .quad 0x0a906bd70b72892b, 0x0aeab8633790b1e2 - .quad 0x0a85dd55c1a48477, 0x0ae1cb4a43b9229f - .quad 0x0a7d1bd6b173b9f2, 0x0ad7b25cc6523c3b - .quad 0x0a735fc8451ff49e, 0x0acf8db2dc70232b - .quad 0x0a69c9712232f548, 0x0ac5014bc06e7f91 - .quad 0x0a6128b47439dcd5, 0x0abbf66ba3b9066c - .quad 0x0a56d53d2be0a0b6, 0x0ab29c2c1dc958db - .quad 0x0a4e6122171333df, 0x0aa8c4a9d76af90f - .quad 0x0a4435229d0cc681, 0x0aa07ae5a7347d0b - .quad 0x0a3ae1371b74ea2d, 0x0a95ed9539dfd0c9 - .quad 0x0a31e01427183001, 0x0a8d2c69c7599edc - .quad 0x0a27c589442700ec, 0x0a83677341a98a13 - .quad 0x0a1f9be9e1d7b4e4, 0x0a79cf2c5625685e - .quad 0x0a15033c96eb7570, 0x0a71298aebe8af0f - .quad 0x0a0bef014f36ffa9, 0x0a66d2655c8560eb - .quad 0x0a0290979be09b3b, 0x0a5e58166789d0bc - .quad 0x09f8ac6ba86dcc3c, 0x0a542b9e90b536b6 - .quad 0x09f064e638fb2517, 0x0a4acfe7e64002b1 - .quad 0x09e5c884857d8ade, 0x0a41d179e12ade6e - .quad 0x09dcf0beaeb1b319, 0x0a37ae01eb0f55cb - .quad 0x09d338e29511ffcd, 0x0a2f772a9e0423a1 - .quad 0x09c9881a23b2ff9b, 0x0a24e72e15f0f016 - .quad 0x09c0f43798c4f845, 0x0a1bc4e2f5a8c9af - .quad 0x09b6836e63bd7d88, 0x0a127165d875ec78 - .quad 0x09ade466f9c32fda, 0x0a087eb54ae1860d - .quad 0x09a3d79f883687bf, 0x0a0043b38d103ec9 - .quad 0x099a56d48500b8a3, 0x09f598a7d65e3b67 - .quad 0x09917ac327f9b5e5, 0x09ecac2d1ee89db1 - .quad 0x09873278f241bb95, 0x09e308090afcd9f3 - .quad 0x097ec801820c3f3d, 0x09d942d41e7bf2a3 - .quad 0x09746b841565ab3e, 0x09d0c34dc595f4bf - .quad 0x096b16ea850bfa34, 0x09c63e9cb83e74b2 - .quad 0x0961f76e44abf0ec, 0x09bd83e5a3ffd7ad - .quad 0x0957d432d7dd0ca1, 0x09b39428e0fd00c5 - .quad 0x094f99abec00b682, 0x09a9f8c2eadfb109 - .quad 0x0944f35579392d4b, 0x09a13957092e7741 - .quad 0x093bc6c19eee10e8, 0x0996d7ad6ac744f9 - .quad 0x0932692d6adc530f, 0x098e4a41e3c393c2 - .quad 0x0928673fad41c337, 0x0984149a31665d1e - .quad 0x09202bd066e6e446, 0x097a9efbad7c9909 - .quad 0x09156dece3f159c3, 0x0971a4d14ca40e60 - .quad 0x090c64dabfd6babd, 0x0967628f37011dc7 - .quad 0x0902cf07ed3ac7ca, 0x095efd93aae49244 - .quad 0x08f8ea5cdb1b77f8, 0x0954884565714d83 - .quad 0x08f0801f05da3bab, 0x094b341347ab9d2e - .quad 0x08e5da3ba0723cbc, 0x094204d0f497ca7d - .quad 0x08dcefd7b19fc691, 0x0937de10a24a9be3 - .quad 0x08d3281b7ca3d771, 0x092f9c4f419d97b9 - .quad 0x08c95c663259c5d8, 0x0924ee2a6bb63f1d - .quad 0x08c0c90568fe453b, 0x091bb6bea4d790c6 - .quad 0x08b6374ef6370a23, 0x091258802fee3a1b - .quad 0x08ad668024e6e773, 0x0908491dcb50d650 - .quad 0x08a3739f6c74a992, 0x090012888bcf5e1b - .quad 0x0899bc5a27482390, 0x08f5456466d99824 - .quad 0x089105de86fb726e, 0x08ec25d7813e5a28 - .quad 0x08868453b252f9af, 0x08e29f220ff323bd - .quad 0x087dc7c640bf856f, 0x08d8a2c46b36447d - .quad 0x0873b0e7a2d8004d, 0x08d04b5178932d9e - .quad 0x086a095d99893bea, 0x08c58d2d04dcdef9 - .quad 0x0861361f24d04a1e, 0x08bc8060b8a624d8 - .quad 0x0856c0994513d45b, 0x08b2d8154e3020f5 - .quad 0x084e12caa0268707, 0x08a8ea37661d565f - .quad 0x0843df6725a60cf5, 0x08a078003d294269 - .quad 0x083a42bf15180a09, 0x0895c4df6da1a5f0 - .quad 0x08315957e82800c6, 0x088cc58a0676d26e - .quad 0x0826eb9463d29a0d, 0x088302d6b1661ef0 - .quad 0x081e46dfa81a2018, 0x08791ed1d851d1dd - .quad 0x0813feb236502138, 0x0870982d94421652 - .quad 0x080a67f97b02e026, 0x0865ebfab91b4a2b - .quad 0x08016f37032d6085, 0x085cf4b3235443f5 - .quad 0x07f704e120e656fd, 0x08531f0304f01ddb - .quad 0x07ee638c247f445d, 0x084940198fd0e1c2 - .quad 0x07e40e7ff18c854c, 0x0840ab8eaa8fae67 - .quad 0x07da78b6039c7039, 0x08360223e0067b2c - .quad 0x07d1778970df4481, 0x082d0d6e2f89dd66 - .quad 0x07c70c446e7535cc, 0x08232c589802b4ba - .quad 0x07be688d1dc06742, 0x08194dc0e4e3bd62 - .quad 0x07b40eab69ffb357, 0x0810b1f64079cf15 - .quad 0x07aa74cd8f49285b, 0x080607271cb1c230 - .quad 0x07a1723bbb37e710, 0x07fd0f815d3e30e4 - .quad 0x079701ad03f5aba2, 0x07f32ab83cb1b9aa - .quad 0x078e55d6dd34aeb5, 0x07e947a7e7d08e62 - .quad 0x0783ff3437e5e592, 0x07e0ab555a059592 - .quad 0x077a5c493ec4b75b, 0x07d5faf8b45ee11c - .quad 0x07715f5a46f2a8c5, 0x07ccfae7d166a387 - .quad 0x0766e533a1804da5, 0x07c31a25c153692f - .quad 0x075e2b951ac76b4b, 0x07b92ddcdd3a585a - .quad 0x0753e03e7aaf4a23, 0x07b097bb793410b5 - .quad 0x074a2f624fa2da41, 0x07a5ddb524f58124 - .quad 0x07413f112353b2e2, 0x079ccfd1b6b2b0d1 - .quad 0x0736b71aaf8395ac, 0x0792fac7e1ac1a55 - .quad 0x072dea2a52e6f8d6, 0x0789009c068a7447 - .quad 0x0723b2124c85eb7d, 0x078077566199da13 - .quad 0x0719ee813dcc82f4, 0x0775afa0b60e30ad - .quad 0x071111ab5ef7d9ce, 0x076c8ea38207b48c - .quad 0x070677cd3ce598a2, 0x0762cce7b0334e93 - .quad 0x06fd922e485849df, 0x0758c04eb792831b - .quad 0x06f3751aaab95803, 0x07504a716678c7d9 - .quad 0x06e99a3c2eb312df, 0x074571266fb205e7 - .quad 0x06e0d791e54efc95, 0x073c37f46c8a36ce - .quad 0x06d627dd610c1f2f, 0x073290ef7aa6784e - .quad 0x06cd246bba093ddd, 0x07286d89be61c44f - .quad 0x06c329e3d8fc35e5, 0x072011744722e8f8 - .quad 0x06b93354aecb0f91, 0x071522d67c700dd9 - .quad 0x06b09149eae599f4, 0x070bcc8c2b79e5e6 - .quad 0x06a5c8020a89d6a7, 0x070247692feaf7c7 - .quad 0x069ca1dd59404578, 0x06f8090b25f1fb1c - .quad 0x0692d1194826d1d9, 0x06ef99c33fa36826 - .quad 0x0688bab4cd7bc185, 0x06e4c563ff8738ed - .quad 0x06803f72f0fa181c, 0x06db4d5ff233ee8b - .quad 0x067559144638d7d2, 0x06d1f0fc4fe41aef - .quad 0x066c0baa10766979, 0x06c793b75fbd2367 - .quad 0x06626b830bbc4f33, 0x06befaa9eeaa4992 - .quad 0x0658316ba6f8ef74, 0x06b459a26ac43fcf - .quad 0x064fc588d5eeb300, 0x06aabb8ece685efe - .quad 0x0644dc0c0d42f863, 0x06a18e6b704952c1 - .quad 0x063b6320aea7077a, 0x06970e95e366ca95 - .quad 0x0631fa02ebad6485, 0x068e4700e7fab75e - .quad 0x062798a96e59845b, 0x0683e0826243926d - .quad 0x061ef81624855ca5, 0x067a185d71d9ae78 - .quad 0x061451fcaaed5e70, 0x0671209163a43d8a - .quad 0x060aa9b30dd7b333, 0x06667acd56555624 - .quad 0x06017d9121b4ff43, 0x065d805487b20ec2 - .quad 0x05f6f1bb0c9eff18, 0x06535b0e3e76f72a - .quad 0x05ee184bec96bcc5, 0x064965317fc3f8eb - .quad 0x05e3bc10ccdff1d7, 0x0640a85e11600392 - .quad 0x05d9e0f0cdf83a76, 0x0635d99f4f4fa7a2 - .quad 0x05d0f738d3253e75, 0x062ca8538b911cc2 - .quad 0x05c63e056b37b486, 0x0622ca663e8f6c6e - .quad 0x05bd2806afda0512, 0x0618a38c763ae500 - .quad 0x05b31b865207923b, 0x061026d30f31261e - .quad 0x05a90a81bef15367, 0x06052c63cbe5201d - .quad 0x05a068145905badd, 0x05fbc0c903e2dd51 - .quad 0x05957f0081c7461b, 0x05f22fbc7eb40c8e - .quad 0x058c293abfeb81c1, 0x05e7d5064d5d2e6a - .quad 0x058271a9ed146425, 0x05df3a001a1da12a - .quad 0x0578282015bfd093, 0x05d474846e880b80 - .quad 0x056fa292d1f4b615, 0x05cacb96019278e3 - .quad 0x0564b6323fa7fafc, 0x05c18c50c637e437 - .quad 0x055b1ded81f6cf48, 0x05b6fb47e7243b10 - .quad 0x0551bfd2aff12d23, 0x05ae17fe4af1cdcd - .quad 0x05473b9288cf980b, 0x05a3b3779cd081bc - .quad 0x053e680a6315c8f9, 0x0599caab20737c4b - .quad 0x0533e52969a46a03, 0x0590e16c42489121 - .quad 0x052a082ea93d471f, 0x058618056ad2fa0d - .quad 0x0521075d9566cab2, 0x057ce9e247afa7ef - .quad 0x051646a66f6fb197, 0x0572eabb9557e4c3 - .quad 0x050d22f0f82317a8, 0x0568c0020c90fd02 - .quad 0x05030d7883df3e07, 0x0560305d4157bdec - .quad 0x04f8ea1187daf8b3, 0x05552cf8a69cbdee - .quad 0x04f049a91d747c02, 0x054bb1f3a4ce848c - .quad 0x04e54b29ff375e83, 0x05421bd19407d3a8 - .quad 0x04dbd5a7cbaf896d, 0x0537ad97206eb3e9 - .quad 0x04d230b0dec754da, 0x052ef4e6059f1fe4 - .quad 0x04c7c5a693980a40, 0x05243bdb9112e65b - .quad 0x04bf10221f87a1ca, 0x051a7278c0b2c815 - .quad 0x04b44ae6c097e3b8, 0x051148391a9b5b70 - .quad 0x0000000000000000, 0x0000000000000000 - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ - .align 64 - .quad 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000 /* _MaxThreshold=3487.0/128.0 */ - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* sign mask */ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ - .align 64 - .quad 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000 /* 2^(-128) */ - .align 64 - .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ - // polynomial coefficients - .align 64 - .quad 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f // poly1[0] - .align 64 - .quad 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70 // poly1[1] - .align 64 - .quad 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46 // poly3[0] - .align 64 - .quad 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c // poly3[1] - .align 64 - .quad 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2 // poly5[0] - .align 64 - .quad 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf // poly5[1] - .align 64 - .quad 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617 // poly1[2] - .align 64 - .quad 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec // poly3[2] - .align 64 - .quad 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7 // poly5[2] - .align 64 - .quad 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f // poly1[3] - .align 64 - .quad 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6 // poly3[3] - .align 64 - .quad 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da // poly5[3] - .align 64 - .quad 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420 // poly1[4] - .align 64 - .quad 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838 // poly3[4] - .align 64 - .quad 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082 // poly1[5] - .align 64 - .quad 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730 // poly3[5] - .align 64 - .quad 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add // poly3[6] - .align 64 - .quad 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a // poly1[6] - .align 64 - .quad 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf // poly1[7] - .align 64 - .quad 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD /* UF_Threshold */ - .align 64 - .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ - .align 64 - .type __svml_derfc_data_internal,@object - .size __svml_derfc_data_internal,.-__svml_derfc_data_internal + /* _erfc_tbl */ + .quad 0x47f0000000000000, 0x47f20dd750429b6d + .quad 0x47efb7c9030853b3, 0x47f20d8f1975c85d + .quad 0x47ef6f9447be0743, 0x47f20cb67bd452c7 + .quad 0x47ef27640f9853d9, 0x47f20b4d8bac36c1 + .quad 0x47eedf3a9ba22dad, 0x47f209546ad13ccf + .quad 0x47ee971a2c4436ae, 0x47f206cb4897b148 + .quad 0x47ee4f05010eca8c, 0x47f203b261cd0053 + .quad 0x47ee06fd58842c7e, 0x47f2000a00ae3804 + .quad 0x47edbf056fe2df35, 0x47f1fbd27cdc72d3 + .quad 0x47ed771f82f02f4e, 0x47f1f70c3b4f2cc8 + .quad 0x47ed2f4dcbc2f894, 0x47f1f1b7ae44867f + .quad 0x47ece792828eae5c, 0x47f1ebd5552f795b + .quad 0x47ec9fefdd6eaf19, 0x47f1e565bca400d4 + .quad 0x47ec58681031eb6a, 0x47f1de697e413d29 + .quad 0x47ec10fd4c26e896, 0x47f1d6e14099944a + .quad 0x47ebc9b1bfe82687, 0x47f1cecdb718d61c + .quad 0x47eb82879728f11e, 0x47f1c62fa1e869b6 + .quad 0x47eb3b80fa82a4bb, 0x47f1bd07cdd189ac + .quad 0x47eaf4a00f426daa, 0x47f1b357141d95d5 + .quad 0x47eaade6f7378a0e, 0x47f1a91e5a748165 + .quad 0x47ea6757d08215d8, 0x47f19e5e92b964ab + .quad 0x47ea20f4b5626818, 0x47f19318bae53a04 + .quad 0x47e9dabfbc090901, 0x47f1874ddcdfce24 + .quad 0x47e994baf66747ad, 0x47f17aff0e56ec10 + .quad 0x47e94ee8720076b6, 0x47f16e2d7093cd8c + .quad 0x47e9094a37bbd66e, 0x47f160da304ed92f + .quad 0x47e8c3e24bb73372, 0x47f153068581b781 + .quad 0x47e87eb2ad1a4032, 0x47f144b3b337c90c + .quad 0x47e839bd55eaafc8, 0x47f135e3075d076b + .quad 0x47e7f5043ae11862, 0x47f12695da8b5bde + .quad 0x47e7b0894b3ea35c, 0x47f116cd8fd67618 + .quad 0x47e76c4e70a390e7, 0x47f1068b94962e5e + .quad 0x47e728558ee694fc, 0x47f0f5d1602f7e41 + .quad 0x47e6e4a083ed132f, 0x47f0e4a073dc1b91 + .quad 0x47e6a13127843ec1, 0x47f0d2fa5a70c168 + .quad 0x47e65e094b3b2413, 0x47f0c0e0a8223359 + .quad 0x47e61b2aba3da093, 0x47f0ae54fa490723 + .quad 0x47e5d89739304dcf, 0x47f09b58f724416b + .quad 0x47e59650860d6469, 0x47f087ee4d9ad247 + .quad 0x47e5545858029b39, 0x47f07416b4fbfe7c + .quad 0x47e512b05f5006e1, 0x47f05fd3ecbec298 + .quad 0x47e4d15a4527fdc7, 0x47f04b27bc403d30 + .quad 0x47e49057ab900447, 0x47f03613f2812daf + .quad 0x47e44faa2d42c4a0, 0x47f0209a65e29545 + .quad 0x47e40f535d93160e, 0x47f00abcf3e187a9 + .quad 0x47e3cf54c8501620, 0x47efe8fb01a47307 + .quad 0x47e38faff1aa574a, 0x47efbbbbef34b4b2 + .quad 0x47e35066561a275d, 0x47ef8dc092d58ff8 + .quad 0x47e311796a46f064, 0x47ef5f0cdaf15313 + .quad 0x47e2d2ea9aefb636, 0x47ef2fa4c16c0019 + .quad 0x47e294bb4cd4b2bd, 0x47eeff8c4b1375db + .quad 0x47e256ecdca212cc, 0x47eecec7870ebca8 + .quad 0x47e219809edbd524, 0x47ee9d5a8e4c934e + .quad 0x47e1dc77dfcacd02, 0x47ee6b4982f158b9 + .quad 0x47e19fd3e36ac96a, 0x47ee38988fc46e72 + .quad 0x47e16395e559e218, 0x47ee054be79d3042 + .quad 0x47e127bf18c8eadc, 0x47edd167c4cf9d2a + .quad 0x47e0ec50a86d0dd4, 0x47ed9cf06898cdaf + .quad 0x47e0b14bb6728cd8, 0x47ed67ea1a8b5368 + .quad 0x47e076b15c70aa28, 0x47ed325927fb9d89 + .quad 0x47e03c82ab5eb831, 0x47ecfc41e36c7df9 + .quad 0x47e002c0ab8a5018, 0x47ecc5a8a3fbea40 + .quad 0x47df92d8b91d5cc7, 0x47ec8e91c4d01368 + .quad 0x47df210d6a9a6a31, 0x47ec5701a484ef9d + .quad 0x47deb02147ce245c, 0x47ec1efca49a5011 + .quad 0x47de40161b701275, 0x47ebe68728e29d5e + .quad 0x47ddd0ed9ea4bdd6, 0x47ebada596f25436 + .quad 0x47dd62a978f7c957, 0x47eb745c55905bf8 + .quad 0x47dcf54b4058455f, 0x47eb3aafcc27502e + .quad 0x47dc88d479173cce, 0x47eb00a46237d5be + .quad 0x47dc1d4695e87644, 0x47eac63e7ecc1411 + .quad 0x47dbb2a2f7e56520, 0x47ea8b8287ec6a09 + .quad 0x47db48eaee924501, 0x47ea5074e2157620 + .quad 0x47dae01fb7e55a66, 0x47ea1519efaf889e + .quad 0x47da78428050527e, 0x47e9d97610879642 + .quad 0x47da115462cbbc17, 0x47e99d8da149c13f + .quad 0x47d9ab5668e4930a, 0x47e96164fafd8de3 + .quad 0x47d946498acbd766, 0x47e925007283d7aa + .quad 0x47d8e22eaf68291e, 0x47e8e86458169af8 + .quad 0x47d87f06ac6960c4, 0x47e8ab94f6caa71d + .quad 0x47d81cd2465e1d96, 0x47e86e9694134b9e + .quad 0x47d7bb9230cb40b4, 0x47e8316d6f48133d + .quad 0x47d75b470e454d35, 0x47e7f41dc12c9e89 + .quad 0x47d6fbf1708ba47c, 0x47e7b6abbb7aaf19 + .quad 0x47d69d91d8a595da, 0x47e7791b886e7403 + .quad 0x47d64028b7013867, 0x47e73b714a552763 + .quad 0x47d5e3b66b9405a9, 0x47e6fdb11b1e0c34 + .quad 0x47d5883b45fd2b63, 0x47e6bfdf0beddaf5 + .quad 0x47d52db785a98aca, 0x47e681ff24b4ab04 + .quad 0x47d4d42b59f95afa, 0x47e6441563c665d4 + .quad 0x47d47b96e267647a, 0x47e60625bd75d07b + .quad 0x47d423fa2eb1cb59, 0x47e5c8341bb23767 + .quad 0x47d3cd553f045d45, 0x47e58a445da7c74c + .quad 0x47d377a8042458d1, 0x47e54c5a57629db0 + .quad 0x47d322f25f9da2fd, 0x47e50e79d1749ac9 + .quad 0x47d2cf3423f15fdf, 0x47e4d0a6889dfd9f + .quad 0x47d27c6d14c5e341, 0x47e492e42d78d2c5 + .quad 0x47d22a9ce717edcb, 0x47e4553664273d24 + .quad 0x47d1d9c3416d2b4b, 0x47e417a0c4049fd0 + .quad 0x47d189dfbc07e690, 0x47e3da26d759aef5 + .quad 0x47d13af1e11be721, 0x47e39ccc1b136d5a + .quad 0x47d0ecf92d046d22, 0x47e35f93fe7d1b3d + .quad 0x47d09ff50e7b3f93, 0x47e32281e2fd1a92 + .quad 0x47d053e4e6d0c10b, 0x47e2e5991bd4cbfc + .quad 0x47d008c80a24ff10, 0x47e2a8dcede3673b + .quad 0x47cf7d3b7f436013, 0x47e26c508f6bd0ff + .quad 0x47ceeaca836a27cc, 0x47e22ff727dd6f7b + .quad 0x47ce5a3b7c9b56da, 0x47e1f3d3cf9ffe5a + .quad 0x47cdcb8cae2d747f, 0x47e1b7e98fe26217 + .quad 0x47cd3ebc436b0f26, 0x47e17c3b626c7a12 + .quad 0x47ccb3c8500ea349, 0x47e140cc3173f007 + .quad 0x47cc2aaed0bfcfee, 0x47e1059ed7740313 + .quad 0x47cba36dab91c0e9, 0x47e0cab61f084b93 + .quad 0x47cb1e02b082b720, 0x47e09014c2ca74da + .quad 0x47ca9a6b99fc973b, 0x47e055bd6d32e8d7 + .quad 0x47ca18a60d56673e, 0x47e01bb2b87c6968 + .quad 0x47c998af9b56a3ae, 0x47dfc3ee5d1524b0 + .quad 0x47c91a85c0b65519, 0x47df511a91a67d2a + .quad 0x47c89e25e6a4cef9, 0x47dedeeee0959518 + .quad 0x47c8238d634c0127, 0x47de6d6ffaa65a25 + .quad 0x47c7aab97a554544, 0x47ddfca26f5bbf88 + .quad 0x47c733a75d6e91b8, 0x47dd8c8aace11e63 + .quad 0x47c6be542ccffc2f, 0x47dd1d2cfff91594 + .quad 0x47c64abcf7c175b4, 0x47dcae8d93f1d7b7 + .quad 0x47c5d8debd20aace, 0x47dc40b0729ed548 + .quad 0x47c568b66be6f268, 0x47dbd3998457afdb + .quad 0x47c4fa40e3af3674, 0x47db674c8ffc6283 + .quad 0x47c48d7af53bc19f, 0x47dafbcd3afe8ab6 + .quad 0x47c4226162fbddd5, 0x47da911f096fbc26 + .quad 0x47c3b8f0e1912f70, 0x47da27455e14c93c + .quad 0x47c351261854b991, 0x47d9be437a7de946 + .quad 0x47c2eafda1db784a, 0x47d9561c7f23a47b + .quad 0x47c286740c7a7dab, 0x47d8eed36b886d93 + .quad 0x47c22385daca7f47, 0x47d8886b1e5ecfd1 + .quad 0x47c1c22f842ac1f2, 0x47d822e655b417e7 + .quad 0x47c1626d75435220, 0x47d7be47af1f5d89 + .quad 0x47c1043c1086777d, 0x47d75a91a7f4d2ed + .quad 0x47c0a797aeb152f2, 0x47d6f7c69d7d3ef8 + .quad 0x47c04c7c9f4b9690, 0x47d695e8cd31867e + .quad 0x47bfe5ce524c8ee5, 0x47d634fa54fa285f + .quad 0x47bf35a715b2f3e1, 0x47d5d4fd33729015 + .quad 0x47be887bf681f218, 0x47d575f3483021c3 + .quad 0x47bdde4553ef94de, 0x47d517de540ce2a3 + .quad 0x47bd36fb7fa50177, 0x47d4babff975a04c + .quad 0x47bc9296beb09cf1, 0x47d45e99bcbb7915 + .quad 0x47bbf10f4a759889, 0x47d4036d0468a7a2 + .quad 0x47bb525d5198cb1c, 0x47d3a93b1998736c + .quad 0x47bab678f8eabedb, 0x47d35005285227f1 + .quad 0x47ba1d5a5c4edb96, 0x47d2f7cc3fe6f423 + .quad 0x47b986f98f9f96c8, 0x47d2a09153529381 + .quad 0x47b8f34e9f8f93a6, 0x47d24a55399ea239 + .quad 0x47b8625192879e39, 0x47d1f518ae487dc8 + .quad 0x47b7d3fa69816db5, 0x47d1a0dc51a9934d + .quad 0x47b7484120df1b01, 0x47d14da0a961fd14 + .quad 0x47b6bf1db13f3983, 0x47d0fb6620c550af + .quad 0x47b63888104d811a, 0x47d0aa2d09497f2b + .quad 0x47b5b478318ff939, 0x47d059f59af7a906 + .quad 0x47b532e6073095f2, 0x47d00abff4dec7a3 + .quad 0x47b4b3c982c338c7, 0x47cf79183b101c5b + .quad 0x47b4371a960807f8, 0x47cedeb406d9c825 + .quad 0x47b3bcd133aa0ffc, 0x47ce4652fadcb6b2 + .quad 0x47b344e54ffa23b9, 0x47cdaff4969c0b04 + .quad 0x47b2cf4ee1a5f0fc, 0x47cd1b982c501370 + .quad 0x47b25c05e26b3f99, 0x47cc893ce1dcbef7 + .quad 0x47b1eb024fc75285, 0x47cbf8e1b1ca2279 + .quad 0x47b17c3c2ba26319, 0x47cb6a856c3ed54f + .quad 0x47b10fab7cf72f94, 0x47cade26b7fbed95 + .quad 0x47b0a548507696c0, 0x47ca53c4135a6526 + .quad 0x47b03d0ab9273b94, 0x47c9cb5bd549b111 + .quad 0x47afadd5a20258d3, 0x47c944ec2e4f5630 + .quad 0x47aee5c1730b147c, 0x47c8c07329874652 + .quad 0x47ae21c938a45a83, 0x47c83deeada4d25a + .quad 0x47ad61dd57628999, 0x47c7bd5c7df3fe9c + .quad 0x47aca5ee4649e31f, 0x47c73eba3b5b07b7 + .quad 0x47abedec8fddb340, 0x47c6c205655be720 + .quad 0x47ab39c8d3276d8a, 0x47c6473b5b15a7a1 + .quad 0x47aa8973c4b5c03e, 0x47c5ce595c455b0a + .quad 0x47a9dcde2f93a207, 0x47c5575c8a468362 + .quad 0x47a933f8f6375f2c, 0x47c4e241e912c305 + .quad 0x47a88eb51369acb9, 0x47c46f066040a832 + .quad 0x47a7ed039b24c96b, 0x47c3fda6bc016994 + .quad 0x47a74ed5bb6bb581, 0x47c38e1fae1d6a9d + .quad 0x47a6b41cbd198bc8, 0x47c3206dceef5f87 + .quad 0x47a61cca04a90795, 0x47c2b48d9e5dea1c + .quad 0x47a588cf12f4446b, 0x47c24a7b84d38971 + .quad 0x47a4f81d85ecc55b, 0x47c1e233d434b813 + .quad 0x47a46aa7194bd324, 0x47c17bb2c8d41535 + .quad 0x47a3e05da73b4159, 0x47c116f48a6476cc + .quad 0x47a3593328f6abbe, 0x47c0b3f52ce8c383 + .quad 0x47a2d519b7653e1e, 0x47c052b0b1a174ea + .quad 0x47a254038bac19d6, 0x47bfe6460fef4680 + .quad 0x47a1d5e2ffb96d40, 0x47bf2a901ccafb37 + .quad 0x47a15aaa8ec85205, 0x47be723726b824a9 + .quad 0x47a0e24cd5dd8846, 0x47bdbd32ac4c99b0 + .quad 0x47a06cbc943d255a, 0x47bd0b7a0f921e7c + .quad 0x479ff3d957b29b39, 0x47bc5d0497c09e74 + .quad 0x479f13a043742333, 0x47bbb1c972f23e50 + .quad 0x479e38b43cbd0f0f, 0x47bb09bfb7d11a84 + .quad 0x479d62fbdc2e756b, 0x47ba64de673e8837 + .quad 0x479c925e02b41668, 0x47b9c31c6df3b1b8 + .quad 0x479bc6c1da1f3121, 0x47b92470a61b6965 + .quad 0x479b000ed5b4a626, 0x47b888d1d8e510a3 + .quad 0x479a3e2cb2ae9edb, 0x47b7f036c0107294 + .quad 0x4799810378b1f299, 0x47b75a96077274ba + .quad 0x4798c87b7a37834f, 0x47b6c7e64e7281cb + .quad 0x4798147d54e9cc33, 0x47b6381e2980956b + .quad 0x479764f1f1f6ddea, 0x47b5ab342383d178 + .quad 0x4796b9c28657041a, 0x47b5211ebf41880b + .quad 0x479612d893085125, 0x47b499d478bca735 + .quad 0x4795701de53f4d2e, 0x47b4154bc68d75c3 + .quad 0x4794d17c968d062b, 0x47b3937b1b31925a + .quad 0x479436df0cfabf1d, 0x47b31458e6542847 + .quad 0x4793a02ffb1b7cee, 0x47b297db960e4f63 + .quad 0x47930d5a6013afc5, 0x47b21df9981f8e53 + .quad 0x47927e49879737d3, 0x47b1a6a95b1e786f + .quad 0x4791f2e909de04d2, 0x47b131e14fa1625d + .quad 0x47916b24cb8f8f92, 0x47b0bf97e95f2a64 + .quad 0x4790e6e8fda56cf7, 0x47b04fc3a0481321 + .quad 0x479066221d4539d8, 0x47afc4b5e32d6259 + .quad 0x478fd179e7243e3c, 0x47aeeea8c1b1db94 + .quad 0x478edd4d2aec5adb, 0x47ae1d4cf1e2450a + .quad 0x478def98c6c79efa, 0x47ad508f9a1ea64f + .quad 0x478d0838121f2418, 0x47ac885df3451a07 + .quad 0x478c2706fa45005e, 0x47abc4a54a84e834 + .quad 0x478b4be201caa4b4, 0x47ab055303221015 + .quad 0x478a76a63fc95c79, 0x47aa4a549829587e + .quad 0x4789a7315f1d6a55, 0x47a993979e14fffe + .quad 0x4788dd619d943ca1, 0x47a8e109c4622913 + .quad 0x47881915cb0e3323, 0x47a83298d717210e + .quad 0x47875a2d48946eb1, 0x47a78832c03aa2b1 + .quad 0x4786a08807632262, 0x47a6e1c5893c380b + .quad 0x4785ec0687e8dcb2, 0x47a63f3f5c4de13b + .quad 0x47853c89d8bb3ddb, 0x47a5a08e85af27e0 + .quad 0x478491f395818f54, 0x47a505a174e9c929 + .quad 0x4783ec25e5d5af12, 0x47a46e66be002240 + .quad 0x47834b037c1bbfc5, 0x47a3dacd1a8d8cce + .quad 0x4782ae6f94510dd8, 0x47a34ac36ad8dafe + .quad 0x4782164df2d29765, 0x47a2be38b6d92415 + .quad 0x47818282e31ba3e8, 0x47a2351c2f2d1449 + .quad 0x4780f2f3367cd6aa, 0x47a1af5d2e04f3f6 + .quad 0x4780678442cc256f, 0x47a12ceb37ff9bc3 + .quad 0x477fc037c21c3622, 0x47a0adb5fcfa8c75 + .quad 0x477eb940d8319831, 0x47a031ad58d56279 + .quad 0x477db9f17e61c310, 0x479f7182a851bca2 + .quad 0x477cc218694238a2, 0x479e85c449e377f3 + .quad 0x477bd18548996419, 0x479da0005e5f28df + .quad 0x477ae808c479c371, 0x479cc0180af00a8b + .quad 0x477a05747a543aa7, 0x479be5ecd2fcb5f9 + .quad 0x4779299afa0246a6, 0x479b1160991ff737 + .quad 0x4778544fc2c8c1da, 0x479a4255a00b9f03 + .quad 0x477785674053e8b9, 0x479978ae8b55ce1b + .quad 0x4776bcb6c7ad4854, 0x4798b44e6031383e + .quad 0x4775fa14942c3d54, 0x4797f5188610ddc8 + .quad 0x47753d57c461a5a7, 0x47973af0c737bb45 + .quad 0x4774865856ff632a, 0x479685bb5134ef13 + .quad 0x4773d4ef27bc49a6, 0x4795d55cb54cd53a + .quad 0x477328f5ec350e67, 0x479529b9e8cf9a1e + .quad 0x4772824730cacbb4, 0x479482b8455dc491 + .quad 0x4771e0be557fa673, 0x4793e03d891b37de + .quad 0x477144378ad22027, 0x4793422fd6d12e2b + .quad 0x4770ac8fce979b96, 0x4792a875b5ffab56 + .quad 0x477019a4e8d69649, 0x479212f612dee7fb + .quad 0x476f16aad1422a55, 0x479181983e5133dd + .quad 0x476e030141df7d25, 0x4790f443edc5ce49 + .quad 0x476cf80d4afc3019, 0x47906ae13b0d3255 + .quad 0x476bf5908f50b4a0, 0x478fcab1483ea7fc + .quad 0x476afb4e269693df, 0x478ec72615a894c4 + .quad 0x476a090a974cfebe, 0x478dcaf3691fc448 + .quad 0x47691e8bd0830a74, 0x478cd5ec93c12432 + .quad 0x47683b9923a85f7b, 0x478be7e5ac24963b + .quad 0x47675ffb3e6519a0, 0x478b00b38d6b3575 + .quad 0x47668b7c2479902d, 0x478a202bd6372dce + .quad 0x4765bde729a6b60f, 0x47894624e78e0faf + .quad 0x4764f708eb9fba63, 0x47887275e3a6869e + .quad 0x476436af4c058acb, 0x4787a4f6aca256cb + .quad 0x47637ca96a6cd1d4, 0x4786dd7fe3358230 + .quad 0x4762c8c79e6f04a3, 0x47861beae53b72b7 + .quad 0x47621adb71c70c75, 0x47856011cc3b036d + .quad 0x476172b79a7a1181, 0x4784a9cf6bda3f4c + .quad 0x4760d02ff50ce651, 0x4783f8ff5042a88e + .quad 0x476033197ec68c0e, 0x47834d7dbc76d7e5 + .quad 0x475f3694a0008381, 0x4782a727a89a3f14 + .quad 0x475e11332d0714c5, 0x478205dac02bd6b9 + .quad 0x475cf5bf1fed1e70, 0x4781697560347b26 + .quad 0x475be3eb08ae7c20, 0x4780d1d69569b82d + .quad 0x475adb6b810af9e2, 0x47803ede1a45bfee + .quad 0x4759dbf721b98dfa, 0x477f60d8aa2a88f2 + .quad 0x4758e54677bb0151, 0x477e4cc4abf7d065 + .quad 0x4757f713f9cc9784, 0x477d4143a9dfe965 + .quad 0x4757111bfdfb3ce0, 0x477c3e1a5f5c077c + .quad 0x4756331caf57b5db, 0x477b430ecf4a83a8 + .quad 0x47555cd603cc4150, 0x477a4fe83fb9db25 + .quad 0x47548e09b21414bf, 0x4779646f35a76624 + .quad 0x4753c67b27d50fe7, 0x4778806d70b2fc36 + .quad 0x475305ef7fdbfb95, 0x4777a3ade6c8b3e5 + .quad 0x47524c2d787b9e37, 0x4776cdfcbfc1e263 + .quad 0x475198fd6a0ee7bd, 0x4775ff2750fe7820 + .quad 0x4750ec293d9e6d85, 0x477536fc18f7ce5c + .quad 0x4750457c63a96690, 0x4774754abacdf1dc + .quad 0x474f49879624a021, 0x4773b9e3f9d06e3f + .quad 0x474e139bb05eb49e, 0x47730499b503957f + .quad 0x474ce8d4b7fd6c70, 0x4772553ee2a336bf + .quad 0x474bc8d516fda8ba, 0x4771aba78ba3af89 + .quad 0x474ab341ee553e25, 0x477107a8c7323a6e + .quad 0x4749a7c305336484, 0x47706918b6355624 + .quad 0x4748a602b88919c0, 0x476f9f9cfd9c3035 + .quad 0x4747adadead962ed, 0x476e77448fb66bb9 + .quad 0x4746be73f45149fb, 0x476d58da68fd1170 + .quad 0x4745d80693276a6d, 0x476c4412bf4b8f0b + .quad 0x4744fa19dc42d409, 0x476b38a3af2e55b4 + .quad 0x474424642c28ff75, 0x476a3645330550ff + .quad 0x4743569e18328604, 0x47693cb11a30d765 + .quad 0x47429082600643fd, 0x47684ba3004a50d0 + .quad 0x4741d1cddf5a82de, 0x476762d84469c18f + .quad 0x47411a3f7ffbbfea, 0x4766821000795a03 + .quad 0x474069982c189a9e, 0x4765a90b00981d93 + .quad 0x473f7f3581a4dc2c, 0x4764d78bba8ca5fd + .quad 0x473e381802242163, 0x47640d564548fad7 + .quad 0x473cfd6511405b2d, 0x47634a305080681f + .quad 0x473bcead7f01492f, 0x47628de11c5031eb + .quad 0x473aab859b20ac9e, 0x4761d83170fbf6fb + .quad 0x473993851cc9779a, 0x476128eb96be8798 + .quad 0x473886470ad946a7, 0x47607fdb4dafea5f + .quad 0x47378369a4a2cbd6, 0x475fb99b8b8279e1 + .quad 0x47368a8e4b2fc8c2, 0x475e7f232d9e2630 + .quad 0x47359b596b012aaa, 0x475d4fed7195d7e8 + .quad 0x4734b572664bd2dc, 0x475c2b9cf7f893bf + .quad 0x4733d8837fb08d1d, 0x475b11d702b3deb2 + .quad 0x47330439c56dadf6, 0x475a024365f771bd + .quad 0x47323844fd08cb93, 0x4758fc8c794b03b5 + .quad 0x473174578f6efd5d, 0x4758005f08d6f1ef + .quad 0x4730b826758a086b, 0x47570d6a46e07dda + .quad 0x473003692548d98b, 0x4756235fbd7a4345 + .quad 0x472eabb2fe335196, 0x475541f340697987 + .quad 0x472d5e6777a83c2a, 0x475468dadf4080ab + .quad 0x472c1e6cb6239574, 0x475397ced7af2b15 + .quad 0x472aeb4423e690e7, 0x4752ce898809244e + .quad 0x4729c47374a0974e, 0x47520cc76202c5fb + .quad 0x4728a98484a1e8d3, 0x47515246dda49d47 + .quad 0x47279a0538dd4fc7, 0x47509ec86c75d497 + .quad 0x472695875fb574a0, 0x474fe41cd9bb4eee + .quad 0x47259ba0929261c5, 0x474e97ba3b77f306 + .quad 0x4724abea183bc470, 0x474d57f524723822 + .quad 0x4723c600c7f477c5, 0x474c245d4b99847a + .quad 0x4722e984ed53e777, 0x474afc85e0f82e12 + .quad 0x4722161a2cd9d894, 0x4749e005769dbc1d + .quad 0x47214b67693928cf, 0x4748ce75e9f6f8a0 + .quad 0x47208916a9561720, 0x4747c7744d9378f7 + .quad 0x471f9da9fde95755, 0x4746caa0d3582fe9 + .quad 0x471e38a4dc27b11b, 0x4745d79eb71e893b + .quad 0x471ce283a9e3e330, 0x4744ee1429bf7cc0 + .quad 0x471b9ab1a96e3b3e, 0x47440daa3c89f5b6 + .quad 0x471a609f7584d32b, 0x4743360ccd23db3a + .quad 0x471933c2d52c56c9, 0x474266ea71d4f71a + .quad 0x4718139690c0d187, 0x47419ff4663ae9df + .quad 0x4716ff9a4837fa43, 0x4740e0de78654d1e + .quad 0x4715f7524a8e81a2, 0x4740295ef6591848 + .quad 0x4714fa476e59f668, 0x473ef25d37f49fe1 + .quad 0x47140806eb78e353, 0x473da01102b5f851 + .quad 0x4713202235dada50, 0x473c5b5412dcafad + .quad 0x4712422ed95a3235, 0x473b23a5a23e4210 + .quad 0x47116dc656a14df6, 0x4739f8893d8fd1c1 + .quad 0x4710a2860115569c, 0x4738d986a4187285 + .quad 0x470fc01dbb80c841, 0x4737c629a822bc9e + .quad 0x470e4c0b066a4970, 0x4736be02102b3520 + .quad 0x470ce823f4cc4bad, 0x4735c0a378c90bca + .quad 0x470b93bf40d5eccb, 0x4734cda5374ea275 + .quad 0x470a4e3a125adc76, 0x4733e4a23d1f4703 + .quad 0x470916f7c5f2f764, 0x47330538fbb77ecd + .quad 0x4707ed61b5d3db0a, 0x47322f0b496539be + .quad 0x4706d0e7045988cb, 0x473161be46ad3b50 + .quad 0x4705c0fc68335b0c, 0x47309cfa445b00ff + .quad 0x4704bd1bfa2aba3d, 0x472fc0d55470cf51 + .quad 0x4703c4c504792bf8, 0x472e577bbcd49935 + .quad 0x4702d77bd3a382bc, 0x472cfd4a5adec5c0 + .quad 0x4701f4c988d02149, 0x472bb1a9657ce465 + .quad 0x47011c3bed8e716a, 0x472a740684026555 + .quad 0x47004d654905dad0, 0x472943d4a1d1ed39 + .quad 0x46ff0fb86d056745, 0x4728208bc334a6a5 + .quad 0x46fd9676faafa27f, 0x472709a8db59f25c + .quad 0x46fc2e43d417197b, 0x4725feada379d8b7 + .quad 0x46fad664518e771b, 0x4724ff207314a102 + .quad 0x46f98e25420092da, 0x47240a8c1949f75e + .quad 0x46f854daa4a49b0f, 0x4723207fb7420eb9 + .quad 0x46f729df6503422a, 0x4722408e9ba3327f + .quad 0x46f60c95193c542d, 0x47216a501f0e42ca + .quad 0x46f4fc63c27c71ae, 0x47209d5f819c9e29 + .quad 0x46f3f8b98f93052a, 0x471fb2b792b40a22 + .quad 0x46f3010aa198de78, 0x471e3bcf436a1a95 + .quad 0x46f214d0d2983650, 0x471cd55277c18d05 + .quad 0x46f1338b7e273194, 0x471b7e94604479dc + .quad 0x46f05cbf4be650ab, 0x471a36eec00926dd + .quad 0x46ef1febf7a916aa, 0x4718fdc1b2dcf7b9 + .quad 0x46ed997c68d65936, 0x4717d2737527c3f9 + .quad 0x46ec2556a4e7a90f, 0x4716b4702d7d5849 + .quad 0x46eac2aa7516ade4, 0x4715a329b7d30748 + .quad 0x46e970b05888fda2, 0x47149e17724f4d41 + .quad 0x46e82ea92dbc1a27, 0x4713a4b60ba9aa4e + .quad 0x46e6fbdddeff308f, 0x4712b6875310f785 + .quad 0x46e5d79f11e27f6b, 0x4711d312098e9dba + .quad 0x46e4c144d984e1b8, 0x4710f9e1b4dd36df + .quad 0x46e3b82e6ba892a4, 0x47102a8673a94692 + .quad 0x46e2bbc1d878d272, 0x470ec929a665b449 + .quad 0x46e1cb6bc4eaa678, 0x470d4f4b4c8e09ed + .quad 0x46e0e69f27a37df3, 0x470be6abbb10a5aa + .quad 0x46e00cd508511266, 0x470a8e8cc1fadef6 + .quad 0x46de7b1882bccac5, 0x47094637d5bacfdb + .quad 0x46dcf09287e48bb9, 0x47080cfdc72220cf + .quad 0x46db792bbc489b04, 0x4706e2367dc27f95 + .quad 0x46da140206ab9450, 0x4705c540b4936fd2 + .quad 0x46d8c03d2d39119b, 0x4704b581b8d170fc + .quad 0x46d77d0e6e5bed21, 0x4703b2652b06c2b2 + .quad 0x46d649b01d73110a, 0x4702bb5cc22e5db6 + .quad 0x46d525654343aad2, 0x4701cfe010e2052d + .quad 0x46d40f79420887c7, 0x4700ef6c4c84a0fe + .quad 0x46d3073f7cff4a85, 0x47001984165a5f36 + .quad 0x46d20c1303550f0e, 0x46fe9b5e8d00ce77 + .quad 0x46d11d563e54f40e, 0x46fd16f5716c6c1a + .quad 0x46d03a72a2bbdc06, 0x46fba4f035d60e03 + .quad 0x46cec5b0ca2b20f5, 0x46fa447b7b03f045 + .quad 0x46cd2bfc6210880a, 0x46f8f4ccca7fc90d + .quad 0x46cba6c1c6e87c40, 0x46f7b5223dac7336 + .quad 0x46ca35068e9c89cf, 0x46f684c227fcacef + .quad 0x46c8d5dbaa383b98, 0x46f562fac4329b48 + .quad 0x46c7885ce9f67cdb, 0x46f44f21e49054f2 + .quad 0x46c64bb0863504dd, 0x46f34894a5e24657 + .quad 0x46c51f06ad20e4c3, 0x46f24eb7254ccf83 + .quad 0x46c4019914f0b53a, 0x46f160f438c70913 + .quad 0x46c2f2aa92823e80, 0x46f07ebd2a2d2844 + .quad 0x46c1f186b432c98b, 0x46ef4f12e9ab070a + .quad 0x46c0fd8160ca94a0, 0x46edb5ad0b27805c + .quad 0x46c015f67a552924, 0x46ec304efa2c6f4e + .quad 0x46be749309831666, 0x46eabe09e9144b5e + .quad 0x46bcd3caa04cdd1b, 0x46e95df988e76644 + .quad 0x46bb48774d0f8e45, 0x46e80f439b4ee04b + .quad 0x46b9d189f9f85cbf, 0x46e6d11788a69c64 + .quad 0x46b86e0050236315, 0x46e5a2adfa0b4bc4 + .quad 0x46b71ce426a561d3, 0x46e4834877429b8f + .quad 0x46b5dd4af79906a9, 0x46e37231085c7d9a + .quad 0x46b4ae555af52cdf, 0x46e26eb9daed6f7e + .quad 0x46b38f2e86f38216, 0x46e1783ceac28910 + .quad 0x46b27f0bd5d0e6b1, 0x46e08e1badf0fced + .quad 0x46b17d2c50b2bfaf, 0x46df5f7d88472604 + .quad 0x46b088d83f7e4069, 0x46ddb92b5212fb8d + .quad 0x46af42c17ae0ebf6, 0x46dc282cd3957eda + .quad 0x46ad8c3ea48f2889, 0x46daab7abace48dc + .quad 0x46abeceb1f9f5b3d, 0x46d94219bfcb4928 + .quad 0x46aa6399674d366b, 0x46d7eb1a2075864e + .quad 0x46a8ef2a9a18d857, 0x46d6a597219a93da + .quad 0x46a78e8dcd2e6bfd, 0x46d570b69502f313 + .quad 0x46a640bf6745325e, 0x46d44ba864670882 + .quad 0x46a504c882a97424, 0x46d335a62115bce2 + .quad 0x46a3d9be56279ee9, 0x46d22df298214423 + .quad 0x46a2bec1a4917edb, 0x46d133d96ae7e0dd + .quad 0x46a1b2fe32991d5c, 0x46d046aeabcfcdec + .quad 0x46a0b5aa42bf5054, 0x46cecb9cfe1d8642 + .quad 0x469f8c0c2e2ce8de, 0x46cd21397ead99cb + .quad 0x469dc6b6f1384e18, 0x46cb8d094c86d374 + .quad 0x469c19fa87de37fb, 0x46ca0df0f0c626dc + .quad 0x469a848df650bea7, 0x46c8a2e269750a39 + .quad 0x46990538b942ea7c, 0x46c74adc8f4064d3 + .quad 0x46979ad1fce5b3d8, 0x46c604ea819f007c + .quad 0x4696443fdcf0c327, 0x46c4d0231928c6f9 + .quad 0x46950076ad55cc39, 0x46c3aba85fe22e20 + .quad 0x4693ce784b411931, 0x46c296a70f414053 + .quad 0x4692ad53760d7287, 0x46c1905613b3abf2 + .quad 0x46919c232fd50b88, 0x46c097f6156f32c5 + .quad 0x46909a0e254c75e0, 0x46bf59a20caf6695 + .quad 0x468f4c8c392fb944, 0x46bd9c73698fb1dc + .quad 0x468d800ed59bd026, 0x46bbf716c6168bae + .quad 0x468bcd30dfbd611b, 0x46ba6852c6b58392 + .quad 0x468a32923130213f, 0x46b8eefd70594a89 + .quad 0x4688aee4cd06ec1b, 0x46b789fb715aae95 + .quad 0x468740ebfab80eb4, 0x46b6383f726a8e04 + .quad 0x4685e77b6bbd2127, 0x46b4f8c96f26a26a + .quad 0x4684a1766b6e5e8a, 0x46b3caa61607f920 + .quad 0x46836dcf18a6465c, 0x46b2acee2f5ecdb8 + .quad 0x46824b85a8bf0124, 0x46b19ec60b1242ed + .quad 0x468139a7b37f8475, 0x46b09f5cf4dd2877 + .quad 0x4680374f8792ca97, 0x46af5bd95d8730d8 + .quad 0x467e87470e4f4246, 0x46ad9371e2ff7c35 + .quad 0x467cbbab18b73217, 0x46abe41de54d155a + .quad 0x467b0a44aa2f067e, 0x46aa4c89e08ef4f3 + .quad 0x467971a1ec0f40c7, 0x46a8cb738399b12c + .quad 0x4677f064a8ba8323, 0x46a75fa8dbc84bec + .quad 0x467685414c16188e, 0x46a608078a70dcbc + .quad 0x46752efdf060cd20, 0x46a4c37c0394d094 + .quad 0x4673ec7176d784b5, 0x46a39100d5687bfe + .quad 0x4672bc82ab9d2302, 0x46a26f9df8519bd7 + .quad 0x46719e2774614040, 0x46a15e6827001f18 + .quad 0x467090640946d2d5, 0x46a05c803e4831c1 + .quad 0x466f24946f22d5ae, 0x469ed22548cffd35 + .quad 0x466d45f15b49b35e, 0x469d06ad6ecdf971 + .quad 0x466b83349fd05191, 0x469b551c847fbc96 + .quad 0x4669dacb2c432ef4, 0x4699bc09f112b494 + .quad 0x46684b37e1cbf8eb, 0x46983a1ff0aa239d + .quad 0x4666d3126d74b6cc, 0x4696ce1aa3fd7bdd + .quad 0x4665710631158bff, 0x469576c72b514859 + .quad 0x466423d13a3b73e1, 0x46943302cc4a0da8 + .quad 0x4662ea43465e3995, 0x469301ba221dc9bb + .quad 0x4661c33cd3c37add, 0x4691e1e857adc568 + .quad 0x4660adae3e73c2b5, 0x4690d2966b1746f7 + .quad 0x465f512dd15b73b7, 0x468fa5b4f49cc6b2 + .quad 0x465d6608dc942687, 0x468dc3ae30b55c16 + .quad 0x465b9823c51276e1, 0x468bfd7555a3bd68 + .quad 0x4659e5ce2f93dd76, 0x468a517d9e61628a + .quad 0x46584d6fe15b6b93, 0x4688be4f8f6c951f + .quad 0x4656cd87746bc76b, 0x46874287ded49339 + .quad 0x465564a91cd221f0, 0x4685dcd669f2cd34 + .quad 0x4654117d7e2c667d, 0x46848bfd38302871 + .quad 0x4652d2c0909ebeb9, 0x46834ecf8a3c124a + .quad 0x4651a7409475f2f9, 0x46822430f521cbcf + .quad 0x46508ddd13bd35e7, 0x46810b1488aeb235 + .quad 0x464f0b0be22d18e8, 0x4680027c00a263a6 + .quad 0x464d1a75065a8c74, 0x467e12ee004efc37 + .quad 0x464b48117843c1c7, 0x467c3e44ae32b16b + .quad 0x46499218b8ac7f8e, 0x467a854ea14102a8 + .quad 0x4647f6dc6010b4ad, 0x4678e6761569f45d + .quad 0x464674c6ae60d852, 0x4677603bac345f65 + .quad 0x46450a592e3c968e, 0x4675f1353cdad001 + .quad 0x4643b62b6aafb0c8, 0x4674980cb3c80949 + .quad 0x464276e9b681072f, 0x4673537f00b6ad4d + .quad 0x46414b54042f445b, 0x4672225b12bffc68 + .quad 0x4640323ccdc1a3dc, 0x46710380e1adb7e9 + .quad 0x463e5510173b9a50, 0x466febc107d5efaa + .quad 0x463c6654733b86ad, 0x466df0f2a0ee6947 + .quad 0x463a964ed354f984, 0x466c14b2188bcee4 + .quad 0x4638e324c651b064, 0x466a553644f7f07d + .quad 0x46374b179d1eba81, 0x4668b0cfce0579e0 + .quad 0x4635cc82d9070d95, 0x466725e7c5dd20f7 + .quad 0x463465daafca8b1d, 0x4665b2fe547a1340 + .quad 0x463315aaa46df48e, 0x466456a974e92e93 + .quad 0x4631da9433aebbcf, 0x46630f93c3699078 + .quad 0x4630b34d93135fc0, 0x4661dc7b5b978cf8 + .quad 0x462f3d41033c44cc, 0x4660bc30c5d52f15 + .quad 0x462d36d25268cd2b, 0x465f5b2be65a0c7f + .quad 0x462b512a1fb1d8fc, 0x465d5f3a8dea7357 + .quad 0x46298a442fc4fc15, 0x465b82915b03515b + .quad 0x4627e03b1cc6d738, 0x4659c3517e789488 + .quad 0x462651468e010b8a, 0x46581fb7df06136e + .quad 0x4624dbb989001d84, 0x4656961b8d641d06 + .quad 0x46237e00dac4e8b5, 0x465524ec4d916cae + .quad 0x462236a197bf0b9a, 0x4653cab1343d18d1 + .quad 0x46210437b1569d7e, 0x4652860757487a01 + .quad 0x461fcae93fb7323c, 0x465155a09065d4f7 + .quad 0x461db23c3f816f92, 0x4650384250e4c9fc + .quad 0x461bbc1a022c14d4, 0x464e59890b926c78 + .quad 0x4619e658108af2e0, 0x464c642116a8a9e3 + .quad 0x46182eedbe410407, 0x464a8e405e651ab6 + .quad 0x461693f22ab61ce9, 0x4648d5f98114f872 + .quad 0x4615139a5f3661fb, 0x4647397c5a66e307 + .quad 0x4613ac3788a1b429, 0x4645b71456c5a4c4 + .quad 0x46125c354b26cb4e, 0x46444d26de513197 + .quad 0x461122182e9a270f, 0x4642fa31d6371537 + .quad 0x460ff8f84418d510, 0x4641bcca373b7b43 + .quad 0x460dd4262aac53e8, 0x4640939ab853339f + .quad 0x460bd3474ec16ca5, 0x463efac5187b2863 + .quad 0x4609f40fd0082b72, 0x463cf1e86235d0e7 + .quad 0x4608345858c4438d, 0x463b0a68a2128bab + .quad 0x4606921be96b86b1, 0x4639423165bc4444 + .quad 0x46050b75c536f927, 0x4637974e743dea3d + .quad 0x46039e9f7dcbe479, 0x463607e9eacd1050 + .quad 0x460249ef1c3be817, 0x4634924a74dec729 + .quad 0x46010bd565b35393, 0x463334d19e0c2160 + .quad 0x45ffc5b8748842b2, 0x4631edfa3c5f5cca + .quad 0x45fd9b4a18a38642, 0x4630bc56f1b54701 + .quad 0x45fb95cede6d524b, 0x462f3d2185e047d9 + .quad 0x45f9b2df77a02225, 0x462d26cb87945e87 + .quad 0x45f7f03b935e8e3a, 0x462b334fac4b9f99 + .quad 0x45f64bc777824f0e, 0x46296076f7918d1c + .quad 0x45f4c389be9acb83, 0x4627ac2d72fc2c63 + .quad 0x45f355a9387de78c, 0x462614801550319e + .quad 0x45f2006aeb6bc768, 0x4624979ac8b28927 + .quad 0x45f0c23033e2a376, 0x462333c68e2d0548 + .quad 0x45ef32ea02b55d23, 0x4621e767bce37dd7 + .quad 0x45ed099c5c770f5a, 0x4620b0fc5b6d05a0 + .quad 0x45eb05cfe2e99435, 0x461f1e3523b41d7d + .quad 0x45e92508d0743fc9, 0x461d00de6608effe + .quad 0x45e764f46cf19f9c, 0x461b0778b7b3301b + .quad 0x45e5c36679625a01, 0x46192fb04ec0f6cf + .quad 0x45e43e56c3e340a7, 0x46177756ec9f78fa + .quad 0x45e2d3dee1869201, 0x4615dc61922d5a06 + .quad 0x45e182380bd2f494, 0x46145ce65699ff6d + .quad 0x45e047b91fcb6491, 0x4612f71a5f159970 + .quad 0x45de45a9790460c1, 0x4611a94ff571654f + .quad 0x45dc242efeaca760, 0x461071f4bbea09ec + .quad 0x45da284cb82c31ce, 0x460e9f1ff8ddd774 + .quad 0x45d84f7a1eb7f7f3, 0x460c818223a202c7 + .quad 0x45d697595326d7dc, 0x460a887bd2b4404d + .quad 0x45d4fdb462549af1, 0x4608b1a336c5eb6b + .quad 0x45d3807ab51436a8, 0x4606fab63324088a + .quad 0x45d21dbea9108398, 0x46056197e30205ba + .quad 0x45d0d3b35021d695, 0x4603e44e45301b92 + .quad 0x45cf4154a787cc1b, 0x460281000bfe4c3f + .quad 0x45cd0623f4f4a28f, 0x460135f28f2d50b4 + .quad 0x45caf2e69a262610, 0x46000187dded5975 + .quad 0x45c904e0b3aa82a3, 0x45fdc479de0ef001 + .quad 0x45c73985278fa30e, 0x45fbad4fdad3caa1 + .quad 0x45c58e7298af87d9, 0x45f9baed3ed27ab8 + .quad 0x45c401708b7e64c6, 0x45f7ead9ce4285bb + .quad 0x45c2906cb94eb40d, 0x45f63ac6b4edc88e + .quad 0x45c139788f2dd663, 0x45f4a88be2a6390c + .quad 0x45bff58dab4f2a79, 0x45f332259185f1a0 + .quad 0x45bda552fdd03043, 0x45f1d5b1f3793044 + .quad 0x45bb7f1f31b571b6, 0x45f0916f04b6e18b + .quad 0x45b98006c2117e39, 0x45eec77101de6926 + .quad 0x45b7a550f03b145b, 0x45ec960bf23153e0 + .quad 0x45b5ec74662c5961, 0x45ea8bd20fc65ef7 + .quad 0x45b453141082302a, 0x45e8a61745ec7d1d + .quad 0x45b2d6fc2c9e8bc0, 0x45e6e25d0e756261 + .quad 0x45b1761f87a6dc3d, 0x45e53e4f7d1666cb + .quad 0x45b02e94eb4ac8a5, 0x45e3b7c27a7ddb0e + .quad 0x45adfd296adef82a, 0x45e24caf2c32af14 + .quad 0x45abc8ed301215eb, 0x45e0fb3186804d0f + .quad 0x45a9bd5efd2c0f15, 0x45df830c0bb41fd7 + .quad 0x45a7d79f2db2d4a5, 0x45dd3c0f1a91c846 + .quad 0x45a61500f5293f06, 0x45db1e5acf351d87 + .quad 0x45a47306f04df3d6, 0x45d92712d259ce66 + .quad 0x45a2ef5ff0323b28, 0x45d7538c60a04476 + .quad 0x45a187e3fb74914d, 0x45d5a14b04b47879 + .quad 0x45a03a918225a966, 0x45d40dfd87456f4c + .quad 0x459e0b15822be4e0, 0x45d2977b1172b9d5 + .quad 0x459bce26a2fb7176, 0x45d13bc07e891491 + .quad 0x4599bb1bc445c3c6, 0x45cff1dbb4300811 + .quad 0x4597cef42e9a617d, 0x45cd9a880f306bd8 + .quad 0x459606e51e0a4963, 0x45cb6e45220b55e0 + .quad 0x459460560e841d79, 0x45c96a0b33f2c4da + .quad 0x4592d8dd47a40ad8, 0x45c78b07e9e924ac + .quad 0x45916e3ca3d4393f, 0x45c5ce9ab1670dd2 + .quad 0x45901e5e8edda47b, 0x45c4325167006bb0 + .quad 0x458dcea670907819, 0x45c2b3e53538ff3f + .quad 0x458b8e9bec48816d, 0x45c15137a7f44864 + .quad 0x45897945aa1c9c35, 0x45c0084ff125639d + .quad 0x45878b88a4e7107b, 0x45bdaeb0b7311ec7 + .quad 0x4585c2827c986b62, 0x45bb7937d1c40c53 + .quad 0x45841b858361b0fe, 0x45b96d082f59ab06 + .quad 0x458294150fb19119, 0x45b7872d9fa10aad + .quad 0x458129e20e732adc, 0x45b5c4e8e37bc7d0 + .quad 0x457fb58fa290d436, 0x45b423ac0df49a40 + .quad 0x457d499229819bc6, 0x45b2a117230ad284 + .quad 0x457b0c1a759f7739, 0x45b13af4f04f9998 + .quad 0x4578f9bb6c075486, 0x45afde703724e560 + .quad 0x45770f4744735c2b, 0x45ad77f0c82e7641 + .quad 0x457549cb0f7ef8e2, 0x45ab3ee02611d7dd + .quad 0x4573a68a8c1234e1, 0x45a92ff33023d5bd + .quad 0x457222fc469e8b8c, 0x45a7481a9e69f53f + .quad 0x4570bcc5fd30f1dd, 0x45a5847eda620959 + .quad 0x456ee3728761897b, 0x45a3e27c1fcc74bd + .quad 0x456c7fa0c7e3bac7, 0x45a25f9ee0b923dc + .quad 0x456a4a56eb132a54, 0x45a0f9a068653200 + .quad 0x4568401b5336a8a0, 0x459f5cc7718082b0 + .quad 0x45665db58e2358c1, 0x459cf7e53d6a2ca5 + .quad 0x4564a029a7ea7cd1, 0x459ac0f5f3229372 + .quad 0x456304b3d1961171, 0x4598b498644847ea + .quad 0x456188c45630dc53, 0x4596cfa9bcca59dc + .quad 0x456029fbd8b92835, 0x45950f411d4fd2cd + .quad 0x455dcc4fabf32f1c, 0x459370ab8327af5e + .quad 0x455b767ecb334a7e, 0x4591f167f88c6b6e + .quad 0x45594ec06c0ff29f, 0x45908f24085d4597 + .quad 0x455751977e5803d3, 0x458e8f70e181d61a + .quad 0x45557bc950253825, 0x458c324c20e337dc + .quad 0x4553ca58b816a87f, 0x458a03261574b54e + .quad 0x45523a8197d2607e, 0x4587fe903cdf5855 + .quad 0x4550c9b4b0a6a16f, 0x4586215c58da3450 + .quad 0x454eeb27891d2bb3, 0x45846897d4b69fc6 + .quad 0x454c77dbfc848866, 0x4582d1877d731b7b + .quad 0x454a357936adf17b, 0x458159a386b11517 + .quad 0x4548203fa7992554, 0x457ffd27ae9393ce + .quad 0x454634b7f56b0a5c, 0x457d7c593130dd0b + .quad 0x45446fada7e6a5fe, 0x457b2cd607c79bcf + .quad 0x4542ce2a3690576b, 0x45790ae4d3405651 + .quad 0x45414d707280e6cf, 0x45771312dd1759e2 + .quad 0x453fd5f08ad2b29a, 0x4575422ef5d8949d + .quad 0x453d48d57f7718b7, 0x45739544b0ecc957 + .quad 0x453aef3ce0add578, 0x45720997f73e73dd + .quad 0x4538c52800f939c8, 0x45709ca0eaacd277 + .quad 0x4536c6e61e57bf9b, 0x456e9810295890ec + .quad 0x4534f10e8ebc44a9, 0x456c2b45b5aa4a1d + .quad 0x4533407b59d72a5b, 0x4569eee068fa7596 + .quad 0x4531b2443858c0a1, 0x4567df2b399c10a8 + .quad 0x453043b9f1621ff3, 0x4565f8b87a31bd85 + .quad 0x452de4c41eb96b45, 0x4564385c96e9a2d9 + .quad 0x452b77e5cbd5d147, 0x45629b2933ef4cbc + .quad 0x45293c9fc62bfb11, 0x45611e68a6378f8a + .quad 0x45272f0c4c8e9bff, 0x455f7f338086a86b + .quad 0x45254b92affb11af, 0x455cf8d7d9ce040a + .quad 0x45238ee17b150182, 0x455aa577251ae485 + .quad 0x4521f5e908f70e0c, 0x4558811d739efb5f + .quad 0x45207dd6833bb380, 0x45568823e52970be + .quad 0x451e481e7f6ac4bc, 0x4554b72ae68e8b4c + .quad 0x451bcc58edad5559, 0x45530b14dbe876bc + .quad 0x451983ee9896d582, 0x455181012ef86610 + .quad 0x45176aca47764427, 0x45501647ba798745 + .quad 0x45157d287836bd3d, 0x454d90e917701675 + .quad 0x4513b79118c097a1, 0x454b2a87e86d0c8a + .quad 0x451216d1b97279a9, 0x4548f53dcb377293 + .quad 0x451097f82fc04025, 0x4546ed2f2515e933 + .quad 0x450e709b415656d0, 0x45450ecc9ed47f19 + .quad 0x450beaa3d6c15504, 0x454356cd5ce7799e + .quad 0x4509996ed9b83967, 0x4541c229a587ab78 + .quad 0x450778be2bd9795b, 0x45404e15ecc7f3f6 + .quad 0x450584a99af8a842, 0x453deffc7e6a6017 + .quad 0x4503b99832cbefdd, 0x453b7b040832f310 + .quad 0x4502143a112d0466, 0x453938e021f36d76 + .quad 0x45009182b326b229, 0x4537258610b3b233 + .quad 0x44fe5d47637f5db5, 0x45353d3bfc82a909 + .quad 0x44fbd20fcc3b76d7, 0x45337c92babdc2fd + .quad 0x44f97c9dda748fc7, 0x4531e06010120f6a + .quad 0x44f7589207e91ad1, 0x453065b9616170d4 + .quad 0x44f561e669aa7fdb, 0x452e13dd96b3753b + .quad 0x44f394e7a2ac9fc7, 0x452b950d32467392 + .quad 0x44f1ee2e61eccc99, 0x45294a72263259a5 + .quad 0x44f06a996198f06f, 0x45272fd93e036cdc + .quad 0x44ee0e8fbad2703e, 0x45254164576929ab + .quad 0x44eb8328ee330ae9, 0x45237b83c521fe96 + .quad 0x44e92e21013a7670, 0x4521daf033182e96 + .quad 0x44e70aff489136eb, 0x45205ca50205d26a + .quad 0x44e515a7c77fab48, 0x451dfbb6235639fa + .quad 0x44e34a53ce0bbb6f, 0x451b7807e294781f + .quad 0x44e1a58b2b09fdcb, 0x4519298add70a734 + .quad 0x44e0241de6c31e5b, 0x45170beaf9c7ffb6 + .quad 0x44dd863cf753825c, 0x45151b2cd6709222 + .quad 0x44daffb906d0ae09, 0x451353a6cf7f7fff + .quad 0x44d8afbf9e9520c2, 0x4511b1fa8cbe84a7 + .quad 0x44d691c7c768bece, 0x4510330f0fd69921 + .quad 0x44d4a1a79df39cde, 0x450da81670f96f9b + .quad 0x44d2db8ca9009091, 0x450b24a16b4d09aa + .quad 0x44d13bf4cb384e4a, 0x4508d6eeb6efdbd6 + .quad 0x44cf7f4f88751db4, 0x4506ba91ac734786 + .quad 0x44ccc7626bced452, 0x4504cb7966770ab5 + .quad 0x44ca4ab6470c1c5c, 0x450305e9721d0981 + .quad 0x44c80451c2811052, 0x4501667311fff70a + .quad 0x44c5efa4d64f59f6, 0x44ffd3de10d62855 + .quad 0x44c40880373ed740, 0x44fd1aefbcd48d0c + .quad 0x44c24b0d7368076e, 0x44fa9cc93c25aca9 + .quad 0x44c0b3c7b0d960f0, 0x44f85487ee3ea735 + .quad 0x44be7eea02e4ed88, 0x44f63daf8b4b1e0c + .quad 0x44bbd6408059b696, 0x44f45421e69a6ca1 + .quad 0x44b96826d9e90341, 0x44f294175802d99a + .quad 0x44b72fa4fa12d516, 0x44f0fa17bf41068f + .quad 0x44b5282d2d5803fe, 0x44ef05e82aae2bb9 + .quad 0x44b34d935f1be064, 0x44ec578101b29058 + .quad 0x44b19c050c56d0d7, 0x44e9e39dc5dd2f7c + .quad 0x44b01001dd9c7cce, 0x44e7a553a728bbf2 + .quad 0x44ad4ca9b634ecba, 0x44e5982008db1304 + .quad 0x44aab81c5c80cf39, 0x44e3b7e00422e51b + .quad 0x44a85cfacb7477f2, 0x44e200c898d9ee3e + .quad 0x44a6365862923eb9, 0x44e06f5f7eb65a56 + .quad 0x44a43fb317b5dc37, 0x44de00e9148a1d25 + .quad 0x44a274ea96044bd7, 0x44db623734024e92 + .quad 0x44a0d23817479c67, 0x44d8fd4e01891bf8 + .quad 0x449ea84dd1592590, 0x44d6cd44c7470d89 + .quad 0x449bef1b1a12823e, 0x44d4cd9c04158cd7 + .quad 0x4499730edfda64ac, 0x44d2fa34bf5c8344 + .quad 0x44972ede3b7eaa25, 0x44d14f4890ff2461 + .quad 0x44951db1ec3a3087, 0x44cf92c49dfa4df5 + .quad 0x44933b1c9d1576ec, 0x44cccaaea71ab0df + .quad 0x44918311f8a03aca, 0x44ca40829f001197 + .quad 0x448fe3bcf4629fea, 0x44c7eef13b59e96c + .quad 0x448d083fda665164, 0x44c5d11e1a252bf5 + .quad 0x448a6d7d18831888, 0x44c3e296303b2297 + .quad 0x44880dcd6603df1b, 0x44c21f47009f43ce + .quad 0x4485e4062d5b6a4e, 0x44c083768c5e4542 + .quad 0x4483eb6ef47c2758, 0x44be1777d831265f + .quad 0x44821fb7a81c5444, 0x44bb69f10b0191b5 + .quad 0x44807cefb734d68b, 0x44b8f8a3a05b5b53 + .quad 0x447dfefbdb19ac7e, 0x44b6be573c40c8e7 + .quad 0x447b4831fb123440, 0x44b4b645ba991fdb + .quad 0x4478cf81557d20b6, 0x44b2dc119095729f + .quad 0x44768f6f0feb4755, 0x44b12bbcfa4d62de + .quad 0x447482fa78c40635, 0x44af4343c7d504b9 + .quad 0x4472a59289a484fb, 0x44ac74d4fe1e0e8b + .quad 0x4470f30c4d0be5c0, 0x44a9e614ecbf4af6 + .quad 0x446ecf3428c48d4f, 0x44a791716475420c + .quad 0x446bff86d9ec8499, 0x44a571d34563050a + .quad 0x446970bb87f4ae14, 0x44a3829407a207d8 + .quad 0x44671d0b55b79b86, 0x44a1bf74244aed5a + .quad 0x4464ff315d036fbd, 0x44a024924c7520d1 + .quad 0x4463125f6a3d2570, 0x449d5cc6ba567f29 + .quad 0x44615233ae8815f2, 0x449ab3560167ccaa + .quad 0x445f755ea760487d, 0x449846e9dda7a163 + .quad 0x445c905bbd9ab5a6, 0x4496121d7db32bdd + .quad 0x4459eebaa0589b4e, 0x449410047ead6894 + .quad 0x44578a6de0f41b89, 0x44923c2090cdde78 + .quad 0x44555df1790f2f61, 0x44909257fca001c0 + .quad 0x4453643ec463a3cf, 0x448e1dd9ec677783 + .quad 0x445198c18435598d, 0x448b5ceb5a13221b + .quad 0x444fee9bab9f4e14, 0x4488dbaa11de2037 + .quad 0x444cf82e0eb6196b, 0x448694680a9a3ee6 + .quad 0x444a474e7029a919, 0x448481f73b3778e8 + .quad 0x4447d5af6513e2be, 0x44829f9e7d8fd094 + .quad 0x44459d93e1d8f57d, 0x4480e90f64b5b103 + .quad 0x444399c279e4699a, 0x447eb4b9e47b58c9 + .quad 0x4441c579bbca6885, 0x447bdfe62f60dd70 + .quad 0x44401c659160612d, 0x44794d1de5c4576f + .quad 0x443d352b1ae26940, 0x4476f66f6ab90c3c + .quad 0x443a78e8252c204d, 0x4474d67050b31c2a + .quad 0x4437fd7c80f3410e, 0x4472e8318008cf89 + .quad 0x4435bcf92cc55d86, 0x4471273463a1589b + .quad 0x4433b1f876b10da7, 0x446f1ec20afad0e2 + .quad 0x4431d791bb1324a1, 0x446c39fa0d4a5a2b + .quad 0x4430294e37abcee8, 0x44699946bf7e02a1 + .quad 0x442d463db5fa3c13, 0x44673679b24aeb9b + .quad 0x442a82a5f4047a5b, 0x44650bf2558ab78f + .quad 0x4428011fb05fe090, 0x446314916abfa1ea + .quad 0x4425bb91decf8a58, 0x44614bad9006f53b + .quad 0x4423ac71ce35c1d3, 0x445f5a1196b5bb2e + .quad 0x4421ceb656955c59, 0x445c698e001f6d30 + .quad 0x44201dcc2acf7755, 0x4459beca74b0f147 + .quad 0x441d2b166911c178, 0x445753637caac6d9 + .quad 0x441a6459c5b11342, 0x4455218993857afc + .quad 0x4417e086accc805d, 0x445323f3f19cff3e + .quad 0x44159962aef547b3, 0x445155d47fdb9c94 + .quad 0x4413894608650ede, 0x444f6599b70323ca + .quad 0x4411ab0e4d284f44, 0x444c6dc8a4bb3ba6 + .quad 0x440ff4248ebb8299, 0x4449bcfd83a431e9 + .quad 0x440ce42dd8e4fa23, 0x44474ca889bbacd5 + .quad 0x440a1e8aa1400997, 0x444516d33e26c040 + .quad 0x44079c430435a7fc, 0x44431612a7ef535f + .quad 0x440557046eb39249, 0x4441457ab75c2489 + .quad 0x440349127b59b217, 0x443f41259c9550c0 + .quad 0x44016d392dff5104, 0x443c46969ca99a2e + .quad 0x43ff7d80dc993f2f, 0x443993e82b76e726 + .quad 0x43fc72c149cb214b, 0x44372267ac1b25a0 + .quad 0x43f9b270c24cc8fa, 0x4434ec0062aeeb78 + .quad 0x43f73585df7b6643, 0x4432eb2d18a2081b + .quad 0x43f4f59f9910367e, 0x44311aeb0b11d1a1 + .quad 0x43f2ecf5b7f6abe3, 0x442eed5c0bbf1061 + .quad 0x43f1164ab45aa235, 0x442bf4ab21b4f3f0 + .quad 0x43eed9bdbc6f1b0a, 0x442944462d4d5991 + .quad 0x43ebd8c96533b39b, 0x4426d561de54f6a1 + .quad 0x43e921ec84d5860e, 0x4424a1d472804fc8 + .quad 0x43e6ae172414ceba, 0x4422a406e25fcb44 + .quad 0x43e476e3b661be8c, 0x4420d6e7662dda9d + .quad 0x43e276873924f0b4, 0x441e6bba6770e22d + .quad 0x43e0a7c2c9322f59, 0x441b797ab2ba22d2 + .quad 0x43de0bad18c4e37d, 0x4418cf813910fdcd + .quad 0x43db18eba0be4d24, 0x441666f488db6e0a + .quad 0x43d86f7884e1caad, 0x4414399f7770045f + .quad 0x43d608484d592328, 0x441241e1ebbbf4ec + .quad 0x43d3dcfaee52a8f5, 0x44107aa30ce6a5a0 + .quad 0x43d1e7cbac093f27, 0x440dbe8969a24c6f + .quad 0x43d023827dc88ed9, 0x440ad7301258d788 + .quad 0x43cd16cd999791c3, 0x440837a640fa9d3d + .quad 0x43ca3666de0788b0, 0x4405d90f358d61f6 + .quad 0x43c79e17816df1e8, 0x4403b5342f7be9c0 + .quad 0x43c546e385224d10, 0x4401c674ecd152d3 + .quad 0x43c32a7a483e977b, 0x440007b997a0b531 + .quad 0x43c1432649c86c4d, 0x43fce8cc007a6432 + .quad 0x43bf177ce0bd5836, 0x43fa109c0bccbc39 + .quad 0x43bbff3166bc36ee, 0x43f77f5624913c3a + .quad 0x43b934fc0975fb30, 0x43f52e251d5d3b1f + .quad 0x43b6b13ebb9a5ad4, 0x43f316da780bc4d9 + .quad 0x43b46d17a80cc174, 0x43f133deb1d35260 + .quad 0x43b2624f3a0a8870, 0x43ef00460b24acf8 + .quad 0x43b08b47d7733cb6, 0x43ebee2903d584f9 + .quad 0x43adc5de496b1810, 0x43e92920a7c80e26 + .quad 0x43aac9615b3c9fd7, 0x43e6a9b25345c773 + .quad 0x43a818d3a356669e, 0x43e4691b26b9c82f + .quad 0x43a5acbdab2ed713, 0x43e2613e9610f6d1 + .quad 0x43a37e61fd4c0fe0, 0x43e08c969adf0bea + .quad 0x43a187ab3d71db11, 0x43ddcc4ac4f59be5 + .quad 0x439f8637ea4e52ac, 0x43dad2d0a9a18288 + .quad 0x439c577fd709b099, 0x43d82498a7cc94b9 + .quad 0x43997a3dc62119c8, 0x43d5ba462dee8a02 + .quad 0x4396e66137bb7cca, 0x43d38d330d8806a0 + .quad 0x439494a3f6a9a70e, 0x43d1975e0627306c + .quad 0x43927e767bb79ea2, 0x43cfa6b5ee8f3088 + .quad 0x43909dee32687729, 0x43cc78892308bd90 + .quad 0x438ddb6ae2f39381, 0x43c99b5ec6741cb3 + .quad 0x438ad1f9fba4b2ab, 0x43c7073c400e10dc + .quad 0x438816dde4c11ca3, 0x43c4b4ee0b3a84d6 + .quad 0x4385a245d5e5289c, 0x43c29df4862ac231 + .quad 0x43836d26a686daaf, 0x43c0bc7294e0cbaf + .quad 0x438171277cbbce9c, 0x43be163bd8df8640 + .quad 0x437f5120b45c00e6, 0x43bb0a61bce91993 + .quad 0x437c1c74b30d0bb0, 0x43b84cbb00f925f0 + .quad 0x43793b02e5cf0324, 0x43b5d5841ce6cb73 + .quad 0x4376a46f43f3118c, 0x43b39dbcd485dd07 + .quad 0x43745132973bb79b, 0x43b19f153b38a108 + .quad 0x43723a85891dc72b, 0x43afa7b9159fc471 + .quad 0x43705a4dba466c4e, 0x43ac6de3429e31fa + .quad 0x436d561964307dc4, 0x43a98769faac8a1b + .quad 0x436a4fa0f13737e8, 0x43a6ebf82977acf0 + .quad 0x4367984b636ad1be, 0x43a4940bc89fa5aa + .quad 0x4365281628cb373a, 0x43a278e135bcf0a4 + .quad 0x4362f7cc38bc628d, 0x43a0946088b6f8ed + .quad 0x436100f1aef8eaf5, 0x439dc21972b9e9f4 + .quad 0x435e7b62ce66acde, 0x439ab3e8cfada51a + .quad 0x435b5198cf325114, 0x4397f5483f729c27 + .quad 0x43587b15da6677af, 0x43957e33e2b1c6da + .quad 0x4355ef5de2e68985, 0x4393477480d89e25 + .quad 0x4353a6d00852a688, 0x43914a8b54629fb2 + .quad 0x43519a90b14f53af, 0x438f033fa073d520 + .quad 0x434f88eba04114cb, 0x438bcede5acc0d40 + .quad 0x434c3dea36b87937, 0x4388ee7b29d0b081 + .quad 0x43494a28136fa731, 0x438659917bbb6632 + .quad 0x4346a4b2c9663fa1, 0x43840877b79cd868 + .quad 0x43444580945b8452, 0x4381f44979177348 + .quad 0x43422558f1aa9f03, 0x438016d3f0358160 + .quad 0x43403dbf8db89298, 0x437cd508600d0ba8 + .quad 0x433d11c2965639f6, 0x4379d4ae77a21604 + .quad 0x433a03065db54a4b, 0x437723974e9529d8 + .quad 0x433745e6013d8cf3, 0x4374b9a944f57915 + .quad 0x4334d1f2eb853100, 0x43728f9c9b769ee3 + .quad 0x43329f9b7c4f56df, 0x43709ee66b6e99e9 + .quad 0x4330a814a1dfc5ed, 0x436dc34b6999ff72 + .quad 0x432dca8b63e38fa9, 0x436aa5249b4cca57 + .quad 0x432aa36c9242f8bc, 0x4367d9db080918ba + .quad 0x4327d0fbfa6c3c19, 0x436558e88e8945ef + .quad 0x43254a6b679dd96f, 0x43631aa564e92066 + .quad 0x432307d4e71272d7, 0x43611831a9c3763d + .quad 0x4321022313b11381, 0x435e96c265c21fbf + .quad 0x431e65f78e13edcd, 0x435b5d52c19374fe + .quad 0x431b2959e487c93f, 0x43587a2188252d5f + .quad 0x43184436cf62b6f8, 0x4355e440cc8caaf9 + .quad 0x4315ad66c67f3f63, 0x435393ad199301de + .quad 0x43135cb549c616eb, 0x43518135a0647102 + .quad 0x43114ac7e9322a1a, 0x434f4ccd98eab06b + .quad 0x430ee20fae75a2c5, 0x434bfaedff2748c1 + .quad 0x430b931b883c77f2, 0x4349026a7e3c9538 + .quad 0x43089e1f8e1d4be6, 0x434659f3419269ee + .quad 0x4305f9a24050e89f, 0x4343f92e9472ca4c + .quad 0x43039d2746cbe57f, 0x4341d89fb6602df9 + .quad 0x43018115431b6c4a, 0x433fe32077e095c4 + .quad 0x42ff3d3ca19edf64, 0x433c7bf775863df5 + .quad 0x42fbdf55dd9bdce0, 0x433970fb0b5580dc + .quad 0x42f8dd8e25d2255d, 0x4336b88087e4af9f + .quad 0x42f62e225ebca190, 0x433449de67f2c6b2 + .quad 0x42f3c855ef212bad, 0x43321d51dc348d4d + .quad 0x42f1a4576cd5cddc, 0x43302be7023a443e + .quad 0x42ef765035c713d8, 0x432cdec7155697e1 + .quad 0x42ec0d0bdeb46ae2, 0x4329c4671c1a6e3c + .quad 0x42e901afbd3819be, 0x4326feb0af26f865 + .quad 0x42e64a386137b955, 0x432484b1e63b3be4 + .quad 0x42e3ddb15521ce49, 0x43224e68a1458bd7 + .quad 0x42e1b418ba2217c6, 0x432054a9a7c2f05a + .quad 0x42df8c8bad8e2a20, 0x431d2214ad33ca5e + .quad 0x42dc1ba4950b8f4f, 0x4319fb9933adac68 + .quad 0x42d90a0b40dd690c, 0x43172b99eccc462e + .quad 0x42d64d860502b279, 0x4314a8e4dbe3539c + .quad 0x42d3dcf1aadc099d, 0x43126b4018ef81f7 + .quad 0x42d1b02414a73357, 0x43106b4fe82cc6ae + .quad 0x42cf7fa3e4bec2ae, 0x430d44feffb34893 + .quad 0x42cc0aee6d6b1406, 0x430a15d86bb23572 + .quad 0x42c8f684065398bf, 0x43073ea5ac0d71a9 + .quad 0x42c637ff9397e989, 0x4304b5fdd0f567fa + .quad 0x42c3c618d3c706eb, 0x4302737769828878 + .quad 0x42c1988625955723, 0x43006f8da87263ce + .quad 0x42bf4fc2f6d50e41, 0x42fd4710a9e149ed + .quad 0x42bbdb204ff1cda3, 0x42fa12cc7b1bf616 + .quad 0x42b8c75a6fa17116, 0x42f73793d6253bd7 + .quad 0x42b609ec277b8703, 0x42f4abd0af44c7f8 + .quad 0x42b399725d96eb63, 0x42f266f2e981ccfb + .quad 0x42b16d8d1241b86b, 0x42f06154a07d21a2 + .quad 0x42aefd875a51d28d, 0x42ed2842b40e25f0 + .quad 0x42ab8cd873c4de72, 0x42e9f27fa465d061 + .quad 0x42a87d2a89e5ac65, 0x42e7167c3937ded9 + .quad 0x42a5c3e42539c769, 0x42e48a7fb96552ca + .quad 0x42a35791e04cd29f, 0x42e245dcbaa25b1b + .quad 0x42a12fc6cdafd10d, 0x42e040d4ab2de626 + .quad 0x429e8a0077a1ed47, 0x42dce8fcb8dadc2c + .quad 0x429b2118f75a4eb7, 0x42d9b55e7c11d9e6 + .quad 0x429818e8b1c2616f, 0x42d6dbce02ec5c77 + .quad 0x429566cdf4525eb0, 0x42d4527acab6dfeb + .quad 0x4293014fd204bc71, 0x42d210a3ddcb4706 + .quad 0x4290dffe0bfc0c74, 0x42d00e7aba6527c9 + .quad 0x428df6a8d5e14f11, 0x42cc8a12a152d814 + .quad 0x428a9942579915cd, 0x42c95c35893651c9 + .quad 0x42879bdc576e403a, 0x42c6884d52cc9914 + .quad 0x4284f3d9114d799b, 0x42c4047ce663f641 + .quad 0x428297c4e6eb62fc, 0x42c1c7f9c74f3e7c + .quad 0x42807f35ef1a4fc0, 0x42bf95dcee779f74 + .quad 0x427d455e0a3b0d94, 0x42bc0cc007cc808e + .quad 0x4279f70bf04a77ce, 0x42b8e82cd2a6133c + .quad 0x427707990a8defef, 0x42b61d0ef76712e4 + .quad 0x42746c779ebb14ae, 0x42b3a1882865d26e + .quad 0x42721c4420bc9879, 0x42b16cce86450b20 + .quad 0x42700ea48df1e7fb, 0x42aeee1d41e1e516 + .quad 0x426c7856a7693627, 0x42ab72a1658393d4 + .quad 0x42693c7abef59a2c, 0x42a85ac17b553c4f + .quad 0x42665df602b1e0ff, 0x42a59b72775450f3 + .quad 0x4263d256a5ee461d, 0x42a32ae03812fc00 + .quad 0x42619053bac5f645, 0x42a1004b9cd4bae6 + .quad 0x425f1f58fe66e142, 0x429e27d88d5289bf + .quad 0x425b9216793da422, 0x429abdab3fb224ce + .quad 0x42586bd6adace04e, 0x4297b5bd9f52a89e + .quad 0x4255a104640aeb74, 0x4295051a941eb130 + .quad 0x42532755417b50dd, 0x4292a20366f6a0de + .quad 0x4250f5a5274f5c45, 0x429083cdb1163405 + .quad 0x424e07ab300dc4b9, 0x428d458a013d18b4 + .quad 0x424a956163a49613, 0x4289f01f97b2e043 + .quad 0x4247879eb52380ed, 0x4286fb2eaf7d8102 + .quad 0x4244d30488394e18, 0x42845be480207b14 + .quad 0x42426d7af2869fc5, 0x428208a2b041836e + .quad 0x42404e0c593552f5, 0x427ff1ba8cbc9c8d + .quad 0x423cd98a274acae3, 0x427c49f8a8ec4aeb + .quad 0x4239852d44d7528b, 0x42790c81ede57558 + .quad 0x4236927c2c3e4970, 0x42762d5a948b6358 + .quad 0x4233f65a98c177c9, 0x4273a1de0952fd2b + .quad 0x4231a6ed66936eea, 0x42716098d4b94692 + .quad 0x422f36ed3084aa81, 0x426ec24d6a8bc072 + .quad 0x422b986ab7ebdd54, 0x426b3828ebcc128b + .quad 0x422864933f3c0573, 0x4268158a3038115e + .quad 0x42258f359f0c4e8f, 0x42654eb3e9a3e72b + .quad 0x42230d82cb8a968c, 0x4262d93b0174f61a + .quad 0x4220d5e5f59de7c1, 0x4260abe0d45fd5c2 + .quad 0x421dbfc240ab5f81, 0x425d7ce33a39bd89 + .quad 0x421a47db588b15cf, 0x425a134d30d655e4 + .quad 0x421736c0d0a31187, 0x42570e16f315ef40 + .quad 0x421480a1879e8f57, 0x425461cda38e2783 + .quad 0x42121b0591ce1cfd, 0x4252044a2faebb7b + .quad 0x420ff94e3fca1752, 0x424fd91813f8cc8c + .quad 0x420c3a9f9558ffa0, 0x424c2530177987fe + .quad 0x4208eb738c76b2f2, 0x4248deb61106f334 + .quad 0x4205fee91a43fef1, 0x4245f91f55e86346 + .quad 0x4203699940a6a811, 0x4243694e7b13691b + .quad 0x4201216c07263de0, 0x4241256a18de488b + .quad 0x41fe3ae49fef5535, 0x423e49705a5ebd5f + .quad 0x41faab87fb8e4441, 0x423abefb3186e784 + .quad 0x41f786c3dca158c4, 0x42379dc285401b7d + .quad 0x41f4c036b7451223, 0x4234d9a4f359ba1e + .quad 0x41f24cec8453db03, 0x423267e46fd85893 + .quad 0x41f02334e92993b9, 0x42303efdea0a0506 + .quad 0x41ec74fc41217dfb, 0x422cad0afbb569b1 + .quad 0x41e9166837399532, 0x42294e0d5e7a8744 + .quad 0x41e61d46c11dd916, 0x422653d077d9eef0 + .quad 0x41e37dbe7711fcd4, 0x4223b2a639494566 + .quad 0x41e12d55c1e73c65, 0x42216038b4af0a0e + .quad 0x41de4594b115943b, 0x421ea6c598920c48 + .quad 0x41daabdabdb93484, 0x421b081aaf25ade1 + .quad 0x41d77f073eb945df, 0x4217d62079a4e4a6 + .quad 0x41d4b252d0bc8beb, 0x4215042e1a8664ed + .quad 0x41d23a7345c57cca, 0x421287117d29a9e6 + .quad 0x41d00d6f8a57f06e, 0x421054e44f8ee735 + .quad 0x41cc44f136cf3bd8, 0x420cc9cbc5fe04a8 + .quad 0x41c8e38df2790b7a, 0x42095eb2cb828067 + .quad 0x41c5e8f828661e21, 0x42065acfefcd0029 + .quad 0x41c3490e7e2bc31c, 0x4203b20c56ad84f5 + .quad 0x41c0f91b7ff9bb2a, 0x420159b917beb87a + .quad 0x41bddf56913a541e, 0x41fe90cb5cac7057 + .quad 0x41ba48cc1b8a7bc7, 0x41faeb7659e5f7ef + .quad 0x41b71fde01e2ca8c, 0x41f7b4b752e86e5f + .quad 0x41b4578e0b906b32, 0x41f4df8ace15322e + .quad 0x41b1e4659a2a2156, 0x41f26072a17961a0 + .quad 0x41af788fc218597b, 0x41f02d48c75e7d9b + .quad 0x41abac92daac0b9d, 0x41ec7a2ecd5f05a0 + .quad 0x41a85518c3484796, 0x41e90feaede7f2ae + .quad 0x41a56441b55bfff1, 0x41e60dcef1cedc3a + .quad 0x41a2cdd203ab43a1, 0x41e36787980e7387 + .quad 0x41a08700c199ad4f, 0x41e112346e13dd7e + .quad 0x419d0c9857c390f3, 0x41de087915129a98 + .quad 0x419986a650394095, 0x41da6a5096da5b7d + .quad 0x41966d6688315ad6, 0x41d73aff07c7874e + .quad 0x4193b3d55ebd8547, 0x41d46d572e10e216 + .quad 0x41914e7b714e7093, 0x41d1f5ba17e5a90b + .quad 0x418e667d9a8bcd9e, 0x41cf93d0d186fbcd + .quad 0x418ab2733e383ad8, 0x41cbc1b22cec72b0 + .quad 0x4187712b76c8c7f6, 0x41c86529e9df069c + .quad 0x418494d8e1d4fc61, 0x41c5702d052bf73a + .quad 0x4182115447c6627d, 0x41c2d65aee08874c + .quad 0x417fb7d503fc65c8, 0x41c08ccb49580d43 + .quad 0x417bd660913b938c, 0x41bd13c32a98512b + .quad 0x41786db66e158524, 0x41b98a4bfd5a5fad + .quad 0x41756f3ed5aa4222, 0x41b66e459a7794f4 + .quad 0x4172ce2265a96bef, 0x41b3b28bbce3c1c6 + .quad 0x41707f14a8d0c116, 0x41b14b8b6b67144e + .quad 0x416cf049ebedf60d, 0x41ae5e26dbef0e28 + .quad 0x41696129ca292f7e, 0x41aaa854b5c4f131 + .quad 0x4166416763f6b3bc, 0x41a765d329106241 + .quad 0x4163837bf030f4a8, 0x41a488b9479ee1c4 + .quad 0x41611b82880134f9, 0x41a204c8d940530b + .quad 0x415dfe0c1b8af1f3, 0x419f9e77238e0031 + .quad 0x415a49aa1651cfca, 0x419bbd2c8fd7e193 + .quad 0x415709b5a3a79128, 0x41985502f16a0f8d + .quad 0x41542ffa7e9ace3f, 0x4195574ceffe3945 + .quad 0x4151affd2eccd616, 0x4192b72182c97af5 + .quad 0x414efd8be43ac9a9, 0x41906925da53a0fc + .quad 0x414b2564005de7e5, 0x418cc6bb6d71090d + .quad 0x4147c694cd2b4ffd, 0x41893a02d0c97221 + .quad 0x4144d23fa69bd814, 0x41861cb1a027e057 + .quad 0x41423b556e6e918e, 0x418361358dd1f243 + .quad 0x413fecbcf04dca90, 0x4180fba0d2660d89 + .quad 0x413bf29264dcdc82, 0x417dc2ef387bd0e0 + .quad 0x4138767d7fc43eb6, 0x417a130711aadcda + .quad 0x413568f9937abc79, 0x4176d758e1ac9659 + .quad 0x4132bc67d8c20136, 0x417401abca024479 + .quad 0x413064d4616b0094, 0x417185819a7f8c6a + .quad 0x412caf8458ad2a12, 0x416eafc2b00a99b1 + .quad 0x412917faff93e540, 0x416ade505ba61e89 + .quad 0x4125f2e79283b1ca, 0x416785c00b5cb27e + .quad 0x41233220b1da4f59, 0x4164973634932c1a + .quad 0x4120c93ac678b0cc, 0x416205a7d78be568 + .quad 0x411d5aa313452dae, 0x415f8b4440d68221 + .quad 0x4119a9b05368c88b, 0x415b9a31a7b9868c + .quad 0x41166ede7f0c2d55, 0x415826756e1a42e2 + .quad 0x41139b7fc18e5891, 0x4155209676e4b424 + .quad 0x411122b662569616, 0x41527b019965e362 + .quad 0x410df2779ceabfc8, 0x415029ce648133fd + .quad 0x410a2a5d2945d2b7, 0x414c45161cd95fe8 + .quad 0x4106dbccf848794a, 0x4148b81d680cdfc5 + .quad 0x4103f79bf21caa96, 0x41459ca24a7521dd + .quad 0x41017080ae674896, 0x4142e48f266999cf + .quad 0x40fe75b024885f54, 0x4140838b13324d03 + .quad 0x40fa98e26924c6c8, 0x413cdd86b83e679d + .quad 0x40f738bf4bc8d296, 0x41393977456406dd + .quad 0x40f445a6a9a273c6, 0x41360a47aca18e96 + .quad 0x40f1b1eabeffc3a5, 0x413341669953fe1c + .quad 0x40eee324e1fde417, 0x4130d210b765b3d6 + .quad 0x40eaf4465e9c5668, 0x412d622fa53c02ce + .quad 0x40e784e3008fb46b, 0x4129a961d6383ef7 + .quad 0x40e484eecd2f1383, 0x41266890cd0bf55f + .quad 0x40e1e65fd1ef2701, 0x412390b73f2a4fb0 + .quad 0x40df39dc6baaccd7, 0x412114ae59581395 + .quad 0x40db3bb863d26278, 0x411dd1e5296953a3 + .quad 0x40d7bf89f052b591, 0x411a06dfa21b6c59 + .quad 0x40d4b4e35dbe0cdd, 0x4116b6a7a27c9005 + .quad 0x40d20d6781986167, 0x4113d1cca3d4f6d8 + .quad 0x40cf790f6877f51e, 0x41114acc164c64fe + .quad 0x40cb6e93fa7299b3, 0x410e2ba80b9c3a1b + .quad 0x40c7e82cde922833, 0x410a511aa3827999 + .quad 0x40c4d515a14a6132, 0x4106f3d9139319ed + .quad 0x40c226a790f97768, 0x410404113d7d18e6 + .quad 0x40bfa02b8ac73416, 0x410173ed60fcd6fa + .quad 0x40bb8c6342337220, 0x40fe6ea95e92c624 + .quad 0x40b7fe6d7fbcef2c, 0x40fa8767775dd309 + .quad 0x40b4e53acc7531b1, 0x40f71f97a2983044 + .quad 0x40b231e547065724, 0x40f42710a88aab19 + .quad 0x40afaed5c4559717, 0x40f18fb2ded8ebb1 + .quad 0x40ab94e0bfb59934, 0x40ee9a4d9b21386e + .quad 0x40a80217e57d8a3f, 0x40eaa947efe69879 + .quad 0x40a4e52d23cf50b0, 0x40e7397d8e2bd385 + .quad 0x40a22f0652094ae6, 0x40e43a79684f6ef6 + .quad 0x409fa4eba730bf60, 0x40e19ddbd8138a90 + .quad 0x409b87f86a26fad7, 0x40deae2ef93df996 + .quad 0x4097f323487ff94a, 0x40dab66cfccafb75 + .quad 0x4094d4ec8ea8ee67, 0x40d7414e5b5ca43c + .quad 0x40921e112e39bf18, 0x40d43e1e22ebfdb4 + .quad 0x408f8283ec45f117, 0x40d19e4732be2ff0 + .quad 0x408b65c7f9f1fbed, 0x40ceaa1efb3b003e + .quad 0x4087d1b22b6810f6, 0x40caaeb7de6855e2 + .quad 0x4084b49e984886e0, 0x40c736f7c0d13f06 + .quad 0x4081ff2d0d5a2649, 0x40c431f651be2ff4 + .quad 0x407f47ee1cab73dd, 0x40c190f3f39e9af4 + .quad 0x407b2e9e76c8d9f9, 0x40be8e2722ca46cf + .quad 0x40779e11d635b9a7, 0x40ba923a9d8d5019 + .quad 0x4074848ddf7dfffe, 0x40b71a91ee04e82c + .quad 0x4071d2a13fdd2709, 0x40b4161e6298ed3a + .quad 0x406ef5b15f73200a, 0x40b176014201ab17 + .quad 0x406ae2fb07705cc3, 0x40ae5a88cbf394e4 + .quad 0x406758b92cdfdc64, 0x40aa6137c537bf6d + .quad 0x40644528f79b1b51, 0x40a6ec5f2d1367f4 + .quad 0x406198d422be3f8c, 0x40a3ead7491061af + .quad 0x405e8c8a7276c930, 0x40a14dadee76975a + .quad 0x405a838b09afcf62, 0x409e0fbc2ec572b9 + .quad 0x40570246e766d2f3, 0x409a1c215fcd0bea + .quad 0x4053f700c0d99876, 0x4096accae115453e + .quad 0x4051524997d01a00, 0x4093b08582357e32 + .quad 0x404e0d68d9047f7a, 0x409118577f06b2f2 + .quad 0x404a11277ca2bd3f, 0x408dae6e8d292a1e + .quad 0x40469b7f34ec048e, 0x4089c3973d4c9b08 + .quad 0x40439ac6410ceb63, 0x40865c67e684d1e6 + .quad 0x4040ffa110b113f0, 0x408367af901b1370 + .quad 0x403d796b4f7aaf7f, 0x4080d678c614f535 + .quad 0x40398cd1cb38dcc0, 0x407d377f96b9fd62 + .quad 0x40362548d6675835, 0x407958648bd60350 + .quad 0x403331480815e7cd, 0x4075fbee5e7590f4 + .quad 0x4030a19336cc73a1, 0x407310fbf558eca2 + .quad 0x402cd1db96a6c6ef, 0x407088a80b837328 + .quad 0x4028f7b007e1de49, 0x406cabfe10b3371a + .quad 0x4025a0a9c047e3c7, 0x4068db7ccf7600f4 + .quad 0x4022bb6f2dd8e254, 0x40658c38f07b7c3b + .quad 0x402038ef3cbdc1c7, 0x4062ad2ebb6268bd + .quad 0x401c1829acfb62b3, 0x40602f94d1fb1ba4 + .quad 0x40185308ad209551, 0x405c0d23d3daadad + .quad 0x40150ec3549a202d, 0x40584df8496cc3ae + .quad 0x40123a3bf963c1eb, 0x40550e4191e1b76c + .quad 0x400f8d2fce0ebb41, 0x40523d2690dc7344 + .quad 0x400b4de68e608347, 0x404f980a88588961 + .quad 0x4007a03df8f9f479, 0x404b5c5135a44acb + .quad 0x400470ce4924af72, 0x4047b10fe1f0aeaa + .quad 0x4001aec242758b4f, 0x4044831de32e25bd + .quad 0x3ffe9700b697ec96, 0x4041c1d98f1b1f71 + .quad 0x3ffa74be9568f922, 0x403ebda6af103d07 + .quad 0x3ff6e0c8fadbb050, 0x403a9b07f491a273 + .quad 0x3ff3c8164e42f29c, 0x40370618a9c019da + .quad 0x3ff11a259faba91e, 0x4033ebfb36da371b + .quad 0x3fed91518c2acaf6, 0x40313c51b7852ec0 + .quad 0x3fe98e739a118b5e, 0x402dd1d36683753b + .quad 0x3fe616346ca3be0e, 0x4029cae5c1f5de61 + .quad 0x3fe315f58c13df9c, 0x40264e7f0a95542f + .quad 0x3fe07d957435b8c4, 0x40234a1a5595e9cb + .quad 0x3fdc7e35cf4db634, 0x4020ada93ac2688e + .quad 0x3fd89cd6ead31b71, 0x401cd680d6a376d2 + .quad 0x3fd542176fe1c2b2, 0x4018ed9e84be9bac + .quad 0x3fd25bd00bd97edd, 0x40158bc1beb8e117 + .quad 0x3fcfb491e02b7c15, 0x40129ecb15514182 + .quad 0x3fcb5fcd30c7e1f6, 0x401017069c4b54cf + .quad 0x3fc7a1c33cc1922b, 0x400bcdb33f7b88f9 + .quad 0x3fc46610483f2395, 0x400804f671a7a35c + .quad 0x3fc19b0f23241b88, 0x4004bf6ca87a4707 + .quad 0x3fbe62f62b4555dc, 0x4001eb67d8a75351 + .quad 0x3fba383ca9f98a0f, 0x3ffef3318a5788de + .quad 0x3fb69f16aeb36770, 0x3ffab97c2106c4d2 + .quad 0x3fb383bf2b37a037, 0x3ff712bc1550fb6a + .quad 0x3fb0d51cf5a16254, 0x3ff3eb13a24821e2 + .quad 0x3fad08cdac87dce6, 0x3ff131510c1da6ad + .quad 0x3fa909a7c3ac6f99, 0x3fedad26311e9ef0 + .quad 0x3fa596acfa0bcc8f, 0x3fe99bf36c7ef068 + .quad 0x3fa29cc13bfd53a0, 0x3fe618c26c1169a6 + .quad 0x3fa00b60212cf113, 0x3fe3104d5f799552 + .quad 0x3f9ba886ae6e40e0, 0x3fe071e8b6003b16 + .quad 0x3f97d62a282a4851, 0x3fdc5e5338097f6b + .quad 0x3f948a59e9cb1eb1, 0x3fd87730de08c821 + .quad 0x3f91b2abc895a771, 0x3fd518db221cf8ba + .quad 0x3f8e7e6f4c33eded, 0x3fd230ae74a714aa + .quad 0x3f8a4480db60fe17, 0x3fcf5d1c58fdc6ac + .quad 0x3f869fd19aacb90a, 0x3fcb091a88a72f08 + .quad 0x3f837be42e1159e7, 0x3fc74d459ba38afe + .quad 0x3f80c707db025298, 0x3fc414d114bdcde1 + .quad 0x3f7ce3ee3757dbe5, 0x3fc14dc49cbc0c30 + .quad 0x3f78df06bfb34f6d, 0x3fbdd13408401cdc + .quad 0x3f7568986affafc5, 0x3fb9afd0eca1593d + .quad 0x3f726d009f5af049, 0x3fb6203633a6814a + .quad 0x3f6fb69c5d6b524e, 0x3fb30e632b0008c9 + .quad 0x3f6b49c67cd1611f, 0x3fb069124dc6eaef + .quad 0x3f677a47ec4e9fa1, 0x3fac42b48d5cfe42 + .quad 0x3f643260788f0a1f, 0x3fa854b792c33d4a + .quad 0x3f615f4e018a09ee, 0x3fa4f1f511f7b2d7 + .quad 0x3f5de1c72f739a49, 0x3fa2073f996519c0 + .quad 0x3f59b25dc6d6642e, 0x3f9f08155c194aad + .quad 0x3f561853cc8eddac, 0x3f9ab41e011814e5 + .quad 0x3f52feeed430b87b, 0x3f96f9f62ec4193a + .quad 0x3f505451535e8102, 0x3f93c45d7f9e2fb0 + .quad 0x3f4c122bcbda7f8e, 0x3f9100ffa10ff0f3 + .quad 0x3f481ff0b26f3b6a, 0x3f8d401bee3a7787 + .quad 0x3f44bb153d2d0728, 0x3f8927ce5fbbe352 + .quad 0x3f41cfe80beb05a4, 0x3f85a195c6e2a08e + .quad 0x3f3e9ae566e02486, 0x3f82992f3c7d2ce7 + .quad 0x3f3a4a3297375461, 0x3f7ffa47aef63bd2 + .quad 0x3f36948e77b6c537, 0x3f7b7ccca35ce88e + .quad 0x3f33644eed5b1126, 0x3f779ffc3cd6bc92 + .quad 0x3f30a6cd27d913d7, 0x3f744d7c3dca9cc8 + .quad 0x3f2c97f5c053e775, 0x3f71720abf01aa9b + .quad 0x3f288c0c973b68fc, 0x3f6dfa22008cf2c8 + .quad 0x3f2512157ee1d8be, 0x3f69c08a63df00dc + .quad 0x3f2215988e86b086, 0x3f661eb258af5a93 + .quad 0x3f1f09f2b684fb31, 0x3f62ff68a28f7dc4 + .quad 0x3f1aa222a98ba953, 0x3f60506e21782262 + .quad 0x3f16d9b06046eb66, 0x3f5c041afe3a1ad2 + .quad 0x3f139a30e3030664, 0x3f580d8271e40929 + .quad 0x3f10d05cd2b64652, 0x3f54a5cc1e67b046 + .quad 0x3f0cd740d2318d4d, 0x3f51b8f04bdfa1bf + .quad 0x3f08bb7603d98280, 0x3f4e6b65816f0ff1 + .quad 0x3f0534d810db5377, 0x3f4a1a7ec86c94fb + .quad 0x3f022e56de90dc1a, 0x3f4665a9398034f1 + .quad 0x3eff2bb06a7069e2, 0x3f4336f30c8d3345 + .quad 0x3efab79b6edb04e1, 0x3f407b7cbf13abf4 + .quad 0x3ef6e5b33b150249, 0x3f3c461717dacbd8 + .quad 0x3ef39f005226a7db, 0x3f383f56253c12f1 + .quad 0x3ef0cfc8192e69bd, 0x3f34cab82baddd6c + .quad 0x3eecce310b024fd4, 0x3f31d39d04e50424 + .quad 0x3ee8acc81455f971, 0x3f2e9094beff3587 + .quad 0x3ee522570529739f, 0x3f2a3308036822db + .quad 0x3ee219685023e1be, 0x3f267464f8a36aff + .quad 0x3edeff1f945e7f7b, 0x3f233e2c9c277148 + .quad 0x3eda89fa515a2b44, 0x3f207d0b7bb52fc7 + .quad 0x3ed6b83bb4ee4348, 0x3f1c40cfbd11fd10 + .quad 0x3ed372982e2fde1d, 0x3f1833ffa698fa8b + .quad 0x3ed0a51297b20ab7, 0x3f14bb29dadf3ac0 + .quad 0x3ecc7d093fb7e463, 0x3f11c147957723bd + .quad 0x3ec8607006600009, 0x3f0e6896f5762306 + .quad 0x3ec4db1c7b733812, 0x3f0a096cc3260668 + .quad 0x3ec1d76959a6b622, 0x3f064a7647d3f88a + .quad 0x3ebe858d8b3acc80, 0x3f0314deba7bab37 + .quad 0x3eba1a94b14e3d7f, 0x3f00550e92636252 + .quad 0x3eb6529df3d1cf1c, 0x3efbf46cd0f972c3 + .quad 0x3eb316449a955429, 0x3ef7ebd49fbb30ee + .quad 0x3eb0517b9e1f89de, 0x3ef47796af08285b + .quad 0x3eabe627dddb55d7, 0x3ef1827a73755ec7 + .quad 0x3ea7d8a7f2a8a2d0, 0x3eedf49a10ccc568 + .quad 0x3ea4613bf000c71d, 0x3ee99ee7037b652b + .quad 0x3ea16a45fcb7b882, 0x3ee5e9197017791d + .quad 0x3e9dc283bcbe780f, 0x3ee2bc40c543e36b + .quad 0x3e996ca751cac37f, 0x3ee004b34180a4a9 + .quad 0x3e95b7cd13179dde, 0x3edb632d58444fad + .quad 0x3e928cb2cb8b4015, 0x3ed768f3e13d3bdc + .quad 0x3e8faedd62dabd96, 0x3ed401fa7657909e + .quad 0x3e8b0de982dbf111, 0x3ed1190d162109ab + .quad 0x3e87195b2becea19, 0x3ecd3803e22a78e4 + .quad 0x3e83b8387eea3f9d, 0x3ec8f694ad8ac632 + .quad 0x3e80d521f8291cd6, 0x3ec55326d6aac6fa + .quad 0x3e7cbb9be9cbac1e, 0x3ec236e8d3a9e0e7 + .quad 0x3e78852e54d26542, 0x3ebf1ca221c0b98b + .quad 0x3e74ec36b8fdf428, 0x3eba914b62872bc3 + .quad 0x3e71d9d0055d11d0, 0x3eb6af2ae42db580 + .quad 0x3e6e74cb7ebdea0a, 0x3eb35dbe86ed95c7 + .quad 0x3e69fa735b03463a, 0x3eb0880cfe68041e + .quad 0x3e6627f6220ca6a9, 0x3eac3847cbf78a3b + .quad 0x3e62e4d9d8b5b22f, 0x3ea81550cf271bfd + .quad 0x3e601c325e8bb3c0, 0x3ea48cefa0aac509 + .quad 0x3e5b783bc148fcef, 0x3ea188ab9ce5fddd + .quad 0x3e576aa8791eba33, 0x3e9dea9996bf1c0f + .quad 0x3e53f58d390caeec, 0x3e9984c7bb9c53ff + .quad 0x3e510299f255a2ca, 0x3e95c3c6ce5f2f75 + .quad 0x3e4cfd7e08a13b20, 0x3e928f8faa7c3202 + .quad 0x3e48b368e0429dac, 0x3e8fa73040873530 + .quad 0x3e450b2501707be6, 0x3e8afca3c464e1d5 + .quad 0x3e41ecf2c897b782, 0x3e8701780b38d71a + .quad 0x3e3e891642306fee, 0x3e839c08dab159e0 + .quad 0x3e3a013c6709bdd5, 0x3e80b66dac93672b + .quad 0x3e3624c9a2f2f8fc, 0x3e7c7bde43ebd873 + .quad 0x3e32da83d59392f5, 0x3e784520ec5eb55a + .quad 0x3e300ce3767b77a8, 0x3e74ad54236cf6b4 + .quad 0x3e2b5312d520a3f4, 0x3e719d258cf47194 + .quad 0x3e274191dcab90bc, 0x3e6e015665e4efbd + .quad 0x3e23ca855a30dad5, 0x3e698dc92b26aea0 + .quad 0x3e20d71d1069e44f, 0x3e65c29c3e79c162 + .quad 0x3e1ca7c7b61a5357, 0x3e628708aaed4d70 + .quad 0x3e186083aaabaf73, 0x3e5f8bd2046619b5 + .quad 0x3e14bc21b880f9de, 0x3e5ada636f165959 + .quad 0x3e11a28183b0e320, 0x3e56dafa60f704a1 + .quad 0x3e0dfe23a6ad4f8b, 0x3e537351629c53c0 + .quad 0x3e0980956bea8cc0, 0x3e508cff68f5874c + .quad 0x3e05ae767663002e, 0x3e4c29ce58c1fc10 + .quad 0x3e026e4fd1165b76, 0x3e47f5772973d16c + .quad 0x3dff54dde2ba8f56, 0x3e44612c5674eed9 + .quad 0x3dfaa0af3e698b26, 0x3e415539e864d70f + .quad 0x3df6a0956d7d1b63, 0x3e3d7ad5cdc3741e + .quad 0x3df339bd6e517d44, 0x3e39110bc4b50f8c + .quad 0x3df0554f0943ba8c, 0x3e354fb970dbe54e + .quad 0x3debbfac9007ec07, 0x3e321dd98bc7de87 + .quad 0x3de791862715d02f, 0x3e2ecc34851c9763 + .quad 0x3de403f77382e654, 0x3e2a2ca34863bfcb + .quad 0x3de0feff2a4fc490, 0x3e263e0d12d4d288 + .quad 0x3ddcdc5de1ae8c09, 0x3e22e615f0543e41 + .quad 0x3dd8804761a993c4, 0x3e200e4ae934cb56 + .quad 0x3dd4cc23eb3b5ffa, 0x3e1b471c42165f4a + .quad 0x3dd1a6c6c06ea18b, 0x3e172b316e47cc93 + .quad 0x3dcdf58ab9ae4fcb, 0x3e13ad1e7143aa75 + .quad 0x3dc96bd0bd6c9a31, 0x3e10b54bd6a9e23f + .quad 0x3dc59163428fb3a6, 0x3e0c5f4a785a88d1 + .quad 0x3dc24be8d0138113, 0x3e08162809b8dff6 + .quad 0x3dbf09f3c1618809, 0x3e04721b76389525 + .quad 0x3dba53148c3fc482, 0x3e015a6678e0082c + .quad 0x3db652d1d62b45e1, 0x3dfd73f8da963966 + .quad 0x3db2eda549c16ee8, 0x3df8fdeb6a9e8ebc + .quad 0x3db00c2a84aed164, 0x3df5342fe16e83a5 + .quad 0x3dab3501c0fdbbcf, 0x3df1fcdfea216d16 + .quad 0x3da70f8998ccf075, 0x3dee83eb9bce31c4 + .quad 0x3da38b3a7222dd33, 0x3de9e170e2dbff8c + .quad 0x3da08fb437656229, 0x3de5f27a9aa5f660 + .quad 0x3d9c1085f96d9fee, 0x3de29bfa42bc7b76 + .quad 0x3d97c6a3cf1c9dcf, 0x3ddf8de2739c95a9 + .quad 0x3d9423e65b2a3a8c, 0x3ddabfaa7d4233fa + .quad 0x3d910ef40de709bc, 0x3dd6ac1833360c58 + .quad 0x3d8ce48f9d9e5928, 0x3dd336f5ff042b88 + .quad 0x3d88773adc5703ce, 0x3dd0484d7ff5f6bd + .quad 0x3d84b6e86a5aa9d8, 0x3dcb978904649f57 + .quad 0x3d8189488e2e9743, 0x3dc760249f31a968 + .quad 0x3d7db0100ef385d3, 0x3dc3cd13761f1731 + .quad 0x3d79206c1ae9fb29, 0x3dc0c569a0b1627c + .quad 0x3d754382e8081943, 0x3dbc67fe1e83e910 + .quad 0x3d71fe13002859ca, 0x3db80dbcff1d72cf + .quad 0x3d6e71fde0c5e218, 0x3db45d945dc4844d + .quad 0x3d69c159bbc9900a, 0x3db13da615eb6c5f + .quad 0x3d65c8fc931c6d94, 0x3dad2ffe78d87996 + .quad 0x3d626cb8c1920344, 0x3da8b4017551e03b + .quad 0x3d5f295714275bc3, 0x3da4e7bd56b77338 + .quad 0x3d5a592ca70605e5, 0x3da1b06621cfb60e + .quad 0x3d5646a234bddd88, 0x3d9dee83fc205fc8 + .quad 0x3d52d4a498c21371, 0x3d99521701d324da + .quad 0x3d4fd5235020e009, 0x3d956ad77d8efe38 + .quad 0x3d4ae71657ff542e, 0x3d921d11201bfbcf + .quad 0x3d46bbc82f12468a, 0x3d8ea290040397f4 + .quad 0x3d43354802504d9e, 0x3d89e7295f29cf91 + .quad 0x3d403a3b07cf84b0, 0x3d85e631fb2a96db + .quad 0x3d3b6a52af7c7202, 0x3d828313d62cbf4f + .quad 0x3d3727cc024d462a, 0x3d7f4b2d92a8da6a + .quad 0x3d338e1c7590edaf, 0x3d7a726cda9c5fc4 + .quad 0x3d3083385f1e344c, 0x3d76592390114765 + .quad 0x3d2be229b5ed10eb, 0x3d72e1e1bdc1cff3 + .quad 0x3d278a15c33bf0d1, 0x3d6fe77379b5869a + .quad 0x3d23dea49bdca04d, 0x3d6af3202215009f + .quad 0x3d20c5225e967ce3, 0x3d66c30c15ee186b + .quad 0x3d1c4df14833b32e, 0x3d6338f646703f05 + .quad 0x3d17e2197e99732e, 0x3d603b4338f71d3b + .quad 0x3d14266d76b7e9ef, 0x3d5b688e02001605 + .quad 0x3d10ff9aa4df55cb, 0x3d572355f261c90f + .quad 0x3d0cad0ea9847218, 0x3d5387d609c076c8 + .quad 0x3d082f5884a3c4ff, 0x3d507bcd8d61f54d + .quad 0x3d04650f71159187, 0x3d4bd20f0d88c869 + .quad 0x3d01324c9f973607, 0x3d477977767b819c + .quad 0x3cfcfef7f529f1bf, 0x3d43ce0fee10ae91 + .quad 0x3cf8716298a66d68, 0x3d40b4fbeda58aa9 + .quad 0x3cf49a2f582864b8, 0x3d3c2f0b2bc85943 + .quad 0x3cf15cee56fb8f80, 0x3d37c4f426570458 + .quad 0x3ced43356b5d1bc3, 0x3d340b3e347db73a + .quad 0x3ce8a7d700826ce3, 0x3d30e67b4f33d066 + .quad 0x3ce4c57f38808af9, 0x3d2c7efb04c36011 + .quad 0x3ce17f41219f6e6e, 0x3d28055de49eb405 + .quad 0x3cdd796294cc09e7, 0x3d243f076e4dac86 + .quad 0x3cd8d265709c8b81, 0x3d211003322f9f2a + .quad 0x3cd4e6bf1c869176, 0x3d1cc169496c493b + .quad 0x3cd199123dce7f7c, 0x3d183a55fe01c77f + .quad 0x3ccda12f38ef6065, 0x3d14691f56a0b9d1 + .quad 0x3cc8f0ced10d0db4, 0x3d11315652423380 + .quad 0x3cc4fdbda9c9106c, 0x3d0cf5f3d2534600 + .quad 0x3cc1aa3b4e8f3caa, 0x3d08638e1112031d + .quad 0x3cbdba6023e1257a, 0x3d0489478d82c425 + .quad 0x3cb902e5d96b5dc7, 0x3d014a433d21a4e2 + .quad 0x3cb50a589affacc9, 0x3cfd1c4c912f9acb + .quad 0x3cb1b2a2ba958505, 0x3cf880c8cf6ecf16 + .quad 0x3cadc4cfb90a7ce5, 0x3cf49f5031dc1940 + .quad 0x3ca9088f811b7254, 0x3cf15aa4ccc2f79b + .quad 0x3ca50c7d151d73d0, 0x3ced343a5202c7c4 + .quad 0x3ca1b23bebdcda6d, 0x3ce891da95a3a6f5 + .quad 0x3c9dc06e50abd949, 0x3ce4ab18582d9df2 + .quad 0x3c9901c342974910, 0x3ce1626283914e64 + .quad 0x3c950427d64b1c7d, 0x3cdd3d994938f3ad + .quad 0x3c91a9076f0d2e24, 0x3cd896a9d7ab89b1 + .quad 0x3c8dad425efa38ef, 0x3cd4ac8e5c7c8723 + .quad 0x3c88ee8b30ca2586, 0x3cd16170c969f828 + .quad 0x3c84f1653e256f41, 0x3ccd385b6cd88b32 + .quad 0x3c819712f23cae3d, 0x3cc88f2f609fe4d3 + .quad 0x3c7d8b686448b5af, 0x3cc4a3b00e506616 + .quad 0x3c78cf03de32b406, 0x3cc157d10888e2f3 + .quad 0x3c74d4512f22a65d, 0x3cbd2488978a2f74 + .quad 0x3c717c7923127a39, 0x3cb87b7664b4e00c + .quad 0x3c6d5b12a674c804, 0x3cb4908ab62a09ac + .quad 0x3c68a35c1621f2cc, 0x3cb14591aa0080ca + .quad 0x3c64ad16c988b007, 0x3cad023e74fea7e1 + .quad 0x3c6159616cbf8a0c, 0x3ca85b9c65443c51 + .quad 0x3c5d1c88b489c5c3, 0x3ca4733af4601fe1 + .quad 0x3c586bd4690c0845, 0x3ca12acdf1c9738c + .quad 0x3c547bf000e37ae9, 0x3c9cd1b037f7490b + .quad 0x3c512dff96b26d81, 0x3c982fd0e7486194 + .quad 0x3c4cd026b64a0ca8, 0x3c944bec79d5416c + .quad 0x3c4828be8d7b2e74, 0x3c9107adbae7661d + .quad 0x3c4441250d6b8cc7, 0x3c8c93261af2cd0d + .quad 0x3c40fa934555eb5a, 0x3c87f854fd47e7d3 + .quad 0x3c3c765c89feb632, 0x3c841ad99b7fc9eb + .quad 0x3c37da7c97c8ea4b, 0x3c80dc65148f57fc + .quad 0x3c33fd0bbb47d67c, 0x3c7c46fcad39a071 + .quad 0x3c30bf675e9015a3, 0x3c77b57aa64c1e42 + .quad 0x3c2c0facb396944a, 0x3c73e04ac23c3f11 + .quad 0x3c2781800b4c5862, 0x3c70a933c1a65e31 + .quad 0x3c23b0069a07f02d, 0x3c6beda3eeb5f0a2 + .quad 0x3c207cd15415698a, 0x3c6767a404101f5a + .quad 0x3c1b9cab20b7b4ac, 0x3c639c95b8dcd835 + .quad 0x3c171e48c82b190a, 0x3c606e649c54a11d + .quad 0x3c135a840f1bb9bf, 0x3c5b879e3daa485d + .quad 0x3c10333055f872d1, 0x3c570f426b1f5c67 + .quad 0x3c0b1dfbc5f13465, 0x3c53501cdad9df5b + .quad 0x3c06b163d96b3dd9, 0x3c502c4cdfc5722c + .quad 0x3c02fcfd4e6913ca, 0x3c4b157f19f267ea + .quad 0x3bffc5d8e0519af3, 0x3c46acd55017e4e2 + .quad 0x3bfa945119b38a65, 0x3c42fb4e266d3e9f + .quad 0x3bf63b6a2745bde1, 0x3c3fc696b5025168 + .quad 0x3bf297f53c6e927f, 0x3c3a97e9c202c067 + .quad 0x3bef18eb2ba6357f, 0x3c3640e915b3f3ea + .quad 0x3bea006a7219c6a4, 0x3c329ea2353deb28 + .quad 0x3be5bcff1208eb99, 0x3c2f278f182d5cce + .quad 0x3be22bf73da1838d, 0x3c2a0f8fae515880 + .quad 0x3bde60853b8b4b65, 0x3c25cc15bf9dbbbb + .quad 0x3bd963124add21c0, 0x3c223a9b1f0c9515 + .quad 0x3bd536cefa1810b4, 0x3c1e7c6162103b4e + .quad 0x3bd1b995f6e584af, 0x3c197d2ef035140a + .quad 0x3bcd9da06644bc9d, 0x3c154efd8e5e8a15 + .quad 0x3bc8bd1c79049ec2, 0x3c11cfc34a10ee47 + .quad 0x3bc4a98db9bff0e8, 0x3c0dc5f9803d5324 + .quad 0x3bc1416a031bacf2, 0x3c08e1907994f8d3 + .quad 0x3bbcd13f7b7c3414, 0x3c04ca4b88f6234c + .quad 0x3bb80f645203dff7, 0x3c015eac2ce52257 + .quad 0x3bb415f515af2672, 0x3bfd054eb8db2ad5 + .quad 0x3bb0c410a1d6b3ca, 0x3bf83d8652f7235c + .quad 0x3babfc6c8b2d1c95, 0x3bf43eb1f8cfdcf1 + .quad 0x3ba75acacc068ebe, 0x3bf0e7ed05fb3af3 + .quad 0x3ba37cc328e513e5, 0x3bec3b617ec3cfd6 + .quad 0x3ba0422a6340a512, 0x3be791e9c59e2b42 + .quad 0x3b9b2036a988bead, 0x3be3ace8dce03fbd + .quad 0x3b96a0349d192d1a, 0x3be06c218ca5f25a + .quad 0x3b92deb8d0dae905, 0x3bdb69393c895b87 + .quad 0x3b8f78b3aa5bebbe, 0x3bd6df997f6bab1b + .quad 0x3b8a3dafb67a96cf, 0x3bd315ac58b7d6b7 + .quad 0x3b85e0885ebd9cc3, 0x3bcfd7d13f78002d + .quad 0x3b823c981e88b022, 0x3bca8fe21d205eb0 + .quad 0x3b7e66846a73c925, 0x3bc62777b62fde0c + .quad 0x3b7955ea2f392221, 0x3bc279bb2446baf4 + .quad 0x3b751cacbb42476e, 0x3bbecfc5eb955129 + .quad 0x3b719722d0b598a4, 0x3bb9b06ad8cbcafb + .quad 0x3b6d4f0c5733dbc9, 0x3bb56a684fe99fca + .quad 0x3b6869f70ffc1fcb, 0x3bb1d9d500e92622 + .quad 0x3b645586a9e82938, 0x3badc163a555fefb + .quad 0x3b60ef18dbc017ff, 0x3ba8cbe28ca7c426 + .quad 0x3b5c338d2435fb4b, 0x3ba4a94f1540c9ea + .quad 0x3b577ae3cb88b469, 0x3ba136b93820fc76 + .quad 0x3b538bf7be87e681, 0x3b9cadeb8c3bba05 + .quad 0x3b50453702b9a5bb, 0x3b97e356a2db5e15 + .quad 0x3b4b154294e891da, 0x3b93e50df3387f95 + .quad 0x3b4689b85dc875b1, 0x3b909125281c373a + .quad 0x3b42c0dc90fab5ba, 0x3b8b969aedac7779 + .quad 0x3b3f346b0aa94647, 0x3b86f7d0d10edd84 + .quad 0x3b39f5604d9610b0, 0x3b831e8350b95dae + .quad 0x3b3597757e14e4e8, 0x3b7fd3a5c3ac18bb + .quad 0x3b31f50b401397f7, 0x3b7a7ca8fa240180 + .quad 0x3b2ddd8dcb76e388, 0x3b760a5532471804 + .quad 0x3b28d50fcdd2a012, 0x3b7256887c26e498 + .quad 0x3b24a512f5483d32, 0x3b6e82efb884fa70 + .quad 0x3b2129521372a709, 0x3b6961449f1f5f93 + .quad 0x3b1c872d91eff745, 0x3b651be080b9d49d + .quad 0x3b17b56e9895b756, 0x3b618df034ba2c47 + .quad 0x3b13b37e1b01d1bd, 0x3b5d31877f1753ba + .quad 0x3b105e763ef1c6e1, 0x3b5845928aac023d + .quad 0x3b0b3291e83a6dda, 0x3b542d6673958cf7 + .quad 0x3b06978c8d7d61b8, 0x3b50c58552d896bd + .quad 0x3b02c3987ce2b431, 0x3b4be0be95f0126e + .quad 0x3aff2a6593b4ee39, 0x3b472aab5cc51918 + .quad 0x3af9e0f0cfd57ab4, 0x3b433fd04413c4e8 + .quad 0x3af57c6a75ebbd36, 0x3b3ffc132424c87a + .quad 0x3af1d636b1da2b46, 0x3b3a91d6af35687b + .quad 0x3aed9c6f3705063c, 0x3b36119a09e14fe5 + .quad 0x3ae8936d384f421a, 0x3b3253fb5c838ba6 + .quad 0x3ae464f8c7e074fc, 0x3b2e7068fdcaeb4e + .quad 0x3ae0ec1f5aebc21f, 0x3b2945fff2eb1b17 + .quad 0x3adc14515cb6f8f0, 0x3b24fb5a7146299a + .quad 0x3ad74b15b6eeceb1, 0x3b216ab8334ccb0a + .quad 0x3ad352169fa33216, 0x3b1ce965139dad89 + .quad 0x3ad0060a522d6818, 0x3b17fe578074e0c8 + .quad 0x3aca933ad3e37ea3, 0x3b13e8d828e807b4 + .quad 0x3ac608e37fe916b7, 0x3b1084c9533fea9d + .quad 0x3ac24490f08ca22d, 0x3b0b68488148e38c + .quad 0x3abe4940102c0a26, 0x3b06bbe630bdc58c + .quad 0x3ab91a40479b1837, 0x3b02daed7fd23569 + .quad 0x3ab4cdb9a0d20ef7, 0x3aff45c523b5ec4e + .quad 0x3ab13d21ec7ce7a5, 0x3af9ee3b5d440d20 + .quad 0x3aac90f21d2d475f, 0x3af57f9f997e1f52 + .quad 0x3aa7aa5b8d4b4359, 0x3af1d262b74c69e4 + .quad 0x3aa39a647b21bed6, 0x3aed8b50e711660a + .quad 0x3aa03c70a0dadb1d, 0x3ae87c4bc616ed3d + .quad 0x3a9ae43ba1c85bb1, 0x3ae44a615135e868 + .quad 0x3a96446b3db12c58, 0x3ae0cfed72363bb7 + .quad 0x3a926f997cdc041d, 0x3adbdb5f7a82d0f4 + .quad 0x3a8e86218ea3e6ac, 0x3ad7136d3b897e11 + .quad 0x3a89440cec9f5e3a, 0x3ad31cf2729ac24d + .quad 0x3a84e93295651e9b, 0x3acfa860b2bf75f8 + .quad 0x3a814df714b2cc27, 0x3aca36fa64c5b19f + .quad 0x3a7ca3058fde005f, 0x3ac5b478418ed951 + .quad 0x3a77b135dc219792, 0x3ac1f8035d726d41 + .quad 0x3a73995999427ba7, 0x3abdbf75e60682c2 + .quad 0x3a703604de581436, 0x3ab89f0afa1deeca + .quad 0x3a6ad067d36fa2c8, 0x3ab4602a49df0a52 + .quad 0x3a662c6642f5d4b9, 0x3ab0dc2db21eaf21 + .quad 0x3a62556d7a42568a, 0x3aabe61355e30a98 + .quad 0x3a5e5068065139be, 0x3aa7145a7dd1cf8c + .quad 0x3a590efd5cd13c30, 0x3aa31725e0702649 + .quad 0x3a54b62e9374c452, 0x3a9f93e90900fd6b + .quad 0x3a511de133cc6916, 0x3a9a1d0c10ff74df + .quad 0x3a4c49bf95c5f745, 0x3a9597928f3e0c70 + .quad 0x3a475f56ab48bd89, 0x3a91d9f316556fcc + .quad 0x3a434f00cbd8ea42, 0x3a8d8389849eaf01 + .quad 0x3a3fe61cbe17950d, 0x3a88650e1db268eb + .quad 0x3a3a589caf82618c, 0x3a84293ddcb013c1 + .quad 0x3a35c1e107375834, 0x3a80a90025fd130c + .quad 0x3a31f7319c565581, 0x3a7b87eb911fc5ef + .quad 0x3a2daa6c6af5c17f, 0x3a76bea387f6b0a0 + .quad 0x3a287d63120a742c, 0x3a72c9c915a28dda + .quad 0x3a2436e80df031f0, 0x3a6f094496a5e827 + .quad 0x3a20aef9bffa708d, 0x3a69a19446f657cc + .quad 0x3a1b890579385cdc, 0x3a652a33b4b8094c + .quad 0x3a16b84ffdb5d885, 0x3a6179841589cd00 + .quad 0x3a12be9773700384, 0x3a5cda2d93f291ab + .quad 0x3a0eecef0206652c, 0x3a57d0e0e7cac5b0 + .quad 0x3a09821029662ccf, 0x3a53a804f20fd2f4 + .quad 0x3a05097c74b3d08e, 0x3a5038a34010e13f + .quad 0x3a0158fcf12f6c8e, 0x3a4ac508371be502 + .quad 0x39fc9b60c296975d, 0x3a461608ea10db83 + .quad 0x39f7958bc88e6006, 0x3a42383e3bce3750 + .quad 0x39f370dfa8e149d1, 0x3a3e0e820ef74630 + .quad 0x39f0060a594f59c7, 0x3a38c9f67fa9c048 + .quad 0x39ea6925bee98d74, 0x3a3471203b047e85 + .quad 0x39e5c351b4996320, 0x3a30dae92b938870 + .quad 0x39e1ee518d278c58, 0x3a2bcabf2ba981bf + .quad 0x39dd8b2f8b0b2924, 0x3a26e8f25135d13f + .quad 0x39d855f0a34582a6, 0x3a22e219acb023ae + .quad 0x39d40b1881e58e30, 0x3a1f1fe817902ceb + .quad 0x39d0818d80634105, 0x3a19a5d5233d8e13 + .quad 0x39cb2ecbb2e8d76c, 0x3a1521d0766f8b85 + .quad 0x39c6614d9da549fb, 0x3a1168c985c93c95 + .quad 0x39c26c7736a63e7f, 0x3a0cae6809d7d445 + .quad 0x39be546a107b57d5, 0x3a079f71edd3cb51 + .quad 0x39b8f64020effd9c, 0x3a037443c37e4835 + .quad 0x39b48aa64075b150, 0x3a0004e8297ce819 + .quad 0x39b0e6e891142764, 0x39fa60ceba01346a + .quad 0x39abcfa525d16889, 0x39f5b71dfbe662f9 + .quad 0x39a6e0be1ed4e4cc, 0x39f1dfe04c5b884a + .quad 0x39a2d14568fa3103, 0x39ed6c299b6b03de + .quad 0x399ef39c9c67da70, 0x39e8366f8264d161 + .quad 0x399973b86e9a718f, 0x39e3ec401194be5f + .quad 0x3994ed55e6d4d5df, 0x39e0641ea45be131 + .quad 0x3991345b1de4a541, 0x39daf7b06dd7c2fa + .quad 0x398c48e8cf8e20ed, 0x39d62e7924beab28 + .quad 0x39873f6cd7db5a56, 0x39d23e2123cac1dc + .quad 0x39831afb2e91937b, 0x39ce00be39adba8f + .quad 0x397f6600b76754fc, 0x39c8ab4ee2717624 + .quad 0x3979cc2881babaf0, 0x39c447fa5b4e25fe + .quad 0x3975316d5b010b17, 0x39c0abf02c055867 + .quad 0x3971688993cfebe3, 0x39bb67d9f35f4de8 + .quad 0x396c98758b0a4eba, 0x39b685ccfe1e2ab5 + .quad 0x39677baf72da4868, 0x39b281e65593d670 + .quad 0x3963484c1e2418cb, 0x39ae698bd1000fd2 + .quad 0x395fa991c2110340, 0x39a8fc0326c87b11 + .quad 0x3959fe006460b912, 0x39a485d5ed97243e + .quad 0x395555b844a27ecd, 0x39a0db191585c5a2 + .quad 0x395182875c9f3984, 0x399baf50ff65044d + .quad 0x394cbce2423a80ac, 0x3996bb8ebe73c54a + .quad 0x394794741d4d28c6, 0x3992a9fd1221e357 + .quad 0x3943586a18110b0e, 0x398ea4b746dbeae3 + .quad 0x393fbd1c1dcb3991, 0x3989271dfe5687e7 + .quad 0x393a085cf5d6c87e, 0x3984a4b9ae2c857d + .quad 0x393559911f8b7812, 0x3980f0c2d578f06a + .quad 0x393181ddd71c27fb, 0x397bccd0201398ba + .quad 0x392cb5889458c00e, 0x3976cec95dfef21a + .quad 0x392789499da6bff1, 0x3972b5ae7721763f + .quad 0x39234b0b5ddf82c6, 0x396eb1327842cc63 + .quad 0x391fa04646636ebe, 0x39692bda7bca05b7 + .quad 0x3919eb0ea42d451e, 0x3964a4186866270a + .quad 0x39153ce6234f7db7, 0x3960ec8a57831ec5 + .quad 0x3911668fdbb007d5, 0x395bbfd05e1b64f3 + .quad 0x390c8289c5fd0187, 0x3956bf24d893426c + .quad 0x39075a62b0407aef, 0x3952a4c4fb42b862 + .quad 0x3903206cc37b0e4a, 0x394e8ec43d273fba + .quad 0x38ff53937c26236e, 0x39490a22ee0d506e + .quad 0x38f9a69ad7793258, 0x394483f4fee6553c + .quad 0x38f50039cbf56e41, 0x3940ce82f0139653 + .quad 0x38f13119a81ee824, 0x393b888d3fea2a71 + .quad 0x38ec24cdc6a6909b, 0x39368ce8cbb7eaeb + .quad 0x38e7089487e1182e, 0x3932778e05f0f826 + .quad 0x38e2d94fe2dcd5a4, 0x392e3e0a1bcb7b90 + .quad 0x38ded85fe218f015, 0x3928c29185861611 + .quad 0x38d93c37ffa2be30, 0x392444e2559eb861 + .quad 0x38d4a49efe08b764, 0x39209735c9244f77 + .quad 0x38d0e26d33274acd, 0x391b28030446d467 + .quad 0x38cb9dfc560135f0, 0x391638fa554a9791 + .quad 0x38c6955081ac80b2, 0x39122ed7a20d2031 + .quad 0x38c276f565251c73, 0x390dc07399fb9ebd + .quad 0x38be30d639687648, 0x3908566bbf3afdcc + .quad 0x38b8adc46e842374, 0x3903e7fef514c8f7 + .quad 0x38b42bb0eedd3fb2, 0x3900479dd0162987 + .quad 0x38b07beb0edff1b8, 0x38fa9fe7272a642b + .quad 0x38aaf070915be74e, 0x38f5c4d5495043b3 + .quad 0x38a602994f04daa5, 0x38f1cbea64272b5f + .quad 0x38a1fb139d7ad130, 0x38ed18375dee0b86 + .quad 0x389d5fdfa65dd70d, 0x38e7c798c690caf6 + .quad 0x3897fdb85ec65bd4, 0x38e36eec953c25e3 + .quad 0x38939787263ebbca, 0x38dfc2409fc1812e + .quad 0x388ffeb0495cc103, 0x38d9f29b80329143 + .quad 0x388a1f276c1aeb71, 0x38d5328106ecc8f8 + .quad 0x388552f40714fe54, 0x38d1507fc4d2f4ba + .quad 0x388167c9d827337c, 0x38cc484291d11ff0 + .quad 0x387c690e28b6a9bf, 0x38c7189333483e3b + .quad 0x38772f13b97db104, 0x38c2dbc3e931f24d + .quad 0x3872eaa616a9b21c, 0x38becb050b3055a0 + .quad 0x386edda16b7edc87, 0x38b9231c8255bcdb + .quad 0x38692da9c960076a, 0x38b4848161f4e509 + .quad 0x38648955baf138af, 0x38b0beb55467080a + .quad 0x3860bf90e157d9da, 0x38ab542338309321 + .quad 0x385b5082a5d8de09, 0x38a64c56b8fb3cec + .quad 0x3856454856772fed, 0x38a231052b5f7dd6 + .quad 0x385227ecea87251d, 0x389dadb937ed07eb + .quad 0x384d99724acabf71, 0x389834eb55a1d18e + .quad 0x38481ff31715569a, 0x3893bdc43dd8955f + .quad 0x3843a90e48619574, 0x389018fd4cd15479 + .quad 0x384005296113b586, 0x388a3fee5158c03f + .quad 0x383a1acf8c750894, 0x3885664a8518a142 + .quad 0x38354421936100c1, 0x388171860917e7c8 + .quad 0x383152813e135602, 0x387c6f152728fb8f + .quad 0x382c375a4cba7b23, 0x38772bf4ab4db677 + .quad 0x3826fa5568fa20f3, 0x3872e18c95c4bfb1 + .quad 0x3822b5b13ef0805c, 0x386ec41a3d4cf576 + .quad 0x381e77117811a7d2, 0x38691022d83bf8f5 + .quad 0x3818ccd934db2cb0, 0x38646a292659269e + .quad 0x38142faa33070d2a, 0x3860a05da41d6048 + .quad 0x38106db98d7f6125, 0x385b14375f322de2 + .quad 0x380abcdbdfcc9f7c, 0x38560c75486158b0 + .quad 0x3805c15c23fbb403, 0x3851f35bc35fb59f + .quad 0x3801b2fdb7cab6df, 0x384d39954e0a9d3d + .quad 0x37fccb8a64624f6c, 0x3847c98ab66270f5 + .quad 0x37f76bb52e82b59a, 0x38435be6eb898758 + .quad 0x37f30c117f001ac3, 0x383f819edd38db9c + .quad 0x37eefa0e49e3fecc, 0x3839a2821242ebd0 + .quad 0x37e92fa046d58d4e, 0x3834dadd528d6ea9 + .quad 0x37e479ae4e865fee, 0x3830f6d9e092345c + .quad 0x37e0a4c603089f16, 0x382b987187720ae4 + .quad 0x37db0e03e96a5485, 0x3826711ad9310ce1 + .quad 0x37d5fc89a9e03199, 0x38223f97aea9f29f + .quad 0x37d1dd90a3522c75, 0x381dac6b554960ff + .quad 0x37cd07c0b8b30398, 0x38181f77dc55f2bd + .quad 0x37c795540ea5dda7, 0x38139bb36d1a51da + .quad 0x37c327f191dd6247, 0x380fdf7c425dfb89 + .quad 0x37bf1db008e061d6, 0x3809e6c7f42ee3a0 + .quad 0x37b944b7c8850269, 0x38050bd38f4b0e14 + .quad 0x37b4846e1e475567, 0x38011954fcd9d596 + .quad 0x37b0a8512d6deeb0, 0x37fbc7d8a23288e1 + .quad 0x37ab0b57b848dfd5, 0x37f69099571fea27 + .quad 0x37a5f385601a1095, 0x37f25378a9823720 + .quad 0x37a1d0aee3f21eae, 0x37edc36feecfa2ba + .quad 0x379ce9ce0f1b56b8, 0x37e82a9fb7ad076b + .quad 0x379775af322a6fb6, 0x37e39ea243c7bf71 + .quad 0x3793084e2fb958e5, 0x37dfda4af81b306a + .quad 0x378ee0aaff5c7275, 0x37d9da7a2c5ab52c + .quad 0x37890b5b261712ac, 0x37d4fb44aa933f5c + .quad 0x37844f853ca3d2a1, 0x37d1068e39733d5f + .quad 0x37807839b24e2329, 0x37cba0b385a9673f + .quad 0x377ab4ef712ea53c, 0x37c669cb88b98bb4 + .quad 0x3775a6a27edc2aaf, 0x37c22e458ff074e2 + .quad 0x37718ccfb2383c0d, 0x37bd7dccacf16bdf + .quad 0x376c72c7d427b5c7, 0x37b7ea9a57d9c3fd + .quad 0x37670debd3477d7c, 0x37b364981b4fcacc + .quad 0x3762ae4c8505c4dc, 0x37af723b60a4c45a + .quad 0x375e45347f37826d, 0x37a97e0b5db827a8 + .quad 0x3758859d9d834871, 0x37a4a9cae44d02aa + .quad 0x3753dcdd6f53a761, 0x37a0bf347561e06f + .quad 0x3750163c7a1b8ce3, 0x379b246ea577dcd5 + .quad 0x374a0de9e4d0326a, 0x3795fe1a8f2ffd47 + .quad 0x374518a7407eb90e, 0x3791d15869af1a46 + .quad 0x3741146574533e59, 0x378cde08f63664fd + .quad 0x373ba6f77161f191, 0x378761ba88bf6eed + .quad 0x373661c59f17fae0, 0x3782efafc89163c3 + .quad 0x37321d2894bdd4c7, 0x377eab12c8aa7e50 + .quad 0x372d50e0eba3e44d, 0x3778d4d432dee077 + .quad 0x3727b84a5753cf1f, 0x37741a589d11cb19 + .quad 0x37233091416396db, 0x377045db9ec2ba81 + .quad 0x371f0bb3ff173143, 0x376a57861242277f + .quad 0x37191c3cacc75aaa, 0x376551681b8d3610 + .quad 0x37144ea256a84bb0, 0x376140098b38820c + .quad 0x37106bb841410434, 0x375be9e2feb561e0 + .quad 0x370a8d98b0d57710, 0x375694e9fdcb7be5 + .quad 0x37057755a2313bdf, 0x37524419d9ce37ff + .quad 0x37015a03d39bca43, 0x374d8bf1578b3aac + .quad 0x36fc0c4e9f387792, 0x3747e4dfe2cee6a2 + .quad 0x36f6aa9b63079411, 0x3743520b0bf08a51 + .quad 0x36f250ad98a67e4f, 0x373f3daa3dd37f3a + .quad 0x36ed9842421f4af1, 0x37394140b3abb78e + .quad 0x36e7e859d0226582, 0x373469d2facc66f7 + .quad 0x36e34f9e5d4c96d3, 0x37307f7c6b04c092 + .quad 0x36df314a5f5af6d7, 0x372aa9f80ec12e52 + .quad 0x36d9306ca687d568, 0x37258b5e63278412 + .quad 0x36d456b681315daf, 0x372167dcc97a0fd3 + .quad 0x36d06b98180e66f0, 0x371c1ee5bab4ede7 + .quad 0x36ca82a4c036e3f3, 0x3716b69077bfc3c7 + .quad 0x36c565cda5d05a6a, 0x371257dcc5bc2717 + .quad 0x36c144d77262f022, 0x370d9fdd2296338f + .quad 0x36bbdec7b50a66c0, 0x3707eb427b4ddd71 + .quad 0x36b67cb265d8483a, 0x37034f5aee912170 + .quad 0x36b224399b226996, 0x36ff2ca4dc8ff69f + .quad 0x36ad448f86c23d12, 0x36f92943634830d2 + .quad 0x36a79b2a15ae0faa, 0x36f44e2d8e947442 + .quad 0x36a3098d833c2da0, 0x36f0627b1e47c261 + .quad 0x369eb3aa595948f3, 0x36ea705784809825 + .quad 0x3698c0f08dff4e68, 0x36e554226cd542ef + .quad 0x3693f49a8880f6ad, 0x36e1343e7a202e90 + .quad 0x369015dd1c62a082, 0x36dbc0384ab3550d + .quad 0x3689edb80143a705, 0x36d660fe966c4e28 + .quad 0x3684e52056f2dec4, 0x36d20b6b60dae611 + .quad 0x3680d62a769875e0, 0x36cd1893fc15ba16 + .quad 0x367b2128dd015485, 0x36c7747e31ddd25c + .quad 0x3675dad6d3a16694, 0x36c2e7c997078049 + .quad 0x36719a81ef58dfc6, 0x36be790d89e8e564 + .quad 0x366c5ae1b79c4ee8, 0x36b88e545d12ba57 + .quad 0x3666d56e11abc8a7, 0x36b3c919aea97870 + .quad 0x366262a204b39df1, 0x36afe13c6f07b6ae + .quad 0x365d9a774b67b183, 0x36a9ae2b16a9550a + .quad 0x3657d48e51f6d6ed, 0x36a4af14f857334e + .quad 0x36532e43016e50e4, 0x36a0a8564eab8ff5 + .quad 0x364edf747f9f14f1, 0x369ad3a333504020 + .quad 0x3648d7d80e14b910, 0x3695996d7e13f467 + .quad 0x3643fd1708b687cb, 0x3691636f3d76858a + .quad 0x364014ad3fec9ec4, 0x368bfe545fce7a55 + .quad 0x3639dee40ecc2982, 0x368687ce08618977 + .quad 0x3634ceca2b274540, 0x368221a377d62eb4 + .quad 0x3630bbd071377b87, 0x367d2dcd30499eb7 + .quad 0x362ae9438e9a5c0b, 0x367779da2df7a30c + .quad 0x3625a30285652ad0, 0x3672e2a7c1fe1c5f + .quad 0x362164daef1c2b15, 0x366e61933d473856 + .quad 0x361bf6806876a635, 0x36686f2e6e7e582a + .quad 0x36167960688424ef, 0x3663a62b4892ce6e + .quad 0x36120f7f47f404a7, 0x365f99234ed0089e + .quad 0x360d061d530972c5, 0x3659676058974913 + .quad 0x3607517e8c57f622, 0x36546bd7c1e28ef0 + .quad 0x3602bb6ba79809ed, 0x365069f8cb02119f + .quad 0x35fe179628712470, 0x364a61febb6d574d + .quad 0x35f82af24bbe81dd, 0x36453351984f5d61 + .quad 0x35f3684a09debb18, 0x364108b4faaa8971 + .quad 0x35ef2a603a977e7c, 0x363b5e91e3ee196d + .quad 0x35e9054beadf5a51, 0x3635fc381e001854 + .quad 0x35e415c074fc9065, 0x3631a8782bc000be + .quad 0x35e01ef55a0092e3, 0x362c5c9be5ba37d4 + .quad 0x35d9e016e74801cb, 0x3626c625c9dd5c05 + .quad 0x35d4c3713bae315d, 0x362248f08aa2a9f5 + .quad 0x35d0a8cf82738469, 0x361d5b98efc2e8d5 + .quad 0x35cabada51b7b47e, 0x361790b07dcc17dd + .quad 0x35c570fb47030aa8, 0x3612e9c8b4dec3de + .quad 0x35c13270ae279a57, 0x360e5affac730013 + .quad 0x35bb951931589ad6, 0x36085b69d604d483 + .quad 0x35b61dfa678e3296, 0x36038aa7fa8655e3 + .quad 0x35b1bb88966006c4, 0x35ff5a41ad29abd6 + .quad 0x35ac6e52f00f28e6, 0x35f925df815332e1 + .quad 0x35a6ca07adb2cabe, 0x35f42b32a68b6433 + .quad 0x35a243c4de072741, 0x35f02c65f05a223c + .quad 0x359d4603cf73627e, 0x35e9ef9ba1f58105 + .quad 0x359774b9c8b06520, 0x35e4cb0a4ddc2264 + .quad 0x3592cad15ed5f00d, 0x35e0ab038a2ddd17 + .quad 0x358e1ba565f2f2da, 0x35dab82536c08c11 + .quad 0x35881da56c03901c, 0x35d569ce24f30cad + .quad 0x358350587b61e2e7, 0x35d128ac3f80b9ac + .quad 0x357eeeaf2386ba73, 0x35cb7f008c184953 + .quad 0x3578c45dba9ebaff, 0x35c6071b5b7d5f0b + .quad 0x3573d40375ab2fc9, 0x35c1a5112ad78884 + .quad 0x356fbe96dd52dd2a, 0x35bc43afb43abf3a + .quad 0x35696874b77050b3, 0x35b6a28d7dab4750 + .quad 0x3564557ac9b8a4ff, 0x35b21fe234726979 + .quad 0x35604568afbad70b, 0x35ad05b30647f5b6 + .quad 0x355a097bba9c5bba, 0x35a73bbedaae952f + .quad 0x3554d4668bc3c638, 0x35a298ce64edbc52 + .quad 0x3550a969821c25d4, 0x359dc489a35fd890 + .quad 0x354aa703eac27071, 0x3597d248efdebaf1 + .quad 0x3545506ec96ce1d8, 0x35930f843b6c62b7 + .quad 0x35410b0827e1c59f, 0x358e7fb2011e1175 + .quad 0x353b409eb99c2287, 0x358865c4d7ebd336 + .quad 0x3535c93bed6568e9, 0x358383b206d0bb99 + .quad 0x353169ff47b694c6, 0x357f36aa78ac249d + .quad 0x352bd5de633517f7, 0x3578f5cbbd7e3bd9 + .quad 0x35263e7724f64774, 0x3573f5064180659d + .quad 0x3521c60a3dd2224e, 0x356fe8f1d993bb19 + .quad 0x351c66566ef40333, 0x356981f750955121 + .quad 0x3516afcac6c09d1a, 0x3564632fef2669ec + .quad 0x35121ee56dbc8c6a, 0x35604b03ffb7174a + .quad 0x350cf19c31a391ac, 0x355a09e23dee12db + .quad 0x35071ce2ba111a68, 0x3554cddefbe00dae + .quad 0x3502744e94597df0, 0x35509eb734c1a314 + .quad 0x34fd77474fa3c96f, 0x354a8d28a7b21f9e + .quad 0x34f7856cde19858b, 0x354534c49c3a48a0 + .quad 0x34f2c60519b06073, 0x3540ef5469afe541 + .quad 0x34edf6f23e67822e, 0x353b0b689ea896f0 + .quad 0x34e7e9197060941a, 0x35359793ad60d8ab + .quad 0x34e313ca61e59763, 0x35313c9ee6b2a529 + .quad 0x34de703ac45eb1a5, 0x352b84429b1d33d8 + .quad 0x34d8479b71b66ff2, 0x3525f60114dc317a + .quad 0x34d35d621cd7892f, 0x3521865baa279b03 + .quad 0x34cee2c2766d39ae, 0x351bf759f4ae6481 + .quad 0x34c8a0a908fbee34, 0x35164fc41f392bcd + .quad 0x34c3a29293d26666, 0x3511cc51b3533d1b + .quad 0x34bf4e2f320ed2f5, 0x350c645558315ad7 + .quad 0x34b8f3fbe30bc1d8, 0x3506a496dcf46820 + .quad 0x34b3e324f4cf0981, 0x35020e4a4b8e031e + .quad 0x34afb22b934b9930, 0x34fccadf3adb1af0 + .quad 0x34a941518f17ca26, 0x34f6f4367d03dbd8 + .quad 0x34a41ee59ab3f625, 0x34f24c114d622260 + .quad 0x34a00733b2d2d2a7, 0x34ed2aa649df6e65 + .quad 0x3499886bd6d1085b, 0x34e73e63a45afd4d + .quad 0x349455a452136a60, 0x34e285756918be22 + .quad 0x3490314c07978175, 0x34dd835dd5ba6335 + .quad 0x3489c91111b6c15f, 0x34d782e2c1c97a81 + .quad 0x3484873499e69a71, 0x34d2ba486638ab1e + .quad 0x3480573c7a800f18, 0x34cdd4be385e9720 + .quad 0x347a030c72f0cf33, 0x34c7c17c5d99552c + .quad 0x3474b36ddfcc8743, 0x34c2ea5f617d321f + .quad 0x347078e5ec28bafd, 0x34be1e853589fe15 + .quad 0x346a362e51221b9f, 0x34b7f9fd64579e1a + .quad 0x3464da2bb75a5c65, 0x34b3159306d0abd0 + .quad 0x3460962c95c3eb50, 0x34ae6076548c0765 + .quad 0x345a624c67aa97df, 0x34a82c376c3acddf + .quad 0x3454fb4e0c13d490, 0x34a33bbfc6dd55a6 + .quad 0x3450aef82f484486, 0x349e9a5b32d2ef52 + .quad 0x344a874210dbadcf, 0x34985800f4a2d262 + .quad 0x344516b94dabb86d, 0x34935cc607ce4fd8 + .quad 0x3440c33410fd4c56, 0x348ecc03cea2935d + .quad 0x343aa4f078af0321, 0x34887d359f39448e + .quad 0x34352c5696370c9d, 0x3483788a50e33e44 + .quad 0x3430d2cf5025ba2d, 0x347ef546c9652b0a + .quad 0x342abb3ec79d594d, 0x34789bb66243bfd5 + .quad 0x34253c13ca08d951, 0x34738ef570827673 + .quad 0x3420ddbcd68fc943, 0x346f1601a115b514 + .quad 0x341aca1a45423b35, 0x3468b369b3c6ec4f + .quad 0x341545e3b0f8838a, 0x34639ff49c7fe5e8 + .quad 0x3410e3f374dd9d68, 0x345f2e18e05495b4 + .quad 0x340ad1767288e013, 0x3458c43bad265564 + .quad 0x340549be08e15927, 0x3453ab798c59d4c2 + .quad 0x3400e56def61fbc4, 0x344f3d7844c8a592 + .quad 0x33fad14d1b2f0b5f, 0x3448ce1e26fb8214 + .quad 0x33f5479f9137160b, 0x3443b17a8d383f04 + .quad 0x33f0e22b05782284, 0x343f4412db819edf + .quad 0x33eac99e5e7b9269, 0x3438d108ccedcd75 + .quad 0x33e53f8a0f98a8b8, 0x3433b1f28f8795ca + .quad 0x33e0da2d734853ff, 0x342f41e3132440da + .quad 0x33daba70af1767b0, 0x3428ccf9296410ae + .quad 0x33d531844d58365e, 0x3423ace12e143377 + .quad 0x33d0cd7bedf59779, 0x341f36eac3bc78c2 + .quad 0x33caa3d0ca096eed, 0x3418c1f2a8f92477 + .quad 0x33c51d9a0dfd2e93, 0x3413a24aae988ae7 + .quad 0x33c0bc211a3c2859, 0x340f23332c263066 + .quad 0x33ba85d1a4e6bedc, 0x3408affe95ac6f2a + .quad 0x33b503dbfed30324, 0x34039237fbbcfa18 + .quad 0x33b0a62b7d92f095, 0x33ff06cce511da3e + .quad 0x33aa608c535a2ba1, 0x33f8972c09d7f45c + .quad 0x33a4e45f9fa4adff, 0x33f37cb698950bda + .quad 0x33a08bad69ed20a4, 0x33eee1cfc9be3df9 + .quad 0x339a341fe436d2d7, 0x33e8778fdb058321 + .quad 0x3394bf3f24d273a5, 0x33e361d88db2b95b + .quad 0x33906cbce44363ec, 0x33deb45ad695330a + .quad 0x338a00b13659be7c, 0x33d851447ccc879b + .quad 0x3384949952fc2371, 0x33d341b44ff4c3c6 + .quad 0x3380497386163a39, 0x33ce7e93fdecae00 + .quad 0x3379c66ac5ae65b3, 0x33c82469dbf1833e + .quad 0x337464915486577b, 0x33c31c64a141680e + .quad 0x337021ee5a248c7f, 0x33be40a7f340982a + .quad 0x3369857c70b8b2bc, 0x33b7f125320f1e94 + .quad 0x33642f4e894cc71a, 0x33b2f2086b6a5cf4 + .quad 0x335fec9b69351b70, 0x33adfac9ed4c27ce + .quad 0x33593e1b371520a1, 0x33a7b7a0d21f0262 + .quad 0x3353f4fc50de840a, 0x33a2c2c295822108 + .quad 0x334f8d6a0e0a9508, 0x339dad335f7aacdb + .quad 0x3348f080f16c57c0, 0x3397780bee4609a1 + .quad 0x3343b5c9cfaada16, 0x33928eb9d3f5000a + .quad 0x333f269560bdbf92, 0x338d5823ab37d92e + .quad 0x33389cec0363502d, 0x3387329a5753ca24 + .quad 0x333371e9af8e6ccf, 0x3382561873c1cc7a + .quad 0x332eb86f931c309d, 0x337cfbdfc9b64d6e + .quad 0x3328439f081b525a, 0x3376e7843670c8d2 + .quad 0x33232991dc38028e, 0x3372190c2136fc76 + .quad 0x331e434fdd743954, 0x336c98b1eed08258 + .quad 0x3317e4e079de1a2e, 0x33669705c180d6c1 + .quad 0x3312dcfb3be31ebd, 0x3361d7c5aaa09490 + .quad 0x330dc7920bafc5dc, 0x335c2ee925b3e3f6 + .quad 0x330780fa5599d558, 0x3356415eeac7f744 + .quad 0x33028c6164ec1235, 0x33519278bf59ff34 + .quad 0x32fd459605b63623, 0x334bbed8e8100752 + .quad 0x32f71839bad6a45b, 0x3345e6d30c67b96b + .quad 0x32f2380250c57526, 0x3341495babbc8d8e + .quad 0x32ecbdbf53eed588, 0x333b48d8b08c37b5 + .quad 0x32e6aaee88d3a5e6, 0x333587a8905112eb + .quad 0x32e1e01e0cda0c0e, 0x3330fca71267dd26 + .quad 0x32dc3074a0c1c67d, 0x332acd43894c1f06 + .quad 0x32d6396af97c5f7f, 0x33252428954b7c2f + .quad 0x32d184f669e7e645, 0x3320ac95a364b406 + .quad 0x32cb9e1f37f768c9, 0x331a4c779750fb77 + .quad 0x32c5c4033ae88d94, 0x3314bc9e91b546a8 + .quad 0x32c126ceaa621095, 0x33105963d1a5105b + .quad 0x32bb072a84d6770b, 0x3309c6d5a387a6d7 + .quad 0x32b54b0d08180ac6, 0x33045157f4a2e598 + .quad 0x32b0c5eb30658611, 0x3300034f87652744 + .quad 0x32aa6c038fdf5aed, 0x32f93cc0a254a9f5 + .quad 0x32a4cedf419a9b38, 0x32f3e2a3c60327aa + .quad 0x32a062912bcc23f9, 0x32ef552fb3e1c70b + .quad 0x3299cd187cff951c, 0x32e8ae9d3a6eb66f + .quad 0x32944fd186d008c2, 0x32e370d2466d3327 + .quad 0x328ffa0c91caab55, 0x32de9ef97aa04b46 + .quad 0x32892ad80b12a09b, 0x32d81cd14bd535bb + .quad 0x3283ce3bd0683046, 0x32d2fc348f3a8121 + .quad 0x327f2b20c0b002ab, 0x32cde47d70b3398c + .quad 0x327885b1157e885c, 0x32c787c377ac34cd + .quad 0x32734a760cc47aca, 0x32c2851c338b22e4 + .quad 0x326e58ea51580bad, 0x32bd263d33512bb6 + .quad 0x3267de1218b19542, 0x32b6efdaa9c0e45e + .quad 0x3262c4d7bed4d522, 0x32b20bdae2cd61c6 + .quad 0x325d83f3d3e6d150, 0x32ac64ba5bdb46de + .quad 0x32573468ba3c29b8, 0x32a6557da47246f7 + .quad 0x32523db7a001a935, 0x32a190c20d5b5808 + .quad 0x324cacc668087b83, 0x329ba075f0192b60 + .quad 0x324689215536317f, 0x3295b9128fb09361 + .quad 0x3241b56b45aac06f, 0x329114228bb99133 + .quad 0x323bd3e92f58e3ae, 0x328ad9efd6e7e350 + .quad 0x3235dca68b92a62f, 0x32851afe8bbb6b6c + .quad 0x32312c46cab86e91, 0x3280964c48f92b05 + .quad 0x322af9e0c680145a, 0x327a11a652260d00 + .quad 0x32252f60dcf5b390, 0x32747ba5483b6e8f + .quad 0x3220a29c7db10f70, 0x3270178df0b67157 + .quad 0x321a1f2ec5b27de2, 0x326948157e97fbd7 + .quad 0x321481b643932bec, 0x3263db68a0470a4f + .quad 0x321018bc93b8e2e5, 0x325f306942454ae6 + .quad 0x3209445149305037, 0x32587db6da6dd3ca + .quad 0x3203d409d78b6819, 0x32533aa83bd4deab + .quad 0x31ff1de9c1ab95aa, 0x324e311742f9561b + .quad 0x31f869c2824b4b6b, 0x3247b300d303ed2c + .quad 0x31f326bb792c8c5b, 0x324299c1370fc2d1 + .quad 0x31ee0b212b870715, 0x323d31b83aa1a53b + .quad 0x31e78ff85165ac91, 0x3236e8665a634aff + .quad 0x31e27a27826da7a5, 0x3231f90dcff1976e + .quad 0x31dcf9b0072f8176, 0x322c32d9c998168a + .quad 0x31d6b763e947db08, 0x32261e5684f4d137 + .quad 0x31d1cea67fe8699c, 0x322158e51a7ac97e + .quad 0x31cbea20cad09b1f, 0x321b350464c51c99 + .quad 0x31c5e0717c155a1c, 0x3215553c2fc66728 + .quad 0x31c1248cf18568a2, 0x3210b99abbccdbb1 + .quad 0x31badcf760300963, 0x320a38baebfb68e4 + .quad 0x31b50b87f214792d, 0x32048d7dafad7ffe + .quad 0x31b07c2b12fe4dba, 0x32001b7eac5ea688 + .quad 0x31a9d2b0d0c4a0b1, 0x31f93e7a4bb07430 + .quad 0x31a43908aa677d25, 0x31f3c77c897ed254 + .quad 0x319fab995891c153, 0x31eefdba02e2ceff + .quad 0x3198cbc2fe600108, 0x31e846b92a47c343 + .quad 0x3193694f45c1b92f, 0x31e30395337f89bb + .quad 0x318e6371d3dc0233, 0x31ddc7fb7bbca8ad + .quad 0x3187c89c6867890e, 0x31d751e7a10e8264 + .quad 0x31829cb17b0f706b, 0x31d2421ee0211f87 + .quad 0x317d20647a807a0c, 0x31cc9649548abac7 + .quad 0x3176c9a3fd812077, 0x31c6606f00ed6d5d + .quad 0x3171d37ef5f490cd, 0x31c1836b52067807 + .quad 0x316be2ec88ae1479, 0x31bb6922692e74d4 + .quad 0x3165cf38f9818abf, 0x31b572b1a2c0293a + .quad 0x31610e013ef486f7, 0x31b0c7c6b93f06a1 + .quad 0x315aab7b734b99f6, 0x31aa40fcadcdd133 + .quad 0x3154d9b2cf546b09, 0x31a4890ac32b69b5 + .quad 0x31504c7bad04b57c, 0x31a00f779993bbc1 + .quad 0x31497a78d5f1c6db, 0x31991e450ac30542 + .quad 0x3143e9611e821800, 0x3193a3ce69b6a143 + .quad 0x313f1e56c0773bb7, 0x318eb57d7362f984 + .quad 0x313850426f2df55d, 0x3188015f467ddd40 + .quad 0x3132fe8bb3e4f4d8, 0x3182c3495adab7d8 + .quad 0x312dac8e8a813f1f, 0x317d53ae35dbfa26 + .quad 0x31272d2c2a7422ab, 0x3176eaa5fce4af3a + .quad 0x31221972950f570d, 0x3171e7c114a57a33 + .quad 0x311c44004226dc17, 0x316bf9ebf2ac34cf + .quad 0x3116118037139874, 0x3165da6aa3adb7a3 + .quad 0x31113a4e15d42467, 0x31611173d5813f4d + .quad 0x310ae501496e23f2, 0x315aa895a750e0f6 + .quad 0x3104fd7f2b705e64, 0x3154d0f59b16ac32 + .quad 0x3100614ef7575b09, 0x31504098aca1b898 + .quad 0x30f98fdb1084fd1c, 0x31495ffef5a788b3 + .quad 0x30f3f16033b4da17, 0x3143ce864a4f75bb + .quad 0x30ef1d3d20014dd3, 0x313eeabf27142ccb + .quad 0x30e844cb59a101a9, 0x31382070510e6e91 + .quad 0x30e2ed514b22b68b, 0x3132d35346de60f3 + .quad 0x30dd84bdf7421499, 0x312d5fe3202b4d44 + .quad 0x30d7040489842ad7, 0x3126ea2738b3dbeb + .quad 0x30d1f1777f205012, 0x3121df8a8637ba9c + .quad 0x30cbf956a62adf73, 0x311be0e1bcc5bf2b + .quad 0x30c5cdae0381ff94, 0x3115bd567e120a1c + .quad 0x30c0fdef3b187063, 0x3110f35198b8b7f7 + .quad 0x30ba7b2fd5556b6a, 0x310a6df243f2c6f4 + .quad 0x30b4a1e48fd99b8e, 0x31049a26968a8fd1 + .quad 0x30b012cc9c3d142a, 0x31000ec5ed2dbe3e + .quad 0x30a90a652d08b6ec, 0x30f9073f3afbdfeb + .quad 0x30a380bacb3471d9, 0x30f380b5f70c487d + .quad 0x309e603798765b0a, 0x30ee63fa380d130b + .quad 0x3097a705e88ab4c8, 0x30e7ace6e086aab7 + .quad 0x30926a399e180e7c, 0x30e2711978a97cf7 + .quad 0x308cabc2c3d98d7c, 0x30dcba0a72ae9c08 + .quad 0x308651157275ac6f, 0x30d65efbb20adf2d + .quad 0x30815e60bb1a2bac, 0x30d16b5cc5019368 + .quad 0x307b08358e30e1b1, 0x30cb1fca598944c3 + .quad 0x3075088c08941b89, 0x30c51d84fa353951 + .quad 0x30705d2722aa0abe, 0x30c06f82c9619b90 + .quad 0x3069757d44a0d5d1, 0x30b9953a1cf16aad + .quad 0x3063cd5765cc7b51, 0x30b3e87f66d27bb0 + .quad 0x305eccf7568ff3af, 0x30aefb0c5f0312cd + .quad 0x3057f37a88128933, 0x30a81a4d1085cfd1 + .quad 0x30529f5b70afae6e, 0x30a2bfdda4e2b20c + .quad 0x304cf48b1a182cb9, 0x309d2ab3b59164a6 + .quad 0x304682022c0d8296, 0x3096aeea740e7e26 + .quad 0x30417e72ed48d1c2, 0x3091a389017ca93c + .quad 0x303b30c9decefa86, 0x308b6dd2d215fccf + .quad 0x303520de188c8ff4, 0x308552ee415230cd + .quad 0x30306a7030db71fb, 0x308093620e33d9f9 + .quad 0x30298166f02e00aa, 0x3079c4336b720df7 + .quad 0x3023cfce2d301755, 0x30740629fd47fda6 + .quad 0x301ec63bac9af50a, 0x306f1e828f7f1e6e + .quad 0x3017e609b497d4bf, 0x30682d92bd0fbc5b + .quad 0x30128e89244647b5, 0x3062c8658b1c7fab + .quad 0x300cd07ee41894f6, 0x305d2def7b6139fb + .quad 0x30065e4eca3c47ce, 0x3056a9a29142865a + .quad 0x30015cbd7439af48, 0x3051995fff959855 + .quad 0x2ffaf324889fe32e, 0x304b549f742691f7 + .quad 0x2ff4e9c920d5db05, 0x3045380a4af4c2e9 + .quad 0x2ff03a122e1077b7, 0x304078d07375b0b0 + .quad 0x2fe92d9bd168c630, 0x3039921acfd99f39 + .quad 0x2fe388030ea8589c, 0x3033d867ecfb60a5 + .quad 0x2fde4c4faf832008, 0x302ecccda72dba49 + .quad 0x2fd77f4a046c515e, 0x3027e5deef2de87b + .quad 0x2fd2387f5f4b712e, 0x30228a511d87ce7d + .quad 0x2fcc413282821079, 0x301cc3995b1e2c40 + .quad 0x2fc5e78bc56d0fbb, 0x30164f5f80200f46 + .quad 0x2fc0faba5af01355, 0x30114d5424501d7e + .quad 0x2fba51f8a6830159, 0x300ad54bef9112d0 + .quad 0x2fb465b65a83bdbb, 0x3004ce07b8d50856 + .quad 0x2faf9c5589e7201f, 0x300020f8e226943e + .quad 0x2fa87dc5ad8af9ec, 0x2ff90123a8271991 + .quad 0x2fa2f918e4d3f95c, 0x2ff3613b89391a8f + .quad 0x2f9d6485a170413a, 0x2fee098381b76cd3 + .quad 0x2f96c3b66970be3d, 0x2fe7465697a54c64 + .quad 0x2f91a0fd8c3a4e6f, 0x2fe20858c20a1795 + .quad 0x2f8b4ce217bd5e55, 0x2fdbf05934cfa1cc + .quad 0x2f8522e259c7017a, 0x2fd5a41409f84e49 + .quad 0x2f805caa9cf257c4, 0x2fd0c2b83023243d + .quad 0x2f7954427a430b11, 0x2fc9f5672cf62a4f + .quad 0x2f739a5d07601e71, 0x2fc41985de8f7a14 + .quad 0x2f6e56c72cc01fcc, 0x2fbf1f5d5615d783 + .quad 0x2f67797a6e64ddc9, 0x2fb8179bfb69c631 + .quad 0x2f6229374c838060, 0x2fb2a5d1d1f1ae5c + .quad 0x2f5c18d454a503ae, 0x2facdd1c2bddbb9e + .quad 0x2f55bb5b3e414ad3, 0x2fa655e203c78ad0 + .quad 0x2f50ce808921de57, 0x2fa1481ab5a1469a + .quad 0x2f49fdfe587f056a, 0x2f9abd4ca4bd8884 + .quad 0x2f4418b54bd6a895, 0x2f94af20f59f283d + .quad 0x2f3f128f851039d9, 0x2f8fff032b2dbde7 + .quad 0x2f3804c6e03f60cb, 0x2f88be8c488684b4 + .quad 0x2f3290596a08a94f, 0x2f83223f2e5be0f0 + .quad 0x2f2cb1395c8187f6, 0x2f7d964d959533d1 + .quad 0x2f262bb1316ec5fc, 0x2f76df780d5ecc43 + .quad 0x2f21211a1b47d3ae, 0x2f71ae2302fd4bcd + .quad 0x2f1a772150026811, 0x2f6b5455f4e2ce45 + .quad 0x2f147143aa78b5fe, 0x2f651eade2a24279 + .quad 0x2f0f93996ba5e93d, 0x2f6051b3f15282e5 + .quad 0x2f08626f2553e204, 0x2f593760037df87a + .quad 0x2f02d4091cd12adc, 0x2f537ace1ccc1a8d + .quad 0x2efd1294db79df79, 0x2f4e17b7713cf17f + .quad 0x2ef6715149108678, 0x2f473db39c4b278b + .quad 0x2ef1529206516167, 0x2f41f27cc2724f90 + .quad 0x2eeabce28a1f17f2, 0x2f3bb70eb3792a1c + .quad 0x2ee4a1fe3e55f964, 0x2f35659e4463ddd1 + .quad 0x2edfd6eb54be7326, 0x2f308462ba9624db + .quad 0x2ed89049c51b8388, 0x2f297f4ffe1284a1 + .quad 0x2ed2f2b5e6789756, 0x2f23ad748e88c53f + .quad 0x2ecd3aa617478594, 0x2f1e5e5db98318a5 + .quad 0x2ec68a9e9f7b2f9a, 0x2f176e6798f53e9a + .quad 0x2ec161c2a1de488e, 0x2f121393590da64b + .quad 0x2ebacda38e82463b, 0x2f0be32dc731f12c + .quad 0x2eb4a9c33e05809a, 0x2f05824d30f3fce1 + .quad 0x2eafdaf4969fc450, 0x2f009660e736b8bd + .quad 0x2ea88d45a53c41c5, 0x2ef994b0856743cb + .quad 0x2ea2eba8f55fe897, 0x2ef3b9051c5e7679 + .quad 0x2e9d287e1e77c85a, 0x2eee689bae600601 + .quad 0x2e96770239fc87e6, 0x2ee77071c1633b26 + .quad 0x2e914e513c1b20dc, 0x2ee210a174166fcd + .quad 0x2e8aa90041143186, 0x2edbd7abebe480e6 + .quad 0x2e8488642c71cfa6, 0x2ed5740f6d4ed277 + .quad 0x2e7f9f9ce5a157bb, 0x2ed0874302ee34fd + .quad 0x2e785974997b931f, 0x2ec97701e51a6bfe + .quad 0x2e72bf0c37efc00b, 0x2ec39d3aac239fe2 + .quad 0x2e6cdc89092e43c3, 0x2ebe36341a88ea0c + .quad 0x2e6636f0e2785c54, 0x2eb743c5e4db43f9 + .quad 0x2e6118b19def65f8, 0x2eb1e9b8ad36fd99 + .quad 0x2e5a4fd2c459c710, 0x2eab94cde5e4fc30 + .quad 0x2e543ea7a73d5cf0, 0x2ea53b3a109a94ae + .quad 0x2e4f26454740b953, 0x2ea057635a1ed1df + .quad 0x2e47f60ab495565c, 0x2e9926f55b776f91 + .quad 0x2e426de8be09d876, 0x2e935abb1f1cadef + .quad 0x2e3c5889cb51dbb9, 0x2e8dc853b381e5a0 + .quad 0x2e35cbe6a335189c, 0x2e86e96e5d005f5d + .quad 0x2e30c22190c33c65, 0x2e819fc0dba0e848 + .quad 0x2e29c42b0a7816ac, 0x2e7b1c21d6e11086 + .quad 0x2e23ce41b9a97542, 0x2e74d91f3701143c + .quad 0x2e1e71ba6efe048b, 0x2e7007de792cfd6e + .quad 0x2e176552635a3b27, 0x2e68a6663a0ececb + .quad 0x2e11fa1c7f04e719, 0x2e62f310e41037d6 + .quad 0x2e0b9f88d1e59fb3, 0x2e5d2185735c5ad9 + .quad 0x2e0538582347c59e, 0x2e566381bdd98a02 + .quad 0x2e004c9ca3c242ad, 0x2e51346f1ba5a69a + .quad 0x2df9093a8968bba5, 0x2e4a706fd9470fb8 + .quad 0x2df339c31e0d51b7, 0x2e445000f1eec014 + .quad 0x2ded8619415342d3, 0x2e3f3510620184ea + .quad 0x2de6aa95f63dd017, 0x2e37f84791f6fdbb + .quad 0x2de16648113f6ec6, 0x2e32689bc620188b + .quad 0x2ddab5b65b277be7, 0x2e2c45998d7521ae + .quad 0x2dd47f9aad3382fe, 0x2e25b50e4b7d6356 + .quad 0x2dcf7591b1b1c875, 0x2e20aa3508d5db00 + .quad 0x2dc82335294ba260, 0x2e19959eb6f64db6 + .quad 0x2dc2848053b7dfb1, 0x2e13a2fb2a16d1cc + .quad 0x2dbc68a6f5a8ef62, 0x2e0e23b370697cbb + .quad 0x2db5c9ffcce7e5fd, 0x2e0720876851d9fb + .quad 0x2db0b5b54d487d35, 0x2e01be79c992aff6 + .quad 0x2da9a0421e5c5d71, 0x2dfb3980569c43a5 + .quad 0x2da3a5c4268d4e27, 0x2df4e1fc4f822568 + .quad 0x2d9e1fba80d34a41, 0x2df0042910b94342 + .quad 0x2d97172912ec21f8, 0x2de8908e30f7a1b3 + .quad 0x2d91b271db151968, 0x2de2d5e5a1b8288e + .quad 0x2d8b1f9ef2d6b135, 0x2ddce1b3b9ea6267 + .quad 0x2d84c872d1af92bc, 0x2dd623e8fb994f23 + .quad 0x2d7fd87064e02a6f, 0x2dd0f8695160ca38 + .quad 0x2d78652a61cdcd3b, 0x2dca031b186be289 + .quad 0x2d72af84a660968d, 0x2dc3eee8e04dc3a0 + .quad 0x2d6c9f07af149226, 0x2dbe8bd23cc416f0 + .quad 0x2d65eacf76fffc0c, 0x2db766e8d5583265 + .quad 0x2d60c80f3efbbf3f, 0x2db1ed2fab014c43 + .quad 0x2d59b1f8ffd8f3c8, 0x2dab76010ebb6c6a + .quad 0x2d53ab5d5023fe4a, 0x2da507d813502ab7 + .quad 0x2d4e1c174ea2aaa6, 0x2da01aa61c90eacc + .quad 0x2d470b05029068da, 0x2d98a90544ab274d + .quad 0x2d41a1fba21de5f0, 0x2d92e0fb0911dd84 + .quad 0x2d3afb70654af059, 0x2d8ce6f24739f7c7 + .quad 0x2d34a458b53b2a84, 0x2d861eefc532711f + .quad 0x2d2f944d95c81983, 0x2d80edb77098a960 + .quad 0x2d28272ab43f7156, 0x2d79e82e04d9025f + .quad 0x2d2278886c5a4d73, 0x2d73d237a2e0f859 + .quad 0x2d1c3f57b512a1f2, 0x2d6e5385c7d0efe0 + .quad 0x2d1598c52c5d1746, 0x2d673258d0b919eb + .quad 0x2d10828ad1da0983, 0x2d61bdb57d01cecc + .quad 0x2d093d4935512f54, 0x2d5b223e5e67d24a + .quad 0x2d034a3670d3cd59, 0x2d54bf43098a2ef1 + .quad 0x2cfd7b67cefff216, 0x2d4fb93db1e39a21 + .quad 0x2cf686e7356020d2, 0x2d48402d3eada60a + .quad 0x2cf135e695d6d4f8, 0x2d42892e31597360 + .quad 0x2cea4b6028e1ae52, 0x2d3c5502f868f04b + .quad 0x2ce415808da66669, 0x2d35a670a5d83e0e + .quad 0x2cdead51e60a821d, 0x2d308ac71830fd4e + .quad 0x2cd76cfe88ffbfa7, 0x2d29467d9d3bce7d + .quad 0x2cd1e2e61d740a91, 0x2d234ea92731d6f0 + .quad 0x2ccb4f6c22875415, 0x2d1d7e402cf49a21 + .quad 0x2cc4d8e03e448998, 0x2d16860e96265ba8 + .quad 0x2cbfd2c6816f010b, 0x2d1132f279000564 + .quad 0x2cb8494b75728df1, 0x2d0a4356bd52863e + .quad 0x2cb28836b62851b4, 0x2d040cac092d16a6 + .quad 0x2cac476ceb4ce0a6, 0x2cfe9bb8c8c45eaa + .quad 0x2ca592d26553a529, 0x2cf75c6ad9777c96 + .quad 0x2ca074be65f60432, 0x2cf1d3d889242361 + .quad 0x2c991a14719373e5, 0x2ceb34c7bf3e0108 + .quad 0x2c93248b33f78dd9, 0x2ce4c1bf325b5886 + .quad 0x2c8d316bfa6ecf07, 0x2cdfab351a6d7271 + .quad 0x2c8641dc398561ef, 0x2cd827d8b273a859 + .quad 0x2c80f79d08c027e2, 0x2cd26c35a8453a6e + .quad 0x2c79ddabce45ff88, 0x2ccc18e854f7a653 + .quad 0x2c73b6a0443345f1, 0x2cc56c727238c10e + .quad 0x2c6e0b830517633f, 0x2cc05545196af9e3 + .quad 0x2c66e4903f595976, 0x2cb8e6b62ae03487 + .quad 0x2c6170eca4e7a4ca, 0x2cb2facf384d3a3b + .quad 0x2c5a92756c27d93a, 0x2caceddf1e753b81 + .quad 0x2c543d40bf74392d, 0x2ca60b61e0028436 + .quad 0x2c4ed3e286c4c0de, 0x2ca0cbd09b1e5e10 + .quad 0x2c477993389df313, 0x2c9997719e8b73a8 + .quad 0x2c41dfa945eaae99, 0x2c937e77cf85ca37 + .quad 0x2c3b36ec5aa05880, 0x2c8db1e802a6c81f + .quad 0x2c34b749e64b35f5, 0x2c869d3aa6fccfd9 + .quad 0x2c2f88d823260c9e, 0x2c81383f4dd09079 + .quad 0x2c27ffa0f1fabb65, 0x2c7a388f33976b7b + .quad 0x2c2242e12375b352, 0x2c73f613589599c6 + .quad 0x2c1bc9a844ffd2b5, 0x2c6e635a66e3ebe7 + .quad 0x2c1523af73f84783, 0x2c6720bfb4a981d7 + .quad 0x2c10146a610e0588, 0x2c6199a49bcc5100 + .quad 0x2c087590d6d36008, 0x2c5ac8ae259e160c + .quad 0x2c0299b80ea6bb7f, 0x2c54609b0c4183ca + .quad 0x2bfc496292aa266b, 0x2c4f00af26520f9d + .quad 0x2bf5817f72c95e4c, 0x2c4794ce31e24c7b + .quad 0x2bf059392396d038, 0x2c41ef2877dbfcad + .quad 0x2be8da5a346cbb3f, 0x2c3b468dc95cb829 + .quad 0x2be2e36a9eb80d32, 0x2c34bd213115ac94 + .quad 0x2bdcb4fb203e18a0, 0x2c2f88862b544527 + .quad 0x2bd5cfe5be9615c7, 0x2c27f861b04cbe3a + .quad 0x2bd0923c6394f695, 0x2c22380a7a548a2f + .quad 0x2bc92d18166ccd51, 0x2c1bb1122f6e5762 + .quad 0x2bc31f510cb3f507, 0x2c150ad48dd9b3a6 + .quad 0x2bbd0b7c794af438, 0x2c0ff9ab8e5d6631 + .quad 0x2bb60e2f23228ded, 0x2c084a97f6b3e853 + .quad 0x2bb0bef1906dac58, 0x2c0273a4b16ba84f + .quad 0x2ba96d0ca88e4fc0, 0x2bfc07484e1da469 + .quad 0x2ba34ce1af3c1b60, 0x2bf549037ceef1fe + .quad 0x2b9d4c1f7c67dd18, 0x2bf0298e0fc06037 + .quad 0x2b963bcc0600e3b1, 0x2be88ab45875f419 + .quad 0x2b90def17046c37e, 0x2be2a16e161fa35f + .quad 0x2b8999a40ba75f42, 0x2bdc48699c75f345 + .quad 0x2b836bb3093bcf7f, 0x2bd5771e906a9978 + .quad 0x2b7d764e5657aa20, 0x2bd04a04a1699caa + .quad 0x2b7658528dc53bd5, 0x2bc8b822865b44e6 + .quad 0x2b70f1f1acd583c0, 0x2bc2c0fc98ac934c + .quad 0x2b69b2768ee2e280, 0x2bbc73df0b6d4334 + .quad 0x2b637b7d60833afb, 0x2bb594bab8ddacb1 + .quad 0x2b5d89a6c43f4c10, 0x2bb05dee05833b3c + .quad 0x2b5663803afd90e2, 0x2ba8d278c9cbfc58 + .quad 0x2b50f7c5f2e42650, 0x2ba2d206b997c2cc + .quad 0x2b49b74a41343d69, 0x2b9c89434d36542f + .quad 0x2b437c1bd3bb9cfe, 0x2b95a192e33cf627 + .quad 0x2b3d85fb90bdf218, 0x2b90651bc0c61b20 + .quad 0x2b365d3aea4b609e, 0x2b88d9799e5f2521 + .quad 0x2b30f0609e7aa674, 0x2b82d464a6b30dc2 + .quad 0x2b29a813d2878f74, 0x2b7c88645e6c88ee + .quad 0x2b236d8ce9d2217b, 0x2b759d89052b0525 + .quad 0x2b1d6b5543d3c940, 0x2b705f7d07f3fb02 + .quad 0x2b1645913a262a36, 0x2b68cd14a1185c8d + .quad 0x2b10dbd2f003b6a5, 0x2b62c810d60e767e + .quad 0x2b0984f6bfe67780, 0x2b5c714448c370a6 + .quad 0x2b034ff297cd534d, 0x2b5588a691f2cd1f + .quad 0x2afd39f201da2255, 0x2b504d1f01416963 + .quad 0x2af61cba521cabb4, 0x2b48ad66d03eba59 + .quad 0x2af0ba4cc94c45b3, 0x2b42ad281b8cc2a0 + .quad 0x2ae94e44c9a075e7, 0x2b3c44191b160ec2 + .quad 0x2ae32391bcecdc03, 0x2b35631c55b5d22c + .quad 0x2adcf2449a3fda4b, 0x2b302e2c911c7929 + .quad 0x2ad5e3150cc8eda4, 0x2b287aba1a7120bf + .quad 0x2ad08c1bf3c985fa, 0x2b2283e938a586f7 + .quad 0x2ac9047cb663bb8c, 0x2b1c014c17012593 + .quad 0x2ac2e8d117dfdd44, 0x2b152d41b7968429 + .quad 0x2abc94f2cb2815a8, 0x2b1002edb3674f27 + .quad 0x2ab599268900e7bc, 0x2b0835843f5f0b0c + .quad 0x2ab051aaf415041d, 0x2b024cb3e8b7d756 + .quad 0x2aa8a84869fc8267, 0x2afba9781881c8a9 + .quad 0x2aa2a037bab743e1, 0x2af4e79366e7a470 + .quad 0x2a9c22d2c350e306, 0x2aef978cc962d426 + .quad 0x2a953f982a03a248, 0x2ae7de65083f0e21 + .quad 0x2a900b7f70f68972, 0x2ae208076f18ea30 + .quad 0x2a883a7a5a0b9d4d, 0x2adb3d6740403453 + .quad 0x2a824a6b05eb3eda, 0x2ad492b17a8d9ad4 + .quad 0x2a7b9ce7efad864c, 0x2acf126a42ab2a64 + .quad 0x2a74d7351162fad8, 0x2ac77623e1a3ca2f + .quad 0x2a6f74706d1f613c, 0x2ac1b680aeae0c3c + .quad 0x2a67bc0a6e57fbc5, 0x2ababe0fed214bca + .quad 0x2a61e82c35430e3d, 0x2ab42f5d0cb0afeb + .quad 0x2a5b045f25c98b4b, 0x2aae77a20528f8f5 + .quad 0x2a5460e7202036c7, 0x2aa6fdace394b03c + .quad 0x2a4ebd15c07c2acd, 0x2aa158d7d54f1681 + .quad 0x2a472e125d540295, 0x2a9a2c9115542385 + .quad 0x2a417a558b9c184f, 0x2a93be755f8b210c + .quad 0x2a3a5a8a3f3de092, 0x2a8dc88f077bd369 + .quad 0x2a33ddb38ecb5b52, 0x2a86760d57bb9982 + .quad 0x2a2df2826b036578, 0x2a80efdda755dbb3 + .quad 0x2a2691c997f37f0e, 0x2a798a2e123c782e + .quad 0x2a2101d72c627ff7, 0x2a7340f49a722110 + .quad 0x2a19a0db3d2b8dac, 0x2a6d06b3f65f6fd0 + .quad 0x2a134eb72e63e592, 0x2a65e06fcff790f4 + .quad 0x2a0d166c8f34fca4, 0x2a607c787991a680 + .quad 0x2a05e880d9f1fe43, 0x2a58d849f54265f7 + .quad 0x2a007fb3b2ff1602, 0x2a52b7ec30262d2b + .quad 0x29f8d8df0cbffd52, 0x2a4c33b5a8ad639f + .quad 0x29f2b52265317648, 0x2a453e17e1a8afad + .quad 0x29ec2aa6bd34f17b, 0x2a3fff41d2913dab + .quad 0x29e5339d751ff2a1, 0x2a3818627da2e9e4 + .quad 0x29dfe9f93308c405, 0x2a32248100f21115 + .quad 0x29d80438073219de, 0x2a2b515531d535eb + .quad 0x29d21234fbc4a127, 0x2a24905d9b84e0cb + .quad 0x29cb31198aa5f8ab, 0x2a1ef4bcc5f71a72 + .quad 0x29c474946f304456, 0x2a174c0ac8d03b2b + .quad 0x29bec59d00f3fe38, 0x2a1187e74c209a91 + .quad 0x29b7249848679fa9, 0x2a0a6169b09c4411 + .quad 0x29b16739cec78bd4, 0x2a03d8a8ccb26cd9 + .quad 0x29aa2bbd0795adee, 0x29fddb87127c2076 + .quad 0x29a3ace589cd3352, 0x29f674e5d7be735c + .quad 0x299d949ad392f075, 0x29f0e35e84d33d3f + .quad 0x29963bbbf78651cc, 0x29e965d9f895d99c + .quad 0x2990b5827a3ba382, 0x29e3186c34406960 + .quad 0x29891c922f9ee4c0, 0x29dcb5d51a48d7d4 + .quad 0x2982de164c74e725, 0x29d594a1039f0199 + .quad 0x297c5941f108d9d1, 0x29d0382d1e479246 + .quad 0x29754b639c219649, 0x29c8609634a384cc + .quad 0x296ffcc62473097a, 0x29c25120afe02122 + .quad 0x2968059c757355ae, 0x29bb85e31314f4b4 + .quad 0x296209ad26ca18d9, 0x29b4acee7c0fcbaf + .quad 0x295b15e18d0d2d12, 0x29af0f38c6449ad9 + .quad 0x2954554e9983b016, 0x29a753919ff4b182 + .quad 0x294e865bf893f8f4, 0x29a1844080030d76 + .quad 0x2946e8db855aac9a, 0x299a4dede3a3eb93 + .quad 0x2941312cc0ae5d04, 0x2993bf7fe7aa33a0 + .quad 0x2939ccc1bfbf7ecb, 0x298da5e8d4d639ed + .quad 0x29335b35e7d0088e, 0x298640bc7176cda7 + .quad 0x292d0a5ff60b92cf, 0x2980b342b640cc13 + .quad 0x2925c84558f35d95, 0x2979102c47629cb9 + .quad 0x2920560f8bafb2c7, 0x2972ce013e375d0f + .quad 0x2918801ce509ea26, 0x296c36f07720a932 + .quad 0x29125ec7207b3c64, 0x296529fe13854ed9 + .quad 0x290b8b58f7c67c36, 0x295fbf2dc269c35d + .quad 0x2904a5c0b3b7424d, 0x2957cec854a40ddc + .quad 0x28fef3874e46141b, 0x2951da13f1aaaee6 + .quad 0x28f732197e24d857, 0x294ac4c46230c45c + .quad 0x28f1619ff0ea7ec6, 0x2944112fbeff8a1f + .quad 0x28ea0bb46a0a2c53, 0x293e15420dda8758 + .quad 0x28e383201c8ba71a, 0x29368bd97eb5b05d + .quad 0x28dd3b4e4b894768, 0x2930e54a78756b6b + .quad 0x28d5e4c4aaef0130, 0x292951c14f527745 + .quad 0x28d0654a030d3e70, 0x2922f8178dd14a04 + .quad 0x28c88dc03d1ca801, 0x291c6b6bf9361ee4 + .quad 0x28c2621d65152a67, 0x2915495f2949c65e + .quad 0x28bb860981f4834a, 0x290fe24891c8ca0c + .quad 0x28b49a0d4c97c281, 0x2907e02609a87253 + .quad 0x28aed66ed1143993, 0x2901e064158c947b + .quad 0x28a713a5a10cc9b0, 0x28fac4304f253262 + .quad 0x28a14455cbbff469, 0x28f4093bdea6e36f + .quad 0x2899d62205df47a6, 0x28edfe14a435c3c2 + .quad 0x289353bfdeb15aa4, 0x28e6720e3d624fdc + .quad 0x288ce97f23783a55, 0x28e0cba8970a9d66 + .quad 0x28859f649793ea9a, 0x28d921e961b81171 + .quad 0x28802b46c188f22d, 0x28d2cd3135c626d1 + .quad 0x28782dcfdba2d59c, 0x28cc2097f7f7c953 + .quad 0x287213830f44d648, 0x28c5096e15b063db + .quad 0x286b0639acae41c7, 0x28bf76b39886a20d + .quad 0x286432d063e4cc5a, 0x28b786c2636e4e2a + .quad 0x285e3096b161ade1, 0x28b196dc712e8651 + .quad 0x28568f1646f450cc, 0x28aa4c39680abb0b + .quad 0x2850dad51a121c5f, 0x28a3a80eb1934625 + .quad 0x28492ed52465cf13, 0x289d6196b3830612 + .quad 0x2842cf8cdb32b26d, 0x2895f4b3b930a91a + .quad 0x283c1934bb7035c1, 0x289067b3db09279e + .quad 0x2834fbc11c19c0b7, 0x2888832413bcb6f5 + .quad 0x282f5613cdc1ad52, 0x28824f8b72bbd6ee + .quad 0x28276547ab0f816a, 0x287b5a5bcacf14dd + .quad 0x2821770c93ef3136, 0x28746d8046ba690c + .quad 0x281a128a30d837eb, 0x286e8209bd7c6d4d + .quad 0x281375630e92b790, 0x2866c744b66f6406 + .quad 0x280d0a93cd8add1e, 0x2861015024fefc8d + .quad 0x2805ab4549d6cf15, 0x2859631ba1694964 + .quad 0x28002a8fed4a1944, 0x2852f2b3b1ae197d + .quad 0x27f81e6d5efc2ece, 0x284c47e5b8f9de0c + .quad 0x27f1fd54f3e20bfc, 0x28451a481761d265 + .quad 0x27ead523512d80ae, 0x283f7d2ff106229c + .quad 0x27e4023f854f9c86, 0x28377da522f79ec5 + .quad 0x27ddd649c8fad0d5, 0x283185a192bd02b4 + .quad 0x27d63e684c4d4572, 0x282a22ed5ef67f83 + .quad 0x27d094b5ecc6e290, 0x28237d9a85948033 + .quad 0x27c8b7643330549e, 0x281d10da89b8212a + .quad 0x27c26b65f14cd4da, 0x2815ab7d4224f7e2 + .quad 0x27bb734f53e57228, 0x2810276587fa1c20 + .quad 0x27b473b9d1931175, 0x280814bdb918424d + .quad 0x27ae78d8c6e84fdd, 0x2801f2684f2af658 + .quad 0x27a6b2a2c93cd65a, 0x27fabf540fb4e1a1 + .quad 0x27a0e7a7b055d281, 0x27f3eddfeeed0dd2 + .quad 0x27992d87cacce695, 0x27edb1c82f79707d + .quad 0x2792bf57b6e0d98d, 0x27e61ea0b7eb4c3c + .quad 0x278bea4f9488e121, 0x27e0799f1fb897d8 + .quad 0x2784c7d8bf7bdc41, 0x27d889f21fdb1d69 + .quad 0x277eef6b8bfa9225, 0x27d245c20ba28a39 + .quad 0x277705ed2bbfd521, 0x27cb3598a0d59840 + .quad 0x277121f1b69882eb, 0x27c4418fde75923e + .quad 0x27697ec608197c79, 0x27be27e05b6c31f9 + .quad 0x2762f7b0edc74f1c, 0x27b671af7f5d8858 + .quad 0x275c380c41f75030, 0x27b0b3d4442eda68 + .quad 0x2754fd20f15083b3, 0x27a8db341e4d4306 + .quad 0x274f37ea8d01e9c5, 0x27a27e37e3bc73c9 + .quad 0x274736cebb19a201, 0x279b83a639f29a80 + .quad 0x2741428c012e2c57, 0x27947730acf38edc + .quad 0x2739a9ae80c06018, 0x278e710d5155d028 + .quad 0x27331371c2b63b80, 0x2786a331ab64b688 + .quad 0x272c5b240b14f4d6, 0x2780d4fd25f7f52e + .quad 0x2725129ffd17a136, 0x27790712f4e38e37 + .quad 0x271f510ba62354a5, 0x27729ac951c1e60b + .quad 0x27174468acd1611c, 0x276ba819d5f14678 + .quad 0x271148e1d96c299e, 0x27648dce2dc3ecd5 + .quad 0x2709ad7d58aaba44, 0x275e8c0193d16d55 + .quad 0x2703121b71d77179, 0x2756b2456938b866 + .quad 0x26fc52f68dd90e64, 0x2750dc826696c76c + .quad 0x26f507f397188496, 0x27490cc63cdbf2a2 + .quad 0x26ef3a5bdf92c388, 0x27429af3c144f8c0 + .quad 0x26e72e7cbdbb95db, 0x273ba24cc0f4c8e2 + .quad 0x26e134d638b07143, 0x27348500e815d897 + .quad 0x26d98a2111174d79, 0x272e7841c45926d0 + .quad 0x26d2f3b409e1b7b6, 0x27269ea5b1b71301 + .quad 0x26cc1fa91a869695, 0x2720ca4195cda6d3 + .quad 0x26c4dd4c7d7ec9fa, 0x2718ec33daf13649 + .quad 0x26bef442d8796795, 0x27127eb66fea5e85 + .quad 0x26b6f56f0c0f22b9, 0x270b72598c77c448 + .quad 0x26b106c4a594a047, 0x27045cf12a60cb9a + .quad 0x26a9403b0e4bd1b9, 0x26fe36284e81b5ff + .quad 0x26a2b8c63e7468c1, 0x26f668ac570f2fc8 + .quad 0x269bc22598793379, 0x26f09e8e37ef2488 + .quad 0x2694936d06178106, 0x26e8a5f0c63b5c24 + .quad 0x268e7fffb3b16a7d, 0x26e2469273320bda + .quad 0x26869a431ed205a0, 0x26db191b44e70edf + .quad 0x2680bf7e7cce4d07, 0x26d41655d7606103 + .quad 0x2678d11ace4d8996, 0x26cdc6e2b76185d5 + .quad 0x2672625d4b960a47, 0x26c6114f58eab906 + .quad 0x266b3c139841a735, 0x26c05a2f4a403a4d + .quad 0x26642ba35d81be5c, 0x26b83b3c9af7ee45 + .quad 0x265ddf9fa6fc513a, 0x26b1f386e3013e68 + .quad 0x26561e943a26f542, 0x26aa9826f127d04d + .quad 0x26506044c28d2704, 0x26a3b26ef9596f74 + .quad 0x26483eb403668f94, 0x269d2c68adc24dd3 + .quad 0x2641f1fd15ed30fe, 0x26959a199b7c8167 + .quad 0x263a8fcbdc7eab51, 0x268ffcb2bfa5b8da + .quad 0x2633a7bfb4be9962, 0x2687adf828472cfd + .quad 0x262d15ee90987618, 0x2681870951a86a79 + .quad 0x2625848951944920, 0x2679f1bfa110cbba + .quad 0x261fd57d7b45b3ca, 0x267332fc55367264 + .quad 0x26178b8ffae32bf0, 0x266c696d39db75f3 + .quad 0x26116996dab0cd1e, 0x2665051f4ea04fdf + .quad 0x2609c046dcaa75a4, 0x265f194b2a4cb970 + .quad 0x26030a06c462f23e, 0x265700975cbb46aa + .quad 0x25fc2662350ce7fa, 0x265102fae0ec7794 + .quad 0x25f4cec5169fb931, 0x264928c588cfb6d9 + .quad 0x25eec1db7d8e44b5, 0x26429a3060c44f3a + .quad 0x25e6babae8929706, 0x263b814aa869e0e4 + .quad 0x25e0cb7ae5506e7e, 0x263454ee7edd0063 + .quad 0x25d8d106f7f4047e, 0x262e0e0b72e6ef2e + .quad 0x25d255213192c405, 0x2626360f251c2f1f + .quad 0x25cb1500fc71b69a, 0x2620699a6631f93f + .quad 0x25c40052c8ba04b4, 0x261840a0d97bb129 + .quad 0x25bd8a3d24511c07, 0x2611eaa023d58a69 + .quad 0x25b5cfadd7b97160, 0x260a77ea01d8b821 + .quad 0x25b01a47ddad3ea8, 0x26038c7c7057a652 + .quad 0x25a7c5ff3799c35b, 0x25fcdf6c504a93e5 + .quad 0x25a18c087e86a1f3, 0x25f551bff88c1175 + .quad 0x2599e64530b957f4, 0x25ef7ae8590bb800 + .quad 0x25931c908986e1a8, 0x25e73d293026bc2a + .quad 0x258c33b25da2082e, 0x25e12730a9790f69 + .quad 0x2584ce362055227e, 0x25d951a7082f394a + .quad 0x257eb1b0ae0a386a, 0x25d2af1081b22794 + .quad 0x2576a3779e1ff3b0, 0x25cb925bc48353e0 + .quad 0x2570b1f245435eea, 0x25c4575deb5305a2 + .quad 0x25689efddb97fd18, 0x25be029ff0fc8645 + .quad 0x256227180cb0a8ca, 0x25b6228a92a17423 + .quad 0x255ac39e8a7de062, 0x25b05302bb5e3a1a + .quad 0x2553ba5b5279aa24, 0x25a81331d3a2cc81 + .quad 0x254d145ea8ff6403, 0x25a1c02d69097c72 + .quad 0x25456df011e743b9, 0x259a2c1b0ae83a64 + .quad 0x253f94750d0f9308, 0x25934ad734ae6135 + .quad 0x2537442e7172840a, 0x258c703bfdc748cd + .quad 0x253123a683e9b9d5, 0x2584f5290291de6e + .quad 0x25293f94a8e393e5, 0x257ee2bb5a2a4470 + .quad 0x252298449094a080, 0x2576c16f34d9525e + .quad 0x251b62c8f87855a8, 0x2570c379a70923bc + .quad 0x25142a02f59d51ef, 0x2568b21b8919710f + .quad 0x250db09bb0ffb21f, 0x2562303a1b68b2de + .quad 0x2505daee76f997a8, 0x255ac9c706a79cfc + .quad 0x25001604a662bf4c, 0x2553b983b3f72fb5 + .quad 0x24f7ad33d50dacd0, 0x254d0b33fd9b6e85 + .quad 0x24f16c1e4c8c451a, 0x2545615904c6373a + .quad 0x24e9a32159dea0d8, 0x253f7950165d693d + .quad 0x24e2dc48781056c9, 0x253729dc070c926a + .quad 0x24dbbf2871addffb, 0x25310b9b38c6e833 + .quad 0x24d4684a4152d4e0, 0x2529154f9f73ee5f + .quad 0x24ce03df4eb2c204, 0x25227418ebfd96be + .quad 0x24c6120558a89b12, 0x251b26192fa2f36e + .quad 0x24c03a014bcb5352, 0x2513f7df7d25b3e6 + .quad 0x24b7db773a6f6623, 0x250d5ec232ba3385 + .quad 0x24b1893b9023690d, 0x250598c75ff21ea4 + .quad 0x24a9c6ba6a49465a, 0x24ffc1f9e46a53e2 + .quad 0x24a2f125d64e7642, 0x24f758c452444076 + .quad 0x249bd607b51aff83, 0x24f1294b791c6529 + .quad 0x2494735d5e25dd32, 0x24e939e692035be7 + .quad 0x248e0bb7795ebab2, 0x24e289cc9b3b4107 + .quad 0x248611962fb4b008, 0x24db3e5c199dc217 + .quad 0x248035217aa6e0ad, 0x24d40415be2c6028 + .quad 0x2477cd9c096da3b3, 0x24cd6871e2c76342 + .quad 0x24717a22cd2a508f, 0x24c599d2a64857ab + .quad 0x2469a95351e8c9f1, 0x24bfba952efabe51 + .quad 0x2462d63f329a8bcb, 0x24b74cc660d4897a + .quad 0x245ba6ba0cb47e2b, 0x24b11baa6a990cd8 + .quad 0x24544ae89d144108, 0x24a91ecc31adec4e + .quad 0x244dc7e8d1b8f556, 0x24a270b14a1f9816 + .quad 0x2445d9a42222275c, 0x249b11d883fd3ec1 + .quad 0x24400789e350bd1a, 0x2493ddca348b8e79 + .quad 0x2437840aaba80c98, 0x248d27f9dd765764 + .quad 0x24313f45ccd8c935, 0x24856472f42babf3 + .quad 0x24294bc9a9955f26, 0x247f6359d3980ea5 + .quad 0x24228c5f3eaf8edd, 0x2477063ccd1b83c6 + .quad 0x241b32a3c3e46a35, 0x2470e31f012ad2b3 + .quad 0x2413f01c91fe7f47, 0x2468c4cd2c02ec2d + .quad 0x240d3a718c61d154, 0x2462298481c2ca0d + .quad 0x24056bd3dd5a05c1, 0x245aa1de55237abc + .quad 0x23ff65222fadfc00, 0x2453861db33230b0 + .quad 0x23f700eb717cfb77, 0x244c9f401331dbf6 + .quad 0x23f0da5e12700c8d, 0x2444fa3a533642f6 + .quad 0x23e8b0da54d3c71f, 0x243ebed8656f1a7b + .quad 0x23e215aeed941b43, 0x2436873a105b43c2 + .quad 0x23da7d28bd609e50, 0x2430815216360470 + .quad 0x23d3659f3261d190, 0x24282e8d038330ca + .quad 0x23cc6770887b13f6, 0x2421b65bea6b7e6a + .quad 0x23c4cb570f463d9d, 0x2419f1b427ce89a2 + .quad 0x23be715dafe5cd60, 0x2412ff9fffd4f5f9 + .quad 0x23b6480ba9b1723c, 0x240bd241d06b6757 + .quad 0x23b04e575dd6f2eb, 0x24045e411382662b + .quad 0x23a7dcff6d521467, 0x23fdd1da1bc7ec85 + .quad 0x23a1759a98201ff3, 0x23f5d36e9f7af39c + .quad 0x23998b82586ccf2d, 0x23eff233639de02a + .quad 0x2392af6afc0ce651, 0x23e7606528b3cf28 + .quad 0x238b54f244df93df, 0x23e11a8b54a30c34 + .quad 0x2383fcc4e4385b18, 0x23d9066e8a3084ad + .quad 0x237d3abb2d5b9282, 0x23d24e2ffedd9f78 + .quad 0x23755eaec016b2b5, 0x23cac6e23cde6ac9 + .quad 0x236f3e576e5bfb2c, 0x23c394ff72563c26 + .quad 0x2366d6394041cb01, 0x23bca3259bb8013e + .quad 0x2360b0a8012d71fb, 0x23b4effb58fcce20 + .quad 0x2358647f7f3a91de, 0x23ae9cac23b8427e + .quad 0x2351d29e5c60946b, 0x23a6602f707600f3 + .quad 0x234a0aa72640fd47, 0x23a05a7bd790a4bc + .quad 0x234305e23384e58a, 0x2397e6b1b23c38f4 + .quad 0x233bc9e08de1532f, 0x239176cc55ca9b80 + .quad 0x23344b4e89c6a35f, 0x238984a277e8539a + .quad 0x232da366d9d2b975, 0x2382a417253e014b + .quad 0x2325a3c60cb2c6b1, 0x237b3b2c9b4277c6 + .quad 0x231f98800fc076db, 0x2373e333559670c8 + .quad 0x23171033226bf0af, 0x236d0b8591b88278 + .quad 0x2310d53e944a7e18, 0x236534ff7f271b4d + .quad 0x23089187f3d75a14, 0x235ef6ed82d51675 + .quad 0x2301ed5d0deddfb7, 0x23569a61d0edc9d2 + .quad 0x22fa28be72757b85, 0x23507f57aca805f1 + .quad 0x22f3154ef266983d, 0x234814481a9f253c + .quad 0x22ebd6d859990532, 0x2341921067277b5d + .quad 0x22e44dcd404b4fcd, 0x2339a3a7d2712f82 + .quad 0x22dd9cdf2aadd6a6, 0x2332b45137355f77 + .quad 0x22d5979672b76b96, 0x232b497e1657b91b + .quad 0x22cf7be424410479, 0x2323e6cfcc06ed27 + .quad 0x22c6f36e7903ba4f, 0x231d06cfa865bc4e + .quad 0x22c0ba8019bd4e86, 0x23152a47395ed2ae + .quad 0x22b8621eaa755f34, 0x230edca8e605e67a + .quad 0x22b1c4a9efdce654, 0x23067f77ef705254 + .quad 0x22a9e475b5aaea97, 0x2300660edcde1e02 + .quad 0x22a2dd03980220ac, 0x22f7e727aec99554 + .quad 0x229b7b478b8fda1c, 0x22f16b24c391593b + .quad 0x22940424c4fd21f7, 0x22e96221780dfe95 + .quad 0x228d276d459f43c7, 0x22e27e2788696d86 + .quad 0x22853aa8c500f5d0, 0x22daf1357749947c + .quad 0x227ee9c5073f397e, 0x22d39fac2bf7a531 + .quad 0x2276812e6a2e8fc0, 0x22cc9538eaa71fb0 + .quad 0x22706198ecffc0e0, 0x22c4d04b3a802aee + .quad 0x2267d857ef6fe55a, 0x22be4f0604536408 + .quad 0x22615a4dc243cc5f, 0x22b610a0b4ec8401 + .quad 0x225940cad97ee071, 0x22b00fbde3ac71c6 + .quad 0x22525f772e00c70a, 0x22a7614bf61d6bfa + .quad 0x224abb2fd3f529ef, 0x22a103beefa07650 + .quad 0x2243718d87e8a0af, 0x2298c2ef94786008 + .quad 0x223c48328a4346eb, 0x229203fa39242793 + .quad 0x2234910b37b4de72, 0x228a36313f8e64ec + .quad 0x222de8817c6f33b9, 0x228310e5f6fbfd44 + .quad 0x2225be6c950a7e6f, 0x227bbbb999bb060a + .quad 0x221f9ccdcf7c94fe, 0x22742afa66f9fdc1 + .quad 0x2216fa2fc442a9d3, 0x226d54340d9c375d + .quad 0x2210b2e58cb15f5c, 0x226552b1ae6aeaa2 + .quad 0x220844d490056942, 0x225f004e9f45a94b + .quad 0x2201a217943b9ac7, 0x22568887b7750462 + .quad 0x21f99edc3fa555f4, 0x2250605cdc8a1e5e + .quad 0x21f29c58e31af831, 0x2247ccfa0b55e3f7 + .quad 0x21eb08c96a2d341c, 0x22414b13fa04509f + .quad 0x21e3a2063aa9bfc9, 0x22392087a96ea8f4 + .quad 0x21dc831fc61280f7, 0x223240a6edc95f53 + .quad 0x21d4b37d15842e1d, 0x222a83b0db0fa5b6 + .quad 0x21ce0e63f582488b, 0x22234170d65d2fe5 + .quad 0x21c5d11b81c3fea7, 0x221bf6f703f6c8b1 + .quad 0x21bfab1b4f400c2e, 0x22144dcd884a52dc + .quad 0x21b6fb3ff8ccf41c, 0x220d7adc6f76430f + .quad 0x21b0ace5d20891a2, 0x2205661968fc8c68 + .quad 0x21a8324934a763f4, 0x21ff0fe41a3b588b + .quad 0x21a18d7d8058e531, 0x21f68ab147365bff + .quad 0x2199769602e7d2c4, 0x21f05b48bc57ed71 + .quad 0x21927797b62a04a4, 0x21e7bbf2311e9661 + .quad 0x218ac8851524d431, 0x21e137b41cf9c9a4 + .quad 0x21836b7751d5da7f, 0x21d8fa3947e525d9 + .quad 0x217c2874cefea298, 0x21d21d7603b6e2cc + .quad 0x2174695ee8470b66, 0x21ca45e3910021ac + .quad 0x216d96c311be3eb3, 0x21c30cd0207d04ed + .quad 0x216571909f179506, 0x21bb9f4dc504a668 + .quad 0x215f13cd05945d89, 0x21b40603dadb780a + .quad 0x2156844e0504f766, 0x21ad06d41c212c13 + .quad 0x21504ff770417c7e, 0x21a509522cc01f2f + .quad 0x2147a1d7e8c27e50, 0x219e7cd2184183eb + .quad 0x21411dc1d57f7df8, 0x219616fb7b910c11 + .quad 0x2138ca6e2e342651, 0x219000d1267395e3 + .quad 0x2131f372812d1e14, 0x21872f3f6faafe57 + .quad 0x2129fe4fa21e8c98, 0x2180cacf12619fe1 + .quad 0x2122d1356c845fd1, 0x2178525cca4f244d + .quad 0x211b3db9cc5a58f3, 0x21719c8ed29100e2 + .quad 0x2113b7359a6b9391, 0x216980913a0c5f1e + .quad 0x210c88e8c09b9bb2, 0x2162763b979d57b5 + .quad 0x2104a59cf5958098, 0x215aba192db244fd + .quad 0x20fde016eddfacad, 0x215357ff9fbc97f4 + .quad 0x20f59c942db45eae, 0x214bff2fa5de1e9d + .quad 0x20ef437cec9632b8, 0x21444204156d00fc + .quad 0x20e69c4293cefa3f, 0x213d500e0534289d + .quad 0x20e059a8a5ce0ce7, 0x21353470ed39dd97 + .quad 0x20d7a4cdf5c8de47, 0x212eacebdf5973c2 + .quad 0x20d117e42e10afc5, 0x21262f6cc2a62dbd + .quad 0x20c8b65a792fe140, 0x21200aff63626acf + .quad 0x20c1dc89fe4a5f8a, 0x2117331cb44dd6ec + .quad 0x20b9d10a7562f377, 0x2110c5bd0cbfba30 + .quad 0x20b2a7b1b1593291, 0x21083fa43f4f73d5 + .quad 0x20aaf4fe4d278bf9, 0x210186c76677c8f7 + .quad 0x20a37971726a776e, 0x20f955251a12574c + .quad 0x209c225447c48b85, 0x20f24e359c6528bb + .quad 0x209451dde15504ec, 0x20ea73bf0e7dcf7b + .quad 0x208d592869bae136, 0x20e31c1d70a5a26c + .quad 0x20853109f6b70a02, 0x20db9b8fd3b82ace + .quad 0x207e99944d35a898, 0x20d3f09320694d40 + .quad 0x20761706e7ea0b42, 0x20ccccb2e7856e93 + .quad 0x206fe3aefa4cdaa2, 0x20c4cba948866255 + .quad 0x206703e40ae0b133, 0x20be0741675f15a5 + .quad 0x20609bc65f9b8064, 0x20b5ad70c9e433d4 + .quad 0x2057f7aeba02f7ef, 0x20af4b51e95f89d5 + .quad 0x20514a9f8443d058, 0x20a695f8add0a062 + .quad 0x2048f272381e3222, 0x20a04c7c2a8ead79 + .quad 0x2041fe6a1ccca721, 0x2097854e0a5444cf + .quad 0x2039f437947f2743, 0x2090f822de49bc54 + .quad 0x2032b72bc2a1bb29, 0x20887b7be69a8c26 + .quad 0x202afd058f4d5cb9, 0x2081a8a41a9a7340 + .quad 0x202374e8637e822f, 0x2079788b1f83908e + .quad 0x201c0ce07e3f5247, 0x20725e0558a5c077 + .quad 0x201437a22e46ffc9, 0x206a7c824c7683f1 + .quad 0x200d23ca31c0220c, 0x2063184a6ce13b46 + .quad 0x2004ff5980398e02, 0x205b8765a48c0cf1 + .quad 0x1ffe41c1da9f8a5f, 0x2053d775743f06ae + .quad 0x1ff5cc0cd28b81e5, 0x204c9936e428a9d9 + .quad 0x1fef66c3f065ea05, 0x20449b86c1b194ce + .quad 0x1fe69db8a882e290, 0x203db1f5331fbe71 + .quad 0x1fe049650c331274, 0x2035647ccc18e717 + .quad 0x1fd774577e1faf4f, 0x202ed19d0b78718c + .quad 0x1fd0e2e586d3df5c, 0x202632541cab3ac0 + .quad 0x1fc84fe1b767669b, 0x201ff82820edeaab + .quad 0x1fc17fdd44e1dc6c, 0x201705073deb552a + .quad 0x1fb9304d9065a4b9, 0x201092c6a4a26abf + .quad 0x1fb220449767742a, 0x2007dc8eab3ed87a + .quad 0x1faa158f0df4c356, 0x20012ce032c827ce + .quad 0x1fa2c4123936432b, 0x1ff8b8e0c1372c25 + .quad 0x1f9aff97ef6163ed, 0x1ff1ca5926404568 + .quad 0x1f936b3b4511d82b, 0x1fe999f1ae9f978b + .quad 0x1f8bee57a0fbbbdc, 0x1fe26b285aeabdbe + .quad 0x1f8415b32c89327c, 0x1fda7fb366632c72 + .quad 0x1f7ce1bb2fa9523e, 0x1fd30f431387ee69 + .quad 0x1f74c36baf8c2285, 0x1fcb6a15925d0c25 + .quad 0x1f6dd9ad3d89a4a5, 0x1fc3b69cf0bd5608 + .quad 0x1f657454d4c97f21, 0x1fbc590587256b75 + .quad 0x1f5ed615f7bfd7d2, 0x1fb46127e8d37ba7 + .quad 0x1f56285ce2e2e29b, 0x1fad4c6e38ed7f06 + .quad 0x1f4fd6db0d73348e, 0x1fa50ed44039bd53 + .quad 0x1f46df705a8252f7, 0x1f9e4438317c2a1e + .quad 0x1f406defd40bdb09, 0x1f95bf9082dc8412 + .quad 0x1f379979f15ddb0d, 0x1f8f4049875ce630 + .quad 0x1f30f2823287afb6, 0x1f8673497e5a0d03 + .quad 0x1f2856628e34ac2c, 0x1f802042eb28efef + .quad 0x1f217913a85a33a7, 0x1f7729ea3d219a53 + .quad 0x1f19161145d0e326, 0x1f70a2671c8cdbee + .quad 0x1f120191f16dc709, 0x1f67e35c0288722e + .quad 0x1f09d86b59187f4e, 0x1f612680a24c58f5 + .quad 0x1f028be97e6e9065, 0x1f589f8647df9662 + .quad 0x1efa9d5434377e7b, 0x1f51ac7d823a316c + .quad 0x1ef31805749922c3, 0x1f495e4eba9494ca + .quad 0x1eeb64ad6eec66d3, 0x1f42344a7c981006 + .quad 0x1ee3a5cfae5998ec, 0x1f3a1f993b67371d + .quad 0x1edc2e56cdffce02, 0x1f32bdd30bebc795 + .quad 0x1ed43530bcc0ee3a, 0x1f2ae347debd3070 + .quad 0x1eccfa2e45eea63d, 0x1f23490165a1de50 + .quad 0x1ec4c60fe9d5cbc1, 0x1f1ba93aee1c301f + .quad 0x1ebdc80ffece4451, 0x1f13d5be7b8309a9 + .quad 0x1eb558533bc564e3, 0x1f0c7150ead1fd0e + .quad 0x1eae97d659702f92, 0x1f0463f1fe01b7da + .quad 0x1ea5ebdf78f85a03, 0x1efd3b6691d169e3 + .quad 0x1e9f6959f5cadd73, 0x1ef4f3825f642b00 + .quad 0x1e9680982d0eea8a, 0x1eee0756e0ca137b + .quad 0x1e901e38dd55bfc7, 0x1ee58454d7cf0720 + .quad 0x1e87165faec70a10, 0x1eded4fb1c7fef16 + .quad 0x1e8088796f5a0260, 0x1ed6164d6a338985 + .quad 0x1e77ad1726ce2f3c, 0x1ecfa42ad866b600 + .quad 0x1e70f3587953aeb5, 0x1ec6a94eea23ecd2 + .quad 0x1e68449e977fef01, 0x1ec03a5dffc21d0d + .quad 0x1e615ebef6827c9d, 0x1eb73d3b028fc2cf + .quad 0x1e58dcd4e591ac76, 0x1eb0a3416f4dd0f1 + .quad 0x1e51ca951b79a938, 0x1ea7d1f23d694b62 + .quad 0x1e497597e1aad586, 0x1ea10ca917d13a59 + .quad 0x1e4236c25d3c18a2, 0x1e9867540c340902 + .quad 0x1e3a0ec452e85047, 0x1e91767d933fa0f7 + .quad 0x1e32a32d78fe110f, 0x1e88fd3ed17c059f + .quad 0x1e2aa8360248e3ed, 0x1e81e0a6bf884441 + .quad 0x1e230fbc7c8ab284, 0x1e79938feb3469d1 + .quad 0x1e1b41c7c6ff8cc6, 0x1e724b0bc63cac6b + .quad 0x1e137c54cf4ab1fc, 0x1e6a2a23bdfb3241 + .quad 0x1e0bdb5393a7ccd2, 0x1e62b59324d7fd9b + .quad 0x1e03e8db3be9418c, 0x1e5ac0d5c13ef72a + .quad 0x1dfc74b284572b4c, 0x1e532022b5a4d882 + .quad 0x1df45533fa93710c, 0x1e4b57808c42df0b + .quad 0x1ded0dbced86364c, 0x1e438a9fb93eb860 + .quad 0x1de4c142bbcdb51b, 0x1e3bedfde3fbf9f1 + .quad 0x1ddda64a6bca7ad0, 0x1e33f4eee0ab230d + .quad 0x1dd52ceab3daa53b, 0x1e2c8426c9c266d4 + .quad 0x1dce3e31f45a0a96, 0x1e245ef458066425 + .quad 0x1dc5980ea6ad6692, 0x1e1d19d38acfc932 + .quad 0x1dbed549e6504cf2, 0x1e14c893d1bef1fe + .quad 0x1db60290f4619f98, 0x1e0daedbd083bb8e + .quad 0x1daf6b681cab013b, 0x1e0531b0925a021e + .quad 0x1da66c53a6323b06, 0x1dfe4316b16614af + .quad 0x1da00031007ac3e3, 0x1df59a2d7cbb3c39 + .quad 0x1d96d5387be7adf6, 0x1deed65ac2de0264 + .quad 0x1d904a064f4bdd38, 0x1de601ed1ee8e719 + .quad 0x1d873d20f9b5e73b, 0x1ddf687e2b942e41 + .quad 0x1d80931e5b5e6c43, 0x1dd668d1bf455ad8 + .quad 0x1d77a3ee7681856f, 0x1dcff956b675583b + .quad 0x1d70db636a632668, 0x1dc6cebd6a35f863 + .quad 0x1d6809822a836e1f, 0x1dc0445cf3250898 + .quad 0x1d6122bfb19eafe7, 0x1db73392002f5fc2 + .quad 0x1d586dbd3e416493, 0x1db08b3e84ebc2b9 + .quad 0x1d51691d609b1ec9, 0x1da79731441e1e21 + .quad 0x1d48d080d9d1c96d, 0x1da0d13aa83e4b01 + .quad 0x1d41ae66ac0b0b6a, 0x1d97f97cea22928b + .quad 0x1d3931ae34603f62, 0x1d91163bef9eebc1 + .quad 0x1d31f285d8d6c817, 0x1d885a56a6965552 + .quad 0x1d299126a3e88ca5, 0x1d815a2cf3193875 + .quad 0x1d223565474c154e, 0x1d78b9a03d510324 + .quad 0x1d19eecbad1cb519, 0x1d719cf85b21a11f + .quad 0x1d1276ef7e686add, 0x1d69173b9121e9f7 + .quad 0x1d0a4a7f136af77e, 0x1d61de88eb969b39 + .quad 0x1d02b70f3735b79f, 0x1d59730ab373bc61 + .quad 0x1cfaa422e918100d, 0x1d521ec98edb9593 + .quad 0x1cf2f5af68314ac2, 0x1d49cceff40f1fb1 + .quad 0x1ceafb999f61e5d4, 0x1d425da56105b758 + .quad 0x1ce332bb50b471fb, 0x1d3a24cdf0f0a2e7 + .quad 0x1cdb50c6169e961b, 0x1d329b07bb123c75 + .quad 0x1cd36e1e845638bb, 0x1d2a7a87a6267113 + .quad 0x1ccba38bae4baa67, 0x1d22d6dc3e1e1b47 + .quad 0x1cc3a7c4f63d9d53, 0x1d1ace007da9e0c8 + .quad 0x1cbbf3ce55012ad1, 0x1d13110ede9680ce + .quad 0x1cb3df9b045b81fc, 0x1d0b1f1c5f28dcc9 + .quad 0x1cac4172983c2f7e, 0x1d03498bef599a58 + .quad 0x1ca4158d828399ae, 0x1cfb6dbfbfb30836 + .quad 0x1c9c8c5db3f49157, 0x1cf380402cbf1542 + .quad 0x1c944989c55b9312, 0x1cebb9cfb13e7262 + .quad 0x1c8cd475a1f163ee, 0x1ce3b518c77fb7d2 + .quad 0x1c847b7dad17cf31, 0x1cdc0331f1f7ac71 + .quad 0x1c7d19a128cff8a4, 0x1cd3e8036f737914 + .quad 0x1c74ab57affd05a9, 0x1ccc49ccfb511d2c + .quad 0x1c6d5bc7eab14dfb, 0x1cc418ee5e1d890e + .quad 0x1c64d906e49e5535, 0x1cbc8d8810c585d4 + .quad 0x1c5d9ad27381fd3d, 0x1cb447c860fdcf2c + .quad 0x1c55047b0bcf6527, 0x1cacce4b4e41cdca + .quad 0x1c4dd6aa46d0f45c, 0x1ca47480e39f8181 + .quad 0x1c452da49a426b16, 0x1c9d0bffb62a59f5 + .quad 0x1c3e0f39ed2991f9, 0x1c949f07f95c9d66 + .quad 0x1c355474c1ca1f2b, 0x1c8d468f3ef07049 + .quad 0x1c2e446d00e60d84, 0x1c84c74e66ce3841 + .quad 0x1c2578dd7a37e92b, 0x1c7d7de4e02c6f6f + .quad 0x1c1e76303a6f7572, 0x1c74ed45aae1d60c + .quad 0x1c159ad189ced845, 0x1c6db1ec9f31f5e1 + .quad 0x1c0ea4717be0f8c8, 0x1c6510e0078c325e + .quad 0x1c05ba448d444792, 0x1c5de2939b1372f7 + .quad 0x1bfecf1fdc04a7db, 0x1c5532108a122ff3 + .quad 0x1bf5d72aff4768da, 0x1c4e0fc8180b06b8 + .quad 0x1beef62bb0a0594a, 0x1c4550cb12e0f1db + .quad 0x1be5f17a3f894e1d, 0x1c3e39798a3f0a89 + .quad 0x1bdf19869809eb8a, 0x1c356d045cee7811 + .quad 0x1bd60928993f7077, 0x1c2e5f989fd91cad + .quad 0x1bcf392381fab056, 0x1c2586b2049c7737 + .quad 0x1bc61e2d491b1f68, 0x1c1e82174a67122f + .quad 0x1bbf54f6b79a6d5f, 0x1c159dca8e17880f + .quad 0x1bb6308082b0b65c, 0x1c0ea0e8c77dc629 + .quad 0x1baf6cf5e2bb03dc, 0x1c05b2456b2d3672 + .quad 0x1ba6401b7549eebb, 0x1bfebc01a8965943 + .quad 0x1b9f8118143e7eb0, 0x1bf5c41b0093e8e9 + .quad 0x1b964cf8501f223b, 0x1beed357da1f18ba + .quad 0x1b8f9155c9a1fbd1, 0x1be5d344aaa010f1 + .quad 0x1b86571245f3d39a, 0x1bdee6e2a9b9efd0 + .quad 0x1b7f9da8f1a8a0cc, 0x1bd5dfbcc1628fd2 + .quad 0x1b765e6590135a00, 0x1bcef69acba2f951 + .quad 0x1b6fa60cf0228aad, 0x1bc5e97e9c2cbc7f + .quad 0x1b6662ef70ab154b, 0x1bbf027a5f3a7f56 + .quad 0x1b5faa7ea0cc6ecb, 0x1bb5f0869476fb64 + .quad 0x1b5664ae34801e0e, 0x1baf0a7cf2ae7563 + .quad 0x1b4faafc59456a8c, 0x1ba5f4d2082760f5 + .quad 0x1b4663a133fef350, 0x1b9f0e9f85c03b41 + .quad 0x1b3fa785ea194bf2, 0x1b95f65f5b366281 + .quad 0x1b365fc8d3a43882, 0x1b8f0ee08ba43cd5 + .quad 0x1b2fa01c9ede6a16, 0x1b85f52df8b025d3 + .quad 0x1b26592683be2829, 0x1b7f0b3febf9cbcd + .quad 0x1b1f94c33d66f35b, 0x1b75f13e53118eaa + .quad 0x1b164fbcbf86f1ab, 0x1b6f03bf02da5a7a + .quad 0x1b0f857e040665a0, 0x1b65ea91e400b8af + .quad 0x1b06438f0b98cab0, 0x1b5ef860a0000a7a + .quad 0x1aff7252a6ecb2bb, 0x1b55e12b2b611c72 + .quad 0x1af634a1f3bd0d7e, 0x1b4ee92905044d53 + .quad 0x1aef5b484c995f72, 0x1b45d50dadc42d9d + .quad 0x1ae622fb08184d56, 0x1b3ed61de2b81fc4 + .quad 0x1adf40678969b4f4, 0x1b35c63df237cf4d + .quad 0x1ad60ea0d9b5d711, 0x1b2ebf4655983167 + .quad 0x1acf21ba5a45e2af, 0x1b25b4c17f7488b1 + .quad 0x1ac5f79af6759efd, 0x1b1ea4aae160108a + .quad 0x1abeff4c1e71b057, 0x1b15a09ed86def16 + .quad 0x1ab5ddf1e460242c, 0x1b0e86556bc034fe + .quad 0x1aaed92990861c73, 0x1b0589dd784842f0 + .quad 0x1aa5c1af1c6454be, 0x1afe6451363b8311 + .quad 0x1a9eaf60be99fa59, 0x1af57085cdb6c23e + .quad 0x1a95a2dd0483fd76, 0x1aee3eaad7319948 + .quad 0x1a8e820101a05296, 0x1ae554a135c6b3d2 + .quad 0x1a858186e973c8cb, 0x1ade1570321beee3 + .quad 0x1a7e511af403f0e1, 0x1ad53639f61bab8b + .quad 0x1a755db8f7b445c6, 0x1acde8b06f0475d8 + .quad 0x1a6e1cc067882b19, 0x1ac5155b36a1ff17 + .quad 0x1a6537803429dd3d, 0x1abdb87bf13d1856 + .quad 0x1a5de5045a77840f, 0x1ab4f210fabcd4fe + .quad 0x1a550eea743a03b0, 0x1aad84e44d6006fd + .quad 0x1a4da9faec295ac1, 0x1aa4cc6819f5a3a9 + .quad 0x1a44e406557456e3, 0x1a9d4dfc3ea1615f + .quad 0x1a3d6bb950e85a76, 0x1a94a46e38335bf7 + .quad 0x1a34b6e334ceafc3, 0x1a8d13d79b7b4d75 + .quad 0x1a2d2a55c543d97b, 0x1a847a31bd7fd98a + .quad 0x1a248791257b832e, 0x1a7cd68b49be13bd + .quad 0x1a1ce5e780d6c294, 0x1a744dc1cd628aec + .quad 0x1a145620e7623619, 0x1a6c962d320e4c77 + .quad 0x1a0c9e86a88f07ff, 0x1a641f2e3dd79383 + .quad 0x1a0422a3dd414b5e, 0x1a5c52d432db963c + .quad 0x19fc544c4080f626, 0x1a53ee878deaf1c1 + .quad 0x19f3ed2c02828af5, 0x1a4c0c9812daaed1 + .quad 0x19ec07521d52071e, 0x1a43bbdedbff7430 + .quad 0x19e3b5cbe0c97302, 0x1a3bc391730e1bf4 + .quad 0x19dbb7b2d547171a, 0x1a338745dbc97fd1 + .quad 0x19d37c9685446b6b, 0x1a2b77d9c068db21 + .quad 0x19cb6589b1020c3e, 0x1a2350cecc05d9cf + .quad 0x19c3419f75c953bc, 0x1a1b298b2516cc35 + .quad 0x19bb10f29bfb2a68, 0x1a13188c6bf4cd49 + .quad 0x19b304faa5c619af, 0x1a0ad8c07976bbc0 + .quad 0x19aaba0a14c264cc, 0x1a02de91f0a22435 + .quad 0x19a2c6bc6b0e1424, 0x19fa859534d21642 + .quad 0x199a60ed1d150c44, 0x19f2a2f2fa027fc3 + .quad 0x199286f9728ce321, 0x19ea30255dde65be + .quad 0x198a05b929d439ab, 0x19e265c387eea954 + .quad 0x198245c6b4e79163, 0x19d9d88d7b14c6d3 + .quad 0x1979a88c12e847c2, 0x19d22717ef05792f + .quad 0x197203396b14a770, 0x19c97eea82eb8229 + .quad 0x19694984031d9858, 0x19c1e704cd7ceb7c + .quad 0x1961bf6702f3caf4, 0x19b92359cbfdea74 + .quad 0x1958e8bf6806bcab, 0x19b1a59effeaeef1 + .quad 0x19517a6513ed67fa, 0x19a8c5f8fd2e86f6 + .quad 0x1948865ce1efe9b6, 0x19a162fb960e6361 + .quad 0x1941344953a2bc16, 0x199866e5fdcf6e5c + .quad 0x1938227b33ef66f4, 0x19911f2fc7a0a0a9 + .quad 0x1930ed298ab66e97, 0x1988063ee5dc8676 + .quad 0x1927bd39341e60d2, 0x1980da50e937b941 + .quad 0x1920a51b89b5ac38, 0x1977a421ee53231b + .quad 0x191756b5bc0538cf, 0x1970947461417eb2 + .quad 0x19105c351e298147, 0x196740ad61b23997 + .quad 0x1906ef0f9946142e, 0x19604daf9d1f19d0 + .quad 0x1900128c07d7eac9, 0x1956dbff8cae0f32 + .quad 0x18f686657e900799, 0x195006180668cd93 + .quad 0x18ef906bdc779cfc, 0x19467636af21f0cb + .quad 0x18e61cd5f4e4d33c, 0x193f7b85f0c272bb + .quad 0x18defa90ac757637, 0x19360f70ed4a200e + .quad 0x18d5b27f4d3aafaf, 0x192ee98b6b3e4f34 + .quad 0x18ce63b1303dfbfb, 0x1925a7cc414fb8aa + .quad 0x18c5477f92833195, 0x191e566abbe94f87 + .quad 0x18bdcbf7abb88524, 0x19153f666d2fde17 + .quad 0x18b4dbf47c1fc8a0, 0x190dc24dc933bf6d + .quad 0x18ad338de3492428, 0x1904d65ced070949 + .quad 0x18a46ffb60cbd760, 0x18fd2d5e0d435050 + .quad 0x189c9a9d09a6515f, 0x18f46ccce9c8cdf5 + .quad 0x189403b12a03d499, 0x18ec97c4837b573e + .quad 0x188c014dae645fc3, 0x18e402d32c6be96d + .quad 0x1883973247f05596, 0x18dc01a996aebdb3 + .quad 0x187b67c7ad400b86, 0x18d3988c1191e211 + .quad 0x18732a9aa5db4bb3, 0x18cb6b3510058b7a + .quad 0x186ace321e309c7b, 0x18c32e137db0ef23 + .quad 0x1862be059f3526f7, 0x18bad48e069f2207 + .quad 0x185a34b346493cc3, 0x18b2c384d1c64d5b + .quad 0x1852518df52ef492, 0x18aa3ddacff96f65 + .quad 0x18499b70897047dc, 0x18a258fae0968e74 + .quad 0x1841e54dc4edf3a3, 0x1899a740f1248851 + .quad 0x1839028e5cf277c7, 0x1891ee8fe480d92c + .quad 0x1831795e7e5c7cca, 0x188910e510c93fe1 + .quad 0x18286a303af6f699, 0x1881845d75e974c6 + .quad 0x18210dd8db9b7b20, 0x18787aeaea087811 + .quad 0x1817d27896d87b8e, 0x18711a7c823f5ff5 + .quad 0x1810a2d4d917179a, 0x1867e57540380a90 + .quad 0x18073b88d266bc5a, 0x1860b10543a01766 + .quad 0x18003869ae409b27, 0x185750a5d3814d59 + .quad 0x17f6a58134129f18, 0x1850480f391c14fc + .quad 0x17ef9d5b8ddde221, 0x1846bc9d56645be6 + .quad 0x17e61080de06bfb0, 0x183fbf623f3bedba + .quad 0x17decb6d7acd34f7, 0x1836297b642274f2 + .quad 0x17d57ca5c62d05dd, 0x182ef001d6eb49df + .quad 0x17cdfb32aa129cc6, 0x1825975e7810e700 + .quad 0x17c4ea0caf213789, 0x181e222785106b16 + .quad 0x17bd2cd2eb59de4c, 0x18150663e5d53392 + .quad 0x17b458d1220fa79d, 0x180d55fbee497e00 + .quad 0x17ac60744f31e198, 0x180476a7d28a437b + .quad 0x17a3c90d697e5b5d, 0x17fc8ba606fb6833 + .quad 0x179b963b20518321, 0x17f3e8452ecdbe84 + .quad 0x17933ada8cfe418f, 0x17ebc34b0b8bbc60 + .quad 0x178ace49de2283ae, 0x17e35b55b1b3d652 + .quad 0x1782ae504dc15f24, 0x17dafd0e79df00eb + .quad 0x177a08c1388db34f, 0x17d2cff1d49f192c + .quad 0x1772238524122580, 0x17ca39120c175c51 + .quad 0x176945c00d028182, 0x17c24630cff92d39 + .quad 0x17619a8e3da77fbe, 0x17b97775b48ec1aa + .quad 0x1758856364b336c5, 0x17b1be2898c8a8a4 + .quad 0x1751137f7cd08642, 0x17a8b8579b06ca2c + .quad 0x1747c7c673fe436e, 0x17a137eddf1f97ae + .quad 0x17408e6b787233ba, 0x1797fbd41b078795 + .quad 0x17370d029afc4472, 0x1790b3940d5da6fc + .quad 0x17300b637cd0ec0b, 0x17874205c365c73e + .quad 0x1726552f6729a259, 0x1780312d48405757 + .quad 0x171f14ef1a3e4ac2, 0x17768b0556e87723 + .quad 0x1715a06296220023, 0x176f6194df7630e5 + .quad 0x170e176ccb941b53, 0x1765d6e9ce0425a7 + .quad 0x1704eeb0196310cd, 0x175e64f64121563e + .quad 0x16fd1e5afef936da, 0x175525c859a2ea9a + .quad 0x16f4402a1b0bd9df, 0x174d6c9b6d4d6fc5 + .quad 0x16ec29d225a230e3, 0x174477b466ee6cc1 + .quad 0x16e394e1038ce88e, 0x173c789ea0183d02 + .quad 0x16db39e83951bdaa, 0x1733ccbfa4112a58 + .quad 0x16d2ece3803d8d68, 0x172b8917a154498b + .quad 0x16ca4eb0c6436cf4, 0x172324fa05e3adc4 + .quad 0x16c2483e8ac9d061, 0x171a9e1bcd30af1f + .quad 0x16b9683cf6400112, 0x17128071ce79e917 + .quad 0x16b1a6fd716c7c18, 0x1709b7be1e1550cb + .quad 0x16a8869b9cc95345, 0x1701df33948493fa + .quad 0x16a10929dfe85b79, 0x16f8d60f37a227b9 + .quad 0x1697a9d9444b613e, 0x16f1414a4b7a1729 + .quad 0x16906ecbe9338feb, 0x16e7f91d72bfd333 + .quad 0x1686d2003c3fdf54, 0x16e0a6bf4c7a4f95 + .quad 0x167fafd4238f8063, 0x16d720f4eaaf4bbb + .quad 0x1675ff18a8317f0a, 0x16d00f9a5fe04069 + .quad 0x166e8912b5139031, 0x16c64d9f8b065b73 + .quad 0x166531288f8c01c7, 0x16bef7c38ee94e41 + .quad 0x165d695a98770e4b, 0x16b57f251e86550e + .quad 0x16546833ee262b10, 0x16add73492689d20 + .quad 0x164c50b006d4e015, 0x16a4b58b5eba6cc7 + .quad 0x1643a43cc572b3d3, 0x169cbd8e7539eac7 + .quad 0x163b3f14799b1616, 0x1693f0d6044b145d + .quad 0x1632e5432e458097, 0x168baad518e7426e + .quad 0x162a3486c40b74f1, 0x16833106d7f3cac9 + .quad 0x16222b456b1a8db7, 0x167a9f09adee91e3 + .quad 0x161931032d667261, 0x1672761dc408f1ef + .quad 0x1611763ffacc46ac, 0x16699a2acce5bd7f + .quad 0x160834838ba6fe3d, 0x1661c018e67b6eae + .quad 0x1600c62daba74e7c, 0x16589c349043d67e + .quad 0x15f73eff5eb5eca5, 0x16510ef4a3481a29 + .quad 0x15f01b07aeca1f42, 0x1647a520aeb63fae + .quad 0x15e6506bebfc67bd, 0x164062abb7415c63 + .quad 0x15dee98b577ea7ca, 0x1636b4e695e9099f + .quad 0x15d568bc5a3d72ee, 0x162f766e96435041 + .quad 0x15cda6bba883d22a, 0x1625cb7b85aa6067 + .quad 0x15c487e1cd9f3e43, 0x161e311e0dabf963 + .quad 0x15bc6d89f0368fc1, 0x1614e8d2ab5187d6 + .quad 0x15b3adcb83cdccc3, 0x160cf55249e0172a + .quad 0x15ab3ddd3216f86e, 0x16040cdd3d52967c + .quad 0x15a2da66f0214306, 0x15fbc2f50c60488e + .quad 0x159a1799fd5925f4, 0x15f3378a96e8e29a + .quad 0x15920d9fd7b31257, 0x15ea99ed8a2f2e6b + .quad 0x1588faa294857a39, 0x15e268c853c2e48d + .quad 0x158147606d4e1ee3, 0x15d97a2092e9b19d + .quad 0x1577e6d714d6fce7, 0x15d1a0826b9b2f1e + .quad 0x157087916d26f37c, 0x15c86370b7b69b46 + .quad 0x1566dc159d3dbce3, 0x15c0dea34dab05c3 + .quad 0x155f9c3470942341, 0x15b755be71f29fea + .quad 0x1555da3a74ec8bc7, 0x15b02313fbe40a01 + .quad 0x154e35c1df5edf07, 0x15a650e8497f58cd + .quad 0x1544e120315adc06, 0x159edb784bbee452 + .quad 0x153cdb951dc67cbf, 0x159554cafa9d0c34 + .quad 0x1533f09fdba5037e, 0x158d7d0486e476cc + .quad 0x152b8d760c6a3faa, 0x158461419b3892c2 + .quad 0x152308911536a23d, 0x157c2a975dad9be0 + .quad 0x151a4b2aa8c000ca, 0x15737625bf981bdb + .quad 0x151228ca3bac6e07, 0x156ae3f97cbb25ce + .quad 0x150914773f3bbbac, 0x1562934f9e530bad + .quad 0x150151208bdc254e, 0x1559a8f1bb2e0d78 + .quad 0x14f7e91e9c37a26b, 0x1551b8963382a860 + .quad 0x14f0816843f2edd8, 0x154879454bd5bf1a + .quad 0x14e6c8e23b87885f, 0x1540e5cf631ac83b + .quad 0x14df72e98937c4f8, 0x153754b7ed21d736 + .quad 0x14d5b38276a48ea0, 0x15301ad01a5b2dd0 + .quad 0x14cdf23162441e8b, 0x15263b0c17c2af00 + .quad 0x14c4a8beb16012ed, 0x151eaed8e09770ed + .quad 0x14bc804c1d0522eb, 0x15152c032be62aab + .quad 0x14b3a855850eeeea, 0x150d36ef8a6e08fa + .quad 0x14ab1cdcc2ca0214, 0x1504275d9d00481d + .quad 0x14a2b204ea20186e, 0x14fbcd89c2310d59 + .quad 0x1499c78595e362ce, 0x14f32cdb1c10f0ee + .quad 0x1491c58a6013aaee, 0x14ea724c21e93002 + .quad 0x14887fe848fd6bff, 0x14e23c3ac05a8c19 + .quad 0x1480e2a313c94bb5, 0x14d924da86249080 + .quad 0x147745a6341bd9d3, 0x14d1553b2e7eba16 + .quad 0x1470090c041eb55f, 0x14c7e4d844204d5f + .quad 0x14661860872f36c7, 0x14c0779abdf88654 + .quad 0x145e710449b20327, 0x14b6b1e85d9cfdc3 + .quad 0x1454f7b87a3ccd22, 0x14af462f39da55f5 + .quad 0x144ce184ffaa0275, 0x14a58badb2559681 + .quad 0x1443e34f7b15484d, 0x149daedfe49c8a9f + .quad 0x143b6314a8f93441, 0x149471cb2f12adec + .quad 0x1432dac758984610, 0x148c28c3fc94131b + .quad 0x1429f52e6b0168fb, 0x148363e3fa566830 + .quad 0x1421ddc26b854422, 0x147ab358720f461f + .quad 0x1418974e49b18481, 0x1472619b9e9f9276 + .quad 0x1410ebe3bcdc6652, 0x14694e1adf5ef17a + .quad 0x140748f15c14a990, 0x14616a96324493c1 + .quad 0x140004cf29d383af, 0x1457f889bf8109c7 + .quad 0x13f60995fd7916b4, 0x14507e787ce8decb + .quad 0x13ee50530acb7a2b, 0x1446b224a16aa4e0 + .quad 0x13e4d8bbfb38c980, 0x143f39d03522ee6e + .quad 0x13dcab316f0b29de, 0x14357a6c57f8fed2 + .quad 0x13d3b5e4bf3051bb, 0x142d8b1738bdcb74 + .quad 0x13cb1987b3f62cd2, 0x142450e32693ba8d + .quad 0x13c2a09376f26716, 0x141bf0154de94403 + .quad 0x13b99aa6a5f22416, 0x1413350cea8cd61a + .quad 0x13b1984d37c8d151, 0x140a681c1d2f0b94 + .quad 0x13a82de1daeb9c47, 0x1402266f414ce57b + .quad 0x13a09c991f950457, 0x13f8f27fe21c9591 + .quad 0x1396d28fdea9871a, 0x13f12491ab5c17d9 + .quad 0x138f5a00e548f085, 0x13e78e979aa0c9be + .quad 0x1385880a5ae03598, 0x13e02efdac5a4ff4 + .quad 0x137d921d6d1c821b, 0x13d63bbd32217718 + .quad 0x13744dae3b23367b, 0x13ce8a7dcff4677c + .quad 0x136be0a394617721, 0x13c4f94da865b2a3 + .quad 0x136322dbccd73cab, 0x13bccdc67829105b + .quad 0x135a44b3f5ce9c8b, 0x13b3c6a934743c05 + .quad 0x135206f6db46b930, 0x13ab26f5afd4ebc9 + .quad 0x1348bd742e227a38, 0x13a2a3336386b4d7 + .quad 0x1340f966c7fd2396, 0x13999530a15ce61a + .quad 0x13374a0efc06d36e, 0x13918e533433f227 + .quad 0x132ff32d3f1c0a49, 0x138817a166d90dbd + .quad 0x1325e9b45aff1be0, 0x138087732df4f3ab + .quad 0x131e0dea55db81c4, 0x1376ad7728d6db01 + .quad 0x13149b9999981d6c, 0x136f1c02ea5235f3 + .quad 0x130c41e9fb058b1e, 0x136555e63841a093 + .quad 0x13035ef96b0fe655, 0x135d42dfb77e321e + .quad 0x12fa8e19002cb47f, 0x1354102823a6a0a2 + .quad 0x12f23313f4adb099, 0x134b8267dd51660d + .quad 0x12e8f16bf19917ac, 0x1342db7bc80b123e + .quad 0x12e1172ed701cd40, 0x1339d98e007ff597 + .quad 0x12d76adf2095d808, 0x1331b7255d8af1ce + .quad 0x12d00a953345bce4, 0x1328474c5f89cf1f + .quad 0x12c5f976a86ba7a3, 0x1320a26e7ff7c8a0 + .quad 0x12be192f5a290a0d, 0x1316caa4dc34bcc6 + .quad 0x12b49c3e6e576cf8, 0x130f394c675d5da1 + .quad 0x12ac3918d16606af, 0x130562a0ffd36fef + .quad 0x12a3524a1ccb90ce, 0x12fd4a41cdb95576 + .quad 0x129a739e0c3f00b3, 0x12f40e51faa74ee4 + .quad 0x12921ab51a49a640, 0x12eb7670ded07be7 + .quad 0x1288c781323e2b8b, 0x12e2ccd09eaa3410 + .quad 0x1280f4a27c210b83, 0x12d9bc980b6cd88b + .quad 0x1277338f3cfd4b18, 0x12d19d3d560c7458 + .quad 0x126fbe79eabbab8b, 0x12c81b807901b2dd + .quad 0x1265b69fdd784131, 0x12c07ec015b26bbf + .quad 0x125db36d8463b3e1, 0x12b691fdebe382be + .quad 0x12544f955c9776f6, 0x12aee11097f70374 + .quad 0x124bc693203fe92c, 0x12a51eeeac7320be + .quad 0x1242fd5c7756dd24, 0x129ce39998362bf9 + .quad 0x1239f66cc65fb2cb, 0x1293c13b67a17ff2 + .quad 0x1231beec36eb8502, 0x128b03976c943068 + .quad 0x1228418af0dd65ed, 0x128277d70b2ebc6f + .quad 0x12209345c546e7cd, 0x12793f94ba2c6b6a + .quad 0x1216a68c4bfd764b, 0x127141be9e049453 + .quad 0x120ef2e87ca7b717, 0x1267962a50231832 + .quad 0x1205241d71eb6e19, 0x12601df915097b64 + .quad 0x11fce118fc8beeea, 0x125605fee84767f0 + .quad 0x11f3b8f8a28fd848, 0x124e172e498cd2fc + .quad 0x11eaef59daa19c93, 0x12448dc6e3757e71 + .quad 0x11e263e577f574d0, 0x123c1366206ca036 + .quad 0x11d91bfa9231de5c, 0x12332c440230ef3a + .quad 0x11d123b897af1af4, 0x122a2ee0ea25a216 + .quad 0x11c7655cd85a2773, 0x1221e04519eb8f87 + .quad 0x11bfeea6c3554149, 0x121867f82bdccb8f + .quad 0x11b5c9f427a491a4, 0x1210a8a5c7678dff + .quad 0x11adbb4739afff2e, 0x1206bd1744d1513e + .quad 0x11a4484548d479a3, 0x11ff089c3d3d8b6f + .quad 0x119bab46440d8e4b, 0x11f52cbafb8bc99f + .quad 0x1192dee5d96e696e, 0x11ece464b1286c0d + .quad 0x1189bcaf0aad775c, 0x11e3b571085ef9db + .quad 0x11818c7bd07b007f, 0x11dae2a4fedee59c + .quad 0x1177eda37d26ae66, 0x11d255d79dbe3905 + .quad 0x11704fbd01fd3b9a, 0x11c9017432798e26 + .quad 0x11663c5ba199716f, 0x11c10c9ceee61d28 + .quad 0x115e4edd431a7a40, 0x11b73effa34f57ab + .quad 0x1154a724e2f6eade, 0x11afb0fd6a99ec28 + .quad 0x114c24c9890314cd, 0x11a5998a4600495b + .quad 0x11432c615eef6a3d, 0x119d70936a92f04a + .quad 0x113a1f03c81340fd, 0x11940f6bfdad1f14 + .quad 0x1131ca87340e1c39, 0x118b55b284add8c1 + .quad 0x11283b6cbf2ba29f, 0x11829f10ece9036e + .quad 0x1120801fd07f7284, 0x11795e2d86ae92c8 + .quad 0x111677ffffc31b92, 0x117146f8c6e8dc57 + .quad 0x110e978e83ebd95d, 0x116787f26e598ebb + .quad 0x1104d2d2f5dd4096, 0x116005b6216a17ea + .quad 0x10fc58570e2f641d, 0x1155d10973fbab06 + .quad 0x10f34a13f272cdfa, 0x114db3db8f832a58 + .quad 0x10ea4017c5ace0de, 0x1144379416dfac63 + .quad 0x10e1dc0938cfb932, 0x113b84ac1ef46255 + .quad 0x10d84c7064147f81, 0x1132b9cc2c3d6738 + .quad 0x10d087100f5e6429, 0x11297b6c5dc3637a + .quad 0x10c67b20873fc995, 0x11215602f1227af8 + .quad 0x10be9337a8979da0, 0x111795cb2bb480b6 + .quad 0x10b4ca0667456eb8, 0x11100aa01fc8a73e + .quad 0x10ac446a2ccade1c, 0x1105d196927cdacc + .quad 0x10a3371d92c55c69, 0x10fdac421184af19 + .quad 0x109a1ef1650d3562, 0x10f42cba823b93cb + .quad 0x1091c07db1df4cf6, 0x10eb6e2f60b615c1 + .quad 0x1088202debc2593c, 0x10e2a53f94211ba9 + .quad 0x108064595037ce7b, 0x10d95853e0fd75ad + .quad 0x107645a58ac6913c, 0x10d13949d3b2fbd2 + .quad 0x106e41f95cc492ce, 0x10c768213ee2ba9c + .quad 0x10648d0194e5b153, 0x10bfce2f1e195a7a + .quad 0x105be99935f38c42, 0x10b59b2d772c1b04 + .quad 0x1052f40d4a5d2870, 0x10ad5a005ce1b15d + .quad 0x1049bc8aa74c3805, 0x10a3ef3138f8ae58 + .quad 0x104178b448b82b16, 0x109b12e626e3c8a1 + .quad 0x1037b7f2dc7fa066, 0x1092620652c3102c + .quad 0x1030190106456396, 0x1088f5ecffd9c995 + .quad 0x1025d92194746ef2, 0x1080f1a62a97a48e + .quad 0x101da636b2add63a, 0x1077004d0a0dd3fc + .quad 0x10141d8f14e2d235, 0x106f38508375a815 + .quad 0x100b4a8e16df3a2e, 0x10652f67f4a45dbd + .quad 0x100282da2ee06e9f, 0x105cbf8187da9700 + .quad 0x0ff91bc4f0e82a10, 0x105380c6fa6ddd1b + .quad 0x0ff106c65473611b, 0x104a757e44dde4fb + .quad 0x0fe716ca73d3a1dc, 0x1041f218f165083c + .quad 0x0fdf4e737e667fe6, 0x1038571975a9ba0c + .quad 0x0fd538bdbc880350, 0x103081306aee058b + .quad 0x0fccc4774fe05a13, 0x102661571375ee31 + .quad 0x0fc37eeb586702af, 0x101e5803c9b677c0 + .quad 0x0fba6be51e94d2c3, 0x10149169d29f057f + .quad 0x0fb1e6cae3cc5ce4, 0x100be144165bfdad + .quad 0x0fa841452e30c6ec, 0x1002e4b0b7596d86 + .quad 0x0fa06dfcc0330324, 0x0ff99a8814f82396 + .quad 0x0f964157d8dbcaa1, 0x0ff158b4c1d7aa61 + .quad 0x0f8e248fc3725278, 0x0fe7806fe5adc0de + .quad 0x0f84691284199248, 0x0fdfd64d63539ac4 + .quad 0x0f7ba32f675bcca1, 0x0fd58fd2560c98e3 + .quad 0x0f72b59cb5fcd070, 0x0fcd33b9c01b8858 + .quad 0x0f6953f4278d9771, 0x0fc3c5b9e7be019e + .quad 0x0f61244d4a198783, 0x0fbac5a261b57bd2 + .quad 0x0f57333ac721d353, 0x0fb21f61f6e6a3a5 + .quad 0x0f4f654f8b2c9938, 0x0fa8883e334bf813 + .quad 0x0f453d9d5f4e3889, 0x0fa09a33ffab8174 + .quad 0x0f3cbcb3935e8707, 0x0f9678037d69a88a + .quad 0x0f336fefd85e37f7, 0x0f8e678a0474dd4d + .quad 0x0f2a4a7147e53789, 0x0f8491a44a8cc267 + .quad 0x0f21c73c8c2f3143, 0x0f7bd3a60953bab8 + .quad 0x0f180a7df6e9e4ab, 0x0f72d20af56e98e4 + .quad 0x0f1040c111171b21, 0x0f69748563f2a02c + .quad 0x0f05f9153468350d, 0x0f613656dff66048 + .quad 0x0efdb3d65827b6f1, 0x0f57463a2ae57157 + .quad 0x0ef412b4a3b0b6bb, 0x0f4f77b2a384d071 + .quad 0x0eeb20abd232bd72, 0x0f45451ae34b02ae + .quad 0x0ee25417f5fe18aa, 0x0f3cc024fa52d21e + .quad 0x0ed8c38db09c3d68, 0x0f336dbe645ba702 + .quad 0x0ed0ba351c6b2c44, 0x0f2a415d531b6e85 + .quad 0x0ec69856de023170, 0x0f21bcf7eeeba2f5 + .quad 0x0ebe847157246bfc, 0x0f17f70703ac5558 + .quad 0x0eb49b2d16422141, 0x0f102fd377359b10 + .quad 0x0eabd304de355d85, 0x0f05dd1b0bb84b26 + .quad 0x0ea2c87c2ff697dc, 0x0efd87243e77ecad + .quad 0x0e995b4456f24a66, 0x0ef3efdb3b369292 + .quad 0x0e911cf1a60f1d84, 0x0eeaeb4dc01a4631 + .quad 0x0e8718a9184a8678, 0x0ee22bcd99dbdb06 + .quad 0x0e7f2af0be1fde49, 0x0ed88766c06b0833 + .quad 0x0e7507007917e3d9, 0x0ed08db80d427d79 + .quad 0x0e6c5e695f15072b, 0x0ec65709eb54bf5e + .quad 0x0e632266540e08c2, 0x0ebe253876b38ace + .quad 0x0e59cf012acb820b, 0x0eb45623a2f6a451 + .quad 0x0e51673fda512b46, 0x0eab6f674d703273 + .quad 0x0e4777d05328bd26, 0x0ea280eca736b4b1 + .quad 0x0e3fa46d62b8e57d, 0x0e98f4d804e3ad6f + .quad 0x0e35544c8bc23e1c, 0x0e90d3e50a2eecdc + .quad 0x0e2cc068b1dc8ab2, 0x0e86b0c7763ce52b + .quad 0x0e236042b9065710, 0x0e7e979edc5b3767 + .quad 0x0e1a1cbbab815b4c, 0x0e749ecd657d5dd6 + .quad 0x0e1197d0fe71564c, 0x0e6bcb59141dc715 + .quad 0x0e07b41f3bcb1869, 0x0e62bad65a82bb23 + .quad 0x0dffeec24eca8006, 0x0e593d6de18ac6bf + .quad 0x0df581b387627669, 0x0e51011dd6dfecf6 + .quad 0x0decf746ccaba032, 0x0e46e8be31f2fe24 + .quad 0x0de380f8b864e1ac, 0x0e3edc51c8649aaa + .quad 0x0dda4312cc2f816a, 0x0e34c88f43732a10 + .quad 0x0dd1adc83c96accf, 0x0e2bfd81ed74f1cd + .quad 0x0dc7cc835281bbf3, 0x0e22d883a292df3b + .quad 0x0dc0044e6f2b903f, 0x0e195fde403b5724 + .quad 0x0db58e66674c0f82, 0x0e111494966870b7 + .quad 0x0dad0209514d613d, 0x0e06fdef1ca550b3 + .quad 0x0da383f2f4495aed, 0x0dfef217eb67d36d + .quad 0x0d9a41575f0363d6, 0x0df4d2aaa5b8e28a + .quad 0x0d91a8c12a0cae91, 0x0dec04fcbf1fddd8 + .quad 0x0d87c08d08f2ccbb, 0x0de2d96cdd2a30b8 + .quad 0x0d7ff186c5b90604, 0x0dd95b8ba50a2687 + .quad 0x0d757a2b0b1c4c86, 0x0dd10df03cd711e3 + .quad 0x0d6ce07ef98af2ae, 0x0dc6eff939f51c8f + .quad 0x0d636923c5eb270b, 0x0dbed88d96607fb4 + .quad 0x0d5a1791489717bf, 0x0db4bcf1445c1d61 + .quad 0x0d5188d2c2d680a3, 0x0dabe1a747b458c8 + .quad 0x0d47907312c7e255, 0x0da2bd8dde16ba8a + .quad 0x0d3fa9e995f4c414, 0x0d993089dc23e417 + .quad 0x0d35455df149c7b5, 0x0d90ed4f34d6e965 + .quad 0x0d2c93410e8142f8, 0x0d86bf1c754a3325 + .quad 0x0d233105a5b594f7, 0x0d7e9027b1c5a4ab + .quad 0x0d19c67f441e11b3, 0x0d7487c687197597 + .quad 0x0d114e8ebae7496e, 0x0d6b942323a72767 + .quad 0x0d073d10c597b774, 0x0d6285660efb3e9a + .quad 0x0cff330b99c7f9e7, 0x0d58df9d62fb9c5e + .quad 0x0cf4f0ef77c81a6f, 0x0d50b34677fe9486 + .quad 0x0cec1baedb5f2e65, 0x0d466c37bb05de1e + .quad 0x0ce2dc9788ad9864, 0x0d3e1a30436bcde5 + .quad 0x0cd94f913add4907, 0x0d34341c90c553e7 + .quad 0x0cd0fafd2c40ba27, 0x0d2b1dd0ffc5d04b + .quad 0x0cc6c7df995241d1, 0x0d2231f4a6757469 + .quad 0x0cbe8f062cc963ce, 0x0d186a35930ed5e1 + .quad 0x0cb47e5cbff0d92e, 0x0d1060dd236f49a3 + .quad 0x0cab7be34be4e18d, 0x0d05f8c25cd122d7 + .quad 0x0ca26d5559b935e7, 0x0cfd78bca82e9f37 + .quad 0x0c98b4dd6af9c05d, 0x0cf3c36d15093021 + .quad 0x0c908f94cfc79158, 0x0cea80c62c44a65b + .quad 0x0c8632ec0e0d009c, 0x0ce1c4b11ed6627a + .quad 0x0c7dc0b5f2e40ea4, 0x0cd7d261cc2edf72 + .quad 0x0c73efa480ea698b, 0x0ccfef096f5252f0 + .quad 0x0c6ab6a5245de9e5, 0x0cc566c107178d1f + .quad 0x0c61e52cde409267, 0x0cbcae9de8f00c0b + .quad 0x0c57f910d0084829, 0x0cb337ae444bd293 + .quad 0x0c500e3012bd4171, 0x0ca9bfbcfe9dc1e8 + .quad 0x0c4580c66bfc7cf5, 0x0ca13f803c0631d9 + .quad 0x0c3ccba595fe34b5, 0x0c971ac2109d33c9 + .quad 0x0c3347383dcf4a9b, 0x0c8ef21caa7d80c3 + .quad 0x0c29cf52785fcd1f, 0x0c84b8b6bbdb7a4f + .quad 0x0c21466f7a4ba4b3, 0x0c7bbf4bcf8ca0c3 + .quad 0x0c171f5b701cb667, 0x0c72934441fdae8b + .quad 0x0c0ef1fef5338f87, 0x0c68de00a5d4cff3 + .quad 0x0c04b46ffc2e70cc, 0x0c60a4a61359d63a + .quad 0x0bfbb3f3e667d5e5, 0x0c564673b39bdd54 + .quad 0x0bf287ea78b8278f, 0x0c4dcf3acd0cc1f4 + .quad 0x0be8c9c8347a2863, 0x0c43f1926f0c2aa4 + .quad 0x0be093c166d47d90, 0x0c3aaecb94ca24e1 + .quad 0x0bd62b5957e6b822, 0x0c31d8efbbc88d6c + .quad 0x0bcda4f3c5b8c56f, 0x0c27df554174928c + .quad 0x0bc3d1457a1afdae, 0x0c1fed6b4a9440a8 + .quad 0x0bba7e3665ffae25, 0x0c1558fae0fed7aa + .quad 0x0bb1b4da97b89113, 0x0c0c8b307e047613 + .quad 0x0ba7aa46b2ec675c, 0x0c03149a005e5984 + .quad 0x0b9fa00e080e5360, 0x0bf9819329634547 + .quad 0x0b9520f92dcad4a2, 0x0bf10bba52994e8e + .quad 0x0b8c3a9666328faa, 0x0be6c7dd2d93c0f9 + .quad 0x0b82dae795ce73b6, 0x0bde70fd5d6d806d + .quad 0x0b792f5963d343cf, 0x0bd45629dffe1fa7 + .quad 0x0b70d15f439254be, 0x0bcb2b2e959996b0 + .quad 0x0b6675546ac2c967, 0x0bc2255364dfcfd7 + .quad 0x0b5dfca1ff236f02, 0x0bb83c6a3841fcca + .quad 0x0b54046155930cfb, 0x0bb02ee197efc99d + .quad 0x0b4ab8846c89a496, 0x0ba59bfc8bdbfffe + .quad 0x0b41d5226b496f7e, 0x0b9cd9f4c9733040 + .quad 0x0b37cc7edd2bedd1, 0x0b93420703d360ea + .quad 0x0b2fc1e021531b11, 0x0b89b4a6e4580455 + .quad 0x0b252f9fd29afa7b, 0x0b81276cde31355e + .quad 0x0b1c439018f9e7b0, 0x0b76e44a0da72ded + .quad 0x0b12d9d4a3bfacfa, 0x0b6e8b82d35e9882 + .quad 0x0b09247c7d6b7109, 0x0b64603c1a2de688 + .quad 0x0b00c3d4d5746632, 0x0b5b2e6fa531d555 + .quad 0x0af65add59367765, 0x0b5220b241172407 + .quad 0x0aedce1e8301e6ef, 0x0b482d28ae825549 + .quad 0x0ae3dde18cb97a8d, 0x0b401ea51e3f541c + .quad 0x0ada7b31ccb0b2f4, 0x0b357e3d8e31e749 + .quad 0x0ad1a59798dd7aa2, 0x0b2ca77ce984ce61 + .quad 0x0ac7843a7981f8e3, 0x0b23192c63185ef2 + .quad 0x0abf55b0f3ffe463, 0x0b1974911a73b1a7 + .quad 0x0ab4df9fe655b0fb, 0x0b10f64b579273f6 + .quad 0x0aabce68ce6bcfed, 0x0b069a3e1bad13da + .quad 0x0aa284bfe1cdea24, 0x0afe1d6859c11527 + .quad 0x0a98a9c29acbf47d, 0x0af40f425a16dca3 + .quad 0x0a906bd70b72892b, 0x0aeab8633790b1e2 + .quad 0x0a85dd55c1a48477, 0x0ae1cb4a43b9229f + .quad 0x0a7d1bd6b173b9f2, 0x0ad7b25cc6523c3b + .quad 0x0a735fc8451ff49e, 0x0acf8db2dc70232b + .quad 0x0a69c9712232f548, 0x0ac5014bc06e7f91 + .quad 0x0a6128b47439dcd5, 0x0abbf66ba3b9066c + .quad 0x0a56d53d2be0a0b6, 0x0ab29c2c1dc958db + .quad 0x0a4e6122171333df, 0x0aa8c4a9d76af90f + .quad 0x0a4435229d0cc681, 0x0aa07ae5a7347d0b + .quad 0x0a3ae1371b74ea2d, 0x0a95ed9539dfd0c9 + .quad 0x0a31e01427183001, 0x0a8d2c69c7599edc + .quad 0x0a27c589442700ec, 0x0a83677341a98a13 + .quad 0x0a1f9be9e1d7b4e4, 0x0a79cf2c5625685e + .quad 0x0a15033c96eb7570, 0x0a71298aebe8af0f + .quad 0x0a0bef014f36ffa9, 0x0a66d2655c8560eb + .quad 0x0a0290979be09b3b, 0x0a5e58166789d0bc + .quad 0x09f8ac6ba86dcc3c, 0x0a542b9e90b536b6 + .quad 0x09f064e638fb2517, 0x0a4acfe7e64002b1 + .quad 0x09e5c884857d8ade, 0x0a41d179e12ade6e + .quad 0x09dcf0beaeb1b319, 0x0a37ae01eb0f55cb + .quad 0x09d338e29511ffcd, 0x0a2f772a9e0423a1 + .quad 0x09c9881a23b2ff9b, 0x0a24e72e15f0f016 + .quad 0x09c0f43798c4f845, 0x0a1bc4e2f5a8c9af + .quad 0x09b6836e63bd7d88, 0x0a127165d875ec78 + .quad 0x09ade466f9c32fda, 0x0a087eb54ae1860d + .quad 0x09a3d79f883687bf, 0x0a0043b38d103ec9 + .quad 0x099a56d48500b8a3, 0x09f598a7d65e3b67 + .quad 0x09917ac327f9b5e5, 0x09ecac2d1ee89db1 + .quad 0x09873278f241bb95, 0x09e308090afcd9f3 + .quad 0x097ec801820c3f3d, 0x09d942d41e7bf2a3 + .quad 0x09746b841565ab3e, 0x09d0c34dc595f4bf + .quad 0x096b16ea850bfa34, 0x09c63e9cb83e74b2 + .quad 0x0961f76e44abf0ec, 0x09bd83e5a3ffd7ad + .quad 0x0957d432d7dd0ca1, 0x09b39428e0fd00c5 + .quad 0x094f99abec00b682, 0x09a9f8c2eadfb109 + .quad 0x0944f35579392d4b, 0x09a13957092e7741 + .quad 0x093bc6c19eee10e8, 0x0996d7ad6ac744f9 + .quad 0x0932692d6adc530f, 0x098e4a41e3c393c2 + .quad 0x0928673fad41c337, 0x0984149a31665d1e + .quad 0x09202bd066e6e446, 0x097a9efbad7c9909 + .quad 0x09156dece3f159c3, 0x0971a4d14ca40e60 + .quad 0x090c64dabfd6babd, 0x0967628f37011dc7 + .quad 0x0902cf07ed3ac7ca, 0x095efd93aae49244 + .quad 0x08f8ea5cdb1b77f8, 0x0954884565714d83 + .quad 0x08f0801f05da3bab, 0x094b341347ab9d2e + .quad 0x08e5da3ba0723cbc, 0x094204d0f497ca7d + .quad 0x08dcefd7b19fc691, 0x0937de10a24a9be3 + .quad 0x08d3281b7ca3d771, 0x092f9c4f419d97b9 + .quad 0x08c95c663259c5d8, 0x0924ee2a6bb63f1d + .quad 0x08c0c90568fe453b, 0x091bb6bea4d790c6 + .quad 0x08b6374ef6370a23, 0x091258802fee3a1b + .quad 0x08ad668024e6e773, 0x0908491dcb50d650 + .quad 0x08a3739f6c74a992, 0x090012888bcf5e1b + .quad 0x0899bc5a27482390, 0x08f5456466d99824 + .quad 0x089105de86fb726e, 0x08ec25d7813e5a28 + .quad 0x08868453b252f9af, 0x08e29f220ff323bd + .quad 0x087dc7c640bf856f, 0x08d8a2c46b36447d + .quad 0x0873b0e7a2d8004d, 0x08d04b5178932d9e + .quad 0x086a095d99893bea, 0x08c58d2d04dcdef9 + .quad 0x0861361f24d04a1e, 0x08bc8060b8a624d8 + .quad 0x0856c0994513d45b, 0x08b2d8154e3020f5 + .quad 0x084e12caa0268707, 0x08a8ea37661d565f + .quad 0x0843df6725a60cf5, 0x08a078003d294269 + .quad 0x083a42bf15180a09, 0x0895c4df6da1a5f0 + .quad 0x08315957e82800c6, 0x088cc58a0676d26e + .quad 0x0826eb9463d29a0d, 0x088302d6b1661ef0 + .quad 0x081e46dfa81a2018, 0x08791ed1d851d1dd + .quad 0x0813feb236502138, 0x0870982d94421652 + .quad 0x080a67f97b02e026, 0x0865ebfab91b4a2b + .quad 0x08016f37032d6085, 0x085cf4b3235443f5 + .quad 0x07f704e120e656fd, 0x08531f0304f01ddb + .quad 0x07ee638c247f445d, 0x084940198fd0e1c2 + .quad 0x07e40e7ff18c854c, 0x0840ab8eaa8fae67 + .quad 0x07da78b6039c7039, 0x08360223e0067b2c + .quad 0x07d1778970df4481, 0x082d0d6e2f89dd66 + .quad 0x07c70c446e7535cc, 0x08232c589802b4ba + .quad 0x07be688d1dc06742, 0x08194dc0e4e3bd62 + .quad 0x07b40eab69ffb357, 0x0810b1f64079cf15 + .quad 0x07aa74cd8f49285b, 0x080607271cb1c230 + .quad 0x07a1723bbb37e710, 0x07fd0f815d3e30e4 + .quad 0x079701ad03f5aba2, 0x07f32ab83cb1b9aa + .quad 0x078e55d6dd34aeb5, 0x07e947a7e7d08e62 + .quad 0x0783ff3437e5e592, 0x07e0ab555a059592 + .quad 0x077a5c493ec4b75b, 0x07d5faf8b45ee11c + .quad 0x07715f5a46f2a8c5, 0x07ccfae7d166a387 + .quad 0x0766e533a1804da5, 0x07c31a25c153692f + .quad 0x075e2b951ac76b4b, 0x07b92ddcdd3a585a + .quad 0x0753e03e7aaf4a23, 0x07b097bb793410b5 + .quad 0x074a2f624fa2da41, 0x07a5ddb524f58124 + .quad 0x07413f112353b2e2, 0x079ccfd1b6b2b0d1 + .quad 0x0736b71aaf8395ac, 0x0792fac7e1ac1a55 + .quad 0x072dea2a52e6f8d6, 0x0789009c068a7447 + .quad 0x0723b2124c85eb7d, 0x078077566199da13 + .quad 0x0719ee813dcc82f4, 0x0775afa0b60e30ad + .quad 0x071111ab5ef7d9ce, 0x076c8ea38207b48c + .quad 0x070677cd3ce598a2, 0x0762cce7b0334e93 + .quad 0x06fd922e485849df, 0x0758c04eb792831b + .quad 0x06f3751aaab95803, 0x07504a716678c7d9 + .quad 0x06e99a3c2eb312df, 0x074571266fb205e7 + .quad 0x06e0d791e54efc95, 0x073c37f46c8a36ce + .quad 0x06d627dd610c1f2f, 0x073290ef7aa6784e + .quad 0x06cd246bba093ddd, 0x07286d89be61c44f + .quad 0x06c329e3d8fc35e5, 0x072011744722e8f8 + .quad 0x06b93354aecb0f91, 0x071522d67c700dd9 + .quad 0x06b09149eae599f4, 0x070bcc8c2b79e5e6 + .quad 0x06a5c8020a89d6a7, 0x070247692feaf7c7 + .quad 0x069ca1dd59404578, 0x06f8090b25f1fb1c + .quad 0x0692d1194826d1d9, 0x06ef99c33fa36826 + .quad 0x0688bab4cd7bc185, 0x06e4c563ff8738ed + .quad 0x06803f72f0fa181c, 0x06db4d5ff233ee8b + .quad 0x067559144638d7d2, 0x06d1f0fc4fe41aef + .quad 0x066c0baa10766979, 0x06c793b75fbd2367 + .quad 0x06626b830bbc4f33, 0x06befaa9eeaa4992 + .quad 0x0658316ba6f8ef74, 0x06b459a26ac43fcf + .quad 0x064fc588d5eeb300, 0x06aabb8ece685efe + .quad 0x0644dc0c0d42f863, 0x06a18e6b704952c1 + .quad 0x063b6320aea7077a, 0x06970e95e366ca95 + .quad 0x0631fa02ebad6485, 0x068e4700e7fab75e + .quad 0x062798a96e59845b, 0x0683e0826243926d + .quad 0x061ef81624855ca5, 0x067a185d71d9ae78 + .quad 0x061451fcaaed5e70, 0x0671209163a43d8a + .quad 0x060aa9b30dd7b333, 0x06667acd56555624 + .quad 0x06017d9121b4ff43, 0x065d805487b20ec2 + .quad 0x05f6f1bb0c9eff18, 0x06535b0e3e76f72a + .quad 0x05ee184bec96bcc5, 0x064965317fc3f8eb + .quad 0x05e3bc10ccdff1d7, 0x0640a85e11600392 + .quad 0x05d9e0f0cdf83a76, 0x0635d99f4f4fa7a2 + .quad 0x05d0f738d3253e75, 0x062ca8538b911cc2 + .quad 0x05c63e056b37b486, 0x0622ca663e8f6c6e + .quad 0x05bd2806afda0512, 0x0618a38c763ae500 + .quad 0x05b31b865207923b, 0x061026d30f31261e + .quad 0x05a90a81bef15367, 0x06052c63cbe5201d + .quad 0x05a068145905badd, 0x05fbc0c903e2dd51 + .quad 0x05957f0081c7461b, 0x05f22fbc7eb40c8e + .quad 0x058c293abfeb81c1, 0x05e7d5064d5d2e6a + .quad 0x058271a9ed146425, 0x05df3a001a1da12a + .quad 0x0578282015bfd093, 0x05d474846e880b80 + .quad 0x056fa292d1f4b615, 0x05cacb96019278e3 + .quad 0x0564b6323fa7fafc, 0x05c18c50c637e437 + .quad 0x055b1ded81f6cf48, 0x05b6fb47e7243b10 + .quad 0x0551bfd2aff12d23, 0x05ae17fe4af1cdcd + .quad 0x05473b9288cf980b, 0x05a3b3779cd081bc + .quad 0x053e680a6315c8f9, 0x0599caab20737c4b + .quad 0x0533e52969a46a03, 0x0590e16c42489121 + .quad 0x052a082ea93d471f, 0x058618056ad2fa0d + .quad 0x0521075d9566cab2, 0x057ce9e247afa7ef + .quad 0x051646a66f6fb197, 0x0572eabb9557e4c3 + .quad 0x050d22f0f82317a8, 0x0568c0020c90fd02 + .quad 0x05030d7883df3e07, 0x0560305d4157bdec + .quad 0x04f8ea1187daf8b3, 0x05552cf8a69cbdee + .quad 0x04f049a91d747c02, 0x054bb1f3a4ce848c + .quad 0x04e54b29ff375e83, 0x05421bd19407d3a8 + .quad 0x04dbd5a7cbaf896d, 0x0537ad97206eb3e9 + .quad 0x04d230b0dec754da, 0x052ef4e6059f1fe4 + .quad 0x04c7c5a693980a40, 0x05243bdb9112e65b + .quad 0x04bf10221f87a1ca, 0x051a7278c0b2c815 + .quad 0x04b44ae6c097e3b8, 0x051148391a9b5b70 + .quad 0x0000000000000000, 0x0000000000000000 + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _AbsMask */ + .align 64 + .quad 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000, 0x403b3e0000000000 /* _MaxThreshold=3487.0/128.0 */ + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* sign mask */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 /* 1.0, used when _VLANG_FMA_AVAILABLE is defined */ + .align 64 + .quad 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000, 0x37f0000000000000 /* 2^(-128) */ + .align 64 + .quad 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000, 0x42c0000000000000 /* SRound */ + // polynomial coefficients + .align 64 + .quad 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f, 0xbf2282c89a04c65f // poly1[0] + .align 64 + .quad 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70, 0x3f472360bac04e70 // poly1[1] + .align 64 + .quad 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46, 0xbf8441df86900a46 // poly3[0] + .align 64 + .quad 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c, 0x3fa117abf1fea28c // poly3[1] + .align 64 + .quad 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2, 0xbfb56433674ba5c2 // poly5[0] + .align 64 + .quad 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf, 0x3fc256e8e6045cdf // poly5[1] + .align 64 + .quad 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617, 0xbf6a019f4f234617 // poly1[2] + .align 64 + .quad 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec, 0xbfb8618412bc79ec // poly3[2] + .align 64 + .quad 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7, 0xbfc5554e249ff4a7 // poly5[2] + .align 64 + .quad 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f, 0x3f8a019f5aeed25f // poly1[3] + .align 64 + .quad 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6, 0x3fcc71c4b73b20b6 // poly3[3] + .align 64 + .quad 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da, 0x3fb9998f9d0729da // poly5[3] + .align 64 + .quad 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420, 0xbfa6c16c16d06420 // poly1[4] + .align 64 + .quad 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838, 0xbfd9999999f3d838 // poly3[4] + .align 64 + .quad 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082, 0x3fc11111111ab082 // poly1[5] + .align 64 + .quad 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730, 0x3fe0000000379730 // poly3[5] + .align 64 + .quad 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add, 0xbfd5555555554add // poly3[6] + .align 64 + .quad 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a, 0xbfd555555555548a // poly1[6] + .align 64 + .quad 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf, 0x3fe55555555554cf // poly1[7] + .align 64 + .quad 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD, 0x403B39DC41E48BFD /* UF_Threshold */ + .align 64 + .quad 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff, 0x00000000ffffffff /* _Mask32 */ + .align 64 + .type __svml_derfc_data_internal, @object + .size __svml_derfc_data_internal, .-__svml_derfc_data_internal From patchwork Mon Mar 7 15:01:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602257 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=MSaB1kL2; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2Bq3tNLz9s8s for ; Tue, 8 Mar 2022 02:17:39 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F0F263858422 for ; Mon, 7 Mar 2022 15:17:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F0F263858422 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666257; bh=/+6FATIIOY8zF6LHDg9q2ue1QOdzjVyQl4F4yCrt8CE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=MSaB1kL2i80VCgg3dOpBDGk2ssVE/JLnnZYewpQUbXGBJeRAKDb1yEcNVTsxT+J7a d5VCNQGiPVze4OpBVfppOCLrFcEhbPbOnxyHoFXo6zkfL1gJNVZhQVso+NV0sJXp7m MtBqLc3EBwMeZEgfyDwLkNWyDJW6iha8+LeVaw+c= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id D3699385800C for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D3699385800C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="315123205" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="315123205" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="641355948" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga002.fm.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ef016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 067/126] x86_64: Fix svml_s_exp10f16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:02 -0800 Message-Id: <20220307150201.10590-68-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_exp10f16_core_avx512.S | 421 +++++++++--------- 1 file changed, 210 insertions(+), 211 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S index d355d0bacb..eb9f3f8d8b 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f16_core_avx512.S @@ -30,240 +30,239 @@ /* Offsets for data table __svml_sexp10_data_internal_avx512 */ -#define Exp_tbl_L 0 -#define Exp_tbl_H 128 -#define L2E 256 -#define Shifter 320 -#define L2H 384 -#define L2L 448 -#define EMask 512 -#define AbsMask 576 -#define Threshold 640 -#define poly_coeff2 704 -#define poly_coeff1 768 +#define Exp_tbl_L 0 +#define Exp_tbl_H 128 +#define L2E 256 +#define Shifter 320 +#define L2H 384 +#define L2L 448 +#define EMask 512 +#define AbsMask 576 +#define Threshold 640 +#define poly_coeff2 704 +#define poly_coeff1 768 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_exp10f_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups L2E+__svml_sexp10_data_internal_avx512(%rip), %zmm2 - vmovups Shifter+__svml_sexp10_data_internal_avx512(%rip), %zmm1 - vmovups L2H+__svml_sexp10_data_internal_avx512(%rip), %zmm5 - vmovups L2L+__svml_sexp10_data_internal_avx512(%rip), %zmm4 - -/* ensure |R|<2 even for special cases */ - vmovups EMask+__svml_sexp10_data_internal_avx512(%rip), %zmm6 - vmovups poly_coeff2+__svml_sexp10_data_internal_avx512(%rip), %zmm9 - -/* 2^(52-4)*1.5 + x * log2(e) */ - vfmadd213ps {rz-sae}, %zmm1, %zmm0, %zmm2 - vmovups poly_coeff1+__svml_sexp10_data_internal_avx512(%rip), %zmm10 - vmovups __svml_sexp10_data_internal_avx512(%rip), %zmm8 - vmovups Exp_tbl_H+__svml_sexp10_data_internal_avx512(%rip), %zmm15 - vmovups Threshold+__svml_sexp10_data_internal_avx512(%rip), %zmm13 - vpsrld $5, %zmm2, %zmm3 - -/* Z0 ~ x*log2(e), rounded down to 6 fractional bits */ - vsubps {rn-sae}, %zmm1, %zmm2, %zmm1 - vpermt2ps Exp_tbl_L+64+__svml_sexp10_data_internal_avx512(%rip), %zmm2, %zmm8 - vpermt2ps Exp_tbl_H+64+__svml_sexp10_data_internal_avx512(%rip), %zmm3, %zmm15 - vandps AbsMask+__svml_sexp10_data_internal_avx512(%rip), %zmm0, %zmm12 - -/* R = x - Z0*log(2) */ - vfnmadd213ps {rn-sae}, %zmm0, %zmm1, %zmm5 - vcmpps $29, {sae}, %zmm13, %zmm12, %k0 - vfnmadd231ps {rn-sae}, %zmm1, %zmm4, %zmm5 - kmovw %k0, %edx - vrangeps $2, {sae}, %zmm6, %zmm5, %zmm11 - vfmadd231ps {rn-sae}, %zmm11, %zmm9, %zmm10 - vmulps {rn-sae}, %zmm11, %zmm10, %zmm14 - -/* x!=0? */ - vpxord %zmm7, %zmm7, %zmm7 - vcmpps $4, {sae}, %zmm7, %zmm0, %k1 - -/* Th*Tl */ - vmulps {rn-sae}, %zmm8, %zmm15, %zmm15{%k1} - vfmadd213ps {rn-sae}, %zmm15, %zmm14, %zmm15 - vscalefps {rn-sae}, %zmm1, %zmm15, %zmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups L2E+__svml_sexp10_data_internal_avx512(%rip), %zmm2 + vmovups Shifter+__svml_sexp10_data_internal_avx512(%rip), %zmm1 + vmovups L2H+__svml_sexp10_data_internal_avx512(%rip), %zmm5 + vmovups L2L+__svml_sexp10_data_internal_avx512(%rip), %zmm4 + + /* ensure |R|<2 even for special cases */ + vmovups EMask+__svml_sexp10_data_internal_avx512(%rip), %zmm6 + vmovups poly_coeff2+__svml_sexp10_data_internal_avx512(%rip), %zmm9 + + /* 2^(52-4)*1.5 + x * log2(e) */ + vfmadd213ps {rz-sae}, %zmm1, %zmm0, %zmm2 + vmovups poly_coeff1+__svml_sexp10_data_internal_avx512(%rip), %zmm10 + vmovups __svml_sexp10_data_internal_avx512(%rip), %zmm8 + vmovups Exp_tbl_H+__svml_sexp10_data_internal_avx512(%rip), %zmm15 + vmovups Threshold+__svml_sexp10_data_internal_avx512(%rip), %zmm13 + vpsrld $5, %zmm2, %zmm3 + + /* Z0 ~ x*log2(e), rounded down to 6 fractional bits */ + vsubps {rn-sae}, %zmm1, %zmm2, %zmm1 + vpermt2ps Exp_tbl_L+64+__svml_sexp10_data_internal_avx512(%rip), %zmm2, %zmm8 + vpermt2ps Exp_tbl_H+64+__svml_sexp10_data_internal_avx512(%rip), %zmm3, %zmm15 + vandps AbsMask+__svml_sexp10_data_internal_avx512(%rip), %zmm0, %zmm12 + + /* R = x - Z0*log(2) */ + vfnmadd213ps {rn-sae}, %zmm0, %zmm1, %zmm5 + vcmpps $29, {sae}, %zmm13, %zmm12, %k0 + vfnmadd231ps {rn-sae}, %zmm1, %zmm4, %zmm5 + kmovw %k0, %edx + vrangeps $2, {sae}, %zmm6, %zmm5, %zmm11 + vfmadd231ps {rn-sae}, %zmm11, %zmm9, %zmm10 + vmulps {rn-sae}, %zmm11, %zmm10, %zmm14 + + /* x!=0? */ + vpxord %zmm7, %zmm7, %zmm7 + vcmpps $4, {sae}, %zmm7, %zmm0, %k1 + + /* Th*Tl */ + vmulps {rn-sae}, %zmm8, %zmm15, %zmm15{%k1} + vfmadd213ps {rn-sae}, %zmm15, %zmm14, %zmm15 + vscalefps {rn-sae}, %zmm1, %zmm15, %zmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm1, %zmm0 - 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 - */ + vmovaps %zmm1, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm1, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm1 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm1 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call exp10f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call exp10f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_exp10f_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_sexp10_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Exp_tbl_L[32][1]; - __declspec(align(64)) VUINT32 Exp_tbl_H[32][1]; - __declspec(align(64)) VUINT32 L2E[16][1]; - __declspec(align(64)) VUINT32 Shifter[16][1]; - __declspec(align(64)) VUINT32 L2H[16][1]; - __declspec(align(64)) VUINT32 L2L[16][1]; - __declspec(align(64)) VUINT32 EMask[16][1]; - __declspec(align(64)) VUINT32 AbsMask[16][1]; - __declspec(align(64)) VUINT32 Threshold[16][1]; - __declspec(align(64)) VUINT32 poly_coeff2[16][1]; - __declspec(align(64)) VUINT32 poly_coeff1[16][1]; - } __svml_sexp10_data_internal_avx512; + __declspec(align(64)) VUINT32 Exp_tbl_L[32][1]; + __declspec(align(64)) VUINT32 Exp_tbl_H[32][1]; + __declspec(align(64)) VUINT32 L2E[16][1]; + __declspec(align(64)) VUINT32 Shifter[16][1]; + __declspec(align(64)) VUINT32 L2H[16][1]; + __declspec(align(64)) VUINT32 L2L[16][1]; + __declspec(align(64)) VUINT32 EMask[16][1]; + __declspec(align(64)) VUINT32 AbsMask[16][1]; + __declspec(align(64)) VUINT32 Threshold[16][1]; + __declspec(align(64)) VUINT32 poly_coeff2[16][1]; + __declspec(align(64)) VUINT32 poly_coeff1[16][1]; +} __svml_sexp10_data_internal_avx512; #endif __svml_sexp10_data_internal_avx512: - /*== Exp_tbl_L ==*/ - .long 0x3f800001, 0x3f801631, 0x3f802c65, 0x3f80429d - .long 0x3f8058d9, 0x3f806f18, 0x3f80855c, 0x3f809ba3 - .long 0x3f80b1ee, 0x3f80c83d, 0x3f80de90, 0x3f80f4e7 - .long 0x3f810b42, 0x3f8121a0, 0x3f813803, 0x3f814e69 - .long 0x3f8164d3, 0x3f817b41, 0x3f8191b3, 0x3f81a829 - .long 0x3f81bea2, 0x3f81d520, 0x3f81eba2, 0x3f820227 - .long 0x3f8218b0, 0x3f822f3d, 0x3f8245cf, 0x3f825c64 - .long 0x3f8272fd, 0x3f828999, 0x3f82a03a, 0x3f82b6df - /*== Exp_tbl_H ==*/ - .align 64 - .long 0x3f800000, 0x3f82cd87, 0x3f85aac3, 0x3f88980f - .long 0x3f8b95c2, 0x3f8ea43a, 0x3f91c3d3, 0x3f94f4f0 - .long 0x3f9837f0, 0x3f9b8d3a, 0x3f9ef532, 0x3fa27043 - .long 0x3fa5fed7, 0x3fa9a15b, 0x3fad583f, 0x3fb123f6 - .long 0x3fb504f3, 0x3fb8fbaf, 0x3fbd08a4, 0x3fc12c4d - .long 0x3fc5672a, 0x3fc9b9be, 0x3fce248c, 0x3fd2a81e - .long 0x3fd744fd, 0x3fdbfbb8, 0x3fe0ccdf, 0x3fe5b907 - .long 0x3feac0c7, 0x3fefe4ba, 0x3ff5257d, 0x3ffa83b3 - /*== log2(10) ==*/ - .align 64 - .long 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78 - /*== Shifter=2^(23-10)*1.5 ==*/ - .align 64 - .long 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000 - /*== L2H = log(2)_high ==*/ - .align 64 - .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b - /*== L2L = log(2)_low ==*/ - .align 64 - .long 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860 - /*== EMask ==*/ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 - /*== AbsMask ==*/ - .align 64 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== Threshold ==*/ - .align 64 - .long 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818 - /*== poly_coeff2 ==*/ - .align 64 - .long 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA - /*== poly_coeff1 ==*/ - .align 64 - .long 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D - .align 64 - .type __svml_sexp10_data_internal_avx512,@object - .size __svml_sexp10_data_internal_avx512,.-__svml_sexp10_data_internal_avx512 + /* Exp_tbl_L */ + .long 0x3f800001, 0x3f801631, 0x3f802c65, 0x3f80429d + .long 0x3f8058d9, 0x3f806f18, 0x3f80855c, 0x3f809ba3 + .long 0x3f80b1ee, 0x3f80c83d, 0x3f80de90, 0x3f80f4e7 + .long 0x3f810b42, 0x3f8121a0, 0x3f813803, 0x3f814e69 + .long 0x3f8164d3, 0x3f817b41, 0x3f8191b3, 0x3f81a829 + .long 0x3f81bea2, 0x3f81d520, 0x3f81eba2, 0x3f820227 + .long 0x3f8218b0, 0x3f822f3d, 0x3f8245cf, 0x3f825c64 + .long 0x3f8272fd, 0x3f828999, 0x3f82a03a, 0x3f82b6df + /* Exp_tbl_H */ + .align 64 + .long 0x3f800000, 0x3f82cd87, 0x3f85aac3, 0x3f88980f + .long 0x3f8b95c2, 0x3f8ea43a, 0x3f91c3d3, 0x3f94f4f0 + .long 0x3f9837f0, 0x3f9b8d3a, 0x3f9ef532, 0x3fa27043 + .long 0x3fa5fed7, 0x3fa9a15b, 0x3fad583f, 0x3fb123f6 + .long 0x3fb504f3, 0x3fb8fbaf, 0x3fbd08a4, 0x3fc12c4d + .long 0x3fc5672a, 0x3fc9b9be, 0x3fce248c, 0x3fd2a81e + .long 0x3fd744fd, 0x3fdbfbb8, 0x3fe0ccdf, 0x3fe5b907 + .long 0x3feac0c7, 0x3fefe4ba, 0x3ff5257d, 0x3ffa83b3 + /* log2(10) */ + .align 64 + .long 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78, 0x40549A78 + /* Shifter=2^(23-10)*1.5 */ + .align 64 + .long 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000, 0x46400000 + /* L2H = log(2)_high */ + .align 64 + .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b + /* L2L = log(2)_low */ + .align 64 + .long 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860, 0xb2760860 + /* EMask */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 + /* AbsMask */ + .align 64 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* Threshold */ + .align 64 + .long 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818, 0x4217B818 + /* poly_coeff2 */ + .align 64 + .long 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA, 0x4029B7DA + /* poly_coeff1 */ + .align 64 + .long 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D, 0x40135D8D + .align 64 + .type __svml_sexp10_data_internal_avx512, @object + .size __svml_sexp10_data_internal_avx512, .-__svml_sexp10_data_internal_avx512 From patchwork Mon Mar 7 15:01:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602349 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=yVw1wONk; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC33k40Ysz9sFw for ; Tue, 8 Mar 2022 02:56:34 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D7F58385841B for ; Mon, 7 Mar 2022 15:56:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D7F58385841B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668591; bh=jDMNzAgXmhlpwg3Na4YF2wkplxVcq8Bu0a6uAN3NcS8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=yVw1wONkouuEu8agHJvtYPb31tz3nSBB4rDjmjlxj78NNeCv95/rOKJIDdX9Up5qU 6kGrJj92N0JoJFClhFG9XicURbGd5NRh/tYCmA1lroqAgwc9+kNEMC2yQsFHyKsDeY uHWlDKKodjnEIK7R9hxqyoOXYoV2GpLkZipP1J6s= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id EF2923858C2C for ; Mon, 7 Mar 2022 15:02:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EF2923858C2C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843021" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843021" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="711132978" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga005.jf.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eg016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 068/126] x86_64: Fix svml_s_exp10f4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:03 -0800 Message-Id: <20220307150201.10590-69-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_exp10f4_core_sse4.S | 478 +++++++++--------- 1 file changed, 238 insertions(+), 240 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S index 9062a1475e..b7c7ec9cb7 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f4_core_sse4.S @@ -22,7 +22,7 @@ * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) * where * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,269 +43,267 @@ /* Offsets for data table __svml_sexp10_data_internal */ -#define _sT 0 -#define _sLg2_10 128 -#define _sShifter 144 -#define _sInvLg2_10hi 160 -#define _sInvLg2_10lo 176 -#define _sPC0 192 -#define _sPC1 208 -#define _sPC2 224 -#define _iIndexMask 240 -#define _iAbsMask 256 -#define _iDomainRange 272 +#define _sT 0 +#define _sLg2_10 128 +#define _sShifter 144 +#define _sInvLg2_10hi 160 +#define _sInvLg2_10lo 176 +#define _sPC0 192 +#define _sPC1 208 +#define _sPC2 224 +#define _iIndexMask 240 +#define _iAbsMask 256 +#define _iDomainRange 272 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_exp10f_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm4 - -/* Load arument */ - movups _sLg2_10+__svml_sexp10_data_internal(%rip), %xmm2 - lea __svml_sexp10_data_internal(%rip), %r8 - mulps %xmm4, %xmm2 - movups _sShifter+__svml_sexp10_data_internal(%rip), %xmm5 - -/* R */ - movups _sInvLg2_10hi+__svml_sexp10_data_internal(%rip), %xmm14 - addps %xmm5, %xmm2 - movaps %xmm2, %xmm1 - movups _sInvLg2_10lo+__svml_sexp10_data_internal(%rip), %xmm15 - subps %xmm5, %xmm1 - mulps %xmm1, %xmm14 - movaps %xmm4, %xmm5 - mulps %xmm1, %xmm15 - subps %xmm14, %xmm5 - -/* - * Polynomial - * exp10 = 2^N*(Tj+Tj*poly) - * poly(sN) = {1+later} a0+a1*sR - */ - movups _sPC2+__svml_sexp10_data_internal(%rip), %xmm1 - subps %xmm15, %xmm5 - mulps %xmm5, %xmm1 - movdqu _iIndexMask+__svml_sexp10_data_internal(%rip), %xmm3 - -/* Index and lookup */ - movdqa %xmm3, %xmm10 - -/* remove index bits */ - pandn %xmm2, %xmm3 - pand %xmm2, %xmm10 - -/* 2^N */ - pslld $18, %xmm3 - -/* iIndex *= sizeof(S); */ - pslld $2, %xmm10 - addps _sPC1+__svml_sexp10_data_internal(%rip), %xmm1 - movd %xmm10, %edx - pshufd $1, %xmm10, %xmm7 - pshufd $2, %xmm10, %xmm9 - pshufd $3, %xmm10, %xmm11 - movd %xmm7, %ecx - movd %xmm9, %esi - movd %xmm11, %edi - -/* Check for overflow\underflow */ - movdqu _iAbsMask+__svml_sexp10_data_internal(%rip), %xmm6 - pand %xmm4, %xmm6 - mulps %xmm1, %xmm5 - movslq %edx, %rdx - addps _sPC0+__svml_sexp10_data_internal(%rip), %xmm5 - movslq %ecx, %rcx - movslq %esi, %rsi - movslq %edi, %rdi - movd (%r8,%rdx), %xmm0 - movd (%r8,%rcx), %xmm8 - movd (%r8,%rsi), %xmm13 - movd (%r8,%rdi), %xmm12 - punpckldq %xmm8, %xmm0 - punpckldq %xmm12, %xmm13 - punpcklqdq %xmm13, %xmm0 - -/* Tj_l+Tj_h*poly */ - mulps %xmm0, %xmm5 - pcmpgtd _iDomainRange+__svml_sexp10_data_internal(%rip), %xmm6 - addps %xmm5, %xmm0 - movmskps %xmm6, %eax - -/* quick mul 2^N */ - paddd %xmm3, %xmm0 - -/* Finish */ - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm4 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm4 + + /* Load arument */ + movups _sLg2_10+__svml_sexp10_data_internal(%rip), %xmm2 + lea __svml_sexp10_data_internal(%rip), %r8 + mulps %xmm4, %xmm2 + movups _sShifter+__svml_sexp10_data_internal(%rip), %xmm5 + + /* R */ + movups _sInvLg2_10hi+__svml_sexp10_data_internal(%rip), %xmm14 + addps %xmm5, %xmm2 + movaps %xmm2, %xmm1 + movups _sInvLg2_10lo+__svml_sexp10_data_internal(%rip), %xmm15 + subps %xmm5, %xmm1 + mulps %xmm1, %xmm14 + movaps %xmm4, %xmm5 + mulps %xmm1, %xmm15 + subps %xmm14, %xmm5 + + /* + * Polynomial + * exp10 = 2^N*(Tj+Tj*poly) + * poly(sN) = {1+later} a0+a1*sR + */ + movups _sPC2+__svml_sexp10_data_internal(%rip), %xmm1 + subps %xmm15, %xmm5 + mulps %xmm5, %xmm1 + movdqu _iIndexMask+__svml_sexp10_data_internal(%rip), %xmm3 + + /* Index and lookup */ + movdqa %xmm3, %xmm10 + + /* remove index bits */ + pandn %xmm2, %xmm3 + pand %xmm2, %xmm10 + + /* 2^N */ + pslld $18, %xmm3 + + /* iIndex *= sizeof(S); */ + pslld $2, %xmm10 + addps _sPC1+__svml_sexp10_data_internal(%rip), %xmm1 + movd %xmm10, %edx + pshufd $1, %xmm10, %xmm7 + pshufd $2, %xmm10, %xmm9 + pshufd $3, %xmm10, %xmm11 + movd %xmm7, %ecx + movd %xmm9, %esi + movd %xmm11, %edi + + /* Check for overflow\underflow */ + movdqu _iAbsMask+__svml_sexp10_data_internal(%rip), %xmm6 + pand %xmm4, %xmm6 + mulps %xmm1, %xmm5 + movslq %edx, %rdx + addps _sPC0+__svml_sexp10_data_internal(%rip), %xmm5 + movslq %ecx, %rcx + movslq %esi, %rsi + movslq %edi, %rdi + movd (%r8, %rdx), %xmm0 + movd (%r8, %rcx), %xmm8 + movd (%r8, %rsi), %xmm13 + movd (%r8, %rdi), %xmm12 + punpckldq %xmm8, %xmm0 + punpckldq %xmm12, %xmm13 + punpcklqdq %xmm13, %xmm0 + + /* Tj_l+Tj_h*poly */ + mulps %xmm0, %xmm5 + pcmpgtd _iDomainRange+__svml_sexp10_data_internal(%rip), %xmm6 + addps %xmm5, %xmm0 + movmskps %xmm6, %eax + + /* quick mul 2^N */ + paddd %xmm3, %xmm0 + + /* Finish */ + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm4 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm4, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax - - xorl %edx, %edx - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %edx, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %eax, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm4, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax + + xorl %edx, %edx + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %edx, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %eax, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call exp10f@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call exp10f@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_exp10f_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_sexp10_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _sT[(1<<5)][1]; - __declspec(align(16)) VUINT32 _sLg2_10[4][1]; - __declspec(align(16)) VUINT32 _sShifter[4][1]; - __declspec(align(16)) VUINT32 _sInvLg2_10hi[4][1]; - __declspec(align(16)) VUINT32 _sInvLg2_10lo[4][1]; - __declspec(align(16)) VUINT32 _sPC0[4][1]; - __declspec(align(16)) VUINT32 _sPC1[4][1]; - __declspec(align(16)) VUINT32 _sPC2[4][1]; - __declspec(align(16)) VUINT32 _iIndexMask[4][1]; - __declspec(align(16)) VUINT32 _iAbsMask[4][1]; - __declspec(align(16)) VUINT32 _iDomainRange[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _sT[(1<<5)][1]; + __declspec(align(16)) VUINT32 _sLg2_10[4][1]; + __declspec(align(16)) VUINT32 _sShifter[4][1]; + __declspec(align(16)) VUINT32 _sInvLg2_10hi[4][1]; + __declspec(align(16)) VUINT32 _sInvLg2_10lo[4][1]; + __declspec(align(16)) VUINT32 _sPC0[4][1]; + __declspec(align(16)) VUINT32 _sPC1[4][1]; + __declspec(align(16)) VUINT32 _sPC2[4][1]; + __declspec(align(16)) VUINT32 _iIndexMask[4][1]; + __declspec(align(16)) VUINT32 _iAbsMask[4][1]; + __declspec(align(16)) VUINT32 _iDomainRange[4][1]; } __svml_sexp10_data_internal; #endif __svml_sexp10_data_internal: - /*== _sT ==*/ - .long 0x3f800000 // 2^( 0 /32 ) - .long 0x3f82cd87 // 2^( 1 /32 ) - .long 0x3f85aac3 // 2^( 2 /32 ) - .long 0x3f88980f // 2^( 3 /32 ) - .long 0x3f8b95c2 // 2^( 4 /32 ) - .long 0x3f8ea43a // 2^( 5 /32 ) - .long 0x3f91c3d3 // 2^( 6 /32 ) - .long 0x3f94f4f0 // 2^( 7 /32 ) - .long 0x3f9837f0 // 2^( 8 /32 ) - .long 0x3f9b8d3a // 2^( 9 /32 ) - .long 0x3f9ef532 // 2^( 10/32 ) - .long 0x3fa27043 // 2^( 11/32 ) - .long 0x3fa5fed7 // 2^( 12/32 ) - .long 0x3fa9a15b // 2^( 13/32 ) - .long 0x3fad583f // 2^( 14/32 ) - .long 0x3fb123f6 // 2^( 15/32 ) - .long 0x3fb504f3 // 2^( 16/32 ) - .long 0x3fb8fbaf // 2^( 17/32 ) - .long 0x3fbd08a4 // 2^( 18/32 ) - .long 0x3fc12c4d // 2^( 19/32 ) - .long 0x3fc5672a // 2^( 20/32 ) - .long 0x3fc9b9be // 2^( 21/32 ) - .long 0x3fce248c // 2^( 22/32 ) - .long 0x3fd2a81e // 2^( 23/32 ) - .long 0x3fd744fd // 2^( 24/32 ) - .long 0x3fdbfbb8 // 2^( 25/32 ) - .long 0x3fe0ccdf // 2^( 26/32 ) - .long 0x3fe5b907 // 2^( 27/32 ) - .long 0x3feac0c7 // 2^( 28/32 ) - .long 0x3fefe4ba // 2^( 29/32 ) - .long 0x3ff5257d // 2^( 30/32 ) - .long 0x3ffa83b3 // 2^( 31/32 ) - .align 16 - .long 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78 /* _sLg2_10*2^K */ - .align 16 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter) */ - .align 16 - .long 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000 /* _sInvLg2_10hi/2^K hi (24-K-7) bits*/ - .align 16 - .long 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc /* _sInvLg2_10lo/2^K lo bits */ - // otherwise exp10(0) won't produce exact 1.0 - .align 16 - .long 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868 /* _sPC0 */ - .align 16 - .long 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b /* _sPC1 */ - .align 16 - .long 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2 /* _sPC2 */ - .align 16 - .long 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f /* _iIndexMask =(2^K-1)*/ - //common - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 16 - .long 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818 /* _iDomainRange=-log10(max_denormal=0x007fffff) RZ */ - .align 16 - .type __svml_sexp10_data_internal,@object - .size __svml_sexp10_data_internal,.-__svml_sexp10_data_internal + /* _sT */ + .long 0x3f800000 // 2^( 0 /32 ) + .long 0x3f82cd87 // 2^( 1 /32 ) + .long 0x3f85aac3 // 2^( 2 /32 ) + .long 0x3f88980f // 2^( 3 /32 ) + .long 0x3f8b95c2 // 2^( 4 /32 ) + .long 0x3f8ea43a // 2^( 5 /32 ) + .long 0x3f91c3d3 // 2^( 6 /32 ) + .long 0x3f94f4f0 // 2^( 7 /32 ) + .long 0x3f9837f0 // 2^( 8 /32 ) + .long 0x3f9b8d3a // 2^( 9 /32 ) + .long 0x3f9ef532 // 2^( 10/32 ) + .long 0x3fa27043 // 2^( 11/32 ) + .long 0x3fa5fed7 // 2^( 12/32 ) + .long 0x3fa9a15b // 2^( 13/32 ) + .long 0x3fad583f // 2^( 14/32 ) + .long 0x3fb123f6 // 2^( 15/32 ) + .long 0x3fb504f3 // 2^( 16/32 ) + .long 0x3fb8fbaf // 2^( 17/32 ) + .long 0x3fbd08a4 // 2^( 18/32 ) + .long 0x3fc12c4d // 2^( 19/32 ) + .long 0x3fc5672a // 2^( 20/32 ) + .long 0x3fc9b9be // 2^( 21/32 ) + .long 0x3fce248c // 2^( 22/32 ) + .long 0x3fd2a81e // 2^( 23/32 ) + .long 0x3fd744fd // 2^( 24/32 ) + .long 0x3fdbfbb8 // 2^( 25/32 ) + .long 0x3fe0ccdf // 2^( 26/32 ) + .long 0x3fe5b907 // 2^( 27/32 ) + .long 0x3feac0c7 // 2^( 28/32 ) + .long 0x3fefe4ba // 2^( 29/32 ) + .long 0x3ff5257d // 2^( 30/32 ) + .long 0x3ffa83b3 // 2^( 31/32 ) + .align 16 + .long 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78 /* _sLg2_10*2^K */ + .align 16 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter) */ + .align 16 + .long 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000 /* _sInvLg2_10hi/2^K hi (24-K-7) bits */ + .align 16 + .long 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc /* _sInvLg2_10lo/2^K lo bits */ + // otherwise exp10(0) won't produce exact 1.0 + .align 16 + .long 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868 /* _sPC0 */ + .align 16 + .long 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b /* _sPC1 */ + .align 16 + .long 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2 /* _sPC2 */ + .align 16 + .long 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f /* _iIndexMask =(2^K-1) */ + //common + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 16 + .long 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818 /* _iDomainRange=-log10(max_denormal=0x007fffff) RZ */ + .align 16 + .type __svml_sexp10_data_internal, @object + .size __svml_sexp10_data_internal, .-__svml_sexp10_data_internal From patchwork Mon Mar 7 15:01:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602379 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=EmYm92hV; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3XR5XJ9z9sFt for ; Tue, 8 Mar 2022 03:17:59 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CD3043858439 for ; Mon, 7 Mar 2022 16:17:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CD3043858439 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669877; bh=FuXMu7tHQymAWgE8kuX05S+WNwhWvYCP5NwQc6SxkZw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=EmYm92hVdy/gAOogbTNcDTOt08m6Wggx4hWvKOT8CPbR4rlODwzbVPZZBdzD2i4iI RLDmerI3Kfj3fnNGXRAOAVUrjUKcLi180D2uaAKn8ZRBAa8SiPrJjo2MSFBPtcUmIb pm1t2kJh1vgGRm9o3zxn/oNv65ja/0dI99U/YlMc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id EA9B0385841A for ; Mon, 7 Mar 2022 15:03:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EA9B0385841A X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017264" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017264" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141863" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eh016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 069/126] x86_64: Fix svml_s_exp10f8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:04 -0800 Message-Id: <20220307150201.10590-70-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_exp10f8_core_avx2.S | 520 +++++++++--------- 1 file changed, 259 insertions(+), 261 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S index a363ff8539..11244d5a5f 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp10f8_core_avx2.S @@ -22,7 +22,7 @@ * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) * where * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,289 +43,287 @@ /* Offsets for data table __svml_sexp10_data_internal */ -#define _sT 0 -#define _sLg2_10 128 -#define _sShifter 160 -#define _sInvLg2_10hi 192 -#define _sInvLg2_10lo 224 -#define _sPC0 256 -#define _sPC1 288 -#define _sPC2 320 -#define _iIndexMask 352 -#define _iAbsMask 384 -#define _iDomainRange 416 +#define _sT 0 +#define _sLg2_10 128 +#define _sShifter 160 +#define _sInvLg2_10hi 192 +#define _sInvLg2_10lo 224 +#define _sPC0 256 +#define _sPC1 288 +#define _sPC2 320 +#define _iIndexMask 352 +#define _iAbsMask 384 +#define _iDomainRange 416 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_exp10f_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea __svml_sexp10_data_internal(%rip), %rax - vmovups _sShifter+__svml_sexp10_data_internal(%rip), %ymm4 - -/* Load arument */ - vmovups _sLg2_10+__svml_sexp10_data_internal(%rip), %ymm1 - vmovups _iIndexMask+__svml_sexp10_data_internal(%rip), %ymm2 - vmovaps %ymm0, %ymm3 - vfmadd213ps %ymm4, %ymm3, %ymm1 - -/* Index and lookup */ - vandps %ymm2, %ymm1, %ymm7 - -/* iIndex *= sizeof(S); */ - vpslld $2, %ymm7, %ymm10 - vsubps %ymm4, %ymm1, %ymm0 - -/* Check for overflow\underflow */ - vandps _iAbsMask+__svml_sexp10_data_internal(%rip), %ymm3, %ymm5 - vpcmpgtd _iDomainRange+__svml_sexp10_data_internal(%rip), %ymm5, %ymm6 - vmovmskps %ymm6, %edx - vmovd %xmm10, %ecx - vextractf128 $1, %ymm10, %xmm6 - vpextrd $1, %xmm10, %esi - vpextrd $2, %xmm10, %edi - vpextrd $3, %xmm10, %r8d - movslq %ecx, %rcx - movslq %esi, %rsi - movslq %edi, %rdi - movslq %r8d, %r8 - vmovd (%rax,%rcx), %xmm8 - vmovd (%rax,%rsi), %xmm9 - vmovd (%rax,%rdi), %xmm11 - vmovd (%rax,%r8), %xmm12 - vpunpckldq %xmm9, %xmm8, %xmm13 - vpunpckldq %xmm12, %xmm11, %xmm14 - vpunpcklqdq %xmm14, %xmm13, %xmm15 - -/* R */ - vmovups _sInvLg2_10hi+__svml_sexp10_data_internal(%rip), %ymm13 - vmovd %xmm6, %r9d - vfnmadd213ps %ymm3, %ymm0, %ymm13 - vpextrd $1, %xmm6, %r10d - movslq %r9d, %r9 - movslq %r10d, %r10 - vfnmadd132ps _sInvLg2_10lo+__svml_sexp10_data_internal(%rip), %ymm13, %ymm0 - vmovd (%rax,%r9), %xmm4 - vmovd (%rax,%r10), %xmm5 - vpunpckldq %xmm5, %xmm4, %xmm9 - -/* - * Polynomial - * exp10 = 2^N*(Tj+Tj*poly) - * poly(sN) = {1+later} a0+a1*sR - */ - vmovups _sPC2+__svml_sexp10_data_internal(%rip), %ymm4 - vfmadd213ps _sPC1+__svml_sexp10_data_internal(%rip), %ymm0, %ymm4 - vpextrd $2, %xmm6, %r11d - vpextrd $3, %xmm6, %ecx - movslq %r11d, %r11 - movslq %ecx, %rcx - vfmadd213ps _sPC0+__svml_sexp10_data_internal(%rip), %ymm0, %ymm4 - vmovd (%rax,%r11), %xmm7 - vmovd (%rax,%rcx), %xmm8 - vpunpckldq %xmm8, %xmm7, %xmm11 - -/* remove index bits */ - vpandn %ymm1, %ymm2, %ymm0 - vpunpcklqdq %xmm11, %xmm9, %xmm12 - -/* 2^N */ - vpslld $18, %ymm0, %ymm1 - vinsertf128 $1, %xmm12, %ymm15, %ymm14 - -/* Tj_l+Tj_h*poly */ - vfmadd213ps %ymm14, %ymm14, %ymm4 - -/* quick mul 2^N */ - vpaddd %ymm1, %ymm4, %ymm0 - -/* Finish */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea __svml_sexp10_data_internal(%rip), %rax + vmovups _sShifter+__svml_sexp10_data_internal(%rip), %ymm4 + + /* Load arument */ + vmovups _sLg2_10+__svml_sexp10_data_internal(%rip), %ymm1 + vmovups _iIndexMask+__svml_sexp10_data_internal(%rip), %ymm2 + vmovaps %ymm0, %ymm3 + vfmadd213ps %ymm4, %ymm3, %ymm1 + + /* Index and lookup */ + vandps %ymm2, %ymm1, %ymm7 + + /* iIndex *= sizeof(S); */ + vpslld $2, %ymm7, %ymm10 + vsubps %ymm4, %ymm1, %ymm0 + + /* Check for overflow\underflow */ + vandps _iAbsMask+__svml_sexp10_data_internal(%rip), %ymm3, %ymm5 + vpcmpgtd _iDomainRange+__svml_sexp10_data_internal(%rip), %ymm5, %ymm6 + vmovmskps %ymm6, %edx + vmovd %xmm10, %ecx + vextractf128 $1, %ymm10, %xmm6 + vpextrd $1, %xmm10, %esi + vpextrd $2, %xmm10, %edi + vpextrd $3, %xmm10, %r8d + movslq %ecx, %rcx + movslq %esi, %rsi + movslq %edi, %rdi + movslq %r8d, %r8 + vmovd (%rax, %rcx), %xmm8 + vmovd (%rax, %rsi), %xmm9 + vmovd (%rax, %rdi), %xmm11 + vmovd (%rax, %r8), %xmm12 + vpunpckldq %xmm9, %xmm8, %xmm13 + vpunpckldq %xmm12, %xmm11, %xmm14 + vpunpcklqdq %xmm14, %xmm13, %xmm15 + + /* R */ + vmovups _sInvLg2_10hi+__svml_sexp10_data_internal(%rip), %ymm13 + vmovd %xmm6, %r9d + vfnmadd213ps %ymm3, %ymm0, %ymm13 + vpextrd $1, %xmm6, %r10d + movslq %r9d, %r9 + movslq %r10d, %r10 + vfnmadd132ps _sInvLg2_10lo+__svml_sexp10_data_internal(%rip), %ymm13, %ymm0 + vmovd (%rax, %r9), %xmm4 + vmovd (%rax, %r10), %xmm5 + vpunpckldq %xmm5, %xmm4, %xmm9 + + /* + * Polynomial + * exp10 = 2^N*(Tj+Tj*poly) + * poly(sN) = {1+later} a0+a1*sR + */ + vmovups _sPC2+__svml_sexp10_data_internal(%rip), %ymm4 + vfmadd213ps _sPC1+__svml_sexp10_data_internal(%rip), %ymm0, %ymm4 + vpextrd $2, %xmm6, %r11d + vpextrd $3, %xmm6, %ecx + movslq %r11d, %r11 + movslq %ecx, %rcx + vfmadd213ps _sPC0+__svml_sexp10_data_internal(%rip), %ymm0, %ymm4 + vmovd (%rax, %r11), %xmm7 + vmovd (%rax, %rcx), %xmm8 + vpunpckldq %xmm8, %xmm7, %xmm11 + + /* remove index bits */ + vpandn %ymm1, %ymm2, %ymm0 + vpunpcklqdq %xmm11, %xmm9, %xmm12 + + /* 2^N */ + vpslld $18, %ymm0, %ymm1 + vinsertf128 $1, %xmm12, %ymm15, %ymm14 + + /* Tj_l+Tj_h*poly */ + vfmadd213ps %ymm14, %ymm14, %ymm4 + + /* quick mul 2^N */ + vpaddd %ymm1, %ymm4, %ymm0 + + /* Finish */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm3, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm3, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call exp10f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call exp10f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_exp10f_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_sexp10_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _sT[(1<<5)][1]; - __declspec(align(32)) VUINT32 _sLg2_10[8][1]; - __declspec(align(32)) VUINT32 _sShifter[8][1]; - __declspec(align(32)) VUINT32 _sInvLg2_10hi[8][1]; - __declspec(align(32)) VUINT32 _sInvLg2_10lo[8][1]; - __declspec(align(32)) VUINT32 _sPC0[8][1]; - __declspec(align(32)) VUINT32 _sPC1[8][1]; - __declspec(align(32)) VUINT32 _sPC2[8][1]; - __declspec(align(32)) VUINT32 _iIndexMask[8][1]; - __declspec(align(32)) VUINT32 _iAbsMask[8][1]; - __declspec(align(32)) VUINT32 _iDomainRange[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _sT[(1<<5)][1]; + __declspec(align(32)) VUINT32 _sLg2_10[8][1]; + __declspec(align(32)) VUINT32 _sShifter[8][1]; + __declspec(align(32)) VUINT32 _sInvLg2_10hi[8][1]; + __declspec(align(32)) VUINT32 _sInvLg2_10lo[8][1]; + __declspec(align(32)) VUINT32 _sPC0[8][1]; + __declspec(align(32)) VUINT32 _sPC1[8][1]; + __declspec(align(32)) VUINT32 _sPC2[8][1]; + __declspec(align(32)) VUINT32 _iIndexMask[8][1]; + __declspec(align(32)) VUINT32 _iAbsMask[8][1]; + __declspec(align(32)) VUINT32 _iDomainRange[8][1]; } __svml_sexp10_data_internal; #endif __svml_sexp10_data_internal: - /*== _sT ==*/ - .long 0x3f800000 // 2^( 0 /32 ) - .long 0x3f82cd87 // 2^( 1 /32 ) - .long 0x3f85aac3 // 2^( 2 /32 ) - .long 0x3f88980f // 2^( 3 /32 ) - .long 0x3f8b95c2 // 2^( 4 /32 ) - .long 0x3f8ea43a // 2^( 5 /32 ) - .long 0x3f91c3d3 // 2^( 6 /32 ) - .long 0x3f94f4f0 // 2^( 7 /32 ) - .long 0x3f9837f0 // 2^( 8 /32 ) - .long 0x3f9b8d3a // 2^( 9 /32 ) - .long 0x3f9ef532 // 2^( 10/32 ) - .long 0x3fa27043 // 2^( 11/32 ) - .long 0x3fa5fed7 // 2^( 12/32 ) - .long 0x3fa9a15b // 2^( 13/32 ) - .long 0x3fad583f // 2^( 14/32 ) - .long 0x3fb123f6 // 2^( 15/32 ) - .long 0x3fb504f3 // 2^( 16/32 ) - .long 0x3fb8fbaf // 2^( 17/32 ) - .long 0x3fbd08a4 // 2^( 18/32 ) - .long 0x3fc12c4d // 2^( 19/32 ) - .long 0x3fc5672a // 2^( 20/32 ) - .long 0x3fc9b9be // 2^( 21/32 ) - .long 0x3fce248c // 2^( 22/32 ) - .long 0x3fd2a81e // 2^( 23/32 ) - .long 0x3fd744fd // 2^( 24/32 ) - .long 0x3fdbfbb8 // 2^( 25/32 ) - .long 0x3fe0ccdf // 2^( 26/32 ) - .long 0x3fe5b907 // 2^( 27/32 ) - .long 0x3feac0c7 // 2^( 28/32 ) - .long 0x3fefe4ba // 2^( 29/32 ) - .long 0x3ff5257d // 2^( 30/32 ) - .long 0x3ffa83b3 // 2^( 31/32 ) - .align 32 - .long 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78 /* _sLg2_10*2^K */ - .align 32 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter) */ - .align 32 - .long 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000 /* _sInvLg2_10hi/2^K hi (24-K-7) bits*/ - .align 32 - .long 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc /* _sInvLg2_10lo/2^K lo bits */ - // otherwise exp10(0) won't produce exact 1.0 - .align 32 - .long 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868 /* _sPC0 */ - .align 32 - .long 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b /* _sPC1 */ - .align 32 - .long 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2 /* _sPC2 */ - .align 32 - .long 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f /* _iIndexMask =(2^K-1)*/ - //common - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 32 - .long 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818 /* _iDomainRange=-log10(max_denormal=0x007fffff) RZ */ - .align 32 - .type __svml_sexp10_data_internal,@object - .size __svml_sexp10_data_internal,.-__svml_sexp10_data_internal + /* _sT */ + .long 0x3f800000 // 2^( 0 /32 ) + .long 0x3f82cd87 // 2^( 1 /32 ) + .long 0x3f85aac3 // 2^( 2 /32 ) + .long 0x3f88980f // 2^( 3 /32 ) + .long 0x3f8b95c2 // 2^( 4 /32 ) + .long 0x3f8ea43a // 2^( 5 /32 ) + .long 0x3f91c3d3 // 2^( 6 /32 ) + .long 0x3f94f4f0 // 2^( 7 /32 ) + .long 0x3f9837f0 // 2^( 8 /32 ) + .long 0x3f9b8d3a // 2^( 9 /32 ) + .long 0x3f9ef532 // 2^( 10/32 ) + .long 0x3fa27043 // 2^( 11/32 ) + .long 0x3fa5fed7 // 2^( 12/32 ) + .long 0x3fa9a15b // 2^( 13/32 ) + .long 0x3fad583f // 2^( 14/32 ) + .long 0x3fb123f6 // 2^( 15/32 ) + .long 0x3fb504f3 // 2^( 16/32 ) + .long 0x3fb8fbaf // 2^( 17/32 ) + .long 0x3fbd08a4 // 2^( 18/32 ) + .long 0x3fc12c4d // 2^( 19/32 ) + .long 0x3fc5672a // 2^( 20/32 ) + .long 0x3fc9b9be // 2^( 21/32 ) + .long 0x3fce248c // 2^( 22/32 ) + .long 0x3fd2a81e // 2^( 23/32 ) + .long 0x3fd744fd // 2^( 24/32 ) + .long 0x3fdbfbb8 // 2^( 25/32 ) + .long 0x3fe0ccdf // 2^( 26/32 ) + .long 0x3fe5b907 // 2^( 27/32 ) + .long 0x3feac0c7 // 2^( 28/32 ) + .long 0x3fefe4ba // 2^( 29/32 ) + .long 0x3ff5257d // 2^( 30/32 ) + .long 0x3ffa83b3 // 2^( 31/32 ) + .align 32 + .long 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78, 0x42d49a78 /* _sLg2_10*2^K */ + .align 32 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter) */ + .align 32 + .long 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000, 0x3c1a2000 /* _sInvLg2_10hi/2^K hi (24-K-7) bits */ + .align 32 + .long 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc, 0x341a84fc /* _sInvLg2_10lo/2^K lo bits */ + // otherwise exp10(0) won't produce exact 1.0 + .align 32 + .long 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868, 0x2fecc868 /* _sPC0 */ + .align 32 + .long 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b, 0x40135e1b /* _sPC1 */ + .align 32 + .long 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2, 0x4029a8d2 /* _sPC2 */ + .align 32 + .long 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f, 0x0000001f /* _iIndexMask =(2^K-1) */ + //common + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 32 + .long 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818, 0x4217b818 /* _iDomainRange=-log10(max_denormal=0x007fffff) RZ */ + .align 32 + .type __svml_sexp10_data_internal, @object + .size __svml_sexp10_data_internal, .-__svml_sexp10_data_internal From patchwork Mon Mar 7 15:01:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602264 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ug9uutiZ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2Jz5vzdz9sFk for ; Tue, 8 Mar 2022 02:22:59 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E365A3858434 for ; Mon, 7 Mar 2022 15:22:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E365A3858434 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666577; bh=IAYamSPlgzQYdnorFfhEn3NaEBvflOVzOgzdbZvOXSE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ug9uutiZ1Ry0IbENVuIhIMRHF6LLWaF/z6j6ba2YobJrqN7ViJcbHxVRaPjFEidfT bIXjF8g1NbgInTOCieM8gXRDRE+6t7JeSlXDy01V9UL7vc7v6+6cGV+mBDwt3WoSjH 1iuRhoxStPR+LgQFpaa0G6IhJPZbaErvJbb5daD8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 0F1353858017 for ; Mon, 7 Mar 2022 15:02:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0F1353858017 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347787" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347787" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526492" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ei016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 070/126] x86_64: Fix svml_d_exp102_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:05 -0800 Message-Id: <20220307150201.10590-71-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_exp102_core_sse4.S | 694 +++++++++--------- 1 file changed, 346 insertions(+), 348 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S index a000d6df3a..c62911e0e7 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp102_core_sse4.S @@ -22,7 +22,7 @@ * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) * where * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,376 +43,374 @@ /* Offsets for data table __svml_dexp10_data_internal */ -#define _dbT 0 -#define _dbLg2_10 1024 -#define _dbShifter 1040 -#define _dbInvLg2_10hi 1056 -#define _dbInvLg2_10lo 1072 -#define _dPC1 1088 -#define _dPC2 1104 -#define _dPC3 1120 -#define _dPC4 1136 -#define _dPC5 1152 -#define _lExpMask 1168 -#define _iIndexMask 1184 -#define _iAbsMask 1200 -#define _iDomainRange 1216 +#define _dbT 0 +#define _dbLg2_10 1024 +#define _dbShifter 1040 +#define _dbInvLg2_10hi 1056 +#define _dbInvLg2_10lo 1072 +#define _dPC1 1088 +#define _dPC2 1104 +#define _dPC3 1120 +#define _dPC4 1136 +#define _dPC5 1152 +#define _lExpMask 1168 +#define _iIndexMask 1184 +#define _iAbsMask 1200 +#define _iDomainRange 1216 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_exp10_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* R */ - movaps %xmm0, %xmm12 - -/* Load arument */ - movups _dbLg2_10+__svml_dexp10_data_internal(%rip), %xmm13 - lea __svml_dexp10_data_internal(%rip), %rsi - mulpd %xmm0, %xmm13 - movups _dbShifter+__svml_dexp10_data_internal(%rip), %xmm1 - addpd %xmm1, %xmm13 - movaps %xmm13, %xmm9 - subpd %xmm1, %xmm9 - movups _dbInvLg2_10hi+__svml_dexp10_data_internal(%rip), %xmm8 - mulpd %xmm9, %xmm8 - movups _dbInvLg2_10lo+__svml_dexp10_data_internal(%rip), %xmm10 - mulpd %xmm9, %xmm10 - subpd %xmm8, %xmm12 - subpd %xmm10, %xmm12 - -/* - * Polynomial - * poly(dN) = a1*dR+...+a5*dR^5 - */ - movups _dPC5+__svml_dexp10_data_internal(%rip), %xmm11 - mulpd %xmm12, %xmm11 - addpd _dPC4+__svml_dexp10_data_internal(%rip), %xmm11 - mulpd %xmm12, %xmm11 - addpd _dPC3+__svml_dexp10_data_internal(%rip), %xmm11 - mulpd %xmm12, %xmm11 - addpd _dPC2+__svml_dexp10_data_internal(%rip), %xmm11 - -/* a1+...+a5*dR^4 ! */ - mulpd %xmm12, %xmm11 - addpd _dPC1+__svml_dexp10_data_internal(%rip), %xmm11 - movq _iIndexMask+__svml_dexp10_data_internal(%rip), %xmm5 - -/* Index and lookup */ - pshufd $136, %xmm13, %xmm6 - -/* 2^N */ - psllq $45, %xmm13 - pand %xmm5, %xmm6 - -/* iIndex*=sizeof(D); */ - pslld $3, %xmm6 - movd %xmm6, %eax - pshufd $1, %xmm6, %xmm7 - movq _iAbsMask+__svml_dexp10_data_internal(%rip), %xmm2 - -/* a1*dR+...+a5*dR^5 */ - mulpd %xmm11, %xmm12 - movd %xmm7, %ecx - -/* Check for overflow\underflow */ - pshufd $221, %xmm0, %xmm4 - movq _iDomainRange+__svml_dexp10_data_internal(%rip), %xmm3 - pand %xmm2, %xmm4 - movslq %eax, %rax - pcmpgtd %xmm3, %xmm4 - movslq %ecx, %rcx - movmskps %xmm4, %edx - -/* lM==EXP(2^N) */ - pand _lExpMask+__svml_dexp10_data_internal(%rip), %xmm13 - movsd (%rsi,%rax), %xmm1 - movhpd (%rsi,%rcx), %xmm1 - -/* Tj*poly */ - mulpd %xmm1, %xmm12 - addpd %xmm12, %xmm1 - -/* quick 2^N */ - paddq %xmm13, %xmm1 - andl $3, %edx - -/* Finish */ - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* R */ + movaps %xmm0, %xmm12 + + /* Load arument */ + movups _dbLg2_10+__svml_dexp10_data_internal(%rip), %xmm13 + lea __svml_dexp10_data_internal(%rip), %rsi + mulpd %xmm0, %xmm13 + movups _dbShifter+__svml_dexp10_data_internal(%rip), %xmm1 + addpd %xmm1, %xmm13 + movaps %xmm13, %xmm9 + subpd %xmm1, %xmm9 + movups _dbInvLg2_10hi+__svml_dexp10_data_internal(%rip), %xmm8 + mulpd %xmm9, %xmm8 + movups _dbInvLg2_10lo+__svml_dexp10_data_internal(%rip), %xmm10 + mulpd %xmm9, %xmm10 + subpd %xmm8, %xmm12 + subpd %xmm10, %xmm12 + + /* + * Polynomial + * poly(dN) = a1*dR+...+a5*dR^5 + */ + movups _dPC5+__svml_dexp10_data_internal(%rip), %xmm11 + mulpd %xmm12, %xmm11 + addpd _dPC4+__svml_dexp10_data_internal(%rip), %xmm11 + mulpd %xmm12, %xmm11 + addpd _dPC3+__svml_dexp10_data_internal(%rip), %xmm11 + mulpd %xmm12, %xmm11 + addpd _dPC2+__svml_dexp10_data_internal(%rip), %xmm11 + + /* a1+...+a5*dR^4 ! */ + mulpd %xmm12, %xmm11 + addpd _dPC1+__svml_dexp10_data_internal(%rip), %xmm11 + movq _iIndexMask+__svml_dexp10_data_internal(%rip), %xmm5 + + /* Index and lookup */ + pshufd $136, %xmm13, %xmm6 + + /* 2^N */ + psllq $45, %xmm13 + pand %xmm5, %xmm6 + + /* iIndex*=sizeof(D); */ + pslld $3, %xmm6 + movd %xmm6, %eax + pshufd $1, %xmm6, %xmm7 + movq _iAbsMask+__svml_dexp10_data_internal(%rip), %xmm2 + + /* a1*dR+...+a5*dR^5 */ + mulpd %xmm11, %xmm12 + movd %xmm7, %ecx + + /* Check for overflow\underflow */ + pshufd $221, %xmm0, %xmm4 + movq _iDomainRange+__svml_dexp10_data_internal(%rip), %xmm3 + pand %xmm2, %xmm4 + movslq %eax, %rax + pcmpgtd %xmm3, %xmm4 + movslq %ecx, %rcx + movmskps %xmm4, %edx + + /* lM==EXP(2^N) */ + pand _lExpMask+__svml_dexp10_data_internal(%rip), %xmm13 + movsd (%rsi, %rax), %xmm1 + movhpd (%rsi, %rcx), %xmm1 + + /* Tj*poly */ + mulpd %xmm1, %xmm12 + addpd %xmm12, %xmm1 + + /* quick 2^N */ + paddq %xmm13, %xmm1 + andl $3, %edx + + /* Finish */ + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm1, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm1, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx xmm1 - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx xmm1 + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm1 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm1 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call exp10@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call exp10@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_exp10_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dexp10_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dbT[(1<<7)][2]; - __declspec(align(16)) VUINT32 _dbLg2_10[2][2]; - __declspec(align(16)) VUINT32 _dbShifter[2][2]; - __declspec(align(16)) VUINT32 _dbInvLg2_10hi[2][2]; - __declspec(align(16)) VUINT32 _dbInvLg2_10lo[2][2]; - __declspec(align(16)) VUINT32 _dPC1[2][2]; - __declspec(align(16)) VUINT32 _dPC2[2][2]; - __declspec(align(16)) VUINT32 _dPC3[2][2]; - __declspec(align(16)) VUINT32 _dPC4[2][2]; - __declspec(align(16)) VUINT32 _dPC5[2][2]; - __declspec(align(16)) VUINT32 _lExpMask[2][2]; - __declspec(align(16)) VUINT32 _iIndexMask[4][1]; - __declspec(align(16)) VUINT32 _iAbsMask[4][1]; - __declspec(align(16)) VUINT32 _iDomainRange[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _dbT[(1<<7)][2]; + __declspec(align(16)) VUINT32 _dbLg2_10[2][2]; + __declspec(align(16)) VUINT32 _dbShifter[2][2]; + __declspec(align(16)) VUINT32 _dbInvLg2_10hi[2][2]; + __declspec(align(16)) VUINT32 _dbInvLg2_10lo[2][2]; + __declspec(align(16)) VUINT32 _dPC1[2][2]; + __declspec(align(16)) VUINT32 _dPC2[2][2]; + __declspec(align(16)) VUINT32 _dPC3[2][2]; + __declspec(align(16)) VUINT32 _dPC4[2][2]; + __declspec(align(16)) VUINT32 _dPC5[2][2]; + __declspec(align(16)) VUINT32 _lExpMask[2][2]; + __declspec(align(16)) VUINT32 _iIndexMask[4][1]; + __declspec(align(16)) VUINT32 _iAbsMask[4][1]; + __declspec(align(16)) VUINT32 _iDomainRange[4][1]; } __svml_dexp10_data_internal; #endif __svml_dexp10_data_internal: - /*== _dbT ==*/ - .quad 0x3ff0000000000000 /*2^( 0 /128)*/ - .quad 0x3ff0163da9fb3335 /*2^( 1 /128)*/ - .quad 0x3ff02c9a3e778061 /*2^( 2 /128)*/ - .quad 0x3ff04315e86e7f85 /*2^( 3 /128)*/ - .quad 0x3ff059b0d3158574 /*2^( 4 /128)*/ - .quad 0x3ff0706b29ddf6de /*2^( 5 /128)*/ - .quad 0x3ff0874518759bc8 /*2^( 6 /128)*/ - .quad 0x3ff09e3ecac6f383 /*2^( 7 /128)*/ - .quad 0x3ff0b5586cf9890f /*2^( 8 /128)*/ - .quad 0x3ff0cc922b7247f7 /*2^( 9 /128)*/ - .quad 0x3ff0e3ec32d3d1a2 /*2^( 10 /128)*/ - .quad 0x3ff0fb66affed31b /*2^( 11 /128)*/ - .quad 0x3ff11301d0125b51 /*2^( 12 /128)*/ - .quad 0x3ff12abdc06c31cc /*2^( 13 /128)*/ - .quad 0x3ff1429aaea92de0 /*2^( 14 /128)*/ - .quad 0x3ff15a98c8a58e51 /*2^( 15 /128)*/ - .quad 0x3ff172b83c7d517b /*2^( 16 /128)*/ - .quad 0x3ff18af9388c8dea /*2^( 17 /128)*/ - .quad 0x3ff1a35beb6fcb75 /*2^( 18 /128)*/ - .quad 0x3ff1bbe084045cd4 /*2^( 19 /128)*/ - .quad 0x3ff1d4873168b9aa /*2^( 20 /128)*/ - .quad 0x3ff1ed5022fcd91d /*2^( 21 /128)*/ - .quad 0x3ff2063b88628cd6 /*2^( 22 /128)*/ - .quad 0x3ff21f49917ddc96 /*2^( 23 /128)*/ - .quad 0x3ff2387a6e756238 /*2^( 24 /128)*/ - .quad 0x3ff251ce4fb2a63f /*2^( 25 /128)*/ - .quad 0x3ff26b4565e27cdd /*2^( 26 /128)*/ - .quad 0x3ff284dfe1f56381 /*2^( 27 /128)*/ - .quad 0x3ff29e9df51fdee1 /*2^( 28 /128)*/ - .quad 0x3ff2b87fd0dad990 /*2^( 29 /128)*/ - .quad 0x3ff2d285a6e4030b /*2^( 30 /128)*/ - .quad 0x3ff2ecafa93e2f56 /*2^( 31 /128)*/ - .quad 0x3ff306fe0a31b715 /*2^( 32 /128)*/ - .quad 0x3ff32170fc4cd831 /*2^( 33 /128)*/ - .quad 0x3ff33c08b26416ff /*2^( 34 /128)*/ - .quad 0x3ff356c55f929ff1 /*2^( 35 /128)*/ - .quad 0x3ff371a7373aa9cb /*2^( 36 /128)*/ - .quad 0x3ff38cae6d05d866 /*2^( 37 /128)*/ - .quad 0x3ff3a7db34e59ff7 /*2^( 38 /128)*/ - .quad 0x3ff3c32dc313a8e5 /*2^( 39 /128)*/ - .quad 0x3ff3dea64c123422 /*2^( 40 /128)*/ - .quad 0x3ff3fa4504ac801c /*2^( 41 /128)*/ - .quad 0x3ff4160a21f72e2a /*2^( 42 /128)*/ - .quad 0x3ff431f5d950a897 /*2^( 43 /128)*/ - .quad 0x3ff44e086061892d /*2^( 44 /128)*/ - .quad 0x3ff46a41ed1d0057 /*2^( 45 /128)*/ - .quad 0x3ff486a2b5c13cd0 /*2^( 46 /128)*/ - .quad 0x3ff4a32af0d7d3de /*2^( 47 /128)*/ - .quad 0x3ff4bfdad5362a27 /*2^( 48 /128)*/ - .quad 0x3ff4dcb299fddd0d /*2^( 49 /128)*/ - .quad 0x3ff4f9b2769d2ca7 /*2^( 50 /128)*/ - .quad 0x3ff516daa2cf6642 /*2^( 51 /128)*/ - .quad 0x3ff5342b569d4f82 /*2^( 52 /128)*/ - .quad 0x3ff551a4ca5d920f /*2^( 53 /128)*/ - .quad 0x3ff56f4736b527da /*2^( 54 /128)*/ - .quad 0x3ff58d12d497c7fd /*2^( 55 /128)*/ - .quad 0x3ff5ab07dd485429 /*2^( 56 /128)*/ - .quad 0x3ff5c9268a5946b7 /*2^( 57 /128)*/ - .quad 0x3ff5e76f15ad2148 /*2^( 58 /128)*/ - .quad 0x3ff605e1b976dc09 /*2^( 59 /128)*/ - .quad 0x3ff6247eb03a5585 /*2^( 60 /128)*/ - .quad 0x3ff6434634ccc320 /*2^( 61 /128)*/ - .quad 0x3ff6623882552225 /*2^( 62 /128)*/ - .quad 0x3ff68155d44ca973 /*2^( 63 /128)*/ - .quad 0x3ff6a09e667f3bcd /*2^( 64 /128)*/ - .quad 0x3ff6c012750bdabf /*2^( 65 /128)*/ - .quad 0x3ff6dfb23c651a2f /*2^( 66 /128)*/ - .quad 0x3ff6ff7df9519484 /*2^( 67 /128)*/ - .quad 0x3ff71f75e8ec5f74 /*2^( 68 /128)*/ - .quad 0x3ff73f9a48a58174 /*2^( 69 /128)*/ - .quad 0x3ff75feb564267c9 /*2^( 70 /128)*/ - .quad 0x3ff780694fde5d3f /*2^( 71 /128)*/ - .quad 0x3ff7a11473eb0187 /*2^( 72 /128)*/ - .quad 0x3ff7c1ed0130c132 /*2^( 73 /128)*/ - .quad 0x3ff7e2f336cf4e62 /*2^( 74 /128)*/ - .quad 0x3ff80427543e1a12 /*2^( 75 /128)*/ - .quad 0x3ff82589994cce13 /*2^( 76 /128)*/ - .quad 0x3ff8471a4623c7ad /*2^( 77 /128)*/ - .quad 0x3ff868d99b4492ed /*2^( 78 /128)*/ - .quad 0x3ff88ac7d98a6699 /*2^( 79 /128)*/ - .quad 0x3ff8ace5422aa0db /*2^( 80 /128)*/ - .quad 0x3ff8cf3216b5448c /*2^( 81 /128)*/ - .quad 0x3ff8f1ae99157736 /*2^( 82 /128)*/ - .quad 0x3ff9145b0b91ffc6 /*2^( 83 /128)*/ - .quad 0x3ff93737b0cdc5e5 /*2^( 84 /128)*/ - .quad 0x3ff95a44cbc8520f /*2^( 85 /128)*/ - .quad 0x3ff97d829fde4e50 /*2^( 86 /128)*/ - .quad 0x3ff9a0f170ca07ba /*2^( 87 /128)*/ - .quad 0x3ff9c49182a3f090 /*2^( 88 /128)*/ - .quad 0x3ff9e86319e32323 /*2^( 89 /128)*/ - .quad 0x3ffa0c667b5de565 /*2^( 90 /128)*/ - .quad 0x3ffa309bec4a2d33 /*2^( 91 /128)*/ - .quad 0x3ffa5503b23e255d /*2^( 92 /128)*/ - .quad 0x3ffa799e1330b358 /*2^( 93 /128)*/ - .quad 0x3ffa9e6b5579fdbf /*2^( 94 /128)*/ - .quad 0x3ffac36bbfd3f37a /*2^( 95 /128)*/ - .quad 0x3ffae89f995ad3ad /*2^( 96 /128)*/ - .quad 0x3ffb0e07298db666 /*2^( 97 /128)*/ - .quad 0x3ffb33a2b84f15fb /*2^( 98 /128)*/ - .quad 0x3ffb59728de5593a /*2^( 99 /128)*/ - .quad 0x3ffb7f76f2fb5e47 /*2^( 100 /128)*/ - .quad 0x3ffba5b030a1064a /*2^( 101 /128)*/ - .quad 0x3ffbcc1e904bc1d2 /*2^( 102 /128)*/ - .quad 0x3ffbf2c25bd71e09 /*2^( 103 /128)*/ - .quad 0x3ffc199bdd85529c /*2^( 104 /128)*/ - .quad 0x3ffc40ab5fffd07a /*2^( 105 /128)*/ - .quad 0x3ffc67f12e57d14b /*2^( 106 /128)*/ - .quad 0x3ffc8f6d9406e7b5 /*2^( 107 /128)*/ - .quad 0x3ffcb720dcef9069 /*2^( 108 /128)*/ - .quad 0x3ffcdf0b555dc3fa /*2^( 109 /128)*/ - .quad 0x3ffd072d4a07897c /*2^( 110 /128)*/ - .quad 0x3ffd2f87080d89f2 /*2^( 111 /128)*/ - .quad 0x3ffd5818dcfba487 /*2^( 112 /128)*/ - .quad 0x3ffd80e316c98398 /*2^( 113 /128)*/ - .quad 0x3ffda9e603db3285 /*2^( 114 /128)*/ - .quad 0x3ffdd321f301b460 /*2^( 115 /128)*/ - .quad 0x3ffdfc97337b9b5f /*2^( 116 /128)*/ - .quad 0x3ffe264614f5a129 /*2^( 117 /128)*/ - .quad 0x3ffe502ee78b3ff6 /*2^( 118 /128)*/ - .quad 0x3ffe7a51fbc74c83 /*2^( 119 /128)*/ - .quad 0x3ffea4afa2a490da /*2^( 120 /128)*/ - .quad 0x3ffecf482d8e67f1 /*2^( 121 /128)*/ - .quad 0x3ffefa1bee615a27 /*2^( 122 /128)*/ - .quad 0x3fff252b376bba97 /*2^( 123 /128)*/ - .quad 0x3fff50765b6e4540 /*2^( 124 /128)*/ - .quad 0x3fff7bfdad9cbe14 /*2^( 125 /128)*/ - .quad 0x3fffa7c1819e90d8 /*2^( 126 /128)*/ - .quad 0x3fffd3c22b8f71f1 /*2^( 127 /128)*/ - .align 16 - .quad 0x407a934f0979a371, 0x407a934f0979a371 /* _dbLg2_10*2^K */ - .align 16 - .quad 0x4338800000000000, 0x4338800000000000 /* _dbShifter */ - .align 16 - .quad 0x3f63441350a00000, 0x3f63441350a00000 /* _dbInvLg2_10hi/2^K 53-11-K bits*/ - .align 16 - .quad 0xbd10c0219dc1da99, 0xbd10c0219dc1da99 /* _dbInvLg2_10lo/2^K */ - //PC0 = 1.0 - .align 16 - .quad 0x40026bb1bbb55516, 0x40026bb1bbb55516 /* _dPC1 */ - .align 16 - .quad 0x40053524c73ce8e3, 0x40053524c73ce8e3 /* _dPC2 */ - .align 16 - .quad 0x4000470591ccea8b, 0x4000470591ccea8b /* _dPC3 */ - .align 16 - .quad 0x3ff2bd767584db59, 0x3ff2bd767584db59 /* _dPC4 */ - .align 16 - .quad 0x3fe144c03efafb54, 0x3fe144c03efafb54 /* _dPC5 */ - .align 16 - .quad 0xfff0000000000000, 0xfff0000000000000 /* _lExpMask */ - .align 16 - .long 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f /* _iIndexMask =(2^K-1)*/ - //common - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 16 - .long 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70 /* _iDomainRange */ - .align 16 - .type __svml_dexp10_data_internal,@object - .size __svml_dexp10_data_internal,.-__svml_dexp10_data_internal + /* _dbT */ + .quad 0x3ff0000000000000 /* 2^( 0 /128) */ + .quad 0x3ff0163da9fb3335 /* 2^( 1 /128) */ + .quad 0x3ff02c9a3e778061 /* 2^( 2 /128) */ + .quad 0x3ff04315e86e7f85 /* 2^( 3 /128) */ + .quad 0x3ff059b0d3158574 /* 2^( 4 /128) */ + .quad 0x3ff0706b29ddf6de /* 2^( 5 /128) */ + .quad 0x3ff0874518759bc8 /* 2^( 6 /128) */ + .quad 0x3ff09e3ecac6f383 /* 2^( 7 /128) */ + .quad 0x3ff0b5586cf9890f /* 2^( 8 /128) */ + .quad 0x3ff0cc922b7247f7 /* 2^( 9 /128) */ + .quad 0x3ff0e3ec32d3d1a2 /* 2^( 10 /128) */ + .quad 0x3ff0fb66affed31b /* 2^( 11 /128) */ + .quad 0x3ff11301d0125b51 /* 2^( 12 /128) */ + .quad 0x3ff12abdc06c31cc /* 2^( 13 /128) */ + .quad 0x3ff1429aaea92de0 /* 2^( 14 /128) */ + .quad 0x3ff15a98c8a58e51 /* 2^( 15 /128) */ + .quad 0x3ff172b83c7d517b /* 2^( 16 /128) */ + .quad 0x3ff18af9388c8dea /* 2^( 17 /128) */ + .quad 0x3ff1a35beb6fcb75 /* 2^( 18 /128) */ + .quad 0x3ff1bbe084045cd4 /* 2^( 19 /128) */ + .quad 0x3ff1d4873168b9aa /* 2^( 20 /128) */ + .quad 0x3ff1ed5022fcd91d /* 2^( 21 /128) */ + .quad 0x3ff2063b88628cd6 /* 2^( 22 /128) */ + .quad 0x3ff21f49917ddc96 /* 2^( 23 /128) */ + .quad 0x3ff2387a6e756238 /* 2^( 24 /128) */ + .quad 0x3ff251ce4fb2a63f /* 2^( 25 /128) */ + .quad 0x3ff26b4565e27cdd /* 2^( 26 /128) */ + .quad 0x3ff284dfe1f56381 /* 2^( 27 /128) */ + .quad 0x3ff29e9df51fdee1 /* 2^( 28 /128) */ + .quad 0x3ff2b87fd0dad990 /* 2^( 29 /128) */ + .quad 0x3ff2d285a6e4030b /* 2^( 30 /128) */ + .quad 0x3ff2ecafa93e2f56 /* 2^( 31 /128) */ + .quad 0x3ff306fe0a31b715 /* 2^( 32 /128) */ + .quad 0x3ff32170fc4cd831 /* 2^( 33 /128) */ + .quad 0x3ff33c08b26416ff /* 2^( 34 /128) */ + .quad 0x3ff356c55f929ff1 /* 2^( 35 /128) */ + .quad 0x3ff371a7373aa9cb /* 2^( 36 /128) */ + .quad 0x3ff38cae6d05d866 /* 2^( 37 /128) */ + .quad 0x3ff3a7db34e59ff7 /* 2^( 38 /128) */ + .quad 0x3ff3c32dc313a8e5 /* 2^( 39 /128) */ + .quad 0x3ff3dea64c123422 /* 2^( 40 /128) */ + .quad 0x3ff3fa4504ac801c /* 2^( 41 /128) */ + .quad 0x3ff4160a21f72e2a /* 2^( 42 /128) */ + .quad 0x3ff431f5d950a897 /* 2^( 43 /128) */ + .quad 0x3ff44e086061892d /* 2^( 44 /128) */ + .quad 0x3ff46a41ed1d0057 /* 2^( 45 /128) */ + .quad 0x3ff486a2b5c13cd0 /* 2^( 46 /128) */ + .quad 0x3ff4a32af0d7d3de /* 2^( 47 /128) */ + .quad 0x3ff4bfdad5362a27 /* 2^( 48 /128) */ + .quad 0x3ff4dcb299fddd0d /* 2^( 49 /128) */ + .quad 0x3ff4f9b2769d2ca7 /* 2^( 50 /128) */ + .quad 0x3ff516daa2cf6642 /* 2^( 51 /128) */ + .quad 0x3ff5342b569d4f82 /* 2^( 52 /128) */ + .quad 0x3ff551a4ca5d920f /* 2^( 53 /128) */ + .quad 0x3ff56f4736b527da /* 2^( 54 /128) */ + .quad 0x3ff58d12d497c7fd /* 2^( 55 /128) */ + .quad 0x3ff5ab07dd485429 /* 2^( 56 /128) */ + .quad 0x3ff5c9268a5946b7 /* 2^( 57 /128) */ + .quad 0x3ff5e76f15ad2148 /* 2^( 58 /128) */ + .quad 0x3ff605e1b976dc09 /* 2^( 59 /128) */ + .quad 0x3ff6247eb03a5585 /* 2^( 60 /128) */ + .quad 0x3ff6434634ccc320 /* 2^( 61 /128) */ + .quad 0x3ff6623882552225 /* 2^( 62 /128) */ + .quad 0x3ff68155d44ca973 /* 2^( 63 /128) */ + .quad 0x3ff6a09e667f3bcd /* 2^( 64 /128) */ + .quad 0x3ff6c012750bdabf /* 2^( 65 /128) */ + .quad 0x3ff6dfb23c651a2f /* 2^( 66 /128) */ + .quad 0x3ff6ff7df9519484 /* 2^( 67 /128) */ + .quad 0x3ff71f75e8ec5f74 /* 2^( 68 /128) */ + .quad 0x3ff73f9a48a58174 /* 2^( 69 /128) */ + .quad 0x3ff75feb564267c9 /* 2^( 70 /128) */ + .quad 0x3ff780694fde5d3f /* 2^( 71 /128) */ + .quad 0x3ff7a11473eb0187 /* 2^( 72 /128) */ + .quad 0x3ff7c1ed0130c132 /* 2^( 73 /128) */ + .quad 0x3ff7e2f336cf4e62 /* 2^( 74 /128) */ + .quad 0x3ff80427543e1a12 /* 2^( 75 /128) */ + .quad 0x3ff82589994cce13 /* 2^( 76 /128) */ + .quad 0x3ff8471a4623c7ad /* 2^( 77 /128) */ + .quad 0x3ff868d99b4492ed /* 2^( 78 /128) */ + .quad 0x3ff88ac7d98a6699 /* 2^( 79 /128) */ + .quad 0x3ff8ace5422aa0db /* 2^( 80 /128) */ + .quad 0x3ff8cf3216b5448c /* 2^( 81 /128) */ + .quad 0x3ff8f1ae99157736 /* 2^( 82 /128) */ + .quad 0x3ff9145b0b91ffc6 /* 2^( 83 /128) */ + .quad 0x3ff93737b0cdc5e5 /* 2^( 84 /128) */ + .quad 0x3ff95a44cbc8520f /* 2^( 85 /128) */ + .quad 0x3ff97d829fde4e50 /* 2^( 86 /128) */ + .quad 0x3ff9a0f170ca07ba /* 2^( 87 /128) */ + .quad 0x3ff9c49182a3f090 /* 2^( 88 /128) */ + .quad 0x3ff9e86319e32323 /* 2^( 89 /128) */ + .quad 0x3ffa0c667b5de565 /* 2^( 90 /128) */ + .quad 0x3ffa309bec4a2d33 /* 2^( 91 /128) */ + .quad 0x3ffa5503b23e255d /* 2^( 92 /128) */ + .quad 0x3ffa799e1330b358 /* 2^( 93 /128) */ + .quad 0x3ffa9e6b5579fdbf /* 2^( 94 /128) */ + .quad 0x3ffac36bbfd3f37a /* 2^( 95 /128) */ + .quad 0x3ffae89f995ad3ad /* 2^( 96 /128) */ + .quad 0x3ffb0e07298db666 /* 2^( 97 /128) */ + .quad 0x3ffb33a2b84f15fb /* 2^( 98 /128) */ + .quad 0x3ffb59728de5593a /* 2^( 99 /128) */ + .quad 0x3ffb7f76f2fb5e47 /* 2^( 100 /128) */ + .quad 0x3ffba5b030a1064a /* 2^( 101 /128) */ + .quad 0x3ffbcc1e904bc1d2 /* 2^( 102 /128) */ + .quad 0x3ffbf2c25bd71e09 /* 2^( 103 /128) */ + .quad 0x3ffc199bdd85529c /* 2^( 104 /128) */ + .quad 0x3ffc40ab5fffd07a /* 2^( 105 /128) */ + .quad 0x3ffc67f12e57d14b /* 2^( 106 /128) */ + .quad 0x3ffc8f6d9406e7b5 /* 2^( 107 /128) */ + .quad 0x3ffcb720dcef9069 /* 2^( 108 /128) */ + .quad 0x3ffcdf0b555dc3fa /* 2^( 109 /128) */ + .quad 0x3ffd072d4a07897c /* 2^( 110 /128) */ + .quad 0x3ffd2f87080d89f2 /* 2^( 111 /128) */ + .quad 0x3ffd5818dcfba487 /* 2^( 112 /128) */ + .quad 0x3ffd80e316c98398 /* 2^( 113 /128) */ + .quad 0x3ffda9e603db3285 /* 2^( 114 /128) */ + .quad 0x3ffdd321f301b460 /* 2^( 115 /128) */ + .quad 0x3ffdfc97337b9b5f /* 2^( 116 /128) */ + .quad 0x3ffe264614f5a129 /* 2^( 117 /128) */ + .quad 0x3ffe502ee78b3ff6 /* 2^( 118 /128) */ + .quad 0x3ffe7a51fbc74c83 /* 2^( 119 /128) */ + .quad 0x3ffea4afa2a490da /* 2^( 120 /128) */ + .quad 0x3ffecf482d8e67f1 /* 2^( 121 /128) */ + .quad 0x3ffefa1bee615a27 /* 2^( 122 /128) */ + .quad 0x3fff252b376bba97 /* 2^( 123 /128) */ + .quad 0x3fff50765b6e4540 /* 2^( 124 /128) */ + .quad 0x3fff7bfdad9cbe14 /* 2^( 125 /128) */ + .quad 0x3fffa7c1819e90d8 /* 2^( 126 /128) */ + .quad 0x3fffd3c22b8f71f1 /* 2^( 127 /128) */ + .align 16 + .quad 0x407a934f0979a371, 0x407a934f0979a371 /* _dbLg2_10*2^K */ + .align 16 + .quad 0x4338800000000000, 0x4338800000000000 /* _dbShifter */ + .align 16 + .quad 0x3f63441350a00000, 0x3f63441350a00000 /* _dbInvLg2_10hi/2^K 53-11-K bits */ + .align 16 + .quad 0xbd10c0219dc1da99, 0xbd10c0219dc1da99 /* _dbInvLg2_10lo/2^K */ + //PC0 = 1.0 + .align 16 + .quad 0x40026bb1bbb55516, 0x40026bb1bbb55516 /* _dPC1 */ + .align 16 + .quad 0x40053524c73ce8e3, 0x40053524c73ce8e3 /* _dPC2 */ + .align 16 + .quad 0x4000470591ccea8b, 0x4000470591ccea8b /* _dPC3 */ + .align 16 + .quad 0x3ff2bd767584db59, 0x3ff2bd767584db59 /* _dPC4 */ + .align 16 + .quad 0x3fe144c03efafb54, 0x3fe144c03efafb54 /* _dPC5 */ + .align 16 + .quad 0xfff0000000000000, 0xfff0000000000000 /* _lExpMask */ + .align 16 + .long 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f /* _iIndexMask =(2^K-1) */ + //common + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 16 + .long 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70 /* _iDomainRange */ + .align 16 + .type __svml_dexp10_data_internal, @object + .size __svml_dexp10_data_internal, .-__svml_dexp10_data_internal From patchwork Mon Mar 7 15:01:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602378 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=cuO1R6EJ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3WX2Drnz9sFt for ; Tue, 8 Mar 2022 03:17:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 130873858016 for ; Mon, 7 Mar 2022 16:17:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 130873858016 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669830; bh=d2O1ZKQEcYnE3r6gMWIAkXQ0EdHXUyr3I9Ts0OauAg4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=cuO1R6EJ9vXV+Lq3yBrA+7ETuflWN12GizjveEWTXVJNuluKAVMLHddklLMFqbV7D HJsgtAo7VtJy8DT93B43pgx0nZdOItuszByqJz5hIoe5WDLnRI/ELm8CzPaHuRjdKT SLvhirkYfMiMsVNpG3YVPfi9A5keN0qGSmKB9yTA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 416CE385842B for ; Mon, 7 Mar 2022 15:03:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 416CE385842B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843025" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843025" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561723" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ej016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 071/126] x86_64: Fix svml_d_exp104_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:06 -0800 Message-Id: <20220307150201.10590-72-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_exp104_core_avx2.S | 716 +++++++++--------- 1 file changed, 357 insertions(+), 359 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S index 4c18950a92..7271bcc1d9 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp104_core_avx2.S @@ -22,7 +22,7 @@ * exp10(x) = 2^x/log10(2) = 2^n * (1 + T[j]) * (1 + P(y)) * where * x = m*log10(2)/K + y, y in [-log10(2)/K..log10(2)/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,387 +43,385 @@ /* Offsets for data table __svml_dexp10_data_internal */ -#define _dbT 0 -#define _dbLg2_10 1024 -#define _dbShifter 1056 -#define _dbInvLg2_10hi 1088 -#define _dbInvLg2_10lo 1120 -#define _dPC1 1152 -#define _dPC2 1184 -#define _dPC3 1216 -#define _dPC4 1248 -#define _dPC5 1280 -#define _lExpMask 1312 -#define _iIndexMask 1344 -#define _iAbsMask 1376 -#define _iDomainRange 1408 +#define _dbT 0 +#define _dbLg2_10 1024 +#define _dbShifter 1056 +#define _dbInvLg2_10hi 1088 +#define _dbInvLg2_10lo 1120 +#define _dPC1 1152 +#define _dPC2 1184 +#define _dPC3 1216 +#define _dPC4 1248 +#define _dPC5 1280 +#define _lExpMask 1312 +#define _iIndexMask 1344 +#define _iAbsMask 1376 +#define _iDomainRange 1408 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_exp10_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea __svml_dexp10_data_internal(%rip), %r8 - vmovapd %ymm0, %ymm2 - vmovupd _dbShifter+__svml_dexp10_data_internal(%rip), %ymm3 - -/* Load arument */ - vmovupd _dbLg2_10+__svml_dexp10_data_internal(%rip), %ymm0 - vfmadd213pd %ymm3, %ymm2, %ymm0 - vsubpd %ymm3, %ymm0, %ymm1 - -/* R */ - vmovupd _dbInvLg2_10hi+__svml_dexp10_data_internal(%rip), %ymm3 - vfnmadd213pd %ymm2, %ymm1, %ymm3 - -/* Check for overflow\underflow */ - vextractf128 $1, %ymm2, %xmm4 - vfnmadd132pd _dbInvLg2_10lo+__svml_dexp10_data_internal(%rip), %ymm3, %ymm1 - vshufps $221, %xmm4, %xmm2, %xmm5 - vandps _iAbsMask+__svml_dexp10_data_internal(%rip), %xmm5, %xmm6 - vpcmpgtd _iDomainRange+__svml_dexp10_data_internal(%rip), %xmm6, %xmm7 - -/* - * Polynomial - * poly(dN) = a1*dR+...+a5*dR^5 - */ - vmovupd _dPC5+__svml_dexp10_data_internal(%rip), %ymm4 - vmovmskps %xmm7, %eax - vfmadd213pd _dPC4+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 - vfmadd213pd _dPC3+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 - vfmadd213pd _dPC2+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 - -/* a1+...+a5*dR^4 ! */ - vfmadd213pd _dPC1+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 - -/* a1*dR+...+a5*dR^5 */ - vmulpd %ymm4, %ymm1, %ymm1 - -/* Index and lookup */ - vextractf128 $1, %ymm0, %xmm8 - vshufps $136, %xmm8, %xmm0, %xmm9 - vandps _iIndexMask+__svml_dexp10_data_internal(%rip), %xmm9, %xmm10 - -/* iIndex*=sizeof(D); */ - vpslld $3, %xmm10, %xmm13 - vmovd %xmm13, %edx - -/* 2^N */ - vpsllq $45, %ymm0, %ymm0 - vpextrd $2, %xmm13, %esi - movslq %edx, %rdx - vpextrd $1, %xmm13, %ecx - movslq %esi, %rsi - vpextrd $3, %xmm13, %edi - movslq %ecx, %rcx - movslq %edi, %rdi - vmovsd (%r8,%rdx), %xmm11 - vmovsd (%r8,%rsi), %xmm14 - vmovhpd (%r8,%rcx), %xmm11, %xmm12 - vmovhpd (%r8,%rdi), %xmm14, %xmm15 - -/* lM==EXP(2^N) */ - vpand _lExpMask+__svml_dexp10_data_internal(%rip), %ymm0, %ymm6 - vinsertf128 $1, %xmm15, %ymm12, %ymm5 - -/* Tj*poly */ - vfmadd213pd %ymm5, %ymm5, %ymm1 - -/* quick 2^N */ - vpaddq %ymm6, %ymm1, %ymm0 - -/* Finish */ - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea __svml_dexp10_data_internal(%rip), %r8 + vmovapd %ymm0, %ymm2 + vmovupd _dbShifter+__svml_dexp10_data_internal(%rip), %ymm3 + + /* Load arument */ + vmovupd _dbLg2_10+__svml_dexp10_data_internal(%rip), %ymm0 + vfmadd213pd %ymm3, %ymm2, %ymm0 + vsubpd %ymm3, %ymm0, %ymm1 + + /* R */ + vmovupd _dbInvLg2_10hi+__svml_dexp10_data_internal(%rip), %ymm3 + vfnmadd213pd %ymm2, %ymm1, %ymm3 + + /* Check for overflow\underflow */ + vextractf128 $1, %ymm2, %xmm4 + vfnmadd132pd _dbInvLg2_10lo+__svml_dexp10_data_internal(%rip), %ymm3, %ymm1 + vshufps $221, %xmm4, %xmm2, %xmm5 + vandps _iAbsMask+__svml_dexp10_data_internal(%rip), %xmm5, %xmm6 + vpcmpgtd _iDomainRange+__svml_dexp10_data_internal(%rip), %xmm6, %xmm7 + + /* + * Polynomial + * poly(dN) = a1*dR+...+a5*dR^5 + */ + vmovupd _dPC5+__svml_dexp10_data_internal(%rip), %ymm4 + vmovmskps %xmm7, %eax + vfmadd213pd _dPC4+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 + vfmadd213pd _dPC3+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 + vfmadd213pd _dPC2+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 + + /* a1+...+a5*dR^4 ! */ + vfmadd213pd _dPC1+__svml_dexp10_data_internal(%rip), %ymm1, %ymm4 + + /* a1*dR+...+a5*dR^5 */ + vmulpd %ymm4, %ymm1, %ymm1 + + /* Index and lookup */ + vextractf128 $1, %ymm0, %xmm8 + vshufps $136, %xmm8, %xmm0, %xmm9 + vandps _iIndexMask+__svml_dexp10_data_internal(%rip), %xmm9, %xmm10 + + /* iIndex*=sizeof(D); */ + vpslld $3, %xmm10, %xmm13 + vmovd %xmm13, %edx + + /* 2^N */ + vpsllq $45, %ymm0, %ymm0 + vpextrd $2, %xmm13, %esi + movslq %edx, %rdx + vpextrd $1, %xmm13, %ecx + movslq %esi, %rsi + vpextrd $3, %xmm13, %edi + movslq %ecx, %rcx + movslq %edi, %rdi + vmovsd (%r8, %rdx), %xmm11 + vmovsd (%r8, %rsi), %xmm14 + vmovhpd (%r8, %rcx), %xmm11, %xmm12 + vmovhpd (%r8, %rdi), %xmm14, %xmm15 + + /* lM==EXP(2^N) */ + vpand _lExpMask+__svml_dexp10_data_internal(%rip), %ymm0, %ymm6 + vinsertf128 $1, %xmm15, %ymm12, %ymm5 + + /* Tj*poly */ + vfmadd213pd %ymm5, %ymm5, %ymm1 + + /* quick 2^N */ + vpaddq %ymm6, %ymm1, %ymm0 + + /* Finish */ + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm2, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 - - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm2, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 + + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call exp10@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call exp10@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_exp10_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dexp10_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dbT[(1<<7)][2]; - __declspec(align(32)) VUINT32 _dbLg2_10[4][2]; - __declspec(align(32)) VUINT32 _dbShifter[4][2]; - __declspec(align(32)) VUINT32 _dbInvLg2_10hi[4][2]; - __declspec(align(32)) VUINT32 _dbInvLg2_10lo[4][2]; - __declspec(align(32)) VUINT32 _dPC1[4][2]; - __declspec(align(32)) VUINT32 _dPC2[4][2]; - __declspec(align(32)) VUINT32 _dPC3[4][2]; - __declspec(align(32)) VUINT32 _dPC4[4][2]; - __declspec(align(32)) VUINT32 _dPC5[4][2]; - __declspec(align(32)) VUINT32 _lExpMask[4][2]; - __declspec(align(32)) VUINT32 _iIndexMask[8][1]; - __declspec(align(32)) VUINT32 _iAbsMask[8][1]; - __declspec(align(32)) VUINT32 _iDomainRange[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _dbT[(1<<7)][2]; + __declspec(align(32)) VUINT32 _dbLg2_10[4][2]; + __declspec(align(32)) VUINT32 _dbShifter[4][2]; + __declspec(align(32)) VUINT32 _dbInvLg2_10hi[4][2]; + __declspec(align(32)) VUINT32 _dbInvLg2_10lo[4][2]; + __declspec(align(32)) VUINT32 _dPC1[4][2]; + __declspec(align(32)) VUINT32 _dPC2[4][2]; + __declspec(align(32)) VUINT32 _dPC3[4][2]; + __declspec(align(32)) VUINT32 _dPC4[4][2]; + __declspec(align(32)) VUINT32 _dPC5[4][2]; + __declspec(align(32)) VUINT32 _lExpMask[4][2]; + __declspec(align(32)) VUINT32 _iIndexMask[8][1]; + __declspec(align(32)) VUINT32 _iAbsMask[8][1]; + __declspec(align(32)) VUINT32 _iDomainRange[8][1]; } __svml_dexp10_data_internal; #endif __svml_dexp10_data_internal: - /*== _dbT ==*/ - .quad 0x3ff0000000000000 /*2^( 0 /128)*/ - .quad 0x3ff0163da9fb3335 /*2^( 1 /128)*/ - .quad 0x3ff02c9a3e778061 /*2^( 2 /128)*/ - .quad 0x3ff04315e86e7f85 /*2^( 3 /128)*/ - .quad 0x3ff059b0d3158574 /*2^( 4 /128)*/ - .quad 0x3ff0706b29ddf6de /*2^( 5 /128)*/ - .quad 0x3ff0874518759bc8 /*2^( 6 /128)*/ - .quad 0x3ff09e3ecac6f383 /*2^( 7 /128)*/ - .quad 0x3ff0b5586cf9890f /*2^( 8 /128)*/ - .quad 0x3ff0cc922b7247f7 /*2^( 9 /128)*/ - .quad 0x3ff0e3ec32d3d1a2 /*2^( 10 /128)*/ - .quad 0x3ff0fb66affed31b /*2^( 11 /128)*/ - .quad 0x3ff11301d0125b51 /*2^( 12 /128)*/ - .quad 0x3ff12abdc06c31cc /*2^( 13 /128)*/ - .quad 0x3ff1429aaea92de0 /*2^( 14 /128)*/ - .quad 0x3ff15a98c8a58e51 /*2^( 15 /128)*/ - .quad 0x3ff172b83c7d517b /*2^( 16 /128)*/ - .quad 0x3ff18af9388c8dea /*2^( 17 /128)*/ - .quad 0x3ff1a35beb6fcb75 /*2^( 18 /128)*/ - .quad 0x3ff1bbe084045cd4 /*2^( 19 /128)*/ - .quad 0x3ff1d4873168b9aa /*2^( 20 /128)*/ - .quad 0x3ff1ed5022fcd91d /*2^( 21 /128)*/ - .quad 0x3ff2063b88628cd6 /*2^( 22 /128)*/ - .quad 0x3ff21f49917ddc96 /*2^( 23 /128)*/ - .quad 0x3ff2387a6e756238 /*2^( 24 /128)*/ - .quad 0x3ff251ce4fb2a63f /*2^( 25 /128)*/ - .quad 0x3ff26b4565e27cdd /*2^( 26 /128)*/ - .quad 0x3ff284dfe1f56381 /*2^( 27 /128)*/ - .quad 0x3ff29e9df51fdee1 /*2^( 28 /128)*/ - .quad 0x3ff2b87fd0dad990 /*2^( 29 /128)*/ - .quad 0x3ff2d285a6e4030b /*2^( 30 /128)*/ - .quad 0x3ff2ecafa93e2f56 /*2^( 31 /128)*/ - .quad 0x3ff306fe0a31b715 /*2^( 32 /128)*/ - .quad 0x3ff32170fc4cd831 /*2^( 33 /128)*/ - .quad 0x3ff33c08b26416ff /*2^( 34 /128)*/ - .quad 0x3ff356c55f929ff1 /*2^( 35 /128)*/ - .quad 0x3ff371a7373aa9cb /*2^( 36 /128)*/ - .quad 0x3ff38cae6d05d866 /*2^( 37 /128)*/ - .quad 0x3ff3a7db34e59ff7 /*2^( 38 /128)*/ - .quad 0x3ff3c32dc313a8e5 /*2^( 39 /128)*/ - .quad 0x3ff3dea64c123422 /*2^( 40 /128)*/ - .quad 0x3ff3fa4504ac801c /*2^( 41 /128)*/ - .quad 0x3ff4160a21f72e2a /*2^( 42 /128)*/ - .quad 0x3ff431f5d950a897 /*2^( 43 /128)*/ - .quad 0x3ff44e086061892d /*2^( 44 /128)*/ - .quad 0x3ff46a41ed1d0057 /*2^( 45 /128)*/ - .quad 0x3ff486a2b5c13cd0 /*2^( 46 /128)*/ - .quad 0x3ff4a32af0d7d3de /*2^( 47 /128)*/ - .quad 0x3ff4bfdad5362a27 /*2^( 48 /128)*/ - .quad 0x3ff4dcb299fddd0d /*2^( 49 /128)*/ - .quad 0x3ff4f9b2769d2ca7 /*2^( 50 /128)*/ - .quad 0x3ff516daa2cf6642 /*2^( 51 /128)*/ - .quad 0x3ff5342b569d4f82 /*2^( 52 /128)*/ - .quad 0x3ff551a4ca5d920f /*2^( 53 /128)*/ - .quad 0x3ff56f4736b527da /*2^( 54 /128)*/ - .quad 0x3ff58d12d497c7fd /*2^( 55 /128)*/ - .quad 0x3ff5ab07dd485429 /*2^( 56 /128)*/ - .quad 0x3ff5c9268a5946b7 /*2^( 57 /128)*/ - .quad 0x3ff5e76f15ad2148 /*2^( 58 /128)*/ - .quad 0x3ff605e1b976dc09 /*2^( 59 /128)*/ - .quad 0x3ff6247eb03a5585 /*2^( 60 /128)*/ - .quad 0x3ff6434634ccc320 /*2^( 61 /128)*/ - .quad 0x3ff6623882552225 /*2^( 62 /128)*/ - .quad 0x3ff68155d44ca973 /*2^( 63 /128)*/ - .quad 0x3ff6a09e667f3bcd /*2^( 64 /128)*/ - .quad 0x3ff6c012750bdabf /*2^( 65 /128)*/ - .quad 0x3ff6dfb23c651a2f /*2^( 66 /128)*/ - .quad 0x3ff6ff7df9519484 /*2^( 67 /128)*/ - .quad 0x3ff71f75e8ec5f74 /*2^( 68 /128)*/ - .quad 0x3ff73f9a48a58174 /*2^( 69 /128)*/ - .quad 0x3ff75feb564267c9 /*2^( 70 /128)*/ - .quad 0x3ff780694fde5d3f /*2^( 71 /128)*/ - .quad 0x3ff7a11473eb0187 /*2^( 72 /128)*/ - .quad 0x3ff7c1ed0130c132 /*2^( 73 /128)*/ - .quad 0x3ff7e2f336cf4e62 /*2^( 74 /128)*/ - .quad 0x3ff80427543e1a12 /*2^( 75 /128)*/ - .quad 0x3ff82589994cce13 /*2^( 76 /128)*/ - .quad 0x3ff8471a4623c7ad /*2^( 77 /128)*/ - .quad 0x3ff868d99b4492ed /*2^( 78 /128)*/ - .quad 0x3ff88ac7d98a6699 /*2^( 79 /128)*/ - .quad 0x3ff8ace5422aa0db /*2^( 80 /128)*/ - .quad 0x3ff8cf3216b5448c /*2^( 81 /128)*/ - .quad 0x3ff8f1ae99157736 /*2^( 82 /128)*/ - .quad 0x3ff9145b0b91ffc6 /*2^( 83 /128)*/ - .quad 0x3ff93737b0cdc5e5 /*2^( 84 /128)*/ - .quad 0x3ff95a44cbc8520f /*2^( 85 /128)*/ - .quad 0x3ff97d829fde4e50 /*2^( 86 /128)*/ - .quad 0x3ff9a0f170ca07ba /*2^( 87 /128)*/ - .quad 0x3ff9c49182a3f090 /*2^( 88 /128)*/ - .quad 0x3ff9e86319e32323 /*2^( 89 /128)*/ - .quad 0x3ffa0c667b5de565 /*2^( 90 /128)*/ - .quad 0x3ffa309bec4a2d33 /*2^( 91 /128)*/ - .quad 0x3ffa5503b23e255d /*2^( 92 /128)*/ - .quad 0x3ffa799e1330b358 /*2^( 93 /128)*/ - .quad 0x3ffa9e6b5579fdbf /*2^( 94 /128)*/ - .quad 0x3ffac36bbfd3f37a /*2^( 95 /128)*/ - .quad 0x3ffae89f995ad3ad /*2^( 96 /128)*/ - .quad 0x3ffb0e07298db666 /*2^( 97 /128)*/ - .quad 0x3ffb33a2b84f15fb /*2^( 98 /128)*/ - .quad 0x3ffb59728de5593a /*2^( 99 /128)*/ - .quad 0x3ffb7f76f2fb5e47 /*2^( 100 /128)*/ - .quad 0x3ffba5b030a1064a /*2^( 101 /128)*/ - .quad 0x3ffbcc1e904bc1d2 /*2^( 102 /128)*/ - .quad 0x3ffbf2c25bd71e09 /*2^( 103 /128)*/ - .quad 0x3ffc199bdd85529c /*2^( 104 /128)*/ - .quad 0x3ffc40ab5fffd07a /*2^( 105 /128)*/ - .quad 0x3ffc67f12e57d14b /*2^( 106 /128)*/ - .quad 0x3ffc8f6d9406e7b5 /*2^( 107 /128)*/ - .quad 0x3ffcb720dcef9069 /*2^( 108 /128)*/ - .quad 0x3ffcdf0b555dc3fa /*2^( 109 /128)*/ - .quad 0x3ffd072d4a07897c /*2^( 110 /128)*/ - .quad 0x3ffd2f87080d89f2 /*2^( 111 /128)*/ - .quad 0x3ffd5818dcfba487 /*2^( 112 /128)*/ - .quad 0x3ffd80e316c98398 /*2^( 113 /128)*/ - .quad 0x3ffda9e603db3285 /*2^( 114 /128)*/ - .quad 0x3ffdd321f301b460 /*2^( 115 /128)*/ - .quad 0x3ffdfc97337b9b5f /*2^( 116 /128)*/ - .quad 0x3ffe264614f5a129 /*2^( 117 /128)*/ - .quad 0x3ffe502ee78b3ff6 /*2^( 118 /128)*/ - .quad 0x3ffe7a51fbc74c83 /*2^( 119 /128)*/ - .quad 0x3ffea4afa2a490da /*2^( 120 /128)*/ - .quad 0x3ffecf482d8e67f1 /*2^( 121 /128)*/ - .quad 0x3ffefa1bee615a27 /*2^( 122 /128)*/ - .quad 0x3fff252b376bba97 /*2^( 123 /128)*/ - .quad 0x3fff50765b6e4540 /*2^( 124 /128)*/ - .quad 0x3fff7bfdad9cbe14 /*2^( 125 /128)*/ - .quad 0x3fffa7c1819e90d8 /*2^( 126 /128)*/ - .quad 0x3fffd3c22b8f71f1 /*2^( 127 /128)*/ - .align 32 - .quad 0x407a934f0979a371, 0x407a934f0979a371, 0x407a934f0979a371, 0x407a934f0979a371 /* _dbLg2_10*2^K */ - .align 32 - .quad 0x4338800000000000, 0x4338800000000000, 0x4338800000000000, 0x4338800000000000 /* _dbShifter */ - .align 32 - .quad 0x3f63441350a00000, 0x3f63441350a00000, 0x3f63441350a00000, 0x3f63441350a00000 /* _dbInvLg2_10hi/2^K 53-11-K bits*/ - .align 32 - .quad 0xbd10c0219dc1da99, 0xbd10c0219dc1da99, 0xbd10c0219dc1da99, 0xbd10c0219dc1da99 /* _dbInvLg2_10lo/2^K */ - //PC0 = 1.0 - .align 32 - .quad 0x40026bb1bbb55516, 0x40026bb1bbb55516, 0x40026bb1bbb55516, 0x40026bb1bbb55516 /* _dPC1 */ - .align 32 - .quad 0x40053524c73ce8e3, 0x40053524c73ce8e3, 0x40053524c73ce8e3, 0x40053524c73ce8e3 /* _dPC2 */ - .align 32 - .quad 0x4000470591ccea8b, 0x4000470591ccea8b, 0x4000470591ccea8b, 0x4000470591ccea8b /* _dPC3 */ - .align 32 - .quad 0x3ff2bd767584db59, 0x3ff2bd767584db59, 0x3ff2bd767584db59, 0x3ff2bd767584db59 /* _dPC4 */ - .align 32 - .quad 0x3fe144c03efafb54, 0x3fe144c03efafb54, 0x3fe144c03efafb54, 0x3fe144c03efafb54 /* _dPC5 */ - .align 32 - .quad 0xfff0000000000000, 0xfff0000000000000, 0xfff0000000000000, 0xfff0000000000000 /* _lExpMask */ - .align 32 - .long 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f /* _iIndexMask =(2^K-1)*/ - //common - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 32 - .long 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70 /* _iDomainRange */ - .align 32 - .type __svml_dexp10_data_internal,@object - .size __svml_dexp10_data_internal,.-__svml_dexp10_data_internal + /* _dbT */ + .quad 0x3ff0000000000000 /* 2^( 0 /128) */ + .quad 0x3ff0163da9fb3335 /* 2^( 1 /128) */ + .quad 0x3ff02c9a3e778061 /* 2^( 2 /128) */ + .quad 0x3ff04315e86e7f85 /* 2^( 3 /128) */ + .quad 0x3ff059b0d3158574 /* 2^( 4 /128) */ + .quad 0x3ff0706b29ddf6de /* 2^( 5 /128) */ + .quad 0x3ff0874518759bc8 /* 2^( 6 /128) */ + .quad 0x3ff09e3ecac6f383 /* 2^( 7 /128) */ + .quad 0x3ff0b5586cf9890f /* 2^( 8 /128) */ + .quad 0x3ff0cc922b7247f7 /* 2^( 9 /128) */ + .quad 0x3ff0e3ec32d3d1a2 /* 2^( 10 /128) */ + .quad 0x3ff0fb66affed31b /* 2^( 11 /128) */ + .quad 0x3ff11301d0125b51 /* 2^( 12 /128) */ + .quad 0x3ff12abdc06c31cc /* 2^( 13 /128) */ + .quad 0x3ff1429aaea92de0 /* 2^( 14 /128) */ + .quad 0x3ff15a98c8a58e51 /* 2^( 15 /128) */ + .quad 0x3ff172b83c7d517b /* 2^( 16 /128) */ + .quad 0x3ff18af9388c8dea /* 2^( 17 /128) */ + .quad 0x3ff1a35beb6fcb75 /* 2^( 18 /128) */ + .quad 0x3ff1bbe084045cd4 /* 2^( 19 /128) */ + .quad 0x3ff1d4873168b9aa /* 2^( 20 /128) */ + .quad 0x3ff1ed5022fcd91d /* 2^( 21 /128) */ + .quad 0x3ff2063b88628cd6 /* 2^( 22 /128) */ + .quad 0x3ff21f49917ddc96 /* 2^( 23 /128) */ + .quad 0x3ff2387a6e756238 /* 2^( 24 /128) */ + .quad 0x3ff251ce4fb2a63f /* 2^( 25 /128) */ + .quad 0x3ff26b4565e27cdd /* 2^( 26 /128) */ + .quad 0x3ff284dfe1f56381 /* 2^( 27 /128) */ + .quad 0x3ff29e9df51fdee1 /* 2^( 28 /128) */ + .quad 0x3ff2b87fd0dad990 /* 2^( 29 /128) */ + .quad 0x3ff2d285a6e4030b /* 2^( 30 /128) */ + .quad 0x3ff2ecafa93e2f56 /* 2^( 31 /128) */ + .quad 0x3ff306fe0a31b715 /* 2^( 32 /128) */ + .quad 0x3ff32170fc4cd831 /* 2^( 33 /128) */ + .quad 0x3ff33c08b26416ff /* 2^( 34 /128) */ + .quad 0x3ff356c55f929ff1 /* 2^( 35 /128) */ + .quad 0x3ff371a7373aa9cb /* 2^( 36 /128) */ + .quad 0x3ff38cae6d05d866 /* 2^( 37 /128) */ + .quad 0x3ff3a7db34e59ff7 /* 2^( 38 /128) */ + .quad 0x3ff3c32dc313a8e5 /* 2^( 39 /128) */ + .quad 0x3ff3dea64c123422 /* 2^( 40 /128) */ + .quad 0x3ff3fa4504ac801c /* 2^( 41 /128) */ + .quad 0x3ff4160a21f72e2a /* 2^( 42 /128) */ + .quad 0x3ff431f5d950a897 /* 2^( 43 /128) */ + .quad 0x3ff44e086061892d /* 2^( 44 /128) */ + .quad 0x3ff46a41ed1d0057 /* 2^( 45 /128) */ + .quad 0x3ff486a2b5c13cd0 /* 2^( 46 /128) */ + .quad 0x3ff4a32af0d7d3de /* 2^( 47 /128) */ + .quad 0x3ff4bfdad5362a27 /* 2^( 48 /128) */ + .quad 0x3ff4dcb299fddd0d /* 2^( 49 /128) */ + .quad 0x3ff4f9b2769d2ca7 /* 2^( 50 /128) */ + .quad 0x3ff516daa2cf6642 /* 2^( 51 /128) */ + .quad 0x3ff5342b569d4f82 /* 2^( 52 /128) */ + .quad 0x3ff551a4ca5d920f /* 2^( 53 /128) */ + .quad 0x3ff56f4736b527da /* 2^( 54 /128) */ + .quad 0x3ff58d12d497c7fd /* 2^( 55 /128) */ + .quad 0x3ff5ab07dd485429 /* 2^( 56 /128) */ + .quad 0x3ff5c9268a5946b7 /* 2^( 57 /128) */ + .quad 0x3ff5e76f15ad2148 /* 2^( 58 /128) */ + .quad 0x3ff605e1b976dc09 /* 2^( 59 /128) */ + .quad 0x3ff6247eb03a5585 /* 2^( 60 /128) */ + .quad 0x3ff6434634ccc320 /* 2^( 61 /128) */ + .quad 0x3ff6623882552225 /* 2^( 62 /128) */ + .quad 0x3ff68155d44ca973 /* 2^( 63 /128) */ + .quad 0x3ff6a09e667f3bcd /* 2^( 64 /128) */ + .quad 0x3ff6c012750bdabf /* 2^( 65 /128) */ + .quad 0x3ff6dfb23c651a2f /* 2^( 66 /128) */ + .quad 0x3ff6ff7df9519484 /* 2^( 67 /128) */ + .quad 0x3ff71f75e8ec5f74 /* 2^( 68 /128) */ + .quad 0x3ff73f9a48a58174 /* 2^( 69 /128) */ + .quad 0x3ff75feb564267c9 /* 2^( 70 /128) */ + .quad 0x3ff780694fde5d3f /* 2^( 71 /128) */ + .quad 0x3ff7a11473eb0187 /* 2^( 72 /128) */ + .quad 0x3ff7c1ed0130c132 /* 2^( 73 /128) */ + .quad 0x3ff7e2f336cf4e62 /* 2^( 74 /128) */ + .quad 0x3ff80427543e1a12 /* 2^( 75 /128) */ + .quad 0x3ff82589994cce13 /* 2^( 76 /128) */ + .quad 0x3ff8471a4623c7ad /* 2^( 77 /128) */ + .quad 0x3ff868d99b4492ed /* 2^( 78 /128) */ + .quad 0x3ff88ac7d98a6699 /* 2^( 79 /128) */ + .quad 0x3ff8ace5422aa0db /* 2^( 80 /128) */ + .quad 0x3ff8cf3216b5448c /* 2^( 81 /128) */ + .quad 0x3ff8f1ae99157736 /* 2^( 82 /128) */ + .quad 0x3ff9145b0b91ffc6 /* 2^( 83 /128) */ + .quad 0x3ff93737b0cdc5e5 /* 2^( 84 /128) */ + .quad 0x3ff95a44cbc8520f /* 2^( 85 /128) */ + .quad 0x3ff97d829fde4e50 /* 2^( 86 /128) */ + .quad 0x3ff9a0f170ca07ba /* 2^( 87 /128) */ + .quad 0x3ff9c49182a3f090 /* 2^( 88 /128) */ + .quad 0x3ff9e86319e32323 /* 2^( 89 /128) */ + .quad 0x3ffa0c667b5de565 /* 2^( 90 /128) */ + .quad 0x3ffa309bec4a2d33 /* 2^( 91 /128) */ + .quad 0x3ffa5503b23e255d /* 2^( 92 /128) */ + .quad 0x3ffa799e1330b358 /* 2^( 93 /128) */ + .quad 0x3ffa9e6b5579fdbf /* 2^( 94 /128) */ + .quad 0x3ffac36bbfd3f37a /* 2^( 95 /128) */ + .quad 0x3ffae89f995ad3ad /* 2^( 96 /128) */ + .quad 0x3ffb0e07298db666 /* 2^( 97 /128) */ + .quad 0x3ffb33a2b84f15fb /* 2^( 98 /128) */ + .quad 0x3ffb59728de5593a /* 2^( 99 /128) */ + .quad 0x3ffb7f76f2fb5e47 /* 2^( 100 /128) */ + .quad 0x3ffba5b030a1064a /* 2^( 101 /128) */ + .quad 0x3ffbcc1e904bc1d2 /* 2^( 102 /128) */ + .quad 0x3ffbf2c25bd71e09 /* 2^( 103 /128) */ + .quad 0x3ffc199bdd85529c /* 2^( 104 /128) */ + .quad 0x3ffc40ab5fffd07a /* 2^( 105 /128) */ + .quad 0x3ffc67f12e57d14b /* 2^( 106 /128) */ + .quad 0x3ffc8f6d9406e7b5 /* 2^( 107 /128) */ + .quad 0x3ffcb720dcef9069 /* 2^( 108 /128) */ + .quad 0x3ffcdf0b555dc3fa /* 2^( 109 /128) */ + .quad 0x3ffd072d4a07897c /* 2^( 110 /128) */ + .quad 0x3ffd2f87080d89f2 /* 2^( 111 /128) */ + .quad 0x3ffd5818dcfba487 /* 2^( 112 /128) */ + .quad 0x3ffd80e316c98398 /* 2^( 113 /128) */ + .quad 0x3ffda9e603db3285 /* 2^( 114 /128) */ + .quad 0x3ffdd321f301b460 /* 2^( 115 /128) */ + .quad 0x3ffdfc97337b9b5f /* 2^( 116 /128) */ + .quad 0x3ffe264614f5a129 /* 2^( 117 /128) */ + .quad 0x3ffe502ee78b3ff6 /* 2^( 118 /128) */ + .quad 0x3ffe7a51fbc74c83 /* 2^( 119 /128) */ + .quad 0x3ffea4afa2a490da /* 2^( 120 /128) */ + .quad 0x3ffecf482d8e67f1 /* 2^( 121 /128) */ + .quad 0x3ffefa1bee615a27 /* 2^( 122 /128) */ + .quad 0x3fff252b376bba97 /* 2^( 123 /128) */ + .quad 0x3fff50765b6e4540 /* 2^( 124 /128) */ + .quad 0x3fff7bfdad9cbe14 /* 2^( 125 /128) */ + .quad 0x3fffa7c1819e90d8 /* 2^( 126 /128) */ + .quad 0x3fffd3c22b8f71f1 /* 2^( 127 /128) */ + .align 32 + .quad 0x407a934f0979a371, 0x407a934f0979a371, 0x407a934f0979a371, 0x407a934f0979a371 /* _dbLg2_10*2^K */ + .align 32 + .quad 0x4338800000000000, 0x4338800000000000, 0x4338800000000000, 0x4338800000000000 /* _dbShifter */ + .align 32 + .quad 0x3f63441350a00000, 0x3f63441350a00000, 0x3f63441350a00000, 0x3f63441350a00000 /* _dbInvLg2_10hi/2^K 53-11-K bits */ + .align 32 + .quad 0xbd10c0219dc1da99, 0xbd10c0219dc1da99, 0xbd10c0219dc1da99, 0xbd10c0219dc1da99 /* _dbInvLg2_10lo/2^K */ + //PC0 = 1.0 + .align 32 + .quad 0x40026bb1bbb55516, 0x40026bb1bbb55516, 0x40026bb1bbb55516, 0x40026bb1bbb55516 /* _dPC1 */ + .align 32 + .quad 0x40053524c73ce8e3, 0x40053524c73ce8e3, 0x40053524c73ce8e3, 0x40053524c73ce8e3 /* _dPC2 */ + .align 32 + .quad 0x4000470591ccea8b, 0x4000470591ccea8b, 0x4000470591ccea8b, 0x4000470591ccea8b /* _dPC3 */ + .align 32 + .quad 0x3ff2bd767584db59, 0x3ff2bd767584db59, 0x3ff2bd767584db59, 0x3ff2bd767584db59 /* _dPC4 */ + .align 32 + .quad 0x3fe144c03efafb54, 0x3fe144c03efafb54, 0x3fe144c03efafb54, 0x3fe144c03efafb54 /* _dPC5 */ + .align 32 + .quad 0xfff0000000000000, 0xfff0000000000000, 0xfff0000000000000, 0xfff0000000000000 /* _lExpMask */ + .align 32 + .long 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f /* _iIndexMask =(2^K-1) */ + //common + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 32 + .long 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70, 0x40733a70 /* _iDomainRange */ + .align 32 + .type __svml_dexp10_data_internal, @object + .size __svml_dexp10_data_internal, .-__svml_dexp10_data_internal From patchwork Mon Mar 7 15:01:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602279 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=n7M6t+qt; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2XJ4ChJz9sFk for ; Tue, 8 Mar 2022 02:32:48 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7156B3858428 for ; Mon, 7 Mar 2022 15:32:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7156B3858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667166; bh=jF/SWWXpz+s4sE+oik+ZPeNZBP4Ith2Fa963u2vg1kQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=n7M6t+qtlRIkRUsqZhE5UXrHTztGW0OhM5gEe5pM7E8tW+kAvxe0vHHBVuvCEMMvz rRBZjjSJ1bG+FZEaQrQAdePoBnjdCwjzX6GOIZjF0zJJAupvj1wLzBqpzIGDVwqXiI gPvjT6bIS/Z4r0TqSz79+O8MCWxOkkCHwtmgnKFQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 44AC33858431 for ; Mon, 7 Mar 2022 15:02:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 44AC33858431 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347788" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347788" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526494" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ek016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 072/126] x86_64: Fix svml_d_exp108_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:07 -0800 Message-Id: <20220307150201.10590-73-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_exp108_core_avx512.S | 457 +++++++++--------- 1 file changed, 228 insertions(+), 229 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S index bfd37be863..40b01c3cd0 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp108_core_avx512.S @@ -30,258 +30,257 @@ /* Offsets for data table __svml_dexp10_data_internal_avx512 */ -#define Exp_tbl_H 0 -#define L2E 128 -#define Shifter 192 -#define L2H 256 -#define L2L 320 -#define EMask 384 -#define poly_coeff6 448 -#define poly_coeff5 512 -#define poly_coeff4 576 -#define poly_coeff3 640 -#define poly_coeff2 704 -#define poly_coeff1 768 -#define AbsMask 832 -#define Threshold 896 +#define Exp_tbl_H 0 +#define L2E 128 +#define Shifter 192 +#define L2H 256 +#define L2L 320 +#define EMask 384 +#define poly_coeff6 448 +#define poly_coeff5 512 +#define poly_coeff4 576 +#define poly_coeff3 640 +#define poly_coeff2 704 +#define poly_coeff1 768 +#define AbsMask 832 +#define Threshold 896 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_exp10_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups L2E+__svml_dexp10_data_internal_avx512(%rip), %zmm4 - vmovups Shifter+__svml_dexp10_data_internal_avx512(%rip), %zmm2 - vmovups L2H+__svml_dexp10_data_internal_avx512(%rip), %zmm5 - vmovups L2L+__svml_dexp10_data_internal_avx512(%rip), %zmm3 - -/* polynomial */ - vmovups poly_coeff6+__svml_dexp10_data_internal_avx512(%rip), %zmm6 - vmovups poly_coeff4+__svml_dexp10_data_internal_avx512(%rip), %zmm7 - vmovups poly_coeff3+__svml_dexp10_data_internal_avx512(%rip), %zmm9 - vmovups poly_coeff2+__svml_dexp10_data_internal_avx512(%rip), %zmm8 - vmovups poly_coeff1+__svml_dexp10_data_internal_avx512(%rip), %zmm11 - vmovups Threshold+__svml_dexp10_data_internal_avx512(%rip), %zmm14 - vmovaps %zmm0, %zmm1 - -/* 2^(52-4)*1.5 + x * log2(e) */ - vfmadd213pd {rz-sae}, %zmm2, %zmm1, %zmm4 - vandpd AbsMask+__svml_dexp10_data_internal_avx512(%rip), %zmm1, %zmm13 - -/* Z0 ~ x*log2(e), rounded down to 4 fractional bits */ - vsubpd {rn-sae}, %zmm2, %zmm4, %zmm0 - -/* Table lookup: Th */ - vmovups __svml_dexp10_data_internal_avx512(%rip), %zmm2 - vcmppd $29, {sae}, %zmm14, %zmm13, %k0 - -/* R = x - Z0*log(2) */ - vfnmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm5 - vpermt2pd Exp_tbl_H+64+__svml_dexp10_data_internal_avx512(%rip), %zmm4, %zmm2 - kmovw %k0, %edx - vfnmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm5 - vmovups poly_coeff5+__svml_dexp10_data_internal_avx512(%rip), %zmm3 - -/* ensure |R|<2 even for special cases */ - vandpd EMask+__svml_dexp10_data_internal_avx512(%rip), %zmm5, %zmm12 - vmulpd {rn-sae}, %zmm12, %zmm12, %zmm10 - vmulpd {rn-sae}, %zmm12, %zmm2, %zmm15 - vfmadd231pd {rn-sae}, %zmm12, %zmm6, %zmm3 - vfmadd231pd {rn-sae}, %zmm12, %zmm7, %zmm9 - vfmadd231pd {rn-sae}, %zmm12, %zmm8, %zmm11 - vfmadd213pd {rn-sae}, %zmm9, %zmm10, %zmm3 - vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm3 - vfmadd213pd {rn-sae}, %zmm2, %zmm15, %zmm3 - vscalefpd {rn-sae}, %zmm0, %zmm3, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups L2E+__svml_dexp10_data_internal_avx512(%rip), %zmm4 + vmovups Shifter+__svml_dexp10_data_internal_avx512(%rip), %zmm2 + vmovups L2H+__svml_dexp10_data_internal_avx512(%rip), %zmm5 + vmovups L2L+__svml_dexp10_data_internal_avx512(%rip), %zmm3 + + /* polynomial */ + vmovups poly_coeff6+__svml_dexp10_data_internal_avx512(%rip), %zmm6 + vmovups poly_coeff4+__svml_dexp10_data_internal_avx512(%rip), %zmm7 + vmovups poly_coeff3+__svml_dexp10_data_internal_avx512(%rip), %zmm9 + vmovups poly_coeff2+__svml_dexp10_data_internal_avx512(%rip), %zmm8 + vmovups poly_coeff1+__svml_dexp10_data_internal_avx512(%rip), %zmm11 + vmovups Threshold+__svml_dexp10_data_internal_avx512(%rip), %zmm14 + vmovaps %zmm0, %zmm1 + + /* 2^(52-4)*1.5 + x * log2(e) */ + vfmadd213pd {rz-sae}, %zmm2, %zmm1, %zmm4 + vandpd AbsMask+__svml_dexp10_data_internal_avx512(%rip), %zmm1, %zmm13 + + /* Z0 ~ x*log2(e), rounded down to 4 fractional bits */ + vsubpd {rn-sae}, %zmm2, %zmm4, %zmm0 + + /* Table lookup: Th */ + vmovups __svml_dexp10_data_internal_avx512(%rip), %zmm2 + vcmppd $29, {sae}, %zmm14, %zmm13, %k0 + + /* R = x - Z0*log(2) */ + vfnmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm5 + vpermt2pd Exp_tbl_H+64+__svml_dexp10_data_internal_avx512(%rip), %zmm4, %zmm2 + kmovw %k0, %edx + vfnmadd231pd {rn-sae}, %zmm0, %zmm3, %zmm5 + vmovups poly_coeff5+__svml_dexp10_data_internal_avx512(%rip), %zmm3 + + /* ensure |R|<2 even for special cases */ + vandpd EMask+__svml_dexp10_data_internal_avx512(%rip), %zmm5, %zmm12 + vmulpd {rn-sae}, %zmm12, %zmm12, %zmm10 + vmulpd {rn-sae}, %zmm12, %zmm2, %zmm15 + vfmadd231pd {rn-sae}, %zmm12, %zmm6, %zmm3 + vfmadd231pd {rn-sae}, %zmm12, %zmm7, %zmm9 + vfmadd231pd {rn-sae}, %zmm12, %zmm8, %zmm11 + vfmadd213pd {rn-sae}, %zmm9, %zmm10, %zmm3 + vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm3 + vfmadd213pd {rn-sae}, %zmm2, %zmm15, %zmm3 + vscalefpd {rn-sae}, %zmm0, %zmm3, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm1, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm1, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call exp10@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call exp10@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_exp10_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dexp10_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Exp_tbl_H[16][2]; - __declspec(align(64)) VUINT32 L2E[8][2]; - __declspec(align(64)) VUINT32 Shifter[8][2]; - __declspec(align(64)) VUINT32 L2H[8][2]; - __declspec(align(64)) VUINT32 L2L[8][2]; - __declspec(align(64)) VUINT32 EMask[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - __declspec(align(64)) VUINT32 AbsMask[8][2]; - __declspec(align(64)) VUINT32 Threshold[8][2]; - } __svml_dexp10_data_internal_avx512; + __declspec(align(64)) VUINT32 Exp_tbl_H[16][2]; + __declspec(align(64)) VUINT32 L2E[8][2]; + __declspec(align(64)) VUINT32 Shifter[8][2]; + __declspec(align(64)) VUINT32 L2H[8][2]; + __declspec(align(64)) VUINT32 L2L[8][2]; + __declspec(align(64)) VUINT32 EMask[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; + __declspec(align(64)) VUINT32 AbsMask[8][2]; + __declspec(align(64)) VUINT32 Threshold[8][2]; +} __svml_dexp10_data_internal_avx512; #endif __svml_dexp10_data_internal_avx512: - /*== Exp_tbl_H ==*/ - .quad 0x3ff0000000000000 - .quad 0x3ff0b5586cf9890f - .quad 0x3ff172b83c7d517b - .quad 0x3ff2387a6e756238 - .quad 0x3ff306fe0a31b715 - .quad 0x3ff3dea64c123422 - .quad 0x3ff4bfdad5362a27 - .quad 0x3ff5ab07dd485429 - .quad 0x3ff6a09e667f3bcd - .quad 0x3ff7a11473eb0187 - .quad 0x3ff8ace5422aa0db - .quad 0x3ff9c49182a3f090 - .quad 0x3ffae89f995ad3ad - .quad 0x3ffc199bdd85529c - .quad 0x3ffd5818dcfba487 - .quad 0x3ffea4afa2a490da - /*== log2(e) ==*/ - .align 64 - .quad 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371 - /*== Shifter=2^(52-4)*1.5 ==*/ - .align 64 - .quad 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0 - /*== L2H = log(2)_high ==*/ - .align 64 - .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff - /*== L2L = log(2)_low ==*/ - .align 64 - .quad 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21 - /*== EMask ==*/ - .align 64 - .quad 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff - /*== poly_coeff6 ==*/ - .align 64 - .quad 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020 - /*== poly_coeff5 ==*/ - .align 64 - .quad 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424 - /*== poly_coeff4 ==*/ - .align 64 - .quad 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d - /*== poly_coeff3 ==*/ - .align 64 - .quad 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8 - /*== poly_coeff2 ==*/ - .align 64 - .quad 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25 - /*== poly_coeff1 ==*/ - .align 64 - .quad 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2 - /*== AbsMask ==*/ - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== Threshold ==*/ - .align 64 - .quad 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41 - .align 64 - .type __svml_dexp10_data_internal_avx512,@object - .size __svml_dexp10_data_internal_avx512,.-__svml_dexp10_data_internal_avx512 + /* Exp_tbl_H */ + .quad 0x3ff0000000000000 + .quad 0x3ff0b5586cf9890f + .quad 0x3ff172b83c7d517b + .quad 0x3ff2387a6e756238 + .quad 0x3ff306fe0a31b715 + .quad 0x3ff3dea64c123422 + .quad 0x3ff4bfdad5362a27 + .quad 0x3ff5ab07dd485429 + .quad 0x3ff6a09e667f3bcd + .quad 0x3ff7a11473eb0187 + .quad 0x3ff8ace5422aa0db + .quad 0x3ff9c49182a3f090 + .quad 0x3ffae89f995ad3ad + .quad 0x3ffc199bdd85529c + .quad 0x3ffd5818dcfba487 + .quad 0x3ffea4afa2a490da + /* log2(e) */ + .align 64 + .quad 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371, 0x400A934F0979A371 + /* Shifter=2^(52-4)*1.5 */ + .align 64 + .quad 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0 + /* L2H = log(2)_high */ + .align 64 + .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff + /* L2L = log(2)_low */ + .align 64 + .quad 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21, 0xbc49dc1da994fd21 + /* EMask */ + .align 64 + .quad 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff + /* poly_coeff6 */ + .align 64 + .quad 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020, 0x3fcb137ed8ac2020 + /* poly_coeff5 */ + .align 64 + .quad 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424, 0x3fe141a8e24f9424 + /* poly_coeff4 */ + .align 64 + .quad 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d, 0x3ff2bd77a0926c9d + /* poly_coeff3 */ + .align 64 + .quad 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8, 0x40004705908704c8 + /* poly_coeff2 */ + .align 64 + .quad 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25, 0x40053524c73dfe25 + /* poly_coeff1 */ + .align 64 + .quad 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2, 0x40026bb1bbb554c2 + /* AbsMask */ + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* Threshold */ + .align 64 + .quad 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41, 0x40733A7146F72A41 + .align 64 + .type __svml_dexp10_data_internal_avx512, @object + .size __svml_dexp10_data_internal_avx512, .-__svml_dexp10_data_internal_avx512 From patchwork Mon Mar 7 15:01:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602258 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=U3Z5JzJe; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2Cd3CJdz9sFk for ; Tue, 8 Mar 2022 02:18:21 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 32737385842E for ; Mon, 7 Mar 2022 15:18:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 32737385842E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666299; bh=8ajTopx5FKBgy9KG69q+gN/V0gJfJP0QP6xgVIwreMc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=U3Z5JzJeK36Bh/P4+FkHUWJGJfgPE0tCSrcCy1L3o8lVk2HhSZGcnk7eiGl62g1BZ K+Bk2zcS8XGsezFK1BKfSh9NARZf0RQSVDso2h71gwDUiPnIJ2Qf7xApgb11JlsJjY UJz6UhApnQVibTWlTjuf5HkS91U4Yh9gWYGPWyBI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id 7EBE93858403 for ; Mon, 7 Mar 2022 15:02:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7EBE93858403 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254599180" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254599180" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081804" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:07 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21el016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 073/126] x86_64: Fix svml_s_exp2f16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:08 -0800 Message-Id: <20220307150201.10590-74-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_exp2f16_core_avx512.S | 379 +++++++++--------- 1 file changed, 189 insertions(+), 190 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S index 5bff29a08a..5b406c6e32 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f16_core_avx512.S @@ -52,220 +52,219 @@ /* Offsets for data table __svml_sexp2_data_internal_avx512 */ -#define Frac_PowerS0 0 -#define poly_coeff1 64 -#define poly_coeff2 128 -#define poly_coeff3 192 -#define add_const 256 -#define AbsMask 320 -#define Threshold 384 +#define Frac_PowerS0 0 +#define poly_coeff1 64 +#define poly_coeff2 128 +#define poly_coeff3 192 +#define add_const 256 +#define AbsMask 320 +#define Threshold 384 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_exp2f_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups add_const+__svml_sexp2_data_internal_avx512(%rip), %zmm3 - -/* - * Reduced argument - * where VREDUCE is available - */ - vreduceps $65, {sae}, %zmm0, %zmm6 - vmovups poly_coeff3+__svml_sexp2_data_internal_avx512(%rip), %zmm5 - vmovups poly_coeff2+__svml_sexp2_data_internal_avx512(%rip), %zmm10 - vmovups Threshold+__svml_sexp2_data_internal_avx512(%rip), %zmm2 - -/* - * - * HA - * Variables and constants - * Load constants and vector(s) - */ - vmovups poly_coeff1+__svml_sexp2_data_internal_avx512(%rip), %zmm7 - -/* - * Integer form of K+0.b1b2b3b4 in lower bits - call K_plus_f0 - * Mantisssa of normalized single precision FP: 1.b1b2...b23 - */ - vaddps {rd-sae}, %zmm3, %zmm0, %zmm4 - vandps AbsMask+__svml_sexp2_data_internal_avx512(%rip), %zmm0, %zmm1 - -/* c3*r + c2 */ - vfmadd231ps {rn-sae}, %zmm6, %zmm5, %zmm10 - vcmpps $30, {sae}, %zmm2, %zmm1, %k0 - -/* c3*r^2 + c2*r + c1 */ - vfmadd213ps {rn-sae}, %zmm7, %zmm6, %zmm10 - -/* Table value: 2^(0.b1b2b3b4) */ - vpermps __svml_sexp2_data_internal_avx512(%rip), %zmm4, %zmm9 - kmovw %k0, %edx - -/* T*r */ - vmulps {rn-sae}, %zmm6, %zmm9, %zmm8 - -/* T + (T*r*(c3*r^2 + c2*r + c1) */ - vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm10 - -/* Scaling placed at the end to avoid accuracy loss when T*r*scale underflows */ - vscalefps {rn-sae}, %zmm0, %zmm10, %zmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups add_const+__svml_sexp2_data_internal_avx512(%rip), %zmm3 + + /* + * Reduced argument + * where VREDUCE is available + */ + vreduceps $65, {sae}, %zmm0, %zmm6 + vmovups poly_coeff3+__svml_sexp2_data_internal_avx512(%rip), %zmm5 + vmovups poly_coeff2+__svml_sexp2_data_internal_avx512(%rip), %zmm10 + vmovups Threshold+__svml_sexp2_data_internal_avx512(%rip), %zmm2 + + /* + * + * HA + * Variables and constants + * Load constants and vector(s) + */ + vmovups poly_coeff1+__svml_sexp2_data_internal_avx512(%rip), %zmm7 + + /* + * Integer form of K+0.b1b2b3b4 in lower bits - call K_plus_f0 + * Mantisssa of normalized single precision FP: 1.b1b2...b23 + */ + vaddps {rd-sae}, %zmm3, %zmm0, %zmm4 + vandps AbsMask+__svml_sexp2_data_internal_avx512(%rip), %zmm0, %zmm1 + + /* c3*r + c2 */ + vfmadd231ps {rn-sae}, %zmm6, %zmm5, %zmm10 + vcmpps $30, {sae}, %zmm2, %zmm1, %k0 + + /* c3*r^2 + c2*r + c1 */ + vfmadd213ps {rn-sae}, %zmm7, %zmm6, %zmm10 + + /* Table value: 2^(0.b1b2b3b4) */ + vpermps __svml_sexp2_data_internal_avx512(%rip), %zmm4, %zmm9 + kmovw %k0, %edx + + /* T*r */ + vmulps {rn-sae}, %zmm6, %zmm9, %zmm8 + + /* T + (T*r*(c3*r^2 + c2*r + c1) */ + vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm10 + + /* Scaling placed at the end to avoid accuracy loss when T*r*scale underflows */ + vscalefps {rn-sae}, %zmm0, %zmm10, %zmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm1, %zmm0 - 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 - */ + vmovaps %zmm1, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm1, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm1 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm1 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call exp2f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call exp2f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_exp2f_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_sexp2_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Frac_PowerS0[16][1]; - __declspec(align(64)) VUINT32 poly_coeff1[16][1]; - __declspec(align(64)) VUINT32 poly_coeff2[16][1]; - __declspec(align(64)) VUINT32 poly_coeff3[16][1]; - __declspec(align(64)) VUINT32 add_const[16][1]; - __declspec(align(64)) VUINT32 AbsMask[16][1]; - __declspec(align(64)) VUINT32 Threshold[16][1]; + __declspec(align(64)) VUINT32 Frac_PowerS0[16][1]; + __declspec(align(64)) VUINT32 poly_coeff1[16][1]; + __declspec(align(64)) VUINT32 poly_coeff2[16][1]; + __declspec(align(64)) VUINT32 poly_coeff3[16][1]; + __declspec(align(64)) VUINT32 add_const[16][1]; + __declspec(align(64)) VUINT32 AbsMask[16][1]; + __declspec(align(64)) VUINT32 Threshold[16][1]; } __svml_sexp2_data_internal_avx512; #endif __svml_sexp2_data_internal_avx512: - /*== Frac_PowerS0 ==*/ - .long 0x3F800000 - .long 0x3F85AAC3 - .long 0x3F8B95C2 - .long 0x3F91C3D3 - .long 0x3F9837F0 - .long 0x3F9EF532 - .long 0x3FA5FED7 - .long 0x3FAD583F - .long 0x3FB504F3 - .long 0x3FBD08A4 - .long 0x3FC5672A - .long 0x3FCE248C - .long 0x3FD744FD - .long 0x3FE0CCDF - .long 0x3FEAC0C7 - .long 0x3FF5257D - .align 64 - .long 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222 /*== poly_coeff1 ==*/ - .align 64 - .long 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B /*== poly_coeff2 ==*/ - .align 64 - .long 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA /*== poly_coeff3 ==*/ - .align 64 - .long 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000 /* add_const */ - .align 64 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* AbsMask */ - .align 64 - .long 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000 /* Threshold=126.0 */ - .align 64 - .type __svml_sexp2_data_internal_avx512,@object - .size __svml_sexp2_data_internal_avx512,.-__svml_sexp2_data_internal_avx512 + /* Frac_PowerS0 */ + .long 0x3F800000 + .long 0x3F85AAC3 + .long 0x3F8B95C2 + .long 0x3F91C3D3 + .long 0x3F9837F0 + .long 0x3F9EF532 + .long 0x3FA5FED7 + .long 0x3FAD583F + .long 0x3FB504F3 + .long 0x3FBD08A4 + .long 0x3FC5672A + .long 0x3FCE248C + .long 0x3FD744FD + .long 0x3FE0CCDF + .long 0x3FEAC0C7 + .long 0x3FF5257D + .align 64 + .long 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222, 0x3F317222 /* == poly_coeff1 == */ + .align 64 + .long 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B, 0x3E75F16B /* == poly_coeff2 == */ + .align 64 + .long 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA, 0x3D6854CA /* == poly_coeff3 == */ + .align 64 + .long 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000, 0x49400000 /* add_const */ + .align 64 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* AbsMask */ + .align 64 + .long 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000 /* Threshold=126.0 */ + .align 64 + .type __svml_sexp2_data_internal_avx512, @object + .size __svml_sexp2_data_internal_avx512, .-__svml_sexp2_data_internal_avx512 From patchwork Mon Mar 7 15:01:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602375 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=jHbeaIQv; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Sw05trz9sFt for ; Tue, 8 Mar 2022 03:14:56 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5B712385800F for ; Mon, 7 Mar 2022 16:14:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B712385800F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669693; bh=E/1WpgDtd4bLx4surKTzQKfqIixwrNlszExf7hYp0mM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=jHbeaIQvSTywfFIui+JT6q2j39rHqvuaxtXN8zLQ1lB5NSQziTt6MnID/75dcGqJC BQUeGpt/XebZ6uRa55B0QGoSE1J7sWtgX5iIdDgpzgfVqJaM2f3YUMYC7A4j00K/EB t8lyPsEDoxZkJ2afdV2yht5DVspHTN7EARyzn0VQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 64113385800C for ; Mon, 7 Mar 2022 15:03:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 64113385800C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017262" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017262" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="631871408" Received: from scymds01.sc.intel.com ([10.148.94.138]) by FMSMGA003.fm.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21em016772; Mon, 7 Mar 2022 07:02:07 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 074/126] x86_64: Fix svml_s_exp2f4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:09 -0800 Message-Id: <20220307150201.10590-75-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_exp2f4_core_sse4.S | 334 +++++++++--------- 1 file changed, 166 insertions(+), 168 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S index ba91554c7f..047834d52e 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f4_core_sse4.S @@ -22,7 +22,7 @@ * exp2(x) = 2^n * T[j] * (1 + P(y)) * where * x = m*(1/K) + y, y in [-1/K..1/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,196 +43,194 @@ /* Offsets for data table __svml_sexp2_data_internal */ -#define _sShifter 0 -#define _sPC0 16 -#define _sPC1 32 -#define _sPC2 48 -#define _sPC3 64 -#define _sPC4 80 -#define _sPC5 96 -#define _sPC6 112 -#define _iAbsMask 128 -#define _iDomainRange 144 +#define _sShifter 0 +#define _sPC0 16 +#define _sPC1 32 +#define _sPC2 48 +#define _sPC3 64 +#define _sPC4 80 +#define _sPC5 96 +#define _sPC6 112 +#define _iAbsMask 128 +#define _iDomainRange 144 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_exp2f_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* Check for overflow\underflow */ - movups __svml_sexp2_data_internal(%rip), %xmm1 - -/* Implementation */ - movaps %xmm1, %xmm5 - -/* Polynomial */ - movups _sPC6+__svml_sexp2_data_internal(%rip), %xmm4 - addps %xmm0, %xmm5 - movaps %xmm5, %xmm3 - -/* 2^N */ - pslld $23, %xmm5 - -/* Check for overflow\underflow */ - movdqu _iAbsMask+__svml_sexp2_data_internal(%rip), %xmm2 - subps %xmm1, %xmm3 - -/* R */ - movaps %xmm0, %xmm1 - pand %xmm0, %xmm2 - pcmpgtd _iDomainRange+__svml_sexp2_data_internal(%rip), %xmm2 - subps %xmm3, %xmm1 - movmskps %xmm2, %edx - mulps %xmm1, %xmm4 - addps _sPC5+__svml_sexp2_data_internal(%rip), %xmm4 - mulps %xmm1, %xmm4 - addps _sPC4+__svml_sexp2_data_internal(%rip), %xmm4 - mulps %xmm1, %xmm4 - addps _sPC3+__svml_sexp2_data_internal(%rip), %xmm4 - mulps %xmm1, %xmm4 - addps _sPC2+__svml_sexp2_data_internal(%rip), %xmm4 - mulps %xmm1, %xmm4 - addps _sPC1+__svml_sexp2_data_internal(%rip), %xmm4 - mulps %xmm4, %xmm1 - addps _sPC0+__svml_sexp2_data_internal(%rip), %xmm1 - -/* Reconstruction */ - paddd %xmm5, %xmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* Check for overflow\underflow */ + movups __svml_sexp2_data_internal(%rip), %xmm1 + + /* Implementation */ + movaps %xmm1, %xmm5 + + /* Polynomial */ + movups _sPC6+__svml_sexp2_data_internal(%rip), %xmm4 + addps %xmm0, %xmm5 + movaps %xmm5, %xmm3 + + /* 2^N */ + pslld $23, %xmm5 + + /* Check for overflow\underflow */ + movdqu _iAbsMask+__svml_sexp2_data_internal(%rip), %xmm2 + subps %xmm1, %xmm3 + + /* R */ + movaps %xmm0, %xmm1 + pand %xmm0, %xmm2 + pcmpgtd _iDomainRange+__svml_sexp2_data_internal(%rip), %xmm2 + subps %xmm3, %xmm1 + movmskps %xmm2, %edx + mulps %xmm1, %xmm4 + addps _sPC5+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps _sPC4+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps _sPC3+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps _sPC2+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm1, %xmm4 + addps _sPC1+__svml_sexp2_data_internal(%rip), %xmm4 + mulps %xmm4, %xmm1 + addps _sPC0+__svml_sexp2_data_internal(%rip), %xmm1 + + /* Reconstruction */ + paddd %xmm5, %xmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm1, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm1, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm1 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm1 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call exp2f@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call exp2f@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_exp2f_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_sexp2_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _sShifter[4][1]; - __declspec(align(16)) VUINT32 _sPC0[4][1]; - __declspec(align(16)) VUINT32 _sPC1[4][1]; - __declspec(align(16)) VUINT32 _sPC2[4][1]; - __declspec(align(16)) VUINT32 _sPC3[4][1]; - __declspec(align(16)) VUINT32 _sPC4[4][1]; - __declspec(align(16)) VUINT32 _sPC5[4][1]; - __declspec(align(16)) VUINT32 _sPC6[4][1]; - __declspec(align(16)) VUINT32 _iAbsMask[4][1]; - __declspec(align(16)) VUINT32 _iDomainRange[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _sShifter[4][1]; + __declspec(align(16)) VUINT32 _sPC0[4][1]; + __declspec(align(16)) VUINT32 _sPC1[4][1]; + __declspec(align(16)) VUINT32 _sPC2[4][1]; + __declspec(align(16)) VUINT32 _sPC3[4][1]; + __declspec(align(16)) VUINT32 _sPC4[4][1]; + __declspec(align(16)) VUINT32 _sPC5[4][1]; + __declspec(align(16)) VUINT32 _sPC6[4][1]; + __declspec(align(16)) VUINT32 _iAbsMask[4][1]; + __declspec(align(16)) VUINT32 _iDomainRange[4][1]; } __svml_sexp2_data_internal; #endif __svml_sexp2_data_internal: - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 16 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC0 */ - .align 16 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 /* _sPC1 */ - .align 16 - .long 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef /* _sPC2 */ - .align 16 - .long 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf /* _sPC3 */ - .align 16 - .long 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c /* _sPC4 */ - .align 16 - .long 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51 /* _sPC5 */ - .align 16 - .long 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c /* _sPC6 */ - //common - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 16 - .long 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000 /* _iDomainRange=126.0 */ - .align 16 - .type __svml_sexp2_data_internal,@object - .size __svml_sexp2_data_internal,.-__svml_sexp2_data_internal + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 16 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC0 */ + .align 16 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 /* _sPC1 */ + .align 16 + .long 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef /* _sPC2 */ + .align 16 + .long 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf /* _sPC3 */ + .align 16 + .long 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c /* _sPC4 */ + .align 16 + .long 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51 /* _sPC5 */ + .align 16 + .long 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c /* _sPC6 */ + //common + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 16 + .long 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000 /* _iDomainRange=126.0 */ + .align 16 + .type __svml_sexp2_data_internal, @object + .size __svml_sexp2_data_internal, .-__svml_sexp2_data_internal From patchwork Mon Mar 7 15:01:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602277 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=vNjGfkjr; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2Vh0VWFz9sFh for ; Tue, 8 Mar 2022 02:31:24 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 319483858C74 for ; Mon, 7 Mar 2022 15:31:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 319483858C74 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667082; bh=WILtZdi/x+bCPk1/gTKWpxZLj0tIulxPvvpgYwPr560=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=vNjGfkjrb1I9BHDOpJ8MYNPxCkShfifHciMjW6gdsHA4Cd0Bb2uPmgqMHyFmxzczI l9kKOiIo7FpF1PZ8tDTCMPGRYz7L02nj8rW3DoEMGUvlol+u721+BE50ACibU5haoO 0bSrmDFMtDveVYFBK6QB5nVN/Y7RyeCwc+Chr8DU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 79D4A3858001 for ; Mon, 7 Mar 2022 15:02:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 79D4A3858001 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640464" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640464" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="641355953" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga002.fm.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21en016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 075/126] x86_64: Fix svml_s_exp2f8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:10 -0800 Message-Id: <20220307150201.10590-76-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_exp2f8_core_avx2.S | 348 +++++++++--------- 1 file changed, 173 insertions(+), 175 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S index 7404f1926b..f7a80a4d64 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_exp2f8_core_avx2.S @@ -22,7 +22,7 @@ * exp2(x) = 2^n * T[j] * (1 + P(y)) * where * x = m*(1/K) + y, y in [-1/K..1/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,203 +43,201 @@ /* Offsets for data table __svml_sexp2_data_internal */ -#define _sShifter 0 -#define _sPC0 32 -#define _sPC1 64 -#define _sPC2 96 -#define _sPC3 128 -#define _sPC4 160 -#define _sPC5 192 -#define _sPC6 224 -#define _iAbsMask 256 -#define _iDomainRange 288 +#define _sShifter 0 +#define _sPC0 32 +#define _sPC1 64 +#define _sPC2 96 +#define _sPC3 128 +#define _sPC4 160 +#define _sPC5 192 +#define _sPC6 224 +#define _iAbsMask 256 +#define _iDomainRange 288 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_exp2f_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovups __svml_sexp2_data_internal(%rip), %ymm1 - -/* Check for overflow\underflow */ - vmovups _sPC6+__svml_sexp2_data_internal(%rip), %ymm7 - -/* Implementation */ - vaddps %ymm1, %ymm0, %ymm6 - vsubps %ymm1, %ymm6, %ymm4 - -/* 2^N */ - vpslld $23, %ymm6, %ymm8 - -/* R */ - vsubps %ymm4, %ymm0, %ymm5 - -/* Polynomial */ - vfmadd213ps _sPC5+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 - vfmadd213ps _sPC4+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 - vfmadd213ps _sPC3+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 - vfmadd213ps _sPC2+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 - vfmadd213ps _sPC1+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 - vfmadd213ps _sPC0+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 - -/* Check for overflow\underflow */ - vandps _iAbsMask+__svml_sexp2_data_internal(%rip), %ymm0, %ymm2 - vpcmpgtd _iDomainRange+__svml_sexp2_data_internal(%rip), %ymm2, %ymm3 - vmovmskps %ymm3, %edx - -/* Reconstruction */ - vpaddd %ymm8, %ymm7, %ymm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + vmovups __svml_sexp2_data_internal(%rip), %ymm1 + + /* Check for overflow\underflow */ + vmovups _sPC6+__svml_sexp2_data_internal(%rip), %ymm7 + + /* Implementation */ + vaddps %ymm1, %ymm0, %ymm6 + vsubps %ymm1, %ymm6, %ymm4 + + /* 2^N */ + vpslld $23, %ymm6, %ymm8 + + /* R */ + vsubps %ymm4, %ymm0, %ymm5 + + /* Polynomial */ + vfmadd213ps _sPC5+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps _sPC4+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps _sPC3+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps _sPC2+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps _sPC1+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + vfmadd213ps _sPC0+__svml_sexp2_data_internal(%rip), %ymm5, %ymm7 + + /* Check for overflow\underflow */ + vandps _iAbsMask+__svml_sexp2_data_internal(%rip), %ymm0, %ymm2 + vpcmpgtd _iDomainRange+__svml_sexp2_data_internal(%rip), %ymm2, %ymm3 + vmovmskps %ymm3, %edx + + /* Reconstruction */ + vpaddd %ymm8, %ymm7, %ymm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %ymm1, %ymm0 - 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 - */ + vmovaps %ymm1, %ymm0 + 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): - vmovups %ymm0, 32(%rsp) - vmovups %ymm1, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm0, 32(%rsp) + vmovups %ymm1, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm1 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm1 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call exp2f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call exp2f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_exp2f_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_sexp2_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _sShifter[8][1]; - __declspec(align(32)) VUINT32 _sPC0[8][1]; - __declspec(align(32)) VUINT32 _sPC1[8][1]; - __declspec(align(32)) VUINT32 _sPC2[8][1]; - __declspec(align(32)) VUINT32 _sPC3[8][1]; - __declspec(align(32)) VUINT32 _sPC4[8][1]; - __declspec(align(32)) VUINT32 _sPC5[8][1]; - __declspec(align(32)) VUINT32 _sPC6[8][1]; - __declspec(align(32)) VUINT32 _iAbsMask[8][1]; - __declspec(align(32)) VUINT32 _iDomainRange[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _sShifter[8][1]; + __declspec(align(32)) VUINT32 _sPC0[8][1]; + __declspec(align(32)) VUINT32 _sPC1[8][1]; + __declspec(align(32)) VUINT32 _sPC2[8][1]; + __declspec(align(32)) VUINT32 _sPC3[8][1]; + __declspec(align(32)) VUINT32 _sPC4[8][1]; + __declspec(align(32)) VUINT32 _sPC5[8][1]; + __declspec(align(32)) VUINT32 _sPC6[8][1]; + __declspec(align(32)) VUINT32 _iAbsMask[8][1]; + __declspec(align(32)) VUINT32 _iDomainRange[8][1]; } __svml_sexp2_data_internal; #endif __svml_sexp2_data_internal: - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 32 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC0 */ - .align 32 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 /* _sPC1 */ - .align 32 - .long 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef /* _sPC2 */ - .align 32 - .long 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf /* _sPC3 */ - .align 32 - .long 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c /* _sPC4 */ - .align 32 - .long 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51 /* _sPC5 */ - .align 32 - .long 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c /* _sPC6 */ - //common - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 32 - .long 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000 /* _iDomainRange=126.0 */ - .align 32 - .type __svml_sexp2_data_internal,@object - .size __svml_sexp2_data_internal,.-__svml_sexp2_data_internal + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 32 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC0 */ + .align 32 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 /* _sPC1 */ + .align 32 + .long 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef, 0x3e75fdef /* _sPC2 */ + .align 32 + .long 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf, 0x3d6357cf /* _sPC3 */ + .align 32 + .long 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c, 0x3c1d962c /* _sPC4 */ + .align 32 + .long 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51, 0x3aaf7a51 /* _sPC5 */ + .align 32 + .long 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c, 0x39213c8c /* _sPC6 */ + //common + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 32 + .long 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000, 0x42fc0000 /* _iDomainRange=126.0 */ + .align 32 + .type __svml_sexp2_data_internal, @object + .size __svml_sexp2_data_internal, .-__svml_sexp2_data_internal From patchwork Mon Mar 7 15:01:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602252 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=QxikXGUv; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC26T69Scz9s8s for ; Tue, 8 Mar 2022 02:13:53 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EE6903858424 for ; Mon, 7 Mar 2022 15:13:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EE6903858424 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666032; bh=VNOoWEEotRCJREF+/xRp/Xri/VC1KE9wnfE8HgnxO+k=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=QxikXGUvnpY26ArJfOw+jN+jBI9hg7IrUCTFiCbytY5sL7A6R50I6iCvfkWhPMrPR jTT1MXXwYtWxE2PvVlktJLjyT4kJB0cHVLbnQgtE70TE6k9XBzX3nY0ALDRVcl5W3Z 4FIYFnxyhsnThzpxWiZjPI6NmkYI8ZARQ4G6KFlo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id 854063858C74 for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 854063858C74 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="315123201" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="315123201" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="512708653" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga006.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eo016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 076/126] x86_64: Fix svml_d_exp22_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:11 -0800 Message-Id: <20220307150201.10590-77-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_exp22_core_sse4.S | 508 +++++++++--------- 1 file changed, 253 insertions(+), 255 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S index 76b3105095..1124d8bece 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp22_core_sse4.S @@ -22,7 +22,7 @@ * exp2(x) = 2^n * T[j] * (1 + P(y)) * where * x = m*(1/K) + y, y in [-1/K..1/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,283 +43,281 @@ /* Offsets for data table __svml_dexp2_data_internal */ -#define _dbT 0 -#define _dbShifter 1024 -#define _dPC1 1040 -#define _dPC2 1056 -#define _dPC3 1072 -#define _dPC4 1088 -#define _lIndexMask 1104 -#define _iAbsMask 1120 -#define _iDomainRange 1136 +#define _dbT 0 +#define _dbShifter 1024 +#define _dPC1 1040 +#define _dPC2 1056 +#define _dPC3 1072 +#define _dPC4 1088 +#define _lIndexMask 1104 +#define _iAbsMask 1120 +#define _iDomainRange 1136 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_exp2_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* R */ - movaps %xmm0, %xmm7 - movups _dbShifter+__svml_dexp2_data_internal(%rip), %xmm1 - -/* out, basePtr, iIndex, iBaseOfs, iSize, iGran, iOfs */ - lea __svml_dexp2_data_internal(%rip), %rsi - -/* Load arument */ - movaps %xmm1, %xmm10 - addpd %xmm0, %xmm10 - movaps %xmm10, %xmm6 - subpd %xmm1, %xmm6 - subpd %xmm6, %xmm7 - -/* - * Polynomial - * poly(dN) = a1*dR+...+a4*dR^4 - */ - movups _dPC4+__svml_dexp2_data_internal(%rip), %xmm8 - mulpd %xmm7, %xmm8 - addpd _dPC3+__svml_dexp2_data_internal(%rip), %xmm8 - mulpd %xmm7, %xmm8 - addpd _dPC2+__svml_dexp2_data_internal(%rip), %xmm8 - movdqu _lIndexMask+__svml_dexp2_data_internal(%rip), %xmm9 - -/* Index and lookup */ - movdqa %xmm9, %xmm5 - pandn %xmm10, %xmm9 - pand %xmm10, %xmm5 - -/* 2^N */ - psllq $45, %xmm9 - movd %xmm5, %eax - movq _iAbsMask+__svml_dexp2_data_internal(%rip), %xmm2 - -/* Check for overflow\underflow */ - pshufd $221, %xmm0, %xmm4 - pextrw $4, %xmm5, %ecx - -/* a1+...+a4*dR^3 ! */ - mulpd %xmm7, %xmm8 - shll $3, %eax - pand %xmm2, %xmm4 - shll $3, %ecx - movq (%rsi,%rax), %xmm1 - movhpd (%rsi,%rcx), %xmm1 - -/* dR=dR*dT */ - mulpd %xmm1, %xmm7 - addpd _dPC1+__svml_dexp2_data_internal(%rip), %xmm8 - -/* - * Reconstruction - * exp2 = {2^N later}*(Tj+Tj*poly) - * dN = dT+dT*dR*(a1+...+a4*dR^3) - */ - mulpd %xmm7, %xmm8 - addpd %xmm8, %xmm1 - movq _iDomainRange+__svml_dexp2_data_internal(%rip), %xmm3 - pcmpgtd %xmm3, %xmm4 - movmskps %xmm4, %edx - -/* quick 2^N */ - paddq %xmm9, %xmm1 - andl $3, %edx - -/* Finish */ - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* R */ + movaps %xmm0, %xmm7 + movups _dbShifter+__svml_dexp2_data_internal(%rip), %xmm1 + + /* out, basePtr, iIndex, iBaseOfs, iSize, iGran, iOfs */ + lea __svml_dexp2_data_internal(%rip), %rsi + + /* Load arument */ + movaps %xmm1, %xmm10 + addpd %xmm0, %xmm10 + movaps %xmm10, %xmm6 + subpd %xmm1, %xmm6 + subpd %xmm6, %xmm7 + + /* + * Polynomial + * poly(dN) = a1*dR+...+a4*dR^4 + */ + movups _dPC4+__svml_dexp2_data_internal(%rip), %xmm8 + mulpd %xmm7, %xmm8 + addpd _dPC3+__svml_dexp2_data_internal(%rip), %xmm8 + mulpd %xmm7, %xmm8 + addpd _dPC2+__svml_dexp2_data_internal(%rip), %xmm8 + movdqu _lIndexMask+__svml_dexp2_data_internal(%rip), %xmm9 + + /* Index and lookup */ + movdqa %xmm9, %xmm5 + pandn %xmm10, %xmm9 + pand %xmm10, %xmm5 + + /* 2^N */ + psllq $45, %xmm9 + movd %xmm5, %eax + movq _iAbsMask+__svml_dexp2_data_internal(%rip), %xmm2 + + /* Check for overflow\underflow */ + pshufd $221, %xmm0, %xmm4 + pextrw $4, %xmm5, %ecx + + /* a1+...+a4*dR^3 ! */ + mulpd %xmm7, %xmm8 + shll $3, %eax + pand %xmm2, %xmm4 + shll $3, %ecx + movq (%rsi, %rax), %xmm1 + movhpd (%rsi, %rcx), %xmm1 + + /* dR=dR*dT */ + mulpd %xmm1, %xmm7 + addpd _dPC1+__svml_dexp2_data_internal(%rip), %xmm8 + + /* + * Reconstruction + * exp2 = {2^N later}*(Tj+Tj*poly) + * dN = dT+dT*dR*(a1+...+a4*dR^3) + */ + mulpd %xmm7, %xmm8 + addpd %xmm8, %xmm1 + movq _iDomainRange+__svml_dexp2_data_internal(%rip), %xmm3 + pcmpgtd %xmm3, %xmm4 + movmskps %xmm4, %edx + + /* quick 2^N */ + paddq %xmm9, %xmm1 + andl $3, %edx + + /* Finish */ + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm1, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm1, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx xmm1 - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx xmm1 + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm1 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm1 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call exp2@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call exp2@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_exp2_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dexp2_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dbT[(1<<7)][2]; - __declspec(align(16)) VUINT32 _dbShifter[2][2]; - __declspec(align(16)) VUINT32 _dPC1[2][2]; - __declspec(align(16)) VUINT32 _dPC2[2][2]; - __declspec(align(16)) VUINT32 _dPC3[2][2]; - __declspec(align(16)) VUINT32 _dPC4[2][2]; - __declspec(align(16)) VUINT32 _lIndexMask[2][2]; - __declspec(align(16)) VUINT32 _iAbsMask[4][1]; - __declspec(align(16)) VUINT32 _iDomainRange[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _dbT[(1<<7)][2]; + __declspec(align(16)) VUINT32 _dbShifter[2][2]; + __declspec(align(16)) VUINT32 _dPC1[2][2]; + __declspec(align(16)) VUINT32 _dPC2[2][2]; + __declspec(align(16)) VUINT32 _dPC3[2][2]; + __declspec(align(16)) VUINT32 _dPC4[2][2]; + __declspec(align(16)) VUINT32 _lIndexMask[2][2]; + __declspec(align(16)) VUINT32 _iAbsMask[4][1]; + __declspec(align(16)) VUINT32 _iDomainRange[4][1]; } __svml_dexp2_data_internal; #endif __svml_dexp2_data_internal: - /*== _dbT ==*/ - .quad 0x3ff0000000000000, 0x3ff0163da9fb3335 /*2^( 0 /128),2^( 1 /128)*/ - .quad 0x3ff02c9a3e778061, 0x3ff04315e86e7f85 /*2^( 2 /128),2^( 3 /128)*/ - .quad 0x3ff059b0d3158574, 0x3ff0706b29ddf6de /*2^( 4 /128),2^( 5 /128)*/ - .quad 0x3ff0874518759bc8, 0x3ff09e3ecac6f383 /*2^( 6 /128),2^( 7 /128)*/ - .quad 0x3ff0b5586cf9890f, 0x3ff0cc922b7247f7 /*2^( 8 /128),2^( 9 /128)*/ - .quad 0x3ff0e3ec32d3d1a2, 0x3ff0fb66affed31b /*2^( 10 /128),2^( 11 /128)*/ - .quad 0x3ff11301d0125b51, 0x3ff12abdc06c31cc /*2^( 12 /128),2^( 13 /128)*/ - .quad 0x3ff1429aaea92de0, 0x3ff15a98c8a58e51 /*2^( 14 /128),2^( 15 /128)*/ - .quad 0x3ff172b83c7d517b, 0x3ff18af9388c8dea /*2^( 16 /128),2^( 17 /128)*/ - .quad 0x3ff1a35beb6fcb75, 0x3ff1bbe084045cd4 /*2^( 18 /128),2^( 19 /128)*/ - .quad 0x3ff1d4873168b9aa, 0x3ff1ed5022fcd91d /*2^( 20 /128),2^( 21 /128)*/ - .quad 0x3ff2063b88628cd6, 0x3ff21f49917ddc96 /*2^( 22 /128),2^( 23 /128)*/ - .quad 0x3ff2387a6e756238, 0x3ff251ce4fb2a63f /*2^( 24 /128),2^( 25 /128)*/ - .quad 0x3ff26b4565e27cdd, 0x3ff284dfe1f56381 /*2^( 26 /128),2^( 27 /128)*/ - .quad 0x3ff29e9df51fdee1, 0x3ff2b87fd0dad990 /*2^( 28 /128),2^( 29 /128)*/ - .quad 0x3ff2d285a6e4030b, 0x3ff2ecafa93e2f56 /*2^( 30 /128),2^( 31 /128)*/ - .quad 0x3ff306fe0a31b715, 0x3ff32170fc4cd831 /*2^( 32 /128),2^( 33 /128)*/ - .quad 0x3ff33c08b26416ff, 0x3ff356c55f929ff1 /*2^( 34 /128),2^( 35 /128)*/ - .quad 0x3ff371a7373aa9cb, 0x3ff38cae6d05d866 /*2^( 36 /128),2^( 37 /128)*/ - .quad 0x3ff3a7db34e59ff7, 0x3ff3c32dc313a8e5 /*2^( 38 /128),2^( 39 /128)*/ - .quad 0x3ff3dea64c123422, 0x3ff3fa4504ac801c /*2^( 40 /128),2^( 41 /128)*/ - .quad 0x3ff4160a21f72e2a, 0x3ff431f5d950a897 /*2^( 42 /128),2^( 43 /128)*/ - .quad 0x3ff44e086061892d, 0x3ff46a41ed1d0057 /*2^( 44 /128),2^( 45 /128)*/ - .quad 0x3ff486a2b5c13cd0, 0x3ff4a32af0d7d3de /*2^( 46 /128),2^( 47 /128)*/ - .quad 0x3ff4bfdad5362a27, 0x3ff4dcb299fddd0d /*2^( 48 /128),2^( 49 /128)*/ - .quad 0x3ff4f9b2769d2ca7, 0x3ff516daa2cf6642 /*2^( 50 /128),2^( 51 /128)*/ - .quad 0x3ff5342b569d4f82, 0x3ff551a4ca5d920f /*2^( 52 /128),2^( 53 /128)*/ - .quad 0x3ff56f4736b527da, 0x3ff58d12d497c7fd /*2^( 54 /128),2^( 55 /128)*/ - .quad 0x3ff5ab07dd485429, 0x3ff5c9268a5946b7 /*2^( 56 /128),2^( 57 /128)*/ - .quad 0x3ff5e76f15ad2148, 0x3ff605e1b976dc09 /*2^( 58 /128),2^( 59 /128)*/ - .quad 0x3ff6247eb03a5585, 0x3ff6434634ccc320 /*2^( 60 /128),2^( 61 /128)*/ - .quad 0x3ff6623882552225, 0x3ff68155d44ca973 /*2^( 62 /128),2^( 63 /128)*/ - .quad 0x3ff6a09e667f3bcd, 0x3ff6c012750bdabf /*2^( 64 /128),2^( 65 /128)*/ - .quad 0x3ff6dfb23c651a2f, 0x3ff6ff7df9519484 /*2^( 66 /128),2^( 67 /128)*/ - .quad 0x3ff71f75e8ec5f74, 0x3ff73f9a48a58174 /*2^( 68 /128),2^( 69 /128)*/ - .quad 0x3ff75feb564267c9, 0x3ff780694fde5d3f /*2^( 70 /128),2^( 71 /128)*/ - .quad 0x3ff7a11473eb0187, 0x3ff7c1ed0130c132 /*2^( 72 /128),2^( 73 /128)*/ - .quad 0x3ff7e2f336cf4e62, 0x3ff80427543e1a12 /*2^( 74 /128),2^( 75 /128)*/ - .quad 0x3ff82589994cce13, 0x3ff8471a4623c7ad /*2^( 76 /128),2^( 77 /128)*/ - .quad 0x3ff868d99b4492ed, 0x3ff88ac7d98a6699 /*2^( 78 /128),2^( 79 /128)*/ - .quad 0x3ff8ace5422aa0db, 0x3ff8cf3216b5448c /*2^( 80 /128),2^( 81 /128)*/ - .quad 0x3ff8f1ae99157736, 0x3ff9145b0b91ffc6 /*2^( 82 /128),2^( 83 /128)*/ - .quad 0x3ff93737b0cdc5e5, 0x3ff95a44cbc8520f /*2^( 84 /128),2^( 85 /128)*/ - .quad 0x3ff97d829fde4e50, 0x3ff9a0f170ca07ba /*2^( 86 /128),2^( 87 /128)*/ - .quad 0x3ff9c49182a3f090, 0x3ff9e86319e32323 /*2^( 88 /128),2^( 89 /128)*/ - .quad 0x3ffa0c667b5de565, 0x3ffa309bec4a2d33 /*2^( 90 /128),2^( 91 /128)*/ - .quad 0x3ffa5503b23e255d, 0x3ffa799e1330b358 /*2^( 92 /128),2^( 93 /128)*/ - .quad 0x3ffa9e6b5579fdbf, 0x3ffac36bbfd3f37a /*2^( 94 /128),2^( 95 /128)*/ - .quad 0x3ffae89f995ad3ad, 0x3ffb0e07298db666 /*2^( 96 /128),2^( 97 /128)*/ - .quad 0x3ffb33a2b84f15fb, 0x3ffb59728de5593a /*2^( 98 /128),2^( 99 /128)*/ - .quad 0x3ffb7f76f2fb5e47, 0x3ffba5b030a1064a /*2^( 100 /128),2^( 101 /128)*/ - .quad 0x3ffbcc1e904bc1d2, 0x3ffbf2c25bd71e09 /*2^( 102 /128),2^( 103 /128)*/ - .quad 0x3ffc199bdd85529c, 0x3ffc40ab5fffd07a /*2^( 104 /128),2^( 105 /128)*/ - .quad 0x3ffc67f12e57d14b, 0x3ffc8f6d9406e7b5 /*2^( 106 /128),2^( 107 /128)*/ - .quad 0x3ffcb720dcef9069, 0x3ffcdf0b555dc3fa /*2^( 108 /128),2^( 109 /128)*/ - .quad 0x3ffd072d4a07897c, 0x3ffd2f87080d89f2 /*2^( 110 /128),2^( 111 /128)*/ - .quad 0x3ffd5818dcfba487, 0x3ffd80e316c98398 /*2^( 112 /128),2^( 113 /128)*/ - .quad 0x3ffda9e603db3285, 0x3ffdd321f301b460 /*2^( 114 /128),2^( 115 /128)*/ - .quad 0x3ffdfc97337b9b5f, 0x3ffe264614f5a129 /*2^( 116 /128),2^( 117 /128)*/ - .quad 0x3ffe502ee78b3ff6, 0x3ffe7a51fbc74c83 /*2^( 118 /128),2^( 119 /128)*/ - .quad 0x3ffea4afa2a490da, 0x3ffecf482d8e67f1 /*2^( 120 /128),2^( 121 /128)*/ - .quad 0x3ffefa1bee615a27, 0x3fff252b376bba97 /*2^( 122 /128),2^( 123 /128)*/ - .quad 0x3fff50765b6e4540, 0x3fff7bfdad9cbe14 /*2^( 124 /128),2^( 125 /128)*/ - .quad 0x3fffa7c1819e90d8, 0x3fffd3c22b8f71f1 /*2^( 126 /128),2^( 127 /128)*/ - .align 16 - .quad 0x42c8000000000000, 0x42c8000000000000 /* _dbShifter - 0x433-7=0x42c shifted right on K!*/ - //log2(relerr) = -53.547756365162 - .align 16 - .quad 0x3fe62e42fefa3685, 0x3fe62e42fefa3685 /* _dPC1 */ - .align 16 - .quad 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48 /* _dPC2 */ - .align 16 - .quad 0x3fac6b09b180f045, 0x3fac6b09b180f045 /* _dPC3 */ - .align 16 - .quad 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f /* _dPC4 */ - .align 16 - .quad 0x000000000000007f, 0x000000000000007f /* _lIndexMask =(2^K-1)*/ - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 16 - .long 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff /* _iDomainRange */ - .align 16 - .type __svml_dexp2_data_internal,@object - .size __svml_dexp2_data_internal,.-__svml_dexp2_data_internal + /* _dbT */ + .quad 0x3ff0000000000000, 0x3ff0163da9fb3335 /* 2^( 0 /128), 2^( 1 /128) */ + .quad 0x3ff02c9a3e778061, 0x3ff04315e86e7f85 /* 2^( 2 /128), 2^( 3 /128) */ + .quad 0x3ff059b0d3158574, 0x3ff0706b29ddf6de /* 2^( 4 /128), 2^( 5 /128) */ + .quad 0x3ff0874518759bc8, 0x3ff09e3ecac6f383 /* 2^( 6 /128), 2^( 7 /128) */ + .quad 0x3ff0b5586cf9890f, 0x3ff0cc922b7247f7 /* 2^( 8 /128), 2^( 9 /128) */ + .quad 0x3ff0e3ec32d3d1a2, 0x3ff0fb66affed31b /* 2^( 10 /128), 2^( 11 /128) */ + .quad 0x3ff11301d0125b51, 0x3ff12abdc06c31cc /* 2^( 12 /128), 2^( 13 /128) */ + .quad 0x3ff1429aaea92de0, 0x3ff15a98c8a58e51 /* 2^( 14 /128), 2^( 15 /128) */ + .quad 0x3ff172b83c7d517b, 0x3ff18af9388c8dea /* 2^( 16 /128), 2^( 17 /128) */ + .quad 0x3ff1a35beb6fcb75, 0x3ff1bbe084045cd4 /* 2^( 18 /128), 2^( 19 /128) */ + .quad 0x3ff1d4873168b9aa, 0x3ff1ed5022fcd91d /* 2^( 20 /128), 2^( 21 /128) */ + .quad 0x3ff2063b88628cd6, 0x3ff21f49917ddc96 /* 2^( 22 /128), 2^( 23 /128) */ + .quad 0x3ff2387a6e756238, 0x3ff251ce4fb2a63f /* 2^( 24 /128), 2^( 25 /128) */ + .quad 0x3ff26b4565e27cdd, 0x3ff284dfe1f56381 /* 2^( 26 /128), 2^( 27 /128) */ + .quad 0x3ff29e9df51fdee1, 0x3ff2b87fd0dad990 /* 2^( 28 /128), 2^( 29 /128) */ + .quad 0x3ff2d285a6e4030b, 0x3ff2ecafa93e2f56 /* 2^( 30 /128), 2^( 31 /128) */ + .quad 0x3ff306fe0a31b715, 0x3ff32170fc4cd831 /* 2^( 32 /128), 2^( 33 /128) */ + .quad 0x3ff33c08b26416ff, 0x3ff356c55f929ff1 /* 2^( 34 /128), 2^( 35 /128) */ + .quad 0x3ff371a7373aa9cb, 0x3ff38cae6d05d866 /* 2^( 36 /128), 2^( 37 /128) */ + .quad 0x3ff3a7db34e59ff7, 0x3ff3c32dc313a8e5 /* 2^( 38 /128), 2^( 39 /128) */ + .quad 0x3ff3dea64c123422, 0x3ff3fa4504ac801c /* 2^( 40 /128), 2^( 41 /128) */ + .quad 0x3ff4160a21f72e2a, 0x3ff431f5d950a897 /* 2^( 42 /128), 2^( 43 /128) */ + .quad 0x3ff44e086061892d, 0x3ff46a41ed1d0057 /* 2^( 44 /128), 2^( 45 /128) */ + .quad 0x3ff486a2b5c13cd0, 0x3ff4a32af0d7d3de /* 2^( 46 /128), 2^( 47 /128) */ + .quad 0x3ff4bfdad5362a27, 0x3ff4dcb299fddd0d /* 2^( 48 /128), 2^( 49 /128) */ + .quad 0x3ff4f9b2769d2ca7, 0x3ff516daa2cf6642 /* 2^( 50 /128), 2^( 51 /128) */ + .quad 0x3ff5342b569d4f82, 0x3ff551a4ca5d920f /* 2^( 52 /128), 2^( 53 /128) */ + .quad 0x3ff56f4736b527da, 0x3ff58d12d497c7fd /* 2^( 54 /128), 2^( 55 /128) */ + .quad 0x3ff5ab07dd485429, 0x3ff5c9268a5946b7 /* 2^( 56 /128), 2^( 57 /128) */ + .quad 0x3ff5e76f15ad2148, 0x3ff605e1b976dc09 /* 2^( 58 /128), 2^( 59 /128) */ + .quad 0x3ff6247eb03a5585, 0x3ff6434634ccc320 /* 2^( 60 /128), 2^( 61 /128) */ + .quad 0x3ff6623882552225, 0x3ff68155d44ca973 /* 2^( 62 /128), 2^( 63 /128) */ + .quad 0x3ff6a09e667f3bcd, 0x3ff6c012750bdabf /* 2^( 64 /128), 2^( 65 /128) */ + .quad 0x3ff6dfb23c651a2f, 0x3ff6ff7df9519484 /* 2^( 66 /128), 2^( 67 /128) */ + .quad 0x3ff71f75e8ec5f74, 0x3ff73f9a48a58174 /* 2^( 68 /128), 2^( 69 /128) */ + .quad 0x3ff75feb564267c9, 0x3ff780694fde5d3f /* 2^( 70 /128), 2^( 71 /128) */ + .quad 0x3ff7a11473eb0187, 0x3ff7c1ed0130c132 /* 2^( 72 /128), 2^( 73 /128) */ + .quad 0x3ff7e2f336cf4e62, 0x3ff80427543e1a12 /* 2^( 74 /128), 2^( 75 /128) */ + .quad 0x3ff82589994cce13, 0x3ff8471a4623c7ad /* 2^( 76 /128), 2^( 77 /128) */ + .quad 0x3ff868d99b4492ed, 0x3ff88ac7d98a6699 /* 2^( 78 /128), 2^( 79 /128) */ + .quad 0x3ff8ace5422aa0db, 0x3ff8cf3216b5448c /* 2^( 80 /128), 2^( 81 /128) */ + .quad 0x3ff8f1ae99157736, 0x3ff9145b0b91ffc6 /* 2^( 82 /128), 2^( 83 /128) */ + .quad 0x3ff93737b0cdc5e5, 0x3ff95a44cbc8520f /* 2^( 84 /128), 2^( 85 /128) */ + .quad 0x3ff97d829fde4e50, 0x3ff9a0f170ca07ba /* 2^( 86 /128), 2^( 87 /128) */ + .quad 0x3ff9c49182a3f090, 0x3ff9e86319e32323 /* 2^( 88 /128), 2^( 89 /128) */ + .quad 0x3ffa0c667b5de565, 0x3ffa309bec4a2d33 /* 2^( 90 /128), 2^( 91 /128) */ + .quad 0x3ffa5503b23e255d, 0x3ffa799e1330b358 /* 2^( 92 /128), 2^( 93 /128) */ + .quad 0x3ffa9e6b5579fdbf, 0x3ffac36bbfd3f37a /* 2^( 94 /128), 2^( 95 /128) */ + .quad 0x3ffae89f995ad3ad, 0x3ffb0e07298db666 /* 2^( 96 /128), 2^( 97 /128) */ + .quad 0x3ffb33a2b84f15fb, 0x3ffb59728de5593a /* 2^( 98 /128), 2^( 99 /128) */ + .quad 0x3ffb7f76f2fb5e47, 0x3ffba5b030a1064a /* 2^( 100 /128), 2^( 101 /128) */ + .quad 0x3ffbcc1e904bc1d2, 0x3ffbf2c25bd71e09 /* 2^( 102 /128), 2^( 103 /128) */ + .quad 0x3ffc199bdd85529c, 0x3ffc40ab5fffd07a /* 2^( 104 /128), 2^( 105 /128) */ + .quad 0x3ffc67f12e57d14b, 0x3ffc8f6d9406e7b5 /* 2^( 106 /128), 2^( 107 /128) */ + .quad 0x3ffcb720dcef9069, 0x3ffcdf0b555dc3fa /* 2^( 108 /128), 2^( 109 /128) */ + .quad 0x3ffd072d4a07897c, 0x3ffd2f87080d89f2 /* 2^( 110 /128), 2^( 111 /128) */ + .quad 0x3ffd5818dcfba487, 0x3ffd80e316c98398 /* 2^( 112 /128), 2^( 113 /128) */ + .quad 0x3ffda9e603db3285, 0x3ffdd321f301b460 /* 2^( 114 /128), 2^( 115 /128) */ + .quad 0x3ffdfc97337b9b5f, 0x3ffe264614f5a129 /* 2^( 116 /128), 2^( 117 /128) */ + .quad 0x3ffe502ee78b3ff6, 0x3ffe7a51fbc74c83 /* 2^( 118 /128), 2^( 119 /128) */ + .quad 0x3ffea4afa2a490da, 0x3ffecf482d8e67f1 /* 2^( 120 /128), 2^( 121 /128) */ + .quad 0x3ffefa1bee615a27, 0x3fff252b376bba97 /* 2^( 122 /128), 2^( 123 /128) */ + .quad 0x3fff50765b6e4540, 0x3fff7bfdad9cbe14 /* 2^( 124 /128), 2^( 125 /128) */ + .quad 0x3fffa7c1819e90d8, 0x3fffd3c22b8f71f1 /* 2^( 126 /128), 2^( 127 /128) */ + .align 16 + .quad 0x42c8000000000000, 0x42c8000000000000 /* _dbShifter - 0x433-7=0x42c shifted right on K! */ + //log2(relerr) = -53.547756365162 + .align 16 + .quad 0x3fe62e42fefa3685, 0x3fe62e42fefa3685 /* _dPC1 */ + .align 16 + .quad 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48 /* _dPC2 */ + .align 16 + .quad 0x3fac6b09b180f045, 0x3fac6b09b180f045 /* _dPC3 */ + .align 16 + .quad 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f /* _dPC4 */ + .align 16 + .quad 0x000000000000007f, 0x000000000000007f /* _lIndexMask =(2^K-1) */ + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 16 + .long 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff /* _iDomainRange */ + .align 16 + .type __svml_dexp2_data_internal, @object + .size __svml_dexp2_data_internal, .-__svml_dexp2_data_internal From patchwork Mon Mar 7 15:01:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602382 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Wz2WWW6n; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Zw4rtvz9sFt for ; Tue, 8 Mar 2022 03:20:08 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0A931385802A for ; Mon, 7 Mar 2022 16:20:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0A931385802A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670006; bh=5z8whlBev1427QBLysb338N5P78eCQSBeQQSXWs/ajs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Wz2WWW6nhCluEjc9UZdI34LQtOXY6SaX2+xTOATbBj/1lEHlBESFcYLxeoHD8rtvL SNjEi7jXVz6DuguQVWb6rXj6Wwe7KFZYEaWNUeNQ5wes3vieZjtNQqzIa1Rs8scPoP PFj3Pa4e665myOKopFtpMJcFR761pztB/U4OXpHY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 5C2CB3858001 for ; Mon, 7 Mar 2022 15:03:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5C2CB3858001 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017265" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017265" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186305" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ep016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 077/126] x86_64: Fix svml_d_exp24_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:12 -0800 Message-Id: <20220307150201.10590-78-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_exp24_core_avx2.S | 540 +++++++++--------- 1 file changed, 269 insertions(+), 271 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S index 2a6e8e5c85..ced774e89c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp24_core_avx2.S @@ -22,7 +22,7 @@ * exp2(x) = 2^n * T[j] * (1 + P(y)) * where * x = m*(1/K) + y, y in [-1/K..1/K] - * m = n*K + j, m,n,j - signed integer, j in [-K/2..K/2] + * m = n*K + j, m, n,j - signed integer, j in [-K/2..K/2] * * values of 2^j/K are tabulated * @@ -43,299 +43,297 @@ /* Offsets for data table __svml_dexp2_data_internal */ -#define _dbT 0 -#define _dbShifter 1024 -#define _dPC1 1056 -#define _dPC2 1088 -#define _dPC3 1120 -#define _dPC4 1152 -#define _lIndexMask 1184 -#define _iAbsMask 1216 -#define _iDomainRange 1248 +#define _dbT 0 +#define _dbShifter 1024 +#define _dPC1 1056 +#define _dPC2 1088 +#define _dPC3 1120 +#define _dPC4 1152 +#define _lIndexMask 1184 +#define _iAbsMask 1216 +#define _iDomainRange 1248 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_exp2_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* out, basePtr, iIndex, iBaseOfs, iSize, iGran, iOfs */ - lea __svml_dexp2_data_internal(%rip), %r8 - vmovupd _dbShifter+__svml_dexp2_data_internal(%rip), %ymm4 - vmovupd _lIndexMask+__svml_dexp2_data_internal(%rip), %ymm3 - vmovapd %ymm0, %ymm1 - -/* Load arument */ - vaddpd %ymm4, %ymm1, %ymm2 - vsubpd %ymm4, %ymm2, %ymm0 - -/* Index and lookup */ - vandps %ymm3, %ymm2, %ymm9 - vpandn %ymm2, %ymm3, %ymm2 - -/* 2^N */ - vpsllq $45, %ymm2, %ymm3 - -/* R */ - vsubpd %ymm0, %ymm1, %ymm15 - -/* Check for overflow\underflow */ - vextractf128 $1, %ymm1, %xmm5 - -/* - * Polynomial - * poly(dN) = a1*dR+...+a4*dR^4 - */ - vmovupd _dPC4+__svml_dexp2_data_internal(%rip), %ymm0 - vshufps $221, %xmm5, %xmm1, %xmm6 - vandps _iAbsMask+__svml_dexp2_data_internal(%rip), %xmm6, %xmm7 - vpcmpgtd _iDomainRange+__svml_dexp2_data_internal(%rip), %xmm7, %xmm8 - vfmadd213pd _dPC3+__svml_dexp2_data_internal(%rip), %ymm15, %ymm0 - vmovmskps %xmm8, %eax - vfmadd213pd _dPC2+__svml_dexp2_data_internal(%rip), %ymm15, %ymm0 - -/* a1+...+a4*dR^3 ! */ - vfmadd213pd _dPC1+__svml_dexp2_data_internal(%rip), %ymm15, %ymm0 - vextractf128 $1, %ymm9, %xmm12 - vmovd %xmm9, %edx - vmovd %xmm12, %esi - shll $3, %edx - vpextrd $2, %xmm9, %ecx - shll $3, %esi - vpextrd $2, %xmm12, %edi - shll $3, %ecx - vmovq (%r8,%rdx), %xmm10 - shll $3, %edi - vmovq (%r8,%rsi), %xmm13 - vmovhpd (%r8,%rcx), %xmm10, %xmm11 - vmovhpd (%r8,%rdi), %xmm13, %xmm14 - vinsertf128 $1, %xmm14, %ymm11, %ymm4 - -/* dR=dR*dT */ - vmulpd %ymm15, %ymm4, %ymm15 - -/* - * Reconstruction - * exp2 = {2^N later}*(Tj+Tj*poly) - * dN = dT+dT*dR*(a1+...+a4*dR^3) - */ - vfmadd213pd %ymm4, %ymm15, %ymm0 - -/* quick 2^N */ - vpaddq %ymm3, %ymm0, %ymm0 - -/* Finish */ - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* out, basePtr, iIndex, iBaseOfs, iSize, iGran, iOfs */ + lea __svml_dexp2_data_internal(%rip), %r8 + vmovupd _dbShifter+__svml_dexp2_data_internal(%rip), %ymm4 + vmovupd _lIndexMask+__svml_dexp2_data_internal(%rip), %ymm3 + vmovapd %ymm0, %ymm1 + + /* Load arument */ + vaddpd %ymm4, %ymm1, %ymm2 + vsubpd %ymm4, %ymm2, %ymm0 + + /* Index and lookup */ + vandps %ymm3, %ymm2, %ymm9 + vpandn %ymm2, %ymm3, %ymm2 + + /* 2^N */ + vpsllq $45, %ymm2, %ymm3 + + /* R */ + vsubpd %ymm0, %ymm1, %ymm15 + + /* Check for overflow\underflow */ + vextractf128 $1, %ymm1, %xmm5 + + /* + * Polynomial + * poly(dN) = a1*dR+...+a4*dR^4 + */ + vmovupd _dPC4+__svml_dexp2_data_internal(%rip), %ymm0 + vshufps $221, %xmm5, %xmm1, %xmm6 + vandps _iAbsMask+__svml_dexp2_data_internal(%rip), %xmm6, %xmm7 + vpcmpgtd _iDomainRange+__svml_dexp2_data_internal(%rip), %xmm7, %xmm8 + vfmadd213pd _dPC3+__svml_dexp2_data_internal(%rip), %ymm15, %ymm0 + vmovmskps %xmm8, %eax + vfmadd213pd _dPC2+__svml_dexp2_data_internal(%rip), %ymm15, %ymm0 + + /* a1+...+a4*dR^3 ! */ + vfmadd213pd _dPC1+__svml_dexp2_data_internal(%rip), %ymm15, %ymm0 + vextractf128 $1, %ymm9, %xmm12 + vmovd %xmm9, %edx + vmovd %xmm12, %esi + shll $3, %edx + vpextrd $2, %xmm9, %ecx + shll $3, %esi + vpextrd $2, %xmm12, %edi + shll $3, %ecx + vmovq (%r8, %rdx), %xmm10 + shll $3, %edi + vmovq (%r8, %rsi), %xmm13 + vmovhpd (%r8, %rcx), %xmm10, %xmm11 + vmovhpd (%r8, %rdi), %xmm13, %xmm14 + vinsertf128 $1, %xmm14, %ymm11, %ymm4 + + /* dR=dR*dT */ + vmulpd %ymm15, %ymm4, %ymm15 + + /* + * Reconstruction + * exp2 = {2^N later}*(Tj+Tj*poly) + * dN = dT+dT*dR*(a1+...+a4*dR^3) + */ + vfmadd213pd %ymm4, %ymm15, %ymm0 + + /* quick 2^N */ + vpaddq %ymm3, %ymm0, %ymm0 + + /* Finish */ + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm1, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 - - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm1, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 + + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call exp2@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call exp2@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_exp2_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dexp2_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dbT[(1<<7)][2]; - __declspec(align(32)) VUINT32 _dbShifter[4][2]; - __declspec(align(32)) VUINT32 _dPC1[4][2]; - __declspec(align(32)) VUINT32 _dPC2[4][2]; - __declspec(align(32)) VUINT32 _dPC3[4][2]; - __declspec(align(32)) VUINT32 _dPC4[4][2]; - __declspec(align(32)) VUINT32 _lIndexMask[4][2]; - __declspec(align(32)) VUINT32 _iAbsMask[8][1]; - __declspec(align(32)) VUINT32 _iDomainRange[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _dbT[(1<<7)][2]; + __declspec(align(32)) VUINT32 _dbShifter[4][2]; + __declspec(align(32)) VUINT32 _dPC1[4][2]; + __declspec(align(32)) VUINT32 _dPC2[4][2]; + __declspec(align(32)) VUINT32 _dPC3[4][2]; + __declspec(align(32)) VUINT32 _dPC4[4][2]; + __declspec(align(32)) VUINT32 _lIndexMask[4][2]; + __declspec(align(32)) VUINT32 _iAbsMask[8][1]; + __declspec(align(32)) VUINT32 _iDomainRange[8][1]; } __svml_dexp2_data_internal; #endif __svml_dexp2_data_internal: - /*== _dbT ==*/ - .quad 0x3ff0000000000000, 0x3ff0163da9fb3335 /*2^( 0 /128),2^( 1 /128)*/ - .quad 0x3ff02c9a3e778061, 0x3ff04315e86e7f85 /*2^( 2 /128),2^( 3 /128)*/ - .quad 0x3ff059b0d3158574, 0x3ff0706b29ddf6de /*2^( 4 /128),2^( 5 /128)*/ - .quad 0x3ff0874518759bc8, 0x3ff09e3ecac6f383 /*2^( 6 /128),2^( 7 /128)*/ - .quad 0x3ff0b5586cf9890f, 0x3ff0cc922b7247f7 /*2^( 8 /128),2^( 9 /128)*/ - .quad 0x3ff0e3ec32d3d1a2, 0x3ff0fb66affed31b /*2^( 10 /128),2^( 11 /128)*/ - .quad 0x3ff11301d0125b51, 0x3ff12abdc06c31cc /*2^( 12 /128),2^( 13 /128)*/ - .quad 0x3ff1429aaea92de0, 0x3ff15a98c8a58e51 /*2^( 14 /128),2^( 15 /128)*/ - .quad 0x3ff172b83c7d517b, 0x3ff18af9388c8dea /*2^( 16 /128),2^( 17 /128)*/ - .quad 0x3ff1a35beb6fcb75, 0x3ff1bbe084045cd4 /*2^( 18 /128),2^( 19 /128)*/ - .quad 0x3ff1d4873168b9aa, 0x3ff1ed5022fcd91d /*2^( 20 /128),2^( 21 /128)*/ - .quad 0x3ff2063b88628cd6, 0x3ff21f49917ddc96 /*2^( 22 /128),2^( 23 /128)*/ - .quad 0x3ff2387a6e756238, 0x3ff251ce4fb2a63f /*2^( 24 /128),2^( 25 /128)*/ - .quad 0x3ff26b4565e27cdd, 0x3ff284dfe1f56381 /*2^( 26 /128),2^( 27 /128)*/ - .quad 0x3ff29e9df51fdee1, 0x3ff2b87fd0dad990 /*2^( 28 /128),2^( 29 /128)*/ - .quad 0x3ff2d285a6e4030b, 0x3ff2ecafa93e2f56 /*2^( 30 /128),2^( 31 /128)*/ - .quad 0x3ff306fe0a31b715, 0x3ff32170fc4cd831 /*2^( 32 /128),2^( 33 /128)*/ - .quad 0x3ff33c08b26416ff, 0x3ff356c55f929ff1 /*2^( 34 /128),2^( 35 /128)*/ - .quad 0x3ff371a7373aa9cb, 0x3ff38cae6d05d866 /*2^( 36 /128),2^( 37 /128)*/ - .quad 0x3ff3a7db34e59ff7, 0x3ff3c32dc313a8e5 /*2^( 38 /128),2^( 39 /128)*/ - .quad 0x3ff3dea64c123422, 0x3ff3fa4504ac801c /*2^( 40 /128),2^( 41 /128)*/ - .quad 0x3ff4160a21f72e2a, 0x3ff431f5d950a897 /*2^( 42 /128),2^( 43 /128)*/ - .quad 0x3ff44e086061892d, 0x3ff46a41ed1d0057 /*2^( 44 /128),2^( 45 /128)*/ - .quad 0x3ff486a2b5c13cd0, 0x3ff4a32af0d7d3de /*2^( 46 /128),2^( 47 /128)*/ - .quad 0x3ff4bfdad5362a27, 0x3ff4dcb299fddd0d /*2^( 48 /128),2^( 49 /128)*/ - .quad 0x3ff4f9b2769d2ca7, 0x3ff516daa2cf6642 /*2^( 50 /128),2^( 51 /128)*/ - .quad 0x3ff5342b569d4f82, 0x3ff551a4ca5d920f /*2^( 52 /128),2^( 53 /128)*/ - .quad 0x3ff56f4736b527da, 0x3ff58d12d497c7fd /*2^( 54 /128),2^( 55 /128)*/ - .quad 0x3ff5ab07dd485429, 0x3ff5c9268a5946b7 /*2^( 56 /128),2^( 57 /128)*/ - .quad 0x3ff5e76f15ad2148, 0x3ff605e1b976dc09 /*2^( 58 /128),2^( 59 /128)*/ - .quad 0x3ff6247eb03a5585, 0x3ff6434634ccc320 /*2^( 60 /128),2^( 61 /128)*/ - .quad 0x3ff6623882552225, 0x3ff68155d44ca973 /*2^( 62 /128),2^( 63 /128)*/ - .quad 0x3ff6a09e667f3bcd, 0x3ff6c012750bdabf /*2^( 64 /128),2^( 65 /128)*/ - .quad 0x3ff6dfb23c651a2f, 0x3ff6ff7df9519484 /*2^( 66 /128),2^( 67 /128)*/ - .quad 0x3ff71f75e8ec5f74, 0x3ff73f9a48a58174 /*2^( 68 /128),2^( 69 /128)*/ - .quad 0x3ff75feb564267c9, 0x3ff780694fde5d3f /*2^( 70 /128),2^( 71 /128)*/ - .quad 0x3ff7a11473eb0187, 0x3ff7c1ed0130c132 /*2^( 72 /128),2^( 73 /128)*/ - .quad 0x3ff7e2f336cf4e62, 0x3ff80427543e1a12 /*2^( 74 /128),2^( 75 /128)*/ - .quad 0x3ff82589994cce13, 0x3ff8471a4623c7ad /*2^( 76 /128),2^( 77 /128)*/ - .quad 0x3ff868d99b4492ed, 0x3ff88ac7d98a6699 /*2^( 78 /128),2^( 79 /128)*/ - .quad 0x3ff8ace5422aa0db, 0x3ff8cf3216b5448c /*2^( 80 /128),2^( 81 /128)*/ - .quad 0x3ff8f1ae99157736, 0x3ff9145b0b91ffc6 /*2^( 82 /128),2^( 83 /128)*/ - .quad 0x3ff93737b0cdc5e5, 0x3ff95a44cbc8520f /*2^( 84 /128),2^( 85 /128)*/ - .quad 0x3ff97d829fde4e50, 0x3ff9a0f170ca07ba /*2^( 86 /128),2^( 87 /128)*/ - .quad 0x3ff9c49182a3f090, 0x3ff9e86319e32323 /*2^( 88 /128),2^( 89 /128)*/ - .quad 0x3ffa0c667b5de565, 0x3ffa309bec4a2d33 /*2^( 90 /128),2^( 91 /128)*/ - .quad 0x3ffa5503b23e255d, 0x3ffa799e1330b358 /*2^( 92 /128),2^( 93 /128)*/ - .quad 0x3ffa9e6b5579fdbf, 0x3ffac36bbfd3f37a /*2^( 94 /128),2^( 95 /128)*/ - .quad 0x3ffae89f995ad3ad, 0x3ffb0e07298db666 /*2^( 96 /128),2^( 97 /128)*/ - .quad 0x3ffb33a2b84f15fb, 0x3ffb59728de5593a /*2^( 98 /128),2^( 99 /128)*/ - .quad 0x3ffb7f76f2fb5e47, 0x3ffba5b030a1064a /*2^( 100 /128),2^( 101 /128)*/ - .quad 0x3ffbcc1e904bc1d2, 0x3ffbf2c25bd71e09 /*2^( 102 /128),2^( 103 /128)*/ - .quad 0x3ffc199bdd85529c, 0x3ffc40ab5fffd07a /*2^( 104 /128),2^( 105 /128)*/ - .quad 0x3ffc67f12e57d14b, 0x3ffc8f6d9406e7b5 /*2^( 106 /128),2^( 107 /128)*/ - .quad 0x3ffcb720dcef9069, 0x3ffcdf0b555dc3fa /*2^( 108 /128),2^( 109 /128)*/ - .quad 0x3ffd072d4a07897c, 0x3ffd2f87080d89f2 /*2^( 110 /128),2^( 111 /128)*/ - .quad 0x3ffd5818dcfba487, 0x3ffd80e316c98398 /*2^( 112 /128),2^( 113 /128)*/ - .quad 0x3ffda9e603db3285, 0x3ffdd321f301b460 /*2^( 114 /128),2^( 115 /128)*/ - .quad 0x3ffdfc97337b9b5f, 0x3ffe264614f5a129 /*2^( 116 /128),2^( 117 /128)*/ - .quad 0x3ffe502ee78b3ff6, 0x3ffe7a51fbc74c83 /*2^( 118 /128),2^( 119 /128)*/ - .quad 0x3ffea4afa2a490da, 0x3ffecf482d8e67f1 /*2^( 120 /128),2^( 121 /128)*/ - .quad 0x3ffefa1bee615a27, 0x3fff252b376bba97 /*2^( 122 /128),2^( 123 /128)*/ - .quad 0x3fff50765b6e4540, 0x3fff7bfdad9cbe14 /*2^( 124 /128),2^( 125 /128)*/ - .quad 0x3fffa7c1819e90d8, 0x3fffd3c22b8f71f1 /*2^( 126 /128),2^( 127 /128)*/ - .align 32 - .quad 0x42c8000000000000, 0x42c8000000000000, 0x42c8000000000000, 0x42c8000000000000 /* _dbShifter - 0x433-7=0x42c shifted right on K!*/ - //log2(relerr) = -53.547756365162 - .align 32 - .quad 0x3fe62e42fefa3685, 0x3fe62e42fefa3685, 0x3fe62e42fefa3685, 0x3fe62e42fefa3685 /* _dPC1 */ - .align 32 - .quad 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48 /* _dPC2 */ - .align 32 - .quad 0x3fac6b09b180f045, 0x3fac6b09b180f045, 0x3fac6b09b180f045, 0x3fac6b09b180f045 /* _dPC3 */ - .align 32 - .quad 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f /* _dPC4 */ - .align 32 - .quad 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f /* _lIndexMask =(2^K-1)*/ - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ - .align 32 - .long 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff /* _iDomainRange */ - .align 32 - .type __svml_dexp2_data_internal,@object - .size __svml_dexp2_data_internal,.-__svml_dexp2_data_internal + /* _dbT */ + .quad 0x3ff0000000000000, 0x3ff0163da9fb3335 /* 2^( 0 /128), 2^( 1 /128) */ + .quad 0x3ff02c9a3e778061, 0x3ff04315e86e7f85 /* 2^( 2 /128), 2^( 3 /128) */ + .quad 0x3ff059b0d3158574, 0x3ff0706b29ddf6de /* 2^( 4 /128), 2^( 5 /128) */ + .quad 0x3ff0874518759bc8, 0x3ff09e3ecac6f383 /* 2^( 6 /128), 2^( 7 /128) */ + .quad 0x3ff0b5586cf9890f, 0x3ff0cc922b7247f7 /* 2^( 8 /128), 2^( 9 /128) */ + .quad 0x3ff0e3ec32d3d1a2, 0x3ff0fb66affed31b /* 2^( 10 /128), 2^( 11 /128) */ + .quad 0x3ff11301d0125b51, 0x3ff12abdc06c31cc /* 2^( 12 /128), 2^( 13 /128) */ + .quad 0x3ff1429aaea92de0, 0x3ff15a98c8a58e51 /* 2^( 14 /128), 2^( 15 /128) */ + .quad 0x3ff172b83c7d517b, 0x3ff18af9388c8dea /* 2^( 16 /128), 2^( 17 /128) */ + .quad 0x3ff1a35beb6fcb75, 0x3ff1bbe084045cd4 /* 2^( 18 /128), 2^( 19 /128) */ + .quad 0x3ff1d4873168b9aa, 0x3ff1ed5022fcd91d /* 2^( 20 /128), 2^( 21 /128) */ + .quad 0x3ff2063b88628cd6, 0x3ff21f49917ddc96 /* 2^( 22 /128), 2^( 23 /128) */ + .quad 0x3ff2387a6e756238, 0x3ff251ce4fb2a63f /* 2^( 24 /128), 2^( 25 /128) */ + .quad 0x3ff26b4565e27cdd, 0x3ff284dfe1f56381 /* 2^( 26 /128), 2^( 27 /128) */ + .quad 0x3ff29e9df51fdee1, 0x3ff2b87fd0dad990 /* 2^( 28 /128), 2^( 29 /128) */ + .quad 0x3ff2d285a6e4030b, 0x3ff2ecafa93e2f56 /* 2^( 30 /128), 2^( 31 /128) */ + .quad 0x3ff306fe0a31b715, 0x3ff32170fc4cd831 /* 2^( 32 /128), 2^( 33 /128) */ + .quad 0x3ff33c08b26416ff, 0x3ff356c55f929ff1 /* 2^( 34 /128), 2^( 35 /128) */ + .quad 0x3ff371a7373aa9cb, 0x3ff38cae6d05d866 /* 2^( 36 /128), 2^( 37 /128) */ + .quad 0x3ff3a7db34e59ff7, 0x3ff3c32dc313a8e5 /* 2^( 38 /128), 2^( 39 /128) */ + .quad 0x3ff3dea64c123422, 0x3ff3fa4504ac801c /* 2^( 40 /128), 2^( 41 /128) */ + .quad 0x3ff4160a21f72e2a, 0x3ff431f5d950a897 /* 2^( 42 /128), 2^( 43 /128) */ + .quad 0x3ff44e086061892d, 0x3ff46a41ed1d0057 /* 2^( 44 /128), 2^( 45 /128) */ + .quad 0x3ff486a2b5c13cd0, 0x3ff4a32af0d7d3de /* 2^( 46 /128), 2^( 47 /128) */ + .quad 0x3ff4bfdad5362a27, 0x3ff4dcb299fddd0d /* 2^( 48 /128), 2^( 49 /128) */ + .quad 0x3ff4f9b2769d2ca7, 0x3ff516daa2cf6642 /* 2^( 50 /128), 2^( 51 /128) */ + .quad 0x3ff5342b569d4f82, 0x3ff551a4ca5d920f /* 2^( 52 /128), 2^( 53 /128) */ + .quad 0x3ff56f4736b527da, 0x3ff58d12d497c7fd /* 2^( 54 /128), 2^( 55 /128) */ + .quad 0x3ff5ab07dd485429, 0x3ff5c9268a5946b7 /* 2^( 56 /128), 2^( 57 /128) */ + .quad 0x3ff5e76f15ad2148, 0x3ff605e1b976dc09 /* 2^( 58 /128), 2^( 59 /128) */ + .quad 0x3ff6247eb03a5585, 0x3ff6434634ccc320 /* 2^( 60 /128), 2^( 61 /128) */ + .quad 0x3ff6623882552225, 0x3ff68155d44ca973 /* 2^( 62 /128), 2^( 63 /128) */ + .quad 0x3ff6a09e667f3bcd, 0x3ff6c012750bdabf /* 2^( 64 /128), 2^( 65 /128) */ + .quad 0x3ff6dfb23c651a2f, 0x3ff6ff7df9519484 /* 2^( 66 /128), 2^( 67 /128) */ + .quad 0x3ff71f75e8ec5f74, 0x3ff73f9a48a58174 /* 2^( 68 /128), 2^( 69 /128) */ + .quad 0x3ff75feb564267c9, 0x3ff780694fde5d3f /* 2^( 70 /128), 2^( 71 /128) */ + .quad 0x3ff7a11473eb0187, 0x3ff7c1ed0130c132 /* 2^( 72 /128), 2^( 73 /128) */ + .quad 0x3ff7e2f336cf4e62, 0x3ff80427543e1a12 /* 2^( 74 /128), 2^( 75 /128) */ + .quad 0x3ff82589994cce13, 0x3ff8471a4623c7ad /* 2^( 76 /128), 2^( 77 /128) */ + .quad 0x3ff868d99b4492ed, 0x3ff88ac7d98a6699 /* 2^( 78 /128), 2^( 79 /128) */ + .quad 0x3ff8ace5422aa0db, 0x3ff8cf3216b5448c /* 2^( 80 /128), 2^( 81 /128) */ + .quad 0x3ff8f1ae99157736, 0x3ff9145b0b91ffc6 /* 2^( 82 /128), 2^( 83 /128) */ + .quad 0x3ff93737b0cdc5e5, 0x3ff95a44cbc8520f /* 2^( 84 /128), 2^( 85 /128) */ + .quad 0x3ff97d829fde4e50, 0x3ff9a0f170ca07ba /* 2^( 86 /128), 2^( 87 /128) */ + .quad 0x3ff9c49182a3f090, 0x3ff9e86319e32323 /* 2^( 88 /128), 2^( 89 /128) */ + .quad 0x3ffa0c667b5de565, 0x3ffa309bec4a2d33 /* 2^( 90 /128), 2^( 91 /128) */ + .quad 0x3ffa5503b23e255d, 0x3ffa799e1330b358 /* 2^( 92 /128), 2^( 93 /128) */ + .quad 0x3ffa9e6b5579fdbf, 0x3ffac36bbfd3f37a /* 2^( 94 /128), 2^( 95 /128) */ + .quad 0x3ffae89f995ad3ad, 0x3ffb0e07298db666 /* 2^( 96 /128), 2^( 97 /128) */ + .quad 0x3ffb33a2b84f15fb, 0x3ffb59728de5593a /* 2^( 98 /128), 2^( 99 /128) */ + .quad 0x3ffb7f76f2fb5e47, 0x3ffba5b030a1064a /* 2^( 100 /128), 2^( 101 /128) */ + .quad 0x3ffbcc1e904bc1d2, 0x3ffbf2c25bd71e09 /* 2^( 102 /128), 2^( 103 /128) */ + .quad 0x3ffc199bdd85529c, 0x3ffc40ab5fffd07a /* 2^( 104 /128), 2^( 105 /128) */ + .quad 0x3ffc67f12e57d14b, 0x3ffc8f6d9406e7b5 /* 2^( 106 /128), 2^( 107 /128) */ + .quad 0x3ffcb720dcef9069, 0x3ffcdf0b555dc3fa /* 2^( 108 /128), 2^( 109 /128) */ + .quad 0x3ffd072d4a07897c, 0x3ffd2f87080d89f2 /* 2^( 110 /128), 2^( 111 /128) */ + .quad 0x3ffd5818dcfba487, 0x3ffd80e316c98398 /* 2^( 112 /128), 2^( 113 /128) */ + .quad 0x3ffda9e603db3285, 0x3ffdd321f301b460 /* 2^( 114 /128), 2^( 115 /128) */ + .quad 0x3ffdfc97337b9b5f, 0x3ffe264614f5a129 /* 2^( 116 /128), 2^( 117 /128) */ + .quad 0x3ffe502ee78b3ff6, 0x3ffe7a51fbc74c83 /* 2^( 118 /128), 2^( 119 /128) */ + .quad 0x3ffea4afa2a490da, 0x3ffecf482d8e67f1 /* 2^( 120 /128), 2^( 121 /128) */ + .quad 0x3ffefa1bee615a27, 0x3fff252b376bba97 /* 2^( 122 /128), 2^( 123 /128) */ + .quad 0x3fff50765b6e4540, 0x3fff7bfdad9cbe14 /* 2^( 124 /128), 2^( 125 /128) */ + .quad 0x3fffa7c1819e90d8, 0x3fffd3c22b8f71f1 /* 2^( 126 /128), 2^( 127 /128) */ + .align 32 + .quad 0x42c8000000000000, 0x42c8000000000000, 0x42c8000000000000, 0x42c8000000000000 /* _dbShifter - 0x433-7=0x42c shifted right on K! */ + //log2(relerr) = -53.547756365162 + .align 32 + .quad 0x3fe62e42fefa3685, 0x3fe62e42fefa3685, 0x3fe62e42fefa3685, 0x3fe62e42fefa3685 /* _dPC1 */ + .align 32 + .quad 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48, 0x3fcebfbdff82ca48 /* _dPC2 */ + .align 32 + .quad 0x3fac6b09b180f045, 0x3fac6b09b180f045, 0x3fac6b09b180f045, 0x3fac6b09b180f045 /* _dPC3 */ + .align 32 + .quad 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f, 0x3f83b2ab5bb1268f /* _dPC4 */ + .align 32 + .quad 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f /* _lIndexMask =(2^K-1) */ + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _iAbsMask */ + .align 32 + .long 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff, 0x408fefff /* _iDomainRange */ + .align 32 + .type __svml_dexp2_data_internal, @object + .size __svml_dexp2_data_internal, .-__svml_dexp2_data_internal From patchwork Mon Mar 7 15:01:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602276 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=iFISyfOj; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2Th08vVz9sFk for ; Tue, 8 Mar 2022 02:30:32 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 200BD3858435 for ; Mon, 7 Mar 2022 15:30:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 200BD3858435 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667030; bh=/mlPLqxmyAZUeC8KaJ+h/u/eK501X6wb9jsoNaSJALA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=iFISyfOjGR09H0pPygc7V6l2q3dpkqFrf+WueDiCERqwe9dukpX94Vl+yilPKLlhA LTD51dxB0/mfNMBfWmSJOmrE9wUqkhgsgTR/Wduk/LsoIgST7lduZUYYTNj/jhzW2n 6T/1AB8N+h7ubGy/Ao0UgUF2ErBsvF0hFWkbB/n8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id DB879385840E for ; Mon, 7 Mar 2022 15:02:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DB879385840E X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113944" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113944" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274098" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eq016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 078/126] x86_64: Fix svml_d_exp28_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:13 -0800 Message-Id: <20220307150201.10590-79-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_exp28_core_avx512.S | 439 +++++++++--------- 1 file changed, 219 insertions(+), 220 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S index d560a901c4..7a85fd8b18 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_exp28_core_avx512.S @@ -52,250 +52,249 @@ /* Offsets for data table __svml_dexp2_data_internal_avx512 */ -#define Frac_PowerD0 0 -#define poly_coeff1 128 -#define poly_coeff2 192 -#define poly_coeff3 256 -#define poly_coeff4 320 -#define poly_coeff5 384 -#define poly_coeff6 448 -#define add_const 512 -#define AbsMask 576 -#define Threshold 640 -#define _lIndexMask 704 +#define Frac_PowerD0 0 +#define poly_coeff1 128 +#define poly_coeff2 192 +#define poly_coeff3 256 +#define poly_coeff4 320 +#define poly_coeff5 384 +#define poly_coeff6 448 +#define add_const 512 +#define AbsMask 576 +#define Threshold 640 +#define _lIndexMask 704 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_exp2_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups poly_coeff5+__svml_dexp2_data_internal_avx512(%rip), %zmm14 - vmovups poly_coeff6+__svml_dexp2_data_internal_avx512(%rip), %zmm6 - -/* - * Reduced argument - * where VREDUCE is available - */ - vreducepd $65, {sae}, %zmm0, %zmm10 - vmovups poly_coeff4+__svml_dexp2_data_internal_avx512(%rip), %zmm7 - vmovups add_const+__svml_dexp2_data_internal_avx512(%rip), %zmm3 - vmovups poly_coeff3+__svml_dexp2_data_internal_avx512(%rip), %zmm8 - vmovups __svml_dexp2_data_internal_avx512(%rip), %zmm13 - -/* c6*r + c5 */ - vfmadd231pd {rn-sae}, %zmm10, %zmm6, %zmm14 - vmovups poly_coeff2+__svml_dexp2_data_internal_avx512(%rip), %zmm9 - vmovups Threshold+__svml_dexp2_data_internal_avx512(%rip), %zmm2 - -/* - * - * HA - * Variables and constants - * Load constants and vector(s) - */ - vmovups poly_coeff1+__svml_dexp2_data_internal_avx512(%rip), %zmm11 - -/* c6*r^2 + c5*r + c4 */ - vfmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm14 - -/* - * Integer form of K+0.b1b2b3b4 in lower bits - call K_plus_f0 - * Mantisssa of normalized double precision FP: 1.b1b2...b52 - */ - vaddpd {rd-sae}, %zmm3, %zmm0, %zmm4 - vandpd AbsMask+__svml_dexp2_data_internal_avx512(%rip), %zmm0, %zmm1 - -/* c6*r^3 + c5*r^2 + c4*r + c3 */ - vfmadd213pd {rn-sae}, %zmm8, %zmm10, %zmm14 - vcmppd $29, {sae}, %zmm2, %zmm1, %k0 - -/* c6*r^4 + c5*r^3 + c4*r^2 + c3*r + c2 */ - vfmadd213pd {rn-sae}, %zmm9, %zmm10, %zmm14 - kmovw %k0, %edx - -/* c6*r^5 + c5*r^4 + c4*r^3 + c3*r^2 + c2*r + c1 */ - vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm14 - -/* Table value: 2^(0.b1b2b3b4) */ - vpandq _lIndexMask+__svml_dexp2_data_internal_avx512(%rip), %zmm4, %zmm5 - vpermt2pd Frac_PowerD0+64+__svml_dexp2_data_internal_avx512(%rip), %zmm5, %zmm13 - -/* T*r */ - vmulpd {rn-sae}, %zmm10, %zmm13, %zmm12 - -/* T + (T*r*(c6*r^5 + c5*r^4 + c4*r^3 + c3*r^2 + c2*r + c1)) */ - vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm14 - -/* Scaling placed at the end to avoid accuracy loss when T*r*scale underflows */ - vscalefpd {rn-sae}, %zmm0, %zmm14, %zmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups poly_coeff5+__svml_dexp2_data_internal_avx512(%rip), %zmm14 + vmovups poly_coeff6+__svml_dexp2_data_internal_avx512(%rip), %zmm6 + + /* + * Reduced argument + * where VREDUCE is available + */ + vreducepd $65, {sae}, %zmm0, %zmm10 + vmovups poly_coeff4+__svml_dexp2_data_internal_avx512(%rip), %zmm7 + vmovups add_const+__svml_dexp2_data_internal_avx512(%rip), %zmm3 + vmovups poly_coeff3+__svml_dexp2_data_internal_avx512(%rip), %zmm8 + vmovups __svml_dexp2_data_internal_avx512(%rip), %zmm13 + + /* c6*r + c5 */ + vfmadd231pd {rn-sae}, %zmm10, %zmm6, %zmm14 + vmovups poly_coeff2+__svml_dexp2_data_internal_avx512(%rip), %zmm9 + vmovups Threshold+__svml_dexp2_data_internal_avx512(%rip), %zmm2 + + /* + * + * HA + * Variables and constants + * Load constants and vector(s) + */ + vmovups poly_coeff1+__svml_dexp2_data_internal_avx512(%rip), %zmm11 + + /* c6*r^2 + c5*r + c4 */ + vfmadd213pd {rn-sae}, %zmm7, %zmm10, %zmm14 + + /* + * Integer form of K+0.b1b2b3b4 in lower bits - call K_plus_f0 + * Mantisssa of normalized double precision FP: 1.b1b2...b52 + */ + vaddpd {rd-sae}, %zmm3, %zmm0, %zmm4 + vandpd AbsMask+__svml_dexp2_data_internal_avx512(%rip), %zmm0, %zmm1 + + /* c6*r^3 + c5*r^2 + c4*r + c3 */ + vfmadd213pd {rn-sae}, %zmm8, %zmm10, %zmm14 + vcmppd $29, {sae}, %zmm2, %zmm1, %k0 + + /* c6*r^4 + c5*r^3 + c4*r^2 + c3*r + c2 */ + vfmadd213pd {rn-sae}, %zmm9, %zmm10, %zmm14 + kmovw %k0, %edx + + /* c6*r^5 + c5*r^4 + c4*r^3 + c3*r^2 + c2*r + c1 */ + vfmadd213pd {rn-sae}, %zmm11, %zmm10, %zmm14 + + /* Table value: 2^(0.b1b2b3b4) */ + vpandq _lIndexMask+__svml_dexp2_data_internal_avx512(%rip), %zmm4, %zmm5 + vpermt2pd Frac_PowerD0+64+__svml_dexp2_data_internal_avx512(%rip), %zmm5, %zmm13 + + /* T*r */ + vmulpd {rn-sae}, %zmm10, %zmm13, %zmm12 + + /* T + (T*r*(c6*r^5 + c5*r^4 + c4*r^3 + c3*r^2 + c2*r + c1)) */ + vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm14 + + /* Scaling placed at the end to avoid accuracy loss when T*r*scale underflows */ + vscalefpd {rn-sae}, %zmm0, %zmm14, %zmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm1, %zmm0 - 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 - */ + vmovaps %zmm1, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm1, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm1 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm1 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call exp2@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call exp2@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_exp2_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dexp2_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Frac_PowerD0[16][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 add_const[8][2]; - __declspec(align(64)) VUINT32 AbsMask[8][2]; - __declspec(align(64)) VUINT32 Threshold[8][2]; - __declspec(align(64)) VUINT32 _lIndexMask[8][2]; + __declspec(align(64)) VUINT32 Frac_PowerD0[16][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 add_const[8][2]; + __declspec(align(64)) VUINT32 AbsMask[8][2]; + __declspec(align(64)) VUINT32 Threshold[8][2]; + __declspec(align(64)) VUINT32 _lIndexMask[8][2]; } __svml_dexp2_data_internal_avx512; #endif __svml_dexp2_data_internal_avx512: - /*== Frac_PowerD0 ==*/ - .quad 0x3FF0000000000000 - .quad 0x3FF0B5586CF9890F - .quad 0x3FF172B83C7D517B - .quad 0x3FF2387A6E756238 - .quad 0x3FF306FE0A31B715 - .quad 0x3FF3DEA64C123422 - .quad 0x3FF4BFDAD5362A27 - .quad 0x3FF5AB07DD485429 - .quad 0x3FF6A09E667F3BCD - .quad 0x3FF7A11473EB0187 - .quad 0x3FF8ACE5422AA0DB - .quad 0x3FF9C49182A3F090 - .quad 0x3FFAE89F995AD3AD - .quad 0x3FFC199BDD85529C - .quad 0x3FFD5818DCFBA487 - .quad 0x3FFEA4AFA2A490DA - .align 64 - .quad 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B /*== poly_coeff1 ==*/ - .align 64 - .quad 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A /*== poly_coeff2 ==*/ - .align 64 - .quad 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9 /*== poly_coeff3 ==*/ - .align 64 - .quad 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252 /*== poly_coeff4 ==*/ - .align 64 - .quad 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19 /*== poly_coeff5 ==*/ - .align 64 - .quad 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B /*== poly_coeff6 ==*/ - .align 64 - .quad 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000 /* add_const */ - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* AbsMask */ - .align 64 - .quad 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000 /* Threshold */ - .align 64 - .quad 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F /* _lIndexMask */ - .align 64 - .type __svml_dexp2_data_internal_avx512,@object - .size __svml_dexp2_data_internal_avx512,.-__svml_dexp2_data_internal_avx512 + /* Frac_PowerD0 */ + .quad 0x3FF0000000000000 + .quad 0x3FF0B5586CF9890F + .quad 0x3FF172B83C7D517B + .quad 0x3FF2387A6E756238 + .quad 0x3FF306FE0A31B715 + .quad 0x3FF3DEA64C123422 + .quad 0x3FF4BFDAD5362A27 + .quad 0x3FF5AB07DD485429 + .quad 0x3FF6A09E667F3BCD + .quad 0x3FF7A11473EB0187 + .quad 0x3FF8ACE5422AA0DB + .quad 0x3FF9C49182A3F090 + .quad 0x3FFAE89F995AD3AD + .quad 0x3FFC199BDD85529C + .quad 0x3FFD5818DCFBA487 + .quad 0x3FFEA4AFA2A490DA + .align 64 + .quad 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B, 0x3FE62E42FEFA398B /* == poly_coeff1 == */ + .align 64 + .quad 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A, 0x3FCEBFBDFF84555A /* == poly_coeff2 == */ + .align 64 + .quad 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9, 0x3FAC6B08D4AD86B9 /* == poly_coeff3 == */ + .align 64 + .quad 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252, 0x3F83B2AD1B172252 /* == poly_coeff4 == */ + .align 64 + .quad 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19, 0x3F55D7472713CD19 /* == poly_coeff5 == */ + .align 64 + .quad 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B, 0x3F24A1D7F526371B /* == poly_coeff6 == */ + .align 64 + .quad 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000, 0x42F8000000000000 /* add_const */ + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* AbsMask */ + .align 64 + .quad 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000, 0x408fefff00000000 /* Threshold */ + .align 64 + .quad 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F, 0x000000000000000F /* _lIndexMask */ + .align 64 + .type __svml_dexp2_data_internal_avx512, @object + .size __svml_dexp2_data_internal_avx512, .-__svml_dexp2_data_internal_avx512 From patchwork Mon Mar 7 15:01:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602274 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=co52DP5Z; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2S35ZVzz9sFk for ; Tue, 8 Mar 2022 02:29:07 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E089C385842C for ; Mon, 7 Mar 2022 15:29:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E089C385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666945; bh=CSu5WcIJpbHRJLY6Zwc2/sNBtcxSIA2h+qafU4Pwhx4=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=co52DP5ZPtC01XO4kGMQn1pemkWcGyvbrsXBWMwntxarljxstVufsJoZNLGau/GWW DEe/xrO0dot0B9ANjOmGhPyNXW6DcOz/vpT/JbNq6RfcEOnD4fWrF21mLZerW/yXn0 qbabJrfIAIEKXEWERAJ11cRmO0yYryIo5dZS2CIs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by sourceware.org (Postfix) with ESMTPS id 2D168385843E for ; Mon, 7 Mar 2022 15:02:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2D168385843E X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254599182" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254599182" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081823" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21er016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 079/126] x86_64: Fix svml_s_expm1f16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:14 -0800 Message-Id: <20220307150201.10590-80-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_expm1f16_core_avx512.S | 443 +++++++++--------- 1 file changed, 221 insertions(+), 222 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S index caf23e10af..71d23e632c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f16_core_avx512.S @@ -31,251 +31,250 @@ /* Offsets for data table __svml_sexpm1_data_internal_avx512 */ -#define Exp_tbl_H 0 -#define Exp_tbl_L 128 -#define L2E 256 -#define Shifter 320 -#define Threshold 384 -#define SgnMask 448 -#define L2H 512 -#define L2L 576 -#define EMask 640 -#define poly_coeff3 704 -#define poly_coeff2 768 -#define One 832 +#define Exp_tbl_H 0 +#define Exp_tbl_L 128 +#define L2E 256 +#define Shifter 320 +#define Threshold 384 +#define SgnMask 448 +#define L2H 512 +#define L2L 576 +#define EMask 640 +#define poly_coeff3 704 +#define poly_coeff2 768 +#define One 832 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_expm1f_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups L2E+__svml_sexpm1_data_internal_avx512(%rip), %zmm5 - vmovups Shifter+__svml_sexpm1_data_internal_avx512(%rip), %zmm3 - vmovups L2H+__svml_sexpm1_data_internal_avx512(%rip), %zmm8 - vmovups L2L+__svml_sexpm1_data_internal_avx512(%rip), %zmm4 - vmovups __svml_sexpm1_data_internal_avx512(%rip), %zmm6 - -/* polynomial */ - vmovups poly_coeff3+__svml_sexpm1_data_internal_avx512(%rip), %zmm9 - vmovups poly_coeff2+__svml_sexpm1_data_internal_avx512(%rip), %zmm12 - vmovups Exp_tbl_L+__svml_sexpm1_data_internal_avx512(%rip), %zmm11 - vmovups Threshold+__svml_sexpm1_data_internal_avx512(%rip), %zmm2 - -/* Th - 1 */ - vmovups One+__svml_sexpm1_data_internal_avx512(%rip), %zmm14 - vmovaps %zmm0, %zmm1 - -/* 2^(52-5)*1.5 + x * log2(e) */ - vfmadd213ps {rn-sae}, %zmm3, %zmm1, %zmm5 - vcmpps $29, {sae}, %zmm2, %zmm1, %k0 - -/* Z0 ~ x*log2(e), rounded to 5 fractional bits */ - vsubps {rn-sae}, %zmm3, %zmm5, %zmm7 - vpermt2ps Exp_tbl_H+64+__svml_sexpm1_data_internal_avx512(%rip), %zmm5, %zmm6 - vpermt2ps Exp_tbl_L+64+__svml_sexpm1_data_internal_avx512(%rip), %zmm5, %zmm11 - vandps SgnMask+__svml_sexpm1_data_internal_avx512(%rip), %zmm1, %zmm0 - -/* R = x - Z0*log(2) */ - vfnmadd213ps {rn-sae}, %zmm1, %zmm7, %zmm8 - -/* scale Th */ - vscalefps {rn-sae}, %zmm7, %zmm6, %zmm2 - vfnmadd231ps {rn-sae}, %zmm7, %zmm4, %zmm8 - kmovw %k0, %edx - -/* ensure |R|<2 even for special cases */ - vandps EMask+__svml_sexpm1_data_internal_avx512(%rip), %zmm8, %zmm13 - vsubps {rn-sae}, %zmm14, %zmm2, %zmm8 - vmulps {rn-sae}, %zmm13, %zmm13, %zmm10 - vfmadd231ps {rn-sae}, %zmm13, %zmm9, %zmm12 - -/* Tlr + R+ R2*Poly */ - vfmadd213ps {rn-sae}, %zmm11, %zmm10, %zmm12 - vaddps {rn-sae}, %zmm13, %zmm12, %zmm15 - -/* (Th-1)+Th*(Tlr + R+ R*Poly) */ - vfmadd213ps {rn-sae}, %zmm8, %zmm15, %zmm2 - vorps %zmm0, %zmm2, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups L2E+__svml_sexpm1_data_internal_avx512(%rip), %zmm5 + vmovups Shifter+__svml_sexpm1_data_internal_avx512(%rip), %zmm3 + vmovups L2H+__svml_sexpm1_data_internal_avx512(%rip), %zmm8 + vmovups L2L+__svml_sexpm1_data_internal_avx512(%rip), %zmm4 + vmovups __svml_sexpm1_data_internal_avx512(%rip), %zmm6 + + /* polynomial */ + vmovups poly_coeff3+__svml_sexpm1_data_internal_avx512(%rip), %zmm9 + vmovups poly_coeff2+__svml_sexpm1_data_internal_avx512(%rip), %zmm12 + vmovups Exp_tbl_L+__svml_sexpm1_data_internal_avx512(%rip), %zmm11 + vmovups Threshold+__svml_sexpm1_data_internal_avx512(%rip), %zmm2 + + /* Th - 1 */ + vmovups One+__svml_sexpm1_data_internal_avx512(%rip), %zmm14 + vmovaps %zmm0, %zmm1 + + /* 2^(52-5)*1.5 + x * log2(e) */ + vfmadd213ps {rn-sae}, %zmm3, %zmm1, %zmm5 + vcmpps $29, {sae}, %zmm2, %zmm1, %k0 + + /* Z0 ~ x*log2(e), rounded to 5 fractional bits */ + vsubps {rn-sae}, %zmm3, %zmm5, %zmm7 + vpermt2ps Exp_tbl_H+64+__svml_sexpm1_data_internal_avx512(%rip), %zmm5, %zmm6 + vpermt2ps Exp_tbl_L+64+__svml_sexpm1_data_internal_avx512(%rip), %zmm5, %zmm11 + vandps SgnMask+__svml_sexpm1_data_internal_avx512(%rip), %zmm1, %zmm0 + + /* R = x - Z0*log(2) */ + vfnmadd213ps {rn-sae}, %zmm1, %zmm7, %zmm8 + + /* scale Th */ + vscalefps {rn-sae}, %zmm7, %zmm6, %zmm2 + vfnmadd231ps {rn-sae}, %zmm7, %zmm4, %zmm8 + kmovw %k0, %edx + + /* ensure |R|<2 even for special cases */ + vandps EMask+__svml_sexpm1_data_internal_avx512(%rip), %zmm8, %zmm13 + vsubps {rn-sae}, %zmm14, %zmm2, %zmm8 + vmulps {rn-sae}, %zmm13, %zmm13, %zmm10 + vfmadd231ps {rn-sae}, %zmm13, %zmm9, %zmm12 + + /* Tlr + R+ R2*Poly */ + vfmadd213ps {rn-sae}, %zmm11, %zmm10, %zmm12 + vaddps {rn-sae}, %zmm13, %zmm12, %zmm15 + + /* (Th-1)+Th*(Tlr + R+ R*Poly) */ + vfmadd213ps {rn-sae}, %zmm8, %zmm15, %zmm2 + vorps %zmm0, %zmm2, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm1, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm1, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call expm1f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call expm1f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_expm1f_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_sexpm1_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Exp_tbl_H[32][1]; - __declspec(align(64)) VUINT32 Exp_tbl_L[32][1]; - __declspec(align(64)) VUINT32 L2E[16][1]; - __declspec(align(64)) VUINT32 Shifter[16][1]; - __declspec(align(64)) VUINT32 Threshold[16][1]; - __declspec(align(64)) VUINT32 SgnMask[16][1]; - __declspec(align(64)) VUINT32 L2H[16][1]; - __declspec(align(64)) VUINT32 L2L[16][1]; - __declspec(align(64)) VUINT32 EMask[16][1]; - __declspec(align(64)) VUINT32 poly_coeff3[16][1]; - __declspec(align(64)) VUINT32 poly_coeff2[16][1]; - __declspec(align(64)) VUINT32 One[16][1]; - } __svml_sexpm1_data_internal_avx512; + __declspec(align(64)) VUINT32 Exp_tbl_H[32][1]; + __declspec(align(64)) VUINT32 Exp_tbl_L[32][1]; + __declspec(align(64)) VUINT32 L2E[16][1]; + __declspec(align(64)) VUINT32 Shifter[16][1]; + __declspec(align(64)) VUINT32 Threshold[16][1]; + __declspec(align(64)) VUINT32 SgnMask[16][1]; + __declspec(align(64)) VUINT32 L2H[16][1]; + __declspec(align(64)) VUINT32 L2L[16][1]; + __declspec(align(64)) VUINT32 EMask[16][1]; + __declspec(align(64)) VUINT32 poly_coeff3[16][1]; + __declspec(align(64)) VUINT32 poly_coeff2[16][1]; + __declspec(align(64)) VUINT32 One[16][1]; +} __svml_sexpm1_data_internal_avx512; #endif __svml_sexpm1_data_internal_avx512: - /*== Exp_tbl_H ==*/ - .long 0x3f800000, 0x3f82cd87, 0x3f85aac3, 0x3f88980f - .long 0x3f8b95c2, 0x3f8ea43a, 0x3f91c3d3, 0x3f94f4f0 - .long 0x3f9837f0, 0x3f9b8d3a, 0x3f9ef532, 0x3fa27043 - .long 0x3fa5fed7, 0x3fa9a15b, 0x3fad583f, 0x3fb123f6 - .long 0x3fb504f3, 0x3fb8fbaf, 0x3fbd08a4, 0x3fc12c4d - .long 0x3fc5672a, 0x3fc9b9be, 0x3fce248c, 0x3fd2a81e - .long 0x3fd744fd, 0x3fdbfbb8, 0x3fe0ccdf, 0x3fe5b907 - .long 0x3feac0c7, 0x3fefe4ba, 0x3ff5257d, 0x3ffa83b3 - /*== Exp_tbl_L ==*/ - .align 64 - .long 0x00000000, 0xb34a3a0a, 0x3346cb6a, 0xb36ed17e - .long 0xb24e0611, 0xb3517dd9, 0x334b2482, 0xb31586de - .long 0x33092801, 0xb2e6f467, 0x331b85f2, 0x3099b6f1 - .long 0xb3051aa8, 0xb2e2a0da, 0xb2006c56, 0xb3365942 - .long 0x329302ae, 0x32c595dc, 0xb302e5a2, 0xb28e10a1 - .long 0x31b3d0e5, 0xb31a472b, 0x31d1daf2, 0xb305bf64 - .long 0xb27ce182, 0xb2f26443, 0xb1b4b0da, 0xb1da8a8f - .long 0xb1d290be, 0xb2d5b899, 0x31b0a147, 0xb2156afc - /*== log2(e) ==*/ - .align 64 - .long 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B - /*== Shifter=2^(23-5)*1.5 ==*/ - .align 64 - .long 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000 - /*== Threshold ==*/ - .align 64 - .long 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B - /*== Sgn ==*/ - .align 64 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - /*== L2L = log(2)_low ==*/ - .align 64 - .long 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308 - /*== EMask ==*/ - .align 64 - .long 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff - /*== poly_coeff3 ==*/ - .align 64 - .long 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3 - /*== poly_coeff2 ==*/ - .align 64 - .long 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6 - /*== One ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - .align 64 - .type __svml_sexpm1_data_internal_avx512,@object - .size __svml_sexpm1_data_internal_avx512,.-__svml_sexpm1_data_internal_avx512 + /* Exp_tbl_H */ + .long 0x3f800000, 0x3f82cd87, 0x3f85aac3, 0x3f88980f + .long 0x3f8b95c2, 0x3f8ea43a, 0x3f91c3d3, 0x3f94f4f0 + .long 0x3f9837f0, 0x3f9b8d3a, 0x3f9ef532, 0x3fa27043 + .long 0x3fa5fed7, 0x3fa9a15b, 0x3fad583f, 0x3fb123f6 + .long 0x3fb504f3, 0x3fb8fbaf, 0x3fbd08a4, 0x3fc12c4d + .long 0x3fc5672a, 0x3fc9b9be, 0x3fce248c, 0x3fd2a81e + .long 0x3fd744fd, 0x3fdbfbb8, 0x3fe0ccdf, 0x3fe5b907 + .long 0x3feac0c7, 0x3fefe4ba, 0x3ff5257d, 0x3ffa83b3 + /* Exp_tbl_L */ + .align 64 + .long 0x00000000, 0xb34a3a0a, 0x3346cb6a, 0xb36ed17e + .long 0xb24e0611, 0xb3517dd9, 0x334b2482, 0xb31586de + .long 0x33092801, 0xb2e6f467, 0x331b85f2, 0x3099b6f1 + .long 0xb3051aa8, 0xb2e2a0da, 0xb2006c56, 0xb3365942 + .long 0x329302ae, 0x32c595dc, 0xb302e5a2, 0xb28e10a1 + .long 0x31b3d0e5, 0xb31a472b, 0x31d1daf2, 0xb305bf64 + .long 0xb27ce182, 0xb2f26443, 0xb1b4b0da, 0xb1da8a8f + .long 0xb1d290be, 0xb2d5b899, 0x31b0a147, 0xb2156afc + /* log2(e) */ + .align 64 + .long 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B + /* Shifter=2^(23-5)*1.5 */ + .align 64 + .long 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000, 0x48c00000 + /* Threshold */ + .align 64 + .long 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B + /* Sgn */ + .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 + /* L2H = log(2)_high */ + .align 64 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + /* L2L = log(2)_low */ + .align 64 + .long 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308, 0xb102e308 + /* EMask */ + .align 64 + .long 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff, 0xbfffffff + /* poly_coeff3 */ + .align 64 + .long 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3, 0x3e2AABF3 + /* poly_coeff2 */ + .align 64 + .long 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6, 0x3f0000F6 + /* One */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + .align 64 + .type __svml_sexpm1_data_internal_avx512, @object + .size __svml_sexpm1_data_internal_avx512, .-__svml_sexpm1_data_internal_avx512 From patchwork Mon Mar 7 15:01:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602351 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=x3EBwFDR; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC35d01vhz9sBy for ; Tue, 8 Mar 2022 02:58:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4E648385842C for ; Mon, 7 Mar 2022 15:58:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4E648385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668690; bh=o50jgY8+07zXB1JPGxXXR1CCZOo6vP8iS32AxDO+1Xc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=x3EBwFDRE35dbpt1oQjMdhHU+MYEsbOc1gD+Y6ICd23FgEZIkwwfHLN0zmbswFSy7 wxf5eNB9cMqZ5CaCOm/DfIXLxAlT5bQ7UZ0C+ygYN+DFZwV9S4zY0+sXXVdNGEBGdS 9C3o+ldgKRU0FOPlNkUi7dASova1LMGC165cZWNM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id B530C385800C for ; Mon, 7 Mar 2022 15:02:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B530C385800C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843026" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843026" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="711132981" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga005.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21es016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 080/126] x86_64: Fix svml_s_expm1f4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:15 -0800 Message-Id: <20220307150201.10590-81-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_expm1f4_core_sse4.S | 597 +++++++++--------- 1 file changed, 298 insertions(+), 299 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S index 6abad6c2c4..c29335d0d9 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f4_core_sse4.S @@ -28,331 +28,330 @@ /* Offsets for data table __svml_sexpm1_data_internal */ -#define Expm1_HA_table 0 -#define poly_coeff 512 -#define Log2e 576 -#define L2H 592 -#define L2L 608 -#define ExpAddConst 624 -#define IndexMask 640 -#define ExpMask 656 -#define MOne 672 -#define AbsMask 688 -#define Threshold 704 -#define L2 720 +#define Expm1_HA_table 0 +#define poly_coeff 512 +#define Log2e 576 +#define L2H 592 +#define L2L 608 +#define ExpAddConst 624 +#define IndexMask 640 +#define ExpMask 656 +#define MOne 672 +#define AbsMask 688 +#define Threshold 704 +#define L2 720 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_expm1f_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 - movaps %xmm0, %xmm4 - movups Log2e+__svml_sexpm1_data_internal(%rip), %xmm9 - lea __svml_sexpm1_data_internal(%rip), %r8 - mulps %xmm0, %xmm9 - movups .FLT_10(%rip), %xmm5 - movups ExpAddConst+__svml_sexpm1_data_internal(%rip), %xmm2 - addps %xmm5, %xmm9 - -/* argument reduction */ - movups L2H+__svml_sexpm1_data_internal(%rip), %xmm6 - subps %xmm5, %xmm9 - mulps %xmm9, %xmm6 - addps %xmm9, %xmm2 - -/* table lookup */ - movdqu IndexMask+__svml_sexpm1_data_internal(%rip), %xmm12 - subps %xmm6, %xmm4 - pand %xmm2, %xmm12 - movups L2L+__svml_sexpm1_data_internal(%rip), %xmm7 - movups AbsMask+__svml_sexpm1_data_internal(%rip), %xmm3 - pshufd $1, %xmm12, %xmm10 - movaps %xmm3, %xmm8 - mulps %xmm9, %xmm7 - andps %xmm0, %xmm8 - cmpnleps Threshold+__svml_sexpm1_data_internal(%rip), %xmm8 - movd %xmm12, %edx - subps %xmm7, %xmm4 - movd %xmm10, %ecx - movmskps %xmm8, %eax - pshufd $2, %xmm12, %xmm11 - movaps %xmm4, %xmm7 - pshufd $3, %xmm12, %xmm13 - andnps %xmm0, %xmm3 - movd %xmm11, %esi - movd %xmm13, %edi - -/* polynomial */ - movups poly_coeff+__svml_sexpm1_data_internal(%rip), %xmm8 - movdqu ExpMask+__svml_sexpm1_data_internal(%rip), %xmm6 - movslq %edx, %rdx - pand %xmm6, %xmm2 - movslq %ecx, %rcx - pslld $14, %xmm2 - movslq %esi, %rsi - movslq %edi, %rdi - movq (%r8,%rdx), %xmm1 - movq (%r8,%rcx), %xmm14 - movq (%r8,%rsi), %xmm5 - movq (%r8,%rdi), %xmm15 - unpcklps %xmm14, %xmm1 - mulps %xmm4, %xmm8 - movaps %xmm1, %xmm10 - mulps %xmm4, %xmm7 - addps poly_coeff+16+__svml_sexpm1_data_internal(%rip), %xmm8 - unpcklps %xmm15, %xmm5 - movlhps %xmm5, %xmm10 - shufps $238, %xmm5, %xmm1 - orps %xmm2, %xmm10 - -/* T-1 */ - movups MOne+__svml_sexpm1_data_internal(%rip), %xmm9 - mulps %xmm2, %xmm1 - addps %xmm9, %xmm10 - mulps %xmm7, %xmm8 - addps %xmm1, %xmm10 - addps %xmm8, %xmm4 - movaps %xmm10, %xmm1 - subps %xmm9, %xmm1 - mulps %xmm1, %xmm4 - addps %xmm4, %xmm10 - orps %xmm3, %xmm10 - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax xmm0 xmm10 - -/* Restore registers - * and exit the function - */ + 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 + movaps %xmm0, %xmm4 + movups Log2e+__svml_sexpm1_data_internal(%rip), %xmm9 + lea __svml_sexpm1_data_internal(%rip), %r8 + mulps %xmm0, %xmm9 + movups .FLT_10(%rip), %xmm5 + movups ExpAddConst+__svml_sexpm1_data_internal(%rip), %xmm2 + addps %xmm5, %xmm9 + + /* argument reduction */ + movups L2H+__svml_sexpm1_data_internal(%rip), %xmm6 + subps %xmm5, %xmm9 + mulps %xmm9, %xmm6 + addps %xmm9, %xmm2 + + /* table lookup */ + movdqu IndexMask+__svml_sexpm1_data_internal(%rip), %xmm12 + subps %xmm6, %xmm4 + pand %xmm2, %xmm12 + movups L2L+__svml_sexpm1_data_internal(%rip), %xmm7 + movups AbsMask+__svml_sexpm1_data_internal(%rip), %xmm3 + pshufd $1, %xmm12, %xmm10 + movaps %xmm3, %xmm8 + mulps %xmm9, %xmm7 + andps %xmm0, %xmm8 + cmpnleps Threshold+__svml_sexpm1_data_internal(%rip), %xmm8 + movd %xmm12, %edx + subps %xmm7, %xmm4 + movd %xmm10, %ecx + movmskps %xmm8, %eax + pshufd $2, %xmm12, %xmm11 + movaps %xmm4, %xmm7 + pshufd $3, %xmm12, %xmm13 + andnps %xmm0, %xmm3 + movd %xmm11, %esi + movd %xmm13, %edi + + /* polynomial */ + movups poly_coeff+__svml_sexpm1_data_internal(%rip), %xmm8 + movdqu ExpMask+__svml_sexpm1_data_internal(%rip), %xmm6 + movslq %edx, %rdx + pand %xmm6, %xmm2 + movslq %ecx, %rcx + pslld $14, %xmm2 + movslq %esi, %rsi + movslq %edi, %rdi + movq (%r8, %rdx), %xmm1 + movq (%r8, %rcx), %xmm14 + movq (%r8, %rsi), %xmm5 + movq (%r8, %rdi), %xmm15 + unpcklps %xmm14, %xmm1 + mulps %xmm4, %xmm8 + movaps %xmm1, %xmm10 + mulps %xmm4, %xmm7 + addps poly_coeff+16+__svml_sexpm1_data_internal(%rip), %xmm8 + unpcklps %xmm15, %xmm5 + movlhps %xmm5, %xmm10 + shufps $238, %xmm5, %xmm1 + orps %xmm2, %xmm10 + + /* T-1 */ + movups MOne+__svml_sexpm1_data_internal(%rip), %xmm9 + mulps %xmm2, %xmm1 + addps %xmm9, %xmm10 + mulps %xmm7, %xmm8 + addps %xmm1, %xmm10 + addps %xmm8, %xmm4 + movaps %xmm10, %xmm1 + subps %xmm9, %xmm1 + mulps %xmm1, %xmm4 + addps %xmm4, %xmm10 + orps %xmm3, %xmm10 + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax xmm0 xmm10 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm10, %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 - */ + movaps %xmm10, %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 %xmm10, 48(%rsp) - # LOE rbx r12 r13 r14 r15 eax - - xorl %edx, %edx - 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 %edx, %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 %eax, %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 - */ + movups %xmm0, 32(%rsp) + movups %xmm10, 48(%rsp) + # LOE rbx r12 r13 r14 r15 eax + + xorl %edx, %edx + 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 %edx, %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 %eax, %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 + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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), %xmm10 - -/* 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 xmm10 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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), %xmm10 + + /* 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 xmm10 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call expm1f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call expm1f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN4v_expm1f_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_sexpm1_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 Expm1_HA_table[(1<<7)][1]; - __declspec(align(16)) VUINT32 poly_coeff[4][4][1]; - __declspec(align(16)) VUINT32 Log2e[4][1]; - __declspec(align(16)) VUINT32 L2H[4][1]; - __declspec(align(16)) VUINT32 L2L[4][1]; - __declspec(align(16)) VUINT32 ExpAddConst[4][1]; - __declspec(align(16)) VUINT32 IndexMask[4][1]; - __declspec(align(16)) VUINT32 ExpMask[4][1]; - __declspec(align(16)) VUINT32 MOne[4][1]; - __declspec(align(16)) VUINT32 AbsMask[4][1]; - __declspec(align(16)) VUINT32 Threshold[4][1]; - __declspec(align(16)) VUINT32 L2[4][1]; + __declspec(align(16)) VUINT32 Expm1_HA_table[(1<<7)][1]; + __declspec(align(16)) VUINT32 poly_coeff[4][4][1]; + __declspec(align(16)) VUINT32 Log2e[4][1]; + __declspec(align(16)) VUINT32 L2H[4][1]; + __declspec(align(16)) VUINT32 L2L[4][1]; + __declspec(align(16)) VUINT32 ExpAddConst[4][1]; + __declspec(align(16)) VUINT32 IndexMask[4][1]; + __declspec(align(16)) VUINT32 ExpMask[4][1]; + __declspec(align(16)) VUINT32 MOne[4][1]; + __declspec(align(16)) VUINT32 AbsMask[4][1]; + __declspec(align(16)) VUINT32 Threshold[4][1]; + __declspec(align(16)) VUINT32 L2[4][1]; } __svml_sexpm1_data_internal; #endif __svml_sexpm1_data_internal: - /* Expm1_HA_table */ - .long 0x00000000, 0x00000000 - .long 0x00016000, 0x391a3e78 - .long 0x0002d000, 0xb89e59d5 - .long 0x00044000, 0xb93ae78a - .long 0x0005b000, 0xb9279306 - .long 0x00072000, 0xb79e6961 - .long 0x0008a000, 0xb97e2fee - .long 0x000a1000, 0x391aaea9 - .long 0x000b9000, 0x39383c7d - .long 0x000d2000, 0xb9241490 - .long 0x000ea000, 0x39073169 - .long 0x00103000, 0x386e218a - .long 0x0011c000, 0x38f4dceb - .long 0x00136000, 0xb93a9a1e - .long 0x0014f000, 0x391df520 - .long 0x00169000, 0x3905a6e4 - .long 0x00183000, 0x397e0a32 - .long 0x0019e000, 0x370b2641 - .long 0x001b9000, 0xb8b1918b - .long 0x001d4000, 0xb8132c6a - .long 0x001ef000, 0x39264c12 - .long 0x0020b000, 0x37221f73 - .long 0x00227000, 0x37060619 - .long 0x00243000, 0x3922b5c1 - .long 0x00260000, 0xb814ab27 - .long 0x0027d000, 0xb89b12c6 - .long 0x0029a000, 0x382d5a75 - .long 0x002b8000, 0xb938c94b - .long 0x002d6000, 0xb97822b8 - .long 0x002f4000, 0xb910ea53 - .long 0x00312000, 0x38fd6075 - .long 0x00331000, 0x38620955 - .long 0x00350000, 0x391e667f - .long 0x00370000, 0xb89b8736 - .long 0x00390000, 0xb90a1714 - .long 0x003b0000, 0xb7a54ded - .long 0x003d1000, 0xb96b8c15 - .long 0x003f1000, 0x397336cf - .long 0x00413000, 0xb8eccd66 - .long 0x00434000, 0x39599b45 - .long 0x00456000, 0x3965422b - .long 0x00479000, 0xb8a2cdd5 - .long 0x0049c000, 0xb9484f32 - .long 0x004bf000, 0xb8fac043 - .long 0x004e2000, 0x391182a4 - .long 0x00506000, 0x38ccf6bc - .long 0x0052b000, 0xb97c4dc2 - .long 0x0054f000, 0x38d6aaf4 - .long 0x00574000, 0x391f995b - .long 0x0059a000, 0xb8ba8f62 - .long 0x005c0000, 0xb9090d05 - .long 0x005e6000, 0x37f4825e - .long 0x0060d000, 0xb8c844f5 - .long 0x00634000, 0xb76d1a83 - .long 0x0065c000, 0xb95f2310 - .long 0x00684000, 0xb952b5f8 - .long 0x006ac000, 0x37c6e7dd - .long 0x006d5000, 0xb7cfe126 - .long 0x006fe000, 0x3917337c - .long 0x00728000, 0x383b9e2d - .long 0x00752000, 0x392fa2a5 - .long 0x0077d000, 0x37df730b - .long 0x007a8000, 0x38ecb6dd - .long 0x007d4000, 0xb879f986 - /*== poly_coeff[4] ==*/ - .align 16 - .long 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF /* coeff3 */ - .long 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F /* coeff2 */ - /* 32 Byte Padding */ - .zero 32 - /*== Log2e ==*/ - .align 16 - .long 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B - /*== L2H ==*/ - .align 16 - .long 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000 - /*== L2L ==*/ - .align 16 - .long 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083 - /*== ExpAddConst ==*/ - .align 16 - .long 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00 - /*== IndexMask ==*/ - .align 16 - .long 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8 - /*== ExpMask ==*/ - .align 16 - .long 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00 - /*== MOne ==*/ - .align 16 - .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 - /*== AbsMask ==*/ - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== Threshold ==*/ - .align 16 - .long 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B // 86.643394 - /*== L2 ==*/ - .align 16 - .long 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218 - .align 16 - .type __svml_sexpm1_data_internal,@object - .size __svml_sexpm1_data_internal,.-__svml_sexpm1_data_internal - .align 16 + /* Expm1_HA_table */ + .long 0x00000000, 0x00000000 + .long 0x00016000, 0x391a3e78 + .long 0x0002d000, 0xb89e59d5 + .long 0x00044000, 0xb93ae78a + .long 0x0005b000, 0xb9279306 + .long 0x00072000, 0xb79e6961 + .long 0x0008a000, 0xb97e2fee + .long 0x000a1000, 0x391aaea9 + .long 0x000b9000, 0x39383c7d + .long 0x000d2000, 0xb9241490 + .long 0x000ea000, 0x39073169 + .long 0x00103000, 0x386e218a + .long 0x0011c000, 0x38f4dceb + .long 0x00136000, 0xb93a9a1e + .long 0x0014f000, 0x391df520 + .long 0x00169000, 0x3905a6e4 + .long 0x00183000, 0x397e0a32 + .long 0x0019e000, 0x370b2641 + .long 0x001b9000, 0xb8b1918b + .long 0x001d4000, 0xb8132c6a + .long 0x001ef000, 0x39264c12 + .long 0x0020b000, 0x37221f73 + .long 0x00227000, 0x37060619 + .long 0x00243000, 0x3922b5c1 + .long 0x00260000, 0xb814ab27 + .long 0x0027d000, 0xb89b12c6 + .long 0x0029a000, 0x382d5a75 + .long 0x002b8000, 0xb938c94b + .long 0x002d6000, 0xb97822b8 + .long 0x002f4000, 0xb910ea53 + .long 0x00312000, 0x38fd6075 + .long 0x00331000, 0x38620955 + .long 0x00350000, 0x391e667f + .long 0x00370000, 0xb89b8736 + .long 0x00390000, 0xb90a1714 + .long 0x003b0000, 0xb7a54ded + .long 0x003d1000, 0xb96b8c15 + .long 0x003f1000, 0x397336cf + .long 0x00413000, 0xb8eccd66 + .long 0x00434000, 0x39599b45 + .long 0x00456000, 0x3965422b + .long 0x00479000, 0xb8a2cdd5 + .long 0x0049c000, 0xb9484f32 + .long 0x004bf000, 0xb8fac043 + .long 0x004e2000, 0x391182a4 + .long 0x00506000, 0x38ccf6bc + .long 0x0052b000, 0xb97c4dc2 + .long 0x0054f000, 0x38d6aaf4 + .long 0x00574000, 0x391f995b + .long 0x0059a000, 0xb8ba8f62 + .long 0x005c0000, 0xb9090d05 + .long 0x005e6000, 0x37f4825e + .long 0x0060d000, 0xb8c844f5 + .long 0x00634000, 0xb76d1a83 + .long 0x0065c000, 0xb95f2310 + .long 0x00684000, 0xb952b5f8 + .long 0x006ac000, 0x37c6e7dd + .long 0x006d5000, 0xb7cfe126 + .long 0x006fe000, 0x3917337c + .long 0x00728000, 0x383b9e2d + .long 0x00752000, 0x392fa2a5 + .long 0x0077d000, 0x37df730b + .long 0x007a8000, 0x38ecb6dd + .long 0x007d4000, 0xb879f986 + /* poly_coeff[4] */ + .align 16 + .long 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF /* coeff3 */ + .long 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F /* coeff2 */ + /* 32 Byte Padding */ + .zero 32 + /* Log2e */ + .align 16 + .long 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B + /* L2H */ + .align 16 + .long 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000 + /* L2L */ + .align 16 + .long 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083 + /* ExpAddConst */ + .align 16 + .long 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00 + /* IndexMask */ + .align 16 + .long 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8 + /* ExpMask */ + .align 16 + .long 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00 + /* MOne */ + .align 16 + .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 + /* AbsMask */ + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* Threshold */ + .align 16 + .long 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B // 86.643394 + /* L2 */ + .align 16 + .long 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218 + .align 16 + .type __svml_sexpm1_data_internal, @object + .size __svml_sexpm1_data_internal, .-__svml_sexpm1_data_internal + .align 16 .FLT_10: - .long 0x4b400000,0x4b400000,0x4b400000,0x4b400000 - .type .FLT_10,@object - .size .FLT_10,16 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 + .type .FLT_10, @object + .size .FLT_10, 16 From patchwork Mon Mar 7 15:01:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602253 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=wcE1y0aY; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC27J5pnrz9s8s for ; Tue, 8 Mar 2022 02:14:36 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 45C7F385842E for ; Mon, 7 Mar 2022 15:14:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 45C7F385842E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666074; bh=A3Y0YrNpTN+KAFay/XCO21xvBS5PYmhUaYXi4xDrXfU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=wcE1y0aYeqke6BdEANyh100rLQ51htSflYxdDxSw+b/i7SvZ5tsujUItEluh8xnhY Pbq7SCewN9FwPro10lOl58fAb9gbrFXk5kTC5BL3Y95PBQYr1jsRKOiXu0BaE1Bi8p tM7MU7S2OifuH1ZjG6AGBke70WdFRzJoNY7NaR1Q= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id ED333385800F for ; Mon, 7 Mar 2022 15:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org ED333385800F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="253239989" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="253239989" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="509733251" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21et016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 081/126] x86_64: Fix svml_s_expm1f8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:16 -0800 Message-Id: <20220307150201.10590-82-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_expm1f8_core_avx2.S | 587 +++++++++--------- 1 file changed, 293 insertions(+), 294 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S index 732cb4a9bc..73f862528a 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_expm1f8_core_avx2.S @@ -28,324 +28,323 @@ /* Offsets for data table __svml_sexpm1_data_internal */ -#define Expm1_HA_table 0 -#define poly_coeff 512 -#define Log2e 640 -#define L2H 672 -#define L2L 704 -#define ExpAddConst 736 -#define IndexMask 768 -#define ExpMask 800 -#define MOne 832 -#define AbsMask 864 -#define Threshold 896 -#define L2 928 +#define Expm1_HA_table 0 +#define poly_coeff 512 +#define Log2e 640 +#define L2H 672 +#define L2L 704 +#define ExpAddConst 736 +#define IndexMask 768 +#define ExpMask 800 +#define MOne 832 +#define AbsMask 864 +#define Threshold 896 +#define L2 928 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_expm1f_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea __svml_sexpm1_data_internal(%rip), %rax - vmovaps %ymm0, %ymm3 - vmulps Log2e+__svml_sexpm1_data_internal(%rip), %ymm3, %ymm4 - -/* argument reduction */ - vmovups L2H+__svml_sexpm1_data_internal(%rip), %ymm2 - vmovups AbsMask+__svml_sexpm1_data_internal(%rip), %ymm5 - vroundps $0, %ymm4, %ymm8 - vaddps ExpAddConst+__svml_sexpm1_data_internal(%rip), %ymm8, %ymm0 - vfnmadd213ps %ymm3, %ymm8, %ymm2 - -/* table lookup */ - vandps IndexMask+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm9 - vandps %ymm5, %ymm3, %ymm6 - vcmpnle_uqps Threshold+__svml_sexpm1_data_internal(%rip), %ymm6, %ymm7 - vfnmadd231ps L2L+__svml_sexpm1_data_internal(%rip), %ymm8, %ymm2 - vandps ExpMask+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm0 - vandnps %ymm3, %ymm5, %ymm1 - vpslld $14, %ymm0, %ymm0 - vmovmskps %ymm7, %edx - vmovd %xmm9, %ecx - vextractf128 $1, %ymm9, %xmm10 - movslq %ecx, %rcx - vmovd %xmm10, %r9d - vpextrd $1, %xmm9, %esi - vpextrd $2, %xmm9, %edi - vpextrd $3, %xmm9, %r8d - vmovq (%rax,%rcx), %xmm11 - vpextrd $1, %xmm10, %r10d - vpextrd $2, %xmm10, %r11d - vpextrd $3, %xmm10, %ecx - movslq %esi, %rsi - movslq %edi, %rdi - movslq %r8d, %r8 - movslq %r9d, %r9 - movslq %r10d, %r10 - movslq %r11d, %r11 - movslq %ecx, %rcx - vmovq (%rax,%rsi), %xmm13 - vmovq (%rax,%rdi), %xmm12 - vmovq (%rax,%r8), %xmm14 - vmovq (%rax,%r9), %xmm15 - vmovq (%rax,%r10), %xmm5 - vmovq (%rax,%r11), %xmm4 - vmovq (%rax,%rcx), %xmm6 - vunpcklps %xmm12, %xmm11, %xmm7 - vunpcklps %xmm14, %xmm13, %xmm8 - vunpcklps %xmm4, %xmm15, %xmm15 - vunpcklps %xmm6, %xmm5, %xmm9 - vmulps %ymm2, %ymm2, %ymm13 - vinsertf128 $1, %xmm15, %ymm7, %ymm10 - vinsertf128 $1, %xmm9, %ymm8, %ymm11 - vunpcklps %ymm11, %ymm10, %ymm12 - vorps %ymm0, %ymm12, %ymm14 - -/* polynomial */ - vmovups poly_coeff+__svml_sexpm1_data_internal(%rip), %ymm12 - vfmadd213ps poly_coeff+32+__svml_sexpm1_data_internal(%rip), %ymm2, %ymm12 - vfmadd213ps %ymm2, %ymm13, %ymm12 - -/* T-1 */ - vmovups MOne+__svml_sexpm1_data_internal(%rip), %ymm13 - vaddps %ymm13, %ymm14, %ymm2 - vunpckhps %ymm11, %ymm10, %ymm4 - vfmadd213ps %ymm2, %ymm0, %ymm4 - vsubps %ymm13, %ymm4, %ymm0 - vfmadd213ps %ymm4, %ymm12, %ymm0 - vorps %ymm1, %ymm0, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea __svml_sexpm1_data_internal(%rip), %rax + vmovaps %ymm0, %ymm3 + vmulps Log2e+__svml_sexpm1_data_internal(%rip), %ymm3, %ymm4 + + /* argument reduction */ + vmovups L2H+__svml_sexpm1_data_internal(%rip), %ymm2 + vmovups AbsMask+__svml_sexpm1_data_internal(%rip), %ymm5 + vroundps $0, %ymm4, %ymm8 + vaddps ExpAddConst+__svml_sexpm1_data_internal(%rip), %ymm8, %ymm0 + vfnmadd213ps %ymm3, %ymm8, %ymm2 + + /* table lookup */ + vandps IndexMask+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm9 + vandps %ymm5, %ymm3, %ymm6 + vcmpnle_uqps Threshold+__svml_sexpm1_data_internal(%rip), %ymm6, %ymm7 + vfnmadd231ps L2L+__svml_sexpm1_data_internal(%rip), %ymm8, %ymm2 + vandps ExpMask+__svml_sexpm1_data_internal(%rip), %ymm0, %ymm0 + vandnps %ymm3, %ymm5, %ymm1 + vpslld $14, %ymm0, %ymm0 + vmovmskps %ymm7, %edx + vmovd %xmm9, %ecx + vextractf128 $1, %ymm9, %xmm10 + movslq %ecx, %rcx + vmovd %xmm10, %r9d + vpextrd $1, %xmm9, %esi + vpextrd $2, %xmm9, %edi + vpextrd $3, %xmm9, %r8d + vmovq (%rax, %rcx), %xmm11 + vpextrd $1, %xmm10, %r10d + vpextrd $2, %xmm10, %r11d + vpextrd $3, %xmm10, %ecx + movslq %esi, %rsi + movslq %edi, %rdi + movslq %r8d, %r8 + movslq %r9d, %r9 + movslq %r10d, %r10 + movslq %r11d, %r11 + movslq %ecx, %rcx + vmovq (%rax, %rsi), %xmm13 + vmovq (%rax, %rdi), %xmm12 + vmovq (%rax, %r8), %xmm14 + vmovq (%rax, %r9), %xmm15 + vmovq (%rax, %r10), %xmm5 + vmovq (%rax, %r11), %xmm4 + vmovq (%rax, %rcx), %xmm6 + vunpcklps %xmm12, %xmm11, %xmm7 + vunpcklps %xmm14, %xmm13, %xmm8 + vunpcklps %xmm4, %xmm15, %xmm15 + vunpcklps %xmm6, %xmm5, %xmm9 + vmulps %ymm2, %ymm2, %ymm13 + vinsertf128 $1, %xmm15, %ymm7, %ymm10 + vinsertf128 $1, %xmm9, %ymm8, %ymm11 + vunpcklps %ymm11, %ymm10, %ymm12 + vorps %ymm0, %ymm12, %ymm14 + + /* polynomial */ + vmovups poly_coeff+__svml_sexpm1_data_internal(%rip), %ymm12 + vfmadd213ps poly_coeff+32+__svml_sexpm1_data_internal(%rip), %ymm2, %ymm12 + vfmadd213ps %ymm2, %ymm13, %ymm12 + + /* T-1 */ + vmovups MOne+__svml_sexpm1_data_internal(%rip), %ymm13 + vaddps %ymm13, %ymm14, %ymm2 + vunpckhps %ymm11, %ymm10, %ymm4 + vfmadd213ps %ymm2, %ymm0, %ymm4 + vsubps %ymm13, %ymm4, %ymm0 + vfmadd213ps %ymm4, %ymm12, %ymm0 + vorps %ymm1, %ymm0, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm3, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm3, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call expm1f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call expm1f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_expm1f_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_sexpm1_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Expm1_HA_table[(1<<7)][1]; - __declspec(align(32)) VUINT32 poly_coeff[4][8][1]; - __declspec(align(32)) VUINT32 Log2e[8][1]; - __declspec(align(32)) VUINT32 L2H[8][1]; - __declspec(align(32)) VUINT32 L2L[8][1]; - __declspec(align(32)) VUINT32 ExpAddConst[8][1]; - __declspec(align(32)) VUINT32 IndexMask[8][1]; - __declspec(align(32)) VUINT32 ExpMask[8][1]; - __declspec(align(32)) VUINT32 MOne[8][1]; - __declspec(align(32)) VUINT32 AbsMask[8][1]; - __declspec(align(32)) VUINT32 Threshold[8][1]; - __declspec(align(32)) VUINT32 L2[8][1]; + __declspec(align(32)) VUINT32 Expm1_HA_table[(1<<7)][1]; + __declspec(align(32)) VUINT32 poly_coeff[4][8][1]; + __declspec(align(32)) VUINT32 Log2e[8][1]; + __declspec(align(32)) VUINT32 L2H[8][1]; + __declspec(align(32)) VUINT32 L2L[8][1]; + __declspec(align(32)) VUINT32 ExpAddConst[8][1]; + __declspec(align(32)) VUINT32 IndexMask[8][1]; + __declspec(align(32)) VUINT32 ExpMask[8][1]; + __declspec(align(32)) VUINT32 MOne[8][1]; + __declspec(align(32)) VUINT32 AbsMask[8][1]; + __declspec(align(32)) VUINT32 Threshold[8][1]; + __declspec(align(32)) VUINT32 L2[8][1]; } __svml_sexpm1_data_internal; #endif __svml_sexpm1_data_internal: - /* Expm1_HA_table */ - .long 0x00000000, 0x00000000 - .long 0x00016000, 0x391a3e78 - .long 0x0002d000, 0xb89e59d5 - .long 0x00044000, 0xb93ae78a - .long 0x0005b000, 0xb9279306 - .long 0x00072000, 0xb79e6961 - .long 0x0008a000, 0xb97e2fee - .long 0x000a1000, 0x391aaea9 - .long 0x000b9000, 0x39383c7d - .long 0x000d2000, 0xb9241490 - .long 0x000ea000, 0x39073169 - .long 0x00103000, 0x386e218a - .long 0x0011c000, 0x38f4dceb - .long 0x00136000, 0xb93a9a1e - .long 0x0014f000, 0x391df520 - .long 0x00169000, 0x3905a6e4 - .long 0x00183000, 0x397e0a32 - .long 0x0019e000, 0x370b2641 - .long 0x001b9000, 0xb8b1918b - .long 0x001d4000, 0xb8132c6a - .long 0x001ef000, 0x39264c12 - .long 0x0020b000, 0x37221f73 - .long 0x00227000, 0x37060619 - .long 0x00243000, 0x3922b5c1 - .long 0x00260000, 0xb814ab27 - .long 0x0027d000, 0xb89b12c6 - .long 0x0029a000, 0x382d5a75 - .long 0x002b8000, 0xb938c94b - .long 0x002d6000, 0xb97822b8 - .long 0x002f4000, 0xb910ea53 - .long 0x00312000, 0x38fd6075 - .long 0x00331000, 0x38620955 - .long 0x00350000, 0x391e667f - .long 0x00370000, 0xb89b8736 - .long 0x00390000, 0xb90a1714 - .long 0x003b0000, 0xb7a54ded - .long 0x003d1000, 0xb96b8c15 - .long 0x003f1000, 0x397336cf - .long 0x00413000, 0xb8eccd66 - .long 0x00434000, 0x39599b45 - .long 0x00456000, 0x3965422b - .long 0x00479000, 0xb8a2cdd5 - .long 0x0049c000, 0xb9484f32 - .long 0x004bf000, 0xb8fac043 - .long 0x004e2000, 0x391182a4 - .long 0x00506000, 0x38ccf6bc - .long 0x0052b000, 0xb97c4dc2 - .long 0x0054f000, 0x38d6aaf4 - .long 0x00574000, 0x391f995b - .long 0x0059a000, 0xb8ba8f62 - .long 0x005c0000, 0xb9090d05 - .long 0x005e6000, 0x37f4825e - .long 0x0060d000, 0xb8c844f5 - .long 0x00634000, 0xb76d1a83 - .long 0x0065c000, 0xb95f2310 - .long 0x00684000, 0xb952b5f8 - .long 0x006ac000, 0x37c6e7dd - .long 0x006d5000, 0xb7cfe126 - .long 0x006fe000, 0x3917337c - .long 0x00728000, 0x383b9e2d - .long 0x00752000, 0x392fa2a5 - .long 0x0077d000, 0x37df730b - .long 0x007a8000, 0x38ecb6dd - .long 0x007d4000, 0xb879f986 - /*== poly_coeff[4] ==*/ - .align 32 - .long 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF /* coeff3 */ - .long 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F /* coeff2 */ - /* 64 Byte Padding */ - .zero 64 - /*== Log2e ==*/ - .align 32 - .long 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B - /*== L2H ==*/ - .align 32 - .long 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000 - /*== L2L ==*/ - .align 32 - .long 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083 - /*== ExpAddConst ==*/ - .align 32 - .long 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00 - /*== IndexMask ==*/ - .align 32 - .long 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8 - /*== ExpMask ==*/ - .align 32 - .long 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00 - /*== MOne ==*/ - .align 32 - .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 - /*== AbsMask ==*/ - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== Threshold ==*/ - .align 32 - .long 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B // 86.643394 - /*== L2 ==*/ - .align 32 - .long 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218 - .align 32 - .type __svml_sexpm1_data_internal,@object - .size __svml_sexpm1_data_internal,.-__svml_sexpm1_data_internal + /* Expm1_HA_table */ + .long 0x00000000, 0x00000000 + .long 0x00016000, 0x391a3e78 + .long 0x0002d000, 0xb89e59d5 + .long 0x00044000, 0xb93ae78a + .long 0x0005b000, 0xb9279306 + .long 0x00072000, 0xb79e6961 + .long 0x0008a000, 0xb97e2fee + .long 0x000a1000, 0x391aaea9 + .long 0x000b9000, 0x39383c7d + .long 0x000d2000, 0xb9241490 + .long 0x000ea000, 0x39073169 + .long 0x00103000, 0x386e218a + .long 0x0011c000, 0x38f4dceb + .long 0x00136000, 0xb93a9a1e + .long 0x0014f000, 0x391df520 + .long 0x00169000, 0x3905a6e4 + .long 0x00183000, 0x397e0a32 + .long 0x0019e000, 0x370b2641 + .long 0x001b9000, 0xb8b1918b + .long 0x001d4000, 0xb8132c6a + .long 0x001ef000, 0x39264c12 + .long 0x0020b000, 0x37221f73 + .long 0x00227000, 0x37060619 + .long 0x00243000, 0x3922b5c1 + .long 0x00260000, 0xb814ab27 + .long 0x0027d000, 0xb89b12c6 + .long 0x0029a000, 0x382d5a75 + .long 0x002b8000, 0xb938c94b + .long 0x002d6000, 0xb97822b8 + .long 0x002f4000, 0xb910ea53 + .long 0x00312000, 0x38fd6075 + .long 0x00331000, 0x38620955 + .long 0x00350000, 0x391e667f + .long 0x00370000, 0xb89b8736 + .long 0x00390000, 0xb90a1714 + .long 0x003b0000, 0xb7a54ded + .long 0x003d1000, 0xb96b8c15 + .long 0x003f1000, 0x397336cf + .long 0x00413000, 0xb8eccd66 + .long 0x00434000, 0x39599b45 + .long 0x00456000, 0x3965422b + .long 0x00479000, 0xb8a2cdd5 + .long 0x0049c000, 0xb9484f32 + .long 0x004bf000, 0xb8fac043 + .long 0x004e2000, 0x391182a4 + .long 0x00506000, 0x38ccf6bc + .long 0x0052b000, 0xb97c4dc2 + .long 0x0054f000, 0x38d6aaf4 + .long 0x00574000, 0x391f995b + .long 0x0059a000, 0xb8ba8f62 + .long 0x005c0000, 0xb9090d05 + .long 0x005e6000, 0x37f4825e + .long 0x0060d000, 0xb8c844f5 + .long 0x00634000, 0xb76d1a83 + .long 0x0065c000, 0xb95f2310 + .long 0x00684000, 0xb952b5f8 + .long 0x006ac000, 0x37c6e7dd + .long 0x006d5000, 0xb7cfe126 + .long 0x006fe000, 0x3917337c + .long 0x00728000, 0x383b9e2d + .long 0x00752000, 0x392fa2a5 + .long 0x0077d000, 0x37df730b + .long 0x007a8000, 0x38ecb6dd + .long 0x007d4000, 0xb879f986 + /* poly_coeff[4] */ + .align 32 + .long 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF, 0x3e2AAABF /* coeff3 */ + .long 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F, 0x3f00000F /* coeff2 */ + /* 64 Byte Padding */ + .zero 64 + /* Log2e */ + .align 32 + .long 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B, 0x42B8AA3B + /* L2H */ + .align 32 + .long 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000, 0x3c318000 + /* L2L */ + .align 32 + .long 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083, 0xb65e8083 + /* ExpAddConst */ + .align 32 + .long 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00, 0x49f0fe00 + /* IndexMask */ + .align 32 + .long 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8, 0x000001f8 + /* ExpMask */ + .align 32 + .long 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00, 0x0001fe00 + /* MOne */ + .align 32 + .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 + /* AbsMask */ + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* Threshold */ + .align 32 + .long 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B, 0x42AD496B // 86.643394 + /* L2 */ + .align 32 + .long 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218, 0x3cb17218 + .align 32 + .type __svml_sexpm1_data_internal, @object + .size __svml_sexpm1_data_internal, .-__svml_sexpm1_data_internal From patchwork Mon Mar 7 15:01:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602385 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ND6VKDWv; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3dd1h2Yz9sFt for ; Tue, 8 Mar 2022 03:22:29 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0D545385801F for ; Mon, 7 Mar 2022 16:22:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0D545385801F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670147; bh=+r4LLVKyBjcfp7neuH07cHnkbooxf4z/YFCqT8+vzSA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ND6VKDWvVz0xzwon40tdsYjOLxt5V2MM0koio/ZHQJ6Suhd6JbbDiOvLiMoOhNSjc SqhhExxgVhIgUFWYOUXZ0etyFV0jBkcb7WACxbK/X6cPdkPlopYBWv4M4S5zLq0ca9 Lfg5X7bNB5paEfkzFiYDVu1eOWExKi+WvnONmGjI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 560153858434 for ; Mon, 7 Mar 2022 15:03:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 560153858434 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017269" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017269" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526496" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21eu016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 082/126] x86_64: Fix svml_d_expm12_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:17 -0800 Message-Id: <20220307150201.10590-83-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_expm12_core_sse4.S | 723 +++++++++--------- 1 file changed, 361 insertions(+), 362 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S index 7caa96bcc0..cde969be55 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm12_core_sse4.S @@ -28,394 +28,393 @@ /* Offsets for data table __svml_dexpm1_data_internal */ -#define Expm1_HA_table 0 -#define poly_coeff 2048 -#define Log2e 2112 -#define L2H 2128 -#define L2L 2144 -#define ExpAddConst 2160 -#define IndexMask 2176 -#define ExpMask 2192 -#define MOne 2208 -#define AbsMask 2224 -#define Threshold 2240 -#define L2 2256 +#define Expm1_HA_table 0 +#define poly_coeff 2048 +#define Log2e 2112 +#define L2H 2128 +#define L2L 2144 +#define ExpAddConst 2160 +#define IndexMask 2176 +#define ExpMask 2192 +#define MOne 2208 +#define AbsMask 2224 +#define Threshold 2240 +#define L2 2256 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_expm1_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 - movaps %xmm0, %xmm2 - movups Log2e+__svml_dexpm1_data_internal(%rip), %xmm7 - lea __svml_dexpm1_data_internal(%rip), %rsi - mulpd %xmm0, %xmm7 - movups .FLT_10(%rip), %xmm3 - addpd %xmm3, %xmm7 - subpd %xmm3, %xmm7 - -/* argument reduction */ - movups L2H+__svml_dexpm1_data_internal(%rip), %xmm4 - mulpd %xmm7, %xmm4 - movups L2L+__svml_dexpm1_data_internal(%rip), %xmm5 - mulpd %xmm7, %xmm5 - subpd %xmm4, %xmm2 - subpd %xmm5, %xmm2 - -/* polynomial */ - movups poly_coeff+__svml_dexpm1_data_internal(%rip), %xmm12 - movaps %xmm2, %xmm14 - mulpd %xmm2, %xmm12 - mulpd %xmm2, %xmm14 - addpd poly_coeff+16+__svml_dexpm1_data_internal(%rip), %xmm12 - movups ExpAddConst+__svml_dexpm1_data_internal(%rip), %xmm15 - addpd %xmm7, %xmm15 - mulpd %xmm14, %xmm12 - movups poly_coeff+32+__svml_dexpm1_data_internal(%rip), %xmm13 - mulpd %xmm2, %xmm13 - -/* table lookup */ - movdqu IndexMask+__svml_dexpm1_data_internal(%rip), %xmm8 - pand %xmm15, %xmm8 - movups AbsMask+__svml_dexpm1_data_internal(%rip), %xmm1 - pshufd $2, %xmm8, %xmm9 - movaps %xmm1, %xmm6 - movd %xmm8, %eax - andps %xmm0, %xmm6 - movd %xmm9, %ecx - andnps %xmm0, %xmm1 - movdqu ExpMask+__svml_dexpm1_data_internal(%rip), %xmm11 - pand %xmm11, %xmm15 - cmpnlepd Threshold+__svml_dexpm1_data_internal(%rip), %xmm6 - addpd poly_coeff+48+__svml_dexpm1_data_internal(%rip), %xmm13 - movmskpd %xmm6, %edx - psllq $41, %xmm15 - -/* T-1 */ - movups MOne+__svml_dexpm1_data_internal(%rip), %xmm4 - movslq %eax, %rax - movslq %ecx, %rcx - addpd %xmm12, %xmm13 - movups (%rsi,%rax), %xmm3 - movups (%rsi,%rcx), %xmm10 - movaps %xmm3, %xmm6 - unpckhpd %xmm10, %xmm3 - -/* Th1 = (Th-1) + Tl */ - mulpd %xmm15, %xmm3 - mulpd %xmm13, %xmm14 - unpcklpd %xmm10, %xmm6 - orps %xmm15, %xmm6 - addpd %xmm4, %xmm6 - addpd %xmm14, %xmm2 - addpd %xmm3, %xmm6 - -/* T = Th+Tl */ - movaps %xmm6, %xmm5 - subpd %xmm4, %xmm5 - mulpd %xmm5, %xmm2 - addpd %xmm2, %xmm6 - orps %xmm1, %xmm6 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx xmm0 xmm6 - -/* Restore registers - * and exit the function - */ + 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 + movaps %xmm0, %xmm2 + movups Log2e+__svml_dexpm1_data_internal(%rip), %xmm7 + lea __svml_dexpm1_data_internal(%rip), %rsi + mulpd %xmm0, %xmm7 + movups .FLT_10(%rip), %xmm3 + addpd %xmm3, %xmm7 + subpd %xmm3, %xmm7 + + /* argument reduction */ + movups L2H+__svml_dexpm1_data_internal(%rip), %xmm4 + mulpd %xmm7, %xmm4 + movups L2L+__svml_dexpm1_data_internal(%rip), %xmm5 + mulpd %xmm7, %xmm5 + subpd %xmm4, %xmm2 + subpd %xmm5, %xmm2 + + /* polynomial */ + movups poly_coeff+__svml_dexpm1_data_internal(%rip), %xmm12 + movaps %xmm2, %xmm14 + mulpd %xmm2, %xmm12 + mulpd %xmm2, %xmm14 + addpd poly_coeff+16+__svml_dexpm1_data_internal(%rip), %xmm12 + movups ExpAddConst+__svml_dexpm1_data_internal(%rip), %xmm15 + addpd %xmm7, %xmm15 + mulpd %xmm14, %xmm12 + movups poly_coeff+32+__svml_dexpm1_data_internal(%rip), %xmm13 + mulpd %xmm2, %xmm13 + + /* table lookup */ + movdqu IndexMask+__svml_dexpm1_data_internal(%rip), %xmm8 + pand %xmm15, %xmm8 + movups AbsMask+__svml_dexpm1_data_internal(%rip), %xmm1 + pshufd $2, %xmm8, %xmm9 + movaps %xmm1, %xmm6 + movd %xmm8, %eax + andps %xmm0, %xmm6 + movd %xmm9, %ecx + andnps %xmm0, %xmm1 + movdqu ExpMask+__svml_dexpm1_data_internal(%rip), %xmm11 + pand %xmm11, %xmm15 + cmpnlepd Threshold+__svml_dexpm1_data_internal(%rip), %xmm6 + addpd poly_coeff+48+__svml_dexpm1_data_internal(%rip), %xmm13 + movmskpd %xmm6, %edx + psllq $41, %xmm15 + + /* T-1 */ + movups MOne+__svml_dexpm1_data_internal(%rip), %xmm4 + movslq %eax, %rax + movslq %ecx, %rcx + addpd %xmm12, %xmm13 + movups (%rsi, %rax), %xmm3 + movups (%rsi, %rcx), %xmm10 + movaps %xmm3, %xmm6 + unpckhpd %xmm10, %xmm3 + + /* Th1 = (Th-1) + Tl */ + mulpd %xmm15, %xmm3 + mulpd %xmm13, %xmm14 + unpcklpd %xmm10, %xmm6 + orps %xmm15, %xmm6 + addpd %xmm4, %xmm6 + addpd %xmm14, %xmm2 + addpd %xmm3, %xmm6 + + /* T = Th+Tl */ + movaps %xmm6, %xmm5 + subpd %xmm4, %xmm5 + mulpd %xmm5, %xmm2 + addpd %xmm2, %xmm6 + orps %xmm1, %xmm6 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx xmm0 xmm6 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm6, %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 - */ + movaps %xmm6, %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 %xmm6, 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 - */ + movups %xmm0, 32(%rsp) + movups %xmm6, 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 + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* 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), %xmm6 - -/* 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 xmm6 - -/* Scalar math fucntion call - * to process special input - */ + 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), %xmm6 + + /* 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 xmm6 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call expm1@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call expm1@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN2v_expm1_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dexpm1_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 Expm1_HA_table[(1<<8)][2]; - __declspec(align(16)) VUINT32 poly_coeff[4][2][2]; - __declspec(align(16)) VUINT32 Log2e[2][2]; - __declspec(align(16)) VUINT32 L2H[2][2]; - __declspec(align(16)) VUINT32 L2L[2][2]; - __declspec(align(16)) VUINT32 ExpAddConst[2][2]; - __declspec(align(16)) VUINT32 IndexMask[2][2]; - __declspec(align(16)) VUINT32 ExpMask[2][2]; - __declspec(align(16)) VUINT32 MOne[2][2]; - __declspec(align(16)) VUINT32 AbsMask[2][2]; - __declspec(align(16)) VUINT32 Threshold[2][2]; - __declspec(align(16)) VUINT32 L2[2][2]; + __declspec(align(16)) VUINT32 Expm1_HA_table[(1<<8)][2]; + __declspec(align(16)) VUINT32 poly_coeff[4][2][2]; + __declspec(align(16)) VUINT32 Log2e[2][2]; + __declspec(align(16)) VUINT32 L2H[2][2]; + __declspec(align(16)) VUINT32 L2L[2][2]; + __declspec(align(16)) VUINT32 ExpAddConst[2][2]; + __declspec(align(16)) VUINT32 IndexMask[2][2]; + __declspec(align(16)) VUINT32 ExpMask[2][2]; + __declspec(align(16)) VUINT32 MOne[2][2]; + __declspec(align(16)) VUINT32 AbsMask[2][2]; + __declspec(align(16)) VUINT32 Threshold[2][2]; + __declspec(align(16)) VUINT32 L2[2][2]; } __svml_dexpm1_data_internal; #endif __svml_dexpm1_data_internal: - /* Expm1_HA_table */ - .quad 0x0000000000000000, 0x0000000000000000 - .quad 0x0000163da8000000, 0x3e3fb33356d84a67 - .quad 0x00002c9a40000000, 0xbe3887f9f1190835 - .quad 0x00004315e8000000, 0x3e1b9fe12f5ce3e7 - .quad 0x000059b0d0000000, 0x3e48ac2ba1d73e2a - .quad 0x0000706b28000000, 0x3e3ddf6ddc6dc404 - .quad 0x0000874518000000, 0x3e1d66f20230d7c9 - .quad 0x00009e3ec8000000, 0x3e46379c1a290f03 - .quad 0x0000b55870000000, 0xbe4833b784eb3a37 - .quad 0x0000cc9228000000, 0x3e4b923fba03db83 - .quad 0x0000e3ec30000000, 0x3e469e8d10103a17 - .quad 0x0000fb66b0000000, 0xbdb2ce50dcdf6e22 - .quad 0x00011301d0000000, 0x3df25b50a4ebbf1b - .quad 0x00012abdc0000000, 0x3e1b0c72fee4aeb5 - .quad 0x0001429ab0000000, 0xbe356d2204cbefe7 - .quad 0x00015a98c8000000, 0x3e24b1ca24901aae - .quad 0x000172b840000000, 0xbe4c15742919041c - .quad 0x00018af938000000, 0x3e2191bd3777ee17 - .quad 0x0001a35be8000000, 0x3e4b7e5ba9e5b4c8 - .quad 0x0001bbe088000000, 0xbe4fdd19632a70c7 - .quad 0x0001d48730000000, 0x3e368b9aa7805b80 - .quad 0x0001ed5020000000, 0x3e47e6c8e5c40d00 - .quad 0x0002063b88000000, 0x3e18a3358ee3bac1 - .quad 0x00021f4990000000, 0x3e37ddc962552fd3 - .quad 0x0002387a70000000, 0xbe38a9dc7993e052 - .quad 0x000251ce50000000, 0xbe135670329f5521 - .quad 0x00026b4568000000, 0xbe40ec1916d42cc6 - .quad 0x000284dfe0000000, 0x3e3f5638096cf15d - .quad 0x00029e9df8000000, 0xbe470108f69ed175 - .quad 0x0002b87fd0000000, 0x3e2b5b31ffbbd48d - .quad 0x0002d285a8000000, 0xbe31bfcf4bff6e2b - .quad 0x0002ecafa8000000, 0x3e33e2f5611ca0f4 - .quad 0x000306fe08000000, 0x3e418db8a96f46ad - .quad 0x0003217100000000, 0xbe4d993e76563187 - .quad 0x00033c08b0000000, 0x3e4320b7fa64e431 - .quad 0x000356c560000000, 0xbe1b5803cdae772e - .quad 0x000371a738000000, 0xbe28aac6ab1d7560 - .quad 0x00038cae70000000, 0xbe47d13cd3d2b1a8 - .quad 0x0003a7db38000000, 0xbe48d30048af21b7 - .quad 0x0003c32dc0000000, 0x3e489d47242000f9 - .quad 0x0003dea650000000, 0xbe4f6e5eee525f6f - .quad 0x0003fa4508000000, 0xbe4a9bff22fa047f - .quad 0x0004160a20000000, 0x3e3f72e29f84325c - .quad 0x000431f5d8000000, 0x3e350a896dc70444 - .quad 0x00044e0860000000, 0x3e18624b40c4dbd0 - .quad 0x00046a41f0000000, 0xbe4717fd446d7686 - .quad 0x000486a2b8000000, 0xbe41f6197f61f2e2 - .quad 0x0004a32af0000000, 0x3e2afa7bcce5b17a - .quad 0x0004bfdad8000000, 0xbe464eaec715e343 - .quad 0x0004dcb298000000, 0x3e3fddd0d63b36ef - .quad 0x0004f9b278000000, 0xbe362d35952cc275 - .quad 0x000516daa0000000, 0x3e467b320e0897a9 - .quad 0x0005342b58000000, 0xbe362b07e20f57c4 - .quad 0x000551a4c8000000, 0x3e42ec9076297631 - .quad 0x00056f4738000000, 0xbe34ad8259913500 - .quad 0x00058d12d8000000, 0xbe4b41c016d6a1ea - .quad 0x0005ab07e0000000, 0xbe45bd5eb539b67f - .quad 0x0005c92688000000, 0x3e42ca35b80e258e - .quad 0x0005e76f18000000, 0xbe4296f5bc8b20da - .quad 0x000605e1b8000000, 0x3e376dc08b076f59 - .quad 0x0006247eb0000000, 0x3e0d2ac258f87d03 - .quad 0x0006434638000000, 0xbe4999e701c483c7 - .quad 0x0006623880000000, 0x3e42a91124893ecf - .quad 0x00068155d8000000, 0xbe4d9ab467bf1d47 - .quad 0x0006a09e68000000, 0xbe380c4336f74d05 - .quad 0x0006c01278000000, 0xbe47a12a08944ab3 - .quad 0x0006dfb240000000, 0xbe4cd72e886ef8ea - .quad 0x0006ff7df8000000, 0x3e3519483cf87e1b - .quad 0x00071f75e8000000, 0x3e2d8bee7ba46e1e - .quad 0x00073f9a48000000, 0x3e24b02e77ab934a - .quad 0x00075feb58000000, 0xbe3bd98374091656 - .quad 0x0007806950000000, 0xbe00d1604f328fec - .quad 0x0007a11470000000, 0x3e4f580c36bea881 - .quad 0x0007c1ed00000000, 0x3e330c1327c49334 - .quad 0x0007e2f338000000, 0xbe330b19defa2fd4 - .quad 0x0008042758000000, 0xbe4e0f2f724f90cc - .quad 0x0008258998000000, 0x3e34cce128acf88b - .quad 0x0008471a48000000, 0xbe3dc385331ad094 - .quad 0x000868d998000000, 0x3e4a2497640720ed - .quad 0x00088ac7d8000000, 0x3e38a669966530bd - .quad 0x0008ace540000000, 0x3e415506dadd3e2b - .quad 0x0008cf3218000000, 0xbe34abb7410d55e3 - .quad 0x0008f1ae98000000, 0x3e31577362b98274 - .quad 0x0009145b08000000, 0x3e4c8ffe2c4530da - .quad 0x00093737b0000000, 0x3e29b8bc9e8a0388 - .quad 0x00095a44c8000000, 0x3e4e4290774da41b - .quad 0x00097d82a0000000, 0xbe00d8d83a30b6f8 - .quad 0x0009a0f170000000, 0x3e2940f737462137 - .quad 0x0009c49180000000, 0x3e451f8480e3e236 - .quad 0x0009e86318000000, 0x3e3e323231824ca8 - .quad 0x000a0c6678000000, 0x3e4aef2b2594d6d4 - .quad 0x000a309bf0000000, 0xbe4dae966539f470 - .quad 0x000a5503b0000000, 0x3e41f12ae45a1225 - .quad 0x000a799e10000000, 0x3e49859ac3796fd9 - .quad 0x000a9e6b58000000, 0xbe44301205e0a6de - .quad 0x000ac36bc0000000, 0xbe0606431f9234cb - .quad 0x000ae89f98000000, 0x3e35ad3ad5e8734d - .quad 0x000b0e0728000000, 0x3e38db66590842ad - .quad 0x000b33a2b8000000, 0x3e13c57ebdaff43a - .quad 0x000b597290000000, 0xbe40d536338e3bf7 - .quad 0x000b7f76f0000000, 0x3e47daf237553d84 - .quad 0x000ba5b030000000, 0x3e2420c930819679 - .quad 0x000bcc1e90000000, 0x3e12f074891ee83d - .quad 0x000bf2c258000000, 0x3e4eb8f0442046b8 - .quad 0x000c199be0000000, 0xbe43d56b1eeef9a7 - .quad 0x000c40ab60000000, 0xbd87c2c975903ef8 - .quad 0x000c67f130000000, 0xbe3a82eb4b5dec80 - .quad 0x000c8f6d98000000, 0xbe4fc8c257729a1e - .quad 0x000cb720e0000000, 0xbe48837cb757e1a1 - .quad 0x000cdf0b58000000, 0xbe4511e031dd83b5 - .quad 0x000d072d48000000, 0x3e403c4bdc687918 - .quad 0x000d2f8708000000, 0x3deb13e315bc2473 - .quad 0x000d5818e0000000, 0xbe4822dbc6d12fd3 - .quad 0x000d80e318000000, 0xbe3367c68447b063 - .quad 0x000da9e600000000, 0x3e4ed9942b84600d - .quad 0x000dd321f0000000, 0x3e480da3025b4aef - .quad 0x000dfc9730000000, 0x3e4bdcdaf5cb4656 - .quad 0x000e264618000000, 0xbe4852f6baf6c4f0 - .quad 0x000e502ee8000000, 0xbe1d30027630bb40 - .quad 0x000e7a51f8000000, 0x3e4e3a641a5aa459 - .quad 0x000ea4afa0000000, 0x3e452486cc2c7b9d - .quad 0x000ecf4830000000, 0xbe438cc07b927e77 - .quad 0x000efa1bf0000000, 0xbe39ea5d888e02de - .quad 0x000f252b38000000, 0xbe2288ad162f2d20 - .quad 0x000f507658000000, 0x3e4b722a033a7c26 - .quad 0x000f7bfdb0000000, 0xbe431a0f63b7625a - .quad 0x000fa7c180000000, 0x3e39e90d82e90a7e - .quad 0x000fd3c228000000, 0x3e4c7b8f884badd2 - /*== poly_coeff[4] ==*/ - .align 16 - .quad 0x3f81111168877F38, 0x3f81111168877F38 /* coeff5 */ - .quad 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3 /* coeff4 */ - .quad 0x3fc555555555541D, 0x3fc555555555541D /* coeff3 */ - .quad 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C /* coeff2 */ - /*== Log2e ==*/ - .align 16 - .quad 0x40671547652B82FE, 0x40671547652B82FE - /*== L2H ==*/ - .align 16 - .quad 0x3f762e42fef80000, 0x3f762e42fef80000 - /*== L2L ==*/ - .align 16 - .quad 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4 - /*== ExpAddConst ==*/ - .align 16 - .quad 0x42f80000001ff800, 0x42f80000001ff800 - /*== IndexMask ==*/ - .align 16 - .quad 0x00000000000007f0, 0x00000000000007f0 - /*== ExpMask ==*/ - .align 16 - .quad 0x00000000003ff800, 0x00000000003ff800 - /*== MOne ==*/ - .align 16 - .quad 0xbff0000000000000, 0xbff0000000000000 - /*== AbsMask ==*/ - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff - /*== Threshold ==*/ - .align 16 - .quad 0x40861DA04CBAFE43, 0x40861DA04CBAFE43 - /*== L2 ==*/ - .align 16 - .quad 0x3f762e42fefa39ef, 0x3f762e42fefa39ef - .align 16 - .type __svml_dexpm1_data_internal,@object - .size __svml_dexpm1_data_internal,.-__svml_dexpm1_data_internal - .align 16 + /* Expm1_HA_table */ + .quad 0x0000000000000000, 0x0000000000000000 + .quad 0x0000163da8000000, 0x3e3fb33356d84a67 + .quad 0x00002c9a40000000, 0xbe3887f9f1190835 + .quad 0x00004315e8000000, 0x3e1b9fe12f5ce3e7 + .quad 0x000059b0d0000000, 0x3e48ac2ba1d73e2a + .quad 0x0000706b28000000, 0x3e3ddf6ddc6dc404 + .quad 0x0000874518000000, 0x3e1d66f20230d7c9 + .quad 0x00009e3ec8000000, 0x3e46379c1a290f03 + .quad 0x0000b55870000000, 0xbe4833b784eb3a37 + .quad 0x0000cc9228000000, 0x3e4b923fba03db83 + .quad 0x0000e3ec30000000, 0x3e469e8d10103a17 + .quad 0x0000fb66b0000000, 0xbdb2ce50dcdf6e22 + .quad 0x00011301d0000000, 0x3df25b50a4ebbf1b + .quad 0x00012abdc0000000, 0x3e1b0c72fee4aeb5 + .quad 0x0001429ab0000000, 0xbe356d2204cbefe7 + .quad 0x00015a98c8000000, 0x3e24b1ca24901aae + .quad 0x000172b840000000, 0xbe4c15742919041c + .quad 0x00018af938000000, 0x3e2191bd3777ee17 + .quad 0x0001a35be8000000, 0x3e4b7e5ba9e5b4c8 + .quad 0x0001bbe088000000, 0xbe4fdd19632a70c7 + .quad 0x0001d48730000000, 0x3e368b9aa7805b80 + .quad 0x0001ed5020000000, 0x3e47e6c8e5c40d00 + .quad 0x0002063b88000000, 0x3e18a3358ee3bac1 + .quad 0x00021f4990000000, 0x3e37ddc962552fd3 + .quad 0x0002387a70000000, 0xbe38a9dc7993e052 + .quad 0x000251ce50000000, 0xbe135670329f5521 + .quad 0x00026b4568000000, 0xbe40ec1916d42cc6 + .quad 0x000284dfe0000000, 0x3e3f5638096cf15d + .quad 0x00029e9df8000000, 0xbe470108f69ed175 + .quad 0x0002b87fd0000000, 0x3e2b5b31ffbbd48d + .quad 0x0002d285a8000000, 0xbe31bfcf4bff6e2b + .quad 0x0002ecafa8000000, 0x3e33e2f5611ca0f4 + .quad 0x000306fe08000000, 0x3e418db8a96f46ad + .quad 0x0003217100000000, 0xbe4d993e76563187 + .quad 0x00033c08b0000000, 0x3e4320b7fa64e431 + .quad 0x000356c560000000, 0xbe1b5803cdae772e + .quad 0x000371a738000000, 0xbe28aac6ab1d7560 + .quad 0x00038cae70000000, 0xbe47d13cd3d2b1a8 + .quad 0x0003a7db38000000, 0xbe48d30048af21b7 + .quad 0x0003c32dc0000000, 0x3e489d47242000f9 + .quad 0x0003dea650000000, 0xbe4f6e5eee525f6f + .quad 0x0003fa4508000000, 0xbe4a9bff22fa047f + .quad 0x0004160a20000000, 0x3e3f72e29f84325c + .quad 0x000431f5d8000000, 0x3e350a896dc70444 + .quad 0x00044e0860000000, 0x3e18624b40c4dbd0 + .quad 0x00046a41f0000000, 0xbe4717fd446d7686 + .quad 0x000486a2b8000000, 0xbe41f6197f61f2e2 + .quad 0x0004a32af0000000, 0x3e2afa7bcce5b17a + .quad 0x0004bfdad8000000, 0xbe464eaec715e343 + .quad 0x0004dcb298000000, 0x3e3fddd0d63b36ef + .quad 0x0004f9b278000000, 0xbe362d35952cc275 + .quad 0x000516daa0000000, 0x3e467b320e0897a9 + .quad 0x0005342b58000000, 0xbe362b07e20f57c4 + .quad 0x000551a4c8000000, 0x3e42ec9076297631 + .quad 0x00056f4738000000, 0xbe34ad8259913500 + .quad 0x00058d12d8000000, 0xbe4b41c016d6a1ea + .quad 0x0005ab07e0000000, 0xbe45bd5eb539b67f + .quad 0x0005c92688000000, 0x3e42ca35b80e258e + .quad 0x0005e76f18000000, 0xbe4296f5bc8b20da + .quad 0x000605e1b8000000, 0x3e376dc08b076f59 + .quad 0x0006247eb0000000, 0x3e0d2ac258f87d03 + .quad 0x0006434638000000, 0xbe4999e701c483c7 + .quad 0x0006623880000000, 0x3e42a91124893ecf + .quad 0x00068155d8000000, 0xbe4d9ab467bf1d47 + .quad 0x0006a09e68000000, 0xbe380c4336f74d05 + .quad 0x0006c01278000000, 0xbe47a12a08944ab3 + .quad 0x0006dfb240000000, 0xbe4cd72e886ef8ea + .quad 0x0006ff7df8000000, 0x3e3519483cf87e1b + .quad 0x00071f75e8000000, 0x3e2d8bee7ba46e1e + .quad 0x00073f9a48000000, 0x3e24b02e77ab934a + .quad 0x00075feb58000000, 0xbe3bd98374091656 + .quad 0x0007806950000000, 0xbe00d1604f328fec + .quad 0x0007a11470000000, 0x3e4f580c36bea881 + .quad 0x0007c1ed00000000, 0x3e330c1327c49334 + .quad 0x0007e2f338000000, 0xbe330b19defa2fd4 + .quad 0x0008042758000000, 0xbe4e0f2f724f90cc + .quad 0x0008258998000000, 0x3e34cce128acf88b + .quad 0x0008471a48000000, 0xbe3dc385331ad094 + .quad 0x000868d998000000, 0x3e4a2497640720ed + .quad 0x00088ac7d8000000, 0x3e38a669966530bd + .quad 0x0008ace540000000, 0x3e415506dadd3e2b + .quad 0x0008cf3218000000, 0xbe34abb7410d55e3 + .quad 0x0008f1ae98000000, 0x3e31577362b98274 + .quad 0x0009145b08000000, 0x3e4c8ffe2c4530da + .quad 0x00093737b0000000, 0x3e29b8bc9e8a0388 + .quad 0x00095a44c8000000, 0x3e4e4290774da41b + .quad 0x00097d82a0000000, 0xbe00d8d83a30b6f8 + .quad 0x0009a0f170000000, 0x3e2940f737462137 + .quad 0x0009c49180000000, 0x3e451f8480e3e236 + .quad 0x0009e86318000000, 0x3e3e323231824ca8 + .quad 0x000a0c6678000000, 0x3e4aef2b2594d6d4 + .quad 0x000a309bf0000000, 0xbe4dae966539f470 + .quad 0x000a5503b0000000, 0x3e41f12ae45a1225 + .quad 0x000a799e10000000, 0x3e49859ac3796fd9 + .quad 0x000a9e6b58000000, 0xbe44301205e0a6de + .quad 0x000ac36bc0000000, 0xbe0606431f9234cb + .quad 0x000ae89f98000000, 0x3e35ad3ad5e8734d + .quad 0x000b0e0728000000, 0x3e38db66590842ad + .quad 0x000b33a2b8000000, 0x3e13c57ebdaff43a + .quad 0x000b597290000000, 0xbe40d536338e3bf7 + .quad 0x000b7f76f0000000, 0x3e47daf237553d84 + .quad 0x000ba5b030000000, 0x3e2420c930819679 + .quad 0x000bcc1e90000000, 0x3e12f074891ee83d + .quad 0x000bf2c258000000, 0x3e4eb8f0442046b8 + .quad 0x000c199be0000000, 0xbe43d56b1eeef9a7 + .quad 0x000c40ab60000000, 0xbd87c2c975903ef8 + .quad 0x000c67f130000000, 0xbe3a82eb4b5dec80 + .quad 0x000c8f6d98000000, 0xbe4fc8c257729a1e + .quad 0x000cb720e0000000, 0xbe48837cb757e1a1 + .quad 0x000cdf0b58000000, 0xbe4511e031dd83b5 + .quad 0x000d072d48000000, 0x3e403c4bdc687918 + .quad 0x000d2f8708000000, 0x3deb13e315bc2473 + .quad 0x000d5818e0000000, 0xbe4822dbc6d12fd3 + .quad 0x000d80e318000000, 0xbe3367c68447b063 + .quad 0x000da9e600000000, 0x3e4ed9942b84600d + .quad 0x000dd321f0000000, 0x3e480da3025b4aef + .quad 0x000dfc9730000000, 0x3e4bdcdaf5cb4656 + .quad 0x000e264618000000, 0xbe4852f6baf6c4f0 + .quad 0x000e502ee8000000, 0xbe1d30027630bb40 + .quad 0x000e7a51f8000000, 0x3e4e3a641a5aa459 + .quad 0x000ea4afa0000000, 0x3e452486cc2c7b9d + .quad 0x000ecf4830000000, 0xbe438cc07b927e77 + .quad 0x000efa1bf0000000, 0xbe39ea5d888e02de + .quad 0x000f252b38000000, 0xbe2288ad162f2d20 + .quad 0x000f507658000000, 0x3e4b722a033a7c26 + .quad 0x000f7bfdb0000000, 0xbe431a0f63b7625a + .quad 0x000fa7c180000000, 0x3e39e90d82e90a7e + .quad 0x000fd3c228000000, 0x3e4c7b8f884badd2 + /* poly_coeff[4] */ + .align 16 + .quad 0x3f81111168877F38, 0x3f81111168877F38 /* coeff5 */ + .quad 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3 /* coeff4 */ + .quad 0x3fc555555555541D, 0x3fc555555555541D /* coeff3 */ + .quad 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C /* coeff2 */ + /* Log2e */ + .align 16 + .quad 0x40671547652B82FE, 0x40671547652B82FE + /* L2H */ + .align 16 + .quad 0x3f762e42fef80000, 0x3f762e42fef80000 + /* L2L */ + .align 16 + .quad 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4 + /* ExpAddConst */ + .align 16 + .quad 0x42f80000001ff800, 0x42f80000001ff800 + /* IndexMask */ + .align 16 + .quad 0x00000000000007f0, 0x00000000000007f0 + /* ExpMask */ + .align 16 + .quad 0x00000000003ff800, 0x00000000003ff800 + /* MOne */ + .align 16 + .quad 0xbff0000000000000, 0xbff0000000000000 + /* AbsMask */ + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff + /* Threshold */ + .align 16 + .quad 0x40861DA04CBAFE43, 0x40861DA04CBAFE43 + /* L2 */ + .align 16 + .quad 0x3f762e42fefa39ef, 0x3f762e42fefa39ef + .align 16 + .type __svml_dexpm1_data_internal, @object + .size __svml_dexpm1_data_internal, .-__svml_dexpm1_data_internal + .align 16 .FLT_10: - .long 0x00000000,0x43380000,0x00000000,0x43380000 - .type .FLT_10,@object - .size .FLT_10,16 + .long 0x00000000, 0x43380000, 0x00000000, 0x43380000 + .type .FLT_10, @object + .size .FLT_10, 16 From patchwork Mon Mar 7 15:01:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602266 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=hlD2pjpz; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2Ll3BK9z9sFk for ; Tue, 8 Mar 2022 02:24:31 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 506B53858428 for ; Mon, 7 Mar 2022 15:24:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 506B53858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666669; bh=tT+s2kZB4t4MbwUZELhkMXBu+nq5BEaAfC7Lu1sdEcY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=hlD2pjpzPdPfK97cebsWF3wJvtVLSrrlWvmNpg5r+Lz2KVv8huXwZaCmiDX4P2tc5 U89CryGknM3WNOvhOL3GBTIHjd6WMFUkTVtBPIG5dA2KkDB6deKUc2Z/jenBday53q F9av1NGEoVnWQ9UckvUNAu1VWIxTDTxUonQG6hTs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id BCFD73858014 for ; Mon, 7 Mar 2022 15:02:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BCFD73858014 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="253239991" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="253239991" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="509733252" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ev016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 083/126] x86_64: Fix svml_d_expm14_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:18 -0800 Message-Id: <20220307150201.10590-84-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_expm14_core_avx2.S | 701 +++++++++--------- 1 file changed, 350 insertions(+), 351 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S index ac05a2af06..590341c243 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm14_core_avx2.S @@ -28,381 +28,380 @@ /* Offsets for data table __svml_dexpm1_data_internal */ -#define Expm1_HA_table 0 -#define poly_coeff 2048 -#define Log2e 2176 -#define L2H 2208 -#define L2L 2240 -#define ExpAddConst 2272 -#define IndexMask 2304 -#define ExpMask 2336 -#define MOne 2368 -#define AbsMask 2400 -#define Threshold 2432 -#define L2 2464 +#define Expm1_HA_table 0 +#define poly_coeff 2048 +#define Log2e 2176 +#define L2H 2208 +#define L2L 2240 +#define ExpAddConst 2272 +#define IndexMask 2304 +#define ExpMask 2336 +#define MOne 2368 +#define AbsMask 2400 +#define Threshold 2432 +#define L2 2464 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_expm1_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea __svml_dexpm1_data_internal(%rip), %r8 - vmovapd %ymm0, %ymm3 - vmulpd Log2e+__svml_dexpm1_data_internal(%rip), %ymm3, %ymm4 - -/* argument reduction */ - vmovupd L2H+__svml_dexpm1_data_internal(%rip), %ymm2 - vmovupd AbsMask+__svml_dexpm1_data_internal(%rip), %ymm5 - vroundpd $0, %ymm4, %ymm8 - vaddpd ExpAddConst+__svml_dexpm1_data_internal(%rip), %ymm8, %ymm0 - vfnmadd213pd %ymm3, %ymm8, %ymm2 - -/* table lookup */ - vandps IndexMask+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm9 - vandpd %ymm5, %ymm3, %ymm6 - vcmpnle_uqpd Threshold+__svml_dexpm1_data_internal(%rip), %ymm6, %ymm7 - vfnmadd231pd L2L+__svml_dexpm1_data_internal(%rip), %ymm8, %ymm2 - vandnpd %ymm3, %ymm5, %ymm1 - vmovmskpd %ymm7, %eax - vmovupd poly_coeff+64+__svml_dexpm1_data_internal(%rip), %ymm7 - vmulpd %ymm2, %ymm2, %ymm8 - vfmadd213pd poly_coeff+96+__svml_dexpm1_data_internal(%rip), %ymm2, %ymm7 - vandps ExpMask+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm0 - vextractf128 $1, %ymm9, %xmm10 - vmovd %xmm9, %edx - vmovd %xmm10, %esi - vpextrd $2, %xmm9, %ecx - vpextrd $2, %xmm10, %edi - movslq %edx, %rdx - movslq %ecx, %rcx - movslq %esi, %rsi - movslq %edi, %rdi - vmovupd (%r8,%rdx), %xmm13 - vmovupd (%r8,%rcx), %xmm14 - vmovupd (%r8,%rsi), %xmm4 - vmovupd (%r8,%rdi), %xmm5 - vunpcklpd %xmm14, %xmm13, %xmm11 - vunpcklpd %xmm5, %xmm4, %xmm12 - vpsllq $41, %ymm0, %ymm10 - vunpckhpd %xmm14, %xmm13, %xmm15 - vunpckhpd %xmm5, %xmm4, %xmm13 - vinsertf128 $1, %xmm12, %ymm11, %ymm6 - -/* polynomial */ - vmovupd poly_coeff+__svml_dexpm1_data_internal(%rip), %ymm12 - -/* T-1 */ - vmovupd MOne+__svml_dexpm1_data_internal(%rip), %ymm11 - vfmadd213pd poly_coeff+32+__svml_dexpm1_data_internal(%rip), %ymm2, %ymm12 - vfmadd213pd %ymm7, %ymm8, %ymm12 - vorpd %ymm10, %ymm6, %ymm9 - vfmadd213pd %ymm2, %ymm8, %ymm12 - vaddpd %ymm11, %ymm9, %ymm2 - vinsertf128 $1, %xmm13, %ymm15, %ymm14 - -/* Th1 = (Th-1) + Tl */ - vfmadd213pd %ymm2, %ymm10, %ymm14 - -/* T = Th+Tl */ - vsubpd %ymm11, %ymm14, %ymm0 - vfmadd213pd %ymm14, %ymm12, %ymm0 - vorpd %ymm1, %ymm0, %ymm0 - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm3 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea __svml_dexpm1_data_internal(%rip), %r8 + vmovapd %ymm0, %ymm3 + vmulpd Log2e+__svml_dexpm1_data_internal(%rip), %ymm3, %ymm4 + + /* argument reduction */ + vmovupd L2H+__svml_dexpm1_data_internal(%rip), %ymm2 + vmovupd AbsMask+__svml_dexpm1_data_internal(%rip), %ymm5 + vroundpd $0, %ymm4, %ymm8 + vaddpd ExpAddConst+__svml_dexpm1_data_internal(%rip), %ymm8, %ymm0 + vfnmadd213pd %ymm3, %ymm8, %ymm2 + + /* table lookup */ + vandps IndexMask+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm9 + vandpd %ymm5, %ymm3, %ymm6 + vcmpnle_uqpd Threshold+__svml_dexpm1_data_internal(%rip), %ymm6, %ymm7 + vfnmadd231pd L2L+__svml_dexpm1_data_internal(%rip), %ymm8, %ymm2 + vandnpd %ymm3, %ymm5, %ymm1 + vmovmskpd %ymm7, %eax + vmovupd poly_coeff+64+__svml_dexpm1_data_internal(%rip), %ymm7 + vmulpd %ymm2, %ymm2, %ymm8 + vfmadd213pd poly_coeff+96+__svml_dexpm1_data_internal(%rip), %ymm2, %ymm7 + vandps ExpMask+__svml_dexpm1_data_internal(%rip), %ymm0, %ymm0 + vextractf128 $1, %ymm9, %xmm10 + vmovd %xmm9, %edx + vmovd %xmm10, %esi + vpextrd $2, %xmm9, %ecx + vpextrd $2, %xmm10, %edi + movslq %edx, %rdx + movslq %ecx, %rcx + movslq %esi, %rsi + movslq %edi, %rdi + vmovupd (%r8, %rdx), %xmm13 + vmovupd (%r8, %rcx), %xmm14 + vmovupd (%r8, %rsi), %xmm4 + vmovupd (%r8, %rdi), %xmm5 + vunpcklpd %xmm14, %xmm13, %xmm11 + vunpcklpd %xmm5, %xmm4, %xmm12 + vpsllq $41, %ymm0, %ymm10 + vunpckhpd %xmm14, %xmm13, %xmm15 + vunpckhpd %xmm5, %xmm4, %xmm13 + vinsertf128 $1, %xmm12, %ymm11, %ymm6 + + /* polynomial */ + vmovupd poly_coeff+__svml_dexpm1_data_internal(%rip), %ymm12 + + /* T-1 */ + vmovupd MOne+__svml_dexpm1_data_internal(%rip), %ymm11 + vfmadd213pd poly_coeff+32+__svml_dexpm1_data_internal(%rip), %ymm2, %ymm12 + vfmadd213pd %ymm7, %ymm8, %ymm12 + vorpd %ymm10, %ymm6, %ymm9 + vfmadd213pd %ymm2, %ymm8, %ymm12 + vaddpd %ymm11, %ymm9, %ymm2 + vinsertf128 $1, %xmm13, %ymm15, %ymm14 + + /* Th1 = (Th-1) + Tl */ + vfmadd213pd %ymm2, %ymm10, %ymm14 + + /* T = Th+Tl */ + vsubpd %ymm11, %ymm14, %ymm0 + vfmadd213pd %ymm14, %ymm12, %ymm0 + vorpd %ymm1, %ymm0, %ymm0 + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm3, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 - - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm3, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 + + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call expm1@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call expm1@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_expm1_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dexpm1_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Expm1_HA_table[(1<<8)][2]; - __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; - __declspec(align(32)) VUINT32 Log2e[4][2]; - __declspec(align(32)) VUINT32 L2H[4][2]; - __declspec(align(32)) VUINT32 L2L[4][2]; - __declspec(align(32)) VUINT32 ExpAddConst[4][2]; - __declspec(align(32)) VUINT32 IndexMask[4][2]; - __declspec(align(32)) VUINT32 ExpMask[4][2]; - __declspec(align(32)) VUINT32 MOne[4][2]; - __declspec(align(32)) VUINT32 AbsMask[4][2]; - __declspec(align(32)) VUINT32 Threshold[4][2]; - __declspec(align(32)) VUINT32 L2[4][2]; + __declspec(align(32)) VUINT32 Expm1_HA_table[(1<<8)][2]; + __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; + __declspec(align(32)) VUINT32 Log2e[4][2]; + __declspec(align(32)) VUINT32 L2H[4][2]; + __declspec(align(32)) VUINT32 L2L[4][2]; + __declspec(align(32)) VUINT32 ExpAddConst[4][2]; + __declspec(align(32)) VUINT32 IndexMask[4][2]; + __declspec(align(32)) VUINT32 ExpMask[4][2]; + __declspec(align(32)) VUINT32 MOne[4][2]; + __declspec(align(32)) VUINT32 AbsMask[4][2]; + __declspec(align(32)) VUINT32 Threshold[4][2]; + __declspec(align(32)) VUINT32 L2[4][2]; } __svml_dexpm1_data_internal; #endif __svml_dexpm1_data_internal: - /* Expm1_HA_table */ - .quad 0x0000000000000000, 0x0000000000000000 - .quad 0x0000163da8000000, 0x3e3fb33356d84a67 - .quad 0x00002c9a40000000, 0xbe3887f9f1190835 - .quad 0x00004315e8000000, 0x3e1b9fe12f5ce3e7 - .quad 0x000059b0d0000000, 0x3e48ac2ba1d73e2a - .quad 0x0000706b28000000, 0x3e3ddf6ddc6dc404 - .quad 0x0000874518000000, 0x3e1d66f20230d7c9 - .quad 0x00009e3ec8000000, 0x3e46379c1a290f03 - .quad 0x0000b55870000000, 0xbe4833b784eb3a37 - .quad 0x0000cc9228000000, 0x3e4b923fba03db83 - .quad 0x0000e3ec30000000, 0x3e469e8d10103a17 - .quad 0x0000fb66b0000000, 0xbdb2ce50dcdf6e22 - .quad 0x00011301d0000000, 0x3df25b50a4ebbf1b - .quad 0x00012abdc0000000, 0x3e1b0c72fee4aeb5 - .quad 0x0001429ab0000000, 0xbe356d2204cbefe7 - .quad 0x00015a98c8000000, 0x3e24b1ca24901aae - .quad 0x000172b840000000, 0xbe4c15742919041c - .quad 0x00018af938000000, 0x3e2191bd3777ee17 - .quad 0x0001a35be8000000, 0x3e4b7e5ba9e5b4c8 - .quad 0x0001bbe088000000, 0xbe4fdd19632a70c7 - .quad 0x0001d48730000000, 0x3e368b9aa7805b80 - .quad 0x0001ed5020000000, 0x3e47e6c8e5c40d00 - .quad 0x0002063b88000000, 0x3e18a3358ee3bac1 - .quad 0x00021f4990000000, 0x3e37ddc962552fd3 - .quad 0x0002387a70000000, 0xbe38a9dc7993e052 - .quad 0x000251ce50000000, 0xbe135670329f5521 - .quad 0x00026b4568000000, 0xbe40ec1916d42cc6 - .quad 0x000284dfe0000000, 0x3e3f5638096cf15d - .quad 0x00029e9df8000000, 0xbe470108f69ed175 - .quad 0x0002b87fd0000000, 0x3e2b5b31ffbbd48d - .quad 0x0002d285a8000000, 0xbe31bfcf4bff6e2b - .quad 0x0002ecafa8000000, 0x3e33e2f5611ca0f4 - .quad 0x000306fe08000000, 0x3e418db8a96f46ad - .quad 0x0003217100000000, 0xbe4d993e76563187 - .quad 0x00033c08b0000000, 0x3e4320b7fa64e431 - .quad 0x000356c560000000, 0xbe1b5803cdae772e - .quad 0x000371a738000000, 0xbe28aac6ab1d7560 - .quad 0x00038cae70000000, 0xbe47d13cd3d2b1a8 - .quad 0x0003a7db38000000, 0xbe48d30048af21b7 - .quad 0x0003c32dc0000000, 0x3e489d47242000f9 - .quad 0x0003dea650000000, 0xbe4f6e5eee525f6f - .quad 0x0003fa4508000000, 0xbe4a9bff22fa047f - .quad 0x0004160a20000000, 0x3e3f72e29f84325c - .quad 0x000431f5d8000000, 0x3e350a896dc70444 - .quad 0x00044e0860000000, 0x3e18624b40c4dbd0 - .quad 0x00046a41f0000000, 0xbe4717fd446d7686 - .quad 0x000486a2b8000000, 0xbe41f6197f61f2e2 - .quad 0x0004a32af0000000, 0x3e2afa7bcce5b17a - .quad 0x0004bfdad8000000, 0xbe464eaec715e343 - .quad 0x0004dcb298000000, 0x3e3fddd0d63b36ef - .quad 0x0004f9b278000000, 0xbe362d35952cc275 - .quad 0x000516daa0000000, 0x3e467b320e0897a9 - .quad 0x0005342b58000000, 0xbe362b07e20f57c4 - .quad 0x000551a4c8000000, 0x3e42ec9076297631 - .quad 0x00056f4738000000, 0xbe34ad8259913500 - .quad 0x00058d12d8000000, 0xbe4b41c016d6a1ea - .quad 0x0005ab07e0000000, 0xbe45bd5eb539b67f - .quad 0x0005c92688000000, 0x3e42ca35b80e258e - .quad 0x0005e76f18000000, 0xbe4296f5bc8b20da - .quad 0x000605e1b8000000, 0x3e376dc08b076f59 - .quad 0x0006247eb0000000, 0x3e0d2ac258f87d03 - .quad 0x0006434638000000, 0xbe4999e701c483c7 - .quad 0x0006623880000000, 0x3e42a91124893ecf - .quad 0x00068155d8000000, 0xbe4d9ab467bf1d47 - .quad 0x0006a09e68000000, 0xbe380c4336f74d05 - .quad 0x0006c01278000000, 0xbe47a12a08944ab3 - .quad 0x0006dfb240000000, 0xbe4cd72e886ef8ea - .quad 0x0006ff7df8000000, 0x3e3519483cf87e1b - .quad 0x00071f75e8000000, 0x3e2d8bee7ba46e1e - .quad 0x00073f9a48000000, 0x3e24b02e77ab934a - .quad 0x00075feb58000000, 0xbe3bd98374091656 - .quad 0x0007806950000000, 0xbe00d1604f328fec - .quad 0x0007a11470000000, 0x3e4f580c36bea881 - .quad 0x0007c1ed00000000, 0x3e330c1327c49334 - .quad 0x0007e2f338000000, 0xbe330b19defa2fd4 - .quad 0x0008042758000000, 0xbe4e0f2f724f90cc - .quad 0x0008258998000000, 0x3e34cce128acf88b - .quad 0x0008471a48000000, 0xbe3dc385331ad094 - .quad 0x000868d998000000, 0x3e4a2497640720ed - .quad 0x00088ac7d8000000, 0x3e38a669966530bd - .quad 0x0008ace540000000, 0x3e415506dadd3e2b - .quad 0x0008cf3218000000, 0xbe34abb7410d55e3 - .quad 0x0008f1ae98000000, 0x3e31577362b98274 - .quad 0x0009145b08000000, 0x3e4c8ffe2c4530da - .quad 0x00093737b0000000, 0x3e29b8bc9e8a0388 - .quad 0x00095a44c8000000, 0x3e4e4290774da41b - .quad 0x00097d82a0000000, 0xbe00d8d83a30b6f8 - .quad 0x0009a0f170000000, 0x3e2940f737462137 - .quad 0x0009c49180000000, 0x3e451f8480e3e236 - .quad 0x0009e86318000000, 0x3e3e323231824ca8 - .quad 0x000a0c6678000000, 0x3e4aef2b2594d6d4 - .quad 0x000a309bf0000000, 0xbe4dae966539f470 - .quad 0x000a5503b0000000, 0x3e41f12ae45a1225 - .quad 0x000a799e10000000, 0x3e49859ac3796fd9 - .quad 0x000a9e6b58000000, 0xbe44301205e0a6de - .quad 0x000ac36bc0000000, 0xbe0606431f9234cb - .quad 0x000ae89f98000000, 0x3e35ad3ad5e8734d - .quad 0x000b0e0728000000, 0x3e38db66590842ad - .quad 0x000b33a2b8000000, 0x3e13c57ebdaff43a - .quad 0x000b597290000000, 0xbe40d536338e3bf7 - .quad 0x000b7f76f0000000, 0x3e47daf237553d84 - .quad 0x000ba5b030000000, 0x3e2420c930819679 - .quad 0x000bcc1e90000000, 0x3e12f074891ee83d - .quad 0x000bf2c258000000, 0x3e4eb8f0442046b8 - .quad 0x000c199be0000000, 0xbe43d56b1eeef9a7 - .quad 0x000c40ab60000000, 0xbd87c2c975903ef8 - .quad 0x000c67f130000000, 0xbe3a82eb4b5dec80 - .quad 0x000c8f6d98000000, 0xbe4fc8c257729a1e - .quad 0x000cb720e0000000, 0xbe48837cb757e1a1 - .quad 0x000cdf0b58000000, 0xbe4511e031dd83b5 - .quad 0x000d072d48000000, 0x3e403c4bdc687918 - .quad 0x000d2f8708000000, 0x3deb13e315bc2473 - .quad 0x000d5818e0000000, 0xbe4822dbc6d12fd3 - .quad 0x000d80e318000000, 0xbe3367c68447b063 - .quad 0x000da9e600000000, 0x3e4ed9942b84600d - .quad 0x000dd321f0000000, 0x3e480da3025b4aef - .quad 0x000dfc9730000000, 0x3e4bdcdaf5cb4656 - .quad 0x000e264618000000, 0xbe4852f6baf6c4f0 - .quad 0x000e502ee8000000, 0xbe1d30027630bb40 - .quad 0x000e7a51f8000000, 0x3e4e3a641a5aa459 - .quad 0x000ea4afa0000000, 0x3e452486cc2c7b9d - .quad 0x000ecf4830000000, 0xbe438cc07b927e77 - .quad 0x000efa1bf0000000, 0xbe39ea5d888e02de - .quad 0x000f252b38000000, 0xbe2288ad162f2d20 - .quad 0x000f507658000000, 0x3e4b722a033a7c26 - .quad 0x000f7bfdb0000000, 0xbe431a0f63b7625a - .quad 0x000fa7c180000000, 0x3e39e90d82e90a7e - .quad 0x000fd3c228000000, 0x3e4c7b8f884badd2 - /*== poly_coeff[4] ==*/ - .align 32 - .quad 0x3f81111168877F38, 0x3f81111168877F38, 0x3f81111168877F38, 0x3f81111168877F38 /* coeff5 */ - .quad 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3 /* coeff4 */ - .quad 0x3fc555555555541D, 0x3fc555555555541D, 0x3fc555555555541D, 0x3fc555555555541D /* coeff3 */ - .quad 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C /* coeff2 */ - /*== Log2e ==*/ - .align 32 - .quad 0x40671547652B82FE, 0x40671547652B82FE, 0x40671547652B82FE, 0x40671547652B82FE - /*== L2H ==*/ - .align 32 - .quad 0x3f762e42fef80000, 0x3f762e42fef80000, 0x3f762e42fef80000, 0x3f762e42fef80000 - /*== L2L ==*/ - .align 32 - .quad 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4 - /*== ExpAddConst ==*/ - .align 32 - .quad 0x42f80000001ff800, 0x42f80000001ff800, 0x42f80000001ff800, 0x42f80000001ff800 - /*== IndexMask ==*/ - .align 32 - .quad 0x00000000000007f0, 0x00000000000007f0, 0x00000000000007f0, 0x00000000000007f0 - /*== ExpMask ==*/ - .align 32 - .quad 0x00000000003ff800, 0x00000000003ff800, 0x00000000003ff800, 0x00000000003ff800 - /*== MOne ==*/ - .align 32 - .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000 - /*== AbsMask ==*/ - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== Threshold ==*/ - .align 32 - .quad 0x40861DA04CBAFE43, 0x40861DA04CBAFE43, 0x40861DA04CBAFE43, 0x40861DA04CBAFE43 - /*== L2 ==*/ - .align 32 - .quad 0x3f762e42fefa39ef, 0x3f762e42fefa39ef, 0x3f762e42fefa39ef, 0x3f762e42fefa39ef - .align 32 - .type __svml_dexpm1_data_internal,@object - .size __svml_dexpm1_data_internal,.-__svml_dexpm1_data_internal + /* Expm1_HA_table */ + .quad 0x0000000000000000, 0x0000000000000000 + .quad 0x0000163da8000000, 0x3e3fb33356d84a67 + .quad 0x00002c9a40000000, 0xbe3887f9f1190835 + .quad 0x00004315e8000000, 0x3e1b9fe12f5ce3e7 + .quad 0x000059b0d0000000, 0x3e48ac2ba1d73e2a + .quad 0x0000706b28000000, 0x3e3ddf6ddc6dc404 + .quad 0x0000874518000000, 0x3e1d66f20230d7c9 + .quad 0x00009e3ec8000000, 0x3e46379c1a290f03 + .quad 0x0000b55870000000, 0xbe4833b784eb3a37 + .quad 0x0000cc9228000000, 0x3e4b923fba03db83 + .quad 0x0000e3ec30000000, 0x3e469e8d10103a17 + .quad 0x0000fb66b0000000, 0xbdb2ce50dcdf6e22 + .quad 0x00011301d0000000, 0x3df25b50a4ebbf1b + .quad 0x00012abdc0000000, 0x3e1b0c72fee4aeb5 + .quad 0x0001429ab0000000, 0xbe356d2204cbefe7 + .quad 0x00015a98c8000000, 0x3e24b1ca24901aae + .quad 0x000172b840000000, 0xbe4c15742919041c + .quad 0x00018af938000000, 0x3e2191bd3777ee17 + .quad 0x0001a35be8000000, 0x3e4b7e5ba9e5b4c8 + .quad 0x0001bbe088000000, 0xbe4fdd19632a70c7 + .quad 0x0001d48730000000, 0x3e368b9aa7805b80 + .quad 0x0001ed5020000000, 0x3e47e6c8e5c40d00 + .quad 0x0002063b88000000, 0x3e18a3358ee3bac1 + .quad 0x00021f4990000000, 0x3e37ddc962552fd3 + .quad 0x0002387a70000000, 0xbe38a9dc7993e052 + .quad 0x000251ce50000000, 0xbe135670329f5521 + .quad 0x00026b4568000000, 0xbe40ec1916d42cc6 + .quad 0x000284dfe0000000, 0x3e3f5638096cf15d + .quad 0x00029e9df8000000, 0xbe470108f69ed175 + .quad 0x0002b87fd0000000, 0x3e2b5b31ffbbd48d + .quad 0x0002d285a8000000, 0xbe31bfcf4bff6e2b + .quad 0x0002ecafa8000000, 0x3e33e2f5611ca0f4 + .quad 0x000306fe08000000, 0x3e418db8a96f46ad + .quad 0x0003217100000000, 0xbe4d993e76563187 + .quad 0x00033c08b0000000, 0x3e4320b7fa64e431 + .quad 0x000356c560000000, 0xbe1b5803cdae772e + .quad 0x000371a738000000, 0xbe28aac6ab1d7560 + .quad 0x00038cae70000000, 0xbe47d13cd3d2b1a8 + .quad 0x0003a7db38000000, 0xbe48d30048af21b7 + .quad 0x0003c32dc0000000, 0x3e489d47242000f9 + .quad 0x0003dea650000000, 0xbe4f6e5eee525f6f + .quad 0x0003fa4508000000, 0xbe4a9bff22fa047f + .quad 0x0004160a20000000, 0x3e3f72e29f84325c + .quad 0x000431f5d8000000, 0x3e350a896dc70444 + .quad 0x00044e0860000000, 0x3e18624b40c4dbd0 + .quad 0x00046a41f0000000, 0xbe4717fd446d7686 + .quad 0x000486a2b8000000, 0xbe41f6197f61f2e2 + .quad 0x0004a32af0000000, 0x3e2afa7bcce5b17a + .quad 0x0004bfdad8000000, 0xbe464eaec715e343 + .quad 0x0004dcb298000000, 0x3e3fddd0d63b36ef + .quad 0x0004f9b278000000, 0xbe362d35952cc275 + .quad 0x000516daa0000000, 0x3e467b320e0897a9 + .quad 0x0005342b58000000, 0xbe362b07e20f57c4 + .quad 0x000551a4c8000000, 0x3e42ec9076297631 + .quad 0x00056f4738000000, 0xbe34ad8259913500 + .quad 0x00058d12d8000000, 0xbe4b41c016d6a1ea + .quad 0x0005ab07e0000000, 0xbe45bd5eb539b67f + .quad 0x0005c92688000000, 0x3e42ca35b80e258e + .quad 0x0005e76f18000000, 0xbe4296f5bc8b20da + .quad 0x000605e1b8000000, 0x3e376dc08b076f59 + .quad 0x0006247eb0000000, 0x3e0d2ac258f87d03 + .quad 0x0006434638000000, 0xbe4999e701c483c7 + .quad 0x0006623880000000, 0x3e42a91124893ecf + .quad 0x00068155d8000000, 0xbe4d9ab467bf1d47 + .quad 0x0006a09e68000000, 0xbe380c4336f74d05 + .quad 0x0006c01278000000, 0xbe47a12a08944ab3 + .quad 0x0006dfb240000000, 0xbe4cd72e886ef8ea + .quad 0x0006ff7df8000000, 0x3e3519483cf87e1b + .quad 0x00071f75e8000000, 0x3e2d8bee7ba46e1e + .quad 0x00073f9a48000000, 0x3e24b02e77ab934a + .quad 0x00075feb58000000, 0xbe3bd98374091656 + .quad 0x0007806950000000, 0xbe00d1604f328fec + .quad 0x0007a11470000000, 0x3e4f580c36bea881 + .quad 0x0007c1ed00000000, 0x3e330c1327c49334 + .quad 0x0007e2f338000000, 0xbe330b19defa2fd4 + .quad 0x0008042758000000, 0xbe4e0f2f724f90cc + .quad 0x0008258998000000, 0x3e34cce128acf88b + .quad 0x0008471a48000000, 0xbe3dc385331ad094 + .quad 0x000868d998000000, 0x3e4a2497640720ed + .quad 0x00088ac7d8000000, 0x3e38a669966530bd + .quad 0x0008ace540000000, 0x3e415506dadd3e2b + .quad 0x0008cf3218000000, 0xbe34abb7410d55e3 + .quad 0x0008f1ae98000000, 0x3e31577362b98274 + .quad 0x0009145b08000000, 0x3e4c8ffe2c4530da + .quad 0x00093737b0000000, 0x3e29b8bc9e8a0388 + .quad 0x00095a44c8000000, 0x3e4e4290774da41b + .quad 0x00097d82a0000000, 0xbe00d8d83a30b6f8 + .quad 0x0009a0f170000000, 0x3e2940f737462137 + .quad 0x0009c49180000000, 0x3e451f8480e3e236 + .quad 0x0009e86318000000, 0x3e3e323231824ca8 + .quad 0x000a0c6678000000, 0x3e4aef2b2594d6d4 + .quad 0x000a309bf0000000, 0xbe4dae966539f470 + .quad 0x000a5503b0000000, 0x3e41f12ae45a1225 + .quad 0x000a799e10000000, 0x3e49859ac3796fd9 + .quad 0x000a9e6b58000000, 0xbe44301205e0a6de + .quad 0x000ac36bc0000000, 0xbe0606431f9234cb + .quad 0x000ae89f98000000, 0x3e35ad3ad5e8734d + .quad 0x000b0e0728000000, 0x3e38db66590842ad + .quad 0x000b33a2b8000000, 0x3e13c57ebdaff43a + .quad 0x000b597290000000, 0xbe40d536338e3bf7 + .quad 0x000b7f76f0000000, 0x3e47daf237553d84 + .quad 0x000ba5b030000000, 0x3e2420c930819679 + .quad 0x000bcc1e90000000, 0x3e12f074891ee83d + .quad 0x000bf2c258000000, 0x3e4eb8f0442046b8 + .quad 0x000c199be0000000, 0xbe43d56b1eeef9a7 + .quad 0x000c40ab60000000, 0xbd87c2c975903ef8 + .quad 0x000c67f130000000, 0xbe3a82eb4b5dec80 + .quad 0x000c8f6d98000000, 0xbe4fc8c257729a1e + .quad 0x000cb720e0000000, 0xbe48837cb757e1a1 + .quad 0x000cdf0b58000000, 0xbe4511e031dd83b5 + .quad 0x000d072d48000000, 0x3e403c4bdc687918 + .quad 0x000d2f8708000000, 0x3deb13e315bc2473 + .quad 0x000d5818e0000000, 0xbe4822dbc6d12fd3 + .quad 0x000d80e318000000, 0xbe3367c68447b063 + .quad 0x000da9e600000000, 0x3e4ed9942b84600d + .quad 0x000dd321f0000000, 0x3e480da3025b4aef + .quad 0x000dfc9730000000, 0x3e4bdcdaf5cb4656 + .quad 0x000e264618000000, 0xbe4852f6baf6c4f0 + .quad 0x000e502ee8000000, 0xbe1d30027630bb40 + .quad 0x000e7a51f8000000, 0x3e4e3a641a5aa459 + .quad 0x000ea4afa0000000, 0x3e452486cc2c7b9d + .quad 0x000ecf4830000000, 0xbe438cc07b927e77 + .quad 0x000efa1bf0000000, 0xbe39ea5d888e02de + .quad 0x000f252b38000000, 0xbe2288ad162f2d20 + .quad 0x000f507658000000, 0x3e4b722a033a7c26 + .quad 0x000f7bfdb0000000, 0xbe431a0f63b7625a + .quad 0x000fa7c180000000, 0x3e39e90d82e90a7e + .quad 0x000fd3c228000000, 0x3e4c7b8f884badd2 + /* poly_coeff[4] */ + .align 32 + .quad 0x3f81111168877F38, 0x3f81111168877F38, 0x3f81111168877F38, 0x3f81111168877F38 /* coeff5 */ + .quad 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3, 0x3fa55555C2A9C0F3 /* coeff4 */ + .quad 0x3fc555555555541D, 0x3fc555555555541D, 0x3fc555555555541D, 0x3fc555555555541D /* coeff3 */ + .quad 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C, 0x3fdFFFFFFFFFFE5C /* coeff2 */ + /* Log2e */ + .align 32 + .quad 0x40671547652B82FE, 0x40671547652B82FE, 0x40671547652B82FE, 0x40671547652B82FE + /* L2H */ + .align 32 + .quad 0x3f762e42fef80000, 0x3f762e42fef80000, 0x3f762e42fef80000, 0x3f762e42fef80000 + /* L2L */ + .align 32 + .quad 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4, 0x3d41cf79abc9e3b4 + /* ExpAddConst */ + .align 32 + .quad 0x42f80000001ff800, 0x42f80000001ff800, 0x42f80000001ff800, 0x42f80000001ff800 + /* IndexMask */ + .align 32 + .quad 0x00000000000007f0, 0x00000000000007f0, 0x00000000000007f0, 0x00000000000007f0 + /* ExpMask */ + .align 32 + .quad 0x00000000003ff800, 0x00000000003ff800, 0x00000000003ff800, 0x00000000003ff800 + /* MOne */ + .align 32 + .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000 + /* AbsMask */ + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* Threshold */ + .align 32 + .quad 0x40861DA04CBAFE43, 0x40861DA04CBAFE43, 0x40861DA04CBAFE43, 0x40861DA04CBAFE43 + /* L2 */ + .align 32 + .quad 0x3f762e42fefa39ef, 0x3f762e42fefa39ef, 0x3f762e42fefa39ef, 0x3f762e42fefa39ef + .align 32 + .type __svml_dexpm1_data_internal, @object + .size __svml_dexpm1_data_internal, .-__svml_dexpm1_data_internal From patchwork Mon Mar 7 15:01:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602401 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=QtI8bwuL; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3p82pq7z9sFt for ; Tue, 8 Mar 2022 03:29:52 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2243A3857C50 for ; Mon, 7 Mar 2022 16:29:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2243A3857C50 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670590; bh=85ei6Cxz2ety3aHQjDfNLkte7VbmLvTuPJ54oqeTQxo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=QtI8bwuLKfZ/yDpeQZZ766qkLe3HxP+f3lmDwJISt/fC/BdqmYfHcUBx3z6ILfPLz bQvy52lDSNoZsEmQ4YUtlItpsCTz2YrM7QBc0hvpMGFBeyuXiQ7/qPywdQv9Eo2ch4 sXrjwJ+SKVU2fIAhtdKXGy9t+DZ1bufZ21/t+9tw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 6B0A03858404 for ; Mon, 7 Mar 2022 15:03:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B0A03858404 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017272" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017272" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186307" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ew016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 084/126] x86_64: Fix svml_d_expm18_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:19 -0800 Message-Id: <20220307150201.10590-85-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_expm18_core_avx512.S | 549 +++++++++--------- 1 file changed, 274 insertions(+), 275 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S index 4878603dcb..efae1f8b66 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_expm18_core_avx512.S @@ -31,304 +31,303 @@ /* Offsets for data table __svml_dexpm1_data_internal_avx512 */ -#define Exp_tbl_H 0 -#define Exp_tbl_L 128 -#define L2E 256 -#define Shifter 320 -#define Threshold 384 -#define SgnMask 448 -#define L2H 512 -#define L2L 576 -#define ZThres 640 -#define EMask 704 -#define poly_coeff7 768 -#define poly_coeff6 832 -#define poly_coeff5 896 -#define poly_coeff4 960 -#define poly_coeff3 1024 -#define poly_coeff2 1088 -#define One 1152 +#define Exp_tbl_H 0 +#define Exp_tbl_L 128 +#define L2E 256 +#define Shifter 320 +#define Threshold 384 +#define SgnMask 448 +#define L2H 512 +#define L2L 576 +#define ZThres 640 +#define EMask 704 +#define poly_coeff7 768 +#define poly_coeff6 832 +#define poly_coeff5 896 +#define poly_coeff4 960 +#define poly_coeff3 1024 +#define poly_coeff2 1088 +#define One 1152 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_expm1_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups L2E+__svml_dexpm1_data_internal_avx512(%rip), %zmm6 - vmovups Shifter+__svml_dexpm1_data_internal_avx512(%rip), %zmm4 - vmovups L2H+__svml_dexpm1_data_internal_avx512(%rip), %zmm11 - vmovups L2L+__svml_dexpm1_data_internal_avx512(%rip), %zmm5 - vmovups Threshold+__svml_dexpm1_data_internal_avx512(%rip), %zmm3 - vmovups poly_coeff5+__svml_dexpm1_data_internal_avx512(%rip), %zmm13 - vmovups poly_coeff4+__svml_dexpm1_data_internal_avx512(%rip), %zmm15 - -/* polynomial */ - vmovups poly_coeff7+__svml_dexpm1_data_internal_avx512(%rip), %zmm12 - -/* set Z0=max(Z0, -128.0) */ - vmovups ZThres+__svml_dexpm1_data_internal_avx512(%rip), %zmm8 - vmovups poly_coeff3+__svml_dexpm1_data_internal_avx512(%rip), %zmm14 - vmovups __svml_dexpm1_data_internal_avx512(%rip), %zmm9 - vmovaps %zmm0, %zmm2 - -/* 2^(52-4)*1.5 + x * log2(e) */ - vfmadd213pd {rn-sae}, %zmm4, %zmm2, %zmm6 - vmovups Exp_tbl_L+__svml_dexpm1_data_internal_avx512(%rip), %zmm0 - vcmppd $21, {sae}, %zmm3, %zmm2, %k0 - -/* Z0 ~ x*log2(e), rounded to 4 fractional bits */ - vsubpd {rn-sae}, %zmm4, %zmm6, %zmm7 - vpermt2pd Exp_tbl_H+64+__svml_dexpm1_data_internal_avx512(%rip), %zmm6, %zmm9 - vpermt2pd Exp_tbl_L+64+__svml_dexpm1_data_internal_avx512(%rip), %zmm6, %zmm0 - vandpd SgnMask+__svml_dexpm1_data_internal_avx512(%rip), %zmm2, %zmm1 - -/* R = x - Z0*log(2) */ - vfnmadd213pd {rn-sae}, %zmm2, %zmm7, %zmm11 - vmaxpd {sae}, %zmm8, %zmm7, %zmm10 - vfnmadd231pd {rn-sae}, %zmm7, %zmm5, %zmm11 - kmovw %k0, %edx - -/* ensure |R|<2 even for special cases */ - vandpd EMask+__svml_dexpm1_data_internal_avx512(%rip), %zmm11, %zmm3 - vmovups poly_coeff6+__svml_dexpm1_data_internal_avx512(%rip), %zmm11 - -/* scale Th */ - vscalefpd {rn-sae}, %zmm10, %zmm9, %zmm4 - vfmadd231pd {rn-sae}, %zmm3, %zmm13, %zmm15 - vfmadd231pd {rn-sae}, %zmm3, %zmm12, %zmm11 - vmovups poly_coeff2+__svml_dexpm1_data_internal_avx512(%rip), %zmm12 - vmulpd {rn-sae}, %zmm3, %zmm3, %zmm13 - vfmadd231pd {rn-sae}, %zmm3, %zmm14, %zmm12 - vfmadd213pd {rn-sae}, %zmm15, %zmm13, %zmm11 - vfmadd213pd {rn-sae}, %zmm12, %zmm13, %zmm11 - -/* Tlr + R+ R*Poly */ - vfmadd213pd {rn-sae}, %zmm0, %zmm13, %zmm11 - -/* Th - 1 */ - vmovups One+__svml_dexpm1_data_internal_avx512(%rip), %zmm0 - vaddpd {rn-sae}, %zmm3, %zmm11, %zmm14 - vsubpd {rn-sae}, %zmm0, %zmm4, %zmm15 - -/* (Th-1)+Th*(Tlr + R+ R*Poly) */ - vfmadd213pd {rn-sae}, %zmm15, %zmm14, %zmm4 - vorpd %zmm1, %zmm4, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups L2E+__svml_dexpm1_data_internal_avx512(%rip), %zmm6 + vmovups Shifter+__svml_dexpm1_data_internal_avx512(%rip), %zmm4 + vmovups L2H+__svml_dexpm1_data_internal_avx512(%rip), %zmm11 + vmovups L2L+__svml_dexpm1_data_internal_avx512(%rip), %zmm5 + vmovups Threshold+__svml_dexpm1_data_internal_avx512(%rip), %zmm3 + vmovups poly_coeff5+__svml_dexpm1_data_internal_avx512(%rip), %zmm13 + vmovups poly_coeff4+__svml_dexpm1_data_internal_avx512(%rip), %zmm15 + + /* polynomial */ + vmovups poly_coeff7+__svml_dexpm1_data_internal_avx512(%rip), %zmm12 + + /* set Z0=max(Z0, -128.0) */ + vmovups ZThres+__svml_dexpm1_data_internal_avx512(%rip), %zmm8 + vmovups poly_coeff3+__svml_dexpm1_data_internal_avx512(%rip), %zmm14 + vmovups __svml_dexpm1_data_internal_avx512(%rip), %zmm9 + vmovaps %zmm0, %zmm2 + + /* 2^(52-4)*1.5 + x * log2(e) */ + vfmadd213pd {rn-sae}, %zmm4, %zmm2, %zmm6 + vmovups Exp_tbl_L+__svml_dexpm1_data_internal_avx512(%rip), %zmm0 + vcmppd $21, {sae}, %zmm3, %zmm2, %k0 + + /* Z0 ~ x*log2(e), rounded to 4 fractional bits */ + vsubpd {rn-sae}, %zmm4, %zmm6, %zmm7 + vpermt2pd Exp_tbl_H+64+__svml_dexpm1_data_internal_avx512(%rip), %zmm6, %zmm9 + vpermt2pd Exp_tbl_L+64+__svml_dexpm1_data_internal_avx512(%rip), %zmm6, %zmm0 + vandpd SgnMask+__svml_dexpm1_data_internal_avx512(%rip), %zmm2, %zmm1 + + /* R = x - Z0*log(2) */ + vfnmadd213pd {rn-sae}, %zmm2, %zmm7, %zmm11 + vmaxpd {sae}, %zmm8, %zmm7, %zmm10 + vfnmadd231pd {rn-sae}, %zmm7, %zmm5, %zmm11 + kmovw %k0, %edx + + /* ensure |R|<2 even for special cases */ + vandpd EMask+__svml_dexpm1_data_internal_avx512(%rip), %zmm11, %zmm3 + vmovups poly_coeff6+__svml_dexpm1_data_internal_avx512(%rip), %zmm11 + + /* scale Th */ + vscalefpd {rn-sae}, %zmm10, %zmm9, %zmm4 + vfmadd231pd {rn-sae}, %zmm3, %zmm13, %zmm15 + vfmadd231pd {rn-sae}, %zmm3, %zmm12, %zmm11 + vmovups poly_coeff2+__svml_dexpm1_data_internal_avx512(%rip), %zmm12 + vmulpd {rn-sae}, %zmm3, %zmm3, %zmm13 + vfmadd231pd {rn-sae}, %zmm3, %zmm14, %zmm12 + vfmadd213pd {rn-sae}, %zmm15, %zmm13, %zmm11 + vfmadd213pd {rn-sae}, %zmm12, %zmm13, %zmm11 + + /* Tlr + R+ R*Poly */ + vfmadd213pd {rn-sae}, %zmm0, %zmm13, %zmm11 + + /* Th - 1 */ + vmovups One+__svml_dexpm1_data_internal_avx512(%rip), %zmm0 + vaddpd {rn-sae}, %zmm3, %zmm11, %zmm14 + vsubpd {rn-sae}, %zmm0, %zmm4, %zmm15 + + /* (Th-1)+Th*(Tlr + R+ R*Poly) */ + vfmadd213pd {rn-sae}, %zmm15, %zmm14, %zmm4 + vorpd %zmm1, %zmm4, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm2, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm2, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call expm1@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call expm1@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_expm1_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dexpm1_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Exp_tbl_H[16][2]; - __declspec(align(64)) VUINT32 Exp_tbl_L[16][2]; - __declspec(align(64)) VUINT32 L2E[8][2]; - __declspec(align(64)) VUINT32 Shifter[8][2]; - __declspec(align(64)) VUINT32 Threshold[8][2]; - __declspec(align(64)) VUINT32 SgnMask[8][2]; - __declspec(align(64)) VUINT32 L2H[8][2]; - __declspec(align(64)) VUINT32 L2L[8][2]; - __declspec(align(64)) VUINT32 ZThres[8][2]; - __declspec(align(64)) VUINT32 EMask[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 One[8][2]; - } __svml_dexpm1_data_internal_avx512; + __declspec(align(64)) VUINT32 Exp_tbl_H[16][2]; + __declspec(align(64)) VUINT32 Exp_tbl_L[16][2]; + __declspec(align(64)) VUINT32 L2E[8][2]; + __declspec(align(64)) VUINT32 Shifter[8][2]; + __declspec(align(64)) VUINT32 Threshold[8][2]; + __declspec(align(64)) VUINT32 SgnMask[8][2]; + __declspec(align(64)) VUINT32 L2H[8][2]; + __declspec(align(64)) VUINT32 L2L[8][2]; + __declspec(align(64)) VUINT32 ZThres[8][2]; + __declspec(align(64)) VUINT32 EMask[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 One[8][2]; +} __svml_dexpm1_data_internal_avx512; #endif __svml_dexpm1_data_internal_avx512: - /*== Exp_tbl_H ==*/ - .quad 0x3ff0000000000000 - .quad 0x3ff0b5586cf9890f - .quad 0x3ff172b83c7d517b - .quad 0x3ff2387a6e756238 - .quad 0x3ff306fe0a31b715 - .quad 0x3ff3dea64c123422 - .quad 0x3ff4bfdad5362a27 - .quad 0x3ff5ab07dd485429 - .quad 0x3ff6a09e667f3bcd - .quad 0x3ff7a11473eb0187 - .quad 0x3ff8ace5422aa0db - .quad 0x3ff9c49182a3f090 - .quad 0x3ffae89f995ad3ad - .quad 0x3ffc199bdd85529c - .quad 0x3ffd5818dcfba487 - .quad 0x3ffea4afa2a490da - /*== Exp_tbl_L ==*/ - .align 64 - .quad 0x0000000000000000 - .quad 0x3c979aa65d837b6d - .quad 0xbc801b15eaa59348 - .quad 0x3c968efde3a8a894 - .quad 0x3c834d754db0abb6 - .quad 0x3c859f48a72a4c6d - .quad 0x3c7690cebb7aafb0 - .quad 0x3c9063e1e21c5409 - .quad 0xbc93b3efbf5e2228 - .quad 0xbc7b32dcb94da51d - .quad 0x3c8db72fc1f0eab4 - .quad 0x3c71affc2b91ce27 - .quad 0x3c8c1a7792cb3387 - .quad 0x3c736eae30af0cb3 - .quad 0x3c74a385a63d07a7 - .quad 0xbc8ff7128fd391f0 - /*== log2(e) ==*/ - .align 64 - .quad 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE - /*== Shifter=2^(52-4)*1.5 ==*/ - .align 64 - .quad 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0 - /*== Threshold ==*/ - .align 64 - .quad 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44 - /*== Sgn ==*/ - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 - /*== L2H = log(2)_high ==*/ - .align 64 - .quad 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef - /*== L2L = log(2)_low ==*/ - .align 64 - .quad 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f - /*== ZThres ==*/ - .align 64 - .quad 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000 - /*== EMask ==*/ - .align 64 - .quad 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff - /*== poly_coeff7 ==*/ - .align 64 - .quad 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a - /*== poly_coeff6 ==*/ - .align 64 - .quad 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f - /*== poly_coeff5 ==*/ - .align 64 - .quad 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214 - /*== poly_coeff4 ==*/ - .align 64 - .quad 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06 - /*== poly_coeff3 ==*/ - .align 64 - .quad 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656 - /*== poly_coeff2 ==*/ - .align 64 - .quad 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - .align 64 - .type __svml_dexpm1_data_internal_avx512,@object - .size __svml_dexpm1_data_internal_avx512,.-__svml_dexpm1_data_internal_avx512 + /* Exp_tbl_H */ + .quad 0x3ff0000000000000 + .quad 0x3ff0b5586cf9890f + .quad 0x3ff172b83c7d517b + .quad 0x3ff2387a6e756238 + .quad 0x3ff306fe0a31b715 + .quad 0x3ff3dea64c123422 + .quad 0x3ff4bfdad5362a27 + .quad 0x3ff5ab07dd485429 + .quad 0x3ff6a09e667f3bcd + .quad 0x3ff7a11473eb0187 + .quad 0x3ff8ace5422aa0db + .quad 0x3ff9c49182a3f090 + .quad 0x3ffae89f995ad3ad + .quad 0x3ffc199bdd85529c + .quad 0x3ffd5818dcfba487 + .quad 0x3ffea4afa2a490da + /* Exp_tbl_L */ + .align 64 + .quad 0x0000000000000000 + .quad 0x3c979aa65d837b6d + .quad 0xbc801b15eaa59348 + .quad 0x3c968efde3a8a894 + .quad 0x3c834d754db0abb6 + .quad 0x3c859f48a72a4c6d + .quad 0x3c7690cebb7aafb0 + .quad 0x3c9063e1e21c5409 + .quad 0xbc93b3efbf5e2228 + .quad 0xbc7b32dcb94da51d + .quad 0x3c8db72fc1f0eab4 + .quad 0x3c71affc2b91ce27 + .quad 0x3c8c1a7792cb3387 + .quad 0x3c736eae30af0cb3 + .quad 0x3c74a385a63d07a7 + .quad 0xbc8ff7128fd391f0 + /* log2(e) */ + .align 64 + .quad 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE + /* Shifter=2^(52-4)*1.5 */ + .align 64 + .quad 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0, 0x42f8000000003ff0 + /* Threshold */ + .align 64 + .quad 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44, 0x40861DA04CBAFE44 + /* Sgn */ + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 + /* L2H = log(2)_high */ + .align 64 + .quad 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef, 0x3fe62e42fefa39ef + /* L2L = log(2)_low */ + .align 64 + .quad 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f, 0x3c7abc9e3b39803f + /* ZThres */ + .align 64 + .quad 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000, 0xc060000000000000 + /* EMask */ + .align 64 + .quad 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff, 0xbfffffffffffffff + /* poly_coeff7 */ + .align 64 + .quad 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a, 0x3f2a020410303d8a + /* poly_coeff6 */ + .align 64 + .quad 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f, 0x3f56c1c38e164a2f + /* poly_coeff5 */ + .align 64 + .quad 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214, 0x3f81111110865214 + /* poly_coeff4 */ + .align 64 + .quad 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06, 0x3fa5555554ad3d06 + /* poly_coeff3 */ + .align 64 + .quad 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656, 0x3fc5555555555656 + /* poly_coeff2 */ + .align 64 + .quad 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2, 0x3fe00000000000a2 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + .align 64 + .type __svml_dexpm1_data_internal_avx512, @object + .size __svml_dexpm1_data_internal_avx512, .-__svml_dexpm1_data_internal_avx512 From patchwork Mon Mar 7 15:01:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602267 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=fSqywfek; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2MY4Sjtz9sFk for ; Tue, 8 Mar 2022 02:25:13 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 52C1D3858422 for ; Mon, 7 Mar 2022 15:25:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 52C1D3858422 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666711; bh=sGIphWFRqCq6hpO+qpQvEZ3rVNk7WJpSX5Ww204I+bw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=fSqywfekBWLu0EWnFMoWtQsbaMaRGYtRETlq/8Lg38WQhgJCXv1CdOaet8Dlz+KxJ 0Brc93bLihH+kk9BMm6HbTgYE2zMbqyEePCcFZNgmIZumWrdRA0J20X8kzDt5Cj3/O DmH9g4nUaqytgX/H7q85bN5vuJFPaWmrVJPngvhg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id E5410385841F for ; Mon, 7 Mar 2022 15:02:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E5410385841F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="315123209" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="315123209" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="641355956" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga002.fm.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21ex016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 085/126] x86_64: Fix svml_s_hypotf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:20 -0800 Message-Id: <20220307150201.10590-86-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_hypotf16_core_avx512.S | 274 +++++++++--------- 1 file changed, 136 insertions(+), 138 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S index db8bff6483..548936fe61 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf16_core_avx512.S @@ -63,7 +63,7 @@ * result = s - h * d * * EP version of the function can be implemented as y[i]=sqrt(a[i]^2+b[i]^2) - * with all intermediate operations done in target precision for i=1,..,n. + * with all intermediate operations done in target precision for i=1, .., n. * It can return result y[i]=0 in case a[i]^2 and b[i]^2 underflow in target * precision (for some i). It can return result y[i]=NAN in case * a[i]^2+b[i]^2 overflow in target precision, for some i. It can return @@ -74,166 +74,164 @@ /* Offsets for data table __svml_shypot_data_internal */ -#define _sAbsMask 0 -#define _sHalf 64 -#define _iExpBound 128 +#define _sAbsMask 0 +#define _sHalf 64 +#define _iExpBound 128 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16vv_hypotf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $256, %rsp - vgetexpps {sae}, %zmm0, %zmm2 - vgetexpps {sae}, %zmm1, %zmm3 - vmovups _sHalf+__svml_shypot_data_internal(%rip), %zmm6 - vmaxps {sae}, %zmm3, %zmm2, %zmm4 - vmulps {rn-sae}, %zmm0, %zmm0, %zmm2 - vandps _sAbsMask+__svml_shypot_data_internal(%rip), %zmm4, %zmm5 - vfmadd231ps {rn-sae}, %zmm1, %zmm1, %zmm2 - vpcmpd $5, _iExpBound+__svml_shypot_data_internal(%rip), %zmm5, %k0 - vrsqrt14ps %zmm2, %zmm7 - kmovw %k0, %edx - vmulps {rn-sae}, %zmm7, %zmm2, %zmm9 - vmulps {rn-sae}, %zmm7, %zmm6, %zmm8 - vfnmadd231ps {rn-sae}, %zmm9, %zmm9, %zmm2 - vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm2 - -/* - * VSCALEF( S, _VRES1, _VRES1, sExp ); - * The end of implementation - */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $256, %rsp + vgetexpps {sae}, %zmm0, %zmm2 + vgetexpps {sae}, %zmm1, %zmm3 + vmovups _sHalf+__svml_shypot_data_internal(%rip), %zmm6 + vmaxps {sae}, %zmm3, %zmm2, %zmm4 + vmulps {rn-sae}, %zmm0, %zmm0, %zmm2 + vandps _sAbsMask+__svml_shypot_data_internal(%rip), %zmm4, %zmm5 + vfmadd231ps {rn-sae}, %zmm1, %zmm1, %zmm2 + vpcmpd $5, _iExpBound+__svml_shypot_data_internal(%rip), %zmm5, %k0 + vrsqrt14ps %zmm2, %zmm7 + kmovw %k0, %edx + vmulps {rn-sae}, %zmm7, %zmm2, %zmm9 + vmulps {rn-sae}, %zmm7, %zmm6, %zmm8 + vfnmadd231ps {rn-sae}, %zmm9, %zmm9, %zmm2 + vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm2 + + /* + * VSCALEF( S, _VRES1, _VRES1, sExp ); + * The end of implementation + */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm2, %zmm0 - 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 - */ + vmovaps %zmm2, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm1, 128(%rsp) - vmovups %zmm2, 192(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm2 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + vmovups %zmm2, 192(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm2 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 192(%rsp), %zmm2 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm2 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 192(%rsp), %zmm2 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm2 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - movss 128(%rsp,%r14,4), %xmm1 - call hypotf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + movss 128(%rsp, %r14, 4), %xmm1 + call hypotf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 192(%rsp,%r14,4) + movss %xmm0, 192(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16vv_hypotf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_shypot_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _sAbsMask[16][1]; - __declspec(align(64)) VUINT32 _sHalf[16][1]; - __declspec(align(64)) VUINT32 _iExpBound[16][1]; +typedef struct { + __declspec(align(64)) VUINT32 _sAbsMask[16][1]; + __declspec(align(64)) VUINT32 _sHalf[16][1]; + __declspec(align(64)) VUINT32 _iExpBound[16][1]; } __svml_shypot_data_internal; #endif __svml_shypot_data_internal: - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sHalf */ - /* fma based algorithm*/ - .align 64 - .long 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000 /* _iExpBound */ - .align 64 - .type __svml_shypot_data_internal,@object - .size __svml_shypot_data_internal,.-__svml_shypot_data_internal + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sHalf */ + /* fma based algorithm*/ + .align 64 + .long 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000, 0x427C0000 /* _iExpBound */ + .align 64 + .type __svml_shypot_data_internal, @object + .size __svml_shypot_data_internal, .-__svml_shypot_data_internal From patchwork Mon Mar 7 15:01:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602366 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=LpdvcQ8p; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3K25HNqz9sFt for ; Tue, 8 Mar 2022 03:08:06 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CB962385842E for ; Mon, 7 Mar 2022 16:08:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CB962385842E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669283; bh=F2bqaELup2GwGLA1mOoCUAJHUdFNyjU7U5mCz1+2IhU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=LpdvcQ8pCRZGjV8TSqgZkymxWq1mQ5ire5IlmAilEaOadzGHeckSLSOf0w9qGXrhF l3G4MB5FQgwroOVwnt+6Majs6c5mzjjchz2gZiKN+sVgsLrCjQj92oT3MJDYdtzX6Q cKgXwjwSrIej00ShbLpJQdujRXCHORX3Mav5LjFc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 9D1D7385842F for ; Mon, 7 Mar 2022 15:03:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9D1D7385842F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843030" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843030" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="512708656" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga006.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f0016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 086/126] x86_64: Fix svml_s_hypotf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:21 -0800 Message-Id: <20220307150201.10590-87-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_hypotf4_core_sse4.S | 326 +++++++++--------- 1 file changed, 162 insertions(+), 164 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S index 95f040c831..5cf9b1c339 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf4_core_sse4.S @@ -63,7 +63,7 @@ * result = s - h * d * * EP version of the function can be implemented as y[i]=sqrt(a[i]^2+b[i]^2) - * with all intermediate operations done in target precision for i=1,..,n. + * with all intermediate operations done in target precision for i=1, .., n. * It can return result y[i]=0 in case a[i]^2 and b[i]^2 underflow in target * precision (for some i). It can return result y[i]=NAN in case * a[i]^2+b[i]^2 overflow in target precision, for some i. It can return @@ -74,192 +74,190 @@ /* Offsets for data table __svml_shypot_data_internal */ -#define _sHiLoMask 0 -#define _sAbsMask 16 -#define _sHalf 32 -#define _LowBoundary 48 -#define _HighBoundary 64 +#define _sHiLoMask 0 +#define _sAbsMask 16 +#define _sHalf 32 +#define _LowBoundary 48 +#define _HighBoundary 64 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4vv_hypotf_sse4) - subq $88, %rsp - cfi_def_cfa_offset(96) - -/* - * Implementation - * Multiprecision branch for _HA_ only - * No multiprecision branch for _LA_ - * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 - */ - movaps %xmm0, %xmm8 - movaps %xmm1, %xmm2 - mulps %xmm0, %xmm8 - mulps %xmm1, %xmm2 - -/* - * Variables - * Defines - * Constants loading - */ - movups _sHalf+__svml_shypot_data_internal(%rip), %xmm5 - addps %xmm2, %xmm8 - -/* _s0 ~ 1.0/sqrt(_z) */ - rsqrtps %xmm8, %xmm10 - -/* First iteration */ - movaps %xmm10, %xmm2 - movaps %xmm8, %xmm3 - mulps %xmm8, %xmm2 - mulps %xmm5, %xmm10 - movaps %xmm2, %xmm6 - mulps %xmm10, %xmm6 - -/* Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout */ - movdqu _LowBoundary+__svml_shypot_data_internal(%rip), %xmm4 - subps %xmm6, %xmm5 - -/* Second iteration */ - movaps %xmm5, %xmm7 - pcmpgtd %xmm8, %xmm4 - mulps %xmm2, %xmm5 - mulps %xmm10, %xmm7 - addps %xmm5, %xmm2 - addps %xmm7, %xmm10 - -/* Finish second iteration in native precision for _LA_ */ - movaps %xmm2, %xmm9 - mulps %xmm2, %xmm9 - pcmpgtd _HighBoundary+__svml_shypot_data_internal(%rip), %xmm3 - subps %xmm8, %xmm9 - mulps %xmm9, %xmm10 - por %xmm3, %xmm4 - movmskps %xmm4, %edx - subps %xmm10, %xmm2 - -/* The end of implementation */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 xmm2 - -/* Restore registers - * and exit the function - */ + subq $88, %rsp + cfi_def_cfa_offset(96) + + /* + * Implementation + * Multiprecision branch for _HA_ only + * No multiprecision branch for _LA_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + movaps %xmm0, %xmm8 + movaps %xmm1, %xmm2 + mulps %xmm0, %xmm8 + mulps %xmm1, %xmm2 + + /* + * Variables + * Defines + * Constants loading + */ + movups _sHalf+__svml_shypot_data_internal(%rip), %xmm5 + addps %xmm2, %xmm8 + + /* _s0 ~ 1.0/sqrt(_z) */ + rsqrtps %xmm8, %xmm10 + + /* First iteration */ + movaps %xmm10, %xmm2 + movaps %xmm8, %xmm3 + mulps %xmm8, %xmm2 + mulps %xmm5, %xmm10 + movaps %xmm2, %xmm6 + mulps %xmm10, %xmm6 + + /* Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout */ + movdqu _LowBoundary+__svml_shypot_data_internal(%rip), %xmm4 + subps %xmm6, %xmm5 + + /* Second iteration */ + movaps %xmm5, %xmm7 + pcmpgtd %xmm8, %xmm4 + mulps %xmm2, %xmm5 + mulps %xmm10, %xmm7 + addps %xmm5, %xmm2 + addps %xmm7, %xmm10 + + /* Finish second iteration in native precision for _LA_ */ + movaps %xmm2, %xmm9 + mulps %xmm2, %xmm9 + pcmpgtd _HighBoundary+__svml_shypot_data_internal(%rip), %xmm3 + subps %xmm8, %xmm9 + mulps %xmm9, %xmm10 + por %xmm3, %xmm4 + movmskps %xmm4, %edx + subps %xmm10, %xmm2 + + /* The end of implementation */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 xmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm2, %xmm0 - addq $88, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(96) - -/* Branch to process - * special inputs - */ + movaps %xmm2, %xmm0 + addq $88, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(96) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - movups %xmm2, 64(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -80) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -88) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -96) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + movups %xmm2, 64(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -80) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -88) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -96) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d - - movq 16(%rsp), %r12 - cfi_restore(12) - movq 8(%rsp), %r13 - cfi_restore(13) - movq (%rsp), %r14 - cfi_restore(14) - movups 64(%rsp), %xmm2 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -80) - cfi_offset(13, -88) - cfi_offset(14, -96) - # LOE rbx rbp r12 r13 r14 r15 xmm2 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp r15 r12d r13d + + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 64(%rsp), %xmm2 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -80) + cfi_offset(13, -88) + cfi_offset(14, -96) + # LOE rbx rbp r12 r13 r14 r15 xmm2 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - movss 48(%rsp,%r14,4), %xmm1 - call hypotf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + movss 48(%rsp, %r14, 4), %xmm1 + call hypotf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4vv_hypotf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_shypot_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _sHiLoMask[4][1]; - __declspec(align(16)) VUINT32 _sAbsMask[4][1]; - __declspec(align(16)) VUINT32 _sHalf[4][1]; - __declspec(align(16)) VUINT32 _LowBoundary[4][1]; - __declspec(align(16)) VUINT32 _HighBoundary[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _sHiLoMask[4][1]; + __declspec(align(16)) VUINT32 _sAbsMask[4][1]; + __declspec(align(16)) VUINT32 _sHalf[4][1]; + __declspec(align(16)) VUINT32 _LowBoundary[4][1]; + __declspec(align(16)) VUINT32 _HighBoundary[4][1]; } __svml_shypot_data_internal; #endif __svml_shypot_data_internal: - /* legacy algorithm */ - .long 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000 /* _sHiLoMask */ - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ - .align 16 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sHalf */ - .align 16 - .long 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000 /* _LowBoundary */ - .align 16 - .long 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000 /* _HighBoundary */ - .align 16 - .type __svml_shypot_data_internal,@object - .size __svml_shypot_data_internal,.-__svml_shypot_data_internal + /* legacy algorithm */ + .long 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000 /* _sHiLoMask */ + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ + .align 16 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sHalf */ + .align 16 + .long 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000 /* _LowBoundary */ + .align 16 + .long 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000 /* _HighBoundary */ + .align 16 + .type __svml_shypot_data_internal, @object + .size __svml_shypot_data_internal, .-__svml_shypot_data_internal From patchwork Mon Mar 7 15:01:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602396 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=QXC8/DxM; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3kh1yFXz9s8s for ; Tue, 8 Mar 2022 03:26:52 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D20DD385803F for ; Mon, 7 Mar 2022 16:26:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D20DD385803F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670409; bh=rYzj7fBVEElI06CrQVuntK0BCZ7P9zQYiBK73rHbiJ8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=QXC8/DxM5+DjUpCKAf2X+tZLEUKV7oeesUvL5cwZGESf1w7n2hDPM0P+nOTIyxE+C 5kxqsG43gmaF0YIXp0F4Goxox5kZSTdJAxkRfgoVPK1z4Lzk29lpO/T0eH95mIsL+v 1OeS1u4Jwxq1Ro5VcEaJrkLHdic5P++yZyCQRpNw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id D17873858431 for ; Mon, 7 Mar 2022 15:03:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D17873858431 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364149" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364149" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="509733259" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2022 07:02:08 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f1016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 087/126] x86_64: Fix svml_s_hypotf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:22 -0800 Message-Id: <20220307150201.10590-88-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_hypotf8_core_avx2.S | 334 +++++++++--------- 1 file changed, 166 insertions(+), 168 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S index 620fb0290f..fc97828008 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_hypotf8_core_avx2.S @@ -63,7 +63,7 @@ * result = s - h * d * * EP version of the function can be implemented as y[i]=sqrt(a[i]^2+b[i]^2) - * with all intermediate operations done in target precision for i=1,..,n. + * with all intermediate operations done in target precision for i=1, .., n. * It can return result y[i]=0 in case a[i]^2 and b[i]^2 underflow in target * precision (for some i). It can return result y[i]=NAN in case * a[i]^2+b[i]^2 overflow in target precision, for some i. It can return @@ -74,196 +74,194 @@ /* Offsets for data table __svml_shypot_data_internal */ -#define _sHiLoMask 0 -#define _sAbsMask 32 -#define _sHalf 64 -#define _LowBoundary 96 -#define _HighBoundary 128 +#define _sHiLoMask 0 +#define _sAbsMask 32 +#define _sHalf 64 +#define _LowBoundary 96 +#define _HighBoundary 128 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8vv_hypotf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $128, %rsp - -/* - * Implementation - * Multiprecision branch for _HA_ only - * No multiprecision branch for _LA_ - * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 - */ - vmulps %ymm0, %ymm0, %ymm8 - -/* - * Variables - * Defines - * Constants loading - */ - vmovups _sHalf+__svml_shypot_data_internal(%rip), %ymm7 - -/* Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout */ - vmovups _LowBoundary+__svml_shypot_data_internal(%rip), %ymm2 - vfmadd231ps %ymm1, %ymm1, %ymm8 - -/* _s0 ~ 1.0/sqrt(_z) */ - vrsqrtps %ymm8, %ymm6 - vpcmpgtd %ymm8, %ymm2, %ymm3 - -/* First iteration */ - vmulps %ymm8, %ymm6, %ymm9 - vmulps %ymm7, %ymm6, %ymm2 - vfnmadd231ps %ymm9, %ymm2, %ymm7 - vfmadd213ps %ymm9, %ymm7, %ymm9 - -/* Second iteration */ - vfmadd132ps %ymm7, %ymm2, %ymm2 - vpcmpgtd _HighBoundary+__svml_shypot_data_internal(%rip), %ymm8, %ymm4 - vpor %ymm4, %ymm3, %ymm5 - -/* Finish second iteration in native precision for _LA_ */ - vfmsub231ps %ymm9, %ymm9, %ymm8 - vmovmskps %ymm5, %edx - vfnmadd213ps %ymm9, %ymm8, %ymm2 - -/* The end of implementation */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 ymm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $128, %rsp + + /* + * Implementation + * Multiprecision branch for _HA_ only + * No multiprecision branch for _LA_ + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + vmulps %ymm0, %ymm0, %ymm8 + + /* + * Variables + * Defines + * Constants loading + */ + vmovups _sHalf+__svml_shypot_data_internal(%rip), %ymm7 + + /* Check _z exponent to be withing borders [1E3 ; 60A] else goto Callout */ + vmovups _LowBoundary+__svml_shypot_data_internal(%rip), %ymm2 + vfmadd231ps %ymm1, %ymm1, %ymm8 + + /* _s0 ~ 1.0/sqrt(_z) */ + vrsqrtps %ymm8, %ymm6 + vpcmpgtd %ymm8, %ymm2, %ymm3 + + /* First iteration */ + vmulps %ymm8, %ymm6, %ymm9 + vmulps %ymm7, %ymm6, %ymm2 + vfnmadd231ps %ymm9, %ymm2, %ymm7 + vfmadd213ps %ymm9, %ymm7, %ymm9 + + /* Second iteration */ + vfmadd132ps %ymm7, %ymm2, %ymm2 + vpcmpgtd _HighBoundary+__svml_shypot_data_internal(%rip), %ymm8, %ymm4 + vpor %ymm4, %ymm3, %ymm5 + + /* Finish second iteration in native precision for _LA_ */ + vfmsub231ps %ymm9, %ymm9, %ymm8 + vmovmskps %ymm5, %edx + vfnmadd213ps %ymm9, %ymm8, %ymm2 + + /* The end of implementation */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 ymm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %ymm2, %ymm0 - 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 - */ + vmovaps %ymm2, %ymm0 + 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): - vmovups %ymm0, 32(%rsp) - vmovups %ymm1, 64(%rsp) - vmovups %ymm2, 96(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm2 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm0, 32(%rsp) + vmovups %ymm1, 64(%rsp) + vmovups %ymm2, 96(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm2 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 96(%rsp), %ymm2 - -/* 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm2 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 96(%rsp), %ymm2 + + /* 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm2 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - movss 64(%rsp,%r14,4), %xmm1 - call hypotf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + movss 64(%rsp, %r14, 4), %xmm1 + call hypotf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 96(%rsp,%r14,4) + movss %xmm0, 96(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8vv_hypotf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_shypot_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _sHiLoMask[8][1]; - __declspec(align(32)) VUINT32 _sAbsMask[8][1]; - __declspec(align(32)) VUINT32 _sHalf[8][1]; - __declspec(align(32)) VUINT32 _LowBoundary[8][1]; - __declspec(align(32)) VUINT32 _HighBoundary[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _sHiLoMask[8][1]; + __declspec(align(32)) VUINT32 _sAbsMask[8][1]; + __declspec(align(32)) VUINT32 _sHalf[8][1]; + __declspec(align(32)) VUINT32 _LowBoundary[8][1]; + __declspec(align(32)) VUINT32 _HighBoundary[8][1]; } __svml_shypot_data_internal; #endif __svml_shypot_data_internal: - /* legacy algorithm */ - .long 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000 /* _sHiLoMask */ - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ - .align 32 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sHalf */ - .align 32 - .long 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000 /* _LowBoundary */ - .align 32 - .long 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000 /* _HighBoundary */ - .align 32 - .type __svml_shypot_data_internal,@object - .size __svml_shypot_data_internal,.-__svml_shypot_data_internal + /* legacy algorithm */ + .long 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000, 0xFFF80000 /* _sHiLoMask */ + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ + .align 32 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sHalf */ + .align 32 + .long 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000, 0x1E300000 /* _LowBoundary */ + .align 32 + .long 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000, 0x60A00000 /* _HighBoundary */ + .align 32 + .type __svml_shypot_data_internal, @object + .size __svml_shypot_data_internal, .-__svml_shypot_data_internal From patchwork Mon Mar 7 15:01:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602388 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Qm3by4ap; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3h83gZwz9sFt for ; Tue, 8 Mar 2022 03:24:40 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4659A3858014 for ; Mon, 7 Mar 2022 16:24:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4659A3858014 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670278; bh=1sqx5iX3WVuZguGgWlV6rsKzGechn/i5uCQtStHXhtc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Qm3by4apgNmSyE6YyidsNreDaDkIuhHbcZmHtaOfbEtfgBBgaYNvlpsn0uz6sFEYc MVHfhwLaA/C4Eyabg0zIXOxp1Q29A9qN+unLkXRYCWj5vYgid6QdUlOcgrT7S2mnWx WdNdZl+08qytVNZ4yuZ3bcm6YFTL8vlC4W4anhXs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 764933858418 for ; Mon, 7 Mar 2022 15:03:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 764933858418 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017274" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017274" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="553186308" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga008.jf.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f2016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 088/126] x86_64: Fix svml_d_hypot2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:23 -0800 Message-Id: <20220307150201.10590-89-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_hypot2_core_sse4.S | 374 +++++++++--------- 1 file changed, 186 insertions(+), 188 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S index 165461cbc7..792910a507 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot2_core_sse4.S @@ -63,217 +63,215 @@ /* Offsets for data table __svml_dhypot_data_internal */ -#define _dHiLoMask 0 -#define _dAbsMask 16 -#define _dOne 32 -#define _POLY_C5 48 -#define _POLY_C4 64 -#define _POLY_C3 80 -#define _POLY_C2 96 -#define _POLY_C1 112 -#define _LowBoundary 128 -#define _HighBoundary 144 +#define _dHiLoMask 0 +#define _dAbsMask 16 +#define _dOne 32 +#define _POLY_C5 48 +#define _POLY_C4 64 +#define _POLY_C3 80 +#define _POLY_C2 96 +#define _POLY_C1 112 +#define _LowBoundary 128 +#define _HighBoundary 144 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2vv_hypot_sse4) - subq $88, %rsp - cfi_def_cfa_offset(96) - -/* - * Defines - * Implementation - * Multiprecision branch for _HA_ only - * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 - */ - movaps %xmm0, %xmm10 - movaps %xmm1, %xmm2 - mulpd %xmm0, %xmm10 - mulpd %xmm1, %xmm2 - addpd %xmm2, %xmm10 - -/* - * _s ~ 1.0/sqrt(_z) - * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z - */ - cvtpd2ps %xmm10, %xmm7 - movlhps %xmm7, %xmm7 - rsqrtps %xmm7, %xmm8 - cvtps2pd %xmm8, %xmm11 - movaps %xmm11, %xmm2 - mulpd %xmm11, %xmm2 - -/* _e[rror] ~ (1.0/_z + O) * _z - 1.0 */ - mulpd %xmm10, %xmm2 - subpd _dOne+__svml_dhypot_data_internal(%rip), %xmm2 - -/* - * calculate fixing part _p - * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 - * some parts of polynom are skipped for lower flav - */ - movups _POLY_C4+__svml_dhypot_data_internal(%rip), %xmm9 - mulpd %xmm2, %xmm9 - addpd _POLY_C3+__svml_dhypot_data_internal(%rip), %xmm9 - mulpd %xmm2, %xmm9 - addpd _POLY_C2+__svml_dhypot_data_internal(%rip), %xmm9 - mulpd %xmm2, %xmm9 - addpd _POLY_C1+__svml_dhypot_data_internal(%rip), %xmm9 - -/* result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z */ - mulpd %xmm9, %xmm2 - mulpd %xmm11, %xmm2 - mulpd %xmm10, %xmm11 - mulpd %xmm10, %xmm2 - -/* Check _z exponent to be withing borders [3BC ; 441] else goto Callout */ - movq _LowBoundary+__svml_dhypot_data_internal(%rip), %xmm5 - movq _HighBoundary+__svml_dhypot_data_internal(%rip), %xmm3 - pshufd $221, %xmm10, %xmm4 - pcmpgtd %xmm4, %xmm5 - pcmpgtd %xmm3, %xmm4 - por %xmm4, %xmm5 - pshufd $80, %xmm5, %xmm6 - movmskpd %xmm6, %edx - addpd %xmm11, %xmm2 - -/* The end of implementation */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 xmm2 - -/* Restore registers - * and exit the function - */ + subq $88, %rsp + cfi_def_cfa_offset(96) + + /* + * Defines + * Implementation + * Multiprecision branch for _HA_ only + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + movaps %xmm0, %xmm10 + movaps %xmm1, %xmm2 + mulpd %xmm0, %xmm10 + mulpd %xmm1, %xmm2 + addpd %xmm2, %xmm10 + + /* + * _s ~ 1.0/sqrt(_z) + * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z + */ + cvtpd2ps %xmm10, %xmm7 + movlhps %xmm7, %xmm7 + rsqrtps %xmm7, %xmm8 + cvtps2pd %xmm8, %xmm11 + movaps %xmm11, %xmm2 + mulpd %xmm11, %xmm2 + + /* _e[rror] ~ (1.0/_z + O) * _z - 1.0 */ + mulpd %xmm10, %xmm2 + subpd _dOne+__svml_dhypot_data_internal(%rip), %xmm2 + + /* + * calculate fixing part _p + * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 + * some parts of polynom are skipped for lower flav + */ + movups _POLY_C4+__svml_dhypot_data_internal(%rip), %xmm9 + mulpd %xmm2, %xmm9 + addpd _POLY_C3+__svml_dhypot_data_internal(%rip), %xmm9 + mulpd %xmm2, %xmm9 + addpd _POLY_C2+__svml_dhypot_data_internal(%rip), %xmm9 + mulpd %xmm2, %xmm9 + addpd _POLY_C1+__svml_dhypot_data_internal(%rip), %xmm9 + + /* result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z */ + mulpd %xmm9, %xmm2 + mulpd %xmm11, %xmm2 + mulpd %xmm10, %xmm11 + mulpd %xmm10, %xmm2 + + /* Check _z exponent to be withing borders [3BC ; 441] else goto Callout */ + movq _LowBoundary+__svml_dhypot_data_internal(%rip), %xmm5 + movq _HighBoundary+__svml_dhypot_data_internal(%rip), %xmm3 + pshufd $221, %xmm10, %xmm4 + pcmpgtd %xmm4, %xmm5 + pcmpgtd %xmm3, %xmm4 + por %xmm4, %xmm5 + pshufd $80, %xmm5, %xmm6 + movmskpd %xmm6, %edx + addpd %xmm11, %xmm2 + + /* The end of implementation */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 xmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm2, %xmm0 - addq $88, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(96) - -/* Branch to process - * special inputs - */ + movaps %xmm2, %xmm0 + addq $88, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(96) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - movups %xmm2, 64(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -80) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -88) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -96) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + movups %xmm2, 64(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -80) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -88) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -96) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d - - movq 16(%rsp), %r12 - cfi_restore(12) - movq 8(%rsp), %r13 - cfi_restore(13) - movq (%rsp), %r14 - cfi_restore(14) - movups 64(%rsp), %xmm2 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -80) - cfi_offset(13, -88) - cfi_offset(14, -96) - # LOE rbx rbp r12 r13 r14 r15 xmm2 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp r15 r12d r13d + + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 64(%rsp), %xmm2 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -80) + cfi_offset(13, -88) + cfi_offset(14, -96) + # LOE rbx rbp r12 r13 r14 r15 xmm2 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - movsd 48(%rsp,%r14,8), %xmm1 - call hypot@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + movsd 48(%rsp, %r14, 8), %xmm1 + call hypot@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2vv_hypot_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dhypot_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dHiLoMask[2][2]; - __declspec(align(16)) VUINT32 _dAbsMask[2][2]; - __declspec(align(16)) VUINT32 _dOne[2][2]; - __declspec(align(16)) VUINT32 _POLY_C5[2][2]; - __declspec(align(16)) VUINT32 _POLY_C4[2][2]; - __declspec(align(16)) VUINT32 _POLY_C3[2][2]; - __declspec(align(16)) VUINT32 _POLY_C2[2][2]; - __declspec(align(16)) VUINT32 _POLY_C1[2][2]; - __declspec(align(16)) VUINT32 _LowBoundary[4][1]; - __declspec(align(16)) VUINT32 _HighBoundary[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _dHiLoMask[2][2]; + __declspec(align(16)) VUINT32 _dAbsMask[2][2]; + __declspec(align(16)) VUINT32 _dOne[2][2]; + __declspec(align(16)) VUINT32 _POLY_C5[2][2]; + __declspec(align(16)) VUINT32 _POLY_C4[2][2]; + __declspec(align(16)) VUINT32 _POLY_C3[2][2]; + __declspec(align(16)) VUINT32 _POLY_C2[2][2]; + __declspec(align(16)) VUINT32 _POLY_C1[2][2]; + __declspec(align(16)) VUINT32 _LowBoundary[4][1]; + __declspec(align(16)) VUINT32 _HighBoundary[4][1]; } __svml_dhypot_data_internal; #endif __svml_dhypot_data_internal: - /* legacy algorithm */ - .quad 0xffffc00000000000, 0xffffc00000000000 /* _dHiLoMask */ - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _dAbsMask */ - .align 16 - .quad 0x3FF0000000000000, 0x3FF0000000000000 /* _dOne */ - .align 16 - .quad 0xBFCF800000000000, 0xBFCF800000000000 /* _POLY_C5 */ - .align 16 - .quad 0x3FD1800000000000, 0x3FD1800000000000 /* _POLY_C4 */ - .align 16 - .quad 0xBFD4000000000000, 0xBFD4000000000000 /* _POLY_C3 */ - .align 16 - .quad 0x3FD8000000000000, 0x3FD8000000000000 /* _POLY_C2 */ - .align 16 - .quad 0xBFE0000000000000, 0xBFE0000000000000 /* _POLY_C1 */ - .align 16 - .long 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000 /* _LowBoundary */ - .align 16 - .long 0x44100000, 0x44100000, 0x44100000, 0x44100000 /* _HighBoundary */ - .align 16 - .type __svml_dhypot_data_internal,@object - .size __svml_dhypot_data_internal,.-__svml_dhypot_data_internal + /* legacy algorithm */ + .quad 0xffffc00000000000, 0xffffc00000000000 /* _dHiLoMask */ + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _dAbsMask */ + .align 16 + .quad 0x3FF0000000000000, 0x3FF0000000000000 /* _dOne */ + .align 16 + .quad 0xBFCF800000000000, 0xBFCF800000000000 /* _POLY_C5 */ + .align 16 + .quad 0x3FD1800000000000, 0x3FD1800000000000 /* _POLY_C4 */ + .align 16 + .quad 0xBFD4000000000000, 0xBFD4000000000000 /* _POLY_C3 */ + .align 16 + .quad 0x3FD8000000000000, 0x3FD8000000000000 /* _POLY_C2 */ + .align 16 + .quad 0xBFE0000000000000, 0xBFE0000000000000 /* _POLY_C1 */ + .align 16 + .long 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000 /* _LowBoundary */ + .align 16 + .long 0x44100000, 0x44100000, 0x44100000, 0x44100000 /* _HighBoundary */ + .align 16 + .type __svml_dhypot_data_internal, @object + .size __svml_dhypot_data_internal, .-__svml_dhypot_data_internal From patchwork Mon Mar 7 15:01:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602361 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=B3WEcrfn; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Ck0FT0z9sFt for ; Tue, 8 Mar 2022 03:03:30 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 33794385841F for ; Mon, 7 Mar 2022 16:03:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 33794385841F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669007; bh=b1kVxonNcT+3l2yUT65QZA+b6Hddb9BkwvyYovWSLK0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=B3WEcrfnVEbJuRLBrMLhtzFzL0ufU9AjlVtr2DoS2nImhSKou/GeF4E2Q/6WA/r5W RXgURCg6Nzq45HMH+ziTt4vX0x1a0Xxm1mjRx2mNhuYqydtZUQyCD19aFkorwxzN/y tDNkwjGab5yqssWa4RwqgeKmSDHmNDplOJ/67RG0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 572503858439 for ; Mon, 7 Mar 2022 15:02:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 572503858439 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="251983702" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="251983702" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="610639885" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f3016772; Mon, 7 Mar 2022 07:02:08 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 089/126] x86_64: Fix svml_d_hypot4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:24 -0800 Message-Id: <20220307150201.10590-90-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_hypot4_core_avx2.S | 394 +++++++++--------- 1 file changed, 196 insertions(+), 198 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S index 3a8033ef3b..ae5738c1b7 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot4_core_avx2.S @@ -63,227 +63,225 @@ /* Offsets for data table __svml_dhypot_data_internal */ -#define _dHiLoMask 0 -#define _dAbsMask 32 -#define _dOne 64 -#define _POLY_C5 96 -#define _POLY_C4 128 -#define _POLY_C3 160 -#define _POLY_C2 192 -#define _POLY_C1 224 -#define _LowBoundary 256 -#define _HighBoundary 288 +#define _dHiLoMask 0 +#define _dAbsMask 32 +#define _dOne 64 +#define _POLY_C5 96 +#define _POLY_C4 128 +#define _POLY_C3 160 +#define _POLY_C2 192 +#define _POLY_C1 224 +#define _LowBoundary 256 +#define _HighBoundary 288 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4vv_hypot_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $128, %rsp - vmovapd %ymm1, %ymm2 - vmovapd %ymm0, %ymm1 - -/* - * Defines - * Implementation - * Multiprecision branch for _HA_ only - * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 - */ - vmulpd %ymm1, %ymm1, %ymm0 - -/* - * calculate fixing part _p - * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 - * some parts of polynom are skipped for lower flav - */ - vmovupd _POLY_C4+__svml_dhypot_data_internal(%rip), %ymm15 - vmovups _LowBoundary+__svml_dhypot_data_internal(%rip), %xmm4 - vfmadd231pd %ymm2, %ymm2, %ymm0 - -/* - * _s ~ 1.0/sqrt(_z) - * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z - */ - vcvtpd2ps %ymm0, %xmm12 - -/* Check _z exponent to be withing borders [3BC ; 441] else goto Callout */ - vextractf128 $1, %ymm0, %xmm3 - vrsqrtps %xmm12, %xmm13 - vshufps $221, %xmm3, %xmm0, %xmm5 - vcvtps2pd %xmm13, %ymm3 - vpcmpgtd %xmm5, %xmm4, %xmm6 - vpcmpgtd _HighBoundary+__svml_dhypot_data_internal(%rip), %xmm5, %xmm7 - vpor %xmm7, %xmm6, %xmm9 - vpshufd $80, %xmm9, %xmm8 - vmulpd %ymm3, %ymm3, %ymm14 - vpshufd $250, %xmm9, %xmm10 - -/* _e[rror] ~ (1.0/_z + O) * _z - 1.0 */ - vfmsub213pd _dOne+__svml_dhypot_data_internal(%rip), %ymm0, %ymm14 - vfmadd213pd _POLY_C3+__svml_dhypot_data_internal(%rip), %ymm14, %ymm15 - vfmadd213pd _POLY_C2+__svml_dhypot_data_internal(%rip), %ymm14, %ymm15 - vfmadd213pd _POLY_C1+__svml_dhypot_data_internal(%rip), %ymm14, %ymm15 - -/* result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z */ - vmulpd %ymm15, %ymm14, %ymm14 - vmulpd %ymm14, %ymm3, %ymm15 - vmulpd %ymm15, %ymm0, %ymm4 - vfmadd213pd %ymm4, %ymm3, %ymm0 - vinsertf128 $1, %xmm10, %ymm8, %ymm11 - vmovmskpd %ymm11, %edx - -/* The end of implementation */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 ymm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $128, %rsp + vmovapd %ymm1, %ymm2 + vmovapd %ymm0, %ymm1 + + /* + * Defines + * Implementation + * Multiprecision branch for _HA_ only + * _z = _VARG1 * _VARG1 + _VARG2 * _VARG2 + */ + vmulpd %ymm1, %ymm1, %ymm0 + + /* + * calculate fixing part _p + * _p = (((_POLY_C5*_e + _POLY_C4)*_e +_POLY_C3)*_e +_POLY_C2)*_e + _POLY_C1 + * some parts of polynom are skipped for lower flav + */ + vmovupd _POLY_C4+__svml_dhypot_data_internal(%rip), %ymm15 + vmovups _LowBoundary+__svml_dhypot_data_internal(%rip), %xmm4 + vfmadd231pd %ymm2, %ymm2, %ymm0 + + /* + * _s ~ 1.0/sqrt(_z) + * _s2 ~ 1.0/(sqrt(_z)*sqrt(_z)) ~ 1.0/_z + */ + vcvtpd2ps %ymm0, %xmm12 + + /* Check _z exponent to be withing borders [3BC ; 441] else goto Callout */ + vextractf128 $1, %ymm0, %xmm3 + vrsqrtps %xmm12, %xmm13 + vshufps $221, %xmm3, %xmm0, %xmm5 + vcvtps2pd %xmm13, %ymm3 + vpcmpgtd %xmm5, %xmm4, %xmm6 + vpcmpgtd _HighBoundary+__svml_dhypot_data_internal(%rip), %xmm5, %xmm7 + vpor %xmm7, %xmm6, %xmm9 + vpshufd $80, %xmm9, %xmm8 + vmulpd %ymm3, %ymm3, %ymm14 + vpshufd $250, %xmm9, %xmm10 + + /* _e[rror] ~ (1.0/_z + O) * _z - 1.0 */ + vfmsub213pd _dOne+__svml_dhypot_data_internal(%rip), %ymm0, %ymm14 + vfmadd213pd _POLY_C3+__svml_dhypot_data_internal(%rip), %ymm14, %ymm15 + vfmadd213pd _POLY_C2+__svml_dhypot_data_internal(%rip), %ymm14, %ymm15 + vfmadd213pd _POLY_C1+__svml_dhypot_data_internal(%rip), %ymm14, %ymm15 + + /* result = _z * (1.0/sqrt(_z) + O) + _p * _e[rror] * _z */ + vmulpd %ymm15, %ymm14, %ymm14 + vmulpd %ymm14, %ymm3, %ymm15 + vmulpd %ymm15, %ymm0, %ymm4 + vfmadd213pd %ymm4, %ymm3, %ymm0 + vinsertf128 $1, %xmm10, %ymm8, %ymm11 + vmovmskpd %ymm11, %edx + + /* The end of implementation */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 ymm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm1, 32(%rsp) - vmovupd %ymm2, 64(%rsp) - vmovupd %ymm0, 96(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm1, 32(%rsp) + vmovupd %ymm2, 64(%rsp) + vmovupd %ymm0, 96(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 96(%rsp), %ymm0 - -/* 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: -112; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 96(%rsp), %ymm0 + + /* 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: -112; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x90, 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - movsd 64(%rsp,%r14,8), %xmm1 - call hypot@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + movsd 64(%rsp, %r14, 8), %xmm1 + call hypot@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 96(%rsp,%r14,8) + movsd %xmm0, 96(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4vv_hypot_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dhypot_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dHiLoMask[4][2]; - __declspec(align(32)) VUINT32 _dAbsMask[4][2]; - __declspec(align(32)) VUINT32 _dOne[4][2]; - __declspec(align(32)) VUINT32 _POLY_C5[4][2]; - __declspec(align(32)) VUINT32 _POLY_C4[4][2]; - __declspec(align(32)) VUINT32 _POLY_C3[4][2]; - __declspec(align(32)) VUINT32 _POLY_C2[4][2]; - __declspec(align(32)) VUINT32 _POLY_C1[4][2]; - __declspec(align(32)) VUINT32 _LowBoundary[8][1]; - __declspec(align(32)) VUINT32 _HighBoundary[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _dHiLoMask[4][2]; + __declspec(align(32)) VUINT32 _dAbsMask[4][2]; + __declspec(align(32)) VUINT32 _dOne[4][2]; + __declspec(align(32)) VUINT32 _POLY_C5[4][2]; + __declspec(align(32)) VUINT32 _POLY_C4[4][2]; + __declspec(align(32)) VUINT32 _POLY_C3[4][2]; + __declspec(align(32)) VUINT32 _POLY_C2[4][2]; + __declspec(align(32)) VUINT32 _POLY_C1[4][2]; + __declspec(align(32)) VUINT32 _LowBoundary[8][1]; + __declspec(align(32)) VUINT32 _HighBoundary[8][1]; } __svml_dhypot_data_internal; #endif __svml_dhypot_data_internal: - /* legacy algorithm */ - .quad 0xffffc00000000000, 0xffffc00000000000, 0xffffc00000000000, 0xffffc00000000000 /* _dHiLoMask */ - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dAbsMask */ - .align 32 - .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 /* _dOne */ - .align 32 - .quad 0xBFCF800000000000, 0xBFCF800000000000, 0xBFCF800000000000, 0xBFCF800000000000 /* _POLY_C5 */ - .align 32 - .quad 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000 /* _POLY_C4 */ - .align 32 - .quad 0xBFD4000000000000, 0xBFD4000000000000, 0xBFD4000000000000, 0xBFD4000000000000 /* _POLY_C3 */ - .align 32 - .quad 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000 /* _POLY_C2 */ - .align 32 - .quad 0xBFE0000000000000, 0xBFE0000000000000, 0xBFE0000000000000, 0xBFE0000000000000 /* _POLY_C1 */ - .align 32 - .long 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000 /* _LowBoundary */ - .align 32 - .long 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000 /* _HighBoundary */ - .align 32 - .type __svml_dhypot_data_internal,@object - .size __svml_dhypot_data_internal,.-__svml_dhypot_data_internal + /* legacy algorithm */ + .quad 0xffffc00000000000, 0xffffc00000000000, 0xffffc00000000000, 0xffffc00000000000 /* _dHiLoMask */ + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dAbsMask */ + .align 32 + .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 /* _dOne */ + .align 32 + .quad 0xBFCF800000000000, 0xBFCF800000000000, 0xBFCF800000000000, 0xBFCF800000000000 /* _POLY_C5 */ + .align 32 + .quad 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000, 0x3FD1800000000000 /* _POLY_C4 */ + .align 32 + .quad 0xBFD4000000000000, 0xBFD4000000000000, 0xBFD4000000000000, 0xBFD4000000000000 /* _POLY_C3 */ + .align 32 + .quad 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000, 0x3FD8000000000000 /* _POLY_C2 */ + .align 32 + .quad 0xBFE0000000000000, 0xBFE0000000000000, 0xBFE0000000000000, 0xBFE0000000000000 /* _POLY_C1 */ + .align 32 + .long 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000, 0x3BC00000 /* _LowBoundary */ + .align 32 + .long 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000, 0x44100000 /* _HighBoundary */ + .align 32 + .type __svml_dhypot_data_internal, @object + .size __svml_dhypot_data_internal, .-__svml_dhypot_data_internal From patchwork Mon Mar 7 15:01:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602399 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Wro3elgQ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3mW1wPnz9sFt for ; Tue, 8 Mar 2022 03:28:27 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 63D26385803F for ; Mon, 7 Mar 2022 16:28:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 63D26385803F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670505; bh=YGNsrvupcLH6CjzzEBAHmila2Ye1uvDrkk8+34wrwnM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Wro3elgQzle5I5G5qEjmSEil+AsI+LG1vzWm/EybIN07XTAaElzJZD/GHQZPw7xW1 ahHpmqXIsUNnidPmSMaLcrpXp2NWawDnz5rv/SxR8mGmUaA1xPE8wN70lb+w8WsNeJ WP1tJa1wJcY2khMwvl3eC9gdyLHhLgNkJrsCL3uI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 1AE7E3858003 for ; Mon, 7 Mar 2022 15:03:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1AE7E3858003 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017276" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017276" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141873" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f4016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 090/126] x86_64: Fix svml_d_hypot8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:25 -0800 Message-Id: <20220307150201.10590-91-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_hypot8_core_avx512.S | 286 +++++++++--------- 1 file changed, 142 insertions(+), 144 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S index 32d9ef30b4..0c404fd5ee 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_hypot8_core_avx512.S @@ -63,173 +63,171 @@ /* Offsets for data table __svml_dhypot_data_internal */ -#define _dAbsMask 0 -#define _lExpBound_uisa 64 -#define _lExpBound 128 -#define _dHalf 192 +#define _dAbsMask 0 +#define _lExpBound_uisa 64 +#define _lExpBound 128 +#define _dHalf 192 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8vv_hypot_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $256, %rsp - vgetexppd {sae}, %zmm0, %zmm2 - vgetexppd {sae}, %zmm1, %zmm3 - vmovups _dHalf+__svml_dhypot_data_internal(%rip), %zmm9 - vmaxpd {sae}, %zmm3, %zmm2, %zmm4 - vmulpd {rn-sae}, %zmm0, %zmm0, %zmm2 - vandpd _dAbsMask+__svml_dhypot_data_internal(%rip), %zmm4, %zmm5 - vfmadd231pd {rn-sae}, %zmm1, %zmm1, %zmm2 - -/* Select exponent bound so that no scaling is needed */ - vpcmpq $5, _lExpBound_uisa+__svml_dhypot_data_internal(%rip), %zmm5, %k0 - vrsqrt14pd %zmm2, %zmm6 - kmovw %k0, %edx - vmulpd {rn-sae}, %zmm6, %zmm2, %zmm7 - vmulpd {rn-sae}, %zmm6, %zmm9, %zmm8 - vfnmadd231pd {rn-sae}, %zmm7, %zmm8, %zmm9 - vfmadd231pd {rn-sae}, %zmm9, %zmm8, %zmm8 - vfmadd213pd {rn-sae}, %zmm7, %zmm7, %zmm9 - vfnmadd231pd {rn-sae}, %zmm9, %zmm9, %zmm2 - vfmadd213pd {rn-sae}, %zmm9, %zmm8, %zmm2 - -/* The end of implementation */ - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $256, %rsp + vgetexppd {sae}, %zmm0, %zmm2 + vgetexppd {sae}, %zmm1, %zmm3 + vmovups _dHalf+__svml_dhypot_data_internal(%rip), %zmm9 + vmaxpd {sae}, %zmm3, %zmm2, %zmm4 + vmulpd {rn-sae}, %zmm0, %zmm0, %zmm2 + vandpd _dAbsMask+__svml_dhypot_data_internal(%rip), %zmm4, %zmm5 + vfmadd231pd {rn-sae}, %zmm1, %zmm1, %zmm2 + + /* Select exponent bound so that no scaling is needed */ + vpcmpq $5, _lExpBound_uisa+__svml_dhypot_data_internal(%rip), %zmm5, %k0 + vrsqrt14pd %zmm2, %zmm6 + kmovw %k0, %edx + vmulpd {rn-sae}, %zmm6, %zmm2, %zmm7 + vmulpd {rn-sae}, %zmm6, %zmm9, %zmm8 + vfnmadd231pd {rn-sae}, %zmm7, %zmm8, %zmm9 + vfmadd231pd {rn-sae}, %zmm9, %zmm8, %zmm8 + vfmadd213pd {rn-sae}, %zmm7, %zmm7, %zmm9 + vfnmadd231pd {rn-sae}, %zmm9, %zmm9, %zmm2 + vfmadd213pd {rn-sae}, %zmm9, %zmm8, %zmm2 + + /* The end of implementation */ + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm2, %zmm0 - 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 - */ + vmovaps %zmm2, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm1, 128(%rsp) - vmovups %zmm2, 192(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm2 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + vmovups %zmm2, 192(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm2 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 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: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 192(%rsp), %zmm2 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm2 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 192(%rsp), %zmm2 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -240; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x10, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -248; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x08, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -256; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x00, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm2 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - movsd 128(%rsp,%r14,8), %xmm1 - call hypot@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + movsd 128(%rsp, %r14, 8), %xmm1 + call hypot@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 192(%rsp,%r14,8) + movsd %xmm0, 192(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8vv_hypot_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dhypot_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _dAbsMask[8][2]; - __declspec(align(64)) VUINT32 _lExpBound_uisa[8][2]; - __declspec(align(64)) VUINT32 _lExpBound[8][2]; - __declspec(align(64)) VUINT32 _dHalf[8][2]; +typedef struct { + __declspec(align(64)) VUINT32 _dAbsMask[8][2]; + __declspec(align(64)) VUINT32 _lExpBound_uisa[8][2]; + __declspec(align(64)) VUINT32 _lExpBound[8][2]; + __declspec(align(64)) VUINT32 _dHalf[8][2]; } __svml_dhypot_data_internal; #endif __svml_dhypot_data_internal: - /* legacy algorithm */ - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dAbsMask */ - /* fma based algorithm*/ - .align 64 - .quad 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000 /* _lExpBound_uisa */ - .align 64 - .quad 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000 /* _lExpBound */ - .align 64 - .quad 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000 /* _dHalf */ - .align 64 - .type __svml_dhypot_data_internal,@object - .size __svml_dhypot_data_internal,.-__svml_dhypot_data_internal + /* legacy algorithm */ + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dAbsMask */ + /* fma based algorithm*/ + .align 64 + .quad 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000, 0x407ff00000000000 /* _lExpBound_uisa */ + .align 64 + .quad 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000, 0x404f800000000000 /* _lExpBound */ + .align 64 + .quad 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000, 0x3FE0000000000000 /* _dHalf */ + .align 64 + .type __svml_dhypot_data_internal, @object + .size __svml_dhypot_data_internal, .-__svml_dhypot_data_internal From patchwork Mon Mar 7 15:01:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602373 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=o45A1XuY; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3R45g8Yz9sFt for ; Tue, 8 Mar 2022 03:13:20 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DE9E13858001 for ; Mon, 7 Mar 2022 16:13:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DE9E13858001 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669598; bh=37E7DDy+3pGnJDr72hFAO5fPIDckg2pLUXFoEw6VJCM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=o45A1XuYnkxpVJBHZnOq9DWbogQqSNS1lfyAFM2tSJ8tD5rkKA0a2v9hqUoFg5V5f CVxPsF9AUPDmYqm3oElCW4bXZ7k09yhbJ+AWSwX6BCgaeACZsxCnkB7X++oiL1xY8U B1+XKvWof06QoH4u7lR1e3zJUc2s94NN/4A2nCQk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id 2C6FE3858C74 for ; Mon, 7 Mar 2022 15:03:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2C6FE3858C74 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843031" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843031" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561726" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f5016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 091/126] x86_64: Fix svml_s_log10f16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:26 -0800 Message-Id: <20220307150201.10590-92-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_log10f16_core_avx512.S | 361 +++++++++--------- 1 file changed, 180 insertions(+), 181 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S index 5a8da0203f..b192dfe464 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f16_core_avx512.S @@ -29,210 +29,209 @@ /* Offsets for data table __svml_slog10_data_internal_avx512 */ -#define One 0 -#define coeff4 64 -#define coeff3 128 -#define coeff2 192 -#define coeff1 256 -#define L2 320 +#define One 0 +#define coeff4 64 +#define coeff3 128 +#define coeff2 192 +#define coeff1 256 +#define L2 320 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_log10f_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vgetmantps $11, {sae}, %zmm0, %zmm3 - vmovups __svml_slog10_data_internal_avx512(%rip), %zmm1 - vgetexpps {sae}, %zmm0, %zmm5 - vmovups L2+__svml_slog10_data_internal_avx512(%rip), %zmm10 - vpsrld $19, %zmm3, %zmm7 - vgetexpps {sae}, %zmm3, %zmm6 - vsubps {rn-sae}, %zmm1, %zmm3, %zmm11 - vpermps coeff4+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm1 - vpermps coeff3+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm2 - vsubps {rn-sae}, %zmm6, %zmm5, %zmm9 - vpermps coeff2+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm4 - vpermps coeff1+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm8 - -/* x<=0? */ - vfpclassps $94, %zmm0, %k0 - vfmadd213ps {rn-sae}, %zmm2, %zmm11, %zmm1 - vmulps {rn-sae}, %zmm10, %zmm9, %zmm12 - vfmadd213ps {rn-sae}, %zmm4, %zmm11, %zmm1 - kmovw %k0, %edx - vfmadd213ps {rn-sae}, %zmm8, %zmm11, %zmm1 - vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vgetmantps $11, {sae}, %zmm0, %zmm3 + vmovups __svml_slog10_data_internal_avx512(%rip), %zmm1 + vgetexpps {sae}, %zmm0, %zmm5 + vmovups L2+__svml_slog10_data_internal_avx512(%rip), %zmm10 + vpsrld $19, %zmm3, %zmm7 + vgetexpps {sae}, %zmm3, %zmm6 + vsubps {rn-sae}, %zmm1, %zmm3, %zmm11 + vpermps coeff4+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm1 + vpermps coeff3+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm2 + vsubps {rn-sae}, %zmm6, %zmm5, %zmm9 + vpermps coeff2+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm4 + vpermps coeff1+__svml_slog10_data_internal_avx512(%rip), %zmm7, %zmm8 + + /* x<=0? */ + vfpclassps $94, %zmm0, %k0 + vfmadd213ps {rn-sae}, %zmm2, %zmm11, %zmm1 + vmulps {rn-sae}, %zmm10, %zmm9, %zmm12 + vfmadd213ps {rn-sae}, %zmm4, %zmm11, %zmm1 + kmovw %k0, %edx + vfmadd213ps {rn-sae}, %zmm8, %zmm11, %zmm1 + vfmadd213ps {rn-sae}, %zmm12, %zmm11, %zmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm1, %zmm0 - 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 - */ + vmovaps %zmm1, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm1, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm1 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm1 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call log10f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call log10f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_log10f_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_slog10_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 coeff4[16][1]; - __declspec(align(64)) VUINT32 coeff3[16][1]; - __declspec(align(64)) VUINT32 coeff2[16][1]; - __declspec(align(64)) VUINT32 coeff1[16][1]; - __declspec(align(64)) VUINT32 L2[16][1]; - } __svml_slog10_data_internal_avx512; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 coeff4[16][1]; + __declspec(align(64)) VUINT32 coeff3[16][1]; + __declspec(align(64)) VUINT32 coeff2[16][1]; + __declspec(align(64)) VUINT32 coeff1[16][1]; + __declspec(align(64)) VUINT32 L2[16][1]; +} __svml_slog10_data_internal_avx512; #endif __svml_slog10_data_internal_avx512: - /*== One ==*/ - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - // c4 - .align 64 - .long 0xbdc9ae9b, 0xbda6fcf4 - .long 0xbd8bac76, 0xbd6bca30 - .long 0xbd48a99b, 0xbd2c0a9f - .long 0xbd1480db, 0xbd00faf2 - .long 0xbe823aa9, 0xbe656348 - .long 0xbe4afbb9, 0xbe346895 - .long 0xbe20ffff, 0xbe103a0b - .long 0xbe01a91c, 0xbde9e84e - // c3 - .align 64 - .long 0x3e13d888, 0x3e10a87c - .long 0x3e0b95c3, 0x3e057f0b - .long 0x3dfde038, 0x3df080d9 - .long 0x3de34c1e, 0x3dd68333 - .long 0x3dac6e8e, 0x3dd54a51 - .long 0x3df30f40, 0x3e04235d - .long 0x3e0b7033, 0x3e102c90 - .long 0x3e12ebad, 0x3e141ff8 - // c2 - .align 64 - .long 0xbe5e5a9b, 0xbe5e2677 - .long 0xbe5d83f5, 0xbe5c6016 - .long 0xbe5abd0b, 0xbe58a6fd - .long 0xbe562e02, 0xbe5362f8 - .long 0xbe68e27c, 0xbe646747 - .long 0xbe619a73, 0xbe5ff05a - .long 0xbe5f0570, 0xbe5e92d0 - .long 0xbe5e662b, 0xbe5e5c08 - // c1 - .align 64 - .long 0x3ede5bd8, 0x3ede5b45 - .long 0x3ede57d8, 0x3ede4eb1 - .long 0x3ede3d37, 0x3ede2166 - .long 0x3eddf9d9, 0x3eddc5bb - .long 0x3ede08ed, 0x3ede32e7 - .long 0x3ede4967, 0x3ede5490 - .long 0x3ede597f, 0x3ede5b50 - .long 0x3ede5bca, 0x3ede5bd9 - /*== L2 ==*/ - .align 64 - .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b - .align 64 - .type __svml_slog10_data_internal_avx512,@object - .size __svml_slog10_data_internal_avx512,.-__svml_slog10_data_internal_avx512 + /* One */ + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + // c4 + .align 64 + .long 0xbdc9ae9b, 0xbda6fcf4 + .long 0xbd8bac76, 0xbd6bca30 + .long 0xbd48a99b, 0xbd2c0a9f + .long 0xbd1480db, 0xbd00faf2 + .long 0xbe823aa9, 0xbe656348 + .long 0xbe4afbb9, 0xbe346895 + .long 0xbe20ffff, 0xbe103a0b + .long 0xbe01a91c, 0xbde9e84e + // c3 + .align 64 + .long 0x3e13d888, 0x3e10a87c + .long 0x3e0b95c3, 0x3e057f0b + .long 0x3dfde038, 0x3df080d9 + .long 0x3de34c1e, 0x3dd68333 + .long 0x3dac6e8e, 0x3dd54a51 + .long 0x3df30f40, 0x3e04235d + .long 0x3e0b7033, 0x3e102c90 + .long 0x3e12ebad, 0x3e141ff8 + // c2 + .align 64 + .long 0xbe5e5a9b, 0xbe5e2677 + .long 0xbe5d83f5, 0xbe5c6016 + .long 0xbe5abd0b, 0xbe58a6fd + .long 0xbe562e02, 0xbe5362f8 + .long 0xbe68e27c, 0xbe646747 + .long 0xbe619a73, 0xbe5ff05a + .long 0xbe5f0570, 0xbe5e92d0 + .long 0xbe5e662b, 0xbe5e5c08 + // c1 + .align 64 + .long 0x3ede5bd8, 0x3ede5b45 + .long 0x3ede57d8, 0x3ede4eb1 + .long 0x3ede3d37, 0x3ede2166 + .long 0x3eddf9d9, 0x3eddc5bb + .long 0x3ede08ed, 0x3ede32e7 + .long 0x3ede4967, 0x3ede5490 + .long 0x3ede597f, 0x3ede5b50 + .long 0x3ede5bca, 0x3ede5bd9 + /* L2 */ + .align 64 + .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b + .align 64 + .type __svml_slog10_data_internal_avx512, @object + .size __svml_slog10_data_internal_avx512, .-__svml_slog10_data_internal_avx512 From patchwork Mon Mar 7 15:01:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602278 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=TxmalV2S; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2WW4BWtz9sFh for ; Tue, 8 Mar 2022 02:32:07 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8221D3858431 for ; Mon, 7 Mar 2022 15:32:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8221D3858431 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667124; bh=Qxonn6D25u9d1RZ3VAY21VDhANbd6K81hzG3ppo1jMA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=TxmalV2S5E1oU4Y0dGreX+l1MQPrari7WCLDEQWCpXh8X0zQUMIC/eTgRc51m0uYs nEiDqgq0b0bmAyP9sPK7wSt9565dH+TcwO6ALAy2tRbDtcxVlxVke8Aj38O0Lrbr2S SALrtamqKMHqqcCVnS7VZ+WGgCKE+qODrsK5IuFY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id C76663858403 for ; Mon, 7 Mar 2022 15:02:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C76663858403 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113950" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113950" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274103" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f6016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 092/126] x86_64: Fix svml_s_log10f4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:27 -0800 Message-Id: <20220307150201.10590-93-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_log10f4_core_sse4.S | 369 +++++++++--------- 1 file changed, 184 insertions(+), 185 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S index 047cb5f668..58f54d62a3 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f4_core_sse4.S @@ -29,215 +29,214 @@ /* Offsets for data table __svml_slog10_data_internal */ -#define MinNorm 0 -#define MaxNorm 16 -#define L2H 32 -#define L2L 48 -#define iBrkValue 64 -#define iOffExpoMask 80 -#define One 96 -#define sPoly 112 -#define L2 256 +#define MinNorm 0 +#define MaxNorm 16 +#define L2H 32 +#define L2L 48 +#define iBrkValue 64 +#define iOffExpoMask 80 +#define One 96 +#define sPoly 112 +#define L2 256 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_log10f_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm1 - -/* reduction: compute r,n */ - movdqu iBrkValue+__svml_slog10_data_internal(%rip), %xmm2 - movaps %xmm0, %xmm4 - movdqu iOffExpoMask+__svml_slog10_data_internal(%rip), %xmm10 - psubd %xmm2, %xmm1 - pand %xmm1, %xmm10 - psrad $23, %xmm1 - paddd %xmm2, %xmm10 - movaps %xmm0, %xmm3 - movups sPoly+__svml_slog10_data_internal(%rip), %xmm5 - movups sPoly+32+__svml_slog10_data_internal(%rip), %xmm6 - movups sPoly+64+__svml_slog10_data_internal(%rip), %xmm7 - movups sPoly+96+__svml_slog10_data_internal(%rip), %xmm9 - cvtdq2ps %xmm1, %xmm12 - cmpltps MinNorm+__svml_slog10_data_internal(%rip), %xmm4 - cmpnleps MaxNorm+__svml_slog10_data_internal(%rip), %xmm3 - subps One+__svml_slog10_data_internal(%rip), %xmm10 - mulps %xmm10, %xmm5 - movaps %xmm10, %xmm8 - mulps %xmm10, %xmm6 - mulps %xmm10, %xmm8 - addps sPoly+16+__svml_slog10_data_internal(%rip), %xmm5 - mulps %xmm10, %xmm7 - addps sPoly+48+__svml_slog10_data_internal(%rip), %xmm6 - mulps %xmm10, %xmm9 - mulps %xmm8, %xmm5 - addps sPoly+80+__svml_slog10_data_internal(%rip), %xmm7 - addps sPoly+112+__svml_slog10_data_internal(%rip), %xmm9 - addps %xmm5, %xmm6 - mulps %xmm8, %xmm6 - orps %xmm3, %xmm4 - -/* combine and get argument value range mask */ - movmskps %xmm4, %edx - movups L2L+__svml_slog10_data_internal(%rip), %xmm1 - addps %xmm6, %xmm7 - mulps %xmm12, %xmm1 - mulps %xmm7, %xmm8 - movups L2H+__svml_slog10_data_internal(%rip), %xmm11 - addps %xmm8, %xmm9 - mulps %xmm11, %xmm12 - mulps %xmm10, %xmm9 - addps sPoly+128+__svml_slog10_data_internal(%rip), %xmm9 - mulps %xmm9, %xmm10 - addps %xmm10, %xmm1 - addps %xmm12, %xmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm1 + + /* reduction: compute r, n */ + movdqu iBrkValue+__svml_slog10_data_internal(%rip), %xmm2 + movaps %xmm0, %xmm4 + movdqu iOffExpoMask+__svml_slog10_data_internal(%rip), %xmm10 + psubd %xmm2, %xmm1 + pand %xmm1, %xmm10 + psrad $23, %xmm1 + paddd %xmm2, %xmm10 + movaps %xmm0, %xmm3 + movups sPoly+__svml_slog10_data_internal(%rip), %xmm5 + movups sPoly+32+__svml_slog10_data_internal(%rip), %xmm6 + movups sPoly+64+__svml_slog10_data_internal(%rip), %xmm7 + movups sPoly+96+__svml_slog10_data_internal(%rip), %xmm9 + cvtdq2ps %xmm1, %xmm12 + cmpltps MinNorm+__svml_slog10_data_internal(%rip), %xmm4 + cmpnleps MaxNorm+__svml_slog10_data_internal(%rip), %xmm3 + subps One+__svml_slog10_data_internal(%rip), %xmm10 + mulps %xmm10, %xmm5 + movaps %xmm10, %xmm8 + mulps %xmm10, %xmm6 + mulps %xmm10, %xmm8 + addps sPoly+16+__svml_slog10_data_internal(%rip), %xmm5 + mulps %xmm10, %xmm7 + addps sPoly+48+__svml_slog10_data_internal(%rip), %xmm6 + mulps %xmm10, %xmm9 + mulps %xmm8, %xmm5 + addps sPoly+80+__svml_slog10_data_internal(%rip), %xmm7 + addps sPoly+112+__svml_slog10_data_internal(%rip), %xmm9 + addps %xmm5, %xmm6 + mulps %xmm8, %xmm6 + orps %xmm3, %xmm4 + + /* combine and get argument value range mask */ + movmskps %xmm4, %edx + movups L2L+__svml_slog10_data_internal(%rip), %xmm1 + addps %xmm6, %xmm7 + mulps %xmm12, %xmm1 + mulps %xmm7, %xmm8 + movups L2H+__svml_slog10_data_internal(%rip), %xmm11 + addps %xmm8, %xmm9 + mulps %xmm11, %xmm12 + mulps %xmm10, %xmm9 + addps sPoly+128+__svml_slog10_data_internal(%rip), %xmm9 + mulps %xmm9, %xmm10 + addps %xmm10, %xmm1 + addps %xmm12, %xmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm1, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm1, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm1 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm1 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call log10f@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call log10f@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_log10f_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_slog10_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 MinNorm[4][1]; - __declspec(align(16)) VUINT32 MaxNorm[4][1]; - __declspec(align(16)) VUINT32 L2H[4][1]; - __declspec(align(16)) VUINT32 L2L[4][1]; - __declspec(align(16)) VUINT32 iBrkValue[4][1]; - __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; - __declspec(align(16)) VUINT32 One[4][1]; - __declspec(align(16)) VUINT32 sPoly[9][4][1]; - __declspec(align(16)) VUINT32 L2[4][1]; + __declspec(align(16)) VUINT32 MinNorm[4][1]; + __declspec(align(16)) VUINT32 MaxNorm[4][1]; + __declspec(align(16)) VUINT32 L2H[4][1]; + __declspec(align(16)) VUINT32 L2L[4][1]; + __declspec(align(16)) VUINT32 iBrkValue[4][1]; + __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; + __declspec(align(16)) VUINT32 One[4][1]; + __declspec(align(16)) VUINT32 sPoly[9][4][1]; + __declspec(align(16)) VUINT32 L2[4][1]; } __svml_slog10_data_internal; #endif __svml_slog10_data_internal: - /*== MinNorm ==*/ - .long 0x00800000, 0x00800000, 0x00800000, 0x00800000 - /*== MaxNorm ==*/ - .align 16 - .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff - /*== L2H ==*/ - .align 16 - .long 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100 - /*== L2L ==*/ - .align 16 - .long 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600 - /*== iBrkValue = SP 2/3 ==*/ - .align 16 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 16 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sOne = SP 1.0 ==*/ - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== spoly[9] ==*/ - .align 16 - .long 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4 /* coeff9 */ - .long 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073 /* coeff8 */ - .long 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317 /* coeff7 */ - .long 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27 /* coeff6 */ - .long 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96 /* coeff5 */ - .long 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20 /* coeff4 */ - .long 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5 /* coeff3 */ - .long 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5 /* coeff2 */ - .long 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9 /* coeff1 */ - /*== L2 ==*/ - .align 16 - .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b - .align 16 - .type __svml_slog10_data_internal,@object - .size __svml_slog10_data_internal,.-__svml_slog10_data_internal + /* MinNorm */ + .long 0x00800000, 0x00800000, 0x00800000, 0x00800000 + /* MaxNorm */ + .align 16 + .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff + /* L2H */ + .align 16 + .long 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100 + /* L2L */ + .align 16 + .long 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600 + /* iBrkValue = SP 2/3 */ + .align 16 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 16 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sOne = SP 1.0 */ + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* spoly[9] */ + .align 16 + .long 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4 /* coeff9 */ + .long 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073 /* coeff8 */ + .long 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317 /* coeff7 */ + .long 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27 /* coeff6 */ + .long 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96 /* coeff5 */ + .long 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20 /* coeff4 */ + .long 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5 /* coeff3 */ + .long 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5 /* coeff2 */ + .long 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9 /* coeff1 */ + /* L2 */ + .align 16 + .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b + .align 16 + .type __svml_slog10_data_internal, @object + .size __svml_slog10_data_internal, .-__svml_slog10_data_internal From patchwork Mon Mar 7 15:01:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602289 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=DrDWjCaY; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2fd1HSbz9sFk for ; Tue, 8 Mar 2022 02:38:17 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EBF81385842B for ; Mon, 7 Mar 2022 15:38:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EBF81385842B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667495; bh=6jIXsC3A8pLjgRmlZ3H9VMmh00GU38l2kbXyU7lU/vc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=DrDWjCaYMXJj9nXAOFopscoAm43RK7A4YABtsxYXq7biIZk849SI2xiPIKoDO1n9z s/j6/ZdlgyVAN8YEg2NmNKMq2NYc5jp950WQmJ1HCYYAmVBwpblP0MOvMrqjH2ZR9J Mv6Jf/yW39Uy/MM/3qhuNQR/s9kdhEmcpRcEsLY0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 775393858C2C for ; Mon, 7 Mar 2022 15:02:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 775393858C2C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113952" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113952" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274104" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f7016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 093/126] x86_64: Fix svml_s_log10f8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:28 -0800 Message-Id: <20220307150201.10590-94-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_log10f8_core_avx2.S | 369 +++++++++--------- 1 file changed, 184 insertions(+), 185 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S index 2238231ebe..ea51c28f81 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log10f8_core_avx2.S @@ -29,215 +29,214 @@ /* Offsets for data table __svml_slog10_data_internal */ -#define MinNorm 0 -#define MaxNorm 32 -#define L2H 64 -#define L2L 96 -#define iBrkValue 128 -#define iOffExpoMask 160 -#define One 192 -#define sPoly 224 -#define L2 512 +#define MinNorm 0 +#define MaxNorm 32 +#define L2H 64 +#define L2L 96 +#define iBrkValue 128 +#define iOffExpoMask 160 +#define One 192 +#define sPoly 224 +#define L2 512 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_log10f_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* reduction: compute r,n */ - vmovups iBrkValue+__svml_slog10_data_internal(%rip), %ymm4 - vmovups sPoly+__svml_slog10_data_internal(%rip), %ymm15 - vmovups sPoly+64+__svml_slog10_data_internal(%rip), %ymm9 - vmovups sPoly+128+__svml_slog10_data_internal(%rip), %ymm10 - vmovups sPoly+192+__svml_slog10_data_internal(%rip), %ymm12 - vpsubd %ymm4, %ymm0, %ymm1 - vcmplt_oqps MinNorm+__svml_slog10_data_internal(%rip), %ymm0, %ymm5 - vcmpnle_uqps MaxNorm+__svml_slog10_data_internal(%rip), %ymm0, %ymm6 - vpand iOffExpoMask+__svml_slog10_data_internal(%rip), %ymm1, %ymm3 - vpsrad $23, %ymm1, %ymm2 - vpaddd %ymm4, %ymm3, %ymm8 - vcvtdq2ps %ymm2, %ymm1 - vsubps One+__svml_slog10_data_internal(%rip), %ymm8, %ymm13 - vmulps L2L+__svml_slog10_data_internal(%rip), %ymm1, %ymm14 - vfmadd213ps sPoly+32+__svml_slog10_data_internal(%rip), %ymm13, %ymm15 - vfmadd213ps sPoly+96+__svml_slog10_data_internal(%rip), %ymm13, %ymm9 - vmulps %ymm13, %ymm13, %ymm11 - vfmadd213ps sPoly+160+__svml_slog10_data_internal(%rip), %ymm13, %ymm10 - vfmadd213ps sPoly+224+__svml_slog10_data_internal(%rip), %ymm13, %ymm12 - vfmadd213ps %ymm9, %ymm11, %ymm15 - vfmadd213ps %ymm10, %ymm11, %ymm15 - vfmadd213ps %ymm12, %ymm11, %ymm15 - vfmadd213ps sPoly+256+__svml_slog10_data_internal(%rip), %ymm13, %ymm15 - vfmadd213ps %ymm14, %ymm13, %ymm15 - vorps %ymm6, %ymm5, %ymm7 - -/* combine and get argument value range mask */ - vmovmskps %ymm7, %edx - vfmadd132ps L2H+__svml_slog10_data_internal(%rip), %ymm15, %ymm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* reduction: compute r, n */ + vmovups iBrkValue+__svml_slog10_data_internal(%rip), %ymm4 + vmovups sPoly+__svml_slog10_data_internal(%rip), %ymm15 + vmovups sPoly+64+__svml_slog10_data_internal(%rip), %ymm9 + vmovups sPoly+128+__svml_slog10_data_internal(%rip), %ymm10 + vmovups sPoly+192+__svml_slog10_data_internal(%rip), %ymm12 + vpsubd %ymm4, %ymm0, %ymm1 + vcmplt_oqps MinNorm+__svml_slog10_data_internal(%rip), %ymm0, %ymm5 + vcmpnle_uqps MaxNorm+__svml_slog10_data_internal(%rip), %ymm0, %ymm6 + vpand iOffExpoMask+__svml_slog10_data_internal(%rip), %ymm1, %ymm3 + vpsrad $23, %ymm1, %ymm2 + vpaddd %ymm4, %ymm3, %ymm8 + vcvtdq2ps %ymm2, %ymm1 + vsubps One+__svml_slog10_data_internal(%rip), %ymm8, %ymm13 + vmulps L2L+__svml_slog10_data_internal(%rip), %ymm1, %ymm14 + vfmadd213ps sPoly+32+__svml_slog10_data_internal(%rip), %ymm13, %ymm15 + vfmadd213ps sPoly+96+__svml_slog10_data_internal(%rip), %ymm13, %ymm9 + vmulps %ymm13, %ymm13, %ymm11 + vfmadd213ps sPoly+160+__svml_slog10_data_internal(%rip), %ymm13, %ymm10 + vfmadd213ps sPoly+224+__svml_slog10_data_internal(%rip), %ymm13, %ymm12 + vfmadd213ps %ymm9, %ymm11, %ymm15 + vfmadd213ps %ymm10, %ymm11, %ymm15 + vfmadd213ps %ymm12, %ymm11, %ymm15 + vfmadd213ps sPoly+256+__svml_slog10_data_internal(%rip), %ymm13, %ymm15 + vfmadd213ps %ymm14, %ymm13, %ymm15 + vorps %ymm6, %ymm5, %ymm7 + + /* combine and get argument value range mask */ + vmovmskps %ymm7, %edx + vfmadd132ps L2H+__svml_slog10_data_internal(%rip), %ymm15, %ymm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %ymm1, %ymm0 - 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 - */ + vmovaps %ymm1, %ymm0 + 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): - vmovups %ymm0, 32(%rsp) - vmovups %ymm1, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm0, 32(%rsp) + vmovups %ymm1, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm1 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm1 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call log10f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call log10f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_log10f_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_slog10_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 MinNorm[8][1]; - __declspec(align(32)) VUINT32 MaxNorm[8][1]; - __declspec(align(32)) VUINT32 L2H[8][1]; - __declspec(align(32)) VUINT32 L2L[8][1]; - __declspec(align(32)) VUINT32 iBrkValue[8][1]; - __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; - __declspec(align(32)) VUINT32 One[8][1]; - __declspec(align(32)) VUINT32 sPoly[9][8][1]; - __declspec(align(32)) VUINT32 L2[8][1]; + __declspec(align(32)) VUINT32 MinNorm[8][1]; + __declspec(align(32)) VUINT32 MaxNorm[8][1]; + __declspec(align(32)) VUINT32 L2H[8][1]; + __declspec(align(32)) VUINT32 L2L[8][1]; + __declspec(align(32)) VUINT32 iBrkValue[8][1]; + __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; + __declspec(align(32)) VUINT32 One[8][1]; + __declspec(align(32)) VUINT32 sPoly[9][8][1]; + __declspec(align(32)) VUINT32 L2[8][1]; } __svml_slog10_data_internal; #endif __svml_slog10_data_internal: - /*== MinNorm ==*/ - .long 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000 - /*== MaxNorm ==*/ - .align 32 - .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff - /*== L2H ==*/ - .align 32 - .long 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100 - /*== L2L ==*/ - .align 32 - .long 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600 - /*== iBrkValue = SP 2/3 ==*/ - .align 32 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 32 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sOne = SP 1.0 ==*/ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== spoly[9] ==*/ - .align 32 - .long 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4 /* coeff9 */ - .long 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073 /* coeff8 */ - .long 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317 /* coeff7 */ - .long 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27 /* coeff6 */ - .long 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96 /* coeff5 */ - .long 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20 /* coeff4 */ - .long 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5 /* coeff3 */ - .long 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5 /* coeff2 */ - .long 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9 /* coeff1 */ - /*== L2 ==*/ - .align 32 - .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b - .align 32 - .type __svml_slog10_data_internal,@object - .size __svml_slog10_data_internal,.-__svml_slog10_data_internal + /* MinNorm */ + .long 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000 + /* MaxNorm */ + .align 32 + .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff + /* L2H */ + .align 32 + .long 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100, 0x3e9a2100 + /* L2L */ + .align 32 + .long 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600, 0xb64AF600 + /* iBrkValue = SP 2/3 */ + .align 32 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sOne = SP 1.0 */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* spoly[9] */ + .align 32 + .long 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4, 0x3d8063B4 /* coeff9 */ + .long 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073, 0xbd890073 /* coeff8 */ + .long 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317, 0x3d775317 /* coeff7 */ + .long 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27, 0xbd91FB27 /* coeff6 */ + .long 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96, 0x3dB20B96 /* coeff5 */ + .long 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20, 0xbdDE6E20 /* coeff4 */ + .long 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5, 0x3e143CE5 /* coeff3 */ + .long 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5, 0xbe5E5BC5 /* coeff2 */ + .long 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9, 0x3eDE5BD9 /* coeff1 */ + /* L2 */ + .align 32 + .long 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b, 0x3e9a209b + .align 32 + .type __svml_slog10_data_internal, @object + .size __svml_slog10_data_internal, .-__svml_slog10_data_internal From patchwork Mon Mar 7 15:01:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602337 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qxwGyr/p; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2vs67Mqz9sFw for ; Tue, 8 Mar 2022 02:49:45 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 90F483858424 for ; Mon, 7 Mar 2022 15:49:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 90F483858424 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668183; bh=IU9mMGIeJE/aa1xzYGGYDAWSK/QhAoCWqnVDz/JwuFU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qxwGyr/poC6dTD5o2EpzOCNW1DDFCSp/UrMOSZZM7zVC9ro4GqJpNdHrPNgZBFlr6 TjLh/TNwiqL5/BSFaaHl4v4eCOv1jEyivzEXiq69uthvdnFcUJOyLOqdKj9ioAFMY0 XORBn/fUtlmmlArWrP9I31Y08Rfr60LAblqjpOJE= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 7901D385800F for ; Mon, 7 Mar 2022 15:02:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7901D385800F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="279113956" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="279113956" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274105" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f8016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 094/126] x86_64: Fix svml_d_log102_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:29 -0800 Message-Id: <20220307150201.10590-95-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log102_core_sse4.S | 2011 ++++++++--------- 1 file changed, 1005 insertions(+), 1006 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S index 9d691ff9e1..51bddb11ff 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log102_core_sse4.S @@ -29,1061 +29,1060 @@ /* Offsets for data table __svml_dlog10_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 4112 -#define poly_coeff 8224 -#define ExpMask 8304 -#define Two10 8320 -#define MinNorm 8336 -#define MaxNorm 8352 -#define HalfMask 8368 -#define One 8384 -#define Threshold 8400 -#define Bias 8416 -#define Bias1 8432 -#define L2 8448 +#define Log_HA_table 0 +#define Log_LA_table 4112 +#define poly_coeff 8224 +#define ExpMask 8304 +#define Two10 8320 +#define MinNorm 8336 +#define MaxNorm 8352 +#define HalfMask 8368 +#define One 8384 +#define Threshold 8400 +#define Bias 8416 +#define Bias1 8432 +#define L2 8448 /* Lookup bias for data table __svml_dlog10_data_internal. */ -#define Table_Lookup_Bias -0x406ff0 +#define Table_Lookup_Bias -0x406ff0 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_log10_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 + 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 + /* exponent bits */ + movaps %xmm0, %xmm5 -/* preserve mantissa, set input exponent to 2^(-10) */ - movups ExpMask+__svml_dlog10_data_internal(%rip), %xmm1 - psrlq $20, %xmm5 - andps %xmm0, %xmm1 - lea Table_Lookup_Bias+__svml_dlog10_data_internal(%rip), %rsi - orps Two10+__svml_dlog10_data_internal(%rip), %xmm1 + /* preserve mantissa, set input exponent to 2^(-10) */ + movups ExpMask+__svml_dlog10_data_internal(%rip), %xmm1 + psrlq $20, %xmm5 + andps %xmm0, %xmm1 + lea Table_Lookup_Bias+__svml_dlog10_data_internal(%rip), %rsi + orps Two10+__svml_dlog10_data_internal(%rip), %xmm1 -/* check range */ - movaps %xmm0, %xmm8 + /* check range */ + movaps %xmm0, %xmm8 -/* reciprocal approximation good to at least 11 bits */ - cvtpd2ps %xmm1, %xmm2 - cmpltpd MinNorm+__svml_dlog10_data_internal(%rip), %xmm8 - movlhps %xmm2, %xmm2 - movaps %xmm0, %xmm7 - rcpps %xmm2, %xmm3 - cmpnlepd MaxNorm+__svml_dlog10_data_internal(%rip), %xmm7 - cvtps2pd %xmm3, %xmm12 + /* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm1, %xmm2 + cmpltpd MinNorm+__svml_dlog10_data_internal(%rip), %xmm8 + movlhps %xmm2, %xmm2 + movaps %xmm0, %xmm7 + rcpps %xmm2, %xmm3 + cmpnlepd MaxNorm+__svml_dlog10_data_internal(%rip), %xmm7 + cvtps2pd %xmm3, %xmm12 -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - movups .FLT_12(%rip), %xmm4 - orps %xmm7, %xmm8 - addpd %xmm4, %xmm12 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_12(%rip), %xmm4 + orps %xmm7, %xmm8 + addpd %xmm4, %xmm12 -/* combine and get argument value range mask */ - movmskpd %xmm8, %edx + /* combine and get argument value range mask */ + movmskpd %xmm8, %edx -/* argument reduction */ - movups HalfMask+__svml_dlog10_data_internal(%rip), %xmm9 - subpd %xmm4, %xmm12 - andps %xmm1, %xmm9 + /* argument reduction */ + movups HalfMask+__svml_dlog10_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_dlog10_data_internal(%rip), %xmm9 - addpd %xmm9, %xmm1 + /* + * prepare table index + * table lookup + */ + movaps %xmm12, %xmm10 + subpd %xmm9, %xmm1 + mulpd %xmm12, %xmm9 + mulpd %xmm12, %xmm1 + subpd One+__svml_dlog10_data_internal(%rip), %xmm9 + addpd %xmm9, %xmm1 -/* polynomial */ - movups poly_coeff+__svml_dlog10_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_dlog10_data_internal(%rip), %xmm15 - mulpd %xmm1, %xmm10 - addpd poly_coeff+16+__svml_dlog10_data_internal(%rip), %xmm14 - mulpd %xmm1, %xmm15 - mulpd %xmm10, %xmm14 - addpd poly_coeff+48+__svml_dlog10_data_internal(%rip), %xmm15 - movd %xmm11, %ecx + /* polynomial */ + movups poly_coeff+__svml_dlog10_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_dlog10_data_internal(%rip), %xmm15 + mulpd %xmm1, %xmm10 + addpd poly_coeff+16+__svml_dlog10_data_internal(%rip), %xmm14 + mulpd %xmm1, %xmm15 + mulpd %xmm10, %xmm14 + addpd poly_coeff+48+__svml_dlog10_data_internal(%rip), %xmm15 + movd %xmm11, %ecx -/* exponent*log(2.0) */ - movups Threshold+__svml_dlog10_data_internal(%rip), %xmm13 - addpd %xmm14, %xmm15 - cmpltpd %xmm12, %xmm13 - mulpd %xmm15, %xmm10 - pshufd $221, %xmm5, %xmm6 - movups poly_coeff+64+__svml_dlog10_data_internal(%rip), %xmm11 + /* exponent*log(2.0) */ + movups Threshold+__svml_dlog10_data_internal(%rip), %xmm13 + addpd %xmm14, %xmm15 + cmpltpd %xmm12, %xmm13 + mulpd %xmm15, %xmm10 + pshufd $221, %xmm5, %xmm6 + movups poly_coeff+64+__svml_dlog10_data_internal(%rip), %xmm11 -/* biased exponent in DP format */ - cvtdq2pd %xmm6, %xmm3 - mulpd %xmm1, %xmm11 - andps Bias+__svml_dlog10_data_internal(%rip), %xmm13 - orps Bias1+__svml_dlog10_data_internal(%rip), %xmm13 - subpd %xmm13, %xmm3 - addpd %xmm10, %xmm11 - mulpd L2+__svml_dlog10_data_internal(%rip), %xmm3 - movslq %eax, %rax - movslq %ecx, %rcx - movsd (%rsi,%rax), %xmm2 - movhpd (%rsi,%rcx), %xmm2 + /* biased exponent in DP format */ + cvtdq2pd %xmm6, %xmm3 + mulpd %xmm1, %xmm11 + andps Bias+__svml_dlog10_data_internal(%rip), %xmm13 + orps Bias1+__svml_dlog10_data_internal(%rip), %xmm13 + subpd %xmm13, %xmm3 + addpd %xmm10, %xmm11 + mulpd L2+__svml_dlog10_data_internal(%rip), %xmm3 + movslq %eax, %rax + movslq %ecx, %rcx + movsd (%rsi, %rax), %xmm2 + movhpd (%rsi, %rcx), %xmm2 -/* reconstruction */ - addpd %xmm11, %xmm2 - addpd %xmm2, %xmm3 - testl %edx, %edx + /* 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 + /* 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 - */ + /* 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) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm3, 48(%rsp) - # LOE rbx r12 r13 r14 r15 edx + 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 + 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 - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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 + 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 + /* 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 fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call log10@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call log10@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN2v_log10_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dlog10_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 Log_HA_table[(1<<9)+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]; - __declspec(align(16)) VUINT32 L2[2][2]; + __declspec(align(16)) VUINT32 Log_HA_table[(1<<9)+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]; + __declspec(align(16)) VUINT32 L2[2][2]; } __svml_dlog10_data_internal; #endif __svml_dlog10_data_internal: - /* Log_HA_table */ - .quad 0xc0733a7146f6b080, 0xbe1e707ce619c200 - .quad 0xc0733a7547771970, 0xbe1e79c6c06d6f51 - .quad 0xc0733a7945aacb70, 0xbe1e78e225fad29c - .quad 0xc0733a7d41946970, 0xbe1e76d607f9693b - .quad 0xc0733a813b3691f0, 0xbe1e7704b3e0685b - .quad 0xc0733a853293df00, 0xbe1e79c1216a27fa - .quad 0xc0733a8927aee660, 0xbe1e76dce5734a81 - .quad 0xc0733a8d1a8a3920, 0xbe1e782ee2ca4dba - .quad 0xc0733a910b286430, 0xbe1e7812d1a0a61f - .quad 0xc0733a94f98bf010, 0xbe1e77e1b5ecbc61 - .quad 0xc0733a98e5b76100, 0xbe1e76635cac1586 - .quad 0xc0733a9ccfad36f0, 0xbe1e7638f7968f32 - .quad 0xc0733aa0b76feda0, 0xbe1e7840ee76e365 - .quad 0xc0733aa49d01fcb0, 0xbe1e79f3fd01907e - .quad 0xc0733aa88065d7a0, 0xbe1e77bbb3a9c38a - .quad 0xc0733aac619dedb0, 0xbe1e7742719bf41d - .quad 0xc0733ab040acaa20, 0xbe1e79bcedaf79cb - .quad 0xc0733ab41d947450, 0xbe1e762d63cb7ca0 - .quad 0xc0733ab7f857af50, 0xbe1e77a07be83403 - .quad 0xc0733abbd0f8ba80, 0xbe1e7763ff836ad0 - .quad 0xc0733abfa779f130, 0xbe1e7737720ead39 - .quad 0xc0733ac37bddaad0, 0xbe1e7776a08e55e7 - .quad 0xc0733ac74e263af0, 0xbe1e793e3c52dd36 - .quad 0xc0733acb1e55f160, 0xbe1e788a94695051 - .quad 0xc0733aceec6f1a10, 0xbe1e76508114a813 - .quad 0xc0733ad2b873fd20, 0xbe1e76909457d23e - .quad 0xc0733ad68266df10, 0xbe1e7664a24f9ca4 - .quad 0xc0733ada4a4a0090, 0xbe1e7a07b3d44b18 - .quad 0xc0733ade101f9ee0, 0xbe1e76d87594704d - .quad 0xc0733ae1d3e9f340, 0xbe1e79563595a182 - .quad 0xc0733ae595ab33b0, 0xbe1e771880c3c6ab - .quad 0xc0733ae955659250, 0xbe1e78c171f517d4 - .quad 0xc0733aed131b3df0, 0xbe1e77eac3874666 - .quad 0xc0733af0cece61b0, 0xbe1e790db479d8f6 - .quad 0xc0733af488812550, 0xbe1e7965d1aa5c90 - .quad 0xc0733af84035ad10, 0xbe1e78ceb398ba47 - .quad 0xc0733afbf5ee19c0, 0xbe1e779cc0dcb5aa - .quad 0xc0733affa9ac88c0, 0xbe1e7871053953ed - .quad 0xc0733b035b731420, 0xbe1e7a082cffa71a - .quad 0xc0733b070b43d2a0, 0xbe1e7904b4382fad - .quad 0xc0733b0ab920d790, 0xbe1e79b458d0b4f3 - .quad 0xc0733b0e650c3310, 0xbe1e79d0ded414c6 - .quad 0xc0733b120f07f200, 0xbe1e763c357a1943 - .quad 0xc0733b15b7161dd0, 0xbe1e78b80ba6daaa - .quad 0xc0733b195d38bd00, 0xbe1e7998e23b8ffd - .quad 0xc0733b1d0171d2c0, 0xbe1e7974aa65ee8c - .quad 0xc0733b20a3c35f20, 0xbe1e76ccfde752ab - .quad 0xc0733b24442f5ef0, 0xbe1e77b4ff19debb - .quad 0xc0733b27e2b7cc10, 0xbe1e7772ee478542 - .quad 0xc0733b2b7f5e9d30, 0xbe1e781d81b58b44 - .quad 0xc0733b2f1a25c600, 0xbe1e78350d967565 - .quad 0xc0733b32b30f3720, 0xbe1e783888e48152 - .quad 0xc0733b364a1cde30, 0xbe1e78367bf7c111 - .quad 0xc0733b39df50a5d0, 0xbe1e7959e57ca47d - .quad 0xc0733b3d72ac75c0, 0xbe1e777322423222 - .quad 0xc0733b41043232b0, 0xbe1e767ce42a60aa - .quad 0xc0733b4493e3be70, 0xbe1e781d445aea19 - .quad 0xc0733b4821c2f800, 0xbe1e7922fca18e18 - .quad 0xc0733b4badd1bb80, 0xbe1e76fed3d40647 - .quad 0xc0733b4f3811e210, 0xbe1e793948c9eabc - .quad 0xc0733b52c0854240, 0xbe1e76e487656b8c - .quad 0xc0733b56472daf90, 0xbe1e780ab2f71223 - .quad 0xc0733b59cc0cfaf0, 0xbe1e77189120b09c - .quad 0xc0733b5d4f24f270, 0xbe1e7644a0343a12 - .quad 0xc0733b60d0776160, 0xbe1e78f2a3e4733d - .quad 0xc0733b6450061080, 0xbe1e7913b2f73ae5 - .quad 0xc0733b67cdd2c5c0, 0xbe1e7882d08393b5 - .quad 0xc0733b6b49df4470, 0xbe1e765e1b209979 - .quad 0xc0733b6ec42d4d20, 0xbe1e785c9c4620d4 - .quad 0xc0733b75b394f240, 0xbe1e78878cd0e956 - .quad 0xc0733b7c9c178630, 0xbe1e789a4112d90b - .quad 0xc0733b837dc2b0f0, 0xbe1e79050b8a1766 - .quad 0xc0733b8a58a3f220, 0xbe1e7790dffc47aa - .quad 0xc0733b912cc8a180, 0xbe1e77174593b06a - .quad 0xc0733b97fa3defb0, 0xbe1e7677de2d2ecc - .quad 0xc0733b9ec110e6b0, 0xbe1e76cff477ca18 - .quad 0xc0733ba5814e6a80, 0xbe1e78f8644dec7b - .quad 0xc0733bac3b0339d0, 0xbe1e764e1361788d - .quad 0xc0733bb2ee3bee30, 0xbe1e78c913e738de - .quad 0xc0733bb99b04fd30, 0xbe1e76666f5bddaa - .quad 0xc0733bc0416ab850, 0xbe1e77e87cbd8ab6 - .quad 0xc0733bc6e1794e10, 0xbe1e76f18ba1c966 - .quad 0xc0733bcd7b3cca10, 0xbe1e777c9461b8db - .quad 0xc0733bd40ec115d0, 0xbe1e78b78526ffac - .quad 0xc0733bda9c11f920, 0xbe1e7942abecfede - .quad 0xc0733be1233b1aa0, 0xbe1e76d8a684fd8c - .quad 0xc0733be7a4480010, 0xbe1e79622b539ac9 - .quad 0xc0733bee1f440f30, 0xbe1e7978e7cc20ea - .quad 0xc0733bf4943a8de0, 0xbe1e765c9c9de825 - .quad 0xc0733bfb0336a290, 0xbe1e775d8b138ee2 - .quad 0xc0733c016c435500, 0xbe1e78bf33465c2f - .quad 0xc0733c07cf6b8e80, 0xbe1e78164f7cc441 - .quad 0xc0733c0e2cba1a50, 0xbe1e7824e64d0b23 - .quad 0xc0733c148439a630, 0xbe1e78373ae7dd81 - .quad 0xc0733c1ad5f4c2c0, 0xbe1e7704513e0afe - .quad 0xc0733c2121f5e3d0, 0xbe1e7914aa84200f - .quad 0xc0733c2768476110, 0xbe1e76b1cde25cf6 - .quad 0xc0733c2da8f37600, 0xbe1e796120e3862d - .quad 0xc0733c33e40442e0, 0xbe1e78ec836d7e7b - .quad 0xc0733c3a1983cca0, 0xbe1e77fb13b7dabb - .quad 0xc0733c40497bfd70, 0xbe1e783c6fcb2404 - .quad 0xc0733c4673f6a530, 0xbe1e7628bb93dce8 - .quad 0xc0733c4c98fd7990, 0xbe1e7857a47b5001 - .quad 0xc0733c52b89a16d0, 0xbe1e76708dc2831f - .quad 0xc0733c58d2d5ffa0, 0xbe1e77b6038651f1 - .quad 0xc0733c5ee7ba9de0, 0xbe1e792e855bb5b2 - .quad 0xc0733c64f75142d0, 0xbe1e776cacd5c105 - .quad 0xc0733c6b01a32740, 0xbe1e77f8a8011315 - .quad 0xc0733c7106b96c30, 0xbe1e765cf3efcfde - .quad 0xc0733c77069d1ad0, 0xbe1e78d837d2efac - .quad 0xc0733c7d01572530, 0xbe1e78b615cf772c - .quad 0xc0733c82f6f06640, 0xbe1e7650bbbd7a25 - .quad 0xc0733c88e771a220, 0xbe1e78bcf3495872 - .quad 0xc0733c8ed2e386c0, 0xbe1e792266832e84 - .quad 0xc0733c94b94eabd0, 0xbe1e79c1c3c2ca52 - .quad 0xc0733c9a9abb9340, 0xbe1e78aa61e5807d - .quad 0xc0733ca07732a970, 0xbe1e7620fc4cf156 - .quad 0xc0733ca64ebc4570, 0xbe1e76b914a832c5 - .quad 0xc0733cac2160a970, 0xbe1e79227f72020e - .quad 0xc0733cb1ef280300, 0xbe1e77ac972cc008 - .quad 0xc0733cb7b81a6b10, 0xbe1e798089be41f4 - .quad 0xc0733cbd7c3fe6a0, 0xbe1e77942ae037fe - .quad 0xc0733cc33ba06690, 0xbe1e7956ae6463d9 - .quad 0xc0733cc8f643c850, 0xbe1e7918a50c7942 - .quad 0xc0733cceac31d5d0, 0xbe1e78308eeab604 - .quad 0xc0733cd45d7245e0, 0xbe1e76dd4ea88445 - .quad 0xc0733cda0a0cbc60, 0xbe1e77e7c1aa5909 - .quad 0xc0733cdfb208caa0, 0xbe1e7804b9d20e54 - .quad 0xc0733ce5556def70, 0xbe1e78f88e99d49c - .quad 0xc0733ceaf4439780, 0xbe1e787d74682d68 - .quad 0xc0733cf08e911d80, 0xbe1e76edc24fe6e7 - .quad 0xc0733cf6245dca50, 0xbe1e79b347ec86d2 - .quad 0xc0733cfbb5b0d580, 0xbe1e797cceb2c39b - .quad 0xc0733d0142916530, 0xbe1e783adbdc6aa1 - .quad 0xc0733d06cb068e70, 0xbe1e76e4c20e3d9e - .quad 0xc0733d0c4f175570, 0xbe1e77070bf3cf61 - .quad 0xc0733d11cecaadc0, 0xbe1e781c43502734 - .quad 0xc0733d174a277a80, 0xbe1e78b11268ea72 - .quad 0xc0733d1cc1348e90, 0xbe1e7754b83bfc7d - .quad 0xc0733d2233f8acb0, 0xbe1e7756c29bf5e9 - .quad 0xc0733d27a27a87d0, 0xbe1e7952fc1d9333 - .quad 0xc0733d2d0cc0c350, 0xbe1e778c76ae6077 - .quad 0xc0733d3272d1f2e0, 0xbe1e7a1896ba8f43 - .quad 0xc0733d37d4b49b30, 0xbe1e76dafdf432d8 - .quad 0xc0733d3d326f3180, 0xbe1e795330184013 - .quad 0xc0733d428c081c80, 0xbe1e763cc774d30f - .quad 0xc0733d47e185b3d0, 0xbe1e77030a779c0a - .quad 0xc0733d4d32ee40b0, 0xbe1e7908af2a2d7e - .quad 0xc0733d528047fe00, 0xbe1e78c4953b797d - .quad 0xc0733d57c9991850, 0xbe1e78b43b096579 - .quad 0xc0733d5d0ee7ae30, 0xbe1e7824ae0a4804 - .quad 0xc0733d625039d040, 0xbe1e79d2b2fbb740 - .quad 0xc0733d678d958190, 0xbe1e7662de59a1a6 - .quad 0xc0733d6cc700b760, 0xbe1e76b251d59aaa - .quad 0xc0733d71fc8159b0, 0xbe1e7a00cfd1f487 - .quad 0xc0733d772e1d4360, 0xbe1e77f4d246167e - .quad 0xc0733d7c5bda4200, 0xbe1e767a4ee8e6fc - .quad 0xc0733d8185be1640, 0xbe1e777ccf0a8aed - .quad 0xc0733d86abce7420, 0xbe1e767d7e279ada - .quad 0xc0733d8bce1102d0, 0xbe1e7a05cef4bb90 - .quad 0xc0733d90ec8b5d40, 0xbe1e78f75369be5b - .quad 0xc0733d96074311d0, 0xbe1e77b9612e8c8a - .quad 0xc0733d9b1e3da2b0, 0xbe1e794518b9adeb - .quad 0xc0733da031808620, 0xbe1e7810626fb934 - .quad 0xc0733da541112650, 0xbe1e76d87223fa6d - .quad 0xc0733daa4cf4e1a0, 0xbe1e794c5e7ca3b5 - .quad 0xc0733daf55310af0, 0xbe1e789856ef816f - .quad 0xc0733db459cae970, 0xbe1e77d2004effbd - .quad 0xc0733db95ac7b8f0, 0xbe1e78467d31eb9c - .quad 0xc0733dbe582caa00, 0xbe1e79aaa4e25787 - .quad 0xc0733dc351fee220, 0xbe1e762de8f107bf - .quad 0xc0733dc848437b90, 0xbe1e7670670a63fe - .quad 0xc0733dcd3aff85d0, 0xbe1e795ca237c6cc - .quad 0xc0733dd22a3805b0, 0xbe1e77e55c53c1d9 - .quad 0xc0733dd715f1f520, 0xbe1e78a806213ac4 - .quad 0xc0733ddbfe3243b0, 0xbe1e77743a2bc615 - .quad 0xc0733de0e2fdd660, 0xbe1e78b8b45b0b7d - .quad 0xc0733de5c4598800, 0xbe1e78d635f2f4b9 - .quad 0xc0733deaa24a2920, 0xbe1e7758c396a11e - .quad 0xc0733def7cd48020, 0xbe1e7a17a8cc454c - .quad 0xc0733df453fd49a0, 0xbe1e783caa73f616 - .quad 0xc0733df927c93820, 0xbe1e7932cfa29664 - .quad 0xc0733dfdf83cf490, 0xbe1e777d265c72a6 - .quad 0xc0733e02c55d1e10, 0xbe1e7775e7c03c60 - .quad 0xc0733e078f2e4a40, 0xbe1e79f65d52d232 - .quad 0xc0733e0c55b50570, 0xbe1e76e7e7464b4e - .quad 0xc0733e1118f5d250, 0xbe1e77be81cad877 - .quad 0xc0733e15d8f52a80, 0xbe1e79dd25b5fb3a - .quad 0xc0733e1a95b77e80, 0xbe1e78e45f1418ef - .quad 0xc0733e1f4f4135a0, 0xbe1e78eb7289505b - .quad 0xc0733e240596ae50, 0xbe1e78a468c07cad - .quad 0xc0733e28b8bc3e20, 0xbe1e776b558a4009 - .quad 0xc0733e2d68b631d0, 0xbe1e77412eb9941e - .quad 0xc0733e321588cd80, 0xbe1e76b2853f845e - .quad 0xc0733e36bf384cb0, 0xbe1e76aa7184273c - .quad 0xc0733e3b65c8e260, 0xbe1e7832027f78fa - .quad 0xc0733e40093eb930, 0xbe1e7a1c7da131f5 - .quad 0xc0733e44a99df380, 0xbe1e76a0bc2ae4bc - .quad 0xc0733e4946eaab30, 0xbe1e78dff13b6f5d - .quad 0xc0733e4de128f250, 0xbe1e765a226dea2c - .quad 0xc0733e52785cd290, 0xbe1e78509b989111 - .quad 0xc0733e570c8a4de0, 0xbe1e7916a4e9803d - .quad 0xc0733e5b9db55e30, 0xbe1e7950c15758cc - .quad 0xc0733e602be1f5a0, 0xbe1e7922ba1ad420 - .quad 0xc0733e64b713fe90, 0xbe1e794cbaabcef6 - .quad 0xc0733e693f4f5bc0, 0xbe1e7837bf883fed - .quad 0xc0733e6dc497e850, 0xbe1e76f198ddbbdf - .quad 0xc0733e7246f177d0, 0xbe1e7a18c1067764 - .quad 0xc0733e76c65fd6a0, 0xbe1e76b845a8fd9d - .quad 0xc0733e7b42e6c970, 0xbe1e7714012df506 - .quad 0xc0733e7fbc8a0de0, 0xbe1e7765612922cd - .quad 0xc0733e84334d5a50, 0xbe1e7688f5424a00 - .quad 0xc0733e88a7345df0, 0xbe1e769d011f6663 - .quad 0xc0733e8d1842c0e0, 0xbe1e79914acbfaf7 - .quad 0xc0733e91867c2460, 0xbe1e79a85e189bd7 - .quad 0xc0733e95f1e422a0, 0xbe1e79ea7c726432 - .quad 0xc0733e9a5a7e4f10, 0xbe1e768a6fbb8e6e - .quad 0xc0733e9ec04e3620, 0xbe1e793c75bcc9fc - .quad 0xc0733ea323575dd0, 0xbe1e797f78da13d4 - .quad 0xc0733ea7839d4550, 0xbe1e78d8c9cda978 - .quad 0xc0733eabe1236540, 0xbe1e77028d480fff - .quad 0xc0733eb03bed2fa0, 0xbe1e7a0d0f74ff7c - .quad 0xc0733eb493fe1040, 0xbe1e76732e8a35fb - .quad 0xc0733eb8e9596c30, 0xbe1e77220caeabeb - .quad 0xc0733ebd3c02a260, 0xbe1e797438b645ef - .quad 0xc0733ec18bfd0b80, 0xbe1e79207c5fd6e8 - .quad 0xc0733ec5d94bf9f0, 0xbe1e781c7df8f946 - .quad 0xc0733eca23f2b9f0, 0xbe1e76736284e2db - .quad 0xc0733ece6bf49190, 0xbe1e7a109cc0c3f5 - .quad 0xc0733ed2b154c120, 0xbe1e767f14a16d50 - .quad 0xc0733ed6f4168290, 0xbe1e789cd22acaf0 - .quad 0xc0733edb343d0a40, 0xbe1e764355ca28ad - .quad 0xc0733edf71cb8660, 0xbe1e79e4c7a81c45 - .quad 0xc0733ee3acc51fb0, 0xbe1e761e26b644c2 - .quad 0xc0733ee7e52cf8c0, 0xbe1e793e9f8fbdd3 - .quad 0xc0733eec1b062ed0, 0xbe1e78c432991c20 - .quad 0xc0733ef04e53d940, 0xbe1e78cdd025f4d8 - .quad 0xc0733ef47f1909f0, 0xbe1e778310c6446e - .quad 0xc0733ef8ad58cd20, 0xbe1e7871af3d6e17 - .quad 0xc0733efcd91629b0, 0xbe1e77e0e906f697 - .quad 0xc0733f01025420f0, 0xbe1e7a1ae9b27892 - .quad 0xc0733f052915af00, 0xbe1e76ac64c88f9d - .quad 0xc0733f094d5dca60, 0xbe1e779a815589c4 - .quad 0xc0733f0d6f2f6480, 0xbe1e788f39a4864c - .quad 0xc0733f118e8d6980, 0xbe1e79fc51263525 - .quad 0xc0733f15ab7ac060, 0xbe1e783501f19e90 - .quad 0xc0733f19c5fa4ae0, 0xbe1e767e82c327ab - .quad 0xc0733f1dde0ee5a0, 0xbe1e7a1785d66123 - .quad 0xc0733f21f3bb6870, 0xbe1e7936d07203da - .quad 0xc0733f260702a5e0, 0xbe1e7a010a7ac699 - .quad 0xc0733f2a17e76bb0, 0xbe1e7975e4e16312 - .quad 0xc0733f2e266c82b0, 0xbe1e7654b5422330 - .quad 0xc0733f323294aeb0, 0xbe1e77f8a4909d35 - .quad 0xc0733f363c62aee0, 0xbe1e792c8e30d226 - .quad 0xc0733f3a43d93da0, 0xbe1e76f6ac67a1ff - .quad 0xc0733f3e48fb1070, 0xbe1e775c2e97715a - .quad 0xc0733f424bcad840, 0xbe1e781cd54ae100 - /*== Log_LA_table ==*/ - .align 16 - .quad 0x0000000000000000 - .quad 0xbf4bc48a867884b7 - .quad 0xbf5bbd9e9482af09 - .quad 0xbf64c9096b94befd - .quad 0xbf6bafd47221ed26 - .quad 0xbf714999e2ad8ea6 - .quad 0xbf74b99563d2a1bd - .quad 0xbf7827de6b310350 - .quad 0xbf7b9476a4fcd10f - .quad 0xbf7eff5fbaf25781 - .quad 0xbf81344daa2d7553 - .quad 0xbf82e8158b08d957 - .quad 0xbf849b0851443684 - .quad 0xbf864d26cce610dd - .quad 0xbf87fe71ccc4e6b0 - .quad 0xbf89aeea1e897fdf - .quad 0xbf8b5e908eb13790 - .quad 0xbf8d0d65e890405a - .quad 0xbf8ebb6af653e2ee - .quad 0xbf90345040825bad - .quad 0xbf910a83a8446c78 - .quad 0xbf91e05015d30a71 - .quad 0xbf92b5b5ec0209d3 - .quad 0xbf938ab58d173e91 - .quad 0xbf945f4f5acb8be0 - .quad 0xbf953383b64bf13f - .quad 0xbf960753003a94ef - .quad 0xbf96dabd98afcc05 - .quad 0xbf97adc3df3b1ff8 - .quad 0xbf98806632e451d0 - .quad 0xbf9952a4f22c5ae9 - .quad 0xbf9a24807b0e6b5c - .quad 0xbf9af5f92b00e610 - .quad 0xbf9bc70f5ef65a77 - .quad 0xbf9c97c3735e7c0a - .quad 0xbf9d6815c4271775 - .quad 0xbf9e3806acbd058f - .quad 0xbf9f0796880d1c19 - .quad 0xbf9fd6c5b0851c4c - .quad 0xbfa052ca400a4f9b - .quad 0xbfa0ba01a8170000 - .quad 0xbfa121093ce3a205 - .quad 0xbfa187e12aad8077 - .quad 0xbfa1ee899d74a03e - .quad 0xbfa25502c0fc314c - .quad 0xbfa2bb4cc0cafe8d - .quad 0xbfa32167c82bdcda - .quad 0xbfa38754022e18e2 - .quad 0xbfa3ed1199a5e425 - .quad 0xbfa452a0b92cc0ec - .quad 0xbfa4b8018b21ed4f - .quad 0xbfa51d3439aacd4a - .quad 0xbfa58238eeb353da - .quad 0xbfa5e70fd3ee6b34 - .quad 0xbfa64bb912d65c07 - .quad 0xbfa6b034d4ad33df - .quad 0xbfa71483427d2a99 - .quad 0xbfa778a4851906f3 - .quad 0xbfa7dc98c51c8242 - .quad 0xbfa840602aecab3d - .quad 0xbfa8a3fadeb847f4 - .quad 0xbfa90769087836e4 - .quad 0xbfa96aaacfefcf3c - .quad 0xbfa9cdc05cad4042 - .quad 0xbfaa30a9d609efea - .quad 0xbfaa9367632ad897 - .quad 0xbfaaf5f92b00e610 - .quad 0xbfab585f544951a4 - .quad 0xbfabba9a058dfd84 - .quad 0xbfac1ca96525cf56 - .quad 0xbfac7e8d993509f9 - .quad 0xbface046c7ada68d - .quad 0xbfad41d5164facb4 - .quad 0xbfada338aaa98a0c - .quad 0xbfae0471aa1868f5 - .quad 0xbfae658039c88690 - .quad 0xbfaec6647eb58808 - .quad 0xbfaf271e9daacf20 - .quad 0xbfaf87aebb43ce06 - .quad 0xbfafe814fbec5a77 - .quad 0xbfb02428c1f08016 - .quad 0xbfb054323b97a948 - .quad 0xbfb08426fcdb1ee7 - .quad 0xbfb0b40717932b96 - .quad 0xbfb0e3d29d81165e - .quad 0xbfb11389a04f4a2e - .quad 0xbfb1432c31917d08 - .quad 0xbfb172ba62c4d6de - .quad 0xbfb1a23445501816 - .quad 0xbfb1d199ea83bfbe - .quad 0xbfb200eb639a3173 - .quad 0xbfb23028c1b7daed - .quad 0xbfb25f5215eb594a - .quad 0xbfb28e67712d9dfc - .quad 0xbfb2bd68e4621371 - .quad 0xbfb2ec568056c16f - .quad 0xbfb31b3055c47118 - .quad 0xbfb349f6754ed0b4 - .quad 0xbfb378a8ef84971e - .quad 0xbfb3a747d4dfa6f5 - .quad 0xbfb3d5d335c53179 - .quad 0xbfb4044b2285d925 - .quad 0xbfb432afab5dd3ff - .quad 0xbfb46100e0750da1 - .quad 0xbfb48f3ed1df48fb - .quad 0xbfb4bd698f9c41cf - .quad 0xbfb4eb812997cde4 - .quad 0xbfb51985afa9fdfd - .quad 0xbfb5477731973e85 - .quad 0xbfb57555bf1077f5 - .quad 0xbfb5a32167b32f02 - .quad 0xbfb5d0da3b09a47e - .quad 0xbfb5fe80488af4fd - .quad 0xbfb62c139f9b3837 - .quad 0xbfb659944f8ba02d - .quad 0xbfb68702679a980a - .quad 0xbfb6b45df6f3e2c9 - .quad 0xbfb6e1a70cb0b99a - .quad 0xbfb70eddb7d7ea07 - .quad 0xbfb73c02075df3e5 - .quad 0xbfb769140a2526fd - .quad 0xbfb79613cefdc07d - .quad 0xbfb7c30164a60836 - .quad 0xbfb7efdcd9ca6d8f - .quad 0xbfb81ca63d05a44a - .quad 0xbfb8495d9ce0c10c - .quad 0xbfb8760307d355ab - .quad 0xbfb8a2968c438d41 - .quad 0xbfb8cf183886480d - .quad 0xbfb8fb881adf3713 - .quad 0xbfb927e64180f790 - .quad 0xbfb95432ba8d2e2f - .quad 0xbfb9806d9414a209 - .quad 0xbfb9ac96dc175776 - .quad 0xbfb9d8aea084aa9c - .quad 0xbfba04b4ef3b69d8 - .quad 0xbfba30a9d609efea - .quad 0xbfba5c8d62ae3dec - .quad 0xbfba885fa2d6151e - .quad 0xbfbab420a41f1076 - .quad 0xbfbadfd07416be07 - .quad 0xbfbb0b6f203ab82c - .quad 0xbfbb36fcb5f8be8a - .quad 0xbfbb627942aecedd - .quad 0xbfbb8de4d3ab3d98 - .quad 0xbfbbb93f762cce4f - .quad 0xbfbbe4893762cbf7 - .quad 0xbfbc0fc2246d20f5 - .quad 0xbfbc3aea4a5c6eff - .quad 0xbfbc6601b63226cb - .quad 0xbfbc910874e09f98 - .quad 0xbfbcbbfe934b2e81 - .quad 0xbfbce6e41e463da5 - .quad 0xbfbd11b92297632b - .quad 0xbfbd3c7dacf5780b - .quad 0xbfbd6731ca08aeb9 - .quad 0xbfbd91d5866aa99c - .quad 0xbfbdbc68eea6915b - .quad 0xbfbde6ec0f392b05 - .quad 0xbfbe115ef490ee07 - .quad 0xbfbe3bc1ab0e19fe - .quad 0xbfbe66143f02cc5d - .quad 0xbfbe9056bcb315e8 - .quad 0xbfbeba893055100b - .quad 0xbfbee4aba610f204 - .quad 0xbfbf0ebe2a0125eb - .quad 0xbfbf38c0c8325d86 - .quad 0xbfbf62b38ca3a706 - .quad 0xbfbf8c9683468191 - .quad 0xbfbfb669b7fef1a8 - .quad 0xbfbfe02d36a3956d - .quad 0xbfc004f0857edc5c - .quad 0xbfc019c2a064b486 - .quad 0xbfc02e8cf1dac4b8 - .quad 0xbfc0434f7fb1f307 - .quad 0xbfc0580a4fb4a3df - .quad 0xbfc06cbd67a6c3b6 - .quad 0xbfc08168cd45d0a9 - .quad 0xbfc0960c8648e406 - .quad 0xbfc0aaa89860bbcf - .quad 0xbfc0bf3d0937c41c - .quad 0xbfc0d3c9de722078 - .quad 0xbfc0e84f1dadb526 - .quad 0xbfc0fccccc823059 - .quad 0xbfc11142f0811357 - .quad 0xbfc125b18f35bb8e - .quad 0xbfc13a18ae256b99 - .quad 0xbfc14e7852cf5430 - .quad 0xbfc162d082ac9d10 - .quad 0xbfc1772143306dc6 - .quad 0xbfc18b6a99c7f679 - .quad 0xbfc19fac8bda7897 - .quad 0xbfc1b3e71ec94f7b - .quad 0xbfc1c81a57eff8fd - .quad 0xbfc1dc463ca41df8 - .quad 0xbfc1f06ad2359abd - .quad 0xbfc204881dee8777 - .quad 0xbfc2189e25134081 - .quad 0xbfc22cacece26ead - .quad 0xbfc240b47a950f79 - .quad 0xbfc254b4d35e7d3c - .quad 0xbfc268adfc6c773e - .quad 0xbfc27c9ffae729c1 - .quad 0xbfc2908ad3f13603 - .quad 0xbfc2a46e8ca7ba2a - .quad 0xbfc2b84b2a225923 - .quad 0xbfc2cc20b1734279 - .quad 0xbfc2dfef27a73a18 - .quad 0xbfc2f3b691c5a001 - .quad 0xbfc30776f4d077f7 - .quad 0xbfc31b3055c47118 - .quad 0xbfc32ee2b998ed6e - .quad 0xbfc3428e2540096d - .quad 0x3fc331f403985097 - .quad 0x3fc31e56798a910a - .quad 0x3fc30abfd8f333b6 - .quad 0x3fc2f7301cf4e87b - .quad 0x3fc2e3a740b7800f - .quad 0x3fc2d0253f67e4cb - .quad 0x3fc2bcaa14381386 - .quad 0x3fc2a935ba5f1479 - .quad 0x3fc295c82d18f434 - .quad 0x3fc2826167a6bc9c - .quad 0x3fc26f01654e6df6 - .quad 0x3fc25ba8215af7fc - .quad 0x3fc24855971c3307 - .quad 0x3fc23509c1e6d937 - .quad 0x3fc221c49d147fb3 - .quad 0x3fc20e8624038fed - .quad 0x3fc1fb4e521740f4 - .quad 0x3fc1e81d22b790d4 - .quad 0x3fc1d4f291513e01 - .quad 0x3fc1c1ce9955c0c6 - .quad 0x3fc1aeb1363b44c8 - .quad 0x3fc19b9a637ca295 - .quad 0x3fc1888a1c995931 - .quad 0x3fc175805d1587c1 - .quad 0x3fc1627d2079e731 - .quad 0x3fc14f806253c3ed - .quad 0x3fc13c8a1e34f7a0 - .quad 0x3fc1299a4fb3e306 - .quad 0x3fc116b0f26b67bb - .quad 0x3fc103ce01fae223 - .quad 0x3fc0f0f17a062353 - .quad 0x3fc0de1b56356b04 - .quad 0x3fc0cb4b9235619a - .quad 0x3fc0b88229b71227 - .quad 0x3fc0a5bf186fe483 - .quad 0x3fc093025a19976c - .quad 0x3fc0804bea723aa9 - .quad 0x3fc06d9bc53c2941 - .quad 0x3fc05af1e63e03b4 - .quad 0x3fc0484e4942aa43 - .quad 0x3fc035b0ea19373b - .quad 0x3fc02319c494f951 - .quad 0x3fc01088d48d6e03 - .quad 0x3fbffbfc2bbc7803 - .quad 0x3fbfd6f308ce5b52 - .quad 0x3fbfb1f6381856f4 - .quad 0x3fbf8d05b16a6d47 - .quad 0x3fbf68216c9cc727 - .quad 0x3fbf4349618fa91a - .quad 0x3fbf1e7d882b689a - .quad 0x3fbef9bdd860616b - .quad 0x3fbed50a4a26eafc - .quad 0x3fbeb062d57f4de8 - .quad 0x3fbe8bc77271b97a - .quad 0x3fbe6738190e394c - .quad 0x3fbe42b4c16caaf3 - .quad 0x3fbe1e3d63acb3ba - .quad 0x3fbdf9d1f7f5b674 - .quad 0x3fbdd5727676c959 - .quad 0x3fbdb11ed766abf4 - .quad 0x3fbd8cd71303bd26 - .quad 0x3fbd689b2193f133 - .quad 0x3fbd446afb64c7e5 - .quad 0x3fbd204698cb42bd - .quad 0x3fbcfc2df223db2d - .quad 0x3fbcd820ffd278f3 - .quad 0x3fbcb41fba42686d - .quad 0x3fbc902a19e65111 - .quad 0x3fbc6c4017382bea - .quad 0x3fbc4861aab93a23 - .quad 0x3fbc248eccf1fba6 - .quad 0x3fbc00c7767225cb - .quad 0x3fbbdd0b9fd09a10 - .quad 0x3fbbb95b41ab5ce6 - .quad 0x3fbb95b654a78c87 - .quad 0x3fbb721cd17157e3 - .quad 0x3fbb4e8eb0bbf58f - .quad 0x3fbb2b0beb419ad0 - .quad 0x3fbb079479c372ad - .quad 0x3fbae4285509950b - .quad 0x3fbac0c775e2fde6 - .quad 0x3fba9d71d5258484 - .quad 0x3fba7a276badd2c8 - .quad 0x3fba56e8325f5c87 - .quad 0x3fba33b4222456f1 - .quad 0x3fba108b33edb005 - .quad 0x3fb9ed6d60b30612 - .quad 0x3fb9ca5aa1729f45 - .quad 0x3fb9a752ef316149 - .quad 0x3fb9845642fac8f0 - .quad 0x3fb9616495e0e1e8 - .quad 0x3fb93e7de0fc3e80 - .quad 0x3fb91ba21d6bef77 - .quad 0x3fb8f8d144557bdf - .quad 0x3fb8d60b4ee4d901 - .quad 0x3fb8b350364c6257 - .quad 0x3fb8909ff3c4d191 - .quad 0x3fb86dfa808d36a0 - .quad 0x3fb84b5fd5eaefd8 - .quad 0x3fb828cfed29a215 - .quad 0x3fb8064abf9b30f1 - .quad 0x3fb7e3d04697b704 - .quad 0x3fb7c1607b7d7e32 - .quad 0x3fb79efb57b0f803 - .quad 0x3fb77ca0d49cb608 - .quad 0x3fb75a50ebb1624a - .quad 0x3fb7380b9665b7c8 - .quad 0x3fb715d0ce367afc - .quad 0x3fb6f3a08ca67270 - .quad 0x3fb6d17acb3e5f5e - .quad 0x3fb6af5f838cf654 - .quad 0x3fb68d4eaf26d7ee - .quad 0x3fb66b4847a68997 - .quad 0x3fb6494c46ac6e4d - .quad 0x3fb6275aa5debf81 - .quad 0x3fb605735ee985f1 - .quad 0x3fb5e3966b7e9295 - .quad 0x3fb5c1c3c5557799 - .quad 0x3fb59ffb662b815c - .quad 0x3fb57e3d47c3af7b - .quad 0x3fb55c8963e6adeb - .quad 0x3fb53adfb462ce16 - .quad 0x3fb51940330c000b - .quad 0x3fb4f7aad9bbcbaf - .quad 0x3fb4d61fa2514a00 - .quad 0x3fb4b49e86b11e5f - .quad 0x3fb4932780c56fe2 - .quad 0x3fb471ba8a7de2b7 - .quad 0x3fb450579dcf9186 - .quad 0x3fb42efeb4b506e9 - .quad 0x3fb40dafc92e36e2 - .quad 0x3fb3ec6ad5407868 - .quad 0x3fb3cb2fd2f67ef1 - .quad 0x3fb3a9febc60540a - .quad 0x3fb388d78b9350ff - .quad 0x3fb367ba3aaa1883 - .quad 0x3fb346a6c3c49066 - .quad 0x3fb3259d2107db54 - .quad 0x3fb3049d4c9e52a0 - .quad 0x3fb2e3a740b7800f - .quad 0x3fb2c2baf78817b7 - .quad 0x3fb2a1d86b49f1e2 - .quad 0x3fb280ff963c04fc - .quad 0x3fb2603072a25f82 - .quad 0x3fb23f6afac6220a - .quad 0x3fb21eaf28f57941 - .quad 0x3fb1fdfcf7839804 - .quad 0x3fb1dd5460c8b16f - .quad 0x3fb1bcb55f21f307 - .quad 0x3fb19c1fecf17ee0 - .quad 0x3fb17b94049e65d0 - .quad 0x3fb15b11a094a1aa - .quad 0x3fb13a98bb450f81 - .quad 0x3fb11a294f2569f6 - .quad 0x3fb0f9c356b04389 - .quad 0x3fb0d966cc6500fa - .quad 0x3fb0b913aac7d3a7 - .quad 0x3fb098c9ec61b3ff - .quad 0x3fb078898bc05bf4 - .quad 0x3fb0585283764178 - .quad 0x3fb03824ce1a9101 - .quad 0x3fb0180066492817 - .quad 0x3fafefca8d451fd6 - .quad 0x3fafafa6d397efdb - .quad 0x3faf6f9594de60f0 - .quad 0x3faf2f96c6754aee - .quad 0x3faeefaa5dc2b239 - .quad 0x3faeafd05035bd3b - .quad 0x3fae70089346a9e6 - .quad 0x3fae30531c76c34a - .quad 0x3fadf0afe1505738 - .quad 0x3fadb11ed766abf4 - .quad 0x3fad719ff455f5f7 - .quad 0x3fad32332dc34dbd - .quad 0x3facf2d8795ca5a5 - .quad 0x3facb38fccd8bfdb - .quad 0x3fac74591df72456 - .quad 0x3fac3534628016dd - .quad 0x3fabf62190448d22 - .quad 0x3fabb7209d1e24e5 - .quad 0x3fab78317eef1a29 - .quad 0x3fab39542ba23d73 - .quad 0x3faafa88992aea19 - .quad 0x3faabbcebd84fca0 - .quad 0x3faa7d268eb4c924 - .quad 0x3faa3e9002c711d2 - .quad 0x3faa000b0fd0fd6b - .quad 0x3fa9c197abf00dd7 - .quad 0x3fa98335cd4a16c3 - .quad 0x3fa944e56a0d3450 - .quad 0x3fa906a6786fc1cb - .quad 0x3fa8c878eeb05074 - .quad 0x3fa88a5cc3159e53 - .quad 0x3fa84c51ebee8d15 - .quad 0x3fa80e585f9218fc - .quad 0x3fa7d070145f4fd7 - .quad 0x3fa7929900bd4809 - .quad 0x3fa754d31b1b179c - .quad 0x3fa7171e59efcb5f - .quad 0x3fa6d97ab3ba5e10 - .quad 0x3fa69be81f01af99 - .quad 0x3fa65e6692547c4e - .quad 0x3fa620f604495440 - .quad 0x3fa5e3966b7e9295 - .quad 0x3fa5a647be9a54f6 - .quad 0x3fa56909f44a72fe - .quad 0x3fa52bdd034475b8 - .quad 0x3fa4eec0e2458f30 - .quad 0x3fa4b1b588129203 - .quad 0x3fa474baeb77e904 - .quad 0x3fa437d103498eec - .quad 0x3fa3faf7c663060e - .quad 0x3fa3be2f2ba7501f - .quad 0x3fa381772a00e604 - .quad 0x3fa344cfb861afae - .quad 0x3fa30838cdc2fbfd - .quad 0x3fa2cbb2612578b4 - .quad 0x3fa28f3c69912a74 - .quad 0x3fa252d6de1564c1 - .quad 0x3fa21681b5c8c213 - .quad 0x3fa1da3ce7c91bf8 - .quad 0x3fa19e086b3b8333 - .quad 0x3fa161e4374c37f4 - .quad 0x3fa125d0432ea20e - .quad 0x3fa0e9cc861d4944 - .quad 0x3fa0add8f759cd95 - .quad 0x3fa071f58e2cdf9b - .quad 0x3fa0362241e638ec - .quad 0x3f9ff4be13b92920 - .quad 0x3f9f7d57badb4ee8 - .quad 0x3f9f061167fc31e8 - .quad 0x3f9e8eeb09f2f6cb - .quad 0x3f9e17e48fa48962 - .quad 0x3f9da0fde8038de9 - .quad 0x3f9d2a3702105259 - .quad 0x3f9cb38fccd8bfdb - .quad 0x3f9c3d0837784c41 - .quad 0x3f9bc6a03117eb97 - .quad 0x3f9b5057a8ee01ce - .quad 0x3f9ada2e8e3e546f - .quad 0x3f9a6424d059fc68 - .quad 0x3f99ee3a5e9f57e8 - .quad 0x3f99786f2879fc53 - .quad 0x3f9902c31d62a843 - .quad 0x3f988d362cdf359e - .quad 0x3f9817c846828bbd - .quad 0x3f97a27959ec91aa - .quad 0x3f972d4956ca2067 - .quad 0x3f96b8382cd4f551 - .quad 0x3f964345cbd3a491 - .quad 0x3f95ce7223998b98 - .quad 0x3f9559bd2406c3ba - .quad 0x3f94e526bd0814d1 - .quad 0x3f9470aede96e7f2 - .quad 0x3f93fc5578b93a38 - .quad 0x3f93881a7b818f9e - .quad 0x3f9313fdd70ee5e8 - .quad 0x3f929fff7b8ca79d - .quad 0x3f922c1f59329f1b - .quad 0x3f91b85d6044e9ae - .quad 0x3f9144b98113eac0 - .quad 0x3f90d133abfc3f1b - .quad 0x3f905dcbd166b033 - .quad 0x3f8fd503c3904f1d - .quad 0x3f8eeeab9b43445d - .quad 0x3f8e088f0b004827 - .quad 0x3f8d22adf3f9579d - .quad 0x3f8c3d0837784c41 - .quad 0x3f8b579db6dec358 - .quad 0x3f8a726e53a6056e - .quad 0x3f898d79ef5eedf0 - .quad 0x3f88a8c06bb1d2f4 - .quad 0x3f87c441aa5e6d15 - .quad 0x3f86dffd8d3bbf70 - .quad 0x3f85fbf3f637ffc5 - .quad 0x3f851824c7587eb0 - .quad 0x3f84348fe2b99002 - .quad 0x3f8351352a8e733f - .quad 0x3f826e1481213c2e - .quad 0x3f818b2dc8d2bb91 - .quad 0x3f80a880e41a67f6 - .quad 0x3f7f8c1b6b0c8d4e - .quad 0x3f7dc7a83f75a96d - .quad 0x3f7c03a80ae5e054 - .quad 0x3f7a401a92ff827e - .quad 0x3f787cff9d9147a5 - .quad 0x3f76ba56f09621bc - .quad 0x3f74f8205235102d - .quad 0x3f73365b88c0f347 - .quad 0x3f7175085ab85ff0 - .quad 0x3f6f684d1d8ae702 - .quad 0x3f6be76bd77b4fc3 - .quad 0x3f68676c71434fb9 - .quad 0x3f64e84e793a474a - .quad 0x3f616a117e0d4b30 - .quad 0x3f5bd96a1d7d9cbc - .quad 0x3f54e071754c98ba - .quad 0x3f4bd27045bfd025 - .quad 0x3f3bcef518e29612 - .quad 0x8000000000000000 - /*== poly_coeff[5] ==*/ - .align 16 - .quad 0x3fb63C65231FBD16, 0x3fb63C65231FBD16 /* coeff5 */ - .quad 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B /* coeff4 */ - .quad 0x3fc287A7636F341E, 0x3fc287A7636F341E /* coeff3 */ - .quad 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36 /* coeff2 */ - .quad 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E /* 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 - /*== L2 ==*/ - .align 16 - .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff - .align 16 - .type __svml_dlog10_data_internal,@object - .size __svml_dlog10_data_internal,.-__svml_dlog10_data_internal - .space 48, 0x00 - .align 16 + /* Log_HA_table */ + .quad 0xc0733a7146f6b080, 0xbe1e707ce619c200 + .quad 0xc0733a7547771970, 0xbe1e79c6c06d6f51 + .quad 0xc0733a7945aacb70, 0xbe1e78e225fad29c + .quad 0xc0733a7d41946970, 0xbe1e76d607f9693b + .quad 0xc0733a813b3691f0, 0xbe1e7704b3e0685b + .quad 0xc0733a853293df00, 0xbe1e79c1216a27fa + .quad 0xc0733a8927aee660, 0xbe1e76dce5734a81 + .quad 0xc0733a8d1a8a3920, 0xbe1e782ee2ca4dba + .quad 0xc0733a910b286430, 0xbe1e7812d1a0a61f + .quad 0xc0733a94f98bf010, 0xbe1e77e1b5ecbc61 + .quad 0xc0733a98e5b76100, 0xbe1e76635cac1586 + .quad 0xc0733a9ccfad36f0, 0xbe1e7638f7968f32 + .quad 0xc0733aa0b76feda0, 0xbe1e7840ee76e365 + .quad 0xc0733aa49d01fcb0, 0xbe1e79f3fd01907e + .quad 0xc0733aa88065d7a0, 0xbe1e77bbb3a9c38a + .quad 0xc0733aac619dedb0, 0xbe1e7742719bf41d + .quad 0xc0733ab040acaa20, 0xbe1e79bcedaf79cb + .quad 0xc0733ab41d947450, 0xbe1e762d63cb7ca0 + .quad 0xc0733ab7f857af50, 0xbe1e77a07be83403 + .quad 0xc0733abbd0f8ba80, 0xbe1e7763ff836ad0 + .quad 0xc0733abfa779f130, 0xbe1e7737720ead39 + .quad 0xc0733ac37bddaad0, 0xbe1e7776a08e55e7 + .quad 0xc0733ac74e263af0, 0xbe1e793e3c52dd36 + .quad 0xc0733acb1e55f160, 0xbe1e788a94695051 + .quad 0xc0733aceec6f1a10, 0xbe1e76508114a813 + .quad 0xc0733ad2b873fd20, 0xbe1e76909457d23e + .quad 0xc0733ad68266df10, 0xbe1e7664a24f9ca4 + .quad 0xc0733ada4a4a0090, 0xbe1e7a07b3d44b18 + .quad 0xc0733ade101f9ee0, 0xbe1e76d87594704d + .quad 0xc0733ae1d3e9f340, 0xbe1e79563595a182 + .quad 0xc0733ae595ab33b0, 0xbe1e771880c3c6ab + .quad 0xc0733ae955659250, 0xbe1e78c171f517d4 + .quad 0xc0733aed131b3df0, 0xbe1e77eac3874666 + .quad 0xc0733af0cece61b0, 0xbe1e790db479d8f6 + .quad 0xc0733af488812550, 0xbe1e7965d1aa5c90 + .quad 0xc0733af84035ad10, 0xbe1e78ceb398ba47 + .quad 0xc0733afbf5ee19c0, 0xbe1e779cc0dcb5aa + .quad 0xc0733affa9ac88c0, 0xbe1e7871053953ed + .quad 0xc0733b035b731420, 0xbe1e7a082cffa71a + .quad 0xc0733b070b43d2a0, 0xbe1e7904b4382fad + .quad 0xc0733b0ab920d790, 0xbe1e79b458d0b4f3 + .quad 0xc0733b0e650c3310, 0xbe1e79d0ded414c6 + .quad 0xc0733b120f07f200, 0xbe1e763c357a1943 + .quad 0xc0733b15b7161dd0, 0xbe1e78b80ba6daaa + .quad 0xc0733b195d38bd00, 0xbe1e7998e23b8ffd + .quad 0xc0733b1d0171d2c0, 0xbe1e7974aa65ee8c + .quad 0xc0733b20a3c35f20, 0xbe1e76ccfde752ab + .quad 0xc0733b24442f5ef0, 0xbe1e77b4ff19debb + .quad 0xc0733b27e2b7cc10, 0xbe1e7772ee478542 + .quad 0xc0733b2b7f5e9d30, 0xbe1e781d81b58b44 + .quad 0xc0733b2f1a25c600, 0xbe1e78350d967565 + .quad 0xc0733b32b30f3720, 0xbe1e783888e48152 + .quad 0xc0733b364a1cde30, 0xbe1e78367bf7c111 + .quad 0xc0733b39df50a5d0, 0xbe1e7959e57ca47d + .quad 0xc0733b3d72ac75c0, 0xbe1e777322423222 + .quad 0xc0733b41043232b0, 0xbe1e767ce42a60aa + .quad 0xc0733b4493e3be70, 0xbe1e781d445aea19 + .quad 0xc0733b4821c2f800, 0xbe1e7922fca18e18 + .quad 0xc0733b4badd1bb80, 0xbe1e76fed3d40647 + .quad 0xc0733b4f3811e210, 0xbe1e793948c9eabc + .quad 0xc0733b52c0854240, 0xbe1e76e487656b8c + .quad 0xc0733b56472daf90, 0xbe1e780ab2f71223 + .quad 0xc0733b59cc0cfaf0, 0xbe1e77189120b09c + .quad 0xc0733b5d4f24f270, 0xbe1e7644a0343a12 + .quad 0xc0733b60d0776160, 0xbe1e78f2a3e4733d + .quad 0xc0733b6450061080, 0xbe1e7913b2f73ae5 + .quad 0xc0733b67cdd2c5c0, 0xbe1e7882d08393b5 + .quad 0xc0733b6b49df4470, 0xbe1e765e1b209979 + .quad 0xc0733b6ec42d4d20, 0xbe1e785c9c4620d4 + .quad 0xc0733b75b394f240, 0xbe1e78878cd0e956 + .quad 0xc0733b7c9c178630, 0xbe1e789a4112d90b + .quad 0xc0733b837dc2b0f0, 0xbe1e79050b8a1766 + .quad 0xc0733b8a58a3f220, 0xbe1e7790dffc47aa + .quad 0xc0733b912cc8a180, 0xbe1e77174593b06a + .quad 0xc0733b97fa3defb0, 0xbe1e7677de2d2ecc + .quad 0xc0733b9ec110e6b0, 0xbe1e76cff477ca18 + .quad 0xc0733ba5814e6a80, 0xbe1e78f8644dec7b + .quad 0xc0733bac3b0339d0, 0xbe1e764e1361788d + .quad 0xc0733bb2ee3bee30, 0xbe1e78c913e738de + .quad 0xc0733bb99b04fd30, 0xbe1e76666f5bddaa + .quad 0xc0733bc0416ab850, 0xbe1e77e87cbd8ab6 + .quad 0xc0733bc6e1794e10, 0xbe1e76f18ba1c966 + .quad 0xc0733bcd7b3cca10, 0xbe1e777c9461b8db + .quad 0xc0733bd40ec115d0, 0xbe1e78b78526ffac + .quad 0xc0733bda9c11f920, 0xbe1e7942abecfede + .quad 0xc0733be1233b1aa0, 0xbe1e76d8a684fd8c + .quad 0xc0733be7a4480010, 0xbe1e79622b539ac9 + .quad 0xc0733bee1f440f30, 0xbe1e7978e7cc20ea + .quad 0xc0733bf4943a8de0, 0xbe1e765c9c9de825 + .quad 0xc0733bfb0336a290, 0xbe1e775d8b138ee2 + .quad 0xc0733c016c435500, 0xbe1e78bf33465c2f + .quad 0xc0733c07cf6b8e80, 0xbe1e78164f7cc441 + .quad 0xc0733c0e2cba1a50, 0xbe1e7824e64d0b23 + .quad 0xc0733c148439a630, 0xbe1e78373ae7dd81 + .quad 0xc0733c1ad5f4c2c0, 0xbe1e7704513e0afe + .quad 0xc0733c2121f5e3d0, 0xbe1e7914aa84200f + .quad 0xc0733c2768476110, 0xbe1e76b1cde25cf6 + .quad 0xc0733c2da8f37600, 0xbe1e796120e3862d + .quad 0xc0733c33e40442e0, 0xbe1e78ec836d7e7b + .quad 0xc0733c3a1983cca0, 0xbe1e77fb13b7dabb + .quad 0xc0733c40497bfd70, 0xbe1e783c6fcb2404 + .quad 0xc0733c4673f6a530, 0xbe1e7628bb93dce8 + .quad 0xc0733c4c98fd7990, 0xbe1e7857a47b5001 + .quad 0xc0733c52b89a16d0, 0xbe1e76708dc2831f + .quad 0xc0733c58d2d5ffa0, 0xbe1e77b6038651f1 + .quad 0xc0733c5ee7ba9de0, 0xbe1e792e855bb5b2 + .quad 0xc0733c64f75142d0, 0xbe1e776cacd5c105 + .quad 0xc0733c6b01a32740, 0xbe1e77f8a8011315 + .quad 0xc0733c7106b96c30, 0xbe1e765cf3efcfde + .quad 0xc0733c77069d1ad0, 0xbe1e78d837d2efac + .quad 0xc0733c7d01572530, 0xbe1e78b615cf772c + .quad 0xc0733c82f6f06640, 0xbe1e7650bbbd7a25 + .quad 0xc0733c88e771a220, 0xbe1e78bcf3495872 + .quad 0xc0733c8ed2e386c0, 0xbe1e792266832e84 + .quad 0xc0733c94b94eabd0, 0xbe1e79c1c3c2ca52 + .quad 0xc0733c9a9abb9340, 0xbe1e78aa61e5807d + .quad 0xc0733ca07732a970, 0xbe1e7620fc4cf156 + .quad 0xc0733ca64ebc4570, 0xbe1e76b914a832c5 + .quad 0xc0733cac2160a970, 0xbe1e79227f72020e + .quad 0xc0733cb1ef280300, 0xbe1e77ac972cc008 + .quad 0xc0733cb7b81a6b10, 0xbe1e798089be41f4 + .quad 0xc0733cbd7c3fe6a0, 0xbe1e77942ae037fe + .quad 0xc0733cc33ba06690, 0xbe1e7956ae6463d9 + .quad 0xc0733cc8f643c850, 0xbe1e7918a50c7942 + .quad 0xc0733cceac31d5d0, 0xbe1e78308eeab604 + .quad 0xc0733cd45d7245e0, 0xbe1e76dd4ea88445 + .quad 0xc0733cda0a0cbc60, 0xbe1e77e7c1aa5909 + .quad 0xc0733cdfb208caa0, 0xbe1e7804b9d20e54 + .quad 0xc0733ce5556def70, 0xbe1e78f88e99d49c + .quad 0xc0733ceaf4439780, 0xbe1e787d74682d68 + .quad 0xc0733cf08e911d80, 0xbe1e76edc24fe6e7 + .quad 0xc0733cf6245dca50, 0xbe1e79b347ec86d2 + .quad 0xc0733cfbb5b0d580, 0xbe1e797cceb2c39b + .quad 0xc0733d0142916530, 0xbe1e783adbdc6aa1 + .quad 0xc0733d06cb068e70, 0xbe1e76e4c20e3d9e + .quad 0xc0733d0c4f175570, 0xbe1e77070bf3cf61 + .quad 0xc0733d11cecaadc0, 0xbe1e781c43502734 + .quad 0xc0733d174a277a80, 0xbe1e78b11268ea72 + .quad 0xc0733d1cc1348e90, 0xbe1e7754b83bfc7d + .quad 0xc0733d2233f8acb0, 0xbe1e7756c29bf5e9 + .quad 0xc0733d27a27a87d0, 0xbe1e7952fc1d9333 + .quad 0xc0733d2d0cc0c350, 0xbe1e778c76ae6077 + .quad 0xc0733d3272d1f2e0, 0xbe1e7a1896ba8f43 + .quad 0xc0733d37d4b49b30, 0xbe1e76dafdf432d8 + .quad 0xc0733d3d326f3180, 0xbe1e795330184013 + .quad 0xc0733d428c081c80, 0xbe1e763cc774d30f + .quad 0xc0733d47e185b3d0, 0xbe1e77030a779c0a + .quad 0xc0733d4d32ee40b0, 0xbe1e7908af2a2d7e + .quad 0xc0733d528047fe00, 0xbe1e78c4953b797d + .quad 0xc0733d57c9991850, 0xbe1e78b43b096579 + .quad 0xc0733d5d0ee7ae30, 0xbe1e7824ae0a4804 + .quad 0xc0733d625039d040, 0xbe1e79d2b2fbb740 + .quad 0xc0733d678d958190, 0xbe1e7662de59a1a6 + .quad 0xc0733d6cc700b760, 0xbe1e76b251d59aaa + .quad 0xc0733d71fc8159b0, 0xbe1e7a00cfd1f487 + .quad 0xc0733d772e1d4360, 0xbe1e77f4d246167e + .quad 0xc0733d7c5bda4200, 0xbe1e767a4ee8e6fc + .quad 0xc0733d8185be1640, 0xbe1e777ccf0a8aed + .quad 0xc0733d86abce7420, 0xbe1e767d7e279ada + .quad 0xc0733d8bce1102d0, 0xbe1e7a05cef4bb90 + .quad 0xc0733d90ec8b5d40, 0xbe1e78f75369be5b + .quad 0xc0733d96074311d0, 0xbe1e77b9612e8c8a + .quad 0xc0733d9b1e3da2b0, 0xbe1e794518b9adeb + .quad 0xc0733da031808620, 0xbe1e7810626fb934 + .quad 0xc0733da541112650, 0xbe1e76d87223fa6d + .quad 0xc0733daa4cf4e1a0, 0xbe1e794c5e7ca3b5 + .quad 0xc0733daf55310af0, 0xbe1e789856ef816f + .quad 0xc0733db459cae970, 0xbe1e77d2004effbd + .quad 0xc0733db95ac7b8f0, 0xbe1e78467d31eb9c + .quad 0xc0733dbe582caa00, 0xbe1e79aaa4e25787 + .quad 0xc0733dc351fee220, 0xbe1e762de8f107bf + .quad 0xc0733dc848437b90, 0xbe1e7670670a63fe + .quad 0xc0733dcd3aff85d0, 0xbe1e795ca237c6cc + .quad 0xc0733dd22a3805b0, 0xbe1e77e55c53c1d9 + .quad 0xc0733dd715f1f520, 0xbe1e78a806213ac4 + .quad 0xc0733ddbfe3243b0, 0xbe1e77743a2bc615 + .quad 0xc0733de0e2fdd660, 0xbe1e78b8b45b0b7d + .quad 0xc0733de5c4598800, 0xbe1e78d635f2f4b9 + .quad 0xc0733deaa24a2920, 0xbe1e7758c396a11e + .quad 0xc0733def7cd48020, 0xbe1e7a17a8cc454c + .quad 0xc0733df453fd49a0, 0xbe1e783caa73f616 + .quad 0xc0733df927c93820, 0xbe1e7932cfa29664 + .quad 0xc0733dfdf83cf490, 0xbe1e777d265c72a6 + .quad 0xc0733e02c55d1e10, 0xbe1e7775e7c03c60 + .quad 0xc0733e078f2e4a40, 0xbe1e79f65d52d232 + .quad 0xc0733e0c55b50570, 0xbe1e76e7e7464b4e + .quad 0xc0733e1118f5d250, 0xbe1e77be81cad877 + .quad 0xc0733e15d8f52a80, 0xbe1e79dd25b5fb3a + .quad 0xc0733e1a95b77e80, 0xbe1e78e45f1418ef + .quad 0xc0733e1f4f4135a0, 0xbe1e78eb7289505b + .quad 0xc0733e240596ae50, 0xbe1e78a468c07cad + .quad 0xc0733e28b8bc3e20, 0xbe1e776b558a4009 + .quad 0xc0733e2d68b631d0, 0xbe1e77412eb9941e + .quad 0xc0733e321588cd80, 0xbe1e76b2853f845e + .quad 0xc0733e36bf384cb0, 0xbe1e76aa7184273c + .quad 0xc0733e3b65c8e260, 0xbe1e7832027f78fa + .quad 0xc0733e40093eb930, 0xbe1e7a1c7da131f5 + .quad 0xc0733e44a99df380, 0xbe1e76a0bc2ae4bc + .quad 0xc0733e4946eaab30, 0xbe1e78dff13b6f5d + .quad 0xc0733e4de128f250, 0xbe1e765a226dea2c + .quad 0xc0733e52785cd290, 0xbe1e78509b989111 + .quad 0xc0733e570c8a4de0, 0xbe1e7916a4e9803d + .quad 0xc0733e5b9db55e30, 0xbe1e7950c15758cc + .quad 0xc0733e602be1f5a0, 0xbe1e7922ba1ad420 + .quad 0xc0733e64b713fe90, 0xbe1e794cbaabcef6 + .quad 0xc0733e693f4f5bc0, 0xbe1e7837bf883fed + .quad 0xc0733e6dc497e850, 0xbe1e76f198ddbbdf + .quad 0xc0733e7246f177d0, 0xbe1e7a18c1067764 + .quad 0xc0733e76c65fd6a0, 0xbe1e76b845a8fd9d + .quad 0xc0733e7b42e6c970, 0xbe1e7714012df506 + .quad 0xc0733e7fbc8a0de0, 0xbe1e7765612922cd + .quad 0xc0733e84334d5a50, 0xbe1e7688f5424a00 + .quad 0xc0733e88a7345df0, 0xbe1e769d011f6663 + .quad 0xc0733e8d1842c0e0, 0xbe1e79914acbfaf7 + .quad 0xc0733e91867c2460, 0xbe1e79a85e189bd7 + .quad 0xc0733e95f1e422a0, 0xbe1e79ea7c726432 + .quad 0xc0733e9a5a7e4f10, 0xbe1e768a6fbb8e6e + .quad 0xc0733e9ec04e3620, 0xbe1e793c75bcc9fc + .quad 0xc0733ea323575dd0, 0xbe1e797f78da13d4 + .quad 0xc0733ea7839d4550, 0xbe1e78d8c9cda978 + .quad 0xc0733eabe1236540, 0xbe1e77028d480fff + .quad 0xc0733eb03bed2fa0, 0xbe1e7a0d0f74ff7c + .quad 0xc0733eb493fe1040, 0xbe1e76732e8a35fb + .quad 0xc0733eb8e9596c30, 0xbe1e77220caeabeb + .quad 0xc0733ebd3c02a260, 0xbe1e797438b645ef + .quad 0xc0733ec18bfd0b80, 0xbe1e79207c5fd6e8 + .quad 0xc0733ec5d94bf9f0, 0xbe1e781c7df8f946 + .quad 0xc0733eca23f2b9f0, 0xbe1e76736284e2db + .quad 0xc0733ece6bf49190, 0xbe1e7a109cc0c3f5 + .quad 0xc0733ed2b154c120, 0xbe1e767f14a16d50 + .quad 0xc0733ed6f4168290, 0xbe1e789cd22acaf0 + .quad 0xc0733edb343d0a40, 0xbe1e764355ca28ad + .quad 0xc0733edf71cb8660, 0xbe1e79e4c7a81c45 + .quad 0xc0733ee3acc51fb0, 0xbe1e761e26b644c2 + .quad 0xc0733ee7e52cf8c0, 0xbe1e793e9f8fbdd3 + .quad 0xc0733eec1b062ed0, 0xbe1e78c432991c20 + .quad 0xc0733ef04e53d940, 0xbe1e78cdd025f4d8 + .quad 0xc0733ef47f1909f0, 0xbe1e778310c6446e + .quad 0xc0733ef8ad58cd20, 0xbe1e7871af3d6e17 + .quad 0xc0733efcd91629b0, 0xbe1e77e0e906f697 + .quad 0xc0733f01025420f0, 0xbe1e7a1ae9b27892 + .quad 0xc0733f052915af00, 0xbe1e76ac64c88f9d + .quad 0xc0733f094d5dca60, 0xbe1e779a815589c4 + .quad 0xc0733f0d6f2f6480, 0xbe1e788f39a4864c + .quad 0xc0733f118e8d6980, 0xbe1e79fc51263525 + .quad 0xc0733f15ab7ac060, 0xbe1e783501f19e90 + .quad 0xc0733f19c5fa4ae0, 0xbe1e767e82c327ab + .quad 0xc0733f1dde0ee5a0, 0xbe1e7a1785d66123 + .quad 0xc0733f21f3bb6870, 0xbe1e7936d07203da + .quad 0xc0733f260702a5e0, 0xbe1e7a010a7ac699 + .quad 0xc0733f2a17e76bb0, 0xbe1e7975e4e16312 + .quad 0xc0733f2e266c82b0, 0xbe1e7654b5422330 + .quad 0xc0733f323294aeb0, 0xbe1e77f8a4909d35 + .quad 0xc0733f363c62aee0, 0xbe1e792c8e30d226 + .quad 0xc0733f3a43d93da0, 0xbe1e76f6ac67a1ff + .quad 0xc0733f3e48fb1070, 0xbe1e775c2e97715a + .quad 0xc0733f424bcad840, 0xbe1e781cd54ae100 + /* Log_LA_table */ + .align 16 + .quad 0x0000000000000000 + .quad 0xbf4bc48a867884b7 + .quad 0xbf5bbd9e9482af09 + .quad 0xbf64c9096b94befd + .quad 0xbf6bafd47221ed26 + .quad 0xbf714999e2ad8ea6 + .quad 0xbf74b99563d2a1bd + .quad 0xbf7827de6b310350 + .quad 0xbf7b9476a4fcd10f + .quad 0xbf7eff5fbaf25781 + .quad 0xbf81344daa2d7553 + .quad 0xbf82e8158b08d957 + .quad 0xbf849b0851443684 + .quad 0xbf864d26cce610dd + .quad 0xbf87fe71ccc4e6b0 + .quad 0xbf89aeea1e897fdf + .quad 0xbf8b5e908eb13790 + .quad 0xbf8d0d65e890405a + .quad 0xbf8ebb6af653e2ee + .quad 0xbf90345040825bad + .quad 0xbf910a83a8446c78 + .quad 0xbf91e05015d30a71 + .quad 0xbf92b5b5ec0209d3 + .quad 0xbf938ab58d173e91 + .quad 0xbf945f4f5acb8be0 + .quad 0xbf953383b64bf13f + .quad 0xbf960753003a94ef + .quad 0xbf96dabd98afcc05 + .quad 0xbf97adc3df3b1ff8 + .quad 0xbf98806632e451d0 + .quad 0xbf9952a4f22c5ae9 + .quad 0xbf9a24807b0e6b5c + .quad 0xbf9af5f92b00e610 + .quad 0xbf9bc70f5ef65a77 + .quad 0xbf9c97c3735e7c0a + .quad 0xbf9d6815c4271775 + .quad 0xbf9e3806acbd058f + .quad 0xbf9f0796880d1c19 + .quad 0xbf9fd6c5b0851c4c + .quad 0xbfa052ca400a4f9b + .quad 0xbfa0ba01a8170000 + .quad 0xbfa121093ce3a205 + .quad 0xbfa187e12aad8077 + .quad 0xbfa1ee899d74a03e + .quad 0xbfa25502c0fc314c + .quad 0xbfa2bb4cc0cafe8d + .quad 0xbfa32167c82bdcda + .quad 0xbfa38754022e18e2 + .quad 0xbfa3ed1199a5e425 + .quad 0xbfa452a0b92cc0ec + .quad 0xbfa4b8018b21ed4f + .quad 0xbfa51d3439aacd4a + .quad 0xbfa58238eeb353da + .quad 0xbfa5e70fd3ee6b34 + .quad 0xbfa64bb912d65c07 + .quad 0xbfa6b034d4ad33df + .quad 0xbfa71483427d2a99 + .quad 0xbfa778a4851906f3 + .quad 0xbfa7dc98c51c8242 + .quad 0xbfa840602aecab3d + .quad 0xbfa8a3fadeb847f4 + .quad 0xbfa90769087836e4 + .quad 0xbfa96aaacfefcf3c + .quad 0xbfa9cdc05cad4042 + .quad 0xbfaa30a9d609efea + .quad 0xbfaa9367632ad897 + .quad 0xbfaaf5f92b00e610 + .quad 0xbfab585f544951a4 + .quad 0xbfabba9a058dfd84 + .quad 0xbfac1ca96525cf56 + .quad 0xbfac7e8d993509f9 + .quad 0xbface046c7ada68d + .quad 0xbfad41d5164facb4 + .quad 0xbfada338aaa98a0c + .quad 0xbfae0471aa1868f5 + .quad 0xbfae658039c88690 + .quad 0xbfaec6647eb58808 + .quad 0xbfaf271e9daacf20 + .quad 0xbfaf87aebb43ce06 + .quad 0xbfafe814fbec5a77 + .quad 0xbfb02428c1f08016 + .quad 0xbfb054323b97a948 + .quad 0xbfb08426fcdb1ee7 + .quad 0xbfb0b40717932b96 + .quad 0xbfb0e3d29d81165e + .quad 0xbfb11389a04f4a2e + .quad 0xbfb1432c31917d08 + .quad 0xbfb172ba62c4d6de + .quad 0xbfb1a23445501816 + .quad 0xbfb1d199ea83bfbe + .quad 0xbfb200eb639a3173 + .quad 0xbfb23028c1b7daed + .quad 0xbfb25f5215eb594a + .quad 0xbfb28e67712d9dfc + .quad 0xbfb2bd68e4621371 + .quad 0xbfb2ec568056c16f + .quad 0xbfb31b3055c47118 + .quad 0xbfb349f6754ed0b4 + .quad 0xbfb378a8ef84971e + .quad 0xbfb3a747d4dfa6f5 + .quad 0xbfb3d5d335c53179 + .quad 0xbfb4044b2285d925 + .quad 0xbfb432afab5dd3ff + .quad 0xbfb46100e0750da1 + .quad 0xbfb48f3ed1df48fb + .quad 0xbfb4bd698f9c41cf + .quad 0xbfb4eb812997cde4 + .quad 0xbfb51985afa9fdfd + .quad 0xbfb5477731973e85 + .quad 0xbfb57555bf1077f5 + .quad 0xbfb5a32167b32f02 + .quad 0xbfb5d0da3b09a47e + .quad 0xbfb5fe80488af4fd + .quad 0xbfb62c139f9b3837 + .quad 0xbfb659944f8ba02d + .quad 0xbfb68702679a980a + .quad 0xbfb6b45df6f3e2c9 + .quad 0xbfb6e1a70cb0b99a + .quad 0xbfb70eddb7d7ea07 + .quad 0xbfb73c02075df3e5 + .quad 0xbfb769140a2526fd + .quad 0xbfb79613cefdc07d + .quad 0xbfb7c30164a60836 + .quad 0xbfb7efdcd9ca6d8f + .quad 0xbfb81ca63d05a44a + .quad 0xbfb8495d9ce0c10c + .quad 0xbfb8760307d355ab + .quad 0xbfb8a2968c438d41 + .quad 0xbfb8cf183886480d + .quad 0xbfb8fb881adf3713 + .quad 0xbfb927e64180f790 + .quad 0xbfb95432ba8d2e2f + .quad 0xbfb9806d9414a209 + .quad 0xbfb9ac96dc175776 + .quad 0xbfb9d8aea084aa9c + .quad 0xbfba04b4ef3b69d8 + .quad 0xbfba30a9d609efea + .quad 0xbfba5c8d62ae3dec + .quad 0xbfba885fa2d6151e + .quad 0xbfbab420a41f1076 + .quad 0xbfbadfd07416be07 + .quad 0xbfbb0b6f203ab82c + .quad 0xbfbb36fcb5f8be8a + .quad 0xbfbb627942aecedd + .quad 0xbfbb8de4d3ab3d98 + .quad 0xbfbbb93f762cce4f + .quad 0xbfbbe4893762cbf7 + .quad 0xbfbc0fc2246d20f5 + .quad 0xbfbc3aea4a5c6eff + .quad 0xbfbc6601b63226cb + .quad 0xbfbc910874e09f98 + .quad 0xbfbcbbfe934b2e81 + .quad 0xbfbce6e41e463da5 + .quad 0xbfbd11b92297632b + .quad 0xbfbd3c7dacf5780b + .quad 0xbfbd6731ca08aeb9 + .quad 0xbfbd91d5866aa99c + .quad 0xbfbdbc68eea6915b + .quad 0xbfbde6ec0f392b05 + .quad 0xbfbe115ef490ee07 + .quad 0xbfbe3bc1ab0e19fe + .quad 0xbfbe66143f02cc5d + .quad 0xbfbe9056bcb315e8 + .quad 0xbfbeba893055100b + .quad 0xbfbee4aba610f204 + .quad 0xbfbf0ebe2a0125eb + .quad 0xbfbf38c0c8325d86 + .quad 0xbfbf62b38ca3a706 + .quad 0xbfbf8c9683468191 + .quad 0xbfbfb669b7fef1a8 + .quad 0xbfbfe02d36a3956d + .quad 0xbfc004f0857edc5c + .quad 0xbfc019c2a064b486 + .quad 0xbfc02e8cf1dac4b8 + .quad 0xbfc0434f7fb1f307 + .quad 0xbfc0580a4fb4a3df + .quad 0xbfc06cbd67a6c3b6 + .quad 0xbfc08168cd45d0a9 + .quad 0xbfc0960c8648e406 + .quad 0xbfc0aaa89860bbcf + .quad 0xbfc0bf3d0937c41c + .quad 0xbfc0d3c9de722078 + .quad 0xbfc0e84f1dadb526 + .quad 0xbfc0fccccc823059 + .quad 0xbfc11142f0811357 + .quad 0xbfc125b18f35bb8e + .quad 0xbfc13a18ae256b99 + .quad 0xbfc14e7852cf5430 + .quad 0xbfc162d082ac9d10 + .quad 0xbfc1772143306dc6 + .quad 0xbfc18b6a99c7f679 + .quad 0xbfc19fac8bda7897 + .quad 0xbfc1b3e71ec94f7b + .quad 0xbfc1c81a57eff8fd + .quad 0xbfc1dc463ca41df8 + .quad 0xbfc1f06ad2359abd + .quad 0xbfc204881dee8777 + .quad 0xbfc2189e25134081 + .quad 0xbfc22cacece26ead + .quad 0xbfc240b47a950f79 + .quad 0xbfc254b4d35e7d3c + .quad 0xbfc268adfc6c773e + .quad 0xbfc27c9ffae729c1 + .quad 0xbfc2908ad3f13603 + .quad 0xbfc2a46e8ca7ba2a + .quad 0xbfc2b84b2a225923 + .quad 0xbfc2cc20b1734279 + .quad 0xbfc2dfef27a73a18 + .quad 0xbfc2f3b691c5a001 + .quad 0xbfc30776f4d077f7 + .quad 0xbfc31b3055c47118 + .quad 0xbfc32ee2b998ed6e + .quad 0xbfc3428e2540096d + .quad 0x3fc331f403985097 + .quad 0x3fc31e56798a910a + .quad 0x3fc30abfd8f333b6 + .quad 0x3fc2f7301cf4e87b + .quad 0x3fc2e3a740b7800f + .quad 0x3fc2d0253f67e4cb + .quad 0x3fc2bcaa14381386 + .quad 0x3fc2a935ba5f1479 + .quad 0x3fc295c82d18f434 + .quad 0x3fc2826167a6bc9c + .quad 0x3fc26f01654e6df6 + .quad 0x3fc25ba8215af7fc + .quad 0x3fc24855971c3307 + .quad 0x3fc23509c1e6d937 + .quad 0x3fc221c49d147fb3 + .quad 0x3fc20e8624038fed + .quad 0x3fc1fb4e521740f4 + .quad 0x3fc1e81d22b790d4 + .quad 0x3fc1d4f291513e01 + .quad 0x3fc1c1ce9955c0c6 + .quad 0x3fc1aeb1363b44c8 + .quad 0x3fc19b9a637ca295 + .quad 0x3fc1888a1c995931 + .quad 0x3fc175805d1587c1 + .quad 0x3fc1627d2079e731 + .quad 0x3fc14f806253c3ed + .quad 0x3fc13c8a1e34f7a0 + .quad 0x3fc1299a4fb3e306 + .quad 0x3fc116b0f26b67bb + .quad 0x3fc103ce01fae223 + .quad 0x3fc0f0f17a062353 + .quad 0x3fc0de1b56356b04 + .quad 0x3fc0cb4b9235619a + .quad 0x3fc0b88229b71227 + .quad 0x3fc0a5bf186fe483 + .quad 0x3fc093025a19976c + .quad 0x3fc0804bea723aa9 + .quad 0x3fc06d9bc53c2941 + .quad 0x3fc05af1e63e03b4 + .quad 0x3fc0484e4942aa43 + .quad 0x3fc035b0ea19373b + .quad 0x3fc02319c494f951 + .quad 0x3fc01088d48d6e03 + .quad 0x3fbffbfc2bbc7803 + .quad 0x3fbfd6f308ce5b52 + .quad 0x3fbfb1f6381856f4 + .quad 0x3fbf8d05b16a6d47 + .quad 0x3fbf68216c9cc727 + .quad 0x3fbf4349618fa91a + .quad 0x3fbf1e7d882b689a + .quad 0x3fbef9bdd860616b + .quad 0x3fbed50a4a26eafc + .quad 0x3fbeb062d57f4de8 + .quad 0x3fbe8bc77271b97a + .quad 0x3fbe6738190e394c + .quad 0x3fbe42b4c16caaf3 + .quad 0x3fbe1e3d63acb3ba + .quad 0x3fbdf9d1f7f5b674 + .quad 0x3fbdd5727676c959 + .quad 0x3fbdb11ed766abf4 + .quad 0x3fbd8cd71303bd26 + .quad 0x3fbd689b2193f133 + .quad 0x3fbd446afb64c7e5 + .quad 0x3fbd204698cb42bd + .quad 0x3fbcfc2df223db2d + .quad 0x3fbcd820ffd278f3 + .quad 0x3fbcb41fba42686d + .quad 0x3fbc902a19e65111 + .quad 0x3fbc6c4017382bea + .quad 0x3fbc4861aab93a23 + .quad 0x3fbc248eccf1fba6 + .quad 0x3fbc00c7767225cb + .quad 0x3fbbdd0b9fd09a10 + .quad 0x3fbbb95b41ab5ce6 + .quad 0x3fbb95b654a78c87 + .quad 0x3fbb721cd17157e3 + .quad 0x3fbb4e8eb0bbf58f + .quad 0x3fbb2b0beb419ad0 + .quad 0x3fbb079479c372ad + .quad 0x3fbae4285509950b + .quad 0x3fbac0c775e2fde6 + .quad 0x3fba9d71d5258484 + .quad 0x3fba7a276badd2c8 + .quad 0x3fba56e8325f5c87 + .quad 0x3fba33b4222456f1 + .quad 0x3fba108b33edb005 + .quad 0x3fb9ed6d60b30612 + .quad 0x3fb9ca5aa1729f45 + .quad 0x3fb9a752ef316149 + .quad 0x3fb9845642fac8f0 + .quad 0x3fb9616495e0e1e8 + .quad 0x3fb93e7de0fc3e80 + .quad 0x3fb91ba21d6bef77 + .quad 0x3fb8f8d144557bdf + .quad 0x3fb8d60b4ee4d901 + .quad 0x3fb8b350364c6257 + .quad 0x3fb8909ff3c4d191 + .quad 0x3fb86dfa808d36a0 + .quad 0x3fb84b5fd5eaefd8 + .quad 0x3fb828cfed29a215 + .quad 0x3fb8064abf9b30f1 + .quad 0x3fb7e3d04697b704 + .quad 0x3fb7c1607b7d7e32 + .quad 0x3fb79efb57b0f803 + .quad 0x3fb77ca0d49cb608 + .quad 0x3fb75a50ebb1624a + .quad 0x3fb7380b9665b7c8 + .quad 0x3fb715d0ce367afc + .quad 0x3fb6f3a08ca67270 + .quad 0x3fb6d17acb3e5f5e + .quad 0x3fb6af5f838cf654 + .quad 0x3fb68d4eaf26d7ee + .quad 0x3fb66b4847a68997 + .quad 0x3fb6494c46ac6e4d + .quad 0x3fb6275aa5debf81 + .quad 0x3fb605735ee985f1 + .quad 0x3fb5e3966b7e9295 + .quad 0x3fb5c1c3c5557799 + .quad 0x3fb59ffb662b815c + .quad 0x3fb57e3d47c3af7b + .quad 0x3fb55c8963e6adeb + .quad 0x3fb53adfb462ce16 + .quad 0x3fb51940330c000b + .quad 0x3fb4f7aad9bbcbaf + .quad 0x3fb4d61fa2514a00 + .quad 0x3fb4b49e86b11e5f + .quad 0x3fb4932780c56fe2 + .quad 0x3fb471ba8a7de2b7 + .quad 0x3fb450579dcf9186 + .quad 0x3fb42efeb4b506e9 + .quad 0x3fb40dafc92e36e2 + .quad 0x3fb3ec6ad5407868 + .quad 0x3fb3cb2fd2f67ef1 + .quad 0x3fb3a9febc60540a + .quad 0x3fb388d78b9350ff + .quad 0x3fb367ba3aaa1883 + .quad 0x3fb346a6c3c49066 + .quad 0x3fb3259d2107db54 + .quad 0x3fb3049d4c9e52a0 + .quad 0x3fb2e3a740b7800f + .quad 0x3fb2c2baf78817b7 + .quad 0x3fb2a1d86b49f1e2 + .quad 0x3fb280ff963c04fc + .quad 0x3fb2603072a25f82 + .quad 0x3fb23f6afac6220a + .quad 0x3fb21eaf28f57941 + .quad 0x3fb1fdfcf7839804 + .quad 0x3fb1dd5460c8b16f + .quad 0x3fb1bcb55f21f307 + .quad 0x3fb19c1fecf17ee0 + .quad 0x3fb17b94049e65d0 + .quad 0x3fb15b11a094a1aa + .quad 0x3fb13a98bb450f81 + .quad 0x3fb11a294f2569f6 + .quad 0x3fb0f9c356b04389 + .quad 0x3fb0d966cc6500fa + .quad 0x3fb0b913aac7d3a7 + .quad 0x3fb098c9ec61b3ff + .quad 0x3fb078898bc05bf4 + .quad 0x3fb0585283764178 + .quad 0x3fb03824ce1a9101 + .quad 0x3fb0180066492817 + .quad 0x3fafefca8d451fd6 + .quad 0x3fafafa6d397efdb + .quad 0x3faf6f9594de60f0 + .quad 0x3faf2f96c6754aee + .quad 0x3faeefaa5dc2b239 + .quad 0x3faeafd05035bd3b + .quad 0x3fae70089346a9e6 + .quad 0x3fae30531c76c34a + .quad 0x3fadf0afe1505738 + .quad 0x3fadb11ed766abf4 + .quad 0x3fad719ff455f5f7 + .quad 0x3fad32332dc34dbd + .quad 0x3facf2d8795ca5a5 + .quad 0x3facb38fccd8bfdb + .quad 0x3fac74591df72456 + .quad 0x3fac3534628016dd + .quad 0x3fabf62190448d22 + .quad 0x3fabb7209d1e24e5 + .quad 0x3fab78317eef1a29 + .quad 0x3fab39542ba23d73 + .quad 0x3faafa88992aea19 + .quad 0x3faabbcebd84fca0 + .quad 0x3faa7d268eb4c924 + .quad 0x3faa3e9002c711d2 + .quad 0x3faa000b0fd0fd6b + .quad 0x3fa9c197abf00dd7 + .quad 0x3fa98335cd4a16c3 + .quad 0x3fa944e56a0d3450 + .quad 0x3fa906a6786fc1cb + .quad 0x3fa8c878eeb05074 + .quad 0x3fa88a5cc3159e53 + .quad 0x3fa84c51ebee8d15 + .quad 0x3fa80e585f9218fc + .quad 0x3fa7d070145f4fd7 + .quad 0x3fa7929900bd4809 + .quad 0x3fa754d31b1b179c + .quad 0x3fa7171e59efcb5f + .quad 0x3fa6d97ab3ba5e10 + .quad 0x3fa69be81f01af99 + .quad 0x3fa65e6692547c4e + .quad 0x3fa620f604495440 + .quad 0x3fa5e3966b7e9295 + .quad 0x3fa5a647be9a54f6 + .quad 0x3fa56909f44a72fe + .quad 0x3fa52bdd034475b8 + .quad 0x3fa4eec0e2458f30 + .quad 0x3fa4b1b588129203 + .quad 0x3fa474baeb77e904 + .quad 0x3fa437d103498eec + .quad 0x3fa3faf7c663060e + .quad 0x3fa3be2f2ba7501f + .quad 0x3fa381772a00e604 + .quad 0x3fa344cfb861afae + .quad 0x3fa30838cdc2fbfd + .quad 0x3fa2cbb2612578b4 + .quad 0x3fa28f3c69912a74 + .quad 0x3fa252d6de1564c1 + .quad 0x3fa21681b5c8c213 + .quad 0x3fa1da3ce7c91bf8 + .quad 0x3fa19e086b3b8333 + .quad 0x3fa161e4374c37f4 + .quad 0x3fa125d0432ea20e + .quad 0x3fa0e9cc861d4944 + .quad 0x3fa0add8f759cd95 + .quad 0x3fa071f58e2cdf9b + .quad 0x3fa0362241e638ec + .quad 0x3f9ff4be13b92920 + .quad 0x3f9f7d57badb4ee8 + .quad 0x3f9f061167fc31e8 + .quad 0x3f9e8eeb09f2f6cb + .quad 0x3f9e17e48fa48962 + .quad 0x3f9da0fde8038de9 + .quad 0x3f9d2a3702105259 + .quad 0x3f9cb38fccd8bfdb + .quad 0x3f9c3d0837784c41 + .quad 0x3f9bc6a03117eb97 + .quad 0x3f9b5057a8ee01ce + .quad 0x3f9ada2e8e3e546f + .quad 0x3f9a6424d059fc68 + .quad 0x3f99ee3a5e9f57e8 + .quad 0x3f99786f2879fc53 + .quad 0x3f9902c31d62a843 + .quad 0x3f988d362cdf359e + .quad 0x3f9817c846828bbd + .quad 0x3f97a27959ec91aa + .quad 0x3f972d4956ca2067 + .quad 0x3f96b8382cd4f551 + .quad 0x3f964345cbd3a491 + .quad 0x3f95ce7223998b98 + .quad 0x3f9559bd2406c3ba + .quad 0x3f94e526bd0814d1 + .quad 0x3f9470aede96e7f2 + .quad 0x3f93fc5578b93a38 + .quad 0x3f93881a7b818f9e + .quad 0x3f9313fdd70ee5e8 + .quad 0x3f929fff7b8ca79d + .quad 0x3f922c1f59329f1b + .quad 0x3f91b85d6044e9ae + .quad 0x3f9144b98113eac0 + .quad 0x3f90d133abfc3f1b + .quad 0x3f905dcbd166b033 + .quad 0x3f8fd503c3904f1d + .quad 0x3f8eeeab9b43445d + .quad 0x3f8e088f0b004827 + .quad 0x3f8d22adf3f9579d + .quad 0x3f8c3d0837784c41 + .quad 0x3f8b579db6dec358 + .quad 0x3f8a726e53a6056e + .quad 0x3f898d79ef5eedf0 + .quad 0x3f88a8c06bb1d2f4 + .quad 0x3f87c441aa5e6d15 + .quad 0x3f86dffd8d3bbf70 + .quad 0x3f85fbf3f637ffc5 + .quad 0x3f851824c7587eb0 + .quad 0x3f84348fe2b99002 + .quad 0x3f8351352a8e733f + .quad 0x3f826e1481213c2e + .quad 0x3f818b2dc8d2bb91 + .quad 0x3f80a880e41a67f6 + .quad 0x3f7f8c1b6b0c8d4e + .quad 0x3f7dc7a83f75a96d + .quad 0x3f7c03a80ae5e054 + .quad 0x3f7a401a92ff827e + .quad 0x3f787cff9d9147a5 + .quad 0x3f76ba56f09621bc + .quad 0x3f74f8205235102d + .quad 0x3f73365b88c0f347 + .quad 0x3f7175085ab85ff0 + .quad 0x3f6f684d1d8ae702 + .quad 0x3f6be76bd77b4fc3 + .quad 0x3f68676c71434fb9 + .quad 0x3f64e84e793a474a + .quad 0x3f616a117e0d4b30 + .quad 0x3f5bd96a1d7d9cbc + .quad 0x3f54e071754c98ba + .quad 0x3f4bd27045bfd025 + .quad 0x3f3bcef518e29612 + .quad 0x8000000000000000 + /* poly_coeff[5] */ + .align 16 + .quad 0x3fb63C65231FBD16, 0x3fb63C65231FBD16 /* coeff5 */ + .quad 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B /* coeff4 */ + .quad 0x3fc287A7636F341E, 0x3fc287A7636F341E /* coeff3 */ + .quad 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36 /* coeff2 */ + .quad 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E /* 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 + /* L2 */ + .align 16 + .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff + .align 16 + .type __svml_dlog10_data_internal, @object + .size __svml_dlog10_data_internal, .-__svml_dlog10_data_internal + .space 48, 0x00 + .align 16 .FLT_12: - .long 0x00000000,0x43380000,0x00000000,0x43380000 - .type .FLT_12,@object - .size .FLT_12,16 + .long 0x00000000, 0x43380000, 0x00000000, 0x43380000 + .type .FLT_12, @object + .size .FLT_12, 16 From patchwork Mon Mar 7 15:01:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602367 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=RStQNSXG; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Kq67Nkz9sFt for ; Tue, 8 Mar 2022 03:08:47 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D5462385842C for ; Mon, 7 Mar 2022 16:08:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D5462385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669325; bh=FsGEQBqnglOogdw5gqFgHvhI4vNXCz5qwAZTGM19mmI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=RStQNSXGITa4PoFYakL6qs0vKoek/efwF+ssRyA6H86PR315hrrZEQwup3AOJoiMW twJ+2Ij2347gwNOFCQ3pzjShKva6FKWa1V7eKMZv9kbbaiLg+Gt83l4DfbarEehLiA rVlj0+uCzFhlDLBwqYGfGDu7Y3PrVWUbAOV4OQG0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 19CC1385841B for ; Mon, 7 Mar 2022 15:03:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 19CC1385841B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="251983706" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="251983706" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="610639888" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21f9016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 095/126] x86_64: Fix svml_d_log104_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:30 -0800 Message-Id: <20220307150201.10590-96-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log104_core_avx2.S | 1983 ++++++++--------- 1 file changed, 991 insertions(+), 992 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S index cfa9c63077..2461c6ad56 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log104_core_avx2.S @@ -29,1046 +29,1045 @@ /* Offsets for data table __svml_dlog10_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 4128 -#define poly_coeff 8256 -#define ExpMask 8416 -#define Two10 8448 -#define MinNorm 8480 -#define MaxNorm 8512 -#define HalfMask 8544 -#define One 8576 -#define Threshold 8608 -#define Bias 8640 -#define Bias1 8672 -#define L2 8704 +#define Log_HA_table 0 +#define Log_LA_table 4128 +#define poly_coeff 8256 +#define ExpMask 8416 +#define Two10 8448 +#define MinNorm 8480 +#define MaxNorm 8512 +#define HalfMask 8544 +#define One 8576 +#define Threshold 8608 +#define Bias 8640 +#define Bias1 8672 +#define L2 8704 /* Lookup bias for data table __svml_dlog10_data_internal. */ -#define Table_Lookup_Bias -0x406fe0 +#define Table_Lookup_Bias -0x406fe0 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_log10_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea Table_Lookup_Bias+__svml_dlog10_data_internal(%rip), %r8 - vmovapd %ymm0, %ymm3 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea Table_Lookup_Bias+__svml_dlog10_data_internal(%rip), %r8 + vmovapd %ymm0, %ymm3 -/* preserve mantissa, set input exponent to 2^(-10) */ - vandpd ExpMask+__svml_dlog10_data_internal(%rip), %ymm3, %ymm4 - vorpd Two10+__svml_dlog10_data_internal(%rip), %ymm4, %ymm2 + /* preserve mantissa, set input exponent to 2^(-10) */ + vandpd ExpMask+__svml_dlog10_data_internal(%rip), %ymm3, %ymm4 + vorpd Two10+__svml_dlog10_data_internal(%rip), %ymm4, %ymm2 -/* reciprocal approximation good to at least 11 bits */ - vcvtpd2ps %ymm2, %xmm5 + /* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm2, %xmm5 -/* exponent bits */ - vpsrlq $20, %ymm3, %ymm7 - vmovupd One+__svml_dlog10_data_internal(%rip), %ymm14 - vrcpps %xmm5, %xmm6 + /* exponent bits */ + vpsrlq $20, %ymm3, %ymm7 + vmovupd One+__svml_dlog10_data_internal(%rip), %ymm14 + vrcpps %xmm5, %xmm6 -/* check range */ - vcmplt_oqpd MinNorm+__svml_dlog10_data_internal(%rip), %ymm3, %ymm11 - vcmpnle_uqpd MaxNorm+__svml_dlog10_data_internal(%rip), %ymm3, %ymm12 - vcvtps2pd %xmm6, %ymm9 + /* check range */ + vcmplt_oqpd MinNorm+__svml_dlog10_data_internal(%rip), %ymm3, %ymm11 + vcmpnle_uqpd MaxNorm+__svml_dlog10_data_internal(%rip), %ymm3, %ymm12 + vcvtps2pd %xmm6, %ymm9 -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - vroundpd $0, %ymm9, %ymm1 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm9, %ymm1 -/* exponent*log(2.0) */ - vmovupd Threshold+__svml_dlog10_data_internal(%rip), %ymm9 + /* exponent*log(2.0) */ + vmovupd Threshold+__svml_dlog10_data_internal(%rip), %ymm9 -/* - * prepare table index - * table lookup - */ - vpsrlq $40, %ymm1, %ymm15 + /* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm1, %ymm15 -/* argument reduction */ - vfmsub213pd %ymm14, %ymm1, %ymm2 - vcmplt_oqpd %ymm1, %ymm9, %ymm1 - vorpd %ymm12, %ymm11, %ymm13 - vmovupd poly_coeff+64+__svml_dlog10_data_internal(%rip), %ymm12 - vfmadd213pd poly_coeff+96+__svml_dlog10_data_internal(%rip), %ymm2, %ymm12 + /* argument reduction */ + vfmsub213pd %ymm14, %ymm1, %ymm2 + vcmplt_oqpd %ymm1, %ymm9, %ymm1 + vorpd %ymm12, %ymm11, %ymm13 + vmovupd poly_coeff+64+__svml_dlog10_data_internal(%rip), %ymm12 + vfmadd213pd poly_coeff+96+__svml_dlog10_data_internal(%rip), %ymm2, %ymm12 -/* combine and get argument value range mask */ - vmovmskpd %ymm13, %eax - vmulpd %ymm2, %ymm2, %ymm13 - vextractf128 $1, %ymm7, %xmm8 - vshufps $221, %xmm8, %xmm7, %xmm10 + /* combine and get argument value range mask */ + vmovmskpd %ymm13, %eax + vmulpd %ymm2, %ymm2, %ymm13 + vextractf128 $1, %ymm7, %xmm8 + vshufps $221, %xmm8, %xmm7, %xmm10 -/* biased exponent in DP format */ - vcvtdq2pd %xmm10, %ymm0 - vandpd Bias+__svml_dlog10_data_internal(%rip), %ymm1, %ymm10 - vorpd Bias1+__svml_dlog10_data_internal(%rip), %ymm10, %ymm11 - vsubpd %ymm11, %ymm0, %ymm0 - vmulpd L2+__svml_dlog10_data_internal(%rip), %ymm0, %ymm1 + /* biased exponent in DP format */ + vcvtdq2pd %xmm10, %ymm0 + vandpd Bias+__svml_dlog10_data_internal(%rip), %ymm1, %ymm10 + vorpd Bias1+__svml_dlog10_data_internal(%rip), %ymm10, %ymm11 + vsubpd %ymm11, %ymm0, %ymm0 + vmulpd L2+__svml_dlog10_data_internal(%rip), %ymm0, %ymm1 -/* polynomial */ - vmovupd poly_coeff+__svml_dlog10_data_internal(%rip), %ymm0 - vfmadd213pd poly_coeff+32+__svml_dlog10_data_internal(%rip), %ymm2, %ymm0 - vmulpd poly_coeff+128+__svml_dlog10_data_internal(%rip), %ymm2, %ymm2 - vfmadd213pd %ymm12, %ymm13, %ymm0 - vfmadd213pd %ymm2, %ymm13, %ymm0 - vextractf128 $1, %ymm15, %xmm6 - vmovd %xmm15, %edx - vmovd %xmm6, %esi - movslq %edx, %rdx - vpextrd $2, %xmm15, %ecx - movslq %esi, %rsi - vpextrd $2, %xmm6, %edi - movslq %ecx, %rcx - movslq %edi, %rdi - vmovsd (%r8,%rdx), %xmm4 - vmovsd (%r8,%rsi), %xmm7 - vmovhpd (%r8,%rcx), %xmm4, %xmm5 - vmovhpd (%r8,%rdi), %xmm7, %xmm8 - vinsertf128 $1, %xmm8, %ymm5, %ymm14 + /* polynomial */ + vmovupd poly_coeff+__svml_dlog10_data_internal(%rip), %ymm0 + vfmadd213pd poly_coeff+32+__svml_dlog10_data_internal(%rip), %ymm2, %ymm0 + vmulpd poly_coeff+128+__svml_dlog10_data_internal(%rip), %ymm2, %ymm2 + vfmadd213pd %ymm12, %ymm13, %ymm0 + vfmadd213pd %ymm2, %ymm13, %ymm0 + vextractf128 $1, %ymm15, %xmm6 + vmovd %xmm15, %edx + vmovd %xmm6, %esi + movslq %edx, %rdx + vpextrd $2, %xmm15, %ecx + movslq %esi, %rsi + vpextrd $2, %xmm6, %edi + movslq %ecx, %rcx + movslq %edi, %rdi + vmovsd (%r8, %rdx), %xmm4 + vmovsd (%r8, %rsi), %xmm7 + vmovhpd (%r8, %rcx), %xmm4, %xmm5 + vmovhpd (%r8, %rdi), %xmm7, %xmm8 + vinsertf128 $1, %xmm8, %ymm5, %ymm14 -/* reconstruction */ - vaddpd %ymm0, %ymm14, %ymm2 - vaddpd %ymm2, %ymm1, %ymm0 - testl %eax, %eax + /* reconstruction */ + vaddpd %ymm0, %ymm14, %ymm2 + vaddpd %ymm2, %ymm1, %ymm0 + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm3 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm3 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd %ymm3, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 + vmovupd %ymm3, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call log10@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call log10@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_log10_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dlog10_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Log_HA_table[(1<<9)+2][2]; - __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; - __declspec(align(32)) VUINT32 poly_coeff[5][4][2]; - __declspec(align(32)) VUINT32 ExpMask[4][2]; - __declspec(align(32)) VUINT32 Two10[4][2]; - __declspec(align(32)) VUINT32 MinNorm[4][2]; - __declspec(align(32)) VUINT32 MaxNorm[4][2]; - __declspec(align(32)) VUINT32 HalfMask[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 Threshold[4][2]; - __declspec(align(32)) VUINT32 Bias[4][2]; - __declspec(align(32)) VUINT32 Bias1[4][2]; - __declspec(align(32)) VUINT32 L2[4][2]; + __declspec(align(32)) VUINT32 Log_HA_table[(1<<9)+2][2]; + __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; + __declspec(align(32)) VUINT32 poly_coeff[5][4][2]; + __declspec(align(32)) VUINT32 ExpMask[4][2]; + __declspec(align(32)) VUINT32 Two10[4][2]; + __declspec(align(32)) VUINT32 MinNorm[4][2]; + __declspec(align(32)) VUINT32 MaxNorm[4][2]; + __declspec(align(32)) VUINT32 HalfMask[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 Threshold[4][2]; + __declspec(align(32)) VUINT32 Bias[4][2]; + __declspec(align(32)) VUINT32 Bias1[4][2]; + __declspec(align(32)) VUINT32 L2[4][2]; } __svml_dlog10_data_internal; #endif __svml_dlog10_data_internal: - /* Log_HA_table */ - .quad 0xc0733a7146f6b080, 0xbe1e707ce619c200 - .quad 0xc0733a7547771970, 0xbe1e79c6c06d6f51 - .quad 0xc0733a7945aacb70, 0xbe1e78e225fad29c - .quad 0xc0733a7d41946970, 0xbe1e76d607f9693b - .quad 0xc0733a813b3691f0, 0xbe1e7704b3e0685b - .quad 0xc0733a853293df00, 0xbe1e79c1216a27fa - .quad 0xc0733a8927aee660, 0xbe1e76dce5734a81 - .quad 0xc0733a8d1a8a3920, 0xbe1e782ee2ca4dba - .quad 0xc0733a910b286430, 0xbe1e7812d1a0a61f - .quad 0xc0733a94f98bf010, 0xbe1e77e1b5ecbc61 - .quad 0xc0733a98e5b76100, 0xbe1e76635cac1586 - .quad 0xc0733a9ccfad36f0, 0xbe1e7638f7968f32 - .quad 0xc0733aa0b76feda0, 0xbe1e7840ee76e365 - .quad 0xc0733aa49d01fcb0, 0xbe1e79f3fd01907e - .quad 0xc0733aa88065d7a0, 0xbe1e77bbb3a9c38a - .quad 0xc0733aac619dedb0, 0xbe1e7742719bf41d - .quad 0xc0733ab040acaa20, 0xbe1e79bcedaf79cb - .quad 0xc0733ab41d947450, 0xbe1e762d63cb7ca0 - .quad 0xc0733ab7f857af50, 0xbe1e77a07be83403 - .quad 0xc0733abbd0f8ba80, 0xbe1e7763ff836ad0 - .quad 0xc0733abfa779f130, 0xbe1e7737720ead39 - .quad 0xc0733ac37bddaad0, 0xbe1e7776a08e55e7 - .quad 0xc0733ac74e263af0, 0xbe1e793e3c52dd36 - .quad 0xc0733acb1e55f160, 0xbe1e788a94695051 - .quad 0xc0733aceec6f1a10, 0xbe1e76508114a813 - .quad 0xc0733ad2b873fd20, 0xbe1e76909457d23e - .quad 0xc0733ad68266df10, 0xbe1e7664a24f9ca4 - .quad 0xc0733ada4a4a0090, 0xbe1e7a07b3d44b18 - .quad 0xc0733ade101f9ee0, 0xbe1e76d87594704d - .quad 0xc0733ae1d3e9f340, 0xbe1e79563595a182 - .quad 0xc0733ae595ab33b0, 0xbe1e771880c3c6ab - .quad 0xc0733ae955659250, 0xbe1e78c171f517d4 - .quad 0xc0733aed131b3df0, 0xbe1e77eac3874666 - .quad 0xc0733af0cece61b0, 0xbe1e790db479d8f6 - .quad 0xc0733af488812550, 0xbe1e7965d1aa5c90 - .quad 0xc0733af84035ad10, 0xbe1e78ceb398ba47 - .quad 0xc0733afbf5ee19c0, 0xbe1e779cc0dcb5aa - .quad 0xc0733affa9ac88c0, 0xbe1e7871053953ed - .quad 0xc0733b035b731420, 0xbe1e7a082cffa71a - .quad 0xc0733b070b43d2a0, 0xbe1e7904b4382fad - .quad 0xc0733b0ab920d790, 0xbe1e79b458d0b4f3 - .quad 0xc0733b0e650c3310, 0xbe1e79d0ded414c6 - .quad 0xc0733b120f07f200, 0xbe1e763c357a1943 - .quad 0xc0733b15b7161dd0, 0xbe1e78b80ba6daaa - .quad 0xc0733b195d38bd00, 0xbe1e7998e23b8ffd - .quad 0xc0733b1d0171d2c0, 0xbe1e7974aa65ee8c - .quad 0xc0733b20a3c35f20, 0xbe1e76ccfde752ab - .quad 0xc0733b24442f5ef0, 0xbe1e77b4ff19debb - .quad 0xc0733b27e2b7cc10, 0xbe1e7772ee478542 - .quad 0xc0733b2b7f5e9d30, 0xbe1e781d81b58b44 - .quad 0xc0733b2f1a25c600, 0xbe1e78350d967565 - .quad 0xc0733b32b30f3720, 0xbe1e783888e48152 - .quad 0xc0733b364a1cde30, 0xbe1e78367bf7c111 - .quad 0xc0733b39df50a5d0, 0xbe1e7959e57ca47d - .quad 0xc0733b3d72ac75c0, 0xbe1e777322423222 - .quad 0xc0733b41043232b0, 0xbe1e767ce42a60aa - .quad 0xc0733b4493e3be70, 0xbe1e781d445aea19 - .quad 0xc0733b4821c2f800, 0xbe1e7922fca18e18 - .quad 0xc0733b4badd1bb80, 0xbe1e76fed3d40647 - .quad 0xc0733b4f3811e210, 0xbe1e793948c9eabc - .quad 0xc0733b52c0854240, 0xbe1e76e487656b8c - .quad 0xc0733b56472daf90, 0xbe1e780ab2f71223 - .quad 0xc0733b59cc0cfaf0, 0xbe1e77189120b09c - .quad 0xc0733b5d4f24f270, 0xbe1e7644a0343a12 - .quad 0xc0733b60d0776160, 0xbe1e78f2a3e4733d - .quad 0xc0733b6450061080, 0xbe1e7913b2f73ae5 - .quad 0xc0733b67cdd2c5c0, 0xbe1e7882d08393b5 - .quad 0xc0733b6b49df4470, 0xbe1e765e1b209979 - .quad 0xc0733b6ec42d4d20, 0xbe1e785c9c4620d4 - .quad 0xc0733b75b394f240, 0xbe1e78878cd0e956 - .quad 0xc0733b7c9c178630, 0xbe1e789a4112d90b - .quad 0xc0733b837dc2b0f0, 0xbe1e79050b8a1766 - .quad 0xc0733b8a58a3f220, 0xbe1e7790dffc47aa - .quad 0xc0733b912cc8a180, 0xbe1e77174593b06a - .quad 0xc0733b97fa3defb0, 0xbe1e7677de2d2ecc - .quad 0xc0733b9ec110e6b0, 0xbe1e76cff477ca18 - .quad 0xc0733ba5814e6a80, 0xbe1e78f8644dec7b - .quad 0xc0733bac3b0339d0, 0xbe1e764e1361788d - .quad 0xc0733bb2ee3bee30, 0xbe1e78c913e738de - .quad 0xc0733bb99b04fd30, 0xbe1e76666f5bddaa - .quad 0xc0733bc0416ab850, 0xbe1e77e87cbd8ab6 - .quad 0xc0733bc6e1794e10, 0xbe1e76f18ba1c966 - .quad 0xc0733bcd7b3cca10, 0xbe1e777c9461b8db - .quad 0xc0733bd40ec115d0, 0xbe1e78b78526ffac - .quad 0xc0733bda9c11f920, 0xbe1e7942abecfede - .quad 0xc0733be1233b1aa0, 0xbe1e76d8a684fd8c - .quad 0xc0733be7a4480010, 0xbe1e79622b539ac9 - .quad 0xc0733bee1f440f30, 0xbe1e7978e7cc20ea - .quad 0xc0733bf4943a8de0, 0xbe1e765c9c9de825 - .quad 0xc0733bfb0336a290, 0xbe1e775d8b138ee2 - .quad 0xc0733c016c435500, 0xbe1e78bf33465c2f - .quad 0xc0733c07cf6b8e80, 0xbe1e78164f7cc441 - .quad 0xc0733c0e2cba1a50, 0xbe1e7824e64d0b23 - .quad 0xc0733c148439a630, 0xbe1e78373ae7dd81 - .quad 0xc0733c1ad5f4c2c0, 0xbe1e7704513e0afe - .quad 0xc0733c2121f5e3d0, 0xbe1e7914aa84200f - .quad 0xc0733c2768476110, 0xbe1e76b1cde25cf6 - .quad 0xc0733c2da8f37600, 0xbe1e796120e3862d - .quad 0xc0733c33e40442e0, 0xbe1e78ec836d7e7b - .quad 0xc0733c3a1983cca0, 0xbe1e77fb13b7dabb - .quad 0xc0733c40497bfd70, 0xbe1e783c6fcb2404 - .quad 0xc0733c4673f6a530, 0xbe1e7628bb93dce8 - .quad 0xc0733c4c98fd7990, 0xbe1e7857a47b5001 - .quad 0xc0733c52b89a16d0, 0xbe1e76708dc2831f - .quad 0xc0733c58d2d5ffa0, 0xbe1e77b6038651f1 - .quad 0xc0733c5ee7ba9de0, 0xbe1e792e855bb5b2 - .quad 0xc0733c64f75142d0, 0xbe1e776cacd5c105 - .quad 0xc0733c6b01a32740, 0xbe1e77f8a8011315 - .quad 0xc0733c7106b96c30, 0xbe1e765cf3efcfde - .quad 0xc0733c77069d1ad0, 0xbe1e78d837d2efac - .quad 0xc0733c7d01572530, 0xbe1e78b615cf772c - .quad 0xc0733c82f6f06640, 0xbe1e7650bbbd7a25 - .quad 0xc0733c88e771a220, 0xbe1e78bcf3495872 - .quad 0xc0733c8ed2e386c0, 0xbe1e792266832e84 - .quad 0xc0733c94b94eabd0, 0xbe1e79c1c3c2ca52 - .quad 0xc0733c9a9abb9340, 0xbe1e78aa61e5807d - .quad 0xc0733ca07732a970, 0xbe1e7620fc4cf156 - .quad 0xc0733ca64ebc4570, 0xbe1e76b914a832c5 - .quad 0xc0733cac2160a970, 0xbe1e79227f72020e - .quad 0xc0733cb1ef280300, 0xbe1e77ac972cc008 - .quad 0xc0733cb7b81a6b10, 0xbe1e798089be41f4 - .quad 0xc0733cbd7c3fe6a0, 0xbe1e77942ae037fe - .quad 0xc0733cc33ba06690, 0xbe1e7956ae6463d9 - .quad 0xc0733cc8f643c850, 0xbe1e7918a50c7942 - .quad 0xc0733cceac31d5d0, 0xbe1e78308eeab604 - .quad 0xc0733cd45d7245e0, 0xbe1e76dd4ea88445 - .quad 0xc0733cda0a0cbc60, 0xbe1e77e7c1aa5909 - .quad 0xc0733cdfb208caa0, 0xbe1e7804b9d20e54 - .quad 0xc0733ce5556def70, 0xbe1e78f88e99d49c - .quad 0xc0733ceaf4439780, 0xbe1e787d74682d68 - .quad 0xc0733cf08e911d80, 0xbe1e76edc24fe6e7 - .quad 0xc0733cf6245dca50, 0xbe1e79b347ec86d2 - .quad 0xc0733cfbb5b0d580, 0xbe1e797cceb2c39b - .quad 0xc0733d0142916530, 0xbe1e783adbdc6aa1 - .quad 0xc0733d06cb068e70, 0xbe1e76e4c20e3d9e - .quad 0xc0733d0c4f175570, 0xbe1e77070bf3cf61 - .quad 0xc0733d11cecaadc0, 0xbe1e781c43502734 - .quad 0xc0733d174a277a80, 0xbe1e78b11268ea72 - .quad 0xc0733d1cc1348e90, 0xbe1e7754b83bfc7d - .quad 0xc0733d2233f8acb0, 0xbe1e7756c29bf5e9 - .quad 0xc0733d27a27a87d0, 0xbe1e7952fc1d9333 - .quad 0xc0733d2d0cc0c350, 0xbe1e778c76ae6077 - .quad 0xc0733d3272d1f2e0, 0xbe1e7a1896ba8f43 - .quad 0xc0733d37d4b49b30, 0xbe1e76dafdf432d8 - .quad 0xc0733d3d326f3180, 0xbe1e795330184013 - .quad 0xc0733d428c081c80, 0xbe1e763cc774d30f - .quad 0xc0733d47e185b3d0, 0xbe1e77030a779c0a - .quad 0xc0733d4d32ee40b0, 0xbe1e7908af2a2d7e - .quad 0xc0733d528047fe00, 0xbe1e78c4953b797d - .quad 0xc0733d57c9991850, 0xbe1e78b43b096579 - .quad 0xc0733d5d0ee7ae30, 0xbe1e7824ae0a4804 - .quad 0xc0733d625039d040, 0xbe1e79d2b2fbb740 - .quad 0xc0733d678d958190, 0xbe1e7662de59a1a6 - .quad 0xc0733d6cc700b760, 0xbe1e76b251d59aaa - .quad 0xc0733d71fc8159b0, 0xbe1e7a00cfd1f487 - .quad 0xc0733d772e1d4360, 0xbe1e77f4d246167e - .quad 0xc0733d7c5bda4200, 0xbe1e767a4ee8e6fc - .quad 0xc0733d8185be1640, 0xbe1e777ccf0a8aed - .quad 0xc0733d86abce7420, 0xbe1e767d7e279ada - .quad 0xc0733d8bce1102d0, 0xbe1e7a05cef4bb90 - .quad 0xc0733d90ec8b5d40, 0xbe1e78f75369be5b - .quad 0xc0733d96074311d0, 0xbe1e77b9612e8c8a - .quad 0xc0733d9b1e3da2b0, 0xbe1e794518b9adeb - .quad 0xc0733da031808620, 0xbe1e7810626fb934 - .quad 0xc0733da541112650, 0xbe1e76d87223fa6d - .quad 0xc0733daa4cf4e1a0, 0xbe1e794c5e7ca3b5 - .quad 0xc0733daf55310af0, 0xbe1e789856ef816f - .quad 0xc0733db459cae970, 0xbe1e77d2004effbd - .quad 0xc0733db95ac7b8f0, 0xbe1e78467d31eb9c - .quad 0xc0733dbe582caa00, 0xbe1e79aaa4e25787 - .quad 0xc0733dc351fee220, 0xbe1e762de8f107bf - .quad 0xc0733dc848437b90, 0xbe1e7670670a63fe - .quad 0xc0733dcd3aff85d0, 0xbe1e795ca237c6cc - .quad 0xc0733dd22a3805b0, 0xbe1e77e55c53c1d9 - .quad 0xc0733dd715f1f520, 0xbe1e78a806213ac4 - .quad 0xc0733ddbfe3243b0, 0xbe1e77743a2bc615 - .quad 0xc0733de0e2fdd660, 0xbe1e78b8b45b0b7d - .quad 0xc0733de5c4598800, 0xbe1e78d635f2f4b9 - .quad 0xc0733deaa24a2920, 0xbe1e7758c396a11e - .quad 0xc0733def7cd48020, 0xbe1e7a17a8cc454c - .quad 0xc0733df453fd49a0, 0xbe1e783caa73f616 - .quad 0xc0733df927c93820, 0xbe1e7932cfa29664 - .quad 0xc0733dfdf83cf490, 0xbe1e777d265c72a6 - .quad 0xc0733e02c55d1e10, 0xbe1e7775e7c03c60 - .quad 0xc0733e078f2e4a40, 0xbe1e79f65d52d232 - .quad 0xc0733e0c55b50570, 0xbe1e76e7e7464b4e - .quad 0xc0733e1118f5d250, 0xbe1e77be81cad877 - .quad 0xc0733e15d8f52a80, 0xbe1e79dd25b5fb3a - .quad 0xc0733e1a95b77e80, 0xbe1e78e45f1418ef - .quad 0xc0733e1f4f4135a0, 0xbe1e78eb7289505b - .quad 0xc0733e240596ae50, 0xbe1e78a468c07cad - .quad 0xc0733e28b8bc3e20, 0xbe1e776b558a4009 - .quad 0xc0733e2d68b631d0, 0xbe1e77412eb9941e - .quad 0xc0733e321588cd80, 0xbe1e76b2853f845e - .quad 0xc0733e36bf384cb0, 0xbe1e76aa7184273c - .quad 0xc0733e3b65c8e260, 0xbe1e7832027f78fa - .quad 0xc0733e40093eb930, 0xbe1e7a1c7da131f5 - .quad 0xc0733e44a99df380, 0xbe1e76a0bc2ae4bc - .quad 0xc0733e4946eaab30, 0xbe1e78dff13b6f5d - .quad 0xc0733e4de128f250, 0xbe1e765a226dea2c - .quad 0xc0733e52785cd290, 0xbe1e78509b989111 - .quad 0xc0733e570c8a4de0, 0xbe1e7916a4e9803d - .quad 0xc0733e5b9db55e30, 0xbe1e7950c15758cc - .quad 0xc0733e602be1f5a0, 0xbe1e7922ba1ad420 - .quad 0xc0733e64b713fe90, 0xbe1e794cbaabcef6 - .quad 0xc0733e693f4f5bc0, 0xbe1e7837bf883fed - .quad 0xc0733e6dc497e850, 0xbe1e76f198ddbbdf - .quad 0xc0733e7246f177d0, 0xbe1e7a18c1067764 - .quad 0xc0733e76c65fd6a0, 0xbe1e76b845a8fd9d - .quad 0xc0733e7b42e6c970, 0xbe1e7714012df506 - .quad 0xc0733e7fbc8a0de0, 0xbe1e7765612922cd - .quad 0xc0733e84334d5a50, 0xbe1e7688f5424a00 - .quad 0xc0733e88a7345df0, 0xbe1e769d011f6663 - .quad 0xc0733e8d1842c0e0, 0xbe1e79914acbfaf7 - .quad 0xc0733e91867c2460, 0xbe1e79a85e189bd7 - .quad 0xc0733e95f1e422a0, 0xbe1e79ea7c726432 - .quad 0xc0733e9a5a7e4f10, 0xbe1e768a6fbb8e6e - .quad 0xc0733e9ec04e3620, 0xbe1e793c75bcc9fc - .quad 0xc0733ea323575dd0, 0xbe1e797f78da13d4 - .quad 0xc0733ea7839d4550, 0xbe1e78d8c9cda978 - .quad 0xc0733eabe1236540, 0xbe1e77028d480fff - .quad 0xc0733eb03bed2fa0, 0xbe1e7a0d0f74ff7c - .quad 0xc0733eb493fe1040, 0xbe1e76732e8a35fb - .quad 0xc0733eb8e9596c30, 0xbe1e77220caeabeb - .quad 0xc0733ebd3c02a260, 0xbe1e797438b645ef - .quad 0xc0733ec18bfd0b80, 0xbe1e79207c5fd6e8 - .quad 0xc0733ec5d94bf9f0, 0xbe1e781c7df8f946 - .quad 0xc0733eca23f2b9f0, 0xbe1e76736284e2db - .quad 0xc0733ece6bf49190, 0xbe1e7a109cc0c3f5 - .quad 0xc0733ed2b154c120, 0xbe1e767f14a16d50 - .quad 0xc0733ed6f4168290, 0xbe1e789cd22acaf0 - .quad 0xc0733edb343d0a40, 0xbe1e764355ca28ad - .quad 0xc0733edf71cb8660, 0xbe1e79e4c7a81c45 - .quad 0xc0733ee3acc51fb0, 0xbe1e761e26b644c2 - .quad 0xc0733ee7e52cf8c0, 0xbe1e793e9f8fbdd3 - .quad 0xc0733eec1b062ed0, 0xbe1e78c432991c20 - .quad 0xc0733ef04e53d940, 0xbe1e78cdd025f4d8 - .quad 0xc0733ef47f1909f0, 0xbe1e778310c6446e - .quad 0xc0733ef8ad58cd20, 0xbe1e7871af3d6e17 - .quad 0xc0733efcd91629b0, 0xbe1e77e0e906f697 - .quad 0xc0733f01025420f0, 0xbe1e7a1ae9b27892 - .quad 0xc0733f052915af00, 0xbe1e76ac64c88f9d - .quad 0xc0733f094d5dca60, 0xbe1e779a815589c4 - .quad 0xc0733f0d6f2f6480, 0xbe1e788f39a4864c - .quad 0xc0733f118e8d6980, 0xbe1e79fc51263525 - .quad 0xc0733f15ab7ac060, 0xbe1e783501f19e90 - .quad 0xc0733f19c5fa4ae0, 0xbe1e767e82c327ab - .quad 0xc0733f1dde0ee5a0, 0xbe1e7a1785d66123 - .quad 0xc0733f21f3bb6870, 0xbe1e7936d07203da - .quad 0xc0733f260702a5e0, 0xbe1e7a010a7ac699 - .quad 0xc0733f2a17e76bb0, 0xbe1e7975e4e16312 - .quad 0xc0733f2e266c82b0, 0xbe1e7654b5422330 - .quad 0xc0733f323294aeb0, 0xbe1e77f8a4909d35 - .quad 0xc0733f363c62aee0, 0xbe1e792c8e30d226 - .quad 0xc0733f3a43d93da0, 0xbe1e76f6ac67a1ff - .quad 0xc0733f3e48fb1070, 0xbe1e775c2e97715a - .quad 0xc0733f424bcad840, 0xbe1e781cd54ae100 - /*== Log_LA_table ==*/ - .align 32 - .quad 0x0000000000000000 - .quad 0xbf4bc48a867884b7 - .quad 0xbf5bbd9e9482af09 - .quad 0xbf64c9096b94befd - .quad 0xbf6bafd47221ed26 - .quad 0xbf714999e2ad8ea6 - .quad 0xbf74b99563d2a1bd - .quad 0xbf7827de6b310350 - .quad 0xbf7b9476a4fcd10f - .quad 0xbf7eff5fbaf25781 - .quad 0xbf81344daa2d7553 - .quad 0xbf82e8158b08d957 - .quad 0xbf849b0851443684 - .quad 0xbf864d26cce610dd - .quad 0xbf87fe71ccc4e6b0 - .quad 0xbf89aeea1e897fdf - .quad 0xbf8b5e908eb13790 - .quad 0xbf8d0d65e890405a - .quad 0xbf8ebb6af653e2ee - .quad 0xbf90345040825bad - .quad 0xbf910a83a8446c78 - .quad 0xbf91e05015d30a71 - .quad 0xbf92b5b5ec0209d3 - .quad 0xbf938ab58d173e91 - .quad 0xbf945f4f5acb8be0 - .quad 0xbf953383b64bf13f - .quad 0xbf960753003a94ef - .quad 0xbf96dabd98afcc05 - .quad 0xbf97adc3df3b1ff8 - .quad 0xbf98806632e451d0 - .quad 0xbf9952a4f22c5ae9 - .quad 0xbf9a24807b0e6b5c - .quad 0xbf9af5f92b00e610 - .quad 0xbf9bc70f5ef65a77 - .quad 0xbf9c97c3735e7c0a - .quad 0xbf9d6815c4271775 - .quad 0xbf9e3806acbd058f - .quad 0xbf9f0796880d1c19 - .quad 0xbf9fd6c5b0851c4c - .quad 0xbfa052ca400a4f9b - .quad 0xbfa0ba01a8170000 - .quad 0xbfa121093ce3a205 - .quad 0xbfa187e12aad8077 - .quad 0xbfa1ee899d74a03e - .quad 0xbfa25502c0fc314c - .quad 0xbfa2bb4cc0cafe8d - .quad 0xbfa32167c82bdcda - .quad 0xbfa38754022e18e2 - .quad 0xbfa3ed1199a5e425 - .quad 0xbfa452a0b92cc0ec - .quad 0xbfa4b8018b21ed4f - .quad 0xbfa51d3439aacd4a - .quad 0xbfa58238eeb353da - .quad 0xbfa5e70fd3ee6b34 - .quad 0xbfa64bb912d65c07 - .quad 0xbfa6b034d4ad33df - .quad 0xbfa71483427d2a99 - .quad 0xbfa778a4851906f3 - .quad 0xbfa7dc98c51c8242 - .quad 0xbfa840602aecab3d - .quad 0xbfa8a3fadeb847f4 - .quad 0xbfa90769087836e4 - .quad 0xbfa96aaacfefcf3c - .quad 0xbfa9cdc05cad4042 - .quad 0xbfaa30a9d609efea - .quad 0xbfaa9367632ad897 - .quad 0xbfaaf5f92b00e610 - .quad 0xbfab585f544951a4 - .quad 0xbfabba9a058dfd84 - .quad 0xbfac1ca96525cf56 - .quad 0xbfac7e8d993509f9 - .quad 0xbface046c7ada68d - .quad 0xbfad41d5164facb4 - .quad 0xbfada338aaa98a0c - .quad 0xbfae0471aa1868f5 - .quad 0xbfae658039c88690 - .quad 0xbfaec6647eb58808 - .quad 0xbfaf271e9daacf20 - .quad 0xbfaf87aebb43ce06 - .quad 0xbfafe814fbec5a77 - .quad 0xbfb02428c1f08016 - .quad 0xbfb054323b97a948 - .quad 0xbfb08426fcdb1ee7 - .quad 0xbfb0b40717932b96 - .quad 0xbfb0e3d29d81165e - .quad 0xbfb11389a04f4a2e - .quad 0xbfb1432c31917d08 - .quad 0xbfb172ba62c4d6de - .quad 0xbfb1a23445501816 - .quad 0xbfb1d199ea83bfbe - .quad 0xbfb200eb639a3173 - .quad 0xbfb23028c1b7daed - .quad 0xbfb25f5215eb594a - .quad 0xbfb28e67712d9dfc - .quad 0xbfb2bd68e4621371 - .quad 0xbfb2ec568056c16f - .quad 0xbfb31b3055c47118 - .quad 0xbfb349f6754ed0b4 - .quad 0xbfb378a8ef84971e - .quad 0xbfb3a747d4dfa6f5 - .quad 0xbfb3d5d335c53179 - .quad 0xbfb4044b2285d925 - .quad 0xbfb432afab5dd3ff - .quad 0xbfb46100e0750da1 - .quad 0xbfb48f3ed1df48fb - .quad 0xbfb4bd698f9c41cf - .quad 0xbfb4eb812997cde4 - .quad 0xbfb51985afa9fdfd - .quad 0xbfb5477731973e85 - .quad 0xbfb57555bf1077f5 - .quad 0xbfb5a32167b32f02 - .quad 0xbfb5d0da3b09a47e - .quad 0xbfb5fe80488af4fd - .quad 0xbfb62c139f9b3837 - .quad 0xbfb659944f8ba02d - .quad 0xbfb68702679a980a - .quad 0xbfb6b45df6f3e2c9 - .quad 0xbfb6e1a70cb0b99a - .quad 0xbfb70eddb7d7ea07 - .quad 0xbfb73c02075df3e5 - .quad 0xbfb769140a2526fd - .quad 0xbfb79613cefdc07d - .quad 0xbfb7c30164a60836 - .quad 0xbfb7efdcd9ca6d8f - .quad 0xbfb81ca63d05a44a - .quad 0xbfb8495d9ce0c10c - .quad 0xbfb8760307d355ab - .quad 0xbfb8a2968c438d41 - .quad 0xbfb8cf183886480d - .quad 0xbfb8fb881adf3713 - .quad 0xbfb927e64180f790 - .quad 0xbfb95432ba8d2e2f - .quad 0xbfb9806d9414a209 - .quad 0xbfb9ac96dc175776 - .quad 0xbfb9d8aea084aa9c - .quad 0xbfba04b4ef3b69d8 - .quad 0xbfba30a9d609efea - .quad 0xbfba5c8d62ae3dec - .quad 0xbfba885fa2d6151e - .quad 0xbfbab420a41f1076 - .quad 0xbfbadfd07416be07 - .quad 0xbfbb0b6f203ab82c - .quad 0xbfbb36fcb5f8be8a - .quad 0xbfbb627942aecedd - .quad 0xbfbb8de4d3ab3d98 - .quad 0xbfbbb93f762cce4f - .quad 0xbfbbe4893762cbf7 - .quad 0xbfbc0fc2246d20f5 - .quad 0xbfbc3aea4a5c6eff - .quad 0xbfbc6601b63226cb - .quad 0xbfbc910874e09f98 - .quad 0xbfbcbbfe934b2e81 - .quad 0xbfbce6e41e463da5 - .quad 0xbfbd11b92297632b - .quad 0xbfbd3c7dacf5780b - .quad 0xbfbd6731ca08aeb9 - .quad 0xbfbd91d5866aa99c - .quad 0xbfbdbc68eea6915b - .quad 0xbfbde6ec0f392b05 - .quad 0xbfbe115ef490ee07 - .quad 0xbfbe3bc1ab0e19fe - .quad 0xbfbe66143f02cc5d - .quad 0xbfbe9056bcb315e8 - .quad 0xbfbeba893055100b - .quad 0xbfbee4aba610f204 - .quad 0xbfbf0ebe2a0125eb - .quad 0xbfbf38c0c8325d86 - .quad 0xbfbf62b38ca3a706 - .quad 0xbfbf8c9683468191 - .quad 0xbfbfb669b7fef1a8 - .quad 0xbfbfe02d36a3956d - .quad 0xbfc004f0857edc5c - .quad 0xbfc019c2a064b486 - .quad 0xbfc02e8cf1dac4b8 - .quad 0xbfc0434f7fb1f307 - .quad 0xbfc0580a4fb4a3df - .quad 0xbfc06cbd67a6c3b6 - .quad 0xbfc08168cd45d0a9 - .quad 0xbfc0960c8648e406 - .quad 0xbfc0aaa89860bbcf - .quad 0xbfc0bf3d0937c41c - .quad 0xbfc0d3c9de722078 - .quad 0xbfc0e84f1dadb526 - .quad 0xbfc0fccccc823059 - .quad 0xbfc11142f0811357 - .quad 0xbfc125b18f35bb8e - .quad 0xbfc13a18ae256b99 - .quad 0xbfc14e7852cf5430 - .quad 0xbfc162d082ac9d10 - .quad 0xbfc1772143306dc6 - .quad 0xbfc18b6a99c7f679 - .quad 0xbfc19fac8bda7897 - .quad 0xbfc1b3e71ec94f7b - .quad 0xbfc1c81a57eff8fd - .quad 0xbfc1dc463ca41df8 - .quad 0xbfc1f06ad2359abd - .quad 0xbfc204881dee8777 - .quad 0xbfc2189e25134081 - .quad 0xbfc22cacece26ead - .quad 0xbfc240b47a950f79 - .quad 0xbfc254b4d35e7d3c - .quad 0xbfc268adfc6c773e - .quad 0xbfc27c9ffae729c1 - .quad 0xbfc2908ad3f13603 - .quad 0xbfc2a46e8ca7ba2a - .quad 0xbfc2b84b2a225923 - .quad 0xbfc2cc20b1734279 - .quad 0xbfc2dfef27a73a18 - .quad 0xbfc2f3b691c5a001 - .quad 0xbfc30776f4d077f7 - .quad 0xbfc31b3055c47118 - .quad 0xbfc32ee2b998ed6e - .quad 0xbfc3428e2540096d - .quad 0x3fc331f403985097 - .quad 0x3fc31e56798a910a - .quad 0x3fc30abfd8f333b6 - .quad 0x3fc2f7301cf4e87b - .quad 0x3fc2e3a740b7800f - .quad 0x3fc2d0253f67e4cb - .quad 0x3fc2bcaa14381386 - .quad 0x3fc2a935ba5f1479 - .quad 0x3fc295c82d18f434 - .quad 0x3fc2826167a6bc9c - .quad 0x3fc26f01654e6df6 - .quad 0x3fc25ba8215af7fc - .quad 0x3fc24855971c3307 - .quad 0x3fc23509c1e6d937 - .quad 0x3fc221c49d147fb3 - .quad 0x3fc20e8624038fed - .quad 0x3fc1fb4e521740f4 - .quad 0x3fc1e81d22b790d4 - .quad 0x3fc1d4f291513e01 - .quad 0x3fc1c1ce9955c0c6 - .quad 0x3fc1aeb1363b44c8 - .quad 0x3fc19b9a637ca295 - .quad 0x3fc1888a1c995931 - .quad 0x3fc175805d1587c1 - .quad 0x3fc1627d2079e731 - .quad 0x3fc14f806253c3ed - .quad 0x3fc13c8a1e34f7a0 - .quad 0x3fc1299a4fb3e306 - .quad 0x3fc116b0f26b67bb - .quad 0x3fc103ce01fae223 - .quad 0x3fc0f0f17a062353 - .quad 0x3fc0de1b56356b04 - .quad 0x3fc0cb4b9235619a - .quad 0x3fc0b88229b71227 - .quad 0x3fc0a5bf186fe483 - .quad 0x3fc093025a19976c - .quad 0x3fc0804bea723aa9 - .quad 0x3fc06d9bc53c2941 - .quad 0x3fc05af1e63e03b4 - .quad 0x3fc0484e4942aa43 - .quad 0x3fc035b0ea19373b - .quad 0x3fc02319c494f951 - .quad 0x3fc01088d48d6e03 - .quad 0x3fbffbfc2bbc7803 - .quad 0x3fbfd6f308ce5b52 - .quad 0x3fbfb1f6381856f4 - .quad 0x3fbf8d05b16a6d47 - .quad 0x3fbf68216c9cc727 - .quad 0x3fbf4349618fa91a - .quad 0x3fbf1e7d882b689a - .quad 0x3fbef9bdd860616b - .quad 0x3fbed50a4a26eafc - .quad 0x3fbeb062d57f4de8 - .quad 0x3fbe8bc77271b97a - .quad 0x3fbe6738190e394c - .quad 0x3fbe42b4c16caaf3 - .quad 0x3fbe1e3d63acb3ba - .quad 0x3fbdf9d1f7f5b674 - .quad 0x3fbdd5727676c959 - .quad 0x3fbdb11ed766abf4 - .quad 0x3fbd8cd71303bd26 - .quad 0x3fbd689b2193f133 - .quad 0x3fbd446afb64c7e5 - .quad 0x3fbd204698cb42bd - .quad 0x3fbcfc2df223db2d - .quad 0x3fbcd820ffd278f3 - .quad 0x3fbcb41fba42686d - .quad 0x3fbc902a19e65111 - .quad 0x3fbc6c4017382bea - .quad 0x3fbc4861aab93a23 - .quad 0x3fbc248eccf1fba6 - .quad 0x3fbc00c7767225cb - .quad 0x3fbbdd0b9fd09a10 - .quad 0x3fbbb95b41ab5ce6 - .quad 0x3fbb95b654a78c87 - .quad 0x3fbb721cd17157e3 - .quad 0x3fbb4e8eb0bbf58f - .quad 0x3fbb2b0beb419ad0 - .quad 0x3fbb079479c372ad - .quad 0x3fbae4285509950b - .quad 0x3fbac0c775e2fde6 - .quad 0x3fba9d71d5258484 - .quad 0x3fba7a276badd2c8 - .quad 0x3fba56e8325f5c87 - .quad 0x3fba33b4222456f1 - .quad 0x3fba108b33edb005 - .quad 0x3fb9ed6d60b30612 - .quad 0x3fb9ca5aa1729f45 - .quad 0x3fb9a752ef316149 - .quad 0x3fb9845642fac8f0 - .quad 0x3fb9616495e0e1e8 - .quad 0x3fb93e7de0fc3e80 - .quad 0x3fb91ba21d6bef77 - .quad 0x3fb8f8d144557bdf - .quad 0x3fb8d60b4ee4d901 - .quad 0x3fb8b350364c6257 - .quad 0x3fb8909ff3c4d191 - .quad 0x3fb86dfa808d36a0 - .quad 0x3fb84b5fd5eaefd8 - .quad 0x3fb828cfed29a215 - .quad 0x3fb8064abf9b30f1 - .quad 0x3fb7e3d04697b704 - .quad 0x3fb7c1607b7d7e32 - .quad 0x3fb79efb57b0f803 - .quad 0x3fb77ca0d49cb608 - .quad 0x3fb75a50ebb1624a - .quad 0x3fb7380b9665b7c8 - .quad 0x3fb715d0ce367afc - .quad 0x3fb6f3a08ca67270 - .quad 0x3fb6d17acb3e5f5e - .quad 0x3fb6af5f838cf654 - .quad 0x3fb68d4eaf26d7ee - .quad 0x3fb66b4847a68997 - .quad 0x3fb6494c46ac6e4d - .quad 0x3fb6275aa5debf81 - .quad 0x3fb605735ee985f1 - .quad 0x3fb5e3966b7e9295 - .quad 0x3fb5c1c3c5557799 - .quad 0x3fb59ffb662b815c - .quad 0x3fb57e3d47c3af7b - .quad 0x3fb55c8963e6adeb - .quad 0x3fb53adfb462ce16 - .quad 0x3fb51940330c000b - .quad 0x3fb4f7aad9bbcbaf - .quad 0x3fb4d61fa2514a00 - .quad 0x3fb4b49e86b11e5f - .quad 0x3fb4932780c56fe2 - .quad 0x3fb471ba8a7de2b7 - .quad 0x3fb450579dcf9186 - .quad 0x3fb42efeb4b506e9 - .quad 0x3fb40dafc92e36e2 - .quad 0x3fb3ec6ad5407868 - .quad 0x3fb3cb2fd2f67ef1 - .quad 0x3fb3a9febc60540a - .quad 0x3fb388d78b9350ff - .quad 0x3fb367ba3aaa1883 - .quad 0x3fb346a6c3c49066 - .quad 0x3fb3259d2107db54 - .quad 0x3fb3049d4c9e52a0 - .quad 0x3fb2e3a740b7800f - .quad 0x3fb2c2baf78817b7 - .quad 0x3fb2a1d86b49f1e2 - .quad 0x3fb280ff963c04fc - .quad 0x3fb2603072a25f82 - .quad 0x3fb23f6afac6220a - .quad 0x3fb21eaf28f57941 - .quad 0x3fb1fdfcf7839804 - .quad 0x3fb1dd5460c8b16f - .quad 0x3fb1bcb55f21f307 - .quad 0x3fb19c1fecf17ee0 - .quad 0x3fb17b94049e65d0 - .quad 0x3fb15b11a094a1aa - .quad 0x3fb13a98bb450f81 - .quad 0x3fb11a294f2569f6 - .quad 0x3fb0f9c356b04389 - .quad 0x3fb0d966cc6500fa - .quad 0x3fb0b913aac7d3a7 - .quad 0x3fb098c9ec61b3ff - .quad 0x3fb078898bc05bf4 - .quad 0x3fb0585283764178 - .quad 0x3fb03824ce1a9101 - .quad 0x3fb0180066492817 - .quad 0x3fafefca8d451fd6 - .quad 0x3fafafa6d397efdb - .quad 0x3faf6f9594de60f0 - .quad 0x3faf2f96c6754aee - .quad 0x3faeefaa5dc2b239 - .quad 0x3faeafd05035bd3b - .quad 0x3fae70089346a9e6 - .quad 0x3fae30531c76c34a - .quad 0x3fadf0afe1505738 - .quad 0x3fadb11ed766abf4 - .quad 0x3fad719ff455f5f7 - .quad 0x3fad32332dc34dbd - .quad 0x3facf2d8795ca5a5 - .quad 0x3facb38fccd8bfdb - .quad 0x3fac74591df72456 - .quad 0x3fac3534628016dd - .quad 0x3fabf62190448d22 - .quad 0x3fabb7209d1e24e5 - .quad 0x3fab78317eef1a29 - .quad 0x3fab39542ba23d73 - .quad 0x3faafa88992aea19 - .quad 0x3faabbcebd84fca0 - .quad 0x3faa7d268eb4c924 - .quad 0x3faa3e9002c711d2 - .quad 0x3faa000b0fd0fd6b - .quad 0x3fa9c197abf00dd7 - .quad 0x3fa98335cd4a16c3 - .quad 0x3fa944e56a0d3450 - .quad 0x3fa906a6786fc1cb - .quad 0x3fa8c878eeb05074 - .quad 0x3fa88a5cc3159e53 - .quad 0x3fa84c51ebee8d15 - .quad 0x3fa80e585f9218fc - .quad 0x3fa7d070145f4fd7 - .quad 0x3fa7929900bd4809 - .quad 0x3fa754d31b1b179c - .quad 0x3fa7171e59efcb5f - .quad 0x3fa6d97ab3ba5e10 - .quad 0x3fa69be81f01af99 - .quad 0x3fa65e6692547c4e - .quad 0x3fa620f604495440 - .quad 0x3fa5e3966b7e9295 - .quad 0x3fa5a647be9a54f6 - .quad 0x3fa56909f44a72fe - .quad 0x3fa52bdd034475b8 - .quad 0x3fa4eec0e2458f30 - .quad 0x3fa4b1b588129203 - .quad 0x3fa474baeb77e904 - .quad 0x3fa437d103498eec - .quad 0x3fa3faf7c663060e - .quad 0x3fa3be2f2ba7501f - .quad 0x3fa381772a00e604 - .quad 0x3fa344cfb861afae - .quad 0x3fa30838cdc2fbfd - .quad 0x3fa2cbb2612578b4 - .quad 0x3fa28f3c69912a74 - .quad 0x3fa252d6de1564c1 - .quad 0x3fa21681b5c8c213 - .quad 0x3fa1da3ce7c91bf8 - .quad 0x3fa19e086b3b8333 - .quad 0x3fa161e4374c37f4 - .quad 0x3fa125d0432ea20e - .quad 0x3fa0e9cc861d4944 - .quad 0x3fa0add8f759cd95 - .quad 0x3fa071f58e2cdf9b - .quad 0x3fa0362241e638ec - .quad 0x3f9ff4be13b92920 - .quad 0x3f9f7d57badb4ee8 - .quad 0x3f9f061167fc31e8 - .quad 0x3f9e8eeb09f2f6cb - .quad 0x3f9e17e48fa48962 - .quad 0x3f9da0fde8038de9 - .quad 0x3f9d2a3702105259 - .quad 0x3f9cb38fccd8bfdb - .quad 0x3f9c3d0837784c41 - .quad 0x3f9bc6a03117eb97 - .quad 0x3f9b5057a8ee01ce - .quad 0x3f9ada2e8e3e546f - .quad 0x3f9a6424d059fc68 - .quad 0x3f99ee3a5e9f57e8 - .quad 0x3f99786f2879fc53 - .quad 0x3f9902c31d62a843 - .quad 0x3f988d362cdf359e - .quad 0x3f9817c846828bbd - .quad 0x3f97a27959ec91aa - .quad 0x3f972d4956ca2067 - .quad 0x3f96b8382cd4f551 - .quad 0x3f964345cbd3a491 - .quad 0x3f95ce7223998b98 - .quad 0x3f9559bd2406c3ba - .quad 0x3f94e526bd0814d1 - .quad 0x3f9470aede96e7f2 - .quad 0x3f93fc5578b93a38 - .quad 0x3f93881a7b818f9e - .quad 0x3f9313fdd70ee5e8 - .quad 0x3f929fff7b8ca79d - .quad 0x3f922c1f59329f1b - .quad 0x3f91b85d6044e9ae - .quad 0x3f9144b98113eac0 - .quad 0x3f90d133abfc3f1b - .quad 0x3f905dcbd166b033 - .quad 0x3f8fd503c3904f1d - .quad 0x3f8eeeab9b43445d - .quad 0x3f8e088f0b004827 - .quad 0x3f8d22adf3f9579d - .quad 0x3f8c3d0837784c41 - .quad 0x3f8b579db6dec358 - .quad 0x3f8a726e53a6056e - .quad 0x3f898d79ef5eedf0 - .quad 0x3f88a8c06bb1d2f4 - .quad 0x3f87c441aa5e6d15 - .quad 0x3f86dffd8d3bbf70 - .quad 0x3f85fbf3f637ffc5 - .quad 0x3f851824c7587eb0 - .quad 0x3f84348fe2b99002 - .quad 0x3f8351352a8e733f - .quad 0x3f826e1481213c2e - .quad 0x3f818b2dc8d2bb91 - .quad 0x3f80a880e41a67f6 - .quad 0x3f7f8c1b6b0c8d4e - .quad 0x3f7dc7a83f75a96d - .quad 0x3f7c03a80ae5e054 - .quad 0x3f7a401a92ff827e - .quad 0x3f787cff9d9147a5 - .quad 0x3f76ba56f09621bc - .quad 0x3f74f8205235102d - .quad 0x3f73365b88c0f347 - .quad 0x3f7175085ab85ff0 - .quad 0x3f6f684d1d8ae702 - .quad 0x3f6be76bd77b4fc3 - .quad 0x3f68676c71434fb9 - .quad 0x3f64e84e793a474a - .quad 0x3f616a117e0d4b30 - .quad 0x3f5bd96a1d7d9cbc - .quad 0x3f54e071754c98ba - .quad 0x3f4bd27045bfd025 - .quad 0x3f3bcef518e29612 - .quad 0x8000000000000000 - /*== poly_coeff[5] ==*/ - .align 32 - .quad 0x3fb63C65231FBD16, 0x3fb63C65231FBD16, 0x3fb63C65231FBD16, 0x3fb63C65231FBD16 /* coeff5 */ - .quad 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B /* coeff4 */ - .quad 0x3fc287A7636F341E, 0x3fc287A7636F341E, 0x3fc287A7636F341E, 0x3fc287A7636F341E /* coeff3 */ - .quad 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36 /* coeff2 */ - .quad 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E /* coeff1 */ - /*== ExpMask ==*/ - .align 32 - .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 32 - .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 - /*== MinNorm ==*/ - .align 32 - .quad 0x0010000000000000, 0x0010000000000000, 0x0010000000000000, 0x0010000000000000 - /*== MaxNorm ==*/ - .align 32 - .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff - /*== HalfMask ==*/ - .align 32 - .quad 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== Threshold ==*/ - .align 32 - .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 32 - .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 32 - .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 - /*== L2 ==*/ - .align 32 - .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff - .align 32 - .type __svml_dlog10_data_internal,@object - .size __svml_dlog10_data_internal,.-__svml_dlog10_data_internal + /* Log_HA_table */ + .quad 0xc0733a7146f6b080, 0xbe1e707ce619c200 + .quad 0xc0733a7547771970, 0xbe1e79c6c06d6f51 + .quad 0xc0733a7945aacb70, 0xbe1e78e225fad29c + .quad 0xc0733a7d41946970, 0xbe1e76d607f9693b + .quad 0xc0733a813b3691f0, 0xbe1e7704b3e0685b + .quad 0xc0733a853293df00, 0xbe1e79c1216a27fa + .quad 0xc0733a8927aee660, 0xbe1e76dce5734a81 + .quad 0xc0733a8d1a8a3920, 0xbe1e782ee2ca4dba + .quad 0xc0733a910b286430, 0xbe1e7812d1a0a61f + .quad 0xc0733a94f98bf010, 0xbe1e77e1b5ecbc61 + .quad 0xc0733a98e5b76100, 0xbe1e76635cac1586 + .quad 0xc0733a9ccfad36f0, 0xbe1e7638f7968f32 + .quad 0xc0733aa0b76feda0, 0xbe1e7840ee76e365 + .quad 0xc0733aa49d01fcb0, 0xbe1e79f3fd01907e + .quad 0xc0733aa88065d7a0, 0xbe1e77bbb3a9c38a + .quad 0xc0733aac619dedb0, 0xbe1e7742719bf41d + .quad 0xc0733ab040acaa20, 0xbe1e79bcedaf79cb + .quad 0xc0733ab41d947450, 0xbe1e762d63cb7ca0 + .quad 0xc0733ab7f857af50, 0xbe1e77a07be83403 + .quad 0xc0733abbd0f8ba80, 0xbe1e7763ff836ad0 + .quad 0xc0733abfa779f130, 0xbe1e7737720ead39 + .quad 0xc0733ac37bddaad0, 0xbe1e7776a08e55e7 + .quad 0xc0733ac74e263af0, 0xbe1e793e3c52dd36 + .quad 0xc0733acb1e55f160, 0xbe1e788a94695051 + .quad 0xc0733aceec6f1a10, 0xbe1e76508114a813 + .quad 0xc0733ad2b873fd20, 0xbe1e76909457d23e + .quad 0xc0733ad68266df10, 0xbe1e7664a24f9ca4 + .quad 0xc0733ada4a4a0090, 0xbe1e7a07b3d44b18 + .quad 0xc0733ade101f9ee0, 0xbe1e76d87594704d + .quad 0xc0733ae1d3e9f340, 0xbe1e79563595a182 + .quad 0xc0733ae595ab33b0, 0xbe1e771880c3c6ab + .quad 0xc0733ae955659250, 0xbe1e78c171f517d4 + .quad 0xc0733aed131b3df0, 0xbe1e77eac3874666 + .quad 0xc0733af0cece61b0, 0xbe1e790db479d8f6 + .quad 0xc0733af488812550, 0xbe1e7965d1aa5c90 + .quad 0xc0733af84035ad10, 0xbe1e78ceb398ba47 + .quad 0xc0733afbf5ee19c0, 0xbe1e779cc0dcb5aa + .quad 0xc0733affa9ac88c0, 0xbe1e7871053953ed + .quad 0xc0733b035b731420, 0xbe1e7a082cffa71a + .quad 0xc0733b070b43d2a0, 0xbe1e7904b4382fad + .quad 0xc0733b0ab920d790, 0xbe1e79b458d0b4f3 + .quad 0xc0733b0e650c3310, 0xbe1e79d0ded414c6 + .quad 0xc0733b120f07f200, 0xbe1e763c357a1943 + .quad 0xc0733b15b7161dd0, 0xbe1e78b80ba6daaa + .quad 0xc0733b195d38bd00, 0xbe1e7998e23b8ffd + .quad 0xc0733b1d0171d2c0, 0xbe1e7974aa65ee8c + .quad 0xc0733b20a3c35f20, 0xbe1e76ccfde752ab + .quad 0xc0733b24442f5ef0, 0xbe1e77b4ff19debb + .quad 0xc0733b27e2b7cc10, 0xbe1e7772ee478542 + .quad 0xc0733b2b7f5e9d30, 0xbe1e781d81b58b44 + .quad 0xc0733b2f1a25c600, 0xbe1e78350d967565 + .quad 0xc0733b32b30f3720, 0xbe1e783888e48152 + .quad 0xc0733b364a1cde30, 0xbe1e78367bf7c111 + .quad 0xc0733b39df50a5d0, 0xbe1e7959e57ca47d + .quad 0xc0733b3d72ac75c0, 0xbe1e777322423222 + .quad 0xc0733b41043232b0, 0xbe1e767ce42a60aa + .quad 0xc0733b4493e3be70, 0xbe1e781d445aea19 + .quad 0xc0733b4821c2f800, 0xbe1e7922fca18e18 + .quad 0xc0733b4badd1bb80, 0xbe1e76fed3d40647 + .quad 0xc0733b4f3811e210, 0xbe1e793948c9eabc + .quad 0xc0733b52c0854240, 0xbe1e76e487656b8c + .quad 0xc0733b56472daf90, 0xbe1e780ab2f71223 + .quad 0xc0733b59cc0cfaf0, 0xbe1e77189120b09c + .quad 0xc0733b5d4f24f270, 0xbe1e7644a0343a12 + .quad 0xc0733b60d0776160, 0xbe1e78f2a3e4733d + .quad 0xc0733b6450061080, 0xbe1e7913b2f73ae5 + .quad 0xc0733b67cdd2c5c0, 0xbe1e7882d08393b5 + .quad 0xc0733b6b49df4470, 0xbe1e765e1b209979 + .quad 0xc0733b6ec42d4d20, 0xbe1e785c9c4620d4 + .quad 0xc0733b75b394f240, 0xbe1e78878cd0e956 + .quad 0xc0733b7c9c178630, 0xbe1e789a4112d90b + .quad 0xc0733b837dc2b0f0, 0xbe1e79050b8a1766 + .quad 0xc0733b8a58a3f220, 0xbe1e7790dffc47aa + .quad 0xc0733b912cc8a180, 0xbe1e77174593b06a + .quad 0xc0733b97fa3defb0, 0xbe1e7677de2d2ecc + .quad 0xc0733b9ec110e6b0, 0xbe1e76cff477ca18 + .quad 0xc0733ba5814e6a80, 0xbe1e78f8644dec7b + .quad 0xc0733bac3b0339d0, 0xbe1e764e1361788d + .quad 0xc0733bb2ee3bee30, 0xbe1e78c913e738de + .quad 0xc0733bb99b04fd30, 0xbe1e76666f5bddaa + .quad 0xc0733bc0416ab850, 0xbe1e77e87cbd8ab6 + .quad 0xc0733bc6e1794e10, 0xbe1e76f18ba1c966 + .quad 0xc0733bcd7b3cca10, 0xbe1e777c9461b8db + .quad 0xc0733bd40ec115d0, 0xbe1e78b78526ffac + .quad 0xc0733bda9c11f920, 0xbe1e7942abecfede + .quad 0xc0733be1233b1aa0, 0xbe1e76d8a684fd8c + .quad 0xc0733be7a4480010, 0xbe1e79622b539ac9 + .quad 0xc0733bee1f440f30, 0xbe1e7978e7cc20ea + .quad 0xc0733bf4943a8de0, 0xbe1e765c9c9de825 + .quad 0xc0733bfb0336a290, 0xbe1e775d8b138ee2 + .quad 0xc0733c016c435500, 0xbe1e78bf33465c2f + .quad 0xc0733c07cf6b8e80, 0xbe1e78164f7cc441 + .quad 0xc0733c0e2cba1a50, 0xbe1e7824e64d0b23 + .quad 0xc0733c148439a630, 0xbe1e78373ae7dd81 + .quad 0xc0733c1ad5f4c2c0, 0xbe1e7704513e0afe + .quad 0xc0733c2121f5e3d0, 0xbe1e7914aa84200f + .quad 0xc0733c2768476110, 0xbe1e76b1cde25cf6 + .quad 0xc0733c2da8f37600, 0xbe1e796120e3862d + .quad 0xc0733c33e40442e0, 0xbe1e78ec836d7e7b + .quad 0xc0733c3a1983cca0, 0xbe1e77fb13b7dabb + .quad 0xc0733c40497bfd70, 0xbe1e783c6fcb2404 + .quad 0xc0733c4673f6a530, 0xbe1e7628bb93dce8 + .quad 0xc0733c4c98fd7990, 0xbe1e7857a47b5001 + .quad 0xc0733c52b89a16d0, 0xbe1e76708dc2831f + .quad 0xc0733c58d2d5ffa0, 0xbe1e77b6038651f1 + .quad 0xc0733c5ee7ba9de0, 0xbe1e792e855bb5b2 + .quad 0xc0733c64f75142d0, 0xbe1e776cacd5c105 + .quad 0xc0733c6b01a32740, 0xbe1e77f8a8011315 + .quad 0xc0733c7106b96c30, 0xbe1e765cf3efcfde + .quad 0xc0733c77069d1ad0, 0xbe1e78d837d2efac + .quad 0xc0733c7d01572530, 0xbe1e78b615cf772c + .quad 0xc0733c82f6f06640, 0xbe1e7650bbbd7a25 + .quad 0xc0733c88e771a220, 0xbe1e78bcf3495872 + .quad 0xc0733c8ed2e386c0, 0xbe1e792266832e84 + .quad 0xc0733c94b94eabd0, 0xbe1e79c1c3c2ca52 + .quad 0xc0733c9a9abb9340, 0xbe1e78aa61e5807d + .quad 0xc0733ca07732a970, 0xbe1e7620fc4cf156 + .quad 0xc0733ca64ebc4570, 0xbe1e76b914a832c5 + .quad 0xc0733cac2160a970, 0xbe1e79227f72020e + .quad 0xc0733cb1ef280300, 0xbe1e77ac972cc008 + .quad 0xc0733cb7b81a6b10, 0xbe1e798089be41f4 + .quad 0xc0733cbd7c3fe6a0, 0xbe1e77942ae037fe + .quad 0xc0733cc33ba06690, 0xbe1e7956ae6463d9 + .quad 0xc0733cc8f643c850, 0xbe1e7918a50c7942 + .quad 0xc0733cceac31d5d0, 0xbe1e78308eeab604 + .quad 0xc0733cd45d7245e0, 0xbe1e76dd4ea88445 + .quad 0xc0733cda0a0cbc60, 0xbe1e77e7c1aa5909 + .quad 0xc0733cdfb208caa0, 0xbe1e7804b9d20e54 + .quad 0xc0733ce5556def70, 0xbe1e78f88e99d49c + .quad 0xc0733ceaf4439780, 0xbe1e787d74682d68 + .quad 0xc0733cf08e911d80, 0xbe1e76edc24fe6e7 + .quad 0xc0733cf6245dca50, 0xbe1e79b347ec86d2 + .quad 0xc0733cfbb5b0d580, 0xbe1e797cceb2c39b + .quad 0xc0733d0142916530, 0xbe1e783adbdc6aa1 + .quad 0xc0733d06cb068e70, 0xbe1e76e4c20e3d9e + .quad 0xc0733d0c4f175570, 0xbe1e77070bf3cf61 + .quad 0xc0733d11cecaadc0, 0xbe1e781c43502734 + .quad 0xc0733d174a277a80, 0xbe1e78b11268ea72 + .quad 0xc0733d1cc1348e90, 0xbe1e7754b83bfc7d + .quad 0xc0733d2233f8acb0, 0xbe1e7756c29bf5e9 + .quad 0xc0733d27a27a87d0, 0xbe1e7952fc1d9333 + .quad 0xc0733d2d0cc0c350, 0xbe1e778c76ae6077 + .quad 0xc0733d3272d1f2e0, 0xbe1e7a1896ba8f43 + .quad 0xc0733d37d4b49b30, 0xbe1e76dafdf432d8 + .quad 0xc0733d3d326f3180, 0xbe1e795330184013 + .quad 0xc0733d428c081c80, 0xbe1e763cc774d30f + .quad 0xc0733d47e185b3d0, 0xbe1e77030a779c0a + .quad 0xc0733d4d32ee40b0, 0xbe1e7908af2a2d7e + .quad 0xc0733d528047fe00, 0xbe1e78c4953b797d + .quad 0xc0733d57c9991850, 0xbe1e78b43b096579 + .quad 0xc0733d5d0ee7ae30, 0xbe1e7824ae0a4804 + .quad 0xc0733d625039d040, 0xbe1e79d2b2fbb740 + .quad 0xc0733d678d958190, 0xbe1e7662de59a1a6 + .quad 0xc0733d6cc700b760, 0xbe1e76b251d59aaa + .quad 0xc0733d71fc8159b0, 0xbe1e7a00cfd1f487 + .quad 0xc0733d772e1d4360, 0xbe1e77f4d246167e + .quad 0xc0733d7c5bda4200, 0xbe1e767a4ee8e6fc + .quad 0xc0733d8185be1640, 0xbe1e777ccf0a8aed + .quad 0xc0733d86abce7420, 0xbe1e767d7e279ada + .quad 0xc0733d8bce1102d0, 0xbe1e7a05cef4bb90 + .quad 0xc0733d90ec8b5d40, 0xbe1e78f75369be5b + .quad 0xc0733d96074311d0, 0xbe1e77b9612e8c8a + .quad 0xc0733d9b1e3da2b0, 0xbe1e794518b9adeb + .quad 0xc0733da031808620, 0xbe1e7810626fb934 + .quad 0xc0733da541112650, 0xbe1e76d87223fa6d + .quad 0xc0733daa4cf4e1a0, 0xbe1e794c5e7ca3b5 + .quad 0xc0733daf55310af0, 0xbe1e789856ef816f + .quad 0xc0733db459cae970, 0xbe1e77d2004effbd + .quad 0xc0733db95ac7b8f0, 0xbe1e78467d31eb9c + .quad 0xc0733dbe582caa00, 0xbe1e79aaa4e25787 + .quad 0xc0733dc351fee220, 0xbe1e762de8f107bf + .quad 0xc0733dc848437b90, 0xbe1e7670670a63fe + .quad 0xc0733dcd3aff85d0, 0xbe1e795ca237c6cc + .quad 0xc0733dd22a3805b0, 0xbe1e77e55c53c1d9 + .quad 0xc0733dd715f1f520, 0xbe1e78a806213ac4 + .quad 0xc0733ddbfe3243b0, 0xbe1e77743a2bc615 + .quad 0xc0733de0e2fdd660, 0xbe1e78b8b45b0b7d + .quad 0xc0733de5c4598800, 0xbe1e78d635f2f4b9 + .quad 0xc0733deaa24a2920, 0xbe1e7758c396a11e + .quad 0xc0733def7cd48020, 0xbe1e7a17a8cc454c + .quad 0xc0733df453fd49a0, 0xbe1e783caa73f616 + .quad 0xc0733df927c93820, 0xbe1e7932cfa29664 + .quad 0xc0733dfdf83cf490, 0xbe1e777d265c72a6 + .quad 0xc0733e02c55d1e10, 0xbe1e7775e7c03c60 + .quad 0xc0733e078f2e4a40, 0xbe1e79f65d52d232 + .quad 0xc0733e0c55b50570, 0xbe1e76e7e7464b4e + .quad 0xc0733e1118f5d250, 0xbe1e77be81cad877 + .quad 0xc0733e15d8f52a80, 0xbe1e79dd25b5fb3a + .quad 0xc0733e1a95b77e80, 0xbe1e78e45f1418ef + .quad 0xc0733e1f4f4135a0, 0xbe1e78eb7289505b + .quad 0xc0733e240596ae50, 0xbe1e78a468c07cad + .quad 0xc0733e28b8bc3e20, 0xbe1e776b558a4009 + .quad 0xc0733e2d68b631d0, 0xbe1e77412eb9941e + .quad 0xc0733e321588cd80, 0xbe1e76b2853f845e + .quad 0xc0733e36bf384cb0, 0xbe1e76aa7184273c + .quad 0xc0733e3b65c8e260, 0xbe1e7832027f78fa + .quad 0xc0733e40093eb930, 0xbe1e7a1c7da131f5 + .quad 0xc0733e44a99df380, 0xbe1e76a0bc2ae4bc + .quad 0xc0733e4946eaab30, 0xbe1e78dff13b6f5d + .quad 0xc0733e4de128f250, 0xbe1e765a226dea2c + .quad 0xc0733e52785cd290, 0xbe1e78509b989111 + .quad 0xc0733e570c8a4de0, 0xbe1e7916a4e9803d + .quad 0xc0733e5b9db55e30, 0xbe1e7950c15758cc + .quad 0xc0733e602be1f5a0, 0xbe1e7922ba1ad420 + .quad 0xc0733e64b713fe90, 0xbe1e794cbaabcef6 + .quad 0xc0733e693f4f5bc0, 0xbe1e7837bf883fed + .quad 0xc0733e6dc497e850, 0xbe1e76f198ddbbdf + .quad 0xc0733e7246f177d0, 0xbe1e7a18c1067764 + .quad 0xc0733e76c65fd6a0, 0xbe1e76b845a8fd9d + .quad 0xc0733e7b42e6c970, 0xbe1e7714012df506 + .quad 0xc0733e7fbc8a0de0, 0xbe1e7765612922cd + .quad 0xc0733e84334d5a50, 0xbe1e7688f5424a00 + .quad 0xc0733e88a7345df0, 0xbe1e769d011f6663 + .quad 0xc0733e8d1842c0e0, 0xbe1e79914acbfaf7 + .quad 0xc0733e91867c2460, 0xbe1e79a85e189bd7 + .quad 0xc0733e95f1e422a0, 0xbe1e79ea7c726432 + .quad 0xc0733e9a5a7e4f10, 0xbe1e768a6fbb8e6e + .quad 0xc0733e9ec04e3620, 0xbe1e793c75bcc9fc + .quad 0xc0733ea323575dd0, 0xbe1e797f78da13d4 + .quad 0xc0733ea7839d4550, 0xbe1e78d8c9cda978 + .quad 0xc0733eabe1236540, 0xbe1e77028d480fff + .quad 0xc0733eb03bed2fa0, 0xbe1e7a0d0f74ff7c + .quad 0xc0733eb493fe1040, 0xbe1e76732e8a35fb + .quad 0xc0733eb8e9596c30, 0xbe1e77220caeabeb + .quad 0xc0733ebd3c02a260, 0xbe1e797438b645ef + .quad 0xc0733ec18bfd0b80, 0xbe1e79207c5fd6e8 + .quad 0xc0733ec5d94bf9f0, 0xbe1e781c7df8f946 + .quad 0xc0733eca23f2b9f0, 0xbe1e76736284e2db + .quad 0xc0733ece6bf49190, 0xbe1e7a109cc0c3f5 + .quad 0xc0733ed2b154c120, 0xbe1e767f14a16d50 + .quad 0xc0733ed6f4168290, 0xbe1e789cd22acaf0 + .quad 0xc0733edb343d0a40, 0xbe1e764355ca28ad + .quad 0xc0733edf71cb8660, 0xbe1e79e4c7a81c45 + .quad 0xc0733ee3acc51fb0, 0xbe1e761e26b644c2 + .quad 0xc0733ee7e52cf8c0, 0xbe1e793e9f8fbdd3 + .quad 0xc0733eec1b062ed0, 0xbe1e78c432991c20 + .quad 0xc0733ef04e53d940, 0xbe1e78cdd025f4d8 + .quad 0xc0733ef47f1909f0, 0xbe1e778310c6446e + .quad 0xc0733ef8ad58cd20, 0xbe1e7871af3d6e17 + .quad 0xc0733efcd91629b0, 0xbe1e77e0e906f697 + .quad 0xc0733f01025420f0, 0xbe1e7a1ae9b27892 + .quad 0xc0733f052915af00, 0xbe1e76ac64c88f9d + .quad 0xc0733f094d5dca60, 0xbe1e779a815589c4 + .quad 0xc0733f0d6f2f6480, 0xbe1e788f39a4864c + .quad 0xc0733f118e8d6980, 0xbe1e79fc51263525 + .quad 0xc0733f15ab7ac060, 0xbe1e783501f19e90 + .quad 0xc0733f19c5fa4ae0, 0xbe1e767e82c327ab + .quad 0xc0733f1dde0ee5a0, 0xbe1e7a1785d66123 + .quad 0xc0733f21f3bb6870, 0xbe1e7936d07203da + .quad 0xc0733f260702a5e0, 0xbe1e7a010a7ac699 + .quad 0xc0733f2a17e76bb0, 0xbe1e7975e4e16312 + .quad 0xc0733f2e266c82b0, 0xbe1e7654b5422330 + .quad 0xc0733f323294aeb0, 0xbe1e77f8a4909d35 + .quad 0xc0733f363c62aee0, 0xbe1e792c8e30d226 + .quad 0xc0733f3a43d93da0, 0xbe1e76f6ac67a1ff + .quad 0xc0733f3e48fb1070, 0xbe1e775c2e97715a + .quad 0xc0733f424bcad840, 0xbe1e781cd54ae100 + /* Log_LA_table */ + .align 32 + .quad 0x0000000000000000 + .quad 0xbf4bc48a867884b7 + .quad 0xbf5bbd9e9482af09 + .quad 0xbf64c9096b94befd + .quad 0xbf6bafd47221ed26 + .quad 0xbf714999e2ad8ea6 + .quad 0xbf74b99563d2a1bd + .quad 0xbf7827de6b310350 + .quad 0xbf7b9476a4fcd10f + .quad 0xbf7eff5fbaf25781 + .quad 0xbf81344daa2d7553 + .quad 0xbf82e8158b08d957 + .quad 0xbf849b0851443684 + .quad 0xbf864d26cce610dd + .quad 0xbf87fe71ccc4e6b0 + .quad 0xbf89aeea1e897fdf + .quad 0xbf8b5e908eb13790 + .quad 0xbf8d0d65e890405a + .quad 0xbf8ebb6af653e2ee + .quad 0xbf90345040825bad + .quad 0xbf910a83a8446c78 + .quad 0xbf91e05015d30a71 + .quad 0xbf92b5b5ec0209d3 + .quad 0xbf938ab58d173e91 + .quad 0xbf945f4f5acb8be0 + .quad 0xbf953383b64bf13f + .quad 0xbf960753003a94ef + .quad 0xbf96dabd98afcc05 + .quad 0xbf97adc3df3b1ff8 + .quad 0xbf98806632e451d0 + .quad 0xbf9952a4f22c5ae9 + .quad 0xbf9a24807b0e6b5c + .quad 0xbf9af5f92b00e610 + .quad 0xbf9bc70f5ef65a77 + .quad 0xbf9c97c3735e7c0a + .quad 0xbf9d6815c4271775 + .quad 0xbf9e3806acbd058f + .quad 0xbf9f0796880d1c19 + .quad 0xbf9fd6c5b0851c4c + .quad 0xbfa052ca400a4f9b + .quad 0xbfa0ba01a8170000 + .quad 0xbfa121093ce3a205 + .quad 0xbfa187e12aad8077 + .quad 0xbfa1ee899d74a03e + .quad 0xbfa25502c0fc314c + .quad 0xbfa2bb4cc0cafe8d + .quad 0xbfa32167c82bdcda + .quad 0xbfa38754022e18e2 + .quad 0xbfa3ed1199a5e425 + .quad 0xbfa452a0b92cc0ec + .quad 0xbfa4b8018b21ed4f + .quad 0xbfa51d3439aacd4a + .quad 0xbfa58238eeb353da + .quad 0xbfa5e70fd3ee6b34 + .quad 0xbfa64bb912d65c07 + .quad 0xbfa6b034d4ad33df + .quad 0xbfa71483427d2a99 + .quad 0xbfa778a4851906f3 + .quad 0xbfa7dc98c51c8242 + .quad 0xbfa840602aecab3d + .quad 0xbfa8a3fadeb847f4 + .quad 0xbfa90769087836e4 + .quad 0xbfa96aaacfefcf3c + .quad 0xbfa9cdc05cad4042 + .quad 0xbfaa30a9d609efea + .quad 0xbfaa9367632ad897 + .quad 0xbfaaf5f92b00e610 + .quad 0xbfab585f544951a4 + .quad 0xbfabba9a058dfd84 + .quad 0xbfac1ca96525cf56 + .quad 0xbfac7e8d993509f9 + .quad 0xbface046c7ada68d + .quad 0xbfad41d5164facb4 + .quad 0xbfada338aaa98a0c + .quad 0xbfae0471aa1868f5 + .quad 0xbfae658039c88690 + .quad 0xbfaec6647eb58808 + .quad 0xbfaf271e9daacf20 + .quad 0xbfaf87aebb43ce06 + .quad 0xbfafe814fbec5a77 + .quad 0xbfb02428c1f08016 + .quad 0xbfb054323b97a948 + .quad 0xbfb08426fcdb1ee7 + .quad 0xbfb0b40717932b96 + .quad 0xbfb0e3d29d81165e + .quad 0xbfb11389a04f4a2e + .quad 0xbfb1432c31917d08 + .quad 0xbfb172ba62c4d6de + .quad 0xbfb1a23445501816 + .quad 0xbfb1d199ea83bfbe + .quad 0xbfb200eb639a3173 + .quad 0xbfb23028c1b7daed + .quad 0xbfb25f5215eb594a + .quad 0xbfb28e67712d9dfc + .quad 0xbfb2bd68e4621371 + .quad 0xbfb2ec568056c16f + .quad 0xbfb31b3055c47118 + .quad 0xbfb349f6754ed0b4 + .quad 0xbfb378a8ef84971e + .quad 0xbfb3a747d4dfa6f5 + .quad 0xbfb3d5d335c53179 + .quad 0xbfb4044b2285d925 + .quad 0xbfb432afab5dd3ff + .quad 0xbfb46100e0750da1 + .quad 0xbfb48f3ed1df48fb + .quad 0xbfb4bd698f9c41cf + .quad 0xbfb4eb812997cde4 + .quad 0xbfb51985afa9fdfd + .quad 0xbfb5477731973e85 + .quad 0xbfb57555bf1077f5 + .quad 0xbfb5a32167b32f02 + .quad 0xbfb5d0da3b09a47e + .quad 0xbfb5fe80488af4fd + .quad 0xbfb62c139f9b3837 + .quad 0xbfb659944f8ba02d + .quad 0xbfb68702679a980a + .quad 0xbfb6b45df6f3e2c9 + .quad 0xbfb6e1a70cb0b99a + .quad 0xbfb70eddb7d7ea07 + .quad 0xbfb73c02075df3e5 + .quad 0xbfb769140a2526fd + .quad 0xbfb79613cefdc07d + .quad 0xbfb7c30164a60836 + .quad 0xbfb7efdcd9ca6d8f + .quad 0xbfb81ca63d05a44a + .quad 0xbfb8495d9ce0c10c + .quad 0xbfb8760307d355ab + .quad 0xbfb8a2968c438d41 + .quad 0xbfb8cf183886480d + .quad 0xbfb8fb881adf3713 + .quad 0xbfb927e64180f790 + .quad 0xbfb95432ba8d2e2f + .quad 0xbfb9806d9414a209 + .quad 0xbfb9ac96dc175776 + .quad 0xbfb9d8aea084aa9c + .quad 0xbfba04b4ef3b69d8 + .quad 0xbfba30a9d609efea + .quad 0xbfba5c8d62ae3dec + .quad 0xbfba885fa2d6151e + .quad 0xbfbab420a41f1076 + .quad 0xbfbadfd07416be07 + .quad 0xbfbb0b6f203ab82c + .quad 0xbfbb36fcb5f8be8a + .quad 0xbfbb627942aecedd + .quad 0xbfbb8de4d3ab3d98 + .quad 0xbfbbb93f762cce4f + .quad 0xbfbbe4893762cbf7 + .quad 0xbfbc0fc2246d20f5 + .quad 0xbfbc3aea4a5c6eff + .quad 0xbfbc6601b63226cb + .quad 0xbfbc910874e09f98 + .quad 0xbfbcbbfe934b2e81 + .quad 0xbfbce6e41e463da5 + .quad 0xbfbd11b92297632b + .quad 0xbfbd3c7dacf5780b + .quad 0xbfbd6731ca08aeb9 + .quad 0xbfbd91d5866aa99c + .quad 0xbfbdbc68eea6915b + .quad 0xbfbde6ec0f392b05 + .quad 0xbfbe115ef490ee07 + .quad 0xbfbe3bc1ab0e19fe + .quad 0xbfbe66143f02cc5d + .quad 0xbfbe9056bcb315e8 + .quad 0xbfbeba893055100b + .quad 0xbfbee4aba610f204 + .quad 0xbfbf0ebe2a0125eb + .quad 0xbfbf38c0c8325d86 + .quad 0xbfbf62b38ca3a706 + .quad 0xbfbf8c9683468191 + .quad 0xbfbfb669b7fef1a8 + .quad 0xbfbfe02d36a3956d + .quad 0xbfc004f0857edc5c + .quad 0xbfc019c2a064b486 + .quad 0xbfc02e8cf1dac4b8 + .quad 0xbfc0434f7fb1f307 + .quad 0xbfc0580a4fb4a3df + .quad 0xbfc06cbd67a6c3b6 + .quad 0xbfc08168cd45d0a9 + .quad 0xbfc0960c8648e406 + .quad 0xbfc0aaa89860bbcf + .quad 0xbfc0bf3d0937c41c + .quad 0xbfc0d3c9de722078 + .quad 0xbfc0e84f1dadb526 + .quad 0xbfc0fccccc823059 + .quad 0xbfc11142f0811357 + .quad 0xbfc125b18f35bb8e + .quad 0xbfc13a18ae256b99 + .quad 0xbfc14e7852cf5430 + .quad 0xbfc162d082ac9d10 + .quad 0xbfc1772143306dc6 + .quad 0xbfc18b6a99c7f679 + .quad 0xbfc19fac8bda7897 + .quad 0xbfc1b3e71ec94f7b + .quad 0xbfc1c81a57eff8fd + .quad 0xbfc1dc463ca41df8 + .quad 0xbfc1f06ad2359abd + .quad 0xbfc204881dee8777 + .quad 0xbfc2189e25134081 + .quad 0xbfc22cacece26ead + .quad 0xbfc240b47a950f79 + .quad 0xbfc254b4d35e7d3c + .quad 0xbfc268adfc6c773e + .quad 0xbfc27c9ffae729c1 + .quad 0xbfc2908ad3f13603 + .quad 0xbfc2a46e8ca7ba2a + .quad 0xbfc2b84b2a225923 + .quad 0xbfc2cc20b1734279 + .quad 0xbfc2dfef27a73a18 + .quad 0xbfc2f3b691c5a001 + .quad 0xbfc30776f4d077f7 + .quad 0xbfc31b3055c47118 + .quad 0xbfc32ee2b998ed6e + .quad 0xbfc3428e2540096d + .quad 0x3fc331f403985097 + .quad 0x3fc31e56798a910a + .quad 0x3fc30abfd8f333b6 + .quad 0x3fc2f7301cf4e87b + .quad 0x3fc2e3a740b7800f + .quad 0x3fc2d0253f67e4cb + .quad 0x3fc2bcaa14381386 + .quad 0x3fc2a935ba5f1479 + .quad 0x3fc295c82d18f434 + .quad 0x3fc2826167a6bc9c + .quad 0x3fc26f01654e6df6 + .quad 0x3fc25ba8215af7fc + .quad 0x3fc24855971c3307 + .quad 0x3fc23509c1e6d937 + .quad 0x3fc221c49d147fb3 + .quad 0x3fc20e8624038fed + .quad 0x3fc1fb4e521740f4 + .quad 0x3fc1e81d22b790d4 + .quad 0x3fc1d4f291513e01 + .quad 0x3fc1c1ce9955c0c6 + .quad 0x3fc1aeb1363b44c8 + .quad 0x3fc19b9a637ca295 + .quad 0x3fc1888a1c995931 + .quad 0x3fc175805d1587c1 + .quad 0x3fc1627d2079e731 + .quad 0x3fc14f806253c3ed + .quad 0x3fc13c8a1e34f7a0 + .quad 0x3fc1299a4fb3e306 + .quad 0x3fc116b0f26b67bb + .quad 0x3fc103ce01fae223 + .quad 0x3fc0f0f17a062353 + .quad 0x3fc0de1b56356b04 + .quad 0x3fc0cb4b9235619a + .quad 0x3fc0b88229b71227 + .quad 0x3fc0a5bf186fe483 + .quad 0x3fc093025a19976c + .quad 0x3fc0804bea723aa9 + .quad 0x3fc06d9bc53c2941 + .quad 0x3fc05af1e63e03b4 + .quad 0x3fc0484e4942aa43 + .quad 0x3fc035b0ea19373b + .quad 0x3fc02319c494f951 + .quad 0x3fc01088d48d6e03 + .quad 0x3fbffbfc2bbc7803 + .quad 0x3fbfd6f308ce5b52 + .quad 0x3fbfb1f6381856f4 + .quad 0x3fbf8d05b16a6d47 + .quad 0x3fbf68216c9cc727 + .quad 0x3fbf4349618fa91a + .quad 0x3fbf1e7d882b689a + .quad 0x3fbef9bdd860616b + .quad 0x3fbed50a4a26eafc + .quad 0x3fbeb062d57f4de8 + .quad 0x3fbe8bc77271b97a + .quad 0x3fbe6738190e394c + .quad 0x3fbe42b4c16caaf3 + .quad 0x3fbe1e3d63acb3ba + .quad 0x3fbdf9d1f7f5b674 + .quad 0x3fbdd5727676c959 + .quad 0x3fbdb11ed766abf4 + .quad 0x3fbd8cd71303bd26 + .quad 0x3fbd689b2193f133 + .quad 0x3fbd446afb64c7e5 + .quad 0x3fbd204698cb42bd + .quad 0x3fbcfc2df223db2d + .quad 0x3fbcd820ffd278f3 + .quad 0x3fbcb41fba42686d + .quad 0x3fbc902a19e65111 + .quad 0x3fbc6c4017382bea + .quad 0x3fbc4861aab93a23 + .quad 0x3fbc248eccf1fba6 + .quad 0x3fbc00c7767225cb + .quad 0x3fbbdd0b9fd09a10 + .quad 0x3fbbb95b41ab5ce6 + .quad 0x3fbb95b654a78c87 + .quad 0x3fbb721cd17157e3 + .quad 0x3fbb4e8eb0bbf58f + .quad 0x3fbb2b0beb419ad0 + .quad 0x3fbb079479c372ad + .quad 0x3fbae4285509950b + .quad 0x3fbac0c775e2fde6 + .quad 0x3fba9d71d5258484 + .quad 0x3fba7a276badd2c8 + .quad 0x3fba56e8325f5c87 + .quad 0x3fba33b4222456f1 + .quad 0x3fba108b33edb005 + .quad 0x3fb9ed6d60b30612 + .quad 0x3fb9ca5aa1729f45 + .quad 0x3fb9a752ef316149 + .quad 0x3fb9845642fac8f0 + .quad 0x3fb9616495e0e1e8 + .quad 0x3fb93e7de0fc3e80 + .quad 0x3fb91ba21d6bef77 + .quad 0x3fb8f8d144557bdf + .quad 0x3fb8d60b4ee4d901 + .quad 0x3fb8b350364c6257 + .quad 0x3fb8909ff3c4d191 + .quad 0x3fb86dfa808d36a0 + .quad 0x3fb84b5fd5eaefd8 + .quad 0x3fb828cfed29a215 + .quad 0x3fb8064abf9b30f1 + .quad 0x3fb7e3d04697b704 + .quad 0x3fb7c1607b7d7e32 + .quad 0x3fb79efb57b0f803 + .quad 0x3fb77ca0d49cb608 + .quad 0x3fb75a50ebb1624a + .quad 0x3fb7380b9665b7c8 + .quad 0x3fb715d0ce367afc + .quad 0x3fb6f3a08ca67270 + .quad 0x3fb6d17acb3e5f5e + .quad 0x3fb6af5f838cf654 + .quad 0x3fb68d4eaf26d7ee + .quad 0x3fb66b4847a68997 + .quad 0x3fb6494c46ac6e4d + .quad 0x3fb6275aa5debf81 + .quad 0x3fb605735ee985f1 + .quad 0x3fb5e3966b7e9295 + .quad 0x3fb5c1c3c5557799 + .quad 0x3fb59ffb662b815c + .quad 0x3fb57e3d47c3af7b + .quad 0x3fb55c8963e6adeb + .quad 0x3fb53adfb462ce16 + .quad 0x3fb51940330c000b + .quad 0x3fb4f7aad9bbcbaf + .quad 0x3fb4d61fa2514a00 + .quad 0x3fb4b49e86b11e5f + .quad 0x3fb4932780c56fe2 + .quad 0x3fb471ba8a7de2b7 + .quad 0x3fb450579dcf9186 + .quad 0x3fb42efeb4b506e9 + .quad 0x3fb40dafc92e36e2 + .quad 0x3fb3ec6ad5407868 + .quad 0x3fb3cb2fd2f67ef1 + .quad 0x3fb3a9febc60540a + .quad 0x3fb388d78b9350ff + .quad 0x3fb367ba3aaa1883 + .quad 0x3fb346a6c3c49066 + .quad 0x3fb3259d2107db54 + .quad 0x3fb3049d4c9e52a0 + .quad 0x3fb2e3a740b7800f + .quad 0x3fb2c2baf78817b7 + .quad 0x3fb2a1d86b49f1e2 + .quad 0x3fb280ff963c04fc + .quad 0x3fb2603072a25f82 + .quad 0x3fb23f6afac6220a + .quad 0x3fb21eaf28f57941 + .quad 0x3fb1fdfcf7839804 + .quad 0x3fb1dd5460c8b16f + .quad 0x3fb1bcb55f21f307 + .quad 0x3fb19c1fecf17ee0 + .quad 0x3fb17b94049e65d0 + .quad 0x3fb15b11a094a1aa + .quad 0x3fb13a98bb450f81 + .quad 0x3fb11a294f2569f6 + .quad 0x3fb0f9c356b04389 + .quad 0x3fb0d966cc6500fa + .quad 0x3fb0b913aac7d3a7 + .quad 0x3fb098c9ec61b3ff + .quad 0x3fb078898bc05bf4 + .quad 0x3fb0585283764178 + .quad 0x3fb03824ce1a9101 + .quad 0x3fb0180066492817 + .quad 0x3fafefca8d451fd6 + .quad 0x3fafafa6d397efdb + .quad 0x3faf6f9594de60f0 + .quad 0x3faf2f96c6754aee + .quad 0x3faeefaa5dc2b239 + .quad 0x3faeafd05035bd3b + .quad 0x3fae70089346a9e6 + .quad 0x3fae30531c76c34a + .quad 0x3fadf0afe1505738 + .quad 0x3fadb11ed766abf4 + .quad 0x3fad719ff455f5f7 + .quad 0x3fad32332dc34dbd + .quad 0x3facf2d8795ca5a5 + .quad 0x3facb38fccd8bfdb + .quad 0x3fac74591df72456 + .quad 0x3fac3534628016dd + .quad 0x3fabf62190448d22 + .quad 0x3fabb7209d1e24e5 + .quad 0x3fab78317eef1a29 + .quad 0x3fab39542ba23d73 + .quad 0x3faafa88992aea19 + .quad 0x3faabbcebd84fca0 + .quad 0x3faa7d268eb4c924 + .quad 0x3faa3e9002c711d2 + .quad 0x3faa000b0fd0fd6b + .quad 0x3fa9c197abf00dd7 + .quad 0x3fa98335cd4a16c3 + .quad 0x3fa944e56a0d3450 + .quad 0x3fa906a6786fc1cb + .quad 0x3fa8c878eeb05074 + .quad 0x3fa88a5cc3159e53 + .quad 0x3fa84c51ebee8d15 + .quad 0x3fa80e585f9218fc + .quad 0x3fa7d070145f4fd7 + .quad 0x3fa7929900bd4809 + .quad 0x3fa754d31b1b179c + .quad 0x3fa7171e59efcb5f + .quad 0x3fa6d97ab3ba5e10 + .quad 0x3fa69be81f01af99 + .quad 0x3fa65e6692547c4e + .quad 0x3fa620f604495440 + .quad 0x3fa5e3966b7e9295 + .quad 0x3fa5a647be9a54f6 + .quad 0x3fa56909f44a72fe + .quad 0x3fa52bdd034475b8 + .quad 0x3fa4eec0e2458f30 + .quad 0x3fa4b1b588129203 + .quad 0x3fa474baeb77e904 + .quad 0x3fa437d103498eec + .quad 0x3fa3faf7c663060e + .quad 0x3fa3be2f2ba7501f + .quad 0x3fa381772a00e604 + .quad 0x3fa344cfb861afae + .quad 0x3fa30838cdc2fbfd + .quad 0x3fa2cbb2612578b4 + .quad 0x3fa28f3c69912a74 + .quad 0x3fa252d6de1564c1 + .quad 0x3fa21681b5c8c213 + .quad 0x3fa1da3ce7c91bf8 + .quad 0x3fa19e086b3b8333 + .quad 0x3fa161e4374c37f4 + .quad 0x3fa125d0432ea20e + .quad 0x3fa0e9cc861d4944 + .quad 0x3fa0add8f759cd95 + .quad 0x3fa071f58e2cdf9b + .quad 0x3fa0362241e638ec + .quad 0x3f9ff4be13b92920 + .quad 0x3f9f7d57badb4ee8 + .quad 0x3f9f061167fc31e8 + .quad 0x3f9e8eeb09f2f6cb + .quad 0x3f9e17e48fa48962 + .quad 0x3f9da0fde8038de9 + .quad 0x3f9d2a3702105259 + .quad 0x3f9cb38fccd8bfdb + .quad 0x3f9c3d0837784c41 + .quad 0x3f9bc6a03117eb97 + .quad 0x3f9b5057a8ee01ce + .quad 0x3f9ada2e8e3e546f + .quad 0x3f9a6424d059fc68 + .quad 0x3f99ee3a5e9f57e8 + .quad 0x3f99786f2879fc53 + .quad 0x3f9902c31d62a843 + .quad 0x3f988d362cdf359e + .quad 0x3f9817c846828bbd + .quad 0x3f97a27959ec91aa + .quad 0x3f972d4956ca2067 + .quad 0x3f96b8382cd4f551 + .quad 0x3f964345cbd3a491 + .quad 0x3f95ce7223998b98 + .quad 0x3f9559bd2406c3ba + .quad 0x3f94e526bd0814d1 + .quad 0x3f9470aede96e7f2 + .quad 0x3f93fc5578b93a38 + .quad 0x3f93881a7b818f9e + .quad 0x3f9313fdd70ee5e8 + .quad 0x3f929fff7b8ca79d + .quad 0x3f922c1f59329f1b + .quad 0x3f91b85d6044e9ae + .quad 0x3f9144b98113eac0 + .quad 0x3f90d133abfc3f1b + .quad 0x3f905dcbd166b033 + .quad 0x3f8fd503c3904f1d + .quad 0x3f8eeeab9b43445d + .quad 0x3f8e088f0b004827 + .quad 0x3f8d22adf3f9579d + .quad 0x3f8c3d0837784c41 + .quad 0x3f8b579db6dec358 + .quad 0x3f8a726e53a6056e + .quad 0x3f898d79ef5eedf0 + .quad 0x3f88a8c06bb1d2f4 + .quad 0x3f87c441aa5e6d15 + .quad 0x3f86dffd8d3bbf70 + .quad 0x3f85fbf3f637ffc5 + .quad 0x3f851824c7587eb0 + .quad 0x3f84348fe2b99002 + .quad 0x3f8351352a8e733f + .quad 0x3f826e1481213c2e + .quad 0x3f818b2dc8d2bb91 + .quad 0x3f80a880e41a67f6 + .quad 0x3f7f8c1b6b0c8d4e + .quad 0x3f7dc7a83f75a96d + .quad 0x3f7c03a80ae5e054 + .quad 0x3f7a401a92ff827e + .quad 0x3f787cff9d9147a5 + .quad 0x3f76ba56f09621bc + .quad 0x3f74f8205235102d + .quad 0x3f73365b88c0f347 + .quad 0x3f7175085ab85ff0 + .quad 0x3f6f684d1d8ae702 + .quad 0x3f6be76bd77b4fc3 + .quad 0x3f68676c71434fb9 + .quad 0x3f64e84e793a474a + .quad 0x3f616a117e0d4b30 + .quad 0x3f5bd96a1d7d9cbc + .quad 0x3f54e071754c98ba + .quad 0x3f4bd27045bfd025 + .quad 0x3f3bcef518e29612 + .quad 0x8000000000000000 + /* poly_coeff[5] */ + .align 32 + .quad 0x3fb63C65231FBD16, 0x3fb63C65231FBD16, 0x3fb63C65231FBD16, 0x3fb63C65231FBD16 /* coeff5 */ + .quad 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B, 0xbfbBCB7D4EFBE80B /* coeff4 */ + .quad 0x3fc287A7636F341E, 0x3fc287A7636F341E, 0x3fc287A7636F341E, 0x3fc287A7636F341E /* coeff3 */ + .quad 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36, 0xbfcBCB7B1526DE36 /* coeff2 */ + .quad 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E, 0x3fdBCB7B1526E50E /* coeff1 */ + /* ExpMask */ + .align 32 + .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 32 + .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 + /* MinNorm */ + .align 32 + .quad 0x0010000000000000, 0x0010000000000000, 0x0010000000000000, 0x0010000000000000 + /* MaxNorm */ + .align 32 + .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff + /* HalfMask */ + .align 32 + .quad 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* Threshold */ + .align 32 + .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 32 + .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 32 + .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 + /* L2 */ + .align 32 + .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff + .align 32 + .type __svml_dlog10_data_internal, @object + .size __svml_dlog10_data_internal, .-__svml_dlog10_data_internal From patchwork Mon Mar 7 15:01:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602316 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=wQHFVLZ2; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2pf4p5jz9sFw for ; Tue, 8 Mar 2022 02:45:14 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 990FE3858436 for ; Mon, 7 Mar 2022 15:45:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 990FE3858436 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667911; bh=gRQm4cU/DAWWMgNV04RbfdQgl3gdtv6XNJ+XQPPnG/g=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=wQHFVLZ2kCl15zsUo886r2+KLDabqGULm2AsJalrEMszlMPkjaRMetN1NpwnZKWuB ROWpFgwOvbdYOx6a8ukZMqS53KtyLvGpqIw4r2deMSQiVj2NqLUUki65Yxm8HQFosu KCpV6Pixq4y/P7Ka6BLy7DXmGWAMVTcAuXXrGpPU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id BE8CC3858437 for ; Mon, 7 Mar 2022 15:02:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BE8CC3858437 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="340842244" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="340842244" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081847" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fA016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 096/126] x86_64: Fix svml_d_log108_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:31 -0800 Message-Id: <20220307150201.10590-97-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log108_core_avx512.S | 483 +++++++++--------- 1 file changed, 241 insertions(+), 242 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S index 828bde52f5..5d129ef4e5 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log108_core_avx512.S @@ -29,271 +29,270 @@ /* Offsets for data table __svml_dlog10_data_internal_avx512 */ -#define Log_tbl 0 -#define One 128 -#define C075 192 -#define poly_coeff9 256 -#define poly_coeff8 320 -#define poly_coeff7 384 -#define poly_coeff6 448 -#define poly_coeff5 512 -#define poly_coeff4 576 -#define poly_coeff3 640 -#define poly_coeff2 704 -#define poly_coeff1 768 -#define L2 832 +#define Log_tbl 0 +#define One 128 +#define C075 192 +#define poly_coeff9 256 +#define poly_coeff8 320 +#define poly_coeff7 384 +#define poly_coeff6 448 +#define poly_coeff5 512 +#define poly_coeff4 576 +#define poly_coeff3 640 +#define poly_coeff2 704 +#define poly_coeff1 768 +#define L2 832 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_log10_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovaps %zmm0, %zmm7 - vgetmantpd $8, {sae}, %zmm7, %zmm6 - vmovups One+__svml_dlog10_data_internal_avx512(%rip), %zmm3 - vmovups poly_coeff5+__svml_dlog10_data_internal_avx512(%rip), %zmm12 - vmovups poly_coeff3+__svml_dlog10_data_internal_avx512(%rip), %zmm13 - -/* Start polynomial evaluation */ - vmovups poly_coeff9+__svml_dlog10_data_internal_avx512(%rip), %zmm10 - vmovups poly_coeff8+__svml_dlog10_data_internal_avx512(%rip), %zmm1 - vmovups poly_coeff7+__svml_dlog10_data_internal_avx512(%rip), %zmm11 - vmovups poly_coeff6+__svml_dlog10_data_internal_avx512(%rip), %zmm14 - -/* Prepare exponent correction: DblRcp<0.75? */ - vmovups C075+__svml_dlog10_data_internal_avx512(%rip), %zmm2 - -/* Table lookup */ - vmovups __svml_dlog10_data_internal_avx512(%rip), %zmm5 - -/* GetExp(x) */ - vgetexppd {sae}, %zmm7, %zmm0 - -/* DblRcp ~ 1/Mantissa */ - vrcp14pd %zmm6, %zmm8 - -/* x<=0? */ - vfpclasspd $94, %zmm7, %k0 - -/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ - vrndscalepd $88, {sae}, %zmm8, %zmm4 - vmovups poly_coeff4+__svml_dlog10_data_internal_avx512(%rip), %zmm8 - kmovw %k0, %edx - -/* Reduced argument: R = DblRcp*Mantissa - 1 */ - vfmsub213pd {rn-sae}, %zmm3, %zmm4, %zmm6 - vcmppd $17, {sae}, %zmm2, %zmm4, %k1 - vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8 - vmovups poly_coeff2+__svml_dlog10_data_internal_avx512(%rip), %zmm12 - vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1 - vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 - vmovups poly_coeff1+__svml_dlog10_data_internal_avx512(%rip), %zmm2 - -/* R^2 */ - vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15 - vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 - -/* Prepare table index */ - vpsrlq $48, %zmm4, %zmm9 - -/* add 1 to Expon if DblRcp<0.75 */ - vaddpd {rn-sae}, %zmm3, %zmm0, %zmm0{%k1} - vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13 - vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm1 - vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8 - vpermt2pd Log_tbl+64+__svml_dlog10_data_internal_avx512(%rip), %zmm9, %zmm5 - -/* polynomial */ - vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm1 - vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm1 - vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm6 - vmovups L2+__svml_dlog10_data_internal_avx512(%rip), %zmm1 - vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm7 + vgetmantpd $8, {sae}, %zmm7, %zmm6 + vmovups One+__svml_dlog10_data_internal_avx512(%rip), %zmm3 + vmovups poly_coeff5+__svml_dlog10_data_internal_avx512(%rip), %zmm12 + vmovups poly_coeff3+__svml_dlog10_data_internal_avx512(%rip), %zmm13 + + /* Start polynomial evaluation */ + vmovups poly_coeff9+__svml_dlog10_data_internal_avx512(%rip), %zmm10 + vmovups poly_coeff8+__svml_dlog10_data_internal_avx512(%rip), %zmm1 + vmovups poly_coeff7+__svml_dlog10_data_internal_avx512(%rip), %zmm11 + vmovups poly_coeff6+__svml_dlog10_data_internal_avx512(%rip), %zmm14 + + /* Prepare exponent correction: DblRcp<0.75? */ + vmovups C075+__svml_dlog10_data_internal_avx512(%rip), %zmm2 + + /* Table lookup */ + vmovups __svml_dlog10_data_internal_avx512(%rip), %zmm5 + + /* GetExp(x) */ + vgetexppd {sae}, %zmm7, %zmm0 + + /* DblRcp ~ 1/Mantissa */ + vrcp14pd %zmm6, %zmm8 + + /* x<=0? */ + vfpclasspd $94, %zmm7, %k0 + + /* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ + vrndscalepd $88, {sae}, %zmm8, %zmm4 + vmovups poly_coeff4+__svml_dlog10_data_internal_avx512(%rip), %zmm8 + kmovw %k0, %edx + + /* Reduced argument: R = DblRcp*Mantissa - 1 */ + vfmsub213pd {rn-sae}, %zmm3, %zmm4, %zmm6 + vcmppd $17, {sae}, %zmm2, %zmm4, %k1 + vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8 + vmovups poly_coeff2+__svml_dlog10_data_internal_avx512(%rip), %zmm12 + vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1 + vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 + vmovups poly_coeff1+__svml_dlog10_data_internal_avx512(%rip), %zmm2 + + /* R^2 */ + vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15 + vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 + + /* Prepare table index */ + vpsrlq $48, %zmm4, %zmm9 + + /* add 1 to Expon if DblRcp<0.75 */ + vaddpd {rn-sae}, %zmm3, %zmm0, %zmm0{%k1} + vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13 + vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm1 + vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8 + vpermt2pd Log_tbl+64+__svml_dlog10_data_internal_avx512(%rip), %zmm9, %zmm5 + + /* polynomial */ + vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm1 + vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm1 + vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm6 + vmovups L2+__svml_dlog10_data_internal_avx512(%rip), %zmm1 + vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm7, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm7, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call log10@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call log10@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_log10_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dlog10_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl[16][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 C075[8][2]; - __declspec(align(64)) VUINT32 poly_coeff9[8][2]; - __declspec(align(64)) VUINT32 poly_coeff8[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - __declspec(align(64)) VUINT32 L2[8][2]; - } __svml_dlog10_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl[16][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 C075[8][2]; + __declspec(align(64)) VUINT32 poly_coeff9[8][2]; + __declspec(align(64)) VUINT32 poly_coeff8[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; + __declspec(align(64)) VUINT32 L2[8][2]; +} __svml_dlog10_data_internal_avx512; #endif __svml_dlog10_data_internal_avx512: - /*== Log_tbl ==*/ - .quad 0x0000000000000000 - .quad 0xbf9af5f92b00e610 - .quad 0xbfaa30a9d609efea - .quad 0xbfb31b3055c47118 - .quad 0xbfb8cf183886480d - .quad 0xbfbe3bc1ab0e19fe - .quad 0xbfc1b3e71ec94f7b - .quad 0xbfc42c7e7fe3fc02 - .quad 0x3fbffbfc2bbc7803 - .quad 0x3fbb721cd17157e3 - .quad 0x3fb715d0ce367afc - .quad 0x3fb2e3a740b7800f - .quad 0x3fadb11ed766abf4 - .quad 0x3fa5e3966b7e9295 - .quad 0x3f9cb38fccd8bfdb - .quad 0x3f8c3d0837784c41 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== 0.75 ==*/ - .align 64 - .quad 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000 - /*== poly_coeff9 ==*/ - .align 64 - .quad 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370 - /*== poly_coeff8 ==*/ - .align 64 - .quad 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814 - /*== poly_coeff7 ==*/ - .align 64 - .quad 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2 - /*== poly_coeff6 ==*/ - .align 64 - .quad 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80 - /*== poly_coeff5 ==*/ - .align 64 - .quad 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9 - /*== poly_coeff4 ==*/ - .align 64 - .quad 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3 - /*== poly_coeff3 ==*/ - .align 64 - .quad 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c - /*== poly_coeff2 ==*/ - .align 64 - .quad 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db - /*== poly_coeff1 ==*/ - .align 64 - .quad 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e - /*== L2 ==*/ - .align 64 - .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff - .align 64 - .type __svml_dlog10_data_internal_avx512,@object - .size __svml_dlog10_data_internal_avx512,.-__svml_dlog10_data_internal_avx512 + /* Log_tbl */ + .quad 0x0000000000000000 + .quad 0xbf9af5f92b00e610 + .quad 0xbfaa30a9d609efea + .quad 0xbfb31b3055c47118 + .quad 0xbfb8cf183886480d + .quad 0xbfbe3bc1ab0e19fe + .quad 0xbfc1b3e71ec94f7b + .quad 0xbfc42c7e7fe3fc02 + .quad 0x3fbffbfc2bbc7803 + .quad 0x3fbb721cd17157e3 + .quad 0x3fb715d0ce367afc + .quad 0x3fb2e3a740b7800f + .quad 0x3fadb11ed766abf4 + .quad 0x3fa5e3966b7e9295 + .quad 0x3f9cb38fccd8bfdb + .quad 0x3f8c3d0837784c41 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* 0.75 */ + .align 64 + .quad 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000 + /* poly_coeff9 */ + .align 64 + .quad 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370, 0x3fa8c2d828480370 + /* poly_coeff8 */ + .align 64 + .quad 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814, 0xbfabd80d96029814 + /* poly_coeff7 */ + .align 64 + .quad 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2, 0x3fafc3f6f38b58a2 + /* poly_coeff6 */ + .align 64 + .quad 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80, 0xbfb287a63464dc80 + /* poly_coeff5 */ + .align 64 + .quad 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9, 0x3fb63c62777f27d9 + /* poly_coeff4 */ + .align 64 + .quad 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3, 0xbfbbcb7b153c06a3 + /* poly_coeff3 */ + .align 64 + .quad 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c, 0x3fc287a7636f428c + /* poly_coeff2 */ + .align 64 + .quad 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db, 0xbfcbcb7b1526e4db + /* poly_coeff1 */ + .align 64 + .quad 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e, 0x3fdbcb7b1526e50e + /* L2 */ + .align 64 + .quad 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff, 0x3fd34413509f79ff + .align 64 + .type __svml_dlog10_data_internal_avx512, @object + .size __svml_dlog10_data_internal_avx512, .-__svml_dlog10_data_internal_avx512 From patchwork Mon Mar 7 15:01:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602403 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=XY9rgqAL; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3s00P3Fz9sFt for ; Tue, 8 Mar 2022 03:32:20 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0467A3857C48 for ; Mon, 7 Mar 2022 16:32:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0467A3857C48 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670738; bh=emXCEogsvCPUhPvfwxuKSWFpw89AxW8pWM10PSYE4CA=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=XY9rgqALrXK93P0gdfCMdpyziYCshDxqOfGu+ueu69JmJ6aTFN17LjO2acU56uz9s m6Edis38R8SZPo7PR3D5CvhDfG8mYCrNw3Pzur59AYIyctJBqhM6x+Kp6bqw9uGPi7 o4vhx4FQtWDJIsmQk9MlUtkQPz/iMIYts4GbGrwc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id CA49F3858424 for ; Mon, 7 Mar 2022 15:03:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CA49F3858424 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017280" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017280" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="631871414" Received: from scymds01.sc.intel.com ([10.148.94.138]) by FMSMGA003.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fB016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 097/126] x86_64: Fix svml_s_log1pf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:32 -0800 Message-Id: <20220307150201.10590-98-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_log1pf16_core_avx512.S | 425 +++++++++--------- 1 file changed, 212 insertions(+), 213 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S index cc39548cc6..8fa5068595 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf16_core_avx512.S @@ -19,7 +19,7 @@ /* * ALGORITHM DESCRIPTION: * - * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1, 2) * Get short reciprocal approximation Rcp ~ 1/xh * R = (Rcp*xh - 1.0) + Rcp*xl * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) @@ -30,242 +30,241 @@ /* Offsets for data table __svml_slog1p_data_internal */ -#define SgnMask 0 -#define sOne 64 -#define sPoly_1 128 -#define sPoly_2 192 -#define sPoly_3 256 -#define sPoly_4 320 -#define sPoly_5 384 -#define sPoly_6 448 -#define sPoly_7 512 -#define sPoly_8 576 -#define iHiDelta 640 -#define iLoRange 704 -#define iBrkValue 768 -#define iOffExpoMask 832 -#define sLn2 896 +#define SgnMask 0 +#define sOne 64 +#define sPoly_1 128 +#define sPoly_2 192 +#define sPoly_3 256 +#define sPoly_4 320 +#define sPoly_5 384 +#define sPoly_6 448 +#define sPoly_7 512 +#define sPoly_8 576 +#define iHiDelta 640 +#define iLoRange 704 +#define iBrkValue 768 +#define iOffExpoMask 832 +#define sLn2 896 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_log1pf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups sOne+__svml_slog1p_data_internal(%rip), %zmm2 - -/* reduction: compute r,n */ - vmovups iBrkValue+__svml_slog1p_data_internal(%rip), %zmm12 - vmovups SgnMask+__svml_slog1p_data_internal(%rip), %zmm4 - vmovaps %zmm0, %zmm3 - -/* compute 1+x as high, low parts */ - vmaxps {sae}, %zmm3, %zmm2, %zmm5 - vminps {sae}, %zmm3, %zmm2, %zmm7 - vandnps %zmm3, %zmm4, %zmm1 - vpternlogd $255, %zmm4, %zmm4, %zmm4 - vaddps {rn-sae}, %zmm7, %zmm5, %zmm9 - vpsubd %zmm12, %zmm9, %zmm10 - vsubps {rn-sae}, %zmm9, %zmm5, %zmm6 - -/* check argument value ranges */ - vpaddd iHiDelta+__svml_slog1p_data_internal(%rip), %zmm9, %zmm8 - vpsrad $23, %zmm10, %zmm13 - vmovups sPoly_5+__svml_slog1p_data_internal(%rip), %zmm9 - vpcmpd $5, iLoRange+__svml_slog1p_data_internal(%rip), %zmm8, %k1 - vpslld $23, %zmm13, %zmm14 - vaddps {rn-sae}, %zmm7, %zmm6, %zmm15 - vcvtdq2ps {rn-sae}, %zmm13, %zmm0 - vpsubd %zmm14, %zmm2, %zmm13 - vmovups sPoly_8+__svml_slog1p_data_internal(%rip), %zmm7 - vmovups sPoly_1+__svml_slog1p_data_internal(%rip), %zmm14 - vmulps {rn-sae}, %zmm13, %zmm15, %zmm6 - vpandd iOffExpoMask+__svml_slog1p_data_internal(%rip), %zmm10, %zmm11 - vpaddd %zmm12, %zmm11, %zmm5 - vmovups sPoly_4+__svml_slog1p_data_internal(%rip), %zmm10 - vmovups sPoly_3+__svml_slog1p_data_internal(%rip), %zmm11 - vmovups sPoly_2+__svml_slog1p_data_internal(%rip), %zmm12 - -/* polynomial evaluation */ - vsubps {rn-sae}, %zmm2, %zmm5, %zmm2 - vaddps {rn-sae}, %zmm6, %zmm2, %zmm15 - vmovups sPoly_7+__svml_slog1p_data_internal(%rip), %zmm2 - vfmadd231ps {rn-sae}, %zmm15, %zmm7, %zmm2 - vpandnd %zmm8, %zmm8, %zmm4{%k1} - vmovups sPoly_6+__svml_slog1p_data_internal(%rip), %zmm8 - -/* combine and get argument value range mask */ - vptestmd %zmm4, %zmm4, %k0 - vfmadd213ps {rn-sae}, %zmm8, %zmm15, %zmm2 - kmovw %k0, %edx - vfmadd213ps {rn-sae}, %zmm9, %zmm15, %zmm2 - vfmadd213ps {rn-sae}, %zmm10, %zmm15, %zmm2 - vfmadd213ps {rn-sae}, %zmm11, %zmm15, %zmm2 - vfmadd213ps {rn-sae}, %zmm12, %zmm15, %zmm2 - vfmadd213ps {rn-sae}, %zmm14, %zmm15, %zmm2 - vmulps {rn-sae}, %zmm15, %zmm2, %zmm4 - vfmadd213ps {rn-sae}, %zmm15, %zmm15, %zmm4 - -/* final reconstruction */ - vmovups sLn2+__svml_slog1p_data_internal(%rip), %zmm15 - vfmadd213ps {rn-sae}, %zmm4, %zmm15, %zmm0 - vorps %zmm1, %zmm0, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm3 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups sOne+__svml_slog1p_data_internal(%rip), %zmm2 + + /* reduction: compute r, n */ + vmovups iBrkValue+__svml_slog1p_data_internal(%rip), %zmm12 + vmovups SgnMask+__svml_slog1p_data_internal(%rip), %zmm4 + vmovaps %zmm0, %zmm3 + + /* compute 1+x as high, low parts */ + vmaxps {sae}, %zmm3, %zmm2, %zmm5 + vminps {sae}, %zmm3, %zmm2, %zmm7 + vandnps %zmm3, %zmm4, %zmm1 + vpternlogd $255, %zmm4, %zmm4, %zmm4 + vaddps {rn-sae}, %zmm7, %zmm5, %zmm9 + vpsubd %zmm12, %zmm9, %zmm10 + vsubps {rn-sae}, %zmm9, %zmm5, %zmm6 + + /* check argument value ranges */ + vpaddd iHiDelta+__svml_slog1p_data_internal(%rip), %zmm9, %zmm8 + vpsrad $23, %zmm10, %zmm13 + vmovups sPoly_5+__svml_slog1p_data_internal(%rip), %zmm9 + vpcmpd $5, iLoRange+__svml_slog1p_data_internal(%rip), %zmm8, %k1 + vpslld $23, %zmm13, %zmm14 + vaddps {rn-sae}, %zmm7, %zmm6, %zmm15 + vcvtdq2ps {rn-sae}, %zmm13, %zmm0 + vpsubd %zmm14, %zmm2, %zmm13 + vmovups sPoly_8+__svml_slog1p_data_internal(%rip), %zmm7 + vmovups sPoly_1+__svml_slog1p_data_internal(%rip), %zmm14 + vmulps {rn-sae}, %zmm13, %zmm15, %zmm6 + vpandd iOffExpoMask+__svml_slog1p_data_internal(%rip), %zmm10, %zmm11 + vpaddd %zmm12, %zmm11, %zmm5 + vmovups sPoly_4+__svml_slog1p_data_internal(%rip), %zmm10 + vmovups sPoly_3+__svml_slog1p_data_internal(%rip), %zmm11 + vmovups sPoly_2+__svml_slog1p_data_internal(%rip), %zmm12 + + /* polynomial evaluation */ + vsubps {rn-sae}, %zmm2, %zmm5, %zmm2 + vaddps {rn-sae}, %zmm6, %zmm2, %zmm15 + vmovups sPoly_7+__svml_slog1p_data_internal(%rip), %zmm2 + vfmadd231ps {rn-sae}, %zmm15, %zmm7, %zmm2 + vpandnd %zmm8, %zmm8, %zmm4{%k1} + vmovups sPoly_6+__svml_slog1p_data_internal(%rip), %zmm8 + + /* combine and get argument value range mask */ + vptestmd %zmm4, %zmm4, %k0 + vfmadd213ps {rn-sae}, %zmm8, %zmm15, %zmm2 + kmovw %k0, %edx + vfmadd213ps {rn-sae}, %zmm9, %zmm15, %zmm2 + vfmadd213ps {rn-sae}, %zmm10, %zmm15, %zmm2 + vfmadd213ps {rn-sae}, %zmm11, %zmm15, %zmm2 + vfmadd213ps {rn-sae}, %zmm12, %zmm15, %zmm2 + vfmadd213ps {rn-sae}, %zmm14, %zmm15, %zmm2 + vmulps {rn-sae}, %zmm15, %zmm2, %zmm4 + vfmadd213ps {rn-sae}, %zmm15, %zmm15, %zmm4 + + /* final reconstruction */ + vmovups sLn2+__svml_slog1p_data_internal(%rip), %zmm15 + vfmadd213ps {rn-sae}, %zmm4, %zmm15, %zmm0 + vorps %zmm1, %zmm0, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm3, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm3, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call log1pf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call log1pf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_log1pf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_slog1p_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 SgnMask[16][1]; - __declspec(align(64)) VUINT32 sOne[16][1]; - __declspec(align(64)) VUINT32 sPoly[8][16][1]; - __declspec(align(64)) VUINT32 iHiDelta[16][1]; - __declspec(align(64)) VUINT32 iLoRange[16][1]; - __declspec(align(64)) VUINT32 iBrkValue[16][1]; - __declspec(align(64)) VUINT32 iOffExpoMask[16][1]; - __declspec(align(64)) VUINT32 sLn2[16][1]; + __declspec(align(64)) VUINT32 SgnMask[16][1]; + __declspec(align(64)) VUINT32 sOne[16][1]; + __declspec(align(64)) VUINT32 sPoly[8][16][1]; + __declspec(align(64)) VUINT32 iHiDelta[16][1]; + __declspec(align(64)) VUINT32 iLoRange[16][1]; + __declspec(align(64)) VUINT32 iBrkValue[16][1]; + __declspec(align(64)) VUINT32 iOffExpoMask[16][1]; + __declspec(align(64)) VUINT32 sLn2[16][1]; } __svml_slog1p_data_internal; #endif __svml_slog1p_data_internal: - /*== SgnMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== sOne = SP 1.0 ==*/ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 64 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iHiDelta = SP 80000000-7f000000 ==*/ - .align 64 - .long 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000 - /*== iLoRange = SP 00800000+iHiDelta ==*/ - .align 64 - .long 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000 - /*== iBrkValue = SP 2/3 ==*/ - .align 64 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 64 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sLn2 = SP ln(2) ==*/ - .align 64 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 64 - .type __svml_slog1p_data_internal,@object - .size __svml_slog1p_data_internal,.-__svml_slog1p_data_internal + /* SgnMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* sOne = SP 1.0 */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 64 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iHiDelta = SP 80000000-7f000000 */ + .align 64 + .long 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000 + /* iLoRange = SP 00800000+iHiDelta */ + .align 64 + .long 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000 + /* iBrkValue = SP 2/3 */ + .align 64 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 64 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sLn2 = SP ln(2) */ + .align 64 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 64 + .type __svml_slog1p_data_internal, @object + .size __svml_slog1p_data_internal, .-__svml_slog1p_data_internal From patchwork Mon Mar 7 15:01:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602370 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=x8AozfP+; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Nd1cgjz9sFt for ; Tue, 8 Mar 2022 03:11:13 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0F367385843B for ; Mon, 7 Mar 2022 16:11:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F367385843B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669471; bh=fsWqlOWxNfVwvv/uuAphCXYG4mOAnrd7gB/d2pYtvHk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=x8AozfP+MZnOGtfPL7MxUEjTUJJoez2DeqxqagIm+XFjN8PXW9Z7c4tm7X1GDSLWu iXCY7Vf2ESjoA7Rb4GMQ/ruKdph9kqXmiN8lx6R8HMjTUZIMT4L3b7pc6uQLfnO454 g3ndWxSmeuKMUbSjNJALtvumCnKukxU1BI5MlTck= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by sourceware.org (Postfix) with ESMTPS id 5A7533858005 for ; Mon, 7 Mar 2022 15:03:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5A7533858005 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="251983707" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="251983707" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="610639889" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga004.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fC016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 098/126] x86_64: Fix svml_s_log1pf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:33 -0800 Message-Id: <20220307150201.10590-99-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_log1pf4_core_sse4.S | 387 +++++++++--------- 1 file changed, 193 insertions(+), 194 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S index fc8818cb23..8e13849c2d 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf4_core_sse4.S @@ -19,7 +19,7 @@ /* * ALGORITHM DESCRIPTION: * - * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1, 2) * Get short reciprocal approximation Rcp ~ 1/xh * R = (Rcp*xh - 1.0) + Rcp*xl * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) @@ -30,223 +30,222 @@ /* Offsets for data table __svml_slog1p_data_internal */ -#define SgnMask 0 -#define sOne 16 -#define sPoly 32 -#define iHiDelta 160 -#define iLoRange 176 -#define iBrkValue 192 -#define iOffExpoMask 208 -#define sLn2 224 +#define SgnMask 0 +#define sOne 16 +#define sPoly 32 +#define iHiDelta 160 +#define iLoRange 176 +#define iBrkValue 192 +#define iOffExpoMask 208 +#define sLn2 224 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_log1pf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movups sOne+__svml_slog1p_data_internal(%rip), %xmm7 - -/* compute 1+x as high, low parts */ - movaps %xmm7, %xmm1 - movaps %xmm7, %xmm5 - maxps %xmm0, %xmm1 - minps %xmm0, %xmm5 - movaps %xmm1, %xmm4 - -/* check argument value ranges */ - movdqu iHiDelta+__svml_slog1p_data_internal(%rip), %xmm2 - addps %xmm5, %xmm4 - -/* reduction: compute r,n */ - movdqu iBrkValue+__svml_slog1p_data_internal(%rip), %xmm3 - paddd %xmm4, %xmm2 - movdqu iOffExpoMask+__svml_slog1p_data_internal(%rip), %xmm8 - subps %xmm4, %xmm1 - psubd %xmm3, %xmm4 - addps %xmm1, %xmm5 - pand %xmm4, %xmm8 - psrad $23, %xmm4 - cvtdq2ps %xmm4, %xmm10 - pslld $23, %xmm4 - movaps %xmm7, %xmm1 - paddd %xmm3, %xmm8 - psubd %xmm4, %xmm1 - mulps %xmm5, %xmm1 - -/* polynomial evaluation */ - subps %xmm7, %xmm8 - -/* final reconstruction */ - mulps sLn2+__svml_slog1p_data_internal(%rip), %xmm10 - addps %xmm8, %xmm1 - movups sPoly+112+__svml_slog1p_data_internal(%rip), %xmm9 - mulps %xmm1, %xmm9 - movdqu iLoRange+__svml_slog1p_data_internal(%rip), %xmm6 - pcmpgtd %xmm2, %xmm6 - addps sPoly+96+__svml_slog1p_data_internal(%rip), %xmm9 - -/* combine and get argument value range mask */ - movmskps %xmm6, %edx - movups SgnMask+__svml_slog1p_data_internal(%rip), %xmm11 - mulps %xmm1, %xmm9 - andnps %xmm0, %xmm11 - addps sPoly+80+__svml_slog1p_data_internal(%rip), %xmm9 - mulps %xmm1, %xmm9 - addps sPoly+64+__svml_slog1p_data_internal(%rip), %xmm9 - mulps %xmm1, %xmm9 - addps sPoly+48+__svml_slog1p_data_internal(%rip), %xmm9 - mulps %xmm1, %xmm9 - addps sPoly+32+__svml_slog1p_data_internal(%rip), %xmm9 - mulps %xmm1, %xmm9 - addps sPoly+16+__svml_slog1p_data_internal(%rip), %xmm9 - mulps %xmm1, %xmm9 - addps sPoly+__svml_slog1p_data_internal(%rip), %xmm9 - mulps %xmm1, %xmm9 - mulps %xmm1, %xmm9 - addps %xmm9, %xmm1 - addps %xmm10, %xmm1 - orps %xmm11, %xmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movups sOne+__svml_slog1p_data_internal(%rip), %xmm7 + + /* compute 1+x as high, low parts */ + movaps %xmm7, %xmm1 + movaps %xmm7, %xmm5 + maxps %xmm0, %xmm1 + minps %xmm0, %xmm5 + movaps %xmm1, %xmm4 + + /* check argument value ranges */ + movdqu iHiDelta+__svml_slog1p_data_internal(%rip), %xmm2 + addps %xmm5, %xmm4 + + /* reduction: compute r, n */ + movdqu iBrkValue+__svml_slog1p_data_internal(%rip), %xmm3 + paddd %xmm4, %xmm2 + movdqu iOffExpoMask+__svml_slog1p_data_internal(%rip), %xmm8 + subps %xmm4, %xmm1 + psubd %xmm3, %xmm4 + addps %xmm1, %xmm5 + pand %xmm4, %xmm8 + psrad $23, %xmm4 + cvtdq2ps %xmm4, %xmm10 + pslld $23, %xmm4 + movaps %xmm7, %xmm1 + paddd %xmm3, %xmm8 + psubd %xmm4, %xmm1 + mulps %xmm5, %xmm1 + + /* polynomial evaluation */ + subps %xmm7, %xmm8 + + /* final reconstruction */ + mulps sLn2+__svml_slog1p_data_internal(%rip), %xmm10 + addps %xmm8, %xmm1 + movups sPoly+112+__svml_slog1p_data_internal(%rip), %xmm9 + mulps %xmm1, %xmm9 + movdqu iLoRange+__svml_slog1p_data_internal(%rip), %xmm6 + pcmpgtd %xmm2, %xmm6 + addps sPoly+96+__svml_slog1p_data_internal(%rip), %xmm9 + + /* combine and get argument value range mask */ + movmskps %xmm6, %edx + movups SgnMask+__svml_slog1p_data_internal(%rip), %xmm11 + mulps %xmm1, %xmm9 + andnps %xmm0, %xmm11 + addps sPoly+80+__svml_slog1p_data_internal(%rip), %xmm9 + mulps %xmm1, %xmm9 + addps sPoly+64+__svml_slog1p_data_internal(%rip), %xmm9 + mulps %xmm1, %xmm9 + addps sPoly+48+__svml_slog1p_data_internal(%rip), %xmm9 + mulps %xmm1, %xmm9 + addps sPoly+32+__svml_slog1p_data_internal(%rip), %xmm9 + mulps %xmm1, %xmm9 + addps sPoly+16+__svml_slog1p_data_internal(%rip), %xmm9 + mulps %xmm1, %xmm9 + addps sPoly+__svml_slog1p_data_internal(%rip), %xmm9 + mulps %xmm1, %xmm9 + mulps %xmm1, %xmm9 + addps %xmm9, %xmm1 + addps %xmm10, %xmm1 + orps %xmm11, %xmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm1, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm1, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm1 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm1 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call log1pf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call log1pf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_log1pf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_slog1p_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 SgnMask[4][1]; - __declspec(align(16)) VUINT32 sOne[4][1]; - __declspec(align(16)) VUINT32 sPoly[8][4][1]; - __declspec(align(16)) VUINT32 iHiDelta[4][1]; - __declspec(align(16)) VUINT32 iLoRange[4][1]; - __declspec(align(16)) VUINT32 iBrkValue[4][1]; - __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; - __declspec(align(16)) VUINT32 sLn2[4][1]; + __declspec(align(16)) VUINT32 SgnMask[4][1]; + __declspec(align(16)) VUINT32 sOne[4][1]; + __declspec(align(16)) VUINT32 sPoly[8][4][1]; + __declspec(align(16)) VUINT32 iHiDelta[4][1]; + __declspec(align(16)) VUINT32 iLoRange[4][1]; + __declspec(align(16)) VUINT32 iBrkValue[4][1]; + __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; + __declspec(align(16)) VUINT32 sLn2[4][1]; } __svml_slog1p_data_internal; #endif __svml_slog1p_data_internal: - /*== SgnMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== sOne = SP 1.0 ==*/ - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 16 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iHiDelta = SP 80000000-7f000000 ==*/ - .align 16 - .long 0x01000000, 0x01000000, 0x01000000, 0x01000000 - /*== iLoRange = SP 00800000+iHiDelta ==*/ - .align 16 - .long 0x01800000, 0x01800000, 0x01800000, 0x01800000 - /*== iBrkValue = SP 2/3 ==*/ - .align 16 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 16 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sLn2 = SP ln(2) ==*/ - .align 16 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 16 - .type __svml_slog1p_data_internal,@object - .size __svml_slog1p_data_internal,.-__svml_slog1p_data_internal + /* SgnMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* sOne = SP 1.0 */ + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 16 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iHiDelta = SP 80000000-7f000000 */ + .align 16 + .long 0x01000000, 0x01000000, 0x01000000, 0x01000000 + /* iLoRange = SP 00800000+iHiDelta */ + .align 16 + .long 0x01800000, 0x01800000, 0x01800000, 0x01800000 + /* iBrkValue = SP 2/3 */ + .align 16 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 16 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sLn2 = SP ln(2) */ + .align 16 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 16 + .type __svml_slog1p_data_internal, @object + .size __svml_slog1p_data_internal, .-__svml_slog1p_data_internal From patchwork Mon Mar 7 15:01:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602288 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=krJfnMd/; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2dq1ZVCz9sFk for ; Tue, 8 Mar 2022 02:37:35 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 87473385842C for ; Mon, 7 Mar 2022 15:37:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 87473385842C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667452; bh=ytvr06kLu6YhMZJ4ugS8dHW/R3qT7NvqwnFRIZjExKw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=krJfnMd/QVw+x8dGZlLvk3C5E6LKyZbsYdFnJ84JV1ZzLVgbq0k5StYFmvow02c7a QURjwXkgtT9GS9yOpMTh5kaczSgPIdUwOPGY6FHggPcbDN9QczycwhM9c0k101dBsY HGDtjwsbwt8jyAzAYEEuAqVnEHGgKS+QqIMwzlzQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id E5CA03858434 for ; Mon, 7 Mar 2022 15:02:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E5CA03858434 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347798" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347798" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="780351119" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fD016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 099/126] x86_64: Fix svml_s_log1pf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:34 -0800 Message-Id: <20220307150201.10590-100-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_log1pf8_core_avx2.S | 391 +++++++++--------- 1 file changed, 195 insertions(+), 196 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S index 9da828bce7..54d6a9a685 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log1pf8_core_avx2.S @@ -19,7 +19,7 @@ /* * ALGORITHM DESCRIPTION: * - * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1, 2) * Get short reciprocal approximation Rcp ~ 1/xh * R = (Rcp*xh - 1.0) + Rcp*xl * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) @@ -30,225 +30,224 @@ /* Offsets for data table __svml_slog1p_data_internal */ -#define SgnMask 0 -#define sOne 32 -#define sPoly 64 -#define iHiDelta 320 -#define iLoRange 352 -#define iBrkValue 384 -#define iOffExpoMask 416 -#define sLn2 448 +#define SgnMask 0 +#define sOne 32 +#define sPoly 64 +#define iHiDelta 320 +#define iLoRange 352 +#define iBrkValue 384 +#define iOffExpoMask 416 +#define sLn2 448 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_log1pf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovups sOne+__svml_slog1p_data_internal(%rip), %ymm2 - -/* reduction: compute r,n */ - vmovups iBrkValue+__svml_slog1p_data_internal(%rip), %ymm13 - vmovups SgnMask+__svml_slog1p_data_internal(%rip), %ymm4 - vmovups iLoRange+__svml_slog1p_data_internal(%rip), %ymm8 - vmovaps %ymm0, %ymm3 - -/* compute 1+x as high, low parts */ - vmaxps %ymm3, %ymm2, %ymm5 - vminps %ymm3, %ymm2, %ymm6 - vaddps %ymm6, %ymm5, %ymm10 - vpsubd %ymm13, %ymm10, %ymm11 - -/* check argument value ranges */ - vpaddd iHiDelta+__svml_slog1p_data_internal(%rip), %ymm10, %ymm9 - vsubps %ymm10, %ymm5, %ymm7 - vpsrad $23, %ymm11, %ymm14 - vpand iOffExpoMask+__svml_slog1p_data_internal(%rip), %ymm11, %ymm12 - vpslld $23, %ymm14, %ymm15 - vcvtdq2ps %ymm14, %ymm0 - vpsubd %ymm15, %ymm2, %ymm14 - vandnps %ymm3, %ymm4, %ymm1 - vaddps %ymm7, %ymm6, %ymm4 - vpaddd %ymm13, %ymm12, %ymm6 - vmulps %ymm4, %ymm14, %ymm7 - -/* polynomial evaluation */ - vsubps %ymm2, %ymm6, %ymm2 - vpcmpgtd %ymm9, %ymm8, %ymm5 - vmovups sPoly+224+__svml_slog1p_data_internal(%rip), %ymm8 - vaddps %ymm2, %ymm7, %ymm9 - vfmadd213ps sPoly+192+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 - vfmadd213ps sPoly+160+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 - vfmadd213ps sPoly+128+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 - vfmadd213ps sPoly+96+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 - vfmadd213ps sPoly+64+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 - vfmadd213ps sPoly+32+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 - vfmadd213ps sPoly+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 - vmulps %ymm8, %ymm9, %ymm10 - vfmadd213ps %ymm9, %ymm9, %ymm10 - -/* final reconstruction */ - vfmadd132ps sLn2+__svml_slog1p_data_internal(%rip), %ymm10, %ymm0 - -/* combine and get argument value range mask */ - vmovmskps %ymm5, %edx - vorps %ymm1, %ymm0, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + vmovups sOne+__svml_slog1p_data_internal(%rip), %ymm2 + + /* reduction: compute r, n */ + vmovups iBrkValue+__svml_slog1p_data_internal(%rip), %ymm13 + vmovups SgnMask+__svml_slog1p_data_internal(%rip), %ymm4 + vmovups iLoRange+__svml_slog1p_data_internal(%rip), %ymm8 + vmovaps %ymm0, %ymm3 + + /* compute 1+x as high, low parts */ + vmaxps %ymm3, %ymm2, %ymm5 + vminps %ymm3, %ymm2, %ymm6 + vaddps %ymm6, %ymm5, %ymm10 + vpsubd %ymm13, %ymm10, %ymm11 + + /* check argument value ranges */ + vpaddd iHiDelta+__svml_slog1p_data_internal(%rip), %ymm10, %ymm9 + vsubps %ymm10, %ymm5, %ymm7 + vpsrad $23, %ymm11, %ymm14 + vpand iOffExpoMask+__svml_slog1p_data_internal(%rip), %ymm11, %ymm12 + vpslld $23, %ymm14, %ymm15 + vcvtdq2ps %ymm14, %ymm0 + vpsubd %ymm15, %ymm2, %ymm14 + vandnps %ymm3, %ymm4, %ymm1 + vaddps %ymm7, %ymm6, %ymm4 + vpaddd %ymm13, %ymm12, %ymm6 + vmulps %ymm4, %ymm14, %ymm7 + + /* polynomial evaluation */ + vsubps %ymm2, %ymm6, %ymm2 + vpcmpgtd %ymm9, %ymm8, %ymm5 + vmovups sPoly+224+__svml_slog1p_data_internal(%rip), %ymm8 + vaddps %ymm2, %ymm7, %ymm9 + vfmadd213ps sPoly+192+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 + vfmadd213ps sPoly+160+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 + vfmadd213ps sPoly+128+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 + vfmadd213ps sPoly+96+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 + vfmadd213ps sPoly+64+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 + vfmadd213ps sPoly+32+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 + vfmadd213ps sPoly+__svml_slog1p_data_internal(%rip), %ymm9, %ymm8 + vmulps %ymm8, %ymm9, %ymm10 + vfmadd213ps %ymm9, %ymm9, %ymm10 + + /* final reconstruction */ + vfmadd132ps sLn2+__svml_slog1p_data_internal(%rip), %ymm10, %ymm0 + + /* combine and get argument value range mask */ + vmovmskps %ymm5, %edx + vorps %ymm1, %ymm0, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm3 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm3, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm3, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call log1pf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call log1pf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_log1pf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_slog1p_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 SgnMask[8][1]; - __declspec(align(32)) VUINT32 sOne[8][1]; - __declspec(align(32)) VUINT32 sPoly[8][8][1]; - __declspec(align(32)) VUINT32 iHiDelta[8][1]; - __declspec(align(32)) VUINT32 iLoRange[8][1]; - __declspec(align(32)) VUINT32 iBrkValue[8][1]; - __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; - __declspec(align(32)) VUINT32 sLn2[8][1]; + __declspec(align(32)) VUINT32 SgnMask[8][1]; + __declspec(align(32)) VUINT32 sOne[8][1]; + __declspec(align(32)) VUINT32 sPoly[8][8][1]; + __declspec(align(32)) VUINT32 iHiDelta[8][1]; + __declspec(align(32)) VUINT32 iLoRange[8][1]; + __declspec(align(32)) VUINT32 iBrkValue[8][1]; + __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; + __declspec(align(32)) VUINT32 sLn2[8][1]; } __svml_slog1p_data_internal; #endif __svml_slog1p_data_internal: - /*== SgnMask ==*/ - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff - /*== sOne = SP 1.0 ==*/ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== sPoly[] = SP polynomial ==*/ - .align 32 - .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ - .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ - .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ - .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ - .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ - .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ - .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ - .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ - /*== iHiDelta = SP 80000000-7f000000 ==*/ - .align 32 - .long 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000 - /*== iLoRange = SP 00800000+iHiDelta ==*/ - .align 32 - .long 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000 - /*== iBrkValue = SP 2/3 ==*/ - .align 32 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 32 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sLn2 = SP ln(2) ==*/ - .align 32 - .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 - .align 32 - .type __svml_slog1p_data_internal,@object - .size __svml_slog1p_data_internal,.-__svml_slog1p_data_internal + /* SgnMask */ + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + /* sOne = SP 1.0 */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* sPoly[] = SP polynomial */ + .align 32 + .long 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000, 0xbf000000 /* -5.0000000000000000000000000e-01 P0 */ + .long 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94, 0x3eaaaa94 /* 3.3333265781402587890625000e-01 P1 */ + .long 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e, 0xbe80058e /* -2.5004237890243530273437500e-01 P2 */ + .long 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190, 0x3e4ce190 /* 2.0007920265197753906250000e-01 P3 */ + .long 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37, 0xbe28ad37 /* -1.6472326219081878662109375e-01 P4 */ + .long 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12, 0x3e0fcb12 /* 1.4042308926582336425781250e-01 P5 */ + .long 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3, 0xbe1ad9e3 /* -1.5122179687023162841796875e-01 P6 */ + .long 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed, 0x3e0d84ed /* 1.3820238411426544189453125e-01 P7 */ + /* iHiDelta = SP 80000000-7f000000 */ + .align 32 + .long 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000, 0x01000000 + /* iLoRange = SP 00800000+iHiDelta */ + .align 32 + .long 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000, 0x01800000 + /* iBrkValue = SP 2/3 */ + .align 32 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sLn2 = SP ln(2) */ + .align 32 + .long 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218, 0x3f317218 + .align 32 + .type __svml_slog1p_data_internal, @object + .size __svml_slog1p_data_internal, .-__svml_slog1p_data_internal From patchwork Mon Mar 7 15:01:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602306 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=OYUpQV6s; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2l40t7dz9sFk for ; Tue, 8 Mar 2022 02:42:08 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F02F93858431 for ; Mon, 7 Mar 2022 15:42:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F02F93858431 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667726; bh=PYUPmwrJBCWZDj5rbYkg2OsKYiIoTiQA0nHhyOuaRpU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=OYUpQV6sLwzNkun2iFA3DnhzB/8O74O8lyrsVgpGnMcm+n/pKko3yn8phTmhHdb6h NeX1y5WV6/hAXcPJUquuHNQsGg/J9SsDr2pAowS9SwTMQdDcf2zt5Q9FJWD60GJhMc il4lTXXO4Jew2Smdf9zINIfD72qZs7E/mnh+7000= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id E5EFA3858439 for ; Mon, 7 Mar 2022 15:02:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E5EFA3858439 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347803" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347803" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561730" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fE016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 100/126] x86_64: Fix svml_d_log1p2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:35 -0800 Message-Id: <20220307150201.10590-101-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log1p2_core_sse4.S | 2615 ++++++++--------- 1 file changed, 1307 insertions(+), 1308 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S index 04377f5593..eb0d063762 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p2_core_sse4.S @@ -19,7 +19,7 @@ /* * ALGORITHM DESCRIPTION: * - * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1, 2) * Get short reciprocal approximation Rcp ~ 1/xh * R = (Rcp*xh - 1.0) + Rcp*xl * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) @@ -30,1369 +30,1368 @@ /* Offsets for data table __svml_dlog1p_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8208 -#define poly_coeff 12320 -#define ExpMask 12384 -#define Two10 12400 -#define MinLog1p 12416 -#define MaxLog1p 12432 -#define One 12448 -#define SgnMask 12464 -#define XThreshold 12480 -#define XhMask 12496 -#define Threshold 12512 -#define Bias 12528 -#define Bias1 12544 -#define ExpMask0 12560 -#define ExpMask2 12576 -#define L2 12592 +#define Log_HA_table 0 +#define Log_LA_table 8208 +#define poly_coeff 12320 +#define ExpMask 12384 +#define Two10 12400 +#define MinLog1p 12416 +#define MaxLog1p 12432 +#define One 12448 +#define SgnMask 12464 +#define XThreshold 12480 +#define XhMask 12496 +#define Threshold 12512 +#define Bias 12528 +#define Bias1 12544 +#define ExpMask0 12560 +#define ExpMask2 12576 +#define L2 12592 /* Lookup bias for data table __svml_dlog1p_data_internal. */ -#define Table_Lookup_Bias -0x405ff0 +#define Table_Lookup_Bias -0x405ff0 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_log1p_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 - movaps %xmm0, %xmm7 + 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 + movaps %xmm0, %xmm7 -/* SgnMask used by all accuracies */ - movups SgnMask+__svml_dlog1p_data_internal(%rip), %xmm6 - lea Table_Lookup_Bias+__svml_dlog1p_data_internal(%rip), %rsi - movaps %xmm6, %xmm8 - movaps %xmm7, %xmm15 - movups One+__svml_dlog1p_data_internal(%rip), %xmm0 - andps %xmm7, %xmm8 - cmpltpd XThreshold+__svml_dlog1p_data_internal(%rip), %xmm8 - cmpnlepd MaxLog1p+__svml_dlog1p_data_internal(%rip), %xmm15 - movaps %xmm0, %xmm4 + /* SgnMask used by all accuracies */ + movups SgnMask+__svml_dlog1p_data_internal(%rip), %xmm6 + lea Table_Lookup_Bias+__svml_dlog1p_data_internal(%rip), %rsi + movaps %xmm6, %xmm8 + movaps %xmm7, %xmm15 + movups One+__svml_dlog1p_data_internal(%rip), %xmm0 + andps %xmm7, %xmm8 + cmpltpd XThreshold+__svml_dlog1p_data_internal(%rip), %xmm8 + cmpnlepd MaxLog1p+__svml_dlog1p_data_internal(%rip), %xmm15 + movaps %xmm0, %xmm4 -/* compute 1+x as high, low parts */ - movaps %xmm0, %xmm9 - addpd %xmm7, %xmm4 - maxpd %xmm7, %xmm9 - orps XhMask+__svml_dlog1p_data_internal(%rip), %xmm8 - movaps %xmm0, %xmm5 + /* compute 1+x as high, low parts */ + movaps %xmm0, %xmm9 + addpd %xmm7, %xmm4 + maxpd %xmm7, %xmm9 + orps XhMask+__svml_dlog1p_data_internal(%rip), %xmm8 + movaps %xmm0, %xmm5 -/* preserve mantissa, set input exponent to 2^(-10) */ - movups ExpMask+__svml_dlog1p_data_internal(%rip), %xmm3 - andps %xmm8, %xmm4 - andps %xmm4, %xmm3 + /* preserve mantissa, set input exponent to 2^(-10) */ + movups ExpMask+__svml_dlog1p_data_internal(%rip), %xmm3 + andps %xmm8, %xmm4 + andps %xmm4, %xmm3 -/* check range */ - movaps %xmm7, %xmm8 - orps Two10+__svml_dlog1p_data_internal(%rip), %xmm3 + /* check range */ + movaps %xmm7, %xmm8 + orps Two10+__svml_dlog1p_data_internal(%rip), %xmm3 -/* Compute SignMask for all accuracies, including EP */ - andnps %xmm7, %xmm6 + /* Compute SignMask for all accuracies, including EP */ + andnps %xmm7, %xmm6 -/* reciprocal approximation good to at least 11 bits */ - cvtpd2ps %xmm3, %xmm10 - minpd %xmm7, %xmm5 - subpd %xmm4, %xmm9 - cmpltpd MinLog1p+__svml_dlog1p_data_internal(%rip), %xmm8 - addpd %xmm9, %xmm5 - movlhps %xmm10, %xmm10 - orps %xmm15, %xmm8 - rcpps %xmm10, %xmm11 + /* reciprocal approximation good to at least 11 bits */ + cvtpd2ps %xmm3, %xmm10 + minpd %xmm7, %xmm5 + subpd %xmm4, %xmm9 + cmpltpd MinLog1p+__svml_dlog1p_data_internal(%rip), %xmm8 + addpd %xmm9, %xmm5 + movlhps %xmm10, %xmm10 + orps %xmm15, %xmm8 + rcpps %xmm10, %xmm11 -/* combine and get argument value range mask */ - movmskpd %xmm8, %edx + /* combine and get argument value range mask */ + movmskpd %xmm8, %edx -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - movups .FLT_16(%rip), %xmm13 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + movups .FLT_16(%rip), %xmm13 -/* exponent of X needed to scale Xl */ - movdqu ExpMask0+__svml_dlog1p_data_internal(%rip), %xmm12 - cvtps2pd %xmm11, %xmm1 - addpd %xmm13, %xmm1 - subpd %xmm13, %xmm1 + /* exponent of X needed to scale Xl */ + movdqu ExpMask0+__svml_dlog1p_data_internal(%rip), %xmm12 + cvtps2pd %xmm11, %xmm1 + addpd %xmm13, %xmm1 + subpd %xmm13, %xmm1 -/* 2^ (-10-exp(X) ) */ - movdqu ExpMask2+__svml_dlog1p_data_internal(%rip), %xmm2 - pand %xmm4, %xmm12 - psubq %xmm12, %xmm2 - mulpd %xmm1, %xmm3 + /* 2^ (-10-exp(X) ) */ + movdqu ExpMask2+__svml_dlog1p_data_internal(%rip), %xmm2 + pand %xmm4, %xmm12 + psubq %xmm12, %xmm2 + mulpd %xmm1, %xmm3 -/* scale DblRcp */ - mulpd %xmm1, %xmm2 - subpd %xmm0, %xmm3 + /* scale DblRcp */ + mulpd %xmm1, %xmm2 + subpd %xmm0, %xmm3 -/* - * argument reduction - * VQFMS( D, R, X, DblRcp1, One ); - */ - mulpd %xmm2, %xmm5 - addpd %xmm5, %xmm3 + /* + * argument reduction + * VQFMS( D, R, X, DblRcp1, One ); + */ + mulpd %xmm2, %xmm5 + addpd %xmm5, %xmm3 -/* exponent*log(2.0) */ - movups Threshold+__svml_dlog1p_data_internal(%rip), %xmm10 + /* exponent*log(2.0) */ + movups Threshold+__svml_dlog1p_data_internal(%rip), %xmm10 -/* exponent bits */ - psrlq $20, %xmm4 - pshufd $221, %xmm4, %xmm14 + /* exponent bits */ + psrlq $20, %xmm4 + pshufd $221, %xmm4, %xmm14 -/* - * prepare table index - * table lookup - */ - movaps %xmm1, %xmm4 - cmpltpd %xmm1, %xmm10 + /* + * prepare table index + * table lookup + */ + movaps %xmm1, %xmm4 + cmpltpd %xmm1, %xmm10 -/* biased exponent in DP format */ - cvtdq2pd %xmm14, %xmm0 + /* biased exponent in DP format */ + cvtdq2pd %xmm14, %xmm0 -/* polynomial */ - movups poly_coeff+__svml_dlog1p_data_internal(%rip), %xmm1 - movaps %xmm3, %xmm5 - mulpd %xmm3, %xmm1 - mulpd %xmm3, %xmm5 - addpd poly_coeff+16+__svml_dlog1p_data_internal(%rip), %xmm1 - movups poly_coeff+32+__svml_dlog1p_data_internal(%rip), %xmm2 - psrlq $40, %xmm4 - mulpd %xmm3, %xmm2 - mulpd %xmm5, %xmm1 - addpd poly_coeff+48+__svml_dlog1p_data_internal(%rip), %xmm2 - movd %xmm4, %eax - andps Bias+__svml_dlog1p_data_internal(%rip), %xmm10 - addpd %xmm1, %xmm2 + /* polynomial */ + movups poly_coeff+__svml_dlog1p_data_internal(%rip), %xmm1 + movaps %xmm3, %xmm5 + mulpd %xmm3, %xmm1 + mulpd %xmm3, %xmm5 + addpd poly_coeff+16+__svml_dlog1p_data_internal(%rip), %xmm1 + movups poly_coeff+32+__svml_dlog1p_data_internal(%rip), %xmm2 + psrlq $40, %xmm4 + mulpd %xmm3, %xmm2 + mulpd %xmm5, %xmm1 + addpd poly_coeff+48+__svml_dlog1p_data_internal(%rip), %xmm2 + movd %xmm4, %eax + andps Bias+__svml_dlog1p_data_internal(%rip), %xmm10 + addpd %xmm1, %xmm2 -/* reconstruction */ - mulpd %xmm2, %xmm5 - orps Bias1+__svml_dlog1p_data_internal(%rip), %xmm10 - pshufd $2, %xmm4, %xmm9 - subpd %xmm10, %xmm0 - addpd %xmm5, %xmm3 - movd %xmm9, %ecx - mulpd L2+__svml_dlog1p_data_internal(%rip), %xmm0 - movslq %eax, %rax - movslq %ecx, %rcx - movsd (%rsi,%rax), %xmm11 - movhpd (%rsi,%rcx), %xmm11 - addpd %xmm3, %xmm11 - addpd %xmm11, %xmm0 + /* reconstruction */ + mulpd %xmm2, %xmm5 + orps Bias1+__svml_dlog1p_data_internal(%rip), %xmm10 + pshufd $2, %xmm4, %xmm9 + subpd %xmm10, %xmm0 + addpd %xmm5, %xmm3 + movd %xmm9, %ecx + mulpd L2+__svml_dlog1p_data_internal(%rip), %xmm0 + movslq %eax, %rax + movslq %ecx, %rcx + movsd (%rsi, %rax), %xmm11 + movhpd (%rsi, %rcx), %xmm11 + addpd %xmm3, %xmm11 + addpd %xmm11, %xmm0 -/* OR in the Sign of input argument to produce correct log1p(-0) */ - orps %xmm6, %xmm0 - testl %edx, %edx + /* OR in the Sign of input argument to produce correct log1p(-0) */ + orps %xmm6, %xmm0 + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx xmm0 xmm7 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx xmm0 xmm7 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm7, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx r12 r13 r14 r15 edx + movups %xmm7, 32(%rsp) + movups %xmm0, 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 + 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 - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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), %xmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 48(%rsp), %xmm0 -/* 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 xmm0 + /* 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 xmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call log1p@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call log1p@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN2v_log1p_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dlog1p_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[4][2][2]; - __declspec(align(16)) VUINT32 ExpMask[2][2]; - __declspec(align(16)) VUINT32 Two10[2][2]; - __declspec(align(16)) VUINT32 MinLog1p[2][2]; - __declspec(align(16)) VUINT32 MaxLog1p[2][2]; - __declspec(align(16)) VUINT32 One[2][2]; - __declspec(align(16)) VUINT32 SgnMask[2][2]; - __declspec(align(16)) VUINT32 XThreshold[2][2]; - __declspec(align(16)) VUINT32 XhMask[2][2]; - __declspec(align(16)) VUINT32 Threshold[2][2]; - __declspec(align(16)) VUINT32 Bias[2][2]; - __declspec(align(16)) VUINT32 Bias1[2][2]; - __declspec(align(16)) VUINT32 ExpMask0[2][2]; - __declspec(align(16)) VUINT32 ExpMask2[2][2]; - __declspec(align(16)) VUINT32 L2[2][2]; + __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[4][2][2]; + __declspec(align(16)) VUINT32 ExpMask[2][2]; + __declspec(align(16)) VUINT32 Two10[2][2]; + __declspec(align(16)) VUINT32 MinLog1p[2][2]; + __declspec(align(16)) VUINT32 MaxLog1p[2][2]; + __declspec(align(16)) VUINT32 One[2][2]; + __declspec(align(16)) VUINT32 SgnMask[2][2]; + __declspec(align(16)) VUINT32 XThreshold[2][2]; + __declspec(align(16)) VUINT32 XhMask[2][2]; + __declspec(align(16)) VUINT32 Threshold[2][2]; + __declspec(align(16)) VUINT32 Bias[2][2]; + __declspec(align(16)) VUINT32 Bias1[2][2]; + __declspec(align(16)) VUINT32 ExpMask0[2][2]; + __declspec(align(16)) VUINT32 ExpMask2[2][2]; + __declspec(align(16)) VUINT32 L2[2][2]; } __svml_dlog1p_data_internal; #endif __svml_dlog1p_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 16 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 16 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 16 - .quad 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 16 - .quad 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 16 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 16 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 16 - .quad 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 16 - .quad 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 16 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 16 - .quad 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 16 - .quad 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 16 - .quad 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 16 - .quad 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 16 - .quad 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 16 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - .align 16 - .type __svml_dlog1p_data_internal,@object - .size __svml_dlog1p_data_internal,.-__svml_dlog1p_data_internal - .space 96, 0x00 - .align 16 + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 16 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 16 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 16 + .quad 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 16 + .quad 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 16 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 16 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 16 + .quad 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 16 + .quad 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 16 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 16 + .quad 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 16 + .quad 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 16 + .quad 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 16 + .quad 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 16 + .quad 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 16 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + .align 16 + .type __svml_dlog1p_data_internal, @object + .size __svml_dlog1p_data_internal, .-__svml_dlog1p_data_internal + .space 96, 0x00 + .align 16 .FLT_16: - .long 0x00000000,0x43380000,0x00000000,0x43380000 - .type .FLT_16,@object - .size .FLT_16,16 + .long 0x00000000, 0x43380000, 0x00000000, 0x43380000 + .type .FLT_16, @object + .size .FLT_16, 16 From patchwork Mon Mar 7 15:01:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602355 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=QCC4YUsD; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC37K4qMTz9sBy for ; Tue, 8 Mar 2022 02:59:41 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8C207385843D for ; Mon, 7 Mar 2022 15:59:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C207385843D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668779; bh=uQLidV5ZTVivDrt8CwKb+lEfvMiRFuE07QPMgE5a0Xo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=QCC4YUsDFIgqTxZx+1uviVjblMqOhT1ROuGHh8aocdt8/K4DNVGu8EbEho4EGHJxe PQrZi8hxAwdcuVFgWBZqNzxoKuP9Lk43rl2rRU/e+f3S4JJq9GYzYgLu89v+n/P8X8 TwfqmlTLq/SIKK8ZhkP8zD+OU/Ml+l0Yc2aRgyXE= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id EE8AE3858001 for ; Mon, 7 Mar 2022 15:02:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EE8AE3858001 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138383" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138383" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="577627405" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga001.jf.intel.com with ESMTP; 07 Mar 2022 07:02:09 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fF016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 101/126] x86_64: Fix svml_d_log1p4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:36 -0800 Message-Id: <20220307150201.10590-102-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log1p4_core_avx2.S | 2587 ++++++++--------- 1 file changed, 1293 insertions(+), 1294 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S index 9ae36d484b..13235793e8 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p4_core_avx2.S @@ -19,7 +19,7 @@ /* * ALGORITHM DESCRIPTION: * - * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1, 2) * Get short reciprocal approximation Rcp ~ 1/xh * R = (Rcp*xh - 1.0) + Rcp*xl * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) @@ -30,1354 +30,1353 @@ /* Offsets for data table __svml_dlog1p_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8224 -#define poly_coeff 12352 -#define ExpMask 12480 -#define Two10 12512 -#define MinLog1p 12544 -#define MaxLog1p 12576 -#define One 12608 -#define SgnMask 12640 -#define XThreshold 12672 -#define XhMask 12704 -#define Threshold 12736 -#define Bias 12768 -#define Bias1 12800 -#define ExpMask0 12832 -#define ExpMask2 12864 -#define L2 12896 +#define Log_HA_table 0 +#define Log_LA_table 8224 +#define poly_coeff 12352 +#define ExpMask 12480 +#define Two10 12512 +#define MinLog1p 12544 +#define MaxLog1p 12576 +#define One 12608 +#define SgnMask 12640 +#define XThreshold 12672 +#define XhMask 12704 +#define Threshold 12736 +#define Bias 12768 +#define Bias1 12800 +#define ExpMask0 12832 +#define ExpMask2 12864 +#define L2 12896 /* Lookup bias for data table __svml_dlog1p_data_internal. */ -#define Table_Lookup_Bias -0x405fe0 +#define Table_Lookup_Bias -0x405fe0 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_log1p_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea Table_Lookup_Bias+__svml_dlog1p_data_internal(%rip), %r8 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea Table_Lookup_Bias+__svml_dlog1p_data_internal(%rip), %r8 -/* SgnMask used by all accuracies */ - vmovupd SgnMask+__svml_dlog1p_data_internal(%rip), %ymm12 - vmovupd One+__svml_dlog1p_data_internal(%rip), %ymm7 + /* SgnMask used by all accuracies */ + vmovupd SgnMask+__svml_dlog1p_data_internal(%rip), %ymm12 + vmovupd One+__svml_dlog1p_data_internal(%rip), %ymm7 -/* 2^ (-10-exp(X) ) */ - vmovupd ExpMask2+__svml_dlog1p_data_internal(%rip), %ymm3 - vmovapd %ymm0, %ymm9 - vandpd %ymm12, %ymm9, %ymm10 - vcmplt_oqpd XThreshold+__svml_dlog1p_data_internal(%rip), %ymm10, %ymm11 - vaddpd %ymm7, %ymm9, %ymm13 + /* 2^ (-10-exp(X) ) */ + vmovupd ExpMask2+__svml_dlog1p_data_internal(%rip), %ymm3 + vmovapd %ymm0, %ymm9 + vandpd %ymm12, %ymm9, %ymm10 + vcmplt_oqpd XThreshold+__svml_dlog1p_data_internal(%rip), %ymm10, %ymm11 + vaddpd %ymm7, %ymm9, %ymm13 -/* compute 1+x as high, low parts */ - vmaxpd %ymm9, %ymm7, %ymm15 - vminpd %ymm9, %ymm7, %ymm6 - vorpd XhMask+__svml_dlog1p_data_internal(%rip), %ymm11, %ymm14 - vandpd %ymm14, %ymm13, %ymm4 + /* compute 1+x as high, low parts */ + vmaxpd %ymm9, %ymm7, %ymm15 + vminpd %ymm9, %ymm7, %ymm6 + vorpd XhMask+__svml_dlog1p_data_internal(%rip), %ymm11, %ymm14 + vandpd %ymm14, %ymm13, %ymm4 -/* preserve mantissa, set input exponent to 2^(-10) */ - vandpd ExpMask+__svml_dlog1p_data_internal(%rip), %ymm4, %ymm5 - vorpd Two10+__svml_dlog1p_data_internal(%rip), %ymm5, %ymm5 + /* preserve mantissa, set input exponent to 2^(-10) */ + vandpd ExpMask+__svml_dlog1p_data_internal(%rip), %ymm4, %ymm5 + vorpd Two10+__svml_dlog1p_data_internal(%rip), %ymm5, %ymm5 -/* reciprocal approximation good to at least 11 bits */ - vcvtpd2ps %ymm5, %xmm2 - vsubpd %ymm4, %ymm15, %ymm0 + /* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm5, %xmm2 + vsubpd %ymm4, %ymm15, %ymm0 -/* check range */ - vcmplt_oqpd MinLog1p+__svml_dlog1p_data_internal(%rip), %ymm9, %ymm15 - vrcpps %xmm2, %xmm1 - vaddpd %ymm0, %ymm6, %ymm6 - vcmpnle_uqpd MaxLog1p+__svml_dlog1p_data_internal(%rip), %ymm9, %ymm0 - vcvtps2pd %xmm1, %ymm11 + /* check range */ + vcmplt_oqpd MinLog1p+__svml_dlog1p_data_internal(%rip), %ymm9, %ymm15 + vrcpps %xmm2, %xmm1 + vaddpd %ymm0, %ymm6, %ymm6 + vcmpnle_uqpd MaxLog1p+__svml_dlog1p_data_internal(%rip), %ymm9, %ymm0 + vcvtps2pd %xmm1, %ymm11 -/* exponent of X needed to scale Xl */ - vandps ExpMask0+__svml_dlog1p_data_internal(%rip), %ymm4, %ymm10 - vpsubq %ymm10, %ymm3, %ymm13 + /* exponent of X needed to scale Xl */ + vandps ExpMask0+__svml_dlog1p_data_internal(%rip), %ymm4, %ymm10 + vpsubq %ymm10, %ymm3, %ymm13 -/* exponent bits */ - vpsrlq $20, %ymm4, %ymm4 + /* exponent bits */ + vpsrlq $20, %ymm4, %ymm4 -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - vroundpd $0, %ymm11, %ymm3 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm11, %ymm3 -/* scale DblRcp */ - vmulpd %ymm13, %ymm3, %ymm2 + /* scale DblRcp */ + vmulpd %ymm13, %ymm3, %ymm2 -/* exponent*log(2.0) */ - vmovupd Threshold+__svml_dlog1p_data_internal(%rip), %ymm13 - vfmsub213pd %ymm7, %ymm3, %ymm5 + /* exponent*log(2.0) */ + vmovupd Threshold+__svml_dlog1p_data_internal(%rip), %ymm13 + vfmsub213pd %ymm7, %ymm3, %ymm5 -/* Compute SignMask for all accuracies, including EP */ - vandnpd %ymm9, %ymm12, %ymm8 - vorpd %ymm0, %ymm15, %ymm7 + /* Compute SignMask for all accuracies, including EP */ + vandnpd %ymm9, %ymm12, %ymm8 + vorpd %ymm0, %ymm15, %ymm7 -/* - * prepare table index - * table lookup - */ - vpsrlq $40, %ymm3, %ymm0 + /* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm3, %ymm0 -/* - * argument reduction - * VQFMS( D, R, X, DblRcp1, One ); - */ - vfmadd213pd %ymm5, %ymm2, %ymm6 - vmovupd poly_coeff+64+__svml_dlog1p_data_internal(%rip), %ymm2 - vcmplt_oqpd %ymm3, %ymm13, %ymm3 - vmulpd %ymm6, %ymm6, %ymm5 - vfmadd213pd poly_coeff+96+__svml_dlog1p_data_internal(%rip), %ymm6, %ymm2 + /* + * argument reduction + * VQFMS( D, R, X, DblRcp1, One ); + */ + vfmadd213pd %ymm5, %ymm2, %ymm6 + vmovupd poly_coeff+64+__svml_dlog1p_data_internal(%rip), %ymm2 + vcmplt_oqpd %ymm3, %ymm13, %ymm3 + vmulpd %ymm6, %ymm6, %ymm5 + vfmadd213pd poly_coeff+96+__svml_dlog1p_data_internal(%rip), %ymm6, %ymm2 -/* combine and get argument value range mask */ - vmovmskpd %ymm7, %eax - vextractf128 $1, %ymm4, %xmm12 - vshufps $221, %xmm12, %xmm4, %xmm14 + /* combine and get argument value range mask */ + vmovmskpd %ymm7, %eax + vextractf128 $1, %ymm4, %xmm12 + vshufps $221, %xmm12, %xmm4, %xmm14 -/* biased exponent in DP format */ - vcvtdq2pd %xmm14, %ymm1 - vandpd Bias+__svml_dlog1p_data_internal(%rip), %ymm3, %ymm14 - vorpd Bias1+__svml_dlog1p_data_internal(%rip), %ymm14, %ymm15 - vsubpd %ymm15, %ymm1, %ymm1 - vmulpd L2+__svml_dlog1p_data_internal(%rip), %ymm1, %ymm3 + /* biased exponent in DP format */ + vcvtdq2pd %xmm14, %ymm1 + vandpd Bias+__svml_dlog1p_data_internal(%rip), %ymm3, %ymm14 + vorpd Bias1+__svml_dlog1p_data_internal(%rip), %ymm14, %ymm15 + vsubpd %ymm15, %ymm1, %ymm1 + vmulpd L2+__svml_dlog1p_data_internal(%rip), %ymm1, %ymm3 -/* polynomial */ - vmovupd poly_coeff+__svml_dlog1p_data_internal(%rip), %ymm1 - vfmadd213pd poly_coeff+32+__svml_dlog1p_data_internal(%rip), %ymm6, %ymm1 - vfmadd213pd %ymm2, %ymm5, %ymm1 + /* polynomial */ + vmovupd poly_coeff+__svml_dlog1p_data_internal(%rip), %ymm1 + vfmadd213pd poly_coeff+32+__svml_dlog1p_data_internal(%rip), %ymm6, %ymm1 + vfmadd213pd %ymm2, %ymm5, %ymm1 -/* reconstruction */ - vfmadd213pd %ymm6, %ymm5, %ymm1 - vextractf128 $1, %ymm0, %xmm10 - vmovd %xmm0, %edx - vmovd %xmm10, %esi - movslq %edx, %rdx - vpextrd $2, %xmm0, %ecx - movslq %esi, %rsi - vpextrd $2, %xmm10, %edi - movslq %ecx, %rcx - movslq %edi, %rdi - vmovsd (%r8,%rdx), %xmm4 - vmovsd (%r8,%rsi), %xmm11 - vmovhpd (%r8,%rcx), %xmm4, %xmm7 - vmovhpd (%r8,%rdi), %xmm11, %xmm12 - vinsertf128 $1, %xmm12, %ymm7, %ymm0 - vaddpd %ymm1, %ymm0, %ymm6 - vaddpd %ymm6, %ymm3, %ymm0 + /* reconstruction */ + vfmadd213pd %ymm6, %ymm5, %ymm1 + vextractf128 $1, %ymm0, %xmm10 + vmovd %xmm0, %edx + vmovd %xmm10, %esi + movslq %edx, %rdx + vpextrd $2, %xmm0, %ecx + movslq %esi, %rsi + vpextrd $2, %xmm10, %edi + movslq %ecx, %rcx + movslq %edi, %rdi + vmovsd (%r8, %rdx), %xmm4 + vmovsd (%r8, %rsi), %xmm11 + vmovhpd (%r8, %rcx), %xmm4, %xmm7 + vmovhpd (%r8, %rdi), %xmm11, %xmm12 + vinsertf128 $1, %xmm12, %ymm7, %ymm0 + vaddpd %ymm1, %ymm0, %ymm6 + vaddpd %ymm6, %ymm3, %ymm0 -/* OR in the Sign of input argument to produce correct log1p(-0) */ - vorpd %ymm8, %ymm0, %ymm0 - testl %eax, %eax + /* OR in the Sign of input argument to produce correct log1p(-0) */ + vorpd %ymm8, %ymm0, %ymm0 + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm9 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm9 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd %ymm9, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 + vmovupd %ymm9, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call log1p@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call log1p@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_log1p_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dlog1p_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; - __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; - __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; - __declspec(align(32)) VUINT32 ExpMask[4][2]; - __declspec(align(32)) VUINT32 Two10[4][2]; - __declspec(align(32)) VUINT32 MinLog1p[4][2]; - __declspec(align(32)) VUINT32 MaxLog1p[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 SgnMask[4][2]; - __declspec(align(32)) VUINT32 XThreshold[4][2]; - __declspec(align(32)) VUINT32 XhMask[4][2]; - __declspec(align(32)) VUINT32 Threshold[4][2]; - __declspec(align(32)) VUINT32 Bias[4][2]; - __declspec(align(32)) VUINT32 Bias1[4][2]; - __declspec(align(32)) VUINT32 ExpMask0[4][2]; - __declspec(align(32)) VUINT32 ExpMask2[4][2]; - __declspec(align(32)) VUINT32 L2[4][2]; + __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; + __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; + __declspec(align(32)) VUINT32 poly_coeff[4][4][2]; + __declspec(align(32)) VUINT32 ExpMask[4][2]; + __declspec(align(32)) VUINT32 Two10[4][2]; + __declspec(align(32)) VUINT32 MinLog1p[4][2]; + __declspec(align(32)) VUINT32 MaxLog1p[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 SgnMask[4][2]; + __declspec(align(32)) VUINT32 XThreshold[4][2]; + __declspec(align(32)) VUINT32 XhMask[4][2]; + __declspec(align(32)) VUINT32 Threshold[4][2]; + __declspec(align(32)) VUINT32 Bias[4][2]; + __declspec(align(32)) VUINT32 Bias1[4][2]; + __declspec(align(32)) VUINT32 ExpMask0[4][2]; + __declspec(align(32)) VUINT32 ExpMask2[4][2]; + __declspec(align(32)) VUINT32 L2[4][2]; } __svml_dlog1p_data_internal; #endif __svml_dlog1p_data_internal: - /* Log_HA_table */ - .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 - .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a - .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff - .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a - .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb - .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e - .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b - .quad 0xc0862347acebaf68, 0xbe1cef3b152048af - .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e - .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 - .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 - .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 - .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 - .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 - .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 - .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b - .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed - .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed - .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f - .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce - .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 - .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 - .quad 0xc086238206e94218, 0xbe1ceee898588610 - .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea - .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 - .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 - .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 - .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 - .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b - .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 - .quad 0xc08623a07b28ae60, 0xbe1cef359363787c - .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c - .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 - .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 - .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b - .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf - .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 - .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b - .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 - .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 - .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff - .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 - .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e - .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde - .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b - .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c - .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 - .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f - .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 - .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 - .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 - .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b - .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 - .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 - .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 - .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 - .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a - .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d - .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b - .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 - .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 - .quad 0xc086241263e87f50, 0xbe1cf16e74768529 - .quad 0xc0862415f6193658, 0xbe1cefec64b8becb - .quad 0xc086241986b28f30, 0xbe1cf0838d210baa - .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 - .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 - .quad 0xc08624242f008380, 0xbe1ceea988c5a417 - .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 - .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 - .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 - .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 - .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 - .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d - .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e - .quad 0xc086244055d2c968, 0xbe1cef345284c119 - .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 - .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 - .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 - .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f - .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f - .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 - .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 - .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d - .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb - .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 - .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f - .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 - .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 - .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc - .quad 0xc086247419475160, 0xbe1cf03dd9922331 - .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 - .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 - .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 - .quad 0xc0862481af27c528, 0xbe1cee8a6593278a - .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 - .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 - .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 - .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 - .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c - .quad 0xc0862495e5179270, 0xbe1cee757f20c326 - .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 - .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 - .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb - .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e - .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b - .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 - .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 - .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 - .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 - .quad 0xc08624b72472a528, 0xbe1cf031c931c11f - .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 - .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d - .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 - .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 - .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 - .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe - .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f - .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 - .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 - .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 - .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 - .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d - .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed - .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f - .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 - .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 - .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a - .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a - .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 - .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc - .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 - .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 - .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c - .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c - .quad 0xc0862507f9448db0, 0xbe1cf082da464994 - .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf - .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 - .quad 0xc08625117667dd78, 0xbe1cf1106599c962 - .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f - .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 - .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 - .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 - .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd - .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 - .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 - .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d - .quad 0xc086252dab033898, 0xbe1cf220bba8861f - .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 - .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae - .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 - .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 - .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 - .quad 0xc08625404216d160, 0xbe1cf22d2536f06b - .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 - .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 - .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c - .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc - .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 - .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 - .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff - .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f - .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 - .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d - .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc - .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 - .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 - .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b - .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 - .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 - .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 - .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c - .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 - .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 - .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 - .quad 0xc08625830381da08, 0xbe1ceef1391a0372 - .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 - .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 - .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 - .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 - .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 - .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 - .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b - .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 - .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec - .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e - .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 - .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 - .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 - .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 - .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 - .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 - .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 - .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 - .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 - .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 - .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 - .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 - .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 - .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb - .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 - .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 - .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e - .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 - .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 - .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e - .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 - .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 - .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 - .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 - .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece - .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 - .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad - .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 - .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 - .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 - .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 - .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 - .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 - .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e - .quad 0xc08626052294df58, 0xbe1cf1b745c57716 - .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 - .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 - .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef - .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 - .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 - .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a - .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 - .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 - .quad 0xc086261e32267e98, 0xbe1cf19917010e96 - .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 - .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 - .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c - .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 - .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 - .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 - .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b - .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 - .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e - .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d - .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba - .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 - .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 - .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 - .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 - .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f - .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a - .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 - .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 - .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 - .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa - .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 - .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b - .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 - .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 - .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 - .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 - .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 - .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 - .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c - .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 - .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d - .quad 0xc08626778c3d4798, 0xbe1cefe260819380 - .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 - .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa - .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 - .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 - .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd - .quad 0xc086268762086350, 0xbe1cefaee1edfa35 - .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 - .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed - .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 - .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e - .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc - .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 - .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be - .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c - .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 - .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e - .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 - .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 - .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 - .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 - .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d - .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 - .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 - .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 - .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f - .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c - .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 - .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 - .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe - .quad 0xc08626c586da9388, 0xbe1cef7de2452430 - .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae - .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d - .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 - .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d - .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e - .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 - .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 - .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d - .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab - .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 - .quad 0xc08626e164224880, 0xbe1ceeb431709788 - .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 - .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b - .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 - .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 - .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 - .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 - .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef - .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 - .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 - .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 - .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f - .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 - .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 - .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 - .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 - .quad 0xc086270941934b10, 0xbe1ceefe32981f2c - .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 - .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c - .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f - .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 - .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd - .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 - .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 - .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 - .quad 0xc086271f58064068, 0xbe1cef092a785e3f - .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 - .quad 0xc086272438546be8, 0xbe1cf210907ded8b - .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 - .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc - .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 - .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 - .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 - .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe - .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d - .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 - .quad 0xc086273a05367688, 0xbe1cf18656c50806 - .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a - .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 - .quad 0xc08627413c621848, 0xbe1cf188a4ea680c - .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 - .quad 0xc086274608397868, 0xbe1cf25a328c28e2 - .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 - .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a - .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 - .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c - .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 - .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 - .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 - .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a - .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 - .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 - .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e - .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee - .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad - .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 - .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f - .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 - .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 - .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 - .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 - .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da - .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 - .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 - .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd - .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 - .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 - .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 - .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec - .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc - .quad 0xc086278a58297918, 0xbe1cf053073872bf - .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 - .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 - .quad 0xc086279148685aa0, 0xbe1cf162204794a8 - .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac - .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 - .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 - .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 - .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f - .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a - .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f - .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f - .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 - .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a - .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 - .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d - .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 - .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 - .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 - .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 - .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 - .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 - .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 - .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 - .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d - .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e - .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 - .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a - .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 - .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f - .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 - .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 - .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb - .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b - .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b - .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 - .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 - .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 - .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c - .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 - .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 - .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 - .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e - .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 - .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 - .quad 0xc08627f007f0a408, 0xbe1cf18134625550 - .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 - .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc - .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 - .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe - .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 - .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 - .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c - .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b - .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b - .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c - .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a - .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 - .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 - .quad 0xc086280eaa003050, 0xbe1cf010ad787fea - .quad 0xc0862810d5af5880, 0xbe1cee622478393d - .quad 0xc086281300c7e368, 0xbe1cf01c7482564f - .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 - .quad 0xc086281755366778, 0xbe1cef2edae5837d - .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 - .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 - .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 - .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 - .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 - .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 - .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d - .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 - .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b - .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 - .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 - .quad 0xc08628311f099420, 0xbe1cef247a9ec596 - .quad 0xc086283341749490, 0xbe1cef74bbcc488a - .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e - .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 - .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 - .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 - .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e - .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 - .quad 0xc08628422284b168, 0xbe1cf0abf7638127 - .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 - .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c - .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 - .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 - .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 - .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 - .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 - .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 - .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da - .quad 0xc08628573479b220, 0xbe1ceec34cf49523 - .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb - .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b - .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d - .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 - .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 - .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 - .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc - .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 - .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 - .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 - .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d - .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 - .quad 0xc086287246aab180, 0xbe1cefa7bc194186 - .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 - .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 - .quad 0xc086287879041490, 0xbe1cf034803c8a48 - .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f - .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 - .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 - .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 - .quad 0xc0862882c24faff8, 0xbe1cee9896d016da - .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc - .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 - .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 - .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 - .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 - .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d - .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f - .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed - .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d - .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 - .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 - .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f - .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 - .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a - .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 - .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 - .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c - .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d - .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 - .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 - .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 - .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c - .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 - .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 - .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 - .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 - /*== Log_LA_table ==*/ - .align 32 - .quad 0x8000000000000000 - .quad 0xbf5ff802a9ab10e6 - .quad 0xbf6ff00aa2b10bc0 - .quad 0xbf77ee11ebd82e94 - .quad 0xbf7fe02a6b106789 - .quad 0xbf83e7295d25a7d9 - .quad 0xbf87dc475f810a77 - .quad 0xbf8bcf712c74384c - .quad 0xbf8fc0a8b0fc03e4 - .quad 0xbf91d7f7eb9eebe7 - .quad 0xbf93cea44346a575 - .quad 0xbf95c45a51b8d389 - .quad 0xbf97b91b07d5b11b - .quad 0xbf99ace7551cc514 - .quad 0xbf9b9fc027af9198 - .quad 0xbf9d91a66c543cc4 - .quad 0xbf9f829b0e783300 - .quad 0xbfa0b94f7c196176 - .quad 0xbfa1b0d98923d980 - .quad 0xbfa2a7ec2214e873 - .quad 0xbfa39e87b9febd60 - .quad 0xbfa494acc34d911c - .quad 0xbfa58a5bafc8e4d5 - .quad 0xbfa67f94f094bd98 - .quad 0xbfa77458f632dcfc - .quad 0xbfa868a83083f6cf - .quad 0xbfa95c830ec8e3eb - .quad 0xbfaa4fe9ffa3d235 - .quad 0xbfab42dd711971bf - .quad 0xbfac355dd0921f2d - .quad 0xbfad276b8adb0b52 - .quad 0xbfae19070c276016 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfaffae9119b9303 - .quad 0xbfb075983598e471 - .quad 0xbfb0ed839b5526fe - .quad 0xbfb16536eea37ae1 - .quad 0xbfb1dcb263db1944 - .quad 0xbfb253f62f0a1417 - .quad 0xbfb2cb0283f5de1f - .quad 0xbfb341d7961bd1d1 - .quad 0xbfb3b87598b1b6ee - .quad 0xbfb42edcbea646f0 - .quad 0xbfb4a50d3aa1b040 - .quad 0xbfb51b073f06183f - .quad 0xbfb590cafdf01c28 - .quad 0xbfb60658a93750c4 - .quad 0xbfb67bb0726ec0fc - .quad 0xbfb6f0d28ae56b4c - .quad 0xbfb765bf23a6be13 - .quad 0xbfb7da766d7b12cd - .quad 0xbfb84ef898e8282a - .quad 0xbfb8c345d6319b21 - .quad 0xbfb9375e55595ede - .quad 0xbfb9ab42462033ad - .quad 0xbfba1ef1d8061cd4 - .quad 0xbfba926d3a4ad563 - .quad 0xbfbb05b49bee43fe - .quad 0xbfbb78c82bb0eda1 - .quad 0xbfbbeba818146765 - .quad 0xbfbc5e548f5bc743 - .quad 0xbfbcd0cdbf8c13e1 - .quad 0xbfbd4313d66cb35d - .quad 0xbfbdb5270187d927 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfbe98b549671467 - .quad 0xbfbf0a30c01162a6 - .quad 0xbfbf7b79fec37ddf - .quad 0xbfbfec9131dbeabb - .quad 0xbfc02ebb42bf3d4b - .quad 0xbfc0671512ca596e - .quad 0xbfc09f561ee719c3 - .quad 0xbfc0d77e7cd08e59 - .quad 0xbfc10f8e422539b1 - .quad 0xbfc14785846742ac - .quad 0xbfc17f6458fca611 - .quad 0xbfc1b72ad52f67a0 - .quad 0xbfc1eed90e2dc2c3 - .quad 0xbfc2266f190a5acb - .quad 0xbfc25ded0abc6ad2 - .quad 0xbfc29552f81ff523 - .quad 0xbfc2cca0f5f5f251 - .quad 0xbfc303d718e47fd3 - .quad 0xbfc33af575770e4f - .quad 0xbfc371fc201e8f74 - .quad 0xbfc3a8eb2d31a376 - .quad 0xbfc3dfc2b0ecc62a - .quad 0xbfc41682bf727bc0 - .quad 0xbfc44d2b6ccb7d1e - .quad 0xbfc483bccce6e3dd - .quad 0xbfc4ba36f39a55e5 - .quad 0xbfc4f099f4a230b2 - .quad 0xbfc526e5e3a1b438 - .quad 0xbfc55d1ad4232d6f - .quad 0xbfc59338d9982086 - .quad 0xbfc5c940075972b9 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfc6350a28aaa758 - .quad 0xbfc66acd4272ad51 - .quad 0xbfc6a079d0f7aad2 - .quad 0xbfc6d60fe719d21d - .quad 0xbfc70b8f97a1aa75 - .quad 0xbfc740f8f54037a5 - .quad 0xbfc7764c128f2127 - .quad 0xbfc7ab890210d909 - .quad 0xbfc7e0afd630c274 - .quad 0xbfc815c0a14357eb - .quad 0xbfc84abb75865139 - .quad 0xbfc87fa06520c911 - .quad 0xbfc8b46f8223625b - .quad 0xbfc8e928de886d41 - .quad 0xbfc91dcc8c340bde - .quad 0xbfc9525a9cf456b4 - .quad 0xbfc986d3228180ca - .quad 0xbfc9bb362e7dfb83 - .quad 0xbfc9ef83d2769a34 - .quad 0xbfca23bc1fe2b563 - .quad 0xbfca57df28244dcd - .quad 0xbfca8becfc882f19 - .quad 0xbfcabfe5ae46124c - .quad 0xbfcaf3c94e80bff3 - .quad 0xbfcb2797ee46320c - .quad 0xbfcb5b519e8fb5a4 - .quad 0xbfcb8ef670420c3b - .quad 0xbfcbc286742d8cd6 - .quad 0xbfcbf601bb0e44e2 - .quad 0xbfcc2968558c18c1 - .quad 0xbfcc5cba543ae425 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfccc320c0176502 - .quad 0xbfccf6354e09c5dc - .quad 0xbfcd293581b6b3e7 - .quad 0xbfcd5c216b4fbb91 - .quad 0xbfcd8ef91af31d5e - .quad 0xbfcdc1bca0abec7d - .quad 0xbfcdf46c0c722d2f - .quad 0xbfce27076e2af2e6 - .quad 0xbfce598ed5a87e2f - .quad 0xbfce8c0252aa5a60 - .quad 0xbfcebe61f4dd7b0b - .quad 0xbfcef0adcbdc5936 - .quad 0xbfcf22e5e72f105d - .quad 0xbfcf550a564b7b37 - .quad 0xbfcf871b28955045 - .quad 0xbfcfb9186d5e3e2b - .quad 0xbfcfeb0233e607cc - .quad 0xbfd00e6c45ad501d - .quad 0xbfd0274dc16c232f - .quad 0xbfd0402594b4d041 - .quad 0xbfd058f3c703ebc6 - .quad 0xbfd071b85fcd590d - .quad 0xbfd08a73667c57af - .quad 0xbfd0a324e27390e3 - .quad 0xbfd0bbccdb0d24bd - .quad 0xbfd0d46b579ab74b - .quad 0xbfd0ed005f657da4 - .quad 0xbfd1058bf9ae4ad5 - .quad 0xbfd11e0e2dad9cb7 - .quad 0xbfd136870293a8b0 - .quad 0xbfd14ef67f88685a - .quad 0xbfd1675cababa60e - .quad 0xbfd17fb98e15095d - .quad 0xbfd1980d2dd4236f - .quad 0xbfd1b05791f07b49 - .quad 0xbfd1c898c16999fb - .quad 0xbfd1e0d0c33716be - .quad 0xbfd1f8ff9e48a2f3 - .quad 0xbfd211255986160c - .quad 0xbfd22941fbcf7966 - .quad 0xbfd241558bfd1404 - .quad 0xbfd2596010df763a - .quad 0xbfd27161913f853d - .quad 0xbfd2895a13de86a3 - .quad 0xbfd2a1499f762bc9 - .quad 0xbfd2b9303ab89d25 - .quad 0xbfd2d10dec508583 - .quad 0xbfd2e8e2bae11d31 - .quad 0xbfd300aead06350c - .quad 0xbfd31871c9544185 - .quad 0xbfd3302c16586588 - .quad 0xbfd347dd9a987d55 - .quad 0xbfd35f865c93293e - .quad 0xbfd3772662bfd85b - .quad 0xbfd38ebdb38ed321 - .quad 0xbfd3a64c556945ea - .quad 0xbfd3bdd24eb14b6a - .quad 0xbfd3d54fa5c1f710 - .quad 0xbfd3ecc460ef5f50 - .quad 0xbfd404308686a7e4 - .quad 0xbfd41b941cce0bee - .quad 0xbfd432ef2a04e814 - .quad 0xbfd44a41b463c47c - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd478cd5959b3d9 - .quad 0xbfd49006804009d1 - .quad 0xbfd4a7373cecf997 - .quad 0xbfd4be5f957778a1 - .quad 0xbfd4d57f8fefe27f - .quad 0xbfd4ec973260026a - .quad 0xbfd503a682cb1cb3 - .quad 0xbfd51aad872df82d - .quad 0xbfd531ac457ee77e - .quad 0xbfd548a2c3add263 - .quad 0xbfd55f9107a43ee2 - .quad 0xbfd5767717455a6c - .quad 0xbfd58d54f86e02f2 - .quad 0xbfd5a42ab0f4cfe2 - .quad 0xbfd5baf846aa1b19 - .quad 0xbfd5d1bdbf5809ca - .quad 0xbfd5e87b20c2954a - .quad 0xbfd5ff3070a793d4 - .quad 0xbfd615ddb4bec13c - .quad 0xbfd62c82f2b9c795 - .quad 0x3fd61965cdb02c1f - .quad 0x3fd602d08af091ec - .quad 0x3fd5ec433d5c35ae - .quad 0x3fd5d5bddf595f30 - .quad 0x3fd5bf406b543db2 - .quad 0x3fd5a8cadbbedfa1 - .quad 0x3fd5925d2b112a59 - .quad 0x3fd57bf753c8d1fb - .quad 0x3fd565995069514c - .quad 0x3fd54f431b7be1a9 - .quad 0x3fd538f4af8f72fe - .quad 0x3fd522ae0738a3d8 - .quad 0x3fd50c6f1d11b97c - .quad 0x3fd4f637ebba9810 - .quad 0x3fd4e0086dd8baca - .quad 0x3fd4c9e09e172c3c - .quad 0x3fd4b3c077267e9a - .quad 0x3fd49da7f3bcc41f - .quad 0x3fd487970e958770 - .quad 0x3fd4718dc271c41b - .quad 0x3fd45b8c0a17df13 - .quad 0x3fd44591e0539f49 - .quad 0x3fd42f9f3ff62642 - .quad 0x3fd419b423d5e8c7 - .quad 0x3fd403d086cea79c - .quad 0x3fd3edf463c1683e - .quad 0x3fd3d81fb5946dba - .quad 0x3fd3c25277333184 - .quad 0x3fd3ac8ca38e5c5f - .quad 0x3fd396ce359bbf54 - .quad 0x3fd3811728564cb2 - .quad 0x3fd36b6776be1117 - .quad 0x3fd355bf1bd82c8b - .quad 0x3fd3401e12aecba1 - .quad 0x3fd32a84565120a8 - .quad 0x3fd314f1e1d35ce4 - .quad 0x3fd2ff66b04ea9d4 - .quad 0x3fd2e9e2bce12286 - .quad 0x3fd2d46602adccee - .quad 0x3fd2bef07cdc9354 - .quad 0x3fd2a982269a3dbf - .quad 0x3fd2941afb186b7c - .quad 0x3fd27ebaf58d8c9d - .quad 0x3fd269621134db92 - .quad 0x3fd25410494e56c7 - .quad 0x3fd23ec5991eba49 - .quad 0x3fd22981fbef797b - .quad 0x3fd214456d0eb8d4 - .quad 0x3fd1ff0fe7cf47a7 - .quad 0x3fd1e9e1678899f4 - .quad 0x3fd1d4b9e796c245 - .quad 0x3fd1bf99635a6b95 - .quad 0x3fd1aa7fd638d33f - .quad 0x3fd1956d3b9bc2fa - .quad 0x3fd180618ef18adf - .quad 0x3fd16b5ccbacfb73 - .quad 0x3fd1565eed455fc3 - .quad 0x3fd14167ef367783 - .quad 0x3fd12c77cd00713b - .quad 0x3fd1178e8227e47c - .quad 0x3fd102ac0a35cc1c - .quad 0x3fd0edd060b78081 - .quad 0x3fd0d8fb813eb1ef - .quad 0x3fd0c42d676162e3 - .quad 0x3fd0af660eb9e279 - .quad 0x3fd09aa572e6c6d4 - .quad 0x3fd085eb8f8ae797 - .quad 0x3fd07138604d5862 - .quad 0x3fd05c8be0d9635a - .quad 0x3fd047e60cde83b8 - .quad 0x3fd03346e0106062 - .quad 0x3fd01eae5626c691 - .quad 0x3fd00a1c6adda473 - .quad 0x3fcfeb2233ea07cd - .quad 0x3fcfc218be620a5e - .quad 0x3fcf991c6cb3b379 - .quad 0x3fcf702d36777df0 - .quad 0x3fcf474b134df229 - .quad 0x3fcf1e75fadf9bde - .quad 0x3fcef5ade4dcffe6 - .quad 0x3fceccf2c8fe920a - .quad 0x3fcea4449f04aaf5 - .quad 0x3fce7ba35eb77e2a - .quad 0x3fce530effe71012 - .quad 0x3fce2a877a6b2c12 - .quad 0x3fce020cc6235ab5 - .quad 0x3fcdd99edaf6d7e9 - .quad 0x3fcdb13db0d48940 - .quad 0x3fcd88e93fb2f450 - .quad 0x3fcd60a17f903515 - .quad 0x3fcd38666871f465 - .quad 0x3fcd1037f2655e7b - .quad 0x3fcce816157f1988 - .quad 0x3fccc000c9db3c52 - .quad 0x3fcc97f8079d44ec - .quad 0x3fcc6ffbc6f00f71 - .quad 0x3fcc480c0005ccd1 - .quad 0x3fcc2028ab17f9b4 - .quad 0x3fcbf851c067555f - .quad 0x3fcbd087383bd8ad - .quad 0x3fcba8c90ae4ad19 - .quad 0x3fcb811730b823d2 - .quad 0x3fcb5971a213acdb - .quad 0x3fcb31d8575bce3d - .quad 0x3fcb0a4b48fc1b46 - .quad 0x3fcae2ca6f672bd4 - .quad 0x3fcabb55c31693ad - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fca6c90d44b704e - .quad 0x3fca454082e6ab05 - .quad 0x3fca1dfc40f1b7f1 - .quad 0x3fc9f6c407089664 - .quad 0x3fc9cf97cdce0ec3 - .quad 0x3fc9a8778debaa38 - .quad 0x3fc981634011aa75 - .quad 0x3fc95a5adcf7017f - .quad 0x3fc9335e5d594989 - .quad 0x3fc90c6db9fcbcd9 - .quad 0x3fc8e588ebac2dbf - .quad 0x3fc8beafeb38fe8c - .quad 0x3fc897e2b17b19a5 - .quad 0x3fc871213750e994 - .quad 0x3fc84a6b759f512f - .quad 0x3fc823c16551a3c2 - .quad 0x3fc7fd22ff599d4f - .quad 0x3fc7d6903caf5ad0 - .quad 0x3fc7b0091651528c - .quad 0x3fc7898d85444c73 - .quad 0x3fc7631d82935a86 - .quad 0x3fc73cb9074fd14d - .quad 0x3fc716600c914054 - .quad 0x3fc6f0128b756abc - .quad 0x3fc6c9d07d203fc7 - .quad 0x3fc6a399dabbd383 - .quad 0x3fc67d6e9d785771 - .quad 0x3fc6574ebe8c133a - .quad 0x3fc6313a37335d76 - .quad 0x3fc60b3100b09476 - .quad 0x3fc5e533144c1719 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc59958ff1d52f1 - .quad 0x3fc5737cc9018cdd - .quad 0x3fc54dabc26105d2 - .quad 0x3fc527e5e4a1b58d - .quad 0x3fc5022b292f6a45 - .quad 0x3fc4dc7b897bc1c8 - .quad 0x3fc4b6d6fefe22a4 - .quad 0x3fc4913d8333b561 - .quad 0x3fc46baf0f9f5db7 - .quad 0x3fc4462b9dc9b3dc - .quad 0x3fc420b32740fdd4 - .quad 0x3fc3fb45a59928cc - .quad 0x3fc3d5e3126bc27f - .quad 0x3fc3b08b6757f2a9 - .quad 0x3fc38b3e9e027479 - .quad 0x3fc365fcb0159016 - .quad 0x3fc340c59741142e - .quad 0x3fc31b994d3a4f85 - .quad 0x3fc2f677cbbc0a96 - .quad 0x3fc2d1610c86813a - .quad 0x3fc2ac55095f5c59 - .quad 0x3fc28753bc11aba5 - .quad 0x3fc2625d1e6ddf57 - .quad 0x3fc23d712a49c202 - .quad 0x3fc2188fd9807263 - .quad 0x3fc1f3b925f25d41 - .quad 0x3fc1ceed09853752 - .quad 0x3fc1aa2b7e23f72a - .quad 0x3fc185747dbecf34 - .quad 0x3fc160c8024b27b1 - .quad 0x3fc13c2605c398c3 - .quad 0x3fc1178e8227e47c - .quad 0x3fc0f301717cf0fb - .quad 0x3fc0ce7ecdccc28d - .quad 0x3fc0aa06912675d5 - .quad 0x3fc08598b59e3a07 - .quad 0x3fc06135354d4b18 - .quad 0x3fc03cdc0a51ec0d - .quad 0x3fc0188d2ecf6140 - .quad 0x3fbfe89139dbd566 - .quad 0x3fbfa01c9db57ce2 - .quad 0x3fbf57bc7d9005db - .quad 0x3fbf0f70cdd992e3 - .quad 0x3fbec739830a1120 - .quad 0x3fbe7f1691a32d3e - .quad 0x3fbe3707ee30487b - .quad 0x3fbdef0d8d466db9 - .quad 0x3fbda727638446a2 - .quad 0x3fbd5f55659210e2 - .quad 0x3fbd179788219364 - .quad 0x3fbccfedbfee13a8 - .quad 0x3fbc885801bc4b23 - .quad 0x3fbc40d6425a5cb1 - .quad 0x3fbbf968769fca11 - .quad 0x3fbbb20e936d6974 - .quad 0x3fbb6ac88dad5b1c - .quad 0x3fbb23965a52ff00 - .quad 0x3fbadc77ee5aea8c - .quad 0x3fba956d3ecade63 - .quad 0x3fba4e7640b1bc38 - .quad 0x3fba0792e9277cac - .quad 0x3fb9c0c32d4d2548 - .quad 0x3fb97a07024cbe74 - .quad 0x3fb9335e5d594989 - .quad 0x3fb8ecc933aeb6e8 - .quad 0x3fb8a6477a91dc29 - .quad 0x3fb85fd927506a48 - .quad 0x3fb8197e2f40e3f0 - .quad 0x3fb7d33687c293c9 - .quad 0x3fb78d02263d82d3 - .quad 0x3fb746e100226ed9 - .quad 0x3fb700d30aeac0e1 - .quad 0x3fb6bad83c1883b6 - .quad 0x3fb674f089365a7a - .quad 0x3fb62f1be7d77743 - .quad 0x3fb5e95a4d9791cb - .quad 0x3fb5a3abb01ade25 - .quad 0x3fb55e10050e0384 - .quad 0x3fb518874226130a - .quad 0x3fb4d3115d207eac - .quad 0x3fb48dae4bc31018 - .quad 0x3fb4485e03dbdfad - .quad 0x3fb403207b414b7f - .quad 0x3fb3bdf5a7d1ee64 - .quad 0x3fb378dd7f749714 - .quad 0x3fb333d7f8183f4b - .quad 0x3fb2eee507b40301 - .quad 0x3fb2aa04a44717a5 - .quad 0x3fb26536c3d8c369 - .quad 0x3fb2207b5c78549e - .quad 0x3fb1dbd2643d190b - .quad 0x3fb1973bd1465567 - .quad 0x3fb152b799bb3cc9 - .quad 0x3fb10e45b3cae831 - .quad 0x3fb0c9e615ac4e17 - .quad 0x3fb08598b59e3a07 - .quad 0x3fb0415d89e74444 - .quad 0x3faffa6911ab9301 - .quad 0x3faf723b517fc523 - .quad 0x3faeea31c006b87c - .quad 0x3fae624c4a0b5e1b - .quad 0x3fadda8adc67ee4e - .quad 0x3fad52ed6405d86f - .quad 0x3faccb73cdddb2cc - .quad 0x3fac441e06f72a9e - .quad 0x3fabbcebfc68f420 - .quad 0x3fab35dd9b58baad - .quad 0x3faaaef2d0fb10fc - .quad 0x3faa282b8a936171 - .quad 0x3fa9a187b573de7c - .quad 0x3fa91b073efd7314 - .quad 0x3fa894aa149fb343 - .quad 0x3fa80e7023d8ccc4 - .quad 0x3fa788595a3577ba - .quad 0x3fa70265a550e777 - .quad 0x3fa67c94f2d4bb58 - .quad 0x3fa5f6e73078efb8 - .quad 0x3fa5715c4c03ceef - .quad 0x3fa4ebf43349e26f - .quad 0x3fa466aed42de3ea - .quad 0x3fa3e18c1ca0ae92 - .quad 0x3fa35c8bfaa1306b - .quad 0x3fa2d7ae5c3c5bae - .quad 0x3fa252f32f8d183f - .quad 0x3fa1ce5a62bc353a - .quad 0x3fa149e3e4005a8d - .quad 0x3fa0c58fa19dfaaa - .quad 0x3fa0415d89e74444 - .quad 0x3f9f7a9b16782856 - .quad 0x3f9e72bf2813ce51 - .quad 0x3f9d6b2725979802 - .quad 0x3f9c63d2ec14aaf2 - .quad 0x3f9b5cc258b718e6 - .quad 0x3f9a55f548c5c43f - .quad 0x3f994f6b99a24475 - .quad 0x3f98492528c8cabf - .quad 0x3f974321d3d006d3 - .quad 0x3f963d6178690bd6 - .quad 0x3f9537e3f45f3565 - .quad 0x3f9432a925980cc1 - .quad 0x3f932db0ea132e22 - .quad 0x3f9228fb1fea2e28 - .quad 0x3f912487a5507f70 - .quad 0x3f90205658935847 - .quad 0x3f8e38ce3033310c - .quad 0x3f8c317384c75f06 - .quad 0x3f8a2a9c6c170462 - .quad 0x3f882448a388a2aa - .quad 0x3f861e77e8b53fc6 - .quad 0x3f841929f96832f0 - .quad 0x3f82145e939ef1e9 - .quad 0x3f8010157588de71 - .quad 0x3f7c189cbb0e27fb - .quad 0x3f78121214586b54 - .quad 0x3f740c8a747878e2 - .quad 0x3f70080559588b35 - .quad 0x3f680904828985c0 - .quad 0x3f60040155d5889e - .quad 0x3f50020055655889 - .quad 0x0000000000000000 - /*== poly_coeff[4] ==*/ - .align 32 - .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ - .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ - .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ - .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ - /*== ExpMask ==*/ - .align 32 - .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 32 - .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 - /*== MinLog1p = -1+2^(-53) ==*/ - .align 32 - .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff - /*== MaxLog1p ==*/ - .align 32 - .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff - /*== XThreshold ==*/ - .align 32 - .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 - /*== XhMask ==*/ - .align 32 - .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 - /*== Threshold ==*/ - .align 32 - .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 32 - .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 32 - .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 - /*== ExpMask ==*/ - .align 32 - .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 - /*== ExpMask2 ==*/ - .align 32 - .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 - /*== L2L ==*/ - .align 32 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - .align 32 - .type __svml_dlog1p_data_internal,@object - .size __svml_dlog1p_data_internal,.-__svml_dlog1p_data_internal + /* Log_HA_table */ + .quad 0xc086232bdd7a8300, 0xbe1ce91eef3fb100 + .quad 0xc086232fdc7ad828, 0xbe1cefcffda73b6a + .quad 0xc0862333d97d2ba0, 0xbe1cef406748f1ff + .quad 0xc0862337d48378e0, 0xbe1cef2a9429925a + .quad 0xc086233bcd8fb878, 0xbe1cf138d17ebecb + .quad 0xc086233fc4a3e018, 0xbe1ceff2dbbbb29e + .quad 0xc0862343b9c1e270, 0xbe1cf1a42aae437b + .quad 0xc0862347acebaf68, 0xbe1cef3b152048af + .quad 0xc086234b9e2333f0, 0xbe1cef20e127805e + .quad 0xc086234f8d6a5a30, 0xbe1cf00ad6052cf4 + .quad 0xc08623537ac30980, 0xbe1cefc4642ee597 + .quad 0xc0862357662f2660, 0xbe1cf1f277d36e16 + .quad 0xc086235b4fb092a0, 0xbe1ceed009e8d8e6 + .quad 0xc086235f37492d28, 0xbe1cf1e4038cb362 + .quad 0xc08623631cfad250, 0xbe1cf0b0873b8557 + .quad 0xc086236700c75b98, 0xbe1cf15bb3227c0b + .quad 0xc086236ae2b09fe0, 0xbe1cf151ef8ca9ed + .quad 0xc086236ec2b87358, 0xbe1cefe1dc2cd2ed + .quad 0xc0862372a0e0a780, 0xbe1cf0d1eec5454f + .quad 0xc08623767d2b0b48, 0xbe1ceeefd570bbce + .quad 0xc086237a57996af0, 0xbe1cee99ae91b3a7 + .quad 0xc086237e302d9028, 0xbe1cf0412830fbd1 + .quad 0xc086238206e94218, 0xbe1ceee898588610 + .quad 0xc0862385dbce4548, 0xbe1cee9a1fbcaaea + .quad 0xc0862389aede5bc0, 0xbe1ceed8e7cc1ad6 + .quad 0xc086238d801b4500, 0xbe1cf10c8d059da6 + .quad 0xc08623914f86be18, 0xbe1ceee6c63a8165 + .quad 0xc08623951d228180, 0xbe1cf0c3592d2ff1 + .quad 0xc0862398e8f04758, 0xbe1cf0026cc4cb1b + .quad 0xc086239cb2f1c538, 0xbe1cf15d48d8e670 + .quad 0xc08623a07b28ae60, 0xbe1cef359363787c + .quad 0xc08623a44196b390, 0xbe1cefdf1ab2e82c + .quad 0xc08623a8063d8338, 0xbe1cefe43c02aa84 + .quad 0xc08623abc91ec960, 0xbe1cf044f5ae35b7 + .quad 0xc08623af8a3c2fb8, 0xbe1cf0b0b4001e1b + .quad 0xc08623b349975d98, 0xbe1cf1bae76dfbcf + .quad 0xc08623b70731f810, 0xbe1cef0a72e13a62 + .quad 0xc08623bac30da1c8, 0xbe1cf184007d2b6b + .quad 0xc08623be7d2bfb40, 0xbe1cf16f4b239e98 + .quad 0xc08623c2358ea2a0, 0xbe1cf0976acada87 + .quad 0xc08623c5ec3733d0, 0xbe1cf066318a16ff + .quad 0xc08623c9a1274880, 0xbe1ceffaa7148798 + .quad 0xc08623cd54607820, 0xbe1cf23ab02e9b6e + .quad 0xc08623d105e45800, 0xbe1cefdfef7d4fde + .quad 0xc08623d4b5b47b20, 0xbe1cf17fece44f2b + .quad 0xc08623d863d27270, 0xbe1cf18f907d0d7c + .quad 0xc08623dc103fccb0, 0xbe1cee61fe072c98 + .quad 0xc08623dfbafe1668, 0xbe1cf022dd891e2f + .quad 0xc08623e3640eda20, 0xbe1ceecc1daf4358 + .quad 0xc08623e70b73a028, 0xbe1cf0173c4fa380 + .quad 0xc08623eab12deec8, 0xbe1cf16a2150c2f4 + .quad 0xc08623ee553f4a30, 0xbe1cf1bf980b1f4b + .quad 0xc08623f1f7a93480, 0xbe1cef8b731663c2 + .quad 0xc08623f5986d2dc0, 0xbe1cee9a664d7ef4 + .quad 0xc08623f9378cb3f0, 0xbe1cf1eda2af6400 + .quad 0xc08623fcd5094320, 0xbe1cf1923f9d68d7 + .quad 0xc086240070e45548, 0xbe1cf0747cd3e03a + .quad 0xc08624040b1f6260, 0xbe1cf22ee855bd6d + .quad 0xc0862407a3bbe078, 0xbe1cf0d57360c00b + .quad 0xc086240b3abb4398, 0xbe1ceebc815cd575 + .quad 0xc086240ed01efdd0, 0xbe1cf03bfb970951 + .quad 0xc086241263e87f50, 0xbe1cf16e74768529 + .quad 0xc0862415f6193658, 0xbe1cefec64b8becb + .quad 0xc086241986b28f30, 0xbe1cf0838d210baa + .quad 0xc086241d15b5f448, 0xbe1cf0ea86e75b11 + .quad 0xc0862420a324ce28, 0xbe1cf1708d11d805 + .quad 0xc08624242f008380, 0xbe1ceea988c5a417 + .quad 0xc0862427b94a7910, 0xbe1cef166a7bbca5 + .quad 0xc086242b420411d0, 0xbe1cf0c9d9e86a38 + .quad 0xc086242ec92eaee8, 0xbe1cef0946455411 + .quad 0xc08624324ecbaf98, 0xbe1cefea60907739 + .quad 0xc0862435d2dc7160, 0xbe1cf1ed0934ce42 + .quad 0xc086243955624ff8, 0xbe1cf191ba746c7d + .quad 0xc086243cd65ea548, 0xbe1ceeec78cf2a7e + .quad 0xc086244055d2c968, 0xbe1cef345284c119 + .quad 0xc0862443d3c012b8, 0xbe1cf24f77355219 + .quad 0xc08624475027d5e8, 0xbe1cf05bf087e114 + .quad 0xc086244acb0b65d0, 0xbe1cef3504a32189 + .quad 0xc086244e446c1398, 0xbe1ceff54b2a406f + .quad 0xc0862451bc4b2eb8, 0xbe1cf0757d54ed4f + .quad 0xc086245532aa04f0, 0xbe1cf0c8099fdfd5 + .quad 0xc0862458a789e250, 0xbe1cf0b173796a31 + .quad 0xc086245c1aec1138, 0xbe1cf11d8734540d + .quad 0xc086245f8cd1da60, 0xbe1cf1916a723ceb + .quad 0xc0862462fd3c84d8, 0xbe1cf19a911e1da7 + .quad 0xc08624666c2d5608, 0xbe1cf23a9ef72e4f + .quad 0xc0862469d9a591c0, 0xbe1cef503d947663 + .quad 0xc086246d45a67a18, 0xbe1cf0fceeb1a0b2 + .quad 0xc0862470b0314fa8, 0xbe1cf107e27e4fbc + .quad 0xc086247419475160, 0xbe1cf03dd9922331 + .quad 0xc086247780e9bc98, 0xbe1cefce1a10e129 + .quad 0xc086247ae719cd18, 0xbe1ceea47f73c4f6 + .quad 0xc086247e4bd8bd10, 0xbe1ceec0ac56d100 + .quad 0xc0862481af27c528, 0xbe1cee8a6593278a + .quad 0xc086248511081c70, 0xbe1cf2231dd9dec7 + .quad 0xc0862488717af888, 0xbe1cf0b4b8ed7da8 + .quad 0xc086248bd0818d68, 0xbe1cf1bd8d835002 + .quad 0xc086248f2e1d0d98, 0xbe1cf259acc107f4 + .quad 0xc08624928a4eaa20, 0xbe1cee897636b00c + .quad 0xc0862495e5179270, 0xbe1cee757f20c326 + .quad 0xc08624993e78f490, 0xbe1cefafd3aa54a4 + .quad 0xc086249c9673fd10, 0xbe1cee7298d38b97 + .quad 0xc086249fed09d6f8, 0xbe1ceedc158d4ceb + .quad 0xc08624a3423babe0, 0xbe1cf2282987cb2e + .quad 0xc08624a6960aa400, 0xbe1cefe7381ecc4b + .quad 0xc08624a9e877e600, 0xbe1cef328dbbce80 + .quad 0xc08624ad39849728, 0xbe1cefde45f3cc71 + .quad 0xc08624b08931db58, 0xbe1cefa8b89433b9 + .quad 0xc08624b3d780d500, 0xbe1cef6773c0b139 + .quad 0xc08624b72472a528, 0xbe1cf031c931c11f + .quad 0xc08624ba70086b78, 0xbe1cf088f49275e7 + .quad 0xc08624bdba434630, 0xbe1cf17de0eaa86d + .quad 0xc08624c103245238, 0xbe1cefd492f1ba75 + .quad 0xc08624c44aacab08, 0xbe1cf1253e154466 + .quad 0xc08624c790dd6ad0, 0xbe1cf0fb09ee6d55 + .quad 0xc08624cad5b7aa58, 0xbe1cf1f08dd048fe + .quad 0xc08624ce193c8120, 0xbe1ceeca0809697f + .quad 0xc08624d15b6d0538, 0xbe1cef8d5662d968 + .quad 0xc08624d49c4a4b78, 0xbe1cee97b556ed78 + .quad 0xc08624d7dbd56750, 0xbe1cf1b14b6acb75 + .quad 0xc08624db1a0f6b00, 0xbe1cef1e860623f2 + .quad 0xc08624de56f96758, 0xbe1ceeaf4d156f3d + .quad 0xc08624e192946bf0, 0xbe1ceecc12b400ed + .quad 0xc08624e4cce18710, 0xbe1cf180c40c794f + .quad 0xc08624e805e1c5c8, 0xbe1cf185a08f7f65 + .quad 0xc08624eb3d9633d8, 0xbe1cef45fc924078 + .quad 0xc08624ee73ffdbb0, 0xbe1cf1e4f457f32a + .quad 0xc08624f1a91fc6a0, 0xbe1cf040147b8a5a + .quad 0xc08624f4dcf6fc98, 0xbe1cf1effca0dfb2 + .quad 0xc08624f80f868468, 0xbe1cf0470146e5bc + .quad 0xc08624fb40cf6390, 0xbe1cef4dd186e501 + .quad 0xc08624fe70d29e60, 0xbe1ceebe257f66c7 + .quad 0xc08625019f9137f0, 0xbe1ceefb7a1c395c + .quad 0xc0862504cd0c3220, 0xbe1cf209dedfed8c + .quad 0xc0862507f9448db0, 0xbe1cf082da464994 + .quad 0xc086250b243b4a18, 0xbe1cee88694a73cf + .quad 0xc086250e4df165a0, 0xbe1cf0b61e8f0531 + .quad 0xc08625117667dd78, 0xbe1cf1106599c962 + .quad 0xc08625149d9fad98, 0xbe1ceff1ee88af1f + .quad 0xc0862517c399d0c8, 0xbe1cf0f746994ef6 + .quad 0xc086251ae85740b8, 0xbe1cefe8a1d077e4 + .quad 0xc086251e0bd8f5e0, 0xbe1cf1a1da036092 + .quad 0xc08625212e1fe7a8, 0xbe1cf0f8a7786fcd + .quad 0xc08625244f2d0c48, 0xbe1cefa1174a07a7 + .quad 0xc08625276f0158d8, 0xbe1cef1043aa5b25 + .quad 0xc086252a8d9dc150, 0xbe1cf15d521c169d + .quad 0xc086252dab033898, 0xbe1cf220bba8861f + .quad 0xc0862530c732b078, 0xbe1cef51e310eae2 + .quad 0xc0862533e22d1988, 0xbe1cf222fcedd8ae + .quad 0xc0862536fbf36370, 0xbe1cefdb4da4bda8 + .quad 0xc086253a14867ca0, 0xbe1ceeafc1112171 + .quad 0xc086253d2be75280, 0xbe1cee99dfb4b408 + .quad 0xc08625404216d160, 0xbe1cf22d2536f06b + .quad 0xc08625435715e498, 0xbe1cef6abbf2e268 + .quad 0xc08625466ae57648, 0xbe1cf093a14789f5 + .quad 0xc08625497d866fa0, 0xbe1cf0f93655603c + .quad 0xc086254c8ef9b8b8, 0xbe1cf1cc40c9aafc + .quad 0xc086254f9f4038a8, 0xbe1ceeea5f4e9157 + .quad 0xc0862552ae5ad568, 0xbe1cefa9f52d4997 + .quad 0xc0862555bc4a7400, 0xbe1cefa490a638ff + .quad 0xc0862558c90ff868, 0xbe1cef7fcf797d6f + .quad 0xc086255bd4ac4590, 0xbe1cf1b4c51113c9 + .quad 0xc086255edf203d78, 0xbe1cef55e5b4a55d + .quad 0xc0862561e86cc100, 0xbe1cf0d37a25f9dc + .quad 0xc0862564f092b028, 0xbe1ceebe9efc19d9 + .quad 0xc0862567f792e9d8, 0xbe1cee8ad30a57b5 + .quad 0xc086256afd6e4c08, 0xbe1cef4e1817b90b + .quad 0xc086256e0225b3b8, 0xbe1cee7fa9229996 + .quad 0xc086257105b9fce0, 0xbe1cf0b54963d945 + .quad 0xc0862574082c0298, 0xbe1cee5f2f3c7995 + .quad 0xc0862577097c9ee0, 0xbe1cf0828e303a2c + .quad 0xc086257a09acaae0, 0xbe1cf172c3078947 + .quad 0xc086257d08bcfec0, 0xbe1cf189252afa22 + .quad 0xc086258006ae71b8, 0xbe1cefdb80426923 + .quad 0xc08625830381da08, 0xbe1ceef1391a0372 + .quad 0xc0862585ff380d00, 0xbe1cf17720c78d13 + .quad 0xc0862588f9d1df18, 0xbe1ceef1f9027d83 + .quad 0xc086258bf35023b8, 0xbe1cf06fac99dec9 + .quad 0xc086258eebb3ad78, 0xbe1cf1373eeb45c0 + .quad 0xc0862591e2fd4e00, 0xbe1cef777536bb81 + .quad 0xc0862594d92dd600, 0xbe1cf0f43ca40766 + .quad 0xc0862597ce461558, 0xbe1cefb2cfc6766b + .quad 0xc086259ac246daf0, 0xbe1ceea49e64ffa2 + .quad 0xc086259db530f4c8, 0xbe1cf250fa457dec + .quad 0xc08625a0a7053018, 0xbe1cf17d8bb2a44e + .quad 0xc08625a397c45918, 0xbe1cf1d5906d54b7 + .quad 0xc08625a6876f3b30, 0xbe1cf08fe7b31780 + .quad 0xc08625a97606a0e0, 0xbe1cef13edfc9d11 + .quad 0xc08625ac638b53c8, 0xbe1cef9d2b107219 + .quad 0xc08625af4ffe1cb0, 0xbe1cf1ddd4ff6160 + .quad 0xc08625b23b5fc390, 0xbe1cefa02a996495 + .quad 0xc08625b525b10f68, 0xbe1cf166a7e37ee5 + .quad 0xc08625b80ef2c680, 0xbe1cef0b171068a5 + .quad 0xc08625baf725ae28, 0xbe1cf05c80779283 + .quad 0xc08625bdde4a8af0, 0xbe1cf1bbfbffb889 + .quad 0xc08625c0c4622090, 0xbe1cf0b8666c0124 + .quad 0xc08625c3a96d31e0, 0xbe1cf0a8fcf47a86 + .quad 0xc08625c68d6c80f0, 0xbe1cef46e18cb092 + .quad 0xc08625c97060cef0, 0xbe1cf1458a350efb + .quad 0xc08625cc524adc58, 0xbe1ceeea1dadce12 + .quad 0xc08625cf332b68b0, 0xbe1cf0a1bfdc44c7 + .quad 0xc08625d2130332d0, 0xbe1cef96d02da73e + .quad 0xc08625d4f1d2f8a8, 0xbe1cf2451c3c7701 + .quad 0xc08625d7cf9b7778, 0xbe1cf10d08f83812 + .quad 0xc08625daac5d6ba0, 0xbe1ceec5b4895c5e + .quad 0xc08625dd881990b0, 0xbe1cf14e1325c5e4 + .quad 0xc08625e062d0a188, 0xbe1cf21d0904be12 + .quad 0xc08625e33c835838, 0xbe1ceed0839bcf21 + .quad 0xc08625e615326df0, 0xbe1cf1bb944889d2 + .quad 0xc08625e8ecde9b48, 0xbe1cee738e85eece + .quad 0xc08625ebc38897e0, 0xbe1cf25c2bc6ef12 + .quad 0xc08625ee99311ac8, 0xbe1cf132b70a41ad + .quad 0xc08625f16dd8da28, 0xbe1cf1984236a6e3 + .quad 0xc08625f441808b78, 0xbe1cf19ae74998f9 + .quad 0xc08625f71428e370, 0xbe1cef3e175d61a1 + .quad 0xc08625f9e5d295f8, 0xbe1cf101f9868fd9 + .quad 0xc08625fcb67e5658, 0xbe1cee69db83dcd2 + .quad 0xc08625ff862cd6f8, 0xbe1cf081b636af51 + .quad 0xc086260254dec9a8, 0xbe1cee62c7d59b3e + .quad 0xc08626052294df58, 0xbe1cf1b745c57716 + .quad 0xc0862607ef4fc868, 0xbe1cef3d2800ea23 + .quad 0xc086260abb103458, 0xbe1cef480ff1acd2 + .quad 0xc086260d85d6d200, 0xbe1cf2424c9a17ef + .quad 0xc08626104fa44f90, 0xbe1cf12cfde90fd5 + .quad 0xc086261318795a68, 0xbe1cf21f590dd5b6 + .quad 0xc0862615e0569f48, 0xbe1cf0c50f9cd28a + .quad 0xc0862618a73cca30, 0xbe1ceedbdb520545 + .quad 0xc086261b6d2c8668, 0xbe1cf0b030396011 + .quad 0xc086261e32267e98, 0xbe1cf19917010e96 + .quad 0xc0862620f62b5cb0, 0xbe1cf07331355985 + .quad 0xc0862623b93bc9e8, 0xbe1cf01ae921a1c3 + .quad 0xc08626267b586ed0, 0xbe1cefe5cf0dbf0c + .quad 0xc08626293c81f348, 0xbe1cf01b258aeb50 + .quad 0xc086262bfcb8fe88, 0xbe1cee6b9e7f4c68 + .quad 0xc086262ebbfe3710, 0xbe1cee684a9b21c9 + .quad 0xc08626317a5242b8, 0xbe1cf1f8bcde9a8b + .quad 0xc086263437b5c6c0, 0xbe1cf1d063d36238 + .quad 0xc0862636f42967a8, 0xbe1cf1e31a19075e + .quad 0xc0862639afadc950, 0xbe1cf1d8efdf7e7d + .quad 0xc086263c6a438ef0, 0xbe1cf1812ee72dba + .quad 0xc086263f23eb5b18, 0xbe1cf1449a9a2279 + .quad 0xc0862641dca5cfb8, 0xbe1cee96edce5085 + .quad 0xc086264494738e08, 0xbe1cf06797bd03b2 + .quad 0xc08626474b5536b8, 0xbe1cef91b9b7ffc1 + .quad 0xc086264a014b69c0, 0xbe1cef4b6721278f + .quad 0xc086264cb656c678, 0xbe1cf1942925eb4a + .quad 0xc086264f6a77eba8, 0xbe1cefa2c7bc2e39 + .quad 0xc08626521daf7758, 0xbe1cf252595aceb3 + .quad 0xc0862654cffe0718, 0xbe1cee8e9ae47ec2 + .quad 0xc0862657816437a8, 0xbe1cf1bf913828fa + .quad 0xc086265a31e2a558, 0xbe1cf23475d6b366 + .quad 0xc086265ce179ebc8, 0xbe1cef8df00a922b + .quad 0xc086265f902aa5f0, 0xbe1cef279bfa43e0 + .quad 0xc08626623df56e38, 0xbe1cf080e10b8365 + .quad 0xc0862664eadade70, 0xbe1cf1a518f9b544 + .quad 0xc086266796db8fd0, 0xbe1cef9308fed9e9 + .quad 0xc086266a41f81ae8, 0xbe1ceea3ae6b19c9 + .quad 0xc086266cec3117b8, 0xbe1ceef06003d4c2 + .quad 0xc086266f95871da8, 0xbe1cf0b8457ffb0c + .quad 0xc08626723dfac390, 0xbe1cf0c526745ad6 + .quad 0xc0862674e58c9fa8, 0xbe1cf0cf91ff7b5d + .quad 0xc08626778c3d4798, 0xbe1cefe260819380 + .quad 0xc086267a320d5070, 0xbe1ceebd90aa27a3 + .quad 0xc086267cd6fd4ea8, 0xbe1cf0388121dffa + .quad 0xc086267f7b0dd630, 0xbe1cf1a3881435f1 + .quad 0xc08626821e3f7a68, 0xbe1cef28e9d9ac52 + .quad 0xc0862684c092ce08, 0xbe1cf02d300062dd + .quad 0xc086268762086350, 0xbe1cefaee1edfa35 + .quad 0xc086268a02a0cbe0, 0xbe1cf0a5a052e936 + .quad 0xc086268ca25c98d8, 0xbe1cee60a4a497ed + .quad 0xc086268f413c5ab0, 0xbe1cf0e4a5d0cf49 + .quad 0xc0862691df40a170, 0xbe1cf149235a4e6e + .quad 0xc08626947c69fc80, 0xbe1cf215180b9fcc + .quad 0xc086269718b8fac8, 0xbe1cef9b156a9840 + .quad 0xc0862699b42e2a90, 0xbe1cf054c91441be + .quad 0xc086269c4eca19a8, 0xbe1cf13ded26512c + .quad 0xc086269ee88d5550, 0xbe1cf22ea4d8ac06 + .quad 0xc08626a181786a40, 0xbe1cf2354666ee2e + .quad 0xc08626a4198be4a8, 0xbe1cefef936752b3 + .quad 0xc08626a6b0c85020, 0xbe1cf1e360a9db68 + .quad 0xc08626a9472e37d8, 0xbe1ceed6aeb812c5 + .quad 0xc08626abdcbe2650, 0xbe1cf227340b4986 + .quad 0xc08626ae7178a5b0, 0xbe1cf0215a0cbe0d + .quad 0xc08626b1055e3f70, 0xbe1cf256adf0ae26 + .quad 0xc08626b3986f7ca8, 0xbe1ceff3c67aed06 + .quad 0xc08626b62aace5c8, 0xbe1cf2159fb93652 + .quad 0xc08626b8bc1702e0, 0xbe1cf01e6dbd1c7f + .quad 0xc08626bb4cae5b60, 0xbe1cf009e75d1c0c + .quad 0xc08626bddc737648, 0xbe1ceec10a020e73 + .quad 0xc08626c06b66da08, 0xbe1cf06d5783eee7 + .quad 0xc08626c2f9890ca0, 0xbe1cf0cb8f169ffe + .quad 0xc08626c586da9388, 0xbe1cef7de2452430 + .quad 0xc08626c8135bf3b0, 0xbe1cf05da6f783ae + .quad 0xc08626ca9f0db198, 0xbe1cefcc877d681d + .quad 0xc08626cd29f05138, 0xbe1cef0531954ab3 + .quad 0xc08626cfb4045608, 0xbe1cf06b8565ea3d + .quad 0xc08626d23d4a4310, 0xbe1cefdc455d9d7e + .quad 0xc08626d4c5c29ad0, 0xbe1ceefc47e8fa64 + .quad 0xc08626d74d6ddf48, 0xbe1cf1872bf033f2 + .quad 0xc08626d9d44c9210, 0xbe1cf19d91087f9d + .quad 0xc08626dc5a5f3438, 0xbe1cf012d444c6ab + .quad 0xc08626dedfa64650, 0xbe1cf0ba528ee153 + .quad 0xc08626e164224880, 0xbe1ceeb431709788 + .quad 0xc08626e3e7d3ba60, 0xbe1cf0b9af31a6a5 + .quad 0xc08626e66abb1b28, 0xbe1cf168fb2e135b + .quad 0xc08626e8ecd8e990, 0xbe1cef9097461c93 + .quad 0xc08626eb6e2da3d0, 0xbe1cee7a434735d8 + .quad 0xc08626edeeb9c7a8, 0xbe1cf235732b86f2 + .quad 0xc08626f06e7dd280, 0xbe1cefe1510b89e6 + .quad 0xc08626f2ed7a4120, 0xbe1cf1f64b9b80ef + .quad 0xc08626f56baf9000, 0xbe1cf08f320ca339 + .quad 0xc08626f7e91e3b08, 0xbe1cf1b1de2808a1 + .quad 0xc08626fa65c6bdc0, 0xbe1cf1976d778b28 + .quad 0xc08626fce1a99338, 0xbe1ceef40a4f076f + .quad 0xc08626ff5cc73600, 0xbe1cef3e45869ce3 + .quad 0xc0862701d7202048, 0xbe1ceef601b4c9d6 + .quad 0xc086270450b4cbc0, 0xbe1cf1eaf0b57fd6 + .quad 0xc0862706c985b1c0, 0xbe1cef82a44990f3 + .quad 0xc086270941934b10, 0xbe1ceefe32981f2c + .quad 0xc086270bb8de1018, 0xbe1cefbf6f5a0445 + .quad 0xc086270e2f6678d0, 0xbe1cf18dba75792c + .quad 0xc0862710a52cfcc8, 0xbe1cf0da64ce995f + .quad 0xc08627131a321318, 0xbe1cef04ac0fb802 + .quad 0xc08627158e763268, 0xbe1cee9d4e2ad9bd + .quad 0xc086271801f9d0f8, 0xbe1cefa9b55407b5 + .quad 0xc086271a74bd64a0, 0xbe1cefe6bd329570 + .quad 0xc086271ce6c162c8, 0xbe1cef0b1205dc85 + .quad 0xc086271f58064068, 0xbe1cef092a785e3f + .quad 0xc0862721c88c7210, 0xbe1cf050dcdaac30 + .quad 0xc086272438546be8, 0xbe1cf210907ded8b + .quad 0xc0862726a75ea1b8, 0xbe1cee760be44f99 + .quad 0xc086272915ab86c0, 0xbe1ceeeee07c2bcc + .quad 0xc086272b833b8df0, 0xbe1cf06874992df5 + .quad 0xc086272df00f29d0, 0xbe1cef8fac5d4899 + .quad 0xc08627305c26cc70, 0xbe1cf1103241cc99 + .quad 0xc0862732c782e788, 0xbe1cf1d35fef83fe + .quad 0xc08627353223ec68, 0xbe1cef3ec8133e1d + .quad 0xc08627379c0a4be8, 0xbe1cef7261daccd8 + .quad 0xc086273a05367688, 0xbe1cf18656c50806 + .quad 0xc086273c6da8dc68, 0xbe1cf1c8736e049a + .quad 0xc086273ed561ed38, 0xbe1cf1f93bff4911 + .quad 0xc08627413c621848, 0xbe1cf188a4ea680c + .quad 0xc0862743a2a9cc80, 0xbe1cf1d270930c80 + .quad 0xc086274608397868, 0xbe1cf25a328c28e2 + .quad 0xc08627486d118a28, 0xbe1cf106f90aa3b8 + .quad 0xc086274ad1326f80, 0xbe1cee5e9d2e885a + .quad 0xc086274d349c95c0, 0xbe1cf1c0bac27228 + .quad 0xc086274f975069f8, 0xbe1cf1a1500f9b1c + .quad 0xc0862751f94e58c0, 0xbe1cefc30663ac44 + .quad 0xc08627545a96ce48, 0xbe1cf17123e427a2 + .quad 0xc0862756bb2a3678, 0xbe1cefb92749fea4 + .quad 0xc08627591b08fcc0, 0xbe1cefa40e1ea74a + .quad 0xc086275b7a338c40, 0xbe1cee6f4612c3e9 + .quad 0xc086275dd8aa4fa8, 0xbe1cf1c54a053627 + .quad 0xc0862760366db168, 0xbe1ceff5eb503d9e + .quad 0xc0862762937e1b70, 0xbe1cf02e47f10cee + .quad 0xc0862764efdbf768, 0xbe1ceeb06e1d0dad + .quad 0xc08627674b87ae88, 0xbe1cf10aadd6dba5 + .quad 0xc0862769a681a9c0, 0xbe1cf24e9913d30f + .quad 0xc086276c00ca51a0, 0xbe1cef47b301e312 + .quad 0xc086276e5a620e48, 0xbe1ceeb1cefc2e85 + .quad 0xc0862770b3494788, 0xbe1cf16f1fbbe011 + .quad 0xc08627730b8064e8, 0xbe1ceebdf75174c7 + .quad 0xc08627756307cd70, 0xbe1cf06e3871a0da + .quad 0xc0862777b9dfe7f0, 0xbe1cef16799fd554 + .quad 0xc086277a10091ac0, 0xbe1cf248dabf5377 + .quad 0xc086277c6583cc00, 0xbe1cf0c78d92a2cd + .quad 0xc086277eba506158, 0xbe1cf0b911b029f0 + .quad 0xc08627810e6f4028, 0xbe1cefdc24719766 + .quad 0xc086278361e0cd70, 0xbe1cefbb6562b7e7 + .quad 0xc0862785b4a56dd8, 0xbe1cf1e0afb349ec + .quad 0xc086278806bd85c0, 0xbe1cf008292e52fc + .quad 0xc086278a58297918, 0xbe1cf053073872bf + .quad 0xc086278ca8e9ab88, 0xbe1cf17a0a55a947 + .quad 0xc086278ef8fe8068, 0xbe1ceeffb0b60234 + .quad 0xc086279148685aa0, 0xbe1cf162204794a8 + .quad 0xc086279397279ce0, 0xbe1cf24cc8cb48ac + .quad 0xc0862795e53ca978, 0xbe1cf0c9be68d5c3 + .quad 0xc086279832a7e258, 0xbe1cf172cd3d7388 + .quad 0xc086279a7f69a930, 0xbe1ceea2465fbce5 + .quad 0xc086279ccb825f40, 0xbe1cf0a386d2500f + .quad 0xc086279f16f26590, 0xbe1cf1e338ddc18a + .quad 0xc08627a161ba1cd0, 0xbe1cef1f5049867f + .quad 0xc08627a3abd9e548, 0xbe1cef96c1ea8b1f + .quad 0xc08627a5f5521f00, 0xbe1cf138f6fd3c26 + .quad 0xc08627a83e2329b0, 0xbe1cf0d4fcbfdf3a + .quad 0xc08627aa864d64b0, 0xbe1cf24870c12c81 + .quad 0xc08627accdd12f18, 0xbe1cf0ae2a56348d + .quad 0xc08627af14aee7a0, 0xbe1cee8ca1a9b893 + .quad 0xc08627b15ae6eca8, 0xbe1cf20414d637b0 + .quad 0xc08627b3a0799c60, 0xbe1cf0fc6b7b12d8 + .quad 0xc08627b5e5675488, 0xbe1cf152d93c4a00 + .quad 0xc08627b829b072a0, 0xbe1cf1073f9b77c2 + .quad 0xc08627ba6d5553d8, 0xbe1cee694f97d5a4 + .quad 0xc08627bcb0565500, 0xbe1cf0456b8239d7 + .quad 0xc08627bef2b3d2b0, 0xbe1cf211497127e3 + .quad 0xc08627c1346e2930, 0xbe1cf01856c0384d + .quad 0xc08627c37585b468, 0xbe1cefa7dd05479e + .quad 0xc08627c5b5fad000, 0xbe1cef3ae8e50b93 + .quad 0xc08627c7f5cdd750, 0xbe1ceea5f32fdd3a + .quad 0xc08627ca34ff2560, 0xbe1cef424caeb8d9 + .quad 0xc08627cc738f14f0, 0xbe1cf0194d07a81f + .quad 0xc08627ceb17e0070, 0xbe1cf20f452000c1 + .quad 0xc08627d0eecc4210, 0xbe1cf00e356218e4 + .quad 0xc08627d32b7a33a0, 0xbe1cef30484b4bcb + .quad 0xc08627d567882eb0, 0xbe1ceeea11a6641b + .quad 0xc08627d7a2f68c80, 0xbe1cf13492d5bd7b + .quad 0xc08627d9ddc5a618, 0xbe1ceeb7048fad96 + .quad 0xc08627dc17f5d418, 0xbe1ceef0666f0477 + .quad 0xc08627de51876ee8, 0xbe1cf060d4b8b5c2 + .quad 0xc08627e08a7acea8, 0xbe1cf0b2a4b6ff8c + .quad 0xc08627e2c2d04b28, 0xbe1cf0e34809a875 + .quad 0xc08627e4fa883bf0, 0xbe1cf16bf74a3522 + .quad 0xc08627e731a2f848, 0xbe1cee6a24623d57 + .quad 0xc08627e96820d718, 0xbe1cefc7b4f1528e + .quad 0xc08627eb9e022f18, 0xbe1cf163051f3548 + .quad 0xc08627edd34756b8, 0xbe1cef36b3366305 + .quad 0xc08627f007f0a408, 0xbe1cf18134625550 + .quad 0xc08627f23bfe6cf0, 0xbe1cf0ec32ec1a11 + .quad 0xc08627f46f710700, 0xbe1ceeb3b64f3edc + .quad 0xc08627f6a248c778, 0xbe1cf0cd15805bc8 + .quad 0xc08627f8d4860368, 0xbe1cf20db3bddebe + .quad 0xc08627fb06290f90, 0xbe1cf25188430e25 + .quad 0xc08627fd37324070, 0xbe1ceea1713490f9 + .quad 0xc08627ff67a1ea28, 0xbe1cf159521d234c + .quad 0xc0862801977860b8, 0xbe1cf24dfe50783b + .quad 0xc0862803c6b5f7d0, 0xbe1ceef2ef89a60b + .quad 0xc0862805f55b02c8, 0xbe1cee7fc919d62c + .quad 0xc08628082367d4c0, 0xbe1cf215a7fb513a + .quad 0xc086280a50dcc0a8, 0xbe1cf0e4401c5ed4 + .quad 0xc086280c7dba1910, 0xbe1cf04ec734d256 + .quad 0xc086280eaa003050, 0xbe1cf010ad787fea + .quad 0xc0862810d5af5880, 0xbe1cee622478393d + .quad 0xc086281300c7e368, 0xbe1cf01c7482564f + .quad 0xc08628152b4a22a0, 0xbe1cf0de20d33536 + .quad 0xc086281755366778, 0xbe1cef2edae5837d + .quad 0xc08628197e8d02f0, 0xbe1cf0a345318cc9 + .quad 0xc086281ba74e45d8, 0xbe1cf20085aa34b8 + .quad 0xc086281dcf7a80c0, 0xbe1cef5fa845ad83 + .quad 0xc086281ff71203e0, 0xbe1cf050d1df69c4 + .quad 0xc08628221e151f48, 0xbe1ceffe43c035b9 + .quad 0xc0862824448422b8, 0xbe1cf14f3018d3c2 + .quad 0xc08628266a5f5dc0, 0xbe1cef0a5fbae83d + .quad 0xc08628288fa71f98, 0xbe1ceff8a95b72a1 + .quad 0xc086282ab45bb750, 0xbe1cef073aa9849b + .quad 0xc086282cd87d73a8, 0xbe1cef69b3835c02 + .quad 0xc086282efc0ca328, 0xbe1cf0bc139379a9 + .quad 0xc08628311f099420, 0xbe1cef247a9ec596 + .quad 0xc086283341749490, 0xbe1cef74bbcc488a + .quad 0xc0862835634df248, 0xbe1cef4bc42e7b8e + .quad 0xc08628378495fad0, 0xbe1cf136d4d5a810 + .quad 0xc0862839a54cfb80, 0xbe1cf0d290b24dd8 + .quad 0xc086283bc5734168, 0xbe1ceeebde8e0065 + .quad 0xc086283de5091950, 0xbe1cf1a09f60aa1e + .quad 0xc0862840040ecfe0, 0xbe1cf0803947a234 + .quad 0xc08628422284b168, 0xbe1cf0abf7638127 + .quad 0xc0862844406b0a08, 0xbe1cf0f73ee12058 + .quad 0xc08628465dc225a0, 0xbe1cf2079971b26c + .quad 0xc08628487a8a4fe0, 0xbe1cee74957564b1 + .quad 0xc086284a96c3d420, 0xbe1ceee77c1b7d43 + .quad 0xc086284cb26efd90, 0xbe1cf23addba6e09 + .quad 0xc086284ecd8c1730, 0xbe1cf199f4a1da60 + .quad 0xc0862850e81b6bb0, 0xbe1cf09fdea81393 + .quad 0xc0862853021d4588, 0xbe1cf176adb417f7 + .quad 0xc08628551b91ef00, 0xbe1cf0f64f84a8da + .quad 0xc08628573479b220, 0xbe1ceec34cf49523 + .quad 0xc08628594cd4d8a8, 0xbe1cf16d60fbe0bb + .quad 0xc086285b64a3ac40, 0xbe1cee8de7acfc7b + .quad 0xc086285d7be67630, 0xbe1ceee6256cce8d + .quad 0xc086285f929d7fa0, 0xbe1cee7d66a3d8a5 + .quad 0xc0862861a8c91170, 0xbe1cf0bef8265792 + .quad 0xc0862863be697458, 0xbe1cf097f890c6f8 + .quad 0xc0862865d37ef0c8, 0xbe1cf09502d5c3fc + .quad 0xc0862867e809cf00, 0xbe1ceeffb239dac7 + .quad 0xc0862869fc0a56f8, 0xbe1cf1fbfff95c98 + .quad 0xc086286c0f80d090, 0xbe1cefa57ad3eef7 + .quad 0xc086286e226d8348, 0xbe1cf22c58b9183d + .quad 0xc086287034d0b690, 0xbe1ceff262d0a248 + .quad 0xc086287246aab180, 0xbe1cefa7bc194186 + .quad 0xc086287457fbbb08, 0xbe1cf06782d784d9 + .quad 0xc086287668c419e0, 0xbe1cf1d44d0eaa07 + .quad 0xc086287879041490, 0xbe1cf034803c8a48 + .quad 0xc086287a88bbf158, 0xbe1cf08e84916b6f + .quad 0xc086287c97ebf650, 0xbe1cf0c4d3dc1bc7 + .quad 0xc086287ea6946958, 0xbe1cefb1e4625943 + .quad 0xc0862880b4b59010, 0xbe1cf143efdd1fd0 + .quad 0xc0862882c24faff8, 0xbe1cee9896d016da + .quad 0xc0862884cf630e38, 0xbe1cf2186072f2cc + .quad 0xc0862886dbefeff0, 0xbe1cef9217633d34 + .quad 0xc0862888e7f699e0, 0xbe1cf05603549486 + .quad 0xc086288af37750b0, 0xbe1cef50fff513d3 + .quad 0xc086288cfe7258c0, 0xbe1cf127713b32d0 + .quad 0xc086288f08e7f650, 0xbe1cf05015520f3d + .quad 0xc086289112d86d58, 0xbe1cf12eb458b26f + .quad 0xc08628931c4401a8, 0xbe1cf22eae2887ed + .quad 0xc0862895252af6e0, 0xbe1cefdd6656dd2d + .quad 0xc08628972d8d9058, 0xbe1cf1048ea4e646 + .quad 0xc0862899356c1150, 0xbe1ceec4501167e9 + .quad 0xc086289b3cc6bcb8, 0xbe1cf0ad52becc3f + .quad 0xc086289d439dd568, 0xbe1cf0daa4e00e35 + .quad 0xc086289f49f19df8, 0xbe1cf00b80de8d6a + .quad 0xc08628a14fc258c8, 0xbe1cf1bcf2ea8464 + .quad 0xc08628a355104818, 0xbe1cf0435e2782b0 + .quad 0xc08628a559dbade0, 0xbe1cf0e3e1a5f56c + .quad 0xc08628a75e24cbf8, 0xbe1cefed9d5a721d + .quad 0xc08628a961ebe3f8, 0xbe1cf0d2d74321e2 + .quad 0xc08628ab65313750, 0xbe1cf24200eb55e9 + .quad 0xc08628ad67f50740, 0xbe1cf23e9d7cf979 + .quad 0xc08628af6a3794d0, 0xbe1cf23a088f421c + .quad 0xc08628b16bf920e0, 0xbe1cef2c1de1ab32 + .quad 0xc08628b36d39ec08, 0xbe1cf1abc231f7b2 + .quad 0xc08628b56dfa36d0, 0xbe1cf2074d5ba303 + .quad 0xc08628b76e3a4180, 0xbe1cf05cd5eed880 + /* Log_LA_table */ + .align 32 + .quad 0x8000000000000000 + .quad 0xbf5ff802a9ab10e6 + .quad 0xbf6ff00aa2b10bc0 + .quad 0xbf77ee11ebd82e94 + .quad 0xbf7fe02a6b106789 + .quad 0xbf83e7295d25a7d9 + .quad 0xbf87dc475f810a77 + .quad 0xbf8bcf712c74384c + .quad 0xbf8fc0a8b0fc03e4 + .quad 0xbf91d7f7eb9eebe7 + .quad 0xbf93cea44346a575 + .quad 0xbf95c45a51b8d389 + .quad 0xbf97b91b07d5b11b + .quad 0xbf99ace7551cc514 + .quad 0xbf9b9fc027af9198 + .quad 0xbf9d91a66c543cc4 + .quad 0xbf9f829b0e783300 + .quad 0xbfa0b94f7c196176 + .quad 0xbfa1b0d98923d980 + .quad 0xbfa2a7ec2214e873 + .quad 0xbfa39e87b9febd60 + .quad 0xbfa494acc34d911c + .quad 0xbfa58a5bafc8e4d5 + .quad 0xbfa67f94f094bd98 + .quad 0xbfa77458f632dcfc + .quad 0xbfa868a83083f6cf + .quad 0xbfa95c830ec8e3eb + .quad 0xbfaa4fe9ffa3d235 + .quad 0xbfab42dd711971bf + .quad 0xbfac355dd0921f2d + .quad 0xbfad276b8adb0b52 + .quad 0xbfae19070c276016 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfaffae9119b9303 + .quad 0xbfb075983598e471 + .quad 0xbfb0ed839b5526fe + .quad 0xbfb16536eea37ae1 + .quad 0xbfb1dcb263db1944 + .quad 0xbfb253f62f0a1417 + .quad 0xbfb2cb0283f5de1f + .quad 0xbfb341d7961bd1d1 + .quad 0xbfb3b87598b1b6ee + .quad 0xbfb42edcbea646f0 + .quad 0xbfb4a50d3aa1b040 + .quad 0xbfb51b073f06183f + .quad 0xbfb590cafdf01c28 + .quad 0xbfb60658a93750c4 + .quad 0xbfb67bb0726ec0fc + .quad 0xbfb6f0d28ae56b4c + .quad 0xbfb765bf23a6be13 + .quad 0xbfb7da766d7b12cd + .quad 0xbfb84ef898e8282a + .quad 0xbfb8c345d6319b21 + .quad 0xbfb9375e55595ede + .quad 0xbfb9ab42462033ad + .quad 0xbfba1ef1d8061cd4 + .quad 0xbfba926d3a4ad563 + .quad 0xbfbb05b49bee43fe + .quad 0xbfbb78c82bb0eda1 + .quad 0xbfbbeba818146765 + .quad 0xbfbc5e548f5bc743 + .quad 0xbfbcd0cdbf8c13e1 + .quad 0xbfbd4313d66cb35d + .quad 0xbfbdb5270187d927 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfbe98b549671467 + .quad 0xbfbf0a30c01162a6 + .quad 0xbfbf7b79fec37ddf + .quad 0xbfbfec9131dbeabb + .quad 0xbfc02ebb42bf3d4b + .quad 0xbfc0671512ca596e + .quad 0xbfc09f561ee719c3 + .quad 0xbfc0d77e7cd08e59 + .quad 0xbfc10f8e422539b1 + .quad 0xbfc14785846742ac + .quad 0xbfc17f6458fca611 + .quad 0xbfc1b72ad52f67a0 + .quad 0xbfc1eed90e2dc2c3 + .quad 0xbfc2266f190a5acb + .quad 0xbfc25ded0abc6ad2 + .quad 0xbfc29552f81ff523 + .quad 0xbfc2cca0f5f5f251 + .quad 0xbfc303d718e47fd3 + .quad 0xbfc33af575770e4f + .quad 0xbfc371fc201e8f74 + .quad 0xbfc3a8eb2d31a376 + .quad 0xbfc3dfc2b0ecc62a + .quad 0xbfc41682bf727bc0 + .quad 0xbfc44d2b6ccb7d1e + .quad 0xbfc483bccce6e3dd + .quad 0xbfc4ba36f39a55e5 + .quad 0xbfc4f099f4a230b2 + .quad 0xbfc526e5e3a1b438 + .quad 0xbfc55d1ad4232d6f + .quad 0xbfc59338d9982086 + .quad 0xbfc5c940075972b9 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfc6350a28aaa758 + .quad 0xbfc66acd4272ad51 + .quad 0xbfc6a079d0f7aad2 + .quad 0xbfc6d60fe719d21d + .quad 0xbfc70b8f97a1aa75 + .quad 0xbfc740f8f54037a5 + .quad 0xbfc7764c128f2127 + .quad 0xbfc7ab890210d909 + .quad 0xbfc7e0afd630c274 + .quad 0xbfc815c0a14357eb + .quad 0xbfc84abb75865139 + .quad 0xbfc87fa06520c911 + .quad 0xbfc8b46f8223625b + .quad 0xbfc8e928de886d41 + .quad 0xbfc91dcc8c340bde + .quad 0xbfc9525a9cf456b4 + .quad 0xbfc986d3228180ca + .quad 0xbfc9bb362e7dfb83 + .quad 0xbfc9ef83d2769a34 + .quad 0xbfca23bc1fe2b563 + .quad 0xbfca57df28244dcd + .quad 0xbfca8becfc882f19 + .quad 0xbfcabfe5ae46124c + .quad 0xbfcaf3c94e80bff3 + .quad 0xbfcb2797ee46320c + .quad 0xbfcb5b519e8fb5a4 + .quad 0xbfcb8ef670420c3b + .quad 0xbfcbc286742d8cd6 + .quad 0xbfcbf601bb0e44e2 + .quad 0xbfcc2968558c18c1 + .quad 0xbfcc5cba543ae425 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfccc320c0176502 + .quad 0xbfccf6354e09c5dc + .quad 0xbfcd293581b6b3e7 + .quad 0xbfcd5c216b4fbb91 + .quad 0xbfcd8ef91af31d5e + .quad 0xbfcdc1bca0abec7d + .quad 0xbfcdf46c0c722d2f + .quad 0xbfce27076e2af2e6 + .quad 0xbfce598ed5a87e2f + .quad 0xbfce8c0252aa5a60 + .quad 0xbfcebe61f4dd7b0b + .quad 0xbfcef0adcbdc5936 + .quad 0xbfcf22e5e72f105d + .quad 0xbfcf550a564b7b37 + .quad 0xbfcf871b28955045 + .quad 0xbfcfb9186d5e3e2b + .quad 0xbfcfeb0233e607cc + .quad 0xbfd00e6c45ad501d + .quad 0xbfd0274dc16c232f + .quad 0xbfd0402594b4d041 + .quad 0xbfd058f3c703ebc6 + .quad 0xbfd071b85fcd590d + .quad 0xbfd08a73667c57af + .quad 0xbfd0a324e27390e3 + .quad 0xbfd0bbccdb0d24bd + .quad 0xbfd0d46b579ab74b + .quad 0xbfd0ed005f657da4 + .quad 0xbfd1058bf9ae4ad5 + .quad 0xbfd11e0e2dad9cb7 + .quad 0xbfd136870293a8b0 + .quad 0xbfd14ef67f88685a + .quad 0xbfd1675cababa60e + .quad 0xbfd17fb98e15095d + .quad 0xbfd1980d2dd4236f + .quad 0xbfd1b05791f07b49 + .quad 0xbfd1c898c16999fb + .quad 0xbfd1e0d0c33716be + .quad 0xbfd1f8ff9e48a2f3 + .quad 0xbfd211255986160c + .quad 0xbfd22941fbcf7966 + .quad 0xbfd241558bfd1404 + .quad 0xbfd2596010df763a + .quad 0xbfd27161913f853d + .quad 0xbfd2895a13de86a3 + .quad 0xbfd2a1499f762bc9 + .quad 0xbfd2b9303ab89d25 + .quad 0xbfd2d10dec508583 + .quad 0xbfd2e8e2bae11d31 + .quad 0xbfd300aead06350c + .quad 0xbfd31871c9544185 + .quad 0xbfd3302c16586588 + .quad 0xbfd347dd9a987d55 + .quad 0xbfd35f865c93293e + .quad 0xbfd3772662bfd85b + .quad 0xbfd38ebdb38ed321 + .quad 0xbfd3a64c556945ea + .quad 0xbfd3bdd24eb14b6a + .quad 0xbfd3d54fa5c1f710 + .quad 0xbfd3ecc460ef5f50 + .quad 0xbfd404308686a7e4 + .quad 0xbfd41b941cce0bee + .quad 0xbfd432ef2a04e814 + .quad 0xbfd44a41b463c47c + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd478cd5959b3d9 + .quad 0xbfd49006804009d1 + .quad 0xbfd4a7373cecf997 + .quad 0xbfd4be5f957778a1 + .quad 0xbfd4d57f8fefe27f + .quad 0xbfd4ec973260026a + .quad 0xbfd503a682cb1cb3 + .quad 0xbfd51aad872df82d + .quad 0xbfd531ac457ee77e + .quad 0xbfd548a2c3add263 + .quad 0xbfd55f9107a43ee2 + .quad 0xbfd5767717455a6c + .quad 0xbfd58d54f86e02f2 + .quad 0xbfd5a42ab0f4cfe2 + .quad 0xbfd5baf846aa1b19 + .quad 0xbfd5d1bdbf5809ca + .quad 0xbfd5e87b20c2954a + .quad 0xbfd5ff3070a793d4 + .quad 0xbfd615ddb4bec13c + .quad 0xbfd62c82f2b9c795 + .quad 0x3fd61965cdb02c1f + .quad 0x3fd602d08af091ec + .quad 0x3fd5ec433d5c35ae + .quad 0x3fd5d5bddf595f30 + .quad 0x3fd5bf406b543db2 + .quad 0x3fd5a8cadbbedfa1 + .quad 0x3fd5925d2b112a59 + .quad 0x3fd57bf753c8d1fb + .quad 0x3fd565995069514c + .quad 0x3fd54f431b7be1a9 + .quad 0x3fd538f4af8f72fe + .quad 0x3fd522ae0738a3d8 + .quad 0x3fd50c6f1d11b97c + .quad 0x3fd4f637ebba9810 + .quad 0x3fd4e0086dd8baca + .quad 0x3fd4c9e09e172c3c + .quad 0x3fd4b3c077267e9a + .quad 0x3fd49da7f3bcc41f + .quad 0x3fd487970e958770 + .quad 0x3fd4718dc271c41b + .quad 0x3fd45b8c0a17df13 + .quad 0x3fd44591e0539f49 + .quad 0x3fd42f9f3ff62642 + .quad 0x3fd419b423d5e8c7 + .quad 0x3fd403d086cea79c + .quad 0x3fd3edf463c1683e + .quad 0x3fd3d81fb5946dba + .quad 0x3fd3c25277333184 + .quad 0x3fd3ac8ca38e5c5f + .quad 0x3fd396ce359bbf54 + .quad 0x3fd3811728564cb2 + .quad 0x3fd36b6776be1117 + .quad 0x3fd355bf1bd82c8b + .quad 0x3fd3401e12aecba1 + .quad 0x3fd32a84565120a8 + .quad 0x3fd314f1e1d35ce4 + .quad 0x3fd2ff66b04ea9d4 + .quad 0x3fd2e9e2bce12286 + .quad 0x3fd2d46602adccee + .quad 0x3fd2bef07cdc9354 + .quad 0x3fd2a982269a3dbf + .quad 0x3fd2941afb186b7c + .quad 0x3fd27ebaf58d8c9d + .quad 0x3fd269621134db92 + .quad 0x3fd25410494e56c7 + .quad 0x3fd23ec5991eba49 + .quad 0x3fd22981fbef797b + .quad 0x3fd214456d0eb8d4 + .quad 0x3fd1ff0fe7cf47a7 + .quad 0x3fd1e9e1678899f4 + .quad 0x3fd1d4b9e796c245 + .quad 0x3fd1bf99635a6b95 + .quad 0x3fd1aa7fd638d33f + .quad 0x3fd1956d3b9bc2fa + .quad 0x3fd180618ef18adf + .quad 0x3fd16b5ccbacfb73 + .quad 0x3fd1565eed455fc3 + .quad 0x3fd14167ef367783 + .quad 0x3fd12c77cd00713b + .quad 0x3fd1178e8227e47c + .quad 0x3fd102ac0a35cc1c + .quad 0x3fd0edd060b78081 + .quad 0x3fd0d8fb813eb1ef + .quad 0x3fd0c42d676162e3 + .quad 0x3fd0af660eb9e279 + .quad 0x3fd09aa572e6c6d4 + .quad 0x3fd085eb8f8ae797 + .quad 0x3fd07138604d5862 + .quad 0x3fd05c8be0d9635a + .quad 0x3fd047e60cde83b8 + .quad 0x3fd03346e0106062 + .quad 0x3fd01eae5626c691 + .quad 0x3fd00a1c6adda473 + .quad 0x3fcfeb2233ea07cd + .quad 0x3fcfc218be620a5e + .quad 0x3fcf991c6cb3b379 + .quad 0x3fcf702d36777df0 + .quad 0x3fcf474b134df229 + .quad 0x3fcf1e75fadf9bde + .quad 0x3fcef5ade4dcffe6 + .quad 0x3fceccf2c8fe920a + .quad 0x3fcea4449f04aaf5 + .quad 0x3fce7ba35eb77e2a + .quad 0x3fce530effe71012 + .quad 0x3fce2a877a6b2c12 + .quad 0x3fce020cc6235ab5 + .quad 0x3fcdd99edaf6d7e9 + .quad 0x3fcdb13db0d48940 + .quad 0x3fcd88e93fb2f450 + .quad 0x3fcd60a17f903515 + .quad 0x3fcd38666871f465 + .quad 0x3fcd1037f2655e7b + .quad 0x3fcce816157f1988 + .quad 0x3fccc000c9db3c52 + .quad 0x3fcc97f8079d44ec + .quad 0x3fcc6ffbc6f00f71 + .quad 0x3fcc480c0005ccd1 + .quad 0x3fcc2028ab17f9b4 + .quad 0x3fcbf851c067555f + .quad 0x3fcbd087383bd8ad + .quad 0x3fcba8c90ae4ad19 + .quad 0x3fcb811730b823d2 + .quad 0x3fcb5971a213acdb + .quad 0x3fcb31d8575bce3d + .quad 0x3fcb0a4b48fc1b46 + .quad 0x3fcae2ca6f672bd4 + .quad 0x3fcabb55c31693ad + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fca6c90d44b704e + .quad 0x3fca454082e6ab05 + .quad 0x3fca1dfc40f1b7f1 + .quad 0x3fc9f6c407089664 + .quad 0x3fc9cf97cdce0ec3 + .quad 0x3fc9a8778debaa38 + .quad 0x3fc981634011aa75 + .quad 0x3fc95a5adcf7017f + .quad 0x3fc9335e5d594989 + .quad 0x3fc90c6db9fcbcd9 + .quad 0x3fc8e588ebac2dbf + .quad 0x3fc8beafeb38fe8c + .quad 0x3fc897e2b17b19a5 + .quad 0x3fc871213750e994 + .quad 0x3fc84a6b759f512f + .quad 0x3fc823c16551a3c2 + .quad 0x3fc7fd22ff599d4f + .quad 0x3fc7d6903caf5ad0 + .quad 0x3fc7b0091651528c + .quad 0x3fc7898d85444c73 + .quad 0x3fc7631d82935a86 + .quad 0x3fc73cb9074fd14d + .quad 0x3fc716600c914054 + .quad 0x3fc6f0128b756abc + .quad 0x3fc6c9d07d203fc7 + .quad 0x3fc6a399dabbd383 + .quad 0x3fc67d6e9d785771 + .quad 0x3fc6574ebe8c133a + .quad 0x3fc6313a37335d76 + .quad 0x3fc60b3100b09476 + .quad 0x3fc5e533144c1719 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc59958ff1d52f1 + .quad 0x3fc5737cc9018cdd + .quad 0x3fc54dabc26105d2 + .quad 0x3fc527e5e4a1b58d + .quad 0x3fc5022b292f6a45 + .quad 0x3fc4dc7b897bc1c8 + .quad 0x3fc4b6d6fefe22a4 + .quad 0x3fc4913d8333b561 + .quad 0x3fc46baf0f9f5db7 + .quad 0x3fc4462b9dc9b3dc + .quad 0x3fc420b32740fdd4 + .quad 0x3fc3fb45a59928cc + .quad 0x3fc3d5e3126bc27f + .quad 0x3fc3b08b6757f2a9 + .quad 0x3fc38b3e9e027479 + .quad 0x3fc365fcb0159016 + .quad 0x3fc340c59741142e + .quad 0x3fc31b994d3a4f85 + .quad 0x3fc2f677cbbc0a96 + .quad 0x3fc2d1610c86813a + .quad 0x3fc2ac55095f5c59 + .quad 0x3fc28753bc11aba5 + .quad 0x3fc2625d1e6ddf57 + .quad 0x3fc23d712a49c202 + .quad 0x3fc2188fd9807263 + .quad 0x3fc1f3b925f25d41 + .quad 0x3fc1ceed09853752 + .quad 0x3fc1aa2b7e23f72a + .quad 0x3fc185747dbecf34 + .quad 0x3fc160c8024b27b1 + .quad 0x3fc13c2605c398c3 + .quad 0x3fc1178e8227e47c + .quad 0x3fc0f301717cf0fb + .quad 0x3fc0ce7ecdccc28d + .quad 0x3fc0aa06912675d5 + .quad 0x3fc08598b59e3a07 + .quad 0x3fc06135354d4b18 + .quad 0x3fc03cdc0a51ec0d + .quad 0x3fc0188d2ecf6140 + .quad 0x3fbfe89139dbd566 + .quad 0x3fbfa01c9db57ce2 + .quad 0x3fbf57bc7d9005db + .quad 0x3fbf0f70cdd992e3 + .quad 0x3fbec739830a1120 + .quad 0x3fbe7f1691a32d3e + .quad 0x3fbe3707ee30487b + .quad 0x3fbdef0d8d466db9 + .quad 0x3fbda727638446a2 + .quad 0x3fbd5f55659210e2 + .quad 0x3fbd179788219364 + .quad 0x3fbccfedbfee13a8 + .quad 0x3fbc885801bc4b23 + .quad 0x3fbc40d6425a5cb1 + .quad 0x3fbbf968769fca11 + .quad 0x3fbbb20e936d6974 + .quad 0x3fbb6ac88dad5b1c + .quad 0x3fbb23965a52ff00 + .quad 0x3fbadc77ee5aea8c + .quad 0x3fba956d3ecade63 + .quad 0x3fba4e7640b1bc38 + .quad 0x3fba0792e9277cac + .quad 0x3fb9c0c32d4d2548 + .quad 0x3fb97a07024cbe74 + .quad 0x3fb9335e5d594989 + .quad 0x3fb8ecc933aeb6e8 + .quad 0x3fb8a6477a91dc29 + .quad 0x3fb85fd927506a48 + .quad 0x3fb8197e2f40e3f0 + .quad 0x3fb7d33687c293c9 + .quad 0x3fb78d02263d82d3 + .quad 0x3fb746e100226ed9 + .quad 0x3fb700d30aeac0e1 + .quad 0x3fb6bad83c1883b6 + .quad 0x3fb674f089365a7a + .quad 0x3fb62f1be7d77743 + .quad 0x3fb5e95a4d9791cb + .quad 0x3fb5a3abb01ade25 + .quad 0x3fb55e10050e0384 + .quad 0x3fb518874226130a + .quad 0x3fb4d3115d207eac + .quad 0x3fb48dae4bc31018 + .quad 0x3fb4485e03dbdfad + .quad 0x3fb403207b414b7f + .quad 0x3fb3bdf5a7d1ee64 + .quad 0x3fb378dd7f749714 + .quad 0x3fb333d7f8183f4b + .quad 0x3fb2eee507b40301 + .quad 0x3fb2aa04a44717a5 + .quad 0x3fb26536c3d8c369 + .quad 0x3fb2207b5c78549e + .quad 0x3fb1dbd2643d190b + .quad 0x3fb1973bd1465567 + .quad 0x3fb152b799bb3cc9 + .quad 0x3fb10e45b3cae831 + .quad 0x3fb0c9e615ac4e17 + .quad 0x3fb08598b59e3a07 + .quad 0x3fb0415d89e74444 + .quad 0x3faffa6911ab9301 + .quad 0x3faf723b517fc523 + .quad 0x3faeea31c006b87c + .quad 0x3fae624c4a0b5e1b + .quad 0x3fadda8adc67ee4e + .quad 0x3fad52ed6405d86f + .quad 0x3faccb73cdddb2cc + .quad 0x3fac441e06f72a9e + .quad 0x3fabbcebfc68f420 + .quad 0x3fab35dd9b58baad + .quad 0x3faaaef2d0fb10fc + .quad 0x3faa282b8a936171 + .quad 0x3fa9a187b573de7c + .quad 0x3fa91b073efd7314 + .quad 0x3fa894aa149fb343 + .quad 0x3fa80e7023d8ccc4 + .quad 0x3fa788595a3577ba + .quad 0x3fa70265a550e777 + .quad 0x3fa67c94f2d4bb58 + .quad 0x3fa5f6e73078efb8 + .quad 0x3fa5715c4c03ceef + .quad 0x3fa4ebf43349e26f + .quad 0x3fa466aed42de3ea + .quad 0x3fa3e18c1ca0ae92 + .quad 0x3fa35c8bfaa1306b + .quad 0x3fa2d7ae5c3c5bae + .quad 0x3fa252f32f8d183f + .quad 0x3fa1ce5a62bc353a + .quad 0x3fa149e3e4005a8d + .quad 0x3fa0c58fa19dfaaa + .quad 0x3fa0415d89e74444 + .quad 0x3f9f7a9b16782856 + .quad 0x3f9e72bf2813ce51 + .quad 0x3f9d6b2725979802 + .quad 0x3f9c63d2ec14aaf2 + .quad 0x3f9b5cc258b718e6 + .quad 0x3f9a55f548c5c43f + .quad 0x3f994f6b99a24475 + .quad 0x3f98492528c8cabf + .quad 0x3f974321d3d006d3 + .quad 0x3f963d6178690bd6 + .quad 0x3f9537e3f45f3565 + .quad 0x3f9432a925980cc1 + .quad 0x3f932db0ea132e22 + .quad 0x3f9228fb1fea2e28 + .quad 0x3f912487a5507f70 + .quad 0x3f90205658935847 + .quad 0x3f8e38ce3033310c + .quad 0x3f8c317384c75f06 + .quad 0x3f8a2a9c6c170462 + .quad 0x3f882448a388a2aa + .quad 0x3f861e77e8b53fc6 + .quad 0x3f841929f96832f0 + .quad 0x3f82145e939ef1e9 + .quad 0x3f8010157588de71 + .quad 0x3f7c189cbb0e27fb + .quad 0x3f78121214586b54 + .quad 0x3f740c8a747878e2 + .quad 0x3f70080559588b35 + .quad 0x3f680904828985c0 + .quad 0x3f60040155d5889e + .quad 0x3f50020055655889 + .quad 0x0000000000000000 + /* poly_coeff[4] */ + .align 32 + .quad 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A, 0x3fc9999CACDB4D0A /* coeff4 */ + .quad 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1, 0xbfd0000148058EE1 /* coeff3 */ + .quad 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5, 0x3fd55555555543C5 /* coeff2 */ + .quad 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F, 0xbfdFFFFFFFFFF81F /* coeff1 */ + /* ExpMask */ + .align 32 + .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 32 + .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 + /* MinLog1p = -1+2^(-53) */ + .align 32 + .quad 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff, 0xbfefffffffffffff + /* MaxLog1p */ + .align 32 + .quad 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000, 0x7f3ffffffffff000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff + /* XThreshold */ + .align 32 + .quad 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000, 0x3e00000000000000 + /* XhMask */ + .align 32 + .quad 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00, 0xfffffffffffffc00 + /* Threshold */ + .align 32 + .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 32 + .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 32 + .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 + /* ExpMask */ + .align 32 + .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 + /* ExpMask2 */ + .align 32 + .quad 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000, 0x7f40000000000000 + /* L2L */ + .align 32 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + .align 32 + .type __svml_dlog1p_data_internal, @object + .size __svml_dlog1p_data_internal, .-__svml_dlog1p_data_internal From patchwork Mon Mar 7 15:01:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602273 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=YUMpf65L; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2R347sbz9sFk for ; Tue, 8 Mar 2022 02:28:15 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 07DC13858428 for ; Mon, 7 Mar 2022 15:28:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 07DC13858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666893; bh=aYJ1Xi++LRMbluV5IeYw8gXCnT0J5gxcAdwx6JJyjQY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=YUMpf65LUxTd3OYzRR4BM374zqBnj6J+pEL5CLFkLfcCZpC5wVpEj0AQPOUowxOwC mzbMzENQ4I+wB3arfCgBn7CMVWZB+b8UAM+1/jChjnBFGAWtzrbZtXZ79XGgMSC8h4 UWLuxRLXa0KuUBYAKtS7+Ij5WXXRpGESMovpirWk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 42BAF3858437 for ; Mon, 7 Mar 2022 15:02:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 42BAF3858437 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640472" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640472" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="495085306" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga003.jf.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fG016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 102/126] x86_64: Fix svml_d_log1p8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:37 -0800 Message-Id: <20220307150201.10590-103-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log1p8_core_avx512.S | 519 +++++++++--------- 1 file changed, 259 insertions(+), 260 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S index e2fdb2886e..dd55b5dd18 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log1p8_core_avx512.S @@ -19,7 +19,7 @@ /* * ALGORITHM DESCRIPTION: * - * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1,2) + * 1+x = 2^k*(xh + xl) is computed in high-low parts; xh in [1, 2) * Get short reciprocal approximation Rcp ~ 1/xh * R = (Rcp*xh - 1.0) + Rcp*xl * log1p(x) = k*log(2.0) - log(Rcp) + poly(R) @@ -30,288 +30,287 @@ /* Offsets for data table __svml_dlog1p_data_internal_avx512 */ -#define Log_tbl 0 -#define One 128 -#define SgnMask 192 -#define C075 256 -#define poly_coeff9 320 -#define poly_coeff8 384 -#define poly_coeff7 448 -#define poly_coeff6 512 -#define poly_coeff5 576 -#define poly_coeff4 640 -#define poly_coeff3 704 -#define poly_coeff2 768 -#define L2 832 +#define Log_tbl 0 +#define One 128 +#define SgnMask 192 +#define C075 256 +#define poly_coeff9 320 +#define poly_coeff8 384 +#define poly_coeff7 448 +#define poly_coeff6 512 +#define poly_coeff5 576 +#define poly_coeff4 640 +#define poly_coeff3 704 +#define poly_coeff2 768 +#define L2 832 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_log1p_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovups One+__svml_dlog1p_data_internal_avx512(%rip), %zmm7 - vmovups SgnMask+__svml_dlog1p_data_internal_avx512(%rip), %zmm14 - vmovaps %zmm0, %zmm9 - vaddpd {rn-sae}, %zmm9, %zmm7, %zmm11 - vandpd %zmm14, %zmm9, %zmm8 - -/* compute 1+x as high, low parts */ - vmaxpd {sae}, %zmm9, %zmm7, %zmm10 - vminpd {sae}, %zmm9, %zmm7, %zmm12 - -/* GetMant(x), normalized to [1,2) for x>=0, NaN for x<0 */ - vgetmantpd $8, {sae}, %zmm11, %zmm6 - -/* GetExp(x) */ - vgetexppd {sae}, %zmm11, %zmm5 - vsubpd {rn-sae}, %zmm10, %zmm11, %zmm13 - -/* DblRcp ~ 1/Mantissa */ - vrcp14pd %zmm6, %zmm15 - -/* Start polynomial evaluation */ - vmovups poly_coeff9+__svml_dlog1p_data_internal_avx512(%rip), %zmm10 - vmovups poly_coeff7+__svml_dlog1p_data_internal_avx512(%rip), %zmm11 - -/* Xl */ - vsubpd {rn-sae}, %zmm13, %zmm12, %zmm2 - vxorpd %zmm14, %zmm5, %zmm3 - -/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ - vrndscalepd $88, {sae}, %zmm15, %zmm4 - vmovups poly_coeff5+__svml_dlog1p_data_internal_avx512(%rip), %zmm12 - vmovups poly_coeff6+__svml_dlog1p_data_internal_avx512(%rip), %zmm14 - vmovups poly_coeff3+__svml_dlog1p_data_internal_avx512(%rip), %zmm13 - -/* Xl*2^(-Expon) */ - vscalefpd {rn-sae}, %zmm3, %zmm2, %zmm1 - -/* Reduced argument: R = DblRcp*(Mantissa+Xl) - 1 */ - vfmsub213pd {rn-sae}, %zmm7, %zmm4, %zmm6 - vmovups __svml_dlog1p_data_internal_avx512(%rip), %zmm3 - -/* - * Table lookup - * Prepare exponent correction: DblRcp<0.75? - */ - vmovups C075+__svml_dlog1p_data_internal_avx512(%rip), %zmm2 - -/* Prepare table index */ - vpsrlq $48, %zmm4, %zmm0 - vfmadd231pd {rn-sae}, %zmm4, %zmm1, %zmm6 - vmovups poly_coeff8+__svml_dlog1p_data_internal_avx512(%rip), %zmm1 - vcmppd $17, {sae}, %zmm2, %zmm4, %k1 - vcmppd $4, {sae}, %zmm6, %zmm6, %k0 - vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1 - vmovups poly_coeff4+__svml_dlog1p_data_internal_avx512(%rip), %zmm10 - vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 - vmovups L2+__svml_dlog1p_data_internal_avx512(%rip), %zmm4 - vpermt2pd Log_tbl+64+__svml_dlog1p_data_internal_avx512(%rip), %zmm0, %zmm3 - -/* add 1 to Expon if DblRcp<0.75 */ - vaddpd {rn-sae}, %zmm7, %zmm5, %zmm5{%k1} - -/* R^2 */ - vmulpd {rn-sae}, %zmm6, %zmm6, %zmm0 - vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm10 - vmovups poly_coeff2+__svml_dlog1p_data_internal_avx512(%rip), %zmm12 - vmulpd {rn-sae}, %zmm0, %zmm0, %zmm15 - vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 - vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm1 - kmovw %k0, %edx - vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm10 - -/* polynomial */ - vfmadd213pd {rn-sae}, %zmm10, %zmm15, %zmm1 - vfmadd213pd {rn-sae}, %zmm6, %zmm0, %zmm1 - vaddpd {rn-sae}, %zmm1, %zmm3, %zmm6 - vfmadd213pd {rn-sae}, %zmm6, %zmm4, %zmm5 - vorpd %zmm8, %zmm5, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm9 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovups One+__svml_dlog1p_data_internal_avx512(%rip), %zmm7 + vmovups SgnMask+__svml_dlog1p_data_internal_avx512(%rip), %zmm14 + vmovaps %zmm0, %zmm9 + vaddpd {rn-sae}, %zmm9, %zmm7, %zmm11 + vandpd %zmm14, %zmm9, %zmm8 + + /* compute 1+x as high, low parts */ + vmaxpd {sae}, %zmm9, %zmm7, %zmm10 + vminpd {sae}, %zmm9, %zmm7, %zmm12 + + /* GetMant(x), normalized to [1, 2) for x>=0, NaN for x<0 */ + vgetmantpd $8, {sae}, %zmm11, %zmm6 + + /* GetExp(x) */ + vgetexppd {sae}, %zmm11, %zmm5 + vsubpd {rn-sae}, %zmm10, %zmm11, %zmm13 + + /* DblRcp ~ 1/Mantissa */ + vrcp14pd %zmm6, %zmm15 + + /* Start polynomial evaluation */ + vmovups poly_coeff9+__svml_dlog1p_data_internal_avx512(%rip), %zmm10 + vmovups poly_coeff7+__svml_dlog1p_data_internal_avx512(%rip), %zmm11 + + /* Xl */ + vsubpd {rn-sae}, %zmm13, %zmm12, %zmm2 + vxorpd %zmm14, %zmm5, %zmm3 + + /* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ + vrndscalepd $88, {sae}, %zmm15, %zmm4 + vmovups poly_coeff5+__svml_dlog1p_data_internal_avx512(%rip), %zmm12 + vmovups poly_coeff6+__svml_dlog1p_data_internal_avx512(%rip), %zmm14 + vmovups poly_coeff3+__svml_dlog1p_data_internal_avx512(%rip), %zmm13 + + /* Xl*2^(-Expon) */ + vscalefpd {rn-sae}, %zmm3, %zmm2, %zmm1 + + /* Reduced argument: R = DblRcp*(Mantissa+Xl) - 1 */ + vfmsub213pd {rn-sae}, %zmm7, %zmm4, %zmm6 + vmovups __svml_dlog1p_data_internal_avx512(%rip), %zmm3 + + /* + * Table lookup + * Prepare exponent correction: DblRcp<0.75? + */ + vmovups C075+__svml_dlog1p_data_internal_avx512(%rip), %zmm2 + + /* Prepare table index */ + vpsrlq $48, %zmm4, %zmm0 + vfmadd231pd {rn-sae}, %zmm4, %zmm1, %zmm6 + vmovups poly_coeff8+__svml_dlog1p_data_internal_avx512(%rip), %zmm1 + vcmppd $17, {sae}, %zmm2, %zmm4, %k1 + vcmppd $4, {sae}, %zmm6, %zmm6, %k0 + vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm1 + vmovups poly_coeff4+__svml_dlog1p_data_internal_avx512(%rip), %zmm10 + vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 + vmovups L2+__svml_dlog1p_data_internal_avx512(%rip), %zmm4 + vpermt2pd Log_tbl+64+__svml_dlog1p_data_internal_avx512(%rip), %zmm0, %zmm3 + + /* add 1 to Expon if DblRcp<0.75 */ + vaddpd {rn-sae}, %zmm7, %zmm5, %zmm5{%k1} + + /* R^2 */ + vmulpd {rn-sae}, %zmm6, %zmm6, %zmm0 + vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm10 + vmovups poly_coeff2+__svml_dlog1p_data_internal_avx512(%rip), %zmm12 + vmulpd {rn-sae}, %zmm0, %zmm0, %zmm15 + vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 + vfmadd213pd {rn-sae}, %zmm14, %zmm0, %zmm1 + kmovw %k0, %edx + vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm10 + + /* polynomial */ + vfmadd213pd {rn-sae}, %zmm10, %zmm15, %zmm1 + vfmadd213pd {rn-sae}, %zmm6, %zmm0, %zmm1 + vaddpd {rn-sae}, %zmm1, %zmm3, %zmm6 + vfmadd213pd {rn-sae}, %zmm6, %zmm4, %zmm5 + vorpd %zmm8, %zmm5, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm9 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm9, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm9, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call log1p@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call log1p@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_log1p_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dlog1p_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl[16][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 SgnMask[8][2]; - __declspec(align(64)) VUINT32 C075[8][2]; - __declspec(align(64)) VUINT32 poly_coeff9[8][2]; - __declspec(align(64)) VUINT32 poly_coeff8[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 L2[8][2]; - } __svml_dlog1p_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl[16][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 SgnMask[8][2]; + __declspec(align(64)) VUINT32 C075[8][2]; + __declspec(align(64)) VUINT32 poly_coeff9[8][2]; + __declspec(align(64)) VUINT32 poly_coeff8[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 L2[8][2]; +} __svml_dlog1p_data_internal_avx512; #endif __svml_dlog1p_data_internal_avx512: - /*== Log_tbl ==*/ - .quad 0x0000000000000000 - .quad 0xbfaf0a30c01162a6 - .quad 0xbfbe27076e2af2e6 - .quad 0xbfc5ff3070a793d4 - .quad 0xbfcc8ff7c79a9a22 - .quad 0xbfd1675cababa60e - .quad 0xbfd4618bc21c5ec2 - .quad 0xbfd739d7f6bbd007 - .quad 0x3fd269621134db92 - .quad 0x3fcf991c6cb3b379 - .quad 0x3fca93ed3c8ad9e3 - .quad 0x3fc5bf406b543db2 - .quad 0x3fc1178e8227e47c - .quad 0x3fb9335e5d594989 - .quad 0x3fb08598b59e3a07 - .quad 0x3fa0415d89e74444 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== SgnMask ==*/ - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 - /*== C075 0.75 ==*/ - .align 64 - .quad 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000 - /*== poly_coeff9 ==*/ - .align 64 - .quad 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70 - /*== poly_coeff8 ==*/ - .align 64 - .quad 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62 - /*== poly_coeff7 ==*/ - .align 64 - .quad 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF - /*== poly_coeff6 ==*/ - .align 64 - .quad 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06 - /*== poly_coeff5 ==*/ - .align 64 - .quad 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C - /*== poly_coeff4 ==*/ - .align 64 - .quad 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD - /*== poly_coeff3 ==*/ - .align 64 - .quad 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466 - /*== poly_coeff2 ==*/ - .align 64 - .quad 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6 - /*== L2 = log(2) ==*/ - .align 64 - .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF - .align 64 - .type __svml_dlog1p_data_internal_avx512,@object - .size __svml_dlog1p_data_internal_avx512,.-__svml_dlog1p_data_internal_avx512 + /* Log_tbl */ + .quad 0x0000000000000000 + .quad 0xbfaf0a30c01162a6 + .quad 0xbfbe27076e2af2e6 + .quad 0xbfc5ff3070a793d4 + .quad 0xbfcc8ff7c79a9a22 + .quad 0xbfd1675cababa60e + .quad 0xbfd4618bc21c5ec2 + .quad 0xbfd739d7f6bbd007 + .quad 0x3fd269621134db92 + .quad 0x3fcf991c6cb3b379 + .quad 0x3fca93ed3c8ad9e3 + .quad 0x3fc5bf406b543db2 + .quad 0x3fc1178e8227e47c + .quad 0x3fb9335e5d594989 + .quad 0x3fb08598b59e3a07 + .quad 0x3fa0415d89e74444 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* SgnMask */ + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 + /* C075 0.75 */ + .align 64 + .quad 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000 + /* poly_coeff9 */ + .align 64 + .quad 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70, 0x3fbC81CD309D7C70 + /* poly_coeff8 */ + .align 64 + .quad 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62, 0xbfc007357E93AF62 + /* poly_coeff7 */ + .align 64 + .quad 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF, 0x3fc249229CEE81EF + /* poly_coeff6 */ + .align 64 + .quad 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06, 0xbfc55553FB28DB06 + /* poly_coeff5 */ + .align 64 + .quad 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C, 0x3fc9999999CC9F5C + /* poly_coeff4 */ + .align 64 + .quad 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD, 0xbfd00000000C05BD + /* poly_coeff3 */ + .align 64 + .quad 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466, 0x3fd5555555555466 + /* poly_coeff2 */ + .align 64 + .quad 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6, 0xbfdFFFFFFFFFFFC6 + /* L2 = log(2) */ + .align 64 + .quad 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF, 0x3fe62E42FEFA39EF + .align 64 + .type __svml_dlog1p_data_internal_avx512, @object + .size __svml_dlog1p_data_internal_avx512, .-__svml_dlog1p_data_internal_avx512 From patchwork Mon Mar 7 15:01:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602404 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=itapFxHI; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3sr6sHsz9sFt for ; Tue, 8 Mar 2022 03:33:04 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2F6CE3857C5F for ; Mon, 7 Mar 2022 16:33:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2F6CE3857C5F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670782; bh=10iQzV6D6lqbqhv7cDj4LPgMHR0AsIGQ7L7+xM3NXRs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=itapFxHIQoZm2/xDNFl4b2bBEWH1uMyM/OAhbdUC2m25xFTSpqKalbV5rXnHb55oM eIqRZaYML3uncJuIPVIEJ6Eyp+S+oxOl6t5rjSfNnAWiFaGpgcfFKAt04kDYnQ4pFX 64MLXbBBd62fjpwcj/y7IeIVVZI//XjRgH+PKLQc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id C691D3858004 for ; Mon, 7 Mar 2022 15:03:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C691D3858004 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364161" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364161" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274109" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fH016772; Mon, 7 Mar 2022 07:02:09 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 103/126] x86_64: Fix svml_s_log2f16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:38 -0800 Message-Id: <20220307150201.10590-104-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_log2f16_core_avx512.S | 347 +++++++++--------- 1 file changed, 173 insertions(+), 174 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S index bf58c6bcf7..3b0a28fee0 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f16_core_avx512.S @@ -29,203 +29,202 @@ /* Offsets for data table __svml_slog2_data_internal_avx512 */ -#define One 0 -#define coeff4 64 -#define coeff3 128 -#define coeff2 192 -#define coeff1 256 +#define One 0 +#define coeff4 64 +#define coeff3 128 +#define coeff2 192 +#define coeff1 256 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_log2f_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vgetmantps $11, {sae}, %zmm0, %zmm3 - vmovups __svml_slog2_data_internal_avx512(%rip), %zmm1 - vgetexpps {sae}, %zmm0, %zmm5 - -/* x<=0? */ - vfpclassps $94, %zmm0, %k0 - vsubps {rn-sae}, %zmm1, %zmm3, %zmm9 - vpsrld $19, %zmm3, %zmm7 - vgetexpps {sae}, %zmm3, %zmm6 - vpermps coeff4+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm1 - vpermps coeff3+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm2 - vpermps coeff2+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm4 - vpermps coeff1+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm8 - vsubps {rn-sae}, %zmm6, %zmm5, %zmm10 - vfmadd213ps {rn-sae}, %zmm2, %zmm9, %zmm1 - kmovw %k0, %edx - vfmadd213ps {rn-sae}, %zmm4, %zmm9, %zmm1 - vfmadd213ps {rn-sae}, %zmm8, %zmm9, %zmm1 - vfmadd213ps {rn-sae}, %zmm10, %zmm9, %zmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vgetmantps $11, {sae}, %zmm0, %zmm3 + vmovups __svml_slog2_data_internal_avx512(%rip), %zmm1 + vgetexpps {sae}, %zmm0, %zmm5 + + /* x<=0? */ + vfpclassps $94, %zmm0, %k0 + vsubps {rn-sae}, %zmm1, %zmm3, %zmm9 + vpsrld $19, %zmm3, %zmm7 + vgetexpps {sae}, %zmm3, %zmm6 + vpermps coeff4+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm1 + vpermps coeff3+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm2 + vpermps coeff2+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm4 + vpermps coeff1+__svml_slog2_data_internal_avx512(%rip), %zmm7, %zmm8 + vsubps {rn-sae}, %zmm6, %zmm5, %zmm10 + vfmadd213ps {rn-sae}, %zmm2, %zmm9, %zmm1 + kmovw %k0, %edx + vfmadd213ps {rn-sae}, %zmm4, %zmm9, %zmm1 + vfmadd213ps {rn-sae}, %zmm8, %zmm9, %zmm1 + vfmadd213ps {rn-sae}, %zmm10, %zmm9, %zmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %zmm1, %zmm0 - 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 - */ + vmovaps %zmm1, %zmm0 + 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): - vmovups %zmm0, 64(%rsp) - vmovups %zmm1, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm0, 64(%rsp) + vmovups %zmm1, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm1 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm1 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call log2f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call log2f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_log2f_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_slog2_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 One[16][1]; - __declspec(align(64)) VUINT32 coeff4[16][1]; - __declspec(align(64)) VUINT32 coeff3[16][1]; - __declspec(align(64)) VUINT32 coeff2[16][1]; - __declspec(align(64)) VUINT32 coeff1[16][1]; - } __svml_slog2_data_internal_avx512; + __declspec(align(64)) VUINT32 One[16][1]; + __declspec(align(64)) VUINT32 coeff4[16][1]; + __declspec(align(64)) VUINT32 coeff3[16][1]; + __declspec(align(64)) VUINT32 coeff2[16][1]; + __declspec(align(64)) VUINT32 coeff1[16][1]; +} __svml_slog2_data_internal_avx512; #endif __svml_slog2_data_internal_avx512: - /*== One ==*/ - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - // c4 - .align 64 - .long 0xbea77e4a, 0xbe8aae3d - .long 0xbe67fe32, 0xbe43d1b6 - .long 0xbe26a589, 0xbe0ee09b - .long 0xbdf6a8a1, 0xbdd63b49 - .long 0xbf584e51, 0xbf3e80a1 - .long 0xbf2892f0, 0xbf15d377 - .long 0xbf05b525, 0xbeef8e30 - .long 0xbed75c8f, 0xbec24184 - // c3 - .align 64 - .long 0x3ef5910c, 0x3ef045a1 - .long 0x3ee7d87e, 0x3eddbb84 - .long 0x3ed2d6df, 0x3ec7bbd2 - .long 0x3ebcc42f, 0x3eb22616 - .long 0x3e8f3399, 0x3eb1223e - .long 0x3ec9db4a, 0x3edb7a09 - .long 0x3ee79a1a, 0x3eef77cb - .long 0x3ef407a4, 0x3ef607b4 - // c2 - .align 64 - .long 0xbf38a934, 0xbf387de6 - .long 0xbf37f6f0, 0xbf37048b - .long 0xbf35a88a, 0xbf33ed04 - .long 0xbf31df56, 0xbf2f8d82 - .long 0xbf416814, 0xbf3daf58 - .long 0xbf3b5c08, 0xbf39fa2a - .long 0xbf393713, 0xbf38d7e1 - .long 0xbf38b2cd, 0xbf38aa62 - // c1 - .align 64 - .long 0x3fb8aa3b, 0x3fb8a9c0 - .long 0x3fb8a6e8, 0x3fb89f4e - .long 0x3fb890cb, 0x3fb879b1 - .long 0x3fb858d8, 0x3fb82d90 - .long 0x3fb8655e, 0x3fb8883a - .long 0x3fb89aea, 0x3fb8a42f - .long 0x3fb8a848, 0x3fb8a9c9 - .long 0x3fb8aa2f, 0x3fb8aa3b - .align 64 - .type __svml_slog2_data_internal_avx512,@object - .size __svml_slog2_data_internal_avx512,.-__svml_slog2_data_internal_avx512 + /* One */ + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + // c4 + .align 64 + .long 0xbea77e4a, 0xbe8aae3d + .long 0xbe67fe32, 0xbe43d1b6 + .long 0xbe26a589, 0xbe0ee09b + .long 0xbdf6a8a1, 0xbdd63b49 + .long 0xbf584e51, 0xbf3e80a1 + .long 0xbf2892f0, 0xbf15d377 + .long 0xbf05b525, 0xbeef8e30 + .long 0xbed75c8f, 0xbec24184 + // c3 + .align 64 + .long 0x3ef5910c, 0x3ef045a1 + .long 0x3ee7d87e, 0x3eddbb84 + .long 0x3ed2d6df, 0x3ec7bbd2 + .long 0x3ebcc42f, 0x3eb22616 + .long 0x3e8f3399, 0x3eb1223e + .long 0x3ec9db4a, 0x3edb7a09 + .long 0x3ee79a1a, 0x3eef77cb + .long 0x3ef407a4, 0x3ef607b4 + // c2 + .align 64 + .long 0xbf38a934, 0xbf387de6 + .long 0xbf37f6f0, 0xbf37048b + .long 0xbf35a88a, 0xbf33ed04 + .long 0xbf31df56, 0xbf2f8d82 + .long 0xbf416814, 0xbf3daf58 + .long 0xbf3b5c08, 0xbf39fa2a + .long 0xbf393713, 0xbf38d7e1 + .long 0xbf38b2cd, 0xbf38aa62 + // c1 + .align 64 + .long 0x3fb8aa3b, 0x3fb8a9c0 + .long 0x3fb8a6e8, 0x3fb89f4e + .long 0x3fb890cb, 0x3fb879b1 + .long 0x3fb858d8, 0x3fb82d90 + .long 0x3fb8655e, 0x3fb8883a + .long 0x3fb89aea, 0x3fb8a42f + .long 0x3fb8a848, 0x3fb8a9c9 + .long 0x3fb8aa2f, 0x3fb8aa3b + .align 64 + .type __svml_slog2_data_internal_avx512, @object + .size __svml_slog2_data_internal_avx512, .-__svml_slog2_data_internal_avx512 From patchwork Mon Mar 7 15:01:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602405 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=rqXh19q4; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3tf6s94z9sFt for ; Tue, 8 Mar 2022 03:33:46 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8DE0C3857C51 for ; Mon, 7 Mar 2022 16:33:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8DE0C3857C51 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670824; bh=Dev8aaPJNL0tnvw5ivwHCDBvtLVHvrh6p+sblMIdjUs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=rqXh19q42sI7oterQgxz+Lp/uZQYTi+49mkxiSMg4esxJEm2palF38Gj5v8TyiFv2 LUdmrv/3vk/733qxTNCMt+AnbIFtgVKbbpVa7NjuImH97w5t+JhV8EeXiEkcJ7gYWp 10nPZCHOvSYDmSwBxcEryFeWQlNz5EoW8scQctao= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 3E3583858003 for ; Mon, 7 Mar 2022 15:03:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3E3583858003 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017283" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017283" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526501" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fI016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 104/126] x86_64: Fix svml_s_log2f4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:39 -0800 Message-Id: <20220307150201.10590-105-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_log2f4_core_sse4.S | 329 +++++++++--------- 1 file changed, 164 insertions(+), 165 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S index 6d3de152a4..bc6a778b75 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f4_core_sse4.S @@ -29,195 +29,194 @@ /* Offsets for data table __svml_slog2_data_internal */ -#define MinNorm 0 -#define MaxNorm 16 -#define iBrkValue 32 -#define iOffExpoMask 48 -#define One 64 -#define sPoly 80 +#define MinNorm 0 +#define MaxNorm 16 +#define iBrkValue 32 +#define iOffExpoMask 48 +#define One 64 +#define sPoly 80 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_log2f_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm1 - -/* reduction: compute r,n */ - movdqu iBrkValue+__svml_slog2_data_internal(%rip), %xmm2 - movaps %xmm0, %xmm4 - movdqu iOffExpoMask+__svml_slog2_data_internal(%rip), %xmm10 - psubd %xmm2, %xmm1 - pand %xmm1, %xmm10 - movaps %xmm0, %xmm3 - paddd %xmm2, %xmm10 - psrad $23, %xmm1 - movups sPoly+__svml_slog2_data_internal(%rip), %xmm5 - movups sPoly+32+__svml_slog2_data_internal(%rip), %xmm6 - movups sPoly+64+__svml_slog2_data_internal(%rip), %xmm7 - movups sPoly+96+__svml_slog2_data_internal(%rip), %xmm9 - cmpltps MinNorm+__svml_slog2_data_internal(%rip), %xmm4 - cmpnleps MaxNorm+__svml_slog2_data_internal(%rip), %xmm3 - cvtdq2ps %xmm1, %xmm1 - subps One+__svml_slog2_data_internal(%rip), %xmm10 - mulps %xmm10, %xmm5 - movaps %xmm10, %xmm8 - mulps %xmm10, %xmm6 - mulps %xmm10, %xmm8 - addps sPoly+16+__svml_slog2_data_internal(%rip), %xmm5 - mulps %xmm10, %xmm7 - addps sPoly+48+__svml_slog2_data_internal(%rip), %xmm6 - mulps %xmm10, %xmm9 - mulps %xmm8, %xmm5 - addps sPoly+80+__svml_slog2_data_internal(%rip), %xmm7 - addps sPoly+112+__svml_slog2_data_internal(%rip), %xmm9 - addps %xmm5, %xmm6 - mulps %xmm8, %xmm6 - orps %xmm3, %xmm4 - -/* combine and get argument value range mask */ - movmskps %xmm4, %edx - addps %xmm6, %xmm7 - mulps %xmm7, %xmm8 - addps %xmm8, %xmm9 - mulps %xmm10, %xmm9 - addps sPoly+128+__svml_slog2_data_internal(%rip), %xmm9 - mulps %xmm9, %xmm10 - addps %xmm10, %xmm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm1 + + /* reduction: compute r, n */ + movdqu iBrkValue+__svml_slog2_data_internal(%rip), %xmm2 + movaps %xmm0, %xmm4 + movdqu iOffExpoMask+__svml_slog2_data_internal(%rip), %xmm10 + psubd %xmm2, %xmm1 + pand %xmm1, %xmm10 + movaps %xmm0, %xmm3 + paddd %xmm2, %xmm10 + psrad $23, %xmm1 + movups sPoly+__svml_slog2_data_internal(%rip), %xmm5 + movups sPoly+32+__svml_slog2_data_internal(%rip), %xmm6 + movups sPoly+64+__svml_slog2_data_internal(%rip), %xmm7 + movups sPoly+96+__svml_slog2_data_internal(%rip), %xmm9 + cmpltps MinNorm+__svml_slog2_data_internal(%rip), %xmm4 + cmpnleps MaxNorm+__svml_slog2_data_internal(%rip), %xmm3 + cvtdq2ps %xmm1, %xmm1 + subps One+__svml_slog2_data_internal(%rip), %xmm10 + mulps %xmm10, %xmm5 + movaps %xmm10, %xmm8 + mulps %xmm10, %xmm6 + mulps %xmm10, %xmm8 + addps sPoly+16+__svml_slog2_data_internal(%rip), %xmm5 + mulps %xmm10, %xmm7 + addps sPoly+48+__svml_slog2_data_internal(%rip), %xmm6 + mulps %xmm10, %xmm9 + mulps %xmm8, %xmm5 + addps sPoly+80+__svml_slog2_data_internal(%rip), %xmm7 + addps sPoly+112+__svml_slog2_data_internal(%rip), %xmm9 + addps %xmm5, %xmm6 + mulps %xmm8, %xmm6 + orps %xmm3, %xmm4 + + /* combine and get argument value range mask */ + movmskps %xmm4, %edx + addps %xmm6, %xmm7 + mulps %xmm7, %xmm8 + addps %xmm8, %xmm9 + mulps %xmm10, %xmm9 + addps sPoly+128+__svml_slog2_data_internal(%rip), %xmm9 + mulps %xmm9, %xmm10 + addps %xmm10, %xmm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm1, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm1, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm1, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm1, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm1 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm1 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call log2f@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call log2f@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_log2f_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_slog2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(16)) VUINT32 MinNorm[4][1]; - __declspec(align(16)) VUINT32 MaxNorm[4][1]; - __declspec(align(16)) VUINT32 iBrkValue[4][1]; - __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; - __declspec(align(16)) VUINT32 One[4][1]; - __declspec(align(16)) VUINT32 sPoly[9][4][1]; + __declspec(align(16)) VUINT32 MinNorm[4][1]; + __declspec(align(16)) VUINT32 MaxNorm[4][1]; + __declspec(align(16)) VUINT32 iBrkValue[4][1]; + __declspec(align(16)) VUINT32 iOffExpoMask[4][1]; + __declspec(align(16)) VUINT32 One[4][1]; + __declspec(align(16)) VUINT32 sPoly[9][4][1]; } __svml_slog2_data_internal; #endif __svml_slog2_data_internal: - /*== MinNorm ==*/ - .long 0x00800000, 0x00800000, 0x00800000, 0x00800000 - /*== MaxNorm ==*/ - .align 16 - .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff - /*== iBrkValue = SP 2/3 ==*/ - .align 16 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 16 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sOne = SP 1.0 ==*/ - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== spoly[9] ==*/ - .align 16 - .long 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012 /* coeff9 */ - .long 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14 /* coeff8 */ - .long 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B /* coeff7 */ - .long 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824 /* coeff6 */ - .long 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07 /* coeff5 */ - .long 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969 /* coeff4 */ - .long 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0 /* coeff3 */ - .long 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B /* coeff2 */ - .long 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B /* coeff1 */ - .align 16 - .type __svml_slog2_data_internal,@object - .size __svml_slog2_data_internal,.-__svml_slog2_data_internal + /* MinNorm */ + .long 0x00800000, 0x00800000, 0x00800000, 0x00800000 + /* MaxNorm */ + .align 16 + .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff + /* iBrkValue = SP 2/3 */ + .align 16 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 16 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sOne = SP 1.0 */ + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* spoly[9] */ + .align 16 + .long 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012 /* coeff9 */ + .long 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14 /* coeff8 */ + .long 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B /* coeff7 */ + .long 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824 /* coeff6 */ + .long 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07 /* coeff5 */ + .long 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969 /* coeff4 */ + .long 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0 /* coeff3 */ + .long 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B /* coeff2 */ + .long 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B /* coeff1 */ + .align 16 + .type __svml_slog2_data_internal, @object + .size __svml_slog2_data_internal, .-__svml_slog2_data_internal From patchwork Mon Mar 7 15:01:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602301 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=DdUtg0WK; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2kF5trlz9sFk for ; Tue, 8 Mar 2022 02:41:25 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 590363858428 for ; Mon, 7 Mar 2022 15:41:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 590363858428 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667683; bh=I4QIP9bmezcy0jfuJfPj0+wR+9DmgdXfctugyEhbW4c=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=DdUtg0WKvwurVaYFD5OR1m5caVOs1LctKas4Z5Ajavszk6hEcsbHO834n3hlqem1H 6JoHb14wyEHuV6uHnw6qBis6Iee0zujRY4ghQvl2bqBU4gYSGu4vn4ZEWlZ7pT53ZS 3O7+pK0CzMRnczKS3BoBrrDPyWpX0VYguppdGS40= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 6E88A3858418 for ; Mon, 7 Mar 2022 15:02:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6E88A3858418 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="317640473" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="317640473" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="495085307" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga003.jf.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fJ016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 105/126] x86_64: Fix svml_s_log2f8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:40 -0800 Message-Id: <20220307150201.10590-106-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_log2f8_core_avx2.S | 335 +++++++++--------- 1 file changed, 167 insertions(+), 168 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S index 968f3809d0..eaa5112178 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_log2f8_core_avx2.S @@ -29,198 +29,197 @@ /* Offsets for data table __svml_slog2_data_internal */ -#define MinNorm 0 -#define MaxNorm 32 -#define iBrkValue 64 -#define iOffExpoMask 96 -#define One 128 -#define sPoly 160 +#define MinNorm 0 +#define MaxNorm 32 +#define iBrkValue 64 +#define iOffExpoMask 96 +#define One 128 +#define sPoly 160 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_log2f_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - -/* reduction: compute r,n */ - vmovups iBrkValue+__svml_slog2_data_internal(%rip), %ymm4 - vmovups sPoly+64+__svml_slog2_data_internal(%rip), %ymm9 - vmovups sPoly+128+__svml_slog2_data_internal(%rip), %ymm10 - vmovups sPoly+192+__svml_slog2_data_internal(%rip), %ymm12 - vpsubd %ymm4, %ymm0, %ymm1 - vcmplt_oqps MinNorm+__svml_slog2_data_internal(%rip), %ymm0, %ymm5 - vcmpnle_uqps MaxNorm+__svml_slog2_data_internal(%rip), %ymm0, %ymm6 - vpand iOffExpoMask+__svml_slog2_data_internal(%rip), %ymm1, %ymm3 - vpsrad $23, %ymm1, %ymm2 - vmovups sPoly+__svml_slog2_data_internal(%rip), %ymm1 - vpaddd %ymm4, %ymm3, %ymm8 - vcvtdq2ps %ymm2, %ymm14 - vsubps One+__svml_slog2_data_internal(%rip), %ymm8, %ymm13 - vfmadd213ps sPoly+32+__svml_slog2_data_internal(%rip), %ymm13, %ymm1 - vfmadd213ps sPoly+96+__svml_slog2_data_internal(%rip), %ymm13, %ymm9 - vmulps %ymm13, %ymm13, %ymm11 - vfmadd213ps sPoly+160+__svml_slog2_data_internal(%rip), %ymm13, %ymm10 - vfmadd213ps sPoly+224+__svml_slog2_data_internal(%rip), %ymm13, %ymm12 - vfmadd213ps %ymm9, %ymm11, %ymm1 - vfmadd213ps %ymm10, %ymm11, %ymm1 - vfmadd213ps %ymm12, %ymm11, %ymm1 - vfmadd213ps sPoly+256+__svml_slog2_data_internal(%rip), %ymm13, %ymm1 - vorps %ymm6, %ymm5, %ymm7 - -/* combine and get argument value range mask */ - vmovmskps %ymm7, %edx - vfmadd213ps %ymm14, %ymm13, %ymm1 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + + /* reduction: compute r, n */ + vmovups iBrkValue+__svml_slog2_data_internal(%rip), %ymm4 + vmovups sPoly+64+__svml_slog2_data_internal(%rip), %ymm9 + vmovups sPoly+128+__svml_slog2_data_internal(%rip), %ymm10 + vmovups sPoly+192+__svml_slog2_data_internal(%rip), %ymm12 + vpsubd %ymm4, %ymm0, %ymm1 + vcmplt_oqps MinNorm+__svml_slog2_data_internal(%rip), %ymm0, %ymm5 + vcmpnle_uqps MaxNorm+__svml_slog2_data_internal(%rip), %ymm0, %ymm6 + vpand iOffExpoMask+__svml_slog2_data_internal(%rip), %ymm1, %ymm3 + vpsrad $23, %ymm1, %ymm2 + vmovups sPoly+__svml_slog2_data_internal(%rip), %ymm1 + vpaddd %ymm4, %ymm3, %ymm8 + vcvtdq2ps %ymm2, %ymm14 + vsubps One+__svml_slog2_data_internal(%rip), %ymm8, %ymm13 + vfmadd213ps sPoly+32+__svml_slog2_data_internal(%rip), %ymm13, %ymm1 + vfmadd213ps sPoly+96+__svml_slog2_data_internal(%rip), %ymm13, %ymm9 + vmulps %ymm13, %ymm13, %ymm11 + vfmadd213ps sPoly+160+__svml_slog2_data_internal(%rip), %ymm13, %ymm10 + vfmadd213ps sPoly+224+__svml_slog2_data_internal(%rip), %ymm13, %ymm12 + vfmadd213ps %ymm9, %ymm11, %ymm1 + vfmadd213ps %ymm10, %ymm11, %ymm1 + vfmadd213ps %ymm12, %ymm11, %ymm1 + vfmadd213ps sPoly+256+__svml_slog2_data_internal(%rip), %ymm13, %ymm1 + vorps %ymm6, %ymm5, %ymm7 + + /* combine and get argument value range mask */ + vmovmskps %ymm7, %edx + vfmadd213ps %ymm14, %ymm13, %ymm1 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm1 + + /* Restore registers + * and exit the function + */ L(EXIT): - vmovaps %ymm1, %ymm0 - 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 - */ + vmovaps %ymm1, %ymm0 + 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): - vmovups %ymm0, 32(%rsp) - vmovups %ymm1, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm1 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm0, 32(%rsp) + vmovups %ymm1, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm1 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm1 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm1 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm1 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm1 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call log2f@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call log2f@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_log2f_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_slog2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 MinNorm[8][1]; - __declspec(align(32)) VUINT32 MaxNorm[8][1]; - __declspec(align(32)) VUINT32 iBrkValue[8][1]; - __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; - __declspec(align(32)) VUINT32 One[8][1]; - __declspec(align(32)) VUINT32 sPoly[9][8][1]; + __declspec(align(32)) VUINT32 MinNorm[8][1]; + __declspec(align(32)) VUINT32 MaxNorm[8][1]; + __declspec(align(32)) VUINT32 iBrkValue[8][1]; + __declspec(align(32)) VUINT32 iOffExpoMask[8][1]; + __declspec(align(32)) VUINT32 One[8][1]; + __declspec(align(32)) VUINT32 sPoly[9][8][1]; } __svml_slog2_data_internal; #endif __svml_slog2_data_internal: - /*== MinNorm ==*/ - .long 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000 - /*== MaxNorm ==*/ - .align 32 - .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff - /*== iBrkValue = SP 2/3 ==*/ - .align 32 - .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab - /*== iOffExpoMask = SP significand mask ==*/ - .align 32 - .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff - /*== sOne = SP 1.0 ==*/ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 - /*== spoly[9] ==*/ - .align 32 - .long 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012 /* coeff9 */ - .long 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14 /* coeff8 */ - .long 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B /* coeff7 */ - .long 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824 /* coeff6 */ - .long 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07 /* coeff5 */ - .long 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969 /* coeff4 */ - .long 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0 /* coeff3 */ - .long 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B /* coeff2 */ - .long 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B /* coeff1 */ - .align 32 - .type __svml_slog2_data_internal,@object - .size __svml_slog2_data_internal,.-__svml_slog2_data_internal + /* MinNorm */ + .long 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000 + /* MaxNorm */ + .align 32 + .long 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff, 0x7f7fffff + /* iBrkValue = SP 2/3 */ + .align 32 + .long 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab, 0x3f2aaaab + /* iOffExpoMask = SP significand mask */ + .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + /* sOne = SP 1.0 */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + /* spoly[9] */ + .align 32 + .long 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012, 0x3e554012 /* coeff9 */ + .long 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14, 0xbe638E14 /* coeff8 */ + .long 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B, 0x3e4D660B /* coeff7 */ + .long 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824, 0xbe727824 /* coeff6 */ + .long 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07, 0x3e93DD07 /* coeff5 */ + .long 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969, 0xbeB8B969 /* coeff4 */ + .long 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0, 0x3eF637C0 /* coeff3 */ + .long 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B, 0xbf38AA2B /* coeff2 */ + .long 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B, 0x3fB8AA3B /* coeff1 */ + .align 32 + .type __svml_slog2_data_internal, @object + .size __svml_slog2_data_internal, .-__svml_slog2_data_internal From patchwork Mon Mar 7 15:01:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602406 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=gxlpkuoq; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3vX2tcBz9sFt for ; Tue, 8 Mar 2022 03:34:32 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1F0693858036 for ; Mon, 7 Mar 2022 16:34:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1F0693858036 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670870; bh=aN6YS9du6yWYIQhhUmUamTXL1lwV9ZTO4AOTc0IWUhc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=gxlpkuoqL1ufoVePPzHE5uTOV86XFSQYKSo+7WI+pnsVJIXwm2xtFrut9liVN2nlo Bx430hheTXN6tKpulPNVl4kFHlvLqk5fANaAuTgx0kzar+CUPf7hIPUmL9AMMyADQL bpZJCUuxJm1x3Yul6/hlaZfd7nLdm9qgnBFwEE0k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 9E093385842F for ; Mon, 7 Mar 2022 15:03:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9E093385842F X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017285" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017285" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="546915111" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga007.fm.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fK016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 106/126] x86_64: Fix svml_d_log22_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:41 -0800 Message-Id: <20220307150201.10590-107-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log22_core_sse4.S | 2511 ++++++++--------- 1 file changed, 1255 insertions(+), 1256 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S index a19c8a3257..718967bf99 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log22_core_sse4.S @@ -29,1311 +29,1310 @@ /* 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 +#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 +#define Table_Lookup_Bias -0x405ff0 #include - .text - .section .text.sse4,"ax",@progbits + .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 + 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 + /* 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 + /* 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 + /* 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 + /* 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 + /* 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 + /* 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 + /* 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 + /* + * 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 + /* 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 + /* 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 + /* 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 + /* 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 + /* 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 - */ + /* 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) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm3, 48(%rsp) - # LOE rbx r12 r13 r14 r15 edx + 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 + 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 - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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 + 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 + /* 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 fucntion call - * to process special input - */ + /* Scalar math fucntion 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 + 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) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVbN2v_log2_sse4) - .section .rodata, "a" - .align 16 + .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]; + __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 + /* 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 + .long 0x00000000, 0x43380000, 0x00000000, 0x43380000 + .type .FLT_11, @object + .size .FLT_11, 16 From patchwork Mon Mar 7 15:01:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602360 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=bCmFIMOK; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Bt3pTCz9sFt for ; Tue, 8 Mar 2022 03:02:46 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2B1B83858412 for ; Mon, 7 Mar 2022 16:02:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B1B83858412 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668964; bh=blHXxLCsfIa/zvTI7CJAbOUxP+2o9l7CnKpKmFbRmNw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=bCmFIMOKVOkcC222XETri7l/dw9mUEwfCDbhmnqaDnjaCvBg0AUbtK6f1MMiGZMI8 9B3mxPRjbCJBNLI8wuYXul6uFAyO9wjnjhn4x7YkcFEu6gxqZK0krMKFf3yBbeHoxW yI1f3mM9pBSbS68CzqqahqRGXgCxmw/JVFV5U8xo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id 93CDC3858424 for ; Mon, 7 Mar 2022 15:02:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 93CDC3858424 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="340842253" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="340842253" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081860" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fL016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 107/126] x86_64: Fix svml_d_log24_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:42 -0800 Message-Id: <20220307150201.10590-108-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log24_core_avx2.S | 2483 ++++++++--------- 1 file changed, 1241 insertions(+), 1242 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S index 6b24449edf..25d2edaae5 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log24_core_avx2.S @@ -29,1296 +29,1295 @@ /* Offsets for data table __svml_dlog2_data_internal */ -#define Log_HA_table 0 -#define Log_LA_table 8224 -#define poly_coeff 12352 -#define ExpMask 12512 -#define Two10 12544 -#define MinNorm 12576 -#define MaxNorm 12608 -#define HalfMask 12640 -#define One 12672 -#define Threshold 12704 -#define Bias 12736 -#define Bias1 12768 +#define Log_HA_table 0 +#define Log_LA_table 8224 +#define poly_coeff 12352 +#define ExpMask 12512 +#define Two10 12544 +#define MinNorm 12576 +#define MaxNorm 12608 +#define HalfMask 12640 +#define One 12672 +#define Threshold 12704 +#define Bias 12736 +#define Bias1 12768 /* Lookup bias for data table __svml_dlog2_data_internal. */ -#define Table_Lookup_Bias -0x405fe0 +#define Table_Lookup_Bias -0x405fe0 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_log2_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea Table_Lookup_Bias+__svml_dlog2_data_internal(%rip), %r8 - vmovapd %ymm0, %ymm3 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea Table_Lookup_Bias+__svml_dlog2_data_internal(%rip), %r8 + vmovapd %ymm0, %ymm3 -/* preserve mantissa, set input exponent to 2^(-10) */ - vandpd ExpMask+__svml_dlog2_data_internal(%rip), %ymm3, %ymm4 - vorpd Two10+__svml_dlog2_data_internal(%rip), %ymm4, %ymm2 + /* preserve mantissa, set input exponent to 2^(-10) */ + vandpd ExpMask+__svml_dlog2_data_internal(%rip), %ymm3, %ymm4 + vorpd Two10+__svml_dlog2_data_internal(%rip), %ymm4, %ymm2 -/* reciprocal approximation good to at least 11 bits */ - vcvtpd2ps %ymm2, %xmm5 + /* reciprocal approximation good to at least 11 bits */ + vcvtpd2ps %ymm2, %xmm5 -/* exponent bits */ - vpsrlq $20, %ymm3, %ymm7 - vmovupd One+__svml_dlog2_data_internal(%rip), %ymm14 - vrcpps %xmm5, %xmm6 + /* exponent bits */ + vpsrlq $20, %ymm3, %ymm7 + vmovupd One+__svml_dlog2_data_internal(%rip), %ymm14 + vrcpps %xmm5, %xmm6 -/* check range */ - vcmplt_oqpd MinNorm+__svml_dlog2_data_internal(%rip), %ymm3, %ymm11 - vcmpnle_uqpd MaxNorm+__svml_dlog2_data_internal(%rip), %ymm3, %ymm12 - vcvtps2pd %xmm6, %ymm9 + /* check range */ + vcmplt_oqpd MinNorm+__svml_dlog2_data_internal(%rip), %ymm3, %ymm11 + vcmpnle_uqpd MaxNorm+__svml_dlog2_data_internal(%rip), %ymm3, %ymm12 + vcvtps2pd %xmm6, %ymm9 -/* round reciprocal to nearest integer, will have 1+9 mantissa bits */ - vroundpd $0, %ymm9, %ymm1 + /* round reciprocal to nearest integer, will have 1+9 mantissa bits */ + vroundpd $0, %ymm9, %ymm1 -/* exponent */ - vmovupd Threshold+__svml_dlog2_data_internal(%rip), %ymm9 + /* exponent */ + vmovupd Threshold+__svml_dlog2_data_internal(%rip), %ymm9 -/* - * prepare table index - * table lookup - */ - vpsrlq $40, %ymm1, %ymm15 + /* + * prepare table index + * table lookup + */ + vpsrlq $40, %ymm1, %ymm15 -/* argument reduction */ - vfmsub213pd %ymm14, %ymm1, %ymm2 + /* argument reduction */ + vfmsub213pd %ymm14, %ymm1, %ymm2 -/* polynomial */ - vmovupd poly_coeff+__svml_dlog2_data_internal(%rip), %ymm14 - vcmplt_oqpd %ymm1, %ymm9, %ymm1 - vfmadd213pd poly_coeff+32+__svml_dlog2_data_internal(%rip), %ymm2, %ymm14 - vorpd %ymm12, %ymm11, %ymm13 - vmulpd %ymm2, %ymm2, %ymm12 + /* polynomial */ + vmovupd poly_coeff+__svml_dlog2_data_internal(%rip), %ymm14 + vcmplt_oqpd %ymm1, %ymm9, %ymm1 + vfmadd213pd poly_coeff+32+__svml_dlog2_data_internal(%rip), %ymm2, %ymm14 + vorpd %ymm12, %ymm11, %ymm13 + vmulpd %ymm2, %ymm2, %ymm12 -/* combine and get argument value range mask */ - vmovmskpd %ymm13, %eax - vextractf128 $1, %ymm7, %xmm8 - vshufps $221, %xmm8, %xmm7, %xmm10 + /* combine and get argument value range mask */ + vmovmskpd %ymm13, %eax + vextractf128 $1, %ymm7, %xmm8 + vshufps $221, %xmm8, %xmm7, %xmm10 -/* biased exponent in DP format */ - vcvtdq2pd %xmm10, %ymm0 - vandpd Bias+__svml_dlog2_data_internal(%rip), %ymm1, %ymm10 - vorpd Bias1+__svml_dlog2_data_internal(%rip), %ymm10, %ymm11 - vsubpd %ymm11, %ymm0, %ymm1 - vmovupd poly_coeff+64+__svml_dlog2_data_internal(%rip), %ymm0 - vfmadd213pd poly_coeff+96+__svml_dlog2_data_internal(%rip), %ymm2, %ymm0 - vmulpd poly_coeff+128+__svml_dlog2_data_internal(%rip), %ymm2, %ymm2 - vfmadd213pd %ymm0, %ymm12, %ymm14 - vfmadd213pd %ymm2, %ymm12, %ymm14 - vextractf128 $1, %ymm15, %xmm6 - vmovd %xmm15, %edx - vmovd %xmm6, %esi - movslq %edx, %rdx - vpextrd $2, %xmm15, %ecx - movslq %esi, %rsi - vpextrd $2, %xmm6, %edi - movslq %ecx, %rcx - movslq %edi, %rdi - vmovsd (%r8,%rdx), %xmm4 - vmovsd (%r8,%rsi), %xmm7 - vmovhpd (%r8,%rcx), %xmm4, %xmm5 - vmovhpd (%r8,%rdi), %xmm7, %xmm8 - vinsertf128 $1, %xmm8, %ymm5, %ymm13 + /* biased exponent in DP format */ + vcvtdq2pd %xmm10, %ymm0 + vandpd Bias+__svml_dlog2_data_internal(%rip), %ymm1, %ymm10 + vorpd Bias1+__svml_dlog2_data_internal(%rip), %ymm10, %ymm11 + vsubpd %ymm11, %ymm0, %ymm1 + vmovupd poly_coeff+64+__svml_dlog2_data_internal(%rip), %ymm0 + vfmadd213pd poly_coeff+96+__svml_dlog2_data_internal(%rip), %ymm2, %ymm0 + vmulpd poly_coeff+128+__svml_dlog2_data_internal(%rip), %ymm2, %ymm2 + vfmadd213pd %ymm0, %ymm12, %ymm14 + vfmadd213pd %ymm2, %ymm12, %ymm14 + vextractf128 $1, %ymm15, %xmm6 + vmovd %xmm15, %edx + vmovd %xmm6, %esi + movslq %edx, %rdx + vpextrd $2, %xmm15, %ecx + movslq %esi, %rsi + vpextrd $2, %xmm6, %edi + movslq %ecx, %rcx + movslq %edi, %rdi + vmovsd (%r8, %rdx), %xmm4 + vmovsd (%r8, %rsi), %xmm7 + vmovhpd (%r8, %rcx), %xmm4, %xmm5 + vmovhpd (%r8, %rdi), %xmm7, %xmm8 + vinsertf128 $1, %xmm8, %ymm5, %ymm13 -/* reconstruction */ - vaddpd %ymm14, %ymm13, %ymm0 - vaddpd %ymm0, %ymm1, %ymm0 - testl %eax, %eax + /* reconstruction */ + vaddpd %ymm14, %ymm13, %ymm0 + vaddpd %ymm0, %ymm1, %ymm0 + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm3 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm3 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd %ymm3, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 + vmovupd %ymm3, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion 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 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call log2@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_log2_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dlog2_data_internal_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; - __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; - __declspec(align(32)) VUINT32 poly_coeff[5][4][2]; - __declspec(align(32)) VUINT32 ExpMask[4][2]; - __declspec(align(32)) VUINT32 Two10[4][2]; - __declspec(align(32)) VUINT32 MinNorm[4][2]; - __declspec(align(32)) VUINT32 MaxNorm[4][2]; - __declspec(align(32)) VUINT32 HalfMask[4][2]; - __declspec(align(32)) VUINT32 One[4][2]; - __declspec(align(32)) VUINT32 Threshold[4][2]; - __declspec(align(32)) VUINT32 Bias[4][2]; - __declspec(align(32)) VUINT32 Bias1[4][2]; + __declspec(align(32)) VUINT32 Log_HA_table[(1<<10)+2][2]; + __declspec(align(32)) VUINT32 Log_LA_table[(1<<9)+1][2]; + __declspec(align(32)) VUINT32 poly_coeff[5][4][2]; + __declspec(align(32)) VUINT32 ExpMask[4][2]; + __declspec(align(32)) VUINT32 Two10[4][2]; + __declspec(align(32)) VUINT32 MinNorm[4][2]; + __declspec(align(32)) VUINT32 MaxNorm[4][2]; + __declspec(align(32)) VUINT32 HalfMask[4][2]; + __declspec(align(32)) VUINT32 One[4][2]; + __declspec(align(32)) VUINT32 Threshold[4][2]; + __declspec(align(32)) VUINT32 Bias[4][2]; + __declspec(align(32)) VUINT32 Bias1[4][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 32 - .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 32 - .quad 0x3fd2776E996DA1D2, 0x3fd2776E996DA1D2, 0x3fd2776E996DA1D2, 0x3fd2776E996DA1D2 /* coeff5 */ - .quad 0xbfd715494C3E7C9B, 0xbfd715494C3E7C9B, 0xbfd715494C3E7C9B, 0xbfd715494C3E7C9B /* coeff4 */ - .quad 0x3fdEC709DC39E926, 0x3fdEC709DC39E926, 0x3fdEC709DC39E926, 0x3fdEC709DC39E926 /* coeff3 */ - .quad 0xbfe71547652B7CF8, 0xbfe71547652B7CF8, 0xbfe71547652B7CF8, 0xbfe71547652B7CF8 /* coeff2 */ - .quad 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE /* coeff1 */ - /*== ExpMask ==*/ - .align 32 - .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff - /*== Two10 ==*/ - .align 32 - .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 - /*== MinNorm ==*/ - .align 32 - .quad 0x0010000000000000, 0x0010000000000000, 0x0010000000000000, 0x0010000000000000 - /*== MaxNorm ==*/ - .align 32 - .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff - /*== HalfMask ==*/ - .align 32 - .quad 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000 - /*== One ==*/ - .align 32 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== Threshold ==*/ - .align 32 - .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 - /*== Bias ==*/ - .align 32 - .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 - /*== Bias1 ==*/ - .align 32 - .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 - .align 32 - .type __svml_dlog2_data_internal,@object - .size __svml_dlog2_data_internal,.-__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 32 + .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 32 + .quad 0x3fd2776E996DA1D2, 0x3fd2776E996DA1D2, 0x3fd2776E996DA1D2, 0x3fd2776E996DA1D2 /* coeff5 */ + .quad 0xbfd715494C3E7C9B, 0xbfd715494C3E7C9B, 0xbfd715494C3E7C9B, 0xbfd715494C3E7C9B /* coeff4 */ + .quad 0x3fdEC709DC39E926, 0x3fdEC709DC39E926, 0x3fdEC709DC39E926, 0x3fdEC709DC39E926 /* coeff3 */ + .quad 0xbfe71547652B7CF8, 0xbfe71547652B7CF8, 0xbfe71547652B7CF8, 0xbfe71547652B7CF8 /* coeff2 */ + .quad 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE, 0x3ff71547652B82FE /* coeff1 */ + /* ExpMask */ + .align 32 + .quad 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff, 0x000fffffffffffff + /* Two10 */ + .align 32 + .quad 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000, 0x3f50000000000000 + /* MinNorm */ + .align 32 + .quad 0x0010000000000000, 0x0010000000000000, 0x0010000000000000, 0x0010000000000000 + /* MaxNorm */ + .align 32 + .quad 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff, 0x7fefffffffffffff + /* HalfMask */ + .align 32 + .quad 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000, 0xfffffffffc000000 + /* One */ + .align 32 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* Threshold */ + .align 32 + .quad 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000, 0x4086a00000000000 + /* Bias */ + .align 32 + .quad 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000, 0x408ff80000000000 + /* Bias1 */ + .align 32 + .quad 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000, 0x408ff00000000000 + .align 32 + .type __svml_dlog2_data_internal, @object + .size __svml_dlog2_data_internal, .-__svml_dlog2_data_internal From patchwork Mon Mar 7 15:01:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602342 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=bRJkwrCM; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2yd07Lxz9sFw for ; Tue, 8 Mar 2022 02:52:09 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 20C2E3858426 for ; Mon, 7 Mar 2022 15:52:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 20C2E3858426 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668326; bh=7NOkmC5CdrYktqOEq2tdB8M8z3BPTIsNXiYCC+eLB3I=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=bRJkwrCMAU3yT1fvU9cPd/s99YMN3zKEv2SgDx40eGtjZVAWEsWiu5EHf5mth84OY ot9jT6s3d9PbLkh493BofbVOTBW0D5QAoLQqpLsQfvo9Xy8y5/gHQ/g1ei6jng4f9H +AiCsPc/xckvHNz+9iW0DGtoPzZYm5oAw8Dk9zNc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 384A3385843E for ; Mon, 7 Mar 2022 15:02:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 384A3385843E X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347806" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347806" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="780351120" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fM016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 108/126] x86_64: Fix svml_d_log28_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:43 -0800 Message-Id: <20220307150201.10590-109-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_log28_core_avx512.S | 471 +++++++++--------- 1 file changed, 235 insertions(+), 236 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S index 9a2322ecad..bcb6736dec 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_log28_core_avx512.S @@ -29,265 +29,264 @@ /* Offsets for data table __svml_dlog2_data_internal_avx512 */ -#define Log_tbl 0 -#define One 128 -#define C075 192 -#define poly_coeff9 256 -#define poly_coeff8 320 -#define poly_coeff7 384 -#define poly_coeff6 448 -#define poly_coeff5 512 -#define poly_coeff4 576 -#define poly_coeff3 640 -#define poly_coeff2 704 -#define poly_coeff1 768 +#define Log_tbl 0 +#define One 128 +#define C075 192 +#define poly_coeff9 256 +#define poly_coeff8 320 +#define poly_coeff7 384 +#define poly_coeff6 448 +#define poly_coeff5 512 +#define poly_coeff4 576 +#define poly_coeff3 640 +#define poly_coeff2 704 +#define poly_coeff1 768 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_log2_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovaps %zmm0, %zmm7 - vgetmantpd $8, {sae}, %zmm7, %zmm6 - vmovups One+__svml_dlog2_data_internal_avx512(%rip), %zmm2 - vmovups poly_coeff5+__svml_dlog2_data_internal_avx512(%rip), %zmm12 - vmovups poly_coeff3+__svml_dlog2_data_internal_avx512(%rip), %zmm13 - -/* Start polynomial evaluation */ - vmovups poly_coeff9+__svml_dlog2_data_internal_avx512(%rip), %zmm10 - vmovups poly_coeff8+__svml_dlog2_data_internal_avx512(%rip), %zmm0 - vmovups poly_coeff7+__svml_dlog2_data_internal_avx512(%rip), %zmm11 - vmovups poly_coeff6+__svml_dlog2_data_internal_avx512(%rip), %zmm14 - -/* Prepare exponent correction: DblRcp<0.75? */ - vmovups C075+__svml_dlog2_data_internal_avx512(%rip), %zmm1 - -/* Table lookup */ - vmovups __svml_dlog2_data_internal_avx512(%rip), %zmm4 - -/* GetExp(x) */ - vgetexppd {sae}, %zmm7, %zmm5 - -/* DblRcp ~ 1/Mantissa */ - vrcp14pd %zmm6, %zmm8 - -/* x<=0? */ - vfpclasspd $94, %zmm7, %k0 - -/* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ - vrndscalepd $88, {sae}, %zmm8, %zmm3 - vmovups poly_coeff4+__svml_dlog2_data_internal_avx512(%rip), %zmm8 - kmovw %k0, %edx - -/* Reduced argument: R = DblRcp*Mantissa - 1 */ - vfmsub213pd {rn-sae}, %zmm2, %zmm3, %zmm6 - vcmppd $17, {sae}, %zmm1, %zmm3, %k1 - vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8 - vmovups poly_coeff2+__svml_dlog2_data_internal_avx512(%rip), %zmm12 - vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm0 - vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 - vmovups poly_coeff1+__svml_dlog2_data_internal_avx512(%rip), %zmm1 - -/* R^2 */ - vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15 - vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 - -/* Prepare table index */ - vpsrlq $48, %zmm3, %zmm9 - -/* add 1 to Expon if DblRcp<0.75 */ - vaddpd {rn-sae}, %zmm2, %zmm5, %zmm5{%k1} - vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13 - vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm0 - vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8 - vpermt2pd Log_tbl+64+__svml_dlog2_data_internal_avx512(%rip), %zmm9, %zmm4 - -/* polynomial */ - vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm0 - vfmadd213pd {rn-sae}, %zmm1, %zmm6, %zmm0 - vfmadd213pd {rn-sae}, %zmm4, %zmm0, %zmm6 - vaddpd {rn-sae}, %zmm6, %zmm5, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm7 + vgetmantpd $8, {sae}, %zmm7, %zmm6 + vmovups One+__svml_dlog2_data_internal_avx512(%rip), %zmm2 + vmovups poly_coeff5+__svml_dlog2_data_internal_avx512(%rip), %zmm12 + vmovups poly_coeff3+__svml_dlog2_data_internal_avx512(%rip), %zmm13 + + /* Start polynomial evaluation */ + vmovups poly_coeff9+__svml_dlog2_data_internal_avx512(%rip), %zmm10 + vmovups poly_coeff8+__svml_dlog2_data_internal_avx512(%rip), %zmm0 + vmovups poly_coeff7+__svml_dlog2_data_internal_avx512(%rip), %zmm11 + vmovups poly_coeff6+__svml_dlog2_data_internal_avx512(%rip), %zmm14 + + /* Prepare exponent correction: DblRcp<0.75? */ + vmovups C075+__svml_dlog2_data_internal_avx512(%rip), %zmm1 + + /* Table lookup */ + vmovups __svml_dlog2_data_internal_avx512(%rip), %zmm4 + + /* GetExp(x) */ + vgetexppd {sae}, %zmm7, %zmm5 + + /* DblRcp ~ 1/Mantissa */ + vrcp14pd %zmm6, %zmm8 + + /* x<=0? */ + vfpclasspd $94, %zmm7, %k0 + + /* round DblRcp to 4 fractional bits (RN mode, no Precision exception) */ + vrndscalepd $88, {sae}, %zmm8, %zmm3 + vmovups poly_coeff4+__svml_dlog2_data_internal_avx512(%rip), %zmm8 + kmovw %k0, %edx + + /* Reduced argument: R = DblRcp*Mantissa - 1 */ + vfmsub213pd {rn-sae}, %zmm2, %zmm3, %zmm6 + vcmppd $17, {sae}, %zmm1, %zmm3, %k1 + vfmadd231pd {rn-sae}, %zmm6, %zmm12, %zmm8 + vmovups poly_coeff2+__svml_dlog2_data_internal_avx512(%rip), %zmm12 + vfmadd231pd {rn-sae}, %zmm6, %zmm10, %zmm0 + vfmadd231pd {rn-sae}, %zmm6, %zmm11, %zmm14 + vmovups poly_coeff1+__svml_dlog2_data_internal_avx512(%rip), %zmm1 + + /* R^2 */ + vmulpd {rn-sae}, %zmm6, %zmm6, %zmm15 + vfmadd231pd {rn-sae}, %zmm6, %zmm13, %zmm12 + + /* Prepare table index */ + vpsrlq $48, %zmm3, %zmm9 + + /* add 1 to Expon if DblRcp<0.75 */ + vaddpd {rn-sae}, %zmm2, %zmm5, %zmm5{%k1} + vmulpd {rn-sae}, %zmm15, %zmm15, %zmm13 + vfmadd213pd {rn-sae}, %zmm14, %zmm15, %zmm0 + vfmadd213pd {rn-sae}, %zmm12, %zmm15, %zmm8 + vpermt2pd Log_tbl+64+__svml_dlog2_data_internal_avx512(%rip), %zmm9, %zmm4 + + /* polynomial */ + vfmadd213pd {rn-sae}, %zmm8, %zmm13, %zmm0 + vfmadd213pd {rn-sae}, %zmm1, %zmm6, %zmm0 + vfmadd213pd {rn-sae}, %zmm4, %zmm0, %zmm6 + vaddpd {rn-sae}, %zmm6, %zmm5, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm7 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm7, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm7, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call log2@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call log2@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_log2_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dlog2_data_internal_avx512_typedef typedef unsigned int VUINT32; typedef struct { - __declspec(align(64)) VUINT32 Log_tbl[16][2]; - __declspec(align(64)) VUINT32 One[8][2]; - __declspec(align(64)) VUINT32 C075[8][2]; - __declspec(align(64)) VUINT32 poly_coeff9[8][2]; - __declspec(align(64)) VUINT32 poly_coeff8[8][2]; - __declspec(align(64)) VUINT32 poly_coeff7[8][2]; - __declspec(align(64)) VUINT32 poly_coeff6[8][2]; - __declspec(align(64)) VUINT32 poly_coeff5[8][2]; - __declspec(align(64)) VUINT32 poly_coeff4[8][2]; - __declspec(align(64)) VUINT32 poly_coeff3[8][2]; - __declspec(align(64)) VUINT32 poly_coeff2[8][2]; - __declspec(align(64)) VUINT32 poly_coeff1[8][2]; - } __svml_dlog2_data_internal_avx512; + __declspec(align(64)) VUINT32 Log_tbl[16][2]; + __declspec(align(64)) VUINT32 One[8][2]; + __declspec(align(64)) VUINT32 C075[8][2]; + __declspec(align(64)) VUINT32 poly_coeff9[8][2]; + __declspec(align(64)) VUINT32 poly_coeff8[8][2]; + __declspec(align(64)) VUINT32 poly_coeff7[8][2]; + __declspec(align(64)) VUINT32 poly_coeff6[8][2]; + __declspec(align(64)) VUINT32 poly_coeff5[8][2]; + __declspec(align(64)) VUINT32 poly_coeff4[8][2]; + __declspec(align(64)) VUINT32 poly_coeff3[8][2]; + __declspec(align(64)) VUINT32 poly_coeff2[8][2]; + __declspec(align(64)) VUINT32 poly_coeff1[8][2]; +} __svml_dlog2_data_internal_avx512; #endif __svml_dlog2_data_internal_avx512: - /*== Log_tbl ==*/ - .quad 0x0000000000000000 - .quad 0xbfb663f6fac91316 - .quad 0xbfc5c01a39fbd688 - .quad 0xbfcfbc16b902680a - .quad 0xbfd49a784bcd1b8b - .quad 0xbfd91bba891f1709 - .quad 0xbfdd6753e032ea0f - .quad 0xbfe0c10500d63aa6 - .quad 0x3fda8ff971810a5e - .quad 0x3fd6cb0f6865c8ea - .quad 0x3fd32bfee370ee68 - .quad 0x3fcf5fd8a9063e35 - .quad 0x3fc8a8980abfbd32 - .quad 0x3fc22dadc2ab3497 - .quad 0x3fb7d60496cfbb4c - .quad 0x3fa77394c9d958d5 - /*== One ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 - /*== C075 0.75 ==*/ - .align 64 - .quad 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000 - /*== poly_coeff9 ==*/ - .align 64 - .quad 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12 - /*== poly_coeff8 ==*/ - .align 64 - .quad 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce - /*== poly_coeff7 ==*/ - .align 64 - .quad 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613 - /*== poly_coeff6 ==*/ - .align 64 - .quad 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c - /*== poly_coeff5 ==*/ - .align 64 - .quad 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a - /*== poly_coeff4 ==*/ - .align 64 - .quad 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d - /*== poly_coeff3 ==*/ - .align 64 - .quad 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f - /*== poly_coeff2 ==*/ - .align 64 - .quad 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4 - /*== poly_coeff1 ==*/ - .align 64 - .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe - .align 64 - .type __svml_dlog2_data_internal_avx512,@object - .size __svml_dlog2_data_internal_avx512,.-__svml_dlog2_data_internal_avx512 + /* Log_tbl */ + .quad 0x0000000000000000 + .quad 0xbfb663f6fac91316 + .quad 0xbfc5c01a39fbd688 + .quad 0xbfcfbc16b902680a + .quad 0xbfd49a784bcd1b8b + .quad 0xbfd91bba891f1709 + .quad 0xbfdd6753e032ea0f + .quad 0xbfe0c10500d63aa6 + .quad 0x3fda8ff971810a5e + .quad 0x3fd6cb0f6865c8ea + .quad 0x3fd32bfee370ee68 + .quad 0x3fcf5fd8a9063e35 + .quad 0x3fc8a8980abfbd32 + .quad 0x3fc22dadc2ab3497 + .quad 0x3fb7d60496cfbb4c + .quad 0x3fa77394c9d958d5 + /* One */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 + /* C075 0.75 */ + .align 64 + .quad 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000, 0x3fe8000000000000 + /* poly_coeff9 */ + .align 64 + .quad 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12, 0x3fc4904bda0e1d12 + /* poly_coeff8 */ + .align 64 + .quad 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce, 0xbfc71fb84deb5cce + /* poly_coeff7 */ + .align 64 + .quad 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613, 0x3fca617351818613 + /* poly_coeff6 */ + .align 64 + .quad 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c, 0xbfcec707e4e3144c + /* poly_coeff5 */ + .align 64 + .quad 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a, 0x3fd2776c5114d91a + /* poly_coeff4 */ + .align 64 + .quad 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d, 0xbfd71547653d0f8d + /* poly_coeff3 */ + .align 64 + .quad 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f, 0x3fdec709dc3a029f + /* poly_coeff2 */ + .align 64 + .quad 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4, 0xbfe71547652b82d4 + /* poly_coeff1 */ + .align 64 + .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe + .align 64 + .type __svml_dlog2_data_internal_avx512, @object + .size __svml_dlog2_data_internal_avx512, .-__svml_dlog2_data_internal_avx512 From patchwork Mon Mar 7 15:01:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602362 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ifusSUm2; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3DV62fKz9sFt for ; Tue, 8 Mar 2022 03:04:10 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E697B385841F for ; Mon, 7 Mar 2022 16:04:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E697B385841F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669048; bh=KGaX5YLAEnbdnYUVxgW4yJkNQc0KRHEU7r4qLSgoVro=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ifusSUm266o8Viho9/0RawsFfU/Hg29AjKxdQDIUdLGw1Ks6VIPWoW7f/LsasggEI eR1JjqSw8yurynSYOrs1HzPzOBTcTuH4WpRtZiFKpOral6hHQlPg0bTusVsN292o85 Ng5PMKHw9vSEah1YeRNfQBFZwP4RDXhhOBHxrlVA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id C9A0E3858015 for ; Mon, 7 Mar 2022 15:02:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C9A0E3858015 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="340842254" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="340842254" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081862" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fN016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 109/126] x86_64: Fix svml_s_sinhf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:44 -0800 Message-Id: <20220307150201.10590-110-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_sinhf16_core_avx512.S | 510 +++++++++--------- 1 file changed, 254 insertions(+), 256 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S index 9e4f2f16a3..fad4847f28 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf16_core_avx512.S @@ -34,285 +34,283 @@ /* Offsets for data table __svml_ssinh_data_internal */ -#define _sInvLn2 0 -#define _sLn2hi 64 -#define _sLn2lo 128 -#define _sSign 192 -#define _sShifter 256 -#define _iDomainRange 320 -#define _sPC1 384 -#define _sPC2 448 -#define _sPC3 512 -#define _sPC4 576 -#define _sPC5 640 -#define _sPC6 704 -#define _iHalf 768 +#define _sInvLn2 0 +#define _sLn2hi 64 +#define _sLn2lo 128 +#define _sSign 192 +#define _sShifter 256 +#define _iDomainRange 320 +#define _sPC1 384 +#define _sPC2 448 +#define _sPC3 512 +#define _sPC4 576 +#define _sPC5 640 +#define _sPC6 704 +#define _iHalf 768 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_sinhf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovaps %zmm0, %zmm5 - -/* - * Implementation - * Abs argument - */ - vandps _sSign+__svml_ssinh_data_internal(%rip), %zmm5, %zmm4 - -/* - * Check for overflow\underflow - * MORE faster than GE? - */ - vpternlogd $255, %zmm6, %zmm6, %zmm6 - vmovups _sShifter+__svml_ssinh_data_internal(%rip), %zmm7 - -/* - * Load argument - * dM = x/log(2) + RShifter - */ - vmovups _sInvLn2+__svml_ssinh_data_internal(%rip), %zmm11 - vmovups _sLn2hi+__svml_ssinh_data_internal(%rip), %zmm8 - vmovups _sLn2lo+__svml_ssinh_data_internal(%rip), %zmm10 - vmovups _iHalf+__svml_ssinh_data_internal(%rip), %zmm12 - vmovups _sPC5+__svml_ssinh_data_internal(%rip), %zmm0 - vmovups _sPC6+__svml_ssinh_data_internal(%rip), %zmm3 - -/* x^2 */ - vmovups _sPC2+__svml_ssinh_data_internal(%rip), %zmm2 - vxorps %zmm5, %zmm4, %zmm1 - vfmadd213ps {rn-sae}, %zmm7, %zmm1, %zmm11 - vpcmpd $2, _iDomainRange+__svml_ssinh_data_internal(%rip), %zmm1, %k1 - -/* - * G1,G2 2^N,2^(-N) - * iM now is an EXP(2^N) - */ - vpslld $23, %zmm11, %zmm13 - -/* - * R - * sN = sM - RShifter - */ - vsubps {rn-sae}, %zmm7, %zmm11, %zmm9 - vpaddd %zmm13, %zmm12, %zmm14 - vpsubd %zmm13, %zmm12, %zmm15 - -/* sG1 = 2^(N-1)+2^(-N-1) */ - vaddps {rn-sae}, %zmm15, %zmm14, %zmm7 - vpandnd %zmm1, %zmm1, %zmm6{%k1} - -/* sR = sX - sN*Log2_hi */ - vfnmadd231ps {rn-sae}, %zmm8, %zmm9, %zmm1 - vptestmd %zmm6, %zmm6, %k0 - -/* sG2 = 2^(N-1)-2^(-N-1) */ - vsubps {rn-sae}, %zmm15, %zmm14, %zmm8 - -/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ - vfnmadd231ps {rn-sae}, %zmm10, %zmm9, %zmm1 - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... - * sSinh_r = (a3+r^2*a5) - */ - vmovups _sPC3+__svml_ssinh_data_internal(%rip), %zmm14 - kmovw %k0, %edx - -/* sR2 = sR^2 */ - vmulps {rn-sae}, %zmm1, %zmm1, %zmm6 - vfmadd231ps {rn-sae}, %zmm6, %zmm0, %zmm14 - -/* sSinh_r = r^2*(a3+r^2*a5) */ - vmulps {rn-sae}, %zmm6, %zmm14, %zmm0 - -/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm0 - -/* - * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) - * sOut = (a4 +a6*sR2) - */ - vmovups _sPC4+__svml_ssinh_data_internal(%rip), %zmm1 - vfmadd231ps {rn-sae}, %zmm6, %zmm3, %zmm1 - -/* sOut = a2+sR2*(a4+a6*sR2) */ - vfmadd213ps {rn-sae}, %zmm2, %zmm6, %zmm1 - -/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ - vmulps {rn-sae}, %zmm6, %zmm1, %zmm2 - -/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vmulps {rn-sae}, %zmm8, %zmm2, %zmm3 - -/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vfmadd213ps {rn-sae}, %zmm3, %zmm0, %zmm7 - -/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vaddps {rn-sae}, %zmm8, %zmm7, %zmm9 - -/* Ret H */ - vorps %zmm9, %zmm4, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm5 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm5 + + /* + * Implementation + * Abs argument + */ + vandps _sSign+__svml_ssinh_data_internal(%rip), %zmm5, %zmm4 + + /* + * Check for overflow\underflow + * MORE faster than GE? + */ + vpternlogd $255, %zmm6, %zmm6, %zmm6 + vmovups _sShifter+__svml_ssinh_data_internal(%rip), %zmm7 + + /* + * Load argument + * dM = x/log(2) + RShifter + */ + vmovups _sInvLn2+__svml_ssinh_data_internal(%rip), %zmm11 + vmovups _sLn2hi+__svml_ssinh_data_internal(%rip), %zmm8 + vmovups _sLn2lo+__svml_ssinh_data_internal(%rip), %zmm10 + vmovups _iHalf+__svml_ssinh_data_internal(%rip), %zmm12 + vmovups _sPC5+__svml_ssinh_data_internal(%rip), %zmm0 + vmovups _sPC6+__svml_ssinh_data_internal(%rip), %zmm3 + + /* x^2 */ + vmovups _sPC2+__svml_ssinh_data_internal(%rip), %zmm2 + vxorps %zmm5, %zmm4, %zmm1 + vfmadd213ps {rn-sae}, %zmm7, %zmm1, %zmm11 + vpcmpd $2, _iDomainRange+__svml_ssinh_data_internal(%rip), %zmm1, %k1 + + /* + * G1, G2 2^N, 2^(-N) + * iM now is an EXP(2^N) + */ + vpslld $23, %zmm11, %zmm13 + + /* + * R + * sN = sM - RShifter + */ + vsubps {rn-sae}, %zmm7, %zmm11, %zmm9 + vpaddd %zmm13, %zmm12, %zmm14 + vpsubd %zmm13, %zmm12, %zmm15 + + /* sG1 = 2^(N-1)+2^(-N-1) */ + vaddps {rn-sae}, %zmm15, %zmm14, %zmm7 + vpandnd %zmm1, %zmm1, %zmm6{%k1} + + /* sR = sX - sN*Log2_hi */ + vfnmadd231ps {rn-sae}, %zmm8, %zmm9, %zmm1 + vptestmd %zmm6, %zmm6, %k0 + + /* sG2 = 2^(N-1)-2^(-N-1) */ + vsubps {rn-sae}, %zmm15, %zmm14, %zmm8 + + /* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + vfnmadd231ps {rn-sae}, %zmm10, %zmm9, %zmm1 + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + vmovups _sPC3+__svml_ssinh_data_internal(%rip), %zmm14 + kmovw %k0, %edx + + /* sR2 = sR^2 */ + vmulps {rn-sae}, %zmm1, %zmm1, %zmm6 + vfmadd231ps {rn-sae}, %zmm6, %zmm0, %zmm14 + + /* sSinh_r = r^2*(a3+r^2*a5) */ + vmulps {rn-sae}, %zmm6, %zmm14, %zmm0 + + /* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213ps {rn-sae}, %zmm1, %zmm1, %zmm0 + + /* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + vmovups _sPC4+__svml_ssinh_data_internal(%rip), %zmm1 + vfmadd231ps {rn-sae}, %zmm6, %zmm3, %zmm1 + + /* sOut = a2+sR2*(a4+a6*sR2) */ + vfmadd213ps {rn-sae}, %zmm2, %zmm6, %zmm1 + + /* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps {rn-sae}, %zmm6, %zmm1, %zmm2 + + /* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps {rn-sae}, %zmm8, %zmm2, %zmm3 + + /* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vfmadd213ps {rn-sae}, %zmm3, %zmm0, %zmm7 + + /* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vaddps {rn-sae}, %zmm8, %zmm7, %zmm9 + + /* Ret H */ + vorps %zmm9, %zmm4, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm5 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm5, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm5, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call sinhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call sinhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_sinhf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_ssinh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _sInvLn2[16][1]; - __declspec(align(64)) VUINT32 _sLn2hi[16][1]; - __declspec(align(64)) VUINT32 _sLn2lo[16][1]; - __declspec(align(64)) VUINT32 _sSign[16][1]; - __declspec(align(64)) VUINT32 _sShifter[16][1]; - __declspec(align(64)) VUINT32 _iDomainRange[16][1]; - __declspec(align(64)) VUINT32 _sPC1[16][1]; - __declspec(align(64)) VUINT32 _sPC2[16][1]; - __declspec(align(64)) VUINT32 _sPC3[16][1]; - __declspec(align(64)) VUINT32 _sPC4[16][1]; - __declspec(align(64)) VUINT32 _sPC5[16][1]; - __declspec(align(64)) VUINT32 _sPC6[16][1]; - __declspec(align(64)) VUINT32 _iHalf[16][1]; +typedef struct { + __declspec(align(64)) VUINT32 _sInvLn2[16][1]; + __declspec(align(64)) VUINT32 _sLn2hi[16][1]; + __declspec(align(64)) VUINT32 _sLn2lo[16][1]; + __declspec(align(64)) VUINT32 _sSign[16][1]; + __declspec(align(64)) VUINT32 _sShifter[16][1]; + __declspec(align(64)) VUINT32 _iDomainRange[16][1]; + __declspec(align(64)) VUINT32 _sPC1[16][1]; + __declspec(align(64)) VUINT32 _sPC2[16][1]; + __declspec(align(64)) VUINT32 _sPC3[16][1]; + __declspec(align(64)) VUINT32 _sPC4[16][1]; + __declspec(align(64)) VUINT32 _sPC5[16][1]; + __declspec(align(64)) VUINT32 _sPC6[16][1]; + __declspec(align(64)) VUINT32 _iHalf[16][1]; } __svml_ssinh_data_internal; #endif __svml_ssinh_data_internal: - .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ //k=0 - .align 64 - .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ - .align 64 - .long 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4 /* _sLn2lo */ - .align 64 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ - .align 64 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 64 - .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ - .align 64 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ - .align 64 - .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ - .align 64 - .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ - .align 64 - .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ - .align 64 - .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ - // Integer constants - .align 64 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf*/ - .align 64 - .type __svml_ssinh_data_internal,@object - .size __svml_ssinh_data_internal,.-__svml_ssinh_data_internal + .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ // k=0 + .align 64 + .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ + .align 64 + .long 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4 /* _sLn2lo */ + .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ + .align 64 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 64 + .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ + .align 64 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ + .align 64 + .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ + .align 64 + .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ + .align 64 + .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ + .align 64 + .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ + // Integer constants + .align 64 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf */ + .align 64 + .type __svml_ssinh_data_internal, @object + .size __svml_ssinh_data_internal, .-__svml_ssinh_data_internal From patchwork Mon Mar 7 15:01:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602354 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=R2xhBVPh; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC36W2cMXz9sBy for ; Tue, 8 Mar 2022 02:58:59 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1E7D33858434 for ; Mon, 7 Mar 2022 15:58:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1E7D33858434 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668737; bh=Pwlob8WHcFjaDP6ad9rWkT6IkrxI93D+yWeXal3hSgE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=R2xhBVPhkdIp2NCRfWAHT1Q7hOCRvRKtZ8jSHC/9axQlQLr3GQcbcr7Zg7a8C2TsG FFfSYNF8ssylWCOz1eX0qlecx5J6ppN47VJogklzBNSuywF9Ha3U61JT31UR98g/Hj 32dXEVCVPQFz1lO6MJ3AN0+9k9BLw1LQf1DFsOG0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id C5BDD3858004 for ; Mon, 7 Mar 2022 15:02:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C5BDD3858004 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254138389" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254138389" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="577627410" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga001.jf.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fO016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 110/126] x86_64: Fix svml_s_sinhf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:45 -0800 Message-Id: <20220307150201.10590-111-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_sinhf4_core_sse4.S | 490 +++++++++--------- 1 file changed, 244 insertions(+), 246 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S index 0f924915c8..8a3b37f474 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf4_core_sse4.S @@ -34,275 +34,273 @@ /* Offsets for data table __svml_ssinh_data_internal */ -#define _sInvLn2 0 -#define _sLn2hi 16 -#define _sLn2lo 32 -#define _sSign 48 -#define _sShifter 64 -#define _iDomainRange 80 -#define _sPC1 96 -#define _sPC2 112 -#define _sPC3 128 -#define _sPC4 144 -#define _sPC5 160 -#define _sPC6 176 -#define _iHalf 192 +#define _sInvLn2 0 +#define _sLn2hi 16 +#define _sLn2lo 32 +#define _sSign 48 +#define _sShifter 64 +#define _iDomainRange 80 +#define _sPC1 96 +#define _sPC2 112 +#define _sPC3 128 +#define _sPC4 144 +#define _sPC5 160 +#define _sPC6 176 +#define _iHalf 192 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_sinhf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - -/* - * Implementation - * Abs argument - */ - movups _sSign+__svml_ssinh_data_internal(%rip), %xmm14 - andps %xmm0, %xmm14 - movaps %xmm14, %xmm10 - -/* - * Load argument - * dM = x/log(2) + RShifter - */ - movups _sInvLn2+__svml_ssinh_data_internal(%rip), %xmm7 - pxor %xmm0, %xmm10 - mulps %xmm10, %xmm7 - -/* - * Check for overflow\underflow - * MORE faster than GE? - */ - movaps %xmm10, %xmm1 - movups _sShifter+__svml_ssinh_data_internal(%rip), %xmm2 - -/* sR = sX - sN*Log2_hi */ - movups _sLn2hi+__svml_ssinh_data_internal(%rip), %xmm3 - addps %xmm2, %xmm7 - -/* - * R - * sN = sM - RShifter - */ - movaps %xmm7, %xmm4 - -/* - * G1,G2 2^N,2^(-N) - * iM now is an EXP(2^N) - */ - pslld $23, %xmm7 - -/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ - movups _sLn2lo+__svml_ssinh_data_internal(%rip), %xmm5 - subps %xmm2, %xmm4 - mulps %xmm4, %xmm3 - mulps %xmm4, %xmm5 - subps %xmm3, %xmm10 - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... - * sSinh_r = (a3+r^2*a5) - */ - movups _sPC5+__svml_ssinh_data_internal(%rip), %xmm8 - subps %xmm5, %xmm10 - -/* sR2 = sR^2 */ - movaps %xmm10, %xmm12 - mulps %xmm10, %xmm12 - -/* - * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) - * sOut = (a4 +a6*sR2) - */ - movups _sPC6+__svml_ssinh_data_internal(%rip), %xmm9 - mulps %xmm12, %xmm8 - mulps %xmm12, %xmm9 - addps _sPC3+__svml_ssinh_data_internal(%rip), %xmm8 - addps _sPC4+__svml_ssinh_data_internal(%rip), %xmm9 - -/* sSinh_r = r^2*(a3+r^2*a5) */ - mulps %xmm12, %xmm8 - -/* sOut = a2+sR2*(a4+a6*sR2) */ - mulps %xmm12, %xmm9 - -/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - mulps %xmm10, %xmm8 - addps _sPC2+__svml_ssinh_data_internal(%rip), %xmm9 - addps %xmm8, %xmm10 - -/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ - mulps %xmm9, %xmm12 - movdqu _iHalf+__svml_ssinh_data_internal(%rip), %xmm6 - movdqa %xmm6, %xmm13 - psubd %xmm7, %xmm6 - paddd %xmm7, %xmm13 - -/* sG1 = 2^(N-1)+2^(-N-1) */ - movdqa %xmm13, %xmm11 - -/* sG2 = 2^(N-1)-2^(-N-1) */ - subps %xmm6, %xmm13 - addps %xmm6, %xmm11 - -/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - mulps %xmm13, %xmm12 - -/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - mulps %xmm10, %xmm11 - pcmpgtd _iDomainRange+__svml_ssinh_data_internal(%rip), %xmm1 - addps %xmm11, %xmm12 - movmskps %xmm1, %edx - -/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - addps %xmm12, %xmm13 - -/* Ret H */ - orps %xmm13, %xmm14 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm14 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + + /* + * Implementation + * Abs argument + */ + movups _sSign+__svml_ssinh_data_internal(%rip), %xmm14 + andps %xmm0, %xmm14 + movaps %xmm14, %xmm10 + + /* + * Load argument + * dM = x/log(2) + RShifter + */ + movups _sInvLn2+__svml_ssinh_data_internal(%rip), %xmm7 + pxor %xmm0, %xmm10 + mulps %xmm10, %xmm7 + + /* + * Check for overflow\underflow + * MORE faster than GE? + */ + movaps %xmm10, %xmm1 + movups _sShifter+__svml_ssinh_data_internal(%rip), %xmm2 + + /* sR = sX - sN*Log2_hi */ + movups _sLn2hi+__svml_ssinh_data_internal(%rip), %xmm3 + addps %xmm2, %xmm7 + + /* + * R + * sN = sM - RShifter + */ + movaps %xmm7, %xmm4 + + /* + * G1, G2 2^N, 2^(-N) + * iM now is an EXP(2^N) + */ + pslld $23, %xmm7 + + /* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + movups _sLn2lo+__svml_ssinh_data_internal(%rip), %xmm5 + subps %xmm2, %xmm4 + mulps %xmm4, %xmm3 + mulps %xmm4, %xmm5 + subps %xmm3, %xmm10 + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + movups _sPC5+__svml_ssinh_data_internal(%rip), %xmm8 + subps %xmm5, %xmm10 + + /* sR2 = sR^2 */ + movaps %xmm10, %xmm12 + mulps %xmm10, %xmm12 + + /* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + movups _sPC6+__svml_ssinh_data_internal(%rip), %xmm9 + mulps %xmm12, %xmm8 + mulps %xmm12, %xmm9 + addps _sPC3+__svml_ssinh_data_internal(%rip), %xmm8 + addps _sPC4+__svml_ssinh_data_internal(%rip), %xmm9 + + /* sSinh_r = r^2*(a3+r^2*a5) */ + mulps %xmm12, %xmm8 + + /* sOut = a2+sR2*(a4+a6*sR2) */ + mulps %xmm12, %xmm9 + + /* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + mulps %xmm10, %xmm8 + addps _sPC2+__svml_ssinh_data_internal(%rip), %xmm9 + addps %xmm8, %xmm10 + + /* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm9, %xmm12 + movdqu _iHalf+__svml_ssinh_data_internal(%rip), %xmm6 + movdqa %xmm6, %xmm13 + psubd %xmm7, %xmm6 + paddd %xmm7, %xmm13 + + /* sG1 = 2^(N-1)+2^(-N-1) */ + movdqa %xmm13, %xmm11 + + /* sG2 = 2^(N-1)-2^(-N-1) */ + subps %xmm6, %xmm13 + addps %xmm6, %xmm11 + + /* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm13, %xmm12 + + /* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + mulps %xmm10, %xmm11 + pcmpgtd _iDomainRange+__svml_ssinh_data_internal(%rip), %xmm1 + addps %xmm11, %xmm12 + movmskps %xmm1, %edx + + /* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + addps %xmm12, %xmm13 + + /* Ret H */ + orps %xmm13, %xmm14 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm14 + + /* Restore registers + * and exit the function + */ L(EXIT): - movaps %xmm14, %xmm0 - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) - -/* Branch to process - * special inputs - */ + movaps %xmm14, %xmm0 + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm0, 32(%rsp) - movups %xmm14, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm0, 32(%rsp) + movups %xmm14, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm14 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm14 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm14 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm14 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call sinhf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call sinhf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_sinhf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_ssinh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _sInvLn2[4][1]; - __declspec(align(16)) VUINT32 _sLn2hi[4][1]; - __declspec(align(16)) VUINT32 _sLn2lo[4][1]; - __declspec(align(16)) VUINT32 _sSign[4][1]; - __declspec(align(16)) VUINT32 _sShifter[4][1]; - __declspec(align(16)) VUINT32 _iDomainRange[4][1]; - __declspec(align(16)) VUINT32 _sPC1[4][1]; - __declspec(align(16)) VUINT32 _sPC2[4][1]; - __declspec(align(16)) VUINT32 _sPC3[4][1]; - __declspec(align(16)) VUINT32 _sPC4[4][1]; - __declspec(align(16)) VUINT32 _sPC5[4][1]; - __declspec(align(16)) VUINT32 _sPC6[4][1]; - __declspec(align(16)) VUINT32 _iHalf[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _sInvLn2[4][1]; + __declspec(align(16)) VUINT32 _sLn2hi[4][1]; + __declspec(align(16)) VUINT32 _sLn2lo[4][1]; + __declspec(align(16)) VUINT32 _sSign[4][1]; + __declspec(align(16)) VUINT32 _sShifter[4][1]; + __declspec(align(16)) VUINT32 _iDomainRange[4][1]; + __declspec(align(16)) VUINT32 _sPC1[4][1]; + __declspec(align(16)) VUINT32 _sPC2[4][1]; + __declspec(align(16)) VUINT32 _sPC3[4][1]; + __declspec(align(16)) VUINT32 _sPC4[4][1]; + __declspec(align(16)) VUINT32 _sPC5[4][1]; + __declspec(align(16)) VUINT32 _sPC6[4][1]; + __declspec(align(16)) VUINT32 _iHalf[4][1]; } __svml_ssinh_data_internal; #endif __svml_ssinh_data_internal: - .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ //k=0 - .align 16 - .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ - .align 16 - .long 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4 /* _sLn2lo */ - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ - .align 16 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 16 - .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ - .align 16 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ - .align 16 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ - .align 16 - .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ - .align 16 - .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ - .align 16 - .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ - .align 16 - .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ - // Integer constants - .align 16 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf*/ - .align 16 - .type __svml_ssinh_data_internal,@object - .size __svml_ssinh_data_internal,.-__svml_ssinh_data_internal + .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ // k=0 + .align 16 + .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ + .align 16 + .long 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4 /* _sLn2lo */ + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ + .align 16 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 16 + .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ + .align 16 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ + .align 16 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ + .align 16 + .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ + .align 16 + .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ + .align 16 + .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ + .align 16 + .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ + // Integer constants + .align 16 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf */ + .align 16 + .type __svml_ssinh_data_internal, @object + .size __svml_ssinh_data_internal, .-__svml_ssinh_data_internal From patchwork Mon Mar 7 15:01:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602348 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=TDYjSyVt; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC32v4BSTz9s2R for ; Tue, 8 Mar 2022 02:55:51 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A9FBE385841A for ; Mon, 7 Mar 2022 15:55:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A9FBE385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668549; bh=57OgQTvSjNZklQY8v5cbHxIqL/P06rWimqI4CieBNFY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=TDYjSyVtkLQGtyBkJwxEqbOUr209SPL5bUQZvfrjEwNfC8rApqlwi5Y5LaP+l1Vye PIUjM9Ft052lOh4jVoRqoeS9CmB7qQswZAiwlQ+JAGdEKwasMwaCKGo3qqtMm9+z7V 40I+zYRo4/2ZhIf/THV9KmjLBq9AxUETQEUt6VzQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 3504F3858434 for ; Mon, 7 Mar 2022 15:02:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3504F3858434 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347811" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347811" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="780351121" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fP016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 111/126] x86_64: Fix svml_s_sinhf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:46 -0800 Message-Id: <20220307150201.10590-112-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_sinhf8_core_avx2.S | 492 +++++++++--------- 1 file changed, 245 insertions(+), 247 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S index ada2f6dd1d..8c4b46cee2 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_sinhf8_core_avx2.S @@ -34,276 +34,274 @@ /* Offsets for data table __svml_ssinh_data_internal */ -#define _sInvLn2 0 -#define _sLn2hi 32 -#define _sLn2lo 64 -#define _sSign 96 -#define _sShifter 128 -#define _iDomainRange 160 -#define _sPC1 192 -#define _sPC2 224 -#define _sPC3 256 -#define _sPC4 288 -#define _sPC5 320 -#define _sPC6 352 -#define _iHalf 384 +#define _sInvLn2 0 +#define _sLn2hi 32 +#define _sLn2lo 64 +#define _sSign 96 +#define _sShifter 128 +#define _iDomainRange 160 +#define _sPC1 192 +#define _sPC2 224 +#define _sPC3 256 +#define _sPC4 288 +#define _sPC5 320 +#define _sPC6 352 +#define _iHalf 384 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_sinhf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - vmovups _sInvLn2+__svml_ssinh_data_internal(%rip), %ymm7 - vmovups _sShifter+__svml_ssinh_data_internal(%rip), %ymm4 - vmovups _sLn2hi+__svml_ssinh_data_internal(%rip), %ymm5 - -/* - * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) - * sOut = (a4 +a6*sR2) - */ - vmovups _sPC6+__svml_ssinh_data_internal(%rip), %ymm14 - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... - * sSinh_r = (a3+r^2*a5) - */ - vmovups _sPC5+__svml_ssinh_data_internal(%rip), %ymm12 - vmovups _iHalf+__svml_ssinh_data_internal(%rip), %ymm8 - vmovaps %ymm0, %ymm2 - -/* - * Implementation - * Abs argument - */ - vandps _sSign+__svml_ssinh_data_internal(%rip), %ymm2, %ymm1 - vxorps %ymm2, %ymm1, %ymm0 - -/* - * Load argument - * dM = x/log(2) + RShifter - */ - vfmadd213ps %ymm4, %ymm0, %ymm7 - -/* - * R - * sN = sM - RShifter - */ - vsubps %ymm4, %ymm7, %ymm6 - -/* - * G1,G2 2^N,2^(-N) - * iM now is an EXP(2^N) - */ - vpslld $23, %ymm7, %ymm9 - -/* - * Check for overflow\underflow - * MORE faster than GE? - */ - vpcmpgtd _iDomainRange+__svml_ssinh_data_internal(%rip), %ymm0, %ymm3 - -/* sR = sX - sN*Log2_hi */ - vfnmadd231ps %ymm5, %ymm6, %ymm0 - vpaddd %ymm9, %ymm8, %ymm10 - vpsubd %ymm9, %ymm8, %ymm11 - -/* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ - vfnmadd231ps _sLn2lo+__svml_ssinh_data_internal(%rip), %ymm6, %ymm0 - -/* sR2 = sR^2 */ - vmulps %ymm0, %ymm0, %ymm13 - vfmadd213ps _sPC4+__svml_ssinh_data_internal(%rip), %ymm13, %ymm14 - vfmadd213ps _sPC3+__svml_ssinh_data_internal(%rip), %ymm13, %ymm12 - -/* sOut = a2+sR2*(a4+a6*sR2) */ - vfmadd213ps _sPC2+__svml_ssinh_data_internal(%rip), %ymm13, %ymm14 - -/* sSinh_r = r^2*(a3+r^2*a5) */ - vmulps %ymm12, %ymm13, %ymm12 - -/* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ - vmulps %ymm14, %ymm13, %ymm15 - -/* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - vfmadd213ps %ymm0, %ymm0, %ymm12 - vmovmskps %ymm3, %edx - -/* sG1 = 2^(N-1)+2^(-N-1) */ - vaddps %ymm11, %ymm10, %ymm3 - -/* sG2 = 2^(N-1)-2^(-N-1) */ - vsubps %ymm11, %ymm10, %ymm10 - -/* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vmulps %ymm15, %ymm10, %ymm0 - -/* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vfmadd213ps %ymm0, %ymm12, %ymm3 - -/* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ - vaddps %ymm3, %ymm10, %ymm4 - -/* Ret H */ - vorps %ymm4, %ymm1, %ymm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx ymm0 ymm2 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + vmovups _sInvLn2+__svml_ssinh_data_internal(%rip), %ymm7 + vmovups _sShifter+__svml_ssinh_data_internal(%rip), %ymm4 + vmovups _sLn2hi+__svml_ssinh_data_internal(%rip), %ymm5 + + /* + * sinh(X) = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) + * sOut = (a4 +a6*sR2) + */ + vmovups _sPC6+__svml_ssinh_data_internal(%rip), %ymm14 + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*(a5+{v1 r^2*a7})))) = r + r*(r^2*(a3+r^2*(a5+r^2*a7))) .... + * sSinh_r = (a3+r^2*a5) + */ + vmovups _sPC5+__svml_ssinh_data_internal(%rip), %ymm12 + vmovups _iHalf+__svml_ssinh_data_internal(%rip), %ymm8 + vmovaps %ymm0, %ymm2 + + /* + * Implementation + * Abs argument + */ + vandps _sSign+__svml_ssinh_data_internal(%rip), %ymm2, %ymm1 + vxorps %ymm2, %ymm1, %ymm0 + + /* + * Load argument + * dM = x/log(2) + RShifter + */ + vfmadd213ps %ymm4, %ymm0, %ymm7 + + /* + * R + * sN = sM - RShifter + */ + vsubps %ymm4, %ymm7, %ymm6 + + /* + * G1, G2 2^N, 2^(-N) + * iM now is an EXP(2^N) + */ + vpslld $23, %ymm7, %ymm9 + + /* + * Check for overflow\underflow + * MORE faster than GE? + */ + vpcmpgtd _iDomainRange+__svml_ssinh_data_internal(%rip), %ymm0, %ymm3 + + /* sR = sX - sN*Log2_hi */ + vfnmadd231ps %ymm5, %ymm6, %ymm0 + vpaddd %ymm9, %ymm8, %ymm10 + vpsubd %ymm9, %ymm8, %ymm11 + + /* sR = (sX - sN*Log2_hi) - sN*Log2_lo */ + vfnmadd231ps _sLn2lo+__svml_ssinh_data_internal(%rip), %ymm6, %ymm0 + + /* sR2 = sR^2 */ + vmulps %ymm0, %ymm0, %ymm13 + vfmadd213ps _sPC4+__svml_ssinh_data_internal(%rip), %ymm13, %ymm14 + vfmadd213ps _sPC3+__svml_ssinh_data_internal(%rip), %ymm13, %ymm12 + + /* sOut = a2+sR2*(a4+a6*sR2) */ + vfmadd213ps _sPC2+__svml_ssinh_data_internal(%rip), %ymm13, %ymm14 + + /* sSinh_r = r^2*(a3+r^2*a5) */ + vmulps %ymm12, %ymm13, %ymm12 + + /* sOut = sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm14, %ymm13, %ymm15 + + /* sSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213ps %ymm0, %ymm0, %ymm12 + vmovmskps %ymm3, %edx + + /* sG1 = 2^(N-1)+2^(-N-1) */ + vaddps %ymm11, %ymm10, %ymm3 + + /* sG2 = 2^(N-1)-2^(-N-1) */ + vsubps %ymm11, %ymm10, %ymm10 + + /* sOut = sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vmulps %ymm15, %ymm10, %ymm0 + + /* sOut = sG1*sinh(dR)+sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vfmadd213ps %ymm0, %ymm12, %ymm3 + + /* sOut = sG2 + sG1*sinh(dR) + sG2*sR2*(a2+sR2*(a4+a6*sR2) */ + vaddps %ymm3, %ymm10, %ymm4 + + /* Ret H */ + vorps %ymm4, %ymm1, %ymm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx ymm0 ymm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %ymm2, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx ymm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %ymm2, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx ymm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call sinhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call sinhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_sinhf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_ssinh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _sInvLn2[8][1]; - __declspec(align(32)) VUINT32 _sLn2hi[8][1]; - __declspec(align(32)) VUINT32 _sLn2lo[8][1]; - __declspec(align(32)) VUINT32 _sSign[8][1]; - __declspec(align(32)) VUINT32 _sShifter[8][1]; - __declspec(align(32)) VUINT32 _iDomainRange[8][1]; - __declspec(align(32)) VUINT32 _sPC1[8][1]; - __declspec(align(32)) VUINT32 _sPC2[8][1]; - __declspec(align(32)) VUINT32 _sPC3[8][1]; - __declspec(align(32)) VUINT32 _sPC4[8][1]; - __declspec(align(32)) VUINT32 _sPC5[8][1]; - __declspec(align(32)) VUINT32 _sPC6[8][1]; - __declspec(align(32)) VUINT32 _iHalf[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _sInvLn2[8][1]; + __declspec(align(32)) VUINT32 _sLn2hi[8][1]; + __declspec(align(32)) VUINT32 _sLn2lo[8][1]; + __declspec(align(32)) VUINT32 _sSign[8][1]; + __declspec(align(32)) VUINT32 _sShifter[8][1]; + __declspec(align(32)) VUINT32 _iDomainRange[8][1]; + __declspec(align(32)) VUINT32 _sPC1[8][1]; + __declspec(align(32)) VUINT32 _sPC2[8][1]; + __declspec(align(32)) VUINT32 _sPC3[8][1]; + __declspec(align(32)) VUINT32 _sPC4[8][1]; + __declspec(align(32)) VUINT32 _sPC5[8][1]; + __declspec(align(32)) VUINT32 _sPC6[8][1]; + __declspec(align(32)) VUINT32 _iHalf[8][1]; } __svml_ssinh_data_internal; #endif __svml_ssinh_data_internal: - .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ //k=0 - .align 32 - .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ - .align 32 - .long 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4 /* _sLn2lo */ - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ - .align 32 - .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ - .align 32 - .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ - .align 32 - .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ - .align 32 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ - .align 32 - .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ - .align 32 - .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ - .align 32 - .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ - .align 32 - .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ - // Integer constants - .align 32 - .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf*/ - .align 32 - .type __svml_ssinh_data_internal,@object - .size __svml_ssinh_data_internal,.-__svml_ssinh_data_internal + .long 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B, 0x3FB8AA3B /* _sInvLn2 */ // k=0 + .align 32 + .long 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000, 0x3F317000 /* _sLn2hi */ + .align 32 + .long 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4, 0x3805FDF4 /* _sLn2lo */ + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSign */ + .align 32 + .long 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000, 0x4b400000 /* _sShifter */ + .align 32 + .long 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E, 0x42AEAC4E /* _iDomainRange */ + .align 32 + .long 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000, 0x3F800000 /* _sPC1=1 */ + .align 32 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _sPC2 */ + .align 32 + .long 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57, 0x3e2aaa57 /* _sPC3 */ + .align 32 + .long 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72, 0x3d2aaa72 /* _sPC4 */ + .align 32 + .long 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461, 0x3c091461 /* _sPC5 */ + .align 32 + .long 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3, 0x3ab6a8a3 /* _sPC6 */ + // Integer constants + .align 32 + .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000 /* _iHalf */ + .align 32 + .type __svml_ssinh_data_internal, @object + .size __svml_ssinh_data_internal, .-__svml_ssinh_data_internal From patchwork Mon Mar 7 15:01:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602408 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=UBuVyrG/; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3xS2xF8z9sFt for ; Tue, 8 Mar 2022 03:36:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 54E6F3857C53 for ; Mon, 7 Mar 2022 16:36:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 54E6F3857C53 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670970; bh=0eoNt7MBpl5xlpBIgc7Ch6Pzz03jzbdf2aJ711vWZh0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=UBuVyrG/ZFFW6lz1YRzcV0SirE4ZtgS7QRnSsLRcTD0T80NMfD8WcUh84u91+opRs FR6ab1w56PxjN+rwBSz9pFGjfG6nx/IjheQITEZKFmMtaDb9m1C4gxTZc/8dLFC3r6 dYJiZVf1r4G4jx0S+PWm+109FPEOqNatfvPVJ49A= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 88E983858015 for ; Mon, 7 Mar 2022 15:03:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 88E983858015 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017290" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017290" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141880" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fQ016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 112/126] x86_64: Fix svml_d_sinh2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:47 -0800 Message-Id: <20220307150201.10590-113-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_sinh2_core_sse4.S | 784 +++++++++--------- 1 file changed, 391 insertions(+), 393 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S index d2bc2ed813..bb0828bbdb 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh2_core_sse4.S @@ -34,423 +34,421 @@ /* Offsets for data table __svml_dsinh_data_internal */ -#define _dbInvLn2 0 -#define _dbLn2hi 16 -#define _dbLn2lo 32 -#define _dSign 48 -#define _dbT 64 -#define _dbShifter 2112 -#define _iDomainRange 2128 -#define _dPC2 2144 -#define _dPC3 2160 -#define _dPC4 2176 -#define _dPC5 2192 -#define _lIndexMask 2208 +#define _dbInvLn2 0 +#define _dbLn2hi 16 +#define _dbLn2lo 32 +#define _dSign 48 +#define _dbT 64 +#define _dbShifter 2112 +#define _iDomainRange 2128 +#define _dPC2 2144 +#define _dPC3 2160 +#define _dPC4 2176 +#define _dPC5 2192 +#define _lIndexMask 2208 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_sinh_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm2 - -/* Abs argument */ - movups _dSign+__svml_dsinh_data_internal(%rip), %xmm0 - lea _dbT+8+__svml_dsinh_data_internal(%rip), %rsi - andps %xmm2, %xmm0 - movaps %xmm0, %xmm1 - -/* - * Load argument - * dM = x*2^K/log(2) + RShifter - */ - movups _dbInvLn2+__svml_dsinh_data_internal(%rip), %xmm10 - pxor %xmm2, %xmm1 - mulpd %xmm1, %xmm10 - movups _dbShifter+__svml_dsinh_data_internal(%rip), %xmm5 - addpd %xmm5, %xmm10 - -/* - * R - * dN = dM - RShifter - */ - movaps %xmm10, %xmm7 - subpd %xmm5, %xmm7 - -/* dR = dX - dN*Log2_hi/2^K */ - movups _dbLn2hi+__svml_dsinh_data_internal(%rip), %xmm6 - mulpd %xmm7, %xmm6 - -/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ - movups _dbLn2lo+__svml_dsinh_data_internal(%rip), %xmm8 - mulpd %xmm7, %xmm8 - -/* - * Check for overflow\underflow - * - */ - pshufd $221, %xmm1, %xmm4 - subpd %xmm6, %xmm1 - subpd %xmm8, %xmm1 - -/* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */ - movq _iDomainRange+__svml_dsinh_data_internal(%rip), %xmm3 - pcmpgtd %xmm3, %xmm4 - -/* dR2 = dR^2 */ - movaps %xmm1, %xmm3 - mulpd %xmm1, %xmm3 - movmskps %xmm4, %edx - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... - * dSinh_r = (a3+r^2*a5) - */ - movups _dPC5+__svml_dsinh_data_internal(%rip), %xmm12 - -/* - * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) - * dOut = (a2 +a4*dR2) - */ - movups _dPC4+__svml_dsinh_data_internal(%rip), %xmm13 - mulpd %xmm3, %xmm12 - mulpd %xmm3, %xmm13 - addpd _dPC3+__svml_dsinh_data_internal(%rip), %xmm12 - addpd _dPC2+__svml_dsinh_data_internal(%rip), %xmm13 - -/* dSinh_r = r^2*(a3+r^2*a5) */ - mulpd %xmm3, %xmm12 - -/* dOut = dR2*(a2 +a4*dR2) */ - mulpd %xmm13, %xmm3 - -/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - mulpd %xmm1, %xmm12 - -/* - * Index and lookup - * j - */ - movups _lIndexMask+__svml_dsinh_data_internal(%rip), %xmm9 - andps %xmm10, %xmm9 - movd %xmm9, %eax - -/* split j and N */ - pxor %xmm9, %xmm10 - -/* - * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) - * lM now is an EXP(2^N) - */ - psllq $45, %xmm10 - -/* */ - movaps %xmm10, %xmm4 - pextrw $4, %xmm9, %ecx - addpd %xmm12, %xmm1 - shll $4, %eax - shll $4, %ecx - movq (%rax,%rsi), %xmm11 - movhpd (%rcx,%rsi), %xmm11 - paddq %xmm11, %xmm4 - -/* */ - psubq %xmm10, %xmm11 - -/* dG3 = dTn*2^N + dTn*2^-N */ - movdqa %xmm4, %xmm14 - addpd %xmm11, %xmm14 - -/* dG2 = dTn*2^N - dTn*2^-N */ - subpd %xmm11, %xmm4 - movq -8(%rax,%rsi), %xmm15 - movhpd -8(%rcx,%rsi), %xmm15 - paddq %xmm10, %xmm15 - -/* dG2 += dG1 */ - addpd %xmm15, %xmm4 - -/* dG1 += dG3 */ - addpd %xmm14, %xmm15 - -/* dOut = dG2*dR2*(a2 +a4*dR2) */ - mulpd %xmm4, %xmm3 - -/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ - mulpd %xmm15, %xmm1 - addpd %xmm1, %xmm3 - -/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ - addpd %xmm3, %xmm4 - -/* Ret H */ - orps %xmm4, %xmm0 - andl $3, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm2 - -/* Restore registers - * and exit the function - */ + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm2 + + /* Abs argument */ + movups _dSign+__svml_dsinh_data_internal(%rip), %xmm0 + lea _dbT+8+__svml_dsinh_data_internal(%rip), %rsi + andps %xmm2, %xmm0 + movaps %xmm0, %xmm1 + + /* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + movups _dbInvLn2+__svml_dsinh_data_internal(%rip), %xmm10 + pxor %xmm2, %xmm1 + mulpd %xmm1, %xmm10 + movups _dbShifter+__svml_dsinh_data_internal(%rip), %xmm5 + addpd %xmm5, %xmm10 + + /* + * R + * dN = dM - RShifter + */ + movaps %xmm10, %xmm7 + subpd %xmm5, %xmm7 + + /* dR = dX - dN*Log2_hi/2^K */ + movups _dbLn2hi+__svml_dsinh_data_internal(%rip), %xmm6 + mulpd %xmm7, %xmm6 + + /* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + movups _dbLn2lo+__svml_dsinh_data_internal(%rip), %xmm8 + mulpd %xmm7, %xmm8 + + /* + * Check for overflow\underflow + * + */ + pshufd $221, %xmm1, %xmm4 + subpd %xmm6, %xmm1 + subpd %xmm8, %xmm1 + + /* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */ + movq _iDomainRange+__svml_dsinh_data_internal(%rip), %xmm3 + pcmpgtd %xmm3, %xmm4 + + /* dR2 = dR^2 */ + movaps %xmm1, %xmm3 + mulpd %xmm1, %xmm3 + movmskps %xmm4, %edx + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... + * dSinh_r = (a3+r^2*a5) + */ + movups _dPC5+__svml_dsinh_data_internal(%rip), %xmm12 + + /* + * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) + * dOut = (a2 +a4*dR2) + */ + movups _dPC4+__svml_dsinh_data_internal(%rip), %xmm13 + mulpd %xmm3, %xmm12 + mulpd %xmm3, %xmm13 + addpd _dPC3+__svml_dsinh_data_internal(%rip), %xmm12 + addpd _dPC2+__svml_dsinh_data_internal(%rip), %xmm13 + + /* dSinh_r = r^2*(a3+r^2*a5) */ + mulpd %xmm3, %xmm12 + + /* dOut = dR2*(a2 +a4*dR2) */ + mulpd %xmm13, %xmm3 + + /* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + mulpd %xmm1, %xmm12 + + /* + * Index and lookup + * j + */ + movups _lIndexMask+__svml_dsinh_data_internal(%rip), %xmm9 + andps %xmm10, %xmm9 + movd %xmm9, %eax + + /* split j and N */ + pxor %xmm9, %xmm10 + + /* + * G1, G2, G3: dTdif, dTn * 2^N, 2^(-N) + * lM now is an EXP(2^N) + */ + psllq $45, %xmm10 + + /* */ + movaps %xmm10, %xmm4 + pextrw $4, %xmm9, %ecx + addpd %xmm12, %xmm1 + shll $4, %eax + shll $4, %ecx + movq (%rax, %rsi), %xmm11 + movhpd (%rcx, %rsi), %xmm11 + paddq %xmm11, %xmm4 + + /* */ + psubq %xmm10, %xmm11 + + /* dG3 = dTn*2^N + dTn*2^-N */ + movdqa %xmm4, %xmm14 + addpd %xmm11, %xmm14 + + /* dG2 = dTn*2^N - dTn*2^-N */ + subpd %xmm11, %xmm4 + movq -8(%rax, %rsi), %xmm15 + movhpd -8(%rcx, %rsi), %xmm15 + paddq %xmm10, %xmm15 + + /* dG2 += dG1 */ + addpd %xmm15, %xmm4 + + /* dG1 += dG3 */ + addpd %xmm14, %xmm15 + + /* dOut = dG2*dR2*(a2 +a4*dR2) */ + mulpd %xmm4, %xmm3 + + /* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + mulpd %xmm15, %xmm1 + addpd %xmm1, %xmm3 + + /* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + addpd %xmm3, %xmm4 + + /* Ret H */ + orps %xmm4, %xmm0 + andl $3, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 xmm2 + + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm2, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 - - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm2, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 + + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $2, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call sinh@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call sinh@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_sinh_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dsinh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dbInvLn2[2][2]; - __declspec(align(16)) VUINT32 _dbLn2hi[2][2]; - __declspec(align(16)) VUINT32 _dbLn2lo[2][2]; - __declspec(align(16)) VUINT32 _dSign[2][2]; //0x8000000000000000 - __declspec(align(16)) VUINT32 _dbT[(1<<7)][2][2]; //precalc poly coeff - __declspec(align(16)) VUINT32 _dbShifter[2][2]; - __declspec(align(16)) VUINT32 _iDomainRange[4][1]; - __declspec(align(16)) VUINT32 _dPC2[2][2]; - __declspec(align(16)) VUINT32 _dPC3[2][2]; - __declspec(align(16)) VUINT32 _dPC4[2][2]; - __declspec(align(16)) VUINT32 _dPC5[2][2]; - __declspec(align(16)) VUINT32 _lIndexMask[2][2]; +typedef struct { + __declspec(align(16)) VUINT32 _dbInvLn2[2][2]; + __declspec(align(16)) VUINT32 _dbLn2hi[2][2]; + __declspec(align(16)) VUINT32 _dbLn2lo[2][2]; + __declspec(align(16)) VUINT32 _dSign[2][2]; // 0x8000000000000000 + __declspec(align(16)) VUINT32 _dbT[(1<<7)][2][2]; // precalc poly coeff + __declspec(align(16)) VUINT32 _dbShifter[2][2]; + __declspec(align(16)) VUINT32 _iDomainRange[4][1]; + __declspec(align(16)) VUINT32 _dPC2[2][2]; + __declspec(align(16)) VUINT32 _dPC3[2][2]; + __declspec(align(16)) VUINT32 _dPC4[2][2]; + __declspec(align(16)) VUINT32 _dPC5[2][2]; + __declspec(align(16)) VUINT32 _lIndexMask[2][2]; } __svml_dsinh_data_internal; #endif __svml_dsinh_data_internal: - .quad 0x3FF71547652B82FE, 0x3FF71547652B82FE /* _dbInvLn2 = 1/log(2) */ - .align 16 - .quad 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000 /* _dbLn2hi = log(2) hi*/ - .align 16 - .quad 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A /* _dbLn2lo = log(2) lo*/ - .align 16 - .quad 0x8000000000000000, 0x8000000000000000 /* _dSign */ - //_dbT - .align 16 - .quad 0x0000000000000000, 0x3FE0000000000000 //2^( 0 /128-1) - 2^(- 0 /128-1), 2^(- 0 /128-1) - .quad 0x3F762E4A19BD1E74, 0x3FDFD3C22B8F71F1 //2^( 1 /128-1) - 2^(- 1 /128-1), 2^(- 1 /128-1) - .quad 0x3F862E5F6A0DFD36, 0x3FDFA7C1819E90D8 //2^( 2 /128-1) - 2^(- 2 /128-1), 2^(- 2 /128-1) - .quad 0x3F90A2E234040F5F, 0x3FDF7BFDAD9CBE14 //2^( 3 /128-1) - 2^(- 3 /128-1), 2^(- 3 /128-1) - .quad 0x3F962EB4ABCC5A81, 0x3FDF50765B6E4540 //2^( 4 /128-1) - 2^(- 4 /128-1), 2^(- 4 /128-1) - .quad 0x3F9BBAB1C5033244, 0x3FDF252B376BBA97 //2^( 5 /128-1) - 2^(- 5 /128-1), 2^(- 5 /128-1) - .quad 0x3FA0A372144EEB45, 0x3FDEFA1BEE615A27 //2^( 6 /128-1) - 2^(- 6 /128-1), 2^(- 6 /128-1) - .quad 0x3FA369AB3FFBF8B0, 0x3FDECF482D8E67F1 //2^( 7 /128-1) - 2^(- 7 /128-1), 2^(- 7 /128-1) - .quad 0x3FA63009BA740A2A, 0x3FDEA4AFA2A490DA //2^( 8 /128-1) - 2^(- 8 /128-1), 2^(- 8 /128-1) - .quad 0x3FA8F692D8EA1B5A, 0x3FDE7A51FBC74C83 //2^( 9 /128-1) - 2^(- 9 /128-1), 2^(- 9 /128-1) - .quad 0x3FABBD4BF0E31A6F, 0x3FDE502EE78B3FF6 //2^( 10 /128-1) - 2^(- 10 /128-1), 2^(- 10 /128-1) - .quad 0x3FAE843A5840286A, 0x3FDE264614F5A129 //2^( 11 /128-1) - 2^(- 11 /128-1), 2^(- 11 /128-1) - .quad 0x3FB0A5B1B2A46D0A, 0x3FDDFC97337B9B5F //2^( 12 /128-1) - 2^(- 12 /128-1), 2^(- 12 /128-1) - .quad 0x3FB20966375ABCDF, 0x3FDDD321F301B460 //2^( 13 /128-1) - 2^(- 13 /128-1), 2^(- 13 /128-1) - .quad 0x3FB36D3D65DCA4E8, 0x3FDDA9E603DB3285 //2^( 14 /128-1) - 2^(- 14 /128-1), 2^(- 14 /128-1) - .quad 0x3FB4D139EA06642A, 0x3FDD80E316C98398 //2^( 15 /128-1) - 2^(- 15 /128-1), 2^(- 15 /128-1) - .quad 0x3FB6355E6FFBF9BA, 0x3FDD5818DCFBA487 //2^( 16 /128-1) - 2^(- 16 /128-1), 2^(- 16 /128-1) - .quad 0x3FB799ADA42E4788, 0x3FDD2F87080D89F2 //2^( 17 /128-1) - 2^(- 17 /128-1), 2^(- 17 /128-1) - .quad 0x3FB8FE2A336035BC, 0x3FDD072D4A07897C //2^( 18 /128-1) - 2^(- 18 /128-1), 2^(- 18 /128-1) - .quad 0x3FBA62D6CAABD6B6, 0x3FDCDF0B555DC3FA //2^( 19 /128-1) - 2^(- 19 /128-1), 2^(- 19 /128-1) - .quad 0x3FBBC7B617878BAF, 0x3FDCB720DCEF9069 //2^( 20 /128-1) - 2^(- 20 /128-1), 2^(- 20 /128-1) - .quad 0x3FBD2CCAC7CB2A11, 0x3FDC8F6D9406E7B5 //2^( 21 /128-1) - 2^(- 21 /128-1), 2^(- 21 /128-1) - .quad 0x3FBE921789B52185, 0x3FDC67F12E57D14B //2^( 22 /128-1) - 2^(- 22 /128-1), 2^(- 22 /128-1) - .quad 0x3FBFF79F0BEFA2C7, 0x3FDC40AB5FFFD07A //2^( 23 /128-1) - 2^(- 23 /128-1), 2^(- 23 /128-1) - .quad 0x3FC0AEB1FECAE3A9, 0x3FDC199BDD85529C //2^( 24 /128-1) - 2^(- 24 /128-1), 2^(- 24 /128-1) - .quad 0x3FC161B4871C5CEC, 0x3FDBF2C25BD71E09 //2^( 25 /128-1) - 2^(- 25 /128-1), 2^(- 25 /128-1) - .quad 0x3FC214D876F26FD0, 0x3FDBCC1E904BC1D2 //2^( 26 /128-1) - 2^(- 26 /128-1), 2^(- 26 /128-1) - .quad 0x3FC2C81F2693816F, 0x3FDBA5B030A1064A //2^( 27 /128-1) - 2^(- 27 /128-1), 2^(- 27 /128-1) - .quad 0x3FC37B89EE88BEF7, 0x3FDB7F76F2FB5E47 //2^( 28 /128-1) - 2^(- 28 /128-1), 2^(- 28 /128-1) - .quad 0x3FC42F1A27A0B3CD, 0x3FDB59728DE5593A //2^( 29 /128-1) - 2^(- 29 /128-1), 2^(- 29 /128-1) - .quad 0x3FC4E2D12AF1E037, 0x3FDB33A2B84F15FB //2^( 30 /128-1) - 2^(- 30 /128-1), 2^(- 30 /128-1) - .quad 0x3FC596B051DD508D, 0x3FDB0E07298DB666 //2^( 31 /128-1) - 2^(- 31 /128-1), 2^(- 31 /128-1) - .quad 0x3FC64AB8F61134FA, 0x3FDAE89F995AD3AD //2^( 32 /128-1) - 2^(- 32 /128-1), 2^(- 32 /128-1) - .quad 0x3FC6FEEC718B79D1, 0x3FDAC36BBFD3F37A //2^( 33 /128-1) - 2^(- 33 /128-1), 2^(- 33 /128-1) - .quad 0x3FC7B34C1E9C607F, 0x3FDA9E6B5579FDBF //2^( 34 /128-1) - 2^(- 34 /128-1), 2^(- 34 /128-1) - .quad 0x3FC867D957E91912, 0x3FDA799E1330B358 //2^( 35 /128-1) - 2^(- 35 /128-1), 2^(- 35 /128-1) - .quad 0x3FC91C95786E5C72, 0x3FDA5503B23E255D //2^( 36 /128-1) - 2^(- 36 /128-1), 2^(- 36 /128-1) - .quad 0x3FC9D181DB83072F, 0x3FDA309BEC4A2D33 //2^( 37 /128-1) - 2^(- 37 /128-1), 2^(- 37 /128-1) - .quad 0x3FCA869FDCDAB512, 0x3FDA0C667B5DE565 //2^( 38 /128-1) - 2^(- 38 /128-1), 2^(- 38 /128-1) - .quad 0x3FCB3BF0D8885D4C, 0x3FD9E86319E32323 //2^( 39 /128-1) - 2^(- 39 /128-1), 2^(- 39 /128-1) - .quad 0x3FCBF1762B00EF69, 0x3FD9C49182A3F090 //2^( 40 /128-1) - 2^(- 40 /128-1), 2^(- 40 /128-1) - .quad 0x3FCCA731311DF0FB, 0x3FD9A0F170CA07BA //2^( 41 /128-1) - 2^(- 41 /128-1), 2^(- 41 /128-1) - .quad 0x3FCD5D2348201C09, 0x3FD97D829FDE4E50 //2^( 42 /128-1) - 2^(- 42 /128-1), 2^(- 42 /128-1) - .quad 0x3FCE134DCDB1FE3E, 0x3FD95A44CBC8520F //2^( 43 /128-1) - 2^(- 43 /128-1), 2^(- 43 /128-1) - .quad 0x3FCEC9B21FEA98EA, 0x3FD93737B0CDC5E5 //2^( 44 /128-1) - 2^(- 44 /128-1), 2^(- 44 /128-1) - .quad 0x3FCF80519D5001D3, 0x3FD9145B0B91FFC6 //2^( 45 /128-1) - 2^(- 45 /128-1), 2^(- 45 /128-1) - .quad 0x3FD01B96D26D026A, 0x3FD8F1AE99157736 //2^( 46 /128-1) - 2^(- 46 /128-1), 2^(- 46 /128-1) - .quad 0x3FD07723CAFA6331, 0x3FD8CF3216B5448C //2^( 47 /128-1) - 2^(- 47 /128-1), 2^(- 47 /128-1) - .quad 0x3FD0D2D06841B373, 0x3FD8ACE5422AA0DB //2^( 48 /128-1) - 2^(- 48 /128-1), 2^(- 48 /128-1) - .quad 0x3FD12E9D5A715381, 0x3FD88AC7D98A6699 //2^( 49 /128-1) - 2^(- 49 /128-1), 2^(- 49 /128-1) - .quad 0x3FD18A8B51F5C661, 0x3FD868D99B4492ED //2^( 50 /128-1) - 2^(- 50 /128-1), 2^(- 50 /128-1) - .quad 0x3FD1E69AFF7B04D7, 0x3FD8471A4623C7AD //2^( 51 /128-1) - 2^(- 51 /128-1), 2^(- 51 /128-1) - .quad 0x3FD242CD13EDD0F1, 0x3FD82589994CCE13 //2^( 52 /128-1) - 2^(- 52 /128-1), 2^(- 52 /128-1) - .quad 0x3FD29F22407D0A0C, 0x3FD80427543E1A12 //2^( 53 /128-1) - 2^(- 53 /128-1), 2^(- 53 /128-1) - .quad 0x3FD2FB9B369B0153, 0x3FD7E2F336CF4E62 //2^( 54 /128-1) - 2^(- 54 /128-1), 2^(- 54 /128-1) - .quad 0x3FD35838A7FECEC8, 0x3FD7C1ED0130C132 //2^( 55 /128-1) - 2^(- 55 /128-1), 2^(- 55 /128-1) - .quad 0x3FD3B4FB46A5A6CC, 0x3FD7A11473EB0187 //2^( 56 /128-1) - 2^(- 56 /128-1), 2^(- 56 /128-1) - .quad 0x3FD411E3C4D4302F, 0x3FD780694FDE5D3F //2^( 57 /128-1) - 2^(- 57 /128-1), 2^(- 57 /128-1) - .quad 0x3FD46EF2D517DAC8, 0x3FD75FEB564267C9 //2^( 58 /128-1) - 2^(- 58 /128-1), 2^(- 58 /128-1) - .quad 0x3FD4CC292A48369E, 0x3FD73F9A48A58174 //2^( 59 /128-1) - 2^(- 59 /128-1), 2^(- 59 /128-1) - .quad 0x3FD5298777884B96, 0x3FD71F75E8EC5F74 //2^( 60 /128-1) - 2^(- 60 /128-1), 2^(- 60 /128-1) - .quad 0x3FD5870E7047F1BC, 0x3FD6FF7DF9519484 //2^( 61 /128-1) - 2^(- 61 /128-1), 2^(- 61 /128-1) - .quad 0x3FD5E4BEC8452A1A, 0x3FD6DFB23C651A2F //2^( 62 /128-1) - 2^(- 62 /128-1), 2^(- 62 /128-1) - .quad 0x3FD64299338D7827, 0x3FD6C012750BDABF //2^( 63 /128-1) - 2^(- 63 /128-1), 2^(- 63 /128-1) - .quad 0x3FD6A09E667F3BCD, 0x3FD6A09E667F3BCD //2^( 64 /128-1) - 2^(- 64 /128-1), 2^(- 64 /128-1) - .quad 0x3FD6FECF15CB0C0B, 0x3FD68155D44CA973 //2^( 65 /128-1) - 2^(- 65 /128-1), 2^(- 65 /128-1) - .quad 0x3FD75D2BF6751239, 0x3FD6623882552225 //2^( 66 /128-1) - 2^(- 66 /128-1), 2^(- 66 /128-1) - .quad 0x3FD7BBB5BDD665E8, 0x3FD6434634CCC320 //2^( 67 /128-1) - 2^(- 67 /128-1), 2^(- 67 /128-1) - .quad 0x3FD81A6D219E6963, 0x3FD6247EB03A5585 //2^( 68 /128-1) - 2^(- 68 /128-1), 2^(- 68 /128-1) - .quad 0x3FD87952D7D426DF, 0x3FD605E1B976DC09 //2^( 69 /128-1) - 2^(- 69 /128-1), 2^(- 69 /128-1) - .quad 0x3FD8D86796D7AE49, 0x3FD5E76F15AD2148 //2^( 70 /128-1) - 2^(- 70 /128-1), 2^(- 70 /128-1) - .quad 0x3FD937AC156373C8, 0x3FD5C9268A5946B7 //2^( 71 /128-1) - 2^(- 71 /128-1), 2^(- 71 /128-1) - .quad 0x3FD997210A8DAEE4, 0x3FD5AB07DD485429 //2^( 72 /128-1) - 2^(- 72 /128-1), 2^(- 72 /128-1) - .quad 0x3FD9F6C72DC9BA68, 0x3FD58D12D497C7FD //2^( 73 /128-1) - 2^(- 73 /128-1), 2^(- 73 /128-1) - .quad 0x3FDA569F36E974EA, 0x3FD56F4736B527DA //2^( 74 /128-1) - 2^(- 74 /128-1), 2^(- 74 /128-1) - .quad 0x3FDAB6A9DE1EA215, 0x3FD551A4CA5D920F //2^( 75 /128-1) - 2^(- 75 /128-1), 2^(- 75 /128-1) - .quad 0x3FDB16E7DBFC4CA3, 0x3FD5342B569D4F82 //2^( 76 /128-1) - 2^(- 76 /128-1), 2^(- 76 /128-1) - .quad 0x3FDB7759E9782918, 0x3FD516DAA2CF6642 //2^( 77 /128-1) - 2^(- 77 /128-1), 2^(- 77 /128-1) - .quad 0x3FDBD800BFEBF932, 0x3FD4F9B2769D2CA7 //2^( 78 /128-1) - 2^(- 78 /128-1), 2^(- 78 /128-1) - .quad 0x3FDC38DD1916F025, 0x3FD4DCB299FDDD0D //2^( 79 /128-1) - 2^(- 79 /128-1), 2^(- 79 /128-1) - .quad 0x3FDC99EFAF1F1790, 0x3FD4BFDAD5362A27 //2^( 80 /128-1) - 2^(- 80 /128-1), 2^(- 80 /128-1) - .quad 0x3FDCFB393C92B539, 0x3FD4A32AF0D7D3DE //2^( 81 /128-1) - 2^(- 81 /128-1), 2^(- 81 /128-1) - .quad 0x3FDD5CBA7C69B19C, 0x3FD486A2B5C13CD0 //2^( 82 /128-1) - 2^(- 82 /128-1), 2^(- 82 /128-1) - .quad 0x3FDDBE742A06FF34, 0x3FD46A41ED1D0057 //2^( 83 /128-1) - 2^(- 83 /128-1), 2^(- 83 /128-1) - .quad 0x3FDE2067013A029D, 0x3FD44E086061892D //2^( 84 /128-1) - 2^(- 84 /128-1), 2^(- 84 /128-1) - .quad 0x3FDE8293BE3FFB87, 0x3FD431F5D950A897 //2^( 85 /128-1) - 2^(- 85 /128-1), 2^(- 85 /128-1) - .quad 0x3FDEE4FB1DC56E75, 0x3FD4160A21F72E2A //2^( 86 /128-1) - 2^(- 86 /128-1), 2^(- 86 /128-1) - .quad 0x3FDF479DDCE78F58, 0x3FD3FA4504AC801C //2^( 87 /128-1) - 2^(- 87 /128-1), 2^(- 87 /128-1) - .quad 0x3FDFAA7CB935ACFE, 0x3FD3DEA64C123422 //2^( 88 /128-1) - 2^(- 88 /128-1), 2^(- 88 /128-1) - .quad 0x3FE006CC38594EB1, 0x3FD3C32DC313A8E5 //2^( 89 /128-1) - 2^(- 89 /128-1), 2^(- 89 /128-1) - .quad 0x3FE03878E0EB1569, 0x3FD3A7DB34E59FF7 //2^( 90 /128-1) - 2^(- 90 /128-1), 2^(- 90 /128-1) - .quad 0x3FE06A44B5C74101, 0x3FD38CAE6D05D866 //2^( 91 /128-1) - 2^(- 91 /128-1), 2^(- 91 /128-1) - .quad 0x3FE09C3016A0D077, 0x3FD371A7373AA9CB //2^( 92 /128-1) - 2^(- 92 /128-1), 2^(- 92 /128-1) - .quad 0x3FE0CE3B63676360, 0x3FD356C55F929FF1 //2^( 93 /128-1) - 2^(- 93 /128-1), 2^(- 93 /128-1) - .quad 0x3FE10066FC47F240, 0x3FD33C08B26416FF //2^( 94 /128-1) - 2^(- 94 /128-1), 2^(- 94 /128-1) - .quad 0x3FE132B341AD8761, 0x3FD32170FC4CD831 //2^( 95 /128-1) - 2^(- 95 /128-1), 2^(- 95 /128-1) - .quad 0x3FE165209441F823, 0x3FD306FE0A31B715 //2^( 96 /128-1) - 2^(- 96 /128-1), 2^(- 96 /128-1) - .quad 0x3FE197AF54EE9EBB, 0x3FD2ECAFA93E2F56 //2^( 97 /128-1) - 2^(- 97 /128-1), 2^(- 97 /128-1) - .quad 0x3FE1CA5FE4DD1475, 0x3FD2D285A6E4030B //2^( 98 /128-1) - 2^(- 98 /128-1), 2^(- 98 /128-1) - .quad 0x3FE1FD32A577EC72, 0x3FD2B87FD0DAD990 //2^( 99 /128-1) - 2^(- 99 /128-1), 2^(- 99 /128-1) - .quad 0x3FE23027F86B6ED6, 0x3FD29E9DF51FDEE1 //2^( 100 /128-1) - 2^(- 100 /128-1), 2^(- 100 /128-1) - .quad 0x3FE263403FA65489, 0x3FD284DFE1F56381 //2^( 101 /128-1) - 2^(- 101 /128-1), 2^(- 101 /128-1) - .quad 0x3FE2967BDD5A8364, 0x3FD26B4565E27CDD //2^( 102 /128-1) - 2^(- 102 /128-1), 2^(- 102 /128-1) - .quad 0x3FE2C9DB33FDCAE9, 0x3FD251CE4FB2A63F //2^( 103 /128-1) - 2^(- 103 /128-1), 2^(- 103 /128-1) - .quad 0x3FE2FD5EA64AA180, 0x3FD2387A6E756238 //2^( 104 /128-1) - 2^(- 104 /128-1), 2^(- 104 /128-1) - .quad 0x3FE331069740E22F, 0x3FD21F49917DDC96 //2^( 105 /128-1) - 2^(- 105 /128-1), 2^(- 105 /128-1) - .quad 0x3FE364D36A268AE0, 0x3FD2063B88628CD6 //2^( 106 /128-1) - 2^(- 106 /128-1), 2^(- 106 /128-1) - .quad 0x3FE398C582887B27, 0x3FD1ED5022FCD91D //2^( 107 /128-1) - 2^(- 107 /128-1), 2^(- 107 /128-1) - .quad 0x3FE3CCDD443B3394, 0x3FD1D4873168B9AA //2^( 108 /128-1) - 2^(- 108 /128-1), 2^(- 108 /128-1) - .quad 0x3FE4011B135B9590, 0x3FD1BBE084045CD4 //2^( 109 /128-1) - 2^(- 109 /128-1), 2^(- 109 /128-1) - .quad 0x3FE4357F544FA3C1, 0x3FD1A35BEB6FCB75 //2^( 110 /128-1) - 2^(- 110 /128-1), 2^(- 110 /128-1) - .quad 0x3FE46A0A6BC742FD, 0x3FD18AF9388C8DEA //2^( 111 /128-1) - 2^(- 111 /128-1), 2^(- 111 /128-1) - .quad 0x3FE49EBCBEBCFBCA, 0x3FD172B83C7D517B //2^( 112 /128-1) - 2^(- 112 /128-1), 2^(- 112 /128-1) - .quad 0x3FE4D396B276BC6F, 0x3FD15A98C8A58E51 //2^( 113 /128-1) - 2^(- 113 /128-1), 2^(- 113 /128-1) - .quad 0x3FE50898AC869B96, 0x3FD1429AAEA92DE0 //2^( 114 /128-1) - 2^(- 114 /128-1), 2^(- 114 /128-1) - .quad 0x3FE53DC312CB9B7A, 0x3FD12ABDC06C31CC //2^( 115 /128-1) - 2^(- 115 /128-1), 2^(- 115 /128-1) - .quad 0x3FE573164B726DB6, 0x3FD11301D0125B51 //2^( 116 /128-1) - 2^(- 116 /128-1), 2^(- 116 /128-1) - .quad 0x3FE5A892BCF6379B, 0x3FD0FB66AFFED31B //2^( 117 /128-1) - 2^(- 117 /128-1), 2^(- 117 /128-1) - .quad 0x3FE5DE38CE215725, 0x3FD0E3EC32D3D1A2 //2^( 118 /128-1) - 2^(- 118 /128-1), 2^(- 118 /128-1) - .quad 0x3FE61408E60E2888, 0x3FD0CC922B7247F7 //2^( 119 /128-1) - 2^(- 119 /128-1), 2^(- 119 /128-1) - .quad 0x3FE64A036C27CC52, 0x3FD0B5586CF9890F //2^( 120 /128-1) - 2^(- 120 /128-1), 2^(- 120 /128-1) - .quad 0x3FE68028C82AEE2F, 0x3FD09E3ECAC6F383 //2^( 121 /128-1) - 2^(- 121 /128-1), 2^(- 121 /128-1) - .quad 0x3FE6B67962268C43, 0x3FD0874518759BC8 //2^( 122 /128-1) - 2^(- 122 /128-1), 2^(- 122 /128-1) - .quad 0x3FE6ECF5A27CBF28, 0x3FD0706B29DDF6DE //2^( 123 /128-1) - 2^(- 123 /128-1), 2^(- 123 /128-1) - .quad 0x3FE7239DF1E38286, 0x3FD059B0D3158574 //2^( 124 /128-1) - 2^(- 124 /128-1), 2^(- 124 /128-1) - .quad 0x3FE75A72B9657E51, 0x3FD04315E86E7F85 //2^( 125 /128-1) - 2^(- 125 /128-1), 2^(- 125 /128-1) - .quad 0x3FE791746262D0A8, 0x3FD02C9A3E778061 //2^( 126 /128-1) - 2^(- 126 /128-1), 2^(- 126 /128-1) - .quad 0x3FE7C8A35691D856, 0x3FD0163DA9FB3335 //2^( 127 /128-1) - 2^(- 127 /128-1), 2^(- 127 /128-1) - .align 16 - .quad 0x42C8000000000000, 0x42C8000000000000 /* _dbShifter = 1.5 * 2^(52-k)*/ - .align 16 - .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp*/ - .align 16 - .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ - .align 16 - .quad 0x3FC55555555554AD, 0x3FC55555555554AD /* _dPC3 */ - .align 16 - .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ - .align 16 - .quad 0x3F8111115712F425, 0x3F8111115712F425 /* _dPC5 */ - .align 16 - .quad 0x000000000000007f, 0x000000000000007f /* _lIndexMask */ - .align 16 - .type __svml_dsinh_data_internal,@object - .size __svml_dsinh_data_internal,.-__svml_dsinh_data_internal + .quad 0x3FF71547652B82FE, 0x3FF71547652B82FE /* _dbInvLn2 = 1/log(2) */ + .align 16 + .quad 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000 /* _dbLn2hi = log(2) hi */ + .align 16 + .quad 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A /* _dbLn2lo = log(2) lo */ + .align 16 + .quad 0x8000000000000000, 0x8000000000000000 /* _dSign */ + //_dbT + .align 16 + .quad 0x0000000000000000, 0x3FE0000000000000 // 2^( 0 /128-1) - 2^(- 0 /128-1), 2^(- 0 /128-1) + .quad 0x3F762E4A19BD1E74, 0x3FDFD3C22B8F71F1 // 2^( 1 /128-1) - 2^(- 1 /128-1), 2^(- 1 /128-1) + .quad 0x3F862E5F6A0DFD36, 0x3FDFA7C1819E90D8 // 2^( 2 /128-1) - 2^(- 2 /128-1), 2^(- 2 /128-1) + .quad 0x3F90A2E234040F5F, 0x3FDF7BFDAD9CBE14 // 2^( 3 /128-1) - 2^(- 3 /128-1), 2^(- 3 /128-1) + .quad 0x3F962EB4ABCC5A81, 0x3FDF50765B6E4540 // 2^( 4 /128-1) - 2^(- 4 /128-1), 2^(- 4 /128-1) + .quad 0x3F9BBAB1C5033244, 0x3FDF252B376BBA97 // 2^( 5 /128-1) - 2^(- 5 /128-1), 2^(- 5 /128-1) + .quad 0x3FA0A372144EEB45, 0x3FDEFA1BEE615A27 // 2^( 6 /128-1) - 2^(- 6 /128-1), 2^(- 6 /128-1) + .quad 0x3FA369AB3FFBF8B0, 0x3FDECF482D8E67F1 // 2^( 7 /128-1) - 2^(- 7 /128-1), 2^(- 7 /128-1) + .quad 0x3FA63009BA740A2A, 0x3FDEA4AFA2A490DA // 2^( 8 /128-1) - 2^(- 8 /128-1), 2^(- 8 /128-1) + .quad 0x3FA8F692D8EA1B5A, 0x3FDE7A51FBC74C83 // 2^( 9 /128-1) - 2^(- 9 /128-1), 2^(- 9 /128-1) + .quad 0x3FABBD4BF0E31A6F, 0x3FDE502EE78B3FF6 // 2^( 10 /128-1) - 2^(- 10 /128-1), 2^(- 10 /128-1) + .quad 0x3FAE843A5840286A, 0x3FDE264614F5A129 // 2^( 11 /128-1) - 2^(- 11 /128-1), 2^(- 11 /128-1) + .quad 0x3FB0A5B1B2A46D0A, 0x3FDDFC97337B9B5F // 2^( 12 /128-1) - 2^(- 12 /128-1), 2^(- 12 /128-1) + .quad 0x3FB20966375ABCDF, 0x3FDDD321F301B460 // 2^( 13 /128-1) - 2^(- 13 /128-1), 2^(- 13 /128-1) + .quad 0x3FB36D3D65DCA4E8, 0x3FDDA9E603DB3285 // 2^( 14 /128-1) - 2^(- 14 /128-1), 2^(- 14 /128-1) + .quad 0x3FB4D139EA06642A, 0x3FDD80E316C98398 // 2^( 15 /128-1) - 2^(- 15 /128-1), 2^(- 15 /128-1) + .quad 0x3FB6355E6FFBF9BA, 0x3FDD5818DCFBA487 // 2^( 16 /128-1) - 2^(- 16 /128-1), 2^(- 16 /128-1) + .quad 0x3FB799ADA42E4788, 0x3FDD2F87080D89F2 // 2^( 17 /128-1) - 2^(- 17 /128-1), 2^(- 17 /128-1) + .quad 0x3FB8FE2A336035BC, 0x3FDD072D4A07897C // 2^( 18 /128-1) - 2^(- 18 /128-1), 2^(- 18 /128-1) + .quad 0x3FBA62D6CAABD6B6, 0x3FDCDF0B555DC3FA // 2^( 19 /128-1) - 2^(- 19 /128-1), 2^(- 19 /128-1) + .quad 0x3FBBC7B617878BAF, 0x3FDCB720DCEF9069 // 2^( 20 /128-1) - 2^(- 20 /128-1), 2^(- 20 /128-1) + .quad 0x3FBD2CCAC7CB2A11, 0x3FDC8F6D9406E7B5 // 2^( 21 /128-1) - 2^(- 21 /128-1), 2^(- 21 /128-1) + .quad 0x3FBE921789B52185, 0x3FDC67F12E57D14B // 2^( 22 /128-1) - 2^(- 22 /128-1), 2^(- 22 /128-1) + .quad 0x3FBFF79F0BEFA2C7, 0x3FDC40AB5FFFD07A // 2^( 23 /128-1) - 2^(- 23 /128-1), 2^(- 23 /128-1) + .quad 0x3FC0AEB1FECAE3A9, 0x3FDC199BDD85529C // 2^( 24 /128-1) - 2^(- 24 /128-1), 2^(- 24 /128-1) + .quad 0x3FC161B4871C5CEC, 0x3FDBF2C25BD71E09 // 2^( 25 /128-1) - 2^(- 25 /128-1), 2^(- 25 /128-1) + .quad 0x3FC214D876F26FD0, 0x3FDBCC1E904BC1D2 // 2^( 26 /128-1) - 2^(- 26 /128-1), 2^(- 26 /128-1) + .quad 0x3FC2C81F2693816F, 0x3FDBA5B030A1064A // 2^( 27 /128-1) - 2^(- 27 /128-1), 2^(- 27 /128-1) + .quad 0x3FC37B89EE88BEF7, 0x3FDB7F76F2FB5E47 // 2^( 28 /128-1) - 2^(- 28 /128-1), 2^(- 28 /128-1) + .quad 0x3FC42F1A27A0B3CD, 0x3FDB59728DE5593A // 2^( 29 /128-1) - 2^(- 29 /128-1), 2^(- 29 /128-1) + .quad 0x3FC4E2D12AF1E037, 0x3FDB33A2B84F15FB // 2^( 30 /128-1) - 2^(- 30 /128-1), 2^(- 30 /128-1) + .quad 0x3FC596B051DD508D, 0x3FDB0E07298DB666 // 2^( 31 /128-1) - 2^(- 31 /128-1), 2^(- 31 /128-1) + .quad 0x3FC64AB8F61134FA, 0x3FDAE89F995AD3AD // 2^( 32 /128-1) - 2^(- 32 /128-1), 2^(- 32 /128-1) + .quad 0x3FC6FEEC718B79D1, 0x3FDAC36BBFD3F37A // 2^( 33 /128-1) - 2^(- 33 /128-1), 2^(- 33 /128-1) + .quad 0x3FC7B34C1E9C607F, 0x3FDA9E6B5579FDBF // 2^( 34 /128-1) - 2^(- 34 /128-1), 2^(- 34 /128-1) + .quad 0x3FC867D957E91912, 0x3FDA799E1330B358 // 2^( 35 /128-1) - 2^(- 35 /128-1), 2^(- 35 /128-1) + .quad 0x3FC91C95786E5C72, 0x3FDA5503B23E255D // 2^( 36 /128-1) - 2^(- 36 /128-1), 2^(- 36 /128-1) + .quad 0x3FC9D181DB83072F, 0x3FDA309BEC4A2D33 // 2^( 37 /128-1) - 2^(- 37 /128-1), 2^(- 37 /128-1) + .quad 0x3FCA869FDCDAB512, 0x3FDA0C667B5DE565 // 2^( 38 /128-1) - 2^(- 38 /128-1), 2^(- 38 /128-1) + .quad 0x3FCB3BF0D8885D4C, 0x3FD9E86319E32323 // 2^( 39 /128-1) - 2^(- 39 /128-1), 2^(- 39 /128-1) + .quad 0x3FCBF1762B00EF69, 0x3FD9C49182A3F090 // 2^( 40 /128-1) - 2^(- 40 /128-1), 2^(- 40 /128-1) + .quad 0x3FCCA731311DF0FB, 0x3FD9A0F170CA07BA // 2^( 41 /128-1) - 2^(- 41 /128-1), 2^(- 41 /128-1) + .quad 0x3FCD5D2348201C09, 0x3FD97D829FDE4E50 // 2^( 42 /128-1) - 2^(- 42 /128-1), 2^(- 42 /128-1) + .quad 0x3FCE134DCDB1FE3E, 0x3FD95A44CBC8520F // 2^( 43 /128-1) - 2^(- 43 /128-1), 2^(- 43 /128-1) + .quad 0x3FCEC9B21FEA98EA, 0x3FD93737B0CDC5E5 // 2^( 44 /128-1) - 2^(- 44 /128-1), 2^(- 44 /128-1) + .quad 0x3FCF80519D5001D3, 0x3FD9145B0B91FFC6 // 2^( 45 /128-1) - 2^(- 45 /128-1), 2^(- 45 /128-1) + .quad 0x3FD01B96D26D026A, 0x3FD8F1AE99157736 // 2^( 46 /128-1) - 2^(- 46 /128-1), 2^(- 46 /128-1) + .quad 0x3FD07723CAFA6331, 0x3FD8CF3216B5448C // 2^( 47 /128-1) - 2^(- 47 /128-1), 2^(- 47 /128-1) + .quad 0x3FD0D2D06841B373, 0x3FD8ACE5422AA0DB // 2^( 48 /128-1) - 2^(- 48 /128-1), 2^(- 48 /128-1) + .quad 0x3FD12E9D5A715381, 0x3FD88AC7D98A6699 // 2^( 49 /128-1) - 2^(- 49 /128-1), 2^(- 49 /128-1) + .quad 0x3FD18A8B51F5C661, 0x3FD868D99B4492ED // 2^( 50 /128-1) - 2^(- 50 /128-1), 2^(- 50 /128-1) + .quad 0x3FD1E69AFF7B04D7, 0x3FD8471A4623C7AD // 2^( 51 /128-1) - 2^(- 51 /128-1), 2^(- 51 /128-1) + .quad 0x3FD242CD13EDD0F1, 0x3FD82589994CCE13 // 2^( 52 /128-1) - 2^(- 52 /128-1), 2^(- 52 /128-1) + .quad 0x3FD29F22407D0A0C, 0x3FD80427543E1A12 // 2^( 53 /128-1) - 2^(- 53 /128-1), 2^(- 53 /128-1) + .quad 0x3FD2FB9B369B0153, 0x3FD7E2F336CF4E62 // 2^( 54 /128-1) - 2^(- 54 /128-1), 2^(- 54 /128-1) + .quad 0x3FD35838A7FECEC8, 0x3FD7C1ED0130C132 // 2^( 55 /128-1) - 2^(- 55 /128-1), 2^(- 55 /128-1) + .quad 0x3FD3B4FB46A5A6CC, 0x3FD7A11473EB0187 // 2^( 56 /128-1) - 2^(- 56 /128-1), 2^(- 56 /128-1) + .quad 0x3FD411E3C4D4302F, 0x3FD780694FDE5D3F // 2^( 57 /128-1) - 2^(- 57 /128-1), 2^(- 57 /128-1) + .quad 0x3FD46EF2D517DAC8, 0x3FD75FEB564267C9 // 2^( 58 /128-1) - 2^(- 58 /128-1), 2^(- 58 /128-1) + .quad 0x3FD4CC292A48369E, 0x3FD73F9A48A58174 // 2^( 59 /128-1) - 2^(- 59 /128-1), 2^(- 59 /128-1) + .quad 0x3FD5298777884B96, 0x3FD71F75E8EC5F74 // 2^( 60 /128-1) - 2^(- 60 /128-1), 2^(- 60 /128-1) + .quad 0x3FD5870E7047F1BC, 0x3FD6FF7DF9519484 // 2^( 61 /128-1) - 2^(- 61 /128-1), 2^(- 61 /128-1) + .quad 0x3FD5E4BEC8452A1A, 0x3FD6DFB23C651A2F // 2^( 62 /128-1) - 2^(- 62 /128-1), 2^(- 62 /128-1) + .quad 0x3FD64299338D7827, 0x3FD6C012750BDABF // 2^( 63 /128-1) - 2^(- 63 /128-1), 2^(- 63 /128-1) + .quad 0x3FD6A09E667F3BCD, 0x3FD6A09E667F3BCD // 2^( 64 /128-1) - 2^(- 64 /128-1), 2^(- 64 /128-1) + .quad 0x3FD6FECF15CB0C0B, 0x3FD68155D44CA973 // 2^( 65 /128-1) - 2^(- 65 /128-1), 2^(- 65 /128-1) + .quad 0x3FD75D2BF6751239, 0x3FD6623882552225 // 2^( 66 /128-1) - 2^(- 66 /128-1), 2^(- 66 /128-1) + .quad 0x3FD7BBB5BDD665E8, 0x3FD6434634CCC320 // 2^( 67 /128-1) - 2^(- 67 /128-1), 2^(- 67 /128-1) + .quad 0x3FD81A6D219E6963, 0x3FD6247EB03A5585 // 2^( 68 /128-1) - 2^(- 68 /128-1), 2^(- 68 /128-1) + .quad 0x3FD87952D7D426DF, 0x3FD605E1B976DC09 // 2^( 69 /128-1) - 2^(- 69 /128-1), 2^(- 69 /128-1) + .quad 0x3FD8D86796D7AE49, 0x3FD5E76F15AD2148 // 2^( 70 /128-1) - 2^(- 70 /128-1), 2^(- 70 /128-1) + .quad 0x3FD937AC156373C8, 0x3FD5C9268A5946B7 // 2^( 71 /128-1) - 2^(- 71 /128-1), 2^(- 71 /128-1) + .quad 0x3FD997210A8DAEE4, 0x3FD5AB07DD485429 // 2^( 72 /128-1) - 2^(- 72 /128-1), 2^(- 72 /128-1) + .quad 0x3FD9F6C72DC9BA68, 0x3FD58D12D497C7FD // 2^( 73 /128-1) - 2^(- 73 /128-1), 2^(- 73 /128-1) + .quad 0x3FDA569F36E974EA, 0x3FD56F4736B527DA // 2^( 74 /128-1) - 2^(- 74 /128-1), 2^(- 74 /128-1) + .quad 0x3FDAB6A9DE1EA215, 0x3FD551A4CA5D920F // 2^( 75 /128-1) - 2^(- 75 /128-1), 2^(- 75 /128-1) + .quad 0x3FDB16E7DBFC4CA3, 0x3FD5342B569D4F82 // 2^( 76 /128-1) - 2^(- 76 /128-1), 2^(- 76 /128-1) + .quad 0x3FDB7759E9782918, 0x3FD516DAA2CF6642 // 2^( 77 /128-1) - 2^(- 77 /128-1), 2^(- 77 /128-1) + .quad 0x3FDBD800BFEBF932, 0x3FD4F9B2769D2CA7 // 2^( 78 /128-1) - 2^(- 78 /128-1), 2^(- 78 /128-1) + .quad 0x3FDC38DD1916F025, 0x3FD4DCB299FDDD0D // 2^( 79 /128-1) - 2^(- 79 /128-1), 2^(- 79 /128-1) + .quad 0x3FDC99EFAF1F1790, 0x3FD4BFDAD5362A27 // 2^( 80 /128-1) - 2^(- 80 /128-1), 2^(- 80 /128-1) + .quad 0x3FDCFB393C92B539, 0x3FD4A32AF0D7D3DE // 2^( 81 /128-1) - 2^(- 81 /128-1), 2^(- 81 /128-1) + .quad 0x3FDD5CBA7C69B19C, 0x3FD486A2B5C13CD0 // 2^( 82 /128-1) - 2^(- 82 /128-1), 2^(- 82 /128-1) + .quad 0x3FDDBE742A06FF34, 0x3FD46A41ED1D0057 // 2^( 83 /128-1) - 2^(- 83 /128-1), 2^(- 83 /128-1) + .quad 0x3FDE2067013A029D, 0x3FD44E086061892D // 2^( 84 /128-1) - 2^(- 84 /128-1), 2^(- 84 /128-1) + .quad 0x3FDE8293BE3FFB87, 0x3FD431F5D950A897 // 2^( 85 /128-1) - 2^(- 85 /128-1), 2^(- 85 /128-1) + .quad 0x3FDEE4FB1DC56E75, 0x3FD4160A21F72E2A // 2^( 86 /128-1) - 2^(- 86 /128-1), 2^(- 86 /128-1) + .quad 0x3FDF479DDCE78F58, 0x3FD3FA4504AC801C // 2^( 87 /128-1) - 2^(- 87 /128-1), 2^(- 87 /128-1) + .quad 0x3FDFAA7CB935ACFE, 0x3FD3DEA64C123422 // 2^( 88 /128-1) - 2^(- 88 /128-1), 2^(- 88 /128-1) + .quad 0x3FE006CC38594EB1, 0x3FD3C32DC313A8E5 // 2^( 89 /128-1) - 2^(- 89 /128-1), 2^(- 89 /128-1) + .quad 0x3FE03878E0EB1569, 0x3FD3A7DB34E59FF7 // 2^( 90 /128-1) - 2^(- 90 /128-1), 2^(- 90 /128-1) + .quad 0x3FE06A44B5C74101, 0x3FD38CAE6D05D866 // 2^( 91 /128-1) - 2^(- 91 /128-1), 2^(- 91 /128-1) + .quad 0x3FE09C3016A0D077, 0x3FD371A7373AA9CB // 2^( 92 /128-1) - 2^(- 92 /128-1), 2^(- 92 /128-1) + .quad 0x3FE0CE3B63676360, 0x3FD356C55F929FF1 // 2^( 93 /128-1) - 2^(- 93 /128-1), 2^(- 93 /128-1) + .quad 0x3FE10066FC47F240, 0x3FD33C08B26416FF // 2^( 94 /128-1) - 2^(- 94 /128-1), 2^(- 94 /128-1) + .quad 0x3FE132B341AD8761, 0x3FD32170FC4CD831 // 2^( 95 /128-1) - 2^(- 95 /128-1), 2^(- 95 /128-1) + .quad 0x3FE165209441F823, 0x3FD306FE0A31B715 // 2^( 96 /128-1) - 2^(- 96 /128-1), 2^(- 96 /128-1) + .quad 0x3FE197AF54EE9EBB, 0x3FD2ECAFA93E2F56 // 2^( 97 /128-1) - 2^(- 97 /128-1), 2^(- 97 /128-1) + .quad 0x3FE1CA5FE4DD1475, 0x3FD2D285A6E4030B // 2^( 98 /128-1) - 2^(- 98 /128-1), 2^(- 98 /128-1) + .quad 0x3FE1FD32A577EC72, 0x3FD2B87FD0DAD990 // 2^( 99 /128-1) - 2^(- 99 /128-1), 2^(- 99 /128-1) + .quad 0x3FE23027F86B6ED6, 0x3FD29E9DF51FDEE1 // 2^( 100 /128-1) - 2^(- 100 /128-1), 2^(- 100 /128-1) + .quad 0x3FE263403FA65489, 0x3FD284DFE1F56381 // 2^( 101 /128-1) - 2^(- 101 /128-1), 2^(- 101 /128-1) + .quad 0x3FE2967BDD5A8364, 0x3FD26B4565E27CDD // 2^( 102 /128-1) - 2^(- 102 /128-1), 2^(- 102 /128-1) + .quad 0x3FE2C9DB33FDCAE9, 0x3FD251CE4FB2A63F // 2^( 103 /128-1) - 2^(- 103 /128-1), 2^(- 103 /128-1) + .quad 0x3FE2FD5EA64AA180, 0x3FD2387A6E756238 // 2^( 104 /128-1) - 2^(- 104 /128-1), 2^(- 104 /128-1) + .quad 0x3FE331069740E22F, 0x3FD21F49917DDC96 // 2^( 105 /128-1) - 2^(- 105 /128-1), 2^(- 105 /128-1) + .quad 0x3FE364D36A268AE0, 0x3FD2063B88628CD6 // 2^( 106 /128-1) - 2^(- 106 /128-1), 2^(- 106 /128-1) + .quad 0x3FE398C582887B27, 0x3FD1ED5022FCD91D // 2^( 107 /128-1) - 2^(- 107 /128-1), 2^(- 107 /128-1) + .quad 0x3FE3CCDD443B3394, 0x3FD1D4873168B9AA // 2^( 108 /128-1) - 2^(- 108 /128-1), 2^(- 108 /128-1) + .quad 0x3FE4011B135B9590, 0x3FD1BBE084045CD4 // 2^( 109 /128-1) - 2^(- 109 /128-1), 2^(- 109 /128-1) + .quad 0x3FE4357F544FA3C1, 0x3FD1A35BEB6FCB75 // 2^( 110 /128-1) - 2^(- 110 /128-1), 2^(- 110 /128-1) + .quad 0x3FE46A0A6BC742FD, 0x3FD18AF9388C8DEA // 2^( 111 /128-1) - 2^(- 111 /128-1), 2^(- 111 /128-1) + .quad 0x3FE49EBCBEBCFBCA, 0x3FD172B83C7D517B // 2^( 112 /128-1) - 2^(- 112 /128-1), 2^(- 112 /128-1) + .quad 0x3FE4D396B276BC6F, 0x3FD15A98C8A58E51 // 2^( 113 /128-1) - 2^(- 113 /128-1), 2^(- 113 /128-1) + .quad 0x3FE50898AC869B96, 0x3FD1429AAEA92DE0 // 2^( 114 /128-1) - 2^(- 114 /128-1), 2^(- 114 /128-1) + .quad 0x3FE53DC312CB9B7A, 0x3FD12ABDC06C31CC // 2^( 115 /128-1) - 2^(- 115 /128-1), 2^(- 115 /128-1) + .quad 0x3FE573164B726DB6, 0x3FD11301D0125B51 // 2^( 116 /128-1) - 2^(- 116 /128-1), 2^(- 116 /128-1) + .quad 0x3FE5A892BCF6379B, 0x3FD0FB66AFFED31B // 2^( 117 /128-1) - 2^(- 117 /128-1), 2^(- 117 /128-1) + .quad 0x3FE5DE38CE215725, 0x3FD0E3EC32D3D1A2 // 2^( 118 /128-1) - 2^(- 118 /128-1), 2^(- 118 /128-1) + .quad 0x3FE61408E60E2888, 0x3FD0CC922B7247F7 // 2^( 119 /128-1) - 2^(- 119 /128-1), 2^(- 119 /128-1) + .quad 0x3FE64A036C27CC52, 0x3FD0B5586CF9890F // 2^( 120 /128-1) - 2^(- 120 /128-1), 2^(- 120 /128-1) + .quad 0x3FE68028C82AEE2F, 0x3FD09E3ECAC6F383 // 2^( 121 /128-1) - 2^(- 121 /128-1), 2^(- 121 /128-1) + .quad 0x3FE6B67962268C43, 0x3FD0874518759BC8 // 2^( 122 /128-1) - 2^(- 122 /128-1), 2^(- 122 /128-1) + .quad 0x3FE6ECF5A27CBF28, 0x3FD0706B29DDF6DE // 2^( 123 /128-1) - 2^(- 123 /128-1), 2^(- 123 /128-1) + .quad 0x3FE7239DF1E38286, 0x3FD059B0D3158574 // 2^( 124 /128-1) - 2^(- 124 /128-1), 2^(- 124 /128-1) + .quad 0x3FE75A72B9657E51, 0x3FD04315E86E7F85 // 2^( 125 /128-1) - 2^(- 125 /128-1), 2^(- 125 /128-1) + .quad 0x3FE791746262D0A8, 0x3FD02C9A3E778061 // 2^( 126 /128-1) - 2^(- 126 /128-1), 2^(- 126 /128-1) + .quad 0x3FE7C8A35691D856, 0x3FD0163DA9FB3335 // 2^( 127 /128-1) - 2^(- 127 /128-1), 2^(- 127 /128-1) + .align 16 + .quad 0x42C8000000000000, 0x42C8000000000000 /* _dbShifter = 1.5 * 2^(52-k) */ + .align 16 + .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp */ + .align 16 + .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ + .align 16 + .quad 0x3FC55555555554AD, 0x3FC55555555554AD /* _dPC3 */ + .align 16 + .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ + .align 16 + .quad 0x3F8111115712F425, 0x3F8111115712F425 /* _dPC5 */ + .align 16 + .quad 0x000000000000007f, 0x000000000000007f /* _lIndexMask */ + .align 16 + .type __svml_dsinh_data_internal, @object + .size __svml_dsinh_data_internal, .-__svml_dsinh_data_internal From patchwork Mon Mar 7 15:01:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602381 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=pIkVm3OZ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Z51dqfz9sFt for ; Tue, 8 Mar 2022 03:19:25 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 49B13385801C for ; Mon, 7 Mar 2022 16:19:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 49B13385801C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669963; bh=rNYtbML+c3og3oATo8Cg8hSdJEPGq83lCwjIlvoRQlo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=pIkVm3OZKVJ7K7INMm5YcaFymuTOut2rgdQS4XDfSS+Yxv4oBScMhQS3pMtLZSHTB UQdOa9u5p0REv1xDWVeOiJVl7kvw6D8Z4VQFT6B+9iMHLolGWTVczXC1ljOSI/E7lG 6329SSiYRO0acysCp8ZKHiUOwbOtfdtYbpf15piw= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id EB1D03858424 for ; Mon, 7 Mar 2022 15:03:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EB1D03858424 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843047" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843047" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="512708671" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga006.jf.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fR016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 113/126] x86_64: Fix svml_d_sinh4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:48 -0800 Message-Id: <20220307150201.10590-114-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_sinh4_core_avx2.S | 814 +++++++++--------- 1 file changed, 406 insertions(+), 408 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S index 53b8a32426..ae16600579 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh4_core_avx2.S @@ -34,437 +34,435 @@ /* Offsets for data table __svml_dsinh_data_internal */ -#define _dbInvLn2 0 -#define _dbLn2hi 32 -#define _dbLn2lo 64 -#define _dSign 96 -#define _dbT 128 -#define _dbShifter 2176 -#define _iDomainRange 2208 -#define _dPC2 2240 -#define _dPC3 2272 -#define _dPC4 2304 -#define _dPC5 2336 -#define _lIndexMask 2368 +#define _dbInvLn2 0 +#define _dbLn2hi 32 +#define _dbLn2lo 64 +#define _dSign 96 +#define _dbT 128 +#define _dbShifter 2176 +#define _iDomainRange 2208 +#define _dPC2 2240 +#define _dPC3 2272 +#define _dPC4 2304 +#define _dPC5 2336 +#define _lIndexMask 2368 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_sinh_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea _dbT+8+__svml_dsinh_data_internal(%rip), %r8 - vmovupd _dbShifter+__svml_dsinh_data_internal(%rip), %ymm12 - -/* - * Load argument - * dM = x*2^K/log(2) + RShifter - */ - vmovupd _dbInvLn2+__svml_dsinh_data_internal(%rip), %ymm5 - vmovupd _dbLn2hi+__svml_dsinh_data_internal(%rip), %ymm13 - vmovapd %ymm0, %ymm8 - -/* - * VLOAD_CONST( D, dPC[0], TAB._dPC1 ); - * Abs argument - */ - vandpd _dSign+__svml_dsinh_data_internal(%rip), %ymm8, %ymm7 - vxorpd %ymm8, %ymm7, %ymm6 - vfmadd213pd %ymm12, %ymm6, %ymm5 - -/* - * R - * dN = dM - RShifter - */ - vsubpd %ymm12, %ymm5, %ymm3 - -/* - * Index and lookup - * j - */ - vandps _lIndexMask+__svml_dsinh_data_internal(%rip), %ymm5, %ymm4 - -/* - * Check for overflow\underflow - * - */ - vextractf128 $1, %ymm6, %xmm9 - vshufps $221, %xmm9, %xmm6, %xmm10 - -/* dR = dX - dN*Log2_hi/2^K */ - vfnmadd231pd %ymm13, %ymm3, %ymm6 - vpcmpgtd _iDomainRange+__svml_dsinh_data_internal(%rip), %xmm10, %xmm11 - vmovmskps %xmm11, %eax - -/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ - vfnmadd231pd _dbLn2lo+__svml_dsinh_data_internal(%rip), %ymm3, %ymm6 - vextractf128 $1, %ymm4, %xmm0 - vmovd %xmm4, %edx - vmovd %xmm0, %esi - shll $4, %edx - vpextrd $2, %xmm4, %ecx - -/* split j and N */ - vxorps %ymm4, %ymm5, %ymm3 - shll $4, %esi - vpextrd $2, %xmm0, %edi - shll $4, %ecx - -/* - * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) - * lM now is an EXP(2^N) - */ - vpsllq $45, %ymm3, %ymm4 - vmovq (%rdx,%r8), %xmm14 - vmovq (%rsi,%r8), %xmm1 - vmovhpd (%rcx,%r8), %xmm14, %xmm15 - shll $4, %edi - vmovhpd (%rdi,%r8), %xmm1, %xmm2 - -/* dR2 = dR^2 */ - vmulpd %ymm6, %ymm6, %ymm1 - vmovq -8(%rdx,%r8), %xmm9 - vmovq -8(%rsi,%r8), %xmm11 - vmovhpd -8(%rcx,%r8), %xmm9, %xmm10 - vmovhpd -8(%rdi,%r8), %xmm11, %xmm12 - vinsertf128 $1, %xmm2, %ymm15, %ymm2 - -/* */ - vpaddq %ymm4, %ymm2, %ymm5 - -/* */ - vpsubq %ymm4, %ymm2, %ymm14 - -/* dG3 = dTn*2^N + dTn*2^-N */ - vaddpd %ymm14, %ymm5, %ymm2 - -/* dG2 = dTn*2^N - dTn*2^-N */ - vsubpd %ymm14, %ymm5, %ymm14 - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... - * dSinh_r = (a3+r^2*a5) - */ - vmovupd _dPC5+__svml_dsinh_data_internal(%rip), %ymm5 - vfmadd213pd _dPC3+__svml_dsinh_data_internal(%rip), %ymm1, %ymm5 - vinsertf128 $1, %xmm12, %ymm10, %ymm13 - vpaddq %ymm4, %ymm13, %ymm0 - -/* dSinh_r = r^2*(a3+r^2*a5) */ - vmulpd %ymm5, %ymm1, %ymm4 - -/* dG2 += dG1 */ - vaddpd %ymm14, %ymm0, %ymm3 - -/* dG1 += dG3 */ - vaddpd %ymm2, %ymm0, %ymm0 - -/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - vfmadd213pd %ymm6, %ymm6, %ymm4 - -/* - * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) - * dOut = (a2 +a4*dR2) - */ - vmovupd _dPC4+__svml_dsinh_data_internal(%rip), %ymm6 - vfmadd213pd _dPC2+__svml_dsinh_data_internal(%rip), %ymm1, %ymm6 - -/* dOut = dR2*(a2 +a4*dR2) */ - vmulpd %ymm6, %ymm1, %ymm1 - -/* dOut = dG2*dR2*(a2 +a4*dR2) */ - vmulpd %ymm3, %ymm1, %ymm6 - -/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ - vfmadd213pd %ymm6, %ymm0, %ymm4 - -/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ - vaddpd %ymm4, %ymm3, %ymm5 - -/* Ret H */ - vorpd %ymm5, %ymm7, %ymm0 - testl %eax, %eax - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 ymm8 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea _dbT+8+__svml_dsinh_data_internal(%rip), %r8 + vmovupd _dbShifter+__svml_dsinh_data_internal(%rip), %ymm12 + + /* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + vmovupd _dbInvLn2+__svml_dsinh_data_internal(%rip), %ymm5 + vmovupd _dbLn2hi+__svml_dsinh_data_internal(%rip), %ymm13 + vmovapd %ymm0, %ymm8 + + /* + * VLOAD_CONST( D, dPC[0], TAB._dPC1 ); + * Abs argument + */ + vandpd _dSign+__svml_dsinh_data_internal(%rip), %ymm8, %ymm7 + vxorpd %ymm8, %ymm7, %ymm6 + vfmadd213pd %ymm12, %ymm6, %ymm5 + + /* + * R + * dN = dM - RShifter + */ + vsubpd %ymm12, %ymm5, %ymm3 + + /* + * Index and lookup + * j + */ + vandps _lIndexMask+__svml_dsinh_data_internal(%rip), %ymm5, %ymm4 + + /* + * Check for overflow\underflow + * + */ + vextractf128 $1, %ymm6, %xmm9 + vshufps $221, %xmm9, %xmm6, %xmm10 + + /* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd %ymm13, %ymm3, %ymm6 + vpcmpgtd _iDomainRange+__svml_dsinh_data_internal(%rip), %xmm10, %xmm11 + vmovmskps %xmm11, %eax + + /* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + vfnmadd231pd _dbLn2lo+__svml_dsinh_data_internal(%rip), %ymm3, %ymm6 + vextractf128 $1, %ymm4, %xmm0 + vmovd %xmm4, %edx + vmovd %xmm0, %esi + shll $4, %edx + vpextrd $2, %xmm4, %ecx + + /* split j and N */ + vxorps %ymm4, %ymm5, %ymm3 + shll $4, %esi + vpextrd $2, %xmm0, %edi + shll $4, %ecx + + /* + * G1, G2, G3: dTdif, dTn * 2^N, 2^(-N) + * lM now is an EXP(2^N) + */ + vpsllq $45, %ymm3, %ymm4 + vmovq (%rdx, %r8), %xmm14 + vmovq (%rsi, %r8), %xmm1 + vmovhpd (%rcx, %r8), %xmm14, %xmm15 + shll $4, %edi + vmovhpd (%rdi, %r8), %xmm1, %xmm2 + + /* dR2 = dR^2 */ + vmulpd %ymm6, %ymm6, %ymm1 + vmovq -8(%rdx, %r8), %xmm9 + vmovq -8(%rsi, %r8), %xmm11 + vmovhpd -8(%rcx, %r8), %xmm9, %xmm10 + vmovhpd -8(%rdi, %r8), %xmm11, %xmm12 + vinsertf128 $1, %xmm2, %ymm15, %ymm2 + + /* */ + vpaddq %ymm4, %ymm2, %ymm5 + + /* */ + vpsubq %ymm4, %ymm2, %ymm14 + + /* dG3 = dTn*2^N + dTn*2^-N */ + vaddpd %ymm14, %ymm5, %ymm2 + + /* dG2 = dTn*2^N - dTn*2^-N */ + vsubpd %ymm14, %ymm5, %ymm14 + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... + * dSinh_r = (a3+r^2*a5) + */ + vmovupd _dPC5+__svml_dsinh_data_internal(%rip), %ymm5 + vfmadd213pd _dPC3+__svml_dsinh_data_internal(%rip), %ymm1, %ymm5 + vinsertf128 $1, %xmm12, %ymm10, %ymm13 + vpaddq %ymm4, %ymm13, %ymm0 + + /* dSinh_r = r^2*(a3+r^2*a5) */ + vmulpd %ymm5, %ymm1, %ymm4 + + /* dG2 += dG1 */ + vaddpd %ymm14, %ymm0, %ymm3 + + /* dG1 += dG3 */ + vaddpd %ymm2, %ymm0, %ymm0 + + /* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213pd %ymm6, %ymm6, %ymm4 + + /* + * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) + * dOut = (a2 +a4*dR2) + */ + vmovupd _dPC4+__svml_dsinh_data_internal(%rip), %ymm6 + vfmadd213pd _dPC2+__svml_dsinh_data_internal(%rip), %ymm1, %ymm6 + + /* dOut = dR2*(a2 +a4*dR2) */ + vmulpd %ymm6, %ymm1, %ymm1 + + /* dOut = dG2*dR2*(a2 +a4*dR2) */ + vmulpd %ymm3, %ymm1, %ymm6 + + /* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vfmadd213pd %ymm6, %ymm0, %ymm4 + + /* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vaddpd %ymm4, %ymm3, %ymm5 + + /* Ret H */ + vorpd %ymm5, %ymm7, %ymm0 + testl %eax, %eax + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 ymm8 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovupd %ymm8, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 - - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovupd %ymm8, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 + + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %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) - vmovupd 64(%rsp), %ymm0 - -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %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) + vmovupd 64(%rsp), %ymm0 + + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call sinh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call sinh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_sinh_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dsinh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dbInvLn2[4][2]; - __declspec(align(32)) VUINT32 _dbLn2hi[4][2]; - __declspec(align(32)) VUINT32 _dbLn2lo[4][2]; - __declspec(align(32)) VUINT32 _dSign[4][2]; //0x8000000000000000 - __declspec(align(32)) VUINT32 _dbT[(1<<7)][2][2]; //precalc poly coeff - __declspec(align(32)) VUINT32 _dbShifter[4][2]; - __declspec(align(32)) VUINT32 _iDomainRange[8][1]; - __declspec(align(32)) VUINT32 _dPC2[4][2]; - __declspec(align(32)) VUINT32 _dPC3[4][2]; - __declspec(align(32)) VUINT32 _dPC4[4][2]; - __declspec(align(32)) VUINT32 _dPC5[4][2]; - __declspec(align(32)) VUINT32 _lIndexMask[4][2]; +typedef struct { + __declspec(align(32)) VUINT32 _dbInvLn2[4][2]; + __declspec(align(32)) VUINT32 _dbLn2hi[4][2]; + __declspec(align(32)) VUINT32 _dbLn2lo[4][2]; + __declspec(align(32)) VUINT32 _dSign[4][2]; // 0x8000000000000000 + __declspec(align(32)) VUINT32 _dbT[(1<<7)][2][2]; // precalc poly coeff + __declspec(align(32)) VUINT32 _dbShifter[4][2]; + __declspec(align(32)) VUINT32 _iDomainRange[8][1]; + __declspec(align(32)) VUINT32 _dPC2[4][2]; + __declspec(align(32)) VUINT32 _dPC3[4][2]; + __declspec(align(32)) VUINT32 _dPC4[4][2]; + __declspec(align(32)) VUINT32 _dPC5[4][2]; + __declspec(align(32)) VUINT32 _lIndexMask[4][2]; } __svml_dsinh_data_internal; #endif __svml_dsinh_data_internal: - .quad 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE /* _dbInvLn2 = 1/log(2) */ - .align 32 - .quad 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000 /* _dbLn2hi = log(2) hi*/ - .align 32 - .quad 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A /* _dbLn2lo = log(2) lo*/ - .align 32 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign */ - //_dbT - .align 32 - .quad 0x0000000000000000, 0x3FE0000000000000 //2^( 0 /128-1) - 2^(- 0 /128-1), 2^(- 0 /128-1) - .quad 0x3F762E4A19BD1E74, 0x3FDFD3C22B8F71F1 //2^( 1 /128-1) - 2^(- 1 /128-1), 2^(- 1 /128-1) - .quad 0x3F862E5F6A0DFD36, 0x3FDFA7C1819E90D8 //2^( 2 /128-1) - 2^(- 2 /128-1), 2^(- 2 /128-1) - .quad 0x3F90A2E234040F5F, 0x3FDF7BFDAD9CBE14 //2^( 3 /128-1) - 2^(- 3 /128-1), 2^(- 3 /128-1) - .quad 0x3F962EB4ABCC5A81, 0x3FDF50765B6E4540 //2^( 4 /128-1) - 2^(- 4 /128-1), 2^(- 4 /128-1) - .quad 0x3F9BBAB1C5033244, 0x3FDF252B376BBA97 //2^( 5 /128-1) - 2^(- 5 /128-1), 2^(- 5 /128-1) - .quad 0x3FA0A372144EEB45, 0x3FDEFA1BEE615A27 //2^( 6 /128-1) - 2^(- 6 /128-1), 2^(- 6 /128-1) - .quad 0x3FA369AB3FFBF8B0, 0x3FDECF482D8E67F1 //2^( 7 /128-1) - 2^(- 7 /128-1), 2^(- 7 /128-1) - .quad 0x3FA63009BA740A2A, 0x3FDEA4AFA2A490DA //2^( 8 /128-1) - 2^(- 8 /128-1), 2^(- 8 /128-1) - .quad 0x3FA8F692D8EA1B5A, 0x3FDE7A51FBC74C83 //2^( 9 /128-1) - 2^(- 9 /128-1), 2^(- 9 /128-1) - .quad 0x3FABBD4BF0E31A6F, 0x3FDE502EE78B3FF6 //2^( 10 /128-1) - 2^(- 10 /128-1), 2^(- 10 /128-1) - .quad 0x3FAE843A5840286A, 0x3FDE264614F5A129 //2^( 11 /128-1) - 2^(- 11 /128-1), 2^(- 11 /128-1) - .quad 0x3FB0A5B1B2A46D0A, 0x3FDDFC97337B9B5F //2^( 12 /128-1) - 2^(- 12 /128-1), 2^(- 12 /128-1) - .quad 0x3FB20966375ABCDF, 0x3FDDD321F301B460 //2^( 13 /128-1) - 2^(- 13 /128-1), 2^(- 13 /128-1) - .quad 0x3FB36D3D65DCA4E8, 0x3FDDA9E603DB3285 //2^( 14 /128-1) - 2^(- 14 /128-1), 2^(- 14 /128-1) - .quad 0x3FB4D139EA06642A, 0x3FDD80E316C98398 //2^( 15 /128-1) - 2^(- 15 /128-1), 2^(- 15 /128-1) - .quad 0x3FB6355E6FFBF9BA, 0x3FDD5818DCFBA487 //2^( 16 /128-1) - 2^(- 16 /128-1), 2^(- 16 /128-1) - .quad 0x3FB799ADA42E4788, 0x3FDD2F87080D89F2 //2^( 17 /128-1) - 2^(- 17 /128-1), 2^(- 17 /128-1) - .quad 0x3FB8FE2A336035BC, 0x3FDD072D4A07897C //2^( 18 /128-1) - 2^(- 18 /128-1), 2^(- 18 /128-1) - .quad 0x3FBA62D6CAABD6B6, 0x3FDCDF0B555DC3FA //2^( 19 /128-1) - 2^(- 19 /128-1), 2^(- 19 /128-1) - .quad 0x3FBBC7B617878BAF, 0x3FDCB720DCEF9069 //2^( 20 /128-1) - 2^(- 20 /128-1), 2^(- 20 /128-1) - .quad 0x3FBD2CCAC7CB2A11, 0x3FDC8F6D9406E7B5 //2^( 21 /128-1) - 2^(- 21 /128-1), 2^(- 21 /128-1) - .quad 0x3FBE921789B52185, 0x3FDC67F12E57D14B //2^( 22 /128-1) - 2^(- 22 /128-1), 2^(- 22 /128-1) - .quad 0x3FBFF79F0BEFA2C7, 0x3FDC40AB5FFFD07A //2^( 23 /128-1) - 2^(- 23 /128-1), 2^(- 23 /128-1) - .quad 0x3FC0AEB1FECAE3A9, 0x3FDC199BDD85529C //2^( 24 /128-1) - 2^(- 24 /128-1), 2^(- 24 /128-1) - .quad 0x3FC161B4871C5CEC, 0x3FDBF2C25BD71E09 //2^( 25 /128-1) - 2^(- 25 /128-1), 2^(- 25 /128-1) - .quad 0x3FC214D876F26FD0, 0x3FDBCC1E904BC1D2 //2^( 26 /128-1) - 2^(- 26 /128-1), 2^(- 26 /128-1) - .quad 0x3FC2C81F2693816F, 0x3FDBA5B030A1064A //2^( 27 /128-1) - 2^(- 27 /128-1), 2^(- 27 /128-1) - .quad 0x3FC37B89EE88BEF7, 0x3FDB7F76F2FB5E47 //2^( 28 /128-1) - 2^(- 28 /128-1), 2^(- 28 /128-1) - .quad 0x3FC42F1A27A0B3CD, 0x3FDB59728DE5593A //2^( 29 /128-1) - 2^(- 29 /128-1), 2^(- 29 /128-1) - .quad 0x3FC4E2D12AF1E037, 0x3FDB33A2B84F15FB //2^( 30 /128-1) - 2^(- 30 /128-1), 2^(- 30 /128-1) - .quad 0x3FC596B051DD508D, 0x3FDB0E07298DB666 //2^( 31 /128-1) - 2^(- 31 /128-1), 2^(- 31 /128-1) - .quad 0x3FC64AB8F61134FA, 0x3FDAE89F995AD3AD //2^( 32 /128-1) - 2^(- 32 /128-1), 2^(- 32 /128-1) - .quad 0x3FC6FEEC718B79D1, 0x3FDAC36BBFD3F37A //2^( 33 /128-1) - 2^(- 33 /128-1), 2^(- 33 /128-1) - .quad 0x3FC7B34C1E9C607F, 0x3FDA9E6B5579FDBF //2^( 34 /128-1) - 2^(- 34 /128-1), 2^(- 34 /128-1) - .quad 0x3FC867D957E91912, 0x3FDA799E1330B358 //2^( 35 /128-1) - 2^(- 35 /128-1), 2^(- 35 /128-1) - .quad 0x3FC91C95786E5C72, 0x3FDA5503B23E255D //2^( 36 /128-1) - 2^(- 36 /128-1), 2^(- 36 /128-1) - .quad 0x3FC9D181DB83072F, 0x3FDA309BEC4A2D33 //2^( 37 /128-1) - 2^(- 37 /128-1), 2^(- 37 /128-1) - .quad 0x3FCA869FDCDAB512, 0x3FDA0C667B5DE565 //2^( 38 /128-1) - 2^(- 38 /128-1), 2^(- 38 /128-1) - .quad 0x3FCB3BF0D8885D4C, 0x3FD9E86319E32323 //2^( 39 /128-1) - 2^(- 39 /128-1), 2^(- 39 /128-1) - .quad 0x3FCBF1762B00EF69, 0x3FD9C49182A3F090 //2^( 40 /128-1) - 2^(- 40 /128-1), 2^(- 40 /128-1) - .quad 0x3FCCA731311DF0FB, 0x3FD9A0F170CA07BA //2^( 41 /128-1) - 2^(- 41 /128-1), 2^(- 41 /128-1) - .quad 0x3FCD5D2348201C09, 0x3FD97D829FDE4E50 //2^( 42 /128-1) - 2^(- 42 /128-1), 2^(- 42 /128-1) - .quad 0x3FCE134DCDB1FE3E, 0x3FD95A44CBC8520F //2^( 43 /128-1) - 2^(- 43 /128-1), 2^(- 43 /128-1) - .quad 0x3FCEC9B21FEA98EA, 0x3FD93737B0CDC5E5 //2^( 44 /128-1) - 2^(- 44 /128-1), 2^(- 44 /128-1) - .quad 0x3FCF80519D5001D3, 0x3FD9145B0B91FFC6 //2^( 45 /128-1) - 2^(- 45 /128-1), 2^(- 45 /128-1) - .quad 0x3FD01B96D26D026A, 0x3FD8F1AE99157736 //2^( 46 /128-1) - 2^(- 46 /128-1), 2^(- 46 /128-1) - .quad 0x3FD07723CAFA6331, 0x3FD8CF3216B5448C //2^( 47 /128-1) - 2^(- 47 /128-1), 2^(- 47 /128-1) - .quad 0x3FD0D2D06841B373, 0x3FD8ACE5422AA0DB //2^( 48 /128-1) - 2^(- 48 /128-1), 2^(- 48 /128-1) - .quad 0x3FD12E9D5A715381, 0x3FD88AC7D98A6699 //2^( 49 /128-1) - 2^(- 49 /128-1), 2^(- 49 /128-1) - .quad 0x3FD18A8B51F5C661, 0x3FD868D99B4492ED //2^( 50 /128-1) - 2^(- 50 /128-1), 2^(- 50 /128-1) - .quad 0x3FD1E69AFF7B04D7, 0x3FD8471A4623C7AD //2^( 51 /128-1) - 2^(- 51 /128-1), 2^(- 51 /128-1) - .quad 0x3FD242CD13EDD0F1, 0x3FD82589994CCE13 //2^( 52 /128-1) - 2^(- 52 /128-1), 2^(- 52 /128-1) - .quad 0x3FD29F22407D0A0C, 0x3FD80427543E1A12 //2^( 53 /128-1) - 2^(- 53 /128-1), 2^(- 53 /128-1) - .quad 0x3FD2FB9B369B0153, 0x3FD7E2F336CF4E62 //2^( 54 /128-1) - 2^(- 54 /128-1), 2^(- 54 /128-1) - .quad 0x3FD35838A7FECEC8, 0x3FD7C1ED0130C132 //2^( 55 /128-1) - 2^(- 55 /128-1), 2^(- 55 /128-1) - .quad 0x3FD3B4FB46A5A6CC, 0x3FD7A11473EB0187 //2^( 56 /128-1) - 2^(- 56 /128-1), 2^(- 56 /128-1) - .quad 0x3FD411E3C4D4302F, 0x3FD780694FDE5D3F //2^( 57 /128-1) - 2^(- 57 /128-1), 2^(- 57 /128-1) - .quad 0x3FD46EF2D517DAC8, 0x3FD75FEB564267C9 //2^( 58 /128-1) - 2^(- 58 /128-1), 2^(- 58 /128-1) - .quad 0x3FD4CC292A48369E, 0x3FD73F9A48A58174 //2^( 59 /128-1) - 2^(- 59 /128-1), 2^(- 59 /128-1) - .quad 0x3FD5298777884B96, 0x3FD71F75E8EC5F74 //2^( 60 /128-1) - 2^(- 60 /128-1), 2^(- 60 /128-1) - .quad 0x3FD5870E7047F1BC, 0x3FD6FF7DF9519484 //2^( 61 /128-1) - 2^(- 61 /128-1), 2^(- 61 /128-1) - .quad 0x3FD5E4BEC8452A1A, 0x3FD6DFB23C651A2F //2^( 62 /128-1) - 2^(- 62 /128-1), 2^(- 62 /128-1) - .quad 0x3FD64299338D7827, 0x3FD6C012750BDABF //2^( 63 /128-1) - 2^(- 63 /128-1), 2^(- 63 /128-1) - .quad 0x3FD6A09E667F3BCD, 0x3FD6A09E667F3BCD //2^( 64 /128-1) - 2^(- 64 /128-1), 2^(- 64 /128-1) - .quad 0x3FD6FECF15CB0C0B, 0x3FD68155D44CA973 //2^( 65 /128-1) - 2^(- 65 /128-1), 2^(- 65 /128-1) - .quad 0x3FD75D2BF6751239, 0x3FD6623882552225 //2^( 66 /128-1) - 2^(- 66 /128-1), 2^(- 66 /128-1) - .quad 0x3FD7BBB5BDD665E8, 0x3FD6434634CCC320 //2^( 67 /128-1) - 2^(- 67 /128-1), 2^(- 67 /128-1) - .quad 0x3FD81A6D219E6963, 0x3FD6247EB03A5585 //2^( 68 /128-1) - 2^(- 68 /128-1), 2^(- 68 /128-1) - .quad 0x3FD87952D7D426DF, 0x3FD605E1B976DC09 //2^( 69 /128-1) - 2^(- 69 /128-1), 2^(- 69 /128-1) - .quad 0x3FD8D86796D7AE49, 0x3FD5E76F15AD2148 //2^( 70 /128-1) - 2^(- 70 /128-1), 2^(- 70 /128-1) - .quad 0x3FD937AC156373C8, 0x3FD5C9268A5946B7 //2^( 71 /128-1) - 2^(- 71 /128-1), 2^(- 71 /128-1) - .quad 0x3FD997210A8DAEE4, 0x3FD5AB07DD485429 //2^( 72 /128-1) - 2^(- 72 /128-1), 2^(- 72 /128-1) - .quad 0x3FD9F6C72DC9BA68, 0x3FD58D12D497C7FD //2^( 73 /128-1) - 2^(- 73 /128-1), 2^(- 73 /128-1) - .quad 0x3FDA569F36E974EA, 0x3FD56F4736B527DA //2^( 74 /128-1) - 2^(- 74 /128-1), 2^(- 74 /128-1) - .quad 0x3FDAB6A9DE1EA215, 0x3FD551A4CA5D920F //2^( 75 /128-1) - 2^(- 75 /128-1), 2^(- 75 /128-1) - .quad 0x3FDB16E7DBFC4CA3, 0x3FD5342B569D4F82 //2^( 76 /128-1) - 2^(- 76 /128-1), 2^(- 76 /128-1) - .quad 0x3FDB7759E9782918, 0x3FD516DAA2CF6642 //2^( 77 /128-1) - 2^(- 77 /128-1), 2^(- 77 /128-1) - .quad 0x3FDBD800BFEBF932, 0x3FD4F9B2769D2CA7 //2^( 78 /128-1) - 2^(- 78 /128-1), 2^(- 78 /128-1) - .quad 0x3FDC38DD1916F025, 0x3FD4DCB299FDDD0D //2^( 79 /128-1) - 2^(- 79 /128-1), 2^(- 79 /128-1) - .quad 0x3FDC99EFAF1F1790, 0x3FD4BFDAD5362A27 //2^( 80 /128-1) - 2^(- 80 /128-1), 2^(- 80 /128-1) - .quad 0x3FDCFB393C92B539, 0x3FD4A32AF0D7D3DE //2^( 81 /128-1) - 2^(- 81 /128-1), 2^(- 81 /128-1) - .quad 0x3FDD5CBA7C69B19C, 0x3FD486A2B5C13CD0 //2^( 82 /128-1) - 2^(- 82 /128-1), 2^(- 82 /128-1) - .quad 0x3FDDBE742A06FF34, 0x3FD46A41ED1D0057 //2^( 83 /128-1) - 2^(- 83 /128-1), 2^(- 83 /128-1) - .quad 0x3FDE2067013A029D, 0x3FD44E086061892D //2^( 84 /128-1) - 2^(- 84 /128-1), 2^(- 84 /128-1) - .quad 0x3FDE8293BE3FFB87, 0x3FD431F5D950A897 //2^( 85 /128-1) - 2^(- 85 /128-1), 2^(- 85 /128-1) - .quad 0x3FDEE4FB1DC56E75, 0x3FD4160A21F72E2A //2^( 86 /128-1) - 2^(- 86 /128-1), 2^(- 86 /128-1) - .quad 0x3FDF479DDCE78F58, 0x3FD3FA4504AC801C //2^( 87 /128-1) - 2^(- 87 /128-1), 2^(- 87 /128-1) - .quad 0x3FDFAA7CB935ACFE, 0x3FD3DEA64C123422 //2^( 88 /128-1) - 2^(- 88 /128-1), 2^(- 88 /128-1) - .quad 0x3FE006CC38594EB1, 0x3FD3C32DC313A8E5 //2^( 89 /128-1) - 2^(- 89 /128-1), 2^(- 89 /128-1) - .quad 0x3FE03878E0EB1569, 0x3FD3A7DB34E59FF7 //2^( 90 /128-1) - 2^(- 90 /128-1), 2^(- 90 /128-1) - .quad 0x3FE06A44B5C74101, 0x3FD38CAE6D05D866 //2^( 91 /128-1) - 2^(- 91 /128-1), 2^(- 91 /128-1) - .quad 0x3FE09C3016A0D077, 0x3FD371A7373AA9CB //2^( 92 /128-1) - 2^(- 92 /128-1), 2^(- 92 /128-1) - .quad 0x3FE0CE3B63676360, 0x3FD356C55F929FF1 //2^( 93 /128-1) - 2^(- 93 /128-1), 2^(- 93 /128-1) - .quad 0x3FE10066FC47F240, 0x3FD33C08B26416FF //2^( 94 /128-1) - 2^(- 94 /128-1), 2^(- 94 /128-1) - .quad 0x3FE132B341AD8761, 0x3FD32170FC4CD831 //2^( 95 /128-1) - 2^(- 95 /128-1), 2^(- 95 /128-1) - .quad 0x3FE165209441F823, 0x3FD306FE0A31B715 //2^( 96 /128-1) - 2^(- 96 /128-1), 2^(- 96 /128-1) - .quad 0x3FE197AF54EE9EBB, 0x3FD2ECAFA93E2F56 //2^( 97 /128-1) - 2^(- 97 /128-1), 2^(- 97 /128-1) - .quad 0x3FE1CA5FE4DD1475, 0x3FD2D285A6E4030B //2^( 98 /128-1) - 2^(- 98 /128-1), 2^(- 98 /128-1) - .quad 0x3FE1FD32A577EC72, 0x3FD2B87FD0DAD990 //2^( 99 /128-1) - 2^(- 99 /128-1), 2^(- 99 /128-1) - .quad 0x3FE23027F86B6ED6, 0x3FD29E9DF51FDEE1 //2^( 100 /128-1) - 2^(- 100 /128-1), 2^(- 100 /128-1) - .quad 0x3FE263403FA65489, 0x3FD284DFE1F56381 //2^( 101 /128-1) - 2^(- 101 /128-1), 2^(- 101 /128-1) - .quad 0x3FE2967BDD5A8364, 0x3FD26B4565E27CDD //2^( 102 /128-1) - 2^(- 102 /128-1), 2^(- 102 /128-1) - .quad 0x3FE2C9DB33FDCAE9, 0x3FD251CE4FB2A63F //2^( 103 /128-1) - 2^(- 103 /128-1), 2^(- 103 /128-1) - .quad 0x3FE2FD5EA64AA180, 0x3FD2387A6E756238 //2^( 104 /128-1) - 2^(- 104 /128-1), 2^(- 104 /128-1) - .quad 0x3FE331069740E22F, 0x3FD21F49917DDC96 //2^( 105 /128-1) - 2^(- 105 /128-1), 2^(- 105 /128-1) - .quad 0x3FE364D36A268AE0, 0x3FD2063B88628CD6 //2^( 106 /128-1) - 2^(- 106 /128-1), 2^(- 106 /128-1) - .quad 0x3FE398C582887B27, 0x3FD1ED5022FCD91D //2^( 107 /128-1) - 2^(- 107 /128-1), 2^(- 107 /128-1) - .quad 0x3FE3CCDD443B3394, 0x3FD1D4873168B9AA //2^( 108 /128-1) - 2^(- 108 /128-1), 2^(- 108 /128-1) - .quad 0x3FE4011B135B9590, 0x3FD1BBE084045CD4 //2^( 109 /128-1) - 2^(- 109 /128-1), 2^(- 109 /128-1) - .quad 0x3FE4357F544FA3C1, 0x3FD1A35BEB6FCB75 //2^( 110 /128-1) - 2^(- 110 /128-1), 2^(- 110 /128-1) - .quad 0x3FE46A0A6BC742FD, 0x3FD18AF9388C8DEA //2^( 111 /128-1) - 2^(- 111 /128-1), 2^(- 111 /128-1) - .quad 0x3FE49EBCBEBCFBCA, 0x3FD172B83C7D517B //2^( 112 /128-1) - 2^(- 112 /128-1), 2^(- 112 /128-1) - .quad 0x3FE4D396B276BC6F, 0x3FD15A98C8A58E51 //2^( 113 /128-1) - 2^(- 113 /128-1), 2^(- 113 /128-1) - .quad 0x3FE50898AC869B96, 0x3FD1429AAEA92DE0 //2^( 114 /128-1) - 2^(- 114 /128-1), 2^(- 114 /128-1) - .quad 0x3FE53DC312CB9B7A, 0x3FD12ABDC06C31CC //2^( 115 /128-1) - 2^(- 115 /128-1), 2^(- 115 /128-1) - .quad 0x3FE573164B726DB6, 0x3FD11301D0125B51 //2^( 116 /128-1) - 2^(- 116 /128-1), 2^(- 116 /128-1) - .quad 0x3FE5A892BCF6379B, 0x3FD0FB66AFFED31B //2^( 117 /128-1) - 2^(- 117 /128-1), 2^(- 117 /128-1) - .quad 0x3FE5DE38CE215725, 0x3FD0E3EC32D3D1A2 //2^( 118 /128-1) - 2^(- 118 /128-1), 2^(- 118 /128-1) - .quad 0x3FE61408E60E2888, 0x3FD0CC922B7247F7 //2^( 119 /128-1) - 2^(- 119 /128-1), 2^(- 119 /128-1) - .quad 0x3FE64A036C27CC52, 0x3FD0B5586CF9890F //2^( 120 /128-1) - 2^(- 120 /128-1), 2^(- 120 /128-1) - .quad 0x3FE68028C82AEE2F, 0x3FD09E3ECAC6F383 //2^( 121 /128-1) - 2^(- 121 /128-1), 2^(- 121 /128-1) - .quad 0x3FE6B67962268C43, 0x3FD0874518759BC8 //2^( 122 /128-1) - 2^(- 122 /128-1), 2^(- 122 /128-1) - .quad 0x3FE6ECF5A27CBF28, 0x3FD0706B29DDF6DE //2^( 123 /128-1) - 2^(- 123 /128-1), 2^(- 123 /128-1) - .quad 0x3FE7239DF1E38286, 0x3FD059B0D3158574 //2^( 124 /128-1) - 2^(- 124 /128-1), 2^(- 124 /128-1) - .quad 0x3FE75A72B9657E51, 0x3FD04315E86E7F85 //2^( 125 /128-1) - 2^(- 125 /128-1), 2^(- 125 /128-1) - .quad 0x3FE791746262D0A8, 0x3FD02C9A3E778061 //2^( 126 /128-1) - 2^(- 126 /128-1), 2^(- 126 /128-1) - .quad 0x3FE7C8A35691D856, 0x3FD0163DA9FB3335 //2^( 127 /128-1) - 2^(- 127 /128-1), 2^(- 127 /128-1) - .align 32 - .quad 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000 /* _dbShifter = 1.5 * 2^(52-k)*/ - .align 32 - .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp*/ - .align 32 - .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ - .align 32 - .quad 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD /* _dPC3 */ - .align 32 - .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ - .align 32 - .quad 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425 /* _dPC5 */ - .align 32 - .quad 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f /* _lIndexMask */ - .align 32 - .type __svml_dsinh_data_internal,@object - .size __svml_dsinh_data_internal,.-__svml_dsinh_data_internal + .quad 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE /* _dbInvLn2 = 1/log(2) */ + .align 32 + .quad 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000 /* _dbLn2hi = log(2) hi */ + .align 32 + .quad 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A /* _dbLn2lo = log(2) lo */ + .align 32 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign */ + //_dbT + .align 32 + .quad 0x0000000000000000, 0x3FE0000000000000 // 2^( 0 /128-1) - 2^(- 0 /128-1), 2^(- 0 /128-1) + .quad 0x3F762E4A19BD1E74, 0x3FDFD3C22B8F71F1 // 2^( 1 /128-1) - 2^(- 1 /128-1), 2^(- 1 /128-1) + .quad 0x3F862E5F6A0DFD36, 0x3FDFA7C1819E90D8 // 2^( 2 /128-1) - 2^(- 2 /128-1), 2^(- 2 /128-1) + .quad 0x3F90A2E234040F5F, 0x3FDF7BFDAD9CBE14 // 2^( 3 /128-1) - 2^(- 3 /128-1), 2^(- 3 /128-1) + .quad 0x3F962EB4ABCC5A81, 0x3FDF50765B6E4540 // 2^( 4 /128-1) - 2^(- 4 /128-1), 2^(- 4 /128-1) + .quad 0x3F9BBAB1C5033244, 0x3FDF252B376BBA97 // 2^( 5 /128-1) - 2^(- 5 /128-1), 2^(- 5 /128-1) + .quad 0x3FA0A372144EEB45, 0x3FDEFA1BEE615A27 // 2^( 6 /128-1) - 2^(- 6 /128-1), 2^(- 6 /128-1) + .quad 0x3FA369AB3FFBF8B0, 0x3FDECF482D8E67F1 // 2^( 7 /128-1) - 2^(- 7 /128-1), 2^(- 7 /128-1) + .quad 0x3FA63009BA740A2A, 0x3FDEA4AFA2A490DA // 2^( 8 /128-1) - 2^(- 8 /128-1), 2^(- 8 /128-1) + .quad 0x3FA8F692D8EA1B5A, 0x3FDE7A51FBC74C83 // 2^( 9 /128-1) - 2^(- 9 /128-1), 2^(- 9 /128-1) + .quad 0x3FABBD4BF0E31A6F, 0x3FDE502EE78B3FF6 // 2^( 10 /128-1) - 2^(- 10 /128-1), 2^(- 10 /128-1) + .quad 0x3FAE843A5840286A, 0x3FDE264614F5A129 // 2^( 11 /128-1) - 2^(- 11 /128-1), 2^(- 11 /128-1) + .quad 0x3FB0A5B1B2A46D0A, 0x3FDDFC97337B9B5F // 2^( 12 /128-1) - 2^(- 12 /128-1), 2^(- 12 /128-1) + .quad 0x3FB20966375ABCDF, 0x3FDDD321F301B460 // 2^( 13 /128-1) - 2^(- 13 /128-1), 2^(- 13 /128-1) + .quad 0x3FB36D3D65DCA4E8, 0x3FDDA9E603DB3285 // 2^( 14 /128-1) - 2^(- 14 /128-1), 2^(- 14 /128-1) + .quad 0x3FB4D139EA06642A, 0x3FDD80E316C98398 // 2^( 15 /128-1) - 2^(- 15 /128-1), 2^(- 15 /128-1) + .quad 0x3FB6355E6FFBF9BA, 0x3FDD5818DCFBA487 // 2^( 16 /128-1) - 2^(- 16 /128-1), 2^(- 16 /128-1) + .quad 0x3FB799ADA42E4788, 0x3FDD2F87080D89F2 // 2^( 17 /128-1) - 2^(- 17 /128-1), 2^(- 17 /128-1) + .quad 0x3FB8FE2A336035BC, 0x3FDD072D4A07897C // 2^( 18 /128-1) - 2^(- 18 /128-1), 2^(- 18 /128-1) + .quad 0x3FBA62D6CAABD6B6, 0x3FDCDF0B555DC3FA // 2^( 19 /128-1) - 2^(- 19 /128-1), 2^(- 19 /128-1) + .quad 0x3FBBC7B617878BAF, 0x3FDCB720DCEF9069 // 2^( 20 /128-1) - 2^(- 20 /128-1), 2^(- 20 /128-1) + .quad 0x3FBD2CCAC7CB2A11, 0x3FDC8F6D9406E7B5 // 2^( 21 /128-1) - 2^(- 21 /128-1), 2^(- 21 /128-1) + .quad 0x3FBE921789B52185, 0x3FDC67F12E57D14B // 2^( 22 /128-1) - 2^(- 22 /128-1), 2^(- 22 /128-1) + .quad 0x3FBFF79F0BEFA2C7, 0x3FDC40AB5FFFD07A // 2^( 23 /128-1) - 2^(- 23 /128-1), 2^(- 23 /128-1) + .quad 0x3FC0AEB1FECAE3A9, 0x3FDC199BDD85529C // 2^( 24 /128-1) - 2^(- 24 /128-1), 2^(- 24 /128-1) + .quad 0x3FC161B4871C5CEC, 0x3FDBF2C25BD71E09 // 2^( 25 /128-1) - 2^(- 25 /128-1), 2^(- 25 /128-1) + .quad 0x3FC214D876F26FD0, 0x3FDBCC1E904BC1D2 // 2^( 26 /128-1) - 2^(- 26 /128-1), 2^(- 26 /128-1) + .quad 0x3FC2C81F2693816F, 0x3FDBA5B030A1064A // 2^( 27 /128-1) - 2^(- 27 /128-1), 2^(- 27 /128-1) + .quad 0x3FC37B89EE88BEF7, 0x3FDB7F76F2FB5E47 // 2^( 28 /128-1) - 2^(- 28 /128-1), 2^(- 28 /128-1) + .quad 0x3FC42F1A27A0B3CD, 0x3FDB59728DE5593A // 2^( 29 /128-1) - 2^(- 29 /128-1), 2^(- 29 /128-1) + .quad 0x3FC4E2D12AF1E037, 0x3FDB33A2B84F15FB // 2^( 30 /128-1) - 2^(- 30 /128-1), 2^(- 30 /128-1) + .quad 0x3FC596B051DD508D, 0x3FDB0E07298DB666 // 2^( 31 /128-1) - 2^(- 31 /128-1), 2^(- 31 /128-1) + .quad 0x3FC64AB8F61134FA, 0x3FDAE89F995AD3AD // 2^( 32 /128-1) - 2^(- 32 /128-1), 2^(- 32 /128-1) + .quad 0x3FC6FEEC718B79D1, 0x3FDAC36BBFD3F37A // 2^( 33 /128-1) - 2^(- 33 /128-1), 2^(- 33 /128-1) + .quad 0x3FC7B34C1E9C607F, 0x3FDA9E6B5579FDBF // 2^( 34 /128-1) - 2^(- 34 /128-1), 2^(- 34 /128-1) + .quad 0x3FC867D957E91912, 0x3FDA799E1330B358 // 2^( 35 /128-1) - 2^(- 35 /128-1), 2^(- 35 /128-1) + .quad 0x3FC91C95786E5C72, 0x3FDA5503B23E255D // 2^( 36 /128-1) - 2^(- 36 /128-1), 2^(- 36 /128-1) + .quad 0x3FC9D181DB83072F, 0x3FDA309BEC4A2D33 // 2^( 37 /128-1) - 2^(- 37 /128-1), 2^(- 37 /128-1) + .quad 0x3FCA869FDCDAB512, 0x3FDA0C667B5DE565 // 2^( 38 /128-1) - 2^(- 38 /128-1), 2^(- 38 /128-1) + .quad 0x3FCB3BF0D8885D4C, 0x3FD9E86319E32323 // 2^( 39 /128-1) - 2^(- 39 /128-1), 2^(- 39 /128-1) + .quad 0x3FCBF1762B00EF69, 0x3FD9C49182A3F090 // 2^( 40 /128-1) - 2^(- 40 /128-1), 2^(- 40 /128-1) + .quad 0x3FCCA731311DF0FB, 0x3FD9A0F170CA07BA // 2^( 41 /128-1) - 2^(- 41 /128-1), 2^(- 41 /128-1) + .quad 0x3FCD5D2348201C09, 0x3FD97D829FDE4E50 // 2^( 42 /128-1) - 2^(- 42 /128-1), 2^(- 42 /128-1) + .quad 0x3FCE134DCDB1FE3E, 0x3FD95A44CBC8520F // 2^( 43 /128-1) - 2^(- 43 /128-1), 2^(- 43 /128-1) + .quad 0x3FCEC9B21FEA98EA, 0x3FD93737B0CDC5E5 // 2^( 44 /128-1) - 2^(- 44 /128-1), 2^(- 44 /128-1) + .quad 0x3FCF80519D5001D3, 0x3FD9145B0B91FFC6 // 2^( 45 /128-1) - 2^(- 45 /128-1), 2^(- 45 /128-1) + .quad 0x3FD01B96D26D026A, 0x3FD8F1AE99157736 // 2^( 46 /128-1) - 2^(- 46 /128-1), 2^(- 46 /128-1) + .quad 0x3FD07723CAFA6331, 0x3FD8CF3216B5448C // 2^( 47 /128-1) - 2^(- 47 /128-1), 2^(- 47 /128-1) + .quad 0x3FD0D2D06841B373, 0x3FD8ACE5422AA0DB // 2^( 48 /128-1) - 2^(- 48 /128-1), 2^(- 48 /128-1) + .quad 0x3FD12E9D5A715381, 0x3FD88AC7D98A6699 // 2^( 49 /128-1) - 2^(- 49 /128-1), 2^(- 49 /128-1) + .quad 0x3FD18A8B51F5C661, 0x3FD868D99B4492ED // 2^( 50 /128-1) - 2^(- 50 /128-1), 2^(- 50 /128-1) + .quad 0x3FD1E69AFF7B04D7, 0x3FD8471A4623C7AD // 2^( 51 /128-1) - 2^(- 51 /128-1), 2^(- 51 /128-1) + .quad 0x3FD242CD13EDD0F1, 0x3FD82589994CCE13 // 2^( 52 /128-1) - 2^(- 52 /128-1), 2^(- 52 /128-1) + .quad 0x3FD29F22407D0A0C, 0x3FD80427543E1A12 // 2^( 53 /128-1) - 2^(- 53 /128-1), 2^(- 53 /128-1) + .quad 0x3FD2FB9B369B0153, 0x3FD7E2F336CF4E62 // 2^( 54 /128-1) - 2^(- 54 /128-1), 2^(- 54 /128-1) + .quad 0x3FD35838A7FECEC8, 0x3FD7C1ED0130C132 // 2^( 55 /128-1) - 2^(- 55 /128-1), 2^(- 55 /128-1) + .quad 0x3FD3B4FB46A5A6CC, 0x3FD7A11473EB0187 // 2^( 56 /128-1) - 2^(- 56 /128-1), 2^(- 56 /128-1) + .quad 0x3FD411E3C4D4302F, 0x3FD780694FDE5D3F // 2^( 57 /128-1) - 2^(- 57 /128-1), 2^(- 57 /128-1) + .quad 0x3FD46EF2D517DAC8, 0x3FD75FEB564267C9 // 2^( 58 /128-1) - 2^(- 58 /128-1), 2^(- 58 /128-1) + .quad 0x3FD4CC292A48369E, 0x3FD73F9A48A58174 // 2^( 59 /128-1) - 2^(- 59 /128-1), 2^(- 59 /128-1) + .quad 0x3FD5298777884B96, 0x3FD71F75E8EC5F74 // 2^( 60 /128-1) - 2^(- 60 /128-1), 2^(- 60 /128-1) + .quad 0x3FD5870E7047F1BC, 0x3FD6FF7DF9519484 // 2^( 61 /128-1) - 2^(- 61 /128-1), 2^(- 61 /128-1) + .quad 0x3FD5E4BEC8452A1A, 0x3FD6DFB23C651A2F // 2^( 62 /128-1) - 2^(- 62 /128-1), 2^(- 62 /128-1) + .quad 0x3FD64299338D7827, 0x3FD6C012750BDABF // 2^( 63 /128-1) - 2^(- 63 /128-1), 2^(- 63 /128-1) + .quad 0x3FD6A09E667F3BCD, 0x3FD6A09E667F3BCD // 2^( 64 /128-1) - 2^(- 64 /128-1), 2^(- 64 /128-1) + .quad 0x3FD6FECF15CB0C0B, 0x3FD68155D44CA973 // 2^( 65 /128-1) - 2^(- 65 /128-1), 2^(- 65 /128-1) + .quad 0x3FD75D2BF6751239, 0x3FD6623882552225 // 2^( 66 /128-1) - 2^(- 66 /128-1), 2^(- 66 /128-1) + .quad 0x3FD7BBB5BDD665E8, 0x3FD6434634CCC320 // 2^( 67 /128-1) - 2^(- 67 /128-1), 2^(- 67 /128-1) + .quad 0x3FD81A6D219E6963, 0x3FD6247EB03A5585 // 2^( 68 /128-1) - 2^(- 68 /128-1), 2^(- 68 /128-1) + .quad 0x3FD87952D7D426DF, 0x3FD605E1B976DC09 // 2^( 69 /128-1) - 2^(- 69 /128-1), 2^(- 69 /128-1) + .quad 0x3FD8D86796D7AE49, 0x3FD5E76F15AD2148 // 2^( 70 /128-1) - 2^(- 70 /128-1), 2^(- 70 /128-1) + .quad 0x3FD937AC156373C8, 0x3FD5C9268A5946B7 // 2^( 71 /128-1) - 2^(- 71 /128-1), 2^(- 71 /128-1) + .quad 0x3FD997210A8DAEE4, 0x3FD5AB07DD485429 // 2^( 72 /128-1) - 2^(- 72 /128-1), 2^(- 72 /128-1) + .quad 0x3FD9F6C72DC9BA68, 0x3FD58D12D497C7FD // 2^( 73 /128-1) - 2^(- 73 /128-1), 2^(- 73 /128-1) + .quad 0x3FDA569F36E974EA, 0x3FD56F4736B527DA // 2^( 74 /128-1) - 2^(- 74 /128-1), 2^(- 74 /128-1) + .quad 0x3FDAB6A9DE1EA215, 0x3FD551A4CA5D920F // 2^( 75 /128-1) - 2^(- 75 /128-1), 2^(- 75 /128-1) + .quad 0x3FDB16E7DBFC4CA3, 0x3FD5342B569D4F82 // 2^( 76 /128-1) - 2^(- 76 /128-1), 2^(- 76 /128-1) + .quad 0x3FDB7759E9782918, 0x3FD516DAA2CF6642 // 2^( 77 /128-1) - 2^(- 77 /128-1), 2^(- 77 /128-1) + .quad 0x3FDBD800BFEBF932, 0x3FD4F9B2769D2CA7 // 2^( 78 /128-1) - 2^(- 78 /128-1), 2^(- 78 /128-1) + .quad 0x3FDC38DD1916F025, 0x3FD4DCB299FDDD0D // 2^( 79 /128-1) - 2^(- 79 /128-1), 2^(- 79 /128-1) + .quad 0x3FDC99EFAF1F1790, 0x3FD4BFDAD5362A27 // 2^( 80 /128-1) - 2^(- 80 /128-1), 2^(- 80 /128-1) + .quad 0x3FDCFB393C92B539, 0x3FD4A32AF0D7D3DE // 2^( 81 /128-1) - 2^(- 81 /128-1), 2^(- 81 /128-1) + .quad 0x3FDD5CBA7C69B19C, 0x3FD486A2B5C13CD0 // 2^( 82 /128-1) - 2^(- 82 /128-1), 2^(- 82 /128-1) + .quad 0x3FDDBE742A06FF34, 0x3FD46A41ED1D0057 // 2^( 83 /128-1) - 2^(- 83 /128-1), 2^(- 83 /128-1) + .quad 0x3FDE2067013A029D, 0x3FD44E086061892D // 2^( 84 /128-1) - 2^(- 84 /128-1), 2^(- 84 /128-1) + .quad 0x3FDE8293BE3FFB87, 0x3FD431F5D950A897 // 2^( 85 /128-1) - 2^(- 85 /128-1), 2^(- 85 /128-1) + .quad 0x3FDEE4FB1DC56E75, 0x3FD4160A21F72E2A // 2^( 86 /128-1) - 2^(- 86 /128-1), 2^(- 86 /128-1) + .quad 0x3FDF479DDCE78F58, 0x3FD3FA4504AC801C // 2^( 87 /128-1) - 2^(- 87 /128-1), 2^(- 87 /128-1) + .quad 0x3FDFAA7CB935ACFE, 0x3FD3DEA64C123422 // 2^( 88 /128-1) - 2^(- 88 /128-1), 2^(- 88 /128-1) + .quad 0x3FE006CC38594EB1, 0x3FD3C32DC313A8E5 // 2^( 89 /128-1) - 2^(- 89 /128-1), 2^(- 89 /128-1) + .quad 0x3FE03878E0EB1569, 0x3FD3A7DB34E59FF7 // 2^( 90 /128-1) - 2^(- 90 /128-1), 2^(- 90 /128-1) + .quad 0x3FE06A44B5C74101, 0x3FD38CAE6D05D866 // 2^( 91 /128-1) - 2^(- 91 /128-1), 2^(- 91 /128-1) + .quad 0x3FE09C3016A0D077, 0x3FD371A7373AA9CB // 2^( 92 /128-1) - 2^(- 92 /128-1), 2^(- 92 /128-1) + .quad 0x3FE0CE3B63676360, 0x3FD356C55F929FF1 // 2^( 93 /128-1) - 2^(- 93 /128-1), 2^(- 93 /128-1) + .quad 0x3FE10066FC47F240, 0x3FD33C08B26416FF // 2^( 94 /128-1) - 2^(- 94 /128-1), 2^(- 94 /128-1) + .quad 0x3FE132B341AD8761, 0x3FD32170FC4CD831 // 2^( 95 /128-1) - 2^(- 95 /128-1), 2^(- 95 /128-1) + .quad 0x3FE165209441F823, 0x3FD306FE0A31B715 // 2^( 96 /128-1) - 2^(- 96 /128-1), 2^(- 96 /128-1) + .quad 0x3FE197AF54EE9EBB, 0x3FD2ECAFA93E2F56 // 2^( 97 /128-1) - 2^(- 97 /128-1), 2^(- 97 /128-1) + .quad 0x3FE1CA5FE4DD1475, 0x3FD2D285A6E4030B // 2^( 98 /128-1) - 2^(- 98 /128-1), 2^(- 98 /128-1) + .quad 0x3FE1FD32A577EC72, 0x3FD2B87FD0DAD990 // 2^( 99 /128-1) - 2^(- 99 /128-1), 2^(- 99 /128-1) + .quad 0x3FE23027F86B6ED6, 0x3FD29E9DF51FDEE1 // 2^( 100 /128-1) - 2^(- 100 /128-1), 2^(- 100 /128-1) + .quad 0x3FE263403FA65489, 0x3FD284DFE1F56381 // 2^( 101 /128-1) - 2^(- 101 /128-1), 2^(- 101 /128-1) + .quad 0x3FE2967BDD5A8364, 0x3FD26B4565E27CDD // 2^( 102 /128-1) - 2^(- 102 /128-1), 2^(- 102 /128-1) + .quad 0x3FE2C9DB33FDCAE9, 0x3FD251CE4FB2A63F // 2^( 103 /128-1) - 2^(- 103 /128-1), 2^(- 103 /128-1) + .quad 0x3FE2FD5EA64AA180, 0x3FD2387A6E756238 // 2^( 104 /128-1) - 2^(- 104 /128-1), 2^(- 104 /128-1) + .quad 0x3FE331069740E22F, 0x3FD21F49917DDC96 // 2^( 105 /128-1) - 2^(- 105 /128-1), 2^(- 105 /128-1) + .quad 0x3FE364D36A268AE0, 0x3FD2063B88628CD6 // 2^( 106 /128-1) - 2^(- 106 /128-1), 2^(- 106 /128-1) + .quad 0x3FE398C582887B27, 0x3FD1ED5022FCD91D // 2^( 107 /128-1) - 2^(- 107 /128-1), 2^(- 107 /128-1) + .quad 0x3FE3CCDD443B3394, 0x3FD1D4873168B9AA // 2^( 108 /128-1) - 2^(- 108 /128-1), 2^(- 108 /128-1) + .quad 0x3FE4011B135B9590, 0x3FD1BBE084045CD4 // 2^( 109 /128-1) - 2^(- 109 /128-1), 2^(- 109 /128-1) + .quad 0x3FE4357F544FA3C1, 0x3FD1A35BEB6FCB75 // 2^( 110 /128-1) - 2^(- 110 /128-1), 2^(- 110 /128-1) + .quad 0x3FE46A0A6BC742FD, 0x3FD18AF9388C8DEA // 2^( 111 /128-1) - 2^(- 111 /128-1), 2^(- 111 /128-1) + .quad 0x3FE49EBCBEBCFBCA, 0x3FD172B83C7D517B // 2^( 112 /128-1) - 2^(- 112 /128-1), 2^(- 112 /128-1) + .quad 0x3FE4D396B276BC6F, 0x3FD15A98C8A58E51 // 2^( 113 /128-1) - 2^(- 113 /128-1), 2^(- 113 /128-1) + .quad 0x3FE50898AC869B96, 0x3FD1429AAEA92DE0 // 2^( 114 /128-1) - 2^(- 114 /128-1), 2^(- 114 /128-1) + .quad 0x3FE53DC312CB9B7A, 0x3FD12ABDC06C31CC // 2^( 115 /128-1) - 2^(- 115 /128-1), 2^(- 115 /128-1) + .quad 0x3FE573164B726DB6, 0x3FD11301D0125B51 // 2^( 116 /128-1) - 2^(- 116 /128-1), 2^(- 116 /128-1) + .quad 0x3FE5A892BCF6379B, 0x3FD0FB66AFFED31B // 2^( 117 /128-1) - 2^(- 117 /128-1), 2^(- 117 /128-1) + .quad 0x3FE5DE38CE215725, 0x3FD0E3EC32D3D1A2 // 2^( 118 /128-1) - 2^(- 118 /128-1), 2^(- 118 /128-1) + .quad 0x3FE61408E60E2888, 0x3FD0CC922B7247F7 // 2^( 119 /128-1) - 2^(- 119 /128-1), 2^(- 119 /128-1) + .quad 0x3FE64A036C27CC52, 0x3FD0B5586CF9890F // 2^( 120 /128-1) - 2^(- 120 /128-1), 2^(- 120 /128-1) + .quad 0x3FE68028C82AEE2F, 0x3FD09E3ECAC6F383 // 2^( 121 /128-1) - 2^(- 121 /128-1), 2^(- 121 /128-1) + .quad 0x3FE6B67962268C43, 0x3FD0874518759BC8 // 2^( 122 /128-1) - 2^(- 122 /128-1), 2^(- 122 /128-1) + .quad 0x3FE6ECF5A27CBF28, 0x3FD0706B29DDF6DE // 2^( 123 /128-1) - 2^(- 123 /128-1), 2^(- 123 /128-1) + .quad 0x3FE7239DF1E38286, 0x3FD059B0D3158574 // 2^( 124 /128-1) - 2^(- 124 /128-1), 2^(- 124 /128-1) + .quad 0x3FE75A72B9657E51, 0x3FD04315E86E7F85 // 2^( 125 /128-1) - 2^(- 125 /128-1), 2^(- 125 /128-1) + .quad 0x3FE791746262D0A8, 0x3FD02C9A3E778061 // 2^( 126 /128-1) - 2^(- 126 /128-1), 2^(- 126 /128-1) + .quad 0x3FE7C8A35691D856, 0x3FD0163DA9FB3335 // 2^( 127 /128-1) - 2^(- 127 /128-1), 2^(- 127 /128-1) + .align 32 + .quad 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000 /* _dbShifter = 1.5 * 2^(52-k) */ + .align 32 + .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp */ + .align 32 + .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ + .align 32 + .quad 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD /* _dPC3 */ + .align 32 + .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ + .align 32 + .quad 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425 /* _dPC5 */ + .align 32 + .quad 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f /* _lIndexMask */ + .align 32 + .type __svml_dsinh_data_internal, @object + .size __svml_dsinh_data_internal, .-__svml_dsinh_data_internal From patchwork Mon Mar 7 15:01:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602387 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=esa4KiDM; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3gK6lmSz9sFt for ; Tue, 8 Mar 2022 03:23:57 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0DBC4385802F for ; Mon, 7 Mar 2022 16:23:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0DBC4385802F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670236; bh=xR7wqMD22voq+odYi9yGkYhaor6T0LbsTCvvC1C4s5I=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=esa4KiDMJmiZKVhdy6GLOSAyma0zVVHJPiEAblitJCxYMKjvxviFajDSOa8suC0Ki XCGeY1FJ/aqbAlVBDgGdXofuWnxrkWFR7yyUBUyG7N7MUXEiMW2SortLXlQyhOd9Um vYZ+hJK8qXrXAxE0taEcvzaysZ/PvULYCtGJ1Usg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by sourceware.org (Postfix) with ESMTPS id EADAC3858404 for ; Mon, 7 Mar 2022 15:03:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EADAC3858404 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="241843048" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="241843048" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="780351123" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga006.fm.intel.com with ESMTP; 07 Mar 2022 07:02:10 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fS016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 114/126] x86_64: Fix svml_d_sinh8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:49 -0800 Message-Id: <20220307150201.10590-115-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=2.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_sinh8_core_avx512.S | 796 +++++++++--------- 1 file changed, 397 insertions(+), 399 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S index 7cb222a725..075665d57d 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_sinh8_core_avx512.S @@ -34,428 +34,426 @@ /* Offsets for data table __svml_dsinh_data_internal */ -#define _dbInvLn2 0 -#define _dbLn2hi 64 -#define _dbLn2lo 128 -#define _dSign 192 -#define _dbT 256 -#define _dbShifter 2304 -#define _iDomainRange 2368 -#define _dPC2 2432 -#define _dPC3 2496 -#define _dPC4 2560 -#define _dPC5 2624 -#define _lIndexMask 2688 +#define _dbInvLn2 0 +#define _dbLn2hi 64 +#define _dbLn2lo 128 +#define _dSign 192 +#define _dbT 256 +#define _dbShifter 2304 +#define _iDomainRange 2368 +#define _dPC2 2432 +#define _dPC3 2496 +#define _dPC4 2560 +#define _dPC5 2624 +#define _lIndexMask 2688 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_sinh_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - lea _dbT+8+__svml_dsinh_data_internal(%rip), %rax - vmovaps %zmm0, %zmm8 - -/* Abs argument */ - vandpd _dSign+__svml_dsinh_data_internal(%rip), %zmm8, %zmm7 - vmovups _dbShifter+__svml_dsinh_data_internal(%rip), %zmm13 - -/* - * Load argument - * dM = x*2^K/log(2) + RShifter - */ - vmovups _dbInvLn2+__svml_dsinh_data_internal(%rip), %zmm12 - vmovups _dbLn2hi+__svml_dsinh_data_internal(%rip), %zmm14 - vmovups _dPC5+__svml_dsinh_data_internal(%rip), %zmm6 - -/* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */ - vmovups _dPC4+__svml_dsinh_data_internal(%rip), %zmm4 - vxorpd %zmm8, %zmm7, %zmm5 - kxnorw %k0, %k0, %k1 - kxnorw %k0, %k0, %k2 - vfmadd213pd {rn-sae}, %zmm13, %zmm5, %zmm12 - -/* - * Check for overflow\underflow - * - */ - vpsrlq $32, %zmm5, %zmm9 - -/* - * R - * dN = dM - RShifter - */ - vsubpd {rn-sae}, %zmm13, %zmm12, %zmm2 - vpmovqd %zmm9, %ymm10 - vmovups _dbLn2lo+__svml_dsinh_data_internal(%rip), %zmm9 - -/* dR = dX - dN*Log2_hi/2^K */ - vfnmadd231pd {rn-sae}, %zmm14, %zmm2, %zmm5 - -/* - * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... - * dSinh_r = (a3+r^2*a5) - */ - vmovups _dPC3+__svml_dsinh_data_internal(%rip), %zmm14 - -/* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ - vfnmadd231pd {rn-sae}, %zmm9, %zmm2, %zmm5 - vpcmpgtd _iDomainRange+__svml_dsinh_data_internal(%rip), %ymm10, %ymm11 - vmovmskps %ymm11, %edx - -/* dR2 = dR^2 */ - vmulpd {rn-sae}, %zmm5, %zmm5, %zmm2 - vfmadd231pd {rn-sae}, %zmm2, %zmm6, %zmm14 - -/* - * Index and lookup - * j - */ - vpandq _lIndexMask+__svml_dsinh_data_internal(%rip), %zmm12, %zmm15 - vpsllq $4, %zmm15, %zmm1 - vpmovqd %zmm1, %ymm0 - vpxord %zmm11, %zmm11, %zmm11 - vpxord %zmm10, %zmm10, %zmm10 - vgatherdpd (%rax,%ymm0), %zmm11{%k1} - vgatherdpd -8(%rax,%ymm0), %zmm10{%k2} - -/* split j and N */ - vpxorq %zmm15, %zmm12, %zmm3 - -/* - * G1,G2,G3: dTdif,dTn * 2^N,2^(-N) - * lM now is an EXP(2^N) - */ - vpsllq $45, %zmm3, %zmm3 - vpaddq %zmm3, %zmm10, %zmm1 - -/* */ - vpaddq %zmm3, %zmm11, %zmm12 - -/* */ - vpsubq %zmm3, %zmm11, %zmm13 - -/* dSinh_r = r^2*(a3+r^2*a5) */ - vmulpd {rn-sae}, %zmm2, %zmm14, %zmm3 - -/* dG2 = dTn*2^N - dTn*2^-N */ - vsubpd {rn-sae}, %zmm13, %zmm12, %zmm15 - -/* dG3 = dTn*2^N + dTn*2^-N */ - vaddpd {rn-sae}, %zmm13, %zmm12, %zmm0 - -/* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ - vfmadd213pd {rn-sae}, %zmm5, %zmm5, %zmm3 - -/* - * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) - * dOut = (a2 +a4*dR2) - */ - vmovups _dPC2+__svml_dsinh_data_internal(%rip), %zmm5 - -/* dG1 += dG3 */ - vaddpd {rn-sae}, %zmm0, %zmm1, %zmm6 - vfmadd231pd {rn-sae}, %zmm2, %zmm4, %zmm5 - -/* dOut = dR2*(a2 +a4*dR2) */ - vmulpd {rn-sae}, %zmm2, %zmm5, %zmm4 - -/* dG2 += dG1 */ - vaddpd {rn-sae}, %zmm15, %zmm1, %zmm2 - -/* dOut = dG2*dR2*(a2 +a4*dR2) */ - vmulpd {rn-sae}, %zmm2, %zmm4, %zmm4 - -/* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ - vfmadd213pd {rn-sae}, %zmm4, %zmm6, %zmm3 - -/* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ - vaddpd {rn-sae}, %zmm2, %zmm3, %zmm0 - -/* Ret H */ - vorpd %zmm0, %zmm7, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm8 - -/* Restore registers - * and exit the function - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + lea _dbT+8+__svml_dsinh_data_internal(%rip), %rax + vmovaps %zmm0, %zmm8 + + /* Abs argument */ + vandpd _dSign+__svml_dsinh_data_internal(%rip), %zmm8, %zmm7 + vmovups _dbShifter+__svml_dsinh_data_internal(%rip), %zmm13 + + /* + * Load argument + * dM = x*2^K/log(2) + RShifter + */ + vmovups _dbInvLn2+__svml_dsinh_data_internal(%rip), %zmm12 + vmovups _dbLn2hi+__svml_dsinh_data_internal(%rip), %zmm14 + vmovups _dPC5+__svml_dsinh_data_internal(%rip), %zmm6 + + /* VLOAD_CONST( D, dPC[0], TAB._dPC1 ); */ + vmovups _dPC4+__svml_dsinh_data_internal(%rip), %zmm4 + vxorpd %zmm8, %zmm7, %zmm5 + kxnorw %k0, %k0, %k1 + kxnorw %k0, %k0, %k2 + vfmadd213pd {rn-sae}, %zmm13, %zmm5, %zmm12 + + /* + * Check for overflow\underflow + * + */ + vpsrlq $32, %zmm5, %zmm9 + + /* + * R + * dN = dM - RShifter + */ + vsubpd {rn-sae}, %zmm13, %zmm12, %zmm2 + vpmovqd %zmm9, %ymm10 + vmovups _dbLn2lo+__svml_dsinh_data_internal(%rip), %zmm9 + + /* dR = dX - dN*Log2_hi/2^K */ + vfnmadd231pd {rn-sae}, %zmm14, %zmm2, %zmm5 + + /* + * sinh(r) = r*((a1=1)+r^2*(a3+r^2*a5)) = r + r*(r^2*(a3+r^2*a5)) .... + * dSinh_r = (a3+r^2*a5) + */ + vmovups _dPC3+__svml_dsinh_data_internal(%rip), %zmm14 + + /* dR = (dX - dN*Log2_hi/2^K) - dN*Log2_lo/2^K */ + vfnmadd231pd {rn-sae}, %zmm9, %zmm2, %zmm5 + vpcmpgtd _iDomainRange+__svml_dsinh_data_internal(%rip), %ymm10, %ymm11 + vmovmskps %ymm11, %edx + + /* dR2 = dR^2 */ + vmulpd {rn-sae}, %zmm5, %zmm5, %zmm2 + vfmadd231pd {rn-sae}, %zmm2, %zmm6, %zmm14 + + /* + * Index and lookup + * j + */ + vpandq _lIndexMask+__svml_dsinh_data_internal(%rip), %zmm12, %zmm15 + vpsllq $4, %zmm15, %zmm1 + vpmovqd %zmm1, %ymm0 + vpxord %zmm11, %zmm11, %zmm11 + vpxord %zmm10, %zmm10, %zmm10 + vgatherdpd (%rax, %ymm0), %zmm11{%k1} + vgatherdpd -8(%rax, %ymm0), %zmm10{%k2} + + /* split j and N */ + vpxorq %zmm15, %zmm12, %zmm3 + + /* + * G1, G2, G3: dTdif, dTn * 2^N, 2^(-N) + * lM now is an EXP(2^N) + */ + vpsllq $45, %zmm3, %zmm3 + vpaddq %zmm3, %zmm10, %zmm1 + + /* */ + vpaddq %zmm3, %zmm11, %zmm12 + + /* */ + vpsubq %zmm3, %zmm11, %zmm13 + + /* dSinh_r = r^2*(a3+r^2*a5) */ + vmulpd {rn-sae}, %zmm2, %zmm14, %zmm3 + + /* dG2 = dTn*2^N - dTn*2^-N */ + vsubpd {rn-sae}, %zmm13, %zmm12, %zmm15 + + /* dG3 = dTn*2^N + dTn*2^-N */ + vaddpd {rn-sae}, %zmm13, %zmm12, %zmm0 + + /* dSinh_r = r + r*(r^2*(a3+r^2*a5)) */ + vfmadd213pd {rn-sae}, %zmm5, %zmm5, %zmm3 + + /* + * poly(r) = (dG2+dG1)+dG3*sinh(dR)+dG1*sinh(dR)+(dG1+dG2)*dR2*(a2 +a4*dR2) + * dOut = (a2 +a4*dR2) + */ + vmovups _dPC2+__svml_dsinh_data_internal(%rip), %zmm5 + + /* dG1 += dG3 */ + vaddpd {rn-sae}, %zmm0, %zmm1, %zmm6 + vfmadd231pd {rn-sae}, %zmm2, %zmm4, %zmm5 + + /* dOut = dR2*(a2 +a4*dR2) */ + vmulpd {rn-sae}, %zmm2, %zmm5, %zmm4 + + /* dG2 += dG1 */ + vaddpd {rn-sae}, %zmm15, %zmm1, %zmm2 + + /* dOut = dG2*dR2*(a2 +a4*dR2) */ + vmulpd {rn-sae}, %zmm2, %zmm4, %zmm4 + + /* dOut = dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vfmadd213pd {rn-sae}, %zmm4, %zmm6, %zmm3 + + /* dOut = dG2 + dG1*sinh(dR)+dG2*dR2*(a2 +a4*dR2) */ + vaddpd {rn-sae}, %zmm2, %zmm3, %zmm0 + + /* Ret H */ + vorpd %zmm0, %zmm7, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm8 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm8, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm8, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call sinh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call sinh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_sinh_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dsinh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _dbInvLn2[8][2]; - __declspec(align(64)) VUINT32 _dbLn2hi[8][2]; - __declspec(align(64)) VUINT32 _dbLn2lo[8][2]; - __declspec(align(64)) VUINT32 _dSign[8][2]; //0x8000000000000000 - __declspec(align(64)) VUINT32 _dbT[(1<<7)][2][2]; //precalc poly coeff - __declspec(align(64)) VUINT32 _dbShifter[8][2]; - __declspec(align(64)) VUINT32 _iDomainRange[16][1]; - __declspec(align(64)) VUINT32 _dPC2[8][2]; - __declspec(align(64)) VUINT32 _dPC3[8][2]; - __declspec(align(64)) VUINT32 _dPC4[8][2]; - __declspec(align(64)) VUINT32 _dPC5[8][2]; - __declspec(align(64)) VUINT32 _lIndexMask[8][2]; +typedef struct { + __declspec(align(64)) VUINT32 _dbInvLn2[8][2]; + __declspec(align(64)) VUINT32 _dbLn2hi[8][2]; + __declspec(align(64)) VUINT32 _dbLn2lo[8][2]; + __declspec(align(64)) VUINT32 _dSign[8][2]; // 0x8000000000000000 + __declspec(align(64)) VUINT32 _dbT[(1<<7)][2][2]; // precalc poly coeff + __declspec(align(64)) VUINT32 _dbShifter[8][2]; + __declspec(align(64)) VUINT32 _iDomainRange[16][1]; + __declspec(align(64)) VUINT32 _dPC2[8][2]; + __declspec(align(64)) VUINT32 _dPC3[8][2]; + __declspec(align(64)) VUINT32 _dPC4[8][2]; + __declspec(align(64)) VUINT32 _dPC5[8][2]; + __declspec(align(64)) VUINT32 _lIndexMask[8][2]; } __svml_dsinh_data_internal; #endif __svml_dsinh_data_internal: - .quad 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE /* _dbInvLn2 = 1/log(2) */ - .align 64 - .quad 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000 /* _dbLn2hi = log(2) hi*/ - .align 64 - .quad 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A /* _dbLn2lo = log(2) lo*/ - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign */ - //_dbT - .align 64 - .quad 0x0000000000000000, 0x3FE0000000000000 //2^( 0 /128-1) - 2^(- 0 /128-1), 2^(- 0 /128-1) - .quad 0x3F762E4A19BD1E74, 0x3FDFD3C22B8F71F1 //2^( 1 /128-1) - 2^(- 1 /128-1), 2^(- 1 /128-1) - .quad 0x3F862E5F6A0DFD36, 0x3FDFA7C1819E90D8 //2^( 2 /128-1) - 2^(- 2 /128-1), 2^(- 2 /128-1) - .quad 0x3F90A2E234040F5F, 0x3FDF7BFDAD9CBE14 //2^( 3 /128-1) - 2^(- 3 /128-1), 2^(- 3 /128-1) - .quad 0x3F962EB4ABCC5A81, 0x3FDF50765B6E4540 //2^( 4 /128-1) - 2^(- 4 /128-1), 2^(- 4 /128-1) - .quad 0x3F9BBAB1C5033244, 0x3FDF252B376BBA97 //2^( 5 /128-1) - 2^(- 5 /128-1), 2^(- 5 /128-1) - .quad 0x3FA0A372144EEB45, 0x3FDEFA1BEE615A27 //2^( 6 /128-1) - 2^(- 6 /128-1), 2^(- 6 /128-1) - .quad 0x3FA369AB3FFBF8B0, 0x3FDECF482D8E67F1 //2^( 7 /128-1) - 2^(- 7 /128-1), 2^(- 7 /128-1) - .quad 0x3FA63009BA740A2A, 0x3FDEA4AFA2A490DA //2^( 8 /128-1) - 2^(- 8 /128-1), 2^(- 8 /128-1) - .quad 0x3FA8F692D8EA1B5A, 0x3FDE7A51FBC74C83 //2^( 9 /128-1) - 2^(- 9 /128-1), 2^(- 9 /128-1) - .quad 0x3FABBD4BF0E31A6F, 0x3FDE502EE78B3FF6 //2^( 10 /128-1) - 2^(- 10 /128-1), 2^(- 10 /128-1) - .quad 0x3FAE843A5840286A, 0x3FDE264614F5A129 //2^( 11 /128-1) - 2^(- 11 /128-1), 2^(- 11 /128-1) - .quad 0x3FB0A5B1B2A46D0A, 0x3FDDFC97337B9B5F //2^( 12 /128-1) - 2^(- 12 /128-1), 2^(- 12 /128-1) - .quad 0x3FB20966375ABCDF, 0x3FDDD321F301B460 //2^( 13 /128-1) - 2^(- 13 /128-1), 2^(- 13 /128-1) - .quad 0x3FB36D3D65DCA4E8, 0x3FDDA9E603DB3285 //2^( 14 /128-1) - 2^(- 14 /128-1), 2^(- 14 /128-1) - .quad 0x3FB4D139EA06642A, 0x3FDD80E316C98398 //2^( 15 /128-1) - 2^(- 15 /128-1), 2^(- 15 /128-1) - .quad 0x3FB6355E6FFBF9BA, 0x3FDD5818DCFBA487 //2^( 16 /128-1) - 2^(- 16 /128-1), 2^(- 16 /128-1) - .quad 0x3FB799ADA42E4788, 0x3FDD2F87080D89F2 //2^( 17 /128-1) - 2^(- 17 /128-1), 2^(- 17 /128-1) - .quad 0x3FB8FE2A336035BC, 0x3FDD072D4A07897C //2^( 18 /128-1) - 2^(- 18 /128-1), 2^(- 18 /128-1) - .quad 0x3FBA62D6CAABD6B6, 0x3FDCDF0B555DC3FA //2^( 19 /128-1) - 2^(- 19 /128-1), 2^(- 19 /128-1) - .quad 0x3FBBC7B617878BAF, 0x3FDCB720DCEF9069 //2^( 20 /128-1) - 2^(- 20 /128-1), 2^(- 20 /128-1) - .quad 0x3FBD2CCAC7CB2A11, 0x3FDC8F6D9406E7B5 //2^( 21 /128-1) - 2^(- 21 /128-1), 2^(- 21 /128-1) - .quad 0x3FBE921789B52185, 0x3FDC67F12E57D14B //2^( 22 /128-1) - 2^(- 22 /128-1), 2^(- 22 /128-1) - .quad 0x3FBFF79F0BEFA2C7, 0x3FDC40AB5FFFD07A //2^( 23 /128-1) - 2^(- 23 /128-1), 2^(- 23 /128-1) - .quad 0x3FC0AEB1FECAE3A9, 0x3FDC199BDD85529C //2^( 24 /128-1) - 2^(- 24 /128-1), 2^(- 24 /128-1) - .quad 0x3FC161B4871C5CEC, 0x3FDBF2C25BD71E09 //2^( 25 /128-1) - 2^(- 25 /128-1), 2^(- 25 /128-1) - .quad 0x3FC214D876F26FD0, 0x3FDBCC1E904BC1D2 //2^( 26 /128-1) - 2^(- 26 /128-1), 2^(- 26 /128-1) - .quad 0x3FC2C81F2693816F, 0x3FDBA5B030A1064A //2^( 27 /128-1) - 2^(- 27 /128-1), 2^(- 27 /128-1) - .quad 0x3FC37B89EE88BEF7, 0x3FDB7F76F2FB5E47 //2^( 28 /128-1) - 2^(- 28 /128-1), 2^(- 28 /128-1) - .quad 0x3FC42F1A27A0B3CD, 0x3FDB59728DE5593A //2^( 29 /128-1) - 2^(- 29 /128-1), 2^(- 29 /128-1) - .quad 0x3FC4E2D12AF1E037, 0x3FDB33A2B84F15FB //2^( 30 /128-1) - 2^(- 30 /128-1), 2^(- 30 /128-1) - .quad 0x3FC596B051DD508D, 0x3FDB0E07298DB666 //2^( 31 /128-1) - 2^(- 31 /128-1), 2^(- 31 /128-1) - .quad 0x3FC64AB8F61134FA, 0x3FDAE89F995AD3AD //2^( 32 /128-1) - 2^(- 32 /128-1), 2^(- 32 /128-1) - .quad 0x3FC6FEEC718B79D1, 0x3FDAC36BBFD3F37A //2^( 33 /128-1) - 2^(- 33 /128-1), 2^(- 33 /128-1) - .quad 0x3FC7B34C1E9C607F, 0x3FDA9E6B5579FDBF //2^( 34 /128-1) - 2^(- 34 /128-1), 2^(- 34 /128-1) - .quad 0x3FC867D957E91912, 0x3FDA799E1330B358 //2^( 35 /128-1) - 2^(- 35 /128-1), 2^(- 35 /128-1) - .quad 0x3FC91C95786E5C72, 0x3FDA5503B23E255D //2^( 36 /128-1) - 2^(- 36 /128-1), 2^(- 36 /128-1) - .quad 0x3FC9D181DB83072F, 0x3FDA309BEC4A2D33 //2^( 37 /128-1) - 2^(- 37 /128-1), 2^(- 37 /128-1) - .quad 0x3FCA869FDCDAB512, 0x3FDA0C667B5DE565 //2^( 38 /128-1) - 2^(- 38 /128-1), 2^(- 38 /128-1) - .quad 0x3FCB3BF0D8885D4C, 0x3FD9E86319E32323 //2^( 39 /128-1) - 2^(- 39 /128-1), 2^(- 39 /128-1) - .quad 0x3FCBF1762B00EF69, 0x3FD9C49182A3F090 //2^( 40 /128-1) - 2^(- 40 /128-1), 2^(- 40 /128-1) - .quad 0x3FCCA731311DF0FB, 0x3FD9A0F170CA07BA //2^( 41 /128-1) - 2^(- 41 /128-1), 2^(- 41 /128-1) - .quad 0x3FCD5D2348201C09, 0x3FD97D829FDE4E50 //2^( 42 /128-1) - 2^(- 42 /128-1), 2^(- 42 /128-1) - .quad 0x3FCE134DCDB1FE3E, 0x3FD95A44CBC8520F //2^( 43 /128-1) - 2^(- 43 /128-1), 2^(- 43 /128-1) - .quad 0x3FCEC9B21FEA98EA, 0x3FD93737B0CDC5E5 //2^( 44 /128-1) - 2^(- 44 /128-1), 2^(- 44 /128-1) - .quad 0x3FCF80519D5001D3, 0x3FD9145B0B91FFC6 //2^( 45 /128-1) - 2^(- 45 /128-1), 2^(- 45 /128-1) - .quad 0x3FD01B96D26D026A, 0x3FD8F1AE99157736 //2^( 46 /128-1) - 2^(- 46 /128-1), 2^(- 46 /128-1) - .quad 0x3FD07723CAFA6331, 0x3FD8CF3216B5448C //2^( 47 /128-1) - 2^(- 47 /128-1), 2^(- 47 /128-1) - .quad 0x3FD0D2D06841B373, 0x3FD8ACE5422AA0DB //2^( 48 /128-1) - 2^(- 48 /128-1), 2^(- 48 /128-1) - .quad 0x3FD12E9D5A715381, 0x3FD88AC7D98A6699 //2^( 49 /128-1) - 2^(- 49 /128-1), 2^(- 49 /128-1) - .quad 0x3FD18A8B51F5C661, 0x3FD868D99B4492ED //2^( 50 /128-1) - 2^(- 50 /128-1), 2^(- 50 /128-1) - .quad 0x3FD1E69AFF7B04D7, 0x3FD8471A4623C7AD //2^( 51 /128-1) - 2^(- 51 /128-1), 2^(- 51 /128-1) - .quad 0x3FD242CD13EDD0F1, 0x3FD82589994CCE13 //2^( 52 /128-1) - 2^(- 52 /128-1), 2^(- 52 /128-1) - .quad 0x3FD29F22407D0A0C, 0x3FD80427543E1A12 //2^( 53 /128-1) - 2^(- 53 /128-1), 2^(- 53 /128-1) - .quad 0x3FD2FB9B369B0153, 0x3FD7E2F336CF4E62 //2^( 54 /128-1) - 2^(- 54 /128-1), 2^(- 54 /128-1) - .quad 0x3FD35838A7FECEC8, 0x3FD7C1ED0130C132 //2^( 55 /128-1) - 2^(- 55 /128-1), 2^(- 55 /128-1) - .quad 0x3FD3B4FB46A5A6CC, 0x3FD7A11473EB0187 //2^( 56 /128-1) - 2^(- 56 /128-1), 2^(- 56 /128-1) - .quad 0x3FD411E3C4D4302F, 0x3FD780694FDE5D3F //2^( 57 /128-1) - 2^(- 57 /128-1), 2^(- 57 /128-1) - .quad 0x3FD46EF2D517DAC8, 0x3FD75FEB564267C9 //2^( 58 /128-1) - 2^(- 58 /128-1), 2^(- 58 /128-1) - .quad 0x3FD4CC292A48369E, 0x3FD73F9A48A58174 //2^( 59 /128-1) - 2^(- 59 /128-1), 2^(- 59 /128-1) - .quad 0x3FD5298777884B96, 0x3FD71F75E8EC5F74 //2^( 60 /128-1) - 2^(- 60 /128-1), 2^(- 60 /128-1) - .quad 0x3FD5870E7047F1BC, 0x3FD6FF7DF9519484 //2^( 61 /128-1) - 2^(- 61 /128-1), 2^(- 61 /128-1) - .quad 0x3FD5E4BEC8452A1A, 0x3FD6DFB23C651A2F //2^( 62 /128-1) - 2^(- 62 /128-1), 2^(- 62 /128-1) - .quad 0x3FD64299338D7827, 0x3FD6C012750BDABF //2^( 63 /128-1) - 2^(- 63 /128-1), 2^(- 63 /128-1) - .quad 0x3FD6A09E667F3BCD, 0x3FD6A09E667F3BCD //2^( 64 /128-1) - 2^(- 64 /128-1), 2^(- 64 /128-1) - .quad 0x3FD6FECF15CB0C0B, 0x3FD68155D44CA973 //2^( 65 /128-1) - 2^(- 65 /128-1), 2^(- 65 /128-1) - .quad 0x3FD75D2BF6751239, 0x3FD6623882552225 //2^( 66 /128-1) - 2^(- 66 /128-1), 2^(- 66 /128-1) - .quad 0x3FD7BBB5BDD665E8, 0x3FD6434634CCC320 //2^( 67 /128-1) - 2^(- 67 /128-1), 2^(- 67 /128-1) - .quad 0x3FD81A6D219E6963, 0x3FD6247EB03A5585 //2^( 68 /128-1) - 2^(- 68 /128-1), 2^(- 68 /128-1) - .quad 0x3FD87952D7D426DF, 0x3FD605E1B976DC09 //2^( 69 /128-1) - 2^(- 69 /128-1), 2^(- 69 /128-1) - .quad 0x3FD8D86796D7AE49, 0x3FD5E76F15AD2148 //2^( 70 /128-1) - 2^(- 70 /128-1), 2^(- 70 /128-1) - .quad 0x3FD937AC156373C8, 0x3FD5C9268A5946B7 //2^( 71 /128-1) - 2^(- 71 /128-1), 2^(- 71 /128-1) - .quad 0x3FD997210A8DAEE4, 0x3FD5AB07DD485429 //2^( 72 /128-1) - 2^(- 72 /128-1), 2^(- 72 /128-1) - .quad 0x3FD9F6C72DC9BA68, 0x3FD58D12D497C7FD //2^( 73 /128-1) - 2^(- 73 /128-1), 2^(- 73 /128-1) - .quad 0x3FDA569F36E974EA, 0x3FD56F4736B527DA //2^( 74 /128-1) - 2^(- 74 /128-1), 2^(- 74 /128-1) - .quad 0x3FDAB6A9DE1EA215, 0x3FD551A4CA5D920F //2^( 75 /128-1) - 2^(- 75 /128-1), 2^(- 75 /128-1) - .quad 0x3FDB16E7DBFC4CA3, 0x3FD5342B569D4F82 //2^( 76 /128-1) - 2^(- 76 /128-1), 2^(- 76 /128-1) - .quad 0x3FDB7759E9782918, 0x3FD516DAA2CF6642 //2^( 77 /128-1) - 2^(- 77 /128-1), 2^(- 77 /128-1) - .quad 0x3FDBD800BFEBF932, 0x3FD4F9B2769D2CA7 //2^( 78 /128-1) - 2^(- 78 /128-1), 2^(- 78 /128-1) - .quad 0x3FDC38DD1916F025, 0x3FD4DCB299FDDD0D //2^( 79 /128-1) - 2^(- 79 /128-1), 2^(- 79 /128-1) - .quad 0x3FDC99EFAF1F1790, 0x3FD4BFDAD5362A27 //2^( 80 /128-1) - 2^(- 80 /128-1), 2^(- 80 /128-1) - .quad 0x3FDCFB393C92B539, 0x3FD4A32AF0D7D3DE //2^( 81 /128-1) - 2^(- 81 /128-1), 2^(- 81 /128-1) - .quad 0x3FDD5CBA7C69B19C, 0x3FD486A2B5C13CD0 //2^( 82 /128-1) - 2^(- 82 /128-1), 2^(- 82 /128-1) - .quad 0x3FDDBE742A06FF34, 0x3FD46A41ED1D0057 //2^( 83 /128-1) - 2^(- 83 /128-1), 2^(- 83 /128-1) - .quad 0x3FDE2067013A029D, 0x3FD44E086061892D //2^( 84 /128-1) - 2^(- 84 /128-1), 2^(- 84 /128-1) - .quad 0x3FDE8293BE3FFB87, 0x3FD431F5D950A897 //2^( 85 /128-1) - 2^(- 85 /128-1), 2^(- 85 /128-1) - .quad 0x3FDEE4FB1DC56E75, 0x3FD4160A21F72E2A //2^( 86 /128-1) - 2^(- 86 /128-1), 2^(- 86 /128-1) - .quad 0x3FDF479DDCE78F58, 0x3FD3FA4504AC801C //2^( 87 /128-1) - 2^(- 87 /128-1), 2^(- 87 /128-1) - .quad 0x3FDFAA7CB935ACFE, 0x3FD3DEA64C123422 //2^( 88 /128-1) - 2^(- 88 /128-1), 2^(- 88 /128-1) - .quad 0x3FE006CC38594EB1, 0x3FD3C32DC313A8E5 //2^( 89 /128-1) - 2^(- 89 /128-1), 2^(- 89 /128-1) - .quad 0x3FE03878E0EB1569, 0x3FD3A7DB34E59FF7 //2^( 90 /128-1) - 2^(- 90 /128-1), 2^(- 90 /128-1) - .quad 0x3FE06A44B5C74101, 0x3FD38CAE6D05D866 //2^( 91 /128-1) - 2^(- 91 /128-1), 2^(- 91 /128-1) - .quad 0x3FE09C3016A0D077, 0x3FD371A7373AA9CB //2^( 92 /128-1) - 2^(- 92 /128-1), 2^(- 92 /128-1) - .quad 0x3FE0CE3B63676360, 0x3FD356C55F929FF1 //2^( 93 /128-1) - 2^(- 93 /128-1), 2^(- 93 /128-1) - .quad 0x3FE10066FC47F240, 0x3FD33C08B26416FF //2^( 94 /128-1) - 2^(- 94 /128-1), 2^(- 94 /128-1) - .quad 0x3FE132B341AD8761, 0x3FD32170FC4CD831 //2^( 95 /128-1) - 2^(- 95 /128-1), 2^(- 95 /128-1) - .quad 0x3FE165209441F823, 0x3FD306FE0A31B715 //2^( 96 /128-1) - 2^(- 96 /128-1), 2^(- 96 /128-1) - .quad 0x3FE197AF54EE9EBB, 0x3FD2ECAFA93E2F56 //2^( 97 /128-1) - 2^(- 97 /128-1), 2^(- 97 /128-1) - .quad 0x3FE1CA5FE4DD1475, 0x3FD2D285A6E4030B //2^( 98 /128-1) - 2^(- 98 /128-1), 2^(- 98 /128-1) - .quad 0x3FE1FD32A577EC72, 0x3FD2B87FD0DAD990 //2^( 99 /128-1) - 2^(- 99 /128-1), 2^(- 99 /128-1) - .quad 0x3FE23027F86B6ED6, 0x3FD29E9DF51FDEE1 //2^( 100 /128-1) - 2^(- 100 /128-1), 2^(- 100 /128-1) - .quad 0x3FE263403FA65489, 0x3FD284DFE1F56381 //2^( 101 /128-1) - 2^(- 101 /128-1), 2^(- 101 /128-1) - .quad 0x3FE2967BDD5A8364, 0x3FD26B4565E27CDD //2^( 102 /128-1) - 2^(- 102 /128-1), 2^(- 102 /128-1) - .quad 0x3FE2C9DB33FDCAE9, 0x3FD251CE4FB2A63F //2^( 103 /128-1) - 2^(- 103 /128-1), 2^(- 103 /128-1) - .quad 0x3FE2FD5EA64AA180, 0x3FD2387A6E756238 //2^( 104 /128-1) - 2^(- 104 /128-1), 2^(- 104 /128-1) - .quad 0x3FE331069740E22F, 0x3FD21F49917DDC96 //2^( 105 /128-1) - 2^(- 105 /128-1), 2^(- 105 /128-1) - .quad 0x3FE364D36A268AE0, 0x3FD2063B88628CD6 //2^( 106 /128-1) - 2^(- 106 /128-1), 2^(- 106 /128-1) - .quad 0x3FE398C582887B27, 0x3FD1ED5022FCD91D //2^( 107 /128-1) - 2^(- 107 /128-1), 2^(- 107 /128-1) - .quad 0x3FE3CCDD443B3394, 0x3FD1D4873168B9AA //2^( 108 /128-1) - 2^(- 108 /128-1), 2^(- 108 /128-1) - .quad 0x3FE4011B135B9590, 0x3FD1BBE084045CD4 //2^( 109 /128-1) - 2^(- 109 /128-1), 2^(- 109 /128-1) - .quad 0x3FE4357F544FA3C1, 0x3FD1A35BEB6FCB75 //2^( 110 /128-1) - 2^(- 110 /128-1), 2^(- 110 /128-1) - .quad 0x3FE46A0A6BC742FD, 0x3FD18AF9388C8DEA //2^( 111 /128-1) - 2^(- 111 /128-1), 2^(- 111 /128-1) - .quad 0x3FE49EBCBEBCFBCA, 0x3FD172B83C7D517B //2^( 112 /128-1) - 2^(- 112 /128-1), 2^(- 112 /128-1) - .quad 0x3FE4D396B276BC6F, 0x3FD15A98C8A58E51 //2^( 113 /128-1) - 2^(- 113 /128-1), 2^(- 113 /128-1) - .quad 0x3FE50898AC869B96, 0x3FD1429AAEA92DE0 //2^( 114 /128-1) - 2^(- 114 /128-1), 2^(- 114 /128-1) - .quad 0x3FE53DC312CB9B7A, 0x3FD12ABDC06C31CC //2^( 115 /128-1) - 2^(- 115 /128-1), 2^(- 115 /128-1) - .quad 0x3FE573164B726DB6, 0x3FD11301D0125B51 //2^( 116 /128-1) - 2^(- 116 /128-1), 2^(- 116 /128-1) - .quad 0x3FE5A892BCF6379B, 0x3FD0FB66AFFED31B //2^( 117 /128-1) - 2^(- 117 /128-1), 2^(- 117 /128-1) - .quad 0x3FE5DE38CE215725, 0x3FD0E3EC32D3D1A2 //2^( 118 /128-1) - 2^(- 118 /128-1), 2^(- 118 /128-1) - .quad 0x3FE61408E60E2888, 0x3FD0CC922B7247F7 //2^( 119 /128-1) - 2^(- 119 /128-1), 2^(- 119 /128-1) - .quad 0x3FE64A036C27CC52, 0x3FD0B5586CF9890F //2^( 120 /128-1) - 2^(- 120 /128-1), 2^(- 120 /128-1) - .quad 0x3FE68028C82AEE2F, 0x3FD09E3ECAC6F383 //2^( 121 /128-1) - 2^(- 121 /128-1), 2^(- 121 /128-1) - .quad 0x3FE6B67962268C43, 0x3FD0874518759BC8 //2^( 122 /128-1) - 2^(- 122 /128-1), 2^(- 122 /128-1) - .quad 0x3FE6ECF5A27CBF28, 0x3FD0706B29DDF6DE //2^( 123 /128-1) - 2^(- 123 /128-1), 2^(- 123 /128-1) - .quad 0x3FE7239DF1E38286, 0x3FD059B0D3158574 //2^( 124 /128-1) - 2^(- 124 /128-1), 2^(- 124 /128-1) - .quad 0x3FE75A72B9657E51, 0x3FD04315E86E7F85 //2^( 125 /128-1) - 2^(- 125 /128-1), 2^(- 125 /128-1) - .quad 0x3FE791746262D0A8, 0x3FD02C9A3E778061 //2^( 126 /128-1) - 2^(- 126 /128-1), 2^(- 126 /128-1) - .quad 0x3FE7C8A35691D856, 0x3FD0163DA9FB3335 //2^( 127 /128-1) - 2^(- 127 /128-1), 2^(- 127 /128-1) - .align 64 - .quad 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000 /* _dbShifter = 1.5 * 2^(52-k)*/ - .align 64 - .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp*/ - .align 64 - .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ - .align 64 - .quad 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD /* _dPC3 */ - .align 64 - .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ - .align 64 - .quad 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425 /* _dPC5 */ - .align 64 - .quad 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f /* _lIndexMask */ - .align 64 - .type __svml_dsinh_data_internal,@object - .size __svml_dsinh_data_internal,.-__svml_dsinh_data_internal + .quad 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE, 0x3FF71547652B82FE /* _dbInvLn2 = 1/log(2) */ + .align 64 + .quad 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000, 0x3FE62E42FEFA0000 /* _dbLn2hi = log(2) hi */ + .align 64 + .quad 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A, 0x3D7CF79ABC9E3B3A /* _dbLn2lo = log(2) lo */ + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign */ + //_dbT + .align 64 + .quad 0x0000000000000000, 0x3FE0000000000000 // 2^( 0 /128-1) - 2^(- 0 /128-1), 2^(- 0 /128-1) + .quad 0x3F762E4A19BD1E74, 0x3FDFD3C22B8F71F1 // 2^( 1 /128-1) - 2^(- 1 /128-1), 2^(- 1 /128-1) + .quad 0x3F862E5F6A0DFD36, 0x3FDFA7C1819E90D8 // 2^( 2 /128-1) - 2^(- 2 /128-1), 2^(- 2 /128-1) + .quad 0x3F90A2E234040F5F, 0x3FDF7BFDAD9CBE14 // 2^( 3 /128-1) - 2^(- 3 /128-1), 2^(- 3 /128-1) + .quad 0x3F962EB4ABCC5A81, 0x3FDF50765B6E4540 // 2^( 4 /128-1) - 2^(- 4 /128-1), 2^(- 4 /128-1) + .quad 0x3F9BBAB1C5033244, 0x3FDF252B376BBA97 // 2^( 5 /128-1) - 2^(- 5 /128-1), 2^(- 5 /128-1) + .quad 0x3FA0A372144EEB45, 0x3FDEFA1BEE615A27 // 2^( 6 /128-1) - 2^(- 6 /128-1), 2^(- 6 /128-1) + .quad 0x3FA369AB3FFBF8B0, 0x3FDECF482D8E67F1 // 2^( 7 /128-1) - 2^(- 7 /128-1), 2^(- 7 /128-1) + .quad 0x3FA63009BA740A2A, 0x3FDEA4AFA2A490DA // 2^( 8 /128-1) - 2^(- 8 /128-1), 2^(- 8 /128-1) + .quad 0x3FA8F692D8EA1B5A, 0x3FDE7A51FBC74C83 // 2^( 9 /128-1) - 2^(- 9 /128-1), 2^(- 9 /128-1) + .quad 0x3FABBD4BF0E31A6F, 0x3FDE502EE78B3FF6 // 2^( 10 /128-1) - 2^(- 10 /128-1), 2^(- 10 /128-1) + .quad 0x3FAE843A5840286A, 0x3FDE264614F5A129 // 2^( 11 /128-1) - 2^(- 11 /128-1), 2^(- 11 /128-1) + .quad 0x3FB0A5B1B2A46D0A, 0x3FDDFC97337B9B5F // 2^( 12 /128-1) - 2^(- 12 /128-1), 2^(- 12 /128-1) + .quad 0x3FB20966375ABCDF, 0x3FDDD321F301B460 // 2^( 13 /128-1) - 2^(- 13 /128-1), 2^(- 13 /128-1) + .quad 0x3FB36D3D65DCA4E8, 0x3FDDA9E603DB3285 // 2^( 14 /128-1) - 2^(- 14 /128-1), 2^(- 14 /128-1) + .quad 0x3FB4D139EA06642A, 0x3FDD80E316C98398 // 2^( 15 /128-1) - 2^(- 15 /128-1), 2^(- 15 /128-1) + .quad 0x3FB6355E6FFBF9BA, 0x3FDD5818DCFBA487 // 2^( 16 /128-1) - 2^(- 16 /128-1), 2^(- 16 /128-1) + .quad 0x3FB799ADA42E4788, 0x3FDD2F87080D89F2 // 2^( 17 /128-1) - 2^(- 17 /128-1), 2^(- 17 /128-1) + .quad 0x3FB8FE2A336035BC, 0x3FDD072D4A07897C // 2^( 18 /128-1) - 2^(- 18 /128-1), 2^(- 18 /128-1) + .quad 0x3FBA62D6CAABD6B6, 0x3FDCDF0B555DC3FA // 2^( 19 /128-1) - 2^(- 19 /128-1), 2^(- 19 /128-1) + .quad 0x3FBBC7B617878BAF, 0x3FDCB720DCEF9069 // 2^( 20 /128-1) - 2^(- 20 /128-1), 2^(- 20 /128-1) + .quad 0x3FBD2CCAC7CB2A11, 0x3FDC8F6D9406E7B5 // 2^( 21 /128-1) - 2^(- 21 /128-1), 2^(- 21 /128-1) + .quad 0x3FBE921789B52185, 0x3FDC67F12E57D14B // 2^( 22 /128-1) - 2^(- 22 /128-1), 2^(- 22 /128-1) + .quad 0x3FBFF79F0BEFA2C7, 0x3FDC40AB5FFFD07A // 2^( 23 /128-1) - 2^(- 23 /128-1), 2^(- 23 /128-1) + .quad 0x3FC0AEB1FECAE3A9, 0x3FDC199BDD85529C // 2^( 24 /128-1) - 2^(- 24 /128-1), 2^(- 24 /128-1) + .quad 0x3FC161B4871C5CEC, 0x3FDBF2C25BD71E09 // 2^( 25 /128-1) - 2^(- 25 /128-1), 2^(- 25 /128-1) + .quad 0x3FC214D876F26FD0, 0x3FDBCC1E904BC1D2 // 2^( 26 /128-1) - 2^(- 26 /128-1), 2^(- 26 /128-1) + .quad 0x3FC2C81F2693816F, 0x3FDBA5B030A1064A // 2^( 27 /128-1) - 2^(- 27 /128-1), 2^(- 27 /128-1) + .quad 0x3FC37B89EE88BEF7, 0x3FDB7F76F2FB5E47 // 2^( 28 /128-1) - 2^(- 28 /128-1), 2^(- 28 /128-1) + .quad 0x3FC42F1A27A0B3CD, 0x3FDB59728DE5593A // 2^( 29 /128-1) - 2^(- 29 /128-1), 2^(- 29 /128-1) + .quad 0x3FC4E2D12AF1E037, 0x3FDB33A2B84F15FB // 2^( 30 /128-1) - 2^(- 30 /128-1), 2^(- 30 /128-1) + .quad 0x3FC596B051DD508D, 0x3FDB0E07298DB666 // 2^( 31 /128-1) - 2^(- 31 /128-1), 2^(- 31 /128-1) + .quad 0x3FC64AB8F61134FA, 0x3FDAE89F995AD3AD // 2^( 32 /128-1) - 2^(- 32 /128-1), 2^(- 32 /128-1) + .quad 0x3FC6FEEC718B79D1, 0x3FDAC36BBFD3F37A // 2^( 33 /128-1) - 2^(- 33 /128-1), 2^(- 33 /128-1) + .quad 0x3FC7B34C1E9C607F, 0x3FDA9E6B5579FDBF // 2^( 34 /128-1) - 2^(- 34 /128-1), 2^(- 34 /128-1) + .quad 0x3FC867D957E91912, 0x3FDA799E1330B358 // 2^( 35 /128-1) - 2^(- 35 /128-1), 2^(- 35 /128-1) + .quad 0x3FC91C95786E5C72, 0x3FDA5503B23E255D // 2^( 36 /128-1) - 2^(- 36 /128-1), 2^(- 36 /128-1) + .quad 0x3FC9D181DB83072F, 0x3FDA309BEC4A2D33 // 2^( 37 /128-1) - 2^(- 37 /128-1), 2^(- 37 /128-1) + .quad 0x3FCA869FDCDAB512, 0x3FDA0C667B5DE565 // 2^( 38 /128-1) - 2^(- 38 /128-1), 2^(- 38 /128-1) + .quad 0x3FCB3BF0D8885D4C, 0x3FD9E86319E32323 // 2^( 39 /128-1) - 2^(- 39 /128-1), 2^(- 39 /128-1) + .quad 0x3FCBF1762B00EF69, 0x3FD9C49182A3F090 // 2^( 40 /128-1) - 2^(- 40 /128-1), 2^(- 40 /128-1) + .quad 0x3FCCA731311DF0FB, 0x3FD9A0F170CA07BA // 2^( 41 /128-1) - 2^(- 41 /128-1), 2^(- 41 /128-1) + .quad 0x3FCD5D2348201C09, 0x3FD97D829FDE4E50 // 2^( 42 /128-1) - 2^(- 42 /128-1), 2^(- 42 /128-1) + .quad 0x3FCE134DCDB1FE3E, 0x3FD95A44CBC8520F // 2^( 43 /128-1) - 2^(- 43 /128-1), 2^(- 43 /128-1) + .quad 0x3FCEC9B21FEA98EA, 0x3FD93737B0CDC5E5 // 2^( 44 /128-1) - 2^(- 44 /128-1), 2^(- 44 /128-1) + .quad 0x3FCF80519D5001D3, 0x3FD9145B0B91FFC6 // 2^( 45 /128-1) - 2^(- 45 /128-1), 2^(- 45 /128-1) + .quad 0x3FD01B96D26D026A, 0x3FD8F1AE99157736 // 2^( 46 /128-1) - 2^(- 46 /128-1), 2^(- 46 /128-1) + .quad 0x3FD07723CAFA6331, 0x3FD8CF3216B5448C // 2^( 47 /128-1) - 2^(- 47 /128-1), 2^(- 47 /128-1) + .quad 0x3FD0D2D06841B373, 0x3FD8ACE5422AA0DB // 2^( 48 /128-1) - 2^(- 48 /128-1), 2^(- 48 /128-1) + .quad 0x3FD12E9D5A715381, 0x3FD88AC7D98A6699 // 2^( 49 /128-1) - 2^(- 49 /128-1), 2^(- 49 /128-1) + .quad 0x3FD18A8B51F5C661, 0x3FD868D99B4492ED // 2^( 50 /128-1) - 2^(- 50 /128-1), 2^(- 50 /128-1) + .quad 0x3FD1E69AFF7B04D7, 0x3FD8471A4623C7AD // 2^( 51 /128-1) - 2^(- 51 /128-1), 2^(- 51 /128-1) + .quad 0x3FD242CD13EDD0F1, 0x3FD82589994CCE13 // 2^( 52 /128-1) - 2^(- 52 /128-1), 2^(- 52 /128-1) + .quad 0x3FD29F22407D0A0C, 0x3FD80427543E1A12 // 2^( 53 /128-1) - 2^(- 53 /128-1), 2^(- 53 /128-1) + .quad 0x3FD2FB9B369B0153, 0x3FD7E2F336CF4E62 // 2^( 54 /128-1) - 2^(- 54 /128-1), 2^(- 54 /128-1) + .quad 0x3FD35838A7FECEC8, 0x3FD7C1ED0130C132 // 2^( 55 /128-1) - 2^(- 55 /128-1), 2^(- 55 /128-1) + .quad 0x3FD3B4FB46A5A6CC, 0x3FD7A11473EB0187 // 2^( 56 /128-1) - 2^(- 56 /128-1), 2^(- 56 /128-1) + .quad 0x3FD411E3C4D4302F, 0x3FD780694FDE5D3F // 2^( 57 /128-1) - 2^(- 57 /128-1), 2^(- 57 /128-1) + .quad 0x3FD46EF2D517DAC8, 0x3FD75FEB564267C9 // 2^( 58 /128-1) - 2^(- 58 /128-1), 2^(- 58 /128-1) + .quad 0x3FD4CC292A48369E, 0x3FD73F9A48A58174 // 2^( 59 /128-1) - 2^(- 59 /128-1), 2^(- 59 /128-1) + .quad 0x3FD5298777884B96, 0x3FD71F75E8EC5F74 // 2^( 60 /128-1) - 2^(- 60 /128-1), 2^(- 60 /128-1) + .quad 0x3FD5870E7047F1BC, 0x3FD6FF7DF9519484 // 2^( 61 /128-1) - 2^(- 61 /128-1), 2^(- 61 /128-1) + .quad 0x3FD5E4BEC8452A1A, 0x3FD6DFB23C651A2F // 2^( 62 /128-1) - 2^(- 62 /128-1), 2^(- 62 /128-1) + .quad 0x3FD64299338D7827, 0x3FD6C012750BDABF // 2^( 63 /128-1) - 2^(- 63 /128-1), 2^(- 63 /128-1) + .quad 0x3FD6A09E667F3BCD, 0x3FD6A09E667F3BCD // 2^( 64 /128-1) - 2^(- 64 /128-1), 2^(- 64 /128-1) + .quad 0x3FD6FECF15CB0C0B, 0x3FD68155D44CA973 // 2^( 65 /128-1) - 2^(- 65 /128-1), 2^(- 65 /128-1) + .quad 0x3FD75D2BF6751239, 0x3FD6623882552225 // 2^( 66 /128-1) - 2^(- 66 /128-1), 2^(- 66 /128-1) + .quad 0x3FD7BBB5BDD665E8, 0x3FD6434634CCC320 // 2^( 67 /128-1) - 2^(- 67 /128-1), 2^(- 67 /128-1) + .quad 0x3FD81A6D219E6963, 0x3FD6247EB03A5585 // 2^( 68 /128-1) - 2^(- 68 /128-1), 2^(- 68 /128-1) + .quad 0x3FD87952D7D426DF, 0x3FD605E1B976DC09 // 2^( 69 /128-1) - 2^(- 69 /128-1), 2^(- 69 /128-1) + .quad 0x3FD8D86796D7AE49, 0x3FD5E76F15AD2148 // 2^( 70 /128-1) - 2^(- 70 /128-1), 2^(- 70 /128-1) + .quad 0x3FD937AC156373C8, 0x3FD5C9268A5946B7 // 2^( 71 /128-1) - 2^(- 71 /128-1), 2^(- 71 /128-1) + .quad 0x3FD997210A8DAEE4, 0x3FD5AB07DD485429 // 2^( 72 /128-1) - 2^(- 72 /128-1), 2^(- 72 /128-1) + .quad 0x3FD9F6C72DC9BA68, 0x3FD58D12D497C7FD // 2^( 73 /128-1) - 2^(- 73 /128-1), 2^(- 73 /128-1) + .quad 0x3FDA569F36E974EA, 0x3FD56F4736B527DA // 2^( 74 /128-1) - 2^(- 74 /128-1), 2^(- 74 /128-1) + .quad 0x3FDAB6A9DE1EA215, 0x3FD551A4CA5D920F // 2^( 75 /128-1) - 2^(- 75 /128-1), 2^(- 75 /128-1) + .quad 0x3FDB16E7DBFC4CA3, 0x3FD5342B569D4F82 // 2^( 76 /128-1) - 2^(- 76 /128-1), 2^(- 76 /128-1) + .quad 0x3FDB7759E9782918, 0x3FD516DAA2CF6642 // 2^( 77 /128-1) - 2^(- 77 /128-1), 2^(- 77 /128-1) + .quad 0x3FDBD800BFEBF932, 0x3FD4F9B2769D2CA7 // 2^( 78 /128-1) - 2^(- 78 /128-1), 2^(- 78 /128-1) + .quad 0x3FDC38DD1916F025, 0x3FD4DCB299FDDD0D // 2^( 79 /128-1) - 2^(- 79 /128-1), 2^(- 79 /128-1) + .quad 0x3FDC99EFAF1F1790, 0x3FD4BFDAD5362A27 // 2^( 80 /128-1) - 2^(- 80 /128-1), 2^(- 80 /128-1) + .quad 0x3FDCFB393C92B539, 0x3FD4A32AF0D7D3DE // 2^( 81 /128-1) - 2^(- 81 /128-1), 2^(- 81 /128-1) + .quad 0x3FDD5CBA7C69B19C, 0x3FD486A2B5C13CD0 // 2^( 82 /128-1) - 2^(- 82 /128-1), 2^(- 82 /128-1) + .quad 0x3FDDBE742A06FF34, 0x3FD46A41ED1D0057 // 2^( 83 /128-1) - 2^(- 83 /128-1), 2^(- 83 /128-1) + .quad 0x3FDE2067013A029D, 0x3FD44E086061892D // 2^( 84 /128-1) - 2^(- 84 /128-1), 2^(- 84 /128-1) + .quad 0x3FDE8293BE3FFB87, 0x3FD431F5D950A897 // 2^( 85 /128-1) - 2^(- 85 /128-1), 2^(- 85 /128-1) + .quad 0x3FDEE4FB1DC56E75, 0x3FD4160A21F72E2A // 2^( 86 /128-1) - 2^(- 86 /128-1), 2^(- 86 /128-1) + .quad 0x3FDF479DDCE78F58, 0x3FD3FA4504AC801C // 2^( 87 /128-1) - 2^(- 87 /128-1), 2^(- 87 /128-1) + .quad 0x3FDFAA7CB935ACFE, 0x3FD3DEA64C123422 // 2^( 88 /128-1) - 2^(- 88 /128-1), 2^(- 88 /128-1) + .quad 0x3FE006CC38594EB1, 0x3FD3C32DC313A8E5 // 2^( 89 /128-1) - 2^(- 89 /128-1), 2^(- 89 /128-1) + .quad 0x3FE03878E0EB1569, 0x3FD3A7DB34E59FF7 // 2^( 90 /128-1) - 2^(- 90 /128-1), 2^(- 90 /128-1) + .quad 0x3FE06A44B5C74101, 0x3FD38CAE6D05D866 // 2^( 91 /128-1) - 2^(- 91 /128-1), 2^(- 91 /128-1) + .quad 0x3FE09C3016A0D077, 0x3FD371A7373AA9CB // 2^( 92 /128-1) - 2^(- 92 /128-1), 2^(- 92 /128-1) + .quad 0x3FE0CE3B63676360, 0x3FD356C55F929FF1 // 2^( 93 /128-1) - 2^(- 93 /128-1), 2^(- 93 /128-1) + .quad 0x3FE10066FC47F240, 0x3FD33C08B26416FF // 2^( 94 /128-1) - 2^(- 94 /128-1), 2^(- 94 /128-1) + .quad 0x3FE132B341AD8761, 0x3FD32170FC4CD831 // 2^( 95 /128-1) - 2^(- 95 /128-1), 2^(- 95 /128-1) + .quad 0x3FE165209441F823, 0x3FD306FE0A31B715 // 2^( 96 /128-1) - 2^(- 96 /128-1), 2^(- 96 /128-1) + .quad 0x3FE197AF54EE9EBB, 0x3FD2ECAFA93E2F56 // 2^( 97 /128-1) - 2^(- 97 /128-1), 2^(- 97 /128-1) + .quad 0x3FE1CA5FE4DD1475, 0x3FD2D285A6E4030B // 2^( 98 /128-1) - 2^(- 98 /128-1), 2^(- 98 /128-1) + .quad 0x3FE1FD32A577EC72, 0x3FD2B87FD0DAD990 // 2^( 99 /128-1) - 2^(- 99 /128-1), 2^(- 99 /128-1) + .quad 0x3FE23027F86B6ED6, 0x3FD29E9DF51FDEE1 // 2^( 100 /128-1) - 2^(- 100 /128-1), 2^(- 100 /128-1) + .quad 0x3FE263403FA65489, 0x3FD284DFE1F56381 // 2^( 101 /128-1) - 2^(- 101 /128-1), 2^(- 101 /128-1) + .quad 0x3FE2967BDD5A8364, 0x3FD26B4565E27CDD // 2^( 102 /128-1) - 2^(- 102 /128-1), 2^(- 102 /128-1) + .quad 0x3FE2C9DB33FDCAE9, 0x3FD251CE4FB2A63F // 2^( 103 /128-1) - 2^(- 103 /128-1), 2^(- 103 /128-1) + .quad 0x3FE2FD5EA64AA180, 0x3FD2387A6E756238 // 2^( 104 /128-1) - 2^(- 104 /128-1), 2^(- 104 /128-1) + .quad 0x3FE331069740E22F, 0x3FD21F49917DDC96 // 2^( 105 /128-1) - 2^(- 105 /128-1), 2^(- 105 /128-1) + .quad 0x3FE364D36A268AE0, 0x3FD2063B88628CD6 // 2^( 106 /128-1) - 2^(- 106 /128-1), 2^(- 106 /128-1) + .quad 0x3FE398C582887B27, 0x3FD1ED5022FCD91D // 2^( 107 /128-1) - 2^(- 107 /128-1), 2^(- 107 /128-1) + .quad 0x3FE3CCDD443B3394, 0x3FD1D4873168B9AA // 2^( 108 /128-1) - 2^(- 108 /128-1), 2^(- 108 /128-1) + .quad 0x3FE4011B135B9590, 0x3FD1BBE084045CD4 // 2^( 109 /128-1) - 2^(- 109 /128-1), 2^(- 109 /128-1) + .quad 0x3FE4357F544FA3C1, 0x3FD1A35BEB6FCB75 // 2^( 110 /128-1) - 2^(- 110 /128-1), 2^(- 110 /128-1) + .quad 0x3FE46A0A6BC742FD, 0x3FD18AF9388C8DEA // 2^( 111 /128-1) - 2^(- 111 /128-1), 2^(- 111 /128-1) + .quad 0x3FE49EBCBEBCFBCA, 0x3FD172B83C7D517B // 2^( 112 /128-1) - 2^(- 112 /128-1), 2^(- 112 /128-1) + .quad 0x3FE4D396B276BC6F, 0x3FD15A98C8A58E51 // 2^( 113 /128-1) - 2^(- 113 /128-1), 2^(- 113 /128-1) + .quad 0x3FE50898AC869B96, 0x3FD1429AAEA92DE0 // 2^( 114 /128-1) - 2^(- 114 /128-1), 2^(- 114 /128-1) + .quad 0x3FE53DC312CB9B7A, 0x3FD12ABDC06C31CC // 2^( 115 /128-1) - 2^(- 115 /128-1), 2^(- 115 /128-1) + .quad 0x3FE573164B726DB6, 0x3FD11301D0125B51 // 2^( 116 /128-1) - 2^(- 116 /128-1), 2^(- 116 /128-1) + .quad 0x3FE5A892BCF6379B, 0x3FD0FB66AFFED31B // 2^( 117 /128-1) - 2^(- 117 /128-1), 2^(- 117 /128-1) + .quad 0x3FE5DE38CE215725, 0x3FD0E3EC32D3D1A2 // 2^( 118 /128-1) - 2^(- 118 /128-1), 2^(- 118 /128-1) + .quad 0x3FE61408E60E2888, 0x3FD0CC922B7247F7 // 2^( 119 /128-1) - 2^(- 119 /128-1), 2^(- 119 /128-1) + .quad 0x3FE64A036C27CC52, 0x3FD0B5586CF9890F // 2^( 120 /128-1) - 2^(- 120 /128-1), 2^(- 120 /128-1) + .quad 0x3FE68028C82AEE2F, 0x3FD09E3ECAC6F383 // 2^( 121 /128-1) - 2^(- 121 /128-1), 2^(- 121 /128-1) + .quad 0x3FE6B67962268C43, 0x3FD0874518759BC8 // 2^( 122 /128-1) - 2^(- 122 /128-1), 2^(- 122 /128-1) + .quad 0x3FE6ECF5A27CBF28, 0x3FD0706B29DDF6DE // 2^( 123 /128-1) - 2^(- 123 /128-1), 2^(- 123 /128-1) + .quad 0x3FE7239DF1E38286, 0x3FD059B0D3158574 // 2^( 124 /128-1) - 2^(- 124 /128-1), 2^(- 124 /128-1) + .quad 0x3FE75A72B9657E51, 0x3FD04315E86E7F85 // 2^( 125 /128-1) - 2^(- 125 /128-1), 2^(- 125 /128-1) + .quad 0x3FE791746262D0A8, 0x3FD02C9A3E778061 // 2^( 126 /128-1) - 2^(- 126 /128-1), 2^(- 126 /128-1) + .quad 0x3FE7C8A35691D856, 0x3FD0163DA9FB3335 // 2^( 127 /128-1) - 2^(- 127 /128-1), 2^(- 127 /128-1) + .align 64 + .quad 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000, 0x42C8000000000000 /* _dbShifter = 1.5 * 2^(52-k) */ + .align 64 + .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp */ + .align 64 + .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */ + .align 64 + .quad 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD, 0x3FC55555555554AD /* _dPC3 */ + .align 64 + .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */ + .align 64 + .quad 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425, 0x3F8111115712F425 /* _dPC5 */ + .align 64 + .quad 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f, 0x000000000000007f /* _lIndexMask */ + .align 64 + .type __svml_dsinh_data_internal, @object + .size __svml_dsinh_data_internal, .-__svml_dsinh_data_internal From patchwork Mon Mar 7 15:01:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602409 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=T7LVqPoM; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3yV6J4qz9sFt for ; Tue, 8 Mar 2022 03:37:06 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 644CE3857C5B for ; Mon, 7 Mar 2022 16:37:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 644CE3857C5B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646671024; bh=f0r/wsTQshzSbg5QCdYOeMqv7xjQ88cw6Og2Xix59Fw=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=T7LVqPoMDRaaMz0R/BoKURFYkhu+FzSQcdLB+nLoMzx920T1OJZ5K+INXTanicRXe NTkYOa6RGCMHMzA/0hVH6fGDOMR8v+JGS5CJ4YF1cLXiUbGD18PpA16CgN9oM3RMVJ H7sroFzXvhLMQ5t7IJdIh4beKqzF6vG/fGUUxTDY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 9C4533858C39 for ; Mon, 7 Mar 2022 15:03:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9C4533858C39 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017291" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017291" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="631871419" Received: from scymds01.sc.intel.com ([10.148.94.138]) by FMSMGA003.fm.intel.com with ESMTP; 07 Mar 2022 07:02:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fT016772; Mon, 7 Mar 2022 07:02:10 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 115/126] x86_64: Fix svml_s_tanf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:50 -0800 Message-Id: <20220307150201.10590-116-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_tanf16_core_avx512.S | 1633 ++++++++--------- 1 file changed, 815 insertions(+), 818 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S index fc44c37d4a..f2a18f0b2c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf16_core_avx512.S @@ -34,894 +34,891 @@ /* Offsets for data table __svml_stan_data_internal */ -#define _sInvPI_uisa 0 -#define _sPI1_uisa 64 -#define _sPI2_uisa 128 -#define _sPI3_uisa 192 -#define Th_tbl_uisa 256 -#define _sPC3_uisa 384 -#define _sPC5_uisa 448 -#define _sRangeReductionVal_uisa 512 -#define _sAbsMask 576 -#define _sRangeVal 640 -#define _sRShifter 704 -#define _sOne 768 -#define _sRangeReductionVal 832 -#define _sPI1 896 -#define _sPI2 960 -#define _sPI3 1024 +#define _sInvPI_uisa 0 +#define _sPI1_uisa 64 +#define _sPI2_uisa 128 +#define _sPI3_uisa 192 +#define Th_tbl_uisa 256 +#define _sPC3_uisa 384 +#define _sPC5_uisa 448 +#define _sRangeReductionVal_uisa 512 +#define _sAbsMask 576 +#define _sRangeVal 640 +#define _sRShifter 704 +#define _sOne 768 +#define _sRangeReductionVal 832 +#define _sPI1 896 +#define _sPI2 960 +#define _sPI3 1024 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_tanf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - xorl %edx, %edx - -/* Large values check */ - vmovups _sRangeReductionVal_uisa+__svml_stan_data_internal(%rip), %zmm10 - -/* - * - * Main path - * - * start arg. reduction - */ - vmovups _sRShifter+__svml_stan_data_internal(%rip), %zmm1 - vmovups _sPI1_uisa+__svml_stan_data_internal(%rip), %zmm4 - vmovups _sPI2_uisa+__svml_stan_data_internal(%rip), %zmm2 - vmovups _sPI3_uisa+__svml_stan_data_internal(%rip), %zmm3 - vmovaps %zmm0, %zmm11 - vandps _sAbsMask+__svml_stan_data_internal(%rip), %zmm11, %zmm0 - vcmpps $22, {sae}, %zmm10, %zmm0, %k6 - vmovups __svml_stan_data_internal(%rip), %zmm10 - -/* - * - * End of main path - */ - - kortestw %k6, %k6 - vfmadd213ps {rn-sae}, %zmm1, %zmm11, %zmm10 - vsubps {rn-sae}, %zmm1, %zmm10, %zmm5 - vfnmadd213ps {rn-sae}, %zmm11, %zmm5, %zmm4 - vfnmadd231ps {rn-sae}, %zmm5, %zmm2, %zmm4 - vfnmadd213ps {rn-sae}, %zmm4, %zmm3, %zmm5 - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm5 zmm10 zmm11 k6 - -/* Return from auxilary branch - * for out of main path inputs - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + xorl %edx, %edx + + /* Large values check */ + vmovups _sRangeReductionVal_uisa+__svml_stan_data_internal(%rip), %zmm10 + + /* + * + * Main path + * + * start arg. reduction + */ + vmovups _sRShifter+__svml_stan_data_internal(%rip), %zmm1 + vmovups _sPI1_uisa+__svml_stan_data_internal(%rip), %zmm4 + vmovups _sPI2_uisa+__svml_stan_data_internal(%rip), %zmm2 + vmovups _sPI3_uisa+__svml_stan_data_internal(%rip), %zmm3 + vmovaps %zmm0, %zmm11 + vandps _sAbsMask+__svml_stan_data_internal(%rip), %zmm11, %zmm0 + vcmpps $22, {sae}, %zmm10, %zmm0, %k6 + vmovups __svml_stan_data_internal(%rip), %zmm10 + + /* + * + * End of main path + */ + + kortestw %k6, %k6 + vfmadd213ps {rn-sae}, %zmm1, %zmm11, %zmm10 + vsubps {rn-sae}, %zmm1, %zmm10, %zmm5 + vfnmadd213ps {rn-sae}, %zmm11, %zmm5, %zmm4 + vfnmadd231ps {rn-sae}, %zmm5, %zmm2, %zmm4 + vfnmadd213ps {rn-sae}, %zmm4, %zmm3, %zmm5 + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm5 zmm10 zmm11 k6 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): -/* Table lookup */ - vmovups Th_tbl_uisa+__svml_stan_data_internal(%rip), %zmm3 - vmovups _sPC3_uisa+__svml_stan_data_internal(%rip), %zmm0 - vmulps {rn-sae}, %zmm5, %zmm5, %zmm1 - vpermt2ps Th_tbl_uisa+64+__svml_stan_data_internal(%rip), %zmm10, %zmm3 - vmovups _sPC5_uisa+__svml_stan_data_internal(%rip), %zmm10 - vfmadd231ps {rn-sae}, %zmm1, %zmm10, %zmm0 - vmulps {rn-sae}, %zmm5, %zmm0, %zmm4 - vfmadd213ps {rn-sae}, %zmm5, %zmm1, %zmm4 - -/* - * Computer Denominator: - * sDenominator - sDlow ~= 1-(sTh+sTl)*(sP+sPlow) - */ - vmovups _sOne+__svml_stan_data_internal(%rip), %zmm5 - vmulps {rn-sae}, %zmm4, %zmm3, %zmm7 - -/* - * Compute Numerator: - * sNumerator + sNlow ~= sTh+sTl+sP+sPlow - */ - vaddps {rn-sae}, %zmm3, %zmm4, %zmm8 - vsubps {rn-sae}, %zmm7, %zmm5, %zmm9 - vsubps {rn-sae}, %zmm3, %zmm8, %zmm2 - -/* - * Now computes (sNumerator + sNlow)/(sDenominator - sDlow) - * Choose NR iteration instead of hardware division - */ - vrcp14ps %zmm9, %zmm14 - vsubps {rn-sae}, %zmm5, %zmm9, %zmm6 - vsubps {rn-sae}, %zmm2, %zmm4, %zmm13 - vmulps {rn-sae}, %zmm8, %zmm14, %zmm15 - vaddps {rn-sae}, %zmm7, %zmm6, %zmm12 - -/* One NR iteration to refine sQuotient */ - vfmsub213ps {rn-sae}, %zmm8, %zmm15, %zmm9 - vfnmadd213ps {rn-sae}, %zmm9, %zmm15, %zmm12 - vsubps {rn-sae}, %zmm13, %zmm12, %zmm0 - vfnmadd213ps {rn-sae}, %zmm15, %zmm14, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 - -/* Restore registers - * and exit the function - */ + /* Table lookup */ + vmovups Th_tbl_uisa+__svml_stan_data_internal(%rip), %zmm3 + vmovups _sPC3_uisa+__svml_stan_data_internal(%rip), %zmm0 + vmulps {rn-sae}, %zmm5, %zmm5, %zmm1 + vpermt2ps Th_tbl_uisa+64+__svml_stan_data_internal(%rip), %zmm10, %zmm3 + vmovups _sPC5_uisa+__svml_stan_data_internal(%rip), %zmm10 + vfmadd231ps {rn-sae}, %zmm1, %zmm10, %zmm0 + vmulps {rn-sae}, %zmm5, %zmm0, %zmm4 + vfmadd213ps {rn-sae}, %zmm5, %zmm1, %zmm4 + + /* + * Computer Denominator: + * sDenominator - sDlow ~= 1-(sTh+sTl)*(sP+sPlow) + */ + vmovups _sOne+__svml_stan_data_internal(%rip), %zmm5 + vmulps {rn-sae}, %zmm4, %zmm3, %zmm7 + + /* + * Compute Numerator: + * sNumerator + sNlow ~= sTh+sTl+sP+sPlow + */ + vaddps {rn-sae}, %zmm3, %zmm4, %zmm8 + vsubps {rn-sae}, %zmm7, %zmm5, %zmm9 + vsubps {rn-sae}, %zmm3, %zmm8, %zmm2 + + /* + * Now computes (sNumerator + sNlow)/(sDenominator - sDlow) + * Choose NR iteration instead of hardware division + */ + vrcp14ps %zmm9, %zmm14 + vsubps {rn-sae}, %zmm5, %zmm9, %zmm6 + vsubps {rn-sae}, %zmm2, %zmm4, %zmm13 + vmulps {rn-sae}, %zmm8, %zmm14, %zmm15 + vaddps {rn-sae}, %zmm7, %zmm6, %zmm12 + + /* One NR iteration to refine sQuotient */ + vfmsub213ps {rn-sae}, %zmm8, %zmm15, %zmm9 + vfnmadd213ps {rn-sae}, %zmm9, %zmm15, %zmm12 + vsubps {rn-sae}, %zmm13, %zmm12, %zmm0 + vfnmadd213ps {rn-sae}, %zmm15, %zmm14, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm11, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm11, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $16, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call tanf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 - - movss %xmm0, 128(%rsp,%r14,4) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call tanf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): - vmovups _sRangeVal+__svml_stan_data_internal(%rip), %zmm6 + movss %xmm0, 128(%rsp, %r14, 4) -/* - * Get the (2^a / 2pi) mod 1 values from the table. - * Because doesn't have I-type gather, we need a trivial cast - */ - lea __svml_stan_reduction_data_internal(%rip), %rax - vmovups %zmm5, (%rsp) - vandps %zmm0, %zmm6, %zmm14 - vcmpps $0, {sae}, %zmm6, %zmm14, %k0 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx r15 r12d r13d -/* - * Break the P_xxx and m into 16-bit chunks ready for - * the long multiplication via 16x16->32 multiplications - */ - vmovups .FLT_15(%rip), %zmm6 - kxnorw %k0, %k0, %k1 - kxnorw %k0, %k0, %k2 - kxnorw %k0, %k0, %k3 - kmovw %k0, %edx - vpandd .FLT_12(%rip), %zmm11, %zmm5 - vpsrld $23, %zmm5, %zmm7 - vpslld $1, %zmm7, %zmm8 - vpaddd %zmm7, %zmm8, %zmm9 - vpslld $2, %zmm9, %zmm4 - vpxord %zmm3, %zmm3, %zmm3 - vpxord %zmm15, %zmm15, %zmm15 - vpxord %zmm2, %zmm2, %zmm2 - vgatherdps (%rax,%zmm4), %zmm3{%k1} - vgatherdps 4(%rax,%zmm4), %zmm15{%k2} - vgatherdps 8(%rax,%zmm4), %zmm2{%k3} - vpsrld $16, %zmm3, %zmm5 - vpsrld $16, %zmm2, %zmm13 - -/* - * Also get the significand as an integer - * NB: adding in the integer bit is wrong for denorms! - * To make this work for denorms we should do something slightly different - */ - vpandd .FLT_13(%rip), %zmm11, %zmm0 - vpaddd .FLT_14(%rip), %zmm0, %zmm1 - vpsrld $16, %zmm15, %zmm0 - vpsrld $16, %zmm1, %zmm8 - vpandd %zmm6, %zmm3, %zmm9 - vpandd %zmm6, %zmm15, %zmm12 - vpandd %zmm6, %zmm2, %zmm7 - vpandd %zmm6, %zmm1, %zmm14 - -/* Now do the big multiplication and carry propagation */ - vpmulld %zmm9, %zmm8, %zmm4 - vpmulld %zmm0, %zmm8, %zmm3 - vpmulld %zmm12, %zmm8, %zmm2 - vpmulld %zmm13, %zmm8, %zmm1 - vpmulld %zmm7, %zmm8, %zmm8 - vpmulld %zmm5, %zmm14, %zmm7 - vpmulld %zmm9, %zmm14, %zmm5 - vpmulld %zmm0, %zmm14, %zmm9 - vpmulld %zmm12, %zmm14, %zmm0 - vpmulld %zmm13, %zmm14, %zmm12 - vpsrld $16, %zmm12, %zmm14 - vpsrld $16, %zmm0, %zmm13 - vpsrld $16, %zmm9, %zmm15 - vpsrld $16, %zmm5, %zmm12 - vpsrld $16, %zmm8, %zmm8 - vpaddd %zmm14, %zmm1, %zmm1 - vpaddd %zmm13, %zmm2, %zmm2 - vpaddd %zmm15, %zmm3, %zmm15 - vpaddd %zmm12, %zmm4, %zmm3 - vpandd %zmm6, %zmm0, %zmm13 - vpaddd %zmm1, %zmm13, %zmm4 - vpaddd %zmm4, %zmm8, %zmm14 - vpsrld $16, %zmm14, %zmm0 - vpandd %zmm6, %zmm9, %zmm9 - vpaddd %zmm2, %zmm9, %zmm1 - vpaddd %zmm1, %zmm0, %zmm8 - -/* - * Now round at the 2^-8 bit position for reduction mod pi/2^7 - * instead of the original 2pi (but still with the same 2pi scaling). - * Use a shifter of 2^15 + 2^14. - * The N we get is our final version; it has an offset of - * 2^8 because of the implicit integer bit, and anyway for negative - * starting value it's a 2s complement thing. But we need to mask - * off the exponent part anyway so it's fine. - */ - vmovups .FLT_18(%rip), %zmm1 - vpandd %zmm6, %zmm7, %zmm7 - vpaddd %zmm3, %zmm7, %zmm13 - vpsrld $16, %zmm8, %zmm3 - vpandd %zmm6, %zmm5, %zmm5 - vpaddd %zmm15, %zmm5, %zmm2 - vpaddd %zmm2, %zmm3, %zmm15 - vpsrld $16, %zmm15, %zmm12 - vpaddd %zmm13, %zmm12, %zmm5 - -/* Assemble reduced argument from the pieces */ - vpandd %zmm6, %zmm14, %zmm9 - vpandd %zmm6, %zmm15, %zmm7 - vpslld $16, %zmm5, %zmm6 - vpslld $16, %zmm8, %zmm5 - vpaddd %zmm7, %zmm6, %zmm4 - vpaddd %zmm9, %zmm5, %zmm9 - vpsrld $9, %zmm4, %zmm6 - -/* - * We want to incorporate the original sign now too. - * Do it here for convenience in getting the right N value, - * though we could wait right to the end if we were prepared - * to modify the sign of N later too. - * So get the appropriate sign mask now (or sooner). - */ - vpandd .FLT_16(%rip), %zmm11, %zmm0 - vpandd .FLT_21(%rip), %zmm9, %zmm13 - vpslld $5, %zmm13, %zmm14 - -/* - * Create floating-point high part, implicitly adding integer bit 1 - * Incorporate overall sign at this stage too. - */ - vpxord .FLT_17(%rip), %zmm0, %zmm8 - vpord %zmm8, %zmm6, %zmm2 - vaddps {rn-sae}, %zmm2, %zmm1, %zmm12 - vsubps {rn-sae}, %zmm1, %zmm12, %zmm3 - vsubps {rn-sae}, %zmm3, %zmm2, %zmm7 - -/* - * Create floating-point low and medium parts, respectively - * lo_17, ... lo_0, 0, ..., 0 - * hi_8, ... hi_0, lo_31, ..., lo_18 - * then subtract off the implicitly added integer bits, - * 2^-46 and 2^-23, respectively. - * Put the original sign into all of them at this stage. - */ - vpxord .FLT_20(%rip), %zmm0, %zmm6 - vpord %zmm6, %zmm14, %zmm15 - vpandd .FLT_23(%rip), %zmm4, %zmm4 - vsubps {rn-sae}, %zmm6, %zmm15, %zmm8 - vandps .FLT_26(%rip), %zmm11, %zmm15 - vpsrld $18, %zmm9, %zmm6 + /* Auxilary branch + * for out of main path inputs + */ -/* - * If the magnitude of the input is <= 2^-20, then - * just pass through the input, since no reduction will be needed and - * the main path will only work accurately if the reduced argument is - * about >= 2^-40 (which it is for all large pi multiples) - */ - vmovups .FLT_27(%rip), %zmm14 - vcmpps $26, {sae}, %zmm14, %zmm15, %k4 - vcmpps $22, {sae}, %zmm14, %zmm15, %k5 - vpxord .FLT_22(%rip), %zmm0, %zmm1 - vpslld $14, %zmm4, %zmm0 - vpord %zmm6, %zmm0, %zmm0 - vpord %zmm1, %zmm0, %zmm4 - vsubps {rn-sae}, %zmm1, %zmm4, %zmm2 - vpternlogd $255, %zmm6, %zmm6, %zmm6 - -/* Now add them up into 2 reasonably aligned pieces */ - vaddps {rn-sae}, %zmm2, %zmm7, %zmm13 - vsubps {rn-sae}, %zmm13, %zmm7, %zmm7 - vaddps {rn-sae}, %zmm7, %zmm2, %zmm3 - -/* - * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND - * Set sRp2 = _VRES_R^2 and then resume the original code. - */ - vmovups .FLT_28(%rip), %zmm2 - vaddps {rn-sae}, %zmm8, %zmm3, %zmm1 - vmovups .FLT_25(%rip), %zmm8 - -/* Grab our final N value as an integer, appropriately masked mod 2^8 */ - vpandd .FLT_19(%rip), %zmm12, %zmm5 - -/* - * Now multiply those numbers all by 2 pi, reasonably accurately. - * (RHi + RLo) * (pi_lead + pi_trail) ~= - * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) - */ - vmovups .FLT_24(%rip), %zmm12 - vmulps {rn-sae}, %zmm12, %zmm13, %zmm0 - vmovaps %zmm12, %zmm9 - vfmsub213ps {rn-sae}, %zmm0, %zmm13, %zmm9 - vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm13 - vmovaps %zmm6, %zmm8 - vfmadd213ps {rn-sae}, %zmm13, %zmm12, %zmm1 - vpandnd %zmm15, %zmm15, %zmm8{%k4} - vpandnd %zmm15, %zmm15, %zmm6{%k5} - vandps %zmm11, %zmm6, %zmm14 - vandps %zmm0, %zmm8, %zmm15 - vandps %zmm1, %zmm8, %zmm12 - vorps %zmm15, %zmm14, %zmm6 - vpsrld $31, %zmm6, %zmm3 - vpsubd %zmm3, %zmm2, %zmm4 - vpaddd %zmm4, %zmm5, %zmm7 - vpsrld $2, %zmm7, %zmm13 - vpslld $2, %zmm13, %zmm9 - -/* - * - * End of large arguments path - * - * Merge results from main and large paths: - */ - vblendmps %zmm13, %zmm10, %zmm10{%k6} - vpsubd %zmm9, %zmm5, %zmm5 - vmovups .FLT_29(%rip), %zmm9 - vcvtdq2ps {rn-sae}, %zmm5, %zmm0 - vmovups .FLT_30(%rip), %zmm5 - vfmadd231ps {rn-sae}, %zmm0, %zmm5, %zmm12 - vmovups (%rsp), %zmm5 - vaddps {rn-sae}, %zmm6, %zmm12, %zmm6 - vfmadd213ps {rn-sae}, %zmm6, %zmm9, %zmm0 - vblendmps %zmm0, %zmm5, %zmm5{%k6} - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx r12 r13 r14 r15 edx zmm5 zmm10 zmm11 +L(AUX_BRANCH): + vmovups _sRangeVal+__svml_stan_data_internal(%rip), %zmm6 + + /* + * Get the (2^a / 2pi) mod 1 values from the table. + * Because doesn't have I-type gather, we need a trivial cast + */ + lea __svml_stan_reduction_data_internal(%rip), %rax + vmovups %zmm5, (%rsp) + vandps %zmm0, %zmm6, %zmm14 + vcmpps $0, {sae}, %zmm6, %zmm14, %k0 + + /* + * Break the P_xxx and m into 16-bit chunks ready for + * the long multiplication via 16x16->32 multiplications + */ + vmovups .FLT_15(%rip), %zmm6 + kxnorw %k0, %k0, %k1 + kxnorw %k0, %k0, %k2 + kxnorw %k0, %k0, %k3 + kmovw %k0, %edx + vpandd .FLT_12(%rip), %zmm11, %zmm5 + vpsrld $23, %zmm5, %zmm7 + vpslld $1, %zmm7, %zmm8 + vpaddd %zmm7, %zmm8, %zmm9 + vpslld $2, %zmm9, %zmm4 + vpxord %zmm3, %zmm3, %zmm3 + vpxord %zmm15, %zmm15, %zmm15 + vpxord %zmm2, %zmm2, %zmm2 + vgatherdps (%rax, %zmm4), %zmm3{%k1} + vgatherdps 4(%rax, %zmm4), %zmm15{%k2} + vgatherdps 8(%rax, %zmm4), %zmm2{%k3} + vpsrld $16, %zmm3, %zmm5 + vpsrld $16, %zmm2, %zmm13 + + /* + * Also get the significand as an integer + * NB: adding in the integer bit is wrong for denorms! + * To make this work for denorms we should do something slightly different + */ + vpandd .FLT_13(%rip), %zmm11, %zmm0 + vpaddd .FLT_14(%rip), %zmm0, %zmm1 + vpsrld $16, %zmm15, %zmm0 + vpsrld $16, %zmm1, %zmm8 + vpandd %zmm6, %zmm3, %zmm9 + vpandd %zmm6, %zmm15, %zmm12 + vpandd %zmm6, %zmm2, %zmm7 + vpandd %zmm6, %zmm1, %zmm14 + + /* Now do the big multiplication and carry propagation */ + vpmulld %zmm9, %zmm8, %zmm4 + vpmulld %zmm0, %zmm8, %zmm3 + vpmulld %zmm12, %zmm8, %zmm2 + vpmulld %zmm13, %zmm8, %zmm1 + vpmulld %zmm7, %zmm8, %zmm8 + vpmulld %zmm5, %zmm14, %zmm7 + vpmulld %zmm9, %zmm14, %zmm5 + vpmulld %zmm0, %zmm14, %zmm9 + vpmulld %zmm12, %zmm14, %zmm0 + vpmulld %zmm13, %zmm14, %zmm12 + vpsrld $16, %zmm12, %zmm14 + vpsrld $16, %zmm0, %zmm13 + vpsrld $16, %zmm9, %zmm15 + vpsrld $16, %zmm5, %zmm12 + vpsrld $16, %zmm8, %zmm8 + vpaddd %zmm14, %zmm1, %zmm1 + vpaddd %zmm13, %zmm2, %zmm2 + vpaddd %zmm15, %zmm3, %zmm15 + vpaddd %zmm12, %zmm4, %zmm3 + vpandd %zmm6, %zmm0, %zmm13 + vpaddd %zmm1, %zmm13, %zmm4 + vpaddd %zmm4, %zmm8, %zmm14 + vpsrld $16, %zmm14, %zmm0 + vpandd %zmm6, %zmm9, %zmm9 + vpaddd %zmm2, %zmm9, %zmm1 + vpaddd %zmm1, %zmm0, %zmm8 + + /* + * Now round at the 2^-8 bit position for reduction mod pi/2^7 + * instead of the original 2pi (but still with the same 2pi scaling). + * Use a shifter of 2^15 + 2^14. + * The N we get is our final version; it has an offset of + * 2^8 because of the implicit integer bit, and anyway for negative + * starting value it's a 2s complement thing. But we need to mask + * off the exponent part anyway so it's fine. + */ + vmovups .FLT_18(%rip), %zmm1 + vpandd %zmm6, %zmm7, %zmm7 + vpaddd %zmm3, %zmm7, %zmm13 + vpsrld $16, %zmm8, %zmm3 + vpandd %zmm6, %zmm5, %zmm5 + vpaddd %zmm15, %zmm5, %zmm2 + vpaddd %zmm2, %zmm3, %zmm15 + vpsrld $16, %zmm15, %zmm12 + vpaddd %zmm13, %zmm12, %zmm5 + + /* Assemble reduced argument from the pieces */ + vpandd %zmm6, %zmm14, %zmm9 + vpandd %zmm6, %zmm15, %zmm7 + vpslld $16, %zmm5, %zmm6 + vpslld $16, %zmm8, %zmm5 + vpaddd %zmm7, %zmm6, %zmm4 + vpaddd %zmm9, %zmm5, %zmm9 + vpsrld $9, %zmm4, %zmm6 + + /* + * We want to incorporate the original sign now too. + * Do it here for convenience in getting the right N value, + * though we could wait right to the end if we were prepared + * to modify the sign of N later too. + * So get the appropriate sign mask now (or sooner). + */ + vpandd .FLT_16(%rip), %zmm11, %zmm0 + vpandd .FLT_21(%rip), %zmm9, %zmm13 + vpslld $5, %zmm13, %zmm14 + + /* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + vpxord .FLT_17(%rip), %zmm0, %zmm8 + vpord %zmm8, %zmm6, %zmm2 + vaddps {rn-sae}, %zmm2, %zmm1, %zmm12 + vsubps {rn-sae}, %zmm1, %zmm12, %zmm3 + vsubps {rn-sae}, %zmm3, %zmm2, %zmm7 + + /* + * Create floating-point low and medium parts, respectively + * lo_17, ... lo_0, 0, ..., 0 + * hi_8, ... hi_0, lo_31, ..., lo_18 + * then subtract off the implicitly added integer bits, + * 2^-46 and 2^-23, respectively. + * Put the original sign into all of them at this stage. + */ + vpxord .FLT_20(%rip), %zmm0, %zmm6 + vpord %zmm6, %zmm14, %zmm15 + vpandd .FLT_23(%rip), %zmm4, %zmm4 + vsubps {rn-sae}, %zmm6, %zmm15, %zmm8 + vandps .FLT_26(%rip), %zmm11, %zmm15 + vpsrld $18, %zmm9, %zmm6 + + /* + * If the magnitude of the input is <= 2^-20, then + * just pass through the input, since no reduction will be needed and + * the main path will only work accurately if the reduced argument is + * about >= 2^-40 (which it is for all large pi multiples) + */ + vmovups .FLT_27(%rip), %zmm14 + vcmpps $26, {sae}, %zmm14, %zmm15, %k4 + vcmpps $22, {sae}, %zmm14, %zmm15, %k5 + vpxord .FLT_22(%rip), %zmm0, %zmm1 + vpslld $14, %zmm4, %zmm0 + vpord %zmm6, %zmm0, %zmm0 + vpord %zmm1, %zmm0, %zmm4 + vsubps {rn-sae}, %zmm1, %zmm4, %zmm2 + vpternlogd $255, %zmm6, %zmm6, %zmm6 + + /* Now add them up into 2 reasonably aligned pieces */ + vaddps {rn-sae}, %zmm2, %zmm7, %zmm13 + vsubps {rn-sae}, %zmm13, %zmm7, %zmm7 + vaddps {rn-sae}, %zmm7, %zmm2, %zmm3 + + /* + * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND + * Set sRp2 = _VRES_R^2 and then resume the original code. + */ + vmovups .FLT_28(%rip), %zmm2 + vaddps {rn-sae}, %zmm8, %zmm3, %zmm1 + vmovups .FLT_25(%rip), %zmm8 + + /* Grab our final N value as an integer, appropriately masked mod 2^8 */ + vpandd .FLT_19(%rip), %zmm12, %zmm5 + + /* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * (RHi + RLo) * (pi_lead + pi_trail) ~= + * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) + */ + vmovups .FLT_24(%rip), %zmm12 + vmulps {rn-sae}, %zmm12, %zmm13, %zmm0 + vmovaps %zmm12, %zmm9 + vfmsub213ps {rn-sae}, %zmm0, %zmm13, %zmm9 + vfmadd213ps {rn-sae}, %zmm9, %zmm8, %zmm13 + vmovaps %zmm6, %zmm8 + vfmadd213ps {rn-sae}, %zmm13, %zmm12, %zmm1 + vpandnd %zmm15, %zmm15, %zmm8{%k4} + vpandnd %zmm15, %zmm15, %zmm6{%k5} + vandps %zmm11, %zmm6, %zmm14 + vandps %zmm0, %zmm8, %zmm15 + vandps %zmm1, %zmm8, %zmm12 + vorps %zmm15, %zmm14, %zmm6 + vpsrld $31, %zmm6, %zmm3 + vpsubd %zmm3, %zmm2, %zmm4 + vpaddd %zmm4, %zmm5, %zmm7 + vpsrld $2, %zmm7, %zmm13 + vpslld $2, %zmm13, %zmm9 + + /* + * + * End of large arguments path + * + * Merge results from main and large paths: + */ + vblendmps %zmm13, %zmm10, %zmm10{%k6} + vpsubd %zmm9, %zmm5, %zmm5 + vmovups .FLT_29(%rip), %zmm9 + vcvtdq2ps {rn-sae}, %zmm5, %zmm0 + vmovups .FLT_30(%rip), %zmm5 + vfmadd231ps {rn-sae}, %zmm0, %zmm5, %zmm12 + vmovups (%rsp), %zmm5 + vaddps {rn-sae}, %zmm6, %zmm12, %zmm6 + vfmadd213ps {rn-sae}, %zmm6, %zmm9, %zmm0 + vblendmps %zmm0, %zmm5, %zmm5{%k6} + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx r12 r13 r14 r15 edx zmm5 zmm10 zmm11 END(_ZGVeN16v_tanf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 .FLT_12: - .long 0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000 - .type .FLT_12,@object - .size .FLT_12,64 - .align 64 + .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 + .type .FLT_12, @object + .size .FLT_12, 64 + .align 64 .FLT_13: - .long 0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff - .type .FLT_13,@object - .size .FLT_13,64 - .align 64 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + .type .FLT_13, @object + .size .FLT_13, 64 + .align 64 .FLT_14: - .long 0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000 - .type .FLT_14,@object - .size .FLT_14,64 - .align 64 + .long 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000 + .type .FLT_14, @object + .size .FLT_14, 64 + .align 64 .FLT_15: - .long 0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff - .type .FLT_15,@object - .size .FLT_15,64 - .align 64 + .long 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff + .type .FLT_15, @object + .size .FLT_15, 64 + .align 64 .FLT_16: - .long 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000 - .type .FLT_16,@object - .size .FLT_16,64 - .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 + .type .FLT_16, @object + .size .FLT_16, 64 + .align 64 .FLT_17: - .long 0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000 - .type .FLT_17,@object - .size .FLT_17,64 - .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + .type .FLT_17, @object + .size .FLT_17, 64 + .align 64 .FLT_18: - .long 0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000 - .type .FLT_18,@object - .size .FLT_18,64 - .align 64 + .long 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000 + .type .FLT_18, @object + .size .FLT_18, 64 + .align 64 .FLT_19: - .long 0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff - .type .FLT_19,@object - .size .FLT_19,64 - .align 64 + .long 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff + .type .FLT_19, @object + .size .FLT_19, 64 + .align 64 .FLT_20: - .long 0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000 - .type .FLT_20,@object - .size .FLT_20,64 - .align 64 + .long 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000 + .type .FLT_20, @object + .size .FLT_20, 64 + .align 64 .FLT_21: - .long 0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff - .type .FLT_21,@object - .size .FLT_21,64 - .align 64 + .long 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff + .type .FLT_21, @object + .size .FLT_21, 64 + .align 64 .FLT_22: - .long 0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000 - .type .FLT_22,@object - .size .FLT_22,64 - .align 64 + .long 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000 + .type .FLT_22, @object + .size .FLT_22, 64 + .align 64 .FLT_23: - .long 0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff - .type .FLT_23,@object - .size .FLT_23,64 - .align 64 + .long 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff + .type .FLT_23, @object + .size .FLT_23, 64 + .align 64 .FLT_24: - .long 0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb - .type .FLT_24,@object - .size .FLT_24,64 - .align 64 + .long 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb + .type .FLT_24, @object + .size .FLT_24, 64 + .align 64 .FLT_25: - .long 0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e - .type .FLT_25,@object - .size .FLT_25,64 - .align 64 + .long 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e + .type .FLT_25, @object + .size .FLT_25, 64 + .align 64 .FLT_26: - .long 0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff - .type .FLT_26,@object - .size .FLT_26,64 - .align 64 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + .type .FLT_26, @object + .size .FLT_26, 64 + .align 64 .FLT_27: - .long 0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000 - .type .FLT_27,@object - .size .FLT_27,64 - .align 64 + .long 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000 + .type .FLT_27, @object + .size .FLT_27, 64 + .align 64 .FLT_28: - .long 0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002,0x00000002 - .type .FLT_28,@object - .size .FLT_28,64 - .align 64 + .long 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002, 0x00000002 + .type .FLT_28, @object + .size .FLT_28, 64 + .align 64 .FLT_29: - .long 0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb,0x3cc90fdb - .type .FLT_29,@object - .size .FLT_29,64 - .align 64 + .long 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb, 0x3cc90fdb + .type .FLT_29, @object + .size .FLT_29, 64 + .align 64 .FLT_30: - .long 0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e,0xb03bbd2e - .type .FLT_30,@object - .size .FLT_30,64 - .align 64 + .long 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e, 0xb03bbd2e + .type .FLT_30, @object + .size .FLT_30, 64 + .align 64 #ifdef __svml_stan_data_internal_typedef typedef unsigned int VUINT32; - typedef struct - { - __declspec(align(64)) VUINT32 _sInvPI_uisa[16][1]; - __declspec(align(64)) VUINT32 _sPI1_uisa[16][1]; - __declspec(align(64)) VUINT32 _sPI2_uisa[16][1]; - __declspec(align(64)) VUINT32 _sPI3_uisa[16][1]; - __declspec(align(64)) VUINT32 Th_tbl_uisa[32][1]; - __declspec(align(64)) VUINT32 _sPC3_uisa[16][1]; - __declspec(align(64)) VUINT32 _sPC5_uisa[16][1]; - __declspec(align(64)) VUINT32 _sRangeReductionVal_uisa[16][1]; - __declspec(align(64)) VUINT32 _sAbsMask[16][1]; - __declspec(align(64)) VUINT32 _sRangeVal[16][1]; - __declspec(align(64)) VUINT32 _sRShifter[16][1]; - __declspec(align(64)) VUINT32 _sOne[16][1]; - __declspec(align(64)) VUINT32 _sRangeReductionVal[16][1]; - __declspec(align(64)) VUINT32 _sPI1[16][1]; - __declspec(align(64)) VUINT32 _sPI2[16][1]; - __declspec(align(64)) VUINT32 _sPI3[16][1]; - } __svml_stan_data_internal; +typedef struct { + __declspec(align(64)) VUINT32 _sInvPI_uisa[16][1]; + __declspec(align(64)) VUINT32 _sPI1_uisa[16][1]; + __declspec(align(64)) VUINT32 _sPI2_uisa[16][1]; + __declspec(align(64)) VUINT32 _sPI3_uisa[16][1]; + __declspec(align(64)) VUINT32 Th_tbl_uisa[32][1]; + __declspec(align(64)) VUINT32 _sPC3_uisa[16][1]; + __declspec(align(64)) VUINT32 _sPC5_uisa[16][1]; + __declspec(align(64)) VUINT32 _sRangeReductionVal_uisa[16][1]; + __declspec(align(64)) VUINT32 _sAbsMask[16][1]; + __declspec(align(64)) VUINT32 _sRangeVal[16][1]; + __declspec(align(64)) VUINT32 _sRShifter[16][1]; + __declspec(align(64)) VUINT32 _sOne[16][1]; + __declspec(align(64)) VUINT32 _sRangeReductionVal[16][1]; + __declspec(align(64)) VUINT32 _sPI1[16][1]; + __declspec(align(64)) VUINT32 _sPI2[16][1]; + __declspec(align(64)) VUINT32 _sPI3[16][1]; +} __svml_stan_data_internal; #endif __svml_stan_data_internal: - /* UISA */ - .long 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983 /* _sInvPI_uisa */ - .align 64 - .long 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda /* _sPI1_uisa */ - .align 64 - .long 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168 /* _sPI2_uisa */ - .align 64 - .long 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5 /* _sPI3_uisa */ - /* Th_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)); */ - .align 64 - .long 0x80000000, 0x3dc9b5dc, 0x3e4bafaf, 0x3e9b5042 - .long 0x3ed413cd, 0x3f08d5b9, 0x3f2b0dc1, 0x3f521801 - .long 0x3f800000, 0x3f9bf7ec, 0x3fbf90c7, 0x3fef789e - .long 0x401a827a, 0x4052facf, 0x40a0dff7, 0x41227363 - .long 0xff7fffff, 0xc1227363, 0xc0a0dff7, 0xc052facf - .long 0xc01a827a, 0xbfef789e, 0xbfbf90c7, 0xbf9bf7ec - .long 0xbf800000, 0xbf521801, 0xbf2b0dc1, 0xbf08d5b9 - .long 0xbed413cd, 0xbe9b5042, 0xbe4bafaf, 0xbdc9b5dc - .align 64 - .long 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6 /* _sPC3_uisa */ - .align 64 - .long 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888 /* _sPC5_uisa */ - .align 64 - .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeReductionVal_uisa */ - .align 64 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _sAbsMask */ - .align 64 - .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _sRangeVal */ - .align 64 - .long 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000 /* _sRShifter */ - .align 64 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _sOne */ - .align 64 - .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeVal */ - .align 64 - .long 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000 /* _sPI1 */ - .align 64 - .long 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000 /* _sPI2 */ - .align 64 - .long 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000 /* _sPI3 */ - .align 64 - .type __svml_stan_data_internal,@object - .size __svml_stan_data_internal,.-__svml_stan_data_internal - .align 64 + /* UISA */ + .long 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983 /* _sInvPI_uisa */ + .align 64 + .long 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda /* _sPI1_uisa */ + .align 64 + .long 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168 /* _sPI2_uisa */ + .align 64 + .long 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5 /* _sPI3_uisa */ + /* Th_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)); */ + .align 64 + .long 0x80000000, 0x3dc9b5dc, 0x3e4bafaf, 0x3e9b5042 + .long 0x3ed413cd, 0x3f08d5b9, 0x3f2b0dc1, 0x3f521801 + .long 0x3f800000, 0x3f9bf7ec, 0x3fbf90c7, 0x3fef789e + .long 0x401a827a, 0x4052facf, 0x40a0dff7, 0x41227363 + .long 0xff7fffff, 0xc1227363, 0xc0a0dff7, 0xc052facf + .long 0xc01a827a, 0xbfef789e, 0xbfbf90c7, 0xbf9bf7ec + .long 0xbf800000, 0xbf521801, 0xbf2b0dc1, 0xbf08d5b9 + .long 0xbed413cd, 0xbe9b5042, 0xbe4bafaf, 0xbdc9b5dc + .align 64 + .long 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6 /* _sPC3_uisa */ + .align 64 + .long 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888 /* _sPC5_uisa */ + .align 64 + .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeReductionVal_uisa */ + .align 64 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _sAbsMask */ + .align 64 + .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _sRangeVal */ + .align 64 + .long 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000 /* _sRShifter */ + .align 64 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _sOne */ + .align 64 + .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeVal */ + .align 64 + .long 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000 /* _sPI1 */ + .align 64 + .long 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000 /* _sPI2 */ + .align 64 + .long 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000 /* _sPI3 */ + .align 64 + .type __svml_stan_data_internal, @object + .size __svml_stan_data_internal, .-__svml_stan_data_internal + .align 64 #ifdef __svml_stan_reduction_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _sPtable[256][3][1]; +typedef struct { + __declspec(align(64)) VUINT32 _sPtable[256][3][1]; } __svml_stan_reduction_data_internal; #endif __svml_stan_reduction_data_internal: - /* P_hi P_med P_lo */ - .long 0x00000000, 0x00000000, 0x00000000 /* 0 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 1 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 2 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 3 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 4 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 5 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 6 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 7 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 8 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 9 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 10 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 11 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 12 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 13 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 14 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 15 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 16 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 17 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 18 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 19 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 20 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 21 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 22 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 23 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 24 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 25 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 26 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 27 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 28 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 29 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 30 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 31 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 32 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 33 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 34 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 35 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 36 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 37 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 38 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 39 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 40 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 41 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 42 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 43 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 44 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 45 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 46 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 47 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 48 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 49 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 50 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 51 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 52 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 53 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 54 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 55 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 56 */ - .long 0x00000000, 0x00000000, 0x00000001 /* 57 */ - .long 0x00000000, 0x00000000, 0x00000002 /* 58 */ - .long 0x00000000, 0x00000000, 0x00000005 /* 59 */ - .long 0x00000000, 0x00000000, 0x0000000A /* 60 */ - .long 0x00000000, 0x00000000, 0x00000014 /* 61 */ - .long 0x00000000, 0x00000000, 0x00000028 /* 62 */ - .long 0x00000000, 0x00000000, 0x00000051 /* 63 */ - .long 0x00000000, 0x00000000, 0x000000A2 /* 64 */ - .long 0x00000000, 0x00000000, 0x00000145 /* 65 */ - .long 0x00000000, 0x00000000, 0x0000028B /* 66 */ - .long 0x00000000, 0x00000000, 0x00000517 /* 67 */ - .long 0x00000000, 0x00000000, 0x00000A2F /* 68 */ - .long 0x00000000, 0x00000000, 0x0000145F /* 69 */ - .long 0x00000000, 0x00000000, 0x000028BE /* 70 */ - .long 0x00000000, 0x00000000, 0x0000517C /* 71 */ - .long 0x00000000, 0x00000000, 0x0000A2F9 /* 72 */ - .long 0x00000000, 0x00000000, 0x000145F3 /* 73 */ - .long 0x00000000, 0x00000000, 0x00028BE6 /* 74 */ - .long 0x00000000, 0x00000000, 0x000517CC /* 75 */ - .long 0x00000000, 0x00000000, 0x000A2F98 /* 76 */ - .long 0x00000000, 0x00000000, 0x00145F30 /* 77 */ - .long 0x00000000, 0x00000000, 0x0028BE60 /* 78 */ - .long 0x00000000, 0x00000000, 0x00517CC1 /* 79 */ - .long 0x00000000, 0x00000000, 0x00A2F983 /* 80 */ - .long 0x00000000, 0x00000000, 0x0145F306 /* 81 */ - .long 0x00000000, 0x00000000, 0x028BE60D /* 82 */ - .long 0x00000000, 0x00000000, 0x0517CC1B /* 83 */ - .long 0x00000000, 0x00000000, 0x0A2F9836 /* 84 */ - .long 0x00000000, 0x00000000, 0x145F306D /* 85 */ - .long 0x00000000, 0x00000000, 0x28BE60DB /* 86 */ - .long 0x00000000, 0x00000000, 0x517CC1B7 /* 87 */ - .long 0x00000000, 0x00000000, 0xA2F9836E /* 88 */ - .long 0x00000000, 0x00000001, 0x45F306DC /* 89 */ - .long 0x00000000, 0x00000002, 0x8BE60DB9 /* 90 */ - .long 0x00000000, 0x00000005, 0x17CC1B72 /* 91 */ - .long 0x00000000, 0x0000000A, 0x2F9836E4 /* 92 */ - .long 0x00000000, 0x00000014, 0x5F306DC9 /* 93 */ - .long 0x00000000, 0x00000028, 0xBE60DB93 /* 94 */ - .long 0x00000000, 0x00000051, 0x7CC1B727 /* 95 */ - .long 0x00000000, 0x000000A2, 0xF9836E4E /* 96 */ - .long 0x00000000, 0x00000145, 0xF306DC9C /* 97 */ - .long 0x00000000, 0x0000028B, 0xE60DB939 /* 98 */ - .long 0x00000000, 0x00000517, 0xCC1B7272 /* 99 */ - .long 0x00000000, 0x00000A2F, 0x9836E4E4 /* 100 */ - .long 0x00000000, 0x0000145F, 0x306DC9C8 /* 101 */ - .long 0x00000000, 0x000028BE, 0x60DB9391 /* 102 */ - .long 0x00000000, 0x0000517C, 0xC1B72722 /* 103 */ - .long 0x00000000, 0x0000A2F9, 0x836E4E44 /* 104 */ - .long 0x00000000, 0x000145F3, 0x06DC9C88 /* 105 */ - .long 0x00000000, 0x00028BE6, 0x0DB93910 /* 106 */ - .long 0x00000000, 0x000517CC, 0x1B727220 /* 107 */ - .long 0x00000000, 0x000A2F98, 0x36E4E441 /* 108 */ - .long 0x00000000, 0x00145F30, 0x6DC9C882 /* 109 */ - .long 0x00000000, 0x0028BE60, 0xDB939105 /* 110 */ - .long 0x00000000, 0x00517CC1, 0xB727220A /* 111 */ - .long 0x00000000, 0x00A2F983, 0x6E4E4415 /* 112 */ - .long 0x00000000, 0x0145F306, 0xDC9C882A /* 113 */ - .long 0x00000000, 0x028BE60D, 0xB9391054 /* 114 */ - .long 0x00000000, 0x0517CC1B, 0x727220A9 /* 115 */ - .long 0x00000000, 0x0A2F9836, 0xE4E44152 /* 116 */ - .long 0x00000000, 0x145F306D, 0xC9C882A5 /* 117 */ - .long 0x00000000, 0x28BE60DB, 0x9391054A /* 118 */ - .long 0x00000000, 0x517CC1B7, 0x27220A94 /* 119 */ - .long 0x00000000, 0xA2F9836E, 0x4E441529 /* 120 */ - .long 0x00000001, 0x45F306DC, 0x9C882A53 /* 121 */ - .long 0x00000002, 0x8BE60DB9, 0x391054A7 /* 122 */ - .long 0x00000005, 0x17CC1B72, 0x7220A94F /* 123 */ - .long 0x0000000A, 0x2F9836E4, 0xE441529F /* 124 */ - .long 0x00000014, 0x5F306DC9, 0xC882A53F /* 125 */ - .long 0x00000028, 0xBE60DB93, 0x91054A7F /* 126 */ - .long 0x00000051, 0x7CC1B727, 0x220A94FE /* 127 */ - .long 0x000000A2, 0xF9836E4E, 0x441529FC /* 128 */ - .long 0x00000145, 0xF306DC9C, 0x882A53F8 /* 129 */ - .long 0x0000028B, 0xE60DB939, 0x1054A7F0 /* 130 */ - .long 0x00000517, 0xCC1B7272, 0x20A94FE1 /* 131 */ - .long 0x00000A2F, 0x9836E4E4, 0x41529FC2 /* 132 */ - .long 0x0000145F, 0x306DC9C8, 0x82A53F84 /* 133 */ - .long 0x000028BE, 0x60DB9391, 0x054A7F09 /* 134 */ - .long 0x0000517C, 0xC1B72722, 0x0A94FE13 /* 135 */ - .long 0x0000A2F9, 0x836E4E44, 0x1529FC27 /* 136 */ - .long 0x000145F3, 0x06DC9C88, 0x2A53F84E /* 137 */ - .long 0x00028BE6, 0x0DB93910, 0x54A7F09D /* 138 */ - .long 0x000517CC, 0x1B727220, 0xA94FE13A /* 139 */ - .long 0x000A2F98, 0x36E4E441, 0x529FC275 /* 140 */ - .long 0x00145F30, 0x6DC9C882, 0xA53F84EA /* 141 */ - .long 0x0028BE60, 0xDB939105, 0x4A7F09D5 /* 142 */ - .long 0x00517CC1, 0xB727220A, 0x94FE13AB /* 143 */ - .long 0x00A2F983, 0x6E4E4415, 0x29FC2757 /* 144 */ - .long 0x0145F306, 0xDC9C882A, 0x53F84EAF /* 145 */ - .long 0x028BE60D, 0xB9391054, 0xA7F09D5F /* 146 */ - .long 0x0517CC1B, 0x727220A9, 0x4FE13ABE /* 147 */ - .long 0x0A2F9836, 0xE4E44152, 0x9FC2757D /* 148 */ - .long 0x145F306D, 0xC9C882A5, 0x3F84EAFA /* 149 */ - .long 0x28BE60DB, 0x9391054A, 0x7F09D5F4 /* 150 */ - .long 0x517CC1B7, 0x27220A94, 0xFE13ABE8 /* 151 */ - .long 0xA2F9836E, 0x4E441529, 0xFC2757D1 /* 152 */ - .long 0x45F306DC, 0x9C882A53, 0xF84EAFA3 /* 153 */ - .long 0x8BE60DB9, 0x391054A7, 0xF09D5F47 /* 154 */ - .long 0x17CC1B72, 0x7220A94F, 0xE13ABE8F /* 155 */ - .long 0x2F9836E4, 0xE441529F, 0xC2757D1F /* 156 */ - .long 0x5F306DC9, 0xC882A53F, 0x84EAFA3E /* 157 */ - .long 0xBE60DB93, 0x91054A7F, 0x09D5F47D /* 158 */ - .long 0x7CC1B727, 0x220A94FE, 0x13ABE8FA /* 159 */ - .long 0xF9836E4E, 0x441529FC, 0x2757D1F5 /* 160 */ - .long 0xF306DC9C, 0x882A53F8, 0x4EAFA3EA /* 161 */ - .long 0xE60DB939, 0x1054A7F0, 0x9D5F47D4 /* 162 */ - .long 0xCC1B7272, 0x20A94FE1, 0x3ABE8FA9 /* 163 */ - .long 0x9836E4E4, 0x41529FC2, 0x757D1F53 /* 164 */ - .long 0x306DC9C8, 0x82A53F84, 0xEAFA3EA6 /* 165 */ - .long 0x60DB9391, 0x054A7F09, 0xD5F47D4D /* 166 */ - .long 0xC1B72722, 0x0A94FE13, 0xABE8FA9A /* 167 */ - .long 0x836E4E44, 0x1529FC27, 0x57D1F534 /* 168 */ - .long 0x06DC9C88, 0x2A53F84E, 0xAFA3EA69 /* 169 */ - .long 0x0DB93910, 0x54A7F09D, 0x5F47D4D3 /* 170 */ - .long 0x1B727220, 0xA94FE13A, 0xBE8FA9A6 /* 171 */ - .long 0x36E4E441, 0x529FC275, 0x7D1F534D /* 172 */ - .long 0x6DC9C882, 0xA53F84EA, 0xFA3EA69B /* 173 */ - .long 0xDB939105, 0x4A7F09D5, 0xF47D4D37 /* 174 */ - .long 0xB727220A, 0x94FE13AB, 0xE8FA9A6E /* 175 */ - .long 0x6E4E4415, 0x29FC2757, 0xD1F534DD /* 176 */ - .long 0xDC9C882A, 0x53F84EAF, 0xA3EA69BB /* 177 */ - .long 0xB9391054, 0xA7F09D5F, 0x47D4D377 /* 178 */ - .long 0x727220A9, 0x4FE13ABE, 0x8FA9A6EE /* 179 */ - .long 0xE4E44152, 0x9FC2757D, 0x1F534DDC /* 180 */ - .long 0xC9C882A5, 0x3F84EAFA, 0x3EA69BB8 /* 181 */ - .long 0x9391054A, 0x7F09D5F4, 0x7D4D3770 /* 182 */ - .long 0x27220A94, 0xFE13ABE8, 0xFA9A6EE0 /* 183 */ - .long 0x4E441529, 0xFC2757D1, 0xF534DDC0 /* 184 */ - .long 0x9C882A53, 0xF84EAFA3, 0xEA69BB81 /* 185 */ - .long 0x391054A7, 0xF09D5F47, 0xD4D37703 /* 186 */ - .long 0x7220A94F, 0xE13ABE8F, 0xA9A6EE06 /* 187 */ - .long 0xE441529F, 0xC2757D1F, 0x534DDC0D /* 188 */ - .long 0xC882A53F, 0x84EAFA3E, 0xA69BB81B /* 189 */ - .long 0x91054A7F, 0x09D5F47D, 0x4D377036 /* 190 */ - .long 0x220A94FE, 0x13ABE8FA, 0x9A6EE06D /* 191 */ - .long 0x441529FC, 0x2757D1F5, 0x34DDC0DB /* 192 */ - .long 0x882A53F8, 0x4EAFA3EA, 0x69BB81B6 /* 193 */ - .long 0x1054A7F0, 0x9D5F47D4, 0xD377036D /* 194 */ - .long 0x20A94FE1, 0x3ABE8FA9, 0xA6EE06DB /* 195 */ - .long 0x41529FC2, 0x757D1F53, 0x4DDC0DB6 /* 196 */ - .long 0x82A53F84, 0xEAFA3EA6, 0x9BB81B6C /* 197 */ - .long 0x054A7F09, 0xD5F47D4D, 0x377036D8 /* 198 */ - .long 0x0A94FE13, 0xABE8FA9A, 0x6EE06DB1 /* 199 */ - .long 0x1529FC27, 0x57D1F534, 0xDDC0DB62 /* 200 */ - .long 0x2A53F84E, 0xAFA3EA69, 0xBB81B6C5 /* 201 */ - .long 0x54A7F09D, 0x5F47D4D3, 0x77036D8A /* 202 */ - .long 0xA94FE13A, 0xBE8FA9A6, 0xEE06DB14 /* 203 */ - .long 0x529FC275, 0x7D1F534D, 0xDC0DB629 /* 204 */ - .long 0xA53F84EA, 0xFA3EA69B, 0xB81B6C52 /* 205 */ - .long 0x4A7F09D5, 0xF47D4D37, 0x7036D8A5 /* 206 */ - .long 0x94FE13AB, 0xE8FA9A6E, 0xE06DB14A /* 207 */ - .long 0x29FC2757, 0xD1F534DD, 0xC0DB6295 /* 208 */ - .long 0x53F84EAF, 0xA3EA69BB, 0x81B6C52B /* 209 */ - .long 0xA7F09D5F, 0x47D4D377, 0x036D8A56 /* 210 */ - .long 0x4FE13ABE, 0x8FA9A6EE, 0x06DB14AC /* 211 */ - .long 0x9FC2757D, 0x1F534DDC, 0x0DB62959 /* 212 */ - .long 0x3F84EAFA, 0x3EA69BB8, 0x1B6C52B3 /* 213 */ - .long 0x7F09D5F4, 0x7D4D3770, 0x36D8A566 /* 214 */ - .long 0xFE13ABE8, 0xFA9A6EE0, 0x6DB14ACC /* 215 */ - .long 0xFC2757D1, 0xF534DDC0, 0xDB629599 /* 216 */ - .long 0xF84EAFA3, 0xEA69BB81, 0xB6C52B32 /* 217 */ - .long 0xF09D5F47, 0xD4D37703, 0x6D8A5664 /* 218 */ - .long 0xE13ABE8F, 0xA9A6EE06, 0xDB14ACC9 /* 219 */ - .long 0xC2757D1F, 0x534DDC0D, 0xB6295993 /* 220 */ - .long 0x84EAFA3E, 0xA69BB81B, 0x6C52B327 /* 221 */ - .long 0x09D5F47D, 0x4D377036, 0xD8A5664F /* 222 */ - .long 0x13ABE8FA, 0x9A6EE06D, 0xB14ACC9E /* 223 */ - .long 0x2757D1F5, 0x34DDC0DB, 0x6295993C /* 224 */ - .long 0x4EAFA3EA, 0x69BB81B6, 0xC52B3278 /* 225 */ - .long 0x9D5F47D4, 0xD377036D, 0x8A5664F1 /* 226 */ - .long 0x3ABE8FA9, 0xA6EE06DB, 0x14ACC9E2 /* 227 */ - .long 0x757D1F53, 0x4DDC0DB6, 0x295993C4 /* 228 */ - .long 0xEAFA3EA6, 0x9BB81B6C, 0x52B32788 /* 229 */ - .long 0xD5F47D4D, 0x377036D8, 0xA5664F10 /* 230 */ - .long 0xABE8FA9A, 0x6EE06DB1, 0x4ACC9E21 /* 231 */ - .long 0x57D1F534, 0xDDC0DB62, 0x95993C43 /* 232 */ - .long 0xAFA3EA69, 0xBB81B6C5, 0x2B327887 /* 233 */ - .long 0x5F47D4D3, 0x77036D8A, 0x5664F10E /* 234 */ - .long 0xBE8FA9A6, 0xEE06DB14, 0xACC9E21C /* 235 */ - .long 0x7D1F534D, 0xDC0DB629, 0x5993C439 /* 236 */ - .long 0xFA3EA69B, 0xB81B6C52, 0xB3278872 /* 237 */ - .long 0xF47D4D37, 0x7036D8A5, 0x664F10E4 /* 238 */ - .long 0xE8FA9A6E, 0xE06DB14A, 0xCC9E21C8 /* 239 */ - .long 0xD1F534DD, 0xC0DB6295, 0x993C4390 /* 240 */ - .long 0xA3EA69BB, 0x81B6C52B, 0x32788720 /* 241 */ - .long 0x47D4D377, 0x036D8A56, 0x64F10E41 /* 242 */ - .long 0x8FA9A6EE, 0x06DB14AC, 0xC9E21C82 /* 243 */ - .long 0x1F534DDC, 0x0DB62959, 0x93C43904 /* 244 */ - .long 0x3EA69BB8, 0x1B6C52B3, 0x27887208 /* 245 */ - .long 0x7D4D3770, 0x36D8A566, 0x4F10E410 /* 246 */ - .long 0xFA9A6EE0, 0x6DB14ACC, 0x9E21C820 /* 247 */ - .long 0xF534DDC0, 0xDB629599, 0x3C439041 /* 248 */ - .long 0xEA69BB81, 0xB6C52B32, 0x78872083 /* 249 */ - .long 0xD4D37703, 0x6D8A5664, 0xF10E4107 /* 250 */ - .long 0xA9A6EE06, 0xDB14ACC9, 0xE21C820F /* 251 */ - .long 0x534DDC0D, 0xB6295993, 0xC439041F /* 252 */ - .long 0xA69BB81B, 0x6C52B327, 0x8872083F /* 253 */ - .long 0x4D377036, 0xD8A5664F, 0x10E4107F /* 254 */ - .long 0x9A6EE06D, 0xB14ACC9E, 0x21C820FF /* 255 */ - .align 64 - .type __svml_stan_reduction_data_internal,@object - .size __svml_stan_reduction_data_internal,.-__svml_stan_reduction_data_internal + /* P_hi P_med P_lo */ + .long 0x00000000, 0x00000000, 0x00000000 /* 0 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 1 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 2 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 3 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 4 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 5 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 6 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 7 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 8 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 9 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 10 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 11 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 12 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 13 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 14 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 15 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 16 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 17 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 18 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 19 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 20 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 21 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 22 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 23 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 24 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 25 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 26 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 27 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 28 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 29 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 30 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 31 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 32 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 33 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 34 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 35 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 36 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 37 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 38 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 39 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 40 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 41 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 42 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 43 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 44 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 45 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 46 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 47 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 48 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 49 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 50 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 51 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 52 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 53 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 54 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 55 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 56 */ + .long 0x00000000, 0x00000000, 0x00000001 /* 57 */ + .long 0x00000000, 0x00000000, 0x00000002 /* 58 */ + .long 0x00000000, 0x00000000, 0x00000005 /* 59 */ + .long 0x00000000, 0x00000000, 0x0000000A /* 60 */ + .long 0x00000000, 0x00000000, 0x00000014 /* 61 */ + .long 0x00000000, 0x00000000, 0x00000028 /* 62 */ + .long 0x00000000, 0x00000000, 0x00000051 /* 63 */ + .long 0x00000000, 0x00000000, 0x000000A2 /* 64 */ + .long 0x00000000, 0x00000000, 0x00000145 /* 65 */ + .long 0x00000000, 0x00000000, 0x0000028B /* 66 */ + .long 0x00000000, 0x00000000, 0x00000517 /* 67 */ + .long 0x00000000, 0x00000000, 0x00000A2F /* 68 */ + .long 0x00000000, 0x00000000, 0x0000145F /* 69 */ + .long 0x00000000, 0x00000000, 0x000028BE /* 70 */ + .long 0x00000000, 0x00000000, 0x0000517C /* 71 */ + .long 0x00000000, 0x00000000, 0x0000A2F9 /* 72 */ + .long 0x00000000, 0x00000000, 0x000145F3 /* 73 */ + .long 0x00000000, 0x00000000, 0x00028BE6 /* 74 */ + .long 0x00000000, 0x00000000, 0x000517CC /* 75 */ + .long 0x00000000, 0x00000000, 0x000A2F98 /* 76 */ + .long 0x00000000, 0x00000000, 0x00145F30 /* 77 */ + .long 0x00000000, 0x00000000, 0x0028BE60 /* 78 */ + .long 0x00000000, 0x00000000, 0x00517CC1 /* 79 */ + .long 0x00000000, 0x00000000, 0x00A2F983 /* 80 */ + .long 0x00000000, 0x00000000, 0x0145F306 /* 81 */ + .long 0x00000000, 0x00000000, 0x028BE60D /* 82 */ + .long 0x00000000, 0x00000000, 0x0517CC1B /* 83 */ + .long 0x00000000, 0x00000000, 0x0A2F9836 /* 84 */ + .long 0x00000000, 0x00000000, 0x145F306D /* 85 */ + .long 0x00000000, 0x00000000, 0x28BE60DB /* 86 */ + .long 0x00000000, 0x00000000, 0x517CC1B7 /* 87 */ + .long 0x00000000, 0x00000000, 0xA2F9836E /* 88 */ + .long 0x00000000, 0x00000001, 0x45F306DC /* 89 */ + .long 0x00000000, 0x00000002, 0x8BE60DB9 /* 90 */ + .long 0x00000000, 0x00000005, 0x17CC1B72 /* 91 */ + .long 0x00000000, 0x0000000A, 0x2F9836E4 /* 92 */ + .long 0x00000000, 0x00000014, 0x5F306DC9 /* 93 */ + .long 0x00000000, 0x00000028, 0xBE60DB93 /* 94 */ + .long 0x00000000, 0x00000051, 0x7CC1B727 /* 95 */ + .long 0x00000000, 0x000000A2, 0xF9836E4E /* 96 */ + .long 0x00000000, 0x00000145, 0xF306DC9C /* 97 */ + .long 0x00000000, 0x0000028B, 0xE60DB939 /* 98 */ + .long 0x00000000, 0x00000517, 0xCC1B7272 /* 99 */ + .long 0x00000000, 0x00000A2F, 0x9836E4E4 /* 100 */ + .long 0x00000000, 0x0000145F, 0x306DC9C8 /* 101 */ + .long 0x00000000, 0x000028BE, 0x60DB9391 /* 102 */ + .long 0x00000000, 0x0000517C, 0xC1B72722 /* 103 */ + .long 0x00000000, 0x0000A2F9, 0x836E4E44 /* 104 */ + .long 0x00000000, 0x000145F3, 0x06DC9C88 /* 105 */ + .long 0x00000000, 0x00028BE6, 0x0DB93910 /* 106 */ + .long 0x00000000, 0x000517CC, 0x1B727220 /* 107 */ + .long 0x00000000, 0x000A2F98, 0x36E4E441 /* 108 */ + .long 0x00000000, 0x00145F30, 0x6DC9C882 /* 109 */ + .long 0x00000000, 0x0028BE60, 0xDB939105 /* 110 */ + .long 0x00000000, 0x00517CC1, 0xB727220A /* 111 */ + .long 0x00000000, 0x00A2F983, 0x6E4E4415 /* 112 */ + .long 0x00000000, 0x0145F306, 0xDC9C882A /* 113 */ + .long 0x00000000, 0x028BE60D, 0xB9391054 /* 114 */ + .long 0x00000000, 0x0517CC1B, 0x727220A9 /* 115 */ + .long 0x00000000, 0x0A2F9836, 0xE4E44152 /* 116 */ + .long 0x00000000, 0x145F306D, 0xC9C882A5 /* 117 */ + .long 0x00000000, 0x28BE60DB, 0x9391054A /* 118 */ + .long 0x00000000, 0x517CC1B7, 0x27220A94 /* 119 */ + .long 0x00000000, 0xA2F9836E, 0x4E441529 /* 120 */ + .long 0x00000001, 0x45F306DC, 0x9C882A53 /* 121 */ + .long 0x00000002, 0x8BE60DB9, 0x391054A7 /* 122 */ + .long 0x00000005, 0x17CC1B72, 0x7220A94F /* 123 */ + .long 0x0000000A, 0x2F9836E4, 0xE441529F /* 124 */ + .long 0x00000014, 0x5F306DC9, 0xC882A53F /* 125 */ + .long 0x00000028, 0xBE60DB93, 0x91054A7F /* 126 */ + .long 0x00000051, 0x7CC1B727, 0x220A94FE /* 127 */ + .long 0x000000A2, 0xF9836E4E, 0x441529FC /* 128 */ + .long 0x00000145, 0xF306DC9C, 0x882A53F8 /* 129 */ + .long 0x0000028B, 0xE60DB939, 0x1054A7F0 /* 130 */ + .long 0x00000517, 0xCC1B7272, 0x20A94FE1 /* 131 */ + .long 0x00000A2F, 0x9836E4E4, 0x41529FC2 /* 132 */ + .long 0x0000145F, 0x306DC9C8, 0x82A53F84 /* 133 */ + .long 0x000028BE, 0x60DB9391, 0x054A7F09 /* 134 */ + .long 0x0000517C, 0xC1B72722, 0x0A94FE13 /* 135 */ + .long 0x0000A2F9, 0x836E4E44, 0x1529FC27 /* 136 */ + .long 0x000145F3, 0x06DC9C88, 0x2A53F84E /* 137 */ + .long 0x00028BE6, 0x0DB93910, 0x54A7F09D /* 138 */ + .long 0x000517CC, 0x1B727220, 0xA94FE13A /* 139 */ + .long 0x000A2F98, 0x36E4E441, 0x529FC275 /* 140 */ + .long 0x00145F30, 0x6DC9C882, 0xA53F84EA /* 141 */ + .long 0x0028BE60, 0xDB939105, 0x4A7F09D5 /* 142 */ + .long 0x00517CC1, 0xB727220A, 0x94FE13AB /* 143 */ + .long 0x00A2F983, 0x6E4E4415, 0x29FC2757 /* 144 */ + .long 0x0145F306, 0xDC9C882A, 0x53F84EAF /* 145 */ + .long 0x028BE60D, 0xB9391054, 0xA7F09D5F /* 146 */ + .long 0x0517CC1B, 0x727220A9, 0x4FE13ABE /* 147 */ + .long 0x0A2F9836, 0xE4E44152, 0x9FC2757D /* 148 */ + .long 0x145F306D, 0xC9C882A5, 0x3F84EAFA /* 149 */ + .long 0x28BE60DB, 0x9391054A, 0x7F09D5F4 /* 150 */ + .long 0x517CC1B7, 0x27220A94, 0xFE13ABE8 /* 151 */ + .long 0xA2F9836E, 0x4E441529, 0xFC2757D1 /* 152 */ + .long 0x45F306DC, 0x9C882A53, 0xF84EAFA3 /* 153 */ + .long 0x8BE60DB9, 0x391054A7, 0xF09D5F47 /* 154 */ + .long 0x17CC1B72, 0x7220A94F, 0xE13ABE8F /* 155 */ + .long 0x2F9836E4, 0xE441529F, 0xC2757D1F /* 156 */ + .long 0x5F306DC9, 0xC882A53F, 0x84EAFA3E /* 157 */ + .long 0xBE60DB93, 0x91054A7F, 0x09D5F47D /* 158 */ + .long 0x7CC1B727, 0x220A94FE, 0x13ABE8FA /* 159 */ + .long 0xF9836E4E, 0x441529FC, 0x2757D1F5 /* 160 */ + .long 0xF306DC9C, 0x882A53F8, 0x4EAFA3EA /* 161 */ + .long 0xE60DB939, 0x1054A7F0, 0x9D5F47D4 /* 162 */ + .long 0xCC1B7272, 0x20A94FE1, 0x3ABE8FA9 /* 163 */ + .long 0x9836E4E4, 0x41529FC2, 0x757D1F53 /* 164 */ + .long 0x306DC9C8, 0x82A53F84, 0xEAFA3EA6 /* 165 */ + .long 0x60DB9391, 0x054A7F09, 0xD5F47D4D /* 166 */ + .long 0xC1B72722, 0x0A94FE13, 0xABE8FA9A /* 167 */ + .long 0x836E4E44, 0x1529FC27, 0x57D1F534 /* 168 */ + .long 0x06DC9C88, 0x2A53F84E, 0xAFA3EA69 /* 169 */ + .long 0x0DB93910, 0x54A7F09D, 0x5F47D4D3 /* 170 */ + .long 0x1B727220, 0xA94FE13A, 0xBE8FA9A6 /* 171 */ + .long 0x36E4E441, 0x529FC275, 0x7D1F534D /* 172 */ + .long 0x6DC9C882, 0xA53F84EA, 0xFA3EA69B /* 173 */ + .long 0xDB939105, 0x4A7F09D5, 0xF47D4D37 /* 174 */ + .long 0xB727220A, 0x94FE13AB, 0xE8FA9A6E /* 175 */ + .long 0x6E4E4415, 0x29FC2757, 0xD1F534DD /* 176 */ + .long 0xDC9C882A, 0x53F84EAF, 0xA3EA69BB /* 177 */ + .long 0xB9391054, 0xA7F09D5F, 0x47D4D377 /* 178 */ + .long 0x727220A9, 0x4FE13ABE, 0x8FA9A6EE /* 179 */ + .long 0xE4E44152, 0x9FC2757D, 0x1F534DDC /* 180 */ + .long 0xC9C882A5, 0x3F84EAFA, 0x3EA69BB8 /* 181 */ + .long 0x9391054A, 0x7F09D5F4, 0x7D4D3770 /* 182 */ + .long 0x27220A94, 0xFE13ABE8, 0xFA9A6EE0 /* 183 */ + .long 0x4E441529, 0xFC2757D1, 0xF534DDC0 /* 184 */ + .long 0x9C882A53, 0xF84EAFA3, 0xEA69BB81 /* 185 */ + .long 0x391054A7, 0xF09D5F47, 0xD4D37703 /* 186 */ + .long 0x7220A94F, 0xE13ABE8F, 0xA9A6EE06 /* 187 */ + .long 0xE441529F, 0xC2757D1F, 0x534DDC0D /* 188 */ + .long 0xC882A53F, 0x84EAFA3E, 0xA69BB81B /* 189 */ + .long 0x91054A7F, 0x09D5F47D, 0x4D377036 /* 190 */ + .long 0x220A94FE, 0x13ABE8FA, 0x9A6EE06D /* 191 */ + .long 0x441529FC, 0x2757D1F5, 0x34DDC0DB /* 192 */ + .long 0x882A53F8, 0x4EAFA3EA, 0x69BB81B6 /* 193 */ + .long 0x1054A7F0, 0x9D5F47D4, 0xD377036D /* 194 */ + .long 0x20A94FE1, 0x3ABE8FA9, 0xA6EE06DB /* 195 */ + .long 0x41529FC2, 0x757D1F53, 0x4DDC0DB6 /* 196 */ + .long 0x82A53F84, 0xEAFA3EA6, 0x9BB81B6C /* 197 */ + .long 0x054A7F09, 0xD5F47D4D, 0x377036D8 /* 198 */ + .long 0x0A94FE13, 0xABE8FA9A, 0x6EE06DB1 /* 199 */ + .long 0x1529FC27, 0x57D1F534, 0xDDC0DB62 /* 200 */ + .long 0x2A53F84E, 0xAFA3EA69, 0xBB81B6C5 /* 201 */ + .long 0x54A7F09D, 0x5F47D4D3, 0x77036D8A /* 202 */ + .long 0xA94FE13A, 0xBE8FA9A6, 0xEE06DB14 /* 203 */ + .long 0x529FC275, 0x7D1F534D, 0xDC0DB629 /* 204 */ + .long 0xA53F84EA, 0xFA3EA69B, 0xB81B6C52 /* 205 */ + .long 0x4A7F09D5, 0xF47D4D37, 0x7036D8A5 /* 206 */ + .long 0x94FE13AB, 0xE8FA9A6E, 0xE06DB14A /* 207 */ + .long 0x29FC2757, 0xD1F534DD, 0xC0DB6295 /* 208 */ + .long 0x53F84EAF, 0xA3EA69BB, 0x81B6C52B /* 209 */ + .long 0xA7F09D5F, 0x47D4D377, 0x036D8A56 /* 210 */ + .long 0x4FE13ABE, 0x8FA9A6EE, 0x06DB14AC /* 211 */ + .long 0x9FC2757D, 0x1F534DDC, 0x0DB62959 /* 212 */ + .long 0x3F84EAFA, 0x3EA69BB8, 0x1B6C52B3 /* 213 */ + .long 0x7F09D5F4, 0x7D4D3770, 0x36D8A566 /* 214 */ + .long 0xFE13ABE8, 0xFA9A6EE0, 0x6DB14ACC /* 215 */ + .long 0xFC2757D1, 0xF534DDC0, 0xDB629599 /* 216 */ + .long 0xF84EAFA3, 0xEA69BB81, 0xB6C52B32 /* 217 */ + .long 0xF09D5F47, 0xD4D37703, 0x6D8A5664 /* 218 */ + .long 0xE13ABE8F, 0xA9A6EE06, 0xDB14ACC9 /* 219 */ + .long 0xC2757D1F, 0x534DDC0D, 0xB6295993 /* 220 */ + .long 0x84EAFA3E, 0xA69BB81B, 0x6C52B327 /* 221 */ + .long 0x09D5F47D, 0x4D377036, 0xD8A5664F /* 222 */ + .long 0x13ABE8FA, 0x9A6EE06D, 0xB14ACC9E /* 223 */ + .long 0x2757D1F5, 0x34DDC0DB, 0x6295993C /* 224 */ + .long 0x4EAFA3EA, 0x69BB81B6, 0xC52B3278 /* 225 */ + .long 0x9D5F47D4, 0xD377036D, 0x8A5664F1 /* 226 */ + .long 0x3ABE8FA9, 0xA6EE06DB, 0x14ACC9E2 /* 227 */ + .long 0x757D1F53, 0x4DDC0DB6, 0x295993C4 /* 228 */ + .long 0xEAFA3EA6, 0x9BB81B6C, 0x52B32788 /* 229 */ + .long 0xD5F47D4D, 0x377036D8, 0xA5664F10 /* 230 */ + .long 0xABE8FA9A, 0x6EE06DB1, 0x4ACC9E21 /* 231 */ + .long 0x57D1F534, 0xDDC0DB62, 0x95993C43 /* 232 */ + .long 0xAFA3EA69, 0xBB81B6C5, 0x2B327887 /* 233 */ + .long 0x5F47D4D3, 0x77036D8A, 0x5664F10E /* 234 */ + .long 0xBE8FA9A6, 0xEE06DB14, 0xACC9E21C /* 235 */ + .long 0x7D1F534D, 0xDC0DB629, 0x5993C439 /* 236 */ + .long 0xFA3EA69B, 0xB81B6C52, 0xB3278872 /* 237 */ + .long 0xF47D4D37, 0x7036D8A5, 0x664F10E4 /* 238 */ + .long 0xE8FA9A6E, 0xE06DB14A, 0xCC9E21C8 /* 239 */ + .long 0xD1F534DD, 0xC0DB6295, 0x993C4390 /* 240 */ + .long 0xA3EA69BB, 0x81B6C52B, 0x32788720 /* 241 */ + .long 0x47D4D377, 0x036D8A56, 0x64F10E41 /* 242 */ + .long 0x8FA9A6EE, 0x06DB14AC, 0xC9E21C82 /* 243 */ + .long 0x1F534DDC, 0x0DB62959, 0x93C43904 /* 244 */ + .long 0x3EA69BB8, 0x1B6C52B3, 0x27887208 /* 245 */ + .long 0x7D4D3770, 0x36D8A566, 0x4F10E410 /* 246 */ + .long 0xFA9A6EE0, 0x6DB14ACC, 0x9E21C820 /* 247 */ + .long 0xF534DDC0, 0xDB629599, 0x3C439041 /* 248 */ + .long 0xEA69BB81, 0xB6C52B32, 0x78872083 /* 249 */ + .long 0xD4D37703, 0x6D8A5664, 0xF10E4107 /* 250 */ + .long 0xA9A6EE06, 0xDB14ACC9, 0xE21C820F /* 251 */ + .long 0x534DDC0D, 0xB6295993, 0xC439041F /* 252 */ + .long 0xA69BB81B, 0x6C52B327, 0x8872083F /* 253 */ + .long 0x4D377036, 0xD8A5664F, 0x10E4107F /* 254 */ + .long 0x9A6EE06D, 0xB14ACC9E, 0x21C820FF /* 255 */ + .align 64 + .type __svml_stan_reduction_data_internal, @object + .size __svml_stan_reduction_data_internal, .-__svml_stan_reduction_data_internal From patchwork Mon Mar 7 15:01:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602410 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=SnL5fuuU; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3zV4cpKz9sFt for ; Tue, 8 Mar 2022 03:37:58 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3A12C3857C69 for ; Mon, 7 Mar 2022 16:37:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3A12C3857C69 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646671076; bh=Dm9qpBErJCJ3n57nIlvjnrOU/T/oxquod7pAMjg4U9Q=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=SnL5fuuUzTqC6WRsw8iGwyr0XPCdLx1DVs9HEDz4PQ8TAXUTZYBowRMegBsAZZR9s 83Tq8HpBcS3BTfvkRVHEY3TaSINTuzzPRFhl/+z5ysrqmXiRiWjWM9olReC22WnJ3r 4ZFRcRPWVHFm7p6Jgr5LdazPvvc/shHAIPEq84m4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 92C5E385843B for ; Mon, 7 Mar 2022 15:03:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 92C5E385843B X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017294" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017294" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="631871420" Received: from scymds01.sc.intel.com ([10.148.94.138]) by FMSMGA003.fm.intel.com with ESMTP; 07 Mar 2022 07:02:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fU016772; Mon, 7 Mar 2022 07:02:11 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 116/126] x86_64: Fix svml_s_tanf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:51 -0800 Message-Id: <20220307150201.10590-117-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, LOTS_OF_MONEY, NML_ADSP_CUSTOM_MED, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_tanf4_core_sse4.S | 5019 ++++++++--------- 1 file changed, 2508 insertions(+), 2511 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S index 9e3e672ecf..3dc82cae68 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf4_core_sse4.S @@ -47,2554 +47,2551 @@ /* Offsets for data table __svml_stan_data_internal */ -#define _sInvPI_uisa 0 -#define _sPI1_uisa 16 -#define _sPI2_uisa 32 -#define _sPI3_uisa 48 -#define _sPI2_ha_uisa 64 -#define _sPI3_ha_uisa 80 -#define Th_tbl_uisa 96 -#define Tl_tbl_uisa 224 -#define _sPC3_uisa 352 -#define _sPC5_uisa 368 -#define _sRangeReductionVal_uisa 384 -#define _sInvPi 400 -#define _sSignMask 416 -#define _sAbsMask 432 -#define _sRangeVal 448 -#define _sRShifter 464 -#define _sOne 480 -#define _sRangeReductionVal 496 -#define _sPI1 512 -#define _sPI2 528 -#define _sPI3 544 -#define _sPI4 560 -#define _sPI1_FMA 576 -#define _sPI2_FMA 592 -#define _sPI3_FMA 608 -#define _sP0 624 -#define _sP1 640 -#define _sQ0 656 -#define _sQ1 672 -#define _sQ2 688 -#define _sTwo 704 -#define _sCoeffs 720 +#define _sInvPI_uisa 0 +#define _sPI1_uisa 16 +#define _sPI2_uisa 32 +#define _sPI3_uisa 48 +#define _sPI2_ha_uisa 64 +#define _sPI3_ha_uisa 80 +#define Th_tbl_uisa 96 +#define Tl_tbl_uisa 224 +#define _sPC3_uisa 352 +#define _sPC5_uisa 368 +#define _sRangeReductionVal_uisa 384 +#define _sInvPi 400 +#define _sSignMask 416 +#define _sAbsMask 432 +#define _sRangeVal 448 +#define _sRShifter 464 +#define _sOne 480 +#define _sRangeReductionVal 496 +#define _sPI1 512 +#define _sPI2 528 +#define _sPI3 544 +#define _sPI4 560 +#define _sPI1_FMA 576 +#define _sPI2_FMA 592 +#define _sPI3_FMA 608 +#define _sP0 624 +#define _sP1 640 +#define _sQ0 656 +#define _sQ1 672 +#define _sQ2 688 +#define _sTwo 704 +#define _sCoeffs 720 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_tanf_sse4) - subq $232, %rsp - cfi_def_cfa_offset(240) - movaps %xmm0, %xmm13 - movups _sAbsMask+__svml_stan_data_internal(%rip), %xmm12 - -/* - * Legacy Code - * Here HW FMA can be unavailable - */ - xorl %eax, %eax - movaps %xmm12, %xmm4 - pxor %xmm10, %xmm10 - movups _sInvPi+__svml_stan_data_internal(%rip), %xmm2 - andps %xmm13, %xmm4 - mulps %xmm4, %xmm2 - -/* Range reduction */ - movaps %xmm4, %xmm1 - -/* - * - * Main path (_LA_ and _EP_) - * - * Octant calculation - */ - movups _sRShifter+__svml_stan_data_internal(%rip), %xmm3 - -/* Large values check */ - movaps %xmm4, %xmm11 - movups _sPI1+__svml_stan_data_internal(%rip), %xmm5 - andnps %xmm13, %xmm12 - movups _sPI2+__svml_stan_data_internal(%rip), %xmm6 - addps %xmm3, %xmm2 - cmpnleps _sRangeReductionVal+__svml_stan_data_internal(%rip), %xmm11 - movaps %xmm2, %xmm8 - movups _sPI3+__svml_stan_data_internal(%rip), %xmm7 - subps %xmm3, %xmm8 - movmskps %xmm11, %edx - movups _sPI4+__svml_stan_data_internal(%rip), %xmm9 - mulps %xmm8, %xmm5 - mulps %xmm8, %xmm6 - mulps %xmm8, %xmm7 - subps %xmm5, %xmm1 - mulps %xmm8, %xmm9 - subps %xmm6, %xmm1 - movups _sQ2+__svml_stan_data_internal(%rip), %xmm15 - -/* Inversion mask and sign calculation */ - movaps %xmm2, %xmm5 - -/* Rational approximation */ - movups _sP1+__svml_stan_data_internal(%rip), %xmm14 - pslld $30, %xmm2 - cmpneqps %xmm10, %xmm2 - subps %xmm7, %xmm1 - -/* Exchanged numerator and denominator if necessary */ - movaps %xmm2, %xmm0 - movaps %xmm2, %xmm10 - pslld $31, %xmm5 - subps %xmm9, %xmm1 - movaps %xmm1, %xmm3 - pxor %xmm12, %xmm5 - mulps %xmm1, %xmm3 - mulps %xmm3, %xmm15 - mulps %xmm3, %xmm14 - addps _sQ1+__svml_stan_data_internal(%rip), %xmm15 - addps _sP0+__svml_stan_data_internal(%rip), %xmm14 - mulps %xmm15, %xmm3 - mulps %xmm14, %xmm1 - addps _sQ0+__svml_stan_data_internal(%rip), %xmm3 - andnps %xmm1, %xmm0 - andps %xmm3, %xmm10 - andps %xmm2, %xmm1 - andnps %xmm3, %xmm2 - orps %xmm10, %xmm0 - orps %xmm2, %xmm1 - -/* Division */ - divps %xmm1, %xmm0 - -/* Sign setting */ - pxor %xmm5, %xmm0 - -/* - * - * End of main path (_LA_ and _EP_) - */ - - testl %edx, %edx - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm4 xmm11 xmm12 xmm13 - -/* Return from auxilary branch - * for out of main path inputs - */ + subq $232, %rsp + cfi_def_cfa_offset(240) + movaps %xmm0, %xmm13 + movups _sAbsMask+__svml_stan_data_internal(%rip), %xmm12 + + /* + * Legacy Code + * Here HW FMA can be unavailable + */ + xorl %eax, %eax + movaps %xmm12, %xmm4 + pxor %xmm10, %xmm10 + movups _sInvPi+__svml_stan_data_internal(%rip), %xmm2 + andps %xmm13, %xmm4 + mulps %xmm4, %xmm2 + + /* Range reduction */ + movaps %xmm4, %xmm1 + + /* + * + * Main path (_LA_ and _EP_) + * + * Octant calculation + */ + movups _sRShifter+__svml_stan_data_internal(%rip), %xmm3 + + /* Large values check */ + movaps %xmm4, %xmm11 + movups _sPI1+__svml_stan_data_internal(%rip), %xmm5 + andnps %xmm13, %xmm12 + movups _sPI2+__svml_stan_data_internal(%rip), %xmm6 + addps %xmm3, %xmm2 + cmpnleps _sRangeReductionVal+__svml_stan_data_internal(%rip), %xmm11 + movaps %xmm2, %xmm8 + movups _sPI3+__svml_stan_data_internal(%rip), %xmm7 + subps %xmm3, %xmm8 + movmskps %xmm11, %edx + movups _sPI4+__svml_stan_data_internal(%rip), %xmm9 + mulps %xmm8, %xmm5 + mulps %xmm8, %xmm6 + mulps %xmm8, %xmm7 + subps %xmm5, %xmm1 + mulps %xmm8, %xmm9 + subps %xmm6, %xmm1 + movups _sQ2+__svml_stan_data_internal(%rip), %xmm15 + + /* Inversion mask and sign calculation */ + movaps %xmm2, %xmm5 + + /* Rational approximation */ + movups _sP1+__svml_stan_data_internal(%rip), %xmm14 + pslld $30, %xmm2 + cmpneqps %xmm10, %xmm2 + subps %xmm7, %xmm1 + + /* Exchanged numerator and denominator if necessary */ + movaps %xmm2, %xmm0 + movaps %xmm2, %xmm10 + pslld $31, %xmm5 + subps %xmm9, %xmm1 + movaps %xmm1, %xmm3 + pxor %xmm12, %xmm5 + mulps %xmm1, %xmm3 + mulps %xmm3, %xmm15 + mulps %xmm3, %xmm14 + addps _sQ1+__svml_stan_data_internal(%rip), %xmm15 + addps _sP0+__svml_stan_data_internal(%rip), %xmm14 + mulps %xmm15, %xmm3 + mulps %xmm14, %xmm1 + addps _sQ0+__svml_stan_data_internal(%rip), %xmm3 + andnps %xmm1, %xmm0 + andps %xmm3, %xmm10 + andps %xmm2, %xmm1 + andnps %xmm3, %xmm2 + orps %xmm10, %xmm0 + orps %xmm2, %xmm1 + + /* Division */ + divps %xmm1, %xmm0 + + /* Sign setting */ + pxor %xmm5, %xmm0 + + /* + * + * End of main path (_LA_ and _EP_) + */ + + testl %edx, %edx + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm4 xmm11 xmm12 xmm13 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): - testl %eax, %eax + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm13 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm13 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $232, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(240) + addq $232, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(240) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm13, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 - - xorl %edx, %edx - movq %r12, 16(%rsp) - cfi_offset(12, -224) - movl %edx, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -232) - movl %eax, %r13d - movq %r14, (%rsp) - cfi_offset(14, -240) - # LOE rbx rbp r15 r12d r13d - -/* Range mask - * bits check - */ + movups %xmm13, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 + + xorl %edx, %edx + movq %r12, 16(%rsp) + cfi_offset(12, -224) + movl %edx, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -232) + movl %eax, %r13d + movq %r14, (%rsp) + cfi_offset(14, -240) + # LOE rbx rbp r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp 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), %xmm0 - -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -224) - cfi_offset(13, -232) - cfi_offset(14, -240) - # LOE rbx rbp r12 r13 r14 r15 xmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $4, %r12d + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -224) + cfi_offset(13, -232) + cfi_offset(14, -240) + # LOE rbx rbp r12 r13 r14 r15 xmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call tanf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 - - movss %xmm0, 48(%rsp,%r14,4) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx rbp r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call tanf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): - movl $2139095040, %eax + movss %xmm0, 48(%rsp, %r14, 4) -/* - * Get the (2^a / 2pi) mod 1 values from the table. - * Because doesn't have I-type gather, we need a trivial cast - */ - lea __svml_stan_reduction_data_internal(%rip), %r8 - movups %xmm13, 64(%rsp) + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx rbp r15 r12d r13d -/* - * Also get the significand as an integer - * NB: adding in the integer bit is wrong for denorms! - * To make this work for denorms we should do something slightly different - */ - movl $8388607, %r9d - movups %xmm12, 80(%rsp) - movl $8388608, %r10d - movups %xmm11, 96(%rsp) + /* Auxilary branch + * for out of main path inputs + */ -/* - * Break the P_xxx and m into 16-bit chunks ready for - * the long multiplication via 16x16->32 multiplications - */ - movl $65535, %r11d - movd %eax, %xmm3 - pshufd $0, %xmm3, %xmm2 - andps %xmm2, %xmm13 - cmpeqps %xmm2, %xmm13 - pand %xmm4, %xmm2 - psrld $23, %xmm2 - movdqa %xmm2, %xmm12 - pslld $1, %xmm12 - paddd %xmm2, %xmm12 - pslld $2, %xmm12 - pshufd $1, %xmm12, %xmm10 - pshufd $2, %xmm12, %xmm11 - pshufd $3, %xmm12, %xmm14 - movd %xmm12, %edx - movd %xmm10, %ecx - movd %xmm11, %esi - movd %r9d, %xmm11 - movd %xmm14, %edi - movd 4(%rdx,%r8), %xmm6 - movd 4(%rcx,%r8), %xmm7 - movd 4(%rsi,%r8), %xmm3 - movl $872415232, %r9d - movd 4(%rdi,%r8), %xmm5 - punpckldq %xmm7, %xmm6 - punpckldq %xmm5, %xmm3 - movd 8(%rdi,%r8), %xmm10 - movmskps %xmm13, %eax - punpcklqdq %xmm3, %xmm6 - movd 8(%rdx,%r8), %xmm3 - movd 8(%rcx,%r8), %xmm2 - movd 8(%rsi,%r8), %xmm13 - punpckldq %xmm2, %xmm3 - punpckldq %xmm10, %xmm13 - punpcklqdq %xmm13, %xmm3 - pshufd $0, %xmm11, %xmm13 - movdqa %xmm3, %xmm2 - movups %xmm4, 48(%rsp) - pand %xmm4, %xmm13 - movd %r10d, %xmm4 - psrld $16, %xmm2 - movd (%rdx,%r8), %xmm9 - -/* - * We want to incorporate the original sign now too. - * Do it here for convenience in getting the right N value, - * though we could wait right to the end if we were prepared - * to modify the sign of N later too. - * So get the appropriate sign mask now (or sooner). - */ - movl $-2147483648, %edx - movd (%rcx,%r8), %xmm8 - -/* - * Create floating-point high part, implicitly adding integer bit 1 - * Incorporate overall sign at this stage too. - */ - movl $1065353216, %ecx - movd (%rsi,%r8), %xmm15 - -/* - * Now round at the 2^-8 bit position for reduction mod pi/2^7 - * instead of the original 2pi (but still with the same 2pi scaling). - * Use a shifter of 2^15 + 2^14. - * The N we get is our final version; it has an offset of - * 2^8 because of the implicit integer bit, and anyway for negative - * starting value it's a 2s complement thing. But we need to mask - * off the exponent part anyway so it's fine. - */ - movl $1195376640, %esi - movd (%rdi,%r8), %xmm1 - movl $511, %r10d - movups %xmm0, 112(%rsp) - movd %r11d, %xmm0 - pshufd $0, %xmm4, %xmm12 - movdqa %xmm2, %xmm4 - punpckldq %xmm8, %xmm9 - paddd %xmm12, %xmm13 - punpckldq %xmm1, %xmm15 - movdqa %xmm13, %xmm12 - pshufd $0, %xmm0, %xmm8 - movdqa %xmm6, %xmm0 - punpcklqdq %xmm15, %xmm9 - pand %xmm8, %xmm13 - movdqa %xmm9, %xmm14 - pand %xmm8, %xmm9 - movdqa %xmm13, %xmm10 - psrld $16, %xmm14 - movdqu %xmm14, 128(%rsp) - -/* Now do the big multiplication and carry propagation */ - movdqa %xmm9, %xmm14 - psrlq $32, %xmm10 - psrlq $32, %xmm14 - movdqa %xmm13, %xmm15 - movdqa %xmm10, %xmm7 - pmuludq %xmm9, %xmm15 - psrld $16, %xmm0 - pmuludq %xmm14, %xmm7 - movdqu %xmm9, 144(%rsp) - psllq $32, %xmm7 - movdqu .FLT_16(%rip), %xmm9 - pand %xmm8, %xmm6 - pand %xmm9, %xmm15 - psrld $16, %xmm12 - movdqa %xmm0, %xmm1 - por %xmm7, %xmm15 - movdqa %xmm13, %xmm7 - pand %xmm8, %xmm3 - movdqu %xmm0, 160(%rsp) - movdqa %xmm12, %xmm11 - movdqu %xmm15, 208(%rsp) - psrlq $32, %xmm1 - pmuludq %xmm0, %xmm7 - movdqa %xmm6, %xmm5 - movdqa %xmm10, %xmm15 - movdqa %xmm12, %xmm0 - movdqu %xmm14, 176(%rsp) - psrlq $32, %xmm11 - movdqu %xmm1, 192(%rsp) - psrlq $32, %xmm5 - pmuludq %xmm1, %xmm15 - movdqa %xmm13, %xmm1 - pmuludq %xmm3, %xmm0 - pmuludq %xmm6, %xmm1 - pmuludq %xmm12, %xmm6 - movdqa %xmm10, %xmm14 - psrlq $32, %xmm3 - pmuludq %xmm5, %xmm14 - pand %xmm9, %xmm1 - pmuludq %xmm11, %xmm3 - pmuludq %xmm11, %xmm5 - psllq $32, %xmm14 - pand %xmm9, %xmm0 - psllq $32, %xmm3 - psrlq $32, %xmm4 - por %xmm14, %xmm1 - por %xmm3, %xmm0 - movdqa %xmm12, %xmm14 - movdqa %xmm11, %xmm3 - pmuludq %xmm2, %xmm14 - pand %xmm9, %xmm7 - pmuludq %xmm4, %xmm3 - pmuludq %xmm13, %xmm2 - pmuludq %xmm10, %xmm4 - pand %xmm9, %xmm2 - psllq $32, %xmm4 - psllq $32, %xmm15 - pand %xmm9, %xmm14 - psllq $32, %xmm3 - por %xmm4, %xmm2 - por %xmm15, %xmm7 - por %xmm3, %xmm14 - psrld $16, %xmm2 - pand %xmm9, %xmm6 - psllq $32, %xmm5 - movdqa %xmm1, %xmm15 - paddd %xmm2, %xmm14 - movdqa %xmm7, %xmm2 - por %xmm5, %xmm6 - psrld $16, %xmm1 - pand %xmm8, %xmm2 - paddd %xmm1, %xmm6 - movdqu 160(%rsp), %xmm1 - paddd %xmm6, %xmm2 - movdqu 192(%rsp), %xmm6 - psrld $16, %xmm7 - pmuludq %xmm12, %xmm1 - pand %xmm8, %xmm15 - pmuludq %xmm11, %xmm6 - pmuludq 144(%rsp), %xmm12 - pmuludq 176(%rsp), %xmm11 - pand %xmm9, %xmm1 - psllq $32, %xmm6 - por %xmm6, %xmm1 - psrld $16, %xmm0 - paddd %xmm7, %xmm1 - paddd %xmm14, %xmm15 - movdqu 128(%rsp), %xmm7 - paddd %xmm15, %xmm0 - pmuludq %xmm7, %xmm13 - psrlq $32, %xmm7 - pmuludq %xmm7, %xmm10 - movdqa %xmm0, %xmm14 - pand %xmm9, %xmm13 - movdqu 208(%rsp), %xmm5 - psrld $16, %xmm14 - paddd %xmm2, %xmm14 - movdqa %xmm5, %xmm15 - movdqa %xmm14, %xmm3 - pand %xmm8, %xmm15 - psrld $16, %xmm3 - paddd %xmm1, %xmm15 - psllq $32, %xmm10 - pand %xmm9, %xmm12 - psllq $32, %xmm11 - paddd %xmm15, %xmm3 - por %xmm10, %xmm13 - por %xmm11, %xmm12 - psrld $16, %xmm5 - movdqa %xmm3, %xmm4 - pand %xmm8, %xmm13 - paddd %xmm5, %xmm12 - psrld $16, %xmm4 - paddd %xmm12, %xmm13 - paddd %xmm13, %xmm4 - pand %xmm8, %xmm3 - pslld $16, %xmm4 - movd %edx, %xmm9 - movups 48(%rsp), %xmm15 - paddd %xmm3, %xmm4 - pshufd $0, %xmm9, %xmm7 - -/* Assemble reduced argument from the pieces */ - pand %xmm8, %xmm0 - movd %ecx, %xmm8 - pand %xmm15, %xmm7 - pshufd $0, %xmm8, %xmm1 - movdqa %xmm4, %xmm5 - psrld $9, %xmm5 - pxor %xmm7, %xmm1 - por %xmm1, %xmm5 - movd %esi, %xmm6 - pshufd $0, %xmm6, %xmm3 - movdqa %xmm5, %xmm6 - movl $262143, %r8d - -/* - * Create floating-point low and medium parts, respectively - * lo_17, ... lo_0, 0, ..., 0 - * hi_8, ... hi_0, lo_31, ..., lo_18 - * then subtract off the implicitly added integer bits, - * 2^-46 and 2^-23, respectively. - * Put the original sign into all of them at this stage. - */ - movl $679477248, %edi - movd %r10d, %xmm13 - pslld $16, %xmm14 - pshufd $0, %xmm13, %xmm1 - paddd %xmm0, %xmm14 - movd %r9d, %xmm11 - pand %xmm4, %xmm1 - movd %r8d, %xmm9 - movd %edi, %xmm10 - pshufd $0, %xmm9, %xmm8 - pslld $14, %xmm1 - pshufd $0, %xmm10, %xmm0 - pand %xmm14, %xmm8 - pshufd $0, %xmm11, %xmm12 - psrld $18, %xmm14 - pxor %xmm7, %xmm0 - pxor %xmm12, %xmm7 - por %xmm14, %xmm1 - pslld $5, %xmm8 - por %xmm7, %xmm1 - -/* - * Now multiply those numbers all by 2 pi, reasonably accurately. - * The top part uses 2pi = s2pi_lead + s2pi_trail, where - * s2pi_lead has 12 significant bits. - */ - movl $1086918619, %r11d - -/* Split RHi into 12-bit leading and trailing parts. */ - movl $-4096, %esi - por %xmm0, %xmm8 - movl $1086918656, %edx - movl $-1214941318, %ecx - -/* - * If the magnitude of the input is <= 2^-20, then - * just pass through the input, since no reduction will be needed and - * the main path will only work accurately if the reduced argument is - * about >= 2^-40 (which it is for all large pi multiples) - */ - movl $2147483647, %edi - addps %xmm3, %xmm6 - subps %xmm7, %xmm1 - subps %xmm0, %xmm8 - movaps %xmm6, %xmm2 - movd %r11d, %xmm14 - movd %esi, %xmm4 - movd %edx, %xmm7 - movl $897581056, %r8d - subps %xmm3, %xmm2 - -/* Grab our final N value as an integer, appropriately masked mod 2^8 */ - movl $255, %r9d - subps %xmm2, %xmm5 - -/* Now add them up into 2 reasonably aligned pieces */ - movaps %xmm5, %xmm3 - -/* - * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND - * Set sRp2 = _VRES_R^2 and then resume the original code. - * Argument reduction is now finished: x = n * pi/128 + r - * where n = iIndex and r = sR (high) + sE (low). - * But we have n modulo 256, needed for sin/cos with period 2pi - * but we want it modulo 128 since tan has period pi. - */ - movl $127, %r10d - pshufd $0, %xmm14, %xmm2 - addps %xmm1, %xmm3 - pshufd $0, %xmm4, %xmm14 - movd %r8d, %xmm4 - pshufd $0, %xmm4, %xmm9 - subps %xmm3, %xmm5 - movdqa %xmm9, %xmm11 - addps %xmm5, %xmm1 - movd %ecx, %xmm5 - addps %xmm1, %xmm8 - pshufd $0, %xmm7, %xmm1 - movdqa %xmm14, %xmm7 - andps %xmm3, %xmm7 - -/* - * Do the multiplication as exact top part and "naive" low part. - * This still maintains a similar level of offset and doesn't drop - * the accuracy much below what we already have. - */ - movdqa %xmm1, %xmm10 - pshufd $0, %xmm5, %xmm5 - subps %xmm7, %xmm3 - mulps %xmm7, %xmm10 - mulps %xmm5, %xmm7 - mulps %xmm3, %xmm1 - mulps %xmm8, %xmm2 - mulps %xmm3, %xmm5 - addps %xmm7, %xmm1 - addps %xmm5, %xmm2 - movd %edi, %xmm8 - addps %xmm2, %xmm1 - -/* - * Do another stage of compensated summation to get full offset - * between the pieces sRedHi + sRedLo. - * Depending on the later algorithm, we might avoid this stage. - */ - movaps %xmm1, %xmm0 - -/* Load constants (not all needed at once) */ - lea _sCoeffs+36+__svml_stan_data_internal(%rip), %rdi - pshufd $0, %xmm8, %xmm8 - addps %xmm10, %xmm0 - andps %xmm15, %xmm8 - subps %xmm0, %xmm10 - cmpltps %xmm8, %xmm11 - cmpleps %xmm9, %xmm8 - addps %xmm10, %xmm1 - andps %xmm15, %xmm8 - movd %r9d, %xmm15 - andps %xmm11, %xmm0 - andps %xmm1, %xmm11 - pshufd $0, %xmm15, %xmm1 - movd %r10d, %xmm15 - pshufd $0, %xmm15, %xmm7 - pand %xmm1, %xmm6 - pand %xmm7, %xmm6 - orps %xmm0, %xmm8 - movaps %xmm6, %xmm4 - -/* - * Simply combine the two parts of the reduced argument - * since we can afford a few ulps in this case. - */ - addps %xmm11, %xmm8 - pslld $2, %xmm4 - paddd %xmm6, %xmm4 - pslld $3, %xmm4 - pshufd $1, %xmm4, %xmm6 - pshufd $2, %xmm4, %xmm5 - pshufd $3, %xmm4, %xmm3 - movd %xmm4, %r11d - movd %xmm6, %edx - movd %xmm5, %ecx - movd %xmm3, %esi - movd -32(%r11,%rdi), %xmm15 - movd -32(%rdx,%rdi), %xmm12 - movd -32(%rcx,%rdi), %xmm7 - movd -32(%rsi,%rdi), %xmm13 - punpckldq %xmm12, %xmm15 - punpckldq %xmm13, %xmm7 - movd -28(%rsi,%rdi), %xmm5 - punpcklqdq %xmm7, %xmm15 - movd -28(%r11,%rdi), %xmm7 - movd -28(%rdx,%rdi), %xmm6 - movd -28(%rcx,%rdi), %xmm4 - movd -36(%rcx,%rdi), %xmm9 - movd -36(%r11,%rdi), %xmm1 - movd -36(%rdx,%rdi), %xmm2 - movd -24(%rdx,%rdi), %xmm3 - movd -36(%rsi,%rdi), %xmm10 - punpckldq %xmm6, %xmm7 - punpckldq %xmm5, %xmm4 - movd -24(%r11,%rdi), %xmm6 - punpckldq %xmm2, %xmm1 - punpckldq %xmm10, %xmm9 - punpcklqdq %xmm4, %xmm7 - movd -16(%r11,%rdi), %xmm4 - punpckldq %xmm3, %xmm6 - movd -24(%rcx,%rdi), %xmm10 - movd -16(%rcx,%rdi), %xmm3 - movd -24(%rsi,%rdi), %xmm2 - movd -16(%rsi,%rdi), %xmm13 - movd -16(%rdx,%rdi), %xmm12 - punpcklqdq %xmm9, %xmm1 - movd -20(%rdx,%rdi), %xmm9 - punpckldq %xmm2, %xmm10 - movd -20(%r11,%rdi), %xmm5 - movd -20(%rcx,%rdi), %xmm11 - movd -20(%rsi,%rdi), %xmm0 - punpckldq %xmm12, %xmm4 - punpckldq %xmm13, %xmm3 - punpcklqdq %xmm10, %xmm6 - movd -12(%rsi,%rdi), %xmm10 - punpckldq %xmm9, %xmm5 - punpckldq %xmm0, %xmm11 - punpcklqdq %xmm3, %xmm4 - movd -12(%r11,%rdi), %xmm3 - movd -12(%rdx,%rdi), %xmm2 - movd -12(%rcx,%rdi), %xmm9 - punpcklqdq %xmm11, %xmm5 - punpckldq %xmm2, %xmm3 - punpckldq %xmm10, %xmm9 - movd -8(%rcx,%rdi), %xmm10 - movd -8(%r11,%rdi), %xmm2 - movd -8(%rdx,%rdi), %xmm0 - movd -8(%rsi,%rdi), %xmm11 - punpckldq %xmm0, %xmm2 - punpckldq %xmm11, %xmm10 - movd -4(%rsi,%rdi), %xmm13 - punpcklqdq %xmm9, %xmm3 - punpcklqdq %xmm10, %xmm2 - movd -4(%r11,%rdi), %xmm10 - movd -4(%rdx,%rdi), %xmm12 - movd -4(%rcx,%rdi), %xmm9 - punpckldq %xmm12, %xmm10 - punpckldq %xmm13, %xmm9 - punpcklqdq %xmm9, %xmm10 - -/* - * Compute 2-part reciprocal component - * Construct a separate reduced argument modulo pi near pi/2 multiples. - * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument - * from an accurate B_hi + B_lo = (128 - n) pi/128. Force the upper part - * of this reduced argument to half-length to simplify accurate - * reciprocation later on. - */ - movdqa %xmm1, %xmm9 - movd (%r11,%rdi), %xmm13 - subps %xmm8, %xmm9 - movd (%rdx,%rdi), %xmm0 - subps %xmm9, %xmm1 - punpckldq %xmm0, %xmm13 - movdqa %xmm14, %xmm0 - andps %xmm9, %xmm0 - subps %xmm8, %xmm1 - subps %xmm0, %xmm9 - movd (%rcx,%rdi), %xmm12 - addps %xmm9, %xmm15 - -/* - * Now compute an approximate reciprocal to mix into the computation - * To avoid any danger of nonportability, force it to 12 bits, - * though I suspect it always is anyway on current platforms. - */ - rcpps %xmm0, %xmm9 - addps %xmm15, %xmm1 - andps %xmm14, %xmm9 - mulps %xmm9, %xmm0 - -/* - * Get a better approximation to 1/sR_hi (not far short of an ulp) - * using a third-order polynomial approximation - */ - movaps %xmm9, %xmm14 - movd (%rsi,%rdi), %xmm11 - -/* - * Now compute the error sEr where sRecip_hi = (1/R_hi) * (1 - sEr) - * so that we can compensate for it. - */ - movups _sOne+__svml_stan_data_internal(%rip), %xmm15 - punpckldq %xmm11, %xmm12 - movaps %xmm15, %xmm11 - punpcklqdq %xmm12, %xmm13 - subps %xmm0, %xmm11 - mulps %xmm11, %xmm14 - movups %xmm11, (%rsp) - addps %xmm9, %xmm14 - mulps %xmm11, %xmm11 - movups %xmm13, 32(%rsp) - movups %xmm11, 16(%rsp) - movups 112(%rsp), %xmm0 - movups 96(%rsp), %xmm11 - movups 80(%rsp), %xmm12 - movups 64(%rsp), %xmm13 - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 - -/* - * Compensated sum of dominant component(s) - * Compute C0_hi + C1_hi * Z + Recip_hi + Recip_lo = H4 (hi) + H9 (lo) - * H1 = C1_hi * Z (exact since C1_hi is 1 bit) - */ - mulps %xmm8, %xmm4 - addps 16(%rsp), %xmm15 - -/* Finally, multiplex both parts so they are only used in cotangent path */ - mulps %xmm7, %xmm9 - -/* - * Higher polynomial terms - * Stage 1 (with unlimited parallelism) - * P3 = C1_lo + C2 * Z - */ - mulps %xmm8, %xmm2 - mulps %xmm15, %xmm14 - addps %xmm2, %xmm3 - -/* - * Multiply by sRecip_ok to make sR_lo relative to sR_hi - * Since sR_lo is shifted off by about 12 bits, this is accurate enough. - */ - mulps %xmm14, %xmm1 - -/* - * Now create a low reciprocal using - * (Recip_hi + Er * Recip_ok) * (1 + sR_lo^2 - sR_lo) - * =~= Recip_hi + Recip_ok * (Er + sR_lo^2 - sR_lo) - */ - movaps %xmm1, %xmm15 - mulps %xmm1, %xmm1 - subps (%rsp), %xmm15 - -/* P4 = C3 + C4 * Z */ - movups 32(%rsp), %xmm2 - subps %xmm15, %xmm1 - mulps %xmm8, %xmm2 - mulps %xmm1, %xmm14 - addps %xmm2, %xmm10 - mulps %xmm14, %xmm7 - -/* H2 = high(C0_hi + C1_hi * Z) */ - movdqa %xmm6, %xmm14 - addps %xmm4, %xmm14 - -/* H4 = high(H2 + Recip_hi) */ - movaps %xmm14, %xmm1 - -/* intermediate in compensated sum */ - subps %xmm14, %xmm6 - addps %xmm9, %xmm1 - -/* H5 = low(C0_hi + C1_hi * Z) */ - addps %xmm6, %xmm4 - -/* intermediate in compensated sum */ - subps %xmm1, %xmm9 - -/* H7 = low(C0_hi + C1_hi * Z) + Recip_lo */ - addps %xmm4, %xmm7 - -/* H8 = low(H2 + Recip_hi) */ - addps %xmm9, %xmm14 - -/* Z2 = Z^2 */ - movaps %xmm8, %xmm4 - -/* Now H4 + H9 should be that part */ - addps %xmm14, %xmm7 - mulps %xmm8, %xmm4 - -/* P9 = trail(dominant part) + C0_lo */ - addps %xmm7, %xmm5 - -/* - * Stage 2 (with unlimited parallelism) - * P6 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 - */ - mulps %xmm4, %xmm10 - addps %xmm10, %xmm3 - -/* Final accumulation of low part */ - mulps %xmm3, %xmm8 - -/* Merge results from main and large paths: */ - movaps %xmm11, %xmm3 - andnps %xmm0, %xmm3 - addps %xmm8, %xmm5 - movaps %xmm3, %xmm0 - -/* And now the very final summation */ - addps %xmm5, %xmm1 - -/* - * The end of implementation (LA with huge args reduction) - * End of large arguments path (_HA_, _LA_ and _EP_) - */ - - pxor %xmm12, %xmm1 - andps %xmm11, %xmm1 - orps %xmm1, %xmm0 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm13 +L(AUX_BRANCH): + movl $2139095040, %eax + + /* + * Get the (2^a / 2pi) mod 1 values from the table. + * Because doesn't have I-type gather, we need a trivial cast + */ + lea __svml_stan_reduction_data_internal(%rip), %r8 + movups %xmm13, 64(%rsp) + + /* + * Also get the significand as an integer + * NB: adding in the integer bit is wrong for denorms! + * To make this work for denorms we should do something slightly different + */ + movl $8388607, %r9d + movups %xmm12, 80(%rsp) + movl $8388608, %r10d + movups %xmm11, 96(%rsp) + + /* + * Break the P_xxx and m into 16-bit chunks ready for + * the long multiplication via 16x16->32 multiplications + */ + movl $65535, %r11d + movd %eax, %xmm3 + pshufd $0, %xmm3, %xmm2 + andps %xmm2, %xmm13 + cmpeqps %xmm2, %xmm13 + pand %xmm4, %xmm2 + psrld $23, %xmm2 + movdqa %xmm2, %xmm12 + pslld $1, %xmm12 + paddd %xmm2, %xmm12 + pslld $2, %xmm12 + pshufd $1, %xmm12, %xmm10 + pshufd $2, %xmm12, %xmm11 + pshufd $3, %xmm12, %xmm14 + movd %xmm12, %edx + movd %xmm10, %ecx + movd %xmm11, %esi + movd %r9d, %xmm11 + movd %xmm14, %edi + movd 4(%rdx, %r8), %xmm6 + movd 4(%rcx, %r8), %xmm7 + movd 4(%rsi, %r8), %xmm3 + movl $872415232, %r9d + movd 4(%rdi, %r8), %xmm5 + punpckldq %xmm7, %xmm6 + punpckldq %xmm5, %xmm3 + movd 8(%rdi, %r8), %xmm10 + movmskps %xmm13, %eax + punpcklqdq %xmm3, %xmm6 + movd 8(%rdx, %r8), %xmm3 + movd 8(%rcx, %r8), %xmm2 + movd 8(%rsi, %r8), %xmm13 + punpckldq %xmm2, %xmm3 + punpckldq %xmm10, %xmm13 + punpcklqdq %xmm13, %xmm3 + pshufd $0, %xmm11, %xmm13 + movdqa %xmm3, %xmm2 + movups %xmm4, 48(%rsp) + pand %xmm4, %xmm13 + movd %r10d, %xmm4 + psrld $16, %xmm2 + movd (%rdx, %r8), %xmm9 + + /* + * We want to incorporate the original sign now too. + * Do it here for convenience in getting the right N value, + * though we could wait right to the end if we were prepared + * to modify the sign of N later too. + * So get the appropriate sign mask now (or sooner). + */ + movl $-2147483648, %edx + movd (%rcx, %r8), %xmm8 + + /* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + movl $1065353216, %ecx + movd (%rsi, %r8), %xmm15 + + /* + * Now round at the 2^-8 bit position for reduction mod pi/2^7 + * instead of the original 2pi (but still with the same 2pi scaling). + * Use a shifter of 2^15 + 2^14. + * The N we get is our final version; it has an offset of + * 2^8 because of the implicit integer bit, and anyway for negative + * starting value it's a 2s complement thing. But we need to mask + * off the exponent part anyway so it's fine. + */ + movl $1195376640, %esi + movd (%rdi, %r8), %xmm1 + movl $511, %r10d + movups %xmm0, 112(%rsp) + movd %r11d, %xmm0 + pshufd $0, %xmm4, %xmm12 + movdqa %xmm2, %xmm4 + punpckldq %xmm8, %xmm9 + paddd %xmm12, %xmm13 + punpckldq %xmm1, %xmm15 + movdqa %xmm13, %xmm12 + pshufd $0, %xmm0, %xmm8 + movdqa %xmm6, %xmm0 + punpcklqdq %xmm15, %xmm9 + pand %xmm8, %xmm13 + movdqa %xmm9, %xmm14 + pand %xmm8, %xmm9 + movdqa %xmm13, %xmm10 + psrld $16, %xmm14 + movdqu %xmm14, 128(%rsp) + + /* Now do the big multiplication and carry propagation */ + movdqa %xmm9, %xmm14 + psrlq $32, %xmm10 + psrlq $32, %xmm14 + movdqa %xmm13, %xmm15 + movdqa %xmm10, %xmm7 + pmuludq %xmm9, %xmm15 + psrld $16, %xmm0 + pmuludq %xmm14, %xmm7 + movdqu %xmm9, 144(%rsp) + psllq $32, %xmm7 + movdqu .FLT_16(%rip), %xmm9 + pand %xmm8, %xmm6 + pand %xmm9, %xmm15 + psrld $16, %xmm12 + movdqa %xmm0, %xmm1 + por %xmm7, %xmm15 + movdqa %xmm13, %xmm7 + pand %xmm8, %xmm3 + movdqu %xmm0, 160(%rsp) + movdqa %xmm12, %xmm11 + movdqu %xmm15, 208(%rsp) + psrlq $32, %xmm1 + pmuludq %xmm0, %xmm7 + movdqa %xmm6, %xmm5 + movdqa %xmm10, %xmm15 + movdqa %xmm12, %xmm0 + movdqu %xmm14, 176(%rsp) + psrlq $32, %xmm11 + movdqu %xmm1, 192(%rsp) + psrlq $32, %xmm5 + pmuludq %xmm1, %xmm15 + movdqa %xmm13, %xmm1 + pmuludq %xmm3, %xmm0 + pmuludq %xmm6, %xmm1 + pmuludq %xmm12, %xmm6 + movdqa %xmm10, %xmm14 + psrlq $32, %xmm3 + pmuludq %xmm5, %xmm14 + pand %xmm9, %xmm1 + pmuludq %xmm11, %xmm3 + pmuludq %xmm11, %xmm5 + psllq $32, %xmm14 + pand %xmm9, %xmm0 + psllq $32, %xmm3 + psrlq $32, %xmm4 + por %xmm14, %xmm1 + por %xmm3, %xmm0 + movdqa %xmm12, %xmm14 + movdqa %xmm11, %xmm3 + pmuludq %xmm2, %xmm14 + pand %xmm9, %xmm7 + pmuludq %xmm4, %xmm3 + pmuludq %xmm13, %xmm2 + pmuludq %xmm10, %xmm4 + pand %xmm9, %xmm2 + psllq $32, %xmm4 + psllq $32, %xmm15 + pand %xmm9, %xmm14 + psllq $32, %xmm3 + por %xmm4, %xmm2 + por %xmm15, %xmm7 + por %xmm3, %xmm14 + psrld $16, %xmm2 + pand %xmm9, %xmm6 + psllq $32, %xmm5 + movdqa %xmm1, %xmm15 + paddd %xmm2, %xmm14 + movdqa %xmm7, %xmm2 + por %xmm5, %xmm6 + psrld $16, %xmm1 + pand %xmm8, %xmm2 + paddd %xmm1, %xmm6 + movdqu 160(%rsp), %xmm1 + paddd %xmm6, %xmm2 + movdqu 192(%rsp), %xmm6 + psrld $16, %xmm7 + pmuludq %xmm12, %xmm1 + pand %xmm8, %xmm15 + pmuludq %xmm11, %xmm6 + pmuludq 144(%rsp), %xmm12 + pmuludq 176(%rsp), %xmm11 + pand %xmm9, %xmm1 + psllq $32, %xmm6 + por %xmm6, %xmm1 + psrld $16, %xmm0 + paddd %xmm7, %xmm1 + paddd %xmm14, %xmm15 + movdqu 128(%rsp), %xmm7 + paddd %xmm15, %xmm0 + pmuludq %xmm7, %xmm13 + psrlq $32, %xmm7 + pmuludq %xmm7, %xmm10 + movdqa %xmm0, %xmm14 + pand %xmm9, %xmm13 + movdqu 208(%rsp), %xmm5 + psrld $16, %xmm14 + paddd %xmm2, %xmm14 + movdqa %xmm5, %xmm15 + movdqa %xmm14, %xmm3 + pand %xmm8, %xmm15 + psrld $16, %xmm3 + paddd %xmm1, %xmm15 + psllq $32, %xmm10 + pand %xmm9, %xmm12 + psllq $32, %xmm11 + paddd %xmm15, %xmm3 + por %xmm10, %xmm13 + por %xmm11, %xmm12 + psrld $16, %xmm5 + movdqa %xmm3, %xmm4 + pand %xmm8, %xmm13 + paddd %xmm5, %xmm12 + psrld $16, %xmm4 + paddd %xmm12, %xmm13 + paddd %xmm13, %xmm4 + pand %xmm8, %xmm3 + pslld $16, %xmm4 + movd %edx, %xmm9 + movups 48(%rsp), %xmm15 + paddd %xmm3, %xmm4 + pshufd $0, %xmm9, %xmm7 + + /* Assemble reduced argument from the pieces */ + pand %xmm8, %xmm0 + movd %ecx, %xmm8 + pand %xmm15, %xmm7 + pshufd $0, %xmm8, %xmm1 + movdqa %xmm4, %xmm5 + psrld $9, %xmm5 + pxor %xmm7, %xmm1 + por %xmm1, %xmm5 + movd %esi, %xmm6 + pshufd $0, %xmm6, %xmm3 + movdqa %xmm5, %xmm6 + movl $262143, %r8d + + /* + * Create floating-point low and medium parts, respectively + * lo_17, ... lo_0, 0, ..., 0 + * hi_8, ... hi_0, lo_31, ..., lo_18 + * then subtract off the implicitly added integer bits, + * 2^-46 and 2^-23, respectively. + * Put the original sign into all of them at this stage. + */ + movl $679477248, %edi + movd %r10d, %xmm13 + pslld $16, %xmm14 + pshufd $0, %xmm13, %xmm1 + paddd %xmm0, %xmm14 + movd %r9d, %xmm11 + pand %xmm4, %xmm1 + movd %r8d, %xmm9 + movd %edi, %xmm10 + pshufd $0, %xmm9, %xmm8 + pslld $14, %xmm1 + pshufd $0, %xmm10, %xmm0 + pand %xmm14, %xmm8 + pshufd $0, %xmm11, %xmm12 + psrld $18, %xmm14 + pxor %xmm7, %xmm0 + pxor %xmm12, %xmm7 + por %xmm14, %xmm1 + pslld $5, %xmm8 + por %xmm7, %xmm1 + + /* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * The top part uses 2pi = s2pi_lead + s2pi_trail, where + * s2pi_lead has 12 significant bits. + */ + movl $1086918619, %r11d + + /* Split RHi into 12-bit leading and trailing parts. */ + movl $-4096, %esi + por %xmm0, %xmm8 + movl $1086918656, %edx + movl $-1214941318, %ecx + + /* + * If the magnitude of the input is <= 2^-20, then + * just pass through the input, since no reduction will be needed and + * the main path will only work accurately if the reduced argument is + * about >= 2^-40 (which it is for all large pi multiples) + */ + movl $2147483647, %edi + addps %xmm3, %xmm6 + subps %xmm7, %xmm1 + subps %xmm0, %xmm8 + movaps %xmm6, %xmm2 + movd %r11d, %xmm14 + movd %esi, %xmm4 + movd %edx, %xmm7 + movl $897581056, %r8d + subps %xmm3, %xmm2 + + /* Grab our final N value as an integer, appropriately masked mod 2^8 */ + movl $255, %r9d + subps %xmm2, %xmm5 + + /* Now add them up into 2 reasonably aligned pieces */ + movaps %xmm5, %xmm3 + + /* + * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND + * Set sRp2 = _VRES_R^2 and then resume the original code. + * Argument reduction is now finished: x = n * pi/128 + r + * where n = iIndex and r = sR (high) + sE (low). + * But we have n modulo 256, needed for sin/cos with period 2pi + * but we want it modulo 128 since tan has period pi. + */ + movl $127, %r10d + pshufd $0, %xmm14, %xmm2 + addps %xmm1, %xmm3 + pshufd $0, %xmm4, %xmm14 + movd %r8d, %xmm4 + pshufd $0, %xmm4, %xmm9 + subps %xmm3, %xmm5 + movdqa %xmm9, %xmm11 + addps %xmm5, %xmm1 + movd %ecx, %xmm5 + addps %xmm1, %xmm8 + pshufd $0, %xmm7, %xmm1 + movdqa %xmm14, %xmm7 + andps %xmm3, %xmm7 + + /* + * Do the multiplication as exact top part and "naive" low part. + * This still maintains a similar level of offset and doesn't drop + * the accuracy much below what we already have. + */ + movdqa %xmm1, %xmm10 + pshufd $0, %xmm5, %xmm5 + subps %xmm7, %xmm3 + mulps %xmm7, %xmm10 + mulps %xmm5, %xmm7 + mulps %xmm3, %xmm1 + mulps %xmm8, %xmm2 + mulps %xmm3, %xmm5 + addps %xmm7, %xmm1 + addps %xmm5, %xmm2 + movd %edi, %xmm8 + addps %xmm2, %xmm1 + + /* + * Do another stage of compensated summation to get full offset + * between the pieces sRedHi + sRedLo. + * Depending on the later algorithm, we might avoid this stage. + */ + movaps %xmm1, %xmm0 + + /* Load constants (not all needed at once) */ + lea _sCoeffs+36+__svml_stan_data_internal(%rip), %rdi + pshufd $0, %xmm8, %xmm8 + addps %xmm10, %xmm0 + andps %xmm15, %xmm8 + subps %xmm0, %xmm10 + cmpltps %xmm8, %xmm11 + cmpleps %xmm9, %xmm8 + addps %xmm10, %xmm1 + andps %xmm15, %xmm8 + movd %r9d, %xmm15 + andps %xmm11, %xmm0 + andps %xmm1, %xmm11 + pshufd $0, %xmm15, %xmm1 + movd %r10d, %xmm15 + pshufd $0, %xmm15, %xmm7 + pand %xmm1, %xmm6 + pand %xmm7, %xmm6 + orps %xmm0, %xmm8 + movaps %xmm6, %xmm4 + + /* + * Simply combine the two parts of the reduced argument + * since we can afford a few ulps in this case. + */ + addps %xmm11, %xmm8 + pslld $2, %xmm4 + paddd %xmm6, %xmm4 + pslld $3, %xmm4 + pshufd $1, %xmm4, %xmm6 + pshufd $2, %xmm4, %xmm5 + pshufd $3, %xmm4, %xmm3 + movd %xmm4, %r11d + movd %xmm6, %edx + movd %xmm5, %ecx + movd %xmm3, %esi + movd -32(%r11, %rdi), %xmm15 + movd -32(%rdx, %rdi), %xmm12 + movd -32(%rcx, %rdi), %xmm7 + movd -32(%rsi, %rdi), %xmm13 + punpckldq %xmm12, %xmm15 + punpckldq %xmm13, %xmm7 + movd -28(%rsi, %rdi), %xmm5 + punpcklqdq %xmm7, %xmm15 + movd -28(%r11, %rdi), %xmm7 + movd -28(%rdx, %rdi), %xmm6 + movd -28(%rcx, %rdi), %xmm4 + movd -36(%rcx, %rdi), %xmm9 + movd -36(%r11, %rdi), %xmm1 + movd -36(%rdx, %rdi), %xmm2 + movd -24(%rdx, %rdi), %xmm3 + movd -36(%rsi, %rdi), %xmm10 + punpckldq %xmm6, %xmm7 + punpckldq %xmm5, %xmm4 + movd -24(%r11, %rdi), %xmm6 + punpckldq %xmm2, %xmm1 + punpckldq %xmm10, %xmm9 + punpcklqdq %xmm4, %xmm7 + movd -16(%r11, %rdi), %xmm4 + punpckldq %xmm3, %xmm6 + movd -24(%rcx, %rdi), %xmm10 + movd -16(%rcx, %rdi), %xmm3 + movd -24(%rsi, %rdi), %xmm2 + movd -16(%rsi, %rdi), %xmm13 + movd -16(%rdx, %rdi), %xmm12 + punpcklqdq %xmm9, %xmm1 + movd -20(%rdx, %rdi), %xmm9 + punpckldq %xmm2, %xmm10 + movd -20(%r11, %rdi), %xmm5 + movd -20(%rcx, %rdi), %xmm11 + movd -20(%rsi, %rdi), %xmm0 + punpckldq %xmm12, %xmm4 + punpckldq %xmm13, %xmm3 + punpcklqdq %xmm10, %xmm6 + movd -12(%rsi, %rdi), %xmm10 + punpckldq %xmm9, %xmm5 + punpckldq %xmm0, %xmm11 + punpcklqdq %xmm3, %xmm4 + movd -12(%r11, %rdi), %xmm3 + movd -12(%rdx, %rdi), %xmm2 + movd -12(%rcx, %rdi), %xmm9 + punpcklqdq %xmm11, %xmm5 + punpckldq %xmm2, %xmm3 + punpckldq %xmm10, %xmm9 + movd -8(%rcx, %rdi), %xmm10 + movd -8(%r11, %rdi), %xmm2 + movd -8(%rdx, %rdi), %xmm0 + movd -8(%rsi, %rdi), %xmm11 + punpckldq %xmm0, %xmm2 + punpckldq %xmm11, %xmm10 + movd -4(%rsi, %rdi), %xmm13 + punpcklqdq %xmm9, %xmm3 + punpcklqdq %xmm10, %xmm2 + movd -4(%r11, %rdi), %xmm10 + movd -4(%rdx, %rdi), %xmm12 + movd -4(%rcx, %rdi), %xmm9 + punpckldq %xmm12, %xmm10 + punpckldq %xmm13, %xmm9 + punpcklqdq %xmm9, %xmm10 + + /* + * Compute 2-part reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi + B_lo = (128 - n) pi/128. Force the upper part + * of this reduced argument to half-length to simplify accurate + * reciprocation later on. + */ + movdqa %xmm1, %xmm9 + movd (%r11, %rdi), %xmm13 + subps %xmm8, %xmm9 + movd (%rdx, %rdi), %xmm0 + subps %xmm9, %xmm1 + punpckldq %xmm0, %xmm13 + movdqa %xmm14, %xmm0 + andps %xmm9, %xmm0 + subps %xmm8, %xmm1 + subps %xmm0, %xmm9 + movd (%rcx, %rdi), %xmm12 + addps %xmm9, %xmm15 + + /* + * Now compute an approximate reciprocal to mix into the computation + * To avoid any danger of nonportability, force it to 12 bits, + * though I suspect it always is anyway on current platforms. + */ + rcpps %xmm0, %xmm9 + addps %xmm15, %xmm1 + andps %xmm14, %xmm9 + mulps %xmm9, %xmm0 + + /* + * Get a better approximation to 1/sR_hi (not far short of an ulp) + * using a third-order polynomial approximation + */ + movaps %xmm9, %xmm14 + movd (%rsi, %rdi), %xmm11 + + /* + * Now compute the error sEr where sRecip_hi = (1/R_hi) * (1 - sEr) + * so that we can compensate for it. + */ + movups _sOne+__svml_stan_data_internal(%rip), %xmm15 + punpckldq %xmm11, %xmm12 + movaps %xmm15, %xmm11 + punpcklqdq %xmm12, %xmm13 + subps %xmm0, %xmm11 + mulps %xmm11, %xmm14 + movups %xmm11, (%rsp) + addps %xmm9, %xmm14 + mulps %xmm11, %xmm11 + movups %xmm13, 32(%rsp) + movups %xmm11, 16(%rsp) + movups 112(%rsp), %xmm0 + movups 96(%rsp), %xmm11 + movups 80(%rsp), %xmm12 + movups 64(%rsp), %xmm13 + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 + + /* + * Compensated sum of dominant component(s) + * Compute C0_hi + C1_hi * Z + Recip_hi + Recip_lo = H4 (hi) + H9 (lo) + * H1 = C1_hi * Z (exact since C1_hi is 1 bit) + */ + mulps %xmm8, %xmm4 + addps 16(%rsp), %xmm15 + + /* Finally, multiplex both parts so they are only used in cotangent path */ + mulps %xmm7, %xmm9 + + /* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * P3 = C1_lo + C2 * Z + */ + mulps %xmm8, %xmm2 + mulps %xmm15, %xmm14 + addps %xmm2, %xmm3 + + /* + * Multiply by sRecip_ok to make sR_lo relative to sR_hi + * Since sR_lo is shifted off by about 12 bits, this is accurate enough. + */ + mulps %xmm14, %xmm1 + + /* + * Now create a low reciprocal using + * (Recip_hi + Er * Recip_ok) * (1 + sR_lo^2 - sR_lo) + * =~= Recip_hi + Recip_ok * (Er + sR_lo^2 - sR_lo) + */ + movaps %xmm1, %xmm15 + mulps %xmm1, %xmm1 + subps (%rsp), %xmm15 + + /* P4 = C3 + C4 * Z */ + movups 32(%rsp), %xmm2 + subps %xmm15, %xmm1 + mulps %xmm8, %xmm2 + mulps %xmm1, %xmm14 + addps %xmm2, %xmm10 + mulps %xmm14, %xmm7 + + /* H2 = high(C0_hi + C1_hi * Z) */ + movdqa %xmm6, %xmm14 + addps %xmm4, %xmm14 + + /* H4 = high(H2 + Recip_hi) */ + movaps %xmm14, %xmm1 + + /* intermediate in compensated sum */ + subps %xmm14, %xmm6 + addps %xmm9, %xmm1 + + /* H5 = low(C0_hi + C1_hi * Z) */ + addps %xmm6, %xmm4 + + /* intermediate in compensated sum */ + subps %xmm1, %xmm9 + + /* H7 = low(C0_hi + C1_hi * Z) + Recip_lo */ + addps %xmm4, %xmm7 + + /* H8 = low(H2 + Recip_hi) */ + addps %xmm9, %xmm14 + + /* Z2 = Z^2 */ + movaps %xmm8, %xmm4 + + /* Now H4 + H9 should be that part */ + addps %xmm14, %xmm7 + mulps %xmm8, %xmm4 + + /* P9 = trail(dominant part) + C0_lo */ + addps %xmm7, %xmm5 + + /* + * Stage 2 (with unlimited parallelism) + * P6 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 + */ + mulps %xmm4, %xmm10 + addps %xmm10, %xmm3 + + /* Final accumulation of low part */ + mulps %xmm3, %xmm8 + + /* Merge results from main and large paths: */ + movaps %xmm11, %xmm3 + andnps %xmm0, %xmm3 + addps %xmm8, %xmm5 + movaps %xmm3, %xmm0 + + /* And now the very final summation */ + addps %xmm5, %xmm1 + + /* + * The end of implementation (LA with huge args reduction) + * End of large arguments path (_HA_, _LA_ and _EP_) + */ + + pxor %xmm12, %xmm1 + andps %xmm11, %xmm1 + orps %xmm1, %xmm0 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm13 END(_ZGVbN4v_tanf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_stan_data_internal_typedef typedef unsigned int VUINT32; - typedef struct - { - __declspec(align(16)) VUINT32 _sInvPI_uisa[4][1]; - __declspec(align(16)) VUINT32 _sPI1_uisa[4][1]; - __declspec(align(16)) VUINT32 _sPI2_uisa[4][1]; - __declspec(align(16)) VUINT32 _sPI3_uisa[4][1]; - __declspec(align(16)) VUINT32 _sPI2_ha_uisa[4][1]; - __declspec(align(16)) VUINT32 _sPI3_ha_uisa[4][1]; - __declspec(align(16)) VUINT32 Th_tbl_uisa[32][1]; - __declspec(align(16)) VUINT32 Tl_tbl_uisa[32][1]; - __declspec(align(16)) VUINT32 _sPC3_uisa[4][1]; - __declspec(align(16)) VUINT32 _sPC5_uisa[4][1]; - __declspec(align(16)) VUINT32 _sRangeReductionVal_uisa[4][1]; - __declspec(align(16)) VUINT32 _sInvPi[4][1]; - __declspec(align(16)) VUINT32 _sSignMask[4][1]; - __declspec(align(16)) VUINT32 _sAbsMask[4][1]; - __declspec(align(16)) VUINT32 _sRangeVal[4][1]; - __declspec(align(16)) VUINT32 _sRShifter[4][1]; - __declspec(align(16)) VUINT32 _sOne[4][1]; - __declspec(align(16)) VUINT32 _sRangeReductionVal[4][1]; - __declspec(align(16)) VUINT32 _sPI1[4][1]; - __declspec(align(16)) VUINT32 _sPI2[4][1]; - __declspec(align(16)) VUINT32 _sPI3[4][1]; - __declspec(align(16)) VUINT32 _sPI4[4][1]; - __declspec(align(16)) VUINT32 _sPI1_FMA[4][1]; - __declspec(align(16)) VUINT32 _sPI2_FMA[4][1]; - __declspec(align(16)) VUINT32 _sPI3_FMA[4][1]; - __declspec(align(16)) VUINT32 _sP0[4][1]; - __declspec(align(16)) VUINT32 _sP1[4][1]; - __declspec(align(16)) VUINT32 _sQ0[4][1]; - __declspec(align(16)) VUINT32 _sQ1[4][1]; - __declspec(align(16)) VUINT32 _sQ2[4][1]; - __declspec(align(16)) VUINT32 _sTwo[4][1]; - __declspec(align(16)) VUINT32 _sCoeffs[128][10][1]; - } __svml_stan_data_internal; +typedef struct { + __declspec(align(16)) VUINT32 _sInvPI_uisa[4][1]; + __declspec(align(16)) VUINT32 _sPI1_uisa[4][1]; + __declspec(align(16)) VUINT32 _sPI2_uisa[4][1]; + __declspec(align(16)) VUINT32 _sPI3_uisa[4][1]; + __declspec(align(16)) VUINT32 _sPI2_ha_uisa[4][1]; + __declspec(align(16)) VUINT32 _sPI3_ha_uisa[4][1]; + __declspec(align(16)) VUINT32 Th_tbl_uisa[32][1]; + __declspec(align(16)) VUINT32 Tl_tbl_uisa[32][1]; + __declspec(align(16)) VUINT32 _sPC3_uisa[4][1]; + __declspec(align(16)) VUINT32 _sPC5_uisa[4][1]; + __declspec(align(16)) VUINT32 _sRangeReductionVal_uisa[4][1]; + __declspec(align(16)) VUINT32 _sInvPi[4][1]; + __declspec(align(16)) VUINT32 _sSignMask[4][1]; + __declspec(align(16)) VUINT32 _sAbsMask[4][1]; + __declspec(align(16)) VUINT32 _sRangeVal[4][1]; + __declspec(align(16)) VUINT32 _sRShifter[4][1]; + __declspec(align(16)) VUINT32 _sOne[4][1]; + __declspec(align(16)) VUINT32 _sRangeReductionVal[4][1]; + __declspec(align(16)) VUINT32 _sPI1[4][1]; + __declspec(align(16)) VUINT32 _sPI2[4][1]; + __declspec(align(16)) VUINT32 _sPI3[4][1]; + __declspec(align(16)) VUINT32 _sPI4[4][1]; + __declspec(align(16)) VUINT32 _sPI1_FMA[4][1]; + __declspec(align(16)) VUINT32 _sPI2_FMA[4][1]; + __declspec(align(16)) VUINT32 _sPI3_FMA[4][1]; + __declspec(align(16)) VUINT32 _sP0[4][1]; + __declspec(align(16)) VUINT32 _sP1[4][1]; + __declspec(align(16)) VUINT32 _sQ0[4][1]; + __declspec(align(16)) VUINT32 _sQ1[4][1]; + __declspec(align(16)) VUINT32 _sQ2[4][1]; + __declspec(align(16)) VUINT32 _sTwo[4][1]; + __declspec(align(16)) VUINT32 _sCoeffs[128][10][1]; +} __svml_stan_data_internal; #endif __svml_stan_data_internal: - /* UISA */ - .long 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983 /* _sInvPI_uisa */ - .align 16 - .long 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda /* _sPI1_uisa */ - .align 16 - .long 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168 /* _sPI2_uisa */ - .align 16 - .long 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5 /* _sPI3_uisa */ - .align 16 - .long 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000 /* _sPI2_ha_uisa */ - .align 16 - .long 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a /* _sPI3_ha_uisa */ - /* Th_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)); */ - .align 16 - .long 0x80000000, 0x3dc9b5dc, 0x3e4bafaf, 0x3e9b5042 - .long 0x3ed413cd, 0x3f08d5b9, 0x3f2b0dc1, 0x3f521801 - .long 0x3f800000, 0x3f9bf7ec, 0x3fbf90c7, 0x3fef789e - .long 0x401a827a, 0x4052facf, 0x40a0dff7, 0x41227363 - .long 0xff7fffff, 0xc1227363, 0xc0a0dff7, 0xc052facf - .long 0xc01a827a, 0xbfef789e, 0xbfbf90c7, 0xbf9bf7ec - .long 0xbf800000, 0xbf521801, 0xbf2b0dc1, 0xbf08d5b9 - .long 0xbed413cd, 0xbe9b5042, 0xbe4bafaf, 0xbdc9b5dc - /* Tl_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)-round(tan(i*Pi/32),SG,RN)); */ - .align 16 - .long 0x80000000, 0x3145b2da, 0x2f2a62b0, 0xb22a39c2 - .long 0xb1c0621a, 0xb25ef963, 0x32ab7f99, 0x32ae4285 - .long 0x00000000, 0x33587608, 0x32169d18, 0xb30c3ec0 - .long 0xb3cc0622, 0x3390600e, 0x331091dc, 0xb454a046 - .long 0xf3800000, 0x3454a046, 0xb31091dc, 0xb390600e - .long 0x33cc0622, 0x330c3ec0, 0xb2169d18, 0xb3587608 - .long 0x00000000, 0xb2ae4285, 0xb2ab7f99, 0x325ef963 - .long 0x31c0621a, 0x322a39c2, 0xaf2a62b0, 0xb145b2da - .align 16 - .long 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6 /* _sPC3_uisa */ - .align 16 - .long 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888 /* _sPC5_uisa */ - .align 16 - .long 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeReductionVal_uisa */ - .align 16 - .long 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983 /* _sInvPi */ - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ - .align 16 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _sAbsMask */ - .align 16 - .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _sRangeVal */ - .align 16 - .long 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000 /* _sRShifter */ - .align 16 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _sOne */ - .align 16 - .long 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeVal */ - .align 16 - .long 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000 /* _sPI1 */ - .align 16 - .long 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000 /* _sPI2 */ - .align 16 - .long 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000 /* _sPI3 */ - .align 16 - .long 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A /* _sPI4 */ - // PI1, PI2, and PI3 when FMA is available - .align 16 - .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB /* _sPI1_FMA */ - .align 16 - .long 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E /* _sPI2_FMA */ - .align 16 - .long 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED /* _sPI3_FMA */ - .align 16 - .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sP0 */ - .align 16 - .long 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4 /* _sP1 */ - .align 16 - .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sQ0 */ - .align 16 - .long 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB /* _sQ1 */ - .align 16 - .long 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B /* _sQ2 */ - .align 16 - .long 0x40000000, 0x40000000, 0x40000000, 0x40000000 /* _sTwo */ - // _sCoeffs Breakpoint B = 0 * pi/128, function tan(B + x) - .align 16 - .long 0x3FC90FDB // B' = pi/2 - B (high single) - .long 0xB33BBD2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x00000000 // c0 (high single) - .long 0x00000000 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x00000000 // c1 (low single) - .long 0x00000000 // c2 - .long 0x3EAAACDD // c3 - .long 0x00000000 // c4 - .long 0x3FC5EB9B // B' = pi/2 - B (high single) - .long 0x32DE638C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3CC91A31 // c0 (high single) - .long 0x2F8E8D1A // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3A1DFA00 // c1 (low single) - .long 0x3CC9392D // c2 - .long 0x3EAB1889 // c3 - .long 0x3C885D3B // c4 - .long 0x3FC2C75C // B' = pi/2 - B (high single) - .long 0xB2CBBE8A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3D49393C // c0 (high single) - .long 0x30A39F5B // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3B1E2B00 // c1 (low single) - .long 0x3D49B5D4 // c2 - .long 0x3EAC4F10 // c3 - .long 0x3CFD9425 // c4 - .long 0x3FBFA31C // B' = pi/2 - B (high single) - .long 0x33450FB0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3D9711CE // c0 (high single) - .long 0x314FEB28 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3BB24C00 // c1 (low single) - .long 0x3D97E43A // c2 - .long 0x3EAE6A89 // c3 - .long 0x3D4D07E0 // c4 - .long 0x3FBC7EDD // B' = pi/2 - B (high single) - .long 0xB1800ADD // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3DC9B5DC // c0 (high single) - .long 0x3145AD86 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C1EEF20 // c1 (low single) - .long 0x3DCBAAEA // c2 - .long 0x3EB14E5E // c3 - .long 0x3D858BB2 // c4 - .long 0x3FB95A9E // B' = pi/2 - B (high single) - .long 0xB3651267 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3DFC98C2 // c0 (high single) - .long 0xB0AE525C // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C793D20 // c1 (low single) - .long 0x3E003845 // c2 - .long 0x3EB5271F // c3 - .long 0x3DAC669E // c4 - .long 0x3FB6365E // B' = pi/2 - B (high single) - .long 0x328BB91C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E17E564 // c0 (high single) - .long 0xB1C5A2E4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CB440D0 // c1 (low single) - .long 0x3E1B3D00 // c2 - .long 0x3EB9F664 // c3 - .long 0x3DD647C0 // c4 - .long 0x3FB3121F // B' = pi/2 - B (high single) - .long 0xB30F347D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E31AE4D // c0 (high single) - .long 0xB1F32251 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CF6A500 // c1 (low single) - .long 0x3E3707DA // c2 - .long 0x3EBFA489 // c3 - .long 0x3DFBD9C7 // c4 - .long 0x3FAFEDDF // B' = pi/2 - B (high single) - .long 0x331BBA77 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E4BAFAF // c0 (high single) - .long 0x2F2A29E0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D221018 // c1 (low single) - .long 0x3E53BED0 // c2 - .long 0x3EC67E26 // c3 - .long 0x3E1568E2 // c4 - .long 0x3FACC9A0 // B' = pi/2 - B (high single) - .long 0xB2655A50 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E65F267 // c0 (high single) - .long 0x31B4B1DF // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D4E8B90 // c1 (low single) - .long 0x3E718ACA // c2 - .long 0x3ECE7164 // c3 - .long 0x3E2DC161 // c4 - .long 0x3FA9A560 // B' = pi/2 - B (high single) - .long 0x33719861 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E803FD4 // c0 (high single) - .long 0xB2279E66 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D807FC8 // c1 (low single) - .long 0x3E884BD4 // c2 - .long 0x3ED7812D // c3 - .long 0x3E4636EB // c4 - .long 0x3FA68121 // B' = pi/2 - B (high single) - .long 0x31E43AAC // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E8DB082 // c0 (high single) - .long 0xB132A234 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D9CD7D0 // c1 (low single) - .long 0x3E988A60 // c2 - .long 0x3EE203E3 // c3 - .long 0x3E63582C // c4 - .long 0x3FA35CE2 // B' = pi/2 - B (high single) - .long 0xB33889B6 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E9B5042 // c0 (high single) - .long 0xB22A3AEE // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DBC7490 // c1 (low single) - .long 0x3EA99AF5 // c2 - .long 0x3EEDE107 // c3 - .long 0x3E80E9AA // c4 - .long 0x3FA038A2 // B' = pi/2 - B (high single) - .long 0x32E4CA7E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EA92457 // c0 (high single) - .long 0x30B80830 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DDF8200 // c1 (low single) - .long 0x3EBB99E9 // c2 - .long 0x3EFB4AA8 // c3 - .long 0x3E9182BE // c4 - .long 0x3F9D1463 // B' = pi/2 - B (high single) - .long 0xB2C55799 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EB73250 // c0 (high single) - .long 0xB2028823 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E0318F8 // c1 (low single) - .long 0x3ECEA678 // c2 - .long 0x3F053C67 // c3 - .long 0x3EA41E53 // c4 - .long 0x3F99F023 // B' = pi/2 - B (high single) - .long 0x33484328 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EC5800D // c0 (high single) - .long 0xB214C3C1 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E185E54 // c1 (low single) - .long 0x3EE2E342 // c2 - .long 0x3F0DCA73 // c3 - .long 0x3EB8CC21 // c4 - .long 0x3F96CBE4 // B' = pi/2 - B (high single) - .long 0xB14CDE2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3ED413CD // c0 (high single) - .long 0xB1C06152 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E2FB0CC // c1 (low single) - .long 0x3EF876CB // c2 - .long 0x3F177807 // c3 - .long 0x3ED08437 // c4 - .long 0x3F93A7A5 // B' = pi/2 - B (high single) - .long 0xB361DEEE // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EE2F439 // c0 (high single) - .long 0xB1F4399E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E49341C // c1 (low single) - .long 0x3F07C61A // c2 - .long 0x3F22560F // c3 - .long 0x3EEAA81E // c4 - .long 0x3F908365 // B' = pi/2 - B (high single) - .long 0x3292200D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EF22870 // c0 (high single) - .long 0x325271F4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E65107A // c1 (low single) - .long 0x3F1429F0 // c2 - .long 0x3F2E8AFC // c3 - .long 0x3F040498 // c4 - .long 0x3F8D5F26 // B' = pi/2 - B (high single) - .long 0xB30C0105 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F00DC0D // c0 (high single) - .long 0xB214AF72 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E81B994 // c1 (low single) - .long 0x3F218233 // c2 - .long 0x3F3C4531 // c3 - .long 0x3F149688 // c4 - .long 0x3F8A3AE6 // B' = pi/2 - B (high single) - .long 0x331EEDF0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F08D5B9 // c0 (high single) - .long 0xB25EF98E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E92478D // c1 (low single) - .long 0x3F2FEDC9 // c2 - .long 0x3F4BCD58 // c3 - .long 0x3F27AE9E // c4 - .long 0x3F8716A7 // B' = pi/2 - B (high single) - .long 0xB2588C6D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F1105AF // c0 (high single) - .long 0x32F045B0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EA44EE2 // c1 (low single) - .long 0x3F3F8FDB // c2 - .long 0x3F5D3FD0 // c3 - .long 0x3F3D0A23 // c4 - .long 0x3F83F267 // B' = pi/2 - B (high single) - .long 0x3374CBD9 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F1970C4 // c0 (high single) - .long 0x32904848 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EB7EFF8 // c1 (low single) - .long 0x3F50907C // c2 - .long 0x3F710FEA // c3 - .long 0x3F561FED // c4 - .long 0x3F80CE28 // B' = pi/2 - B (high single) - .long 0x31FDD672 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F221C37 // c0 (high single) - .long 0xB20C61DC // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3ECD4F71 // c1 (low single) - .long 0x3F631DAA // c2 - .long 0x3F83B471 // c3 - .long 0x3F7281EA // c4 - .long 0x3F7B53D1 // B' = pi/2 - B (high single) - .long 0x32955386 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F2B0DC1 // c0 (high single) - .long 0x32AB7EBA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EE496C2 // c1 (low single) - .long 0x3F776C40 // c2 - .long 0x3F9065C1 // c3 - .long 0x3F89AFB6 // c4 - .long 0x3F750B52 // B' = pi/2 - B (high single) - .long 0x32EB316F // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F344BA9 // c0 (high single) - .long 0xB2B8B0EA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EFDF4F7 // c1 (low single) - .long 0x3F86DCA8 // c2 - .long 0x3F9ED53B // c3 - .long 0x3F9CBEDE // c4 - .long 0x3F6EC2D4 // B' = pi/2 - B (high single) - .long 0xB2BEF0A7 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F3DDCCF // c0 (high single) - .long 0x32D29606 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEE6606F // c1 (low single) - .long 0x3F9325D6 // c2 - .long 0x3FAF4E69 // c3 - .long 0x3FB3080C // c4 - .long 0x3F687A55 // B' = pi/2 - B (high single) - .long 0xB252257B // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F47C8CC // c0 (high single) - .long 0xB200F51A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEC82C6C // c1 (low single) - .long 0x3FA0BAE9 // c2 - .long 0x3FC2252F // c3 - .long 0x3FCD24C7 // c4 - .long 0x3F6231D6 // B' = pi/2 - B (high single) - .long 0xB119A6A2 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F521801 // c0 (high single) - .long 0x32AE4178 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEA72938 // c1 (low single) - .long 0x3FAFCC22 // c2 - .long 0x3FD7BD4A // c3 - .long 0x3FEBB01B // c4 - .long 0x3F5BE957 // B' = pi/2 - B (high single) - .long 0x3205522A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F5CD3BE // c0 (high single) - .long 0x31460308 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE8306C5 // c1 (low single) - .long 0x3FC09232 // c2 - .long 0x3FF09632 // c3 - .long 0x4007DB00 // c4 - .long 0x3F55A0D8 // B' = pi/2 - B (high single) - .long 0x329886FF // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F68065E // c0 (high single) - .long 0x32670D1A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE36D1D6 // c1 (low single) - .long 0x3FD35007 // c2 - .long 0x4006A861 // c3 - .long 0x401D4BDA // c4 - .long 0x3F4F5859 // B' = pi/2 - B (high single) - .long 0x32EE64E8 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F73BB75 // c0 (high single) - .long 0x32FC908D // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBDBF94B0 // c1 (low single) - .long 0x3FE8550F // c2 - .long 0x40174F67 // c3 - .long 0x4036C608 // c4 - .long 0x3F490FDB // B' = pi/2 - B (high single) - .long 0xB2BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE8BE60E // c0 (high single) - .long 0x320D8D84 // c0 (low single) - .long 0x3F000000 // c1 (high 1 bit) - .long 0xBDF817B1 // c1 (low single) - .long 0xBD8345EB // c2 - .long 0x3D1DFDAC // c3 - .long 0xBC52CF6F // c4 - .long 0x3F42C75C // B' = pi/2 - B (high single) - .long 0xB24BBE8A // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE87283F // c0 (high single) - .long 0xB268B966 // c0 (low single) - .long 0x3F000000 // c1 (high 1 bit) - .long 0xBDFE6529 // c1 (low single) - .long 0xBD7B1953 // c2 - .long 0x3D18E109 // c3 - .long 0xBC4570B0 // c4 - .long 0x3F3C7EDD // B' = pi/2 - B (high single) - .long 0xB1000ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE827420 // c0 (high single) - .long 0x320B8B4D // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DFB9428 // c1 (low single) - .long 0xBD7002B4 // c2 - .long 0x3D142A6C // c3 - .long 0xBC3A47FF // c4 - .long 0x3F36365E // B' = pi/2 - B (high single) - .long 0x320BB91C // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE7B9282 // c0 (high single) - .long 0xB13383D2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF5D211 // c1 (low single) - .long 0xBD6542B3 // c2 - .long 0x3D0FE5E5 // c3 - .long 0xBC31FB14 // c4 - .long 0x3F2FEDDF // B' = pi/2 - B (high single) - .long 0x329BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE724E73 // c0 (high single) - .long 0x3120C3E2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF05283 // c1 (low single) - .long 0xBD5AD45E // c2 - .long 0x3D0BAFBF // c3 - .long 0xBC27B8BB // c4 - .long 0x3F29A560 // B' = pi/2 - B (high single) - .long 0x32F19861 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE691B44 // c0 (high single) - .long 0x31F18936 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DEB138B // c1 (low single) - .long 0xBD50B2F7 // c2 - .long 0x3D07BE3A // c3 - .long 0xBC1E46A7 // c4 - .long 0x3F235CE2 // B' = pi/2 - B (high single) - .long 0xB2B889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE5FF82C // c0 (high single) - .long 0xB170723A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE61354 // c1 (low single) - .long 0xBD46DA06 // c2 - .long 0x3D0401F8 // c3 - .long 0xBC14E013 // c4 - .long 0x3F1D1463 // B' = pi/2 - B (high single) - .long 0xB2455799 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE56E46B // c0 (high single) - .long 0x31E3F001 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE15025 // c1 (low single) - .long 0xBD3D4550 // c2 - .long 0x3D00462D // c3 - .long 0xBC092C98 // c4 - .long 0x3F16CBE4 // B' = pi/2 - B (high single) - .long 0xB0CCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE4DDF41 // c0 (high single) - .long 0xB1AEA094 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DDCC85C // c1 (low single) - .long 0xBD33F0BE // c2 - .long 0x3CFA23B0 // c3 - .long 0xBC01FCF7 // c4 - .long 0x3F108365 // B' = pi/2 - B (high single) - .long 0x3212200D // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE44E7F8 // c0 (high single) - .long 0xB1CAA3CB // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD87A74 // c1 (low single) - .long 0xBD2AD885 // c2 - .long 0x3CF3C785 // c3 - .long 0xBBF1E348 // c4 - .long 0x3F0A3AE6 // B' = pi/2 - B (high single) - .long 0x329EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE3BFDDC // c0 (high single) - .long 0xB132521A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD464FC // c1 (low single) - .long 0xBD21F8F1 // c2 - .long 0x3CEE3076 // c3 - .long 0xBBE6D263 // c4 - .long 0x3F03F267 // B' = pi/2 - B (high single) - .long 0x32F4CBD9 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE33203E // c0 (high single) - .long 0x31FEF5BE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD0869C // c1 (low single) - .long 0xBD194E8C // c2 - .long 0x3CE8DCA9 // c3 - .long 0xBBDADA55 // c4 - .long 0x3EFB53D1 // B' = pi/2 - B (high single) - .long 0x32155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE2A4E71 // c0 (high single) - .long 0xB19CFCEC // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DCCDE11 // c1 (low single) - .long 0xBD10D605 // c2 - .long 0x3CE382A7 // c3 - .long 0xBBC8BD97 // c4 - .long 0x3EEEC2D4 // B' = pi/2 - B (high single) - .long 0xB23EF0A7 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE2187D0 // c0 (high single) - .long 0xB1B7C7F7 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC96A2B // c1 (low single) - .long 0xBD088C22 // c2 - .long 0x3CDE950E // c3 - .long 0xBBB89AD1 // c4 - .long 0x3EE231D6 // B' = pi/2 - B (high single) - .long 0xB099A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE18CBB7 // c0 (high single) - .long 0xAFE28430 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC629CE // c1 (low single) - .long 0xBD006DCD // c2 - .long 0x3CDA5A2C // c3 - .long 0xBBB0B3D2 // c4 - .long 0x3ED5A0D8 // B' = pi/2 - B (high single) - .long 0x321886FF // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE101985 // c0 (high single) - .long 0xB02FB2B8 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC31BF3 // c1 (low single) - .long 0xBCF0F04D // c2 - .long 0x3CD60BC7 // c3 - .long 0xBBA138BA // c4 - .long 0x3EC90FDB // B' = pi/2 - B (high single) - .long 0xB23BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE07709D // c0 (high single) - .long 0xB18A2A83 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC03FA2 // c1 (low single) - .long 0xBCE15096 // c2 - .long 0x3CD26472 // c3 - .long 0xBB9A1270 // c4 - .long 0x3EBC7EDD // B' = pi/2 - B (high single) - .long 0xB0800ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDFDA0CB // c0 (high single) - .long 0x2F14FCA0 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBD93F7 // c1 (low single) - .long 0xBCD1F71B // c2 - .long 0x3CCEDD2B // c3 - .long 0xBB905946 // c4 - .long 0x3EAFEDDF // B' = pi/2 - B (high single) - .long 0x321BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDEC708C // c0 (high single) - .long 0xB14895C4 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBB181E // c1 (low single) - .long 0xBCC2DEA6 // c2 - .long 0x3CCB5027 // c3 - .long 0xBB7F3969 // c4 - .long 0x3EA35CE2 // B' = pi/2 - B (high single) - .long 0xB23889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDDB4F55 // c0 (high single) - .long 0x30F6437E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB8CB52 // c1 (low single) - .long 0xBCB40210 // c2 - .long 0x3CC82D45 // c3 - .long 0xBB643075 // c4 - .long 0x3E96CBE4 // B' = pi/2 - B (high single) - .long 0xB04CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDCA3BFF // c0 (high single) - .long 0x311C95EA // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB6ACDE // c1 (low single) - .long 0xBCA55C5B // c2 - .long 0x3CC5BC04 // c3 - .long 0xBB63A969 // c4 - .long 0x3E8A3AE6 // B' = pi/2 - B (high single) - .long 0x321EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDB93569 // c0 (high single) - .long 0xAFB9ED00 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB4BC1F // c1 (low single) - .long 0xBC96E905 // c2 - .long 0x3CC2E6F5 // c3 - .long 0xBB3E10A6 // c4 - .long 0x3E7B53D1 // B' = pi/2 - B (high single) - .long 0x31955386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDA83A77 // c0 (high single) - .long 0x316D967A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB2F87C // c1 (low single) - .long 0xBC88A31F // c2 - .long 0x3CC0E763 // c3 - .long 0xBB3F1666 // c4 - .long 0x3E6231D6 // B' = pi/2 - B (high single) - .long 0xB019A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD974A0D // c0 (high single) - .long 0xB14F365B // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB1616F // c1 (low single) - .long 0xBC750CD8 // c2 - .long 0x3CBEB595 // c3 - .long 0xBB22B883 // c4 - .long 0x3E490FDB // B' = pi/2 - B (high single) - .long 0xB1BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD866317 // c0 (high single) - .long 0xAFF02140 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAFF67D // c1 (low single) - .long 0xBC591CD0 // c2 - .long 0x3CBCBEAD // c3 - .long 0xBB04BBEC // c4 - .long 0x3E2FEDDF // B' = pi/2 - B (high single) - .long 0x319BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD6B08FF // c0 (high single) - .long 0xB0EED236 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAEB739 // c1 (low single) - .long 0xBC3D6D51 // c2 - .long 0x3CBB485D // c3 - .long 0xBAFFF5BA // c4 - .long 0x3E16CBE4 // B' = pi/2 - B (high single) - .long 0xAFCCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD495A6C // c0 (high single) - .long 0xB0A427BD // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DADA345 // c1 (low single) - .long 0xBC21F648 // c2 - .long 0x3CB9D1B4 // c3 - .long 0xBACB5567 // c4 - .long 0x3DFB53D1 // B' = pi/2 - B (high single) - .long 0x31155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD27B856 // c0 (high single) - .long 0xB0F7EE91 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DACBA4E // c1 (low single) - .long 0xBC06AEE3 // c2 - .long 0x3CB8E5DC // c3 - .long 0xBAEC00EE // c4 - .long 0x3DC90FDB // B' = pi/2 - B (high single) - .long 0xB13BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD0620A3 // c0 (high single) - .long 0xB0ECAB40 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DABFC11 // c1 (low single) - .long 0xBBD7200F // c2 - .long 0x3CB79475 // c3 - .long 0xBA2B0ADC // c4 - .long 0x3D96CBE4 // B' = pi/2 - B (high single) - .long 0xAF4CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBCC92278 // c0 (high single) - .long 0x302F2E68 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAB6854 // c1 (low single) - .long 0xBBA1214F // c2 - .long 0x3CB6C1E9 // c3 - .long 0x3843C2F3 // c4 - .long 0x3D490FDB // B' = pi/2 - B (high single) - .long 0xB0BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBC861015 // c0 (high single) - .long 0xAFD68E2E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAAFEEB // c1 (low single) - .long 0xBB569F3F // c2 - .long 0x3CB6A84E // c3 - .long 0xBAC64194 // c4 - .long 0x3CC90FDB // B' = pi/2 - B (high single) - .long 0xB03BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBC060BF3 // c0 (high single) - .long 0x2FE251AE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAABFB9 // c1 (low single) - .long 0xBAD67C60 // c2 - .long 0x3CB64CA5 // c3 - .long 0xBACDE881 // c4 - .long 0x00000000 // B' = pi/2 - B (high single) - .long 0x00000000 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x00000000 // c0 (high single) - .long 0x00000000 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAAAAAB // c1 (low single) - .long 0x00000000 // c2 - .long 0x3CB5E28B // c3 - .long 0x00000000 // c4 - .long 0xBCC90FDB // B' = pi/2 - B (high single) - .long 0x303BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3C060BF3 // c0 (high single) - .long 0xAFE251AE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAABFB9 // c1 (low single) - .long 0x3AD67C60 // c2 - .long 0x3CB64CA5 // c3 - .long 0x3ACDE881 // c4 - .long 0xBD490FDB // B' = pi/2 - B (high single) - .long 0x30BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3C861015 // c0 (high single) - .long 0x2FD68E2E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAAFEEB // c1 (low single) - .long 0x3B569F3F // c2 - .long 0x3CB6A84E // c3 - .long 0x3AC64194 // c4 - .long 0xBD96CBE4 // B' = pi/2 - B (high single) - .long 0x2F4CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3CC92278 // c0 (high single) - .long 0xB02F2E68 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAB6854 // c1 (low single) - .long 0x3BA1214F // c2 - .long 0x3CB6C1E9 // c3 - .long 0xB843C2F2 // c4 - .long 0xBDC90FDB // B' = pi/2 - B (high single) - .long 0x313BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D0620A3 // c0 (high single) - .long 0x30ECAB40 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DABFC11 // c1 (low single) - .long 0x3BD7200F // c2 - .long 0x3CB79475 // c3 - .long 0x3A2B0ADC // c4 - .long 0xBDFB53D1 // B' = pi/2 - B (high single) - .long 0xB1155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D27B856 // c0 (high single) - .long 0x30F7EE91 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DACBA4E // c1 (low single) - .long 0x3C06AEE3 // c2 - .long 0x3CB8E5DC // c3 - .long 0x3AEC00EE // c4 - .long 0xBE16CBE4 // B' = pi/2 - B (high single) - .long 0x2FCCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D495A6C // c0 (high single) - .long 0x30A427BD // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DADA345 // c1 (low single) - .long 0x3C21F648 // c2 - .long 0x3CB9D1B4 // c3 - .long 0x3ACB5567 // c4 - .long 0xBE2FEDDF // B' = pi/2 - B (high single) - .long 0xB19BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D6B08FF // c0 (high single) - .long 0x30EED236 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAEB739 // c1 (low single) - .long 0x3C3D6D51 // c2 - .long 0x3CBB485D // c3 - .long 0x3AFFF5BA // c4 - .long 0xBE490FDB // B' = pi/2 - B (high single) - .long 0x31BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D866317 // c0 (high single) - .long 0x2FF02140 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAFF67D // c1 (low single) - .long 0x3C591CD0 // c2 - .long 0x3CBCBEAD // c3 - .long 0x3B04BBEC // c4 - .long 0xBE6231D6 // B' = pi/2 - B (high single) - .long 0x3019A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D974A0D // c0 (high single) - .long 0x314F365B // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB1616F // c1 (low single) - .long 0x3C750CD8 // c2 - .long 0x3CBEB595 // c3 - .long 0x3B22B883 // c4 - .long 0xBE7B53D1 // B' = pi/2 - B (high single) - .long 0xB1955386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DA83A77 // c0 (high single) - .long 0xB16D967A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB2F87C // c1 (low single) - .long 0x3C88A31F // c2 - .long 0x3CC0E763 // c3 - .long 0x3B3F1666 // c4 - .long 0xBE8A3AE6 // B' = pi/2 - B (high single) - .long 0xB21EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DB93569 // c0 (high single) - .long 0x2FB9ED00 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB4BC1F // c1 (low single) - .long 0x3C96E905 // c2 - .long 0x3CC2E6F5 // c3 - .long 0x3B3E10A6 // c4 - .long 0xBE96CBE4 // B' = pi/2 - B (high single) - .long 0x304CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DCA3BFF // c0 (high single) - .long 0xB11C95EA // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB6ACDE // c1 (low single) - .long 0x3CA55C5B // c2 - .long 0x3CC5BC04 // c3 - .long 0x3B63A969 // c4 - .long 0xBEA35CE2 // B' = pi/2 - B (high single) - .long 0x323889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DDB4F55 // c0 (high single) - .long 0xB0F6437E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB8CB52 // c1 (low single) - .long 0x3CB40210 // c2 - .long 0x3CC82D45 // c3 - .long 0x3B643075 // c4 - .long 0xBEAFEDDF // B' = pi/2 - B (high single) - .long 0xB21BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DEC708C // c0 (high single) - .long 0x314895C4 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBB181E // c1 (low single) - .long 0x3CC2DEA6 // c2 - .long 0x3CCB5027 // c3 - .long 0x3B7F3969 // c4 - .long 0xBEBC7EDD // B' = pi/2 - B (high single) - .long 0x30800ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DFDA0CB // c0 (high single) - .long 0xAF14FCA0 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBD93F7 // c1 (low single) - .long 0x3CD1F71B // c2 - .long 0x3CCEDD2B // c3 - .long 0x3B905946 // c4 - .long 0xBEC90FDB // B' = pi/2 - B (high single) - .long 0x323BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E07709D // c0 (high single) - .long 0x318A2A83 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC03FA2 // c1 (low single) - .long 0x3CE15096 // c2 - .long 0x3CD26472 // c3 - .long 0x3B9A1270 // c4 - .long 0xBED5A0D8 // B' = pi/2 - B (high single) - .long 0xB21886FF // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E101985 // c0 (high single) - .long 0x302FB2B8 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC31BF3 // c1 (low single) - .long 0x3CF0F04D // c2 - .long 0x3CD60BC7 // c3 - .long 0x3BA138BA // c4 - .long 0xBEE231D6 // B' = pi/2 - B (high single) - .long 0x3099A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E18CBB7 // c0 (high single) - .long 0x2FE28430 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC629CE // c1 (low single) - .long 0x3D006DCD // c2 - .long 0x3CDA5A2C // c3 - .long 0x3BB0B3D2 // c4 - .long 0xBEEEC2D4 // B' = pi/2 - B (high single) - .long 0x323EF0A7 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E2187D0 // c0 (high single) - .long 0x31B7C7F7 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC96A2B // c1 (low single) - .long 0x3D088C22 // c2 - .long 0x3CDE950E // c3 - .long 0x3BB89AD1 // c4 - .long 0xBEFB53D1 // B' = pi/2 - B (high single) - .long 0xB2155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E2A4E71 // c0 (high single) - .long 0x319CFCEC // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DCCDE11 // c1 (low single) - .long 0x3D10D605 // c2 - .long 0x3CE382A7 // c3 - .long 0x3BC8BD97 // c4 - .long 0xBF03F267 // B' = pi/2 - B (high single) - .long 0xB2F4CBD9 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E33203E // c0 (high single) - .long 0xB1FEF5BE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD0869C // c1 (low single) - .long 0x3D194E8C // c2 - .long 0x3CE8DCA9 // c3 - .long 0x3BDADA55 // c4 - .long 0xBF0A3AE6 // B' = pi/2 - B (high single) - .long 0xB29EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E3BFDDC // c0 (high single) - .long 0x3132521A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD464FC // c1 (low single) - .long 0x3D21F8F1 // c2 - .long 0x3CEE3076 // c3 - .long 0x3BE6D263 // c4 - .long 0xBF108365 // B' = pi/2 - B (high single) - .long 0xB212200D // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E44E7F8 // c0 (high single) - .long 0x31CAA3CB // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD87A74 // c1 (low single) - .long 0x3D2AD885 // c2 - .long 0x3CF3C785 // c3 - .long 0x3BF1E348 // c4 - .long 0xBF16CBE4 // B' = pi/2 - B (high single) - .long 0x30CCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E4DDF41 // c0 (high single) - .long 0x31AEA094 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DDCC85C // c1 (low single) - .long 0x3D33F0BE // c2 - .long 0x3CFA23B0 // c3 - .long 0x3C01FCF7 // c4 - .long 0xBF1D1463 // B' = pi/2 - B (high single) - .long 0x32455799 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E56E46B // c0 (high single) - .long 0xB1E3F001 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE15025 // c1 (low single) - .long 0x3D3D4550 // c2 - .long 0x3D00462D // c3 - .long 0x3C092C98 // c4 - .long 0xBF235CE2 // B' = pi/2 - B (high single) - .long 0x32B889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E5FF82C // c0 (high single) - .long 0x3170723A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE61354 // c1 (low single) - .long 0x3D46DA06 // c2 - .long 0x3D0401F8 // c3 - .long 0x3C14E013 // c4 - .long 0xBF29A560 // B' = pi/2 - B (high single) - .long 0xB2F19861 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E691B44 // c0 (high single) - .long 0xB1F18936 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DEB138B // c1 (low single) - .long 0x3D50B2F7 // c2 - .long 0x3D07BE3A // c3 - .long 0x3C1E46A7 // c4 - .long 0xBF2FEDDF // B' = pi/2 - B (high single) - .long 0xB29BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E724E73 // c0 (high single) - .long 0xB120C3E2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF05283 // c1 (low single) - .long 0x3D5AD45E // c2 - .long 0x3D0BAFBF // c3 - .long 0x3C27B8BB // c4 - .long 0xBF36365E // B' = pi/2 - B (high single) - .long 0xB20BB91C // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E7B9282 // c0 (high single) - .long 0x313383D2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF5D211 // c1 (low single) - .long 0x3D6542B3 // c2 - .long 0x3D0FE5E5 // c3 - .long 0x3C31FB14 // c4 - .long 0xBF3C7EDD // B' = pi/2 - B (high single) - .long 0x31000ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E827420 // c0 (high single) - .long 0xB20B8B4D // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DFB9428 // c1 (low single) - .long 0x3D7002B4 // c2 - .long 0x3D142A6C // c3 - .long 0x3C3A47FF // c4 - .long 0xBF42C75C // B' = pi/2 - B (high single) - .long 0x324BBE8A // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E87283F // c0 (high single) - .long 0x3268B966 // c0 (low single) - .long 0x3F000000 // c1 (high 1 bit) - .long 0xBDFE6529 // c1 (low single) - .long 0x3D7B1953 // c2 - .long 0x3D18E109 // c3 - .long 0x3C4570B0 // c4 - .long 0xBF490FDB // B' = pi/2 - B (high single) - .long 0x32BBBD2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF800000 // c0 (high single) - .long 0x2B410000 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xB3000000 // c1 (low single) - .long 0xC0000000 // c2 - .long 0x402AB7C8 // c3 - .long 0xC05561DB // c4 - .long 0xBF4F5859 // B' = pi/2 - B (high single) - .long 0xB2EE64E8 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF73BB75 // c0 (high single) - .long 0xB2FC908D // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBDBF94B0 // c1 (low single) - .long 0xBFE8550F // c2 - .long 0x40174F67 // c3 - .long 0xC036C608 // c4 - .long 0xBF55A0D8 // B' = pi/2 - B (high single) - .long 0xB29886FF // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF68065E // c0 (high single) - .long 0xB2670D1A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE36D1D6 // c1 (low single) - .long 0xBFD35007 // c2 - .long 0x4006A861 // c3 - .long 0xC01D4BDA // c4 - .long 0xBF5BE957 // B' = pi/2 - B (high single) - .long 0xB205522A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF5CD3BE // c0 (high single) - .long 0xB1460308 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE8306C5 // c1 (low single) - .long 0xBFC09232 // c2 - .long 0x3FF09632 // c3 - .long 0xC007DB00 // c4 - .long 0xBF6231D6 // B' = pi/2 - B (high single) - .long 0x3119A6A2 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF521801 // c0 (high single) - .long 0xB2AE4178 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEA72938 // c1 (low single) - .long 0xBFAFCC22 // c2 - .long 0x3FD7BD4A // c3 - .long 0xBFEBB01B // c4 - .long 0xBF687A55 // B' = pi/2 - B (high single) - .long 0x3252257B // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF47C8CC // c0 (high single) - .long 0x3200F51A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEC82C6C // c1 (low single) - .long 0xBFA0BAE9 // c2 - .long 0x3FC2252F // c3 - .long 0xBFCD24C7 // c4 - .long 0xBF6EC2D4 // B' = pi/2 - B (high single) - .long 0x32BEF0A7 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF3DDCCF // c0 (high single) - .long 0xB2D29606 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEE6606F // c1 (low single) - .long 0xBF9325D6 // c2 - .long 0x3FAF4E69 // c3 - .long 0xBFB3080C // c4 - .long 0xBF750B52 // B' = pi/2 - B (high single) - .long 0xB2EB316F // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF344BA9 // c0 (high single) - .long 0x32B8B0EA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EFDF4F7 // c1 (low single) - .long 0xBF86DCA8 // c2 - .long 0x3F9ED53B // c3 - .long 0xBF9CBEDE // c4 - .long 0xBF7B53D1 // B' = pi/2 - B (high single) - .long 0xB2955386 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF2B0DC1 // c0 (high single) - .long 0xB2AB7EBA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EE496C2 // c1 (low single) - .long 0xBF776C40 // c2 - .long 0x3F9065C1 // c3 - .long 0xBF89AFB6 // c4 - .long 0xBF80CE28 // B' = pi/2 - B (high single) - .long 0xB1FDD672 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF221C37 // c0 (high single) - .long 0x320C61DC // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3ECD4F71 // c1 (low single) - .long 0xBF631DAA // c2 - .long 0x3F83B471 // c3 - .long 0xBF7281EA // c4 - .long 0xBF83F267 // B' = pi/2 - B (high single) - .long 0xB374CBD9 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF1970C4 // c0 (high single) - .long 0xB2904848 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EB7EFF8 // c1 (low single) - .long 0xBF50907C // c2 - .long 0x3F710FEA // c3 - .long 0xBF561FED // c4 - .long 0xBF8716A7 // B' = pi/2 - B (high single) - .long 0x32588C6D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF1105AF // c0 (high single) - .long 0xB2F045B0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EA44EE2 // c1 (low single) - .long 0xBF3F8FDB // c2 - .long 0x3F5D3FD0 // c3 - .long 0xBF3D0A23 // c4 - .long 0xBF8A3AE6 // B' = pi/2 - B (high single) - .long 0xB31EEDF0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF08D5B9 // c0 (high single) - .long 0x325EF98E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E92478D // c1 (low single) - .long 0xBF2FEDC9 // c2 - .long 0x3F4BCD58 // c3 - .long 0xBF27AE9E // c4 - .long 0xBF8D5F26 // B' = pi/2 - B (high single) - .long 0x330C0105 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF00DC0D // c0 (high single) - .long 0x3214AF72 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E81B994 // c1 (low single) - .long 0xBF218233 // c2 - .long 0x3F3C4531 // c3 - .long 0xBF149688 // c4 - .long 0xBF908365 // B' = pi/2 - B (high single) - .long 0xB292200D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEF22870 // c0 (high single) - .long 0xB25271F4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E65107A // c1 (low single) - .long 0xBF1429F0 // c2 - .long 0x3F2E8AFC // c3 - .long 0xBF040498 // c4 - .long 0xBF93A7A5 // B' = pi/2 - B (high single) - .long 0x3361DEEE // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEE2F439 // c0 (high single) - .long 0x31F4399E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E49341C // c1 (low single) - .long 0xBF07C61A // c2 - .long 0x3F22560F // c3 - .long 0xBEEAA81E // c4 - .long 0xBF96CBE4 // B' = pi/2 - B (high single) - .long 0x314CDE2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBED413CD // c0 (high single) - .long 0x31C06152 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E2FB0CC // c1 (low single) - .long 0xBEF876CB // c2 - .long 0x3F177807 // c3 - .long 0xBED08437 // c4 - .long 0xBF99F023 // B' = pi/2 - B (high single) - .long 0xB3484328 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEC5800D // c0 (high single) - .long 0x3214C3C1 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E185E54 // c1 (low single) - .long 0xBEE2E342 // c2 - .long 0x3F0DCA73 // c3 - .long 0xBEB8CC21 // c4 - .long 0xBF9D1463 // B' = pi/2 - B (high single) - .long 0x32C55799 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEB73250 // c0 (high single) - .long 0x32028823 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E0318F8 // c1 (low single) - .long 0xBECEA678 // c2 - .long 0x3F053C67 // c3 - .long 0xBEA41E53 // c4 - .long 0xBFA038A2 // B' = pi/2 - B (high single) - .long 0xB2E4CA7E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEA92457 // c0 (high single) - .long 0xB0B80830 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DDF8200 // c1 (low single) - .long 0xBEBB99E9 // c2 - .long 0x3EFB4AA8 // c3 - .long 0xBE9182BE // c4 - .long 0xBFA35CE2 // B' = pi/2 - B (high single) - .long 0x333889B6 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE9B5042 // c0 (high single) - .long 0x322A3AEE // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DBC7490 // c1 (low single) - .long 0xBEA99AF5 // c2 - .long 0x3EEDE107 // c3 - .long 0xBE80E9AA // c4 - .long 0xBFA68121 // B' = pi/2 - B (high single) - .long 0xB1E43AAC // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE8DB082 // c0 (high single) - .long 0x3132A234 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D9CD7D0 // c1 (low single) - .long 0xBE988A60 // c2 - .long 0x3EE203E3 // c3 - .long 0xBE63582C // c4 - .long 0xBFA9A560 // B' = pi/2 - B (high single) - .long 0xB3719861 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE803FD4 // c0 (high single) - .long 0x32279E66 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D807FC8 // c1 (low single) - .long 0xBE884BD4 // c2 - .long 0x3ED7812D // c3 - .long 0xBE4636EB // c4 - .long 0xBFACC9A0 // B' = pi/2 - B (high single) - .long 0x32655A50 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE65F267 // c0 (high single) - .long 0xB1B4B1DF // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D4E8B90 // c1 (low single) - .long 0xBE718ACA // c2 - .long 0x3ECE7164 // c3 - .long 0xBE2DC161 // c4 - .long 0xBFAFEDDF // B' = pi/2 - B (high single) - .long 0xB31BBA77 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE4BAFAF // c0 (high single) - .long 0xAF2A29E0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D221018 // c1 (low single) - .long 0xBE53BED0 // c2 - .long 0x3EC67E26 // c3 - .long 0xBE1568E2 // c4 - .long 0xBFB3121F // B' = pi/2 - B (high single) - .long 0x330F347D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE31AE4D // c0 (high single) - .long 0x31F32251 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CF6A500 // c1 (low single) - .long 0xBE3707DA // c2 - .long 0x3EBFA489 // c3 - .long 0xBDFBD9C7 // c4 - .long 0xBFB6365E // B' = pi/2 - B (high single) - .long 0xB28BB91C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE17E564 // c0 (high single) - .long 0x31C5A2E4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CB440D0 // c1 (low single) - .long 0xBE1B3D00 // c2 - .long 0x3EB9F664 // c3 - .long 0xBDD647C0 // c4 - .long 0xBFB95A9E // B' = pi/2 - B (high single) - .long 0x33651267 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBDFC98C2 // c0 (high single) - .long 0x30AE525C // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C793D20 // c1 (low single) - .long 0xBE003845 // c2 - .long 0x3EB5271F // c3 - .long 0xBDAC669E // c4 - .long 0xBFBC7EDD // B' = pi/2 - B (high single) - .long 0x31800ADD // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBDC9B5DC // c0 (high single) - .long 0xB145AD86 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C1EEF20 // c1 (low single) - .long 0xBDCBAAEA // c2 - .long 0x3EB14E5E // c3 - .long 0xBD858BB2 // c4 - .long 0xBFBFA31C // B' = pi/2 - B (high single) - .long 0xB3450FB0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBD9711CE // c0 (high single) - .long 0xB14FEB28 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3BB24C00 // c1 (low single) - .long 0xBD97E43A // c2 - .long 0x3EAE6A89 // c3 - .long 0xBD4D07E0 // c4 - .long 0xBFC2C75C // B' = pi/2 - B (high single) - .long 0x32CBBE8A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBD49393C // c0 (high single) - .long 0xB0A39F5B // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3B1E2B00 // c1 (low single) - .long 0xBD49B5D4 // c2 - .long 0x3EAC4F10 // c3 - .long 0xBCFD9425 // c4 - .long 0xBFC5EB9B // B' = pi/2 - B (high single) - .long 0xB2DE638C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBCC91A31 // c0 (high single) - .long 0xAF8E8D1A // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3A1DFA00 // c1 (low single) - .long 0xBCC9392D // c2 - .long 0x3EAB1889 // c3 - .long 0xBC885D3B // c4 - .align 16 - .type __svml_stan_data_internal,@object - .size __svml_stan_data_internal,.-__svml_stan_data_internal - .space 16, 0x00 - .align 16 + /* UISA */ + .long 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983 /* _sInvPI_uisa */ + .align 16 + .long 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda /* _sPI1_uisa */ + .align 16 + .long 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168 /* _sPI2_uisa */ + .align 16 + .long 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5 /* _sPI3_uisa */ + .align 16 + .long 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000 /* _sPI2_ha_uisa */ + .align 16 + .long 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a /* _sPI3_ha_uisa */ + /* Th_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)); */ + .align 16 + .long 0x80000000, 0x3dc9b5dc, 0x3e4bafaf, 0x3e9b5042 + .long 0x3ed413cd, 0x3f08d5b9, 0x3f2b0dc1, 0x3f521801 + .long 0x3f800000, 0x3f9bf7ec, 0x3fbf90c7, 0x3fef789e + .long 0x401a827a, 0x4052facf, 0x40a0dff7, 0x41227363 + .long 0xff7fffff, 0xc1227363, 0xc0a0dff7, 0xc052facf + .long 0xc01a827a, 0xbfef789e, 0xbfbf90c7, 0xbf9bf7ec + .long 0xbf800000, 0xbf521801, 0xbf2b0dc1, 0xbf08d5b9 + .long 0xbed413cd, 0xbe9b5042, 0xbe4bafaf, 0xbdc9b5dc + /* Tl_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)-round(tan(i*Pi/32), SG, RN)); */ + .align 16 + .long 0x80000000, 0x3145b2da, 0x2f2a62b0, 0xb22a39c2 + .long 0xb1c0621a, 0xb25ef963, 0x32ab7f99, 0x32ae4285 + .long 0x00000000, 0x33587608, 0x32169d18, 0xb30c3ec0 + .long 0xb3cc0622, 0x3390600e, 0x331091dc, 0xb454a046 + .long 0xf3800000, 0x3454a046, 0xb31091dc, 0xb390600e + .long 0x33cc0622, 0x330c3ec0, 0xb2169d18, 0xb3587608 + .long 0x00000000, 0xb2ae4285, 0xb2ab7f99, 0x325ef963 + .long 0x31c0621a, 0x322a39c2, 0xaf2a62b0, 0xb145b2da + .align 16 + .long 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6 /* _sPC3_uisa */ + .align 16 + .long 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888 /* _sPC5_uisa */ + .align 16 + .long 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeReductionVal_uisa */ + .align 16 + .long 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983 /* _sInvPi */ + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ + .align 16 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _sAbsMask */ + .align 16 + .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _sRangeVal */ + .align 16 + .long 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000 /* _sRShifter */ + .align 16 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _sOne */ + .align 16 + .long 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeVal */ + .align 16 + .long 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000 /* _sPI1 */ + .align 16 + .long 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000 /* _sPI2 */ + .align 16 + .long 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000 /* _sPI3 */ + .align 16 + .long 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A /* _sPI4 */ + // PI1, PI2, and PI3 when FMA is available + .align 16 + .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB /* _sPI1_FMA */ + .align 16 + .long 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E /* _sPI2_FMA */ + .align 16 + .long 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED /* _sPI3_FMA */ + .align 16 + .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sP0 */ + .align 16 + .long 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4 /* _sP1 */ + .align 16 + .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sQ0 */ + .align 16 + .long 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB /* _sQ1 */ + .align 16 + .long 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B /* _sQ2 */ + .align 16 + .long 0x40000000, 0x40000000, 0x40000000, 0x40000000 /* _sTwo */ + // _sCoeffs Breakpoint B = 0 * pi/128, function tan(B + x) + .align 16 + .long 0x3FC90FDB // B' = pi/2 - B (high single) + .long 0xB33BBD2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x00000000 // c0 (high single) + .long 0x00000000 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x00000000 // c1 (low single) + .long 0x00000000 // c2 + .long 0x3EAAACDD // c3 + .long 0x00000000 // c4 + .long 0x3FC5EB9B // B' = pi/2 - B (high single) + .long 0x32DE638C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3CC91A31 // c0 (high single) + .long 0x2F8E8D1A // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3A1DFA00 // c1 (low single) + .long 0x3CC9392D // c2 + .long 0x3EAB1889 // c3 + .long 0x3C885D3B // c4 + .long 0x3FC2C75C // B' = pi/2 - B (high single) + .long 0xB2CBBE8A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3D49393C // c0 (high single) + .long 0x30A39F5B // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3B1E2B00 // c1 (low single) + .long 0x3D49B5D4 // c2 + .long 0x3EAC4F10 // c3 + .long 0x3CFD9425 // c4 + .long 0x3FBFA31C // B' = pi/2 - B (high single) + .long 0x33450FB0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3D9711CE // c0 (high single) + .long 0x314FEB28 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3BB24C00 // c1 (low single) + .long 0x3D97E43A // c2 + .long 0x3EAE6A89 // c3 + .long 0x3D4D07E0 // c4 + .long 0x3FBC7EDD // B' = pi/2 - B (high single) + .long 0xB1800ADD // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3DC9B5DC // c0 (high single) + .long 0x3145AD86 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C1EEF20 // c1 (low single) + .long 0x3DCBAAEA // c2 + .long 0x3EB14E5E // c3 + .long 0x3D858BB2 // c4 + .long 0x3FB95A9E // B' = pi/2 - B (high single) + .long 0xB3651267 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3DFC98C2 // c0 (high single) + .long 0xB0AE525C // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C793D20 // c1 (low single) + .long 0x3E003845 // c2 + .long 0x3EB5271F // c3 + .long 0x3DAC669E // c4 + .long 0x3FB6365E // B' = pi/2 - B (high single) + .long 0x328BB91C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E17E564 // c0 (high single) + .long 0xB1C5A2E4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CB440D0 // c1 (low single) + .long 0x3E1B3D00 // c2 + .long 0x3EB9F664 // c3 + .long 0x3DD647C0 // c4 + .long 0x3FB3121F // B' = pi/2 - B (high single) + .long 0xB30F347D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E31AE4D // c0 (high single) + .long 0xB1F32251 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CF6A500 // c1 (low single) + .long 0x3E3707DA // c2 + .long 0x3EBFA489 // c3 + .long 0x3DFBD9C7 // c4 + .long 0x3FAFEDDF // B' = pi/2 - B (high single) + .long 0x331BBA77 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E4BAFAF // c0 (high single) + .long 0x2F2A29E0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D221018 // c1 (low single) + .long 0x3E53BED0 // c2 + .long 0x3EC67E26 // c3 + .long 0x3E1568E2 // c4 + .long 0x3FACC9A0 // B' = pi/2 - B (high single) + .long 0xB2655A50 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E65F267 // c0 (high single) + .long 0x31B4B1DF // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D4E8B90 // c1 (low single) + .long 0x3E718ACA // c2 + .long 0x3ECE7164 // c3 + .long 0x3E2DC161 // c4 + .long 0x3FA9A560 // B' = pi/2 - B (high single) + .long 0x33719861 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E803FD4 // c0 (high single) + .long 0xB2279E66 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D807FC8 // c1 (low single) + .long 0x3E884BD4 // c2 + .long 0x3ED7812D // c3 + .long 0x3E4636EB // c4 + .long 0x3FA68121 // B' = pi/2 - B (high single) + .long 0x31E43AAC // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E8DB082 // c0 (high single) + .long 0xB132A234 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D9CD7D0 // c1 (low single) + .long 0x3E988A60 // c2 + .long 0x3EE203E3 // c3 + .long 0x3E63582C // c4 + .long 0x3FA35CE2 // B' = pi/2 - B (high single) + .long 0xB33889B6 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E9B5042 // c0 (high single) + .long 0xB22A3AEE // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DBC7490 // c1 (low single) + .long 0x3EA99AF5 // c2 + .long 0x3EEDE107 // c3 + .long 0x3E80E9AA // c4 + .long 0x3FA038A2 // B' = pi/2 - B (high single) + .long 0x32E4CA7E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EA92457 // c0 (high single) + .long 0x30B80830 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DDF8200 // c1 (low single) + .long 0x3EBB99E9 // c2 + .long 0x3EFB4AA8 // c3 + .long 0x3E9182BE // c4 + .long 0x3F9D1463 // B' = pi/2 - B (high single) + .long 0xB2C55799 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EB73250 // c0 (high single) + .long 0xB2028823 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E0318F8 // c1 (low single) + .long 0x3ECEA678 // c2 + .long 0x3F053C67 // c3 + .long 0x3EA41E53 // c4 + .long 0x3F99F023 // B' = pi/2 - B (high single) + .long 0x33484328 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EC5800D // c0 (high single) + .long 0xB214C3C1 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E185E54 // c1 (low single) + .long 0x3EE2E342 // c2 + .long 0x3F0DCA73 // c3 + .long 0x3EB8CC21 // c4 + .long 0x3F96CBE4 // B' = pi/2 - B (high single) + .long 0xB14CDE2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3ED413CD // c0 (high single) + .long 0xB1C06152 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E2FB0CC // c1 (low single) + .long 0x3EF876CB // c2 + .long 0x3F177807 // c3 + .long 0x3ED08437 // c4 + .long 0x3F93A7A5 // B' = pi/2 - B (high single) + .long 0xB361DEEE // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EE2F439 // c0 (high single) + .long 0xB1F4399E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E49341C // c1 (low single) + .long 0x3F07C61A // c2 + .long 0x3F22560F // c3 + .long 0x3EEAA81E // c4 + .long 0x3F908365 // B' = pi/2 - B (high single) + .long 0x3292200D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EF22870 // c0 (high single) + .long 0x325271F4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E65107A // c1 (low single) + .long 0x3F1429F0 // c2 + .long 0x3F2E8AFC // c3 + .long 0x3F040498 // c4 + .long 0x3F8D5F26 // B' = pi/2 - B (high single) + .long 0xB30C0105 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F00DC0D // c0 (high single) + .long 0xB214AF72 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E81B994 // c1 (low single) + .long 0x3F218233 // c2 + .long 0x3F3C4531 // c3 + .long 0x3F149688 // c4 + .long 0x3F8A3AE6 // B' = pi/2 - B (high single) + .long 0x331EEDF0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F08D5B9 // c0 (high single) + .long 0xB25EF98E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E92478D // c1 (low single) + .long 0x3F2FEDC9 // c2 + .long 0x3F4BCD58 // c3 + .long 0x3F27AE9E // c4 + .long 0x3F8716A7 // B' = pi/2 - B (high single) + .long 0xB2588C6D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F1105AF // c0 (high single) + .long 0x32F045B0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EA44EE2 // c1 (low single) + .long 0x3F3F8FDB // c2 + .long 0x3F5D3FD0 // c3 + .long 0x3F3D0A23 // c4 + .long 0x3F83F267 // B' = pi/2 - B (high single) + .long 0x3374CBD9 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F1970C4 // c0 (high single) + .long 0x32904848 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EB7EFF8 // c1 (low single) + .long 0x3F50907C // c2 + .long 0x3F710FEA // c3 + .long 0x3F561FED // c4 + .long 0x3F80CE28 // B' = pi/2 - B (high single) + .long 0x31FDD672 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F221C37 // c0 (high single) + .long 0xB20C61DC // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3ECD4F71 // c1 (low single) + .long 0x3F631DAA // c2 + .long 0x3F83B471 // c3 + .long 0x3F7281EA // c4 + .long 0x3F7B53D1 // B' = pi/2 - B (high single) + .long 0x32955386 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F2B0DC1 // c0 (high single) + .long 0x32AB7EBA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EE496C2 // c1 (low single) + .long 0x3F776C40 // c2 + .long 0x3F9065C1 // c3 + .long 0x3F89AFB6 // c4 + .long 0x3F750B52 // B' = pi/2 - B (high single) + .long 0x32EB316F // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F344BA9 // c0 (high single) + .long 0xB2B8B0EA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EFDF4F7 // c1 (low single) + .long 0x3F86DCA8 // c2 + .long 0x3F9ED53B // c3 + .long 0x3F9CBEDE // c4 + .long 0x3F6EC2D4 // B' = pi/2 - B (high single) + .long 0xB2BEF0A7 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F3DDCCF // c0 (high single) + .long 0x32D29606 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEE6606F // c1 (low single) + .long 0x3F9325D6 // c2 + .long 0x3FAF4E69 // c3 + .long 0x3FB3080C // c4 + .long 0x3F687A55 // B' = pi/2 - B (high single) + .long 0xB252257B // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F47C8CC // c0 (high single) + .long 0xB200F51A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEC82C6C // c1 (low single) + .long 0x3FA0BAE9 // c2 + .long 0x3FC2252F // c3 + .long 0x3FCD24C7 // c4 + .long 0x3F6231D6 // B' = pi/2 - B (high single) + .long 0xB119A6A2 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F521801 // c0 (high single) + .long 0x32AE4178 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEA72938 // c1 (low single) + .long 0x3FAFCC22 // c2 + .long 0x3FD7BD4A // c3 + .long 0x3FEBB01B // c4 + .long 0x3F5BE957 // B' = pi/2 - B (high single) + .long 0x3205522A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F5CD3BE // c0 (high single) + .long 0x31460308 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE8306C5 // c1 (low single) + .long 0x3FC09232 // c2 + .long 0x3FF09632 // c3 + .long 0x4007DB00 // c4 + .long 0x3F55A0D8 // B' = pi/2 - B (high single) + .long 0x329886FF // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F68065E // c0 (high single) + .long 0x32670D1A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE36D1D6 // c1 (low single) + .long 0x3FD35007 // c2 + .long 0x4006A861 // c3 + .long 0x401D4BDA // c4 + .long 0x3F4F5859 // B' = pi/2 - B (high single) + .long 0x32EE64E8 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F73BB75 // c0 (high single) + .long 0x32FC908D // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBDBF94B0 // c1 (low single) + .long 0x3FE8550F // c2 + .long 0x40174F67 // c3 + .long 0x4036C608 // c4 + .long 0x3F490FDB // B' = pi/2 - B (high single) + .long 0xB2BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE8BE60E // c0 (high single) + .long 0x320D8D84 // c0 (low single) + .long 0x3F000000 // c1 (high 1 bit) + .long 0xBDF817B1 // c1 (low single) + .long 0xBD8345EB // c2 + .long 0x3D1DFDAC // c3 + .long 0xBC52CF6F // c4 + .long 0x3F42C75C // B' = pi/2 - B (high single) + .long 0xB24BBE8A // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE87283F // c0 (high single) + .long 0xB268B966 // c0 (low single) + .long 0x3F000000 // c1 (high 1 bit) + .long 0xBDFE6529 // c1 (low single) + .long 0xBD7B1953 // c2 + .long 0x3D18E109 // c3 + .long 0xBC4570B0 // c4 + .long 0x3F3C7EDD // B' = pi/2 - B (high single) + .long 0xB1000ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE827420 // c0 (high single) + .long 0x320B8B4D // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DFB9428 // c1 (low single) + .long 0xBD7002B4 // c2 + .long 0x3D142A6C // c3 + .long 0xBC3A47FF // c4 + .long 0x3F36365E // B' = pi/2 - B (high single) + .long 0x320BB91C // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE7B9282 // c0 (high single) + .long 0xB13383D2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF5D211 // c1 (low single) + .long 0xBD6542B3 // c2 + .long 0x3D0FE5E5 // c3 + .long 0xBC31FB14 // c4 + .long 0x3F2FEDDF // B' = pi/2 - B (high single) + .long 0x329BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE724E73 // c0 (high single) + .long 0x3120C3E2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF05283 // c1 (low single) + .long 0xBD5AD45E // c2 + .long 0x3D0BAFBF // c3 + .long 0xBC27B8BB // c4 + .long 0x3F29A560 // B' = pi/2 - B (high single) + .long 0x32F19861 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE691B44 // c0 (high single) + .long 0x31F18936 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DEB138B // c1 (low single) + .long 0xBD50B2F7 // c2 + .long 0x3D07BE3A // c3 + .long 0xBC1E46A7 // c4 + .long 0x3F235CE2 // B' = pi/2 - B (high single) + .long 0xB2B889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE5FF82C // c0 (high single) + .long 0xB170723A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE61354 // c1 (low single) + .long 0xBD46DA06 // c2 + .long 0x3D0401F8 // c3 + .long 0xBC14E013 // c4 + .long 0x3F1D1463 // B' = pi/2 - B (high single) + .long 0xB2455799 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE56E46B // c0 (high single) + .long 0x31E3F001 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE15025 // c1 (low single) + .long 0xBD3D4550 // c2 + .long 0x3D00462D // c3 + .long 0xBC092C98 // c4 + .long 0x3F16CBE4 // B' = pi/2 - B (high single) + .long 0xB0CCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE4DDF41 // c0 (high single) + .long 0xB1AEA094 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DDCC85C // c1 (low single) + .long 0xBD33F0BE // c2 + .long 0x3CFA23B0 // c3 + .long 0xBC01FCF7 // c4 + .long 0x3F108365 // B' = pi/2 - B (high single) + .long 0x3212200D // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE44E7F8 // c0 (high single) + .long 0xB1CAA3CB // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD87A74 // c1 (low single) + .long 0xBD2AD885 // c2 + .long 0x3CF3C785 // c3 + .long 0xBBF1E348 // c4 + .long 0x3F0A3AE6 // B' = pi/2 - B (high single) + .long 0x329EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE3BFDDC // c0 (high single) + .long 0xB132521A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD464FC // c1 (low single) + .long 0xBD21F8F1 // c2 + .long 0x3CEE3076 // c3 + .long 0xBBE6D263 // c4 + .long 0x3F03F267 // B' = pi/2 - B (high single) + .long 0x32F4CBD9 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE33203E // c0 (high single) + .long 0x31FEF5BE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD0869C // c1 (low single) + .long 0xBD194E8C // c2 + .long 0x3CE8DCA9 // c3 + .long 0xBBDADA55 // c4 + .long 0x3EFB53D1 // B' = pi/2 - B (high single) + .long 0x32155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE2A4E71 // c0 (high single) + .long 0xB19CFCEC // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DCCDE11 // c1 (low single) + .long 0xBD10D605 // c2 + .long 0x3CE382A7 // c3 + .long 0xBBC8BD97 // c4 + .long 0x3EEEC2D4 // B' = pi/2 - B (high single) + .long 0xB23EF0A7 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE2187D0 // c0 (high single) + .long 0xB1B7C7F7 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC96A2B // c1 (low single) + .long 0xBD088C22 // c2 + .long 0x3CDE950E // c3 + .long 0xBBB89AD1 // c4 + .long 0x3EE231D6 // B' = pi/2 - B (high single) + .long 0xB099A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE18CBB7 // c0 (high single) + .long 0xAFE28430 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC629CE // c1 (low single) + .long 0xBD006DCD // c2 + .long 0x3CDA5A2C // c3 + .long 0xBBB0B3D2 // c4 + .long 0x3ED5A0D8 // B' = pi/2 - B (high single) + .long 0x321886FF // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE101985 // c0 (high single) + .long 0xB02FB2B8 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC31BF3 // c1 (low single) + .long 0xBCF0F04D // c2 + .long 0x3CD60BC7 // c3 + .long 0xBBA138BA // c4 + .long 0x3EC90FDB // B' = pi/2 - B (high single) + .long 0xB23BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE07709D // c0 (high single) + .long 0xB18A2A83 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC03FA2 // c1 (low single) + .long 0xBCE15096 // c2 + .long 0x3CD26472 // c3 + .long 0xBB9A1270 // c4 + .long 0x3EBC7EDD // B' = pi/2 - B (high single) + .long 0xB0800ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDFDA0CB // c0 (high single) + .long 0x2F14FCA0 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBD93F7 // c1 (low single) + .long 0xBCD1F71B // c2 + .long 0x3CCEDD2B // c3 + .long 0xBB905946 // c4 + .long 0x3EAFEDDF // B' = pi/2 - B (high single) + .long 0x321BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDEC708C // c0 (high single) + .long 0xB14895C4 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBB181E // c1 (low single) + .long 0xBCC2DEA6 // c2 + .long 0x3CCB5027 // c3 + .long 0xBB7F3969 // c4 + .long 0x3EA35CE2 // B' = pi/2 - B (high single) + .long 0xB23889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDDB4F55 // c0 (high single) + .long 0x30F6437E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB8CB52 // c1 (low single) + .long 0xBCB40210 // c2 + .long 0x3CC82D45 // c3 + .long 0xBB643075 // c4 + .long 0x3E96CBE4 // B' = pi/2 - B (high single) + .long 0xB04CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDCA3BFF // c0 (high single) + .long 0x311C95EA // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB6ACDE // c1 (low single) + .long 0xBCA55C5B // c2 + .long 0x3CC5BC04 // c3 + .long 0xBB63A969 // c4 + .long 0x3E8A3AE6 // B' = pi/2 - B (high single) + .long 0x321EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDB93569 // c0 (high single) + .long 0xAFB9ED00 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB4BC1F // c1 (low single) + .long 0xBC96E905 // c2 + .long 0x3CC2E6F5 // c3 + .long 0xBB3E10A6 // c4 + .long 0x3E7B53D1 // B' = pi/2 - B (high single) + .long 0x31955386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDA83A77 // c0 (high single) + .long 0x316D967A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB2F87C // c1 (low single) + .long 0xBC88A31F // c2 + .long 0x3CC0E763 // c3 + .long 0xBB3F1666 // c4 + .long 0x3E6231D6 // B' = pi/2 - B (high single) + .long 0xB019A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD974A0D // c0 (high single) + .long 0xB14F365B // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB1616F // c1 (low single) + .long 0xBC750CD8 // c2 + .long 0x3CBEB595 // c3 + .long 0xBB22B883 // c4 + .long 0x3E490FDB // B' = pi/2 - B (high single) + .long 0xB1BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD866317 // c0 (high single) + .long 0xAFF02140 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAFF67D // c1 (low single) + .long 0xBC591CD0 // c2 + .long 0x3CBCBEAD // c3 + .long 0xBB04BBEC // c4 + .long 0x3E2FEDDF // B' = pi/2 - B (high single) + .long 0x319BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD6B08FF // c0 (high single) + .long 0xB0EED236 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAEB739 // c1 (low single) + .long 0xBC3D6D51 // c2 + .long 0x3CBB485D // c3 + .long 0xBAFFF5BA // c4 + .long 0x3E16CBE4 // B' = pi/2 - B (high single) + .long 0xAFCCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD495A6C // c0 (high single) + .long 0xB0A427BD // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DADA345 // c1 (low single) + .long 0xBC21F648 // c2 + .long 0x3CB9D1B4 // c3 + .long 0xBACB5567 // c4 + .long 0x3DFB53D1 // B' = pi/2 - B (high single) + .long 0x31155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD27B856 // c0 (high single) + .long 0xB0F7EE91 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DACBA4E // c1 (low single) + .long 0xBC06AEE3 // c2 + .long 0x3CB8E5DC // c3 + .long 0xBAEC00EE // c4 + .long 0x3DC90FDB // B' = pi/2 - B (high single) + .long 0xB13BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD0620A3 // c0 (high single) + .long 0xB0ECAB40 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DABFC11 // c1 (low single) + .long 0xBBD7200F // c2 + .long 0x3CB79475 // c3 + .long 0xBA2B0ADC // c4 + .long 0x3D96CBE4 // B' = pi/2 - B (high single) + .long 0xAF4CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBCC92278 // c0 (high single) + .long 0x302F2E68 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAB6854 // c1 (low single) + .long 0xBBA1214F // c2 + .long 0x3CB6C1E9 // c3 + .long 0x3843C2F3 // c4 + .long 0x3D490FDB // B' = pi/2 - B (high single) + .long 0xB0BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBC861015 // c0 (high single) + .long 0xAFD68E2E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAAFEEB // c1 (low single) + .long 0xBB569F3F // c2 + .long 0x3CB6A84E // c3 + .long 0xBAC64194 // c4 + .long 0x3CC90FDB // B' = pi/2 - B (high single) + .long 0xB03BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBC060BF3 // c0 (high single) + .long 0x2FE251AE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAABFB9 // c1 (low single) + .long 0xBAD67C60 // c2 + .long 0x3CB64CA5 // c3 + .long 0xBACDE881 // c4 + .long 0x00000000 // B' = pi/2 - B (high single) + .long 0x00000000 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x00000000 // c0 (high single) + .long 0x00000000 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAAAAAB // c1 (low single) + .long 0x00000000 // c2 + .long 0x3CB5E28B // c3 + .long 0x00000000 // c4 + .long 0xBCC90FDB // B' = pi/2 - B (high single) + .long 0x303BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3C060BF3 // c0 (high single) + .long 0xAFE251AE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAABFB9 // c1 (low single) + .long 0x3AD67C60 // c2 + .long 0x3CB64CA5 // c3 + .long 0x3ACDE881 // c4 + .long 0xBD490FDB // B' = pi/2 - B (high single) + .long 0x30BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3C861015 // c0 (high single) + .long 0x2FD68E2E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAAFEEB // c1 (low single) + .long 0x3B569F3F // c2 + .long 0x3CB6A84E // c3 + .long 0x3AC64194 // c4 + .long 0xBD96CBE4 // B' = pi/2 - B (high single) + .long 0x2F4CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3CC92278 // c0 (high single) + .long 0xB02F2E68 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAB6854 // c1 (low single) + .long 0x3BA1214F // c2 + .long 0x3CB6C1E9 // c3 + .long 0xB843C2F2 // c4 + .long 0xBDC90FDB // B' = pi/2 - B (high single) + .long 0x313BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D0620A3 // c0 (high single) + .long 0x30ECAB40 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DABFC11 // c1 (low single) + .long 0x3BD7200F // c2 + .long 0x3CB79475 // c3 + .long 0x3A2B0ADC // c4 + .long 0xBDFB53D1 // B' = pi/2 - B (high single) + .long 0xB1155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D27B856 // c0 (high single) + .long 0x30F7EE91 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DACBA4E // c1 (low single) + .long 0x3C06AEE3 // c2 + .long 0x3CB8E5DC // c3 + .long 0x3AEC00EE // c4 + .long 0xBE16CBE4 // B' = pi/2 - B (high single) + .long 0x2FCCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D495A6C // c0 (high single) + .long 0x30A427BD // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DADA345 // c1 (low single) + .long 0x3C21F648 // c2 + .long 0x3CB9D1B4 // c3 + .long 0x3ACB5567 // c4 + .long 0xBE2FEDDF // B' = pi/2 - B (high single) + .long 0xB19BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D6B08FF // c0 (high single) + .long 0x30EED236 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAEB739 // c1 (low single) + .long 0x3C3D6D51 // c2 + .long 0x3CBB485D // c3 + .long 0x3AFFF5BA // c4 + .long 0xBE490FDB // B' = pi/2 - B (high single) + .long 0x31BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D866317 // c0 (high single) + .long 0x2FF02140 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAFF67D // c1 (low single) + .long 0x3C591CD0 // c2 + .long 0x3CBCBEAD // c3 + .long 0x3B04BBEC // c4 + .long 0xBE6231D6 // B' = pi/2 - B (high single) + .long 0x3019A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D974A0D // c0 (high single) + .long 0x314F365B // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB1616F // c1 (low single) + .long 0x3C750CD8 // c2 + .long 0x3CBEB595 // c3 + .long 0x3B22B883 // c4 + .long 0xBE7B53D1 // B' = pi/2 - B (high single) + .long 0xB1955386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DA83A77 // c0 (high single) + .long 0xB16D967A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB2F87C // c1 (low single) + .long 0x3C88A31F // c2 + .long 0x3CC0E763 // c3 + .long 0x3B3F1666 // c4 + .long 0xBE8A3AE6 // B' = pi/2 - B (high single) + .long 0xB21EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DB93569 // c0 (high single) + .long 0x2FB9ED00 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB4BC1F // c1 (low single) + .long 0x3C96E905 // c2 + .long 0x3CC2E6F5 // c3 + .long 0x3B3E10A6 // c4 + .long 0xBE96CBE4 // B' = pi/2 - B (high single) + .long 0x304CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DCA3BFF // c0 (high single) + .long 0xB11C95EA // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB6ACDE // c1 (low single) + .long 0x3CA55C5B // c2 + .long 0x3CC5BC04 // c3 + .long 0x3B63A969 // c4 + .long 0xBEA35CE2 // B' = pi/2 - B (high single) + .long 0x323889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DDB4F55 // c0 (high single) + .long 0xB0F6437E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB8CB52 // c1 (low single) + .long 0x3CB40210 // c2 + .long 0x3CC82D45 // c3 + .long 0x3B643075 // c4 + .long 0xBEAFEDDF // B' = pi/2 - B (high single) + .long 0xB21BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DEC708C // c0 (high single) + .long 0x314895C4 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBB181E // c1 (low single) + .long 0x3CC2DEA6 // c2 + .long 0x3CCB5027 // c3 + .long 0x3B7F3969 // c4 + .long 0xBEBC7EDD // B' = pi/2 - B (high single) + .long 0x30800ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DFDA0CB // c0 (high single) + .long 0xAF14FCA0 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBD93F7 // c1 (low single) + .long 0x3CD1F71B // c2 + .long 0x3CCEDD2B // c3 + .long 0x3B905946 // c4 + .long 0xBEC90FDB // B' = pi/2 - B (high single) + .long 0x323BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E07709D // c0 (high single) + .long 0x318A2A83 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC03FA2 // c1 (low single) + .long 0x3CE15096 // c2 + .long 0x3CD26472 // c3 + .long 0x3B9A1270 // c4 + .long 0xBED5A0D8 // B' = pi/2 - B (high single) + .long 0xB21886FF // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E101985 // c0 (high single) + .long 0x302FB2B8 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC31BF3 // c1 (low single) + .long 0x3CF0F04D // c2 + .long 0x3CD60BC7 // c3 + .long 0x3BA138BA // c4 + .long 0xBEE231D6 // B' = pi/2 - B (high single) + .long 0x3099A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E18CBB7 // c0 (high single) + .long 0x2FE28430 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC629CE // c1 (low single) + .long 0x3D006DCD // c2 + .long 0x3CDA5A2C // c3 + .long 0x3BB0B3D2 // c4 + .long 0xBEEEC2D4 // B' = pi/2 - B (high single) + .long 0x323EF0A7 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E2187D0 // c0 (high single) + .long 0x31B7C7F7 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC96A2B // c1 (low single) + .long 0x3D088C22 // c2 + .long 0x3CDE950E // c3 + .long 0x3BB89AD1 // c4 + .long 0xBEFB53D1 // B' = pi/2 - B (high single) + .long 0xB2155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E2A4E71 // c0 (high single) + .long 0x319CFCEC // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DCCDE11 // c1 (low single) + .long 0x3D10D605 // c2 + .long 0x3CE382A7 // c3 + .long 0x3BC8BD97 // c4 + .long 0xBF03F267 // B' = pi/2 - B (high single) + .long 0xB2F4CBD9 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E33203E // c0 (high single) + .long 0xB1FEF5BE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD0869C // c1 (low single) + .long 0x3D194E8C // c2 + .long 0x3CE8DCA9 // c3 + .long 0x3BDADA55 // c4 + .long 0xBF0A3AE6 // B' = pi/2 - B (high single) + .long 0xB29EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E3BFDDC // c0 (high single) + .long 0x3132521A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD464FC // c1 (low single) + .long 0x3D21F8F1 // c2 + .long 0x3CEE3076 // c3 + .long 0x3BE6D263 // c4 + .long 0xBF108365 // B' = pi/2 - B (high single) + .long 0xB212200D // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E44E7F8 // c0 (high single) + .long 0x31CAA3CB // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD87A74 // c1 (low single) + .long 0x3D2AD885 // c2 + .long 0x3CF3C785 // c3 + .long 0x3BF1E348 // c4 + .long 0xBF16CBE4 // B' = pi/2 - B (high single) + .long 0x30CCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E4DDF41 // c0 (high single) + .long 0x31AEA094 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DDCC85C // c1 (low single) + .long 0x3D33F0BE // c2 + .long 0x3CFA23B0 // c3 + .long 0x3C01FCF7 // c4 + .long 0xBF1D1463 // B' = pi/2 - B (high single) + .long 0x32455799 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E56E46B // c0 (high single) + .long 0xB1E3F001 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE15025 // c1 (low single) + .long 0x3D3D4550 // c2 + .long 0x3D00462D // c3 + .long 0x3C092C98 // c4 + .long 0xBF235CE2 // B' = pi/2 - B (high single) + .long 0x32B889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E5FF82C // c0 (high single) + .long 0x3170723A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE61354 // c1 (low single) + .long 0x3D46DA06 // c2 + .long 0x3D0401F8 // c3 + .long 0x3C14E013 // c4 + .long 0xBF29A560 // B' = pi/2 - B (high single) + .long 0xB2F19861 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E691B44 // c0 (high single) + .long 0xB1F18936 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DEB138B // c1 (low single) + .long 0x3D50B2F7 // c2 + .long 0x3D07BE3A // c3 + .long 0x3C1E46A7 // c4 + .long 0xBF2FEDDF // B' = pi/2 - B (high single) + .long 0xB29BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E724E73 // c0 (high single) + .long 0xB120C3E2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF05283 // c1 (low single) + .long 0x3D5AD45E // c2 + .long 0x3D0BAFBF // c3 + .long 0x3C27B8BB // c4 + .long 0xBF36365E // B' = pi/2 - B (high single) + .long 0xB20BB91C // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E7B9282 // c0 (high single) + .long 0x313383D2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF5D211 // c1 (low single) + .long 0x3D6542B3 // c2 + .long 0x3D0FE5E5 // c3 + .long 0x3C31FB14 // c4 + .long 0xBF3C7EDD // B' = pi/2 - B (high single) + .long 0x31000ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E827420 // c0 (high single) + .long 0xB20B8B4D // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DFB9428 // c1 (low single) + .long 0x3D7002B4 // c2 + .long 0x3D142A6C // c3 + .long 0x3C3A47FF // c4 + .long 0xBF42C75C // B' = pi/2 - B (high single) + .long 0x324BBE8A // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E87283F // c0 (high single) + .long 0x3268B966 // c0 (low single) + .long 0x3F000000 // c1 (high 1 bit) + .long 0xBDFE6529 // c1 (low single) + .long 0x3D7B1953 // c2 + .long 0x3D18E109 // c3 + .long 0x3C4570B0 // c4 + .long 0xBF490FDB // B' = pi/2 - B (high single) + .long 0x32BBBD2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF800000 // c0 (high single) + .long 0x2B410000 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xB3000000 // c1 (low single) + .long 0xC0000000 // c2 + .long 0x402AB7C8 // c3 + .long 0xC05561DB // c4 + .long 0xBF4F5859 // B' = pi/2 - B (high single) + .long 0xB2EE64E8 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF73BB75 // c0 (high single) + .long 0xB2FC908D // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBDBF94B0 // c1 (low single) + .long 0xBFE8550F // c2 + .long 0x40174F67 // c3 + .long 0xC036C608 // c4 + .long 0xBF55A0D8 // B' = pi/2 - B (high single) + .long 0xB29886FF // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF68065E // c0 (high single) + .long 0xB2670D1A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE36D1D6 // c1 (low single) + .long 0xBFD35007 // c2 + .long 0x4006A861 // c3 + .long 0xC01D4BDA // c4 + .long 0xBF5BE957 // B' = pi/2 - B (high single) + .long 0xB205522A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF5CD3BE // c0 (high single) + .long 0xB1460308 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE8306C5 // c1 (low single) + .long 0xBFC09232 // c2 + .long 0x3FF09632 // c3 + .long 0xC007DB00 // c4 + .long 0xBF6231D6 // B' = pi/2 - B (high single) + .long 0x3119A6A2 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF521801 // c0 (high single) + .long 0xB2AE4178 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEA72938 // c1 (low single) + .long 0xBFAFCC22 // c2 + .long 0x3FD7BD4A // c3 + .long 0xBFEBB01B // c4 + .long 0xBF687A55 // B' = pi/2 - B (high single) + .long 0x3252257B // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF47C8CC // c0 (high single) + .long 0x3200F51A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEC82C6C // c1 (low single) + .long 0xBFA0BAE9 // c2 + .long 0x3FC2252F // c3 + .long 0xBFCD24C7 // c4 + .long 0xBF6EC2D4 // B' = pi/2 - B (high single) + .long 0x32BEF0A7 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF3DDCCF // c0 (high single) + .long 0xB2D29606 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEE6606F // c1 (low single) + .long 0xBF9325D6 // c2 + .long 0x3FAF4E69 // c3 + .long 0xBFB3080C // c4 + .long 0xBF750B52 // B' = pi/2 - B (high single) + .long 0xB2EB316F // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF344BA9 // c0 (high single) + .long 0x32B8B0EA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EFDF4F7 // c1 (low single) + .long 0xBF86DCA8 // c2 + .long 0x3F9ED53B // c3 + .long 0xBF9CBEDE // c4 + .long 0xBF7B53D1 // B' = pi/2 - B (high single) + .long 0xB2955386 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF2B0DC1 // c0 (high single) + .long 0xB2AB7EBA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EE496C2 // c1 (low single) + .long 0xBF776C40 // c2 + .long 0x3F9065C1 // c3 + .long 0xBF89AFB6 // c4 + .long 0xBF80CE28 // B' = pi/2 - B (high single) + .long 0xB1FDD672 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF221C37 // c0 (high single) + .long 0x320C61DC // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3ECD4F71 // c1 (low single) + .long 0xBF631DAA // c2 + .long 0x3F83B471 // c3 + .long 0xBF7281EA // c4 + .long 0xBF83F267 // B' = pi/2 - B (high single) + .long 0xB374CBD9 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF1970C4 // c0 (high single) + .long 0xB2904848 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EB7EFF8 // c1 (low single) + .long 0xBF50907C // c2 + .long 0x3F710FEA // c3 + .long 0xBF561FED // c4 + .long 0xBF8716A7 // B' = pi/2 - B (high single) + .long 0x32588C6D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF1105AF // c0 (high single) + .long 0xB2F045B0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EA44EE2 // c1 (low single) + .long 0xBF3F8FDB // c2 + .long 0x3F5D3FD0 // c3 + .long 0xBF3D0A23 // c4 + .long 0xBF8A3AE6 // B' = pi/2 - B (high single) + .long 0xB31EEDF0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF08D5B9 // c0 (high single) + .long 0x325EF98E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E92478D // c1 (low single) + .long 0xBF2FEDC9 // c2 + .long 0x3F4BCD58 // c3 + .long 0xBF27AE9E // c4 + .long 0xBF8D5F26 // B' = pi/2 - B (high single) + .long 0x330C0105 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF00DC0D // c0 (high single) + .long 0x3214AF72 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E81B994 // c1 (low single) + .long 0xBF218233 // c2 + .long 0x3F3C4531 // c3 + .long 0xBF149688 // c4 + .long 0xBF908365 // B' = pi/2 - B (high single) + .long 0xB292200D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEF22870 // c0 (high single) + .long 0xB25271F4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E65107A // c1 (low single) + .long 0xBF1429F0 // c2 + .long 0x3F2E8AFC // c3 + .long 0xBF040498 // c4 + .long 0xBF93A7A5 // B' = pi/2 - B (high single) + .long 0x3361DEEE // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEE2F439 // c0 (high single) + .long 0x31F4399E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E49341C // c1 (low single) + .long 0xBF07C61A // c2 + .long 0x3F22560F // c3 + .long 0xBEEAA81E // c4 + .long 0xBF96CBE4 // B' = pi/2 - B (high single) + .long 0x314CDE2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBED413CD // c0 (high single) + .long 0x31C06152 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E2FB0CC // c1 (low single) + .long 0xBEF876CB // c2 + .long 0x3F177807 // c3 + .long 0xBED08437 // c4 + .long 0xBF99F023 // B' = pi/2 - B (high single) + .long 0xB3484328 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEC5800D // c0 (high single) + .long 0x3214C3C1 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E185E54 // c1 (low single) + .long 0xBEE2E342 // c2 + .long 0x3F0DCA73 // c3 + .long 0xBEB8CC21 // c4 + .long 0xBF9D1463 // B' = pi/2 - B (high single) + .long 0x32C55799 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEB73250 // c0 (high single) + .long 0x32028823 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E0318F8 // c1 (low single) + .long 0xBECEA678 // c2 + .long 0x3F053C67 // c3 + .long 0xBEA41E53 // c4 + .long 0xBFA038A2 // B' = pi/2 - B (high single) + .long 0xB2E4CA7E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEA92457 // c0 (high single) + .long 0xB0B80830 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DDF8200 // c1 (low single) + .long 0xBEBB99E9 // c2 + .long 0x3EFB4AA8 // c3 + .long 0xBE9182BE // c4 + .long 0xBFA35CE2 // B' = pi/2 - B (high single) + .long 0x333889B6 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE9B5042 // c0 (high single) + .long 0x322A3AEE // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DBC7490 // c1 (low single) + .long 0xBEA99AF5 // c2 + .long 0x3EEDE107 // c3 + .long 0xBE80E9AA // c4 + .long 0xBFA68121 // B' = pi/2 - B (high single) + .long 0xB1E43AAC // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE8DB082 // c0 (high single) + .long 0x3132A234 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D9CD7D0 // c1 (low single) + .long 0xBE988A60 // c2 + .long 0x3EE203E3 // c3 + .long 0xBE63582C // c4 + .long 0xBFA9A560 // B' = pi/2 - B (high single) + .long 0xB3719861 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE803FD4 // c0 (high single) + .long 0x32279E66 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D807FC8 // c1 (low single) + .long 0xBE884BD4 // c2 + .long 0x3ED7812D // c3 + .long 0xBE4636EB // c4 + .long 0xBFACC9A0 // B' = pi/2 - B (high single) + .long 0x32655A50 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE65F267 // c0 (high single) + .long 0xB1B4B1DF // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D4E8B90 // c1 (low single) + .long 0xBE718ACA // c2 + .long 0x3ECE7164 // c3 + .long 0xBE2DC161 // c4 + .long 0xBFAFEDDF // B' = pi/2 - B (high single) + .long 0xB31BBA77 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE4BAFAF // c0 (high single) + .long 0xAF2A29E0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D221018 // c1 (low single) + .long 0xBE53BED0 // c2 + .long 0x3EC67E26 // c3 + .long 0xBE1568E2 // c4 + .long 0xBFB3121F // B' = pi/2 - B (high single) + .long 0x330F347D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE31AE4D // c0 (high single) + .long 0x31F32251 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CF6A500 // c1 (low single) + .long 0xBE3707DA // c2 + .long 0x3EBFA489 // c3 + .long 0xBDFBD9C7 // c4 + .long 0xBFB6365E // B' = pi/2 - B (high single) + .long 0xB28BB91C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE17E564 // c0 (high single) + .long 0x31C5A2E4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CB440D0 // c1 (low single) + .long 0xBE1B3D00 // c2 + .long 0x3EB9F664 // c3 + .long 0xBDD647C0 // c4 + .long 0xBFB95A9E // B' = pi/2 - B (high single) + .long 0x33651267 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBDFC98C2 // c0 (high single) + .long 0x30AE525C // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C793D20 // c1 (low single) + .long 0xBE003845 // c2 + .long 0x3EB5271F // c3 + .long 0xBDAC669E // c4 + .long 0xBFBC7EDD // B' = pi/2 - B (high single) + .long 0x31800ADD // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBDC9B5DC // c0 (high single) + .long 0xB145AD86 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C1EEF20 // c1 (low single) + .long 0xBDCBAAEA // c2 + .long 0x3EB14E5E // c3 + .long 0xBD858BB2 // c4 + .long 0xBFBFA31C // B' = pi/2 - B (high single) + .long 0xB3450FB0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBD9711CE // c0 (high single) + .long 0xB14FEB28 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3BB24C00 // c1 (low single) + .long 0xBD97E43A // c2 + .long 0x3EAE6A89 // c3 + .long 0xBD4D07E0 // c4 + .long 0xBFC2C75C // B' = pi/2 - B (high single) + .long 0x32CBBE8A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBD49393C // c0 (high single) + .long 0xB0A39F5B // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3B1E2B00 // c1 (low single) + .long 0xBD49B5D4 // c2 + .long 0x3EAC4F10 // c3 + .long 0xBCFD9425 // c4 + .long 0xBFC5EB9B // B' = pi/2 - B (high single) + .long 0xB2DE638C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBCC91A31 // c0 (high single) + .long 0xAF8E8D1A // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3A1DFA00 // c1 (low single) + .long 0xBCC9392D // c2 + .long 0x3EAB1889 // c3 + .long 0xBC885D3B // c4 + .align 16 + .type __svml_stan_data_internal, @object + .size __svml_stan_data_internal, .-__svml_stan_data_internal + .space 16, 0x00 + .align 16 #ifdef __svml_stan_reduction_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _sPtable[256][3][1]; +typedef struct { + __declspec(align(16)) VUINT32 _sPtable[256][3][1]; } __svml_stan_reduction_data_internal; #endif __svml_stan_reduction_data_internal: - /* P_hi P_med P_lo */ - .long 0x00000000, 0x00000000, 0x00000000 /* 0 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 1 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 2 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 3 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 4 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 5 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 6 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 7 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 8 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 9 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 10 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 11 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 12 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 13 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 14 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 15 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 16 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 17 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 18 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 19 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 20 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 21 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 22 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 23 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 24 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 25 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 26 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 27 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 28 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 29 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 30 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 31 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 32 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 33 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 34 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 35 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 36 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 37 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 38 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 39 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 40 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 41 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 42 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 43 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 44 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 45 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 46 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 47 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 48 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 49 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 50 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 51 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 52 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 53 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 54 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 55 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 56 */ - .long 0x00000000, 0x00000000, 0x00000001 /* 57 */ - .long 0x00000000, 0x00000000, 0x00000002 /* 58 */ - .long 0x00000000, 0x00000000, 0x00000005 /* 59 */ - .long 0x00000000, 0x00000000, 0x0000000A /* 60 */ - .long 0x00000000, 0x00000000, 0x00000014 /* 61 */ - .long 0x00000000, 0x00000000, 0x00000028 /* 62 */ - .long 0x00000000, 0x00000000, 0x00000051 /* 63 */ - .long 0x00000000, 0x00000000, 0x000000A2 /* 64 */ - .long 0x00000000, 0x00000000, 0x00000145 /* 65 */ - .long 0x00000000, 0x00000000, 0x0000028B /* 66 */ - .long 0x00000000, 0x00000000, 0x00000517 /* 67 */ - .long 0x00000000, 0x00000000, 0x00000A2F /* 68 */ - .long 0x00000000, 0x00000000, 0x0000145F /* 69 */ - .long 0x00000000, 0x00000000, 0x000028BE /* 70 */ - .long 0x00000000, 0x00000000, 0x0000517C /* 71 */ - .long 0x00000000, 0x00000000, 0x0000A2F9 /* 72 */ - .long 0x00000000, 0x00000000, 0x000145F3 /* 73 */ - .long 0x00000000, 0x00000000, 0x00028BE6 /* 74 */ - .long 0x00000000, 0x00000000, 0x000517CC /* 75 */ - .long 0x00000000, 0x00000000, 0x000A2F98 /* 76 */ - .long 0x00000000, 0x00000000, 0x00145F30 /* 77 */ - .long 0x00000000, 0x00000000, 0x0028BE60 /* 78 */ - .long 0x00000000, 0x00000000, 0x00517CC1 /* 79 */ - .long 0x00000000, 0x00000000, 0x00A2F983 /* 80 */ - .long 0x00000000, 0x00000000, 0x0145F306 /* 81 */ - .long 0x00000000, 0x00000000, 0x028BE60D /* 82 */ - .long 0x00000000, 0x00000000, 0x0517CC1B /* 83 */ - .long 0x00000000, 0x00000000, 0x0A2F9836 /* 84 */ - .long 0x00000000, 0x00000000, 0x145F306D /* 85 */ - .long 0x00000000, 0x00000000, 0x28BE60DB /* 86 */ - .long 0x00000000, 0x00000000, 0x517CC1B7 /* 87 */ - .long 0x00000000, 0x00000000, 0xA2F9836E /* 88 */ - .long 0x00000000, 0x00000001, 0x45F306DC /* 89 */ - .long 0x00000000, 0x00000002, 0x8BE60DB9 /* 90 */ - .long 0x00000000, 0x00000005, 0x17CC1B72 /* 91 */ - .long 0x00000000, 0x0000000A, 0x2F9836E4 /* 92 */ - .long 0x00000000, 0x00000014, 0x5F306DC9 /* 93 */ - .long 0x00000000, 0x00000028, 0xBE60DB93 /* 94 */ - .long 0x00000000, 0x00000051, 0x7CC1B727 /* 95 */ - .long 0x00000000, 0x000000A2, 0xF9836E4E /* 96 */ - .long 0x00000000, 0x00000145, 0xF306DC9C /* 97 */ - .long 0x00000000, 0x0000028B, 0xE60DB939 /* 98 */ - .long 0x00000000, 0x00000517, 0xCC1B7272 /* 99 */ - .long 0x00000000, 0x00000A2F, 0x9836E4E4 /* 100 */ - .long 0x00000000, 0x0000145F, 0x306DC9C8 /* 101 */ - .long 0x00000000, 0x000028BE, 0x60DB9391 /* 102 */ - .long 0x00000000, 0x0000517C, 0xC1B72722 /* 103 */ - .long 0x00000000, 0x0000A2F9, 0x836E4E44 /* 104 */ - .long 0x00000000, 0x000145F3, 0x06DC9C88 /* 105 */ - .long 0x00000000, 0x00028BE6, 0x0DB93910 /* 106 */ - .long 0x00000000, 0x000517CC, 0x1B727220 /* 107 */ - .long 0x00000000, 0x000A2F98, 0x36E4E441 /* 108 */ - .long 0x00000000, 0x00145F30, 0x6DC9C882 /* 109 */ - .long 0x00000000, 0x0028BE60, 0xDB939105 /* 110 */ - .long 0x00000000, 0x00517CC1, 0xB727220A /* 111 */ - .long 0x00000000, 0x00A2F983, 0x6E4E4415 /* 112 */ - .long 0x00000000, 0x0145F306, 0xDC9C882A /* 113 */ - .long 0x00000000, 0x028BE60D, 0xB9391054 /* 114 */ - .long 0x00000000, 0x0517CC1B, 0x727220A9 /* 115 */ - .long 0x00000000, 0x0A2F9836, 0xE4E44152 /* 116 */ - .long 0x00000000, 0x145F306D, 0xC9C882A5 /* 117 */ - .long 0x00000000, 0x28BE60DB, 0x9391054A /* 118 */ - .long 0x00000000, 0x517CC1B7, 0x27220A94 /* 119 */ - .long 0x00000000, 0xA2F9836E, 0x4E441529 /* 120 */ - .long 0x00000001, 0x45F306DC, 0x9C882A53 /* 121 */ - .long 0x00000002, 0x8BE60DB9, 0x391054A7 /* 122 */ - .long 0x00000005, 0x17CC1B72, 0x7220A94F /* 123 */ - .long 0x0000000A, 0x2F9836E4, 0xE441529F /* 124 */ - .long 0x00000014, 0x5F306DC9, 0xC882A53F /* 125 */ - .long 0x00000028, 0xBE60DB93, 0x91054A7F /* 126 */ - .long 0x00000051, 0x7CC1B727, 0x220A94FE /* 127 */ - .long 0x000000A2, 0xF9836E4E, 0x441529FC /* 128 */ - .long 0x00000145, 0xF306DC9C, 0x882A53F8 /* 129 */ - .long 0x0000028B, 0xE60DB939, 0x1054A7F0 /* 130 */ - .long 0x00000517, 0xCC1B7272, 0x20A94FE1 /* 131 */ - .long 0x00000A2F, 0x9836E4E4, 0x41529FC2 /* 132 */ - .long 0x0000145F, 0x306DC9C8, 0x82A53F84 /* 133 */ - .long 0x000028BE, 0x60DB9391, 0x054A7F09 /* 134 */ - .long 0x0000517C, 0xC1B72722, 0x0A94FE13 /* 135 */ - .long 0x0000A2F9, 0x836E4E44, 0x1529FC27 /* 136 */ - .long 0x000145F3, 0x06DC9C88, 0x2A53F84E /* 137 */ - .long 0x00028BE6, 0x0DB93910, 0x54A7F09D /* 138 */ - .long 0x000517CC, 0x1B727220, 0xA94FE13A /* 139 */ - .long 0x000A2F98, 0x36E4E441, 0x529FC275 /* 140 */ - .long 0x00145F30, 0x6DC9C882, 0xA53F84EA /* 141 */ - .long 0x0028BE60, 0xDB939105, 0x4A7F09D5 /* 142 */ - .long 0x00517CC1, 0xB727220A, 0x94FE13AB /* 143 */ - .long 0x00A2F983, 0x6E4E4415, 0x29FC2757 /* 144 */ - .long 0x0145F306, 0xDC9C882A, 0x53F84EAF /* 145 */ - .long 0x028BE60D, 0xB9391054, 0xA7F09D5F /* 146 */ - .long 0x0517CC1B, 0x727220A9, 0x4FE13ABE /* 147 */ - .long 0x0A2F9836, 0xE4E44152, 0x9FC2757D /* 148 */ - .long 0x145F306D, 0xC9C882A5, 0x3F84EAFA /* 149 */ - .long 0x28BE60DB, 0x9391054A, 0x7F09D5F4 /* 150 */ - .long 0x517CC1B7, 0x27220A94, 0xFE13ABE8 /* 151 */ - .long 0xA2F9836E, 0x4E441529, 0xFC2757D1 /* 152 */ - .long 0x45F306DC, 0x9C882A53, 0xF84EAFA3 /* 153 */ - .long 0x8BE60DB9, 0x391054A7, 0xF09D5F47 /* 154 */ - .long 0x17CC1B72, 0x7220A94F, 0xE13ABE8F /* 155 */ - .long 0x2F9836E4, 0xE441529F, 0xC2757D1F /* 156 */ - .long 0x5F306DC9, 0xC882A53F, 0x84EAFA3E /* 157 */ - .long 0xBE60DB93, 0x91054A7F, 0x09D5F47D /* 158 */ - .long 0x7CC1B727, 0x220A94FE, 0x13ABE8FA /* 159 */ - .long 0xF9836E4E, 0x441529FC, 0x2757D1F5 /* 160 */ - .long 0xF306DC9C, 0x882A53F8, 0x4EAFA3EA /* 161 */ - .long 0xE60DB939, 0x1054A7F0, 0x9D5F47D4 /* 162 */ - .long 0xCC1B7272, 0x20A94FE1, 0x3ABE8FA9 /* 163 */ - .long 0x9836E4E4, 0x41529FC2, 0x757D1F53 /* 164 */ - .long 0x306DC9C8, 0x82A53F84, 0xEAFA3EA6 /* 165 */ - .long 0x60DB9391, 0x054A7F09, 0xD5F47D4D /* 166 */ - .long 0xC1B72722, 0x0A94FE13, 0xABE8FA9A /* 167 */ - .long 0x836E4E44, 0x1529FC27, 0x57D1F534 /* 168 */ - .long 0x06DC9C88, 0x2A53F84E, 0xAFA3EA69 /* 169 */ - .long 0x0DB93910, 0x54A7F09D, 0x5F47D4D3 /* 170 */ - .long 0x1B727220, 0xA94FE13A, 0xBE8FA9A6 /* 171 */ - .long 0x36E4E441, 0x529FC275, 0x7D1F534D /* 172 */ - .long 0x6DC9C882, 0xA53F84EA, 0xFA3EA69B /* 173 */ - .long 0xDB939105, 0x4A7F09D5, 0xF47D4D37 /* 174 */ - .long 0xB727220A, 0x94FE13AB, 0xE8FA9A6E /* 175 */ - .long 0x6E4E4415, 0x29FC2757, 0xD1F534DD /* 176 */ - .long 0xDC9C882A, 0x53F84EAF, 0xA3EA69BB /* 177 */ - .long 0xB9391054, 0xA7F09D5F, 0x47D4D377 /* 178 */ - .long 0x727220A9, 0x4FE13ABE, 0x8FA9A6EE /* 179 */ - .long 0xE4E44152, 0x9FC2757D, 0x1F534DDC /* 180 */ - .long 0xC9C882A5, 0x3F84EAFA, 0x3EA69BB8 /* 181 */ - .long 0x9391054A, 0x7F09D5F4, 0x7D4D3770 /* 182 */ - .long 0x27220A94, 0xFE13ABE8, 0xFA9A6EE0 /* 183 */ - .long 0x4E441529, 0xFC2757D1, 0xF534DDC0 /* 184 */ - .long 0x9C882A53, 0xF84EAFA3, 0xEA69BB81 /* 185 */ - .long 0x391054A7, 0xF09D5F47, 0xD4D37703 /* 186 */ - .long 0x7220A94F, 0xE13ABE8F, 0xA9A6EE06 /* 187 */ - .long 0xE441529F, 0xC2757D1F, 0x534DDC0D /* 188 */ - .long 0xC882A53F, 0x84EAFA3E, 0xA69BB81B /* 189 */ - .long 0x91054A7F, 0x09D5F47D, 0x4D377036 /* 190 */ - .long 0x220A94FE, 0x13ABE8FA, 0x9A6EE06D /* 191 */ - .long 0x441529FC, 0x2757D1F5, 0x34DDC0DB /* 192 */ - .long 0x882A53F8, 0x4EAFA3EA, 0x69BB81B6 /* 193 */ - .long 0x1054A7F0, 0x9D5F47D4, 0xD377036D /* 194 */ - .long 0x20A94FE1, 0x3ABE8FA9, 0xA6EE06DB /* 195 */ - .long 0x41529FC2, 0x757D1F53, 0x4DDC0DB6 /* 196 */ - .long 0x82A53F84, 0xEAFA3EA6, 0x9BB81B6C /* 197 */ - .long 0x054A7F09, 0xD5F47D4D, 0x377036D8 /* 198 */ - .long 0x0A94FE13, 0xABE8FA9A, 0x6EE06DB1 /* 199 */ - .long 0x1529FC27, 0x57D1F534, 0xDDC0DB62 /* 200 */ - .long 0x2A53F84E, 0xAFA3EA69, 0xBB81B6C5 /* 201 */ - .long 0x54A7F09D, 0x5F47D4D3, 0x77036D8A /* 202 */ - .long 0xA94FE13A, 0xBE8FA9A6, 0xEE06DB14 /* 203 */ - .long 0x529FC275, 0x7D1F534D, 0xDC0DB629 /* 204 */ - .long 0xA53F84EA, 0xFA3EA69B, 0xB81B6C52 /* 205 */ - .long 0x4A7F09D5, 0xF47D4D37, 0x7036D8A5 /* 206 */ - .long 0x94FE13AB, 0xE8FA9A6E, 0xE06DB14A /* 207 */ - .long 0x29FC2757, 0xD1F534DD, 0xC0DB6295 /* 208 */ - .long 0x53F84EAF, 0xA3EA69BB, 0x81B6C52B /* 209 */ - .long 0xA7F09D5F, 0x47D4D377, 0x036D8A56 /* 210 */ - .long 0x4FE13ABE, 0x8FA9A6EE, 0x06DB14AC /* 211 */ - .long 0x9FC2757D, 0x1F534DDC, 0x0DB62959 /* 212 */ - .long 0x3F84EAFA, 0x3EA69BB8, 0x1B6C52B3 /* 213 */ - .long 0x7F09D5F4, 0x7D4D3770, 0x36D8A566 /* 214 */ - .long 0xFE13ABE8, 0xFA9A6EE0, 0x6DB14ACC /* 215 */ - .long 0xFC2757D1, 0xF534DDC0, 0xDB629599 /* 216 */ - .long 0xF84EAFA3, 0xEA69BB81, 0xB6C52B32 /* 217 */ - .long 0xF09D5F47, 0xD4D37703, 0x6D8A5664 /* 218 */ - .long 0xE13ABE8F, 0xA9A6EE06, 0xDB14ACC9 /* 219 */ - .long 0xC2757D1F, 0x534DDC0D, 0xB6295993 /* 220 */ - .long 0x84EAFA3E, 0xA69BB81B, 0x6C52B327 /* 221 */ - .long 0x09D5F47D, 0x4D377036, 0xD8A5664F /* 222 */ - .long 0x13ABE8FA, 0x9A6EE06D, 0xB14ACC9E /* 223 */ - .long 0x2757D1F5, 0x34DDC0DB, 0x6295993C /* 224 */ - .long 0x4EAFA3EA, 0x69BB81B6, 0xC52B3278 /* 225 */ - .long 0x9D5F47D4, 0xD377036D, 0x8A5664F1 /* 226 */ - .long 0x3ABE8FA9, 0xA6EE06DB, 0x14ACC9E2 /* 227 */ - .long 0x757D1F53, 0x4DDC0DB6, 0x295993C4 /* 228 */ - .long 0xEAFA3EA6, 0x9BB81B6C, 0x52B32788 /* 229 */ - .long 0xD5F47D4D, 0x377036D8, 0xA5664F10 /* 230 */ - .long 0xABE8FA9A, 0x6EE06DB1, 0x4ACC9E21 /* 231 */ - .long 0x57D1F534, 0xDDC0DB62, 0x95993C43 /* 232 */ - .long 0xAFA3EA69, 0xBB81B6C5, 0x2B327887 /* 233 */ - .long 0x5F47D4D3, 0x77036D8A, 0x5664F10E /* 234 */ - .long 0xBE8FA9A6, 0xEE06DB14, 0xACC9E21C /* 235 */ - .long 0x7D1F534D, 0xDC0DB629, 0x5993C439 /* 236 */ - .long 0xFA3EA69B, 0xB81B6C52, 0xB3278872 /* 237 */ - .long 0xF47D4D37, 0x7036D8A5, 0x664F10E4 /* 238 */ - .long 0xE8FA9A6E, 0xE06DB14A, 0xCC9E21C8 /* 239 */ - .long 0xD1F534DD, 0xC0DB6295, 0x993C4390 /* 240 */ - .long 0xA3EA69BB, 0x81B6C52B, 0x32788720 /* 241 */ - .long 0x47D4D377, 0x036D8A56, 0x64F10E41 /* 242 */ - .long 0x8FA9A6EE, 0x06DB14AC, 0xC9E21C82 /* 243 */ - .long 0x1F534DDC, 0x0DB62959, 0x93C43904 /* 244 */ - .long 0x3EA69BB8, 0x1B6C52B3, 0x27887208 /* 245 */ - .long 0x7D4D3770, 0x36D8A566, 0x4F10E410 /* 246 */ - .long 0xFA9A6EE0, 0x6DB14ACC, 0x9E21C820 /* 247 */ - .long 0xF534DDC0, 0xDB629599, 0x3C439041 /* 248 */ - .long 0xEA69BB81, 0xB6C52B32, 0x78872083 /* 249 */ - .long 0xD4D37703, 0x6D8A5664, 0xF10E4107 /* 250 */ - .long 0xA9A6EE06, 0xDB14ACC9, 0xE21C820F /* 251 */ - .long 0x534DDC0D, 0xB6295993, 0xC439041F /* 252 */ - .long 0xA69BB81B, 0x6C52B327, 0x8872083F /* 253 */ - .long 0x4D377036, 0xD8A5664F, 0x10E4107F /* 254 */ - .long 0x9A6EE06D, 0xB14ACC9E, 0x21C820FF /* 255 */ - .align 16 - .type __svml_stan_reduction_data_internal,@object - .size __svml_stan_reduction_data_internal,.-__svml_stan_reduction_data_internal - .align 16 + /* P_hi P_med P_lo */ + .long 0x00000000, 0x00000000, 0x00000000 /* 0 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 1 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 2 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 3 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 4 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 5 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 6 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 7 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 8 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 9 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 10 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 11 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 12 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 13 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 14 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 15 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 16 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 17 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 18 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 19 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 20 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 21 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 22 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 23 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 24 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 25 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 26 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 27 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 28 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 29 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 30 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 31 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 32 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 33 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 34 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 35 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 36 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 37 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 38 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 39 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 40 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 41 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 42 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 43 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 44 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 45 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 46 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 47 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 48 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 49 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 50 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 51 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 52 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 53 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 54 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 55 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 56 */ + .long 0x00000000, 0x00000000, 0x00000001 /* 57 */ + .long 0x00000000, 0x00000000, 0x00000002 /* 58 */ + .long 0x00000000, 0x00000000, 0x00000005 /* 59 */ + .long 0x00000000, 0x00000000, 0x0000000A /* 60 */ + .long 0x00000000, 0x00000000, 0x00000014 /* 61 */ + .long 0x00000000, 0x00000000, 0x00000028 /* 62 */ + .long 0x00000000, 0x00000000, 0x00000051 /* 63 */ + .long 0x00000000, 0x00000000, 0x000000A2 /* 64 */ + .long 0x00000000, 0x00000000, 0x00000145 /* 65 */ + .long 0x00000000, 0x00000000, 0x0000028B /* 66 */ + .long 0x00000000, 0x00000000, 0x00000517 /* 67 */ + .long 0x00000000, 0x00000000, 0x00000A2F /* 68 */ + .long 0x00000000, 0x00000000, 0x0000145F /* 69 */ + .long 0x00000000, 0x00000000, 0x000028BE /* 70 */ + .long 0x00000000, 0x00000000, 0x0000517C /* 71 */ + .long 0x00000000, 0x00000000, 0x0000A2F9 /* 72 */ + .long 0x00000000, 0x00000000, 0x000145F3 /* 73 */ + .long 0x00000000, 0x00000000, 0x00028BE6 /* 74 */ + .long 0x00000000, 0x00000000, 0x000517CC /* 75 */ + .long 0x00000000, 0x00000000, 0x000A2F98 /* 76 */ + .long 0x00000000, 0x00000000, 0x00145F30 /* 77 */ + .long 0x00000000, 0x00000000, 0x0028BE60 /* 78 */ + .long 0x00000000, 0x00000000, 0x00517CC1 /* 79 */ + .long 0x00000000, 0x00000000, 0x00A2F983 /* 80 */ + .long 0x00000000, 0x00000000, 0x0145F306 /* 81 */ + .long 0x00000000, 0x00000000, 0x028BE60D /* 82 */ + .long 0x00000000, 0x00000000, 0x0517CC1B /* 83 */ + .long 0x00000000, 0x00000000, 0x0A2F9836 /* 84 */ + .long 0x00000000, 0x00000000, 0x145F306D /* 85 */ + .long 0x00000000, 0x00000000, 0x28BE60DB /* 86 */ + .long 0x00000000, 0x00000000, 0x517CC1B7 /* 87 */ + .long 0x00000000, 0x00000000, 0xA2F9836E /* 88 */ + .long 0x00000000, 0x00000001, 0x45F306DC /* 89 */ + .long 0x00000000, 0x00000002, 0x8BE60DB9 /* 90 */ + .long 0x00000000, 0x00000005, 0x17CC1B72 /* 91 */ + .long 0x00000000, 0x0000000A, 0x2F9836E4 /* 92 */ + .long 0x00000000, 0x00000014, 0x5F306DC9 /* 93 */ + .long 0x00000000, 0x00000028, 0xBE60DB93 /* 94 */ + .long 0x00000000, 0x00000051, 0x7CC1B727 /* 95 */ + .long 0x00000000, 0x000000A2, 0xF9836E4E /* 96 */ + .long 0x00000000, 0x00000145, 0xF306DC9C /* 97 */ + .long 0x00000000, 0x0000028B, 0xE60DB939 /* 98 */ + .long 0x00000000, 0x00000517, 0xCC1B7272 /* 99 */ + .long 0x00000000, 0x00000A2F, 0x9836E4E4 /* 100 */ + .long 0x00000000, 0x0000145F, 0x306DC9C8 /* 101 */ + .long 0x00000000, 0x000028BE, 0x60DB9391 /* 102 */ + .long 0x00000000, 0x0000517C, 0xC1B72722 /* 103 */ + .long 0x00000000, 0x0000A2F9, 0x836E4E44 /* 104 */ + .long 0x00000000, 0x000145F3, 0x06DC9C88 /* 105 */ + .long 0x00000000, 0x00028BE6, 0x0DB93910 /* 106 */ + .long 0x00000000, 0x000517CC, 0x1B727220 /* 107 */ + .long 0x00000000, 0x000A2F98, 0x36E4E441 /* 108 */ + .long 0x00000000, 0x00145F30, 0x6DC9C882 /* 109 */ + .long 0x00000000, 0x0028BE60, 0xDB939105 /* 110 */ + .long 0x00000000, 0x00517CC1, 0xB727220A /* 111 */ + .long 0x00000000, 0x00A2F983, 0x6E4E4415 /* 112 */ + .long 0x00000000, 0x0145F306, 0xDC9C882A /* 113 */ + .long 0x00000000, 0x028BE60D, 0xB9391054 /* 114 */ + .long 0x00000000, 0x0517CC1B, 0x727220A9 /* 115 */ + .long 0x00000000, 0x0A2F9836, 0xE4E44152 /* 116 */ + .long 0x00000000, 0x145F306D, 0xC9C882A5 /* 117 */ + .long 0x00000000, 0x28BE60DB, 0x9391054A /* 118 */ + .long 0x00000000, 0x517CC1B7, 0x27220A94 /* 119 */ + .long 0x00000000, 0xA2F9836E, 0x4E441529 /* 120 */ + .long 0x00000001, 0x45F306DC, 0x9C882A53 /* 121 */ + .long 0x00000002, 0x8BE60DB9, 0x391054A7 /* 122 */ + .long 0x00000005, 0x17CC1B72, 0x7220A94F /* 123 */ + .long 0x0000000A, 0x2F9836E4, 0xE441529F /* 124 */ + .long 0x00000014, 0x5F306DC9, 0xC882A53F /* 125 */ + .long 0x00000028, 0xBE60DB93, 0x91054A7F /* 126 */ + .long 0x00000051, 0x7CC1B727, 0x220A94FE /* 127 */ + .long 0x000000A2, 0xF9836E4E, 0x441529FC /* 128 */ + .long 0x00000145, 0xF306DC9C, 0x882A53F8 /* 129 */ + .long 0x0000028B, 0xE60DB939, 0x1054A7F0 /* 130 */ + .long 0x00000517, 0xCC1B7272, 0x20A94FE1 /* 131 */ + .long 0x00000A2F, 0x9836E4E4, 0x41529FC2 /* 132 */ + .long 0x0000145F, 0x306DC9C8, 0x82A53F84 /* 133 */ + .long 0x000028BE, 0x60DB9391, 0x054A7F09 /* 134 */ + .long 0x0000517C, 0xC1B72722, 0x0A94FE13 /* 135 */ + .long 0x0000A2F9, 0x836E4E44, 0x1529FC27 /* 136 */ + .long 0x000145F3, 0x06DC9C88, 0x2A53F84E /* 137 */ + .long 0x00028BE6, 0x0DB93910, 0x54A7F09D /* 138 */ + .long 0x000517CC, 0x1B727220, 0xA94FE13A /* 139 */ + .long 0x000A2F98, 0x36E4E441, 0x529FC275 /* 140 */ + .long 0x00145F30, 0x6DC9C882, 0xA53F84EA /* 141 */ + .long 0x0028BE60, 0xDB939105, 0x4A7F09D5 /* 142 */ + .long 0x00517CC1, 0xB727220A, 0x94FE13AB /* 143 */ + .long 0x00A2F983, 0x6E4E4415, 0x29FC2757 /* 144 */ + .long 0x0145F306, 0xDC9C882A, 0x53F84EAF /* 145 */ + .long 0x028BE60D, 0xB9391054, 0xA7F09D5F /* 146 */ + .long 0x0517CC1B, 0x727220A9, 0x4FE13ABE /* 147 */ + .long 0x0A2F9836, 0xE4E44152, 0x9FC2757D /* 148 */ + .long 0x145F306D, 0xC9C882A5, 0x3F84EAFA /* 149 */ + .long 0x28BE60DB, 0x9391054A, 0x7F09D5F4 /* 150 */ + .long 0x517CC1B7, 0x27220A94, 0xFE13ABE8 /* 151 */ + .long 0xA2F9836E, 0x4E441529, 0xFC2757D1 /* 152 */ + .long 0x45F306DC, 0x9C882A53, 0xF84EAFA3 /* 153 */ + .long 0x8BE60DB9, 0x391054A7, 0xF09D5F47 /* 154 */ + .long 0x17CC1B72, 0x7220A94F, 0xE13ABE8F /* 155 */ + .long 0x2F9836E4, 0xE441529F, 0xC2757D1F /* 156 */ + .long 0x5F306DC9, 0xC882A53F, 0x84EAFA3E /* 157 */ + .long 0xBE60DB93, 0x91054A7F, 0x09D5F47D /* 158 */ + .long 0x7CC1B727, 0x220A94FE, 0x13ABE8FA /* 159 */ + .long 0xF9836E4E, 0x441529FC, 0x2757D1F5 /* 160 */ + .long 0xF306DC9C, 0x882A53F8, 0x4EAFA3EA /* 161 */ + .long 0xE60DB939, 0x1054A7F0, 0x9D5F47D4 /* 162 */ + .long 0xCC1B7272, 0x20A94FE1, 0x3ABE8FA9 /* 163 */ + .long 0x9836E4E4, 0x41529FC2, 0x757D1F53 /* 164 */ + .long 0x306DC9C8, 0x82A53F84, 0xEAFA3EA6 /* 165 */ + .long 0x60DB9391, 0x054A7F09, 0xD5F47D4D /* 166 */ + .long 0xC1B72722, 0x0A94FE13, 0xABE8FA9A /* 167 */ + .long 0x836E4E44, 0x1529FC27, 0x57D1F534 /* 168 */ + .long 0x06DC9C88, 0x2A53F84E, 0xAFA3EA69 /* 169 */ + .long 0x0DB93910, 0x54A7F09D, 0x5F47D4D3 /* 170 */ + .long 0x1B727220, 0xA94FE13A, 0xBE8FA9A6 /* 171 */ + .long 0x36E4E441, 0x529FC275, 0x7D1F534D /* 172 */ + .long 0x6DC9C882, 0xA53F84EA, 0xFA3EA69B /* 173 */ + .long 0xDB939105, 0x4A7F09D5, 0xF47D4D37 /* 174 */ + .long 0xB727220A, 0x94FE13AB, 0xE8FA9A6E /* 175 */ + .long 0x6E4E4415, 0x29FC2757, 0xD1F534DD /* 176 */ + .long 0xDC9C882A, 0x53F84EAF, 0xA3EA69BB /* 177 */ + .long 0xB9391054, 0xA7F09D5F, 0x47D4D377 /* 178 */ + .long 0x727220A9, 0x4FE13ABE, 0x8FA9A6EE /* 179 */ + .long 0xE4E44152, 0x9FC2757D, 0x1F534DDC /* 180 */ + .long 0xC9C882A5, 0x3F84EAFA, 0x3EA69BB8 /* 181 */ + .long 0x9391054A, 0x7F09D5F4, 0x7D4D3770 /* 182 */ + .long 0x27220A94, 0xFE13ABE8, 0xFA9A6EE0 /* 183 */ + .long 0x4E441529, 0xFC2757D1, 0xF534DDC0 /* 184 */ + .long 0x9C882A53, 0xF84EAFA3, 0xEA69BB81 /* 185 */ + .long 0x391054A7, 0xF09D5F47, 0xD4D37703 /* 186 */ + .long 0x7220A94F, 0xE13ABE8F, 0xA9A6EE06 /* 187 */ + .long 0xE441529F, 0xC2757D1F, 0x534DDC0D /* 188 */ + .long 0xC882A53F, 0x84EAFA3E, 0xA69BB81B /* 189 */ + .long 0x91054A7F, 0x09D5F47D, 0x4D377036 /* 190 */ + .long 0x220A94FE, 0x13ABE8FA, 0x9A6EE06D /* 191 */ + .long 0x441529FC, 0x2757D1F5, 0x34DDC0DB /* 192 */ + .long 0x882A53F8, 0x4EAFA3EA, 0x69BB81B6 /* 193 */ + .long 0x1054A7F0, 0x9D5F47D4, 0xD377036D /* 194 */ + .long 0x20A94FE1, 0x3ABE8FA9, 0xA6EE06DB /* 195 */ + .long 0x41529FC2, 0x757D1F53, 0x4DDC0DB6 /* 196 */ + .long 0x82A53F84, 0xEAFA3EA6, 0x9BB81B6C /* 197 */ + .long 0x054A7F09, 0xD5F47D4D, 0x377036D8 /* 198 */ + .long 0x0A94FE13, 0xABE8FA9A, 0x6EE06DB1 /* 199 */ + .long 0x1529FC27, 0x57D1F534, 0xDDC0DB62 /* 200 */ + .long 0x2A53F84E, 0xAFA3EA69, 0xBB81B6C5 /* 201 */ + .long 0x54A7F09D, 0x5F47D4D3, 0x77036D8A /* 202 */ + .long 0xA94FE13A, 0xBE8FA9A6, 0xEE06DB14 /* 203 */ + .long 0x529FC275, 0x7D1F534D, 0xDC0DB629 /* 204 */ + .long 0xA53F84EA, 0xFA3EA69B, 0xB81B6C52 /* 205 */ + .long 0x4A7F09D5, 0xF47D4D37, 0x7036D8A5 /* 206 */ + .long 0x94FE13AB, 0xE8FA9A6E, 0xE06DB14A /* 207 */ + .long 0x29FC2757, 0xD1F534DD, 0xC0DB6295 /* 208 */ + .long 0x53F84EAF, 0xA3EA69BB, 0x81B6C52B /* 209 */ + .long 0xA7F09D5F, 0x47D4D377, 0x036D8A56 /* 210 */ + .long 0x4FE13ABE, 0x8FA9A6EE, 0x06DB14AC /* 211 */ + .long 0x9FC2757D, 0x1F534DDC, 0x0DB62959 /* 212 */ + .long 0x3F84EAFA, 0x3EA69BB8, 0x1B6C52B3 /* 213 */ + .long 0x7F09D5F4, 0x7D4D3770, 0x36D8A566 /* 214 */ + .long 0xFE13ABE8, 0xFA9A6EE0, 0x6DB14ACC /* 215 */ + .long 0xFC2757D1, 0xF534DDC0, 0xDB629599 /* 216 */ + .long 0xF84EAFA3, 0xEA69BB81, 0xB6C52B32 /* 217 */ + .long 0xF09D5F47, 0xD4D37703, 0x6D8A5664 /* 218 */ + .long 0xE13ABE8F, 0xA9A6EE06, 0xDB14ACC9 /* 219 */ + .long 0xC2757D1F, 0x534DDC0D, 0xB6295993 /* 220 */ + .long 0x84EAFA3E, 0xA69BB81B, 0x6C52B327 /* 221 */ + .long 0x09D5F47D, 0x4D377036, 0xD8A5664F /* 222 */ + .long 0x13ABE8FA, 0x9A6EE06D, 0xB14ACC9E /* 223 */ + .long 0x2757D1F5, 0x34DDC0DB, 0x6295993C /* 224 */ + .long 0x4EAFA3EA, 0x69BB81B6, 0xC52B3278 /* 225 */ + .long 0x9D5F47D4, 0xD377036D, 0x8A5664F1 /* 226 */ + .long 0x3ABE8FA9, 0xA6EE06DB, 0x14ACC9E2 /* 227 */ + .long 0x757D1F53, 0x4DDC0DB6, 0x295993C4 /* 228 */ + .long 0xEAFA3EA6, 0x9BB81B6C, 0x52B32788 /* 229 */ + .long 0xD5F47D4D, 0x377036D8, 0xA5664F10 /* 230 */ + .long 0xABE8FA9A, 0x6EE06DB1, 0x4ACC9E21 /* 231 */ + .long 0x57D1F534, 0xDDC0DB62, 0x95993C43 /* 232 */ + .long 0xAFA3EA69, 0xBB81B6C5, 0x2B327887 /* 233 */ + .long 0x5F47D4D3, 0x77036D8A, 0x5664F10E /* 234 */ + .long 0xBE8FA9A6, 0xEE06DB14, 0xACC9E21C /* 235 */ + .long 0x7D1F534D, 0xDC0DB629, 0x5993C439 /* 236 */ + .long 0xFA3EA69B, 0xB81B6C52, 0xB3278872 /* 237 */ + .long 0xF47D4D37, 0x7036D8A5, 0x664F10E4 /* 238 */ + .long 0xE8FA9A6E, 0xE06DB14A, 0xCC9E21C8 /* 239 */ + .long 0xD1F534DD, 0xC0DB6295, 0x993C4390 /* 240 */ + .long 0xA3EA69BB, 0x81B6C52B, 0x32788720 /* 241 */ + .long 0x47D4D377, 0x036D8A56, 0x64F10E41 /* 242 */ + .long 0x8FA9A6EE, 0x06DB14AC, 0xC9E21C82 /* 243 */ + .long 0x1F534DDC, 0x0DB62959, 0x93C43904 /* 244 */ + .long 0x3EA69BB8, 0x1B6C52B3, 0x27887208 /* 245 */ + .long 0x7D4D3770, 0x36D8A566, 0x4F10E410 /* 246 */ + .long 0xFA9A6EE0, 0x6DB14ACC, 0x9E21C820 /* 247 */ + .long 0xF534DDC0, 0xDB629599, 0x3C439041 /* 248 */ + .long 0xEA69BB81, 0xB6C52B32, 0x78872083 /* 249 */ + .long 0xD4D37703, 0x6D8A5664, 0xF10E4107 /* 250 */ + .long 0xA9A6EE06, 0xDB14ACC9, 0xE21C820F /* 251 */ + .long 0x534DDC0D, 0xB6295993, 0xC439041F /* 252 */ + .long 0xA69BB81B, 0x6C52B327, 0x8872083F /* 253 */ + .long 0x4D377036, 0xD8A5664F, 0x10E4107F /* 254 */ + .long 0x9A6EE06D, 0xB14ACC9E, 0x21C820FF /* 255 */ + .align 16 + .type __svml_stan_reduction_data_internal, @object + .size __svml_stan_reduction_data_internal, .-__svml_stan_reduction_data_internal + .align 16 .FLT_16: - .long 0xffffffff,0x00000000,0xffffffff,0x00000000 - .type .FLT_16,@object - .size .FLT_16,16 + .long 0xffffffff, 0x00000000, 0xffffffff, 0x00000000 + .type .FLT_16, @object + .size .FLT_16, 16 From patchwork Mon Mar 7 15:01:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602280 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=tEuYLpV5; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2YC5zVtz9sFk for ; Tue, 8 Mar 2022 02:33:35 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E7D1E3858C74 for ; Mon, 7 Mar 2022 15:33:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E7D1E3858C74 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646667214; bh=Dp7+td/XIxA7DeM9y9w9FynJymgIi1ylHvZJFQLcZ1Q=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=tEuYLpV5/+lYePd4kz/bjW49HmnNLVGakjcu4+7jFYjo/fJBH64fr2X9EVfUNsqTy 2k61nSDqr1foN04ytVdiSRd9QDTrqQ908cHMkZ3ebVrmlOGvqC44vGpjd9WvDnDGOV GHEx/N4u9PI6t5oaFf1X2jibNVFmzp8QoCh5BLAs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by sourceware.org (Postfix) with ESMTPS id 9C4B23858436 for ; Mon, 7 Mar 2022 15:02:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9C4B23858436 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="315123217" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="315123217" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="495085319" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga003.jf.intel.com with ESMTP; 07 Mar 2022 07:02:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fV016772; Mon, 7 Mar 2022 07:02:11 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 117/126] x86_64: Fix svml_s_tanf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:52 -0800 Message-Id: <20220307150201.10590-118-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_tanf8_core_avx2.S | 4937 ++++++++--------- 1 file changed, 2467 insertions(+), 2470 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S index 7c67acf8c8..cd33fac643 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanf8_core_avx2.S @@ -47,2549 +47,2546 @@ /* Offsets for data table __svml_stan_data_internal */ -#define _sInvPI_uisa 0 -#define _sPI1_uisa 32 -#define _sPI2_uisa 64 -#define _sPI3_uisa 96 -#define _sPI2_ha_uisa 128 -#define _sPI3_ha_uisa 160 -#define Th_tbl_uisa 192 -#define Tl_tbl_uisa 320 -#define _sPC3_uisa 448 -#define _sPC5_uisa 480 -#define _sRangeReductionVal_uisa 512 -#define _sInvPi 544 -#define _sSignMask 576 -#define _sAbsMask 608 -#define _sRangeVal 640 -#define _sRShifter 672 -#define _sOne 704 -#define _sRangeReductionVal 736 -#define _sPI1 768 -#define _sPI2 800 -#define _sPI3 832 -#define _sPI4 864 -#define _sPI1_FMA 896 -#define _sPI2_FMA 928 -#define _sPI3_FMA 960 -#define _sP0 992 -#define _sP1 1024 -#define _sQ0 1056 -#define _sQ1 1088 -#define _sQ2 1120 -#define _sTwo 1152 -#define _sCoeffs 1184 +#define _sInvPI_uisa 0 +#define _sPI1_uisa 32 +#define _sPI2_uisa 64 +#define _sPI3_uisa 96 +#define _sPI2_ha_uisa 128 +#define _sPI3_ha_uisa 160 +#define Th_tbl_uisa 192 +#define Tl_tbl_uisa 320 +#define _sPC3_uisa 448 +#define _sPC5_uisa 480 +#define _sRangeReductionVal_uisa 512 +#define _sInvPi 544 +#define _sSignMask 576 +#define _sAbsMask 608 +#define _sRangeVal 640 +#define _sRShifter 672 +#define _sOne 704 +#define _sRangeReductionVal 736 +#define _sPI1 768 +#define _sPI2 800 +#define _sPI3 832 +#define _sPI4 864 +#define _sPI1_FMA 896 +#define _sPI2_FMA 928 +#define _sPI3_FMA 960 +#define _sP0 992 +#define _sP1 1024 +#define _sQ0 1056 +#define _sQ1 1088 +#define _sQ2 1120 +#define _sTwo 1152 +#define _sCoeffs 1184 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_tanf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - pushq %rbx - subq $184, %rsp - -/* - * Legacy Code - * Here HW FMA can be unavailable - */ - xorl %eax, %eax - vmovups _sAbsMask+__svml_stan_data_internal(%rip), %ymm10 - -/* - * - * Main path (_LA_ and _EP_) - * - * Octant calculation - */ - vmovups _sInvPi+__svml_stan_data_internal(%rip), %ymm5 - vmovups _sRShifter+__svml_stan_data_internal(%rip), %ymm2 - -/* Range reduction */ - vmovups _sPI1_FMA+__svml_stan_data_internal(%rip), %ymm3 - -/* Rational approximation */ - vmovups _sP1+__svml_stan_data_internal(%rip), %ymm9 - vmovaps %ymm0, %ymm12 - vandps %ymm10, %ymm12, %ymm1 - vfmadd213ps %ymm2, %ymm1, %ymm5 - vsubps %ymm2, %ymm5, %ymm8 - vpslld $30, %ymm5, %ymm6 - -/* Inversion mask and sign calculation */ - vpslld $31, %ymm5, %ymm4 - vfnmadd213ps %ymm1, %ymm8, %ymm3 - vfnmadd231ps _sPI2_FMA+__svml_stan_data_internal(%rip), %ymm8, %ymm3 - vfnmadd132ps _sPI3_FMA+__svml_stan_data_internal(%rip), %ymm3, %ymm8 - vmovups _sQ2+__svml_stan_data_internal(%rip), %ymm3 - vmulps %ymm8, %ymm8, %ymm13 - vfmadd213ps _sQ1+__svml_stan_data_internal(%rip), %ymm13, %ymm3 - vfmadd213ps _sP0+__svml_stan_data_internal(%rip), %ymm13, %ymm9 - vfmadd213ps _sQ0+__svml_stan_data_internal(%rip), %ymm13, %ymm3 - vmulps %ymm9, %ymm8, %ymm8 - vxorps %ymm7, %ymm7, %ymm7 - vcmpneqps %ymm7, %ymm6, %ymm2 - vandnps %ymm12, %ymm10, %ymm11 - vxorps %ymm11, %ymm4, %ymm0 - -/* Exchanged numerator and denominator if necessary */ - vandnps %ymm8, %ymm2, %ymm14 - vandps %ymm3, %ymm2, %ymm15 - vandps %ymm8, %ymm2, %ymm4 - vandnps %ymm3, %ymm2, %ymm5 - vorps %ymm15, %ymm14, %ymm6 - vorps %ymm5, %ymm4, %ymm7 - -/* Division */ - vdivps %ymm7, %ymm6, %ymm9 - -/* Large values check */ - vcmpnle_uqps _sRangeReductionVal+__svml_stan_data_internal(%rip), %ymm1, %ymm10 - vmovmskps %ymm10, %edx - -/* Sign setting */ - vxorps %ymm0, %ymm9, %ymm0 - -/* - * - * End of main path (_LA_ and _EP_) - */ - - testl %edx, %edx - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - /* DW_CFA_expression: r3 (rbx) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ - .cfi_escape 0x10, 0x03, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 - # LOE r12 r13 r14 r15 eax ymm0 ymm1 ymm10 ymm11 ymm12 - -/* Return from auxilary branch - * for out of main path inputs - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + pushq %rbx + subq $184, %rsp + + /* + * Legacy Code + * Here HW FMA can be unavailable + */ + xorl %eax, %eax + vmovups _sAbsMask+__svml_stan_data_internal(%rip), %ymm10 + + /* + * + * Main path (_LA_ and _EP_) + * + * Octant calculation + */ + vmovups _sInvPi+__svml_stan_data_internal(%rip), %ymm5 + vmovups _sRShifter+__svml_stan_data_internal(%rip), %ymm2 + + /* Range reduction */ + vmovups _sPI1_FMA+__svml_stan_data_internal(%rip), %ymm3 + + /* Rational approximation */ + vmovups _sP1+__svml_stan_data_internal(%rip), %ymm9 + vmovaps %ymm0, %ymm12 + vandps %ymm10, %ymm12, %ymm1 + vfmadd213ps %ymm2, %ymm1, %ymm5 + vsubps %ymm2, %ymm5, %ymm8 + vpslld $30, %ymm5, %ymm6 + + /* Inversion mask and sign calculation */ + vpslld $31, %ymm5, %ymm4 + vfnmadd213ps %ymm1, %ymm8, %ymm3 + vfnmadd231ps _sPI2_FMA+__svml_stan_data_internal(%rip), %ymm8, %ymm3 + vfnmadd132ps _sPI3_FMA+__svml_stan_data_internal(%rip), %ymm3, %ymm8 + vmovups _sQ2+__svml_stan_data_internal(%rip), %ymm3 + vmulps %ymm8, %ymm8, %ymm13 + vfmadd213ps _sQ1+__svml_stan_data_internal(%rip), %ymm13, %ymm3 + vfmadd213ps _sP0+__svml_stan_data_internal(%rip), %ymm13, %ymm9 + vfmadd213ps _sQ0+__svml_stan_data_internal(%rip), %ymm13, %ymm3 + vmulps %ymm9, %ymm8, %ymm8 + vxorps %ymm7, %ymm7, %ymm7 + vcmpneqps %ymm7, %ymm6, %ymm2 + vandnps %ymm12, %ymm10, %ymm11 + vxorps %ymm11, %ymm4, %ymm0 + + /* Exchanged numerator and denominator if necessary */ + vandnps %ymm8, %ymm2, %ymm14 + vandps %ymm3, %ymm2, %ymm15 + vandps %ymm8, %ymm2, %ymm4 + vandnps %ymm3, %ymm2, %ymm5 + vorps %ymm15, %ymm14, %ymm6 + vorps %ymm5, %ymm4, %ymm7 + + /* Division */ + vdivps %ymm7, %ymm6, %ymm9 + + /* Large values check */ + vcmpnle_uqps _sRangeReductionVal+__svml_stan_data_internal(%rip), %ymm1, %ymm10 + vmovmskps %ymm10, %edx + + /* Sign setting */ + vxorps %ymm0, %ymm9, %ymm0 + + /* + * + * End of main path (_LA_ and _EP_) + */ + + testl %edx, %edx + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + /* DW_CFA_expression: r3 (rbx) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ + .cfi_escape 0x10, 0x03, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + # LOE r12 r13 r14 r15 eax ymm0 ymm1 ymm10 ymm11 ymm12 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): - testl %eax, %eax + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE r12 r13 r14 r15 eax ymm0 ymm12 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE r12 r13 r14 r15 eax ymm0 ymm12 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $184, %rsp - cfi_restore(3) - popq %rbx - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - /* DW_CFA_expression: r3 (rbx) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ - .cfi_escape 0x10, 0x03, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 - cfi_offset(6, -16) - -/* Branch to process - * special inputs - */ + addq $184, %rsp + cfi_restore(3) + popq %rbx + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + /* DW_CFA_expression: r3 (rbx) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ + .cfi_escape 0x10, 0x03, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + cfi_offset(6, -16) + + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovups %ymm12, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE r12 r13 r14 r15 eax ymm0 - - xorl %ebx, %ebx - # LOE r12 r13 r14 r15 eax ebx - - vzeroupper - movq %r12, 8(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %eax, %r12d - movq %r13, (%rsp) - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE r14 r15 ebx r12d - -/* Range mask - * bits check - */ + vmovups %ymm12, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE r12 r13 r14 r15 eax ymm0 + + xorl %ebx, %ebx + # LOE r12 r13 r14 r15 eax ebx + + vzeroupper + movq %r12, 8(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, (%rsp) + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE r14 r15 ebx r12d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %ebx, %r12d + btl %ebx, %r12d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE r14 r15 ebx r12d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE r14 r15 ebx r12d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %ebx - cmpl $8, %ebx - -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE r14 r15 ebx r12d - - movq 8(%rsp), %r12 - cfi_restore(12) - movq (%rsp), %r13 - cfi_restore(13) - vmovups 64(%rsp), %ymm0 - -/* 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: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 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: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE r12 r13 r14 r15 ymm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %ebx + cmpl $8, %ebx + + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE r14 r15 ebx r12d + + movq 8(%rsp), %r12 + cfi_restore(12) + movq (%rsp), %r13 + cfi_restore(13) + vmovups 64(%rsp), %ymm0 + + /* 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: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 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: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE r12 r13 r14 r15 ymm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %ebx, %r13d - movss 32(%rsp,%r13,4), %xmm0 - call tanf@PLT - # LOE r13 r14 r15 ebx r12d xmm0 + movl %ebx, %r13d + movss 32(%rsp, %r13, 4), %xmm0 + call tanf@PLT + # LOE r13 r14 r15 ebx r12d xmm0 - movss %xmm0, 64(%rsp,%r13,4) + movss %xmm0, 64(%rsp, %r13, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - # LOE r14 r15 ebx r12d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + # LOE r14 r15 ebx r12d -/* Auxilary branch - * for out of main path inputs - */ + /* Auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH): - vpand .FLT_16(%rip), %ymm1, %ymm5 - -/* - * Get the (2^a / 2pi) mod 1 values from the table. - * Because doesn't have I-type gather, we need a trivial cast - */ - lea __svml_stan_reduction_data_internal(%rip), %rdx - vmovups %ymm11, 64(%rsp) - vmovups .FLT_15(%rip), %ymm7 - vmovups %ymm10, 96(%rsp) - vmovups %ymm0, 128(%rsp) - vpsrld $23, %ymm5, %ymm6 - vpslld $1, %ymm6, %ymm11 - vpaddd %ymm6, %ymm11, %ymm13 - vpslld $2, %ymm13, %ymm15 - vandps %ymm7, %ymm12, %ymm14 - vcmpeqps %ymm7, %ymm14, %ymm10 - vmovmskps %ymm10, %eax - vextractf128 $1, %ymm15, %xmm7 - vmovd %xmm15, %ecx - vmovd %xmm7, %r8d - vmovd (%rcx,%rdx), %xmm8 - vpextrd $1, %xmm15, %ebx - vpextrd $2, %xmm15, %esi - vpextrd $3, %xmm15, %edi - vpextrd $1, %xmm7, %r10d - vpextrd $2, %xmm7, %r9d - vpextrd $3, %xmm7, %r11d - vmovd (%rbx,%rdx), %xmm3 - vmovd (%rsi,%rdx), %xmm2 - vmovd (%rdi,%rdx), %xmm14 - vmovd (%r8,%rdx), %xmm10 - vmovd (%r10,%rdx), %xmm5 - vmovd (%r9,%rdx), %xmm11 - vmovd (%r11,%rdx), %xmm6 - vpunpckldq %xmm3, %xmm8, %xmm4 - vpunpckldq %xmm14, %xmm2, %xmm0 - vpunpckldq %xmm5, %xmm10, %xmm13 - vpunpckldq %xmm6, %xmm11, %xmm15 - vpunpcklqdq %xmm0, %xmm4, %xmm9 - vmovd 4(%rcx,%rdx), %xmm3 - vmovd 4(%rbx,%rdx), %xmm2 - vmovd 4(%rsi,%rdx), %xmm14 - vmovd 4(%rdi,%rdx), %xmm4 - vpunpcklqdq %xmm15, %xmm13, %xmm8 - vmovd 4(%r8,%rdx), %xmm5 - vmovd 4(%r10,%rdx), %xmm6 - vmovd 4(%r9,%rdx), %xmm13 - vmovd 4(%r11,%rdx), %xmm15 - vpunpckldq %xmm2, %xmm3, %xmm0 - vpunpckldq %xmm4, %xmm14, %xmm7 - vpunpckldq %xmm15, %xmm13, %xmm3 - vpunpcklqdq %xmm7, %xmm0, %xmm10 - vmovd 8(%rsi,%rdx), %xmm0 - vmovd 8(%rdi,%rdx), %xmm7 - vmovd 8(%rcx,%rdx), %xmm14 - vmovd 8(%rbx,%rdx), %xmm4 - vmovd 8(%r8,%rdx), %xmm15 - vinsertf128 $1, %xmm8, %ymm9, %ymm11 - vpunpckldq %xmm6, %xmm5, %xmm8 - vpunpcklqdq %xmm3, %xmm8, %xmm2 - vpunpckldq %xmm7, %xmm0, %xmm6 - -/* - * Also get the significand as an integer - * NB: adding in the integer bit is wrong for denorms! - * To make this work for denorms we should do something slightly different - */ - vpand .FLT_17(%rip), %ymm1, %ymm7 - vmovd 8(%r10,%rdx), %xmm8 - vmovd 8(%r9,%rdx), %xmm3 - vpunpckldq %xmm4, %xmm14, %xmm5 - vpunpckldq %xmm8, %xmm15, %xmm14 - -/* Load constants (not all needed at once) */ - lea _sCoeffs+36+__svml_stan_data_internal(%rip), %r9 - vpunpcklqdq %xmm6, %xmm5, %xmm13 - vpaddd .FLT_18(%rip), %ymm7, %ymm5 - vinsertf128 $1, %xmm2, %ymm10, %ymm9 - vmovd 8(%r11,%rdx), %xmm2 - vpunpckldq %xmm2, %xmm3, %xmm4 - vpunpcklqdq %xmm4, %xmm14, %xmm0 - -/* - * Break the P_xxx and m into 16-bit chunks ready for - * the long multiplication via 16x16->32 multiplications - */ - vmovdqu .FLT_19(%rip), %ymm14 - vpsrld $16, %ymm5, %ymm10 - vpand %ymm14, %ymm5, %ymm5 - vpand %ymm14, %ymm9, %ymm3 - vpand %ymm14, %ymm11, %ymm7 - vpsrld $16, %ymm11, %ymm11 - vpmulld %ymm3, %ymm5, %ymm8 - vpmulld %ymm3, %ymm10, %ymm3 - vinsertf128 $1, %xmm0, %ymm13, %ymm13 - vpsrld $16, %ymm13, %ymm6 - vpand %ymm14, %ymm13, %ymm15 - vpsrld $16, %ymm9, %ymm0 - vpmulld %ymm6, %ymm10, %ymm13 - vpmulld %ymm6, %ymm5, %ymm6 - vpsrld $16, %ymm6, %ymm6 - vpmulld %ymm15, %ymm10, %ymm4 - vpand %ymm14, %ymm8, %ymm15 - vpaddd %ymm6, %ymm13, %ymm13 - vpsrld $16, %ymm4, %ymm4 - vpsrld $16, %ymm8, %ymm8 - vpaddd %ymm13, %ymm15, %ymm15 - vpmulld %ymm0, %ymm5, %ymm2 - vpaddd %ymm15, %ymm4, %ymm13 - vpand %ymm14, %ymm2, %ymm4 - vpaddd %ymm8, %ymm3, %ymm15 - vpsrld $16, %ymm2, %ymm2 - vpsrld $16, %ymm13, %ymm6 - -/* Assemble reduced argument from the pieces */ - vpand %ymm14, %ymm13, %ymm13 - vpaddd %ymm15, %ymm4, %ymm8 - vpmulld %ymm7, %ymm5, %ymm9 - vpmulld %ymm0, %ymm10, %ymm0 - vpaddd %ymm8, %ymm6, %ymm4 - vpand %ymm14, %ymm9, %ymm6 - vpaddd %ymm2, %ymm0, %ymm8 - vpsrld $16, %ymm9, %ymm3 - vpsrld $16, %ymm4, %ymm15 - vpslld $16, %ymm4, %ymm4 - vpaddd %ymm8, %ymm6, %ymm6 - vpaddd %ymm6, %ymm15, %ymm0 - vpmulld %ymm11, %ymm5, %ymm6 - -/* Now do the big multiplication and carry propagation */ - vpmulld %ymm7, %ymm10, %ymm8 - vpand %ymm14, %ymm6, %ymm2 - vpaddd %ymm3, %ymm8, %ymm5 - vpsrld $16, %ymm0, %ymm15 - vpand %ymm14, %ymm0, %ymm0 - -/* - * We want to incorporate the original sign now too. - * Do it here for convenience in getting the right N value, - * though we could wait right to the end if we were prepared - * to modify the sign of N later too. - * So get the appropriate sign mask now (or sooner). - */ - vpand .FLT_20(%rip), %ymm1, %ymm3 - vpaddd %ymm5, %ymm2, %ymm7 - vpaddd %ymm13, %ymm4, %ymm8 - -/* - * Now round at the 2^-8 bit position for reduction mod pi/2^7 - * instead of the original 2pi (but still with the same 2pi scaling). - * Use a shifter of 2^15 + 2^14. - * The N we get is our final version; it has an offset of - * 2^8 because of the implicit integer bit, and anyway for negative - * starting value it's a 2s complement thing. But we need to mask - * off the exponent part anyway so it's fine. - */ - vmovups .FLT_22(%rip), %ymm14 - vpaddd %ymm7, %ymm15, %ymm15 - -/* - * Create floating-point high part, implicitly adding integer bit 1 - * Incorporate overall sign at this stage too. - */ - vpxor .FLT_21(%rip), %ymm3, %ymm11 - -/* - * Create floating-point low and medium parts, respectively - * lo_17, ... lo_0, 0, ..., 0 - * hi_8, ... hi_0, lo_31, ..., lo_18 - * then subtract off the implicitly added integer bits, - * 2^-46 and 2^-23, respectively. - * Put the original sign into all of them at this stage. - */ - vpxor .FLT_23(%rip), %ymm3, %ymm7 - vpslld $16, %ymm15, %ymm9 - vpaddd %ymm0, %ymm9, %ymm2 - vpand .FLT_24(%rip), %ymm8, %ymm0 - vpsrld $18, %ymm8, %ymm8 - vpsrld $9, %ymm2, %ymm10 - vpslld $5, %ymm0, %ymm4 - vpor %ymm11, %ymm10, %ymm6 - vpxor .FLT_25(%rip), %ymm3, %ymm11 - vpand .FLT_26(%rip), %ymm2, %ymm3 - vpor %ymm7, %ymm4, %ymm5 - -/* - * If the magnitude of the input is <= 2^-20, then - * just pass through the input, since no reduction will be needed and - * the main path will only work accurately if the reduced argument is - * about >= 2^-40 (which it is for all large pi multiples) - */ - vmovups .FLT_30(%rip), %ymm4 - vpslld $14, %ymm3, %ymm2 - -/* - * Now multiply those numbers all by 2 pi, reasonably accurately. - * (RHi + RLo) * (pi_lead + pi_trail) ~= - * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) - */ - vmovups .FLT_27(%rip), %ymm3 - vaddps %ymm14, %ymm6, %ymm13 - vpor %ymm8, %ymm2, %ymm9 - vsubps %ymm14, %ymm13, %ymm15 - -/* Grab our final N value as an integer, appropriately masked mod 2^8 */ - vpand .FLT_31(%rip), %ymm13, %ymm13 - vpor %ymm11, %ymm9, %ymm10 - vsubps %ymm15, %ymm6, %ymm6 - vsubps %ymm7, %ymm5, %ymm15 - vsubps %ymm11, %ymm10, %ymm14 - -/* Now add them up into 2 reasonably aligned pieces */ - vaddps %ymm14, %ymm6, %ymm2 - vsubps %ymm2, %ymm6, %ymm6 - vmulps %ymm2, %ymm3, %ymm7 - vaddps %ymm6, %ymm14, %ymm8 - vaddps %ymm8, %ymm15, %ymm8 - vmovaps %ymm3, %ymm15 - vfmsub213ps %ymm7, %ymm2, %ymm15 - vandps .FLT_29(%rip), %ymm1, %ymm0 - vfmadd132ps .FLT_28(%rip), %ymm15, %ymm2 - vcmpgt_oqps %ymm4, %ymm0, %ymm9 - vcmple_oqps %ymm4, %ymm0, %ymm5 - -/* - * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND - * Set sRp2 = _VRES_R^2 and then resume the original code. - * Argument reduction is now finished: x = n * pi/128 + r - * where n = iIndex and r = sR (high) + sE (low). - * But we have n modulo 256, needed for sin/cos with period 2pi - * but we want it modulo 128 since tan has period pi. - */ - vpand .FLT_32(%rip), %ymm13, %ymm0 - vfmadd213ps %ymm2, %ymm3, %ymm8 - vpslld $2, %ymm0, %ymm2 - vandps %ymm1, %ymm5, %ymm1 - vandps %ymm7, %ymm9, %ymm6 - vorps %ymm6, %ymm1, %ymm15 - vpaddd %ymm0, %ymm2, %ymm1 - vpslld $3, %ymm1, %ymm4 - vandps %ymm8, %ymm9, %ymm3 - -/* - * Simply combine the two parts of the reduced argument - * since we can afford a few ulps in this case. - */ - vaddps %ymm3, %ymm15, %ymm6 - vextractf128 $1, %ymm4, %xmm8 - vmovd %xmm4, %r10d - vmovd %xmm8, %ebx - vmovd -36(%r10,%r9), %xmm5 - vmovd -32(%r10,%r9), %xmm9 - vpextrd $1, %xmm4, %r8d - vpextrd $2, %xmm4, %edi - vpextrd $3, %xmm4, %esi - vpextrd $1, %xmm8, %ecx - vpextrd $2, %xmm8, %edx - vpextrd $3, %xmm8, %r11d - vmovd -36(%r8,%r9), %xmm7 - vmovd -36(%rdi,%r9), %xmm10 - vmovd -36(%rsi,%r9), %xmm11 - vmovd -36(%rbx,%r9), %xmm3 - vmovd -36(%rcx,%r9), %xmm2 - vmovd -36(%rdx,%r9), %xmm0 - vmovd -36(%r11,%r9), %xmm1 - vpunpckldq %xmm7, %xmm5, %xmm14 - vpunpckldq %xmm11, %xmm10, %xmm13 - vpunpckldq %xmm2, %xmm3, %xmm4 - vpunpckldq %xmm1, %xmm0, %xmm5 - vpunpcklqdq %xmm13, %xmm14, %xmm15 - vpunpcklqdq %xmm5, %xmm4, %xmm7 - vmovd -32(%r8,%r9), %xmm10 - vmovd -32(%rdi,%r9), %xmm11 - vmovd -32(%rsi,%r9), %xmm14 - vmovd -32(%rbx,%r9), %xmm2 - vmovd -32(%rcx,%r9), %xmm0 - vmovd -32(%rdx,%r9), %xmm1 - vmovd -32(%r11,%r9), %xmm4 - vpunpckldq %xmm14, %xmm11, %xmm8 - vpunpckldq %xmm0, %xmm2, %xmm5 - vmovd -28(%r8,%r9), %xmm11 - vmovd -28(%rdi,%r9), %xmm14 - vinsertf128 $1, %xmm7, %ymm15, %ymm13 - vpunpckldq %xmm10, %xmm9, %xmm15 - vpunpckldq %xmm4, %xmm1, %xmm7 - vpunpcklqdq %xmm8, %xmm15, %xmm3 - vpunpcklqdq %xmm7, %xmm5, %xmm9 - vmovd -28(%r10,%r9), %xmm10 - vmovd -28(%rsi,%r9), %xmm8 - vmovd -28(%rbx,%r9), %xmm1 - vmovd -28(%rcx,%r9), %xmm4 - vmovd -28(%rdx,%r9), %xmm5 - vmovd -28(%r11,%r9), %xmm7 - vpunpckldq %xmm8, %xmm14, %xmm2 - vmovd -24(%r10,%r9), %xmm14 - vinsertf128 $1, %xmm9, %ymm3, %ymm15 - vpunpckldq %xmm11, %xmm10, %xmm3 - vpunpckldq %xmm4, %xmm1, %xmm9 - vpunpckldq %xmm7, %xmm5, %xmm10 - vpunpcklqdq %xmm2, %xmm3, %xmm0 - vpunpcklqdq %xmm10, %xmm9, %xmm11 - vmovd -24(%r8,%r9), %xmm3 - vmovd -24(%rdi,%r9), %xmm2 - vmovd -24(%rbx,%r9), %xmm7 - vmovd -24(%rcx,%r9), %xmm9 - vmovd -24(%rdx,%r9), %xmm10 - vpunpckldq %xmm3, %xmm14, %xmm1 - vpunpckldq %xmm9, %xmm7, %xmm14 - vmovd -20(%rsi,%r9), %xmm7 - vinsertf128 $1, %xmm11, %ymm0, %ymm8 - vmovd -24(%rsi,%r9), %xmm0 - vmovd -24(%r11,%r9), %xmm11 - vpunpckldq %xmm0, %xmm2, %xmm4 - vpunpckldq %xmm11, %xmm10, %xmm3 - vpunpcklqdq %xmm4, %xmm1, %xmm5 - vpunpcklqdq %xmm3, %xmm14, %xmm2 - vmovd -20(%r10,%r9), %xmm0 - vmovd -20(%r8,%r9), %xmm1 - vmovd -20(%rbx,%r9), %xmm14 - vmovd -20(%rdi,%r9), %xmm4 - vpunpckldq %xmm1, %xmm0, %xmm9 - vmovd -20(%r11,%r9), %xmm0 - vpunpckldq %xmm7, %xmm4, %xmm10 - vpunpcklqdq %xmm10, %xmm9, %xmm11 - vmovd -16(%r10,%r9), %xmm9 - vmovd -16(%r8,%r9), %xmm10 - vinsertf128 $1, %xmm2, %ymm5, %ymm3 - vmovd -20(%rcx,%r9), %xmm2 - vpunpckldq %xmm2, %xmm14, %xmm1 - vmovd -20(%rdx,%r9), %xmm14 - vpunpckldq %xmm0, %xmm14, %xmm4 - vpunpcklqdq %xmm4, %xmm1, %xmm5 - vmovd -16(%rdi,%r9), %xmm2 - vmovd -16(%rsi,%r9), %xmm0 - vpunpckldq %xmm10, %xmm9, %xmm1 - vmovd -16(%rcx,%r9), %xmm9 - vmovd -16(%rdx,%r9), %xmm10 - vpunpckldq %xmm0, %xmm2, %xmm4 - vinsertf128 $1, %xmm5, %ymm11, %ymm7 - vmovups %ymm7, 32(%rsp) - vmovd -16(%rbx,%r9), %xmm7 - vmovd -16(%r11,%r9), %xmm11 - vpunpckldq %xmm9, %xmm7, %xmm14 - vpunpckldq %xmm11, %xmm10, %xmm2 - vpunpcklqdq %xmm4, %xmm1, %xmm5 - vpunpcklqdq %xmm2, %xmm14, %xmm0 - vmovd -12(%r10,%r9), %xmm1 - vmovd -12(%r8,%r9), %xmm4 - vmovd -12(%rdi,%r9), %xmm7 - vmovd -12(%rsi,%r9), %xmm9 - vpunpckldq %xmm4, %xmm1, %xmm10 - vmovd -12(%rcx,%r9), %xmm1 - vmovd -12(%rdx,%r9), %xmm4 - vpunpckldq %xmm9, %xmm7, %xmm11 - vpunpcklqdq %xmm11, %xmm10, %xmm14 - vinsertf128 $1, %xmm0, %ymm5, %ymm2 - vmovd -12(%rbx,%r9), %xmm0 - vmovd -12(%r11,%r9), %xmm5 - vpunpckldq %xmm1, %xmm0, %xmm7 - vpunpckldq %xmm5, %xmm4, %xmm9 - vpunpcklqdq %xmm9, %xmm7, %xmm10 - vmovd -8(%r10,%r9), %xmm1 - vmovd -8(%r8,%r9), %xmm4 - vmovups 128(%rsp), %ymm0 - vinsertf128 $1, %xmm10, %ymm14, %ymm11 - vmovups %ymm11, (%rsp) - vmovups 96(%rsp), %ymm10 - vmovups 64(%rsp), %ymm11 - # LOE rdx rcx rbx rsi rdi r8 r9 r10 r11 r12 r13 r14 r15 eax xmm1 xmm4 ymm0 ymm2 ymm3 ymm6 ymm8 ymm10 ymm11 ymm12 ymm13 ymm15 - - vmovd -8(%rdi,%r9), %xmm7 - vmovd -8(%rsi,%r9), %xmm5 - vpunpckldq %xmm4, %xmm1, %xmm4 - vpunpckldq %xmm5, %xmm7, %xmm9 - vpunpcklqdq %xmm9, %xmm4, %xmm7 - vmovd -8(%rbx,%r9), %xmm1 - vmovd -8(%rcx,%r9), %xmm14 - vmovd -8(%rdx,%r9), %xmm5 - vmovd -8(%r11,%r9), %xmm4 - vpunpckldq %xmm14, %xmm1, %xmm9 - vpunpckldq %xmm4, %xmm5, %xmm1 - vpunpcklqdq %xmm1, %xmm9, %xmm14 - vmovd -4(%r10,%r9), %xmm5 - vmovd -4(%r8,%r9), %xmm4 - vmovd -4(%rdi,%r9), %xmm9 - vmovd -4(%rsi,%r9), %xmm1 - vinsertf128 $1, %xmm14, %ymm7, %ymm7 - vpunpckldq %xmm4, %xmm5, %xmm14 - vpunpckldq %xmm1, %xmm9, %xmm5 - vpunpcklqdq %xmm5, %xmm14, %xmm4 - vmovd -4(%rbx,%r9), %xmm9 - vmovd -4(%rcx,%r9), %xmm1 - vmovd -4(%rdx,%r9), %xmm14 - vmovd -4(%r11,%r9), %xmm5 - vpunpckldq %xmm1, %xmm9, %xmm9 - vpunpckldq %xmm5, %xmm14, %xmm1 - vpunpcklqdq %xmm1, %xmm9, %xmm14 - vmovd (%r10,%r9), %xmm5 - vmovd (%r8,%r9), %xmm9 - vmovd (%rdi,%r9), %xmm1 - vpunpckldq %xmm9, %xmm5, %xmm5 - -/* - * Higher polynomial terms - * Stage 1 (with unlimited parallelism) - * P3 = C1_lo + C2 * Z - */ - vfmadd213ps (%rsp), %ymm6, %ymm7 - vinsertf128 $1, %xmm14, %ymm4, %ymm4 - vmovd (%rsi,%r9), %xmm14 - vpunpckldq %xmm14, %xmm1, %xmm9 - vmovd (%rbx,%r9), %xmm1 - vmovd (%rcx,%r9), %xmm14 - vpunpcklqdq %xmm9, %xmm5, %xmm9 - vpunpckldq %xmm14, %xmm1, %xmm5 - vmovd (%rdx,%r9), %xmm1 - vmovd (%r11,%r9), %xmm14 - vpunpckldq %xmm14, %xmm1, %xmm1 - vpunpcklqdq %xmm1, %xmm5, %xmm5 - vmovups .FLT_33(%rip), %ymm1 - -/* - * Compute 2-part reciprocal component - * Construct a separate reduced argument modulo pi near pi/2 multiples. - * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument - * from an accurate B_hi + B_lo = (128 - n) pi/128. Force the upper part - * of this reduced argument to half-length to simplify accurate - * reciprocation later on. - */ - vsubps %ymm6, %ymm13, %ymm14 - vsubps %ymm14, %ymm13, %ymm13 - vsubps %ymm6, %ymm13, %ymm13 - vinsertf128 $1, %xmm5, %ymm9, %ymm5 - vandps %ymm1, %ymm14, %ymm9 - vsubps %ymm9, %ymm14, %ymm14 - -/* P4 = C3 + C4 * Z */ - vfmadd213ps %ymm4, %ymm6, %ymm5 - vaddps %ymm14, %ymm15, %ymm15 - vaddps %ymm15, %ymm13, %ymm15 - -/* - * Now compute an approximate reciprocal to mix into the computation - * To avoid any danger of nonportability, force it to 12 bits, - * though I suspect it always is anyway on current platforms. - */ - vrcpps %ymm9, %ymm13 - vandps %ymm1, %ymm13, %ymm13 - -/* - * Now compute the error sEr where sRecip_hi = (1/R_hi) * (1 - sEr) - * so that we can compensate for it. - */ - vmovups _sOne+__svml_stan_data_internal(%rip), %ymm1 - vfnmadd213ps %ymm1, %ymm13, %ymm9 - -/* - * Get a better approximation to 1/sR_hi (not far short of an ulp) - * using a third-order polynomial approximation - */ - vmovaps %ymm13, %ymm14 - vfmadd213ps %ymm13, %ymm9, %ymm14 - vfmadd231ps %ymm9, %ymm9, %ymm1 - vmulps %ymm1, %ymm14, %ymm1 - -/* - * Multiply by sRecip_ok to make sR_lo relative to sR_hi - * Since sR_lo is shifted off by about 12 bits, this is accurate enough. - */ - vmulps %ymm1, %ymm15, %ymm14 - -/* - * Now create a low reciprocal using - * (Recip_hi + Er * Recip_ok) * (1 + sR_lo^2 - sR_lo) - * =~= Recip_hi + Recip_ok * (Er + sR_lo^2 - sR_lo) - */ - vsubps %ymm9, %ymm14, %ymm9 - vfmsub213ps %ymm9, %ymm14, %ymm14 - vmulps %ymm14, %ymm1, %ymm9 - vmovaps %ymm2, %ymm1 - vfmadd213ps %ymm3, %ymm6, %ymm1 - vsubps %ymm1, %ymm3, %ymm15 - vmovaps %ymm8, %ymm3 - vfmadd213ps %ymm1, %ymm13, %ymm3 - vfmadd213ps %ymm15, %ymm6, %ymm2 - vfmsub213ps %ymm3, %ymm8, %ymm13 - vfmadd213ps %ymm2, %ymm8, %ymm9 - vaddps %ymm13, %ymm1, %ymm2 - -/* Z2 = Z^2 */ - vmulps %ymm6, %ymm6, %ymm1 - vaddps %ymm2, %ymm9, %ymm8 - -/* - * Stage 2 (with unlimited parallelism) - * P6 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 - */ - vfmadd213ps %ymm7, %ymm5, %ymm1 - -/* P9 = trail(dominant part) + C0_lo */ - vaddps 32(%rsp), %ymm8, %ymm5 - -/* Final accumulation of low part */ - vfmadd213ps %ymm5, %ymm6, %ymm1 - -/* And now the very final summation */ - vaddps %ymm1, %ymm3, %ymm6 - -/* - * The end of implementation (LA with huge args reduction) - * End of large arguments path (_HA_, _LA_ and _EP_) - */ - - vxorps %ymm11, %ymm6, %ymm11 - -/* Merge results from main and large paths: */ - vblendvps %ymm10, %ymm11, %ymm0, %ymm0 - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE r12 r13 r14 r15 eax ymm0 ymm12 + vpand .FLT_16(%rip), %ymm1, %ymm5 + + /* + * Get the (2^a / 2pi) mod 1 values from the table. + * Because doesn't have I-type gather, we need a trivial cast + */ + lea __svml_stan_reduction_data_internal(%rip), %rdx + vmovups %ymm11, 64(%rsp) + vmovups .FLT_15(%rip), %ymm7 + vmovups %ymm10, 96(%rsp) + vmovups %ymm0, 128(%rsp) + vpsrld $23, %ymm5, %ymm6 + vpslld $1, %ymm6, %ymm11 + vpaddd %ymm6, %ymm11, %ymm13 + vpslld $2, %ymm13, %ymm15 + vandps %ymm7, %ymm12, %ymm14 + vcmpeqps %ymm7, %ymm14, %ymm10 + vmovmskps %ymm10, %eax + vextractf128 $1, %ymm15, %xmm7 + vmovd %xmm15, %ecx + vmovd %xmm7, %r8d + vmovd (%rcx, %rdx), %xmm8 + vpextrd $1, %xmm15, %ebx + vpextrd $2, %xmm15, %esi + vpextrd $3, %xmm15, %edi + vpextrd $1, %xmm7, %r10d + vpextrd $2, %xmm7, %r9d + vpextrd $3, %xmm7, %r11d + vmovd (%rbx, %rdx), %xmm3 + vmovd (%rsi, %rdx), %xmm2 + vmovd (%rdi, %rdx), %xmm14 + vmovd (%r8, %rdx), %xmm10 + vmovd (%r10, %rdx), %xmm5 + vmovd (%r9, %rdx), %xmm11 + vmovd (%r11, %rdx), %xmm6 + vpunpckldq %xmm3, %xmm8, %xmm4 + vpunpckldq %xmm14, %xmm2, %xmm0 + vpunpckldq %xmm5, %xmm10, %xmm13 + vpunpckldq %xmm6, %xmm11, %xmm15 + vpunpcklqdq %xmm0, %xmm4, %xmm9 + vmovd 4(%rcx, %rdx), %xmm3 + vmovd 4(%rbx, %rdx), %xmm2 + vmovd 4(%rsi, %rdx), %xmm14 + vmovd 4(%rdi, %rdx), %xmm4 + vpunpcklqdq %xmm15, %xmm13, %xmm8 + vmovd 4(%r8, %rdx), %xmm5 + vmovd 4(%r10, %rdx), %xmm6 + vmovd 4(%r9, %rdx), %xmm13 + vmovd 4(%r11, %rdx), %xmm15 + vpunpckldq %xmm2, %xmm3, %xmm0 + vpunpckldq %xmm4, %xmm14, %xmm7 + vpunpckldq %xmm15, %xmm13, %xmm3 + vpunpcklqdq %xmm7, %xmm0, %xmm10 + vmovd 8(%rsi, %rdx), %xmm0 + vmovd 8(%rdi, %rdx), %xmm7 + vmovd 8(%rcx, %rdx), %xmm14 + vmovd 8(%rbx, %rdx), %xmm4 + vmovd 8(%r8, %rdx), %xmm15 + vinsertf128 $1, %xmm8, %ymm9, %ymm11 + vpunpckldq %xmm6, %xmm5, %xmm8 + vpunpcklqdq %xmm3, %xmm8, %xmm2 + vpunpckldq %xmm7, %xmm0, %xmm6 + + /* + * Also get the significand as an integer + * NB: adding in the integer bit is wrong for denorms! + * To make this work for denorms we should do something slightly different + */ + vpand .FLT_17(%rip), %ymm1, %ymm7 + vmovd 8(%r10, %rdx), %xmm8 + vmovd 8(%r9, %rdx), %xmm3 + vpunpckldq %xmm4, %xmm14, %xmm5 + vpunpckldq %xmm8, %xmm15, %xmm14 + + /* Load constants (not all needed at once) */ + lea _sCoeffs+36+__svml_stan_data_internal(%rip), %r9 + vpunpcklqdq %xmm6, %xmm5, %xmm13 + vpaddd .FLT_18(%rip), %ymm7, %ymm5 + vinsertf128 $1, %xmm2, %ymm10, %ymm9 + vmovd 8(%r11, %rdx), %xmm2 + vpunpckldq %xmm2, %xmm3, %xmm4 + vpunpcklqdq %xmm4, %xmm14, %xmm0 + + /* + * Break the P_xxx and m into 16-bit chunks ready for + * the long multiplication via 16x16->32 multiplications + */ + vmovdqu .FLT_19(%rip), %ymm14 + vpsrld $16, %ymm5, %ymm10 + vpand %ymm14, %ymm5, %ymm5 + vpand %ymm14, %ymm9, %ymm3 + vpand %ymm14, %ymm11, %ymm7 + vpsrld $16, %ymm11, %ymm11 + vpmulld %ymm3, %ymm5, %ymm8 + vpmulld %ymm3, %ymm10, %ymm3 + vinsertf128 $1, %xmm0, %ymm13, %ymm13 + vpsrld $16, %ymm13, %ymm6 + vpand %ymm14, %ymm13, %ymm15 + vpsrld $16, %ymm9, %ymm0 + vpmulld %ymm6, %ymm10, %ymm13 + vpmulld %ymm6, %ymm5, %ymm6 + vpsrld $16, %ymm6, %ymm6 + vpmulld %ymm15, %ymm10, %ymm4 + vpand %ymm14, %ymm8, %ymm15 + vpaddd %ymm6, %ymm13, %ymm13 + vpsrld $16, %ymm4, %ymm4 + vpsrld $16, %ymm8, %ymm8 + vpaddd %ymm13, %ymm15, %ymm15 + vpmulld %ymm0, %ymm5, %ymm2 + vpaddd %ymm15, %ymm4, %ymm13 + vpand %ymm14, %ymm2, %ymm4 + vpaddd %ymm8, %ymm3, %ymm15 + vpsrld $16, %ymm2, %ymm2 + vpsrld $16, %ymm13, %ymm6 + + /* Assemble reduced argument from the pieces */ + vpand %ymm14, %ymm13, %ymm13 + vpaddd %ymm15, %ymm4, %ymm8 + vpmulld %ymm7, %ymm5, %ymm9 + vpmulld %ymm0, %ymm10, %ymm0 + vpaddd %ymm8, %ymm6, %ymm4 + vpand %ymm14, %ymm9, %ymm6 + vpaddd %ymm2, %ymm0, %ymm8 + vpsrld $16, %ymm9, %ymm3 + vpsrld $16, %ymm4, %ymm15 + vpslld $16, %ymm4, %ymm4 + vpaddd %ymm8, %ymm6, %ymm6 + vpaddd %ymm6, %ymm15, %ymm0 + vpmulld %ymm11, %ymm5, %ymm6 + + /* Now do the big multiplication and carry propagation */ + vpmulld %ymm7, %ymm10, %ymm8 + vpand %ymm14, %ymm6, %ymm2 + vpaddd %ymm3, %ymm8, %ymm5 + vpsrld $16, %ymm0, %ymm15 + vpand %ymm14, %ymm0, %ymm0 + + /* + * We want to incorporate the original sign now too. + * Do it here for convenience in getting the right N value, + * though we could wait right to the end if we were prepared + * to modify the sign of N later too. + * So get the appropriate sign mask now (or sooner). + */ + vpand .FLT_20(%rip), %ymm1, %ymm3 + vpaddd %ymm5, %ymm2, %ymm7 + vpaddd %ymm13, %ymm4, %ymm8 + + /* + * Now round at the 2^-8 bit position for reduction mod pi/2^7 + * instead of the original 2pi (but still with the same 2pi scaling). + * Use a shifter of 2^15 + 2^14. + * The N we get is our final version; it has an offset of + * 2^8 because of the implicit integer bit, and anyway for negative + * starting value it's a 2s complement thing. But we need to mask + * off the exponent part anyway so it's fine. + */ + vmovups .FLT_22(%rip), %ymm14 + vpaddd %ymm7, %ymm15, %ymm15 + + /* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + vpxor .FLT_21(%rip), %ymm3, %ymm11 + + /* + * Create floating-point low and medium parts, respectively + * lo_17, ... lo_0, 0, ..., 0 + * hi_8, ... hi_0, lo_31, ..., lo_18 + * then subtract off the implicitly added integer bits, + * 2^-46 and 2^-23, respectively. + * Put the original sign into all of them at this stage. + */ + vpxor .FLT_23(%rip), %ymm3, %ymm7 + vpslld $16, %ymm15, %ymm9 + vpaddd %ymm0, %ymm9, %ymm2 + vpand .FLT_24(%rip), %ymm8, %ymm0 + vpsrld $18, %ymm8, %ymm8 + vpsrld $9, %ymm2, %ymm10 + vpslld $5, %ymm0, %ymm4 + vpor %ymm11, %ymm10, %ymm6 + vpxor .FLT_25(%rip), %ymm3, %ymm11 + vpand .FLT_26(%rip), %ymm2, %ymm3 + vpor %ymm7, %ymm4, %ymm5 + + /* + * If the magnitude of the input is <= 2^-20, then + * just pass through the input, since no reduction will be needed and + * the main path will only work accurately if the reduced argument is + * about >= 2^-40 (which it is for all large pi multiples) + */ + vmovups .FLT_30(%rip), %ymm4 + vpslld $14, %ymm3, %ymm2 + + /* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * (RHi + RLo) * (pi_lead + pi_trail) ~= + * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) + */ + vmovups .FLT_27(%rip), %ymm3 + vaddps %ymm14, %ymm6, %ymm13 + vpor %ymm8, %ymm2, %ymm9 + vsubps %ymm14, %ymm13, %ymm15 + + /* Grab our final N value as an integer, appropriately masked mod 2^8 */ + vpand .FLT_31(%rip), %ymm13, %ymm13 + vpor %ymm11, %ymm9, %ymm10 + vsubps %ymm15, %ymm6, %ymm6 + vsubps %ymm7, %ymm5, %ymm15 + vsubps %ymm11, %ymm10, %ymm14 + + /* Now add them up into 2 reasonably aligned pieces */ + vaddps %ymm14, %ymm6, %ymm2 + vsubps %ymm2, %ymm6, %ymm6 + vmulps %ymm2, %ymm3, %ymm7 + vaddps %ymm6, %ymm14, %ymm8 + vaddps %ymm8, %ymm15, %ymm8 + vmovaps %ymm3, %ymm15 + vfmsub213ps %ymm7, %ymm2, %ymm15 + vandps .FLT_29(%rip), %ymm1, %ymm0 + vfmadd132ps .FLT_28(%rip), %ymm15, %ymm2 + vcmpgt_oqps %ymm4, %ymm0, %ymm9 + vcmple_oqps %ymm4, %ymm0, %ymm5 + + /* + * The output is _VRES_R (high) + _VRES_E (low), and the integer part is _VRES_IND + * Set sRp2 = _VRES_R^2 and then resume the original code. + * Argument reduction is now finished: x = n * pi/128 + r + * where n = iIndex and r = sR (high) + sE (low). + * But we have n modulo 256, needed for sin/cos with period 2pi + * but we want it modulo 128 since tan has period pi. + */ + vpand .FLT_32(%rip), %ymm13, %ymm0 + vfmadd213ps %ymm2, %ymm3, %ymm8 + vpslld $2, %ymm0, %ymm2 + vandps %ymm1, %ymm5, %ymm1 + vandps %ymm7, %ymm9, %ymm6 + vorps %ymm6, %ymm1, %ymm15 + vpaddd %ymm0, %ymm2, %ymm1 + vpslld $3, %ymm1, %ymm4 + vandps %ymm8, %ymm9, %ymm3 + + /* + * Simply combine the two parts of the reduced argument + * since we can afford a few ulps in this case. + */ + vaddps %ymm3, %ymm15, %ymm6 + vextractf128 $1, %ymm4, %xmm8 + vmovd %xmm4, %r10d + vmovd %xmm8, %ebx + vmovd -36(%r10, %r9), %xmm5 + vmovd -32(%r10, %r9), %xmm9 + vpextrd $1, %xmm4, %r8d + vpextrd $2, %xmm4, %edi + vpextrd $3, %xmm4, %esi + vpextrd $1, %xmm8, %ecx + vpextrd $2, %xmm8, %edx + vpextrd $3, %xmm8, %r11d + vmovd -36(%r8, %r9), %xmm7 + vmovd -36(%rdi, %r9), %xmm10 + vmovd -36(%rsi, %r9), %xmm11 + vmovd -36(%rbx, %r9), %xmm3 + vmovd -36(%rcx, %r9), %xmm2 + vmovd -36(%rdx, %r9), %xmm0 + vmovd -36(%r11, %r9), %xmm1 + vpunpckldq %xmm7, %xmm5, %xmm14 + vpunpckldq %xmm11, %xmm10, %xmm13 + vpunpckldq %xmm2, %xmm3, %xmm4 + vpunpckldq %xmm1, %xmm0, %xmm5 + vpunpcklqdq %xmm13, %xmm14, %xmm15 + vpunpcklqdq %xmm5, %xmm4, %xmm7 + vmovd -32(%r8, %r9), %xmm10 + vmovd -32(%rdi, %r9), %xmm11 + vmovd -32(%rsi, %r9), %xmm14 + vmovd -32(%rbx, %r9), %xmm2 + vmovd -32(%rcx, %r9), %xmm0 + vmovd -32(%rdx, %r9), %xmm1 + vmovd -32(%r11, %r9), %xmm4 + vpunpckldq %xmm14, %xmm11, %xmm8 + vpunpckldq %xmm0, %xmm2, %xmm5 + vmovd -28(%r8, %r9), %xmm11 + vmovd -28(%rdi, %r9), %xmm14 + vinsertf128 $1, %xmm7, %ymm15, %ymm13 + vpunpckldq %xmm10, %xmm9, %xmm15 + vpunpckldq %xmm4, %xmm1, %xmm7 + vpunpcklqdq %xmm8, %xmm15, %xmm3 + vpunpcklqdq %xmm7, %xmm5, %xmm9 + vmovd -28(%r10, %r9), %xmm10 + vmovd -28(%rsi, %r9), %xmm8 + vmovd -28(%rbx, %r9), %xmm1 + vmovd -28(%rcx, %r9), %xmm4 + vmovd -28(%rdx, %r9), %xmm5 + vmovd -28(%r11, %r9), %xmm7 + vpunpckldq %xmm8, %xmm14, %xmm2 + vmovd -24(%r10, %r9), %xmm14 + vinsertf128 $1, %xmm9, %ymm3, %ymm15 + vpunpckldq %xmm11, %xmm10, %xmm3 + vpunpckldq %xmm4, %xmm1, %xmm9 + vpunpckldq %xmm7, %xmm5, %xmm10 + vpunpcklqdq %xmm2, %xmm3, %xmm0 + vpunpcklqdq %xmm10, %xmm9, %xmm11 + vmovd -24(%r8, %r9), %xmm3 + vmovd -24(%rdi, %r9), %xmm2 + vmovd -24(%rbx, %r9), %xmm7 + vmovd -24(%rcx, %r9), %xmm9 + vmovd -24(%rdx, %r9), %xmm10 + vpunpckldq %xmm3, %xmm14, %xmm1 + vpunpckldq %xmm9, %xmm7, %xmm14 + vmovd -20(%rsi, %r9), %xmm7 + vinsertf128 $1, %xmm11, %ymm0, %ymm8 + vmovd -24(%rsi, %r9), %xmm0 + vmovd -24(%r11, %r9), %xmm11 + vpunpckldq %xmm0, %xmm2, %xmm4 + vpunpckldq %xmm11, %xmm10, %xmm3 + vpunpcklqdq %xmm4, %xmm1, %xmm5 + vpunpcklqdq %xmm3, %xmm14, %xmm2 + vmovd -20(%r10, %r9), %xmm0 + vmovd -20(%r8, %r9), %xmm1 + vmovd -20(%rbx, %r9), %xmm14 + vmovd -20(%rdi, %r9), %xmm4 + vpunpckldq %xmm1, %xmm0, %xmm9 + vmovd -20(%r11, %r9), %xmm0 + vpunpckldq %xmm7, %xmm4, %xmm10 + vpunpcklqdq %xmm10, %xmm9, %xmm11 + vmovd -16(%r10, %r9), %xmm9 + vmovd -16(%r8, %r9), %xmm10 + vinsertf128 $1, %xmm2, %ymm5, %ymm3 + vmovd -20(%rcx, %r9), %xmm2 + vpunpckldq %xmm2, %xmm14, %xmm1 + vmovd -20(%rdx, %r9), %xmm14 + vpunpckldq %xmm0, %xmm14, %xmm4 + vpunpcklqdq %xmm4, %xmm1, %xmm5 + vmovd -16(%rdi, %r9), %xmm2 + vmovd -16(%rsi, %r9), %xmm0 + vpunpckldq %xmm10, %xmm9, %xmm1 + vmovd -16(%rcx, %r9), %xmm9 + vmovd -16(%rdx, %r9), %xmm10 + vpunpckldq %xmm0, %xmm2, %xmm4 + vinsertf128 $1, %xmm5, %ymm11, %ymm7 + vmovups %ymm7, 32(%rsp) + vmovd -16(%rbx, %r9), %xmm7 + vmovd -16(%r11, %r9), %xmm11 + vpunpckldq %xmm9, %xmm7, %xmm14 + vpunpckldq %xmm11, %xmm10, %xmm2 + vpunpcklqdq %xmm4, %xmm1, %xmm5 + vpunpcklqdq %xmm2, %xmm14, %xmm0 + vmovd -12(%r10, %r9), %xmm1 + vmovd -12(%r8, %r9), %xmm4 + vmovd -12(%rdi, %r9), %xmm7 + vmovd -12(%rsi, %r9), %xmm9 + vpunpckldq %xmm4, %xmm1, %xmm10 + vmovd -12(%rcx, %r9), %xmm1 + vmovd -12(%rdx, %r9), %xmm4 + vpunpckldq %xmm9, %xmm7, %xmm11 + vpunpcklqdq %xmm11, %xmm10, %xmm14 + vinsertf128 $1, %xmm0, %ymm5, %ymm2 + vmovd -12(%rbx, %r9), %xmm0 + vmovd -12(%r11, %r9), %xmm5 + vpunpckldq %xmm1, %xmm0, %xmm7 + vpunpckldq %xmm5, %xmm4, %xmm9 + vpunpcklqdq %xmm9, %xmm7, %xmm10 + vmovd -8(%r10, %r9), %xmm1 + vmovd -8(%r8, %r9), %xmm4 + vmovups 128(%rsp), %ymm0 + vinsertf128 $1, %xmm10, %ymm14, %ymm11 + vmovups %ymm11, (%rsp) + vmovups 96(%rsp), %ymm10 + vmovups 64(%rsp), %ymm11 + # LOE rdx rcx rbx rsi rdi r8 r9 r10 r11 r12 r13 r14 r15 eax xmm1 xmm4 ymm0 ymm2 ymm3 ymm6 ymm8 ymm10 ymm11 ymm12 ymm13 ymm15 + + vmovd -8(%rdi, %r9), %xmm7 + vmovd -8(%rsi, %r9), %xmm5 + vpunpckldq %xmm4, %xmm1, %xmm4 + vpunpckldq %xmm5, %xmm7, %xmm9 + vpunpcklqdq %xmm9, %xmm4, %xmm7 + vmovd -8(%rbx, %r9), %xmm1 + vmovd -8(%rcx, %r9), %xmm14 + vmovd -8(%rdx, %r9), %xmm5 + vmovd -8(%r11, %r9), %xmm4 + vpunpckldq %xmm14, %xmm1, %xmm9 + vpunpckldq %xmm4, %xmm5, %xmm1 + vpunpcklqdq %xmm1, %xmm9, %xmm14 + vmovd -4(%r10, %r9), %xmm5 + vmovd -4(%r8, %r9), %xmm4 + vmovd -4(%rdi, %r9), %xmm9 + vmovd -4(%rsi, %r9), %xmm1 + vinsertf128 $1, %xmm14, %ymm7, %ymm7 + vpunpckldq %xmm4, %xmm5, %xmm14 + vpunpckldq %xmm1, %xmm9, %xmm5 + vpunpcklqdq %xmm5, %xmm14, %xmm4 + vmovd -4(%rbx, %r9), %xmm9 + vmovd -4(%rcx, %r9), %xmm1 + vmovd -4(%rdx, %r9), %xmm14 + vmovd -4(%r11, %r9), %xmm5 + vpunpckldq %xmm1, %xmm9, %xmm9 + vpunpckldq %xmm5, %xmm14, %xmm1 + vpunpcklqdq %xmm1, %xmm9, %xmm14 + vmovd (%r10, %r9), %xmm5 + vmovd (%r8, %r9), %xmm9 + vmovd (%rdi, %r9), %xmm1 + vpunpckldq %xmm9, %xmm5, %xmm5 + + /* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * P3 = C1_lo + C2 * Z + */ + vfmadd213ps (%rsp), %ymm6, %ymm7 + vinsertf128 $1, %xmm14, %ymm4, %ymm4 + vmovd (%rsi, %r9), %xmm14 + vpunpckldq %xmm14, %xmm1, %xmm9 + vmovd (%rbx, %r9), %xmm1 + vmovd (%rcx, %r9), %xmm14 + vpunpcklqdq %xmm9, %xmm5, %xmm9 + vpunpckldq %xmm14, %xmm1, %xmm5 + vmovd (%rdx, %r9), %xmm1 + vmovd (%r11, %r9), %xmm14 + vpunpckldq %xmm14, %xmm1, %xmm1 + vpunpcklqdq %xmm1, %xmm5, %xmm5 + vmovups .FLT_33(%rip), %ymm1 + + /* + * Compute 2-part reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi + B_lo = (128 - n) pi/128. Force the upper part + * of this reduced argument to half-length to simplify accurate + * reciprocation later on. + */ + vsubps %ymm6, %ymm13, %ymm14 + vsubps %ymm14, %ymm13, %ymm13 + vsubps %ymm6, %ymm13, %ymm13 + vinsertf128 $1, %xmm5, %ymm9, %ymm5 + vandps %ymm1, %ymm14, %ymm9 + vsubps %ymm9, %ymm14, %ymm14 + + /* P4 = C3 + C4 * Z */ + vfmadd213ps %ymm4, %ymm6, %ymm5 + vaddps %ymm14, %ymm15, %ymm15 + vaddps %ymm15, %ymm13, %ymm15 + + /* + * Now compute an approximate reciprocal to mix into the computation + * To avoid any danger of nonportability, force it to 12 bits, + * though I suspect it always is anyway on current platforms. + */ + vrcpps %ymm9, %ymm13 + vandps %ymm1, %ymm13, %ymm13 + + /* + * Now compute the error sEr where sRecip_hi = (1/R_hi) * (1 - sEr) + * so that we can compensate for it. + */ + vmovups _sOne+__svml_stan_data_internal(%rip), %ymm1 + vfnmadd213ps %ymm1, %ymm13, %ymm9 + + /* + * Get a better approximation to 1/sR_hi (not far short of an ulp) + * using a third-order polynomial approximation + */ + vmovaps %ymm13, %ymm14 + vfmadd213ps %ymm13, %ymm9, %ymm14 + vfmadd231ps %ymm9, %ymm9, %ymm1 + vmulps %ymm1, %ymm14, %ymm1 + + /* + * Multiply by sRecip_ok to make sR_lo relative to sR_hi + * Since sR_lo is shifted off by about 12 bits, this is accurate enough. + */ + vmulps %ymm1, %ymm15, %ymm14 + + /* + * Now create a low reciprocal using + * (Recip_hi + Er * Recip_ok) * (1 + sR_lo^2 - sR_lo) + * =~= Recip_hi + Recip_ok * (Er + sR_lo^2 - sR_lo) + */ + vsubps %ymm9, %ymm14, %ymm9 + vfmsub213ps %ymm9, %ymm14, %ymm14 + vmulps %ymm14, %ymm1, %ymm9 + vmovaps %ymm2, %ymm1 + vfmadd213ps %ymm3, %ymm6, %ymm1 + vsubps %ymm1, %ymm3, %ymm15 + vmovaps %ymm8, %ymm3 + vfmadd213ps %ymm1, %ymm13, %ymm3 + vfmadd213ps %ymm15, %ymm6, %ymm2 + vfmsub213ps %ymm3, %ymm8, %ymm13 + vfmadd213ps %ymm2, %ymm8, %ymm9 + vaddps %ymm13, %ymm1, %ymm2 + + /* Z2 = Z^2 */ + vmulps %ymm6, %ymm6, %ymm1 + vaddps %ymm2, %ymm9, %ymm8 + + /* + * Stage 2 (with unlimited parallelism) + * P6 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 + */ + vfmadd213ps %ymm7, %ymm5, %ymm1 + + /* P9 = trail(dominant part) + C0_lo */ + vaddps 32(%rsp), %ymm8, %ymm5 + + /* Final accumulation of low part */ + vfmadd213ps %ymm5, %ymm6, %ymm1 + + /* And now the very final summation */ + vaddps %ymm1, %ymm3, %ymm6 + + /* + * The end of implementation (LA with huge args reduction) + * End of large arguments path (_HA_, _LA_ and _EP_) + */ + + vxorps %ymm11, %ymm6, %ymm11 + + /* Merge results from main and large paths: */ + vblendvps %ymm10, %ymm11, %ymm0, %ymm0 + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE r12 r13 r14 r15 eax ymm0 ymm12 END(_ZGVdN8v_tanf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 .FLT_15: - .long 0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000 - .type .FLT_15,@object - .size .FLT_15,32 - .align 32 + .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 + .type .FLT_15, @object + .size .FLT_15, 32 + .align 32 .FLT_16: - .long 0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000,0x7f800000 - .type .FLT_16,@object - .size .FLT_16,32 - .align 32 + .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 + .type .FLT_16, @object + .size .FLT_16, 32 + .align 32 .FLT_17: - .long 0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff,0x007fffff - .type .FLT_17,@object - .size .FLT_17,32 - .align 32 + .long 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff, 0x007fffff + .type .FLT_17, @object + .size .FLT_17, 32 + .align 32 .FLT_18: - .long 0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000,0x00800000 - .type .FLT_18,@object - .size .FLT_18,32 - .align 32 + .long 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000, 0x00800000 + .type .FLT_18, @object + .size .FLT_18, 32 + .align 32 .FLT_19: - .long 0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff,0x0000ffff - .type .FLT_19,@object - .size .FLT_19,32 - .align 32 + .long 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff + .type .FLT_19, @object + .size .FLT_19, 32 + .align 32 .FLT_20: - .long 0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000,0x80000000 - .type .FLT_20,@object - .size .FLT_20,32 - .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 + .type .FLT_20, @object + .size .FLT_20, 32 + .align 32 .FLT_21: - .long 0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000,0x3f800000 - .type .FLT_21,@object - .size .FLT_21,32 - .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 + .type .FLT_21, @object + .size .FLT_21, 32 + .align 32 .FLT_22: - .long 0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000,0x47400000 - .type .FLT_22,@object - .size .FLT_22,32 - .align 32 + .long 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000, 0x47400000 + .type .FLT_22, @object + .size .FLT_22, 32 + .align 32 .FLT_23: - .long 0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000,0x28800000 - .type .FLT_23,@object - .size .FLT_23,32 - .align 32 + .long 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000, 0x28800000 + .type .FLT_23, @object + .size .FLT_23, 32 + .align 32 .FLT_24: - .long 0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff,0x0003ffff - .type .FLT_24,@object - .size .FLT_24,32 - .align 32 + .long 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff, 0x0003ffff + .type .FLT_24, @object + .size .FLT_24, 32 + .align 32 .FLT_25: - .long 0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000,0x34000000 - .type .FLT_25,@object - .size .FLT_25,32 - .align 32 + .long 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000, 0x34000000 + .type .FLT_25, @object + .size .FLT_25, 32 + .align 32 .FLT_26: - .long 0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff,0x000001ff - .type .FLT_26,@object - .size .FLT_26,32 - .align 32 + .long 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff, 0x000001ff + .type .FLT_26, @object + .size .FLT_26, 32 + .align 32 .FLT_27: - .long 0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb,0x40c90fdb - .type .FLT_27,@object - .size .FLT_27,32 - .align 32 + .long 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb, 0x40c90fdb + .type .FLT_27, @object + .size .FLT_27, 32 + .align 32 .FLT_28: - .long 0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e,0xb43bbd2e - .type .FLT_28,@object - .size .FLT_28,32 - .align 32 + .long 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e, 0xb43bbd2e + .type .FLT_28, @object + .size .FLT_28, 32 + .align 32 .FLT_29: - .long 0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff,0x7fffffff - .type .FLT_29,@object - .size .FLT_29,32 - .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff + .type .FLT_29, @object + .size .FLT_29, 32 + .align 32 .FLT_30: - .long 0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000,0x35800000 - .type .FLT_30,@object - .size .FLT_30,32 - .align 32 + .long 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000, 0x35800000 + .type .FLT_30, @object + .size .FLT_30, 32 + .align 32 .FLT_31: - .long 0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff,0x000000ff - .type .FLT_31,@object - .size .FLT_31,32 - .align 32 + .long 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff, 0x000000ff + .type .FLT_31, @object + .size .FLT_31, 32 + .align 32 .FLT_32: - .long 0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f,0x0000007f - .type .FLT_32,@object - .size .FLT_32,32 - .align 32 + .long 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f, 0x0000007f + .type .FLT_32, @object + .size .FLT_32, 32 + .align 32 .FLT_33: - .long 0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000,0xfffff000 - .type .FLT_33,@object - .size .FLT_33,32 - .align 32 + .long 0xfffff000, 0xfffff000, 0xfffff000, 0xfffff000, 0xfffff000, 0xfffff000, 0xfffff000, 0xfffff000 + .type .FLT_33, @object + .size .FLT_33, 32 + .align 32 #ifdef __svml_stan_data_internal_typedef typedef unsigned int VUINT32; - typedef struct - { - __declspec(align(32)) VUINT32 _sInvPI_uisa[8][1]; - __declspec(align(32)) VUINT32 _sPI1_uisa[8][1]; - __declspec(align(32)) VUINT32 _sPI2_uisa[8][1]; - __declspec(align(32)) VUINT32 _sPI3_uisa[8][1]; - __declspec(align(32)) VUINT32 _sPI2_ha_uisa[8][1]; - __declspec(align(32)) VUINT32 _sPI3_ha_uisa[8][1]; - __declspec(align(32)) VUINT32 Th_tbl_uisa[32][1]; - __declspec(align(32)) VUINT32 Tl_tbl_uisa[32][1]; - __declspec(align(32)) VUINT32 _sPC3_uisa[8][1]; - __declspec(align(32)) VUINT32 _sPC5_uisa[8][1]; - __declspec(align(32)) VUINT32 _sRangeReductionVal_uisa[8][1]; - __declspec(align(32)) VUINT32 _sInvPi[8][1]; - __declspec(align(32)) VUINT32 _sSignMask[8][1]; - __declspec(align(32)) VUINT32 _sAbsMask[8][1]; - __declspec(align(32)) VUINT32 _sRangeVal[8][1]; - __declspec(align(32)) VUINT32 _sRShifter[8][1]; - __declspec(align(32)) VUINT32 _sOne[8][1]; - __declspec(align(32)) VUINT32 _sRangeReductionVal[8][1]; - __declspec(align(32)) VUINT32 _sPI1[8][1]; - __declspec(align(32)) VUINT32 _sPI2[8][1]; - __declspec(align(32)) VUINT32 _sPI3[8][1]; - __declspec(align(32)) VUINT32 _sPI4[8][1]; - __declspec(align(32)) VUINT32 _sPI1_FMA[8][1]; - __declspec(align(32)) VUINT32 _sPI2_FMA[8][1]; - __declspec(align(32)) VUINT32 _sPI3_FMA[8][1]; - __declspec(align(32)) VUINT32 _sP0[8][1]; - __declspec(align(32)) VUINT32 _sP1[8][1]; - __declspec(align(32)) VUINT32 _sQ0[8][1]; - __declspec(align(32)) VUINT32 _sQ1[8][1]; - __declspec(align(32)) VUINT32 _sQ2[8][1]; - __declspec(align(32)) VUINT32 _sTwo[8][1]; - __declspec(align(32)) VUINT32 _sCoeffs[128][10][1]; - } __svml_stan_data_internal; +typedef struct { + __declspec(align(32)) VUINT32 _sInvPI_uisa[8][1]; + __declspec(align(32)) VUINT32 _sPI1_uisa[8][1]; + __declspec(align(32)) VUINT32 _sPI2_uisa[8][1]; + __declspec(align(32)) VUINT32 _sPI3_uisa[8][1]; + __declspec(align(32)) VUINT32 _sPI2_ha_uisa[8][1]; + __declspec(align(32)) VUINT32 _sPI3_ha_uisa[8][1]; + __declspec(align(32)) VUINT32 Th_tbl_uisa[32][1]; + __declspec(align(32)) VUINT32 Tl_tbl_uisa[32][1]; + __declspec(align(32)) VUINT32 _sPC3_uisa[8][1]; + __declspec(align(32)) VUINT32 _sPC5_uisa[8][1]; + __declspec(align(32)) VUINT32 _sRangeReductionVal_uisa[8][1]; + __declspec(align(32)) VUINT32 _sInvPi[8][1]; + __declspec(align(32)) VUINT32 _sSignMask[8][1]; + __declspec(align(32)) VUINT32 _sAbsMask[8][1]; + __declspec(align(32)) VUINT32 _sRangeVal[8][1]; + __declspec(align(32)) VUINT32 _sRShifter[8][1]; + __declspec(align(32)) VUINT32 _sOne[8][1]; + __declspec(align(32)) VUINT32 _sRangeReductionVal[8][1]; + __declspec(align(32)) VUINT32 _sPI1[8][1]; + __declspec(align(32)) VUINT32 _sPI2[8][1]; + __declspec(align(32)) VUINT32 _sPI3[8][1]; + __declspec(align(32)) VUINT32 _sPI4[8][1]; + __declspec(align(32)) VUINT32 _sPI1_FMA[8][1]; + __declspec(align(32)) VUINT32 _sPI2_FMA[8][1]; + __declspec(align(32)) VUINT32 _sPI3_FMA[8][1]; + __declspec(align(32)) VUINT32 _sP0[8][1]; + __declspec(align(32)) VUINT32 _sP1[8][1]; + __declspec(align(32)) VUINT32 _sQ0[8][1]; + __declspec(align(32)) VUINT32 _sQ1[8][1]; + __declspec(align(32)) VUINT32 _sQ2[8][1]; + __declspec(align(32)) VUINT32 _sTwo[8][1]; + __declspec(align(32)) VUINT32 _sCoeffs[128][10][1]; +} __svml_stan_data_internal; #endif __svml_stan_data_internal: - /* UISA */ - .long 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983 /* _sInvPI_uisa */ - .align 32 - .long 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda /* _sPI1_uisa */ - .align 32 - .long 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168 /* _sPI2_uisa */ - .align 32 - .long 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5 /* _sPI3_uisa */ - .align 32 - .long 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000 /* _sPI2_ha_uisa */ - .align 32 - .long 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a /* _sPI3_ha_uisa */ - /* Th_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)); */ - .align 32 - .long 0x80000000, 0x3dc9b5dc, 0x3e4bafaf, 0x3e9b5042 - .long 0x3ed413cd, 0x3f08d5b9, 0x3f2b0dc1, 0x3f521801 - .long 0x3f800000, 0x3f9bf7ec, 0x3fbf90c7, 0x3fef789e - .long 0x401a827a, 0x4052facf, 0x40a0dff7, 0x41227363 - .long 0xff7fffff, 0xc1227363, 0xc0a0dff7, 0xc052facf - .long 0xc01a827a, 0xbfef789e, 0xbfbf90c7, 0xbf9bf7ec - .long 0xbf800000, 0xbf521801, 0xbf2b0dc1, 0xbf08d5b9 - .long 0xbed413cd, 0xbe9b5042, 0xbe4bafaf, 0xbdc9b5dc - /* Tl_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)-round(tan(i*Pi/32),SG,RN)); */ - .align 32 - .long 0x80000000, 0x3145b2da, 0x2f2a62b0, 0xb22a39c2 - .long 0xb1c0621a, 0xb25ef963, 0x32ab7f99, 0x32ae4285 - .long 0x00000000, 0x33587608, 0x32169d18, 0xb30c3ec0 - .long 0xb3cc0622, 0x3390600e, 0x331091dc, 0xb454a046 - .long 0xf3800000, 0x3454a046, 0xb31091dc, 0xb390600e - .long 0x33cc0622, 0x330c3ec0, 0xb2169d18, 0xb3587608 - .long 0x00000000, 0xb2ae4285, 0xb2ab7f99, 0x325ef963 - .long 0x31c0621a, 0x322a39c2, 0xaf2a62b0, 0xb145b2da - .align 32 - .long 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6 /* _sPC3_uisa */ - .align 32 - .long 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888 /* _sPC5_uisa */ - .align 32 - .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeReductionVal_uisa */ - .align 32 - .long 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983 /* _sInvPi */ - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ - .align 32 - .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _sAbsMask */ - .align 32 - .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _sRangeVal */ - .align 32 - .long 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000 /* _sRShifter */ - .align 32 - .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _sOne */ - .align 32 - .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeVal */ - .align 32 - .long 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000 /* _sPI1 */ - .align 32 - .long 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000 /* _sPI2 */ - .align 32 - .long 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000 /* _sPI3 */ - .align 32 - .long 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A /* _sPI4 */ - // PI1, PI2, and PI3 when FMA is available - .align 32 - .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB /* _sPI1_FMA */ - .align 32 - .long 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E /* _sPI2_FMA */ - .align 32 - .long 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED /* _sPI3_FMA */ - .align 32 - .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sP0 */ - .align 32 - .long 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4 /* _sP1 */ - .align 32 - .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sQ0 */ - .align 32 - .long 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB /* _sQ1 */ - .align 32 - .long 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B /* _sQ2 */ - .align 32 - .long 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000 /* _sTwo */ - // _sCoeffs Breakpoint B = 0 * pi/128, function tan(B + x) - .align 32 - .long 0x3FC90FDB // B' = pi/2 - B (high single) - .long 0xB33BBD2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x00000000 // c0 (high single) - .long 0x00000000 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x00000000 // c1 (low single) - .long 0x00000000 // c2 - .long 0x3EAAACDD // c3 - .long 0x00000000 // c4 - .long 0x3FC5EB9B // B' = pi/2 - B (high single) - .long 0x32DE638C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3CC91A31 // c0 (high single) - .long 0x2F8E8D1A // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3A1DFA00 // c1 (low single) - .long 0x3CC9392D // c2 - .long 0x3EAB1889 // c3 - .long 0x3C885D3B // c4 - .long 0x3FC2C75C // B' = pi/2 - B (high single) - .long 0xB2CBBE8A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3D49393C // c0 (high single) - .long 0x30A39F5B // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3B1E2B00 // c1 (low single) - .long 0x3D49B5D4 // c2 - .long 0x3EAC4F10 // c3 - .long 0x3CFD9425 // c4 - .long 0x3FBFA31C // B' = pi/2 - B (high single) - .long 0x33450FB0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3D9711CE // c0 (high single) - .long 0x314FEB28 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3BB24C00 // c1 (low single) - .long 0x3D97E43A // c2 - .long 0x3EAE6A89 // c3 - .long 0x3D4D07E0 // c4 - .long 0x3FBC7EDD // B' = pi/2 - B (high single) - .long 0xB1800ADD // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3DC9B5DC // c0 (high single) - .long 0x3145AD86 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C1EEF20 // c1 (low single) - .long 0x3DCBAAEA // c2 - .long 0x3EB14E5E // c3 - .long 0x3D858BB2 // c4 - .long 0x3FB95A9E // B' = pi/2 - B (high single) - .long 0xB3651267 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3DFC98C2 // c0 (high single) - .long 0xB0AE525C // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C793D20 // c1 (low single) - .long 0x3E003845 // c2 - .long 0x3EB5271F // c3 - .long 0x3DAC669E // c4 - .long 0x3FB6365E // B' = pi/2 - B (high single) - .long 0x328BB91C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E17E564 // c0 (high single) - .long 0xB1C5A2E4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CB440D0 // c1 (low single) - .long 0x3E1B3D00 // c2 - .long 0x3EB9F664 // c3 - .long 0x3DD647C0 // c4 - .long 0x3FB3121F // B' = pi/2 - B (high single) - .long 0xB30F347D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E31AE4D // c0 (high single) - .long 0xB1F32251 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CF6A500 // c1 (low single) - .long 0x3E3707DA // c2 - .long 0x3EBFA489 // c3 - .long 0x3DFBD9C7 // c4 - .long 0x3FAFEDDF // B' = pi/2 - B (high single) - .long 0x331BBA77 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E4BAFAF // c0 (high single) - .long 0x2F2A29E0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D221018 // c1 (low single) - .long 0x3E53BED0 // c2 - .long 0x3EC67E26 // c3 - .long 0x3E1568E2 // c4 - .long 0x3FACC9A0 // B' = pi/2 - B (high single) - .long 0xB2655A50 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E65F267 // c0 (high single) - .long 0x31B4B1DF // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D4E8B90 // c1 (low single) - .long 0x3E718ACA // c2 - .long 0x3ECE7164 // c3 - .long 0x3E2DC161 // c4 - .long 0x3FA9A560 // B' = pi/2 - B (high single) - .long 0x33719861 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E803FD4 // c0 (high single) - .long 0xB2279E66 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D807FC8 // c1 (low single) - .long 0x3E884BD4 // c2 - .long 0x3ED7812D // c3 - .long 0x3E4636EB // c4 - .long 0x3FA68121 // B' = pi/2 - B (high single) - .long 0x31E43AAC // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E8DB082 // c0 (high single) - .long 0xB132A234 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D9CD7D0 // c1 (low single) - .long 0x3E988A60 // c2 - .long 0x3EE203E3 // c3 - .long 0x3E63582C // c4 - .long 0x3FA35CE2 // B' = pi/2 - B (high single) - .long 0xB33889B6 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3E9B5042 // c0 (high single) - .long 0xB22A3AEE // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DBC7490 // c1 (low single) - .long 0x3EA99AF5 // c2 - .long 0x3EEDE107 // c3 - .long 0x3E80E9AA // c4 - .long 0x3FA038A2 // B' = pi/2 - B (high single) - .long 0x32E4CA7E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EA92457 // c0 (high single) - .long 0x30B80830 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DDF8200 // c1 (low single) - .long 0x3EBB99E9 // c2 - .long 0x3EFB4AA8 // c3 - .long 0x3E9182BE // c4 - .long 0x3F9D1463 // B' = pi/2 - B (high single) - .long 0xB2C55799 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EB73250 // c0 (high single) - .long 0xB2028823 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E0318F8 // c1 (low single) - .long 0x3ECEA678 // c2 - .long 0x3F053C67 // c3 - .long 0x3EA41E53 // c4 - .long 0x3F99F023 // B' = pi/2 - B (high single) - .long 0x33484328 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EC5800D // c0 (high single) - .long 0xB214C3C1 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E185E54 // c1 (low single) - .long 0x3EE2E342 // c2 - .long 0x3F0DCA73 // c3 - .long 0x3EB8CC21 // c4 - .long 0x3F96CBE4 // B' = pi/2 - B (high single) - .long 0xB14CDE2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3ED413CD // c0 (high single) - .long 0xB1C06152 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E2FB0CC // c1 (low single) - .long 0x3EF876CB // c2 - .long 0x3F177807 // c3 - .long 0x3ED08437 // c4 - .long 0x3F93A7A5 // B' = pi/2 - B (high single) - .long 0xB361DEEE // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EE2F439 // c0 (high single) - .long 0xB1F4399E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E49341C // c1 (low single) - .long 0x3F07C61A // c2 - .long 0x3F22560F // c3 - .long 0x3EEAA81E // c4 - .long 0x3F908365 // B' = pi/2 - B (high single) - .long 0x3292200D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3EF22870 // c0 (high single) - .long 0x325271F4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E65107A // c1 (low single) - .long 0x3F1429F0 // c2 - .long 0x3F2E8AFC // c3 - .long 0x3F040498 // c4 - .long 0x3F8D5F26 // B' = pi/2 - B (high single) - .long 0xB30C0105 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F00DC0D // c0 (high single) - .long 0xB214AF72 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E81B994 // c1 (low single) - .long 0x3F218233 // c2 - .long 0x3F3C4531 // c3 - .long 0x3F149688 // c4 - .long 0x3F8A3AE6 // B' = pi/2 - B (high single) - .long 0x331EEDF0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F08D5B9 // c0 (high single) - .long 0xB25EF98E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E92478D // c1 (low single) - .long 0x3F2FEDC9 // c2 - .long 0x3F4BCD58 // c3 - .long 0x3F27AE9E // c4 - .long 0x3F8716A7 // B' = pi/2 - B (high single) - .long 0xB2588C6D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F1105AF // c0 (high single) - .long 0x32F045B0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EA44EE2 // c1 (low single) - .long 0x3F3F8FDB // c2 - .long 0x3F5D3FD0 // c3 - .long 0x3F3D0A23 // c4 - .long 0x3F83F267 // B' = pi/2 - B (high single) - .long 0x3374CBD9 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F1970C4 // c0 (high single) - .long 0x32904848 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EB7EFF8 // c1 (low single) - .long 0x3F50907C // c2 - .long 0x3F710FEA // c3 - .long 0x3F561FED // c4 - .long 0x3F80CE28 // B' = pi/2 - B (high single) - .long 0x31FDD672 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F221C37 // c0 (high single) - .long 0xB20C61DC // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3ECD4F71 // c1 (low single) - .long 0x3F631DAA // c2 - .long 0x3F83B471 // c3 - .long 0x3F7281EA // c4 - .long 0x3F7B53D1 // B' = pi/2 - B (high single) - .long 0x32955386 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F2B0DC1 // c0 (high single) - .long 0x32AB7EBA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EE496C2 // c1 (low single) - .long 0x3F776C40 // c2 - .long 0x3F9065C1 // c3 - .long 0x3F89AFB6 // c4 - .long 0x3F750B52 // B' = pi/2 - B (high single) - .long 0x32EB316F // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F344BA9 // c0 (high single) - .long 0xB2B8B0EA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EFDF4F7 // c1 (low single) - .long 0x3F86DCA8 // c2 - .long 0x3F9ED53B // c3 - .long 0x3F9CBEDE // c4 - .long 0x3F6EC2D4 // B' = pi/2 - B (high single) - .long 0xB2BEF0A7 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F3DDCCF // c0 (high single) - .long 0x32D29606 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEE6606F // c1 (low single) - .long 0x3F9325D6 // c2 - .long 0x3FAF4E69 // c3 - .long 0x3FB3080C // c4 - .long 0x3F687A55 // B' = pi/2 - B (high single) - .long 0xB252257B // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F47C8CC // c0 (high single) - .long 0xB200F51A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEC82C6C // c1 (low single) - .long 0x3FA0BAE9 // c2 - .long 0x3FC2252F // c3 - .long 0x3FCD24C7 // c4 - .long 0x3F6231D6 // B' = pi/2 - B (high single) - .long 0xB119A6A2 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F521801 // c0 (high single) - .long 0x32AE4178 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEA72938 // c1 (low single) - .long 0x3FAFCC22 // c2 - .long 0x3FD7BD4A // c3 - .long 0x3FEBB01B // c4 - .long 0x3F5BE957 // B' = pi/2 - B (high single) - .long 0x3205522A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F5CD3BE // c0 (high single) - .long 0x31460308 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE8306C5 // c1 (low single) - .long 0x3FC09232 // c2 - .long 0x3FF09632 // c3 - .long 0x4007DB00 // c4 - .long 0x3F55A0D8 // B' = pi/2 - B (high single) - .long 0x329886FF // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F68065E // c0 (high single) - .long 0x32670D1A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE36D1D6 // c1 (low single) - .long 0x3FD35007 // c2 - .long 0x4006A861 // c3 - .long 0x401D4BDA // c4 - .long 0x3F4F5859 // B' = pi/2 - B (high single) - .long 0x32EE64E8 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0x3F73BB75 // c0 (high single) - .long 0x32FC908D // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBDBF94B0 // c1 (low single) - .long 0x3FE8550F // c2 - .long 0x40174F67 // c3 - .long 0x4036C608 // c4 - .long 0x3F490FDB // B' = pi/2 - B (high single) - .long 0xB2BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE8BE60E // c0 (high single) - .long 0x320D8D84 // c0 (low single) - .long 0x3F000000 // c1 (high 1 bit) - .long 0xBDF817B1 // c1 (low single) - .long 0xBD8345EB // c2 - .long 0x3D1DFDAC // c3 - .long 0xBC52CF6F // c4 - .long 0x3F42C75C // B' = pi/2 - B (high single) - .long 0xB24BBE8A // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE87283F // c0 (high single) - .long 0xB268B966 // c0 (low single) - .long 0x3F000000 // c1 (high 1 bit) - .long 0xBDFE6529 // c1 (low single) - .long 0xBD7B1953 // c2 - .long 0x3D18E109 // c3 - .long 0xBC4570B0 // c4 - .long 0x3F3C7EDD // B' = pi/2 - B (high single) - .long 0xB1000ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE827420 // c0 (high single) - .long 0x320B8B4D // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DFB9428 // c1 (low single) - .long 0xBD7002B4 // c2 - .long 0x3D142A6C // c3 - .long 0xBC3A47FF // c4 - .long 0x3F36365E // B' = pi/2 - B (high single) - .long 0x320BB91C // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE7B9282 // c0 (high single) - .long 0xB13383D2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF5D211 // c1 (low single) - .long 0xBD6542B3 // c2 - .long 0x3D0FE5E5 // c3 - .long 0xBC31FB14 // c4 - .long 0x3F2FEDDF // B' = pi/2 - B (high single) - .long 0x329BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE724E73 // c0 (high single) - .long 0x3120C3E2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF05283 // c1 (low single) - .long 0xBD5AD45E // c2 - .long 0x3D0BAFBF // c3 - .long 0xBC27B8BB // c4 - .long 0x3F29A560 // B' = pi/2 - B (high single) - .long 0x32F19861 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE691B44 // c0 (high single) - .long 0x31F18936 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DEB138B // c1 (low single) - .long 0xBD50B2F7 // c2 - .long 0x3D07BE3A // c3 - .long 0xBC1E46A7 // c4 - .long 0x3F235CE2 // B' = pi/2 - B (high single) - .long 0xB2B889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE5FF82C // c0 (high single) - .long 0xB170723A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE61354 // c1 (low single) - .long 0xBD46DA06 // c2 - .long 0x3D0401F8 // c3 - .long 0xBC14E013 // c4 - .long 0x3F1D1463 // B' = pi/2 - B (high single) - .long 0xB2455799 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE56E46B // c0 (high single) - .long 0x31E3F001 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE15025 // c1 (low single) - .long 0xBD3D4550 // c2 - .long 0x3D00462D // c3 - .long 0xBC092C98 // c4 - .long 0x3F16CBE4 // B' = pi/2 - B (high single) - .long 0xB0CCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE4DDF41 // c0 (high single) - .long 0xB1AEA094 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DDCC85C // c1 (low single) - .long 0xBD33F0BE // c2 - .long 0x3CFA23B0 // c3 - .long 0xBC01FCF7 // c4 - .long 0x3F108365 // B' = pi/2 - B (high single) - .long 0x3212200D // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE44E7F8 // c0 (high single) - .long 0xB1CAA3CB // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD87A74 // c1 (low single) - .long 0xBD2AD885 // c2 - .long 0x3CF3C785 // c3 - .long 0xBBF1E348 // c4 - .long 0x3F0A3AE6 // B' = pi/2 - B (high single) - .long 0x329EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE3BFDDC // c0 (high single) - .long 0xB132521A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD464FC // c1 (low single) - .long 0xBD21F8F1 // c2 - .long 0x3CEE3076 // c3 - .long 0xBBE6D263 // c4 - .long 0x3F03F267 // B' = pi/2 - B (high single) - .long 0x32F4CBD9 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE33203E // c0 (high single) - .long 0x31FEF5BE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD0869C // c1 (low single) - .long 0xBD194E8C // c2 - .long 0x3CE8DCA9 // c3 - .long 0xBBDADA55 // c4 - .long 0x3EFB53D1 // B' = pi/2 - B (high single) - .long 0x32155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE2A4E71 // c0 (high single) - .long 0xB19CFCEC // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DCCDE11 // c1 (low single) - .long 0xBD10D605 // c2 - .long 0x3CE382A7 // c3 - .long 0xBBC8BD97 // c4 - .long 0x3EEEC2D4 // B' = pi/2 - B (high single) - .long 0xB23EF0A7 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE2187D0 // c0 (high single) - .long 0xB1B7C7F7 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC96A2B // c1 (low single) - .long 0xBD088C22 // c2 - .long 0x3CDE950E // c3 - .long 0xBBB89AD1 // c4 - .long 0x3EE231D6 // B' = pi/2 - B (high single) - .long 0xB099A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE18CBB7 // c0 (high single) - .long 0xAFE28430 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC629CE // c1 (low single) - .long 0xBD006DCD // c2 - .long 0x3CDA5A2C // c3 - .long 0xBBB0B3D2 // c4 - .long 0x3ED5A0D8 // B' = pi/2 - B (high single) - .long 0x321886FF // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE101985 // c0 (high single) - .long 0xB02FB2B8 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC31BF3 // c1 (low single) - .long 0xBCF0F04D // c2 - .long 0x3CD60BC7 // c3 - .long 0xBBA138BA // c4 - .long 0x3EC90FDB // B' = pi/2 - B (high single) - .long 0xB23BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBE07709D // c0 (high single) - .long 0xB18A2A83 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC03FA2 // c1 (low single) - .long 0xBCE15096 // c2 - .long 0x3CD26472 // c3 - .long 0xBB9A1270 // c4 - .long 0x3EBC7EDD // B' = pi/2 - B (high single) - .long 0xB0800ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDFDA0CB // c0 (high single) - .long 0x2F14FCA0 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBD93F7 // c1 (low single) - .long 0xBCD1F71B // c2 - .long 0x3CCEDD2B // c3 - .long 0xBB905946 // c4 - .long 0x3EAFEDDF // B' = pi/2 - B (high single) - .long 0x321BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDEC708C // c0 (high single) - .long 0xB14895C4 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBB181E // c1 (low single) - .long 0xBCC2DEA6 // c2 - .long 0x3CCB5027 // c3 - .long 0xBB7F3969 // c4 - .long 0x3EA35CE2 // B' = pi/2 - B (high single) - .long 0xB23889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDDB4F55 // c0 (high single) - .long 0x30F6437E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB8CB52 // c1 (low single) - .long 0xBCB40210 // c2 - .long 0x3CC82D45 // c3 - .long 0xBB643075 // c4 - .long 0x3E96CBE4 // B' = pi/2 - B (high single) - .long 0xB04CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDCA3BFF // c0 (high single) - .long 0x311C95EA // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB6ACDE // c1 (low single) - .long 0xBCA55C5B // c2 - .long 0x3CC5BC04 // c3 - .long 0xBB63A969 // c4 - .long 0x3E8A3AE6 // B' = pi/2 - B (high single) - .long 0x321EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDB93569 // c0 (high single) - .long 0xAFB9ED00 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB4BC1F // c1 (low single) - .long 0xBC96E905 // c2 - .long 0x3CC2E6F5 // c3 - .long 0xBB3E10A6 // c4 - .long 0x3E7B53D1 // B' = pi/2 - B (high single) - .long 0x31955386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBDA83A77 // c0 (high single) - .long 0x316D967A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB2F87C // c1 (low single) - .long 0xBC88A31F // c2 - .long 0x3CC0E763 // c3 - .long 0xBB3F1666 // c4 - .long 0x3E6231D6 // B' = pi/2 - B (high single) - .long 0xB019A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD974A0D // c0 (high single) - .long 0xB14F365B // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB1616F // c1 (low single) - .long 0xBC750CD8 // c2 - .long 0x3CBEB595 // c3 - .long 0xBB22B883 // c4 - .long 0x3E490FDB // B' = pi/2 - B (high single) - .long 0xB1BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD866317 // c0 (high single) - .long 0xAFF02140 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAFF67D // c1 (low single) - .long 0xBC591CD0 // c2 - .long 0x3CBCBEAD // c3 - .long 0xBB04BBEC // c4 - .long 0x3E2FEDDF // B' = pi/2 - B (high single) - .long 0x319BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD6B08FF // c0 (high single) - .long 0xB0EED236 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAEB739 // c1 (low single) - .long 0xBC3D6D51 // c2 - .long 0x3CBB485D // c3 - .long 0xBAFFF5BA // c4 - .long 0x3E16CBE4 // B' = pi/2 - B (high single) - .long 0xAFCCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD495A6C // c0 (high single) - .long 0xB0A427BD // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DADA345 // c1 (low single) - .long 0xBC21F648 // c2 - .long 0x3CB9D1B4 // c3 - .long 0xBACB5567 // c4 - .long 0x3DFB53D1 // B' = pi/2 - B (high single) - .long 0x31155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD27B856 // c0 (high single) - .long 0xB0F7EE91 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DACBA4E // c1 (low single) - .long 0xBC06AEE3 // c2 - .long 0x3CB8E5DC // c3 - .long 0xBAEC00EE // c4 - .long 0x3DC90FDB // B' = pi/2 - B (high single) - .long 0xB13BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBD0620A3 // c0 (high single) - .long 0xB0ECAB40 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DABFC11 // c1 (low single) - .long 0xBBD7200F // c2 - .long 0x3CB79475 // c3 - .long 0xBA2B0ADC // c4 - .long 0x3D96CBE4 // B' = pi/2 - B (high single) - .long 0xAF4CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBCC92278 // c0 (high single) - .long 0x302F2E68 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAB6854 // c1 (low single) - .long 0xBBA1214F // c2 - .long 0x3CB6C1E9 // c3 - .long 0x3843C2F3 // c4 - .long 0x3D490FDB // B' = pi/2 - B (high single) - .long 0xB0BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBC861015 // c0 (high single) - .long 0xAFD68E2E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAAFEEB // c1 (low single) - .long 0xBB569F3F // c2 - .long 0x3CB6A84E // c3 - .long 0xBAC64194 // c4 - .long 0x3CC90FDB // B' = pi/2 - B (high single) - .long 0xB03BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0xBC060BF3 // c0 (high single) - .long 0x2FE251AE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAABFB9 // c1 (low single) - .long 0xBAD67C60 // c2 - .long 0x3CB64CA5 // c3 - .long 0xBACDE881 // c4 - .long 0x00000000 // B' = pi/2 - B (high single) - .long 0x00000000 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x00000000 // c0 (high single) - .long 0x00000000 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAAAAAB // c1 (low single) - .long 0x00000000 // c2 - .long 0x3CB5E28B // c3 - .long 0x00000000 // c4 - .long 0xBCC90FDB // B' = pi/2 - B (high single) - .long 0x303BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3C060BF3 // c0 (high single) - .long 0xAFE251AE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAABFB9 // c1 (low single) - .long 0x3AD67C60 // c2 - .long 0x3CB64CA5 // c3 - .long 0x3ACDE881 // c4 - .long 0xBD490FDB // B' = pi/2 - B (high single) - .long 0x30BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3C861015 // c0 (high single) - .long 0x2FD68E2E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAAFEEB // c1 (low single) - .long 0x3B569F3F // c2 - .long 0x3CB6A84E // c3 - .long 0x3AC64194 // c4 - .long 0xBD96CBE4 // B' = pi/2 - B (high single) - .long 0x2F4CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3CC92278 // c0 (high single) - .long 0xB02F2E68 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAB6854 // c1 (low single) - .long 0x3BA1214F // c2 - .long 0x3CB6C1E9 // c3 - .long 0xB843C2F2 // c4 - .long 0xBDC90FDB // B' = pi/2 - B (high single) - .long 0x313BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D0620A3 // c0 (high single) - .long 0x30ECAB40 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DABFC11 // c1 (low single) - .long 0x3BD7200F // c2 - .long 0x3CB79475 // c3 - .long 0x3A2B0ADC // c4 - .long 0xBDFB53D1 // B' = pi/2 - B (high single) - .long 0xB1155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D27B856 // c0 (high single) - .long 0x30F7EE91 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DACBA4E // c1 (low single) - .long 0x3C06AEE3 // c2 - .long 0x3CB8E5DC // c3 - .long 0x3AEC00EE // c4 - .long 0xBE16CBE4 // B' = pi/2 - B (high single) - .long 0x2FCCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D495A6C // c0 (high single) - .long 0x30A427BD // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DADA345 // c1 (low single) - .long 0x3C21F648 // c2 - .long 0x3CB9D1B4 // c3 - .long 0x3ACB5567 // c4 - .long 0xBE2FEDDF // B' = pi/2 - B (high single) - .long 0xB19BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D6B08FF // c0 (high single) - .long 0x30EED236 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAEB739 // c1 (low single) - .long 0x3C3D6D51 // c2 - .long 0x3CBB485D // c3 - .long 0x3AFFF5BA // c4 - .long 0xBE490FDB // B' = pi/2 - B (high single) - .long 0x31BBBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D866317 // c0 (high single) - .long 0x2FF02140 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DAFF67D // c1 (low single) - .long 0x3C591CD0 // c2 - .long 0x3CBCBEAD // c3 - .long 0x3B04BBEC // c4 - .long 0xBE6231D6 // B' = pi/2 - B (high single) - .long 0x3019A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3D974A0D // c0 (high single) - .long 0x314F365B // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB1616F // c1 (low single) - .long 0x3C750CD8 // c2 - .long 0x3CBEB595 // c3 - .long 0x3B22B883 // c4 - .long 0xBE7B53D1 // B' = pi/2 - B (high single) - .long 0xB1955386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DA83A77 // c0 (high single) - .long 0xB16D967A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB2F87C // c1 (low single) - .long 0x3C88A31F // c2 - .long 0x3CC0E763 // c3 - .long 0x3B3F1666 // c4 - .long 0xBE8A3AE6 // B' = pi/2 - B (high single) - .long 0xB21EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DB93569 // c0 (high single) - .long 0x2FB9ED00 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB4BC1F // c1 (low single) - .long 0x3C96E905 // c2 - .long 0x3CC2E6F5 // c3 - .long 0x3B3E10A6 // c4 - .long 0xBE96CBE4 // B' = pi/2 - B (high single) - .long 0x304CDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DCA3BFF // c0 (high single) - .long 0xB11C95EA // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB6ACDE // c1 (low single) - .long 0x3CA55C5B // c2 - .long 0x3CC5BC04 // c3 - .long 0x3B63A969 // c4 - .long 0xBEA35CE2 // B' = pi/2 - B (high single) - .long 0x323889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DDB4F55 // c0 (high single) - .long 0xB0F6437E // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DB8CB52 // c1 (low single) - .long 0x3CB40210 // c2 - .long 0x3CC82D45 // c3 - .long 0x3B643075 // c4 - .long 0xBEAFEDDF // B' = pi/2 - B (high single) - .long 0xB21BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DEC708C // c0 (high single) - .long 0x314895C4 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBB181E // c1 (low single) - .long 0x3CC2DEA6 // c2 - .long 0x3CCB5027 // c3 - .long 0x3B7F3969 // c4 - .long 0xBEBC7EDD // B' = pi/2 - B (high single) - .long 0x30800ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3DFDA0CB // c0 (high single) - .long 0xAF14FCA0 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DBD93F7 // c1 (low single) - .long 0x3CD1F71B // c2 - .long 0x3CCEDD2B // c3 - .long 0x3B905946 // c4 - .long 0xBEC90FDB // B' = pi/2 - B (high single) - .long 0x323BBD2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E07709D // c0 (high single) - .long 0x318A2A83 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC03FA2 // c1 (low single) - .long 0x3CE15096 // c2 - .long 0x3CD26472 // c3 - .long 0x3B9A1270 // c4 - .long 0xBED5A0D8 // B' = pi/2 - B (high single) - .long 0xB21886FF // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E101985 // c0 (high single) - .long 0x302FB2B8 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC31BF3 // c1 (low single) - .long 0x3CF0F04D // c2 - .long 0x3CD60BC7 // c3 - .long 0x3BA138BA // c4 - .long 0xBEE231D6 // B' = pi/2 - B (high single) - .long 0x3099A6A2 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E18CBB7 // c0 (high single) - .long 0x2FE28430 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC629CE // c1 (low single) - .long 0x3D006DCD // c2 - .long 0x3CDA5A2C // c3 - .long 0x3BB0B3D2 // c4 - .long 0xBEEEC2D4 // B' = pi/2 - B (high single) - .long 0x323EF0A7 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E2187D0 // c0 (high single) - .long 0x31B7C7F7 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DC96A2B // c1 (low single) - .long 0x3D088C22 // c2 - .long 0x3CDE950E // c3 - .long 0x3BB89AD1 // c4 - .long 0xBEFB53D1 // B' = pi/2 - B (high single) - .long 0xB2155386 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E2A4E71 // c0 (high single) - .long 0x319CFCEC // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DCCDE11 // c1 (low single) - .long 0x3D10D605 // c2 - .long 0x3CE382A7 // c3 - .long 0x3BC8BD97 // c4 - .long 0xBF03F267 // B' = pi/2 - B (high single) - .long 0xB2F4CBD9 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E33203E // c0 (high single) - .long 0xB1FEF5BE // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD0869C // c1 (low single) - .long 0x3D194E8C // c2 - .long 0x3CE8DCA9 // c3 - .long 0x3BDADA55 // c4 - .long 0xBF0A3AE6 // B' = pi/2 - B (high single) - .long 0xB29EEDF0 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E3BFDDC // c0 (high single) - .long 0x3132521A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD464FC // c1 (low single) - .long 0x3D21F8F1 // c2 - .long 0x3CEE3076 // c3 - .long 0x3BE6D263 // c4 - .long 0xBF108365 // B' = pi/2 - B (high single) - .long 0xB212200D // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E44E7F8 // c0 (high single) - .long 0x31CAA3CB // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DD87A74 // c1 (low single) - .long 0x3D2AD885 // c2 - .long 0x3CF3C785 // c3 - .long 0x3BF1E348 // c4 - .long 0xBF16CBE4 // B' = pi/2 - B (high single) - .long 0x30CCDE2E // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E4DDF41 // c0 (high single) - .long 0x31AEA094 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DDCC85C // c1 (low single) - .long 0x3D33F0BE // c2 - .long 0x3CFA23B0 // c3 - .long 0x3C01FCF7 // c4 - .long 0xBF1D1463 // B' = pi/2 - B (high single) - .long 0x32455799 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E56E46B // c0 (high single) - .long 0xB1E3F001 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE15025 // c1 (low single) - .long 0x3D3D4550 // c2 - .long 0x3D00462D // c3 - .long 0x3C092C98 // c4 - .long 0xBF235CE2 // B' = pi/2 - B (high single) - .long 0x32B889B6 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E5FF82C // c0 (high single) - .long 0x3170723A // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DE61354 // c1 (low single) - .long 0x3D46DA06 // c2 - .long 0x3D0401F8 // c3 - .long 0x3C14E013 // c4 - .long 0xBF29A560 // B' = pi/2 - B (high single) - .long 0xB2F19861 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E691B44 // c0 (high single) - .long 0xB1F18936 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DEB138B // c1 (low single) - .long 0x3D50B2F7 // c2 - .long 0x3D07BE3A // c3 - .long 0x3C1E46A7 // c4 - .long 0xBF2FEDDF // B' = pi/2 - B (high single) - .long 0xB29BBA77 // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E724E73 // c0 (high single) - .long 0xB120C3E2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF05283 // c1 (low single) - .long 0x3D5AD45E // c2 - .long 0x3D0BAFBF // c3 - .long 0x3C27B8BB // c4 - .long 0xBF36365E // B' = pi/2 - B (high single) - .long 0xB20BB91C // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E7B9282 // c0 (high single) - .long 0x313383D2 // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DF5D211 // c1 (low single) - .long 0x3D6542B3 // c2 - .long 0x3D0FE5E5 // c3 - .long 0x3C31FB14 // c4 - .long 0xBF3C7EDD // B' = pi/2 - B (high single) - .long 0x31000ADD // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E827420 // c0 (high single) - .long 0xB20B8B4D // c0 (low single) - .long 0x3E800000 // c1 (high 1 bit) - .long 0x3DFB9428 // c1 (low single) - .long 0x3D7002B4 // c2 - .long 0x3D142A6C // c3 - .long 0x3C3A47FF // c4 - .long 0xBF42C75C // B' = pi/2 - B (high single) - .long 0x324BBE8A // B' = pi/2 - B (low single) - .long 0x3F800000 // tau (1 for cot path) - .long 0x3E87283F // c0 (high single) - .long 0x3268B966 // c0 (low single) - .long 0x3F000000 // c1 (high 1 bit) - .long 0xBDFE6529 // c1 (low single) - .long 0x3D7B1953 // c2 - .long 0x3D18E109 // c3 - .long 0x3C4570B0 // c4 - .long 0xBF490FDB // B' = pi/2 - B (high single) - .long 0x32BBBD2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF800000 // c0 (high single) - .long 0x2B410000 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xB3000000 // c1 (low single) - .long 0xC0000000 // c2 - .long 0x402AB7C8 // c3 - .long 0xC05561DB // c4 - .long 0xBF4F5859 // B' = pi/2 - B (high single) - .long 0xB2EE64E8 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF73BB75 // c0 (high single) - .long 0xB2FC908D // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBDBF94B0 // c1 (low single) - .long 0xBFE8550F // c2 - .long 0x40174F67 // c3 - .long 0xC036C608 // c4 - .long 0xBF55A0D8 // B' = pi/2 - B (high single) - .long 0xB29886FF // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF68065E // c0 (high single) - .long 0xB2670D1A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE36D1D6 // c1 (low single) - .long 0xBFD35007 // c2 - .long 0x4006A861 // c3 - .long 0xC01D4BDA // c4 - .long 0xBF5BE957 // B' = pi/2 - B (high single) - .long 0xB205522A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF5CD3BE // c0 (high single) - .long 0xB1460308 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBE8306C5 // c1 (low single) - .long 0xBFC09232 // c2 - .long 0x3FF09632 // c3 - .long 0xC007DB00 // c4 - .long 0xBF6231D6 // B' = pi/2 - B (high single) - .long 0x3119A6A2 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF521801 // c0 (high single) - .long 0xB2AE4178 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEA72938 // c1 (low single) - .long 0xBFAFCC22 // c2 - .long 0x3FD7BD4A // c3 - .long 0xBFEBB01B // c4 - .long 0xBF687A55 // B' = pi/2 - B (high single) - .long 0x3252257B // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF47C8CC // c0 (high single) - .long 0x3200F51A // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEC82C6C // c1 (low single) - .long 0xBFA0BAE9 // c2 - .long 0x3FC2252F // c3 - .long 0xBFCD24C7 // c4 - .long 0xBF6EC2D4 // B' = pi/2 - B (high single) - .long 0x32BEF0A7 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF3DDCCF // c0 (high single) - .long 0xB2D29606 // c0 (low single) - .long 0x40000000 // c1 (high 1 bit) - .long 0xBEE6606F // c1 (low single) - .long 0xBF9325D6 // c2 - .long 0x3FAF4E69 // c3 - .long 0xBFB3080C // c4 - .long 0xBF750B52 // B' = pi/2 - B (high single) - .long 0xB2EB316F // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF344BA9 // c0 (high single) - .long 0x32B8B0EA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EFDF4F7 // c1 (low single) - .long 0xBF86DCA8 // c2 - .long 0x3F9ED53B // c3 - .long 0xBF9CBEDE // c4 - .long 0xBF7B53D1 // B' = pi/2 - B (high single) - .long 0xB2955386 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF2B0DC1 // c0 (high single) - .long 0xB2AB7EBA // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EE496C2 // c1 (low single) - .long 0xBF776C40 // c2 - .long 0x3F9065C1 // c3 - .long 0xBF89AFB6 // c4 - .long 0xBF80CE28 // B' = pi/2 - B (high single) - .long 0xB1FDD672 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF221C37 // c0 (high single) - .long 0x320C61DC // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3ECD4F71 // c1 (low single) - .long 0xBF631DAA // c2 - .long 0x3F83B471 // c3 - .long 0xBF7281EA // c4 - .long 0xBF83F267 // B' = pi/2 - B (high single) - .long 0xB374CBD9 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF1970C4 // c0 (high single) - .long 0xB2904848 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EB7EFF8 // c1 (low single) - .long 0xBF50907C // c2 - .long 0x3F710FEA // c3 - .long 0xBF561FED // c4 - .long 0xBF8716A7 // B' = pi/2 - B (high single) - .long 0x32588C6D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF1105AF // c0 (high single) - .long 0xB2F045B0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3EA44EE2 // c1 (low single) - .long 0xBF3F8FDB // c2 - .long 0x3F5D3FD0 // c3 - .long 0xBF3D0A23 // c4 - .long 0xBF8A3AE6 // B' = pi/2 - B (high single) - .long 0xB31EEDF0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF08D5B9 // c0 (high single) - .long 0x325EF98E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E92478D // c1 (low single) - .long 0xBF2FEDC9 // c2 - .long 0x3F4BCD58 // c3 - .long 0xBF27AE9E // c4 - .long 0xBF8D5F26 // B' = pi/2 - B (high single) - .long 0x330C0105 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBF00DC0D // c0 (high single) - .long 0x3214AF72 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E81B994 // c1 (low single) - .long 0xBF218233 // c2 - .long 0x3F3C4531 // c3 - .long 0xBF149688 // c4 - .long 0xBF908365 // B' = pi/2 - B (high single) - .long 0xB292200D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEF22870 // c0 (high single) - .long 0xB25271F4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E65107A // c1 (low single) - .long 0xBF1429F0 // c2 - .long 0x3F2E8AFC // c3 - .long 0xBF040498 // c4 - .long 0xBF93A7A5 // B' = pi/2 - B (high single) - .long 0x3361DEEE // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEE2F439 // c0 (high single) - .long 0x31F4399E // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E49341C // c1 (low single) - .long 0xBF07C61A // c2 - .long 0x3F22560F // c3 - .long 0xBEEAA81E // c4 - .long 0xBF96CBE4 // B' = pi/2 - B (high single) - .long 0x314CDE2E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBED413CD // c0 (high single) - .long 0x31C06152 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E2FB0CC // c1 (low single) - .long 0xBEF876CB // c2 - .long 0x3F177807 // c3 - .long 0xBED08437 // c4 - .long 0xBF99F023 // B' = pi/2 - B (high single) - .long 0xB3484328 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEC5800D // c0 (high single) - .long 0x3214C3C1 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E185E54 // c1 (low single) - .long 0xBEE2E342 // c2 - .long 0x3F0DCA73 // c3 - .long 0xBEB8CC21 // c4 - .long 0xBF9D1463 // B' = pi/2 - B (high single) - .long 0x32C55799 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEB73250 // c0 (high single) - .long 0x32028823 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3E0318F8 // c1 (low single) - .long 0xBECEA678 // c2 - .long 0x3F053C67 // c3 - .long 0xBEA41E53 // c4 - .long 0xBFA038A2 // B' = pi/2 - B (high single) - .long 0xB2E4CA7E // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBEA92457 // c0 (high single) - .long 0xB0B80830 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DDF8200 // c1 (low single) - .long 0xBEBB99E9 // c2 - .long 0x3EFB4AA8 // c3 - .long 0xBE9182BE // c4 - .long 0xBFA35CE2 // B' = pi/2 - B (high single) - .long 0x333889B6 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE9B5042 // c0 (high single) - .long 0x322A3AEE // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3DBC7490 // c1 (low single) - .long 0xBEA99AF5 // c2 - .long 0x3EEDE107 // c3 - .long 0xBE80E9AA // c4 - .long 0xBFA68121 // B' = pi/2 - B (high single) - .long 0xB1E43AAC // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE8DB082 // c0 (high single) - .long 0x3132A234 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D9CD7D0 // c1 (low single) - .long 0xBE988A60 // c2 - .long 0x3EE203E3 // c3 - .long 0xBE63582C // c4 - .long 0xBFA9A560 // B' = pi/2 - B (high single) - .long 0xB3719861 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE803FD4 // c0 (high single) - .long 0x32279E66 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D807FC8 // c1 (low single) - .long 0xBE884BD4 // c2 - .long 0x3ED7812D // c3 - .long 0xBE4636EB // c4 - .long 0xBFACC9A0 // B' = pi/2 - B (high single) - .long 0x32655A50 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE65F267 // c0 (high single) - .long 0xB1B4B1DF // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D4E8B90 // c1 (low single) - .long 0xBE718ACA // c2 - .long 0x3ECE7164 // c3 - .long 0xBE2DC161 // c4 - .long 0xBFAFEDDF // B' = pi/2 - B (high single) - .long 0xB31BBA77 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE4BAFAF // c0 (high single) - .long 0xAF2A29E0 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3D221018 // c1 (low single) - .long 0xBE53BED0 // c2 - .long 0x3EC67E26 // c3 - .long 0xBE1568E2 // c4 - .long 0xBFB3121F // B' = pi/2 - B (high single) - .long 0x330F347D // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE31AE4D // c0 (high single) - .long 0x31F32251 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CF6A500 // c1 (low single) - .long 0xBE3707DA // c2 - .long 0x3EBFA489 // c3 - .long 0xBDFBD9C7 // c4 - .long 0xBFB6365E // B' = pi/2 - B (high single) - .long 0xB28BB91C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBE17E564 // c0 (high single) - .long 0x31C5A2E4 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3CB440D0 // c1 (low single) - .long 0xBE1B3D00 // c2 - .long 0x3EB9F664 // c3 - .long 0xBDD647C0 // c4 - .long 0xBFB95A9E // B' = pi/2 - B (high single) - .long 0x33651267 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBDFC98C2 // c0 (high single) - .long 0x30AE525C // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C793D20 // c1 (low single) - .long 0xBE003845 // c2 - .long 0x3EB5271F // c3 - .long 0xBDAC669E // c4 - .long 0xBFBC7EDD // B' = pi/2 - B (high single) - .long 0x31800ADD // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBDC9B5DC // c0 (high single) - .long 0xB145AD86 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3C1EEF20 // c1 (low single) - .long 0xBDCBAAEA // c2 - .long 0x3EB14E5E // c3 - .long 0xBD858BB2 // c4 - .long 0xBFBFA31C // B' = pi/2 - B (high single) - .long 0xB3450FB0 // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBD9711CE // c0 (high single) - .long 0xB14FEB28 // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3BB24C00 // c1 (low single) - .long 0xBD97E43A // c2 - .long 0x3EAE6A89 // c3 - .long 0xBD4D07E0 // c4 - .long 0xBFC2C75C // B' = pi/2 - B (high single) - .long 0x32CBBE8A // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBD49393C // c0 (high single) - .long 0xB0A39F5B // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3B1E2B00 // c1 (low single) - .long 0xBD49B5D4 // c2 - .long 0x3EAC4F10 // c3 - .long 0xBCFD9425 // c4 - .long 0xBFC5EB9B // B' = pi/2 - B (high single) - .long 0xB2DE638C // B' = pi/2 - B (low single) - .long 0x00000000 // tau (1 for cot path) - .long 0xBCC91A31 // c0 (high single) - .long 0xAF8E8D1A // c0 (low single) - .long 0x3F800000 // c1 (high 1 bit) - .long 0x3A1DFA00 // c1 (low single) - .long 0xBCC9392D // c2 - .long 0x3EAB1889 // c3 - .long 0xBC885D3B // c4 - .align 32 - .type __svml_stan_data_internal,@object - .size __svml_stan_data_internal,.-__svml_stan_data_internal - .align 32 + /* UISA */ + .long 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983, 0x4122f983 /* _sInvPI_uisa */ + .align 32 + .long 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda, 0x3dc90fda /* _sPI1_uisa */ + .align 32 + .long 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168, 0x31a22168 /* _sPI2_uisa */ + .align 32 + .long 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5, 0x25c234c5 /* _sPI3_uisa */ + .align 32 + .long 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000, 0x31a22000 /* _sPI2_ha_uisa */ + .align 32 + .long 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a, 0x2a34611a /* _sPI3_ha_uisa */ + /* Th_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)); */ + .align 32 + .long 0x80000000, 0x3dc9b5dc, 0x3e4bafaf, 0x3e9b5042 + .long 0x3ed413cd, 0x3f08d5b9, 0x3f2b0dc1, 0x3f521801 + .long 0x3f800000, 0x3f9bf7ec, 0x3fbf90c7, 0x3fef789e + .long 0x401a827a, 0x4052facf, 0x40a0dff7, 0x41227363 + .long 0xff7fffff, 0xc1227363, 0xc0a0dff7, 0xc052facf + .long 0xc01a827a, 0xbfef789e, 0xbfbf90c7, 0xbf9bf7ec + .long 0xbf800000, 0xbf521801, 0xbf2b0dc1, 0xbf08d5b9 + .long 0xbed413cd, 0xbe9b5042, 0xbe4bafaf, 0xbdc9b5dc + /* Tl_tbl_uisa for i from 0 to 31 do printsingle(tan(i*Pi/32)-round(tan(i*Pi/32), SG, RN)); */ + .align 32 + .long 0x80000000, 0x3145b2da, 0x2f2a62b0, 0xb22a39c2 + .long 0xb1c0621a, 0xb25ef963, 0x32ab7f99, 0x32ae4285 + .long 0x00000000, 0x33587608, 0x32169d18, 0xb30c3ec0 + .long 0xb3cc0622, 0x3390600e, 0x331091dc, 0xb454a046 + .long 0xf3800000, 0x3454a046, 0xb31091dc, 0xb390600e + .long 0x33cc0622, 0x330c3ec0, 0xb2169d18, 0xb3587608 + .long 0x00000000, 0xb2ae4285, 0xb2ab7f99, 0x325ef963 + .long 0x31c0621a, 0x322a39c2, 0xaf2a62b0, 0xb145b2da + .align 32 + .long 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6, 0x3eaaaaa6 /* _sPC3_uisa */ + .align 32 + .long 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888, 0x3e08b888 /* _sPC5_uisa */ + .align 32 + .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeReductionVal_uisa */ + .align 32 + .long 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983, 0x3F22F983 /* _sInvPi */ + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ + .align 32 + .long 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF /* _sAbsMask */ + .align 32 + .long 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 /* _sRangeVal */ + .align 32 + .long 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000, 0x4B400000 /* _sRShifter */ + .align 32 + .long 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 /* _sOne */ + .align 32 + .long 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000, 0x46010000 /* _sRangeVal */ + .align 32 + .long 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000, 0x3FC90000 /* _sPI1 */ + .align 32 + .long 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000, 0x39FDA000 /* _sPI2 */ + .align 32 + .long 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000, 0x33A22000 /* _sPI3 */ + .align 32 + .long 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A, 0x2C34611A /* _sPI4 */ + // PI1, PI2, and PI3 when FMA is available + .align 32 + .long 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB, 0x3FC90FDB /* _sPI1_FMA */ + .align 32 + .long 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E, 0xB33BBD2E /* _sPI2_FMA */ + .align 32 + .long 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED, 0xA6F72CED /* _sPI3_FMA */ + .align 32 + .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sP0 */ + .align 32 + .long 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4, 0xBDC433B4 /* _sP1 */ + .align 32 + .long 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC, 0x3F7FFFFC /* _sQ0 */ + .align 32 + .long 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB, 0xBEDBB7AB /* _sQ1 */ + .align 32 + .long 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B, 0x3C1F336B /* _sQ2 */ + .align 32 + .long 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000, 0x40000000 /* _sTwo */ + // _sCoeffs Breakpoint B = 0 * pi/128, function tan(B + x) + .align 32 + .long 0x3FC90FDB // B' = pi/2 - B (high single) + .long 0xB33BBD2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x00000000 // c0 (high single) + .long 0x00000000 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x00000000 // c1 (low single) + .long 0x00000000 // c2 + .long 0x3EAAACDD // c3 + .long 0x00000000 // c4 + .long 0x3FC5EB9B // B' = pi/2 - B (high single) + .long 0x32DE638C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3CC91A31 // c0 (high single) + .long 0x2F8E8D1A // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3A1DFA00 // c1 (low single) + .long 0x3CC9392D // c2 + .long 0x3EAB1889 // c3 + .long 0x3C885D3B // c4 + .long 0x3FC2C75C // B' = pi/2 - B (high single) + .long 0xB2CBBE8A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3D49393C // c0 (high single) + .long 0x30A39F5B // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3B1E2B00 // c1 (low single) + .long 0x3D49B5D4 // c2 + .long 0x3EAC4F10 // c3 + .long 0x3CFD9425 // c4 + .long 0x3FBFA31C // B' = pi/2 - B (high single) + .long 0x33450FB0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3D9711CE // c0 (high single) + .long 0x314FEB28 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3BB24C00 // c1 (low single) + .long 0x3D97E43A // c2 + .long 0x3EAE6A89 // c3 + .long 0x3D4D07E0 // c4 + .long 0x3FBC7EDD // B' = pi/2 - B (high single) + .long 0xB1800ADD // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3DC9B5DC // c0 (high single) + .long 0x3145AD86 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C1EEF20 // c1 (low single) + .long 0x3DCBAAEA // c2 + .long 0x3EB14E5E // c3 + .long 0x3D858BB2 // c4 + .long 0x3FB95A9E // B' = pi/2 - B (high single) + .long 0xB3651267 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3DFC98C2 // c0 (high single) + .long 0xB0AE525C // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C793D20 // c1 (low single) + .long 0x3E003845 // c2 + .long 0x3EB5271F // c3 + .long 0x3DAC669E // c4 + .long 0x3FB6365E // B' = pi/2 - B (high single) + .long 0x328BB91C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E17E564 // c0 (high single) + .long 0xB1C5A2E4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CB440D0 // c1 (low single) + .long 0x3E1B3D00 // c2 + .long 0x3EB9F664 // c3 + .long 0x3DD647C0 // c4 + .long 0x3FB3121F // B' = pi/2 - B (high single) + .long 0xB30F347D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E31AE4D // c0 (high single) + .long 0xB1F32251 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CF6A500 // c1 (low single) + .long 0x3E3707DA // c2 + .long 0x3EBFA489 // c3 + .long 0x3DFBD9C7 // c4 + .long 0x3FAFEDDF // B' = pi/2 - B (high single) + .long 0x331BBA77 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E4BAFAF // c0 (high single) + .long 0x2F2A29E0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D221018 // c1 (low single) + .long 0x3E53BED0 // c2 + .long 0x3EC67E26 // c3 + .long 0x3E1568E2 // c4 + .long 0x3FACC9A0 // B' = pi/2 - B (high single) + .long 0xB2655A50 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E65F267 // c0 (high single) + .long 0x31B4B1DF // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D4E8B90 // c1 (low single) + .long 0x3E718ACA // c2 + .long 0x3ECE7164 // c3 + .long 0x3E2DC161 // c4 + .long 0x3FA9A560 // B' = pi/2 - B (high single) + .long 0x33719861 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E803FD4 // c0 (high single) + .long 0xB2279E66 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D807FC8 // c1 (low single) + .long 0x3E884BD4 // c2 + .long 0x3ED7812D // c3 + .long 0x3E4636EB // c4 + .long 0x3FA68121 // B' = pi/2 - B (high single) + .long 0x31E43AAC // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E8DB082 // c0 (high single) + .long 0xB132A234 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D9CD7D0 // c1 (low single) + .long 0x3E988A60 // c2 + .long 0x3EE203E3 // c3 + .long 0x3E63582C // c4 + .long 0x3FA35CE2 // B' = pi/2 - B (high single) + .long 0xB33889B6 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3E9B5042 // c0 (high single) + .long 0xB22A3AEE // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DBC7490 // c1 (low single) + .long 0x3EA99AF5 // c2 + .long 0x3EEDE107 // c3 + .long 0x3E80E9AA // c4 + .long 0x3FA038A2 // B' = pi/2 - B (high single) + .long 0x32E4CA7E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EA92457 // c0 (high single) + .long 0x30B80830 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DDF8200 // c1 (low single) + .long 0x3EBB99E9 // c2 + .long 0x3EFB4AA8 // c3 + .long 0x3E9182BE // c4 + .long 0x3F9D1463 // B' = pi/2 - B (high single) + .long 0xB2C55799 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EB73250 // c0 (high single) + .long 0xB2028823 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E0318F8 // c1 (low single) + .long 0x3ECEA678 // c2 + .long 0x3F053C67 // c3 + .long 0x3EA41E53 // c4 + .long 0x3F99F023 // B' = pi/2 - B (high single) + .long 0x33484328 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EC5800D // c0 (high single) + .long 0xB214C3C1 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E185E54 // c1 (low single) + .long 0x3EE2E342 // c2 + .long 0x3F0DCA73 // c3 + .long 0x3EB8CC21 // c4 + .long 0x3F96CBE4 // B' = pi/2 - B (high single) + .long 0xB14CDE2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3ED413CD // c0 (high single) + .long 0xB1C06152 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E2FB0CC // c1 (low single) + .long 0x3EF876CB // c2 + .long 0x3F177807 // c3 + .long 0x3ED08437 // c4 + .long 0x3F93A7A5 // B' = pi/2 - B (high single) + .long 0xB361DEEE // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EE2F439 // c0 (high single) + .long 0xB1F4399E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E49341C // c1 (low single) + .long 0x3F07C61A // c2 + .long 0x3F22560F // c3 + .long 0x3EEAA81E // c4 + .long 0x3F908365 // B' = pi/2 - B (high single) + .long 0x3292200D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3EF22870 // c0 (high single) + .long 0x325271F4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E65107A // c1 (low single) + .long 0x3F1429F0 // c2 + .long 0x3F2E8AFC // c3 + .long 0x3F040498 // c4 + .long 0x3F8D5F26 // B' = pi/2 - B (high single) + .long 0xB30C0105 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F00DC0D // c0 (high single) + .long 0xB214AF72 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E81B994 // c1 (low single) + .long 0x3F218233 // c2 + .long 0x3F3C4531 // c3 + .long 0x3F149688 // c4 + .long 0x3F8A3AE6 // B' = pi/2 - B (high single) + .long 0x331EEDF0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F08D5B9 // c0 (high single) + .long 0xB25EF98E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E92478D // c1 (low single) + .long 0x3F2FEDC9 // c2 + .long 0x3F4BCD58 // c3 + .long 0x3F27AE9E // c4 + .long 0x3F8716A7 // B' = pi/2 - B (high single) + .long 0xB2588C6D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F1105AF // c0 (high single) + .long 0x32F045B0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EA44EE2 // c1 (low single) + .long 0x3F3F8FDB // c2 + .long 0x3F5D3FD0 // c3 + .long 0x3F3D0A23 // c4 + .long 0x3F83F267 // B' = pi/2 - B (high single) + .long 0x3374CBD9 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F1970C4 // c0 (high single) + .long 0x32904848 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EB7EFF8 // c1 (low single) + .long 0x3F50907C // c2 + .long 0x3F710FEA // c3 + .long 0x3F561FED // c4 + .long 0x3F80CE28 // B' = pi/2 - B (high single) + .long 0x31FDD672 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F221C37 // c0 (high single) + .long 0xB20C61DC // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3ECD4F71 // c1 (low single) + .long 0x3F631DAA // c2 + .long 0x3F83B471 // c3 + .long 0x3F7281EA // c4 + .long 0x3F7B53D1 // B' = pi/2 - B (high single) + .long 0x32955386 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F2B0DC1 // c0 (high single) + .long 0x32AB7EBA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EE496C2 // c1 (low single) + .long 0x3F776C40 // c2 + .long 0x3F9065C1 // c3 + .long 0x3F89AFB6 // c4 + .long 0x3F750B52 // B' = pi/2 - B (high single) + .long 0x32EB316F // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F344BA9 // c0 (high single) + .long 0xB2B8B0EA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EFDF4F7 // c1 (low single) + .long 0x3F86DCA8 // c2 + .long 0x3F9ED53B // c3 + .long 0x3F9CBEDE // c4 + .long 0x3F6EC2D4 // B' = pi/2 - B (high single) + .long 0xB2BEF0A7 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F3DDCCF // c0 (high single) + .long 0x32D29606 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEE6606F // c1 (low single) + .long 0x3F9325D6 // c2 + .long 0x3FAF4E69 // c3 + .long 0x3FB3080C // c4 + .long 0x3F687A55 // B' = pi/2 - B (high single) + .long 0xB252257B // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F47C8CC // c0 (high single) + .long 0xB200F51A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEC82C6C // c1 (low single) + .long 0x3FA0BAE9 // c2 + .long 0x3FC2252F // c3 + .long 0x3FCD24C7 // c4 + .long 0x3F6231D6 // B' = pi/2 - B (high single) + .long 0xB119A6A2 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F521801 // c0 (high single) + .long 0x32AE4178 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEA72938 // c1 (low single) + .long 0x3FAFCC22 // c2 + .long 0x3FD7BD4A // c3 + .long 0x3FEBB01B // c4 + .long 0x3F5BE957 // B' = pi/2 - B (high single) + .long 0x3205522A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F5CD3BE // c0 (high single) + .long 0x31460308 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE8306C5 // c1 (low single) + .long 0x3FC09232 // c2 + .long 0x3FF09632 // c3 + .long 0x4007DB00 // c4 + .long 0x3F55A0D8 // B' = pi/2 - B (high single) + .long 0x329886FF // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F68065E // c0 (high single) + .long 0x32670D1A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE36D1D6 // c1 (low single) + .long 0x3FD35007 // c2 + .long 0x4006A861 // c3 + .long 0x401D4BDA // c4 + .long 0x3F4F5859 // B' = pi/2 - B (high single) + .long 0x32EE64E8 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0x3F73BB75 // c0 (high single) + .long 0x32FC908D // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBDBF94B0 // c1 (low single) + .long 0x3FE8550F // c2 + .long 0x40174F67 // c3 + .long 0x4036C608 // c4 + .long 0x3F490FDB // B' = pi/2 - B (high single) + .long 0xB2BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE8BE60E // c0 (high single) + .long 0x320D8D84 // c0 (low single) + .long 0x3F000000 // c1 (high 1 bit) + .long 0xBDF817B1 // c1 (low single) + .long 0xBD8345EB // c2 + .long 0x3D1DFDAC // c3 + .long 0xBC52CF6F // c4 + .long 0x3F42C75C // B' = pi/2 - B (high single) + .long 0xB24BBE8A // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE87283F // c0 (high single) + .long 0xB268B966 // c0 (low single) + .long 0x3F000000 // c1 (high 1 bit) + .long 0xBDFE6529 // c1 (low single) + .long 0xBD7B1953 // c2 + .long 0x3D18E109 // c3 + .long 0xBC4570B0 // c4 + .long 0x3F3C7EDD // B' = pi/2 - B (high single) + .long 0xB1000ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE827420 // c0 (high single) + .long 0x320B8B4D // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DFB9428 // c1 (low single) + .long 0xBD7002B4 // c2 + .long 0x3D142A6C // c3 + .long 0xBC3A47FF // c4 + .long 0x3F36365E // B' = pi/2 - B (high single) + .long 0x320BB91C // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE7B9282 // c0 (high single) + .long 0xB13383D2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF5D211 // c1 (low single) + .long 0xBD6542B3 // c2 + .long 0x3D0FE5E5 // c3 + .long 0xBC31FB14 // c4 + .long 0x3F2FEDDF // B' = pi/2 - B (high single) + .long 0x329BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE724E73 // c0 (high single) + .long 0x3120C3E2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF05283 // c1 (low single) + .long 0xBD5AD45E // c2 + .long 0x3D0BAFBF // c3 + .long 0xBC27B8BB // c4 + .long 0x3F29A560 // B' = pi/2 - B (high single) + .long 0x32F19861 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE691B44 // c0 (high single) + .long 0x31F18936 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DEB138B // c1 (low single) + .long 0xBD50B2F7 // c2 + .long 0x3D07BE3A // c3 + .long 0xBC1E46A7 // c4 + .long 0x3F235CE2 // B' = pi/2 - B (high single) + .long 0xB2B889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE5FF82C // c0 (high single) + .long 0xB170723A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE61354 // c1 (low single) + .long 0xBD46DA06 // c2 + .long 0x3D0401F8 // c3 + .long 0xBC14E013 // c4 + .long 0x3F1D1463 // B' = pi/2 - B (high single) + .long 0xB2455799 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE56E46B // c0 (high single) + .long 0x31E3F001 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE15025 // c1 (low single) + .long 0xBD3D4550 // c2 + .long 0x3D00462D // c3 + .long 0xBC092C98 // c4 + .long 0x3F16CBE4 // B' = pi/2 - B (high single) + .long 0xB0CCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE4DDF41 // c0 (high single) + .long 0xB1AEA094 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DDCC85C // c1 (low single) + .long 0xBD33F0BE // c2 + .long 0x3CFA23B0 // c3 + .long 0xBC01FCF7 // c4 + .long 0x3F108365 // B' = pi/2 - B (high single) + .long 0x3212200D // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE44E7F8 // c0 (high single) + .long 0xB1CAA3CB // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD87A74 // c1 (low single) + .long 0xBD2AD885 // c2 + .long 0x3CF3C785 // c3 + .long 0xBBF1E348 // c4 + .long 0x3F0A3AE6 // B' = pi/2 - B (high single) + .long 0x329EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE3BFDDC // c0 (high single) + .long 0xB132521A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD464FC // c1 (low single) + .long 0xBD21F8F1 // c2 + .long 0x3CEE3076 // c3 + .long 0xBBE6D263 // c4 + .long 0x3F03F267 // B' = pi/2 - B (high single) + .long 0x32F4CBD9 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE33203E // c0 (high single) + .long 0x31FEF5BE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD0869C // c1 (low single) + .long 0xBD194E8C // c2 + .long 0x3CE8DCA9 // c3 + .long 0xBBDADA55 // c4 + .long 0x3EFB53D1 // B' = pi/2 - B (high single) + .long 0x32155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE2A4E71 // c0 (high single) + .long 0xB19CFCEC // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DCCDE11 // c1 (low single) + .long 0xBD10D605 // c2 + .long 0x3CE382A7 // c3 + .long 0xBBC8BD97 // c4 + .long 0x3EEEC2D4 // B' = pi/2 - B (high single) + .long 0xB23EF0A7 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE2187D0 // c0 (high single) + .long 0xB1B7C7F7 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC96A2B // c1 (low single) + .long 0xBD088C22 // c2 + .long 0x3CDE950E // c3 + .long 0xBBB89AD1 // c4 + .long 0x3EE231D6 // B' = pi/2 - B (high single) + .long 0xB099A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE18CBB7 // c0 (high single) + .long 0xAFE28430 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC629CE // c1 (low single) + .long 0xBD006DCD // c2 + .long 0x3CDA5A2C // c3 + .long 0xBBB0B3D2 // c4 + .long 0x3ED5A0D8 // B' = pi/2 - B (high single) + .long 0x321886FF // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE101985 // c0 (high single) + .long 0xB02FB2B8 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC31BF3 // c1 (low single) + .long 0xBCF0F04D // c2 + .long 0x3CD60BC7 // c3 + .long 0xBBA138BA // c4 + .long 0x3EC90FDB // B' = pi/2 - B (high single) + .long 0xB23BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBE07709D // c0 (high single) + .long 0xB18A2A83 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC03FA2 // c1 (low single) + .long 0xBCE15096 // c2 + .long 0x3CD26472 // c3 + .long 0xBB9A1270 // c4 + .long 0x3EBC7EDD // B' = pi/2 - B (high single) + .long 0xB0800ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDFDA0CB // c0 (high single) + .long 0x2F14FCA0 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBD93F7 // c1 (low single) + .long 0xBCD1F71B // c2 + .long 0x3CCEDD2B // c3 + .long 0xBB905946 // c4 + .long 0x3EAFEDDF // B' = pi/2 - B (high single) + .long 0x321BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDEC708C // c0 (high single) + .long 0xB14895C4 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBB181E // c1 (low single) + .long 0xBCC2DEA6 // c2 + .long 0x3CCB5027 // c3 + .long 0xBB7F3969 // c4 + .long 0x3EA35CE2 // B' = pi/2 - B (high single) + .long 0xB23889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDDB4F55 // c0 (high single) + .long 0x30F6437E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB8CB52 // c1 (low single) + .long 0xBCB40210 // c2 + .long 0x3CC82D45 // c3 + .long 0xBB643075 // c4 + .long 0x3E96CBE4 // B' = pi/2 - B (high single) + .long 0xB04CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDCA3BFF // c0 (high single) + .long 0x311C95EA // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB6ACDE // c1 (low single) + .long 0xBCA55C5B // c2 + .long 0x3CC5BC04 // c3 + .long 0xBB63A969 // c4 + .long 0x3E8A3AE6 // B' = pi/2 - B (high single) + .long 0x321EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDB93569 // c0 (high single) + .long 0xAFB9ED00 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB4BC1F // c1 (low single) + .long 0xBC96E905 // c2 + .long 0x3CC2E6F5 // c3 + .long 0xBB3E10A6 // c4 + .long 0x3E7B53D1 // B' = pi/2 - B (high single) + .long 0x31955386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBDA83A77 // c0 (high single) + .long 0x316D967A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB2F87C // c1 (low single) + .long 0xBC88A31F // c2 + .long 0x3CC0E763 // c3 + .long 0xBB3F1666 // c4 + .long 0x3E6231D6 // B' = pi/2 - B (high single) + .long 0xB019A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD974A0D // c0 (high single) + .long 0xB14F365B // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB1616F // c1 (low single) + .long 0xBC750CD8 // c2 + .long 0x3CBEB595 // c3 + .long 0xBB22B883 // c4 + .long 0x3E490FDB // B' = pi/2 - B (high single) + .long 0xB1BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD866317 // c0 (high single) + .long 0xAFF02140 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAFF67D // c1 (low single) + .long 0xBC591CD0 // c2 + .long 0x3CBCBEAD // c3 + .long 0xBB04BBEC // c4 + .long 0x3E2FEDDF // B' = pi/2 - B (high single) + .long 0x319BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD6B08FF // c0 (high single) + .long 0xB0EED236 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAEB739 // c1 (low single) + .long 0xBC3D6D51 // c2 + .long 0x3CBB485D // c3 + .long 0xBAFFF5BA // c4 + .long 0x3E16CBE4 // B' = pi/2 - B (high single) + .long 0xAFCCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD495A6C // c0 (high single) + .long 0xB0A427BD // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DADA345 // c1 (low single) + .long 0xBC21F648 // c2 + .long 0x3CB9D1B4 // c3 + .long 0xBACB5567 // c4 + .long 0x3DFB53D1 // B' = pi/2 - B (high single) + .long 0x31155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD27B856 // c0 (high single) + .long 0xB0F7EE91 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DACBA4E // c1 (low single) + .long 0xBC06AEE3 // c2 + .long 0x3CB8E5DC // c3 + .long 0xBAEC00EE // c4 + .long 0x3DC90FDB // B' = pi/2 - B (high single) + .long 0xB13BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBD0620A3 // c0 (high single) + .long 0xB0ECAB40 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DABFC11 // c1 (low single) + .long 0xBBD7200F // c2 + .long 0x3CB79475 // c3 + .long 0xBA2B0ADC // c4 + .long 0x3D96CBE4 // B' = pi/2 - B (high single) + .long 0xAF4CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBCC92278 // c0 (high single) + .long 0x302F2E68 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAB6854 // c1 (low single) + .long 0xBBA1214F // c2 + .long 0x3CB6C1E9 // c3 + .long 0x3843C2F3 // c4 + .long 0x3D490FDB // B' = pi/2 - B (high single) + .long 0xB0BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBC861015 // c0 (high single) + .long 0xAFD68E2E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAAFEEB // c1 (low single) + .long 0xBB569F3F // c2 + .long 0x3CB6A84E // c3 + .long 0xBAC64194 // c4 + .long 0x3CC90FDB // B' = pi/2 - B (high single) + .long 0xB03BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0xBC060BF3 // c0 (high single) + .long 0x2FE251AE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAABFB9 // c1 (low single) + .long 0xBAD67C60 // c2 + .long 0x3CB64CA5 // c3 + .long 0xBACDE881 // c4 + .long 0x00000000 // B' = pi/2 - B (high single) + .long 0x00000000 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x00000000 // c0 (high single) + .long 0x00000000 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAAAAAB // c1 (low single) + .long 0x00000000 // c2 + .long 0x3CB5E28B // c3 + .long 0x00000000 // c4 + .long 0xBCC90FDB // B' = pi/2 - B (high single) + .long 0x303BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3C060BF3 // c0 (high single) + .long 0xAFE251AE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAABFB9 // c1 (low single) + .long 0x3AD67C60 // c2 + .long 0x3CB64CA5 // c3 + .long 0x3ACDE881 // c4 + .long 0xBD490FDB // B' = pi/2 - B (high single) + .long 0x30BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3C861015 // c0 (high single) + .long 0x2FD68E2E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAAFEEB // c1 (low single) + .long 0x3B569F3F // c2 + .long 0x3CB6A84E // c3 + .long 0x3AC64194 // c4 + .long 0xBD96CBE4 // B' = pi/2 - B (high single) + .long 0x2F4CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3CC92278 // c0 (high single) + .long 0xB02F2E68 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAB6854 // c1 (low single) + .long 0x3BA1214F // c2 + .long 0x3CB6C1E9 // c3 + .long 0xB843C2F2 // c4 + .long 0xBDC90FDB // B' = pi/2 - B (high single) + .long 0x313BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D0620A3 // c0 (high single) + .long 0x30ECAB40 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DABFC11 // c1 (low single) + .long 0x3BD7200F // c2 + .long 0x3CB79475 // c3 + .long 0x3A2B0ADC // c4 + .long 0xBDFB53D1 // B' = pi/2 - B (high single) + .long 0xB1155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D27B856 // c0 (high single) + .long 0x30F7EE91 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DACBA4E // c1 (low single) + .long 0x3C06AEE3 // c2 + .long 0x3CB8E5DC // c3 + .long 0x3AEC00EE // c4 + .long 0xBE16CBE4 // B' = pi/2 - B (high single) + .long 0x2FCCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D495A6C // c0 (high single) + .long 0x30A427BD // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DADA345 // c1 (low single) + .long 0x3C21F648 // c2 + .long 0x3CB9D1B4 // c3 + .long 0x3ACB5567 // c4 + .long 0xBE2FEDDF // B' = pi/2 - B (high single) + .long 0xB19BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D6B08FF // c0 (high single) + .long 0x30EED236 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAEB739 // c1 (low single) + .long 0x3C3D6D51 // c2 + .long 0x3CBB485D // c3 + .long 0x3AFFF5BA // c4 + .long 0xBE490FDB // B' = pi/2 - B (high single) + .long 0x31BBBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D866317 // c0 (high single) + .long 0x2FF02140 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DAFF67D // c1 (low single) + .long 0x3C591CD0 // c2 + .long 0x3CBCBEAD // c3 + .long 0x3B04BBEC // c4 + .long 0xBE6231D6 // B' = pi/2 - B (high single) + .long 0x3019A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3D974A0D // c0 (high single) + .long 0x314F365B // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB1616F // c1 (low single) + .long 0x3C750CD8 // c2 + .long 0x3CBEB595 // c3 + .long 0x3B22B883 // c4 + .long 0xBE7B53D1 // B' = pi/2 - B (high single) + .long 0xB1955386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DA83A77 // c0 (high single) + .long 0xB16D967A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB2F87C // c1 (low single) + .long 0x3C88A31F // c2 + .long 0x3CC0E763 // c3 + .long 0x3B3F1666 // c4 + .long 0xBE8A3AE6 // B' = pi/2 - B (high single) + .long 0xB21EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DB93569 // c0 (high single) + .long 0x2FB9ED00 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB4BC1F // c1 (low single) + .long 0x3C96E905 // c2 + .long 0x3CC2E6F5 // c3 + .long 0x3B3E10A6 // c4 + .long 0xBE96CBE4 // B' = pi/2 - B (high single) + .long 0x304CDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DCA3BFF // c0 (high single) + .long 0xB11C95EA // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB6ACDE // c1 (low single) + .long 0x3CA55C5B // c2 + .long 0x3CC5BC04 // c3 + .long 0x3B63A969 // c4 + .long 0xBEA35CE2 // B' = pi/2 - B (high single) + .long 0x323889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DDB4F55 // c0 (high single) + .long 0xB0F6437E // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DB8CB52 // c1 (low single) + .long 0x3CB40210 // c2 + .long 0x3CC82D45 // c3 + .long 0x3B643075 // c4 + .long 0xBEAFEDDF // B' = pi/2 - B (high single) + .long 0xB21BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DEC708C // c0 (high single) + .long 0x314895C4 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBB181E // c1 (low single) + .long 0x3CC2DEA6 // c2 + .long 0x3CCB5027 // c3 + .long 0x3B7F3969 // c4 + .long 0xBEBC7EDD // B' = pi/2 - B (high single) + .long 0x30800ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3DFDA0CB // c0 (high single) + .long 0xAF14FCA0 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DBD93F7 // c1 (low single) + .long 0x3CD1F71B // c2 + .long 0x3CCEDD2B // c3 + .long 0x3B905946 // c4 + .long 0xBEC90FDB // B' = pi/2 - B (high single) + .long 0x323BBD2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E07709D // c0 (high single) + .long 0x318A2A83 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC03FA2 // c1 (low single) + .long 0x3CE15096 // c2 + .long 0x3CD26472 // c3 + .long 0x3B9A1270 // c4 + .long 0xBED5A0D8 // B' = pi/2 - B (high single) + .long 0xB21886FF // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E101985 // c0 (high single) + .long 0x302FB2B8 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC31BF3 // c1 (low single) + .long 0x3CF0F04D // c2 + .long 0x3CD60BC7 // c3 + .long 0x3BA138BA // c4 + .long 0xBEE231D6 // B' = pi/2 - B (high single) + .long 0x3099A6A2 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E18CBB7 // c0 (high single) + .long 0x2FE28430 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC629CE // c1 (low single) + .long 0x3D006DCD // c2 + .long 0x3CDA5A2C // c3 + .long 0x3BB0B3D2 // c4 + .long 0xBEEEC2D4 // B' = pi/2 - B (high single) + .long 0x323EF0A7 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E2187D0 // c0 (high single) + .long 0x31B7C7F7 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DC96A2B // c1 (low single) + .long 0x3D088C22 // c2 + .long 0x3CDE950E // c3 + .long 0x3BB89AD1 // c4 + .long 0xBEFB53D1 // B' = pi/2 - B (high single) + .long 0xB2155386 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E2A4E71 // c0 (high single) + .long 0x319CFCEC // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DCCDE11 // c1 (low single) + .long 0x3D10D605 // c2 + .long 0x3CE382A7 // c3 + .long 0x3BC8BD97 // c4 + .long 0xBF03F267 // B' = pi/2 - B (high single) + .long 0xB2F4CBD9 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E33203E // c0 (high single) + .long 0xB1FEF5BE // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD0869C // c1 (low single) + .long 0x3D194E8C // c2 + .long 0x3CE8DCA9 // c3 + .long 0x3BDADA55 // c4 + .long 0xBF0A3AE6 // B' = pi/2 - B (high single) + .long 0xB29EEDF0 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E3BFDDC // c0 (high single) + .long 0x3132521A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD464FC // c1 (low single) + .long 0x3D21F8F1 // c2 + .long 0x3CEE3076 // c3 + .long 0x3BE6D263 // c4 + .long 0xBF108365 // B' = pi/2 - B (high single) + .long 0xB212200D // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E44E7F8 // c0 (high single) + .long 0x31CAA3CB // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DD87A74 // c1 (low single) + .long 0x3D2AD885 // c2 + .long 0x3CF3C785 // c3 + .long 0x3BF1E348 // c4 + .long 0xBF16CBE4 // B' = pi/2 - B (high single) + .long 0x30CCDE2E // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E4DDF41 // c0 (high single) + .long 0x31AEA094 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DDCC85C // c1 (low single) + .long 0x3D33F0BE // c2 + .long 0x3CFA23B0 // c3 + .long 0x3C01FCF7 // c4 + .long 0xBF1D1463 // B' = pi/2 - B (high single) + .long 0x32455799 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E56E46B // c0 (high single) + .long 0xB1E3F001 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE15025 // c1 (low single) + .long 0x3D3D4550 // c2 + .long 0x3D00462D // c3 + .long 0x3C092C98 // c4 + .long 0xBF235CE2 // B' = pi/2 - B (high single) + .long 0x32B889B6 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E5FF82C // c0 (high single) + .long 0x3170723A // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DE61354 // c1 (low single) + .long 0x3D46DA06 // c2 + .long 0x3D0401F8 // c3 + .long 0x3C14E013 // c4 + .long 0xBF29A560 // B' = pi/2 - B (high single) + .long 0xB2F19861 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E691B44 // c0 (high single) + .long 0xB1F18936 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DEB138B // c1 (low single) + .long 0x3D50B2F7 // c2 + .long 0x3D07BE3A // c3 + .long 0x3C1E46A7 // c4 + .long 0xBF2FEDDF // B' = pi/2 - B (high single) + .long 0xB29BBA77 // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E724E73 // c0 (high single) + .long 0xB120C3E2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF05283 // c1 (low single) + .long 0x3D5AD45E // c2 + .long 0x3D0BAFBF // c3 + .long 0x3C27B8BB // c4 + .long 0xBF36365E // B' = pi/2 - B (high single) + .long 0xB20BB91C // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E7B9282 // c0 (high single) + .long 0x313383D2 // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DF5D211 // c1 (low single) + .long 0x3D6542B3 // c2 + .long 0x3D0FE5E5 // c3 + .long 0x3C31FB14 // c4 + .long 0xBF3C7EDD // B' = pi/2 - B (high single) + .long 0x31000ADD // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E827420 // c0 (high single) + .long 0xB20B8B4D // c0 (low single) + .long 0x3E800000 // c1 (high 1 bit) + .long 0x3DFB9428 // c1 (low single) + .long 0x3D7002B4 // c2 + .long 0x3D142A6C // c3 + .long 0x3C3A47FF // c4 + .long 0xBF42C75C // B' = pi/2 - B (high single) + .long 0x324BBE8A // B' = pi/2 - B (low single) + .long 0x3F800000 // tau (1 for cot path) + .long 0x3E87283F // c0 (high single) + .long 0x3268B966 // c0 (low single) + .long 0x3F000000 // c1 (high 1 bit) + .long 0xBDFE6529 // c1 (low single) + .long 0x3D7B1953 // c2 + .long 0x3D18E109 // c3 + .long 0x3C4570B0 // c4 + .long 0xBF490FDB // B' = pi/2 - B (high single) + .long 0x32BBBD2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF800000 // c0 (high single) + .long 0x2B410000 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xB3000000 // c1 (low single) + .long 0xC0000000 // c2 + .long 0x402AB7C8 // c3 + .long 0xC05561DB // c4 + .long 0xBF4F5859 // B' = pi/2 - B (high single) + .long 0xB2EE64E8 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF73BB75 // c0 (high single) + .long 0xB2FC908D // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBDBF94B0 // c1 (low single) + .long 0xBFE8550F // c2 + .long 0x40174F67 // c3 + .long 0xC036C608 // c4 + .long 0xBF55A0D8 // B' = pi/2 - B (high single) + .long 0xB29886FF // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF68065E // c0 (high single) + .long 0xB2670D1A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE36D1D6 // c1 (low single) + .long 0xBFD35007 // c2 + .long 0x4006A861 // c3 + .long 0xC01D4BDA // c4 + .long 0xBF5BE957 // B' = pi/2 - B (high single) + .long 0xB205522A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF5CD3BE // c0 (high single) + .long 0xB1460308 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBE8306C5 // c1 (low single) + .long 0xBFC09232 // c2 + .long 0x3FF09632 // c3 + .long 0xC007DB00 // c4 + .long 0xBF6231D6 // B' = pi/2 - B (high single) + .long 0x3119A6A2 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF521801 // c0 (high single) + .long 0xB2AE4178 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEA72938 // c1 (low single) + .long 0xBFAFCC22 // c2 + .long 0x3FD7BD4A // c3 + .long 0xBFEBB01B // c4 + .long 0xBF687A55 // B' = pi/2 - B (high single) + .long 0x3252257B // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF47C8CC // c0 (high single) + .long 0x3200F51A // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEC82C6C // c1 (low single) + .long 0xBFA0BAE9 // c2 + .long 0x3FC2252F // c3 + .long 0xBFCD24C7 // c4 + .long 0xBF6EC2D4 // B' = pi/2 - B (high single) + .long 0x32BEF0A7 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF3DDCCF // c0 (high single) + .long 0xB2D29606 // c0 (low single) + .long 0x40000000 // c1 (high 1 bit) + .long 0xBEE6606F // c1 (low single) + .long 0xBF9325D6 // c2 + .long 0x3FAF4E69 // c3 + .long 0xBFB3080C // c4 + .long 0xBF750B52 // B' = pi/2 - B (high single) + .long 0xB2EB316F // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF344BA9 // c0 (high single) + .long 0x32B8B0EA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EFDF4F7 // c1 (low single) + .long 0xBF86DCA8 // c2 + .long 0x3F9ED53B // c3 + .long 0xBF9CBEDE // c4 + .long 0xBF7B53D1 // B' = pi/2 - B (high single) + .long 0xB2955386 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF2B0DC1 // c0 (high single) + .long 0xB2AB7EBA // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EE496C2 // c1 (low single) + .long 0xBF776C40 // c2 + .long 0x3F9065C1 // c3 + .long 0xBF89AFB6 // c4 + .long 0xBF80CE28 // B' = pi/2 - B (high single) + .long 0xB1FDD672 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF221C37 // c0 (high single) + .long 0x320C61DC // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3ECD4F71 // c1 (low single) + .long 0xBF631DAA // c2 + .long 0x3F83B471 // c3 + .long 0xBF7281EA // c4 + .long 0xBF83F267 // B' = pi/2 - B (high single) + .long 0xB374CBD9 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF1970C4 // c0 (high single) + .long 0xB2904848 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EB7EFF8 // c1 (low single) + .long 0xBF50907C // c2 + .long 0x3F710FEA // c3 + .long 0xBF561FED // c4 + .long 0xBF8716A7 // B' = pi/2 - B (high single) + .long 0x32588C6D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF1105AF // c0 (high single) + .long 0xB2F045B0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3EA44EE2 // c1 (low single) + .long 0xBF3F8FDB // c2 + .long 0x3F5D3FD0 // c3 + .long 0xBF3D0A23 // c4 + .long 0xBF8A3AE6 // B' = pi/2 - B (high single) + .long 0xB31EEDF0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF08D5B9 // c0 (high single) + .long 0x325EF98E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E92478D // c1 (low single) + .long 0xBF2FEDC9 // c2 + .long 0x3F4BCD58 // c3 + .long 0xBF27AE9E // c4 + .long 0xBF8D5F26 // B' = pi/2 - B (high single) + .long 0x330C0105 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBF00DC0D // c0 (high single) + .long 0x3214AF72 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E81B994 // c1 (low single) + .long 0xBF218233 // c2 + .long 0x3F3C4531 // c3 + .long 0xBF149688 // c4 + .long 0xBF908365 // B' = pi/2 - B (high single) + .long 0xB292200D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEF22870 // c0 (high single) + .long 0xB25271F4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E65107A // c1 (low single) + .long 0xBF1429F0 // c2 + .long 0x3F2E8AFC // c3 + .long 0xBF040498 // c4 + .long 0xBF93A7A5 // B' = pi/2 - B (high single) + .long 0x3361DEEE // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEE2F439 // c0 (high single) + .long 0x31F4399E // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E49341C // c1 (low single) + .long 0xBF07C61A // c2 + .long 0x3F22560F // c3 + .long 0xBEEAA81E // c4 + .long 0xBF96CBE4 // B' = pi/2 - B (high single) + .long 0x314CDE2E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBED413CD // c0 (high single) + .long 0x31C06152 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E2FB0CC // c1 (low single) + .long 0xBEF876CB // c2 + .long 0x3F177807 // c3 + .long 0xBED08437 // c4 + .long 0xBF99F023 // B' = pi/2 - B (high single) + .long 0xB3484328 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEC5800D // c0 (high single) + .long 0x3214C3C1 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E185E54 // c1 (low single) + .long 0xBEE2E342 // c2 + .long 0x3F0DCA73 // c3 + .long 0xBEB8CC21 // c4 + .long 0xBF9D1463 // B' = pi/2 - B (high single) + .long 0x32C55799 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEB73250 // c0 (high single) + .long 0x32028823 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3E0318F8 // c1 (low single) + .long 0xBECEA678 // c2 + .long 0x3F053C67 // c3 + .long 0xBEA41E53 // c4 + .long 0xBFA038A2 // B' = pi/2 - B (high single) + .long 0xB2E4CA7E // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBEA92457 // c0 (high single) + .long 0xB0B80830 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DDF8200 // c1 (low single) + .long 0xBEBB99E9 // c2 + .long 0x3EFB4AA8 // c3 + .long 0xBE9182BE // c4 + .long 0xBFA35CE2 // B' = pi/2 - B (high single) + .long 0x333889B6 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE9B5042 // c0 (high single) + .long 0x322A3AEE // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3DBC7490 // c1 (low single) + .long 0xBEA99AF5 // c2 + .long 0x3EEDE107 // c3 + .long 0xBE80E9AA // c4 + .long 0xBFA68121 // B' = pi/2 - B (high single) + .long 0xB1E43AAC // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE8DB082 // c0 (high single) + .long 0x3132A234 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D9CD7D0 // c1 (low single) + .long 0xBE988A60 // c2 + .long 0x3EE203E3 // c3 + .long 0xBE63582C // c4 + .long 0xBFA9A560 // B' = pi/2 - B (high single) + .long 0xB3719861 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE803FD4 // c0 (high single) + .long 0x32279E66 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D807FC8 // c1 (low single) + .long 0xBE884BD4 // c2 + .long 0x3ED7812D // c3 + .long 0xBE4636EB // c4 + .long 0xBFACC9A0 // B' = pi/2 - B (high single) + .long 0x32655A50 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE65F267 // c0 (high single) + .long 0xB1B4B1DF // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D4E8B90 // c1 (low single) + .long 0xBE718ACA // c2 + .long 0x3ECE7164 // c3 + .long 0xBE2DC161 // c4 + .long 0xBFAFEDDF // B' = pi/2 - B (high single) + .long 0xB31BBA77 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE4BAFAF // c0 (high single) + .long 0xAF2A29E0 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3D221018 // c1 (low single) + .long 0xBE53BED0 // c2 + .long 0x3EC67E26 // c3 + .long 0xBE1568E2 // c4 + .long 0xBFB3121F // B' = pi/2 - B (high single) + .long 0x330F347D // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE31AE4D // c0 (high single) + .long 0x31F32251 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CF6A500 // c1 (low single) + .long 0xBE3707DA // c2 + .long 0x3EBFA489 // c3 + .long 0xBDFBD9C7 // c4 + .long 0xBFB6365E // B' = pi/2 - B (high single) + .long 0xB28BB91C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBE17E564 // c0 (high single) + .long 0x31C5A2E4 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3CB440D0 // c1 (low single) + .long 0xBE1B3D00 // c2 + .long 0x3EB9F664 // c3 + .long 0xBDD647C0 // c4 + .long 0xBFB95A9E // B' = pi/2 - B (high single) + .long 0x33651267 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBDFC98C2 // c0 (high single) + .long 0x30AE525C // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C793D20 // c1 (low single) + .long 0xBE003845 // c2 + .long 0x3EB5271F // c3 + .long 0xBDAC669E // c4 + .long 0xBFBC7EDD // B' = pi/2 - B (high single) + .long 0x31800ADD // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBDC9B5DC // c0 (high single) + .long 0xB145AD86 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3C1EEF20 // c1 (low single) + .long 0xBDCBAAEA // c2 + .long 0x3EB14E5E // c3 + .long 0xBD858BB2 // c4 + .long 0xBFBFA31C // B' = pi/2 - B (high single) + .long 0xB3450FB0 // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBD9711CE // c0 (high single) + .long 0xB14FEB28 // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3BB24C00 // c1 (low single) + .long 0xBD97E43A // c2 + .long 0x3EAE6A89 // c3 + .long 0xBD4D07E0 // c4 + .long 0xBFC2C75C // B' = pi/2 - B (high single) + .long 0x32CBBE8A // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBD49393C // c0 (high single) + .long 0xB0A39F5B // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3B1E2B00 // c1 (low single) + .long 0xBD49B5D4 // c2 + .long 0x3EAC4F10 // c3 + .long 0xBCFD9425 // c4 + .long 0xBFC5EB9B // B' = pi/2 - B (high single) + .long 0xB2DE638C // B' = pi/2 - B (low single) + .long 0x00000000 // tau (1 for cot path) + .long 0xBCC91A31 // c0 (high single) + .long 0xAF8E8D1A // c0 (low single) + .long 0x3F800000 // c1 (high 1 bit) + .long 0x3A1DFA00 // c1 (low single) + .long 0xBCC9392D // c2 + .long 0x3EAB1889 // c3 + .long 0xBC885D3B // c4 + .align 32 + .type __svml_stan_data_internal, @object + .size __svml_stan_data_internal, .-__svml_stan_data_internal + .align 32 #ifdef __svml_stan_reduction_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _sPtable[256][3][1]; +typedef struct { + __declspec(align(32)) VUINT32 _sPtable[256][3][1]; } __svml_stan_reduction_data_internal; #endif __svml_stan_reduction_data_internal: - /* P_hi P_med P_lo */ - .long 0x00000000, 0x00000000, 0x00000000 /* 0 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 1 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 2 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 3 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 4 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 5 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 6 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 7 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 8 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 9 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 10 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 11 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 12 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 13 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 14 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 15 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 16 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 17 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 18 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 19 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 20 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 21 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 22 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 23 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 24 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 25 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 26 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 27 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 28 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 29 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 30 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 31 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 32 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 33 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 34 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 35 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 36 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 37 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 38 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 39 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 40 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 41 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 42 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 43 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 44 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 45 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 46 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 47 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 48 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 49 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 50 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 51 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 52 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 53 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 54 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 55 */ - .long 0x00000000, 0x00000000, 0x00000000 /* 56 */ - .long 0x00000000, 0x00000000, 0x00000001 /* 57 */ - .long 0x00000000, 0x00000000, 0x00000002 /* 58 */ - .long 0x00000000, 0x00000000, 0x00000005 /* 59 */ - .long 0x00000000, 0x00000000, 0x0000000A /* 60 */ - .long 0x00000000, 0x00000000, 0x00000014 /* 61 */ - .long 0x00000000, 0x00000000, 0x00000028 /* 62 */ - .long 0x00000000, 0x00000000, 0x00000051 /* 63 */ - .long 0x00000000, 0x00000000, 0x000000A2 /* 64 */ - .long 0x00000000, 0x00000000, 0x00000145 /* 65 */ - .long 0x00000000, 0x00000000, 0x0000028B /* 66 */ - .long 0x00000000, 0x00000000, 0x00000517 /* 67 */ - .long 0x00000000, 0x00000000, 0x00000A2F /* 68 */ - .long 0x00000000, 0x00000000, 0x0000145F /* 69 */ - .long 0x00000000, 0x00000000, 0x000028BE /* 70 */ - .long 0x00000000, 0x00000000, 0x0000517C /* 71 */ - .long 0x00000000, 0x00000000, 0x0000A2F9 /* 72 */ - .long 0x00000000, 0x00000000, 0x000145F3 /* 73 */ - .long 0x00000000, 0x00000000, 0x00028BE6 /* 74 */ - .long 0x00000000, 0x00000000, 0x000517CC /* 75 */ - .long 0x00000000, 0x00000000, 0x000A2F98 /* 76 */ - .long 0x00000000, 0x00000000, 0x00145F30 /* 77 */ - .long 0x00000000, 0x00000000, 0x0028BE60 /* 78 */ - .long 0x00000000, 0x00000000, 0x00517CC1 /* 79 */ - .long 0x00000000, 0x00000000, 0x00A2F983 /* 80 */ - .long 0x00000000, 0x00000000, 0x0145F306 /* 81 */ - .long 0x00000000, 0x00000000, 0x028BE60D /* 82 */ - .long 0x00000000, 0x00000000, 0x0517CC1B /* 83 */ - .long 0x00000000, 0x00000000, 0x0A2F9836 /* 84 */ - .long 0x00000000, 0x00000000, 0x145F306D /* 85 */ - .long 0x00000000, 0x00000000, 0x28BE60DB /* 86 */ - .long 0x00000000, 0x00000000, 0x517CC1B7 /* 87 */ - .long 0x00000000, 0x00000000, 0xA2F9836E /* 88 */ - .long 0x00000000, 0x00000001, 0x45F306DC /* 89 */ - .long 0x00000000, 0x00000002, 0x8BE60DB9 /* 90 */ - .long 0x00000000, 0x00000005, 0x17CC1B72 /* 91 */ - .long 0x00000000, 0x0000000A, 0x2F9836E4 /* 92 */ - .long 0x00000000, 0x00000014, 0x5F306DC9 /* 93 */ - .long 0x00000000, 0x00000028, 0xBE60DB93 /* 94 */ - .long 0x00000000, 0x00000051, 0x7CC1B727 /* 95 */ - .long 0x00000000, 0x000000A2, 0xF9836E4E /* 96 */ - .long 0x00000000, 0x00000145, 0xF306DC9C /* 97 */ - .long 0x00000000, 0x0000028B, 0xE60DB939 /* 98 */ - .long 0x00000000, 0x00000517, 0xCC1B7272 /* 99 */ - .long 0x00000000, 0x00000A2F, 0x9836E4E4 /* 100 */ - .long 0x00000000, 0x0000145F, 0x306DC9C8 /* 101 */ - .long 0x00000000, 0x000028BE, 0x60DB9391 /* 102 */ - .long 0x00000000, 0x0000517C, 0xC1B72722 /* 103 */ - .long 0x00000000, 0x0000A2F9, 0x836E4E44 /* 104 */ - .long 0x00000000, 0x000145F3, 0x06DC9C88 /* 105 */ - .long 0x00000000, 0x00028BE6, 0x0DB93910 /* 106 */ - .long 0x00000000, 0x000517CC, 0x1B727220 /* 107 */ - .long 0x00000000, 0x000A2F98, 0x36E4E441 /* 108 */ - .long 0x00000000, 0x00145F30, 0x6DC9C882 /* 109 */ - .long 0x00000000, 0x0028BE60, 0xDB939105 /* 110 */ - .long 0x00000000, 0x00517CC1, 0xB727220A /* 111 */ - .long 0x00000000, 0x00A2F983, 0x6E4E4415 /* 112 */ - .long 0x00000000, 0x0145F306, 0xDC9C882A /* 113 */ - .long 0x00000000, 0x028BE60D, 0xB9391054 /* 114 */ - .long 0x00000000, 0x0517CC1B, 0x727220A9 /* 115 */ - .long 0x00000000, 0x0A2F9836, 0xE4E44152 /* 116 */ - .long 0x00000000, 0x145F306D, 0xC9C882A5 /* 117 */ - .long 0x00000000, 0x28BE60DB, 0x9391054A /* 118 */ - .long 0x00000000, 0x517CC1B7, 0x27220A94 /* 119 */ - .long 0x00000000, 0xA2F9836E, 0x4E441529 /* 120 */ - .long 0x00000001, 0x45F306DC, 0x9C882A53 /* 121 */ - .long 0x00000002, 0x8BE60DB9, 0x391054A7 /* 122 */ - .long 0x00000005, 0x17CC1B72, 0x7220A94F /* 123 */ - .long 0x0000000A, 0x2F9836E4, 0xE441529F /* 124 */ - .long 0x00000014, 0x5F306DC9, 0xC882A53F /* 125 */ - .long 0x00000028, 0xBE60DB93, 0x91054A7F /* 126 */ - .long 0x00000051, 0x7CC1B727, 0x220A94FE /* 127 */ - .long 0x000000A2, 0xF9836E4E, 0x441529FC /* 128 */ - .long 0x00000145, 0xF306DC9C, 0x882A53F8 /* 129 */ - .long 0x0000028B, 0xE60DB939, 0x1054A7F0 /* 130 */ - .long 0x00000517, 0xCC1B7272, 0x20A94FE1 /* 131 */ - .long 0x00000A2F, 0x9836E4E4, 0x41529FC2 /* 132 */ - .long 0x0000145F, 0x306DC9C8, 0x82A53F84 /* 133 */ - .long 0x000028BE, 0x60DB9391, 0x054A7F09 /* 134 */ - .long 0x0000517C, 0xC1B72722, 0x0A94FE13 /* 135 */ - .long 0x0000A2F9, 0x836E4E44, 0x1529FC27 /* 136 */ - .long 0x000145F3, 0x06DC9C88, 0x2A53F84E /* 137 */ - .long 0x00028BE6, 0x0DB93910, 0x54A7F09D /* 138 */ - .long 0x000517CC, 0x1B727220, 0xA94FE13A /* 139 */ - .long 0x000A2F98, 0x36E4E441, 0x529FC275 /* 140 */ - .long 0x00145F30, 0x6DC9C882, 0xA53F84EA /* 141 */ - .long 0x0028BE60, 0xDB939105, 0x4A7F09D5 /* 142 */ - .long 0x00517CC1, 0xB727220A, 0x94FE13AB /* 143 */ - .long 0x00A2F983, 0x6E4E4415, 0x29FC2757 /* 144 */ - .long 0x0145F306, 0xDC9C882A, 0x53F84EAF /* 145 */ - .long 0x028BE60D, 0xB9391054, 0xA7F09D5F /* 146 */ - .long 0x0517CC1B, 0x727220A9, 0x4FE13ABE /* 147 */ - .long 0x0A2F9836, 0xE4E44152, 0x9FC2757D /* 148 */ - .long 0x145F306D, 0xC9C882A5, 0x3F84EAFA /* 149 */ - .long 0x28BE60DB, 0x9391054A, 0x7F09D5F4 /* 150 */ - .long 0x517CC1B7, 0x27220A94, 0xFE13ABE8 /* 151 */ - .long 0xA2F9836E, 0x4E441529, 0xFC2757D1 /* 152 */ - .long 0x45F306DC, 0x9C882A53, 0xF84EAFA3 /* 153 */ - .long 0x8BE60DB9, 0x391054A7, 0xF09D5F47 /* 154 */ - .long 0x17CC1B72, 0x7220A94F, 0xE13ABE8F /* 155 */ - .long 0x2F9836E4, 0xE441529F, 0xC2757D1F /* 156 */ - .long 0x5F306DC9, 0xC882A53F, 0x84EAFA3E /* 157 */ - .long 0xBE60DB93, 0x91054A7F, 0x09D5F47D /* 158 */ - .long 0x7CC1B727, 0x220A94FE, 0x13ABE8FA /* 159 */ - .long 0xF9836E4E, 0x441529FC, 0x2757D1F5 /* 160 */ - .long 0xF306DC9C, 0x882A53F8, 0x4EAFA3EA /* 161 */ - .long 0xE60DB939, 0x1054A7F0, 0x9D5F47D4 /* 162 */ - .long 0xCC1B7272, 0x20A94FE1, 0x3ABE8FA9 /* 163 */ - .long 0x9836E4E4, 0x41529FC2, 0x757D1F53 /* 164 */ - .long 0x306DC9C8, 0x82A53F84, 0xEAFA3EA6 /* 165 */ - .long 0x60DB9391, 0x054A7F09, 0xD5F47D4D /* 166 */ - .long 0xC1B72722, 0x0A94FE13, 0xABE8FA9A /* 167 */ - .long 0x836E4E44, 0x1529FC27, 0x57D1F534 /* 168 */ - .long 0x06DC9C88, 0x2A53F84E, 0xAFA3EA69 /* 169 */ - .long 0x0DB93910, 0x54A7F09D, 0x5F47D4D3 /* 170 */ - .long 0x1B727220, 0xA94FE13A, 0xBE8FA9A6 /* 171 */ - .long 0x36E4E441, 0x529FC275, 0x7D1F534D /* 172 */ - .long 0x6DC9C882, 0xA53F84EA, 0xFA3EA69B /* 173 */ - .long 0xDB939105, 0x4A7F09D5, 0xF47D4D37 /* 174 */ - .long 0xB727220A, 0x94FE13AB, 0xE8FA9A6E /* 175 */ - .long 0x6E4E4415, 0x29FC2757, 0xD1F534DD /* 176 */ - .long 0xDC9C882A, 0x53F84EAF, 0xA3EA69BB /* 177 */ - .long 0xB9391054, 0xA7F09D5F, 0x47D4D377 /* 178 */ - .long 0x727220A9, 0x4FE13ABE, 0x8FA9A6EE /* 179 */ - .long 0xE4E44152, 0x9FC2757D, 0x1F534DDC /* 180 */ - .long 0xC9C882A5, 0x3F84EAFA, 0x3EA69BB8 /* 181 */ - .long 0x9391054A, 0x7F09D5F4, 0x7D4D3770 /* 182 */ - .long 0x27220A94, 0xFE13ABE8, 0xFA9A6EE0 /* 183 */ - .long 0x4E441529, 0xFC2757D1, 0xF534DDC0 /* 184 */ - .long 0x9C882A53, 0xF84EAFA3, 0xEA69BB81 /* 185 */ - .long 0x391054A7, 0xF09D5F47, 0xD4D37703 /* 186 */ - .long 0x7220A94F, 0xE13ABE8F, 0xA9A6EE06 /* 187 */ - .long 0xE441529F, 0xC2757D1F, 0x534DDC0D /* 188 */ - .long 0xC882A53F, 0x84EAFA3E, 0xA69BB81B /* 189 */ - .long 0x91054A7F, 0x09D5F47D, 0x4D377036 /* 190 */ - .long 0x220A94FE, 0x13ABE8FA, 0x9A6EE06D /* 191 */ - .long 0x441529FC, 0x2757D1F5, 0x34DDC0DB /* 192 */ - .long 0x882A53F8, 0x4EAFA3EA, 0x69BB81B6 /* 193 */ - .long 0x1054A7F0, 0x9D5F47D4, 0xD377036D /* 194 */ - .long 0x20A94FE1, 0x3ABE8FA9, 0xA6EE06DB /* 195 */ - .long 0x41529FC2, 0x757D1F53, 0x4DDC0DB6 /* 196 */ - .long 0x82A53F84, 0xEAFA3EA6, 0x9BB81B6C /* 197 */ - .long 0x054A7F09, 0xD5F47D4D, 0x377036D8 /* 198 */ - .long 0x0A94FE13, 0xABE8FA9A, 0x6EE06DB1 /* 199 */ - .long 0x1529FC27, 0x57D1F534, 0xDDC0DB62 /* 200 */ - .long 0x2A53F84E, 0xAFA3EA69, 0xBB81B6C5 /* 201 */ - .long 0x54A7F09D, 0x5F47D4D3, 0x77036D8A /* 202 */ - .long 0xA94FE13A, 0xBE8FA9A6, 0xEE06DB14 /* 203 */ - .long 0x529FC275, 0x7D1F534D, 0xDC0DB629 /* 204 */ - .long 0xA53F84EA, 0xFA3EA69B, 0xB81B6C52 /* 205 */ - .long 0x4A7F09D5, 0xF47D4D37, 0x7036D8A5 /* 206 */ - .long 0x94FE13AB, 0xE8FA9A6E, 0xE06DB14A /* 207 */ - .long 0x29FC2757, 0xD1F534DD, 0xC0DB6295 /* 208 */ - .long 0x53F84EAF, 0xA3EA69BB, 0x81B6C52B /* 209 */ - .long 0xA7F09D5F, 0x47D4D377, 0x036D8A56 /* 210 */ - .long 0x4FE13ABE, 0x8FA9A6EE, 0x06DB14AC /* 211 */ - .long 0x9FC2757D, 0x1F534DDC, 0x0DB62959 /* 212 */ - .long 0x3F84EAFA, 0x3EA69BB8, 0x1B6C52B3 /* 213 */ - .long 0x7F09D5F4, 0x7D4D3770, 0x36D8A566 /* 214 */ - .long 0xFE13ABE8, 0xFA9A6EE0, 0x6DB14ACC /* 215 */ - .long 0xFC2757D1, 0xF534DDC0, 0xDB629599 /* 216 */ - .long 0xF84EAFA3, 0xEA69BB81, 0xB6C52B32 /* 217 */ - .long 0xF09D5F47, 0xD4D37703, 0x6D8A5664 /* 218 */ - .long 0xE13ABE8F, 0xA9A6EE06, 0xDB14ACC9 /* 219 */ - .long 0xC2757D1F, 0x534DDC0D, 0xB6295993 /* 220 */ - .long 0x84EAFA3E, 0xA69BB81B, 0x6C52B327 /* 221 */ - .long 0x09D5F47D, 0x4D377036, 0xD8A5664F /* 222 */ - .long 0x13ABE8FA, 0x9A6EE06D, 0xB14ACC9E /* 223 */ - .long 0x2757D1F5, 0x34DDC0DB, 0x6295993C /* 224 */ - .long 0x4EAFA3EA, 0x69BB81B6, 0xC52B3278 /* 225 */ - .long 0x9D5F47D4, 0xD377036D, 0x8A5664F1 /* 226 */ - .long 0x3ABE8FA9, 0xA6EE06DB, 0x14ACC9E2 /* 227 */ - .long 0x757D1F53, 0x4DDC0DB6, 0x295993C4 /* 228 */ - .long 0xEAFA3EA6, 0x9BB81B6C, 0x52B32788 /* 229 */ - .long 0xD5F47D4D, 0x377036D8, 0xA5664F10 /* 230 */ - .long 0xABE8FA9A, 0x6EE06DB1, 0x4ACC9E21 /* 231 */ - .long 0x57D1F534, 0xDDC0DB62, 0x95993C43 /* 232 */ - .long 0xAFA3EA69, 0xBB81B6C5, 0x2B327887 /* 233 */ - .long 0x5F47D4D3, 0x77036D8A, 0x5664F10E /* 234 */ - .long 0xBE8FA9A6, 0xEE06DB14, 0xACC9E21C /* 235 */ - .long 0x7D1F534D, 0xDC0DB629, 0x5993C439 /* 236 */ - .long 0xFA3EA69B, 0xB81B6C52, 0xB3278872 /* 237 */ - .long 0xF47D4D37, 0x7036D8A5, 0x664F10E4 /* 238 */ - .long 0xE8FA9A6E, 0xE06DB14A, 0xCC9E21C8 /* 239 */ - .long 0xD1F534DD, 0xC0DB6295, 0x993C4390 /* 240 */ - .long 0xA3EA69BB, 0x81B6C52B, 0x32788720 /* 241 */ - .long 0x47D4D377, 0x036D8A56, 0x64F10E41 /* 242 */ - .long 0x8FA9A6EE, 0x06DB14AC, 0xC9E21C82 /* 243 */ - .long 0x1F534DDC, 0x0DB62959, 0x93C43904 /* 244 */ - .long 0x3EA69BB8, 0x1B6C52B3, 0x27887208 /* 245 */ - .long 0x7D4D3770, 0x36D8A566, 0x4F10E410 /* 246 */ - .long 0xFA9A6EE0, 0x6DB14ACC, 0x9E21C820 /* 247 */ - .long 0xF534DDC0, 0xDB629599, 0x3C439041 /* 248 */ - .long 0xEA69BB81, 0xB6C52B32, 0x78872083 /* 249 */ - .long 0xD4D37703, 0x6D8A5664, 0xF10E4107 /* 250 */ - .long 0xA9A6EE06, 0xDB14ACC9, 0xE21C820F /* 251 */ - .long 0x534DDC0D, 0xB6295993, 0xC439041F /* 252 */ - .long 0xA69BB81B, 0x6C52B327, 0x8872083F /* 253 */ - .long 0x4D377036, 0xD8A5664F, 0x10E4107F /* 254 */ - .long 0x9A6EE06D, 0xB14ACC9E, 0x21C820FF /* 255 */ - .align 32 - .type __svml_stan_reduction_data_internal,@object - .size __svml_stan_reduction_data_internal,.-__svml_stan_reduction_data_internal + /* P_hi P_med P_lo */ + .long 0x00000000, 0x00000000, 0x00000000 /* 0 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 1 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 2 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 3 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 4 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 5 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 6 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 7 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 8 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 9 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 10 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 11 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 12 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 13 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 14 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 15 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 16 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 17 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 18 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 19 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 20 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 21 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 22 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 23 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 24 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 25 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 26 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 27 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 28 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 29 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 30 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 31 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 32 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 33 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 34 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 35 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 36 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 37 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 38 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 39 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 40 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 41 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 42 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 43 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 44 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 45 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 46 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 47 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 48 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 49 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 50 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 51 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 52 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 53 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 54 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 55 */ + .long 0x00000000, 0x00000000, 0x00000000 /* 56 */ + .long 0x00000000, 0x00000000, 0x00000001 /* 57 */ + .long 0x00000000, 0x00000000, 0x00000002 /* 58 */ + .long 0x00000000, 0x00000000, 0x00000005 /* 59 */ + .long 0x00000000, 0x00000000, 0x0000000A /* 60 */ + .long 0x00000000, 0x00000000, 0x00000014 /* 61 */ + .long 0x00000000, 0x00000000, 0x00000028 /* 62 */ + .long 0x00000000, 0x00000000, 0x00000051 /* 63 */ + .long 0x00000000, 0x00000000, 0x000000A2 /* 64 */ + .long 0x00000000, 0x00000000, 0x00000145 /* 65 */ + .long 0x00000000, 0x00000000, 0x0000028B /* 66 */ + .long 0x00000000, 0x00000000, 0x00000517 /* 67 */ + .long 0x00000000, 0x00000000, 0x00000A2F /* 68 */ + .long 0x00000000, 0x00000000, 0x0000145F /* 69 */ + .long 0x00000000, 0x00000000, 0x000028BE /* 70 */ + .long 0x00000000, 0x00000000, 0x0000517C /* 71 */ + .long 0x00000000, 0x00000000, 0x0000A2F9 /* 72 */ + .long 0x00000000, 0x00000000, 0x000145F3 /* 73 */ + .long 0x00000000, 0x00000000, 0x00028BE6 /* 74 */ + .long 0x00000000, 0x00000000, 0x000517CC /* 75 */ + .long 0x00000000, 0x00000000, 0x000A2F98 /* 76 */ + .long 0x00000000, 0x00000000, 0x00145F30 /* 77 */ + .long 0x00000000, 0x00000000, 0x0028BE60 /* 78 */ + .long 0x00000000, 0x00000000, 0x00517CC1 /* 79 */ + .long 0x00000000, 0x00000000, 0x00A2F983 /* 80 */ + .long 0x00000000, 0x00000000, 0x0145F306 /* 81 */ + .long 0x00000000, 0x00000000, 0x028BE60D /* 82 */ + .long 0x00000000, 0x00000000, 0x0517CC1B /* 83 */ + .long 0x00000000, 0x00000000, 0x0A2F9836 /* 84 */ + .long 0x00000000, 0x00000000, 0x145F306D /* 85 */ + .long 0x00000000, 0x00000000, 0x28BE60DB /* 86 */ + .long 0x00000000, 0x00000000, 0x517CC1B7 /* 87 */ + .long 0x00000000, 0x00000000, 0xA2F9836E /* 88 */ + .long 0x00000000, 0x00000001, 0x45F306DC /* 89 */ + .long 0x00000000, 0x00000002, 0x8BE60DB9 /* 90 */ + .long 0x00000000, 0x00000005, 0x17CC1B72 /* 91 */ + .long 0x00000000, 0x0000000A, 0x2F9836E4 /* 92 */ + .long 0x00000000, 0x00000014, 0x5F306DC9 /* 93 */ + .long 0x00000000, 0x00000028, 0xBE60DB93 /* 94 */ + .long 0x00000000, 0x00000051, 0x7CC1B727 /* 95 */ + .long 0x00000000, 0x000000A2, 0xF9836E4E /* 96 */ + .long 0x00000000, 0x00000145, 0xF306DC9C /* 97 */ + .long 0x00000000, 0x0000028B, 0xE60DB939 /* 98 */ + .long 0x00000000, 0x00000517, 0xCC1B7272 /* 99 */ + .long 0x00000000, 0x00000A2F, 0x9836E4E4 /* 100 */ + .long 0x00000000, 0x0000145F, 0x306DC9C8 /* 101 */ + .long 0x00000000, 0x000028BE, 0x60DB9391 /* 102 */ + .long 0x00000000, 0x0000517C, 0xC1B72722 /* 103 */ + .long 0x00000000, 0x0000A2F9, 0x836E4E44 /* 104 */ + .long 0x00000000, 0x000145F3, 0x06DC9C88 /* 105 */ + .long 0x00000000, 0x00028BE6, 0x0DB93910 /* 106 */ + .long 0x00000000, 0x000517CC, 0x1B727220 /* 107 */ + .long 0x00000000, 0x000A2F98, 0x36E4E441 /* 108 */ + .long 0x00000000, 0x00145F30, 0x6DC9C882 /* 109 */ + .long 0x00000000, 0x0028BE60, 0xDB939105 /* 110 */ + .long 0x00000000, 0x00517CC1, 0xB727220A /* 111 */ + .long 0x00000000, 0x00A2F983, 0x6E4E4415 /* 112 */ + .long 0x00000000, 0x0145F306, 0xDC9C882A /* 113 */ + .long 0x00000000, 0x028BE60D, 0xB9391054 /* 114 */ + .long 0x00000000, 0x0517CC1B, 0x727220A9 /* 115 */ + .long 0x00000000, 0x0A2F9836, 0xE4E44152 /* 116 */ + .long 0x00000000, 0x145F306D, 0xC9C882A5 /* 117 */ + .long 0x00000000, 0x28BE60DB, 0x9391054A /* 118 */ + .long 0x00000000, 0x517CC1B7, 0x27220A94 /* 119 */ + .long 0x00000000, 0xA2F9836E, 0x4E441529 /* 120 */ + .long 0x00000001, 0x45F306DC, 0x9C882A53 /* 121 */ + .long 0x00000002, 0x8BE60DB9, 0x391054A7 /* 122 */ + .long 0x00000005, 0x17CC1B72, 0x7220A94F /* 123 */ + .long 0x0000000A, 0x2F9836E4, 0xE441529F /* 124 */ + .long 0x00000014, 0x5F306DC9, 0xC882A53F /* 125 */ + .long 0x00000028, 0xBE60DB93, 0x91054A7F /* 126 */ + .long 0x00000051, 0x7CC1B727, 0x220A94FE /* 127 */ + .long 0x000000A2, 0xF9836E4E, 0x441529FC /* 128 */ + .long 0x00000145, 0xF306DC9C, 0x882A53F8 /* 129 */ + .long 0x0000028B, 0xE60DB939, 0x1054A7F0 /* 130 */ + .long 0x00000517, 0xCC1B7272, 0x20A94FE1 /* 131 */ + .long 0x00000A2F, 0x9836E4E4, 0x41529FC2 /* 132 */ + .long 0x0000145F, 0x306DC9C8, 0x82A53F84 /* 133 */ + .long 0x000028BE, 0x60DB9391, 0x054A7F09 /* 134 */ + .long 0x0000517C, 0xC1B72722, 0x0A94FE13 /* 135 */ + .long 0x0000A2F9, 0x836E4E44, 0x1529FC27 /* 136 */ + .long 0x000145F3, 0x06DC9C88, 0x2A53F84E /* 137 */ + .long 0x00028BE6, 0x0DB93910, 0x54A7F09D /* 138 */ + .long 0x000517CC, 0x1B727220, 0xA94FE13A /* 139 */ + .long 0x000A2F98, 0x36E4E441, 0x529FC275 /* 140 */ + .long 0x00145F30, 0x6DC9C882, 0xA53F84EA /* 141 */ + .long 0x0028BE60, 0xDB939105, 0x4A7F09D5 /* 142 */ + .long 0x00517CC1, 0xB727220A, 0x94FE13AB /* 143 */ + .long 0x00A2F983, 0x6E4E4415, 0x29FC2757 /* 144 */ + .long 0x0145F306, 0xDC9C882A, 0x53F84EAF /* 145 */ + .long 0x028BE60D, 0xB9391054, 0xA7F09D5F /* 146 */ + .long 0x0517CC1B, 0x727220A9, 0x4FE13ABE /* 147 */ + .long 0x0A2F9836, 0xE4E44152, 0x9FC2757D /* 148 */ + .long 0x145F306D, 0xC9C882A5, 0x3F84EAFA /* 149 */ + .long 0x28BE60DB, 0x9391054A, 0x7F09D5F4 /* 150 */ + .long 0x517CC1B7, 0x27220A94, 0xFE13ABE8 /* 151 */ + .long 0xA2F9836E, 0x4E441529, 0xFC2757D1 /* 152 */ + .long 0x45F306DC, 0x9C882A53, 0xF84EAFA3 /* 153 */ + .long 0x8BE60DB9, 0x391054A7, 0xF09D5F47 /* 154 */ + .long 0x17CC1B72, 0x7220A94F, 0xE13ABE8F /* 155 */ + .long 0x2F9836E4, 0xE441529F, 0xC2757D1F /* 156 */ + .long 0x5F306DC9, 0xC882A53F, 0x84EAFA3E /* 157 */ + .long 0xBE60DB93, 0x91054A7F, 0x09D5F47D /* 158 */ + .long 0x7CC1B727, 0x220A94FE, 0x13ABE8FA /* 159 */ + .long 0xF9836E4E, 0x441529FC, 0x2757D1F5 /* 160 */ + .long 0xF306DC9C, 0x882A53F8, 0x4EAFA3EA /* 161 */ + .long 0xE60DB939, 0x1054A7F0, 0x9D5F47D4 /* 162 */ + .long 0xCC1B7272, 0x20A94FE1, 0x3ABE8FA9 /* 163 */ + .long 0x9836E4E4, 0x41529FC2, 0x757D1F53 /* 164 */ + .long 0x306DC9C8, 0x82A53F84, 0xEAFA3EA6 /* 165 */ + .long 0x60DB9391, 0x054A7F09, 0xD5F47D4D /* 166 */ + .long 0xC1B72722, 0x0A94FE13, 0xABE8FA9A /* 167 */ + .long 0x836E4E44, 0x1529FC27, 0x57D1F534 /* 168 */ + .long 0x06DC9C88, 0x2A53F84E, 0xAFA3EA69 /* 169 */ + .long 0x0DB93910, 0x54A7F09D, 0x5F47D4D3 /* 170 */ + .long 0x1B727220, 0xA94FE13A, 0xBE8FA9A6 /* 171 */ + .long 0x36E4E441, 0x529FC275, 0x7D1F534D /* 172 */ + .long 0x6DC9C882, 0xA53F84EA, 0xFA3EA69B /* 173 */ + .long 0xDB939105, 0x4A7F09D5, 0xF47D4D37 /* 174 */ + .long 0xB727220A, 0x94FE13AB, 0xE8FA9A6E /* 175 */ + .long 0x6E4E4415, 0x29FC2757, 0xD1F534DD /* 176 */ + .long 0xDC9C882A, 0x53F84EAF, 0xA3EA69BB /* 177 */ + .long 0xB9391054, 0xA7F09D5F, 0x47D4D377 /* 178 */ + .long 0x727220A9, 0x4FE13ABE, 0x8FA9A6EE /* 179 */ + .long 0xE4E44152, 0x9FC2757D, 0x1F534DDC /* 180 */ + .long 0xC9C882A5, 0x3F84EAFA, 0x3EA69BB8 /* 181 */ + .long 0x9391054A, 0x7F09D5F4, 0x7D4D3770 /* 182 */ + .long 0x27220A94, 0xFE13ABE8, 0xFA9A6EE0 /* 183 */ + .long 0x4E441529, 0xFC2757D1, 0xF534DDC0 /* 184 */ + .long 0x9C882A53, 0xF84EAFA3, 0xEA69BB81 /* 185 */ + .long 0x391054A7, 0xF09D5F47, 0xD4D37703 /* 186 */ + .long 0x7220A94F, 0xE13ABE8F, 0xA9A6EE06 /* 187 */ + .long 0xE441529F, 0xC2757D1F, 0x534DDC0D /* 188 */ + .long 0xC882A53F, 0x84EAFA3E, 0xA69BB81B /* 189 */ + .long 0x91054A7F, 0x09D5F47D, 0x4D377036 /* 190 */ + .long 0x220A94FE, 0x13ABE8FA, 0x9A6EE06D /* 191 */ + .long 0x441529FC, 0x2757D1F5, 0x34DDC0DB /* 192 */ + .long 0x882A53F8, 0x4EAFA3EA, 0x69BB81B6 /* 193 */ + .long 0x1054A7F0, 0x9D5F47D4, 0xD377036D /* 194 */ + .long 0x20A94FE1, 0x3ABE8FA9, 0xA6EE06DB /* 195 */ + .long 0x41529FC2, 0x757D1F53, 0x4DDC0DB6 /* 196 */ + .long 0x82A53F84, 0xEAFA3EA6, 0x9BB81B6C /* 197 */ + .long 0x054A7F09, 0xD5F47D4D, 0x377036D8 /* 198 */ + .long 0x0A94FE13, 0xABE8FA9A, 0x6EE06DB1 /* 199 */ + .long 0x1529FC27, 0x57D1F534, 0xDDC0DB62 /* 200 */ + .long 0x2A53F84E, 0xAFA3EA69, 0xBB81B6C5 /* 201 */ + .long 0x54A7F09D, 0x5F47D4D3, 0x77036D8A /* 202 */ + .long 0xA94FE13A, 0xBE8FA9A6, 0xEE06DB14 /* 203 */ + .long 0x529FC275, 0x7D1F534D, 0xDC0DB629 /* 204 */ + .long 0xA53F84EA, 0xFA3EA69B, 0xB81B6C52 /* 205 */ + .long 0x4A7F09D5, 0xF47D4D37, 0x7036D8A5 /* 206 */ + .long 0x94FE13AB, 0xE8FA9A6E, 0xE06DB14A /* 207 */ + .long 0x29FC2757, 0xD1F534DD, 0xC0DB6295 /* 208 */ + .long 0x53F84EAF, 0xA3EA69BB, 0x81B6C52B /* 209 */ + .long 0xA7F09D5F, 0x47D4D377, 0x036D8A56 /* 210 */ + .long 0x4FE13ABE, 0x8FA9A6EE, 0x06DB14AC /* 211 */ + .long 0x9FC2757D, 0x1F534DDC, 0x0DB62959 /* 212 */ + .long 0x3F84EAFA, 0x3EA69BB8, 0x1B6C52B3 /* 213 */ + .long 0x7F09D5F4, 0x7D4D3770, 0x36D8A566 /* 214 */ + .long 0xFE13ABE8, 0xFA9A6EE0, 0x6DB14ACC /* 215 */ + .long 0xFC2757D1, 0xF534DDC0, 0xDB629599 /* 216 */ + .long 0xF84EAFA3, 0xEA69BB81, 0xB6C52B32 /* 217 */ + .long 0xF09D5F47, 0xD4D37703, 0x6D8A5664 /* 218 */ + .long 0xE13ABE8F, 0xA9A6EE06, 0xDB14ACC9 /* 219 */ + .long 0xC2757D1F, 0x534DDC0D, 0xB6295993 /* 220 */ + .long 0x84EAFA3E, 0xA69BB81B, 0x6C52B327 /* 221 */ + .long 0x09D5F47D, 0x4D377036, 0xD8A5664F /* 222 */ + .long 0x13ABE8FA, 0x9A6EE06D, 0xB14ACC9E /* 223 */ + .long 0x2757D1F5, 0x34DDC0DB, 0x6295993C /* 224 */ + .long 0x4EAFA3EA, 0x69BB81B6, 0xC52B3278 /* 225 */ + .long 0x9D5F47D4, 0xD377036D, 0x8A5664F1 /* 226 */ + .long 0x3ABE8FA9, 0xA6EE06DB, 0x14ACC9E2 /* 227 */ + .long 0x757D1F53, 0x4DDC0DB6, 0x295993C4 /* 228 */ + .long 0xEAFA3EA6, 0x9BB81B6C, 0x52B32788 /* 229 */ + .long 0xD5F47D4D, 0x377036D8, 0xA5664F10 /* 230 */ + .long 0xABE8FA9A, 0x6EE06DB1, 0x4ACC9E21 /* 231 */ + .long 0x57D1F534, 0xDDC0DB62, 0x95993C43 /* 232 */ + .long 0xAFA3EA69, 0xBB81B6C5, 0x2B327887 /* 233 */ + .long 0x5F47D4D3, 0x77036D8A, 0x5664F10E /* 234 */ + .long 0xBE8FA9A6, 0xEE06DB14, 0xACC9E21C /* 235 */ + .long 0x7D1F534D, 0xDC0DB629, 0x5993C439 /* 236 */ + .long 0xFA3EA69B, 0xB81B6C52, 0xB3278872 /* 237 */ + .long 0xF47D4D37, 0x7036D8A5, 0x664F10E4 /* 238 */ + .long 0xE8FA9A6E, 0xE06DB14A, 0xCC9E21C8 /* 239 */ + .long 0xD1F534DD, 0xC0DB6295, 0x993C4390 /* 240 */ + .long 0xA3EA69BB, 0x81B6C52B, 0x32788720 /* 241 */ + .long 0x47D4D377, 0x036D8A56, 0x64F10E41 /* 242 */ + .long 0x8FA9A6EE, 0x06DB14AC, 0xC9E21C82 /* 243 */ + .long 0x1F534DDC, 0x0DB62959, 0x93C43904 /* 244 */ + .long 0x3EA69BB8, 0x1B6C52B3, 0x27887208 /* 245 */ + .long 0x7D4D3770, 0x36D8A566, 0x4F10E410 /* 246 */ + .long 0xFA9A6EE0, 0x6DB14ACC, 0x9E21C820 /* 247 */ + .long 0xF534DDC0, 0xDB629599, 0x3C439041 /* 248 */ + .long 0xEA69BB81, 0xB6C52B32, 0x78872083 /* 249 */ + .long 0xD4D37703, 0x6D8A5664, 0xF10E4107 /* 250 */ + .long 0xA9A6EE06, 0xDB14ACC9, 0xE21C820F /* 251 */ + .long 0x534DDC0D, 0xB6295993, 0xC439041F /* 252 */ + .long 0xA69BB81B, 0x6C52B327, 0x8872083F /* 253 */ + .long 0x4D377036, 0xD8A5664F, 0x10E4107F /* 254 */ + .long 0x9A6EE06D, 0xB14ACC9E, 0x21C820FF /* 255 */ + .align 32 + .type __svml_stan_reduction_data_internal, @object + .size __svml_stan_reduction_data_internal, .-__svml_stan_reduction_data_internal From patchwork Mon Mar 7 15:01:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602414 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qeZY0erl; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC431019Dz9sFt for ; Tue, 8 Mar 2022 03:41:00 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 839E53857C45 for ; Mon, 7 Mar 2022 16:40:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 839E53857C45 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646671258; bh=vdYFJonIkdHMAqykdiQPpAudi3AHCDfjdNwbKzRo7dE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qeZY0erl6n7NnYJJ4cEPPV5lYSTIHtQ9m8FkXYeb9bOShLNHuS8rUELb04z+VOkIk /r4GfA0vj5YhYqQ1VMq3PFMesHIbSj7ttmD5/06TZQBjW+j2YWrPd8rPcUYQDnV/oS 73ozG6B0yRS7GhiLoSKw/XdhnZwQwRjT9CHMVz3M= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 7B908385843D for ; Mon, 7 Mar 2022 15:03:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7B908385843D X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017295" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017295" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="595526505" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga008.fm.intel.com with ESMTP; 07 Mar 2022 07:02:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fW016772; Mon, 7 Mar 2022 07:02:11 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 118/126] x86_64: Fix svml_d_tan2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:53 -0800 Message-Id: <20220307150201.10590-119-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_tan2_core_sse4.S | 12143 ++++++++-------- 1 file changed, 6070 insertions(+), 6073 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S index 879cfd631d..d572b886be 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan2_core_sse4.S @@ -47,6213 +47,6210 @@ /* Offsets for data table __svml_dtan_data_internal */ -#define _dAbsMask 0 -#define _dRangeVal 16 -#define _dRShift 32 -#define _dCoeffs 48 -#define _dReductionRangeVal 26672 -#define _dInvPi 26688 -#define _dPI1 26704 -#define _dPI2 26720 -#define _dPI3 26736 -#define _dP1 26752 -#define _dP2 26768 -#define _dP3 26784 -#define _dQ0 26800 -#define _dQ1 26816 -#define _dQ2 26832 -#define _dQ3 26848 +#define _dAbsMask 0 +#define _dRangeVal 16 +#define _dRShift 32 +#define _dCoeffs 48 +#define _dReductionRangeVal 26672 +#define _dInvPi 26688 +#define _dPI1 26704 +#define _dPI2 26720 +#define _dPI3 26736 +#define _dP1 26752 +#define _dP2 26768 +#define _dP3 26784 +#define _dQ0 26800 +#define _dQ1 26816 +#define _dQ2 26832 +#define _dQ3 26848 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_tan_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm1 - movups _dAbsMask+__svml_dtan_data_internal(%rip), %xmm4 + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm1 + movups _dAbsMask+__svml_dtan_data_internal(%rip), %xmm4 -/* Legacy Code */ - xorl %eax, %eax + /* Legacy Code */ + xorl %eax, %eax -/* b) Remove sign using AND 0x7fffffffffffffff operation */ - movaps %xmm4, %xmm5 + /* b) Remove sign using AND 0x7fffffffffffffff operation */ + movaps %xmm4, %xmm5 -/* 1) Range reduction to [-Pi/4; +Pi/4] interval */ - pxor %xmm11, %xmm11 + /* 1) Range reduction to [-Pi/4; +Pi/4] interval */ + pxor %xmm11, %xmm11 -/* - * c) Getting octant Y by 2/Pi multiplication - * d) Add "Right Shifter" (0x4330000000000000) value - */ - movups _dInvPi+__svml_dtan_data_internal(%rip), %xmm3 - andps %xmm1, %xmm5 - mulpd %xmm5, %xmm3 - movups _dRShift+__svml_dtan_data_internal(%rip), %xmm6 + /* + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4330000000000000) value + */ + movups _dInvPi+__svml_dtan_data_internal(%rip), %xmm3 + andps %xmm1, %xmm5 + mulpd %xmm5, %xmm3 + movups _dRShift+__svml_dtan_data_internal(%rip), %xmm6 -/* - * Range reduction - * X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; - */ - movaps %xmm5, %xmm2 - addpd %xmm6, %xmm3 + /* + * Range reduction + * X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; + */ + movaps %xmm5, %xmm2 + addpd %xmm6, %xmm3 -/* g) Subtract "Right Shifter" (0x4330000000000000) value */ - movaps %xmm3, %xmm9 + /* g) Subtract "Right Shifter" (0x4330000000000000) value */ + movaps %xmm3, %xmm9 -/* a) Grab sign from source argument and save it. */ - andnps %xmm1, %xmm4 - subpd %xmm6, %xmm9 - movups _dPI1+__svml_dtan_data_internal(%rip), %xmm7 + /* a) Grab sign from source argument and save it. */ + andnps %xmm1, %xmm4 + subpd %xmm6, %xmm9 + movups _dPI1+__svml_dtan_data_internal(%rip), %xmm7 -/* - * e) Treat obtained value as integer for destination sign setting. - * Shift first bit of this value to the last (sign) position (S << 63) - * f) Change destination sign if source sign is negative - * using XOR operation. - */ - movaps %xmm3, %xmm6 - mulpd %xmm9, %xmm7 - movups _dPI2+__svml_dtan_data_internal(%rip), %xmm8 - psllq $62, %xmm3 - mulpd %xmm9, %xmm8 - subpd %xmm7, %xmm2 - cmpneqpd %xmm11, %xmm3 - subpd %xmm8, %xmm2 - movups _dPI3+__svml_dtan_data_internal(%rip), %xmm10 + /* + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 63) + * f) Change destination sign if source sign is negative + * using XOR operation. + */ + movaps %xmm3, %xmm6 + mulpd %xmm9, %xmm7 + movups _dPI2+__svml_dtan_data_internal(%rip), %xmm8 + psllq $62, %xmm3 + mulpd %xmm9, %xmm8 + subpd %xmm7, %xmm2 + cmpneqpd %xmm11, %xmm3 + subpd %xmm8, %xmm2 + movups _dPI3+__svml_dtan_data_internal(%rip), %xmm10 -/* - * c) Swap P and Q if first bit of obtained value after - * Right Shifting is set to 1. Using And, Andnot & Or operations. - */ - movaps %xmm3, %xmm0 - mulpd %xmm9, %xmm10 - subpd %xmm10, %xmm2 + /* + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + */ + movaps %xmm3, %xmm0 + mulpd %xmm9, %xmm10 + subpd %xmm10, %xmm2 -/* a) Calculate X^2 = X * X */ - movaps %xmm2, %xmm15 - movaps %xmm3, %xmm14 - mulpd %xmm2, %xmm15 + /* a) Calculate X^2 = X * X */ + movaps %xmm2, %xmm15 + movaps %xmm3, %xmm14 + mulpd %xmm2, %xmm15 -/* - * b) Calculate 2 polynomials: - * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); - * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); - * Assume P0 = 1 - */ - movups _dP3+__svml_dtan_data_internal(%rip), %xmm13 - psllq $63, %xmm6 - mulpd %xmm15, %xmm13 - movups _dQ3+__svml_dtan_data_internal(%rip), %xmm12 - pxor %xmm4, %xmm6 - addpd _dP2+__svml_dtan_data_internal(%rip), %xmm13 - mulpd %xmm15, %xmm12 - mulpd %xmm15, %xmm13 - addpd _dQ2+__svml_dtan_data_internal(%rip), %xmm12 - addpd _dP1+__svml_dtan_data_internal(%rip), %xmm13 - mulpd %xmm15, %xmm12 - mulpd %xmm15, %xmm13 - addpd _dQ1+__svml_dtan_data_internal(%rip), %xmm12 - mulpd %xmm2, %xmm13 - mulpd %xmm12, %xmm15 - addpd %xmm13, %xmm2 - addpd _dQ0+__svml_dtan_data_internal(%rip), %xmm15 - andnps %xmm2, %xmm0 - andps %xmm15, %xmm14 - andps %xmm3, %xmm2 - andnps %xmm15, %xmm3 - orps %xmm14, %xmm0 - orps %xmm3, %xmm2 + /* + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); + * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); + * Assume P0 = 1 + */ + movups _dP3+__svml_dtan_data_internal(%rip), %xmm13 + psllq $63, %xmm6 + mulpd %xmm15, %xmm13 + movups _dQ3+__svml_dtan_data_internal(%rip), %xmm12 + pxor %xmm4, %xmm6 + addpd _dP2+__svml_dtan_data_internal(%rip), %xmm13 + mulpd %xmm15, %xmm12 + mulpd %xmm15, %xmm13 + addpd _dQ2+__svml_dtan_data_internal(%rip), %xmm12 + addpd _dP1+__svml_dtan_data_internal(%rip), %xmm13 + mulpd %xmm15, %xmm12 + mulpd %xmm15, %xmm13 + addpd _dQ1+__svml_dtan_data_internal(%rip), %xmm12 + mulpd %xmm2, %xmm13 + mulpd %xmm12, %xmm15 + addpd %xmm13, %xmm2 + addpd _dQ0+__svml_dtan_data_internal(%rip), %xmm15 + andnps %xmm2, %xmm0 + andps %xmm15, %xmm14 + andps %xmm3, %xmm2 + andnps %xmm15, %xmm3 + orps %xmm14, %xmm0 + orps %xmm3, %xmm2 -/* d) Divide R = P / Q; */ - divpd %xmm2, %xmm0 + /* d) Divide R = P / Q; */ + divpd %xmm2, %xmm0 -/* Large values check */ - movaps %xmm5, %xmm4 + /* Large values check */ + movaps %xmm5, %xmm4 -/* - * 3) Destination sign setting - * a) Set shifted destination sign using XOR operation: - * R = XOR( R, S ); - */ - pxor %xmm6, %xmm0 - cmpnlepd _dReductionRangeVal+__svml_dtan_data_internal(%rip), %xmm4 - movmskpd %xmm4, %edx - testl %edx, %edx + /* + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + */ + pxor %xmm6, %xmm0 + cmpnlepd _dReductionRangeVal+__svml_dtan_data_internal(%rip), %xmm4 + movmskpd %xmm4, %edx + testl %edx, %edx -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 xmm4 xmm5 + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 xmm4 xmm5 -/* Return from auxilary branch - * for out of main path inputs - */ + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): - testl %eax, %eax + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm1, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 + movups %xmm1, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 - xorl %edx, %edx - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %edx, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %eax, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d + xorl %edx, %edx + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %edx, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %eax, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 48(%rsp), %xmm0 -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call tan@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call tan@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx rbp r15 r12d r13d -/* Auxilary branch - * for out of main path inputs - */ + /* Auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH): - movdqu .FLT_17(%rip), %xmm3 + movdqu .FLT_17(%rip), %xmm3 -/* - * Get the (2^a / 2pi) mod 1 values from the table. - * Because doesn't have L-type gather, we need a trivial cast - */ - lea __svml_dtan_reduction_data_internal(%rip), %r8 - pand %xmm1, %xmm3 - psrlq $52, %xmm3 + /* + * Get the (2^a / 2pi) mod 1 values from the table. + * Because doesn't have L-type gather, we need a trivial cast + */ + lea __svml_dtan_reduction_data_internal(%rip), %r8 + pand %xmm1, %xmm3 + psrlq $52, %xmm3 -/* - * Also get the significand as an integer - * NB: adding in the integer bit is wrong for denorms! - * To make this work for denorms we should do something slightly different - */ - movdqu .FLT_18(%rip), %xmm2 - movd %xmm3, %edx - pand %xmm1, %xmm2 - paddq .FLT_19(%rip), %xmm2 - pextrw $4, %xmm3, %esi - movups _dRangeVal+__svml_dtan_data_internal(%rip), %xmm10 - lea (%rdx,%rdx,2), %ecx - shll $3, %ecx - lea (%rsi,%rsi,2), %edi - shll $3, %edi - movdqa %xmm2, %xmm6 - movq 16(%rcx,%r8), %xmm8 - andps %xmm10, %xmm5 - movhpd 16(%rdi,%r8), %xmm8 - psrlq $32, %xmm6 - movups %xmm0, 16(%rsp) - movaps %xmm8, %xmm0 + /* + * Also get the significand as an integer + * NB: adding in the integer bit is wrong for denorms! + * To make this work for denorms we should do something slightly different + */ + movdqu .FLT_18(%rip), %xmm2 + movd %xmm3, %edx + pand %xmm1, %xmm2 + paddq .FLT_19(%rip), %xmm2 + pextrw $4, %xmm3, %esi + movups _dRangeVal+__svml_dtan_data_internal(%rip), %xmm10 + lea (%rdx, %rdx, 2), %ecx + shll $3, %ecx + lea (%rsi, %rsi, 2), %edi + shll $3, %edi + movdqa %xmm2, %xmm6 + movq 16(%rcx, %r8), %xmm8 + andps %xmm10, %xmm5 + movhpd 16(%rdi, %r8), %xmm8 + psrlq $32, %xmm6 + movups %xmm0, 16(%rsp) + movaps %xmm8, %xmm0 -/* - * Break the P_xxx and m into 32-bit chunks ready for - * the long multiplication via 32x32->64 multiplications - */ - movdqu .FLT_20(%rip), %xmm15 - psrlq $32, %xmm0 - movq 8(%rcx,%r8), %xmm13 - pand %xmm15, %xmm2 - cmpeqpd %xmm10, %xmm5 - movdqa %xmm6, %xmm10 - movdqa %xmm2, %xmm11 - movhpd 8(%rdi,%r8), %xmm13 - pand %xmm15, %xmm8 - pmuludq %xmm0, %xmm10 - movaps %xmm13, %xmm14 - pmuludq %xmm2, %xmm0 - pmuludq %xmm6, %xmm8 - movmskpd %xmm5, %eax - pand %xmm15, %xmm13 - psrlq $32, %xmm0 - pmuludq %xmm13, %xmm11 - psrlq $32, %xmm14 - pmuludq %xmm6, %xmm13 - paddq %xmm0, %xmm10 - movdqa %xmm2, %xmm12 - movdqa %xmm15, %xmm3 - pmuludq %xmm14, %xmm12 - pand %xmm11, %xmm3 - pmuludq %xmm6, %xmm14 - paddq %xmm10, %xmm3 - movq (%rcx,%r8), %xmm7 - movdqa %xmm15, %xmm9 - movhpd (%rdi,%r8), %xmm7 - psrlq $32, %xmm8 - psrlq $32, %xmm11 - pand %xmm7, %xmm9 - movdqa %xmm2, %xmm5 - movdqa %xmm15, %xmm10 - paddq %xmm3, %xmm8 - paddq %xmm11, %xmm13 - pmuludq %xmm9, %xmm5 + /* + * Break the P_xxx and m into 32-bit chunks ready for + * the long multiplication via 32x32->64 multiplications + */ + movdqu .FLT_20(%rip), %xmm15 + psrlq $32, %xmm0 + movq 8(%rcx, %r8), %xmm13 + pand %xmm15, %xmm2 + cmpeqpd %xmm10, %xmm5 + movdqa %xmm6, %xmm10 + movdqa %xmm2, %xmm11 + movhpd 8(%rdi, %r8), %xmm13 + pand %xmm15, %xmm8 + pmuludq %xmm0, %xmm10 + movaps %xmm13, %xmm14 + pmuludq %xmm2, %xmm0 + pmuludq %xmm6, %xmm8 + movmskpd %xmm5, %eax + pand %xmm15, %xmm13 + psrlq $32, %xmm0 + pmuludq %xmm13, %xmm11 + psrlq $32, %xmm14 + pmuludq %xmm6, %xmm13 + paddq %xmm0, %xmm10 + movdqa %xmm2, %xmm12 + movdqa %xmm15, %xmm3 + pmuludq %xmm14, %xmm12 + pand %xmm11, %xmm3 + pmuludq %xmm6, %xmm14 + paddq %xmm10, %xmm3 + movq (%rcx, %r8), %xmm7 + movdqa %xmm15, %xmm9 + movhpd (%rdi, %r8), %xmm7 + psrlq $32, %xmm8 + psrlq $32, %xmm11 + pand %xmm7, %xmm9 + movdqa %xmm2, %xmm5 + movdqa %xmm15, %xmm10 + paddq %xmm3, %xmm8 + paddq %xmm11, %xmm13 + pmuludq %xmm9, %xmm5 -/* Now do the big multiplication and carry propagation */ - pmuludq %xmm9, %xmm6 - pand %xmm12, %xmm10 - movaps %xmm8, %xmm0 - paddq %xmm13, %xmm10 - psrlq $32, %xmm0 - psrlq $32, %xmm12 - psrlq $32, %xmm7 - movdqa %xmm15, %xmm11 - paddq %xmm10, %xmm0 - paddq %xmm12, %xmm14 - pmuludq %xmm7, %xmm2 - pand %xmm5, %xmm11 - movdqa %xmm0, %xmm13 - paddq %xmm14, %xmm11 - psrlq $32, %xmm13 - psrlq $32, %xmm5 - paddq %xmm11, %xmm13 - paddq %xmm5, %xmm6 - pand %xmm15, %xmm2 - movdqa %xmm13, %xmm3 - paddq %xmm6, %xmm2 - psrlq $32, %xmm3 - pand %xmm15, %xmm13 - paddq %xmm2, %xmm3 - psllq $32, %xmm3 + /* Now do the big multiplication and carry propagation */ + pmuludq %xmm9, %xmm6 + pand %xmm12, %xmm10 + movaps %xmm8, %xmm0 + paddq %xmm13, %xmm10 + psrlq $32, %xmm0 + psrlq $32, %xmm12 + psrlq $32, %xmm7 + movdqa %xmm15, %xmm11 + paddq %xmm10, %xmm0 + paddq %xmm12, %xmm14 + pmuludq %xmm7, %xmm2 + pand %xmm5, %xmm11 + movdqa %xmm0, %xmm13 + paddq %xmm14, %xmm11 + psrlq $32, %xmm13 + psrlq $32, %xmm5 + paddq %xmm11, %xmm13 + paddq %xmm5, %xmm6 + pand %xmm15, %xmm2 + movdqa %xmm13, %xmm3 + paddq %xmm6, %xmm2 + psrlq $32, %xmm3 + pand %xmm15, %xmm13 + paddq %xmm2, %xmm3 + psllq $32, %xmm3 -/* Assemble reduced argument from the pieces */ - pand %xmm15, %xmm8 - paddq %xmm13, %xmm3 + /* Assemble reduced argument from the pieces */ + pand %xmm15, %xmm8 + paddq %xmm13, %xmm3 -/* - * We want to incorporate the original sign now too. - * Do it here for convenience in getting the right N value, - * though we could wait right to the end if we were prepared - * to modify the sign of N later too. - * So get the appropriate sign mask now (or sooner). - */ - movdqu .FLT_21(%rip), %xmm9 - movdqa %xmm3, %xmm5 + /* + * We want to incorporate the original sign now too. + * Do it here for convenience in getting the right N value, + * though we could wait right to the end if we were prepared + * to modify the sign of N later too. + * So get the appropriate sign mask now (or sooner). + */ + movdqu .FLT_21(%rip), %xmm9 + movdqa %xmm3, %xmm5 -/* - * Create floating-point high part, implicitly adding integer bit 1 - * Incorporate overall sign at this stage too. - */ - movdqu .FLT_22(%rip), %xmm15 - pand %xmm1, %xmm9 + /* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + movdqu .FLT_22(%rip), %xmm15 + pand %xmm1, %xmm9 -/* - * Now round at the 2^-9 bit position for reduction mod pi/2^8 - * instead of the original 2pi (but still with the same 2pi scaling). - * Use a shifter of 2^43 + 2^42. - * The N we get is our final version; it has an offset of - * 2^9 because of the implicit integer bit, and anyway for negative - * starting value it's a 2s complement thing. But we need to mask - * off the exponent part anyway so it's fine. - */ - movups .FLT_23(%rip), %xmm12 - psrlq $12, %xmm5 - pxor %xmm9, %xmm15 - movaps %xmm12, %xmm10 - por %xmm15, %xmm5 - psllq $32, %xmm0 - addpd %xmm5, %xmm10 - paddq %xmm8, %xmm0 - movaps %xmm10, %xmm14 + /* + * Now round at the 2^-9 bit position for reduction mod pi/2^8 + * instead of the original 2pi (but still with the same 2pi scaling). + * Use a shifter of 2^43 + 2^42. + * The N we get is our final version; it has an offset of + * 2^9 because of the implicit integer bit, and anyway for negative + * starting value it's a 2s complement thing. But we need to mask + * off the exponent part anyway so it's fine. + */ + movups .FLT_23(%rip), %xmm12 + psrlq $12, %xmm5 + pxor %xmm9, %xmm15 + movaps %xmm12, %xmm10 + por %xmm15, %xmm5 + psllq $32, %xmm0 + addpd %xmm5, %xmm10 + paddq %xmm8, %xmm0 + movaps %xmm10, %xmm14 -/* Load constants (not all needed at once) */ - lea _dCoeffs+96+__svml_dtan_data_internal(%rip), %rdx - movdqu .FLT_27(%rip), %xmm6 - movdqu .FLT_25(%rip), %xmm7 - pand %xmm3, %xmm6 + /* Load constants (not all needed at once) */ + lea _dCoeffs+96+__svml_dtan_data_internal(%rip), %rdx + movdqu .FLT_27(%rip), %xmm6 + movdqu .FLT_25(%rip), %xmm7 + pand %xmm3, %xmm6 -/* - * Create floating-point low and medium parts, respectively - * lo_23, ... lo_0, 0, ..., 0 - * hi_11, ... hi_0, lo_63, ..., lo_24 - * then subtract off the implicitly added integer bits, - * 2^-104 and 2^-52, respectively. - * Put the original sign into all of them at this stage. - */ - movdqu .FLT_24(%rip), %xmm8 - pand %xmm0, %xmm7 - subpd %xmm12, %xmm14 - psllq $40, %xmm6 - psrlq $24, %xmm0 - pxor %xmm9, %xmm8 - por %xmm0, %xmm6 - pxor .FLT_26(%rip), %xmm9 - psllq $28, %xmm7 - subpd %xmm14, %xmm5 - por %xmm9, %xmm6 + /* + * Create floating-point low and medium parts, respectively + * lo_23, ... lo_0, 0, ..., 0 + * hi_11, ... hi_0, lo_63, ..., lo_24 + * then subtract off the implicitly added integer bits, + * 2^-104 and 2^-52, respectively. + * Put the original sign into all of them at this stage. + */ + movdqu .FLT_24(%rip), %xmm8 + pand %xmm0, %xmm7 + subpd %xmm12, %xmm14 + psllq $40, %xmm6 + psrlq $24, %xmm0 + pxor %xmm9, %xmm8 + por %xmm0, %xmm6 + pxor .FLT_26(%rip), %xmm9 + psllq $28, %xmm7 + subpd %xmm14, %xmm5 + por %xmm9, %xmm6 -/* Now add them up into 2 reasonably aligned pieces */ - movaps %xmm5, %xmm11 - subpd %xmm9, %xmm6 - addpd %xmm6, %xmm11 - subpd %xmm11, %xmm5 - por %xmm8, %xmm7 - subpd %xmm8, %xmm7 - addpd %xmm5, %xmm6 + /* Now add them up into 2 reasonably aligned pieces */ + movaps %xmm5, %xmm11 + subpd %xmm9, %xmm6 + addpd %xmm6, %xmm11 + subpd %xmm11, %xmm5 + por %xmm8, %xmm7 + subpd %xmm8, %xmm7 + addpd %xmm5, %xmm6 -/* Split RHi into 26-bit leading part and 27-bit trailing part */ - movups .FLT_31(%rip), %xmm2 - movaps %xmm2, %xmm15 - andps %xmm11, %xmm15 - addpd %xmm6, %xmm7 - subpd %xmm15, %xmm11 - mulpd .FLT_28(%rip), %xmm7 + /* Split RHi into 26-bit leading part and 27-bit trailing part */ + movups .FLT_31(%rip), %xmm2 + movaps %xmm2, %xmm15 + andps %xmm11, %xmm15 + addpd %xmm6, %xmm7 + subpd %xmm15, %xmm11 + mulpd .FLT_28(%rip), %xmm7 -/* - * Now multiply those numbers all by 2 pi, reasonably accurately. - * The top part uses 2pi = d2pi_lead + d2pi_trail, where - * d2pi_lead has 27 significant bits. - */ - movups .FLT_29(%rip), %xmm0 - movups .FLT_30(%rip), %xmm3 + /* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * The top part uses 2pi = d2pi_lead + d2pi_trail, where + * d2pi_lead has 27 significant bits. + */ + movups .FLT_29(%rip), %xmm0 + movups .FLT_30(%rip), %xmm3 -/* - * Do the multiplication as exact top part and "naive" low part. - * This still maintains almost 30 bits of offset and doesn't drop - * the accuracy much below what we already have. - */ - movaps %xmm0, %xmm12 - mulpd %xmm15, %xmm12 - mulpd %xmm11, %xmm0 - mulpd %xmm3, %xmm15 - mulpd %xmm11, %xmm3 - addpd %xmm15, %xmm0 - addpd %xmm3, %xmm7 - addpd %xmm7, %xmm0 + /* + * Do the multiplication as exact top part and "naive" low part. + * This still maintains almost 30 bits of offset and doesn't drop + * the accuracy much below what we already have. + */ + movaps %xmm0, %xmm12 + mulpd %xmm15, %xmm12 + mulpd %xmm11, %xmm0 + mulpd %xmm3, %xmm15 + mulpd %xmm11, %xmm3 + addpd %xmm15, %xmm0 + addpd %xmm3, %xmm7 + addpd %xmm7, %xmm0 -/* - * Do another stage of compensated summation to get full offset - * between the pieces dRedHi + dRedLo. - * Depending on the later algorithm, we might avoid this stage. - */ - movaps %xmm0, %xmm13 - addpd %xmm12, %xmm13 - subpd %xmm13, %xmm12 + /* + * Do another stage of compensated summation to get full offset + * between the pieces dRedHi + dRedLo. + * Depending on the later algorithm, we might avoid this stage. + */ + movaps %xmm0, %xmm13 + addpd %xmm12, %xmm13 + subpd %xmm13, %xmm12 -/* - * If the magnitude of the input is <= 2^-20, then - * just pass through the input, since no reduction will be needed and - * the main path will only work accurately if the reduced argument is - * about >= 2^-70 (which it is for all large pi multiples) - */ - movups .FLT_33(%rip), %xmm7 - movups .FLT_32(%rip), %xmm3 - movaps %xmm7, %xmm14 - andps %xmm1, %xmm3 - cmpltpd %xmm3, %xmm14 - cmplepd %xmm7, %xmm3 - addpd %xmm12, %xmm0 + /* + * If the magnitude of the input is <= 2^-20, then + * just pass through the input, since no reduction will be needed and + * the main path will only work accurately if the reduced argument is + * about >= 2^-70 (which it is for all large pi multiples) + */ + movups .FLT_33(%rip), %xmm7 + movups .FLT_32(%rip), %xmm3 + movaps %xmm7, %xmm14 + andps %xmm1, %xmm3 + cmpltpd %xmm3, %xmm14 + cmplepd %xmm7, %xmm3 + addpd %xmm12, %xmm0 -/* Grab our final N value as an integer, appropriately masked mod 2^9 */ - pand .FLT_34(%rip), %xmm10 - andps %xmm1, %xmm3 + /* Grab our final N value as an integer, appropriately masked mod 2^9 */ + pand .FLT_34(%rip), %xmm10 + andps %xmm1, %xmm3 -/* - * Argument reduction is now finished: x = n * pi/256 + r - * where n = lIndex and r = dZ - * But we have n modulo 512, needed for sin/cos with period 2pi - * but we want it modulo 256 since tan has period pi. - */ - pand .FLT_35(%rip), %xmm10 - andps %xmm14, %xmm13 - movd %xmm10, %r9d - orps %xmm13, %xmm3 - andps %xmm0, %xmm14 - movups %xmm1, (%rsp) - pextrw $4, %xmm10, %r11d - imull $104, %r9d, %r10d + /* + * Argument reduction is now finished: x = n * pi/256 + r + * where n = lIndex and r = dZ + * But we have n modulo 512, needed for sin/cos with period 2pi + * but we want it modulo 256 since tan has period pi. + */ + pand .FLT_35(%rip), %xmm10 + andps %xmm14, %xmm13 + movd %xmm10, %r9d + orps %xmm13, %xmm3 + andps %xmm0, %xmm14 + movups %xmm1, (%rsp) + pextrw $4, %xmm10, %r11d + imull $104, %r9d, %r10d -/* - * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND - * Simply absorb E into Z instead of keeping a 2-part result. - */ - addpd %xmm14, %xmm3 - imull $104, %r11d, %r11d - movq -96(%r10,%rdx), %xmm1 - movhpd -96(%r11,%rdx), %xmm1 + /* + * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND + * Simply absorb E into Z instead of keeping a 2-part result. + */ + addpd %xmm14, %xmm3 + imull $104, %r11d, %r11d + movq -96(%r10, %rdx), %xmm1 + movhpd -96(%r11, %rdx), %xmm1 -/* - * Compute reciprocal component - * Construct a separate reduced argument modulo pi near pi/2 multiples. - * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument - * from an accurate B_hi = (128 - n) pi/256. - */ - subpd %xmm3, %xmm1 + /* + * Compute reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi = (128 - n) pi/256. + */ + subpd %xmm3, %xmm1 -/* Now compute an approximate reciprocal to mix into the computation. */ - cvtpd2ps %xmm1, %xmm5 - movlhps %xmm5, %xmm5 + /* Now compute an approximate reciprocal to mix into the computation. */ + cvtpd2ps %xmm1, %xmm5 + movlhps %xmm5, %xmm5 -/* - * Now compute the error dEr where dRecip_hi = (1/R_full) * (1 - dEr) - * so that we can compensate for it. - */ - andps %xmm1, %xmm2 - rcpps %xmm5, %xmm6 - subpd %xmm2, %xmm1 - cvtps2pd %xmm6, %xmm6 - mulpd %xmm6, %xmm2 - mulpd %xmm6, %xmm1 - movups .FLT_36(%rip), %xmm5 - subpd %xmm2, %xmm5 - subpd %xmm1, %xmm5 + /* + * Now compute the error dEr where dRecip_hi = (1/R_full) * (1 - dEr) + * so that we can compensate for it. + */ + andps %xmm1, %xmm2 + rcpps %xmm5, %xmm6 + subpd %xmm2, %xmm1 + cvtps2pd %xmm6, %xmm6 + mulpd %xmm6, %xmm2 + mulpd %xmm6, %xmm1 + movups .FLT_36(%rip), %xmm5 + subpd %xmm2, %xmm5 + subpd %xmm1, %xmm5 -/* - * Get a working-precision reciprocal 1/dR_full - * using a fourth-order polynomial approximation - * R + (E*R) * (1 + E) * (1 + E^2) - */ - movaps %xmm5, %xmm1 + /* + * Get a working-precision reciprocal 1/dR_full + * using a fourth-order polynomial approximation + * R + (E*R) * (1 + E) * (1 + E^2) + */ + movaps %xmm5, %xmm1 -/* - * Higher polynomial terms - * Stage 1 (with unlimited parallelism) - * Z2 = Z^2 - */ - movaps %xmm3, %xmm2 - mulpd %xmm5, %xmm1 - mulpd %xmm3, %xmm2 - addpd %xmm1, %xmm5 - mulpd %xmm6, %xmm1 - addpd %xmm6, %xmm1 - movq -24(%r10,%rdx), %xmm13 - movq -8(%r10,%rdx), %xmm12 - movhpd -24(%r11,%rdx), %xmm13 - movhpd -8(%r11,%rdx), %xmm12 + /* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * Z2 = Z^2 + */ + movaps %xmm3, %xmm2 + mulpd %xmm5, %xmm1 + mulpd %xmm3, %xmm2 + addpd %xmm1, %xmm5 + mulpd %xmm6, %xmm1 + addpd %xmm6, %xmm1 + movq -24(%r10, %rdx), %xmm13 + movq -8(%r10, %rdx), %xmm12 + movhpd -24(%r11, %rdx), %xmm13 + movhpd -8(%r11, %rdx), %xmm12 -/* P5 = C3 + C4 * Z */ - mulpd %xmm3, %xmm13 + /* P5 = C3 + C4 * Z */ + mulpd %xmm3, %xmm13 -/* P6 = C5 + C6 * Z */ - mulpd %xmm3, %xmm12 - mulpd %xmm1, %xmm5 - movq (%r10,%rdx), %xmm15 - movhpd (%r11,%rdx), %xmm15 + /* P6 = C5 + C6 * Z */ + mulpd %xmm3, %xmm12 + mulpd %xmm1, %xmm5 + movq (%r10, %rdx), %xmm15 + movhpd (%r11, %rdx), %xmm15 -/* P9 = C5 + C6 * Z + C7 * Z^2 */ - mulpd %xmm2, %xmm15 - addpd %xmm5, %xmm6 - movq -40(%r10,%rdx), %xmm14 + /* P9 = C5 + C6 * Z + C7 * Z^2 */ + mulpd %xmm2, %xmm15 + addpd %xmm5, %xmm6 + movq -40(%r10, %rdx), %xmm14 -/* - * Stage 2 (with unlimited parallelism) - * Z4 = Z^4 - */ - movaps %xmm2, %xmm5 - movq -32(%r10,%rdx), %xmm10 - movq -16(%r10,%rdx), %xmm11 - movhpd -40(%r11,%rdx), %xmm14 - movhpd -32(%r11,%rdx), %xmm10 - movhpd -16(%r11,%rdx), %xmm11 + /* + * Stage 2 (with unlimited parallelism) + * Z4 = Z^4 + */ + movaps %xmm2, %xmm5 + movq -32(%r10, %rdx), %xmm10 + movq -16(%r10, %rdx), %xmm11 + movhpd -40(%r11, %rdx), %xmm14 + movhpd -32(%r11, %rdx), %xmm10 + movhpd -16(%r11, %rdx), %xmm11 -/* P4 = C1_lo + C2 * Z */ - mulpd %xmm3, %xmm14 - addpd %xmm13, %xmm10 - addpd %xmm12, %xmm11 - mulpd %xmm2, %xmm5 + /* P4 = C1_lo + C2 * Z */ + mulpd %xmm3, %xmm14 + addpd %xmm13, %xmm10 + addpd %xmm12, %xmm11 + mulpd %xmm2, %xmm5 -/* P10 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 */ - mulpd %xmm10, %xmm2 - addpd %xmm15, %xmm11 - movq -48(%r10,%rdx), %xmm0 - movhpd -48(%r11,%rdx), %xmm0 - addpd %xmm14, %xmm0 + /* P10 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 */ + mulpd %xmm10, %xmm2 + addpd %xmm15, %xmm11 + movq -48(%r10, %rdx), %xmm0 + movhpd -48(%r11, %rdx), %xmm0 + addpd %xmm14, %xmm0 -/* - * Stage 3 (with unlimited parallelism) - * P12 = C1_lo + C2 * Z + ... + C7 * Z^6 - */ - mulpd %xmm11, %xmm5 - addpd %xmm2, %xmm0 - movq -56(%r10,%rdx), %xmm8 - movhpd -56(%r11,%rdx), %xmm8 + /* + * Stage 3 (with unlimited parallelism) + * P12 = C1_lo + C2 * Z + ... + C7 * Z^6 + */ + mulpd %xmm11, %xmm5 + addpd %xmm2, %xmm0 + movq -56(%r10, %rdx), %xmm8 + movhpd -56(%r11, %rdx), %xmm8 -/* - * Sum of dominant component(s) - * Compute C0_hi + C1_hi * Z + Recip_hi = H4 - * H2 = C0_hi + C1_hi * Z (exact since C1_hi is 1 bit) - */ - mulpd %xmm3, %xmm8 - addpd %xmm5, %xmm0 - movq -80(%r10,%rdx), %xmm9 - movhpd -80(%r11,%rdx), %xmm9 + /* + * Sum of dominant component(s) + * Compute C0_hi + C1_hi * Z + Recip_hi = H4 + * H2 = C0_hi + C1_hi * Z (exact since C1_hi is 1 bit) + */ + mulpd %xmm3, %xmm8 + addpd %xmm5, %xmm0 + movq -80(%r10, %rdx), %xmm9 + movhpd -80(%r11, %rdx), %xmm9 -/* - * dRecip_hi is only used when dTau is one (cotangent path) - * H4 = C0_hi + C1_hi * Z + Recip_hi - */ - mulpd %xmm6, %xmm9 + /* + * dRecip_hi is only used when dTau is one (cotangent path) + * H4 = C0_hi + C1_hi * Z + Recip_hi + */ + mulpd %xmm6, %xmm9 -/* And now the very final summation */ - mulpd %xmm0, %xmm3 - movq -72(%r10,%rdx), %xmm7 + /* And now the very final summation */ + mulpd %xmm0, %xmm3 + movq -72(%r10, %rdx), %xmm7 -/* - * - * End of large arguments path - * - * Merge results from main and large paths: - */ - movaps %xmm4, %xmm0 - movhpd -72(%r11,%rdx), %xmm7 - addpd %xmm8, %xmm7 - addpd %xmm9, %xmm7 - addpd %xmm3, %xmm7 - andnps 16(%rsp), %xmm0 - andps %xmm4, %xmm7 - movups (%rsp), %xmm1 - orps %xmm7, %xmm0 + /* + * + * End of large arguments path + * + * Merge results from main and large paths: + */ + movaps %xmm4, %xmm0 + movhpd -72(%r11, %rdx), %xmm7 + addpd %xmm8, %xmm7 + addpd %xmm9, %xmm7 + addpd %xmm3, %xmm7 + andnps 16(%rsp), %xmm0 + andps %xmm4, %xmm7 + movups (%rsp), %xmm1 + orps %xmm7, %xmm0 -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm1 END(_ZGVbN2v_tan_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dtan_data_internal_typedef typedef unsigned int VUINT32; - typedef struct - { - __declspec(align(16)) VUINT32 _dAbsMask[2][2]; - __declspec(align(16)) VUINT32 _dRangeVal[2][2]; - __declspec(align(16)) VUINT32 _dRShift[2][2]; - __declspec(align(16)) VUINT32 _dCoeffs[256][13][2]; - __declspec(align(16)) VUINT32 _dReductionRangeVal[2][2]; - __declspec(align(16)) VUINT32 _dInvPi[2][2]; - __declspec(align(16)) VUINT32 _dPI1[2][2]; - __declspec(align(16)) VUINT32 _dPI2[2][2]; - __declspec(align(16)) VUINT32 _dPI3[2][2]; - __declspec(align(16)) VUINT32 _dP1[2][2]; - __declspec(align(16)) VUINT32 _dP2[2][2]; - __declspec(align(16)) VUINT32 _dP3[2][2]; - __declspec(align(16)) VUINT32 _dQ0[2][2]; - __declspec(align(16)) VUINT32 _dQ1[2][2]; - __declspec(align(16)) VUINT32 _dQ2[2][2]; - __declspec(align(16)) VUINT32 _dQ3[2][2]; - } __svml_dtan_data_internal; +typedef struct { + __declspec(align(16)) VUINT32 _dAbsMask[2][2]; + __declspec(align(16)) VUINT32 _dRangeVal[2][2]; + __declspec(align(16)) VUINT32 _dRShift[2][2]; + __declspec(align(16)) VUINT32 _dCoeffs[256][13][2]; + __declspec(align(16)) VUINT32 _dReductionRangeVal[2][2]; + __declspec(align(16)) VUINT32 _dInvPi[2][2]; + __declspec(align(16)) VUINT32 _dPI1[2][2]; + __declspec(align(16)) VUINT32 _dPI2[2][2]; + __declspec(align(16)) VUINT32 _dPI3[2][2]; + __declspec(align(16)) VUINT32 _dP1[2][2]; + __declspec(align(16)) VUINT32 _dP2[2][2]; + __declspec(align(16)) VUINT32 _dP3[2][2]; + __declspec(align(16)) VUINT32 _dQ0[2][2]; + __declspec(align(16)) VUINT32 _dQ1[2][2]; + __declspec(align(16)) VUINT32 _dQ2[2][2]; + __declspec(align(16)) VUINT32 _dQ3[2][2]; +} __svml_dtan_data_internal; #endif __svml_dtan_data_internal: - /* Shared value*/ - .quad 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF /* _dAbsMask */ - .align 16 - .quad 0x7FF0000000000000, 0x7FF0000000000000 /* _dRangeVal */ - .align 16 - .quad 0x4338000000000000, 0x4338000000000000 /* _dRShift */ - // _dCoeffs Breakpoint B = 0 * pi/256, function tan(B + x) - .align 16 - .quad 0x3FF921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C91A62633145C07 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x0000000000000000 // c0 (high double) - .quad 0x0000000000000000 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x0000000000000000 // c1 (low double) - .quad 0x0000000000000000 // c2 - .quad 0x3FD5555555555559 // c3 - .quad 0x0000000000000000 // c4 - .quad 0x3FC1111110FE825D // c5 - .quad 0x0000000000000000 // c6 - .quad 0x3FABA1EEC0271523 // c7 - .quad 0x3FF8EFB75D9BA4BE // B' = pi/2 - B (high double) - .quad 0x3C760B679AB8CD3B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3F89224E047E368E // c0 (high double) - .quad 0xBC1A268EB2C67108 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F23BDBEAD8CF800 // c1 (low double) - .quad 0x3F8923461AE96D62 // c2 - .quad 0x3FD5589FB822D5EE // c3 - .quad 0x3F80C326DCDCFCD0 // c4 - .quad 0x3FC116A999125B7F // c5 - .quad 0x3F7300CC26596ADA // c6 - .quad 0x3FAB7B6F1DE289A8 // c7 - .quad 0x3FF8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0xBC7A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3F992346247A91F0 // c0 (high double) - .quad 0xBBF126D920C15240 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F43BF447B091000 // c1 (low double) - .quad 0x3F992726F0F98D7F // c2 - .quad 0x3FD5628108EFA55C // c3 - .quad 0x3F90C8A60639C114 // c4 - .quad 0x3FC127789EC0BD38 // c5 - .quad 0x3F830BA6F46C58B7 // c6 - .quad 0x3FABBEE2C1E62B81 // c7 - .quad 0x3FF88B2F704A940A // B' = pi/2 - B (high double) - .quad 0xBC92C3BEB21E1E21 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FA2DBAAE9A05DB0 // c0 (high double) - .quad 0xBC4371F88E84877C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F563A086B860B00 // c1 (low double) - .quad 0x3FA2E23785EEB488 // c2 - .quad 0x3FD572FFC353B741 // c3 - .quad 0x3F993ABD2276BF6A // c4 - .quad 0x3FC1439260886581 // c5 - .quad 0x3F8CAC359DCF5E16 // c6 - .quad 0x3FAB56F9A068D4C5 // c7 - .quad 0x3FF858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0xBC9EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FA927278A3B1162 // c0 (high double) - .quad 0x3BFB01BD7A51D5C0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F63C55DB08E1680 // c1 (low double) - .quad 0x3FA936B1EC652161 // c2 - .quad 0x3FD58A26BD6CCCCD // c3 - .quad 0x3FA0DEB5445B4098 // c4 - .quad 0x3FC16B146127E154 // c5 - .quad 0x3F9336A98365D094 // c6 - .quad 0x3FAC19302EB1C4A9 // c7 - .quad 0x3FF826A782F98355 // B' = pi/2 - B (high double) - .quad 0x3C94F5A8B515906F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FAF7495EA3F3783 // c0 (high double) - .quad 0xBC407F10D50F4C0A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F6EEB8B377B1A00 // c1 (low double) - .quad 0x3FAF92FABFD0B7B3 // c2 - .quad 0x3FD5A805341437FF // c3 - .quad 0x3FA52B295E2DCF92 // c4 - .quad 0x3FC19E2C59B8C033 // c5 - .quad 0x3F982CF88466EFEC // c6 - .quad 0x3FAD27509D6C3FEA // c7 - .quad 0x3FF7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0x3C81A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FB2E239CCFF3831 // c0 (high double) - .quad 0x3C5879ED3FF4EEAE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F764980AEEE3740 // c1 (low double) - .quad 0x3FB2FC879C81123C // c2 - .quad 0x3FD5CCAEDC1DC96E // c3 - .quad 0x3FA98599B71D86B1 // c4 - .quad 0x3FC1DD150D55E5CE // c5 - .quad 0x3F9D3EB9450DBD01 // c6 - .quad 0x3FADD6CFBE9AA234 // c7 - .quad 0x3FF7C21F95A872A1 // B' = pi/2 - B (high double) - .quad 0xBC6A877F1DB6080C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FB60B9F7597FDEC // c0 (high double) - .quad 0x3C3D1E3FBF3B4E18 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) - .quad 0x3FB6357984E124B6 // c2 - .quad 0x3FD5F83BF8B56900 // c3 - .quad 0x3FADF0F50CAA06C2 // c4 - .quad 0x3FC2281476904258 // c5 - .quad 0x3FA138F0F640FD68 // c6 - .quad 0x3FAF8D1BCDD8D11F // c7 - .quad 0x3FF78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC8EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FB936BB8C5B2DA2 // c0 (high double) - .quad 0x3C587D23392C2BA2 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F83DDE2A8935DE0 // c1 (low double) - .quad 0x3FB97558DC230BA8 // c2 - .quad 0x3FD62AC976FBC1B8 // c3 - .quad 0x3FB1381EB60159F6 // c4 - .quad 0x3FC27F84438D5029 // c5 - .quad 0x3FA3E63B3A462E45 // c6 - .quad 0x3FAF0AE614B2D473 // c7 - .quad 0x3FF75D97A85761ED // B' = pi/2 - B (high double) - .quad 0xBC9B97887C831272 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FBC63CE377FC802 // c0 (high double) - .quad 0xBC543F7D42DBAC49 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F892FE02A47EFA0 // c1 (low double) - .quad 0x3FBCBD3001C956C5 // c2 - .quad 0x3FD664790F293C47 // c3 - .quad 0x3FB38345DE7C4B0B // c4 - .quad 0x3FC2E3C4C02FFDFB // c5 - .quad 0x3FA6AA7F0C13520B // c6 - .quad 0x3FAFE3C754A9F092 // c7 - .quad 0x3FF72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0x3C98452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FBF93183A8DB9E9 // c0 (high double) - .quad 0xBC4124AC452772E2 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F8F27A3181EE680 // c1 (low double) - .quad 0x3FC00707549D7ECC // c2 - .quad 0x3FD6A5716B500730 // c3 - .quad 0x3FB5DB89BB6B245F // c4 - .quad 0x3FC3554867F59648 // c5 - .quad 0x3FA98919BF6D176A // c6 - .quad 0x3FB1AF9A1823147B // c7 - .quad 0x3FF6F90FBB065138 // B' = pi/2 - B (high double) - .quad 0x3C8843BDD561383D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC1626D85A91E70 // c0 (high double) - .quad 0xBC50084844291CB4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F92E3863C9A69E0 // c1 (low double) - .quad 0x3FC1B4854BB2B147 // c2 - .quad 0x3FD6EDDE5416DFFB // c3 - .quad 0x3FB8429341CCA17A // c4 - .quad 0x3FC3D49AC2C9F46F // c5 - .quad 0x3FAC85843914CF90 // c6 - .quad 0x3FB1B1DC3FA33DDD // c7 - .quad 0x3FF6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0xBBD6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC2FCAC73A60640 // c0 (high double) - .quad 0x3C52CF95F70B55BA // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F96881A43B33590 // c1 (low double) - .quad 0x3FC367A033B52F5E // c2 - .quad 0x3FD73DF0E3CC557A // c3 - .quad 0x3FBABA1CAC4F18CD // c4 - .quad 0x3FC4624C36BE941B // c5 - .quad 0x3FAFA38B2F8876EF // c6 - .quad 0x3FB215B1F404D921 // c7 - .quad 0x3FF69487CDB54084 // B' = pi/2 - B (high double) - .quad 0xBC8849735C376AA4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC4986A74CF4E57 // c0 (high double) - .quad 0x3C69AB0A24392F72 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9A82B60D75F5C0 // c1 (low double) - .quad 0x3FC520EA2BA6A0AE // c2 - .quad 0x3FD795DFBFFEE39E // c3 - .quad 0x3FBD43F3A7862CC7 // c4 - .quad 0x3FC4FF04247D700A // c5 - .quad 0x3FB1739726786F4F // c6 - .quad 0x3FB2FAC67533455B // c7 - .quad 0x3FF66243D70CB82A // B' = pi/2 - B (high double) - .quad 0xBC984805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC635C990CE0D36 // c0 (high double) - .quad 0xBC59DFC0C48C1978 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9ED49F1F8144C0 // c1 (low double) - .quad 0x3FC6E0F98ED00C32 // c2 - .quad 0x3FD7F5E75A2DD66E // c3 - .quad 0x3FBFE1FBA10F6B0E // c4 - .quad 0x3FC5AB7CD1905EB8 // c5 - .quad 0x3FB32A57A4FAE3F9 // c6 - .quad 0x3FB4BA60BA656817 // c7 - .quad 0x3FF62FFFE0642FCF // B' = pi/2 - B (high double) - .quad 0x3C9B94ADB917F93E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC7D4EC54FB5968 // c0 (high double) - .quad 0x3C4FB65648F8ABF4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA1BF9C7C60B940 // c1 (low double) - .quad 0x3FC8A86964A1796B // c2 - .quad 0x3FD85E4A37F23352 // c3 - .quad 0x3FC14B181F5BF6AE // c4 - .quad 0x3FC66888E3A5D3B3 // c5 - .quad 0x3FB4F84D7AC0F5DA // c6 - .quad 0x3FB62BA6F082700C // c7 - .quad 0x3FF5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C8EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC975F5E0553158 // c0 (high double) - .quad 0x3C2EEEA31ABB0A10 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA4420303DEC550 // c1 (low double) - .quad 0x3FCA77D9D62CA610 // c2 - .quad 0x3FD8CF5143323608 // c3 - .quad 0x3FC2B15401455507 // c4 - .quad 0x3FC7370FF0965570 // c5 - .quad 0x3FB6DFEACA56EACB // c6 - .quad 0x3FB6B75DF89DE1EC // c7 - .quad 0x3FF5CB77F3131F1B // B' = pi/2 - B (high double) - .quad 0x3C6A70A9025D3E70 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FCB1909EFD8B762 // c0 (high double) - .quad 0x3C5843049E1321E0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA6F2545C478E00 // c1 (low double) - .quad 0x3FCC4FF0A9D74F70 // c2 - .quad 0x3FD9494C22EF2A54 // c3 - .quad 0x3FC424CB909A6722 // c4 - .quad 0x3FC8180A481D5934 // c5 - .quad 0x3FB8E3D90C36FA83 // c6 - .quad 0x3FB8D27EAFF0DF70 // c7 - .quad 0x3FF59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0xBC81AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FCCBE4CEB4B4CF2 // c0 (high double) - .quad 0x3C64A514F790E428 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA9D1724DE6C940 // c1 (low double) - .quad 0x3FCE3159C5ED3A4E // c2 - .quad 0x3FD9CC919D4271B2 // c3 - .quad 0x3FC5A6A9489AA7F4 // c4 - .quad 0x3FC90C961E2B49F6 // c5 - .quad 0x3FBB06EE7CFA3693 // c6 - .quad 0x3FB9E9447AB1D521 // c7 - .quad 0x3FF566F005C20E67 // B' = pi/2 - B (high double) - .quad 0xBC94F8837880A9A2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FCE65E3F27C9F2A // c0 (high double) - .quad 0x3C6F62A8B8B40082 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FACE04FD3EC1C90 // c1 (low double) - .quad 0x3FD00E63DD639A45 // c2 - .quad 0x3FDA598003751442 // c3 - .quad 0x3FC73829AC409F93 // c4 - .quad 0x3FCA15E3A26F9D65 // c5 - .quad 0x3FBD4C4574E0CB34 // c6 - .quad 0x3FBB9C5881865EC1 // c7 - .quad 0x3FF534AC0F19860C // B' = pi/2 - B (high double) - .quad 0x3C9EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD007FA758626AE // c0 (high double) - .quad 0x3C65A5EB9CA505B6 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB00FF8E583BEBC // c1 (low double) - .quad 0x3FD1097A2AA570F5 // c2 - .quad 0x3FDAF07DA8CAEBA7 // c3 - .quad 0x3FC8DA9D107525AD // c4 - .quad 0x3FCB3545F2ADC1D6 // c5 - .quad 0x3FBFB739DB465891 // c6 - .quad 0x3FBDA2C23752D365 // c7 - .quad 0x3FF502681870FDB2 // B' = pi/2 - B (high double) - .quad 0x3C92C0E3EEB304EE // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD0DE53475F3B3C // c0 (high double) - .quad 0x3C67B2CC0A83B8D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) - .quad 0x3FD20A509D4BB6C1 // c2 - .quad 0x3FDB91F96510DF38 // c3 - .quad 0x3FCA8F698D62832E // c4 - .quad 0x3FCC6C340829132A // c5 - .quad 0x3FC125B6D8F6980A // c6 - .quad 0x3FBE80E8F3AEF448 // c7 - .quad 0x3FF4D02421C87558 // B' = pi/2 - B (high double) - .quad 0x3C7A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD1B6103D3597E9 // c0 (high double) - .quad 0x3C6CBCB5FED7BFB0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB39AFA3392E164 // c1 (low double) - .quad 0x3FD3114C46E2AEF3 // c2 - .quad 0x3FDC3E6B23EF73B5 // c3 - .quad 0x3FCC580D1B42EE7F // c4 - .quad 0x3FCDBC3D6E14D1FF // c5 - .quad 0x3FC28671B66B7EBD // c6 - .quad 0x3FC0BFBCFE643140 // c7 - .quad 0x3FF49DE02B1FECFE // B' = pi/2 - B (high double) - .quad 0xBC7616D2A8653209 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD28F459ECAD74D // c0 (high double) - .quad 0x3C302C86D50F5140 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB5875F92EDBDF4 // c1 (low double) - .quad 0x3FD41ED6D05A0010 // c2 - .quad 0x3FDCF65481FC5BEB // c3 - .quad 0x3FCE361FE028368D // c4 - .quad 0x3FCF2728B941710D // c5 - .quad 0x3FC3FFF67496086B // c6 - .quad 0x3FC1A12109F041C7 // c7 - .quad 0x3FF46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC91A900F67F753A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD36A08355C63DC // c0 (high double) - .quad 0xBC6D7145B6A0EB84 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB78E922B82AB64 // c1 (low double) - .quad 0x3FD5335ED87AB0D5 // c2 - .quad 0x3FDDBA417913D89C // c3 - .quad 0x3FD015AB59BD876B // c4 - .quad 0x3FD0576D1EF5DB86 // c5 - .quad 0x3FC594A6DD2CA170 // c6 - .quad 0x3FC2F51FBC1D0708 // c7 - .quad 0x3FF439583DCEDC4A // B' = pi/2 - B (high double) - .quad 0xBC9DCC4D42E59DF2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD4466D542BAC92 // c0 (high double) - .quad 0xBC705073A04E3471 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB9B14751F8BA20 // c1 (low double) - .quad 0x3FD64F58590170A2 // c2 - .quad 0x3FDE8AC91D15CFCF // c3 - .quad 0x3FD11CC2EF09C664 // c4 - .quad 0x3FD12AB5AB65B965 // c5 - .quad 0x3FC7471C9AC8155B // c6 - .quad 0x3FC4826BA97C3E62 // c7 - .quad 0x3FF40714472653EF // B' = pi/2 - B (high double) - .quad 0x3C96106670B43955 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD5248AE1701B17 // c0 (high double) - .quad 0x3C7BE8CC944DBC57 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBBF04005723CCC // c1 (low double) - .quad 0x3FD7733D1300258A // c2 - .quad 0x3FDF688E6ACC7DF5 // c3 - .quad 0x3FD231520EA793C8 // c4 - .quad 0x3FD20E93C5183A32 // c5 - .quad 0x3FC91A331D55B3EE // c6 - .quad 0x3FC651721E153056 // c7 - .quad 0x3FF3D4D0507DCB95 // B' = pi/2 - B (high double) - .quad 0x3C83DA34489C213B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD604775FBB27DF // c0 (high double) - .quad 0x3C6AC647C9CF38D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBE4C49866D2D78 // c1 (low double) - .quad 0x3FD89F8D033946D5 // c2 - .quad 0x3FE02A20954EE23A // c3 - .quad 0x3FD35466F88C5ABC // c4 - .quad 0x3FD3044BAC5DC8C8 // c5 - .quad 0x3FCB110C3D6FEB5E // c6 - .quad 0x3FC7761A8DBF67E9 // c7 - .quad 0x3FF3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0xBC61B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD6E649F7D78649 // c0 (high double) - .quad 0x3C678D2AC032531A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC0631EFCBE0D16 // c1 (low double) - .quad 0x3FD9D4CEDF38DFCD // c2 - .quad 0x3FE0A74F7488C3A6 // c3 - .quad 0x3FD487249EA3BD6C // c4 - .quad 0x3FD40D3A9BDEFA27 // c5 - .quad 0x3FCD2F1CBD1B58BD // c6 - .quad 0x3FC98CBDCEBDACE8 // c7 - .quad 0x3FF37048632CBAE1 // B' = pi/2 - B (high double) - .quad 0xBC8CB2FCE8FC81A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD7CA1A832D0F84 // c0 (high double) - .quad 0xBC7EE5A71208FD7E // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC1AF828B5ED674 // c1 (low double) - .quad 0x3FDB13909C0269A2 // c2 - .quad 0x3FE12C3A0394B7FA // c3 - .quad 0x3FD5CAC4A421216C // c4 - .quad 0x3FD52AE625505253 // c5 - .quad 0x3FCF7831018A6159 // c6 - .quad 0x3FCB98AB42F54A08 // c7 - .quad 0x3FF33E046C843287 // B' = pi/2 - B (high double) - .quad 0xBC9A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD8B00196B3D022 // c0 (high double) - .quad 0xBC67341EE3041CF4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC30BCA73878656 // c1 (low double) - .quad 0x3FDC5C67FF403B73 // c2 - .quad 0x3FE1B94E72981059 // c3 - .quad 0x3FD7209990BAE1F6 // c4 - .quad 0x3FD65EF72AC3A4FA // c5 - .quad 0x3FD0F83D8377C340 // c6 - .quad 0x3FCD97555AF455A0 // c7 - .quad 0x3FF30BC075DBAA2C // B' = pi/2 - B (high double) - .quad 0x3C995FE8F2B56DBD // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD998188E816BF0 // c0 (high double) - .quad 0x3C73DB2BD13E24E8 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC478794806DE66 // c1 (low double) - .quad 0x3FDDAFF33BF96274 // c2 - .quad 0x3FE24F039543C659 // c3 - .quad 0x3FD88A113E071D2D // c4 - .quad 0x3FD7AB3E661E65FA // c5 - .quad 0x3FD24E4E1B8DC6C3 // c6 - .quad 0x3FD01ED5FCAC1031 // c7 - .quad 0x3FF2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C8A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDA827999FCEF32 // c0 (high double) - .quad 0x3C708A11019E58E9 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC5F619980C4336 // c1 (low double) - .quad 0x3FDF0ED99BED9B65 // c2 - .quad 0x3FE2EDD996C1BBEB // c3 - .quad 0x3FDA08B785C6EA59 // c4 - .quad 0x3FD911BC7B12902D // c5 - .quad 0x3FD3C0DA5B1130BA // c6 - .quad 0x3FD1B590151E4269 // c7 - .quad 0x3FF2A738888A9978 // B' = pi/2 - B (high double) - .quad 0x3C5195059E91C4D2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDB6F3FC8C61E5B // c0 (high double) - .quad 0xBC6A1CC48267E6BE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC7853E65CE5524 // c1 (low double) - .quad 0x3FE03CE61B6A9E63 // c2 - .quad 0x3FE3965ABF5C8FAB // c3 - .quad 0x3FDB9E3938F261E9 // c4 - .quad 0x3FDA94A771ED6FE6 // c5 - .quad 0x3FD552B7D4636639 // c6 - .quad 0x3FD2F58F20A08A92 // c7 - .quad 0x3FF274F491E2111E // B' = pi/2 - B (high double) - .quad 0xBC8613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDC5E87185E67B6 // c0 (high double) - .quad 0x3C4FEBA1F149DF00 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC92683A68EB5D0 // c1 (low double) - .quad 0x3FE0F8C35C7247C7 // c2 - .quad 0x3FE4491C4DCA262E // c3 - .quad 0x3FDD4C67683395D6 // c4 - .quad 0x3FDC3667C15EBF94 // c5 - .quad 0x3FD7070B7FE443C4 // c6 - .quad 0x3FD4805841782C0C // c7 - .quad 0x3FF242B09B3988C4 // B' = pi/2 - B (high double) - .quad 0xBC972D483EE33523 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDD506C82A2C800 // c0 (high double) - .quad 0x3C6E169413E029AE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCADA8ECCC42C48 // c1 (low double) - .quad 0x3FE1BB681D0BE8A7 // c2 - .quad 0x3FE506BF662527D3 // c3 - .quad 0x3FDF153B07CB2306 // c4 - .quad 0x3FDDF9A636394DC9 // c5 - .quad 0x3FD8E153A4A78673 // c6 - .quad 0x3FD6937B3797DBB1 // c7 - .quad 0x3FF2106CA4910069 // B' = pi/2 - B (high double) - .quad 0x3C9CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDE450E0D273E7A // c0 (high double) - .quad 0x3C74138BBC424A0D // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCCA20F5D4879EA // c1 (low double) - .quad 0x3FE2853E13FBB7C7 // c2 - .quad 0x3FE5CFF21905E477 // c3 - .quad 0x3FE07D6C7D0DAC66 // c4 - .quad 0x3FDFE1550F550216 // c5 - .quad 0x3FDAE570CE7F6BD7 // c6 - .quad 0x3FD89328A3ABE601 // c7 - .quad 0x3FF1DE28ADE8780F // B' = pi/2 - B (high double) - .quad 0x3C908C1F2850796D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDF3C8AD985D9EE // c0 (high double) - .quad 0x3C455C31F5355658 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCE7DBF907D8618 // c1 (low double) - .quad 0x3FE356B5A1D9CA5A // c2 - .quad 0x3FE6A57085697F99 // c3 - .quad 0x3FE17FCB46BE280B // c4 - .quad 0x3FE0F858275BAA48 // c5 - .quad 0x3FDD17B47CA8A83B // c6 - .quad 0x3FDA9B369A707A32 // c7 - .quad 0x3FF1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0x3C71A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE01B819B5A7CF7 // c0 (high double) - .quad 0x3C80BED996FBB65F // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD03732803B2A4C // c1 (low double) - .quad 0x3FE430465B55C6C0 // c2 - .quad 0x3FE78806185ACF72 // c3 - .quad 0x3FE292FF3DF61A34 // c4 - .quad 0x3FE215A449967BC2 // c5 - .quad 0x3FDF7CEF2946D3A8 // c6 - .quad 0x3FDD0F4FF3CD442F // c7 - .quad 0x3FF179A0C097675B // B' = pi/2 - B (high double) - .quad 0xBC7EE9E5C1EF600D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE09A4C59BD0D4D // c0 (high double) - .quad 0xBC451D94A7B70320 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD13A68B2A5E855 // c1 (low double) - .quad 0x3FE5126F9FD8D89F // c2 - .quad 0x3FE8788EEDC53F19 // c3 - .quad 0x3FE3B86B3E883B76 // c4 - .quad 0x3FE34A881E7F09C9 // c5 - .quad 0x3FE10D3EF07D106A // c6 - .quad 0x3FDFEBFE6AA0C4E7 // c7 - .quad 0x3FF1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC93DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE11AB7190834EC // c0 (high double) - .quad 0xBC8E577A07DB7162 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD248F1B07217E3 // c1 (low double) - .quad 0x3FE5FDB93DD01D06 // c2 - .quad 0x3FE977F956462152 // c3 - .quad 0x3FE4F192BE91E40A // c4 - .quad 0x3FE49932EEB2A51B // c5 - .quad 0x3FE27B305435DE1B // c6 - .quad 0x3FE176C2BDD3B0A4 // c7 - .quad 0x3FF11518D34656A6 // B' = pi/2 - B (high double) - .quad 0x3C9FFEEDF6B7D68D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE19CD3FE8E405D // c0 (high double) - .quad 0xBC84E5C1D482FB99 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD36343ADCAF866 // c1 (low double) - .quad 0x3FE6F2B4260FF6A8 // c2 - .quad 0x3FEA8747864942E1 // c3 - .quad 0x3FE6401D47362936 // c4 - .quad 0x3FE6040F50A52FBF // c5 - .quad 0x3FE40BA6192CC669 // c6 - .quad 0x3FE302E7DAB9BDE8 // c7 - .quad 0x3FF0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0x3C93DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE220B5EF047825 // c0 (high double) - .quad 0x3C5AE1F6C713C510 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD489DC399ADDEC // c1 (low double) - .quad 0x3FE7F1FB2FEBE8C6 // c2 - .quad 0x3FEBA791734D6CCE // c3 - .quad 0x3FE7A5DA56BAB9DA // c4 - .quad 0x3FE78DC9A17C17D7 // c5 - .quad 0x3FE5C262725357A1 // c6 - .quad 0x3FE4D1FE58052A33 // c7 - .quad 0x3FF0B090E5F545F2 // B' = pi/2 - B (high double) - .quad 0x3C7EE15577AE1472 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE2A6709A74F289 // c0 (high double) - .quad 0x3C76E3B98C26B440 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD5BD40BF249496 // c1 (low double) - .quad 0x3FE8FC33EFCF6F3A // c2 - .quad 0x3FECDA06E4CFC822 // c3 - .quad 0x3FE924C5BA1C7515 // c4 - .quad 0x3FE9395A86CEDBCC // c5 - .quad 0x3FE7A39B6931C7C5 // c6 - .quad 0x3FE6D875BED7333E // c7 - .quad 0x3FF07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0xBC71ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE32E1889047FFD // c0 (high double) - .quad 0xBC810D08F0134DCF // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD6FDFF12A4297B // c1 (low double) - .quad 0x3FEA120FA25B9D83 // c2 - .quad 0x3FEE1FF1BF27E6AB // c3 - .quad 0x3FEABF0C6E045EA0 // c4 - .quad 0x3FEB0A0E2CDCAB88 // c5 - .quad 0x3FE9B40D41660E8E // c6 - .quad 0x3FE92FCC1848D932 // c7 - .quad 0x3FF04C08F8A4353E // B' = pi/2 - B (high double) - .quad 0xBC908E433AE0CC54 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE3B7C3289ED6F3 // c0 (high double) - .quad 0xBC8C4CF3D327FEEC // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD84CAE0A06DE7C // c1 (low double) - .quad 0x3FEB344C2E4C0F47 // c2 - .quad 0x3FEF7AB88F5F820C // c3 - .quad 0x3FEC771219A99E98 // c4 - .quad 0x3FED0390B144EACB // c5 - .quad 0x3FEBF90A32A17503 // c6 - .quad 0x3FEBAC50A2912BE1 // c7 - .quad 0x3FF019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0xBC9CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE44386DB9CE5DB // c0 (high double) - .quad 0xBC8A7F79AD342CDE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD9A9EE22E82AF2 // c1 (low double) - .quad 0x3FEC63B53FACFD1B // c2 - .quad 0x3FF075F0B010F1C9 // c3 - .quad 0x3FEE4F7738A37AC1 // c4 - .quad 0x3FEF29F7068A6E02 // c5 - .quad 0x3FEE78912F3E4890 // c6 - .quad 0x3FEE7DE5AD19FDA8 // c7 - .quad 0x3FEFCF0216A64913 // B' = pi/2 - B (high double) - .quad 0xBC81A9B7A75A3B87 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE4D17B087B265D // c0 (high double) - .quad 0xBC788AAC4AE1F0D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDB166A3723839C // c1 (low double) - .quad 0x3FEDA1257F3D5E87 // c2 - .quad 0x3FF13A8A70704F6B // c3 - .quad 0x3FF025900612C493 // c4 - .quad 0x3FF0C0E778680DE8 // c5 - .quad 0x3FF09CB2B02DFCCB // c6 - .quad 0x3FF0D681147681D3 // c7 - .quad 0x3FEF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C860FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE561B82AB7F990 // c0 (high double) - .quad 0x3C87A5FA3E37FD12 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDC92D84170BCC6 // c1 (low double) - .quad 0x3FEEED87E934644C // c2 - .quad 0x3FF20C10F4D7D072 // c3 - .quad 0x3FF1369E37DA5741 // c4 - .quad 0x3FF20816F61AB3EE // c5 - .quad 0x3FF221953D8712EF // c6 - .quad 0x3FF29CA76CD561F8 // c7 - .quad 0x3FEF05F23C0427AA // B' = pi/2 - B (high double) - .quad 0xBC51B746C796F33C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE5F457E4F4812E // c0 (high double) - .quad 0x3C8F6EE06A43F015 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDE1FFA33ABCB2D // c1 (low double) - .quad 0x3FF024ECA3857FDF // c2 - .quad 0x3FF2EB80B3E2C969 // c3 - .quad 0x3FF25CA858ECE33E // c4 - .quad 0x3FF36D6159DB2BC3 // c5 - .quad 0x3FF3CF427530AFA1 // c6 - .quad 0x3FF4914D16BF30D2 // c7 - .quad 0x3FEEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0xBC8A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE6897514751DB6 // c0 (high double) - .quad 0x3C7432E08569C822 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDFBE9EE099229D // c1 (low double) - .quad 0x3FF0DB94E83152C9 // c2 - .quad 0x3FF3D9ED602549D9 // c3 - .quad 0x3FF3999FCB35B63C // c4 - .quad 0x3FF4F3F4BB18D34D // c5 - .quad 0x3FF5AA9FE2712A89 // c6 - .quad 0x3FF6B61F156D157E // c7 - .quad 0x3FEE3CE261620641 // B' = pi/2 - B (high double) - .quad 0x3C7A77CBEAE8FD71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE7212BE621BE6D // c0 (high double) - .quad 0x3C8AD14CAC5AE1D4 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDE905D04D13F70 // c1 (low double) - .quad 0x3FF19B4F7BD63206 // c2 - .quad 0x3FF4D8845C8EEC38 // c3 - .quad 0x3FF4EFAAD70924AA // c4 - .quad 0x3FF69F610EDFA788 // c5 - .quad 0x3FF7B93C8525966A // c6 - .quad 0x3FF928F49138F1A9 // c7 - .quad 0x3FEDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0xBC76156546AFA570 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE7BB99ED2990CF // c0 (high double) - .quad 0xBC8AABB1289366EE // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDCCC0DD257FE9F // c1 (low double) - .quad 0x3FF264BAB3E8C3FC // c2 - .quad 0x3FF5E88F7CC1F7BC // c3 - .quad 0x3FF6612B1AE228E1 // c4 - .quad 0x3FF873A64164BF00 // c5 - .quad 0x3FFA016987C44E2A // c6 - .quad 0x3FFBFCA608E41B3A // c7 - .quad 0x3FED73D286BFE4D8 // B' = pi/2 - B (high double) - .quad 0x3C8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE858DE3B716571 // c0 (high double) - .quad 0x3C8C6340D74EFAEE // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDAF377B50F3DE8 // c1 (low double) - .quad 0x3FF338819C6A585B // c2 - .quad 0x3FF70B781BB3F9F8 // c3 - .quad 0x3FF7F0C4DC952BEE // c4 - .quad 0x3FFA75444794B0BE // c5 - .quad 0x3FFC8A58AEEA152D // c6 - .quad 0x3FFF1509C3EC473F // c7 - .quad 0x3FED0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0x3C61A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE8F9197BF85EEB // c0 (high double) - .quad 0xBC77971D706288A0 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD9058D62BBB98D // c1 (low double) - .quad 0x3FF4175D31199B0C // c2 - .quad 0x3FF842CA948070CE // c3 - .quad 0x3FF9A1675E6F2233 // c4 - .quad 0x3FFCA94A75D1DF36 // c5 - .quad 0x3FFF5C3EE98CB77C // c6 - .quad 0x4001549BBD7761F7 // c7 - .quad 0x3FECAAC2AC1DC370 // B' = pi/2 - B (high double) - .quad 0xBC83DE7C6DBCC708 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE99C6E0F634394 // c0 (high double) - .quad 0x3C81A125C4B0D75F // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD7012EAAC8A987 // c1 (low double) - .quad 0x3FF50215B95FD940 // c2 - .quad 0x3FF9903A2B193F49 // c3 - .quad 0x3FFB7656607D37C1 // c4 - .quad 0x3FFF156F461C0EE0 // c5 - .quad 0x4001403E48F2741B // c6 - .quad 0x40034ACD8D38409A // c7 - .quad 0x3FEC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C83DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEA43002AE42850 // c0 (high double) - .quad 0xBC7A7C0406D92972 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD4E526E33345B8 // c1 (low double) - .quad 0x3FF5F9844B626284 // c2 - .quad 0x3FFAF5A574C2F3BF // c3 - .quad 0x3FFD7334FD198D13 // c4 - .quad 0x4000E01251879DC7 // c5 - .quad 0x400300E6F5213CC2 // c6 - .quad 0x40058BA67D3A054A // c7 - .quad 0x3FEBE1B2D17BA207 // B' = pi/2 - B (high double) - .quad 0xBC61AEB67D55A7A1 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEAECF5F9BA35A6 // c0 (high double) - .quad 0x3C4535083409FF20 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD2B02B2D565D55 // c1 (low double) - .quad 0x3FF6FE947B408BAC // c2 - .quad 0x3FFC751B52A83938 // c3 - .quad 0x3FFF9C12181CFBBA // c4 - .quad 0x4002585B4421C075 // c5 - .quad 0x4004F6412119D9F1 // c6 - .quad 0x400814BACED69AF1 // c7 - .quad 0x3FEB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0xBC8CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEB9A77C18C1AF2 // c0 (high double) - .quad 0x3C76EA194A3B7D14 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD060D88DF903DF // c1 (low double) - .quad 0x3FF812463C417D93 // c2 - .quad 0x3FFE10E093E6DE8D // c3 - .quad 0x4000FABB50DD022E // c4 - .quad 0x4003F7B45B053F76 // c5 - .quad 0x4007275FB67DBBCC // c6 - .quad 0x400B02CB76CD8FDB // c7 - .quad 0x3FEB18A2F6D9809E // B' = pi/2 - B (high double) - .quad 0x3C760E425E23E66F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEC4BB009E77983 // c0 (high double) - .quad 0xBC5346B6895525B8 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFCBEB63A6D04570 // c1 (low double) - .quad 0x3FF935AFFA8DCC1D // c2 - .quad 0x3FFFCB7657D15F0B // c3 - .quad 0x4002423AFCE75F54 // c4 - .quad 0x4005C2CF61AD4B89 // c5 - .quad 0x40099C675A298F48 // c6 - .quad 0x400E49F38B657F73 // c7 - .quad 0x3FEAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0xBC7A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FED00CBC7384D2E // c0 (high double) - .quad 0x3C78C4FC635D2596 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC6DA3A87611EA6 // c1 (low double) - .quad 0x3FFA6A00F50D3A6F // c2 - .quad 0x4000D3D0A6ABBD46 // c3 - .quad 0x4003A760672280D0 // c4 - .quad 0x4007BF026C103550 // c5 - .quad 0x400C5EBD23F4E2D6 // c6 - .quad 0x4011024DB7867574 // c7 - .quad 0x3FEA4F931C375F35 // B' = pi/2 - B (high double) - .quad 0x3C8A79EFFD795057 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEDB9FA89953FCF // c0 (high double) - .quad 0x3C286C68F5592C40 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC18AC418849A6E // c1 (low double) - .quad 0x3FFBB083E02786D7 // c2 - .quad 0x4001D438F8A20402 // c3 - .quad 0x40052D5D6FF7A4BD // c4 - .quad 0x4009F262067BAA5A // c5 - .quad 0x400F793DA8608BD3 // c6 - .quad 0x401328BFC5F60A12 // c7 - .quad 0x3FE9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0x3C519ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEE776EAFC91706 // c0 (high double) - .quad 0x3C890664EDC679F9 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFB7F295AD658764 // c1 (low double) - .quad 0x3FFD0AA1DB7F5E58 // c2 - .quad 0x4002E8A6F9693556 // c3 - .quad 0x4006D7CA16B298C6 // c4 - .quad 0x400C63DFCAA3FB6C // c5 - .quad 0x40117C3EE50D7733 // c6 - .quad 0x401599932C96B999 // c7 - .quad 0x3FE9868341953DCD // B' = pi/2 - B (high double) - .quad 0xBC861341341F5289 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEF395D9F0E3C92 // c0 (high double) - .quad 0xBC550BEC65673F08 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFA8873C53BE0540 // c1 (low double) - .quad 0x3FFE79E5C65202DE // c2 - .quad 0x400412FD76797C7D // c3 - .quad 0x4008AAB30DC82D37 // c4 - .quad 0x400F1B6C68B4AEA4 // c5 - .quad 0x4013758CE9BD9EE9 // c6 - .quad 0x40186872A06858F5 // c7 - .quad 0x3FE921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C81A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD17CC1B727220B // c0 (high double) - .quad 0x3C7AC07996DF1E94 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBF02F6222C71FB // c1 (low double) - .quad 0xBFB068BD68BAEFC3 // c2 - .quad 0x3FA3C0213E30B2A4 // c3 - .quad 0xBF8A5494A0DD32B3 // c4 - .quad 0x3F7940CD1D8E923E // c5 - .quad 0xBF63CC1BE5088783 // c6 - .quad 0x3F3FA4A6A27659EE // c7 - .quad 0x3FE8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0xBC6A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD130BD396BB4A9 // c0 (high double) - .quad 0x3C657D8592EA0982 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBF68ED595308D6 // c1 (low double) - .quad 0xBFB00C6BF6A673E6 // c2 - .quad 0x3FA36E9DA9556AA6 // c3 - .quad 0xBF8991120C7D4BB9 // c4 - .quad 0x3F7889ABD600821A // c5 - .quad 0xBF630EE40468887B // c6 - .quad 0x3F52CAD75A194915 // c7 - .quad 0x3FE858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0xBC8EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD0E507EE8B93D7 // c0 (high double) - .quad 0xBC679F09CDD5D366 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBFCCA52E2AE201 // c1 (low double) - .quad 0xBFAF632A1681FD0B // c2 - .quad 0x3FA31F7794BDF922 // c3 - .quad 0xBF88D31259E30525 // c4 - .quad 0x3F77D97B728544D6 // c5 - .quad 0xBF62591A3A2B69D8 // c6 - .quad 0x3F3605B3887E1AF3 // c7 - .quad 0x3FE7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0x3C71A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD099A0163BCD3F // c0 (high double) - .quad 0xBC7A7F11D963D761 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBFD1D937A1F094 // c1 (low double) - .quad 0xBFAEB05B52EFB4C0 // c2 - .quad 0x3FA2D29E032A57DB // c3 - .quad 0xBF881A60F7D38723 // c4 - .quad 0x3F772FBBF1BFA292 // c5 - .quad 0xBF61AA745B27BAF7 // c6 - .quad 0x3F51CC1913635CA5 // c7 - .quad 0x3FE78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC7EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD04E83F7474877 // c0 (high double) - .quad 0xBC73B117AC20AD03 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF7284F47C0E61 // c1 (low double) - .quad 0xBFAE0056458FCED5 // c2 - .quad 0x3FA28800992AEEE6 // c3 - .quad 0xBF8766CB6439B11D // c4 - .quad 0x3F768C54DBB3684B // c5 - .quad 0xBF610297B13942A7 // c6 - .quad 0x3F5536BD1C2C92E8 // c7 - .quad 0x3FE72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0x3C88452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD003B1DF5A0F86 // c0 (high double) - .quad 0xBC716CEB71FB7130 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF155566FA6884 // c1 (low double) - .quad 0xBFAD530628A37C7A // c2 - .quad 0x3FA23F8F96E80A99 // c3 - .quad 0xBF86B82113BDC04E // c4 - .quad 0x3F75EF0B9C9DF1C1 // c5 - .quad 0xBF60613421CB6A8B // c6 - .quad 0x3F48E48E9081596F // c7 - .quad 0x3FE6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0xBBC6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCF7250459C1976 // c0 (high double) - .quad 0xBC40B5B081F067D4 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBEBA422E0FE0E5 // c1 (low double) - .quad 0xBFACA856C815D042 // c2 - .quad 0x3FA1F93BD218DCE9 // c3 - .quad 0xBF860E335AB42933 // c4 - .quad 0x3F75578EEA5D18CC // c5 - .quad 0xBF5F8BFBAD564EB5 // c6 - .quad 0x3F434A80D203FDB7 // c7 - .quad 0x3FE66243D70CB82A // B' = pi/2 - B (high double) - .quad 0xBC884805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCEDDCA38F25FEC // c0 (high double) - .quad 0x3C65AACB9E8B4E8C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE6143274A35BF // c1 (low double) - .quad 0xBFAC00347C15ABB2 // c2 - .quad 0x3FA1B4F6B03A62C8 // c3 - .quad 0xBF8568D557225239 // c4 - .quad 0x3F74C5A8346B014E // c5 - .quad 0xBF5E61680C7E3887 // c6 - .quad 0x3F45A81E03A2004A // c7 - .quad 0x3FE5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C7EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCE49CE5AF9DC29 // c0 (high double) - .quad 0x3C382336F1C6B420 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE0A506D218F3C // c1 (low double) - .quad 0xBFAB5A8C23E49FEA // c2 - .quad 0x3FA172B22117D625 // c3 - .quad 0xBF84C7DBDBF304B9 // c4 - .quad 0x3F74391DF553E941 // c5 - .quad 0xBF5D4211231EF20F // c6 - .quad 0x3F52AB1CCD6F9451 // c7 - .quad 0x3FE59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0xBC71AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCDB6597A2E1B61 // c0 (high double) - .quad 0x3C6CB71A947AAB6B // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBDB56255580CA4 // c1 (low double) - .quad 0xBFAAB74B20D856E7 // c2 - .quad 0x3FA1326099896038 // c3 - .quad 0xBF842B1D5CF84F74 // c4 - .quad 0x3F73B1CC2C4E32E8 // c5 - .quad 0xBF5C2D7D75B7FBCE // c6 - .quad 0x3F53DB94CE05D10A // c7 - .quad 0x3FE534AC0F19860C // B' = pi/2 - B (high double) - .quad 0x3C8EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCD236870E769B5 // c0 (high double) - .quad 0xBC523CE78218C3F0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD62716F68B5FE // c1 (low double) - .quad 0xBFAA165F518C38AB // c2 - .quad 0x3FA0F3F50E789484 // c3 - .quad 0xBF839271DC18DB75 // c4 - .quad 0x3F732F8BAC4C5496 // c5 - .quad 0xBF5B23248F865BB8 // c6 - .quad 0x3F36E307E32E173B // c7 - .quad 0x3FE4D02421C87558 // B' = pi/2 - B (high double) - .quad 0x3C6A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCC90F8250157F7 // c0 (high double) - .quad 0xBC657D8312BFEA16 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD117683053E13 // c1 (low double) - .quad 0xBFA977B70D411C29 // c2 - .quad 0x3FA0B762F022F359 // c3 - .quad 0xBF82FDB2D7324A8F // c4 - .quad 0x3F72B2030A36AAE0 // c5 - .quad 0xBF5A22A22953FC15 // c6 - .quad 0x3F473A2F09CB1310 // c7 - .quad 0x3FE46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC81A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCBFF05878394D3 // c0 (high double) - .quad 0xBC486912F813DEBC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBCC26A8EA2077F // c1 (low double) - .quad 0xBFA8DB411F68EE69 // c2 - .quad 0x3FA07C9E25737218 // c3 - .quad 0xBF826CBB3713A292 // c4 - .quad 0x3F72392A32F26712 // c5 - .quad 0xBF592B76EEB6E333 // c6 - .quad 0x3F39BADB57E2A4EB // c7 - .quad 0x3FE40714472653EF // B' = pi/2 - B (high double) - .quad 0x3C86106670B43955 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCB6D8D944D0371 // c0 (high double) - .quad 0x3C6CDD9D6EA4B883 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC7546C60FE5C7 // c1 (low double) - .quad 0xBFA840ECC35C53FD // c2 - .quad 0x3FA0439B07C380F3 // c3 - .quad 0xBF81DF673F038AB5 // c4 - .quad 0x3F71C4B3C36B8A2B // c5 - .quad 0xBF583D44FA2FB1AC // c6 - .quad 0x3F52EE3E6107070C // c7 - .quad 0x3FE3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0xBC51B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCADC8D51C0FA5B // c0 (high double) - .quad 0xBC54B350B5D39454 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC2A04912319A8 // c1 (low double) - .quad 0xBFA7A8A9A038608E // c2 - .quad 0x3FA00C4E5E972915 // c3 - .quad 0xBF8155947D4C5C83 // c4 - .quad 0x3F7154A7B149DA51 // c5 - .quad 0xBF5757960EDFC478 // c6 - .quad 0x3F3F895707140B54 // c7 - .quad 0x3FE33E046C843287 // B' = pi/2 - B (high double) - .quad 0xBC8A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCA4C01D0769648 // c0 (high double) - .quad 0xBC4DDC96CAE4A560 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBBE09D8A670D72 // c1 (low double) - .quad 0xBFA71267C4E29753 // c2 - .quad 0x3F9FAD5AB78BB764 // c3 - .quad 0xBF80CF21BC414F68 // c4 - .quad 0x3F70E8AC1DCF4364 // c5 - .quad 0xBF567A14C0530821 // c6 - .quad 0x3F4F621D6DA2AD4C // c7 - .quad 0x3FE2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C7A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC9BBE82AEA0D12 // c0 (high double) - .quad 0x3C62D116CA770BB7 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB990B7DDE5BFC // c1 (low double) - .quad 0xBFA67E17A4317C6C // c2 - .quad 0x3F9F455B2F170454 // c3 - .quad 0xBF804BEEF437A2B3 // c4 - .quad 0x3F7080CEADF2974D // c5 - .quad 0xBF55A44E3A71E98C // c6 - .quad 0xBF039F9468E5AC7C // c7 - .quad 0x3FE274F491E2111E // B' = pi/2 - B (high double) - .quad 0xBC7613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC92C3D852FEDF2 // c0 (high double) - .quad 0xBC20F5E7403E63E0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB534867CEB1CB // c1 (low double) - .quad 0xBFA5EBAA113813D4 // c2 - .quad 0x3F9EE08A1A202CC5 // c3 - .quad 0xBF7F97BA7BA1301A // c4 - .quad 0x3F701CAD7F191E00 // c5 - .quad 0xBF54D60D132212FE // c6 - .quad 0x3F45F5FE99746255 // c7 - .quad 0x3FE2106CA4910069 // B' = pi/2 - B (high double) - .quad 0x3C8CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC89CFF0CAA3CB4 // c0 (high double) - .quad 0x3C6A8D50D06FC30E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB0F4E73981D4B // c1 (low double) - .quad 0xBFA55B103BB2BD6D // c2 - .quad 0x3F9E7ED42D91EC8D // c3 - .quad 0xBF7E9D9D8AAE7B14 // c4 - .quad 0x3F6F78B5039EFACA // c5 - .quad 0xBF540EDBA3A7865E // c6 - .quad 0x3F3AA2CB5E8CB7D1 // c7 - .quad 0x3FE1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0x3C61A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC80E29F7BF5633 // c0 (high double) - .quad 0xBC67F8F06ACC6DE1 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBACD17FA976786 // c1 (low double) - .quad 0xBFA4CC3BAC93F075 // c2 - .quad 0x3F9E2026D6967836 // c3 - .quad 0xBF7DA94D7C694B78 // c4 - .quad 0x3F6EBF4F14B98A4D // c5 - .quad 0xBF534E7211F8744B // c6 - .quad 0xBF2290D134413454 // c7 - .quad 0x3FE1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC83DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC77FBB85928D2D // c0 (high double) - .quad 0x3C6121F4E1AC8205 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA8C9F83131391 // c1 (low double) - .quad 0xBFA43F1E42AF6970 // c2 - .quad 0x3F9DC4703433CA75 // c3 - .quad 0xBF7CBA92AE7FE396 // c4 - .quad 0x3F6E0CB6D0475CBF // c5 - .quad 0xBF529491FB8790F1 // c6 - .quad 0x3F37152AFD512A19 // c7 - .quad 0x3FE0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0x3C83DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC6F1B0FDBE6EDE // c0 (high double) - .quad 0xBC614F63025E350F // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA4DDFBF32A727 // c1 (low double) - .quad 0xBFA3B3AA2F826E47 // c2 - .quad 0x3F9D6B9F112A3CA9 // c3 - .quad 0xBF7BD1375F2B326E // c4 - .quad 0x3F6D60EF002A5944 // c5 - .quad 0xBF51E0E0E3E64206 // c6 - .quad 0x3F32BFA3B8DB7E72 // c7 - .quad 0x3FE07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0xBC61ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC66407B0109FA6 // c0 (high double) - .quad 0xBC55C3EC26D04386 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA10D38BFFE319 // c1 (low double) - .quad 0xBFA329D1F417DBD6 // c2 - .quad 0x3F9D15A2DE544C7C // c3 - .quad 0xBF7AED07977D3236 // c4 - .quad 0x3F6CBBAD3C53FDBF // c5 - .quad 0xBF513318B342B4E5 // c6 - .quad 0x3F1AF93D1229A6F6 // c7 - .quad 0x3FE019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0xBC8CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC5D6BCF447403E // c0 (high double) - .quad 0x3C6C6C662876B222 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB9D575F071964A // c1 (low double) - .quad 0xBFA2A1885E06BEAC // c2 - .quad 0x3F9CC26BAD1B38B8 // c3 - .quad 0xBF7A0DD116DA5229 // c4 - .quad 0x3F6C1C921E809C9E // c5 - .quad 0xBF508B03CEF8B07A // c6 - .quad 0x3F4BCE57D03F879A // c7 - .quad 0x3FDF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C760FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC549CE29CFCCBE // c0 (high double) - .quad 0x3C69881846E0C1CC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB99BC21C7FB9B2 // c1 (low double) - .quad 0xBFA21AC0848A46C5 // c2 - .quad 0x3F9C71EA2A16819D // c3 - .quad 0xBF7933633F8F0072 // c4 - .quad 0x3F6B83D1C55099C3 // c5 - .quad 0xBF4FD088727B159E // c6 - .quad 0xBF2306C94816B8C4 // c7 - .quad 0x3FDEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0xBC7A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC4BD38B7876716 // c0 (high double) - .quad 0xBC5504069A91A9E0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB963B368408780 // c1 (low double) - .quad 0xBFA1956DC5B1F35A // c2 - .quad 0x3F9C240F984C07DC // c3 - .quad 0xBF785D8F0388F11C // c4 - .quad 0x3F6AF0B073DF1CCA // c5 - .quad 0xBF4E9580D70D34E0 // c6 - .quad 0x3F4571315C44A425 // c7 - .quad 0x3FDDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0xBC66156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC430FA0B7C7F15 // c0 (high double) - .quad 0xBC63115D3C69C624 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB92D45530E4319 // c1 (low double) - .quad 0xBFA11183C3A8DFF6 // c2 - .quad 0x3F9BD8CDCC073185 // c3 - .quad 0xBF778C26D2F52E9A // c4 - .quad 0x3F6A638650FB676D // c5 - .quad 0xBF4D6420527BDB5B // c6 - .quad 0xBF2DA5A645CA3434 // c7 - .quad 0x3FDD0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0x3C51A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC3A50F9AB1CA91 // c0 (high double) - .quad 0xBC50CA3B48D907FA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8F87382B56ACB // c1 (low double) - .quad 0xBFA08EF662132882 // c2 - .quad 0x3F9B901726A3CD1C // c3 - .quad 0xBF76BEFE8A4461A2 // c4 - .quad 0x3F69DBAE42D8A416 // c5 - .quad 0xBF4C3C52357BF011 // c6 - .quad 0x3F32456D9E7FA4E8 // c7 - .quad 0x3FDC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C73DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC31976E0E280B3 // c0 (high double) - .quad 0x3C667516EE4F26F2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8C539C2AB0F89 // c1 (low double) - .quad 0xBFA00DB9C3806462 // c2 - .quad 0x3F9B49DE91DB8E44 // c3 - .quad 0xBF75F5EB6258C838 // c4 - .quad 0x3F695952C6BEE603 // c5 - .quad 0xBF4B1D691B1E9F12 // c6 - .quad 0xBEFC715673917907 // c7 - .quad 0x3FDB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0xBC7CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC28E2D6047CBC8 // c0 (high double) - .quad 0x3C0CEAB2537EA300 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB89394034B11CF // c1 (low double) - .quad 0xBF9F1B848DE48876 // c2 - .quad 0x3F9B06177BDD3821 // c3 - .quad 0xBF7530C3E0150AA0 // c4 - .quad 0x3F68DBF62FBA70EC // c5 - .quad 0xBF4A0736C860B400 // c6 - .quad 0x3F50A3F1D92A1F47 // c7 - .quad 0x3FDAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0xBC6A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC20330A15F6568 // c0 (high double) - .quad 0xBC61BB4F210EA632 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8637E591E05FE // c1 (low double) - .quad 0xBF9E1E090AECCE81 // c2 - .quad 0x3F9AC4B5D3090946 // c3 - .quad 0xBF746F5FC5C316BA // c4 - .quad 0x3F686400E51F5377 // c5 - .quad 0xBF48F8EADC3DBAD1 // c6 - .quad 0xBF320AB3DE6FDA08 // c7 - .quad 0x3FD9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0x3C419ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC1787E32B35112 // c0 (high double) - .quad 0x3C5D2D85EBE7CEA8 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB834F4FC268515 // c1 (low double) - .quad 0xBF9D22EA9FA50E7D // c2 - .quad 0x3F9A85AE02819BA3 // c3 - .quad 0xBF73B19803AB2B21 // c4 - .quad 0x3F67F0B8C64045E8 // c5 - .quad 0xBF47F293167B415A // c6 - .quad 0xBF198BF45BBDE600 // c7 - .quad 0x3FD921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C71A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC0EE13A8A2A9C6 // c0 (high double) - .quad 0x3C5830A63DDC3262 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB807F44735B1A4 // c1 (low double) - .quad 0xBF9C2A135884458A // c2 - .quad 0x3F9A48F4EE376E9D // c3 - .quad 0xBF72F746AAC73A47 // c4 - .quad 0x3F678215824701EA // c5 - .quad 0xBF46F3C719FB6619 // c6 - .quad 0x3F4BA88D5E69B64E // c7 - .quad 0x3FD858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0xBC7EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC063EE9D2B777C // c0 (high double) - .quad 0xBC4E1787D8B78D9C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7DC78B746BB2F // c1 (low double) - .quad 0xBF9B336DA889AC7D // c2 - .quad 0x3F9A0E7FEF8737D6 // c3 - .quad 0xBF724046DF328844 // c4 - .quad 0x3F67185639AB9961 // c5 - .quad 0xBF45FBD25ACB3AED // c6 - .quad 0x3F0E765A16190A6D // c7 - .quad 0x3FD78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC6EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBFB4195F6B0333 // c0 (high double) - .quad 0xBC47DB89E27050CE // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7B27EEAE12CDB // c1 (low double) - .quad 0xBF9A3EE464F938D9 // c2 - .quad 0x3F99D644D21E7AE8 // c3 - .quad 0xBF718C74CAAA7BA1 // c4 - .quad 0x3F66B2F778B94CFD // c5 - .quad 0xBF450AB96EF7378B // c6 - .quad 0x3F1412EF7D22C6CA // c7 - .quad 0x3FD6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0xBBB6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBEA0D709BC27CA // c0 (high double) - .quad 0xBC48928D103E7F70 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB78A03A181D6AC // c1 (low double) - .quad 0xBF994C62C1366C88 // c2 - .quad 0x3F99A039D09A41AD // c3 - .quad 0xBF70DBAD90C6529A // c4 - .quad 0x3F66520A2F7F4662 // c5 - .quad 0xBF441FF58F223C4F // c6 - .quad 0xBF357CCF18E00FA5 // c7 - .quad 0x3FD5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C6EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBD8E118C89577F // c0 (high double) - .quad 0xBC3344F06C36BFAC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB76303BB0A22C5 // c1 (low double) - .quad 0xBF985BD44ABC0416 // c2 - .quad 0x3F996C5591BA6DFA // c3 - .quad 0xBF702DCF4265B5B3 // c4 - .quad 0x3F65F52766DBD146 // c5 - .quad 0xBF433B879649EE5C // c6 - .quad 0x3F47C67A932EC95B // c7 - .quad 0x3FD534AC0F19860C // B' = pi/2 - B (high double) - .quad 0x3C7EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBC7BC444B10758 // c0 (high double) - .quad 0x3C511540B2268E0E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB73D7C3735AA80 // c1 (low double) - .quad 0xBF976D24E52F1F79 // c2 - .quad 0x3F993A8F25560FF4 // c3 - .quad 0xBF6F0571A586F6F3 // c4 - .quad 0x3F659C8E8181F3F0 // c5 - .quad 0xBF425CCABE1033EA // c6 - .quad 0x3F4D59CA0EE986DF // c7 - .quad 0x3FD46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC71A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBB69EA984DE6EF // c0 (high double) - .quad 0x3C573CB7437F1792 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7196A3515E12E // c1 (low double) - .quad 0xBF968040C68C8FE8 // c2 - .quad 0x3F990ADE01D185E6 // c3 - .quad 0xBF6DB49417B3E65C // c4 - .quad 0x3F6548393E856BDB // c5 - .quad 0xBF418353F782833A // c6 - .quad 0xBF36489E03176323 // c7 - .quad 0x3FD3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0xBC41B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBA587FF6553726 // c0 (high double) - .quad 0x3C5559CFE8366BA8 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6F6CAF293AC7F // c1 (low double) - .quad 0xBF959514736F007F // c2 - .quad 0x3F98DD3A019E14EB // c3 - .quad 0xBF6C68C706B3D0FB // c4 - .quad 0x3F64F779DB6C50F9 // c5 - .quad 0xBF40AF7CD7497BC1 // c6 - .quad 0x3F4AD3B98213250E // c7 - .quad 0x3FD2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C6A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB9477FD636A4D8 // c0 (high double) - .quad 0x3C5063C8B22C4842 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6D59BCBF6C48B // c1 (low double) - .quad 0xBF94AB8CBB6CBB16 // c2 - .quad 0x3F98B19B6070D56D // c3 - .quad 0xBF6B21CD22DB24B2 // c4 - .quad 0x3F64AAE4575F07CB // c5 - .quad 0xBF3FC08B3806F47F // c6 - .quad 0xBF00E427650BA68A // c7 - .quad 0x3FD2106CA4910069 // B' = pi/2 - B (high double) - .quad 0x3C7CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB836E5B77D959A // c0 (high double) - .quad 0xBC51BDCEFF6925EC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6B5DA3B72B738 // c1 (low double) - .quad 0xBF93C396B58BD74A // c2 - .quad 0x3F9887FAB9649830 // c3 - .quad 0xBF69DF6A8A7C820C // c4 - .quad 0x3F6461D2011761C1 // c5 - .quad 0xBF3E2C1220D97FBE // c6 - .quad 0x3F49F3B20EDA3AFF // c7 - .quad 0x3FD1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC73DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB726AD2173D50E // c0 (high double) - .quad 0xBC1FCEC90C8BEF70 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB69783D8B96CDF // c1 (low double) - .quad 0xBF92DD1FBCCBA937 // c2 - .quad 0x3F986051045C3883 // c3 - .quad 0xBF68A164B9409BD2 // c4 - .quad 0x3F641CB77D330F8F // c5 - .quad 0xBF3C9FE910D9CBC2 // c6 - .quad 0xBF302CCA98190297 // c7 - .quad 0x3FD07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0xBC51ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB616D1A2C591A8 // c0 (high double) - .quad 0x3C2EF832FD935ED0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB67A9658930D84 // c1 (low double) - .quad 0xBF91F8156CC25284 // c2 - .quad 0x3F983A9794563574 // c3 - .quad 0xBF67678272C8ECDD // c4 - .quad 0x3F63DAE696E3A38C // c5 - .quad 0xBF3B1CDBB342EE5D // c6 - .quad 0x3F49E00A3B463CAF // c7 - .quad 0x3FCF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C660FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB5074ED126983E // c0 (high double) - .quad 0x3C516E0EB4132D8C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB65F0F8C7B2809 // c1 (low double) - .quad 0xBF9114659E4D5E41 // c2 - .quad 0x3F9816C815084CDA // c3 - .quad 0xBF66318BB353364D // c4 - .quad 0x3F639CED9C49E6E4 // c5 - .quad 0xBF39A0F6E494228E // c6 - .quad 0xBF2EBBDA5946D8F5 // c7 - .quad 0x3FCDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0xBC56156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB3F82048F8BE00 // c0 (high double) - .quad 0xBC4AFD1EBA1D1F08 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB644ED6242FE19 // c1 (low double) - .quad 0xBF9031FE64545C32 // c2 - .quad 0x3F97F4DC89754A8C // c3 - .quad 0xBF64FF499B056453 // c4 - .quad 0x3F636226CB0F9286 // c5 - .quad 0xBF382D35D5867708 // c6 - .quad 0x3F3E29EBBEAD3F41 // c7 - .quad 0x3FCC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C63DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB2E941ACF368E6 // c0 (high double) - .quad 0x3C28FF4CA630E160 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB62C2DE3B8D982 // c1 (low double) - .quad 0xBF8EA19C1138E963 // c2 - .quad 0x3F97D4CF49C89DB5 // c3 - .quad 0xBF63D0865FBE1BAC // c4 - .quad 0x3F632AE80D59D97D // c5 - .quad 0xBF36C01A5963B74D // c6 - .quad 0x3F2F2207CBA79A42 // c7 - .quad 0x3FCAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0xBC5A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB1DAAEA5CC26DD // c0 (high double) - .quad 0x3C51577CBB7A4D94 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB614CF365450F4 // c1 (low double) - .quad 0xBF8CE1861157F322 // c2 - .quad 0x3F97B69B01FB3B26 // c3 - .quad 0xBF62A50D3A3C528B // c4 - .quad 0x3F62F6E9071D40DB // c5 - .quad 0xBF3559C86E0B83FE // c6 - .quad 0x3F41AFC8FEE8B00A // c7 - .quad 0x3FC921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C61A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB0CC62E1E04467 // c0 (high double) - .quad 0xBC47805D7AE2B26C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5FECF9AE763EA // c1 (low double) - .quad 0xBF8B23982579F8E5 // c2 - .quad 0x3F979A3AB01644F9 // c3 - .quad 0xBF617CAA57838224 // c4 - .quad 0x3F62C658DCA7F4AB // c5 - .quad 0xBF33F9251280A953 // c6 - .quad 0xBF2D5C4E17766D5A // c7 - .quad 0x3FC78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC5EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFAF7CB429BEA72C // c0 (high double) - .quad 0xBC3FFC35F2771324 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5EA2D6D5456CA // c1 (low double) - .quad 0xBF8967B0057BF87E // c2 - .quad 0x3F977FA9A2ED4D75 // c3 - .quad 0xBF60572AC7A74374 // c4 - .quad 0x3F6298E78AA42A2C // c5 - .quad 0xBF329E8594822820 // c6 - .quad 0xBF37DBAE80B80EC8 // c7 - .quad 0x3FC5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C5EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFAD611FEEED2925 // c0 (high double) - .quad 0xBC2C094544F37630 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5D6E7244839E4 // c1 (low double) - .quad 0xBF87ADABBEBF7F7F // c2 - .quad 0x3F9766E378A69DCA // c3 - .quad 0xBF5E68B8DEC46BCD // c4 - .quad 0x3F626E6BF47FF36D // c5 - .quad 0xBF3149F4C32A02B4 // c6 - .quad 0x3F4B764BFF26FBAF // c7 - .quad 0x3FC46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC61A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFAB46008DFA625D // c0 (high double) - .quad 0x3C1CFC71261A7FB0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5C4FB50FA0748 // c1 (low double) - .quad 0xBF85F569AE5EF4C9 // c2 - .quad 0x3F974FE41D60092F // c3 - .quad 0xBF5C281BF4A7A8E8 // c4 - .quad 0x3F62476FB6177831 // c5 - .quad 0xBF2FF1DE9AA130D5 // c6 - .quad 0xBF3D841C7D3057BC // c7 - .quad 0x3FC2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C5A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA92B4D8A427A5E // c0 (high double) - .quad 0xBC48D0F742399A2E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5B4689EEE44C8 // c1 (low double) - .quad 0xBF843EC87B78BC83 // c2 - .quad 0x3F973AA7CA62B764 // c3 - .quad 0xBF59EC1D907A7E74 // c4 - .quad 0x3F62232304CE0BCB // c5 - .quad 0xBF2D5C019E5C9327 // c6 - .quad 0x3F4A5742B30D6EA4 // c7 - .quad 0x3FC1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC63DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA710FE6F2ADA79 // c0 (high double) - .quad 0x3C47FCD1AF1BC88C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5A52DD3BF1903 // c1 (low double) - .quad 0xBF8289A7118F8015 // c2 - .quad 0x3F97272B048B0CB6 // c3 - .quad 0xBF57B45DC9402B07 // c4 - .quad 0x3F620239A251E2D3 // c5 - .quad 0xBF2ACB87C59ED9B1 // c6 - .quad 0xBF314F7BD600B48C // c7 - .quad 0x3FBF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C560FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA4F70ACF7EED25 // c0 (high double) - .quad 0xBC36D383618823A2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB59749CEE8C351 // c1 (low double) - .quad 0xBF80D5E49AFDF8A4 // c2 - .quad 0x3F97156A9BCB4ECE // c3 - .quad 0xBF55807DE55737F7 // c4 - .quad 0x3F61E4232793575A // c5 - .quad 0xBF28440F1D68D5AE // c6 - .quad 0xBF29FA204333F00C // c7 - .quad 0x3FBC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C53DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA2DD6A44CE1394 // c0 (high double) - .quad 0xBC4BFF776DACC8B5 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB58ABB899A6815 // c1 (low double) - .quad 0xBF7E46C0F6F92ADF // c2 - .quad 0x3F970563A9ED840F // c3 - .quad 0xBF53502047076AB7 // c4 - .quad 0x3F61C8E9B000D23F // c5 - .quad 0xBF25C4A8BD148199 // c6 - .quad 0x3F4131449FFC5A0C // c7 - .quad 0x3FB921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C51A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA0C4146ECAB658 // c0 (high double) - .quad 0x3C0F927420EB8C00 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB57F82168B23EC // c1 (low double) - .quad 0xBF7AE3F4956ED507 // c2 - .quad 0x3F96F71391CF9DFE // c3 - .quad 0xBF5122E851208A87 // c4 - .quad 0x3F61B0E12D5FF408 // c5 - .quad 0xBF23485E9450F437 // c6 - .quad 0xBF3CE0F3BAD9A7CF // c7 - .quad 0x3FB5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C4EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF9D5601E554ACE4 // c0 (high double) - .quad 0x3BF1725D940FAE40 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5759CA1D35995 // c1 (low double) - .quad 0xBF7783239DE5AD22 // c2 - .quad 0x3F96EA77FED69EC2 // c3 - .quad 0xBF4DF0F48A9F5DD6 // c4 - .quad 0x3F619B9AD4B4F692 // c5 - .quad 0xBF20D3375495B3AF // c6 - .quad 0xBF3C5F6BDA9649C1 // c7 - .quad 0x3FB2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C4A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF99244EF50D08B4 // c0 (high double) - .quad 0xBBF5D43FBFA6A650 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB56D0A70CA2FAE // c1 (low double) - .quad 0xBF74240DEF7AA427 // c2 - .quad 0x3F96DF8EE40AD931 // c3 - .quad 0xBF49A0F663CD9CED // c4 - .quad 0x3F61892DA49A01B1 // c5 - .quad 0xBF1CC6A5F5CD8613 // c6 - .quad 0xBF2979EF025F5A5D // c7 - .quad 0x3FAF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C460FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF94F2FF697D458F // c0 (high double) - .quad 0xBC2D47EE0D8639CC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB565CAE1E73473 // c1 (low double) - .quad 0xBF70C673B159CE1D // c2 - .quad 0x3F96D6567B9EC32E // c3 - .quad 0xBF455521A900DE57 // c4 - .quad 0x3F6179A180C97DC6 // c5 - .quad 0xBF17EE9A1A2093EC // c6 - .quad 0xBF0F289C23A5BE3D // c7 - .quad 0x3FA921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C41A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF90C202A6B4B69C // c0 (high double) - .quad 0x3C232719F8027342 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55FDD6CA81EFB // c1 (low double) - .quad 0xBF6AD42A909B3D64 // c2 - .quad 0x3F96CECD466E9161 // c3 - .quad 0xBF410CC300A993C8 // c4 - .quad 0x3F616CF28C1A20AD // c5 - .quad 0xBF131CA14234B209 // c6 - .quad 0xBF0575725B2F6BD2 // c7 - .quad 0x3FA2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C3A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF8922902DB2AC11 // c0 (high double) - .quad 0xBC23466BF961968D // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55B41A17AA68C // c1 (low double) - .quad 0xBF641D6698BEFAD5 // c2 - .quad 0x3F96C8F20B94D936 // c3 - .quad 0xBF398E50110336DC // c4 - .quad 0x3F61630EF83C40BE // c5 - .quad 0xBF0CA4CD1D39A327 // c6 - .quad 0x3F2D88AA4542B2A9 // c7 - .quad 0x3F9921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C31A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF80C17E51DDB68F // c0 (high double) - .quad 0xBC2BCDF2CE757F58 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB557F729AA69CB // c1 (low double) - .quad 0xBF5AD039FA1B06A9 // c2 - .quad 0x3F96C4C3D80DF7DB // c3 - .quad 0xBF31073E4843262F // c4 - .quad 0x3F615BF0FBDD75F6 // c5 - .quad 0xBF032668F6EE96B2 // c6 - .quad 0x3F4AB2BDCBD5B586 // c7 - .quad 0x3F8921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C21A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF70C15D3E7A6D22 // c0 (high double) - .quad 0xBC031AD41335B3D2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB555FDC752E0B2 // c1 (low double) - .quad 0xBF4ACF3DF3195D30 // c2 - .quad 0x3F96C241FE6B7D5F // c3 - .quad 0xBF2105DD68706FD9 // c4 - .quad 0x3F6157CCAEE0E30B // c5 - .quad 0xBEF320E95C86AAB5 // c6 - .quad 0x3F36CC59FF7E57F3 // c7 - .quad 0x0000000000000000 // B' = pi/2 - B (high double) - .quad 0x0000000000000000 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x0000000000000000 // c0 (high double) - .quad 0x0000000000000000 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5555555555555 // c1 (low double) - .quad 0x0000000000000000 // c2 - .quad 0x3F96C16C16C4A87E // c3 - .quad 0x0000000000000000 // c4 - .quad 0x3F615658C88FB22B // c5 - .quad 0x0000000000000000 // c6 - .quad 0x3F45FEB9DABEDDC8 // c7 - .quad 0xBF8921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC21A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F70C15D3E7A6D22 // c0 (high double) - .quad 0x3C031AD4127D9F3E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB555FDC752E0B2 // c1 (low double) - .quad 0x3F4ACF3DF3195D30 // c2 - .quad 0x3F96C241FE6B7D5F // c3 - .quad 0x3F2105DD68707011 // c4 - .quad 0x3F6157CCAEE0E445 // c5 - .quad 0x3EF320E95BE3603D // c6 - .quad 0x3F36CC59FB2A5B52 // c7 - .quad 0xBF9921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC31A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F80C17E51DDB68F // c0 (high double) - .quad 0x3C2BCDF2CE751153 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB557F729AA69CB // c1 (low double) - .quad 0x3F5AD039FA1B06A9 // c2 - .quad 0x3F96C4C3D80DF7DB // c3 - .quad 0x3F31073E4843262E // c4 - .quad 0x3F615BF0FBDD7613 // c5 - .quad 0x3F032668F6F21096 // c6 - .quad 0x3F4AB2BDCBA34188 // c7 - .quad 0xBFA2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC3A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F8922902DB2AC11 // c0 (high double) - .quad 0x3C23466BF9645874 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55B41A17AA68C // c1 (low double) - .quad 0x3F641D6698BEFAD5 // c2 - .quad 0x3F96C8F20B94D936 // c3 - .quad 0x3F398E50110336D4 // c4 - .quad 0x3F61630EF83C4025 // c5 - .quad 0x3F0CA4CD1D548C70 // c6 - .quad 0x3F2D88AA497F5A74 // c7 - .quad 0xBFA921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC41A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F90C202A6B4B69C // c0 (high double) - .quad 0xBC232719F82E8E78 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55FDD6CA81EFB // c1 (low double) - .quad 0x3F6AD42A909B3D64 // c2 - .quad 0x3F96CECD466E9161 // c3 - .quad 0x3F410CC300A993FB // c4 - .quad 0x3F616CF28C1A27D9 // c5 - .quad 0x3F131CA1418B03D0 // c6 - .quad 0xBF0575732696DF46 // c7 - .quad 0xBFAF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC460FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F94F2FF697D458F // c0 (high double) - .quad 0x3C2D47EE0D83F132 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB565CAE1E73473 // c1 (low double) - .quad 0x3F70C673B159CE1D // c2 - .quad 0x3F96D6567B9EC32E // c3 - .quad 0x3F455521A900DE58 // c4 - .quad 0x3F6179A180C97E50 // c5 - .quad 0x3F17EE9A1A1D88C1 // c6 - .quad 0xBF0F289C329281E6 // c7 - .quad 0xBFB2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC4A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F99244EF50D08B4 // c0 (high double) - .quad 0x3BF5D43FBF890B40 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB56D0A70CA2FAE // c1 (low double) - .quad 0x3F74240DEF7AA427 // c2 - .quad 0x3F96DF8EE40AD931 // c3 - .quad 0x3F49A0F663CD9CEE // c4 - .quad 0x3F61892DA49A0241 // c5 - .quad 0x3F1CC6A5F5CAD66B // c6 - .quad 0xBF2979EF063C00F3 // c7 - .quad 0xBFB5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC4EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F9D5601E554ACE4 // c0 (high double) - .quad 0xBBF1725D944B6FF0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5759CA1D35995 // c1 (low double) - .quad 0x3F7783239DE5AD22 // c2 - .quad 0x3F96EA77FED69EC2 // c3 - .quad 0x3F4DF0F48A9F5DD8 // c4 - .quad 0x3F619B9AD4B4F72F // c5 - .quad 0x3F20D33754930861 // c6 - .quad 0xBF3C5F6BDCAA4F14 // c7 - .quad 0xBFB921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC51A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA0C4146ECAB658 // c0 (high double) - .quad 0xBC0F9274210C3E30 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB57F82168B23EC // c1 (low double) - .quad 0x3F7AE3F4956ED507 // c2 - .quad 0x3F96F71391CF9DFE // c3 - .quad 0x3F5122E851208A88 // c4 - .quad 0x3F61B0E12D5FF46B // c5 - .quad 0x3F23485E944E645F // c6 - .quad 0xBF3CE0F3BC206D6A // c7 - .quad 0xBFBC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC53DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA2DD6A44CE1394 // c0 (high double) - .quad 0x3C4BFF776DAE2ACC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB58ABB899A6815 // c1 (low double) - .quad 0x3F7E46C0F6F92ADF // c2 - .quad 0x3F970563A9ED840F // c3 - .quad 0x3F53502047076AB6 // c4 - .quad 0x3F61C8E9B000D225 // c5 - .quad 0x3F25C4A8BD17699A // c6 - .quad 0x3F413144A024F67F // c7 - .quad 0xBFBF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC560FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA4F70ACF7EED25 // c0 (high double) - .quad 0x3C36D38361835224 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB59749CEE8C351 // c1 (low double) - .quad 0x3F80D5E49AFDF8A4 // c2 - .quad 0x3F97156A9BCB4ECE // c3 - .quad 0x3F55807DE55737F9 // c4 - .quad 0x3F61E42327935766 // c5 - .quad 0x3F28440F1D62D6E1 // c6 - .quad 0xBF29FA20436AFB73 // c7 - .quad 0xBFC1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C63DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA710FE6F2ADA79 // c0 (high double) - .quad 0xBC47FCD1AF1E5F81 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5A52DD3BF1903 // c1 (low double) - .quad 0x3F8289A7118F8015 // c2 - .quad 0x3F97272B048B0CB6 // c3 - .quad 0x3F57B45DC9402B09 // c4 - .quad 0x3F620239A251E2C5 // c5 - .quad 0x3F2ACB87C598F86B // c6 - .quad 0xBF314F7BD5BDC85C // c7 - .quad 0xBFC2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC5A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA92B4D8A427A5E // c0 (high double) - .quad 0x3C48D0F7423D245A // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5B4689EEE44C8 // c1 (low double) - .quad 0x3F843EC87B78BC83 // c2 - .quad 0x3F973AA7CA62B764 // c3 - .quad 0x3F59EC1D907A7E71 // c4 - .quad 0x3F62232304CE0BF5 // c5 - .quad 0x3F2D5C019E659382 // c6 - .quad 0x3F4A5742B2B8EFA5 // c7 - .quad 0xBFC46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C61A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FAB46008DFA625D // c0 (high double) - .quad 0xBC1CFC712619CB40 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5C4FB50FA0748 // c1 (low double) - .quad 0x3F85F569AE5EF4C9 // c2 - .quad 0x3F974FE41D60092F // c3 - .quad 0x3F5C281BF4A7A8E8 // c4 - .quad 0x3F62476FB617789E // c5 - .quad 0x3F2FF1DE9AA127B2 // c6 - .quad 0xBF3D841C7EAC9D16 // c7 - .quad 0xBFC5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC5EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FAD611FEEED2925 // c0 (high double) - .quad 0x3C2C094544F32A78 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5D6E7244839E4 // c1 (low double) - .quad 0x3F87ADABBEBF7F7F // c2 - .quad 0x3F9766E378A69DCA // c3 - .quad 0x3F5E68B8DEC46BCD // c4 - .quad 0x3F626E6BF47FF315 // c5 - .quad 0x3F3149F4C32A0685 // c6 - .quad 0x3F4B764BFFC07D27 // c7 - .quad 0xBFC78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C5EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FAF7CB429BEA72C // c0 (high double) - .quad 0x3C3FFC35F277313A // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5EA2D6D5456CA // c1 (low double) - .quad 0x3F8967B0057BF87E // c2 - .quad 0x3F977FA9A2ED4D75 // c3 - .quad 0x3F60572AC7A74374 // c4 - .quad 0x3F6298E78AA42A95 // c5 - .quad 0x3F329E8594822508 // c6 - .quad 0xBF37DBAE822657B7 // c7 - .quad 0xBFC921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC61A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB0CC62E1E04467 // c0 (high double) - .quad 0x3C47805D7AE2BD94 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5FECF9AE763EA // c1 (low double) - .quad 0x3F8B23982579F8E5 // c2 - .quad 0x3F979A3AB01644F9 // c3 - .quad 0x3F617CAA57838224 // c4 - .quad 0x3F62C658DCA7F4F9 // c5 - .quad 0x3F33F9251280A70A // c6 - .quad 0xBF2D5C4E19969DC6 // c7 - .quad 0xBFCAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0x3C5A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB1DAAEA5CC26DD // c0 (high double) - .quad 0xBC51577CBB7A50E2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB614CF365450F4 // c1 (low double) - .quad 0x3F8CE1861157F322 // c2 - .quad 0x3F97B69B01FB3B26 // c3 - .quad 0x3F62A50D3A3C528B // c4 - .quad 0x3F62F6E9071D40AC // c5 - .quad 0x3F3559C86E0B8558 // c6 - .quad 0x3F41AFC8FF3AAA17 // c7 - .quad 0xBFCC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC63DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB2E941ACF368E6 // c0 (high double) - .quad 0xBC28FF4CA630E010 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB62C2DE3B8D982 // c1 (low double) - .quad 0x3F8EA19C1138E963 // c2 - .quad 0x3F97D4CF49C89DB5 // c3 - .quad 0x3F63D0865FBE1BAC // c4 - .quad 0x3F632AE80D59D97F // c5 - .quad 0x3F36C01A5963B73C // c6 - .quad 0x3F2F2207CB99A5D3 // c7 - .quad 0xBFCDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0x3C56156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB3F82048F8BE00 // c0 (high double) - .quad 0x3C4AFD1EBA1D1ABA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB644ED6242FE19 // c1 (low double) - .quad 0x3F9031FE64545C32 // c2 - .quad 0x3F97F4DC89754A8C // c3 - .quad 0x3F64FF499B056453 // c4 - .quad 0x3F636226CB0F9266 // c5 - .quad 0x3F382D35D58677E8 // c6 - .quad 0x3F3E29EBBF1CE01E // c7 - .quad 0xBFCF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC660FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB5074ED126983E // c0 (high double) - .quad 0xBC516E0EB4132866 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB65F0F8C7B2809 // c1 (low double) - .quad 0x3F9114659E4D5E41 // c2 - .quad 0x3F9816C815084CDA // c3 - .quad 0x3F66318BB353364D // c4 - .quad 0x3F639CED9C49E72F // c5 - .quad 0x3F39A0F6E4942078 // c6 - .quad 0xBF2EBBDA5B521AEE // c7 - .quad 0xBFD07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0x3C51ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB616D1A2C591A8 // c0 (high double) - .quad 0xBC2EF832FD938898 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB67A9658930D84 // c1 (low double) - .quad 0x3F91F8156CC25284 // c2 - .quad 0x3F983A9794563574 // c3 - .quad 0x3F67678272C8ECDD // c4 - .quad 0x3F63DAE696E3A33F // c5 - .quad 0x3F3B1CDBB342F07A // c6 - .quad 0x3F49E00A3BCC8A23 // c7 - .quad 0xBFD1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C73DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB726AD2173D50E // c0 (high double) - .quad 0x3C1FCEC90C8C4150 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB69783D8B96CDF // c1 (low double) - .quad 0x3F92DD1FBCCBA937 // c2 - .quad 0x3F986051045C3883 // c3 - .quad 0x3F68A164B9409BD2 // c4 - .quad 0x3F641CB77D330FDA // c5 - .quad 0x3F3C9FE910D9C9B2 // c6 - .quad 0xBF302CCA991EA2A4 // c7 - .quad 0xBFD2106CA4910069 // B' = pi/2 - B (high double) - .quad 0xBC7CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB836E5B77D959A // c0 (high double) - .quad 0x3C51BDCEFF692111 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6B5DA3B72B738 // c1 (low double) - .quad 0x3F93C396B58BD74A // c2 - .quad 0x3F9887FAB9649830 // c3 - .quad 0x3F69DF6A8A7C820C // c4 - .quad 0x3F6461D201176179 // c5 - .quad 0x3F3E2C1220D981B3 // c6 - .quad 0x3F49F3B20F57CFA8 // c7 - .quad 0xBFD2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC6A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB9477FD636A4D8 // c0 (high double) - .quad 0xBC5063C8B22C4544 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6D59BCBF6C48B // c1 (low double) - .quad 0x3F94AB8CBB6CBB16 // c2 - .quad 0x3F98B19B6070D56D // c3 - .quad 0x3F6B21CD22DB24B2 // c4 - .quad 0x3F64AAE4575F07F6 // c5 - .quad 0x3F3FC08B3806F34C // c6 - .quad 0xBF00E42769BBA67A // c7 - .quad 0xBFD3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0x3C41B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBA587FF6553726 // c0 (high double) - .quad 0xBC5559CFE8367078 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6F6CAF293AC7F // c1 (low double) - .quad 0x3F959514736F007F // c2 - .quad 0x3F98DD3A019E14EB // c3 - .quad 0x3F6C68C706B3D0FB // c4 - .quad 0x3F64F779DB6C50B2 // c5 - .quad 0x3F40AF7CD7497CB8 // c6 - .quad 0x3F4AD3B9828EFAF2 // c7 - .quad 0xBFD46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C71A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBB69EA984DE6EF // c0 (high double) - .quad 0xBC573CB7437F11CA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7196A3515E12E // c1 (low double) - .quad 0x3F968040C68C8FE8 // c2 - .quad 0x3F990ADE01D185E6 // c3 - .quad 0x3F6DB49417B3E65C // c4 - .quad 0x3F6548393E856C2F // c5 - .quad 0x3F418353F7828212 // c6 - .quad 0xBF36489E043C6801 // c7 - .quad 0xBFD534AC0F19860C // B' = pi/2 - B (high double) - .quad 0xBC7EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBC7BC444B10758 // c0 (high double) - .quad 0xBC511540B2269343 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB73D7C3735AA80 // c1 (low double) - .quad 0x3F976D24E52F1F79 // c2 - .quad 0x3F993A8F25560FF4 // c3 - .quad 0x3F6F0571A586F6F3 // c4 - .quad 0x3F659C8E8181F3A3 // c5 - .quad 0x3F425CCABE1034F4 // c6 - .quad 0x3F4D59CA0F6FD35D // c7 - .quad 0xBFD5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC6EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBD8E118C89577F // c0 (high double) - .quad 0x3C3344F06C36B16C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB76303BB0A22C5 // c1 (low double) - .quad 0x3F985BD44ABC0416 // c2 - .quad 0x3F996C5591BA6DFA // c3 - .quad 0x3F702DCF4265B5B3 // c4 - .quad 0x3F65F52766DBD111 // c5 - .quad 0x3F433B879649EF12 // c6 - .quad 0x3F47C67A938B39B9 // c7 - .quad 0xBFD6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0x3BB6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBEA0D709BC27CA // c0 (high double) - .quad 0x3C48928D103E8AAC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB78A03A181D6AC // c1 (low double) - .quad 0x3F994C62C1366C88 // c2 - .quad 0x3F99A039D09A41AD // c3 - .quad 0x3F70DBAD90C6529A // c4 - .quad 0x3F66520A2F7F46B3 // c5 - .quad 0x3F441FF58F223B31 // c6 - .quad 0xBF357CCF19FA9D15 // c7 - .quad 0xBFD78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C6EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBFB4195F6B0333 // c0 (high double) - .quad 0x3C47DB89E2705528 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7B27EEAE12CDB // c1 (low double) - .quad 0x3F9A3EE464F938D9 // c2 - .quad 0x3F99D644D21E7AE8 // c3 - .quad 0x3F718C74CAAA7BA1 // c4 - .quad 0x3F66B2F778B94D1C // c5 - .quad 0x3F450AB96EF7371C // c6 - .quad 0x3F1412EF7B7239D9 // c7 - .quad 0xBFD858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0x3C7EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC063EE9D2B777C // c0 (high double) - .quad 0x3C4E1787D8B79264 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7DC78B746BB2F // c1 (low double) - .quad 0x3F9B336DA889AC7D // c2 - .quad 0x3F9A0E7FEF8737D6 // c3 - .quad 0x3F724046DF328844 // c4 - .quad 0x3F67185639AB9983 // c5 - .quad 0x3F45FBD25ACB3A74 // c6 - .quad 0x3F0E765A126439F7 // c7 - .quad 0xBFD921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC71A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC0EE13A8A2A9C6 // c0 (high double) - .quad 0xBC5830A63DDC366C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB807F44735B1A4 // c1 (low double) - .quad 0x3F9C2A135884458A // c2 - .quad 0x3F9A48F4EE376E9D // c3 - .quad 0x3F72F746AAC73A47 // c4 - .quad 0x3F678215824701AF // c5 - .quad 0x3F46F3C719FB66E6 // c6 - .quad 0x3F4BA88D5ED09DD1 // c7 - .quad 0xBFD9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0xBC419ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC1787E32B35112 // c0 (high double) - .quad 0xBC5D2D85EBE7CAE6 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB834F4FC268515 // c1 (low double) - .quad 0x3F9D22EA9FA50E7D // c2 - .quad 0x3F9A85AE02819BA3 // c3 - .quad 0x3F73B19803AB2B21 // c4 - .quad 0x3F67F0B8C640461D // c5 - .quad 0x3F47F293167B409B // c6 - .quad 0xBF198BF45EA16C3A // c7 - .quad 0xBFDAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0x3C6A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC20330A15F6568 // c0 (high double) - .quad 0x3C61BB4F210EA8D1 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8637E591E05FE // c1 (low double) - .quad 0x3F9E1E090AECCE81 // c2 - .quad 0x3F9AC4B5D3090946 // c3 - .quad 0x3F746F5FC5C316BA // c4 - .quad 0x3F686400E51F53C2 // c5 - .quad 0x3F48F8EADC3DB9C7 // c6 - .quad 0xBF320AB3DF7578B7 // c7 - .quad 0xBFDB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0x3C7CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC28E2D6047CBC8 // c0 (high double) - .quad 0xBC0CEAB2537F4380 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB89394034B11CF // c1 (low double) - .quad 0x3F9F1B848DE48876 // c2 - .quad 0x3F9B06177BDD3821 // c3 - .quad 0x3F7530C3E0150AA0 // c4 - .quad 0x3F68DBF62FBA70A3 // c5 - .quad 0x3F4A0736C860B4FE // c6 - .quad 0x3F50A3F1D969C867 // c7 - .quad 0xBFDC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC73DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC31976E0E280B3 // c0 (high double) - .quad 0xBC667516EE4F2544 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8C539C2AB0F89 // c1 (low double) - .quad 0x3FA00DB9C3806462 // c2 - .quad 0x3F9B49DE91DB8E44 // c3 - .quad 0x3F75F5EB6258C838 // c4 - .quad 0x3F695952C6BEE632 // c5 - .quad 0x3F4B1D691B1E9E68 // c6 - .quad 0xBEFC71567DD0AC40 // c7 - .quad 0xBFDD0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0xBC51A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC3A50F9AB1CA91 // c0 (high double) - .quad 0x3C50CA3B48D90906 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8F87382B56ACB // c1 (low double) - .quad 0x3FA08EF662132882 // c2 - .quad 0x3F9B901726A3CD1C // c3 - .quad 0x3F76BEFE8A4461A2 // c4 - .quad 0x3F69DBAE42D8A424 // c5 - .quad 0x3F4C3C52357BEFDC // c6 - .quad 0x3F32456D9E4ECEE8 // c7 - .quad 0xBFDDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0x3C66156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC430FA0B7C7F15 // c0 (high double) - .quad 0x3C63115D3C69C8AB // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB92D45530E4319 // c1 (low double) - .quad 0x3FA11183C3A8DFF6 // c2 - .quad 0x3F9BD8CDCC073185 // c3 - .quad 0x3F778C26D2F52E9A // c4 - .quad 0x3F6A638650FB67B4 // c5 - .quad 0x3F4D6420527BDA5C // c6 - .quad 0xBF2DA5A647B98994 // c7 - .quad 0xBFDEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0x3C7A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC4BD38B7876716 // c0 (high double) - .quad 0x3C5504069A91A838 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB963B368408780 // c1 (low double) - .quad 0x3FA1956DC5B1F35A // c2 - .quad 0x3F9C240F984C07DC // c3 - .quad 0x3F785D8F0388F11C // c4 - .quad 0x3F6AF0B073DF1CB2 // c5 - .quad 0x3F4E9580D70D3533 // c6 - .quad 0x3F4571315C6E8041 // c7 - .quad 0xBFDF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC760FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC549CE29CFCCBE // c0 (high double) - .quad 0xBC69881846E0BF86 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB99BC21C7FB9B2 // c1 (low double) - .quad 0x3FA21AC0848A46C5 // c2 - .quad 0x3F9C71EA2A16819D // c3 - .quad 0x3F7933633F8F0072 // c4 - .quad 0x3F6B83D1C5509A03 // c5 - .quad 0x3F4FD088727B14B9 // c6 - .quad 0xBF2306C949D5376C // c7 - .quad 0xBFE019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0x3C8CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC5D6BCF447403E // c0 (high double) - .quad 0xBC6C6C662876B393 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB9D575F071964A // c1 (low double) - .quad 0x3FA2A1885E06BEAC // c2 - .quad 0x3F9CC26BAD1B38B8 // c3 - .quad 0x3F7A0DD116DA5229 // c4 - .quad 0x3F6C1C921E809C74 // c5 - .quad 0x3F508B03CEF8B0C3 // c6 - .quad 0x3F4BCE57D088C848 // c7 - .quad 0xBFE07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0x3C61ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC66407B0109FA6 // c0 (high double) - .quad 0x3C55C3EC26D04666 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA10D38BFFE319 // c1 (low double) - .quad 0x3FA329D1F417DBD6 // c2 - .quad 0x3F9D15A2DE544C7C // c3 - .quad 0x3F7AED07977D3236 // c4 - .quad 0x3F6CBBAD3C53FDE7 // c5 - .quad 0x3F513318B342B49D // c6 - .quad 0x3F1AF93D0FFB8A50 // c7 - .quad 0xBFE0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0xBC83DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC6F1B0FDBE6EDE // c0 (high double) - .quad 0x3C614F63025E35DC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA4DDFBF32A727 // c1 (low double) - .quad 0x3FA3B3AA2F826E47 // c2 - .quad 0x3F9D6B9F112A3CA9 // c3 - .quad 0x3F7BD1375F2B326E // c4 - .quad 0x3F6D60EF002A5959 // c5 - .quad 0x3F51E0E0E3E641DE // c6 - .quad 0x3F32BFA3B8923D31 // c7 - .quad 0xBFE1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C83DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC77FBB85928D2D // c0 (high double) - .quad 0xBC6121F4E1AC8166 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA8C9F83131391 // c1 (low double) - .quad 0x3FA43F1E42AF6970 // c2 - .quad 0x3F9DC4703433CA75 // c3 - .quad 0x3F7CBA92AE7FE396 // c4 - .quad 0x3F6E0CB6D0475CCF // c5 - .quad 0x3F529491FB8790D2 // c6 - .quad 0x3F37152AFD195A10 // c7 - .quad 0xBFE1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0xBC61A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC80E29F7BF5633 // c0 (high double) - .quad 0x3C67F8F06ACC7061 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBACD17FA976786 // c1 (low double) - .quad 0x3FA4CC3BAC93F075 // c2 - .quad 0x3F9E2026D6967836 // c3 - .quad 0x3F7DA94D7C694B78 // c4 - .quad 0x3F6EBF4F14B98A92 // c5 - .quad 0x3F534E7211F873CE // c6 - .quad 0xBF2290D13622948A // c7 - .quad 0xBFE2106CA4910069 // B' = pi/2 - B (high double) - .quad 0xBC8CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC89CFF0CAA3CB4 // c0 (high double) - .quad 0xBC6A8D50D06FC283 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB0F4E73981D4B // c1 (low double) - .quad 0x3FA55B103BB2BD6D // c2 - .quad 0x3F9E7ED42D91EC8D // c3 - .quad 0x3F7E9D9D8AAE7B14 // c4 - .quad 0x3F6F78B5039EFAD8 // c5 - .quad 0x3F540EDBA3A78643 // c6 - .quad 0x3F3AA2CB5E5BE1ED // c7 - .quad 0xBFE274F491E2111E // B' = pi/2 - B (high double) - .quad 0x3C7613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC92C3D852FEDF2 // c0 (high double) - .quad 0x3C20F5E7403E5E20 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB534867CEB1CB // c1 (low double) - .quad 0x3FA5EBAA113813D4 // c2 - .quad 0x3F9EE08A1A202CC5 // c3 - .quad 0x3F7F97BA7BA1301A // c4 - .quad 0x3F701CAD7F191DFA // c5 - .quad 0x3F54D60D13221310 // c6 - .quad 0x3F45F5FE99894FC6 // c7 - .quad 0xBFE2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC7A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC9BBE82AEA0D12 // c0 (high double) - .quad 0xBC62D116CA77096B // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB990B7DDE5BFC // c1 (low double) - .quad 0x3FA67E17A4317C6C // c2 - .quad 0x3F9F455B2F170454 // c3 - .quad 0x3F804BEEF437A2B3 // c4 - .quad 0x3F7080CEADF2976D // c5 - .quad 0x3F55A44E3A71E919 // c6 - .quad 0xBF039F946FDF9BBB // c7 - .quad 0xBFE33E046C843287 // B' = pi/2 - B (high double) - .quad 0x3C8A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCA4C01D0769648 // c0 (high double) - .quad 0x3C4DDC96CAE4A06C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBBE09D8A670D72 // c1 (low double) - .quad 0x3FA71267C4E29753 // c2 - .quad 0x3F9FAD5AB78BB764 // c3 - .quad 0x3F80CF21BC414F68 // c4 - .quad 0x3F70E8AC1DCF4352 // c5 - .quad 0x3F567A14C053085F // c6 - .quad 0x3F4F621D6DE176C4 // c7 - .quad 0xBFE3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0x3C51B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCADC8D51C0FA5B // c0 (high double) - .quad 0x3C54B350B5D39570 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC2A04912319A8 // c1 (low double) - .quad 0x3FA7A8A9A038608E // c2 - .quad 0x3FA00C4E5E972915 // c3 - .quad 0x3F8155947D4C5C83 // c4 - .quad 0x3F7154A7B149DA58 // c5 - .quad 0x3F5757960EDFC45C // c6 - .quad 0x3F3F895706E3352B // c7 - .quad 0xBFE40714472653EF // B' = pi/2 - B (high double) - .quad 0xBC86106670B43955 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCB6D8D944D0371 // c0 (high double) - .quad 0xBC6CDD9D6EA4BA41 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC7546C60FE5C7 // c1 (low double) - .quad 0x3FA840ECC35C53FD // c2 - .quad 0x3FA0439B07C380F3 // c3 - .quad 0x3F81DF673F038AB5 // c4 - .quad 0x3F71C4B3C36B8A12 // c5 - .quad 0x3F583D44FA2FB203 // c6 - .quad 0x3F52EE3E6132A151 // c7 - .quad 0xBFE46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C81A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCBFF05878394D3 // c0 (high double) - .quad 0x3C486912F813E2EC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBCC26A8EA2077F // c1 (low double) - .quad 0x3FA8DB411F68EE69 // c2 - .quad 0x3FA07C9E25737218 // c3 - .quad 0x3F826CBB3713A292 // c4 - .quad 0x3F72392A32F26720 // c5 - .quad 0x3F592B76EEB6E2FF // c6 - .quad 0x3F39BADB5780F9BE // c7 - .quad 0xBFE4D02421C87558 // B' = pi/2 - B (high double) - .quad 0xBC6A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCC90F8250157F7 // c0 (high double) - .quad 0x3C657D8312BFEA17 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD117683053E13 // c1 (low double) - .quad 0x3FA977B70D411C29 // c2 - .quad 0x3FA0B762F022F359 // c3 - .quad 0x3F82FDB2D7324A8F // c4 - .quad 0x3F72B2030A36AADF // c5 - .quad 0x3F5A22A22953FC15 // c6 - .quad 0x3F473A2F09CE8F95 // c7 - .quad 0xBFE534AC0F19860C // B' = pi/2 - B (high double) - .quad 0xBC8EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCD236870E769B5 // c0 (high double) - .quad 0x3C523CE78218C6AA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD62716F68B5FE // c1 (low double) - .quad 0x3FAA165F518C38AB // c2 - .quad 0x3FA0F3F50E789484 // c3 - .quad 0x3F839271DC18DB75 // c4 - .quad 0x3F732F8BAC4C54A8 // c5 - .quad 0x3F5B23248F865B74 // c6 - .quad 0x3F36E307E2B0837C // c7 - .quad 0xBFE59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0x3C71AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCDB6597A2E1B61 // c0 (high double) - .quad 0xBC6CB71A947AACF6 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBDB56255580CA4 // c1 (low double) - .quad 0x3FAAB74B20D856E7 // c2 - .quad 0x3FA1326099896038 // c3 - .quad 0x3F842B1D5CF84F74 // c4 - .quad 0x3F73B1CC2C4E32D2 // c5 - .quad 0x3F5C2D7D75B7FC1B // c6 - .quad 0x3F53DB94CE2C2FD8 // c7 - .quad 0xBFE5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC7EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCE49CE5AF9DC29 // c0 (high double) - .quad 0xBC382336F1C6BD90 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE0A506D218F3C // c1 (low double) - .quad 0x3FAB5A8C23E49FEA // c2 - .quad 0x3FA172B22117D625 // c3 - .quad 0x3F84C7DBDBF304B9 // c4 - .quad 0x3F74391DF553E930 // c5 - .quad 0x3F5D4211231EF24A // c6 - .quad 0x3F52AB1CCD8D3AA9 // c7 - .quad 0xBFE66243D70CB82A // B' = pi/2 - B (high double) - .quad 0x3C884805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCEDDCA38F25FEC // c0 (high double) - .quad 0xBC65AACB9E8B4DF8 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE6143274A35BF // c1 (low double) - .quad 0x3FAC00347C15ABB2 // c2 - .quad 0x3FA1B4F6B03A62C8 // c3 - .quad 0x3F8568D557225239 // c4 - .quad 0x3F74C5A8346B0155 // c5 - .quad 0x3F5E61680C7E386A // c6 - .quad 0x3F45A81E03899535 // c7 - .quad 0xBFE6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0x3BC6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCF7250459C1976 // c0 (high double) - .quad 0x3C40B5B081F06BA0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBEBA422E0FE0E5 // c1 (low double) - .quad 0x3FACA856C815D042 // c2 - .quad 0x3FA1F93BD218DCE9 // c3 - .quad 0x3F860E335AB42933 // c4 - .quad 0x3F75578EEA5D18D8 // c5 - .quad 0x3F5F8BFBAD564E86 // c6 - .quad 0x3F434A80D1DA21D1 // c7 - .quad 0xBFE72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0xBC88452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD003B1DF5A0F86 // c0 (high double) - .quad 0x3C716CEB71FB716B // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF155566FA6884 // c1 (low double) - .quad 0x3FAD530628A37C7A // c2 - .quad 0x3FA23F8F96E80A99 // c3 - .quad 0x3F86B82113BDC04E // c4 - .quad 0x3F75EF0B9C9DF1C6 // c5 - .quad 0x3F60613421CB6A80 // c6 - .quad 0x3F48E48E906FE806 // c7 - .quad 0xBFE78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C7EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD04E83F7474877 // c0 (high double) - .quad 0x3C73B117AC20AC65 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF7284F47C0E61 // c1 (low double) - .quad 0x3FAE0056458FCED5 // c2 - .quad 0x3FA28800992AEEE6 // c3 - .quad 0x3F8766CB6439B11D // c4 - .quad 0x3F768C54DBB36839 // c5 - .quad 0x3F610297B13942C6 // c6 - .quad 0x3F5536BD1C4BF79E // c7 - .quad 0xBFE7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0xBC71A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD099A0163BCD3F // c0 (high double) - .quad 0x3C7A7F11D963D72E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBFD1D937A1F094 // c1 (low double) - .quad 0x3FAEB05B52EFB4C0 // c2 - .quad 0x3FA2D29E032A57DB // c3 - .quad 0x3F881A60F7D38723 // c4 - .quad 0x3F772FBBF1BFA28B // c5 - .quad 0x3F61AA745B27BB01 // c6 - .quad 0x3F51CC19136F91C1 // c7 - .quad 0xBFE858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0x3C8EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD0E507EE8B93D7 // c0 (high double) - .quad 0x3C679F09CDD5D5B2 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBFCCA52E2AE201 // c1 (low double) - .quad 0x3FAF632A1681FD0B // c2 - .quad 0x3FA31F7794BDF922 // c3 - .quad 0x3F88D31259E30525 // c4 - .quad 0x3F77D97B728544F5 // c5 - .quad 0x3F62591A3A2B699F // c6 - .quad 0x3F3605B387A5D7A0 // c7 - .quad 0xBFE8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0x3C6A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD130BD396BB4A9 // c0 (high double) - .quad 0xBC657D8592EA09D4 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBF68ED595308D6 // c1 (low double) - .quad 0x3FB00C6BF6A673E6 // c2 - .quad 0x3FA36E9DA9556AA6 // c3 - .quad 0x3F8991120C7D4BB9 // c4 - .quad 0x3F7889ABD6008215 // c5 - .quad 0x3F630EE404688883 // c6 - .quad 0x3F52CAD75A2201AF // c7 - .quad 0xBFE921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC81A62633145C07 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFF0000000000000 // c0 (high double) - .quad 0x3C0492B176DF0500 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0x0000000000000000 // c1 (low double) - .quad 0xC00000000000010A // c2 - .quad 0x4005555555555614 // c3 - .quad 0xC00AAAAAA890EF4D // c4 - .quad 0x4011111110018C73 // c5 - .quad 0xC015B108FB920A0B // c6 - .quad 0x401BA285D6669571 // c7 - .quad 0xBFE9868341953DCD // B' = pi/2 - B (high double) - .quad 0x3C861341341F5289 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEF395D9F0E3C92 // c0 (high double) - .quad 0x3C550BEC65726E28 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFA8873C53BE0540 // c1 (low double) - .quad 0xBFFE79E5C65202DE // c2 - .quad 0x400412FD76797C7D // c3 - .quad 0xC008AAB30DC82D37 // c4 - .quad 0x400F1B6C68B4AEA4 // c5 - .quad 0xC013758CE9BD9EFA // c6 - .quad 0x40186872A0685915 // c7 - .quad 0xBFE9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0xBC519ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEE776EAFC91706 // c0 (high double) - .quad 0xBC890664EDC53F33 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFB7F295AD658764 // c1 (low double) - .quad 0xBFFD0AA1DB7F5E58 // c2 - .quad 0x4002E8A6F9693556 // c3 - .quad 0xC006D7CA16B298C6 // c4 - .quad 0x400C63DFCAA3FB6C // c5 - .quad 0xC0117C3EE50D7742 // c6 - .quad 0x401599932C96B9B6 // c7 - .quad 0xBFEA4F931C375F35 // B' = pi/2 - B (high double) - .quad 0xBC8A79EFFD795057 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEDB9FA89953FCF // c0 (high double) - .quad 0xBC286C68F514A640 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC18AC418849A6E // c1 (low double) - .quad 0xBFFBB083E02786D7 // c2 - .quad 0x4001D438F8A20402 // c3 - .quad 0xC0052D5D6FF7A4BD // c4 - .quad 0x4009F262067BAA5A // c5 - .quad 0xC00F793DA8608BED // c6 - .quad 0x401328BFC5F60A29 // c7 - .quad 0xBFEAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0x3C7A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFED00CBC7384D2E // c0 (high double) - .quad 0xBC78C4FC635B4060 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC6DA3A87611EA6 // c1 (low double) - .quad 0xBFFA6A00F50D3A6F // c2 - .quad 0x4000D3D0A6ABBD46 // c3 - .quad 0xC003A760672280D0 // c4 - .quad 0x4007BF026C103550 // c5 - .quad 0xC00C5EBD23F4E2ED // c6 - .quad 0x4011024DB786758B // c7 - .quad 0xBFEB18A2F6D9809E // B' = pi/2 - B (high double) - .quad 0xBC760E425E23E66F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEC4BB009E77983 // c0 (high double) - .quad 0x3C5346B6895BC358 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFCBEB63A6D04570 // c1 (low double) - .quad 0xBFF935AFFA8DCC1D // c2 - .quad 0x3FFFCB7657D15F0B // c3 - .quad 0xC002423AFCE75F54 // c4 - .quad 0x4005C2CF61AD4B89 // c5 - .quad 0xC0099C675A298F5C // c6 - .quad 0x400E49F38B657F96 // c7 - .quad 0xBFEB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0x3C8CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEB9A77C18C1AF2 // c0 (high double) - .quad 0xBC76EA194A3A10DE // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD060D88DF903DF // c1 (low double) - .quad 0xBFF812463C417D93 // c2 - .quad 0x3FFE10E093E6DE8D // c3 - .quad 0xC000FABB50DD022E // c4 - .quad 0x4003F7B45B053F77 // c5 - .quad 0xC007275FB67DBBDD // c6 - .quad 0x400B02CB76CD2071 // c7 - .quad 0xBFEBE1B2D17BA207 // B' = pi/2 - B (high double) - .quad 0x3C61AEB67D55A7A1 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEAECF5F9BA35A6 // c0 (high double) - .quad 0xBC45350833FF1F00 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD2B02B2D565D55 // c1 (low double) - .quad 0xBFF6FE947B408BAC // c2 - .quad 0x3FFC751B52A83938 // c3 - .quad 0xBFFF9C12181CFBBA // c4 - .quad 0x4002585B4421C074 // c5 - .quad 0xC004F6412119DA02 // c6 - .quad 0x400814BACED70A9A // c7 - .quad 0xBFEC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC83DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEA43002AE42850 // c0 (high double) - .quad 0x3C7A7C0406DA50C8 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD4E526E33345B8 // c1 (low double) - .quad 0xBFF5F9844B626284 // c2 - .quad 0x3FFAF5A574C2F3BF // c3 - .quad 0xBFFD7334FD198D13 // c4 - .quad 0x4000E01251879DC7 // c5 - .quad 0xC00300E6F5213CD0 // c6 - .quad 0x40058BA67D3A0565 // c7 - .quad 0xBFECAAC2AC1DC370 // B' = pi/2 - B (high double) - .quad 0x3C83DE7C6DBCC708 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE99C6E0F634394 // c0 (high double) - .quad 0xBC81A125C4B050B6 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD7012EAAC8A987 // c1 (low double) - .quad 0xBFF50215B95FD940 // c2 - .quad 0x3FF9903A2B193F49 // c3 - .quad 0xBFFB7656607D37C1 // c4 - .quad 0x3FFF156F461C0EDF // c5 - .quad 0xC001403E48F27428 // c6 - .quad 0x40034ACD8D387876 // c7 - .quad 0xBFED0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0xBC61A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE8F9197BF85EEB // c0 (high double) - .quad 0x3C77971D70636FAC // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD9058D62BBB98D // c1 (low double) - .quad 0xBFF4175D31199B0C // c2 - .quad 0x3FF842CA948070CE // c3 - .quad 0xBFF9A1675E6F2233 // c4 - .quad 0x3FFCA94A75D1DF36 // c5 - .quad 0xBFFF5C3EE98CB792 // c6 - .quad 0x4001549BBD776205 // c7 - .quad 0xBFED73D286BFE4D8 // B' = pi/2 - B (high double) - .quad 0xBC8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE858DE3B716571 // c0 (high double) - .quad 0xBC8C6340D74E9430 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDAF377B50F3DE8 // c1 (low double) - .quad 0xBFF338819C6A585B // c2 - .quad 0x3FF70B781BB3F9F8 // c3 - .quad 0xBFF7F0C4DC952BEE // c4 - .quad 0x3FFA75444794B0BE // c5 - .quad 0xBFFC8A58AEEA1540 // c6 - .quad 0x3FFF1509C3EC4766 // c7 - .quad 0xBFEDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0x3C76156546AFA570 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE7BB99ED2990CF // c0 (high double) - .quad 0x3C8AABB12893C19F // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDCCC0DD257FE9F // c1 (low double) - .quad 0xBFF264BAB3E8C3FC // c2 - .quad 0x3FF5E88F7CC1F7BC // c3 - .quad 0xBFF6612B1AE228E1 // c4 - .quad 0x3FF873A64164BF01 // c5 - .quad 0xBFFA016987C44E3B // c6 - .quad 0x3FFBFCA608E3ABD2 // c7 - .quad 0xBFEE3CE261620641 // B' = pi/2 - B (high double) - .quad 0xBC7A77CBEAE8FD71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE7212BE621BE6D // c0 (high double) - .quad 0xBC8AD14CAC5A8A36 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDE905D04D13F70 // c1 (low double) - .quad 0xBFF19B4F7BD63206 // c2 - .quad 0x3FF4D8845C8EEC38 // c3 - .quad 0xBFF4EFAAD70924AA // c4 - .quad 0x3FF69F610EDFA787 // c5 - .quad 0xBFF7B93C8525967B // c6 - .quad 0x3FF928F491396159 // c7 - .quad 0xBFEEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0x3C8A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE6897514751DB6 // c0 (high double) - .quad 0xBC7432E085692DD0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDFBE9EE099229D // c1 (low double) - .quad 0xBFF0DB94E83152C9 // c2 - .quad 0x3FF3D9ED602549D9 // c3 - .quad 0xBFF3999FCB35B63C // c4 - .quad 0x3FF4F3F4BB18D34D // c5 - .quad 0xBFF5AA9FE2712A98 // c6 - .quad 0x3FF6B61F156D15A2 // c7 - .quad 0xBFEF05F23C0427AA // B' = pi/2 - B (high double) - .quad 0x3C51B746C796F33C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE5F457E4F4812E // c0 (high double) - .quad 0xBC8F6EE06A43AD15 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDE1FFA33ABCB2D // c1 (low double) - .quad 0xBFF024ECA3857FDF // c2 - .quad 0x3FF2EB80B3E2C969 // c3 - .quad 0xBFF25CA858ECE33E // c4 - .quad 0x3FF36D6159DB2BC3 // c5 - .quad 0xBFF3CF427530AFAE // c6 - .quad 0x3FF4914D16BF30E1 // c7 - .quad 0xBFEF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC860FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE561B82AB7F990 // c0 (high double) - .quad 0xBC87A5FA3E37C2A5 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDC92D84170BCC6 // c1 (low double) - .quad 0xBFEEED87E934644C // c2 - .quad 0x3FF20C10F4D7D072 // c3 - .quad 0xBFF1369E37DA5741 // c4 - .quad 0x3FF20816F61AB3EE // c5 - .quad 0xBFF221953D8712FA // c6 - .quad 0x3FF29CA76CD56201 // c7 - .quad 0xBFEFCF0216A64913 // B' = pi/2 - B (high double) - .quad 0x3C81A9B7A75A3B87 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE4D17B087B265D // c0 (high double) - .quad 0x3C788AAC4AE25B54 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDB166A3723839C // c1 (low double) - .quad 0xBFEDA1257F3D5E87 // c2 - .quad 0x3FF13A8A70704F6B // c3 - .quad 0xBFF025900612C493 // c4 - .quad 0x3FF0C0E778680DE8 // c5 - .quad 0xBFF09CB2B02DFCD5 // c6 - .quad 0x3FF0D681147681E0 // c7 - .quad 0xBFF019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0x3C9CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE44386DB9CE5DB // c0 (high double) - .quad 0x3C8A7F79AD345EDE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD9A9EE22E82AF2 // c1 (low double) - .quad 0xBFEC63B53FACFD1B // c2 - .quad 0x3FF075F0B010F1C9 // c3 - .quad 0xBFEE4F7738A37AC1 // c4 - .quad 0x3FEF29F7068A6E01 // c5 - .quad 0xBFEE78912F3E48A3 // c6 - .quad 0x3FEE7DE5AD1A6D54 // c7 - .quad 0xBFF04C08F8A4353E // B' = pi/2 - B (high double) - .quad 0x3C908E433AE0CC54 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE3B7C3289ED6F3 // c0 (high double) - .quad 0x3C8C4CF3D3282C13 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD84CAE0A06DE7C // c1 (low double) - .quad 0xBFEB344C2E4C0F47 // c2 - .quad 0x3FEF7AB88F5F820C // c3 - .quad 0xBFEC771219A99E98 // c4 - .quad 0x3FED0390B144EACA // c5 - .quad 0xBFEBF90A32A17514 // c6 - .quad 0x3FEBAC50A2919B8C // c7 - .quad 0xBFF07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0x3C71ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE32E1889047FFD // c0 (high double) - .quad 0x3C810D08F013759C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD6FDFF12A4297B // c1 (low double) - .quad 0xBFEA120FA25B9D83 // c2 - .quad 0x3FEE1FF1BF27E6AB // c3 - .quad 0xBFEABF0C6E045EA0 // c4 - .quad 0x3FEB0A0E2CDCAB88 // c5 - .quad 0xBFE9B40D41660E9D // c6 - .quad 0x3FE92FCC1848D94B // c7 - .quad 0xBFF0B090E5F545F2 // B' = pi/2 - B (high double) - .quad 0xBC7EE15577AE1472 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE2A6709A74F289 // c0 (high double) - .quad 0xBC76E3B98C266662 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD5BD40BF249496 // c1 (low double) - .quad 0xBFE8FC33EFCF6F3A // c2 - .quad 0x3FECDA06E4CFC822 // c3 - .quad 0xBFE924C5BA1C7515 // c4 - .quad 0x3FE9395A86CEDBCB // c5 - .quad 0xBFE7A39B6931C7D4 // c6 - .quad 0x3FE6D875BED7A2F5 // c7 - .quad 0xBFF0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0xBC93DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE220B5EF047825 // c0 (high double) - .quad 0xBC5AE1F6C712B338 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD489DC399ADDEC // c1 (low double) - .quad 0xBFE7F1FB2FEBE8C6 // c2 - .quad 0x3FEBA791734D6CCE // c3 - .quad 0xBFE7A5DA56BAB9DA // c4 - .quad 0x3FE78DC9A17C17D7 // c5 - .quad 0xBFE5C262725357AE // c6 - .quad 0x3FE4D1FE58052A5F // c7 - .quad 0xBFF11518D34656A6 // B' = pi/2 - B (high double) - .quad 0xBC9FFEEDF6B7D68D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE19CD3FE8E405D // c0 (high double) - .quad 0x3C84E5C1D4831B21 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD36343ADCAF866 // c1 (low double) - .quad 0xBFE6F2B4260FF6A8 // c2 - .quad 0x3FEA8747864942E1 // c3 - .quad 0xBFE6401D47362936 // c4 - .quad 0x3FE6040F50A52FBE // c5 - .quad 0xBFE40BA6192CC675 // c6 - .quad 0x3FE302E7DABA2D8E // c7 - .quad 0xBFF1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C93DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE11AB7190834EC // c0 (high double) - .quad 0x3C8E577A07DB8B3E // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD248F1B07217E3 // c1 (low double) - .quad 0xBFE5FDB93DD01D06 // c2 - .quad 0x3FE977F956462152 // c3 - .quad 0xBFE4F192BE91E40A // c4 - .quad 0x3FE49932EEB2A51C // c5 - .quad 0xBFE27B305435DE25 // c6 - .quad 0x3FE176C2BDD3411E // c7 - .quad 0xBFF179A0C097675B // B' = pi/2 - B (high double) - .quad 0x3C7EE9E5C1EF600D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE09A4C59BD0D4D // c0 (high double) - .quad 0x3C451D94A7B87B10 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD13A68B2A5E855 // c1 (low double) - .quad 0xBFE5126F9FD8D89F // c2 - .quad 0x3FE8788EEDC53F19 // c3 - .quad 0xBFE3B86B3E883B76 // c4 - .quad 0x3FE34A881E7F09CA // c5 - .quad 0xBFE10D3EF07D1073 // c6 - .quad 0x3FDFEBFE6A9FE5DD // c7 - .quad 0xBFF1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0xBC71A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE01B819B5A7CF7 // c0 (high double) - .quad 0xBC80BED996FB9ED6 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD03732803B2A4C // c1 (low double) - .quad 0xBFE430465B55C6C0 // c2 - .quad 0x3FE78806185ACF72 // c3 - .quad 0xBFE292FF3DF61A34 // c4 - .quad 0x3FE215A449967BC2 // c5 - .quad 0xBFDF7CEF2946D3BA // c6 - .quad 0x3FDD0F4FF3CD4465 // c7 - .quad 0xBFF1DE28ADE8780F // B' = pi/2 - B (high double) - .quad 0xBC908C1F2850796D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDF3C8AD985D9EE // c0 (high double) - .quad 0xBC455C31F533FF68 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCE7DBF907D8618 // c1 (low double) - .quad 0xBFE356B5A1D9CA5A // c2 - .quad 0x3FE6A57085697F99 // c3 - .quad 0xBFE17FCB46BE280B // c4 - .quad 0x3FE0F858275BAA48 // c5 - .quad 0xBFDD17B47CA8A84B // c6 - .quad 0x3FDA9B369A707A6B // c7 - .quad 0xBFF2106CA4910069 // B' = pi/2 - B (high double) - .quad 0xBC9CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDE450E0D273E7A // c0 (high double) - .quad 0xBC74138BBC4225C5 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCCA20F5D4879EA // c1 (low double) - .quad 0xBFE2853E13FBB7C7 // c2 - .quad 0x3FE5CFF21905E477 // c3 - .quad 0xBFE07D6C7D0DAC66 // c4 - .quad 0x3FDFE1550F550217 // c5 - .quad 0xBFDAE570CE7F6BE5 // c6 - .quad 0x3FD89328A3AB7677 // c7 - .quad 0xBFF242B09B3988C4 // B' = pi/2 - B (high double) - .quad 0x3C972D483EE33523 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDD506C82A2C800 // c0 (high double) - .quad 0xBC6E169413DFE956 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCADA8ECCC42C48 // c1 (low double) - .quad 0xBFE1BB681D0BE8A7 // c2 - .quad 0x3FE506BF662527D3 // c3 - .quad 0xBFDF153B07CB2306 // c4 - .quad 0x3FDDF9A636394DCA // c5 - .quad 0xBFD8E153A4A7867F // c6 - .quad 0x3FD6937B37976C23 // c7 - .quad 0xBFF274F491E2111E // B' = pi/2 - B (high double) - .quad 0x3C8613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDC5E87185E67B6 // c0 (high double) - .quad 0xBC4FEBA1F148ADA8 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC92683A68EB5D0 // c1 (low double) - .quad 0xBFE0F8C35C7247C7 // c2 - .quad 0x3FE4491C4DCA262E // c3 - .quad 0xBFDD4C67683395D6 // c4 - .quad 0x3FDC3667C15EBF92 // c5 - .quad 0xBFD7070B7FE443D3 // c6 - .quad 0x3FD4805841790B6E // c7 - .quad 0xBFF2A738888A9978 // B' = pi/2 - B (high double) - .quad 0xBC5195059E91C4D2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDB6F3FC8C61E5B // c0 (high double) - .quad 0x3C6A1CC48268287A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC7853E65CE5524 // c1 (low double) - .quad 0xBFE03CE61B6A9E63 // c2 - .quad 0x3FE3965ABF5C8FAB // c3 - .quad 0xBFDB9E3938F261E9 // c4 - .quad 0x3FDA94A771ED6FE5 // c5 - .quad 0xBFD552B7D4636646 // c6 - .quad 0x3FD2F58F20A0FA49 // c7 - .quad 0xBFF2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC8A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDA827999FCEF32 // c0 (high double) - .quad 0xBC708A11019E41CE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC5F619980C4336 // c1 (low double) - .quad 0xBFDF0ED99BED9B65 // c2 - .quad 0x3FE2EDD996C1BBEB // c3 - .quad 0xBFDA08B785C6EA59 // c4 - .quad 0x3FD911BC7B12902F // c5 - .quad 0xBFD3C0DA5B1130C3 // c6 - .quad 0x3FD1B590151D6334 // c7 - .quad 0xBFF30BC075DBAA2C // B' = pi/2 - B (high double) - .quad 0xBC995FE8F2B56DBD // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD998188E816BF0 // c0 (high double) - .quad 0xBC73DB2BD13E0A0C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC478794806DE66 // c1 (low double) - .quad 0xBFDDAFF33BF96274 // c2 - .quad 0x3FE24F039543C659 // c3 - .quad 0xBFD88A113E071D2D // c4 - .quad 0x3FD7AB3E661E65F9 // c5 - .quad 0xBFD24E4E1B8DC6CD // c6 - .quad 0x3FD01ED5FCAC7FDD // c7 - .quad 0xBFF33E046C843287 // B' = pi/2 - B (high double) - .quad 0x3C9A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD8B00196B3D022 // c0 (high double) - .quad 0x3C67341EE30455A6 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC30BCA73878656 // c1 (low double) - .quad 0xBFDC5C67FF403B73 // c2 - .quad 0x3FE1B94E72981059 // c3 - .quad 0xBFD7209990BAE1F6 // c4 - .quad 0x3FD65EF72AC3A4F8 // c5 - .quad 0xBFD0F83D8377C34B // c6 - .quad 0x3FCD97555AF6144C // c7 - .quad 0xBFF37048632CBAE1 // B' = pi/2 - B (high double) - .quad 0x3C8CB2FCE8FC81A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD7CA1A832D0F84 // c0 (high double) - .quad 0x3C7EE5A712091434 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC1AF828B5ED674 // c1 (low double) - .quad 0xBFDB13909C0269A2 // c2 - .quad 0x3FE12C3A0394B7FA // c3 - .quad 0xBFD5CAC4A421216C // c4 - .quad 0x3FD52AE625505252 // c5 - .quad 0xBFCF7831018A616A // c6 - .quad 0x3FCB98AB42F62940 // c7 - .quad 0xBFF3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0x3C61B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD6E649F7D78649 // c0 (high double) - .quad 0xBC678D2AC0322984 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC0631EFCBE0D16 // c1 (low double) - .quad 0xBFD9D4CEDF38DFCD // c2 - .quad 0x3FE0A74F7488C3A6 // c3 - .quad 0xBFD487249EA3BD6C // c4 - .quad 0x3FD40D3A9BDEFA27 // c5 - .quad 0xBFCD2F1CBD1B58CD // c6 - .quad 0x3FC98CBDCEBDAD19 // c7 - .quad 0xBFF3D4D0507DCB95 // B' = pi/2 - B (high double) - .quad 0xBC83DA34489C213B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD604775FBB27DF // c0 (high double) - .quad 0xBC6AC647C9CF0A4C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBE4C49866D2D78 // c1 (low double) - .quad 0xBFD89F8D033946D5 // c2 - .quad 0x3FE02A20954EE23A // c3 - .quad 0xBFD35466F88C5ABC // c4 - .quad 0x3FD3044BAC5DC8C6 // c5 - .quad 0xBFCB110C3D6FEB70 // c6 - .quad 0x3FC7761A8DC12688 // c7 - .quad 0xBFF40714472653EF // B' = pi/2 - B (high double) - .quad 0xBC96106670B43955 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD5248AE1701B17 // c0 (high double) - .quad 0xBC7BE8CC944DAFEA // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBBF04005723CCC // c1 (low double) - .quad 0xBFD7733D1300258A // c2 - .quad 0x3FDF688E6ACC7DF5 // c3 - .quad 0xBFD231520EA793C8 // c4 - .quad 0x3FD20E93C5183A34 // c5 - .quad 0xBFC91A331D55B3F7 // c6 - .quad 0x3FC651721E1371DD // c7 - .quad 0xBFF439583DCEDC4A // B' = pi/2 - B (high double) - .quad 0x3C9DCC4D42E59DF2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD4466D542BAC92 // c0 (high double) - .quad 0x3C705073A04E444A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB9B14751F8BA20 // c1 (low double) - .quad 0xBFD64F58590170A2 // c2 - .quad 0x3FDE8AC91D15CFCF // c3 - .quad 0xBFD11CC2EF09C664 // c4 - .quad 0x3FD12AB5AB65B965 // c5 - .quad 0xBFC7471C9AC81567 // c6 - .quad 0x3FC4826BA97C3E69 // c7 - .quad 0xBFF46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C91A900F67F753A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD36A08355C63DC // c0 (high double) - .quad 0x3C6D7145B6A10D86 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB78E922B82AB64 // c1 (low double) - .quad 0xBFD5335ED87AB0D5 // c2 - .quad 0x3FDDBA417913D89C // c3 - .quad 0xBFD015AB59BD876B // c4 - .quad 0x3FD0576D1EF5DB85 // c5 - .quad 0xBFC594A6DD2CA17D // c6 - .quad 0x3FC2F51FBC1DE653 // c7 - .quad 0xBFF49DE02B1FECFE // B' = pi/2 - B (high double) - .quad 0x3C7616D2A8653209 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD28F459ECAD74D // c0 (high double) - .quad 0xBC302C86D50E46C0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB5875F92EDBDF4 // c1 (low double) - .quad 0xBFD41ED6D05A0010 // c2 - .quad 0x3FDCF65481FC5BEB // c3 - .quad 0xBFCE361FE028368D // c4 - .quad 0x3FCF2728B941710B // c5 - .quad 0xBFC3FFF674960878 // c6 - .quad 0x3FC1A12109F12125 // c7 - .quad 0xBFF4D02421C87558 // B' = pi/2 - B (high double) - .quad 0xBC7A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD1B6103D3597E9 // c0 (high double) - .quad 0xBC6CBCB5FED7AC2C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB39AFA3392E164 // c1 (low double) - .quad 0xBFD3114C46E2AEF3 // c2 - .quad 0x3FDC3E6B23EF73B5 // c3 - .quad 0xBFCC580D1B42EE7F // c4 - .quad 0x3FCDBC3D6E14D202 // c5 - .quad 0xBFC28671B66B7EC4 // c6 - .quad 0x3FC0BFBCFE62E275 // c7 - .quad 0xBFF502681870FDB2 // B' = pi/2 - B (high double) - .quad 0xBC92C0E3EEB304EE // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD0DE53475F3B3C // c0 (high double) - .quad 0xBC67B2CC0A839654 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) - .quad 0xBFD20A509D4BB6C1 // c2 - .quad 0x3FDB91F96510DF38 // c3 - .quad 0xBFCA8F698D62832E // c4 - .quad 0x3FCC6C3408291325 // c5 - .quad 0xBFC125B6D8F69817 // c6 - .quad 0x3FBE80E8F3B35090 // c7 - .quad 0xBFF534AC0F19860C // B' = pi/2 - B (high double) - .quad 0xBC9EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD007FA758626AE // c0 (high double) - .quad 0xBC65A5EB9CA4F97A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB00FF8E583BEBC // c1 (low double) - .quad 0xBFD1097A2AA570F5 // c2 - .quad 0x3FDAF07DA8CAEBA7 // c3 - .quad 0xBFC8DA9D107525AD // c4 - .quad 0x3FCB3545F2ADC1DB // c5 - .quad 0xBFBFB739DB46589A // c6 - .quad 0x3FBDA2C2374E7733 // c7 - .quad 0xBFF566F005C20E67 // B' = pi/2 - B (high double) - .quad 0x3C94F8837880A9A2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFCE65E3F27C9F2A // c0 (high double) - .quad 0xBC6F62A8B8B3F2A2 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FACE04FD3EC1C90 // c1 (low double) - .quad 0xBFD00E63DD639A45 // c2 - .quad 0x3FDA598003751442 // c3 - .quad 0xBFC73829AC409F93 // c4 - .quad 0x3FCA15E3A26F9D69 // c5 - .quad 0xBFBD4C4574E0CB3E // c6 - .quad 0x3FBB9C588182E205 // c7 - .quad 0xBFF59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0x3C81AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFCCBE4CEB4B4CF2 // c0 (high double) - .quad 0xBC64A514F790D588 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA9D1724DE6C940 // c1 (low double) - .quad 0xBFCE3159C5ED3A4E // c2 - .quad 0x3FD9CC919D4271B2 // c3 - .quad 0xBFC5A6A9489AA7F4 // c4 - .quad 0x3FC90C961E2B49F9 // c5 - .quad 0xBFBB06EE7CFA369E // c6 - .quad 0x3FB9E9447AAF378D // c7 - .quad 0xBFF5CB77F3131F1B // B' = pi/2 - B (high double) - .quad 0xBC6A70A9025D3E70 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFCB1909EFD8B762 // c0 (high double) - .quad 0xBC5843049E1318BC // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA6F2545C478E00 // c1 (low double) - .quad 0xBFCC4FF0A9D74F70 // c2 - .quad 0x3FD9494C22EF2A54 // c3 - .quad 0xBFC424CB909A6722 // c4 - .quad 0x3FC8180A481D593B // c5 - .quad 0xBFB8E3D90C36FA86 // c6 - .quad 0x3FB8D27EAFEAC4D3 // c7 - .quad 0xBFF5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC8EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC975F5E0553158 // c0 (high double) - .quad 0xBC2EEEA31AB9D050 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA4420303DEC550 // c1 (low double) - .quad 0xBFCA77D9D62CA610 // c2 - .quad 0x3FD8CF5143323608 // c3 - .quad 0xBFC2B15401455507 // c4 - .quad 0x3FC7370FF096556F // c5 - .quad 0xBFB6DFEACA56EADA // c6 - .quad 0x3FB6B75DF89EC13C // c7 - .quad 0xBFF62FFFE0642FCF // B' = pi/2 - B (high double) - .quad 0xBC9B94ADB917F93E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC7D4EC54FB5968 // c0 (high double) - .quad 0xBC4FB65648F8A4A0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA1BF9C7C60B940 // c1 (low double) - .quad 0xBFC8A86964A1796B // c2 - .quad 0x3FD85E4A37F23352 // c3 - .quad 0xBFC14B181F5BF6AE // c4 - .quad 0x3FC66888E3A5D3BA // c5 - .quad 0xBFB4F84D7AC0F5DB // c6 - .quad 0x3FB62BA6F07C5587 // c7 - .quad 0xBFF66243D70CB82A // B' = pi/2 - B (high double) - .quad 0x3C984805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC635C990CE0D36 // c0 (high double) - .quad 0x3C59DFC0C48C2B20 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9ED49F1F8144C0 // c1 (low double) - .quad 0xBFC6E0F98ED00C32 // c2 - .quad 0x3FD7F5E75A2DD66E // c3 - .quad 0xBFBFE1FBA10F6B0E // c4 - .quad 0x3FC5AB7CD1905EBB // c5 - .quad 0xBFB32A57A4FAE3FF // c6 - .quad 0x3FB4BA60BA62CA68 // c7 - .quad 0xBFF69487CDB54084 // B' = pi/2 - B (high double) - .quad 0x3C8849735C376AA4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC4986A74CF4E57 // c0 (high double) - .quad 0xBC69AB0A243914D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9A82B60D75F5C0 // c1 (low double) - .quad 0xBFC520EA2BA6A0AE // c2 - .quad 0x3FD795DFBFFEE39E // c3 - .quad 0xBFBD43F3A7862CC7 // c4 - .quad 0x3FC4FF04247D7006 // c5 - .quad 0xBFB1739726786F64 // c6 - .quad 0x3FB2FAC67536C2B7 // c7 - .quad 0xBFF6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0x3BD6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC2FCAC73A60640 // c0 (high double) - .quad 0xBC52CF95F70D438C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F96881A43B33590 // c1 (low double) - .quad 0xBFC367A033B52F5E // c2 - .quad 0x3FD73DF0E3CC557A // c3 - .quad 0xBFBABA1CAC4F18CD // c4 - .quad 0x3FC4624C36BE941D // c5 - .quad 0xBFAFA38B2F88747D // c6 - .quad 0x3FB215B1F402C9E1 // c7 - .quad 0xBFF6F90FBB065138 // B' = pi/2 - B (high double) - .quad 0xBC8843BDD561383D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC1626D85A91E70 // c0 (high double) - .quad 0x3C50084844291A00 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F92E3863C9A69E0 // c1 (low double) - .quad 0xBFC1B4854BB2B147 // c2 - .quad 0x3FD6EDDE5416DFFB // c3 - .quad 0xBFB8429341CCA17A // c4 - .quad 0x3FC3D49AC2C9F46E // c5 - .quad 0xBFAC85843914CF63 // c6 - .quad 0x3FB1B1DC3FA41043 // c7 - .quad 0xBFF72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0xBC98452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFBF93183A8DB9E9 // c0 (high double) - .quad 0x3C4124AC452DA622 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F8F27A3181EE680 // c1 (low double) - .quad 0xBFC00707549D7ECC // c2 - .quad 0x3FD6A5716B500730 // c3 - .quad 0xBFB5DB89BB6B245F // c4 - .quad 0x3FC3554867F59647 // c5 - .quad 0xBFA98919BF6D1AC0 // c6 - .quad 0x3FB1AF9A18244AC2 // c7 - .quad 0xBFF75D97A85761ED // B' = pi/2 - B (high double) - .quad 0x3C9B97887C831272 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFBC63CE377FC802 // c0 (high double) - .quad 0x3C543F7D42D9FFC4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F892FE02A47EFA0 // c1 (low double) - .quad 0xBFBCBD3001C956C5 // c2 - .quad 0x3FD664790F293C47 // c3 - .quad 0xBFB38345DE7C4B0B // c4 - .quad 0x3FC2E3C4C02FFDF9 // c5 - .quad 0xBFA6AA7F0C135018 // c6 - .quad 0x3FAFE3C754ACF687 // c7 - .quad 0xBFF78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C8EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFB936BB8C5B2DA2 // c0 (high double) - .quad 0xBC587D23392D360C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F83DDE2A8935DE0 // c1 (low double) - .quad 0xBFB97558DC230BA8 // c2 - .quad 0x3FD62AC976FBC1B8 // c3 - .quad 0xBFB1381EB60159F6 // c4 - .quad 0x3FC27F84438D5027 // c5 - .quad 0xBFA3E63B3A462D11 // c6 - .quad 0x3FAF0AE614B60705 // c7 - .quad 0xBFF7C21F95A872A1 // B' = pi/2 - B (high double) - .quad 0x3C6A877F1DB6080C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFB60B9F7597FDEC // c0 (high double) - .quad 0xBC3D1E3FBF349CC0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) - .quad 0xBFB6357984E124B6 // c2 - .quad 0x3FD5F83BF8B56900 // c3 - .quad 0xBFADF0F50CAA06C2 // c4 - .quad 0x3FC228147690425D // c5 - .quad 0xBFA138F0F640FF12 // c6 - .quad 0x3FAF8D1BCDD067BD // c7 - .quad 0xBFF7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0xBC81A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFB2E239CCFF3831 // c0 (high double) - .quad 0xBC5879ED3FF4D06C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F764980AEEE3740 // c1 (low double) - .quad 0xBFB2FC879C81123C // c2 - .quad 0x3FD5CCAEDC1DC96E // c3 - .quad 0xBFA98599B71D86B1 // c4 - .quad 0x3FC1DD150D55E5CE // c5 - .quad 0xBF9D3EB9450DBD20 // c6 - .quad 0x3FADD6CFBE9A9DDE // c7 - .quad 0xBFF826A782F98355 // B' = pi/2 - B (high double) - .quad 0xBC94F5A8B515906F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFAF7495EA3F3783 // c0 (high double) - .quad 0x3C407F10D50F8AC9 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F6EEB8B377B1A00 // c1 (low double) - .quad 0xBFAF92FABFD0B7B3 // c2 - .quad 0x3FD5A805341437FF // c3 - .quad 0xBFA52B295E2DCF92 // c4 - .quad 0x3FC19E2C59B8C033 // c5 - .quad 0xBF982CF88466F013 // c6 - .quad 0x3FAD27509D6C3D7C // c7 - .quad 0xBFF858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0x3C9EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFA927278A3B1162 // c0 (high double) - .quad 0xBBFB01BD7F1D4620 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F63C55DB08E1680 // c1 (low double) - .quad 0xBFA936B1EC652161 // c2 - .quad 0x3FD58A26BD6CCCCD // c3 - .quad 0xBFA0DEB5445B4095 // c4 - .quad 0x3FC16B146127E0E0 // c5 - .quad 0xBF9336A9836851D5 // c6 - .quad 0x3FAC19302F7F3ACC // c7 - .quad 0xBFF88B2F704A940A // B' = pi/2 - B (high double) - .quad 0x3C92C3BEB21E1E21 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFA2DBAAE9A05DB0 // c0 (high double) - .quad 0x3C4371F88E195029 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F563A086B860B00 // c1 (low double) - .quad 0xBFA2E23785EEB488 // c2 - .quad 0x3FD572FFC353B741 // c3 - .quad 0xBF993ABD2276BF58 // c4 - .quad 0x3FC143926088643D // c5 - .quad 0xBF8CAC359DDE7BCE // c6 - .quad 0x3FAB56F9A2A6CD28 // c7 - .quad 0xBFF8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0x3C7A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBF992346247A91F0 // c0 (high double) - .quad 0x3BF126D920C63160 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F43BF447B091000 // c1 (low double) - .quad 0xBF992726F0F98D7F // c2 - .quad 0x3FD5628108EFA55C // c3 - .quad 0xBF90C8A60639C114 // c4 - .quad 0x3FC127789EC0BD38 // c5 - .quad 0xBF830BA6F46C58D9 // c6 - .quad 0x3FABBEE2C1E62B03 // c7 - .quad 0xBFF8EFB75D9BA4BE // B' = pi/2 - B (high double) - .quad 0xBC760B679AB8CD3B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBF89224E047E368E // c0 (high double) - .quad 0x3C1A268EB3BB9B7A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F23BDBEAD8CF800 // c1 (low double) - .quad 0xBF8923461AE96D62 // c2 - .quad 0x3FD5589FB822D5EE // c3 - .quad 0xBF80C326DCDCFCD2 // c4 - .quad 0x3FC116A999125B8A // c5 - .quad 0xBF7300CC26580304 // c6 - .quad 0x3FAB7B6F1DCF22D1 // c7 - .align 16 - .quad 0x40FF400000000000, 0x40FF400000000000 /* dReductionRangeVal */ - .align 16 - .quad 0x3FE45F306DC9C883, 0x3FE45F306DC9C883 /* _dInvPi */ - .align 16 - .quad 0x3FF921FB54440000, 0x3FF921FB54440000 /* _dPI1 */ - .align 16 - .quad 0x3D868C234C4C0000, 0x3D868C234C4C0000 /* _dPI2 */ - .align 16 - .quad 0x3B298A2E03707345, 0x3B298A2E03707345 /* _dPI3 */ - .align 16 - .quad 0xbfc06b97be36d389, 0xbfc06b97be36d389 /* _dP1 */ - .align 16 - .quad 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301 /* _dP2 */ - .align 16 - .quad 0xbedf637dce2a3800, 0xbedf637dce2a3800 /* _dP3 */ - .align 16 - .quad 0x3FF0000000000000, 0x3FF0000000000000 /* _dQ0 */ - .align 16 - .quad 0xbfdd8b213470beee, 0xbfdd8b213470beee /* _dQ1 */ - .align 16 - .quad 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56 /* _dQ2 */ - .align 16 - .quad 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6 /* _dQ3 */ - .align 16 - .type __svml_dtan_data_internal,@object - .size __svml_dtan_data_internal,.-__svml_dtan_data_internal - .space 16, 0x00 - .align 16 + /* Shared value*/ + .quad 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF /* _dAbsMask */ + .align 16 + .quad 0x7FF0000000000000, 0x7FF0000000000000 /* _dRangeVal */ + .align 16 + .quad 0x4338000000000000, 0x4338000000000000 /* _dRShift */ + // _dCoeffs Breakpoint B = 0 * pi/256, function tan(B + x) + .align 16 + .quad 0x3FF921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C91A62633145C07 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x0000000000000000 // c0 (high double) + .quad 0x0000000000000000 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x0000000000000000 // c1 (low double) + .quad 0x0000000000000000 // c2 + .quad 0x3FD5555555555559 // c3 + .quad 0x0000000000000000 // c4 + .quad 0x3FC1111110FE825D // c5 + .quad 0x0000000000000000 // c6 + .quad 0x3FABA1EEC0271523 // c7 + .quad 0x3FF8EFB75D9BA4BE // B' = pi/2 - B (high double) + .quad 0x3C760B679AB8CD3B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3F89224E047E368E // c0 (high double) + .quad 0xBC1A268EB2C67108 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F23BDBEAD8CF800 // c1 (low double) + .quad 0x3F8923461AE96D62 // c2 + .quad 0x3FD5589FB822D5EE // c3 + .quad 0x3F80C326DCDCFCD0 // c4 + .quad 0x3FC116A999125B7F // c5 + .quad 0x3F7300CC26596ADA // c6 + .quad 0x3FAB7B6F1DE289A8 // c7 + .quad 0x3FF8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0xBC7A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3F992346247A91F0 // c0 (high double) + .quad 0xBBF126D920C15240 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F43BF447B091000 // c1 (low double) + .quad 0x3F992726F0F98D7F // c2 + .quad 0x3FD5628108EFA55C // c3 + .quad 0x3F90C8A60639C114 // c4 + .quad 0x3FC127789EC0BD38 // c5 + .quad 0x3F830BA6F46C58B7 // c6 + .quad 0x3FABBEE2C1E62B81 // c7 + .quad 0x3FF88B2F704A940A // B' = pi/2 - B (high double) + .quad 0xBC92C3BEB21E1E21 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FA2DBAAE9A05DB0 // c0 (high double) + .quad 0xBC4371F88E84877C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F563A086B860B00 // c1 (low double) + .quad 0x3FA2E23785EEB488 // c2 + .quad 0x3FD572FFC353B741 // c3 + .quad 0x3F993ABD2276BF6A // c4 + .quad 0x3FC1439260886581 // c5 + .quad 0x3F8CAC359DCF5E16 // c6 + .quad 0x3FAB56F9A068D4C5 // c7 + .quad 0x3FF858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0xBC9EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FA927278A3B1162 // c0 (high double) + .quad 0x3BFB01BD7A51D5C0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F63C55DB08E1680 // c1 (low double) + .quad 0x3FA936B1EC652161 // c2 + .quad 0x3FD58A26BD6CCCCD // c3 + .quad 0x3FA0DEB5445B4098 // c4 + .quad 0x3FC16B146127E154 // c5 + .quad 0x3F9336A98365D094 // c6 + .quad 0x3FAC19302EB1C4A9 // c7 + .quad 0x3FF826A782F98355 // B' = pi/2 - B (high double) + .quad 0x3C94F5A8B515906F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FAF7495EA3F3783 // c0 (high double) + .quad 0xBC407F10D50F4C0A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F6EEB8B377B1A00 // c1 (low double) + .quad 0x3FAF92FABFD0B7B3 // c2 + .quad 0x3FD5A805341437FF // c3 + .quad 0x3FA52B295E2DCF92 // c4 + .quad 0x3FC19E2C59B8C033 // c5 + .quad 0x3F982CF88466EFEC // c6 + .quad 0x3FAD27509D6C3FEA // c7 + .quad 0x3FF7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0x3C81A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FB2E239CCFF3831 // c0 (high double) + .quad 0x3C5879ED3FF4EEAE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F764980AEEE3740 // c1 (low double) + .quad 0x3FB2FC879C81123C // c2 + .quad 0x3FD5CCAEDC1DC96E // c3 + .quad 0x3FA98599B71D86B1 // c4 + .quad 0x3FC1DD150D55E5CE // c5 + .quad 0x3F9D3EB9450DBD01 // c6 + .quad 0x3FADD6CFBE9AA234 // c7 + .quad 0x3FF7C21F95A872A1 // B' = pi/2 - B (high double) + .quad 0xBC6A877F1DB6080C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FB60B9F7597FDEC // c0 (high double) + .quad 0x3C3D1E3FBF3B4E18 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) + .quad 0x3FB6357984E124B6 // c2 + .quad 0x3FD5F83BF8B56900 // c3 + .quad 0x3FADF0F50CAA06C2 // c4 + .quad 0x3FC2281476904258 // c5 + .quad 0x3FA138F0F640FD68 // c6 + .quad 0x3FAF8D1BCDD8D11F // c7 + .quad 0x3FF78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC8EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FB936BB8C5B2DA2 // c0 (high double) + .quad 0x3C587D23392C2BA2 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F83DDE2A8935DE0 // c1 (low double) + .quad 0x3FB97558DC230BA8 // c2 + .quad 0x3FD62AC976FBC1B8 // c3 + .quad 0x3FB1381EB60159F6 // c4 + .quad 0x3FC27F84438D5029 // c5 + .quad 0x3FA3E63B3A462E45 // c6 + .quad 0x3FAF0AE614B2D473 // c7 + .quad 0x3FF75D97A85761ED // B' = pi/2 - B (high double) + .quad 0xBC9B97887C831272 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FBC63CE377FC802 // c0 (high double) + .quad 0xBC543F7D42DBAC49 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F892FE02A47EFA0 // c1 (low double) + .quad 0x3FBCBD3001C956C5 // c2 + .quad 0x3FD664790F293C47 // c3 + .quad 0x3FB38345DE7C4B0B // c4 + .quad 0x3FC2E3C4C02FFDFB // c5 + .quad 0x3FA6AA7F0C13520B // c6 + .quad 0x3FAFE3C754A9F092 // c7 + .quad 0x3FF72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0x3C98452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FBF93183A8DB9E9 // c0 (high double) + .quad 0xBC4124AC452772E2 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F8F27A3181EE680 // c1 (low double) + .quad 0x3FC00707549D7ECC // c2 + .quad 0x3FD6A5716B500730 // c3 + .quad 0x3FB5DB89BB6B245F // c4 + .quad 0x3FC3554867F59648 // c5 + .quad 0x3FA98919BF6D176A // c6 + .quad 0x3FB1AF9A1823147B // c7 + .quad 0x3FF6F90FBB065138 // B' = pi/2 - B (high double) + .quad 0x3C8843BDD561383D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC1626D85A91E70 // c0 (high double) + .quad 0xBC50084844291CB4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F92E3863C9A69E0 // c1 (low double) + .quad 0x3FC1B4854BB2B147 // c2 + .quad 0x3FD6EDDE5416DFFB // c3 + .quad 0x3FB8429341CCA17A // c4 + .quad 0x3FC3D49AC2C9F46F // c5 + .quad 0x3FAC85843914CF90 // c6 + .quad 0x3FB1B1DC3FA33DDD // c7 + .quad 0x3FF6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0xBBD6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC2FCAC73A60640 // c0 (high double) + .quad 0x3C52CF95F70B55BA // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F96881A43B33590 // c1 (low double) + .quad 0x3FC367A033B52F5E // c2 + .quad 0x3FD73DF0E3CC557A // c3 + .quad 0x3FBABA1CAC4F18CD // c4 + .quad 0x3FC4624C36BE941B // c5 + .quad 0x3FAFA38B2F8876EF // c6 + .quad 0x3FB215B1F404D921 // c7 + .quad 0x3FF69487CDB54084 // B' = pi/2 - B (high double) + .quad 0xBC8849735C376AA4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC4986A74CF4E57 // c0 (high double) + .quad 0x3C69AB0A24392F72 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9A82B60D75F5C0 // c1 (low double) + .quad 0x3FC520EA2BA6A0AE // c2 + .quad 0x3FD795DFBFFEE39E // c3 + .quad 0x3FBD43F3A7862CC7 // c4 + .quad 0x3FC4FF04247D700A // c5 + .quad 0x3FB1739726786F4F // c6 + .quad 0x3FB2FAC67533455B // c7 + .quad 0x3FF66243D70CB82A // B' = pi/2 - B (high double) + .quad 0xBC984805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC635C990CE0D36 // c0 (high double) + .quad 0xBC59DFC0C48C1978 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9ED49F1F8144C0 // c1 (low double) + .quad 0x3FC6E0F98ED00C32 // c2 + .quad 0x3FD7F5E75A2DD66E // c3 + .quad 0x3FBFE1FBA10F6B0E // c4 + .quad 0x3FC5AB7CD1905EB8 // c5 + .quad 0x3FB32A57A4FAE3F9 // c6 + .quad 0x3FB4BA60BA656817 // c7 + .quad 0x3FF62FFFE0642FCF // B' = pi/2 - B (high double) + .quad 0x3C9B94ADB917F93E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC7D4EC54FB5968 // c0 (high double) + .quad 0x3C4FB65648F8ABF4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA1BF9C7C60B940 // c1 (low double) + .quad 0x3FC8A86964A1796B // c2 + .quad 0x3FD85E4A37F23352 // c3 + .quad 0x3FC14B181F5BF6AE // c4 + .quad 0x3FC66888E3A5D3B3 // c5 + .quad 0x3FB4F84D7AC0F5DA // c6 + .quad 0x3FB62BA6F082700C // c7 + .quad 0x3FF5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C8EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC975F5E0553158 // c0 (high double) + .quad 0x3C2EEEA31ABB0A10 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA4420303DEC550 // c1 (low double) + .quad 0x3FCA77D9D62CA610 // c2 + .quad 0x3FD8CF5143323608 // c3 + .quad 0x3FC2B15401455507 // c4 + .quad 0x3FC7370FF0965570 // c5 + .quad 0x3FB6DFEACA56EACB // c6 + .quad 0x3FB6B75DF89DE1EC // c7 + .quad 0x3FF5CB77F3131F1B // B' = pi/2 - B (high double) + .quad 0x3C6A70A9025D3E70 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FCB1909EFD8B762 // c0 (high double) + .quad 0x3C5843049E1321E0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA6F2545C478E00 // c1 (low double) + .quad 0x3FCC4FF0A9D74F70 // c2 + .quad 0x3FD9494C22EF2A54 // c3 + .quad 0x3FC424CB909A6722 // c4 + .quad 0x3FC8180A481D5934 // c5 + .quad 0x3FB8E3D90C36FA83 // c6 + .quad 0x3FB8D27EAFF0DF70 // c7 + .quad 0x3FF59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0xBC81AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FCCBE4CEB4B4CF2 // c0 (high double) + .quad 0x3C64A514F790E428 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA9D1724DE6C940 // c1 (low double) + .quad 0x3FCE3159C5ED3A4E // c2 + .quad 0x3FD9CC919D4271B2 // c3 + .quad 0x3FC5A6A9489AA7F4 // c4 + .quad 0x3FC90C961E2B49F6 // c5 + .quad 0x3FBB06EE7CFA3693 // c6 + .quad 0x3FB9E9447AB1D521 // c7 + .quad 0x3FF566F005C20E67 // B' = pi/2 - B (high double) + .quad 0xBC94F8837880A9A2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FCE65E3F27C9F2A // c0 (high double) + .quad 0x3C6F62A8B8B40082 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FACE04FD3EC1C90 // c1 (low double) + .quad 0x3FD00E63DD639A45 // c2 + .quad 0x3FDA598003751442 // c3 + .quad 0x3FC73829AC409F93 // c4 + .quad 0x3FCA15E3A26F9D65 // c5 + .quad 0x3FBD4C4574E0CB34 // c6 + .quad 0x3FBB9C5881865EC1 // c7 + .quad 0x3FF534AC0F19860C // B' = pi/2 - B (high double) + .quad 0x3C9EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD007FA758626AE // c0 (high double) + .quad 0x3C65A5EB9CA505B6 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB00FF8E583BEBC // c1 (low double) + .quad 0x3FD1097A2AA570F5 // c2 + .quad 0x3FDAF07DA8CAEBA7 // c3 + .quad 0x3FC8DA9D107525AD // c4 + .quad 0x3FCB3545F2ADC1D6 // c5 + .quad 0x3FBFB739DB465891 // c6 + .quad 0x3FBDA2C23752D365 // c7 + .quad 0x3FF502681870FDB2 // B' = pi/2 - B (high double) + .quad 0x3C92C0E3EEB304EE // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD0DE53475F3B3C // c0 (high double) + .quad 0x3C67B2CC0A83B8D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) + .quad 0x3FD20A509D4BB6C1 // c2 + .quad 0x3FDB91F96510DF38 // c3 + .quad 0x3FCA8F698D62832E // c4 + .quad 0x3FCC6C340829132A // c5 + .quad 0x3FC125B6D8F6980A // c6 + .quad 0x3FBE80E8F3AEF448 // c7 + .quad 0x3FF4D02421C87558 // B' = pi/2 - B (high double) + .quad 0x3C7A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD1B6103D3597E9 // c0 (high double) + .quad 0x3C6CBCB5FED7BFB0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB39AFA3392E164 // c1 (low double) + .quad 0x3FD3114C46E2AEF3 // c2 + .quad 0x3FDC3E6B23EF73B5 // c3 + .quad 0x3FCC580D1B42EE7F // c4 + .quad 0x3FCDBC3D6E14D1FF // c5 + .quad 0x3FC28671B66B7EBD // c6 + .quad 0x3FC0BFBCFE643140 // c7 + .quad 0x3FF49DE02B1FECFE // B' = pi/2 - B (high double) + .quad 0xBC7616D2A8653209 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD28F459ECAD74D // c0 (high double) + .quad 0x3C302C86D50F5140 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB5875F92EDBDF4 // c1 (low double) + .quad 0x3FD41ED6D05A0010 // c2 + .quad 0x3FDCF65481FC5BEB // c3 + .quad 0x3FCE361FE028368D // c4 + .quad 0x3FCF2728B941710D // c5 + .quad 0x3FC3FFF67496086B // c6 + .quad 0x3FC1A12109F041C7 // c7 + .quad 0x3FF46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC91A900F67F753A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD36A08355C63DC // c0 (high double) + .quad 0xBC6D7145B6A0EB84 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB78E922B82AB64 // c1 (low double) + .quad 0x3FD5335ED87AB0D5 // c2 + .quad 0x3FDDBA417913D89C // c3 + .quad 0x3FD015AB59BD876B // c4 + .quad 0x3FD0576D1EF5DB86 // c5 + .quad 0x3FC594A6DD2CA170 // c6 + .quad 0x3FC2F51FBC1D0708 // c7 + .quad 0x3FF439583DCEDC4A // B' = pi/2 - B (high double) + .quad 0xBC9DCC4D42E59DF2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD4466D542BAC92 // c0 (high double) + .quad 0xBC705073A04E3471 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB9B14751F8BA20 // c1 (low double) + .quad 0x3FD64F58590170A2 // c2 + .quad 0x3FDE8AC91D15CFCF // c3 + .quad 0x3FD11CC2EF09C664 // c4 + .quad 0x3FD12AB5AB65B965 // c5 + .quad 0x3FC7471C9AC8155B // c6 + .quad 0x3FC4826BA97C3E62 // c7 + .quad 0x3FF40714472653EF // B' = pi/2 - B (high double) + .quad 0x3C96106670B43955 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD5248AE1701B17 // c0 (high double) + .quad 0x3C7BE8CC944DBC57 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBBF04005723CCC // c1 (low double) + .quad 0x3FD7733D1300258A // c2 + .quad 0x3FDF688E6ACC7DF5 // c3 + .quad 0x3FD231520EA793C8 // c4 + .quad 0x3FD20E93C5183A32 // c5 + .quad 0x3FC91A331D55B3EE // c6 + .quad 0x3FC651721E153056 // c7 + .quad 0x3FF3D4D0507DCB95 // B' = pi/2 - B (high double) + .quad 0x3C83DA34489C213B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD604775FBB27DF // c0 (high double) + .quad 0x3C6AC647C9CF38D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBE4C49866D2D78 // c1 (low double) + .quad 0x3FD89F8D033946D5 // c2 + .quad 0x3FE02A20954EE23A // c3 + .quad 0x3FD35466F88C5ABC // c4 + .quad 0x3FD3044BAC5DC8C8 // c5 + .quad 0x3FCB110C3D6FEB5E // c6 + .quad 0x3FC7761A8DBF67E9 // c7 + .quad 0x3FF3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0xBC61B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD6E649F7D78649 // c0 (high double) + .quad 0x3C678D2AC032531A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC0631EFCBE0D16 // c1 (low double) + .quad 0x3FD9D4CEDF38DFCD // c2 + .quad 0x3FE0A74F7488C3A6 // c3 + .quad 0x3FD487249EA3BD6C // c4 + .quad 0x3FD40D3A9BDEFA27 // c5 + .quad 0x3FCD2F1CBD1B58BD // c6 + .quad 0x3FC98CBDCEBDACE8 // c7 + .quad 0x3FF37048632CBAE1 // B' = pi/2 - B (high double) + .quad 0xBC8CB2FCE8FC81A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD7CA1A832D0F84 // c0 (high double) + .quad 0xBC7EE5A71208FD7E // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC1AF828B5ED674 // c1 (low double) + .quad 0x3FDB13909C0269A2 // c2 + .quad 0x3FE12C3A0394B7FA // c3 + .quad 0x3FD5CAC4A421216C // c4 + .quad 0x3FD52AE625505253 // c5 + .quad 0x3FCF7831018A6159 // c6 + .quad 0x3FCB98AB42F54A08 // c7 + .quad 0x3FF33E046C843287 // B' = pi/2 - B (high double) + .quad 0xBC9A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD8B00196B3D022 // c0 (high double) + .quad 0xBC67341EE3041CF4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC30BCA73878656 // c1 (low double) + .quad 0x3FDC5C67FF403B73 // c2 + .quad 0x3FE1B94E72981059 // c3 + .quad 0x3FD7209990BAE1F6 // c4 + .quad 0x3FD65EF72AC3A4FA // c5 + .quad 0x3FD0F83D8377C340 // c6 + .quad 0x3FCD97555AF455A0 // c7 + .quad 0x3FF30BC075DBAA2C // B' = pi/2 - B (high double) + .quad 0x3C995FE8F2B56DBD // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD998188E816BF0 // c0 (high double) + .quad 0x3C73DB2BD13E24E8 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC478794806DE66 // c1 (low double) + .quad 0x3FDDAFF33BF96274 // c2 + .quad 0x3FE24F039543C659 // c3 + .quad 0x3FD88A113E071D2D // c4 + .quad 0x3FD7AB3E661E65FA // c5 + .quad 0x3FD24E4E1B8DC6C3 // c6 + .quad 0x3FD01ED5FCAC1031 // c7 + .quad 0x3FF2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C8A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDA827999FCEF32 // c0 (high double) + .quad 0x3C708A11019E58E9 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC5F619980C4336 // c1 (low double) + .quad 0x3FDF0ED99BED9B65 // c2 + .quad 0x3FE2EDD996C1BBEB // c3 + .quad 0x3FDA08B785C6EA59 // c4 + .quad 0x3FD911BC7B12902D // c5 + .quad 0x3FD3C0DA5B1130BA // c6 + .quad 0x3FD1B590151E4269 // c7 + .quad 0x3FF2A738888A9978 // B' = pi/2 - B (high double) + .quad 0x3C5195059E91C4D2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDB6F3FC8C61E5B // c0 (high double) + .quad 0xBC6A1CC48267E6BE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC7853E65CE5524 // c1 (low double) + .quad 0x3FE03CE61B6A9E63 // c2 + .quad 0x3FE3965ABF5C8FAB // c3 + .quad 0x3FDB9E3938F261E9 // c4 + .quad 0x3FDA94A771ED6FE6 // c5 + .quad 0x3FD552B7D4636639 // c6 + .quad 0x3FD2F58F20A08A92 // c7 + .quad 0x3FF274F491E2111E // B' = pi/2 - B (high double) + .quad 0xBC8613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDC5E87185E67B6 // c0 (high double) + .quad 0x3C4FEBA1F149DF00 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC92683A68EB5D0 // c1 (low double) + .quad 0x3FE0F8C35C7247C7 // c2 + .quad 0x3FE4491C4DCA262E // c3 + .quad 0x3FDD4C67683395D6 // c4 + .quad 0x3FDC3667C15EBF94 // c5 + .quad 0x3FD7070B7FE443C4 // c6 + .quad 0x3FD4805841782C0C // c7 + .quad 0x3FF242B09B3988C4 // B' = pi/2 - B (high double) + .quad 0xBC972D483EE33523 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDD506C82A2C800 // c0 (high double) + .quad 0x3C6E169413E029AE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCADA8ECCC42C48 // c1 (low double) + .quad 0x3FE1BB681D0BE8A7 // c2 + .quad 0x3FE506BF662527D3 // c3 + .quad 0x3FDF153B07CB2306 // c4 + .quad 0x3FDDF9A636394DC9 // c5 + .quad 0x3FD8E153A4A78673 // c6 + .quad 0x3FD6937B3797DBB1 // c7 + .quad 0x3FF2106CA4910069 // B' = pi/2 - B (high double) + .quad 0x3C9CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDE450E0D273E7A // c0 (high double) + .quad 0x3C74138BBC424A0D // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCCA20F5D4879EA // c1 (low double) + .quad 0x3FE2853E13FBB7C7 // c2 + .quad 0x3FE5CFF21905E477 // c3 + .quad 0x3FE07D6C7D0DAC66 // c4 + .quad 0x3FDFE1550F550216 // c5 + .quad 0x3FDAE570CE7F6BD7 // c6 + .quad 0x3FD89328A3ABE601 // c7 + .quad 0x3FF1DE28ADE8780F // B' = pi/2 - B (high double) + .quad 0x3C908C1F2850796D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDF3C8AD985D9EE // c0 (high double) + .quad 0x3C455C31F5355658 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCE7DBF907D8618 // c1 (low double) + .quad 0x3FE356B5A1D9CA5A // c2 + .quad 0x3FE6A57085697F99 // c3 + .quad 0x3FE17FCB46BE280B // c4 + .quad 0x3FE0F858275BAA48 // c5 + .quad 0x3FDD17B47CA8A83B // c6 + .quad 0x3FDA9B369A707A32 // c7 + .quad 0x3FF1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0x3C71A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE01B819B5A7CF7 // c0 (high double) + .quad 0x3C80BED996FBB65F // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD03732803B2A4C // c1 (low double) + .quad 0x3FE430465B55C6C0 // c2 + .quad 0x3FE78806185ACF72 // c3 + .quad 0x3FE292FF3DF61A34 // c4 + .quad 0x3FE215A449967BC2 // c5 + .quad 0x3FDF7CEF2946D3A8 // c6 + .quad 0x3FDD0F4FF3CD442F // c7 + .quad 0x3FF179A0C097675B // B' = pi/2 - B (high double) + .quad 0xBC7EE9E5C1EF600D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE09A4C59BD0D4D // c0 (high double) + .quad 0xBC451D94A7B70320 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD13A68B2A5E855 // c1 (low double) + .quad 0x3FE5126F9FD8D89F // c2 + .quad 0x3FE8788EEDC53F19 // c3 + .quad 0x3FE3B86B3E883B76 // c4 + .quad 0x3FE34A881E7F09C9 // c5 + .quad 0x3FE10D3EF07D106A // c6 + .quad 0x3FDFEBFE6AA0C4E7 // c7 + .quad 0x3FF1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC93DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE11AB7190834EC // c0 (high double) + .quad 0xBC8E577A07DB7162 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD248F1B07217E3 // c1 (low double) + .quad 0x3FE5FDB93DD01D06 // c2 + .quad 0x3FE977F956462152 // c3 + .quad 0x3FE4F192BE91E40A // c4 + .quad 0x3FE49932EEB2A51B // c5 + .quad 0x3FE27B305435DE1B // c6 + .quad 0x3FE176C2BDD3B0A4 // c7 + .quad 0x3FF11518D34656A6 // B' = pi/2 - B (high double) + .quad 0x3C9FFEEDF6B7D68D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE19CD3FE8E405D // c0 (high double) + .quad 0xBC84E5C1D482FB99 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD36343ADCAF866 // c1 (low double) + .quad 0x3FE6F2B4260FF6A8 // c2 + .quad 0x3FEA8747864942E1 // c3 + .quad 0x3FE6401D47362936 // c4 + .quad 0x3FE6040F50A52FBF // c5 + .quad 0x3FE40BA6192CC669 // c6 + .quad 0x3FE302E7DAB9BDE8 // c7 + .quad 0x3FF0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0x3C93DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE220B5EF047825 // c0 (high double) + .quad 0x3C5AE1F6C713C510 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD489DC399ADDEC // c1 (low double) + .quad 0x3FE7F1FB2FEBE8C6 // c2 + .quad 0x3FEBA791734D6CCE // c3 + .quad 0x3FE7A5DA56BAB9DA // c4 + .quad 0x3FE78DC9A17C17D7 // c5 + .quad 0x3FE5C262725357A1 // c6 + .quad 0x3FE4D1FE58052A33 // c7 + .quad 0x3FF0B090E5F545F2 // B' = pi/2 - B (high double) + .quad 0x3C7EE15577AE1472 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE2A6709A74F289 // c0 (high double) + .quad 0x3C76E3B98C26B440 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD5BD40BF249496 // c1 (low double) + .quad 0x3FE8FC33EFCF6F3A // c2 + .quad 0x3FECDA06E4CFC822 // c3 + .quad 0x3FE924C5BA1C7515 // c4 + .quad 0x3FE9395A86CEDBCC // c5 + .quad 0x3FE7A39B6931C7C5 // c6 + .quad 0x3FE6D875BED7333E // c7 + .quad 0x3FF07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0xBC71ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE32E1889047FFD // c0 (high double) + .quad 0xBC810D08F0134DCF // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD6FDFF12A4297B // c1 (low double) + .quad 0x3FEA120FA25B9D83 // c2 + .quad 0x3FEE1FF1BF27E6AB // c3 + .quad 0x3FEABF0C6E045EA0 // c4 + .quad 0x3FEB0A0E2CDCAB88 // c5 + .quad 0x3FE9B40D41660E8E // c6 + .quad 0x3FE92FCC1848D932 // c7 + .quad 0x3FF04C08F8A4353E // B' = pi/2 - B (high double) + .quad 0xBC908E433AE0CC54 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE3B7C3289ED6F3 // c0 (high double) + .quad 0xBC8C4CF3D327FEEC // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD84CAE0A06DE7C // c1 (low double) + .quad 0x3FEB344C2E4C0F47 // c2 + .quad 0x3FEF7AB88F5F820C // c3 + .quad 0x3FEC771219A99E98 // c4 + .quad 0x3FED0390B144EACB // c5 + .quad 0x3FEBF90A32A17503 // c6 + .quad 0x3FEBAC50A2912BE1 // c7 + .quad 0x3FF019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0xBC9CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE44386DB9CE5DB // c0 (high double) + .quad 0xBC8A7F79AD342CDE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD9A9EE22E82AF2 // c1 (low double) + .quad 0x3FEC63B53FACFD1B // c2 + .quad 0x3FF075F0B010F1C9 // c3 + .quad 0x3FEE4F7738A37AC1 // c4 + .quad 0x3FEF29F7068A6E02 // c5 + .quad 0x3FEE78912F3E4890 // c6 + .quad 0x3FEE7DE5AD19FDA8 // c7 + .quad 0x3FEFCF0216A64913 // B' = pi/2 - B (high double) + .quad 0xBC81A9B7A75A3B87 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE4D17B087B265D // c0 (high double) + .quad 0xBC788AAC4AE1F0D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDB166A3723839C // c1 (low double) + .quad 0x3FEDA1257F3D5E87 // c2 + .quad 0x3FF13A8A70704F6B // c3 + .quad 0x3FF025900612C493 // c4 + .quad 0x3FF0C0E778680DE8 // c5 + .quad 0x3FF09CB2B02DFCCB // c6 + .quad 0x3FF0D681147681D3 // c7 + .quad 0x3FEF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C860FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE561B82AB7F990 // c0 (high double) + .quad 0x3C87A5FA3E37FD12 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDC92D84170BCC6 // c1 (low double) + .quad 0x3FEEED87E934644C // c2 + .quad 0x3FF20C10F4D7D072 // c3 + .quad 0x3FF1369E37DA5741 // c4 + .quad 0x3FF20816F61AB3EE // c5 + .quad 0x3FF221953D8712EF // c6 + .quad 0x3FF29CA76CD561F8 // c7 + .quad 0x3FEF05F23C0427AA // B' = pi/2 - B (high double) + .quad 0xBC51B746C796F33C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE5F457E4F4812E // c0 (high double) + .quad 0x3C8F6EE06A43F015 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDE1FFA33ABCB2D // c1 (low double) + .quad 0x3FF024ECA3857FDF // c2 + .quad 0x3FF2EB80B3E2C969 // c3 + .quad 0x3FF25CA858ECE33E // c4 + .quad 0x3FF36D6159DB2BC3 // c5 + .quad 0x3FF3CF427530AFA1 // c6 + .quad 0x3FF4914D16BF30D2 // c7 + .quad 0x3FEEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0xBC8A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE6897514751DB6 // c0 (high double) + .quad 0x3C7432E08569C822 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDFBE9EE099229D // c1 (low double) + .quad 0x3FF0DB94E83152C9 // c2 + .quad 0x3FF3D9ED602549D9 // c3 + .quad 0x3FF3999FCB35B63C // c4 + .quad 0x3FF4F3F4BB18D34D // c5 + .quad 0x3FF5AA9FE2712A89 // c6 + .quad 0x3FF6B61F156D157E // c7 + .quad 0x3FEE3CE261620641 // B' = pi/2 - B (high double) + .quad 0x3C7A77CBEAE8FD71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE7212BE621BE6D // c0 (high double) + .quad 0x3C8AD14CAC5AE1D4 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDE905D04D13F70 // c1 (low double) + .quad 0x3FF19B4F7BD63206 // c2 + .quad 0x3FF4D8845C8EEC38 // c3 + .quad 0x3FF4EFAAD70924AA // c4 + .quad 0x3FF69F610EDFA788 // c5 + .quad 0x3FF7B93C8525966A // c6 + .quad 0x3FF928F49138F1A9 // c7 + .quad 0x3FEDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0xBC76156546AFA570 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE7BB99ED2990CF // c0 (high double) + .quad 0xBC8AABB1289366EE // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDCCC0DD257FE9F // c1 (low double) + .quad 0x3FF264BAB3E8C3FC // c2 + .quad 0x3FF5E88F7CC1F7BC // c3 + .quad 0x3FF6612B1AE228E1 // c4 + .quad 0x3FF873A64164BF00 // c5 + .quad 0x3FFA016987C44E2A // c6 + .quad 0x3FFBFCA608E41B3A // c7 + .quad 0x3FED73D286BFE4D8 // B' = pi/2 - B (high double) + .quad 0x3C8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE858DE3B716571 // c0 (high double) + .quad 0x3C8C6340D74EFAEE // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDAF377B50F3DE8 // c1 (low double) + .quad 0x3FF338819C6A585B // c2 + .quad 0x3FF70B781BB3F9F8 // c3 + .quad 0x3FF7F0C4DC952BEE // c4 + .quad 0x3FFA75444794B0BE // c5 + .quad 0x3FFC8A58AEEA152D // c6 + .quad 0x3FFF1509C3EC473F // c7 + .quad 0x3FED0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0x3C61A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE8F9197BF85EEB // c0 (high double) + .quad 0xBC77971D706288A0 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD9058D62BBB98D // c1 (low double) + .quad 0x3FF4175D31199B0C // c2 + .quad 0x3FF842CA948070CE // c3 + .quad 0x3FF9A1675E6F2233 // c4 + .quad 0x3FFCA94A75D1DF36 // c5 + .quad 0x3FFF5C3EE98CB77C // c6 + .quad 0x4001549BBD7761F7 // c7 + .quad 0x3FECAAC2AC1DC370 // B' = pi/2 - B (high double) + .quad 0xBC83DE7C6DBCC708 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE99C6E0F634394 // c0 (high double) + .quad 0x3C81A125C4B0D75F // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD7012EAAC8A987 // c1 (low double) + .quad 0x3FF50215B95FD940 // c2 + .quad 0x3FF9903A2B193F49 // c3 + .quad 0x3FFB7656607D37C1 // c4 + .quad 0x3FFF156F461C0EE0 // c5 + .quad 0x4001403E48F2741B // c6 + .quad 0x40034ACD8D38409A // c7 + .quad 0x3FEC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C83DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEA43002AE42850 // c0 (high double) + .quad 0xBC7A7C0406D92972 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD4E526E33345B8 // c1 (low double) + .quad 0x3FF5F9844B626284 // c2 + .quad 0x3FFAF5A574C2F3BF // c3 + .quad 0x3FFD7334FD198D13 // c4 + .quad 0x4000E01251879DC7 // c5 + .quad 0x400300E6F5213CC2 // c6 + .quad 0x40058BA67D3A054A // c7 + .quad 0x3FEBE1B2D17BA207 // B' = pi/2 - B (high double) + .quad 0xBC61AEB67D55A7A1 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEAECF5F9BA35A6 // c0 (high double) + .quad 0x3C4535083409FF20 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD2B02B2D565D55 // c1 (low double) + .quad 0x3FF6FE947B408BAC // c2 + .quad 0x3FFC751B52A83938 // c3 + .quad 0x3FFF9C12181CFBBA // c4 + .quad 0x4002585B4421C075 // c5 + .quad 0x4004F6412119D9F1 // c6 + .quad 0x400814BACED69AF1 // c7 + .quad 0x3FEB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0xBC8CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEB9A77C18C1AF2 // c0 (high double) + .quad 0x3C76EA194A3B7D14 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD060D88DF903DF // c1 (low double) + .quad 0x3FF812463C417D93 // c2 + .quad 0x3FFE10E093E6DE8D // c3 + .quad 0x4000FABB50DD022E // c4 + .quad 0x4003F7B45B053F76 // c5 + .quad 0x4007275FB67DBBCC // c6 + .quad 0x400B02CB76CD8FDB // c7 + .quad 0x3FEB18A2F6D9809E // B' = pi/2 - B (high double) + .quad 0x3C760E425E23E66F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEC4BB009E77983 // c0 (high double) + .quad 0xBC5346B6895525B8 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFCBEB63A6D04570 // c1 (low double) + .quad 0x3FF935AFFA8DCC1D // c2 + .quad 0x3FFFCB7657D15F0B // c3 + .quad 0x4002423AFCE75F54 // c4 + .quad 0x4005C2CF61AD4B89 // c5 + .quad 0x40099C675A298F48 // c6 + .quad 0x400E49F38B657F73 // c7 + .quad 0x3FEAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0xBC7A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FED00CBC7384D2E // c0 (high double) + .quad 0x3C78C4FC635D2596 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC6DA3A87611EA6 // c1 (low double) + .quad 0x3FFA6A00F50D3A6F // c2 + .quad 0x4000D3D0A6ABBD46 // c3 + .quad 0x4003A760672280D0 // c4 + .quad 0x4007BF026C103550 // c5 + .quad 0x400C5EBD23F4E2D6 // c6 + .quad 0x4011024DB7867574 // c7 + .quad 0x3FEA4F931C375F35 // B' = pi/2 - B (high double) + .quad 0x3C8A79EFFD795057 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEDB9FA89953FCF // c0 (high double) + .quad 0x3C286C68F5592C40 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC18AC418849A6E // c1 (low double) + .quad 0x3FFBB083E02786D7 // c2 + .quad 0x4001D438F8A20402 // c3 + .quad 0x40052D5D6FF7A4BD // c4 + .quad 0x4009F262067BAA5A // c5 + .quad 0x400F793DA8608BD3 // c6 + .quad 0x401328BFC5F60A12 // c7 + .quad 0x3FE9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0x3C519ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEE776EAFC91706 // c0 (high double) + .quad 0x3C890664EDC679F9 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFB7F295AD658764 // c1 (low double) + .quad 0x3FFD0AA1DB7F5E58 // c2 + .quad 0x4002E8A6F9693556 // c3 + .quad 0x4006D7CA16B298C6 // c4 + .quad 0x400C63DFCAA3FB6C // c5 + .quad 0x40117C3EE50D7733 // c6 + .quad 0x401599932C96B999 // c7 + .quad 0x3FE9868341953DCD // B' = pi/2 - B (high double) + .quad 0xBC861341341F5289 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEF395D9F0E3C92 // c0 (high double) + .quad 0xBC550BEC65673F08 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFA8873C53BE0540 // c1 (low double) + .quad 0x3FFE79E5C65202DE // c2 + .quad 0x400412FD76797C7D // c3 + .quad 0x4008AAB30DC82D37 // c4 + .quad 0x400F1B6C68B4AEA4 // c5 + .quad 0x4013758CE9BD9EE9 // c6 + .quad 0x40186872A06858F5 // c7 + .quad 0x3FE921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C81A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD17CC1B727220B // c0 (high double) + .quad 0x3C7AC07996DF1E94 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBF02F6222C71FB // c1 (low double) + .quad 0xBFB068BD68BAEFC3 // c2 + .quad 0x3FA3C0213E30B2A4 // c3 + .quad 0xBF8A5494A0DD32B3 // c4 + .quad 0x3F7940CD1D8E923E // c5 + .quad 0xBF63CC1BE5088783 // c6 + .quad 0x3F3FA4A6A27659EE // c7 + .quad 0x3FE8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0xBC6A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD130BD396BB4A9 // c0 (high double) + .quad 0x3C657D8592EA0982 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBF68ED595308D6 // c1 (low double) + .quad 0xBFB00C6BF6A673E6 // c2 + .quad 0x3FA36E9DA9556AA6 // c3 + .quad 0xBF8991120C7D4BB9 // c4 + .quad 0x3F7889ABD600821A // c5 + .quad 0xBF630EE40468887B // c6 + .quad 0x3F52CAD75A194915 // c7 + .quad 0x3FE858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0xBC8EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD0E507EE8B93D7 // c0 (high double) + .quad 0xBC679F09CDD5D366 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBFCCA52E2AE201 // c1 (low double) + .quad 0xBFAF632A1681FD0B // c2 + .quad 0x3FA31F7794BDF922 // c3 + .quad 0xBF88D31259E30525 // c4 + .quad 0x3F77D97B728544D6 // c5 + .quad 0xBF62591A3A2B69D8 // c6 + .quad 0x3F3605B3887E1AF3 // c7 + .quad 0x3FE7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0x3C71A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD099A0163BCD3F // c0 (high double) + .quad 0xBC7A7F11D963D761 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBFD1D937A1F094 // c1 (low double) + .quad 0xBFAEB05B52EFB4C0 // c2 + .quad 0x3FA2D29E032A57DB // c3 + .quad 0xBF881A60F7D38723 // c4 + .quad 0x3F772FBBF1BFA292 // c5 + .quad 0xBF61AA745B27BAF7 // c6 + .quad 0x3F51CC1913635CA5 // c7 + .quad 0x3FE78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC7EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD04E83F7474877 // c0 (high double) + .quad 0xBC73B117AC20AD03 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF7284F47C0E61 // c1 (low double) + .quad 0xBFAE0056458FCED5 // c2 + .quad 0x3FA28800992AEEE6 // c3 + .quad 0xBF8766CB6439B11D // c4 + .quad 0x3F768C54DBB3684B // c5 + .quad 0xBF610297B13942A7 // c6 + .quad 0x3F5536BD1C2C92E8 // c7 + .quad 0x3FE72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0x3C88452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD003B1DF5A0F86 // c0 (high double) + .quad 0xBC716CEB71FB7130 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF155566FA6884 // c1 (low double) + .quad 0xBFAD530628A37C7A // c2 + .quad 0x3FA23F8F96E80A99 // c3 + .quad 0xBF86B82113BDC04E // c4 + .quad 0x3F75EF0B9C9DF1C1 // c5 + .quad 0xBF60613421CB6A8B // c6 + .quad 0x3F48E48E9081596F // c7 + .quad 0x3FE6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0xBBC6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCF7250459C1976 // c0 (high double) + .quad 0xBC40B5B081F067D4 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBEBA422E0FE0E5 // c1 (low double) + .quad 0xBFACA856C815D042 // c2 + .quad 0x3FA1F93BD218DCE9 // c3 + .quad 0xBF860E335AB42933 // c4 + .quad 0x3F75578EEA5D18CC // c5 + .quad 0xBF5F8BFBAD564EB5 // c6 + .quad 0x3F434A80D203FDB7 // c7 + .quad 0x3FE66243D70CB82A // B' = pi/2 - B (high double) + .quad 0xBC884805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCEDDCA38F25FEC // c0 (high double) + .quad 0x3C65AACB9E8B4E8C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE6143274A35BF // c1 (low double) + .quad 0xBFAC00347C15ABB2 // c2 + .quad 0x3FA1B4F6B03A62C8 // c3 + .quad 0xBF8568D557225239 // c4 + .quad 0x3F74C5A8346B014E // c5 + .quad 0xBF5E61680C7E3887 // c6 + .quad 0x3F45A81E03A2004A // c7 + .quad 0x3FE5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C7EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCE49CE5AF9DC29 // c0 (high double) + .quad 0x3C382336F1C6B420 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE0A506D218F3C // c1 (low double) + .quad 0xBFAB5A8C23E49FEA // c2 + .quad 0x3FA172B22117D625 // c3 + .quad 0xBF84C7DBDBF304B9 // c4 + .quad 0x3F74391DF553E941 // c5 + .quad 0xBF5D4211231EF20F // c6 + .quad 0x3F52AB1CCD6F9451 // c7 + .quad 0x3FE59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0xBC71AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCDB6597A2E1B61 // c0 (high double) + .quad 0x3C6CB71A947AAB6B // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBDB56255580CA4 // c1 (low double) + .quad 0xBFAAB74B20D856E7 // c2 + .quad 0x3FA1326099896038 // c3 + .quad 0xBF842B1D5CF84F74 // c4 + .quad 0x3F73B1CC2C4E32E8 // c5 + .quad 0xBF5C2D7D75B7FBCE // c6 + .quad 0x3F53DB94CE05D10A // c7 + .quad 0x3FE534AC0F19860C // B' = pi/2 - B (high double) + .quad 0x3C8EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCD236870E769B5 // c0 (high double) + .quad 0xBC523CE78218C3F0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD62716F68B5FE // c1 (low double) + .quad 0xBFAA165F518C38AB // c2 + .quad 0x3FA0F3F50E789484 // c3 + .quad 0xBF839271DC18DB75 // c4 + .quad 0x3F732F8BAC4C5496 // c5 + .quad 0xBF5B23248F865BB8 // c6 + .quad 0x3F36E307E32E173B // c7 + .quad 0x3FE4D02421C87558 // B' = pi/2 - B (high double) + .quad 0x3C6A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCC90F8250157F7 // c0 (high double) + .quad 0xBC657D8312BFEA16 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD117683053E13 // c1 (low double) + .quad 0xBFA977B70D411C29 // c2 + .quad 0x3FA0B762F022F359 // c3 + .quad 0xBF82FDB2D7324A8F // c4 + .quad 0x3F72B2030A36AAE0 // c5 + .quad 0xBF5A22A22953FC15 // c6 + .quad 0x3F473A2F09CB1310 // c7 + .quad 0x3FE46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC81A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCBFF05878394D3 // c0 (high double) + .quad 0xBC486912F813DEBC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBCC26A8EA2077F // c1 (low double) + .quad 0xBFA8DB411F68EE69 // c2 + .quad 0x3FA07C9E25737218 // c3 + .quad 0xBF826CBB3713A292 // c4 + .quad 0x3F72392A32F26712 // c5 + .quad 0xBF592B76EEB6E333 // c6 + .quad 0x3F39BADB57E2A4EB // c7 + .quad 0x3FE40714472653EF // B' = pi/2 - B (high double) + .quad 0x3C86106670B43955 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCB6D8D944D0371 // c0 (high double) + .quad 0x3C6CDD9D6EA4B883 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC7546C60FE5C7 // c1 (low double) + .quad 0xBFA840ECC35C53FD // c2 + .quad 0x3FA0439B07C380F3 // c3 + .quad 0xBF81DF673F038AB5 // c4 + .quad 0x3F71C4B3C36B8A2B // c5 + .quad 0xBF583D44FA2FB1AC // c6 + .quad 0x3F52EE3E6107070C // c7 + .quad 0x3FE3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0xBC51B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCADC8D51C0FA5B // c0 (high double) + .quad 0xBC54B350B5D39454 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC2A04912319A8 // c1 (low double) + .quad 0xBFA7A8A9A038608E // c2 + .quad 0x3FA00C4E5E972915 // c3 + .quad 0xBF8155947D4C5C83 // c4 + .quad 0x3F7154A7B149DA51 // c5 + .quad 0xBF5757960EDFC478 // c6 + .quad 0x3F3F895707140B54 // c7 + .quad 0x3FE33E046C843287 // B' = pi/2 - B (high double) + .quad 0xBC8A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCA4C01D0769648 // c0 (high double) + .quad 0xBC4DDC96CAE4A560 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBBE09D8A670D72 // c1 (low double) + .quad 0xBFA71267C4E29753 // c2 + .quad 0x3F9FAD5AB78BB764 // c3 + .quad 0xBF80CF21BC414F68 // c4 + .quad 0x3F70E8AC1DCF4364 // c5 + .quad 0xBF567A14C0530821 // c6 + .quad 0x3F4F621D6DA2AD4C // c7 + .quad 0x3FE2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C7A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC9BBE82AEA0D12 // c0 (high double) + .quad 0x3C62D116CA770BB7 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB990B7DDE5BFC // c1 (low double) + .quad 0xBFA67E17A4317C6C // c2 + .quad 0x3F9F455B2F170454 // c3 + .quad 0xBF804BEEF437A2B3 // c4 + .quad 0x3F7080CEADF2974D // c5 + .quad 0xBF55A44E3A71E98C // c6 + .quad 0xBF039F9468E5AC7C // c7 + .quad 0x3FE274F491E2111E // B' = pi/2 - B (high double) + .quad 0xBC7613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC92C3D852FEDF2 // c0 (high double) + .quad 0xBC20F5E7403E63E0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB534867CEB1CB // c1 (low double) + .quad 0xBFA5EBAA113813D4 // c2 + .quad 0x3F9EE08A1A202CC5 // c3 + .quad 0xBF7F97BA7BA1301A // c4 + .quad 0x3F701CAD7F191E00 // c5 + .quad 0xBF54D60D132212FE // c6 + .quad 0x3F45F5FE99746255 // c7 + .quad 0x3FE2106CA4910069 // B' = pi/2 - B (high double) + .quad 0x3C8CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC89CFF0CAA3CB4 // c0 (high double) + .quad 0x3C6A8D50D06FC30E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB0F4E73981D4B // c1 (low double) + .quad 0xBFA55B103BB2BD6D // c2 + .quad 0x3F9E7ED42D91EC8D // c3 + .quad 0xBF7E9D9D8AAE7B14 // c4 + .quad 0x3F6F78B5039EFACA // c5 + .quad 0xBF540EDBA3A7865E // c6 + .quad 0x3F3AA2CB5E8CB7D1 // c7 + .quad 0x3FE1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0x3C61A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC80E29F7BF5633 // c0 (high double) + .quad 0xBC67F8F06ACC6DE1 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBACD17FA976786 // c1 (low double) + .quad 0xBFA4CC3BAC93F075 // c2 + .quad 0x3F9E2026D6967836 // c3 + .quad 0xBF7DA94D7C694B78 // c4 + .quad 0x3F6EBF4F14B98A4D // c5 + .quad 0xBF534E7211F8744B // c6 + .quad 0xBF2290D134413454 // c7 + .quad 0x3FE1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC83DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC77FBB85928D2D // c0 (high double) + .quad 0x3C6121F4E1AC8205 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA8C9F83131391 // c1 (low double) + .quad 0xBFA43F1E42AF6970 // c2 + .quad 0x3F9DC4703433CA75 // c3 + .quad 0xBF7CBA92AE7FE396 // c4 + .quad 0x3F6E0CB6D0475CBF // c5 + .quad 0xBF529491FB8790F1 // c6 + .quad 0x3F37152AFD512A19 // c7 + .quad 0x3FE0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0x3C83DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC6F1B0FDBE6EDE // c0 (high double) + .quad 0xBC614F63025E350F // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA4DDFBF32A727 // c1 (low double) + .quad 0xBFA3B3AA2F826E47 // c2 + .quad 0x3F9D6B9F112A3CA9 // c3 + .quad 0xBF7BD1375F2B326E // c4 + .quad 0x3F6D60EF002A5944 // c5 + .quad 0xBF51E0E0E3E64206 // c6 + .quad 0x3F32BFA3B8DB7E72 // c7 + .quad 0x3FE07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0xBC61ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC66407B0109FA6 // c0 (high double) + .quad 0xBC55C3EC26D04386 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA10D38BFFE319 // c1 (low double) + .quad 0xBFA329D1F417DBD6 // c2 + .quad 0x3F9D15A2DE544C7C // c3 + .quad 0xBF7AED07977D3236 // c4 + .quad 0x3F6CBBAD3C53FDBF // c5 + .quad 0xBF513318B342B4E5 // c6 + .quad 0x3F1AF93D1229A6F6 // c7 + .quad 0x3FE019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0xBC8CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC5D6BCF447403E // c0 (high double) + .quad 0x3C6C6C662876B222 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB9D575F071964A // c1 (low double) + .quad 0xBFA2A1885E06BEAC // c2 + .quad 0x3F9CC26BAD1B38B8 // c3 + .quad 0xBF7A0DD116DA5229 // c4 + .quad 0x3F6C1C921E809C9E // c5 + .quad 0xBF508B03CEF8B07A // c6 + .quad 0x3F4BCE57D03F879A // c7 + .quad 0x3FDF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C760FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC549CE29CFCCBE // c0 (high double) + .quad 0x3C69881846E0C1CC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB99BC21C7FB9B2 // c1 (low double) + .quad 0xBFA21AC0848A46C5 // c2 + .quad 0x3F9C71EA2A16819D // c3 + .quad 0xBF7933633F8F0072 // c4 + .quad 0x3F6B83D1C55099C3 // c5 + .quad 0xBF4FD088727B159E // c6 + .quad 0xBF2306C94816B8C4 // c7 + .quad 0x3FDEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0xBC7A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC4BD38B7876716 // c0 (high double) + .quad 0xBC5504069A91A9E0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB963B368408780 // c1 (low double) + .quad 0xBFA1956DC5B1F35A // c2 + .quad 0x3F9C240F984C07DC // c3 + .quad 0xBF785D8F0388F11C // c4 + .quad 0x3F6AF0B073DF1CCA // c5 + .quad 0xBF4E9580D70D34E0 // c6 + .quad 0x3F4571315C44A425 // c7 + .quad 0x3FDDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0xBC66156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC430FA0B7C7F15 // c0 (high double) + .quad 0xBC63115D3C69C624 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB92D45530E4319 // c1 (low double) + .quad 0xBFA11183C3A8DFF6 // c2 + .quad 0x3F9BD8CDCC073185 // c3 + .quad 0xBF778C26D2F52E9A // c4 + .quad 0x3F6A638650FB676D // c5 + .quad 0xBF4D6420527BDB5B // c6 + .quad 0xBF2DA5A645CA3434 // c7 + .quad 0x3FDD0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0x3C51A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC3A50F9AB1CA91 // c0 (high double) + .quad 0xBC50CA3B48D907FA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8F87382B56ACB // c1 (low double) + .quad 0xBFA08EF662132882 // c2 + .quad 0x3F9B901726A3CD1C // c3 + .quad 0xBF76BEFE8A4461A2 // c4 + .quad 0x3F69DBAE42D8A416 // c5 + .quad 0xBF4C3C52357BF011 // c6 + .quad 0x3F32456D9E7FA4E8 // c7 + .quad 0x3FDC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C73DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC31976E0E280B3 // c0 (high double) + .quad 0x3C667516EE4F26F2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8C539C2AB0F89 // c1 (low double) + .quad 0xBFA00DB9C3806462 // c2 + .quad 0x3F9B49DE91DB8E44 // c3 + .quad 0xBF75F5EB6258C838 // c4 + .quad 0x3F695952C6BEE603 // c5 + .quad 0xBF4B1D691B1E9F12 // c6 + .quad 0xBEFC715673917907 // c7 + .quad 0x3FDB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0xBC7CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC28E2D6047CBC8 // c0 (high double) + .quad 0x3C0CEAB2537EA300 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB89394034B11CF // c1 (low double) + .quad 0xBF9F1B848DE48876 // c2 + .quad 0x3F9B06177BDD3821 // c3 + .quad 0xBF7530C3E0150AA0 // c4 + .quad 0x3F68DBF62FBA70EC // c5 + .quad 0xBF4A0736C860B400 // c6 + .quad 0x3F50A3F1D92A1F47 // c7 + .quad 0x3FDAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0xBC6A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC20330A15F6568 // c0 (high double) + .quad 0xBC61BB4F210EA632 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8637E591E05FE // c1 (low double) + .quad 0xBF9E1E090AECCE81 // c2 + .quad 0x3F9AC4B5D3090946 // c3 + .quad 0xBF746F5FC5C316BA // c4 + .quad 0x3F686400E51F5377 // c5 + .quad 0xBF48F8EADC3DBAD1 // c6 + .quad 0xBF320AB3DE6FDA08 // c7 + .quad 0x3FD9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0x3C419ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC1787E32B35112 // c0 (high double) + .quad 0x3C5D2D85EBE7CEA8 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB834F4FC268515 // c1 (low double) + .quad 0xBF9D22EA9FA50E7D // c2 + .quad 0x3F9A85AE02819BA3 // c3 + .quad 0xBF73B19803AB2B21 // c4 + .quad 0x3F67F0B8C64045E8 // c5 + .quad 0xBF47F293167B415A // c6 + .quad 0xBF198BF45BBDE600 // c7 + .quad 0x3FD921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C71A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC0EE13A8A2A9C6 // c0 (high double) + .quad 0x3C5830A63DDC3262 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB807F44735B1A4 // c1 (low double) + .quad 0xBF9C2A135884458A // c2 + .quad 0x3F9A48F4EE376E9D // c3 + .quad 0xBF72F746AAC73A47 // c4 + .quad 0x3F678215824701EA // c5 + .quad 0xBF46F3C719FB6619 // c6 + .quad 0x3F4BA88D5E69B64E // c7 + .quad 0x3FD858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0xBC7EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC063EE9D2B777C // c0 (high double) + .quad 0xBC4E1787D8B78D9C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7DC78B746BB2F // c1 (low double) + .quad 0xBF9B336DA889AC7D // c2 + .quad 0x3F9A0E7FEF8737D6 // c3 + .quad 0xBF724046DF328844 // c4 + .quad 0x3F67185639AB9961 // c5 + .quad 0xBF45FBD25ACB3AED // c6 + .quad 0x3F0E765A16190A6D // c7 + .quad 0x3FD78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC6EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBFB4195F6B0333 // c0 (high double) + .quad 0xBC47DB89E27050CE // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7B27EEAE12CDB // c1 (low double) + .quad 0xBF9A3EE464F938D9 // c2 + .quad 0x3F99D644D21E7AE8 // c3 + .quad 0xBF718C74CAAA7BA1 // c4 + .quad 0x3F66B2F778B94CFD // c5 + .quad 0xBF450AB96EF7378B // c6 + .quad 0x3F1412EF7D22C6CA // c7 + .quad 0x3FD6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0xBBB6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBEA0D709BC27CA // c0 (high double) + .quad 0xBC48928D103E7F70 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB78A03A181D6AC // c1 (low double) + .quad 0xBF994C62C1366C88 // c2 + .quad 0x3F99A039D09A41AD // c3 + .quad 0xBF70DBAD90C6529A // c4 + .quad 0x3F66520A2F7F4662 // c5 + .quad 0xBF441FF58F223C4F // c6 + .quad 0xBF357CCF18E00FA5 // c7 + .quad 0x3FD5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C6EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBD8E118C89577F // c0 (high double) + .quad 0xBC3344F06C36BFAC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB76303BB0A22C5 // c1 (low double) + .quad 0xBF985BD44ABC0416 // c2 + .quad 0x3F996C5591BA6DFA // c3 + .quad 0xBF702DCF4265B5B3 // c4 + .quad 0x3F65F52766DBD146 // c5 + .quad 0xBF433B879649EE5C // c6 + .quad 0x3F47C67A932EC95B // c7 + .quad 0x3FD534AC0F19860C // B' = pi/2 - B (high double) + .quad 0x3C7EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBC7BC444B10758 // c0 (high double) + .quad 0x3C511540B2268E0E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB73D7C3735AA80 // c1 (low double) + .quad 0xBF976D24E52F1F79 // c2 + .quad 0x3F993A8F25560FF4 // c3 + .quad 0xBF6F0571A586F6F3 // c4 + .quad 0x3F659C8E8181F3F0 // c5 + .quad 0xBF425CCABE1033EA // c6 + .quad 0x3F4D59CA0EE986DF // c7 + .quad 0x3FD46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC71A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBB69EA984DE6EF // c0 (high double) + .quad 0x3C573CB7437F1792 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7196A3515E12E // c1 (low double) + .quad 0xBF968040C68C8FE8 // c2 + .quad 0x3F990ADE01D185E6 // c3 + .quad 0xBF6DB49417B3E65C // c4 + .quad 0x3F6548393E856BDB // c5 + .quad 0xBF418353F782833A // c6 + .quad 0xBF36489E03176323 // c7 + .quad 0x3FD3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0xBC41B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBA587FF6553726 // c0 (high double) + .quad 0x3C5559CFE8366BA8 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6F6CAF293AC7F // c1 (low double) + .quad 0xBF959514736F007F // c2 + .quad 0x3F98DD3A019E14EB // c3 + .quad 0xBF6C68C706B3D0FB // c4 + .quad 0x3F64F779DB6C50F9 // c5 + .quad 0xBF40AF7CD7497BC1 // c6 + .quad 0x3F4AD3B98213250E // c7 + .quad 0x3FD2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C6A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB9477FD636A4D8 // c0 (high double) + .quad 0x3C5063C8B22C4842 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6D59BCBF6C48B // c1 (low double) + .quad 0xBF94AB8CBB6CBB16 // c2 + .quad 0x3F98B19B6070D56D // c3 + .quad 0xBF6B21CD22DB24B2 // c4 + .quad 0x3F64AAE4575F07CB // c5 + .quad 0xBF3FC08B3806F47F // c6 + .quad 0xBF00E427650BA68A // c7 + .quad 0x3FD2106CA4910069 // B' = pi/2 - B (high double) + .quad 0x3C7CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB836E5B77D959A // c0 (high double) + .quad 0xBC51BDCEFF6925EC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6B5DA3B72B738 // c1 (low double) + .quad 0xBF93C396B58BD74A // c2 + .quad 0x3F9887FAB9649830 // c3 + .quad 0xBF69DF6A8A7C820C // c4 + .quad 0x3F6461D2011761C1 // c5 + .quad 0xBF3E2C1220D97FBE // c6 + .quad 0x3F49F3B20EDA3AFF // c7 + .quad 0x3FD1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC73DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB726AD2173D50E // c0 (high double) + .quad 0xBC1FCEC90C8BEF70 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB69783D8B96CDF // c1 (low double) + .quad 0xBF92DD1FBCCBA937 // c2 + .quad 0x3F986051045C3883 // c3 + .quad 0xBF68A164B9409BD2 // c4 + .quad 0x3F641CB77D330F8F // c5 + .quad 0xBF3C9FE910D9CBC2 // c6 + .quad 0xBF302CCA98190297 // c7 + .quad 0x3FD07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0xBC51ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB616D1A2C591A8 // c0 (high double) + .quad 0x3C2EF832FD935ED0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB67A9658930D84 // c1 (low double) + .quad 0xBF91F8156CC25284 // c2 + .quad 0x3F983A9794563574 // c3 + .quad 0xBF67678272C8ECDD // c4 + .quad 0x3F63DAE696E3A38C // c5 + .quad 0xBF3B1CDBB342EE5D // c6 + .quad 0x3F49E00A3B463CAF // c7 + .quad 0x3FCF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C660FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB5074ED126983E // c0 (high double) + .quad 0x3C516E0EB4132D8C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB65F0F8C7B2809 // c1 (low double) + .quad 0xBF9114659E4D5E41 // c2 + .quad 0x3F9816C815084CDA // c3 + .quad 0xBF66318BB353364D // c4 + .quad 0x3F639CED9C49E6E4 // c5 + .quad 0xBF39A0F6E494228E // c6 + .quad 0xBF2EBBDA5946D8F5 // c7 + .quad 0x3FCDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0xBC56156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB3F82048F8BE00 // c0 (high double) + .quad 0xBC4AFD1EBA1D1F08 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB644ED6242FE19 // c1 (low double) + .quad 0xBF9031FE64545C32 // c2 + .quad 0x3F97F4DC89754A8C // c3 + .quad 0xBF64FF499B056453 // c4 + .quad 0x3F636226CB0F9286 // c5 + .quad 0xBF382D35D5867708 // c6 + .quad 0x3F3E29EBBEAD3F41 // c7 + .quad 0x3FCC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C63DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB2E941ACF368E6 // c0 (high double) + .quad 0x3C28FF4CA630E160 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB62C2DE3B8D982 // c1 (low double) + .quad 0xBF8EA19C1138E963 // c2 + .quad 0x3F97D4CF49C89DB5 // c3 + .quad 0xBF63D0865FBE1BAC // c4 + .quad 0x3F632AE80D59D97D // c5 + .quad 0xBF36C01A5963B74D // c6 + .quad 0x3F2F2207CBA79A42 // c7 + .quad 0x3FCAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0xBC5A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB1DAAEA5CC26DD // c0 (high double) + .quad 0x3C51577CBB7A4D94 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB614CF365450F4 // c1 (low double) + .quad 0xBF8CE1861157F322 // c2 + .quad 0x3F97B69B01FB3B26 // c3 + .quad 0xBF62A50D3A3C528B // c4 + .quad 0x3F62F6E9071D40DB // c5 + .quad 0xBF3559C86E0B83FE // c6 + .quad 0x3F41AFC8FEE8B00A // c7 + .quad 0x3FC921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C61A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB0CC62E1E04467 // c0 (high double) + .quad 0xBC47805D7AE2B26C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5FECF9AE763EA // c1 (low double) + .quad 0xBF8B23982579F8E5 // c2 + .quad 0x3F979A3AB01644F9 // c3 + .quad 0xBF617CAA57838224 // c4 + .quad 0x3F62C658DCA7F4AB // c5 + .quad 0xBF33F9251280A953 // c6 + .quad 0xBF2D5C4E17766D5A // c7 + .quad 0x3FC78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC5EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFAF7CB429BEA72C // c0 (high double) + .quad 0xBC3FFC35F2771324 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5EA2D6D5456CA // c1 (low double) + .quad 0xBF8967B0057BF87E // c2 + .quad 0x3F977FA9A2ED4D75 // c3 + .quad 0xBF60572AC7A74374 // c4 + .quad 0x3F6298E78AA42A2C // c5 + .quad 0xBF329E8594822820 // c6 + .quad 0xBF37DBAE80B80EC8 // c7 + .quad 0x3FC5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C5EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFAD611FEEED2925 // c0 (high double) + .quad 0xBC2C094544F37630 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5D6E7244839E4 // c1 (low double) + .quad 0xBF87ADABBEBF7F7F // c2 + .quad 0x3F9766E378A69DCA // c3 + .quad 0xBF5E68B8DEC46BCD // c4 + .quad 0x3F626E6BF47FF36D // c5 + .quad 0xBF3149F4C32A02B4 // c6 + .quad 0x3F4B764BFF26FBAF // c7 + .quad 0x3FC46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC61A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFAB46008DFA625D // c0 (high double) + .quad 0x3C1CFC71261A7FB0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5C4FB50FA0748 // c1 (low double) + .quad 0xBF85F569AE5EF4C9 // c2 + .quad 0x3F974FE41D60092F // c3 + .quad 0xBF5C281BF4A7A8E8 // c4 + .quad 0x3F62476FB6177831 // c5 + .quad 0xBF2FF1DE9AA130D5 // c6 + .quad 0xBF3D841C7D3057BC // c7 + .quad 0x3FC2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C5A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA92B4D8A427A5E // c0 (high double) + .quad 0xBC48D0F742399A2E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5B4689EEE44C8 // c1 (low double) + .quad 0xBF843EC87B78BC83 // c2 + .quad 0x3F973AA7CA62B764 // c3 + .quad 0xBF59EC1D907A7E74 // c4 + .quad 0x3F62232304CE0BCB // c5 + .quad 0xBF2D5C019E5C9327 // c6 + .quad 0x3F4A5742B30D6EA4 // c7 + .quad 0x3FC1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC63DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA710FE6F2ADA79 // c0 (high double) + .quad 0x3C47FCD1AF1BC88C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5A52DD3BF1903 // c1 (low double) + .quad 0xBF8289A7118F8015 // c2 + .quad 0x3F97272B048B0CB6 // c3 + .quad 0xBF57B45DC9402B07 // c4 + .quad 0x3F620239A251E2D3 // c5 + .quad 0xBF2ACB87C59ED9B1 // c6 + .quad 0xBF314F7BD600B48C // c7 + .quad 0x3FBF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C560FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA4F70ACF7EED25 // c0 (high double) + .quad 0xBC36D383618823A2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB59749CEE8C351 // c1 (low double) + .quad 0xBF80D5E49AFDF8A4 // c2 + .quad 0x3F97156A9BCB4ECE // c3 + .quad 0xBF55807DE55737F7 // c4 + .quad 0x3F61E4232793575A // c5 + .quad 0xBF28440F1D68D5AE // c6 + .quad 0xBF29FA204333F00C // c7 + .quad 0x3FBC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C53DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA2DD6A44CE1394 // c0 (high double) + .quad 0xBC4BFF776DACC8B5 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB58ABB899A6815 // c1 (low double) + .quad 0xBF7E46C0F6F92ADF // c2 + .quad 0x3F970563A9ED840F // c3 + .quad 0xBF53502047076AB7 // c4 + .quad 0x3F61C8E9B000D23F // c5 + .quad 0xBF25C4A8BD148199 // c6 + .quad 0x3F4131449FFC5A0C // c7 + .quad 0x3FB921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C51A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA0C4146ECAB658 // c0 (high double) + .quad 0x3C0F927420EB8C00 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB57F82168B23EC // c1 (low double) + .quad 0xBF7AE3F4956ED507 // c2 + .quad 0x3F96F71391CF9DFE // c3 + .quad 0xBF5122E851208A87 // c4 + .quad 0x3F61B0E12D5FF408 // c5 + .quad 0xBF23485E9450F437 // c6 + .quad 0xBF3CE0F3BAD9A7CF // c7 + .quad 0x3FB5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C4EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF9D5601E554ACE4 // c0 (high double) + .quad 0x3BF1725D940FAE40 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5759CA1D35995 // c1 (low double) + .quad 0xBF7783239DE5AD22 // c2 + .quad 0x3F96EA77FED69EC2 // c3 + .quad 0xBF4DF0F48A9F5DD6 // c4 + .quad 0x3F619B9AD4B4F692 // c5 + .quad 0xBF20D3375495B3AF // c6 + .quad 0xBF3C5F6BDA9649C1 // c7 + .quad 0x3FB2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C4A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF99244EF50D08B4 // c0 (high double) + .quad 0xBBF5D43FBFA6A650 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB56D0A70CA2FAE // c1 (low double) + .quad 0xBF74240DEF7AA427 // c2 + .quad 0x3F96DF8EE40AD931 // c3 + .quad 0xBF49A0F663CD9CED // c4 + .quad 0x3F61892DA49A01B1 // c5 + .quad 0xBF1CC6A5F5CD8613 // c6 + .quad 0xBF2979EF025F5A5D // c7 + .quad 0x3FAF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C460FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF94F2FF697D458F // c0 (high double) + .quad 0xBC2D47EE0D8639CC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB565CAE1E73473 // c1 (low double) + .quad 0xBF70C673B159CE1D // c2 + .quad 0x3F96D6567B9EC32E // c3 + .quad 0xBF455521A900DE57 // c4 + .quad 0x3F6179A180C97DC6 // c5 + .quad 0xBF17EE9A1A2093EC // c6 + .quad 0xBF0F289C23A5BE3D // c7 + .quad 0x3FA921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C41A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF90C202A6B4B69C // c0 (high double) + .quad 0x3C232719F8027342 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55FDD6CA81EFB // c1 (low double) + .quad 0xBF6AD42A909B3D64 // c2 + .quad 0x3F96CECD466E9161 // c3 + .quad 0xBF410CC300A993C8 // c4 + .quad 0x3F616CF28C1A20AD // c5 + .quad 0xBF131CA14234B209 // c6 + .quad 0xBF0575725B2F6BD2 // c7 + .quad 0x3FA2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C3A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF8922902DB2AC11 // c0 (high double) + .quad 0xBC23466BF961968D // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55B41A17AA68C // c1 (low double) + .quad 0xBF641D6698BEFAD5 // c2 + .quad 0x3F96C8F20B94D936 // c3 + .quad 0xBF398E50110336DC // c4 + .quad 0x3F61630EF83C40BE // c5 + .quad 0xBF0CA4CD1D39A327 // c6 + .quad 0x3F2D88AA4542B2A9 // c7 + .quad 0x3F9921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C31A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF80C17E51DDB68F // c0 (high double) + .quad 0xBC2BCDF2CE757F58 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB557F729AA69CB // c1 (low double) + .quad 0xBF5AD039FA1B06A9 // c2 + .quad 0x3F96C4C3D80DF7DB // c3 + .quad 0xBF31073E4843262F // c4 + .quad 0x3F615BF0FBDD75F6 // c5 + .quad 0xBF032668F6EE96B2 // c6 + .quad 0x3F4AB2BDCBD5B586 // c7 + .quad 0x3F8921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C21A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF70C15D3E7A6D22 // c0 (high double) + .quad 0xBC031AD41335B3D2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB555FDC752E0B2 // c1 (low double) + .quad 0xBF4ACF3DF3195D30 // c2 + .quad 0x3F96C241FE6B7D5F // c3 + .quad 0xBF2105DD68706FD9 // c4 + .quad 0x3F6157CCAEE0E30B // c5 + .quad 0xBEF320E95C86AAB5 // c6 + .quad 0x3F36CC59FF7E57F3 // c7 + .quad 0x0000000000000000 // B' = pi/2 - B (high double) + .quad 0x0000000000000000 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x0000000000000000 // c0 (high double) + .quad 0x0000000000000000 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5555555555555 // c1 (low double) + .quad 0x0000000000000000 // c2 + .quad 0x3F96C16C16C4A87E // c3 + .quad 0x0000000000000000 // c4 + .quad 0x3F615658C88FB22B // c5 + .quad 0x0000000000000000 // c6 + .quad 0x3F45FEB9DABEDDC8 // c7 + .quad 0xBF8921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC21A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F70C15D3E7A6D22 // c0 (high double) + .quad 0x3C031AD4127D9F3E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB555FDC752E0B2 // c1 (low double) + .quad 0x3F4ACF3DF3195D30 // c2 + .quad 0x3F96C241FE6B7D5F // c3 + .quad 0x3F2105DD68707011 // c4 + .quad 0x3F6157CCAEE0E445 // c5 + .quad 0x3EF320E95BE3603D // c6 + .quad 0x3F36CC59FB2A5B52 // c7 + .quad 0xBF9921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC31A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F80C17E51DDB68F // c0 (high double) + .quad 0x3C2BCDF2CE751153 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB557F729AA69CB // c1 (low double) + .quad 0x3F5AD039FA1B06A9 // c2 + .quad 0x3F96C4C3D80DF7DB // c3 + .quad 0x3F31073E4843262E // c4 + .quad 0x3F615BF0FBDD7613 // c5 + .quad 0x3F032668F6F21096 // c6 + .quad 0x3F4AB2BDCBA34188 // c7 + .quad 0xBFA2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC3A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F8922902DB2AC11 // c0 (high double) + .quad 0x3C23466BF9645874 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55B41A17AA68C // c1 (low double) + .quad 0x3F641D6698BEFAD5 // c2 + .quad 0x3F96C8F20B94D936 // c3 + .quad 0x3F398E50110336D4 // c4 + .quad 0x3F61630EF83C4025 // c5 + .quad 0x3F0CA4CD1D548C70 // c6 + .quad 0x3F2D88AA497F5A74 // c7 + .quad 0xBFA921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC41A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F90C202A6B4B69C // c0 (high double) + .quad 0xBC232719F82E8E78 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55FDD6CA81EFB // c1 (low double) + .quad 0x3F6AD42A909B3D64 // c2 + .quad 0x3F96CECD466E9161 // c3 + .quad 0x3F410CC300A993FB // c4 + .quad 0x3F616CF28C1A27D9 // c5 + .quad 0x3F131CA1418B03D0 // c6 + .quad 0xBF0575732696DF46 // c7 + .quad 0xBFAF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC460FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F94F2FF697D458F // c0 (high double) + .quad 0x3C2D47EE0D83F132 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB565CAE1E73473 // c1 (low double) + .quad 0x3F70C673B159CE1D // c2 + .quad 0x3F96D6567B9EC32E // c3 + .quad 0x3F455521A900DE58 // c4 + .quad 0x3F6179A180C97E50 // c5 + .quad 0x3F17EE9A1A1D88C1 // c6 + .quad 0xBF0F289C329281E6 // c7 + .quad 0xBFB2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC4A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F99244EF50D08B4 // c0 (high double) + .quad 0x3BF5D43FBF890B40 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB56D0A70CA2FAE // c1 (low double) + .quad 0x3F74240DEF7AA427 // c2 + .quad 0x3F96DF8EE40AD931 // c3 + .quad 0x3F49A0F663CD9CEE // c4 + .quad 0x3F61892DA49A0241 // c5 + .quad 0x3F1CC6A5F5CAD66B // c6 + .quad 0xBF2979EF063C00F3 // c7 + .quad 0xBFB5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC4EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F9D5601E554ACE4 // c0 (high double) + .quad 0xBBF1725D944B6FF0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5759CA1D35995 // c1 (low double) + .quad 0x3F7783239DE5AD22 // c2 + .quad 0x3F96EA77FED69EC2 // c3 + .quad 0x3F4DF0F48A9F5DD8 // c4 + .quad 0x3F619B9AD4B4F72F // c5 + .quad 0x3F20D33754930861 // c6 + .quad 0xBF3C5F6BDCAA4F14 // c7 + .quad 0xBFB921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC51A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA0C4146ECAB658 // c0 (high double) + .quad 0xBC0F9274210C3E30 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB57F82168B23EC // c1 (low double) + .quad 0x3F7AE3F4956ED507 // c2 + .quad 0x3F96F71391CF9DFE // c3 + .quad 0x3F5122E851208A88 // c4 + .quad 0x3F61B0E12D5FF46B // c5 + .quad 0x3F23485E944E645F // c6 + .quad 0xBF3CE0F3BC206D6A // c7 + .quad 0xBFBC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC53DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA2DD6A44CE1394 // c0 (high double) + .quad 0x3C4BFF776DAE2ACC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB58ABB899A6815 // c1 (low double) + .quad 0x3F7E46C0F6F92ADF // c2 + .quad 0x3F970563A9ED840F // c3 + .quad 0x3F53502047076AB6 // c4 + .quad 0x3F61C8E9B000D225 // c5 + .quad 0x3F25C4A8BD17699A // c6 + .quad 0x3F413144A024F67F // c7 + .quad 0xBFBF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC560FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA4F70ACF7EED25 // c0 (high double) + .quad 0x3C36D38361835224 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB59749CEE8C351 // c1 (low double) + .quad 0x3F80D5E49AFDF8A4 // c2 + .quad 0x3F97156A9BCB4ECE // c3 + .quad 0x3F55807DE55737F9 // c4 + .quad 0x3F61E42327935766 // c5 + .quad 0x3F28440F1D62D6E1 // c6 + .quad 0xBF29FA20436AFB73 // c7 + .quad 0xBFC1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C63DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA710FE6F2ADA79 // c0 (high double) + .quad 0xBC47FCD1AF1E5F81 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5A52DD3BF1903 // c1 (low double) + .quad 0x3F8289A7118F8015 // c2 + .quad 0x3F97272B048B0CB6 // c3 + .quad 0x3F57B45DC9402B09 // c4 + .quad 0x3F620239A251E2C5 // c5 + .quad 0x3F2ACB87C598F86B // c6 + .quad 0xBF314F7BD5BDC85C // c7 + .quad 0xBFC2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC5A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA92B4D8A427A5E // c0 (high double) + .quad 0x3C48D0F7423D245A // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5B4689EEE44C8 // c1 (low double) + .quad 0x3F843EC87B78BC83 // c2 + .quad 0x3F973AA7CA62B764 // c3 + .quad 0x3F59EC1D907A7E71 // c4 + .quad 0x3F62232304CE0BF5 // c5 + .quad 0x3F2D5C019E659382 // c6 + .quad 0x3F4A5742B2B8EFA5 // c7 + .quad 0xBFC46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C61A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FAB46008DFA625D // c0 (high double) + .quad 0xBC1CFC712619CB40 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5C4FB50FA0748 // c1 (low double) + .quad 0x3F85F569AE5EF4C9 // c2 + .quad 0x3F974FE41D60092F // c3 + .quad 0x3F5C281BF4A7A8E8 // c4 + .quad 0x3F62476FB617789E // c5 + .quad 0x3F2FF1DE9AA127B2 // c6 + .quad 0xBF3D841C7EAC9D16 // c7 + .quad 0xBFC5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC5EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FAD611FEEED2925 // c0 (high double) + .quad 0x3C2C094544F32A78 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5D6E7244839E4 // c1 (low double) + .quad 0x3F87ADABBEBF7F7F // c2 + .quad 0x3F9766E378A69DCA // c3 + .quad 0x3F5E68B8DEC46BCD // c4 + .quad 0x3F626E6BF47FF315 // c5 + .quad 0x3F3149F4C32A0685 // c6 + .quad 0x3F4B764BFFC07D27 // c7 + .quad 0xBFC78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C5EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FAF7CB429BEA72C // c0 (high double) + .quad 0x3C3FFC35F277313A // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5EA2D6D5456CA // c1 (low double) + .quad 0x3F8967B0057BF87E // c2 + .quad 0x3F977FA9A2ED4D75 // c3 + .quad 0x3F60572AC7A74374 // c4 + .quad 0x3F6298E78AA42A95 // c5 + .quad 0x3F329E8594822508 // c6 + .quad 0xBF37DBAE822657B7 // c7 + .quad 0xBFC921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC61A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB0CC62E1E04467 // c0 (high double) + .quad 0x3C47805D7AE2BD94 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5FECF9AE763EA // c1 (low double) + .quad 0x3F8B23982579F8E5 // c2 + .quad 0x3F979A3AB01644F9 // c3 + .quad 0x3F617CAA57838224 // c4 + .quad 0x3F62C658DCA7F4F9 // c5 + .quad 0x3F33F9251280A70A // c6 + .quad 0xBF2D5C4E19969DC6 // c7 + .quad 0xBFCAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0x3C5A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB1DAAEA5CC26DD // c0 (high double) + .quad 0xBC51577CBB7A50E2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB614CF365450F4 // c1 (low double) + .quad 0x3F8CE1861157F322 // c2 + .quad 0x3F97B69B01FB3B26 // c3 + .quad 0x3F62A50D3A3C528B // c4 + .quad 0x3F62F6E9071D40AC // c5 + .quad 0x3F3559C86E0B8558 // c6 + .quad 0x3F41AFC8FF3AAA17 // c7 + .quad 0xBFCC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC63DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB2E941ACF368E6 // c0 (high double) + .quad 0xBC28FF4CA630E010 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB62C2DE3B8D982 // c1 (low double) + .quad 0x3F8EA19C1138E963 // c2 + .quad 0x3F97D4CF49C89DB5 // c3 + .quad 0x3F63D0865FBE1BAC // c4 + .quad 0x3F632AE80D59D97F // c5 + .quad 0x3F36C01A5963B73C // c6 + .quad 0x3F2F2207CB99A5D3 // c7 + .quad 0xBFCDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0x3C56156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB3F82048F8BE00 // c0 (high double) + .quad 0x3C4AFD1EBA1D1ABA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB644ED6242FE19 // c1 (low double) + .quad 0x3F9031FE64545C32 // c2 + .quad 0x3F97F4DC89754A8C // c3 + .quad 0x3F64FF499B056453 // c4 + .quad 0x3F636226CB0F9266 // c5 + .quad 0x3F382D35D58677E8 // c6 + .quad 0x3F3E29EBBF1CE01E // c7 + .quad 0xBFCF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC660FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB5074ED126983E // c0 (high double) + .quad 0xBC516E0EB4132866 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB65F0F8C7B2809 // c1 (low double) + .quad 0x3F9114659E4D5E41 // c2 + .quad 0x3F9816C815084CDA // c3 + .quad 0x3F66318BB353364D // c4 + .quad 0x3F639CED9C49E72F // c5 + .quad 0x3F39A0F6E4942078 // c6 + .quad 0xBF2EBBDA5B521AEE // c7 + .quad 0xBFD07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0x3C51ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB616D1A2C591A8 // c0 (high double) + .quad 0xBC2EF832FD938898 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB67A9658930D84 // c1 (low double) + .quad 0x3F91F8156CC25284 // c2 + .quad 0x3F983A9794563574 // c3 + .quad 0x3F67678272C8ECDD // c4 + .quad 0x3F63DAE696E3A33F // c5 + .quad 0x3F3B1CDBB342F07A // c6 + .quad 0x3F49E00A3BCC8A23 // c7 + .quad 0xBFD1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C73DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB726AD2173D50E // c0 (high double) + .quad 0x3C1FCEC90C8C4150 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB69783D8B96CDF // c1 (low double) + .quad 0x3F92DD1FBCCBA937 // c2 + .quad 0x3F986051045C3883 // c3 + .quad 0x3F68A164B9409BD2 // c4 + .quad 0x3F641CB77D330FDA // c5 + .quad 0x3F3C9FE910D9C9B2 // c6 + .quad 0xBF302CCA991EA2A4 // c7 + .quad 0xBFD2106CA4910069 // B' = pi/2 - B (high double) + .quad 0xBC7CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB836E5B77D959A // c0 (high double) + .quad 0x3C51BDCEFF692111 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6B5DA3B72B738 // c1 (low double) + .quad 0x3F93C396B58BD74A // c2 + .quad 0x3F9887FAB9649830 // c3 + .quad 0x3F69DF6A8A7C820C // c4 + .quad 0x3F6461D201176179 // c5 + .quad 0x3F3E2C1220D981B3 // c6 + .quad 0x3F49F3B20F57CFA8 // c7 + .quad 0xBFD2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC6A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB9477FD636A4D8 // c0 (high double) + .quad 0xBC5063C8B22C4544 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6D59BCBF6C48B // c1 (low double) + .quad 0x3F94AB8CBB6CBB16 // c2 + .quad 0x3F98B19B6070D56D // c3 + .quad 0x3F6B21CD22DB24B2 // c4 + .quad 0x3F64AAE4575F07F6 // c5 + .quad 0x3F3FC08B3806F34C // c6 + .quad 0xBF00E42769BBA67A // c7 + .quad 0xBFD3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0x3C41B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBA587FF6553726 // c0 (high double) + .quad 0xBC5559CFE8367078 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6F6CAF293AC7F // c1 (low double) + .quad 0x3F959514736F007F // c2 + .quad 0x3F98DD3A019E14EB // c3 + .quad 0x3F6C68C706B3D0FB // c4 + .quad 0x3F64F779DB6C50B2 // c5 + .quad 0x3F40AF7CD7497CB8 // c6 + .quad 0x3F4AD3B9828EFAF2 // c7 + .quad 0xBFD46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C71A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBB69EA984DE6EF // c0 (high double) + .quad 0xBC573CB7437F11CA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7196A3515E12E // c1 (low double) + .quad 0x3F968040C68C8FE8 // c2 + .quad 0x3F990ADE01D185E6 // c3 + .quad 0x3F6DB49417B3E65C // c4 + .quad 0x3F6548393E856C2F // c5 + .quad 0x3F418353F7828212 // c6 + .quad 0xBF36489E043C6801 // c7 + .quad 0xBFD534AC0F19860C // B' = pi/2 - B (high double) + .quad 0xBC7EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBC7BC444B10758 // c0 (high double) + .quad 0xBC511540B2269343 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB73D7C3735AA80 // c1 (low double) + .quad 0x3F976D24E52F1F79 // c2 + .quad 0x3F993A8F25560FF4 // c3 + .quad 0x3F6F0571A586F6F3 // c4 + .quad 0x3F659C8E8181F3A3 // c5 + .quad 0x3F425CCABE1034F4 // c6 + .quad 0x3F4D59CA0F6FD35D // c7 + .quad 0xBFD5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC6EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBD8E118C89577F // c0 (high double) + .quad 0x3C3344F06C36B16C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB76303BB0A22C5 // c1 (low double) + .quad 0x3F985BD44ABC0416 // c2 + .quad 0x3F996C5591BA6DFA // c3 + .quad 0x3F702DCF4265B5B3 // c4 + .quad 0x3F65F52766DBD111 // c5 + .quad 0x3F433B879649EF12 // c6 + .quad 0x3F47C67A938B39B9 // c7 + .quad 0xBFD6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0x3BB6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBEA0D709BC27CA // c0 (high double) + .quad 0x3C48928D103E8AAC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB78A03A181D6AC // c1 (low double) + .quad 0x3F994C62C1366C88 // c2 + .quad 0x3F99A039D09A41AD // c3 + .quad 0x3F70DBAD90C6529A // c4 + .quad 0x3F66520A2F7F46B3 // c5 + .quad 0x3F441FF58F223B31 // c6 + .quad 0xBF357CCF19FA9D15 // c7 + .quad 0xBFD78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C6EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBFB4195F6B0333 // c0 (high double) + .quad 0x3C47DB89E2705528 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7B27EEAE12CDB // c1 (low double) + .quad 0x3F9A3EE464F938D9 // c2 + .quad 0x3F99D644D21E7AE8 // c3 + .quad 0x3F718C74CAAA7BA1 // c4 + .quad 0x3F66B2F778B94D1C // c5 + .quad 0x3F450AB96EF7371C // c6 + .quad 0x3F1412EF7B7239D9 // c7 + .quad 0xBFD858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0x3C7EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC063EE9D2B777C // c0 (high double) + .quad 0x3C4E1787D8B79264 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7DC78B746BB2F // c1 (low double) + .quad 0x3F9B336DA889AC7D // c2 + .quad 0x3F9A0E7FEF8737D6 // c3 + .quad 0x3F724046DF328844 // c4 + .quad 0x3F67185639AB9983 // c5 + .quad 0x3F45FBD25ACB3A74 // c6 + .quad 0x3F0E765A126439F7 // c7 + .quad 0xBFD921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC71A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC0EE13A8A2A9C6 // c0 (high double) + .quad 0xBC5830A63DDC366C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB807F44735B1A4 // c1 (low double) + .quad 0x3F9C2A135884458A // c2 + .quad 0x3F9A48F4EE376E9D // c3 + .quad 0x3F72F746AAC73A47 // c4 + .quad 0x3F678215824701AF // c5 + .quad 0x3F46F3C719FB66E6 // c6 + .quad 0x3F4BA88D5ED09DD1 // c7 + .quad 0xBFD9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0xBC419ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC1787E32B35112 // c0 (high double) + .quad 0xBC5D2D85EBE7CAE6 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB834F4FC268515 // c1 (low double) + .quad 0x3F9D22EA9FA50E7D // c2 + .quad 0x3F9A85AE02819BA3 // c3 + .quad 0x3F73B19803AB2B21 // c4 + .quad 0x3F67F0B8C640461D // c5 + .quad 0x3F47F293167B409B // c6 + .quad 0xBF198BF45EA16C3A // c7 + .quad 0xBFDAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0x3C6A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC20330A15F6568 // c0 (high double) + .quad 0x3C61BB4F210EA8D1 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8637E591E05FE // c1 (low double) + .quad 0x3F9E1E090AECCE81 // c2 + .quad 0x3F9AC4B5D3090946 // c3 + .quad 0x3F746F5FC5C316BA // c4 + .quad 0x3F686400E51F53C2 // c5 + .quad 0x3F48F8EADC3DB9C7 // c6 + .quad 0xBF320AB3DF7578B7 // c7 + .quad 0xBFDB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0x3C7CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC28E2D6047CBC8 // c0 (high double) + .quad 0xBC0CEAB2537F4380 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB89394034B11CF // c1 (low double) + .quad 0x3F9F1B848DE48876 // c2 + .quad 0x3F9B06177BDD3821 // c3 + .quad 0x3F7530C3E0150AA0 // c4 + .quad 0x3F68DBF62FBA70A3 // c5 + .quad 0x3F4A0736C860B4FE // c6 + .quad 0x3F50A3F1D969C867 // c7 + .quad 0xBFDC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC73DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC31976E0E280B3 // c0 (high double) + .quad 0xBC667516EE4F2544 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8C539C2AB0F89 // c1 (low double) + .quad 0x3FA00DB9C3806462 // c2 + .quad 0x3F9B49DE91DB8E44 // c3 + .quad 0x3F75F5EB6258C838 // c4 + .quad 0x3F695952C6BEE632 // c5 + .quad 0x3F4B1D691B1E9E68 // c6 + .quad 0xBEFC71567DD0AC40 // c7 + .quad 0xBFDD0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0xBC51A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC3A50F9AB1CA91 // c0 (high double) + .quad 0x3C50CA3B48D90906 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8F87382B56ACB // c1 (low double) + .quad 0x3FA08EF662132882 // c2 + .quad 0x3F9B901726A3CD1C // c3 + .quad 0x3F76BEFE8A4461A2 // c4 + .quad 0x3F69DBAE42D8A424 // c5 + .quad 0x3F4C3C52357BEFDC // c6 + .quad 0x3F32456D9E4ECEE8 // c7 + .quad 0xBFDDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0x3C66156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC430FA0B7C7F15 // c0 (high double) + .quad 0x3C63115D3C69C8AB // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB92D45530E4319 // c1 (low double) + .quad 0x3FA11183C3A8DFF6 // c2 + .quad 0x3F9BD8CDCC073185 // c3 + .quad 0x3F778C26D2F52E9A // c4 + .quad 0x3F6A638650FB67B4 // c5 + .quad 0x3F4D6420527BDA5C // c6 + .quad 0xBF2DA5A647B98994 // c7 + .quad 0xBFDEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0x3C7A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC4BD38B7876716 // c0 (high double) + .quad 0x3C5504069A91A838 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB963B368408780 // c1 (low double) + .quad 0x3FA1956DC5B1F35A // c2 + .quad 0x3F9C240F984C07DC // c3 + .quad 0x3F785D8F0388F11C // c4 + .quad 0x3F6AF0B073DF1CB2 // c5 + .quad 0x3F4E9580D70D3533 // c6 + .quad 0x3F4571315C6E8041 // c7 + .quad 0xBFDF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC760FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC549CE29CFCCBE // c0 (high double) + .quad 0xBC69881846E0BF86 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB99BC21C7FB9B2 // c1 (low double) + .quad 0x3FA21AC0848A46C5 // c2 + .quad 0x3F9C71EA2A16819D // c3 + .quad 0x3F7933633F8F0072 // c4 + .quad 0x3F6B83D1C5509A03 // c5 + .quad 0x3F4FD088727B14B9 // c6 + .quad 0xBF2306C949D5376C // c7 + .quad 0xBFE019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0x3C8CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC5D6BCF447403E // c0 (high double) + .quad 0xBC6C6C662876B393 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB9D575F071964A // c1 (low double) + .quad 0x3FA2A1885E06BEAC // c2 + .quad 0x3F9CC26BAD1B38B8 // c3 + .quad 0x3F7A0DD116DA5229 // c4 + .quad 0x3F6C1C921E809C74 // c5 + .quad 0x3F508B03CEF8B0C3 // c6 + .quad 0x3F4BCE57D088C848 // c7 + .quad 0xBFE07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0x3C61ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC66407B0109FA6 // c0 (high double) + .quad 0x3C55C3EC26D04666 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA10D38BFFE319 // c1 (low double) + .quad 0x3FA329D1F417DBD6 // c2 + .quad 0x3F9D15A2DE544C7C // c3 + .quad 0x3F7AED07977D3236 // c4 + .quad 0x3F6CBBAD3C53FDE7 // c5 + .quad 0x3F513318B342B49D // c6 + .quad 0x3F1AF93D0FFB8A50 // c7 + .quad 0xBFE0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0xBC83DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC6F1B0FDBE6EDE // c0 (high double) + .quad 0x3C614F63025E35DC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA4DDFBF32A727 // c1 (low double) + .quad 0x3FA3B3AA2F826E47 // c2 + .quad 0x3F9D6B9F112A3CA9 // c3 + .quad 0x3F7BD1375F2B326E // c4 + .quad 0x3F6D60EF002A5959 // c5 + .quad 0x3F51E0E0E3E641DE // c6 + .quad 0x3F32BFA3B8923D31 // c7 + .quad 0xBFE1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C83DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC77FBB85928D2D // c0 (high double) + .quad 0xBC6121F4E1AC8166 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA8C9F83131391 // c1 (low double) + .quad 0x3FA43F1E42AF6970 // c2 + .quad 0x3F9DC4703433CA75 // c3 + .quad 0x3F7CBA92AE7FE396 // c4 + .quad 0x3F6E0CB6D0475CCF // c5 + .quad 0x3F529491FB8790D2 // c6 + .quad 0x3F37152AFD195A10 // c7 + .quad 0xBFE1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0xBC61A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC80E29F7BF5633 // c0 (high double) + .quad 0x3C67F8F06ACC7061 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBACD17FA976786 // c1 (low double) + .quad 0x3FA4CC3BAC93F075 // c2 + .quad 0x3F9E2026D6967836 // c3 + .quad 0x3F7DA94D7C694B78 // c4 + .quad 0x3F6EBF4F14B98A92 // c5 + .quad 0x3F534E7211F873CE // c6 + .quad 0xBF2290D13622948A // c7 + .quad 0xBFE2106CA4910069 // B' = pi/2 - B (high double) + .quad 0xBC8CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC89CFF0CAA3CB4 // c0 (high double) + .quad 0xBC6A8D50D06FC283 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB0F4E73981D4B // c1 (low double) + .quad 0x3FA55B103BB2BD6D // c2 + .quad 0x3F9E7ED42D91EC8D // c3 + .quad 0x3F7E9D9D8AAE7B14 // c4 + .quad 0x3F6F78B5039EFAD8 // c5 + .quad 0x3F540EDBA3A78643 // c6 + .quad 0x3F3AA2CB5E5BE1ED // c7 + .quad 0xBFE274F491E2111E // B' = pi/2 - B (high double) + .quad 0x3C7613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC92C3D852FEDF2 // c0 (high double) + .quad 0x3C20F5E7403E5E20 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB534867CEB1CB // c1 (low double) + .quad 0x3FA5EBAA113813D4 // c2 + .quad 0x3F9EE08A1A202CC5 // c3 + .quad 0x3F7F97BA7BA1301A // c4 + .quad 0x3F701CAD7F191DFA // c5 + .quad 0x3F54D60D13221310 // c6 + .quad 0x3F45F5FE99894FC6 // c7 + .quad 0xBFE2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC7A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC9BBE82AEA0D12 // c0 (high double) + .quad 0xBC62D116CA77096B // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB990B7DDE5BFC // c1 (low double) + .quad 0x3FA67E17A4317C6C // c2 + .quad 0x3F9F455B2F170454 // c3 + .quad 0x3F804BEEF437A2B3 // c4 + .quad 0x3F7080CEADF2976D // c5 + .quad 0x3F55A44E3A71E919 // c6 + .quad 0xBF039F946FDF9BBB // c7 + .quad 0xBFE33E046C843287 // B' = pi/2 - B (high double) + .quad 0x3C8A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCA4C01D0769648 // c0 (high double) + .quad 0x3C4DDC96CAE4A06C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBBE09D8A670D72 // c1 (low double) + .quad 0x3FA71267C4E29753 // c2 + .quad 0x3F9FAD5AB78BB764 // c3 + .quad 0x3F80CF21BC414F68 // c4 + .quad 0x3F70E8AC1DCF4352 // c5 + .quad 0x3F567A14C053085F // c6 + .quad 0x3F4F621D6DE176C4 // c7 + .quad 0xBFE3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0x3C51B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCADC8D51C0FA5B // c0 (high double) + .quad 0x3C54B350B5D39570 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC2A04912319A8 // c1 (low double) + .quad 0x3FA7A8A9A038608E // c2 + .quad 0x3FA00C4E5E972915 // c3 + .quad 0x3F8155947D4C5C83 // c4 + .quad 0x3F7154A7B149DA58 // c5 + .quad 0x3F5757960EDFC45C // c6 + .quad 0x3F3F895706E3352B // c7 + .quad 0xBFE40714472653EF // B' = pi/2 - B (high double) + .quad 0xBC86106670B43955 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCB6D8D944D0371 // c0 (high double) + .quad 0xBC6CDD9D6EA4BA41 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC7546C60FE5C7 // c1 (low double) + .quad 0x3FA840ECC35C53FD // c2 + .quad 0x3FA0439B07C380F3 // c3 + .quad 0x3F81DF673F038AB5 // c4 + .quad 0x3F71C4B3C36B8A12 // c5 + .quad 0x3F583D44FA2FB203 // c6 + .quad 0x3F52EE3E6132A151 // c7 + .quad 0xBFE46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C81A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCBFF05878394D3 // c0 (high double) + .quad 0x3C486912F813E2EC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBCC26A8EA2077F // c1 (low double) + .quad 0x3FA8DB411F68EE69 // c2 + .quad 0x3FA07C9E25737218 // c3 + .quad 0x3F826CBB3713A292 // c4 + .quad 0x3F72392A32F26720 // c5 + .quad 0x3F592B76EEB6E2FF // c6 + .quad 0x3F39BADB5780F9BE // c7 + .quad 0xBFE4D02421C87558 // B' = pi/2 - B (high double) + .quad 0xBC6A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCC90F8250157F7 // c0 (high double) + .quad 0x3C657D8312BFEA17 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD117683053E13 // c1 (low double) + .quad 0x3FA977B70D411C29 // c2 + .quad 0x3FA0B762F022F359 // c3 + .quad 0x3F82FDB2D7324A8F // c4 + .quad 0x3F72B2030A36AADF // c5 + .quad 0x3F5A22A22953FC15 // c6 + .quad 0x3F473A2F09CE8F95 // c7 + .quad 0xBFE534AC0F19860C // B' = pi/2 - B (high double) + .quad 0xBC8EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCD236870E769B5 // c0 (high double) + .quad 0x3C523CE78218C6AA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD62716F68B5FE // c1 (low double) + .quad 0x3FAA165F518C38AB // c2 + .quad 0x3FA0F3F50E789484 // c3 + .quad 0x3F839271DC18DB75 // c4 + .quad 0x3F732F8BAC4C54A8 // c5 + .quad 0x3F5B23248F865B74 // c6 + .quad 0x3F36E307E2B0837C // c7 + .quad 0xBFE59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0x3C71AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCDB6597A2E1B61 // c0 (high double) + .quad 0xBC6CB71A947AACF6 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBDB56255580CA4 // c1 (low double) + .quad 0x3FAAB74B20D856E7 // c2 + .quad 0x3FA1326099896038 // c3 + .quad 0x3F842B1D5CF84F74 // c4 + .quad 0x3F73B1CC2C4E32D2 // c5 + .quad 0x3F5C2D7D75B7FC1B // c6 + .quad 0x3F53DB94CE2C2FD8 // c7 + .quad 0xBFE5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC7EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCE49CE5AF9DC29 // c0 (high double) + .quad 0xBC382336F1C6BD90 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE0A506D218F3C // c1 (low double) + .quad 0x3FAB5A8C23E49FEA // c2 + .quad 0x3FA172B22117D625 // c3 + .quad 0x3F84C7DBDBF304B9 // c4 + .quad 0x3F74391DF553E930 // c5 + .quad 0x3F5D4211231EF24A // c6 + .quad 0x3F52AB1CCD8D3AA9 // c7 + .quad 0xBFE66243D70CB82A // B' = pi/2 - B (high double) + .quad 0x3C884805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCEDDCA38F25FEC // c0 (high double) + .quad 0xBC65AACB9E8B4DF8 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE6143274A35BF // c1 (low double) + .quad 0x3FAC00347C15ABB2 // c2 + .quad 0x3FA1B4F6B03A62C8 // c3 + .quad 0x3F8568D557225239 // c4 + .quad 0x3F74C5A8346B0155 // c5 + .quad 0x3F5E61680C7E386A // c6 + .quad 0x3F45A81E03899535 // c7 + .quad 0xBFE6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0x3BC6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCF7250459C1976 // c0 (high double) + .quad 0x3C40B5B081F06BA0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBEBA422E0FE0E5 // c1 (low double) + .quad 0x3FACA856C815D042 // c2 + .quad 0x3FA1F93BD218DCE9 // c3 + .quad 0x3F860E335AB42933 // c4 + .quad 0x3F75578EEA5D18D8 // c5 + .quad 0x3F5F8BFBAD564E86 // c6 + .quad 0x3F434A80D1DA21D1 // c7 + .quad 0xBFE72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0xBC88452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD003B1DF5A0F86 // c0 (high double) + .quad 0x3C716CEB71FB716B // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF155566FA6884 // c1 (low double) + .quad 0x3FAD530628A37C7A // c2 + .quad 0x3FA23F8F96E80A99 // c3 + .quad 0x3F86B82113BDC04E // c4 + .quad 0x3F75EF0B9C9DF1C6 // c5 + .quad 0x3F60613421CB6A80 // c6 + .quad 0x3F48E48E906FE806 // c7 + .quad 0xBFE78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C7EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD04E83F7474877 // c0 (high double) + .quad 0x3C73B117AC20AC65 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF7284F47C0E61 // c1 (low double) + .quad 0x3FAE0056458FCED5 // c2 + .quad 0x3FA28800992AEEE6 // c3 + .quad 0x3F8766CB6439B11D // c4 + .quad 0x3F768C54DBB36839 // c5 + .quad 0x3F610297B13942C6 // c6 + .quad 0x3F5536BD1C4BF79E // c7 + .quad 0xBFE7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0xBC71A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD099A0163BCD3F // c0 (high double) + .quad 0x3C7A7F11D963D72E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBFD1D937A1F094 // c1 (low double) + .quad 0x3FAEB05B52EFB4C0 // c2 + .quad 0x3FA2D29E032A57DB // c3 + .quad 0x3F881A60F7D38723 // c4 + .quad 0x3F772FBBF1BFA28B // c5 + .quad 0x3F61AA745B27BB01 // c6 + .quad 0x3F51CC19136F91C1 // c7 + .quad 0xBFE858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0x3C8EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD0E507EE8B93D7 // c0 (high double) + .quad 0x3C679F09CDD5D5B2 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBFCCA52E2AE201 // c1 (low double) + .quad 0x3FAF632A1681FD0B // c2 + .quad 0x3FA31F7794BDF922 // c3 + .quad 0x3F88D31259E30525 // c4 + .quad 0x3F77D97B728544F5 // c5 + .quad 0x3F62591A3A2B699F // c6 + .quad 0x3F3605B387A5D7A0 // c7 + .quad 0xBFE8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0x3C6A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD130BD396BB4A9 // c0 (high double) + .quad 0xBC657D8592EA09D4 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBF68ED595308D6 // c1 (low double) + .quad 0x3FB00C6BF6A673E6 // c2 + .quad 0x3FA36E9DA9556AA6 // c3 + .quad 0x3F8991120C7D4BB9 // c4 + .quad 0x3F7889ABD6008215 // c5 + .quad 0x3F630EE404688883 // c6 + .quad 0x3F52CAD75A2201AF // c7 + .quad 0xBFE921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC81A62633145C07 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFF0000000000000 // c0 (high double) + .quad 0x3C0492B176DF0500 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0x0000000000000000 // c1 (low double) + .quad 0xC00000000000010A // c2 + .quad 0x4005555555555614 // c3 + .quad 0xC00AAAAAA890EF4D // c4 + .quad 0x4011111110018C73 // c5 + .quad 0xC015B108FB920A0B // c6 + .quad 0x401BA285D6669571 // c7 + .quad 0xBFE9868341953DCD // B' = pi/2 - B (high double) + .quad 0x3C861341341F5289 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEF395D9F0E3C92 // c0 (high double) + .quad 0x3C550BEC65726E28 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFA8873C53BE0540 // c1 (low double) + .quad 0xBFFE79E5C65202DE // c2 + .quad 0x400412FD76797C7D // c3 + .quad 0xC008AAB30DC82D37 // c4 + .quad 0x400F1B6C68B4AEA4 // c5 + .quad 0xC013758CE9BD9EFA // c6 + .quad 0x40186872A0685915 // c7 + .quad 0xBFE9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0xBC519ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEE776EAFC91706 // c0 (high double) + .quad 0xBC890664EDC53F33 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFB7F295AD658764 // c1 (low double) + .quad 0xBFFD0AA1DB7F5E58 // c2 + .quad 0x4002E8A6F9693556 // c3 + .quad 0xC006D7CA16B298C6 // c4 + .quad 0x400C63DFCAA3FB6C // c5 + .quad 0xC0117C3EE50D7742 // c6 + .quad 0x401599932C96B9B6 // c7 + .quad 0xBFEA4F931C375F35 // B' = pi/2 - B (high double) + .quad 0xBC8A79EFFD795057 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEDB9FA89953FCF // c0 (high double) + .quad 0xBC286C68F514A640 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC18AC418849A6E // c1 (low double) + .quad 0xBFFBB083E02786D7 // c2 + .quad 0x4001D438F8A20402 // c3 + .quad 0xC0052D5D6FF7A4BD // c4 + .quad 0x4009F262067BAA5A // c5 + .quad 0xC00F793DA8608BED // c6 + .quad 0x401328BFC5F60A29 // c7 + .quad 0xBFEAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0x3C7A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFED00CBC7384D2E // c0 (high double) + .quad 0xBC78C4FC635B4060 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC6DA3A87611EA6 // c1 (low double) + .quad 0xBFFA6A00F50D3A6F // c2 + .quad 0x4000D3D0A6ABBD46 // c3 + .quad 0xC003A760672280D0 // c4 + .quad 0x4007BF026C103550 // c5 + .quad 0xC00C5EBD23F4E2ED // c6 + .quad 0x4011024DB786758B // c7 + .quad 0xBFEB18A2F6D9809E // B' = pi/2 - B (high double) + .quad 0xBC760E425E23E66F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEC4BB009E77983 // c0 (high double) + .quad 0x3C5346B6895BC358 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFCBEB63A6D04570 // c1 (low double) + .quad 0xBFF935AFFA8DCC1D // c2 + .quad 0x3FFFCB7657D15F0B // c3 + .quad 0xC002423AFCE75F54 // c4 + .quad 0x4005C2CF61AD4B89 // c5 + .quad 0xC0099C675A298F5C // c6 + .quad 0x400E49F38B657F96 // c7 + .quad 0xBFEB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0x3C8CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEB9A77C18C1AF2 // c0 (high double) + .quad 0xBC76EA194A3A10DE // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD060D88DF903DF // c1 (low double) + .quad 0xBFF812463C417D93 // c2 + .quad 0x3FFE10E093E6DE8D // c3 + .quad 0xC000FABB50DD022E // c4 + .quad 0x4003F7B45B053F77 // c5 + .quad 0xC007275FB67DBBDD // c6 + .quad 0x400B02CB76CD2071 // c7 + .quad 0xBFEBE1B2D17BA207 // B' = pi/2 - B (high double) + .quad 0x3C61AEB67D55A7A1 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEAECF5F9BA35A6 // c0 (high double) + .quad 0xBC45350833FF1F00 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD2B02B2D565D55 // c1 (low double) + .quad 0xBFF6FE947B408BAC // c2 + .quad 0x3FFC751B52A83938 // c3 + .quad 0xBFFF9C12181CFBBA // c4 + .quad 0x4002585B4421C074 // c5 + .quad 0xC004F6412119DA02 // c6 + .quad 0x400814BACED70A9A // c7 + .quad 0xBFEC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC83DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEA43002AE42850 // c0 (high double) + .quad 0x3C7A7C0406DA50C8 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD4E526E33345B8 // c1 (low double) + .quad 0xBFF5F9844B626284 // c2 + .quad 0x3FFAF5A574C2F3BF // c3 + .quad 0xBFFD7334FD198D13 // c4 + .quad 0x4000E01251879DC7 // c5 + .quad 0xC00300E6F5213CD0 // c6 + .quad 0x40058BA67D3A0565 // c7 + .quad 0xBFECAAC2AC1DC370 // B' = pi/2 - B (high double) + .quad 0x3C83DE7C6DBCC708 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE99C6E0F634394 // c0 (high double) + .quad 0xBC81A125C4B050B6 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD7012EAAC8A987 // c1 (low double) + .quad 0xBFF50215B95FD940 // c2 + .quad 0x3FF9903A2B193F49 // c3 + .quad 0xBFFB7656607D37C1 // c4 + .quad 0x3FFF156F461C0EDF // c5 + .quad 0xC001403E48F27428 // c6 + .quad 0x40034ACD8D387876 // c7 + .quad 0xBFED0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0xBC61A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE8F9197BF85EEB // c0 (high double) + .quad 0x3C77971D70636FAC // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD9058D62BBB98D // c1 (low double) + .quad 0xBFF4175D31199B0C // c2 + .quad 0x3FF842CA948070CE // c3 + .quad 0xBFF9A1675E6F2233 // c4 + .quad 0x3FFCA94A75D1DF36 // c5 + .quad 0xBFFF5C3EE98CB792 // c6 + .quad 0x4001549BBD776205 // c7 + .quad 0xBFED73D286BFE4D8 // B' = pi/2 - B (high double) + .quad 0xBC8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE858DE3B716571 // c0 (high double) + .quad 0xBC8C6340D74E9430 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDAF377B50F3DE8 // c1 (low double) + .quad 0xBFF338819C6A585B // c2 + .quad 0x3FF70B781BB3F9F8 // c3 + .quad 0xBFF7F0C4DC952BEE // c4 + .quad 0x3FFA75444794B0BE // c5 + .quad 0xBFFC8A58AEEA1540 // c6 + .quad 0x3FFF1509C3EC4766 // c7 + .quad 0xBFEDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0x3C76156546AFA570 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE7BB99ED2990CF // c0 (high double) + .quad 0x3C8AABB12893C19F // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDCCC0DD257FE9F // c1 (low double) + .quad 0xBFF264BAB3E8C3FC // c2 + .quad 0x3FF5E88F7CC1F7BC // c3 + .quad 0xBFF6612B1AE228E1 // c4 + .quad 0x3FF873A64164BF01 // c5 + .quad 0xBFFA016987C44E3B // c6 + .quad 0x3FFBFCA608E3ABD2 // c7 + .quad 0xBFEE3CE261620641 // B' = pi/2 - B (high double) + .quad 0xBC7A77CBEAE8FD71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE7212BE621BE6D // c0 (high double) + .quad 0xBC8AD14CAC5A8A36 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDE905D04D13F70 // c1 (low double) + .quad 0xBFF19B4F7BD63206 // c2 + .quad 0x3FF4D8845C8EEC38 // c3 + .quad 0xBFF4EFAAD70924AA // c4 + .quad 0x3FF69F610EDFA787 // c5 + .quad 0xBFF7B93C8525967B // c6 + .quad 0x3FF928F491396159 // c7 + .quad 0xBFEEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0x3C8A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE6897514751DB6 // c0 (high double) + .quad 0xBC7432E085692DD0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDFBE9EE099229D // c1 (low double) + .quad 0xBFF0DB94E83152C9 // c2 + .quad 0x3FF3D9ED602549D9 // c3 + .quad 0xBFF3999FCB35B63C // c4 + .quad 0x3FF4F3F4BB18D34D // c5 + .quad 0xBFF5AA9FE2712A98 // c6 + .quad 0x3FF6B61F156D15A2 // c7 + .quad 0xBFEF05F23C0427AA // B' = pi/2 - B (high double) + .quad 0x3C51B746C796F33C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE5F457E4F4812E // c0 (high double) + .quad 0xBC8F6EE06A43AD15 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDE1FFA33ABCB2D // c1 (low double) + .quad 0xBFF024ECA3857FDF // c2 + .quad 0x3FF2EB80B3E2C969 // c3 + .quad 0xBFF25CA858ECE33E // c4 + .quad 0x3FF36D6159DB2BC3 // c5 + .quad 0xBFF3CF427530AFAE // c6 + .quad 0x3FF4914D16BF30E1 // c7 + .quad 0xBFEF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC860FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE561B82AB7F990 // c0 (high double) + .quad 0xBC87A5FA3E37C2A5 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDC92D84170BCC6 // c1 (low double) + .quad 0xBFEEED87E934644C // c2 + .quad 0x3FF20C10F4D7D072 // c3 + .quad 0xBFF1369E37DA5741 // c4 + .quad 0x3FF20816F61AB3EE // c5 + .quad 0xBFF221953D8712FA // c6 + .quad 0x3FF29CA76CD56201 // c7 + .quad 0xBFEFCF0216A64913 // B' = pi/2 - B (high double) + .quad 0x3C81A9B7A75A3B87 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE4D17B087B265D // c0 (high double) + .quad 0x3C788AAC4AE25B54 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDB166A3723839C // c1 (low double) + .quad 0xBFEDA1257F3D5E87 // c2 + .quad 0x3FF13A8A70704F6B // c3 + .quad 0xBFF025900612C493 // c4 + .quad 0x3FF0C0E778680DE8 // c5 + .quad 0xBFF09CB2B02DFCD5 // c6 + .quad 0x3FF0D681147681E0 // c7 + .quad 0xBFF019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0x3C9CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE44386DB9CE5DB // c0 (high double) + .quad 0x3C8A7F79AD345EDE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD9A9EE22E82AF2 // c1 (low double) + .quad 0xBFEC63B53FACFD1B // c2 + .quad 0x3FF075F0B010F1C9 // c3 + .quad 0xBFEE4F7738A37AC1 // c4 + .quad 0x3FEF29F7068A6E01 // c5 + .quad 0xBFEE78912F3E48A3 // c6 + .quad 0x3FEE7DE5AD1A6D54 // c7 + .quad 0xBFF04C08F8A4353E // B' = pi/2 - B (high double) + .quad 0x3C908E433AE0CC54 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE3B7C3289ED6F3 // c0 (high double) + .quad 0x3C8C4CF3D3282C13 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD84CAE0A06DE7C // c1 (low double) + .quad 0xBFEB344C2E4C0F47 // c2 + .quad 0x3FEF7AB88F5F820C // c3 + .quad 0xBFEC771219A99E98 // c4 + .quad 0x3FED0390B144EACA // c5 + .quad 0xBFEBF90A32A17514 // c6 + .quad 0x3FEBAC50A2919B8C // c7 + .quad 0xBFF07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0x3C71ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE32E1889047FFD // c0 (high double) + .quad 0x3C810D08F013759C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD6FDFF12A4297B // c1 (low double) + .quad 0xBFEA120FA25B9D83 // c2 + .quad 0x3FEE1FF1BF27E6AB // c3 + .quad 0xBFEABF0C6E045EA0 // c4 + .quad 0x3FEB0A0E2CDCAB88 // c5 + .quad 0xBFE9B40D41660E9D // c6 + .quad 0x3FE92FCC1848D94B // c7 + .quad 0xBFF0B090E5F545F2 // B' = pi/2 - B (high double) + .quad 0xBC7EE15577AE1472 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE2A6709A74F289 // c0 (high double) + .quad 0xBC76E3B98C266662 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD5BD40BF249496 // c1 (low double) + .quad 0xBFE8FC33EFCF6F3A // c2 + .quad 0x3FECDA06E4CFC822 // c3 + .quad 0xBFE924C5BA1C7515 // c4 + .quad 0x3FE9395A86CEDBCB // c5 + .quad 0xBFE7A39B6931C7D4 // c6 + .quad 0x3FE6D875BED7A2F5 // c7 + .quad 0xBFF0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0xBC93DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE220B5EF047825 // c0 (high double) + .quad 0xBC5AE1F6C712B338 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD489DC399ADDEC // c1 (low double) + .quad 0xBFE7F1FB2FEBE8C6 // c2 + .quad 0x3FEBA791734D6CCE // c3 + .quad 0xBFE7A5DA56BAB9DA // c4 + .quad 0x3FE78DC9A17C17D7 // c5 + .quad 0xBFE5C262725357AE // c6 + .quad 0x3FE4D1FE58052A5F // c7 + .quad 0xBFF11518D34656A6 // B' = pi/2 - B (high double) + .quad 0xBC9FFEEDF6B7D68D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE19CD3FE8E405D // c0 (high double) + .quad 0x3C84E5C1D4831B21 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD36343ADCAF866 // c1 (low double) + .quad 0xBFE6F2B4260FF6A8 // c2 + .quad 0x3FEA8747864942E1 // c3 + .quad 0xBFE6401D47362936 // c4 + .quad 0x3FE6040F50A52FBE // c5 + .quad 0xBFE40BA6192CC675 // c6 + .quad 0x3FE302E7DABA2D8E // c7 + .quad 0xBFF1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C93DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE11AB7190834EC // c0 (high double) + .quad 0x3C8E577A07DB8B3E // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD248F1B07217E3 // c1 (low double) + .quad 0xBFE5FDB93DD01D06 // c2 + .quad 0x3FE977F956462152 // c3 + .quad 0xBFE4F192BE91E40A // c4 + .quad 0x3FE49932EEB2A51C // c5 + .quad 0xBFE27B305435DE25 // c6 + .quad 0x3FE176C2BDD3411E // c7 + .quad 0xBFF179A0C097675B // B' = pi/2 - B (high double) + .quad 0x3C7EE9E5C1EF600D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE09A4C59BD0D4D // c0 (high double) + .quad 0x3C451D94A7B87B10 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD13A68B2A5E855 // c1 (low double) + .quad 0xBFE5126F9FD8D89F // c2 + .quad 0x3FE8788EEDC53F19 // c3 + .quad 0xBFE3B86B3E883B76 // c4 + .quad 0x3FE34A881E7F09CA // c5 + .quad 0xBFE10D3EF07D1073 // c6 + .quad 0x3FDFEBFE6A9FE5DD // c7 + .quad 0xBFF1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0xBC71A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE01B819B5A7CF7 // c0 (high double) + .quad 0xBC80BED996FB9ED6 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD03732803B2A4C // c1 (low double) + .quad 0xBFE430465B55C6C0 // c2 + .quad 0x3FE78806185ACF72 // c3 + .quad 0xBFE292FF3DF61A34 // c4 + .quad 0x3FE215A449967BC2 // c5 + .quad 0xBFDF7CEF2946D3BA // c6 + .quad 0x3FDD0F4FF3CD4465 // c7 + .quad 0xBFF1DE28ADE8780F // B' = pi/2 - B (high double) + .quad 0xBC908C1F2850796D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDF3C8AD985D9EE // c0 (high double) + .quad 0xBC455C31F533FF68 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCE7DBF907D8618 // c1 (low double) + .quad 0xBFE356B5A1D9CA5A // c2 + .quad 0x3FE6A57085697F99 // c3 + .quad 0xBFE17FCB46BE280B // c4 + .quad 0x3FE0F858275BAA48 // c5 + .quad 0xBFDD17B47CA8A84B // c6 + .quad 0x3FDA9B369A707A6B // c7 + .quad 0xBFF2106CA4910069 // B' = pi/2 - B (high double) + .quad 0xBC9CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDE450E0D273E7A // c0 (high double) + .quad 0xBC74138BBC4225C5 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCCA20F5D4879EA // c1 (low double) + .quad 0xBFE2853E13FBB7C7 // c2 + .quad 0x3FE5CFF21905E477 // c3 + .quad 0xBFE07D6C7D0DAC66 // c4 + .quad 0x3FDFE1550F550217 // c5 + .quad 0xBFDAE570CE7F6BE5 // c6 + .quad 0x3FD89328A3AB7677 // c7 + .quad 0xBFF242B09B3988C4 // B' = pi/2 - B (high double) + .quad 0x3C972D483EE33523 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDD506C82A2C800 // c0 (high double) + .quad 0xBC6E169413DFE956 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCADA8ECCC42C48 // c1 (low double) + .quad 0xBFE1BB681D0BE8A7 // c2 + .quad 0x3FE506BF662527D3 // c3 + .quad 0xBFDF153B07CB2306 // c4 + .quad 0x3FDDF9A636394DCA // c5 + .quad 0xBFD8E153A4A7867F // c6 + .quad 0x3FD6937B37976C23 // c7 + .quad 0xBFF274F491E2111E // B' = pi/2 - B (high double) + .quad 0x3C8613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDC5E87185E67B6 // c0 (high double) + .quad 0xBC4FEBA1F148ADA8 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC92683A68EB5D0 // c1 (low double) + .quad 0xBFE0F8C35C7247C7 // c2 + .quad 0x3FE4491C4DCA262E // c3 + .quad 0xBFDD4C67683395D6 // c4 + .quad 0x3FDC3667C15EBF92 // c5 + .quad 0xBFD7070B7FE443D3 // c6 + .quad 0x3FD4805841790B6E // c7 + .quad 0xBFF2A738888A9978 // B' = pi/2 - B (high double) + .quad 0xBC5195059E91C4D2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDB6F3FC8C61E5B // c0 (high double) + .quad 0x3C6A1CC48268287A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC7853E65CE5524 // c1 (low double) + .quad 0xBFE03CE61B6A9E63 // c2 + .quad 0x3FE3965ABF5C8FAB // c3 + .quad 0xBFDB9E3938F261E9 // c4 + .quad 0x3FDA94A771ED6FE5 // c5 + .quad 0xBFD552B7D4636646 // c6 + .quad 0x3FD2F58F20A0FA49 // c7 + .quad 0xBFF2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC8A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDA827999FCEF32 // c0 (high double) + .quad 0xBC708A11019E41CE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC5F619980C4336 // c1 (low double) + .quad 0xBFDF0ED99BED9B65 // c2 + .quad 0x3FE2EDD996C1BBEB // c3 + .quad 0xBFDA08B785C6EA59 // c4 + .quad 0x3FD911BC7B12902F // c5 + .quad 0xBFD3C0DA5B1130C3 // c6 + .quad 0x3FD1B590151D6334 // c7 + .quad 0xBFF30BC075DBAA2C // B' = pi/2 - B (high double) + .quad 0xBC995FE8F2B56DBD // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD998188E816BF0 // c0 (high double) + .quad 0xBC73DB2BD13E0A0C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC478794806DE66 // c1 (low double) + .quad 0xBFDDAFF33BF96274 // c2 + .quad 0x3FE24F039543C659 // c3 + .quad 0xBFD88A113E071D2D // c4 + .quad 0x3FD7AB3E661E65F9 // c5 + .quad 0xBFD24E4E1B8DC6CD // c6 + .quad 0x3FD01ED5FCAC7FDD // c7 + .quad 0xBFF33E046C843287 // B' = pi/2 - B (high double) + .quad 0x3C9A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD8B00196B3D022 // c0 (high double) + .quad 0x3C67341EE30455A6 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC30BCA73878656 // c1 (low double) + .quad 0xBFDC5C67FF403B73 // c2 + .quad 0x3FE1B94E72981059 // c3 + .quad 0xBFD7209990BAE1F6 // c4 + .quad 0x3FD65EF72AC3A4F8 // c5 + .quad 0xBFD0F83D8377C34B // c6 + .quad 0x3FCD97555AF6144C // c7 + .quad 0xBFF37048632CBAE1 // B' = pi/2 - B (high double) + .quad 0x3C8CB2FCE8FC81A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD7CA1A832D0F84 // c0 (high double) + .quad 0x3C7EE5A712091434 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC1AF828B5ED674 // c1 (low double) + .quad 0xBFDB13909C0269A2 // c2 + .quad 0x3FE12C3A0394B7FA // c3 + .quad 0xBFD5CAC4A421216C // c4 + .quad 0x3FD52AE625505252 // c5 + .quad 0xBFCF7831018A616A // c6 + .quad 0x3FCB98AB42F62940 // c7 + .quad 0xBFF3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0x3C61B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD6E649F7D78649 // c0 (high double) + .quad 0xBC678D2AC0322984 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC0631EFCBE0D16 // c1 (low double) + .quad 0xBFD9D4CEDF38DFCD // c2 + .quad 0x3FE0A74F7488C3A6 // c3 + .quad 0xBFD487249EA3BD6C // c4 + .quad 0x3FD40D3A9BDEFA27 // c5 + .quad 0xBFCD2F1CBD1B58CD // c6 + .quad 0x3FC98CBDCEBDAD19 // c7 + .quad 0xBFF3D4D0507DCB95 // B' = pi/2 - B (high double) + .quad 0xBC83DA34489C213B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD604775FBB27DF // c0 (high double) + .quad 0xBC6AC647C9CF0A4C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBE4C49866D2D78 // c1 (low double) + .quad 0xBFD89F8D033946D5 // c2 + .quad 0x3FE02A20954EE23A // c3 + .quad 0xBFD35466F88C5ABC // c4 + .quad 0x3FD3044BAC5DC8C6 // c5 + .quad 0xBFCB110C3D6FEB70 // c6 + .quad 0x3FC7761A8DC12688 // c7 + .quad 0xBFF40714472653EF // B' = pi/2 - B (high double) + .quad 0xBC96106670B43955 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD5248AE1701B17 // c0 (high double) + .quad 0xBC7BE8CC944DAFEA // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBBF04005723CCC // c1 (low double) + .quad 0xBFD7733D1300258A // c2 + .quad 0x3FDF688E6ACC7DF5 // c3 + .quad 0xBFD231520EA793C8 // c4 + .quad 0x3FD20E93C5183A34 // c5 + .quad 0xBFC91A331D55B3F7 // c6 + .quad 0x3FC651721E1371DD // c7 + .quad 0xBFF439583DCEDC4A // B' = pi/2 - B (high double) + .quad 0x3C9DCC4D42E59DF2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD4466D542BAC92 // c0 (high double) + .quad 0x3C705073A04E444A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB9B14751F8BA20 // c1 (low double) + .quad 0xBFD64F58590170A2 // c2 + .quad 0x3FDE8AC91D15CFCF // c3 + .quad 0xBFD11CC2EF09C664 // c4 + .quad 0x3FD12AB5AB65B965 // c5 + .quad 0xBFC7471C9AC81567 // c6 + .quad 0x3FC4826BA97C3E69 // c7 + .quad 0xBFF46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C91A900F67F753A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD36A08355C63DC // c0 (high double) + .quad 0x3C6D7145B6A10D86 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB78E922B82AB64 // c1 (low double) + .quad 0xBFD5335ED87AB0D5 // c2 + .quad 0x3FDDBA417913D89C // c3 + .quad 0xBFD015AB59BD876B // c4 + .quad 0x3FD0576D1EF5DB85 // c5 + .quad 0xBFC594A6DD2CA17D // c6 + .quad 0x3FC2F51FBC1DE653 // c7 + .quad 0xBFF49DE02B1FECFE // B' = pi/2 - B (high double) + .quad 0x3C7616D2A8653209 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD28F459ECAD74D // c0 (high double) + .quad 0xBC302C86D50E46C0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB5875F92EDBDF4 // c1 (low double) + .quad 0xBFD41ED6D05A0010 // c2 + .quad 0x3FDCF65481FC5BEB // c3 + .quad 0xBFCE361FE028368D // c4 + .quad 0x3FCF2728B941710B // c5 + .quad 0xBFC3FFF674960878 // c6 + .quad 0x3FC1A12109F12125 // c7 + .quad 0xBFF4D02421C87558 // B' = pi/2 - B (high double) + .quad 0xBC7A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD1B6103D3597E9 // c0 (high double) + .quad 0xBC6CBCB5FED7AC2C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB39AFA3392E164 // c1 (low double) + .quad 0xBFD3114C46E2AEF3 // c2 + .quad 0x3FDC3E6B23EF73B5 // c3 + .quad 0xBFCC580D1B42EE7F // c4 + .quad 0x3FCDBC3D6E14D202 // c5 + .quad 0xBFC28671B66B7EC4 // c6 + .quad 0x3FC0BFBCFE62E275 // c7 + .quad 0xBFF502681870FDB2 // B' = pi/2 - B (high double) + .quad 0xBC92C0E3EEB304EE // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD0DE53475F3B3C // c0 (high double) + .quad 0xBC67B2CC0A839654 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) + .quad 0xBFD20A509D4BB6C1 // c2 + .quad 0x3FDB91F96510DF38 // c3 + .quad 0xBFCA8F698D62832E // c4 + .quad 0x3FCC6C3408291325 // c5 + .quad 0xBFC125B6D8F69817 // c6 + .quad 0x3FBE80E8F3B35090 // c7 + .quad 0xBFF534AC0F19860C // B' = pi/2 - B (high double) + .quad 0xBC9EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD007FA758626AE // c0 (high double) + .quad 0xBC65A5EB9CA4F97A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB00FF8E583BEBC // c1 (low double) + .quad 0xBFD1097A2AA570F5 // c2 + .quad 0x3FDAF07DA8CAEBA7 // c3 + .quad 0xBFC8DA9D107525AD // c4 + .quad 0x3FCB3545F2ADC1DB // c5 + .quad 0xBFBFB739DB46589A // c6 + .quad 0x3FBDA2C2374E7733 // c7 + .quad 0xBFF566F005C20E67 // B' = pi/2 - B (high double) + .quad 0x3C94F8837880A9A2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFCE65E3F27C9F2A // c0 (high double) + .quad 0xBC6F62A8B8B3F2A2 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FACE04FD3EC1C90 // c1 (low double) + .quad 0xBFD00E63DD639A45 // c2 + .quad 0x3FDA598003751442 // c3 + .quad 0xBFC73829AC409F93 // c4 + .quad 0x3FCA15E3A26F9D69 // c5 + .quad 0xBFBD4C4574E0CB3E // c6 + .quad 0x3FBB9C588182E205 // c7 + .quad 0xBFF59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0x3C81AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFCCBE4CEB4B4CF2 // c0 (high double) + .quad 0xBC64A514F790D588 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA9D1724DE6C940 // c1 (low double) + .quad 0xBFCE3159C5ED3A4E // c2 + .quad 0x3FD9CC919D4271B2 // c3 + .quad 0xBFC5A6A9489AA7F4 // c4 + .quad 0x3FC90C961E2B49F9 // c5 + .quad 0xBFBB06EE7CFA369E // c6 + .quad 0x3FB9E9447AAF378D // c7 + .quad 0xBFF5CB77F3131F1B // B' = pi/2 - B (high double) + .quad 0xBC6A70A9025D3E70 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFCB1909EFD8B762 // c0 (high double) + .quad 0xBC5843049E1318BC // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA6F2545C478E00 // c1 (low double) + .quad 0xBFCC4FF0A9D74F70 // c2 + .quad 0x3FD9494C22EF2A54 // c3 + .quad 0xBFC424CB909A6722 // c4 + .quad 0x3FC8180A481D593B // c5 + .quad 0xBFB8E3D90C36FA86 // c6 + .quad 0x3FB8D27EAFEAC4D3 // c7 + .quad 0xBFF5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC8EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC975F5E0553158 // c0 (high double) + .quad 0xBC2EEEA31AB9D050 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA4420303DEC550 // c1 (low double) + .quad 0xBFCA77D9D62CA610 // c2 + .quad 0x3FD8CF5143323608 // c3 + .quad 0xBFC2B15401455507 // c4 + .quad 0x3FC7370FF096556F // c5 + .quad 0xBFB6DFEACA56EADA // c6 + .quad 0x3FB6B75DF89EC13C // c7 + .quad 0xBFF62FFFE0642FCF // B' = pi/2 - B (high double) + .quad 0xBC9B94ADB917F93E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC7D4EC54FB5968 // c0 (high double) + .quad 0xBC4FB65648F8A4A0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA1BF9C7C60B940 // c1 (low double) + .quad 0xBFC8A86964A1796B // c2 + .quad 0x3FD85E4A37F23352 // c3 + .quad 0xBFC14B181F5BF6AE // c4 + .quad 0x3FC66888E3A5D3BA // c5 + .quad 0xBFB4F84D7AC0F5DB // c6 + .quad 0x3FB62BA6F07C5587 // c7 + .quad 0xBFF66243D70CB82A // B' = pi/2 - B (high double) + .quad 0x3C984805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC635C990CE0D36 // c0 (high double) + .quad 0x3C59DFC0C48C2B20 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9ED49F1F8144C0 // c1 (low double) + .quad 0xBFC6E0F98ED00C32 // c2 + .quad 0x3FD7F5E75A2DD66E // c3 + .quad 0xBFBFE1FBA10F6B0E // c4 + .quad 0x3FC5AB7CD1905EBB // c5 + .quad 0xBFB32A57A4FAE3FF // c6 + .quad 0x3FB4BA60BA62CA68 // c7 + .quad 0xBFF69487CDB54084 // B' = pi/2 - B (high double) + .quad 0x3C8849735C376AA4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC4986A74CF4E57 // c0 (high double) + .quad 0xBC69AB0A243914D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9A82B60D75F5C0 // c1 (low double) + .quad 0xBFC520EA2BA6A0AE // c2 + .quad 0x3FD795DFBFFEE39E // c3 + .quad 0xBFBD43F3A7862CC7 // c4 + .quad 0x3FC4FF04247D7006 // c5 + .quad 0xBFB1739726786F64 // c6 + .quad 0x3FB2FAC67536C2B7 // c7 + .quad 0xBFF6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0x3BD6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC2FCAC73A60640 // c0 (high double) + .quad 0xBC52CF95F70D438C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F96881A43B33590 // c1 (low double) + .quad 0xBFC367A033B52F5E // c2 + .quad 0x3FD73DF0E3CC557A // c3 + .quad 0xBFBABA1CAC4F18CD // c4 + .quad 0x3FC4624C36BE941D // c5 + .quad 0xBFAFA38B2F88747D // c6 + .quad 0x3FB215B1F402C9E1 // c7 + .quad 0xBFF6F90FBB065138 // B' = pi/2 - B (high double) + .quad 0xBC8843BDD561383D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC1626D85A91E70 // c0 (high double) + .quad 0x3C50084844291A00 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F92E3863C9A69E0 // c1 (low double) + .quad 0xBFC1B4854BB2B147 // c2 + .quad 0x3FD6EDDE5416DFFB // c3 + .quad 0xBFB8429341CCA17A // c4 + .quad 0x3FC3D49AC2C9F46E // c5 + .quad 0xBFAC85843914CF63 // c6 + .quad 0x3FB1B1DC3FA41043 // c7 + .quad 0xBFF72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0xBC98452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFBF93183A8DB9E9 // c0 (high double) + .quad 0x3C4124AC452DA622 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F8F27A3181EE680 // c1 (low double) + .quad 0xBFC00707549D7ECC // c2 + .quad 0x3FD6A5716B500730 // c3 + .quad 0xBFB5DB89BB6B245F // c4 + .quad 0x3FC3554867F59647 // c5 + .quad 0xBFA98919BF6D1AC0 // c6 + .quad 0x3FB1AF9A18244AC2 // c7 + .quad 0xBFF75D97A85761ED // B' = pi/2 - B (high double) + .quad 0x3C9B97887C831272 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFBC63CE377FC802 // c0 (high double) + .quad 0x3C543F7D42D9FFC4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F892FE02A47EFA0 // c1 (low double) + .quad 0xBFBCBD3001C956C5 // c2 + .quad 0x3FD664790F293C47 // c3 + .quad 0xBFB38345DE7C4B0B // c4 + .quad 0x3FC2E3C4C02FFDF9 // c5 + .quad 0xBFA6AA7F0C135018 // c6 + .quad 0x3FAFE3C754ACF687 // c7 + .quad 0xBFF78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C8EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFB936BB8C5B2DA2 // c0 (high double) + .quad 0xBC587D23392D360C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F83DDE2A8935DE0 // c1 (low double) + .quad 0xBFB97558DC230BA8 // c2 + .quad 0x3FD62AC976FBC1B8 // c3 + .quad 0xBFB1381EB60159F6 // c4 + .quad 0x3FC27F84438D5027 // c5 + .quad 0xBFA3E63B3A462D11 // c6 + .quad 0x3FAF0AE614B60705 // c7 + .quad 0xBFF7C21F95A872A1 // B' = pi/2 - B (high double) + .quad 0x3C6A877F1DB6080C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFB60B9F7597FDEC // c0 (high double) + .quad 0xBC3D1E3FBF349CC0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) + .quad 0xBFB6357984E124B6 // c2 + .quad 0x3FD5F83BF8B56900 // c3 + .quad 0xBFADF0F50CAA06C2 // c4 + .quad 0x3FC228147690425D // c5 + .quad 0xBFA138F0F640FF12 // c6 + .quad 0x3FAF8D1BCDD067BD // c7 + .quad 0xBFF7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0xBC81A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFB2E239CCFF3831 // c0 (high double) + .quad 0xBC5879ED3FF4D06C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F764980AEEE3740 // c1 (low double) + .quad 0xBFB2FC879C81123C // c2 + .quad 0x3FD5CCAEDC1DC96E // c3 + .quad 0xBFA98599B71D86B1 // c4 + .quad 0x3FC1DD150D55E5CE // c5 + .quad 0xBF9D3EB9450DBD20 // c6 + .quad 0x3FADD6CFBE9A9DDE // c7 + .quad 0xBFF826A782F98355 // B' = pi/2 - B (high double) + .quad 0xBC94F5A8B515906F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFAF7495EA3F3783 // c0 (high double) + .quad 0x3C407F10D50F8AC9 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F6EEB8B377B1A00 // c1 (low double) + .quad 0xBFAF92FABFD0B7B3 // c2 + .quad 0x3FD5A805341437FF // c3 + .quad 0xBFA52B295E2DCF92 // c4 + .quad 0x3FC19E2C59B8C033 // c5 + .quad 0xBF982CF88466F013 // c6 + .quad 0x3FAD27509D6C3D7C // c7 + .quad 0xBFF858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0x3C9EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFA927278A3B1162 // c0 (high double) + .quad 0xBBFB01BD7F1D4620 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F63C55DB08E1680 // c1 (low double) + .quad 0xBFA936B1EC652161 // c2 + .quad 0x3FD58A26BD6CCCCD // c3 + .quad 0xBFA0DEB5445B4095 // c4 + .quad 0x3FC16B146127E0E0 // c5 + .quad 0xBF9336A9836851D5 // c6 + .quad 0x3FAC19302F7F3ACC // c7 + .quad 0xBFF88B2F704A940A // B' = pi/2 - B (high double) + .quad 0x3C92C3BEB21E1E21 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFA2DBAAE9A05DB0 // c0 (high double) + .quad 0x3C4371F88E195029 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F563A086B860B00 // c1 (low double) + .quad 0xBFA2E23785EEB488 // c2 + .quad 0x3FD572FFC353B741 // c3 + .quad 0xBF993ABD2276BF58 // c4 + .quad 0x3FC143926088643D // c5 + .quad 0xBF8CAC359DDE7BCE // c6 + .quad 0x3FAB56F9A2A6CD28 // c7 + .quad 0xBFF8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0x3C7A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBF992346247A91F0 // c0 (high double) + .quad 0x3BF126D920C63160 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F43BF447B091000 // c1 (low double) + .quad 0xBF992726F0F98D7F // c2 + .quad 0x3FD5628108EFA55C // c3 + .quad 0xBF90C8A60639C114 // c4 + .quad 0x3FC127789EC0BD38 // c5 + .quad 0xBF830BA6F46C58D9 // c6 + .quad 0x3FABBEE2C1E62B03 // c7 + .quad 0xBFF8EFB75D9BA4BE // B' = pi/2 - B (high double) + .quad 0xBC760B679AB8CD3B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBF89224E047E368E // c0 (high double) + .quad 0x3C1A268EB3BB9B7A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F23BDBEAD8CF800 // c1 (low double) + .quad 0xBF8923461AE96D62 // c2 + .quad 0x3FD5589FB822D5EE // c3 + .quad 0xBF80C326DCDCFCD2 // c4 + .quad 0x3FC116A999125B8A // c5 + .quad 0xBF7300CC26580304 // c6 + .quad 0x3FAB7B6F1DCF22D1 // c7 + .align 16 + .quad 0x40FF400000000000, 0x40FF400000000000 /* dReductionRangeVal */ + .align 16 + .quad 0x3FE45F306DC9C883, 0x3FE45F306DC9C883 /* _dInvPi */ + .align 16 + .quad 0x3FF921FB54440000, 0x3FF921FB54440000 /* _dPI1 */ + .align 16 + .quad 0x3D868C234C4C0000, 0x3D868C234C4C0000 /* _dPI2 */ + .align 16 + .quad 0x3B298A2E03707345, 0x3B298A2E03707345 /* _dPI3 */ + .align 16 + .quad 0xbfc06b97be36d389, 0xbfc06b97be36d389 /* _dP1 */ + .align 16 + .quad 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301 /* _dP2 */ + .align 16 + .quad 0xbedf637dce2a3800, 0xbedf637dce2a3800 /* _dP3 */ + .align 16 + .quad 0x3FF0000000000000, 0x3FF0000000000000 /* _dQ0 */ + .align 16 + .quad 0xbfdd8b213470beee, 0xbfdd8b213470beee /* _dQ1 */ + .align 16 + .quad 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56 /* _dQ2 */ + .align 16 + .quad 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6 /* _dQ3 */ + .align 16 + .type __svml_dtan_data_internal, @object + .size __svml_dtan_data_internal, .-__svml_dtan_data_internal + .space 16, 0x00 + .align 16 #ifdef __svml_dtan_reduction_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dPtable[2048][3][2]; +typedef struct { + __declspec(align(16)) VUINT32 _dPtable[2048][3][2]; } __svml_dtan_reduction_data_internal; #endif __svml_dtan_reduction_data_internal: - /* P_hi P_med P_lo */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 0 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 1 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 2 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 3 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 4 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 5 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 6 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 7 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 8 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 9 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 10 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 11 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 12 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 13 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 14 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 15 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 16 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 17 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 18 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 19 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 20 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 21 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 22 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 23 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 24 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 25 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 26 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 27 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 28 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 29 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 30 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 31 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 32 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 33 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 34 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 35 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 36 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 37 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 38 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 39 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 40 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 41 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 42 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 43 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 44 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 45 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 46 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 47 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 48 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 49 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 50 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 51 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 52 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 53 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 54 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 55 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 56 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 57 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 58 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 59 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 60 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 61 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 62 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 63 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 64 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 65 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 66 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 67 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 68 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 69 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 70 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 71 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 72 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 73 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 74 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 75 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 76 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 77 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 78 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 79 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 80 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 81 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 82 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 83 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 84 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 85 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 86 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 87 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 88 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 89 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 90 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 91 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 92 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 93 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 94 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 95 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 96 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 97 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 98 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 99 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 100 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 101 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 102 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 103 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 104 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 105 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 106 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 107 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 108 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 109 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 110 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 111 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 112 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 113 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 114 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 115 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 116 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 117 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 118 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 119 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 120 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 121 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 122 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 123 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 124 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 125 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 126 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 127 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 128 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 129 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 130 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 131 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 132 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 133 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 134 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 135 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 136 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 137 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 138 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 139 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 140 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 141 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 142 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 143 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 144 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 145 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 146 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 147 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 148 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 149 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 150 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 151 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 152 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 153 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 154 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 155 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 156 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 157 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 158 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 159 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 160 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 161 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 162 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 163 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 164 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 165 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 166 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 167 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 168 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 169 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 170 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 171 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 172 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 173 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 174 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 175 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 176 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 177 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 178 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 179 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 180 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 181 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 182 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 183 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 184 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 185 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 186 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 187 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 188 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 189 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 190 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 191 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 192 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 193 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 194 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 195 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 196 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 197 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 198 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 199 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 200 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 201 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 202 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 203 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 204 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 205 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 206 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 207 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 208 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 209 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 210 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 211 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 212 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 213 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 214 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 215 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 216 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 217 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 218 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 219 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 220 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 221 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 222 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 223 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 224 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 225 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 226 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 227 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 228 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 229 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 230 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 231 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 232 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 233 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 234 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 235 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 236 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 237 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 238 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 239 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 240 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 241 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 242 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 243 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 244 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 245 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 246 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 247 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 248 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 249 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 250 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 251 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 252 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 253 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 254 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 255 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 256 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 257 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 258 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 259 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 260 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 261 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 262 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 263 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 264 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 265 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 266 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 267 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 268 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 269 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 270 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 271 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 272 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 273 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 274 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 275 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 276 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 277 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 278 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 279 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 280 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 281 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 282 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 283 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 284 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 285 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 286 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 287 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 288 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 289 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 290 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 291 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 292 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 293 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 294 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 295 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 296 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 297 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 298 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 299 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 300 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 301 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 302 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 303 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 304 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 305 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 306 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 307 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 308 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 309 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 310 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 311 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 312 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 313 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 314 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 315 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 316 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 317 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 318 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 319 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 320 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 321 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 322 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 323 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 324 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 325 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 326 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 327 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 328 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 329 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 330 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 331 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 332 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 333 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 334 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 335 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 336 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 337 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 338 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 339 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 340 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 341 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 342 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 343 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 344 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 345 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 346 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 347 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 348 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 349 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 350 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 351 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 352 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 353 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 354 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 355 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 356 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 357 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 358 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 359 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 360 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 361 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 362 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 363 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 364 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 365 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 366 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 367 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 368 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 369 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 370 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 371 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 372 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 373 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 374 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 375 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 376 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 377 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 378 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 379 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 380 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 381 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 382 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 383 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 384 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 385 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 386 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 387 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 388 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 389 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 390 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 391 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 392 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 393 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 394 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 395 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 396 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 397 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 398 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 399 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 400 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 401 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 402 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 403 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 404 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 405 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 406 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 407 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 408 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 409 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 410 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 411 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 412 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 413 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 414 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 415 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 416 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 417 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 418 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 419 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 420 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 421 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 422 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 423 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 424 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 425 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 426 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 427 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 428 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 429 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 430 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 431 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 432 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 433 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 434 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 435 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 436 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 437 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 438 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 439 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 440 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 441 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 442 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 443 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 444 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 445 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 446 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 447 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 448 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 449 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 450 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 451 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 452 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 453 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 454 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 455 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 456 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 457 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 458 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 459 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 460 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 461 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 462 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 463 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 464 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 465 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 466 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 467 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 468 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 469 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 470 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 471 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 472 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 473 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 474 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 475 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 476 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 477 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 478 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 479 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 480 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 481 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 482 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 483 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 484 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 485 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 486 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 487 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 488 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 489 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 490 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 491 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 492 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 493 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 494 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 495 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 496 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 497 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 498 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 499 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 500 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 501 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 502 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 503 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 504 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 505 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 506 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 507 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 508 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 509 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 510 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 511 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 512 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 513 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 514 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 515 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 516 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 517 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 518 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 519 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 520 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 521 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 522 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 523 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 524 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 525 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 526 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 527 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 528 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 529 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 530 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 531 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 532 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 533 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 534 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 535 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 536 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 537 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 538 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 539 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 540 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 541 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 542 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 543 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 544 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 545 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 546 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 547 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 548 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 549 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 550 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 551 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 552 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 553 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 554 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 555 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 556 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 557 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 558 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 559 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 560 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 561 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 562 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 563 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 564 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 565 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 566 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 567 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 568 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 569 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 570 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 571 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 572 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 573 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 574 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 575 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 576 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 577 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 578 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 579 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 580 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 581 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 582 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 583 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 584 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 585 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 586 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 587 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 588 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 589 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 590 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 591 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 592 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 593 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 594 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 595 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 596 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 597 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 598 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 599 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 600 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 601 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 602 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 603 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 604 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 605 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 606 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 607 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 608 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 609 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 610 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 611 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 612 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 613 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 614 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 615 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 616 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 617 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 618 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 619 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 620 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 621 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 622 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 623 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 624 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 625 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 626 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 627 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 628 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 629 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 630 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 631 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 632 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 633 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 634 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 635 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 636 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 637 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 638 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 639 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 640 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 641 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 642 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 643 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 644 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 645 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 646 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 647 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 648 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 649 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 650 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 651 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 652 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 653 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 654 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 655 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 656 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 657 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 658 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 659 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 660 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 661 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 662 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 663 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 664 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 665 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 666 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 667 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 668 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 669 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 670 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 671 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 672 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 673 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 674 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 675 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 676 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 677 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 678 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 679 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 680 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 681 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 682 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 683 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 684 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 685 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 686 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 687 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 688 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 689 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 690 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 691 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 692 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 693 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 694 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 695 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 696 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 697 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 698 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 699 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 700 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 701 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 702 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 703 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 704 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 705 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 706 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 707 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 708 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 709 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 710 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 711 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 712 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 713 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 714 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 715 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 716 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 717 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 718 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 719 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 720 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 721 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 722 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 723 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 724 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 725 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 726 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 727 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 728 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 729 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 730 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 731 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 732 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 733 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 734 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 735 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 736 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 737 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 738 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 739 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 740 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 741 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 742 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 743 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 744 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 745 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 746 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 747 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 748 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 749 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 750 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 751 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 752 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 753 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 754 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 755 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 756 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 757 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 758 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 759 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 760 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 761 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 762 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 763 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 764 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 765 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 766 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 767 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 768 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 769 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 770 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 771 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 772 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 773 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 774 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 775 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 776 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 777 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 778 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 779 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 780 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 781 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 782 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 783 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 784 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 785 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 786 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 787 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 788 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 789 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 790 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 791 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 792 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 793 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 794 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 795 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 796 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 797 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 798 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 799 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 800 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 801 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 802 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 803 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 804 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 805 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 806 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 807 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 808 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 809 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 810 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 811 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 812 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 813 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 814 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 815 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 816 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 817 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 818 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 819 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 820 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 821 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 822 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 823 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 824 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 825 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 826 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 827 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 828 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 829 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 830 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 831 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 832 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 833 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 834 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 835 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 836 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 837 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 838 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 839 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 840 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 841 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 842 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 843 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 844 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 845 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 846 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 847 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 848 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 849 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 850 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 851 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 852 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 853 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 854 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 855 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 856 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 857 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 858 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 859 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 860 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 861 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 862 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 863 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 864 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 865 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 866 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 867 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 868 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 869 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 870 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 871 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 872 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 873 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 874 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 875 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 876 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 877 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 878 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 879 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 880 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 881 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 882 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 883 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 884 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 885 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000001 /* 886 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000002 /* 887 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000005 /* 888 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000000A /* 889 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000014 /* 890 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000028 /* 891 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000051 /* 892 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000000A2 /* 893 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000145 /* 894 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000028B /* 895 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000517 /* 896 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000A2F /* 897 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000145F /* 898 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000028BE /* 899 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000517C /* 900 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000A2F9 /* 901 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000145F3 /* 902 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000028BE6 /* 903 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000517CC /* 904 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000A2F98 /* 905 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000145F30 /* 906 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000028BE60 /* 907 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000517CC1 /* 908 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000A2F983 /* 909 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000145F306 /* 910 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000028BE60D /* 911 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000517CC1B /* 912 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000A2F9836 /* 913 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000145F306D /* 914 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000028BE60DB /* 915 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000517CC1B7 /* 916 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000A2F9836E /* 917 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000145F306DC /* 918 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000028BE60DB9 /* 919 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000517CC1B72 /* 920 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000A2F9836E4 /* 921 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000145F306DC9 /* 922 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000028BE60DB93 /* 923 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000517CC1B727 /* 924 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000A2F9836E4E /* 925 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000145F306DC9C /* 926 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000028BE60DB939 /* 927 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000517CC1B7272 /* 928 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000A2F9836E4E4 /* 929 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000145F306DC9C8 /* 930 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000028BE60DB9391 /* 931 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000517CC1B72722 /* 932 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000A2F9836E4E44 /* 933 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000145F306DC9C88 /* 934 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00028BE60DB93910 /* 935 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000517CC1B727220 /* 936 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000A2F9836E4E441 /* 937 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00145F306DC9C882 /* 938 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0028BE60DB939105 /* 939 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00517CC1B727220A /* 940 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00A2F9836E4E4415 /* 941 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0145F306DC9C882A /* 942 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x028BE60DB9391054 /* 943 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0517CC1B727220A9 /* 944 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0A2F9836E4E44152 /* 945 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x145F306DC9C882A5 /* 946 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x28BE60DB9391054A /* 947 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x517CC1B727220A94 /* 948 */ - .quad 0x0000000000000000, 0x0000000000000000, 0xA2F9836E4E441529 /* 949 */ - .quad 0x0000000000000000, 0x0000000000000001, 0x45F306DC9C882A53 /* 950 */ - .quad 0x0000000000000000, 0x0000000000000002, 0x8BE60DB9391054A7 /* 951 */ - .quad 0x0000000000000000, 0x0000000000000005, 0x17CC1B727220A94F /* 952 */ - .quad 0x0000000000000000, 0x000000000000000A, 0x2F9836E4E441529F /* 953 */ - .quad 0x0000000000000000, 0x0000000000000014, 0x5F306DC9C882A53F /* 954 */ - .quad 0x0000000000000000, 0x0000000000000028, 0xBE60DB9391054A7F /* 955 */ - .quad 0x0000000000000000, 0x0000000000000051, 0x7CC1B727220A94FE /* 956 */ - .quad 0x0000000000000000, 0x00000000000000A2, 0xF9836E4E441529FC /* 957 */ - .quad 0x0000000000000000, 0x0000000000000145, 0xF306DC9C882A53F8 /* 958 */ - .quad 0x0000000000000000, 0x000000000000028B, 0xE60DB9391054A7F0 /* 959 */ - .quad 0x0000000000000000, 0x0000000000000517, 0xCC1B727220A94FE1 /* 960 */ - .quad 0x0000000000000000, 0x0000000000000A2F, 0x9836E4E441529FC2 /* 961 */ - .quad 0x0000000000000000, 0x000000000000145F, 0x306DC9C882A53F84 /* 962 */ - .quad 0x0000000000000000, 0x00000000000028BE, 0x60DB9391054A7F09 /* 963 */ - .quad 0x0000000000000000, 0x000000000000517C, 0xC1B727220A94FE13 /* 964 */ - .quad 0x0000000000000000, 0x000000000000A2F9, 0x836E4E441529FC27 /* 965 */ - .quad 0x0000000000000000, 0x00000000000145F3, 0x06DC9C882A53F84E /* 966 */ - .quad 0x0000000000000000, 0x0000000000028BE6, 0x0DB9391054A7F09D /* 967 */ - .quad 0x0000000000000000, 0x00000000000517CC, 0x1B727220A94FE13A /* 968 */ - .quad 0x0000000000000000, 0x00000000000A2F98, 0x36E4E441529FC275 /* 969 */ - .quad 0x0000000000000000, 0x0000000000145F30, 0x6DC9C882A53F84EA /* 970 */ - .quad 0x0000000000000000, 0x000000000028BE60, 0xDB9391054A7F09D5 /* 971 */ - .quad 0x0000000000000000, 0x0000000000517CC1, 0xB727220A94FE13AB /* 972 */ - .quad 0x0000000000000000, 0x0000000000A2F983, 0x6E4E441529FC2757 /* 973 */ - .quad 0x0000000000000000, 0x000000000145F306, 0xDC9C882A53F84EAF /* 974 */ - .quad 0x0000000000000000, 0x00000000028BE60D, 0xB9391054A7F09D5F /* 975 */ - .quad 0x0000000000000000, 0x000000000517CC1B, 0x727220A94FE13ABE /* 976 */ - .quad 0x0000000000000000, 0x000000000A2F9836, 0xE4E441529FC2757D /* 977 */ - .quad 0x0000000000000000, 0x00000000145F306D, 0xC9C882A53F84EAFA /* 978 */ - .quad 0x0000000000000000, 0x0000000028BE60DB, 0x9391054A7F09D5F4 /* 979 */ - .quad 0x0000000000000000, 0x00000000517CC1B7, 0x27220A94FE13ABE8 /* 980 */ - .quad 0x0000000000000000, 0x00000000A2F9836E, 0x4E441529FC2757D1 /* 981 */ - .quad 0x0000000000000000, 0x0000000145F306DC, 0x9C882A53F84EAFA3 /* 982 */ - .quad 0x0000000000000000, 0x000000028BE60DB9, 0x391054A7F09D5F47 /* 983 */ - .quad 0x0000000000000000, 0x0000000517CC1B72, 0x7220A94FE13ABE8F /* 984 */ - .quad 0x0000000000000000, 0x0000000A2F9836E4, 0xE441529FC2757D1F /* 985 */ - .quad 0x0000000000000000, 0x000000145F306DC9, 0xC882A53F84EAFA3E /* 986 */ - .quad 0x0000000000000000, 0x00000028BE60DB93, 0x91054A7F09D5F47D /* 987 */ - .quad 0x0000000000000000, 0x000000517CC1B727, 0x220A94FE13ABE8FA /* 988 */ - .quad 0x0000000000000000, 0x000000A2F9836E4E, 0x441529FC2757D1F5 /* 989 */ - .quad 0x0000000000000000, 0x00000145F306DC9C, 0x882A53F84EAFA3EA /* 990 */ - .quad 0x0000000000000000, 0x0000028BE60DB939, 0x1054A7F09D5F47D4 /* 991 */ - .quad 0x0000000000000000, 0x00000517CC1B7272, 0x20A94FE13ABE8FA9 /* 992 */ - .quad 0x0000000000000000, 0x00000A2F9836E4E4, 0x41529FC2757D1F53 /* 993 */ - .quad 0x0000000000000000, 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6 /* 994 */ - .quad 0x0000000000000000, 0x000028BE60DB9391, 0x054A7F09D5F47D4D /* 995 */ - .quad 0x0000000000000000, 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A /* 996 */ - .quad 0x0000000000000000, 0x0000A2F9836E4E44, 0x1529FC2757D1F534 /* 997 */ - .quad 0x0000000000000000, 0x000145F306DC9C88, 0x2A53F84EAFA3EA69 /* 998 */ - .quad 0x0000000000000000, 0x00028BE60DB93910, 0x54A7F09D5F47D4D3 /* 999 */ - .quad 0x0000000000000000, 0x000517CC1B727220, 0xA94FE13ABE8FA9A6 /* 1000 */ - .quad 0x0000000000000000, 0x000A2F9836E4E441, 0x529FC2757D1F534D /* 1001 */ - .quad 0x0000000000000000, 0x00145F306DC9C882, 0xA53F84EAFA3EA69B /* 1002 */ - .quad 0x0000000000000000, 0x0028BE60DB939105, 0x4A7F09D5F47D4D37 /* 1003 */ - .quad 0x0000000000000000, 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E /* 1004 */ - .quad 0x0000000000000000, 0x00A2F9836E4E4415, 0x29FC2757D1F534DD /* 1005 */ - .quad 0x0000000000000000, 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB /* 1006 */ - .quad 0x0000000000000000, 0x028BE60DB9391054, 0xA7F09D5F47D4D377 /* 1007 */ - .quad 0x0000000000000000, 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE /* 1008 */ - .quad 0x0000000000000000, 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC /* 1009 */ - .quad 0x0000000000000000, 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8 /* 1010 */ - .quad 0x0000000000000000, 0x28BE60DB9391054A, 0x7F09D5F47D4D3770 /* 1011 */ - .quad 0x0000000000000000, 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0 /* 1012 */ - .quad 0x0000000000000000, 0xA2F9836E4E441529, 0xFC2757D1F534DDC0 /* 1013 */ - .quad 0x0000000000000001, 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81 /* 1014 */ - .quad 0x0000000000000002, 0x8BE60DB9391054A7, 0xF09D5F47D4D37703 /* 1015 */ - .quad 0x0000000000000005, 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06 /* 1016 */ - .quad 0x000000000000000A, 0x2F9836E4E441529F, 0xC2757D1F534DDC0D /* 1017 */ - .quad 0x0000000000000014, 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B /* 1018 */ - .quad 0x0000000000000028, 0xBE60DB9391054A7F, 0x09D5F47D4D377036 /* 1019 */ - .quad 0x0000000000000051, 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D /* 1020 */ - .quad 0x00000000000000A2, 0xF9836E4E441529FC, 0x2757D1F534DDC0DB /* 1021 */ - .quad 0x0000000000000145, 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6 /* 1022 */ - .quad 0x000000000000028B, 0xE60DB9391054A7F0, 0x9D5F47D4D377036D /* 1023 */ - .quad 0x0000000000000517, 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB /* 1024 */ - .quad 0x0000000000000A2F, 0x9836E4E441529FC2, 0x757D1F534DDC0DB6 /* 1025 */ - .quad 0x000000000000145F, 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C /* 1026 */ - .quad 0x00000000000028BE, 0x60DB9391054A7F09, 0xD5F47D4D377036D8 /* 1027 */ - .quad 0x000000000000517C, 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1 /* 1028 */ - .quad 0x000000000000A2F9, 0x836E4E441529FC27, 0x57D1F534DDC0DB62 /* 1029 */ - .quad 0x00000000000145F3, 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5 /* 1030 */ - .quad 0x0000000000028BE6, 0x0DB9391054A7F09D, 0x5F47D4D377036D8A /* 1031 */ - .quad 0x00000000000517CC, 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14 /* 1032 */ - .quad 0x00000000000A2F98, 0x36E4E441529FC275, 0x7D1F534DDC0DB629 /* 1033 */ - .quad 0x0000000000145F30, 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52 /* 1034 */ - .quad 0x000000000028BE60, 0xDB9391054A7F09D5, 0xF47D4D377036D8A5 /* 1035 */ - .quad 0x0000000000517CC1, 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A /* 1036 */ - .quad 0x0000000000A2F983, 0x6E4E441529FC2757, 0xD1F534DDC0DB6295 /* 1037 */ - .quad 0x000000000145F306, 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B /* 1038 */ - .quad 0x00000000028BE60D, 0xB9391054A7F09D5F, 0x47D4D377036D8A56 /* 1039 */ - .quad 0x000000000517CC1B, 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC /* 1040 */ - .quad 0x000000000A2F9836, 0xE4E441529FC2757D, 0x1F534DDC0DB62959 /* 1041 */ - .quad 0x00000000145F306D, 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3 /* 1042 */ - .quad 0x0000000028BE60DB, 0x9391054A7F09D5F4, 0x7D4D377036D8A566 /* 1043 */ - .quad 0x00000000517CC1B7, 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC /* 1044 */ - .quad 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599 /* 1045 */ - .quad 0x0000000145F306DC, 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32 /* 1046 */ - .quad 0x000000028BE60DB9, 0x391054A7F09D5F47, 0xD4D377036D8A5664 /* 1047 */ - .quad 0x0000000517CC1B72, 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9 /* 1048 */ - .quad 0x0000000A2F9836E4, 0xE441529FC2757D1F, 0x534DDC0DB6295993 /* 1049 */ - .quad 0x000000145F306DC9, 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327 /* 1050 */ - .quad 0x00000028BE60DB93, 0x91054A7F09D5F47D, 0x4D377036D8A5664F /* 1051 */ - .quad 0x000000517CC1B727, 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E /* 1052 */ - .quad 0x000000A2F9836E4E, 0x441529FC2757D1F5, 0x34DDC0DB6295993C /* 1053 */ - .quad 0x00000145F306DC9C, 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278 /* 1054 */ - .quad 0x0000028BE60DB939, 0x1054A7F09D5F47D4, 0xD377036D8A5664F1 /* 1055 */ - .quad 0x00000517CC1B7272, 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2 /* 1056 */ - .quad 0x00000A2F9836E4E4, 0x41529FC2757D1F53, 0x4DDC0DB6295993C4 /* 1057 */ - .quad 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788 /* 1058 */ - .quad 0x000028BE60DB9391, 0x054A7F09D5F47D4D, 0x377036D8A5664F10 /* 1059 */ - .quad 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21 /* 1060 */ - .quad 0x0000A2F9836E4E44, 0x1529FC2757D1F534, 0xDDC0DB6295993C43 /* 1061 */ - .quad 0x000145F306DC9C88, 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887 /* 1062 */ - .quad 0x00028BE60DB93910, 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E /* 1063 */ - .quad 0x000517CC1B727220, 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C /* 1064 */ - .quad 0x000A2F9836E4E441, 0x529FC2757D1F534D, 0xDC0DB6295993C439 /* 1065 */ - .quad 0x00145F306DC9C882, 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872 /* 1066 */ - .quad 0x0028BE60DB939105, 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4 /* 1067 */ - .quad 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8 /* 1068 */ - .quad 0x00A2F9836E4E4415, 0x29FC2757D1F534DD, 0xC0DB6295993C4390 /* 1069 */ - .quad 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB, 0x81B6C52B32788720 /* 1070 */ - .quad 0x028BE60DB9391054, 0xA7F09D5F47D4D377, 0x036D8A5664F10E41 /* 1071 */ - .quad 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82 /* 1072 */ - .quad 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC, 0x0DB6295993C43904 /* 1073 */ - .quad 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208 /* 1074 */ - .quad 0x28BE60DB9391054A, 0x7F09D5F47D4D3770, 0x36D8A5664F10E410 /* 1075 */ - .quad 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820 /* 1076 */ - .quad 0xA2F9836E4E441529, 0xFC2757D1F534DDC0, 0xDB6295993C439041 /* 1077 */ - .quad 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81, 0xB6C52B3278872083 /* 1078 */ - .quad 0x8BE60DB9391054A7, 0xF09D5F47D4D37703, 0x6D8A5664F10E4107 /* 1079 */ - .quad 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F /* 1080 */ - .quad 0x2F9836E4E441529F, 0xC2757D1F534DDC0D, 0xB6295993C439041F /* 1081 */ - .quad 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B, 0x6C52B3278872083F /* 1082 */ - .quad 0xBE60DB9391054A7F, 0x09D5F47D4D377036, 0xD8A5664F10E4107F /* 1083 */ - .quad 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF /* 1084 */ - .quad 0xF9836E4E441529FC, 0x2757D1F534DDC0DB, 0x6295993C439041FE /* 1085 */ - .quad 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC /* 1086 */ - .quad 0xE60DB9391054A7F0, 0x9D5F47D4D377036D, 0x8A5664F10E4107F9 /* 1087 */ - .quad 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2 /* 1088 */ - .quad 0x9836E4E441529FC2, 0x757D1F534DDC0DB6, 0x295993C439041FE5 /* 1089 */ - .quad 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA /* 1090 */ - .quad 0x60DB9391054A7F09, 0xD5F47D4D377036D8, 0xA5664F10E4107F94 /* 1091 */ - .quad 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28 /* 1092 */ - .quad 0x836E4E441529FC27, 0x57D1F534DDC0DB62, 0x95993C439041FE51 /* 1093 */ - .quad 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2 /* 1094 */ - .quad 0x0DB9391054A7F09D, 0x5F47D4D377036D8A, 0x5664F10E4107F945 /* 1095 */ - .quad 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B /* 1096 */ - .quad 0x36E4E441529FC275, 0x7D1F534DDC0DB629, 0x5993C439041FE516 /* 1097 */ - .quad 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C /* 1098 */ - .quad 0xDB9391054A7F09D5, 0xF47D4D377036D8A5, 0x664F10E4107F9458 /* 1099 */ - .quad 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1 /* 1100 */ - .quad 0x6E4E441529FC2757, 0xD1F534DDC0DB6295, 0x993C439041FE5163 /* 1101 */ - .quad 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7 /* 1102 */ - .quad 0xB9391054A7F09D5F, 0x47D4D377036D8A56, 0x64F10E4107F9458E /* 1103 */ - .quad 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D /* 1104 */ - .quad 0xE4E441529FC2757D, 0x1F534DDC0DB62959, 0x93C439041FE5163A /* 1105 */ - .quad 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3, 0x278872083FCA2C75 /* 1106 */ - .quad 0x9391054A7F09D5F4, 0x7D4D377036D8A566, 0x4F10E4107F9458EA /* 1107 */ - .quad 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5 /* 1108 */ - .quad 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB /* 1109 */ - .quad 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32, 0x78872083FCA2C757 /* 1110 */ - .quad 0x391054A7F09D5F47, 0xD4D377036D8A5664, 0xF10E4107F9458EAF /* 1111 */ - .quad 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E /* 1112 */ - .quad 0xE441529FC2757D1F, 0x534DDC0DB6295993, 0xC439041FE5163ABD /* 1113 */ - .quad 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327, 0x8872083FCA2C757B /* 1114 */ - .quad 0x91054A7F09D5F47D, 0x4D377036D8A5664F, 0x10E4107F9458EAF7 /* 1115 */ - .quad 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF /* 1116 */ - .quad 0x441529FC2757D1F5, 0x34DDC0DB6295993C, 0x439041FE5163ABDE /* 1117 */ - .quad 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278, 0x872083FCA2C757BD /* 1118 */ - .quad 0x1054A7F09D5F47D4, 0xD377036D8A5664F1, 0x0E4107F9458EAF7A /* 1119 */ - .quad 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5 /* 1120 */ - .quad 0x41529FC2757D1F53, 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB /* 1121 */ - .quad 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788, 0x72083FCA2C757BD7 /* 1122 */ - .quad 0x054A7F09D5F47D4D, 0x377036D8A5664F10, 0xE4107F9458EAF7AE /* 1123 */ - .quad 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D /* 1124 */ - .quad 0x1529FC2757D1F534, 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB /* 1125 */ - .quad 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887, 0x2083FCA2C757BD77 /* 1126 */ - .quad 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E, 0x4107F9458EAF7AEF /* 1127 */ - .quad 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE /* 1128 */ - .quad 0x529FC2757D1F534D, 0xDC0DB6295993C439, 0x041FE5163ABDEBBC /* 1129 */ - .quad 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872, 0x083FCA2C757BD778 /* 1130 */ - .quad 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1 /* 1131 */ - .quad 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2 /* 1132 */ - .quad 0x29FC2757D1F534DD, 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5 /* 1133 */ - .quad 0x53F84EAFA3EA69BB, 0x81B6C52B32788720, 0x83FCA2C757BD778A /* 1134 */ - .quad 0xA7F09D5F47D4D377, 0x036D8A5664F10E41, 0x07F9458EAF7AEF15 /* 1135 */ - .quad 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B /* 1136 */ - .quad 0x9FC2757D1F534DDC, 0x0DB6295993C43904, 0x1FE5163ABDEBBC56 /* 1137 */ - .quad 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208, 0x3FCA2C757BD778AC /* 1138 */ - .quad 0x7F09D5F47D4D3770, 0x36D8A5664F10E410, 0x7F9458EAF7AEF158 /* 1139 */ - .quad 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0 /* 1140 */ - .quad 0xFC2757D1F534DDC0, 0xDB6295993C439041, 0xFE5163ABDEBBC561 /* 1141 */ - .quad 0xF84EAFA3EA69BB81, 0xB6C52B3278872083, 0xFCA2C757BD778AC3 /* 1142 */ - .quad 0xF09D5F47D4D37703, 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586 /* 1143 */ - .quad 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D /* 1144 */ - .quad 0xC2757D1F534DDC0D, 0xB6295993C439041F, 0xE5163ABDEBBC561B /* 1145 */ - .quad 0x84EAFA3EA69BB81B, 0x6C52B3278872083F, 0xCA2C757BD778AC36 /* 1146 */ - .quad 0x09D5F47D4D377036, 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D /* 1147 */ - .quad 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB /* 1148 */ - .quad 0x2757D1F534DDC0DB, 0x6295993C439041FE, 0x5163ABDEBBC561B7 /* 1149 */ - .quad 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC, 0xA2C757BD778AC36E /* 1150 */ - .quad 0x9D5F47D4D377036D, 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC /* 1151 */ - .quad 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9 /* 1152 */ - .quad 0x757D1F534DDC0DB6, 0x295993C439041FE5, 0x163ABDEBBC561B72 /* 1153 */ - .quad 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA, 0x2C757BD778AC36E4 /* 1154 */ - .quad 0xD5F47D4D377036D8, 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9 /* 1155 */ - .quad 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92 /* 1156 */ - .quad 0x57D1F534DDC0DB62, 0x95993C439041FE51, 0x63ABDEBBC561B724 /* 1157 */ - .quad 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2, 0xC757BD778AC36E48 /* 1158 */ - .quad 0x5F47D4D377036D8A, 0x5664F10E4107F945, 0x8EAF7AEF1586DC91 /* 1159 */ - .quad 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923 /* 1160 */ - .quad 0x7D1F534DDC0DB629, 0x5993C439041FE516, 0x3ABDEBBC561B7246 /* 1161 */ - .quad 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C, 0x757BD778AC36E48D /* 1162 */ - .quad 0xF47D4D377036D8A5, 0x664F10E4107F9458, 0xEAF7AEF1586DC91B /* 1163 */ - .quad 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237 /* 1164 */ - .quad 0xD1F534DDC0DB6295, 0x993C439041FE5163, 0xABDEBBC561B7246E /* 1165 */ - .quad 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7, 0x57BD778AC36E48DC /* 1166 */ - .quad 0x47D4D377036D8A56, 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8 /* 1167 */ - .quad 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371 /* 1168 */ - .quad 0x1F534DDC0DB62959, 0x93C439041FE5163A, 0xBDEBBC561B7246E3 /* 1169 */ - .quad 0x3EA69BB81B6C52B3, 0x278872083FCA2C75, 0x7BD778AC36E48DC7 /* 1170 */ - .quad 0x7D4D377036D8A566, 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E /* 1171 */ - .quad 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D /* 1172 */ - .quad 0xF534DDC0DB629599, 0x3C439041FE5163AB, 0xDEBBC561B7246E3A /* 1173 */ - .quad 0xEA69BB81B6C52B32, 0x78872083FCA2C757, 0xBD778AC36E48DC74 /* 1174 */ - .quad 0xD4D377036D8A5664, 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9 /* 1175 */ - .quad 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2 /* 1176 */ - .quad 0x534DDC0DB6295993, 0xC439041FE5163ABD, 0xEBBC561B7246E3A4 /* 1177 */ - .quad 0xA69BB81B6C52B327, 0x8872083FCA2C757B, 0xD778AC36E48DC748 /* 1178 */ - .quad 0x4D377036D8A5664F, 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90 /* 1179 */ - .quad 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21 /* 1180 */ - .quad 0x34DDC0DB6295993C, 0x439041FE5163ABDE, 0xBBC561B7246E3A42 /* 1181 */ - .quad 0x69BB81B6C52B3278, 0x872083FCA2C757BD, 0x778AC36E48DC7484 /* 1182 */ - .quad 0xD377036D8A5664F1, 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909 /* 1183 */ - .quad 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212 /* 1184 */ - .quad 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB, 0xBC561B7246E3A424 /* 1185 */ - .quad 0x9BB81B6C52B32788, 0x72083FCA2C757BD7, 0x78AC36E48DC74849 /* 1186 */ - .quad 0x377036D8A5664F10, 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093 /* 1187 */ - .quad 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126 /* 1188 */ - .quad 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB, 0xC561B7246E3A424D /* 1189 */ - .quad 0xBB81B6C52B327887, 0x2083FCA2C757BD77, 0x8AC36E48DC74849B /* 1190 */ - .quad 0x77036D8A5664F10E, 0x4107F9458EAF7AEF, 0x1586DC91B8E90937 /* 1191 */ - .quad 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E /* 1192 */ - .quad 0xDC0DB6295993C439, 0x041FE5163ABDEBBC, 0x561B7246E3A424DD /* 1193 */ - .quad 0xB81B6C52B3278872, 0x083FCA2C757BD778, 0xAC36E48DC74849BA /* 1194 */ - .quad 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1, 0x586DC91B8E909374 /* 1195 */ - .quad 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9 /* 1196 */ - .quad 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2 /* 1197 */ - .quad 0x81B6C52B32788720, 0x83FCA2C757BD778A, 0xC36E48DC74849BA5 /* 1198 */ - .quad 0x036D8A5664F10E41, 0x07F9458EAF7AEF15, 0x86DC91B8E909374B /* 1199 */ - .quad 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97 /* 1200 */ - .quad 0x0DB6295993C43904, 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E /* 1201 */ - .quad 0x1B6C52B327887208, 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C /* 1202 */ - .quad 0x36D8A5664F10E410, 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8 /* 1203 */ - .quad 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970 /* 1204 */ - .quad 0xDB6295993C439041, 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0 /* 1205 */ - .quad 0xB6C52B3278872083, 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0 /* 1206 */ - .quad 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586, 0xDC91B8E909374B80 /* 1207 */ - .quad 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700 /* 1208 */ - .quad 0xB6295993C439041F, 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00 /* 1209 */ - .quad 0x6C52B3278872083F, 0xCA2C757BD778AC36, 0xE48DC74849BA5C00 /* 1210 */ - .quad 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D, 0xC91B8E909374B801 /* 1211 */ - .quad 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003 /* 1212 */ - .quad 0x6295993C439041FE, 0x5163ABDEBBC561B7, 0x246E3A424DD2E006 /* 1213 */ - .quad 0xC52B3278872083FC, 0xA2C757BD778AC36E, 0x48DC74849BA5C00C /* 1214 */ - .quad 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC, 0x91B8E909374B8019 /* 1215 */ - .quad 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032 /* 1216 */ - .quad 0x295993C439041FE5, 0x163ABDEBBC561B72, 0x46E3A424DD2E0064 /* 1217 */ - .quad 0x52B3278872083FCA, 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9 /* 1218 */ - .quad 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9, 0x1B8E909374B80192 /* 1219 */ - .quad 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324 /* 1220 */ - .quad 0x95993C439041FE51, 0x63ABDEBBC561B724, 0x6E3A424DD2E00649 /* 1221 */ - .quad 0x2B3278872083FCA2, 0xC757BD778AC36E48, 0xDC74849BA5C00C92 /* 1222 */ - .quad 0x5664F10E4107F945, 0x8EAF7AEF1586DC91, 0xB8E909374B801924 /* 1223 */ - .quad 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923, 0x71D2126E97003249 /* 1224 */ - .quad 0x5993C439041FE516, 0x3ABDEBBC561B7246, 0xE3A424DD2E006492 /* 1225 */ - .quad 0xB3278872083FCA2C, 0x757BD778AC36E48D, 0xC74849BA5C00C925 /* 1226 */ - .quad 0x664F10E4107F9458, 0xEAF7AEF1586DC91B, 0x8E909374B801924B /* 1227 */ - .quad 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237, 0x1D2126E970032497 /* 1228 */ - .quad 0x993C439041FE5163, 0xABDEBBC561B7246E, 0x3A424DD2E006492E /* 1229 */ - .quad 0x3278872083FCA2C7, 0x57BD778AC36E48DC, 0x74849BA5C00C925D /* 1230 */ - .quad 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8, 0xE909374B801924BB /* 1231 */ - .quad 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371, 0xD2126E9700324977 /* 1232 */ - .quad 0x93C439041FE5163A, 0xBDEBBC561B7246E3, 0xA424DD2E006492EE /* 1233 */ - .quad 0x278872083FCA2C75, 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD /* 1234 */ - .quad 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E, 0x909374B801924BBA /* 1235 */ - .quad 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D, 0x2126E97003249775 /* 1236 */ - .quad 0x3C439041FE5163AB, 0xDEBBC561B7246E3A, 0x424DD2E006492EEA /* 1237 */ - .quad 0x78872083FCA2C757, 0xBD778AC36E48DC74, 0x849BA5C00C925DD4 /* 1238 */ - .quad 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9, 0x09374B801924BBA8 /* 1239 */ - .quad 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2, 0x126E970032497750 /* 1240 */ - .quad 0xC439041FE5163ABD, 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0 /* 1241 */ - .quad 0x8872083FCA2C757B, 0xD778AC36E48DC748, 0x49BA5C00C925DD41 /* 1242 */ - .quad 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90, 0x9374B801924BBA82 /* 1243 */ - .quad 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21, 0x26E9700324977504 /* 1244 */ - .quad 0x439041FE5163ABDE, 0xBBC561B7246E3A42, 0x4DD2E006492EEA09 /* 1245 */ - .quad 0x872083FCA2C757BD, 0x778AC36E48DC7484, 0x9BA5C00C925DD413 /* 1246 */ - .quad 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909, 0x374B801924BBA827 /* 1247 */ - .quad 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212, 0x6E9700324977504E /* 1248 */ - .quad 0x39041FE5163ABDEB, 0xBC561B7246E3A424, 0xDD2E006492EEA09D /* 1249 */ - .quad 0x72083FCA2C757BD7, 0x78AC36E48DC74849, 0xBA5C00C925DD413A /* 1250 */ - .quad 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093, 0x74B801924BBA8274 /* 1251 */ - .quad 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126, 0xE9700324977504E8 /* 1252 */ - .quad 0x9041FE5163ABDEBB, 0xC561B7246E3A424D, 0xD2E006492EEA09D1 /* 1253 */ - .quad 0x2083FCA2C757BD77, 0x8AC36E48DC74849B, 0xA5C00C925DD413A3 /* 1254 */ - .quad 0x4107F9458EAF7AEF, 0x1586DC91B8E90937, 0x4B801924BBA82746 /* 1255 */ - .quad 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E, 0x9700324977504E8C /* 1256 */ - .quad 0x041FE5163ABDEBBC, 0x561B7246E3A424DD, 0x2E006492EEA09D19 /* 1257 */ - .quad 0x083FCA2C757BD778, 0xAC36E48DC74849BA, 0x5C00C925DD413A32 /* 1258 */ - .quad 0x107F9458EAF7AEF1, 0x586DC91B8E909374, 0xB801924BBA827464 /* 1259 */ - .quad 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9, 0x700324977504E8C9 /* 1260 */ - .quad 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2, 0xE006492EEA09D192 /* 1261 */ - .quad 0x83FCA2C757BD778A, 0xC36E48DC74849BA5, 0xC00C925DD413A324 /* 1262 */ - .quad 0x07F9458EAF7AEF15, 0x86DC91B8E909374B, 0x801924BBA8274648 /* 1263 */ - .quad 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97, 0x00324977504E8C90 /* 1264 */ - .quad 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E, 0x006492EEA09D1921 /* 1265 */ - .quad 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C, 0x00C925DD413A3243 /* 1266 */ - .quad 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8, 0x01924BBA82746487 /* 1267 */ - .quad 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970, 0x0324977504E8C90E /* 1268 */ - .quad 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0, 0x06492EEA09D1921C /* 1269 */ - .quad 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0, 0x0C925DD413A32439 /* 1270 */ - .quad 0xF9458EAF7AEF1586, 0xDC91B8E909374B80, 0x1924BBA827464873 /* 1271 */ - .quad 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700, 0x324977504E8C90E7 /* 1272 */ - .quad 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00, 0x6492EEA09D1921CF /* 1273 */ - .quad 0xCA2C757BD778AC36, 0xE48DC74849BA5C00, 0xC925DD413A32439F /* 1274 */ - .quad 0x9458EAF7AEF1586D, 0xC91B8E909374B801, 0x924BBA827464873F /* 1275 */ - .quad 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003, 0x24977504E8C90E7F /* 1276 */ - .quad 0x5163ABDEBBC561B7, 0x246E3A424DD2E006, 0x492EEA09D1921CFE /* 1277 */ - .quad 0xA2C757BD778AC36E, 0x48DC74849BA5C00C, 0x925DD413A32439FC /* 1278 */ - .quad 0x458EAF7AEF1586DC, 0x91B8E909374B8019, 0x24BBA827464873F8 /* 1279 */ - .quad 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032, 0x4977504E8C90E7F0 /* 1280 */ - .quad 0x163ABDEBBC561B72, 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1 /* 1281 */ - .quad 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9, 0x25DD413A32439FC3 /* 1282 */ - .quad 0x58EAF7AEF1586DC9, 0x1B8E909374B80192, 0x4BBA827464873F87 /* 1283 */ - .quad 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324, 0x977504E8C90E7F0E /* 1284 */ - .quad 0x63ABDEBBC561B724, 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D /* 1285 */ - .quad 0xC757BD778AC36E48, 0xDC74849BA5C00C92, 0x5DD413A32439FC3B /* 1286 */ - .quad 0x8EAF7AEF1586DC91, 0xB8E909374B801924, 0xBBA827464873F877 /* 1287 */ - .quad 0x1D5EF5DE2B0DB923, 0x71D2126E97003249, 0x77504E8C90E7F0EF /* 1288 */ - .quad 0x3ABDEBBC561B7246, 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE /* 1289 */ - .quad 0x757BD778AC36E48D, 0xC74849BA5C00C925, 0xDD413A32439FC3BD /* 1290 */ - .quad 0xEAF7AEF1586DC91B, 0x8E909374B801924B, 0xBA827464873F877A /* 1291 */ - .quad 0xD5EF5DE2B0DB9237, 0x1D2126E970032497, 0x7504E8C90E7F0EF5 /* 1292 */ - .quad 0xABDEBBC561B7246E, 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB /* 1293 */ - .quad 0x57BD778AC36E48DC, 0x74849BA5C00C925D, 0xD413A32439FC3BD6 /* 1294 */ - .quad 0xAF7AEF1586DC91B8, 0xE909374B801924BB, 0xA827464873F877AC /* 1295 */ - .quad 0x5EF5DE2B0DB92371, 0xD2126E9700324977, 0x504E8C90E7F0EF58 /* 1296 */ - .quad 0xBDEBBC561B7246E3, 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1 /* 1297 */ - .quad 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD, 0x413A32439FC3BD63 /* 1298 */ - .quad 0xF7AEF1586DC91B8E, 0x909374B801924BBA, 0x827464873F877AC7 /* 1299 */ - .quad 0xEF5DE2B0DB92371D, 0x2126E97003249775, 0x04E8C90E7F0EF58E /* 1300 */ - .quad 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C /* 1301 */ - .quad 0xBD778AC36E48DC74, 0x849BA5C00C925DD4, 0x13A32439FC3BD639 /* 1302 */ - .quad 0x7AEF1586DC91B8E9, 0x09374B801924BBA8, 0x27464873F877AC72 /* 1303 */ - .quad 0xF5DE2B0DB92371D2, 0x126E970032497750, 0x4E8C90E7F0EF58E5 /* 1304 */ - .quad 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB /* 1305 */ - .quad 0xD778AC36E48DC748, 0x49BA5C00C925DD41, 0x3A32439FC3BD6396 /* 1306 */ - .quad 0xAEF1586DC91B8E90, 0x9374B801924BBA82, 0x7464873F877AC72C /* 1307 */ - .quad 0x5DE2B0DB92371D21, 0x26E9700324977504, 0xE8C90E7F0EF58E58 /* 1308 */ - .quad 0xBBC561B7246E3A42, 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1 /* 1309 */ - .quad 0x778AC36E48DC7484, 0x9BA5C00C925DD413, 0xA32439FC3BD63962 /* 1310 */ - .quad 0xEF1586DC91B8E909, 0x374B801924BBA827, 0x464873F877AC72C4 /* 1311 */ - .quad 0xDE2B0DB92371D212, 0x6E9700324977504E, 0x8C90E7F0EF58E589 /* 1312 */ - .quad 0xBC561B7246E3A424, 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12 /* 1313 */ - .quad 0x78AC36E48DC74849, 0xBA5C00C925DD413A, 0x32439FC3BD639625 /* 1314 */ - .quad 0xF1586DC91B8E9093, 0x74B801924BBA8274, 0x64873F877AC72C4A /* 1315 */ - .quad 0xE2B0DB92371D2126, 0xE9700324977504E8, 0xC90E7F0EF58E5894 /* 1316 */ - .quad 0xC561B7246E3A424D, 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129 /* 1317 */ - .quad 0x8AC36E48DC74849B, 0xA5C00C925DD413A3, 0x2439FC3BD6396253 /* 1318 */ - .quad 0x1586DC91B8E90937, 0x4B801924BBA82746, 0x4873F877AC72C4A6 /* 1319 */ - .quad 0x2B0DB92371D2126E, 0x9700324977504E8C, 0x90E7F0EF58E5894D /* 1320 */ - .quad 0x561B7246E3A424DD, 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A /* 1321 */ - .quad 0xAC36E48DC74849BA, 0x5C00C925DD413A32, 0x439FC3BD63962534 /* 1322 */ - .quad 0x586DC91B8E909374, 0xB801924BBA827464, 0x873F877AC72C4A69 /* 1323 */ - .quad 0xB0DB92371D2126E9, 0x700324977504E8C9, 0x0E7F0EF58E5894D3 /* 1324 */ - .quad 0x61B7246E3A424DD2, 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7 /* 1325 */ - .quad 0xC36E48DC74849BA5, 0xC00C925DD413A324, 0x39FC3BD63962534E /* 1326 */ - .quad 0x86DC91B8E909374B, 0x801924BBA8274648, 0x73F877AC72C4A69C /* 1327 */ - .quad 0x0DB92371D2126E97, 0x00324977504E8C90, 0xE7F0EF58E5894D39 /* 1328 */ - .quad 0x1B7246E3A424DD2E, 0x006492EEA09D1921, 0xCFE1DEB1CB129A73 /* 1329 */ - .quad 0x36E48DC74849BA5C, 0x00C925DD413A3243, 0x9FC3BD63962534E7 /* 1330 */ - .quad 0x6DC91B8E909374B8, 0x01924BBA82746487, 0x3F877AC72C4A69CF /* 1331 */ - .quad 0xDB92371D2126E970, 0x0324977504E8C90E, 0x7F0EF58E5894D39F /* 1332 */ - .quad 0xB7246E3A424DD2E0, 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E /* 1333 */ - .quad 0x6E48DC74849BA5C0, 0x0C925DD413A32439, 0xFC3BD63962534E7D /* 1334 */ - .quad 0xDC91B8E909374B80, 0x1924BBA827464873, 0xF877AC72C4A69CFB /* 1335 */ - .quad 0xB92371D2126E9700, 0x324977504E8C90E7, 0xF0EF58E5894D39F7 /* 1336 */ - .quad 0x7246E3A424DD2E00, 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE /* 1337 */ - .quad 0xE48DC74849BA5C00, 0xC925DD413A32439F, 0xC3BD63962534E7DD /* 1338 */ - .quad 0xC91B8E909374B801, 0x924BBA827464873F, 0x877AC72C4A69CFBA /* 1339 */ - .quad 0x92371D2126E97003, 0x24977504E8C90E7F, 0x0EF58E5894D39F74 /* 1340 */ - .quad 0x246E3A424DD2E006, 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8 /* 1341 */ - .quad 0x48DC74849BA5C00C, 0x925DD413A32439FC, 0x3BD63962534E7DD1 /* 1342 */ - .quad 0x91B8E909374B8019, 0x24BBA827464873F8, 0x77AC72C4A69CFBA2 /* 1343 */ - .quad 0x2371D2126E970032, 0x4977504E8C90E7F0, 0xEF58E5894D39F744 /* 1344 */ - .quad 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88 /* 1345 */ - .quad 0x8DC74849BA5C00C9, 0x25DD413A32439FC3, 0xBD63962534E7DD10 /* 1346 */ - .quad 0x1B8E909374B80192, 0x4BBA827464873F87, 0x7AC72C4A69CFBA20 /* 1347 */ - .quad 0x371D2126E9700324, 0x977504E8C90E7F0E, 0xF58E5894D39F7441 /* 1348 */ - .quad 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882 /* 1349 */ - .quad 0xDC74849BA5C00C92, 0x5DD413A32439FC3B, 0xD63962534E7DD104 /* 1350 */ - .quad 0xB8E909374B801924, 0xBBA827464873F877, 0xAC72C4A69CFBA208 /* 1351 */ - .quad 0x71D2126E97003249, 0x77504E8C90E7F0EF, 0x58E5894D39F74411 /* 1352 */ - .quad 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823 /* 1353 */ - .quad 0xC74849BA5C00C925, 0xDD413A32439FC3BD, 0x63962534E7DD1046 /* 1354 */ - .quad 0x8E909374B801924B, 0xBA827464873F877A, 0xC72C4A69CFBA208D /* 1355 */ - .quad 0x1D2126E970032497, 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A /* 1356 */ - .quad 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235 /* 1357 */ - .quad 0x74849BA5C00C925D, 0xD413A32439FC3BD6, 0x3962534E7DD1046B /* 1358 */ - .quad 0xE909374B801924BB, 0xA827464873F877AC, 0x72C4A69CFBA208D7 /* 1359 */ - .quad 0xD2126E9700324977, 0x504E8C90E7F0EF58, 0xE5894D39F74411AF /* 1360 */ - .quad 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F /* 1361 */ - .quad 0x4849BA5C00C925DD, 0x413A32439FC3BD63, 0x962534E7DD1046BE /* 1362 */ - .quad 0x909374B801924BBA, 0x827464873F877AC7, 0x2C4A69CFBA208D7D /* 1363 */ - .quad 0x2126E97003249775, 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA /* 1364 */ - .quad 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5 /* 1365 */ - .quad 0x849BA5C00C925DD4, 0x13A32439FC3BD639, 0x62534E7DD1046BEA /* 1366 */ - .quad 0x09374B801924BBA8, 0x27464873F877AC72, 0xC4A69CFBA208D7D4 /* 1367 */ - .quad 0x126E970032497750, 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9 /* 1368 */ - .quad 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52 /* 1369 */ - .quad 0x49BA5C00C925DD41, 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5 /* 1370 */ - .quad 0x9374B801924BBA82, 0x7464873F877AC72C, 0x4A69CFBA208D7D4B /* 1371 */ - .quad 0x26E9700324977504, 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97 /* 1372 */ - .quad 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E /* 1373 */ - .quad 0x9BA5C00C925DD413, 0xA32439FC3BD63962, 0x534E7DD1046BEA5D /* 1374 */ - .quad 0x374B801924BBA827, 0x464873F877AC72C4, 0xA69CFBA208D7D4BA /* 1375 */ - .quad 0x6E9700324977504E, 0x8C90E7F0EF58E589, 0x4D39F74411AFA975 /* 1376 */ - .quad 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB /* 1377 */ - .quad 0xBA5C00C925DD413A, 0x32439FC3BD639625, 0x34E7DD1046BEA5D7 /* 1378 */ - .quad 0x74B801924BBA8274, 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE /* 1379 */ - .quad 0xE9700324977504E8, 0xC90E7F0EF58E5894, 0xD39F74411AFA975D /* 1380 */ - .quad 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB /* 1381 */ - .quad 0xA5C00C925DD413A3, 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76 /* 1382 */ - .quad 0x4B801924BBA82746, 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED /* 1383 */ - .quad 0x9700324977504E8C, 0x90E7F0EF58E5894D, 0x39F74411AFA975DA /* 1384 */ - .quad 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4 /* 1385 */ - .quad 0x5C00C925DD413A32, 0x439FC3BD63962534, 0xE7DD1046BEA5D768 /* 1386 */ - .quad 0xB801924BBA827464, 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1 /* 1387 */ - .quad 0x700324977504E8C9, 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2 /* 1388 */ - .quad 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44 /* 1389 */ - .quad 0xC00C925DD413A324, 0x39FC3BD63962534E, 0x7DD1046BEA5D7689 /* 1390 */ - .quad 0x801924BBA8274648, 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12 /* 1391 */ - .quad 0x00324977504E8C90, 0xE7F0EF58E5894D39, 0xF74411AFA975DA24 /* 1392 */ - .quad 0x006492EEA09D1921, 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448 /* 1393 */ - .quad 0x00C925DD413A3243, 0x9FC3BD63962534E7, 0xDD1046BEA5D76890 /* 1394 */ - .quad 0x01924BBA82746487, 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121 /* 1395 */ - .quad 0x0324977504E8C90E, 0x7F0EF58E5894D39F, 0x74411AFA975DA242 /* 1396 */ - .quad 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484 /* 1397 */ - .quad 0x0C925DD413A32439, 0xFC3BD63962534E7D, 0xD1046BEA5D768909 /* 1398 */ - .quad 0x1924BBA827464873, 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213 /* 1399 */ - .quad 0x324977504E8C90E7, 0xF0EF58E5894D39F7, 0x4411AFA975DA2427 /* 1400 */ - .quad 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E /* 1401 */ - .quad 0xC925DD413A32439F, 0xC3BD63962534E7DD, 0x1046BEA5D768909D /* 1402 */ - .quad 0x924BBA827464873F, 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A /* 1403 */ - .quad 0x24977504E8C90E7F, 0x0EF58E5894D39F74, 0x411AFA975DA24274 /* 1404 */ - .quad 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9 /* 1405 */ - .quad 0x925DD413A32439FC, 0x3BD63962534E7DD1, 0x046BEA5D768909D3 /* 1406 */ - .quad 0x24BBA827464873F8, 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6 /* 1407 */ - .quad 0x4977504E8C90E7F0, 0xEF58E5894D39F744, 0x11AFA975DA24274C /* 1408 */ - .quad 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88, 0x235F52EBB4484E99 /* 1409 */ - .quad 0x25DD413A32439FC3, 0xBD63962534E7DD10, 0x46BEA5D768909D33 /* 1410 */ - .quad 0x4BBA827464873F87, 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67 /* 1411 */ - .quad 0x977504E8C90E7F0E, 0xF58E5894D39F7441, 0x1AFA975DA24274CE /* 1412 */ - .quad 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882, 0x35F52EBB4484E99C /* 1413 */ - .quad 0x5DD413A32439FC3B, 0xD63962534E7DD104, 0x6BEA5D768909D338 /* 1414 */ - .quad 0xBBA827464873F877, 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671 /* 1415 */ - .quad 0x77504E8C90E7F0EF, 0x58E5894D39F74411, 0xAFA975DA24274CE3 /* 1416 */ - .quad 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7 /* 1417 */ - .quad 0xDD413A32439FC3BD, 0x63962534E7DD1046, 0xBEA5D768909D338E /* 1418 */ - .quad 0xBA827464873F877A, 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C /* 1419 */ - .quad 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A, 0xFA975DA24274CE38 /* 1420 */ - .quad 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235, 0xF52EBB4484E99C70 /* 1421 */ - .quad 0xD413A32439FC3BD6, 0x3962534E7DD1046B, 0xEA5D768909D338E0 /* 1422 */ - .quad 0xA827464873F877AC, 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0 /* 1423 */ - .quad 0x504E8C90E7F0EF58, 0xE5894D39F74411AF, 0xA975DA24274CE381 /* 1424 */ - .quad 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F, 0x52EBB4484E99C702 /* 1425 */ - .quad 0x413A32439FC3BD63, 0x962534E7DD1046BE, 0xA5D768909D338E04 /* 1426 */ - .quad 0x827464873F877AC7, 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09 /* 1427 */ - .quad 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA, 0x975DA24274CE3813 /* 1428 */ - .quad 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, 0x2EBB4484E99C7026 /* 1429 */ - .quad 0x13A32439FC3BD639, 0x62534E7DD1046BEA, 0x5D768909D338E04D /* 1430 */ - .quad 0x27464873F877AC72, 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A /* 1431 */ - .quad 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9, 0x75DA24274CE38135 /* 1432 */ - .quad 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52, 0xEBB4484E99C7026B /* 1433 */ - .quad 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5, 0xD768909D338E04D6 /* 1434 */ - .quad 0x7464873F877AC72C, 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD /* 1435 */ - .quad 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97, 0x5DA24274CE38135A /* 1436 */ - .quad 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E, 0xBB4484E99C7026B4 /* 1437 */ - .quad 0xA32439FC3BD63962, 0x534E7DD1046BEA5D, 0x768909D338E04D68 /* 1438 */ - .quad 0x464873F877AC72C4, 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1 /* 1439 */ - .quad 0x8C90E7F0EF58E589, 0x4D39F74411AFA975, 0xDA24274CE38135A2 /* 1440 */ - .quad 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB, 0xB4484E99C7026B45 /* 1441 */ - .quad 0x32439FC3BD639625, 0x34E7DD1046BEA5D7, 0x68909D338E04D68B /* 1442 */ - .quad 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17 /* 1443 */ - .quad 0xC90E7F0EF58E5894, 0xD39F74411AFA975D, 0xA24274CE38135A2F /* 1444 */ - .quad 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB, 0x4484E99C7026B45F /* 1445 */ - .quad 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE /* 1446 */ - .quad 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D /* 1447 */ - .quad 0x90E7F0EF58E5894D, 0x39F74411AFA975DA, 0x24274CE38135A2FB /* 1448 */ - .quad 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4, 0x484E99C7026B45F7 /* 1449 */ - .quad 0x439FC3BD63962534, 0xE7DD1046BEA5D768, 0x909D338E04D68BEF /* 1450 */ - .quad 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF /* 1451 */ - .quad 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2, 0x4274CE38135A2FBF /* 1452 */ - .quad 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44, 0x84E99C7026B45F7E /* 1453 */ - .quad 0x39FC3BD63962534E, 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC /* 1454 */ - .quad 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9 /* 1455 */ - .quad 0xE7F0EF58E5894D39, 0xF74411AFA975DA24, 0x274CE38135A2FBF2 /* 1456 */ - .quad 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448, 0x4E99C7026B45F7E4 /* 1457 */ - .quad 0x9FC3BD63962534E7, 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8 /* 1458 */ - .quad 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121, 0x3A671C09AD17DF90 /* 1459 */ - .quad 0x7F0EF58E5894D39F, 0x74411AFA975DA242, 0x74CE38135A2FBF20 /* 1460 */ - .quad 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484, 0xE99C7026B45F7E41 /* 1461 */ - .quad 0xFC3BD63962534E7D, 0xD1046BEA5D768909, 0xD338E04D68BEFC82 /* 1462 */ - .quad 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213, 0xA671C09AD17DF904 /* 1463 */ - .quad 0xF0EF58E5894D39F7, 0x4411AFA975DA2427, 0x4CE38135A2FBF209 /* 1464 */ - .quad 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E, 0x99C7026B45F7E413 /* 1465 */ - .quad 0xC3BD63962534E7DD, 0x1046BEA5D768909D, 0x338E04D68BEFC827 /* 1466 */ - .quad 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A, 0x671C09AD17DF904E /* 1467 */ - .quad 0x0EF58E5894D39F74, 0x411AFA975DA24274, 0xCE38135A2FBF209C /* 1468 */ - .quad 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9, 0x9C7026B45F7E4139 /* 1469 */ - .quad 0x3BD63962534E7DD1, 0x046BEA5D768909D3, 0x38E04D68BEFC8273 /* 1470 */ - .quad 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6 /* 1471 */ - .quad 0xEF58E5894D39F744, 0x11AFA975DA24274C, 0xE38135A2FBF209CC /* 1472 */ - .quad 0xDEB1CB129A73EE88, 0x235F52EBB4484E99, 0xC7026B45F7E41399 /* 1473 */ - .quad 0xBD63962534E7DD10, 0x46BEA5D768909D33, 0x8E04D68BEFC82732 /* 1474 */ - .quad 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64 /* 1475 */ - .quad 0xF58E5894D39F7441, 0x1AFA975DA24274CE, 0x38135A2FBF209CC8 /* 1476 */ - .quad 0xEB1CB129A73EE882, 0x35F52EBB4484E99C, 0x7026B45F7E413991 /* 1477 */ - .quad 0xD63962534E7DD104, 0x6BEA5D768909D338, 0xE04D68BEFC827323 /* 1478 */ - .quad 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671, 0xC09AD17DF904E647 /* 1479 */ - .quad 0x58E5894D39F74411, 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E /* 1480 */ - .quad 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7, 0x026B45F7E413991D /* 1481 */ - .quad 0x63962534E7DD1046, 0xBEA5D768909D338E, 0x04D68BEFC827323A /* 1482 */ - .quad 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C, 0x09AD17DF904E6475 /* 1483 */ - .quad 0x8E5894D39F74411A, 0xFA975DA24274CE38, 0x135A2FBF209CC8EB /* 1484 */ - .quad 0x1CB129A73EE88235, 0xF52EBB4484E99C70, 0x26B45F7E413991D6 /* 1485 */ - .quad 0x3962534E7DD1046B, 0xEA5D768909D338E0, 0x4D68BEFC827323AC /* 1486 */ - .quad 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0, 0x9AD17DF904E64758 /* 1487 */ - .quad 0xE5894D39F74411AF, 0xA975DA24274CE381, 0x35A2FBF209CC8EB1 /* 1488 */ - .quad 0xCB129A73EE88235F, 0x52EBB4484E99C702, 0x6B45F7E413991D63 /* 1489 */ - .quad 0x962534E7DD1046BE, 0xA5D768909D338E04, 0xD68BEFC827323AC7 /* 1490 */ - .quad 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09, 0xAD17DF904E64758E /* 1491 */ - .quad 0x5894D39F74411AFA, 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C /* 1492 */ - .quad 0xB129A73EE88235F5, 0x2EBB4484E99C7026, 0xB45F7E413991D639 /* 1493 */ - .quad 0x62534E7DD1046BEA, 0x5D768909D338E04D, 0x68BEFC827323AC73 /* 1494 */ - .quad 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A, 0xD17DF904E64758E6 /* 1495 */ - .quad 0x894D39F74411AFA9, 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC /* 1496 */ - .quad 0x129A73EE88235F52, 0xEBB4484E99C7026B, 0x45F7E413991D6398 /* 1497 */ - .quad 0x2534E7DD1046BEA5, 0xD768909D338E04D6, 0x8BEFC827323AC730 /* 1498 */ - .quad 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD, 0x17DF904E64758E60 /* 1499 */ - .quad 0x94D39F74411AFA97, 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1 /* 1500 */ - .quad 0x29A73EE88235F52E, 0xBB4484E99C7026B4, 0x5F7E413991D63983 /* 1501 */ - .quad 0x534E7DD1046BEA5D, 0x768909D338E04D68, 0xBEFC827323AC7306 /* 1502 */ - .quad 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1, 0x7DF904E64758E60D /* 1503 */ - .quad 0x4D39F74411AFA975, 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A /* 1504 */ - .quad 0x9A73EE88235F52EB, 0xB4484E99C7026B45, 0xF7E413991D639835 /* 1505 */ - .quad 0x34E7DD1046BEA5D7, 0x68909D338E04D68B, 0xEFC827323AC7306A /* 1506 */ - .quad 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17, 0xDF904E64758E60D4 /* 1507 */ - .quad 0xD39F74411AFA975D, 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9 /* 1508 */ - .quad 0xA73EE88235F52EBB, 0x4484E99C7026B45F, 0x7E413991D6398353 /* 1509 */ - .quad 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE, 0xFC827323AC7306A6 /* 1510 */ - .quad 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D, 0xF904E64758E60D4C /* 1511 */ - .quad 0x39F74411AFA975DA, 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99 /* 1512 */ - .quad 0x73EE88235F52EBB4, 0x484E99C7026B45F7, 0xE413991D63983533 /* 1513 */ - .quad 0xE7DD1046BEA5D768, 0x909D338E04D68BEF, 0xC827323AC7306A67 /* 1514 */ - .quad 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF, 0x904E64758E60D4CE /* 1515 */ - .quad 0x9F74411AFA975DA2, 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C /* 1516 */ - .quad 0x3EE88235F52EBB44, 0x84E99C7026B45F7E, 0x413991D639835339 /* 1517 */ - .quad 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC, 0x827323AC7306A673 /* 1518 */ - .quad 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9, 0x04E64758E60D4CE7 /* 1519 */ - .quad 0xF74411AFA975DA24, 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF /* 1520 */ - .quad 0xEE88235F52EBB448, 0x4E99C7026B45F7E4, 0x13991D639835339F /* 1521 */ - .quad 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8, 0x27323AC7306A673E /* 1522 */ - .quad 0xBA208D7D4BAED121, 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D /* 1523 */ - .quad 0x74411AFA975DA242, 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA /* 1524 */ - .quad 0xE88235F52EBB4484, 0xE99C7026B45F7E41, 0x3991D639835339F4 /* 1525 */ - .quad 0xD1046BEA5D768909, 0xD338E04D68BEFC82, 0x7323AC7306A673E9 /* 1526 */ - .quad 0xA208D7D4BAED1213, 0xA671C09AD17DF904, 0xE64758E60D4CE7D2 /* 1527 */ - .quad 0x4411AFA975DA2427, 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4 /* 1528 */ - .quad 0x88235F52EBB4484E, 0x99C7026B45F7E413, 0x991D639835339F49 /* 1529 */ - .quad 0x1046BEA5D768909D, 0x338E04D68BEFC827, 0x323AC7306A673E93 /* 1530 */ - .quad 0x208D7D4BAED1213A, 0x671C09AD17DF904E, 0x64758E60D4CE7D27 /* 1531 */ - .quad 0x411AFA975DA24274, 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E /* 1532 */ - .quad 0x8235F52EBB4484E9, 0x9C7026B45F7E4139, 0x91D639835339F49C /* 1533 */ - .quad 0x046BEA5D768909D3, 0x38E04D68BEFC8273, 0x23AC7306A673E939 /* 1534 */ - .quad 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6, 0x4758E60D4CE7D272 /* 1535 */ - .quad 0x11AFA975DA24274C, 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4 /* 1536 */ - .quad 0x235F52EBB4484E99, 0xC7026B45F7E41399, 0x1D639835339F49C8 /* 1537 */ - .quad 0x46BEA5D768909D33, 0x8E04D68BEFC82732, 0x3AC7306A673E9390 /* 1538 */ - .quad 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64, 0x758E60D4CE7D2721 /* 1539 */ - .quad 0x1AFA975DA24274CE, 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42 /* 1540 */ - .quad 0x35F52EBB4484E99C, 0x7026B45F7E413991, 0xD639835339F49C84 /* 1541 */ - .quad 0x6BEA5D768909D338, 0xE04D68BEFC827323, 0xAC7306A673E93908 /* 1542 */ - .quad 0xD7D4BAED1213A671, 0xC09AD17DF904E647, 0x58E60D4CE7D27211 /* 1543 */ - .quad 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422 /* 1544 */ - .quad 0x5F52EBB4484E99C7, 0x026B45F7E413991D, 0x639835339F49C845 /* 1545 */ - .quad 0xBEA5D768909D338E, 0x04D68BEFC827323A, 0xC7306A673E93908B /* 1546 */ - .quad 0x7D4BAED1213A671C, 0x09AD17DF904E6475, 0x8E60D4CE7D272117 /* 1547 */ - .quad 0xFA975DA24274CE38, 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F /* 1548 */ - .quad 0xF52EBB4484E99C70, 0x26B45F7E413991D6, 0x39835339F49C845F /* 1549 */ - .quad 0xEA5D768909D338E0, 0x4D68BEFC827323AC, 0x7306A673E93908BF /* 1550 */ - .quad 0xD4BAED1213A671C0, 0x9AD17DF904E64758, 0xE60D4CE7D272117E /* 1551 */ - .quad 0xA975DA24274CE381, 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC /* 1552 */ - .quad 0x52EBB4484E99C702, 0x6B45F7E413991D63, 0x9835339F49C845F8 /* 1553 */ - .quad 0xA5D768909D338E04, 0xD68BEFC827323AC7, 0x306A673E93908BF1 /* 1554 */ - .quad 0x4BAED1213A671C09, 0xAD17DF904E64758E, 0x60D4CE7D272117E2 /* 1555 */ - .quad 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5 /* 1556 */ - .quad 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B /* 1557 */ - .quad 0x5D768909D338E04D, 0x68BEFC827323AC73, 0x06A673E93908BF17 /* 1558 */ - .quad 0xBAED1213A671C09A, 0xD17DF904E64758E6, 0x0D4CE7D272117E2E /* 1559 */ - .quad 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D /* 1560 */ - .quad 0xEBB4484E99C7026B, 0x45F7E413991D6398, 0x35339F49C845F8BB /* 1561 */ - .quad 0xD768909D338E04D6, 0x8BEFC827323AC730, 0x6A673E93908BF177 /* 1562 */ - .quad 0xAED1213A671C09AD, 0x17DF904E64758E60, 0xD4CE7D272117E2EF /* 1563 */ - .quad 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE /* 1564 */ - .quad 0xBB4484E99C7026B4, 0x5F7E413991D63983, 0x5339F49C845F8BBD /* 1565 */ - .quad 0x768909D338E04D68, 0xBEFC827323AC7306, 0xA673E93908BF177B /* 1566 */ - .quad 0xED1213A671C09AD1, 0x7DF904E64758E60D, 0x4CE7D272117E2EF7 /* 1567 */ - .quad 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF /* 1568 */ - .quad 0xB4484E99C7026B45, 0xF7E413991D639835, 0x339F49C845F8BBDF /* 1569 */ - .quad 0x68909D338E04D68B, 0xEFC827323AC7306A, 0x673E93908BF177BF /* 1570 */ - .quad 0xD1213A671C09AD17, 0xDF904E64758E60D4, 0xCE7D272117E2EF7E /* 1571 */ - .quad 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC /* 1572 */ - .quad 0x4484E99C7026B45F, 0x7E413991D6398353, 0x39F49C845F8BBDF9 /* 1573 */ - .quad 0x8909D338E04D68BE, 0xFC827323AC7306A6, 0x73E93908BF177BF2 /* 1574 */ - .quad 0x1213A671C09AD17D, 0xF904E64758E60D4C, 0xE7D272117E2EF7E4 /* 1575 */ - .quad 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9 /* 1576 */ - .quad 0x484E99C7026B45F7, 0xE413991D63983533, 0x9F49C845F8BBDF92 /* 1577 */ - .quad 0x909D338E04D68BEF, 0xC827323AC7306A67, 0x3E93908BF177BF25 /* 1578 */ - .quad 0x213A671C09AD17DF, 0x904E64758E60D4CE, 0x7D272117E2EF7E4A /* 1579 */ - .quad 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94 /* 1580 */ - .quad 0x84E99C7026B45F7E, 0x413991D639835339, 0xF49C845F8BBDF928 /* 1581 */ - .quad 0x09D338E04D68BEFC, 0x827323AC7306A673, 0xE93908BF177BF250 /* 1582 */ - .quad 0x13A671C09AD17DF9, 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0 /* 1583 */ - .quad 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941 /* 1584 */ - .quad 0x4E99C7026B45F7E4, 0x13991D639835339F, 0x49C845F8BBDF9283 /* 1585 */ - .quad 0x9D338E04D68BEFC8, 0x27323AC7306A673E, 0x93908BF177BF2507 /* 1586 */ - .quad 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E /* 1587 */ - .quad 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D /* 1588 */ - .quad 0xE99C7026B45F7E41, 0x3991D639835339F4, 0x9C845F8BBDF9283B /* 1589 */ - .quad 0xD338E04D68BEFC82, 0x7323AC7306A673E9, 0x3908BF177BF25076 /* 1590 */ - .quad 0xA671C09AD17DF904, 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC /* 1591 */ - .quad 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8 /* 1592 */ - .quad 0x99C7026B45F7E413, 0x991D639835339F49, 0xC845F8BBDF9283B1 /* 1593 */ - .quad 0x338E04D68BEFC827, 0x323AC7306A673E93, 0x908BF177BF250763 /* 1594 */ - .quad 0x671C09AD17DF904E, 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7 /* 1595 */ - .quad 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F /* 1596 */ - .quad 0x9C7026B45F7E4139, 0x91D639835339F49C, 0x845F8BBDF9283B1F /* 1597 */ - .quad 0x38E04D68BEFC8273, 0x23AC7306A673E939, 0x08BF177BF250763F /* 1598 */ - .quad 0x71C09AD17DF904E6, 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F /* 1599 */ - .quad 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF /* 1600 */ - .quad 0xC7026B45F7E41399, 0x1D639835339F49C8, 0x45F8BBDF9283B1FF /* 1601 */ - .quad 0x8E04D68BEFC82732, 0x3AC7306A673E9390, 0x8BF177BF250763FF /* 1602 */ - .quad 0x1C09AD17DF904E64, 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE /* 1603 */ - .quad 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC /* 1604 */ - .quad 0x7026B45F7E413991, 0xD639835339F49C84, 0x5F8BBDF9283B1FF8 /* 1605 */ - .quad 0xE04D68BEFC827323, 0xAC7306A673E93908, 0xBF177BF250763FF1 /* 1606 */ - .quad 0xC09AD17DF904E647, 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2 /* 1607 */ - .quad 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4 /* 1608 */ - .quad 0x026B45F7E413991D, 0x639835339F49C845, 0xF8BBDF9283B1FF89 /* 1609 */ - .quad 0x04D68BEFC827323A, 0xC7306A673E93908B, 0xF177BF250763FF12 /* 1610 */ - .quad 0x09AD17DF904E6475, 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25 /* 1611 */ - .quad 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B /* 1612 */ - .quad 0x26B45F7E413991D6, 0x39835339F49C845F, 0x8BBDF9283B1FF897 /* 1613 */ - .quad 0x4D68BEFC827323AC, 0x7306A673E93908BF, 0x177BF250763FF12F /* 1614 */ - .quad 0x9AD17DF904E64758, 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F /* 1615 */ - .quad 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF /* 1616 */ - .quad 0x6B45F7E413991D63, 0x9835339F49C845F8, 0xBBDF9283B1FF897F /* 1617 */ - .quad 0xD68BEFC827323AC7, 0x306A673E93908BF1, 0x77BF250763FF12FF /* 1618 */ - .quad 0xAD17DF904E64758E, 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF /* 1619 */ - .quad 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF /* 1620 */ - .quad 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF /* 1621 */ - .quad 0x68BEFC827323AC73, 0x06A673E93908BF17, 0x7BF250763FF12FFF /* 1622 */ - .quad 0xD17DF904E64758E6, 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF /* 1623 */ - .quad 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE /* 1624 */ - .quad 0x45F7E413991D6398, 0x35339F49C845F8BB, 0xDF9283B1FF897FFD /* 1625 */ - .quad 0x8BEFC827323AC730, 0x6A673E93908BF177, 0xBF250763FF12FFFB /* 1626 */ - .quad 0x17DF904E64758E60, 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7 /* 1627 */ - .quad 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF /* 1628 */ - .quad 0x5F7E413991D63983, 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE /* 1629 */ - .quad 0xBEFC827323AC7306, 0xA673E93908BF177B, 0xF250763FF12FFFBC /* 1630 */ - .quad 0x7DF904E64758E60D, 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78 /* 1631 */ - .quad 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0 /* 1632 */ - .quad 0xF7E413991D639835, 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0 /* 1633 */ - .quad 0xEFC827323AC7306A, 0x673E93908BF177BF, 0x250763FF12FFFBC0 /* 1634 */ - .quad 0xDF904E64758E60D4, 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781 /* 1635 */ - .quad 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02 /* 1636 */ - .quad 0x7E413991D6398353, 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05 /* 1637 */ - .quad 0xFC827323AC7306A6, 0x73E93908BF177BF2, 0x50763FF12FFFBC0B /* 1638 */ - .quad 0xF904E64758E60D4C, 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816 /* 1639 */ - .quad 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C /* 1640 */ - .quad 0xE413991D63983533, 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059 /* 1641 */ - .quad 0xC827323AC7306A67, 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3 /* 1642 */ - .quad 0x904E64758E60D4CE, 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166 /* 1643 */ - .quad 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC /* 1644 */ - .quad 0x413991D639835339, 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598 /* 1645 */ - .quad 0x827323AC7306A673, 0xE93908BF177BF250, 0x763FF12FFFBC0B30 /* 1646 */ - .quad 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660 /* 1647 */ - .quad 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0 /* 1648 */ - .quad 0x13991D639835339F, 0x49C845F8BBDF9283, 0xB1FF897FFDE05980 /* 1649 */ - .quad 0x27323AC7306A673E, 0x93908BF177BF2507, 0x63FF12FFFBC0B301 /* 1650 */ - .quad 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603 /* 1651 */ - .quad 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07 /* 1652 */ - .quad 0x3991D639835339F4, 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F /* 1653 */ - .quad 0x7323AC7306A673E9, 0x3908BF177BF25076, 0x3FF12FFFBC0B301F /* 1654 */ - .quad 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F /* 1655 */ - .quad 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F /* 1656 */ - .quad 0x991D639835339F49, 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE /* 1657 */ - .quad 0x323AC7306A673E93, 0x908BF177BF250763, 0xFF12FFFBC0B301FD /* 1658 */ - .quad 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB /* 1659 */ - .quad 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7 /* 1660 */ - .quad 0x91D639835339F49C, 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF /* 1661 */ - .quad 0x23AC7306A673E939, 0x08BF177BF250763F, 0xF12FFFBC0B301FDE /* 1662 */ - .quad 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC /* 1663 */ - .quad 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79 /* 1664 */ - .quad 0x1D639835339F49C8, 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2 /* 1665 */ - .quad 0x3AC7306A673E9390, 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5 /* 1666 */ - .quad 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB /* 1667 */ - .quad 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797 /* 1668 */ - .quad 0xD639835339F49C84, 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F /* 1669 */ - .quad 0xAC7306A673E93908, 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E /* 1670 */ - .quad 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC /* 1671 */ - .quad 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978 /* 1672 */ - .quad 0x639835339F49C845, 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1 /* 1673 */ - .quad 0xC7306A673E93908B, 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2 /* 1674 */ - .quad 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4 /* 1675 */ - .quad 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788 /* 1676 */ - .quad 0x39835339F49C845F, 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11 /* 1677 */ - .quad 0x7306A673E93908BF, 0x177BF250763FF12F, 0xFFBC0B301FDE5E23 /* 1678 */ - .quad 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46 /* 1679 */ - .quad 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C /* 1680 */ - .quad 0x9835339F49C845F8, 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118 /* 1681 */ - .quad 0x306A673E93908BF1, 0x77BF250763FF12FF, 0xFBC0B301FDE5E231 /* 1682 */ - .quad 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462 /* 1683 */ - .quad 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5 /* 1684 */ - .quad 0x835339F49C845F8B, 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B /* 1685 */ - .quad 0x06A673E93908BF17, 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316 /* 1686 */ - .quad 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D /* 1687 */ - .quad 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A /* 1688 */ - .quad 0x35339F49C845F8BB, 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5 /* 1689 */ - .quad 0x6A673E93908BF177, 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B /* 1690 */ - .quad 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6 /* 1691 */ - .quad 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD /* 1692 */ - .quad 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A /* 1693 */ - .quad 0xA673E93908BF177B, 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4 /* 1694 */ - .quad 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68 /* 1695 */ - .quad 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0 /* 1696 */ - .quad 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0 /* 1697 */ - .quad 0x673E93908BF177BF, 0x250763FF12FFFBC0, 0xB301FDE5E2316B41 /* 1698 */ - .quad 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682 /* 1699 */ - .quad 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05 /* 1700 */ - .quad 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A /* 1701 */ - .quad 0x73E93908BF177BF2, 0x50763FF12FFFBC0B, 0x301FDE5E2316B414 /* 1702 */ - .quad 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829 /* 1703 */ - .quad 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053 /* 1704 */ - .quad 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6 /* 1705 */ - .quad 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D /* 1706 */ - .quad 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B /* 1707 */ - .quad 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536 /* 1708 */ - .quad 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D /* 1709 */ - .quad 0xE93908BF177BF250, 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA /* 1710 */ - .quad 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4 /* 1711 */ - .quad 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368 /* 1712 */ - .quad 0x49C845F8BBDF9283, 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1 /* 1713 */ - .quad 0x93908BF177BF2507, 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3 /* 1714 */ - .quad 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603, 0xFBCBC462D6829B47 /* 1715 */ - .quad 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F /* 1716 */ - .quad 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F /* 1717 */ - .quad 0x3908BF177BF25076, 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E /* 1718 */ - .quad 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F, 0xBCBC462D6829B47D /* 1719 */ - .quad 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB /* 1720 */ - .quad 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6 /* 1721 */ - .quad 0x908BF177BF250763, 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED /* 1722 */ - .quad 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB, 0xCBC462D6829B47DB /* 1723 */ - .quad 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6 /* 1724 */ - .quad 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D /* 1725 */ - .quad 0x08BF177BF250763F, 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA /* 1726 */ - .quad 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC, 0xBC462D6829B47DB4 /* 1727 */ - .quad 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69 /* 1728 */ - .quad 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3 /* 1729 */ - .quad 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6 /* 1730 */ - .quad 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB, 0xC462D6829B47DB4D /* 1731 */ - .quad 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B /* 1732 */ - .quad 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36 /* 1733 */ - .quad 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C /* 1734 */ - .quad 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9 /* 1735 */ - .quad 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3 /* 1736 */ - .quad 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367 /* 1737 */ - .quad 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF /* 1738 */ - .quad 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F /* 1739 */ - .quad 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F /* 1740 */ - .quad 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E /* 1741 */ - .quad 0x177BF250763FF12F, 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD /* 1742 */ - .quad 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB /* 1743 */ - .quad 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6 /* 1744 */ - .quad 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC /* 1745 */ - .quad 0x77BF250763FF12FF, 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9 /* 1746 */ - .quad 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3 /* 1747 */ - .quad 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5, 0xAD05368FB69B3F67 /* 1748 */ - .quad 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF /* 1749 */ - .quad 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E /* 1750 */ - .quad 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C /* 1751 */ - .quad 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A, 0xD05368FB69B3F679 /* 1752 */ - .quad 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2 /* 1753 */ - .quad 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4 /* 1754 */ - .quad 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9 /* 1755 */ - .quad 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD, 0x05368FB69B3F6793 /* 1756 */ - .quad 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27 /* 1757 */ - .quad 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F /* 1758 */ - .quad 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F /* 1759 */ - .quad 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E /* 1760 */ - .quad 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C /* 1761 */ - .quad 0x250763FF12FFFBC0, 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9 /* 1762 */ - .quad 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2 /* 1763 */ - .quad 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05, 0x368FB69B3F6793E5 /* 1764 */ - .quad 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB /* 1765 */ - .quad 0x50763FF12FFFBC0B, 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96 /* 1766 */ - .quad 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C /* 1767 */ - .quad 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053, 0x68FB69B3F6793E58 /* 1768 */ - .quad 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0 /* 1769 */ - .quad 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961 /* 1770 */ - .quad 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2 /* 1771 */ - .quad 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536, 0x8FB69B3F6793E584 /* 1772 */ - .quad 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09 /* 1773 */ - .quad 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613 /* 1774 */ - .quad 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26 /* 1775 */ - .quad 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368, 0xFB69B3F6793E584D /* 1776 */ - .quad 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B /* 1777 */ - .quad 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136 /* 1778 */ - .quad 0xC7FE25FFF7816603, 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D /* 1779 */ - .quad 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F, 0xB69B3F6793E584DB /* 1780 */ - .quad 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7 /* 1781 */ - .quad 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E /* 1782 */ - .quad 0x7FE25FFF7816603F, 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD /* 1783 */ - .quad 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB, 0x69B3F6793E584DBA /* 1784 */ - .quad 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74 /* 1785 */ - .quad 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9 /* 1786 */ - .quad 0xFE25FFF7816603FB, 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3 /* 1787 */ - .quad 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7 /* 1788 */ - .quad 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F /* 1789 */ - .quad 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E /* 1790 */ - .quad 0xE25FFF7816603FBC, 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D /* 1791 */ - .quad 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69, 0xB3F6793E584DBA7A /* 1792 */ - .quad 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4 /* 1793 */ - .quad 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8 /* 1794 */ - .quad 0x25FFF7816603FBCB, 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1 /* 1795 */ - .quad 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3 /* 1796 */ - .quad 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46 /* 1797 */ - .quad 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C /* 1798 */ - .quad 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18 /* 1799 */ - .quad 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31 /* 1800 */ - .quad 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463 /* 1801 */ - .quad 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7 /* 1802 */ - .quad 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F /* 1803 */ - .quad 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F /* 1804 */ - .quad 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F /* 1805 */ - .quad 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E /* 1806 */ - .quad 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD /* 1807 */ - .quad 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB /* 1808 */ - .quad 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6 /* 1809 */ - .quad 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC /* 1810 */ - .quad 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9 /* 1811 */ - .quad 0xEF02CC07F79788C5, 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3 /* 1812 */ - .quad 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66 /* 1813 */ - .quad 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD /* 1814 */ - .quad 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A /* 1815 */ - .quad 0xF02CC07F79788C5A, 0xD05368FB69B3F679, 0x3E584DBA7A31FB34 /* 1816 */ - .quad 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669 /* 1817 */ - .quad 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3 /* 1818 */ - .quad 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7 /* 1819 */ - .quad 0x02CC07F79788C5AD, 0x05368FB69B3F6793, 0xE584DBA7A31FB34F /* 1820 */ - .quad 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E /* 1821 */ - .quad 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C /* 1822 */ - .quad 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79 /* 1823 */ - .quad 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2 /* 1824 */ - .quad 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5 /* 1825 */ - .quad 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB /* 1826 */ - .quad 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797 /* 1827 */ - .quad 0xCC07F79788C5AD05, 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F /* 1828 */ - .quad 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F /* 1829 */ - .quad 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF /* 1830 */ - .quad 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F /* 1831 */ - .quad 0xC07F79788C5AD053, 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF /* 1832 */ - .quad 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE /* 1833 */ - .quad 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD /* 1834 */ - .quad 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA /* 1835 */ - .quad 0x07F79788C5AD0536, 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5 /* 1836 */ - .quad 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA /* 1837 */ - .quad 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4 /* 1838 */ - .quad 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8 /* 1839 */ - .quad 0x7F79788C5AD05368, 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51 /* 1840 */ - .quad 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2 /* 1841 */ - .quad 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45 /* 1842 */ - .quad 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B /* 1843 */ - .quad 0xF79788C5AD05368F, 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516 /* 1844 */ - .quad 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D /* 1845 */ - .quad 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A /* 1846 */ - .quad 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5 /* 1847 */ - .quad 0x79788C5AD05368FB, 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B /* 1848 */ - .quad 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7 /* 1849 */ - .quad 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE /* 1850 */ - .quad 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D /* 1851 */ - .quad 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA /* 1852 */ - .quad 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F, 0x463F669E5FEA2D75 /* 1853 */ - .quad 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA /* 1854 */ - .quad 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4 /* 1855 */ - .quad 0x788C5AD05368FB69, 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9 /* 1856 */ - .quad 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752 /* 1857 */ - .quad 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4 /* 1858 */ - .quad 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49 /* 1859 */ - .quad 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93 /* 1860 */ - .quad 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527 /* 1861 */ - .quad 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F /* 1862 */ - .quad 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E /* 1863 */ - .quad 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D /* 1864 */ - .quad 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463, 0xF669E5FEA2D7527B /* 1865 */ - .quad 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7 /* 1866 */ - .quad 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE /* 1867 */ - .quad 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD /* 1868 */ - .quad 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA /* 1869 */ - .quad 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75 /* 1870 */ - .quad 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB /* 1871 */ - .quad 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6 /* 1872 */ - .quad 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC /* 1873 */ - .quad 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758 /* 1874 */ - .quad 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1 /* 1875 */ - .quad 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63 /* 1876 */ - .quad 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7 /* 1877 */ - .quad 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F /* 1878 */ - .quad 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F /* 1879 */ - .quad 0xD05368FB69B3F679, 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F /* 1880 */ - .quad 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E /* 1881 */ - .quad 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD /* 1882 */ - .quad 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA /* 1883 */ - .quad 0x05368FB69B3F6793, 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5 /* 1884 */ - .quad 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB /* 1885 */ - .quad 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7 /* 1886 */ - .quad 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF /* 1887 */ - .quad 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F /* 1888 */ - .quad 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE /* 1889 */ - .quad 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C /* 1890 */ - .quad 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9 /* 1891 */ - .quad 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2 /* 1892 */ - .quad 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5 /* 1893 */ - .quad 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB /* 1894 */ - .quad 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97 /* 1895 */ - .quad 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F /* 1896 */ - .quad 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F /* 1897 */ - .quad 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE /* 1898 */ - .quad 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C /* 1899 */ - .quad 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8 /* 1900 */ - .quad 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1 /* 1901 */ - .quad 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2 /* 1902 */ - .quad 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5 /* 1903 */ - .quad 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B /* 1904 */ - .quad 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17 /* 1905 */ - .quad 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F /* 1906 */ - .quad 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E /* 1907 */ - .quad 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD /* 1908 */ - .quad 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B /* 1909 */ - .quad 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6 /* 1910 */ - .quad 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC /* 1911 */ - .quad 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9 /* 1912 */ - .quad 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3 /* 1913 */ - .quad 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67 /* 1914 */ - .quad 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF /* 1915 */ - .quad 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E /* 1916 */ - .quad 0x367ECF27CB09B74F, 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D /* 1917 */ - .quad 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A /* 1918 */ - .quad 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4 /* 1919 */ - .quad 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8 /* 1920 */ - .quad 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0 /* 1921 */ - .quad 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0 /* 1922 */ - .quad 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41 /* 1923 */ - .quad 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83 /* 1924 */ - .quad 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07 /* 1925 */ - .quad 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E /* 1926 */ - .quad 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C /* 1927 */ - .quad 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839 /* 1928 */ - .quad 0xECF27CB09B74F463, 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073 /* 1929 */ - .quad 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7 /* 1930 */ - .quad 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE /* 1931 */ - .quad 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C /* 1932 */ - .quad 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739 /* 1933 */ - .quad 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73 /* 1934 */ - .quad 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7 /* 1935 */ - .quad 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF /* 1936 */ - .quad 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F /* 1937 */ - .quad 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E /* 1938 */ - .quad 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D /* 1939 */ - .quad 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB /* 1940 */ - .quad 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7 /* 1941 */ - .quad 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF /* 1942 */ - .quad 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE /* 1943 */ - .quad 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC /* 1944 */ - .quad 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78 /* 1945 */ - .quad 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1 /* 1946 */ - .quad 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2 /* 1947 */ - .quad 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5 /* 1948 */ - .quad 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A /* 1949 */ - .quad 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14 /* 1950 */ - .quad 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29 /* 1951 */ - .quad 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52 /* 1952 */ - .quad 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5 /* 1953 */ - .quad 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A /* 1954 */ - .quad 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294 /* 1955 */ - .quad 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529 /* 1956 */ - .quad 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52 /* 1957 */ - .quad 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5 /* 1958 */ - .quad 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A /* 1959 */ - .quad 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294 /* 1960 */ - .quad 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529 /* 1961 */ - .quad 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52 /* 1962 */ - .quad 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4 /* 1963 */ - .quad 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949 /* 1964 */ - .quad 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292 /* 1965 */ - .quad 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525 /* 1966 */ - .quad 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B /* 1967 */ - .quad 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497 /* 1968 */ - .quad 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E /* 1969 */ - .quad 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D /* 1970 */ - .quad 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA /* 1971 */ - .quad 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975 /* 1972 */ - .quad 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA /* 1973 */ - .quad 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4 /* 1974 */ - .quad 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9 /* 1975 */ - .quad 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753 /* 1976 */ - .quad 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6 /* 1977 */ - .quad 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D /* 1978 */ - .quad 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A /* 1979 */ - .quad 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E, 0x839CFBC529497535 /* 1980 */ - .quad 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B /* 1981 */ - .quad 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7 /* 1982 */ - .quad 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF /* 1983 */ - .quad 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8, 0x39CFBC529497535F /* 1984 */ - .quad 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0, 0x739F78A5292EA6BF /* 1985 */ - .quad 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0, 0xE73EF14A525D4D7F /* 1986 */ - .quad 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41, 0xCE7DE294A4BA9AFE /* 1987 */ - .quad 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83, 0x9CFBC529497535FD /* 1988 */ - .quad 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07, 0x39F78A5292EA6BFB /* 1989 */ - .quad 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E, 0x73EF14A525D4D7F6 /* 1990 */ - .quad 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C, 0xE7DE294A4BA9AFED /* 1991 */ - .quad 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839, 0xCFBC529497535FDA /* 1992 */ - .quad 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073, 0x9F78A5292EA6BFB5 /* 1993 */ - .quad 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7, 0x3EF14A525D4D7F6B /* 1994 */ - .quad 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE, 0x7DE294A4BA9AFED7 /* 1995 */ - .quad 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C, 0xFBC529497535FDAF /* 1996 */ - .quad 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739, 0xF78A5292EA6BFB5F /* 1997 */ - .quad 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73, 0xEF14A525D4D7F6BF /* 1998 */ - .quad 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7, 0xDE294A4BA9AFED7E /* 1999 */ - .quad 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF, 0xBC529497535FDAFD /* 2000 */ - .quad 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F, 0x78A5292EA6BFB5FB /* 2001 */ - .quad 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E, 0xF14A525D4D7F6BF6 /* 2002 */ - .quad 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D, 0xE294A4BA9AFED7EC /* 2003 */ - .quad 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB, 0xC529497535FDAFD8 /* 2004 */ - .quad 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1 /* 2005 */ - .quad 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF, 0x14A525D4D7F6BF62 /* 2006 */ - .quad 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE, 0x294A4BA9AFED7EC4 /* 2007 */ - .quad 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC, 0x529497535FDAFD88 /* 2008 */ - .quad 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78, 0xA5292EA6BFB5FB11 /* 2009 */ - .quad 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1, 0x4A525D4D7F6BF623 /* 2010 */ - .quad 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2, 0x94A4BA9AFED7EC47 /* 2011 */ - .quad 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5, 0x29497535FDAFD88F /* 2012 */ - .quad 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A, 0x5292EA6BFB5FB11F /* 2013 */ - .quad 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14, 0xA525D4D7F6BF623F /* 2014 */ - .quad 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29, 0x4A4BA9AFED7EC47E /* 2015 */ - .quad 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52, 0x9497535FDAFD88FC /* 2016 */ - .quad 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5, 0x292EA6BFB5FB11F8 /* 2017 */ - .quad 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A, 0x525D4D7F6BF623F1 /* 2018 */ - .quad 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294, 0xA4BA9AFED7EC47E3 /* 2019 */ - .quad 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529, 0x497535FDAFD88FC6 /* 2020 */ - .quad 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52, 0x92EA6BFB5FB11F8D /* 2021 */ - .quad 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5, 0x25D4D7F6BF623F1A /* 2022 */ - .quad 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A, 0x4BA9AFED7EC47E35 /* 2023 */ - .quad 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294, 0x97535FDAFD88FC6A /* 2024 */ - .quad 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529, 0x2EA6BFB5FB11F8D5 /* 2025 */ - .quad 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52, 0x5D4D7F6BF623F1AB /* 2026 */ - .quad 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4, 0xBA9AFED7EC47E357 /* 2027 */ - .quad 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949, 0x7535FDAFD88FC6AE /* 2028 */ - .quad 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292, 0xEA6BFB5FB11F8D5D /* 2029 */ - .quad 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525, 0xD4D7F6BF623F1ABA /* 2030 */ - .quad 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B, 0xA9AFED7EC47E3574 /* 2031 */ - .quad 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497, 0x535FDAFD88FC6AE8 /* 2032 */ - .quad 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E, 0xA6BFB5FB11F8D5D0 /* 2033 */ - .quad 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D, 0x4D7F6BF623F1ABA1 /* 2034 */ - .quad 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA, 0x9AFED7EC47E35742 /* 2035 */ - .quad 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975, 0x35FDAFD88FC6AE84 /* 2036 */ - .quad 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA, 0x6BFB5FB11F8D5D08 /* 2037 */ - .quad 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4, 0xD7F6BF623F1ABA10 /* 2038 */ - .quad 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9, 0xAFED7EC47E357421 /* 2039 */ - .quad 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753, 0x5FDAFD88FC6AE842 /* 2040 */ - .quad 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6, 0xBFB5FB11F8D5D085 /* 2041 */ - .quad 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D, 0x7F6BF623F1ABA10A /* 2042 */ - .quad 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A, 0xFED7EC47E3574215 /* 2043 */ - .quad 0x93DD63F5F2F8BD9E, 0x839CFBC529497535, 0xFDAFD88FC6AE842B /* 2044 */ - .quad 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B, 0xFB5FB11F8D5D0856 /* 2045 */ - .quad 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7, 0xF6BF623F1ABA10AC /* 2046 */ - .quad 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF, 0xED7EC47E35742158 /* 2047 */ - .align 16 - .type __svml_dtan_reduction_data_internal,@object - .size __svml_dtan_reduction_data_internal,.-__svml_dtan_reduction_data_internal - .space 512, 0x00 - .align 16 + /* P_hi P_med P_lo */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 0 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 1 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 2 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 3 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 4 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 5 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 6 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 7 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 8 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 9 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 10 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 11 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 12 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 13 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 14 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 15 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 16 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 17 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 18 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 19 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 20 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 21 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 22 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 23 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 24 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 25 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 26 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 27 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 28 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 29 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 30 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 31 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 32 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 33 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 34 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 35 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 36 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 37 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 38 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 39 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 40 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 41 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 42 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 43 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 44 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 45 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 46 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 47 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 48 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 49 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 50 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 51 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 52 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 53 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 54 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 55 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 56 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 57 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 58 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 59 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 60 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 61 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 62 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 63 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 64 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 65 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 66 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 67 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 68 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 69 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 70 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 71 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 72 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 73 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 74 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 75 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 76 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 77 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 78 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 79 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 80 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 81 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 82 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 83 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 84 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 85 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 86 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 87 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 88 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 89 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 90 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 91 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 92 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 93 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 94 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 95 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 96 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 97 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 98 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 99 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 100 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 101 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 102 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 103 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 104 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 105 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 106 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 107 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 108 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 109 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 110 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 111 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 112 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 113 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 114 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 115 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 116 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 117 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 118 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 119 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 120 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 121 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 122 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 123 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 124 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 125 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 126 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 127 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 128 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 129 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 130 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 131 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 132 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 133 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 134 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 135 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 136 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 137 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 138 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 139 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 140 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 141 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 142 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 143 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 144 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 145 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 146 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 147 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 148 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 149 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 150 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 151 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 152 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 153 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 154 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 155 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 156 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 157 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 158 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 159 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 160 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 161 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 162 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 163 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 164 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 165 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 166 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 167 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 168 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 169 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 170 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 171 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 172 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 173 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 174 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 175 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 176 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 177 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 178 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 179 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 180 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 181 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 182 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 183 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 184 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 185 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 186 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 187 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 188 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 189 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 190 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 191 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 192 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 193 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 194 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 195 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 196 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 197 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 198 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 199 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 200 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 201 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 202 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 203 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 204 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 205 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 206 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 207 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 208 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 209 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 210 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 211 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 212 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 213 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 214 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 215 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 216 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 217 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 218 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 219 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 220 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 221 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 222 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 223 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 224 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 225 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 226 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 227 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 228 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 229 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 230 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 231 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 232 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 233 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 234 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 235 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 236 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 237 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 238 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 239 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 240 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 241 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 242 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 243 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 244 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 245 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 246 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 247 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 248 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 249 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 250 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 251 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 252 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 253 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 254 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 255 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 256 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 257 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 258 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 259 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 260 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 261 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 262 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 263 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 264 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 265 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 266 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 267 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 268 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 269 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 270 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 271 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 272 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 273 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 274 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 275 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 276 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 277 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 278 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 279 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 280 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 281 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 282 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 283 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 284 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 285 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 286 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 287 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 288 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 289 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 290 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 291 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 292 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 293 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 294 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 295 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 296 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 297 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 298 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 299 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 300 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 301 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 302 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 303 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 304 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 305 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 306 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 307 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 308 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 309 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 310 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 311 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 312 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 313 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 314 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 315 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 316 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 317 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 318 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 319 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 320 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 321 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 322 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 323 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 324 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 325 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 326 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 327 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 328 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 329 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 330 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 331 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 332 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 333 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 334 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 335 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 336 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 337 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 338 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 339 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 340 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 341 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 342 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 343 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 344 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 345 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 346 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 347 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 348 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 349 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 350 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 351 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 352 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 353 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 354 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 355 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 356 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 357 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 358 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 359 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 360 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 361 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 362 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 363 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 364 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 365 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 366 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 367 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 368 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 369 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 370 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 371 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 372 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 373 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 374 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 375 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 376 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 377 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 378 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 379 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 380 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 381 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 382 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 383 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 384 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 385 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 386 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 387 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 388 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 389 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 390 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 391 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 392 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 393 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 394 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 395 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 396 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 397 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 398 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 399 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 400 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 401 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 402 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 403 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 404 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 405 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 406 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 407 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 408 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 409 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 410 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 411 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 412 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 413 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 414 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 415 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 416 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 417 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 418 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 419 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 420 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 421 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 422 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 423 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 424 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 425 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 426 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 427 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 428 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 429 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 430 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 431 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 432 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 433 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 434 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 435 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 436 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 437 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 438 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 439 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 440 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 441 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 442 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 443 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 444 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 445 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 446 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 447 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 448 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 449 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 450 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 451 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 452 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 453 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 454 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 455 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 456 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 457 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 458 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 459 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 460 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 461 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 462 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 463 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 464 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 465 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 466 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 467 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 468 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 469 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 470 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 471 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 472 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 473 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 474 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 475 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 476 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 477 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 478 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 479 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 480 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 481 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 482 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 483 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 484 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 485 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 486 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 487 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 488 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 489 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 490 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 491 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 492 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 493 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 494 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 495 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 496 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 497 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 498 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 499 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 500 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 501 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 502 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 503 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 504 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 505 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 506 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 507 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 508 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 509 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 510 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 511 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 512 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 513 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 514 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 515 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 516 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 517 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 518 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 519 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 520 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 521 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 522 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 523 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 524 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 525 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 526 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 527 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 528 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 529 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 530 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 531 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 532 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 533 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 534 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 535 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 536 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 537 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 538 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 539 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 540 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 541 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 542 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 543 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 544 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 545 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 546 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 547 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 548 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 549 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 550 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 551 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 552 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 553 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 554 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 555 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 556 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 557 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 558 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 559 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 560 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 561 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 562 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 563 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 564 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 565 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 566 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 567 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 568 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 569 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 570 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 571 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 572 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 573 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 574 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 575 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 576 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 577 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 578 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 579 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 580 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 581 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 582 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 583 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 584 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 585 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 586 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 587 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 588 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 589 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 590 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 591 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 592 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 593 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 594 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 595 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 596 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 597 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 598 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 599 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 600 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 601 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 602 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 603 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 604 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 605 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 606 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 607 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 608 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 609 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 610 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 611 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 612 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 613 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 614 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 615 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 616 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 617 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 618 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 619 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 620 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 621 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 622 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 623 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 624 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 625 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 626 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 627 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 628 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 629 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 630 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 631 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 632 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 633 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 634 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 635 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 636 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 637 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 638 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 639 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 640 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 641 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 642 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 643 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 644 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 645 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 646 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 647 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 648 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 649 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 650 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 651 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 652 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 653 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 654 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 655 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 656 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 657 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 658 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 659 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 660 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 661 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 662 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 663 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 664 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 665 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 666 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 667 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 668 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 669 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 670 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 671 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 672 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 673 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 674 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 675 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 676 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 677 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 678 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 679 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 680 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 681 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 682 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 683 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 684 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 685 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 686 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 687 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 688 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 689 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 690 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 691 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 692 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 693 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 694 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 695 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 696 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 697 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 698 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 699 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 700 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 701 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 702 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 703 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 704 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 705 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 706 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 707 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 708 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 709 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 710 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 711 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 712 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 713 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 714 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 715 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 716 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 717 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 718 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 719 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 720 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 721 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 722 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 723 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 724 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 725 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 726 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 727 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 728 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 729 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 730 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 731 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 732 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 733 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 734 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 735 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 736 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 737 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 738 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 739 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 740 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 741 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 742 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 743 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 744 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 745 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 746 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 747 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 748 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 749 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 750 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 751 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 752 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 753 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 754 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 755 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 756 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 757 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 758 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 759 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 760 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 761 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 762 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 763 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 764 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 765 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 766 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 767 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 768 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 769 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 770 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 771 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 772 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 773 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 774 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 775 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 776 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 777 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 778 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 779 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 780 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 781 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 782 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 783 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 784 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 785 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 786 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 787 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 788 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 789 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 790 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 791 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 792 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 793 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 794 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 795 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 796 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 797 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 798 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 799 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 800 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 801 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 802 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 803 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 804 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 805 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 806 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 807 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 808 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 809 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 810 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 811 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 812 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 813 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 814 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 815 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 816 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 817 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 818 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 819 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 820 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 821 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 822 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 823 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 824 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 825 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 826 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 827 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 828 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 829 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 830 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 831 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 832 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 833 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 834 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 835 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 836 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 837 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 838 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 839 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 840 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 841 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 842 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 843 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 844 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 845 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 846 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 847 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 848 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 849 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 850 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 851 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 852 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 853 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 854 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 855 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 856 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 857 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 858 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 859 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 860 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 861 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 862 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 863 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 864 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 865 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 866 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 867 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 868 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 869 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 870 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 871 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 872 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 873 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 874 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 875 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 876 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 877 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 878 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 879 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 880 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 881 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 882 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 883 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 884 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 885 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000001 /* 886 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000002 /* 887 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000005 /* 888 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000000A /* 889 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000014 /* 890 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000028 /* 891 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000051 /* 892 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000000A2 /* 893 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000145 /* 894 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000028B /* 895 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000517 /* 896 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000A2F /* 897 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000145F /* 898 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000028BE /* 899 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000517C /* 900 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000A2F9 /* 901 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000145F3 /* 902 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000028BE6 /* 903 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000517CC /* 904 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000A2F98 /* 905 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000145F30 /* 906 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000028BE60 /* 907 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000517CC1 /* 908 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000A2F983 /* 909 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000145F306 /* 910 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000028BE60D /* 911 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000517CC1B /* 912 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000A2F9836 /* 913 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000145F306D /* 914 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000028BE60DB /* 915 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000517CC1B7 /* 916 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000A2F9836E /* 917 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000145F306DC /* 918 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000028BE60DB9 /* 919 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000517CC1B72 /* 920 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000A2F9836E4 /* 921 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000145F306DC9 /* 922 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000028BE60DB93 /* 923 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000517CC1B727 /* 924 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000A2F9836E4E /* 925 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000145F306DC9C /* 926 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000028BE60DB939 /* 927 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000517CC1B7272 /* 928 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000A2F9836E4E4 /* 929 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000145F306DC9C8 /* 930 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000028BE60DB9391 /* 931 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000517CC1B72722 /* 932 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000A2F9836E4E44 /* 933 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000145F306DC9C88 /* 934 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00028BE60DB93910 /* 935 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000517CC1B727220 /* 936 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000A2F9836E4E441 /* 937 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00145F306DC9C882 /* 938 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0028BE60DB939105 /* 939 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00517CC1B727220A /* 940 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00A2F9836E4E4415 /* 941 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0145F306DC9C882A /* 942 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x028BE60DB9391054 /* 943 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0517CC1B727220A9 /* 944 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0A2F9836E4E44152 /* 945 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x145F306DC9C882A5 /* 946 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x28BE60DB9391054A /* 947 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x517CC1B727220A94 /* 948 */ + .quad 0x0000000000000000, 0x0000000000000000, 0xA2F9836E4E441529 /* 949 */ + .quad 0x0000000000000000, 0x0000000000000001, 0x45F306DC9C882A53 /* 950 */ + .quad 0x0000000000000000, 0x0000000000000002, 0x8BE60DB9391054A7 /* 951 */ + .quad 0x0000000000000000, 0x0000000000000005, 0x17CC1B727220A94F /* 952 */ + .quad 0x0000000000000000, 0x000000000000000A, 0x2F9836E4E441529F /* 953 */ + .quad 0x0000000000000000, 0x0000000000000014, 0x5F306DC9C882A53F /* 954 */ + .quad 0x0000000000000000, 0x0000000000000028, 0xBE60DB9391054A7F /* 955 */ + .quad 0x0000000000000000, 0x0000000000000051, 0x7CC1B727220A94FE /* 956 */ + .quad 0x0000000000000000, 0x00000000000000A2, 0xF9836E4E441529FC /* 957 */ + .quad 0x0000000000000000, 0x0000000000000145, 0xF306DC9C882A53F8 /* 958 */ + .quad 0x0000000000000000, 0x000000000000028B, 0xE60DB9391054A7F0 /* 959 */ + .quad 0x0000000000000000, 0x0000000000000517, 0xCC1B727220A94FE1 /* 960 */ + .quad 0x0000000000000000, 0x0000000000000A2F, 0x9836E4E441529FC2 /* 961 */ + .quad 0x0000000000000000, 0x000000000000145F, 0x306DC9C882A53F84 /* 962 */ + .quad 0x0000000000000000, 0x00000000000028BE, 0x60DB9391054A7F09 /* 963 */ + .quad 0x0000000000000000, 0x000000000000517C, 0xC1B727220A94FE13 /* 964 */ + .quad 0x0000000000000000, 0x000000000000A2F9, 0x836E4E441529FC27 /* 965 */ + .quad 0x0000000000000000, 0x00000000000145F3, 0x06DC9C882A53F84E /* 966 */ + .quad 0x0000000000000000, 0x0000000000028BE6, 0x0DB9391054A7F09D /* 967 */ + .quad 0x0000000000000000, 0x00000000000517CC, 0x1B727220A94FE13A /* 968 */ + .quad 0x0000000000000000, 0x00000000000A2F98, 0x36E4E441529FC275 /* 969 */ + .quad 0x0000000000000000, 0x0000000000145F30, 0x6DC9C882A53F84EA /* 970 */ + .quad 0x0000000000000000, 0x000000000028BE60, 0xDB9391054A7F09D5 /* 971 */ + .quad 0x0000000000000000, 0x0000000000517CC1, 0xB727220A94FE13AB /* 972 */ + .quad 0x0000000000000000, 0x0000000000A2F983, 0x6E4E441529FC2757 /* 973 */ + .quad 0x0000000000000000, 0x000000000145F306, 0xDC9C882A53F84EAF /* 974 */ + .quad 0x0000000000000000, 0x00000000028BE60D, 0xB9391054A7F09D5F /* 975 */ + .quad 0x0000000000000000, 0x000000000517CC1B, 0x727220A94FE13ABE /* 976 */ + .quad 0x0000000000000000, 0x000000000A2F9836, 0xE4E441529FC2757D /* 977 */ + .quad 0x0000000000000000, 0x00000000145F306D, 0xC9C882A53F84EAFA /* 978 */ + .quad 0x0000000000000000, 0x0000000028BE60DB, 0x9391054A7F09D5F4 /* 979 */ + .quad 0x0000000000000000, 0x00000000517CC1B7, 0x27220A94FE13ABE8 /* 980 */ + .quad 0x0000000000000000, 0x00000000A2F9836E, 0x4E441529FC2757D1 /* 981 */ + .quad 0x0000000000000000, 0x0000000145F306DC, 0x9C882A53F84EAFA3 /* 982 */ + .quad 0x0000000000000000, 0x000000028BE60DB9, 0x391054A7F09D5F47 /* 983 */ + .quad 0x0000000000000000, 0x0000000517CC1B72, 0x7220A94FE13ABE8F /* 984 */ + .quad 0x0000000000000000, 0x0000000A2F9836E4, 0xE441529FC2757D1F /* 985 */ + .quad 0x0000000000000000, 0x000000145F306DC9, 0xC882A53F84EAFA3E /* 986 */ + .quad 0x0000000000000000, 0x00000028BE60DB93, 0x91054A7F09D5F47D /* 987 */ + .quad 0x0000000000000000, 0x000000517CC1B727, 0x220A94FE13ABE8FA /* 988 */ + .quad 0x0000000000000000, 0x000000A2F9836E4E, 0x441529FC2757D1F5 /* 989 */ + .quad 0x0000000000000000, 0x00000145F306DC9C, 0x882A53F84EAFA3EA /* 990 */ + .quad 0x0000000000000000, 0x0000028BE60DB939, 0x1054A7F09D5F47D4 /* 991 */ + .quad 0x0000000000000000, 0x00000517CC1B7272, 0x20A94FE13ABE8FA9 /* 992 */ + .quad 0x0000000000000000, 0x00000A2F9836E4E4, 0x41529FC2757D1F53 /* 993 */ + .quad 0x0000000000000000, 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6 /* 994 */ + .quad 0x0000000000000000, 0x000028BE60DB9391, 0x054A7F09D5F47D4D /* 995 */ + .quad 0x0000000000000000, 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A /* 996 */ + .quad 0x0000000000000000, 0x0000A2F9836E4E44, 0x1529FC2757D1F534 /* 997 */ + .quad 0x0000000000000000, 0x000145F306DC9C88, 0x2A53F84EAFA3EA69 /* 998 */ + .quad 0x0000000000000000, 0x00028BE60DB93910, 0x54A7F09D5F47D4D3 /* 999 */ + .quad 0x0000000000000000, 0x000517CC1B727220, 0xA94FE13ABE8FA9A6 /* 1000 */ + .quad 0x0000000000000000, 0x000A2F9836E4E441, 0x529FC2757D1F534D /* 1001 */ + .quad 0x0000000000000000, 0x00145F306DC9C882, 0xA53F84EAFA3EA69B /* 1002 */ + .quad 0x0000000000000000, 0x0028BE60DB939105, 0x4A7F09D5F47D4D37 /* 1003 */ + .quad 0x0000000000000000, 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E /* 1004 */ + .quad 0x0000000000000000, 0x00A2F9836E4E4415, 0x29FC2757D1F534DD /* 1005 */ + .quad 0x0000000000000000, 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB /* 1006 */ + .quad 0x0000000000000000, 0x028BE60DB9391054, 0xA7F09D5F47D4D377 /* 1007 */ + .quad 0x0000000000000000, 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE /* 1008 */ + .quad 0x0000000000000000, 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC /* 1009 */ + .quad 0x0000000000000000, 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8 /* 1010 */ + .quad 0x0000000000000000, 0x28BE60DB9391054A, 0x7F09D5F47D4D3770 /* 1011 */ + .quad 0x0000000000000000, 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0 /* 1012 */ + .quad 0x0000000000000000, 0xA2F9836E4E441529, 0xFC2757D1F534DDC0 /* 1013 */ + .quad 0x0000000000000001, 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81 /* 1014 */ + .quad 0x0000000000000002, 0x8BE60DB9391054A7, 0xF09D5F47D4D37703 /* 1015 */ + .quad 0x0000000000000005, 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06 /* 1016 */ + .quad 0x000000000000000A, 0x2F9836E4E441529F, 0xC2757D1F534DDC0D /* 1017 */ + .quad 0x0000000000000014, 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B /* 1018 */ + .quad 0x0000000000000028, 0xBE60DB9391054A7F, 0x09D5F47D4D377036 /* 1019 */ + .quad 0x0000000000000051, 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D /* 1020 */ + .quad 0x00000000000000A2, 0xF9836E4E441529FC, 0x2757D1F534DDC0DB /* 1021 */ + .quad 0x0000000000000145, 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6 /* 1022 */ + .quad 0x000000000000028B, 0xE60DB9391054A7F0, 0x9D5F47D4D377036D /* 1023 */ + .quad 0x0000000000000517, 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB /* 1024 */ + .quad 0x0000000000000A2F, 0x9836E4E441529FC2, 0x757D1F534DDC0DB6 /* 1025 */ + .quad 0x000000000000145F, 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C /* 1026 */ + .quad 0x00000000000028BE, 0x60DB9391054A7F09, 0xD5F47D4D377036D8 /* 1027 */ + .quad 0x000000000000517C, 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1 /* 1028 */ + .quad 0x000000000000A2F9, 0x836E4E441529FC27, 0x57D1F534DDC0DB62 /* 1029 */ + .quad 0x00000000000145F3, 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5 /* 1030 */ + .quad 0x0000000000028BE6, 0x0DB9391054A7F09D, 0x5F47D4D377036D8A /* 1031 */ + .quad 0x00000000000517CC, 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14 /* 1032 */ + .quad 0x00000000000A2F98, 0x36E4E441529FC275, 0x7D1F534DDC0DB629 /* 1033 */ + .quad 0x0000000000145F30, 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52 /* 1034 */ + .quad 0x000000000028BE60, 0xDB9391054A7F09D5, 0xF47D4D377036D8A5 /* 1035 */ + .quad 0x0000000000517CC1, 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A /* 1036 */ + .quad 0x0000000000A2F983, 0x6E4E441529FC2757, 0xD1F534DDC0DB6295 /* 1037 */ + .quad 0x000000000145F306, 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B /* 1038 */ + .quad 0x00000000028BE60D, 0xB9391054A7F09D5F, 0x47D4D377036D8A56 /* 1039 */ + .quad 0x000000000517CC1B, 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC /* 1040 */ + .quad 0x000000000A2F9836, 0xE4E441529FC2757D, 0x1F534DDC0DB62959 /* 1041 */ + .quad 0x00000000145F306D, 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3 /* 1042 */ + .quad 0x0000000028BE60DB, 0x9391054A7F09D5F4, 0x7D4D377036D8A566 /* 1043 */ + .quad 0x00000000517CC1B7, 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC /* 1044 */ + .quad 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599 /* 1045 */ + .quad 0x0000000145F306DC, 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32 /* 1046 */ + .quad 0x000000028BE60DB9, 0x391054A7F09D5F47, 0xD4D377036D8A5664 /* 1047 */ + .quad 0x0000000517CC1B72, 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9 /* 1048 */ + .quad 0x0000000A2F9836E4, 0xE441529FC2757D1F, 0x534DDC0DB6295993 /* 1049 */ + .quad 0x000000145F306DC9, 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327 /* 1050 */ + .quad 0x00000028BE60DB93, 0x91054A7F09D5F47D, 0x4D377036D8A5664F /* 1051 */ + .quad 0x000000517CC1B727, 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E /* 1052 */ + .quad 0x000000A2F9836E4E, 0x441529FC2757D1F5, 0x34DDC0DB6295993C /* 1053 */ + .quad 0x00000145F306DC9C, 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278 /* 1054 */ + .quad 0x0000028BE60DB939, 0x1054A7F09D5F47D4, 0xD377036D8A5664F1 /* 1055 */ + .quad 0x00000517CC1B7272, 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2 /* 1056 */ + .quad 0x00000A2F9836E4E4, 0x41529FC2757D1F53, 0x4DDC0DB6295993C4 /* 1057 */ + .quad 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788 /* 1058 */ + .quad 0x000028BE60DB9391, 0x054A7F09D5F47D4D, 0x377036D8A5664F10 /* 1059 */ + .quad 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21 /* 1060 */ + .quad 0x0000A2F9836E4E44, 0x1529FC2757D1F534, 0xDDC0DB6295993C43 /* 1061 */ + .quad 0x000145F306DC9C88, 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887 /* 1062 */ + .quad 0x00028BE60DB93910, 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E /* 1063 */ + .quad 0x000517CC1B727220, 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C /* 1064 */ + .quad 0x000A2F9836E4E441, 0x529FC2757D1F534D, 0xDC0DB6295993C439 /* 1065 */ + .quad 0x00145F306DC9C882, 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872 /* 1066 */ + .quad 0x0028BE60DB939105, 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4 /* 1067 */ + .quad 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8 /* 1068 */ + .quad 0x00A2F9836E4E4415, 0x29FC2757D1F534DD, 0xC0DB6295993C4390 /* 1069 */ + .quad 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB, 0x81B6C52B32788720 /* 1070 */ + .quad 0x028BE60DB9391054, 0xA7F09D5F47D4D377, 0x036D8A5664F10E41 /* 1071 */ + .quad 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82 /* 1072 */ + .quad 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC, 0x0DB6295993C43904 /* 1073 */ + .quad 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208 /* 1074 */ + .quad 0x28BE60DB9391054A, 0x7F09D5F47D4D3770, 0x36D8A5664F10E410 /* 1075 */ + .quad 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820 /* 1076 */ + .quad 0xA2F9836E4E441529, 0xFC2757D1F534DDC0, 0xDB6295993C439041 /* 1077 */ + .quad 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81, 0xB6C52B3278872083 /* 1078 */ + .quad 0x8BE60DB9391054A7, 0xF09D5F47D4D37703, 0x6D8A5664F10E4107 /* 1079 */ + .quad 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F /* 1080 */ + .quad 0x2F9836E4E441529F, 0xC2757D1F534DDC0D, 0xB6295993C439041F /* 1081 */ + .quad 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B, 0x6C52B3278872083F /* 1082 */ + .quad 0xBE60DB9391054A7F, 0x09D5F47D4D377036, 0xD8A5664F10E4107F /* 1083 */ + .quad 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF /* 1084 */ + .quad 0xF9836E4E441529FC, 0x2757D1F534DDC0DB, 0x6295993C439041FE /* 1085 */ + .quad 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC /* 1086 */ + .quad 0xE60DB9391054A7F0, 0x9D5F47D4D377036D, 0x8A5664F10E4107F9 /* 1087 */ + .quad 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2 /* 1088 */ + .quad 0x9836E4E441529FC2, 0x757D1F534DDC0DB6, 0x295993C439041FE5 /* 1089 */ + .quad 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA /* 1090 */ + .quad 0x60DB9391054A7F09, 0xD5F47D4D377036D8, 0xA5664F10E4107F94 /* 1091 */ + .quad 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28 /* 1092 */ + .quad 0x836E4E441529FC27, 0x57D1F534DDC0DB62, 0x95993C439041FE51 /* 1093 */ + .quad 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2 /* 1094 */ + .quad 0x0DB9391054A7F09D, 0x5F47D4D377036D8A, 0x5664F10E4107F945 /* 1095 */ + .quad 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B /* 1096 */ + .quad 0x36E4E441529FC275, 0x7D1F534DDC0DB629, 0x5993C439041FE516 /* 1097 */ + .quad 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C /* 1098 */ + .quad 0xDB9391054A7F09D5, 0xF47D4D377036D8A5, 0x664F10E4107F9458 /* 1099 */ + .quad 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1 /* 1100 */ + .quad 0x6E4E441529FC2757, 0xD1F534DDC0DB6295, 0x993C439041FE5163 /* 1101 */ + .quad 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7 /* 1102 */ + .quad 0xB9391054A7F09D5F, 0x47D4D377036D8A56, 0x64F10E4107F9458E /* 1103 */ + .quad 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D /* 1104 */ + .quad 0xE4E441529FC2757D, 0x1F534DDC0DB62959, 0x93C439041FE5163A /* 1105 */ + .quad 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3, 0x278872083FCA2C75 /* 1106 */ + .quad 0x9391054A7F09D5F4, 0x7D4D377036D8A566, 0x4F10E4107F9458EA /* 1107 */ + .quad 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5 /* 1108 */ + .quad 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB /* 1109 */ + .quad 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32, 0x78872083FCA2C757 /* 1110 */ + .quad 0x391054A7F09D5F47, 0xD4D377036D8A5664, 0xF10E4107F9458EAF /* 1111 */ + .quad 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E /* 1112 */ + .quad 0xE441529FC2757D1F, 0x534DDC0DB6295993, 0xC439041FE5163ABD /* 1113 */ + .quad 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327, 0x8872083FCA2C757B /* 1114 */ + .quad 0x91054A7F09D5F47D, 0x4D377036D8A5664F, 0x10E4107F9458EAF7 /* 1115 */ + .quad 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF /* 1116 */ + .quad 0x441529FC2757D1F5, 0x34DDC0DB6295993C, 0x439041FE5163ABDE /* 1117 */ + .quad 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278, 0x872083FCA2C757BD /* 1118 */ + .quad 0x1054A7F09D5F47D4, 0xD377036D8A5664F1, 0x0E4107F9458EAF7A /* 1119 */ + .quad 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5 /* 1120 */ + .quad 0x41529FC2757D1F53, 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB /* 1121 */ + .quad 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788, 0x72083FCA2C757BD7 /* 1122 */ + .quad 0x054A7F09D5F47D4D, 0x377036D8A5664F10, 0xE4107F9458EAF7AE /* 1123 */ + .quad 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D /* 1124 */ + .quad 0x1529FC2757D1F534, 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB /* 1125 */ + .quad 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887, 0x2083FCA2C757BD77 /* 1126 */ + .quad 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E, 0x4107F9458EAF7AEF /* 1127 */ + .quad 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE /* 1128 */ + .quad 0x529FC2757D1F534D, 0xDC0DB6295993C439, 0x041FE5163ABDEBBC /* 1129 */ + .quad 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872, 0x083FCA2C757BD778 /* 1130 */ + .quad 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1 /* 1131 */ + .quad 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2 /* 1132 */ + .quad 0x29FC2757D1F534DD, 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5 /* 1133 */ + .quad 0x53F84EAFA3EA69BB, 0x81B6C52B32788720, 0x83FCA2C757BD778A /* 1134 */ + .quad 0xA7F09D5F47D4D377, 0x036D8A5664F10E41, 0x07F9458EAF7AEF15 /* 1135 */ + .quad 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B /* 1136 */ + .quad 0x9FC2757D1F534DDC, 0x0DB6295993C43904, 0x1FE5163ABDEBBC56 /* 1137 */ + .quad 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208, 0x3FCA2C757BD778AC /* 1138 */ + .quad 0x7F09D5F47D4D3770, 0x36D8A5664F10E410, 0x7F9458EAF7AEF158 /* 1139 */ + .quad 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0 /* 1140 */ + .quad 0xFC2757D1F534DDC0, 0xDB6295993C439041, 0xFE5163ABDEBBC561 /* 1141 */ + .quad 0xF84EAFA3EA69BB81, 0xB6C52B3278872083, 0xFCA2C757BD778AC3 /* 1142 */ + .quad 0xF09D5F47D4D37703, 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586 /* 1143 */ + .quad 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D /* 1144 */ + .quad 0xC2757D1F534DDC0D, 0xB6295993C439041F, 0xE5163ABDEBBC561B /* 1145 */ + .quad 0x84EAFA3EA69BB81B, 0x6C52B3278872083F, 0xCA2C757BD778AC36 /* 1146 */ + .quad 0x09D5F47D4D377036, 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D /* 1147 */ + .quad 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB /* 1148 */ + .quad 0x2757D1F534DDC0DB, 0x6295993C439041FE, 0x5163ABDEBBC561B7 /* 1149 */ + .quad 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC, 0xA2C757BD778AC36E /* 1150 */ + .quad 0x9D5F47D4D377036D, 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC /* 1151 */ + .quad 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9 /* 1152 */ + .quad 0x757D1F534DDC0DB6, 0x295993C439041FE5, 0x163ABDEBBC561B72 /* 1153 */ + .quad 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA, 0x2C757BD778AC36E4 /* 1154 */ + .quad 0xD5F47D4D377036D8, 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9 /* 1155 */ + .quad 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92 /* 1156 */ + .quad 0x57D1F534DDC0DB62, 0x95993C439041FE51, 0x63ABDEBBC561B724 /* 1157 */ + .quad 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2, 0xC757BD778AC36E48 /* 1158 */ + .quad 0x5F47D4D377036D8A, 0x5664F10E4107F945, 0x8EAF7AEF1586DC91 /* 1159 */ + .quad 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923 /* 1160 */ + .quad 0x7D1F534DDC0DB629, 0x5993C439041FE516, 0x3ABDEBBC561B7246 /* 1161 */ + .quad 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C, 0x757BD778AC36E48D /* 1162 */ + .quad 0xF47D4D377036D8A5, 0x664F10E4107F9458, 0xEAF7AEF1586DC91B /* 1163 */ + .quad 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237 /* 1164 */ + .quad 0xD1F534DDC0DB6295, 0x993C439041FE5163, 0xABDEBBC561B7246E /* 1165 */ + .quad 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7, 0x57BD778AC36E48DC /* 1166 */ + .quad 0x47D4D377036D8A56, 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8 /* 1167 */ + .quad 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371 /* 1168 */ + .quad 0x1F534DDC0DB62959, 0x93C439041FE5163A, 0xBDEBBC561B7246E3 /* 1169 */ + .quad 0x3EA69BB81B6C52B3, 0x278872083FCA2C75, 0x7BD778AC36E48DC7 /* 1170 */ + .quad 0x7D4D377036D8A566, 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E /* 1171 */ + .quad 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D /* 1172 */ + .quad 0xF534DDC0DB629599, 0x3C439041FE5163AB, 0xDEBBC561B7246E3A /* 1173 */ + .quad 0xEA69BB81B6C52B32, 0x78872083FCA2C757, 0xBD778AC36E48DC74 /* 1174 */ + .quad 0xD4D377036D8A5664, 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9 /* 1175 */ + .quad 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2 /* 1176 */ + .quad 0x534DDC0DB6295993, 0xC439041FE5163ABD, 0xEBBC561B7246E3A4 /* 1177 */ + .quad 0xA69BB81B6C52B327, 0x8872083FCA2C757B, 0xD778AC36E48DC748 /* 1178 */ + .quad 0x4D377036D8A5664F, 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90 /* 1179 */ + .quad 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21 /* 1180 */ + .quad 0x34DDC0DB6295993C, 0x439041FE5163ABDE, 0xBBC561B7246E3A42 /* 1181 */ + .quad 0x69BB81B6C52B3278, 0x872083FCA2C757BD, 0x778AC36E48DC7484 /* 1182 */ + .quad 0xD377036D8A5664F1, 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909 /* 1183 */ + .quad 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212 /* 1184 */ + .quad 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB, 0xBC561B7246E3A424 /* 1185 */ + .quad 0x9BB81B6C52B32788, 0x72083FCA2C757BD7, 0x78AC36E48DC74849 /* 1186 */ + .quad 0x377036D8A5664F10, 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093 /* 1187 */ + .quad 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126 /* 1188 */ + .quad 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB, 0xC561B7246E3A424D /* 1189 */ + .quad 0xBB81B6C52B327887, 0x2083FCA2C757BD77, 0x8AC36E48DC74849B /* 1190 */ + .quad 0x77036D8A5664F10E, 0x4107F9458EAF7AEF, 0x1586DC91B8E90937 /* 1191 */ + .quad 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E /* 1192 */ + .quad 0xDC0DB6295993C439, 0x041FE5163ABDEBBC, 0x561B7246E3A424DD /* 1193 */ + .quad 0xB81B6C52B3278872, 0x083FCA2C757BD778, 0xAC36E48DC74849BA /* 1194 */ + .quad 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1, 0x586DC91B8E909374 /* 1195 */ + .quad 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9 /* 1196 */ + .quad 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2 /* 1197 */ + .quad 0x81B6C52B32788720, 0x83FCA2C757BD778A, 0xC36E48DC74849BA5 /* 1198 */ + .quad 0x036D8A5664F10E41, 0x07F9458EAF7AEF15, 0x86DC91B8E909374B /* 1199 */ + .quad 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97 /* 1200 */ + .quad 0x0DB6295993C43904, 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E /* 1201 */ + .quad 0x1B6C52B327887208, 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C /* 1202 */ + .quad 0x36D8A5664F10E410, 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8 /* 1203 */ + .quad 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970 /* 1204 */ + .quad 0xDB6295993C439041, 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0 /* 1205 */ + .quad 0xB6C52B3278872083, 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0 /* 1206 */ + .quad 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586, 0xDC91B8E909374B80 /* 1207 */ + .quad 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700 /* 1208 */ + .quad 0xB6295993C439041F, 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00 /* 1209 */ + .quad 0x6C52B3278872083F, 0xCA2C757BD778AC36, 0xE48DC74849BA5C00 /* 1210 */ + .quad 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D, 0xC91B8E909374B801 /* 1211 */ + .quad 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003 /* 1212 */ + .quad 0x6295993C439041FE, 0x5163ABDEBBC561B7, 0x246E3A424DD2E006 /* 1213 */ + .quad 0xC52B3278872083FC, 0xA2C757BD778AC36E, 0x48DC74849BA5C00C /* 1214 */ + .quad 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC, 0x91B8E909374B8019 /* 1215 */ + .quad 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032 /* 1216 */ + .quad 0x295993C439041FE5, 0x163ABDEBBC561B72, 0x46E3A424DD2E0064 /* 1217 */ + .quad 0x52B3278872083FCA, 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9 /* 1218 */ + .quad 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9, 0x1B8E909374B80192 /* 1219 */ + .quad 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324 /* 1220 */ + .quad 0x95993C439041FE51, 0x63ABDEBBC561B724, 0x6E3A424DD2E00649 /* 1221 */ + .quad 0x2B3278872083FCA2, 0xC757BD778AC36E48, 0xDC74849BA5C00C92 /* 1222 */ + .quad 0x5664F10E4107F945, 0x8EAF7AEF1586DC91, 0xB8E909374B801924 /* 1223 */ + .quad 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923, 0x71D2126E97003249 /* 1224 */ + .quad 0x5993C439041FE516, 0x3ABDEBBC561B7246, 0xE3A424DD2E006492 /* 1225 */ + .quad 0xB3278872083FCA2C, 0x757BD778AC36E48D, 0xC74849BA5C00C925 /* 1226 */ + .quad 0x664F10E4107F9458, 0xEAF7AEF1586DC91B, 0x8E909374B801924B /* 1227 */ + .quad 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237, 0x1D2126E970032497 /* 1228 */ + .quad 0x993C439041FE5163, 0xABDEBBC561B7246E, 0x3A424DD2E006492E /* 1229 */ + .quad 0x3278872083FCA2C7, 0x57BD778AC36E48DC, 0x74849BA5C00C925D /* 1230 */ + .quad 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8, 0xE909374B801924BB /* 1231 */ + .quad 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371, 0xD2126E9700324977 /* 1232 */ + .quad 0x93C439041FE5163A, 0xBDEBBC561B7246E3, 0xA424DD2E006492EE /* 1233 */ + .quad 0x278872083FCA2C75, 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD /* 1234 */ + .quad 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E, 0x909374B801924BBA /* 1235 */ + .quad 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D, 0x2126E97003249775 /* 1236 */ + .quad 0x3C439041FE5163AB, 0xDEBBC561B7246E3A, 0x424DD2E006492EEA /* 1237 */ + .quad 0x78872083FCA2C757, 0xBD778AC36E48DC74, 0x849BA5C00C925DD4 /* 1238 */ + .quad 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9, 0x09374B801924BBA8 /* 1239 */ + .quad 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2, 0x126E970032497750 /* 1240 */ + .quad 0xC439041FE5163ABD, 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0 /* 1241 */ + .quad 0x8872083FCA2C757B, 0xD778AC36E48DC748, 0x49BA5C00C925DD41 /* 1242 */ + .quad 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90, 0x9374B801924BBA82 /* 1243 */ + .quad 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21, 0x26E9700324977504 /* 1244 */ + .quad 0x439041FE5163ABDE, 0xBBC561B7246E3A42, 0x4DD2E006492EEA09 /* 1245 */ + .quad 0x872083FCA2C757BD, 0x778AC36E48DC7484, 0x9BA5C00C925DD413 /* 1246 */ + .quad 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909, 0x374B801924BBA827 /* 1247 */ + .quad 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212, 0x6E9700324977504E /* 1248 */ + .quad 0x39041FE5163ABDEB, 0xBC561B7246E3A424, 0xDD2E006492EEA09D /* 1249 */ + .quad 0x72083FCA2C757BD7, 0x78AC36E48DC74849, 0xBA5C00C925DD413A /* 1250 */ + .quad 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093, 0x74B801924BBA8274 /* 1251 */ + .quad 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126, 0xE9700324977504E8 /* 1252 */ + .quad 0x9041FE5163ABDEBB, 0xC561B7246E3A424D, 0xD2E006492EEA09D1 /* 1253 */ + .quad 0x2083FCA2C757BD77, 0x8AC36E48DC74849B, 0xA5C00C925DD413A3 /* 1254 */ + .quad 0x4107F9458EAF7AEF, 0x1586DC91B8E90937, 0x4B801924BBA82746 /* 1255 */ + .quad 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E, 0x9700324977504E8C /* 1256 */ + .quad 0x041FE5163ABDEBBC, 0x561B7246E3A424DD, 0x2E006492EEA09D19 /* 1257 */ + .quad 0x083FCA2C757BD778, 0xAC36E48DC74849BA, 0x5C00C925DD413A32 /* 1258 */ + .quad 0x107F9458EAF7AEF1, 0x586DC91B8E909374, 0xB801924BBA827464 /* 1259 */ + .quad 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9, 0x700324977504E8C9 /* 1260 */ + .quad 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2, 0xE006492EEA09D192 /* 1261 */ + .quad 0x83FCA2C757BD778A, 0xC36E48DC74849BA5, 0xC00C925DD413A324 /* 1262 */ + .quad 0x07F9458EAF7AEF15, 0x86DC91B8E909374B, 0x801924BBA8274648 /* 1263 */ + .quad 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97, 0x00324977504E8C90 /* 1264 */ + .quad 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E, 0x006492EEA09D1921 /* 1265 */ + .quad 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C, 0x00C925DD413A3243 /* 1266 */ + .quad 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8, 0x01924BBA82746487 /* 1267 */ + .quad 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970, 0x0324977504E8C90E /* 1268 */ + .quad 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0, 0x06492EEA09D1921C /* 1269 */ + .quad 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0, 0x0C925DD413A32439 /* 1270 */ + .quad 0xF9458EAF7AEF1586, 0xDC91B8E909374B80, 0x1924BBA827464873 /* 1271 */ + .quad 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700, 0x324977504E8C90E7 /* 1272 */ + .quad 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00, 0x6492EEA09D1921CF /* 1273 */ + .quad 0xCA2C757BD778AC36, 0xE48DC74849BA5C00, 0xC925DD413A32439F /* 1274 */ + .quad 0x9458EAF7AEF1586D, 0xC91B8E909374B801, 0x924BBA827464873F /* 1275 */ + .quad 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003, 0x24977504E8C90E7F /* 1276 */ + .quad 0x5163ABDEBBC561B7, 0x246E3A424DD2E006, 0x492EEA09D1921CFE /* 1277 */ + .quad 0xA2C757BD778AC36E, 0x48DC74849BA5C00C, 0x925DD413A32439FC /* 1278 */ + .quad 0x458EAF7AEF1586DC, 0x91B8E909374B8019, 0x24BBA827464873F8 /* 1279 */ + .quad 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032, 0x4977504E8C90E7F0 /* 1280 */ + .quad 0x163ABDEBBC561B72, 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1 /* 1281 */ + .quad 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9, 0x25DD413A32439FC3 /* 1282 */ + .quad 0x58EAF7AEF1586DC9, 0x1B8E909374B80192, 0x4BBA827464873F87 /* 1283 */ + .quad 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324, 0x977504E8C90E7F0E /* 1284 */ + .quad 0x63ABDEBBC561B724, 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D /* 1285 */ + .quad 0xC757BD778AC36E48, 0xDC74849BA5C00C92, 0x5DD413A32439FC3B /* 1286 */ + .quad 0x8EAF7AEF1586DC91, 0xB8E909374B801924, 0xBBA827464873F877 /* 1287 */ + .quad 0x1D5EF5DE2B0DB923, 0x71D2126E97003249, 0x77504E8C90E7F0EF /* 1288 */ + .quad 0x3ABDEBBC561B7246, 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE /* 1289 */ + .quad 0x757BD778AC36E48D, 0xC74849BA5C00C925, 0xDD413A32439FC3BD /* 1290 */ + .quad 0xEAF7AEF1586DC91B, 0x8E909374B801924B, 0xBA827464873F877A /* 1291 */ + .quad 0xD5EF5DE2B0DB9237, 0x1D2126E970032497, 0x7504E8C90E7F0EF5 /* 1292 */ + .quad 0xABDEBBC561B7246E, 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB /* 1293 */ + .quad 0x57BD778AC36E48DC, 0x74849BA5C00C925D, 0xD413A32439FC3BD6 /* 1294 */ + .quad 0xAF7AEF1586DC91B8, 0xE909374B801924BB, 0xA827464873F877AC /* 1295 */ + .quad 0x5EF5DE2B0DB92371, 0xD2126E9700324977, 0x504E8C90E7F0EF58 /* 1296 */ + .quad 0xBDEBBC561B7246E3, 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1 /* 1297 */ + .quad 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD, 0x413A32439FC3BD63 /* 1298 */ + .quad 0xF7AEF1586DC91B8E, 0x909374B801924BBA, 0x827464873F877AC7 /* 1299 */ + .quad 0xEF5DE2B0DB92371D, 0x2126E97003249775, 0x04E8C90E7F0EF58E /* 1300 */ + .quad 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C /* 1301 */ + .quad 0xBD778AC36E48DC74, 0x849BA5C00C925DD4, 0x13A32439FC3BD639 /* 1302 */ + .quad 0x7AEF1586DC91B8E9, 0x09374B801924BBA8, 0x27464873F877AC72 /* 1303 */ + .quad 0xF5DE2B0DB92371D2, 0x126E970032497750, 0x4E8C90E7F0EF58E5 /* 1304 */ + .quad 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB /* 1305 */ + .quad 0xD778AC36E48DC748, 0x49BA5C00C925DD41, 0x3A32439FC3BD6396 /* 1306 */ + .quad 0xAEF1586DC91B8E90, 0x9374B801924BBA82, 0x7464873F877AC72C /* 1307 */ + .quad 0x5DE2B0DB92371D21, 0x26E9700324977504, 0xE8C90E7F0EF58E58 /* 1308 */ + .quad 0xBBC561B7246E3A42, 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1 /* 1309 */ + .quad 0x778AC36E48DC7484, 0x9BA5C00C925DD413, 0xA32439FC3BD63962 /* 1310 */ + .quad 0xEF1586DC91B8E909, 0x374B801924BBA827, 0x464873F877AC72C4 /* 1311 */ + .quad 0xDE2B0DB92371D212, 0x6E9700324977504E, 0x8C90E7F0EF58E589 /* 1312 */ + .quad 0xBC561B7246E3A424, 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12 /* 1313 */ + .quad 0x78AC36E48DC74849, 0xBA5C00C925DD413A, 0x32439FC3BD639625 /* 1314 */ + .quad 0xF1586DC91B8E9093, 0x74B801924BBA8274, 0x64873F877AC72C4A /* 1315 */ + .quad 0xE2B0DB92371D2126, 0xE9700324977504E8, 0xC90E7F0EF58E5894 /* 1316 */ + .quad 0xC561B7246E3A424D, 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129 /* 1317 */ + .quad 0x8AC36E48DC74849B, 0xA5C00C925DD413A3, 0x2439FC3BD6396253 /* 1318 */ + .quad 0x1586DC91B8E90937, 0x4B801924BBA82746, 0x4873F877AC72C4A6 /* 1319 */ + .quad 0x2B0DB92371D2126E, 0x9700324977504E8C, 0x90E7F0EF58E5894D /* 1320 */ + .quad 0x561B7246E3A424DD, 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A /* 1321 */ + .quad 0xAC36E48DC74849BA, 0x5C00C925DD413A32, 0x439FC3BD63962534 /* 1322 */ + .quad 0x586DC91B8E909374, 0xB801924BBA827464, 0x873F877AC72C4A69 /* 1323 */ + .quad 0xB0DB92371D2126E9, 0x700324977504E8C9, 0x0E7F0EF58E5894D3 /* 1324 */ + .quad 0x61B7246E3A424DD2, 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7 /* 1325 */ + .quad 0xC36E48DC74849BA5, 0xC00C925DD413A324, 0x39FC3BD63962534E /* 1326 */ + .quad 0x86DC91B8E909374B, 0x801924BBA8274648, 0x73F877AC72C4A69C /* 1327 */ + .quad 0x0DB92371D2126E97, 0x00324977504E8C90, 0xE7F0EF58E5894D39 /* 1328 */ + .quad 0x1B7246E3A424DD2E, 0x006492EEA09D1921, 0xCFE1DEB1CB129A73 /* 1329 */ + .quad 0x36E48DC74849BA5C, 0x00C925DD413A3243, 0x9FC3BD63962534E7 /* 1330 */ + .quad 0x6DC91B8E909374B8, 0x01924BBA82746487, 0x3F877AC72C4A69CF /* 1331 */ + .quad 0xDB92371D2126E970, 0x0324977504E8C90E, 0x7F0EF58E5894D39F /* 1332 */ + .quad 0xB7246E3A424DD2E0, 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E /* 1333 */ + .quad 0x6E48DC74849BA5C0, 0x0C925DD413A32439, 0xFC3BD63962534E7D /* 1334 */ + .quad 0xDC91B8E909374B80, 0x1924BBA827464873, 0xF877AC72C4A69CFB /* 1335 */ + .quad 0xB92371D2126E9700, 0x324977504E8C90E7, 0xF0EF58E5894D39F7 /* 1336 */ + .quad 0x7246E3A424DD2E00, 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE /* 1337 */ + .quad 0xE48DC74849BA5C00, 0xC925DD413A32439F, 0xC3BD63962534E7DD /* 1338 */ + .quad 0xC91B8E909374B801, 0x924BBA827464873F, 0x877AC72C4A69CFBA /* 1339 */ + .quad 0x92371D2126E97003, 0x24977504E8C90E7F, 0x0EF58E5894D39F74 /* 1340 */ + .quad 0x246E3A424DD2E006, 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8 /* 1341 */ + .quad 0x48DC74849BA5C00C, 0x925DD413A32439FC, 0x3BD63962534E7DD1 /* 1342 */ + .quad 0x91B8E909374B8019, 0x24BBA827464873F8, 0x77AC72C4A69CFBA2 /* 1343 */ + .quad 0x2371D2126E970032, 0x4977504E8C90E7F0, 0xEF58E5894D39F744 /* 1344 */ + .quad 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88 /* 1345 */ + .quad 0x8DC74849BA5C00C9, 0x25DD413A32439FC3, 0xBD63962534E7DD10 /* 1346 */ + .quad 0x1B8E909374B80192, 0x4BBA827464873F87, 0x7AC72C4A69CFBA20 /* 1347 */ + .quad 0x371D2126E9700324, 0x977504E8C90E7F0E, 0xF58E5894D39F7441 /* 1348 */ + .quad 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882 /* 1349 */ + .quad 0xDC74849BA5C00C92, 0x5DD413A32439FC3B, 0xD63962534E7DD104 /* 1350 */ + .quad 0xB8E909374B801924, 0xBBA827464873F877, 0xAC72C4A69CFBA208 /* 1351 */ + .quad 0x71D2126E97003249, 0x77504E8C90E7F0EF, 0x58E5894D39F74411 /* 1352 */ + .quad 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823 /* 1353 */ + .quad 0xC74849BA5C00C925, 0xDD413A32439FC3BD, 0x63962534E7DD1046 /* 1354 */ + .quad 0x8E909374B801924B, 0xBA827464873F877A, 0xC72C4A69CFBA208D /* 1355 */ + .quad 0x1D2126E970032497, 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A /* 1356 */ + .quad 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235 /* 1357 */ + .quad 0x74849BA5C00C925D, 0xD413A32439FC3BD6, 0x3962534E7DD1046B /* 1358 */ + .quad 0xE909374B801924BB, 0xA827464873F877AC, 0x72C4A69CFBA208D7 /* 1359 */ + .quad 0xD2126E9700324977, 0x504E8C90E7F0EF58, 0xE5894D39F74411AF /* 1360 */ + .quad 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F /* 1361 */ + .quad 0x4849BA5C00C925DD, 0x413A32439FC3BD63, 0x962534E7DD1046BE /* 1362 */ + .quad 0x909374B801924BBA, 0x827464873F877AC7, 0x2C4A69CFBA208D7D /* 1363 */ + .quad 0x2126E97003249775, 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA /* 1364 */ + .quad 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5 /* 1365 */ + .quad 0x849BA5C00C925DD4, 0x13A32439FC3BD639, 0x62534E7DD1046BEA /* 1366 */ + .quad 0x09374B801924BBA8, 0x27464873F877AC72, 0xC4A69CFBA208D7D4 /* 1367 */ + .quad 0x126E970032497750, 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9 /* 1368 */ + .quad 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52 /* 1369 */ + .quad 0x49BA5C00C925DD41, 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5 /* 1370 */ + .quad 0x9374B801924BBA82, 0x7464873F877AC72C, 0x4A69CFBA208D7D4B /* 1371 */ + .quad 0x26E9700324977504, 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97 /* 1372 */ + .quad 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E /* 1373 */ + .quad 0x9BA5C00C925DD413, 0xA32439FC3BD63962, 0x534E7DD1046BEA5D /* 1374 */ + .quad 0x374B801924BBA827, 0x464873F877AC72C4, 0xA69CFBA208D7D4BA /* 1375 */ + .quad 0x6E9700324977504E, 0x8C90E7F0EF58E589, 0x4D39F74411AFA975 /* 1376 */ + .quad 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB /* 1377 */ + .quad 0xBA5C00C925DD413A, 0x32439FC3BD639625, 0x34E7DD1046BEA5D7 /* 1378 */ + .quad 0x74B801924BBA8274, 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE /* 1379 */ + .quad 0xE9700324977504E8, 0xC90E7F0EF58E5894, 0xD39F74411AFA975D /* 1380 */ + .quad 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB /* 1381 */ + .quad 0xA5C00C925DD413A3, 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76 /* 1382 */ + .quad 0x4B801924BBA82746, 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED /* 1383 */ + .quad 0x9700324977504E8C, 0x90E7F0EF58E5894D, 0x39F74411AFA975DA /* 1384 */ + .quad 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4 /* 1385 */ + .quad 0x5C00C925DD413A32, 0x439FC3BD63962534, 0xE7DD1046BEA5D768 /* 1386 */ + .quad 0xB801924BBA827464, 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1 /* 1387 */ + .quad 0x700324977504E8C9, 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2 /* 1388 */ + .quad 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44 /* 1389 */ + .quad 0xC00C925DD413A324, 0x39FC3BD63962534E, 0x7DD1046BEA5D7689 /* 1390 */ + .quad 0x801924BBA8274648, 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12 /* 1391 */ + .quad 0x00324977504E8C90, 0xE7F0EF58E5894D39, 0xF74411AFA975DA24 /* 1392 */ + .quad 0x006492EEA09D1921, 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448 /* 1393 */ + .quad 0x00C925DD413A3243, 0x9FC3BD63962534E7, 0xDD1046BEA5D76890 /* 1394 */ + .quad 0x01924BBA82746487, 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121 /* 1395 */ + .quad 0x0324977504E8C90E, 0x7F0EF58E5894D39F, 0x74411AFA975DA242 /* 1396 */ + .quad 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484 /* 1397 */ + .quad 0x0C925DD413A32439, 0xFC3BD63962534E7D, 0xD1046BEA5D768909 /* 1398 */ + .quad 0x1924BBA827464873, 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213 /* 1399 */ + .quad 0x324977504E8C90E7, 0xF0EF58E5894D39F7, 0x4411AFA975DA2427 /* 1400 */ + .quad 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E /* 1401 */ + .quad 0xC925DD413A32439F, 0xC3BD63962534E7DD, 0x1046BEA5D768909D /* 1402 */ + .quad 0x924BBA827464873F, 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A /* 1403 */ + .quad 0x24977504E8C90E7F, 0x0EF58E5894D39F74, 0x411AFA975DA24274 /* 1404 */ + .quad 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9 /* 1405 */ + .quad 0x925DD413A32439FC, 0x3BD63962534E7DD1, 0x046BEA5D768909D3 /* 1406 */ + .quad 0x24BBA827464873F8, 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6 /* 1407 */ + .quad 0x4977504E8C90E7F0, 0xEF58E5894D39F744, 0x11AFA975DA24274C /* 1408 */ + .quad 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88, 0x235F52EBB4484E99 /* 1409 */ + .quad 0x25DD413A32439FC3, 0xBD63962534E7DD10, 0x46BEA5D768909D33 /* 1410 */ + .quad 0x4BBA827464873F87, 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67 /* 1411 */ + .quad 0x977504E8C90E7F0E, 0xF58E5894D39F7441, 0x1AFA975DA24274CE /* 1412 */ + .quad 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882, 0x35F52EBB4484E99C /* 1413 */ + .quad 0x5DD413A32439FC3B, 0xD63962534E7DD104, 0x6BEA5D768909D338 /* 1414 */ + .quad 0xBBA827464873F877, 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671 /* 1415 */ + .quad 0x77504E8C90E7F0EF, 0x58E5894D39F74411, 0xAFA975DA24274CE3 /* 1416 */ + .quad 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7 /* 1417 */ + .quad 0xDD413A32439FC3BD, 0x63962534E7DD1046, 0xBEA5D768909D338E /* 1418 */ + .quad 0xBA827464873F877A, 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C /* 1419 */ + .quad 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A, 0xFA975DA24274CE38 /* 1420 */ + .quad 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235, 0xF52EBB4484E99C70 /* 1421 */ + .quad 0xD413A32439FC3BD6, 0x3962534E7DD1046B, 0xEA5D768909D338E0 /* 1422 */ + .quad 0xA827464873F877AC, 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0 /* 1423 */ + .quad 0x504E8C90E7F0EF58, 0xE5894D39F74411AF, 0xA975DA24274CE381 /* 1424 */ + .quad 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F, 0x52EBB4484E99C702 /* 1425 */ + .quad 0x413A32439FC3BD63, 0x962534E7DD1046BE, 0xA5D768909D338E04 /* 1426 */ + .quad 0x827464873F877AC7, 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09 /* 1427 */ + .quad 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA, 0x975DA24274CE3813 /* 1428 */ + .quad 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, 0x2EBB4484E99C7026 /* 1429 */ + .quad 0x13A32439FC3BD639, 0x62534E7DD1046BEA, 0x5D768909D338E04D /* 1430 */ + .quad 0x27464873F877AC72, 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A /* 1431 */ + .quad 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9, 0x75DA24274CE38135 /* 1432 */ + .quad 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52, 0xEBB4484E99C7026B /* 1433 */ + .quad 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5, 0xD768909D338E04D6 /* 1434 */ + .quad 0x7464873F877AC72C, 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD /* 1435 */ + .quad 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97, 0x5DA24274CE38135A /* 1436 */ + .quad 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E, 0xBB4484E99C7026B4 /* 1437 */ + .quad 0xA32439FC3BD63962, 0x534E7DD1046BEA5D, 0x768909D338E04D68 /* 1438 */ + .quad 0x464873F877AC72C4, 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1 /* 1439 */ + .quad 0x8C90E7F0EF58E589, 0x4D39F74411AFA975, 0xDA24274CE38135A2 /* 1440 */ + .quad 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB, 0xB4484E99C7026B45 /* 1441 */ + .quad 0x32439FC3BD639625, 0x34E7DD1046BEA5D7, 0x68909D338E04D68B /* 1442 */ + .quad 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17 /* 1443 */ + .quad 0xC90E7F0EF58E5894, 0xD39F74411AFA975D, 0xA24274CE38135A2F /* 1444 */ + .quad 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB, 0x4484E99C7026B45F /* 1445 */ + .quad 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE /* 1446 */ + .quad 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D /* 1447 */ + .quad 0x90E7F0EF58E5894D, 0x39F74411AFA975DA, 0x24274CE38135A2FB /* 1448 */ + .quad 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4, 0x484E99C7026B45F7 /* 1449 */ + .quad 0x439FC3BD63962534, 0xE7DD1046BEA5D768, 0x909D338E04D68BEF /* 1450 */ + .quad 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF /* 1451 */ + .quad 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2, 0x4274CE38135A2FBF /* 1452 */ + .quad 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44, 0x84E99C7026B45F7E /* 1453 */ + .quad 0x39FC3BD63962534E, 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC /* 1454 */ + .quad 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9 /* 1455 */ + .quad 0xE7F0EF58E5894D39, 0xF74411AFA975DA24, 0x274CE38135A2FBF2 /* 1456 */ + .quad 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448, 0x4E99C7026B45F7E4 /* 1457 */ + .quad 0x9FC3BD63962534E7, 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8 /* 1458 */ + .quad 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121, 0x3A671C09AD17DF90 /* 1459 */ + .quad 0x7F0EF58E5894D39F, 0x74411AFA975DA242, 0x74CE38135A2FBF20 /* 1460 */ + .quad 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484, 0xE99C7026B45F7E41 /* 1461 */ + .quad 0xFC3BD63962534E7D, 0xD1046BEA5D768909, 0xD338E04D68BEFC82 /* 1462 */ + .quad 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213, 0xA671C09AD17DF904 /* 1463 */ + .quad 0xF0EF58E5894D39F7, 0x4411AFA975DA2427, 0x4CE38135A2FBF209 /* 1464 */ + .quad 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E, 0x99C7026B45F7E413 /* 1465 */ + .quad 0xC3BD63962534E7DD, 0x1046BEA5D768909D, 0x338E04D68BEFC827 /* 1466 */ + .quad 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A, 0x671C09AD17DF904E /* 1467 */ + .quad 0x0EF58E5894D39F74, 0x411AFA975DA24274, 0xCE38135A2FBF209C /* 1468 */ + .quad 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9, 0x9C7026B45F7E4139 /* 1469 */ + .quad 0x3BD63962534E7DD1, 0x046BEA5D768909D3, 0x38E04D68BEFC8273 /* 1470 */ + .quad 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6 /* 1471 */ + .quad 0xEF58E5894D39F744, 0x11AFA975DA24274C, 0xE38135A2FBF209CC /* 1472 */ + .quad 0xDEB1CB129A73EE88, 0x235F52EBB4484E99, 0xC7026B45F7E41399 /* 1473 */ + .quad 0xBD63962534E7DD10, 0x46BEA5D768909D33, 0x8E04D68BEFC82732 /* 1474 */ + .quad 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64 /* 1475 */ + .quad 0xF58E5894D39F7441, 0x1AFA975DA24274CE, 0x38135A2FBF209CC8 /* 1476 */ + .quad 0xEB1CB129A73EE882, 0x35F52EBB4484E99C, 0x7026B45F7E413991 /* 1477 */ + .quad 0xD63962534E7DD104, 0x6BEA5D768909D338, 0xE04D68BEFC827323 /* 1478 */ + .quad 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671, 0xC09AD17DF904E647 /* 1479 */ + .quad 0x58E5894D39F74411, 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E /* 1480 */ + .quad 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7, 0x026B45F7E413991D /* 1481 */ + .quad 0x63962534E7DD1046, 0xBEA5D768909D338E, 0x04D68BEFC827323A /* 1482 */ + .quad 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C, 0x09AD17DF904E6475 /* 1483 */ + .quad 0x8E5894D39F74411A, 0xFA975DA24274CE38, 0x135A2FBF209CC8EB /* 1484 */ + .quad 0x1CB129A73EE88235, 0xF52EBB4484E99C70, 0x26B45F7E413991D6 /* 1485 */ + .quad 0x3962534E7DD1046B, 0xEA5D768909D338E0, 0x4D68BEFC827323AC /* 1486 */ + .quad 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0, 0x9AD17DF904E64758 /* 1487 */ + .quad 0xE5894D39F74411AF, 0xA975DA24274CE381, 0x35A2FBF209CC8EB1 /* 1488 */ + .quad 0xCB129A73EE88235F, 0x52EBB4484E99C702, 0x6B45F7E413991D63 /* 1489 */ + .quad 0x962534E7DD1046BE, 0xA5D768909D338E04, 0xD68BEFC827323AC7 /* 1490 */ + .quad 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09, 0xAD17DF904E64758E /* 1491 */ + .quad 0x5894D39F74411AFA, 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C /* 1492 */ + .quad 0xB129A73EE88235F5, 0x2EBB4484E99C7026, 0xB45F7E413991D639 /* 1493 */ + .quad 0x62534E7DD1046BEA, 0x5D768909D338E04D, 0x68BEFC827323AC73 /* 1494 */ + .quad 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A, 0xD17DF904E64758E6 /* 1495 */ + .quad 0x894D39F74411AFA9, 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC /* 1496 */ + .quad 0x129A73EE88235F52, 0xEBB4484E99C7026B, 0x45F7E413991D6398 /* 1497 */ + .quad 0x2534E7DD1046BEA5, 0xD768909D338E04D6, 0x8BEFC827323AC730 /* 1498 */ + .quad 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD, 0x17DF904E64758E60 /* 1499 */ + .quad 0x94D39F74411AFA97, 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1 /* 1500 */ + .quad 0x29A73EE88235F52E, 0xBB4484E99C7026B4, 0x5F7E413991D63983 /* 1501 */ + .quad 0x534E7DD1046BEA5D, 0x768909D338E04D68, 0xBEFC827323AC7306 /* 1502 */ + .quad 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1, 0x7DF904E64758E60D /* 1503 */ + .quad 0x4D39F74411AFA975, 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A /* 1504 */ + .quad 0x9A73EE88235F52EB, 0xB4484E99C7026B45, 0xF7E413991D639835 /* 1505 */ + .quad 0x34E7DD1046BEA5D7, 0x68909D338E04D68B, 0xEFC827323AC7306A /* 1506 */ + .quad 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17, 0xDF904E64758E60D4 /* 1507 */ + .quad 0xD39F74411AFA975D, 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9 /* 1508 */ + .quad 0xA73EE88235F52EBB, 0x4484E99C7026B45F, 0x7E413991D6398353 /* 1509 */ + .quad 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE, 0xFC827323AC7306A6 /* 1510 */ + .quad 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D, 0xF904E64758E60D4C /* 1511 */ + .quad 0x39F74411AFA975DA, 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99 /* 1512 */ + .quad 0x73EE88235F52EBB4, 0x484E99C7026B45F7, 0xE413991D63983533 /* 1513 */ + .quad 0xE7DD1046BEA5D768, 0x909D338E04D68BEF, 0xC827323AC7306A67 /* 1514 */ + .quad 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF, 0x904E64758E60D4CE /* 1515 */ + .quad 0x9F74411AFA975DA2, 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C /* 1516 */ + .quad 0x3EE88235F52EBB44, 0x84E99C7026B45F7E, 0x413991D639835339 /* 1517 */ + .quad 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC, 0x827323AC7306A673 /* 1518 */ + .quad 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9, 0x04E64758E60D4CE7 /* 1519 */ + .quad 0xF74411AFA975DA24, 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF /* 1520 */ + .quad 0xEE88235F52EBB448, 0x4E99C7026B45F7E4, 0x13991D639835339F /* 1521 */ + .quad 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8, 0x27323AC7306A673E /* 1522 */ + .quad 0xBA208D7D4BAED121, 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D /* 1523 */ + .quad 0x74411AFA975DA242, 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA /* 1524 */ + .quad 0xE88235F52EBB4484, 0xE99C7026B45F7E41, 0x3991D639835339F4 /* 1525 */ + .quad 0xD1046BEA5D768909, 0xD338E04D68BEFC82, 0x7323AC7306A673E9 /* 1526 */ + .quad 0xA208D7D4BAED1213, 0xA671C09AD17DF904, 0xE64758E60D4CE7D2 /* 1527 */ + .quad 0x4411AFA975DA2427, 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4 /* 1528 */ + .quad 0x88235F52EBB4484E, 0x99C7026B45F7E413, 0x991D639835339F49 /* 1529 */ + .quad 0x1046BEA5D768909D, 0x338E04D68BEFC827, 0x323AC7306A673E93 /* 1530 */ + .quad 0x208D7D4BAED1213A, 0x671C09AD17DF904E, 0x64758E60D4CE7D27 /* 1531 */ + .quad 0x411AFA975DA24274, 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E /* 1532 */ + .quad 0x8235F52EBB4484E9, 0x9C7026B45F7E4139, 0x91D639835339F49C /* 1533 */ + .quad 0x046BEA5D768909D3, 0x38E04D68BEFC8273, 0x23AC7306A673E939 /* 1534 */ + .quad 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6, 0x4758E60D4CE7D272 /* 1535 */ + .quad 0x11AFA975DA24274C, 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4 /* 1536 */ + .quad 0x235F52EBB4484E99, 0xC7026B45F7E41399, 0x1D639835339F49C8 /* 1537 */ + .quad 0x46BEA5D768909D33, 0x8E04D68BEFC82732, 0x3AC7306A673E9390 /* 1538 */ + .quad 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64, 0x758E60D4CE7D2721 /* 1539 */ + .quad 0x1AFA975DA24274CE, 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42 /* 1540 */ + .quad 0x35F52EBB4484E99C, 0x7026B45F7E413991, 0xD639835339F49C84 /* 1541 */ + .quad 0x6BEA5D768909D338, 0xE04D68BEFC827323, 0xAC7306A673E93908 /* 1542 */ + .quad 0xD7D4BAED1213A671, 0xC09AD17DF904E647, 0x58E60D4CE7D27211 /* 1543 */ + .quad 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422 /* 1544 */ + .quad 0x5F52EBB4484E99C7, 0x026B45F7E413991D, 0x639835339F49C845 /* 1545 */ + .quad 0xBEA5D768909D338E, 0x04D68BEFC827323A, 0xC7306A673E93908B /* 1546 */ + .quad 0x7D4BAED1213A671C, 0x09AD17DF904E6475, 0x8E60D4CE7D272117 /* 1547 */ + .quad 0xFA975DA24274CE38, 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F /* 1548 */ + .quad 0xF52EBB4484E99C70, 0x26B45F7E413991D6, 0x39835339F49C845F /* 1549 */ + .quad 0xEA5D768909D338E0, 0x4D68BEFC827323AC, 0x7306A673E93908BF /* 1550 */ + .quad 0xD4BAED1213A671C0, 0x9AD17DF904E64758, 0xE60D4CE7D272117E /* 1551 */ + .quad 0xA975DA24274CE381, 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC /* 1552 */ + .quad 0x52EBB4484E99C702, 0x6B45F7E413991D63, 0x9835339F49C845F8 /* 1553 */ + .quad 0xA5D768909D338E04, 0xD68BEFC827323AC7, 0x306A673E93908BF1 /* 1554 */ + .quad 0x4BAED1213A671C09, 0xAD17DF904E64758E, 0x60D4CE7D272117E2 /* 1555 */ + .quad 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5 /* 1556 */ + .quad 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B /* 1557 */ + .quad 0x5D768909D338E04D, 0x68BEFC827323AC73, 0x06A673E93908BF17 /* 1558 */ + .quad 0xBAED1213A671C09A, 0xD17DF904E64758E6, 0x0D4CE7D272117E2E /* 1559 */ + .quad 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D /* 1560 */ + .quad 0xEBB4484E99C7026B, 0x45F7E413991D6398, 0x35339F49C845F8BB /* 1561 */ + .quad 0xD768909D338E04D6, 0x8BEFC827323AC730, 0x6A673E93908BF177 /* 1562 */ + .quad 0xAED1213A671C09AD, 0x17DF904E64758E60, 0xD4CE7D272117E2EF /* 1563 */ + .quad 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE /* 1564 */ + .quad 0xBB4484E99C7026B4, 0x5F7E413991D63983, 0x5339F49C845F8BBD /* 1565 */ + .quad 0x768909D338E04D68, 0xBEFC827323AC7306, 0xA673E93908BF177B /* 1566 */ + .quad 0xED1213A671C09AD1, 0x7DF904E64758E60D, 0x4CE7D272117E2EF7 /* 1567 */ + .quad 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF /* 1568 */ + .quad 0xB4484E99C7026B45, 0xF7E413991D639835, 0x339F49C845F8BBDF /* 1569 */ + .quad 0x68909D338E04D68B, 0xEFC827323AC7306A, 0x673E93908BF177BF /* 1570 */ + .quad 0xD1213A671C09AD17, 0xDF904E64758E60D4, 0xCE7D272117E2EF7E /* 1571 */ + .quad 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC /* 1572 */ + .quad 0x4484E99C7026B45F, 0x7E413991D6398353, 0x39F49C845F8BBDF9 /* 1573 */ + .quad 0x8909D338E04D68BE, 0xFC827323AC7306A6, 0x73E93908BF177BF2 /* 1574 */ + .quad 0x1213A671C09AD17D, 0xF904E64758E60D4C, 0xE7D272117E2EF7E4 /* 1575 */ + .quad 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9 /* 1576 */ + .quad 0x484E99C7026B45F7, 0xE413991D63983533, 0x9F49C845F8BBDF92 /* 1577 */ + .quad 0x909D338E04D68BEF, 0xC827323AC7306A67, 0x3E93908BF177BF25 /* 1578 */ + .quad 0x213A671C09AD17DF, 0x904E64758E60D4CE, 0x7D272117E2EF7E4A /* 1579 */ + .quad 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94 /* 1580 */ + .quad 0x84E99C7026B45F7E, 0x413991D639835339, 0xF49C845F8BBDF928 /* 1581 */ + .quad 0x09D338E04D68BEFC, 0x827323AC7306A673, 0xE93908BF177BF250 /* 1582 */ + .quad 0x13A671C09AD17DF9, 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0 /* 1583 */ + .quad 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941 /* 1584 */ + .quad 0x4E99C7026B45F7E4, 0x13991D639835339F, 0x49C845F8BBDF9283 /* 1585 */ + .quad 0x9D338E04D68BEFC8, 0x27323AC7306A673E, 0x93908BF177BF2507 /* 1586 */ + .quad 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E /* 1587 */ + .quad 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D /* 1588 */ + .quad 0xE99C7026B45F7E41, 0x3991D639835339F4, 0x9C845F8BBDF9283B /* 1589 */ + .quad 0xD338E04D68BEFC82, 0x7323AC7306A673E9, 0x3908BF177BF25076 /* 1590 */ + .quad 0xA671C09AD17DF904, 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC /* 1591 */ + .quad 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8 /* 1592 */ + .quad 0x99C7026B45F7E413, 0x991D639835339F49, 0xC845F8BBDF9283B1 /* 1593 */ + .quad 0x338E04D68BEFC827, 0x323AC7306A673E93, 0x908BF177BF250763 /* 1594 */ + .quad 0x671C09AD17DF904E, 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7 /* 1595 */ + .quad 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F /* 1596 */ + .quad 0x9C7026B45F7E4139, 0x91D639835339F49C, 0x845F8BBDF9283B1F /* 1597 */ + .quad 0x38E04D68BEFC8273, 0x23AC7306A673E939, 0x08BF177BF250763F /* 1598 */ + .quad 0x71C09AD17DF904E6, 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F /* 1599 */ + .quad 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF /* 1600 */ + .quad 0xC7026B45F7E41399, 0x1D639835339F49C8, 0x45F8BBDF9283B1FF /* 1601 */ + .quad 0x8E04D68BEFC82732, 0x3AC7306A673E9390, 0x8BF177BF250763FF /* 1602 */ + .quad 0x1C09AD17DF904E64, 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE /* 1603 */ + .quad 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC /* 1604 */ + .quad 0x7026B45F7E413991, 0xD639835339F49C84, 0x5F8BBDF9283B1FF8 /* 1605 */ + .quad 0xE04D68BEFC827323, 0xAC7306A673E93908, 0xBF177BF250763FF1 /* 1606 */ + .quad 0xC09AD17DF904E647, 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2 /* 1607 */ + .quad 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4 /* 1608 */ + .quad 0x026B45F7E413991D, 0x639835339F49C845, 0xF8BBDF9283B1FF89 /* 1609 */ + .quad 0x04D68BEFC827323A, 0xC7306A673E93908B, 0xF177BF250763FF12 /* 1610 */ + .quad 0x09AD17DF904E6475, 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25 /* 1611 */ + .quad 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B /* 1612 */ + .quad 0x26B45F7E413991D6, 0x39835339F49C845F, 0x8BBDF9283B1FF897 /* 1613 */ + .quad 0x4D68BEFC827323AC, 0x7306A673E93908BF, 0x177BF250763FF12F /* 1614 */ + .quad 0x9AD17DF904E64758, 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F /* 1615 */ + .quad 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF /* 1616 */ + .quad 0x6B45F7E413991D63, 0x9835339F49C845F8, 0xBBDF9283B1FF897F /* 1617 */ + .quad 0xD68BEFC827323AC7, 0x306A673E93908BF1, 0x77BF250763FF12FF /* 1618 */ + .quad 0xAD17DF904E64758E, 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF /* 1619 */ + .quad 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF /* 1620 */ + .quad 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF /* 1621 */ + .quad 0x68BEFC827323AC73, 0x06A673E93908BF17, 0x7BF250763FF12FFF /* 1622 */ + .quad 0xD17DF904E64758E6, 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF /* 1623 */ + .quad 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE /* 1624 */ + .quad 0x45F7E413991D6398, 0x35339F49C845F8BB, 0xDF9283B1FF897FFD /* 1625 */ + .quad 0x8BEFC827323AC730, 0x6A673E93908BF177, 0xBF250763FF12FFFB /* 1626 */ + .quad 0x17DF904E64758E60, 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7 /* 1627 */ + .quad 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF /* 1628 */ + .quad 0x5F7E413991D63983, 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE /* 1629 */ + .quad 0xBEFC827323AC7306, 0xA673E93908BF177B, 0xF250763FF12FFFBC /* 1630 */ + .quad 0x7DF904E64758E60D, 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78 /* 1631 */ + .quad 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0 /* 1632 */ + .quad 0xF7E413991D639835, 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0 /* 1633 */ + .quad 0xEFC827323AC7306A, 0x673E93908BF177BF, 0x250763FF12FFFBC0 /* 1634 */ + .quad 0xDF904E64758E60D4, 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781 /* 1635 */ + .quad 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02 /* 1636 */ + .quad 0x7E413991D6398353, 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05 /* 1637 */ + .quad 0xFC827323AC7306A6, 0x73E93908BF177BF2, 0x50763FF12FFFBC0B /* 1638 */ + .quad 0xF904E64758E60D4C, 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816 /* 1639 */ + .quad 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C /* 1640 */ + .quad 0xE413991D63983533, 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059 /* 1641 */ + .quad 0xC827323AC7306A67, 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3 /* 1642 */ + .quad 0x904E64758E60D4CE, 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166 /* 1643 */ + .quad 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC /* 1644 */ + .quad 0x413991D639835339, 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598 /* 1645 */ + .quad 0x827323AC7306A673, 0xE93908BF177BF250, 0x763FF12FFFBC0B30 /* 1646 */ + .quad 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660 /* 1647 */ + .quad 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0 /* 1648 */ + .quad 0x13991D639835339F, 0x49C845F8BBDF9283, 0xB1FF897FFDE05980 /* 1649 */ + .quad 0x27323AC7306A673E, 0x93908BF177BF2507, 0x63FF12FFFBC0B301 /* 1650 */ + .quad 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603 /* 1651 */ + .quad 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07 /* 1652 */ + .quad 0x3991D639835339F4, 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F /* 1653 */ + .quad 0x7323AC7306A673E9, 0x3908BF177BF25076, 0x3FF12FFFBC0B301F /* 1654 */ + .quad 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F /* 1655 */ + .quad 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F /* 1656 */ + .quad 0x991D639835339F49, 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE /* 1657 */ + .quad 0x323AC7306A673E93, 0x908BF177BF250763, 0xFF12FFFBC0B301FD /* 1658 */ + .quad 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB /* 1659 */ + .quad 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7 /* 1660 */ + .quad 0x91D639835339F49C, 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF /* 1661 */ + .quad 0x23AC7306A673E939, 0x08BF177BF250763F, 0xF12FFFBC0B301FDE /* 1662 */ + .quad 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC /* 1663 */ + .quad 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79 /* 1664 */ + .quad 0x1D639835339F49C8, 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2 /* 1665 */ + .quad 0x3AC7306A673E9390, 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5 /* 1666 */ + .quad 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB /* 1667 */ + .quad 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797 /* 1668 */ + .quad 0xD639835339F49C84, 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F /* 1669 */ + .quad 0xAC7306A673E93908, 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E /* 1670 */ + .quad 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC /* 1671 */ + .quad 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978 /* 1672 */ + .quad 0x639835339F49C845, 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1 /* 1673 */ + .quad 0xC7306A673E93908B, 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2 /* 1674 */ + .quad 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4 /* 1675 */ + .quad 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788 /* 1676 */ + .quad 0x39835339F49C845F, 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11 /* 1677 */ + .quad 0x7306A673E93908BF, 0x177BF250763FF12F, 0xFFBC0B301FDE5E23 /* 1678 */ + .quad 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46 /* 1679 */ + .quad 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C /* 1680 */ + .quad 0x9835339F49C845F8, 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118 /* 1681 */ + .quad 0x306A673E93908BF1, 0x77BF250763FF12FF, 0xFBC0B301FDE5E231 /* 1682 */ + .quad 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462 /* 1683 */ + .quad 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5 /* 1684 */ + .quad 0x835339F49C845F8B, 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B /* 1685 */ + .quad 0x06A673E93908BF17, 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316 /* 1686 */ + .quad 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D /* 1687 */ + .quad 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A /* 1688 */ + .quad 0x35339F49C845F8BB, 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5 /* 1689 */ + .quad 0x6A673E93908BF177, 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B /* 1690 */ + .quad 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6 /* 1691 */ + .quad 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD /* 1692 */ + .quad 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A /* 1693 */ + .quad 0xA673E93908BF177B, 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4 /* 1694 */ + .quad 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68 /* 1695 */ + .quad 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0 /* 1696 */ + .quad 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0 /* 1697 */ + .quad 0x673E93908BF177BF, 0x250763FF12FFFBC0, 0xB301FDE5E2316B41 /* 1698 */ + .quad 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682 /* 1699 */ + .quad 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05 /* 1700 */ + .quad 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A /* 1701 */ + .quad 0x73E93908BF177BF2, 0x50763FF12FFFBC0B, 0x301FDE5E2316B414 /* 1702 */ + .quad 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829 /* 1703 */ + .quad 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053 /* 1704 */ + .quad 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6 /* 1705 */ + .quad 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D /* 1706 */ + .quad 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B /* 1707 */ + .quad 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536 /* 1708 */ + .quad 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D /* 1709 */ + .quad 0xE93908BF177BF250, 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA /* 1710 */ + .quad 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4 /* 1711 */ + .quad 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368 /* 1712 */ + .quad 0x49C845F8BBDF9283, 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1 /* 1713 */ + .quad 0x93908BF177BF2507, 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3 /* 1714 */ + .quad 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603, 0xFBCBC462D6829B47 /* 1715 */ + .quad 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F /* 1716 */ + .quad 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F /* 1717 */ + .quad 0x3908BF177BF25076, 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E /* 1718 */ + .quad 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F, 0xBCBC462D6829B47D /* 1719 */ + .quad 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB /* 1720 */ + .quad 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6 /* 1721 */ + .quad 0x908BF177BF250763, 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED /* 1722 */ + .quad 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB, 0xCBC462D6829B47DB /* 1723 */ + .quad 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6 /* 1724 */ + .quad 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D /* 1725 */ + .quad 0x08BF177BF250763F, 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA /* 1726 */ + .quad 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC, 0xBC462D6829B47DB4 /* 1727 */ + .quad 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69 /* 1728 */ + .quad 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3 /* 1729 */ + .quad 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6 /* 1730 */ + .quad 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB, 0xC462D6829B47DB4D /* 1731 */ + .quad 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B /* 1732 */ + .quad 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36 /* 1733 */ + .quad 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C /* 1734 */ + .quad 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9 /* 1735 */ + .quad 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3 /* 1736 */ + .quad 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367 /* 1737 */ + .quad 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF /* 1738 */ + .quad 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F /* 1739 */ + .quad 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F /* 1740 */ + .quad 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E /* 1741 */ + .quad 0x177BF250763FF12F, 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD /* 1742 */ + .quad 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB /* 1743 */ + .quad 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6 /* 1744 */ + .quad 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC /* 1745 */ + .quad 0x77BF250763FF12FF, 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9 /* 1746 */ + .quad 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3 /* 1747 */ + .quad 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5, 0xAD05368FB69B3F67 /* 1748 */ + .quad 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF /* 1749 */ + .quad 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E /* 1750 */ + .quad 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C /* 1751 */ + .quad 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A, 0xD05368FB69B3F679 /* 1752 */ + .quad 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2 /* 1753 */ + .quad 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4 /* 1754 */ + .quad 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9 /* 1755 */ + .quad 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD, 0x05368FB69B3F6793 /* 1756 */ + .quad 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27 /* 1757 */ + .quad 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F /* 1758 */ + .quad 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F /* 1759 */ + .quad 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E /* 1760 */ + .quad 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C /* 1761 */ + .quad 0x250763FF12FFFBC0, 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9 /* 1762 */ + .quad 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2 /* 1763 */ + .quad 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05, 0x368FB69B3F6793E5 /* 1764 */ + .quad 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB /* 1765 */ + .quad 0x50763FF12FFFBC0B, 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96 /* 1766 */ + .quad 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C /* 1767 */ + .quad 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053, 0x68FB69B3F6793E58 /* 1768 */ + .quad 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0 /* 1769 */ + .quad 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961 /* 1770 */ + .quad 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2 /* 1771 */ + .quad 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536, 0x8FB69B3F6793E584 /* 1772 */ + .quad 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09 /* 1773 */ + .quad 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613 /* 1774 */ + .quad 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26 /* 1775 */ + .quad 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368, 0xFB69B3F6793E584D /* 1776 */ + .quad 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B /* 1777 */ + .quad 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136 /* 1778 */ + .quad 0xC7FE25FFF7816603, 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D /* 1779 */ + .quad 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F, 0xB69B3F6793E584DB /* 1780 */ + .quad 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7 /* 1781 */ + .quad 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E /* 1782 */ + .quad 0x7FE25FFF7816603F, 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD /* 1783 */ + .quad 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB, 0x69B3F6793E584DBA /* 1784 */ + .quad 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74 /* 1785 */ + .quad 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9 /* 1786 */ + .quad 0xFE25FFF7816603FB, 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3 /* 1787 */ + .quad 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7 /* 1788 */ + .quad 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F /* 1789 */ + .quad 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E /* 1790 */ + .quad 0xE25FFF7816603FBC, 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D /* 1791 */ + .quad 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69, 0xB3F6793E584DBA7A /* 1792 */ + .quad 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4 /* 1793 */ + .quad 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8 /* 1794 */ + .quad 0x25FFF7816603FBCB, 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1 /* 1795 */ + .quad 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3 /* 1796 */ + .quad 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46 /* 1797 */ + .quad 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C /* 1798 */ + .quad 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18 /* 1799 */ + .quad 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31 /* 1800 */ + .quad 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463 /* 1801 */ + .quad 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7 /* 1802 */ + .quad 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F /* 1803 */ + .quad 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F /* 1804 */ + .quad 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F /* 1805 */ + .quad 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E /* 1806 */ + .quad 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD /* 1807 */ + .quad 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB /* 1808 */ + .quad 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6 /* 1809 */ + .quad 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC /* 1810 */ + .quad 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9 /* 1811 */ + .quad 0xEF02CC07F79788C5, 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3 /* 1812 */ + .quad 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66 /* 1813 */ + .quad 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD /* 1814 */ + .quad 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A /* 1815 */ + .quad 0xF02CC07F79788C5A, 0xD05368FB69B3F679, 0x3E584DBA7A31FB34 /* 1816 */ + .quad 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669 /* 1817 */ + .quad 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3 /* 1818 */ + .quad 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7 /* 1819 */ + .quad 0x02CC07F79788C5AD, 0x05368FB69B3F6793, 0xE584DBA7A31FB34F /* 1820 */ + .quad 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E /* 1821 */ + .quad 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C /* 1822 */ + .quad 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79 /* 1823 */ + .quad 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2 /* 1824 */ + .quad 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5 /* 1825 */ + .quad 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB /* 1826 */ + .quad 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797 /* 1827 */ + .quad 0xCC07F79788C5AD05, 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F /* 1828 */ + .quad 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F /* 1829 */ + .quad 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF /* 1830 */ + .quad 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F /* 1831 */ + .quad 0xC07F79788C5AD053, 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF /* 1832 */ + .quad 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE /* 1833 */ + .quad 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD /* 1834 */ + .quad 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA /* 1835 */ + .quad 0x07F79788C5AD0536, 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5 /* 1836 */ + .quad 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA /* 1837 */ + .quad 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4 /* 1838 */ + .quad 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8 /* 1839 */ + .quad 0x7F79788C5AD05368, 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51 /* 1840 */ + .quad 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2 /* 1841 */ + .quad 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45 /* 1842 */ + .quad 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B /* 1843 */ + .quad 0xF79788C5AD05368F, 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516 /* 1844 */ + .quad 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D /* 1845 */ + .quad 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A /* 1846 */ + .quad 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5 /* 1847 */ + .quad 0x79788C5AD05368FB, 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B /* 1848 */ + .quad 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7 /* 1849 */ + .quad 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE /* 1850 */ + .quad 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D /* 1851 */ + .quad 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA /* 1852 */ + .quad 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F, 0x463F669E5FEA2D75 /* 1853 */ + .quad 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA /* 1854 */ + .quad 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4 /* 1855 */ + .quad 0x788C5AD05368FB69, 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9 /* 1856 */ + .quad 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752 /* 1857 */ + .quad 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4 /* 1858 */ + .quad 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49 /* 1859 */ + .quad 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93 /* 1860 */ + .quad 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527 /* 1861 */ + .quad 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F /* 1862 */ + .quad 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E /* 1863 */ + .quad 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D /* 1864 */ + .quad 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463, 0xF669E5FEA2D7527B /* 1865 */ + .quad 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7 /* 1866 */ + .quad 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE /* 1867 */ + .quad 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD /* 1868 */ + .quad 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA /* 1869 */ + .quad 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75 /* 1870 */ + .quad 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB /* 1871 */ + .quad 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6 /* 1872 */ + .quad 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC /* 1873 */ + .quad 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758 /* 1874 */ + .quad 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1 /* 1875 */ + .quad 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63 /* 1876 */ + .quad 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7 /* 1877 */ + .quad 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F /* 1878 */ + .quad 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F /* 1879 */ + .quad 0xD05368FB69B3F679, 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F /* 1880 */ + .quad 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E /* 1881 */ + .quad 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD /* 1882 */ + .quad 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA /* 1883 */ + .quad 0x05368FB69B3F6793, 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5 /* 1884 */ + .quad 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB /* 1885 */ + .quad 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7 /* 1886 */ + .quad 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF /* 1887 */ + .quad 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F /* 1888 */ + .quad 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE /* 1889 */ + .quad 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C /* 1890 */ + .quad 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9 /* 1891 */ + .quad 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2 /* 1892 */ + .quad 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5 /* 1893 */ + .quad 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB /* 1894 */ + .quad 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97 /* 1895 */ + .quad 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F /* 1896 */ + .quad 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F /* 1897 */ + .quad 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE /* 1898 */ + .quad 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C /* 1899 */ + .quad 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8 /* 1900 */ + .quad 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1 /* 1901 */ + .quad 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2 /* 1902 */ + .quad 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5 /* 1903 */ + .quad 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B /* 1904 */ + .quad 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17 /* 1905 */ + .quad 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F /* 1906 */ + .quad 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E /* 1907 */ + .quad 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD /* 1908 */ + .quad 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B /* 1909 */ + .quad 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6 /* 1910 */ + .quad 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC /* 1911 */ + .quad 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9 /* 1912 */ + .quad 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3 /* 1913 */ + .quad 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67 /* 1914 */ + .quad 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF /* 1915 */ + .quad 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E /* 1916 */ + .quad 0x367ECF27CB09B74F, 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D /* 1917 */ + .quad 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A /* 1918 */ + .quad 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4 /* 1919 */ + .quad 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8 /* 1920 */ + .quad 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0 /* 1921 */ + .quad 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0 /* 1922 */ + .quad 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41 /* 1923 */ + .quad 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83 /* 1924 */ + .quad 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07 /* 1925 */ + .quad 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E /* 1926 */ + .quad 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C /* 1927 */ + .quad 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839 /* 1928 */ + .quad 0xECF27CB09B74F463, 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073 /* 1929 */ + .quad 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7 /* 1930 */ + .quad 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE /* 1931 */ + .quad 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C /* 1932 */ + .quad 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739 /* 1933 */ + .quad 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73 /* 1934 */ + .quad 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7 /* 1935 */ + .quad 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF /* 1936 */ + .quad 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F /* 1937 */ + .quad 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E /* 1938 */ + .quad 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D /* 1939 */ + .quad 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB /* 1940 */ + .quad 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7 /* 1941 */ + .quad 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF /* 1942 */ + .quad 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE /* 1943 */ + .quad 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC /* 1944 */ + .quad 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78 /* 1945 */ + .quad 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1 /* 1946 */ + .quad 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2 /* 1947 */ + .quad 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5 /* 1948 */ + .quad 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A /* 1949 */ + .quad 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14 /* 1950 */ + .quad 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29 /* 1951 */ + .quad 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52 /* 1952 */ + .quad 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5 /* 1953 */ + .quad 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A /* 1954 */ + .quad 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294 /* 1955 */ + .quad 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529 /* 1956 */ + .quad 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52 /* 1957 */ + .quad 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5 /* 1958 */ + .quad 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A /* 1959 */ + .quad 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294 /* 1960 */ + .quad 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529 /* 1961 */ + .quad 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52 /* 1962 */ + .quad 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4 /* 1963 */ + .quad 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949 /* 1964 */ + .quad 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292 /* 1965 */ + .quad 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525 /* 1966 */ + .quad 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B /* 1967 */ + .quad 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497 /* 1968 */ + .quad 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E /* 1969 */ + .quad 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D /* 1970 */ + .quad 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA /* 1971 */ + .quad 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975 /* 1972 */ + .quad 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA /* 1973 */ + .quad 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4 /* 1974 */ + .quad 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9 /* 1975 */ + .quad 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753 /* 1976 */ + .quad 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6 /* 1977 */ + .quad 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D /* 1978 */ + .quad 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A /* 1979 */ + .quad 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E, 0x839CFBC529497535 /* 1980 */ + .quad 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B /* 1981 */ + .quad 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7 /* 1982 */ + .quad 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF /* 1983 */ + .quad 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8, 0x39CFBC529497535F /* 1984 */ + .quad 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0, 0x739F78A5292EA6BF /* 1985 */ + .quad 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0, 0xE73EF14A525D4D7F /* 1986 */ + .quad 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41, 0xCE7DE294A4BA9AFE /* 1987 */ + .quad 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83, 0x9CFBC529497535FD /* 1988 */ + .quad 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07, 0x39F78A5292EA6BFB /* 1989 */ + .quad 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E, 0x73EF14A525D4D7F6 /* 1990 */ + .quad 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C, 0xE7DE294A4BA9AFED /* 1991 */ + .quad 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839, 0xCFBC529497535FDA /* 1992 */ + .quad 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073, 0x9F78A5292EA6BFB5 /* 1993 */ + .quad 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7, 0x3EF14A525D4D7F6B /* 1994 */ + .quad 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE, 0x7DE294A4BA9AFED7 /* 1995 */ + .quad 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C, 0xFBC529497535FDAF /* 1996 */ + .quad 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739, 0xF78A5292EA6BFB5F /* 1997 */ + .quad 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73, 0xEF14A525D4D7F6BF /* 1998 */ + .quad 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7, 0xDE294A4BA9AFED7E /* 1999 */ + .quad 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF, 0xBC529497535FDAFD /* 2000 */ + .quad 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F, 0x78A5292EA6BFB5FB /* 2001 */ + .quad 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E, 0xF14A525D4D7F6BF6 /* 2002 */ + .quad 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D, 0xE294A4BA9AFED7EC /* 2003 */ + .quad 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB, 0xC529497535FDAFD8 /* 2004 */ + .quad 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1 /* 2005 */ + .quad 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF, 0x14A525D4D7F6BF62 /* 2006 */ + .quad 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE, 0x294A4BA9AFED7EC4 /* 2007 */ + .quad 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC, 0x529497535FDAFD88 /* 2008 */ + .quad 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78, 0xA5292EA6BFB5FB11 /* 2009 */ + .quad 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1, 0x4A525D4D7F6BF623 /* 2010 */ + .quad 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2, 0x94A4BA9AFED7EC47 /* 2011 */ + .quad 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5, 0x29497535FDAFD88F /* 2012 */ + .quad 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A, 0x5292EA6BFB5FB11F /* 2013 */ + .quad 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14, 0xA525D4D7F6BF623F /* 2014 */ + .quad 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29, 0x4A4BA9AFED7EC47E /* 2015 */ + .quad 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52, 0x9497535FDAFD88FC /* 2016 */ + .quad 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5, 0x292EA6BFB5FB11F8 /* 2017 */ + .quad 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A, 0x525D4D7F6BF623F1 /* 2018 */ + .quad 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294, 0xA4BA9AFED7EC47E3 /* 2019 */ + .quad 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529, 0x497535FDAFD88FC6 /* 2020 */ + .quad 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52, 0x92EA6BFB5FB11F8D /* 2021 */ + .quad 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5, 0x25D4D7F6BF623F1A /* 2022 */ + .quad 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A, 0x4BA9AFED7EC47E35 /* 2023 */ + .quad 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294, 0x97535FDAFD88FC6A /* 2024 */ + .quad 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529, 0x2EA6BFB5FB11F8D5 /* 2025 */ + .quad 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52, 0x5D4D7F6BF623F1AB /* 2026 */ + .quad 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4, 0xBA9AFED7EC47E357 /* 2027 */ + .quad 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949, 0x7535FDAFD88FC6AE /* 2028 */ + .quad 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292, 0xEA6BFB5FB11F8D5D /* 2029 */ + .quad 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525, 0xD4D7F6BF623F1ABA /* 2030 */ + .quad 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B, 0xA9AFED7EC47E3574 /* 2031 */ + .quad 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497, 0x535FDAFD88FC6AE8 /* 2032 */ + .quad 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E, 0xA6BFB5FB11F8D5D0 /* 2033 */ + .quad 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D, 0x4D7F6BF623F1ABA1 /* 2034 */ + .quad 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA, 0x9AFED7EC47E35742 /* 2035 */ + .quad 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975, 0x35FDAFD88FC6AE84 /* 2036 */ + .quad 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA, 0x6BFB5FB11F8D5D08 /* 2037 */ + .quad 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4, 0xD7F6BF623F1ABA10 /* 2038 */ + .quad 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9, 0xAFED7EC47E357421 /* 2039 */ + .quad 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753, 0x5FDAFD88FC6AE842 /* 2040 */ + .quad 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6, 0xBFB5FB11F8D5D085 /* 2041 */ + .quad 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D, 0x7F6BF623F1ABA10A /* 2042 */ + .quad 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A, 0xFED7EC47E3574215 /* 2043 */ + .quad 0x93DD63F5F2F8BD9E, 0x839CFBC529497535, 0xFDAFD88FC6AE842B /* 2044 */ + .quad 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B, 0xFB5FB11F8D5D0856 /* 2045 */ + .quad 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7, 0xF6BF623F1ABA10AC /* 2046 */ + .quad 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF, 0xED7EC47E35742158 /* 2047 */ + .align 16 + .type __svml_dtan_reduction_data_internal, @object + .size __svml_dtan_reduction_data_internal, .-__svml_dtan_reduction_data_internal + .space 512, 0x00 + .align 16 .FLT_17: - .long 0x00000000,0x7ff00000,0x00000000,0x7ff00000 - .type .FLT_17,@object - .size .FLT_17,16 - .align 16 + .long 0x00000000, 0x7ff00000, 0x00000000, 0x7ff00000 + .type .FLT_17, @object + .size .FLT_17, 16 + .align 16 .FLT_18: - .long 0xffffffff,0x000fffff,0xffffffff,0x000fffff - .type .FLT_18,@object - .size .FLT_18,16 - .align 16 + .long 0xffffffff, 0x000fffff, 0xffffffff, 0x000fffff + .type .FLT_18, @object + .size .FLT_18, 16 + .align 16 .FLT_19: - .long 0x00000000,0x00100000,0x00000000,0x00100000 - .type .FLT_19,@object - .size .FLT_19,16 - .align 16 + .long 0x00000000, 0x00100000, 0x00000000, 0x00100000 + .type .FLT_19, @object + .size .FLT_19, 16 + .align 16 .FLT_20: - .long 0xffffffff,0x00000000,0xffffffff,0x00000000 - .type .FLT_20,@object - .size .FLT_20,16 - .align 16 + .long 0xffffffff, 0x00000000, 0xffffffff, 0x00000000 + .type .FLT_20, @object + .size .FLT_20, 16 + .align 16 .FLT_21: - .long 0x00000000,0x80000000,0x00000000,0x80000000 - .type .FLT_21,@object - .size .FLT_21,16 - .align 16 + .long 0x00000000, 0x80000000, 0x00000000, 0x80000000 + .type .FLT_21, @object + .size .FLT_21, 16 + .align 16 .FLT_22: - .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000 - .type .FLT_22,@object - .size .FLT_22,16 - .align 16 + .long 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000 + .type .FLT_22, @object + .size .FLT_22, 16 + .align 16 .FLT_23: - .long 0x00000000,0x42a80000,0x00000000,0x42a80000 - .type .FLT_23,@object - .size .FLT_23,16 - .align 16 + .long 0x00000000, 0x42a80000, 0x00000000, 0x42a80000 + .type .FLT_23, @object + .size .FLT_23, 16 + .align 16 .FLT_24: - .long 0x00000000,0x39700000,0x00000000,0x39700000 - .type .FLT_24,@object - .size .FLT_24,16 - .align 16 + .long 0x00000000, 0x39700000, 0x00000000, 0x39700000 + .type .FLT_24, @object + .size .FLT_24, 16 + .align 16 .FLT_25: - .long 0x00ffffff,0x00000000,0x00ffffff,0x00000000 - .type .FLT_25,@object - .size .FLT_25,16 - .align 16 + .long 0x00ffffff, 0x00000000, 0x00ffffff, 0x00000000 + .type .FLT_25, @object + .size .FLT_25, 16 + .align 16 .FLT_26: - .long 0x00000000,0x3cb00000,0x00000000,0x3cb00000 - .type .FLT_26,@object - .size .FLT_26,16 - .align 16 + .long 0x00000000, 0x3cb00000, 0x00000000, 0x3cb00000 + .type .FLT_26, @object + .size .FLT_26, 16 + .align 16 .FLT_27: - .long 0x00000fff,0x00000000,0x00000fff,0x00000000 - .type .FLT_27,@object - .size .FLT_27,16 - .align 16 + .long 0x00000fff, 0x00000000, 0x00000fff, 0x00000000 + .type .FLT_27, @object + .size .FLT_27, 16 + .align 16 .FLT_28: - .long 0x54442d18,0x401921fb,0x54442d18,0x401921fb - .type .FLT_28,@object - .size .FLT_28,16 - .align 16 + .long 0x54442d18, 0x401921fb, 0x54442d18, 0x401921fb + .type .FLT_28, @object + .size .FLT_28, 16 + .align 16 .FLT_29: - .long 0x54000000,0x401921fb,0x54000000,0x401921fb - .type .FLT_29,@object - .size .FLT_29,16 - .align 16 + .long 0x54000000, 0x401921fb, 0x54000000, 0x401921fb + .type .FLT_29, @object + .size .FLT_29, 16 + .align 16 .FLT_30: - .long 0x11a62633,0x3e310b46,0x11a62633,0x3e310b46 - .type .FLT_30,@object - .size .FLT_30,16 - .align 16 + .long 0x11a62633, 0x3e310b46, 0x11a62633, 0x3e310b46 + .type .FLT_30, @object + .size .FLT_30, 16 + .align 16 .FLT_31: - .long 0xf8000000,0xffffffff,0xf8000000,0xffffffff - .type .FLT_31,@object - .size .FLT_31,16 - .align 16 + .long 0xf8000000, 0xffffffff, 0xf8000000, 0xffffffff + .type .FLT_31, @object + .size .FLT_31, 16 + .align 16 .FLT_32: - .long 0xffffffff,0x7fffffff,0xffffffff,0x7fffffff - .type .FLT_32,@object - .size .FLT_32,16 - .align 16 + .long 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff + .type .FLT_32, @object + .size .FLT_32, 16 + .align 16 .FLT_33: - .long 0x00000000,0x3eb00000,0x00000000,0x3eb00000 - .type .FLT_33,@object - .size .FLT_33,16 - .align 16 + .long 0x00000000, 0x3eb00000, 0x00000000, 0x3eb00000 + .type .FLT_33, @object + .size .FLT_33, 16 + .align 16 .FLT_34: - .long 0x000001ff,0x00000000,0x000001ff,0x00000000 - .type .FLT_34,@object - .size .FLT_34,16 - .align 16 + .long 0x000001ff, 0x00000000, 0x000001ff, 0x00000000 + .type .FLT_34, @object + .size .FLT_34, 16 + .align 16 .FLT_35: - .long 0x000000ff,0x00000000,0x000000ff,0x00000000 - .type .FLT_35,@object - .size .FLT_35,16 - .align 16 + .long 0x000000ff, 0x00000000, 0x000000ff, 0x00000000 + .type .FLT_35, @object + .size .FLT_35, 16 + .align 16 .FLT_36: - .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000 - .type .FLT_36,@object - .size .FLT_36,16 + .long 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000 + .type .FLT_36, @object + .size .FLT_36, 16 From patchwork Mon Mar 7 15:01:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602417 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=k2GDwvS/; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC46t2P3Kz9sFt for ; Tue, 8 Mar 2022 03:44:22 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 857EB3857C5B for ; Mon, 7 Mar 2022 16:44:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 857EB3857C5B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646671459; bh=qRMxaBhCvrSlcOsg/Mb2XPE43t1qzCDGJQsv+3hnTVU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=k2GDwvS/YMQ/5Fc3xyusKNQa2GwYfIZfhLi8A7RKPz6Pg4izM9M2jxxHCMgYsWUIh +MRCU++xLityCVz443KNd9szYaEnfjOI/nbfKb7odAUQ0pJnHqtT6qEa9/BbYqv5o8 EVdoEVBKF+mnqeihhNgQN6FgZ7oerVEbcKsb8gpA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id D209B3858431 for ; Mon, 7 Mar 2022 15:03:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D209B3858431 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017300" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017300" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="537141882" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga007.jf.intel.com with ESMTP; 07 Mar 2022 07:02:11 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fX016772; Mon, 7 Mar 2022 07:02:11 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 119/126] x86_64: Fix svml_d_tan4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:54 -0800 Message-Id: <20220307150201.10590-120-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_tan4_core_avx2.S | 12091 ++++++++-------- 1 file changed, 6044 insertions(+), 6047 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S index 50f404a084..01c86736e7 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan4_core_avx2.S @@ -47,6181 +47,6178 @@ /* Offsets for data table __svml_dtan_data_internal */ -#define _dAbsMask 0 -#define _dRangeVal 32 -#define _dRShift 64 -#define _dCoeffs 96 -#define _dReductionRangeVal 26720 -#define _dInvPi 26752 -#define _dPI1 26784 -#define _dPI2 26816 -#define _dPI3 26848 -#define _dPI1_FMA 26880 -#define _dPI2_FMA 26912 -#define _dPI3_FMA 26944 -#define _dP1 26976 -#define _dP2 27008 -#define _dP3 27040 -#define _dQ0 27072 -#define _dQ1 27104 -#define _dQ2 27136 -#define _dQ3 27168 +#define _dAbsMask 0 +#define _dRangeVal 32 +#define _dRShift 64 +#define _dCoeffs 96 +#define _dReductionRangeVal 26720 +#define _dInvPi 26752 +#define _dPI1 26784 +#define _dPI2 26816 +#define _dPI3 26848 +#define _dPI1_FMA 26880 +#define _dPI2_FMA 26912 +#define _dPI3_FMA 26944 +#define _dP1 26976 +#define _dP2 27008 +#define _dP3 27040 +#define _dQ0 27072 +#define _dQ1 27104 +#define _dQ2 27136 +#define _dQ3 27168 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_tan_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp -/* Legacy Code */ - xorl %r9d, %r9d - vmovupd _dAbsMask+__svml_dtan_data_internal(%rip), %ymm14 - vmovupd _dRShift+__svml_dtan_data_internal(%rip), %ymm2 - vmovupd _dInvPi+__svml_dtan_data_internal(%rip), %ymm6 - vmovupd _dPI1_FMA+__svml_dtan_data_internal(%rip), %ymm3 - vmovupd _dP3+__svml_dtan_data_internal(%rip), %ymm9 - vmovapd %ymm0, %ymm15 + /* Legacy Code */ + xorl %r9d, %r9d + vmovupd _dAbsMask+__svml_dtan_data_internal(%rip), %ymm14 + vmovupd _dRShift+__svml_dtan_data_internal(%rip), %ymm2 + vmovupd _dInvPi+__svml_dtan_data_internal(%rip), %ymm6 + vmovupd _dPI1_FMA+__svml_dtan_data_internal(%rip), %ymm3 + vmovupd _dP3+__svml_dtan_data_internal(%rip), %ymm9 + vmovapd %ymm0, %ymm15 -/* b) Remove sign using AND 0x7fffffffffffffff operation */ - vandpd %ymm14, %ymm15, %ymm1 + /* b) Remove sign using AND 0x7fffffffffffffff operation */ + vandpd %ymm14, %ymm15, %ymm1 -/* - * c) Getting octant Y by 2/Pi multiplication - * d) Add "Right Shifter" (0x4330000000000000) value - */ - vfmadd213pd %ymm2, %ymm1, %ymm6 + /* + * c) Getting octant Y by 2/Pi multiplication + * d) Add "Right Shifter" (0x4330000000000000) value + */ + vfmadd213pd %ymm2, %ymm1, %ymm6 -/* g) Subtract "Right Shifter" (0x4330000000000000) value */ - vsubpd %ymm2, %ymm6, %ymm11 - vpsllq $62, %ymm6, %ymm7 + /* g) Subtract "Right Shifter" (0x4330000000000000) value */ + vsubpd %ymm2, %ymm6, %ymm11 + vpsllq $62, %ymm6, %ymm7 -/* - * e) Treat obtained value as integer for destination sign setting. - * Shift first bit of this value to the last (sign) position (S << 63) - * f) Change destination sign if source sign is negative - * using XOR operation. - */ - vpsllq $63, %ymm6, %ymm4 + /* + * e) Treat obtained value as integer for destination sign setting. + * Shift first bit of this value to the last (sign) position (S << 63) + * f) Change destination sign if source sign is negative + * using XOR operation. + */ + vpsllq $63, %ymm6, %ymm4 -/* X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; */ - vfnmadd213pd %ymm1, %ymm11, %ymm3 - vfnmadd231pd _dPI2_FMA+__svml_dtan_data_internal(%rip), %ymm11, %ymm3 - vfnmadd132pd _dPI3_FMA+__svml_dtan_data_internal(%rip), %ymm3, %ymm11 - vmovupd _dQ3+__svml_dtan_data_internal(%rip), %ymm3 + /* X = X - Y*PI1 - Y*PI2 - Y*PI3 - Y*PI4; */ + vfnmadd213pd %ymm1, %ymm11, %ymm3 + vfnmadd231pd _dPI2_FMA+__svml_dtan_data_internal(%rip), %ymm11, %ymm3 + vfnmadd132pd _dPI3_FMA+__svml_dtan_data_internal(%rip), %ymm3, %ymm11 + vmovupd _dQ3+__svml_dtan_data_internal(%rip), %ymm3 -/* a) Calculate X^2 = X * X */ - vmulpd %ymm11, %ymm11, %ymm10 + /* a) Calculate X^2 = X * X */ + vmulpd %ymm11, %ymm11, %ymm10 -/* - * b) Calculate 2 polynomials: - * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); - * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); - * Assume P0 = 1 - */ - vfmadd213pd _dP2+__svml_dtan_data_internal(%rip), %ymm10, %ymm9 - vfmadd213pd _dQ2+__svml_dtan_data_internal(%rip), %ymm10, %ymm3 - vfmadd213pd _dP1+__svml_dtan_data_internal(%rip), %ymm10, %ymm9 - vfmadd213pd _dQ1+__svml_dtan_data_internal(%rip), %ymm10, %ymm3 - vmulpd %ymm9, %ymm10, %ymm9 - vfmadd213pd _dQ0+__svml_dtan_data_internal(%rip), %ymm10, %ymm3 - vfmadd213pd %ymm11, %ymm11, %ymm9 + /* + * b) Calculate 2 polynomials: + * P = X * (P0 + X^2 * (P1 + x^2 * (P2 + x^2 * (P3)))); + * Q = Q0 + X^2 * (Q1 + x^2 * (Q2 + x^2 * (Q3))); + * Assume P0 = 1 + */ + vfmadd213pd _dP2+__svml_dtan_data_internal(%rip), %ymm10, %ymm9 + vfmadd213pd _dQ2+__svml_dtan_data_internal(%rip), %ymm10, %ymm3 + vfmadd213pd _dP1+__svml_dtan_data_internal(%rip), %ymm10, %ymm9 + vfmadd213pd _dQ1+__svml_dtan_data_internal(%rip), %ymm10, %ymm3 + vmulpd %ymm9, %ymm10, %ymm9 + vfmadd213pd _dQ0+__svml_dtan_data_internal(%rip), %ymm10, %ymm3 + vfmadd213pd %ymm11, %ymm11, %ymm9 -/* 1) Range reduction to [-Pi/4; +Pi/4] interval */ - vxorpd %ymm8, %ymm8, %ymm8 - vcmpneqpd %ymm8, %ymm7, %ymm2 + /* 1) Range reduction to [-Pi/4; +Pi/4] interval */ + vxorpd %ymm8, %ymm8, %ymm8 + vcmpneqpd %ymm8, %ymm7, %ymm2 -/* a) Grab sign from source argument and save it. */ - vandnpd %ymm15, %ymm14, %ymm5 - vxorpd %ymm5, %ymm4, %ymm0 + /* a) Grab sign from source argument and save it. */ + vandnpd %ymm15, %ymm14, %ymm5 + vxorpd %ymm5, %ymm4, %ymm0 -/* - * c) Swap P and Q if first bit of obtained value after - * Right Shifting is set to 1. Using And, Andnot & Or operations. - */ - vandnpd %ymm9, %ymm2, %ymm12 - vandpd %ymm3, %ymm2, %ymm13 - vandpd %ymm9, %ymm2, %ymm4 - vandnpd %ymm3, %ymm2, %ymm5 - vorpd %ymm13, %ymm12, %ymm6 - vorpd %ymm5, %ymm4, %ymm7 + /* + * c) Swap P and Q if first bit of obtained value after + * Right Shifting is set to 1. Using And, Andnot & Or operations. + */ + vandnpd %ymm9, %ymm2, %ymm12 + vandpd %ymm3, %ymm2, %ymm13 + vandpd %ymm9, %ymm2, %ymm4 + vandnpd %ymm3, %ymm2, %ymm5 + vorpd %ymm13, %ymm12, %ymm6 + vorpd %ymm5, %ymm4, %ymm7 -/* d) Divide R = P / Q; */ - vdivpd %ymm7, %ymm6, %ymm8 + /* d) Divide R = P / Q; */ + vdivpd %ymm7, %ymm6, %ymm8 -/* Large values check */ - vcmpnle_uqpd _dReductionRangeVal+__svml_dtan_data_internal(%rip), %ymm1, %ymm14 - vmovmskpd %ymm14, %eax + /* Large values check */ + vcmpnle_uqpd _dReductionRangeVal+__svml_dtan_data_internal(%rip), %ymm1, %ymm14 + vmovmskpd %ymm14, %eax -/* - * 3) Destination sign setting - * a) Set shifted destination sign using XOR operation: - * R = XOR( R, S ); - */ - vxorpd %ymm0, %ymm8, %ymm0 - testl %eax, %eax + /* + * 3) Destination sign setting + * a) Set shifted destination sign using XOR operation: + * R = XOR( R, S ); + */ + vxorpd %ymm0, %ymm8, %ymm0 + testl %eax, %eax -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx r12 r13 r14 r15 r9d ymm0 ymm1 ymm14 ymm15 + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx r12 r13 r14 r15 r9d ymm0 ymm1 ymm14 ymm15 -/* Return from auxilary branch - * for out of main path inputs - */ + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): - testl %r9d, %r9d + testl %r9d, %r9d -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 r9d ymm0 ymm15 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 r9d ymm0 ymm15 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd %ymm15, 32(%rsp) - vmovupd %ymm0, 64(%rsp) - # LOE rbx r12 r13 r14 r15 r9d ymm0 + vmovupd %ymm15, 32(%rsp) + vmovupd %ymm0, 64(%rsp) + # LOE rbx r12 r13 r14 r15 r9d ymm0 - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax r9d + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax r9d - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %r9d, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %r9d, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call tan@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call tan@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx r15 r12d r13d -/* Auxilary branch - * for out of main path inputs - */ + /* Auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH): - vpand .FLT_17(%rip), %ymm15, %ymm4 + vpand .FLT_17(%rip), %ymm15, %ymm4 -/* - * Get the (2^a / 2pi) mod 1 values from the table. - * Because doesn't have L-type gather, we need a trivial cast - */ - lea __svml_dtan_reduction_data_internal(%rip), %r8 - vmovupd _dRangeVal+__svml_dtan_data_internal(%rip), %ymm6 - vmovupd %ymm0, (%rsp) - vpsrlq $52, %ymm4, %ymm13 - vandpd %ymm1, %ymm6, %ymm12 - vcmpeqpd %ymm6, %ymm12, %ymm7 - vmovmskpd %ymm7, %r9d - vextractf128 $1, %ymm13, %xmm8 - vmovd %xmm13, %r10d - vmovd %xmm8, %edx - vpextrd $2, %xmm13, %r11d - lea (%r10,%r10,2), %edi - vpextrd $2, %xmm8, %eax - lea (%rdx,%rdx,2), %ecx - shll $3, %edi - shll $3, %ecx + /* + * Get the (2^a / 2pi) mod 1 values from the table. + * Because doesn't have L-type gather, we need a trivial cast + */ + lea __svml_dtan_reduction_data_internal(%rip), %r8 + vmovupd _dRangeVal+__svml_dtan_data_internal(%rip), %ymm6 + vmovupd %ymm0, (%rsp) + vpsrlq $52, %ymm4, %ymm13 + vandpd %ymm1, %ymm6, %ymm12 + vcmpeqpd %ymm6, %ymm12, %ymm7 + vmovmskpd %ymm7, %r9d + vextractf128 $1, %ymm13, %xmm8 + vmovd %xmm13, %r10d + vmovd %xmm8, %edx + vpextrd $2, %xmm13, %r11d + lea (%r10, %r10, 2), %edi + vpextrd $2, %xmm8, %eax + lea (%rdx, %rdx, 2), %ecx + shll $3, %edi + shll $3, %ecx -/* - * Also get the significand as an integer - * NB: adding in the integer bit is wrong for denorms! - * To make this work for denorms we should do something slightly different - */ - vpand .FLT_18(%rip), %ymm15, %ymm13 - lea (%r11,%r11,2), %esi - vmovq (%rdi,%r8), %xmm10 - vmovq (%rcx,%r8), %xmm5 - vmovq 8(%rdi,%r8), %xmm3 - shll $3, %esi - lea (%rax,%rax,2), %r10d - shll $3, %r10d - vmovhpd (%rsi,%r8), %xmm10, %xmm9 - vmovhpd (%r10,%r8), %xmm5, %xmm12 - vpaddq .FLT_19(%rip), %ymm13, %ymm8 - vmovq 16(%rdi,%r8), %xmm1 - vmovq 8(%rcx,%r8), %xmm7 - vmovq 16(%rcx,%r8), %xmm11 - vmovhpd 8(%rsi,%r8), %xmm3, %xmm6 + /* + * Also get the significand as an integer + * NB: adding in the integer bit is wrong for denorms! + * To make this work for denorms we should do something slightly different + */ + vpand .FLT_18(%rip), %ymm15, %ymm13 + lea (%r11, %r11, 2), %esi + vmovq (%rdi, %r8), %xmm10 + vmovq (%rcx, %r8), %xmm5 + vmovq 8(%rdi, %r8), %xmm3 + shll $3, %esi + lea (%rax, %rax, 2), %r10d + shll $3, %r10d + vmovhpd (%rsi, %r8), %xmm10, %xmm9 + vmovhpd (%r10, %r8), %xmm5, %xmm12 + vpaddq .FLT_19(%rip), %ymm13, %ymm8 + vmovq 16(%rdi, %r8), %xmm1 + vmovq 8(%rcx, %r8), %xmm7 + vmovq 16(%rcx, %r8), %xmm11 + vmovhpd 8(%rsi, %r8), %xmm3, %xmm6 -/* Load constants (not all needed at once) */ - lea _dCoeffs+96+__svml_dtan_data_internal(%rip), %rcx - vmovhpd 16(%rsi,%r8), %xmm1, %xmm4 - vmovhpd 8(%r10,%r8), %xmm7, %xmm2 - vmovhpd 16(%r10,%r8), %xmm11, %xmm0 - vinsertf128 $1, %xmm12, %ymm9, %ymm10 + /* Load constants (not all needed at once) */ + lea _dCoeffs+96+__svml_dtan_data_internal(%rip), %rcx + vmovhpd 16(%rsi, %r8), %xmm1, %xmm4 + vmovhpd 8(%r10, %r8), %xmm7, %xmm2 + vmovhpd 16(%r10, %r8), %xmm11, %xmm0 + vinsertf128 $1, %xmm12, %ymm9, %ymm10 -/* - * Break the P_xxx and m into 32-bit chunks ready for - * the long multiplication via 32x32->64 multiplications - */ - vmovdqu .FLT_20(%rip), %ymm12 - vpand %ymm12, %ymm10, %ymm7 - vpsrlq $32, %ymm10, %ymm10 - vinsertf128 $1, %xmm2, %ymm6, %ymm9 - vinsertf128 $1, %xmm0, %ymm4, %ymm11 - vpsrlq $32, %ymm9, %ymm4 - vpand %ymm12, %ymm9, %ymm2 - vpsrlq $32, %ymm8, %ymm9 - vpand %ymm12, %ymm11, %ymm5 - vpsrlq $32, %ymm11, %ymm0 - vpand %ymm12, %ymm8, %ymm6 - vpmuludq %ymm5, %ymm9, %ymm11 - vpsrlq $32, %ymm11, %ymm5 - vpmuludq %ymm0, %ymm9, %ymm11 - vpmuludq %ymm0, %ymm6, %ymm0 - vpsrlq $32, %ymm0, %ymm0 - vpmuludq %ymm2, %ymm6, %ymm1 - vpand %ymm12, %ymm1, %ymm13 - vpaddq %ymm0, %ymm11, %ymm11 - vpsrlq $32, %ymm1, %ymm1 - vpaddq %ymm11, %ymm13, %ymm13 - vpmuludq %ymm4, %ymm6, %ymm3 - vpmuludq %ymm2, %ymm9, %ymm2 - vpaddq %ymm13, %ymm5, %ymm11 - vpand %ymm12, %ymm3, %ymm5 - vpaddq %ymm1, %ymm2, %ymm2 - vpsrlq $32, %ymm3, %ymm3 - vpsrlq $32, %ymm11, %ymm13 - vpaddq %ymm2, %ymm5, %ymm5 - vpmuludq %ymm7, %ymm6, %ymm8 - vpaddq %ymm5, %ymm13, %ymm5 - vpand %ymm12, %ymm8, %ymm1 - vpsrlq $32, %ymm5, %ymm0 - vpsllq $32, %ymm5, %ymm5 - vpmuludq %ymm4, %ymm9, %ymm13 - vpaddq %ymm3, %ymm13, %ymm13 - vpsrlq $32, %ymm8, %ymm4 - vpaddq %ymm13, %ymm1, %ymm3 - vpmuludq %ymm10, %ymm6, %ymm6 + /* + * Break the P_xxx and m into 32-bit chunks ready for + * the long multiplication via 32x32->64 multiplications + */ + vmovdqu .FLT_20(%rip), %ymm12 + vpand %ymm12, %ymm10, %ymm7 + vpsrlq $32, %ymm10, %ymm10 + vinsertf128 $1, %xmm2, %ymm6, %ymm9 + vinsertf128 $1, %xmm0, %ymm4, %ymm11 + vpsrlq $32, %ymm9, %ymm4 + vpand %ymm12, %ymm9, %ymm2 + vpsrlq $32, %ymm8, %ymm9 + vpand %ymm12, %ymm11, %ymm5 + vpsrlq $32, %ymm11, %ymm0 + vpand %ymm12, %ymm8, %ymm6 + vpmuludq %ymm5, %ymm9, %ymm11 + vpsrlq $32, %ymm11, %ymm5 + vpmuludq %ymm0, %ymm9, %ymm11 + vpmuludq %ymm0, %ymm6, %ymm0 + vpsrlq $32, %ymm0, %ymm0 + vpmuludq %ymm2, %ymm6, %ymm1 + vpand %ymm12, %ymm1, %ymm13 + vpaddq %ymm0, %ymm11, %ymm11 + vpsrlq $32, %ymm1, %ymm1 + vpaddq %ymm11, %ymm13, %ymm13 + vpmuludq %ymm4, %ymm6, %ymm3 + vpmuludq %ymm2, %ymm9, %ymm2 + vpaddq %ymm13, %ymm5, %ymm11 + vpand %ymm12, %ymm3, %ymm5 + vpaddq %ymm1, %ymm2, %ymm2 + vpsrlq $32, %ymm3, %ymm3 + vpsrlq $32, %ymm11, %ymm13 + vpaddq %ymm2, %ymm5, %ymm5 + vpmuludq %ymm7, %ymm6, %ymm8 + vpaddq %ymm5, %ymm13, %ymm5 + vpand %ymm12, %ymm8, %ymm1 + vpsrlq $32, %ymm5, %ymm0 + vpsllq $32, %ymm5, %ymm5 + vpmuludq %ymm4, %ymm9, %ymm13 + vpaddq %ymm3, %ymm13, %ymm13 + vpsrlq $32, %ymm8, %ymm4 + vpaddq %ymm13, %ymm1, %ymm3 + vpmuludq %ymm10, %ymm6, %ymm6 -/* Now do the big multiplication and carry propagation */ - vpmuludq %ymm7, %ymm9, %ymm7 - vpaddq %ymm3, %ymm0, %ymm2 - vpand %ymm12, %ymm6, %ymm10 - vpaddq %ymm4, %ymm7, %ymm9 - vpsrlq $32, %ymm2, %ymm13 - vpand %ymm12, %ymm2, %ymm6 - vpaddq %ymm9, %ymm10, %ymm8 + /* Now do the big multiplication and carry propagation */ + vpmuludq %ymm7, %ymm9, %ymm7 + vpaddq %ymm3, %ymm0, %ymm2 + vpand %ymm12, %ymm6, %ymm10 + vpaddq %ymm4, %ymm7, %ymm9 + vpsrlq $32, %ymm2, %ymm13 + vpand %ymm12, %ymm2, %ymm6 + vpaddq %ymm9, %ymm10, %ymm8 -/* Assemble reduced argument from the pieces */ - vpand %ymm12, %ymm11, %ymm12 - vpaddq %ymm8, %ymm13, %ymm13 + /* Assemble reduced argument from the pieces */ + vpand %ymm12, %ymm11, %ymm12 + vpaddq %ymm8, %ymm13, %ymm13 -/* - * We want to incorporate the original sign now too. - * Do it here for convenience in getting the right N value, - * though we could wait right to the end if we were prepared - * to modify the sign of N later too. - * So get the appropriate sign mask now (or sooner). - */ - vpand .FLT_21(%rip), %ymm15, %ymm8 - vpaddq %ymm12, %ymm5, %ymm9 + /* + * We want to incorporate the original sign now too. + * Do it here for convenience in getting the right N value, + * though we could wait right to the end if we were prepared + * to modify the sign of N later too. + * So get the appropriate sign mask now (or sooner). + */ + vpand .FLT_21(%rip), %ymm15, %ymm8 + vpaddq %ymm12, %ymm5, %ymm9 -/* - * Now round at the 2^-9 bit position for reduction mod pi/2^8 - * instead of the original 2pi (but still with the same 2pi scaling). - * Use a shifter of 2^43 + 2^42. - * The N we get is our final version; it has an offset of - * 2^9 because of the implicit integer bit, and anyway for negative - * starting value it's a 2s complement thing. But we need to mask - * off the exponent part anyway so it's fine. - */ - vmovupd .FLT_23(%rip), %ymm5 - vpsllq $32, %ymm13, %ymm3 + /* + * Now round at the 2^-9 bit position for reduction mod pi/2^8 + * instead of the original 2pi (but still with the same 2pi scaling). + * Use a shifter of 2^43 + 2^42. + * The N we get is our final version; it has an offset of + * 2^9 because of the implicit integer bit, and anyway for negative + * starting value it's a 2s complement thing. But we need to mask + * off the exponent part anyway so it's fine. + */ + vmovupd .FLT_23(%rip), %ymm5 + vpsllq $32, %ymm13, %ymm3 -/* - * Create floating-point high part, implicitly adding integer bit 1 - * Incorporate overall sign at this stage too. - */ - vpxor .FLT_22(%rip), %ymm8, %ymm10 + /* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + vpxor .FLT_22(%rip), %ymm8, %ymm10 -/* - * Create floating-point low and medium parts, respectively - * lo_23, ... lo_0, 0, ..., 0 - * hi_11, ... hi_0, lo_63, ..., lo_24 - * then subtract off the implicitly added integer bits, - * 2^-104 and 2^-52, respectively. - * Put the original sign into all of them at this stage. - */ - vpxor .FLT_24(%rip), %ymm8, %ymm4 - vpand .FLT_25(%rip), %ymm9, %ymm7 - vpaddq %ymm6, %ymm3, %ymm3 - vpsrlq $24, %ymm9, %ymm9 - vpsllq $28, %ymm7, %ymm2 - vpsrlq $12, %ymm3, %ymm13 - vpor %ymm4, %ymm2, %ymm1 - vpor %ymm10, %ymm13, %ymm12 - vsubpd %ymm4, %ymm1, %ymm13 - vaddpd %ymm5, %ymm12, %ymm10 - vsubpd %ymm5, %ymm10, %ymm6 - vpxor .FLT_26(%rip), %ymm8, %ymm5 - vpand .FLT_27(%rip), %ymm3, %ymm8 - vsubpd %ymm6, %ymm12, %ymm0 - vpsllq $40, %ymm8, %ymm3 - vpor %ymm9, %ymm3, %ymm11 + /* + * Create floating-point low and medium parts, respectively + * lo_23, ... lo_0, 0, ..., 0 + * hi_11, ... hi_0, lo_63, ..., lo_24 + * then subtract off the implicitly added integer bits, + * 2^-104 and 2^-52, respectively. + * Put the original sign into all of them at this stage. + */ + vpxor .FLT_24(%rip), %ymm8, %ymm4 + vpand .FLT_25(%rip), %ymm9, %ymm7 + vpaddq %ymm6, %ymm3, %ymm3 + vpsrlq $24, %ymm9, %ymm9 + vpsllq $28, %ymm7, %ymm2 + vpsrlq $12, %ymm3, %ymm13 + vpor %ymm4, %ymm2, %ymm1 + vpor %ymm10, %ymm13, %ymm12 + vsubpd %ymm4, %ymm1, %ymm13 + vaddpd %ymm5, %ymm12, %ymm10 + vsubpd %ymm5, %ymm10, %ymm6 + vpxor .FLT_26(%rip), %ymm8, %ymm5 + vpand .FLT_27(%rip), %ymm3, %ymm8 + vsubpd %ymm6, %ymm12, %ymm0 + vpsllq $40, %ymm8, %ymm3 + vpor %ymm9, %ymm3, %ymm11 -/* - * If the magnitude of the input is <= 2^-20, then - * just pass through the input, since no reduction will be needed and - * the main path will only work accurately if the reduced argument is - * about >= 2^-70 (which it is for all large pi multiples) - */ - vmovupd .FLT_31(%rip), %ymm3 - vpor %ymm5, %ymm11, %ymm9 - vsubpd %ymm5, %ymm9, %ymm8 + /* + * If the magnitude of the input is <= 2^-20, then + * just pass through the input, since no reduction will be needed and + * the main path will only work accurately if the reduced argument is + * about >= 2^-70 (which it is for all large pi multiples) + */ + vmovupd .FLT_31(%rip), %ymm3 + vpor %ymm5, %ymm11, %ymm9 + vsubpd %ymm5, %ymm9, %ymm8 -/* Now add them up into 2 reasonably aligned pieces */ - vaddpd %ymm8, %ymm0, %ymm12 - vsubpd %ymm12, %ymm0, %ymm0 - vaddpd %ymm0, %ymm8, %ymm9 + /* Now add them up into 2 reasonably aligned pieces */ + vaddpd %ymm8, %ymm0, %ymm12 + vsubpd %ymm12, %ymm0, %ymm0 + vaddpd %ymm0, %ymm8, %ymm9 -/* - * Now multiply those numbers all by 2 pi, reasonably accurately. - * (RHi + RLo) * (pi_lead + pi_trail) ~= - * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) - */ - vmovupd .FLT_28(%rip), %ymm8 - vaddpd %ymm9, %ymm13, %ymm11 - vmulpd %ymm12, %ymm8, %ymm7 - vmovapd %ymm8, %ymm13 - vfmsub213pd %ymm7, %ymm12, %ymm13 + /* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * (RHi + RLo) * (pi_lead + pi_trail) ~= + * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) + */ + vmovupd .FLT_28(%rip), %ymm8 + vaddpd %ymm9, %ymm13, %ymm11 + vmulpd %ymm12, %ymm8, %ymm7 + vmovapd %ymm8, %ymm13 + vfmsub213pd %ymm7, %ymm12, %ymm13 -/* Grab our final N value as an integer, appropriately masked mod 2^9 */ - vandps .FLT_32(%rip), %ymm10, %ymm10 + /* Grab our final N value as an integer, appropriately masked mod 2^9 */ + vandps .FLT_32(%rip), %ymm10, %ymm10 -/* - * Argument reduction is now finished: x = n * pi/256 + r - * where n = lIndex and r = dZ - * But we have n modulo 512, needed for sin/cos with period 2pi - * but we want it modulo 256 since tan has period pi. - */ - vandps .FLT_33(%rip), %ymm10, %ymm10 - vandpd .FLT_30(%rip), %ymm15, %ymm5 - vcmpgt_oqpd %ymm3, %ymm5, %ymm4 - vcmple_oqpd %ymm3, %ymm5, %ymm6 - vfmadd132pd .FLT_29(%rip), %ymm13, %ymm12 - vfmadd213pd %ymm12, %ymm8, %ymm11 - vandpd %ymm15, %ymm6, %ymm2 - vandpd %ymm7, %ymm4, %ymm1 - vorpd %ymm1, %ymm2, %ymm0 - vandpd %ymm11, %ymm4, %ymm13 + /* + * Argument reduction is now finished: x = n * pi/256 + r + * where n = lIndex and r = dZ + * But we have n modulo 512, needed for sin/cos with period 2pi + * but we want it modulo 256 since tan has period pi. + */ + vandps .FLT_33(%rip), %ymm10, %ymm10 + vandpd .FLT_30(%rip), %ymm15, %ymm5 + vcmpgt_oqpd %ymm3, %ymm5, %ymm4 + vcmple_oqpd %ymm3, %ymm5, %ymm6 + vfmadd132pd .FLT_29(%rip), %ymm13, %ymm12 + vfmadd213pd %ymm12, %ymm8, %ymm11 + vandpd %ymm15, %ymm6, %ymm2 + vandpd %ymm7, %ymm4, %ymm1 + vorpd %ymm1, %ymm2, %ymm0 + vandpd %ymm11, %ymm4, %ymm13 -/* - * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND - * Simply absorb E into Z instead of keeping a 2-part result. - */ - vaddpd %ymm13, %ymm0, %ymm13 - vextractf128 $1, %ymm10, %xmm5 - vmovd %xmm10, %edi - vmovd %xmm5, %r11d - imull $104, %edi, %edx - imull $104, %r11d, %esi - vmovq -96(%rdx,%rcx), %xmm9 - vmovq -80(%rdx,%rcx), %xmm6 - vpextrd $2, %xmm10, %r8d - vpextrd $2, %xmm5, %edi - imull $104, %r8d, %eax - imull $104, %edi, %r8d - vmovq -96(%rsi,%rcx), %xmm12 - vmovq -72(%rdx,%rcx), %xmm4 - vmovq -80(%rsi,%rcx), %xmm2 - vmovhpd -96(%rax,%rcx), %xmm9, %xmm8 - vmovhpd -96(%r8,%rcx), %xmm12, %xmm3 - vmovq -56(%rdx,%rcx), %xmm9 - vmovq -72(%rsi,%rcx), %xmm0 - vmovq -56(%rsi,%rcx), %xmm5 - vmovhpd -80(%rax,%rcx), %xmm6, %xmm7 - vmovhpd -72(%rax,%rcx), %xmm4, %xmm11 - vmovhpd -80(%r8,%rcx), %xmm2, %xmm1 - vmovhpd -72(%r8,%rcx), %xmm0, %xmm10 - vmovq -48(%rdx,%rcx), %xmm6 - vmovq -48(%rsi,%rcx), %xmm0 - vinsertf128 $1, %xmm3, %ymm8, %ymm12 - vmovhpd -56(%rax,%rcx), %xmm9, %xmm8 - vmovhpd -56(%r8,%rcx), %xmm5, %xmm3 - vmovq -40(%rdx,%rcx), %xmm9 - vmovq -40(%rsi,%rcx), %xmm5 - vinsertf128 $1, %xmm1, %ymm7, %ymm2 - vinsertf128 $1, %xmm10, %ymm11, %ymm1 - vinsertf128 $1, %xmm3, %ymm8, %ymm4 - vmovhpd -48(%rax,%rcx), %xmm6, %xmm7 - vmovhpd -40(%rax,%rcx), %xmm9, %xmm8 - vmovq -32(%rdx,%rcx), %xmm11 - vmovhpd -48(%r8,%rcx), %xmm0, %xmm10 - vmovhpd -40(%r8,%rcx), %xmm5, %xmm6 - vmovq -32(%rsi,%rcx), %xmm9 - vmovhpd -32(%rax,%rcx), %xmm11, %xmm0 - vmovq -24(%rsi,%rcx), %xmm11 - vmovq -24(%rdx,%rcx), %xmm5 + /* + * The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND + * Simply absorb E into Z instead of keeping a 2-part result. + */ + vaddpd %ymm13, %ymm0, %ymm13 + vextractf128 $1, %ymm10, %xmm5 + vmovd %xmm10, %edi + vmovd %xmm5, %r11d + imull $104, %edi, %edx + imull $104, %r11d, %esi + vmovq -96(%rdx, %rcx), %xmm9 + vmovq -80(%rdx, %rcx), %xmm6 + vpextrd $2, %xmm10, %r8d + vpextrd $2, %xmm5, %edi + imull $104, %r8d, %eax + imull $104, %edi, %r8d + vmovq -96(%rsi, %rcx), %xmm12 + vmovq -72(%rdx, %rcx), %xmm4 + vmovq -80(%rsi, %rcx), %xmm2 + vmovhpd -96(%rax, %rcx), %xmm9, %xmm8 + vmovhpd -96(%r8, %rcx), %xmm12, %xmm3 + vmovq -56(%rdx, %rcx), %xmm9 + vmovq -72(%rsi, %rcx), %xmm0 + vmovq -56(%rsi, %rcx), %xmm5 + vmovhpd -80(%rax, %rcx), %xmm6, %xmm7 + vmovhpd -72(%rax, %rcx), %xmm4, %xmm11 + vmovhpd -80(%r8, %rcx), %xmm2, %xmm1 + vmovhpd -72(%r8, %rcx), %xmm0, %xmm10 + vmovq -48(%rdx, %rcx), %xmm6 + vmovq -48(%rsi, %rcx), %xmm0 + vinsertf128 $1, %xmm3, %ymm8, %ymm12 + vmovhpd -56(%rax, %rcx), %xmm9, %xmm8 + vmovhpd -56(%r8, %rcx), %xmm5, %xmm3 + vmovq -40(%rdx, %rcx), %xmm9 + vmovq -40(%rsi, %rcx), %xmm5 + vinsertf128 $1, %xmm1, %ymm7, %ymm2 + vinsertf128 $1, %xmm10, %ymm11, %ymm1 + vinsertf128 $1, %xmm3, %ymm8, %ymm4 + vmovhpd -48(%rax, %rcx), %xmm6, %xmm7 + vmovhpd -40(%rax, %rcx), %xmm9, %xmm8 + vmovq -32(%rdx, %rcx), %xmm11 + vmovhpd -48(%r8, %rcx), %xmm0, %xmm10 + vmovhpd -40(%r8, %rcx), %xmm5, %xmm6 + vmovq -32(%rsi, %rcx), %xmm9 + vmovhpd -32(%rax, %rcx), %xmm11, %xmm0 + vmovq -24(%rsi, %rcx), %xmm11 + vmovq -24(%rdx, %rcx), %xmm5 -/* - * Sum of dominant component(s) - * Compute C0_hi + C1_hi * Z + Recip_hi = H4 - * H2 = C0_hi + C1_hi * Z (exact since C1_hi is 1 bit) - */ - vfmadd213pd %ymm1, %ymm13, %ymm4 + /* + * Sum of dominant component(s) + * Compute C0_hi + C1_hi * Z + Recip_hi = H4 + * H2 = C0_hi + C1_hi * Z (exact since C1_hi is 1 bit) + */ + vfmadd213pd %ymm1, %ymm13, %ymm4 -/* - * Higher polynomial terms - * Stage 1 (with unlimited parallelism) - * Z2 = Z^2 - */ - vmulpd %ymm13, %ymm13, %ymm1 - vinsertf128 $1, %xmm10, %ymm7, %ymm3 - vinsertf128 $1, %xmm6, %ymm8, %ymm10 - vmovhpd -32(%r8,%rcx), %xmm9, %xmm8 - vmovhpd -24(%r8,%rcx), %xmm11, %xmm9 - vmovq -16(%rsi,%rcx), %xmm11 - vmovhpd -24(%rax,%rcx), %xmm5, %xmm7 + /* + * Higher polynomial terms + * Stage 1 (with unlimited parallelism) + * Z2 = Z^2 + */ + vmulpd %ymm13, %ymm13, %ymm1 + vinsertf128 $1, %xmm10, %ymm7, %ymm3 + vinsertf128 $1, %xmm6, %ymm8, %ymm10 + vmovhpd -32(%r8, %rcx), %xmm9, %xmm8 + vmovhpd -24(%r8, %rcx), %xmm11, %xmm9 + vmovq -16(%rsi, %rcx), %xmm11 + vmovhpd -24(%rax, %rcx), %xmm5, %xmm7 -/* P4 = C1_lo + C2 * Z */ - vfmadd213pd %ymm3, %ymm13, %ymm10 - vinsertf128 $1, %xmm8, %ymm0, %ymm6 - vmovq -16(%rdx,%rcx), %xmm8 - vmovhpd -16(%rax,%rcx), %xmm8, %xmm5 - vmovhpd -16(%r8,%rcx), %xmm11, %xmm0 - vmovq -8(%rdx,%rcx), %xmm8 - vmovq -8(%rsi,%rcx), %xmm11 - vinsertf128 $1, %xmm9, %ymm7, %ymm9 - vinsertf128 $1, %xmm0, %ymm5, %ymm7 - vmovhpd -8(%rax,%rcx), %xmm8, %xmm5 - vmovhpd -8(%r8,%rcx), %xmm11, %xmm0 + /* P4 = C1_lo + C2 * Z */ + vfmadd213pd %ymm3, %ymm13, %ymm10 + vinsertf128 $1, %xmm8, %ymm0, %ymm6 + vmovq -16(%rdx, %rcx), %xmm8 + vmovhpd -16(%rax, %rcx), %xmm8, %xmm5 + vmovhpd -16(%r8, %rcx), %xmm11, %xmm0 + vmovq -8(%rdx, %rcx), %xmm8 + vmovq -8(%rsi, %rcx), %xmm11 + vinsertf128 $1, %xmm9, %ymm7, %ymm9 + vinsertf128 $1, %xmm0, %ymm5, %ymm7 + vmovhpd -8(%rax, %rcx), %xmm8, %xmm5 + vmovhpd -8(%r8, %rcx), %xmm11, %xmm0 -/* P5 = C3 + C4 * Z */ - vfmadd213pd %ymm6, %ymm13, %ymm9 + /* P5 = C3 + C4 * Z */ + vfmadd213pd %ymm6, %ymm13, %ymm9 -/* P10 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 */ - vfmadd213pd %ymm10, %ymm1, %ymm9 - vinsertf128 $1, %xmm0, %ymm5, %ymm8 - vmovq (%rdx,%rcx), %xmm5 - vmovq (%rsi,%rcx), %xmm0 - vmovhpd (%rax,%rcx), %xmm5, %xmm11 - vmovhpd (%r8,%rcx), %xmm0, %xmm5 + /* P10 = C1_lo + C2 * Z + C3 * Z^2 + C4 * Z^3 */ + vfmadd213pd %ymm10, %ymm1, %ymm9 + vinsertf128 $1, %xmm0, %ymm5, %ymm8 + vmovq (%rdx, %rcx), %xmm5 + vmovq (%rsi, %rcx), %xmm0 + vmovhpd (%rax, %rcx), %xmm5, %xmm11 + vmovhpd (%r8, %rcx), %xmm0, %xmm5 -/* P6 = C5 + C6 * Z */ - vfmadd213pd %ymm7, %ymm13, %ymm8 - vinsertf128 $1, %xmm5, %ymm11, %ymm5 + /* P6 = C5 + C6 * Z */ + vfmadd213pd %ymm7, %ymm13, %ymm8 + vinsertf128 $1, %xmm5, %ymm11, %ymm5 -/* - * Compute reciprocal component - * Construct a separate reduced argument modulo pi near pi/2 multiples. - * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument - * from an accurate B_hi = (128 - n) pi/256. - */ - vsubpd %ymm13, %ymm12, %ymm11 + /* + * Compute reciprocal component + * Construct a separate reduced argument modulo pi near pi/2 multiples. + * i.e. (pi/2 - x) mod pi, simply by subtracting the reduced argument + * from an accurate B_hi = (128 - n) pi/256. + */ + vsubpd %ymm13, %ymm12, %ymm11 -/* P9 = C5 + C6 * Z + C7 * Z^2 */ - vfmadd213pd %ymm8, %ymm1, %ymm5 + /* P9 = C5 + C6 * Z + C7 * Z^2 */ + vfmadd213pd %ymm8, %ymm1, %ymm5 -/* Now compute an approximate reciprocal to mix into the computation. */ - vcvtpd2ps %ymm11, %xmm12 - vrcpps %xmm12, %xmm12 - vcvtps2pd %xmm12, %ymm0 + /* Now compute an approximate reciprocal to mix into the computation. */ + vcvtpd2ps %ymm11, %xmm12 + vrcpps %xmm12, %xmm12 + vcvtps2pd %xmm12, %ymm0 -/* - * Now compute the error dEr where dRecip_hi = (1/R_full) * (1 - dEr) - * so that we can compensate for it. - */ - vfnmadd213pd .FLT_34(%rip), %ymm0, %ymm11 + /* + * Now compute the error dEr where dRecip_hi = (1/R_full) * (1 - dEr) + * so that we can compensate for it. + */ + vfnmadd213pd .FLT_34(%rip), %ymm0, %ymm11 -/* - * Get a working-precision reciprocal 1/dR_full - * using a fourth-order polynomial approximation - * R + (E*R) * (1 + E) * (1 + E^2) - */ - vmulpd %ymm11, %ymm11, %ymm12 - vfmadd213pd %ymm11, %ymm11, %ymm11 - vfmadd213pd %ymm0, %ymm0, %ymm12 - vfmadd213pd %ymm0, %ymm11, %ymm12 + /* + * Get a working-precision reciprocal 1/dR_full + * using a fourth-order polynomial approximation + * R + (E*R) * (1 + E) * (1 + E^2) + */ + vmulpd %ymm11, %ymm11, %ymm12 + vfmadd213pd %ymm11, %ymm11, %ymm11 + vfmadd213pd %ymm0, %ymm0, %ymm12 + vfmadd213pd %ymm0, %ymm11, %ymm12 -/* - * - * End of large arguments path - * - * Merge results from main and large paths: - */ - vmovupd (%rsp), %ymm0 + /* + * + * End of large arguments path + * + * Merge results from main and large paths: + */ + vmovupd (%rsp), %ymm0 -/* - * dRecip_hi is only used when dTau is one (cotangent path) - * H4 = C0_hi + C1_hi * Z + Recip_hi - */ - vfmadd213pd %ymm4, %ymm2, %ymm12 + /* + * dRecip_hi is only used when dTau is one (cotangent path) + * H4 = C0_hi + C1_hi * Z + Recip_hi + */ + vfmadd213pd %ymm4, %ymm2, %ymm12 -/* - * Stage 2 (with unlimited parallelism) - * Z4 = Z^4 - */ - vmulpd %ymm1, %ymm1, %ymm2 + /* + * Stage 2 (with unlimited parallelism) + * Z4 = Z^4 + */ + vmulpd %ymm1, %ymm1, %ymm2 -/* - * Stage 3 (with unlimited parallelism) - * P12 = C1_lo + C2 * Z + ... + C7 * Z^6 - */ - vfmadd213pd %ymm9, %ymm2, %ymm5 + /* + * Stage 3 (with unlimited parallelism) + * P12 = C1_lo + C2 * Z + ... + C7 * Z^6 + */ + vfmadd213pd %ymm9, %ymm2, %ymm5 -/* And now the very final summation */ - vfmadd213pd %ymm12, %ymm13, %ymm5 - vblendvpd %ymm14, %ymm5, %ymm0, %ymm0 + /* And now the very final summation */ + vfmadd213pd %ymm12, %ymm13, %ymm5 + vblendvpd %ymm14, %ymm5, %ymm0, %ymm0 -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx r12 r13 r14 r15 r9d ymm0 ymm15 + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx r12 r13 r14 r15 r9d ymm0 ymm15 END(_ZGVdN4v_tan_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 .FLT_17: - .long 0x00000000,0x7ff00000,0x00000000,0x7ff00000,0x00000000,0x7ff00000,0x00000000,0x7ff00000 - .type .FLT_17,@object - .size .FLT_17,32 - .align 32 + .long 0x00000000, 0x7ff00000, 0x00000000, 0x7ff00000, 0x00000000, 0x7ff00000, 0x00000000, 0x7ff00000 + .type .FLT_17, @object + .size .FLT_17, 32 + .align 32 .FLT_18: - .long 0xffffffff,0x000fffff,0xffffffff,0x000fffff,0xffffffff,0x000fffff,0xffffffff,0x000fffff - .type .FLT_18,@object - .size .FLT_18,32 - .align 32 + .long 0xffffffff, 0x000fffff, 0xffffffff, 0x000fffff, 0xffffffff, 0x000fffff, 0xffffffff, 0x000fffff + .type .FLT_18, @object + .size .FLT_18, 32 + .align 32 .FLT_19: - .long 0x00000000,0x00100000,0x00000000,0x00100000,0x00000000,0x00100000,0x00000000,0x00100000 - .type .FLT_19,@object - .size .FLT_19,32 - .align 32 + .long 0x00000000, 0x00100000, 0x00000000, 0x00100000, 0x00000000, 0x00100000, 0x00000000, 0x00100000 + .type .FLT_19, @object + .size .FLT_19, 32 + .align 32 .FLT_20: - .long 0xffffffff,0x00000000,0xffffffff,0x00000000,0xffffffff,0x00000000,0xffffffff,0x00000000 - .type .FLT_20,@object - .size .FLT_20,32 - .align 32 + .long 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000, 0xffffffff, 0x00000000 + .type .FLT_20, @object + .size .FLT_20, 32 + .align 32 .FLT_21: - .long 0x00000000,0x80000000,0x00000000,0x80000000,0x00000000,0x80000000,0x00000000,0x80000000 - .type .FLT_21,@object - .size .FLT_21,32 - .align 32 + .long 0x00000000, 0x80000000, 0x00000000, 0x80000000, 0x00000000, 0x80000000, 0x00000000, 0x80000000 + .type .FLT_21, @object + .size .FLT_21, 32 + .align 32 .FLT_22: - .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000 - .type .FLT_22,@object - .size .FLT_22,32 - .align 32 + .long 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000 + .type .FLT_22, @object + .size .FLT_22, 32 + .align 32 .FLT_23: - .long 0x00000000,0x42a80000,0x00000000,0x42a80000,0x00000000,0x42a80000,0x00000000,0x42a80000 - .type .FLT_23,@object - .size .FLT_23,32 - .align 32 + .long 0x00000000, 0x42a80000, 0x00000000, 0x42a80000, 0x00000000, 0x42a80000, 0x00000000, 0x42a80000 + .type .FLT_23, @object + .size .FLT_23, 32 + .align 32 .FLT_24: - .long 0x00000000,0x39700000,0x00000000,0x39700000,0x00000000,0x39700000,0x00000000,0x39700000 - .type .FLT_24,@object - .size .FLT_24,32 - .align 32 + .long 0x00000000, 0x39700000, 0x00000000, 0x39700000, 0x00000000, 0x39700000, 0x00000000, 0x39700000 + .type .FLT_24, @object + .size .FLT_24, 32 + .align 32 .FLT_25: - .long 0x00ffffff,0x00000000,0x00ffffff,0x00000000,0x00ffffff,0x00000000,0x00ffffff,0x00000000 - .type .FLT_25,@object - .size .FLT_25,32 - .align 32 + .long 0x00ffffff, 0x00000000, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00000000, 0x00ffffff, 0x00000000 + .type .FLT_25, @object + .size .FLT_25, 32 + .align 32 .FLT_26: - .long 0x00000000,0x3cb00000,0x00000000,0x3cb00000,0x00000000,0x3cb00000,0x00000000,0x3cb00000 - .type .FLT_26,@object - .size .FLT_26,32 - .align 32 + .long 0x00000000, 0x3cb00000, 0x00000000, 0x3cb00000, 0x00000000, 0x3cb00000, 0x00000000, 0x3cb00000 + .type .FLT_26, @object + .size .FLT_26, 32 + .align 32 .FLT_27: - .long 0x00000fff,0x00000000,0x00000fff,0x00000000,0x00000fff,0x00000000,0x00000fff,0x00000000 - .type .FLT_27,@object - .size .FLT_27,32 - .align 32 + .long 0x00000fff, 0x00000000, 0x00000fff, 0x00000000, 0x00000fff, 0x00000000, 0x00000fff, 0x00000000 + .type .FLT_27, @object + .size .FLT_27, 32 + .align 32 .FLT_28: - .long 0x54442d18,0x401921fb,0x54442d18,0x401921fb,0x54442d18,0x401921fb,0x54442d18,0x401921fb - .type .FLT_28,@object - .size .FLT_28,32 - .align 32 + .long 0x54442d18, 0x401921fb, 0x54442d18, 0x401921fb, 0x54442d18, 0x401921fb, 0x54442d18, 0x401921fb + .type .FLT_28, @object + .size .FLT_28, 32 + .align 32 .FLT_29: - .long 0x33145c07,0x3cb1a626,0x33145c07,0x3cb1a626,0x33145c07,0x3cb1a626,0x33145c07,0x3cb1a626 - .type .FLT_29,@object - .size .FLT_29,32 - .align 32 + .long 0x33145c07, 0x3cb1a626, 0x33145c07, 0x3cb1a626, 0x33145c07, 0x3cb1a626, 0x33145c07, 0x3cb1a626 + .type .FLT_29, @object + .size .FLT_29, 32 + .align 32 .FLT_30: - .long 0xffffffff,0x7fffffff,0xffffffff,0x7fffffff,0xffffffff,0x7fffffff,0xffffffff,0x7fffffff - .type .FLT_30,@object - .size .FLT_30,32 - .align 32 + .long 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff + .type .FLT_30, @object + .size .FLT_30, 32 + .align 32 .FLT_31: - .long 0x00000000,0x3eb00000,0x00000000,0x3eb00000,0x00000000,0x3eb00000,0x00000000,0x3eb00000 - .type .FLT_31,@object - .size .FLT_31,32 - .align 32 + .long 0x00000000, 0x3eb00000, 0x00000000, 0x3eb00000, 0x00000000, 0x3eb00000, 0x00000000, 0x3eb00000 + .type .FLT_31, @object + .size .FLT_31, 32 + .align 32 .FLT_32: - .long 0x000001ff,0x00000000,0x000001ff,0x00000000,0x000001ff,0x00000000,0x000001ff,0x00000000 - .type .FLT_32,@object - .size .FLT_32,32 - .align 32 + .long 0x000001ff, 0x00000000, 0x000001ff, 0x00000000, 0x000001ff, 0x00000000, 0x000001ff, 0x00000000 + .type .FLT_32, @object + .size .FLT_32, 32 + .align 32 .FLT_33: - .long 0x000000ff,0x00000000,0x000000ff,0x00000000,0x000000ff,0x00000000,0x000000ff,0x00000000 - .type .FLT_33,@object - .size .FLT_33,32 - .align 32 + .long 0x000000ff, 0x00000000, 0x000000ff, 0x00000000, 0x000000ff, 0x00000000, 0x000000ff, 0x00000000 + .type .FLT_33, @object + .size .FLT_33, 32 + .align 32 .FLT_34: - .long 0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000,0x00000000,0x3ff00000 - .type .FLT_34,@object - .size .FLT_34,32 - .align 32 + .long 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000, 0x00000000, 0x3ff00000 + .type .FLT_34, @object + .size .FLT_34, 32 + .align 32 #ifdef __svml_dtan_data_internal_typedef typedef unsigned int VUINT32; - typedef struct - { - __declspec(align(32)) VUINT32 _dAbsMask[4][2]; - __declspec(align(32)) VUINT32 _dRangeVal[4][2]; - __declspec(align(32)) VUINT32 _dRShift[4][2]; - __declspec(align(32)) VUINT32 _dCoeffs[256][13][2]; - __declspec(align(32)) VUINT32 _dReductionRangeVal[4][2]; - __declspec(align(32)) VUINT32 _dInvPi[4][2]; - __declspec(align(32)) VUINT32 _dPI1[4][2]; - __declspec(align(32)) VUINT32 _dPI2[4][2]; - __declspec(align(32)) VUINT32 _dPI3[4][2]; - __declspec(align(32)) VUINT32 _dPI1_FMA[4][2]; - __declspec(align(32)) VUINT32 _dPI2_FMA[4][2]; - __declspec(align(32)) VUINT32 _dPI3_FMA[4][2]; - __declspec(align(32)) VUINT32 _dP1[4][2]; - __declspec(align(32)) VUINT32 _dP2[4][2]; - __declspec(align(32)) VUINT32 _dP3[4][2]; - __declspec(align(32)) VUINT32 _dQ0[4][2]; - __declspec(align(32)) VUINT32 _dQ1[4][2]; - __declspec(align(32)) VUINT32 _dQ2[4][2]; - __declspec(align(32)) VUINT32 _dQ3[4][2]; - } __svml_dtan_data_internal; +typedef struct { + __declspec(align(32)) VUINT32 _dAbsMask[4][2]; + __declspec(align(32)) VUINT32 _dRangeVal[4][2]; + __declspec(align(32)) VUINT32 _dRShift[4][2]; + __declspec(align(32)) VUINT32 _dCoeffs[256][13][2]; + __declspec(align(32)) VUINT32 _dReductionRangeVal[4][2]; + __declspec(align(32)) VUINT32 _dInvPi[4][2]; + __declspec(align(32)) VUINT32 _dPI1[4][2]; + __declspec(align(32)) VUINT32 _dPI2[4][2]; + __declspec(align(32)) VUINT32 _dPI3[4][2]; + __declspec(align(32)) VUINT32 _dPI1_FMA[4][2]; + __declspec(align(32)) VUINT32 _dPI2_FMA[4][2]; + __declspec(align(32)) VUINT32 _dPI3_FMA[4][2]; + __declspec(align(32)) VUINT32 _dP1[4][2]; + __declspec(align(32)) VUINT32 _dP2[4][2]; + __declspec(align(32)) VUINT32 _dP3[4][2]; + __declspec(align(32)) VUINT32 _dQ0[4][2]; + __declspec(align(32)) VUINT32 _dQ1[4][2]; + __declspec(align(32)) VUINT32 _dQ2[4][2]; + __declspec(align(32)) VUINT32 _dQ3[4][2]; +} __svml_dtan_data_internal; #endif __svml_dtan_data_internal: - /* Shared value*/ - .quad 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF /* _dAbsMask */ - .align 32 - .quad 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000 /* _dRangeVal */ - .align 32 - .quad 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000 /* _dRShift */ - // _dCoeffs Breakpoint B = 0 * pi/256, function tan(B + x) - .align 32 - .quad 0x3FF921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C91A62633145C07 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x0000000000000000 // c0 (high double) - .quad 0x0000000000000000 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x0000000000000000 // c1 (low double) - .quad 0x0000000000000000 // c2 - .quad 0x3FD5555555555559 // c3 - .quad 0x0000000000000000 // c4 - .quad 0x3FC1111110FE825D // c5 - .quad 0x0000000000000000 // c6 - .quad 0x3FABA1EEC0271523 // c7 - .quad 0x3FF8EFB75D9BA4BE // B' = pi/2 - B (high double) - .quad 0x3C760B679AB8CD3B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3F89224E047E368E // c0 (high double) - .quad 0xBC1A268EB2C67108 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F23BDBEAD8CF800 // c1 (low double) - .quad 0x3F8923461AE96D62 // c2 - .quad 0x3FD5589FB822D5EE // c3 - .quad 0x3F80C326DCDCFCD0 // c4 - .quad 0x3FC116A999125B7F // c5 - .quad 0x3F7300CC26596ADA // c6 - .quad 0x3FAB7B6F1DE289A8 // c7 - .quad 0x3FF8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0xBC7A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3F992346247A91F0 // c0 (high double) - .quad 0xBBF126D920C15240 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F43BF447B091000 // c1 (low double) - .quad 0x3F992726F0F98D7F // c2 - .quad 0x3FD5628108EFA55C // c3 - .quad 0x3F90C8A60639C114 // c4 - .quad 0x3FC127789EC0BD38 // c5 - .quad 0x3F830BA6F46C58B7 // c6 - .quad 0x3FABBEE2C1E62B81 // c7 - .quad 0x3FF88B2F704A940A // B' = pi/2 - B (high double) - .quad 0xBC92C3BEB21E1E21 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FA2DBAAE9A05DB0 // c0 (high double) - .quad 0xBC4371F88E84877C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F563A086B860B00 // c1 (low double) - .quad 0x3FA2E23785EEB488 // c2 - .quad 0x3FD572FFC353B741 // c3 - .quad 0x3F993ABD2276BF6A // c4 - .quad 0x3FC1439260886581 // c5 - .quad 0x3F8CAC359DCF5E16 // c6 - .quad 0x3FAB56F9A068D4C5 // c7 - .quad 0x3FF858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0xBC9EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FA927278A3B1162 // c0 (high double) - .quad 0x3BFB01BD7A51D5C0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F63C55DB08E1680 // c1 (low double) - .quad 0x3FA936B1EC652161 // c2 - .quad 0x3FD58A26BD6CCCCD // c3 - .quad 0x3FA0DEB5445B4098 // c4 - .quad 0x3FC16B146127E154 // c5 - .quad 0x3F9336A98365D094 // c6 - .quad 0x3FAC19302EB1C4A9 // c7 - .quad 0x3FF826A782F98355 // B' = pi/2 - B (high double) - .quad 0x3C94F5A8B515906F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FAF7495EA3F3783 // c0 (high double) - .quad 0xBC407F10D50F4C0A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F6EEB8B377B1A00 // c1 (low double) - .quad 0x3FAF92FABFD0B7B3 // c2 - .quad 0x3FD5A805341437FF // c3 - .quad 0x3FA52B295E2DCF92 // c4 - .quad 0x3FC19E2C59B8C033 // c5 - .quad 0x3F982CF88466EFEC // c6 - .quad 0x3FAD27509D6C3FEA // c7 - .quad 0x3FF7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0x3C81A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FB2E239CCFF3831 // c0 (high double) - .quad 0x3C5879ED3FF4EEAE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F764980AEEE3740 // c1 (low double) - .quad 0x3FB2FC879C81123C // c2 - .quad 0x3FD5CCAEDC1DC96E // c3 - .quad 0x3FA98599B71D86B1 // c4 - .quad 0x3FC1DD150D55E5CE // c5 - .quad 0x3F9D3EB9450DBD01 // c6 - .quad 0x3FADD6CFBE9AA234 // c7 - .quad 0x3FF7C21F95A872A1 // B' = pi/2 - B (high double) - .quad 0xBC6A877F1DB6080C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FB60B9F7597FDEC // c0 (high double) - .quad 0x3C3D1E3FBF3B4E18 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) - .quad 0x3FB6357984E124B6 // c2 - .quad 0x3FD5F83BF8B56900 // c3 - .quad 0x3FADF0F50CAA06C2 // c4 - .quad 0x3FC2281476904258 // c5 - .quad 0x3FA138F0F640FD68 // c6 - .quad 0x3FAF8D1BCDD8D11F // c7 - .quad 0x3FF78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC8EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FB936BB8C5B2DA2 // c0 (high double) - .quad 0x3C587D23392C2BA2 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F83DDE2A8935DE0 // c1 (low double) - .quad 0x3FB97558DC230BA8 // c2 - .quad 0x3FD62AC976FBC1B8 // c3 - .quad 0x3FB1381EB60159F6 // c4 - .quad 0x3FC27F84438D5029 // c5 - .quad 0x3FA3E63B3A462E45 // c6 - .quad 0x3FAF0AE614B2D473 // c7 - .quad 0x3FF75D97A85761ED // B' = pi/2 - B (high double) - .quad 0xBC9B97887C831272 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FBC63CE377FC802 // c0 (high double) - .quad 0xBC543F7D42DBAC49 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F892FE02A47EFA0 // c1 (low double) - .quad 0x3FBCBD3001C956C5 // c2 - .quad 0x3FD664790F293C47 // c3 - .quad 0x3FB38345DE7C4B0B // c4 - .quad 0x3FC2E3C4C02FFDFB // c5 - .quad 0x3FA6AA7F0C13520B // c6 - .quad 0x3FAFE3C754A9F092 // c7 - .quad 0x3FF72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0x3C98452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FBF93183A8DB9E9 // c0 (high double) - .quad 0xBC4124AC452772E2 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F8F27A3181EE680 // c1 (low double) - .quad 0x3FC00707549D7ECC // c2 - .quad 0x3FD6A5716B500730 // c3 - .quad 0x3FB5DB89BB6B245F // c4 - .quad 0x3FC3554867F59648 // c5 - .quad 0x3FA98919BF6D176A // c6 - .quad 0x3FB1AF9A1823147B // c7 - .quad 0x3FF6F90FBB065138 // B' = pi/2 - B (high double) - .quad 0x3C8843BDD561383D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC1626D85A91E70 // c0 (high double) - .quad 0xBC50084844291CB4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F92E3863C9A69E0 // c1 (low double) - .quad 0x3FC1B4854BB2B147 // c2 - .quad 0x3FD6EDDE5416DFFB // c3 - .quad 0x3FB8429341CCA17A // c4 - .quad 0x3FC3D49AC2C9F46F // c5 - .quad 0x3FAC85843914CF90 // c6 - .quad 0x3FB1B1DC3FA33DDD // c7 - .quad 0x3FF6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0xBBD6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC2FCAC73A60640 // c0 (high double) - .quad 0x3C52CF95F70B55BA // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F96881A43B33590 // c1 (low double) - .quad 0x3FC367A033B52F5E // c2 - .quad 0x3FD73DF0E3CC557A // c3 - .quad 0x3FBABA1CAC4F18CD // c4 - .quad 0x3FC4624C36BE941B // c5 - .quad 0x3FAFA38B2F8876EF // c6 - .quad 0x3FB215B1F404D921 // c7 - .quad 0x3FF69487CDB54084 // B' = pi/2 - B (high double) - .quad 0xBC8849735C376AA4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC4986A74CF4E57 // c0 (high double) - .quad 0x3C69AB0A24392F72 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9A82B60D75F5C0 // c1 (low double) - .quad 0x3FC520EA2BA6A0AE // c2 - .quad 0x3FD795DFBFFEE39E // c3 - .quad 0x3FBD43F3A7862CC7 // c4 - .quad 0x3FC4FF04247D700A // c5 - .quad 0x3FB1739726786F4F // c6 - .quad 0x3FB2FAC67533455B // c7 - .quad 0x3FF66243D70CB82A // B' = pi/2 - B (high double) - .quad 0xBC984805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC635C990CE0D36 // c0 (high double) - .quad 0xBC59DFC0C48C1978 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9ED49F1F8144C0 // c1 (low double) - .quad 0x3FC6E0F98ED00C32 // c2 - .quad 0x3FD7F5E75A2DD66E // c3 - .quad 0x3FBFE1FBA10F6B0E // c4 - .quad 0x3FC5AB7CD1905EB8 // c5 - .quad 0x3FB32A57A4FAE3F9 // c6 - .quad 0x3FB4BA60BA656817 // c7 - .quad 0x3FF62FFFE0642FCF // B' = pi/2 - B (high double) - .quad 0x3C9B94ADB917F93E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC7D4EC54FB5968 // c0 (high double) - .quad 0x3C4FB65648F8ABF4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA1BF9C7C60B940 // c1 (low double) - .quad 0x3FC8A86964A1796B // c2 - .quad 0x3FD85E4A37F23352 // c3 - .quad 0x3FC14B181F5BF6AE // c4 - .quad 0x3FC66888E3A5D3B3 // c5 - .quad 0x3FB4F84D7AC0F5DA // c6 - .quad 0x3FB62BA6F082700C // c7 - .quad 0x3FF5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C8EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FC975F5E0553158 // c0 (high double) - .quad 0x3C2EEEA31ABB0A10 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA4420303DEC550 // c1 (low double) - .quad 0x3FCA77D9D62CA610 // c2 - .quad 0x3FD8CF5143323608 // c3 - .quad 0x3FC2B15401455507 // c4 - .quad 0x3FC7370FF0965570 // c5 - .quad 0x3FB6DFEACA56EACB // c6 - .quad 0x3FB6B75DF89DE1EC // c7 - .quad 0x3FF5CB77F3131F1B // B' = pi/2 - B (high double) - .quad 0x3C6A70A9025D3E70 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FCB1909EFD8B762 // c0 (high double) - .quad 0x3C5843049E1321E0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA6F2545C478E00 // c1 (low double) - .quad 0x3FCC4FF0A9D74F70 // c2 - .quad 0x3FD9494C22EF2A54 // c3 - .quad 0x3FC424CB909A6722 // c4 - .quad 0x3FC8180A481D5934 // c5 - .quad 0x3FB8E3D90C36FA83 // c6 - .quad 0x3FB8D27EAFF0DF70 // c7 - .quad 0x3FF59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0xBC81AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FCCBE4CEB4B4CF2 // c0 (high double) - .quad 0x3C64A514F790E428 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA9D1724DE6C940 // c1 (low double) - .quad 0x3FCE3159C5ED3A4E // c2 - .quad 0x3FD9CC919D4271B2 // c3 - .quad 0x3FC5A6A9489AA7F4 // c4 - .quad 0x3FC90C961E2B49F6 // c5 - .quad 0x3FBB06EE7CFA3693 // c6 - .quad 0x3FB9E9447AB1D521 // c7 - .quad 0x3FF566F005C20E67 // B' = pi/2 - B (high double) - .quad 0xBC94F8837880A9A2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FCE65E3F27C9F2A // c0 (high double) - .quad 0x3C6F62A8B8B40082 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FACE04FD3EC1C90 // c1 (low double) - .quad 0x3FD00E63DD639A45 // c2 - .quad 0x3FDA598003751442 // c3 - .quad 0x3FC73829AC409F93 // c4 - .quad 0x3FCA15E3A26F9D65 // c5 - .quad 0x3FBD4C4574E0CB34 // c6 - .quad 0x3FBB9C5881865EC1 // c7 - .quad 0x3FF534AC0F19860C // B' = pi/2 - B (high double) - .quad 0x3C9EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD007FA758626AE // c0 (high double) - .quad 0x3C65A5EB9CA505B6 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB00FF8E583BEBC // c1 (low double) - .quad 0x3FD1097A2AA570F5 // c2 - .quad 0x3FDAF07DA8CAEBA7 // c3 - .quad 0x3FC8DA9D107525AD // c4 - .quad 0x3FCB3545F2ADC1D6 // c5 - .quad 0x3FBFB739DB465891 // c6 - .quad 0x3FBDA2C23752D365 // c7 - .quad 0x3FF502681870FDB2 // B' = pi/2 - B (high double) - .quad 0x3C92C0E3EEB304EE // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD0DE53475F3B3C // c0 (high double) - .quad 0x3C67B2CC0A83B8D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) - .quad 0x3FD20A509D4BB6C1 // c2 - .quad 0x3FDB91F96510DF38 // c3 - .quad 0x3FCA8F698D62832E // c4 - .quad 0x3FCC6C340829132A // c5 - .quad 0x3FC125B6D8F6980A // c6 - .quad 0x3FBE80E8F3AEF448 // c7 - .quad 0x3FF4D02421C87558 // B' = pi/2 - B (high double) - .quad 0x3C7A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD1B6103D3597E9 // c0 (high double) - .quad 0x3C6CBCB5FED7BFB0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB39AFA3392E164 // c1 (low double) - .quad 0x3FD3114C46E2AEF3 // c2 - .quad 0x3FDC3E6B23EF73B5 // c3 - .quad 0x3FCC580D1B42EE7F // c4 - .quad 0x3FCDBC3D6E14D1FF // c5 - .quad 0x3FC28671B66B7EBD // c6 - .quad 0x3FC0BFBCFE643140 // c7 - .quad 0x3FF49DE02B1FECFE // B' = pi/2 - B (high double) - .quad 0xBC7616D2A8653209 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD28F459ECAD74D // c0 (high double) - .quad 0x3C302C86D50F5140 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB5875F92EDBDF4 // c1 (low double) - .quad 0x3FD41ED6D05A0010 // c2 - .quad 0x3FDCF65481FC5BEB // c3 - .quad 0x3FCE361FE028368D // c4 - .quad 0x3FCF2728B941710D // c5 - .quad 0x3FC3FFF67496086B // c6 - .quad 0x3FC1A12109F041C7 // c7 - .quad 0x3FF46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC91A900F67F753A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD36A08355C63DC // c0 (high double) - .quad 0xBC6D7145B6A0EB84 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB78E922B82AB64 // c1 (low double) - .quad 0x3FD5335ED87AB0D5 // c2 - .quad 0x3FDDBA417913D89C // c3 - .quad 0x3FD015AB59BD876B // c4 - .quad 0x3FD0576D1EF5DB86 // c5 - .quad 0x3FC594A6DD2CA170 // c6 - .quad 0x3FC2F51FBC1D0708 // c7 - .quad 0x3FF439583DCEDC4A // B' = pi/2 - B (high double) - .quad 0xBC9DCC4D42E59DF2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD4466D542BAC92 // c0 (high double) - .quad 0xBC705073A04E3471 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB9B14751F8BA20 // c1 (low double) - .quad 0x3FD64F58590170A2 // c2 - .quad 0x3FDE8AC91D15CFCF // c3 - .quad 0x3FD11CC2EF09C664 // c4 - .quad 0x3FD12AB5AB65B965 // c5 - .quad 0x3FC7471C9AC8155B // c6 - .quad 0x3FC4826BA97C3E62 // c7 - .quad 0x3FF40714472653EF // B' = pi/2 - B (high double) - .quad 0x3C96106670B43955 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD5248AE1701B17 // c0 (high double) - .quad 0x3C7BE8CC944DBC57 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBBF04005723CCC // c1 (low double) - .quad 0x3FD7733D1300258A // c2 - .quad 0x3FDF688E6ACC7DF5 // c3 - .quad 0x3FD231520EA793C8 // c4 - .quad 0x3FD20E93C5183A32 // c5 - .quad 0x3FC91A331D55B3EE // c6 - .quad 0x3FC651721E153056 // c7 - .quad 0x3FF3D4D0507DCB95 // B' = pi/2 - B (high double) - .quad 0x3C83DA34489C213B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD604775FBB27DF // c0 (high double) - .quad 0x3C6AC647C9CF38D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBE4C49866D2D78 // c1 (low double) - .quad 0x3FD89F8D033946D5 // c2 - .quad 0x3FE02A20954EE23A // c3 - .quad 0x3FD35466F88C5ABC // c4 - .quad 0x3FD3044BAC5DC8C8 // c5 - .quad 0x3FCB110C3D6FEB5E // c6 - .quad 0x3FC7761A8DBF67E9 // c7 - .quad 0x3FF3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0xBC61B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD6E649F7D78649 // c0 (high double) - .quad 0x3C678D2AC032531A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC0631EFCBE0D16 // c1 (low double) - .quad 0x3FD9D4CEDF38DFCD // c2 - .quad 0x3FE0A74F7488C3A6 // c3 - .quad 0x3FD487249EA3BD6C // c4 - .quad 0x3FD40D3A9BDEFA27 // c5 - .quad 0x3FCD2F1CBD1B58BD // c6 - .quad 0x3FC98CBDCEBDACE8 // c7 - .quad 0x3FF37048632CBAE1 // B' = pi/2 - B (high double) - .quad 0xBC8CB2FCE8FC81A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD7CA1A832D0F84 // c0 (high double) - .quad 0xBC7EE5A71208FD7E // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC1AF828B5ED674 // c1 (low double) - .quad 0x3FDB13909C0269A2 // c2 - .quad 0x3FE12C3A0394B7FA // c3 - .quad 0x3FD5CAC4A421216C // c4 - .quad 0x3FD52AE625505253 // c5 - .quad 0x3FCF7831018A6159 // c6 - .quad 0x3FCB98AB42F54A08 // c7 - .quad 0x3FF33E046C843287 // B' = pi/2 - B (high double) - .quad 0xBC9A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD8B00196B3D022 // c0 (high double) - .quad 0xBC67341EE3041CF4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC30BCA73878656 // c1 (low double) - .quad 0x3FDC5C67FF403B73 // c2 - .quad 0x3FE1B94E72981059 // c3 - .quad 0x3FD7209990BAE1F6 // c4 - .quad 0x3FD65EF72AC3A4FA // c5 - .quad 0x3FD0F83D8377C340 // c6 - .quad 0x3FCD97555AF455A0 // c7 - .quad 0x3FF30BC075DBAA2C // B' = pi/2 - B (high double) - .quad 0x3C995FE8F2B56DBD // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FD998188E816BF0 // c0 (high double) - .quad 0x3C73DB2BD13E24E8 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC478794806DE66 // c1 (low double) - .quad 0x3FDDAFF33BF96274 // c2 - .quad 0x3FE24F039543C659 // c3 - .quad 0x3FD88A113E071D2D // c4 - .quad 0x3FD7AB3E661E65FA // c5 - .quad 0x3FD24E4E1B8DC6C3 // c6 - .quad 0x3FD01ED5FCAC1031 // c7 - .quad 0x3FF2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C8A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDA827999FCEF32 // c0 (high double) - .quad 0x3C708A11019E58E9 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC5F619980C4336 // c1 (low double) - .quad 0x3FDF0ED99BED9B65 // c2 - .quad 0x3FE2EDD996C1BBEB // c3 - .quad 0x3FDA08B785C6EA59 // c4 - .quad 0x3FD911BC7B12902D // c5 - .quad 0x3FD3C0DA5B1130BA // c6 - .quad 0x3FD1B590151E4269 // c7 - .quad 0x3FF2A738888A9978 // B' = pi/2 - B (high double) - .quad 0x3C5195059E91C4D2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDB6F3FC8C61E5B // c0 (high double) - .quad 0xBC6A1CC48267E6BE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC7853E65CE5524 // c1 (low double) - .quad 0x3FE03CE61B6A9E63 // c2 - .quad 0x3FE3965ABF5C8FAB // c3 - .quad 0x3FDB9E3938F261E9 // c4 - .quad 0x3FDA94A771ED6FE6 // c5 - .quad 0x3FD552B7D4636639 // c6 - .quad 0x3FD2F58F20A08A92 // c7 - .quad 0x3FF274F491E2111E // B' = pi/2 - B (high double) - .quad 0xBC8613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDC5E87185E67B6 // c0 (high double) - .quad 0x3C4FEBA1F149DF00 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC92683A68EB5D0 // c1 (low double) - .quad 0x3FE0F8C35C7247C7 // c2 - .quad 0x3FE4491C4DCA262E // c3 - .quad 0x3FDD4C67683395D6 // c4 - .quad 0x3FDC3667C15EBF94 // c5 - .quad 0x3FD7070B7FE443C4 // c6 - .quad 0x3FD4805841782C0C // c7 - .quad 0x3FF242B09B3988C4 // B' = pi/2 - B (high double) - .quad 0xBC972D483EE33523 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDD506C82A2C800 // c0 (high double) - .quad 0x3C6E169413E029AE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCADA8ECCC42C48 // c1 (low double) - .quad 0x3FE1BB681D0BE8A7 // c2 - .quad 0x3FE506BF662527D3 // c3 - .quad 0x3FDF153B07CB2306 // c4 - .quad 0x3FDDF9A636394DC9 // c5 - .quad 0x3FD8E153A4A78673 // c6 - .quad 0x3FD6937B3797DBB1 // c7 - .quad 0x3FF2106CA4910069 // B' = pi/2 - B (high double) - .quad 0x3C9CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDE450E0D273E7A // c0 (high double) - .quad 0x3C74138BBC424A0D // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCCA20F5D4879EA // c1 (low double) - .quad 0x3FE2853E13FBB7C7 // c2 - .quad 0x3FE5CFF21905E477 // c3 - .quad 0x3FE07D6C7D0DAC66 // c4 - .quad 0x3FDFE1550F550216 // c5 - .quad 0x3FDAE570CE7F6BD7 // c6 - .quad 0x3FD89328A3ABE601 // c7 - .quad 0x3FF1DE28ADE8780F // B' = pi/2 - B (high double) - .quad 0x3C908C1F2850796D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FDF3C8AD985D9EE // c0 (high double) - .quad 0x3C455C31F5355658 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCE7DBF907D8618 // c1 (low double) - .quad 0x3FE356B5A1D9CA5A // c2 - .quad 0x3FE6A57085697F99 // c3 - .quad 0x3FE17FCB46BE280B // c4 - .quad 0x3FE0F858275BAA48 // c5 - .quad 0x3FDD17B47CA8A83B // c6 - .quad 0x3FDA9B369A707A32 // c7 - .quad 0x3FF1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0x3C71A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE01B819B5A7CF7 // c0 (high double) - .quad 0x3C80BED996FBB65F // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD03732803B2A4C // c1 (low double) - .quad 0x3FE430465B55C6C0 // c2 - .quad 0x3FE78806185ACF72 // c3 - .quad 0x3FE292FF3DF61A34 // c4 - .quad 0x3FE215A449967BC2 // c5 - .quad 0x3FDF7CEF2946D3A8 // c6 - .quad 0x3FDD0F4FF3CD442F // c7 - .quad 0x3FF179A0C097675B // B' = pi/2 - B (high double) - .quad 0xBC7EE9E5C1EF600D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE09A4C59BD0D4D // c0 (high double) - .quad 0xBC451D94A7B70320 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD13A68B2A5E855 // c1 (low double) - .quad 0x3FE5126F9FD8D89F // c2 - .quad 0x3FE8788EEDC53F19 // c3 - .quad 0x3FE3B86B3E883B76 // c4 - .quad 0x3FE34A881E7F09C9 // c5 - .quad 0x3FE10D3EF07D106A // c6 - .quad 0x3FDFEBFE6AA0C4E7 // c7 - .quad 0x3FF1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC93DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE11AB7190834EC // c0 (high double) - .quad 0xBC8E577A07DB7162 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD248F1B07217E3 // c1 (low double) - .quad 0x3FE5FDB93DD01D06 // c2 - .quad 0x3FE977F956462152 // c3 - .quad 0x3FE4F192BE91E40A // c4 - .quad 0x3FE49932EEB2A51B // c5 - .quad 0x3FE27B305435DE1B // c6 - .quad 0x3FE176C2BDD3B0A4 // c7 - .quad 0x3FF11518D34656A6 // B' = pi/2 - B (high double) - .quad 0x3C9FFEEDF6B7D68D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE19CD3FE8E405D // c0 (high double) - .quad 0xBC84E5C1D482FB99 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD36343ADCAF866 // c1 (low double) - .quad 0x3FE6F2B4260FF6A8 // c2 - .quad 0x3FEA8747864942E1 // c3 - .quad 0x3FE6401D47362936 // c4 - .quad 0x3FE6040F50A52FBF // c5 - .quad 0x3FE40BA6192CC669 // c6 - .quad 0x3FE302E7DAB9BDE8 // c7 - .quad 0x3FF0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0x3C93DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE220B5EF047825 // c0 (high double) - .quad 0x3C5AE1F6C713C510 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD489DC399ADDEC // c1 (low double) - .quad 0x3FE7F1FB2FEBE8C6 // c2 - .quad 0x3FEBA791734D6CCE // c3 - .quad 0x3FE7A5DA56BAB9DA // c4 - .quad 0x3FE78DC9A17C17D7 // c5 - .quad 0x3FE5C262725357A1 // c6 - .quad 0x3FE4D1FE58052A33 // c7 - .quad 0x3FF0B090E5F545F2 // B' = pi/2 - B (high double) - .quad 0x3C7EE15577AE1472 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE2A6709A74F289 // c0 (high double) - .quad 0x3C76E3B98C26B440 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD5BD40BF249496 // c1 (low double) - .quad 0x3FE8FC33EFCF6F3A // c2 - .quad 0x3FECDA06E4CFC822 // c3 - .quad 0x3FE924C5BA1C7515 // c4 - .quad 0x3FE9395A86CEDBCC // c5 - .quad 0x3FE7A39B6931C7C5 // c6 - .quad 0x3FE6D875BED7333E // c7 - .quad 0x3FF07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0xBC71ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE32E1889047FFD // c0 (high double) - .quad 0xBC810D08F0134DCF // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD6FDFF12A4297B // c1 (low double) - .quad 0x3FEA120FA25B9D83 // c2 - .quad 0x3FEE1FF1BF27E6AB // c3 - .quad 0x3FEABF0C6E045EA0 // c4 - .quad 0x3FEB0A0E2CDCAB88 // c5 - .quad 0x3FE9B40D41660E8E // c6 - .quad 0x3FE92FCC1848D932 // c7 - .quad 0x3FF04C08F8A4353E // B' = pi/2 - B (high double) - .quad 0xBC908E433AE0CC54 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE3B7C3289ED6F3 // c0 (high double) - .quad 0xBC8C4CF3D327FEEC // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD84CAE0A06DE7C // c1 (low double) - .quad 0x3FEB344C2E4C0F47 // c2 - .quad 0x3FEF7AB88F5F820C // c3 - .quad 0x3FEC771219A99E98 // c4 - .quad 0x3FED0390B144EACB // c5 - .quad 0x3FEBF90A32A17503 // c6 - .quad 0x3FEBAC50A2912BE1 // c7 - .quad 0x3FF019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0xBC9CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE44386DB9CE5DB // c0 (high double) - .quad 0xBC8A7F79AD342CDE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD9A9EE22E82AF2 // c1 (low double) - .quad 0x3FEC63B53FACFD1B // c2 - .quad 0x3FF075F0B010F1C9 // c3 - .quad 0x3FEE4F7738A37AC1 // c4 - .quad 0x3FEF29F7068A6E02 // c5 - .quad 0x3FEE78912F3E4890 // c6 - .quad 0x3FEE7DE5AD19FDA8 // c7 - .quad 0x3FEFCF0216A64913 // B' = pi/2 - B (high double) - .quad 0xBC81A9B7A75A3B87 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE4D17B087B265D // c0 (high double) - .quad 0xBC788AAC4AE1F0D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDB166A3723839C // c1 (low double) - .quad 0x3FEDA1257F3D5E87 // c2 - .quad 0x3FF13A8A70704F6B // c3 - .quad 0x3FF025900612C493 // c4 - .quad 0x3FF0C0E778680DE8 // c5 - .quad 0x3FF09CB2B02DFCCB // c6 - .quad 0x3FF0D681147681D3 // c7 - .quad 0x3FEF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C860FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE561B82AB7F990 // c0 (high double) - .quad 0x3C87A5FA3E37FD12 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDC92D84170BCC6 // c1 (low double) - .quad 0x3FEEED87E934644C // c2 - .quad 0x3FF20C10F4D7D072 // c3 - .quad 0x3FF1369E37DA5741 // c4 - .quad 0x3FF20816F61AB3EE // c5 - .quad 0x3FF221953D8712EF // c6 - .quad 0x3FF29CA76CD561F8 // c7 - .quad 0x3FEF05F23C0427AA // B' = pi/2 - B (high double) - .quad 0xBC51B746C796F33C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE5F457E4F4812E // c0 (high double) - .quad 0x3C8F6EE06A43F015 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDE1FFA33ABCB2D // c1 (low double) - .quad 0x3FF024ECA3857FDF // c2 - .quad 0x3FF2EB80B3E2C969 // c3 - .quad 0x3FF25CA858ECE33E // c4 - .quad 0x3FF36D6159DB2BC3 // c5 - .quad 0x3FF3CF427530AFA1 // c6 - .quad 0x3FF4914D16BF30D2 // c7 - .quad 0x3FEEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0xBC8A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE6897514751DB6 // c0 (high double) - .quad 0x3C7432E08569C822 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDFBE9EE099229D // c1 (low double) - .quad 0x3FF0DB94E83152C9 // c2 - .quad 0x3FF3D9ED602549D9 // c3 - .quad 0x3FF3999FCB35B63C // c4 - .quad 0x3FF4F3F4BB18D34D // c5 - .quad 0x3FF5AA9FE2712A89 // c6 - .quad 0x3FF6B61F156D157E // c7 - .quad 0x3FEE3CE261620641 // B' = pi/2 - B (high double) - .quad 0x3C7A77CBEAE8FD71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE7212BE621BE6D // c0 (high double) - .quad 0x3C8AD14CAC5AE1D4 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDE905D04D13F70 // c1 (low double) - .quad 0x3FF19B4F7BD63206 // c2 - .quad 0x3FF4D8845C8EEC38 // c3 - .quad 0x3FF4EFAAD70924AA // c4 - .quad 0x3FF69F610EDFA788 // c5 - .quad 0x3FF7B93C8525966A // c6 - .quad 0x3FF928F49138F1A9 // c7 - .quad 0x3FEDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0xBC76156546AFA570 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE7BB99ED2990CF // c0 (high double) - .quad 0xBC8AABB1289366EE // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDCCC0DD257FE9F // c1 (low double) - .quad 0x3FF264BAB3E8C3FC // c2 - .quad 0x3FF5E88F7CC1F7BC // c3 - .quad 0x3FF6612B1AE228E1 // c4 - .quad 0x3FF873A64164BF00 // c5 - .quad 0x3FFA016987C44E2A // c6 - .quad 0x3FFBFCA608E41B3A // c7 - .quad 0x3FED73D286BFE4D8 // B' = pi/2 - B (high double) - .quad 0x3C8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE858DE3B716571 // c0 (high double) - .quad 0x3C8C6340D74EFAEE // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDAF377B50F3DE8 // c1 (low double) - .quad 0x3FF338819C6A585B // c2 - .quad 0x3FF70B781BB3F9F8 // c3 - .quad 0x3FF7F0C4DC952BEE // c4 - .quad 0x3FFA75444794B0BE // c5 - .quad 0x3FFC8A58AEEA152D // c6 - .quad 0x3FFF1509C3EC473F // c7 - .quad 0x3FED0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0x3C61A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE8F9197BF85EEB // c0 (high double) - .quad 0xBC77971D706288A0 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD9058D62BBB98D // c1 (low double) - .quad 0x3FF4175D31199B0C // c2 - .quad 0x3FF842CA948070CE // c3 - .quad 0x3FF9A1675E6F2233 // c4 - .quad 0x3FFCA94A75D1DF36 // c5 - .quad 0x3FFF5C3EE98CB77C // c6 - .quad 0x4001549BBD7761F7 // c7 - .quad 0x3FECAAC2AC1DC370 // B' = pi/2 - B (high double) - .quad 0xBC83DE7C6DBCC708 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FE99C6E0F634394 // c0 (high double) - .quad 0x3C81A125C4B0D75F // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD7012EAAC8A987 // c1 (low double) - .quad 0x3FF50215B95FD940 // c2 - .quad 0x3FF9903A2B193F49 // c3 - .quad 0x3FFB7656607D37C1 // c4 - .quad 0x3FFF156F461C0EE0 // c5 - .quad 0x4001403E48F2741B // c6 - .quad 0x40034ACD8D38409A // c7 - .quad 0x3FEC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C83DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEA43002AE42850 // c0 (high double) - .quad 0xBC7A7C0406D92972 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD4E526E33345B8 // c1 (low double) - .quad 0x3FF5F9844B626284 // c2 - .quad 0x3FFAF5A574C2F3BF // c3 - .quad 0x3FFD7334FD198D13 // c4 - .quad 0x4000E01251879DC7 // c5 - .quad 0x400300E6F5213CC2 // c6 - .quad 0x40058BA67D3A054A // c7 - .quad 0x3FEBE1B2D17BA207 // B' = pi/2 - B (high double) - .quad 0xBC61AEB67D55A7A1 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEAECF5F9BA35A6 // c0 (high double) - .quad 0x3C4535083409FF20 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD2B02B2D565D55 // c1 (low double) - .quad 0x3FF6FE947B408BAC // c2 - .quad 0x3FFC751B52A83938 // c3 - .quad 0x3FFF9C12181CFBBA // c4 - .quad 0x4002585B4421C075 // c5 - .quad 0x4004F6412119D9F1 // c6 - .quad 0x400814BACED69AF1 // c7 - .quad 0x3FEB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0xBC8CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEB9A77C18C1AF2 // c0 (high double) - .quad 0x3C76EA194A3B7D14 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD060D88DF903DF // c1 (low double) - .quad 0x3FF812463C417D93 // c2 - .quad 0x3FFE10E093E6DE8D // c3 - .quad 0x4000FABB50DD022E // c4 - .quad 0x4003F7B45B053F76 // c5 - .quad 0x4007275FB67DBBCC // c6 - .quad 0x400B02CB76CD8FDB // c7 - .quad 0x3FEB18A2F6D9809E // B' = pi/2 - B (high double) - .quad 0x3C760E425E23E66F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEC4BB009E77983 // c0 (high double) - .quad 0xBC5346B6895525B8 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFCBEB63A6D04570 // c1 (low double) - .quad 0x3FF935AFFA8DCC1D // c2 - .quad 0x3FFFCB7657D15F0B // c3 - .quad 0x4002423AFCE75F54 // c4 - .quad 0x4005C2CF61AD4B89 // c5 - .quad 0x40099C675A298F48 // c6 - .quad 0x400E49F38B657F73 // c7 - .quad 0x3FEAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0xBC7A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FED00CBC7384D2E // c0 (high double) - .quad 0x3C78C4FC635D2596 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC6DA3A87611EA6 // c1 (low double) - .quad 0x3FFA6A00F50D3A6F // c2 - .quad 0x4000D3D0A6ABBD46 // c3 - .quad 0x4003A760672280D0 // c4 - .quad 0x4007BF026C103550 // c5 - .quad 0x400C5EBD23F4E2D6 // c6 - .quad 0x4011024DB7867574 // c7 - .quad 0x3FEA4F931C375F35 // B' = pi/2 - B (high double) - .quad 0x3C8A79EFFD795057 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEDB9FA89953FCF // c0 (high double) - .quad 0x3C286C68F5592C40 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC18AC418849A6E // c1 (low double) - .quad 0x3FFBB083E02786D7 // c2 - .quad 0x4001D438F8A20402 // c3 - .quad 0x40052D5D6FF7A4BD // c4 - .quad 0x4009F262067BAA5A // c5 - .quad 0x400F793DA8608BD3 // c6 - .quad 0x401328BFC5F60A12 // c7 - .quad 0x3FE9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0x3C519ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEE776EAFC91706 // c0 (high double) - .quad 0x3C890664EDC679F9 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFB7F295AD658764 // c1 (low double) - .quad 0x3FFD0AA1DB7F5E58 // c2 - .quad 0x4002E8A6F9693556 // c3 - .quad 0x4006D7CA16B298C6 // c4 - .quad 0x400C63DFCAA3FB6C // c5 - .quad 0x40117C3EE50D7733 // c6 - .quad 0x401599932C96B999 // c7 - .quad 0x3FE9868341953DCD // B' = pi/2 - B (high double) - .quad 0xBC861341341F5289 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0x3FEF395D9F0E3C92 // c0 (high double) - .quad 0xBC550BEC65673F08 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFA8873C53BE0540 // c1 (low double) - .quad 0x3FFE79E5C65202DE // c2 - .quad 0x400412FD76797C7D // c3 - .quad 0x4008AAB30DC82D37 // c4 - .quad 0x400F1B6C68B4AEA4 // c5 - .quad 0x4013758CE9BD9EE9 // c6 - .quad 0x40186872A06858F5 // c7 - .quad 0x3FE921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C81A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD17CC1B727220B // c0 (high double) - .quad 0x3C7AC07996DF1E94 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBF02F6222C71FB // c1 (low double) - .quad 0xBFB068BD68BAEFC3 // c2 - .quad 0x3FA3C0213E30B2A4 // c3 - .quad 0xBF8A5494A0DD32B3 // c4 - .quad 0x3F7940CD1D8E923E // c5 - .quad 0xBF63CC1BE5088783 // c6 - .quad 0x3F3FA4A6A27659EE // c7 - .quad 0x3FE8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0xBC6A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD130BD396BB4A9 // c0 (high double) - .quad 0x3C657D8592EA0982 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBF68ED595308D6 // c1 (low double) - .quad 0xBFB00C6BF6A673E6 // c2 - .quad 0x3FA36E9DA9556AA6 // c3 - .quad 0xBF8991120C7D4BB9 // c4 - .quad 0x3F7889ABD600821A // c5 - .quad 0xBF630EE40468887B // c6 - .quad 0x3F52CAD75A194915 // c7 - .quad 0x3FE858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0xBC8EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD0E507EE8B93D7 // c0 (high double) - .quad 0xBC679F09CDD5D366 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBFCCA52E2AE201 // c1 (low double) - .quad 0xBFAF632A1681FD0B // c2 - .quad 0x3FA31F7794BDF922 // c3 - .quad 0xBF88D31259E30525 // c4 - .quad 0x3F77D97B728544D6 // c5 - .quad 0xBF62591A3A2B69D8 // c6 - .quad 0x3F3605B3887E1AF3 // c7 - .quad 0x3FE7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0x3C71A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD099A0163BCD3F // c0 (high double) - .quad 0xBC7A7F11D963D761 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBFD1D937A1F094 // c1 (low double) - .quad 0xBFAEB05B52EFB4C0 // c2 - .quad 0x3FA2D29E032A57DB // c3 - .quad 0xBF881A60F7D38723 // c4 - .quad 0x3F772FBBF1BFA292 // c5 - .quad 0xBF61AA745B27BAF7 // c6 - .quad 0x3F51CC1913635CA5 // c7 - .quad 0x3FE78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC7EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD04E83F7474877 // c0 (high double) - .quad 0xBC73B117AC20AD03 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF7284F47C0E61 // c1 (low double) - .quad 0xBFAE0056458FCED5 // c2 - .quad 0x3FA28800992AEEE6 // c3 - .quad 0xBF8766CB6439B11D // c4 - .quad 0x3F768C54DBB3684B // c5 - .quad 0xBF610297B13942A7 // c6 - .quad 0x3F5536BD1C2C92E8 // c7 - .quad 0x3FE72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0x3C88452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFD003B1DF5A0F86 // c0 (high double) - .quad 0xBC716CEB71FB7130 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF155566FA6884 // c1 (low double) - .quad 0xBFAD530628A37C7A // c2 - .quad 0x3FA23F8F96E80A99 // c3 - .quad 0xBF86B82113BDC04E // c4 - .quad 0x3F75EF0B9C9DF1C1 // c5 - .quad 0xBF60613421CB6A8B // c6 - .quad 0x3F48E48E9081596F // c7 - .quad 0x3FE6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0xBBC6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCF7250459C1976 // c0 (high double) - .quad 0xBC40B5B081F067D4 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBEBA422E0FE0E5 // c1 (low double) - .quad 0xBFACA856C815D042 // c2 - .quad 0x3FA1F93BD218DCE9 // c3 - .quad 0xBF860E335AB42933 // c4 - .quad 0x3F75578EEA5D18CC // c5 - .quad 0xBF5F8BFBAD564EB5 // c6 - .quad 0x3F434A80D203FDB7 // c7 - .quad 0x3FE66243D70CB82A // B' = pi/2 - B (high double) - .quad 0xBC884805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCEDDCA38F25FEC // c0 (high double) - .quad 0x3C65AACB9E8B4E8C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE6143274A35BF // c1 (low double) - .quad 0xBFAC00347C15ABB2 // c2 - .quad 0x3FA1B4F6B03A62C8 // c3 - .quad 0xBF8568D557225239 // c4 - .quad 0x3F74C5A8346B014E // c5 - .quad 0xBF5E61680C7E3887 // c6 - .quad 0x3F45A81E03A2004A // c7 - .quad 0x3FE5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C7EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCE49CE5AF9DC29 // c0 (high double) - .quad 0x3C382336F1C6B420 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE0A506D218F3C // c1 (low double) - .quad 0xBFAB5A8C23E49FEA // c2 - .quad 0x3FA172B22117D625 // c3 - .quad 0xBF84C7DBDBF304B9 // c4 - .quad 0x3F74391DF553E941 // c5 - .quad 0xBF5D4211231EF20F // c6 - .quad 0x3F52AB1CCD6F9451 // c7 - .quad 0x3FE59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0xBC71AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCDB6597A2E1B61 // c0 (high double) - .quad 0x3C6CB71A947AAB6B // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBDB56255580CA4 // c1 (low double) - .quad 0xBFAAB74B20D856E7 // c2 - .quad 0x3FA1326099896038 // c3 - .quad 0xBF842B1D5CF84F74 // c4 - .quad 0x3F73B1CC2C4E32E8 // c5 - .quad 0xBF5C2D7D75B7FBCE // c6 - .quad 0x3F53DB94CE05D10A // c7 - .quad 0x3FE534AC0F19860C // B' = pi/2 - B (high double) - .quad 0x3C8EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCD236870E769B5 // c0 (high double) - .quad 0xBC523CE78218C3F0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD62716F68B5FE // c1 (low double) - .quad 0xBFAA165F518C38AB // c2 - .quad 0x3FA0F3F50E789484 // c3 - .quad 0xBF839271DC18DB75 // c4 - .quad 0x3F732F8BAC4C5496 // c5 - .quad 0xBF5B23248F865BB8 // c6 - .quad 0x3F36E307E32E173B // c7 - .quad 0x3FE4D02421C87558 // B' = pi/2 - B (high double) - .quad 0x3C6A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCC90F8250157F7 // c0 (high double) - .quad 0xBC657D8312BFEA16 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD117683053E13 // c1 (low double) - .quad 0xBFA977B70D411C29 // c2 - .quad 0x3FA0B762F022F359 // c3 - .quad 0xBF82FDB2D7324A8F // c4 - .quad 0x3F72B2030A36AAE0 // c5 - .quad 0xBF5A22A22953FC15 // c6 - .quad 0x3F473A2F09CB1310 // c7 - .quad 0x3FE46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC81A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCBFF05878394D3 // c0 (high double) - .quad 0xBC486912F813DEBC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBCC26A8EA2077F // c1 (low double) - .quad 0xBFA8DB411F68EE69 // c2 - .quad 0x3FA07C9E25737218 // c3 - .quad 0xBF826CBB3713A292 // c4 - .quad 0x3F72392A32F26712 // c5 - .quad 0xBF592B76EEB6E333 // c6 - .quad 0x3F39BADB57E2A4EB // c7 - .quad 0x3FE40714472653EF // B' = pi/2 - B (high double) - .quad 0x3C86106670B43955 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCB6D8D944D0371 // c0 (high double) - .quad 0x3C6CDD9D6EA4B883 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC7546C60FE5C7 // c1 (low double) - .quad 0xBFA840ECC35C53FD // c2 - .quad 0x3FA0439B07C380F3 // c3 - .quad 0xBF81DF673F038AB5 // c4 - .quad 0x3F71C4B3C36B8A2B // c5 - .quad 0xBF583D44FA2FB1AC // c6 - .quad 0x3F52EE3E6107070C // c7 - .quad 0x3FE3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0xBC51B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCADC8D51C0FA5B // c0 (high double) - .quad 0xBC54B350B5D39454 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC2A04912319A8 // c1 (low double) - .quad 0xBFA7A8A9A038608E // c2 - .quad 0x3FA00C4E5E972915 // c3 - .quad 0xBF8155947D4C5C83 // c4 - .quad 0x3F7154A7B149DA51 // c5 - .quad 0xBF5757960EDFC478 // c6 - .quad 0x3F3F895707140B54 // c7 - .quad 0x3FE33E046C843287 // B' = pi/2 - B (high double) - .quad 0xBC8A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFCA4C01D0769648 // c0 (high double) - .quad 0xBC4DDC96CAE4A560 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBBE09D8A670D72 // c1 (low double) - .quad 0xBFA71267C4E29753 // c2 - .quad 0x3F9FAD5AB78BB764 // c3 - .quad 0xBF80CF21BC414F68 // c4 - .quad 0x3F70E8AC1DCF4364 // c5 - .quad 0xBF567A14C0530821 // c6 - .quad 0x3F4F621D6DA2AD4C // c7 - .quad 0x3FE2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C7A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC9BBE82AEA0D12 // c0 (high double) - .quad 0x3C62D116CA770BB7 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB990B7DDE5BFC // c1 (low double) - .quad 0xBFA67E17A4317C6C // c2 - .quad 0x3F9F455B2F170454 // c3 - .quad 0xBF804BEEF437A2B3 // c4 - .quad 0x3F7080CEADF2974D // c5 - .quad 0xBF55A44E3A71E98C // c6 - .quad 0xBF039F9468E5AC7C // c7 - .quad 0x3FE274F491E2111E // B' = pi/2 - B (high double) - .quad 0xBC7613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC92C3D852FEDF2 // c0 (high double) - .quad 0xBC20F5E7403E63E0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB534867CEB1CB // c1 (low double) - .quad 0xBFA5EBAA113813D4 // c2 - .quad 0x3F9EE08A1A202CC5 // c3 - .quad 0xBF7F97BA7BA1301A // c4 - .quad 0x3F701CAD7F191E00 // c5 - .quad 0xBF54D60D132212FE // c6 - .quad 0x3F45F5FE99746255 // c7 - .quad 0x3FE2106CA4910069 // B' = pi/2 - B (high double) - .quad 0x3C8CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC89CFF0CAA3CB4 // c0 (high double) - .quad 0x3C6A8D50D06FC30E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB0F4E73981D4B // c1 (low double) - .quad 0xBFA55B103BB2BD6D // c2 - .quad 0x3F9E7ED42D91EC8D // c3 - .quad 0xBF7E9D9D8AAE7B14 // c4 - .quad 0x3F6F78B5039EFACA // c5 - .quad 0xBF540EDBA3A7865E // c6 - .quad 0x3F3AA2CB5E8CB7D1 // c7 - .quad 0x3FE1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0x3C61A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC80E29F7BF5633 // c0 (high double) - .quad 0xBC67F8F06ACC6DE1 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBACD17FA976786 // c1 (low double) - .quad 0xBFA4CC3BAC93F075 // c2 - .quad 0x3F9E2026D6967836 // c3 - .quad 0xBF7DA94D7C694B78 // c4 - .quad 0x3F6EBF4F14B98A4D // c5 - .quad 0xBF534E7211F8744B // c6 - .quad 0xBF2290D134413454 // c7 - .quad 0x3FE1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC83DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC77FBB85928D2D // c0 (high double) - .quad 0x3C6121F4E1AC8205 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA8C9F83131391 // c1 (low double) - .quad 0xBFA43F1E42AF6970 // c2 - .quad 0x3F9DC4703433CA75 // c3 - .quad 0xBF7CBA92AE7FE396 // c4 - .quad 0x3F6E0CB6D0475CBF // c5 - .quad 0xBF529491FB8790F1 // c6 - .quad 0x3F37152AFD512A19 // c7 - .quad 0x3FE0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0x3C83DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC6F1B0FDBE6EDE // c0 (high double) - .quad 0xBC614F63025E350F // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA4DDFBF32A727 // c1 (low double) - .quad 0xBFA3B3AA2F826E47 // c2 - .quad 0x3F9D6B9F112A3CA9 // c3 - .quad 0xBF7BD1375F2B326E // c4 - .quad 0x3F6D60EF002A5944 // c5 - .quad 0xBF51E0E0E3E64206 // c6 - .quad 0x3F32BFA3B8DB7E72 // c7 - .quad 0x3FE07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0xBC61ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC66407B0109FA6 // c0 (high double) - .quad 0xBC55C3EC26D04386 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA10D38BFFE319 // c1 (low double) - .quad 0xBFA329D1F417DBD6 // c2 - .quad 0x3F9D15A2DE544C7C // c3 - .quad 0xBF7AED07977D3236 // c4 - .quad 0x3F6CBBAD3C53FDBF // c5 - .quad 0xBF513318B342B4E5 // c6 - .quad 0x3F1AF93D1229A6F6 // c7 - .quad 0x3FE019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0xBC8CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC5D6BCF447403E // c0 (high double) - .quad 0x3C6C6C662876B222 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB9D575F071964A // c1 (low double) - .quad 0xBFA2A1885E06BEAC // c2 - .quad 0x3F9CC26BAD1B38B8 // c3 - .quad 0xBF7A0DD116DA5229 // c4 - .quad 0x3F6C1C921E809C9E // c5 - .quad 0xBF508B03CEF8B07A // c6 - .quad 0x3F4BCE57D03F879A // c7 - .quad 0x3FDF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C760FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC549CE29CFCCBE // c0 (high double) - .quad 0x3C69881846E0C1CC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB99BC21C7FB9B2 // c1 (low double) - .quad 0xBFA21AC0848A46C5 // c2 - .quad 0x3F9C71EA2A16819D // c3 - .quad 0xBF7933633F8F0072 // c4 - .quad 0x3F6B83D1C55099C3 // c5 - .quad 0xBF4FD088727B159E // c6 - .quad 0xBF2306C94816B8C4 // c7 - .quad 0x3FDEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0xBC7A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC4BD38B7876716 // c0 (high double) - .quad 0xBC5504069A91A9E0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB963B368408780 // c1 (low double) - .quad 0xBFA1956DC5B1F35A // c2 - .quad 0x3F9C240F984C07DC // c3 - .quad 0xBF785D8F0388F11C // c4 - .quad 0x3F6AF0B073DF1CCA // c5 - .quad 0xBF4E9580D70D34E0 // c6 - .quad 0x3F4571315C44A425 // c7 - .quad 0x3FDDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0xBC66156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC430FA0B7C7F15 // c0 (high double) - .quad 0xBC63115D3C69C624 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB92D45530E4319 // c1 (low double) - .quad 0xBFA11183C3A8DFF6 // c2 - .quad 0x3F9BD8CDCC073185 // c3 - .quad 0xBF778C26D2F52E9A // c4 - .quad 0x3F6A638650FB676D // c5 - .quad 0xBF4D6420527BDB5B // c6 - .quad 0xBF2DA5A645CA3434 // c7 - .quad 0x3FDD0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0x3C51A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC3A50F9AB1CA91 // c0 (high double) - .quad 0xBC50CA3B48D907FA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8F87382B56ACB // c1 (low double) - .quad 0xBFA08EF662132882 // c2 - .quad 0x3F9B901726A3CD1C // c3 - .quad 0xBF76BEFE8A4461A2 // c4 - .quad 0x3F69DBAE42D8A416 // c5 - .quad 0xBF4C3C52357BF011 // c6 - .quad 0x3F32456D9E7FA4E8 // c7 - .quad 0x3FDC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C73DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC31976E0E280B3 // c0 (high double) - .quad 0x3C667516EE4F26F2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8C539C2AB0F89 // c1 (low double) - .quad 0xBFA00DB9C3806462 // c2 - .quad 0x3F9B49DE91DB8E44 // c3 - .quad 0xBF75F5EB6258C838 // c4 - .quad 0x3F695952C6BEE603 // c5 - .quad 0xBF4B1D691B1E9F12 // c6 - .quad 0xBEFC715673917907 // c7 - .quad 0x3FDB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0xBC7CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC28E2D6047CBC8 // c0 (high double) - .quad 0x3C0CEAB2537EA300 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB89394034B11CF // c1 (low double) - .quad 0xBF9F1B848DE48876 // c2 - .quad 0x3F9B06177BDD3821 // c3 - .quad 0xBF7530C3E0150AA0 // c4 - .quad 0x3F68DBF62FBA70EC // c5 - .quad 0xBF4A0736C860B400 // c6 - .quad 0x3F50A3F1D92A1F47 // c7 - .quad 0x3FDAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0xBC6A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC20330A15F6568 // c0 (high double) - .quad 0xBC61BB4F210EA632 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8637E591E05FE // c1 (low double) - .quad 0xBF9E1E090AECCE81 // c2 - .quad 0x3F9AC4B5D3090946 // c3 - .quad 0xBF746F5FC5C316BA // c4 - .quad 0x3F686400E51F5377 // c5 - .quad 0xBF48F8EADC3DBAD1 // c6 - .quad 0xBF320AB3DE6FDA08 // c7 - .quad 0x3FD9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0x3C419ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC1787E32B35112 // c0 (high double) - .quad 0x3C5D2D85EBE7CEA8 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB834F4FC268515 // c1 (low double) - .quad 0xBF9D22EA9FA50E7D // c2 - .quad 0x3F9A85AE02819BA3 // c3 - .quad 0xBF73B19803AB2B21 // c4 - .quad 0x3F67F0B8C64045E8 // c5 - .quad 0xBF47F293167B415A // c6 - .quad 0xBF198BF45BBDE600 // c7 - .quad 0x3FD921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C71A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC0EE13A8A2A9C6 // c0 (high double) - .quad 0x3C5830A63DDC3262 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB807F44735B1A4 // c1 (low double) - .quad 0xBF9C2A135884458A // c2 - .quad 0x3F9A48F4EE376E9D // c3 - .quad 0xBF72F746AAC73A47 // c4 - .quad 0x3F678215824701EA // c5 - .quad 0xBF46F3C719FB6619 // c6 - .quad 0x3F4BA88D5E69B64E // c7 - .quad 0x3FD858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0xBC7EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFC063EE9D2B777C // c0 (high double) - .quad 0xBC4E1787D8B78D9C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7DC78B746BB2F // c1 (low double) - .quad 0xBF9B336DA889AC7D // c2 - .quad 0x3F9A0E7FEF8737D6 // c3 - .quad 0xBF724046DF328844 // c4 - .quad 0x3F67185639AB9961 // c5 - .quad 0xBF45FBD25ACB3AED // c6 - .quad 0x3F0E765A16190A6D // c7 - .quad 0x3FD78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC6EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBFB4195F6B0333 // c0 (high double) - .quad 0xBC47DB89E27050CE // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7B27EEAE12CDB // c1 (low double) - .quad 0xBF9A3EE464F938D9 // c2 - .quad 0x3F99D644D21E7AE8 // c3 - .quad 0xBF718C74CAAA7BA1 // c4 - .quad 0x3F66B2F778B94CFD // c5 - .quad 0xBF450AB96EF7378B // c6 - .quad 0x3F1412EF7D22C6CA // c7 - .quad 0x3FD6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0xBBB6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBEA0D709BC27CA // c0 (high double) - .quad 0xBC48928D103E7F70 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB78A03A181D6AC // c1 (low double) - .quad 0xBF994C62C1366C88 // c2 - .quad 0x3F99A039D09A41AD // c3 - .quad 0xBF70DBAD90C6529A // c4 - .quad 0x3F66520A2F7F4662 // c5 - .quad 0xBF441FF58F223C4F // c6 - .quad 0xBF357CCF18E00FA5 // c7 - .quad 0x3FD5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C6EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBD8E118C89577F // c0 (high double) - .quad 0xBC3344F06C36BFAC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB76303BB0A22C5 // c1 (low double) - .quad 0xBF985BD44ABC0416 // c2 - .quad 0x3F996C5591BA6DFA // c3 - .quad 0xBF702DCF4265B5B3 // c4 - .quad 0x3F65F52766DBD146 // c5 - .quad 0xBF433B879649EE5C // c6 - .quad 0x3F47C67A932EC95B // c7 - .quad 0x3FD534AC0F19860C // B' = pi/2 - B (high double) - .quad 0x3C7EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBC7BC444B10758 // c0 (high double) - .quad 0x3C511540B2268E0E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB73D7C3735AA80 // c1 (low double) - .quad 0xBF976D24E52F1F79 // c2 - .quad 0x3F993A8F25560FF4 // c3 - .quad 0xBF6F0571A586F6F3 // c4 - .quad 0x3F659C8E8181F3F0 // c5 - .quad 0xBF425CCABE1033EA // c6 - .quad 0x3F4D59CA0EE986DF // c7 - .quad 0x3FD46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC71A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBB69EA984DE6EF // c0 (high double) - .quad 0x3C573CB7437F1792 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7196A3515E12E // c1 (low double) - .quad 0xBF968040C68C8FE8 // c2 - .quad 0x3F990ADE01D185E6 // c3 - .quad 0xBF6DB49417B3E65C // c4 - .quad 0x3F6548393E856BDB // c5 - .quad 0xBF418353F782833A // c6 - .quad 0xBF36489E03176323 // c7 - .quad 0x3FD3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0xBC41B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFBA587FF6553726 // c0 (high double) - .quad 0x3C5559CFE8366BA8 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6F6CAF293AC7F // c1 (low double) - .quad 0xBF959514736F007F // c2 - .quad 0x3F98DD3A019E14EB // c3 - .quad 0xBF6C68C706B3D0FB // c4 - .quad 0x3F64F779DB6C50F9 // c5 - .quad 0xBF40AF7CD7497BC1 // c6 - .quad 0x3F4AD3B98213250E // c7 - .quad 0x3FD2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C6A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB9477FD636A4D8 // c0 (high double) - .quad 0x3C5063C8B22C4842 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6D59BCBF6C48B // c1 (low double) - .quad 0xBF94AB8CBB6CBB16 // c2 - .quad 0x3F98B19B6070D56D // c3 - .quad 0xBF6B21CD22DB24B2 // c4 - .quad 0x3F64AAE4575F07CB // c5 - .quad 0xBF3FC08B3806F47F // c6 - .quad 0xBF00E427650BA68A // c7 - .quad 0x3FD2106CA4910069 // B' = pi/2 - B (high double) - .quad 0x3C7CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB836E5B77D959A // c0 (high double) - .quad 0xBC51BDCEFF6925EC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6B5DA3B72B738 // c1 (low double) - .quad 0xBF93C396B58BD74A // c2 - .quad 0x3F9887FAB9649830 // c3 - .quad 0xBF69DF6A8A7C820C // c4 - .quad 0x3F6461D2011761C1 // c5 - .quad 0xBF3E2C1220D97FBE // c6 - .quad 0x3F49F3B20EDA3AFF // c7 - .quad 0x3FD1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC73DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB726AD2173D50E // c0 (high double) - .quad 0xBC1FCEC90C8BEF70 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB69783D8B96CDF // c1 (low double) - .quad 0xBF92DD1FBCCBA937 // c2 - .quad 0x3F986051045C3883 // c3 - .quad 0xBF68A164B9409BD2 // c4 - .quad 0x3F641CB77D330F8F // c5 - .quad 0xBF3C9FE910D9CBC2 // c6 - .quad 0xBF302CCA98190297 // c7 - .quad 0x3FD07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0xBC51ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB616D1A2C591A8 // c0 (high double) - .quad 0x3C2EF832FD935ED0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB67A9658930D84 // c1 (low double) - .quad 0xBF91F8156CC25284 // c2 - .quad 0x3F983A9794563574 // c3 - .quad 0xBF67678272C8ECDD // c4 - .quad 0x3F63DAE696E3A38C // c5 - .quad 0xBF3B1CDBB342EE5D // c6 - .quad 0x3F49E00A3B463CAF // c7 - .quad 0x3FCF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C660FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB5074ED126983E // c0 (high double) - .quad 0x3C516E0EB4132D8C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB65F0F8C7B2809 // c1 (low double) - .quad 0xBF9114659E4D5E41 // c2 - .quad 0x3F9816C815084CDA // c3 - .quad 0xBF66318BB353364D // c4 - .quad 0x3F639CED9C49E6E4 // c5 - .quad 0xBF39A0F6E494228E // c6 - .quad 0xBF2EBBDA5946D8F5 // c7 - .quad 0x3FCDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0xBC56156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB3F82048F8BE00 // c0 (high double) - .quad 0xBC4AFD1EBA1D1F08 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB644ED6242FE19 // c1 (low double) - .quad 0xBF9031FE64545C32 // c2 - .quad 0x3F97F4DC89754A8C // c3 - .quad 0xBF64FF499B056453 // c4 - .quad 0x3F636226CB0F9286 // c5 - .quad 0xBF382D35D5867708 // c6 - .quad 0x3F3E29EBBEAD3F41 // c7 - .quad 0x3FCC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C63DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB2E941ACF368E6 // c0 (high double) - .quad 0x3C28FF4CA630E160 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB62C2DE3B8D982 // c1 (low double) - .quad 0xBF8EA19C1138E963 // c2 - .quad 0x3F97D4CF49C89DB5 // c3 - .quad 0xBF63D0865FBE1BAC // c4 - .quad 0x3F632AE80D59D97D // c5 - .quad 0xBF36C01A5963B74D // c6 - .quad 0x3F2F2207CBA79A42 // c7 - .quad 0x3FCAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0xBC5A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB1DAAEA5CC26DD // c0 (high double) - .quad 0x3C51577CBB7A4D94 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB614CF365450F4 // c1 (low double) - .quad 0xBF8CE1861157F322 // c2 - .quad 0x3F97B69B01FB3B26 // c3 - .quad 0xBF62A50D3A3C528B // c4 - .quad 0x3F62F6E9071D40DB // c5 - .quad 0xBF3559C86E0B83FE // c6 - .quad 0x3F41AFC8FEE8B00A // c7 - .quad 0x3FC921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C61A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFB0CC62E1E04467 // c0 (high double) - .quad 0xBC47805D7AE2B26C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5FECF9AE763EA // c1 (low double) - .quad 0xBF8B23982579F8E5 // c2 - .quad 0x3F979A3AB01644F9 // c3 - .quad 0xBF617CAA57838224 // c4 - .quad 0x3F62C658DCA7F4AB // c5 - .quad 0xBF33F9251280A953 // c6 - .quad 0xBF2D5C4E17766D5A // c7 - .quad 0x3FC78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0xBC5EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFAF7CB429BEA72C // c0 (high double) - .quad 0xBC3FFC35F2771324 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5EA2D6D5456CA // c1 (low double) - .quad 0xBF8967B0057BF87E // c2 - .quad 0x3F977FA9A2ED4D75 // c3 - .quad 0xBF60572AC7A74374 // c4 - .quad 0x3F6298E78AA42A2C // c5 - .quad 0xBF329E8594822820 // c6 - .quad 0xBF37DBAE80B80EC8 // c7 - .quad 0x3FC5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C5EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFAD611FEEED2925 // c0 (high double) - .quad 0xBC2C094544F37630 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5D6E7244839E4 // c1 (low double) - .quad 0xBF87ADABBEBF7F7F // c2 - .quad 0x3F9766E378A69DCA // c3 - .quad 0xBF5E68B8DEC46BCD // c4 - .quad 0x3F626E6BF47FF36D // c5 - .quad 0xBF3149F4C32A02B4 // c6 - .quad 0x3F4B764BFF26FBAF // c7 - .quad 0x3FC46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0xBC61A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFAB46008DFA625D // c0 (high double) - .quad 0x3C1CFC71261A7FB0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5C4FB50FA0748 // c1 (low double) - .quad 0xBF85F569AE5EF4C9 // c2 - .quad 0x3F974FE41D60092F // c3 - .quad 0xBF5C281BF4A7A8E8 // c4 - .quad 0x3F62476FB6177831 // c5 - .quad 0xBF2FF1DE9AA130D5 // c6 - .quad 0xBF3D841C7D3057BC // c7 - .quad 0x3FC2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C5A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA92B4D8A427A5E // c0 (high double) - .quad 0xBC48D0F742399A2E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5B4689EEE44C8 // c1 (low double) - .quad 0xBF843EC87B78BC83 // c2 - .quad 0x3F973AA7CA62B764 // c3 - .quad 0xBF59EC1D907A7E74 // c4 - .quad 0x3F62232304CE0BCB // c5 - .quad 0xBF2D5C019E5C9327 // c6 - .quad 0x3F4A5742B30D6EA4 // c7 - .quad 0x3FC1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0xBC63DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA710FE6F2ADA79 // c0 (high double) - .quad 0x3C47FCD1AF1BC88C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5A52DD3BF1903 // c1 (low double) - .quad 0xBF8289A7118F8015 // c2 - .quad 0x3F97272B048B0CB6 // c3 - .quad 0xBF57B45DC9402B07 // c4 - .quad 0x3F620239A251E2D3 // c5 - .quad 0xBF2ACB87C59ED9B1 // c6 - .quad 0xBF314F7BD600B48C // c7 - .quad 0x3FBF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C560FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA4F70ACF7EED25 // c0 (high double) - .quad 0xBC36D383618823A2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB59749CEE8C351 // c1 (low double) - .quad 0xBF80D5E49AFDF8A4 // c2 - .quad 0x3F97156A9BCB4ECE // c3 - .quad 0xBF55807DE55737F7 // c4 - .quad 0x3F61E4232793575A // c5 - .quad 0xBF28440F1D68D5AE // c6 - .quad 0xBF29FA204333F00C // c7 - .quad 0x3FBC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0x3C53DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA2DD6A44CE1394 // c0 (high double) - .quad 0xBC4BFF776DACC8B5 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB58ABB899A6815 // c1 (low double) - .quad 0xBF7E46C0F6F92ADF // c2 - .quad 0x3F970563A9ED840F // c3 - .quad 0xBF53502047076AB7 // c4 - .quad 0x3F61C8E9B000D23F // c5 - .quad 0xBF25C4A8BD148199 // c6 - .quad 0x3F4131449FFC5A0C // c7 - .quad 0x3FB921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C51A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBFA0C4146ECAB658 // c0 (high double) - .quad 0x3C0F927420EB8C00 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB57F82168B23EC // c1 (low double) - .quad 0xBF7AE3F4956ED507 // c2 - .quad 0x3F96F71391CF9DFE // c3 - .quad 0xBF5122E851208A87 // c4 - .quad 0x3F61B0E12D5FF408 // c5 - .quad 0xBF23485E9450F437 // c6 - .quad 0xBF3CE0F3BAD9A7CF // c7 - .quad 0x3FB5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0x3C4EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF9D5601E554ACE4 // c0 (high double) - .quad 0x3BF1725D940FAE40 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5759CA1D35995 // c1 (low double) - .quad 0xBF7783239DE5AD22 // c2 - .quad 0x3F96EA77FED69EC2 // c3 - .quad 0xBF4DF0F48A9F5DD6 // c4 - .quad 0x3F619B9AD4B4F692 // c5 - .quad 0xBF20D3375495B3AF // c6 - .quad 0xBF3C5F6BDA9649C1 // c7 - .quad 0x3FB2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C4A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF99244EF50D08B4 // c0 (high double) - .quad 0xBBF5D43FBFA6A650 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB56D0A70CA2FAE // c1 (low double) - .quad 0xBF74240DEF7AA427 // c2 - .quad 0x3F96DF8EE40AD931 // c3 - .quad 0xBF49A0F663CD9CED // c4 - .quad 0x3F61892DA49A01B1 // c5 - .quad 0xBF1CC6A5F5CD8613 // c6 - .quad 0xBF2979EF025F5A5D // c7 - .quad 0x3FAF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0x3C460FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF94F2FF697D458F // c0 (high double) - .quad 0xBC2D47EE0D8639CC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB565CAE1E73473 // c1 (low double) - .quad 0xBF70C673B159CE1D // c2 - .quad 0x3F96D6567B9EC32E // c3 - .quad 0xBF455521A900DE57 // c4 - .quad 0x3F6179A180C97DC6 // c5 - .quad 0xBF17EE9A1A2093EC // c6 - .quad 0xBF0F289C23A5BE3D // c7 - .quad 0x3FA921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C41A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF90C202A6B4B69C // c0 (high double) - .quad 0x3C232719F8027342 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55FDD6CA81EFB // c1 (low double) - .quad 0xBF6AD42A909B3D64 // c2 - .quad 0x3F96CECD466E9161 // c3 - .quad 0xBF410CC300A993C8 // c4 - .quad 0x3F616CF28C1A20AD // c5 - .quad 0xBF131CA14234B209 // c6 - .quad 0xBF0575725B2F6BD2 // c7 - .quad 0x3FA2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0x3C3A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF8922902DB2AC11 // c0 (high double) - .quad 0xBC23466BF961968D // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55B41A17AA68C // c1 (low double) - .quad 0xBF641D6698BEFAD5 // c2 - .quad 0x3F96C8F20B94D936 // c3 - .quad 0xBF398E50110336DC // c4 - .quad 0x3F61630EF83C40BE // c5 - .quad 0xBF0CA4CD1D39A327 // c6 - .quad 0x3F2D88AA4542B2A9 // c7 - .quad 0x3F9921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C31A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF80C17E51DDB68F // c0 (high double) - .quad 0xBC2BCDF2CE757F58 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB557F729AA69CB // c1 (low double) - .quad 0xBF5AD039FA1B06A9 // c2 - .quad 0x3F96C4C3D80DF7DB // c3 - .quad 0xBF31073E4843262F // c4 - .quad 0x3F615BF0FBDD75F6 // c5 - .quad 0xBF032668F6EE96B2 // c6 - .quad 0x3F4AB2BDCBD5B586 // c7 - .quad 0x3F8921FB54442D18 // B' = pi/2 - B (high double) - .quad 0x3C21A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0xBF70C15D3E7A6D22 // c0 (high double) - .quad 0xBC031AD41335B3D2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB555FDC752E0B2 // c1 (low double) - .quad 0xBF4ACF3DF3195D30 // c2 - .quad 0x3F96C241FE6B7D5F // c3 - .quad 0xBF2105DD68706FD9 // c4 - .quad 0x3F6157CCAEE0E30B // c5 - .quad 0xBEF320E95C86AAB5 // c6 - .quad 0x3F36CC59FF7E57F3 // c7 - .quad 0x0000000000000000 // B' = pi/2 - B (high double) - .quad 0x0000000000000000 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x0000000000000000 // c0 (high double) - .quad 0x0000000000000000 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5555555555555 // c1 (low double) - .quad 0x0000000000000000 // c2 - .quad 0x3F96C16C16C4A87E // c3 - .quad 0x0000000000000000 // c4 - .quad 0x3F615658C88FB22B // c5 - .quad 0x0000000000000000 // c6 - .quad 0x3F45FEB9DABEDDC8 // c7 - .quad 0xBF8921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC21A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F70C15D3E7A6D22 // c0 (high double) - .quad 0x3C031AD4127D9F3E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB555FDC752E0B2 // c1 (low double) - .quad 0x3F4ACF3DF3195D30 // c2 - .quad 0x3F96C241FE6B7D5F // c3 - .quad 0x3F2105DD68707011 // c4 - .quad 0x3F6157CCAEE0E445 // c5 - .quad 0x3EF320E95BE3603D // c6 - .quad 0x3F36CC59FB2A5B52 // c7 - .quad 0xBF9921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC31A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F80C17E51DDB68F // c0 (high double) - .quad 0x3C2BCDF2CE751153 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB557F729AA69CB // c1 (low double) - .quad 0x3F5AD039FA1B06A9 // c2 - .quad 0x3F96C4C3D80DF7DB // c3 - .quad 0x3F31073E4843262E // c4 - .quad 0x3F615BF0FBDD7613 // c5 - .quad 0x3F032668F6F21096 // c6 - .quad 0x3F4AB2BDCBA34188 // c7 - .quad 0xBFA2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC3A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F8922902DB2AC11 // c0 (high double) - .quad 0x3C23466BF9645874 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55B41A17AA68C // c1 (low double) - .quad 0x3F641D6698BEFAD5 // c2 - .quad 0x3F96C8F20B94D936 // c3 - .quad 0x3F398E50110336D4 // c4 - .quad 0x3F61630EF83C4025 // c5 - .quad 0x3F0CA4CD1D548C70 // c6 - .quad 0x3F2D88AA497F5A74 // c7 - .quad 0xBFA921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC41A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F90C202A6B4B69C // c0 (high double) - .quad 0xBC232719F82E8E78 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB55FDD6CA81EFB // c1 (low double) - .quad 0x3F6AD42A909B3D64 // c2 - .quad 0x3F96CECD466E9161 // c3 - .quad 0x3F410CC300A993FB // c4 - .quad 0x3F616CF28C1A27D9 // c5 - .quad 0x3F131CA1418B03D0 // c6 - .quad 0xBF0575732696DF46 // c7 - .quad 0xBFAF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC460FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F94F2FF697D458F // c0 (high double) - .quad 0x3C2D47EE0D83F132 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB565CAE1E73473 // c1 (low double) - .quad 0x3F70C673B159CE1D // c2 - .quad 0x3F96D6567B9EC32E // c3 - .quad 0x3F455521A900DE58 // c4 - .quad 0x3F6179A180C97E50 // c5 - .quad 0x3F17EE9A1A1D88C1 // c6 - .quad 0xBF0F289C329281E6 // c7 - .quad 0xBFB2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC4A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F99244EF50D08B4 // c0 (high double) - .quad 0x3BF5D43FBF890B40 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB56D0A70CA2FAE // c1 (low double) - .quad 0x3F74240DEF7AA427 // c2 - .quad 0x3F96DF8EE40AD931 // c3 - .quad 0x3F49A0F663CD9CEE // c4 - .quad 0x3F61892DA49A0241 // c5 - .quad 0x3F1CC6A5F5CAD66B // c6 - .quad 0xBF2979EF063C00F3 // c7 - .quad 0xBFB5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC4EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3F9D5601E554ACE4 // c0 (high double) - .quad 0xBBF1725D944B6FF0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5759CA1D35995 // c1 (low double) - .quad 0x3F7783239DE5AD22 // c2 - .quad 0x3F96EA77FED69EC2 // c3 - .quad 0x3F4DF0F48A9F5DD8 // c4 - .quad 0x3F619B9AD4B4F72F // c5 - .quad 0x3F20D33754930861 // c6 - .quad 0xBF3C5F6BDCAA4F14 // c7 - .quad 0xBFB921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC51A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA0C4146ECAB658 // c0 (high double) - .quad 0xBC0F9274210C3E30 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB57F82168B23EC // c1 (low double) - .quad 0x3F7AE3F4956ED507 // c2 - .quad 0x3F96F71391CF9DFE // c3 - .quad 0x3F5122E851208A88 // c4 - .quad 0x3F61B0E12D5FF46B // c5 - .quad 0x3F23485E944E645F // c6 - .quad 0xBF3CE0F3BC206D6A // c7 - .quad 0xBFBC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC53DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA2DD6A44CE1394 // c0 (high double) - .quad 0x3C4BFF776DAE2ACC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB58ABB899A6815 // c1 (low double) - .quad 0x3F7E46C0F6F92ADF // c2 - .quad 0x3F970563A9ED840F // c3 - .quad 0x3F53502047076AB6 // c4 - .quad 0x3F61C8E9B000D225 // c5 - .quad 0x3F25C4A8BD17699A // c6 - .quad 0x3F413144A024F67F // c7 - .quad 0xBFBF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC560FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA4F70ACF7EED25 // c0 (high double) - .quad 0x3C36D38361835224 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB59749CEE8C351 // c1 (low double) - .quad 0x3F80D5E49AFDF8A4 // c2 - .quad 0x3F97156A9BCB4ECE // c3 - .quad 0x3F55807DE55737F9 // c4 - .quad 0x3F61E42327935766 // c5 - .quad 0x3F28440F1D62D6E1 // c6 - .quad 0xBF29FA20436AFB73 // c7 - .quad 0xBFC1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C63DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA710FE6F2ADA79 // c0 (high double) - .quad 0xBC47FCD1AF1E5F81 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5A52DD3BF1903 // c1 (low double) - .quad 0x3F8289A7118F8015 // c2 - .quad 0x3F97272B048B0CB6 // c3 - .quad 0x3F57B45DC9402B09 // c4 - .quad 0x3F620239A251E2C5 // c5 - .quad 0x3F2ACB87C598F86B // c6 - .quad 0xBF314F7BD5BDC85C // c7 - .quad 0xBFC2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC5A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FA92B4D8A427A5E // c0 (high double) - .quad 0x3C48D0F7423D245A // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5B4689EEE44C8 // c1 (low double) - .quad 0x3F843EC87B78BC83 // c2 - .quad 0x3F973AA7CA62B764 // c3 - .quad 0x3F59EC1D907A7E71 // c4 - .quad 0x3F62232304CE0BF5 // c5 - .quad 0x3F2D5C019E659382 // c6 - .quad 0x3F4A5742B2B8EFA5 // c7 - .quad 0xBFC46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C61A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FAB46008DFA625D // c0 (high double) - .quad 0xBC1CFC712619CB40 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5C4FB50FA0748 // c1 (low double) - .quad 0x3F85F569AE5EF4C9 // c2 - .quad 0x3F974FE41D60092F // c3 - .quad 0x3F5C281BF4A7A8E8 // c4 - .quad 0x3F62476FB617789E // c5 - .quad 0x3F2FF1DE9AA127B2 // c6 - .quad 0xBF3D841C7EAC9D16 // c7 - .quad 0xBFC5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC5EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FAD611FEEED2925 // c0 (high double) - .quad 0x3C2C094544F32A78 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5D6E7244839E4 // c1 (low double) - .quad 0x3F87ADABBEBF7F7F // c2 - .quad 0x3F9766E378A69DCA // c3 - .quad 0x3F5E68B8DEC46BCD // c4 - .quad 0x3F626E6BF47FF315 // c5 - .quad 0x3F3149F4C32A0685 // c6 - .quad 0x3F4B764BFFC07D27 // c7 - .quad 0xBFC78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C5EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FAF7CB429BEA72C // c0 (high double) - .quad 0x3C3FFC35F277313A // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5EA2D6D5456CA // c1 (low double) - .quad 0x3F8967B0057BF87E // c2 - .quad 0x3F977FA9A2ED4D75 // c3 - .quad 0x3F60572AC7A74374 // c4 - .quad 0x3F6298E78AA42A95 // c5 - .quad 0x3F329E8594822508 // c6 - .quad 0xBF37DBAE822657B7 // c7 - .quad 0xBFC921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC61A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB0CC62E1E04467 // c0 (high double) - .quad 0x3C47805D7AE2BD94 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB5FECF9AE763EA // c1 (low double) - .quad 0x3F8B23982579F8E5 // c2 - .quad 0x3F979A3AB01644F9 // c3 - .quad 0x3F617CAA57838224 // c4 - .quad 0x3F62C658DCA7F4F9 // c5 - .quad 0x3F33F9251280A70A // c6 - .quad 0xBF2D5C4E19969DC6 // c7 - .quad 0xBFCAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0x3C5A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB1DAAEA5CC26DD // c0 (high double) - .quad 0xBC51577CBB7A50E2 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB614CF365450F4 // c1 (low double) - .quad 0x3F8CE1861157F322 // c2 - .quad 0x3F97B69B01FB3B26 // c3 - .quad 0x3F62A50D3A3C528B // c4 - .quad 0x3F62F6E9071D40AC // c5 - .quad 0x3F3559C86E0B8558 // c6 - .quad 0x3F41AFC8FF3AAA17 // c7 - .quad 0xBFCC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC63DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB2E941ACF368E6 // c0 (high double) - .quad 0xBC28FF4CA630E010 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB62C2DE3B8D982 // c1 (low double) - .quad 0x3F8EA19C1138E963 // c2 - .quad 0x3F97D4CF49C89DB5 // c3 - .quad 0x3F63D0865FBE1BAC // c4 - .quad 0x3F632AE80D59D97F // c5 - .quad 0x3F36C01A5963B73C // c6 - .quad 0x3F2F2207CB99A5D3 // c7 - .quad 0xBFCDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0x3C56156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB3F82048F8BE00 // c0 (high double) - .quad 0x3C4AFD1EBA1D1ABA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB644ED6242FE19 // c1 (low double) - .quad 0x3F9031FE64545C32 // c2 - .quad 0x3F97F4DC89754A8C // c3 - .quad 0x3F64FF499B056453 // c4 - .quad 0x3F636226CB0F9266 // c5 - .quad 0x3F382D35D58677E8 // c6 - .quad 0x3F3E29EBBF1CE01E // c7 - .quad 0xBFCF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC660FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB5074ED126983E // c0 (high double) - .quad 0xBC516E0EB4132866 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB65F0F8C7B2809 // c1 (low double) - .quad 0x3F9114659E4D5E41 // c2 - .quad 0x3F9816C815084CDA // c3 - .quad 0x3F66318BB353364D // c4 - .quad 0x3F639CED9C49E72F // c5 - .quad 0x3F39A0F6E4942078 // c6 - .quad 0xBF2EBBDA5B521AEE // c7 - .quad 0xBFD07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0x3C51ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB616D1A2C591A8 // c0 (high double) - .quad 0xBC2EF832FD938898 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB67A9658930D84 // c1 (low double) - .quad 0x3F91F8156CC25284 // c2 - .quad 0x3F983A9794563574 // c3 - .quad 0x3F67678272C8ECDD // c4 - .quad 0x3F63DAE696E3A33F // c5 - .quad 0x3F3B1CDBB342F07A // c6 - .quad 0x3F49E00A3BCC8A23 // c7 - .quad 0xBFD1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C73DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB726AD2173D50E // c0 (high double) - .quad 0x3C1FCEC90C8C4150 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB69783D8B96CDF // c1 (low double) - .quad 0x3F92DD1FBCCBA937 // c2 - .quad 0x3F986051045C3883 // c3 - .quad 0x3F68A164B9409BD2 // c4 - .quad 0x3F641CB77D330FDA // c5 - .quad 0x3F3C9FE910D9C9B2 // c6 - .quad 0xBF302CCA991EA2A4 // c7 - .quad 0xBFD2106CA4910069 // B' = pi/2 - B (high double) - .quad 0xBC7CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB836E5B77D959A // c0 (high double) - .quad 0x3C51BDCEFF692111 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6B5DA3B72B738 // c1 (low double) - .quad 0x3F93C396B58BD74A // c2 - .quad 0x3F9887FAB9649830 // c3 - .quad 0x3F69DF6A8A7C820C // c4 - .quad 0x3F6461D201176179 // c5 - .quad 0x3F3E2C1220D981B3 // c6 - .quad 0x3F49F3B20F57CFA8 // c7 - .quad 0xBFD2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC6A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FB9477FD636A4D8 // c0 (high double) - .quad 0xBC5063C8B22C4544 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6D59BCBF6C48B // c1 (low double) - .quad 0x3F94AB8CBB6CBB16 // c2 - .quad 0x3F98B19B6070D56D // c3 - .quad 0x3F6B21CD22DB24B2 // c4 - .quad 0x3F64AAE4575F07F6 // c5 - .quad 0x3F3FC08B3806F34C // c6 - .quad 0xBF00E42769BBA67A // c7 - .quad 0xBFD3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0x3C41B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBA587FF6553726 // c0 (high double) - .quad 0xBC5559CFE8367078 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB6F6CAF293AC7F // c1 (low double) - .quad 0x3F959514736F007F // c2 - .quad 0x3F98DD3A019E14EB // c3 - .quad 0x3F6C68C706B3D0FB // c4 - .quad 0x3F64F779DB6C50B2 // c5 - .quad 0x3F40AF7CD7497CB8 // c6 - .quad 0x3F4AD3B9828EFAF2 // c7 - .quad 0xBFD46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C71A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBB69EA984DE6EF // c0 (high double) - .quad 0xBC573CB7437F11CA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7196A3515E12E // c1 (low double) - .quad 0x3F968040C68C8FE8 // c2 - .quad 0x3F990ADE01D185E6 // c3 - .quad 0x3F6DB49417B3E65C // c4 - .quad 0x3F6548393E856C2F // c5 - .quad 0x3F418353F7828212 // c6 - .quad 0xBF36489E043C6801 // c7 - .quad 0xBFD534AC0F19860C // B' = pi/2 - B (high double) - .quad 0xBC7EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBC7BC444B10758 // c0 (high double) - .quad 0xBC511540B2269343 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB73D7C3735AA80 // c1 (low double) - .quad 0x3F976D24E52F1F79 // c2 - .quad 0x3F993A8F25560FF4 // c3 - .quad 0x3F6F0571A586F6F3 // c4 - .quad 0x3F659C8E8181F3A3 // c5 - .quad 0x3F425CCABE1034F4 // c6 - .quad 0x3F4D59CA0F6FD35D // c7 - .quad 0xBFD5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC6EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBD8E118C89577F // c0 (high double) - .quad 0x3C3344F06C36B16C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB76303BB0A22C5 // c1 (low double) - .quad 0x3F985BD44ABC0416 // c2 - .quad 0x3F996C5591BA6DFA // c3 - .quad 0x3F702DCF4265B5B3 // c4 - .quad 0x3F65F52766DBD111 // c5 - .quad 0x3F433B879649EF12 // c6 - .quad 0x3F47C67A938B39B9 // c7 - .quad 0xBFD6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0x3BB6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBEA0D709BC27CA // c0 (high double) - .quad 0x3C48928D103E8AAC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB78A03A181D6AC // c1 (low double) - .quad 0x3F994C62C1366C88 // c2 - .quad 0x3F99A039D09A41AD // c3 - .quad 0x3F70DBAD90C6529A // c4 - .quad 0x3F66520A2F7F46B3 // c5 - .quad 0x3F441FF58F223B31 // c6 - .quad 0xBF357CCF19FA9D15 // c7 - .quad 0xBFD78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C6EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FBFB4195F6B0333 // c0 (high double) - .quad 0x3C47DB89E2705528 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7B27EEAE12CDB // c1 (low double) - .quad 0x3F9A3EE464F938D9 // c2 - .quad 0x3F99D644D21E7AE8 // c3 - .quad 0x3F718C74CAAA7BA1 // c4 - .quad 0x3F66B2F778B94D1C // c5 - .quad 0x3F450AB96EF7371C // c6 - .quad 0x3F1412EF7B7239D9 // c7 - .quad 0xBFD858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0x3C7EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC063EE9D2B777C // c0 (high double) - .quad 0x3C4E1787D8B79264 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB7DC78B746BB2F // c1 (low double) - .quad 0x3F9B336DA889AC7D // c2 - .quad 0x3F9A0E7FEF8737D6 // c3 - .quad 0x3F724046DF328844 // c4 - .quad 0x3F67185639AB9983 // c5 - .quad 0x3F45FBD25ACB3A74 // c6 - .quad 0x3F0E765A126439F7 // c7 - .quad 0xBFD921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC71A62633145C07 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC0EE13A8A2A9C6 // c0 (high double) - .quad 0xBC5830A63DDC366C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB807F44735B1A4 // c1 (low double) - .quad 0x3F9C2A135884458A // c2 - .quad 0x3F9A48F4EE376E9D // c3 - .quad 0x3F72F746AAC73A47 // c4 - .quad 0x3F678215824701AF // c5 - .quad 0x3F46F3C719FB66E6 // c6 - .quad 0x3F4BA88D5ED09DD1 // c7 - .quad 0xBFD9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0xBC419ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC1787E32B35112 // c0 (high double) - .quad 0xBC5D2D85EBE7CAE6 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB834F4FC268515 // c1 (low double) - .quad 0x3F9D22EA9FA50E7D // c2 - .quad 0x3F9A85AE02819BA3 // c3 - .quad 0x3F73B19803AB2B21 // c4 - .quad 0x3F67F0B8C640461D // c5 - .quad 0x3F47F293167B409B // c6 - .quad 0xBF198BF45EA16C3A // c7 - .quad 0xBFDAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0x3C6A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC20330A15F6568 // c0 (high double) - .quad 0x3C61BB4F210EA8D1 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8637E591E05FE // c1 (low double) - .quad 0x3F9E1E090AECCE81 // c2 - .quad 0x3F9AC4B5D3090946 // c3 - .quad 0x3F746F5FC5C316BA // c4 - .quad 0x3F686400E51F53C2 // c5 - .quad 0x3F48F8EADC3DB9C7 // c6 - .quad 0xBF320AB3DF7578B7 // c7 - .quad 0xBFDB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0x3C7CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC28E2D6047CBC8 // c0 (high double) - .quad 0xBC0CEAB2537F4380 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB89394034B11CF // c1 (low double) - .quad 0x3F9F1B848DE48876 // c2 - .quad 0x3F9B06177BDD3821 // c3 - .quad 0x3F7530C3E0150AA0 // c4 - .quad 0x3F68DBF62FBA70A3 // c5 - .quad 0x3F4A0736C860B4FE // c6 - .quad 0x3F50A3F1D969C867 // c7 - .quad 0xBFDC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC73DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC31976E0E280B3 // c0 (high double) - .quad 0xBC667516EE4F2544 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8C539C2AB0F89 // c1 (low double) - .quad 0x3FA00DB9C3806462 // c2 - .quad 0x3F9B49DE91DB8E44 // c3 - .quad 0x3F75F5EB6258C838 // c4 - .quad 0x3F695952C6BEE632 // c5 - .quad 0x3F4B1D691B1E9E68 // c6 - .quad 0xBEFC71567DD0AC40 // c7 - .quad 0xBFDD0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0xBC51A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC3A50F9AB1CA91 // c0 (high double) - .quad 0x3C50CA3B48D90906 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB8F87382B56ACB // c1 (low double) - .quad 0x3FA08EF662132882 // c2 - .quad 0x3F9B901726A3CD1C // c3 - .quad 0x3F76BEFE8A4461A2 // c4 - .quad 0x3F69DBAE42D8A424 // c5 - .quad 0x3F4C3C52357BEFDC // c6 - .quad 0x3F32456D9E4ECEE8 // c7 - .quad 0xBFDDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0x3C66156546AFA570 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC430FA0B7C7F15 // c0 (high double) - .quad 0x3C63115D3C69C8AB // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB92D45530E4319 // c1 (low double) - .quad 0x3FA11183C3A8DFF6 // c2 - .quad 0x3F9BD8CDCC073185 // c3 - .quad 0x3F778C26D2F52E9A // c4 - .quad 0x3F6A638650FB67B4 // c5 - .quad 0x3F4D6420527BDA5C // c6 - .quad 0xBF2DA5A647B98994 // c7 - .quad 0xBFDEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0x3C7A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC4BD38B7876716 // c0 (high double) - .quad 0x3C5504069A91A838 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB963B368408780 // c1 (low double) - .quad 0x3FA1956DC5B1F35A // c2 - .quad 0x3F9C240F984C07DC // c3 - .quad 0x3F785D8F0388F11C // c4 - .quad 0x3F6AF0B073DF1CB2 // c5 - .quad 0x3F4E9580D70D3533 // c6 - .quad 0x3F4571315C6E8041 // c7 - .quad 0xBFDF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC760FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC549CE29CFCCBE // c0 (high double) - .quad 0xBC69881846E0BF86 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB99BC21C7FB9B2 // c1 (low double) - .quad 0x3FA21AC0848A46C5 // c2 - .quad 0x3F9C71EA2A16819D // c3 - .quad 0x3F7933633F8F0072 // c4 - .quad 0x3F6B83D1C5509A03 // c5 - .quad 0x3F4FD088727B14B9 // c6 - .quad 0xBF2306C949D5376C // c7 - .quad 0xBFE019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0x3C8CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC5D6BCF447403E // c0 (high double) - .quad 0xBC6C6C662876B393 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FB9D575F071964A // c1 (low double) - .quad 0x3FA2A1885E06BEAC // c2 - .quad 0x3F9CC26BAD1B38B8 // c3 - .quad 0x3F7A0DD116DA5229 // c4 - .quad 0x3F6C1C921E809C74 // c5 - .quad 0x3F508B03CEF8B0C3 // c6 - .quad 0x3F4BCE57D088C848 // c7 - .quad 0xBFE07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0x3C61ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC66407B0109FA6 // c0 (high double) - .quad 0x3C55C3EC26D04666 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA10D38BFFE319 // c1 (low double) - .quad 0x3FA329D1F417DBD6 // c2 - .quad 0x3F9D15A2DE544C7C // c3 - .quad 0x3F7AED07977D3236 // c4 - .quad 0x3F6CBBAD3C53FDE7 // c5 - .quad 0x3F513318B342B49D // c6 - .quad 0x3F1AF93D0FFB8A50 // c7 - .quad 0xBFE0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0xBC83DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC6F1B0FDBE6EDE // c0 (high double) - .quad 0x3C614F63025E35DC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA4DDFBF32A727 // c1 (low double) - .quad 0x3FA3B3AA2F826E47 // c2 - .quad 0x3F9D6B9F112A3CA9 // c3 - .quad 0x3F7BD1375F2B326E // c4 - .quad 0x3F6D60EF002A5959 // c5 - .quad 0x3F51E0E0E3E641DE // c6 - .quad 0x3F32BFA3B8923D31 // c7 - .quad 0xBFE1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C83DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC77FBB85928D2D // c0 (high double) - .quad 0xBC6121F4E1AC8166 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBA8C9F83131391 // c1 (low double) - .quad 0x3FA43F1E42AF6970 // c2 - .quad 0x3F9DC4703433CA75 // c3 - .quad 0x3F7CBA92AE7FE396 // c4 - .quad 0x3F6E0CB6D0475CCF // c5 - .quad 0x3F529491FB8790D2 // c6 - .quad 0x3F37152AFD195A10 // c7 - .quad 0xBFE1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0xBC61A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC80E29F7BF5633 // c0 (high double) - .quad 0x3C67F8F06ACC7061 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBACD17FA976786 // c1 (low double) - .quad 0x3FA4CC3BAC93F075 // c2 - .quad 0x3F9E2026D6967836 // c3 - .quad 0x3F7DA94D7C694B78 // c4 - .quad 0x3F6EBF4F14B98A92 // c5 - .quad 0x3F534E7211F873CE // c6 - .quad 0xBF2290D13622948A // c7 - .quad 0xBFE2106CA4910069 // B' = pi/2 - B (high double) - .quad 0xBC8CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC89CFF0CAA3CB4 // c0 (high double) - .quad 0xBC6A8D50D06FC283 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB0F4E73981D4B // c1 (low double) - .quad 0x3FA55B103BB2BD6D // c2 - .quad 0x3F9E7ED42D91EC8D // c3 - .quad 0x3F7E9D9D8AAE7B14 // c4 - .quad 0x3F6F78B5039EFAD8 // c5 - .quad 0x3F540EDBA3A78643 // c6 - .quad 0x3F3AA2CB5E5BE1ED // c7 - .quad 0xBFE274F491E2111E // B' = pi/2 - B (high double) - .quad 0x3C7613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC92C3D852FEDF2 // c0 (high double) - .quad 0x3C20F5E7403E5E20 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB534867CEB1CB // c1 (low double) - .quad 0x3FA5EBAA113813D4 // c2 - .quad 0x3F9EE08A1A202CC5 // c3 - .quad 0x3F7F97BA7BA1301A // c4 - .quad 0x3F701CAD7F191DFA // c5 - .quad 0x3F54D60D13221310 // c6 - .quad 0x3F45F5FE99894FC6 // c7 - .quad 0xBFE2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC7A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FC9BBE82AEA0D12 // c0 (high double) - .quad 0xBC62D116CA77096B // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBB990B7DDE5BFC // c1 (low double) - .quad 0x3FA67E17A4317C6C // c2 - .quad 0x3F9F455B2F170454 // c3 - .quad 0x3F804BEEF437A2B3 // c4 - .quad 0x3F7080CEADF2976D // c5 - .quad 0x3F55A44E3A71E919 // c6 - .quad 0xBF039F946FDF9BBB // c7 - .quad 0xBFE33E046C843287 // B' = pi/2 - B (high double) - .quad 0x3C8A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCA4C01D0769648 // c0 (high double) - .quad 0x3C4DDC96CAE4A06C // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBBE09D8A670D72 // c1 (low double) - .quad 0x3FA71267C4E29753 // c2 - .quad 0x3F9FAD5AB78BB764 // c3 - .quad 0x3F80CF21BC414F68 // c4 - .quad 0x3F70E8AC1DCF4352 // c5 - .quad 0x3F567A14C053085F // c6 - .quad 0x3F4F621D6DE176C4 // c7 - .quad 0xBFE3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0x3C51B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCADC8D51C0FA5B // c0 (high double) - .quad 0x3C54B350B5D39570 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC2A04912319A8 // c1 (low double) - .quad 0x3FA7A8A9A038608E // c2 - .quad 0x3FA00C4E5E972915 // c3 - .quad 0x3F8155947D4C5C83 // c4 - .quad 0x3F7154A7B149DA58 // c5 - .quad 0x3F5757960EDFC45C // c6 - .quad 0x3F3F895706E3352B // c7 - .quad 0xBFE40714472653EF // B' = pi/2 - B (high double) - .quad 0xBC86106670B43955 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCB6D8D944D0371 // c0 (high double) - .quad 0xBC6CDD9D6EA4BA41 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBC7546C60FE5C7 // c1 (low double) - .quad 0x3FA840ECC35C53FD // c2 - .quad 0x3FA0439B07C380F3 // c3 - .quad 0x3F81DF673F038AB5 // c4 - .quad 0x3F71C4B3C36B8A12 // c5 - .quad 0x3F583D44FA2FB203 // c6 - .quad 0x3F52EE3E6132A151 // c7 - .quad 0xBFE46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C81A900F67F753A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCBFF05878394D3 // c0 (high double) - .quad 0x3C486912F813E2EC // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBCC26A8EA2077F // c1 (low double) - .quad 0x3FA8DB411F68EE69 // c2 - .quad 0x3FA07C9E25737218 // c3 - .quad 0x3F826CBB3713A292 // c4 - .quad 0x3F72392A32F26720 // c5 - .quad 0x3F592B76EEB6E2FF // c6 - .quad 0x3F39BADB5780F9BE // c7 - .quad 0xBFE4D02421C87558 // B' = pi/2 - B (high double) - .quad 0xBC6A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCC90F8250157F7 // c0 (high double) - .quad 0x3C657D8312BFEA17 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD117683053E13 // c1 (low double) - .quad 0x3FA977B70D411C29 // c2 - .quad 0x3FA0B762F022F359 // c3 - .quad 0x3F82FDB2D7324A8F // c4 - .quad 0x3F72B2030A36AADF // c5 - .quad 0x3F5A22A22953FC15 // c6 - .quad 0x3F473A2F09CE8F95 // c7 - .quad 0xBFE534AC0F19860C // B' = pi/2 - B (high double) - .quad 0xBC8EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCD236870E769B5 // c0 (high double) - .quad 0x3C523CE78218C6AA // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBD62716F68B5FE // c1 (low double) - .quad 0x3FAA165F518C38AB // c2 - .quad 0x3FA0F3F50E789484 // c3 - .quad 0x3F839271DC18DB75 // c4 - .quad 0x3F732F8BAC4C54A8 // c5 - .quad 0x3F5B23248F865B74 // c6 - .quad 0x3F36E307E2B0837C // c7 - .quad 0xBFE59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0x3C71AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCDB6597A2E1B61 // c0 (high double) - .quad 0xBC6CB71A947AACF6 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBDB56255580CA4 // c1 (low double) - .quad 0x3FAAB74B20D856E7 // c2 - .quad 0x3FA1326099896038 // c3 - .quad 0x3F842B1D5CF84F74 // c4 - .quad 0x3F73B1CC2C4E32D2 // c5 - .quad 0x3F5C2D7D75B7FC1B // c6 - .quad 0x3F53DB94CE2C2FD8 // c7 - .quad 0xBFE5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC7EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCE49CE5AF9DC29 // c0 (high double) - .quad 0xBC382336F1C6BD90 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE0A506D218F3C // c1 (low double) - .quad 0x3FAB5A8C23E49FEA // c2 - .quad 0x3FA172B22117D625 // c3 - .quad 0x3F84C7DBDBF304B9 // c4 - .quad 0x3F74391DF553E930 // c5 - .quad 0x3F5D4211231EF24A // c6 - .quad 0x3F52AB1CCD8D3AA9 // c7 - .quad 0xBFE66243D70CB82A // B' = pi/2 - B (high double) - .quad 0x3C884805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCEDDCA38F25FEC // c0 (high double) - .quad 0xBC65AACB9E8B4DF8 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBE6143274A35BF // c1 (low double) - .quad 0x3FAC00347C15ABB2 // c2 - .quad 0x3FA1B4F6B03A62C8 // c3 - .quad 0x3F8568D557225239 // c4 - .quad 0x3F74C5A8346B0155 // c5 - .quad 0x3F5E61680C7E386A // c6 - .quad 0x3F45A81E03899535 // c7 - .quad 0xBFE6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0x3BC6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FCF7250459C1976 // c0 (high double) - .quad 0x3C40B5B081F06BA0 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBEBA422E0FE0E5 // c1 (low double) - .quad 0x3FACA856C815D042 // c2 - .quad 0x3FA1F93BD218DCE9 // c3 - .quad 0x3F860E335AB42933 // c4 - .quad 0x3F75578EEA5D18D8 // c5 - .quad 0x3F5F8BFBAD564E86 // c6 - .quad 0x3F434A80D1DA21D1 // c7 - .quad 0xBFE72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0xBC88452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD003B1DF5A0F86 // c0 (high double) - .quad 0x3C716CEB71FB716B // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF155566FA6884 // c1 (low double) - .quad 0x3FAD530628A37C7A // c2 - .quad 0x3FA23F8F96E80A99 // c3 - .quad 0x3F86B82113BDC04E // c4 - .quad 0x3F75EF0B9C9DF1C6 // c5 - .quad 0x3F60613421CB6A80 // c6 - .quad 0x3F48E48E906FE806 // c7 - .quad 0xBFE78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C7EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD04E83F7474877 // c0 (high double) - .quad 0x3C73B117AC20AC65 // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBF7284F47C0E61 // c1 (low double) - .quad 0x3FAE0056458FCED5 // c2 - .quad 0x3FA28800992AEEE6 // c3 - .quad 0x3F8766CB6439B11D // c4 - .quad 0x3F768C54DBB36839 // c5 - .quad 0x3F610297B13942C6 // c6 - .quad 0x3F5536BD1C4BF79E // c7 - .quad 0xBFE7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0xBC71A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD099A0163BCD3F // c0 (high double) - .quad 0x3C7A7F11D963D72E // c0 (low double) - .quad 0x3FD0000000000000 // c1 (high single bit) - .quad 0x3FBFD1D937A1F094 // c1 (low double) - .quad 0x3FAEB05B52EFB4C0 // c2 - .quad 0x3FA2D29E032A57DB // c3 - .quad 0x3F881A60F7D38723 // c4 - .quad 0x3F772FBBF1BFA28B // c5 - .quad 0x3F61AA745B27BB01 // c6 - .quad 0x3F51CC19136F91C1 // c7 - .quad 0xBFE858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0x3C8EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD0E507EE8B93D7 // c0 (high double) - .quad 0x3C679F09CDD5D5B2 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBFCCA52E2AE201 // c1 (low double) - .quad 0x3FAF632A1681FD0B // c2 - .quad 0x3FA31F7794BDF922 // c3 - .quad 0x3F88D31259E30525 // c4 - .quad 0x3F77D97B728544F5 // c5 - .quad 0x3F62591A3A2B699F // c6 - .quad 0x3F3605B387A5D7A0 // c7 - .quad 0xBFE8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0x3C6A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x3FF0000000000000 // tau (1 for cot path) - .quad 0x3FD130BD396BB4A9 // c0 (high double) - .quad 0xBC657D8592EA09D4 // c0 (low double) - .quad 0x3FE0000000000000 // c1 (high single bit) - .quad 0xBFBF68ED595308D6 // c1 (low double) - .quad 0x3FB00C6BF6A673E6 // c2 - .quad 0x3FA36E9DA9556AA6 // c3 - .quad 0x3F8991120C7D4BB9 // c4 - .quad 0x3F7889ABD6008215 // c5 - .quad 0x3F630EE404688883 // c6 - .quad 0x3F52CAD75A2201AF // c7 - .quad 0xBFE921FB54442D18 // B' = pi/2 - B (high double) - .quad 0xBC81A62633145C07 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFF0000000000000 // c0 (high double) - .quad 0x3C0492B176DF0500 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0x0000000000000000 // c1 (low double) - .quad 0xC00000000000010A // c2 - .quad 0x4005555555555614 // c3 - .quad 0xC00AAAAAA890EF4D // c4 - .quad 0x4011111110018C73 // c5 - .quad 0xC015B108FB920A0B // c6 - .quad 0x401BA285D6669571 // c7 - .quad 0xBFE9868341953DCD // B' = pi/2 - B (high double) - .quad 0x3C861341341F5289 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEF395D9F0E3C92 // c0 (high double) - .quad 0x3C550BEC65726E28 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFA8873C53BE0540 // c1 (low double) - .quad 0xBFFE79E5C65202DE // c2 - .quad 0x400412FD76797C7D // c3 - .quad 0xC008AAB30DC82D37 // c4 - .quad 0x400F1B6C68B4AEA4 // c5 - .quad 0xC013758CE9BD9EFA // c6 - .quad 0x40186872A0685915 // c7 - .quad 0xBFE9EB0B2EE64E81 // B' = pi/2 - B (high double) - .quad 0xBC519ABB2567F739 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEE776EAFC91706 // c0 (high double) - .quad 0xBC890664EDC53F33 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFB7F295AD658764 // c1 (low double) - .quad 0xBFFD0AA1DB7F5E58 // c2 - .quad 0x4002E8A6F9693556 // c3 - .quad 0xC006D7CA16B298C6 // c4 - .quad 0x400C63DFCAA3FB6C // c5 - .quad 0xC0117C3EE50D7742 // c6 - .quad 0x401599932C96B9B6 // c7 - .quad 0xBFEA4F931C375F35 // B' = pi/2 - B (high double) - .quad 0xBC8A79EFFD795057 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEDB9FA89953FCF // c0 (high double) - .quad 0xBC286C68F514A640 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC18AC418849A6E // c1 (low double) - .quad 0xBFFBB083E02786D7 // c2 - .quad 0x4001D438F8A20402 // c3 - .quad 0xC0052D5D6FF7A4BD // c4 - .quad 0x4009F262067BAA5A // c5 - .quad 0xC00F793DA8608BED // c6 - .quad 0x401328BFC5F60A29 // c7 - .quad 0xBFEAB41B09886FEA // B' = pi/2 - B (high double) - .quad 0x3C7A7EEED374BC71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFED00CBC7384D2E // c0 (high double) - .quad 0xBC78C4FC635B4060 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFC6DA3A87611EA6 // c1 (low double) - .quad 0xBFFA6A00F50D3A6F // c2 - .quad 0x4000D3D0A6ABBD46 // c3 - .quad 0xC003A760672280D0 // c4 - .quad 0x4007BF026C103550 // c5 - .quad 0xC00C5EBD23F4E2ED // c6 - .quad 0x4011024DB786758B // c7 - .quad 0xBFEB18A2F6D9809E // B' = pi/2 - B (high double) - .quad 0xBC760E425E23E66F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEC4BB009E77983 // c0 (high double) - .quad 0x3C5346B6895BC358 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFCBEB63A6D04570 // c1 (low double) - .quad 0xBFF935AFFA8DCC1D // c2 - .quad 0x3FFFCB7657D15F0B // c3 - .quad 0xC002423AFCE75F54 // c4 - .quad 0x4005C2CF61AD4B89 // c5 - .quad 0xC0099C675A298F5C // c6 - .quad 0x400E49F38B657F96 // c7 - .quad 0xBFEB7D2AE42A9153 // B' = pi/2 - B (high double) - .quad 0x3C8CB2463821BB58 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEB9A77C18C1AF2 // c0 (high double) - .quad 0xBC76EA194A3A10DE // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD060D88DF903DF // c1 (low double) - .quad 0xBFF812463C417D93 // c2 - .quad 0x3FFE10E093E6DE8D // c3 - .quad 0xC000FABB50DD022E // c4 - .quad 0x4003F7B45B053F77 // c5 - .quad 0xC007275FB67DBBDD // c6 - .quad 0x400B02CB76CD2071 // c7 - .quad 0xBFEBE1B2D17BA207 // B' = pi/2 - B (high double) - .quad 0x3C61AEB67D55A7A1 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEAECF5F9BA35A6 // c0 (high double) - .quad 0xBC45350833FF1F00 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD2B02B2D565D55 // c1 (low double) - .quad 0xBFF6FE947B408BAC // c2 - .quad 0x3FFC751B52A83938 // c3 - .quad 0xBFFF9C12181CFBBA // c4 - .quad 0x4002585B4421C074 // c5 - .quad 0xC004F6412119DA02 // c6 - .quad 0x400814BACED70A9A // c7 - .quad 0xBFEC463ABECCB2BB // B' = pi/2 - B (high double) - .quad 0xBC83DAEAF976E788 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFEA43002AE42850 // c0 (high double) - .quad 0x3C7A7C0406DA50C8 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD4E526E33345B8 // c1 (low double) - .quad 0xBFF5F9844B626284 // c2 - .quad 0x3FFAF5A574C2F3BF // c3 - .quad 0xBFFD7334FD198D13 // c4 - .quad 0x4000E01251879DC7 // c5 - .quad 0xC00300E6F5213CD0 // c6 - .quad 0x40058BA67D3A0565 // c7 - .quad 0xBFECAAC2AC1DC370 // B' = pi/2 - B (high double) - .quad 0x3C83DE7C6DBCC708 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE99C6E0F634394 // c0 (high double) - .quad 0xBC81A125C4B050B6 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD7012EAAC8A987 // c1 (low double) - .quad 0xBFF50215B95FD940 // c2 - .quad 0x3FF9903A2B193F49 // c3 - .quad 0xBFFB7656607D37C1 // c4 - .quad 0x3FFF156F461C0EDF // c5 - .quad 0xC001403E48F27428 // c6 - .quad 0x40034ACD8D387876 // c7 - .quad 0xBFED0F4A996ED424 // B' = pi/2 - B (high double) - .quad 0xBC61A070AC3E29A0 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE8F9197BF85EEB // c0 (high double) - .quad 0x3C77971D70636FAC // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFD9058D62BBB98D // c1 (low double) - .quad 0xBFF4175D31199B0C // c2 - .quad 0x3FF842CA948070CE // c3 - .quad 0xBFF9A1675E6F2233 // c4 - .quad 0x3FFCA94A75D1DF36 // c5 - .quad 0xBFFF5C3EE98CB792 // c6 - .quad 0x4001549BBD776205 // c7 - .quad 0xBFED73D286BFE4D8 // B' = pi/2 - B (high double) - .quad 0xBC8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE858DE3B716571 // c0 (high double) - .quad 0xBC8C6340D74E9430 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDAF377B50F3DE8 // c1 (low double) - .quad 0xBFF338819C6A585B // c2 - .quad 0x3FF70B781BB3F9F8 // c3 - .quad 0xBFF7F0C4DC952BEE // c4 - .quad 0x3FFA75444794B0BE // c5 - .quad 0xBFFC8A58AEEA1540 // c6 - .quad 0x3FFF1509C3EC4766 // c7 - .quad 0xBFEDD85A7410F58D // B' = pi/2 - B (high double) - .quad 0x3C76156546AFA570 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE7BB99ED2990CF // c0 (high double) - .quad 0x3C8AABB12893C19F // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDCCC0DD257FE9F // c1 (low double) - .quad 0xBFF264BAB3E8C3FC // c2 - .quad 0x3FF5E88F7CC1F7BC // c3 - .quad 0xBFF6612B1AE228E1 // c4 - .quad 0x3FF873A64164BF01 // c5 - .quad 0xBFFA016987C44E3B // c6 - .quad 0x3FFBFCA608E3ABD2 // c7 - .quad 0xBFEE3CE261620641 // B' = pi/2 - B (high double) - .quad 0xBC7A77CBEAE8FD71 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE7212BE621BE6D // c0 (high double) - .quad 0xBC8AD14CAC5A8A36 // c0 (low double) - .quad 0x4000000000000000 // c1 (high single bit) - .quad 0xBFDE905D04D13F70 // c1 (low double) - .quad 0xBFF19B4F7BD63206 // c2 - .quad 0x3FF4D8845C8EEC38 // c3 - .quad 0xBFF4EFAAD70924AA // c4 - .quad 0x3FF69F610EDFA787 // c5 - .quad 0xBFF7B93C8525967B // c6 - .quad 0x3FF928F491396159 // c7 - .quad 0xBFEEA16A4EB316F6 // B' = pi/2 - B (high double) - .quad 0x3C8A7D8171BF2FD8 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE6897514751DB6 // c0 (high double) - .quad 0xBC7432E085692DD0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDFBE9EE099229D // c1 (low double) - .quad 0xBFF0DB94E83152C9 // c2 - .quad 0x3FF3D9ED602549D9 // c3 - .quad 0xBFF3999FCB35B63C // c4 - .quad 0x3FF4F3F4BB18D34D // c5 - .quad 0xBFF5AA9FE2712A98 // c6 - .quad 0x3FF6B61F156D15A2 // c7 - .quad 0xBFEF05F23C0427AA // B' = pi/2 - B (high double) - .quad 0x3C51B746C796F33C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE5F457E4F4812E // c0 (high double) - .quad 0xBC8F6EE06A43AD15 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDE1FFA33ABCB2D // c1 (low double) - .quad 0xBFF024ECA3857FDF // c2 - .quad 0x3FF2EB80B3E2C969 // c3 - .quad 0xBFF25CA858ECE33E // c4 - .quad 0x3FF36D6159DB2BC3 // c5 - .quad 0xBFF3CF427530AFAE // c6 - .quad 0x3FF4914D16BF30E1 // c7 - .quad 0xBFEF6A7A2955385E // B' = pi/2 - B (high double) - .quad 0xBC860FAFBFD97309 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE561B82AB7F990 // c0 (high double) - .quad 0xBC87A5FA3E37C2A5 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDC92D84170BCC6 // c1 (low double) - .quad 0xBFEEED87E934644C // c2 - .quad 0x3FF20C10F4D7D072 // c3 - .quad 0xBFF1369E37DA5741 // c4 - .quad 0x3FF20816F61AB3EE // c5 - .quad 0xBFF221953D8712FA // c6 - .quad 0x3FF29CA76CD56201 // c7 - .quad 0xBFEFCF0216A64913 // B' = pi/2 - B (high double) - .quad 0x3C81A9B7A75A3B87 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE4D17B087B265D // c0 (high double) - .quad 0x3C788AAC4AE25B54 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FDB166A3723839C // c1 (low double) - .quad 0xBFEDA1257F3D5E87 // c2 - .quad 0x3FF13A8A70704F6B // c3 - .quad 0xBFF025900612C493 // c4 - .quad 0x3FF0C0E778680DE8 // c5 - .quad 0xBFF09CB2B02DFCD5 // c6 - .quad 0x3FF0D681147681E0 // c7 - .quad 0xBFF019C501FBACE4 // B' = pi/2 - B (high double) - .quad 0x3C9CB18F8746F50C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE44386DB9CE5DB // c0 (high double) - .quad 0x3C8A7F79AD345EDE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD9A9EE22E82AF2 // c1 (low double) - .quad 0xBFEC63B53FACFD1B // c2 - .quad 0x3FF075F0B010F1C9 // c3 - .quad 0xBFEE4F7738A37AC1 // c4 - .quad 0x3FEF29F7068A6E01 // c5 - .quad 0xBFEE78912F3E48A3 // c6 - .quad 0x3FEE7DE5AD1A6D54 // c7 - .quad 0xBFF04C08F8A4353E // B' = pi/2 - B (high double) - .quad 0x3C908E433AE0CC54 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE3B7C3289ED6F3 // c0 (high double) - .quad 0x3C8C4CF3D3282C13 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD84CAE0A06DE7C // c1 (low double) - .quad 0xBFEB344C2E4C0F47 // c2 - .quad 0x3FEF7AB88F5F820C // c3 - .quad 0xBFEC771219A99E98 // c4 - .quad 0x3FED0390B144EACA // c5 - .quad 0xBFEBF90A32A17514 // c6 - .quad 0x3FEBAC50A2919B8C // c7 - .quad 0xBFF07E4CEF4CBD98 // B' = pi/2 - B (high double) - .quad 0x3C71ABDBB9EA8E6E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE32E1889047FFD // c0 (high double) - .quad 0x3C810D08F013759C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD6FDFF12A4297B // c1 (low double) - .quad 0xBFEA120FA25B9D83 // c2 - .quad 0x3FEE1FF1BF27E6AB // c3 - .quad 0xBFEABF0C6E045EA0 // c4 - .quad 0x3FEB0A0E2CDCAB88 // c5 - .quad 0xBFE9B40D41660E9D // c6 - .quad 0x3FE92FCC1848D94B // c7 - .quad 0xBFF0B090E5F545F2 // B' = pi/2 - B (high double) - .quad 0xBC7EE15577AE1472 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE2A6709A74F289 // c0 (high double) - .quad 0xBC76E3B98C266662 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD5BD40BF249496 // c1 (low double) - .quad 0xBFE8FC33EFCF6F3A // c2 - .quad 0x3FECDA06E4CFC822 // c3 - .quad 0xBFE924C5BA1C7515 // c4 - .quad 0x3FE9395A86CEDBCB // c5 - .quad 0xBFE7A39B6931C7D4 // c6 - .quad 0x3FE6D875BED7A2F5 // c7 - .quad 0xBFF0E2D4DC9DCE4C // B' = pi/2 - B (high double) - .quad 0xBC93DBA1AA51ADD5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE220B5EF047825 // c0 (high double) - .quad 0xBC5AE1F6C712B338 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD489DC399ADDEC // c1 (low double) - .quad 0xBFE7F1FB2FEBE8C6 // c2 - .quad 0x3FEBA791734D6CCE // c3 - .quad 0xBFE7A5DA56BAB9DA // c4 - .quad 0x3FE78DC9A17C17D7 // c5 - .quad 0xBFE5C262725357AE // c6 - .quad 0x3FE4D1FE58052A5F // c7 - .quad 0xBFF11518D34656A6 // B' = pi/2 - B (high double) - .quad 0xBC9FFEEDF6B7D68D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE19CD3FE8E405D // c0 (high double) - .quad 0x3C84E5C1D4831B21 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD36343ADCAF866 // c1 (low double) - .quad 0xBFE6F2B4260FF6A8 // c2 - .quad 0x3FEA8747864942E1 // c3 - .quad 0xBFE6401D47362936 // c4 - .quad 0x3FE6040F50A52FBE // c5 - .quad 0xBFE40BA6192CC675 // c6 - .quad 0x3FE302E7DABA2D8E // c7 - .quad 0xBFF1475CC9EEDF01 // B' = pi/2 - B (high double) - .quad 0x3C93DDC5BCE200BB // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE11AB7190834EC // c0 (high double) - .quad 0x3C8E577A07DB8B3E // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD248F1B07217E3 // c1 (low double) - .quad 0xBFE5FDB93DD01D06 // c2 - .quad 0x3FE977F956462152 // c3 - .quad 0xBFE4F192BE91E40A // c4 - .quad 0x3FE49932EEB2A51C // c5 - .quad 0xBFE27B305435DE25 // c6 - .quad 0x3FE176C2BDD3411E // c7 - .quad 0xBFF179A0C097675B // B' = pi/2 - B (high double) - .quad 0x3C7EE9E5C1EF600D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE09A4C59BD0D4D // c0 (high double) - .quad 0x3C451D94A7B87B10 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD13A68B2A5E855 // c1 (low double) - .quad 0xBFE5126F9FD8D89F // c2 - .quad 0x3FE8788EEDC53F19 // c3 - .quad 0xBFE3B86B3E883B76 // c4 - .quad 0x3FE34A881E7F09CA // c5 - .quad 0xBFE10D3EF07D1073 // c6 - .quad 0x3FDFEBFE6A9FE5DD // c7 - .quad 0xBFF1ABE4B73FEFB5 // B' = pi/2 - B (high double) - .quad 0xBC71A34B6FA942D3 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFE01B819B5A7CF7 // c0 (high double) - .quad 0xBC80BED996FB9ED6 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FD03732803B2A4C // c1 (low double) - .quad 0xBFE430465B55C6C0 // c2 - .quad 0x3FE78806185ACF72 // c3 - .quad 0xBFE292FF3DF61A34 // c4 - .quad 0x3FE215A449967BC2 // c5 - .quad 0xBFDF7CEF2946D3BA // c6 - .quad 0x3FDD0F4FF3CD4465 // c7 - .quad 0xBFF1DE28ADE8780F // B' = pi/2 - B (high double) - .quad 0xBC908C1F2850796D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDF3C8AD985D9EE // c0 (high double) - .quad 0xBC455C31F533FF68 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCE7DBF907D8618 // c1 (low double) - .quad 0xBFE356B5A1D9CA5A // c2 - .quad 0x3FE6A57085697F99 // c3 - .quad 0xBFE17FCB46BE280B // c4 - .quad 0x3FE0F858275BAA48 // c5 - .quad 0xBFDD17B47CA8A84B // c6 - .quad 0x3FDA9B369A707A6B // c7 - .quad 0xBFF2106CA4910069 // B' = pi/2 - B (high double) - .quad 0xBC9CAF6B74B6A225 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDE450E0D273E7A // c0 (high double) - .quad 0xBC74138BBC4225C5 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCCA20F5D4879EA // c1 (low double) - .quad 0xBFE2853E13FBB7C7 // c2 - .quad 0x3FE5CFF21905E477 // c3 - .quad 0xBFE07D6C7D0DAC66 // c4 - .quad 0x3FDFE1550F550217 // c5 - .quad 0xBFDAE570CE7F6BE5 // c6 - .quad 0x3FD89328A3AB7677 // c7 - .quad 0xBFF242B09B3988C4 // B' = pi/2 - B (high double) - .quad 0x3C972D483EE33523 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDD506C82A2C800 // c0 (high double) - .quad 0xBC6E169413DFE956 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FCADA8ECCC42C48 // c1 (low double) - .quad 0xBFE1BB681D0BE8A7 // c2 - .quad 0x3FE506BF662527D3 // c3 - .quad 0xBFDF153B07CB2306 // c4 - .quad 0x3FDDF9A636394DCA // c5 - .quad 0xBFD8E153A4A7867F // c6 - .quad 0x3FD6937B37976C23 // c7 - .quad 0xBFF274F491E2111E // B' = pi/2 - B (high double) - .quad 0x3C8613F7E4FA18D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDC5E87185E67B6 // c0 (high double) - .quad 0xBC4FEBA1F148ADA8 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC92683A68EB5D0 // c1 (low double) - .quad 0xBFE0F8C35C7247C7 // c2 - .quad 0x3FE4491C4DCA262E // c3 - .quad 0xBFDD4C67683395D6 // c4 - .quad 0x3FDC3667C15EBF92 // c5 - .quad 0xBFD7070B7FE443D3 // c6 - .quad 0x3FD4805841790B6E // c7 - .quad 0xBFF2A738888A9978 // B' = pi/2 - B (high double) - .quad 0xBC5195059E91C4D2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDB6F3FC8C61E5B // c0 (high double) - .quad 0x3C6A1CC48268287A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC7853E65CE5524 // c1 (low double) - .quad 0xBFE03CE61B6A9E63 // c2 - .quad 0x3FE3965ABF5C8FAB // c3 - .quad 0xBFDB9E3938F261E9 // c4 - .quad 0x3FDA94A771ED6FE5 // c5 - .quad 0xBFD552B7D4636646 // c6 - .quad 0x3FD2F58F20A0FA49 // c7 - .quad 0xBFF2D97C7F3321D2 // B' = pi/2 - B (high double) - .quad 0xBC8A79394C9E8A0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFDA827999FCEF32 // c0 (high double) - .quad 0xBC708A11019E41CE // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC5F619980C4336 // c1 (low double) - .quad 0xBFDF0ED99BED9B65 // c2 - .quad 0x3FE2EDD996C1BBEB // c3 - .quad 0xBFDA08B785C6EA59 // c4 - .quad 0x3FD911BC7B12902F // c5 - .quad 0xBFD3C0DA5B1130C3 // c6 - .quad 0x3FD1B590151D6334 // c7 - .quad 0xBFF30BC075DBAA2C // B' = pi/2 - B (high double) - .quad 0xBC995FE8F2B56DBD // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD998188E816BF0 // c0 (high double) - .quad 0xBC73DB2BD13E0A0C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC478794806DE66 // c1 (low double) - .quad 0xBFDDAFF33BF96274 // c2 - .quad 0x3FE24F039543C659 // c3 - .quad 0xBFD88A113E071D2D // c4 - .quad 0x3FD7AB3E661E65F9 // c5 - .quad 0xBFD24E4E1B8DC6CD // c6 - .quad 0x3FD01ED5FCAC7FDD // c7 - .quad 0xBFF33E046C843287 // B' = pi/2 - B (high double) - .quad 0x3C9A7CCAC0E4698B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD8B00196B3D022 // c0 (high double) - .quad 0x3C67341EE30455A6 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC30BCA73878656 // c1 (low double) - .quad 0xBFDC5C67FF403B73 // c2 - .quad 0x3FE1B94E72981059 // c3 - .quad 0xBFD7209990BAE1F6 // c4 - .quad 0x3FD65EF72AC3A4F8 // c5 - .quad 0xBFD0F83D8377C34B // c6 - .quad 0x3FCD97555AF6144C // c7 - .quad 0xBFF37048632CBAE1 // B' = pi/2 - B (high double) - .quad 0x3C8CB2FCE8FC81A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD7CA1A832D0F84 // c0 (high double) - .quad 0x3C7EE5A712091434 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC1AF828B5ED674 // c1 (low double) - .quad 0xBFDB13909C0269A2 // c2 - .quad 0x3FE12C3A0394B7FA // c3 - .quad 0xBFD5CAC4A421216C // c4 - .quad 0x3FD52AE625505252 // c5 - .quad 0xBFCF7831018A616A // c6 - .quad 0x3FCB98AB42F62940 // c7 - .quad 0xBFF3A28C59D5433B // B' = pi/2 - B (high double) - .quad 0x3C61B19140C0C0D5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD6E649F7D78649 // c0 (high double) - .quad 0xBC678D2AC0322984 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FC0631EFCBE0D16 // c1 (low double) - .quad 0xBFD9D4CEDF38DFCD // c2 - .quad 0x3FE0A74F7488C3A6 // c3 - .quad 0xBFD487249EA3BD6C // c4 - .quad 0x3FD40D3A9BDEFA27 // c5 - .quad 0xBFCD2F1CBD1B58CD // c6 - .quad 0x3FC98CBDCEBDAD19 // c7 - .quad 0xBFF3D4D0507DCB95 // B' = pi/2 - B (high double) - .quad 0xBC83DA34489C213B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD604775FBB27DF // c0 (high double) - .quad 0xBC6AC647C9CF0A4C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBE4C49866D2D78 // c1 (low double) - .quad 0xBFD89F8D033946D5 // c2 - .quad 0x3FE02A20954EE23A // c3 - .quad 0xBFD35466F88C5ABC // c4 - .quad 0x3FD3044BAC5DC8C6 // c5 - .quad 0xBFCB110C3D6FEB70 // c6 - .quad 0x3FC7761A8DC12688 // c7 - .quad 0xBFF40714472653EF // B' = pi/2 - B (high double) - .quad 0xBC96106670B43955 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD5248AE1701B17 // c0 (high double) - .quad 0xBC7BE8CC944DAFEA // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FBBF04005723CCC // c1 (low double) - .quad 0xBFD7733D1300258A // c2 - .quad 0x3FDF688E6ACC7DF5 // c3 - .quad 0xBFD231520EA793C8 // c4 - .quad 0x3FD20E93C5183A34 // c5 - .quad 0xBFC91A331D55B3F7 // c6 - .quad 0x3FC651721E1371DD // c7 - .quad 0xBFF439583DCEDC4A // B' = pi/2 - B (high double) - .quad 0x3C9DCC4D42E59DF2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD4466D542BAC92 // c0 (high double) - .quad 0x3C705073A04E444A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB9B14751F8BA20 // c1 (low double) - .quad 0xBFD64F58590170A2 // c2 - .quad 0x3FDE8AC91D15CFCF // c3 - .quad 0xBFD11CC2EF09C664 // c4 - .quad 0x3FD12AB5AB65B965 // c5 - .quad 0xBFC7471C9AC81567 // c6 - .quad 0x3FC4826BA97C3E69 // c7 - .quad 0xBFF46B9C347764A4 // B' = pi/2 - B (high double) - .quad 0x3C91A900F67F753A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD36A08355C63DC // c0 (high double) - .quad 0x3C6D7145B6A10D86 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB78E922B82AB64 // c1 (low double) - .quad 0xBFD5335ED87AB0D5 // c2 - .quad 0x3FDDBA417913D89C // c3 - .quad 0xBFD015AB59BD876B // c4 - .quad 0x3FD0576D1EF5DB85 // c5 - .quad 0xBFC594A6DD2CA17D // c6 - .quad 0x3FC2F51FBC1DE653 // c7 - .quad 0xBFF49DE02B1FECFE // B' = pi/2 - B (high double) - .quad 0x3C7616D2A8653209 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD28F459ECAD74D // c0 (high double) - .quad 0xBC302C86D50E46C0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB5875F92EDBDF4 // c1 (low double) - .quad 0xBFD41ED6D05A0010 // c2 - .quad 0x3FDCF65481FC5BEB // c3 - .quad 0xBFCE361FE028368D // c4 - .quad 0x3FCF2728B941710B // c5 - .quad 0xBFC3FFF674960878 // c6 - .quad 0x3FC1A12109F12125 // c7 - .quad 0xBFF4D02421C87558 // B' = pi/2 - B (high double) - .quad 0xBC7A765E893370D7 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD1B6103D3597E9 // c0 (high double) - .quad 0xBC6CBCB5FED7AC2C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB39AFA3392E164 // c1 (low double) - .quad 0xBFD3114C46E2AEF3 // c2 - .quad 0x3FDC3E6B23EF73B5 // c3 - .quad 0xBFCC580D1B42EE7F // c4 - .quad 0x3FCDBC3D6E14D202 // c5 - .quad 0xBFC28671B66B7EC4 // c6 - .quad 0x3FC0BFBCFE62E275 // c7 - .quad 0xBFF502681870FDB2 // B' = pi/2 - B (high double) - .quad 0xBC92C0E3EEB304EE // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD0DE53475F3B3C // c0 (high double) - .quad 0xBC67B2CC0A839654 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) - .quad 0xBFD20A509D4BB6C1 // c2 - .quad 0x3FDB91F96510DF38 // c3 - .quad 0xBFCA8F698D62832E // c4 - .quad 0x3FCC6C3408291325 // c5 - .quad 0xBFC125B6D8F69817 // c6 - .quad 0x3FBE80E8F3B35090 // c7 - .quad 0xBFF534AC0F19860C // B' = pi/2 - B (high double) - .quad 0xBC9EE4303B192DA6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFD007FA758626AE // c0 (high double) - .quad 0xBC65A5EB9CA4F97A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FB00FF8E583BEBC // c1 (low double) - .quad 0xBFD1097A2AA570F5 // c2 - .quad 0x3FDAF07DA8CAEBA7 // c3 - .quad 0xBFC8DA9D107525AD // c4 - .quad 0x3FCB3545F2ADC1DB // c5 - .quad 0xBFBFB739DB46589A // c6 - .quad 0x3FBDA2C2374E7733 // c7 - .quad 0xBFF566F005C20E67 // B' = pi/2 - B (high double) - .quad 0x3C94F8837880A9A2 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFCE65E3F27C9F2A // c0 (high double) - .quad 0xBC6F62A8B8B3F2A2 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FACE04FD3EC1C90 // c1 (low double) - .quad 0xBFD00E63DD639A45 // c2 - .quad 0x3FDA598003751442 // c3 - .quad 0xBFC73829AC409F93 // c4 - .quad 0x3FCA15E3A26F9D69 // c5 - .quad 0xBFBD4C4574E0CB3E // c6 - .quad 0x3FBB9C588182E205 // c7 - .quad 0xBFF59933FC6A96C1 // B' = pi/2 - B (high double) - .quad 0x3C81AA6E583501D4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFCCBE4CEB4B4CF2 // c0 (high double) - .quad 0xBC64A514F790D588 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA9D1724DE6C940 // c1 (low double) - .quad 0xBFCE3159C5ED3A4E // c2 - .quad 0x3FD9CC919D4271B2 // c3 - .quad 0xBFC5A6A9489AA7F4 // c4 - .quad 0x3FC90C961E2B49F9 // c5 - .quad 0xBFBB06EE7CFA369E // c6 - .quad 0x3FB9E9447AAF378D // c7 - .quad 0xBFF5CB77F3131F1B // B' = pi/2 - B (high double) - .quad 0xBC6A70A9025D3E70 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFCB1909EFD8B762 // c0 (high double) - .quad 0xBC5843049E1318BC // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA6F2545C478E00 // c1 (low double) - .quad 0xBFCC4FF0A9D74F70 // c2 - .quad 0x3FD9494C22EF2A54 // c3 - .quad 0xBFC424CB909A6722 // c4 - .quad 0x3FC8180A481D593B // c5 - .quad 0xBFB8E3D90C36FA86 // c6 - .quad 0x3FB8D27EAFEAC4D3 // c7 - .quad 0xBFF5FDBBE9BBA775 // B' = pi/2 - B (high double) - .quad 0xBC8EE2C2D963A10C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC975F5E0553158 // c0 (high double) - .quad 0xBC2EEEA31AB9D050 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA4420303DEC550 // c1 (low double) - .quad 0xBFCA77D9D62CA610 // c2 - .quad 0x3FD8CF5143323608 // c3 - .quad 0xBFC2B15401455507 // c4 - .quad 0x3FC7370FF096556F // c5 - .quad 0xBFB6DFEACA56EADA // c6 - .quad 0x3FB6B75DF89EC13C // c7 - .quad 0xBFF62FFFE0642FCF // B' = pi/2 - B (high double) - .quad 0xBC9B94ADB917F93E // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC7D4EC54FB5968 // c0 (high double) - .quad 0xBC4FB65648F8A4A0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3FA1BF9C7C60B940 // c1 (low double) - .quad 0xBFC8A86964A1796B // c2 - .quad 0x3FD85E4A37F23352 // c3 - .quad 0xBFC14B181F5BF6AE // c4 - .quad 0x3FC66888E3A5D3BA // c5 - .quad 0xBFB4F84D7AC0F5DB // c6 - .quad 0x3FB62BA6F07C5587 // c7 - .quad 0xBFF66243D70CB82A // B' = pi/2 - B (high double) - .quad 0x3C984805FA81DE0A // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC635C990CE0D36 // c0 (high double) - .quad 0x3C59DFC0C48C2B20 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9ED49F1F8144C0 // c1 (low double) - .quad 0xBFC6E0F98ED00C32 // c2 - .quad 0x3FD7F5E75A2DD66E // c3 - .quad 0xBFBFE1FBA10F6B0E // c4 - .quad 0x3FC5AB7CD1905EBB // c5 - .quad 0xBFB32A57A4FAE3FF // c6 - .quad 0x3FB4BA60BA62CA68 // c7 - .quad 0xBFF69487CDB54084 // B' = pi/2 - B (high double) - .quad 0x3C8849735C376AA4 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC4986A74CF4E57 // c0 (high double) - .quad 0xBC69AB0A243914D0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F9A82B60D75F5C0 // c1 (low double) - .quad 0xBFC520EA2BA6A0AE // c2 - .quad 0x3FD795DFBFFEE39E // c3 - .quad 0xBFBD43F3A7862CC7 // c4 - .quad 0x3FC4FF04247D7006 // c5 - .quad 0xBFB1739726786F64 // c6 - .quad 0x3FB2FAC67536C2B7 // c7 - .quad 0xBFF6C6CBC45DC8DE // B' = pi/2 - B (high double) - .quad 0x3BD6D61B58C99C43 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC2FCAC73A60640 // c0 (high double) - .quad 0xBC52CF95F70D438C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F96881A43B33590 // c1 (low double) - .quad 0xBFC367A033B52F5E // c2 - .quad 0x3FD73DF0E3CC557A // c3 - .quad 0xBFBABA1CAC4F18CD // c4 - .quad 0x3FC4624C36BE941D // c5 - .quad 0xBFAFA38B2F88747D // c6 - .quad 0x3FB215B1F402C9E1 // c7 - .quad 0xBFF6F90FBB065138 // B' = pi/2 - B (high double) - .quad 0xBC8843BDD561383D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFC1626D85A91E70 // c0 (high double) - .quad 0x3C50084844291A00 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F92E3863C9A69E0 // c1 (low double) - .quad 0xBFC1B4854BB2B147 // c2 - .quad 0x3FD6EDDE5416DFFB // c3 - .quad 0xBFB8429341CCA17A // c4 - .quad 0x3FC3D49AC2C9F46E // c5 - .quad 0xBFAC85843914CF63 // c6 - .quad 0x3FB1B1DC3FA41043 // c7 - .quad 0xBFF72B53B1AED992 // B' = pi/2 - B (high double) - .quad 0xBC98452B3716C4D6 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFBF93183A8DB9E9 // c0 (high double) - .quad 0x3C4124AC452DA622 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F8F27A3181EE680 // c1 (low double) - .quad 0xBFC00707549D7ECC // c2 - .quad 0x3FD6A5716B500730 // c3 - .quad 0xBFB5DB89BB6B245F // c4 - .quad 0x3FC3554867F59647 // c5 - .quad 0xBFA98919BF6D1AC0 // c6 - .quad 0x3FB1AF9A18244AC2 // c7 - .quad 0xBFF75D97A85761ED // B' = pi/2 - B (high double) - .quad 0x3C9B97887C831272 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFBC63CE377FC802 // c0 (high double) - .quad 0x3C543F7D42D9FFC4 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F892FE02A47EFA0 // c1 (low double) - .quad 0xBFBCBD3001C956C5 // c2 - .quad 0x3FD664790F293C47 // c3 - .quad 0xBFB38345DE7C4B0B // c4 - .quad 0x3FC2E3C4C02FFDF9 // c5 - .quad 0xBFA6AA7F0C135018 // c6 - .quad 0x3FAFE3C754ACF687 // c7 - .quad 0xBFF78FDB9EFFEA47 // B' = pi/2 - B (high double) - .quad 0x3C8EE8786039D373 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFB936BB8C5B2DA2 // c0 (high double) - .quad 0xBC587D23392D360C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F83DDE2A8935DE0 // c1 (low double) - .quad 0xBFB97558DC230BA8 // c2 - .quad 0x3FD62AC976FBC1B8 // c3 - .quad 0xBFB1381EB60159F6 // c4 - .quad 0x3FC27F84438D5027 // c5 - .quad 0xBFA3E63B3A462D11 // c6 - .quad 0x3FAF0AE614B60705 // c7 - .quad 0xBFF7C21F95A872A1 // B' = pi/2 - B (high double) - .quad 0x3C6A877F1DB6080C // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFB60B9F7597FDEC // c0 (high double) - .quad 0xBC3D1E3FBF349CC0 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) - .quad 0xBFB6357984E124B6 // c2 - .quad 0x3FD5F83BF8B56900 // c3 - .quad 0xBFADF0F50CAA06C2 // c4 - .quad 0x3FC228147690425D // c5 - .quad 0xBFA138F0F640FF12 // c6 - .quad 0x3FAF8D1BCDD067BD // c7 - .quad 0xBFF7F4638C50FAFB // B' = pi/2 - B (high double) - .quad 0xBC81A4B8D15ECF6D // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFB2E239CCFF3831 // c0 (high double) - .quad 0xBC5879ED3FF4D06C // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F764980AEEE3740 // c1 (low double) - .quad 0xBFB2FC879C81123C // c2 - .quad 0x3FD5CCAEDC1DC96E // c3 - .quad 0xBFA98599B71D86B1 // c4 - .quad 0x3FC1DD150D55E5CE // c5 - .quad 0xBF9D3EB9450DBD20 // c6 - .quad 0x3FADD6CFBE9A9DDE // c7 - .quad 0xBFF826A782F98355 // B' = pi/2 - B (high double) - .quad 0xBC94F5A8B515906F // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFAF7495EA3F3783 // c0 (high double) - .quad 0x3C407F10D50F8AC9 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F6EEB8B377B1A00 // c1 (low double) - .quad 0xBFAF92FABFD0B7B3 // c2 - .quad 0x3FD5A805341437FF // c3 - .quad 0xBFA52B295E2DCF92 // c4 - .quad 0x3FC19E2C59B8C033 // c5 - .quad 0xBF982CF88466F013 // c6 - .quad 0x3FAD27509D6C3D7C // c7 - .quad 0xBFF858EB79A20BB0 // B' = pi/2 - B (high double) - .quad 0x3C9EE70AFE8446D9 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFA927278A3B1162 // c0 (high double) - .quad 0xBBFB01BD7F1D4620 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F63C55DB08E1680 // c1 (low double) - .quad 0xBFA936B1EC652161 // c2 - .quad 0x3FD58A26BD6CCCCD // c3 - .quad 0xBFA0DEB5445B4095 // c4 - .quad 0x3FC16B146127E0E0 // c5 - .quad 0xBF9336A9836851D5 // c6 - .quad 0x3FAC19302F7F3ACC // c7 - .quad 0xBFF88B2F704A940A // B' = pi/2 - B (high double) - .quad 0x3C92C3BEB21E1E21 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBFA2DBAAE9A05DB0 // c0 (high double) - .quad 0x3C4371F88E195029 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F563A086B860B00 // c1 (low double) - .quad 0xBFA2E23785EEB488 // c2 - .quad 0x3FD572FFC353B741 // c3 - .quad 0xBF993ABD2276BF58 // c4 - .quad 0x3FC143926088643D // c5 - .quad 0xBF8CAC359DDE7BCE // c6 - .quad 0x3FAB56F9A2A6CD28 // c7 - .quad 0xBFF8BD7366F31C64 // B' = pi/2 - B (high double) - .quad 0x3C7A81C996DFD5A5 // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBF992346247A91F0 // c0 (high double) - .quad 0x3BF126D920C63160 // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F43BF447B091000 // c1 (low double) - .quad 0xBF992726F0F98D7F // c2 - .quad 0x3FD5628108EFA55C // c3 - .quad 0xBF90C8A60639C114 // c4 - .quad 0x3FC127789EC0BD38 // c5 - .quad 0xBF830BA6F46C58D9 // c6 - .quad 0x3FABBEE2C1E62B03 // c7 - .quad 0xBFF8EFB75D9BA4BE // B' = pi/2 - B (high double) - .quad 0xBC760B679AB8CD3B // B' = pi/2 - B (low double) - .quad 0x0000000000000000 // tau (1 for cot path) - .quad 0xBF89224E047E368E // c0 (high double) - .quad 0x3C1A268EB3BB9B7A // c0 (low double) - .quad 0x3FF0000000000000 // c1 (high single bit) - .quad 0x3F23BDBEAD8CF800 // c1 (low double) - .quad 0xBF8923461AE96D62 // c2 - .quad 0x3FD5589FB822D5EE // c3 - .quad 0xBF80C326DCDCFCD2 // c4 - .quad 0x3FC116A999125B8A // c5 - .quad 0xBF7300CC26580304 // c6 - .quad 0x3FAB7B6F1DCF22D1 // c7 - .align 32 - .quad 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000 /* dReductionRangeVal */ - .align 32 - .quad 0x3FE45F306DC9C883, 0x3FE45F306DC9C883, 0x3FE45F306DC9C883, 0x3FE45F306DC9C883 /* _dInvPi */ - .align 32 - .quad 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000 /* _dPI1 */ - .align 32 - .quad 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000 /* _dPI2 */ - .align 32 - .quad 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345 /* _dPI3 */ - // PI1, PI2, and PI3 when FMA is available - .align 32 - .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 /* _dPI1_FMA */ - .align 32 - .quad 0x3c91a62633145c06, 0x3c91a62633145c06, 0x3c91a62633145c06, 0x3c91a62633145c06 /* _dPI2_FMA */ - .align 32 - .quad 0x394c1cd129024e09, 0x394c1cd129024e09, 0x394c1cd129024e09, 0x394c1cd129024e09 /* _dPI3_FMA */ - .align 32 - .quad 0xbfc06b97be36d389, 0xbfc06b97be36d389, 0xbfc06b97be36d389, 0xbfc06b97be36d389 /* _dP1 */ - .align 32 - .quad 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301 /* _dP2 */ - .align 32 - .quad 0xbedf637dce2a3800, 0xbedf637dce2a3800, 0xbedf637dce2a3800, 0xbedf637dce2a3800 /* _dP3 */ - .align 32 - .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 /* _dQ0 */ - .align 32 - .quad 0xbfdd8b213470beee, 0xbfdd8b213470beee, 0xbfdd8b213470beee, 0xbfdd8b213470beee /* _dQ1 */ - .align 32 - .quad 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56 /* _dQ2 */ - .align 32 - .quad 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6 /* _dQ3 */ - .align 32 - .type __svml_dtan_data_internal,@object - .size __svml_dtan_data_internal,.-__svml_dtan_data_internal - .align 32 + /* Shared value*/ + .quad 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF /* _dAbsMask */ + .align 32 + .quad 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000 /* _dRangeVal */ + .align 32 + .quad 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000 /* _dRShift */ + // _dCoeffs Breakpoint B = 0 * pi/256, function tan(B + x) + .align 32 + .quad 0x3FF921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C91A62633145C07 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x0000000000000000 // c0 (high double) + .quad 0x0000000000000000 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x0000000000000000 // c1 (low double) + .quad 0x0000000000000000 // c2 + .quad 0x3FD5555555555559 // c3 + .quad 0x0000000000000000 // c4 + .quad 0x3FC1111110FE825D // c5 + .quad 0x0000000000000000 // c6 + .quad 0x3FABA1EEC0271523 // c7 + .quad 0x3FF8EFB75D9BA4BE // B' = pi/2 - B (high double) + .quad 0x3C760B679AB8CD3B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3F89224E047E368E // c0 (high double) + .quad 0xBC1A268EB2C67108 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F23BDBEAD8CF800 // c1 (low double) + .quad 0x3F8923461AE96D62 // c2 + .quad 0x3FD5589FB822D5EE // c3 + .quad 0x3F80C326DCDCFCD0 // c4 + .quad 0x3FC116A999125B7F // c5 + .quad 0x3F7300CC26596ADA // c6 + .quad 0x3FAB7B6F1DE289A8 // c7 + .quad 0x3FF8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0xBC7A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3F992346247A91F0 // c0 (high double) + .quad 0xBBF126D920C15240 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F43BF447B091000 // c1 (low double) + .quad 0x3F992726F0F98D7F // c2 + .quad 0x3FD5628108EFA55C // c3 + .quad 0x3F90C8A60639C114 // c4 + .quad 0x3FC127789EC0BD38 // c5 + .quad 0x3F830BA6F46C58B7 // c6 + .quad 0x3FABBEE2C1E62B81 // c7 + .quad 0x3FF88B2F704A940A // B' = pi/2 - B (high double) + .quad 0xBC92C3BEB21E1E21 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FA2DBAAE9A05DB0 // c0 (high double) + .quad 0xBC4371F88E84877C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F563A086B860B00 // c1 (low double) + .quad 0x3FA2E23785EEB488 // c2 + .quad 0x3FD572FFC353B741 // c3 + .quad 0x3F993ABD2276BF6A // c4 + .quad 0x3FC1439260886581 // c5 + .quad 0x3F8CAC359DCF5E16 // c6 + .quad 0x3FAB56F9A068D4C5 // c7 + .quad 0x3FF858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0xBC9EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FA927278A3B1162 // c0 (high double) + .quad 0x3BFB01BD7A51D5C0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F63C55DB08E1680 // c1 (low double) + .quad 0x3FA936B1EC652161 // c2 + .quad 0x3FD58A26BD6CCCCD // c3 + .quad 0x3FA0DEB5445B4098 // c4 + .quad 0x3FC16B146127E154 // c5 + .quad 0x3F9336A98365D094 // c6 + .quad 0x3FAC19302EB1C4A9 // c7 + .quad 0x3FF826A782F98355 // B' = pi/2 - B (high double) + .quad 0x3C94F5A8B515906F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FAF7495EA3F3783 // c0 (high double) + .quad 0xBC407F10D50F4C0A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F6EEB8B377B1A00 // c1 (low double) + .quad 0x3FAF92FABFD0B7B3 // c2 + .quad 0x3FD5A805341437FF // c3 + .quad 0x3FA52B295E2DCF92 // c4 + .quad 0x3FC19E2C59B8C033 // c5 + .quad 0x3F982CF88466EFEC // c6 + .quad 0x3FAD27509D6C3FEA // c7 + .quad 0x3FF7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0x3C81A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FB2E239CCFF3831 // c0 (high double) + .quad 0x3C5879ED3FF4EEAE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F764980AEEE3740 // c1 (low double) + .quad 0x3FB2FC879C81123C // c2 + .quad 0x3FD5CCAEDC1DC96E // c3 + .quad 0x3FA98599B71D86B1 // c4 + .quad 0x3FC1DD150D55E5CE // c5 + .quad 0x3F9D3EB9450DBD01 // c6 + .quad 0x3FADD6CFBE9AA234 // c7 + .quad 0x3FF7C21F95A872A1 // B' = pi/2 - B (high double) + .quad 0xBC6A877F1DB6080C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FB60B9F7597FDEC // c0 (high double) + .quad 0x3C3D1E3FBF3B4E18 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) + .quad 0x3FB6357984E124B6 // c2 + .quad 0x3FD5F83BF8B56900 // c3 + .quad 0x3FADF0F50CAA06C2 // c4 + .quad 0x3FC2281476904258 // c5 + .quad 0x3FA138F0F640FD68 // c6 + .quad 0x3FAF8D1BCDD8D11F // c7 + .quad 0x3FF78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC8EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FB936BB8C5B2DA2 // c0 (high double) + .quad 0x3C587D23392C2BA2 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F83DDE2A8935DE0 // c1 (low double) + .quad 0x3FB97558DC230BA8 // c2 + .quad 0x3FD62AC976FBC1B8 // c3 + .quad 0x3FB1381EB60159F6 // c4 + .quad 0x3FC27F84438D5029 // c5 + .quad 0x3FA3E63B3A462E45 // c6 + .quad 0x3FAF0AE614B2D473 // c7 + .quad 0x3FF75D97A85761ED // B' = pi/2 - B (high double) + .quad 0xBC9B97887C831272 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FBC63CE377FC802 // c0 (high double) + .quad 0xBC543F7D42DBAC49 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F892FE02A47EFA0 // c1 (low double) + .quad 0x3FBCBD3001C956C5 // c2 + .quad 0x3FD664790F293C47 // c3 + .quad 0x3FB38345DE7C4B0B // c4 + .quad 0x3FC2E3C4C02FFDFB // c5 + .quad 0x3FA6AA7F0C13520B // c6 + .quad 0x3FAFE3C754A9F092 // c7 + .quad 0x3FF72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0x3C98452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FBF93183A8DB9E9 // c0 (high double) + .quad 0xBC4124AC452772E2 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F8F27A3181EE680 // c1 (low double) + .quad 0x3FC00707549D7ECC // c2 + .quad 0x3FD6A5716B500730 // c3 + .quad 0x3FB5DB89BB6B245F // c4 + .quad 0x3FC3554867F59648 // c5 + .quad 0x3FA98919BF6D176A // c6 + .quad 0x3FB1AF9A1823147B // c7 + .quad 0x3FF6F90FBB065138 // B' = pi/2 - B (high double) + .quad 0x3C8843BDD561383D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC1626D85A91E70 // c0 (high double) + .quad 0xBC50084844291CB4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F92E3863C9A69E0 // c1 (low double) + .quad 0x3FC1B4854BB2B147 // c2 + .quad 0x3FD6EDDE5416DFFB // c3 + .quad 0x3FB8429341CCA17A // c4 + .quad 0x3FC3D49AC2C9F46F // c5 + .quad 0x3FAC85843914CF90 // c6 + .quad 0x3FB1B1DC3FA33DDD // c7 + .quad 0x3FF6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0xBBD6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC2FCAC73A60640 // c0 (high double) + .quad 0x3C52CF95F70B55BA // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F96881A43B33590 // c1 (low double) + .quad 0x3FC367A033B52F5E // c2 + .quad 0x3FD73DF0E3CC557A // c3 + .quad 0x3FBABA1CAC4F18CD // c4 + .quad 0x3FC4624C36BE941B // c5 + .quad 0x3FAFA38B2F8876EF // c6 + .quad 0x3FB215B1F404D921 // c7 + .quad 0x3FF69487CDB54084 // B' = pi/2 - B (high double) + .quad 0xBC8849735C376AA4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC4986A74CF4E57 // c0 (high double) + .quad 0x3C69AB0A24392F72 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9A82B60D75F5C0 // c1 (low double) + .quad 0x3FC520EA2BA6A0AE // c2 + .quad 0x3FD795DFBFFEE39E // c3 + .quad 0x3FBD43F3A7862CC7 // c4 + .quad 0x3FC4FF04247D700A // c5 + .quad 0x3FB1739726786F4F // c6 + .quad 0x3FB2FAC67533455B // c7 + .quad 0x3FF66243D70CB82A // B' = pi/2 - B (high double) + .quad 0xBC984805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC635C990CE0D36 // c0 (high double) + .quad 0xBC59DFC0C48C1978 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9ED49F1F8144C0 // c1 (low double) + .quad 0x3FC6E0F98ED00C32 // c2 + .quad 0x3FD7F5E75A2DD66E // c3 + .quad 0x3FBFE1FBA10F6B0E // c4 + .quad 0x3FC5AB7CD1905EB8 // c5 + .quad 0x3FB32A57A4FAE3F9 // c6 + .quad 0x3FB4BA60BA656817 // c7 + .quad 0x3FF62FFFE0642FCF // B' = pi/2 - B (high double) + .quad 0x3C9B94ADB917F93E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC7D4EC54FB5968 // c0 (high double) + .quad 0x3C4FB65648F8ABF4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA1BF9C7C60B940 // c1 (low double) + .quad 0x3FC8A86964A1796B // c2 + .quad 0x3FD85E4A37F23352 // c3 + .quad 0x3FC14B181F5BF6AE // c4 + .quad 0x3FC66888E3A5D3B3 // c5 + .quad 0x3FB4F84D7AC0F5DA // c6 + .quad 0x3FB62BA6F082700C // c7 + .quad 0x3FF5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C8EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FC975F5E0553158 // c0 (high double) + .quad 0x3C2EEEA31ABB0A10 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA4420303DEC550 // c1 (low double) + .quad 0x3FCA77D9D62CA610 // c2 + .quad 0x3FD8CF5143323608 // c3 + .quad 0x3FC2B15401455507 // c4 + .quad 0x3FC7370FF0965570 // c5 + .quad 0x3FB6DFEACA56EACB // c6 + .quad 0x3FB6B75DF89DE1EC // c7 + .quad 0x3FF5CB77F3131F1B // B' = pi/2 - B (high double) + .quad 0x3C6A70A9025D3E70 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FCB1909EFD8B762 // c0 (high double) + .quad 0x3C5843049E1321E0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA6F2545C478E00 // c1 (low double) + .quad 0x3FCC4FF0A9D74F70 // c2 + .quad 0x3FD9494C22EF2A54 // c3 + .quad 0x3FC424CB909A6722 // c4 + .quad 0x3FC8180A481D5934 // c5 + .quad 0x3FB8E3D90C36FA83 // c6 + .quad 0x3FB8D27EAFF0DF70 // c7 + .quad 0x3FF59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0xBC81AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FCCBE4CEB4B4CF2 // c0 (high double) + .quad 0x3C64A514F790E428 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA9D1724DE6C940 // c1 (low double) + .quad 0x3FCE3159C5ED3A4E // c2 + .quad 0x3FD9CC919D4271B2 // c3 + .quad 0x3FC5A6A9489AA7F4 // c4 + .quad 0x3FC90C961E2B49F6 // c5 + .quad 0x3FBB06EE7CFA3693 // c6 + .quad 0x3FB9E9447AB1D521 // c7 + .quad 0x3FF566F005C20E67 // B' = pi/2 - B (high double) + .quad 0xBC94F8837880A9A2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FCE65E3F27C9F2A // c0 (high double) + .quad 0x3C6F62A8B8B40082 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FACE04FD3EC1C90 // c1 (low double) + .quad 0x3FD00E63DD639A45 // c2 + .quad 0x3FDA598003751442 // c3 + .quad 0x3FC73829AC409F93 // c4 + .quad 0x3FCA15E3A26F9D65 // c5 + .quad 0x3FBD4C4574E0CB34 // c6 + .quad 0x3FBB9C5881865EC1 // c7 + .quad 0x3FF534AC0F19860C // B' = pi/2 - B (high double) + .quad 0x3C9EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD007FA758626AE // c0 (high double) + .quad 0x3C65A5EB9CA505B6 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB00FF8E583BEBC // c1 (low double) + .quad 0x3FD1097A2AA570F5 // c2 + .quad 0x3FDAF07DA8CAEBA7 // c3 + .quad 0x3FC8DA9D107525AD // c4 + .quad 0x3FCB3545F2ADC1D6 // c5 + .quad 0x3FBFB739DB465891 // c6 + .quad 0x3FBDA2C23752D365 // c7 + .quad 0x3FF502681870FDB2 // B' = pi/2 - B (high double) + .quad 0x3C92C0E3EEB304EE // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD0DE53475F3B3C // c0 (high double) + .quad 0x3C67B2CC0A83B8D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) + .quad 0x3FD20A509D4BB6C1 // c2 + .quad 0x3FDB91F96510DF38 // c3 + .quad 0x3FCA8F698D62832E // c4 + .quad 0x3FCC6C340829132A // c5 + .quad 0x3FC125B6D8F6980A // c6 + .quad 0x3FBE80E8F3AEF448 // c7 + .quad 0x3FF4D02421C87558 // B' = pi/2 - B (high double) + .quad 0x3C7A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD1B6103D3597E9 // c0 (high double) + .quad 0x3C6CBCB5FED7BFB0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB39AFA3392E164 // c1 (low double) + .quad 0x3FD3114C46E2AEF3 // c2 + .quad 0x3FDC3E6B23EF73B5 // c3 + .quad 0x3FCC580D1B42EE7F // c4 + .quad 0x3FCDBC3D6E14D1FF // c5 + .quad 0x3FC28671B66B7EBD // c6 + .quad 0x3FC0BFBCFE643140 // c7 + .quad 0x3FF49DE02B1FECFE // B' = pi/2 - B (high double) + .quad 0xBC7616D2A8653209 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD28F459ECAD74D // c0 (high double) + .quad 0x3C302C86D50F5140 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB5875F92EDBDF4 // c1 (low double) + .quad 0x3FD41ED6D05A0010 // c2 + .quad 0x3FDCF65481FC5BEB // c3 + .quad 0x3FCE361FE028368D // c4 + .quad 0x3FCF2728B941710D // c5 + .quad 0x3FC3FFF67496086B // c6 + .quad 0x3FC1A12109F041C7 // c7 + .quad 0x3FF46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC91A900F67F753A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD36A08355C63DC // c0 (high double) + .quad 0xBC6D7145B6A0EB84 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB78E922B82AB64 // c1 (low double) + .quad 0x3FD5335ED87AB0D5 // c2 + .quad 0x3FDDBA417913D89C // c3 + .quad 0x3FD015AB59BD876B // c4 + .quad 0x3FD0576D1EF5DB86 // c5 + .quad 0x3FC594A6DD2CA170 // c6 + .quad 0x3FC2F51FBC1D0708 // c7 + .quad 0x3FF439583DCEDC4A // B' = pi/2 - B (high double) + .quad 0xBC9DCC4D42E59DF2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD4466D542BAC92 // c0 (high double) + .quad 0xBC705073A04E3471 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB9B14751F8BA20 // c1 (low double) + .quad 0x3FD64F58590170A2 // c2 + .quad 0x3FDE8AC91D15CFCF // c3 + .quad 0x3FD11CC2EF09C664 // c4 + .quad 0x3FD12AB5AB65B965 // c5 + .quad 0x3FC7471C9AC8155B // c6 + .quad 0x3FC4826BA97C3E62 // c7 + .quad 0x3FF40714472653EF // B' = pi/2 - B (high double) + .quad 0x3C96106670B43955 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD5248AE1701B17 // c0 (high double) + .quad 0x3C7BE8CC944DBC57 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBBF04005723CCC // c1 (low double) + .quad 0x3FD7733D1300258A // c2 + .quad 0x3FDF688E6ACC7DF5 // c3 + .quad 0x3FD231520EA793C8 // c4 + .quad 0x3FD20E93C5183A32 // c5 + .quad 0x3FC91A331D55B3EE // c6 + .quad 0x3FC651721E153056 // c7 + .quad 0x3FF3D4D0507DCB95 // B' = pi/2 - B (high double) + .quad 0x3C83DA34489C213B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD604775FBB27DF // c0 (high double) + .quad 0x3C6AC647C9CF38D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBE4C49866D2D78 // c1 (low double) + .quad 0x3FD89F8D033946D5 // c2 + .quad 0x3FE02A20954EE23A // c3 + .quad 0x3FD35466F88C5ABC // c4 + .quad 0x3FD3044BAC5DC8C8 // c5 + .quad 0x3FCB110C3D6FEB5E // c6 + .quad 0x3FC7761A8DBF67E9 // c7 + .quad 0x3FF3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0xBC61B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD6E649F7D78649 // c0 (high double) + .quad 0x3C678D2AC032531A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC0631EFCBE0D16 // c1 (low double) + .quad 0x3FD9D4CEDF38DFCD // c2 + .quad 0x3FE0A74F7488C3A6 // c3 + .quad 0x3FD487249EA3BD6C // c4 + .quad 0x3FD40D3A9BDEFA27 // c5 + .quad 0x3FCD2F1CBD1B58BD // c6 + .quad 0x3FC98CBDCEBDACE8 // c7 + .quad 0x3FF37048632CBAE1 // B' = pi/2 - B (high double) + .quad 0xBC8CB2FCE8FC81A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD7CA1A832D0F84 // c0 (high double) + .quad 0xBC7EE5A71208FD7E // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC1AF828B5ED674 // c1 (low double) + .quad 0x3FDB13909C0269A2 // c2 + .quad 0x3FE12C3A0394B7FA // c3 + .quad 0x3FD5CAC4A421216C // c4 + .quad 0x3FD52AE625505253 // c5 + .quad 0x3FCF7831018A6159 // c6 + .quad 0x3FCB98AB42F54A08 // c7 + .quad 0x3FF33E046C843287 // B' = pi/2 - B (high double) + .quad 0xBC9A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD8B00196B3D022 // c0 (high double) + .quad 0xBC67341EE3041CF4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC30BCA73878656 // c1 (low double) + .quad 0x3FDC5C67FF403B73 // c2 + .quad 0x3FE1B94E72981059 // c3 + .quad 0x3FD7209990BAE1F6 // c4 + .quad 0x3FD65EF72AC3A4FA // c5 + .quad 0x3FD0F83D8377C340 // c6 + .quad 0x3FCD97555AF455A0 // c7 + .quad 0x3FF30BC075DBAA2C // B' = pi/2 - B (high double) + .quad 0x3C995FE8F2B56DBD // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FD998188E816BF0 // c0 (high double) + .quad 0x3C73DB2BD13E24E8 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC478794806DE66 // c1 (low double) + .quad 0x3FDDAFF33BF96274 // c2 + .quad 0x3FE24F039543C659 // c3 + .quad 0x3FD88A113E071D2D // c4 + .quad 0x3FD7AB3E661E65FA // c5 + .quad 0x3FD24E4E1B8DC6C3 // c6 + .quad 0x3FD01ED5FCAC1031 // c7 + .quad 0x3FF2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C8A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDA827999FCEF32 // c0 (high double) + .quad 0x3C708A11019E58E9 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC5F619980C4336 // c1 (low double) + .quad 0x3FDF0ED99BED9B65 // c2 + .quad 0x3FE2EDD996C1BBEB // c3 + .quad 0x3FDA08B785C6EA59 // c4 + .quad 0x3FD911BC7B12902D // c5 + .quad 0x3FD3C0DA5B1130BA // c6 + .quad 0x3FD1B590151E4269 // c7 + .quad 0x3FF2A738888A9978 // B' = pi/2 - B (high double) + .quad 0x3C5195059E91C4D2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDB6F3FC8C61E5B // c0 (high double) + .quad 0xBC6A1CC48267E6BE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC7853E65CE5524 // c1 (low double) + .quad 0x3FE03CE61B6A9E63 // c2 + .quad 0x3FE3965ABF5C8FAB // c3 + .quad 0x3FDB9E3938F261E9 // c4 + .quad 0x3FDA94A771ED6FE6 // c5 + .quad 0x3FD552B7D4636639 // c6 + .quad 0x3FD2F58F20A08A92 // c7 + .quad 0x3FF274F491E2111E // B' = pi/2 - B (high double) + .quad 0xBC8613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDC5E87185E67B6 // c0 (high double) + .quad 0x3C4FEBA1F149DF00 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC92683A68EB5D0 // c1 (low double) + .quad 0x3FE0F8C35C7247C7 // c2 + .quad 0x3FE4491C4DCA262E // c3 + .quad 0x3FDD4C67683395D6 // c4 + .quad 0x3FDC3667C15EBF94 // c5 + .quad 0x3FD7070B7FE443C4 // c6 + .quad 0x3FD4805841782C0C // c7 + .quad 0x3FF242B09B3988C4 // B' = pi/2 - B (high double) + .quad 0xBC972D483EE33523 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDD506C82A2C800 // c0 (high double) + .quad 0x3C6E169413E029AE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCADA8ECCC42C48 // c1 (low double) + .quad 0x3FE1BB681D0BE8A7 // c2 + .quad 0x3FE506BF662527D3 // c3 + .quad 0x3FDF153B07CB2306 // c4 + .quad 0x3FDDF9A636394DC9 // c5 + .quad 0x3FD8E153A4A78673 // c6 + .quad 0x3FD6937B3797DBB1 // c7 + .quad 0x3FF2106CA4910069 // B' = pi/2 - B (high double) + .quad 0x3C9CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDE450E0D273E7A // c0 (high double) + .quad 0x3C74138BBC424A0D // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCCA20F5D4879EA // c1 (low double) + .quad 0x3FE2853E13FBB7C7 // c2 + .quad 0x3FE5CFF21905E477 // c3 + .quad 0x3FE07D6C7D0DAC66 // c4 + .quad 0x3FDFE1550F550216 // c5 + .quad 0x3FDAE570CE7F6BD7 // c6 + .quad 0x3FD89328A3ABE601 // c7 + .quad 0x3FF1DE28ADE8780F // B' = pi/2 - B (high double) + .quad 0x3C908C1F2850796D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FDF3C8AD985D9EE // c0 (high double) + .quad 0x3C455C31F5355658 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCE7DBF907D8618 // c1 (low double) + .quad 0x3FE356B5A1D9CA5A // c2 + .quad 0x3FE6A57085697F99 // c3 + .quad 0x3FE17FCB46BE280B // c4 + .quad 0x3FE0F858275BAA48 // c5 + .quad 0x3FDD17B47CA8A83B // c6 + .quad 0x3FDA9B369A707A32 // c7 + .quad 0x3FF1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0x3C71A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE01B819B5A7CF7 // c0 (high double) + .quad 0x3C80BED996FBB65F // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD03732803B2A4C // c1 (low double) + .quad 0x3FE430465B55C6C0 // c2 + .quad 0x3FE78806185ACF72 // c3 + .quad 0x3FE292FF3DF61A34 // c4 + .quad 0x3FE215A449967BC2 // c5 + .quad 0x3FDF7CEF2946D3A8 // c6 + .quad 0x3FDD0F4FF3CD442F // c7 + .quad 0x3FF179A0C097675B // B' = pi/2 - B (high double) + .quad 0xBC7EE9E5C1EF600D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE09A4C59BD0D4D // c0 (high double) + .quad 0xBC451D94A7B70320 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD13A68B2A5E855 // c1 (low double) + .quad 0x3FE5126F9FD8D89F // c2 + .quad 0x3FE8788EEDC53F19 // c3 + .quad 0x3FE3B86B3E883B76 // c4 + .quad 0x3FE34A881E7F09C9 // c5 + .quad 0x3FE10D3EF07D106A // c6 + .quad 0x3FDFEBFE6AA0C4E7 // c7 + .quad 0x3FF1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC93DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE11AB7190834EC // c0 (high double) + .quad 0xBC8E577A07DB7162 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD248F1B07217E3 // c1 (low double) + .quad 0x3FE5FDB93DD01D06 // c2 + .quad 0x3FE977F956462152 // c3 + .quad 0x3FE4F192BE91E40A // c4 + .quad 0x3FE49932EEB2A51B // c5 + .quad 0x3FE27B305435DE1B // c6 + .quad 0x3FE176C2BDD3B0A4 // c7 + .quad 0x3FF11518D34656A6 // B' = pi/2 - B (high double) + .quad 0x3C9FFEEDF6B7D68D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE19CD3FE8E405D // c0 (high double) + .quad 0xBC84E5C1D482FB99 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD36343ADCAF866 // c1 (low double) + .quad 0x3FE6F2B4260FF6A8 // c2 + .quad 0x3FEA8747864942E1 // c3 + .quad 0x3FE6401D47362936 // c4 + .quad 0x3FE6040F50A52FBF // c5 + .quad 0x3FE40BA6192CC669 // c6 + .quad 0x3FE302E7DAB9BDE8 // c7 + .quad 0x3FF0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0x3C93DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE220B5EF047825 // c0 (high double) + .quad 0x3C5AE1F6C713C510 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD489DC399ADDEC // c1 (low double) + .quad 0x3FE7F1FB2FEBE8C6 // c2 + .quad 0x3FEBA791734D6CCE // c3 + .quad 0x3FE7A5DA56BAB9DA // c4 + .quad 0x3FE78DC9A17C17D7 // c5 + .quad 0x3FE5C262725357A1 // c6 + .quad 0x3FE4D1FE58052A33 // c7 + .quad 0x3FF0B090E5F545F2 // B' = pi/2 - B (high double) + .quad 0x3C7EE15577AE1472 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE2A6709A74F289 // c0 (high double) + .quad 0x3C76E3B98C26B440 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD5BD40BF249496 // c1 (low double) + .quad 0x3FE8FC33EFCF6F3A // c2 + .quad 0x3FECDA06E4CFC822 // c3 + .quad 0x3FE924C5BA1C7515 // c4 + .quad 0x3FE9395A86CEDBCC // c5 + .quad 0x3FE7A39B6931C7C5 // c6 + .quad 0x3FE6D875BED7333E // c7 + .quad 0x3FF07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0xBC71ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE32E1889047FFD // c0 (high double) + .quad 0xBC810D08F0134DCF // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD6FDFF12A4297B // c1 (low double) + .quad 0x3FEA120FA25B9D83 // c2 + .quad 0x3FEE1FF1BF27E6AB // c3 + .quad 0x3FEABF0C6E045EA0 // c4 + .quad 0x3FEB0A0E2CDCAB88 // c5 + .quad 0x3FE9B40D41660E8E // c6 + .quad 0x3FE92FCC1848D932 // c7 + .quad 0x3FF04C08F8A4353E // B' = pi/2 - B (high double) + .quad 0xBC908E433AE0CC54 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE3B7C3289ED6F3 // c0 (high double) + .quad 0xBC8C4CF3D327FEEC // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD84CAE0A06DE7C // c1 (low double) + .quad 0x3FEB344C2E4C0F47 // c2 + .quad 0x3FEF7AB88F5F820C // c3 + .quad 0x3FEC771219A99E98 // c4 + .quad 0x3FED0390B144EACB // c5 + .quad 0x3FEBF90A32A17503 // c6 + .quad 0x3FEBAC50A2912BE1 // c7 + .quad 0x3FF019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0xBC9CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE44386DB9CE5DB // c0 (high double) + .quad 0xBC8A7F79AD342CDE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD9A9EE22E82AF2 // c1 (low double) + .quad 0x3FEC63B53FACFD1B // c2 + .quad 0x3FF075F0B010F1C9 // c3 + .quad 0x3FEE4F7738A37AC1 // c4 + .quad 0x3FEF29F7068A6E02 // c5 + .quad 0x3FEE78912F3E4890 // c6 + .quad 0x3FEE7DE5AD19FDA8 // c7 + .quad 0x3FEFCF0216A64913 // B' = pi/2 - B (high double) + .quad 0xBC81A9B7A75A3B87 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE4D17B087B265D // c0 (high double) + .quad 0xBC788AAC4AE1F0D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDB166A3723839C // c1 (low double) + .quad 0x3FEDA1257F3D5E87 // c2 + .quad 0x3FF13A8A70704F6B // c3 + .quad 0x3FF025900612C493 // c4 + .quad 0x3FF0C0E778680DE8 // c5 + .quad 0x3FF09CB2B02DFCCB // c6 + .quad 0x3FF0D681147681D3 // c7 + .quad 0x3FEF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C860FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE561B82AB7F990 // c0 (high double) + .quad 0x3C87A5FA3E37FD12 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDC92D84170BCC6 // c1 (low double) + .quad 0x3FEEED87E934644C // c2 + .quad 0x3FF20C10F4D7D072 // c3 + .quad 0x3FF1369E37DA5741 // c4 + .quad 0x3FF20816F61AB3EE // c5 + .quad 0x3FF221953D8712EF // c6 + .quad 0x3FF29CA76CD561F8 // c7 + .quad 0x3FEF05F23C0427AA // B' = pi/2 - B (high double) + .quad 0xBC51B746C796F33C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE5F457E4F4812E // c0 (high double) + .quad 0x3C8F6EE06A43F015 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDE1FFA33ABCB2D // c1 (low double) + .quad 0x3FF024ECA3857FDF // c2 + .quad 0x3FF2EB80B3E2C969 // c3 + .quad 0x3FF25CA858ECE33E // c4 + .quad 0x3FF36D6159DB2BC3 // c5 + .quad 0x3FF3CF427530AFA1 // c6 + .quad 0x3FF4914D16BF30D2 // c7 + .quad 0x3FEEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0xBC8A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE6897514751DB6 // c0 (high double) + .quad 0x3C7432E08569C822 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDFBE9EE099229D // c1 (low double) + .quad 0x3FF0DB94E83152C9 // c2 + .quad 0x3FF3D9ED602549D9 // c3 + .quad 0x3FF3999FCB35B63C // c4 + .quad 0x3FF4F3F4BB18D34D // c5 + .quad 0x3FF5AA9FE2712A89 // c6 + .quad 0x3FF6B61F156D157E // c7 + .quad 0x3FEE3CE261620641 // B' = pi/2 - B (high double) + .quad 0x3C7A77CBEAE8FD71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE7212BE621BE6D // c0 (high double) + .quad 0x3C8AD14CAC5AE1D4 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDE905D04D13F70 // c1 (low double) + .quad 0x3FF19B4F7BD63206 // c2 + .quad 0x3FF4D8845C8EEC38 // c3 + .quad 0x3FF4EFAAD70924AA // c4 + .quad 0x3FF69F610EDFA788 // c5 + .quad 0x3FF7B93C8525966A // c6 + .quad 0x3FF928F49138F1A9 // c7 + .quad 0x3FEDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0xBC76156546AFA570 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE7BB99ED2990CF // c0 (high double) + .quad 0xBC8AABB1289366EE // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDCCC0DD257FE9F // c1 (low double) + .quad 0x3FF264BAB3E8C3FC // c2 + .quad 0x3FF5E88F7CC1F7BC // c3 + .quad 0x3FF6612B1AE228E1 // c4 + .quad 0x3FF873A64164BF00 // c5 + .quad 0x3FFA016987C44E2A // c6 + .quad 0x3FFBFCA608E41B3A // c7 + .quad 0x3FED73D286BFE4D8 // B' = pi/2 - B (high double) + .quad 0x3C8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE858DE3B716571 // c0 (high double) + .quad 0x3C8C6340D74EFAEE // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDAF377B50F3DE8 // c1 (low double) + .quad 0x3FF338819C6A585B // c2 + .quad 0x3FF70B781BB3F9F8 // c3 + .quad 0x3FF7F0C4DC952BEE // c4 + .quad 0x3FFA75444794B0BE // c5 + .quad 0x3FFC8A58AEEA152D // c6 + .quad 0x3FFF1509C3EC473F // c7 + .quad 0x3FED0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0x3C61A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE8F9197BF85EEB // c0 (high double) + .quad 0xBC77971D706288A0 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD9058D62BBB98D // c1 (low double) + .quad 0x3FF4175D31199B0C // c2 + .quad 0x3FF842CA948070CE // c3 + .quad 0x3FF9A1675E6F2233 // c4 + .quad 0x3FFCA94A75D1DF36 // c5 + .quad 0x3FFF5C3EE98CB77C // c6 + .quad 0x4001549BBD7761F7 // c7 + .quad 0x3FECAAC2AC1DC370 // B' = pi/2 - B (high double) + .quad 0xBC83DE7C6DBCC708 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FE99C6E0F634394 // c0 (high double) + .quad 0x3C81A125C4B0D75F // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD7012EAAC8A987 // c1 (low double) + .quad 0x3FF50215B95FD940 // c2 + .quad 0x3FF9903A2B193F49 // c3 + .quad 0x3FFB7656607D37C1 // c4 + .quad 0x3FFF156F461C0EE0 // c5 + .quad 0x4001403E48F2741B // c6 + .quad 0x40034ACD8D38409A // c7 + .quad 0x3FEC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C83DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEA43002AE42850 // c0 (high double) + .quad 0xBC7A7C0406D92972 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD4E526E33345B8 // c1 (low double) + .quad 0x3FF5F9844B626284 // c2 + .quad 0x3FFAF5A574C2F3BF // c3 + .quad 0x3FFD7334FD198D13 // c4 + .quad 0x4000E01251879DC7 // c5 + .quad 0x400300E6F5213CC2 // c6 + .quad 0x40058BA67D3A054A // c7 + .quad 0x3FEBE1B2D17BA207 // B' = pi/2 - B (high double) + .quad 0xBC61AEB67D55A7A1 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEAECF5F9BA35A6 // c0 (high double) + .quad 0x3C4535083409FF20 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD2B02B2D565D55 // c1 (low double) + .quad 0x3FF6FE947B408BAC // c2 + .quad 0x3FFC751B52A83938 // c3 + .quad 0x3FFF9C12181CFBBA // c4 + .quad 0x4002585B4421C075 // c5 + .quad 0x4004F6412119D9F1 // c6 + .quad 0x400814BACED69AF1 // c7 + .quad 0x3FEB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0xBC8CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEB9A77C18C1AF2 // c0 (high double) + .quad 0x3C76EA194A3B7D14 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD060D88DF903DF // c1 (low double) + .quad 0x3FF812463C417D93 // c2 + .quad 0x3FFE10E093E6DE8D // c3 + .quad 0x4000FABB50DD022E // c4 + .quad 0x4003F7B45B053F76 // c5 + .quad 0x4007275FB67DBBCC // c6 + .quad 0x400B02CB76CD8FDB // c7 + .quad 0x3FEB18A2F6D9809E // B' = pi/2 - B (high double) + .quad 0x3C760E425E23E66F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEC4BB009E77983 // c0 (high double) + .quad 0xBC5346B6895525B8 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFCBEB63A6D04570 // c1 (low double) + .quad 0x3FF935AFFA8DCC1D // c2 + .quad 0x3FFFCB7657D15F0B // c3 + .quad 0x4002423AFCE75F54 // c4 + .quad 0x4005C2CF61AD4B89 // c5 + .quad 0x40099C675A298F48 // c6 + .quad 0x400E49F38B657F73 // c7 + .quad 0x3FEAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0xBC7A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FED00CBC7384D2E // c0 (high double) + .quad 0x3C78C4FC635D2596 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC6DA3A87611EA6 // c1 (low double) + .quad 0x3FFA6A00F50D3A6F // c2 + .quad 0x4000D3D0A6ABBD46 // c3 + .quad 0x4003A760672280D0 // c4 + .quad 0x4007BF026C103550 // c5 + .quad 0x400C5EBD23F4E2D6 // c6 + .quad 0x4011024DB7867574 // c7 + .quad 0x3FEA4F931C375F35 // B' = pi/2 - B (high double) + .quad 0x3C8A79EFFD795057 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEDB9FA89953FCF // c0 (high double) + .quad 0x3C286C68F5592C40 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC18AC418849A6E // c1 (low double) + .quad 0x3FFBB083E02786D7 // c2 + .quad 0x4001D438F8A20402 // c3 + .quad 0x40052D5D6FF7A4BD // c4 + .quad 0x4009F262067BAA5A // c5 + .quad 0x400F793DA8608BD3 // c6 + .quad 0x401328BFC5F60A12 // c7 + .quad 0x3FE9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0x3C519ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEE776EAFC91706 // c0 (high double) + .quad 0x3C890664EDC679F9 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFB7F295AD658764 // c1 (low double) + .quad 0x3FFD0AA1DB7F5E58 // c2 + .quad 0x4002E8A6F9693556 // c3 + .quad 0x4006D7CA16B298C6 // c4 + .quad 0x400C63DFCAA3FB6C // c5 + .quad 0x40117C3EE50D7733 // c6 + .quad 0x401599932C96B999 // c7 + .quad 0x3FE9868341953DCD // B' = pi/2 - B (high double) + .quad 0xBC861341341F5289 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0x3FEF395D9F0E3C92 // c0 (high double) + .quad 0xBC550BEC65673F08 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFA8873C53BE0540 // c1 (low double) + .quad 0x3FFE79E5C65202DE // c2 + .quad 0x400412FD76797C7D // c3 + .quad 0x4008AAB30DC82D37 // c4 + .quad 0x400F1B6C68B4AEA4 // c5 + .quad 0x4013758CE9BD9EE9 // c6 + .quad 0x40186872A06858F5 // c7 + .quad 0x3FE921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C81A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD17CC1B727220B // c0 (high double) + .quad 0x3C7AC07996DF1E94 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBF02F6222C71FB // c1 (low double) + .quad 0xBFB068BD68BAEFC3 // c2 + .quad 0x3FA3C0213E30B2A4 // c3 + .quad 0xBF8A5494A0DD32B3 // c4 + .quad 0x3F7940CD1D8E923E // c5 + .quad 0xBF63CC1BE5088783 // c6 + .quad 0x3F3FA4A6A27659EE // c7 + .quad 0x3FE8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0xBC6A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD130BD396BB4A9 // c0 (high double) + .quad 0x3C657D8592EA0982 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBF68ED595308D6 // c1 (low double) + .quad 0xBFB00C6BF6A673E6 // c2 + .quad 0x3FA36E9DA9556AA6 // c3 + .quad 0xBF8991120C7D4BB9 // c4 + .quad 0x3F7889ABD600821A // c5 + .quad 0xBF630EE40468887B // c6 + .quad 0x3F52CAD75A194915 // c7 + .quad 0x3FE858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0xBC8EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD0E507EE8B93D7 // c0 (high double) + .quad 0xBC679F09CDD5D366 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBFCCA52E2AE201 // c1 (low double) + .quad 0xBFAF632A1681FD0B // c2 + .quad 0x3FA31F7794BDF922 // c3 + .quad 0xBF88D31259E30525 // c4 + .quad 0x3F77D97B728544D6 // c5 + .quad 0xBF62591A3A2B69D8 // c6 + .quad 0x3F3605B3887E1AF3 // c7 + .quad 0x3FE7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0x3C71A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD099A0163BCD3F // c0 (high double) + .quad 0xBC7A7F11D963D761 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBFD1D937A1F094 // c1 (low double) + .quad 0xBFAEB05B52EFB4C0 // c2 + .quad 0x3FA2D29E032A57DB // c3 + .quad 0xBF881A60F7D38723 // c4 + .quad 0x3F772FBBF1BFA292 // c5 + .quad 0xBF61AA745B27BAF7 // c6 + .quad 0x3F51CC1913635CA5 // c7 + .quad 0x3FE78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC7EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD04E83F7474877 // c0 (high double) + .quad 0xBC73B117AC20AD03 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF7284F47C0E61 // c1 (low double) + .quad 0xBFAE0056458FCED5 // c2 + .quad 0x3FA28800992AEEE6 // c3 + .quad 0xBF8766CB6439B11D // c4 + .quad 0x3F768C54DBB3684B // c5 + .quad 0xBF610297B13942A7 // c6 + .quad 0x3F5536BD1C2C92E8 // c7 + .quad 0x3FE72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0x3C88452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFD003B1DF5A0F86 // c0 (high double) + .quad 0xBC716CEB71FB7130 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF155566FA6884 // c1 (low double) + .quad 0xBFAD530628A37C7A // c2 + .quad 0x3FA23F8F96E80A99 // c3 + .quad 0xBF86B82113BDC04E // c4 + .quad 0x3F75EF0B9C9DF1C1 // c5 + .quad 0xBF60613421CB6A8B // c6 + .quad 0x3F48E48E9081596F // c7 + .quad 0x3FE6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0xBBC6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCF7250459C1976 // c0 (high double) + .quad 0xBC40B5B081F067D4 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBEBA422E0FE0E5 // c1 (low double) + .quad 0xBFACA856C815D042 // c2 + .quad 0x3FA1F93BD218DCE9 // c3 + .quad 0xBF860E335AB42933 // c4 + .quad 0x3F75578EEA5D18CC // c5 + .quad 0xBF5F8BFBAD564EB5 // c6 + .quad 0x3F434A80D203FDB7 // c7 + .quad 0x3FE66243D70CB82A // B' = pi/2 - B (high double) + .quad 0xBC884805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCEDDCA38F25FEC // c0 (high double) + .quad 0x3C65AACB9E8B4E8C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE6143274A35BF // c1 (low double) + .quad 0xBFAC00347C15ABB2 // c2 + .quad 0x3FA1B4F6B03A62C8 // c3 + .quad 0xBF8568D557225239 // c4 + .quad 0x3F74C5A8346B014E // c5 + .quad 0xBF5E61680C7E3887 // c6 + .quad 0x3F45A81E03A2004A // c7 + .quad 0x3FE5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C7EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCE49CE5AF9DC29 // c0 (high double) + .quad 0x3C382336F1C6B420 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE0A506D218F3C // c1 (low double) + .quad 0xBFAB5A8C23E49FEA // c2 + .quad 0x3FA172B22117D625 // c3 + .quad 0xBF84C7DBDBF304B9 // c4 + .quad 0x3F74391DF553E941 // c5 + .quad 0xBF5D4211231EF20F // c6 + .quad 0x3F52AB1CCD6F9451 // c7 + .quad 0x3FE59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0xBC71AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCDB6597A2E1B61 // c0 (high double) + .quad 0x3C6CB71A947AAB6B // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBDB56255580CA4 // c1 (low double) + .quad 0xBFAAB74B20D856E7 // c2 + .quad 0x3FA1326099896038 // c3 + .quad 0xBF842B1D5CF84F74 // c4 + .quad 0x3F73B1CC2C4E32E8 // c5 + .quad 0xBF5C2D7D75B7FBCE // c6 + .quad 0x3F53DB94CE05D10A // c7 + .quad 0x3FE534AC0F19860C // B' = pi/2 - B (high double) + .quad 0x3C8EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCD236870E769B5 // c0 (high double) + .quad 0xBC523CE78218C3F0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD62716F68B5FE // c1 (low double) + .quad 0xBFAA165F518C38AB // c2 + .quad 0x3FA0F3F50E789484 // c3 + .quad 0xBF839271DC18DB75 // c4 + .quad 0x3F732F8BAC4C5496 // c5 + .quad 0xBF5B23248F865BB8 // c6 + .quad 0x3F36E307E32E173B // c7 + .quad 0x3FE4D02421C87558 // B' = pi/2 - B (high double) + .quad 0x3C6A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCC90F8250157F7 // c0 (high double) + .quad 0xBC657D8312BFEA16 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD117683053E13 // c1 (low double) + .quad 0xBFA977B70D411C29 // c2 + .quad 0x3FA0B762F022F359 // c3 + .quad 0xBF82FDB2D7324A8F // c4 + .quad 0x3F72B2030A36AAE0 // c5 + .quad 0xBF5A22A22953FC15 // c6 + .quad 0x3F473A2F09CB1310 // c7 + .quad 0x3FE46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC81A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCBFF05878394D3 // c0 (high double) + .quad 0xBC486912F813DEBC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBCC26A8EA2077F // c1 (low double) + .quad 0xBFA8DB411F68EE69 // c2 + .quad 0x3FA07C9E25737218 // c3 + .quad 0xBF826CBB3713A292 // c4 + .quad 0x3F72392A32F26712 // c5 + .quad 0xBF592B76EEB6E333 // c6 + .quad 0x3F39BADB57E2A4EB // c7 + .quad 0x3FE40714472653EF // B' = pi/2 - B (high double) + .quad 0x3C86106670B43955 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCB6D8D944D0371 // c0 (high double) + .quad 0x3C6CDD9D6EA4B883 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC7546C60FE5C7 // c1 (low double) + .quad 0xBFA840ECC35C53FD // c2 + .quad 0x3FA0439B07C380F3 // c3 + .quad 0xBF81DF673F038AB5 // c4 + .quad 0x3F71C4B3C36B8A2B // c5 + .quad 0xBF583D44FA2FB1AC // c6 + .quad 0x3F52EE3E6107070C // c7 + .quad 0x3FE3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0xBC51B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCADC8D51C0FA5B // c0 (high double) + .quad 0xBC54B350B5D39454 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC2A04912319A8 // c1 (low double) + .quad 0xBFA7A8A9A038608E // c2 + .quad 0x3FA00C4E5E972915 // c3 + .quad 0xBF8155947D4C5C83 // c4 + .quad 0x3F7154A7B149DA51 // c5 + .quad 0xBF5757960EDFC478 // c6 + .quad 0x3F3F895707140B54 // c7 + .quad 0x3FE33E046C843287 // B' = pi/2 - B (high double) + .quad 0xBC8A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFCA4C01D0769648 // c0 (high double) + .quad 0xBC4DDC96CAE4A560 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBBE09D8A670D72 // c1 (low double) + .quad 0xBFA71267C4E29753 // c2 + .quad 0x3F9FAD5AB78BB764 // c3 + .quad 0xBF80CF21BC414F68 // c4 + .quad 0x3F70E8AC1DCF4364 // c5 + .quad 0xBF567A14C0530821 // c6 + .quad 0x3F4F621D6DA2AD4C // c7 + .quad 0x3FE2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C7A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC9BBE82AEA0D12 // c0 (high double) + .quad 0x3C62D116CA770BB7 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB990B7DDE5BFC // c1 (low double) + .quad 0xBFA67E17A4317C6C // c2 + .quad 0x3F9F455B2F170454 // c3 + .quad 0xBF804BEEF437A2B3 // c4 + .quad 0x3F7080CEADF2974D // c5 + .quad 0xBF55A44E3A71E98C // c6 + .quad 0xBF039F9468E5AC7C // c7 + .quad 0x3FE274F491E2111E // B' = pi/2 - B (high double) + .quad 0xBC7613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC92C3D852FEDF2 // c0 (high double) + .quad 0xBC20F5E7403E63E0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB534867CEB1CB // c1 (low double) + .quad 0xBFA5EBAA113813D4 // c2 + .quad 0x3F9EE08A1A202CC5 // c3 + .quad 0xBF7F97BA7BA1301A // c4 + .quad 0x3F701CAD7F191E00 // c5 + .quad 0xBF54D60D132212FE // c6 + .quad 0x3F45F5FE99746255 // c7 + .quad 0x3FE2106CA4910069 // B' = pi/2 - B (high double) + .quad 0x3C8CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC89CFF0CAA3CB4 // c0 (high double) + .quad 0x3C6A8D50D06FC30E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB0F4E73981D4B // c1 (low double) + .quad 0xBFA55B103BB2BD6D // c2 + .quad 0x3F9E7ED42D91EC8D // c3 + .quad 0xBF7E9D9D8AAE7B14 // c4 + .quad 0x3F6F78B5039EFACA // c5 + .quad 0xBF540EDBA3A7865E // c6 + .quad 0x3F3AA2CB5E8CB7D1 // c7 + .quad 0x3FE1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0x3C61A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC80E29F7BF5633 // c0 (high double) + .quad 0xBC67F8F06ACC6DE1 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBACD17FA976786 // c1 (low double) + .quad 0xBFA4CC3BAC93F075 // c2 + .quad 0x3F9E2026D6967836 // c3 + .quad 0xBF7DA94D7C694B78 // c4 + .quad 0x3F6EBF4F14B98A4D // c5 + .quad 0xBF534E7211F8744B // c6 + .quad 0xBF2290D134413454 // c7 + .quad 0x3FE1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC83DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC77FBB85928D2D // c0 (high double) + .quad 0x3C6121F4E1AC8205 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA8C9F83131391 // c1 (low double) + .quad 0xBFA43F1E42AF6970 // c2 + .quad 0x3F9DC4703433CA75 // c3 + .quad 0xBF7CBA92AE7FE396 // c4 + .quad 0x3F6E0CB6D0475CBF // c5 + .quad 0xBF529491FB8790F1 // c6 + .quad 0x3F37152AFD512A19 // c7 + .quad 0x3FE0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0x3C83DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC6F1B0FDBE6EDE // c0 (high double) + .quad 0xBC614F63025E350F // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA4DDFBF32A727 // c1 (low double) + .quad 0xBFA3B3AA2F826E47 // c2 + .quad 0x3F9D6B9F112A3CA9 // c3 + .quad 0xBF7BD1375F2B326E // c4 + .quad 0x3F6D60EF002A5944 // c5 + .quad 0xBF51E0E0E3E64206 // c6 + .quad 0x3F32BFA3B8DB7E72 // c7 + .quad 0x3FE07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0xBC61ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC66407B0109FA6 // c0 (high double) + .quad 0xBC55C3EC26D04386 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA10D38BFFE319 // c1 (low double) + .quad 0xBFA329D1F417DBD6 // c2 + .quad 0x3F9D15A2DE544C7C // c3 + .quad 0xBF7AED07977D3236 // c4 + .quad 0x3F6CBBAD3C53FDBF // c5 + .quad 0xBF513318B342B4E5 // c6 + .quad 0x3F1AF93D1229A6F6 // c7 + .quad 0x3FE019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0xBC8CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC5D6BCF447403E // c0 (high double) + .quad 0x3C6C6C662876B222 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB9D575F071964A // c1 (low double) + .quad 0xBFA2A1885E06BEAC // c2 + .quad 0x3F9CC26BAD1B38B8 // c3 + .quad 0xBF7A0DD116DA5229 // c4 + .quad 0x3F6C1C921E809C9E // c5 + .quad 0xBF508B03CEF8B07A // c6 + .quad 0x3F4BCE57D03F879A // c7 + .quad 0x3FDF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C760FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC549CE29CFCCBE // c0 (high double) + .quad 0x3C69881846E0C1CC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB99BC21C7FB9B2 // c1 (low double) + .quad 0xBFA21AC0848A46C5 // c2 + .quad 0x3F9C71EA2A16819D // c3 + .quad 0xBF7933633F8F0072 // c4 + .quad 0x3F6B83D1C55099C3 // c5 + .quad 0xBF4FD088727B159E // c6 + .quad 0xBF2306C94816B8C4 // c7 + .quad 0x3FDEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0xBC7A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC4BD38B7876716 // c0 (high double) + .quad 0xBC5504069A91A9E0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB963B368408780 // c1 (low double) + .quad 0xBFA1956DC5B1F35A // c2 + .quad 0x3F9C240F984C07DC // c3 + .quad 0xBF785D8F0388F11C // c4 + .quad 0x3F6AF0B073DF1CCA // c5 + .quad 0xBF4E9580D70D34E0 // c6 + .quad 0x3F4571315C44A425 // c7 + .quad 0x3FDDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0xBC66156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC430FA0B7C7F15 // c0 (high double) + .quad 0xBC63115D3C69C624 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB92D45530E4319 // c1 (low double) + .quad 0xBFA11183C3A8DFF6 // c2 + .quad 0x3F9BD8CDCC073185 // c3 + .quad 0xBF778C26D2F52E9A // c4 + .quad 0x3F6A638650FB676D // c5 + .quad 0xBF4D6420527BDB5B // c6 + .quad 0xBF2DA5A645CA3434 // c7 + .quad 0x3FDD0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0x3C51A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC3A50F9AB1CA91 // c0 (high double) + .quad 0xBC50CA3B48D907FA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8F87382B56ACB // c1 (low double) + .quad 0xBFA08EF662132882 // c2 + .quad 0x3F9B901726A3CD1C // c3 + .quad 0xBF76BEFE8A4461A2 // c4 + .quad 0x3F69DBAE42D8A416 // c5 + .quad 0xBF4C3C52357BF011 // c6 + .quad 0x3F32456D9E7FA4E8 // c7 + .quad 0x3FDC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C73DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC31976E0E280B3 // c0 (high double) + .quad 0x3C667516EE4F26F2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8C539C2AB0F89 // c1 (low double) + .quad 0xBFA00DB9C3806462 // c2 + .quad 0x3F9B49DE91DB8E44 // c3 + .quad 0xBF75F5EB6258C838 // c4 + .quad 0x3F695952C6BEE603 // c5 + .quad 0xBF4B1D691B1E9F12 // c6 + .quad 0xBEFC715673917907 // c7 + .quad 0x3FDB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0xBC7CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC28E2D6047CBC8 // c0 (high double) + .quad 0x3C0CEAB2537EA300 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB89394034B11CF // c1 (low double) + .quad 0xBF9F1B848DE48876 // c2 + .quad 0x3F9B06177BDD3821 // c3 + .quad 0xBF7530C3E0150AA0 // c4 + .quad 0x3F68DBF62FBA70EC // c5 + .quad 0xBF4A0736C860B400 // c6 + .quad 0x3F50A3F1D92A1F47 // c7 + .quad 0x3FDAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0xBC6A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC20330A15F6568 // c0 (high double) + .quad 0xBC61BB4F210EA632 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8637E591E05FE // c1 (low double) + .quad 0xBF9E1E090AECCE81 // c2 + .quad 0x3F9AC4B5D3090946 // c3 + .quad 0xBF746F5FC5C316BA // c4 + .quad 0x3F686400E51F5377 // c5 + .quad 0xBF48F8EADC3DBAD1 // c6 + .quad 0xBF320AB3DE6FDA08 // c7 + .quad 0x3FD9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0x3C419ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC1787E32B35112 // c0 (high double) + .quad 0x3C5D2D85EBE7CEA8 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB834F4FC268515 // c1 (low double) + .quad 0xBF9D22EA9FA50E7D // c2 + .quad 0x3F9A85AE02819BA3 // c3 + .quad 0xBF73B19803AB2B21 // c4 + .quad 0x3F67F0B8C64045E8 // c5 + .quad 0xBF47F293167B415A // c6 + .quad 0xBF198BF45BBDE600 // c7 + .quad 0x3FD921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C71A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC0EE13A8A2A9C6 // c0 (high double) + .quad 0x3C5830A63DDC3262 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB807F44735B1A4 // c1 (low double) + .quad 0xBF9C2A135884458A // c2 + .quad 0x3F9A48F4EE376E9D // c3 + .quad 0xBF72F746AAC73A47 // c4 + .quad 0x3F678215824701EA // c5 + .quad 0xBF46F3C719FB6619 // c6 + .quad 0x3F4BA88D5E69B64E // c7 + .quad 0x3FD858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0xBC7EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFC063EE9D2B777C // c0 (high double) + .quad 0xBC4E1787D8B78D9C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7DC78B746BB2F // c1 (low double) + .quad 0xBF9B336DA889AC7D // c2 + .quad 0x3F9A0E7FEF8737D6 // c3 + .quad 0xBF724046DF328844 // c4 + .quad 0x3F67185639AB9961 // c5 + .quad 0xBF45FBD25ACB3AED // c6 + .quad 0x3F0E765A16190A6D // c7 + .quad 0x3FD78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC6EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBFB4195F6B0333 // c0 (high double) + .quad 0xBC47DB89E27050CE // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7B27EEAE12CDB // c1 (low double) + .quad 0xBF9A3EE464F938D9 // c2 + .quad 0x3F99D644D21E7AE8 // c3 + .quad 0xBF718C74CAAA7BA1 // c4 + .quad 0x3F66B2F778B94CFD // c5 + .quad 0xBF450AB96EF7378B // c6 + .quad 0x3F1412EF7D22C6CA // c7 + .quad 0x3FD6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0xBBB6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBEA0D709BC27CA // c0 (high double) + .quad 0xBC48928D103E7F70 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB78A03A181D6AC // c1 (low double) + .quad 0xBF994C62C1366C88 // c2 + .quad 0x3F99A039D09A41AD // c3 + .quad 0xBF70DBAD90C6529A // c4 + .quad 0x3F66520A2F7F4662 // c5 + .quad 0xBF441FF58F223C4F // c6 + .quad 0xBF357CCF18E00FA5 // c7 + .quad 0x3FD5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C6EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBD8E118C89577F // c0 (high double) + .quad 0xBC3344F06C36BFAC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB76303BB0A22C5 // c1 (low double) + .quad 0xBF985BD44ABC0416 // c2 + .quad 0x3F996C5591BA6DFA // c3 + .quad 0xBF702DCF4265B5B3 // c4 + .quad 0x3F65F52766DBD146 // c5 + .quad 0xBF433B879649EE5C // c6 + .quad 0x3F47C67A932EC95B // c7 + .quad 0x3FD534AC0F19860C // B' = pi/2 - B (high double) + .quad 0x3C7EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBC7BC444B10758 // c0 (high double) + .quad 0x3C511540B2268E0E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB73D7C3735AA80 // c1 (low double) + .quad 0xBF976D24E52F1F79 // c2 + .quad 0x3F993A8F25560FF4 // c3 + .quad 0xBF6F0571A586F6F3 // c4 + .quad 0x3F659C8E8181F3F0 // c5 + .quad 0xBF425CCABE1033EA // c6 + .quad 0x3F4D59CA0EE986DF // c7 + .quad 0x3FD46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC71A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBB69EA984DE6EF // c0 (high double) + .quad 0x3C573CB7437F1792 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7196A3515E12E // c1 (low double) + .quad 0xBF968040C68C8FE8 // c2 + .quad 0x3F990ADE01D185E6 // c3 + .quad 0xBF6DB49417B3E65C // c4 + .quad 0x3F6548393E856BDB // c5 + .quad 0xBF418353F782833A // c6 + .quad 0xBF36489E03176323 // c7 + .quad 0x3FD3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0xBC41B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFBA587FF6553726 // c0 (high double) + .quad 0x3C5559CFE8366BA8 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6F6CAF293AC7F // c1 (low double) + .quad 0xBF959514736F007F // c2 + .quad 0x3F98DD3A019E14EB // c3 + .quad 0xBF6C68C706B3D0FB // c4 + .quad 0x3F64F779DB6C50F9 // c5 + .quad 0xBF40AF7CD7497BC1 // c6 + .quad 0x3F4AD3B98213250E // c7 + .quad 0x3FD2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C6A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB9477FD636A4D8 // c0 (high double) + .quad 0x3C5063C8B22C4842 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6D59BCBF6C48B // c1 (low double) + .quad 0xBF94AB8CBB6CBB16 // c2 + .quad 0x3F98B19B6070D56D // c3 + .quad 0xBF6B21CD22DB24B2 // c4 + .quad 0x3F64AAE4575F07CB // c5 + .quad 0xBF3FC08B3806F47F // c6 + .quad 0xBF00E427650BA68A // c7 + .quad 0x3FD2106CA4910069 // B' = pi/2 - B (high double) + .quad 0x3C7CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB836E5B77D959A // c0 (high double) + .quad 0xBC51BDCEFF6925EC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6B5DA3B72B738 // c1 (low double) + .quad 0xBF93C396B58BD74A // c2 + .quad 0x3F9887FAB9649830 // c3 + .quad 0xBF69DF6A8A7C820C // c4 + .quad 0x3F6461D2011761C1 // c5 + .quad 0xBF3E2C1220D97FBE // c6 + .quad 0x3F49F3B20EDA3AFF // c7 + .quad 0x3FD1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC73DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB726AD2173D50E // c0 (high double) + .quad 0xBC1FCEC90C8BEF70 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB69783D8B96CDF // c1 (low double) + .quad 0xBF92DD1FBCCBA937 // c2 + .quad 0x3F986051045C3883 // c3 + .quad 0xBF68A164B9409BD2 // c4 + .quad 0x3F641CB77D330F8F // c5 + .quad 0xBF3C9FE910D9CBC2 // c6 + .quad 0xBF302CCA98190297 // c7 + .quad 0x3FD07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0xBC51ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB616D1A2C591A8 // c0 (high double) + .quad 0x3C2EF832FD935ED0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB67A9658930D84 // c1 (low double) + .quad 0xBF91F8156CC25284 // c2 + .quad 0x3F983A9794563574 // c3 + .quad 0xBF67678272C8ECDD // c4 + .quad 0x3F63DAE696E3A38C // c5 + .quad 0xBF3B1CDBB342EE5D // c6 + .quad 0x3F49E00A3B463CAF // c7 + .quad 0x3FCF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C660FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB5074ED126983E // c0 (high double) + .quad 0x3C516E0EB4132D8C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB65F0F8C7B2809 // c1 (low double) + .quad 0xBF9114659E4D5E41 // c2 + .quad 0x3F9816C815084CDA // c3 + .quad 0xBF66318BB353364D // c4 + .quad 0x3F639CED9C49E6E4 // c5 + .quad 0xBF39A0F6E494228E // c6 + .quad 0xBF2EBBDA5946D8F5 // c7 + .quad 0x3FCDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0xBC56156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB3F82048F8BE00 // c0 (high double) + .quad 0xBC4AFD1EBA1D1F08 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB644ED6242FE19 // c1 (low double) + .quad 0xBF9031FE64545C32 // c2 + .quad 0x3F97F4DC89754A8C // c3 + .quad 0xBF64FF499B056453 // c4 + .quad 0x3F636226CB0F9286 // c5 + .quad 0xBF382D35D5867708 // c6 + .quad 0x3F3E29EBBEAD3F41 // c7 + .quad 0x3FCC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C63DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB2E941ACF368E6 // c0 (high double) + .quad 0x3C28FF4CA630E160 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB62C2DE3B8D982 // c1 (low double) + .quad 0xBF8EA19C1138E963 // c2 + .quad 0x3F97D4CF49C89DB5 // c3 + .quad 0xBF63D0865FBE1BAC // c4 + .quad 0x3F632AE80D59D97D // c5 + .quad 0xBF36C01A5963B74D // c6 + .quad 0x3F2F2207CBA79A42 // c7 + .quad 0x3FCAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0xBC5A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB1DAAEA5CC26DD // c0 (high double) + .quad 0x3C51577CBB7A4D94 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB614CF365450F4 // c1 (low double) + .quad 0xBF8CE1861157F322 // c2 + .quad 0x3F97B69B01FB3B26 // c3 + .quad 0xBF62A50D3A3C528B // c4 + .quad 0x3F62F6E9071D40DB // c5 + .quad 0xBF3559C86E0B83FE // c6 + .quad 0x3F41AFC8FEE8B00A // c7 + .quad 0x3FC921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C61A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFB0CC62E1E04467 // c0 (high double) + .quad 0xBC47805D7AE2B26C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5FECF9AE763EA // c1 (low double) + .quad 0xBF8B23982579F8E5 // c2 + .quad 0x3F979A3AB01644F9 // c3 + .quad 0xBF617CAA57838224 // c4 + .quad 0x3F62C658DCA7F4AB // c5 + .quad 0xBF33F9251280A953 // c6 + .quad 0xBF2D5C4E17766D5A // c7 + .quad 0x3FC78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0xBC5EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFAF7CB429BEA72C // c0 (high double) + .quad 0xBC3FFC35F2771324 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5EA2D6D5456CA // c1 (low double) + .quad 0xBF8967B0057BF87E // c2 + .quad 0x3F977FA9A2ED4D75 // c3 + .quad 0xBF60572AC7A74374 // c4 + .quad 0x3F6298E78AA42A2C // c5 + .quad 0xBF329E8594822820 // c6 + .quad 0xBF37DBAE80B80EC8 // c7 + .quad 0x3FC5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C5EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFAD611FEEED2925 // c0 (high double) + .quad 0xBC2C094544F37630 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5D6E7244839E4 // c1 (low double) + .quad 0xBF87ADABBEBF7F7F // c2 + .quad 0x3F9766E378A69DCA // c3 + .quad 0xBF5E68B8DEC46BCD // c4 + .quad 0x3F626E6BF47FF36D // c5 + .quad 0xBF3149F4C32A02B4 // c6 + .quad 0x3F4B764BFF26FBAF // c7 + .quad 0x3FC46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0xBC61A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFAB46008DFA625D // c0 (high double) + .quad 0x3C1CFC71261A7FB0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5C4FB50FA0748 // c1 (low double) + .quad 0xBF85F569AE5EF4C9 // c2 + .quad 0x3F974FE41D60092F // c3 + .quad 0xBF5C281BF4A7A8E8 // c4 + .quad 0x3F62476FB6177831 // c5 + .quad 0xBF2FF1DE9AA130D5 // c6 + .quad 0xBF3D841C7D3057BC // c7 + .quad 0x3FC2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C5A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA92B4D8A427A5E // c0 (high double) + .quad 0xBC48D0F742399A2E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5B4689EEE44C8 // c1 (low double) + .quad 0xBF843EC87B78BC83 // c2 + .quad 0x3F973AA7CA62B764 // c3 + .quad 0xBF59EC1D907A7E74 // c4 + .quad 0x3F62232304CE0BCB // c5 + .quad 0xBF2D5C019E5C9327 // c6 + .quad 0x3F4A5742B30D6EA4 // c7 + .quad 0x3FC1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0xBC63DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA710FE6F2ADA79 // c0 (high double) + .quad 0x3C47FCD1AF1BC88C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5A52DD3BF1903 // c1 (low double) + .quad 0xBF8289A7118F8015 // c2 + .quad 0x3F97272B048B0CB6 // c3 + .quad 0xBF57B45DC9402B07 // c4 + .quad 0x3F620239A251E2D3 // c5 + .quad 0xBF2ACB87C59ED9B1 // c6 + .quad 0xBF314F7BD600B48C // c7 + .quad 0x3FBF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C560FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA4F70ACF7EED25 // c0 (high double) + .quad 0xBC36D383618823A2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB59749CEE8C351 // c1 (low double) + .quad 0xBF80D5E49AFDF8A4 // c2 + .quad 0x3F97156A9BCB4ECE // c3 + .quad 0xBF55807DE55737F7 // c4 + .quad 0x3F61E4232793575A // c5 + .quad 0xBF28440F1D68D5AE // c6 + .quad 0xBF29FA204333F00C // c7 + .quad 0x3FBC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0x3C53DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA2DD6A44CE1394 // c0 (high double) + .quad 0xBC4BFF776DACC8B5 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB58ABB899A6815 // c1 (low double) + .quad 0xBF7E46C0F6F92ADF // c2 + .quad 0x3F970563A9ED840F // c3 + .quad 0xBF53502047076AB7 // c4 + .quad 0x3F61C8E9B000D23F // c5 + .quad 0xBF25C4A8BD148199 // c6 + .quad 0x3F4131449FFC5A0C // c7 + .quad 0x3FB921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C51A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBFA0C4146ECAB658 // c0 (high double) + .quad 0x3C0F927420EB8C00 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB57F82168B23EC // c1 (low double) + .quad 0xBF7AE3F4956ED507 // c2 + .quad 0x3F96F71391CF9DFE // c3 + .quad 0xBF5122E851208A87 // c4 + .quad 0x3F61B0E12D5FF408 // c5 + .quad 0xBF23485E9450F437 // c6 + .quad 0xBF3CE0F3BAD9A7CF // c7 + .quad 0x3FB5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0x3C4EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF9D5601E554ACE4 // c0 (high double) + .quad 0x3BF1725D940FAE40 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5759CA1D35995 // c1 (low double) + .quad 0xBF7783239DE5AD22 // c2 + .quad 0x3F96EA77FED69EC2 // c3 + .quad 0xBF4DF0F48A9F5DD6 // c4 + .quad 0x3F619B9AD4B4F692 // c5 + .quad 0xBF20D3375495B3AF // c6 + .quad 0xBF3C5F6BDA9649C1 // c7 + .quad 0x3FB2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C4A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF99244EF50D08B4 // c0 (high double) + .quad 0xBBF5D43FBFA6A650 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB56D0A70CA2FAE // c1 (low double) + .quad 0xBF74240DEF7AA427 // c2 + .quad 0x3F96DF8EE40AD931 // c3 + .quad 0xBF49A0F663CD9CED // c4 + .quad 0x3F61892DA49A01B1 // c5 + .quad 0xBF1CC6A5F5CD8613 // c6 + .quad 0xBF2979EF025F5A5D // c7 + .quad 0x3FAF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0x3C460FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF94F2FF697D458F // c0 (high double) + .quad 0xBC2D47EE0D8639CC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB565CAE1E73473 // c1 (low double) + .quad 0xBF70C673B159CE1D // c2 + .quad 0x3F96D6567B9EC32E // c3 + .quad 0xBF455521A900DE57 // c4 + .quad 0x3F6179A180C97DC6 // c5 + .quad 0xBF17EE9A1A2093EC // c6 + .quad 0xBF0F289C23A5BE3D // c7 + .quad 0x3FA921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C41A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF90C202A6B4B69C // c0 (high double) + .quad 0x3C232719F8027342 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55FDD6CA81EFB // c1 (low double) + .quad 0xBF6AD42A909B3D64 // c2 + .quad 0x3F96CECD466E9161 // c3 + .quad 0xBF410CC300A993C8 // c4 + .quad 0x3F616CF28C1A20AD // c5 + .quad 0xBF131CA14234B209 // c6 + .quad 0xBF0575725B2F6BD2 // c7 + .quad 0x3FA2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0x3C3A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF8922902DB2AC11 // c0 (high double) + .quad 0xBC23466BF961968D // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55B41A17AA68C // c1 (low double) + .quad 0xBF641D6698BEFAD5 // c2 + .quad 0x3F96C8F20B94D936 // c3 + .quad 0xBF398E50110336DC // c4 + .quad 0x3F61630EF83C40BE // c5 + .quad 0xBF0CA4CD1D39A327 // c6 + .quad 0x3F2D88AA4542B2A9 // c7 + .quad 0x3F9921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C31A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF80C17E51DDB68F // c0 (high double) + .quad 0xBC2BCDF2CE757F58 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB557F729AA69CB // c1 (low double) + .quad 0xBF5AD039FA1B06A9 // c2 + .quad 0x3F96C4C3D80DF7DB // c3 + .quad 0xBF31073E4843262F // c4 + .quad 0x3F615BF0FBDD75F6 // c5 + .quad 0xBF032668F6EE96B2 // c6 + .quad 0x3F4AB2BDCBD5B586 // c7 + .quad 0x3F8921FB54442D18 // B' = pi/2 - B (high double) + .quad 0x3C21A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0xBF70C15D3E7A6D22 // c0 (high double) + .quad 0xBC031AD41335B3D2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB555FDC752E0B2 // c1 (low double) + .quad 0xBF4ACF3DF3195D30 // c2 + .quad 0x3F96C241FE6B7D5F // c3 + .quad 0xBF2105DD68706FD9 // c4 + .quad 0x3F6157CCAEE0E30B // c5 + .quad 0xBEF320E95C86AAB5 // c6 + .quad 0x3F36CC59FF7E57F3 // c7 + .quad 0x0000000000000000 // B' = pi/2 - B (high double) + .quad 0x0000000000000000 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x0000000000000000 // c0 (high double) + .quad 0x0000000000000000 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5555555555555 // c1 (low double) + .quad 0x0000000000000000 // c2 + .quad 0x3F96C16C16C4A87E // c3 + .quad 0x0000000000000000 // c4 + .quad 0x3F615658C88FB22B // c5 + .quad 0x0000000000000000 // c6 + .quad 0x3F45FEB9DABEDDC8 // c7 + .quad 0xBF8921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC21A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F70C15D3E7A6D22 // c0 (high double) + .quad 0x3C031AD4127D9F3E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB555FDC752E0B2 // c1 (low double) + .quad 0x3F4ACF3DF3195D30 // c2 + .quad 0x3F96C241FE6B7D5F // c3 + .quad 0x3F2105DD68707011 // c4 + .quad 0x3F6157CCAEE0E445 // c5 + .quad 0x3EF320E95BE3603D // c6 + .quad 0x3F36CC59FB2A5B52 // c7 + .quad 0xBF9921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC31A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F80C17E51DDB68F // c0 (high double) + .quad 0x3C2BCDF2CE751153 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB557F729AA69CB // c1 (low double) + .quad 0x3F5AD039FA1B06A9 // c2 + .quad 0x3F96C4C3D80DF7DB // c3 + .quad 0x3F31073E4843262E // c4 + .quad 0x3F615BF0FBDD7613 // c5 + .quad 0x3F032668F6F21096 // c6 + .quad 0x3F4AB2BDCBA34188 // c7 + .quad 0xBFA2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC3A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F8922902DB2AC11 // c0 (high double) + .quad 0x3C23466BF9645874 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55B41A17AA68C // c1 (low double) + .quad 0x3F641D6698BEFAD5 // c2 + .quad 0x3F96C8F20B94D936 // c3 + .quad 0x3F398E50110336D4 // c4 + .quad 0x3F61630EF83C4025 // c5 + .quad 0x3F0CA4CD1D548C70 // c6 + .quad 0x3F2D88AA497F5A74 // c7 + .quad 0xBFA921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC41A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F90C202A6B4B69C // c0 (high double) + .quad 0xBC232719F82E8E78 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB55FDD6CA81EFB // c1 (low double) + .quad 0x3F6AD42A909B3D64 // c2 + .quad 0x3F96CECD466E9161 // c3 + .quad 0x3F410CC300A993FB // c4 + .quad 0x3F616CF28C1A27D9 // c5 + .quad 0x3F131CA1418B03D0 // c6 + .quad 0xBF0575732696DF46 // c7 + .quad 0xBFAF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC460FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F94F2FF697D458F // c0 (high double) + .quad 0x3C2D47EE0D83F132 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB565CAE1E73473 // c1 (low double) + .quad 0x3F70C673B159CE1D // c2 + .quad 0x3F96D6567B9EC32E // c3 + .quad 0x3F455521A900DE58 // c4 + .quad 0x3F6179A180C97E50 // c5 + .quad 0x3F17EE9A1A1D88C1 // c6 + .quad 0xBF0F289C329281E6 // c7 + .quad 0xBFB2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC4A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F99244EF50D08B4 // c0 (high double) + .quad 0x3BF5D43FBF890B40 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB56D0A70CA2FAE // c1 (low double) + .quad 0x3F74240DEF7AA427 // c2 + .quad 0x3F96DF8EE40AD931 // c3 + .quad 0x3F49A0F663CD9CEE // c4 + .quad 0x3F61892DA49A0241 // c5 + .quad 0x3F1CC6A5F5CAD66B // c6 + .quad 0xBF2979EF063C00F3 // c7 + .quad 0xBFB5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC4EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3F9D5601E554ACE4 // c0 (high double) + .quad 0xBBF1725D944B6FF0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5759CA1D35995 // c1 (low double) + .quad 0x3F7783239DE5AD22 // c2 + .quad 0x3F96EA77FED69EC2 // c3 + .quad 0x3F4DF0F48A9F5DD8 // c4 + .quad 0x3F619B9AD4B4F72F // c5 + .quad 0x3F20D33754930861 // c6 + .quad 0xBF3C5F6BDCAA4F14 // c7 + .quad 0xBFB921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC51A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA0C4146ECAB658 // c0 (high double) + .quad 0xBC0F9274210C3E30 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB57F82168B23EC // c1 (low double) + .quad 0x3F7AE3F4956ED507 // c2 + .quad 0x3F96F71391CF9DFE // c3 + .quad 0x3F5122E851208A88 // c4 + .quad 0x3F61B0E12D5FF46B // c5 + .quad 0x3F23485E944E645F // c6 + .quad 0xBF3CE0F3BC206D6A // c7 + .quad 0xBFBC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC53DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA2DD6A44CE1394 // c0 (high double) + .quad 0x3C4BFF776DAE2ACC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB58ABB899A6815 // c1 (low double) + .quad 0x3F7E46C0F6F92ADF // c2 + .quad 0x3F970563A9ED840F // c3 + .quad 0x3F53502047076AB6 // c4 + .quad 0x3F61C8E9B000D225 // c5 + .quad 0x3F25C4A8BD17699A // c6 + .quad 0x3F413144A024F67F // c7 + .quad 0xBFBF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC560FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA4F70ACF7EED25 // c0 (high double) + .quad 0x3C36D38361835224 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB59749CEE8C351 // c1 (low double) + .quad 0x3F80D5E49AFDF8A4 // c2 + .quad 0x3F97156A9BCB4ECE // c3 + .quad 0x3F55807DE55737F9 // c4 + .quad 0x3F61E42327935766 // c5 + .quad 0x3F28440F1D62D6E1 // c6 + .quad 0xBF29FA20436AFB73 // c7 + .quad 0xBFC1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C63DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA710FE6F2ADA79 // c0 (high double) + .quad 0xBC47FCD1AF1E5F81 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5A52DD3BF1903 // c1 (low double) + .quad 0x3F8289A7118F8015 // c2 + .quad 0x3F97272B048B0CB6 // c3 + .quad 0x3F57B45DC9402B09 // c4 + .quad 0x3F620239A251E2C5 // c5 + .quad 0x3F2ACB87C598F86B // c6 + .quad 0xBF314F7BD5BDC85C // c7 + .quad 0xBFC2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC5A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FA92B4D8A427A5E // c0 (high double) + .quad 0x3C48D0F7423D245A // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5B4689EEE44C8 // c1 (low double) + .quad 0x3F843EC87B78BC83 // c2 + .quad 0x3F973AA7CA62B764 // c3 + .quad 0x3F59EC1D907A7E71 // c4 + .quad 0x3F62232304CE0BF5 // c5 + .quad 0x3F2D5C019E659382 // c6 + .quad 0x3F4A5742B2B8EFA5 // c7 + .quad 0xBFC46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C61A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FAB46008DFA625D // c0 (high double) + .quad 0xBC1CFC712619CB40 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5C4FB50FA0748 // c1 (low double) + .quad 0x3F85F569AE5EF4C9 // c2 + .quad 0x3F974FE41D60092F // c3 + .quad 0x3F5C281BF4A7A8E8 // c4 + .quad 0x3F62476FB617789E // c5 + .quad 0x3F2FF1DE9AA127B2 // c6 + .quad 0xBF3D841C7EAC9D16 // c7 + .quad 0xBFC5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC5EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FAD611FEEED2925 // c0 (high double) + .quad 0x3C2C094544F32A78 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5D6E7244839E4 // c1 (low double) + .quad 0x3F87ADABBEBF7F7F // c2 + .quad 0x3F9766E378A69DCA // c3 + .quad 0x3F5E68B8DEC46BCD // c4 + .quad 0x3F626E6BF47FF315 // c5 + .quad 0x3F3149F4C32A0685 // c6 + .quad 0x3F4B764BFFC07D27 // c7 + .quad 0xBFC78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C5EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FAF7CB429BEA72C // c0 (high double) + .quad 0x3C3FFC35F277313A // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5EA2D6D5456CA // c1 (low double) + .quad 0x3F8967B0057BF87E // c2 + .quad 0x3F977FA9A2ED4D75 // c3 + .quad 0x3F60572AC7A74374 // c4 + .quad 0x3F6298E78AA42A95 // c5 + .quad 0x3F329E8594822508 // c6 + .quad 0xBF37DBAE822657B7 // c7 + .quad 0xBFC921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC61A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB0CC62E1E04467 // c0 (high double) + .quad 0x3C47805D7AE2BD94 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB5FECF9AE763EA // c1 (low double) + .quad 0x3F8B23982579F8E5 // c2 + .quad 0x3F979A3AB01644F9 // c3 + .quad 0x3F617CAA57838224 // c4 + .quad 0x3F62C658DCA7F4F9 // c5 + .quad 0x3F33F9251280A70A // c6 + .quad 0xBF2D5C4E19969DC6 // c7 + .quad 0xBFCAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0x3C5A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB1DAAEA5CC26DD // c0 (high double) + .quad 0xBC51577CBB7A50E2 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB614CF365450F4 // c1 (low double) + .quad 0x3F8CE1861157F322 // c2 + .quad 0x3F97B69B01FB3B26 // c3 + .quad 0x3F62A50D3A3C528B // c4 + .quad 0x3F62F6E9071D40AC // c5 + .quad 0x3F3559C86E0B8558 // c6 + .quad 0x3F41AFC8FF3AAA17 // c7 + .quad 0xBFCC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC63DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB2E941ACF368E6 // c0 (high double) + .quad 0xBC28FF4CA630E010 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB62C2DE3B8D982 // c1 (low double) + .quad 0x3F8EA19C1138E963 // c2 + .quad 0x3F97D4CF49C89DB5 // c3 + .quad 0x3F63D0865FBE1BAC // c4 + .quad 0x3F632AE80D59D97F // c5 + .quad 0x3F36C01A5963B73C // c6 + .quad 0x3F2F2207CB99A5D3 // c7 + .quad 0xBFCDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0x3C56156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB3F82048F8BE00 // c0 (high double) + .quad 0x3C4AFD1EBA1D1ABA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB644ED6242FE19 // c1 (low double) + .quad 0x3F9031FE64545C32 // c2 + .quad 0x3F97F4DC89754A8C // c3 + .quad 0x3F64FF499B056453 // c4 + .quad 0x3F636226CB0F9266 // c5 + .quad 0x3F382D35D58677E8 // c6 + .quad 0x3F3E29EBBF1CE01E // c7 + .quad 0xBFCF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC660FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB5074ED126983E // c0 (high double) + .quad 0xBC516E0EB4132866 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB65F0F8C7B2809 // c1 (low double) + .quad 0x3F9114659E4D5E41 // c2 + .quad 0x3F9816C815084CDA // c3 + .quad 0x3F66318BB353364D // c4 + .quad 0x3F639CED9C49E72F // c5 + .quad 0x3F39A0F6E4942078 // c6 + .quad 0xBF2EBBDA5B521AEE // c7 + .quad 0xBFD07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0x3C51ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB616D1A2C591A8 // c0 (high double) + .quad 0xBC2EF832FD938898 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB67A9658930D84 // c1 (low double) + .quad 0x3F91F8156CC25284 // c2 + .quad 0x3F983A9794563574 // c3 + .quad 0x3F67678272C8ECDD // c4 + .quad 0x3F63DAE696E3A33F // c5 + .quad 0x3F3B1CDBB342F07A // c6 + .quad 0x3F49E00A3BCC8A23 // c7 + .quad 0xBFD1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C73DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB726AD2173D50E // c0 (high double) + .quad 0x3C1FCEC90C8C4150 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB69783D8B96CDF // c1 (low double) + .quad 0x3F92DD1FBCCBA937 // c2 + .quad 0x3F986051045C3883 // c3 + .quad 0x3F68A164B9409BD2 // c4 + .quad 0x3F641CB77D330FDA // c5 + .quad 0x3F3C9FE910D9C9B2 // c6 + .quad 0xBF302CCA991EA2A4 // c7 + .quad 0xBFD2106CA4910069 // B' = pi/2 - B (high double) + .quad 0xBC7CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB836E5B77D959A // c0 (high double) + .quad 0x3C51BDCEFF692111 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6B5DA3B72B738 // c1 (low double) + .quad 0x3F93C396B58BD74A // c2 + .quad 0x3F9887FAB9649830 // c3 + .quad 0x3F69DF6A8A7C820C // c4 + .quad 0x3F6461D201176179 // c5 + .quad 0x3F3E2C1220D981B3 // c6 + .quad 0x3F49F3B20F57CFA8 // c7 + .quad 0xBFD2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC6A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FB9477FD636A4D8 // c0 (high double) + .quad 0xBC5063C8B22C4544 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6D59BCBF6C48B // c1 (low double) + .quad 0x3F94AB8CBB6CBB16 // c2 + .quad 0x3F98B19B6070D56D // c3 + .quad 0x3F6B21CD22DB24B2 // c4 + .quad 0x3F64AAE4575F07F6 // c5 + .quad 0x3F3FC08B3806F34C // c6 + .quad 0xBF00E42769BBA67A // c7 + .quad 0xBFD3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0x3C41B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBA587FF6553726 // c0 (high double) + .quad 0xBC5559CFE8367078 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB6F6CAF293AC7F // c1 (low double) + .quad 0x3F959514736F007F // c2 + .quad 0x3F98DD3A019E14EB // c3 + .quad 0x3F6C68C706B3D0FB // c4 + .quad 0x3F64F779DB6C50B2 // c5 + .quad 0x3F40AF7CD7497CB8 // c6 + .quad 0x3F4AD3B9828EFAF2 // c7 + .quad 0xBFD46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C71A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBB69EA984DE6EF // c0 (high double) + .quad 0xBC573CB7437F11CA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7196A3515E12E // c1 (low double) + .quad 0x3F968040C68C8FE8 // c2 + .quad 0x3F990ADE01D185E6 // c3 + .quad 0x3F6DB49417B3E65C // c4 + .quad 0x3F6548393E856C2F // c5 + .quad 0x3F418353F7828212 // c6 + .quad 0xBF36489E043C6801 // c7 + .quad 0xBFD534AC0F19860C // B' = pi/2 - B (high double) + .quad 0xBC7EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBC7BC444B10758 // c0 (high double) + .quad 0xBC511540B2269343 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB73D7C3735AA80 // c1 (low double) + .quad 0x3F976D24E52F1F79 // c2 + .quad 0x3F993A8F25560FF4 // c3 + .quad 0x3F6F0571A586F6F3 // c4 + .quad 0x3F659C8E8181F3A3 // c5 + .quad 0x3F425CCABE1034F4 // c6 + .quad 0x3F4D59CA0F6FD35D // c7 + .quad 0xBFD5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC6EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBD8E118C89577F // c0 (high double) + .quad 0x3C3344F06C36B16C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB76303BB0A22C5 // c1 (low double) + .quad 0x3F985BD44ABC0416 // c2 + .quad 0x3F996C5591BA6DFA // c3 + .quad 0x3F702DCF4265B5B3 // c4 + .quad 0x3F65F52766DBD111 // c5 + .quad 0x3F433B879649EF12 // c6 + .quad 0x3F47C67A938B39B9 // c7 + .quad 0xBFD6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0x3BB6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBEA0D709BC27CA // c0 (high double) + .quad 0x3C48928D103E8AAC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB78A03A181D6AC // c1 (low double) + .quad 0x3F994C62C1366C88 // c2 + .quad 0x3F99A039D09A41AD // c3 + .quad 0x3F70DBAD90C6529A // c4 + .quad 0x3F66520A2F7F46B3 // c5 + .quad 0x3F441FF58F223B31 // c6 + .quad 0xBF357CCF19FA9D15 // c7 + .quad 0xBFD78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C6EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FBFB4195F6B0333 // c0 (high double) + .quad 0x3C47DB89E2705528 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7B27EEAE12CDB // c1 (low double) + .quad 0x3F9A3EE464F938D9 // c2 + .quad 0x3F99D644D21E7AE8 // c3 + .quad 0x3F718C74CAAA7BA1 // c4 + .quad 0x3F66B2F778B94D1C // c5 + .quad 0x3F450AB96EF7371C // c6 + .quad 0x3F1412EF7B7239D9 // c7 + .quad 0xBFD858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0x3C7EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC063EE9D2B777C // c0 (high double) + .quad 0x3C4E1787D8B79264 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB7DC78B746BB2F // c1 (low double) + .quad 0x3F9B336DA889AC7D // c2 + .quad 0x3F9A0E7FEF8737D6 // c3 + .quad 0x3F724046DF328844 // c4 + .quad 0x3F67185639AB9983 // c5 + .quad 0x3F45FBD25ACB3A74 // c6 + .quad 0x3F0E765A126439F7 // c7 + .quad 0xBFD921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC71A62633145C07 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC0EE13A8A2A9C6 // c0 (high double) + .quad 0xBC5830A63DDC366C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB807F44735B1A4 // c1 (low double) + .quad 0x3F9C2A135884458A // c2 + .quad 0x3F9A48F4EE376E9D // c3 + .quad 0x3F72F746AAC73A47 // c4 + .quad 0x3F678215824701AF // c5 + .quad 0x3F46F3C719FB66E6 // c6 + .quad 0x3F4BA88D5ED09DD1 // c7 + .quad 0xBFD9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0xBC419ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC1787E32B35112 // c0 (high double) + .quad 0xBC5D2D85EBE7CAE6 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB834F4FC268515 // c1 (low double) + .quad 0x3F9D22EA9FA50E7D // c2 + .quad 0x3F9A85AE02819BA3 // c3 + .quad 0x3F73B19803AB2B21 // c4 + .quad 0x3F67F0B8C640461D // c5 + .quad 0x3F47F293167B409B // c6 + .quad 0xBF198BF45EA16C3A // c7 + .quad 0xBFDAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0x3C6A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC20330A15F6568 // c0 (high double) + .quad 0x3C61BB4F210EA8D1 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8637E591E05FE // c1 (low double) + .quad 0x3F9E1E090AECCE81 // c2 + .quad 0x3F9AC4B5D3090946 // c3 + .quad 0x3F746F5FC5C316BA // c4 + .quad 0x3F686400E51F53C2 // c5 + .quad 0x3F48F8EADC3DB9C7 // c6 + .quad 0xBF320AB3DF7578B7 // c7 + .quad 0xBFDB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0x3C7CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC28E2D6047CBC8 // c0 (high double) + .quad 0xBC0CEAB2537F4380 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB89394034B11CF // c1 (low double) + .quad 0x3F9F1B848DE48876 // c2 + .quad 0x3F9B06177BDD3821 // c3 + .quad 0x3F7530C3E0150AA0 // c4 + .quad 0x3F68DBF62FBA70A3 // c5 + .quad 0x3F4A0736C860B4FE // c6 + .quad 0x3F50A3F1D969C867 // c7 + .quad 0xBFDC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC73DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC31976E0E280B3 // c0 (high double) + .quad 0xBC667516EE4F2544 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8C539C2AB0F89 // c1 (low double) + .quad 0x3FA00DB9C3806462 // c2 + .quad 0x3F9B49DE91DB8E44 // c3 + .quad 0x3F75F5EB6258C838 // c4 + .quad 0x3F695952C6BEE632 // c5 + .quad 0x3F4B1D691B1E9E68 // c6 + .quad 0xBEFC71567DD0AC40 // c7 + .quad 0xBFDD0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0xBC51A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC3A50F9AB1CA91 // c0 (high double) + .quad 0x3C50CA3B48D90906 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB8F87382B56ACB // c1 (low double) + .quad 0x3FA08EF662132882 // c2 + .quad 0x3F9B901726A3CD1C // c3 + .quad 0x3F76BEFE8A4461A2 // c4 + .quad 0x3F69DBAE42D8A424 // c5 + .quad 0x3F4C3C52357BEFDC // c6 + .quad 0x3F32456D9E4ECEE8 // c7 + .quad 0xBFDDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0x3C66156546AFA570 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC430FA0B7C7F15 // c0 (high double) + .quad 0x3C63115D3C69C8AB // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB92D45530E4319 // c1 (low double) + .quad 0x3FA11183C3A8DFF6 // c2 + .quad 0x3F9BD8CDCC073185 // c3 + .quad 0x3F778C26D2F52E9A // c4 + .quad 0x3F6A638650FB67B4 // c5 + .quad 0x3F4D6420527BDA5C // c6 + .quad 0xBF2DA5A647B98994 // c7 + .quad 0xBFDEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0x3C7A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC4BD38B7876716 // c0 (high double) + .quad 0x3C5504069A91A838 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB963B368408780 // c1 (low double) + .quad 0x3FA1956DC5B1F35A // c2 + .quad 0x3F9C240F984C07DC // c3 + .quad 0x3F785D8F0388F11C // c4 + .quad 0x3F6AF0B073DF1CB2 // c5 + .quad 0x3F4E9580D70D3533 // c6 + .quad 0x3F4571315C6E8041 // c7 + .quad 0xBFDF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC760FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC549CE29CFCCBE // c0 (high double) + .quad 0xBC69881846E0BF86 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB99BC21C7FB9B2 // c1 (low double) + .quad 0x3FA21AC0848A46C5 // c2 + .quad 0x3F9C71EA2A16819D // c3 + .quad 0x3F7933633F8F0072 // c4 + .quad 0x3F6B83D1C5509A03 // c5 + .quad 0x3F4FD088727B14B9 // c6 + .quad 0xBF2306C949D5376C // c7 + .quad 0xBFE019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0x3C8CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC5D6BCF447403E // c0 (high double) + .quad 0xBC6C6C662876B393 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FB9D575F071964A // c1 (low double) + .quad 0x3FA2A1885E06BEAC // c2 + .quad 0x3F9CC26BAD1B38B8 // c3 + .quad 0x3F7A0DD116DA5229 // c4 + .quad 0x3F6C1C921E809C74 // c5 + .quad 0x3F508B03CEF8B0C3 // c6 + .quad 0x3F4BCE57D088C848 // c7 + .quad 0xBFE07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0x3C61ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC66407B0109FA6 // c0 (high double) + .quad 0x3C55C3EC26D04666 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA10D38BFFE319 // c1 (low double) + .quad 0x3FA329D1F417DBD6 // c2 + .quad 0x3F9D15A2DE544C7C // c3 + .quad 0x3F7AED07977D3236 // c4 + .quad 0x3F6CBBAD3C53FDE7 // c5 + .quad 0x3F513318B342B49D // c6 + .quad 0x3F1AF93D0FFB8A50 // c7 + .quad 0xBFE0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0xBC83DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC6F1B0FDBE6EDE // c0 (high double) + .quad 0x3C614F63025E35DC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA4DDFBF32A727 // c1 (low double) + .quad 0x3FA3B3AA2F826E47 // c2 + .quad 0x3F9D6B9F112A3CA9 // c3 + .quad 0x3F7BD1375F2B326E // c4 + .quad 0x3F6D60EF002A5959 // c5 + .quad 0x3F51E0E0E3E641DE // c6 + .quad 0x3F32BFA3B8923D31 // c7 + .quad 0xBFE1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C83DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC77FBB85928D2D // c0 (high double) + .quad 0xBC6121F4E1AC8166 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBA8C9F83131391 // c1 (low double) + .quad 0x3FA43F1E42AF6970 // c2 + .quad 0x3F9DC4703433CA75 // c3 + .quad 0x3F7CBA92AE7FE396 // c4 + .quad 0x3F6E0CB6D0475CCF // c5 + .quad 0x3F529491FB8790D2 // c6 + .quad 0x3F37152AFD195A10 // c7 + .quad 0xBFE1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0xBC61A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC80E29F7BF5633 // c0 (high double) + .quad 0x3C67F8F06ACC7061 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBACD17FA976786 // c1 (low double) + .quad 0x3FA4CC3BAC93F075 // c2 + .quad 0x3F9E2026D6967836 // c3 + .quad 0x3F7DA94D7C694B78 // c4 + .quad 0x3F6EBF4F14B98A92 // c5 + .quad 0x3F534E7211F873CE // c6 + .quad 0xBF2290D13622948A // c7 + .quad 0xBFE2106CA4910069 // B' = pi/2 - B (high double) + .quad 0xBC8CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC89CFF0CAA3CB4 // c0 (high double) + .quad 0xBC6A8D50D06FC283 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB0F4E73981D4B // c1 (low double) + .quad 0x3FA55B103BB2BD6D // c2 + .quad 0x3F9E7ED42D91EC8D // c3 + .quad 0x3F7E9D9D8AAE7B14 // c4 + .quad 0x3F6F78B5039EFAD8 // c5 + .quad 0x3F540EDBA3A78643 // c6 + .quad 0x3F3AA2CB5E5BE1ED // c7 + .quad 0xBFE274F491E2111E // B' = pi/2 - B (high double) + .quad 0x3C7613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC92C3D852FEDF2 // c0 (high double) + .quad 0x3C20F5E7403E5E20 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB534867CEB1CB // c1 (low double) + .quad 0x3FA5EBAA113813D4 // c2 + .quad 0x3F9EE08A1A202CC5 // c3 + .quad 0x3F7F97BA7BA1301A // c4 + .quad 0x3F701CAD7F191DFA // c5 + .quad 0x3F54D60D13221310 // c6 + .quad 0x3F45F5FE99894FC6 // c7 + .quad 0xBFE2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC7A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FC9BBE82AEA0D12 // c0 (high double) + .quad 0xBC62D116CA77096B // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBB990B7DDE5BFC // c1 (low double) + .quad 0x3FA67E17A4317C6C // c2 + .quad 0x3F9F455B2F170454 // c3 + .quad 0x3F804BEEF437A2B3 // c4 + .quad 0x3F7080CEADF2976D // c5 + .quad 0x3F55A44E3A71E919 // c6 + .quad 0xBF039F946FDF9BBB // c7 + .quad 0xBFE33E046C843287 // B' = pi/2 - B (high double) + .quad 0x3C8A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCA4C01D0769648 // c0 (high double) + .quad 0x3C4DDC96CAE4A06C // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBBE09D8A670D72 // c1 (low double) + .quad 0x3FA71267C4E29753 // c2 + .quad 0x3F9FAD5AB78BB764 // c3 + .quad 0x3F80CF21BC414F68 // c4 + .quad 0x3F70E8AC1DCF4352 // c5 + .quad 0x3F567A14C053085F // c6 + .quad 0x3F4F621D6DE176C4 // c7 + .quad 0xBFE3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0x3C51B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCADC8D51C0FA5B // c0 (high double) + .quad 0x3C54B350B5D39570 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC2A04912319A8 // c1 (low double) + .quad 0x3FA7A8A9A038608E // c2 + .quad 0x3FA00C4E5E972915 // c3 + .quad 0x3F8155947D4C5C83 // c4 + .quad 0x3F7154A7B149DA58 // c5 + .quad 0x3F5757960EDFC45C // c6 + .quad 0x3F3F895706E3352B // c7 + .quad 0xBFE40714472653EF // B' = pi/2 - B (high double) + .quad 0xBC86106670B43955 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCB6D8D944D0371 // c0 (high double) + .quad 0xBC6CDD9D6EA4BA41 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBC7546C60FE5C7 // c1 (low double) + .quad 0x3FA840ECC35C53FD // c2 + .quad 0x3FA0439B07C380F3 // c3 + .quad 0x3F81DF673F038AB5 // c4 + .quad 0x3F71C4B3C36B8A12 // c5 + .quad 0x3F583D44FA2FB203 // c6 + .quad 0x3F52EE3E6132A151 // c7 + .quad 0xBFE46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C81A900F67F753A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCBFF05878394D3 // c0 (high double) + .quad 0x3C486912F813E2EC // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBCC26A8EA2077F // c1 (low double) + .quad 0x3FA8DB411F68EE69 // c2 + .quad 0x3FA07C9E25737218 // c3 + .quad 0x3F826CBB3713A292 // c4 + .quad 0x3F72392A32F26720 // c5 + .quad 0x3F592B76EEB6E2FF // c6 + .quad 0x3F39BADB5780F9BE // c7 + .quad 0xBFE4D02421C87558 // B' = pi/2 - B (high double) + .quad 0xBC6A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCC90F8250157F7 // c0 (high double) + .quad 0x3C657D8312BFEA17 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD117683053E13 // c1 (low double) + .quad 0x3FA977B70D411C29 // c2 + .quad 0x3FA0B762F022F359 // c3 + .quad 0x3F82FDB2D7324A8F // c4 + .quad 0x3F72B2030A36AADF // c5 + .quad 0x3F5A22A22953FC15 // c6 + .quad 0x3F473A2F09CE8F95 // c7 + .quad 0xBFE534AC0F19860C // B' = pi/2 - B (high double) + .quad 0xBC8EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCD236870E769B5 // c0 (high double) + .quad 0x3C523CE78218C6AA // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBD62716F68B5FE // c1 (low double) + .quad 0x3FAA165F518C38AB // c2 + .quad 0x3FA0F3F50E789484 // c3 + .quad 0x3F839271DC18DB75 // c4 + .quad 0x3F732F8BAC4C54A8 // c5 + .quad 0x3F5B23248F865B74 // c6 + .quad 0x3F36E307E2B0837C // c7 + .quad 0xBFE59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0x3C71AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCDB6597A2E1B61 // c0 (high double) + .quad 0xBC6CB71A947AACF6 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBDB56255580CA4 // c1 (low double) + .quad 0x3FAAB74B20D856E7 // c2 + .quad 0x3FA1326099896038 // c3 + .quad 0x3F842B1D5CF84F74 // c4 + .quad 0x3F73B1CC2C4E32D2 // c5 + .quad 0x3F5C2D7D75B7FC1B // c6 + .quad 0x3F53DB94CE2C2FD8 // c7 + .quad 0xBFE5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC7EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCE49CE5AF9DC29 // c0 (high double) + .quad 0xBC382336F1C6BD90 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE0A506D218F3C // c1 (low double) + .quad 0x3FAB5A8C23E49FEA // c2 + .quad 0x3FA172B22117D625 // c3 + .quad 0x3F84C7DBDBF304B9 // c4 + .quad 0x3F74391DF553E930 // c5 + .quad 0x3F5D4211231EF24A // c6 + .quad 0x3F52AB1CCD8D3AA9 // c7 + .quad 0xBFE66243D70CB82A // B' = pi/2 - B (high double) + .quad 0x3C884805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCEDDCA38F25FEC // c0 (high double) + .quad 0xBC65AACB9E8B4DF8 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBE6143274A35BF // c1 (low double) + .quad 0x3FAC00347C15ABB2 // c2 + .quad 0x3FA1B4F6B03A62C8 // c3 + .quad 0x3F8568D557225239 // c4 + .quad 0x3F74C5A8346B0155 // c5 + .quad 0x3F5E61680C7E386A // c6 + .quad 0x3F45A81E03899535 // c7 + .quad 0xBFE6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0x3BC6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FCF7250459C1976 // c0 (high double) + .quad 0x3C40B5B081F06BA0 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBEBA422E0FE0E5 // c1 (low double) + .quad 0x3FACA856C815D042 // c2 + .quad 0x3FA1F93BD218DCE9 // c3 + .quad 0x3F860E335AB42933 // c4 + .quad 0x3F75578EEA5D18D8 // c5 + .quad 0x3F5F8BFBAD564E86 // c6 + .quad 0x3F434A80D1DA21D1 // c7 + .quad 0xBFE72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0xBC88452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD003B1DF5A0F86 // c0 (high double) + .quad 0x3C716CEB71FB716B // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF155566FA6884 // c1 (low double) + .quad 0x3FAD530628A37C7A // c2 + .quad 0x3FA23F8F96E80A99 // c3 + .quad 0x3F86B82113BDC04E // c4 + .quad 0x3F75EF0B9C9DF1C6 // c5 + .quad 0x3F60613421CB6A80 // c6 + .quad 0x3F48E48E906FE806 // c7 + .quad 0xBFE78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C7EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD04E83F7474877 // c0 (high double) + .quad 0x3C73B117AC20AC65 // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBF7284F47C0E61 // c1 (low double) + .quad 0x3FAE0056458FCED5 // c2 + .quad 0x3FA28800992AEEE6 // c3 + .quad 0x3F8766CB6439B11D // c4 + .quad 0x3F768C54DBB36839 // c5 + .quad 0x3F610297B13942C6 // c6 + .quad 0x3F5536BD1C4BF79E // c7 + .quad 0xBFE7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0xBC71A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD099A0163BCD3F // c0 (high double) + .quad 0x3C7A7F11D963D72E // c0 (low double) + .quad 0x3FD0000000000000 // c1 (high single bit) + .quad 0x3FBFD1D937A1F094 // c1 (low double) + .quad 0x3FAEB05B52EFB4C0 // c2 + .quad 0x3FA2D29E032A57DB // c3 + .quad 0x3F881A60F7D38723 // c4 + .quad 0x3F772FBBF1BFA28B // c5 + .quad 0x3F61AA745B27BB01 // c6 + .quad 0x3F51CC19136F91C1 // c7 + .quad 0xBFE858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0x3C8EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD0E507EE8B93D7 // c0 (high double) + .quad 0x3C679F09CDD5D5B2 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBFCCA52E2AE201 // c1 (low double) + .quad 0x3FAF632A1681FD0B // c2 + .quad 0x3FA31F7794BDF922 // c3 + .quad 0x3F88D31259E30525 // c4 + .quad 0x3F77D97B728544F5 // c5 + .quad 0x3F62591A3A2B699F // c6 + .quad 0x3F3605B387A5D7A0 // c7 + .quad 0xBFE8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0x3C6A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x3FF0000000000000 // tau (1 for cot path) + .quad 0x3FD130BD396BB4A9 // c0 (high double) + .quad 0xBC657D8592EA09D4 // c0 (low double) + .quad 0x3FE0000000000000 // c1 (high single bit) + .quad 0xBFBF68ED595308D6 // c1 (low double) + .quad 0x3FB00C6BF6A673E6 // c2 + .quad 0x3FA36E9DA9556AA6 // c3 + .quad 0x3F8991120C7D4BB9 // c4 + .quad 0x3F7889ABD6008215 // c5 + .quad 0x3F630EE404688883 // c6 + .quad 0x3F52CAD75A2201AF // c7 + .quad 0xBFE921FB54442D18 // B' = pi/2 - B (high double) + .quad 0xBC81A62633145C07 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFF0000000000000 // c0 (high double) + .quad 0x3C0492B176DF0500 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0x0000000000000000 // c1 (low double) + .quad 0xC00000000000010A // c2 + .quad 0x4005555555555614 // c3 + .quad 0xC00AAAAAA890EF4D // c4 + .quad 0x4011111110018C73 // c5 + .quad 0xC015B108FB920A0B // c6 + .quad 0x401BA285D6669571 // c7 + .quad 0xBFE9868341953DCD // B' = pi/2 - B (high double) + .quad 0x3C861341341F5289 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEF395D9F0E3C92 // c0 (high double) + .quad 0x3C550BEC65726E28 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFA8873C53BE0540 // c1 (low double) + .quad 0xBFFE79E5C65202DE // c2 + .quad 0x400412FD76797C7D // c3 + .quad 0xC008AAB30DC82D37 // c4 + .quad 0x400F1B6C68B4AEA4 // c5 + .quad 0xC013758CE9BD9EFA // c6 + .quad 0x40186872A0685915 // c7 + .quad 0xBFE9EB0B2EE64E81 // B' = pi/2 - B (high double) + .quad 0xBC519ABB2567F739 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEE776EAFC91706 // c0 (high double) + .quad 0xBC890664EDC53F33 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFB7F295AD658764 // c1 (low double) + .quad 0xBFFD0AA1DB7F5E58 // c2 + .quad 0x4002E8A6F9693556 // c3 + .quad 0xC006D7CA16B298C6 // c4 + .quad 0x400C63DFCAA3FB6C // c5 + .quad 0xC0117C3EE50D7742 // c6 + .quad 0x401599932C96B9B6 // c7 + .quad 0xBFEA4F931C375F35 // B' = pi/2 - B (high double) + .quad 0xBC8A79EFFD795057 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEDB9FA89953FCF // c0 (high double) + .quad 0xBC286C68F514A640 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC18AC418849A6E // c1 (low double) + .quad 0xBFFBB083E02786D7 // c2 + .quad 0x4001D438F8A20402 // c3 + .quad 0xC0052D5D6FF7A4BD // c4 + .quad 0x4009F262067BAA5A // c5 + .quad 0xC00F793DA8608BED // c6 + .quad 0x401328BFC5F60A29 // c7 + .quad 0xBFEAB41B09886FEA // B' = pi/2 - B (high double) + .quad 0x3C7A7EEED374BC71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFED00CBC7384D2E // c0 (high double) + .quad 0xBC78C4FC635B4060 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFC6DA3A87611EA6 // c1 (low double) + .quad 0xBFFA6A00F50D3A6F // c2 + .quad 0x4000D3D0A6ABBD46 // c3 + .quad 0xC003A760672280D0 // c4 + .quad 0x4007BF026C103550 // c5 + .quad 0xC00C5EBD23F4E2ED // c6 + .quad 0x4011024DB786758B // c7 + .quad 0xBFEB18A2F6D9809E // B' = pi/2 - B (high double) + .quad 0xBC760E425E23E66F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEC4BB009E77983 // c0 (high double) + .quad 0x3C5346B6895BC358 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFCBEB63A6D04570 // c1 (low double) + .quad 0xBFF935AFFA8DCC1D // c2 + .quad 0x3FFFCB7657D15F0B // c3 + .quad 0xC002423AFCE75F54 // c4 + .quad 0x4005C2CF61AD4B89 // c5 + .quad 0xC0099C675A298F5C // c6 + .quad 0x400E49F38B657F96 // c7 + .quad 0xBFEB7D2AE42A9153 // B' = pi/2 - B (high double) + .quad 0x3C8CB2463821BB58 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEB9A77C18C1AF2 // c0 (high double) + .quad 0xBC76EA194A3A10DE // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD060D88DF903DF // c1 (low double) + .quad 0xBFF812463C417D93 // c2 + .quad 0x3FFE10E093E6DE8D // c3 + .quad 0xC000FABB50DD022E // c4 + .quad 0x4003F7B45B053F77 // c5 + .quad 0xC007275FB67DBBDD // c6 + .quad 0x400B02CB76CD2071 // c7 + .quad 0xBFEBE1B2D17BA207 // B' = pi/2 - B (high double) + .quad 0x3C61AEB67D55A7A1 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEAECF5F9BA35A6 // c0 (high double) + .quad 0xBC45350833FF1F00 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD2B02B2D565D55 // c1 (low double) + .quad 0xBFF6FE947B408BAC // c2 + .quad 0x3FFC751B52A83938 // c3 + .quad 0xBFFF9C12181CFBBA // c4 + .quad 0x4002585B4421C074 // c5 + .quad 0xC004F6412119DA02 // c6 + .quad 0x400814BACED70A9A // c7 + .quad 0xBFEC463ABECCB2BB // B' = pi/2 - B (high double) + .quad 0xBC83DAEAF976E788 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFEA43002AE42850 // c0 (high double) + .quad 0x3C7A7C0406DA50C8 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD4E526E33345B8 // c1 (low double) + .quad 0xBFF5F9844B626284 // c2 + .quad 0x3FFAF5A574C2F3BF // c3 + .quad 0xBFFD7334FD198D13 // c4 + .quad 0x4000E01251879DC7 // c5 + .quad 0xC00300E6F5213CD0 // c6 + .quad 0x40058BA67D3A0565 // c7 + .quad 0xBFECAAC2AC1DC370 // B' = pi/2 - B (high double) + .quad 0x3C83DE7C6DBCC708 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE99C6E0F634394 // c0 (high double) + .quad 0xBC81A125C4B050B6 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD7012EAAC8A987 // c1 (low double) + .quad 0xBFF50215B95FD940 // c2 + .quad 0x3FF9903A2B193F49 // c3 + .quad 0xBFFB7656607D37C1 // c4 + .quad 0x3FFF156F461C0EDF // c5 + .quad 0xC001403E48F27428 // c6 + .quad 0x40034ACD8D387876 // c7 + .quad 0xBFED0F4A996ED424 // B' = pi/2 - B (high double) + .quad 0xBC61A070AC3E29A0 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE8F9197BF85EEB // c0 (high double) + .quad 0x3C77971D70636FAC // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFD9058D62BBB98D // c1 (low double) + .quad 0xBFF4175D31199B0C // c2 + .quad 0x3FF842CA948070CE // c3 + .quad 0xBFF9A1675E6F2233 // c4 + .quad 0x3FFCA94A75D1DF36 // c5 + .quad 0xBFFF5C3EE98CB792 // c6 + .quad 0x4001549BBD776205 // c7 + .quad 0xBFED73D286BFE4D8 // B' = pi/2 - B (high double) + .quad 0xBC8CAEB4C3DBDBD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE858DE3B716571 // c0 (high double) + .quad 0xBC8C6340D74E9430 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDAF377B50F3DE8 // c1 (low double) + .quad 0xBFF338819C6A585B // c2 + .quad 0x3FF70B781BB3F9F8 // c3 + .quad 0xBFF7F0C4DC952BEE // c4 + .quad 0x3FFA75444794B0BE // c5 + .quad 0xBFFC8A58AEEA1540 // c6 + .quad 0x3FFF1509C3EC4766 // c7 + .quad 0xBFEDD85A7410F58D // B' = pi/2 - B (high double) + .quad 0x3C76156546AFA570 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE7BB99ED2990CF // c0 (high double) + .quad 0x3C8AABB12893C19F // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDCCC0DD257FE9F // c1 (low double) + .quad 0xBFF264BAB3E8C3FC // c2 + .quad 0x3FF5E88F7CC1F7BC // c3 + .quad 0xBFF6612B1AE228E1 // c4 + .quad 0x3FF873A64164BF01 // c5 + .quad 0xBFFA016987C44E3B // c6 + .quad 0x3FFBFCA608E3ABD2 // c7 + .quad 0xBFEE3CE261620641 // B' = pi/2 - B (high double) + .quad 0xBC7A77CBEAE8FD71 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE7212BE621BE6D // c0 (high double) + .quad 0xBC8AD14CAC5A8A36 // c0 (low double) + .quad 0x4000000000000000 // c1 (high single bit) + .quad 0xBFDE905D04D13F70 // c1 (low double) + .quad 0xBFF19B4F7BD63206 // c2 + .quad 0x3FF4D8845C8EEC38 // c3 + .quad 0xBFF4EFAAD70924AA // c4 + .quad 0x3FF69F610EDFA787 // c5 + .quad 0xBFF7B93C8525967B // c6 + .quad 0x3FF928F491396159 // c7 + .quad 0xBFEEA16A4EB316F6 // B' = pi/2 - B (high double) + .quad 0x3C8A7D8171BF2FD8 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE6897514751DB6 // c0 (high double) + .quad 0xBC7432E085692DD0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDFBE9EE099229D // c1 (low double) + .quad 0xBFF0DB94E83152C9 // c2 + .quad 0x3FF3D9ED602549D9 // c3 + .quad 0xBFF3999FCB35B63C // c4 + .quad 0x3FF4F3F4BB18D34D // c5 + .quad 0xBFF5AA9FE2712A98 // c6 + .quad 0x3FF6B61F156D15A2 // c7 + .quad 0xBFEF05F23C0427AA // B' = pi/2 - B (high double) + .quad 0x3C51B746C796F33C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE5F457E4F4812E // c0 (high double) + .quad 0xBC8F6EE06A43AD15 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDE1FFA33ABCB2D // c1 (low double) + .quad 0xBFF024ECA3857FDF // c2 + .quad 0x3FF2EB80B3E2C969 // c3 + .quad 0xBFF25CA858ECE33E // c4 + .quad 0x3FF36D6159DB2BC3 // c5 + .quad 0xBFF3CF427530AFAE // c6 + .quad 0x3FF4914D16BF30E1 // c7 + .quad 0xBFEF6A7A2955385E // B' = pi/2 - B (high double) + .quad 0xBC860FAFBFD97309 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE561B82AB7F990 // c0 (high double) + .quad 0xBC87A5FA3E37C2A5 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDC92D84170BCC6 // c1 (low double) + .quad 0xBFEEED87E934644C // c2 + .quad 0x3FF20C10F4D7D072 // c3 + .quad 0xBFF1369E37DA5741 // c4 + .quad 0x3FF20816F61AB3EE // c5 + .quad 0xBFF221953D8712FA // c6 + .quad 0x3FF29CA76CD56201 // c7 + .quad 0xBFEFCF0216A64913 // B' = pi/2 - B (high double) + .quad 0x3C81A9B7A75A3B87 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE4D17B087B265D // c0 (high double) + .quad 0x3C788AAC4AE25B54 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FDB166A3723839C // c1 (low double) + .quad 0xBFEDA1257F3D5E87 // c2 + .quad 0x3FF13A8A70704F6B // c3 + .quad 0xBFF025900612C493 // c4 + .quad 0x3FF0C0E778680DE8 // c5 + .quad 0xBFF09CB2B02DFCD5 // c6 + .quad 0x3FF0D681147681E0 // c7 + .quad 0xBFF019C501FBACE4 // B' = pi/2 - B (high double) + .quad 0x3C9CB18F8746F50C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE44386DB9CE5DB // c0 (high double) + .quad 0x3C8A7F79AD345EDE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD9A9EE22E82AF2 // c1 (low double) + .quad 0xBFEC63B53FACFD1B // c2 + .quad 0x3FF075F0B010F1C9 // c3 + .quad 0xBFEE4F7738A37AC1 // c4 + .quad 0x3FEF29F7068A6E01 // c5 + .quad 0xBFEE78912F3E48A3 // c6 + .quad 0x3FEE7DE5AD1A6D54 // c7 + .quad 0xBFF04C08F8A4353E // B' = pi/2 - B (high double) + .quad 0x3C908E433AE0CC54 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE3B7C3289ED6F3 // c0 (high double) + .quad 0x3C8C4CF3D3282C13 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD84CAE0A06DE7C // c1 (low double) + .quad 0xBFEB344C2E4C0F47 // c2 + .quad 0x3FEF7AB88F5F820C // c3 + .quad 0xBFEC771219A99E98 // c4 + .quad 0x3FED0390B144EACA // c5 + .quad 0xBFEBF90A32A17514 // c6 + .quad 0x3FEBAC50A2919B8C // c7 + .quad 0xBFF07E4CEF4CBD98 // B' = pi/2 - B (high double) + .quad 0x3C71ABDBB9EA8E6E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE32E1889047FFD // c0 (high double) + .quad 0x3C810D08F013759C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD6FDFF12A4297B // c1 (low double) + .quad 0xBFEA120FA25B9D83 // c2 + .quad 0x3FEE1FF1BF27E6AB // c3 + .quad 0xBFEABF0C6E045EA0 // c4 + .quad 0x3FEB0A0E2CDCAB88 // c5 + .quad 0xBFE9B40D41660E9D // c6 + .quad 0x3FE92FCC1848D94B // c7 + .quad 0xBFF0B090E5F545F2 // B' = pi/2 - B (high double) + .quad 0xBC7EE15577AE1472 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE2A6709A74F289 // c0 (high double) + .quad 0xBC76E3B98C266662 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD5BD40BF249496 // c1 (low double) + .quad 0xBFE8FC33EFCF6F3A // c2 + .quad 0x3FECDA06E4CFC822 // c3 + .quad 0xBFE924C5BA1C7515 // c4 + .quad 0x3FE9395A86CEDBCB // c5 + .quad 0xBFE7A39B6931C7D4 // c6 + .quad 0x3FE6D875BED7A2F5 // c7 + .quad 0xBFF0E2D4DC9DCE4C // B' = pi/2 - B (high double) + .quad 0xBC93DBA1AA51ADD5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE220B5EF047825 // c0 (high double) + .quad 0xBC5AE1F6C712B338 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD489DC399ADDEC // c1 (low double) + .quad 0xBFE7F1FB2FEBE8C6 // c2 + .quad 0x3FEBA791734D6CCE // c3 + .quad 0xBFE7A5DA56BAB9DA // c4 + .quad 0x3FE78DC9A17C17D7 // c5 + .quad 0xBFE5C262725357AE // c6 + .quad 0x3FE4D1FE58052A5F // c7 + .quad 0xBFF11518D34656A6 // B' = pi/2 - B (high double) + .quad 0xBC9FFEEDF6B7D68D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE19CD3FE8E405D // c0 (high double) + .quad 0x3C84E5C1D4831B21 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD36343ADCAF866 // c1 (low double) + .quad 0xBFE6F2B4260FF6A8 // c2 + .quad 0x3FEA8747864942E1 // c3 + .quad 0xBFE6401D47362936 // c4 + .quad 0x3FE6040F50A52FBE // c5 + .quad 0xBFE40BA6192CC675 // c6 + .quad 0x3FE302E7DABA2D8E // c7 + .quad 0xBFF1475CC9EEDF01 // B' = pi/2 - B (high double) + .quad 0x3C93DDC5BCE200BB // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE11AB7190834EC // c0 (high double) + .quad 0x3C8E577A07DB8B3E // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD248F1B07217E3 // c1 (low double) + .quad 0xBFE5FDB93DD01D06 // c2 + .quad 0x3FE977F956462152 // c3 + .quad 0xBFE4F192BE91E40A // c4 + .quad 0x3FE49932EEB2A51C // c5 + .quad 0xBFE27B305435DE25 // c6 + .quad 0x3FE176C2BDD3411E // c7 + .quad 0xBFF179A0C097675B // B' = pi/2 - B (high double) + .quad 0x3C7EE9E5C1EF600D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE09A4C59BD0D4D // c0 (high double) + .quad 0x3C451D94A7B87B10 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD13A68B2A5E855 // c1 (low double) + .quad 0xBFE5126F9FD8D89F // c2 + .quad 0x3FE8788EEDC53F19 // c3 + .quad 0xBFE3B86B3E883B76 // c4 + .quad 0x3FE34A881E7F09CA // c5 + .quad 0xBFE10D3EF07D1073 // c6 + .quad 0x3FDFEBFE6A9FE5DD // c7 + .quad 0xBFF1ABE4B73FEFB5 // B' = pi/2 - B (high double) + .quad 0xBC71A34B6FA942D3 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFE01B819B5A7CF7 // c0 (high double) + .quad 0xBC80BED996FB9ED6 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FD03732803B2A4C // c1 (low double) + .quad 0xBFE430465B55C6C0 // c2 + .quad 0x3FE78806185ACF72 // c3 + .quad 0xBFE292FF3DF61A34 // c4 + .quad 0x3FE215A449967BC2 // c5 + .quad 0xBFDF7CEF2946D3BA // c6 + .quad 0x3FDD0F4FF3CD4465 // c7 + .quad 0xBFF1DE28ADE8780F // B' = pi/2 - B (high double) + .quad 0xBC908C1F2850796D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDF3C8AD985D9EE // c0 (high double) + .quad 0xBC455C31F533FF68 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCE7DBF907D8618 // c1 (low double) + .quad 0xBFE356B5A1D9CA5A // c2 + .quad 0x3FE6A57085697F99 // c3 + .quad 0xBFE17FCB46BE280B // c4 + .quad 0x3FE0F858275BAA48 // c5 + .quad 0xBFDD17B47CA8A84B // c6 + .quad 0x3FDA9B369A707A6B // c7 + .quad 0xBFF2106CA4910069 // B' = pi/2 - B (high double) + .quad 0xBC9CAF6B74B6A225 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDE450E0D273E7A // c0 (high double) + .quad 0xBC74138BBC4225C5 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCCA20F5D4879EA // c1 (low double) + .quad 0xBFE2853E13FBB7C7 // c2 + .quad 0x3FE5CFF21905E477 // c3 + .quad 0xBFE07D6C7D0DAC66 // c4 + .quad 0x3FDFE1550F550217 // c5 + .quad 0xBFDAE570CE7F6BE5 // c6 + .quad 0x3FD89328A3AB7677 // c7 + .quad 0xBFF242B09B3988C4 // B' = pi/2 - B (high double) + .quad 0x3C972D483EE33523 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDD506C82A2C800 // c0 (high double) + .quad 0xBC6E169413DFE956 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FCADA8ECCC42C48 // c1 (low double) + .quad 0xBFE1BB681D0BE8A7 // c2 + .quad 0x3FE506BF662527D3 // c3 + .quad 0xBFDF153B07CB2306 // c4 + .quad 0x3FDDF9A636394DCA // c5 + .quad 0xBFD8E153A4A7867F // c6 + .quad 0x3FD6937B37976C23 // c7 + .quad 0xBFF274F491E2111E // B' = pi/2 - B (high double) + .quad 0x3C8613F7E4FA18D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDC5E87185E67B6 // c0 (high double) + .quad 0xBC4FEBA1F148ADA8 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC92683A68EB5D0 // c1 (low double) + .quad 0xBFE0F8C35C7247C7 // c2 + .quad 0x3FE4491C4DCA262E // c3 + .quad 0xBFDD4C67683395D6 // c4 + .quad 0x3FDC3667C15EBF92 // c5 + .quad 0xBFD7070B7FE443D3 // c6 + .quad 0x3FD4805841790B6E // c7 + .quad 0xBFF2A738888A9978 // B' = pi/2 - B (high double) + .quad 0xBC5195059E91C4D2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDB6F3FC8C61E5B // c0 (high double) + .quad 0x3C6A1CC48268287A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC7853E65CE5524 // c1 (low double) + .quad 0xBFE03CE61B6A9E63 // c2 + .quad 0x3FE3965ABF5C8FAB // c3 + .quad 0xBFDB9E3938F261E9 // c4 + .quad 0x3FDA94A771ED6FE5 // c5 + .quad 0xBFD552B7D4636646 // c6 + .quad 0x3FD2F58F20A0FA49 // c7 + .quad 0xBFF2D97C7F3321D2 // B' = pi/2 - B (high double) + .quad 0xBC8A79394C9E8A0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFDA827999FCEF32 // c0 (high double) + .quad 0xBC708A11019E41CE // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC5F619980C4336 // c1 (low double) + .quad 0xBFDF0ED99BED9B65 // c2 + .quad 0x3FE2EDD996C1BBEB // c3 + .quad 0xBFDA08B785C6EA59 // c4 + .quad 0x3FD911BC7B12902F // c5 + .quad 0xBFD3C0DA5B1130C3 // c6 + .quad 0x3FD1B590151D6334 // c7 + .quad 0xBFF30BC075DBAA2C // B' = pi/2 - B (high double) + .quad 0xBC995FE8F2B56DBD // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD998188E816BF0 // c0 (high double) + .quad 0xBC73DB2BD13E0A0C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC478794806DE66 // c1 (low double) + .quad 0xBFDDAFF33BF96274 // c2 + .quad 0x3FE24F039543C659 // c3 + .quad 0xBFD88A113E071D2D // c4 + .quad 0x3FD7AB3E661E65F9 // c5 + .quad 0xBFD24E4E1B8DC6CD // c6 + .quad 0x3FD01ED5FCAC7FDD // c7 + .quad 0xBFF33E046C843287 // B' = pi/2 - B (high double) + .quad 0x3C9A7CCAC0E4698B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD8B00196B3D022 // c0 (high double) + .quad 0x3C67341EE30455A6 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC30BCA73878656 // c1 (low double) + .quad 0xBFDC5C67FF403B73 // c2 + .quad 0x3FE1B94E72981059 // c3 + .quad 0xBFD7209990BAE1F6 // c4 + .quad 0x3FD65EF72AC3A4F8 // c5 + .quad 0xBFD0F83D8377C34B // c6 + .quad 0x3FCD97555AF6144C // c7 + .quad 0xBFF37048632CBAE1 // B' = pi/2 - B (high double) + .quad 0x3C8CB2FCE8FC81A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD7CA1A832D0F84 // c0 (high double) + .quad 0x3C7EE5A712091434 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC1AF828B5ED674 // c1 (low double) + .quad 0xBFDB13909C0269A2 // c2 + .quad 0x3FE12C3A0394B7FA // c3 + .quad 0xBFD5CAC4A421216C // c4 + .quad 0x3FD52AE625505252 // c5 + .quad 0xBFCF7831018A616A // c6 + .quad 0x3FCB98AB42F62940 // c7 + .quad 0xBFF3A28C59D5433B // B' = pi/2 - B (high double) + .quad 0x3C61B19140C0C0D5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD6E649F7D78649 // c0 (high double) + .quad 0xBC678D2AC0322984 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FC0631EFCBE0D16 // c1 (low double) + .quad 0xBFD9D4CEDF38DFCD // c2 + .quad 0x3FE0A74F7488C3A6 // c3 + .quad 0xBFD487249EA3BD6C // c4 + .quad 0x3FD40D3A9BDEFA27 // c5 + .quad 0xBFCD2F1CBD1B58CD // c6 + .quad 0x3FC98CBDCEBDAD19 // c7 + .quad 0xBFF3D4D0507DCB95 // B' = pi/2 - B (high double) + .quad 0xBC83DA34489C213B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD604775FBB27DF // c0 (high double) + .quad 0xBC6AC647C9CF0A4C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBE4C49866D2D78 // c1 (low double) + .quad 0xBFD89F8D033946D5 // c2 + .quad 0x3FE02A20954EE23A // c3 + .quad 0xBFD35466F88C5ABC // c4 + .quad 0x3FD3044BAC5DC8C6 // c5 + .quad 0xBFCB110C3D6FEB70 // c6 + .quad 0x3FC7761A8DC12688 // c7 + .quad 0xBFF40714472653EF // B' = pi/2 - B (high double) + .quad 0xBC96106670B43955 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD5248AE1701B17 // c0 (high double) + .quad 0xBC7BE8CC944DAFEA // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FBBF04005723CCC // c1 (low double) + .quad 0xBFD7733D1300258A // c2 + .quad 0x3FDF688E6ACC7DF5 // c3 + .quad 0xBFD231520EA793C8 // c4 + .quad 0x3FD20E93C5183A34 // c5 + .quad 0xBFC91A331D55B3F7 // c6 + .quad 0x3FC651721E1371DD // c7 + .quad 0xBFF439583DCEDC4A // B' = pi/2 - B (high double) + .quad 0x3C9DCC4D42E59DF2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD4466D542BAC92 // c0 (high double) + .quad 0x3C705073A04E444A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB9B14751F8BA20 // c1 (low double) + .quad 0xBFD64F58590170A2 // c2 + .quad 0x3FDE8AC91D15CFCF // c3 + .quad 0xBFD11CC2EF09C664 // c4 + .quad 0x3FD12AB5AB65B965 // c5 + .quad 0xBFC7471C9AC81567 // c6 + .quad 0x3FC4826BA97C3E69 // c7 + .quad 0xBFF46B9C347764A4 // B' = pi/2 - B (high double) + .quad 0x3C91A900F67F753A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD36A08355C63DC // c0 (high double) + .quad 0x3C6D7145B6A10D86 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB78E922B82AB64 // c1 (low double) + .quad 0xBFD5335ED87AB0D5 // c2 + .quad 0x3FDDBA417913D89C // c3 + .quad 0xBFD015AB59BD876B // c4 + .quad 0x3FD0576D1EF5DB85 // c5 + .quad 0xBFC594A6DD2CA17D // c6 + .quad 0x3FC2F51FBC1DE653 // c7 + .quad 0xBFF49DE02B1FECFE // B' = pi/2 - B (high double) + .quad 0x3C7616D2A8653209 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD28F459ECAD74D // c0 (high double) + .quad 0xBC302C86D50E46C0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB5875F92EDBDF4 // c1 (low double) + .quad 0xBFD41ED6D05A0010 // c2 + .quad 0x3FDCF65481FC5BEB // c3 + .quad 0xBFCE361FE028368D // c4 + .quad 0x3FCF2728B941710B // c5 + .quad 0xBFC3FFF674960878 // c6 + .quad 0x3FC1A12109F12125 // c7 + .quad 0xBFF4D02421C87558 // B' = pi/2 - B (high double) + .quad 0xBC7A765E893370D7 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD1B6103D3597E9 // c0 (high double) + .quad 0xBC6CBCB5FED7AC2C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB39AFA3392E164 // c1 (low double) + .quad 0xBFD3114C46E2AEF3 // c2 + .quad 0x3FDC3E6B23EF73B5 // c3 + .quad 0xBFCC580D1B42EE7F // c4 + .quad 0x3FCDBC3D6E14D202 // c5 + .quad 0xBFC28671B66B7EC4 // c6 + .quad 0x3FC0BFBCFE62E275 // c7 + .quad 0xBFF502681870FDB2 // B' = pi/2 - B (high double) + .quad 0xBC92C0E3EEB304EE // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD0DE53475F3B3C // c0 (high double) + .quad 0xBC67B2CC0A839654 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB1C8B7D76C7EE0 // c1 (low double) + .quad 0xBFD20A509D4BB6C1 // c2 + .quad 0x3FDB91F96510DF38 // c3 + .quad 0xBFCA8F698D62832E // c4 + .quad 0x3FCC6C3408291325 // c5 + .quad 0xBFC125B6D8F69817 // c6 + .quad 0x3FBE80E8F3B35090 // c7 + .quad 0xBFF534AC0F19860C // B' = pi/2 - B (high double) + .quad 0xBC9EE4303B192DA6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFD007FA758626AE // c0 (high double) + .quad 0xBC65A5EB9CA4F97A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FB00FF8E583BEBC // c1 (low double) + .quad 0xBFD1097A2AA570F5 // c2 + .quad 0x3FDAF07DA8CAEBA7 // c3 + .quad 0xBFC8DA9D107525AD // c4 + .quad 0x3FCB3545F2ADC1DB // c5 + .quad 0xBFBFB739DB46589A // c6 + .quad 0x3FBDA2C2374E7733 // c7 + .quad 0xBFF566F005C20E67 // B' = pi/2 - B (high double) + .quad 0x3C94F8837880A9A2 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFCE65E3F27C9F2A // c0 (high double) + .quad 0xBC6F62A8B8B3F2A2 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FACE04FD3EC1C90 // c1 (low double) + .quad 0xBFD00E63DD639A45 // c2 + .quad 0x3FDA598003751442 // c3 + .quad 0xBFC73829AC409F93 // c4 + .quad 0x3FCA15E3A26F9D69 // c5 + .quad 0xBFBD4C4574E0CB3E // c6 + .quad 0x3FBB9C588182E205 // c7 + .quad 0xBFF59933FC6A96C1 // B' = pi/2 - B (high double) + .quad 0x3C81AA6E583501D4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFCCBE4CEB4B4CF2 // c0 (high double) + .quad 0xBC64A514F790D588 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA9D1724DE6C940 // c1 (low double) + .quad 0xBFCE3159C5ED3A4E // c2 + .quad 0x3FD9CC919D4271B2 // c3 + .quad 0xBFC5A6A9489AA7F4 // c4 + .quad 0x3FC90C961E2B49F9 // c5 + .quad 0xBFBB06EE7CFA369E // c6 + .quad 0x3FB9E9447AAF378D // c7 + .quad 0xBFF5CB77F3131F1B // B' = pi/2 - B (high double) + .quad 0xBC6A70A9025D3E70 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFCB1909EFD8B762 // c0 (high double) + .quad 0xBC5843049E1318BC // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA6F2545C478E00 // c1 (low double) + .quad 0xBFCC4FF0A9D74F70 // c2 + .quad 0x3FD9494C22EF2A54 // c3 + .quad 0xBFC424CB909A6722 // c4 + .quad 0x3FC8180A481D593B // c5 + .quad 0xBFB8E3D90C36FA86 // c6 + .quad 0x3FB8D27EAFEAC4D3 // c7 + .quad 0xBFF5FDBBE9BBA775 // B' = pi/2 - B (high double) + .quad 0xBC8EE2C2D963A10C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC975F5E0553158 // c0 (high double) + .quad 0xBC2EEEA31AB9D050 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA4420303DEC550 // c1 (low double) + .quad 0xBFCA77D9D62CA610 // c2 + .quad 0x3FD8CF5143323608 // c3 + .quad 0xBFC2B15401455507 // c4 + .quad 0x3FC7370FF096556F // c5 + .quad 0xBFB6DFEACA56EADA // c6 + .quad 0x3FB6B75DF89EC13C // c7 + .quad 0xBFF62FFFE0642FCF // B' = pi/2 - B (high double) + .quad 0xBC9B94ADB917F93E // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC7D4EC54FB5968 // c0 (high double) + .quad 0xBC4FB65648F8A4A0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3FA1BF9C7C60B940 // c1 (low double) + .quad 0xBFC8A86964A1796B // c2 + .quad 0x3FD85E4A37F23352 // c3 + .quad 0xBFC14B181F5BF6AE // c4 + .quad 0x3FC66888E3A5D3BA // c5 + .quad 0xBFB4F84D7AC0F5DB // c6 + .quad 0x3FB62BA6F07C5587 // c7 + .quad 0xBFF66243D70CB82A // B' = pi/2 - B (high double) + .quad 0x3C984805FA81DE0A // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC635C990CE0D36 // c0 (high double) + .quad 0x3C59DFC0C48C2B20 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9ED49F1F8144C0 // c1 (low double) + .quad 0xBFC6E0F98ED00C32 // c2 + .quad 0x3FD7F5E75A2DD66E // c3 + .quad 0xBFBFE1FBA10F6B0E // c4 + .quad 0x3FC5AB7CD1905EBB // c5 + .quad 0xBFB32A57A4FAE3FF // c6 + .quad 0x3FB4BA60BA62CA68 // c7 + .quad 0xBFF69487CDB54084 // B' = pi/2 - B (high double) + .quad 0x3C8849735C376AA4 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC4986A74CF4E57 // c0 (high double) + .quad 0xBC69AB0A243914D0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F9A82B60D75F5C0 // c1 (low double) + .quad 0xBFC520EA2BA6A0AE // c2 + .quad 0x3FD795DFBFFEE39E // c3 + .quad 0xBFBD43F3A7862CC7 // c4 + .quad 0x3FC4FF04247D7006 // c5 + .quad 0xBFB1739726786F64 // c6 + .quad 0x3FB2FAC67536C2B7 // c7 + .quad 0xBFF6C6CBC45DC8DE // B' = pi/2 - B (high double) + .quad 0x3BD6D61B58C99C43 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC2FCAC73A60640 // c0 (high double) + .quad 0xBC52CF95F70D438C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F96881A43B33590 // c1 (low double) + .quad 0xBFC367A033B52F5E // c2 + .quad 0x3FD73DF0E3CC557A // c3 + .quad 0xBFBABA1CAC4F18CD // c4 + .quad 0x3FC4624C36BE941D // c5 + .quad 0xBFAFA38B2F88747D // c6 + .quad 0x3FB215B1F402C9E1 // c7 + .quad 0xBFF6F90FBB065138 // B' = pi/2 - B (high double) + .quad 0xBC8843BDD561383D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFC1626D85A91E70 // c0 (high double) + .quad 0x3C50084844291A00 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F92E3863C9A69E0 // c1 (low double) + .quad 0xBFC1B4854BB2B147 // c2 + .quad 0x3FD6EDDE5416DFFB // c3 + .quad 0xBFB8429341CCA17A // c4 + .quad 0x3FC3D49AC2C9F46E // c5 + .quad 0xBFAC85843914CF63 // c6 + .quad 0x3FB1B1DC3FA41043 // c7 + .quad 0xBFF72B53B1AED992 // B' = pi/2 - B (high double) + .quad 0xBC98452B3716C4D6 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFBF93183A8DB9E9 // c0 (high double) + .quad 0x3C4124AC452DA622 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F8F27A3181EE680 // c1 (low double) + .quad 0xBFC00707549D7ECC // c2 + .quad 0x3FD6A5716B500730 // c3 + .quad 0xBFB5DB89BB6B245F // c4 + .quad 0x3FC3554867F59647 // c5 + .quad 0xBFA98919BF6D1AC0 // c6 + .quad 0x3FB1AF9A18244AC2 // c7 + .quad 0xBFF75D97A85761ED // B' = pi/2 - B (high double) + .quad 0x3C9B97887C831272 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFBC63CE377FC802 // c0 (high double) + .quad 0x3C543F7D42D9FFC4 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F892FE02A47EFA0 // c1 (low double) + .quad 0xBFBCBD3001C956C5 // c2 + .quad 0x3FD664790F293C47 // c3 + .quad 0xBFB38345DE7C4B0B // c4 + .quad 0x3FC2E3C4C02FFDF9 // c5 + .quad 0xBFA6AA7F0C135018 // c6 + .quad 0x3FAFE3C754ACF687 // c7 + .quad 0xBFF78FDB9EFFEA47 // B' = pi/2 - B (high double) + .quad 0x3C8EE8786039D373 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFB936BB8C5B2DA2 // c0 (high double) + .quad 0xBC587D23392D360C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F83DDE2A8935DE0 // c1 (low double) + .quad 0xBFB97558DC230BA8 // c2 + .quad 0x3FD62AC976FBC1B8 // c3 + .quad 0xBFB1381EB60159F6 // c4 + .quad 0x3FC27F84438D5027 // c5 + .quad 0xBFA3E63B3A462D11 // c6 + .quad 0x3FAF0AE614B60705 // c7 + .quad 0xBFF7C21F95A872A1 // B' = pi/2 - B (high double) + .quad 0x3C6A877F1DB6080C // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFB60B9F7597FDEC // c0 (high double) + .quad 0xBC3D1E3FBF349CC0 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F7E5FFEF4D8DFC0 // c1 (low double) + .quad 0xBFB6357984E124B6 // c2 + .quad 0x3FD5F83BF8B56900 // c3 + .quad 0xBFADF0F50CAA06C2 // c4 + .quad 0x3FC228147690425D // c5 + .quad 0xBFA138F0F640FF12 // c6 + .quad 0x3FAF8D1BCDD067BD // c7 + .quad 0xBFF7F4638C50FAFB // B' = pi/2 - B (high double) + .quad 0xBC81A4B8D15ECF6D // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFB2E239CCFF3831 // c0 (high double) + .quad 0xBC5879ED3FF4D06C // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F764980AEEE3740 // c1 (low double) + .quad 0xBFB2FC879C81123C // c2 + .quad 0x3FD5CCAEDC1DC96E // c3 + .quad 0xBFA98599B71D86B1 // c4 + .quad 0x3FC1DD150D55E5CE // c5 + .quad 0xBF9D3EB9450DBD20 // c6 + .quad 0x3FADD6CFBE9A9DDE // c7 + .quad 0xBFF826A782F98355 // B' = pi/2 - B (high double) + .quad 0xBC94F5A8B515906F // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFAF7495EA3F3783 // c0 (high double) + .quad 0x3C407F10D50F8AC9 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F6EEB8B377B1A00 // c1 (low double) + .quad 0xBFAF92FABFD0B7B3 // c2 + .quad 0x3FD5A805341437FF // c3 + .quad 0xBFA52B295E2DCF92 // c4 + .quad 0x3FC19E2C59B8C033 // c5 + .quad 0xBF982CF88466F013 // c6 + .quad 0x3FAD27509D6C3D7C // c7 + .quad 0xBFF858EB79A20BB0 // B' = pi/2 - B (high double) + .quad 0x3C9EE70AFE8446D9 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFA927278A3B1162 // c0 (high double) + .quad 0xBBFB01BD7F1D4620 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F63C55DB08E1680 // c1 (low double) + .quad 0xBFA936B1EC652161 // c2 + .quad 0x3FD58A26BD6CCCCD // c3 + .quad 0xBFA0DEB5445B4095 // c4 + .quad 0x3FC16B146127E0E0 // c5 + .quad 0xBF9336A9836851D5 // c6 + .quad 0x3FAC19302F7F3ACC // c7 + .quad 0xBFF88B2F704A940A // B' = pi/2 - B (high double) + .quad 0x3C92C3BEB21E1E21 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBFA2DBAAE9A05DB0 // c0 (high double) + .quad 0x3C4371F88E195029 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F563A086B860B00 // c1 (low double) + .quad 0xBFA2E23785EEB488 // c2 + .quad 0x3FD572FFC353B741 // c3 + .quad 0xBF993ABD2276BF58 // c4 + .quad 0x3FC143926088643D // c5 + .quad 0xBF8CAC359DDE7BCE // c6 + .quad 0x3FAB56F9A2A6CD28 // c7 + .quad 0xBFF8BD7366F31C64 // B' = pi/2 - B (high double) + .quad 0x3C7A81C996DFD5A5 // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBF992346247A91F0 // c0 (high double) + .quad 0x3BF126D920C63160 // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F43BF447B091000 // c1 (low double) + .quad 0xBF992726F0F98D7F // c2 + .quad 0x3FD5628108EFA55C // c3 + .quad 0xBF90C8A60639C114 // c4 + .quad 0x3FC127789EC0BD38 // c5 + .quad 0xBF830BA6F46C58D9 // c6 + .quad 0x3FABBEE2C1E62B03 // c7 + .quad 0xBFF8EFB75D9BA4BE // B' = pi/2 - B (high double) + .quad 0xBC760B679AB8CD3B // B' = pi/2 - B (low double) + .quad 0x0000000000000000 // tau (1 for cot path) + .quad 0xBF89224E047E368E // c0 (high double) + .quad 0x3C1A268EB3BB9B7A // c0 (low double) + .quad 0x3FF0000000000000 // c1 (high single bit) + .quad 0x3F23BDBEAD8CF800 // c1 (low double) + .quad 0xBF8923461AE96D62 // c2 + .quad 0x3FD5589FB822D5EE // c3 + .quad 0xBF80C326DCDCFCD2 // c4 + .quad 0x3FC116A999125B8A // c5 + .quad 0xBF7300CC26580304 // c6 + .quad 0x3FAB7B6F1DCF22D1 // c7 + .align 32 + .quad 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000 /* dReductionRangeVal */ + .align 32 + .quad 0x3FE45F306DC9C883, 0x3FE45F306DC9C883, 0x3FE45F306DC9C883, 0x3FE45F306DC9C883 /* _dInvPi */ + .align 32 + .quad 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000 /* _dPI1 */ + .align 32 + .quad 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000 /* _dPI2 */ + .align 32 + .quad 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345 /* _dPI3 */ + // PI1, PI2, and PI3 when FMA is available + .align 32 + .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18 /* _dPI1_FMA */ + .align 32 + .quad 0x3c91a62633145c06, 0x3c91a62633145c06, 0x3c91a62633145c06, 0x3c91a62633145c06 /* _dPI2_FMA */ + .align 32 + .quad 0x394c1cd129024e09, 0x394c1cd129024e09, 0x394c1cd129024e09, 0x394c1cd129024e09 /* _dPI3_FMA */ + .align 32 + .quad 0xbfc06b97be36d389, 0xbfc06b97be36d389, 0xbfc06b97be36d389, 0xbfc06b97be36d389 /* _dP1 */ + .align 32 + .quad 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301, 0x3f66fc6fdce5d301 /* _dP2 */ + .align 32 + .quad 0xbedf637dce2a3800, 0xbedf637dce2a3800, 0xbedf637dce2a3800, 0xbedf637dce2a3800 /* _dP3 */ + .align 32 + .quad 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000, 0x3FF0000000000000 /* _dQ0 */ + .align 32 + .quad 0xbfdd8b213470beee, 0xbfdd8b213470beee, 0xbfdd8b213470beee, 0xbfdd8b213470beee /* _dQ1 */ + .align 32 + .quad 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56, 0x3f97e7b68ac28a56 /* _dQ2 */ + .align 32 + .quad 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6, 0xbf2b525b03bc92a6 /* _dQ3 */ + .align 32 + .type __svml_dtan_data_internal, @object + .size __svml_dtan_data_internal, .-__svml_dtan_data_internal + .align 32 #ifdef __svml_dtan_reduction_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dPtable[2048][3][2]; +typedef struct { + __declspec(align(32)) VUINT32 _dPtable[2048][3][2]; } __svml_dtan_reduction_data_internal; #endif __svml_dtan_reduction_data_internal: - /* P_hi P_med P_lo */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 0 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 1 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 2 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 3 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 4 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 5 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 6 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 7 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 8 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 9 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 10 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 11 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 12 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 13 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 14 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 15 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 16 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 17 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 18 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 19 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 20 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 21 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 22 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 23 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 24 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 25 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 26 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 27 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 28 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 29 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 30 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 31 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 32 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 33 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 34 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 35 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 36 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 37 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 38 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 39 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 40 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 41 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 42 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 43 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 44 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 45 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 46 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 47 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 48 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 49 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 50 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 51 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 52 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 53 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 54 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 55 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 56 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 57 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 58 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 59 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 60 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 61 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 62 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 63 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 64 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 65 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 66 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 67 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 68 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 69 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 70 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 71 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 72 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 73 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 74 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 75 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 76 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 77 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 78 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 79 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 80 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 81 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 82 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 83 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 84 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 85 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 86 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 87 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 88 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 89 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 90 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 91 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 92 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 93 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 94 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 95 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 96 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 97 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 98 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 99 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 100 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 101 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 102 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 103 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 104 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 105 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 106 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 107 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 108 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 109 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 110 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 111 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 112 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 113 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 114 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 115 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 116 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 117 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 118 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 119 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 120 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 121 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 122 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 123 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 124 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 125 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 126 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 127 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 128 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 129 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 130 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 131 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 132 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 133 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 134 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 135 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 136 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 137 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 138 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 139 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 140 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 141 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 142 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 143 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 144 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 145 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 146 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 147 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 148 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 149 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 150 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 151 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 152 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 153 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 154 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 155 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 156 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 157 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 158 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 159 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 160 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 161 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 162 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 163 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 164 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 165 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 166 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 167 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 168 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 169 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 170 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 171 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 172 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 173 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 174 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 175 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 176 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 177 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 178 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 179 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 180 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 181 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 182 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 183 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 184 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 185 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 186 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 187 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 188 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 189 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 190 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 191 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 192 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 193 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 194 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 195 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 196 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 197 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 198 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 199 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 200 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 201 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 202 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 203 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 204 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 205 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 206 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 207 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 208 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 209 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 210 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 211 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 212 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 213 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 214 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 215 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 216 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 217 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 218 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 219 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 220 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 221 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 222 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 223 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 224 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 225 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 226 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 227 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 228 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 229 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 230 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 231 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 232 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 233 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 234 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 235 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 236 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 237 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 238 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 239 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 240 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 241 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 242 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 243 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 244 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 245 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 246 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 247 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 248 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 249 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 250 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 251 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 252 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 253 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 254 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 255 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 256 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 257 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 258 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 259 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 260 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 261 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 262 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 263 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 264 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 265 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 266 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 267 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 268 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 269 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 270 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 271 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 272 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 273 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 274 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 275 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 276 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 277 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 278 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 279 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 280 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 281 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 282 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 283 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 284 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 285 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 286 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 287 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 288 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 289 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 290 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 291 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 292 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 293 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 294 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 295 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 296 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 297 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 298 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 299 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 300 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 301 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 302 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 303 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 304 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 305 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 306 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 307 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 308 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 309 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 310 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 311 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 312 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 313 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 314 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 315 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 316 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 317 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 318 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 319 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 320 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 321 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 322 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 323 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 324 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 325 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 326 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 327 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 328 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 329 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 330 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 331 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 332 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 333 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 334 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 335 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 336 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 337 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 338 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 339 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 340 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 341 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 342 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 343 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 344 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 345 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 346 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 347 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 348 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 349 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 350 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 351 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 352 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 353 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 354 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 355 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 356 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 357 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 358 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 359 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 360 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 361 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 362 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 363 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 364 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 365 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 366 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 367 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 368 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 369 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 370 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 371 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 372 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 373 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 374 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 375 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 376 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 377 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 378 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 379 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 380 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 381 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 382 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 383 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 384 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 385 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 386 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 387 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 388 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 389 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 390 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 391 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 392 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 393 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 394 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 395 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 396 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 397 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 398 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 399 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 400 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 401 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 402 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 403 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 404 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 405 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 406 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 407 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 408 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 409 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 410 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 411 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 412 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 413 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 414 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 415 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 416 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 417 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 418 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 419 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 420 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 421 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 422 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 423 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 424 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 425 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 426 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 427 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 428 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 429 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 430 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 431 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 432 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 433 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 434 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 435 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 436 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 437 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 438 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 439 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 440 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 441 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 442 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 443 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 444 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 445 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 446 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 447 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 448 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 449 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 450 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 451 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 452 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 453 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 454 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 455 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 456 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 457 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 458 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 459 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 460 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 461 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 462 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 463 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 464 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 465 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 466 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 467 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 468 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 469 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 470 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 471 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 472 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 473 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 474 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 475 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 476 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 477 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 478 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 479 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 480 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 481 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 482 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 483 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 484 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 485 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 486 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 487 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 488 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 489 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 490 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 491 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 492 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 493 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 494 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 495 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 496 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 497 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 498 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 499 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 500 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 501 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 502 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 503 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 504 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 505 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 506 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 507 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 508 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 509 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 510 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 511 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 512 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 513 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 514 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 515 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 516 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 517 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 518 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 519 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 520 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 521 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 522 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 523 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 524 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 525 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 526 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 527 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 528 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 529 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 530 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 531 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 532 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 533 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 534 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 535 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 536 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 537 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 538 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 539 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 540 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 541 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 542 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 543 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 544 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 545 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 546 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 547 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 548 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 549 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 550 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 551 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 552 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 553 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 554 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 555 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 556 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 557 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 558 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 559 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 560 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 561 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 562 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 563 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 564 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 565 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 566 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 567 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 568 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 569 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 570 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 571 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 572 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 573 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 574 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 575 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 576 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 577 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 578 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 579 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 580 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 581 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 582 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 583 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 584 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 585 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 586 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 587 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 588 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 589 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 590 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 591 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 592 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 593 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 594 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 595 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 596 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 597 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 598 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 599 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 600 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 601 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 602 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 603 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 604 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 605 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 606 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 607 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 608 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 609 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 610 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 611 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 612 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 613 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 614 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 615 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 616 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 617 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 618 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 619 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 620 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 621 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 622 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 623 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 624 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 625 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 626 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 627 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 628 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 629 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 630 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 631 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 632 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 633 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 634 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 635 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 636 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 637 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 638 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 639 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 640 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 641 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 642 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 643 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 644 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 645 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 646 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 647 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 648 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 649 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 650 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 651 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 652 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 653 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 654 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 655 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 656 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 657 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 658 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 659 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 660 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 661 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 662 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 663 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 664 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 665 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 666 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 667 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 668 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 669 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 670 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 671 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 672 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 673 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 674 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 675 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 676 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 677 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 678 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 679 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 680 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 681 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 682 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 683 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 684 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 685 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 686 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 687 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 688 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 689 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 690 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 691 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 692 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 693 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 694 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 695 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 696 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 697 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 698 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 699 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 700 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 701 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 702 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 703 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 704 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 705 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 706 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 707 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 708 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 709 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 710 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 711 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 712 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 713 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 714 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 715 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 716 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 717 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 718 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 719 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 720 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 721 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 722 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 723 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 724 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 725 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 726 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 727 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 728 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 729 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 730 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 731 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 732 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 733 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 734 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 735 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 736 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 737 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 738 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 739 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 740 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 741 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 742 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 743 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 744 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 745 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 746 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 747 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 748 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 749 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 750 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 751 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 752 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 753 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 754 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 755 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 756 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 757 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 758 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 759 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 760 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 761 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 762 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 763 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 764 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 765 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 766 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 767 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 768 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 769 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 770 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 771 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 772 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 773 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 774 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 775 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 776 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 777 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 778 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 779 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 780 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 781 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 782 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 783 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 784 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 785 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 786 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 787 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 788 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 789 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 790 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 791 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 792 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 793 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 794 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 795 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 796 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 797 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 798 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 799 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 800 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 801 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 802 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 803 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 804 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 805 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 806 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 807 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 808 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 809 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 810 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 811 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 812 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 813 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 814 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 815 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 816 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 817 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 818 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 819 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 820 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 821 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 822 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 823 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 824 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 825 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 826 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 827 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 828 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 829 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 830 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 831 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 832 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 833 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 834 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 835 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 836 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 837 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 838 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 839 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 840 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 841 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 842 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 843 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 844 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 845 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 846 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 847 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 848 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 849 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 850 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 851 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 852 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 853 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 854 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 855 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 856 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 857 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 858 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 859 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 860 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 861 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 862 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 863 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 864 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 865 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 866 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 867 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 868 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 869 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 870 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 871 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 872 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 873 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 874 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 875 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 876 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 877 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 878 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 879 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 880 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 881 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 882 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 883 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 884 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 885 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000001 /* 886 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000002 /* 887 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000005 /* 888 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000000A /* 889 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000014 /* 890 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000028 /* 891 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000051 /* 892 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000000A2 /* 893 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000145 /* 894 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000028B /* 895 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000517 /* 896 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000A2F /* 897 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000145F /* 898 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000028BE /* 899 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000517C /* 900 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000A2F9 /* 901 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000145F3 /* 902 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000028BE6 /* 903 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000517CC /* 904 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000A2F98 /* 905 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000145F30 /* 906 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000028BE60 /* 907 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000517CC1 /* 908 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000A2F983 /* 909 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000145F306 /* 910 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000028BE60D /* 911 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000517CC1B /* 912 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000A2F9836 /* 913 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000145F306D /* 914 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000028BE60DB /* 915 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000517CC1B7 /* 916 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000A2F9836E /* 917 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000145F306DC /* 918 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000028BE60DB9 /* 919 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000517CC1B72 /* 920 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000A2F9836E4 /* 921 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000145F306DC9 /* 922 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000028BE60DB93 /* 923 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000517CC1B727 /* 924 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000A2F9836E4E /* 925 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000145F306DC9C /* 926 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000028BE60DB939 /* 927 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000517CC1B7272 /* 928 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000A2F9836E4E4 /* 929 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000145F306DC9C8 /* 930 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000028BE60DB9391 /* 931 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000517CC1B72722 /* 932 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000A2F9836E4E44 /* 933 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000145F306DC9C88 /* 934 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00028BE60DB93910 /* 935 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000517CC1B727220 /* 936 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000A2F9836E4E441 /* 937 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00145F306DC9C882 /* 938 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0028BE60DB939105 /* 939 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00517CC1B727220A /* 940 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00A2F9836E4E4415 /* 941 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0145F306DC9C882A /* 942 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x028BE60DB9391054 /* 943 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0517CC1B727220A9 /* 944 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0A2F9836E4E44152 /* 945 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x145F306DC9C882A5 /* 946 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x28BE60DB9391054A /* 947 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x517CC1B727220A94 /* 948 */ - .quad 0x0000000000000000, 0x0000000000000000, 0xA2F9836E4E441529 /* 949 */ - .quad 0x0000000000000000, 0x0000000000000001, 0x45F306DC9C882A53 /* 950 */ - .quad 0x0000000000000000, 0x0000000000000002, 0x8BE60DB9391054A7 /* 951 */ - .quad 0x0000000000000000, 0x0000000000000005, 0x17CC1B727220A94F /* 952 */ - .quad 0x0000000000000000, 0x000000000000000A, 0x2F9836E4E441529F /* 953 */ - .quad 0x0000000000000000, 0x0000000000000014, 0x5F306DC9C882A53F /* 954 */ - .quad 0x0000000000000000, 0x0000000000000028, 0xBE60DB9391054A7F /* 955 */ - .quad 0x0000000000000000, 0x0000000000000051, 0x7CC1B727220A94FE /* 956 */ - .quad 0x0000000000000000, 0x00000000000000A2, 0xF9836E4E441529FC /* 957 */ - .quad 0x0000000000000000, 0x0000000000000145, 0xF306DC9C882A53F8 /* 958 */ - .quad 0x0000000000000000, 0x000000000000028B, 0xE60DB9391054A7F0 /* 959 */ - .quad 0x0000000000000000, 0x0000000000000517, 0xCC1B727220A94FE1 /* 960 */ - .quad 0x0000000000000000, 0x0000000000000A2F, 0x9836E4E441529FC2 /* 961 */ - .quad 0x0000000000000000, 0x000000000000145F, 0x306DC9C882A53F84 /* 962 */ - .quad 0x0000000000000000, 0x00000000000028BE, 0x60DB9391054A7F09 /* 963 */ - .quad 0x0000000000000000, 0x000000000000517C, 0xC1B727220A94FE13 /* 964 */ - .quad 0x0000000000000000, 0x000000000000A2F9, 0x836E4E441529FC27 /* 965 */ - .quad 0x0000000000000000, 0x00000000000145F3, 0x06DC9C882A53F84E /* 966 */ - .quad 0x0000000000000000, 0x0000000000028BE6, 0x0DB9391054A7F09D /* 967 */ - .quad 0x0000000000000000, 0x00000000000517CC, 0x1B727220A94FE13A /* 968 */ - .quad 0x0000000000000000, 0x00000000000A2F98, 0x36E4E441529FC275 /* 969 */ - .quad 0x0000000000000000, 0x0000000000145F30, 0x6DC9C882A53F84EA /* 970 */ - .quad 0x0000000000000000, 0x000000000028BE60, 0xDB9391054A7F09D5 /* 971 */ - .quad 0x0000000000000000, 0x0000000000517CC1, 0xB727220A94FE13AB /* 972 */ - .quad 0x0000000000000000, 0x0000000000A2F983, 0x6E4E441529FC2757 /* 973 */ - .quad 0x0000000000000000, 0x000000000145F306, 0xDC9C882A53F84EAF /* 974 */ - .quad 0x0000000000000000, 0x00000000028BE60D, 0xB9391054A7F09D5F /* 975 */ - .quad 0x0000000000000000, 0x000000000517CC1B, 0x727220A94FE13ABE /* 976 */ - .quad 0x0000000000000000, 0x000000000A2F9836, 0xE4E441529FC2757D /* 977 */ - .quad 0x0000000000000000, 0x00000000145F306D, 0xC9C882A53F84EAFA /* 978 */ - .quad 0x0000000000000000, 0x0000000028BE60DB, 0x9391054A7F09D5F4 /* 979 */ - .quad 0x0000000000000000, 0x00000000517CC1B7, 0x27220A94FE13ABE8 /* 980 */ - .quad 0x0000000000000000, 0x00000000A2F9836E, 0x4E441529FC2757D1 /* 981 */ - .quad 0x0000000000000000, 0x0000000145F306DC, 0x9C882A53F84EAFA3 /* 982 */ - .quad 0x0000000000000000, 0x000000028BE60DB9, 0x391054A7F09D5F47 /* 983 */ - .quad 0x0000000000000000, 0x0000000517CC1B72, 0x7220A94FE13ABE8F /* 984 */ - .quad 0x0000000000000000, 0x0000000A2F9836E4, 0xE441529FC2757D1F /* 985 */ - .quad 0x0000000000000000, 0x000000145F306DC9, 0xC882A53F84EAFA3E /* 986 */ - .quad 0x0000000000000000, 0x00000028BE60DB93, 0x91054A7F09D5F47D /* 987 */ - .quad 0x0000000000000000, 0x000000517CC1B727, 0x220A94FE13ABE8FA /* 988 */ - .quad 0x0000000000000000, 0x000000A2F9836E4E, 0x441529FC2757D1F5 /* 989 */ - .quad 0x0000000000000000, 0x00000145F306DC9C, 0x882A53F84EAFA3EA /* 990 */ - .quad 0x0000000000000000, 0x0000028BE60DB939, 0x1054A7F09D5F47D4 /* 991 */ - .quad 0x0000000000000000, 0x00000517CC1B7272, 0x20A94FE13ABE8FA9 /* 992 */ - .quad 0x0000000000000000, 0x00000A2F9836E4E4, 0x41529FC2757D1F53 /* 993 */ - .quad 0x0000000000000000, 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6 /* 994 */ - .quad 0x0000000000000000, 0x000028BE60DB9391, 0x054A7F09D5F47D4D /* 995 */ - .quad 0x0000000000000000, 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A /* 996 */ - .quad 0x0000000000000000, 0x0000A2F9836E4E44, 0x1529FC2757D1F534 /* 997 */ - .quad 0x0000000000000000, 0x000145F306DC9C88, 0x2A53F84EAFA3EA69 /* 998 */ - .quad 0x0000000000000000, 0x00028BE60DB93910, 0x54A7F09D5F47D4D3 /* 999 */ - .quad 0x0000000000000000, 0x000517CC1B727220, 0xA94FE13ABE8FA9A6 /* 1000 */ - .quad 0x0000000000000000, 0x000A2F9836E4E441, 0x529FC2757D1F534D /* 1001 */ - .quad 0x0000000000000000, 0x00145F306DC9C882, 0xA53F84EAFA3EA69B /* 1002 */ - .quad 0x0000000000000000, 0x0028BE60DB939105, 0x4A7F09D5F47D4D37 /* 1003 */ - .quad 0x0000000000000000, 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E /* 1004 */ - .quad 0x0000000000000000, 0x00A2F9836E4E4415, 0x29FC2757D1F534DD /* 1005 */ - .quad 0x0000000000000000, 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB /* 1006 */ - .quad 0x0000000000000000, 0x028BE60DB9391054, 0xA7F09D5F47D4D377 /* 1007 */ - .quad 0x0000000000000000, 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE /* 1008 */ - .quad 0x0000000000000000, 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC /* 1009 */ - .quad 0x0000000000000000, 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8 /* 1010 */ - .quad 0x0000000000000000, 0x28BE60DB9391054A, 0x7F09D5F47D4D3770 /* 1011 */ - .quad 0x0000000000000000, 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0 /* 1012 */ - .quad 0x0000000000000000, 0xA2F9836E4E441529, 0xFC2757D1F534DDC0 /* 1013 */ - .quad 0x0000000000000001, 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81 /* 1014 */ - .quad 0x0000000000000002, 0x8BE60DB9391054A7, 0xF09D5F47D4D37703 /* 1015 */ - .quad 0x0000000000000005, 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06 /* 1016 */ - .quad 0x000000000000000A, 0x2F9836E4E441529F, 0xC2757D1F534DDC0D /* 1017 */ - .quad 0x0000000000000014, 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B /* 1018 */ - .quad 0x0000000000000028, 0xBE60DB9391054A7F, 0x09D5F47D4D377036 /* 1019 */ - .quad 0x0000000000000051, 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D /* 1020 */ - .quad 0x00000000000000A2, 0xF9836E4E441529FC, 0x2757D1F534DDC0DB /* 1021 */ - .quad 0x0000000000000145, 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6 /* 1022 */ - .quad 0x000000000000028B, 0xE60DB9391054A7F0, 0x9D5F47D4D377036D /* 1023 */ - .quad 0x0000000000000517, 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB /* 1024 */ - .quad 0x0000000000000A2F, 0x9836E4E441529FC2, 0x757D1F534DDC0DB6 /* 1025 */ - .quad 0x000000000000145F, 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C /* 1026 */ - .quad 0x00000000000028BE, 0x60DB9391054A7F09, 0xD5F47D4D377036D8 /* 1027 */ - .quad 0x000000000000517C, 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1 /* 1028 */ - .quad 0x000000000000A2F9, 0x836E4E441529FC27, 0x57D1F534DDC0DB62 /* 1029 */ - .quad 0x00000000000145F3, 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5 /* 1030 */ - .quad 0x0000000000028BE6, 0x0DB9391054A7F09D, 0x5F47D4D377036D8A /* 1031 */ - .quad 0x00000000000517CC, 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14 /* 1032 */ - .quad 0x00000000000A2F98, 0x36E4E441529FC275, 0x7D1F534DDC0DB629 /* 1033 */ - .quad 0x0000000000145F30, 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52 /* 1034 */ - .quad 0x000000000028BE60, 0xDB9391054A7F09D5, 0xF47D4D377036D8A5 /* 1035 */ - .quad 0x0000000000517CC1, 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A /* 1036 */ - .quad 0x0000000000A2F983, 0x6E4E441529FC2757, 0xD1F534DDC0DB6295 /* 1037 */ - .quad 0x000000000145F306, 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B /* 1038 */ - .quad 0x00000000028BE60D, 0xB9391054A7F09D5F, 0x47D4D377036D8A56 /* 1039 */ - .quad 0x000000000517CC1B, 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC /* 1040 */ - .quad 0x000000000A2F9836, 0xE4E441529FC2757D, 0x1F534DDC0DB62959 /* 1041 */ - .quad 0x00000000145F306D, 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3 /* 1042 */ - .quad 0x0000000028BE60DB, 0x9391054A7F09D5F4, 0x7D4D377036D8A566 /* 1043 */ - .quad 0x00000000517CC1B7, 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC /* 1044 */ - .quad 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599 /* 1045 */ - .quad 0x0000000145F306DC, 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32 /* 1046 */ - .quad 0x000000028BE60DB9, 0x391054A7F09D5F47, 0xD4D377036D8A5664 /* 1047 */ - .quad 0x0000000517CC1B72, 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9 /* 1048 */ - .quad 0x0000000A2F9836E4, 0xE441529FC2757D1F, 0x534DDC0DB6295993 /* 1049 */ - .quad 0x000000145F306DC9, 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327 /* 1050 */ - .quad 0x00000028BE60DB93, 0x91054A7F09D5F47D, 0x4D377036D8A5664F /* 1051 */ - .quad 0x000000517CC1B727, 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E /* 1052 */ - .quad 0x000000A2F9836E4E, 0x441529FC2757D1F5, 0x34DDC0DB6295993C /* 1053 */ - .quad 0x00000145F306DC9C, 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278 /* 1054 */ - .quad 0x0000028BE60DB939, 0x1054A7F09D5F47D4, 0xD377036D8A5664F1 /* 1055 */ - .quad 0x00000517CC1B7272, 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2 /* 1056 */ - .quad 0x00000A2F9836E4E4, 0x41529FC2757D1F53, 0x4DDC0DB6295993C4 /* 1057 */ - .quad 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788 /* 1058 */ - .quad 0x000028BE60DB9391, 0x054A7F09D5F47D4D, 0x377036D8A5664F10 /* 1059 */ - .quad 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21 /* 1060 */ - .quad 0x0000A2F9836E4E44, 0x1529FC2757D1F534, 0xDDC0DB6295993C43 /* 1061 */ - .quad 0x000145F306DC9C88, 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887 /* 1062 */ - .quad 0x00028BE60DB93910, 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E /* 1063 */ - .quad 0x000517CC1B727220, 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C /* 1064 */ - .quad 0x000A2F9836E4E441, 0x529FC2757D1F534D, 0xDC0DB6295993C439 /* 1065 */ - .quad 0x00145F306DC9C882, 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872 /* 1066 */ - .quad 0x0028BE60DB939105, 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4 /* 1067 */ - .quad 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8 /* 1068 */ - .quad 0x00A2F9836E4E4415, 0x29FC2757D1F534DD, 0xC0DB6295993C4390 /* 1069 */ - .quad 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB, 0x81B6C52B32788720 /* 1070 */ - .quad 0x028BE60DB9391054, 0xA7F09D5F47D4D377, 0x036D8A5664F10E41 /* 1071 */ - .quad 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82 /* 1072 */ - .quad 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC, 0x0DB6295993C43904 /* 1073 */ - .quad 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208 /* 1074 */ - .quad 0x28BE60DB9391054A, 0x7F09D5F47D4D3770, 0x36D8A5664F10E410 /* 1075 */ - .quad 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820 /* 1076 */ - .quad 0xA2F9836E4E441529, 0xFC2757D1F534DDC0, 0xDB6295993C439041 /* 1077 */ - .quad 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81, 0xB6C52B3278872083 /* 1078 */ - .quad 0x8BE60DB9391054A7, 0xF09D5F47D4D37703, 0x6D8A5664F10E4107 /* 1079 */ - .quad 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F /* 1080 */ - .quad 0x2F9836E4E441529F, 0xC2757D1F534DDC0D, 0xB6295993C439041F /* 1081 */ - .quad 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B, 0x6C52B3278872083F /* 1082 */ - .quad 0xBE60DB9391054A7F, 0x09D5F47D4D377036, 0xD8A5664F10E4107F /* 1083 */ - .quad 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF /* 1084 */ - .quad 0xF9836E4E441529FC, 0x2757D1F534DDC0DB, 0x6295993C439041FE /* 1085 */ - .quad 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC /* 1086 */ - .quad 0xE60DB9391054A7F0, 0x9D5F47D4D377036D, 0x8A5664F10E4107F9 /* 1087 */ - .quad 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2 /* 1088 */ - .quad 0x9836E4E441529FC2, 0x757D1F534DDC0DB6, 0x295993C439041FE5 /* 1089 */ - .quad 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA /* 1090 */ - .quad 0x60DB9391054A7F09, 0xD5F47D4D377036D8, 0xA5664F10E4107F94 /* 1091 */ - .quad 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28 /* 1092 */ - .quad 0x836E4E441529FC27, 0x57D1F534DDC0DB62, 0x95993C439041FE51 /* 1093 */ - .quad 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2 /* 1094 */ - .quad 0x0DB9391054A7F09D, 0x5F47D4D377036D8A, 0x5664F10E4107F945 /* 1095 */ - .quad 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B /* 1096 */ - .quad 0x36E4E441529FC275, 0x7D1F534DDC0DB629, 0x5993C439041FE516 /* 1097 */ - .quad 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C /* 1098 */ - .quad 0xDB9391054A7F09D5, 0xF47D4D377036D8A5, 0x664F10E4107F9458 /* 1099 */ - .quad 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1 /* 1100 */ - .quad 0x6E4E441529FC2757, 0xD1F534DDC0DB6295, 0x993C439041FE5163 /* 1101 */ - .quad 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7 /* 1102 */ - .quad 0xB9391054A7F09D5F, 0x47D4D377036D8A56, 0x64F10E4107F9458E /* 1103 */ - .quad 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D /* 1104 */ - .quad 0xE4E441529FC2757D, 0x1F534DDC0DB62959, 0x93C439041FE5163A /* 1105 */ - .quad 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3, 0x278872083FCA2C75 /* 1106 */ - .quad 0x9391054A7F09D5F4, 0x7D4D377036D8A566, 0x4F10E4107F9458EA /* 1107 */ - .quad 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5 /* 1108 */ - .quad 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB /* 1109 */ - .quad 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32, 0x78872083FCA2C757 /* 1110 */ - .quad 0x391054A7F09D5F47, 0xD4D377036D8A5664, 0xF10E4107F9458EAF /* 1111 */ - .quad 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E /* 1112 */ - .quad 0xE441529FC2757D1F, 0x534DDC0DB6295993, 0xC439041FE5163ABD /* 1113 */ - .quad 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327, 0x8872083FCA2C757B /* 1114 */ - .quad 0x91054A7F09D5F47D, 0x4D377036D8A5664F, 0x10E4107F9458EAF7 /* 1115 */ - .quad 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF /* 1116 */ - .quad 0x441529FC2757D1F5, 0x34DDC0DB6295993C, 0x439041FE5163ABDE /* 1117 */ - .quad 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278, 0x872083FCA2C757BD /* 1118 */ - .quad 0x1054A7F09D5F47D4, 0xD377036D8A5664F1, 0x0E4107F9458EAF7A /* 1119 */ - .quad 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5 /* 1120 */ - .quad 0x41529FC2757D1F53, 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB /* 1121 */ - .quad 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788, 0x72083FCA2C757BD7 /* 1122 */ - .quad 0x054A7F09D5F47D4D, 0x377036D8A5664F10, 0xE4107F9458EAF7AE /* 1123 */ - .quad 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D /* 1124 */ - .quad 0x1529FC2757D1F534, 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB /* 1125 */ - .quad 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887, 0x2083FCA2C757BD77 /* 1126 */ - .quad 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E, 0x4107F9458EAF7AEF /* 1127 */ - .quad 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE /* 1128 */ - .quad 0x529FC2757D1F534D, 0xDC0DB6295993C439, 0x041FE5163ABDEBBC /* 1129 */ - .quad 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872, 0x083FCA2C757BD778 /* 1130 */ - .quad 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1 /* 1131 */ - .quad 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2 /* 1132 */ - .quad 0x29FC2757D1F534DD, 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5 /* 1133 */ - .quad 0x53F84EAFA3EA69BB, 0x81B6C52B32788720, 0x83FCA2C757BD778A /* 1134 */ - .quad 0xA7F09D5F47D4D377, 0x036D8A5664F10E41, 0x07F9458EAF7AEF15 /* 1135 */ - .quad 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B /* 1136 */ - .quad 0x9FC2757D1F534DDC, 0x0DB6295993C43904, 0x1FE5163ABDEBBC56 /* 1137 */ - .quad 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208, 0x3FCA2C757BD778AC /* 1138 */ - .quad 0x7F09D5F47D4D3770, 0x36D8A5664F10E410, 0x7F9458EAF7AEF158 /* 1139 */ - .quad 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0 /* 1140 */ - .quad 0xFC2757D1F534DDC0, 0xDB6295993C439041, 0xFE5163ABDEBBC561 /* 1141 */ - .quad 0xF84EAFA3EA69BB81, 0xB6C52B3278872083, 0xFCA2C757BD778AC3 /* 1142 */ - .quad 0xF09D5F47D4D37703, 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586 /* 1143 */ - .quad 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D /* 1144 */ - .quad 0xC2757D1F534DDC0D, 0xB6295993C439041F, 0xE5163ABDEBBC561B /* 1145 */ - .quad 0x84EAFA3EA69BB81B, 0x6C52B3278872083F, 0xCA2C757BD778AC36 /* 1146 */ - .quad 0x09D5F47D4D377036, 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D /* 1147 */ - .quad 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB /* 1148 */ - .quad 0x2757D1F534DDC0DB, 0x6295993C439041FE, 0x5163ABDEBBC561B7 /* 1149 */ - .quad 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC, 0xA2C757BD778AC36E /* 1150 */ - .quad 0x9D5F47D4D377036D, 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC /* 1151 */ - .quad 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9 /* 1152 */ - .quad 0x757D1F534DDC0DB6, 0x295993C439041FE5, 0x163ABDEBBC561B72 /* 1153 */ - .quad 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA, 0x2C757BD778AC36E4 /* 1154 */ - .quad 0xD5F47D4D377036D8, 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9 /* 1155 */ - .quad 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92 /* 1156 */ - .quad 0x57D1F534DDC0DB62, 0x95993C439041FE51, 0x63ABDEBBC561B724 /* 1157 */ - .quad 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2, 0xC757BD778AC36E48 /* 1158 */ - .quad 0x5F47D4D377036D8A, 0x5664F10E4107F945, 0x8EAF7AEF1586DC91 /* 1159 */ - .quad 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923 /* 1160 */ - .quad 0x7D1F534DDC0DB629, 0x5993C439041FE516, 0x3ABDEBBC561B7246 /* 1161 */ - .quad 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C, 0x757BD778AC36E48D /* 1162 */ - .quad 0xF47D4D377036D8A5, 0x664F10E4107F9458, 0xEAF7AEF1586DC91B /* 1163 */ - .quad 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237 /* 1164 */ - .quad 0xD1F534DDC0DB6295, 0x993C439041FE5163, 0xABDEBBC561B7246E /* 1165 */ - .quad 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7, 0x57BD778AC36E48DC /* 1166 */ - .quad 0x47D4D377036D8A56, 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8 /* 1167 */ - .quad 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371 /* 1168 */ - .quad 0x1F534DDC0DB62959, 0x93C439041FE5163A, 0xBDEBBC561B7246E3 /* 1169 */ - .quad 0x3EA69BB81B6C52B3, 0x278872083FCA2C75, 0x7BD778AC36E48DC7 /* 1170 */ - .quad 0x7D4D377036D8A566, 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E /* 1171 */ - .quad 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D /* 1172 */ - .quad 0xF534DDC0DB629599, 0x3C439041FE5163AB, 0xDEBBC561B7246E3A /* 1173 */ - .quad 0xEA69BB81B6C52B32, 0x78872083FCA2C757, 0xBD778AC36E48DC74 /* 1174 */ - .quad 0xD4D377036D8A5664, 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9 /* 1175 */ - .quad 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2 /* 1176 */ - .quad 0x534DDC0DB6295993, 0xC439041FE5163ABD, 0xEBBC561B7246E3A4 /* 1177 */ - .quad 0xA69BB81B6C52B327, 0x8872083FCA2C757B, 0xD778AC36E48DC748 /* 1178 */ - .quad 0x4D377036D8A5664F, 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90 /* 1179 */ - .quad 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21 /* 1180 */ - .quad 0x34DDC0DB6295993C, 0x439041FE5163ABDE, 0xBBC561B7246E3A42 /* 1181 */ - .quad 0x69BB81B6C52B3278, 0x872083FCA2C757BD, 0x778AC36E48DC7484 /* 1182 */ - .quad 0xD377036D8A5664F1, 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909 /* 1183 */ - .quad 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212 /* 1184 */ - .quad 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB, 0xBC561B7246E3A424 /* 1185 */ - .quad 0x9BB81B6C52B32788, 0x72083FCA2C757BD7, 0x78AC36E48DC74849 /* 1186 */ - .quad 0x377036D8A5664F10, 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093 /* 1187 */ - .quad 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126 /* 1188 */ - .quad 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB, 0xC561B7246E3A424D /* 1189 */ - .quad 0xBB81B6C52B327887, 0x2083FCA2C757BD77, 0x8AC36E48DC74849B /* 1190 */ - .quad 0x77036D8A5664F10E, 0x4107F9458EAF7AEF, 0x1586DC91B8E90937 /* 1191 */ - .quad 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E /* 1192 */ - .quad 0xDC0DB6295993C439, 0x041FE5163ABDEBBC, 0x561B7246E3A424DD /* 1193 */ - .quad 0xB81B6C52B3278872, 0x083FCA2C757BD778, 0xAC36E48DC74849BA /* 1194 */ - .quad 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1, 0x586DC91B8E909374 /* 1195 */ - .quad 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9 /* 1196 */ - .quad 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2 /* 1197 */ - .quad 0x81B6C52B32788720, 0x83FCA2C757BD778A, 0xC36E48DC74849BA5 /* 1198 */ - .quad 0x036D8A5664F10E41, 0x07F9458EAF7AEF15, 0x86DC91B8E909374B /* 1199 */ - .quad 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97 /* 1200 */ - .quad 0x0DB6295993C43904, 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E /* 1201 */ - .quad 0x1B6C52B327887208, 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C /* 1202 */ - .quad 0x36D8A5664F10E410, 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8 /* 1203 */ - .quad 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970 /* 1204 */ - .quad 0xDB6295993C439041, 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0 /* 1205 */ - .quad 0xB6C52B3278872083, 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0 /* 1206 */ - .quad 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586, 0xDC91B8E909374B80 /* 1207 */ - .quad 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700 /* 1208 */ - .quad 0xB6295993C439041F, 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00 /* 1209 */ - .quad 0x6C52B3278872083F, 0xCA2C757BD778AC36, 0xE48DC74849BA5C00 /* 1210 */ - .quad 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D, 0xC91B8E909374B801 /* 1211 */ - .quad 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003 /* 1212 */ - .quad 0x6295993C439041FE, 0x5163ABDEBBC561B7, 0x246E3A424DD2E006 /* 1213 */ - .quad 0xC52B3278872083FC, 0xA2C757BD778AC36E, 0x48DC74849BA5C00C /* 1214 */ - .quad 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC, 0x91B8E909374B8019 /* 1215 */ - .quad 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032 /* 1216 */ - .quad 0x295993C439041FE5, 0x163ABDEBBC561B72, 0x46E3A424DD2E0064 /* 1217 */ - .quad 0x52B3278872083FCA, 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9 /* 1218 */ - .quad 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9, 0x1B8E909374B80192 /* 1219 */ - .quad 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324 /* 1220 */ - .quad 0x95993C439041FE51, 0x63ABDEBBC561B724, 0x6E3A424DD2E00649 /* 1221 */ - .quad 0x2B3278872083FCA2, 0xC757BD778AC36E48, 0xDC74849BA5C00C92 /* 1222 */ - .quad 0x5664F10E4107F945, 0x8EAF7AEF1586DC91, 0xB8E909374B801924 /* 1223 */ - .quad 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923, 0x71D2126E97003249 /* 1224 */ - .quad 0x5993C439041FE516, 0x3ABDEBBC561B7246, 0xE3A424DD2E006492 /* 1225 */ - .quad 0xB3278872083FCA2C, 0x757BD778AC36E48D, 0xC74849BA5C00C925 /* 1226 */ - .quad 0x664F10E4107F9458, 0xEAF7AEF1586DC91B, 0x8E909374B801924B /* 1227 */ - .quad 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237, 0x1D2126E970032497 /* 1228 */ - .quad 0x993C439041FE5163, 0xABDEBBC561B7246E, 0x3A424DD2E006492E /* 1229 */ - .quad 0x3278872083FCA2C7, 0x57BD778AC36E48DC, 0x74849BA5C00C925D /* 1230 */ - .quad 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8, 0xE909374B801924BB /* 1231 */ - .quad 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371, 0xD2126E9700324977 /* 1232 */ - .quad 0x93C439041FE5163A, 0xBDEBBC561B7246E3, 0xA424DD2E006492EE /* 1233 */ - .quad 0x278872083FCA2C75, 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD /* 1234 */ - .quad 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E, 0x909374B801924BBA /* 1235 */ - .quad 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D, 0x2126E97003249775 /* 1236 */ - .quad 0x3C439041FE5163AB, 0xDEBBC561B7246E3A, 0x424DD2E006492EEA /* 1237 */ - .quad 0x78872083FCA2C757, 0xBD778AC36E48DC74, 0x849BA5C00C925DD4 /* 1238 */ - .quad 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9, 0x09374B801924BBA8 /* 1239 */ - .quad 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2, 0x126E970032497750 /* 1240 */ - .quad 0xC439041FE5163ABD, 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0 /* 1241 */ - .quad 0x8872083FCA2C757B, 0xD778AC36E48DC748, 0x49BA5C00C925DD41 /* 1242 */ - .quad 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90, 0x9374B801924BBA82 /* 1243 */ - .quad 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21, 0x26E9700324977504 /* 1244 */ - .quad 0x439041FE5163ABDE, 0xBBC561B7246E3A42, 0x4DD2E006492EEA09 /* 1245 */ - .quad 0x872083FCA2C757BD, 0x778AC36E48DC7484, 0x9BA5C00C925DD413 /* 1246 */ - .quad 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909, 0x374B801924BBA827 /* 1247 */ - .quad 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212, 0x6E9700324977504E /* 1248 */ - .quad 0x39041FE5163ABDEB, 0xBC561B7246E3A424, 0xDD2E006492EEA09D /* 1249 */ - .quad 0x72083FCA2C757BD7, 0x78AC36E48DC74849, 0xBA5C00C925DD413A /* 1250 */ - .quad 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093, 0x74B801924BBA8274 /* 1251 */ - .quad 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126, 0xE9700324977504E8 /* 1252 */ - .quad 0x9041FE5163ABDEBB, 0xC561B7246E3A424D, 0xD2E006492EEA09D1 /* 1253 */ - .quad 0x2083FCA2C757BD77, 0x8AC36E48DC74849B, 0xA5C00C925DD413A3 /* 1254 */ - .quad 0x4107F9458EAF7AEF, 0x1586DC91B8E90937, 0x4B801924BBA82746 /* 1255 */ - .quad 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E, 0x9700324977504E8C /* 1256 */ - .quad 0x041FE5163ABDEBBC, 0x561B7246E3A424DD, 0x2E006492EEA09D19 /* 1257 */ - .quad 0x083FCA2C757BD778, 0xAC36E48DC74849BA, 0x5C00C925DD413A32 /* 1258 */ - .quad 0x107F9458EAF7AEF1, 0x586DC91B8E909374, 0xB801924BBA827464 /* 1259 */ - .quad 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9, 0x700324977504E8C9 /* 1260 */ - .quad 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2, 0xE006492EEA09D192 /* 1261 */ - .quad 0x83FCA2C757BD778A, 0xC36E48DC74849BA5, 0xC00C925DD413A324 /* 1262 */ - .quad 0x07F9458EAF7AEF15, 0x86DC91B8E909374B, 0x801924BBA8274648 /* 1263 */ - .quad 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97, 0x00324977504E8C90 /* 1264 */ - .quad 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E, 0x006492EEA09D1921 /* 1265 */ - .quad 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C, 0x00C925DD413A3243 /* 1266 */ - .quad 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8, 0x01924BBA82746487 /* 1267 */ - .quad 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970, 0x0324977504E8C90E /* 1268 */ - .quad 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0, 0x06492EEA09D1921C /* 1269 */ - .quad 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0, 0x0C925DD413A32439 /* 1270 */ - .quad 0xF9458EAF7AEF1586, 0xDC91B8E909374B80, 0x1924BBA827464873 /* 1271 */ - .quad 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700, 0x324977504E8C90E7 /* 1272 */ - .quad 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00, 0x6492EEA09D1921CF /* 1273 */ - .quad 0xCA2C757BD778AC36, 0xE48DC74849BA5C00, 0xC925DD413A32439F /* 1274 */ - .quad 0x9458EAF7AEF1586D, 0xC91B8E909374B801, 0x924BBA827464873F /* 1275 */ - .quad 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003, 0x24977504E8C90E7F /* 1276 */ - .quad 0x5163ABDEBBC561B7, 0x246E3A424DD2E006, 0x492EEA09D1921CFE /* 1277 */ - .quad 0xA2C757BD778AC36E, 0x48DC74849BA5C00C, 0x925DD413A32439FC /* 1278 */ - .quad 0x458EAF7AEF1586DC, 0x91B8E909374B8019, 0x24BBA827464873F8 /* 1279 */ - .quad 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032, 0x4977504E8C90E7F0 /* 1280 */ - .quad 0x163ABDEBBC561B72, 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1 /* 1281 */ - .quad 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9, 0x25DD413A32439FC3 /* 1282 */ - .quad 0x58EAF7AEF1586DC9, 0x1B8E909374B80192, 0x4BBA827464873F87 /* 1283 */ - .quad 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324, 0x977504E8C90E7F0E /* 1284 */ - .quad 0x63ABDEBBC561B724, 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D /* 1285 */ - .quad 0xC757BD778AC36E48, 0xDC74849BA5C00C92, 0x5DD413A32439FC3B /* 1286 */ - .quad 0x8EAF7AEF1586DC91, 0xB8E909374B801924, 0xBBA827464873F877 /* 1287 */ - .quad 0x1D5EF5DE2B0DB923, 0x71D2126E97003249, 0x77504E8C90E7F0EF /* 1288 */ - .quad 0x3ABDEBBC561B7246, 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE /* 1289 */ - .quad 0x757BD778AC36E48D, 0xC74849BA5C00C925, 0xDD413A32439FC3BD /* 1290 */ - .quad 0xEAF7AEF1586DC91B, 0x8E909374B801924B, 0xBA827464873F877A /* 1291 */ - .quad 0xD5EF5DE2B0DB9237, 0x1D2126E970032497, 0x7504E8C90E7F0EF5 /* 1292 */ - .quad 0xABDEBBC561B7246E, 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB /* 1293 */ - .quad 0x57BD778AC36E48DC, 0x74849BA5C00C925D, 0xD413A32439FC3BD6 /* 1294 */ - .quad 0xAF7AEF1586DC91B8, 0xE909374B801924BB, 0xA827464873F877AC /* 1295 */ - .quad 0x5EF5DE2B0DB92371, 0xD2126E9700324977, 0x504E8C90E7F0EF58 /* 1296 */ - .quad 0xBDEBBC561B7246E3, 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1 /* 1297 */ - .quad 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD, 0x413A32439FC3BD63 /* 1298 */ - .quad 0xF7AEF1586DC91B8E, 0x909374B801924BBA, 0x827464873F877AC7 /* 1299 */ - .quad 0xEF5DE2B0DB92371D, 0x2126E97003249775, 0x04E8C90E7F0EF58E /* 1300 */ - .quad 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C /* 1301 */ - .quad 0xBD778AC36E48DC74, 0x849BA5C00C925DD4, 0x13A32439FC3BD639 /* 1302 */ - .quad 0x7AEF1586DC91B8E9, 0x09374B801924BBA8, 0x27464873F877AC72 /* 1303 */ - .quad 0xF5DE2B0DB92371D2, 0x126E970032497750, 0x4E8C90E7F0EF58E5 /* 1304 */ - .quad 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB /* 1305 */ - .quad 0xD778AC36E48DC748, 0x49BA5C00C925DD41, 0x3A32439FC3BD6396 /* 1306 */ - .quad 0xAEF1586DC91B8E90, 0x9374B801924BBA82, 0x7464873F877AC72C /* 1307 */ - .quad 0x5DE2B0DB92371D21, 0x26E9700324977504, 0xE8C90E7F0EF58E58 /* 1308 */ - .quad 0xBBC561B7246E3A42, 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1 /* 1309 */ - .quad 0x778AC36E48DC7484, 0x9BA5C00C925DD413, 0xA32439FC3BD63962 /* 1310 */ - .quad 0xEF1586DC91B8E909, 0x374B801924BBA827, 0x464873F877AC72C4 /* 1311 */ - .quad 0xDE2B0DB92371D212, 0x6E9700324977504E, 0x8C90E7F0EF58E589 /* 1312 */ - .quad 0xBC561B7246E3A424, 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12 /* 1313 */ - .quad 0x78AC36E48DC74849, 0xBA5C00C925DD413A, 0x32439FC3BD639625 /* 1314 */ - .quad 0xF1586DC91B8E9093, 0x74B801924BBA8274, 0x64873F877AC72C4A /* 1315 */ - .quad 0xE2B0DB92371D2126, 0xE9700324977504E8, 0xC90E7F0EF58E5894 /* 1316 */ - .quad 0xC561B7246E3A424D, 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129 /* 1317 */ - .quad 0x8AC36E48DC74849B, 0xA5C00C925DD413A3, 0x2439FC3BD6396253 /* 1318 */ - .quad 0x1586DC91B8E90937, 0x4B801924BBA82746, 0x4873F877AC72C4A6 /* 1319 */ - .quad 0x2B0DB92371D2126E, 0x9700324977504E8C, 0x90E7F0EF58E5894D /* 1320 */ - .quad 0x561B7246E3A424DD, 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A /* 1321 */ - .quad 0xAC36E48DC74849BA, 0x5C00C925DD413A32, 0x439FC3BD63962534 /* 1322 */ - .quad 0x586DC91B8E909374, 0xB801924BBA827464, 0x873F877AC72C4A69 /* 1323 */ - .quad 0xB0DB92371D2126E9, 0x700324977504E8C9, 0x0E7F0EF58E5894D3 /* 1324 */ - .quad 0x61B7246E3A424DD2, 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7 /* 1325 */ - .quad 0xC36E48DC74849BA5, 0xC00C925DD413A324, 0x39FC3BD63962534E /* 1326 */ - .quad 0x86DC91B8E909374B, 0x801924BBA8274648, 0x73F877AC72C4A69C /* 1327 */ - .quad 0x0DB92371D2126E97, 0x00324977504E8C90, 0xE7F0EF58E5894D39 /* 1328 */ - .quad 0x1B7246E3A424DD2E, 0x006492EEA09D1921, 0xCFE1DEB1CB129A73 /* 1329 */ - .quad 0x36E48DC74849BA5C, 0x00C925DD413A3243, 0x9FC3BD63962534E7 /* 1330 */ - .quad 0x6DC91B8E909374B8, 0x01924BBA82746487, 0x3F877AC72C4A69CF /* 1331 */ - .quad 0xDB92371D2126E970, 0x0324977504E8C90E, 0x7F0EF58E5894D39F /* 1332 */ - .quad 0xB7246E3A424DD2E0, 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E /* 1333 */ - .quad 0x6E48DC74849BA5C0, 0x0C925DD413A32439, 0xFC3BD63962534E7D /* 1334 */ - .quad 0xDC91B8E909374B80, 0x1924BBA827464873, 0xF877AC72C4A69CFB /* 1335 */ - .quad 0xB92371D2126E9700, 0x324977504E8C90E7, 0xF0EF58E5894D39F7 /* 1336 */ - .quad 0x7246E3A424DD2E00, 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE /* 1337 */ - .quad 0xE48DC74849BA5C00, 0xC925DD413A32439F, 0xC3BD63962534E7DD /* 1338 */ - .quad 0xC91B8E909374B801, 0x924BBA827464873F, 0x877AC72C4A69CFBA /* 1339 */ - .quad 0x92371D2126E97003, 0x24977504E8C90E7F, 0x0EF58E5894D39F74 /* 1340 */ - .quad 0x246E3A424DD2E006, 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8 /* 1341 */ - .quad 0x48DC74849BA5C00C, 0x925DD413A32439FC, 0x3BD63962534E7DD1 /* 1342 */ - .quad 0x91B8E909374B8019, 0x24BBA827464873F8, 0x77AC72C4A69CFBA2 /* 1343 */ - .quad 0x2371D2126E970032, 0x4977504E8C90E7F0, 0xEF58E5894D39F744 /* 1344 */ - .quad 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88 /* 1345 */ - .quad 0x8DC74849BA5C00C9, 0x25DD413A32439FC3, 0xBD63962534E7DD10 /* 1346 */ - .quad 0x1B8E909374B80192, 0x4BBA827464873F87, 0x7AC72C4A69CFBA20 /* 1347 */ - .quad 0x371D2126E9700324, 0x977504E8C90E7F0E, 0xF58E5894D39F7441 /* 1348 */ - .quad 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882 /* 1349 */ - .quad 0xDC74849BA5C00C92, 0x5DD413A32439FC3B, 0xD63962534E7DD104 /* 1350 */ - .quad 0xB8E909374B801924, 0xBBA827464873F877, 0xAC72C4A69CFBA208 /* 1351 */ - .quad 0x71D2126E97003249, 0x77504E8C90E7F0EF, 0x58E5894D39F74411 /* 1352 */ - .quad 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823 /* 1353 */ - .quad 0xC74849BA5C00C925, 0xDD413A32439FC3BD, 0x63962534E7DD1046 /* 1354 */ - .quad 0x8E909374B801924B, 0xBA827464873F877A, 0xC72C4A69CFBA208D /* 1355 */ - .quad 0x1D2126E970032497, 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A /* 1356 */ - .quad 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235 /* 1357 */ - .quad 0x74849BA5C00C925D, 0xD413A32439FC3BD6, 0x3962534E7DD1046B /* 1358 */ - .quad 0xE909374B801924BB, 0xA827464873F877AC, 0x72C4A69CFBA208D7 /* 1359 */ - .quad 0xD2126E9700324977, 0x504E8C90E7F0EF58, 0xE5894D39F74411AF /* 1360 */ - .quad 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F /* 1361 */ - .quad 0x4849BA5C00C925DD, 0x413A32439FC3BD63, 0x962534E7DD1046BE /* 1362 */ - .quad 0x909374B801924BBA, 0x827464873F877AC7, 0x2C4A69CFBA208D7D /* 1363 */ - .quad 0x2126E97003249775, 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA /* 1364 */ - .quad 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5 /* 1365 */ - .quad 0x849BA5C00C925DD4, 0x13A32439FC3BD639, 0x62534E7DD1046BEA /* 1366 */ - .quad 0x09374B801924BBA8, 0x27464873F877AC72, 0xC4A69CFBA208D7D4 /* 1367 */ - .quad 0x126E970032497750, 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9 /* 1368 */ - .quad 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52 /* 1369 */ - .quad 0x49BA5C00C925DD41, 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5 /* 1370 */ - .quad 0x9374B801924BBA82, 0x7464873F877AC72C, 0x4A69CFBA208D7D4B /* 1371 */ - .quad 0x26E9700324977504, 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97 /* 1372 */ - .quad 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E /* 1373 */ - .quad 0x9BA5C00C925DD413, 0xA32439FC3BD63962, 0x534E7DD1046BEA5D /* 1374 */ - .quad 0x374B801924BBA827, 0x464873F877AC72C4, 0xA69CFBA208D7D4BA /* 1375 */ - .quad 0x6E9700324977504E, 0x8C90E7F0EF58E589, 0x4D39F74411AFA975 /* 1376 */ - .quad 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB /* 1377 */ - .quad 0xBA5C00C925DD413A, 0x32439FC3BD639625, 0x34E7DD1046BEA5D7 /* 1378 */ - .quad 0x74B801924BBA8274, 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE /* 1379 */ - .quad 0xE9700324977504E8, 0xC90E7F0EF58E5894, 0xD39F74411AFA975D /* 1380 */ - .quad 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB /* 1381 */ - .quad 0xA5C00C925DD413A3, 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76 /* 1382 */ - .quad 0x4B801924BBA82746, 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED /* 1383 */ - .quad 0x9700324977504E8C, 0x90E7F0EF58E5894D, 0x39F74411AFA975DA /* 1384 */ - .quad 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4 /* 1385 */ - .quad 0x5C00C925DD413A32, 0x439FC3BD63962534, 0xE7DD1046BEA5D768 /* 1386 */ - .quad 0xB801924BBA827464, 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1 /* 1387 */ - .quad 0x700324977504E8C9, 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2 /* 1388 */ - .quad 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44 /* 1389 */ - .quad 0xC00C925DD413A324, 0x39FC3BD63962534E, 0x7DD1046BEA5D7689 /* 1390 */ - .quad 0x801924BBA8274648, 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12 /* 1391 */ - .quad 0x00324977504E8C90, 0xE7F0EF58E5894D39, 0xF74411AFA975DA24 /* 1392 */ - .quad 0x006492EEA09D1921, 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448 /* 1393 */ - .quad 0x00C925DD413A3243, 0x9FC3BD63962534E7, 0xDD1046BEA5D76890 /* 1394 */ - .quad 0x01924BBA82746487, 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121 /* 1395 */ - .quad 0x0324977504E8C90E, 0x7F0EF58E5894D39F, 0x74411AFA975DA242 /* 1396 */ - .quad 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484 /* 1397 */ - .quad 0x0C925DD413A32439, 0xFC3BD63962534E7D, 0xD1046BEA5D768909 /* 1398 */ - .quad 0x1924BBA827464873, 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213 /* 1399 */ - .quad 0x324977504E8C90E7, 0xF0EF58E5894D39F7, 0x4411AFA975DA2427 /* 1400 */ - .quad 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E /* 1401 */ - .quad 0xC925DD413A32439F, 0xC3BD63962534E7DD, 0x1046BEA5D768909D /* 1402 */ - .quad 0x924BBA827464873F, 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A /* 1403 */ - .quad 0x24977504E8C90E7F, 0x0EF58E5894D39F74, 0x411AFA975DA24274 /* 1404 */ - .quad 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9 /* 1405 */ - .quad 0x925DD413A32439FC, 0x3BD63962534E7DD1, 0x046BEA5D768909D3 /* 1406 */ - .quad 0x24BBA827464873F8, 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6 /* 1407 */ - .quad 0x4977504E8C90E7F0, 0xEF58E5894D39F744, 0x11AFA975DA24274C /* 1408 */ - .quad 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88, 0x235F52EBB4484E99 /* 1409 */ - .quad 0x25DD413A32439FC3, 0xBD63962534E7DD10, 0x46BEA5D768909D33 /* 1410 */ - .quad 0x4BBA827464873F87, 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67 /* 1411 */ - .quad 0x977504E8C90E7F0E, 0xF58E5894D39F7441, 0x1AFA975DA24274CE /* 1412 */ - .quad 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882, 0x35F52EBB4484E99C /* 1413 */ - .quad 0x5DD413A32439FC3B, 0xD63962534E7DD104, 0x6BEA5D768909D338 /* 1414 */ - .quad 0xBBA827464873F877, 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671 /* 1415 */ - .quad 0x77504E8C90E7F0EF, 0x58E5894D39F74411, 0xAFA975DA24274CE3 /* 1416 */ - .quad 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7 /* 1417 */ - .quad 0xDD413A32439FC3BD, 0x63962534E7DD1046, 0xBEA5D768909D338E /* 1418 */ - .quad 0xBA827464873F877A, 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C /* 1419 */ - .quad 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A, 0xFA975DA24274CE38 /* 1420 */ - .quad 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235, 0xF52EBB4484E99C70 /* 1421 */ - .quad 0xD413A32439FC3BD6, 0x3962534E7DD1046B, 0xEA5D768909D338E0 /* 1422 */ - .quad 0xA827464873F877AC, 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0 /* 1423 */ - .quad 0x504E8C90E7F0EF58, 0xE5894D39F74411AF, 0xA975DA24274CE381 /* 1424 */ - .quad 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F, 0x52EBB4484E99C702 /* 1425 */ - .quad 0x413A32439FC3BD63, 0x962534E7DD1046BE, 0xA5D768909D338E04 /* 1426 */ - .quad 0x827464873F877AC7, 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09 /* 1427 */ - .quad 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA, 0x975DA24274CE3813 /* 1428 */ - .quad 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, 0x2EBB4484E99C7026 /* 1429 */ - .quad 0x13A32439FC3BD639, 0x62534E7DD1046BEA, 0x5D768909D338E04D /* 1430 */ - .quad 0x27464873F877AC72, 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A /* 1431 */ - .quad 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9, 0x75DA24274CE38135 /* 1432 */ - .quad 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52, 0xEBB4484E99C7026B /* 1433 */ - .quad 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5, 0xD768909D338E04D6 /* 1434 */ - .quad 0x7464873F877AC72C, 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD /* 1435 */ - .quad 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97, 0x5DA24274CE38135A /* 1436 */ - .quad 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E, 0xBB4484E99C7026B4 /* 1437 */ - .quad 0xA32439FC3BD63962, 0x534E7DD1046BEA5D, 0x768909D338E04D68 /* 1438 */ - .quad 0x464873F877AC72C4, 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1 /* 1439 */ - .quad 0x8C90E7F0EF58E589, 0x4D39F74411AFA975, 0xDA24274CE38135A2 /* 1440 */ - .quad 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB, 0xB4484E99C7026B45 /* 1441 */ - .quad 0x32439FC3BD639625, 0x34E7DD1046BEA5D7, 0x68909D338E04D68B /* 1442 */ - .quad 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17 /* 1443 */ - .quad 0xC90E7F0EF58E5894, 0xD39F74411AFA975D, 0xA24274CE38135A2F /* 1444 */ - .quad 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB, 0x4484E99C7026B45F /* 1445 */ - .quad 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE /* 1446 */ - .quad 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D /* 1447 */ - .quad 0x90E7F0EF58E5894D, 0x39F74411AFA975DA, 0x24274CE38135A2FB /* 1448 */ - .quad 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4, 0x484E99C7026B45F7 /* 1449 */ - .quad 0x439FC3BD63962534, 0xE7DD1046BEA5D768, 0x909D338E04D68BEF /* 1450 */ - .quad 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF /* 1451 */ - .quad 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2, 0x4274CE38135A2FBF /* 1452 */ - .quad 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44, 0x84E99C7026B45F7E /* 1453 */ - .quad 0x39FC3BD63962534E, 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC /* 1454 */ - .quad 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9 /* 1455 */ - .quad 0xE7F0EF58E5894D39, 0xF74411AFA975DA24, 0x274CE38135A2FBF2 /* 1456 */ - .quad 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448, 0x4E99C7026B45F7E4 /* 1457 */ - .quad 0x9FC3BD63962534E7, 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8 /* 1458 */ - .quad 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121, 0x3A671C09AD17DF90 /* 1459 */ - .quad 0x7F0EF58E5894D39F, 0x74411AFA975DA242, 0x74CE38135A2FBF20 /* 1460 */ - .quad 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484, 0xE99C7026B45F7E41 /* 1461 */ - .quad 0xFC3BD63962534E7D, 0xD1046BEA5D768909, 0xD338E04D68BEFC82 /* 1462 */ - .quad 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213, 0xA671C09AD17DF904 /* 1463 */ - .quad 0xF0EF58E5894D39F7, 0x4411AFA975DA2427, 0x4CE38135A2FBF209 /* 1464 */ - .quad 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E, 0x99C7026B45F7E413 /* 1465 */ - .quad 0xC3BD63962534E7DD, 0x1046BEA5D768909D, 0x338E04D68BEFC827 /* 1466 */ - .quad 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A, 0x671C09AD17DF904E /* 1467 */ - .quad 0x0EF58E5894D39F74, 0x411AFA975DA24274, 0xCE38135A2FBF209C /* 1468 */ - .quad 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9, 0x9C7026B45F7E4139 /* 1469 */ - .quad 0x3BD63962534E7DD1, 0x046BEA5D768909D3, 0x38E04D68BEFC8273 /* 1470 */ - .quad 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6 /* 1471 */ - .quad 0xEF58E5894D39F744, 0x11AFA975DA24274C, 0xE38135A2FBF209CC /* 1472 */ - .quad 0xDEB1CB129A73EE88, 0x235F52EBB4484E99, 0xC7026B45F7E41399 /* 1473 */ - .quad 0xBD63962534E7DD10, 0x46BEA5D768909D33, 0x8E04D68BEFC82732 /* 1474 */ - .quad 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64 /* 1475 */ - .quad 0xF58E5894D39F7441, 0x1AFA975DA24274CE, 0x38135A2FBF209CC8 /* 1476 */ - .quad 0xEB1CB129A73EE882, 0x35F52EBB4484E99C, 0x7026B45F7E413991 /* 1477 */ - .quad 0xD63962534E7DD104, 0x6BEA5D768909D338, 0xE04D68BEFC827323 /* 1478 */ - .quad 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671, 0xC09AD17DF904E647 /* 1479 */ - .quad 0x58E5894D39F74411, 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E /* 1480 */ - .quad 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7, 0x026B45F7E413991D /* 1481 */ - .quad 0x63962534E7DD1046, 0xBEA5D768909D338E, 0x04D68BEFC827323A /* 1482 */ - .quad 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C, 0x09AD17DF904E6475 /* 1483 */ - .quad 0x8E5894D39F74411A, 0xFA975DA24274CE38, 0x135A2FBF209CC8EB /* 1484 */ - .quad 0x1CB129A73EE88235, 0xF52EBB4484E99C70, 0x26B45F7E413991D6 /* 1485 */ - .quad 0x3962534E7DD1046B, 0xEA5D768909D338E0, 0x4D68BEFC827323AC /* 1486 */ - .quad 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0, 0x9AD17DF904E64758 /* 1487 */ - .quad 0xE5894D39F74411AF, 0xA975DA24274CE381, 0x35A2FBF209CC8EB1 /* 1488 */ - .quad 0xCB129A73EE88235F, 0x52EBB4484E99C702, 0x6B45F7E413991D63 /* 1489 */ - .quad 0x962534E7DD1046BE, 0xA5D768909D338E04, 0xD68BEFC827323AC7 /* 1490 */ - .quad 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09, 0xAD17DF904E64758E /* 1491 */ - .quad 0x5894D39F74411AFA, 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C /* 1492 */ - .quad 0xB129A73EE88235F5, 0x2EBB4484E99C7026, 0xB45F7E413991D639 /* 1493 */ - .quad 0x62534E7DD1046BEA, 0x5D768909D338E04D, 0x68BEFC827323AC73 /* 1494 */ - .quad 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A, 0xD17DF904E64758E6 /* 1495 */ - .quad 0x894D39F74411AFA9, 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC /* 1496 */ - .quad 0x129A73EE88235F52, 0xEBB4484E99C7026B, 0x45F7E413991D6398 /* 1497 */ - .quad 0x2534E7DD1046BEA5, 0xD768909D338E04D6, 0x8BEFC827323AC730 /* 1498 */ - .quad 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD, 0x17DF904E64758E60 /* 1499 */ - .quad 0x94D39F74411AFA97, 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1 /* 1500 */ - .quad 0x29A73EE88235F52E, 0xBB4484E99C7026B4, 0x5F7E413991D63983 /* 1501 */ - .quad 0x534E7DD1046BEA5D, 0x768909D338E04D68, 0xBEFC827323AC7306 /* 1502 */ - .quad 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1, 0x7DF904E64758E60D /* 1503 */ - .quad 0x4D39F74411AFA975, 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A /* 1504 */ - .quad 0x9A73EE88235F52EB, 0xB4484E99C7026B45, 0xF7E413991D639835 /* 1505 */ - .quad 0x34E7DD1046BEA5D7, 0x68909D338E04D68B, 0xEFC827323AC7306A /* 1506 */ - .quad 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17, 0xDF904E64758E60D4 /* 1507 */ - .quad 0xD39F74411AFA975D, 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9 /* 1508 */ - .quad 0xA73EE88235F52EBB, 0x4484E99C7026B45F, 0x7E413991D6398353 /* 1509 */ - .quad 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE, 0xFC827323AC7306A6 /* 1510 */ - .quad 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D, 0xF904E64758E60D4C /* 1511 */ - .quad 0x39F74411AFA975DA, 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99 /* 1512 */ - .quad 0x73EE88235F52EBB4, 0x484E99C7026B45F7, 0xE413991D63983533 /* 1513 */ - .quad 0xE7DD1046BEA5D768, 0x909D338E04D68BEF, 0xC827323AC7306A67 /* 1514 */ - .quad 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF, 0x904E64758E60D4CE /* 1515 */ - .quad 0x9F74411AFA975DA2, 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C /* 1516 */ - .quad 0x3EE88235F52EBB44, 0x84E99C7026B45F7E, 0x413991D639835339 /* 1517 */ - .quad 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC, 0x827323AC7306A673 /* 1518 */ - .quad 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9, 0x04E64758E60D4CE7 /* 1519 */ - .quad 0xF74411AFA975DA24, 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF /* 1520 */ - .quad 0xEE88235F52EBB448, 0x4E99C7026B45F7E4, 0x13991D639835339F /* 1521 */ - .quad 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8, 0x27323AC7306A673E /* 1522 */ - .quad 0xBA208D7D4BAED121, 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D /* 1523 */ - .quad 0x74411AFA975DA242, 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA /* 1524 */ - .quad 0xE88235F52EBB4484, 0xE99C7026B45F7E41, 0x3991D639835339F4 /* 1525 */ - .quad 0xD1046BEA5D768909, 0xD338E04D68BEFC82, 0x7323AC7306A673E9 /* 1526 */ - .quad 0xA208D7D4BAED1213, 0xA671C09AD17DF904, 0xE64758E60D4CE7D2 /* 1527 */ - .quad 0x4411AFA975DA2427, 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4 /* 1528 */ - .quad 0x88235F52EBB4484E, 0x99C7026B45F7E413, 0x991D639835339F49 /* 1529 */ - .quad 0x1046BEA5D768909D, 0x338E04D68BEFC827, 0x323AC7306A673E93 /* 1530 */ - .quad 0x208D7D4BAED1213A, 0x671C09AD17DF904E, 0x64758E60D4CE7D27 /* 1531 */ - .quad 0x411AFA975DA24274, 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E /* 1532 */ - .quad 0x8235F52EBB4484E9, 0x9C7026B45F7E4139, 0x91D639835339F49C /* 1533 */ - .quad 0x046BEA5D768909D3, 0x38E04D68BEFC8273, 0x23AC7306A673E939 /* 1534 */ - .quad 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6, 0x4758E60D4CE7D272 /* 1535 */ - .quad 0x11AFA975DA24274C, 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4 /* 1536 */ - .quad 0x235F52EBB4484E99, 0xC7026B45F7E41399, 0x1D639835339F49C8 /* 1537 */ - .quad 0x46BEA5D768909D33, 0x8E04D68BEFC82732, 0x3AC7306A673E9390 /* 1538 */ - .quad 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64, 0x758E60D4CE7D2721 /* 1539 */ - .quad 0x1AFA975DA24274CE, 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42 /* 1540 */ - .quad 0x35F52EBB4484E99C, 0x7026B45F7E413991, 0xD639835339F49C84 /* 1541 */ - .quad 0x6BEA5D768909D338, 0xE04D68BEFC827323, 0xAC7306A673E93908 /* 1542 */ - .quad 0xD7D4BAED1213A671, 0xC09AD17DF904E647, 0x58E60D4CE7D27211 /* 1543 */ - .quad 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422 /* 1544 */ - .quad 0x5F52EBB4484E99C7, 0x026B45F7E413991D, 0x639835339F49C845 /* 1545 */ - .quad 0xBEA5D768909D338E, 0x04D68BEFC827323A, 0xC7306A673E93908B /* 1546 */ - .quad 0x7D4BAED1213A671C, 0x09AD17DF904E6475, 0x8E60D4CE7D272117 /* 1547 */ - .quad 0xFA975DA24274CE38, 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F /* 1548 */ - .quad 0xF52EBB4484E99C70, 0x26B45F7E413991D6, 0x39835339F49C845F /* 1549 */ - .quad 0xEA5D768909D338E0, 0x4D68BEFC827323AC, 0x7306A673E93908BF /* 1550 */ - .quad 0xD4BAED1213A671C0, 0x9AD17DF904E64758, 0xE60D4CE7D272117E /* 1551 */ - .quad 0xA975DA24274CE381, 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC /* 1552 */ - .quad 0x52EBB4484E99C702, 0x6B45F7E413991D63, 0x9835339F49C845F8 /* 1553 */ - .quad 0xA5D768909D338E04, 0xD68BEFC827323AC7, 0x306A673E93908BF1 /* 1554 */ - .quad 0x4BAED1213A671C09, 0xAD17DF904E64758E, 0x60D4CE7D272117E2 /* 1555 */ - .quad 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5 /* 1556 */ - .quad 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B /* 1557 */ - .quad 0x5D768909D338E04D, 0x68BEFC827323AC73, 0x06A673E93908BF17 /* 1558 */ - .quad 0xBAED1213A671C09A, 0xD17DF904E64758E6, 0x0D4CE7D272117E2E /* 1559 */ - .quad 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D /* 1560 */ - .quad 0xEBB4484E99C7026B, 0x45F7E413991D6398, 0x35339F49C845F8BB /* 1561 */ - .quad 0xD768909D338E04D6, 0x8BEFC827323AC730, 0x6A673E93908BF177 /* 1562 */ - .quad 0xAED1213A671C09AD, 0x17DF904E64758E60, 0xD4CE7D272117E2EF /* 1563 */ - .quad 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE /* 1564 */ - .quad 0xBB4484E99C7026B4, 0x5F7E413991D63983, 0x5339F49C845F8BBD /* 1565 */ - .quad 0x768909D338E04D68, 0xBEFC827323AC7306, 0xA673E93908BF177B /* 1566 */ - .quad 0xED1213A671C09AD1, 0x7DF904E64758E60D, 0x4CE7D272117E2EF7 /* 1567 */ - .quad 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF /* 1568 */ - .quad 0xB4484E99C7026B45, 0xF7E413991D639835, 0x339F49C845F8BBDF /* 1569 */ - .quad 0x68909D338E04D68B, 0xEFC827323AC7306A, 0x673E93908BF177BF /* 1570 */ - .quad 0xD1213A671C09AD17, 0xDF904E64758E60D4, 0xCE7D272117E2EF7E /* 1571 */ - .quad 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC /* 1572 */ - .quad 0x4484E99C7026B45F, 0x7E413991D6398353, 0x39F49C845F8BBDF9 /* 1573 */ - .quad 0x8909D338E04D68BE, 0xFC827323AC7306A6, 0x73E93908BF177BF2 /* 1574 */ - .quad 0x1213A671C09AD17D, 0xF904E64758E60D4C, 0xE7D272117E2EF7E4 /* 1575 */ - .quad 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9 /* 1576 */ - .quad 0x484E99C7026B45F7, 0xE413991D63983533, 0x9F49C845F8BBDF92 /* 1577 */ - .quad 0x909D338E04D68BEF, 0xC827323AC7306A67, 0x3E93908BF177BF25 /* 1578 */ - .quad 0x213A671C09AD17DF, 0x904E64758E60D4CE, 0x7D272117E2EF7E4A /* 1579 */ - .quad 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94 /* 1580 */ - .quad 0x84E99C7026B45F7E, 0x413991D639835339, 0xF49C845F8BBDF928 /* 1581 */ - .quad 0x09D338E04D68BEFC, 0x827323AC7306A673, 0xE93908BF177BF250 /* 1582 */ - .quad 0x13A671C09AD17DF9, 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0 /* 1583 */ - .quad 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941 /* 1584 */ - .quad 0x4E99C7026B45F7E4, 0x13991D639835339F, 0x49C845F8BBDF9283 /* 1585 */ - .quad 0x9D338E04D68BEFC8, 0x27323AC7306A673E, 0x93908BF177BF2507 /* 1586 */ - .quad 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E /* 1587 */ - .quad 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D /* 1588 */ - .quad 0xE99C7026B45F7E41, 0x3991D639835339F4, 0x9C845F8BBDF9283B /* 1589 */ - .quad 0xD338E04D68BEFC82, 0x7323AC7306A673E9, 0x3908BF177BF25076 /* 1590 */ - .quad 0xA671C09AD17DF904, 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC /* 1591 */ - .quad 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8 /* 1592 */ - .quad 0x99C7026B45F7E413, 0x991D639835339F49, 0xC845F8BBDF9283B1 /* 1593 */ - .quad 0x338E04D68BEFC827, 0x323AC7306A673E93, 0x908BF177BF250763 /* 1594 */ - .quad 0x671C09AD17DF904E, 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7 /* 1595 */ - .quad 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F /* 1596 */ - .quad 0x9C7026B45F7E4139, 0x91D639835339F49C, 0x845F8BBDF9283B1F /* 1597 */ - .quad 0x38E04D68BEFC8273, 0x23AC7306A673E939, 0x08BF177BF250763F /* 1598 */ - .quad 0x71C09AD17DF904E6, 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F /* 1599 */ - .quad 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF /* 1600 */ - .quad 0xC7026B45F7E41399, 0x1D639835339F49C8, 0x45F8BBDF9283B1FF /* 1601 */ - .quad 0x8E04D68BEFC82732, 0x3AC7306A673E9390, 0x8BF177BF250763FF /* 1602 */ - .quad 0x1C09AD17DF904E64, 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE /* 1603 */ - .quad 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC /* 1604 */ - .quad 0x7026B45F7E413991, 0xD639835339F49C84, 0x5F8BBDF9283B1FF8 /* 1605 */ - .quad 0xE04D68BEFC827323, 0xAC7306A673E93908, 0xBF177BF250763FF1 /* 1606 */ - .quad 0xC09AD17DF904E647, 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2 /* 1607 */ - .quad 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4 /* 1608 */ - .quad 0x026B45F7E413991D, 0x639835339F49C845, 0xF8BBDF9283B1FF89 /* 1609 */ - .quad 0x04D68BEFC827323A, 0xC7306A673E93908B, 0xF177BF250763FF12 /* 1610 */ - .quad 0x09AD17DF904E6475, 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25 /* 1611 */ - .quad 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B /* 1612 */ - .quad 0x26B45F7E413991D6, 0x39835339F49C845F, 0x8BBDF9283B1FF897 /* 1613 */ - .quad 0x4D68BEFC827323AC, 0x7306A673E93908BF, 0x177BF250763FF12F /* 1614 */ - .quad 0x9AD17DF904E64758, 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F /* 1615 */ - .quad 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF /* 1616 */ - .quad 0x6B45F7E413991D63, 0x9835339F49C845F8, 0xBBDF9283B1FF897F /* 1617 */ - .quad 0xD68BEFC827323AC7, 0x306A673E93908BF1, 0x77BF250763FF12FF /* 1618 */ - .quad 0xAD17DF904E64758E, 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF /* 1619 */ - .quad 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF /* 1620 */ - .quad 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF /* 1621 */ - .quad 0x68BEFC827323AC73, 0x06A673E93908BF17, 0x7BF250763FF12FFF /* 1622 */ - .quad 0xD17DF904E64758E6, 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF /* 1623 */ - .quad 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE /* 1624 */ - .quad 0x45F7E413991D6398, 0x35339F49C845F8BB, 0xDF9283B1FF897FFD /* 1625 */ - .quad 0x8BEFC827323AC730, 0x6A673E93908BF177, 0xBF250763FF12FFFB /* 1626 */ - .quad 0x17DF904E64758E60, 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7 /* 1627 */ - .quad 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF /* 1628 */ - .quad 0x5F7E413991D63983, 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE /* 1629 */ - .quad 0xBEFC827323AC7306, 0xA673E93908BF177B, 0xF250763FF12FFFBC /* 1630 */ - .quad 0x7DF904E64758E60D, 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78 /* 1631 */ - .quad 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0 /* 1632 */ - .quad 0xF7E413991D639835, 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0 /* 1633 */ - .quad 0xEFC827323AC7306A, 0x673E93908BF177BF, 0x250763FF12FFFBC0 /* 1634 */ - .quad 0xDF904E64758E60D4, 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781 /* 1635 */ - .quad 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02 /* 1636 */ - .quad 0x7E413991D6398353, 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05 /* 1637 */ - .quad 0xFC827323AC7306A6, 0x73E93908BF177BF2, 0x50763FF12FFFBC0B /* 1638 */ - .quad 0xF904E64758E60D4C, 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816 /* 1639 */ - .quad 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C /* 1640 */ - .quad 0xE413991D63983533, 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059 /* 1641 */ - .quad 0xC827323AC7306A67, 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3 /* 1642 */ - .quad 0x904E64758E60D4CE, 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166 /* 1643 */ - .quad 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC /* 1644 */ - .quad 0x413991D639835339, 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598 /* 1645 */ - .quad 0x827323AC7306A673, 0xE93908BF177BF250, 0x763FF12FFFBC0B30 /* 1646 */ - .quad 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660 /* 1647 */ - .quad 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0 /* 1648 */ - .quad 0x13991D639835339F, 0x49C845F8BBDF9283, 0xB1FF897FFDE05980 /* 1649 */ - .quad 0x27323AC7306A673E, 0x93908BF177BF2507, 0x63FF12FFFBC0B301 /* 1650 */ - .quad 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603 /* 1651 */ - .quad 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07 /* 1652 */ - .quad 0x3991D639835339F4, 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F /* 1653 */ - .quad 0x7323AC7306A673E9, 0x3908BF177BF25076, 0x3FF12FFFBC0B301F /* 1654 */ - .quad 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F /* 1655 */ - .quad 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F /* 1656 */ - .quad 0x991D639835339F49, 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE /* 1657 */ - .quad 0x323AC7306A673E93, 0x908BF177BF250763, 0xFF12FFFBC0B301FD /* 1658 */ - .quad 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB /* 1659 */ - .quad 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7 /* 1660 */ - .quad 0x91D639835339F49C, 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF /* 1661 */ - .quad 0x23AC7306A673E939, 0x08BF177BF250763F, 0xF12FFFBC0B301FDE /* 1662 */ - .quad 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC /* 1663 */ - .quad 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79 /* 1664 */ - .quad 0x1D639835339F49C8, 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2 /* 1665 */ - .quad 0x3AC7306A673E9390, 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5 /* 1666 */ - .quad 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB /* 1667 */ - .quad 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797 /* 1668 */ - .quad 0xD639835339F49C84, 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F /* 1669 */ - .quad 0xAC7306A673E93908, 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E /* 1670 */ - .quad 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC /* 1671 */ - .quad 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978 /* 1672 */ - .quad 0x639835339F49C845, 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1 /* 1673 */ - .quad 0xC7306A673E93908B, 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2 /* 1674 */ - .quad 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4 /* 1675 */ - .quad 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788 /* 1676 */ - .quad 0x39835339F49C845F, 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11 /* 1677 */ - .quad 0x7306A673E93908BF, 0x177BF250763FF12F, 0xFFBC0B301FDE5E23 /* 1678 */ - .quad 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46 /* 1679 */ - .quad 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C /* 1680 */ - .quad 0x9835339F49C845F8, 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118 /* 1681 */ - .quad 0x306A673E93908BF1, 0x77BF250763FF12FF, 0xFBC0B301FDE5E231 /* 1682 */ - .quad 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462 /* 1683 */ - .quad 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5 /* 1684 */ - .quad 0x835339F49C845F8B, 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B /* 1685 */ - .quad 0x06A673E93908BF17, 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316 /* 1686 */ - .quad 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D /* 1687 */ - .quad 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A /* 1688 */ - .quad 0x35339F49C845F8BB, 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5 /* 1689 */ - .quad 0x6A673E93908BF177, 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B /* 1690 */ - .quad 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6 /* 1691 */ - .quad 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD /* 1692 */ - .quad 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A /* 1693 */ - .quad 0xA673E93908BF177B, 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4 /* 1694 */ - .quad 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68 /* 1695 */ - .quad 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0 /* 1696 */ - .quad 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0 /* 1697 */ - .quad 0x673E93908BF177BF, 0x250763FF12FFFBC0, 0xB301FDE5E2316B41 /* 1698 */ - .quad 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682 /* 1699 */ - .quad 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05 /* 1700 */ - .quad 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A /* 1701 */ - .quad 0x73E93908BF177BF2, 0x50763FF12FFFBC0B, 0x301FDE5E2316B414 /* 1702 */ - .quad 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829 /* 1703 */ - .quad 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053 /* 1704 */ - .quad 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6 /* 1705 */ - .quad 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D /* 1706 */ - .quad 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B /* 1707 */ - .quad 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536 /* 1708 */ - .quad 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D /* 1709 */ - .quad 0xE93908BF177BF250, 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA /* 1710 */ - .quad 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4 /* 1711 */ - .quad 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368 /* 1712 */ - .quad 0x49C845F8BBDF9283, 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1 /* 1713 */ - .quad 0x93908BF177BF2507, 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3 /* 1714 */ - .quad 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603, 0xFBCBC462D6829B47 /* 1715 */ - .quad 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F /* 1716 */ - .quad 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F /* 1717 */ - .quad 0x3908BF177BF25076, 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E /* 1718 */ - .quad 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F, 0xBCBC462D6829B47D /* 1719 */ - .quad 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB /* 1720 */ - .quad 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6 /* 1721 */ - .quad 0x908BF177BF250763, 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED /* 1722 */ - .quad 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB, 0xCBC462D6829B47DB /* 1723 */ - .quad 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6 /* 1724 */ - .quad 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D /* 1725 */ - .quad 0x08BF177BF250763F, 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA /* 1726 */ - .quad 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC, 0xBC462D6829B47DB4 /* 1727 */ - .quad 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69 /* 1728 */ - .quad 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3 /* 1729 */ - .quad 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6 /* 1730 */ - .quad 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB, 0xC462D6829B47DB4D /* 1731 */ - .quad 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B /* 1732 */ - .quad 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36 /* 1733 */ - .quad 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C /* 1734 */ - .quad 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9 /* 1735 */ - .quad 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3 /* 1736 */ - .quad 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367 /* 1737 */ - .quad 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF /* 1738 */ - .quad 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F /* 1739 */ - .quad 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F /* 1740 */ - .quad 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E /* 1741 */ - .quad 0x177BF250763FF12F, 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD /* 1742 */ - .quad 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB /* 1743 */ - .quad 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6 /* 1744 */ - .quad 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC /* 1745 */ - .quad 0x77BF250763FF12FF, 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9 /* 1746 */ - .quad 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3 /* 1747 */ - .quad 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5, 0xAD05368FB69B3F67 /* 1748 */ - .quad 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF /* 1749 */ - .quad 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E /* 1750 */ - .quad 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C /* 1751 */ - .quad 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A, 0xD05368FB69B3F679 /* 1752 */ - .quad 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2 /* 1753 */ - .quad 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4 /* 1754 */ - .quad 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9 /* 1755 */ - .quad 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD, 0x05368FB69B3F6793 /* 1756 */ - .quad 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27 /* 1757 */ - .quad 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F /* 1758 */ - .quad 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F /* 1759 */ - .quad 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E /* 1760 */ - .quad 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C /* 1761 */ - .quad 0x250763FF12FFFBC0, 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9 /* 1762 */ - .quad 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2 /* 1763 */ - .quad 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05, 0x368FB69B3F6793E5 /* 1764 */ - .quad 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB /* 1765 */ - .quad 0x50763FF12FFFBC0B, 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96 /* 1766 */ - .quad 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C /* 1767 */ - .quad 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053, 0x68FB69B3F6793E58 /* 1768 */ - .quad 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0 /* 1769 */ - .quad 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961 /* 1770 */ - .quad 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2 /* 1771 */ - .quad 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536, 0x8FB69B3F6793E584 /* 1772 */ - .quad 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09 /* 1773 */ - .quad 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613 /* 1774 */ - .quad 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26 /* 1775 */ - .quad 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368, 0xFB69B3F6793E584D /* 1776 */ - .quad 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B /* 1777 */ - .quad 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136 /* 1778 */ - .quad 0xC7FE25FFF7816603, 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D /* 1779 */ - .quad 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F, 0xB69B3F6793E584DB /* 1780 */ - .quad 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7 /* 1781 */ - .quad 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E /* 1782 */ - .quad 0x7FE25FFF7816603F, 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD /* 1783 */ - .quad 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB, 0x69B3F6793E584DBA /* 1784 */ - .quad 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74 /* 1785 */ - .quad 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9 /* 1786 */ - .quad 0xFE25FFF7816603FB, 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3 /* 1787 */ - .quad 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7 /* 1788 */ - .quad 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F /* 1789 */ - .quad 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E /* 1790 */ - .quad 0xE25FFF7816603FBC, 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D /* 1791 */ - .quad 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69, 0xB3F6793E584DBA7A /* 1792 */ - .quad 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4 /* 1793 */ - .quad 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8 /* 1794 */ - .quad 0x25FFF7816603FBCB, 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1 /* 1795 */ - .quad 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3 /* 1796 */ - .quad 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46 /* 1797 */ - .quad 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C /* 1798 */ - .quad 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18 /* 1799 */ - .quad 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31 /* 1800 */ - .quad 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463 /* 1801 */ - .quad 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7 /* 1802 */ - .quad 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F /* 1803 */ - .quad 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F /* 1804 */ - .quad 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F /* 1805 */ - .quad 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E /* 1806 */ - .quad 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD /* 1807 */ - .quad 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB /* 1808 */ - .quad 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6 /* 1809 */ - .quad 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC /* 1810 */ - .quad 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9 /* 1811 */ - .quad 0xEF02CC07F79788C5, 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3 /* 1812 */ - .quad 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66 /* 1813 */ - .quad 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD /* 1814 */ - .quad 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A /* 1815 */ - .quad 0xF02CC07F79788C5A, 0xD05368FB69B3F679, 0x3E584DBA7A31FB34 /* 1816 */ - .quad 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669 /* 1817 */ - .quad 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3 /* 1818 */ - .quad 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7 /* 1819 */ - .quad 0x02CC07F79788C5AD, 0x05368FB69B3F6793, 0xE584DBA7A31FB34F /* 1820 */ - .quad 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E /* 1821 */ - .quad 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C /* 1822 */ - .quad 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79 /* 1823 */ - .quad 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2 /* 1824 */ - .quad 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5 /* 1825 */ - .quad 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB /* 1826 */ - .quad 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797 /* 1827 */ - .quad 0xCC07F79788C5AD05, 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F /* 1828 */ - .quad 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F /* 1829 */ - .quad 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF /* 1830 */ - .quad 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F /* 1831 */ - .quad 0xC07F79788C5AD053, 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF /* 1832 */ - .quad 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE /* 1833 */ - .quad 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD /* 1834 */ - .quad 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA /* 1835 */ - .quad 0x07F79788C5AD0536, 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5 /* 1836 */ - .quad 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA /* 1837 */ - .quad 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4 /* 1838 */ - .quad 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8 /* 1839 */ - .quad 0x7F79788C5AD05368, 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51 /* 1840 */ - .quad 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2 /* 1841 */ - .quad 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45 /* 1842 */ - .quad 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B /* 1843 */ - .quad 0xF79788C5AD05368F, 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516 /* 1844 */ - .quad 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D /* 1845 */ - .quad 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A /* 1846 */ - .quad 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5 /* 1847 */ - .quad 0x79788C5AD05368FB, 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B /* 1848 */ - .quad 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7 /* 1849 */ - .quad 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE /* 1850 */ - .quad 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D /* 1851 */ - .quad 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA /* 1852 */ - .quad 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F, 0x463F669E5FEA2D75 /* 1853 */ - .quad 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA /* 1854 */ - .quad 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4 /* 1855 */ - .quad 0x788C5AD05368FB69, 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9 /* 1856 */ - .quad 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752 /* 1857 */ - .quad 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4 /* 1858 */ - .quad 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49 /* 1859 */ - .quad 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93 /* 1860 */ - .quad 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527 /* 1861 */ - .quad 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F /* 1862 */ - .quad 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E /* 1863 */ - .quad 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D /* 1864 */ - .quad 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463, 0xF669E5FEA2D7527B /* 1865 */ - .quad 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7 /* 1866 */ - .quad 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE /* 1867 */ - .quad 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD /* 1868 */ - .quad 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA /* 1869 */ - .quad 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75 /* 1870 */ - .quad 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB /* 1871 */ - .quad 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6 /* 1872 */ - .quad 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC /* 1873 */ - .quad 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758 /* 1874 */ - .quad 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1 /* 1875 */ - .quad 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63 /* 1876 */ - .quad 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7 /* 1877 */ - .quad 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F /* 1878 */ - .quad 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F /* 1879 */ - .quad 0xD05368FB69B3F679, 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F /* 1880 */ - .quad 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E /* 1881 */ - .quad 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD /* 1882 */ - .quad 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA /* 1883 */ - .quad 0x05368FB69B3F6793, 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5 /* 1884 */ - .quad 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB /* 1885 */ - .quad 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7 /* 1886 */ - .quad 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF /* 1887 */ - .quad 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F /* 1888 */ - .quad 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE /* 1889 */ - .quad 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C /* 1890 */ - .quad 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9 /* 1891 */ - .quad 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2 /* 1892 */ - .quad 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5 /* 1893 */ - .quad 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB /* 1894 */ - .quad 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97 /* 1895 */ - .quad 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F /* 1896 */ - .quad 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F /* 1897 */ - .quad 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE /* 1898 */ - .quad 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C /* 1899 */ - .quad 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8 /* 1900 */ - .quad 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1 /* 1901 */ - .quad 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2 /* 1902 */ - .quad 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5 /* 1903 */ - .quad 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B /* 1904 */ - .quad 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17 /* 1905 */ - .quad 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F /* 1906 */ - .quad 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E /* 1907 */ - .quad 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD /* 1908 */ - .quad 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B /* 1909 */ - .quad 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6 /* 1910 */ - .quad 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC /* 1911 */ - .quad 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9 /* 1912 */ - .quad 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3 /* 1913 */ - .quad 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67 /* 1914 */ - .quad 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF /* 1915 */ - .quad 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E /* 1916 */ - .quad 0x367ECF27CB09B74F, 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D /* 1917 */ - .quad 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A /* 1918 */ - .quad 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4 /* 1919 */ - .quad 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8 /* 1920 */ - .quad 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0 /* 1921 */ - .quad 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0 /* 1922 */ - .quad 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41 /* 1923 */ - .quad 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83 /* 1924 */ - .quad 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07 /* 1925 */ - .quad 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E /* 1926 */ - .quad 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C /* 1927 */ - .quad 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839 /* 1928 */ - .quad 0xECF27CB09B74F463, 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073 /* 1929 */ - .quad 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7 /* 1930 */ - .quad 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE /* 1931 */ - .quad 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C /* 1932 */ - .quad 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739 /* 1933 */ - .quad 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73 /* 1934 */ - .quad 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7 /* 1935 */ - .quad 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF /* 1936 */ - .quad 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F /* 1937 */ - .quad 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E /* 1938 */ - .quad 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D /* 1939 */ - .quad 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB /* 1940 */ - .quad 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7 /* 1941 */ - .quad 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF /* 1942 */ - .quad 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE /* 1943 */ - .quad 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC /* 1944 */ - .quad 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78 /* 1945 */ - .quad 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1 /* 1946 */ - .quad 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2 /* 1947 */ - .quad 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5 /* 1948 */ - .quad 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A /* 1949 */ - .quad 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14 /* 1950 */ - .quad 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29 /* 1951 */ - .quad 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52 /* 1952 */ - .quad 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5 /* 1953 */ - .quad 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A /* 1954 */ - .quad 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294 /* 1955 */ - .quad 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529 /* 1956 */ - .quad 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52 /* 1957 */ - .quad 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5 /* 1958 */ - .quad 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A /* 1959 */ - .quad 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294 /* 1960 */ - .quad 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529 /* 1961 */ - .quad 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52 /* 1962 */ - .quad 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4 /* 1963 */ - .quad 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949 /* 1964 */ - .quad 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292 /* 1965 */ - .quad 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525 /* 1966 */ - .quad 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B /* 1967 */ - .quad 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497 /* 1968 */ - .quad 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E /* 1969 */ - .quad 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D /* 1970 */ - .quad 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA /* 1971 */ - .quad 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975 /* 1972 */ - .quad 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA /* 1973 */ - .quad 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4 /* 1974 */ - .quad 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9 /* 1975 */ - .quad 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753 /* 1976 */ - .quad 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6 /* 1977 */ - .quad 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D /* 1978 */ - .quad 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A /* 1979 */ - .quad 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E, 0x839CFBC529497535 /* 1980 */ - .quad 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B /* 1981 */ - .quad 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7 /* 1982 */ - .quad 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF /* 1983 */ - .quad 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8, 0x39CFBC529497535F /* 1984 */ - .quad 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0, 0x739F78A5292EA6BF /* 1985 */ - .quad 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0, 0xE73EF14A525D4D7F /* 1986 */ - .quad 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41, 0xCE7DE294A4BA9AFE /* 1987 */ - .quad 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83, 0x9CFBC529497535FD /* 1988 */ - .quad 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07, 0x39F78A5292EA6BFB /* 1989 */ - .quad 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E, 0x73EF14A525D4D7F6 /* 1990 */ - .quad 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C, 0xE7DE294A4BA9AFED /* 1991 */ - .quad 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839, 0xCFBC529497535FDA /* 1992 */ - .quad 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073, 0x9F78A5292EA6BFB5 /* 1993 */ - .quad 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7, 0x3EF14A525D4D7F6B /* 1994 */ - .quad 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE, 0x7DE294A4BA9AFED7 /* 1995 */ - .quad 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C, 0xFBC529497535FDAF /* 1996 */ - .quad 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739, 0xF78A5292EA6BFB5F /* 1997 */ - .quad 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73, 0xEF14A525D4D7F6BF /* 1998 */ - .quad 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7, 0xDE294A4BA9AFED7E /* 1999 */ - .quad 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF, 0xBC529497535FDAFD /* 2000 */ - .quad 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F, 0x78A5292EA6BFB5FB /* 2001 */ - .quad 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E, 0xF14A525D4D7F6BF6 /* 2002 */ - .quad 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D, 0xE294A4BA9AFED7EC /* 2003 */ - .quad 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB, 0xC529497535FDAFD8 /* 2004 */ - .quad 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1 /* 2005 */ - .quad 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF, 0x14A525D4D7F6BF62 /* 2006 */ - .quad 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE, 0x294A4BA9AFED7EC4 /* 2007 */ - .quad 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC, 0x529497535FDAFD88 /* 2008 */ - .quad 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78, 0xA5292EA6BFB5FB11 /* 2009 */ - .quad 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1, 0x4A525D4D7F6BF623 /* 2010 */ - .quad 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2, 0x94A4BA9AFED7EC47 /* 2011 */ - .quad 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5, 0x29497535FDAFD88F /* 2012 */ - .quad 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A, 0x5292EA6BFB5FB11F /* 2013 */ - .quad 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14, 0xA525D4D7F6BF623F /* 2014 */ - .quad 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29, 0x4A4BA9AFED7EC47E /* 2015 */ - .quad 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52, 0x9497535FDAFD88FC /* 2016 */ - .quad 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5, 0x292EA6BFB5FB11F8 /* 2017 */ - .quad 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A, 0x525D4D7F6BF623F1 /* 2018 */ - .quad 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294, 0xA4BA9AFED7EC47E3 /* 2019 */ - .quad 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529, 0x497535FDAFD88FC6 /* 2020 */ - .quad 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52, 0x92EA6BFB5FB11F8D /* 2021 */ - .quad 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5, 0x25D4D7F6BF623F1A /* 2022 */ - .quad 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A, 0x4BA9AFED7EC47E35 /* 2023 */ - .quad 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294, 0x97535FDAFD88FC6A /* 2024 */ - .quad 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529, 0x2EA6BFB5FB11F8D5 /* 2025 */ - .quad 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52, 0x5D4D7F6BF623F1AB /* 2026 */ - .quad 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4, 0xBA9AFED7EC47E357 /* 2027 */ - .quad 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949, 0x7535FDAFD88FC6AE /* 2028 */ - .quad 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292, 0xEA6BFB5FB11F8D5D /* 2029 */ - .quad 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525, 0xD4D7F6BF623F1ABA /* 2030 */ - .quad 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B, 0xA9AFED7EC47E3574 /* 2031 */ - .quad 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497, 0x535FDAFD88FC6AE8 /* 2032 */ - .quad 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E, 0xA6BFB5FB11F8D5D0 /* 2033 */ - .quad 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D, 0x4D7F6BF623F1ABA1 /* 2034 */ - .quad 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA, 0x9AFED7EC47E35742 /* 2035 */ - .quad 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975, 0x35FDAFD88FC6AE84 /* 2036 */ - .quad 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA, 0x6BFB5FB11F8D5D08 /* 2037 */ - .quad 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4, 0xD7F6BF623F1ABA10 /* 2038 */ - .quad 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9, 0xAFED7EC47E357421 /* 2039 */ - .quad 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753, 0x5FDAFD88FC6AE842 /* 2040 */ - .quad 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6, 0xBFB5FB11F8D5D085 /* 2041 */ - .quad 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D, 0x7F6BF623F1ABA10A /* 2042 */ - .quad 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A, 0xFED7EC47E3574215 /* 2043 */ - .quad 0x93DD63F5F2F8BD9E, 0x839CFBC529497535, 0xFDAFD88FC6AE842B /* 2044 */ - .quad 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B, 0xFB5FB11F8D5D0856 /* 2045 */ - .quad 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7, 0xF6BF623F1ABA10AC /* 2046 */ - .quad 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF, 0xED7EC47E35742158 /* 2047 */ - .align 32 - .type __svml_dtan_reduction_data_internal,@object - .size __svml_dtan_reduction_data_internal,.-__svml_dtan_reduction_data_internal + /* P_hi P_med P_lo */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 0 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 1 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 2 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 3 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 4 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 5 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 6 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 7 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 8 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 9 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 10 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 11 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 12 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 13 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 14 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 15 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 16 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 17 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 18 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 19 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 20 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 21 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 22 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 23 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 24 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 25 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 26 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 27 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 28 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 29 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 30 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 31 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 32 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 33 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 34 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 35 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 36 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 37 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 38 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 39 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 40 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 41 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 42 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 43 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 44 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 45 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 46 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 47 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 48 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 49 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 50 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 51 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 52 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 53 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 54 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 55 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 56 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 57 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 58 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 59 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 60 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 61 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 62 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 63 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 64 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 65 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 66 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 67 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 68 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 69 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 70 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 71 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 72 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 73 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 74 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 75 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 76 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 77 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 78 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 79 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 80 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 81 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 82 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 83 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 84 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 85 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 86 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 87 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 88 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 89 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 90 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 91 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 92 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 93 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 94 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 95 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 96 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 97 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 98 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 99 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 100 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 101 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 102 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 103 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 104 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 105 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 106 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 107 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 108 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 109 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 110 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 111 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 112 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 113 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 114 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 115 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 116 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 117 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 118 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 119 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 120 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 121 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 122 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 123 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 124 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 125 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 126 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 127 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 128 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 129 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 130 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 131 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 132 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 133 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 134 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 135 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 136 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 137 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 138 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 139 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 140 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 141 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 142 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 143 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 144 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 145 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 146 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 147 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 148 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 149 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 150 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 151 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 152 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 153 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 154 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 155 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 156 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 157 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 158 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 159 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 160 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 161 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 162 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 163 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 164 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 165 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 166 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 167 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 168 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 169 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 170 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 171 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 172 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 173 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 174 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 175 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 176 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 177 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 178 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 179 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 180 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 181 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 182 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 183 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 184 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 185 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 186 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 187 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 188 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 189 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 190 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 191 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 192 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 193 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 194 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 195 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 196 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 197 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 198 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 199 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 200 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 201 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 202 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 203 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 204 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 205 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 206 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 207 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 208 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 209 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 210 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 211 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 212 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 213 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 214 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 215 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 216 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 217 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 218 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 219 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 220 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 221 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 222 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 223 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 224 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 225 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 226 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 227 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 228 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 229 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 230 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 231 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 232 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 233 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 234 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 235 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 236 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 237 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 238 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 239 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 240 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 241 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 242 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 243 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 244 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 245 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 246 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 247 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 248 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 249 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 250 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 251 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 252 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 253 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 254 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 255 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 256 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 257 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 258 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 259 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 260 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 261 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 262 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 263 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 264 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 265 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 266 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 267 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 268 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 269 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 270 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 271 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 272 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 273 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 274 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 275 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 276 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 277 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 278 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 279 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 280 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 281 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 282 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 283 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 284 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 285 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 286 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 287 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 288 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 289 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 290 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 291 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 292 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 293 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 294 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 295 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 296 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 297 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 298 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 299 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 300 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 301 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 302 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 303 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 304 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 305 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 306 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 307 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 308 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 309 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 310 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 311 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 312 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 313 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 314 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 315 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 316 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 317 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 318 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 319 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 320 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 321 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 322 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 323 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 324 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 325 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 326 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 327 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 328 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 329 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 330 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 331 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 332 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 333 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 334 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 335 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 336 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 337 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 338 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 339 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 340 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 341 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 342 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 343 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 344 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 345 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 346 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 347 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 348 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 349 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 350 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 351 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 352 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 353 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 354 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 355 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 356 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 357 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 358 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 359 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 360 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 361 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 362 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 363 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 364 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 365 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 366 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 367 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 368 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 369 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 370 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 371 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 372 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 373 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 374 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 375 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 376 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 377 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 378 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 379 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 380 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 381 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 382 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 383 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 384 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 385 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 386 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 387 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 388 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 389 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 390 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 391 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 392 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 393 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 394 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 395 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 396 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 397 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 398 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 399 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 400 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 401 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 402 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 403 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 404 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 405 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 406 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 407 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 408 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 409 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 410 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 411 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 412 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 413 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 414 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 415 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 416 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 417 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 418 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 419 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 420 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 421 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 422 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 423 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 424 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 425 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 426 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 427 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 428 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 429 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 430 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 431 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 432 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 433 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 434 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 435 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 436 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 437 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 438 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 439 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 440 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 441 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 442 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 443 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 444 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 445 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 446 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 447 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 448 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 449 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 450 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 451 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 452 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 453 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 454 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 455 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 456 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 457 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 458 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 459 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 460 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 461 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 462 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 463 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 464 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 465 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 466 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 467 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 468 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 469 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 470 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 471 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 472 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 473 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 474 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 475 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 476 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 477 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 478 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 479 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 480 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 481 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 482 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 483 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 484 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 485 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 486 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 487 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 488 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 489 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 490 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 491 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 492 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 493 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 494 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 495 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 496 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 497 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 498 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 499 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 500 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 501 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 502 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 503 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 504 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 505 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 506 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 507 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 508 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 509 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 510 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 511 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 512 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 513 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 514 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 515 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 516 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 517 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 518 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 519 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 520 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 521 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 522 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 523 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 524 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 525 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 526 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 527 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 528 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 529 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 530 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 531 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 532 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 533 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 534 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 535 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 536 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 537 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 538 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 539 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 540 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 541 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 542 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 543 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 544 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 545 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 546 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 547 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 548 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 549 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 550 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 551 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 552 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 553 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 554 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 555 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 556 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 557 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 558 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 559 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 560 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 561 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 562 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 563 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 564 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 565 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 566 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 567 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 568 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 569 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 570 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 571 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 572 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 573 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 574 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 575 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 576 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 577 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 578 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 579 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 580 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 581 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 582 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 583 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 584 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 585 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 586 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 587 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 588 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 589 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 590 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 591 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 592 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 593 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 594 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 595 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 596 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 597 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 598 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 599 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 600 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 601 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 602 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 603 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 604 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 605 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 606 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 607 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 608 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 609 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 610 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 611 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 612 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 613 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 614 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 615 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 616 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 617 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 618 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 619 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 620 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 621 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 622 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 623 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 624 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 625 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 626 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 627 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 628 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 629 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 630 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 631 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 632 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 633 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 634 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 635 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 636 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 637 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 638 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 639 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 640 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 641 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 642 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 643 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 644 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 645 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 646 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 647 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 648 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 649 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 650 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 651 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 652 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 653 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 654 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 655 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 656 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 657 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 658 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 659 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 660 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 661 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 662 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 663 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 664 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 665 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 666 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 667 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 668 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 669 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 670 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 671 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 672 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 673 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 674 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 675 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 676 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 677 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 678 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 679 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 680 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 681 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 682 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 683 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 684 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 685 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 686 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 687 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 688 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 689 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 690 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 691 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 692 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 693 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 694 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 695 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 696 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 697 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 698 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 699 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 700 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 701 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 702 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 703 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 704 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 705 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 706 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 707 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 708 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 709 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 710 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 711 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 712 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 713 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 714 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 715 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 716 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 717 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 718 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 719 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 720 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 721 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 722 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 723 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 724 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 725 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 726 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 727 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 728 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 729 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 730 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 731 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 732 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 733 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 734 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 735 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 736 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 737 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 738 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 739 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 740 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 741 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 742 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 743 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 744 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 745 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 746 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 747 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 748 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 749 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 750 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 751 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 752 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 753 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 754 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 755 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 756 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 757 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 758 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 759 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 760 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 761 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 762 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 763 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 764 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 765 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 766 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 767 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 768 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 769 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 770 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 771 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 772 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 773 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 774 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 775 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 776 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 777 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 778 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 779 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 780 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 781 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 782 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 783 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 784 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 785 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 786 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 787 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 788 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 789 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 790 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 791 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 792 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 793 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 794 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 795 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 796 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 797 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 798 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 799 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 800 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 801 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 802 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 803 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 804 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 805 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 806 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 807 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 808 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 809 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 810 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 811 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 812 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 813 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 814 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 815 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 816 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 817 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 818 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 819 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 820 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 821 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 822 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 823 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 824 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 825 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 826 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 827 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 828 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 829 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 830 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 831 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 832 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 833 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 834 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 835 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 836 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 837 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 838 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 839 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 840 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 841 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 842 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 843 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 844 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 845 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 846 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 847 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 848 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 849 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 850 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 851 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 852 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 853 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 854 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 855 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 856 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 857 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 858 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 859 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 860 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 861 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 862 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 863 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 864 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 865 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 866 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 867 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 868 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 869 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 870 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 871 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 872 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 873 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 874 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 875 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 876 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 877 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 878 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 879 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 880 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 881 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 882 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 883 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 884 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 885 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000001 /* 886 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000002 /* 887 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000005 /* 888 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000000A /* 889 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000014 /* 890 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000028 /* 891 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000051 /* 892 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000000A2 /* 893 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000145 /* 894 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000028B /* 895 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000517 /* 896 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000A2F /* 897 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000145F /* 898 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000028BE /* 899 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000517C /* 900 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000A2F9 /* 901 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000145F3 /* 902 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000028BE6 /* 903 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000517CC /* 904 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000A2F98 /* 905 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000145F30 /* 906 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000028BE60 /* 907 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000517CC1 /* 908 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000A2F983 /* 909 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000145F306 /* 910 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000028BE60D /* 911 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000517CC1B /* 912 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000A2F9836 /* 913 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000145F306D /* 914 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000028BE60DB /* 915 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000517CC1B7 /* 916 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000A2F9836E /* 917 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000145F306DC /* 918 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000028BE60DB9 /* 919 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000517CC1B72 /* 920 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000A2F9836E4 /* 921 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000145F306DC9 /* 922 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000028BE60DB93 /* 923 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000517CC1B727 /* 924 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000A2F9836E4E /* 925 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000145F306DC9C /* 926 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000028BE60DB939 /* 927 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000517CC1B7272 /* 928 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000A2F9836E4E4 /* 929 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000145F306DC9C8 /* 930 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000028BE60DB9391 /* 931 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000517CC1B72722 /* 932 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000A2F9836E4E44 /* 933 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000145F306DC9C88 /* 934 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00028BE60DB93910 /* 935 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000517CC1B727220 /* 936 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000A2F9836E4E441 /* 937 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00145F306DC9C882 /* 938 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0028BE60DB939105 /* 939 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00517CC1B727220A /* 940 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00A2F9836E4E4415 /* 941 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0145F306DC9C882A /* 942 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x028BE60DB9391054 /* 943 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0517CC1B727220A9 /* 944 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0A2F9836E4E44152 /* 945 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x145F306DC9C882A5 /* 946 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x28BE60DB9391054A /* 947 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x517CC1B727220A94 /* 948 */ + .quad 0x0000000000000000, 0x0000000000000000, 0xA2F9836E4E441529 /* 949 */ + .quad 0x0000000000000000, 0x0000000000000001, 0x45F306DC9C882A53 /* 950 */ + .quad 0x0000000000000000, 0x0000000000000002, 0x8BE60DB9391054A7 /* 951 */ + .quad 0x0000000000000000, 0x0000000000000005, 0x17CC1B727220A94F /* 952 */ + .quad 0x0000000000000000, 0x000000000000000A, 0x2F9836E4E441529F /* 953 */ + .quad 0x0000000000000000, 0x0000000000000014, 0x5F306DC9C882A53F /* 954 */ + .quad 0x0000000000000000, 0x0000000000000028, 0xBE60DB9391054A7F /* 955 */ + .quad 0x0000000000000000, 0x0000000000000051, 0x7CC1B727220A94FE /* 956 */ + .quad 0x0000000000000000, 0x00000000000000A2, 0xF9836E4E441529FC /* 957 */ + .quad 0x0000000000000000, 0x0000000000000145, 0xF306DC9C882A53F8 /* 958 */ + .quad 0x0000000000000000, 0x000000000000028B, 0xE60DB9391054A7F0 /* 959 */ + .quad 0x0000000000000000, 0x0000000000000517, 0xCC1B727220A94FE1 /* 960 */ + .quad 0x0000000000000000, 0x0000000000000A2F, 0x9836E4E441529FC2 /* 961 */ + .quad 0x0000000000000000, 0x000000000000145F, 0x306DC9C882A53F84 /* 962 */ + .quad 0x0000000000000000, 0x00000000000028BE, 0x60DB9391054A7F09 /* 963 */ + .quad 0x0000000000000000, 0x000000000000517C, 0xC1B727220A94FE13 /* 964 */ + .quad 0x0000000000000000, 0x000000000000A2F9, 0x836E4E441529FC27 /* 965 */ + .quad 0x0000000000000000, 0x00000000000145F3, 0x06DC9C882A53F84E /* 966 */ + .quad 0x0000000000000000, 0x0000000000028BE6, 0x0DB9391054A7F09D /* 967 */ + .quad 0x0000000000000000, 0x00000000000517CC, 0x1B727220A94FE13A /* 968 */ + .quad 0x0000000000000000, 0x00000000000A2F98, 0x36E4E441529FC275 /* 969 */ + .quad 0x0000000000000000, 0x0000000000145F30, 0x6DC9C882A53F84EA /* 970 */ + .quad 0x0000000000000000, 0x000000000028BE60, 0xDB9391054A7F09D5 /* 971 */ + .quad 0x0000000000000000, 0x0000000000517CC1, 0xB727220A94FE13AB /* 972 */ + .quad 0x0000000000000000, 0x0000000000A2F983, 0x6E4E441529FC2757 /* 973 */ + .quad 0x0000000000000000, 0x000000000145F306, 0xDC9C882A53F84EAF /* 974 */ + .quad 0x0000000000000000, 0x00000000028BE60D, 0xB9391054A7F09D5F /* 975 */ + .quad 0x0000000000000000, 0x000000000517CC1B, 0x727220A94FE13ABE /* 976 */ + .quad 0x0000000000000000, 0x000000000A2F9836, 0xE4E441529FC2757D /* 977 */ + .quad 0x0000000000000000, 0x00000000145F306D, 0xC9C882A53F84EAFA /* 978 */ + .quad 0x0000000000000000, 0x0000000028BE60DB, 0x9391054A7F09D5F4 /* 979 */ + .quad 0x0000000000000000, 0x00000000517CC1B7, 0x27220A94FE13ABE8 /* 980 */ + .quad 0x0000000000000000, 0x00000000A2F9836E, 0x4E441529FC2757D1 /* 981 */ + .quad 0x0000000000000000, 0x0000000145F306DC, 0x9C882A53F84EAFA3 /* 982 */ + .quad 0x0000000000000000, 0x000000028BE60DB9, 0x391054A7F09D5F47 /* 983 */ + .quad 0x0000000000000000, 0x0000000517CC1B72, 0x7220A94FE13ABE8F /* 984 */ + .quad 0x0000000000000000, 0x0000000A2F9836E4, 0xE441529FC2757D1F /* 985 */ + .quad 0x0000000000000000, 0x000000145F306DC9, 0xC882A53F84EAFA3E /* 986 */ + .quad 0x0000000000000000, 0x00000028BE60DB93, 0x91054A7F09D5F47D /* 987 */ + .quad 0x0000000000000000, 0x000000517CC1B727, 0x220A94FE13ABE8FA /* 988 */ + .quad 0x0000000000000000, 0x000000A2F9836E4E, 0x441529FC2757D1F5 /* 989 */ + .quad 0x0000000000000000, 0x00000145F306DC9C, 0x882A53F84EAFA3EA /* 990 */ + .quad 0x0000000000000000, 0x0000028BE60DB939, 0x1054A7F09D5F47D4 /* 991 */ + .quad 0x0000000000000000, 0x00000517CC1B7272, 0x20A94FE13ABE8FA9 /* 992 */ + .quad 0x0000000000000000, 0x00000A2F9836E4E4, 0x41529FC2757D1F53 /* 993 */ + .quad 0x0000000000000000, 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6 /* 994 */ + .quad 0x0000000000000000, 0x000028BE60DB9391, 0x054A7F09D5F47D4D /* 995 */ + .quad 0x0000000000000000, 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A /* 996 */ + .quad 0x0000000000000000, 0x0000A2F9836E4E44, 0x1529FC2757D1F534 /* 997 */ + .quad 0x0000000000000000, 0x000145F306DC9C88, 0x2A53F84EAFA3EA69 /* 998 */ + .quad 0x0000000000000000, 0x00028BE60DB93910, 0x54A7F09D5F47D4D3 /* 999 */ + .quad 0x0000000000000000, 0x000517CC1B727220, 0xA94FE13ABE8FA9A6 /* 1000 */ + .quad 0x0000000000000000, 0x000A2F9836E4E441, 0x529FC2757D1F534D /* 1001 */ + .quad 0x0000000000000000, 0x00145F306DC9C882, 0xA53F84EAFA3EA69B /* 1002 */ + .quad 0x0000000000000000, 0x0028BE60DB939105, 0x4A7F09D5F47D4D37 /* 1003 */ + .quad 0x0000000000000000, 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E /* 1004 */ + .quad 0x0000000000000000, 0x00A2F9836E4E4415, 0x29FC2757D1F534DD /* 1005 */ + .quad 0x0000000000000000, 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB /* 1006 */ + .quad 0x0000000000000000, 0x028BE60DB9391054, 0xA7F09D5F47D4D377 /* 1007 */ + .quad 0x0000000000000000, 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE /* 1008 */ + .quad 0x0000000000000000, 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC /* 1009 */ + .quad 0x0000000000000000, 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8 /* 1010 */ + .quad 0x0000000000000000, 0x28BE60DB9391054A, 0x7F09D5F47D4D3770 /* 1011 */ + .quad 0x0000000000000000, 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0 /* 1012 */ + .quad 0x0000000000000000, 0xA2F9836E4E441529, 0xFC2757D1F534DDC0 /* 1013 */ + .quad 0x0000000000000001, 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81 /* 1014 */ + .quad 0x0000000000000002, 0x8BE60DB9391054A7, 0xF09D5F47D4D37703 /* 1015 */ + .quad 0x0000000000000005, 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06 /* 1016 */ + .quad 0x000000000000000A, 0x2F9836E4E441529F, 0xC2757D1F534DDC0D /* 1017 */ + .quad 0x0000000000000014, 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B /* 1018 */ + .quad 0x0000000000000028, 0xBE60DB9391054A7F, 0x09D5F47D4D377036 /* 1019 */ + .quad 0x0000000000000051, 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D /* 1020 */ + .quad 0x00000000000000A2, 0xF9836E4E441529FC, 0x2757D1F534DDC0DB /* 1021 */ + .quad 0x0000000000000145, 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6 /* 1022 */ + .quad 0x000000000000028B, 0xE60DB9391054A7F0, 0x9D5F47D4D377036D /* 1023 */ + .quad 0x0000000000000517, 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB /* 1024 */ + .quad 0x0000000000000A2F, 0x9836E4E441529FC2, 0x757D1F534DDC0DB6 /* 1025 */ + .quad 0x000000000000145F, 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C /* 1026 */ + .quad 0x00000000000028BE, 0x60DB9391054A7F09, 0xD5F47D4D377036D8 /* 1027 */ + .quad 0x000000000000517C, 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1 /* 1028 */ + .quad 0x000000000000A2F9, 0x836E4E441529FC27, 0x57D1F534DDC0DB62 /* 1029 */ + .quad 0x00000000000145F3, 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5 /* 1030 */ + .quad 0x0000000000028BE6, 0x0DB9391054A7F09D, 0x5F47D4D377036D8A /* 1031 */ + .quad 0x00000000000517CC, 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14 /* 1032 */ + .quad 0x00000000000A2F98, 0x36E4E441529FC275, 0x7D1F534DDC0DB629 /* 1033 */ + .quad 0x0000000000145F30, 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52 /* 1034 */ + .quad 0x000000000028BE60, 0xDB9391054A7F09D5, 0xF47D4D377036D8A5 /* 1035 */ + .quad 0x0000000000517CC1, 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A /* 1036 */ + .quad 0x0000000000A2F983, 0x6E4E441529FC2757, 0xD1F534DDC0DB6295 /* 1037 */ + .quad 0x000000000145F306, 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B /* 1038 */ + .quad 0x00000000028BE60D, 0xB9391054A7F09D5F, 0x47D4D377036D8A56 /* 1039 */ + .quad 0x000000000517CC1B, 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC /* 1040 */ + .quad 0x000000000A2F9836, 0xE4E441529FC2757D, 0x1F534DDC0DB62959 /* 1041 */ + .quad 0x00000000145F306D, 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3 /* 1042 */ + .quad 0x0000000028BE60DB, 0x9391054A7F09D5F4, 0x7D4D377036D8A566 /* 1043 */ + .quad 0x00000000517CC1B7, 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC /* 1044 */ + .quad 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599 /* 1045 */ + .quad 0x0000000145F306DC, 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32 /* 1046 */ + .quad 0x000000028BE60DB9, 0x391054A7F09D5F47, 0xD4D377036D8A5664 /* 1047 */ + .quad 0x0000000517CC1B72, 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9 /* 1048 */ + .quad 0x0000000A2F9836E4, 0xE441529FC2757D1F, 0x534DDC0DB6295993 /* 1049 */ + .quad 0x000000145F306DC9, 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327 /* 1050 */ + .quad 0x00000028BE60DB93, 0x91054A7F09D5F47D, 0x4D377036D8A5664F /* 1051 */ + .quad 0x000000517CC1B727, 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E /* 1052 */ + .quad 0x000000A2F9836E4E, 0x441529FC2757D1F5, 0x34DDC0DB6295993C /* 1053 */ + .quad 0x00000145F306DC9C, 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278 /* 1054 */ + .quad 0x0000028BE60DB939, 0x1054A7F09D5F47D4, 0xD377036D8A5664F1 /* 1055 */ + .quad 0x00000517CC1B7272, 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2 /* 1056 */ + .quad 0x00000A2F9836E4E4, 0x41529FC2757D1F53, 0x4DDC0DB6295993C4 /* 1057 */ + .quad 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788 /* 1058 */ + .quad 0x000028BE60DB9391, 0x054A7F09D5F47D4D, 0x377036D8A5664F10 /* 1059 */ + .quad 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21 /* 1060 */ + .quad 0x0000A2F9836E4E44, 0x1529FC2757D1F534, 0xDDC0DB6295993C43 /* 1061 */ + .quad 0x000145F306DC9C88, 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887 /* 1062 */ + .quad 0x00028BE60DB93910, 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E /* 1063 */ + .quad 0x000517CC1B727220, 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C /* 1064 */ + .quad 0x000A2F9836E4E441, 0x529FC2757D1F534D, 0xDC0DB6295993C439 /* 1065 */ + .quad 0x00145F306DC9C882, 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872 /* 1066 */ + .quad 0x0028BE60DB939105, 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4 /* 1067 */ + .quad 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8 /* 1068 */ + .quad 0x00A2F9836E4E4415, 0x29FC2757D1F534DD, 0xC0DB6295993C4390 /* 1069 */ + .quad 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB, 0x81B6C52B32788720 /* 1070 */ + .quad 0x028BE60DB9391054, 0xA7F09D5F47D4D377, 0x036D8A5664F10E41 /* 1071 */ + .quad 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82 /* 1072 */ + .quad 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC, 0x0DB6295993C43904 /* 1073 */ + .quad 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208 /* 1074 */ + .quad 0x28BE60DB9391054A, 0x7F09D5F47D4D3770, 0x36D8A5664F10E410 /* 1075 */ + .quad 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820 /* 1076 */ + .quad 0xA2F9836E4E441529, 0xFC2757D1F534DDC0, 0xDB6295993C439041 /* 1077 */ + .quad 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81, 0xB6C52B3278872083 /* 1078 */ + .quad 0x8BE60DB9391054A7, 0xF09D5F47D4D37703, 0x6D8A5664F10E4107 /* 1079 */ + .quad 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F /* 1080 */ + .quad 0x2F9836E4E441529F, 0xC2757D1F534DDC0D, 0xB6295993C439041F /* 1081 */ + .quad 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B, 0x6C52B3278872083F /* 1082 */ + .quad 0xBE60DB9391054A7F, 0x09D5F47D4D377036, 0xD8A5664F10E4107F /* 1083 */ + .quad 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF /* 1084 */ + .quad 0xF9836E4E441529FC, 0x2757D1F534DDC0DB, 0x6295993C439041FE /* 1085 */ + .quad 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC /* 1086 */ + .quad 0xE60DB9391054A7F0, 0x9D5F47D4D377036D, 0x8A5664F10E4107F9 /* 1087 */ + .quad 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2 /* 1088 */ + .quad 0x9836E4E441529FC2, 0x757D1F534DDC0DB6, 0x295993C439041FE5 /* 1089 */ + .quad 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA /* 1090 */ + .quad 0x60DB9391054A7F09, 0xD5F47D4D377036D8, 0xA5664F10E4107F94 /* 1091 */ + .quad 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28 /* 1092 */ + .quad 0x836E4E441529FC27, 0x57D1F534DDC0DB62, 0x95993C439041FE51 /* 1093 */ + .quad 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2 /* 1094 */ + .quad 0x0DB9391054A7F09D, 0x5F47D4D377036D8A, 0x5664F10E4107F945 /* 1095 */ + .quad 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B /* 1096 */ + .quad 0x36E4E441529FC275, 0x7D1F534DDC0DB629, 0x5993C439041FE516 /* 1097 */ + .quad 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C /* 1098 */ + .quad 0xDB9391054A7F09D5, 0xF47D4D377036D8A5, 0x664F10E4107F9458 /* 1099 */ + .quad 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1 /* 1100 */ + .quad 0x6E4E441529FC2757, 0xD1F534DDC0DB6295, 0x993C439041FE5163 /* 1101 */ + .quad 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7 /* 1102 */ + .quad 0xB9391054A7F09D5F, 0x47D4D377036D8A56, 0x64F10E4107F9458E /* 1103 */ + .quad 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D /* 1104 */ + .quad 0xE4E441529FC2757D, 0x1F534DDC0DB62959, 0x93C439041FE5163A /* 1105 */ + .quad 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3, 0x278872083FCA2C75 /* 1106 */ + .quad 0x9391054A7F09D5F4, 0x7D4D377036D8A566, 0x4F10E4107F9458EA /* 1107 */ + .quad 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5 /* 1108 */ + .quad 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB /* 1109 */ + .quad 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32, 0x78872083FCA2C757 /* 1110 */ + .quad 0x391054A7F09D5F47, 0xD4D377036D8A5664, 0xF10E4107F9458EAF /* 1111 */ + .quad 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E /* 1112 */ + .quad 0xE441529FC2757D1F, 0x534DDC0DB6295993, 0xC439041FE5163ABD /* 1113 */ + .quad 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327, 0x8872083FCA2C757B /* 1114 */ + .quad 0x91054A7F09D5F47D, 0x4D377036D8A5664F, 0x10E4107F9458EAF7 /* 1115 */ + .quad 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF /* 1116 */ + .quad 0x441529FC2757D1F5, 0x34DDC0DB6295993C, 0x439041FE5163ABDE /* 1117 */ + .quad 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278, 0x872083FCA2C757BD /* 1118 */ + .quad 0x1054A7F09D5F47D4, 0xD377036D8A5664F1, 0x0E4107F9458EAF7A /* 1119 */ + .quad 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5 /* 1120 */ + .quad 0x41529FC2757D1F53, 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB /* 1121 */ + .quad 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788, 0x72083FCA2C757BD7 /* 1122 */ + .quad 0x054A7F09D5F47D4D, 0x377036D8A5664F10, 0xE4107F9458EAF7AE /* 1123 */ + .quad 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D /* 1124 */ + .quad 0x1529FC2757D1F534, 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB /* 1125 */ + .quad 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887, 0x2083FCA2C757BD77 /* 1126 */ + .quad 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E, 0x4107F9458EAF7AEF /* 1127 */ + .quad 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE /* 1128 */ + .quad 0x529FC2757D1F534D, 0xDC0DB6295993C439, 0x041FE5163ABDEBBC /* 1129 */ + .quad 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872, 0x083FCA2C757BD778 /* 1130 */ + .quad 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1 /* 1131 */ + .quad 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2 /* 1132 */ + .quad 0x29FC2757D1F534DD, 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5 /* 1133 */ + .quad 0x53F84EAFA3EA69BB, 0x81B6C52B32788720, 0x83FCA2C757BD778A /* 1134 */ + .quad 0xA7F09D5F47D4D377, 0x036D8A5664F10E41, 0x07F9458EAF7AEF15 /* 1135 */ + .quad 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B /* 1136 */ + .quad 0x9FC2757D1F534DDC, 0x0DB6295993C43904, 0x1FE5163ABDEBBC56 /* 1137 */ + .quad 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208, 0x3FCA2C757BD778AC /* 1138 */ + .quad 0x7F09D5F47D4D3770, 0x36D8A5664F10E410, 0x7F9458EAF7AEF158 /* 1139 */ + .quad 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0 /* 1140 */ + .quad 0xFC2757D1F534DDC0, 0xDB6295993C439041, 0xFE5163ABDEBBC561 /* 1141 */ + .quad 0xF84EAFA3EA69BB81, 0xB6C52B3278872083, 0xFCA2C757BD778AC3 /* 1142 */ + .quad 0xF09D5F47D4D37703, 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586 /* 1143 */ + .quad 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D /* 1144 */ + .quad 0xC2757D1F534DDC0D, 0xB6295993C439041F, 0xE5163ABDEBBC561B /* 1145 */ + .quad 0x84EAFA3EA69BB81B, 0x6C52B3278872083F, 0xCA2C757BD778AC36 /* 1146 */ + .quad 0x09D5F47D4D377036, 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D /* 1147 */ + .quad 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB /* 1148 */ + .quad 0x2757D1F534DDC0DB, 0x6295993C439041FE, 0x5163ABDEBBC561B7 /* 1149 */ + .quad 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC, 0xA2C757BD778AC36E /* 1150 */ + .quad 0x9D5F47D4D377036D, 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC /* 1151 */ + .quad 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9 /* 1152 */ + .quad 0x757D1F534DDC0DB6, 0x295993C439041FE5, 0x163ABDEBBC561B72 /* 1153 */ + .quad 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA, 0x2C757BD778AC36E4 /* 1154 */ + .quad 0xD5F47D4D377036D8, 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9 /* 1155 */ + .quad 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92 /* 1156 */ + .quad 0x57D1F534DDC0DB62, 0x95993C439041FE51, 0x63ABDEBBC561B724 /* 1157 */ + .quad 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2, 0xC757BD778AC36E48 /* 1158 */ + .quad 0x5F47D4D377036D8A, 0x5664F10E4107F945, 0x8EAF7AEF1586DC91 /* 1159 */ + .quad 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923 /* 1160 */ + .quad 0x7D1F534DDC0DB629, 0x5993C439041FE516, 0x3ABDEBBC561B7246 /* 1161 */ + .quad 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C, 0x757BD778AC36E48D /* 1162 */ + .quad 0xF47D4D377036D8A5, 0x664F10E4107F9458, 0xEAF7AEF1586DC91B /* 1163 */ + .quad 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237 /* 1164 */ + .quad 0xD1F534DDC0DB6295, 0x993C439041FE5163, 0xABDEBBC561B7246E /* 1165 */ + .quad 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7, 0x57BD778AC36E48DC /* 1166 */ + .quad 0x47D4D377036D8A56, 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8 /* 1167 */ + .quad 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371 /* 1168 */ + .quad 0x1F534DDC0DB62959, 0x93C439041FE5163A, 0xBDEBBC561B7246E3 /* 1169 */ + .quad 0x3EA69BB81B6C52B3, 0x278872083FCA2C75, 0x7BD778AC36E48DC7 /* 1170 */ + .quad 0x7D4D377036D8A566, 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E /* 1171 */ + .quad 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D /* 1172 */ + .quad 0xF534DDC0DB629599, 0x3C439041FE5163AB, 0xDEBBC561B7246E3A /* 1173 */ + .quad 0xEA69BB81B6C52B32, 0x78872083FCA2C757, 0xBD778AC36E48DC74 /* 1174 */ + .quad 0xD4D377036D8A5664, 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9 /* 1175 */ + .quad 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2 /* 1176 */ + .quad 0x534DDC0DB6295993, 0xC439041FE5163ABD, 0xEBBC561B7246E3A4 /* 1177 */ + .quad 0xA69BB81B6C52B327, 0x8872083FCA2C757B, 0xD778AC36E48DC748 /* 1178 */ + .quad 0x4D377036D8A5664F, 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90 /* 1179 */ + .quad 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21 /* 1180 */ + .quad 0x34DDC0DB6295993C, 0x439041FE5163ABDE, 0xBBC561B7246E3A42 /* 1181 */ + .quad 0x69BB81B6C52B3278, 0x872083FCA2C757BD, 0x778AC36E48DC7484 /* 1182 */ + .quad 0xD377036D8A5664F1, 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909 /* 1183 */ + .quad 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212 /* 1184 */ + .quad 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB, 0xBC561B7246E3A424 /* 1185 */ + .quad 0x9BB81B6C52B32788, 0x72083FCA2C757BD7, 0x78AC36E48DC74849 /* 1186 */ + .quad 0x377036D8A5664F10, 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093 /* 1187 */ + .quad 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126 /* 1188 */ + .quad 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB, 0xC561B7246E3A424D /* 1189 */ + .quad 0xBB81B6C52B327887, 0x2083FCA2C757BD77, 0x8AC36E48DC74849B /* 1190 */ + .quad 0x77036D8A5664F10E, 0x4107F9458EAF7AEF, 0x1586DC91B8E90937 /* 1191 */ + .quad 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E /* 1192 */ + .quad 0xDC0DB6295993C439, 0x041FE5163ABDEBBC, 0x561B7246E3A424DD /* 1193 */ + .quad 0xB81B6C52B3278872, 0x083FCA2C757BD778, 0xAC36E48DC74849BA /* 1194 */ + .quad 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1, 0x586DC91B8E909374 /* 1195 */ + .quad 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9 /* 1196 */ + .quad 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2 /* 1197 */ + .quad 0x81B6C52B32788720, 0x83FCA2C757BD778A, 0xC36E48DC74849BA5 /* 1198 */ + .quad 0x036D8A5664F10E41, 0x07F9458EAF7AEF15, 0x86DC91B8E909374B /* 1199 */ + .quad 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97 /* 1200 */ + .quad 0x0DB6295993C43904, 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E /* 1201 */ + .quad 0x1B6C52B327887208, 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C /* 1202 */ + .quad 0x36D8A5664F10E410, 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8 /* 1203 */ + .quad 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970 /* 1204 */ + .quad 0xDB6295993C439041, 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0 /* 1205 */ + .quad 0xB6C52B3278872083, 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0 /* 1206 */ + .quad 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586, 0xDC91B8E909374B80 /* 1207 */ + .quad 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700 /* 1208 */ + .quad 0xB6295993C439041F, 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00 /* 1209 */ + .quad 0x6C52B3278872083F, 0xCA2C757BD778AC36, 0xE48DC74849BA5C00 /* 1210 */ + .quad 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D, 0xC91B8E909374B801 /* 1211 */ + .quad 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003 /* 1212 */ + .quad 0x6295993C439041FE, 0x5163ABDEBBC561B7, 0x246E3A424DD2E006 /* 1213 */ + .quad 0xC52B3278872083FC, 0xA2C757BD778AC36E, 0x48DC74849BA5C00C /* 1214 */ + .quad 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC, 0x91B8E909374B8019 /* 1215 */ + .quad 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032 /* 1216 */ + .quad 0x295993C439041FE5, 0x163ABDEBBC561B72, 0x46E3A424DD2E0064 /* 1217 */ + .quad 0x52B3278872083FCA, 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9 /* 1218 */ + .quad 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9, 0x1B8E909374B80192 /* 1219 */ + .quad 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324 /* 1220 */ + .quad 0x95993C439041FE51, 0x63ABDEBBC561B724, 0x6E3A424DD2E00649 /* 1221 */ + .quad 0x2B3278872083FCA2, 0xC757BD778AC36E48, 0xDC74849BA5C00C92 /* 1222 */ + .quad 0x5664F10E4107F945, 0x8EAF7AEF1586DC91, 0xB8E909374B801924 /* 1223 */ + .quad 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923, 0x71D2126E97003249 /* 1224 */ + .quad 0x5993C439041FE516, 0x3ABDEBBC561B7246, 0xE3A424DD2E006492 /* 1225 */ + .quad 0xB3278872083FCA2C, 0x757BD778AC36E48D, 0xC74849BA5C00C925 /* 1226 */ + .quad 0x664F10E4107F9458, 0xEAF7AEF1586DC91B, 0x8E909374B801924B /* 1227 */ + .quad 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237, 0x1D2126E970032497 /* 1228 */ + .quad 0x993C439041FE5163, 0xABDEBBC561B7246E, 0x3A424DD2E006492E /* 1229 */ + .quad 0x3278872083FCA2C7, 0x57BD778AC36E48DC, 0x74849BA5C00C925D /* 1230 */ + .quad 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8, 0xE909374B801924BB /* 1231 */ + .quad 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371, 0xD2126E9700324977 /* 1232 */ + .quad 0x93C439041FE5163A, 0xBDEBBC561B7246E3, 0xA424DD2E006492EE /* 1233 */ + .quad 0x278872083FCA2C75, 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD /* 1234 */ + .quad 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E, 0x909374B801924BBA /* 1235 */ + .quad 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D, 0x2126E97003249775 /* 1236 */ + .quad 0x3C439041FE5163AB, 0xDEBBC561B7246E3A, 0x424DD2E006492EEA /* 1237 */ + .quad 0x78872083FCA2C757, 0xBD778AC36E48DC74, 0x849BA5C00C925DD4 /* 1238 */ + .quad 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9, 0x09374B801924BBA8 /* 1239 */ + .quad 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2, 0x126E970032497750 /* 1240 */ + .quad 0xC439041FE5163ABD, 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0 /* 1241 */ + .quad 0x8872083FCA2C757B, 0xD778AC36E48DC748, 0x49BA5C00C925DD41 /* 1242 */ + .quad 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90, 0x9374B801924BBA82 /* 1243 */ + .quad 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21, 0x26E9700324977504 /* 1244 */ + .quad 0x439041FE5163ABDE, 0xBBC561B7246E3A42, 0x4DD2E006492EEA09 /* 1245 */ + .quad 0x872083FCA2C757BD, 0x778AC36E48DC7484, 0x9BA5C00C925DD413 /* 1246 */ + .quad 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909, 0x374B801924BBA827 /* 1247 */ + .quad 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212, 0x6E9700324977504E /* 1248 */ + .quad 0x39041FE5163ABDEB, 0xBC561B7246E3A424, 0xDD2E006492EEA09D /* 1249 */ + .quad 0x72083FCA2C757BD7, 0x78AC36E48DC74849, 0xBA5C00C925DD413A /* 1250 */ + .quad 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093, 0x74B801924BBA8274 /* 1251 */ + .quad 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126, 0xE9700324977504E8 /* 1252 */ + .quad 0x9041FE5163ABDEBB, 0xC561B7246E3A424D, 0xD2E006492EEA09D1 /* 1253 */ + .quad 0x2083FCA2C757BD77, 0x8AC36E48DC74849B, 0xA5C00C925DD413A3 /* 1254 */ + .quad 0x4107F9458EAF7AEF, 0x1586DC91B8E90937, 0x4B801924BBA82746 /* 1255 */ + .quad 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E, 0x9700324977504E8C /* 1256 */ + .quad 0x041FE5163ABDEBBC, 0x561B7246E3A424DD, 0x2E006492EEA09D19 /* 1257 */ + .quad 0x083FCA2C757BD778, 0xAC36E48DC74849BA, 0x5C00C925DD413A32 /* 1258 */ + .quad 0x107F9458EAF7AEF1, 0x586DC91B8E909374, 0xB801924BBA827464 /* 1259 */ + .quad 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9, 0x700324977504E8C9 /* 1260 */ + .quad 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2, 0xE006492EEA09D192 /* 1261 */ + .quad 0x83FCA2C757BD778A, 0xC36E48DC74849BA5, 0xC00C925DD413A324 /* 1262 */ + .quad 0x07F9458EAF7AEF15, 0x86DC91B8E909374B, 0x801924BBA8274648 /* 1263 */ + .quad 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97, 0x00324977504E8C90 /* 1264 */ + .quad 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E, 0x006492EEA09D1921 /* 1265 */ + .quad 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C, 0x00C925DD413A3243 /* 1266 */ + .quad 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8, 0x01924BBA82746487 /* 1267 */ + .quad 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970, 0x0324977504E8C90E /* 1268 */ + .quad 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0, 0x06492EEA09D1921C /* 1269 */ + .quad 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0, 0x0C925DD413A32439 /* 1270 */ + .quad 0xF9458EAF7AEF1586, 0xDC91B8E909374B80, 0x1924BBA827464873 /* 1271 */ + .quad 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700, 0x324977504E8C90E7 /* 1272 */ + .quad 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00, 0x6492EEA09D1921CF /* 1273 */ + .quad 0xCA2C757BD778AC36, 0xE48DC74849BA5C00, 0xC925DD413A32439F /* 1274 */ + .quad 0x9458EAF7AEF1586D, 0xC91B8E909374B801, 0x924BBA827464873F /* 1275 */ + .quad 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003, 0x24977504E8C90E7F /* 1276 */ + .quad 0x5163ABDEBBC561B7, 0x246E3A424DD2E006, 0x492EEA09D1921CFE /* 1277 */ + .quad 0xA2C757BD778AC36E, 0x48DC74849BA5C00C, 0x925DD413A32439FC /* 1278 */ + .quad 0x458EAF7AEF1586DC, 0x91B8E909374B8019, 0x24BBA827464873F8 /* 1279 */ + .quad 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032, 0x4977504E8C90E7F0 /* 1280 */ + .quad 0x163ABDEBBC561B72, 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1 /* 1281 */ + .quad 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9, 0x25DD413A32439FC3 /* 1282 */ + .quad 0x58EAF7AEF1586DC9, 0x1B8E909374B80192, 0x4BBA827464873F87 /* 1283 */ + .quad 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324, 0x977504E8C90E7F0E /* 1284 */ + .quad 0x63ABDEBBC561B724, 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D /* 1285 */ + .quad 0xC757BD778AC36E48, 0xDC74849BA5C00C92, 0x5DD413A32439FC3B /* 1286 */ + .quad 0x8EAF7AEF1586DC91, 0xB8E909374B801924, 0xBBA827464873F877 /* 1287 */ + .quad 0x1D5EF5DE2B0DB923, 0x71D2126E97003249, 0x77504E8C90E7F0EF /* 1288 */ + .quad 0x3ABDEBBC561B7246, 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE /* 1289 */ + .quad 0x757BD778AC36E48D, 0xC74849BA5C00C925, 0xDD413A32439FC3BD /* 1290 */ + .quad 0xEAF7AEF1586DC91B, 0x8E909374B801924B, 0xBA827464873F877A /* 1291 */ + .quad 0xD5EF5DE2B0DB9237, 0x1D2126E970032497, 0x7504E8C90E7F0EF5 /* 1292 */ + .quad 0xABDEBBC561B7246E, 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB /* 1293 */ + .quad 0x57BD778AC36E48DC, 0x74849BA5C00C925D, 0xD413A32439FC3BD6 /* 1294 */ + .quad 0xAF7AEF1586DC91B8, 0xE909374B801924BB, 0xA827464873F877AC /* 1295 */ + .quad 0x5EF5DE2B0DB92371, 0xD2126E9700324977, 0x504E8C90E7F0EF58 /* 1296 */ + .quad 0xBDEBBC561B7246E3, 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1 /* 1297 */ + .quad 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD, 0x413A32439FC3BD63 /* 1298 */ + .quad 0xF7AEF1586DC91B8E, 0x909374B801924BBA, 0x827464873F877AC7 /* 1299 */ + .quad 0xEF5DE2B0DB92371D, 0x2126E97003249775, 0x04E8C90E7F0EF58E /* 1300 */ + .quad 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C /* 1301 */ + .quad 0xBD778AC36E48DC74, 0x849BA5C00C925DD4, 0x13A32439FC3BD639 /* 1302 */ + .quad 0x7AEF1586DC91B8E9, 0x09374B801924BBA8, 0x27464873F877AC72 /* 1303 */ + .quad 0xF5DE2B0DB92371D2, 0x126E970032497750, 0x4E8C90E7F0EF58E5 /* 1304 */ + .quad 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB /* 1305 */ + .quad 0xD778AC36E48DC748, 0x49BA5C00C925DD41, 0x3A32439FC3BD6396 /* 1306 */ + .quad 0xAEF1586DC91B8E90, 0x9374B801924BBA82, 0x7464873F877AC72C /* 1307 */ + .quad 0x5DE2B0DB92371D21, 0x26E9700324977504, 0xE8C90E7F0EF58E58 /* 1308 */ + .quad 0xBBC561B7246E3A42, 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1 /* 1309 */ + .quad 0x778AC36E48DC7484, 0x9BA5C00C925DD413, 0xA32439FC3BD63962 /* 1310 */ + .quad 0xEF1586DC91B8E909, 0x374B801924BBA827, 0x464873F877AC72C4 /* 1311 */ + .quad 0xDE2B0DB92371D212, 0x6E9700324977504E, 0x8C90E7F0EF58E589 /* 1312 */ + .quad 0xBC561B7246E3A424, 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12 /* 1313 */ + .quad 0x78AC36E48DC74849, 0xBA5C00C925DD413A, 0x32439FC3BD639625 /* 1314 */ + .quad 0xF1586DC91B8E9093, 0x74B801924BBA8274, 0x64873F877AC72C4A /* 1315 */ + .quad 0xE2B0DB92371D2126, 0xE9700324977504E8, 0xC90E7F0EF58E5894 /* 1316 */ + .quad 0xC561B7246E3A424D, 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129 /* 1317 */ + .quad 0x8AC36E48DC74849B, 0xA5C00C925DD413A3, 0x2439FC3BD6396253 /* 1318 */ + .quad 0x1586DC91B8E90937, 0x4B801924BBA82746, 0x4873F877AC72C4A6 /* 1319 */ + .quad 0x2B0DB92371D2126E, 0x9700324977504E8C, 0x90E7F0EF58E5894D /* 1320 */ + .quad 0x561B7246E3A424DD, 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A /* 1321 */ + .quad 0xAC36E48DC74849BA, 0x5C00C925DD413A32, 0x439FC3BD63962534 /* 1322 */ + .quad 0x586DC91B8E909374, 0xB801924BBA827464, 0x873F877AC72C4A69 /* 1323 */ + .quad 0xB0DB92371D2126E9, 0x700324977504E8C9, 0x0E7F0EF58E5894D3 /* 1324 */ + .quad 0x61B7246E3A424DD2, 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7 /* 1325 */ + .quad 0xC36E48DC74849BA5, 0xC00C925DD413A324, 0x39FC3BD63962534E /* 1326 */ + .quad 0x86DC91B8E909374B, 0x801924BBA8274648, 0x73F877AC72C4A69C /* 1327 */ + .quad 0x0DB92371D2126E97, 0x00324977504E8C90, 0xE7F0EF58E5894D39 /* 1328 */ + .quad 0x1B7246E3A424DD2E, 0x006492EEA09D1921, 0xCFE1DEB1CB129A73 /* 1329 */ + .quad 0x36E48DC74849BA5C, 0x00C925DD413A3243, 0x9FC3BD63962534E7 /* 1330 */ + .quad 0x6DC91B8E909374B8, 0x01924BBA82746487, 0x3F877AC72C4A69CF /* 1331 */ + .quad 0xDB92371D2126E970, 0x0324977504E8C90E, 0x7F0EF58E5894D39F /* 1332 */ + .quad 0xB7246E3A424DD2E0, 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E /* 1333 */ + .quad 0x6E48DC74849BA5C0, 0x0C925DD413A32439, 0xFC3BD63962534E7D /* 1334 */ + .quad 0xDC91B8E909374B80, 0x1924BBA827464873, 0xF877AC72C4A69CFB /* 1335 */ + .quad 0xB92371D2126E9700, 0x324977504E8C90E7, 0xF0EF58E5894D39F7 /* 1336 */ + .quad 0x7246E3A424DD2E00, 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE /* 1337 */ + .quad 0xE48DC74849BA5C00, 0xC925DD413A32439F, 0xC3BD63962534E7DD /* 1338 */ + .quad 0xC91B8E909374B801, 0x924BBA827464873F, 0x877AC72C4A69CFBA /* 1339 */ + .quad 0x92371D2126E97003, 0x24977504E8C90E7F, 0x0EF58E5894D39F74 /* 1340 */ + .quad 0x246E3A424DD2E006, 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8 /* 1341 */ + .quad 0x48DC74849BA5C00C, 0x925DD413A32439FC, 0x3BD63962534E7DD1 /* 1342 */ + .quad 0x91B8E909374B8019, 0x24BBA827464873F8, 0x77AC72C4A69CFBA2 /* 1343 */ + .quad 0x2371D2126E970032, 0x4977504E8C90E7F0, 0xEF58E5894D39F744 /* 1344 */ + .quad 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88 /* 1345 */ + .quad 0x8DC74849BA5C00C9, 0x25DD413A32439FC3, 0xBD63962534E7DD10 /* 1346 */ + .quad 0x1B8E909374B80192, 0x4BBA827464873F87, 0x7AC72C4A69CFBA20 /* 1347 */ + .quad 0x371D2126E9700324, 0x977504E8C90E7F0E, 0xF58E5894D39F7441 /* 1348 */ + .quad 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882 /* 1349 */ + .quad 0xDC74849BA5C00C92, 0x5DD413A32439FC3B, 0xD63962534E7DD104 /* 1350 */ + .quad 0xB8E909374B801924, 0xBBA827464873F877, 0xAC72C4A69CFBA208 /* 1351 */ + .quad 0x71D2126E97003249, 0x77504E8C90E7F0EF, 0x58E5894D39F74411 /* 1352 */ + .quad 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823 /* 1353 */ + .quad 0xC74849BA5C00C925, 0xDD413A32439FC3BD, 0x63962534E7DD1046 /* 1354 */ + .quad 0x8E909374B801924B, 0xBA827464873F877A, 0xC72C4A69CFBA208D /* 1355 */ + .quad 0x1D2126E970032497, 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A /* 1356 */ + .quad 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235 /* 1357 */ + .quad 0x74849BA5C00C925D, 0xD413A32439FC3BD6, 0x3962534E7DD1046B /* 1358 */ + .quad 0xE909374B801924BB, 0xA827464873F877AC, 0x72C4A69CFBA208D7 /* 1359 */ + .quad 0xD2126E9700324977, 0x504E8C90E7F0EF58, 0xE5894D39F74411AF /* 1360 */ + .quad 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F /* 1361 */ + .quad 0x4849BA5C00C925DD, 0x413A32439FC3BD63, 0x962534E7DD1046BE /* 1362 */ + .quad 0x909374B801924BBA, 0x827464873F877AC7, 0x2C4A69CFBA208D7D /* 1363 */ + .quad 0x2126E97003249775, 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA /* 1364 */ + .quad 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5 /* 1365 */ + .quad 0x849BA5C00C925DD4, 0x13A32439FC3BD639, 0x62534E7DD1046BEA /* 1366 */ + .quad 0x09374B801924BBA8, 0x27464873F877AC72, 0xC4A69CFBA208D7D4 /* 1367 */ + .quad 0x126E970032497750, 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9 /* 1368 */ + .quad 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52 /* 1369 */ + .quad 0x49BA5C00C925DD41, 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5 /* 1370 */ + .quad 0x9374B801924BBA82, 0x7464873F877AC72C, 0x4A69CFBA208D7D4B /* 1371 */ + .quad 0x26E9700324977504, 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97 /* 1372 */ + .quad 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E /* 1373 */ + .quad 0x9BA5C00C925DD413, 0xA32439FC3BD63962, 0x534E7DD1046BEA5D /* 1374 */ + .quad 0x374B801924BBA827, 0x464873F877AC72C4, 0xA69CFBA208D7D4BA /* 1375 */ + .quad 0x6E9700324977504E, 0x8C90E7F0EF58E589, 0x4D39F74411AFA975 /* 1376 */ + .quad 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB /* 1377 */ + .quad 0xBA5C00C925DD413A, 0x32439FC3BD639625, 0x34E7DD1046BEA5D7 /* 1378 */ + .quad 0x74B801924BBA8274, 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE /* 1379 */ + .quad 0xE9700324977504E8, 0xC90E7F0EF58E5894, 0xD39F74411AFA975D /* 1380 */ + .quad 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB /* 1381 */ + .quad 0xA5C00C925DD413A3, 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76 /* 1382 */ + .quad 0x4B801924BBA82746, 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED /* 1383 */ + .quad 0x9700324977504E8C, 0x90E7F0EF58E5894D, 0x39F74411AFA975DA /* 1384 */ + .quad 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4 /* 1385 */ + .quad 0x5C00C925DD413A32, 0x439FC3BD63962534, 0xE7DD1046BEA5D768 /* 1386 */ + .quad 0xB801924BBA827464, 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1 /* 1387 */ + .quad 0x700324977504E8C9, 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2 /* 1388 */ + .quad 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44 /* 1389 */ + .quad 0xC00C925DD413A324, 0x39FC3BD63962534E, 0x7DD1046BEA5D7689 /* 1390 */ + .quad 0x801924BBA8274648, 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12 /* 1391 */ + .quad 0x00324977504E8C90, 0xE7F0EF58E5894D39, 0xF74411AFA975DA24 /* 1392 */ + .quad 0x006492EEA09D1921, 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448 /* 1393 */ + .quad 0x00C925DD413A3243, 0x9FC3BD63962534E7, 0xDD1046BEA5D76890 /* 1394 */ + .quad 0x01924BBA82746487, 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121 /* 1395 */ + .quad 0x0324977504E8C90E, 0x7F0EF58E5894D39F, 0x74411AFA975DA242 /* 1396 */ + .quad 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484 /* 1397 */ + .quad 0x0C925DD413A32439, 0xFC3BD63962534E7D, 0xD1046BEA5D768909 /* 1398 */ + .quad 0x1924BBA827464873, 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213 /* 1399 */ + .quad 0x324977504E8C90E7, 0xF0EF58E5894D39F7, 0x4411AFA975DA2427 /* 1400 */ + .quad 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E /* 1401 */ + .quad 0xC925DD413A32439F, 0xC3BD63962534E7DD, 0x1046BEA5D768909D /* 1402 */ + .quad 0x924BBA827464873F, 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A /* 1403 */ + .quad 0x24977504E8C90E7F, 0x0EF58E5894D39F74, 0x411AFA975DA24274 /* 1404 */ + .quad 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9 /* 1405 */ + .quad 0x925DD413A32439FC, 0x3BD63962534E7DD1, 0x046BEA5D768909D3 /* 1406 */ + .quad 0x24BBA827464873F8, 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6 /* 1407 */ + .quad 0x4977504E8C90E7F0, 0xEF58E5894D39F744, 0x11AFA975DA24274C /* 1408 */ + .quad 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88, 0x235F52EBB4484E99 /* 1409 */ + .quad 0x25DD413A32439FC3, 0xBD63962534E7DD10, 0x46BEA5D768909D33 /* 1410 */ + .quad 0x4BBA827464873F87, 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67 /* 1411 */ + .quad 0x977504E8C90E7F0E, 0xF58E5894D39F7441, 0x1AFA975DA24274CE /* 1412 */ + .quad 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882, 0x35F52EBB4484E99C /* 1413 */ + .quad 0x5DD413A32439FC3B, 0xD63962534E7DD104, 0x6BEA5D768909D338 /* 1414 */ + .quad 0xBBA827464873F877, 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671 /* 1415 */ + .quad 0x77504E8C90E7F0EF, 0x58E5894D39F74411, 0xAFA975DA24274CE3 /* 1416 */ + .quad 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7 /* 1417 */ + .quad 0xDD413A32439FC3BD, 0x63962534E7DD1046, 0xBEA5D768909D338E /* 1418 */ + .quad 0xBA827464873F877A, 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C /* 1419 */ + .quad 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A, 0xFA975DA24274CE38 /* 1420 */ + .quad 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235, 0xF52EBB4484E99C70 /* 1421 */ + .quad 0xD413A32439FC3BD6, 0x3962534E7DD1046B, 0xEA5D768909D338E0 /* 1422 */ + .quad 0xA827464873F877AC, 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0 /* 1423 */ + .quad 0x504E8C90E7F0EF58, 0xE5894D39F74411AF, 0xA975DA24274CE381 /* 1424 */ + .quad 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F, 0x52EBB4484E99C702 /* 1425 */ + .quad 0x413A32439FC3BD63, 0x962534E7DD1046BE, 0xA5D768909D338E04 /* 1426 */ + .quad 0x827464873F877AC7, 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09 /* 1427 */ + .quad 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA, 0x975DA24274CE3813 /* 1428 */ + .quad 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, 0x2EBB4484E99C7026 /* 1429 */ + .quad 0x13A32439FC3BD639, 0x62534E7DD1046BEA, 0x5D768909D338E04D /* 1430 */ + .quad 0x27464873F877AC72, 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A /* 1431 */ + .quad 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9, 0x75DA24274CE38135 /* 1432 */ + .quad 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52, 0xEBB4484E99C7026B /* 1433 */ + .quad 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5, 0xD768909D338E04D6 /* 1434 */ + .quad 0x7464873F877AC72C, 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD /* 1435 */ + .quad 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97, 0x5DA24274CE38135A /* 1436 */ + .quad 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E, 0xBB4484E99C7026B4 /* 1437 */ + .quad 0xA32439FC3BD63962, 0x534E7DD1046BEA5D, 0x768909D338E04D68 /* 1438 */ + .quad 0x464873F877AC72C4, 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1 /* 1439 */ + .quad 0x8C90E7F0EF58E589, 0x4D39F74411AFA975, 0xDA24274CE38135A2 /* 1440 */ + .quad 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB, 0xB4484E99C7026B45 /* 1441 */ + .quad 0x32439FC3BD639625, 0x34E7DD1046BEA5D7, 0x68909D338E04D68B /* 1442 */ + .quad 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17 /* 1443 */ + .quad 0xC90E7F0EF58E5894, 0xD39F74411AFA975D, 0xA24274CE38135A2F /* 1444 */ + .quad 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB, 0x4484E99C7026B45F /* 1445 */ + .quad 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE /* 1446 */ + .quad 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D /* 1447 */ + .quad 0x90E7F0EF58E5894D, 0x39F74411AFA975DA, 0x24274CE38135A2FB /* 1448 */ + .quad 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4, 0x484E99C7026B45F7 /* 1449 */ + .quad 0x439FC3BD63962534, 0xE7DD1046BEA5D768, 0x909D338E04D68BEF /* 1450 */ + .quad 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF /* 1451 */ + .quad 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2, 0x4274CE38135A2FBF /* 1452 */ + .quad 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44, 0x84E99C7026B45F7E /* 1453 */ + .quad 0x39FC3BD63962534E, 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC /* 1454 */ + .quad 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9 /* 1455 */ + .quad 0xE7F0EF58E5894D39, 0xF74411AFA975DA24, 0x274CE38135A2FBF2 /* 1456 */ + .quad 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448, 0x4E99C7026B45F7E4 /* 1457 */ + .quad 0x9FC3BD63962534E7, 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8 /* 1458 */ + .quad 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121, 0x3A671C09AD17DF90 /* 1459 */ + .quad 0x7F0EF58E5894D39F, 0x74411AFA975DA242, 0x74CE38135A2FBF20 /* 1460 */ + .quad 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484, 0xE99C7026B45F7E41 /* 1461 */ + .quad 0xFC3BD63962534E7D, 0xD1046BEA5D768909, 0xD338E04D68BEFC82 /* 1462 */ + .quad 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213, 0xA671C09AD17DF904 /* 1463 */ + .quad 0xF0EF58E5894D39F7, 0x4411AFA975DA2427, 0x4CE38135A2FBF209 /* 1464 */ + .quad 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E, 0x99C7026B45F7E413 /* 1465 */ + .quad 0xC3BD63962534E7DD, 0x1046BEA5D768909D, 0x338E04D68BEFC827 /* 1466 */ + .quad 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A, 0x671C09AD17DF904E /* 1467 */ + .quad 0x0EF58E5894D39F74, 0x411AFA975DA24274, 0xCE38135A2FBF209C /* 1468 */ + .quad 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9, 0x9C7026B45F7E4139 /* 1469 */ + .quad 0x3BD63962534E7DD1, 0x046BEA5D768909D3, 0x38E04D68BEFC8273 /* 1470 */ + .quad 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6 /* 1471 */ + .quad 0xEF58E5894D39F744, 0x11AFA975DA24274C, 0xE38135A2FBF209CC /* 1472 */ + .quad 0xDEB1CB129A73EE88, 0x235F52EBB4484E99, 0xC7026B45F7E41399 /* 1473 */ + .quad 0xBD63962534E7DD10, 0x46BEA5D768909D33, 0x8E04D68BEFC82732 /* 1474 */ + .quad 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64 /* 1475 */ + .quad 0xF58E5894D39F7441, 0x1AFA975DA24274CE, 0x38135A2FBF209CC8 /* 1476 */ + .quad 0xEB1CB129A73EE882, 0x35F52EBB4484E99C, 0x7026B45F7E413991 /* 1477 */ + .quad 0xD63962534E7DD104, 0x6BEA5D768909D338, 0xE04D68BEFC827323 /* 1478 */ + .quad 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671, 0xC09AD17DF904E647 /* 1479 */ + .quad 0x58E5894D39F74411, 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E /* 1480 */ + .quad 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7, 0x026B45F7E413991D /* 1481 */ + .quad 0x63962534E7DD1046, 0xBEA5D768909D338E, 0x04D68BEFC827323A /* 1482 */ + .quad 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C, 0x09AD17DF904E6475 /* 1483 */ + .quad 0x8E5894D39F74411A, 0xFA975DA24274CE38, 0x135A2FBF209CC8EB /* 1484 */ + .quad 0x1CB129A73EE88235, 0xF52EBB4484E99C70, 0x26B45F7E413991D6 /* 1485 */ + .quad 0x3962534E7DD1046B, 0xEA5D768909D338E0, 0x4D68BEFC827323AC /* 1486 */ + .quad 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0, 0x9AD17DF904E64758 /* 1487 */ + .quad 0xE5894D39F74411AF, 0xA975DA24274CE381, 0x35A2FBF209CC8EB1 /* 1488 */ + .quad 0xCB129A73EE88235F, 0x52EBB4484E99C702, 0x6B45F7E413991D63 /* 1489 */ + .quad 0x962534E7DD1046BE, 0xA5D768909D338E04, 0xD68BEFC827323AC7 /* 1490 */ + .quad 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09, 0xAD17DF904E64758E /* 1491 */ + .quad 0x5894D39F74411AFA, 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C /* 1492 */ + .quad 0xB129A73EE88235F5, 0x2EBB4484E99C7026, 0xB45F7E413991D639 /* 1493 */ + .quad 0x62534E7DD1046BEA, 0x5D768909D338E04D, 0x68BEFC827323AC73 /* 1494 */ + .quad 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A, 0xD17DF904E64758E6 /* 1495 */ + .quad 0x894D39F74411AFA9, 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC /* 1496 */ + .quad 0x129A73EE88235F52, 0xEBB4484E99C7026B, 0x45F7E413991D6398 /* 1497 */ + .quad 0x2534E7DD1046BEA5, 0xD768909D338E04D6, 0x8BEFC827323AC730 /* 1498 */ + .quad 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD, 0x17DF904E64758E60 /* 1499 */ + .quad 0x94D39F74411AFA97, 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1 /* 1500 */ + .quad 0x29A73EE88235F52E, 0xBB4484E99C7026B4, 0x5F7E413991D63983 /* 1501 */ + .quad 0x534E7DD1046BEA5D, 0x768909D338E04D68, 0xBEFC827323AC7306 /* 1502 */ + .quad 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1, 0x7DF904E64758E60D /* 1503 */ + .quad 0x4D39F74411AFA975, 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A /* 1504 */ + .quad 0x9A73EE88235F52EB, 0xB4484E99C7026B45, 0xF7E413991D639835 /* 1505 */ + .quad 0x34E7DD1046BEA5D7, 0x68909D338E04D68B, 0xEFC827323AC7306A /* 1506 */ + .quad 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17, 0xDF904E64758E60D4 /* 1507 */ + .quad 0xD39F74411AFA975D, 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9 /* 1508 */ + .quad 0xA73EE88235F52EBB, 0x4484E99C7026B45F, 0x7E413991D6398353 /* 1509 */ + .quad 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE, 0xFC827323AC7306A6 /* 1510 */ + .quad 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D, 0xF904E64758E60D4C /* 1511 */ + .quad 0x39F74411AFA975DA, 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99 /* 1512 */ + .quad 0x73EE88235F52EBB4, 0x484E99C7026B45F7, 0xE413991D63983533 /* 1513 */ + .quad 0xE7DD1046BEA5D768, 0x909D338E04D68BEF, 0xC827323AC7306A67 /* 1514 */ + .quad 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF, 0x904E64758E60D4CE /* 1515 */ + .quad 0x9F74411AFA975DA2, 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C /* 1516 */ + .quad 0x3EE88235F52EBB44, 0x84E99C7026B45F7E, 0x413991D639835339 /* 1517 */ + .quad 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC, 0x827323AC7306A673 /* 1518 */ + .quad 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9, 0x04E64758E60D4CE7 /* 1519 */ + .quad 0xF74411AFA975DA24, 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF /* 1520 */ + .quad 0xEE88235F52EBB448, 0x4E99C7026B45F7E4, 0x13991D639835339F /* 1521 */ + .quad 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8, 0x27323AC7306A673E /* 1522 */ + .quad 0xBA208D7D4BAED121, 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D /* 1523 */ + .quad 0x74411AFA975DA242, 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA /* 1524 */ + .quad 0xE88235F52EBB4484, 0xE99C7026B45F7E41, 0x3991D639835339F4 /* 1525 */ + .quad 0xD1046BEA5D768909, 0xD338E04D68BEFC82, 0x7323AC7306A673E9 /* 1526 */ + .quad 0xA208D7D4BAED1213, 0xA671C09AD17DF904, 0xE64758E60D4CE7D2 /* 1527 */ + .quad 0x4411AFA975DA2427, 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4 /* 1528 */ + .quad 0x88235F52EBB4484E, 0x99C7026B45F7E413, 0x991D639835339F49 /* 1529 */ + .quad 0x1046BEA5D768909D, 0x338E04D68BEFC827, 0x323AC7306A673E93 /* 1530 */ + .quad 0x208D7D4BAED1213A, 0x671C09AD17DF904E, 0x64758E60D4CE7D27 /* 1531 */ + .quad 0x411AFA975DA24274, 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E /* 1532 */ + .quad 0x8235F52EBB4484E9, 0x9C7026B45F7E4139, 0x91D639835339F49C /* 1533 */ + .quad 0x046BEA5D768909D3, 0x38E04D68BEFC8273, 0x23AC7306A673E939 /* 1534 */ + .quad 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6, 0x4758E60D4CE7D272 /* 1535 */ + .quad 0x11AFA975DA24274C, 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4 /* 1536 */ + .quad 0x235F52EBB4484E99, 0xC7026B45F7E41399, 0x1D639835339F49C8 /* 1537 */ + .quad 0x46BEA5D768909D33, 0x8E04D68BEFC82732, 0x3AC7306A673E9390 /* 1538 */ + .quad 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64, 0x758E60D4CE7D2721 /* 1539 */ + .quad 0x1AFA975DA24274CE, 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42 /* 1540 */ + .quad 0x35F52EBB4484E99C, 0x7026B45F7E413991, 0xD639835339F49C84 /* 1541 */ + .quad 0x6BEA5D768909D338, 0xE04D68BEFC827323, 0xAC7306A673E93908 /* 1542 */ + .quad 0xD7D4BAED1213A671, 0xC09AD17DF904E647, 0x58E60D4CE7D27211 /* 1543 */ + .quad 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422 /* 1544 */ + .quad 0x5F52EBB4484E99C7, 0x026B45F7E413991D, 0x639835339F49C845 /* 1545 */ + .quad 0xBEA5D768909D338E, 0x04D68BEFC827323A, 0xC7306A673E93908B /* 1546 */ + .quad 0x7D4BAED1213A671C, 0x09AD17DF904E6475, 0x8E60D4CE7D272117 /* 1547 */ + .quad 0xFA975DA24274CE38, 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F /* 1548 */ + .quad 0xF52EBB4484E99C70, 0x26B45F7E413991D6, 0x39835339F49C845F /* 1549 */ + .quad 0xEA5D768909D338E0, 0x4D68BEFC827323AC, 0x7306A673E93908BF /* 1550 */ + .quad 0xD4BAED1213A671C0, 0x9AD17DF904E64758, 0xE60D4CE7D272117E /* 1551 */ + .quad 0xA975DA24274CE381, 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC /* 1552 */ + .quad 0x52EBB4484E99C702, 0x6B45F7E413991D63, 0x9835339F49C845F8 /* 1553 */ + .quad 0xA5D768909D338E04, 0xD68BEFC827323AC7, 0x306A673E93908BF1 /* 1554 */ + .quad 0x4BAED1213A671C09, 0xAD17DF904E64758E, 0x60D4CE7D272117E2 /* 1555 */ + .quad 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5 /* 1556 */ + .quad 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B /* 1557 */ + .quad 0x5D768909D338E04D, 0x68BEFC827323AC73, 0x06A673E93908BF17 /* 1558 */ + .quad 0xBAED1213A671C09A, 0xD17DF904E64758E6, 0x0D4CE7D272117E2E /* 1559 */ + .quad 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D /* 1560 */ + .quad 0xEBB4484E99C7026B, 0x45F7E413991D6398, 0x35339F49C845F8BB /* 1561 */ + .quad 0xD768909D338E04D6, 0x8BEFC827323AC730, 0x6A673E93908BF177 /* 1562 */ + .quad 0xAED1213A671C09AD, 0x17DF904E64758E60, 0xD4CE7D272117E2EF /* 1563 */ + .quad 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE /* 1564 */ + .quad 0xBB4484E99C7026B4, 0x5F7E413991D63983, 0x5339F49C845F8BBD /* 1565 */ + .quad 0x768909D338E04D68, 0xBEFC827323AC7306, 0xA673E93908BF177B /* 1566 */ + .quad 0xED1213A671C09AD1, 0x7DF904E64758E60D, 0x4CE7D272117E2EF7 /* 1567 */ + .quad 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF /* 1568 */ + .quad 0xB4484E99C7026B45, 0xF7E413991D639835, 0x339F49C845F8BBDF /* 1569 */ + .quad 0x68909D338E04D68B, 0xEFC827323AC7306A, 0x673E93908BF177BF /* 1570 */ + .quad 0xD1213A671C09AD17, 0xDF904E64758E60D4, 0xCE7D272117E2EF7E /* 1571 */ + .quad 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC /* 1572 */ + .quad 0x4484E99C7026B45F, 0x7E413991D6398353, 0x39F49C845F8BBDF9 /* 1573 */ + .quad 0x8909D338E04D68BE, 0xFC827323AC7306A6, 0x73E93908BF177BF2 /* 1574 */ + .quad 0x1213A671C09AD17D, 0xF904E64758E60D4C, 0xE7D272117E2EF7E4 /* 1575 */ + .quad 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9 /* 1576 */ + .quad 0x484E99C7026B45F7, 0xE413991D63983533, 0x9F49C845F8BBDF92 /* 1577 */ + .quad 0x909D338E04D68BEF, 0xC827323AC7306A67, 0x3E93908BF177BF25 /* 1578 */ + .quad 0x213A671C09AD17DF, 0x904E64758E60D4CE, 0x7D272117E2EF7E4A /* 1579 */ + .quad 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94 /* 1580 */ + .quad 0x84E99C7026B45F7E, 0x413991D639835339, 0xF49C845F8BBDF928 /* 1581 */ + .quad 0x09D338E04D68BEFC, 0x827323AC7306A673, 0xE93908BF177BF250 /* 1582 */ + .quad 0x13A671C09AD17DF9, 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0 /* 1583 */ + .quad 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941 /* 1584 */ + .quad 0x4E99C7026B45F7E4, 0x13991D639835339F, 0x49C845F8BBDF9283 /* 1585 */ + .quad 0x9D338E04D68BEFC8, 0x27323AC7306A673E, 0x93908BF177BF2507 /* 1586 */ + .quad 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E /* 1587 */ + .quad 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D /* 1588 */ + .quad 0xE99C7026B45F7E41, 0x3991D639835339F4, 0x9C845F8BBDF9283B /* 1589 */ + .quad 0xD338E04D68BEFC82, 0x7323AC7306A673E9, 0x3908BF177BF25076 /* 1590 */ + .quad 0xA671C09AD17DF904, 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC /* 1591 */ + .quad 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8 /* 1592 */ + .quad 0x99C7026B45F7E413, 0x991D639835339F49, 0xC845F8BBDF9283B1 /* 1593 */ + .quad 0x338E04D68BEFC827, 0x323AC7306A673E93, 0x908BF177BF250763 /* 1594 */ + .quad 0x671C09AD17DF904E, 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7 /* 1595 */ + .quad 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F /* 1596 */ + .quad 0x9C7026B45F7E4139, 0x91D639835339F49C, 0x845F8BBDF9283B1F /* 1597 */ + .quad 0x38E04D68BEFC8273, 0x23AC7306A673E939, 0x08BF177BF250763F /* 1598 */ + .quad 0x71C09AD17DF904E6, 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F /* 1599 */ + .quad 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF /* 1600 */ + .quad 0xC7026B45F7E41399, 0x1D639835339F49C8, 0x45F8BBDF9283B1FF /* 1601 */ + .quad 0x8E04D68BEFC82732, 0x3AC7306A673E9390, 0x8BF177BF250763FF /* 1602 */ + .quad 0x1C09AD17DF904E64, 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE /* 1603 */ + .quad 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC /* 1604 */ + .quad 0x7026B45F7E413991, 0xD639835339F49C84, 0x5F8BBDF9283B1FF8 /* 1605 */ + .quad 0xE04D68BEFC827323, 0xAC7306A673E93908, 0xBF177BF250763FF1 /* 1606 */ + .quad 0xC09AD17DF904E647, 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2 /* 1607 */ + .quad 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4 /* 1608 */ + .quad 0x026B45F7E413991D, 0x639835339F49C845, 0xF8BBDF9283B1FF89 /* 1609 */ + .quad 0x04D68BEFC827323A, 0xC7306A673E93908B, 0xF177BF250763FF12 /* 1610 */ + .quad 0x09AD17DF904E6475, 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25 /* 1611 */ + .quad 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B /* 1612 */ + .quad 0x26B45F7E413991D6, 0x39835339F49C845F, 0x8BBDF9283B1FF897 /* 1613 */ + .quad 0x4D68BEFC827323AC, 0x7306A673E93908BF, 0x177BF250763FF12F /* 1614 */ + .quad 0x9AD17DF904E64758, 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F /* 1615 */ + .quad 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF /* 1616 */ + .quad 0x6B45F7E413991D63, 0x9835339F49C845F8, 0xBBDF9283B1FF897F /* 1617 */ + .quad 0xD68BEFC827323AC7, 0x306A673E93908BF1, 0x77BF250763FF12FF /* 1618 */ + .quad 0xAD17DF904E64758E, 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF /* 1619 */ + .quad 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF /* 1620 */ + .quad 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF /* 1621 */ + .quad 0x68BEFC827323AC73, 0x06A673E93908BF17, 0x7BF250763FF12FFF /* 1622 */ + .quad 0xD17DF904E64758E6, 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF /* 1623 */ + .quad 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE /* 1624 */ + .quad 0x45F7E413991D6398, 0x35339F49C845F8BB, 0xDF9283B1FF897FFD /* 1625 */ + .quad 0x8BEFC827323AC730, 0x6A673E93908BF177, 0xBF250763FF12FFFB /* 1626 */ + .quad 0x17DF904E64758E60, 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7 /* 1627 */ + .quad 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF /* 1628 */ + .quad 0x5F7E413991D63983, 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE /* 1629 */ + .quad 0xBEFC827323AC7306, 0xA673E93908BF177B, 0xF250763FF12FFFBC /* 1630 */ + .quad 0x7DF904E64758E60D, 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78 /* 1631 */ + .quad 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0 /* 1632 */ + .quad 0xF7E413991D639835, 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0 /* 1633 */ + .quad 0xEFC827323AC7306A, 0x673E93908BF177BF, 0x250763FF12FFFBC0 /* 1634 */ + .quad 0xDF904E64758E60D4, 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781 /* 1635 */ + .quad 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02 /* 1636 */ + .quad 0x7E413991D6398353, 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05 /* 1637 */ + .quad 0xFC827323AC7306A6, 0x73E93908BF177BF2, 0x50763FF12FFFBC0B /* 1638 */ + .quad 0xF904E64758E60D4C, 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816 /* 1639 */ + .quad 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C /* 1640 */ + .quad 0xE413991D63983533, 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059 /* 1641 */ + .quad 0xC827323AC7306A67, 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3 /* 1642 */ + .quad 0x904E64758E60D4CE, 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166 /* 1643 */ + .quad 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC /* 1644 */ + .quad 0x413991D639835339, 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598 /* 1645 */ + .quad 0x827323AC7306A673, 0xE93908BF177BF250, 0x763FF12FFFBC0B30 /* 1646 */ + .quad 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660 /* 1647 */ + .quad 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0 /* 1648 */ + .quad 0x13991D639835339F, 0x49C845F8BBDF9283, 0xB1FF897FFDE05980 /* 1649 */ + .quad 0x27323AC7306A673E, 0x93908BF177BF2507, 0x63FF12FFFBC0B301 /* 1650 */ + .quad 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603 /* 1651 */ + .quad 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07 /* 1652 */ + .quad 0x3991D639835339F4, 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F /* 1653 */ + .quad 0x7323AC7306A673E9, 0x3908BF177BF25076, 0x3FF12FFFBC0B301F /* 1654 */ + .quad 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F /* 1655 */ + .quad 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F /* 1656 */ + .quad 0x991D639835339F49, 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE /* 1657 */ + .quad 0x323AC7306A673E93, 0x908BF177BF250763, 0xFF12FFFBC0B301FD /* 1658 */ + .quad 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB /* 1659 */ + .quad 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7 /* 1660 */ + .quad 0x91D639835339F49C, 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF /* 1661 */ + .quad 0x23AC7306A673E939, 0x08BF177BF250763F, 0xF12FFFBC0B301FDE /* 1662 */ + .quad 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC /* 1663 */ + .quad 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79 /* 1664 */ + .quad 0x1D639835339F49C8, 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2 /* 1665 */ + .quad 0x3AC7306A673E9390, 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5 /* 1666 */ + .quad 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB /* 1667 */ + .quad 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797 /* 1668 */ + .quad 0xD639835339F49C84, 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F /* 1669 */ + .quad 0xAC7306A673E93908, 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E /* 1670 */ + .quad 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC /* 1671 */ + .quad 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978 /* 1672 */ + .quad 0x639835339F49C845, 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1 /* 1673 */ + .quad 0xC7306A673E93908B, 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2 /* 1674 */ + .quad 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4 /* 1675 */ + .quad 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788 /* 1676 */ + .quad 0x39835339F49C845F, 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11 /* 1677 */ + .quad 0x7306A673E93908BF, 0x177BF250763FF12F, 0xFFBC0B301FDE5E23 /* 1678 */ + .quad 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46 /* 1679 */ + .quad 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C /* 1680 */ + .quad 0x9835339F49C845F8, 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118 /* 1681 */ + .quad 0x306A673E93908BF1, 0x77BF250763FF12FF, 0xFBC0B301FDE5E231 /* 1682 */ + .quad 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462 /* 1683 */ + .quad 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5 /* 1684 */ + .quad 0x835339F49C845F8B, 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B /* 1685 */ + .quad 0x06A673E93908BF17, 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316 /* 1686 */ + .quad 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D /* 1687 */ + .quad 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A /* 1688 */ + .quad 0x35339F49C845F8BB, 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5 /* 1689 */ + .quad 0x6A673E93908BF177, 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B /* 1690 */ + .quad 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6 /* 1691 */ + .quad 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD /* 1692 */ + .quad 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A /* 1693 */ + .quad 0xA673E93908BF177B, 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4 /* 1694 */ + .quad 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68 /* 1695 */ + .quad 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0 /* 1696 */ + .quad 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0 /* 1697 */ + .quad 0x673E93908BF177BF, 0x250763FF12FFFBC0, 0xB301FDE5E2316B41 /* 1698 */ + .quad 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682 /* 1699 */ + .quad 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05 /* 1700 */ + .quad 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A /* 1701 */ + .quad 0x73E93908BF177BF2, 0x50763FF12FFFBC0B, 0x301FDE5E2316B414 /* 1702 */ + .quad 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829 /* 1703 */ + .quad 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053 /* 1704 */ + .quad 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6 /* 1705 */ + .quad 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D /* 1706 */ + .quad 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B /* 1707 */ + .quad 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536 /* 1708 */ + .quad 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D /* 1709 */ + .quad 0xE93908BF177BF250, 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA /* 1710 */ + .quad 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4 /* 1711 */ + .quad 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368 /* 1712 */ + .quad 0x49C845F8BBDF9283, 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1 /* 1713 */ + .quad 0x93908BF177BF2507, 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3 /* 1714 */ + .quad 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603, 0xFBCBC462D6829B47 /* 1715 */ + .quad 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F /* 1716 */ + .quad 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F /* 1717 */ + .quad 0x3908BF177BF25076, 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E /* 1718 */ + .quad 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F, 0xBCBC462D6829B47D /* 1719 */ + .quad 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB /* 1720 */ + .quad 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6 /* 1721 */ + .quad 0x908BF177BF250763, 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED /* 1722 */ + .quad 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB, 0xCBC462D6829B47DB /* 1723 */ + .quad 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6 /* 1724 */ + .quad 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D /* 1725 */ + .quad 0x08BF177BF250763F, 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA /* 1726 */ + .quad 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC, 0xBC462D6829B47DB4 /* 1727 */ + .quad 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69 /* 1728 */ + .quad 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3 /* 1729 */ + .quad 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6 /* 1730 */ + .quad 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB, 0xC462D6829B47DB4D /* 1731 */ + .quad 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B /* 1732 */ + .quad 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36 /* 1733 */ + .quad 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C /* 1734 */ + .quad 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9 /* 1735 */ + .quad 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3 /* 1736 */ + .quad 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367 /* 1737 */ + .quad 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF /* 1738 */ + .quad 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F /* 1739 */ + .quad 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F /* 1740 */ + .quad 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E /* 1741 */ + .quad 0x177BF250763FF12F, 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD /* 1742 */ + .quad 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB /* 1743 */ + .quad 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6 /* 1744 */ + .quad 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC /* 1745 */ + .quad 0x77BF250763FF12FF, 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9 /* 1746 */ + .quad 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3 /* 1747 */ + .quad 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5, 0xAD05368FB69B3F67 /* 1748 */ + .quad 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF /* 1749 */ + .quad 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E /* 1750 */ + .quad 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C /* 1751 */ + .quad 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A, 0xD05368FB69B3F679 /* 1752 */ + .quad 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2 /* 1753 */ + .quad 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4 /* 1754 */ + .quad 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9 /* 1755 */ + .quad 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD, 0x05368FB69B3F6793 /* 1756 */ + .quad 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27 /* 1757 */ + .quad 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F /* 1758 */ + .quad 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F /* 1759 */ + .quad 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E /* 1760 */ + .quad 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C /* 1761 */ + .quad 0x250763FF12FFFBC0, 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9 /* 1762 */ + .quad 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2 /* 1763 */ + .quad 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05, 0x368FB69B3F6793E5 /* 1764 */ + .quad 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB /* 1765 */ + .quad 0x50763FF12FFFBC0B, 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96 /* 1766 */ + .quad 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C /* 1767 */ + .quad 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053, 0x68FB69B3F6793E58 /* 1768 */ + .quad 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0 /* 1769 */ + .quad 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961 /* 1770 */ + .quad 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2 /* 1771 */ + .quad 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536, 0x8FB69B3F6793E584 /* 1772 */ + .quad 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09 /* 1773 */ + .quad 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613 /* 1774 */ + .quad 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26 /* 1775 */ + .quad 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368, 0xFB69B3F6793E584D /* 1776 */ + .quad 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B /* 1777 */ + .quad 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136 /* 1778 */ + .quad 0xC7FE25FFF7816603, 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D /* 1779 */ + .quad 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F, 0xB69B3F6793E584DB /* 1780 */ + .quad 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7 /* 1781 */ + .quad 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E /* 1782 */ + .quad 0x7FE25FFF7816603F, 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD /* 1783 */ + .quad 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB, 0x69B3F6793E584DBA /* 1784 */ + .quad 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74 /* 1785 */ + .quad 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9 /* 1786 */ + .quad 0xFE25FFF7816603FB, 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3 /* 1787 */ + .quad 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7 /* 1788 */ + .quad 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F /* 1789 */ + .quad 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E /* 1790 */ + .quad 0xE25FFF7816603FBC, 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D /* 1791 */ + .quad 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69, 0xB3F6793E584DBA7A /* 1792 */ + .quad 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4 /* 1793 */ + .quad 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8 /* 1794 */ + .quad 0x25FFF7816603FBCB, 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1 /* 1795 */ + .quad 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3 /* 1796 */ + .quad 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46 /* 1797 */ + .quad 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C /* 1798 */ + .quad 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18 /* 1799 */ + .quad 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31 /* 1800 */ + .quad 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463 /* 1801 */ + .quad 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7 /* 1802 */ + .quad 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F /* 1803 */ + .quad 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F /* 1804 */ + .quad 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F /* 1805 */ + .quad 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E /* 1806 */ + .quad 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD /* 1807 */ + .quad 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB /* 1808 */ + .quad 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6 /* 1809 */ + .quad 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC /* 1810 */ + .quad 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9 /* 1811 */ + .quad 0xEF02CC07F79788C5, 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3 /* 1812 */ + .quad 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66 /* 1813 */ + .quad 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD /* 1814 */ + .quad 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A /* 1815 */ + .quad 0xF02CC07F79788C5A, 0xD05368FB69B3F679, 0x3E584DBA7A31FB34 /* 1816 */ + .quad 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669 /* 1817 */ + .quad 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3 /* 1818 */ + .quad 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7 /* 1819 */ + .quad 0x02CC07F79788C5AD, 0x05368FB69B3F6793, 0xE584DBA7A31FB34F /* 1820 */ + .quad 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E /* 1821 */ + .quad 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C /* 1822 */ + .quad 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79 /* 1823 */ + .quad 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2 /* 1824 */ + .quad 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5 /* 1825 */ + .quad 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB /* 1826 */ + .quad 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797 /* 1827 */ + .quad 0xCC07F79788C5AD05, 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F /* 1828 */ + .quad 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F /* 1829 */ + .quad 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF /* 1830 */ + .quad 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F /* 1831 */ + .quad 0xC07F79788C5AD053, 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF /* 1832 */ + .quad 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE /* 1833 */ + .quad 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD /* 1834 */ + .quad 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA /* 1835 */ + .quad 0x07F79788C5AD0536, 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5 /* 1836 */ + .quad 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA /* 1837 */ + .quad 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4 /* 1838 */ + .quad 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8 /* 1839 */ + .quad 0x7F79788C5AD05368, 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51 /* 1840 */ + .quad 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2 /* 1841 */ + .quad 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45 /* 1842 */ + .quad 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B /* 1843 */ + .quad 0xF79788C5AD05368F, 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516 /* 1844 */ + .quad 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D /* 1845 */ + .quad 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A /* 1846 */ + .quad 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5 /* 1847 */ + .quad 0x79788C5AD05368FB, 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B /* 1848 */ + .quad 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7 /* 1849 */ + .quad 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE /* 1850 */ + .quad 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D /* 1851 */ + .quad 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA /* 1852 */ + .quad 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F, 0x463F669E5FEA2D75 /* 1853 */ + .quad 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA /* 1854 */ + .quad 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4 /* 1855 */ + .quad 0x788C5AD05368FB69, 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9 /* 1856 */ + .quad 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752 /* 1857 */ + .quad 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4 /* 1858 */ + .quad 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49 /* 1859 */ + .quad 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93 /* 1860 */ + .quad 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527 /* 1861 */ + .quad 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F /* 1862 */ + .quad 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E /* 1863 */ + .quad 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D /* 1864 */ + .quad 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463, 0xF669E5FEA2D7527B /* 1865 */ + .quad 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7 /* 1866 */ + .quad 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE /* 1867 */ + .quad 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD /* 1868 */ + .quad 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA /* 1869 */ + .quad 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75 /* 1870 */ + .quad 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB /* 1871 */ + .quad 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6 /* 1872 */ + .quad 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC /* 1873 */ + .quad 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758 /* 1874 */ + .quad 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1 /* 1875 */ + .quad 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63 /* 1876 */ + .quad 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7 /* 1877 */ + .quad 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F /* 1878 */ + .quad 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F /* 1879 */ + .quad 0xD05368FB69B3F679, 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F /* 1880 */ + .quad 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E /* 1881 */ + .quad 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD /* 1882 */ + .quad 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA /* 1883 */ + .quad 0x05368FB69B3F6793, 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5 /* 1884 */ + .quad 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB /* 1885 */ + .quad 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7 /* 1886 */ + .quad 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF /* 1887 */ + .quad 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F /* 1888 */ + .quad 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE /* 1889 */ + .quad 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C /* 1890 */ + .quad 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9 /* 1891 */ + .quad 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2 /* 1892 */ + .quad 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5 /* 1893 */ + .quad 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB /* 1894 */ + .quad 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97 /* 1895 */ + .quad 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F /* 1896 */ + .quad 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F /* 1897 */ + .quad 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE /* 1898 */ + .quad 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C /* 1899 */ + .quad 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8 /* 1900 */ + .quad 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1 /* 1901 */ + .quad 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2 /* 1902 */ + .quad 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5 /* 1903 */ + .quad 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B /* 1904 */ + .quad 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17 /* 1905 */ + .quad 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F /* 1906 */ + .quad 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E /* 1907 */ + .quad 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD /* 1908 */ + .quad 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B /* 1909 */ + .quad 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6 /* 1910 */ + .quad 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC /* 1911 */ + .quad 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9 /* 1912 */ + .quad 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3 /* 1913 */ + .quad 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67 /* 1914 */ + .quad 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF /* 1915 */ + .quad 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E /* 1916 */ + .quad 0x367ECF27CB09B74F, 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D /* 1917 */ + .quad 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A /* 1918 */ + .quad 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4 /* 1919 */ + .quad 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8 /* 1920 */ + .quad 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0 /* 1921 */ + .quad 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0 /* 1922 */ + .quad 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41 /* 1923 */ + .quad 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83 /* 1924 */ + .quad 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07 /* 1925 */ + .quad 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E /* 1926 */ + .quad 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C /* 1927 */ + .quad 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839 /* 1928 */ + .quad 0xECF27CB09B74F463, 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073 /* 1929 */ + .quad 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7 /* 1930 */ + .quad 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE /* 1931 */ + .quad 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C /* 1932 */ + .quad 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739 /* 1933 */ + .quad 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73 /* 1934 */ + .quad 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7 /* 1935 */ + .quad 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF /* 1936 */ + .quad 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F /* 1937 */ + .quad 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E /* 1938 */ + .quad 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D /* 1939 */ + .quad 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB /* 1940 */ + .quad 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7 /* 1941 */ + .quad 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF /* 1942 */ + .quad 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE /* 1943 */ + .quad 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC /* 1944 */ + .quad 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78 /* 1945 */ + .quad 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1 /* 1946 */ + .quad 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2 /* 1947 */ + .quad 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5 /* 1948 */ + .quad 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A /* 1949 */ + .quad 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14 /* 1950 */ + .quad 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29 /* 1951 */ + .quad 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52 /* 1952 */ + .quad 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5 /* 1953 */ + .quad 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A /* 1954 */ + .quad 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294 /* 1955 */ + .quad 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529 /* 1956 */ + .quad 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52 /* 1957 */ + .quad 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5 /* 1958 */ + .quad 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A /* 1959 */ + .quad 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294 /* 1960 */ + .quad 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529 /* 1961 */ + .quad 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52 /* 1962 */ + .quad 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4 /* 1963 */ + .quad 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949 /* 1964 */ + .quad 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292 /* 1965 */ + .quad 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525 /* 1966 */ + .quad 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B /* 1967 */ + .quad 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497 /* 1968 */ + .quad 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E /* 1969 */ + .quad 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D /* 1970 */ + .quad 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA /* 1971 */ + .quad 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975 /* 1972 */ + .quad 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA /* 1973 */ + .quad 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4 /* 1974 */ + .quad 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9 /* 1975 */ + .quad 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753 /* 1976 */ + .quad 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6 /* 1977 */ + .quad 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D /* 1978 */ + .quad 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A /* 1979 */ + .quad 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E, 0x839CFBC529497535 /* 1980 */ + .quad 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B /* 1981 */ + .quad 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7 /* 1982 */ + .quad 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF /* 1983 */ + .quad 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8, 0x39CFBC529497535F /* 1984 */ + .quad 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0, 0x739F78A5292EA6BF /* 1985 */ + .quad 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0, 0xE73EF14A525D4D7F /* 1986 */ + .quad 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41, 0xCE7DE294A4BA9AFE /* 1987 */ + .quad 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83, 0x9CFBC529497535FD /* 1988 */ + .quad 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07, 0x39F78A5292EA6BFB /* 1989 */ + .quad 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E, 0x73EF14A525D4D7F6 /* 1990 */ + .quad 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C, 0xE7DE294A4BA9AFED /* 1991 */ + .quad 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839, 0xCFBC529497535FDA /* 1992 */ + .quad 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073, 0x9F78A5292EA6BFB5 /* 1993 */ + .quad 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7, 0x3EF14A525D4D7F6B /* 1994 */ + .quad 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE, 0x7DE294A4BA9AFED7 /* 1995 */ + .quad 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C, 0xFBC529497535FDAF /* 1996 */ + .quad 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739, 0xF78A5292EA6BFB5F /* 1997 */ + .quad 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73, 0xEF14A525D4D7F6BF /* 1998 */ + .quad 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7, 0xDE294A4BA9AFED7E /* 1999 */ + .quad 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF, 0xBC529497535FDAFD /* 2000 */ + .quad 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F, 0x78A5292EA6BFB5FB /* 2001 */ + .quad 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E, 0xF14A525D4D7F6BF6 /* 2002 */ + .quad 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D, 0xE294A4BA9AFED7EC /* 2003 */ + .quad 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB, 0xC529497535FDAFD8 /* 2004 */ + .quad 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1 /* 2005 */ + .quad 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF, 0x14A525D4D7F6BF62 /* 2006 */ + .quad 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE, 0x294A4BA9AFED7EC4 /* 2007 */ + .quad 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC, 0x529497535FDAFD88 /* 2008 */ + .quad 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78, 0xA5292EA6BFB5FB11 /* 2009 */ + .quad 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1, 0x4A525D4D7F6BF623 /* 2010 */ + .quad 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2, 0x94A4BA9AFED7EC47 /* 2011 */ + .quad 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5, 0x29497535FDAFD88F /* 2012 */ + .quad 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A, 0x5292EA6BFB5FB11F /* 2013 */ + .quad 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14, 0xA525D4D7F6BF623F /* 2014 */ + .quad 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29, 0x4A4BA9AFED7EC47E /* 2015 */ + .quad 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52, 0x9497535FDAFD88FC /* 2016 */ + .quad 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5, 0x292EA6BFB5FB11F8 /* 2017 */ + .quad 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A, 0x525D4D7F6BF623F1 /* 2018 */ + .quad 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294, 0xA4BA9AFED7EC47E3 /* 2019 */ + .quad 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529, 0x497535FDAFD88FC6 /* 2020 */ + .quad 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52, 0x92EA6BFB5FB11F8D /* 2021 */ + .quad 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5, 0x25D4D7F6BF623F1A /* 2022 */ + .quad 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A, 0x4BA9AFED7EC47E35 /* 2023 */ + .quad 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294, 0x97535FDAFD88FC6A /* 2024 */ + .quad 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529, 0x2EA6BFB5FB11F8D5 /* 2025 */ + .quad 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52, 0x5D4D7F6BF623F1AB /* 2026 */ + .quad 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4, 0xBA9AFED7EC47E357 /* 2027 */ + .quad 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949, 0x7535FDAFD88FC6AE /* 2028 */ + .quad 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292, 0xEA6BFB5FB11F8D5D /* 2029 */ + .quad 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525, 0xD4D7F6BF623F1ABA /* 2030 */ + .quad 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B, 0xA9AFED7EC47E3574 /* 2031 */ + .quad 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497, 0x535FDAFD88FC6AE8 /* 2032 */ + .quad 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E, 0xA6BFB5FB11F8D5D0 /* 2033 */ + .quad 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D, 0x4D7F6BF623F1ABA1 /* 2034 */ + .quad 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA, 0x9AFED7EC47E35742 /* 2035 */ + .quad 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975, 0x35FDAFD88FC6AE84 /* 2036 */ + .quad 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA, 0x6BFB5FB11F8D5D08 /* 2037 */ + .quad 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4, 0xD7F6BF623F1ABA10 /* 2038 */ + .quad 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9, 0xAFED7EC47E357421 /* 2039 */ + .quad 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753, 0x5FDAFD88FC6AE842 /* 2040 */ + .quad 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6, 0xBFB5FB11F8D5D085 /* 2041 */ + .quad 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D, 0x7F6BF623F1ABA10A /* 2042 */ + .quad 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A, 0xFED7EC47E3574215 /* 2043 */ + .quad 0x93DD63F5F2F8BD9E, 0x839CFBC529497535, 0xFDAFD88FC6AE842B /* 2044 */ + .quad 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B, 0xFB5FB11F8D5D0856 /* 2045 */ + .quad 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7, 0xF6BF623F1ABA10AC /* 2046 */ + .quad 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF, 0xED7EC47E35742158 /* 2047 */ + .align 32 + .type __svml_dtan_reduction_data_internal, @object + .size __svml_dtan_reduction_data_internal, .-__svml_dtan_reduction_data_internal From patchwork Mon Mar 7 15:01:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602415 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=aKfVp3Cl; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC45865s7z9sFt for ; Tue, 8 Mar 2022 03:42:52 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 80ECA385801F for ; Mon, 7 Mar 2022 16:42:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 80ECA385801F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646671370; bh=A0A6FrpLv2bF3gXcBYW18hbdoII22XliqbEZDoZvWoo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=aKfVp3ClzoPk9ypxre99oc3w+lKnA9GpzpEU77OLSJ1/qwVZSHYK99Vv3UWT8e7b8 2IC+uSZ0do4ohrDf0sDPZHCdXGrBITutJ7ooZjJpqIyrqBOkF/0M0tRzfdWZE8Uu75 U1jHMZtlWsrn8RHyeM/pInkr9bblSTP58TmVDSh4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id E64EE3858C2C for ; Mon, 7 Mar 2022 15:03:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E64EE3858C2C X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017305" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017305" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="509733303" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga002.jf.intel.com with ESMTP; 07 Mar 2022 07:02:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fY016772; Mon, 7 Mar 2022 07:02:11 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 120/126] x86_64: Fix svml_d_tan8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:55 -0800 Message-Id: <20220307150201.10590-121-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_tan8_core_avx512.S | 5245 ++++++++--------- 1 file changed, 2621 insertions(+), 2624 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S index a858b43cf5..376479035e 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tan8_core_avx512.S @@ -34,2700 +34,2697 @@ /* Offsets for data table __svml_dtan_data_internal */ -#define _dInvPI_uisa 0 -#define _dPI1_uisa 64 -#define _dPI2_uisa 128 -#define _dPI3_uisa 192 -#define Th_tbl_uisa 256 -#define _dPC3_uisa 384 -#define _dPC5_uisa 448 -#define _dPC7_uisa 512 -#define _dPC9_uisa 576 -#define _dPC11_uisa 640 -#define _dOne_uisa 704 -#define _dAbsMask 768 -#define _dRangeVal 832 -#define _dRShift 896 -#define _dReductionRangeVal 960 -#define _dPI1 1024 -#define _dPI2 1088 -#define _dPI3 1152 +#define _dInvPI_uisa 0 +#define _dPI1_uisa 64 +#define _dPI2_uisa 128 +#define _dPI3_uisa 192 +#define Th_tbl_uisa 256 +#define _dPC3_uisa 384 +#define _dPC5_uisa 448 +#define _dPC7_uisa 512 +#define _dPC9_uisa 576 +#define _dPC11_uisa 640 +#define _dOne_uisa 704 +#define _dAbsMask 768 +#define _dRangeVal 832 +#define _dRShift 896 +#define _dReductionRangeVal 960 +#define _dPI1 1024 +#define _dPI2 1088 +#define _dPI3 1152 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_tan_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - xorl %edx, %edx - -/* Large values check */ - vmovups _dReductionRangeVal+__svml_dtan_data_internal(%rip), %zmm1 - -/* - * - * Main path - * - * start arg. reduction - */ - vmovups _dRShift+__svml_dtan_data_internal(%rip), %zmm2 - vmovups _dPI1_uisa+__svml_dtan_data_internal(%rip), %zmm5 - vmovups _dPI2_uisa+__svml_dtan_data_internal(%rip), %zmm3 - vmovups _dPI3_uisa+__svml_dtan_data_internal(%rip), %zmm4 - vmovaps %zmm0, %zmm11 - vandpd _dAbsMask+__svml_dtan_data_internal(%rip), %zmm11, %zmm0 - vcmppd $22, {sae}, %zmm1, %zmm0, %k1 - vmovups __svml_dtan_data_internal(%rip), %zmm1 - -/* - * - * End of main path - */ - - kortestw %k1, %k1 - vfmadd213pd {rn-sae}, %zmm2, %zmm11, %zmm1 - vsubpd {rn-sae}, %zmm2, %zmm1, %zmm8 - vfnmadd213pd {rn-sae}, %zmm11, %zmm8, %zmm5 - vfnmadd231pd {rn-sae}, %zmm8, %zmm3, %zmm5 - vfnmadd213pd {rn-sae}, %zmm5, %zmm4, %zmm8 - -/* Go to auxilary branch */ - jne L(AUX_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm8 zmm11 k1 - -/* Return from auxilary branch - * for out of main path inputs - */ + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + xorl %edx, %edx + + /* Large values check */ + vmovups _dReductionRangeVal+__svml_dtan_data_internal(%rip), %zmm1 + + /* + * + * Main path + * + * start arg. reduction + */ + vmovups _dRShift+__svml_dtan_data_internal(%rip), %zmm2 + vmovups _dPI1_uisa+__svml_dtan_data_internal(%rip), %zmm5 + vmovups _dPI2_uisa+__svml_dtan_data_internal(%rip), %zmm3 + vmovups _dPI3_uisa+__svml_dtan_data_internal(%rip), %zmm4 + vmovaps %zmm0, %zmm11 + vandpd _dAbsMask+__svml_dtan_data_internal(%rip), %zmm11, %zmm0 + vcmppd $22, {sae}, %zmm1, %zmm0, %k1 + vmovups __svml_dtan_data_internal(%rip), %zmm1 + + /* + * + * End of main path + */ + + kortestw %k1, %k1 + vfmadd213pd {rn-sae}, %zmm2, %zmm11, %zmm1 + vsubpd {rn-sae}, %zmm2, %zmm1, %zmm8 + vfnmadd213pd {rn-sae}, %zmm11, %zmm8, %zmm5 + vfnmadd231pd {rn-sae}, %zmm8, %zmm3, %zmm5 + vfnmadd213pd {rn-sae}, %zmm5, %zmm4, %zmm8 + + /* Go to auxilary branch */ + jne L(AUX_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 zmm8 zmm11 k1 + + /* Return from auxilary branch + * for out of main path inputs + */ L(AUX_BRANCH_RETURN): - vmovups Th_tbl_uisa+__svml_dtan_data_internal(%rip), %zmm0 - vmovups _dPC9_uisa+__svml_dtan_data_internal(%rip), %zmm5 - vmovups _dPC7_uisa+__svml_dtan_data_internal(%rip), %zmm2 - vmovups _dPC5_uisa+__svml_dtan_data_internal(%rip), %zmm3 - vmovups _dPC3_uisa+__svml_dtan_data_internal(%rip), %zmm4 - vmulpd {rn-sae}, %zmm8, %zmm8, %zmm6 - vpermt2pd Th_tbl_uisa+64+__svml_dtan_data_internal(%rip), %zmm1, %zmm0 - vmovups _dPC11_uisa+__svml_dtan_data_internal(%rip), %zmm1 - vfmadd231pd {rn-sae}, %zmm6, %zmm1, %zmm5 - vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm5 - vfmadd213pd {rn-sae}, %zmm3, %zmm6, %zmm5 - vfmadd213pd {rn-sae}, %zmm4, %zmm6, %zmm5 - vmulpd {rn-sae}, %zmm8, %zmm5, %zmm7 - vfmadd213pd {rn-sae}, %zmm8, %zmm6, %zmm7 - -/* - * Computer Denominator: - * dDenominator - dDlow ~= 1-(dTh+dTl)*(dP+dPlow) - */ - vmovups _dOne_uisa+__svml_dtan_data_internal(%rip), %zmm8 - -/* - * Compute Numerator: - * dNumerator + dNlow ~= dTh+dTl+dP+dPlow - */ - vaddpd {rn-sae}, %zmm0, %zmm7, %zmm9 - vfnmadd213pd {rn-sae}, %zmm8, %zmm7, %zmm0 - -/* - * Now computes (dNumerator + dNlow)/(dDenominator - dDlow) - * Choose NR iteration instead of hardware division - */ - vrcp14pd %zmm0, %zmm10 - -/* One NR iteration to refine dRcp */ - vfnmadd231pd {rn-sae}, %zmm10, %zmm0, %zmm8 - vfmadd213pd {rn-sae}, %zmm10, %zmm8, %zmm10 - vmulpd {rn-sae}, %zmm9, %zmm10, %zmm12 - -/* One NR iteration to refine dQuotient */ - vfmsub213pd {rn-sae}, %zmm9, %zmm12, %zmm0 - vfnmadd213pd {rn-sae}, %zmm12, %zmm10, %zmm0 - testl %edx, %edx - -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 - -/* Restore registers - * and exit the function - */ + vmovups Th_tbl_uisa+__svml_dtan_data_internal(%rip), %zmm0 + vmovups _dPC9_uisa+__svml_dtan_data_internal(%rip), %zmm5 + vmovups _dPC7_uisa+__svml_dtan_data_internal(%rip), %zmm2 + vmovups _dPC5_uisa+__svml_dtan_data_internal(%rip), %zmm3 + vmovups _dPC3_uisa+__svml_dtan_data_internal(%rip), %zmm4 + vmulpd {rn-sae}, %zmm8, %zmm8, %zmm6 + vpermt2pd Th_tbl_uisa+64+__svml_dtan_data_internal(%rip), %zmm1, %zmm0 + vmovups _dPC11_uisa+__svml_dtan_data_internal(%rip), %zmm1 + vfmadd231pd {rn-sae}, %zmm6, %zmm1, %zmm5 + vfmadd213pd {rn-sae}, %zmm2, %zmm6, %zmm5 + vfmadd213pd {rn-sae}, %zmm3, %zmm6, %zmm5 + vfmadd213pd {rn-sae}, %zmm4, %zmm6, %zmm5 + vmulpd {rn-sae}, %zmm8, %zmm5, %zmm7 + vfmadd213pd {rn-sae}, %zmm8, %zmm6, %zmm7 + + /* + * Computer Denominator: + * dDenominator - dDlow ~= 1-(dTh+dTl)*(dP+dPlow) + */ + vmovups _dOne_uisa+__svml_dtan_data_internal(%rip), %zmm8 + + /* + * Compute Numerator: + * dNumerator + dNlow ~= dTh+dTl+dP+dPlow + */ + vaddpd {rn-sae}, %zmm0, %zmm7, %zmm9 + vfnmadd213pd {rn-sae}, %zmm8, %zmm7, %zmm0 + + /* + * Now computes (dNumerator + dNlow)/(dDenominator - dDlow) + * Choose NR iteration instead of hardware division + */ + vrcp14pd %zmm0, %zmm10 + + /* One NR iteration to refine dRcp */ + vfnmadd231pd {rn-sae}, %zmm10, %zmm0, %zmm8 + vfmadd213pd {rn-sae}, %zmm10, %zmm8, %zmm10 + vmulpd {rn-sae}, %zmm9, %zmm10, %zmm12 + + /* One NR iteration to refine dQuotient */ + vfmsub213pd {rn-sae}, %zmm9, %zmm12, %zmm0 + vfnmadd213pd {rn-sae}, %zmm12, %zmm10, %zmm0 + testl %edx, %edx + + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm11 + + /* Restore registers + * and exit the function + */ L(EXIT): - 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 - */ + 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): - vmovups %zmm11, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 - - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx - - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d - -/* Range mask - * bits check - */ + vmovups %zmm11, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 + + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx + + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d + + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %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) - vmovups 128(%rsp), %zmm0 - -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 - -/* Scalar math fucntion call - * to process special input - */ + incl %r12d + cmpl $8, %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) + vmovups 128(%rsp), %zmm0 + + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 + + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call tan@PLT - # LOE rbx r14 r15 r12d r13d xmm0 - - movsd %xmm0, 128(%rsp,%r14,8) - -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - cfi_restore(12) - cfi_restore(13) - cfi_restore(14) - # LOE rbx r15 r12d r13d - -/* Auxilary branch - * for out of main path inputs - */ + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call tan@PLT + # LOE rbx r14 r15 r12d r13d xmm0 -L(AUX_BRANCH): - vmovups _dRangeVal+__svml_dtan_data_internal(%rip), %zmm14 - -/* - * Get the (2^a / 2pi) mod 1 values from the table. - * Because doesn't have L-type gather, we need a trivial cast - */ - lea __svml_dtan_reduction_data_internal(%rip), %rax - vmovups %zmm1, (%rsp) - vpternlogd $0xff, %zmm1, %zmm1, %zmm9 - vandpd %zmm0, %zmm14, %zmm6 - vmovups %zmm8, 64(%rsp) - vcmppd $4, {sae}, %zmm14, %zmm6, %k2 - vmovaps %zmm9, %zmm5 - vpandq .FLT_16(%rip){1to8}, %zmm11, %zmm8 - vpsrlq $52, %zmm8, %zmm10 - vpsllq $1, %zmm10, %zmm7 - vpaddq %zmm10, %zmm7, %zmm4 - vpsllq $3, %zmm4, %zmm0 - vpmovqd %zmm0, %ymm3 - vpandnq %zmm6, %zmm6, %zmm5{%k2} - vcmppd $3, {sae}, %zmm5, %zmm5, %k0 - -/* - * Break the P_xxx and m into 32-bit chunks ready for - * the long multiplication via 32x32->64 multiplications - */ - vpbroadcastq .FLT_19(%rip), %zmm6 - kxnorw %k0, %k0, %k3 - kxnorw %k0, %k0, %k4 - kxnorw %k0, %k0, %k5 - kmovw %k0, %edx - vpxord %zmm2, %zmm2, %zmm2 - vpxord %zmm1, %zmm1, %zmm1 - vpxord %zmm8, %zmm8, %zmm8 - vgatherdpd (%rax,%ymm3), %zmm2{%k3} - vgatherdpd 8(%rax,%ymm3), %zmm1{%k4} - vgatherdpd 16(%rax,%ymm3), %zmm8{%k5} - vpsrlq $32, %zmm2, %zmm5 - vpsrlq $32, %zmm1, %zmm0 - vpsrlq $32, %zmm8, %zmm13 - -/* - * Also get the significand as an integer - * NB: adding in the integer bit is wrong for denorms! - * To make this work for denorms we should do something slightly different - */ - vpandq .FLT_17(%rip){1to8}, %zmm11, %zmm15 - vpaddq .FLT_18(%rip){1to8}, %zmm15, %zmm14 - vpsrlq $32, %zmm14, %zmm7 - vpmullq %zmm0, %zmm7, %zmm3 - vpandq %zmm6, %zmm2, %zmm10 - vpandq %zmm6, %zmm1, %zmm12 - vpandq %zmm6, %zmm8, %zmm15 - vpandq %zmm6, %zmm14, %zmm14 - -/* Now do the big multiplication and carry propagation */ - vpmullq %zmm10, %zmm7, %zmm4 - vpmullq %zmm12, %zmm7, %zmm2 - vpmullq %zmm13, %zmm7, %zmm1 - vpmullq %zmm15, %zmm7, %zmm8 - vpmullq %zmm5, %zmm14, %zmm7 - vpmullq %zmm10, %zmm14, %zmm5 - vpmullq %zmm0, %zmm14, %zmm10 - vpmullq %zmm12, %zmm14, %zmm0 - vpmullq %zmm13, %zmm14, %zmm12 - vpsrlq $32, %zmm10, %zmm15 - vpsrlq $32, %zmm0, %zmm13 - vpsrlq $32, %zmm12, %zmm14 - vpsrlq $32, %zmm5, %zmm12 - vpsrlq $32, %zmm8, %zmm8 - vpaddq %zmm14, %zmm1, %zmm1 - vpaddq %zmm13, %zmm2, %zmm2 - vpaddq %zmm15, %zmm3, %zmm15 - vpaddq %zmm12, %zmm4, %zmm3 - vpandq %zmm6, %zmm0, %zmm13 - vpaddq %zmm1, %zmm13, %zmm4 - vpaddq %zmm4, %zmm8, %zmm14 - vpsrlq $32, %zmm14, %zmm0 - vpandq %zmm6, %zmm10, %zmm10 - vpaddq %zmm2, %zmm10, %zmm1 - vpaddq %zmm1, %zmm0, %zmm8 + movsd %xmm0, 128(%rsp, %r14, 8) -/* - * Now round at the 2^-9 bit position for reduction mod pi/2^8 - * instead of the original 2pi (but still with the same 2pi scaling). - * Use a shifter of 2^43 + 2^42. - * The N we get is our final version; it has an offset of - * 2^9 because of the implicit integer bit, and anyway for negative - * starting value it's a 2s complement thing. But we need to mask - * off the exponent part anyway so it's fine. - */ - vpbroadcastq .FLT_22(%rip), %zmm1 - vpandq %zmm6, %zmm7, %zmm7 - vpaddq %zmm3, %zmm7, %zmm13 - vpsrlq $32, %zmm8, %zmm3 - vpandq %zmm6, %zmm5, %zmm5 - vpaddq %zmm15, %zmm5, %zmm2 - vpaddq %zmm2, %zmm3, %zmm15 - vpsrlq $32, %zmm15, %zmm12 - vpaddq %zmm13, %zmm12, %zmm5 - -/* Assemble reduced argument from the pieces */ - vpandq %zmm6, %zmm14, %zmm10 - vpandq %zmm6, %zmm15, %zmm7 - vpsllq $32, %zmm5, %zmm6 - vpsllq $32, %zmm8, %zmm5 - vpaddq %zmm7, %zmm6, %zmm4 - vpaddq %zmm10, %zmm5, %zmm10 - vpsrlq $12, %zmm4, %zmm6 + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + cfi_restore(12) + cfi_restore(13) + cfi_restore(14) + # LOE rbx r15 r12d r13d -/* - * We want to incorporate the original sign now too. - * Do it here for convenience in getting the right N value, - * though we could wait right to the end if we were prepared - * to modify the sign of N later too. - * So get the appropriate sign mask now (or sooner). - */ - vpandq .FLT_20(%rip){1to8}, %zmm11, %zmm0 - vpandq .FLT_25(%rip){1to8}, %zmm10, %zmm13 - vpsllq $28, %zmm13, %zmm14 + /* Auxilary branch + * for out of main path inputs + */ -/* - * Create floating-point high part, implicitly adding integer bit 1 - * Incorporate overall sign at this stage too. - */ - vpxorq .FLT_21(%rip){1to8}, %zmm0, %zmm8 - vporq %zmm8, %zmm6, %zmm2 - vaddpd {rn-sae}, %zmm2, %zmm1, %zmm12 - vsubpd {rn-sae}, %zmm1, %zmm12, %zmm3 - vsubpd {rn-sae}, %zmm3, %zmm2, %zmm7 - -/* - * Create floating-point low and medium parts, respectively - * lo_23, ... lo_0, 0, ..., 0 - * hi_11, ... hi_0, lo_63, ..., lo_24 - * then subtract off the implicitly added integer bits, - * 2^-104 and 2^-52, respectively. - * Put the original sign into all of them at this stage. - */ - vpxorq .FLT_24(%rip){1to8}, %zmm0, %zmm6 - vporq %zmm6, %zmm14, %zmm15 - vpandq .FLT_27(%rip){1to8}, %zmm4, %zmm4 - vsubpd {rn-sae}, %zmm6, %zmm15, %zmm8 - -/* - * If the magnitude of the input is <= 2^-20, then - * just pass through the input, since no reduction will be needed and - * the main path will only work accurately if the reduced argument is - * about >= 2^-70 (which it is for all large pi multiples) - */ - vpbroadcastq .FLT_31(%rip), %zmm14 - vandpd .FLT_30(%rip){1to8}, %zmm11, %zmm15 - vpsrlq $24, %zmm10, %zmm6 - vcmppd $26, {sae}, %zmm14, %zmm15, %k6 - vcmppd $22, {sae}, %zmm14, %zmm15, %k7 - vpxorq .FLT_26(%rip){1to8}, %zmm0, %zmm1 - vpsllq $40, %zmm4, %zmm0 - vporq %zmm6, %zmm0, %zmm0 - vporq %zmm1, %zmm0, %zmm4 - vsubpd {rn-sae}, %zmm1, %zmm4, %zmm2 - -/* Now add them up into 2 reasonably aligned pieces */ - vaddpd {rn-sae}, %zmm2, %zmm7, %zmm13 - vsubpd {rn-sae}, %zmm13, %zmm7, %zmm7 - vaddpd {rn-sae}, %zmm7, %zmm2, %zmm3 - vaddpd {rn-sae}, %zmm8, %zmm3, %zmm0 - vpbroadcastq .FLT_29(%rip), %zmm8 - -/* Grab our final N value as an integer, appropriately masked mod 2^9 */ - vpandq .FLT_23(%rip){1to8}, %zmm12, %zmm5 - -/* - * Now multiply those numbers all by 2 pi, reasonably accurately. - * (RHi + RLo) * (pi_lead + pi_trail) ~= - * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) - */ - vpbroadcastq .FLT_28(%rip), %zmm12 - -/* The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND */ - vpmovqd %zmm5, %ymm4 - vmulpd {rn-sae}, %zmm12, %zmm13, %zmm6 - vmovaps %zmm12, %zmm10 - vfmsub213pd {rn-sae}, %zmm6, %zmm13, %zmm10 - vfmadd213pd {rn-sae}, %zmm10, %zmm8, %zmm13 - vpbroadcastq .FLT_34(%rip), %zmm10 - vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm0 - vpbroadcastq .FLT_33(%rip), %zmm12 - vmovaps %zmm9, %zmm8 - vpandnq %zmm15, %zmm15, %zmm8{%k6} - vpandnq %zmm15, %zmm15, %zmm9{%k7} - vandpd %zmm11, %zmm9, %zmm9 - vandpd %zmm6, %zmm8, %zmm14 - vorpd %zmm14, %zmm9, %zmm6 - vandpd %zmm0, %zmm8, %zmm9 - vmovdqu .FLT_32(%rip), %ymm0 - vpsrlq $32, %zmm6, %zmm5 - vpmovqd %zmm5, %ymm5 - vpsrld $31, %ymm5, %ymm1 - vpsubd %ymm1, %ymm0, %ymm2 - -/* - * - * End of large arguments path - * - * Merge results from main and large paths: - */ - vmovups (%rsp), %zmm1 - vpaddd %ymm2, %ymm4, %ymm3 - vpsrld $4, %ymm3, %ymm14 - vpslld $4, %ymm14, %ymm7 - vpmovzxdq %ymm14, %zmm1{%k1} - vpsubd %ymm7, %ymm4, %ymm8 - vcvtdq2pd %ymm8, %zmm15 - vmovups 64(%rsp), %zmm8 - vfmadd231pd {rn-sae}, %zmm15, %zmm10, %zmm9 - vaddpd {rn-sae}, %zmm6, %zmm9, %zmm13 - vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm15 - vblendmpd %zmm15, %zmm8, %zmm8{%k1} - -/* Return to main vector processing path */ - jmp L(AUX_BRANCH_RETURN) - # LOE rbx r12 r13 r14 r15 edx zmm1 zmm8 zmm11 +L(AUX_BRANCH): + vmovups _dRangeVal+__svml_dtan_data_internal(%rip), %zmm14 + + /* + * Get the (2^a / 2pi) mod 1 values from the table. + * Because doesn't have L-type gather, we need a trivial cast + */ + lea __svml_dtan_reduction_data_internal(%rip), %rax + vmovups %zmm1, (%rsp) + vpternlogd $0xff, %zmm1, %zmm1, %zmm9 + vandpd %zmm0, %zmm14, %zmm6 + vmovups %zmm8, 64(%rsp) + vcmppd $4, {sae}, %zmm14, %zmm6, %k2 + vmovaps %zmm9, %zmm5 + vpandq .FLT_16(%rip){1to8}, %zmm11, %zmm8 + vpsrlq $52, %zmm8, %zmm10 + vpsllq $1, %zmm10, %zmm7 + vpaddq %zmm10, %zmm7, %zmm4 + vpsllq $3, %zmm4, %zmm0 + vpmovqd %zmm0, %ymm3 + vpandnq %zmm6, %zmm6, %zmm5{%k2} + vcmppd $3, {sae}, %zmm5, %zmm5, %k0 + + /* + * Break the P_xxx and m into 32-bit chunks ready for + * the long multiplication via 32x32->64 multiplications + */ + vpbroadcastq .FLT_19(%rip), %zmm6 + kxnorw %k0, %k0, %k3 + kxnorw %k0, %k0, %k4 + kxnorw %k0, %k0, %k5 + kmovw %k0, %edx + vpxord %zmm2, %zmm2, %zmm2 + vpxord %zmm1, %zmm1, %zmm1 + vpxord %zmm8, %zmm8, %zmm8 + vgatherdpd (%rax, %ymm3), %zmm2{%k3} + vgatherdpd 8(%rax, %ymm3), %zmm1{%k4} + vgatherdpd 16(%rax, %ymm3), %zmm8{%k5} + vpsrlq $32, %zmm2, %zmm5 + vpsrlq $32, %zmm1, %zmm0 + vpsrlq $32, %zmm8, %zmm13 + + /* + * Also get the significand as an integer + * NB: adding in the integer bit is wrong for denorms! + * To make this work for denorms we should do something slightly different + */ + vpandq .FLT_17(%rip){1to8}, %zmm11, %zmm15 + vpaddq .FLT_18(%rip){1to8}, %zmm15, %zmm14 + vpsrlq $32, %zmm14, %zmm7 + vpmullq %zmm0, %zmm7, %zmm3 + vpandq %zmm6, %zmm2, %zmm10 + vpandq %zmm6, %zmm1, %zmm12 + vpandq %zmm6, %zmm8, %zmm15 + vpandq %zmm6, %zmm14, %zmm14 + + /* Now do the big multiplication and carry propagation */ + vpmullq %zmm10, %zmm7, %zmm4 + vpmullq %zmm12, %zmm7, %zmm2 + vpmullq %zmm13, %zmm7, %zmm1 + vpmullq %zmm15, %zmm7, %zmm8 + vpmullq %zmm5, %zmm14, %zmm7 + vpmullq %zmm10, %zmm14, %zmm5 + vpmullq %zmm0, %zmm14, %zmm10 + vpmullq %zmm12, %zmm14, %zmm0 + vpmullq %zmm13, %zmm14, %zmm12 + vpsrlq $32, %zmm10, %zmm15 + vpsrlq $32, %zmm0, %zmm13 + vpsrlq $32, %zmm12, %zmm14 + vpsrlq $32, %zmm5, %zmm12 + vpsrlq $32, %zmm8, %zmm8 + vpaddq %zmm14, %zmm1, %zmm1 + vpaddq %zmm13, %zmm2, %zmm2 + vpaddq %zmm15, %zmm3, %zmm15 + vpaddq %zmm12, %zmm4, %zmm3 + vpandq %zmm6, %zmm0, %zmm13 + vpaddq %zmm1, %zmm13, %zmm4 + vpaddq %zmm4, %zmm8, %zmm14 + vpsrlq $32, %zmm14, %zmm0 + vpandq %zmm6, %zmm10, %zmm10 + vpaddq %zmm2, %zmm10, %zmm1 + vpaddq %zmm1, %zmm0, %zmm8 + + /* + * Now round at the 2^-9 bit position for reduction mod pi/2^8 + * instead of the original 2pi (but still with the same 2pi scaling). + * Use a shifter of 2^43 + 2^42. + * The N we get is our final version; it has an offset of + * 2^9 because of the implicit integer bit, and anyway for negative + * starting value it's a 2s complement thing. But we need to mask + * off the exponent part anyway so it's fine. + */ + vpbroadcastq .FLT_22(%rip), %zmm1 + vpandq %zmm6, %zmm7, %zmm7 + vpaddq %zmm3, %zmm7, %zmm13 + vpsrlq $32, %zmm8, %zmm3 + vpandq %zmm6, %zmm5, %zmm5 + vpaddq %zmm15, %zmm5, %zmm2 + vpaddq %zmm2, %zmm3, %zmm15 + vpsrlq $32, %zmm15, %zmm12 + vpaddq %zmm13, %zmm12, %zmm5 + + /* Assemble reduced argument from the pieces */ + vpandq %zmm6, %zmm14, %zmm10 + vpandq %zmm6, %zmm15, %zmm7 + vpsllq $32, %zmm5, %zmm6 + vpsllq $32, %zmm8, %zmm5 + vpaddq %zmm7, %zmm6, %zmm4 + vpaddq %zmm10, %zmm5, %zmm10 + vpsrlq $12, %zmm4, %zmm6 + + /* + * We want to incorporate the original sign now too. + * Do it here for convenience in getting the right N value, + * though we could wait right to the end if we were prepared + * to modify the sign of N later too. + * So get the appropriate sign mask now (or sooner). + */ + vpandq .FLT_20(%rip){1to8}, %zmm11, %zmm0 + vpandq .FLT_25(%rip){1to8}, %zmm10, %zmm13 + vpsllq $28, %zmm13, %zmm14 + + /* + * Create floating-point high part, implicitly adding integer bit 1 + * Incorporate overall sign at this stage too. + */ + vpxorq .FLT_21(%rip){1to8}, %zmm0, %zmm8 + vporq %zmm8, %zmm6, %zmm2 + vaddpd {rn-sae}, %zmm2, %zmm1, %zmm12 + vsubpd {rn-sae}, %zmm1, %zmm12, %zmm3 + vsubpd {rn-sae}, %zmm3, %zmm2, %zmm7 + + /* + * Create floating-point low and medium parts, respectively + * lo_23, ... lo_0, 0, ..., 0 + * hi_11, ... hi_0, lo_63, ..., lo_24 + * then subtract off the implicitly added integer bits, + * 2^-104 and 2^-52, respectively. + * Put the original sign into all of them at this stage. + */ + vpxorq .FLT_24(%rip){1to8}, %zmm0, %zmm6 + vporq %zmm6, %zmm14, %zmm15 + vpandq .FLT_27(%rip){1to8}, %zmm4, %zmm4 + vsubpd {rn-sae}, %zmm6, %zmm15, %zmm8 + + /* + * If the magnitude of the input is <= 2^-20, then + * just pass through the input, since no reduction will be needed and + * the main path will only work accurately if the reduced argument is + * about >= 2^-70 (which it is for all large pi multiples) + */ + vpbroadcastq .FLT_31(%rip), %zmm14 + vandpd .FLT_30(%rip){1to8}, %zmm11, %zmm15 + vpsrlq $24, %zmm10, %zmm6 + vcmppd $26, {sae}, %zmm14, %zmm15, %k6 + vcmppd $22, {sae}, %zmm14, %zmm15, %k7 + vpxorq .FLT_26(%rip){1to8}, %zmm0, %zmm1 + vpsllq $40, %zmm4, %zmm0 + vporq %zmm6, %zmm0, %zmm0 + vporq %zmm1, %zmm0, %zmm4 + vsubpd {rn-sae}, %zmm1, %zmm4, %zmm2 + + /* Now add them up into 2 reasonably aligned pieces */ + vaddpd {rn-sae}, %zmm2, %zmm7, %zmm13 + vsubpd {rn-sae}, %zmm13, %zmm7, %zmm7 + vaddpd {rn-sae}, %zmm7, %zmm2, %zmm3 + vaddpd {rn-sae}, %zmm8, %zmm3, %zmm0 + vpbroadcastq .FLT_29(%rip), %zmm8 + + /* Grab our final N value as an integer, appropriately masked mod 2^9 */ + vpandq .FLT_23(%rip){1to8}, %zmm12, %zmm5 + + /* + * Now multiply those numbers all by 2 pi, reasonably accurately. + * (RHi + RLo) * (pi_lead + pi_trail) ~= + * RHi * pi_lead + (RHi * pi_trail + RLo * pi_lead) + */ + vpbroadcastq .FLT_28(%rip), %zmm12 + + /* The output is _VRES_Z (high) + _VRES_E (low), and the integer part is _VRES_IND */ + vpmovqd %zmm5, %ymm4 + vmulpd {rn-sae}, %zmm12, %zmm13, %zmm6 + vmovaps %zmm12, %zmm10 + vfmsub213pd {rn-sae}, %zmm6, %zmm13, %zmm10 + vfmadd213pd {rn-sae}, %zmm10, %zmm8, %zmm13 + vpbroadcastq .FLT_34(%rip), %zmm10 + vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm0 + vpbroadcastq .FLT_33(%rip), %zmm12 + vmovaps %zmm9, %zmm8 + vpandnq %zmm15, %zmm15, %zmm8{%k6} + vpandnq %zmm15, %zmm15, %zmm9{%k7} + vandpd %zmm11, %zmm9, %zmm9 + vandpd %zmm6, %zmm8, %zmm14 + vorpd %zmm14, %zmm9, %zmm6 + vandpd %zmm0, %zmm8, %zmm9 + vmovdqu .FLT_32(%rip), %ymm0 + vpsrlq $32, %zmm6, %zmm5 + vpmovqd %zmm5, %ymm5 + vpsrld $31, %ymm5, %ymm1 + vpsubd %ymm1, %ymm0, %ymm2 + + /* + * + * End of large arguments path + * + * Merge results from main and large paths: + */ + vmovups (%rsp), %zmm1 + vpaddd %ymm2, %ymm4, %ymm3 + vpsrld $4, %ymm3, %ymm14 + vpslld $4, %ymm14, %ymm7 + vpmovzxdq %ymm14, %zmm1{%k1} + vpsubd %ymm7, %ymm4, %ymm8 + vcvtdq2pd %ymm8, %zmm15 + vmovups 64(%rsp), %zmm8 + vfmadd231pd {rn-sae}, %zmm15, %zmm10, %zmm9 + vaddpd {rn-sae}, %zmm6, %zmm9, %zmm13 + vfmadd213pd {rn-sae}, %zmm13, %zmm12, %zmm15 + vblendmpd %zmm15, %zmm8, %zmm8{%k1} + + /* Return to main vector processing path */ + jmp L(AUX_BRANCH_RETURN) + # LOE rbx r12 r13 r14 r15 edx zmm1 zmm8 zmm11 END(_ZGVeN8v_tan_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dtan_data_internal_typedef typedef unsigned int VUINT32; - typedef struct - { - __declspec(align(64)) VUINT32 _dInvPI_uisa[8][2]; - __declspec(align(64)) VUINT32 _dPI1_uisa[8][2]; - __declspec(align(64)) VUINT32 _dPI2_uisa[8][2]; - __declspec(align(64)) VUINT32 _dPI3_uisa[8][2]; - __declspec(align(64)) VUINT32 Th_tbl_uisa[16][2]; - __declspec(align(64)) VUINT32 _dPC3_uisa[8][2]; - __declspec(align(64)) VUINT32 _dPC5_uisa[8][2]; - __declspec(align(64)) VUINT32 _dPC7_uisa[8][2]; - __declspec(align(64)) VUINT32 _dPC9_uisa[8][2]; - __declspec(align(64)) VUINT32 _dPC11_uisa[8][2]; - __declspec(align(64)) VUINT32 _dOne_uisa[8][2]; - __declspec(align(64)) VUINT32 _dAbsMask[8][2]; - __declspec(align(64)) VUINT32 _dRangeVal[8][2]; - __declspec(align(64)) VUINT32 _dRShift[8][2]; - __declspec(align(64)) VUINT32 _dReductionRangeVal[8][2]; - __declspec(align(64)) VUINT32 _dPI1[8][2]; - __declspec(align(64)) VUINT32 _dPI2[8][2]; - __declspec(align(64)) VUINT32 _dPI3[8][2]; - } __svml_dtan_data_internal; +typedef struct { + __declspec(align(64)) VUINT32 _dInvPI_uisa[8][2]; + __declspec(align(64)) VUINT32 _dPI1_uisa[8][2]; + __declspec(align(64)) VUINT32 _dPI2_uisa[8][2]; + __declspec(align(64)) VUINT32 _dPI3_uisa[8][2]; + __declspec(align(64)) VUINT32 Th_tbl_uisa[16][2]; + __declspec(align(64)) VUINT32 _dPC3_uisa[8][2]; + __declspec(align(64)) VUINT32 _dPC5_uisa[8][2]; + __declspec(align(64)) VUINT32 _dPC7_uisa[8][2]; + __declspec(align(64)) VUINT32 _dPC9_uisa[8][2]; + __declspec(align(64)) VUINT32 _dPC11_uisa[8][2]; + __declspec(align(64)) VUINT32 _dOne_uisa[8][2]; + __declspec(align(64)) VUINT32 _dAbsMask[8][2]; + __declspec(align(64)) VUINT32 _dRangeVal[8][2]; + __declspec(align(64)) VUINT32 _dRShift[8][2]; + __declspec(align(64)) VUINT32 _dReductionRangeVal[8][2]; + __declspec(align(64)) VUINT32 _dPI1[8][2]; + __declspec(align(64)) VUINT32 _dPI2[8][2]; + __declspec(align(64)) VUINT32 _dPI3[8][2]; +} __svml_dtan_data_internal; #endif __svml_dtan_data_internal: - /* UISA */ - .quad 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883 /* _dInvPI_uisa */ - .align 64 - .quad 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18 /* _dPI1_uisa */ - .align 64 - .quad 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06 /* _dPI2_uisa */ - .align 64 - .quad 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09 /* _dPI3_uisa */ - /*== Th_tbl_uisa ==*/ - .align 64 - .quad 0x8000000000000000, 0x3fc975f5e0553158, 0x3fda827999fcef32, 0x3fe561b82ab7f990 - .quad 0x3ff0000000000000, 0x3ff7f218e25a7461, 0x4003504f333f9de6, 0x40141bfee2424771 - .quad 0xffefffffffffffff, 0xc0141bfee2424771, 0xc003504f333f9de6, 0xbff7f218e25a7461 - .quad 0xbff0000000000000, 0xbfe561b82ab7f990, 0xbfda827999fcef32, 0xbfc975f5e0553158 - .align 64 - .quad 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc /* _dPC3_uisa */ - .align 64 - .quad 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802 /* _dPC5_uisa */ - .align 64 - .quad 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca /* _dPC7_uisa */ - .align 64 - .quad 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9 /* _dPC9_uisa */ - .align 64 - .quad 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d /* _dPC11_uisa */ - .align 64 - .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 /* _dOne_uisa */ - /* Shared value*/ - .align 64 - .quad 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF /* _dAbsMask */ - .align 64 - .quad 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000 /* _dRangeVal */ - .align 64 - .quad 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000 /* _dRShift */ - .align 64 - .quad 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000 /* dReductionRangeVal */ - .align 64 - .quad 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000 /* _dPI1 */ - .align 64 - .quad 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000 /* _dPI2 */ - .align 64 - .quad 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345 /* _dPI3 */ - .align 64 - .type __svml_dtan_data_internal,@object - .size __svml_dtan_data_internal,.-__svml_dtan_data_internal - .align 64 + /* UISA */ + .quad 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883, 0x40145F306DC9C883 /* _dInvPI_uisa */ + .align 64 + .quad 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18, 0x3fc921fb54442d18 /* _dPI1_uisa */ + .align 64 + .quad 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06, 0x3c61a62633145c06 /* _dPI2_uisa */ + .align 64 + .quad 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09, 0x391c1cd129024e09 /* _dPI3_uisa */ + /* Th_tbl_uisa */ + .align 64 + .quad 0x8000000000000000, 0x3fc975f5e0553158, 0x3fda827999fcef32, 0x3fe561b82ab7f990 + .quad 0x3ff0000000000000, 0x3ff7f218e25a7461, 0x4003504f333f9de6, 0x40141bfee2424771 + .quad 0xffefffffffffffff, 0xc0141bfee2424771, 0xc003504f333f9de6, 0xbff7f218e25a7461 + .quad 0xbff0000000000000, 0xbfe561b82ab7f990, 0xbfda827999fcef32, 0xbfc975f5e0553158 + .align 64 + .quad 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc, 0x3fd55555555555dc /* _dPC3_uisa */ + .align 64 + .quad 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802, 0x3fc11111110b0802 /* _dPC5_uisa */ + .align 64 + .quad 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca, 0x3faba1ba489d25ca /* _dPC7_uisa */ + .align 64 + .quad 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9, 0x3f9664ab664efba9 /* _dPC9_uisa */ + .align 64 + .quad 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d, 0x3f825cccc7c9fa5d /* _dPC11_uisa */ + .align 64 + .quad 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000, 0x3ff0000000000000 /* _dOne_uisa */ + /* Shared value*/ + .align 64 + .quad 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF /* _dAbsMask */ + .align 64 + .quad 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000, 0x7FF0000000000000 /* _dRangeVal */ + .align 64 + .quad 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000, 0x4338000000000000 /* _dRShift */ + .align 64 + .quad 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000, 0x40FF400000000000 /* dReductionRangeVal */ + .align 64 + .quad 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000, 0x3FF921FB54440000 /* _dPI1 */ + .align 64 + .quad 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000, 0x3D868C234C4C0000 /* _dPI2 */ + .align 64 + .quad 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345, 0x3B298A2E03707345 /* _dPI3 */ + .align 64 + .type __svml_dtan_data_internal, @object + .size __svml_dtan_data_internal, .-__svml_dtan_data_internal + .align 64 #ifdef __svml_dtan_reduction_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _dPtable[2048][3][2]; +typedef struct { + __declspec(align(64)) VUINT32 _dPtable[2048][3][2]; } __svml_dtan_reduction_data_internal; #endif __svml_dtan_reduction_data_internal: - /* P_hi P_med P_lo */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 0 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 1 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 2 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 3 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 4 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 5 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 6 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 7 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 8 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 9 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 10 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 11 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 12 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 13 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 14 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 15 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 16 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 17 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 18 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 19 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 20 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 21 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 22 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 23 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 24 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 25 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 26 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 27 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 28 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 29 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 30 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 31 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 32 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 33 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 34 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 35 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 36 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 37 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 38 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 39 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 40 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 41 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 42 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 43 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 44 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 45 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 46 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 47 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 48 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 49 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 50 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 51 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 52 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 53 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 54 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 55 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 56 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 57 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 58 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 59 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 60 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 61 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 62 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 63 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 64 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 65 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 66 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 67 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 68 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 69 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 70 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 71 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 72 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 73 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 74 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 75 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 76 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 77 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 78 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 79 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 80 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 81 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 82 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 83 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 84 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 85 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 86 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 87 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 88 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 89 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 90 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 91 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 92 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 93 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 94 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 95 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 96 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 97 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 98 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 99 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 100 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 101 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 102 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 103 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 104 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 105 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 106 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 107 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 108 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 109 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 110 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 111 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 112 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 113 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 114 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 115 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 116 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 117 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 118 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 119 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 120 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 121 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 122 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 123 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 124 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 125 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 126 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 127 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 128 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 129 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 130 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 131 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 132 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 133 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 134 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 135 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 136 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 137 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 138 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 139 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 140 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 141 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 142 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 143 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 144 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 145 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 146 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 147 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 148 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 149 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 150 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 151 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 152 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 153 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 154 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 155 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 156 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 157 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 158 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 159 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 160 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 161 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 162 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 163 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 164 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 165 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 166 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 167 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 168 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 169 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 170 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 171 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 172 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 173 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 174 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 175 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 176 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 177 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 178 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 179 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 180 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 181 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 182 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 183 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 184 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 185 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 186 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 187 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 188 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 189 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 190 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 191 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 192 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 193 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 194 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 195 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 196 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 197 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 198 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 199 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 200 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 201 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 202 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 203 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 204 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 205 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 206 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 207 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 208 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 209 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 210 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 211 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 212 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 213 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 214 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 215 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 216 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 217 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 218 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 219 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 220 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 221 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 222 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 223 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 224 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 225 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 226 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 227 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 228 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 229 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 230 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 231 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 232 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 233 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 234 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 235 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 236 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 237 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 238 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 239 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 240 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 241 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 242 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 243 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 244 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 245 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 246 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 247 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 248 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 249 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 250 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 251 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 252 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 253 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 254 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 255 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 256 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 257 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 258 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 259 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 260 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 261 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 262 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 263 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 264 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 265 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 266 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 267 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 268 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 269 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 270 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 271 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 272 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 273 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 274 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 275 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 276 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 277 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 278 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 279 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 280 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 281 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 282 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 283 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 284 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 285 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 286 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 287 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 288 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 289 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 290 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 291 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 292 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 293 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 294 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 295 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 296 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 297 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 298 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 299 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 300 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 301 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 302 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 303 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 304 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 305 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 306 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 307 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 308 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 309 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 310 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 311 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 312 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 313 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 314 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 315 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 316 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 317 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 318 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 319 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 320 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 321 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 322 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 323 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 324 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 325 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 326 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 327 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 328 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 329 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 330 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 331 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 332 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 333 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 334 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 335 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 336 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 337 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 338 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 339 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 340 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 341 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 342 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 343 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 344 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 345 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 346 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 347 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 348 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 349 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 350 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 351 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 352 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 353 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 354 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 355 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 356 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 357 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 358 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 359 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 360 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 361 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 362 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 363 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 364 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 365 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 366 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 367 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 368 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 369 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 370 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 371 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 372 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 373 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 374 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 375 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 376 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 377 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 378 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 379 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 380 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 381 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 382 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 383 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 384 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 385 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 386 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 387 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 388 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 389 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 390 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 391 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 392 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 393 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 394 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 395 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 396 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 397 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 398 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 399 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 400 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 401 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 402 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 403 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 404 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 405 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 406 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 407 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 408 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 409 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 410 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 411 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 412 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 413 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 414 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 415 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 416 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 417 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 418 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 419 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 420 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 421 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 422 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 423 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 424 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 425 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 426 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 427 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 428 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 429 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 430 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 431 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 432 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 433 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 434 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 435 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 436 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 437 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 438 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 439 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 440 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 441 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 442 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 443 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 444 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 445 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 446 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 447 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 448 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 449 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 450 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 451 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 452 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 453 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 454 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 455 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 456 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 457 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 458 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 459 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 460 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 461 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 462 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 463 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 464 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 465 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 466 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 467 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 468 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 469 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 470 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 471 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 472 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 473 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 474 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 475 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 476 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 477 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 478 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 479 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 480 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 481 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 482 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 483 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 484 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 485 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 486 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 487 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 488 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 489 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 490 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 491 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 492 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 493 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 494 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 495 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 496 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 497 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 498 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 499 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 500 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 501 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 502 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 503 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 504 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 505 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 506 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 507 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 508 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 509 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 510 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 511 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 512 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 513 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 514 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 515 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 516 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 517 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 518 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 519 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 520 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 521 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 522 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 523 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 524 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 525 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 526 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 527 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 528 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 529 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 530 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 531 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 532 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 533 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 534 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 535 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 536 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 537 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 538 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 539 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 540 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 541 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 542 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 543 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 544 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 545 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 546 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 547 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 548 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 549 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 550 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 551 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 552 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 553 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 554 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 555 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 556 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 557 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 558 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 559 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 560 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 561 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 562 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 563 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 564 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 565 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 566 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 567 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 568 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 569 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 570 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 571 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 572 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 573 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 574 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 575 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 576 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 577 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 578 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 579 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 580 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 581 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 582 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 583 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 584 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 585 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 586 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 587 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 588 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 589 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 590 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 591 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 592 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 593 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 594 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 595 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 596 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 597 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 598 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 599 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 600 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 601 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 602 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 603 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 604 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 605 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 606 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 607 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 608 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 609 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 610 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 611 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 612 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 613 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 614 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 615 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 616 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 617 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 618 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 619 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 620 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 621 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 622 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 623 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 624 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 625 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 626 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 627 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 628 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 629 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 630 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 631 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 632 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 633 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 634 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 635 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 636 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 637 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 638 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 639 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 640 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 641 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 642 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 643 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 644 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 645 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 646 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 647 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 648 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 649 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 650 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 651 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 652 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 653 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 654 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 655 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 656 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 657 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 658 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 659 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 660 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 661 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 662 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 663 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 664 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 665 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 666 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 667 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 668 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 669 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 670 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 671 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 672 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 673 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 674 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 675 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 676 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 677 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 678 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 679 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 680 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 681 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 682 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 683 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 684 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 685 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 686 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 687 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 688 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 689 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 690 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 691 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 692 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 693 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 694 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 695 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 696 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 697 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 698 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 699 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 700 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 701 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 702 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 703 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 704 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 705 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 706 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 707 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 708 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 709 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 710 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 711 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 712 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 713 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 714 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 715 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 716 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 717 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 718 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 719 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 720 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 721 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 722 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 723 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 724 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 725 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 726 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 727 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 728 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 729 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 730 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 731 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 732 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 733 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 734 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 735 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 736 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 737 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 738 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 739 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 740 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 741 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 742 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 743 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 744 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 745 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 746 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 747 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 748 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 749 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 750 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 751 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 752 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 753 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 754 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 755 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 756 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 757 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 758 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 759 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 760 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 761 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 762 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 763 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 764 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 765 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 766 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 767 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 768 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 769 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 770 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 771 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 772 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 773 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 774 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 775 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 776 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 777 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 778 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 779 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 780 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 781 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 782 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 783 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 784 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 785 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 786 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 787 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 788 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 789 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 790 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 791 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 792 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 793 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 794 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 795 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 796 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 797 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 798 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 799 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 800 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 801 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 802 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 803 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 804 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 805 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 806 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 807 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 808 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 809 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 810 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 811 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 812 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 813 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 814 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 815 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 816 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 817 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 818 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 819 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 820 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 821 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 822 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 823 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 824 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 825 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 826 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 827 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 828 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 829 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 830 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 831 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 832 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 833 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 834 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 835 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 836 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 837 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 838 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 839 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 840 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 841 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 842 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 843 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 844 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 845 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 846 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 847 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 848 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 849 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 850 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 851 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 852 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 853 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 854 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 855 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 856 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 857 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 858 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 859 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 860 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 861 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 862 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 863 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 864 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 865 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 866 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 867 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 868 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 869 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 870 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 871 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 872 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 873 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 874 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 875 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 876 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 877 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 878 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 879 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 880 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 881 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 882 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 883 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 884 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 885 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000001 /* 886 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000002 /* 887 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000005 /* 888 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000000A /* 889 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000014 /* 890 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000028 /* 891 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000051 /* 892 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000000A2 /* 893 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000145 /* 894 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000028B /* 895 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000517 /* 896 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000A2F /* 897 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000145F /* 898 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000028BE /* 899 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000517C /* 900 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000A2F9 /* 901 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000145F3 /* 902 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000028BE6 /* 903 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000517CC /* 904 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000A2F98 /* 905 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000145F30 /* 906 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000028BE60 /* 907 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000517CC1 /* 908 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000A2F983 /* 909 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000145F306 /* 910 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000028BE60D /* 911 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000517CC1B /* 912 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000000A2F9836 /* 913 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000145F306D /* 914 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000028BE60DB /* 915 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000517CC1B7 /* 916 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000000A2F9836E /* 917 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000145F306DC /* 918 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000028BE60DB9 /* 919 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000517CC1B72 /* 920 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000000A2F9836E4 /* 921 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000145F306DC9 /* 922 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000028BE60DB93 /* 923 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000517CC1B727 /* 924 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000000A2F9836E4E /* 925 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000145F306DC9C /* 926 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000028BE60DB939 /* 927 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000517CC1B7272 /* 928 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00000A2F9836E4E4 /* 929 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000145F306DC9C8 /* 930 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000028BE60DB9391 /* 931 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000517CC1B72722 /* 932 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0000A2F9836E4E44 /* 933 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000145F306DC9C88 /* 934 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00028BE60DB93910 /* 935 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000517CC1B727220 /* 936 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x000A2F9836E4E441 /* 937 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00145F306DC9C882 /* 938 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0028BE60DB939105 /* 939 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00517CC1B727220A /* 940 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x00A2F9836E4E4415 /* 941 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0145F306DC9C882A /* 942 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x028BE60DB9391054 /* 943 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0517CC1B727220A9 /* 944 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x0A2F9836E4E44152 /* 945 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x145F306DC9C882A5 /* 946 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x28BE60DB9391054A /* 947 */ - .quad 0x0000000000000000, 0x0000000000000000, 0x517CC1B727220A94 /* 948 */ - .quad 0x0000000000000000, 0x0000000000000000, 0xA2F9836E4E441529 /* 949 */ - .quad 0x0000000000000000, 0x0000000000000001, 0x45F306DC9C882A53 /* 950 */ - .quad 0x0000000000000000, 0x0000000000000002, 0x8BE60DB9391054A7 /* 951 */ - .quad 0x0000000000000000, 0x0000000000000005, 0x17CC1B727220A94F /* 952 */ - .quad 0x0000000000000000, 0x000000000000000A, 0x2F9836E4E441529F /* 953 */ - .quad 0x0000000000000000, 0x0000000000000014, 0x5F306DC9C882A53F /* 954 */ - .quad 0x0000000000000000, 0x0000000000000028, 0xBE60DB9391054A7F /* 955 */ - .quad 0x0000000000000000, 0x0000000000000051, 0x7CC1B727220A94FE /* 956 */ - .quad 0x0000000000000000, 0x00000000000000A2, 0xF9836E4E441529FC /* 957 */ - .quad 0x0000000000000000, 0x0000000000000145, 0xF306DC9C882A53F8 /* 958 */ - .quad 0x0000000000000000, 0x000000000000028B, 0xE60DB9391054A7F0 /* 959 */ - .quad 0x0000000000000000, 0x0000000000000517, 0xCC1B727220A94FE1 /* 960 */ - .quad 0x0000000000000000, 0x0000000000000A2F, 0x9836E4E441529FC2 /* 961 */ - .quad 0x0000000000000000, 0x000000000000145F, 0x306DC9C882A53F84 /* 962 */ - .quad 0x0000000000000000, 0x00000000000028BE, 0x60DB9391054A7F09 /* 963 */ - .quad 0x0000000000000000, 0x000000000000517C, 0xC1B727220A94FE13 /* 964 */ - .quad 0x0000000000000000, 0x000000000000A2F9, 0x836E4E441529FC27 /* 965 */ - .quad 0x0000000000000000, 0x00000000000145F3, 0x06DC9C882A53F84E /* 966 */ - .quad 0x0000000000000000, 0x0000000000028BE6, 0x0DB9391054A7F09D /* 967 */ - .quad 0x0000000000000000, 0x00000000000517CC, 0x1B727220A94FE13A /* 968 */ - .quad 0x0000000000000000, 0x00000000000A2F98, 0x36E4E441529FC275 /* 969 */ - .quad 0x0000000000000000, 0x0000000000145F30, 0x6DC9C882A53F84EA /* 970 */ - .quad 0x0000000000000000, 0x000000000028BE60, 0xDB9391054A7F09D5 /* 971 */ - .quad 0x0000000000000000, 0x0000000000517CC1, 0xB727220A94FE13AB /* 972 */ - .quad 0x0000000000000000, 0x0000000000A2F983, 0x6E4E441529FC2757 /* 973 */ - .quad 0x0000000000000000, 0x000000000145F306, 0xDC9C882A53F84EAF /* 974 */ - .quad 0x0000000000000000, 0x00000000028BE60D, 0xB9391054A7F09D5F /* 975 */ - .quad 0x0000000000000000, 0x000000000517CC1B, 0x727220A94FE13ABE /* 976 */ - .quad 0x0000000000000000, 0x000000000A2F9836, 0xE4E441529FC2757D /* 977 */ - .quad 0x0000000000000000, 0x00000000145F306D, 0xC9C882A53F84EAFA /* 978 */ - .quad 0x0000000000000000, 0x0000000028BE60DB, 0x9391054A7F09D5F4 /* 979 */ - .quad 0x0000000000000000, 0x00000000517CC1B7, 0x27220A94FE13ABE8 /* 980 */ - .quad 0x0000000000000000, 0x00000000A2F9836E, 0x4E441529FC2757D1 /* 981 */ - .quad 0x0000000000000000, 0x0000000145F306DC, 0x9C882A53F84EAFA3 /* 982 */ - .quad 0x0000000000000000, 0x000000028BE60DB9, 0x391054A7F09D5F47 /* 983 */ - .quad 0x0000000000000000, 0x0000000517CC1B72, 0x7220A94FE13ABE8F /* 984 */ - .quad 0x0000000000000000, 0x0000000A2F9836E4, 0xE441529FC2757D1F /* 985 */ - .quad 0x0000000000000000, 0x000000145F306DC9, 0xC882A53F84EAFA3E /* 986 */ - .quad 0x0000000000000000, 0x00000028BE60DB93, 0x91054A7F09D5F47D /* 987 */ - .quad 0x0000000000000000, 0x000000517CC1B727, 0x220A94FE13ABE8FA /* 988 */ - .quad 0x0000000000000000, 0x000000A2F9836E4E, 0x441529FC2757D1F5 /* 989 */ - .quad 0x0000000000000000, 0x00000145F306DC9C, 0x882A53F84EAFA3EA /* 990 */ - .quad 0x0000000000000000, 0x0000028BE60DB939, 0x1054A7F09D5F47D4 /* 991 */ - .quad 0x0000000000000000, 0x00000517CC1B7272, 0x20A94FE13ABE8FA9 /* 992 */ - .quad 0x0000000000000000, 0x00000A2F9836E4E4, 0x41529FC2757D1F53 /* 993 */ - .quad 0x0000000000000000, 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6 /* 994 */ - .quad 0x0000000000000000, 0x000028BE60DB9391, 0x054A7F09D5F47D4D /* 995 */ - .quad 0x0000000000000000, 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A /* 996 */ - .quad 0x0000000000000000, 0x0000A2F9836E4E44, 0x1529FC2757D1F534 /* 997 */ - .quad 0x0000000000000000, 0x000145F306DC9C88, 0x2A53F84EAFA3EA69 /* 998 */ - .quad 0x0000000000000000, 0x00028BE60DB93910, 0x54A7F09D5F47D4D3 /* 999 */ - .quad 0x0000000000000000, 0x000517CC1B727220, 0xA94FE13ABE8FA9A6 /* 1000 */ - .quad 0x0000000000000000, 0x000A2F9836E4E441, 0x529FC2757D1F534D /* 1001 */ - .quad 0x0000000000000000, 0x00145F306DC9C882, 0xA53F84EAFA3EA69B /* 1002 */ - .quad 0x0000000000000000, 0x0028BE60DB939105, 0x4A7F09D5F47D4D37 /* 1003 */ - .quad 0x0000000000000000, 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E /* 1004 */ - .quad 0x0000000000000000, 0x00A2F9836E4E4415, 0x29FC2757D1F534DD /* 1005 */ - .quad 0x0000000000000000, 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB /* 1006 */ - .quad 0x0000000000000000, 0x028BE60DB9391054, 0xA7F09D5F47D4D377 /* 1007 */ - .quad 0x0000000000000000, 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE /* 1008 */ - .quad 0x0000000000000000, 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC /* 1009 */ - .quad 0x0000000000000000, 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8 /* 1010 */ - .quad 0x0000000000000000, 0x28BE60DB9391054A, 0x7F09D5F47D4D3770 /* 1011 */ - .quad 0x0000000000000000, 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0 /* 1012 */ - .quad 0x0000000000000000, 0xA2F9836E4E441529, 0xFC2757D1F534DDC0 /* 1013 */ - .quad 0x0000000000000001, 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81 /* 1014 */ - .quad 0x0000000000000002, 0x8BE60DB9391054A7, 0xF09D5F47D4D37703 /* 1015 */ - .quad 0x0000000000000005, 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06 /* 1016 */ - .quad 0x000000000000000A, 0x2F9836E4E441529F, 0xC2757D1F534DDC0D /* 1017 */ - .quad 0x0000000000000014, 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B /* 1018 */ - .quad 0x0000000000000028, 0xBE60DB9391054A7F, 0x09D5F47D4D377036 /* 1019 */ - .quad 0x0000000000000051, 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D /* 1020 */ - .quad 0x00000000000000A2, 0xF9836E4E441529FC, 0x2757D1F534DDC0DB /* 1021 */ - .quad 0x0000000000000145, 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6 /* 1022 */ - .quad 0x000000000000028B, 0xE60DB9391054A7F0, 0x9D5F47D4D377036D /* 1023 */ - .quad 0x0000000000000517, 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB /* 1024 */ - .quad 0x0000000000000A2F, 0x9836E4E441529FC2, 0x757D1F534DDC0DB6 /* 1025 */ - .quad 0x000000000000145F, 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C /* 1026 */ - .quad 0x00000000000028BE, 0x60DB9391054A7F09, 0xD5F47D4D377036D8 /* 1027 */ - .quad 0x000000000000517C, 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1 /* 1028 */ - .quad 0x000000000000A2F9, 0x836E4E441529FC27, 0x57D1F534DDC0DB62 /* 1029 */ - .quad 0x00000000000145F3, 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5 /* 1030 */ - .quad 0x0000000000028BE6, 0x0DB9391054A7F09D, 0x5F47D4D377036D8A /* 1031 */ - .quad 0x00000000000517CC, 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14 /* 1032 */ - .quad 0x00000000000A2F98, 0x36E4E441529FC275, 0x7D1F534DDC0DB629 /* 1033 */ - .quad 0x0000000000145F30, 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52 /* 1034 */ - .quad 0x000000000028BE60, 0xDB9391054A7F09D5, 0xF47D4D377036D8A5 /* 1035 */ - .quad 0x0000000000517CC1, 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A /* 1036 */ - .quad 0x0000000000A2F983, 0x6E4E441529FC2757, 0xD1F534DDC0DB6295 /* 1037 */ - .quad 0x000000000145F306, 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B /* 1038 */ - .quad 0x00000000028BE60D, 0xB9391054A7F09D5F, 0x47D4D377036D8A56 /* 1039 */ - .quad 0x000000000517CC1B, 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC /* 1040 */ - .quad 0x000000000A2F9836, 0xE4E441529FC2757D, 0x1F534DDC0DB62959 /* 1041 */ - .quad 0x00000000145F306D, 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3 /* 1042 */ - .quad 0x0000000028BE60DB, 0x9391054A7F09D5F4, 0x7D4D377036D8A566 /* 1043 */ - .quad 0x00000000517CC1B7, 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC /* 1044 */ - .quad 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599 /* 1045 */ - .quad 0x0000000145F306DC, 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32 /* 1046 */ - .quad 0x000000028BE60DB9, 0x391054A7F09D5F47, 0xD4D377036D8A5664 /* 1047 */ - .quad 0x0000000517CC1B72, 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9 /* 1048 */ - .quad 0x0000000A2F9836E4, 0xE441529FC2757D1F, 0x534DDC0DB6295993 /* 1049 */ - .quad 0x000000145F306DC9, 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327 /* 1050 */ - .quad 0x00000028BE60DB93, 0x91054A7F09D5F47D, 0x4D377036D8A5664F /* 1051 */ - .quad 0x000000517CC1B727, 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E /* 1052 */ - .quad 0x000000A2F9836E4E, 0x441529FC2757D1F5, 0x34DDC0DB6295993C /* 1053 */ - .quad 0x00000145F306DC9C, 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278 /* 1054 */ - .quad 0x0000028BE60DB939, 0x1054A7F09D5F47D4, 0xD377036D8A5664F1 /* 1055 */ - .quad 0x00000517CC1B7272, 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2 /* 1056 */ - .quad 0x00000A2F9836E4E4, 0x41529FC2757D1F53, 0x4DDC0DB6295993C4 /* 1057 */ - .quad 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788 /* 1058 */ - .quad 0x000028BE60DB9391, 0x054A7F09D5F47D4D, 0x377036D8A5664F10 /* 1059 */ - .quad 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21 /* 1060 */ - .quad 0x0000A2F9836E4E44, 0x1529FC2757D1F534, 0xDDC0DB6295993C43 /* 1061 */ - .quad 0x000145F306DC9C88, 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887 /* 1062 */ - .quad 0x00028BE60DB93910, 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E /* 1063 */ - .quad 0x000517CC1B727220, 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C /* 1064 */ - .quad 0x000A2F9836E4E441, 0x529FC2757D1F534D, 0xDC0DB6295993C439 /* 1065 */ - .quad 0x00145F306DC9C882, 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872 /* 1066 */ - .quad 0x0028BE60DB939105, 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4 /* 1067 */ - .quad 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8 /* 1068 */ - .quad 0x00A2F9836E4E4415, 0x29FC2757D1F534DD, 0xC0DB6295993C4390 /* 1069 */ - .quad 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB, 0x81B6C52B32788720 /* 1070 */ - .quad 0x028BE60DB9391054, 0xA7F09D5F47D4D377, 0x036D8A5664F10E41 /* 1071 */ - .quad 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82 /* 1072 */ - .quad 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC, 0x0DB6295993C43904 /* 1073 */ - .quad 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208 /* 1074 */ - .quad 0x28BE60DB9391054A, 0x7F09D5F47D4D3770, 0x36D8A5664F10E410 /* 1075 */ - .quad 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820 /* 1076 */ - .quad 0xA2F9836E4E441529, 0xFC2757D1F534DDC0, 0xDB6295993C439041 /* 1077 */ - .quad 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81, 0xB6C52B3278872083 /* 1078 */ - .quad 0x8BE60DB9391054A7, 0xF09D5F47D4D37703, 0x6D8A5664F10E4107 /* 1079 */ - .quad 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F /* 1080 */ - .quad 0x2F9836E4E441529F, 0xC2757D1F534DDC0D, 0xB6295993C439041F /* 1081 */ - .quad 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B, 0x6C52B3278872083F /* 1082 */ - .quad 0xBE60DB9391054A7F, 0x09D5F47D4D377036, 0xD8A5664F10E4107F /* 1083 */ - .quad 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF /* 1084 */ - .quad 0xF9836E4E441529FC, 0x2757D1F534DDC0DB, 0x6295993C439041FE /* 1085 */ - .quad 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC /* 1086 */ - .quad 0xE60DB9391054A7F0, 0x9D5F47D4D377036D, 0x8A5664F10E4107F9 /* 1087 */ - .quad 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2 /* 1088 */ - .quad 0x9836E4E441529FC2, 0x757D1F534DDC0DB6, 0x295993C439041FE5 /* 1089 */ - .quad 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA /* 1090 */ - .quad 0x60DB9391054A7F09, 0xD5F47D4D377036D8, 0xA5664F10E4107F94 /* 1091 */ - .quad 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28 /* 1092 */ - .quad 0x836E4E441529FC27, 0x57D1F534DDC0DB62, 0x95993C439041FE51 /* 1093 */ - .quad 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2 /* 1094 */ - .quad 0x0DB9391054A7F09D, 0x5F47D4D377036D8A, 0x5664F10E4107F945 /* 1095 */ - .quad 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B /* 1096 */ - .quad 0x36E4E441529FC275, 0x7D1F534DDC0DB629, 0x5993C439041FE516 /* 1097 */ - .quad 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C /* 1098 */ - .quad 0xDB9391054A7F09D5, 0xF47D4D377036D8A5, 0x664F10E4107F9458 /* 1099 */ - .quad 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1 /* 1100 */ - .quad 0x6E4E441529FC2757, 0xD1F534DDC0DB6295, 0x993C439041FE5163 /* 1101 */ - .quad 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7 /* 1102 */ - .quad 0xB9391054A7F09D5F, 0x47D4D377036D8A56, 0x64F10E4107F9458E /* 1103 */ - .quad 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D /* 1104 */ - .quad 0xE4E441529FC2757D, 0x1F534DDC0DB62959, 0x93C439041FE5163A /* 1105 */ - .quad 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3, 0x278872083FCA2C75 /* 1106 */ - .quad 0x9391054A7F09D5F4, 0x7D4D377036D8A566, 0x4F10E4107F9458EA /* 1107 */ - .quad 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5 /* 1108 */ - .quad 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB /* 1109 */ - .quad 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32, 0x78872083FCA2C757 /* 1110 */ - .quad 0x391054A7F09D5F47, 0xD4D377036D8A5664, 0xF10E4107F9458EAF /* 1111 */ - .quad 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E /* 1112 */ - .quad 0xE441529FC2757D1F, 0x534DDC0DB6295993, 0xC439041FE5163ABD /* 1113 */ - .quad 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327, 0x8872083FCA2C757B /* 1114 */ - .quad 0x91054A7F09D5F47D, 0x4D377036D8A5664F, 0x10E4107F9458EAF7 /* 1115 */ - .quad 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF /* 1116 */ - .quad 0x441529FC2757D1F5, 0x34DDC0DB6295993C, 0x439041FE5163ABDE /* 1117 */ - .quad 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278, 0x872083FCA2C757BD /* 1118 */ - .quad 0x1054A7F09D5F47D4, 0xD377036D8A5664F1, 0x0E4107F9458EAF7A /* 1119 */ - .quad 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5 /* 1120 */ - .quad 0x41529FC2757D1F53, 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB /* 1121 */ - .quad 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788, 0x72083FCA2C757BD7 /* 1122 */ - .quad 0x054A7F09D5F47D4D, 0x377036D8A5664F10, 0xE4107F9458EAF7AE /* 1123 */ - .quad 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D /* 1124 */ - .quad 0x1529FC2757D1F534, 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB /* 1125 */ - .quad 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887, 0x2083FCA2C757BD77 /* 1126 */ - .quad 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E, 0x4107F9458EAF7AEF /* 1127 */ - .quad 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE /* 1128 */ - .quad 0x529FC2757D1F534D, 0xDC0DB6295993C439, 0x041FE5163ABDEBBC /* 1129 */ - .quad 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872, 0x083FCA2C757BD778 /* 1130 */ - .quad 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1 /* 1131 */ - .quad 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2 /* 1132 */ - .quad 0x29FC2757D1F534DD, 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5 /* 1133 */ - .quad 0x53F84EAFA3EA69BB, 0x81B6C52B32788720, 0x83FCA2C757BD778A /* 1134 */ - .quad 0xA7F09D5F47D4D377, 0x036D8A5664F10E41, 0x07F9458EAF7AEF15 /* 1135 */ - .quad 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B /* 1136 */ - .quad 0x9FC2757D1F534DDC, 0x0DB6295993C43904, 0x1FE5163ABDEBBC56 /* 1137 */ - .quad 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208, 0x3FCA2C757BD778AC /* 1138 */ - .quad 0x7F09D5F47D4D3770, 0x36D8A5664F10E410, 0x7F9458EAF7AEF158 /* 1139 */ - .quad 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0 /* 1140 */ - .quad 0xFC2757D1F534DDC0, 0xDB6295993C439041, 0xFE5163ABDEBBC561 /* 1141 */ - .quad 0xF84EAFA3EA69BB81, 0xB6C52B3278872083, 0xFCA2C757BD778AC3 /* 1142 */ - .quad 0xF09D5F47D4D37703, 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586 /* 1143 */ - .quad 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D /* 1144 */ - .quad 0xC2757D1F534DDC0D, 0xB6295993C439041F, 0xE5163ABDEBBC561B /* 1145 */ - .quad 0x84EAFA3EA69BB81B, 0x6C52B3278872083F, 0xCA2C757BD778AC36 /* 1146 */ - .quad 0x09D5F47D4D377036, 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D /* 1147 */ - .quad 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB /* 1148 */ - .quad 0x2757D1F534DDC0DB, 0x6295993C439041FE, 0x5163ABDEBBC561B7 /* 1149 */ - .quad 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC, 0xA2C757BD778AC36E /* 1150 */ - .quad 0x9D5F47D4D377036D, 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC /* 1151 */ - .quad 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9 /* 1152 */ - .quad 0x757D1F534DDC0DB6, 0x295993C439041FE5, 0x163ABDEBBC561B72 /* 1153 */ - .quad 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA, 0x2C757BD778AC36E4 /* 1154 */ - .quad 0xD5F47D4D377036D8, 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9 /* 1155 */ - .quad 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92 /* 1156 */ - .quad 0x57D1F534DDC0DB62, 0x95993C439041FE51, 0x63ABDEBBC561B724 /* 1157 */ - .quad 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2, 0xC757BD778AC36E48 /* 1158 */ - .quad 0x5F47D4D377036D8A, 0x5664F10E4107F945, 0x8EAF7AEF1586DC91 /* 1159 */ - .quad 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923 /* 1160 */ - .quad 0x7D1F534DDC0DB629, 0x5993C439041FE516, 0x3ABDEBBC561B7246 /* 1161 */ - .quad 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C, 0x757BD778AC36E48D /* 1162 */ - .quad 0xF47D4D377036D8A5, 0x664F10E4107F9458, 0xEAF7AEF1586DC91B /* 1163 */ - .quad 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237 /* 1164 */ - .quad 0xD1F534DDC0DB6295, 0x993C439041FE5163, 0xABDEBBC561B7246E /* 1165 */ - .quad 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7, 0x57BD778AC36E48DC /* 1166 */ - .quad 0x47D4D377036D8A56, 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8 /* 1167 */ - .quad 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371 /* 1168 */ - .quad 0x1F534DDC0DB62959, 0x93C439041FE5163A, 0xBDEBBC561B7246E3 /* 1169 */ - .quad 0x3EA69BB81B6C52B3, 0x278872083FCA2C75, 0x7BD778AC36E48DC7 /* 1170 */ - .quad 0x7D4D377036D8A566, 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E /* 1171 */ - .quad 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D /* 1172 */ - .quad 0xF534DDC0DB629599, 0x3C439041FE5163AB, 0xDEBBC561B7246E3A /* 1173 */ - .quad 0xEA69BB81B6C52B32, 0x78872083FCA2C757, 0xBD778AC36E48DC74 /* 1174 */ - .quad 0xD4D377036D8A5664, 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9 /* 1175 */ - .quad 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2 /* 1176 */ - .quad 0x534DDC0DB6295993, 0xC439041FE5163ABD, 0xEBBC561B7246E3A4 /* 1177 */ - .quad 0xA69BB81B6C52B327, 0x8872083FCA2C757B, 0xD778AC36E48DC748 /* 1178 */ - .quad 0x4D377036D8A5664F, 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90 /* 1179 */ - .quad 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21 /* 1180 */ - .quad 0x34DDC0DB6295993C, 0x439041FE5163ABDE, 0xBBC561B7246E3A42 /* 1181 */ - .quad 0x69BB81B6C52B3278, 0x872083FCA2C757BD, 0x778AC36E48DC7484 /* 1182 */ - .quad 0xD377036D8A5664F1, 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909 /* 1183 */ - .quad 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212 /* 1184 */ - .quad 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB, 0xBC561B7246E3A424 /* 1185 */ - .quad 0x9BB81B6C52B32788, 0x72083FCA2C757BD7, 0x78AC36E48DC74849 /* 1186 */ - .quad 0x377036D8A5664F10, 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093 /* 1187 */ - .quad 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126 /* 1188 */ - .quad 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB, 0xC561B7246E3A424D /* 1189 */ - .quad 0xBB81B6C52B327887, 0x2083FCA2C757BD77, 0x8AC36E48DC74849B /* 1190 */ - .quad 0x77036D8A5664F10E, 0x4107F9458EAF7AEF, 0x1586DC91B8E90937 /* 1191 */ - .quad 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E /* 1192 */ - .quad 0xDC0DB6295993C439, 0x041FE5163ABDEBBC, 0x561B7246E3A424DD /* 1193 */ - .quad 0xB81B6C52B3278872, 0x083FCA2C757BD778, 0xAC36E48DC74849BA /* 1194 */ - .quad 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1, 0x586DC91B8E909374 /* 1195 */ - .quad 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9 /* 1196 */ - .quad 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2 /* 1197 */ - .quad 0x81B6C52B32788720, 0x83FCA2C757BD778A, 0xC36E48DC74849BA5 /* 1198 */ - .quad 0x036D8A5664F10E41, 0x07F9458EAF7AEF15, 0x86DC91B8E909374B /* 1199 */ - .quad 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97 /* 1200 */ - .quad 0x0DB6295993C43904, 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E /* 1201 */ - .quad 0x1B6C52B327887208, 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C /* 1202 */ - .quad 0x36D8A5664F10E410, 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8 /* 1203 */ - .quad 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970 /* 1204 */ - .quad 0xDB6295993C439041, 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0 /* 1205 */ - .quad 0xB6C52B3278872083, 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0 /* 1206 */ - .quad 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586, 0xDC91B8E909374B80 /* 1207 */ - .quad 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700 /* 1208 */ - .quad 0xB6295993C439041F, 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00 /* 1209 */ - .quad 0x6C52B3278872083F, 0xCA2C757BD778AC36, 0xE48DC74849BA5C00 /* 1210 */ - .quad 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D, 0xC91B8E909374B801 /* 1211 */ - .quad 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003 /* 1212 */ - .quad 0x6295993C439041FE, 0x5163ABDEBBC561B7, 0x246E3A424DD2E006 /* 1213 */ - .quad 0xC52B3278872083FC, 0xA2C757BD778AC36E, 0x48DC74849BA5C00C /* 1214 */ - .quad 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC, 0x91B8E909374B8019 /* 1215 */ - .quad 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032 /* 1216 */ - .quad 0x295993C439041FE5, 0x163ABDEBBC561B72, 0x46E3A424DD2E0064 /* 1217 */ - .quad 0x52B3278872083FCA, 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9 /* 1218 */ - .quad 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9, 0x1B8E909374B80192 /* 1219 */ - .quad 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324 /* 1220 */ - .quad 0x95993C439041FE51, 0x63ABDEBBC561B724, 0x6E3A424DD2E00649 /* 1221 */ - .quad 0x2B3278872083FCA2, 0xC757BD778AC36E48, 0xDC74849BA5C00C92 /* 1222 */ - .quad 0x5664F10E4107F945, 0x8EAF7AEF1586DC91, 0xB8E909374B801924 /* 1223 */ - .quad 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923, 0x71D2126E97003249 /* 1224 */ - .quad 0x5993C439041FE516, 0x3ABDEBBC561B7246, 0xE3A424DD2E006492 /* 1225 */ - .quad 0xB3278872083FCA2C, 0x757BD778AC36E48D, 0xC74849BA5C00C925 /* 1226 */ - .quad 0x664F10E4107F9458, 0xEAF7AEF1586DC91B, 0x8E909374B801924B /* 1227 */ - .quad 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237, 0x1D2126E970032497 /* 1228 */ - .quad 0x993C439041FE5163, 0xABDEBBC561B7246E, 0x3A424DD2E006492E /* 1229 */ - .quad 0x3278872083FCA2C7, 0x57BD778AC36E48DC, 0x74849BA5C00C925D /* 1230 */ - .quad 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8, 0xE909374B801924BB /* 1231 */ - .quad 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371, 0xD2126E9700324977 /* 1232 */ - .quad 0x93C439041FE5163A, 0xBDEBBC561B7246E3, 0xA424DD2E006492EE /* 1233 */ - .quad 0x278872083FCA2C75, 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD /* 1234 */ - .quad 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E, 0x909374B801924BBA /* 1235 */ - .quad 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D, 0x2126E97003249775 /* 1236 */ - .quad 0x3C439041FE5163AB, 0xDEBBC561B7246E3A, 0x424DD2E006492EEA /* 1237 */ - .quad 0x78872083FCA2C757, 0xBD778AC36E48DC74, 0x849BA5C00C925DD4 /* 1238 */ - .quad 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9, 0x09374B801924BBA8 /* 1239 */ - .quad 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2, 0x126E970032497750 /* 1240 */ - .quad 0xC439041FE5163ABD, 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0 /* 1241 */ - .quad 0x8872083FCA2C757B, 0xD778AC36E48DC748, 0x49BA5C00C925DD41 /* 1242 */ - .quad 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90, 0x9374B801924BBA82 /* 1243 */ - .quad 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21, 0x26E9700324977504 /* 1244 */ - .quad 0x439041FE5163ABDE, 0xBBC561B7246E3A42, 0x4DD2E006492EEA09 /* 1245 */ - .quad 0x872083FCA2C757BD, 0x778AC36E48DC7484, 0x9BA5C00C925DD413 /* 1246 */ - .quad 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909, 0x374B801924BBA827 /* 1247 */ - .quad 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212, 0x6E9700324977504E /* 1248 */ - .quad 0x39041FE5163ABDEB, 0xBC561B7246E3A424, 0xDD2E006492EEA09D /* 1249 */ - .quad 0x72083FCA2C757BD7, 0x78AC36E48DC74849, 0xBA5C00C925DD413A /* 1250 */ - .quad 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093, 0x74B801924BBA8274 /* 1251 */ - .quad 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126, 0xE9700324977504E8 /* 1252 */ - .quad 0x9041FE5163ABDEBB, 0xC561B7246E3A424D, 0xD2E006492EEA09D1 /* 1253 */ - .quad 0x2083FCA2C757BD77, 0x8AC36E48DC74849B, 0xA5C00C925DD413A3 /* 1254 */ - .quad 0x4107F9458EAF7AEF, 0x1586DC91B8E90937, 0x4B801924BBA82746 /* 1255 */ - .quad 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E, 0x9700324977504E8C /* 1256 */ - .quad 0x041FE5163ABDEBBC, 0x561B7246E3A424DD, 0x2E006492EEA09D19 /* 1257 */ - .quad 0x083FCA2C757BD778, 0xAC36E48DC74849BA, 0x5C00C925DD413A32 /* 1258 */ - .quad 0x107F9458EAF7AEF1, 0x586DC91B8E909374, 0xB801924BBA827464 /* 1259 */ - .quad 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9, 0x700324977504E8C9 /* 1260 */ - .quad 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2, 0xE006492EEA09D192 /* 1261 */ - .quad 0x83FCA2C757BD778A, 0xC36E48DC74849BA5, 0xC00C925DD413A324 /* 1262 */ - .quad 0x07F9458EAF7AEF15, 0x86DC91B8E909374B, 0x801924BBA8274648 /* 1263 */ - .quad 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97, 0x00324977504E8C90 /* 1264 */ - .quad 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E, 0x006492EEA09D1921 /* 1265 */ - .quad 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C, 0x00C925DD413A3243 /* 1266 */ - .quad 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8, 0x01924BBA82746487 /* 1267 */ - .quad 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970, 0x0324977504E8C90E /* 1268 */ - .quad 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0, 0x06492EEA09D1921C /* 1269 */ - .quad 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0, 0x0C925DD413A32439 /* 1270 */ - .quad 0xF9458EAF7AEF1586, 0xDC91B8E909374B80, 0x1924BBA827464873 /* 1271 */ - .quad 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700, 0x324977504E8C90E7 /* 1272 */ - .quad 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00, 0x6492EEA09D1921CF /* 1273 */ - .quad 0xCA2C757BD778AC36, 0xE48DC74849BA5C00, 0xC925DD413A32439F /* 1274 */ - .quad 0x9458EAF7AEF1586D, 0xC91B8E909374B801, 0x924BBA827464873F /* 1275 */ - .quad 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003, 0x24977504E8C90E7F /* 1276 */ - .quad 0x5163ABDEBBC561B7, 0x246E3A424DD2E006, 0x492EEA09D1921CFE /* 1277 */ - .quad 0xA2C757BD778AC36E, 0x48DC74849BA5C00C, 0x925DD413A32439FC /* 1278 */ - .quad 0x458EAF7AEF1586DC, 0x91B8E909374B8019, 0x24BBA827464873F8 /* 1279 */ - .quad 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032, 0x4977504E8C90E7F0 /* 1280 */ - .quad 0x163ABDEBBC561B72, 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1 /* 1281 */ - .quad 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9, 0x25DD413A32439FC3 /* 1282 */ - .quad 0x58EAF7AEF1586DC9, 0x1B8E909374B80192, 0x4BBA827464873F87 /* 1283 */ - .quad 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324, 0x977504E8C90E7F0E /* 1284 */ - .quad 0x63ABDEBBC561B724, 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D /* 1285 */ - .quad 0xC757BD778AC36E48, 0xDC74849BA5C00C92, 0x5DD413A32439FC3B /* 1286 */ - .quad 0x8EAF7AEF1586DC91, 0xB8E909374B801924, 0xBBA827464873F877 /* 1287 */ - .quad 0x1D5EF5DE2B0DB923, 0x71D2126E97003249, 0x77504E8C90E7F0EF /* 1288 */ - .quad 0x3ABDEBBC561B7246, 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE /* 1289 */ - .quad 0x757BD778AC36E48D, 0xC74849BA5C00C925, 0xDD413A32439FC3BD /* 1290 */ - .quad 0xEAF7AEF1586DC91B, 0x8E909374B801924B, 0xBA827464873F877A /* 1291 */ - .quad 0xD5EF5DE2B0DB9237, 0x1D2126E970032497, 0x7504E8C90E7F0EF5 /* 1292 */ - .quad 0xABDEBBC561B7246E, 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB /* 1293 */ - .quad 0x57BD778AC36E48DC, 0x74849BA5C00C925D, 0xD413A32439FC3BD6 /* 1294 */ - .quad 0xAF7AEF1586DC91B8, 0xE909374B801924BB, 0xA827464873F877AC /* 1295 */ - .quad 0x5EF5DE2B0DB92371, 0xD2126E9700324977, 0x504E8C90E7F0EF58 /* 1296 */ - .quad 0xBDEBBC561B7246E3, 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1 /* 1297 */ - .quad 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD, 0x413A32439FC3BD63 /* 1298 */ - .quad 0xF7AEF1586DC91B8E, 0x909374B801924BBA, 0x827464873F877AC7 /* 1299 */ - .quad 0xEF5DE2B0DB92371D, 0x2126E97003249775, 0x04E8C90E7F0EF58E /* 1300 */ - .quad 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C /* 1301 */ - .quad 0xBD778AC36E48DC74, 0x849BA5C00C925DD4, 0x13A32439FC3BD639 /* 1302 */ - .quad 0x7AEF1586DC91B8E9, 0x09374B801924BBA8, 0x27464873F877AC72 /* 1303 */ - .quad 0xF5DE2B0DB92371D2, 0x126E970032497750, 0x4E8C90E7F0EF58E5 /* 1304 */ - .quad 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB /* 1305 */ - .quad 0xD778AC36E48DC748, 0x49BA5C00C925DD41, 0x3A32439FC3BD6396 /* 1306 */ - .quad 0xAEF1586DC91B8E90, 0x9374B801924BBA82, 0x7464873F877AC72C /* 1307 */ - .quad 0x5DE2B0DB92371D21, 0x26E9700324977504, 0xE8C90E7F0EF58E58 /* 1308 */ - .quad 0xBBC561B7246E3A42, 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1 /* 1309 */ - .quad 0x778AC36E48DC7484, 0x9BA5C00C925DD413, 0xA32439FC3BD63962 /* 1310 */ - .quad 0xEF1586DC91B8E909, 0x374B801924BBA827, 0x464873F877AC72C4 /* 1311 */ - .quad 0xDE2B0DB92371D212, 0x6E9700324977504E, 0x8C90E7F0EF58E589 /* 1312 */ - .quad 0xBC561B7246E3A424, 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12 /* 1313 */ - .quad 0x78AC36E48DC74849, 0xBA5C00C925DD413A, 0x32439FC3BD639625 /* 1314 */ - .quad 0xF1586DC91B8E9093, 0x74B801924BBA8274, 0x64873F877AC72C4A /* 1315 */ - .quad 0xE2B0DB92371D2126, 0xE9700324977504E8, 0xC90E7F0EF58E5894 /* 1316 */ - .quad 0xC561B7246E3A424D, 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129 /* 1317 */ - .quad 0x8AC36E48DC74849B, 0xA5C00C925DD413A3, 0x2439FC3BD6396253 /* 1318 */ - .quad 0x1586DC91B8E90937, 0x4B801924BBA82746, 0x4873F877AC72C4A6 /* 1319 */ - .quad 0x2B0DB92371D2126E, 0x9700324977504E8C, 0x90E7F0EF58E5894D /* 1320 */ - .quad 0x561B7246E3A424DD, 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A /* 1321 */ - .quad 0xAC36E48DC74849BA, 0x5C00C925DD413A32, 0x439FC3BD63962534 /* 1322 */ - .quad 0x586DC91B8E909374, 0xB801924BBA827464, 0x873F877AC72C4A69 /* 1323 */ - .quad 0xB0DB92371D2126E9, 0x700324977504E8C9, 0x0E7F0EF58E5894D3 /* 1324 */ - .quad 0x61B7246E3A424DD2, 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7 /* 1325 */ - .quad 0xC36E48DC74849BA5, 0xC00C925DD413A324, 0x39FC3BD63962534E /* 1326 */ - .quad 0x86DC91B8E909374B, 0x801924BBA8274648, 0x73F877AC72C4A69C /* 1327 */ - .quad 0x0DB92371D2126E97, 0x00324977504E8C90, 0xE7F0EF58E5894D39 /* 1328 */ - .quad 0x1B7246E3A424DD2E, 0x006492EEA09D1921, 0xCFE1DEB1CB129A73 /* 1329 */ - .quad 0x36E48DC74849BA5C, 0x00C925DD413A3243, 0x9FC3BD63962534E7 /* 1330 */ - .quad 0x6DC91B8E909374B8, 0x01924BBA82746487, 0x3F877AC72C4A69CF /* 1331 */ - .quad 0xDB92371D2126E970, 0x0324977504E8C90E, 0x7F0EF58E5894D39F /* 1332 */ - .quad 0xB7246E3A424DD2E0, 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E /* 1333 */ - .quad 0x6E48DC74849BA5C0, 0x0C925DD413A32439, 0xFC3BD63962534E7D /* 1334 */ - .quad 0xDC91B8E909374B80, 0x1924BBA827464873, 0xF877AC72C4A69CFB /* 1335 */ - .quad 0xB92371D2126E9700, 0x324977504E8C90E7, 0xF0EF58E5894D39F7 /* 1336 */ - .quad 0x7246E3A424DD2E00, 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE /* 1337 */ - .quad 0xE48DC74849BA5C00, 0xC925DD413A32439F, 0xC3BD63962534E7DD /* 1338 */ - .quad 0xC91B8E909374B801, 0x924BBA827464873F, 0x877AC72C4A69CFBA /* 1339 */ - .quad 0x92371D2126E97003, 0x24977504E8C90E7F, 0x0EF58E5894D39F74 /* 1340 */ - .quad 0x246E3A424DD2E006, 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8 /* 1341 */ - .quad 0x48DC74849BA5C00C, 0x925DD413A32439FC, 0x3BD63962534E7DD1 /* 1342 */ - .quad 0x91B8E909374B8019, 0x24BBA827464873F8, 0x77AC72C4A69CFBA2 /* 1343 */ - .quad 0x2371D2126E970032, 0x4977504E8C90E7F0, 0xEF58E5894D39F744 /* 1344 */ - .quad 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88 /* 1345 */ - .quad 0x8DC74849BA5C00C9, 0x25DD413A32439FC3, 0xBD63962534E7DD10 /* 1346 */ - .quad 0x1B8E909374B80192, 0x4BBA827464873F87, 0x7AC72C4A69CFBA20 /* 1347 */ - .quad 0x371D2126E9700324, 0x977504E8C90E7F0E, 0xF58E5894D39F7441 /* 1348 */ - .quad 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882 /* 1349 */ - .quad 0xDC74849BA5C00C92, 0x5DD413A32439FC3B, 0xD63962534E7DD104 /* 1350 */ - .quad 0xB8E909374B801924, 0xBBA827464873F877, 0xAC72C4A69CFBA208 /* 1351 */ - .quad 0x71D2126E97003249, 0x77504E8C90E7F0EF, 0x58E5894D39F74411 /* 1352 */ - .quad 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823 /* 1353 */ - .quad 0xC74849BA5C00C925, 0xDD413A32439FC3BD, 0x63962534E7DD1046 /* 1354 */ - .quad 0x8E909374B801924B, 0xBA827464873F877A, 0xC72C4A69CFBA208D /* 1355 */ - .quad 0x1D2126E970032497, 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A /* 1356 */ - .quad 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235 /* 1357 */ - .quad 0x74849BA5C00C925D, 0xD413A32439FC3BD6, 0x3962534E7DD1046B /* 1358 */ - .quad 0xE909374B801924BB, 0xA827464873F877AC, 0x72C4A69CFBA208D7 /* 1359 */ - .quad 0xD2126E9700324977, 0x504E8C90E7F0EF58, 0xE5894D39F74411AF /* 1360 */ - .quad 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F /* 1361 */ - .quad 0x4849BA5C00C925DD, 0x413A32439FC3BD63, 0x962534E7DD1046BE /* 1362 */ - .quad 0x909374B801924BBA, 0x827464873F877AC7, 0x2C4A69CFBA208D7D /* 1363 */ - .quad 0x2126E97003249775, 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA /* 1364 */ - .quad 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5 /* 1365 */ - .quad 0x849BA5C00C925DD4, 0x13A32439FC3BD639, 0x62534E7DD1046BEA /* 1366 */ - .quad 0x09374B801924BBA8, 0x27464873F877AC72, 0xC4A69CFBA208D7D4 /* 1367 */ - .quad 0x126E970032497750, 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9 /* 1368 */ - .quad 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52 /* 1369 */ - .quad 0x49BA5C00C925DD41, 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5 /* 1370 */ - .quad 0x9374B801924BBA82, 0x7464873F877AC72C, 0x4A69CFBA208D7D4B /* 1371 */ - .quad 0x26E9700324977504, 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97 /* 1372 */ - .quad 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E /* 1373 */ - .quad 0x9BA5C00C925DD413, 0xA32439FC3BD63962, 0x534E7DD1046BEA5D /* 1374 */ - .quad 0x374B801924BBA827, 0x464873F877AC72C4, 0xA69CFBA208D7D4BA /* 1375 */ - .quad 0x6E9700324977504E, 0x8C90E7F0EF58E589, 0x4D39F74411AFA975 /* 1376 */ - .quad 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB /* 1377 */ - .quad 0xBA5C00C925DD413A, 0x32439FC3BD639625, 0x34E7DD1046BEA5D7 /* 1378 */ - .quad 0x74B801924BBA8274, 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE /* 1379 */ - .quad 0xE9700324977504E8, 0xC90E7F0EF58E5894, 0xD39F74411AFA975D /* 1380 */ - .quad 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB /* 1381 */ - .quad 0xA5C00C925DD413A3, 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76 /* 1382 */ - .quad 0x4B801924BBA82746, 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED /* 1383 */ - .quad 0x9700324977504E8C, 0x90E7F0EF58E5894D, 0x39F74411AFA975DA /* 1384 */ - .quad 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4 /* 1385 */ - .quad 0x5C00C925DD413A32, 0x439FC3BD63962534, 0xE7DD1046BEA5D768 /* 1386 */ - .quad 0xB801924BBA827464, 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1 /* 1387 */ - .quad 0x700324977504E8C9, 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2 /* 1388 */ - .quad 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44 /* 1389 */ - .quad 0xC00C925DD413A324, 0x39FC3BD63962534E, 0x7DD1046BEA5D7689 /* 1390 */ - .quad 0x801924BBA8274648, 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12 /* 1391 */ - .quad 0x00324977504E8C90, 0xE7F0EF58E5894D39, 0xF74411AFA975DA24 /* 1392 */ - .quad 0x006492EEA09D1921, 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448 /* 1393 */ - .quad 0x00C925DD413A3243, 0x9FC3BD63962534E7, 0xDD1046BEA5D76890 /* 1394 */ - .quad 0x01924BBA82746487, 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121 /* 1395 */ - .quad 0x0324977504E8C90E, 0x7F0EF58E5894D39F, 0x74411AFA975DA242 /* 1396 */ - .quad 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484 /* 1397 */ - .quad 0x0C925DD413A32439, 0xFC3BD63962534E7D, 0xD1046BEA5D768909 /* 1398 */ - .quad 0x1924BBA827464873, 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213 /* 1399 */ - .quad 0x324977504E8C90E7, 0xF0EF58E5894D39F7, 0x4411AFA975DA2427 /* 1400 */ - .quad 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E /* 1401 */ - .quad 0xC925DD413A32439F, 0xC3BD63962534E7DD, 0x1046BEA5D768909D /* 1402 */ - .quad 0x924BBA827464873F, 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A /* 1403 */ - .quad 0x24977504E8C90E7F, 0x0EF58E5894D39F74, 0x411AFA975DA24274 /* 1404 */ - .quad 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9 /* 1405 */ - .quad 0x925DD413A32439FC, 0x3BD63962534E7DD1, 0x046BEA5D768909D3 /* 1406 */ - .quad 0x24BBA827464873F8, 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6 /* 1407 */ - .quad 0x4977504E8C90E7F0, 0xEF58E5894D39F744, 0x11AFA975DA24274C /* 1408 */ - .quad 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88, 0x235F52EBB4484E99 /* 1409 */ - .quad 0x25DD413A32439FC3, 0xBD63962534E7DD10, 0x46BEA5D768909D33 /* 1410 */ - .quad 0x4BBA827464873F87, 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67 /* 1411 */ - .quad 0x977504E8C90E7F0E, 0xF58E5894D39F7441, 0x1AFA975DA24274CE /* 1412 */ - .quad 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882, 0x35F52EBB4484E99C /* 1413 */ - .quad 0x5DD413A32439FC3B, 0xD63962534E7DD104, 0x6BEA5D768909D338 /* 1414 */ - .quad 0xBBA827464873F877, 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671 /* 1415 */ - .quad 0x77504E8C90E7F0EF, 0x58E5894D39F74411, 0xAFA975DA24274CE3 /* 1416 */ - .quad 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7 /* 1417 */ - .quad 0xDD413A32439FC3BD, 0x63962534E7DD1046, 0xBEA5D768909D338E /* 1418 */ - .quad 0xBA827464873F877A, 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C /* 1419 */ - .quad 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A, 0xFA975DA24274CE38 /* 1420 */ - .quad 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235, 0xF52EBB4484E99C70 /* 1421 */ - .quad 0xD413A32439FC3BD6, 0x3962534E7DD1046B, 0xEA5D768909D338E0 /* 1422 */ - .quad 0xA827464873F877AC, 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0 /* 1423 */ - .quad 0x504E8C90E7F0EF58, 0xE5894D39F74411AF, 0xA975DA24274CE381 /* 1424 */ - .quad 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F, 0x52EBB4484E99C702 /* 1425 */ - .quad 0x413A32439FC3BD63, 0x962534E7DD1046BE, 0xA5D768909D338E04 /* 1426 */ - .quad 0x827464873F877AC7, 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09 /* 1427 */ - .quad 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA, 0x975DA24274CE3813 /* 1428 */ - .quad 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, 0x2EBB4484E99C7026 /* 1429 */ - .quad 0x13A32439FC3BD639, 0x62534E7DD1046BEA, 0x5D768909D338E04D /* 1430 */ - .quad 0x27464873F877AC72, 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A /* 1431 */ - .quad 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9, 0x75DA24274CE38135 /* 1432 */ - .quad 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52, 0xEBB4484E99C7026B /* 1433 */ - .quad 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5, 0xD768909D338E04D6 /* 1434 */ - .quad 0x7464873F877AC72C, 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD /* 1435 */ - .quad 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97, 0x5DA24274CE38135A /* 1436 */ - .quad 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E, 0xBB4484E99C7026B4 /* 1437 */ - .quad 0xA32439FC3BD63962, 0x534E7DD1046BEA5D, 0x768909D338E04D68 /* 1438 */ - .quad 0x464873F877AC72C4, 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1 /* 1439 */ - .quad 0x8C90E7F0EF58E589, 0x4D39F74411AFA975, 0xDA24274CE38135A2 /* 1440 */ - .quad 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB, 0xB4484E99C7026B45 /* 1441 */ - .quad 0x32439FC3BD639625, 0x34E7DD1046BEA5D7, 0x68909D338E04D68B /* 1442 */ - .quad 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17 /* 1443 */ - .quad 0xC90E7F0EF58E5894, 0xD39F74411AFA975D, 0xA24274CE38135A2F /* 1444 */ - .quad 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB, 0x4484E99C7026B45F /* 1445 */ - .quad 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE /* 1446 */ - .quad 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D /* 1447 */ - .quad 0x90E7F0EF58E5894D, 0x39F74411AFA975DA, 0x24274CE38135A2FB /* 1448 */ - .quad 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4, 0x484E99C7026B45F7 /* 1449 */ - .quad 0x439FC3BD63962534, 0xE7DD1046BEA5D768, 0x909D338E04D68BEF /* 1450 */ - .quad 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF /* 1451 */ - .quad 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2, 0x4274CE38135A2FBF /* 1452 */ - .quad 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44, 0x84E99C7026B45F7E /* 1453 */ - .quad 0x39FC3BD63962534E, 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC /* 1454 */ - .quad 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9 /* 1455 */ - .quad 0xE7F0EF58E5894D39, 0xF74411AFA975DA24, 0x274CE38135A2FBF2 /* 1456 */ - .quad 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448, 0x4E99C7026B45F7E4 /* 1457 */ - .quad 0x9FC3BD63962534E7, 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8 /* 1458 */ - .quad 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121, 0x3A671C09AD17DF90 /* 1459 */ - .quad 0x7F0EF58E5894D39F, 0x74411AFA975DA242, 0x74CE38135A2FBF20 /* 1460 */ - .quad 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484, 0xE99C7026B45F7E41 /* 1461 */ - .quad 0xFC3BD63962534E7D, 0xD1046BEA5D768909, 0xD338E04D68BEFC82 /* 1462 */ - .quad 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213, 0xA671C09AD17DF904 /* 1463 */ - .quad 0xF0EF58E5894D39F7, 0x4411AFA975DA2427, 0x4CE38135A2FBF209 /* 1464 */ - .quad 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E, 0x99C7026B45F7E413 /* 1465 */ - .quad 0xC3BD63962534E7DD, 0x1046BEA5D768909D, 0x338E04D68BEFC827 /* 1466 */ - .quad 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A, 0x671C09AD17DF904E /* 1467 */ - .quad 0x0EF58E5894D39F74, 0x411AFA975DA24274, 0xCE38135A2FBF209C /* 1468 */ - .quad 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9, 0x9C7026B45F7E4139 /* 1469 */ - .quad 0x3BD63962534E7DD1, 0x046BEA5D768909D3, 0x38E04D68BEFC8273 /* 1470 */ - .quad 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6 /* 1471 */ - .quad 0xEF58E5894D39F744, 0x11AFA975DA24274C, 0xE38135A2FBF209CC /* 1472 */ - .quad 0xDEB1CB129A73EE88, 0x235F52EBB4484E99, 0xC7026B45F7E41399 /* 1473 */ - .quad 0xBD63962534E7DD10, 0x46BEA5D768909D33, 0x8E04D68BEFC82732 /* 1474 */ - .quad 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64 /* 1475 */ - .quad 0xF58E5894D39F7441, 0x1AFA975DA24274CE, 0x38135A2FBF209CC8 /* 1476 */ - .quad 0xEB1CB129A73EE882, 0x35F52EBB4484E99C, 0x7026B45F7E413991 /* 1477 */ - .quad 0xD63962534E7DD104, 0x6BEA5D768909D338, 0xE04D68BEFC827323 /* 1478 */ - .quad 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671, 0xC09AD17DF904E647 /* 1479 */ - .quad 0x58E5894D39F74411, 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E /* 1480 */ - .quad 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7, 0x026B45F7E413991D /* 1481 */ - .quad 0x63962534E7DD1046, 0xBEA5D768909D338E, 0x04D68BEFC827323A /* 1482 */ - .quad 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C, 0x09AD17DF904E6475 /* 1483 */ - .quad 0x8E5894D39F74411A, 0xFA975DA24274CE38, 0x135A2FBF209CC8EB /* 1484 */ - .quad 0x1CB129A73EE88235, 0xF52EBB4484E99C70, 0x26B45F7E413991D6 /* 1485 */ - .quad 0x3962534E7DD1046B, 0xEA5D768909D338E0, 0x4D68BEFC827323AC /* 1486 */ - .quad 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0, 0x9AD17DF904E64758 /* 1487 */ - .quad 0xE5894D39F74411AF, 0xA975DA24274CE381, 0x35A2FBF209CC8EB1 /* 1488 */ - .quad 0xCB129A73EE88235F, 0x52EBB4484E99C702, 0x6B45F7E413991D63 /* 1489 */ - .quad 0x962534E7DD1046BE, 0xA5D768909D338E04, 0xD68BEFC827323AC7 /* 1490 */ - .quad 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09, 0xAD17DF904E64758E /* 1491 */ - .quad 0x5894D39F74411AFA, 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C /* 1492 */ - .quad 0xB129A73EE88235F5, 0x2EBB4484E99C7026, 0xB45F7E413991D639 /* 1493 */ - .quad 0x62534E7DD1046BEA, 0x5D768909D338E04D, 0x68BEFC827323AC73 /* 1494 */ - .quad 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A, 0xD17DF904E64758E6 /* 1495 */ - .quad 0x894D39F74411AFA9, 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC /* 1496 */ - .quad 0x129A73EE88235F52, 0xEBB4484E99C7026B, 0x45F7E413991D6398 /* 1497 */ - .quad 0x2534E7DD1046BEA5, 0xD768909D338E04D6, 0x8BEFC827323AC730 /* 1498 */ - .quad 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD, 0x17DF904E64758E60 /* 1499 */ - .quad 0x94D39F74411AFA97, 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1 /* 1500 */ - .quad 0x29A73EE88235F52E, 0xBB4484E99C7026B4, 0x5F7E413991D63983 /* 1501 */ - .quad 0x534E7DD1046BEA5D, 0x768909D338E04D68, 0xBEFC827323AC7306 /* 1502 */ - .quad 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1, 0x7DF904E64758E60D /* 1503 */ - .quad 0x4D39F74411AFA975, 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A /* 1504 */ - .quad 0x9A73EE88235F52EB, 0xB4484E99C7026B45, 0xF7E413991D639835 /* 1505 */ - .quad 0x34E7DD1046BEA5D7, 0x68909D338E04D68B, 0xEFC827323AC7306A /* 1506 */ - .quad 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17, 0xDF904E64758E60D4 /* 1507 */ - .quad 0xD39F74411AFA975D, 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9 /* 1508 */ - .quad 0xA73EE88235F52EBB, 0x4484E99C7026B45F, 0x7E413991D6398353 /* 1509 */ - .quad 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE, 0xFC827323AC7306A6 /* 1510 */ - .quad 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D, 0xF904E64758E60D4C /* 1511 */ - .quad 0x39F74411AFA975DA, 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99 /* 1512 */ - .quad 0x73EE88235F52EBB4, 0x484E99C7026B45F7, 0xE413991D63983533 /* 1513 */ - .quad 0xE7DD1046BEA5D768, 0x909D338E04D68BEF, 0xC827323AC7306A67 /* 1514 */ - .quad 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF, 0x904E64758E60D4CE /* 1515 */ - .quad 0x9F74411AFA975DA2, 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C /* 1516 */ - .quad 0x3EE88235F52EBB44, 0x84E99C7026B45F7E, 0x413991D639835339 /* 1517 */ - .quad 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC, 0x827323AC7306A673 /* 1518 */ - .quad 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9, 0x04E64758E60D4CE7 /* 1519 */ - .quad 0xF74411AFA975DA24, 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF /* 1520 */ - .quad 0xEE88235F52EBB448, 0x4E99C7026B45F7E4, 0x13991D639835339F /* 1521 */ - .quad 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8, 0x27323AC7306A673E /* 1522 */ - .quad 0xBA208D7D4BAED121, 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D /* 1523 */ - .quad 0x74411AFA975DA242, 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA /* 1524 */ - .quad 0xE88235F52EBB4484, 0xE99C7026B45F7E41, 0x3991D639835339F4 /* 1525 */ - .quad 0xD1046BEA5D768909, 0xD338E04D68BEFC82, 0x7323AC7306A673E9 /* 1526 */ - .quad 0xA208D7D4BAED1213, 0xA671C09AD17DF904, 0xE64758E60D4CE7D2 /* 1527 */ - .quad 0x4411AFA975DA2427, 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4 /* 1528 */ - .quad 0x88235F52EBB4484E, 0x99C7026B45F7E413, 0x991D639835339F49 /* 1529 */ - .quad 0x1046BEA5D768909D, 0x338E04D68BEFC827, 0x323AC7306A673E93 /* 1530 */ - .quad 0x208D7D4BAED1213A, 0x671C09AD17DF904E, 0x64758E60D4CE7D27 /* 1531 */ - .quad 0x411AFA975DA24274, 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E /* 1532 */ - .quad 0x8235F52EBB4484E9, 0x9C7026B45F7E4139, 0x91D639835339F49C /* 1533 */ - .quad 0x046BEA5D768909D3, 0x38E04D68BEFC8273, 0x23AC7306A673E939 /* 1534 */ - .quad 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6, 0x4758E60D4CE7D272 /* 1535 */ - .quad 0x11AFA975DA24274C, 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4 /* 1536 */ - .quad 0x235F52EBB4484E99, 0xC7026B45F7E41399, 0x1D639835339F49C8 /* 1537 */ - .quad 0x46BEA5D768909D33, 0x8E04D68BEFC82732, 0x3AC7306A673E9390 /* 1538 */ - .quad 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64, 0x758E60D4CE7D2721 /* 1539 */ - .quad 0x1AFA975DA24274CE, 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42 /* 1540 */ - .quad 0x35F52EBB4484E99C, 0x7026B45F7E413991, 0xD639835339F49C84 /* 1541 */ - .quad 0x6BEA5D768909D338, 0xE04D68BEFC827323, 0xAC7306A673E93908 /* 1542 */ - .quad 0xD7D4BAED1213A671, 0xC09AD17DF904E647, 0x58E60D4CE7D27211 /* 1543 */ - .quad 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422 /* 1544 */ - .quad 0x5F52EBB4484E99C7, 0x026B45F7E413991D, 0x639835339F49C845 /* 1545 */ - .quad 0xBEA5D768909D338E, 0x04D68BEFC827323A, 0xC7306A673E93908B /* 1546 */ - .quad 0x7D4BAED1213A671C, 0x09AD17DF904E6475, 0x8E60D4CE7D272117 /* 1547 */ - .quad 0xFA975DA24274CE38, 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F /* 1548 */ - .quad 0xF52EBB4484E99C70, 0x26B45F7E413991D6, 0x39835339F49C845F /* 1549 */ - .quad 0xEA5D768909D338E0, 0x4D68BEFC827323AC, 0x7306A673E93908BF /* 1550 */ - .quad 0xD4BAED1213A671C0, 0x9AD17DF904E64758, 0xE60D4CE7D272117E /* 1551 */ - .quad 0xA975DA24274CE381, 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC /* 1552 */ - .quad 0x52EBB4484E99C702, 0x6B45F7E413991D63, 0x9835339F49C845F8 /* 1553 */ - .quad 0xA5D768909D338E04, 0xD68BEFC827323AC7, 0x306A673E93908BF1 /* 1554 */ - .quad 0x4BAED1213A671C09, 0xAD17DF904E64758E, 0x60D4CE7D272117E2 /* 1555 */ - .quad 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5 /* 1556 */ - .quad 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B /* 1557 */ - .quad 0x5D768909D338E04D, 0x68BEFC827323AC73, 0x06A673E93908BF17 /* 1558 */ - .quad 0xBAED1213A671C09A, 0xD17DF904E64758E6, 0x0D4CE7D272117E2E /* 1559 */ - .quad 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D /* 1560 */ - .quad 0xEBB4484E99C7026B, 0x45F7E413991D6398, 0x35339F49C845F8BB /* 1561 */ - .quad 0xD768909D338E04D6, 0x8BEFC827323AC730, 0x6A673E93908BF177 /* 1562 */ - .quad 0xAED1213A671C09AD, 0x17DF904E64758E60, 0xD4CE7D272117E2EF /* 1563 */ - .quad 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE /* 1564 */ - .quad 0xBB4484E99C7026B4, 0x5F7E413991D63983, 0x5339F49C845F8BBD /* 1565 */ - .quad 0x768909D338E04D68, 0xBEFC827323AC7306, 0xA673E93908BF177B /* 1566 */ - .quad 0xED1213A671C09AD1, 0x7DF904E64758E60D, 0x4CE7D272117E2EF7 /* 1567 */ - .quad 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF /* 1568 */ - .quad 0xB4484E99C7026B45, 0xF7E413991D639835, 0x339F49C845F8BBDF /* 1569 */ - .quad 0x68909D338E04D68B, 0xEFC827323AC7306A, 0x673E93908BF177BF /* 1570 */ - .quad 0xD1213A671C09AD17, 0xDF904E64758E60D4, 0xCE7D272117E2EF7E /* 1571 */ - .quad 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC /* 1572 */ - .quad 0x4484E99C7026B45F, 0x7E413991D6398353, 0x39F49C845F8BBDF9 /* 1573 */ - .quad 0x8909D338E04D68BE, 0xFC827323AC7306A6, 0x73E93908BF177BF2 /* 1574 */ - .quad 0x1213A671C09AD17D, 0xF904E64758E60D4C, 0xE7D272117E2EF7E4 /* 1575 */ - .quad 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9 /* 1576 */ - .quad 0x484E99C7026B45F7, 0xE413991D63983533, 0x9F49C845F8BBDF92 /* 1577 */ - .quad 0x909D338E04D68BEF, 0xC827323AC7306A67, 0x3E93908BF177BF25 /* 1578 */ - .quad 0x213A671C09AD17DF, 0x904E64758E60D4CE, 0x7D272117E2EF7E4A /* 1579 */ - .quad 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94 /* 1580 */ - .quad 0x84E99C7026B45F7E, 0x413991D639835339, 0xF49C845F8BBDF928 /* 1581 */ - .quad 0x09D338E04D68BEFC, 0x827323AC7306A673, 0xE93908BF177BF250 /* 1582 */ - .quad 0x13A671C09AD17DF9, 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0 /* 1583 */ - .quad 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941 /* 1584 */ - .quad 0x4E99C7026B45F7E4, 0x13991D639835339F, 0x49C845F8BBDF9283 /* 1585 */ - .quad 0x9D338E04D68BEFC8, 0x27323AC7306A673E, 0x93908BF177BF2507 /* 1586 */ - .quad 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E /* 1587 */ - .quad 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D /* 1588 */ - .quad 0xE99C7026B45F7E41, 0x3991D639835339F4, 0x9C845F8BBDF9283B /* 1589 */ - .quad 0xD338E04D68BEFC82, 0x7323AC7306A673E9, 0x3908BF177BF25076 /* 1590 */ - .quad 0xA671C09AD17DF904, 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC /* 1591 */ - .quad 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8 /* 1592 */ - .quad 0x99C7026B45F7E413, 0x991D639835339F49, 0xC845F8BBDF9283B1 /* 1593 */ - .quad 0x338E04D68BEFC827, 0x323AC7306A673E93, 0x908BF177BF250763 /* 1594 */ - .quad 0x671C09AD17DF904E, 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7 /* 1595 */ - .quad 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F /* 1596 */ - .quad 0x9C7026B45F7E4139, 0x91D639835339F49C, 0x845F8BBDF9283B1F /* 1597 */ - .quad 0x38E04D68BEFC8273, 0x23AC7306A673E939, 0x08BF177BF250763F /* 1598 */ - .quad 0x71C09AD17DF904E6, 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F /* 1599 */ - .quad 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF /* 1600 */ - .quad 0xC7026B45F7E41399, 0x1D639835339F49C8, 0x45F8BBDF9283B1FF /* 1601 */ - .quad 0x8E04D68BEFC82732, 0x3AC7306A673E9390, 0x8BF177BF250763FF /* 1602 */ - .quad 0x1C09AD17DF904E64, 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE /* 1603 */ - .quad 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC /* 1604 */ - .quad 0x7026B45F7E413991, 0xD639835339F49C84, 0x5F8BBDF9283B1FF8 /* 1605 */ - .quad 0xE04D68BEFC827323, 0xAC7306A673E93908, 0xBF177BF250763FF1 /* 1606 */ - .quad 0xC09AD17DF904E647, 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2 /* 1607 */ - .quad 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4 /* 1608 */ - .quad 0x026B45F7E413991D, 0x639835339F49C845, 0xF8BBDF9283B1FF89 /* 1609 */ - .quad 0x04D68BEFC827323A, 0xC7306A673E93908B, 0xF177BF250763FF12 /* 1610 */ - .quad 0x09AD17DF904E6475, 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25 /* 1611 */ - .quad 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B /* 1612 */ - .quad 0x26B45F7E413991D6, 0x39835339F49C845F, 0x8BBDF9283B1FF897 /* 1613 */ - .quad 0x4D68BEFC827323AC, 0x7306A673E93908BF, 0x177BF250763FF12F /* 1614 */ - .quad 0x9AD17DF904E64758, 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F /* 1615 */ - .quad 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF /* 1616 */ - .quad 0x6B45F7E413991D63, 0x9835339F49C845F8, 0xBBDF9283B1FF897F /* 1617 */ - .quad 0xD68BEFC827323AC7, 0x306A673E93908BF1, 0x77BF250763FF12FF /* 1618 */ - .quad 0xAD17DF904E64758E, 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF /* 1619 */ - .quad 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF /* 1620 */ - .quad 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF /* 1621 */ - .quad 0x68BEFC827323AC73, 0x06A673E93908BF17, 0x7BF250763FF12FFF /* 1622 */ - .quad 0xD17DF904E64758E6, 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF /* 1623 */ - .quad 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE /* 1624 */ - .quad 0x45F7E413991D6398, 0x35339F49C845F8BB, 0xDF9283B1FF897FFD /* 1625 */ - .quad 0x8BEFC827323AC730, 0x6A673E93908BF177, 0xBF250763FF12FFFB /* 1626 */ - .quad 0x17DF904E64758E60, 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7 /* 1627 */ - .quad 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF /* 1628 */ - .quad 0x5F7E413991D63983, 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE /* 1629 */ - .quad 0xBEFC827323AC7306, 0xA673E93908BF177B, 0xF250763FF12FFFBC /* 1630 */ - .quad 0x7DF904E64758E60D, 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78 /* 1631 */ - .quad 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0 /* 1632 */ - .quad 0xF7E413991D639835, 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0 /* 1633 */ - .quad 0xEFC827323AC7306A, 0x673E93908BF177BF, 0x250763FF12FFFBC0 /* 1634 */ - .quad 0xDF904E64758E60D4, 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781 /* 1635 */ - .quad 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02 /* 1636 */ - .quad 0x7E413991D6398353, 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05 /* 1637 */ - .quad 0xFC827323AC7306A6, 0x73E93908BF177BF2, 0x50763FF12FFFBC0B /* 1638 */ - .quad 0xF904E64758E60D4C, 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816 /* 1639 */ - .quad 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C /* 1640 */ - .quad 0xE413991D63983533, 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059 /* 1641 */ - .quad 0xC827323AC7306A67, 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3 /* 1642 */ - .quad 0x904E64758E60D4CE, 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166 /* 1643 */ - .quad 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC /* 1644 */ - .quad 0x413991D639835339, 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598 /* 1645 */ - .quad 0x827323AC7306A673, 0xE93908BF177BF250, 0x763FF12FFFBC0B30 /* 1646 */ - .quad 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660 /* 1647 */ - .quad 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0 /* 1648 */ - .quad 0x13991D639835339F, 0x49C845F8BBDF9283, 0xB1FF897FFDE05980 /* 1649 */ - .quad 0x27323AC7306A673E, 0x93908BF177BF2507, 0x63FF12FFFBC0B301 /* 1650 */ - .quad 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603 /* 1651 */ - .quad 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07 /* 1652 */ - .quad 0x3991D639835339F4, 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F /* 1653 */ - .quad 0x7323AC7306A673E9, 0x3908BF177BF25076, 0x3FF12FFFBC0B301F /* 1654 */ - .quad 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F /* 1655 */ - .quad 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F /* 1656 */ - .quad 0x991D639835339F49, 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE /* 1657 */ - .quad 0x323AC7306A673E93, 0x908BF177BF250763, 0xFF12FFFBC0B301FD /* 1658 */ - .quad 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB /* 1659 */ - .quad 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7 /* 1660 */ - .quad 0x91D639835339F49C, 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF /* 1661 */ - .quad 0x23AC7306A673E939, 0x08BF177BF250763F, 0xF12FFFBC0B301FDE /* 1662 */ - .quad 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC /* 1663 */ - .quad 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79 /* 1664 */ - .quad 0x1D639835339F49C8, 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2 /* 1665 */ - .quad 0x3AC7306A673E9390, 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5 /* 1666 */ - .quad 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB /* 1667 */ - .quad 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797 /* 1668 */ - .quad 0xD639835339F49C84, 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F /* 1669 */ - .quad 0xAC7306A673E93908, 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E /* 1670 */ - .quad 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC /* 1671 */ - .quad 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978 /* 1672 */ - .quad 0x639835339F49C845, 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1 /* 1673 */ - .quad 0xC7306A673E93908B, 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2 /* 1674 */ - .quad 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4 /* 1675 */ - .quad 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788 /* 1676 */ - .quad 0x39835339F49C845F, 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11 /* 1677 */ - .quad 0x7306A673E93908BF, 0x177BF250763FF12F, 0xFFBC0B301FDE5E23 /* 1678 */ - .quad 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46 /* 1679 */ - .quad 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C /* 1680 */ - .quad 0x9835339F49C845F8, 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118 /* 1681 */ - .quad 0x306A673E93908BF1, 0x77BF250763FF12FF, 0xFBC0B301FDE5E231 /* 1682 */ - .quad 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462 /* 1683 */ - .quad 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5 /* 1684 */ - .quad 0x835339F49C845F8B, 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B /* 1685 */ - .quad 0x06A673E93908BF17, 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316 /* 1686 */ - .quad 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D /* 1687 */ - .quad 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A /* 1688 */ - .quad 0x35339F49C845F8BB, 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5 /* 1689 */ - .quad 0x6A673E93908BF177, 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B /* 1690 */ - .quad 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6 /* 1691 */ - .quad 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD /* 1692 */ - .quad 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A /* 1693 */ - .quad 0xA673E93908BF177B, 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4 /* 1694 */ - .quad 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68 /* 1695 */ - .quad 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0 /* 1696 */ - .quad 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0 /* 1697 */ - .quad 0x673E93908BF177BF, 0x250763FF12FFFBC0, 0xB301FDE5E2316B41 /* 1698 */ - .quad 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682 /* 1699 */ - .quad 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05 /* 1700 */ - .quad 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A /* 1701 */ - .quad 0x73E93908BF177BF2, 0x50763FF12FFFBC0B, 0x301FDE5E2316B414 /* 1702 */ - .quad 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829 /* 1703 */ - .quad 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053 /* 1704 */ - .quad 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6 /* 1705 */ - .quad 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D /* 1706 */ - .quad 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B /* 1707 */ - .quad 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536 /* 1708 */ - .quad 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D /* 1709 */ - .quad 0xE93908BF177BF250, 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA /* 1710 */ - .quad 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4 /* 1711 */ - .quad 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368 /* 1712 */ - .quad 0x49C845F8BBDF9283, 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1 /* 1713 */ - .quad 0x93908BF177BF2507, 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3 /* 1714 */ - .quad 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603, 0xFBCBC462D6829B47 /* 1715 */ - .quad 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F /* 1716 */ - .quad 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F /* 1717 */ - .quad 0x3908BF177BF25076, 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E /* 1718 */ - .quad 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F, 0xBCBC462D6829B47D /* 1719 */ - .quad 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB /* 1720 */ - .quad 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6 /* 1721 */ - .quad 0x908BF177BF250763, 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED /* 1722 */ - .quad 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB, 0xCBC462D6829B47DB /* 1723 */ - .quad 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6 /* 1724 */ - .quad 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D /* 1725 */ - .quad 0x08BF177BF250763F, 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA /* 1726 */ - .quad 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC, 0xBC462D6829B47DB4 /* 1727 */ - .quad 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69 /* 1728 */ - .quad 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3 /* 1729 */ - .quad 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6 /* 1730 */ - .quad 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB, 0xC462D6829B47DB4D /* 1731 */ - .quad 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B /* 1732 */ - .quad 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36 /* 1733 */ - .quad 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C /* 1734 */ - .quad 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9 /* 1735 */ - .quad 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3 /* 1736 */ - .quad 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367 /* 1737 */ - .quad 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF /* 1738 */ - .quad 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F /* 1739 */ - .quad 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F /* 1740 */ - .quad 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E /* 1741 */ - .quad 0x177BF250763FF12F, 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD /* 1742 */ - .quad 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB /* 1743 */ - .quad 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6 /* 1744 */ - .quad 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC /* 1745 */ - .quad 0x77BF250763FF12FF, 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9 /* 1746 */ - .quad 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3 /* 1747 */ - .quad 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5, 0xAD05368FB69B3F67 /* 1748 */ - .quad 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF /* 1749 */ - .quad 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E /* 1750 */ - .quad 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C /* 1751 */ - .quad 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A, 0xD05368FB69B3F679 /* 1752 */ - .quad 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2 /* 1753 */ - .quad 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4 /* 1754 */ - .quad 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9 /* 1755 */ - .quad 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD, 0x05368FB69B3F6793 /* 1756 */ - .quad 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27 /* 1757 */ - .quad 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F /* 1758 */ - .quad 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F /* 1759 */ - .quad 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E /* 1760 */ - .quad 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C /* 1761 */ - .quad 0x250763FF12FFFBC0, 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9 /* 1762 */ - .quad 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2 /* 1763 */ - .quad 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05, 0x368FB69B3F6793E5 /* 1764 */ - .quad 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB /* 1765 */ - .quad 0x50763FF12FFFBC0B, 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96 /* 1766 */ - .quad 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C /* 1767 */ - .quad 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053, 0x68FB69B3F6793E58 /* 1768 */ - .quad 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0 /* 1769 */ - .quad 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961 /* 1770 */ - .quad 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2 /* 1771 */ - .quad 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536, 0x8FB69B3F6793E584 /* 1772 */ - .quad 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09 /* 1773 */ - .quad 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613 /* 1774 */ - .quad 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26 /* 1775 */ - .quad 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368, 0xFB69B3F6793E584D /* 1776 */ - .quad 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B /* 1777 */ - .quad 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136 /* 1778 */ - .quad 0xC7FE25FFF7816603, 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D /* 1779 */ - .quad 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F, 0xB69B3F6793E584DB /* 1780 */ - .quad 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7 /* 1781 */ - .quad 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E /* 1782 */ - .quad 0x7FE25FFF7816603F, 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD /* 1783 */ - .quad 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB, 0x69B3F6793E584DBA /* 1784 */ - .quad 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74 /* 1785 */ - .quad 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9 /* 1786 */ - .quad 0xFE25FFF7816603FB, 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3 /* 1787 */ - .quad 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7 /* 1788 */ - .quad 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F /* 1789 */ - .quad 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E /* 1790 */ - .quad 0xE25FFF7816603FBC, 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D /* 1791 */ - .quad 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69, 0xB3F6793E584DBA7A /* 1792 */ - .quad 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4 /* 1793 */ - .quad 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8 /* 1794 */ - .quad 0x25FFF7816603FBCB, 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1 /* 1795 */ - .quad 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3 /* 1796 */ - .quad 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46 /* 1797 */ - .quad 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C /* 1798 */ - .quad 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18 /* 1799 */ - .quad 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31 /* 1800 */ - .quad 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463 /* 1801 */ - .quad 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7 /* 1802 */ - .quad 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F /* 1803 */ - .quad 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F /* 1804 */ - .quad 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F /* 1805 */ - .quad 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E /* 1806 */ - .quad 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD /* 1807 */ - .quad 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB /* 1808 */ - .quad 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6 /* 1809 */ - .quad 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC /* 1810 */ - .quad 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9 /* 1811 */ - .quad 0xEF02CC07F79788C5, 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3 /* 1812 */ - .quad 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66 /* 1813 */ - .quad 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD /* 1814 */ - .quad 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A /* 1815 */ - .quad 0xF02CC07F79788C5A, 0xD05368FB69B3F679, 0x3E584DBA7A31FB34 /* 1816 */ - .quad 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669 /* 1817 */ - .quad 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3 /* 1818 */ - .quad 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7 /* 1819 */ - .quad 0x02CC07F79788C5AD, 0x05368FB69B3F6793, 0xE584DBA7A31FB34F /* 1820 */ - .quad 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E /* 1821 */ - .quad 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C /* 1822 */ - .quad 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79 /* 1823 */ - .quad 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2 /* 1824 */ - .quad 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5 /* 1825 */ - .quad 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB /* 1826 */ - .quad 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797 /* 1827 */ - .quad 0xCC07F79788C5AD05, 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F /* 1828 */ - .quad 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F /* 1829 */ - .quad 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF /* 1830 */ - .quad 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F /* 1831 */ - .quad 0xC07F79788C5AD053, 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF /* 1832 */ - .quad 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE /* 1833 */ - .quad 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD /* 1834 */ - .quad 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA /* 1835 */ - .quad 0x07F79788C5AD0536, 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5 /* 1836 */ - .quad 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA /* 1837 */ - .quad 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4 /* 1838 */ - .quad 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8 /* 1839 */ - .quad 0x7F79788C5AD05368, 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51 /* 1840 */ - .quad 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2 /* 1841 */ - .quad 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45 /* 1842 */ - .quad 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B /* 1843 */ - .quad 0xF79788C5AD05368F, 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516 /* 1844 */ - .quad 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D /* 1845 */ - .quad 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A /* 1846 */ - .quad 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5 /* 1847 */ - .quad 0x79788C5AD05368FB, 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B /* 1848 */ - .quad 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7 /* 1849 */ - .quad 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE /* 1850 */ - .quad 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D /* 1851 */ - .quad 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA /* 1852 */ - .quad 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F, 0x463F669E5FEA2D75 /* 1853 */ - .quad 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA /* 1854 */ - .quad 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4 /* 1855 */ - .quad 0x788C5AD05368FB69, 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9 /* 1856 */ - .quad 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752 /* 1857 */ - .quad 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4 /* 1858 */ - .quad 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49 /* 1859 */ - .quad 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93 /* 1860 */ - .quad 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527 /* 1861 */ - .quad 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F /* 1862 */ - .quad 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E /* 1863 */ - .quad 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D /* 1864 */ - .quad 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463, 0xF669E5FEA2D7527B /* 1865 */ - .quad 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7 /* 1866 */ - .quad 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE /* 1867 */ - .quad 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD /* 1868 */ - .quad 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA /* 1869 */ - .quad 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75 /* 1870 */ - .quad 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB /* 1871 */ - .quad 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6 /* 1872 */ - .quad 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC /* 1873 */ - .quad 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758 /* 1874 */ - .quad 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1 /* 1875 */ - .quad 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63 /* 1876 */ - .quad 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7 /* 1877 */ - .quad 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F /* 1878 */ - .quad 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F /* 1879 */ - .quad 0xD05368FB69B3F679, 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F /* 1880 */ - .quad 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E /* 1881 */ - .quad 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD /* 1882 */ - .quad 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA /* 1883 */ - .quad 0x05368FB69B3F6793, 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5 /* 1884 */ - .quad 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB /* 1885 */ - .quad 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7 /* 1886 */ - .quad 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF /* 1887 */ - .quad 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F /* 1888 */ - .quad 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE /* 1889 */ - .quad 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C /* 1890 */ - .quad 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9 /* 1891 */ - .quad 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2 /* 1892 */ - .quad 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5 /* 1893 */ - .quad 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB /* 1894 */ - .quad 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97 /* 1895 */ - .quad 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F /* 1896 */ - .quad 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F /* 1897 */ - .quad 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE /* 1898 */ - .quad 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C /* 1899 */ - .quad 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8 /* 1900 */ - .quad 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1 /* 1901 */ - .quad 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2 /* 1902 */ - .quad 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5 /* 1903 */ - .quad 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B /* 1904 */ - .quad 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17 /* 1905 */ - .quad 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F /* 1906 */ - .quad 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E /* 1907 */ - .quad 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD /* 1908 */ - .quad 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B /* 1909 */ - .quad 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6 /* 1910 */ - .quad 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC /* 1911 */ - .quad 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9 /* 1912 */ - .quad 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3 /* 1913 */ - .quad 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67 /* 1914 */ - .quad 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF /* 1915 */ - .quad 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E /* 1916 */ - .quad 0x367ECF27CB09B74F, 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D /* 1917 */ - .quad 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A /* 1918 */ - .quad 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4 /* 1919 */ - .quad 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8 /* 1920 */ - .quad 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0 /* 1921 */ - .quad 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0 /* 1922 */ - .quad 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41 /* 1923 */ - .quad 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83 /* 1924 */ - .quad 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07 /* 1925 */ - .quad 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E /* 1926 */ - .quad 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C /* 1927 */ - .quad 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839 /* 1928 */ - .quad 0xECF27CB09B74F463, 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073 /* 1929 */ - .quad 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7 /* 1930 */ - .quad 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE /* 1931 */ - .quad 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C /* 1932 */ - .quad 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739 /* 1933 */ - .quad 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73 /* 1934 */ - .quad 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7 /* 1935 */ - .quad 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF /* 1936 */ - .quad 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F /* 1937 */ - .quad 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E /* 1938 */ - .quad 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D /* 1939 */ - .quad 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB /* 1940 */ - .quad 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7 /* 1941 */ - .quad 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF /* 1942 */ - .quad 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE /* 1943 */ - .quad 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC /* 1944 */ - .quad 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78 /* 1945 */ - .quad 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1 /* 1946 */ - .quad 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2 /* 1947 */ - .quad 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5 /* 1948 */ - .quad 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A /* 1949 */ - .quad 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14 /* 1950 */ - .quad 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29 /* 1951 */ - .quad 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52 /* 1952 */ - .quad 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5 /* 1953 */ - .quad 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A /* 1954 */ - .quad 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294 /* 1955 */ - .quad 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529 /* 1956 */ - .quad 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52 /* 1957 */ - .quad 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5 /* 1958 */ - .quad 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A /* 1959 */ - .quad 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294 /* 1960 */ - .quad 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529 /* 1961 */ - .quad 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52 /* 1962 */ - .quad 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4 /* 1963 */ - .quad 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949 /* 1964 */ - .quad 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292 /* 1965 */ - .quad 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525 /* 1966 */ - .quad 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B /* 1967 */ - .quad 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497 /* 1968 */ - .quad 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E /* 1969 */ - .quad 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D /* 1970 */ - .quad 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA /* 1971 */ - .quad 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975 /* 1972 */ - .quad 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA /* 1973 */ - .quad 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4 /* 1974 */ - .quad 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9 /* 1975 */ - .quad 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753 /* 1976 */ - .quad 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6 /* 1977 */ - .quad 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D /* 1978 */ - .quad 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A /* 1979 */ - .quad 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E, 0x839CFBC529497535 /* 1980 */ - .quad 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B /* 1981 */ - .quad 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7 /* 1982 */ - .quad 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF /* 1983 */ - .quad 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8, 0x39CFBC529497535F /* 1984 */ - .quad 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0, 0x739F78A5292EA6BF /* 1985 */ - .quad 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0, 0xE73EF14A525D4D7F /* 1986 */ - .quad 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41, 0xCE7DE294A4BA9AFE /* 1987 */ - .quad 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83, 0x9CFBC529497535FD /* 1988 */ - .quad 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07, 0x39F78A5292EA6BFB /* 1989 */ - .quad 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E, 0x73EF14A525D4D7F6 /* 1990 */ - .quad 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C, 0xE7DE294A4BA9AFED /* 1991 */ - .quad 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839, 0xCFBC529497535FDA /* 1992 */ - .quad 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073, 0x9F78A5292EA6BFB5 /* 1993 */ - .quad 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7, 0x3EF14A525D4D7F6B /* 1994 */ - .quad 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE, 0x7DE294A4BA9AFED7 /* 1995 */ - .quad 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C, 0xFBC529497535FDAF /* 1996 */ - .quad 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739, 0xF78A5292EA6BFB5F /* 1997 */ - .quad 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73, 0xEF14A525D4D7F6BF /* 1998 */ - .quad 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7, 0xDE294A4BA9AFED7E /* 1999 */ - .quad 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF, 0xBC529497535FDAFD /* 2000 */ - .quad 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F, 0x78A5292EA6BFB5FB /* 2001 */ - .quad 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E, 0xF14A525D4D7F6BF6 /* 2002 */ - .quad 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D, 0xE294A4BA9AFED7EC /* 2003 */ - .quad 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB, 0xC529497535FDAFD8 /* 2004 */ - .quad 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1 /* 2005 */ - .quad 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF, 0x14A525D4D7F6BF62 /* 2006 */ - .quad 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE, 0x294A4BA9AFED7EC4 /* 2007 */ - .quad 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC, 0x529497535FDAFD88 /* 2008 */ - .quad 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78, 0xA5292EA6BFB5FB11 /* 2009 */ - .quad 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1, 0x4A525D4D7F6BF623 /* 2010 */ - .quad 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2, 0x94A4BA9AFED7EC47 /* 2011 */ - .quad 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5, 0x29497535FDAFD88F /* 2012 */ - .quad 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A, 0x5292EA6BFB5FB11F /* 2013 */ - .quad 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14, 0xA525D4D7F6BF623F /* 2014 */ - .quad 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29, 0x4A4BA9AFED7EC47E /* 2015 */ - .quad 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52, 0x9497535FDAFD88FC /* 2016 */ - .quad 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5, 0x292EA6BFB5FB11F8 /* 2017 */ - .quad 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A, 0x525D4D7F6BF623F1 /* 2018 */ - .quad 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294, 0xA4BA9AFED7EC47E3 /* 2019 */ - .quad 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529, 0x497535FDAFD88FC6 /* 2020 */ - .quad 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52, 0x92EA6BFB5FB11F8D /* 2021 */ - .quad 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5, 0x25D4D7F6BF623F1A /* 2022 */ - .quad 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A, 0x4BA9AFED7EC47E35 /* 2023 */ - .quad 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294, 0x97535FDAFD88FC6A /* 2024 */ - .quad 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529, 0x2EA6BFB5FB11F8D5 /* 2025 */ - .quad 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52, 0x5D4D7F6BF623F1AB /* 2026 */ - .quad 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4, 0xBA9AFED7EC47E357 /* 2027 */ - .quad 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949, 0x7535FDAFD88FC6AE /* 2028 */ - .quad 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292, 0xEA6BFB5FB11F8D5D /* 2029 */ - .quad 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525, 0xD4D7F6BF623F1ABA /* 2030 */ - .quad 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B, 0xA9AFED7EC47E3574 /* 2031 */ - .quad 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497, 0x535FDAFD88FC6AE8 /* 2032 */ - .quad 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E, 0xA6BFB5FB11F8D5D0 /* 2033 */ - .quad 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D, 0x4D7F6BF623F1ABA1 /* 2034 */ - .quad 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA, 0x9AFED7EC47E35742 /* 2035 */ - .quad 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975, 0x35FDAFD88FC6AE84 /* 2036 */ - .quad 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA, 0x6BFB5FB11F8D5D08 /* 2037 */ - .quad 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4, 0xD7F6BF623F1ABA10 /* 2038 */ - .quad 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9, 0xAFED7EC47E357421 /* 2039 */ - .quad 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753, 0x5FDAFD88FC6AE842 /* 2040 */ - .quad 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6, 0xBFB5FB11F8D5D085 /* 2041 */ - .quad 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D, 0x7F6BF623F1ABA10A /* 2042 */ - .quad 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A, 0xFED7EC47E3574215 /* 2043 */ - .quad 0x93DD63F5F2F8BD9E, 0x839CFBC529497535, 0xFDAFD88FC6AE842B /* 2044 */ - .quad 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B, 0xFB5FB11F8D5D0856 /* 2045 */ - .quad 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7, 0xF6BF623F1ABA10AC /* 2046 */ - .quad 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF, 0xED7EC47E35742158 /* 2047 */ - .align 64 - .type __svml_dtan_reduction_data_internal,@object - .size __svml_dtan_reduction_data_internal,.-__svml_dtan_reduction_data_internal - .space 512, 0x00 - .align 32 + /* P_hi P_med P_lo */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 0 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 1 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 2 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 3 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 4 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 5 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 6 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 7 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 8 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 9 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 10 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 11 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 12 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 13 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 14 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 15 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 16 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 17 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 18 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 19 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 20 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 21 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 22 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 23 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 24 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 25 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 26 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 27 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 28 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 29 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 30 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 31 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 32 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 33 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 34 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 35 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 36 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 37 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 38 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 39 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 40 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 41 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 42 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 43 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 44 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 45 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 46 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 47 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 48 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 49 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 50 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 51 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 52 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 53 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 54 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 55 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 56 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 57 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 58 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 59 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 60 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 61 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 62 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 63 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 64 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 65 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 66 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 67 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 68 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 69 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 70 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 71 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 72 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 73 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 74 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 75 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 76 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 77 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 78 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 79 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 80 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 81 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 82 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 83 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 84 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 85 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 86 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 87 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 88 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 89 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 90 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 91 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 92 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 93 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 94 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 95 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 96 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 97 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 98 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 99 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 100 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 101 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 102 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 103 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 104 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 105 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 106 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 107 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 108 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 109 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 110 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 111 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 112 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 113 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 114 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 115 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 116 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 117 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 118 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 119 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 120 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 121 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 122 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 123 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 124 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 125 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 126 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 127 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 128 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 129 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 130 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 131 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 132 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 133 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 134 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 135 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 136 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 137 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 138 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 139 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 140 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 141 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 142 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 143 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 144 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 145 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 146 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 147 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 148 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 149 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 150 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 151 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 152 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 153 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 154 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 155 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 156 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 157 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 158 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 159 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 160 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 161 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 162 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 163 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 164 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 165 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 166 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 167 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 168 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 169 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 170 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 171 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 172 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 173 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 174 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 175 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 176 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 177 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 178 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 179 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 180 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 181 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 182 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 183 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 184 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 185 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 186 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 187 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 188 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 189 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 190 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 191 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 192 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 193 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 194 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 195 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 196 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 197 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 198 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 199 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 200 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 201 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 202 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 203 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 204 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 205 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 206 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 207 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 208 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 209 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 210 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 211 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 212 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 213 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 214 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 215 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 216 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 217 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 218 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 219 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 220 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 221 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 222 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 223 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 224 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 225 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 226 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 227 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 228 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 229 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 230 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 231 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 232 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 233 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 234 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 235 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 236 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 237 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 238 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 239 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 240 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 241 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 242 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 243 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 244 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 245 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 246 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 247 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 248 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 249 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 250 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 251 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 252 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 253 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 254 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 255 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 256 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 257 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 258 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 259 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 260 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 261 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 262 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 263 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 264 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 265 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 266 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 267 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 268 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 269 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 270 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 271 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 272 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 273 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 274 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 275 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 276 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 277 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 278 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 279 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 280 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 281 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 282 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 283 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 284 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 285 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 286 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 287 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 288 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 289 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 290 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 291 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 292 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 293 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 294 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 295 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 296 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 297 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 298 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 299 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 300 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 301 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 302 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 303 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 304 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 305 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 306 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 307 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 308 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 309 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 310 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 311 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 312 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 313 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 314 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 315 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 316 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 317 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 318 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 319 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 320 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 321 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 322 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 323 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 324 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 325 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 326 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 327 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 328 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 329 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 330 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 331 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 332 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 333 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 334 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 335 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 336 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 337 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 338 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 339 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 340 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 341 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 342 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 343 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 344 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 345 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 346 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 347 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 348 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 349 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 350 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 351 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 352 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 353 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 354 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 355 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 356 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 357 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 358 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 359 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 360 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 361 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 362 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 363 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 364 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 365 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 366 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 367 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 368 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 369 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 370 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 371 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 372 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 373 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 374 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 375 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 376 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 377 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 378 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 379 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 380 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 381 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 382 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 383 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 384 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 385 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 386 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 387 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 388 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 389 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 390 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 391 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 392 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 393 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 394 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 395 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 396 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 397 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 398 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 399 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 400 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 401 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 402 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 403 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 404 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 405 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 406 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 407 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 408 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 409 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 410 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 411 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 412 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 413 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 414 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 415 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 416 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 417 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 418 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 419 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 420 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 421 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 422 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 423 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 424 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 425 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 426 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 427 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 428 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 429 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 430 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 431 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 432 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 433 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 434 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 435 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 436 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 437 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 438 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 439 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 440 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 441 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 442 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 443 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 444 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 445 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 446 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 447 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 448 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 449 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 450 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 451 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 452 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 453 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 454 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 455 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 456 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 457 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 458 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 459 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 460 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 461 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 462 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 463 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 464 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 465 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 466 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 467 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 468 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 469 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 470 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 471 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 472 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 473 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 474 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 475 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 476 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 477 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 478 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 479 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 480 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 481 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 482 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 483 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 484 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 485 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 486 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 487 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 488 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 489 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 490 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 491 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 492 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 493 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 494 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 495 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 496 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 497 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 498 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 499 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 500 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 501 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 502 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 503 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 504 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 505 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 506 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 507 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 508 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 509 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 510 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 511 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 512 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 513 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 514 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 515 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 516 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 517 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 518 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 519 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 520 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 521 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 522 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 523 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 524 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 525 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 526 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 527 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 528 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 529 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 530 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 531 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 532 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 533 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 534 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 535 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 536 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 537 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 538 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 539 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 540 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 541 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 542 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 543 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 544 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 545 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 546 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 547 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 548 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 549 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 550 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 551 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 552 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 553 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 554 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 555 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 556 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 557 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 558 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 559 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 560 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 561 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 562 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 563 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 564 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 565 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 566 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 567 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 568 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 569 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 570 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 571 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 572 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 573 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 574 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 575 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 576 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 577 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 578 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 579 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 580 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 581 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 582 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 583 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 584 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 585 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 586 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 587 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 588 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 589 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 590 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 591 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 592 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 593 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 594 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 595 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 596 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 597 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 598 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 599 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 600 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 601 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 602 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 603 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 604 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 605 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 606 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 607 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 608 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 609 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 610 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 611 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 612 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 613 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 614 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 615 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 616 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 617 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 618 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 619 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 620 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 621 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 622 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 623 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 624 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 625 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 626 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 627 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 628 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 629 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 630 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 631 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 632 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 633 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 634 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 635 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 636 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 637 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 638 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 639 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 640 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 641 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 642 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 643 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 644 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 645 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 646 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 647 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 648 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 649 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 650 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 651 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 652 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 653 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 654 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 655 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 656 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 657 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 658 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 659 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 660 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 661 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 662 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 663 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 664 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 665 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 666 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 667 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 668 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 669 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 670 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 671 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 672 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 673 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 674 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 675 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 676 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 677 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 678 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 679 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 680 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 681 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 682 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 683 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 684 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 685 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 686 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 687 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 688 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 689 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 690 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 691 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 692 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 693 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 694 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 695 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 696 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 697 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 698 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 699 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 700 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 701 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 702 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 703 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 704 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 705 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 706 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 707 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 708 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 709 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 710 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 711 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 712 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 713 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 714 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 715 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 716 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 717 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 718 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 719 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 720 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 721 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 722 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 723 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 724 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 725 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 726 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 727 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 728 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 729 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 730 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 731 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 732 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 733 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 734 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 735 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 736 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 737 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 738 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 739 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 740 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 741 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 742 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 743 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 744 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 745 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 746 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 747 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 748 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 749 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 750 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 751 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 752 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 753 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 754 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 755 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 756 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 757 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 758 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 759 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 760 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 761 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 762 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 763 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 764 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 765 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 766 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 767 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 768 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 769 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 770 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 771 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 772 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 773 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 774 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 775 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 776 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 777 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 778 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 779 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 780 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 781 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 782 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 783 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 784 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 785 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 786 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 787 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 788 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 789 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 790 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 791 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 792 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 793 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 794 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 795 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 796 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 797 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 798 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 799 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 800 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 801 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 802 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 803 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 804 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 805 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 806 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 807 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 808 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 809 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 810 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 811 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 812 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 813 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 814 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 815 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 816 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 817 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 818 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 819 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 820 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 821 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 822 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 823 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 824 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 825 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 826 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 827 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 828 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 829 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 830 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 831 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 832 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 833 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 834 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 835 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 836 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 837 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 838 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 839 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 840 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 841 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 842 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 843 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 844 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 845 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 846 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 847 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 848 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 849 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 850 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 851 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 852 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 853 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 854 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 855 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 856 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 857 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 858 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 859 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 860 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 861 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 862 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 863 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 864 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 865 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 866 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 867 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 868 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 869 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 870 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 871 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 872 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 873 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 874 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 875 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 876 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 877 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 878 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 879 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 880 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 881 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 882 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 883 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 884 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 /* 885 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000001 /* 886 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000002 /* 887 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000005 /* 888 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000000A /* 889 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000014 /* 890 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000028 /* 891 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000051 /* 892 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000000A2 /* 893 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000145 /* 894 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000028B /* 895 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000517 /* 896 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000000A2F /* 897 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000145F /* 898 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000028BE /* 899 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000517C /* 900 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000000A2F9 /* 901 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000145F3 /* 902 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000028BE6 /* 903 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000517CC /* 904 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000000A2F98 /* 905 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000145F30 /* 906 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000028BE60 /* 907 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000517CC1 /* 908 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000000A2F983 /* 909 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000145F306 /* 910 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000028BE60D /* 911 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000517CC1B /* 912 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000000A2F9836 /* 913 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000145F306D /* 914 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000028BE60DB /* 915 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000517CC1B7 /* 916 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000000A2F9836E /* 917 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000145F306DC /* 918 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000028BE60DB9 /* 919 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000517CC1B72 /* 920 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000000A2F9836E4 /* 921 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000145F306DC9 /* 922 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000028BE60DB93 /* 923 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000517CC1B727 /* 924 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000000A2F9836E4E /* 925 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000145F306DC9C /* 926 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000028BE60DB939 /* 927 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000517CC1B7272 /* 928 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00000A2F9836E4E4 /* 929 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000145F306DC9C8 /* 930 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000028BE60DB9391 /* 931 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000517CC1B72722 /* 932 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0000A2F9836E4E44 /* 933 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000145F306DC9C88 /* 934 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00028BE60DB93910 /* 935 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000517CC1B727220 /* 936 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x000A2F9836E4E441 /* 937 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00145F306DC9C882 /* 938 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0028BE60DB939105 /* 939 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00517CC1B727220A /* 940 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x00A2F9836E4E4415 /* 941 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0145F306DC9C882A /* 942 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x028BE60DB9391054 /* 943 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0517CC1B727220A9 /* 944 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x0A2F9836E4E44152 /* 945 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x145F306DC9C882A5 /* 946 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x28BE60DB9391054A /* 947 */ + .quad 0x0000000000000000, 0x0000000000000000, 0x517CC1B727220A94 /* 948 */ + .quad 0x0000000000000000, 0x0000000000000000, 0xA2F9836E4E441529 /* 949 */ + .quad 0x0000000000000000, 0x0000000000000001, 0x45F306DC9C882A53 /* 950 */ + .quad 0x0000000000000000, 0x0000000000000002, 0x8BE60DB9391054A7 /* 951 */ + .quad 0x0000000000000000, 0x0000000000000005, 0x17CC1B727220A94F /* 952 */ + .quad 0x0000000000000000, 0x000000000000000A, 0x2F9836E4E441529F /* 953 */ + .quad 0x0000000000000000, 0x0000000000000014, 0x5F306DC9C882A53F /* 954 */ + .quad 0x0000000000000000, 0x0000000000000028, 0xBE60DB9391054A7F /* 955 */ + .quad 0x0000000000000000, 0x0000000000000051, 0x7CC1B727220A94FE /* 956 */ + .quad 0x0000000000000000, 0x00000000000000A2, 0xF9836E4E441529FC /* 957 */ + .quad 0x0000000000000000, 0x0000000000000145, 0xF306DC9C882A53F8 /* 958 */ + .quad 0x0000000000000000, 0x000000000000028B, 0xE60DB9391054A7F0 /* 959 */ + .quad 0x0000000000000000, 0x0000000000000517, 0xCC1B727220A94FE1 /* 960 */ + .quad 0x0000000000000000, 0x0000000000000A2F, 0x9836E4E441529FC2 /* 961 */ + .quad 0x0000000000000000, 0x000000000000145F, 0x306DC9C882A53F84 /* 962 */ + .quad 0x0000000000000000, 0x00000000000028BE, 0x60DB9391054A7F09 /* 963 */ + .quad 0x0000000000000000, 0x000000000000517C, 0xC1B727220A94FE13 /* 964 */ + .quad 0x0000000000000000, 0x000000000000A2F9, 0x836E4E441529FC27 /* 965 */ + .quad 0x0000000000000000, 0x00000000000145F3, 0x06DC9C882A53F84E /* 966 */ + .quad 0x0000000000000000, 0x0000000000028BE6, 0x0DB9391054A7F09D /* 967 */ + .quad 0x0000000000000000, 0x00000000000517CC, 0x1B727220A94FE13A /* 968 */ + .quad 0x0000000000000000, 0x00000000000A2F98, 0x36E4E441529FC275 /* 969 */ + .quad 0x0000000000000000, 0x0000000000145F30, 0x6DC9C882A53F84EA /* 970 */ + .quad 0x0000000000000000, 0x000000000028BE60, 0xDB9391054A7F09D5 /* 971 */ + .quad 0x0000000000000000, 0x0000000000517CC1, 0xB727220A94FE13AB /* 972 */ + .quad 0x0000000000000000, 0x0000000000A2F983, 0x6E4E441529FC2757 /* 973 */ + .quad 0x0000000000000000, 0x000000000145F306, 0xDC9C882A53F84EAF /* 974 */ + .quad 0x0000000000000000, 0x00000000028BE60D, 0xB9391054A7F09D5F /* 975 */ + .quad 0x0000000000000000, 0x000000000517CC1B, 0x727220A94FE13ABE /* 976 */ + .quad 0x0000000000000000, 0x000000000A2F9836, 0xE4E441529FC2757D /* 977 */ + .quad 0x0000000000000000, 0x00000000145F306D, 0xC9C882A53F84EAFA /* 978 */ + .quad 0x0000000000000000, 0x0000000028BE60DB, 0x9391054A7F09D5F4 /* 979 */ + .quad 0x0000000000000000, 0x00000000517CC1B7, 0x27220A94FE13ABE8 /* 980 */ + .quad 0x0000000000000000, 0x00000000A2F9836E, 0x4E441529FC2757D1 /* 981 */ + .quad 0x0000000000000000, 0x0000000145F306DC, 0x9C882A53F84EAFA3 /* 982 */ + .quad 0x0000000000000000, 0x000000028BE60DB9, 0x391054A7F09D5F47 /* 983 */ + .quad 0x0000000000000000, 0x0000000517CC1B72, 0x7220A94FE13ABE8F /* 984 */ + .quad 0x0000000000000000, 0x0000000A2F9836E4, 0xE441529FC2757D1F /* 985 */ + .quad 0x0000000000000000, 0x000000145F306DC9, 0xC882A53F84EAFA3E /* 986 */ + .quad 0x0000000000000000, 0x00000028BE60DB93, 0x91054A7F09D5F47D /* 987 */ + .quad 0x0000000000000000, 0x000000517CC1B727, 0x220A94FE13ABE8FA /* 988 */ + .quad 0x0000000000000000, 0x000000A2F9836E4E, 0x441529FC2757D1F5 /* 989 */ + .quad 0x0000000000000000, 0x00000145F306DC9C, 0x882A53F84EAFA3EA /* 990 */ + .quad 0x0000000000000000, 0x0000028BE60DB939, 0x1054A7F09D5F47D4 /* 991 */ + .quad 0x0000000000000000, 0x00000517CC1B7272, 0x20A94FE13ABE8FA9 /* 992 */ + .quad 0x0000000000000000, 0x00000A2F9836E4E4, 0x41529FC2757D1F53 /* 993 */ + .quad 0x0000000000000000, 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6 /* 994 */ + .quad 0x0000000000000000, 0x000028BE60DB9391, 0x054A7F09D5F47D4D /* 995 */ + .quad 0x0000000000000000, 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A /* 996 */ + .quad 0x0000000000000000, 0x0000A2F9836E4E44, 0x1529FC2757D1F534 /* 997 */ + .quad 0x0000000000000000, 0x000145F306DC9C88, 0x2A53F84EAFA3EA69 /* 998 */ + .quad 0x0000000000000000, 0x00028BE60DB93910, 0x54A7F09D5F47D4D3 /* 999 */ + .quad 0x0000000000000000, 0x000517CC1B727220, 0xA94FE13ABE8FA9A6 /* 1000 */ + .quad 0x0000000000000000, 0x000A2F9836E4E441, 0x529FC2757D1F534D /* 1001 */ + .quad 0x0000000000000000, 0x00145F306DC9C882, 0xA53F84EAFA3EA69B /* 1002 */ + .quad 0x0000000000000000, 0x0028BE60DB939105, 0x4A7F09D5F47D4D37 /* 1003 */ + .quad 0x0000000000000000, 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E /* 1004 */ + .quad 0x0000000000000000, 0x00A2F9836E4E4415, 0x29FC2757D1F534DD /* 1005 */ + .quad 0x0000000000000000, 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB /* 1006 */ + .quad 0x0000000000000000, 0x028BE60DB9391054, 0xA7F09D5F47D4D377 /* 1007 */ + .quad 0x0000000000000000, 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE /* 1008 */ + .quad 0x0000000000000000, 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC /* 1009 */ + .quad 0x0000000000000000, 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8 /* 1010 */ + .quad 0x0000000000000000, 0x28BE60DB9391054A, 0x7F09D5F47D4D3770 /* 1011 */ + .quad 0x0000000000000000, 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0 /* 1012 */ + .quad 0x0000000000000000, 0xA2F9836E4E441529, 0xFC2757D1F534DDC0 /* 1013 */ + .quad 0x0000000000000001, 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81 /* 1014 */ + .quad 0x0000000000000002, 0x8BE60DB9391054A7, 0xF09D5F47D4D37703 /* 1015 */ + .quad 0x0000000000000005, 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06 /* 1016 */ + .quad 0x000000000000000A, 0x2F9836E4E441529F, 0xC2757D1F534DDC0D /* 1017 */ + .quad 0x0000000000000014, 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B /* 1018 */ + .quad 0x0000000000000028, 0xBE60DB9391054A7F, 0x09D5F47D4D377036 /* 1019 */ + .quad 0x0000000000000051, 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D /* 1020 */ + .quad 0x00000000000000A2, 0xF9836E4E441529FC, 0x2757D1F534DDC0DB /* 1021 */ + .quad 0x0000000000000145, 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6 /* 1022 */ + .quad 0x000000000000028B, 0xE60DB9391054A7F0, 0x9D5F47D4D377036D /* 1023 */ + .quad 0x0000000000000517, 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB /* 1024 */ + .quad 0x0000000000000A2F, 0x9836E4E441529FC2, 0x757D1F534DDC0DB6 /* 1025 */ + .quad 0x000000000000145F, 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C /* 1026 */ + .quad 0x00000000000028BE, 0x60DB9391054A7F09, 0xD5F47D4D377036D8 /* 1027 */ + .quad 0x000000000000517C, 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1 /* 1028 */ + .quad 0x000000000000A2F9, 0x836E4E441529FC27, 0x57D1F534DDC0DB62 /* 1029 */ + .quad 0x00000000000145F3, 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5 /* 1030 */ + .quad 0x0000000000028BE6, 0x0DB9391054A7F09D, 0x5F47D4D377036D8A /* 1031 */ + .quad 0x00000000000517CC, 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14 /* 1032 */ + .quad 0x00000000000A2F98, 0x36E4E441529FC275, 0x7D1F534DDC0DB629 /* 1033 */ + .quad 0x0000000000145F30, 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52 /* 1034 */ + .quad 0x000000000028BE60, 0xDB9391054A7F09D5, 0xF47D4D377036D8A5 /* 1035 */ + .quad 0x0000000000517CC1, 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A /* 1036 */ + .quad 0x0000000000A2F983, 0x6E4E441529FC2757, 0xD1F534DDC0DB6295 /* 1037 */ + .quad 0x000000000145F306, 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B /* 1038 */ + .quad 0x00000000028BE60D, 0xB9391054A7F09D5F, 0x47D4D377036D8A56 /* 1039 */ + .quad 0x000000000517CC1B, 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC /* 1040 */ + .quad 0x000000000A2F9836, 0xE4E441529FC2757D, 0x1F534DDC0DB62959 /* 1041 */ + .quad 0x00000000145F306D, 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3 /* 1042 */ + .quad 0x0000000028BE60DB, 0x9391054A7F09D5F4, 0x7D4D377036D8A566 /* 1043 */ + .quad 0x00000000517CC1B7, 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC /* 1044 */ + .quad 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599 /* 1045 */ + .quad 0x0000000145F306DC, 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32 /* 1046 */ + .quad 0x000000028BE60DB9, 0x391054A7F09D5F47, 0xD4D377036D8A5664 /* 1047 */ + .quad 0x0000000517CC1B72, 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9 /* 1048 */ + .quad 0x0000000A2F9836E4, 0xE441529FC2757D1F, 0x534DDC0DB6295993 /* 1049 */ + .quad 0x000000145F306DC9, 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327 /* 1050 */ + .quad 0x00000028BE60DB93, 0x91054A7F09D5F47D, 0x4D377036D8A5664F /* 1051 */ + .quad 0x000000517CC1B727, 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E /* 1052 */ + .quad 0x000000A2F9836E4E, 0x441529FC2757D1F5, 0x34DDC0DB6295993C /* 1053 */ + .quad 0x00000145F306DC9C, 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278 /* 1054 */ + .quad 0x0000028BE60DB939, 0x1054A7F09D5F47D4, 0xD377036D8A5664F1 /* 1055 */ + .quad 0x00000517CC1B7272, 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2 /* 1056 */ + .quad 0x00000A2F9836E4E4, 0x41529FC2757D1F53, 0x4DDC0DB6295993C4 /* 1057 */ + .quad 0x0000145F306DC9C8, 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788 /* 1058 */ + .quad 0x000028BE60DB9391, 0x054A7F09D5F47D4D, 0x377036D8A5664F10 /* 1059 */ + .quad 0x0000517CC1B72722, 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21 /* 1060 */ + .quad 0x0000A2F9836E4E44, 0x1529FC2757D1F534, 0xDDC0DB6295993C43 /* 1061 */ + .quad 0x000145F306DC9C88, 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887 /* 1062 */ + .quad 0x00028BE60DB93910, 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E /* 1063 */ + .quad 0x000517CC1B727220, 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C /* 1064 */ + .quad 0x000A2F9836E4E441, 0x529FC2757D1F534D, 0xDC0DB6295993C439 /* 1065 */ + .quad 0x00145F306DC9C882, 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872 /* 1066 */ + .quad 0x0028BE60DB939105, 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4 /* 1067 */ + .quad 0x00517CC1B727220A, 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8 /* 1068 */ + .quad 0x00A2F9836E4E4415, 0x29FC2757D1F534DD, 0xC0DB6295993C4390 /* 1069 */ + .quad 0x0145F306DC9C882A, 0x53F84EAFA3EA69BB, 0x81B6C52B32788720 /* 1070 */ + .quad 0x028BE60DB9391054, 0xA7F09D5F47D4D377, 0x036D8A5664F10E41 /* 1071 */ + .quad 0x0517CC1B727220A9, 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82 /* 1072 */ + .quad 0x0A2F9836E4E44152, 0x9FC2757D1F534DDC, 0x0DB6295993C43904 /* 1073 */ + .quad 0x145F306DC9C882A5, 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208 /* 1074 */ + .quad 0x28BE60DB9391054A, 0x7F09D5F47D4D3770, 0x36D8A5664F10E410 /* 1075 */ + .quad 0x517CC1B727220A94, 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820 /* 1076 */ + .quad 0xA2F9836E4E441529, 0xFC2757D1F534DDC0, 0xDB6295993C439041 /* 1077 */ + .quad 0x45F306DC9C882A53, 0xF84EAFA3EA69BB81, 0xB6C52B3278872083 /* 1078 */ + .quad 0x8BE60DB9391054A7, 0xF09D5F47D4D37703, 0x6D8A5664F10E4107 /* 1079 */ + .quad 0x17CC1B727220A94F, 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F /* 1080 */ + .quad 0x2F9836E4E441529F, 0xC2757D1F534DDC0D, 0xB6295993C439041F /* 1081 */ + .quad 0x5F306DC9C882A53F, 0x84EAFA3EA69BB81B, 0x6C52B3278872083F /* 1082 */ + .quad 0xBE60DB9391054A7F, 0x09D5F47D4D377036, 0xD8A5664F10E4107F /* 1083 */ + .quad 0x7CC1B727220A94FE, 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF /* 1084 */ + .quad 0xF9836E4E441529FC, 0x2757D1F534DDC0DB, 0x6295993C439041FE /* 1085 */ + .quad 0xF306DC9C882A53F8, 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC /* 1086 */ + .quad 0xE60DB9391054A7F0, 0x9D5F47D4D377036D, 0x8A5664F10E4107F9 /* 1087 */ + .quad 0xCC1B727220A94FE1, 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2 /* 1088 */ + .quad 0x9836E4E441529FC2, 0x757D1F534DDC0DB6, 0x295993C439041FE5 /* 1089 */ + .quad 0x306DC9C882A53F84, 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA /* 1090 */ + .quad 0x60DB9391054A7F09, 0xD5F47D4D377036D8, 0xA5664F10E4107F94 /* 1091 */ + .quad 0xC1B727220A94FE13, 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28 /* 1092 */ + .quad 0x836E4E441529FC27, 0x57D1F534DDC0DB62, 0x95993C439041FE51 /* 1093 */ + .quad 0x06DC9C882A53F84E, 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2 /* 1094 */ + .quad 0x0DB9391054A7F09D, 0x5F47D4D377036D8A, 0x5664F10E4107F945 /* 1095 */ + .quad 0x1B727220A94FE13A, 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B /* 1096 */ + .quad 0x36E4E441529FC275, 0x7D1F534DDC0DB629, 0x5993C439041FE516 /* 1097 */ + .quad 0x6DC9C882A53F84EA, 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C /* 1098 */ + .quad 0xDB9391054A7F09D5, 0xF47D4D377036D8A5, 0x664F10E4107F9458 /* 1099 */ + .quad 0xB727220A94FE13AB, 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1 /* 1100 */ + .quad 0x6E4E441529FC2757, 0xD1F534DDC0DB6295, 0x993C439041FE5163 /* 1101 */ + .quad 0xDC9C882A53F84EAF, 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7 /* 1102 */ + .quad 0xB9391054A7F09D5F, 0x47D4D377036D8A56, 0x64F10E4107F9458E /* 1103 */ + .quad 0x727220A94FE13ABE, 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D /* 1104 */ + .quad 0xE4E441529FC2757D, 0x1F534DDC0DB62959, 0x93C439041FE5163A /* 1105 */ + .quad 0xC9C882A53F84EAFA, 0x3EA69BB81B6C52B3, 0x278872083FCA2C75 /* 1106 */ + .quad 0x9391054A7F09D5F4, 0x7D4D377036D8A566, 0x4F10E4107F9458EA /* 1107 */ + .quad 0x27220A94FE13ABE8, 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5 /* 1108 */ + .quad 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB /* 1109 */ + .quad 0x9C882A53F84EAFA3, 0xEA69BB81B6C52B32, 0x78872083FCA2C757 /* 1110 */ + .quad 0x391054A7F09D5F47, 0xD4D377036D8A5664, 0xF10E4107F9458EAF /* 1111 */ + .quad 0x7220A94FE13ABE8F, 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E /* 1112 */ + .quad 0xE441529FC2757D1F, 0x534DDC0DB6295993, 0xC439041FE5163ABD /* 1113 */ + .quad 0xC882A53F84EAFA3E, 0xA69BB81B6C52B327, 0x8872083FCA2C757B /* 1114 */ + .quad 0x91054A7F09D5F47D, 0x4D377036D8A5664F, 0x10E4107F9458EAF7 /* 1115 */ + .quad 0x220A94FE13ABE8FA, 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF /* 1116 */ + .quad 0x441529FC2757D1F5, 0x34DDC0DB6295993C, 0x439041FE5163ABDE /* 1117 */ + .quad 0x882A53F84EAFA3EA, 0x69BB81B6C52B3278, 0x872083FCA2C757BD /* 1118 */ + .quad 0x1054A7F09D5F47D4, 0xD377036D8A5664F1, 0x0E4107F9458EAF7A /* 1119 */ + .quad 0x20A94FE13ABE8FA9, 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5 /* 1120 */ + .quad 0x41529FC2757D1F53, 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB /* 1121 */ + .quad 0x82A53F84EAFA3EA6, 0x9BB81B6C52B32788, 0x72083FCA2C757BD7 /* 1122 */ + .quad 0x054A7F09D5F47D4D, 0x377036D8A5664F10, 0xE4107F9458EAF7AE /* 1123 */ + .quad 0x0A94FE13ABE8FA9A, 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D /* 1124 */ + .quad 0x1529FC2757D1F534, 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB /* 1125 */ + .quad 0x2A53F84EAFA3EA69, 0xBB81B6C52B327887, 0x2083FCA2C757BD77 /* 1126 */ + .quad 0x54A7F09D5F47D4D3, 0x77036D8A5664F10E, 0x4107F9458EAF7AEF /* 1127 */ + .quad 0xA94FE13ABE8FA9A6, 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE /* 1128 */ + .quad 0x529FC2757D1F534D, 0xDC0DB6295993C439, 0x041FE5163ABDEBBC /* 1129 */ + .quad 0xA53F84EAFA3EA69B, 0xB81B6C52B3278872, 0x083FCA2C757BD778 /* 1130 */ + .quad 0x4A7F09D5F47D4D37, 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1 /* 1131 */ + .quad 0x94FE13ABE8FA9A6E, 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2 /* 1132 */ + .quad 0x29FC2757D1F534DD, 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5 /* 1133 */ + .quad 0x53F84EAFA3EA69BB, 0x81B6C52B32788720, 0x83FCA2C757BD778A /* 1134 */ + .quad 0xA7F09D5F47D4D377, 0x036D8A5664F10E41, 0x07F9458EAF7AEF15 /* 1135 */ + .quad 0x4FE13ABE8FA9A6EE, 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B /* 1136 */ + .quad 0x9FC2757D1F534DDC, 0x0DB6295993C43904, 0x1FE5163ABDEBBC56 /* 1137 */ + .quad 0x3F84EAFA3EA69BB8, 0x1B6C52B327887208, 0x3FCA2C757BD778AC /* 1138 */ + .quad 0x7F09D5F47D4D3770, 0x36D8A5664F10E410, 0x7F9458EAF7AEF158 /* 1139 */ + .quad 0xFE13ABE8FA9A6EE0, 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0 /* 1140 */ + .quad 0xFC2757D1F534DDC0, 0xDB6295993C439041, 0xFE5163ABDEBBC561 /* 1141 */ + .quad 0xF84EAFA3EA69BB81, 0xB6C52B3278872083, 0xFCA2C757BD778AC3 /* 1142 */ + .quad 0xF09D5F47D4D37703, 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586 /* 1143 */ + .quad 0xE13ABE8FA9A6EE06, 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D /* 1144 */ + .quad 0xC2757D1F534DDC0D, 0xB6295993C439041F, 0xE5163ABDEBBC561B /* 1145 */ + .quad 0x84EAFA3EA69BB81B, 0x6C52B3278872083F, 0xCA2C757BD778AC36 /* 1146 */ + .quad 0x09D5F47D4D377036, 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D /* 1147 */ + .quad 0x13ABE8FA9A6EE06D, 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB /* 1148 */ + .quad 0x2757D1F534DDC0DB, 0x6295993C439041FE, 0x5163ABDEBBC561B7 /* 1149 */ + .quad 0x4EAFA3EA69BB81B6, 0xC52B3278872083FC, 0xA2C757BD778AC36E /* 1150 */ + .quad 0x9D5F47D4D377036D, 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC /* 1151 */ + .quad 0x3ABE8FA9A6EE06DB, 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9 /* 1152 */ + .quad 0x757D1F534DDC0DB6, 0x295993C439041FE5, 0x163ABDEBBC561B72 /* 1153 */ + .quad 0xEAFA3EA69BB81B6C, 0x52B3278872083FCA, 0x2C757BD778AC36E4 /* 1154 */ + .quad 0xD5F47D4D377036D8, 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9 /* 1155 */ + .quad 0xABE8FA9A6EE06DB1, 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92 /* 1156 */ + .quad 0x57D1F534DDC0DB62, 0x95993C439041FE51, 0x63ABDEBBC561B724 /* 1157 */ + .quad 0xAFA3EA69BB81B6C5, 0x2B3278872083FCA2, 0xC757BD778AC36E48 /* 1158 */ + .quad 0x5F47D4D377036D8A, 0x5664F10E4107F945, 0x8EAF7AEF1586DC91 /* 1159 */ + .quad 0xBE8FA9A6EE06DB14, 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923 /* 1160 */ + .quad 0x7D1F534DDC0DB629, 0x5993C439041FE516, 0x3ABDEBBC561B7246 /* 1161 */ + .quad 0xFA3EA69BB81B6C52, 0xB3278872083FCA2C, 0x757BD778AC36E48D /* 1162 */ + .quad 0xF47D4D377036D8A5, 0x664F10E4107F9458, 0xEAF7AEF1586DC91B /* 1163 */ + .quad 0xE8FA9A6EE06DB14A, 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237 /* 1164 */ + .quad 0xD1F534DDC0DB6295, 0x993C439041FE5163, 0xABDEBBC561B7246E /* 1165 */ + .quad 0xA3EA69BB81B6C52B, 0x3278872083FCA2C7, 0x57BD778AC36E48DC /* 1166 */ + .quad 0x47D4D377036D8A56, 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8 /* 1167 */ + .quad 0x8FA9A6EE06DB14AC, 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371 /* 1168 */ + .quad 0x1F534DDC0DB62959, 0x93C439041FE5163A, 0xBDEBBC561B7246E3 /* 1169 */ + .quad 0x3EA69BB81B6C52B3, 0x278872083FCA2C75, 0x7BD778AC36E48DC7 /* 1170 */ + .quad 0x7D4D377036D8A566, 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E /* 1171 */ + .quad 0xFA9A6EE06DB14ACC, 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D /* 1172 */ + .quad 0xF534DDC0DB629599, 0x3C439041FE5163AB, 0xDEBBC561B7246E3A /* 1173 */ + .quad 0xEA69BB81B6C52B32, 0x78872083FCA2C757, 0xBD778AC36E48DC74 /* 1174 */ + .quad 0xD4D377036D8A5664, 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9 /* 1175 */ + .quad 0xA9A6EE06DB14ACC9, 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2 /* 1176 */ + .quad 0x534DDC0DB6295993, 0xC439041FE5163ABD, 0xEBBC561B7246E3A4 /* 1177 */ + .quad 0xA69BB81B6C52B327, 0x8872083FCA2C757B, 0xD778AC36E48DC748 /* 1178 */ + .quad 0x4D377036D8A5664F, 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90 /* 1179 */ + .quad 0x9A6EE06DB14ACC9E, 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21 /* 1180 */ + .quad 0x34DDC0DB6295993C, 0x439041FE5163ABDE, 0xBBC561B7246E3A42 /* 1181 */ + .quad 0x69BB81B6C52B3278, 0x872083FCA2C757BD, 0x778AC36E48DC7484 /* 1182 */ + .quad 0xD377036D8A5664F1, 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909 /* 1183 */ + .quad 0xA6EE06DB14ACC9E2, 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212 /* 1184 */ + .quad 0x4DDC0DB6295993C4, 0x39041FE5163ABDEB, 0xBC561B7246E3A424 /* 1185 */ + .quad 0x9BB81B6C52B32788, 0x72083FCA2C757BD7, 0x78AC36E48DC74849 /* 1186 */ + .quad 0x377036D8A5664F10, 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093 /* 1187 */ + .quad 0x6EE06DB14ACC9E21, 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126 /* 1188 */ + .quad 0xDDC0DB6295993C43, 0x9041FE5163ABDEBB, 0xC561B7246E3A424D /* 1189 */ + .quad 0xBB81B6C52B327887, 0x2083FCA2C757BD77, 0x8AC36E48DC74849B /* 1190 */ + .quad 0x77036D8A5664F10E, 0x4107F9458EAF7AEF, 0x1586DC91B8E90937 /* 1191 */ + .quad 0xEE06DB14ACC9E21C, 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E /* 1192 */ + .quad 0xDC0DB6295993C439, 0x041FE5163ABDEBBC, 0x561B7246E3A424DD /* 1193 */ + .quad 0xB81B6C52B3278872, 0x083FCA2C757BD778, 0xAC36E48DC74849BA /* 1194 */ + .quad 0x7036D8A5664F10E4, 0x107F9458EAF7AEF1, 0x586DC91B8E909374 /* 1195 */ + .quad 0xE06DB14ACC9E21C8, 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9 /* 1196 */ + .quad 0xC0DB6295993C4390, 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2 /* 1197 */ + .quad 0x81B6C52B32788720, 0x83FCA2C757BD778A, 0xC36E48DC74849BA5 /* 1198 */ + .quad 0x036D8A5664F10E41, 0x07F9458EAF7AEF15, 0x86DC91B8E909374B /* 1199 */ + .quad 0x06DB14ACC9E21C82, 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97 /* 1200 */ + .quad 0x0DB6295993C43904, 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E /* 1201 */ + .quad 0x1B6C52B327887208, 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C /* 1202 */ + .quad 0x36D8A5664F10E410, 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8 /* 1203 */ + .quad 0x6DB14ACC9E21C820, 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970 /* 1204 */ + .quad 0xDB6295993C439041, 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0 /* 1205 */ + .quad 0xB6C52B3278872083, 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0 /* 1206 */ + .quad 0x6D8A5664F10E4107, 0xF9458EAF7AEF1586, 0xDC91B8E909374B80 /* 1207 */ + .quad 0xDB14ACC9E21C820F, 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700 /* 1208 */ + .quad 0xB6295993C439041F, 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00 /* 1209 */ + .quad 0x6C52B3278872083F, 0xCA2C757BD778AC36, 0xE48DC74849BA5C00 /* 1210 */ + .quad 0xD8A5664F10E4107F, 0x9458EAF7AEF1586D, 0xC91B8E909374B801 /* 1211 */ + .quad 0xB14ACC9E21C820FF, 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003 /* 1212 */ + .quad 0x6295993C439041FE, 0x5163ABDEBBC561B7, 0x246E3A424DD2E006 /* 1213 */ + .quad 0xC52B3278872083FC, 0xA2C757BD778AC36E, 0x48DC74849BA5C00C /* 1214 */ + .quad 0x8A5664F10E4107F9, 0x458EAF7AEF1586DC, 0x91B8E909374B8019 /* 1215 */ + .quad 0x14ACC9E21C820FF2, 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032 /* 1216 */ + .quad 0x295993C439041FE5, 0x163ABDEBBC561B72, 0x46E3A424DD2E0064 /* 1217 */ + .quad 0x52B3278872083FCA, 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9 /* 1218 */ + .quad 0xA5664F10E4107F94, 0x58EAF7AEF1586DC9, 0x1B8E909374B80192 /* 1219 */ + .quad 0x4ACC9E21C820FF28, 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324 /* 1220 */ + .quad 0x95993C439041FE51, 0x63ABDEBBC561B724, 0x6E3A424DD2E00649 /* 1221 */ + .quad 0x2B3278872083FCA2, 0xC757BD778AC36E48, 0xDC74849BA5C00C92 /* 1222 */ + .quad 0x5664F10E4107F945, 0x8EAF7AEF1586DC91, 0xB8E909374B801924 /* 1223 */ + .quad 0xACC9E21C820FF28B, 0x1D5EF5DE2B0DB923, 0x71D2126E97003249 /* 1224 */ + .quad 0x5993C439041FE516, 0x3ABDEBBC561B7246, 0xE3A424DD2E006492 /* 1225 */ + .quad 0xB3278872083FCA2C, 0x757BD778AC36E48D, 0xC74849BA5C00C925 /* 1226 */ + .quad 0x664F10E4107F9458, 0xEAF7AEF1586DC91B, 0x8E909374B801924B /* 1227 */ + .quad 0xCC9E21C820FF28B1, 0xD5EF5DE2B0DB9237, 0x1D2126E970032497 /* 1228 */ + .quad 0x993C439041FE5163, 0xABDEBBC561B7246E, 0x3A424DD2E006492E /* 1229 */ + .quad 0x3278872083FCA2C7, 0x57BD778AC36E48DC, 0x74849BA5C00C925D /* 1230 */ + .quad 0x64F10E4107F9458E, 0xAF7AEF1586DC91B8, 0xE909374B801924BB /* 1231 */ + .quad 0xC9E21C820FF28B1D, 0x5EF5DE2B0DB92371, 0xD2126E9700324977 /* 1232 */ + .quad 0x93C439041FE5163A, 0xBDEBBC561B7246E3, 0xA424DD2E006492EE /* 1233 */ + .quad 0x278872083FCA2C75, 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD /* 1234 */ + .quad 0x4F10E4107F9458EA, 0xF7AEF1586DC91B8E, 0x909374B801924BBA /* 1235 */ + .quad 0x9E21C820FF28B1D5, 0xEF5DE2B0DB92371D, 0x2126E97003249775 /* 1236 */ + .quad 0x3C439041FE5163AB, 0xDEBBC561B7246E3A, 0x424DD2E006492EEA /* 1237 */ + .quad 0x78872083FCA2C757, 0xBD778AC36E48DC74, 0x849BA5C00C925DD4 /* 1238 */ + .quad 0xF10E4107F9458EAF, 0x7AEF1586DC91B8E9, 0x09374B801924BBA8 /* 1239 */ + .quad 0xE21C820FF28B1D5E, 0xF5DE2B0DB92371D2, 0x126E970032497750 /* 1240 */ + .quad 0xC439041FE5163ABD, 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0 /* 1241 */ + .quad 0x8872083FCA2C757B, 0xD778AC36E48DC748, 0x49BA5C00C925DD41 /* 1242 */ + .quad 0x10E4107F9458EAF7, 0xAEF1586DC91B8E90, 0x9374B801924BBA82 /* 1243 */ + .quad 0x21C820FF28B1D5EF, 0x5DE2B0DB92371D21, 0x26E9700324977504 /* 1244 */ + .quad 0x439041FE5163ABDE, 0xBBC561B7246E3A42, 0x4DD2E006492EEA09 /* 1245 */ + .quad 0x872083FCA2C757BD, 0x778AC36E48DC7484, 0x9BA5C00C925DD413 /* 1246 */ + .quad 0x0E4107F9458EAF7A, 0xEF1586DC91B8E909, 0x374B801924BBA827 /* 1247 */ + .quad 0x1C820FF28B1D5EF5, 0xDE2B0DB92371D212, 0x6E9700324977504E /* 1248 */ + .quad 0x39041FE5163ABDEB, 0xBC561B7246E3A424, 0xDD2E006492EEA09D /* 1249 */ + .quad 0x72083FCA2C757BD7, 0x78AC36E48DC74849, 0xBA5C00C925DD413A /* 1250 */ + .quad 0xE4107F9458EAF7AE, 0xF1586DC91B8E9093, 0x74B801924BBA8274 /* 1251 */ + .quad 0xC820FF28B1D5EF5D, 0xE2B0DB92371D2126, 0xE9700324977504E8 /* 1252 */ + .quad 0x9041FE5163ABDEBB, 0xC561B7246E3A424D, 0xD2E006492EEA09D1 /* 1253 */ + .quad 0x2083FCA2C757BD77, 0x8AC36E48DC74849B, 0xA5C00C925DD413A3 /* 1254 */ + .quad 0x4107F9458EAF7AEF, 0x1586DC91B8E90937, 0x4B801924BBA82746 /* 1255 */ + .quad 0x820FF28B1D5EF5DE, 0x2B0DB92371D2126E, 0x9700324977504E8C /* 1256 */ + .quad 0x041FE5163ABDEBBC, 0x561B7246E3A424DD, 0x2E006492EEA09D19 /* 1257 */ + .quad 0x083FCA2C757BD778, 0xAC36E48DC74849BA, 0x5C00C925DD413A32 /* 1258 */ + .quad 0x107F9458EAF7AEF1, 0x586DC91B8E909374, 0xB801924BBA827464 /* 1259 */ + .quad 0x20FF28B1D5EF5DE2, 0xB0DB92371D2126E9, 0x700324977504E8C9 /* 1260 */ + .quad 0x41FE5163ABDEBBC5, 0x61B7246E3A424DD2, 0xE006492EEA09D192 /* 1261 */ + .quad 0x83FCA2C757BD778A, 0xC36E48DC74849BA5, 0xC00C925DD413A324 /* 1262 */ + .quad 0x07F9458EAF7AEF15, 0x86DC91B8E909374B, 0x801924BBA8274648 /* 1263 */ + .quad 0x0FF28B1D5EF5DE2B, 0x0DB92371D2126E97, 0x00324977504E8C90 /* 1264 */ + .quad 0x1FE5163ABDEBBC56, 0x1B7246E3A424DD2E, 0x006492EEA09D1921 /* 1265 */ + .quad 0x3FCA2C757BD778AC, 0x36E48DC74849BA5C, 0x00C925DD413A3243 /* 1266 */ + .quad 0x7F9458EAF7AEF158, 0x6DC91B8E909374B8, 0x01924BBA82746487 /* 1267 */ + .quad 0xFF28B1D5EF5DE2B0, 0xDB92371D2126E970, 0x0324977504E8C90E /* 1268 */ + .quad 0xFE5163ABDEBBC561, 0xB7246E3A424DD2E0, 0x06492EEA09D1921C /* 1269 */ + .quad 0xFCA2C757BD778AC3, 0x6E48DC74849BA5C0, 0x0C925DD413A32439 /* 1270 */ + .quad 0xF9458EAF7AEF1586, 0xDC91B8E909374B80, 0x1924BBA827464873 /* 1271 */ + .quad 0xF28B1D5EF5DE2B0D, 0xB92371D2126E9700, 0x324977504E8C90E7 /* 1272 */ + .quad 0xE5163ABDEBBC561B, 0x7246E3A424DD2E00, 0x6492EEA09D1921CF /* 1273 */ + .quad 0xCA2C757BD778AC36, 0xE48DC74849BA5C00, 0xC925DD413A32439F /* 1274 */ + .quad 0x9458EAF7AEF1586D, 0xC91B8E909374B801, 0x924BBA827464873F /* 1275 */ + .quad 0x28B1D5EF5DE2B0DB, 0x92371D2126E97003, 0x24977504E8C90E7F /* 1276 */ + .quad 0x5163ABDEBBC561B7, 0x246E3A424DD2E006, 0x492EEA09D1921CFE /* 1277 */ + .quad 0xA2C757BD778AC36E, 0x48DC74849BA5C00C, 0x925DD413A32439FC /* 1278 */ + .quad 0x458EAF7AEF1586DC, 0x91B8E909374B8019, 0x24BBA827464873F8 /* 1279 */ + .quad 0x8B1D5EF5DE2B0DB9, 0x2371D2126E970032, 0x4977504E8C90E7F0 /* 1280 */ + .quad 0x163ABDEBBC561B72, 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1 /* 1281 */ + .quad 0x2C757BD778AC36E4, 0x8DC74849BA5C00C9, 0x25DD413A32439FC3 /* 1282 */ + .quad 0x58EAF7AEF1586DC9, 0x1B8E909374B80192, 0x4BBA827464873F87 /* 1283 */ + .quad 0xB1D5EF5DE2B0DB92, 0x371D2126E9700324, 0x977504E8C90E7F0E /* 1284 */ + .quad 0x63ABDEBBC561B724, 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D /* 1285 */ + .quad 0xC757BD778AC36E48, 0xDC74849BA5C00C92, 0x5DD413A32439FC3B /* 1286 */ + .quad 0x8EAF7AEF1586DC91, 0xB8E909374B801924, 0xBBA827464873F877 /* 1287 */ + .quad 0x1D5EF5DE2B0DB923, 0x71D2126E97003249, 0x77504E8C90E7F0EF /* 1288 */ + .quad 0x3ABDEBBC561B7246, 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE /* 1289 */ + .quad 0x757BD778AC36E48D, 0xC74849BA5C00C925, 0xDD413A32439FC3BD /* 1290 */ + .quad 0xEAF7AEF1586DC91B, 0x8E909374B801924B, 0xBA827464873F877A /* 1291 */ + .quad 0xD5EF5DE2B0DB9237, 0x1D2126E970032497, 0x7504E8C90E7F0EF5 /* 1292 */ + .quad 0xABDEBBC561B7246E, 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB /* 1293 */ + .quad 0x57BD778AC36E48DC, 0x74849BA5C00C925D, 0xD413A32439FC3BD6 /* 1294 */ + .quad 0xAF7AEF1586DC91B8, 0xE909374B801924BB, 0xA827464873F877AC /* 1295 */ + .quad 0x5EF5DE2B0DB92371, 0xD2126E9700324977, 0x504E8C90E7F0EF58 /* 1296 */ + .quad 0xBDEBBC561B7246E3, 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1 /* 1297 */ + .quad 0x7BD778AC36E48DC7, 0x4849BA5C00C925DD, 0x413A32439FC3BD63 /* 1298 */ + .quad 0xF7AEF1586DC91B8E, 0x909374B801924BBA, 0x827464873F877AC7 /* 1299 */ + .quad 0xEF5DE2B0DB92371D, 0x2126E97003249775, 0x04E8C90E7F0EF58E /* 1300 */ + .quad 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C /* 1301 */ + .quad 0xBD778AC36E48DC74, 0x849BA5C00C925DD4, 0x13A32439FC3BD639 /* 1302 */ + .quad 0x7AEF1586DC91B8E9, 0x09374B801924BBA8, 0x27464873F877AC72 /* 1303 */ + .quad 0xF5DE2B0DB92371D2, 0x126E970032497750, 0x4E8C90E7F0EF58E5 /* 1304 */ + .quad 0xEBBC561B7246E3A4, 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB /* 1305 */ + .quad 0xD778AC36E48DC748, 0x49BA5C00C925DD41, 0x3A32439FC3BD6396 /* 1306 */ + .quad 0xAEF1586DC91B8E90, 0x9374B801924BBA82, 0x7464873F877AC72C /* 1307 */ + .quad 0x5DE2B0DB92371D21, 0x26E9700324977504, 0xE8C90E7F0EF58E58 /* 1308 */ + .quad 0xBBC561B7246E3A42, 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1 /* 1309 */ + .quad 0x778AC36E48DC7484, 0x9BA5C00C925DD413, 0xA32439FC3BD63962 /* 1310 */ + .quad 0xEF1586DC91B8E909, 0x374B801924BBA827, 0x464873F877AC72C4 /* 1311 */ + .quad 0xDE2B0DB92371D212, 0x6E9700324977504E, 0x8C90E7F0EF58E589 /* 1312 */ + .quad 0xBC561B7246E3A424, 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12 /* 1313 */ + .quad 0x78AC36E48DC74849, 0xBA5C00C925DD413A, 0x32439FC3BD639625 /* 1314 */ + .quad 0xF1586DC91B8E9093, 0x74B801924BBA8274, 0x64873F877AC72C4A /* 1315 */ + .quad 0xE2B0DB92371D2126, 0xE9700324977504E8, 0xC90E7F0EF58E5894 /* 1316 */ + .quad 0xC561B7246E3A424D, 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129 /* 1317 */ + .quad 0x8AC36E48DC74849B, 0xA5C00C925DD413A3, 0x2439FC3BD6396253 /* 1318 */ + .quad 0x1586DC91B8E90937, 0x4B801924BBA82746, 0x4873F877AC72C4A6 /* 1319 */ + .quad 0x2B0DB92371D2126E, 0x9700324977504E8C, 0x90E7F0EF58E5894D /* 1320 */ + .quad 0x561B7246E3A424DD, 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A /* 1321 */ + .quad 0xAC36E48DC74849BA, 0x5C00C925DD413A32, 0x439FC3BD63962534 /* 1322 */ + .quad 0x586DC91B8E909374, 0xB801924BBA827464, 0x873F877AC72C4A69 /* 1323 */ + .quad 0xB0DB92371D2126E9, 0x700324977504E8C9, 0x0E7F0EF58E5894D3 /* 1324 */ + .quad 0x61B7246E3A424DD2, 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7 /* 1325 */ + .quad 0xC36E48DC74849BA5, 0xC00C925DD413A324, 0x39FC3BD63962534E /* 1326 */ + .quad 0x86DC91B8E909374B, 0x801924BBA8274648, 0x73F877AC72C4A69C /* 1327 */ + .quad 0x0DB92371D2126E97, 0x00324977504E8C90, 0xE7F0EF58E5894D39 /* 1328 */ + .quad 0x1B7246E3A424DD2E, 0x006492EEA09D1921, 0xCFE1DEB1CB129A73 /* 1329 */ + .quad 0x36E48DC74849BA5C, 0x00C925DD413A3243, 0x9FC3BD63962534E7 /* 1330 */ + .quad 0x6DC91B8E909374B8, 0x01924BBA82746487, 0x3F877AC72C4A69CF /* 1331 */ + .quad 0xDB92371D2126E970, 0x0324977504E8C90E, 0x7F0EF58E5894D39F /* 1332 */ + .quad 0xB7246E3A424DD2E0, 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E /* 1333 */ + .quad 0x6E48DC74849BA5C0, 0x0C925DD413A32439, 0xFC3BD63962534E7D /* 1334 */ + .quad 0xDC91B8E909374B80, 0x1924BBA827464873, 0xF877AC72C4A69CFB /* 1335 */ + .quad 0xB92371D2126E9700, 0x324977504E8C90E7, 0xF0EF58E5894D39F7 /* 1336 */ + .quad 0x7246E3A424DD2E00, 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE /* 1337 */ + .quad 0xE48DC74849BA5C00, 0xC925DD413A32439F, 0xC3BD63962534E7DD /* 1338 */ + .quad 0xC91B8E909374B801, 0x924BBA827464873F, 0x877AC72C4A69CFBA /* 1339 */ + .quad 0x92371D2126E97003, 0x24977504E8C90E7F, 0x0EF58E5894D39F74 /* 1340 */ + .quad 0x246E3A424DD2E006, 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8 /* 1341 */ + .quad 0x48DC74849BA5C00C, 0x925DD413A32439FC, 0x3BD63962534E7DD1 /* 1342 */ + .quad 0x91B8E909374B8019, 0x24BBA827464873F8, 0x77AC72C4A69CFBA2 /* 1343 */ + .quad 0x2371D2126E970032, 0x4977504E8C90E7F0, 0xEF58E5894D39F744 /* 1344 */ + .quad 0x46E3A424DD2E0064, 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88 /* 1345 */ + .quad 0x8DC74849BA5C00C9, 0x25DD413A32439FC3, 0xBD63962534E7DD10 /* 1346 */ + .quad 0x1B8E909374B80192, 0x4BBA827464873F87, 0x7AC72C4A69CFBA20 /* 1347 */ + .quad 0x371D2126E9700324, 0x977504E8C90E7F0E, 0xF58E5894D39F7441 /* 1348 */ + .quad 0x6E3A424DD2E00649, 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882 /* 1349 */ + .quad 0xDC74849BA5C00C92, 0x5DD413A32439FC3B, 0xD63962534E7DD104 /* 1350 */ + .quad 0xB8E909374B801924, 0xBBA827464873F877, 0xAC72C4A69CFBA208 /* 1351 */ + .quad 0x71D2126E97003249, 0x77504E8C90E7F0EF, 0x58E5894D39F74411 /* 1352 */ + .quad 0xE3A424DD2E006492, 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823 /* 1353 */ + .quad 0xC74849BA5C00C925, 0xDD413A32439FC3BD, 0x63962534E7DD1046 /* 1354 */ + .quad 0x8E909374B801924B, 0xBA827464873F877A, 0xC72C4A69CFBA208D /* 1355 */ + .quad 0x1D2126E970032497, 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A /* 1356 */ + .quad 0x3A424DD2E006492E, 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235 /* 1357 */ + .quad 0x74849BA5C00C925D, 0xD413A32439FC3BD6, 0x3962534E7DD1046B /* 1358 */ + .quad 0xE909374B801924BB, 0xA827464873F877AC, 0x72C4A69CFBA208D7 /* 1359 */ + .quad 0xD2126E9700324977, 0x504E8C90E7F0EF58, 0xE5894D39F74411AF /* 1360 */ + .quad 0xA424DD2E006492EE, 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F /* 1361 */ + .quad 0x4849BA5C00C925DD, 0x413A32439FC3BD63, 0x962534E7DD1046BE /* 1362 */ + .quad 0x909374B801924BBA, 0x827464873F877AC7, 0x2C4A69CFBA208D7D /* 1363 */ + .quad 0x2126E97003249775, 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA /* 1364 */ + .quad 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5 /* 1365 */ + .quad 0x849BA5C00C925DD4, 0x13A32439FC3BD639, 0x62534E7DD1046BEA /* 1366 */ + .quad 0x09374B801924BBA8, 0x27464873F877AC72, 0xC4A69CFBA208D7D4 /* 1367 */ + .quad 0x126E970032497750, 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9 /* 1368 */ + .quad 0x24DD2E006492EEA0, 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52 /* 1369 */ + .quad 0x49BA5C00C925DD41, 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5 /* 1370 */ + .quad 0x9374B801924BBA82, 0x7464873F877AC72C, 0x4A69CFBA208D7D4B /* 1371 */ + .quad 0x26E9700324977504, 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97 /* 1372 */ + .quad 0x4DD2E006492EEA09, 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E /* 1373 */ + .quad 0x9BA5C00C925DD413, 0xA32439FC3BD63962, 0x534E7DD1046BEA5D /* 1374 */ + .quad 0x374B801924BBA827, 0x464873F877AC72C4, 0xA69CFBA208D7D4BA /* 1375 */ + .quad 0x6E9700324977504E, 0x8C90E7F0EF58E589, 0x4D39F74411AFA975 /* 1376 */ + .quad 0xDD2E006492EEA09D, 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB /* 1377 */ + .quad 0xBA5C00C925DD413A, 0x32439FC3BD639625, 0x34E7DD1046BEA5D7 /* 1378 */ + .quad 0x74B801924BBA8274, 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE /* 1379 */ + .quad 0xE9700324977504E8, 0xC90E7F0EF58E5894, 0xD39F74411AFA975D /* 1380 */ + .quad 0xD2E006492EEA09D1, 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB /* 1381 */ + .quad 0xA5C00C925DD413A3, 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76 /* 1382 */ + .quad 0x4B801924BBA82746, 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED /* 1383 */ + .quad 0x9700324977504E8C, 0x90E7F0EF58E5894D, 0x39F74411AFA975DA /* 1384 */ + .quad 0x2E006492EEA09D19, 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4 /* 1385 */ + .quad 0x5C00C925DD413A32, 0x439FC3BD63962534, 0xE7DD1046BEA5D768 /* 1386 */ + .quad 0xB801924BBA827464, 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1 /* 1387 */ + .quad 0x700324977504E8C9, 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2 /* 1388 */ + .quad 0xE006492EEA09D192, 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44 /* 1389 */ + .quad 0xC00C925DD413A324, 0x39FC3BD63962534E, 0x7DD1046BEA5D7689 /* 1390 */ + .quad 0x801924BBA8274648, 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12 /* 1391 */ + .quad 0x00324977504E8C90, 0xE7F0EF58E5894D39, 0xF74411AFA975DA24 /* 1392 */ + .quad 0x006492EEA09D1921, 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448 /* 1393 */ + .quad 0x00C925DD413A3243, 0x9FC3BD63962534E7, 0xDD1046BEA5D76890 /* 1394 */ + .quad 0x01924BBA82746487, 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121 /* 1395 */ + .quad 0x0324977504E8C90E, 0x7F0EF58E5894D39F, 0x74411AFA975DA242 /* 1396 */ + .quad 0x06492EEA09D1921C, 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484 /* 1397 */ + .quad 0x0C925DD413A32439, 0xFC3BD63962534E7D, 0xD1046BEA5D768909 /* 1398 */ + .quad 0x1924BBA827464873, 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213 /* 1399 */ + .quad 0x324977504E8C90E7, 0xF0EF58E5894D39F7, 0x4411AFA975DA2427 /* 1400 */ + .quad 0x6492EEA09D1921CF, 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E /* 1401 */ + .quad 0xC925DD413A32439F, 0xC3BD63962534E7DD, 0x1046BEA5D768909D /* 1402 */ + .quad 0x924BBA827464873F, 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A /* 1403 */ + .quad 0x24977504E8C90E7F, 0x0EF58E5894D39F74, 0x411AFA975DA24274 /* 1404 */ + .quad 0x492EEA09D1921CFE, 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9 /* 1405 */ + .quad 0x925DD413A32439FC, 0x3BD63962534E7DD1, 0x046BEA5D768909D3 /* 1406 */ + .quad 0x24BBA827464873F8, 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6 /* 1407 */ + .quad 0x4977504E8C90E7F0, 0xEF58E5894D39F744, 0x11AFA975DA24274C /* 1408 */ + .quad 0x92EEA09D1921CFE1, 0xDEB1CB129A73EE88, 0x235F52EBB4484E99 /* 1409 */ + .quad 0x25DD413A32439FC3, 0xBD63962534E7DD10, 0x46BEA5D768909D33 /* 1410 */ + .quad 0x4BBA827464873F87, 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67 /* 1411 */ + .quad 0x977504E8C90E7F0E, 0xF58E5894D39F7441, 0x1AFA975DA24274CE /* 1412 */ + .quad 0x2EEA09D1921CFE1D, 0xEB1CB129A73EE882, 0x35F52EBB4484E99C /* 1413 */ + .quad 0x5DD413A32439FC3B, 0xD63962534E7DD104, 0x6BEA5D768909D338 /* 1414 */ + .quad 0xBBA827464873F877, 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671 /* 1415 */ + .quad 0x77504E8C90E7F0EF, 0x58E5894D39F74411, 0xAFA975DA24274CE3 /* 1416 */ + .quad 0xEEA09D1921CFE1DE, 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7 /* 1417 */ + .quad 0xDD413A32439FC3BD, 0x63962534E7DD1046, 0xBEA5D768909D338E /* 1418 */ + .quad 0xBA827464873F877A, 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C /* 1419 */ + .quad 0x7504E8C90E7F0EF5, 0x8E5894D39F74411A, 0xFA975DA24274CE38 /* 1420 */ + .quad 0xEA09D1921CFE1DEB, 0x1CB129A73EE88235, 0xF52EBB4484E99C70 /* 1421 */ + .quad 0xD413A32439FC3BD6, 0x3962534E7DD1046B, 0xEA5D768909D338E0 /* 1422 */ + .quad 0xA827464873F877AC, 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0 /* 1423 */ + .quad 0x504E8C90E7F0EF58, 0xE5894D39F74411AF, 0xA975DA24274CE381 /* 1424 */ + .quad 0xA09D1921CFE1DEB1, 0xCB129A73EE88235F, 0x52EBB4484E99C702 /* 1425 */ + .quad 0x413A32439FC3BD63, 0x962534E7DD1046BE, 0xA5D768909D338E04 /* 1426 */ + .quad 0x827464873F877AC7, 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09 /* 1427 */ + .quad 0x04E8C90E7F0EF58E, 0x5894D39F74411AFA, 0x975DA24274CE3813 /* 1428 */ + .quad 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, 0x2EBB4484E99C7026 /* 1429 */ + .quad 0x13A32439FC3BD639, 0x62534E7DD1046BEA, 0x5D768909D338E04D /* 1430 */ + .quad 0x27464873F877AC72, 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A /* 1431 */ + .quad 0x4E8C90E7F0EF58E5, 0x894D39F74411AFA9, 0x75DA24274CE38135 /* 1432 */ + .quad 0x9D1921CFE1DEB1CB, 0x129A73EE88235F52, 0xEBB4484E99C7026B /* 1433 */ + .quad 0x3A32439FC3BD6396, 0x2534E7DD1046BEA5, 0xD768909D338E04D6 /* 1434 */ + .quad 0x7464873F877AC72C, 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD /* 1435 */ + .quad 0xE8C90E7F0EF58E58, 0x94D39F74411AFA97, 0x5DA24274CE38135A /* 1436 */ + .quad 0xD1921CFE1DEB1CB1, 0x29A73EE88235F52E, 0xBB4484E99C7026B4 /* 1437 */ + .quad 0xA32439FC3BD63962, 0x534E7DD1046BEA5D, 0x768909D338E04D68 /* 1438 */ + .quad 0x464873F877AC72C4, 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1 /* 1439 */ + .quad 0x8C90E7F0EF58E589, 0x4D39F74411AFA975, 0xDA24274CE38135A2 /* 1440 */ + .quad 0x1921CFE1DEB1CB12, 0x9A73EE88235F52EB, 0xB4484E99C7026B45 /* 1441 */ + .quad 0x32439FC3BD639625, 0x34E7DD1046BEA5D7, 0x68909D338E04D68B /* 1442 */ + .quad 0x64873F877AC72C4A, 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17 /* 1443 */ + .quad 0xC90E7F0EF58E5894, 0xD39F74411AFA975D, 0xA24274CE38135A2F /* 1444 */ + .quad 0x921CFE1DEB1CB129, 0xA73EE88235F52EBB, 0x4484E99C7026B45F /* 1445 */ + .quad 0x2439FC3BD6396253, 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE /* 1446 */ + .quad 0x4873F877AC72C4A6, 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D /* 1447 */ + .quad 0x90E7F0EF58E5894D, 0x39F74411AFA975DA, 0x24274CE38135A2FB /* 1448 */ + .quad 0x21CFE1DEB1CB129A, 0x73EE88235F52EBB4, 0x484E99C7026B45F7 /* 1449 */ + .quad 0x439FC3BD63962534, 0xE7DD1046BEA5D768, 0x909D338E04D68BEF /* 1450 */ + .quad 0x873F877AC72C4A69, 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF /* 1451 */ + .quad 0x0E7F0EF58E5894D3, 0x9F74411AFA975DA2, 0x4274CE38135A2FBF /* 1452 */ + .quad 0x1CFE1DEB1CB129A7, 0x3EE88235F52EBB44, 0x84E99C7026B45F7E /* 1453 */ + .quad 0x39FC3BD63962534E, 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC /* 1454 */ + .quad 0x73F877AC72C4A69C, 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9 /* 1455 */ + .quad 0xE7F0EF58E5894D39, 0xF74411AFA975DA24, 0x274CE38135A2FBF2 /* 1456 */ + .quad 0xCFE1DEB1CB129A73, 0xEE88235F52EBB448, 0x4E99C7026B45F7E4 /* 1457 */ + .quad 0x9FC3BD63962534E7, 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8 /* 1458 */ + .quad 0x3F877AC72C4A69CF, 0xBA208D7D4BAED121, 0x3A671C09AD17DF90 /* 1459 */ + .quad 0x7F0EF58E5894D39F, 0x74411AFA975DA242, 0x74CE38135A2FBF20 /* 1460 */ + .quad 0xFE1DEB1CB129A73E, 0xE88235F52EBB4484, 0xE99C7026B45F7E41 /* 1461 */ + .quad 0xFC3BD63962534E7D, 0xD1046BEA5D768909, 0xD338E04D68BEFC82 /* 1462 */ + .quad 0xF877AC72C4A69CFB, 0xA208D7D4BAED1213, 0xA671C09AD17DF904 /* 1463 */ + .quad 0xF0EF58E5894D39F7, 0x4411AFA975DA2427, 0x4CE38135A2FBF209 /* 1464 */ + .quad 0xE1DEB1CB129A73EE, 0x88235F52EBB4484E, 0x99C7026B45F7E413 /* 1465 */ + .quad 0xC3BD63962534E7DD, 0x1046BEA5D768909D, 0x338E04D68BEFC827 /* 1466 */ + .quad 0x877AC72C4A69CFBA, 0x208D7D4BAED1213A, 0x671C09AD17DF904E /* 1467 */ + .quad 0x0EF58E5894D39F74, 0x411AFA975DA24274, 0xCE38135A2FBF209C /* 1468 */ + .quad 0x1DEB1CB129A73EE8, 0x8235F52EBB4484E9, 0x9C7026B45F7E4139 /* 1469 */ + .quad 0x3BD63962534E7DD1, 0x046BEA5D768909D3, 0x38E04D68BEFC8273 /* 1470 */ + .quad 0x77AC72C4A69CFBA2, 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6 /* 1471 */ + .quad 0xEF58E5894D39F744, 0x11AFA975DA24274C, 0xE38135A2FBF209CC /* 1472 */ + .quad 0xDEB1CB129A73EE88, 0x235F52EBB4484E99, 0xC7026B45F7E41399 /* 1473 */ + .quad 0xBD63962534E7DD10, 0x46BEA5D768909D33, 0x8E04D68BEFC82732 /* 1474 */ + .quad 0x7AC72C4A69CFBA20, 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64 /* 1475 */ + .quad 0xF58E5894D39F7441, 0x1AFA975DA24274CE, 0x38135A2FBF209CC8 /* 1476 */ + .quad 0xEB1CB129A73EE882, 0x35F52EBB4484E99C, 0x7026B45F7E413991 /* 1477 */ + .quad 0xD63962534E7DD104, 0x6BEA5D768909D338, 0xE04D68BEFC827323 /* 1478 */ + .quad 0xAC72C4A69CFBA208, 0xD7D4BAED1213A671, 0xC09AD17DF904E647 /* 1479 */ + .quad 0x58E5894D39F74411, 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E /* 1480 */ + .quad 0xB1CB129A73EE8823, 0x5F52EBB4484E99C7, 0x026B45F7E413991D /* 1481 */ + .quad 0x63962534E7DD1046, 0xBEA5D768909D338E, 0x04D68BEFC827323A /* 1482 */ + .quad 0xC72C4A69CFBA208D, 0x7D4BAED1213A671C, 0x09AD17DF904E6475 /* 1483 */ + .quad 0x8E5894D39F74411A, 0xFA975DA24274CE38, 0x135A2FBF209CC8EB /* 1484 */ + .quad 0x1CB129A73EE88235, 0xF52EBB4484E99C70, 0x26B45F7E413991D6 /* 1485 */ + .quad 0x3962534E7DD1046B, 0xEA5D768909D338E0, 0x4D68BEFC827323AC /* 1486 */ + .quad 0x72C4A69CFBA208D7, 0xD4BAED1213A671C0, 0x9AD17DF904E64758 /* 1487 */ + .quad 0xE5894D39F74411AF, 0xA975DA24274CE381, 0x35A2FBF209CC8EB1 /* 1488 */ + .quad 0xCB129A73EE88235F, 0x52EBB4484E99C702, 0x6B45F7E413991D63 /* 1489 */ + .quad 0x962534E7DD1046BE, 0xA5D768909D338E04, 0xD68BEFC827323AC7 /* 1490 */ + .quad 0x2C4A69CFBA208D7D, 0x4BAED1213A671C09, 0xAD17DF904E64758E /* 1491 */ + .quad 0x5894D39F74411AFA, 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C /* 1492 */ + .quad 0xB129A73EE88235F5, 0x2EBB4484E99C7026, 0xB45F7E413991D639 /* 1493 */ + .quad 0x62534E7DD1046BEA, 0x5D768909D338E04D, 0x68BEFC827323AC73 /* 1494 */ + .quad 0xC4A69CFBA208D7D4, 0xBAED1213A671C09A, 0xD17DF904E64758E6 /* 1495 */ + .quad 0x894D39F74411AFA9, 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC /* 1496 */ + .quad 0x129A73EE88235F52, 0xEBB4484E99C7026B, 0x45F7E413991D6398 /* 1497 */ + .quad 0x2534E7DD1046BEA5, 0xD768909D338E04D6, 0x8BEFC827323AC730 /* 1498 */ + .quad 0x4A69CFBA208D7D4B, 0xAED1213A671C09AD, 0x17DF904E64758E60 /* 1499 */ + .quad 0x94D39F74411AFA97, 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1 /* 1500 */ + .quad 0x29A73EE88235F52E, 0xBB4484E99C7026B4, 0x5F7E413991D63983 /* 1501 */ + .quad 0x534E7DD1046BEA5D, 0x768909D338E04D68, 0xBEFC827323AC7306 /* 1502 */ + .quad 0xA69CFBA208D7D4BA, 0xED1213A671C09AD1, 0x7DF904E64758E60D /* 1503 */ + .quad 0x4D39F74411AFA975, 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A /* 1504 */ + .quad 0x9A73EE88235F52EB, 0xB4484E99C7026B45, 0xF7E413991D639835 /* 1505 */ + .quad 0x34E7DD1046BEA5D7, 0x68909D338E04D68B, 0xEFC827323AC7306A /* 1506 */ + .quad 0x69CFBA208D7D4BAE, 0xD1213A671C09AD17, 0xDF904E64758E60D4 /* 1507 */ + .quad 0xD39F74411AFA975D, 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9 /* 1508 */ + .quad 0xA73EE88235F52EBB, 0x4484E99C7026B45F, 0x7E413991D6398353 /* 1509 */ + .quad 0x4E7DD1046BEA5D76, 0x8909D338E04D68BE, 0xFC827323AC7306A6 /* 1510 */ + .quad 0x9CFBA208D7D4BAED, 0x1213A671C09AD17D, 0xF904E64758E60D4C /* 1511 */ + .quad 0x39F74411AFA975DA, 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99 /* 1512 */ + .quad 0x73EE88235F52EBB4, 0x484E99C7026B45F7, 0xE413991D63983533 /* 1513 */ + .quad 0xE7DD1046BEA5D768, 0x909D338E04D68BEF, 0xC827323AC7306A67 /* 1514 */ + .quad 0xCFBA208D7D4BAED1, 0x213A671C09AD17DF, 0x904E64758E60D4CE /* 1515 */ + .quad 0x9F74411AFA975DA2, 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C /* 1516 */ + .quad 0x3EE88235F52EBB44, 0x84E99C7026B45F7E, 0x413991D639835339 /* 1517 */ + .quad 0x7DD1046BEA5D7689, 0x09D338E04D68BEFC, 0x827323AC7306A673 /* 1518 */ + .quad 0xFBA208D7D4BAED12, 0x13A671C09AD17DF9, 0x04E64758E60D4CE7 /* 1519 */ + .quad 0xF74411AFA975DA24, 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF /* 1520 */ + .quad 0xEE88235F52EBB448, 0x4E99C7026B45F7E4, 0x13991D639835339F /* 1521 */ + .quad 0xDD1046BEA5D76890, 0x9D338E04D68BEFC8, 0x27323AC7306A673E /* 1522 */ + .quad 0xBA208D7D4BAED121, 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D /* 1523 */ + .quad 0x74411AFA975DA242, 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA /* 1524 */ + .quad 0xE88235F52EBB4484, 0xE99C7026B45F7E41, 0x3991D639835339F4 /* 1525 */ + .quad 0xD1046BEA5D768909, 0xD338E04D68BEFC82, 0x7323AC7306A673E9 /* 1526 */ + .quad 0xA208D7D4BAED1213, 0xA671C09AD17DF904, 0xE64758E60D4CE7D2 /* 1527 */ + .quad 0x4411AFA975DA2427, 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4 /* 1528 */ + .quad 0x88235F52EBB4484E, 0x99C7026B45F7E413, 0x991D639835339F49 /* 1529 */ + .quad 0x1046BEA5D768909D, 0x338E04D68BEFC827, 0x323AC7306A673E93 /* 1530 */ + .quad 0x208D7D4BAED1213A, 0x671C09AD17DF904E, 0x64758E60D4CE7D27 /* 1531 */ + .quad 0x411AFA975DA24274, 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E /* 1532 */ + .quad 0x8235F52EBB4484E9, 0x9C7026B45F7E4139, 0x91D639835339F49C /* 1533 */ + .quad 0x046BEA5D768909D3, 0x38E04D68BEFC8273, 0x23AC7306A673E939 /* 1534 */ + .quad 0x08D7D4BAED1213A6, 0x71C09AD17DF904E6, 0x4758E60D4CE7D272 /* 1535 */ + .quad 0x11AFA975DA24274C, 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4 /* 1536 */ + .quad 0x235F52EBB4484E99, 0xC7026B45F7E41399, 0x1D639835339F49C8 /* 1537 */ + .quad 0x46BEA5D768909D33, 0x8E04D68BEFC82732, 0x3AC7306A673E9390 /* 1538 */ + .quad 0x8D7D4BAED1213A67, 0x1C09AD17DF904E64, 0x758E60D4CE7D2721 /* 1539 */ + .quad 0x1AFA975DA24274CE, 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42 /* 1540 */ + .quad 0x35F52EBB4484E99C, 0x7026B45F7E413991, 0xD639835339F49C84 /* 1541 */ + .quad 0x6BEA5D768909D338, 0xE04D68BEFC827323, 0xAC7306A673E93908 /* 1542 */ + .quad 0xD7D4BAED1213A671, 0xC09AD17DF904E647, 0x58E60D4CE7D27211 /* 1543 */ + .quad 0xAFA975DA24274CE3, 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422 /* 1544 */ + .quad 0x5F52EBB4484E99C7, 0x026B45F7E413991D, 0x639835339F49C845 /* 1545 */ + .quad 0xBEA5D768909D338E, 0x04D68BEFC827323A, 0xC7306A673E93908B /* 1546 */ + .quad 0x7D4BAED1213A671C, 0x09AD17DF904E6475, 0x8E60D4CE7D272117 /* 1547 */ + .quad 0xFA975DA24274CE38, 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F /* 1548 */ + .quad 0xF52EBB4484E99C70, 0x26B45F7E413991D6, 0x39835339F49C845F /* 1549 */ + .quad 0xEA5D768909D338E0, 0x4D68BEFC827323AC, 0x7306A673E93908BF /* 1550 */ + .quad 0xD4BAED1213A671C0, 0x9AD17DF904E64758, 0xE60D4CE7D272117E /* 1551 */ + .quad 0xA975DA24274CE381, 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC /* 1552 */ + .quad 0x52EBB4484E99C702, 0x6B45F7E413991D63, 0x9835339F49C845F8 /* 1553 */ + .quad 0xA5D768909D338E04, 0xD68BEFC827323AC7, 0x306A673E93908BF1 /* 1554 */ + .quad 0x4BAED1213A671C09, 0xAD17DF904E64758E, 0x60D4CE7D272117E2 /* 1555 */ + .quad 0x975DA24274CE3813, 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5 /* 1556 */ + .quad 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B /* 1557 */ + .quad 0x5D768909D338E04D, 0x68BEFC827323AC73, 0x06A673E93908BF17 /* 1558 */ + .quad 0xBAED1213A671C09A, 0xD17DF904E64758E6, 0x0D4CE7D272117E2E /* 1559 */ + .quad 0x75DA24274CE38135, 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D /* 1560 */ + .quad 0xEBB4484E99C7026B, 0x45F7E413991D6398, 0x35339F49C845F8BB /* 1561 */ + .quad 0xD768909D338E04D6, 0x8BEFC827323AC730, 0x6A673E93908BF177 /* 1562 */ + .quad 0xAED1213A671C09AD, 0x17DF904E64758E60, 0xD4CE7D272117E2EF /* 1563 */ + .quad 0x5DA24274CE38135A, 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE /* 1564 */ + .quad 0xBB4484E99C7026B4, 0x5F7E413991D63983, 0x5339F49C845F8BBD /* 1565 */ + .quad 0x768909D338E04D68, 0xBEFC827323AC7306, 0xA673E93908BF177B /* 1566 */ + .quad 0xED1213A671C09AD1, 0x7DF904E64758E60D, 0x4CE7D272117E2EF7 /* 1567 */ + .quad 0xDA24274CE38135A2, 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF /* 1568 */ + .quad 0xB4484E99C7026B45, 0xF7E413991D639835, 0x339F49C845F8BBDF /* 1569 */ + .quad 0x68909D338E04D68B, 0xEFC827323AC7306A, 0x673E93908BF177BF /* 1570 */ + .quad 0xD1213A671C09AD17, 0xDF904E64758E60D4, 0xCE7D272117E2EF7E /* 1571 */ + .quad 0xA24274CE38135A2F, 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC /* 1572 */ + .quad 0x4484E99C7026B45F, 0x7E413991D6398353, 0x39F49C845F8BBDF9 /* 1573 */ + .quad 0x8909D338E04D68BE, 0xFC827323AC7306A6, 0x73E93908BF177BF2 /* 1574 */ + .quad 0x1213A671C09AD17D, 0xF904E64758E60D4C, 0xE7D272117E2EF7E4 /* 1575 */ + .quad 0x24274CE38135A2FB, 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9 /* 1576 */ + .quad 0x484E99C7026B45F7, 0xE413991D63983533, 0x9F49C845F8BBDF92 /* 1577 */ + .quad 0x909D338E04D68BEF, 0xC827323AC7306A67, 0x3E93908BF177BF25 /* 1578 */ + .quad 0x213A671C09AD17DF, 0x904E64758E60D4CE, 0x7D272117E2EF7E4A /* 1579 */ + .quad 0x4274CE38135A2FBF, 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94 /* 1580 */ + .quad 0x84E99C7026B45F7E, 0x413991D639835339, 0xF49C845F8BBDF928 /* 1581 */ + .quad 0x09D338E04D68BEFC, 0x827323AC7306A673, 0xE93908BF177BF250 /* 1582 */ + .quad 0x13A671C09AD17DF9, 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0 /* 1583 */ + .quad 0x274CE38135A2FBF2, 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941 /* 1584 */ + .quad 0x4E99C7026B45F7E4, 0x13991D639835339F, 0x49C845F8BBDF9283 /* 1585 */ + .quad 0x9D338E04D68BEFC8, 0x27323AC7306A673E, 0x93908BF177BF2507 /* 1586 */ + .quad 0x3A671C09AD17DF90, 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E /* 1587 */ + .quad 0x74CE38135A2FBF20, 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D /* 1588 */ + .quad 0xE99C7026B45F7E41, 0x3991D639835339F4, 0x9C845F8BBDF9283B /* 1589 */ + .quad 0xD338E04D68BEFC82, 0x7323AC7306A673E9, 0x3908BF177BF25076 /* 1590 */ + .quad 0xA671C09AD17DF904, 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC /* 1591 */ + .quad 0x4CE38135A2FBF209, 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8 /* 1592 */ + .quad 0x99C7026B45F7E413, 0x991D639835339F49, 0xC845F8BBDF9283B1 /* 1593 */ + .quad 0x338E04D68BEFC827, 0x323AC7306A673E93, 0x908BF177BF250763 /* 1594 */ + .quad 0x671C09AD17DF904E, 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7 /* 1595 */ + .quad 0xCE38135A2FBF209C, 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F /* 1596 */ + .quad 0x9C7026B45F7E4139, 0x91D639835339F49C, 0x845F8BBDF9283B1F /* 1597 */ + .quad 0x38E04D68BEFC8273, 0x23AC7306A673E939, 0x08BF177BF250763F /* 1598 */ + .quad 0x71C09AD17DF904E6, 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F /* 1599 */ + .quad 0xE38135A2FBF209CC, 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF /* 1600 */ + .quad 0xC7026B45F7E41399, 0x1D639835339F49C8, 0x45F8BBDF9283B1FF /* 1601 */ + .quad 0x8E04D68BEFC82732, 0x3AC7306A673E9390, 0x8BF177BF250763FF /* 1602 */ + .quad 0x1C09AD17DF904E64, 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE /* 1603 */ + .quad 0x38135A2FBF209CC8, 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC /* 1604 */ + .quad 0x7026B45F7E413991, 0xD639835339F49C84, 0x5F8BBDF9283B1FF8 /* 1605 */ + .quad 0xE04D68BEFC827323, 0xAC7306A673E93908, 0xBF177BF250763FF1 /* 1606 */ + .quad 0xC09AD17DF904E647, 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2 /* 1607 */ + .quad 0x8135A2FBF209CC8E, 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4 /* 1608 */ + .quad 0x026B45F7E413991D, 0x639835339F49C845, 0xF8BBDF9283B1FF89 /* 1609 */ + .quad 0x04D68BEFC827323A, 0xC7306A673E93908B, 0xF177BF250763FF12 /* 1610 */ + .quad 0x09AD17DF904E6475, 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25 /* 1611 */ + .quad 0x135A2FBF209CC8EB, 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B /* 1612 */ + .quad 0x26B45F7E413991D6, 0x39835339F49C845F, 0x8BBDF9283B1FF897 /* 1613 */ + .quad 0x4D68BEFC827323AC, 0x7306A673E93908BF, 0x177BF250763FF12F /* 1614 */ + .quad 0x9AD17DF904E64758, 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F /* 1615 */ + .quad 0x35A2FBF209CC8EB1, 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF /* 1616 */ + .quad 0x6B45F7E413991D63, 0x9835339F49C845F8, 0xBBDF9283B1FF897F /* 1617 */ + .quad 0xD68BEFC827323AC7, 0x306A673E93908BF1, 0x77BF250763FF12FF /* 1618 */ + .quad 0xAD17DF904E64758E, 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF /* 1619 */ + .quad 0x5A2FBF209CC8EB1C, 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF /* 1620 */ + .quad 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF /* 1621 */ + .quad 0x68BEFC827323AC73, 0x06A673E93908BF17, 0x7BF250763FF12FFF /* 1622 */ + .quad 0xD17DF904E64758E6, 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF /* 1623 */ + .quad 0xA2FBF209CC8EB1CC, 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE /* 1624 */ + .quad 0x45F7E413991D6398, 0x35339F49C845F8BB, 0xDF9283B1FF897FFD /* 1625 */ + .quad 0x8BEFC827323AC730, 0x6A673E93908BF177, 0xBF250763FF12FFFB /* 1626 */ + .quad 0x17DF904E64758E60, 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7 /* 1627 */ + .quad 0x2FBF209CC8EB1CC1, 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF /* 1628 */ + .quad 0x5F7E413991D63983, 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE /* 1629 */ + .quad 0xBEFC827323AC7306, 0xA673E93908BF177B, 0xF250763FF12FFFBC /* 1630 */ + .quad 0x7DF904E64758E60D, 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78 /* 1631 */ + .quad 0xFBF209CC8EB1CC1A, 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0 /* 1632 */ + .quad 0xF7E413991D639835, 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0 /* 1633 */ + .quad 0xEFC827323AC7306A, 0x673E93908BF177BF, 0x250763FF12FFFBC0 /* 1634 */ + .quad 0xDF904E64758E60D4, 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781 /* 1635 */ + .quad 0xBF209CC8EB1CC1A9, 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02 /* 1636 */ + .quad 0x7E413991D6398353, 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05 /* 1637 */ + .quad 0xFC827323AC7306A6, 0x73E93908BF177BF2, 0x50763FF12FFFBC0B /* 1638 */ + .quad 0xF904E64758E60D4C, 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816 /* 1639 */ + .quad 0xF209CC8EB1CC1A99, 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C /* 1640 */ + .quad 0xE413991D63983533, 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059 /* 1641 */ + .quad 0xC827323AC7306A67, 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3 /* 1642 */ + .quad 0x904E64758E60D4CE, 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166 /* 1643 */ + .quad 0x209CC8EB1CC1A99C, 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC /* 1644 */ + .quad 0x413991D639835339, 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598 /* 1645 */ + .quad 0x827323AC7306A673, 0xE93908BF177BF250, 0x763FF12FFFBC0B30 /* 1646 */ + .quad 0x04E64758E60D4CE7, 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660 /* 1647 */ + .quad 0x09CC8EB1CC1A99CF, 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0 /* 1648 */ + .quad 0x13991D639835339F, 0x49C845F8BBDF9283, 0xB1FF897FFDE05980 /* 1649 */ + .quad 0x27323AC7306A673E, 0x93908BF177BF2507, 0x63FF12FFFBC0B301 /* 1650 */ + .quad 0x4E64758E60D4CE7D, 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603 /* 1651 */ + .quad 0x9CC8EB1CC1A99CFA, 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07 /* 1652 */ + .quad 0x3991D639835339F4, 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F /* 1653 */ + .quad 0x7323AC7306A673E9, 0x3908BF177BF25076, 0x3FF12FFFBC0B301F /* 1654 */ + .quad 0xE64758E60D4CE7D2, 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F /* 1655 */ + .quad 0xCC8EB1CC1A99CFA4, 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F /* 1656 */ + .quad 0x991D639835339F49, 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE /* 1657 */ + .quad 0x323AC7306A673E93, 0x908BF177BF250763, 0xFF12FFFBC0B301FD /* 1658 */ + .quad 0x64758E60D4CE7D27, 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB /* 1659 */ + .quad 0xC8EB1CC1A99CFA4E, 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7 /* 1660 */ + .quad 0x91D639835339F49C, 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF /* 1661 */ + .quad 0x23AC7306A673E939, 0x08BF177BF250763F, 0xF12FFFBC0B301FDE /* 1662 */ + .quad 0x4758E60D4CE7D272, 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC /* 1663 */ + .quad 0x8EB1CC1A99CFA4E4, 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79 /* 1664 */ + .quad 0x1D639835339F49C8, 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2 /* 1665 */ + .quad 0x3AC7306A673E9390, 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5 /* 1666 */ + .quad 0x758E60D4CE7D2721, 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB /* 1667 */ + .quad 0xEB1CC1A99CFA4E42, 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797 /* 1668 */ + .quad 0xD639835339F49C84, 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F /* 1669 */ + .quad 0xAC7306A673E93908, 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E /* 1670 */ + .quad 0x58E60D4CE7D27211, 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC /* 1671 */ + .quad 0xB1CC1A99CFA4E422, 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978 /* 1672 */ + .quad 0x639835339F49C845, 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1 /* 1673 */ + .quad 0xC7306A673E93908B, 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2 /* 1674 */ + .quad 0x8E60D4CE7D272117, 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4 /* 1675 */ + .quad 0x1CC1A99CFA4E422F, 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788 /* 1676 */ + .quad 0x39835339F49C845F, 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11 /* 1677 */ + .quad 0x7306A673E93908BF, 0x177BF250763FF12F, 0xFFBC0B301FDE5E23 /* 1678 */ + .quad 0xE60D4CE7D272117E, 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46 /* 1679 */ + .quad 0xCC1A99CFA4E422FC, 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C /* 1680 */ + .quad 0x9835339F49C845F8, 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118 /* 1681 */ + .quad 0x306A673E93908BF1, 0x77BF250763FF12FF, 0xFBC0B301FDE5E231 /* 1682 */ + .quad 0x60D4CE7D272117E2, 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462 /* 1683 */ + .quad 0xC1A99CFA4E422FC5, 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5 /* 1684 */ + .quad 0x835339F49C845F8B, 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B /* 1685 */ + .quad 0x06A673E93908BF17, 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316 /* 1686 */ + .quad 0x0D4CE7D272117E2E, 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D /* 1687 */ + .quad 0x1A99CFA4E422FC5D, 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A /* 1688 */ + .quad 0x35339F49C845F8BB, 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5 /* 1689 */ + .quad 0x6A673E93908BF177, 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B /* 1690 */ + .quad 0xD4CE7D272117E2EF, 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6 /* 1691 */ + .quad 0xA99CFA4E422FC5DE, 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD /* 1692 */ + .quad 0x5339F49C845F8BBD, 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A /* 1693 */ + .quad 0xA673E93908BF177B, 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4 /* 1694 */ + .quad 0x4CE7D272117E2EF7, 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68 /* 1695 */ + .quad 0x99CFA4E422FC5DEF, 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0 /* 1696 */ + .quad 0x339F49C845F8BBDF, 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0 /* 1697 */ + .quad 0x673E93908BF177BF, 0x250763FF12FFFBC0, 0xB301FDE5E2316B41 /* 1698 */ + .quad 0xCE7D272117E2EF7E, 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682 /* 1699 */ + .quad 0x9CFA4E422FC5DEFC, 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05 /* 1700 */ + .quad 0x39F49C845F8BBDF9, 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A /* 1701 */ + .quad 0x73E93908BF177BF2, 0x50763FF12FFFBC0B, 0x301FDE5E2316B414 /* 1702 */ + .quad 0xE7D272117E2EF7E4, 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829 /* 1703 */ + .quad 0xCFA4E422FC5DEFC9, 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053 /* 1704 */ + .quad 0x9F49C845F8BBDF92, 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6 /* 1705 */ + .quad 0x3E93908BF177BF25, 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D /* 1706 */ + .quad 0x7D272117E2EF7E4A, 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B /* 1707 */ + .quad 0xFA4E422FC5DEFC94, 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536 /* 1708 */ + .quad 0xF49C845F8BBDF928, 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D /* 1709 */ + .quad 0xE93908BF177BF250, 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA /* 1710 */ + .quad 0xD272117E2EF7E4A0, 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4 /* 1711 */ + .quad 0xA4E422FC5DEFC941, 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368 /* 1712 */ + .quad 0x49C845F8BBDF9283, 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1 /* 1713 */ + .quad 0x93908BF177BF2507, 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3 /* 1714 */ + .quad 0x272117E2EF7E4A0E, 0xC7FE25FFF7816603, 0xFBCBC462D6829B47 /* 1715 */ + .quad 0x4E422FC5DEFC941D, 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F /* 1716 */ + .quad 0x9C845F8BBDF9283B, 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F /* 1717 */ + .quad 0x3908BF177BF25076, 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E /* 1718 */ + .quad 0x72117E2EF7E4A0EC, 0x7FE25FFF7816603F, 0xBCBC462D6829B47D /* 1719 */ + .quad 0xE422FC5DEFC941D8, 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB /* 1720 */ + .quad 0xC845F8BBDF9283B1, 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6 /* 1721 */ + .quad 0x908BF177BF250763, 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED /* 1722 */ + .quad 0x2117E2EF7E4A0EC7, 0xFE25FFF7816603FB, 0xCBC462D6829B47DB /* 1723 */ + .quad 0x422FC5DEFC941D8F, 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6 /* 1724 */ + .quad 0x845F8BBDF9283B1F, 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D /* 1725 */ + .quad 0x08BF177BF250763F, 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA /* 1726 */ + .quad 0x117E2EF7E4A0EC7F, 0xE25FFF7816603FBC, 0xBC462D6829B47DB4 /* 1727 */ + .quad 0x22FC5DEFC941D8FF, 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69 /* 1728 */ + .quad 0x45F8BBDF9283B1FF, 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3 /* 1729 */ + .quad 0x8BF177BF250763FF, 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6 /* 1730 */ + .quad 0x17E2EF7E4A0EC7FE, 0x25FFF7816603FBCB, 0xC462D6829B47DB4D /* 1731 */ + .quad 0x2FC5DEFC941D8FFC, 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B /* 1732 */ + .quad 0x5F8BBDF9283B1FF8, 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36 /* 1733 */ + .quad 0xBF177BF250763FF1, 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C /* 1734 */ + .quad 0x7E2EF7E4A0EC7FE2, 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9 /* 1735 */ + .quad 0xFC5DEFC941D8FFC4, 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3 /* 1736 */ + .quad 0xF8BBDF9283B1FF89, 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367 /* 1737 */ + .quad 0xF177BF250763FF12, 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF /* 1738 */ + .quad 0xE2EF7E4A0EC7FE25, 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F /* 1739 */ + .quad 0xC5DEFC941D8FFC4B, 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F /* 1740 */ + .quad 0x8BBDF9283B1FF897, 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E /* 1741 */ + .quad 0x177BF250763FF12F, 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD /* 1742 */ + .quad 0x2EF7E4A0EC7FE25F, 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB /* 1743 */ + .quad 0x5DEFC941D8FFC4BF, 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6 /* 1744 */ + .quad 0xBBDF9283B1FF897F, 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC /* 1745 */ + .quad 0x77BF250763FF12FF, 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9 /* 1746 */ + .quad 0xEF7E4A0EC7FE25FF, 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3 /* 1747 */ + .quad 0xDEFC941D8FFC4BFF, 0xEF02CC07F79788C5, 0xAD05368FB69B3F67 /* 1748 */ + .quad 0xBDF9283B1FF897FF, 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF /* 1749 */ + .quad 0x7BF250763FF12FFF, 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E /* 1750 */ + .quad 0xF7E4A0EC7FE25FFF, 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C /* 1751 */ + .quad 0xEFC941D8FFC4BFFE, 0xF02CC07F79788C5A, 0xD05368FB69B3F679 /* 1752 */ + .quad 0xDF9283B1FF897FFD, 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2 /* 1753 */ + .quad 0xBF250763FF12FFFB, 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4 /* 1754 */ + .quad 0x7E4A0EC7FE25FFF7, 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9 /* 1755 */ + .quad 0xFC941D8FFC4BFFEF, 0x02CC07F79788C5AD, 0x05368FB69B3F6793 /* 1756 */ + .quad 0xF9283B1FF897FFDE, 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27 /* 1757 */ + .quad 0xF250763FF12FFFBC, 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F /* 1758 */ + .quad 0xE4A0EC7FE25FFF78, 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F /* 1759 */ + .quad 0xC941D8FFC4BFFEF0, 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E /* 1760 */ + .quad 0x9283B1FF897FFDE0, 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C /* 1761 */ + .quad 0x250763FF12FFFBC0, 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9 /* 1762 */ + .quad 0x4A0EC7FE25FFF781, 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2 /* 1763 */ + .quad 0x941D8FFC4BFFEF02, 0xCC07F79788C5AD05, 0x368FB69B3F6793E5 /* 1764 */ + .quad 0x283B1FF897FFDE05, 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB /* 1765 */ + .quad 0x50763FF12FFFBC0B, 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96 /* 1766 */ + .quad 0xA0EC7FE25FFF7816, 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C /* 1767 */ + .quad 0x41D8FFC4BFFEF02C, 0xC07F79788C5AD053, 0x68FB69B3F6793E58 /* 1768 */ + .quad 0x83B1FF897FFDE059, 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0 /* 1769 */ + .quad 0x0763FF12FFFBC0B3, 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961 /* 1770 */ + .quad 0x0EC7FE25FFF78166, 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2 /* 1771 */ + .quad 0x1D8FFC4BFFEF02CC, 0x07F79788C5AD0536, 0x8FB69B3F6793E584 /* 1772 */ + .quad 0x3B1FF897FFDE0598, 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09 /* 1773 */ + .quad 0x763FF12FFFBC0B30, 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613 /* 1774 */ + .quad 0xEC7FE25FFF781660, 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26 /* 1775 */ + .quad 0xD8FFC4BFFEF02CC0, 0x7F79788C5AD05368, 0xFB69B3F6793E584D /* 1776 */ + .quad 0xB1FF897FFDE05980, 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B /* 1777 */ + .quad 0x63FF12FFFBC0B301, 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136 /* 1778 */ + .quad 0xC7FE25FFF7816603, 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D /* 1779 */ + .quad 0x8FFC4BFFEF02CC07, 0xF79788C5AD05368F, 0xB69B3F6793E584DB /* 1780 */ + .quad 0x1FF897FFDE05980F, 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7 /* 1781 */ + .quad 0x3FF12FFFBC0B301F, 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E /* 1782 */ + .quad 0x7FE25FFF7816603F, 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD /* 1783 */ + .quad 0xFFC4BFFEF02CC07F, 0x79788C5AD05368FB, 0x69B3F6793E584DBA /* 1784 */ + .quad 0xFF897FFDE05980FE, 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74 /* 1785 */ + .quad 0xFF12FFFBC0B301FD, 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9 /* 1786 */ + .quad 0xFE25FFF7816603FB, 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3 /* 1787 */ + .quad 0xFC4BFFEF02CC07F7, 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7 /* 1788 */ + .quad 0xF897FFDE05980FEF, 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F /* 1789 */ + .quad 0xF12FFFBC0B301FDE, 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E /* 1790 */ + .quad 0xE25FFF7816603FBC, 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D /* 1791 */ + .quad 0xC4BFFEF02CC07F79, 0x788C5AD05368FB69, 0xB3F6793E584DBA7A /* 1792 */ + .quad 0x897FFDE05980FEF2, 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4 /* 1793 */ + .quad 0x12FFFBC0B301FDE5, 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8 /* 1794 */ + .quad 0x25FFF7816603FBCB, 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1 /* 1795 */ + .quad 0x4BFFEF02CC07F797, 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3 /* 1796 */ + .quad 0x97FFDE05980FEF2F, 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46 /* 1797 */ + .quad 0x2FFFBC0B301FDE5E, 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C /* 1798 */ + .quad 0x5FFF7816603FBCBC, 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18 /* 1799 */ + .quad 0xBFFEF02CC07F7978, 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31 /* 1800 */ + .quad 0x7FFDE05980FEF2F1, 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463 /* 1801 */ + .quad 0xFFFBC0B301FDE5E2, 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7 /* 1802 */ + .quad 0xFFF7816603FBCBC4, 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F /* 1803 */ + .quad 0xFFEF02CC07F79788, 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F /* 1804 */ + .quad 0xFFDE05980FEF2F11, 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F /* 1805 */ + .quad 0xFFBC0B301FDE5E23, 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E /* 1806 */ + .quad 0xFF7816603FBCBC46, 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD /* 1807 */ + .quad 0xFEF02CC07F79788C, 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB /* 1808 */ + .quad 0xFDE05980FEF2F118, 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6 /* 1809 */ + .quad 0xFBC0B301FDE5E231, 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC /* 1810 */ + .quad 0xF7816603FBCBC462, 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9 /* 1811 */ + .quad 0xEF02CC07F79788C5, 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3 /* 1812 */ + .quad 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66 /* 1813 */ + .quad 0xBC0B301FDE5E2316, 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD /* 1814 */ + .quad 0x7816603FBCBC462D, 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A /* 1815 */ + .quad 0xF02CC07F79788C5A, 0xD05368FB69B3F679, 0x3E584DBA7A31FB34 /* 1816 */ + .quad 0xE05980FEF2F118B5, 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669 /* 1817 */ + .quad 0xC0B301FDE5E2316B, 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3 /* 1818 */ + .quad 0x816603FBCBC462D6, 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7 /* 1819 */ + .quad 0x02CC07F79788C5AD, 0x05368FB69B3F6793, 0xE584DBA7A31FB34F /* 1820 */ + .quad 0x05980FEF2F118B5A, 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E /* 1821 */ + .quad 0x0B301FDE5E2316B4, 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C /* 1822 */ + .quad 0x16603FBCBC462D68, 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79 /* 1823 */ + .quad 0x2CC07F79788C5AD0, 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2 /* 1824 */ + .quad 0x5980FEF2F118B5A0, 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5 /* 1825 */ + .quad 0xB301FDE5E2316B41, 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB /* 1826 */ + .quad 0x6603FBCBC462D682, 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797 /* 1827 */ + .quad 0xCC07F79788C5AD05, 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F /* 1828 */ + .quad 0x980FEF2F118B5A0A, 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F /* 1829 */ + .quad 0x301FDE5E2316B414, 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF /* 1830 */ + .quad 0x603FBCBC462D6829, 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F /* 1831 */ + .quad 0xC07F79788C5AD053, 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF /* 1832 */ + .quad 0x80FEF2F118B5A0A6, 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE /* 1833 */ + .quad 0x01FDE5E2316B414D, 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD /* 1834 */ + .quad 0x03FBCBC462D6829B, 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA /* 1835 */ + .quad 0x07F79788C5AD0536, 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5 /* 1836 */ + .quad 0x0FEF2F118B5A0A6D, 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA /* 1837 */ + .quad 0x1FDE5E2316B414DA, 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4 /* 1838 */ + .quad 0x3FBCBC462D6829B4, 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8 /* 1839 */ + .quad 0x7F79788C5AD05368, 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51 /* 1840 */ + .quad 0xFEF2F118B5A0A6D1, 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2 /* 1841 */ + .quad 0xFDE5E2316B414DA3, 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45 /* 1842 */ + .quad 0xFBCBC462D6829B47, 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B /* 1843 */ + .quad 0xF79788C5AD05368F, 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516 /* 1844 */ + .quad 0xEF2F118B5A0A6D1F, 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D /* 1845 */ + .quad 0xDE5E2316B414DA3E, 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A /* 1846 */ + .quad 0xBCBC462D6829B47D, 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5 /* 1847 */ + .quad 0x79788C5AD05368FB, 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B /* 1848 */ + .quad 0xF2F118B5A0A6D1F6, 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7 /* 1849 */ + .quad 0xE5E2316B414DA3ED, 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE /* 1850 */ + .quad 0xCBC462D6829B47DB, 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D /* 1851 */ + .quad 0x9788C5AD05368FB6, 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA /* 1852 */ + .quad 0x2F118B5A0A6D1F6D, 0x367ECF27CB09B74F, 0x463F669E5FEA2D75 /* 1853 */ + .quad 0x5E2316B414DA3EDA, 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA /* 1854 */ + .quad 0xBC462D6829B47DB4, 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4 /* 1855 */ + .quad 0x788C5AD05368FB69, 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9 /* 1856 */ + .quad 0xF118B5A0A6D1F6D3, 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752 /* 1857 */ + .quad 0xE2316B414DA3EDA6, 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4 /* 1858 */ + .quad 0xC462D6829B47DB4D, 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49 /* 1859 */ + .quad 0x88C5AD05368FB69B, 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93 /* 1860 */ + .quad 0x118B5A0A6D1F6D36, 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527 /* 1861 */ + .quad 0x2316B414DA3EDA6C, 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F /* 1862 */ + .quad 0x462D6829B47DB4D9, 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E /* 1863 */ + .quad 0x8C5AD05368FB69B3, 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D /* 1864 */ + .quad 0x18B5A0A6D1F6D367, 0xECF27CB09B74F463, 0xF669E5FEA2D7527B /* 1865 */ + .quad 0x316B414DA3EDA6CF, 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7 /* 1866 */ + .quad 0x62D6829B47DB4D9F, 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE /* 1867 */ + .quad 0xC5AD05368FB69B3F, 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD /* 1868 */ + .quad 0x8B5A0A6D1F6D367E, 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA /* 1869 */ + .quad 0x16B414DA3EDA6CFD, 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75 /* 1870 */ + .quad 0x2D6829B47DB4D9FB, 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB /* 1871 */ + .quad 0x5AD05368FB69B3F6, 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6 /* 1872 */ + .quad 0xB5A0A6D1F6D367EC, 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC /* 1873 */ + .quad 0x6B414DA3EDA6CFD9, 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758 /* 1874 */ + .quad 0xD6829B47DB4D9FB3, 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1 /* 1875 */ + .quad 0xAD05368FB69B3F67, 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63 /* 1876 */ + .quad 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7 /* 1877 */ + .quad 0xB414DA3EDA6CFD9E, 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F /* 1878 */ + .quad 0x6829B47DB4D9FB3C, 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F /* 1879 */ + .quad 0xD05368FB69B3F679, 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F /* 1880 */ + .quad 0xA0A6D1F6D367ECF2, 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E /* 1881 */ + .quad 0x414DA3EDA6CFD9E4, 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD /* 1882 */ + .quad 0x829B47DB4D9FB3C9, 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA /* 1883 */ + .quad 0x05368FB69B3F6793, 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5 /* 1884 */ + .quad 0x0A6D1F6D367ECF27, 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB /* 1885 */ + .quad 0x14DA3EDA6CFD9E4F, 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7 /* 1886 */ + .quad 0x29B47DB4D9FB3C9F, 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF /* 1887 */ + .quad 0x5368FB69B3F6793E, 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F /* 1888 */ + .quad 0xA6D1F6D367ECF27C, 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE /* 1889 */ + .quad 0x4DA3EDA6CFD9E4F9, 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C /* 1890 */ + .quad 0x9B47DB4D9FB3C9F2, 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9 /* 1891 */ + .quad 0x368FB69B3F6793E5, 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2 /* 1892 */ + .quad 0x6D1F6D367ECF27CB, 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5 /* 1893 */ + .quad 0xDA3EDA6CFD9E4F96, 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB /* 1894 */ + .quad 0xB47DB4D9FB3C9F2C, 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97 /* 1895 */ + .quad 0x68FB69B3F6793E58, 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F /* 1896 */ + .quad 0xD1F6D367ECF27CB0, 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F /* 1897 */ + .quad 0xA3EDA6CFD9E4F961, 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE /* 1898 */ + .quad 0x47DB4D9FB3C9F2C2, 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C /* 1899 */ + .quad 0x8FB69B3F6793E584, 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8 /* 1900 */ + .quad 0x1F6D367ECF27CB09, 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1 /* 1901 */ + .quad 0x3EDA6CFD9E4F9613, 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2 /* 1902 */ + .quad 0x7DB4D9FB3C9F2C26, 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5 /* 1903 */ + .quad 0xFB69B3F6793E584D, 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B /* 1904 */ + .quad 0xF6D367ECF27CB09B, 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17 /* 1905 */ + .quad 0xEDA6CFD9E4F96136, 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F /* 1906 */ + .quad 0xDB4D9FB3C9F2C26D, 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E /* 1907 */ + .quad 0xB69B3F6793E584DB, 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD /* 1908 */ + .quad 0x6D367ECF27CB09B7, 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B /* 1909 */ + .quad 0xDA6CFD9E4F96136E, 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6 /* 1910 */ + .quad 0xB4D9FB3C9F2C26DD, 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC /* 1911 */ + .quad 0x69B3F6793E584DBA, 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9 /* 1912 */ + .quad 0xD367ECF27CB09B74, 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3 /* 1913 */ + .quad 0xA6CFD9E4F96136E9, 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67 /* 1914 */ + .quad 0x4D9FB3C9F2C26DD3, 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF /* 1915 */ + .quad 0x9B3F6793E584DBA7, 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E /* 1916 */ + .quad 0x367ECF27CB09B74F, 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D /* 1917 */ + .quad 0x6CFD9E4F96136E9E, 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A /* 1918 */ + .quad 0xD9FB3C9F2C26DD3D, 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4 /* 1919 */ + .quad 0xB3F6793E584DBA7A, 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8 /* 1920 */ + .quad 0x67ECF27CB09B74F4, 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0 /* 1921 */ + .quad 0xCFD9E4F96136E9E8, 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0 /* 1922 */ + .quad 0x9FB3C9F2C26DD3D1, 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41 /* 1923 */ + .quad 0x3F6793E584DBA7A3, 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83 /* 1924 */ + .quad 0x7ECF27CB09B74F46, 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07 /* 1925 */ + .quad 0xFD9E4F96136E9E8C, 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E /* 1926 */ + .quad 0xFB3C9F2C26DD3D18, 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C /* 1927 */ + .quad 0xF6793E584DBA7A31, 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839 /* 1928 */ + .quad 0xECF27CB09B74F463, 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073 /* 1929 */ + .quad 0xD9E4F96136E9E8C7, 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7 /* 1930 */ + .quad 0xB3C9F2C26DD3D18F, 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE /* 1931 */ + .quad 0x6793E584DBA7A31F, 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C /* 1932 */ + .quad 0xCF27CB09B74F463F, 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739 /* 1933 */ + .quad 0x9E4F96136E9E8C7E, 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73 /* 1934 */ + .quad 0x3C9F2C26DD3D18FD, 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7 /* 1935 */ + .quad 0x793E584DBA7A31FB, 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF /* 1936 */ + .quad 0xF27CB09B74F463F6, 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F /* 1937 */ + .quad 0xE4F96136E9E8C7EC, 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E /* 1938 */ + .quad 0xC9F2C26DD3D18FD9, 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D /* 1939 */ + .quad 0x93E584DBA7A31FB3, 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB /* 1940 */ + .quad 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7 /* 1941 */ + .quad 0x4F96136E9E8C7ECD, 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF /* 1942 */ + .quad 0x9F2C26DD3D18FD9A, 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE /* 1943 */ + .quad 0x3E584DBA7A31FB34, 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC /* 1944 */ + .quad 0x7CB09B74F463F669, 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78 /* 1945 */ + .quad 0xF96136E9E8C7ECD3, 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1 /* 1946 */ + .quad 0xF2C26DD3D18FD9A7, 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2 /* 1947 */ + .quad 0xE584DBA7A31FB34F, 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5 /* 1948 */ + .quad 0xCB09B74F463F669E, 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A /* 1949 */ + .quad 0x96136E9E8C7ECD3C, 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14 /* 1950 */ + .quad 0x2C26DD3D18FD9A79, 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29 /* 1951 */ + .quad 0x584DBA7A31FB34F2, 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52 /* 1952 */ + .quad 0xB09B74F463F669E5, 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5 /* 1953 */ + .quad 0x6136E9E8C7ECD3CB, 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A /* 1954 */ + .quad 0xC26DD3D18FD9A797, 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294 /* 1955 */ + .quad 0x84DBA7A31FB34F2F, 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529 /* 1956 */ + .quad 0x09B74F463F669E5F, 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52 /* 1957 */ + .quad 0x136E9E8C7ECD3CBF, 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5 /* 1958 */ + .quad 0x26DD3D18FD9A797F, 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A /* 1959 */ + .quad 0x4DBA7A31FB34F2FF, 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294 /* 1960 */ + .quad 0x9B74F463F669E5FE, 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529 /* 1961 */ + .quad 0x36E9E8C7ECD3CBFD, 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52 /* 1962 */ + .quad 0x6DD3D18FD9A797FA, 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4 /* 1963 */ + .quad 0xDBA7A31FB34F2FF5, 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949 /* 1964 */ + .quad 0xB74F463F669E5FEA, 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292 /* 1965 */ + .quad 0x6E9E8C7ECD3CBFD4, 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525 /* 1966 */ + .quad 0xDD3D18FD9A797FA8, 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B /* 1967 */ + .quad 0xBA7A31FB34F2FF51, 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497 /* 1968 */ + .quad 0x74F463F669E5FEA2, 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E /* 1969 */ + .quad 0xE9E8C7ECD3CBFD45, 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D /* 1970 */ + .quad 0xD3D18FD9A797FA8B, 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA /* 1971 */ + .quad 0xA7A31FB34F2FF516, 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975 /* 1972 */ + .quad 0x4F463F669E5FEA2D, 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA /* 1973 */ + .quad 0x9E8C7ECD3CBFD45A, 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4 /* 1974 */ + .quad 0x3D18FD9A797FA8B5, 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9 /* 1975 */ + .quad 0x7A31FB34F2FF516B, 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753 /* 1976 */ + .quad 0xF463F669E5FEA2D7, 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6 /* 1977 */ + .quad 0xE8C7ECD3CBFD45AE, 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D /* 1978 */ + .quad 0xD18FD9A797FA8B5D, 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A /* 1979 */ + .quad 0xA31FB34F2FF516BA, 0x93DD63F5F2F8BD9E, 0x839CFBC529497535 /* 1980 */ + .quad 0x463F669E5FEA2D75, 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B /* 1981 */ + .quad 0x8C7ECD3CBFD45AEA, 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7 /* 1982 */ + .quad 0x18FD9A797FA8B5D4, 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF /* 1983 */ + .quad 0x31FB34F2FF516BA9, 0x3DD63F5F2F8BD9E8, 0x39CFBC529497535F /* 1984 */ + .quad 0x63F669E5FEA2D752, 0x7BAC7EBE5F17B3D0, 0x739F78A5292EA6BF /* 1985 */ + .quad 0xC7ECD3CBFD45AEA4, 0xF758FD7CBE2F67A0, 0xE73EF14A525D4D7F /* 1986 */ + .quad 0x8FD9A797FA8B5D49, 0xEEB1FAF97C5ECF41, 0xCE7DE294A4BA9AFE /* 1987 */ + .quad 0x1FB34F2FF516BA93, 0xDD63F5F2F8BD9E83, 0x9CFBC529497535FD /* 1988 */ + .quad 0x3F669E5FEA2D7527, 0xBAC7EBE5F17B3D07, 0x39F78A5292EA6BFB /* 1989 */ + .quad 0x7ECD3CBFD45AEA4F, 0x758FD7CBE2F67A0E, 0x73EF14A525D4D7F6 /* 1990 */ + .quad 0xFD9A797FA8B5D49E, 0xEB1FAF97C5ECF41C, 0xE7DE294A4BA9AFED /* 1991 */ + .quad 0xFB34F2FF516BA93D, 0xD63F5F2F8BD9E839, 0xCFBC529497535FDA /* 1992 */ + .quad 0xF669E5FEA2D7527B, 0xAC7EBE5F17B3D073, 0x9F78A5292EA6BFB5 /* 1993 */ + .quad 0xECD3CBFD45AEA4F7, 0x58FD7CBE2F67A0E7, 0x3EF14A525D4D7F6B /* 1994 */ + .quad 0xD9A797FA8B5D49EE, 0xB1FAF97C5ECF41CE, 0x7DE294A4BA9AFED7 /* 1995 */ + .quad 0xB34F2FF516BA93DD, 0x63F5F2F8BD9E839C, 0xFBC529497535FDAF /* 1996 */ + .quad 0x669E5FEA2D7527BA, 0xC7EBE5F17B3D0739, 0xF78A5292EA6BFB5F /* 1997 */ + .quad 0xCD3CBFD45AEA4F75, 0x8FD7CBE2F67A0E73, 0xEF14A525D4D7F6BF /* 1998 */ + .quad 0x9A797FA8B5D49EEB, 0x1FAF97C5ECF41CE7, 0xDE294A4BA9AFED7E /* 1999 */ + .quad 0x34F2FF516BA93DD6, 0x3F5F2F8BD9E839CF, 0xBC529497535FDAFD /* 2000 */ + .quad 0x69E5FEA2D7527BAC, 0x7EBE5F17B3D0739F, 0x78A5292EA6BFB5FB /* 2001 */ + .quad 0xD3CBFD45AEA4F758, 0xFD7CBE2F67A0E73E, 0xF14A525D4D7F6BF6 /* 2002 */ + .quad 0xA797FA8B5D49EEB1, 0xFAF97C5ECF41CE7D, 0xE294A4BA9AFED7EC /* 2003 */ + .quad 0x4F2FF516BA93DD63, 0xF5F2F8BD9E839CFB, 0xC529497535FDAFD8 /* 2004 */ + .quad 0x9E5FEA2D7527BAC7, 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1 /* 2005 */ + .quad 0x3CBFD45AEA4F758F, 0xD7CBE2F67A0E73EF, 0x14A525D4D7F6BF62 /* 2006 */ + .quad 0x797FA8B5D49EEB1F, 0xAF97C5ECF41CE7DE, 0x294A4BA9AFED7EC4 /* 2007 */ + .quad 0xF2FF516BA93DD63F, 0x5F2F8BD9E839CFBC, 0x529497535FDAFD88 /* 2008 */ + .quad 0xE5FEA2D7527BAC7E, 0xBE5F17B3D0739F78, 0xA5292EA6BFB5FB11 /* 2009 */ + .quad 0xCBFD45AEA4F758FD, 0x7CBE2F67A0E73EF1, 0x4A525D4D7F6BF623 /* 2010 */ + .quad 0x97FA8B5D49EEB1FA, 0xF97C5ECF41CE7DE2, 0x94A4BA9AFED7EC47 /* 2011 */ + .quad 0x2FF516BA93DD63F5, 0xF2F8BD9E839CFBC5, 0x29497535FDAFD88F /* 2012 */ + .quad 0x5FEA2D7527BAC7EB, 0xE5F17B3D0739F78A, 0x5292EA6BFB5FB11F /* 2013 */ + .quad 0xBFD45AEA4F758FD7, 0xCBE2F67A0E73EF14, 0xA525D4D7F6BF623F /* 2014 */ + .quad 0x7FA8B5D49EEB1FAF, 0x97C5ECF41CE7DE29, 0x4A4BA9AFED7EC47E /* 2015 */ + .quad 0xFF516BA93DD63F5F, 0x2F8BD9E839CFBC52, 0x9497535FDAFD88FC /* 2016 */ + .quad 0xFEA2D7527BAC7EBE, 0x5F17B3D0739F78A5, 0x292EA6BFB5FB11F8 /* 2017 */ + .quad 0xFD45AEA4F758FD7C, 0xBE2F67A0E73EF14A, 0x525D4D7F6BF623F1 /* 2018 */ + .quad 0xFA8B5D49EEB1FAF9, 0x7C5ECF41CE7DE294, 0xA4BA9AFED7EC47E3 /* 2019 */ + .quad 0xF516BA93DD63F5F2, 0xF8BD9E839CFBC529, 0x497535FDAFD88FC6 /* 2020 */ + .quad 0xEA2D7527BAC7EBE5, 0xF17B3D0739F78A52, 0x92EA6BFB5FB11F8D /* 2021 */ + .quad 0xD45AEA4F758FD7CB, 0xE2F67A0E73EF14A5, 0x25D4D7F6BF623F1A /* 2022 */ + .quad 0xA8B5D49EEB1FAF97, 0xC5ECF41CE7DE294A, 0x4BA9AFED7EC47E35 /* 2023 */ + .quad 0x516BA93DD63F5F2F, 0x8BD9E839CFBC5294, 0x97535FDAFD88FC6A /* 2024 */ + .quad 0xA2D7527BAC7EBE5F, 0x17B3D0739F78A529, 0x2EA6BFB5FB11F8D5 /* 2025 */ + .quad 0x45AEA4F758FD7CBE, 0x2F67A0E73EF14A52, 0x5D4D7F6BF623F1AB /* 2026 */ + .quad 0x8B5D49EEB1FAF97C, 0x5ECF41CE7DE294A4, 0xBA9AFED7EC47E357 /* 2027 */ + .quad 0x16BA93DD63F5F2F8, 0xBD9E839CFBC52949, 0x7535FDAFD88FC6AE /* 2028 */ + .quad 0x2D7527BAC7EBE5F1, 0x7B3D0739F78A5292, 0xEA6BFB5FB11F8D5D /* 2029 */ + .quad 0x5AEA4F758FD7CBE2, 0xF67A0E73EF14A525, 0xD4D7F6BF623F1ABA /* 2030 */ + .quad 0xB5D49EEB1FAF97C5, 0xECF41CE7DE294A4B, 0xA9AFED7EC47E3574 /* 2031 */ + .quad 0x6BA93DD63F5F2F8B, 0xD9E839CFBC529497, 0x535FDAFD88FC6AE8 /* 2032 */ + .quad 0xD7527BAC7EBE5F17, 0xB3D0739F78A5292E, 0xA6BFB5FB11F8D5D0 /* 2033 */ + .quad 0xAEA4F758FD7CBE2F, 0x67A0E73EF14A525D, 0x4D7F6BF623F1ABA1 /* 2034 */ + .quad 0x5D49EEB1FAF97C5E, 0xCF41CE7DE294A4BA, 0x9AFED7EC47E35742 /* 2035 */ + .quad 0xBA93DD63F5F2F8BD, 0x9E839CFBC5294975, 0x35FDAFD88FC6AE84 /* 2036 */ + .quad 0x7527BAC7EBE5F17B, 0x3D0739F78A5292EA, 0x6BFB5FB11F8D5D08 /* 2037 */ + .quad 0xEA4F758FD7CBE2F6, 0x7A0E73EF14A525D4, 0xD7F6BF623F1ABA10 /* 2038 */ + .quad 0xD49EEB1FAF97C5EC, 0xF41CE7DE294A4BA9, 0xAFED7EC47E357421 /* 2039 */ + .quad 0xA93DD63F5F2F8BD9, 0xE839CFBC52949753, 0x5FDAFD88FC6AE842 /* 2040 */ + .quad 0x527BAC7EBE5F17B3, 0xD0739F78A5292EA6, 0xBFB5FB11F8D5D085 /* 2041 */ + .quad 0xA4F758FD7CBE2F67, 0xA0E73EF14A525D4D, 0x7F6BF623F1ABA10A /* 2042 */ + .quad 0x49EEB1FAF97C5ECF, 0x41CE7DE294A4BA9A, 0xFED7EC47E3574215 /* 2043 */ + .quad 0x93DD63F5F2F8BD9E, 0x839CFBC529497535, 0xFDAFD88FC6AE842B /* 2044 */ + .quad 0x27BAC7EBE5F17B3D, 0x0739F78A5292EA6B, 0xFB5FB11F8D5D0856 /* 2045 */ + .quad 0x4F758FD7CBE2F67A, 0x0E73EF14A525D4D7, 0xF6BF623F1ABA10AC /* 2046 */ + .quad 0x9EEB1FAF97C5ECF4, 0x1CE7DE294A4BA9AF, 0xED7EC47E35742158 /* 2047 */ + .align 64 + .type __svml_dtan_reduction_data_internal, @object + .size __svml_dtan_reduction_data_internal, .-__svml_dtan_reduction_data_internal + .space 512, 0x00 + .align 32 .FLT_32: - .long 0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008,0x00000008 - .type .FLT_32,@object - .size .FLT_32,32 - .align 8 + .long 0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008 + .type .FLT_32, @object + .size .FLT_32, 32 + .align 8 .FLT_16: - .long 0x00000000,0x7ff00000 - .type .FLT_16,@object - .size .FLT_16,8 - .align 8 + .long 0x00000000, 0x7ff00000 + .type .FLT_16, @object + .size .FLT_16, 8 + .align 8 .FLT_17: - .long 0xffffffff,0x000fffff - .type .FLT_17,@object - .size .FLT_17,8 - .align 8 + .long 0xffffffff, 0x000fffff + .type .FLT_17, @object + .size .FLT_17, 8 + .align 8 .FLT_18: - .long 0x00000000,0x00100000 - .type .FLT_18,@object - .size .FLT_18,8 - .align 8 + .long 0x00000000, 0x00100000 + .type .FLT_18, @object + .size .FLT_18, 8 + .align 8 .FLT_19: - .long 0xffffffff,0x00000000 - .type .FLT_19,@object - .size .FLT_19,8 - .align 8 + .long 0xffffffff, 0x00000000 + .type .FLT_19, @object + .size .FLT_19, 8 + .align 8 .FLT_20: - .long 0x00000000,0x80000000 - .type .FLT_20,@object - .size .FLT_20,8 - .align 8 + .long 0x00000000, 0x80000000 + .type .FLT_20, @object + .size .FLT_20, 8 + .align 8 .FLT_21: - .long 0x00000000,0x3ff00000 - .type .FLT_21,@object - .size .FLT_21,8 - .align 8 + .long 0x00000000, 0x3ff00000 + .type .FLT_21, @object + .size .FLT_21, 8 + .align 8 .FLT_22: - .long 0x00000000,0x42a80000 - .type .FLT_22,@object - .size .FLT_22,8 - .align 8 + .long 0x00000000, 0x42a80000 + .type .FLT_22, @object + .size .FLT_22, 8 + .align 8 .FLT_23: - .long 0x000001ff,0x00000000 - .type .FLT_23,@object - .size .FLT_23,8 - .align 8 + .long 0x000001ff, 0x00000000 + .type .FLT_23, @object + .size .FLT_23, 8 + .align 8 .FLT_24: - .long 0x00000000,0x39700000 - .type .FLT_24,@object - .size .FLT_24,8 - .align 8 + .long 0x00000000, 0x39700000 + .type .FLT_24, @object + .size .FLT_24, 8 + .align 8 .FLT_25: - .long 0x00ffffff,0x00000000 - .type .FLT_25,@object - .size .FLT_25,8 - .align 8 + .long 0x00ffffff, 0x00000000 + .type .FLT_25, @object + .size .FLT_25, 8 + .align 8 .FLT_26: - .long 0x00000000,0x3cb00000 - .type .FLT_26,@object - .size .FLT_26,8 - .align 8 + .long 0x00000000, 0x3cb00000 + .type .FLT_26, @object + .size .FLT_26, 8 + .align 8 .FLT_27: - .long 0x00000fff,0x00000000 - .type .FLT_27,@object - .size .FLT_27,8 - .align 8 + .long 0x00000fff, 0x00000000 + .type .FLT_27, @object + .size .FLT_27, 8 + .align 8 .FLT_28: - .long 0x54442d18,0x401921fb - .type .FLT_28,@object - .size .FLT_28,8 - .align 8 + .long 0x54442d18, 0x401921fb + .type .FLT_28, @object + .size .FLT_28, 8 + .align 8 .FLT_29: - .long 0x33145c07,0x3cb1a626 - .type .FLT_29,@object - .size .FLT_29,8 - .align 8 + .long 0x33145c07, 0x3cb1a626 + .type .FLT_29, @object + .size .FLT_29, 8 + .align 8 .FLT_30: - .long 0xffffffff,0x7fffffff - .type .FLT_30,@object - .size .FLT_30,8 - .align 8 + .long 0xffffffff, 0x7fffffff + .type .FLT_30, @object + .size .FLT_30, 8 + .align 8 .FLT_31: - .long 0x00000000,0x3eb00000 - .type .FLT_31,@object - .size .FLT_31,8 - .align 8 + .long 0x00000000, 0x3eb00000 + .type .FLT_31, @object + .size .FLT_31, 8 + .align 8 .FLT_33: - .long 0x54442d18,0x3f8921fb - .type .FLT_33,@object - .size .FLT_33,8 - .align 8 + .long 0x54442d18, 0x3f8921fb + .type .FLT_33, @object + .size .FLT_33, 8 + .align 8 .FLT_34: - .long 0x33145c07,0x3c21a626 - .type .FLT_34,@object - .size .FLT_34,8 + .long 0x33145c07, 0x3c21a626 + .type .FLT_34, @object + .size .FLT_34, 8 From patchwork Mon Mar 7 15:01:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602356 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=NIXooo5D; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC38F4nvsz9sBy for ; Tue, 8 Mar 2022 03:00:29 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8C4CD3858412 for ; Mon, 7 Mar 2022 16:00:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C4CD3858412 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646668827; bh=wyWHsBWeo9AP55DVWIlbwk+vEk2r/4npRrVNMgHWQ9s=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=NIXooo5DFIHta+arP5IFKFefNp9uYnLaT15zEGHn0cXhsE1NIAqycuz/yEXmg9p/A 2Mf4Xh7PMLevTMEdGn0OYk9550ajNWM70n3URS5OX85zdHqFda2k+Lj2Wsad8sYu4T 0tQuB8JKGMZVYvRFAV0I5ioOLT0zFNKZPO/eSe0g= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id ABC173858423 for ; Mon, 7 Mar 2022 15:02:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org ABC173858423 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347817" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347817" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561746" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fZ016772; Mon, 7 Mar 2022 07:02:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 121/126] x86_64: Fix svml_s_tanhf16_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:01:56 -0800 Message-Id: <20220307150201.10590-122-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../multiarch/svml_s_tanhf16_core_avx512.S | 536 +++++++++--------- 1 file changed, 267 insertions(+), 269 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S index 8954a5f658..5b1f9f151c 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf16_core_avx512.S @@ -28,7 +28,7 @@ * and to approximate tanh(.) with a polynomial on each of them. * * IEEE SPECIAL CONDITIONS: - * x = [+,-]0, r = [+,-]0 + * x = [+, -]0, r = [+, -]0 * x = +Inf, r = +1 * x = -Inf, r = -1 * x = QNaN, r = QNaN @@ -72,310 +72,308 @@ /* Offsets for data table __svml_stanh_data_internal */ -#define _sC 0 -#define _sP0 128 -#define _sP2 256 -#define _sP3 384 -#define _sP4 512 -#define _sP5 640 -#define _sP6 768 -#define _sP7 896 -#define _iExpMantMask_UISA 1024 -#define _iMinIdxOfsMask_UISA 1088 -#define _iMaxIdxMask_UISA 1152 -#define _sSignMask 1216 -#define _sAbsMask 1280 -#define _iExpMantMask 1344 -#define _iExpMask 1408 -#define _iMinIdxOfsMask 1472 -#define _iMaxIdxMask 1536 +#define _sC 0 +#define _sP0 128 +#define _sP2 256 +#define _sP3 384 +#define _sP4 512 +#define _sP5 640 +#define _sP6 768 +#define _sP7 896 +#define _iExpMantMask_UISA 1024 +#define _iMinIdxOfsMask_UISA 1088 +#define _iMaxIdxMask_UISA 1152 +#define _sSignMask 1216 +#define _sAbsMask 1280 +#define _iExpMantMask 1344 +#define _iExpMask 1408 +#define _iMinIdxOfsMask 1472 +#define _iMaxIdxMask 1536 #include - .text - .section .text.exex512,"ax",@progbits + .section .text.exex512, "ax", @progbits ENTRY(_ZGVeN16v_tanhf_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $192, %rsp - vmovaps %zmm0, %zmm1 - vmovups __svml_stanh_data_internal(%rip), %zmm9 - vmovups _sP6+__svml_stanh_data_internal(%rip), %zmm11 - vmovups _sP5+__svml_stanh_data_internal(%rip), %zmm12 - vmovups _sP4+__svml_stanh_data_internal(%rip), %zmm13 - vmovups _sP3+__svml_stanh_data_internal(%rip), %zmm14 - vmovups _sP2+__svml_stanh_data_internal(%rip), %zmm15 - vpternlogd $255, %zmm2, %zmm2, %zmm2 - vandps _sAbsMask+__svml_stanh_data_internal(%rip), %zmm1, %zmm8 - vandps _sSignMask+__svml_stanh_data_internal(%rip), %zmm1, %zmm0 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $192, %rsp + vmovaps %zmm0, %zmm1 + vmovups __svml_stanh_data_internal(%rip), %zmm9 + vmovups _sP6+__svml_stanh_data_internal(%rip), %zmm11 + vmovups _sP5+__svml_stanh_data_internal(%rip), %zmm12 + vmovups _sP4+__svml_stanh_data_internal(%rip), %zmm13 + vmovups _sP3+__svml_stanh_data_internal(%rip), %zmm14 + vmovups _sP2+__svml_stanh_data_internal(%rip), %zmm15 + vpternlogd $255, %zmm2, %zmm2, %zmm2 + vandps _sAbsMask+__svml_stanh_data_internal(%rip), %zmm1, %zmm8 + vandps _sSignMask+__svml_stanh_data_internal(%rip), %zmm1, %zmm0 -/* Here huge arguments, INF and NaNs are filtered out to callout. */ - vpandd _iExpMantMask_UISA+__svml_stanh_data_internal(%rip), %zmm1, %zmm3 - vpsubd _iMinIdxOfsMask_UISA+__svml_stanh_data_internal(%rip), %zmm3, %zmm4 - vpcmpd $2, _iExpMask+__svml_stanh_data_internal(%rip), %zmm3, %k1 + /* Here huge arguments, INF and NaNs are filtered out to callout. */ + vpandd _iExpMantMask_UISA+__svml_stanh_data_internal(%rip), %zmm1, %zmm3 + vpsubd _iMinIdxOfsMask_UISA+__svml_stanh_data_internal(%rip), %zmm3, %zmm4 + vpcmpd $2, _iExpMask+__svml_stanh_data_internal(%rip), %zmm3, %k1 -/* - * small table specific variables * - * Constant loading - */ - vpxord %zmm5, %zmm5, %zmm5 + /* + * small table specific variables * + * Constant loading + */ + vpxord %zmm5, %zmm5, %zmm5 -/* if VMIN, VMAX is defined for I type */ - vpmaxsd %zmm5, %zmm4, %zmm6 - vpminsd _iMaxIdxMask_UISA+__svml_stanh_data_internal(%rip), %zmm6, %zmm7 - vpsrld $21, %zmm7, %zmm10 - vmovups _sP7+__svml_stanh_data_internal(%rip), %zmm4 - vpermt2ps _sC+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm9 - vpermt2ps _sP6+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm11 - vpermt2ps _sP7+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm4 - vpermt2ps _sP5+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm12 - vpermt2ps _sP4+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm13 - vpermt2ps _sP3+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm14 - vpermt2ps _sP2+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm15 - vpandnd %zmm3, %zmm3, %zmm2{%k1} - vptestmd %zmm2, %zmm2, %k0 - vmovups _sP0+__svml_stanh_data_internal(%rip), %zmm3 - vsubps {rn-sae}, %zmm9, %zmm8, %zmm2 - kmovw %k0, %edx - vfmadd213ps {rn-sae}, %zmm11, %zmm2, %zmm4 - vpermt2ps _sP0+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm3 - vfmadd213ps {rn-sae}, %zmm12, %zmm2, %zmm4 - vfmadd213ps {rn-sae}, %zmm13, %zmm2, %zmm4 - vfmadd213ps {rn-sae}, %zmm14, %zmm2, %zmm4 - vfmadd213ps {rn-sae}, %zmm15, %zmm2, %zmm4 - vfmadd213ps {rn-sae}, %zmm3, %zmm2, %zmm4 - vorps %zmm0, %zmm4, %zmm0 - testl %edx, %edx + /* if VMIN, VMAX is defined for I type */ + vpmaxsd %zmm5, %zmm4, %zmm6 + vpminsd _iMaxIdxMask_UISA+__svml_stanh_data_internal(%rip), %zmm6, %zmm7 + vpsrld $21, %zmm7, %zmm10 + vmovups _sP7+__svml_stanh_data_internal(%rip), %zmm4 + vpermt2ps _sC+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm9 + vpermt2ps _sP6+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm11 + vpermt2ps _sP7+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm4 + vpermt2ps _sP5+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm12 + vpermt2ps _sP4+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm13 + vpermt2ps _sP3+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm14 + vpermt2ps _sP2+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm15 + vpandnd %zmm3, %zmm3, %zmm2{%k1} + vptestmd %zmm2, %zmm2, %k0 + vmovups _sP0+__svml_stanh_data_internal(%rip), %zmm3 + vsubps {rn-sae}, %zmm9, %zmm8, %zmm2 + kmovw %k0, %edx + vfmadd213ps {rn-sae}, %zmm11, %zmm2, %zmm4 + vpermt2ps _sP0+64+__svml_stanh_data_internal(%rip), %zmm10, %zmm3 + vfmadd213ps {rn-sae}, %zmm12, %zmm2, %zmm4 + vfmadd213ps {rn-sae}, %zmm13, %zmm2, %zmm4 + vfmadd213ps {rn-sae}, %zmm14, %zmm2, %zmm4 + vfmadd213ps {rn-sae}, %zmm15, %zmm2, %zmm4 + vfmadd213ps {rn-sae}, %zmm3, %zmm2, %zmm4 + vorps %zmm0, %zmm4, %zmm0 + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 zmm1 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovups %zmm1, 64(%rsp) - vmovups %zmm0, 128(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 + vmovups %zmm1, 64(%rsp) + vmovups %zmm0, 128(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 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: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $16, %r12d + incl %r12d + cmpl $16, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovups 128(%rsp), %zmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovups 128(%rsp), %zmm0 -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -176; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x50, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -184; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x48, 0xff, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -192; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x40, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 64(%rsp,%r14,4), %xmm0 - call tanhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 64(%rsp, %r14, 4), %xmm0 + call tanhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 128(%rsp,%r14,4) + movss %xmm0, 128(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN16v_tanhf_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_stanh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _sC[32][1]; - __declspec(align(64)) VUINT32 _sP0[32][1]; - __declspec(align(64)) VUINT32 _sP2[32][1]; - __declspec(align(64)) VUINT32 _sP3[32][1]; - __declspec(align(64)) VUINT32 _sP4[32][1]; - __declspec(align(64)) VUINT32 _sP5[32][1]; - __declspec(align(64)) VUINT32 _sP6[32][1]; - __declspec(align(64)) VUINT32 _sP7[32][1]; - __declspec(align(64)) VUINT32 _iExpMantMask_UISA[16][1]; - __declspec(align(64)) VUINT32 _iMinIdxOfsMask_UISA[16][1]; - __declspec(align(64)) VUINT32 _iMaxIdxMask_UISA[16][1]; - __declspec(align(64)) VUINT32 _sSignMask[16][1]; - __declspec(align(64)) VUINT32 _sAbsMask[16][1]; - __declspec(align(64)) VUINT32 _iExpMantMask[16][1]; - __declspec(align(64)) VUINT32 _iExpMask[16][1]; - __declspec(align(64)) VUINT32 _iMinIdxOfsMask[16][1]; - __declspec(align(64)) VUINT32 _iMaxIdxMask[16][1]; +typedef struct { + __declspec(align(64)) VUINT32 _sC[32][1]; + __declspec(align(64)) VUINT32 _sP0[32][1]; + __declspec(align(64)) VUINT32 _sP2[32][1]; + __declspec(align(64)) VUINT32 _sP3[32][1]; + __declspec(align(64)) VUINT32 _sP4[32][1]; + __declspec(align(64)) VUINT32 _sP5[32][1]; + __declspec(align(64)) VUINT32 _sP6[32][1]; + __declspec(align(64)) VUINT32 _sP7[32][1]; + __declspec(align(64)) VUINT32 _iExpMantMask_UISA[16][1]; + __declspec(align(64)) VUINT32 _iMinIdxOfsMask_UISA[16][1]; + __declspec(align(64)) VUINT32 _iMaxIdxMask_UISA[16][1]; + __declspec(align(64)) VUINT32 _sSignMask[16][1]; + __declspec(align(64)) VUINT32 _sAbsMask[16][1]; + __declspec(align(64)) VUINT32 _iExpMantMask[16][1]; + __declspec(align(64)) VUINT32 _iExpMask[16][1]; + __declspec(align(64)) VUINT32 _iMinIdxOfsMask[16][1]; + __declspec(align(64)) VUINT32 _iMaxIdxMask[16][1]; } __svml_stanh_data_internal; #endif __svml_stanh_data_internal: - /*== _sC ==*/ - .long 0x00000000, 0x3d700000, 0x3d900000, 0x3db00000 - .long 0x3dd00000, 0x3df00000, 0x3e100000, 0x3e300000 - .long 0x3e500000, 0x3e700000, 0x3e900000, 0x3eb00000 - .long 0x3ed00000, 0x3ef00000, 0x3f100000, 0x3f300000 - .long 0x3f500000, 0x3f700000, 0x3f900000, 0x3fb00000 - .long 0x3fd00000, 0x3ff00000, 0x40100000, 0x40300000 - .long 0x40500000, 0x40700000, 0x40900000, 0x40b00000 - .long 0x40d00000, 0x40f00000, 0x41100000, 0x00000000 - /*== p0 ==*/ - .align 64 - .long 0x00000000, 0x3d6fb9c9, 0x3d8fc35f, 0x3daf9169 - .long 0x3dcf49ab, 0x3deee849, 0x3e0f0ee8, 0x3e2e4984 - .long 0x3e4d2f8e, 0x3e6bb32e, 0x3e8c51cd, 0x3ea96163 - .long 0x3ec543f1, 0x3edfd735, 0x3f028438, 0x3f18abf0 - .long 0x3f2bc480, 0x3f3bec1c, 0x3f4f2e5b, 0x3f613c53 - .long 0x3f6ce37d, 0x3f743c4f, 0x3f7a5feb, 0x3f7dea85 - .long 0x3f7f3b3d, 0x3f7fb78c, 0x3f7fefd4, 0x3f7ffdd0 - .long 0x3f7fffb4, 0x3f7ffff6, 0x3f7fffff, 0x3f800000 - /*== p2 ==*/ - .align 64 - .long 0x3f800000, 0x3f7f1f84, 0x3f7ebd11, 0x3f7e1e5f - .long 0x3f7d609f, 0x3f7c842d, 0x3f7b00e5, 0x3f789580 - .long 0x3f75b8ad, 0x3f726fd9, 0x3f6cc59b, 0x3f63fb92 - .long 0x3f59ff97, 0x3f4f11d7, 0x3f3d7573, 0x3f24f360 - .long 0x3f0cbfe7, 0x3eec1a69, 0x3eb0a801, 0x3e6753a2 - .long 0x3e132f1a, 0x3db7e7d3, 0x3d320845, 0x3c84d3d4 - .long 0x3bc477b7, 0x3b10d3da, 0x3a01601e, 0x388c1a3b - .long 0x3717b0da, 0x35a43bce, 0x338306c6, 0x00000000 - /*== p3 ==*/ - .align 64 - .long 0xb0343c7b, 0xbd6ee69d, 0xbd8f0da7, 0xbdae477d - .long 0xbdcd2a1f, 0xbdeba80d, 0xbe0c443b, 0xbe293cf3 - .long 0xbe44f282, 0xbe5f3651, 0xbe81c7c0, 0xbe96d7ca - .long 0xbea7fb8e, 0xbeb50e9e, 0xbec12efe, 0xbec4be92 - .long 0xbebce070, 0xbead510e, 0xbe8ef7d6, 0xbe4b8704 - .long 0xbe083237, 0xbdaf7449, 0xbd2e1ec4, 0xbc83bf06 - .long 0xbbc3e0b5, 0xbb10aadc, 0xba0157db, 0xb88c18f2 - .long 0xb717b096, 0xb5a43bae, 0xb383012c, 0x00000000 - /*== p4 ==*/ - .align 64 - .long 0xbeaaaaa5, 0xbeab0612, 0xbea7f01f, 0xbea4e120 - .long 0xbea387b7, 0xbea15962, 0xbe9d57f7, 0xbe976b5a - .long 0xbe90230d, 0xbe880dff, 0xbe7479b3, 0xbe4c3d88 - .long 0xbe212482, 0xbdeb8cba, 0xbd5e78ad, 0x3c6b5e6e - .long 0x3d839143, 0x3dc21ee1, 0x3de347af, 0x3dcbec96 - .long 0x3d99ef2d, 0x3d542ea1, 0x3cdde701, 0x3c2cca67 - .long 0x3b81cb27, 0x3ac073a1, 0x39ac3032, 0x383a94d9 - .long 0x36ca081d, 0x355abd4c, 0x332b3cb6, 0x00000000 - /*== p5 ==*/ - .align 64 - .long 0xb76dd6b9, 0xbe1c276d, 0x3c1dcf2f, 0x3dc1a78d - .long 0x3d96f985, 0x3da2b61b, 0x3dc13397, 0x3dd2f670 - .long 0x3df48a0a, 0x3e06c5a8, 0x3e1a3aba, 0x3e27c405 - .long 0x3e2e78d0, 0x3e2c3e44, 0x3e1d3097, 0x3df4a8f4 - .long 0x3da38508, 0x3d31416a, 0x3b562657, 0xbcaeeac9 - .long 0xbcce9419, 0xbcaaeac4, 0xbc49e7d0, 0xbba71ddd - .long 0xbb003b0e, 0xba3f9a05, 0xb92c08a7, 0xb7ba9232 - .long 0xb64a0b0f, 0xb4dac169, 0xb2ab78ac, 0x00000000 - /*== p6 ==*/ - .align 64 - .long 0x3e0910e9, 0x43761143, 0x4165ecdc, 0xc190f756 - .long 0xc08c097d, 0xc02ba813, 0xbf7f6bda, 0x3f2b1dc0 - .long 0x3ece105d, 0x3f426a94, 0xbadb0dc4, 0x3da43b17 - .long 0xbd51ab88, 0xbcaea23d, 0xbd3b6d8d, 0xbd6caaad - .long 0xbd795bed, 0xbd5fddda, 0xbd038f3b, 0xbc1cad63 - .long 0x3abb4766, 0x3b95f10b, 0x3b825873, 0x3afaea66 - .long 0x3a49f878, 0x39996bf3, 0x388f3e6c, 0x371bb0e3 - .long 0x35a8a5e6, 0x34369b17, 0x322487b0, 0x00000000 - /*== p7 ==*/ - .align 64 - .long 0xbc0e2f66, 0x460bda12, 0x43d638ef, 0xc3e11c3e - .long 0xc2baa4e9, 0xc249da2d, 0xc1859b82, 0x40dd5b57 - .long 0x40494640, 0x40c730a8, 0xbf0f160e, 0x3e30e76f - .long 0xbea81387, 0xbdb26a1c, 0xbd351e57, 0xbb4c01a0 - .long 0x3c1d7bfb, 0x3c722cd1, 0x3c973f1c, 0x3c33a31b - .long 0x3b862ef4, 0x3a27b3d0, 0xba3b5907, 0xba0efc22 - .long 0xb97f9f0f, 0xb8c8af50, 0xb7bdddfb, 0xb64f2950 - .long 0xb4e085b1, 0xb3731dfa, 0xb15a1f04, 0x00000000 - .align 64 - .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMantMask_UISA */ - .align 64 - .long 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000 /* _iMinIdxOfsMask_UISA */ - .align 64 - .long 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000 /* _iMaxIdxMask_UISA */ - .align 64 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ - .align 64 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ - .align 64 - .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask */ - .align 64 - .long 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000 /* _iExpMask */ - .align 64 - .long 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000 /* _iMinIdxOfsMask */ - .align 64 - .long 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000 /* _iMaxIdxMask */ - .align 64 - .type __svml_stanh_data_internal,@object - .size __svml_stanh_data_internal,.-__svml_stanh_data_internal + /* _sC */ + .long 0x00000000, 0x3d700000, 0x3d900000, 0x3db00000 + .long 0x3dd00000, 0x3df00000, 0x3e100000, 0x3e300000 + .long 0x3e500000, 0x3e700000, 0x3e900000, 0x3eb00000 + .long 0x3ed00000, 0x3ef00000, 0x3f100000, 0x3f300000 + .long 0x3f500000, 0x3f700000, 0x3f900000, 0x3fb00000 + .long 0x3fd00000, 0x3ff00000, 0x40100000, 0x40300000 + .long 0x40500000, 0x40700000, 0x40900000, 0x40b00000 + .long 0x40d00000, 0x40f00000, 0x41100000, 0x00000000 + /* p0 */ + .align 64 + .long 0x00000000, 0x3d6fb9c9, 0x3d8fc35f, 0x3daf9169 + .long 0x3dcf49ab, 0x3deee849, 0x3e0f0ee8, 0x3e2e4984 + .long 0x3e4d2f8e, 0x3e6bb32e, 0x3e8c51cd, 0x3ea96163 + .long 0x3ec543f1, 0x3edfd735, 0x3f028438, 0x3f18abf0 + .long 0x3f2bc480, 0x3f3bec1c, 0x3f4f2e5b, 0x3f613c53 + .long 0x3f6ce37d, 0x3f743c4f, 0x3f7a5feb, 0x3f7dea85 + .long 0x3f7f3b3d, 0x3f7fb78c, 0x3f7fefd4, 0x3f7ffdd0 + .long 0x3f7fffb4, 0x3f7ffff6, 0x3f7fffff, 0x3f800000 + /* p2 */ + .align 64 + .long 0x3f800000, 0x3f7f1f84, 0x3f7ebd11, 0x3f7e1e5f + .long 0x3f7d609f, 0x3f7c842d, 0x3f7b00e5, 0x3f789580 + .long 0x3f75b8ad, 0x3f726fd9, 0x3f6cc59b, 0x3f63fb92 + .long 0x3f59ff97, 0x3f4f11d7, 0x3f3d7573, 0x3f24f360 + .long 0x3f0cbfe7, 0x3eec1a69, 0x3eb0a801, 0x3e6753a2 + .long 0x3e132f1a, 0x3db7e7d3, 0x3d320845, 0x3c84d3d4 + .long 0x3bc477b7, 0x3b10d3da, 0x3a01601e, 0x388c1a3b + .long 0x3717b0da, 0x35a43bce, 0x338306c6, 0x00000000 + /* p3 */ + .align 64 + .long 0xb0343c7b, 0xbd6ee69d, 0xbd8f0da7, 0xbdae477d + .long 0xbdcd2a1f, 0xbdeba80d, 0xbe0c443b, 0xbe293cf3 + .long 0xbe44f282, 0xbe5f3651, 0xbe81c7c0, 0xbe96d7ca + .long 0xbea7fb8e, 0xbeb50e9e, 0xbec12efe, 0xbec4be92 + .long 0xbebce070, 0xbead510e, 0xbe8ef7d6, 0xbe4b8704 + .long 0xbe083237, 0xbdaf7449, 0xbd2e1ec4, 0xbc83bf06 + .long 0xbbc3e0b5, 0xbb10aadc, 0xba0157db, 0xb88c18f2 + .long 0xb717b096, 0xb5a43bae, 0xb383012c, 0x00000000 + /* p4 */ + .align 64 + .long 0xbeaaaaa5, 0xbeab0612, 0xbea7f01f, 0xbea4e120 + .long 0xbea387b7, 0xbea15962, 0xbe9d57f7, 0xbe976b5a + .long 0xbe90230d, 0xbe880dff, 0xbe7479b3, 0xbe4c3d88 + .long 0xbe212482, 0xbdeb8cba, 0xbd5e78ad, 0x3c6b5e6e + .long 0x3d839143, 0x3dc21ee1, 0x3de347af, 0x3dcbec96 + .long 0x3d99ef2d, 0x3d542ea1, 0x3cdde701, 0x3c2cca67 + .long 0x3b81cb27, 0x3ac073a1, 0x39ac3032, 0x383a94d9 + .long 0x36ca081d, 0x355abd4c, 0x332b3cb6, 0x00000000 + /* p5 */ + .align 64 + .long 0xb76dd6b9, 0xbe1c276d, 0x3c1dcf2f, 0x3dc1a78d + .long 0x3d96f985, 0x3da2b61b, 0x3dc13397, 0x3dd2f670 + .long 0x3df48a0a, 0x3e06c5a8, 0x3e1a3aba, 0x3e27c405 + .long 0x3e2e78d0, 0x3e2c3e44, 0x3e1d3097, 0x3df4a8f4 + .long 0x3da38508, 0x3d31416a, 0x3b562657, 0xbcaeeac9 + .long 0xbcce9419, 0xbcaaeac4, 0xbc49e7d0, 0xbba71ddd + .long 0xbb003b0e, 0xba3f9a05, 0xb92c08a7, 0xb7ba9232 + .long 0xb64a0b0f, 0xb4dac169, 0xb2ab78ac, 0x00000000 + /* p6 */ + .align 64 + .long 0x3e0910e9, 0x43761143, 0x4165ecdc, 0xc190f756 + .long 0xc08c097d, 0xc02ba813, 0xbf7f6bda, 0x3f2b1dc0 + .long 0x3ece105d, 0x3f426a94, 0xbadb0dc4, 0x3da43b17 + .long 0xbd51ab88, 0xbcaea23d, 0xbd3b6d8d, 0xbd6caaad + .long 0xbd795bed, 0xbd5fddda, 0xbd038f3b, 0xbc1cad63 + .long 0x3abb4766, 0x3b95f10b, 0x3b825873, 0x3afaea66 + .long 0x3a49f878, 0x39996bf3, 0x388f3e6c, 0x371bb0e3 + .long 0x35a8a5e6, 0x34369b17, 0x322487b0, 0x00000000 + /* p7 */ + .align 64 + .long 0xbc0e2f66, 0x460bda12, 0x43d638ef, 0xc3e11c3e + .long 0xc2baa4e9, 0xc249da2d, 0xc1859b82, 0x40dd5b57 + .long 0x40494640, 0x40c730a8, 0xbf0f160e, 0x3e30e76f + .long 0xbea81387, 0xbdb26a1c, 0xbd351e57, 0xbb4c01a0 + .long 0x3c1d7bfb, 0x3c722cd1, 0x3c973f1c, 0x3c33a31b + .long 0x3b862ef4, 0x3a27b3d0, 0xba3b5907, 0xba0efc22 + .long 0xb97f9f0f, 0xb8c8af50, 0xb7bdddfb, 0xb64f2950 + .long 0xb4e085b1, 0xb3731dfa, 0xb15a1f04, 0x00000000 + .align 64 + .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMantMask_UISA */ + .align 64 + .long 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000, 0x3d400000 /* _iMinIdxOfsMask_UISA */ + .align 64 + .long 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000, 0x03e00000 /* _iMaxIdxMask_UISA */ + .align 64 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ + .align 64 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ + .align 64 + .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask */ + .align 64 + .long 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000 /* _iExpMask */ + .align 64 + .long 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000 /* _iMinIdxOfsMask */ + .align 64 + .long 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000 /* _iMaxIdxMask */ + .align 64 + .type __svml_stanh_data_internal, @object + .size __svml_stanh_data_internal, .-__svml_stanh_data_internal From patchwork Mon Mar 7 15:01:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602368 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=TAhiw3cC; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3Lg5DN5z9sFt for ; Tue, 8 Mar 2022 03:09:31 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B756F385841A for ; Mon, 7 Mar 2022 16:09:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B756F385841A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646669369; bh=CUJgEjz/QLu6/MB68gsGASoC6uUQdGro1vMADg+kXFQ=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=TAhiw3cCv3+LfxOICzZu4jdWLPhM7xd3JJwv22QRnga3im3MpWkvoWY8duCMB/h4m 9P5Z8e8o3BHr5GFzPQchnlK2gC8in+hpHSlVBnj6E2vkc/M8Or3bh/uBVZY19gYNMz 9MtFAJeGDUGOZtjlpWLKDy9/OcbQY5uIgegnsrS0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id 43DA63858438 for ; Mon, 7 Mar 2022 15:03:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 43DA63858438 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="254347820" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="254347820" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561748" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fa016772; Mon, 7 Mar 2022 07:02:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 122/126] x86_64: Fix svml_s_tanhf4_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:57 -0800 Message-Id: <20220307150201.10590-123-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_tanhf4_core_sse4.S | 1440 ++++++++--------- 1 file changed, 719 insertions(+), 721 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S index 50f753ffb3..532ebbac65 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf4_core_sse4.S @@ -28,7 +28,7 @@ * and to approximate tanh(.) with a polynomial on each of them. * * IEEE SPECIAL CONDITIONS: - * x = [+,-]0, r = [+,-]0 + * x = [+, -]0, r = [+, -]0 * x = +Inf, r = +1 * x = -Inf, r = -1 * x = QNaN, r = QNaN @@ -72,761 +72,759 @@ /* Offsets for data table __svml_stanh_data_internal */ -#define _dbP 0 -#define _sSignMask 4288 -#define _sAbsMask 4304 -#define _iExpMantMask 4320 -#define _iExpMask 4336 -#define _iMinIdxOfsMask 4352 -#define _iMaxIdxMask 4368 +#define _dbP 0 +#define _sSignMask 4288 +#define _sAbsMask 4304 +#define _iExpMantMask 4320 +#define _iExpMask 4336 +#define _iMinIdxOfsMask 4352 +#define _iMaxIdxMask 4368 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN4v_tanhf_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm5 + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm5 -/* Here huge arguments, INF and NaNs are filtered out to callout. */ - movdqu _iExpMantMask+__svml_stanh_data_internal(%rip), %xmm9 - lea _dbP+16+__svml_stanh_data_internal(%rip), %r8 - pand %xmm5, %xmm9 + /* Here huge arguments, INF and NaNs are filtered out to callout. */ + movdqu _iExpMantMask+__svml_stanh_data_internal(%rip), %xmm9 + lea _dbP+16+__svml_stanh_data_internal(%rip), %r8 + pand %xmm5, %xmm9 -/* if VMIN, VMAX is defined for I type */ - pxor %xmm7, %xmm7 - movdqa %xmm9, %xmm6 - psubd _iMinIdxOfsMask+__svml_stanh_data_internal(%rip), %xmm9 + /* if VMIN, VMAX is defined for I type */ + pxor %xmm7, %xmm7 + movdqa %xmm9, %xmm6 + psubd _iMinIdxOfsMask+__svml_stanh_data_internal(%rip), %xmm9 -/* - * small table specific variables * - * Constant loading - */ - movdqu _iMaxIdxMask+__svml_stanh_data_internal(%rip), %xmm10 - movdqa %xmm9, %xmm11 - movdqa %xmm9, %xmm8 - pcmpgtd %xmm10, %xmm11 - pcmpgtd %xmm7, %xmm8 - movdqa %xmm11, %xmm14 - pand %xmm8, %xmm9 - andps %xmm11, %xmm10 - andnps %xmm9, %xmm14 - orps %xmm10, %xmm14 - psrld $14, %xmm14 - movd %xmm14, %edx - pshufd $1, %xmm14, %xmm12 - pshufd $2, %xmm14, %xmm13 - movd %xmm12, %ecx - pshufd $3, %xmm14, %xmm15 - movups _sAbsMask+__svml_stanh_data_internal(%rip), %xmm3 - movslq %edx, %rdx - andps %xmm5, %xmm3 - movslq %ecx, %rcx - pcmpgtd _iExpMask+__svml_stanh_data_internal(%rip), %xmm6 - movd %xmm13, %esi - movups -16(%rdx,%r8), %xmm2 - movaps %xmm2, %xmm0 - movd %xmm15, %edi - movmskps %xmm6, %eax - movups -16(%rcx,%r8), %xmm6 - unpcklpd %xmm6, %xmm0 - unpckhpd %xmm6, %xmm2 - cvtps2pd %xmm3, %xmm6 - movhlps %xmm3, %xmm3 - cvtps2pd %xmm3, %xmm3 - movslq %esi, %rsi - movslq %edi, %rdi - movups (%rcx,%r8), %xmm8 - movups (%rdx,%r8), %xmm12 - movups (%rsi,%r8), %xmm13 - movaps %xmm12, %xmm10 - movups (%rdi,%r8), %xmm9 - movaps %xmm13, %xmm11 - unpckhpd %xmm8, %xmm12 - unpckhpd %xmm9, %xmm13 - mulpd %xmm6, %xmm12 - mulpd %xmm3, %xmm13 - unpcklpd %xmm8, %xmm10 - unpcklpd %xmm9, %xmm11 - addpd %xmm10, %xmm12 - addpd %xmm11, %xmm13 - mulpd %xmm6, %xmm12 - mulpd %xmm3, %xmm13 - addpd %xmm2, %xmm12 - movups -16(%rsi,%r8), %xmm1 - movups -16(%rdi,%r8), %xmm7 - movaps %xmm1, %xmm14 - unpckhpd %xmm7, %xmm1 - addpd %xmm1, %xmm13 - mulpd %xmm12, %xmm6 - mulpd %xmm13, %xmm3 - addpd %xmm0, %xmm6 - unpcklpd %xmm7, %xmm14 - addpd %xmm14, %xmm3 - cvtpd2ps %xmm6, %xmm0 - cvtpd2ps %xmm3, %xmm1 - movups _sSignMask+__svml_stanh_data_internal(%rip), %xmm4 - movlhps %xmm1, %xmm0 - andps %xmm5, %xmm4 - orps %xmm4, %xmm0 - testl %eax, %eax + /* + * small table specific variables * + * Constant loading + */ + movdqu _iMaxIdxMask+__svml_stanh_data_internal(%rip), %xmm10 + movdqa %xmm9, %xmm11 + movdqa %xmm9, %xmm8 + pcmpgtd %xmm10, %xmm11 + pcmpgtd %xmm7, %xmm8 + movdqa %xmm11, %xmm14 + pand %xmm8, %xmm9 + andps %xmm11, %xmm10 + andnps %xmm9, %xmm14 + orps %xmm10, %xmm14 + psrld $14, %xmm14 + movd %xmm14, %edx + pshufd $1, %xmm14, %xmm12 + pshufd $2, %xmm14, %xmm13 + movd %xmm12, %ecx + pshufd $3, %xmm14, %xmm15 + movups _sAbsMask+__svml_stanh_data_internal(%rip), %xmm3 + movslq %edx, %rdx + andps %xmm5, %xmm3 + movslq %ecx, %rcx + pcmpgtd _iExpMask+__svml_stanh_data_internal(%rip), %xmm6 + movd %xmm13, %esi + movups -16(%rdx, %r8), %xmm2 + movaps %xmm2, %xmm0 + movd %xmm15, %edi + movmskps %xmm6, %eax + movups -16(%rcx, %r8), %xmm6 + unpcklpd %xmm6, %xmm0 + unpckhpd %xmm6, %xmm2 + cvtps2pd %xmm3, %xmm6 + movhlps %xmm3, %xmm3 + cvtps2pd %xmm3, %xmm3 + movslq %esi, %rsi + movslq %edi, %rdi + movups (%rcx, %r8), %xmm8 + movups (%rdx, %r8), %xmm12 + movups (%rsi, %r8), %xmm13 + movaps %xmm12, %xmm10 + movups (%rdi, %r8), %xmm9 + movaps %xmm13, %xmm11 + unpckhpd %xmm8, %xmm12 + unpckhpd %xmm9, %xmm13 + mulpd %xmm6, %xmm12 + mulpd %xmm3, %xmm13 + unpcklpd %xmm8, %xmm10 + unpcklpd %xmm9, %xmm11 + addpd %xmm10, %xmm12 + addpd %xmm11, %xmm13 + mulpd %xmm6, %xmm12 + mulpd %xmm3, %xmm13 + addpd %xmm2, %xmm12 + movups -16(%rsi, %r8), %xmm1 + movups -16(%rdi, %r8), %xmm7 + movaps %xmm1, %xmm14 + unpckhpd %xmm7, %xmm1 + addpd %xmm1, %xmm13 + mulpd %xmm12, %xmm6 + mulpd %xmm13, %xmm3 + addpd %xmm0, %xmm6 + unpcklpd %xmm7, %xmm14 + addpd %xmm14, %xmm3 + cvtpd2ps %xmm6, %xmm0 + cvtpd2ps %xmm3, %xmm1 + movups _sSignMask+__svml_stanh_data_internal(%rip), %xmm4 + movlhps %xmm1, %xmm0 + andps %xmm5, %xmm4 + orps %xmm4, %xmm0 + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm5 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 eax xmm0 xmm5 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups %xmm5, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 eax + movups %xmm5, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 eax - xorl %edx, %edx - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %edx, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %eax, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d + xorl %edx, %edx + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %edx, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %eax, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 48(%rsp), %xmm0 -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call tanhf@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call tanhf@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movss %xmm0, 48(%rsp,%r14,4) + movss %xmm0, 48(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN4v_tanhf_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_stanh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dbP[(134*4)][2]; - __declspec(align(16)) VUINT32 _sSignMask[4][1]; - __declspec(align(16)) VUINT32 _sAbsMask[4][1]; - __declspec(align(16)) VUINT32 _iExpMantMask[4][1]; - __declspec(align(16)) VUINT32 _iExpMask[4][1]; - __declspec(align(16)) VUINT32 _iMinIdxOfsMask[4][1]; - __declspec(align(16)) VUINT32 _iMaxIdxMask[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _dbP[(134*4)][2]; + __declspec(align(16)) VUINT32 _sSignMask[4][1]; + __declspec(align(16)) VUINT32 _sAbsMask[4][1]; + __declspec(align(16)) VUINT32 _iExpMantMask[4][1]; + __declspec(align(16)) VUINT32 _iExpMask[4][1]; + __declspec(align(16)) VUINT32 _iMinIdxOfsMask[4][1]; + __declspec(align(16)) VUINT32 _iMaxIdxMask[4][1]; } __svml_stanh_data_internal; #endif __svml_stanh_data_internal: - /* Pol_000: err=7.93e-09, x in [0.0000000; 0.0312500]. */ - .quad 0x0000000000000000 /* A00 = +0.000000000000000000000e-01 */ - .quad 0x3FF00000022C70EB /* A01 = +1.000000008097283510367e+00 */ - .quad 0xBED00E878CFFA194 /* A02 = -3.828228912518614443549e-06 */ - .quad 0xBFD551766D0607A9 /* A03 = -3.330970825846813476723e-01 */ - .quad 0xBE53D60CE3E4C297 /* A00 = -1.847383956330407336230e-08 */ - .quad 0x3FF000024177CF5C /* A01 = +1.000002151235967140508e+00 */ - .quad 0xBF1758BC94A51A25 /* A02 = -8.906031613262943753568e-05 */ - .quad 0xBFD53EAE67E0D4F0 /* A03 = -3.319507612644221339337e-01 */ - .quad 0xBE5A9E47EF32D6FE /* A00 = -2.479020984039698285657e-08 */ - .quad 0x3FF00002DA983057 /* A01 = +1.000002721676556793895e+00 */ - .quad 0xBF1BD953509E94AA /* A02 = -1.062352277175377670507e-04 */ - .quad 0xBFD53BDB562EEDD5 /* A03 = -3.317783681520414806876e-01 */ - .quad 0xBE6191BBE496D294 /* A00 = -3.272532162914017685901e-08 */ - .quad 0x3FF0000390492017 /* A01 = +1.000003398528866105366e+00 */ - .quad 0xBF20727E814A57CE /* A02 = -1.254825043772153972919e-04 */ - .quad 0xBFD538DE060A6F22 /* A03 = -3.315959033004550748913e-01 */ - .quad 0xBE66DAFA2A893A25 /* A00 = -4.257146219278012568149e-08 */ - .quad 0x3FF0000465E08CD1 /* A01 = +1.000004194219219266770e+00 */ - .quad 0xBF2341C765EF91B6 /* A02 = -1.469188600530365522261e-04 */ - .quad 0xBFD535B6841FAF9E /* A03 = -3.314033785124993469751e-01 */ - .quad 0xBE6D5794E361E964 /* A00 = -5.465394929765249413434e-08 */ - .quad 0x3FF000055EE2A0CB /* A01 = +1.000005121846742950353e+00 */ - .quad 0xBF265E6C77E66C8B /* A02 = -1.706607253709506650304e-04 */ - .quad 0xBFD53264DDCCEDA6 /* A03 = -3.312008062382240103361e-01 */ - .quad 0xBE729C844D374A6E /* A00 = -6.933284462462096107184e-08 */ - .quad 0x3FF000067F019093 /* A01 = +1.000006195180536350264e+00 */ - .quad 0xBF29CC5348D6DCE5 /* A02 = -1.968242326435338705130e-04 */ - .quad 0xBFD52EE92121ED35 /* A03 = -3.309881995734998416658e-01 */ - .quad 0xBE775AEA17EAA872 /* A00 = -8.700465590574974405858e-08 */ - .quad 0x3FF00007CA1D66B8 /* A01 = +1.000007428656699559610e+00 */ - .quad 0xBF2D8F5EB98A2637 /* A02 = -2.255252009216044881395e-04 */ - .quad 0xBFD52B435CDF9128 /* A03 = -3.307655722585587376727e-01 */ - .quad 0xBE7D04DA28C343F0 /* A00 = -1.081040272327705484794e-07 */ - .quad 0x3FF000094443CCF5 /* A01 = +1.000008837375216730337e+00 */ - .quad 0xBF30D5B76C947AE5 /* A02 = -2.568791210978817814332e-04 */ - .quad 0xBFD52773A0776FAD /* A03 = -3.305329386764651045105e-01 */ - .quad 0xBE81DD77A12C51C7 /* A00 = -1.331054169875768625701e-07 */ - .quad 0x3FF0000AF1AFD2DA /* A01 = +1.000010437096696680470e+00 */ - .quad 0xBF331230624C1680 /* A02 = -2.910011410651516805537e-04 */ - .quad 0xBFD52379FC0B61DF /* A03 = -3.302903138515186909352e-01 */ - .quad 0xBE85D04EEEB3C435 /* A00 = -1.625247628488202841012e-07 */ - .quad 0x3FF0000CD6C9B1F2 /* A01 = +1.000012244238970726684e+00 */ - .quad 0xBF357F0742FADDD4 /* A02 = -3.280060509313874068243e-04 */ - .quad 0xBFD51F56806D0E81 /* A03 = -3.300377134475880880338e-01 */ - .quad 0xBE8A6E289B59681B /* A00 = -1.969211333326924655065e-07 */ - .quad 0x3FF0000EF8268F72 /* A01 = +1.000014275873550406715e+00 */ - .quad 0xBF381E277A1B747A /* A02 = -3.680082682942575423093e-04 */ - .quad 0xBFD51B093F1D6FD4 /* A03 = -3.297751537663746734808e-01 */ - .quad 0xBE8FCBC40EE9ABD5 /* A00 = -2.368983653301529373887e-07 */ - .quad 0x3FF000115A883B6C /* A01 = +1.000016549721943981410e+00 */ - .quad 0xBF3AF17AC974B3D9 /* A02 = -4.111218235774406434303e-04 */ - .quad 0xBFD516924A4C549C /* A03 = -3.295026517456081105450e-01 */ - .quad 0xBE92FFBC60A3F956 /* A00 = -2.831066871072026054144e-07 */ - .quad 0x3FF0001402DCED8A /* A01 = +1.000019084151832604590e+00 */ - .quad 0xBF3DFAE9390C4801 /* A02 = -4.574603454311488280083e-04 */ - .quad 0xBFD511F1B4D7DC3A /* A03 = -3.292202249571719585575e-01 */ - .quad 0xBE9690A22F96D5AD /* A00 = -3.362443262393081632612e-07 */ - .quad 0x3FF00016F63EFF5D /* A01 = +1.000021898173108825247e+00 */ - .quad 0xBF409E2C839605BB /* A02 = -5.071370461992499986334e-04 */ - .quad 0xBFD50D27924BEE00 /* A03 = -3.289278916051614487515e-01 */ - .quad 0xBE9AA56C65E72A73 /* A00 = -3.970591019557469835586e-07 */ - .quad 0x3FF0001A39F4A43E /* A01 = +1.000025011433776978009e+00 */ - .quad 0xBF425BD74C3D6667 /* A02 = -5.602647074553602319844e-04 */ - .quad 0xBFD50833F6E1ABA2 /* A03 = -3.286256705238718156536e-01 */ - .quad 0xBE9F4BD4FF1A83B0 /* A00 = -4.663500013744687071912e-07 */ - .quad 0x3FF0001DD36F9EC2 /* A01 = +1.000028444215715683896e+00 */ - .quad 0xBF44376634149405 /* A02 = -6.169556656102642569831e-04 */ - .quad 0xBFD50316F77EDEE5 /* A03 = -3.283135811757190158922e-01 */ - .quad 0xBEA3B625387BB079 /* A00 = -5.874486399249461304297e-07 */ - .quad 0x3FF00023E14CFBA9 /* A01 = +1.000034217911642153709e+00 */ - .quad 0xBF47392F923218D2 /* A02 = -7.087213783883111826306e-04 */ - .quad 0xBFD4FB1FACDEB938 /* A03 = -3.278273761924483942209e-01 */ - .quad 0xBEAA6E24F543500A /* A00 = -7.876828740601738750574e-07 */ - .quad 0x3FF0002D5C6E8412 /* A01 = +1.000043259679163742959e+00 */ - .quad 0xBF4BAF02BD7FDD70 /* A02 = -8.448375110664940040861e-04 */ - .quad 0xBFD4EFEE6527A7DE /* A03 = -3.271442401734229177279e-01 */ - .quad 0xBEB16E3EBE2157D0 /* A00 = -1.038947396133402500647e-06 */ - .quad 0x3FF00038990FEE2F /* A01 = +1.000053975962952312884e+00 */ - .quad 0xBF50569481C574CB /* A02 = -9.972048056490652716971e-04 */ - .quad 0xBFD4E419278DA2B4 /* A03 = -3.264220129263251113372e-01 */ - .quad 0xBEB6A7B6723165D4 /* A00 = -1.350350836279403750524e-06 */ - .quad 0x3FF00045CAB4158E /* A01 = +1.000066558657042303793e+00 */ - .quad 0xBF531D7C9C849108 /* A02 = -1.166698160951775212202e-03 */ - .quad 0xBFD4D7A0BB33B152 /* A03 = -3.256608799117844954552e-01 */ - .quad 0xBEBD0EE2A8654AFD /* A00 = -1.732000471561702711532e-06 */ - .quad 0x3FF00055276F18D6 /* A01 = +1.000081209219890521211e+00 */ - .quad 0xBF562FDBA3FB6C6C /* A02 = -1.354183666925102939860e-03 */ - .quad 0xBFD4CA85F1B93DB2 /* A03 = -3.248610363561638125773e-01 */ - .quad 0xBEC269D4036A207E /* A00 = -2.195047297096822741730e-06 */ - .quad 0x3FF00066E7DA6E4E /* A01 = +1.000098138500919997540e+00 */ - .quad 0xBF5991499FC36B3A /* A02 = -1.560518167983372759405e-03 */ - .quad 0xBFD4BCC9A72283D6 /* A03 = -3.240226871658341556426e-01 */ - .quad 0xBEC7154B6C09CFE1 /* A00 = -2.751729738565190291276e-06 */ - .quad 0x3FF0007B47086B80 /* A01 = +1.000117566559055148900e+00 */ - .quad 0xBF5D455433B4F8F4 /* A02 = -1.786548832412968197680e-03 */ - .quad 0xBFD4AE6CC1BFE145 /* A03 = -3.231460468373550942722e-01 */ - .quad 0xBECCA68CC64A0F8A /* A00 = -3.415415948561670285790e-06 */ - .quad 0x3FF00092827742F7 /* A01 = +1.000139722473418535387e+00 */ - .quad 0xBF60A7BF15A527AF /* A02 = -2.033112728132522705610e-03 */ - .quad 0xBFD49F703214084C /* A03 = -3.222313393636155876010e-01 */ - .quad 0xBED19E68676B241B /* A00 = -4.200644630977303616698e-06 */ - .quad 0x3FF000ACDA037B26 /* A01 = +1.000164844146362863597e+00 */ - .quad 0xBF62D99F836A02F8 /* A02 = -2.301036405072284102280e-03 */ - .quad 0xBFD48FD4F2B91B28 /* A03 = -3.212787981359945810311e-01 */ - .quad 0xBED57CF4B0C7AA54 /* A00 = -5.123164339408145209103e-06 */ - .quad 0x3FF000CA8FD9E1A1 /* A01 = +1.000193178099017865534e+00 */ - .quad 0xBF653A014548E686 /* A02 = -2.591135484433962181405e-03 */ - .quad 0xBFD47F9C0844B38F /* A03 = -3.202886658426046806447e-01 */ - .quad 0xBEDA012B1B1A41E2 /* A00 = -6.199971197454598722328e-06 */ - .quad 0x3FF000EBE868FDF4 /* A01 = +1.000224979259539459520e+00 */ - .quad 0xBF67CA9427E0A544 /* A02 = -2.904214255086275467410e-03 */ - .quad 0xBFD46EC6812ADB37 /* A03 = -3.192611943626845749655e-01 */ - .quad 0xBEDF3EAC5BF12194 /* A00 = -7.449344990702664567927e-06 */ - .quad 0x3FF001112A520784 /* A01 = +1.000260510744255704196e+00 */ - .quad 0xBF6A8D01ABDA4DC4 /* A02 = -3.241065277345108255891e-03 */ - .quad 0xBFD45D55759FFA4A /* A03 = -3.181966446572103146551e-01 */ - .quad 0xBEE2A541BC274267 /* A00 = -8.890883582164319970972e-06 */ - .quad 0x3FF0013A9E5961F2 /* A01 = +1.000300043631906721231e+00 */ - .quad 0xBF6D82ECD080C540 /* A02 = -3.602468994380686462264e-03 */ - .quad 0xBFD44B4A0779C0AD /* A03 = -3.170952866557950611259e-01 */ - .quad 0xBEE61D97609A27F4 /* A00 = -1.054553560499505625520e-05 */ - .quad 0x3FF001688F56A3AF /* A01 = +1.000343856731187974773e+00 */ - .quad 0xBF7056F8EFB683EC /* A02 = -3.989193351487490407647e-03 */ - .quad 0xBFD438A5620F0F74 /* A03 = -3.159573991399533543500e-01 */ - .quad 0xBEEA145429EDD370 /* A00 = -1.243563138839952927732e-05 */ - .quad 0x3FF0019B4A242A67 /* A01 = +1.000392236341804297339e+00 */ - .quad 0xBF7207D31CA78D9B /* A02 = -4.401993423445739288258e-03 */ - .quad 0xBFD42568BA16E7CD /* A03 = -3.147832696228050619602e-01 */ - .quad 0xBEEE96370D52680F /* A00 = -1.458491207477835326165e-05 */ - .quad 0x3FF001D31D8E4115 /* A01 = +1.000445476009251821736e+00 */ - .quad 0xBF73D4CC11EDC094 /* A02 = -4.841611050196221316400e-03 */ - .quad 0xBFD411954D8664E7 /* A03 = -3.135731942252974469021e-01 */ - .quad 0xBEF338C046215EF8 /* A00 = -1.833122622260562810219e-05 */ - .quad 0x3FF00230C32C2EC1 /* A01 = +1.000534784691737621998e+00 */ - .quad 0xBF76BD019BCC5DAF /* A02 = -5.551344188254799492943e-03 */ - .quad 0xBFD3F2C7156DC21E /* A03 = -3.116929730668135389848e-01 */ - .quad 0xBEF9B15EAE411EAE /* A00 = -2.450261207822986676092e-05 */ - .quad 0x3FF002C2DF057A4D /* A01 = +1.000674124886830940184e+00 */ - .quad 0xBF7B08CCD9AC1E30 /* A02 = -6.600189396301511801646e-03 */ - .quad 0xBFD3C7A7A114FED8 /* A03 = -3.090609620157755976777e-01 */ - .quad 0xBF00E36483C373B3 /* A00 = -3.221178528332122595812e-05 */ - .quad 0x3FF0036F419480D7 /* A01 = +1.000838524028997644777e+00 */ - .quad 0xBF7FD255D1777007 /* A02 = -7.768950679260206403087e-03 */ - .quad 0xBFD39A453911D6CE /* A03 = -3.062909180947429588215e-01 */ - .quad 0xBF05DFA04DD12059 /* A00 = -4.172046622180685472624e-05 */ - .quad 0x3FF00438B2A03D8D /* A01 = +1.001030633695197069599e+00 */ - .quad 0xBF828F8DBB4A9D10 /* A02 = -9.062869337255224921890e-03 */ - .quad 0xBFD36AAB704697D9 /* A03 = -3.033856007044711255993e-01 */ - .quad 0xBF0BF3E0C647DEFB /* A00 = -5.331544597092331081714e-05 */ - .quad 0x3FF005221063D36D /* A01 = +1.001253189109060359741e+00 */ - .quad 0xBF857A2CB3C96102 /* A02 = -1.048693584122917590862e-02 */ - .quad 0xBFD338E65BBB4FEC /* A03 = -3.003478904549854444639e-01 */ - .quad 0xBF11A506ED7C9D31 /* A00 = -6.730894835681591541979e-05 */ - .quad 0x3FF0062E4D0EA92A /* A01 = +1.001508999829250345925e+00 */ - .quad 0xBF88AB82C2761AF3 /* A02 = -1.204588085125866091241e-02 */ - .quad 0xBFD305028D6BD206 /* A03 = -2.971807843271395688234e-01 */ - .quad 0xBF1607C0922D9BF1 /* A00 = -8.403885708006799337092e-05 */ - .quad 0x3FF007606C341961 /* A01 = +1.001800940198869449560e+00 */ - .quad 0xBF8C25E6DA487BCF /* A02 = -1.374416688582682892494e-02 */ - .quad 0xBFD2CF0D0EE8F7B5 /* A03 = -2.938873906713255768075e-01 */ - .quad 0xBF1B3A8480A0A16D /* A00 = -1.038688061788578038307e-04 */ - .quad 0x3FF008BB802D02D6 /* A01 = +1.002131939589323561535e+00 */ - .quad 0xBF8FEB8AE99FD100 /* A02 = -1.558598065819483124983e-02 */ - .quad 0xBFD297135BD0911B /* A03 = -2.904709240558688843059e-01 */ - .quad 0xBF20ABB9BDB75C65 /* A00 = -1.271881327357976163798e-04 */ - .quad 0x3FF00A42A76D8CD1 /* A01 = +1.002504972472525901495e+00 */ - .quad 0xBF91FF3D752BB9E6 /* A02 = -1.757522609380570560722e-02 */ - .quad 0xBFD25D235C1F88B4 /* A03 = -2.869346999779154305799e-01 */ - .quad 0xBF243D3254425461 /* A00 = -1.544116913733432829448e-04 */ - .quad 0x3FF00BF909D1795E /* A01 = +1.002923048355647051011e+00 */ - .quad 0xBF94304E04D44942 /* A02 = -1.971551804042204897316e-02 */ - .quad 0xBFD2214B5E61CFA6 /* A03 = -2.832821294498394371075e-01 */ - .quad 0xBF286070011B61CE /* A00 = -1.859795307186510085994e-04 */ - .quad 0x3FF00DE1D5E1627E /* A01 = +1.003389201612804537689e+00 */ - .quad 0xBF9689D5F4163F59 /* A02 = -2.201017668045266231780e-02 */ - .quad 0xBFD1E39A11C3B42C /* A03 = -2.795167134743816728104e-01 */ - .quad 0xBF2D250B366A79E8 /* A00 = -2.223564326486314902259e-04 */ - .quad 0x3FF010003E134001 /* A01 = +1.003906481248123094829e+00 */ - .quad 0xBF990C9FF91F6F81 /* A02 = -2.446222265267250853271e-02 */ - .quad 0xBFD1A41E80084CDC /* A03 = -2.756420374218586655246e-01 */ - .quad 0xBF314DB5DDC2A30E /* A00 = -2.640313157465248123865e-04 */ - .quad 0x3FF012577608921B /* A01 = +1.004477940624503018441e+00 */ - .quad 0xBF9BB9626875B0C9 /* A02 = -2.707437288829409385849e-02 */ - .quad 0xBFD162E80768A9D0 /* A03 = -2.716617653228725615122e-01 */ - .quad 0xBF346A6133808864 /* A00 = -3.115165050094957730625e-04 */ - .quad 0x3FF014EAAFCC88A3 /* A01 = +1.005106627192198898157e+00 */ - .quad 0xBF9E90BEF9BF7419 /* A02 = -2.984903716411588595059e-02 */ - .quad 0xBFD12006545F7FAD /* A03 = -2.675796340899932457269e-01 */ - .quad 0xBF37F180DC3848EA /* A00 = -3.653468704395550778821e-04 */ - .quad 0x3FF017BD19147861 /* A01 = +1.005795572250939295955e+00 */ - .quad 0xBFA0C9A14C702E07 /* A02 = -3.278831537326359207851e-02 */ - .quad 0xBFD0DB895B650092 /* A03 = -2.633994476818851682154e-01 */ - .quad 0xBF3BEC6AAC6D7635 /* A00 = -4.260788377246944457107e-04 */ - .quad 0x3FF01AD1D884E719 /* A01 = +1.006547780778822565040e+00 */ - .quad 0xBFA260B2A1B1434A /* A02 = -3.589399551186163439542e-02 */ - .quad 0xBFD09581529E93D6 /* A03 = -2.591250712233067465817e-01 */ - .quad 0xBF4164E26167882B /* A00 = -5.308251737086202562063e-04 */ - .quad 0x3FF01FEF14B62B81 /* A01 = +1.007796364693348545316e+00 */ - .quad 0xBFA4EB014538AA42 /* A02 = -4.085544557559163403315e-02 */ - .quad 0xBFD029D36FEAF41F /* A03 = -2.525528519580024222613e-01 */ - .quad 0xBF46F6FFF4E53DC8 /* A00 = -7.008313930700277652464e-04 */ - .quad 0x3FF027CBB51CBBA0 /* A01 = +1.009715754956893363214e+00 */ - .quad 0xBFA89DEC9FEC112E /* A02 = -4.807986690687680864098e-02 */ - .quad 0xBFCF2A99464D0DB4 /* A03 = -2.434875100390009317053e-01 */ - .quad 0xBF4DCC9C4F66A4D9 /* A00 = -9.094012482836712945103e-04 */ - .quad 0x3FF030E7CFCCD583 /* A01 = +1.011939822882909068014e+00 */ - .quad 0xBFACAA3B95814081 /* A02 = -5.598627281199331645611e-02 */ - .quad 0xBFCDF78F156BE7CF /* A03 = -2.341173987004467604844e-01 */ - .quad 0xBF5308ED74E5C7A6 /* A00 = -1.161796466103906435435e-03 */ - .quad 0x3FF03B5986412ECB /* A01 = +1.014489674026594512313e+00 */ - .quad 0xBFB087EBA88DCC3F /* A02 = -6.457398285947223148806e-02 */ - .quad 0xBFCCBB9BD134862F /* A03 = -2.244753619680052991736e-01 */ - .quad 0xBF57FA23C00DF4B5 /* A00 = -1.463446533505758208674e-03 */ - .quad 0x3FF0473558A1BCC0 /* A01 = +1.017384859292903342975e+00 */ - .quad 0xBFB2E702BC6360EF /* A02 = -7.383744334527241048871e-02 */ - .quad 0xBFCB77D546379288 /* A03 = -2.145945160729250122955e-01 */ - .quad 0xBF5DD12971557F71 /* A00 = -1.819887610814388068450e-03 */ - .quad 0x3FF0548DDF5000A8 /* A01 = +1.020643112482540360020e+00 */ - .quad 0xBFB571B63DA186E1 /* A02 = -8.376635555898871710045e-02 */ - .quad 0xBFCA2D5202605148 /* A03 = -2.045080672838912594358e-01 */ - .quad 0xBF6252B1AD5D4F17 /* A00 = -2.236697221556737096709e-03 */ - .quad 0x3FF063738A910BF7 /* A01 = +1.024280110622155737232e+00 */ - .quad 0xBFB8270C8E6B601B /* A02 = -9.434584118878357184013e-02 */ - .quad 0xBFC8DD27D950A07E /* A03 = -1.942491351230763441116e-01 */ - .quad 0xBF66470C91730CFC /* A00 = -2.719425723258004842786e-03 */ - .quad 0x3FF073F468FCF331 /* A01 = +1.028309259519300633556e+00 */ - .quad 0xBFBB05C2952191E4 /* A02 = -1.055566419686964629854e-01 */ - .quad 0xBFC7886A770DE2BD /* A03 = -1.838505822486435070662e-01 */ - .quad 0xBF6AD114AC8E98EC /* A00 = -3.273525599485007861467e-03 */ - .quad 0x3FF0861BF53E5226 /* A01 = +1.032741506559554434119e+00 */ - .quad 0xBFBE0C4F9B461507 /* A02 = -1.173753503881763554650e-01 */ - .quad 0xBFC6302A037CDE3A /* A03 = -1.733448521642786954722e-01 */ - .quad 0xBF6FFBDE2A6C2AF8 /* A00 = -3.904279630096648551207e-03 */ - .quad 0x3FF099F2EB8E7DA3 /* A01 = +1.037585182326304034106e+00 */ - .quad 0xBFC09C74D192DDF0 /* A02 = -1.297746680554463516444e-01 */ - .quad 0xBFC4D571D8E3079F /* A03 = -1.627638157861470424859e-01 */ - .quad 0xBF72E8FDC0B952AA /* A00 = -4.616728994353872309042e-03 */ - .quad 0x3FF0AF7F273C9533 /* A01 = +1.042845872181101141152e+00 */ - .quad 0xBFC244C512736F10 /* A02 = -1.427236881344176033792e-01 */ - .quad 0xBFC379474F58B902 /* A03 = -1.521386277613104298645e-01 */ - .quad 0xBF762EABAF17395B /* A00 = -5.415602341101023557701e-03 */ - .quad 0x3FF0C6C3886F63FB /* A01 = +1.048526318502125631582e+00 */ - .quad 0xBFC3FDF9918EA12A /* A02 = -1.561881981590514389957e-01 */ - .quad 0xBFC21CA89ECAB895 /* A03 = -1.414995932913753196036e-01 */ - .quad 0xBF79D387CE5B2BAE /* A00 = -6.305246822828998107258e-03 */ - .quad 0x3FF0DFBFE2346376 /* A01 = +1.054626353847394337748e+00 */ - .quad 0xBFC5C6DA43602620 /* A02 = -1.701309994680721970894e-01 */ - .quad 0xBFC0C08BD8DB6631 /* A03 = -1.308760460731704100557e-01 */ - .quad 0xBF7DDBA8E8DA9060 /* A00 = -7.289562037531366334164e-03 */ - .quad 0x3FF0FA70F0D1B464 /* A01 = +1.061142864894713433443e+00 */ - .quad 0xBFC79E18D92BAA7C /* A02 = -1.845122394946264732241e-01 */ - .quad 0xBFBECBBBF74C2669 /* A03 = -1.202962378266875381749e-01 */ - .quad 0xBF81254E76EA25DA /* A00 = -8.371937755572145950511e-03 */ - .quad 0x3FF116D05835EBD0 /* A01 = +1.068069786618014660462e+00 */ - .quad 0xBFC982539E2ED224 /* A02 = -1.992897531869327609755e-01 */ - .quad 0xBFBC1B043C350159 /* A03 = -1.097872397413132278254e-01 */ - .quad 0xBF8391ACBA863403 /* A00 = -9.555196230190082448686e-03 */ - .quad 0x3FF134D4AA477FE2 /* A01 = +1.075398125794884141015e+00 */ - .quad 0xBFCB7218609FEAFB /* A02 = -2.144194099235717521079e-01 */ - .quad 0xBFB970A16CB88329 /* A03 = -9.937485603633135211599e-02 */ - .quad 0xBF87935088E48E8B /* A00 = -1.151144902957603431692e-02 */ - .quad 0x3FF1649892AD7DD3 /* A01 = +1.087059567413110938716e+00 */ - .quad 0xBFCE6971DDE75409 /* A02 = -2.375929196847723912089e-01 */ - .quad 0xBFB58291E88CB251 /* A03 = -8.402358939628952472223e-02 */ - .quad 0xBF8DB3A62C325325 /* A00 = -1.450280973794233242702e-02 */ - .quad 0x3FF1A9C900C6DEEA /* A01 = +1.103951457056548068891e+00 */ - .quad 0xBFD13DBC65B0E08E /* A02 = -2.693930619311765140012e-01 */ - .quad 0xBFB06696F62696D1 /* A03 = -6.406539449252625362252e-02 */ - .quad 0xBF92583699F2E27A /* A00 = -1.791463198307716858659e-02 */ - .quad 0x3FF1F451B85AA9F0 /* A01 = +1.122148246892376022288e+00 */ - .quad 0xBFD34FD5F8288180 /* A02 = -3.017477916164565954205e-01 */ - .quad 0xBFA6FB692825B683 /* A03 = -4.488686194495718900788e-02 */ - .quad 0xBF9641C26E673D6F /* A00 = -2.173522757385398448959e-02 */ - .quad 0x3FF24364DA5E2B07 /* A01 = +1.141453602790251542487e+00 */ - .quad 0xBFD564A5A5EF5890 /* A02 = -3.342680092295120530821e-01 */ - .quad 0xBF9B43712011A982 /* A03 = -2.662445791467283467968e-02 */ - .quad 0xBF9A901038EC2F39 /* A00 = -2.594018313816024226548e-02 */ - .quad 0x3FF2961356DFFEBA /* A01 = +1.161639537196534011088e+00 */ - .quad 0xBFD775EBB17198C7 /* A02 = -3.665723069046972759644e-01 */ - .quad 0xBF833B1A926CD462 /* A03 = -9.390075295963199591975e-03 */ - .quad 0xBF9F396A6A461B91 /* A00 = -3.049246095317987084727e-02 */ - .quad 0x3FF2EB53BAEF534B /* A01 = +1.182452898229899629357e+00 */ - .quad 0xBFD97DABF8AD8BBD /* A02 = -3.982953957076310058660e-01 */ - .quad 0x3F7B8F6A3E0F8837 /* A03 = +6.728568086119371925713e-03 */ - .quad 0xBFA21878590F8BAA /* A00 = -3.534294211546946951064e-02 */ - .quad 0x3FF34209790236E1 /* A01 = +1.203622315111197105253e+00 */ - .quad 0xBFDB764C0E71BECB /* A02 = -4.290952817018306997277e-01 */ - .quad 0x3F962FE0C03F84C0 /* A03 = +2.166701482190513949888e-02 */ - .quad 0xBFA4B36B9AD27ECC /* A00 = -4.043136849327097492868e-02 */ - .quad 0x3FF3990C5B12FC16 /* A01 = +1.224865298994477935679e+00 */ - .quad 0xBFDD5AABB0D01390 /* A02 = -4.586590983092770912322e-01 */ - .quad 0x3FA21DAF5CA162DB /* A03 = +3.538272863142363083844e-02 */ - .quad 0xBFA7645E4D7BF28B /* A00 = -4.568762489177399105378e-02 */ - .quad 0x3FF3EF2FD51C0D9F /* A01 = +1.245895225962932562069e+00 */ - .quad 0xBFDF26377E1B686E /* A02 = -4.867075664057044503963e-01 */ - .quad 0x3FA8803E756EE812 /* A03 = +4.785342391501513914509e-02 */ - .quad 0xBFAA210925C64413 /* A00 = -5.103329263796054643398e-02 */ - .quad 0x3FF44349F897D8E7 /* A01 = +1.266427966181760345066e+00 */ - .quad 0xBFE06A7B02C6D8E2 /* A02 = -5.129981092675530707226e-01 */ - .quad 0x3FAE3F194734F5D0 /* A03 = +5.907515520309980505687e-02 */ - .quad 0xBFACDE48F8A19BBB /* A00 = -5.638340029764018351832e-02 */ - .quad 0x3FF49439D5466582 /* A01 = +1.286187966447272845727e+00 */ - .quad 0xBFE131C7C1063DDC /* A02 = -5.373266954429101183166e-01 */ - .quad 0x3FB1ADEEC36AD805 /* A03 = +6.906025191241844940482e-02 */ - .quad 0xBFAF905D8F585680 /* A00 = -6.164829611604449866036e-02 */ - .quad 0x3FF4E0ED1FD27F99 /* A01 = +1.304913639360142818546e+00 */ - .quad 0xBFE1E7A859DC1D3D /* A02 = -5.595285182070380836095e-01 */ - .quad 0x3FB3ED018E4642A1 /* A03 = +7.783517573831001679086e-02 */ - .quad 0xBFB11595104160BA /* A00 = -6.673556944713512906198e-02 */ - .quad 0x3FF528650340490B /* A01 = +1.322361958217302513319e+00 */ - .quad 0xBFE28B14B40BC974 /* A02 = -5.794776455425521000109e-01 */ - .quad 0x3FB5DF49F5BAF6D7 /* A03 = +8.543836831355676453281e-02 */ - .quad 0xBFB2513A97344BA4 /* A00 = -7.155195418844911836587e-02 */ - .quad 0x3FF569BA0DB5EE14 /* A01 = +1.338312200124055273420e+00 */ - .quad 0xBFE31B53A8B67B20 /* A02 = -5.970857901737396389308e-01 */ - .quad 0x3FB787F297BB0544 /* A03 = +9.191814617499455275507e-02 */ - .quad 0xBFB37512E848FAFA /* A00 = -7.600515528700305112331e-02 */ - .quad 0x3FF5A41F33B403C8 /* A01 = +1.352568819013173495591e+00 */ - .quad 0xBFE397F6EA9A58A5 /* A02 = -6.123003561103997904880e-01 */ - .quad 0x3FB8EAA9FF25CA06 /* A03 = +9.733068923177520814782e-02 */ - .quad 0xBFB47B3E603AFC5D /* A00 = -8.000554894805263217439e-02 */ - .quad 0x3FF5D6E3EDE40487 /* A01 = +1.364963464031718975988e+00 */ - .quad 0xBFE400D5BCA6D631 /* A02 = -6.251019177058819709103e-01 */ - .quad 0x3FBA0B830ED567FE /* A03 = +1.017381583418739132707e-01 */ - .quad 0xBFB5BBFE8AC90496 /* A00 = -8.489981544791400103200e-02 */ - .quad 0x3FF612BA70107E95 /* A01 = +1.379572332145390989311e+00 */ - .quad 0xBFE477EAF1FA7693 /* A02 = -6.396383978023599814478e-01 */ - .quad 0x3FBB4784B7C08A95 /* A03 = +1.065600346196709652391e-01 */ - .quad 0xBFB6D5D940743939 /* A00 = -8.920057128509463473254e-02 */ - .quad 0x3FF644A8748F70CE /* A01 = +1.391762214006166953340e+00 */ - .quad 0xBFE4D646AB07EA37 /* A02 = -6.511567440459832267763e-01 */ - .quad 0x3FBC354F4E1D5292 /* A03 = +1.101884427747086558913e-01 */ - .quad 0xBFB7223D19E4F3D1 /* A00 = -9.036619074045339206069e-02 */ - .quad 0x3FF6518FEB42B7FA /* A01 = +1.394912642466350494175e+00 */ - .quad 0xBFE4ED86CB87498C /* A02 = -6.539949393430091184598e-01 */ - .quad 0x3FBC6D29F28CCA9B /* A03 = +1.110407082713131127205e-01 */ - .quad 0xBFB6878652FF6312 /* A00 = -8.800544287022329936754e-02 */ - .quad 0x3FF63948C302D040 /* A01 = +1.388985406648330922508e+00 */ - .quad 0xBFE4C4E2E7904E17 /* A02 = -6.490339777687407218920e-01 */ - .quad 0x3FBC127356CA1ABE /* A03 = +1.096565329445224612481e-01 */ - .quad 0xBFB4F5D18B0C91D6 /* A00 = -8.187589306596207427980e-02 */ - .quad 0x3FF5FD27EB7DD0B8 /* A01 = +1.374305648697413673176e+00 */ - .quad 0xBFE464E01A2B2FC6 /* A02 = -6.373138915164353601739e-01 */ - .quad 0x3FBB460547674A30 /* A03 = +1.065371798825160976065e-01 */ - .quad 0xBFB26642FA16A685 /* A00 = -7.187288861919156890412e-02 */ - .quad 0x3FF59F9BEDE1C95A /* A01 = +1.351467065073470141812e+00 */ - .quad 0xBFE3D67920C8FBEA /* A02 = -6.199308052381387046381e-01 */ - .quad 0x3FBA24F6A8D3CBC1 /* A03 = +1.021265184570401413078e-01 */ - .quad 0xBFADB5294794F097 /* A00 = -5.802277563859197656582e-02 */ - .quad 0x3FF523EA7B9CF453 /* A01 = +1.321268542159732772845e+00 */ - .quad 0xBFE322A8B55E35DB /* A02 = -5.979808370918208160205e-01 */ - .quad 0x3FB8C8673B1B3E37 /* A03 = +9.680791085269722928697e-02 */ - .quad 0xBFA4B7D661965C6A /* A00 = -4.046506825687219699450e-02 */ - .quad 0x3FF48DE3E2CE3122 /* A01 = +1.284641157110919085227e+00 */ - .quad 0xBFE251FED1A7F445 /* A02 = -5.725092024655472622285e-01 */ - .quad 0x3FB745699FCABDB9 /* A03 = +9.090290213747821701507e-02 */ - .quad 0xBF93E60456E4EE1D /* A00 = -1.943213253365004902773e-02 */ - .quad 0x3FF3E1A14E628A59 /* A01 = +1.242585474196536532432e+00 */ - .quad 0xBFE16C5AB660E876 /* A02 = -5.444768488007543094653e-01 */ - .quad 0x3FB5AD33AA8C188F /* A03 = +8.467410005332197397987e-02 */ - .quad 0x3F738C17C47C7961 /* A00 = +4.772274820224659853951e-03 */ - .quad 0x3FF3234DDE3BD146 /* A01 = +1.196119182682268355933e+00 */ - .quad 0xBFE078C0D77A9D3B /* A02 = -5.147403915952176722826e-01 */ - .quad 0x3FB40D74B3E276B8 /* A03 = +7.833032027925923568290e-02 */ - .quad 0x3FA0474BECC689C7 /* A00 = +3.179394975019849550746e-02 */ - .quad 0x3FF256FB4FA7D18A /* A01 = +1.146235762743432307076e+00 */ - .quad 0xBFDEFA8E3FB285E2 /* A02 = -4.840427038235174395098e-01 */ - .quad 0x3FB270C007493D59 /* A03 = +7.203293016322244446403e-02 */ - .quad 0x3FAF5BD51E479BDC /* A00 = +6.124750132203590768931e-02 */ - .quad 0x3FF18081D0B53BC5 /* A01 = +1.093873801484492647162e+00 */ - .quad 0xBFDCFE2439BD0C03 /* A02 = -4.530115665294831006626e-01 */ - .quad 0x3FB0DEFE5A45AFDD /* A03 = +6.590261176978580437424e-02 */ - .quad 0x3FB7BD5D2806EA26 /* A00 = +9.273321368429118805032e-02 */ - .quad 0x3FF0A369E35B4440 /* A01 = +1.039895904647224256223e+00 */ - .quad 0xBFDB04BC5C9951E7 /* A02 = -4.221640495573226181669e-01 */ - .quad 0x3FAEBBBAA9D6DEEF /* A03 = +6.002600978120919278380e-02 */ - .quad 0x3FC01BE411098DBC /* A00 = +1.258511622610124502941e-01 */ - .quad 0x3FEF85BDABC031C1 /* A01 = +9.850757936961188621083e-01 */ - .quad 0xBFD91521375097C2 /* A02 = -3.919146576102968682065e-01 */ - .quad 0x3FABE26F0086D982 /* A03 = +5.446192628317005068883e-02 */ - .quad 0x3FC481D7FF5776B9 /* A00 = +1.602125164781023347604e-01 */ - .quad 0x3FEDC3506C1E7218 /* A01 = +9.300920592973538347792e-01 */ - .quad 0xBFD7349A88DA7D4F /* A02 = -3.625856720409119104964e-01 */ - .quad 0x3FA936E2DFF8E2AE /* A03 = +4.924687370334389358018e-02 */ - .quad 0x3FC90471F96FA27A /* A00 = +1.954481571149420671141e-01 */ - .quad 0x3FEC0451601987A2 /* A01 = +8.755270840595026360376e-01 */ - .quad 0xBFD5671CD4B898DC /* A02 = -3.344184949259110251063e-01 */ - .quad 0x3FA6BB9594603B67 /* A03 = +4.439990459660841243261e-02 */ - .quad 0x3FCFD8ADB9ED944C /* A00 = +2.488000066615846384011e-01 */ - .quad 0x3FE978C073F6809A /* A01 = +7.959902062321078108909e-01 */ - .quad 0xBFD2DF7E00BCD5A9 /* A02 = -2.948908812716931060471e-01 */ - .quad 0x3FA3614033D490B2 /* A03 = +3.785133965200894456959e-02 */ - .quad 0x3FD4846A12AFE5A0 /* A00 = +3.205819303981005674586e-01 */ - .quad 0x3FE63A1147D40472 /* A01 = +6.945883181471244061100e-01 */ - .quad 0xBFCFA2268AD34450 /* A02 = -2.471359422548027318101e-01 */ - .quad 0x3F9F150201D9FFE0 /* A03 = +3.035357605267552383310e-02 */ - .quad 0x3FD9018641F82BEB /* A00 = +3.907180446846598154131e-01 */ - .quad 0x3FE33B7C220FFBDC /* A01 = +6.010113396913498995389e-01 */ - .quad 0xBFCA4E4187E29C86 /* A02 = -2.055131829740483584423e-01 */ - .quad 0x3F98C30CED19F8F4 /* A03 = +2.418155858185229434287e-02 */ - .quad 0x3FDD4B8255BEB078 /* A00 = +4.577337109901757905561e-01 */ - .quad 0x3FE0858B19D3A49B /* A01 = +5.163016800335243905451e-01 */ - .quad 0xBFC5BC929EACE564 /* A02 = -1.698172831327539045176e-01 */ - .quad 0x3F93A083CE57DE2B /* A03 = +1.916700312537337677621e-02 */ - .quad 0x3FE0A8E5E039295C /* A00 = +5.206174258576470315063e-01 */ - .quad 0x3FDC35E1234583FE /* A01 = +4.407885403107342225937e-01 */ - .quad 0xBFC1DE034E31AEB9 /* A02 = -1.395877963835710222629e-01 */ - .quad 0x3F8EFDEBB3471BDC /* A03 = +1.513275280821162888101e-02 */ - .quad 0x3FE2851B603CB2A5 /* A00 = +5.787484054213406503564e-01 */ - .quad 0x3FD7F4A44ABBB286 /* A01 = +3.743067483726821853551e-01 */ - .quad 0xBFBD3EEB67087DE7 /* A02 = -1.142413260026767657385e-01 */ - .quad 0x3F8864F38329E8BD /* A03 = +1.191129917173260922836e-02 */ - .quad 0x3FE437DBE3C34AC1 /* A00 = +6.318187187665317283702e-01 */ - .quad 0x3FD43F6F789441B5 /* A01 = +3.163717916040938438194e-01 */ - .quad 0xBFB7D92E7901B9A4 /* A02 = -9.315767721429907277653e-02 */ - .quad 0x3F8327ED342308E1 /* A03 = +9.353497651663324544136e-03 */ - .quad 0x3FE5C0977766D55C /* A00 = +6.797597248138731451661e-01 */ - .quad 0x3FD10B42A764D8F9 /* A01 = +2.663122782427219115142e-01 */ - .quad 0xBFB3633351D3D70F /* A02 = -7.573242900602060456716e-02 */ - .quad 0x3F7E079E30FF899C /* A03 = +7.331483779099558922843e-03 */ - .quad 0x3FE7202CE08A88C4 /* A00 = +7.226776490754436288455e-01 */ - .quad 0x3FCC973EB5662B01 /* A01 = +2.233656297433626314319e-01 */ - .quad 0xBFAF70A455F9920B /* A02 = -6.140626477716545211782e-02 */ - .quad 0x3F77812411CE99B6 /* A03 = +5.738392731393584730859e-03 */ - .quad 0x3FE85879424095B1 /* A00 = +7.608000082006382003286e-01 */ - .quad 0x3FC7E73BD1674D84 /* A01 = +1.867441914060742336190e-01 */ - .quad 0xBFA96F84E4BF333B /* A02 = -4.967894832916504993525e-02 */ - .quad 0x3F72606DDCA6E117 /* A03 = +4.486493251924870105662e-03 */ - .quad 0x3FE96BFE4957F4DD /* A00 = +7.944327766887472330737e-01 */ - .quad 0x3FC3ED4780D25478 /* A01 = +1.556786898624158421711e-01 */ - .quad 0xBFA489C5F9A56B58 /* A02 = -4.011362717093075458408e-02 */ - .quad 0x3F6CB5DC17E9AD2A /* A03 = +3.504686231556104931972e-03 */ - .quad 0x3FEA5D9CB2F41234 /* A00 = +8.239272589858672724006e-01 */ - .quad 0x3FC091A758374DCF /* A01 = +1.294449978582705440555e-01 */ - .quad 0xBFA08E436D4B5CE0 /* A02 = -3.233538350257858517978e-02 */ - .quad 0x3F666997AD53E6B7 /* A03 = +2.735897297154145629133e-03 */ - .quad 0x3FEB3060342CB850 /* A00 = +8.496552485501158713532e-01 */ - .quad 0x3FBB7D30BBC7DC1B /* A01 = +1.073790033768634993860e-01 */ - .quad 0xBF9AA6BA3443D9E3 /* A02 = -2.602663940430173170060e-02 */ - .quad 0x3F617CA764B7850B /* A03 = +2.134634914668814050648e-03 */ - .quad 0x3FEBE759A6A0C7B8 /* A00 = +8.719909910635044170135e-01 */ - .quad 0x3FB6C10DE6A703FF /* A01 = +8.888327485239243264115e-02 */ - .quad 0xBF956C566D8BE1F6 /* A02 = -2.092108768099084498138e-02 */ - .quad 0x3F5B46D1A4A59CF8 /* A03 = +1.664833764687232917079e-03 */ - .quad 0x3FEC858494887A04 /* A00 = +8.912985707318630268503e-01 */ - .quad 0x3FB2CC31F543394D /* A01 = +7.342827070099140762682e-02 */ - .quad 0xBF9133477FF69137 /* A02 = -1.679717749142747504343e-02 */ - .quad 0x3F5544482FBB4DA5 /* A03 = +1.298017973501022466823e-03 */ - .quad 0x3FED0DB59D0E32E9 /* A00 = +9.079235141267335551518e-01 */ - .quad 0x3FAF006BAFFC6EF4 /* A01 = +6.055008433597022787787e-02 */ - .quad 0xBF8B97146FA2B97A /* A02 = -1.347175565419144252499e-02 */ - .quad 0x3F5093B01F4CDC69 /* A03 = +1.011774057770665211434e-03 */ - .quad 0x3FEDB487C3EC457C /* A00 = +9.282873942012623835751e-01 */ - .quad 0x3FA7390C09D0BD1D /* A01 = +4.535710925881118044112e-02 */ - .quad 0xBF83D9F7C3181106 /* A02 = -9.693084374710735778846e-03 */ - .quad 0x3F46E34A0A3C0E64 /* A03 = +6.984817050299072134500e-04 */ - .quad 0x3FEE5FFCB4E6EB00 /* A00 = +9.492171796076434020506e-01 */ - .quad 0x3F9F4913ED00AADF /* A01 = +3.055220731782070861526e-02 */ - .quad 0xBF79670BD0E59B5C /* A02 = -6.201788097633133961528e-03 */ - .quad 0x3F3BC998EBCAF96D /* A03 = +4.240034429975534616304e-04 */ - .quad 0x3FEEDBA41E9542FE /* A00 = +9.643116566968215064293e-01 */ - .quad 0x3F94F5DD18D9C24D /* A01 = +2.046914543319848858727e-02 */ - .quad 0xBF7034896AA122B9 /* A02 = -3.956352980886528904192e-03 */ - .quad 0x3F30DCCB47810B39 /* A03 = +2.573009765038273091199e-04 */ - .quad 0x3FEF33F2882520ED /* A00 = +9.750912341196716903724e-01 */ - .quad 0x3F8BF37F2CF553FF /* A01 = +1.364802699996836392315e-02 */ - .quad 0xBF649F6F05A69619 /* A02 = -2.517430152880317534986e-03 */ - .quad 0x3F247623C950AAC9 /* A03 = +1.561087307505231250044e-04 */ - .quad 0x3FEF727757751741 /* A00 = +9.827229221489021115943e-01 */ - .quad 0x3F828E67912C4400 /* A01 = +9.060677640748693306705e-03 */ - .quad 0xBF5A2F51A806CC2C /* A02 = -1.598195784123355826789e-03 */ - .quad 0x3F18D35D7687E613 /* A03 = +9.470231965016282719549e-05 */ - .quad 0x3FEF9E6325C5942A /* A00 = +9.880843866091073568469e-01 */ - .quad 0x3F788AB117618F76 /* A01 = +5.991641772286606867914e-03 */ - .quad 0xBF5096EAB0B1EA89 /* A02 = -1.012543859160305046233e-03 */ - .quad 0x3F0E1E50EC4435AB /* A03 = +5.744633156910412119652e-05 */ - .quad 0x3FEFBD0784049369 /* A00 = +9.918248728250605994461e-01 */ - .quad 0x3F702BBD8294035F /* A01 = +3.947963975634432264028e-03 */ - .quad 0xBF44FB55E0F00593 /* A02 = -6.403130845457509273330e-04 */ - .quad 0x3F0244DCD723230A /* A03 = +3.484534217219031730379e-05 */ - .quad 0x3FEFD245E2366A43 /* A00 = +9.944180887426415926811e-01 */ - .quad 0x3F653D82EC088433 /* A01 = +2.592807490387838333795e-03 */ - .quad 0xBF3A7DF75E013CB8 /* A02 = -4.042366908878036561859e-04 */ - .quad 0x3EF6298E69F991CD /* A03 = +2.113564425911141559972e-05 */ - .quad 0x3FEFE0EAA508BC69 /* A00 = +9.962056372950317539861e-01 */ - .quad 0x3F5BD0771AF3FDDA /* A01 = +1.697651208644282514598e-03 */ - .quad 0xBF30B2E1254DE571 /* A02 = -2.548026725928887099328e-04 */ - .quad 0x3EEAE28B70EC0256 /* A03 = +1.281973848454955042307e-05 */ - .quad 0x3FEFEAF5303D7F96 /* A00 = +9.974313680831865536192e-01 */ - .quad 0x3F5229111365657E /* A01 = +1.108423877289460134782e-03 */ - .quad 0xBF250572D04DFE66 /* A02 = -1.603796628408704519168e-04 */ - .quad 0x3EE04E89BB57C981 /* A03 = +7.775682983689149966743e-06 */ - .quad 0x3FEFF1CF52F1CF44 /* A00 = +9.982678051005469122003e-01 */ - .quad 0x3F47A71316147CEB /* A01 = +7.218211359577819110842e-04 */ - .quad 0xBF1A6D7604055719 /* A02 = -1.008132248946049582547e-04 */ - .quad 0x3ED3C8047586A85C /* A03 = +4.716233739913014633626e-06 */ - .quad 0x3FEFF6770369EF69 /* A00 = +9.988360468555416149528e-01 */ - .quad 0x3F3EBB261180FBF0 /* A01 = +4.689186039321105101130e-04 */ - .quad 0xBF1097754FE19D7F /* A02 = -6.329206004950480057066e-05 */ - .quad 0x3EC7FEFF83BCA0A7 /* A03 = +2.860556404988488738366e-06 */ - .quad 0x3FEFF99D42371AC4 /* A00 = +9.992204945818561334647e-01 */ - .quad 0x3F33EB2AEC271F59 /* A01 = +3.039340773764907474054e-04 */ - .quad 0xBF04CF18E0FC0D79 /* A02 = -3.968996690952969588805e-05 */ - .quad 0x3EBD1BDBD6019BE9 /* A03 = +1.735021065507727833886e-06 */ - .quad 0x3FEFFBBCA32B0D91 /* A00 = +9.994795977476532700123e-01 */ - .quad 0x3F29C41E1615110A /* A01 = +1.965796209707565346710e-04 */ - .quad 0xBEFA11F93D9DCB5A /* A02 = -2.486248909101414873235e-05 */ - .quad 0x3EB1A7CA4546F7A7 /* A03 = +1.052345642723709228769e-06 */ - .quad 0x3FEFFD298B8E8DE2 /* A00 = +9.996535993308806045121e-01 */ - .quad 0x3F20A1C42D523C5B /* A01 = +1.268913244172078754520e-04 */ - .quad 0xBEF0507A364AFAE4 /* A02 = -1.555859070622834605755e-05 */ - .quad 0x3EA56ACA17E7CDF4 /* A03 = +6.382806956848098872313e-07 */ - .quad 0x3FEFFE1DC82BA5A3 /* A00 = +9.997700604991915929176e-01 */ - .quad 0x3F156E73B90F1769 /* A01 = +8.175450626798714452801e-05 */ - .quad 0xBEE4663579D0A09F /* A02 = -9.727122057226747625365e-06 */ - .quad 0x3E99FAF6FEC5D4C1 /* A03 = +3.871371052824002996020e-07 */ - .quad 0x3FEFFEF8D0BB5E81 /* A00 = +9.998745037837154514548e-01 */ - .quad 0x3F06686DA18D39C3 /* A01 = +4.273972098777251447726e-05 */ - .quad 0xBED46BC298073E90 /* A02 = -4.868731025855742842491e-06 */ - .quad 0x3E88E42286B9D0FD /* A03 = +1.854535328530838170114e-07 */ - .quad 0x3FEFFF8DBC68DDC7 /* A00 = +9.999455146670975791423e-01 */ - .quad 0x3EF26B2953A80AF0 /* A01 = +1.756534514108903368909e-05 */ - .quad 0xBEBFC4472D580F83 /* A02 = -1.893443529411295465239e-06 */ - .quad 0x3E72505B4553D19F /* A03 = +6.822456673547912277047e-08 */ - .quad 0x3FEFFFCED1276609 /* A00 = +9.999765477215883935358e-01 */ - .quad 0x3EDE1A94C7CC58F5 /* A01 = +7.177313020153979672606e-06 */ - .quad 0xBEA8A2C988744E57 /* A02 = -7.342066660497443762363e-07 */ - .quad 0x3E5AF30036BBBAF4 /* A03 = +2.509841882843541084885e-08 */ - .quad 0x3FEFFFEAFE70FCFC /* A00 = +9.999899835164849370983e-01 */ - .quad 0x3EC879175E3549F5 /* A01 = +2.917410471128503564412e-06 */ - .quad 0xBE930E36677D1813 /* A02 = -2.839493400307523115929e-07 */ - .quad 0x3E43D4005B42D48F /* A03 = +9.233192745401904898013e-09 */ - .quad 0x3ff0000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .align 16 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ - .align 16 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ - .align 16 - .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask */ - .align 16 - .long 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000 /* _iExpMask */ - .align 16 - .long 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000 /* _iMinIdxOfsMask */ - .align 16 - .long 0x04280000, 0x04280000, 0x04280000, 0x04280000 /* _iMaxIdxMask */ - .align 16 - .type __svml_stanh_data_internal,@object - .size __svml_stanh_data_internal,.-__svml_stanh_data_internal + /* Pol_000: err=7.93e-09, x in [0.0000000; 0.0312500]. */ + .quad 0x0000000000000000 /* A00 = +0.000000000000000000000e-01 */ + .quad 0x3FF00000022C70EB /* A01 = +1.000000008097283510367e+00 */ + .quad 0xBED00E878CFFA194 /* A02 = -3.828228912518614443549e-06 */ + .quad 0xBFD551766D0607A9 /* A03 = -3.330970825846813476723e-01 */ + .quad 0xBE53D60CE3E4C297 /* A00 = -1.847383956330407336230e-08 */ + .quad 0x3FF000024177CF5C /* A01 = +1.000002151235967140508e+00 */ + .quad 0xBF1758BC94A51A25 /* A02 = -8.906031613262943753568e-05 */ + .quad 0xBFD53EAE67E0D4F0 /* A03 = -3.319507612644221339337e-01 */ + .quad 0xBE5A9E47EF32D6FE /* A00 = -2.479020984039698285657e-08 */ + .quad 0x3FF00002DA983057 /* A01 = +1.000002721676556793895e+00 */ + .quad 0xBF1BD953509E94AA /* A02 = -1.062352277175377670507e-04 */ + .quad 0xBFD53BDB562EEDD5 /* A03 = -3.317783681520414806876e-01 */ + .quad 0xBE6191BBE496D294 /* A00 = -3.272532162914017685901e-08 */ + .quad 0x3FF0000390492017 /* A01 = +1.000003398528866105366e+00 */ + .quad 0xBF20727E814A57CE /* A02 = -1.254825043772153972919e-04 */ + .quad 0xBFD538DE060A6F22 /* A03 = -3.315959033004550748913e-01 */ + .quad 0xBE66DAFA2A893A25 /* A00 = -4.257146219278012568149e-08 */ + .quad 0x3FF0000465E08CD1 /* A01 = +1.000004194219219266770e+00 */ + .quad 0xBF2341C765EF91B6 /* A02 = -1.469188600530365522261e-04 */ + .quad 0xBFD535B6841FAF9E /* A03 = -3.314033785124993469751e-01 */ + .quad 0xBE6D5794E361E964 /* A00 = -5.465394929765249413434e-08 */ + .quad 0x3FF000055EE2A0CB /* A01 = +1.000005121846742950353e+00 */ + .quad 0xBF265E6C77E66C8B /* A02 = -1.706607253709506650304e-04 */ + .quad 0xBFD53264DDCCEDA6 /* A03 = -3.312008062382240103361e-01 */ + .quad 0xBE729C844D374A6E /* A00 = -6.933284462462096107184e-08 */ + .quad 0x3FF000067F019093 /* A01 = +1.000006195180536350264e+00 */ + .quad 0xBF29CC5348D6DCE5 /* A02 = -1.968242326435338705130e-04 */ + .quad 0xBFD52EE92121ED35 /* A03 = -3.309881995734998416658e-01 */ + .quad 0xBE775AEA17EAA872 /* A00 = -8.700465590574974405858e-08 */ + .quad 0x3FF00007CA1D66B8 /* A01 = +1.000007428656699559610e+00 */ + .quad 0xBF2D8F5EB98A2637 /* A02 = -2.255252009216044881395e-04 */ + .quad 0xBFD52B435CDF9128 /* A03 = -3.307655722585587376727e-01 */ + .quad 0xBE7D04DA28C343F0 /* A00 = -1.081040272327705484794e-07 */ + .quad 0x3FF000094443CCF5 /* A01 = +1.000008837375216730337e+00 */ + .quad 0xBF30D5B76C947AE5 /* A02 = -2.568791210978817814332e-04 */ + .quad 0xBFD52773A0776FAD /* A03 = -3.305329386764651045105e-01 */ + .quad 0xBE81DD77A12C51C7 /* A00 = -1.331054169875768625701e-07 */ + .quad 0x3FF0000AF1AFD2DA /* A01 = +1.000010437096696680470e+00 */ + .quad 0xBF331230624C1680 /* A02 = -2.910011410651516805537e-04 */ + .quad 0xBFD52379FC0B61DF /* A03 = -3.302903138515186909352e-01 */ + .quad 0xBE85D04EEEB3C435 /* A00 = -1.625247628488202841012e-07 */ + .quad 0x3FF0000CD6C9B1F2 /* A01 = +1.000012244238970726684e+00 */ + .quad 0xBF357F0742FADDD4 /* A02 = -3.280060509313874068243e-04 */ + .quad 0xBFD51F56806D0E81 /* A03 = -3.300377134475880880338e-01 */ + .quad 0xBE8A6E289B59681B /* A00 = -1.969211333326924655065e-07 */ + .quad 0x3FF0000EF8268F72 /* A01 = +1.000014275873550406715e+00 */ + .quad 0xBF381E277A1B747A /* A02 = -3.680082682942575423093e-04 */ + .quad 0xBFD51B093F1D6FD4 /* A03 = -3.297751537663746734808e-01 */ + .quad 0xBE8FCBC40EE9ABD5 /* A00 = -2.368983653301529373887e-07 */ + .quad 0x3FF000115A883B6C /* A01 = +1.000016549721943981410e+00 */ + .quad 0xBF3AF17AC974B3D9 /* A02 = -4.111218235774406434303e-04 */ + .quad 0xBFD516924A4C549C /* A03 = -3.295026517456081105450e-01 */ + .quad 0xBE92FFBC60A3F956 /* A00 = -2.831066871072026054144e-07 */ + .quad 0x3FF0001402DCED8A /* A01 = +1.000019084151832604590e+00 */ + .quad 0xBF3DFAE9390C4801 /* A02 = -4.574603454311488280083e-04 */ + .quad 0xBFD511F1B4D7DC3A /* A03 = -3.292202249571719585575e-01 */ + .quad 0xBE9690A22F96D5AD /* A00 = -3.362443262393081632612e-07 */ + .quad 0x3FF00016F63EFF5D /* A01 = +1.000021898173108825247e+00 */ + .quad 0xBF409E2C839605BB /* A02 = -5.071370461992499986334e-04 */ + .quad 0xBFD50D27924BEE00 /* A03 = -3.289278916051614487515e-01 */ + .quad 0xBE9AA56C65E72A73 /* A00 = -3.970591019557469835586e-07 */ + .quad 0x3FF0001A39F4A43E /* A01 = +1.000025011433776978009e+00 */ + .quad 0xBF425BD74C3D6667 /* A02 = -5.602647074553602319844e-04 */ + .quad 0xBFD50833F6E1ABA2 /* A03 = -3.286256705238718156536e-01 */ + .quad 0xBE9F4BD4FF1A83B0 /* A00 = -4.663500013744687071912e-07 */ + .quad 0x3FF0001DD36F9EC2 /* A01 = +1.000028444215715683896e+00 */ + .quad 0xBF44376634149405 /* A02 = -6.169556656102642569831e-04 */ + .quad 0xBFD50316F77EDEE5 /* A03 = -3.283135811757190158922e-01 */ + .quad 0xBEA3B625387BB079 /* A00 = -5.874486399249461304297e-07 */ + .quad 0x3FF00023E14CFBA9 /* A01 = +1.000034217911642153709e+00 */ + .quad 0xBF47392F923218D2 /* A02 = -7.087213783883111826306e-04 */ + .quad 0xBFD4FB1FACDEB938 /* A03 = -3.278273761924483942209e-01 */ + .quad 0xBEAA6E24F543500A /* A00 = -7.876828740601738750574e-07 */ + .quad 0x3FF0002D5C6E8412 /* A01 = +1.000043259679163742959e+00 */ + .quad 0xBF4BAF02BD7FDD70 /* A02 = -8.448375110664940040861e-04 */ + .quad 0xBFD4EFEE6527A7DE /* A03 = -3.271442401734229177279e-01 */ + .quad 0xBEB16E3EBE2157D0 /* A00 = -1.038947396133402500647e-06 */ + .quad 0x3FF00038990FEE2F /* A01 = +1.000053975962952312884e+00 */ + .quad 0xBF50569481C574CB /* A02 = -9.972048056490652716971e-04 */ + .quad 0xBFD4E419278DA2B4 /* A03 = -3.264220129263251113372e-01 */ + .quad 0xBEB6A7B6723165D4 /* A00 = -1.350350836279403750524e-06 */ + .quad 0x3FF00045CAB4158E /* A01 = +1.000066558657042303793e+00 */ + .quad 0xBF531D7C9C849108 /* A02 = -1.166698160951775212202e-03 */ + .quad 0xBFD4D7A0BB33B152 /* A03 = -3.256608799117844954552e-01 */ + .quad 0xBEBD0EE2A8654AFD /* A00 = -1.732000471561702711532e-06 */ + .quad 0x3FF00055276F18D6 /* A01 = +1.000081209219890521211e+00 */ + .quad 0xBF562FDBA3FB6C6C /* A02 = -1.354183666925102939860e-03 */ + .quad 0xBFD4CA85F1B93DB2 /* A03 = -3.248610363561638125773e-01 */ + .quad 0xBEC269D4036A207E /* A00 = -2.195047297096822741730e-06 */ + .quad 0x3FF00066E7DA6E4E /* A01 = +1.000098138500919997540e+00 */ + .quad 0xBF5991499FC36B3A /* A02 = -1.560518167983372759405e-03 */ + .quad 0xBFD4BCC9A72283D6 /* A03 = -3.240226871658341556426e-01 */ + .quad 0xBEC7154B6C09CFE1 /* A00 = -2.751729738565190291276e-06 */ + .quad 0x3FF0007B47086B80 /* A01 = +1.000117566559055148900e+00 */ + .quad 0xBF5D455433B4F8F4 /* A02 = -1.786548832412968197680e-03 */ + .quad 0xBFD4AE6CC1BFE145 /* A03 = -3.231460468373550942722e-01 */ + .quad 0xBECCA68CC64A0F8A /* A00 = -3.415415948561670285790e-06 */ + .quad 0x3FF00092827742F7 /* A01 = +1.000139722473418535387e+00 */ + .quad 0xBF60A7BF15A527AF /* A02 = -2.033112728132522705610e-03 */ + .quad 0xBFD49F703214084C /* A03 = -3.222313393636155876010e-01 */ + .quad 0xBED19E68676B241B /* A00 = -4.200644630977303616698e-06 */ + .quad 0x3FF000ACDA037B26 /* A01 = +1.000164844146362863597e+00 */ + .quad 0xBF62D99F836A02F8 /* A02 = -2.301036405072284102280e-03 */ + .quad 0xBFD48FD4F2B91B28 /* A03 = -3.212787981359945810311e-01 */ + .quad 0xBED57CF4B0C7AA54 /* A00 = -5.123164339408145209103e-06 */ + .quad 0x3FF000CA8FD9E1A1 /* A01 = +1.000193178099017865534e+00 */ + .quad 0xBF653A014548E686 /* A02 = -2.591135484433962181405e-03 */ + .quad 0xBFD47F9C0844B38F /* A03 = -3.202886658426046806447e-01 */ + .quad 0xBEDA012B1B1A41E2 /* A00 = -6.199971197454598722328e-06 */ + .quad 0x3FF000EBE868FDF4 /* A01 = +1.000224979259539459520e+00 */ + .quad 0xBF67CA9427E0A544 /* A02 = -2.904214255086275467410e-03 */ + .quad 0xBFD46EC6812ADB37 /* A03 = -3.192611943626845749655e-01 */ + .quad 0xBEDF3EAC5BF12194 /* A00 = -7.449344990702664567927e-06 */ + .quad 0x3FF001112A520784 /* A01 = +1.000260510744255704196e+00 */ + .quad 0xBF6A8D01ABDA4DC4 /* A02 = -3.241065277345108255891e-03 */ + .quad 0xBFD45D55759FFA4A /* A03 = -3.181966446572103146551e-01 */ + .quad 0xBEE2A541BC274267 /* A00 = -8.890883582164319970972e-06 */ + .quad 0x3FF0013A9E5961F2 /* A01 = +1.000300043631906721231e+00 */ + .quad 0xBF6D82ECD080C540 /* A02 = -3.602468994380686462264e-03 */ + .quad 0xBFD44B4A0779C0AD /* A03 = -3.170952866557950611259e-01 */ + .quad 0xBEE61D97609A27F4 /* A00 = -1.054553560499505625520e-05 */ + .quad 0x3FF001688F56A3AF /* A01 = +1.000343856731187974773e+00 */ + .quad 0xBF7056F8EFB683EC /* A02 = -3.989193351487490407647e-03 */ + .quad 0xBFD438A5620F0F74 /* A03 = -3.159573991399533543500e-01 */ + .quad 0xBEEA145429EDD370 /* A00 = -1.243563138839952927732e-05 */ + .quad 0x3FF0019B4A242A67 /* A01 = +1.000392236341804297339e+00 */ + .quad 0xBF7207D31CA78D9B /* A02 = -4.401993423445739288258e-03 */ + .quad 0xBFD42568BA16E7CD /* A03 = -3.147832696228050619602e-01 */ + .quad 0xBEEE96370D52680F /* A00 = -1.458491207477835326165e-05 */ + .quad 0x3FF001D31D8E4115 /* A01 = +1.000445476009251821736e+00 */ + .quad 0xBF73D4CC11EDC094 /* A02 = -4.841611050196221316400e-03 */ + .quad 0xBFD411954D8664E7 /* A03 = -3.135731942252974469021e-01 */ + .quad 0xBEF338C046215EF8 /* A00 = -1.833122622260562810219e-05 */ + .quad 0x3FF00230C32C2EC1 /* A01 = +1.000534784691737621998e+00 */ + .quad 0xBF76BD019BCC5DAF /* A02 = -5.551344188254799492943e-03 */ + .quad 0xBFD3F2C7156DC21E /* A03 = -3.116929730668135389848e-01 */ + .quad 0xBEF9B15EAE411EAE /* A00 = -2.450261207822986676092e-05 */ + .quad 0x3FF002C2DF057A4D /* A01 = +1.000674124886830940184e+00 */ + .quad 0xBF7B08CCD9AC1E30 /* A02 = -6.600189396301511801646e-03 */ + .quad 0xBFD3C7A7A114FED8 /* A03 = -3.090609620157755976777e-01 */ + .quad 0xBF00E36483C373B3 /* A00 = -3.221178528332122595812e-05 */ + .quad 0x3FF0036F419480D7 /* A01 = +1.000838524028997644777e+00 */ + .quad 0xBF7FD255D1777007 /* A02 = -7.768950679260206403087e-03 */ + .quad 0xBFD39A453911D6CE /* A03 = -3.062909180947429588215e-01 */ + .quad 0xBF05DFA04DD12059 /* A00 = -4.172046622180685472624e-05 */ + .quad 0x3FF00438B2A03D8D /* A01 = +1.001030633695197069599e+00 */ + .quad 0xBF828F8DBB4A9D10 /* A02 = -9.062869337255224921890e-03 */ + .quad 0xBFD36AAB704697D9 /* A03 = -3.033856007044711255993e-01 */ + .quad 0xBF0BF3E0C647DEFB /* A00 = -5.331544597092331081714e-05 */ + .quad 0x3FF005221063D36D /* A01 = +1.001253189109060359741e+00 */ + .quad 0xBF857A2CB3C96102 /* A02 = -1.048693584122917590862e-02 */ + .quad 0xBFD338E65BBB4FEC /* A03 = -3.003478904549854444639e-01 */ + .quad 0xBF11A506ED7C9D31 /* A00 = -6.730894835681591541979e-05 */ + .quad 0x3FF0062E4D0EA92A /* A01 = +1.001508999829250345925e+00 */ + .quad 0xBF88AB82C2761AF3 /* A02 = -1.204588085125866091241e-02 */ + .quad 0xBFD305028D6BD206 /* A03 = -2.971807843271395688234e-01 */ + .quad 0xBF1607C0922D9BF1 /* A00 = -8.403885708006799337092e-05 */ + .quad 0x3FF007606C341961 /* A01 = +1.001800940198869449560e+00 */ + .quad 0xBF8C25E6DA487BCF /* A02 = -1.374416688582682892494e-02 */ + .quad 0xBFD2CF0D0EE8F7B5 /* A03 = -2.938873906713255768075e-01 */ + .quad 0xBF1B3A8480A0A16D /* A00 = -1.038688061788578038307e-04 */ + .quad 0x3FF008BB802D02D6 /* A01 = +1.002131939589323561535e+00 */ + .quad 0xBF8FEB8AE99FD100 /* A02 = -1.558598065819483124983e-02 */ + .quad 0xBFD297135BD0911B /* A03 = -2.904709240558688843059e-01 */ + .quad 0xBF20ABB9BDB75C65 /* A00 = -1.271881327357976163798e-04 */ + .quad 0x3FF00A42A76D8CD1 /* A01 = +1.002504972472525901495e+00 */ + .quad 0xBF91FF3D752BB9E6 /* A02 = -1.757522609380570560722e-02 */ + .quad 0xBFD25D235C1F88B4 /* A03 = -2.869346999779154305799e-01 */ + .quad 0xBF243D3254425461 /* A00 = -1.544116913733432829448e-04 */ + .quad 0x3FF00BF909D1795E /* A01 = +1.002923048355647051011e+00 */ + .quad 0xBF94304E04D44942 /* A02 = -1.971551804042204897316e-02 */ + .quad 0xBFD2214B5E61CFA6 /* A03 = -2.832821294498394371075e-01 */ + .quad 0xBF286070011B61CE /* A00 = -1.859795307186510085994e-04 */ + .quad 0x3FF00DE1D5E1627E /* A01 = +1.003389201612804537689e+00 */ + .quad 0xBF9689D5F4163F59 /* A02 = -2.201017668045266231780e-02 */ + .quad 0xBFD1E39A11C3B42C /* A03 = -2.795167134743816728104e-01 */ + .quad 0xBF2D250B366A79E8 /* A00 = -2.223564326486314902259e-04 */ + .quad 0x3FF010003E134001 /* A01 = +1.003906481248123094829e+00 */ + .quad 0xBF990C9FF91F6F81 /* A02 = -2.446222265267250853271e-02 */ + .quad 0xBFD1A41E80084CDC /* A03 = -2.756420374218586655246e-01 */ + .quad 0xBF314DB5DDC2A30E /* A00 = -2.640313157465248123865e-04 */ + .quad 0x3FF012577608921B /* A01 = +1.004477940624503018441e+00 */ + .quad 0xBF9BB9626875B0C9 /* A02 = -2.707437288829409385849e-02 */ + .quad 0xBFD162E80768A9D0 /* A03 = -2.716617653228725615122e-01 */ + .quad 0xBF346A6133808864 /* A00 = -3.115165050094957730625e-04 */ + .quad 0x3FF014EAAFCC88A3 /* A01 = +1.005106627192198898157e+00 */ + .quad 0xBF9E90BEF9BF7419 /* A02 = -2.984903716411588595059e-02 */ + .quad 0xBFD12006545F7FAD /* A03 = -2.675796340899932457269e-01 */ + .quad 0xBF37F180DC3848EA /* A00 = -3.653468704395550778821e-04 */ + .quad 0x3FF017BD19147861 /* A01 = +1.005795572250939295955e+00 */ + .quad 0xBFA0C9A14C702E07 /* A02 = -3.278831537326359207851e-02 */ + .quad 0xBFD0DB895B650092 /* A03 = -2.633994476818851682154e-01 */ + .quad 0xBF3BEC6AAC6D7635 /* A00 = -4.260788377246944457107e-04 */ + .quad 0x3FF01AD1D884E719 /* A01 = +1.006547780778822565040e+00 */ + .quad 0xBFA260B2A1B1434A /* A02 = -3.589399551186163439542e-02 */ + .quad 0xBFD09581529E93D6 /* A03 = -2.591250712233067465817e-01 */ + .quad 0xBF4164E26167882B /* A00 = -5.308251737086202562063e-04 */ + .quad 0x3FF01FEF14B62B81 /* A01 = +1.007796364693348545316e+00 */ + .quad 0xBFA4EB014538AA42 /* A02 = -4.085544557559163403315e-02 */ + .quad 0xBFD029D36FEAF41F /* A03 = -2.525528519580024222613e-01 */ + .quad 0xBF46F6FFF4E53DC8 /* A00 = -7.008313930700277652464e-04 */ + .quad 0x3FF027CBB51CBBA0 /* A01 = +1.009715754956893363214e+00 */ + .quad 0xBFA89DEC9FEC112E /* A02 = -4.807986690687680864098e-02 */ + .quad 0xBFCF2A99464D0DB4 /* A03 = -2.434875100390009317053e-01 */ + .quad 0xBF4DCC9C4F66A4D9 /* A00 = -9.094012482836712945103e-04 */ + .quad 0x3FF030E7CFCCD583 /* A01 = +1.011939822882909068014e+00 */ + .quad 0xBFACAA3B95814081 /* A02 = -5.598627281199331645611e-02 */ + .quad 0xBFCDF78F156BE7CF /* A03 = -2.341173987004467604844e-01 */ + .quad 0xBF5308ED74E5C7A6 /* A00 = -1.161796466103906435435e-03 */ + .quad 0x3FF03B5986412ECB /* A01 = +1.014489674026594512313e+00 */ + .quad 0xBFB087EBA88DCC3F /* A02 = -6.457398285947223148806e-02 */ + .quad 0xBFCCBB9BD134862F /* A03 = -2.244753619680052991736e-01 */ + .quad 0xBF57FA23C00DF4B5 /* A00 = -1.463446533505758208674e-03 */ + .quad 0x3FF0473558A1BCC0 /* A01 = +1.017384859292903342975e+00 */ + .quad 0xBFB2E702BC6360EF /* A02 = -7.383744334527241048871e-02 */ + .quad 0xBFCB77D546379288 /* A03 = -2.145945160729250122955e-01 */ + .quad 0xBF5DD12971557F71 /* A00 = -1.819887610814388068450e-03 */ + .quad 0x3FF0548DDF5000A8 /* A01 = +1.020643112482540360020e+00 */ + .quad 0xBFB571B63DA186E1 /* A02 = -8.376635555898871710045e-02 */ + .quad 0xBFCA2D5202605148 /* A03 = -2.045080672838912594358e-01 */ + .quad 0xBF6252B1AD5D4F17 /* A00 = -2.236697221556737096709e-03 */ + .quad 0x3FF063738A910BF7 /* A01 = +1.024280110622155737232e+00 */ + .quad 0xBFB8270C8E6B601B /* A02 = -9.434584118878357184013e-02 */ + .quad 0xBFC8DD27D950A07E /* A03 = -1.942491351230763441116e-01 */ + .quad 0xBF66470C91730CFC /* A00 = -2.719425723258004842786e-03 */ + .quad 0x3FF073F468FCF331 /* A01 = +1.028309259519300633556e+00 */ + .quad 0xBFBB05C2952191E4 /* A02 = -1.055566419686964629854e-01 */ + .quad 0xBFC7886A770DE2BD /* A03 = -1.838505822486435070662e-01 */ + .quad 0xBF6AD114AC8E98EC /* A00 = -3.273525599485007861467e-03 */ + .quad 0x3FF0861BF53E5226 /* A01 = +1.032741506559554434119e+00 */ + .quad 0xBFBE0C4F9B461507 /* A02 = -1.173753503881763554650e-01 */ + .quad 0xBFC6302A037CDE3A /* A03 = -1.733448521642786954722e-01 */ + .quad 0xBF6FFBDE2A6C2AF8 /* A00 = -3.904279630096648551207e-03 */ + .quad 0x3FF099F2EB8E7DA3 /* A01 = +1.037585182326304034106e+00 */ + .quad 0xBFC09C74D192DDF0 /* A02 = -1.297746680554463516444e-01 */ + .quad 0xBFC4D571D8E3079F /* A03 = -1.627638157861470424859e-01 */ + .quad 0xBF72E8FDC0B952AA /* A00 = -4.616728994353872309042e-03 */ + .quad 0x3FF0AF7F273C9533 /* A01 = +1.042845872181101141152e+00 */ + .quad 0xBFC244C512736F10 /* A02 = -1.427236881344176033792e-01 */ + .quad 0xBFC379474F58B902 /* A03 = -1.521386277613104298645e-01 */ + .quad 0xBF762EABAF17395B /* A00 = -5.415602341101023557701e-03 */ + .quad 0x3FF0C6C3886F63FB /* A01 = +1.048526318502125631582e+00 */ + .quad 0xBFC3FDF9918EA12A /* A02 = -1.561881981590514389957e-01 */ + .quad 0xBFC21CA89ECAB895 /* A03 = -1.414995932913753196036e-01 */ + .quad 0xBF79D387CE5B2BAE /* A00 = -6.305246822828998107258e-03 */ + .quad 0x3FF0DFBFE2346376 /* A01 = +1.054626353847394337748e+00 */ + .quad 0xBFC5C6DA43602620 /* A02 = -1.701309994680721970894e-01 */ + .quad 0xBFC0C08BD8DB6631 /* A03 = -1.308760460731704100557e-01 */ + .quad 0xBF7DDBA8E8DA9060 /* A00 = -7.289562037531366334164e-03 */ + .quad 0x3FF0FA70F0D1B464 /* A01 = +1.061142864894713433443e+00 */ + .quad 0xBFC79E18D92BAA7C /* A02 = -1.845122394946264732241e-01 */ + .quad 0xBFBECBBBF74C2669 /* A03 = -1.202962378266875381749e-01 */ + .quad 0xBF81254E76EA25DA /* A00 = -8.371937755572145950511e-03 */ + .quad 0x3FF116D05835EBD0 /* A01 = +1.068069786618014660462e+00 */ + .quad 0xBFC982539E2ED224 /* A02 = -1.992897531869327609755e-01 */ + .quad 0xBFBC1B043C350159 /* A03 = -1.097872397413132278254e-01 */ + .quad 0xBF8391ACBA863403 /* A00 = -9.555196230190082448686e-03 */ + .quad 0x3FF134D4AA477FE2 /* A01 = +1.075398125794884141015e+00 */ + .quad 0xBFCB7218609FEAFB /* A02 = -2.144194099235717521079e-01 */ + .quad 0xBFB970A16CB88329 /* A03 = -9.937485603633135211599e-02 */ + .quad 0xBF87935088E48E8B /* A00 = -1.151144902957603431692e-02 */ + .quad 0x3FF1649892AD7DD3 /* A01 = +1.087059567413110938716e+00 */ + .quad 0xBFCE6971DDE75409 /* A02 = -2.375929196847723912089e-01 */ + .quad 0xBFB58291E88CB251 /* A03 = -8.402358939628952472223e-02 */ + .quad 0xBF8DB3A62C325325 /* A00 = -1.450280973794233242702e-02 */ + .quad 0x3FF1A9C900C6DEEA /* A01 = +1.103951457056548068891e+00 */ + .quad 0xBFD13DBC65B0E08E /* A02 = -2.693930619311765140012e-01 */ + .quad 0xBFB06696F62696D1 /* A03 = -6.406539449252625362252e-02 */ + .quad 0xBF92583699F2E27A /* A00 = -1.791463198307716858659e-02 */ + .quad 0x3FF1F451B85AA9F0 /* A01 = +1.122148246892376022288e+00 */ + .quad 0xBFD34FD5F8288180 /* A02 = -3.017477916164565954205e-01 */ + .quad 0xBFA6FB692825B683 /* A03 = -4.488686194495718900788e-02 */ + .quad 0xBF9641C26E673D6F /* A00 = -2.173522757385398448959e-02 */ + .quad 0x3FF24364DA5E2B07 /* A01 = +1.141453602790251542487e+00 */ + .quad 0xBFD564A5A5EF5890 /* A02 = -3.342680092295120530821e-01 */ + .quad 0xBF9B43712011A982 /* A03 = -2.662445791467283467968e-02 */ + .quad 0xBF9A901038EC2F39 /* A00 = -2.594018313816024226548e-02 */ + .quad 0x3FF2961356DFFEBA /* A01 = +1.161639537196534011088e+00 */ + .quad 0xBFD775EBB17198C7 /* A02 = -3.665723069046972759644e-01 */ + .quad 0xBF833B1A926CD462 /* A03 = -9.390075295963199591975e-03 */ + .quad 0xBF9F396A6A461B91 /* A00 = -3.049246095317987084727e-02 */ + .quad 0x3FF2EB53BAEF534B /* A01 = +1.182452898229899629357e+00 */ + .quad 0xBFD97DABF8AD8BBD /* A02 = -3.982953957076310058660e-01 */ + .quad 0x3F7B8F6A3E0F8837 /* A03 = +6.728568086119371925713e-03 */ + .quad 0xBFA21878590F8BAA /* A00 = -3.534294211546946951064e-02 */ + .quad 0x3FF34209790236E1 /* A01 = +1.203622315111197105253e+00 */ + .quad 0xBFDB764C0E71BECB /* A02 = -4.290952817018306997277e-01 */ + .quad 0x3F962FE0C03F84C0 /* A03 = +2.166701482190513949888e-02 */ + .quad 0xBFA4B36B9AD27ECC /* A00 = -4.043136849327097492868e-02 */ + .quad 0x3FF3990C5B12FC16 /* A01 = +1.224865298994477935679e+00 */ + .quad 0xBFDD5AABB0D01390 /* A02 = -4.586590983092770912322e-01 */ + .quad 0x3FA21DAF5CA162DB /* A03 = +3.538272863142363083844e-02 */ + .quad 0xBFA7645E4D7BF28B /* A00 = -4.568762489177399105378e-02 */ + .quad 0x3FF3EF2FD51C0D9F /* A01 = +1.245895225962932562069e+00 */ + .quad 0xBFDF26377E1B686E /* A02 = -4.867075664057044503963e-01 */ + .quad 0x3FA8803E756EE812 /* A03 = +4.785342391501513914509e-02 */ + .quad 0xBFAA210925C64413 /* A00 = -5.103329263796054643398e-02 */ + .quad 0x3FF44349F897D8E7 /* A01 = +1.266427966181760345066e+00 */ + .quad 0xBFE06A7B02C6D8E2 /* A02 = -5.129981092675530707226e-01 */ + .quad 0x3FAE3F194734F5D0 /* A03 = +5.907515520309980505687e-02 */ + .quad 0xBFACDE48F8A19BBB /* A00 = -5.638340029764018351832e-02 */ + .quad 0x3FF49439D5466582 /* A01 = +1.286187966447272845727e+00 */ + .quad 0xBFE131C7C1063DDC /* A02 = -5.373266954429101183166e-01 */ + .quad 0x3FB1ADEEC36AD805 /* A03 = +6.906025191241844940482e-02 */ + .quad 0xBFAF905D8F585680 /* A00 = -6.164829611604449866036e-02 */ + .quad 0x3FF4E0ED1FD27F99 /* A01 = +1.304913639360142818546e+00 */ + .quad 0xBFE1E7A859DC1D3D /* A02 = -5.595285182070380836095e-01 */ + .quad 0x3FB3ED018E4642A1 /* A03 = +7.783517573831001679086e-02 */ + .quad 0xBFB11595104160BA /* A00 = -6.673556944713512906198e-02 */ + .quad 0x3FF528650340490B /* A01 = +1.322361958217302513319e+00 */ + .quad 0xBFE28B14B40BC974 /* A02 = -5.794776455425521000109e-01 */ + .quad 0x3FB5DF49F5BAF6D7 /* A03 = +8.543836831355676453281e-02 */ + .quad 0xBFB2513A97344BA4 /* A00 = -7.155195418844911836587e-02 */ + .quad 0x3FF569BA0DB5EE14 /* A01 = +1.338312200124055273420e+00 */ + .quad 0xBFE31B53A8B67B20 /* A02 = -5.970857901737396389308e-01 */ + .quad 0x3FB787F297BB0544 /* A03 = +9.191814617499455275507e-02 */ + .quad 0xBFB37512E848FAFA /* A00 = -7.600515528700305112331e-02 */ + .quad 0x3FF5A41F33B403C8 /* A01 = +1.352568819013173495591e+00 */ + .quad 0xBFE397F6EA9A58A5 /* A02 = -6.123003561103997904880e-01 */ + .quad 0x3FB8EAA9FF25CA06 /* A03 = +9.733068923177520814782e-02 */ + .quad 0xBFB47B3E603AFC5D /* A00 = -8.000554894805263217439e-02 */ + .quad 0x3FF5D6E3EDE40487 /* A01 = +1.364963464031718975988e+00 */ + .quad 0xBFE400D5BCA6D631 /* A02 = -6.251019177058819709103e-01 */ + .quad 0x3FBA0B830ED567FE /* A03 = +1.017381583418739132707e-01 */ + .quad 0xBFB5BBFE8AC90496 /* A00 = -8.489981544791400103200e-02 */ + .quad 0x3FF612BA70107E95 /* A01 = +1.379572332145390989311e+00 */ + .quad 0xBFE477EAF1FA7693 /* A02 = -6.396383978023599814478e-01 */ + .quad 0x3FBB4784B7C08A95 /* A03 = +1.065600346196709652391e-01 */ + .quad 0xBFB6D5D940743939 /* A00 = -8.920057128509463473254e-02 */ + .quad 0x3FF644A8748F70CE /* A01 = +1.391762214006166953340e+00 */ + .quad 0xBFE4D646AB07EA37 /* A02 = -6.511567440459832267763e-01 */ + .quad 0x3FBC354F4E1D5292 /* A03 = +1.101884427747086558913e-01 */ + .quad 0xBFB7223D19E4F3D1 /* A00 = -9.036619074045339206069e-02 */ + .quad 0x3FF6518FEB42B7FA /* A01 = +1.394912642466350494175e+00 */ + .quad 0xBFE4ED86CB87498C /* A02 = -6.539949393430091184598e-01 */ + .quad 0x3FBC6D29F28CCA9B /* A03 = +1.110407082713131127205e-01 */ + .quad 0xBFB6878652FF6312 /* A00 = -8.800544287022329936754e-02 */ + .quad 0x3FF63948C302D040 /* A01 = +1.388985406648330922508e+00 */ + .quad 0xBFE4C4E2E7904E17 /* A02 = -6.490339777687407218920e-01 */ + .quad 0x3FBC127356CA1ABE /* A03 = +1.096565329445224612481e-01 */ + .quad 0xBFB4F5D18B0C91D6 /* A00 = -8.187589306596207427980e-02 */ + .quad 0x3FF5FD27EB7DD0B8 /* A01 = +1.374305648697413673176e+00 */ + .quad 0xBFE464E01A2B2FC6 /* A02 = -6.373138915164353601739e-01 */ + .quad 0x3FBB460547674A30 /* A03 = +1.065371798825160976065e-01 */ + .quad 0xBFB26642FA16A685 /* A00 = -7.187288861919156890412e-02 */ + .quad 0x3FF59F9BEDE1C95A /* A01 = +1.351467065073470141812e+00 */ + .quad 0xBFE3D67920C8FBEA /* A02 = -6.199308052381387046381e-01 */ + .quad 0x3FBA24F6A8D3CBC1 /* A03 = +1.021265184570401413078e-01 */ + .quad 0xBFADB5294794F097 /* A00 = -5.802277563859197656582e-02 */ + .quad 0x3FF523EA7B9CF453 /* A01 = +1.321268542159732772845e+00 */ + .quad 0xBFE322A8B55E35DB /* A02 = -5.979808370918208160205e-01 */ + .quad 0x3FB8C8673B1B3E37 /* A03 = +9.680791085269722928697e-02 */ + .quad 0xBFA4B7D661965C6A /* A00 = -4.046506825687219699450e-02 */ + .quad 0x3FF48DE3E2CE3122 /* A01 = +1.284641157110919085227e+00 */ + .quad 0xBFE251FED1A7F445 /* A02 = -5.725092024655472622285e-01 */ + .quad 0x3FB745699FCABDB9 /* A03 = +9.090290213747821701507e-02 */ + .quad 0xBF93E60456E4EE1D /* A00 = -1.943213253365004902773e-02 */ + .quad 0x3FF3E1A14E628A59 /* A01 = +1.242585474196536532432e+00 */ + .quad 0xBFE16C5AB660E876 /* A02 = -5.444768488007543094653e-01 */ + .quad 0x3FB5AD33AA8C188F /* A03 = +8.467410005332197397987e-02 */ + .quad 0x3F738C17C47C7961 /* A00 = +4.772274820224659853951e-03 */ + .quad 0x3FF3234DDE3BD146 /* A01 = +1.196119182682268355933e+00 */ + .quad 0xBFE078C0D77A9D3B /* A02 = -5.147403915952176722826e-01 */ + .quad 0x3FB40D74B3E276B8 /* A03 = +7.833032027925923568290e-02 */ + .quad 0x3FA0474BECC689C7 /* A00 = +3.179394975019849550746e-02 */ + .quad 0x3FF256FB4FA7D18A /* A01 = +1.146235762743432307076e+00 */ + .quad 0xBFDEFA8E3FB285E2 /* A02 = -4.840427038235174395098e-01 */ + .quad 0x3FB270C007493D59 /* A03 = +7.203293016322244446403e-02 */ + .quad 0x3FAF5BD51E479BDC /* A00 = +6.124750132203590768931e-02 */ + .quad 0x3FF18081D0B53BC5 /* A01 = +1.093873801484492647162e+00 */ + .quad 0xBFDCFE2439BD0C03 /* A02 = -4.530115665294831006626e-01 */ + .quad 0x3FB0DEFE5A45AFDD /* A03 = +6.590261176978580437424e-02 */ + .quad 0x3FB7BD5D2806EA26 /* A00 = +9.273321368429118805032e-02 */ + .quad 0x3FF0A369E35B4440 /* A01 = +1.039895904647224256223e+00 */ + .quad 0xBFDB04BC5C9951E7 /* A02 = -4.221640495573226181669e-01 */ + .quad 0x3FAEBBBAA9D6DEEF /* A03 = +6.002600978120919278380e-02 */ + .quad 0x3FC01BE411098DBC /* A00 = +1.258511622610124502941e-01 */ + .quad 0x3FEF85BDABC031C1 /* A01 = +9.850757936961188621083e-01 */ + .quad 0xBFD91521375097C2 /* A02 = -3.919146576102968682065e-01 */ + .quad 0x3FABE26F0086D982 /* A03 = +5.446192628317005068883e-02 */ + .quad 0x3FC481D7FF5776B9 /* A00 = +1.602125164781023347604e-01 */ + .quad 0x3FEDC3506C1E7218 /* A01 = +9.300920592973538347792e-01 */ + .quad 0xBFD7349A88DA7D4F /* A02 = -3.625856720409119104964e-01 */ + .quad 0x3FA936E2DFF8E2AE /* A03 = +4.924687370334389358018e-02 */ + .quad 0x3FC90471F96FA27A /* A00 = +1.954481571149420671141e-01 */ + .quad 0x3FEC0451601987A2 /* A01 = +8.755270840595026360376e-01 */ + .quad 0xBFD5671CD4B898DC /* A02 = -3.344184949259110251063e-01 */ + .quad 0x3FA6BB9594603B67 /* A03 = +4.439990459660841243261e-02 */ + .quad 0x3FCFD8ADB9ED944C /* A00 = +2.488000066615846384011e-01 */ + .quad 0x3FE978C073F6809A /* A01 = +7.959902062321078108909e-01 */ + .quad 0xBFD2DF7E00BCD5A9 /* A02 = -2.948908812716931060471e-01 */ + .quad 0x3FA3614033D490B2 /* A03 = +3.785133965200894456959e-02 */ + .quad 0x3FD4846A12AFE5A0 /* A00 = +3.205819303981005674586e-01 */ + .quad 0x3FE63A1147D40472 /* A01 = +6.945883181471244061100e-01 */ + .quad 0xBFCFA2268AD34450 /* A02 = -2.471359422548027318101e-01 */ + .quad 0x3F9F150201D9FFE0 /* A03 = +3.035357605267552383310e-02 */ + .quad 0x3FD9018641F82BEB /* A00 = +3.907180446846598154131e-01 */ + .quad 0x3FE33B7C220FFBDC /* A01 = +6.010113396913498995389e-01 */ + .quad 0xBFCA4E4187E29C86 /* A02 = -2.055131829740483584423e-01 */ + .quad 0x3F98C30CED19F8F4 /* A03 = +2.418155858185229434287e-02 */ + .quad 0x3FDD4B8255BEB078 /* A00 = +4.577337109901757905561e-01 */ + .quad 0x3FE0858B19D3A49B /* A01 = +5.163016800335243905451e-01 */ + .quad 0xBFC5BC929EACE564 /* A02 = -1.698172831327539045176e-01 */ + .quad 0x3F93A083CE57DE2B /* A03 = +1.916700312537337677621e-02 */ + .quad 0x3FE0A8E5E039295C /* A00 = +5.206174258576470315063e-01 */ + .quad 0x3FDC35E1234583FE /* A01 = +4.407885403107342225937e-01 */ + .quad 0xBFC1DE034E31AEB9 /* A02 = -1.395877963835710222629e-01 */ + .quad 0x3F8EFDEBB3471BDC /* A03 = +1.513275280821162888101e-02 */ + .quad 0x3FE2851B603CB2A5 /* A00 = +5.787484054213406503564e-01 */ + .quad 0x3FD7F4A44ABBB286 /* A01 = +3.743067483726821853551e-01 */ + .quad 0xBFBD3EEB67087DE7 /* A02 = -1.142413260026767657385e-01 */ + .quad 0x3F8864F38329E8BD /* A03 = +1.191129917173260922836e-02 */ + .quad 0x3FE437DBE3C34AC1 /* A00 = +6.318187187665317283702e-01 */ + .quad 0x3FD43F6F789441B5 /* A01 = +3.163717916040938438194e-01 */ + .quad 0xBFB7D92E7901B9A4 /* A02 = -9.315767721429907277653e-02 */ + .quad 0x3F8327ED342308E1 /* A03 = +9.353497651663324544136e-03 */ + .quad 0x3FE5C0977766D55C /* A00 = +6.797597248138731451661e-01 */ + .quad 0x3FD10B42A764D8F9 /* A01 = +2.663122782427219115142e-01 */ + .quad 0xBFB3633351D3D70F /* A02 = -7.573242900602060456716e-02 */ + .quad 0x3F7E079E30FF899C /* A03 = +7.331483779099558922843e-03 */ + .quad 0x3FE7202CE08A88C4 /* A00 = +7.226776490754436288455e-01 */ + .quad 0x3FCC973EB5662B01 /* A01 = +2.233656297433626314319e-01 */ + .quad 0xBFAF70A455F9920B /* A02 = -6.140626477716545211782e-02 */ + .quad 0x3F77812411CE99B6 /* A03 = +5.738392731393584730859e-03 */ + .quad 0x3FE85879424095B1 /* A00 = +7.608000082006382003286e-01 */ + .quad 0x3FC7E73BD1674D84 /* A01 = +1.867441914060742336190e-01 */ + .quad 0xBFA96F84E4BF333B /* A02 = -4.967894832916504993525e-02 */ + .quad 0x3F72606DDCA6E117 /* A03 = +4.486493251924870105662e-03 */ + .quad 0x3FE96BFE4957F4DD /* A00 = +7.944327766887472330737e-01 */ + .quad 0x3FC3ED4780D25478 /* A01 = +1.556786898624158421711e-01 */ + .quad 0xBFA489C5F9A56B58 /* A02 = -4.011362717093075458408e-02 */ + .quad 0x3F6CB5DC17E9AD2A /* A03 = +3.504686231556104931972e-03 */ + .quad 0x3FEA5D9CB2F41234 /* A00 = +8.239272589858672724006e-01 */ + .quad 0x3FC091A758374DCF /* A01 = +1.294449978582705440555e-01 */ + .quad 0xBFA08E436D4B5CE0 /* A02 = -3.233538350257858517978e-02 */ + .quad 0x3F666997AD53E6B7 /* A03 = +2.735897297154145629133e-03 */ + .quad 0x3FEB3060342CB850 /* A00 = +8.496552485501158713532e-01 */ + .quad 0x3FBB7D30BBC7DC1B /* A01 = +1.073790033768634993860e-01 */ + .quad 0xBF9AA6BA3443D9E3 /* A02 = -2.602663940430173170060e-02 */ + .quad 0x3F617CA764B7850B /* A03 = +2.134634914668814050648e-03 */ + .quad 0x3FEBE759A6A0C7B8 /* A00 = +8.719909910635044170135e-01 */ + .quad 0x3FB6C10DE6A703FF /* A01 = +8.888327485239243264115e-02 */ + .quad 0xBF956C566D8BE1F6 /* A02 = -2.092108768099084498138e-02 */ + .quad 0x3F5B46D1A4A59CF8 /* A03 = +1.664833764687232917079e-03 */ + .quad 0x3FEC858494887A04 /* A00 = +8.912985707318630268503e-01 */ + .quad 0x3FB2CC31F543394D /* A01 = +7.342827070099140762682e-02 */ + .quad 0xBF9133477FF69137 /* A02 = -1.679717749142747504343e-02 */ + .quad 0x3F5544482FBB4DA5 /* A03 = +1.298017973501022466823e-03 */ + .quad 0x3FED0DB59D0E32E9 /* A00 = +9.079235141267335551518e-01 */ + .quad 0x3FAF006BAFFC6EF4 /* A01 = +6.055008433597022787787e-02 */ + .quad 0xBF8B97146FA2B97A /* A02 = -1.347175565419144252499e-02 */ + .quad 0x3F5093B01F4CDC69 /* A03 = +1.011774057770665211434e-03 */ + .quad 0x3FEDB487C3EC457C /* A00 = +9.282873942012623835751e-01 */ + .quad 0x3FA7390C09D0BD1D /* A01 = +4.535710925881118044112e-02 */ + .quad 0xBF83D9F7C3181106 /* A02 = -9.693084374710735778846e-03 */ + .quad 0x3F46E34A0A3C0E64 /* A03 = +6.984817050299072134500e-04 */ + .quad 0x3FEE5FFCB4E6EB00 /* A00 = +9.492171796076434020506e-01 */ + .quad 0x3F9F4913ED00AADF /* A01 = +3.055220731782070861526e-02 */ + .quad 0xBF79670BD0E59B5C /* A02 = -6.201788097633133961528e-03 */ + .quad 0x3F3BC998EBCAF96D /* A03 = +4.240034429975534616304e-04 */ + .quad 0x3FEEDBA41E9542FE /* A00 = +9.643116566968215064293e-01 */ + .quad 0x3F94F5DD18D9C24D /* A01 = +2.046914543319848858727e-02 */ + .quad 0xBF7034896AA122B9 /* A02 = -3.956352980886528904192e-03 */ + .quad 0x3F30DCCB47810B39 /* A03 = +2.573009765038273091199e-04 */ + .quad 0x3FEF33F2882520ED /* A00 = +9.750912341196716903724e-01 */ + .quad 0x3F8BF37F2CF553FF /* A01 = +1.364802699996836392315e-02 */ + .quad 0xBF649F6F05A69619 /* A02 = -2.517430152880317534986e-03 */ + .quad 0x3F247623C950AAC9 /* A03 = +1.561087307505231250044e-04 */ + .quad 0x3FEF727757751741 /* A00 = +9.827229221489021115943e-01 */ + .quad 0x3F828E67912C4400 /* A01 = +9.060677640748693306705e-03 */ + .quad 0xBF5A2F51A806CC2C /* A02 = -1.598195784123355826789e-03 */ + .quad 0x3F18D35D7687E613 /* A03 = +9.470231965016282719549e-05 */ + .quad 0x3FEF9E6325C5942A /* A00 = +9.880843866091073568469e-01 */ + .quad 0x3F788AB117618F76 /* A01 = +5.991641772286606867914e-03 */ + .quad 0xBF5096EAB0B1EA89 /* A02 = -1.012543859160305046233e-03 */ + .quad 0x3F0E1E50EC4435AB /* A03 = +5.744633156910412119652e-05 */ + .quad 0x3FEFBD0784049369 /* A00 = +9.918248728250605994461e-01 */ + .quad 0x3F702BBD8294035F /* A01 = +3.947963975634432264028e-03 */ + .quad 0xBF44FB55E0F00593 /* A02 = -6.403130845457509273330e-04 */ + .quad 0x3F0244DCD723230A /* A03 = +3.484534217219031730379e-05 */ + .quad 0x3FEFD245E2366A43 /* A00 = +9.944180887426415926811e-01 */ + .quad 0x3F653D82EC088433 /* A01 = +2.592807490387838333795e-03 */ + .quad 0xBF3A7DF75E013CB8 /* A02 = -4.042366908878036561859e-04 */ + .quad 0x3EF6298E69F991CD /* A03 = +2.113564425911141559972e-05 */ + .quad 0x3FEFE0EAA508BC69 /* A00 = +9.962056372950317539861e-01 */ + .quad 0x3F5BD0771AF3FDDA /* A01 = +1.697651208644282514598e-03 */ + .quad 0xBF30B2E1254DE571 /* A02 = -2.548026725928887099328e-04 */ + .quad 0x3EEAE28B70EC0256 /* A03 = +1.281973848454955042307e-05 */ + .quad 0x3FEFEAF5303D7F96 /* A00 = +9.974313680831865536192e-01 */ + .quad 0x3F5229111365657E /* A01 = +1.108423877289460134782e-03 */ + .quad 0xBF250572D04DFE66 /* A02 = -1.603796628408704519168e-04 */ + .quad 0x3EE04E89BB57C981 /* A03 = +7.775682983689149966743e-06 */ + .quad 0x3FEFF1CF52F1CF44 /* A00 = +9.982678051005469122003e-01 */ + .quad 0x3F47A71316147CEB /* A01 = +7.218211359577819110842e-04 */ + .quad 0xBF1A6D7604055719 /* A02 = -1.008132248946049582547e-04 */ + .quad 0x3ED3C8047586A85C /* A03 = +4.716233739913014633626e-06 */ + .quad 0x3FEFF6770369EF69 /* A00 = +9.988360468555416149528e-01 */ + .quad 0x3F3EBB261180FBF0 /* A01 = +4.689186039321105101130e-04 */ + .quad 0xBF1097754FE19D7F /* A02 = -6.329206004950480057066e-05 */ + .quad 0x3EC7FEFF83BCA0A7 /* A03 = +2.860556404988488738366e-06 */ + .quad 0x3FEFF99D42371AC4 /* A00 = +9.992204945818561334647e-01 */ + .quad 0x3F33EB2AEC271F59 /* A01 = +3.039340773764907474054e-04 */ + .quad 0xBF04CF18E0FC0D79 /* A02 = -3.968996690952969588805e-05 */ + .quad 0x3EBD1BDBD6019BE9 /* A03 = +1.735021065507727833886e-06 */ + .quad 0x3FEFFBBCA32B0D91 /* A00 = +9.994795977476532700123e-01 */ + .quad 0x3F29C41E1615110A /* A01 = +1.965796209707565346710e-04 */ + .quad 0xBEFA11F93D9DCB5A /* A02 = -2.486248909101414873235e-05 */ + .quad 0x3EB1A7CA4546F7A7 /* A03 = +1.052345642723709228769e-06 */ + .quad 0x3FEFFD298B8E8DE2 /* A00 = +9.996535993308806045121e-01 */ + .quad 0x3F20A1C42D523C5B /* A01 = +1.268913244172078754520e-04 */ + .quad 0xBEF0507A364AFAE4 /* A02 = -1.555859070622834605755e-05 */ + .quad 0x3EA56ACA17E7CDF4 /* A03 = +6.382806956848098872313e-07 */ + .quad 0x3FEFFE1DC82BA5A3 /* A00 = +9.997700604991915929176e-01 */ + .quad 0x3F156E73B90F1769 /* A01 = +8.175450626798714452801e-05 */ + .quad 0xBEE4663579D0A09F /* A02 = -9.727122057226747625365e-06 */ + .quad 0x3E99FAF6FEC5D4C1 /* A03 = +3.871371052824002996020e-07 */ + .quad 0x3FEFFEF8D0BB5E81 /* A00 = +9.998745037837154514548e-01 */ + .quad 0x3F06686DA18D39C3 /* A01 = +4.273972098777251447726e-05 */ + .quad 0xBED46BC298073E90 /* A02 = -4.868731025855742842491e-06 */ + .quad 0x3E88E42286B9D0FD /* A03 = +1.854535328530838170114e-07 */ + .quad 0x3FEFFF8DBC68DDC7 /* A00 = +9.999455146670975791423e-01 */ + .quad 0x3EF26B2953A80AF0 /* A01 = +1.756534514108903368909e-05 */ + .quad 0xBEBFC4472D580F83 /* A02 = -1.893443529411295465239e-06 */ + .quad 0x3E72505B4553D19F /* A03 = +6.822456673547912277047e-08 */ + .quad 0x3FEFFFCED1276609 /* A00 = +9.999765477215883935358e-01 */ + .quad 0x3EDE1A94C7CC58F5 /* A01 = +7.177313020153979672606e-06 */ + .quad 0xBEA8A2C988744E57 /* A02 = -7.342066660497443762363e-07 */ + .quad 0x3E5AF30036BBBAF4 /* A03 = +2.509841882843541084885e-08 */ + .quad 0x3FEFFFEAFE70FCFC /* A00 = +9.999899835164849370983e-01 */ + .quad 0x3EC879175E3549F5 /* A01 = +2.917410471128503564412e-06 */ + .quad 0xBE930E36677D1813 /* A02 = -2.839493400307523115929e-07 */ + .quad 0x3E43D4005B42D48F /* A03 = +9.233192745401904898013e-09 */ + .quad 0x3ff0000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .align 16 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ + .align 16 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ + .align 16 + .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask */ + .align 16 + .long 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000 /* _iExpMask */ + .align 16 + .long 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000 /* _iMinIdxOfsMask */ + .align 16 + .long 0x04280000, 0x04280000, 0x04280000, 0x04280000 /* _iMaxIdxMask */ + .align 16 + .type __svml_stanh_data_internal, @object + .size __svml_stanh_data_internal, .-__svml_stanh_data_internal From patchwork Mon Mar 7 15:01:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602407 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ZcnM0ytw; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC3wc2crjz9sFt for ; Tue, 8 Mar 2022 03:35:28 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 30CF13857C60 for ; Mon, 7 Mar 2022 16:35:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 30CF13857C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646670926; bh=QKmpoxwmzIpeVFE9Z63W3sTqtsAPTjz1QqAIQWwtjHI=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ZcnM0ytwPdqQkbT3z0sKflBT+bH/Rv321utl+CthYx1xOfL4/RkbDG5meBD90Xo0Y 2/jrvYCsnffakUxR7RnAiCY3mZYxmlZyVBoVnUtPt0eD5oaZ2ewI1AucpvtoQxPktn ZVJzuzhQLB04gyDIRSO6xRYbyh4KtlenkAhVW14o= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by sourceware.org (Postfix) with ESMTPS id CED7B3858422 for ; Mon, 7 Mar 2022 15:03:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CED7B3858422 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="234364174" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="234364174" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="643274128" Received: from scymds01.sc.intel.com ([10.148.94.138]) by orsmga004.jf.intel.com with ESMTP; 07 Mar 2022 07:02:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fb016772; Mon, 7 Mar 2022 07:02:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 123/126] x86_64: Fix svml_s_tanhf8_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:01:58 -0800 Message-Id: <20220307150201.10590-124-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_s_tanhf8_core_avx2.S | 1462 ++++++++--------- 1 file changed, 730 insertions(+), 732 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S index 3745db5aa4..c5c87bf5b0 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_s_tanhf8_core_avx2.S @@ -28,7 +28,7 @@ * and to approximate tanh(.) with a polynomial on each of them. * * IEEE SPECIAL CONDITIONS: - * x = [+,-]0, r = [+,-]0 + * x = [+, -]0, r = [+, -]0 * x = +Inf, r = +1 * x = -Inf, r = -1 * x = QNaN, r = QNaN @@ -72,773 +72,771 @@ /* Offsets for data table __svml_stanh_data_internal */ -#define _dbP 0 -#define _sSignMask 4288 -#define _sAbsMask 4320 -#define _iExpMantMask 4352 -#define _iExpMask 4384 -#define _iMinIdxOfsMask 4416 -#define _iMaxIdxMask 4448 +#define _dbP 0 +#define _sSignMask 4288 +#define _sAbsMask 4320 +#define _iExpMantMask 4352 +#define _iExpMask 4384 +#define _iMinIdxOfsMask 4416 +#define _iMaxIdxMask 4448 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN8v_tanhf_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - pushq %r12 - subq $120, %rsp - lea _dbP+16+__svml_stanh_data_internal(%rip), %r10 - vmovaps %ymm0, %ymm12 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + pushq %r12 + subq $120, %rsp + lea _dbP+16+__svml_stanh_data_internal(%rip), %r10 + vmovaps %ymm0, %ymm12 -/* Here huge arguments, INF and NaNs are filtered out to callout. */ - vpand _iExpMantMask+__svml_stanh_data_internal(%rip), %ymm12, %ymm14 + /* Here huge arguments, INF and NaNs are filtered out to callout. */ + vpand _iExpMantMask+__svml_stanh_data_internal(%rip), %ymm12, %ymm14 -/* - * small table specific variables * - * Constant loading - */ - vmovups _iMaxIdxMask+__svml_stanh_data_internal(%rip), %ymm8 - vpsubd _iMinIdxOfsMask+__svml_stanh_data_internal(%rip), %ymm14, %ymm9 + /* + * small table specific variables * + * Constant loading + */ + vmovups _iMaxIdxMask+__svml_stanh_data_internal(%rip), %ymm8 + vpsubd _iMinIdxOfsMask+__svml_stanh_data_internal(%rip), %ymm14, %ymm9 -/* if VMIN, VMAX is defined for I type */ - vxorps %ymm15, %ymm15, %ymm15 - vpcmpgtd %ymm15, %ymm9, %ymm0 - vpand %ymm0, %ymm9, %ymm7 - vpcmpgtd %ymm8, %ymm9, %ymm6 - vblendvps %ymm6, %ymm8, %ymm7, %ymm3 - vpsrld $14, %ymm3, %ymm1 - vpcmpgtd _iExpMask+__svml_stanh_data_internal(%rip), %ymm14, %ymm13 - vmovmskps %ymm13, %r11d - vandps _sAbsMask+__svml_stanh_data_internal(%rip), %ymm12, %ymm10 - vandps _sSignMask+__svml_stanh_data_internal(%rip), %ymm12, %ymm11 - vextractf128 $1, %ymm1, %xmm2 - vmovd %xmm1, %r9d - vmovd %xmm2, %ecx - vpextrd $1, %xmm2, %edx - vpextrd $1, %xmm1, %r8d - movslq %r9d, %r9 - movslq %edx, %rdx - movslq %r8d, %r8 - vpextrd $2, %xmm1, %edi - movslq %ecx, %rcx - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 - vpextrd $3, %xmm2, %r12d - vpextrd $3, %xmm1, %esi - vpextrd $2, %xmm2, %eax - movslq %edi, %rdi - movslq %r12d, %r12 - movslq %esi, %rsi - movslq %eax, %rax - vmovupd -16(%r9,%r10), %xmm5 - vmovupd -16(%rdx,%r10), %xmm14 - vmovupd -16(%rcx,%r10), %xmm13 - vmovupd (%r9,%r10), %xmm1 - vmovupd (%r8,%r10), %xmm2 - vmovupd -16(%r8,%r10), %xmm4 - vinsertf128 $1, -16(%rdi,%r10), %ymm5, %ymm15 - vinsertf128 $1, -16(%r12,%r10), %ymm14, %ymm3 - vinsertf128 $1, -16(%rax,%r10), %ymm13, %ymm6 - vinsertf128 $1, (%rdi,%r10), %ymm1, %ymm5 - vinsertf128 $1, (%rsi,%r10), %ymm2, %ymm14 - vunpcklpd %ymm3, %ymm6, %ymm8 - vunpckhpd %ymm3, %ymm6, %ymm6 - vunpcklpd %ymm14, %ymm5, %ymm3 - vunpckhpd %ymm14, %ymm5, %ymm2 - vmovupd (%rcx,%r10), %xmm13 - vcvtps2pd %xmm10, %ymm5 - vextractf128 $1, %ymm10, %xmm10 - vfmadd213pd %ymm3, %ymm5, %ymm2 - vinsertf128 $1, -16(%rsi,%r10), %ymm4, %ymm0 - vmovupd (%rdx,%r10), %xmm4 - vunpcklpd %ymm0, %ymm15, %ymm9 - vunpckhpd %ymm0, %ymm15, %ymm7 - vfmadd213pd %ymm7, %ymm5, %ymm2 - vfmadd213pd %ymm9, %ymm5, %ymm2 - vinsertf128 $1, (%r12,%r10), %ymm4, %ymm0 - vcvtps2pd %xmm10, %ymm4 - vinsertf128 $1, (%rax,%r10), %ymm13, %ymm15 - vunpcklpd %ymm0, %ymm15, %ymm1 - vunpckhpd %ymm0, %ymm15, %ymm0 - vfmadd213pd %ymm1, %ymm4, %ymm0 - vcvtpd2ps %ymm2, %xmm1 - vfmadd213pd %ymm6, %ymm4, %ymm0 - vfmadd213pd %ymm8, %ymm4, %ymm0 - vcvtpd2ps %ymm0, %xmm0 - vinsertf128 $1, %xmm0, %ymm1, %ymm2 - vorps %ymm11, %ymm2, %ymm0 - testl %r11d, %r11d + /* if VMIN, VMAX is defined for I type */ + vxorps %ymm15, %ymm15, %ymm15 + vpcmpgtd %ymm15, %ymm9, %ymm0 + vpand %ymm0, %ymm9, %ymm7 + vpcmpgtd %ymm8, %ymm9, %ymm6 + vblendvps %ymm6, %ymm8, %ymm7, %ymm3 + vpsrld $14, %ymm3, %ymm1 + vpcmpgtd _iExpMask+__svml_stanh_data_internal(%rip), %ymm14, %ymm13 + vmovmskps %ymm13, %r11d + vandps _sAbsMask+__svml_stanh_data_internal(%rip), %ymm12, %ymm10 + vandps _sSignMask+__svml_stanh_data_internal(%rip), %ymm12, %ymm11 + vextractf128 $1, %ymm1, %xmm2 + vmovd %xmm1, %r9d + vmovd %xmm2, %ecx + vpextrd $1, %xmm2, %edx + vpextrd $1, %xmm1, %r8d + movslq %r9d, %r9 + movslq %edx, %rdx + movslq %r8d, %r8 + vpextrd $2, %xmm1, %edi + movslq %ecx, %rcx + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + vpextrd $3, %xmm2, %r12d + vpextrd $3, %xmm1, %esi + vpextrd $2, %xmm2, %eax + movslq %edi, %rdi + movslq %r12d, %r12 + movslq %esi, %rsi + movslq %eax, %rax + vmovupd -16(%r9, %r10), %xmm5 + vmovupd -16(%rdx, %r10), %xmm14 + vmovupd -16(%rcx, %r10), %xmm13 + vmovupd (%r9, %r10), %xmm1 + vmovupd (%r8, %r10), %xmm2 + vmovupd -16(%r8, %r10), %xmm4 + vinsertf128 $1, -16(%rdi, %r10), %ymm5, %ymm15 + vinsertf128 $1, -16(%r12, %r10), %ymm14, %ymm3 + vinsertf128 $1, -16(%rax, %r10), %ymm13, %ymm6 + vinsertf128 $1, (%rdi, %r10), %ymm1, %ymm5 + vinsertf128 $1, (%rsi, %r10), %ymm2, %ymm14 + vunpcklpd %ymm3, %ymm6, %ymm8 + vunpckhpd %ymm3, %ymm6, %ymm6 + vunpcklpd %ymm14, %ymm5, %ymm3 + vunpckhpd %ymm14, %ymm5, %ymm2 + vmovupd (%rcx, %r10), %xmm13 + vcvtps2pd %xmm10, %ymm5 + vextractf128 $1, %ymm10, %xmm10 + vfmadd213pd %ymm3, %ymm5, %ymm2 + vinsertf128 $1, -16(%rsi, %r10), %ymm4, %ymm0 + vmovupd (%rdx, %r10), %xmm4 + vunpcklpd %ymm0, %ymm15, %ymm9 + vunpckhpd %ymm0, %ymm15, %ymm7 + vfmadd213pd %ymm7, %ymm5, %ymm2 + vfmadd213pd %ymm9, %ymm5, %ymm2 + vinsertf128 $1, (%r12, %r10), %ymm4, %ymm0 + vcvtps2pd %xmm10, %ymm4 + vinsertf128 $1, (%rax, %r10), %ymm13, %ymm15 + vunpcklpd %ymm0, %ymm15, %ymm1 + vunpckhpd %ymm0, %ymm15, %ymm0 + vfmadd213pd %ymm1, %ymm4, %ymm0 + vcvtpd2ps %ymm2, %xmm1 + vfmadd213pd %ymm6, %ymm4, %ymm0 + vfmadd213pd %ymm8, %ymm4, %ymm0 + vcvtpd2ps %ymm0, %xmm0 + vinsertf128 $1, %xmm0, %ymm1, %ymm2 + vorps %ymm11, %ymm2, %ymm0 + testl %r11d, %r11d -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r13 r14 r15 r11d ymm0 ymm12 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r13 r14 r15 r11d ymm0 ymm12 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $120, %rsp - cfi_restore(12) - popq %r12 - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 + addq $120, %rsp + cfi_restore(12) + popq %r12 + movq %rbp, %rsp + popq %rbp + cfi_def_cfa(7, 8) + cfi_restore(6) + ret + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -8; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xf8, 0xff, 0xff, 0xff, 0x22 -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovups %ymm12, 32(%rsp) - vmovups %ymm0, 64(%rsp) - # LOE rbx r13 r14 r15 r11d ymm0 + vmovups %ymm12, 32(%rsp) + vmovups %ymm0, 64(%rsp) + # LOE rbx r13 r14 r15 r11d ymm0 - xorl %r12d, %r12d - # LOE rbx r13 r14 r15 r11d r12d + xorl %r12d, %r12d + # LOE rbx r13 r14 r15 r11d r12d - vzeroupper - 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: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xff, 0xff, 0xff, 0x22 - movl %r11d, %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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 0xff, 0xff, 0xff, 0x22 + movl %r11d, %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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %r12d + incl %r12d + cmpl $8, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx r15 r12d r13d - movq 8(%rsp), %r13 - cfi_restore(13) - movq (%rsp), %r14 - cfi_restore(14) - vmovups 64(%rsp), %ymm0 + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovups 64(%rsp), %ymm0 -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -120; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r13 r14 r15 ymm0 + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -32; DW_OP_and; DW_OP_const4s: -120; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x88, 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: -128; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0x80, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movss 32(%rsp,%r14,4), %xmm0 - call tanhf@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movss 32(%rsp, %r14, 4), %xmm0 + call tanhf@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movss %xmm0, 64(%rsp,%r14,4) + movss %xmm0, 64(%rsp, %r14, 4) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN8v_tanhf_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_stanh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dbP[(134*4)][2]; - __declspec(align(32)) VUINT32 _sSignMask[8][1]; - __declspec(align(32)) VUINT32 _sAbsMask[8][1]; - __declspec(align(32)) VUINT32 _iExpMantMask[8][1]; - __declspec(align(32)) VUINT32 _iExpMask[8][1]; - __declspec(align(32)) VUINT32 _iMinIdxOfsMask[8][1]; - __declspec(align(32)) VUINT32 _iMaxIdxMask[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _dbP[(134*4)][2]; + __declspec(align(32)) VUINT32 _sSignMask[8][1]; + __declspec(align(32)) VUINT32 _sAbsMask[8][1]; + __declspec(align(32)) VUINT32 _iExpMantMask[8][1]; + __declspec(align(32)) VUINT32 _iExpMask[8][1]; + __declspec(align(32)) VUINT32 _iMinIdxOfsMask[8][1]; + __declspec(align(32)) VUINT32 _iMaxIdxMask[8][1]; } __svml_stanh_data_internal; #endif __svml_stanh_data_internal: - /* Pol_000: err=7.93e-09, x in [0.0000000; 0.0312500]. */ - .quad 0x0000000000000000 /* A00 = +0.000000000000000000000e-01 */ - .quad 0x3FF00000022C70EB /* A01 = +1.000000008097283510367e+00 */ - .quad 0xBED00E878CFFA194 /* A02 = -3.828228912518614443549e-06 */ - .quad 0xBFD551766D0607A9 /* A03 = -3.330970825846813476723e-01 */ - .quad 0xBE53D60CE3E4C297 /* A00 = -1.847383956330407336230e-08 */ - .quad 0x3FF000024177CF5C /* A01 = +1.000002151235967140508e+00 */ - .quad 0xBF1758BC94A51A25 /* A02 = -8.906031613262943753568e-05 */ - .quad 0xBFD53EAE67E0D4F0 /* A03 = -3.319507612644221339337e-01 */ - .quad 0xBE5A9E47EF32D6FE /* A00 = -2.479020984039698285657e-08 */ - .quad 0x3FF00002DA983057 /* A01 = +1.000002721676556793895e+00 */ - .quad 0xBF1BD953509E94AA /* A02 = -1.062352277175377670507e-04 */ - .quad 0xBFD53BDB562EEDD5 /* A03 = -3.317783681520414806876e-01 */ - .quad 0xBE6191BBE496D294 /* A00 = -3.272532162914017685901e-08 */ - .quad 0x3FF0000390492017 /* A01 = +1.000003398528866105366e+00 */ - .quad 0xBF20727E814A57CE /* A02 = -1.254825043772153972919e-04 */ - .quad 0xBFD538DE060A6F22 /* A03 = -3.315959033004550748913e-01 */ - .quad 0xBE66DAFA2A893A25 /* A00 = -4.257146219278012568149e-08 */ - .quad 0x3FF0000465E08CD1 /* A01 = +1.000004194219219266770e+00 */ - .quad 0xBF2341C765EF91B6 /* A02 = -1.469188600530365522261e-04 */ - .quad 0xBFD535B6841FAF9E /* A03 = -3.314033785124993469751e-01 */ - .quad 0xBE6D5794E361E964 /* A00 = -5.465394929765249413434e-08 */ - .quad 0x3FF000055EE2A0CB /* A01 = +1.000005121846742950353e+00 */ - .quad 0xBF265E6C77E66C8B /* A02 = -1.706607253709506650304e-04 */ - .quad 0xBFD53264DDCCEDA6 /* A03 = -3.312008062382240103361e-01 */ - .quad 0xBE729C844D374A6E /* A00 = -6.933284462462096107184e-08 */ - .quad 0x3FF000067F019093 /* A01 = +1.000006195180536350264e+00 */ - .quad 0xBF29CC5348D6DCE5 /* A02 = -1.968242326435338705130e-04 */ - .quad 0xBFD52EE92121ED35 /* A03 = -3.309881995734998416658e-01 */ - .quad 0xBE775AEA17EAA872 /* A00 = -8.700465590574974405858e-08 */ - .quad 0x3FF00007CA1D66B8 /* A01 = +1.000007428656699559610e+00 */ - .quad 0xBF2D8F5EB98A2637 /* A02 = -2.255252009216044881395e-04 */ - .quad 0xBFD52B435CDF9128 /* A03 = -3.307655722585587376727e-01 */ - .quad 0xBE7D04DA28C343F0 /* A00 = -1.081040272327705484794e-07 */ - .quad 0x3FF000094443CCF5 /* A01 = +1.000008837375216730337e+00 */ - .quad 0xBF30D5B76C947AE5 /* A02 = -2.568791210978817814332e-04 */ - .quad 0xBFD52773A0776FAD /* A03 = -3.305329386764651045105e-01 */ - .quad 0xBE81DD77A12C51C7 /* A00 = -1.331054169875768625701e-07 */ - .quad 0x3FF0000AF1AFD2DA /* A01 = +1.000010437096696680470e+00 */ - .quad 0xBF331230624C1680 /* A02 = -2.910011410651516805537e-04 */ - .quad 0xBFD52379FC0B61DF /* A03 = -3.302903138515186909352e-01 */ - .quad 0xBE85D04EEEB3C435 /* A00 = -1.625247628488202841012e-07 */ - .quad 0x3FF0000CD6C9B1F2 /* A01 = +1.000012244238970726684e+00 */ - .quad 0xBF357F0742FADDD4 /* A02 = -3.280060509313874068243e-04 */ - .quad 0xBFD51F56806D0E81 /* A03 = -3.300377134475880880338e-01 */ - .quad 0xBE8A6E289B59681B /* A00 = -1.969211333326924655065e-07 */ - .quad 0x3FF0000EF8268F72 /* A01 = +1.000014275873550406715e+00 */ - .quad 0xBF381E277A1B747A /* A02 = -3.680082682942575423093e-04 */ - .quad 0xBFD51B093F1D6FD4 /* A03 = -3.297751537663746734808e-01 */ - .quad 0xBE8FCBC40EE9ABD5 /* A00 = -2.368983653301529373887e-07 */ - .quad 0x3FF000115A883B6C /* A01 = +1.000016549721943981410e+00 */ - .quad 0xBF3AF17AC974B3D9 /* A02 = -4.111218235774406434303e-04 */ - .quad 0xBFD516924A4C549C /* A03 = -3.295026517456081105450e-01 */ - .quad 0xBE92FFBC60A3F956 /* A00 = -2.831066871072026054144e-07 */ - .quad 0x3FF0001402DCED8A /* A01 = +1.000019084151832604590e+00 */ - .quad 0xBF3DFAE9390C4801 /* A02 = -4.574603454311488280083e-04 */ - .quad 0xBFD511F1B4D7DC3A /* A03 = -3.292202249571719585575e-01 */ - .quad 0xBE9690A22F96D5AD /* A00 = -3.362443262393081632612e-07 */ - .quad 0x3FF00016F63EFF5D /* A01 = +1.000021898173108825247e+00 */ - .quad 0xBF409E2C839605BB /* A02 = -5.071370461992499986334e-04 */ - .quad 0xBFD50D27924BEE00 /* A03 = -3.289278916051614487515e-01 */ - .quad 0xBE9AA56C65E72A73 /* A00 = -3.970591019557469835586e-07 */ - .quad 0x3FF0001A39F4A43E /* A01 = +1.000025011433776978009e+00 */ - .quad 0xBF425BD74C3D6667 /* A02 = -5.602647074553602319844e-04 */ - .quad 0xBFD50833F6E1ABA2 /* A03 = -3.286256705238718156536e-01 */ - .quad 0xBE9F4BD4FF1A83B0 /* A00 = -4.663500013744687071912e-07 */ - .quad 0x3FF0001DD36F9EC2 /* A01 = +1.000028444215715683896e+00 */ - .quad 0xBF44376634149405 /* A02 = -6.169556656102642569831e-04 */ - .quad 0xBFD50316F77EDEE5 /* A03 = -3.283135811757190158922e-01 */ - .quad 0xBEA3B625387BB079 /* A00 = -5.874486399249461304297e-07 */ - .quad 0x3FF00023E14CFBA9 /* A01 = +1.000034217911642153709e+00 */ - .quad 0xBF47392F923218D2 /* A02 = -7.087213783883111826306e-04 */ - .quad 0xBFD4FB1FACDEB938 /* A03 = -3.278273761924483942209e-01 */ - .quad 0xBEAA6E24F543500A /* A00 = -7.876828740601738750574e-07 */ - .quad 0x3FF0002D5C6E8412 /* A01 = +1.000043259679163742959e+00 */ - .quad 0xBF4BAF02BD7FDD70 /* A02 = -8.448375110664940040861e-04 */ - .quad 0xBFD4EFEE6527A7DE /* A03 = -3.271442401734229177279e-01 */ - .quad 0xBEB16E3EBE2157D0 /* A00 = -1.038947396133402500647e-06 */ - .quad 0x3FF00038990FEE2F /* A01 = +1.000053975962952312884e+00 */ - .quad 0xBF50569481C574CB /* A02 = -9.972048056490652716971e-04 */ - .quad 0xBFD4E419278DA2B4 /* A03 = -3.264220129263251113372e-01 */ - .quad 0xBEB6A7B6723165D4 /* A00 = -1.350350836279403750524e-06 */ - .quad 0x3FF00045CAB4158E /* A01 = +1.000066558657042303793e+00 */ - .quad 0xBF531D7C9C849108 /* A02 = -1.166698160951775212202e-03 */ - .quad 0xBFD4D7A0BB33B152 /* A03 = -3.256608799117844954552e-01 */ - .quad 0xBEBD0EE2A8654AFD /* A00 = -1.732000471561702711532e-06 */ - .quad 0x3FF00055276F18D6 /* A01 = +1.000081209219890521211e+00 */ - .quad 0xBF562FDBA3FB6C6C /* A02 = -1.354183666925102939860e-03 */ - .quad 0xBFD4CA85F1B93DB2 /* A03 = -3.248610363561638125773e-01 */ - .quad 0xBEC269D4036A207E /* A00 = -2.195047297096822741730e-06 */ - .quad 0x3FF00066E7DA6E4E /* A01 = +1.000098138500919997540e+00 */ - .quad 0xBF5991499FC36B3A /* A02 = -1.560518167983372759405e-03 */ - .quad 0xBFD4BCC9A72283D6 /* A03 = -3.240226871658341556426e-01 */ - .quad 0xBEC7154B6C09CFE1 /* A00 = -2.751729738565190291276e-06 */ - .quad 0x3FF0007B47086B80 /* A01 = +1.000117566559055148900e+00 */ - .quad 0xBF5D455433B4F8F4 /* A02 = -1.786548832412968197680e-03 */ - .quad 0xBFD4AE6CC1BFE145 /* A03 = -3.231460468373550942722e-01 */ - .quad 0xBECCA68CC64A0F8A /* A00 = -3.415415948561670285790e-06 */ - .quad 0x3FF00092827742F7 /* A01 = +1.000139722473418535387e+00 */ - .quad 0xBF60A7BF15A527AF /* A02 = -2.033112728132522705610e-03 */ - .quad 0xBFD49F703214084C /* A03 = -3.222313393636155876010e-01 */ - .quad 0xBED19E68676B241B /* A00 = -4.200644630977303616698e-06 */ - .quad 0x3FF000ACDA037B26 /* A01 = +1.000164844146362863597e+00 */ - .quad 0xBF62D99F836A02F8 /* A02 = -2.301036405072284102280e-03 */ - .quad 0xBFD48FD4F2B91B28 /* A03 = -3.212787981359945810311e-01 */ - .quad 0xBED57CF4B0C7AA54 /* A00 = -5.123164339408145209103e-06 */ - .quad 0x3FF000CA8FD9E1A1 /* A01 = +1.000193178099017865534e+00 */ - .quad 0xBF653A014548E686 /* A02 = -2.591135484433962181405e-03 */ - .quad 0xBFD47F9C0844B38F /* A03 = -3.202886658426046806447e-01 */ - .quad 0xBEDA012B1B1A41E2 /* A00 = -6.199971197454598722328e-06 */ - .quad 0x3FF000EBE868FDF4 /* A01 = +1.000224979259539459520e+00 */ - .quad 0xBF67CA9427E0A544 /* A02 = -2.904214255086275467410e-03 */ - .quad 0xBFD46EC6812ADB37 /* A03 = -3.192611943626845749655e-01 */ - .quad 0xBEDF3EAC5BF12194 /* A00 = -7.449344990702664567927e-06 */ - .quad 0x3FF001112A520784 /* A01 = +1.000260510744255704196e+00 */ - .quad 0xBF6A8D01ABDA4DC4 /* A02 = -3.241065277345108255891e-03 */ - .quad 0xBFD45D55759FFA4A /* A03 = -3.181966446572103146551e-01 */ - .quad 0xBEE2A541BC274267 /* A00 = -8.890883582164319970972e-06 */ - .quad 0x3FF0013A9E5961F2 /* A01 = +1.000300043631906721231e+00 */ - .quad 0xBF6D82ECD080C540 /* A02 = -3.602468994380686462264e-03 */ - .quad 0xBFD44B4A0779C0AD /* A03 = -3.170952866557950611259e-01 */ - .quad 0xBEE61D97609A27F4 /* A00 = -1.054553560499505625520e-05 */ - .quad 0x3FF001688F56A3AF /* A01 = +1.000343856731187974773e+00 */ - .quad 0xBF7056F8EFB683EC /* A02 = -3.989193351487490407647e-03 */ - .quad 0xBFD438A5620F0F74 /* A03 = -3.159573991399533543500e-01 */ - .quad 0xBEEA145429EDD370 /* A00 = -1.243563138839952927732e-05 */ - .quad 0x3FF0019B4A242A67 /* A01 = +1.000392236341804297339e+00 */ - .quad 0xBF7207D31CA78D9B /* A02 = -4.401993423445739288258e-03 */ - .quad 0xBFD42568BA16E7CD /* A03 = -3.147832696228050619602e-01 */ - .quad 0xBEEE96370D52680F /* A00 = -1.458491207477835326165e-05 */ - .quad 0x3FF001D31D8E4115 /* A01 = +1.000445476009251821736e+00 */ - .quad 0xBF73D4CC11EDC094 /* A02 = -4.841611050196221316400e-03 */ - .quad 0xBFD411954D8664E7 /* A03 = -3.135731942252974469021e-01 */ - .quad 0xBEF338C046215EF8 /* A00 = -1.833122622260562810219e-05 */ - .quad 0x3FF00230C32C2EC1 /* A01 = +1.000534784691737621998e+00 */ - .quad 0xBF76BD019BCC5DAF /* A02 = -5.551344188254799492943e-03 */ - .quad 0xBFD3F2C7156DC21E /* A03 = -3.116929730668135389848e-01 */ - .quad 0xBEF9B15EAE411EAE /* A00 = -2.450261207822986676092e-05 */ - .quad 0x3FF002C2DF057A4D /* A01 = +1.000674124886830940184e+00 */ - .quad 0xBF7B08CCD9AC1E30 /* A02 = -6.600189396301511801646e-03 */ - .quad 0xBFD3C7A7A114FED8 /* A03 = -3.090609620157755976777e-01 */ - .quad 0xBF00E36483C373B3 /* A00 = -3.221178528332122595812e-05 */ - .quad 0x3FF0036F419480D7 /* A01 = +1.000838524028997644777e+00 */ - .quad 0xBF7FD255D1777007 /* A02 = -7.768950679260206403087e-03 */ - .quad 0xBFD39A453911D6CE /* A03 = -3.062909180947429588215e-01 */ - .quad 0xBF05DFA04DD12059 /* A00 = -4.172046622180685472624e-05 */ - .quad 0x3FF00438B2A03D8D /* A01 = +1.001030633695197069599e+00 */ - .quad 0xBF828F8DBB4A9D10 /* A02 = -9.062869337255224921890e-03 */ - .quad 0xBFD36AAB704697D9 /* A03 = -3.033856007044711255993e-01 */ - .quad 0xBF0BF3E0C647DEFB /* A00 = -5.331544597092331081714e-05 */ - .quad 0x3FF005221063D36D /* A01 = +1.001253189109060359741e+00 */ - .quad 0xBF857A2CB3C96102 /* A02 = -1.048693584122917590862e-02 */ - .quad 0xBFD338E65BBB4FEC /* A03 = -3.003478904549854444639e-01 */ - .quad 0xBF11A506ED7C9D31 /* A00 = -6.730894835681591541979e-05 */ - .quad 0x3FF0062E4D0EA92A /* A01 = +1.001508999829250345925e+00 */ - .quad 0xBF88AB82C2761AF3 /* A02 = -1.204588085125866091241e-02 */ - .quad 0xBFD305028D6BD206 /* A03 = -2.971807843271395688234e-01 */ - .quad 0xBF1607C0922D9BF1 /* A00 = -8.403885708006799337092e-05 */ - .quad 0x3FF007606C341961 /* A01 = +1.001800940198869449560e+00 */ - .quad 0xBF8C25E6DA487BCF /* A02 = -1.374416688582682892494e-02 */ - .quad 0xBFD2CF0D0EE8F7B5 /* A03 = -2.938873906713255768075e-01 */ - .quad 0xBF1B3A8480A0A16D /* A00 = -1.038688061788578038307e-04 */ - .quad 0x3FF008BB802D02D6 /* A01 = +1.002131939589323561535e+00 */ - .quad 0xBF8FEB8AE99FD100 /* A02 = -1.558598065819483124983e-02 */ - .quad 0xBFD297135BD0911B /* A03 = -2.904709240558688843059e-01 */ - .quad 0xBF20ABB9BDB75C65 /* A00 = -1.271881327357976163798e-04 */ - .quad 0x3FF00A42A76D8CD1 /* A01 = +1.002504972472525901495e+00 */ - .quad 0xBF91FF3D752BB9E6 /* A02 = -1.757522609380570560722e-02 */ - .quad 0xBFD25D235C1F88B4 /* A03 = -2.869346999779154305799e-01 */ - .quad 0xBF243D3254425461 /* A00 = -1.544116913733432829448e-04 */ - .quad 0x3FF00BF909D1795E /* A01 = +1.002923048355647051011e+00 */ - .quad 0xBF94304E04D44942 /* A02 = -1.971551804042204897316e-02 */ - .quad 0xBFD2214B5E61CFA6 /* A03 = -2.832821294498394371075e-01 */ - .quad 0xBF286070011B61CE /* A00 = -1.859795307186510085994e-04 */ - .quad 0x3FF00DE1D5E1627E /* A01 = +1.003389201612804537689e+00 */ - .quad 0xBF9689D5F4163F59 /* A02 = -2.201017668045266231780e-02 */ - .quad 0xBFD1E39A11C3B42C /* A03 = -2.795167134743816728104e-01 */ - .quad 0xBF2D250B366A79E8 /* A00 = -2.223564326486314902259e-04 */ - .quad 0x3FF010003E134001 /* A01 = +1.003906481248123094829e+00 */ - .quad 0xBF990C9FF91F6F81 /* A02 = -2.446222265267250853271e-02 */ - .quad 0xBFD1A41E80084CDC /* A03 = -2.756420374218586655246e-01 */ - .quad 0xBF314DB5DDC2A30E /* A00 = -2.640313157465248123865e-04 */ - .quad 0x3FF012577608921B /* A01 = +1.004477940624503018441e+00 */ - .quad 0xBF9BB9626875B0C9 /* A02 = -2.707437288829409385849e-02 */ - .quad 0xBFD162E80768A9D0 /* A03 = -2.716617653228725615122e-01 */ - .quad 0xBF346A6133808864 /* A00 = -3.115165050094957730625e-04 */ - .quad 0x3FF014EAAFCC88A3 /* A01 = +1.005106627192198898157e+00 */ - .quad 0xBF9E90BEF9BF7419 /* A02 = -2.984903716411588595059e-02 */ - .quad 0xBFD12006545F7FAD /* A03 = -2.675796340899932457269e-01 */ - .quad 0xBF37F180DC3848EA /* A00 = -3.653468704395550778821e-04 */ - .quad 0x3FF017BD19147861 /* A01 = +1.005795572250939295955e+00 */ - .quad 0xBFA0C9A14C702E07 /* A02 = -3.278831537326359207851e-02 */ - .quad 0xBFD0DB895B650092 /* A03 = -2.633994476818851682154e-01 */ - .quad 0xBF3BEC6AAC6D7635 /* A00 = -4.260788377246944457107e-04 */ - .quad 0x3FF01AD1D884E719 /* A01 = +1.006547780778822565040e+00 */ - .quad 0xBFA260B2A1B1434A /* A02 = -3.589399551186163439542e-02 */ - .quad 0xBFD09581529E93D6 /* A03 = -2.591250712233067465817e-01 */ - .quad 0xBF4164E26167882B /* A00 = -5.308251737086202562063e-04 */ - .quad 0x3FF01FEF14B62B81 /* A01 = +1.007796364693348545316e+00 */ - .quad 0xBFA4EB014538AA42 /* A02 = -4.085544557559163403315e-02 */ - .quad 0xBFD029D36FEAF41F /* A03 = -2.525528519580024222613e-01 */ - .quad 0xBF46F6FFF4E53DC8 /* A00 = -7.008313930700277652464e-04 */ - .quad 0x3FF027CBB51CBBA0 /* A01 = +1.009715754956893363214e+00 */ - .quad 0xBFA89DEC9FEC112E /* A02 = -4.807986690687680864098e-02 */ - .quad 0xBFCF2A99464D0DB4 /* A03 = -2.434875100390009317053e-01 */ - .quad 0xBF4DCC9C4F66A4D9 /* A00 = -9.094012482836712945103e-04 */ - .quad 0x3FF030E7CFCCD583 /* A01 = +1.011939822882909068014e+00 */ - .quad 0xBFACAA3B95814081 /* A02 = -5.598627281199331645611e-02 */ - .quad 0xBFCDF78F156BE7CF /* A03 = -2.341173987004467604844e-01 */ - .quad 0xBF5308ED74E5C7A6 /* A00 = -1.161796466103906435435e-03 */ - .quad 0x3FF03B5986412ECB /* A01 = +1.014489674026594512313e+00 */ - .quad 0xBFB087EBA88DCC3F /* A02 = -6.457398285947223148806e-02 */ - .quad 0xBFCCBB9BD134862F /* A03 = -2.244753619680052991736e-01 */ - .quad 0xBF57FA23C00DF4B5 /* A00 = -1.463446533505758208674e-03 */ - .quad 0x3FF0473558A1BCC0 /* A01 = +1.017384859292903342975e+00 */ - .quad 0xBFB2E702BC6360EF /* A02 = -7.383744334527241048871e-02 */ - .quad 0xBFCB77D546379288 /* A03 = -2.145945160729250122955e-01 */ - .quad 0xBF5DD12971557F71 /* A00 = -1.819887610814388068450e-03 */ - .quad 0x3FF0548DDF5000A8 /* A01 = +1.020643112482540360020e+00 */ - .quad 0xBFB571B63DA186E1 /* A02 = -8.376635555898871710045e-02 */ - .quad 0xBFCA2D5202605148 /* A03 = -2.045080672838912594358e-01 */ - .quad 0xBF6252B1AD5D4F17 /* A00 = -2.236697221556737096709e-03 */ - .quad 0x3FF063738A910BF7 /* A01 = +1.024280110622155737232e+00 */ - .quad 0xBFB8270C8E6B601B /* A02 = -9.434584118878357184013e-02 */ - .quad 0xBFC8DD27D950A07E /* A03 = -1.942491351230763441116e-01 */ - .quad 0xBF66470C91730CFC /* A00 = -2.719425723258004842786e-03 */ - .quad 0x3FF073F468FCF331 /* A01 = +1.028309259519300633556e+00 */ - .quad 0xBFBB05C2952191E4 /* A02 = -1.055566419686964629854e-01 */ - .quad 0xBFC7886A770DE2BD /* A03 = -1.838505822486435070662e-01 */ - .quad 0xBF6AD114AC8E98EC /* A00 = -3.273525599485007861467e-03 */ - .quad 0x3FF0861BF53E5226 /* A01 = +1.032741506559554434119e+00 */ - .quad 0xBFBE0C4F9B461507 /* A02 = -1.173753503881763554650e-01 */ - .quad 0xBFC6302A037CDE3A /* A03 = -1.733448521642786954722e-01 */ - .quad 0xBF6FFBDE2A6C2AF8 /* A00 = -3.904279630096648551207e-03 */ - .quad 0x3FF099F2EB8E7DA3 /* A01 = +1.037585182326304034106e+00 */ - .quad 0xBFC09C74D192DDF0 /* A02 = -1.297746680554463516444e-01 */ - .quad 0xBFC4D571D8E3079F /* A03 = -1.627638157861470424859e-01 */ - .quad 0xBF72E8FDC0B952AA /* A00 = -4.616728994353872309042e-03 */ - .quad 0x3FF0AF7F273C9533 /* A01 = +1.042845872181101141152e+00 */ - .quad 0xBFC244C512736F10 /* A02 = -1.427236881344176033792e-01 */ - .quad 0xBFC379474F58B902 /* A03 = -1.521386277613104298645e-01 */ - .quad 0xBF762EABAF17395B /* A00 = -5.415602341101023557701e-03 */ - .quad 0x3FF0C6C3886F63FB /* A01 = +1.048526318502125631582e+00 */ - .quad 0xBFC3FDF9918EA12A /* A02 = -1.561881981590514389957e-01 */ - .quad 0xBFC21CA89ECAB895 /* A03 = -1.414995932913753196036e-01 */ - .quad 0xBF79D387CE5B2BAE /* A00 = -6.305246822828998107258e-03 */ - .quad 0x3FF0DFBFE2346376 /* A01 = +1.054626353847394337748e+00 */ - .quad 0xBFC5C6DA43602620 /* A02 = -1.701309994680721970894e-01 */ - .quad 0xBFC0C08BD8DB6631 /* A03 = -1.308760460731704100557e-01 */ - .quad 0xBF7DDBA8E8DA9060 /* A00 = -7.289562037531366334164e-03 */ - .quad 0x3FF0FA70F0D1B464 /* A01 = +1.061142864894713433443e+00 */ - .quad 0xBFC79E18D92BAA7C /* A02 = -1.845122394946264732241e-01 */ - .quad 0xBFBECBBBF74C2669 /* A03 = -1.202962378266875381749e-01 */ - .quad 0xBF81254E76EA25DA /* A00 = -8.371937755572145950511e-03 */ - .quad 0x3FF116D05835EBD0 /* A01 = +1.068069786618014660462e+00 */ - .quad 0xBFC982539E2ED224 /* A02 = -1.992897531869327609755e-01 */ - .quad 0xBFBC1B043C350159 /* A03 = -1.097872397413132278254e-01 */ - .quad 0xBF8391ACBA863403 /* A00 = -9.555196230190082448686e-03 */ - .quad 0x3FF134D4AA477FE2 /* A01 = +1.075398125794884141015e+00 */ - .quad 0xBFCB7218609FEAFB /* A02 = -2.144194099235717521079e-01 */ - .quad 0xBFB970A16CB88329 /* A03 = -9.937485603633135211599e-02 */ - .quad 0xBF87935088E48E8B /* A00 = -1.151144902957603431692e-02 */ - .quad 0x3FF1649892AD7DD3 /* A01 = +1.087059567413110938716e+00 */ - .quad 0xBFCE6971DDE75409 /* A02 = -2.375929196847723912089e-01 */ - .quad 0xBFB58291E88CB251 /* A03 = -8.402358939628952472223e-02 */ - .quad 0xBF8DB3A62C325325 /* A00 = -1.450280973794233242702e-02 */ - .quad 0x3FF1A9C900C6DEEA /* A01 = +1.103951457056548068891e+00 */ - .quad 0xBFD13DBC65B0E08E /* A02 = -2.693930619311765140012e-01 */ - .quad 0xBFB06696F62696D1 /* A03 = -6.406539449252625362252e-02 */ - .quad 0xBF92583699F2E27A /* A00 = -1.791463198307716858659e-02 */ - .quad 0x3FF1F451B85AA9F0 /* A01 = +1.122148246892376022288e+00 */ - .quad 0xBFD34FD5F8288180 /* A02 = -3.017477916164565954205e-01 */ - .quad 0xBFA6FB692825B683 /* A03 = -4.488686194495718900788e-02 */ - .quad 0xBF9641C26E673D6F /* A00 = -2.173522757385398448959e-02 */ - .quad 0x3FF24364DA5E2B07 /* A01 = +1.141453602790251542487e+00 */ - .quad 0xBFD564A5A5EF5890 /* A02 = -3.342680092295120530821e-01 */ - .quad 0xBF9B43712011A982 /* A03 = -2.662445791467283467968e-02 */ - .quad 0xBF9A901038EC2F39 /* A00 = -2.594018313816024226548e-02 */ - .quad 0x3FF2961356DFFEBA /* A01 = +1.161639537196534011088e+00 */ - .quad 0xBFD775EBB17198C7 /* A02 = -3.665723069046972759644e-01 */ - .quad 0xBF833B1A926CD462 /* A03 = -9.390075295963199591975e-03 */ - .quad 0xBF9F396A6A461B91 /* A00 = -3.049246095317987084727e-02 */ - .quad 0x3FF2EB53BAEF534B /* A01 = +1.182452898229899629357e+00 */ - .quad 0xBFD97DABF8AD8BBD /* A02 = -3.982953957076310058660e-01 */ - .quad 0x3F7B8F6A3E0F8837 /* A03 = +6.728568086119371925713e-03 */ - .quad 0xBFA21878590F8BAA /* A00 = -3.534294211546946951064e-02 */ - .quad 0x3FF34209790236E1 /* A01 = +1.203622315111197105253e+00 */ - .quad 0xBFDB764C0E71BECB /* A02 = -4.290952817018306997277e-01 */ - .quad 0x3F962FE0C03F84C0 /* A03 = +2.166701482190513949888e-02 */ - .quad 0xBFA4B36B9AD27ECC /* A00 = -4.043136849327097492868e-02 */ - .quad 0x3FF3990C5B12FC16 /* A01 = +1.224865298994477935679e+00 */ - .quad 0xBFDD5AABB0D01390 /* A02 = -4.586590983092770912322e-01 */ - .quad 0x3FA21DAF5CA162DB /* A03 = +3.538272863142363083844e-02 */ - .quad 0xBFA7645E4D7BF28B /* A00 = -4.568762489177399105378e-02 */ - .quad 0x3FF3EF2FD51C0D9F /* A01 = +1.245895225962932562069e+00 */ - .quad 0xBFDF26377E1B686E /* A02 = -4.867075664057044503963e-01 */ - .quad 0x3FA8803E756EE812 /* A03 = +4.785342391501513914509e-02 */ - .quad 0xBFAA210925C64413 /* A00 = -5.103329263796054643398e-02 */ - .quad 0x3FF44349F897D8E7 /* A01 = +1.266427966181760345066e+00 */ - .quad 0xBFE06A7B02C6D8E2 /* A02 = -5.129981092675530707226e-01 */ - .quad 0x3FAE3F194734F5D0 /* A03 = +5.907515520309980505687e-02 */ - .quad 0xBFACDE48F8A19BBB /* A00 = -5.638340029764018351832e-02 */ - .quad 0x3FF49439D5466582 /* A01 = +1.286187966447272845727e+00 */ - .quad 0xBFE131C7C1063DDC /* A02 = -5.373266954429101183166e-01 */ - .quad 0x3FB1ADEEC36AD805 /* A03 = +6.906025191241844940482e-02 */ - .quad 0xBFAF905D8F585680 /* A00 = -6.164829611604449866036e-02 */ - .quad 0x3FF4E0ED1FD27F99 /* A01 = +1.304913639360142818546e+00 */ - .quad 0xBFE1E7A859DC1D3D /* A02 = -5.595285182070380836095e-01 */ - .quad 0x3FB3ED018E4642A1 /* A03 = +7.783517573831001679086e-02 */ - .quad 0xBFB11595104160BA /* A00 = -6.673556944713512906198e-02 */ - .quad 0x3FF528650340490B /* A01 = +1.322361958217302513319e+00 */ - .quad 0xBFE28B14B40BC974 /* A02 = -5.794776455425521000109e-01 */ - .quad 0x3FB5DF49F5BAF6D7 /* A03 = +8.543836831355676453281e-02 */ - .quad 0xBFB2513A97344BA4 /* A00 = -7.155195418844911836587e-02 */ - .quad 0x3FF569BA0DB5EE14 /* A01 = +1.338312200124055273420e+00 */ - .quad 0xBFE31B53A8B67B20 /* A02 = -5.970857901737396389308e-01 */ - .quad 0x3FB787F297BB0544 /* A03 = +9.191814617499455275507e-02 */ - .quad 0xBFB37512E848FAFA /* A00 = -7.600515528700305112331e-02 */ - .quad 0x3FF5A41F33B403C8 /* A01 = +1.352568819013173495591e+00 */ - .quad 0xBFE397F6EA9A58A5 /* A02 = -6.123003561103997904880e-01 */ - .quad 0x3FB8EAA9FF25CA06 /* A03 = +9.733068923177520814782e-02 */ - .quad 0xBFB47B3E603AFC5D /* A00 = -8.000554894805263217439e-02 */ - .quad 0x3FF5D6E3EDE40487 /* A01 = +1.364963464031718975988e+00 */ - .quad 0xBFE400D5BCA6D631 /* A02 = -6.251019177058819709103e-01 */ - .quad 0x3FBA0B830ED567FE /* A03 = +1.017381583418739132707e-01 */ - .quad 0xBFB5BBFE8AC90496 /* A00 = -8.489981544791400103200e-02 */ - .quad 0x3FF612BA70107E95 /* A01 = +1.379572332145390989311e+00 */ - .quad 0xBFE477EAF1FA7693 /* A02 = -6.396383978023599814478e-01 */ - .quad 0x3FBB4784B7C08A95 /* A03 = +1.065600346196709652391e-01 */ - .quad 0xBFB6D5D940743939 /* A00 = -8.920057128509463473254e-02 */ - .quad 0x3FF644A8748F70CE /* A01 = +1.391762214006166953340e+00 */ - .quad 0xBFE4D646AB07EA37 /* A02 = -6.511567440459832267763e-01 */ - .quad 0x3FBC354F4E1D5292 /* A03 = +1.101884427747086558913e-01 */ - .quad 0xBFB7223D19E4F3D1 /* A00 = -9.036619074045339206069e-02 */ - .quad 0x3FF6518FEB42B7FA /* A01 = +1.394912642466350494175e+00 */ - .quad 0xBFE4ED86CB87498C /* A02 = -6.539949393430091184598e-01 */ - .quad 0x3FBC6D29F28CCA9B /* A03 = +1.110407082713131127205e-01 */ - .quad 0xBFB6878652FF6312 /* A00 = -8.800544287022329936754e-02 */ - .quad 0x3FF63948C302D040 /* A01 = +1.388985406648330922508e+00 */ - .quad 0xBFE4C4E2E7904E17 /* A02 = -6.490339777687407218920e-01 */ - .quad 0x3FBC127356CA1ABE /* A03 = +1.096565329445224612481e-01 */ - .quad 0xBFB4F5D18B0C91D6 /* A00 = -8.187589306596207427980e-02 */ - .quad 0x3FF5FD27EB7DD0B8 /* A01 = +1.374305648697413673176e+00 */ - .quad 0xBFE464E01A2B2FC6 /* A02 = -6.373138915164353601739e-01 */ - .quad 0x3FBB460547674A30 /* A03 = +1.065371798825160976065e-01 */ - .quad 0xBFB26642FA16A685 /* A00 = -7.187288861919156890412e-02 */ - .quad 0x3FF59F9BEDE1C95A /* A01 = +1.351467065073470141812e+00 */ - .quad 0xBFE3D67920C8FBEA /* A02 = -6.199308052381387046381e-01 */ - .quad 0x3FBA24F6A8D3CBC1 /* A03 = +1.021265184570401413078e-01 */ - .quad 0xBFADB5294794F097 /* A00 = -5.802277563859197656582e-02 */ - .quad 0x3FF523EA7B9CF453 /* A01 = +1.321268542159732772845e+00 */ - .quad 0xBFE322A8B55E35DB /* A02 = -5.979808370918208160205e-01 */ - .quad 0x3FB8C8673B1B3E37 /* A03 = +9.680791085269722928697e-02 */ - .quad 0xBFA4B7D661965C6A /* A00 = -4.046506825687219699450e-02 */ - .quad 0x3FF48DE3E2CE3122 /* A01 = +1.284641157110919085227e+00 */ - .quad 0xBFE251FED1A7F445 /* A02 = -5.725092024655472622285e-01 */ - .quad 0x3FB745699FCABDB9 /* A03 = +9.090290213747821701507e-02 */ - .quad 0xBF93E60456E4EE1D /* A00 = -1.943213253365004902773e-02 */ - .quad 0x3FF3E1A14E628A59 /* A01 = +1.242585474196536532432e+00 */ - .quad 0xBFE16C5AB660E876 /* A02 = -5.444768488007543094653e-01 */ - .quad 0x3FB5AD33AA8C188F /* A03 = +8.467410005332197397987e-02 */ - .quad 0x3F738C17C47C7961 /* A00 = +4.772274820224659853951e-03 */ - .quad 0x3FF3234DDE3BD146 /* A01 = +1.196119182682268355933e+00 */ - .quad 0xBFE078C0D77A9D3B /* A02 = -5.147403915952176722826e-01 */ - .quad 0x3FB40D74B3E276B8 /* A03 = +7.833032027925923568290e-02 */ - .quad 0x3FA0474BECC689C7 /* A00 = +3.179394975019849550746e-02 */ - .quad 0x3FF256FB4FA7D18A /* A01 = +1.146235762743432307076e+00 */ - .quad 0xBFDEFA8E3FB285E2 /* A02 = -4.840427038235174395098e-01 */ - .quad 0x3FB270C007493D59 /* A03 = +7.203293016322244446403e-02 */ - .quad 0x3FAF5BD51E479BDC /* A00 = +6.124750132203590768931e-02 */ - .quad 0x3FF18081D0B53BC5 /* A01 = +1.093873801484492647162e+00 */ - .quad 0xBFDCFE2439BD0C03 /* A02 = -4.530115665294831006626e-01 */ - .quad 0x3FB0DEFE5A45AFDD /* A03 = +6.590261176978580437424e-02 */ - .quad 0x3FB7BD5D2806EA26 /* A00 = +9.273321368429118805032e-02 */ - .quad 0x3FF0A369E35B4440 /* A01 = +1.039895904647224256223e+00 */ - .quad 0xBFDB04BC5C9951E7 /* A02 = -4.221640495573226181669e-01 */ - .quad 0x3FAEBBBAA9D6DEEF /* A03 = +6.002600978120919278380e-02 */ - .quad 0x3FC01BE411098DBC /* A00 = +1.258511622610124502941e-01 */ - .quad 0x3FEF85BDABC031C1 /* A01 = +9.850757936961188621083e-01 */ - .quad 0xBFD91521375097C2 /* A02 = -3.919146576102968682065e-01 */ - .quad 0x3FABE26F0086D982 /* A03 = +5.446192628317005068883e-02 */ - .quad 0x3FC481D7FF5776B9 /* A00 = +1.602125164781023347604e-01 */ - .quad 0x3FEDC3506C1E7218 /* A01 = +9.300920592973538347792e-01 */ - .quad 0xBFD7349A88DA7D4F /* A02 = -3.625856720409119104964e-01 */ - .quad 0x3FA936E2DFF8E2AE /* A03 = +4.924687370334389358018e-02 */ - .quad 0x3FC90471F96FA27A /* A00 = +1.954481571149420671141e-01 */ - .quad 0x3FEC0451601987A2 /* A01 = +8.755270840595026360376e-01 */ - .quad 0xBFD5671CD4B898DC /* A02 = -3.344184949259110251063e-01 */ - .quad 0x3FA6BB9594603B67 /* A03 = +4.439990459660841243261e-02 */ - .quad 0x3FCFD8ADB9ED944C /* A00 = +2.488000066615846384011e-01 */ - .quad 0x3FE978C073F6809A /* A01 = +7.959902062321078108909e-01 */ - .quad 0xBFD2DF7E00BCD5A9 /* A02 = -2.948908812716931060471e-01 */ - .quad 0x3FA3614033D490B2 /* A03 = +3.785133965200894456959e-02 */ - .quad 0x3FD4846A12AFE5A0 /* A00 = +3.205819303981005674586e-01 */ - .quad 0x3FE63A1147D40472 /* A01 = +6.945883181471244061100e-01 */ - .quad 0xBFCFA2268AD34450 /* A02 = -2.471359422548027318101e-01 */ - .quad 0x3F9F150201D9FFE0 /* A03 = +3.035357605267552383310e-02 */ - .quad 0x3FD9018641F82BEB /* A00 = +3.907180446846598154131e-01 */ - .quad 0x3FE33B7C220FFBDC /* A01 = +6.010113396913498995389e-01 */ - .quad 0xBFCA4E4187E29C86 /* A02 = -2.055131829740483584423e-01 */ - .quad 0x3F98C30CED19F8F4 /* A03 = +2.418155858185229434287e-02 */ - .quad 0x3FDD4B8255BEB078 /* A00 = +4.577337109901757905561e-01 */ - .quad 0x3FE0858B19D3A49B /* A01 = +5.163016800335243905451e-01 */ - .quad 0xBFC5BC929EACE564 /* A02 = -1.698172831327539045176e-01 */ - .quad 0x3F93A083CE57DE2B /* A03 = +1.916700312537337677621e-02 */ - .quad 0x3FE0A8E5E039295C /* A00 = +5.206174258576470315063e-01 */ - .quad 0x3FDC35E1234583FE /* A01 = +4.407885403107342225937e-01 */ - .quad 0xBFC1DE034E31AEB9 /* A02 = -1.395877963835710222629e-01 */ - .quad 0x3F8EFDEBB3471BDC /* A03 = +1.513275280821162888101e-02 */ - .quad 0x3FE2851B603CB2A5 /* A00 = +5.787484054213406503564e-01 */ - .quad 0x3FD7F4A44ABBB286 /* A01 = +3.743067483726821853551e-01 */ - .quad 0xBFBD3EEB67087DE7 /* A02 = -1.142413260026767657385e-01 */ - .quad 0x3F8864F38329E8BD /* A03 = +1.191129917173260922836e-02 */ - .quad 0x3FE437DBE3C34AC1 /* A00 = +6.318187187665317283702e-01 */ - .quad 0x3FD43F6F789441B5 /* A01 = +3.163717916040938438194e-01 */ - .quad 0xBFB7D92E7901B9A4 /* A02 = -9.315767721429907277653e-02 */ - .quad 0x3F8327ED342308E1 /* A03 = +9.353497651663324544136e-03 */ - .quad 0x3FE5C0977766D55C /* A00 = +6.797597248138731451661e-01 */ - .quad 0x3FD10B42A764D8F9 /* A01 = +2.663122782427219115142e-01 */ - .quad 0xBFB3633351D3D70F /* A02 = -7.573242900602060456716e-02 */ - .quad 0x3F7E079E30FF899C /* A03 = +7.331483779099558922843e-03 */ - .quad 0x3FE7202CE08A88C4 /* A00 = +7.226776490754436288455e-01 */ - .quad 0x3FCC973EB5662B01 /* A01 = +2.233656297433626314319e-01 */ - .quad 0xBFAF70A455F9920B /* A02 = -6.140626477716545211782e-02 */ - .quad 0x3F77812411CE99B6 /* A03 = +5.738392731393584730859e-03 */ - .quad 0x3FE85879424095B1 /* A00 = +7.608000082006382003286e-01 */ - .quad 0x3FC7E73BD1674D84 /* A01 = +1.867441914060742336190e-01 */ - .quad 0xBFA96F84E4BF333B /* A02 = -4.967894832916504993525e-02 */ - .quad 0x3F72606DDCA6E117 /* A03 = +4.486493251924870105662e-03 */ - .quad 0x3FE96BFE4957F4DD /* A00 = +7.944327766887472330737e-01 */ - .quad 0x3FC3ED4780D25478 /* A01 = +1.556786898624158421711e-01 */ - .quad 0xBFA489C5F9A56B58 /* A02 = -4.011362717093075458408e-02 */ - .quad 0x3F6CB5DC17E9AD2A /* A03 = +3.504686231556104931972e-03 */ - .quad 0x3FEA5D9CB2F41234 /* A00 = +8.239272589858672724006e-01 */ - .quad 0x3FC091A758374DCF /* A01 = +1.294449978582705440555e-01 */ - .quad 0xBFA08E436D4B5CE0 /* A02 = -3.233538350257858517978e-02 */ - .quad 0x3F666997AD53E6B7 /* A03 = +2.735897297154145629133e-03 */ - .quad 0x3FEB3060342CB850 /* A00 = +8.496552485501158713532e-01 */ - .quad 0x3FBB7D30BBC7DC1B /* A01 = +1.073790033768634993860e-01 */ - .quad 0xBF9AA6BA3443D9E3 /* A02 = -2.602663940430173170060e-02 */ - .quad 0x3F617CA764B7850B /* A03 = +2.134634914668814050648e-03 */ - .quad 0x3FEBE759A6A0C7B8 /* A00 = +8.719909910635044170135e-01 */ - .quad 0x3FB6C10DE6A703FF /* A01 = +8.888327485239243264115e-02 */ - .quad 0xBF956C566D8BE1F6 /* A02 = -2.092108768099084498138e-02 */ - .quad 0x3F5B46D1A4A59CF8 /* A03 = +1.664833764687232917079e-03 */ - .quad 0x3FEC858494887A04 /* A00 = +8.912985707318630268503e-01 */ - .quad 0x3FB2CC31F543394D /* A01 = +7.342827070099140762682e-02 */ - .quad 0xBF9133477FF69137 /* A02 = -1.679717749142747504343e-02 */ - .quad 0x3F5544482FBB4DA5 /* A03 = +1.298017973501022466823e-03 */ - .quad 0x3FED0DB59D0E32E9 /* A00 = +9.079235141267335551518e-01 */ - .quad 0x3FAF006BAFFC6EF4 /* A01 = +6.055008433597022787787e-02 */ - .quad 0xBF8B97146FA2B97A /* A02 = -1.347175565419144252499e-02 */ - .quad 0x3F5093B01F4CDC69 /* A03 = +1.011774057770665211434e-03 */ - .quad 0x3FEDB487C3EC457C /* A00 = +9.282873942012623835751e-01 */ - .quad 0x3FA7390C09D0BD1D /* A01 = +4.535710925881118044112e-02 */ - .quad 0xBF83D9F7C3181106 /* A02 = -9.693084374710735778846e-03 */ - .quad 0x3F46E34A0A3C0E64 /* A03 = +6.984817050299072134500e-04 */ - .quad 0x3FEE5FFCB4E6EB00 /* A00 = +9.492171796076434020506e-01 */ - .quad 0x3F9F4913ED00AADF /* A01 = +3.055220731782070861526e-02 */ - .quad 0xBF79670BD0E59B5C /* A02 = -6.201788097633133961528e-03 */ - .quad 0x3F3BC998EBCAF96D /* A03 = +4.240034429975534616304e-04 */ - .quad 0x3FEEDBA41E9542FE /* A00 = +9.643116566968215064293e-01 */ - .quad 0x3F94F5DD18D9C24D /* A01 = +2.046914543319848858727e-02 */ - .quad 0xBF7034896AA122B9 /* A02 = -3.956352980886528904192e-03 */ - .quad 0x3F30DCCB47810B39 /* A03 = +2.573009765038273091199e-04 */ - .quad 0x3FEF33F2882520ED /* A00 = +9.750912341196716903724e-01 */ - .quad 0x3F8BF37F2CF553FF /* A01 = +1.364802699996836392315e-02 */ - .quad 0xBF649F6F05A69619 /* A02 = -2.517430152880317534986e-03 */ - .quad 0x3F247623C950AAC9 /* A03 = +1.561087307505231250044e-04 */ - .quad 0x3FEF727757751741 /* A00 = +9.827229221489021115943e-01 */ - .quad 0x3F828E67912C4400 /* A01 = +9.060677640748693306705e-03 */ - .quad 0xBF5A2F51A806CC2C /* A02 = -1.598195784123355826789e-03 */ - .quad 0x3F18D35D7687E613 /* A03 = +9.470231965016282719549e-05 */ - .quad 0x3FEF9E6325C5942A /* A00 = +9.880843866091073568469e-01 */ - .quad 0x3F788AB117618F76 /* A01 = +5.991641772286606867914e-03 */ - .quad 0xBF5096EAB0B1EA89 /* A02 = -1.012543859160305046233e-03 */ - .quad 0x3F0E1E50EC4435AB /* A03 = +5.744633156910412119652e-05 */ - .quad 0x3FEFBD0784049369 /* A00 = +9.918248728250605994461e-01 */ - .quad 0x3F702BBD8294035F /* A01 = +3.947963975634432264028e-03 */ - .quad 0xBF44FB55E0F00593 /* A02 = -6.403130845457509273330e-04 */ - .quad 0x3F0244DCD723230A /* A03 = +3.484534217219031730379e-05 */ - .quad 0x3FEFD245E2366A43 /* A00 = +9.944180887426415926811e-01 */ - .quad 0x3F653D82EC088433 /* A01 = +2.592807490387838333795e-03 */ - .quad 0xBF3A7DF75E013CB8 /* A02 = -4.042366908878036561859e-04 */ - .quad 0x3EF6298E69F991CD /* A03 = +2.113564425911141559972e-05 */ - .quad 0x3FEFE0EAA508BC69 /* A00 = +9.962056372950317539861e-01 */ - .quad 0x3F5BD0771AF3FDDA /* A01 = +1.697651208644282514598e-03 */ - .quad 0xBF30B2E1254DE571 /* A02 = -2.548026725928887099328e-04 */ - .quad 0x3EEAE28B70EC0256 /* A03 = +1.281973848454955042307e-05 */ - .quad 0x3FEFEAF5303D7F96 /* A00 = +9.974313680831865536192e-01 */ - .quad 0x3F5229111365657E /* A01 = +1.108423877289460134782e-03 */ - .quad 0xBF250572D04DFE66 /* A02 = -1.603796628408704519168e-04 */ - .quad 0x3EE04E89BB57C981 /* A03 = +7.775682983689149966743e-06 */ - .quad 0x3FEFF1CF52F1CF44 /* A00 = +9.982678051005469122003e-01 */ - .quad 0x3F47A71316147CEB /* A01 = +7.218211359577819110842e-04 */ - .quad 0xBF1A6D7604055719 /* A02 = -1.008132248946049582547e-04 */ - .quad 0x3ED3C8047586A85C /* A03 = +4.716233739913014633626e-06 */ - .quad 0x3FEFF6770369EF69 /* A00 = +9.988360468555416149528e-01 */ - .quad 0x3F3EBB261180FBF0 /* A01 = +4.689186039321105101130e-04 */ - .quad 0xBF1097754FE19D7F /* A02 = -6.329206004950480057066e-05 */ - .quad 0x3EC7FEFF83BCA0A7 /* A03 = +2.860556404988488738366e-06 */ - .quad 0x3FEFF99D42371AC4 /* A00 = +9.992204945818561334647e-01 */ - .quad 0x3F33EB2AEC271F59 /* A01 = +3.039340773764907474054e-04 */ - .quad 0xBF04CF18E0FC0D79 /* A02 = -3.968996690952969588805e-05 */ - .quad 0x3EBD1BDBD6019BE9 /* A03 = +1.735021065507727833886e-06 */ - .quad 0x3FEFFBBCA32B0D91 /* A00 = +9.994795977476532700123e-01 */ - .quad 0x3F29C41E1615110A /* A01 = +1.965796209707565346710e-04 */ - .quad 0xBEFA11F93D9DCB5A /* A02 = -2.486248909101414873235e-05 */ - .quad 0x3EB1A7CA4546F7A7 /* A03 = +1.052345642723709228769e-06 */ - .quad 0x3FEFFD298B8E8DE2 /* A00 = +9.996535993308806045121e-01 */ - .quad 0x3F20A1C42D523C5B /* A01 = +1.268913244172078754520e-04 */ - .quad 0xBEF0507A364AFAE4 /* A02 = -1.555859070622834605755e-05 */ - .quad 0x3EA56ACA17E7CDF4 /* A03 = +6.382806956848098872313e-07 */ - .quad 0x3FEFFE1DC82BA5A3 /* A00 = +9.997700604991915929176e-01 */ - .quad 0x3F156E73B90F1769 /* A01 = +8.175450626798714452801e-05 */ - .quad 0xBEE4663579D0A09F /* A02 = -9.727122057226747625365e-06 */ - .quad 0x3E99FAF6FEC5D4C1 /* A03 = +3.871371052824002996020e-07 */ - .quad 0x3FEFFEF8D0BB5E81 /* A00 = +9.998745037837154514548e-01 */ - .quad 0x3F06686DA18D39C3 /* A01 = +4.273972098777251447726e-05 */ - .quad 0xBED46BC298073E90 /* A02 = -4.868731025855742842491e-06 */ - .quad 0x3E88E42286B9D0FD /* A03 = +1.854535328530838170114e-07 */ - .quad 0x3FEFFF8DBC68DDC7 /* A00 = +9.999455146670975791423e-01 */ - .quad 0x3EF26B2953A80AF0 /* A01 = +1.756534514108903368909e-05 */ - .quad 0xBEBFC4472D580F83 /* A02 = -1.893443529411295465239e-06 */ - .quad 0x3E72505B4553D19F /* A03 = +6.822456673547912277047e-08 */ - .quad 0x3FEFFFCED1276609 /* A00 = +9.999765477215883935358e-01 */ - .quad 0x3EDE1A94C7CC58F5 /* A01 = +7.177313020153979672606e-06 */ - .quad 0xBEA8A2C988744E57 /* A02 = -7.342066660497443762363e-07 */ - .quad 0x3E5AF30036BBBAF4 /* A03 = +2.509841882843541084885e-08 */ - .quad 0x3FEFFFEAFE70FCFC /* A00 = +9.999899835164849370983e-01 */ - .quad 0x3EC879175E3549F5 /* A01 = +2.917410471128503564412e-06 */ - .quad 0xBE930E36677D1813 /* A02 = -2.839493400307523115929e-07 */ - .quad 0x3E43D4005B42D48F /* A03 = +9.233192745401904898013e-09 */ - .quad 0x3ff0000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .quad 0x0000000000000000 - .align 32 - .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ - .align 32 - .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ - .align 32 - .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask */ - .align 32 - .long 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000 /* _iExpMask */ - .align 32 - .long 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000 /* _iMinIdxOfsMask */ - .align 32 - .long 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000 /* _iMaxIdxMask */ - .align 32 - .type __svml_stanh_data_internal,@object - .size __svml_stanh_data_internal,.-__svml_stanh_data_internal + /* Pol_000: err=7.93e-09, x in [0.0000000; 0.0312500]. */ + .quad 0x0000000000000000 /* A00 = +0.000000000000000000000e-01 */ + .quad 0x3FF00000022C70EB /* A01 = +1.000000008097283510367e+00 */ + .quad 0xBED00E878CFFA194 /* A02 = -3.828228912518614443549e-06 */ + .quad 0xBFD551766D0607A9 /* A03 = -3.330970825846813476723e-01 */ + .quad 0xBE53D60CE3E4C297 /* A00 = -1.847383956330407336230e-08 */ + .quad 0x3FF000024177CF5C /* A01 = +1.000002151235967140508e+00 */ + .quad 0xBF1758BC94A51A25 /* A02 = -8.906031613262943753568e-05 */ + .quad 0xBFD53EAE67E0D4F0 /* A03 = -3.319507612644221339337e-01 */ + .quad 0xBE5A9E47EF32D6FE /* A00 = -2.479020984039698285657e-08 */ + .quad 0x3FF00002DA983057 /* A01 = +1.000002721676556793895e+00 */ + .quad 0xBF1BD953509E94AA /* A02 = -1.062352277175377670507e-04 */ + .quad 0xBFD53BDB562EEDD5 /* A03 = -3.317783681520414806876e-01 */ + .quad 0xBE6191BBE496D294 /* A00 = -3.272532162914017685901e-08 */ + .quad 0x3FF0000390492017 /* A01 = +1.000003398528866105366e+00 */ + .quad 0xBF20727E814A57CE /* A02 = -1.254825043772153972919e-04 */ + .quad 0xBFD538DE060A6F22 /* A03 = -3.315959033004550748913e-01 */ + .quad 0xBE66DAFA2A893A25 /* A00 = -4.257146219278012568149e-08 */ + .quad 0x3FF0000465E08CD1 /* A01 = +1.000004194219219266770e+00 */ + .quad 0xBF2341C765EF91B6 /* A02 = -1.469188600530365522261e-04 */ + .quad 0xBFD535B6841FAF9E /* A03 = -3.314033785124993469751e-01 */ + .quad 0xBE6D5794E361E964 /* A00 = -5.465394929765249413434e-08 */ + .quad 0x3FF000055EE2A0CB /* A01 = +1.000005121846742950353e+00 */ + .quad 0xBF265E6C77E66C8B /* A02 = -1.706607253709506650304e-04 */ + .quad 0xBFD53264DDCCEDA6 /* A03 = -3.312008062382240103361e-01 */ + .quad 0xBE729C844D374A6E /* A00 = -6.933284462462096107184e-08 */ + .quad 0x3FF000067F019093 /* A01 = +1.000006195180536350264e+00 */ + .quad 0xBF29CC5348D6DCE5 /* A02 = -1.968242326435338705130e-04 */ + .quad 0xBFD52EE92121ED35 /* A03 = -3.309881995734998416658e-01 */ + .quad 0xBE775AEA17EAA872 /* A00 = -8.700465590574974405858e-08 */ + .quad 0x3FF00007CA1D66B8 /* A01 = +1.000007428656699559610e+00 */ + .quad 0xBF2D8F5EB98A2637 /* A02 = -2.255252009216044881395e-04 */ + .quad 0xBFD52B435CDF9128 /* A03 = -3.307655722585587376727e-01 */ + .quad 0xBE7D04DA28C343F0 /* A00 = -1.081040272327705484794e-07 */ + .quad 0x3FF000094443CCF5 /* A01 = +1.000008837375216730337e+00 */ + .quad 0xBF30D5B76C947AE5 /* A02 = -2.568791210978817814332e-04 */ + .quad 0xBFD52773A0776FAD /* A03 = -3.305329386764651045105e-01 */ + .quad 0xBE81DD77A12C51C7 /* A00 = -1.331054169875768625701e-07 */ + .quad 0x3FF0000AF1AFD2DA /* A01 = +1.000010437096696680470e+00 */ + .quad 0xBF331230624C1680 /* A02 = -2.910011410651516805537e-04 */ + .quad 0xBFD52379FC0B61DF /* A03 = -3.302903138515186909352e-01 */ + .quad 0xBE85D04EEEB3C435 /* A00 = -1.625247628488202841012e-07 */ + .quad 0x3FF0000CD6C9B1F2 /* A01 = +1.000012244238970726684e+00 */ + .quad 0xBF357F0742FADDD4 /* A02 = -3.280060509313874068243e-04 */ + .quad 0xBFD51F56806D0E81 /* A03 = -3.300377134475880880338e-01 */ + .quad 0xBE8A6E289B59681B /* A00 = -1.969211333326924655065e-07 */ + .quad 0x3FF0000EF8268F72 /* A01 = +1.000014275873550406715e+00 */ + .quad 0xBF381E277A1B747A /* A02 = -3.680082682942575423093e-04 */ + .quad 0xBFD51B093F1D6FD4 /* A03 = -3.297751537663746734808e-01 */ + .quad 0xBE8FCBC40EE9ABD5 /* A00 = -2.368983653301529373887e-07 */ + .quad 0x3FF000115A883B6C /* A01 = +1.000016549721943981410e+00 */ + .quad 0xBF3AF17AC974B3D9 /* A02 = -4.111218235774406434303e-04 */ + .quad 0xBFD516924A4C549C /* A03 = -3.295026517456081105450e-01 */ + .quad 0xBE92FFBC60A3F956 /* A00 = -2.831066871072026054144e-07 */ + .quad 0x3FF0001402DCED8A /* A01 = +1.000019084151832604590e+00 */ + .quad 0xBF3DFAE9390C4801 /* A02 = -4.574603454311488280083e-04 */ + .quad 0xBFD511F1B4D7DC3A /* A03 = -3.292202249571719585575e-01 */ + .quad 0xBE9690A22F96D5AD /* A00 = -3.362443262393081632612e-07 */ + .quad 0x3FF00016F63EFF5D /* A01 = +1.000021898173108825247e+00 */ + .quad 0xBF409E2C839605BB /* A02 = -5.071370461992499986334e-04 */ + .quad 0xBFD50D27924BEE00 /* A03 = -3.289278916051614487515e-01 */ + .quad 0xBE9AA56C65E72A73 /* A00 = -3.970591019557469835586e-07 */ + .quad 0x3FF0001A39F4A43E /* A01 = +1.000025011433776978009e+00 */ + .quad 0xBF425BD74C3D6667 /* A02 = -5.602647074553602319844e-04 */ + .quad 0xBFD50833F6E1ABA2 /* A03 = -3.286256705238718156536e-01 */ + .quad 0xBE9F4BD4FF1A83B0 /* A00 = -4.663500013744687071912e-07 */ + .quad 0x3FF0001DD36F9EC2 /* A01 = +1.000028444215715683896e+00 */ + .quad 0xBF44376634149405 /* A02 = -6.169556656102642569831e-04 */ + .quad 0xBFD50316F77EDEE5 /* A03 = -3.283135811757190158922e-01 */ + .quad 0xBEA3B625387BB079 /* A00 = -5.874486399249461304297e-07 */ + .quad 0x3FF00023E14CFBA9 /* A01 = +1.000034217911642153709e+00 */ + .quad 0xBF47392F923218D2 /* A02 = -7.087213783883111826306e-04 */ + .quad 0xBFD4FB1FACDEB938 /* A03 = -3.278273761924483942209e-01 */ + .quad 0xBEAA6E24F543500A /* A00 = -7.876828740601738750574e-07 */ + .quad 0x3FF0002D5C6E8412 /* A01 = +1.000043259679163742959e+00 */ + .quad 0xBF4BAF02BD7FDD70 /* A02 = -8.448375110664940040861e-04 */ + .quad 0xBFD4EFEE6527A7DE /* A03 = -3.271442401734229177279e-01 */ + .quad 0xBEB16E3EBE2157D0 /* A00 = -1.038947396133402500647e-06 */ + .quad 0x3FF00038990FEE2F /* A01 = +1.000053975962952312884e+00 */ + .quad 0xBF50569481C574CB /* A02 = -9.972048056490652716971e-04 */ + .quad 0xBFD4E419278DA2B4 /* A03 = -3.264220129263251113372e-01 */ + .quad 0xBEB6A7B6723165D4 /* A00 = -1.350350836279403750524e-06 */ + .quad 0x3FF00045CAB4158E /* A01 = +1.000066558657042303793e+00 */ + .quad 0xBF531D7C9C849108 /* A02 = -1.166698160951775212202e-03 */ + .quad 0xBFD4D7A0BB33B152 /* A03 = -3.256608799117844954552e-01 */ + .quad 0xBEBD0EE2A8654AFD /* A00 = -1.732000471561702711532e-06 */ + .quad 0x3FF00055276F18D6 /* A01 = +1.000081209219890521211e+00 */ + .quad 0xBF562FDBA3FB6C6C /* A02 = -1.354183666925102939860e-03 */ + .quad 0xBFD4CA85F1B93DB2 /* A03 = -3.248610363561638125773e-01 */ + .quad 0xBEC269D4036A207E /* A00 = -2.195047297096822741730e-06 */ + .quad 0x3FF00066E7DA6E4E /* A01 = +1.000098138500919997540e+00 */ + .quad 0xBF5991499FC36B3A /* A02 = -1.560518167983372759405e-03 */ + .quad 0xBFD4BCC9A72283D6 /* A03 = -3.240226871658341556426e-01 */ + .quad 0xBEC7154B6C09CFE1 /* A00 = -2.751729738565190291276e-06 */ + .quad 0x3FF0007B47086B80 /* A01 = +1.000117566559055148900e+00 */ + .quad 0xBF5D455433B4F8F4 /* A02 = -1.786548832412968197680e-03 */ + .quad 0xBFD4AE6CC1BFE145 /* A03 = -3.231460468373550942722e-01 */ + .quad 0xBECCA68CC64A0F8A /* A00 = -3.415415948561670285790e-06 */ + .quad 0x3FF00092827742F7 /* A01 = +1.000139722473418535387e+00 */ + .quad 0xBF60A7BF15A527AF /* A02 = -2.033112728132522705610e-03 */ + .quad 0xBFD49F703214084C /* A03 = -3.222313393636155876010e-01 */ + .quad 0xBED19E68676B241B /* A00 = -4.200644630977303616698e-06 */ + .quad 0x3FF000ACDA037B26 /* A01 = +1.000164844146362863597e+00 */ + .quad 0xBF62D99F836A02F8 /* A02 = -2.301036405072284102280e-03 */ + .quad 0xBFD48FD4F2B91B28 /* A03 = -3.212787981359945810311e-01 */ + .quad 0xBED57CF4B0C7AA54 /* A00 = -5.123164339408145209103e-06 */ + .quad 0x3FF000CA8FD9E1A1 /* A01 = +1.000193178099017865534e+00 */ + .quad 0xBF653A014548E686 /* A02 = -2.591135484433962181405e-03 */ + .quad 0xBFD47F9C0844B38F /* A03 = -3.202886658426046806447e-01 */ + .quad 0xBEDA012B1B1A41E2 /* A00 = -6.199971197454598722328e-06 */ + .quad 0x3FF000EBE868FDF4 /* A01 = +1.000224979259539459520e+00 */ + .quad 0xBF67CA9427E0A544 /* A02 = -2.904214255086275467410e-03 */ + .quad 0xBFD46EC6812ADB37 /* A03 = -3.192611943626845749655e-01 */ + .quad 0xBEDF3EAC5BF12194 /* A00 = -7.449344990702664567927e-06 */ + .quad 0x3FF001112A520784 /* A01 = +1.000260510744255704196e+00 */ + .quad 0xBF6A8D01ABDA4DC4 /* A02 = -3.241065277345108255891e-03 */ + .quad 0xBFD45D55759FFA4A /* A03 = -3.181966446572103146551e-01 */ + .quad 0xBEE2A541BC274267 /* A00 = -8.890883582164319970972e-06 */ + .quad 0x3FF0013A9E5961F2 /* A01 = +1.000300043631906721231e+00 */ + .quad 0xBF6D82ECD080C540 /* A02 = -3.602468994380686462264e-03 */ + .quad 0xBFD44B4A0779C0AD /* A03 = -3.170952866557950611259e-01 */ + .quad 0xBEE61D97609A27F4 /* A00 = -1.054553560499505625520e-05 */ + .quad 0x3FF001688F56A3AF /* A01 = +1.000343856731187974773e+00 */ + .quad 0xBF7056F8EFB683EC /* A02 = -3.989193351487490407647e-03 */ + .quad 0xBFD438A5620F0F74 /* A03 = -3.159573991399533543500e-01 */ + .quad 0xBEEA145429EDD370 /* A00 = -1.243563138839952927732e-05 */ + .quad 0x3FF0019B4A242A67 /* A01 = +1.000392236341804297339e+00 */ + .quad 0xBF7207D31CA78D9B /* A02 = -4.401993423445739288258e-03 */ + .quad 0xBFD42568BA16E7CD /* A03 = -3.147832696228050619602e-01 */ + .quad 0xBEEE96370D52680F /* A00 = -1.458491207477835326165e-05 */ + .quad 0x3FF001D31D8E4115 /* A01 = +1.000445476009251821736e+00 */ + .quad 0xBF73D4CC11EDC094 /* A02 = -4.841611050196221316400e-03 */ + .quad 0xBFD411954D8664E7 /* A03 = -3.135731942252974469021e-01 */ + .quad 0xBEF338C046215EF8 /* A00 = -1.833122622260562810219e-05 */ + .quad 0x3FF00230C32C2EC1 /* A01 = +1.000534784691737621998e+00 */ + .quad 0xBF76BD019BCC5DAF /* A02 = -5.551344188254799492943e-03 */ + .quad 0xBFD3F2C7156DC21E /* A03 = -3.116929730668135389848e-01 */ + .quad 0xBEF9B15EAE411EAE /* A00 = -2.450261207822986676092e-05 */ + .quad 0x3FF002C2DF057A4D /* A01 = +1.000674124886830940184e+00 */ + .quad 0xBF7B08CCD9AC1E30 /* A02 = -6.600189396301511801646e-03 */ + .quad 0xBFD3C7A7A114FED8 /* A03 = -3.090609620157755976777e-01 */ + .quad 0xBF00E36483C373B3 /* A00 = -3.221178528332122595812e-05 */ + .quad 0x3FF0036F419480D7 /* A01 = +1.000838524028997644777e+00 */ + .quad 0xBF7FD255D1777007 /* A02 = -7.768950679260206403087e-03 */ + .quad 0xBFD39A453911D6CE /* A03 = -3.062909180947429588215e-01 */ + .quad 0xBF05DFA04DD12059 /* A00 = -4.172046622180685472624e-05 */ + .quad 0x3FF00438B2A03D8D /* A01 = +1.001030633695197069599e+00 */ + .quad 0xBF828F8DBB4A9D10 /* A02 = -9.062869337255224921890e-03 */ + .quad 0xBFD36AAB704697D9 /* A03 = -3.033856007044711255993e-01 */ + .quad 0xBF0BF3E0C647DEFB /* A00 = -5.331544597092331081714e-05 */ + .quad 0x3FF005221063D36D /* A01 = +1.001253189109060359741e+00 */ + .quad 0xBF857A2CB3C96102 /* A02 = -1.048693584122917590862e-02 */ + .quad 0xBFD338E65BBB4FEC /* A03 = -3.003478904549854444639e-01 */ + .quad 0xBF11A506ED7C9D31 /* A00 = -6.730894835681591541979e-05 */ + .quad 0x3FF0062E4D0EA92A /* A01 = +1.001508999829250345925e+00 */ + .quad 0xBF88AB82C2761AF3 /* A02 = -1.204588085125866091241e-02 */ + .quad 0xBFD305028D6BD206 /* A03 = -2.971807843271395688234e-01 */ + .quad 0xBF1607C0922D9BF1 /* A00 = -8.403885708006799337092e-05 */ + .quad 0x3FF007606C341961 /* A01 = +1.001800940198869449560e+00 */ + .quad 0xBF8C25E6DA487BCF /* A02 = -1.374416688582682892494e-02 */ + .quad 0xBFD2CF0D0EE8F7B5 /* A03 = -2.938873906713255768075e-01 */ + .quad 0xBF1B3A8480A0A16D /* A00 = -1.038688061788578038307e-04 */ + .quad 0x3FF008BB802D02D6 /* A01 = +1.002131939589323561535e+00 */ + .quad 0xBF8FEB8AE99FD100 /* A02 = -1.558598065819483124983e-02 */ + .quad 0xBFD297135BD0911B /* A03 = -2.904709240558688843059e-01 */ + .quad 0xBF20ABB9BDB75C65 /* A00 = -1.271881327357976163798e-04 */ + .quad 0x3FF00A42A76D8CD1 /* A01 = +1.002504972472525901495e+00 */ + .quad 0xBF91FF3D752BB9E6 /* A02 = -1.757522609380570560722e-02 */ + .quad 0xBFD25D235C1F88B4 /* A03 = -2.869346999779154305799e-01 */ + .quad 0xBF243D3254425461 /* A00 = -1.544116913733432829448e-04 */ + .quad 0x3FF00BF909D1795E /* A01 = +1.002923048355647051011e+00 */ + .quad 0xBF94304E04D44942 /* A02 = -1.971551804042204897316e-02 */ + .quad 0xBFD2214B5E61CFA6 /* A03 = -2.832821294498394371075e-01 */ + .quad 0xBF286070011B61CE /* A00 = -1.859795307186510085994e-04 */ + .quad 0x3FF00DE1D5E1627E /* A01 = +1.003389201612804537689e+00 */ + .quad 0xBF9689D5F4163F59 /* A02 = -2.201017668045266231780e-02 */ + .quad 0xBFD1E39A11C3B42C /* A03 = -2.795167134743816728104e-01 */ + .quad 0xBF2D250B366A79E8 /* A00 = -2.223564326486314902259e-04 */ + .quad 0x3FF010003E134001 /* A01 = +1.003906481248123094829e+00 */ + .quad 0xBF990C9FF91F6F81 /* A02 = -2.446222265267250853271e-02 */ + .quad 0xBFD1A41E80084CDC /* A03 = -2.756420374218586655246e-01 */ + .quad 0xBF314DB5DDC2A30E /* A00 = -2.640313157465248123865e-04 */ + .quad 0x3FF012577608921B /* A01 = +1.004477940624503018441e+00 */ + .quad 0xBF9BB9626875B0C9 /* A02 = -2.707437288829409385849e-02 */ + .quad 0xBFD162E80768A9D0 /* A03 = -2.716617653228725615122e-01 */ + .quad 0xBF346A6133808864 /* A00 = -3.115165050094957730625e-04 */ + .quad 0x3FF014EAAFCC88A3 /* A01 = +1.005106627192198898157e+00 */ + .quad 0xBF9E90BEF9BF7419 /* A02 = -2.984903716411588595059e-02 */ + .quad 0xBFD12006545F7FAD /* A03 = -2.675796340899932457269e-01 */ + .quad 0xBF37F180DC3848EA /* A00 = -3.653468704395550778821e-04 */ + .quad 0x3FF017BD19147861 /* A01 = +1.005795572250939295955e+00 */ + .quad 0xBFA0C9A14C702E07 /* A02 = -3.278831537326359207851e-02 */ + .quad 0xBFD0DB895B650092 /* A03 = -2.633994476818851682154e-01 */ + .quad 0xBF3BEC6AAC6D7635 /* A00 = -4.260788377246944457107e-04 */ + .quad 0x3FF01AD1D884E719 /* A01 = +1.006547780778822565040e+00 */ + .quad 0xBFA260B2A1B1434A /* A02 = -3.589399551186163439542e-02 */ + .quad 0xBFD09581529E93D6 /* A03 = -2.591250712233067465817e-01 */ + .quad 0xBF4164E26167882B /* A00 = -5.308251737086202562063e-04 */ + .quad 0x3FF01FEF14B62B81 /* A01 = +1.007796364693348545316e+00 */ + .quad 0xBFA4EB014538AA42 /* A02 = -4.085544557559163403315e-02 */ + .quad 0xBFD029D36FEAF41F /* A03 = -2.525528519580024222613e-01 */ + .quad 0xBF46F6FFF4E53DC8 /* A00 = -7.008313930700277652464e-04 */ + .quad 0x3FF027CBB51CBBA0 /* A01 = +1.009715754956893363214e+00 */ + .quad 0xBFA89DEC9FEC112E /* A02 = -4.807986690687680864098e-02 */ + .quad 0xBFCF2A99464D0DB4 /* A03 = -2.434875100390009317053e-01 */ + .quad 0xBF4DCC9C4F66A4D9 /* A00 = -9.094012482836712945103e-04 */ + .quad 0x3FF030E7CFCCD583 /* A01 = +1.011939822882909068014e+00 */ + .quad 0xBFACAA3B95814081 /* A02 = -5.598627281199331645611e-02 */ + .quad 0xBFCDF78F156BE7CF /* A03 = -2.341173987004467604844e-01 */ + .quad 0xBF5308ED74E5C7A6 /* A00 = -1.161796466103906435435e-03 */ + .quad 0x3FF03B5986412ECB /* A01 = +1.014489674026594512313e+00 */ + .quad 0xBFB087EBA88DCC3F /* A02 = -6.457398285947223148806e-02 */ + .quad 0xBFCCBB9BD134862F /* A03 = -2.244753619680052991736e-01 */ + .quad 0xBF57FA23C00DF4B5 /* A00 = -1.463446533505758208674e-03 */ + .quad 0x3FF0473558A1BCC0 /* A01 = +1.017384859292903342975e+00 */ + .quad 0xBFB2E702BC6360EF /* A02 = -7.383744334527241048871e-02 */ + .quad 0xBFCB77D546379288 /* A03 = -2.145945160729250122955e-01 */ + .quad 0xBF5DD12971557F71 /* A00 = -1.819887610814388068450e-03 */ + .quad 0x3FF0548DDF5000A8 /* A01 = +1.020643112482540360020e+00 */ + .quad 0xBFB571B63DA186E1 /* A02 = -8.376635555898871710045e-02 */ + .quad 0xBFCA2D5202605148 /* A03 = -2.045080672838912594358e-01 */ + .quad 0xBF6252B1AD5D4F17 /* A00 = -2.236697221556737096709e-03 */ + .quad 0x3FF063738A910BF7 /* A01 = +1.024280110622155737232e+00 */ + .quad 0xBFB8270C8E6B601B /* A02 = -9.434584118878357184013e-02 */ + .quad 0xBFC8DD27D950A07E /* A03 = -1.942491351230763441116e-01 */ + .quad 0xBF66470C91730CFC /* A00 = -2.719425723258004842786e-03 */ + .quad 0x3FF073F468FCF331 /* A01 = +1.028309259519300633556e+00 */ + .quad 0xBFBB05C2952191E4 /* A02 = -1.055566419686964629854e-01 */ + .quad 0xBFC7886A770DE2BD /* A03 = -1.838505822486435070662e-01 */ + .quad 0xBF6AD114AC8E98EC /* A00 = -3.273525599485007861467e-03 */ + .quad 0x3FF0861BF53E5226 /* A01 = +1.032741506559554434119e+00 */ + .quad 0xBFBE0C4F9B461507 /* A02 = -1.173753503881763554650e-01 */ + .quad 0xBFC6302A037CDE3A /* A03 = -1.733448521642786954722e-01 */ + .quad 0xBF6FFBDE2A6C2AF8 /* A00 = -3.904279630096648551207e-03 */ + .quad 0x3FF099F2EB8E7DA3 /* A01 = +1.037585182326304034106e+00 */ + .quad 0xBFC09C74D192DDF0 /* A02 = -1.297746680554463516444e-01 */ + .quad 0xBFC4D571D8E3079F /* A03 = -1.627638157861470424859e-01 */ + .quad 0xBF72E8FDC0B952AA /* A00 = -4.616728994353872309042e-03 */ + .quad 0x3FF0AF7F273C9533 /* A01 = +1.042845872181101141152e+00 */ + .quad 0xBFC244C512736F10 /* A02 = -1.427236881344176033792e-01 */ + .quad 0xBFC379474F58B902 /* A03 = -1.521386277613104298645e-01 */ + .quad 0xBF762EABAF17395B /* A00 = -5.415602341101023557701e-03 */ + .quad 0x3FF0C6C3886F63FB /* A01 = +1.048526318502125631582e+00 */ + .quad 0xBFC3FDF9918EA12A /* A02 = -1.561881981590514389957e-01 */ + .quad 0xBFC21CA89ECAB895 /* A03 = -1.414995932913753196036e-01 */ + .quad 0xBF79D387CE5B2BAE /* A00 = -6.305246822828998107258e-03 */ + .quad 0x3FF0DFBFE2346376 /* A01 = +1.054626353847394337748e+00 */ + .quad 0xBFC5C6DA43602620 /* A02 = -1.701309994680721970894e-01 */ + .quad 0xBFC0C08BD8DB6631 /* A03 = -1.308760460731704100557e-01 */ + .quad 0xBF7DDBA8E8DA9060 /* A00 = -7.289562037531366334164e-03 */ + .quad 0x3FF0FA70F0D1B464 /* A01 = +1.061142864894713433443e+00 */ + .quad 0xBFC79E18D92BAA7C /* A02 = -1.845122394946264732241e-01 */ + .quad 0xBFBECBBBF74C2669 /* A03 = -1.202962378266875381749e-01 */ + .quad 0xBF81254E76EA25DA /* A00 = -8.371937755572145950511e-03 */ + .quad 0x3FF116D05835EBD0 /* A01 = +1.068069786618014660462e+00 */ + .quad 0xBFC982539E2ED224 /* A02 = -1.992897531869327609755e-01 */ + .quad 0xBFBC1B043C350159 /* A03 = -1.097872397413132278254e-01 */ + .quad 0xBF8391ACBA863403 /* A00 = -9.555196230190082448686e-03 */ + .quad 0x3FF134D4AA477FE2 /* A01 = +1.075398125794884141015e+00 */ + .quad 0xBFCB7218609FEAFB /* A02 = -2.144194099235717521079e-01 */ + .quad 0xBFB970A16CB88329 /* A03 = -9.937485603633135211599e-02 */ + .quad 0xBF87935088E48E8B /* A00 = -1.151144902957603431692e-02 */ + .quad 0x3FF1649892AD7DD3 /* A01 = +1.087059567413110938716e+00 */ + .quad 0xBFCE6971DDE75409 /* A02 = -2.375929196847723912089e-01 */ + .quad 0xBFB58291E88CB251 /* A03 = -8.402358939628952472223e-02 */ + .quad 0xBF8DB3A62C325325 /* A00 = -1.450280973794233242702e-02 */ + .quad 0x3FF1A9C900C6DEEA /* A01 = +1.103951457056548068891e+00 */ + .quad 0xBFD13DBC65B0E08E /* A02 = -2.693930619311765140012e-01 */ + .quad 0xBFB06696F62696D1 /* A03 = -6.406539449252625362252e-02 */ + .quad 0xBF92583699F2E27A /* A00 = -1.791463198307716858659e-02 */ + .quad 0x3FF1F451B85AA9F0 /* A01 = +1.122148246892376022288e+00 */ + .quad 0xBFD34FD5F8288180 /* A02 = -3.017477916164565954205e-01 */ + .quad 0xBFA6FB692825B683 /* A03 = -4.488686194495718900788e-02 */ + .quad 0xBF9641C26E673D6F /* A00 = -2.173522757385398448959e-02 */ + .quad 0x3FF24364DA5E2B07 /* A01 = +1.141453602790251542487e+00 */ + .quad 0xBFD564A5A5EF5890 /* A02 = -3.342680092295120530821e-01 */ + .quad 0xBF9B43712011A982 /* A03 = -2.662445791467283467968e-02 */ + .quad 0xBF9A901038EC2F39 /* A00 = -2.594018313816024226548e-02 */ + .quad 0x3FF2961356DFFEBA /* A01 = +1.161639537196534011088e+00 */ + .quad 0xBFD775EBB17198C7 /* A02 = -3.665723069046972759644e-01 */ + .quad 0xBF833B1A926CD462 /* A03 = -9.390075295963199591975e-03 */ + .quad 0xBF9F396A6A461B91 /* A00 = -3.049246095317987084727e-02 */ + .quad 0x3FF2EB53BAEF534B /* A01 = +1.182452898229899629357e+00 */ + .quad 0xBFD97DABF8AD8BBD /* A02 = -3.982953957076310058660e-01 */ + .quad 0x3F7B8F6A3E0F8837 /* A03 = +6.728568086119371925713e-03 */ + .quad 0xBFA21878590F8BAA /* A00 = -3.534294211546946951064e-02 */ + .quad 0x3FF34209790236E1 /* A01 = +1.203622315111197105253e+00 */ + .quad 0xBFDB764C0E71BECB /* A02 = -4.290952817018306997277e-01 */ + .quad 0x3F962FE0C03F84C0 /* A03 = +2.166701482190513949888e-02 */ + .quad 0xBFA4B36B9AD27ECC /* A00 = -4.043136849327097492868e-02 */ + .quad 0x3FF3990C5B12FC16 /* A01 = +1.224865298994477935679e+00 */ + .quad 0xBFDD5AABB0D01390 /* A02 = -4.586590983092770912322e-01 */ + .quad 0x3FA21DAF5CA162DB /* A03 = +3.538272863142363083844e-02 */ + .quad 0xBFA7645E4D7BF28B /* A00 = -4.568762489177399105378e-02 */ + .quad 0x3FF3EF2FD51C0D9F /* A01 = +1.245895225962932562069e+00 */ + .quad 0xBFDF26377E1B686E /* A02 = -4.867075664057044503963e-01 */ + .quad 0x3FA8803E756EE812 /* A03 = +4.785342391501513914509e-02 */ + .quad 0xBFAA210925C64413 /* A00 = -5.103329263796054643398e-02 */ + .quad 0x3FF44349F897D8E7 /* A01 = +1.266427966181760345066e+00 */ + .quad 0xBFE06A7B02C6D8E2 /* A02 = -5.129981092675530707226e-01 */ + .quad 0x3FAE3F194734F5D0 /* A03 = +5.907515520309980505687e-02 */ + .quad 0xBFACDE48F8A19BBB /* A00 = -5.638340029764018351832e-02 */ + .quad 0x3FF49439D5466582 /* A01 = +1.286187966447272845727e+00 */ + .quad 0xBFE131C7C1063DDC /* A02 = -5.373266954429101183166e-01 */ + .quad 0x3FB1ADEEC36AD805 /* A03 = +6.906025191241844940482e-02 */ + .quad 0xBFAF905D8F585680 /* A00 = -6.164829611604449866036e-02 */ + .quad 0x3FF4E0ED1FD27F99 /* A01 = +1.304913639360142818546e+00 */ + .quad 0xBFE1E7A859DC1D3D /* A02 = -5.595285182070380836095e-01 */ + .quad 0x3FB3ED018E4642A1 /* A03 = +7.783517573831001679086e-02 */ + .quad 0xBFB11595104160BA /* A00 = -6.673556944713512906198e-02 */ + .quad 0x3FF528650340490B /* A01 = +1.322361958217302513319e+00 */ + .quad 0xBFE28B14B40BC974 /* A02 = -5.794776455425521000109e-01 */ + .quad 0x3FB5DF49F5BAF6D7 /* A03 = +8.543836831355676453281e-02 */ + .quad 0xBFB2513A97344BA4 /* A00 = -7.155195418844911836587e-02 */ + .quad 0x3FF569BA0DB5EE14 /* A01 = +1.338312200124055273420e+00 */ + .quad 0xBFE31B53A8B67B20 /* A02 = -5.970857901737396389308e-01 */ + .quad 0x3FB787F297BB0544 /* A03 = +9.191814617499455275507e-02 */ + .quad 0xBFB37512E848FAFA /* A00 = -7.600515528700305112331e-02 */ + .quad 0x3FF5A41F33B403C8 /* A01 = +1.352568819013173495591e+00 */ + .quad 0xBFE397F6EA9A58A5 /* A02 = -6.123003561103997904880e-01 */ + .quad 0x3FB8EAA9FF25CA06 /* A03 = +9.733068923177520814782e-02 */ + .quad 0xBFB47B3E603AFC5D /* A00 = -8.000554894805263217439e-02 */ + .quad 0x3FF5D6E3EDE40487 /* A01 = +1.364963464031718975988e+00 */ + .quad 0xBFE400D5BCA6D631 /* A02 = -6.251019177058819709103e-01 */ + .quad 0x3FBA0B830ED567FE /* A03 = +1.017381583418739132707e-01 */ + .quad 0xBFB5BBFE8AC90496 /* A00 = -8.489981544791400103200e-02 */ + .quad 0x3FF612BA70107E95 /* A01 = +1.379572332145390989311e+00 */ + .quad 0xBFE477EAF1FA7693 /* A02 = -6.396383978023599814478e-01 */ + .quad 0x3FBB4784B7C08A95 /* A03 = +1.065600346196709652391e-01 */ + .quad 0xBFB6D5D940743939 /* A00 = -8.920057128509463473254e-02 */ + .quad 0x3FF644A8748F70CE /* A01 = +1.391762214006166953340e+00 */ + .quad 0xBFE4D646AB07EA37 /* A02 = -6.511567440459832267763e-01 */ + .quad 0x3FBC354F4E1D5292 /* A03 = +1.101884427747086558913e-01 */ + .quad 0xBFB7223D19E4F3D1 /* A00 = -9.036619074045339206069e-02 */ + .quad 0x3FF6518FEB42B7FA /* A01 = +1.394912642466350494175e+00 */ + .quad 0xBFE4ED86CB87498C /* A02 = -6.539949393430091184598e-01 */ + .quad 0x3FBC6D29F28CCA9B /* A03 = +1.110407082713131127205e-01 */ + .quad 0xBFB6878652FF6312 /* A00 = -8.800544287022329936754e-02 */ + .quad 0x3FF63948C302D040 /* A01 = +1.388985406648330922508e+00 */ + .quad 0xBFE4C4E2E7904E17 /* A02 = -6.490339777687407218920e-01 */ + .quad 0x3FBC127356CA1ABE /* A03 = +1.096565329445224612481e-01 */ + .quad 0xBFB4F5D18B0C91D6 /* A00 = -8.187589306596207427980e-02 */ + .quad 0x3FF5FD27EB7DD0B8 /* A01 = +1.374305648697413673176e+00 */ + .quad 0xBFE464E01A2B2FC6 /* A02 = -6.373138915164353601739e-01 */ + .quad 0x3FBB460547674A30 /* A03 = +1.065371798825160976065e-01 */ + .quad 0xBFB26642FA16A685 /* A00 = -7.187288861919156890412e-02 */ + .quad 0x3FF59F9BEDE1C95A /* A01 = +1.351467065073470141812e+00 */ + .quad 0xBFE3D67920C8FBEA /* A02 = -6.199308052381387046381e-01 */ + .quad 0x3FBA24F6A8D3CBC1 /* A03 = +1.021265184570401413078e-01 */ + .quad 0xBFADB5294794F097 /* A00 = -5.802277563859197656582e-02 */ + .quad 0x3FF523EA7B9CF453 /* A01 = +1.321268542159732772845e+00 */ + .quad 0xBFE322A8B55E35DB /* A02 = -5.979808370918208160205e-01 */ + .quad 0x3FB8C8673B1B3E37 /* A03 = +9.680791085269722928697e-02 */ + .quad 0xBFA4B7D661965C6A /* A00 = -4.046506825687219699450e-02 */ + .quad 0x3FF48DE3E2CE3122 /* A01 = +1.284641157110919085227e+00 */ + .quad 0xBFE251FED1A7F445 /* A02 = -5.725092024655472622285e-01 */ + .quad 0x3FB745699FCABDB9 /* A03 = +9.090290213747821701507e-02 */ + .quad 0xBF93E60456E4EE1D /* A00 = -1.943213253365004902773e-02 */ + .quad 0x3FF3E1A14E628A59 /* A01 = +1.242585474196536532432e+00 */ + .quad 0xBFE16C5AB660E876 /* A02 = -5.444768488007543094653e-01 */ + .quad 0x3FB5AD33AA8C188F /* A03 = +8.467410005332197397987e-02 */ + .quad 0x3F738C17C47C7961 /* A00 = +4.772274820224659853951e-03 */ + .quad 0x3FF3234DDE3BD146 /* A01 = +1.196119182682268355933e+00 */ + .quad 0xBFE078C0D77A9D3B /* A02 = -5.147403915952176722826e-01 */ + .quad 0x3FB40D74B3E276B8 /* A03 = +7.833032027925923568290e-02 */ + .quad 0x3FA0474BECC689C7 /* A00 = +3.179394975019849550746e-02 */ + .quad 0x3FF256FB4FA7D18A /* A01 = +1.146235762743432307076e+00 */ + .quad 0xBFDEFA8E3FB285E2 /* A02 = -4.840427038235174395098e-01 */ + .quad 0x3FB270C007493D59 /* A03 = +7.203293016322244446403e-02 */ + .quad 0x3FAF5BD51E479BDC /* A00 = +6.124750132203590768931e-02 */ + .quad 0x3FF18081D0B53BC5 /* A01 = +1.093873801484492647162e+00 */ + .quad 0xBFDCFE2439BD0C03 /* A02 = -4.530115665294831006626e-01 */ + .quad 0x3FB0DEFE5A45AFDD /* A03 = +6.590261176978580437424e-02 */ + .quad 0x3FB7BD5D2806EA26 /* A00 = +9.273321368429118805032e-02 */ + .quad 0x3FF0A369E35B4440 /* A01 = +1.039895904647224256223e+00 */ + .quad 0xBFDB04BC5C9951E7 /* A02 = -4.221640495573226181669e-01 */ + .quad 0x3FAEBBBAA9D6DEEF /* A03 = +6.002600978120919278380e-02 */ + .quad 0x3FC01BE411098DBC /* A00 = +1.258511622610124502941e-01 */ + .quad 0x3FEF85BDABC031C1 /* A01 = +9.850757936961188621083e-01 */ + .quad 0xBFD91521375097C2 /* A02 = -3.919146576102968682065e-01 */ + .quad 0x3FABE26F0086D982 /* A03 = +5.446192628317005068883e-02 */ + .quad 0x3FC481D7FF5776B9 /* A00 = +1.602125164781023347604e-01 */ + .quad 0x3FEDC3506C1E7218 /* A01 = +9.300920592973538347792e-01 */ + .quad 0xBFD7349A88DA7D4F /* A02 = -3.625856720409119104964e-01 */ + .quad 0x3FA936E2DFF8E2AE /* A03 = +4.924687370334389358018e-02 */ + .quad 0x3FC90471F96FA27A /* A00 = +1.954481571149420671141e-01 */ + .quad 0x3FEC0451601987A2 /* A01 = +8.755270840595026360376e-01 */ + .quad 0xBFD5671CD4B898DC /* A02 = -3.344184949259110251063e-01 */ + .quad 0x3FA6BB9594603B67 /* A03 = +4.439990459660841243261e-02 */ + .quad 0x3FCFD8ADB9ED944C /* A00 = +2.488000066615846384011e-01 */ + .quad 0x3FE978C073F6809A /* A01 = +7.959902062321078108909e-01 */ + .quad 0xBFD2DF7E00BCD5A9 /* A02 = -2.948908812716931060471e-01 */ + .quad 0x3FA3614033D490B2 /* A03 = +3.785133965200894456959e-02 */ + .quad 0x3FD4846A12AFE5A0 /* A00 = +3.205819303981005674586e-01 */ + .quad 0x3FE63A1147D40472 /* A01 = +6.945883181471244061100e-01 */ + .quad 0xBFCFA2268AD34450 /* A02 = -2.471359422548027318101e-01 */ + .quad 0x3F9F150201D9FFE0 /* A03 = +3.035357605267552383310e-02 */ + .quad 0x3FD9018641F82BEB /* A00 = +3.907180446846598154131e-01 */ + .quad 0x3FE33B7C220FFBDC /* A01 = +6.010113396913498995389e-01 */ + .quad 0xBFCA4E4187E29C86 /* A02 = -2.055131829740483584423e-01 */ + .quad 0x3F98C30CED19F8F4 /* A03 = +2.418155858185229434287e-02 */ + .quad 0x3FDD4B8255BEB078 /* A00 = +4.577337109901757905561e-01 */ + .quad 0x3FE0858B19D3A49B /* A01 = +5.163016800335243905451e-01 */ + .quad 0xBFC5BC929EACE564 /* A02 = -1.698172831327539045176e-01 */ + .quad 0x3F93A083CE57DE2B /* A03 = +1.916700312537337677621e-02 */ + .quad 0x3FE0A8E5E039295C /* A00 = +5.206174258576470315063e-01 */ + .quad 0x3FDC35E1234583FE /* A01 = +4.407885403107342225937e-01 */ + .quad 0xBFC1DE034E31AEB9 /* A02 = -1.395877963835710222629e-01 */ + .quad 0x3F8EFDEBB3471BDC /* A03 = +1.513275280821162888101e-02 */ + .quad 0x3FE2851B603CB2A5 /* A00 = +5.787484054213406503564e-01 */ + .quad 0x3FD7F4A44ABBB286 /* A01 = +3.743067483726821853551e-01 */ + .quad 0xBFBD3EEB67087DE7 /* A02 = -1.142413260026767657385e-01 */ + .quad 0x3F8864F38329E8BD /* A03 = +1.191129917173260922836e-02 */ + .quad 0x3FE437DBE3C34AC1 /* A00 = +6.318187187665317283702e-01 */ + .quad 0x3FD43F6F789441B5 /* A01 = +3.163717916040938438194e-01 */ + .quad 0xBFB7D92E7901B9A4 /* A02 = -9.315767721429907277653e-02 */ + .quad 0x3F8327ED342308E1 /* A03 = +9.353497651663324544136e-03 */ + .quad 0x3FE5C0977766D55C /* A00 = +6.797597248138731451661e-01 */ + .quad 0x3FD10B42A764D8F9 /* A01 = +2.663122782427219115142e-01 */ + .quad 0xBFB3633351D3D70F /* A02 = -7.573242900602060456716e-02 */ + .quad 0x3F7E079E30FF899C /* A03 = +7.331483779099558922843e-03 */ + .quad 0x3FE7202CE08A88C4 /* A00 = +7.226776490754436288455e-01 */ + .quad 0x3FCC973EB5662B01 /* A01 = +2.233656297433626314319e-01 */ + .quad 0xBFAF70A455F9920B /* A02 = -6.140626477716545211782e-02 */ + .quad 0x3F77812411CE99B6 /* A03 = +5.738392731393584730859e-03 */ + .quad 0x3FE85879424095B1 /* A00 = +7.608000082006382003286e-01 */ + .quad 0x3FC7E73BD1674D84 /* A01 = +1.867441914060742336190e-01 */ + .quad 0xBFA96F84E4BF333B /* A02 = -4.967894832916504993525e-02 */ + .quad 0x3F72606DDCA6E117 /* A03 = +4.486493251924870105662e-03 */ + .quad 0x3FE96BFE4957F4DD /* A00 = +7.944327766887472330737e-01 */ + .quad 0x3FC3ED4780D25478 /* A01 = +1.556786898624158421711e-01 */ + .quad 0xBFA489C5F9A56B58 /* A02 = -4.011362717093075458408e-02 */ + .quad 0x3F6CB5DC17E9AD2A /* A03 = +3.504686231556104931972e-03 */ + .quad 0x3FEA5D9CB2F41234 /* A00 = +8.239272589858672724006e-01 */ + .quad 0x3FC091A758374DCF /* A01 = +1.294449978582705440555e-01 */ + .quad 0xBFA08E436D4B5CE0 /* A02 = -3.233538350257858517978e-02 */ + .quad 0x3F666997AD53E6B7 /* A03 = +2.735897297154145629133e-03 */ + .quad 0x3FEB3060342CB850 /* A00 = +8.496552485501158713532e-01 */ + .quad 0x3FBB7D30BBC7DC1B /* A01 = +1.073790033768634993860e-01 */ + .quad 0xBF9AA6BA3443D9E3 /* A02 = -2.602663940430173170060e-02 */ + .quad 0x3F617CA764B7850B /* A03 = +2.134634914668814050648e-03 */ + .quad 0x3FEBE759A6A0C7B8 /* A00 = +8.719909910635044170135e-01 */ + .quad 0x3FB6C10DE6A703FF /* A01 = +8.888327485239243264115e-02 */ + .quad 0xBF956C566D8BE1F6 /* A02 = -2.092108768099084498138e-02 */ + .quad 0x3F5B46D1A4A59CF8 /* A03 = +1.664833764687232917079e-03 */ + .quad 0x3FEC858494887A04 /* A00 = +8.912985707318630268503e-01 */ + .quad 0x3FB2CC31F543394D /* A01 = +7.342827070099140762682e-02 */ + .quad 0xBF9133477FF69137 /* A02 = -1.679717749142747504343e-02 */ + .quad 0x3F5544482FBB4DA5 /* A03 = +1.298017973501022466823e-03 */ + .quad 0x3FED0DB59D0E32E9 /* A00 = +9.079235141267335551518e-01 */ + .quad 0x3FAF006BAFFC6EF4 /* A01 = +6.055008433597022787787e-02 */ + .quad 0xBF8B97146FA2B97A /* A02 = -1.347175565419144252499e-02 */ + .quad 0x3F5093B01F4CDC69 /* A03 = +1.011774057770665211434e-03 */ + .quad 0x3FEDB487C3EC457C /* A00 = +9.282873942012623835751e-01 */ + .quad 0x3FA7390C09D0BD1D /* A01 = +4.535710925881118044112e-02 */ + .quad 0xBF83D9F7C3181106 /* A02 = -9.693084374710735778846e-03 */ + .quad 0x3F46E34A0A3C0E64 /* A03 = +6.984817050299072134500e-04 */ + .quad 0x3FEE5FFCB4E6EB00 /* A00 = +9.492171796076434020506e-01 */ + .quad 0x3F9F4913ED00AADF /* A01 = +3.055220731782070861526e-02 */ + .quad 0xBF79670BD0E59B5C /* A02 = -6.201788097633133961528e-03 */ + .quad 0x3F3BC998EBCAF96D /* A03 = +4.240034429975534616304e-04 */ + .quad 0x3FEEDBA41E9542FE /* A00 = +9.643116566968215064293e-01 */ + .quad 0x3F94F5DD18D9C24D /* A01 = +2.046914543319848858727e-02 */ + .quad 0xBF7034896AA122B9 /* A02 = -3.956352980886528904192e-03 */ + .quad 0x3F30DCCB47810B39 /* A03 = +2.573009765038273091199e-04 */ + .quad 0x3FEF33F2882520ED /* A00 = +9.750912341196716903724e-01 */ + .quad 0x3F8BF37F2CF553FF /* A01 = +1.364802699996836392315e-02 */ + .quad 0xBF649F6F05A69619 /* A02 = -2.517430152880317534986e-03 */ + .quad 0x3F247623C950AAC9 /* A03 = +1.561087307505231250044e-04 */ + .quad 0x3FEF727757751741 /* A00 = +9.827229221489021115943e-01 */ + .quad 0x3F828E67912C4400 /* A01 = +9.060677640748693306705e-03 */ + .quad 0xBF5A2F51A806CC2C /* A02 = -1.598195784123355826789e-03 */ + .quad 0x3F18D35D7687E613 /* A03 = +9.470231965016282719549e-05 */ + .quad 0x3FEF9E6325C5942A /* A00 = +9.880843866091073568469e-01 */ + .quad 0x3F788AB117618F76 /* A01 = +5.991641772286606867914e-03 */ + .quad 0xBF5096EAB0B1EA89 /* A02 = -1.012543859160305046233e-03 */ + .quad 0x3F0E1E50EC4435AB /* A03 = +5.744633156910412119652e-05 */ + .quad 0x3FEFBD0784049369 /* A00 = +9.918248728250605994461e-01 */ + .quad 0x3F702BBD8294035F /* A01 = +3.947963975634432264028e-03 */ + .quad 0xBF44FB55E0F00593 /* A02 = -6.403130845457509273330e-04 */ + .quad 0x3F0244DCD723230A /* A03 = +3.484534217219031730379e-05 */ + .quad 0x3FEFD245E2366A43 /* A00 = +9.944180887426415926811e-01 */ + .quad 0x3F653D82EC088433 /* A01 = +2.592807490387838333795e-03 */ + .quad 0xBF3A7DF75E013CB8 /* A02 = -4.042366908878036561859e-04 */ + .quad 0x3EF6298E69F991CD /* A03 = +2.113564425911141559972e-05 */ + .quad 0x3FEFE0EAA508BC69 /* A00 = +9.962056372950317539861e-01 */ + .quad 0x3F5BD0771AF3FDDA /* A01 = +1.697651208644282514598e-03 */ + .quad 0xBF30B2E1254DE571 /* A02 = -2.548026725928887099328e-04 */ + .quad 0x3EEAE28B70EC0256 /* A03 = +1.281973848454955042307e-05 */ + .quad 0x3FEFEAF5303D7F96 /* A00 = +9.974313680831865536192e-01 */ + .quad 0x3F5229111365657E /* A01 = +1.108423877289460134782e-03 */ + .quad 0xBF250572D04DFE66 /* A02 = -1.603796628408704519168e-04 */ + .quad 0x3EE04E89BB57C981 /* A03 = +7.775682983689149966743e-06 */ + .quad 0x3FEFF1CF52F1CF44 /* A00 = +9.982678051005469122003e-01 */ + .quad 0x3F47A71316147CEB /* A01 = +7.218211359577819110842e-04 */ + .quad 0xBF1A6D7604055719 /* A02 = -1.008132248946049582547e-04 */ + .quad 0x3ED3C8047586A85C /* A03 = +4.716233739913014633626e-06 */ + .quad 0x3FEFF6770369EF69 /* A00 = +9.988360468555416149528e-01 */ + .quad 0x3F3EBB261180FBF0 /* A01 = +4.689186039321105101130e-04 */ + .quad 0xBF1097754FE19D7F /* A02 = -6.329206004950480057066e-05 */ + .quad 0x3EC7FEFF83BCA0A7 /* A03 = +2.860556404988488738366e-06 */ + .quad 0x3FEFF99D42371AC4 /* A00 = +9.992204945818561334647e-01 */ + .quad 0x3F33EB2AEC271F59 /* A01 = +3.039340773764907474054e-04 */ + .quad 0xBF04CF18E0FC0D79 /* A02 = -3.968996690952969588805e-05 */ + .quad 0x3EBD1BDBD6019BE9 /* A03 = +1.735021065507727833886e-06 */ + .quad 0x3FEFFBBCA32B0D91 /* A00 = +9.994795977476532700123e-01 */ + .quad 0x3F29C41E1615110A /* A01 = +1.965796209707565346710e-04 */ + .quad 0xBEFA11F93D9DCB5A /* A02 = -2.486248909101414873235e-05 */ + .quad 0x3EB1A7CA4546F7A7 /* A03 = +1.052345642723709228769e-06 */ + .quad 0x3FEFFD298B8E8DE2 /* A00 = +9.996535993308806045121e-01 */ + .quad 0x3F20A1C42D523C5B /* A01 = +1.268913244172078754520e-04 */ + .quad 0xBEF0507A364AFAE4 /* A02 = -1.555859070622834605755e-05 */ + .quad 0x3EA56ACA17E7CDF4 /* A03 = +6.382806956848098872313e-07 */ + .quad 0x3FEFFE1DC82BA5A3 /* A00 = +9.997700604991915929176e-01 */ + .quad 0x3F156E73B90F1769 /* A01 = +8.175450626798714452801e-05 */ + .quad 0xBEE4663579D0A09F /* A02 = -9.727122057226747625365e-06 */ + .quad 0x3E99FAF6FEC5D4C1 /* A03 = +3.871371052824002996020e-07 */ + .quad 0x3FEFFEF8D0BB5E81 /* A00 = +9.998745037837154514548e-01 */ + .quad 0x3F06686DA18D39C3 /* A01 = +4.273972098777251447726e-05 */ + .quad 0xBED46BC298073E90 /* A02 = -4.868731025855742842491e-06 */ + .quad 0x3E88E42286B9D0FD /* A03 = +1.854535328530838170114e-07 */ + .quad 0x3FEFFF8DBC68DDC7 /* A00 = +9.999455146670975791423e-01 */ + .quad 0x3EF26B2953A80AF0 /* A01 = +1.756534514108903368909e-05 */ + .quad 0xBEBFC4472D580F83 /* A02 = -1.893443529411295465239e-06 */ + .quad 0x3E72505B4553D19F /* A03 = +6.822456673547912277047e-08 */ + .quad 0x3FEFFFCED1276609 /* A00 = +9.999765477215883935358e-01 */ + .quad 0x3EDE1A94C7CC58F5 /* A01 = +7.177313020153979672606e-06 */ + .quad 0xBEA8A2C988744E57 /* A02 = -7.342066660497443762363e-07 */ + .quad 0x3E5AF30036BBBAF4 /* A03 = +2.509841882843541084885e-08 */ + .quad 0x3FEFFFEAFE70FCFC /* A00 = +9.999899835164849370983e-01 */ + .quad 0x3EC879175E3549F5 /* A01 = +2.917410471128503564412e-06 */ + .quad 0xBE930E36677D1813 /* A02 = -2.839493400307523115929e-07 */ + .quad 0x3E43D4005B42D48F /* A03 = +9.233192745401904898013e-09 */ + .quad 0x3ff0000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .quad 0x0000000000000000 + .align 32 + .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 /* _sSignMask */ + .align 32 + .long 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff, 0x7fffffff /* _sAbsMask */ + .align 32 + .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask */ + .align 32 + .long 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000, 0x7f000000 /* _iExpMask */ + .align 32 + .long 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000, 0x3cf80000 /* _iMinIdxOfsMask */ + .align 32 + .long 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000, 0x04280000 /* _iMaxIdxMask */ + .align 32 + .type __svml_stanh_data_internal, @object + .size __svml_stanh_data_internal, .-__svml_stanh_data_internal From patchwork Mon Mar 7 15:01:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602412 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=hehpI3D6; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC40c1KgPz9sFt for ; Tue, 8 Mar 2022 03:38:56 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 723F93858033 for ; Mon, 7 Mar 2022 16:38:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 723F93858033 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646671133; bh=z3MezLOfCLw7lr87PGIWPFQOPI7FQm3N6lGSvnZzzQo=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=hehpI3D6yyLMzHIjabvfebugDbiD/pgup9L55FsbwiWLz76JP3PW8nKc7lFBOFWqx mXb3LpiGJKVpSvbBjO73hr9gerGvqj80IxazU2t9geBJC+UZ4buvUMZSKRpfIg6nvI 3j5qa5f9xMH4kJwMK95l1CoH2FIDeOqq6HveQOyo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 7B6993858438 for ; Mon, 7 Mar 2022 15:03:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7B6993858438 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017303" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017303" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="813081878" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga005.fm.intel.com with ESMTP; 07 Mar 2022 07:02:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fc016772; Mon, 7 Mar 2022 07:02:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 124/126] x86_64: Fix svml_d_tanh2_core_sse4.S code formatting Date: Mon, 7 Mar 2022 07:01:59 -0800 Message-Id: <20220307150201.10590-125-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_tanh2_core_sse4.S | 2318 ++++++++--------- 1 file changed, 1158 insertions(+), 1160 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S index 5624cce453..91d0188b0f 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh2_core_sse4.S @@ -28,7 +28,7 @@ * and to approximate tanh(.) with a polynomial on each of them. * * IEEE SPECIAL CONDITIONS: - * x = [+,-]0, r = [+,-]0 + * x = [+, -]0, r = [+, -]0 * x = +Inf, r = +1 * x = -Inf, r = -1 * x = QNaN, r = QNaN @@ -72,1201 +72,1199 @@ /* Offsets for data table __svml_dtanh_data_internal */ -#define _dbP 0 -#define _dbSignMask 7680 -#define _dbAbsMask 7696 -#define _iExpMantMask 7712 -#define _iExpMask 7728 -#define _iMinIdxOfsMask 7744 -#define _iMaxIdxMask 7760 +#define _dbP 0 +#define _dbSignMask 7680 +#define _dbAbsMask 7696 +#define _iExpMantMask 7712 +#define _iExpMask 7728 +#define _iMinIdxOfsMask 7744 +#define _iMaxIdxMask 7760 #include - .text - .section .text.sse4,"ax",@progbits + .section .text.sse4, "ax", @progbits ENTRY(_ZGVbN2v_tanh_sse4) - subq $72, %rsp - cfi_def_cfa_offset(80) - movaps %xmm0, %xmm13 - movq _iExpMantMask+__svml_dtanh_data_internal(%rip), %xmm14 - lea _dbP+96+__svml_dtanh_data_internal(%rip), %rsi - pshufd $221, %xmm13, %xmm8 + subq $72, %rsp + cfi_def_cfa_offset(80) + movaps %xmm0, %xmm13 + movq _iExpMantMask+__svml_dtanh_data_internal(%rip), %xmm14 + lea _dbP+96+__svml_dtanh_data_internal(%rip), %rsi + pshufd $221, %xmm13, %xmm8 -/* if VMIN, VMAX is defined for I type */ - pxor %xmm10, %xmm10 - movq _iMinIdxOfsMask+__svml_dtanh_data_internal(%rip), %xmm9 + /* if VMIN, VMAX is defined for I type */ + pxor %xmm10, %xmm10 + movq _iMinIdxOfsMask+__svml_dtanh_data_internal(%rip), %xmm9 -/* Here huge arguments, INF and NaNs are filtered out to callout. */ - pand %xmm14, %xmm8 - movdqa %xmm8, %xmm11 - psubd %xmm9, %xmm8 - movq _iMaxIdxMask+__svml_dtanh_data_internal(%rip), %xmm5 - movdqa %xmm8, %xmm6 - movdqa %xmm8, %xmm7 - pcmpgtd %xmm5, %xmm6 - pcmpgtd %xmm10, %xmm7 - movdqa %xmm6, %xmm3 - pand %xmm7, %xmm8 - andps %xmm6, %xmm5 - andnps %xmm8, %xmm3 - orps %xmm5, %xmm3 + /* Here huge arguments, INF and NaNs are filtered out to callout. */ + pand %xmm14, %xmm8 + movdqa %xmm8, %xmm11 + psubd %xmm9, %xmm8 + movq _iMaxIdxMask+__svml_dtanh_data_internal(%rip), %xmm5 + movdqa %xmm8, %xmm6 + movdqa %xmm8, %xmm7 + pcmpgtd %xmm5, %xmm6 + pcmpgtd %xmm10, %xmm7 + movdqa %xmm6, %xmm3 + pand %xmm7, %xmm8 + andps %xmm6, %xmm5 + andnps %xmm8, %xmm3 + orps %xmm5, %xmm3 -/* - * VSHRIMM( I, iIndex, = iIndex, (17 - 4) ); - * VGATHER_MATRIX( L2D, p, TAB._dbP, iIndex, 0, T_ITEM_SIZE, T_ITEM_GRAN, 13, 0, 0 ); - */ - psrld $10, %xmm3 - movd %xmm3, %eax - pshufd $1, %xmm3, %xmm4 + /* + * VSHRIMM( I, iIndex, = iIndex, (17 - 4) ); + * VGATHER_MATRIX( L2D, p, TAB._dbP, iIndex, 0, T_ITEM_SIZE, T_ITEM_GRAN, 13, 0, 0 ); + */ + psrld $10, %xmm3 + movd %xmm3, %eax + pshufd $1, %xmm3, %xmm4 -/* Constant loading */ - movq _iExpMask+__svml_dtanh_data_internal(%rip), %xmm15 - movd %xmm4, %ecx - pcmpgtd %xmm15, %xmm11 - movmskps %xmm11, %edx - movups _dbAbsMask+__svml_dtanh_data_internal(%rip), %xmm0 - movups _dbSignMask+__svml_dtanh_data_internal(%rip), %xmm12 - andps %xmm13, %xmm0 - movslq %eax, %rax - andps %xmm13, %xmm12 - movslq %ecx, %rcx - movups %xmm13, (%rsp) - movups -96(%rax,%rsi), %xmm11 - movups -96(%rcx,%rsi), %xmm2 - movups -80(%rax,%rsi), %xmm9 - movups -48(%rax,%rsi), %xmm5 - movaps %xmm9, %xmm10 - movups -32(%rax,%rsi), %xmm3 - movaps %xmm5, %xmm6 - movaps %xmm3, %xmm4 - unpckhpd %xmm2, %xmm11 - movups -80(%rcx,%rsi), %xmm13 - movups -48(%rcx,%rsi), %xmm15 - movups -32(%rcx,%rsi), %xmm1 - movups -64(%rax,%rsi), %xmm7 - movups -16(%rax,%rsi), %xmm2 - movaps %xmm7, %xmm8 - unpcklpd %xmm13, %xmm10 - unpckhpd %xmm13, %xmm9 - movups -64(%rcx,%rsi), %xmm14 - movups -16(%rcx,%rsi), %xmm13 - unpcklpd %xmm15, %xmm6 - unpckhpd %xmm15, %xmm5 - unpcklpd %xmm1, %xmm4 - unpckhpd %xmm1, %xmm3 - movaps %xmm2, %xmm1 - movups (%rax,%rsi), %xmm15 - unpcklpd %xmm14, %xmm8 - unpckhpd %xmm14, %xmm7 - unpcklpd %xmm13, %xmm1 - unpckhpd %xmm13, %xmm2 - movaps %xmm15, %xmm13 - movups (%rcx,%rsi), %xmm14 - unpcklpd %xmm14, %xmm13 - addpd %xmm13, %xmm0 - mulpd %xmm0, %xmm2 - addpd %xmm1, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm3, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm4, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm5, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm6, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm7, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm8, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm9, %xmm2 - mulpd %xmm0, %xmm2 - addpd %xmm10, %xmm2 - mulpd %xmm2, %xmm0 - addpd %xmm11, %xmm0 - orps %xmm12, %xmm0 - andl $3, %edx + /* Constant loading */ + movq _iExpMask+__svml_dtanh_data_internal(%rip), %xmm15 + movd %xmm4, %ecx + pcmpgtd %xmm15, %xmm11 + movmskps %xmm11, %edx + movups _dbAbsMask+__svml_dtanh_data_internal(%rip), %xmm0 + movups _dbSignMask+__svml_dtanh_data_internal(%rip), %xmm12 + andps %xmm13, %xmm0 + movslq %eax, %rax + andps %xmm13, %xmm12 + movslq %ecx, %rcx + movups %xmm13, (%rsp) + movups -96(%rax, %rsi), %xmm11 + movups -96(%rcx, %rsi), %xmm2 + movups -80(%rax, %rsi), %xmm9 + movups -48(%rax, %rsi), %xmm5 + movaps %xmm9, %xmm10 + movups -32(%rax, %rsi), %xmm3 + movaps %xmm5, %xmm6 + movaps %xmm3, %xmm4 + unpckhpd %xmm2, %xmm11 + movups -80(%rcx, %rsi), %xmm13 + movups -48(%rcx, %rsi), %xmm15 + movups -32(%rcx, %rsi), %xmm1 + movups -64(%rax, %rsi), %xmm7 + movups -16(%rax, %rsi), %xmm2 + movaps %xmm7, %xmm8 + unpcklpd %xmm13, %xmm10 + unpckhpd %xmm13, %xmm9 + movups -64(%rcx, %rsi), %xmm14 + movups -16(%rcx, %rsi), %xmm13 + unpcklpd %xmm15, %xmm6 + unpckhpd %xmm15, %xmm5 + unpcklpd %xmm1, %xmm4 + unpckhpd %xmm1, %xmm3 + movaps %xmm2, %xmm1 + movups (%rax, %rsi), %xmm15 + unpcklpd %xmm14, %xmm8 + unpckhpd %xmm14, %xmm7 + unpcklpd %xmm13, %xmm1 + unpckhpd %xmm13, %xmm2 + movaps %xmm15, %xmm13 + movups (%rcx, %rsi), %xmm14 + unpcklpd %xmm14, %xmm13 + addpd %xmm13, %xmm0 + mulpd %xmm0, %xmm2 + addpd %xmm1, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm3, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm4, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm5, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm6, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm7, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm8, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm9, %xmm2 + mulpd %xmm0, %xmm2 + addpd %xmm10, %xmm2 + mulpd %xmm2, %xmm0 + addpd %xmm11, %xmm0 + orps %xmm12, %xmm0 + andl $3, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - addq $72, %rsp - cfi_def_cfa_offset(8) - ret - cfi_def_cfa_offset(80) + addq $72, %rsp + cfi_def_cfa_offset(8) + ret + cfi_def_cfa_offset(80) -/* Branch to process - * special inputs - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - movups (%rsp), %xmm1 - movups %xmm1, 32(%rsp) - movups %xmm0, 48(%rsp) - # LOE rbx rbp r12 r13 r14 r15 edx xmm0 + movups (%rsp), %xmm1 + movups %xmm1, 32(%rsp) + movups %xmm0, 48(%rsp) + # LOE rbx rbp r12 r13 r14 r15 edx xmm0 - xorl %eax, %eax - movq %r12, 16(%rsp) - cfi_offset(12, -64) - movl %eax, %r12d - movq %r13, 8(%rsp) - cfi_offset(13, -72) - movl %edx, %r13d - movq %r14, (%rsp) - cfi_offset(14, -80) - # LOE rbx rbp r15 r12d r13d + xorl %eax, %eax + movq %r12, 16(%rsp) + cfi_offset(12, -64) + movl %eax, %r12d + movq %r13, 8(%rsp) + cfi_offset(13, -72) + movl %edx, %r13d + movq %r14, (%rsp) + cfi_offset(14, -80) + # LOE rbx rbp r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx rbp r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx rbp r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $2, %r12d + incl %r12d + cmpl $2, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx rbp r15 r12d r13d + /* Check bits in range mask */ + jl L(RANGEMASK_CHECK) + # LOE rbx rbp 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), %xmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + movups 48(%rsp), %xmm0 -/* Go to exit */ - jmp L(EXIT) - cfi_offset(12, -64) - cfi_offset(13, -72) - cfi_offset(14, -80) - # LOE rbx rbp r12 r13 r14 r15 xmm0 + /* Go to exit */ + jmp L(EXIT) + cfi_offset(12, -64) + cfi_offset(13, -72) + cfi_offset(14, -80) + # LOE rbx rbp r12 r13 r14 r15 xmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call tanh@PLT - # LOE rbx rbp r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call tanh@PLT + # LOE rbx rbp r14 r15 r12d r13d xmm0 - movsd %xmm0, 48(%rsp,%r14,8) + movsd %xmm0, 48(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx rbp r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx rbp r15 r12d r13d END(_ZGVbN2v_tanh_sse4) - .section .rodata, "a" - .align 16 + .section .rodata, "a" + .align 16 #ifdef __svml_dtanh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(16)) VUINT32 _dbP[60*16][2]; - __declspec(align(16)) VUINT32 _dbSignMask[2][2]; - __declspec(align(16)) VUINT32 _dbAbsMask[2][2]; - __declspec(align(16)) VUINT32 _iExpMantMask[4][1]; - __declspec(align(16)) VUINT32 _iExpMask[4][1]; - __declspec(align(16)) VUINT32 _iMinIdxOfsMask[4][1]; - __declspec(align(16)) VUINT32 _iMaxIdxMask[4][1]; +typedef struct { + __declspec(align(16)) VUINT32 _dbP[60*16][2]; + __declspec(align(16)) VUINT32 _dbSignMask[2][2]; + __declspec(align(16)) VUINT32 _dbAbsMask[2][2]; + __declspec(align(16)) VUINT32 _iExpMantMask[4][1]; + __declspec(align(16)) VUINT32 _iExpMask[4][1]; + __declspec(align(16)) VUINT32 _iMinIdxOfsMask[4][1]; + __declspec(align(16)) VUINT32 _iMaxIdxMask[4][1]; } __svml_dtanh_data_internal; #endif __svml_dtanh_data_internal: - /* Polynomial coefficients */ - .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* PH0 = +0.000000000000000000000e-01 */ - .quad 0x3FF0000000000000 /* P1 = +1.000000000000000014103e+00 */ - .quad 0xBD197DEAD79668D3 /* P2 = -2.264132406596103056796e-14 */ - .quad 0xBFD555555553AF3C /* P3 = -3.333333333273349741024e-01 */ - .quad 0xBE052F7CCA134846 /* P4 = -6.165791385711493738399e-10 */ - .quad 0x3FC11111563849D6 /* P5 = +1.333333655353061107201e-01 */ - .quad 0xBEB038623673FFB2 /* P6 = -9.668021563879858950855e-07 */ - .quad 0xBFAB9F685E64022E /* P7 = -5.395055916051593179252e-02 */ - .quad 0xBF2A54E2B28F2207 /* P8 = -2.008940439550829012647e-04 */ - .quad 0x3F97CFB9328A230E /* P9 = +2.325333949059698582189e-02 */ - .quad 0xBF75CA6D61723E02 /* P10 = -5.320002811586290441790e-03 */ - .quad 0x0000000000000000 /* B = +0 */ - .quad 0x3FF0000000000000 /* A = +1.0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C3708A564FAD29A /* PL0 = +1.248663375337163807466e-18 */ - .quad 0x3FC0E6973998DA48 /* PH0 = +1.320370703922029154143e-01 */ - .quad 0x3FEF712EB25C0888 /* P1 = +9.825662120422444519229e-01 */ - .quad 0xBFC09B296F7C1EA9 /* P2 = -1.297351641044220078331e-01 */ - .quad 0xBFD3DD77541EDDA7 /* P3 = -3.103922196855485849143e-01 */ - .quad 0x3FB58FFCF4309615 /* P4 = +8.422833406128689275566e-02 */ - .quad 0x3FBD3ABE845DCF49 /* P5 = +1.141776154670967208833e-01 */ - .quad 0xBFA791DF538C37FA /* P6 = -4.603479285115947936529e-02 */ - .quad 0xBFA4F872F69CD6E8 /* P7 = -4.095801601799370195284e-02 */ - .quad 0x3F9772E49EF6412B /* P8 = +2.289921970583567527179e-02 */ - .quad 0x3F8CBC0807393909 /* P9 = +1.403051635784581776625e-02 */ - .quad 0xBF85F06A30F93319 /* P10 = -1.071246110873285040939e-02 */ - .quad 0xBFC1000000000000 /* B = -.132813 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6004EE5739DEAC /* PL0 = +6.947247374112211856530e-18 */ - .quad 0x3FC2DC968E6E0D62 /* PH0 = +1.473568149050193398786e-01 */ - .quad 0x3FEF4E1E606D96DF /* P1 = +9.782859691010478680677e-01 */ - .quad 0xBFC273BD70994AB9 /* P2 = -1.441571044730005866646e-01 */ - .quad 0xBFD382B548270D2C /* P3 = -3.048527912726111386771e-01 */ - .quad 0x3FB7CD2D582A6B29 /* P4 = +9.297450449450351894400e-02 */ - .quad 0x3FBC1278CCCBF0DB /* P5 = +1.096568584434324642303e-01 */ - .quad 0xBFA9C7F5115B86A1 /* P6 = -5.035367810138536095866e-02 */ - .quad 0xBFA371C21BAF618E /* P7 = -3.797728145554222910481e-02 */ - .quad 0x3F9958943F68417E /* P8 = +2.475196492201935923783e-02 */ - .quad 0x3F8930D5CFFD4152 /* P9 = +1.230017701132682667572e-02 */ - .quad 0xBF875CF7ADD31B76 /* P10 = -1.140779017658897660092e-02 */ - .quad 0xBFC3000000000000 /* B = -.148438 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7EABE24E052A1F /* PL0 = +2.660321779421749543501e-17 */ - .quad 0x3FC4D04783618C71 /* PH0 = +1.626061812886266111366e-01 */ - .quad 0x3FEF2765AF97A4B3 /* P1 = +9.735592298067302883212e-01 */ - .quad 0xBFC443654205FEA5 /* P2 = -1.583067486171689074207e-01 */ - .quad 0xBFD31F2E208A5B97 /* P3 = -2.987780874040536844467e-01 */ - .quad 0x3FB9F235BD339878 /* P4 = +1.013520800512156573576e-01 */ - .quad 0x3FBAD0B0DFCCA141 /* P5 = +1.047468706498238100104e-01 */ - .quad 0xBFABD1B9600E608E /* P6 = -5.433444306908184548967e-02 */ - .quad 0xBFA1CEBEAF07DB58 /* P7 = -3.478046309094534453598e-02 */ - .quad 0x3F9AFC9FB1D8EFD2 /* P8 = +2.635430834764902126383e-02 */ - .quad 0x3F8573444F1AB502 /* P9 = +1.047376028449287564018e-02 */ - .quad 0xBF8874FBC8F24406 /* P10 = -1.194187838544459322219e-02 */ - .quad 0xBFC5000000000000 /* B = -.164063 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7FB199D361A790 /* PL0 = +2.748994907060158996213e-17 */ - .quad 0x3FC6C170259E21F7 /* PH0 = +1.777782615356639783766e-01 */ - .quad 0x3FEEFD17479F7C65 /* P1 = +9.683948897253570478266e-01 */ - .quad 0xBFC609530FE4DF8D /* P2 = -1.721595599753950294577e-01 */ - .quad 0xBFD2B3465D71B4DE /* P3 = -2.921920692959484052676e-01 */ - .quad 0x3FBBFD2D34AC509B /* P4 = +1.093319181057403192166e-01 */ - .quad 0x3FB9778C3C16A0FE /* P5 = +9.948040453912551395183e-02 */ - .quad 0xBFADAC4D9E63C665 /* P6 = -5.795519407719210697372e-02 */ - .quad 0xBFA0139CCAD02D60 /* P7 = -3.139963126894929339124e-02 */ - .quad 0x3F9C5BF43BA6F19D /* P8 = +2.769452680671379432854e-02 */ - .quad 0x3F8190B703350341 /* P9 = +8.576803002712575184772e-03 */ - .quad 0xBF8936606782858A /* P10 = -1.231074634444230850234e-02 */ - .quad 0xBFC7000000000000 /* B = -.179688 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6A917CA3624D50 /* PL0 = +1.152216693509785660691e-17 */ - .quad 0x3FC8AFD7B974FABB /* PH0 = +1.928662925292508878439e-01 */ - .quad 0x3FEECF47624A5D03 /* P1 = +9.628025932060214187231e-01 */ - .quad 0xBFC7C4C2CB4FDE4D /* P2 = -1.856921665891938814679e-01 */ - .quad 0xBFD23F69CB2C1F9D /* P3 = -2.851204380135586155453e-01 */ - .quad 0x3FBDEC5703A03814 /* P4 = +1.168875106670557712458e-01 */ - .quad 0x3FB8095003D0CF15 /* P5 = +9.389209836154706616487e-02 */ - .quad 0xBFAF554B47B10CBB /* P6 = -6.119761705533607365968e-02 */ - .quad 0xBF9C89743FE7BC1B /* P7 = -2.786809577986213853937e-02 */ - .quad 0x3F9D74725B746E7C /* P8 = +2.876452143855921824991e-02 */ - .quad 0x3F7B2D8AFB70B88C /* P9 = +6.635229968237631511880e-03 */ - .quad 0xBF89A0A2883EF6CB /* P10 = -1.251341799058582545252e-02 */ - .quad 0xBFC9000000000000 /* B = -.195313 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7608279E8609CB /* PL0 = +1.910958764623660748269e-17 */ - .quad 0x3FCA9B46D2DDC5E3 /* PH0 = +2.078636674519166172015e-01 */ - .quad 0x3FEE9E0BB72A01A1 /* P1 = +9.567926957534390123919e-01 */ - .quad 0xBFC974FAD10C5330 /* P2 = -1.988824387305156976885e-01 */ - .quad 0xBFD1C40ACCBA4044 /* P3 = -2.775904654781735703430e-01 */ - .quad 0x3FBFBE24E2987853 /* P4 = +1.239951184474830487522e-01 */ - .quad 0x3FB6885B4345E47F /* P5 = +8.801813499839460539687e-02 */ - .quad 0xBFB06563D5670584 /* P6 = -6.404708824176991770896e-02 */ - .quad 0xBF98CD1D620DF6E2 /* P7 = -2.421995078065365147772e-02 */ - .quad 0x3F9E44EF3E844D21 /* P8 = +2.955983943054463683119e-02 */ - .quad 0x3F7325FA0148CAAE /* P9 = +4.674889165971292322643e-03 */ - .quad 0xBF89B4C8556C2D92 /* P10 = -1.255184660614964011319e-02 */ - .quad 0xBFCB000000000000 /* B = -.210938 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6F19DAA20F51D5 /* PL0 = +1.348790537832000351176e-17 */ - .quad 0x3FCC83876CA98E15 /* PH0 = +2.227639465883021474557e-01 */ - .quad 0x3FEE697B662D07CD /* P1 = +9.503762241004040620296e-01 */ - .quad 0xBFCB194C7ED76ACF /* P2 = -2.117095584242946953999e-01 */ - .quad 0xBFD141A19E419762 /* P3 = -2.696308179350720680191e-01 */ - .quad 0x3FC0B89C64BC7B98 /* P4 = +1.306338779331468503007e-01 */ - .quad 0x3FB4F721150BBFC5 /* P5 = +8.189589275184434216748e-02 */ - .quad 0xBFB105AAFAB87898 /* P6 = -6.649273511036069461061e-02 */ - .quad 0xBF94FB3B31248C01 /* P7 = -2.048962104266749732921e-02 */ - .quad 0x3F9ECD31E588709C /* P8 = +3.007963145692880855964e-02 */ - .quad 0x3F664A91A335C105 /* P9 = +2.721104095762541127495e-03 */ - .quad 0xBF89754E32E1E26E /* P10 = -1.243077366619723806134e-02 */ - .quad 0xBFCD000000000000 /* B = -.226563 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6AC6C889D8111D /* PL0 = +1.161245469312620769170e-17 */ - .quad 0x3FCE6864FE55A3D0 /* PH0 = +2.375608674877001114112e-01 */ - .quad 0x3FEE31AEE116B82B /* P1 = +9.435648342384913826391e-01 */ - .quad 0xBFCCB114B69E808B /* P2 = -2.241540805525839833707e-01 */ - .quad 0xBFD0B8AB913BA99D /* P3 = -2.612713735858507980441e-01 */ - .quad 0x3FC1823322BED48A /* P4 = +1.367858810096190233514e-01 */ - .quad 0x3FB35822B7929893 /* P5 = +7.556359273675842651653e-02 */ - .quad 0xBFB18B03CC78D2DA /* P6 = -6.852744810096158580830e-02 */ - .quad 0xBF911CCC3C8D5E5D /* P7 = -1.671141738492420009734e-02 */ - .quad 0x3F9F0DEC2D99B12F /* P8 = +3.032654789278515819797e-02 */ - .quad 0x3F4A28398B4EBD98 /* P9 = +7.982521989244205404918e-04 */ - .quad 0xBF88E60CB2FAB9A4 /* P10 = -1.215753480150000985458e-02 */ - .quad 0xBFCF000000000000 /* B = -.242188 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C89D2B6774FB61D /* PL0 = +4.479593208720169247958e-17 */ - .quad 0x3FD09C744F539BE4 /* PH0 = +2.595492148088267558848e-01 */ - .quad 0x3FEDD823B0400D42 /* P1 = +9.326342050921214825882e-01 */ - .quad 0xBFCEFBF7FF305FCC /* P2 = -2.420644756355144687086e-01 */ - .quad 0xBFCFC01DC4F24A41 /* P3 = -2.480504237797323303990e-01 */ - .quad 0x3FC291A2C26D5548 /* P4 = +1.450694512701977626753e-01 */ - .quad 0x3FB0D562E672D188 /* P5 = +6.575601698097532991976e-02 */ - .quad 0xBFB2201ECC119E06 /* P6 = -7.080261690281738261872e-02 */ - .quad 0xBF8695D50F778D31 /* P7 = -1.102796987010509974642e-02 */ - .quad 0x3F9EEC8CFBC031A0 /* P8 = +3.019924437107734972427e-02 */ - .quad 0xBF6030F0A4D3660A /* P9 = -1.976461417694923328722e-03 */ - .quad 0xBF87845288A4AEF5 /* P10 = -1.148285369398347838494e-02 */ - .quad 0xBFD1000000000000 /* B = -.265625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8B6AAB614D1C8D /* PL0 = +4.756035418366735312727e-17 */ - .quad 0x3FD275F7E1CF7F63 /* PH0 = +2.884502129727392616410e-01 */ - .quad 0x3FED56658F74C9CC /* P1 = +9.167964746359813351341e-01 */ - .quad 0xBFD0ECC045EBD596 /* P2 = -2.644501383614054083635e-01 */ - .quad 0xBFCD5A4BDE179180 /* P3 = -2.293181261476426808811e-01 */ - .quad 0x3FC3C00047D34767 /* P4 = +1.542969084462655120552e-01 */ - .quad 0x3FAAC7CE84FD609F /* P5 = +5.230565427217581251974e-02 */ - .quad 0xBFB288948D2E8B43 /* P6 = -7.239654967137902384931e-02 */ - .quad 0xBF6D6605AAD5A1C0 /* P7 = -3.588687008847041164896e-03 */ - .quad 0x3F9DDB0790848E97 /* P8 = +2.915584392134337382866e-02 */ - .quad 0xBF75FDE291BAD5B4 /* P9 = -5.369076763306269573660e-03 */ - .quad 0xBF84CEA5C52E0A78 /* P10 = -1.015977390284671071888e-02 */ - .quad 0xBFD3000000000000 /* B = -.296875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7139A81C8A6ECF /* PL0 = +1.494049799478574591322e-17 */ - .quad 0x3FD4470650036407 /* PH0 = +3.168350011233659890841e-01 */ - .quad 0x3FECC9A69DFDDD48 /* P1 = +8.996155820631566629678e-01 */ - .quad 0xBFD23DED3A37A09F /* P2 = -2.850297039535778028925e-01 */ - .quad 0xBFCAD302395D51C1 /* P3 = -2.095644741153943890185e-01 */ - .quad 0x3FC4A8FE3F309C22 /* P4 = +1.614072617096278705115e-01 */ - .quad 0x3FA3D161188AA436 /* P5 = +3.870681213931741151586e-02 */ - .quad 0xBFB288CFE5494E98 /* P6 = -7.240008685885823969403e-02 */ - .quad 0x3F6C7903EED8D334 /* P7 = +3.475673371918475361081e-03 */ - .quad 0x3F9BE023CDFB02F6 /* P8 = +2.722221321778569498033e-02 */ - .quad 0xBF80F8296F2C3A95 /* P9 = -8.285831170295390358336e-03 */ - .quad 0xBF8152DF4790049B /* P10 = -8.458847400108650973189e-03 */ - .quad 0xBFD5000000000000 /* B = -.328125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7751FE0FEE8335 /* PL0 = +2.022712113430213599928e-17 */ - .quad 0x3FD60EF7120502A9 /* PH0 = +3.446633983585721261456e-01 */ - .quad 0x3FEC32D951E56E6F /* P1 = +8.812071418319202070776e-01 */ - .quad 0xBFD370255FC004F8 /* P2 = -3.037198481616338996824e-01 */ - .quad 0xBFC832F0EBC6BB41 /* P3 = -1.890545989276351359107e-01 */ - .quad 0x3FC54C99A0FF432F /* P4 = +1.664001499289269127540e-01 */ - .quad 0x3F99DAC0CC283C18 /* P5 = +2.524853941036661688369e-02 */ - .quad 0xBFB227B3896A026D /* P6 = -7.091829399906553280461e-02 */ - .quad 0x3F84663364E1FB19 /* P7 = +9.960557476231411602383e-03 */ - .quad 0x3F9922D70DE07C57 /* P8 = +2.454696676442965935283e-02 */ - .quad 0xBF85C4A4EB6F86BC /* P9 = -1.062897532932837635222e-02 */ - .quad 0xBF7AAB61214FFE17 /* P10 = -6.511096396024671890972e-03 */ - .quad 0xBFD7000000000000 /* B = -.359375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3BFE67F266843B2C /* PL0 = +1.030196791298162288777e-19 */ - .quad 0x3FD7CD3115FC0F16 /* PH0 = +3.718989100163850869407e-01 */ - .quad 0x3FEB92F96CCC2C5B /* P1 = +8.616912007286247079761e-01 */ - .quad 0xBFD4827320135092 /* P2 = -3.204620183216856200247e-01 */ - .quad 0xBFC582B15550168A /* P3 = -1.680509249273891977521e-01 */ - .quad 0x3FC5AC3B9A2E4C31 /* P4 = +1.693186285816366254244e-01 */ - .quad 0x3F88FA599FCADAFB /* P5 = +1.219625491044728129762e-02 */ - .quad 0xBFB16EC8F5CA169E /* P6 = -6.809669495313605642174e-02 */ - .quad 0x3F90140EFC748BBE /* P7 = +1.570151725639922719844e-02 */ - .quad 0x3F95CFC49C1A28DC /* P8 = +2.130038454792147768770e-02 */ - .quad 0xBF8946ED8B1BF454 /* P9 = -1.234231549050882816697e-02 */ - .quad 0xBF7239E55C1DD50F /* P10 = -4.449745117985472755606e-03 */ - .quad 0xBFD9000000000000 /* B = -.390625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6412330191189C /* PL0 = +8.704448096175471149661e-18 */ - .quad 0x3FD9812B3B03F0A5 /* PH0 = +3.985088421175169703936e-01 */ - .quad 0x3FEAEB08C3C0E84D /* P1 = +8.411907027541559254748e-01 */ - .quad 0xBFD57446B1BC46CF /* P2 = -3.352219329545790787820e-01 */ - .quad 0xBFC2CA9ABC0444AD /* P3 = -1.468079965639267634401e-01 */ - .quad 0x3FC5CA95F9460D18 /* P4 = +1.702449290424759093710e-01 */ - .quad 0xBF2C2DAA35DD05C3 /* P5 = -2.149839664813813012186e-04 */ - .quad 0xBFB069A516EEB75D /* P6 = -6.411201295733578195472e-02 */ - .quad 0x3F9512716416FDC7 /* P7 = +2.057816670798986720058e-02 */ - .quad 0x3F921630CB1319A3 /* P8 = +1.766277541607908852593e-02 */ - .quad 0xBF8B76DA2EC99526 /* P9 = -1.341028647693549562145e-02 */ - .quad 0xBF63A97474A161E4 /* P10 = -2.400138332671485493040e-03 */ - .quad 0xBFDB000000000000 /* B = -.421875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C89B79F5783381C /* PL0 = +4.461236087774530799537e-17 */ - .quad 0x3FDB2A6C993B829D /* PH0 = +4.244643684778937609003e-01 */ - .quad 0x3FEA3C0C1FBA328C /* P1 = +8.198299998926627915155e-01 */ - .quad 0xBFD6457212F78DE0 /* P2 = -3.479886231636708581604e-01 */ - .quad 0xBFC0129BDA380A66 /* P3 = -1.255678954622282824818e-01 */ - .quad 0x3FC5AB77F388FBDE /* P4 = +1.692953051696965507089e-01 */ - .quad 0xBF8822F3A6CADB7C /* P5 = -1.178541519889874597783e-02 */ - .quad 0xBFAE4A876370A4BD /* P6 = -5.916236008517603590739e-02 */ - .quad 0x3F991A89BC3B7710 /* P7 = +2.451529704455085335710e-02 */ - .quad 0x3F8C4A4328204D4B /* P8 = +1.381351915555364098800e-02 */ - .quad 0xBF8C5F921D01EC0B /* P9 = -1.385416174911393178490e-02 */ - .quad 0xBF3EE844C5B79FB8 /* P10 = -4.716079617694784908234e-04 */ - .quad 0xBFDD000000000000 /* B = -.453125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C73FA437AD7AD87 /* PL0 = +1.732779905745858845932e-17 */ - .quad 0x3FDCC88C9902CF45 /* PH0 = +4.497405523536495697279e-01 */ - .quad 0x3FE9870845162D1D /* P1 = +7.977334355686341748810e-01 */ - .quad 0xBFD6F62358F73DA8 /* P2 = -3.587730759436120677668e-01 */ - .quad 0xBFBAC4345D675FE1 /* P3 = -1.045563438450467661101e-01 */ - .quad 0x3FC5539DA8287019 /* P4 = +1.666142531474868131862e-01 */ - .quad 0xBF96E3E0DC04A09F /* P5 = -2.235366194614185212822e-02 */ - .quad 0xBFAB5EC7147C207D /* P6 = -5.345747113284546871398e-02 */ - .quad 0x3F9C24166FFA7A58 /* P7 = +2.748141344511120915667e-02 */ - .quad 0x3F8451B907819844 /* P8 = +9.921498815128277696693e-03 */ - .quad 0xBF8C1C6D19191FCB /* P9 = -1.372609360545586670239e-02 */ - .quad 0x3F547372DF72E35A /* P10 = +1.248228245272117756098e-03 */ - .quad 0xBFDF000000000000 /* B = -.484375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C848FE06EE49950 /* PL0 = +3.566941590788961528958e-17 */ - .quad 0x3FDF20211A36475D /* PH0 = +4.863360172249622803697e-01 */ - .quad 0x3FE86E67E6B80AC2 /* P1 = +7.634772783497611574659e-01 */ - .quad 0xBFD7C37C55474D9B /* P2 = -3.713064987943767913461e-01 */ - .quad 0xBFB2EBF15F3CB036 /* P3 = -7.391270232318521952684e-02 */ - .quad 0x3FC4718C8EF6E3AA /* P4 = +1.597152422016539530950e-01 */ - .quad 0xBFA277F8394E9B07 /* P5 = -3.607154559658991932071e-02 */ - .quad 0xBFA680312AB207E3 /* P6 = -4.394677778419955009224e-02 */ - .quad 0x3F9EDC9A8B57E286 /* P7 = +3.013841128810892143223e-02 */ - .quad 0x3F71B8C5E648EAF6 /* P8 = +4.326603932492947851719e-03 */ - .quad 0xBF89DB218356730C /* P9 = -1.262499029217558458029e-02 */ - .quad 0x3F6B05728E6EBC8E /* P10 = +3.298496001171330815865e-03 */ - .quad 0xBFE1000000000000 /* B = -.53125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8429831EDD94DE /* PL0 = +3.497576705878673192147e-17 */ - .quad 0x3FE10AF47E0BF610 /* PH0 = +5.325872861719194162333e-01 */ - .quad 0x3FE6EC5879F87EEE /* P1 = +7.163507826080299761242e-01 */ - .quad 0xBFD86AD001BFE200 /* P2 = -3.815193192563413204129e-01 */ - .quad 0xBFA239045B661385 /* P3 = -3.559125533778398983564e-02 */ - .quad 0x3FC2B4572D9CC147 /* P4 = +1.461285565105845078038e-01 */ - .quad 0xBFA99F4F01740705 /* P5 = -5.004355328311586406115e-02 */ - .quad 0xBF9F449C484F4879 /* P6 = -3.053516570418721511214e-02 */ - .quad 0x3F9F5F42169D7DDE /* P7 = +3.063681853325116830798e-02 */ - .quad 0xBF6111B1BA632A97 /* P8 = -2.083632588527460989469e-03 */ - .quad 0xBF84725FBE5B6E61 /* P9 = -9.983776089419639342530e-03 */ - .quad 0x3F7438A2986CFA9C /* P10 = +4.936823976832951342488e-03 */ - .quad 0xBFE3000000000000 /* B = -.59375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6BE9160BFB3505 /* PL0 = +1.210424670976053242391e-17 */ - .quad 0x3FE26D76F73233C7 /* PH0 = +5.758623912857893101247e-01 */ - .quad 0x3FE56363B5B93937 /* P1 = +6.683825063026124740752e-01 */ - .quad 0xBFD8A2244B27297E /* P2 = -3.848963483730115724200e-01 */ - .quad 0xBF52CA2F101EEF63 /* P3 = -1.146837196286797844817e-03 */ - .quad 0x3FC081BC342243AD /* P4 = +1.289592032012739958675e-01 */ - .quad 0xBFAE38DB4A932344 /* P5 = -5.902753148399722719732e-02 */ - .quad 0xBF91F814D4AE90C6 /* P6 = -1.754791782481459457885e-02 */ - .quad 0x3F9D056AE193C4F3 /* P7 = +2.834097863973723355792e-02 */ - .quad 0xBF7BD0B502D8F3A0 /* P8 = -6.790835451792626336974e-03 */ - .quad 0xBF7B763F7BB8AE2F /* P9 = -6.704566938008179114124e-03 */ - .quad 0x3F76036F42D9AB69 /* P10 = +5.374369252971835729099e-03 */ - .quad 0xBFE5000000000000 /* B = -.65625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8B64AF0450486E /* PL0 = +4.751979286662385162741e-17 */ - .quad 0x3FE3B75F8BCB742D /* PH0 = +6.161344271055263499548e-01 */ - .quad 0x3FE3DA23BC12369F /* P1 = +6.203783677353447780947e-01 */ - .quad 0xBFD8768FF4B46416 /* P2 = -3.822364701932782367281e-01 */ - .quad 0x3F9D67CB8AD9CB1A /* P3 = +2.871625933625941117406e-02 */ - .quad 0x3FBC168CB7827DF4 /* P4 = +1.097190807363331305006e-01 */ - .quad 0xBFB03A2B83C9272E /* P5 = -6.338760344911228324430e-02 */ - .quad 0xBF789FEB595297DC /* P6 = -6.011885959344067548074e-03 */ - .quad 0x3F98BD01B4C335E7 /* P7 = +2.415850320612902513532e-02 */ - .quad 0xBF83BADC303D6535 /* P8 = -9.633751127398152979976e-03 */ - .quad 0xBF6C54E7A1C1E3F3 /* P9 = -3.458454519258407989501e-03 */ - .quad 0x3F7408394B7EF3E7 /* P10 = +4.890655334688332484537e-03 */ - .quad 0xBFE7000000000000 /* B = -.71875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6A48557F6E0D3E /* PL0 = +1.139824111505584215867e-17 */ - .quad 0x3FE4E8D895B010DC /* PH0 = +6.534235881413468227663e-01 */ - .quad 0x3FE25652FAAF8A73 /* P1 = +5.730376144604875448991e-01 */ - .quad 0xBFD7F6C3A57C444B /* P2 = -3.744362941807295084434e-01 */ - .quad 0x3FAB7866E3F99EBE /* P3 = +5.365296872042567001598e-02 */ - .quad 0x3FB6FA1DF47CCD40 /* P4 = +8.975398272450707099784e-02 */ - .quad 0xBFB05508D3741B8E /* P5 = -6.379752314033580026840e-02 */ - .quad 0x3F6C3EFDF7BB279C /* P6 = +3.448005705512137236209e-03 */ - .quad 0x3F9372BADD6D3E27 /* P7 = +1.899234749299530050806e-02 */ - .quad 0xBF860FD5AE65F3DA /* P8 = -1.077238977881649471165e-02 */ - .quad 0xBF47266FFB07E628 /* P9 = -7.064863949032872448118e-04 */ - .quad 0x3F6F9763992C2A05 /* P10 = +3.856367614735181120799e-03 */ - .quad 0xBFE9000000000000 /* B = -.78125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6BB6A2B194E3AB /* PL0 = +1.201878007209462528697e-17 */ - .quad 0x3FE602609AAE7C22 /* PH0 = +6.877902051090851731630e-01 */ - .quad 0x3FE0DCBAFE191C7F /* P1 = +5.269446337560025312137e-01 */ - .quad 0xBFD732028428A9FB /* P2 = -3.624273577321727538225e-01 */ - .quad 0x3FB2D92389BE065B /* P3 = +7.362577545975439796588e-02 */ - .quad 0x3FB1F6A9C8C49993 /* P4 = +7.017003203927733370937e-02 */ - .quad 0xBFAF47C0B50B56EE /* P5 = -6.109430513394707378526e-02 */ - .quad 0x3F85A8EDD1356223 /* P6 = +1.057611269668352068104e-02 */ - .quad 0x3F8BE05C5CD1B4FA /* P7 = +1.361152799855823798207e-02 */ - .quad 0xBF85A0EFE4552F76 /* P8 = -1.056086936537046752272e-02 */ - .quad 0x3F559F2A6A356194 /* P9 = +1.319686337259627831943e-03 */ - .quad 0x3F6576F5E989208D /* P10 = +2.620201394425042596201e-03 */ - .quad 0xBFEB000000000000 /* B = -.84375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C80328BD86C8B74 /* PL0 = +2.809809047161267929701e-17 */ - .quad 0x3FE704BB1B7FCB81 /* PH0 = +7.193275010198335595035e-01 */ - .quad 0x3FDEE264AAD6C40C /* P1 = +4.825679462765613089739e-01 */ - .quad 0xBFD637493CE659F1 /* P2 = -3.471243948673921548357e-01 */ - .quad 0x3FB6BE3A3DEE6F4A /* P3 = +8.884014141079635303208e-02 */ - .quad 0x3FAA85EB6470AC0F /* P4 = +5.180297471118688523488e-02 */ - .quad 0xBFACC0146EA4858D /* P5 = -5.615295267694895314457e-02 */ - .quad 0x3F8F8FB683CDDAC5 /* P6 = +1.541082944616557159055e-02 */ - .quad 0x3F819515DEE2CB91 /* P7 = +8.585139145315585602547e-03 */ - .quad 0xBF834E45E6AF9EA1 /* P8 = -9.426637747267209169415e-03 */ - .quad 0x3F65250F197CA56D /* P9 = +2.581147662472352252568e-03 */ - .quad 0x3F57A766026D036C /* P10 = +1.443719500187702367690e-03 */ - .quad 0xBFED000000000000 /* B = -.90625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C716F7EEF7B61AD /* PL0 = +1.512291215142578135651e-17 */ - .quad 0x3FE7F0E1A4CD846E /* PH0 = +7.481544703297353660076e-01 */ - .quad 0x3FDC2D4CC872DC09 /* P1 = +4.402648885256331012598e-01 */ - .quad 0xBFD514A99F92ED53 /* P2 = -3.293861444796750250530e-01 */ - .quad 0x3FB9846A6CF2F337 /* P3 = +9.967675361526749494844e-02 */ - .quad 0x3FA20896939AB161 /* P4 = +3.522177268800664413493e-02 */ - .quad 0xBFA97E801F31EE0D /* P5 = -4.979324703978358553405e-02 */ - .quad 0x3F92A11F47B82085 /* P6 = +1.819275737037219740638e-02 */ - .quad 0x3F717D70FE289C34 /* P7 = +4.270020845559097605514e-03 */ - .quad 0xBF7FDCF1D3F6CE2D /* P8 = -7.779068604054678540132e-03 */ - .quad 0x3F69F607E81AF6B6 /* P9 = +3.169074480722534625181e-03 */ - .quad 0x3F3F925C80D0F889 /* P10 = +4.817462766516585511824e-04 */ - .quad 0xBFEF000000000000 /* B = -.96875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C931A11D7E8606E /* PL0 = +6.627280241435322692188e-17 */ - .quad 0x3FE92BFB370D9B71 /* PH0 = +7.866188121086975515439e-01 */ - .quad 0x3FD866160E454111 /* P1 = +3.812308444367014680480e-01 */ - .quad 0xBFD33149F3801DBA /* P2 = -2.998833539899937679796e-01 */ - .quad 0x3FBBDB6D4C949899 /* P3 = +1.088169395412442909023e-01 */ - .quad 0x3F8D6AB2A74B9343 /* P4 = +1.436366627735597372494e-02 */ - .quad 0xBFA404D1047C5D72 /* P5 = -3.909924678571997970917e-02 */ - .quad 0x3F93C47D9ACCD919 /* P6 = +1.930423981976856424661e-02 */ - .quad 0xBF41B755642CFF1B /* P7 = -5.406538915408738478158e-04 */ - .quad 0xBF74B5301AA1E788 /* P8 = -5.055606752756853900641e-03 */ - .quad 0x3F69A84C5B2A3E68 /* P9 = +3.132008679422249529120e-03 */ - .quad 0xBF3CF47830328C11 /* P10 = -4.418176105877589308931e-04 */ - .quad 0xBFF1000000000000 /* B = -1.0625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C884D471B8FD396 /* PL0 = +4.215701792312937090514e-17 */ - .quad 0x3FEA8DBCBC31897A /* PH0 = +8.298019099859594849278e-01 */ - .quad 0x3FD3EE730537C8EA /* P1 = +3.114287901836535219818e-01 */ - .quad 0xBFD08A05AD27CE32 /* P2 = -2.584242049190123217982e-01 */ - .quad 0x3FBC5255406F84B6 /* P3 = +1.106313021005175045399e-01 */ - .quad 0xBF772FA2F633AA5E /* P4 = -5.660664147607434209241e-03 */ - .quad 0xBF99DD8E4C473FC4 /* P5 = -2.525923100057504533247e-02 */ - .quad 0x3F9183C935B6495D /* P6 = +1.710428610165003372069e-02 */ - .quad 0xBF70471A3A591480 /* P7 = -3.974058583087303228038e-03 */ - .quad 0xBF603DDD4DEBB9A4 /* P8 = -1.982624278176818987264e-03 */ - .quad 0x3F62591E44D3C17F /* P9 = +2.239760512218135956425e-03 */ - .quad 0xBF4C195D3A9B1AB4 /* P10 = -8.575158328419569430544e-04 */ - .quad 0xBFF3000000000000 /* B = -1.1875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C90DD1C9BFF7F64 /* PL0 = +5.850777430004479798187e-17 */ - .quad 0x3FEBAD50A4A68BC1 /* PH0 = +8.649066177207417327466e-01 */ - .quad 0x3FD01FBA72CEE1A5 /* P1 = +2.519365426228666233893e-01 */ - .quad 0xBFCBE432F647C4D6 /* P2 = -2.179015829602010702633e-01 */ - .quad 0x3FBABF92B6E5AC73 /* P3 = +1.044856735731387955105e-01 */ - .quad 0xBF922983AA24E217 /* P4 = -1.773648954369563555378e-02 */ - .quad 0xBF8C72214C14E23A /* P5 = -1.388956082756564056328e-02 */ - .quad 0x3F8ACB4D1F388E8B /* P6 = +1.308307887581540972153e-02 */ - .quad 0xBF740EF8B4A2EE3B /* P7 = -4.897090441029978580995e-03 */ - .quad 0xBF0EA9F30C8DC900 /* P8 = -5.848668076326342477133e-05 */ - .quad 0x3F53CC40D18713AE /* P9 = +1.208365725788622757410e-03 */ - .quad 0xBF4848B86029CBA1 /* P10 = -7.410908004444779592485e-04 */ - .quad 0xBFF5000000000000 /* B = -1.3125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8FB61781D22681 /* PL0 = +5.501032995458057064843e-17 */ - .quad 0x3FEC950A3340C8BF /* PH0 = +8.931933404003514764824e-01 */ - .quad 0x3FC9E1DFFD385423 /* P1 = +2.022056566644617586005e-01 */ - .quad 0xBFC71E2FF88EBA23 /* P2 = -1.806087459239772032583e-01 */ - .quad 0x3FB80AEBD07AB5BA /* P3 = +9.391664352252506838449e-02 */ - .quad 0xBF98404E27EAE6ED /* P4 = -2.368280523908243895884e-02 */ - .quad 0xBF772DA520B5006E /* P5 = -5.658764868087568802107e-03 */ - .quad 0x3F824C9268AF9423 /* P6 = +8.935111827620250551925e-03 */ - .quad 0xBF722AE76D206AE3 /* P7 = -4.435447701349490160113e-03 */ - .quad 0x3F4B807F56298D5E /* P8 = +8.392926941493230644497e-04 */ - .quad 0x3F3D71027DF95D2A /* P9 = +4.492407879061627603159e-04 */ - .quad 0xBF3EBD17676755FB /* P10 = -4.690343988874298905483e-04 */ - .quad 0xBFF7000000000000 /* B = -1.4375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C95393C63CE8224 /* PL0 = +7.363407705201031038415e-17 */ - .quad 0x3FED4E6F464286B0 /* PH0 = +9.158245441687622445670e-01 */ - .quad 0x3FC4A45842B7DE1E /* P1 = +1.612654042980787191461e-01 */ - .quad 0xBFC2E7885AFDD3D0 /* P2 = -1.476908153814791087327e-01 */ - .quad 0x3FB4DD6DD51D3FEB /* P3 = +8.150373890862254580204e-02 */ - .quad 0xBF9A05D3ADAB489C /* P4 = -2.541285274021075503042e-02 */ - .quad 0xBF3459B643B4995C /* P5 = -3.105230313899165257622e-04 */ - .quad 0x3F766B30745F2E3A /* P6 = +5.473317409222350365811e-03 */ - .quad 0xBF6C2C891E555BDF /* P7 = -3.439204988051155730940e-03 */ - .quad 0x3F5194F30D6C576D /* P8 = +1.073109966176012791522e-03 */ - .quad 0x3EF4DBB43C3132A2 /* P9 = +1.989194766975849961365e-05 */ - .quad 0xBF2E45EBAB3C15A0 /* P10 = -2.309656316514087783666e-04 */ - .quad 0xBFF9000000000000 /* B = -1.5625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C75111669651DAA /* PL0 = +1.827249135453834384396e-17 */ - .quad 0x3FEDE1EB5937518F /* PH0 = +9.338280432225917193634e-01 */ - .quad 0x3FC06129C7C8EBB1 /* P1 = +1.279651856910653382507e-01 */ - .quad 0xBFBE9763041064E1 /* P2 = -1.194974789545031421774e-01 */ - .quad 0x3FB1A5B9F9113928 /* P3 = +6.893503504509068635308e-02 */ - .quad 0xBF992145039F9AFE /* P4 = -2.454097590080105816526e-02 */ - .quad 0x3F66CB116EA49C89 /* P5 = +2.782377288116648315142e-03 */ - .quad 0x3F67F972FDF30001 /* P6 = +2.926563829163342740100e-03 */ - .quad 0xBF63A7B5975F02F3 /* P7 = -2.399305983061922438601e-03 */ - .quad 0x3F4FDE7B8777F4C8 /* P8 = +9.725669069095216373599e-04 */ - .quad 0xBF25918876626BA4 /* P9 = -1.645545082212515656240e-04 */ - .quad 0xBF1495123C991F00 /* P10 = -7.851527984669912693674e-05 */ - .quad 0xBFFB000000000000 /* B = -1.6875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9F29A5B7426D27 /* PL0 = +1.081172820484012446345e-16 */ - .quad 0x3FEE56B6F3EFABFC /* PH0 = +9.480852856044061915952e-01 */ - .quad 0x3FB9E3EFD94BB9FC /* P1 = +1.011342912204113371518e-01 */ - .quad 0xBFB88BD9760FECA7 /* P2 = -9.588393337610288420285e-02 */ - .quad 0x3FAD48A0350B3ACF /* P3 = +5.719471595295077387313e-02 */ - .quad 0xBF96CC6A5110F129 /* P4 = -2.226415748394675367257e-02 */ - .quad 0x3F71934687170384 /* P5 = +4.290843485649345772606e-03 */ - .quad 0x3F5407BAF73B3DF9 /* P6 = +1.222546180475235334287e-03 */ - .quad 0xBF591B626C0646DD /* P7 = -1.532407870488964407324e-03 */ - .quad 0x3F48B0E1DD283558 /* P8 = +7.535078860329375669277e-04 */ - .quad 0xBF2B322292840D2B /* P9 = -2.074877932117605962646e-04 */ - .quad 0xBE99E4061120C741 /* P10 = -3.858017559892704559672e-07 */ - .quad 0xBFFD000000000000 /* B = -1.8125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6AF8C2041C67CD /* PL0 = +1.169711482626385762338e-17 */ - .quad 0x3FEEB2DFEDD5EC93 /* PH0 = +9.593352933146824801369e-01 */ - .quad 0x3FB465A205CFB638 /* P1 = +7.967579500083210999681e-02 */ - .quad 0xBFB3914BF68D39FF /* P2 = -7.643580216720378576778e-02 */ - .quad 0x3FA7F21A08C5C734 /* P3 = +4.676896435820623621673e-02 */ - .quad 0xBF93DA9560EA9960 /* P4 = -1.938851741820124550772e-02 */ - .quad 0x3F73953FEC62820E /* P5 = +4.781007481284861359820e-03 */ - .quad 0x3F2749D5E1273E3C /* P6 = +1.776765426044646108071e-04 */ - .quad 0xBF4D46B0B498CE5A /* P7 = -8.934367007839658352859e-04 */ - .quad 0x3F4153D680E1F4C4 /* P8 = +5.287930851093571206574e-04 */ - .quad 0xBF28477014ECA6A2 /* P9 = -1.852344816708944640949e-04 */ - .quad 0x3EFFAC54E07CEB4B /* P10 = +3.020588886147182143902e-05 */ - .quad 0xBFFF000000000000 /* B = -1.9375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7A8AF2BB2231F2 /* PL0 = +2.302217989249372577466e-17 */ - .quad 0x3FEF1994DF724FC8 /* PH0 = +9.718727459135090285258e-01 */ - .quad 0x3FAC65B1BC0C9D58 /* P1 = +5.546336575053583942603e-02 */ - .quad 0xBFAB9937BDA747C8 /* P2 = -5.390333356957871365599e-02 */ - .quad 0x3FA15B42D9EF931C /* P3 = +3.389939222669210777241e-02 */ - .quad 0xBF8EACD8E8507A3C /* P4 = -1.497811755149058215502e-02 */ - .quad 0x3F7263A15721C682 /* P5 = +4.489546046998806349050e-03 */ - .quad 0xBF42A032ACDC3B32 /* P6 = -5.684134900735048121829e-04 */ - .quad 0xBF3431E79B5AD185 /* P7 = -3.081503340170088810438e-04 */ - .quad 0x3F31B51667C7DF5E /* P8 = +2.701930714290502424828e-04 */ - .quad 0xBF1F8709579250AD /* P9 = -1.202678157759563704341e-04 */ - .quad 0x3F01ED8ED1BF9595 /* P10 = +3.419487094883790833778e-05 */ - .quad 0xC001000000000000 /* B = -2.125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C86F3F7C3DAFC55 /* PL0 = +3.981710680748877459333e-17 */ - .quad 0x3FEF73776B2AA2DB /* PH0 = +9.828450291725759901951e-01 */ - .quad 0x3FA16A7FC4D7B900 /* P1 = +3.401564863075812007064e-02 */ - .quad 0xBFA11E03803AD621 /* P2 = -3.343211117082156940532e-02 */ - .quad 0x3F9609591597297F /* P3 = +2.152003473546803654658e-02 */ - .quad 0xBF847E74ED9BBB0C /* P4 = -1.000682211039596246436e-02 */ - .quad 0x3F6BFF771725CD65 /* P5 = +3.417713736035987187864e-03 */ - .quad 0xBF491D1FF73C18FA /* P6 = -7.664114077392807421000e-04 */ - .quad 0x3EF53EE467B51DC5 /* P7 = +2.026145237479599375099e-05 */ - .quad 0x3F160135BE0D94A0 /* P8 = +8.394136922403255700685e-05 */ - .quad 0xBF0B32CB1D276A40 /* P9 = -5.187685350778849443841e-05 */ - .quad 0x3EF4DAF70C12D555 /* P10 = +1.988919462255396826584e-05 */ - .quad 0xC003000000000000 /* B = -2.375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C19DBF4E2E5B7DC /* PL0 = +3.504575836708380670219e-19 */ - .quad 0x3FEFAA7934B75EBD /* PH0 = +9.895597486128832054320e-01 */ - .quad 0x3F9545200830A42C /* P1 = +2.077150392520736492125e-02 */ - .quad 0xBF950C46D285F6BC /* P2 = -2.055464420253970271376e-02 */ - .quad 0x3F8B79F5BFC6513F /* P3 = +1.341621390819425058164e-02 */ - .quad 0xBF7A50ADAD777898 /* P4 = -6.424597194806612772505e-03 */ - .quad 0x3F633A19BE8255E3 /* P5 = +2.347040444940816227383e-03 */ - .quad 0xBF44E609BC2557B7 /* P6 = -6.377742322836087134324e-04 */ - .quad 0x3F1AFCBAD60EAACD /* P7 = +1.029480968230231421206e-04 */ - .quad 0x3EE80476AC34A8EF /* P8 = +1.145240583485084317660e-05 */ - .quad 0xBEF278E23DE463E9 /* P9 = -1.761646478213091821804e-05 */ - .quad 0x3EE209FAF377264D /* P10 = +8.601658563106529694651e-06 */ - .quad 0xC005000000000000 /* B = -2.625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C979D62702C631C /* PL0 = +8.193023793215066385979e-17 */ - .quad 0x3FEFCC04CDBCDC4B /* PH0 = +9.936546343150295390600e-01 */ - .quad 0x3F89E87D088D269A /* P1 = +1.265046770426474576547e-02 */ - .quad 0xBF89BE6721012B80 /* P2 = -1.257019586059526836624e-02 */ - .quad 0x3F80F1C13E8D39D3 /* P3 = +8.273610803056031004326e-03 */ - .quad 0xBF7082DBC9602757 /* P4 = -4.031046430108839563004e-03 */ - .quad 0x3F590BE9BD4E0A11 /* P5 = +1.528719197467002507978e-03 */ - .quad 0xBF3DCC2BEF6D0283 /* P6 = -4.546744598208711809986e-04 */ - .quad 0x3F1A08065C4A8E85 /* P7 = +9.930170842636406837764e-05 */ - .quad 0xBEE528117D0410F3 /* P8 = -1.008821337267942266431e-05 */ - .quad 0xBED0BE73A44FF565 /* P9 = -3.992069257383521775961e-06 */ - .quad 0x3EC9B0C11E342E38 /* P10 = +3.062539904901699218737e-06 */ - .quad 0xC007000000000000 /* B = -2.875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C804B931AD7A3CC /* PL0 = +2.826768921701616830245e-17 */ - .quad 0x3FEFE06EB0688212 /* PH0 = +9.961465306733450209009e-01 */ - .quad 0x3F7F81BD8876224D /* P1 = +7.692089427458426472642e-03 */ - .quad 0xBF7F62A8C699A963 /* P2 = -7.662448196791823756776e-03 */ - .quad 0x3F74C31E2B2A6A28 /* P3 = +5.068891378551522166321e-03 */ - .quad 0xBF6470D537F16227 /* P4 = -2.495209162173734080001e-03 */ - .quad 0x3F4FAEEF61C89673 /* P5 = +9.668988091717359455754e-04 */ - .quad 0xBF33C5E80B349783 /* P6 = -3.017131341088651514023e-04 */ - .quad 0x3F138F3D31037A6B /* P7 = +7.461367590931028650557e-05 */ - .quad 0xBEEB3C780996FFE3 /* P8 = -1.298723536791163711556e-05 */ - .quad 0x3E9D0C75BC8BFEFC /* P9 = +4.328589367358221917138e-07 */ - .quad 0x3EAC3865227764D4 /* P10 = +8.410302755848104487452e-07 */ - .quad 0xC009000000000000 /* B = -3.125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C5B978B202749F9 /* PL0 = +5.983054034451594408315e-18 */ - .quad 0x3FEFECD6B7EA3128 /* PH0 = +9.976609794698889643882e-01 */ - .quad 0x3F73238B786137FE /* P1 = +4.672570043181776968058e-03 */ - .quad 0xBF731815ACEA072E /* P2 = -4.661640805922390930706e-03 */ - .quad 0x3F6956F0816D5AEE /* P3 = +3.093213784647877798933e-03 */ - .quad 0xBF591A16286C4885 /* P4 = -1.532098425461232453877e-03 */ - .quad 0x3F43B3E3A00C6096 /* P5 = +6.012784434430592468442e-04 */ - .quad 0xBF29441B2A56DEC7 /* P6 = -1.927645836710038499293e-04 */ - .quad 0x3F0A99C3A2E857B6 /* P7 = +5.073669705184196724674e-05 */ - .quad 0xBEE61CB034DDC151 /* P8 = -1.054385361573597042258e-05 */ - .quad 0x3EB792BBC76D6107 /* P9 = +1.405070887824641788698e-06 */ - .quad 0x3E761472362A16F0 /* P10 = +8.225391704739515383837e-08 */ - .quad 0xC00B000000000000 /* B = -3.375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9C290AFCBDE00D /* PL0 = +9.770074992945060684926e-17 */ - .quad 0x3FEFF45F6D36133A /* PH0 = +9.985806592017987259879e-01 */ - .quad 0x3F673CEC093032DE /* P1 = +2.836667068100913999228e-03 */ - .quad 0xBF67347A7CD844D5 /* P2 = -2.832640870800243808078e-03 */ - .quad 0x3F5EDA25530355DB /* P3 = +1.883064698679040793627e-03 */ - .quad 0xBF4EAD3BBABC1BA9 /* P4 = -9.361783645268534848806e-04 */ - .quad 0x3F3842E61CD35432 /* P5 = +3.701984213198588740338e-04 */ - .quad 0xBF1F9AB7FD1A3DDD /* P6 = -1.205611036090218544867e-04 */ - .quad 0x3F0136C154EA3DED /* P7 = +3.283288480304320224929e-05 */ - .quad 0xBEDF12807F721E66 /* P8 = -7.408207230892235753013e-06 */ - .quad 0x3EB5B53687AD5112 /* P9 = +1.293889481520047941659e-06 */ - .quad 0xBE801E90FBFED147 /* P10 = -1.200988872775447204019e-07 */ - .quad 0xC00D000000000000 /* B = -3.625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9E323294294877 /* PL0 = +1.047637125334028950603e-16 */ - .quad 0x3FEFF8F21CDAAA62 /* PH0 = +9.991388858373506653976e-01 */ - .quad 0x3F5C3470628813F2 /* P1 = +1.721486807697344658108e-03 */ - .quad 0xBF5C2E38AC6FF8D2 /* P2 = -1.720004411026422324849e-03 */ - .quad 0x3F52C13234626F43 /* P3 = +1.144694354969070234454e-03 */ - .quad 0xBF42B0A47DF47BB4 /* P4 = -5.703738387728891173354e-04 */ - .quad 0x3F2DB2889E32FBFD /* P5 = +2.265731592156760387344e-04 */ - .quad 0xBF1385FBD54C5A55 /* P6 = -7.447576110695385196414e-05 */ - .quad 0x3EF5AFA812C6984E /* P7 = +2.068153223579892541184e-05 */ - .quad 0xBED47097C188A03C /* P8 = -4.873231795467276043290e-06 */ - .quad 0x3EAFF2B982F7EE8C /* P9 = +9.521288628073486288914e-07 */ - .quad 0xBE828EC5B57D424D /* P10 = -1.382656715739529384702e-07 */ - .quad 0xC00F000000000000 /* B = -3.875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9BA40DA6983BEC /* PL0 = +9.589840482158163453169e-17 */ - .quad 0x3FEFFCAAC3F20E65 /* PH0 = +9.995931460438894911036e-01 */ - .quad 0x3F4AA87CF664754C /* P1 = +8.135423820793490331956e-04 */ - .quad 0xBF4AA5B62919E224 /* P2 = -8.132113891426467676310e-04 */ - .quad 0x3F41C01B53B0B312 /* P3 = +5.416997368051531710388e-04 */ - .quad 0xBF31B8B54D091751 /* P4 = -2.704088811110632606347e-04 */ - .quad 0x3F1C431305954ECC /* P5 = +1.078110084525254933728e-04 */ - .quad 0xBF02B7DEAD0D44E6 /* P6 = -3.570221236393906131126e-05 */ - .quad 0x3EE51C6EFF109EA9 /* P7 = +1.006654199116272154479e-05 */ - .quad 0xBEC48CFB08072D17 /* P8 = -2.449834994621594976610e-06 */ - .quad 0x3EA1585EC59CAE34 /* P9 = +5.169271261920604503617e-07 */ - .quad 0xBE78832BAF950BA9 /* P10 = -9.131575131209528255629e-08 */ - .quad 0xC011000000000000 /* B = -4.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8FBF237F4AFE10 /* PL0 = +5.507163370275307643966e-17 */ - .quad 0x3FEFFEC61279A3A4 /* PH0 = +9.998503075449787225182e-01 */ - .quad 0x3F339E78281A00EA /* P1 = +2.993625022114214863645e-04 */ - .quad 0xBF339DB7B072AD62 /* P2 = -2.993176899035080028902e-04 */ - .quad 0x3F2A259E658EF4E4 /* P3 = +1.994853835451177669594e-04 */ - .quad 0xBF1A219C312B10BA /* P4 = -9.968295880030927192162e-05 */ - .quad 0x3F04E146B4F5F4B7 /* P5 = +3.982541113154699160876e-05 */ - .quad 0xBEEBC5F137088210 /* P6 = -1.324329943580649487333e-05 */ - .quad 0x3ECF96736E300B00 /* P7 = +3.765547135882256916132e-06 */ - .quad 0xBEAF4874840B91EB /* P8 = -9.323068824421825762292e-07 */ - .quad 0x3E8B6AB2B5C8FD3F /* P9 = +2.042709991312793245971e-07 */ - .quad 0xBE650BCCE62FD2B7 /* P10 = -3.920140725219944650830e-08 */ - .quad 0xC013000000000000 /* B = -4.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9C869C85471703 /* PL0 = +9.896883942603146946483e-17 */ - .quad 0x3FEFFF8C81C6DC33 /* PH0 = +9.999449286177707341139e-01 */ - .quad 0x3F1CDF5A2E4D7C69 /* P1 = +1.101397316012206760643e-04 */ - .quad 0xBF1CDEF1F9BE63BE /* P2 = -1.101336660539594564027e-04 */ - .quad 0x3F133EC10C83AAA0 /* P3 = +7.341435696487731017506e-05 */ - .quad 0xBF033DAB325FAACB /* P4 = -3.669909192168459445238e-05 */ - .quad 0x3EEEC598FA98BAD8 /* P5 = +1.467316890843338172161e-05 */ - .quad 0xBED47F1A15BA368E /* P6 = -4.886744445221253126882e-06 */ - .quad 0x3EB761FBE7D201C1 /* P7 = +1.393720509029845064726e-06 */ - .quad 0xBE974CD75A43BF6B /* P8 = -3.471994551992448536007e-07 */ - .quad 0x3E74B02965BBF8DC /* P9 = +7.706929621914905669946e-08 */ - .quad 0xBE504EF4E3892A66 /* P10 = -1.518840362012570189110e-08 */ - .quad 0xC015000000000000 /* B = -5.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C643810400471B0 /* PL0 = +8.768592603904887599187e-18 */ - .quad 0x3FEFFFD583014825 /* PH0 = +9.999797400180382433987e-01 */ - .quad 0x3F053E71416C43CA /* P1 = +4.051955345663706869871e-05 */ - .quad 0xBF053E550C7C8CC9 /* P2 = -4.051873253121394012080e-05 */ - .quad 0x3EFC52D0D90D4843 /* P3 = +2.701139380018752534477e-05 */ - .quad 0xBEEC523A6ADBE142 /* P4 = -1.350460237457883558350e-05 */ - .quad 0x3ED6A73E22D844B3 /* P5 = +5.400965660055565196396e-06 */ - .quad 0xBEBE31D10F23ACD0 /* P6 = -1.799738182979224868919e-06 */ - .quad 0x3EA13E14264DEAB2 /* P7 = +5.138663935333241981438e-07 */ - .quad 0xBE81385ABB98EDCC /* P8 = -1.282999997786486835638e-07 */ - .quad 0x3E5EB9164593E0B6 /* P9 = +2.861301981891537161158e-08 */ - .quad 0xBE387218CFE7772E /* P10 = -5.691705994073124478195e-09 */ - .quad 0xC017000000000000 /* B = -5.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C92530433F4C703 /* PL0 = +6.357512739163799046861e-17 */ - .quad 0x3FEFFFF05E8D3191 /* PH0 = +9.999925467214315633058e-01 */ - .quad 0x3EEF42DDFA52B575 /* P1 = +1.490650158538873335176e-05 */ - .quad 0xBEEF42CEB54212AA /* P2 = -1.490639048307961378200e-05 */ - .quad 0x3EE4D7201CBCB853 /* P3 = +9.937445518550804010127e-06 */ - .quad 0xBED4D6F764B66C37 /* P4 = -4.968574624976280456686e-06 */ - .quad 0x3EC0ABB806EBDE71 /* P5 = +1.987311456171617620608e-06 */ - .quad 0xBEA6399CF854F876 /* P6 = -6.623581475862682369330e-07 */ - .quad 0x3E8964B91728D7C9 /* P7 = +1.891959403186505598965e-07 */ - .quad 0xBE6961A0528444D6 /* P8 = -4.727645325404986954168e-08 */ - .quad 0x3E46AE3B0814EE00 /* P9 = +1.056147192151514779549e-08 */ - .quad 0xBE221B8194DACD16 /* P10 = -2.107984154277957626641e-09 */ - .quad 0xC019000000000000 /* B = -6.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7BB5622CE1A79E /* PL0 = +2.403331811901679167526e-17 */ - .quad 0x3FEFFFFA3FF22708 /* PH0 = +9.999972580855862602789e-01 */ - .quad 0x3ED7003552D53503 /* P1 = +5.483821309338170039906e-06 */ - .quad 0xBED7003130C1AB92 /* P2 = -5.483806273169366545037e-06 */ - .quad 0x3ECEAAE13B699C45 /* P3 = +3.655850800133043324271e-06 */ - .quad 0xBEBEAACB305F3D07 /* P4 = -1.827905351959291114416e-06 */ - .quad 0x3EA8887F5F9C87EF /* P5 = +7.311461438267648556646e-07 */ - .quad 0xBE905AD08DF8454F /* P6 = -2.437046884027860662692e-07 */ - .quad 0x3E72B068300B703F /* P7 = +6.962228483613086736676e-08 */ - .quad 0xBE52AF921A71C058 /* P8 = -1.740252888706390465423e-08 */ - .quad 0x3E30B53EAA35300D /* P9 = +3.890131469838137725119e-09 */ - .quad 0xBE0AB60CDAD7E22E /* P10 = -7.773963050435300060566e-10 */ - .quad 0xC01B000000000000 /* B = -6.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8BD1ACF80D7256 /* PL0 = +4.825835138930451121169e-17 */ - .quad 0x3FEFFFFDE2760A41 /* PH0 = +9.999989913051835488389e-01 */ - .quad 0x3EC0EC4F1EC27E55 /* P1 = +2.017388615341105998718e-06 */ - .quad 0xBEC0EC4E005E6EAC /* P2 = -2.017386580411626200507e-06 */ - .quad 0x3EB6906504BC4610 /* P3 = +1.344921673533307001969e-06 */ - .quad 0xBEA6905F0D52C8B5 /* P4 = -6.724581235377781360384e-07 */ - .quad 0x3E920D0F5CCE152B /* P5 = +2.689810941136721216499e-07 */ - .quad 0xBE7811505B10E753 /* P6 = -8.965891741619763761543e-08 */ - .quad 0x3E5B811EE4F9B8EE /* P7 = +2.561544781706659619288e-08 */ - .quad 0xBE3B80ABC067E840 /* P8 = -6.403452884688571158579e-09 */ - .quad 0x3E1898E394E09335 /* P9 = +1.431746793613569087489e-09 */ - .quad 0xBDF3ABB5BA711DB7 /* P10 = -2.862469657501951918569e-10 */ - .quad 0xC01D000000000000 /* B = -7.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8AE01DB39A3791 /* PL0 = +4.662147961093911873193e-17 */ - .quad 0x3FEFFFFF38C76668 /* PH0 = +9.999996289217962797125e-01 */ - .quad 0x3EA8E712E56E1188 /* P1 = +7.421562696484951529573e-07 */ - .quad 0xBEA8E7124A650791 /* P2 = -7.421559942504648535596e-07 */ - .quad 0x3EA09A0B62D8EF94 /* P3 = +4.947702955735978541097e-07 */ - .quad 0xBE909A09C56C2107 /* P4 = -2.473847805916120382218e-07 */ - .quad 0x3E7A900A90A54A6E /* P5 = +9.895362410487317236618e-08 */ - .quad 0xBE61B5557BB449B6 /* P6 = -3.298434544432568302770e-08 */ - .quad 0x3E443CC74732CDCA /* P7 = +9.423781066565733462466e-09 */ - .quad 0xBE243CA8AA8D6E54 /* P8 = -2.355890888986360997159e-09 */ - .quad 0x3E0219C341E0D1B4 /* P9 = +5.267978308406275552691e-10 */ - .quad 0xBDDCF49A10950F13 /* P10 = -1.053394074620716018815e-10 */ - .quad 0xC01F000000000000 /* B = -7.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C75CB18F3775414 /* PL0 = +1.890271747518592444083e-17 */ - .quad 0x3FEFFFFFD38C39F0 /* PH0 = +9.999999172012490333827e-01 */ - .quad 0x3E8639E2F89493BB /* P1 = +1.655974950855472979393e-07 */ - .quad 0xBE8639E2D9B29562 /* P2 = -1.655974813708346974914e-07 */ - .quad 0x3E7DA2836A1F706E /* P3 = +1.103982989742589616541e-07 */ - .quad 0xBE6DA282C6733DAE /* P4 = -5.519913131581509871840e-08 */ - .quad 0x3E57B53A278851FD /* P5 = +2.207971980430773309147e-08 */ - .quad 0xBE3F9C4A72536E22 /* P6 = -7.359895614149337484810e-09 */ - .quad 0x3E220E81FBE19CDD /* P7 = +2.102073153607135257714e-09 */ - .quad 0xBE020E8875ADA8D8 /* P8 = -5.255211642212584097407e-10 */ - .quad 0x3DE07634328384FC /* P9 = +1.197748786062966341989e-10 */ - .quad 0xBDBA54078E3C351F /* P10 = -2.394539505021488953905e-11 */ - .quad 0xC021000000000000 /* B = -8.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C98B78738B0EDEF /* PL0 = +8.575399788039081964921e-17 */ - .quad 0x3FEFFFFFF9FBEA40 /* PH0 = +9.999999887944071019774e-01 */ - .quad 0x3E581056FAC28C46 /* P1 = +2.241118550516412682327e-08 */ - .quad 0xBE581056F63A4351 /* P2 = -2.241118525356742542550e-08 */ - .quad 0x3E500AE49533790A /* P3 = +1.494078933911655875521e-08 */ - .quad 0xBE400AE489ACBA90 /* P4 = -7.470394349637968945652e-09 */ - .quad 0x3E29AB0D59A1967B /* P5 = +2.988168557255271725494e-09 */ - .quad 0xBE111CB32D6EEF2B /* P6 = -9.960558400070350772418e-10 */ - .quad 0x3DF38CBADF396908 /* P7 = +2.844859618921805216353e-10 */ - .quad 0xBDD38CC7B92CECD3 /* P8 = -7.112220386749926320915e-11 */ - .quad 0x3DB1D2BBE2705032 /* P9 = +1.621008722427575444686e-11 */ - .quad 0xBD8C8199294E6380 /* P10 = -3.240784656869469020111e-12 */ - .quad 0xC023000000000000 /* B = -9.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8EEEC16618B984 /* PL0 = +5.365957423487855307906e-17 */ - .quad 0x3FEFFFFFFF2F9279 /* PH0 = +9.999999984834878619111e-01 */ - .quad 0x3E2A0DB0D052B148 /* P1 = +3.033024167396880687734e-09 */ - .quad 0xBE2A0DB0CFA6AB71 /* P2 = -3.033024162734192808028e-09 */ - .quad 0x3E215E75D53A3105 /* P3 = +2.022016035353114070618e-09 */ - .quad 0xBE115E75D40AA47F /* P4 = -1.011008013562702155050e-09 */ - .quad 0x3DFBCA5CDC12ED1C /* P5 = +4.044047007631481841556e-10 */ - .quad 0xBDE286E85704FC22 /* P6 = -1.348015410318274576187e-10 */ - .quad 0x3DC52A8925354517 /* P7 = +3.850101197145027796396e-11 */ - .quad 0xBDA52A97EA3F5F4A /* P8 = -9.625355478142550638468e-12 */ - .quad 0x3D834C011A2AC0F7 /* P9 = +2.193802608697321032841e-12 */ - .quad 0xBD5EDD05BDCB3A62 /* P10 = -4.385948508419928563300e-13 */ - .quad 0xC025000000000000 /* B = -10.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6BD8B474BBF792 /* PL0 = +1.207649585364892639612e-17 */ - .quad 0x3FEFFFFFFFE3CAD8 /* PH0 = +9.999999997947623953110e-01 */ - .quad 0x3DFC3527E43C565F /* P1 = +4.104751852963940338559e-10 */ - .quad 0xBDFC3527E420F415 /* P2 = -4.104751852036136216697e-10 */ - .quad 0x3DF2CE1A8D806DAD /* P3 = +2.736501142887952919489e-10 */ - .quad 0xBDE2CE1A8DDF690A /* P4 = -1.368250573053032426141e-10 */ - .quad 0x3DCE169832D8BD68 /* P5 = +5.473022586854025789680e-11 */ - .quad 0xBDB40F0FE853DA5B /* P6 = -1.824340550195944358477e-11 */ - .quad 0x3D96EA8D930D31A1 /* P7 = +5.210545794901128943676e-12 */ - .quad 0xBD76EA9DB0D09839 /* P8 = -1.302650427355019556441e-12 */ - .quad 0x3D54E474FD4303A1 /* P9 = +2.968990047962355000258e-13 */ - .quad 0xBD30B526CA2B228A /* P10 = -5.935740124899435401321e-14 */ - .quad 0xC027000000000000 /* B = -11.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C56E8953D525FD5 /* PL0 = +4.967494994909661698725e-18 */ - .quad 0x3FEFFFFFFFFC2EB9 /* PH0 = +9.999999999722241073030e-01 */ - .quad 0x3DCE8A37A48016C2 /* P1 = +5.555177547354687971427e-11 */ - .quad 0xBDCE8A37A479B7D4 /* P2 = -5.555177547084873157964e-11 */ - .quad 0x3DC45C250CFA9C16 /* P3 = +3.703451575129414499553e-11 */ - .quad 0xBDB45C250D9F8467 /* P4 = -1.851725791056759260154e-11 */ - .quad 0x3DA049BB33CBD4E9 /* P5 = +7.406930640558963265190e-12 */ - .quad 0xBD85B7A407C422C1 /* P6 = -2.468976464832073512208e-12 */ - .quad 0x3D68CF9CED2B3FD5 /* P7 = +7.051706989348171774536e-13 */ - .quad 0xBD48CFAE64C352B3 /* P8 = -1.762945685274427023683e-13 */ - .quad 0x3D269EAE08690D52 /* P9 = +4.018091287355461204663e-14 */ - .quad 0xBD0216CBEAFFF5AA /* P10 = -8.033151495672990022322e-15 */ - .quad 0xC029000000000000 /* B = -12.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8ACF1392B106D3 /* PL0 = +4.650601502940921454330e-17 */ - .quad 0x3FEFFFFFFFFF7BBD /* PH0 = +9.999999999962408958609e-01 */ - .quad 0x3DA088529889B316 /* P1 = +7.518115268189742464885e-12 */ - .quad 0xBDA088529887F4C4 /* P2 = -7.518115268005149164680e-12 */ - .quad 0x3D960B18BF1DF711 /* P3 = +5.012076679213679703380e-12 */ - .quad 0xBD860B18BFD99A48 /* P4 = -2.506038344573564868987e-12 */ - .quad 0x3D71A27E7CA64143 /* P5 = +1.002419056539285288454e-12 */ - .quad 0xBD5783530EA76D91 /* P6 = -3.341396294294381580191e-13 */ - .quad 0x3D3ADCC75CBD2A03 /* P7 = +9.543447641637910477850e-14 */ - .quad 0xBD1ADCDA46BE5F17 /* P8 = -2.385887543769010971872e-14 */ - .quad 0x3CF87D77650BE5B8 /* P9 = +5.437895260471143131391e-15 */ - .quad 0xBCD395AE6E74C6D2 /* P10 = -1.087168847335561258239e-15 */ - .quad 0xC02B000000000000 /* B = -13.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C97A8A295292858 /* PL0 = +8.208271151146829171896e-17 */ - .quad 0x3FEFFFFFFFFFEE19 /* PH0 = +9.999999999994911847878e-01 */ - .quad 0x3D71E642BB008F95 /* P1 = +1.017466259229268282255e-12 */ - .quad 0xBD71E642BAFEEC54 /* P2 = -1.017466259207593392022e-12 */ - .quad 0x3D67DDAE41647741 /* P3 = +6.783108169938233581038e-13 */ - .quad 0xBD57DDAE4230F34B /* P4 = -3.391554091734942426856e-13 */ - .quad 0x3D4317C33FAE2536 /* P5 = +1.356626669455791324801e-13 */ - .quad 0xBD2975040D3E26B9 /* P6 = -4.522088139411435138867e-14 */ - .quad 0x3D0D155DCD0F0AFB /* P7 = +1.291565189902030307333e-14 */ - .quad 0xBCED157247832B20 /* P8 = -3.228947666403019234175e-15 */ - .quad 0x3CCA83D70F607C28 /* P9 = +7.359390959466796619024e-16 */ - .quad 0xBCA5343952C1E19E /* P10 = -1.471323041436694087188e-16 */ - .quad 0xC02D000000000000 /* B = -14.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9B7876CBC5306E /* PL0 = +9.530765996816607711732e-17 */ - .quad 0x3FEFFFFFFFFFFD93 /* PH0 = +9.999999999999310551502e-01 */ - .quad 0x3D436121E2640D76 /* P1 = +1.376990843765503869546e-13 */ - .quad 0xBD436121E26250EA /* P2 = -1.376990843736775811281e-13 */ - .quad 0x3D39D6D7CA259186 /* P3 = +9.179938654047876451320e-14 */ - .quad 0xBD29D6D7CB0327CE /* P4 = -4.589969336188563660531e-14 */ - .quad 0x3D14ABE4DC31244A /* P5 = +1.835994545584345768382e-14 */ - .quad 0xBCFB8FDB82AB6BB7 /* P6 = -6.119980791767901275443e-15 */ - .quad 0x3CDF7CF757491B60 /* P7 = +1.747943407988343076526e-15 */ - .quad 0xBCBF7D0D833640FB /* P8 = -4.369905470133249448357e-16 */ - .quad 0x3C9CB512F6BDC754 /* P9 = +9.959852600692493655511e-17 */ - .quad 0xBC76F50AB1B0E9BA /* P10 = -1.991219205936492089091e-17 */ - .quad 0xC02F000000000000 /* B = -15.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6FFE15D5F78543 /* PL0 = +1.387454417328248962819e-17 */ - .quad 0x3FEFFFFFFFFFFFE1 /* PH0 = +9.999999999999965583086e-01 */ - .quad 0x3CFEE00288B99C26 /* P1 = +6.855635762864742358597e-15 */ - .quad 0xBCFEE0027D060EE2 /* P2 = -6.855635607998342735403e-15 */ - .quad 0x3CF4954AA23148A2 /* P3 = +4.570381865813341696777e-15 */ - .quad 0xBCE4954B5DAD3010 /* P4 = -2.285192173571711474199e-15 */ - .quad 0x3CD07883DD8793BD /* P5 = +9.143109661358222028007e-16 */ - .quad 0xBCB5F5F4BB87ADCF /* P6 = -3.047668447080103869032e-16 */ - .quad 0x3C98F1A905097685 /* P7 = +8.654183371862458774513e-17 */ - .quad 0xBC78F2D585007222 /* P8 = -2.163943551222030413627e-17 */ - .quad 0x3C58A37CC5082B5F /* P9 = +5.342649626494471588064e-18 */ - .quad 0xBC33AE7917F94D17 /* P10 = -1.066938163384541013918e-18 */ - .quad 0xC031000000000000 /* B = -17 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C91BF1D80474F0F /* PL0 = +6.157069264461989135096e-17 */ - .quad 0x3FEFFFFFFFFFFFFE /* PH0 = +9.999999999999997779554e-01 */ - .quad 0x3CB72071400E6275 /* P1 = +3.209478247225075961360e-16 */ - .quad 0xBCB72071400A9F37 /* P2 = -3.209478247103497434502e-16 */ - .quad 0x3CAED5EC39A77629 /* P3 = +2.139652050028423711308e-16 */ - .quad 0xBC9ED5EC3B530600 /* P4 = -1.069826028468029104719e-16 */ - .quad 0x3C88AB2BFED159DE /* P5 = +4.279326904335078988705e-17 */ - .quad 0xBC70721D1220B3FC /* P6 = -1.426441958074916244382e-17 */ - .quad 0x3C52C96049721FB8 /* P7 = +4.073700029965821523731e-18 */ - .quad 0xBC32C971215735DC /* P8 = -1.018438939975201710113e-18 */ - .quad 0x3C112EF658AB41A9 /* P9 = +2.328791246104218830028e-19 */ - .quad 0xBBEB7B598C6AD3DE /* P10 = -4.655603964908654142787e-20 */ - .quad 0xC03287E0C98F84E5 /* B = -18.530774 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ - .quad 0x3FF0000000000000 /* PH0 = +1.000000000000000000000e+00 */ - .quad 0x0000000000000000 /* P1 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P2 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P3 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P4 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P5 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P6 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P7 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P8 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P9 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P10 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* B = +0 */ - .quad 0x0000000000000000 /* A = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .align 16 - .quad 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */ - .align 16 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */ - .align 16 - .long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */ - .align 16 - .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */ - .align 16 - .long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */ - .align 16 - .long 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */ - .align 16 - .type __svml_dtanh_data_internal,@object - .size __svml_dtanh_data_internal,.-__svml_dtanh_data_internal + /* Polynomial coefficients */ + .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* PH0 = +0.000000000000000000000e-01 */ + .quad 0x3FF0000000000000 /* P1 = +1.000000000000000014103e+00 */ + .quad 0xBD197DEAD79668D3 /* P2 = -2.264132406596103056796e-14 */ + .quad 0xBFD555555553AF3C /* P3 = -3.333333333273349741024e-01 */ + .quad 0xBE052F7CCA134846 /* P4 = -6.165791385711493738399e-10 */ + .quad 0x3FC11111563849D6 /* P5 = +1.333333655353061107201e-01 */ + .quad 0xBEB038623673FFB2 /* P6 = -9.668021563879858950855e-07 */ + .quad 0xBFAB9F685E64022E /* P7 = -5.395055916051593179252e-02 */ + .quad 0xBF2A54E2B28F2207 /* P8 = -2.008940439550829012647e-04 */ + .quad 0x3F97CFB9328A230E /* P9 = +2.325333949059698582189e-02 */ + .quad 0xBF75CA6D61723E02 /* P10 = -5.320002811586290441790e-03 */ + .quad 0x0000000000000000 /* B = +0 */ + .quad 0x3FF0000000000000 /* A = +1.0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C3708A564FAD29A /* PL0 = +1.248663375337163807466e-18 */ + .quad 0x3FC0E6973998DA48 /* PH0 = +1.320370703922029154143e-01 */ + .quad 0x3FEF712EB25C0888 /* P1 = +9.825662120422444519229e-01 */ + .quad 0xBFC09B296F7C1EA9 /* P2 = -1.297351641044220078331e-01 */ + .quad 0xBFD3DD77541EDDA7 /* P3 = -3.103922196855485849143e-01 */ + .quad 0x3FB58FFCF4309615 /* P4 = +8.422833406128689275566e-02 */ + .quad 0x3FBD3ABE845DCF49 /* P5 = +1.141776154670967208833e-01 */ + .quad 0xBFA791DF538C37FA /* P6 = -4.603479285115947936529e-02 */ + .quad 0xBFA4F872F69CD6E8 /* P7 = -4.095801601799370195284e-02 */ + .quad 0x3F9772E49EF6412B /* P8 = +2.289921970583567527179e-02 */ + .quad 0x3F8CBC0807393909 /* P9 = +1.403051635784581776625e-02 */ + .quad 0xBF85F06A30F93319 /* P10 = -1.071246110873285040939e-02 */ + .quad 0xBFC1000000000000 /* B = -.132813 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6004EE5739DEAC /* PL0 = +6.947247374112211856530e-18 */ + .quad 0x3FC2DC968E6E0D62 /* PH0 = +1.473568149050193398786e-01 */ + .quad 0x3FEF4E1E606D96DF /* P1 = +9.782859691010478680677e-01 */ + .quad 0xBFC273BD70994AB9 /* P2 = -1.441571044730005866646e-01 */ + .quad 0xBFD382B548270D2C /* P3 = -3.048527912726111386771e-01 */ + .quad 0x3FB7CD2D582A6B29 /* P4 = +9.297450449450351894400e-02 */ + .quad 0x3FBC1278CCCBF0DB /* P5 = +1.096568584434324642303e-01 */ + .quad 0xBFA9C7F5115B86A1 /* P6 = -5.035367810138536095866e-02 */ + .quad 0xBFA371C21BAF618E /* P7 = -3.797728145554222910481e-02 */ + .quad 0x3F9958943F68417E /* P8 = +2.475196492201935923783e-02 */ + .quad 0x3F8930D5CFFD4152 /* P9 = +1.230017701132682667572e-02 */ + .quad 0xBF875CF7ADD31B76 /* P10 = -1.140779017658897660092e-02 */ + .quad 0xBFC3000000000000 /* B = -.148438 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7EABE24E052A1F /* PL0 = +2.660321779421749543501e-17 */ + .quad 0x3FC4D04783618C71 /* PH0 = +1.626061812886266111366e-01 */ + .quad 0x3FEF2765AF97A4B3 /* P1 = +9.735592298067302883212e-01 */ + .quad 0xBFC443654205FEA5 /* P2 = -1.583067486171689074207e-01 */ + .quad 0xBFD31F2E208A5B97 /* P3 = -2.987780874040536844467e-01 */ + .quad 0x3FB9F235BD339878 /* P4 = +1.013520800512156573576e-01 */ + .quad 0x3FBAD0B0DFCCA141 /* P5 = +1.047468706498238100104e-01 */ + .quad 0xBFABD1B9600E608E /* P6 = -5.433444306908184548967e-02 */ + .quad 0xBFA1CEBEAF07DB58 /* P7 = -3.478046309094534453598e-02 */ + .quad 0x3F9AFC9FB1D8EFD2 /* P8 = +2.635430834764902126383e-02 */ + .quad 0x3F8573444F1AB502 /* P9 = +1.047376028449287564018e-02 */ + .quad 0xBF8874FBC8F24406 /* P10 = -1.194187838544459322219e-02 */ + .quad 0xBFC5000000000000 /* B = -.164063 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7FB199D361A790 /* PL0 = +2.748994907060158996213e-17 */ + .quad 0x3FC6C170259E21F7 /* PH0 = +1.777782615356639783766e-01 */ + .quad 0x3FEEFD17479F7C65 /* P1 = +9.683948897253570478266e-01 */ + .quad 0xBFC609530FE4DF8D /* P2 = -1.721595599753950294577e-01 */ + .quad 0xBFD2B3465D71B4DE /* P3 = -2.921920692959484052676e-01 */ + .quad 0x3FBBFD2D34AC509B /* P4 = +1.093319181057403192166e-01 */ + .quad 0x3FB9778C3C16A0FE /* P5 = +9.948040453912551395183e-02 */ + .quad 0xBFADAC4D9E63C665 /* P6 = -5.795519407719210697372e-02 */ + .quad 0xBFA0139CCAD02D60 /* P7 = -3.139963126894929339124e-02 */ + .quad 0x3F9C5BF43BA6F19D /* P8 = +2.769452680671379432854e-02 */ + .quad 0x3F8190B703350341 /* P9 = +8.576803002712575184772e-03 */ + .quad 0xBF8936606782858A /* P10 = -1.231074634444230850234e-02 */ + .quad 0xBFC7000000000000 /* B = -.179688 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6A917CA3624D50 /* PL0 = +1.152216693509785660691e-17 */ + .quad 0x3FC8AFD7B974FABB /* PH0 = +1.928662925292508878439e-01 */ + .quad 0x3FEECF47624A5D03 /* P1 = +9.628025932060214187231e-01 */ + .quad 0xBFC7C4C2CB4FDE4D /* P2 = -1.856921665891938814679e-01 */ + .quad 0xBFD23F69CB2C1F9D /* P3 = -2.851204380135586155453e-01 */ + .quad 0x3FBDEC5703A03814 /* P4 = +1.168875106670557712458e-01 */ + .quad 0x3FB8095003D0CF15 /* P5 = +9.389209836154706616487e-02 */ + .quad 0xBFAF554B47B10CBB /* P6 = -6.119761705533607365968e-02 */ + .quad 0xBF9C89743FE7BC1B /* P7 = -2.786809577986213853937e-02 */ + .quad 0x3F9D74725B746E7C /* P8 = +2.876452143855921824991e-02 */ + .quad 0x3F7B2D8AFB70B88C /* P9 = +6.635229968237631511880e-03 */ + .quad 0xBF89A0A2883EF6CB /* P10 = -1.251341799058582545252e-02 */ + .quad 0xBFC9000000000000 /* B = -.195313 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7608279E8609CB /* PL0 = +1.910958764623660748269e-17 */ + .quad 0x3FCA9B46D2DDC5E3 /* PH0 = +2.078636674519166172015e-01 */ + .quad 0x3FEE9E0BB72A01A1 /* P1 = +9.567926957534390123919e-01 */ + .quad 0xBFC974FAD10C5330 /* P2 = -1.988824387305156976885e-01 */ + .quad 0xBFD1C40ACCBA4044 /* P3 = -2.775904654781735703430e-01 */ + .quad 0x3FBFBE24E2987853 /* P4 = +1.239951184474830487522e-01 */ + .quad 0x3FB6885B4345E47F /* P5 = +8.801813499839460539687e-02 */ + .quad 0xBFB06563D5670584 /* P6 = -6.404708824176991770896e-02 */ + .quad 0xBF98CD1D620DF6E2 /* P7 = -2.421995078065365147772e-02 */ + .quad 0x3F9E44EF3E844D21 /* P8 = +2.955983943054463683119e-02 */ + .quad 0x3F7325FA0148CAAE /* P9 = +4.674889165971292322643e-03 */ + .quad 0xBF89B4C8556C2D92 /* P10 = -1.255184660614964011319e-02 */ + .quad 0xBFCB000000000000 /* B = -.210938 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6F19DAA20F51D5 /* PL0 = +1.348790537832000351176e-17 */ + .quad 0x3FCC83876CA98E15 /* PH0 = +2.227639465883021474557e-01 */ + .quad 0x3FEE697B662D07CD /* P1 = +9.503762241004040620296e-01 */ + .quad 0xBFCB194C7ED76ACF /* P2 = -2.117095584242946953999e-01 */ + .quad 0xBFD141A19E419762 /* P3 = -2.696308179350720680191e-01 */ + .quad 0x3FC0B89C64BC7B98 /* P4 = +1.306338779331468503007e-01 */ + .quad 0x3FB4F721150BBFC5 /* P5 = +8.189589275184434216748e-02 */ + .quad 0xBFB105AAFAB87898 /* P6 = -6.649273511036069461061e-02 */ + .quad 0xBF94FB3B31248C01 /* P7 = -2.048962104266749732921e-02 */ + .quad 0x3F9ECD31E588709C /* P8 = +3.007963145692880855964e-02 */ + .quad 0x3F664A91A335C105 /* P9 = +2.721104095762541127495e-03 */ + .quad 0xBF89754E32E1E26E /* P10 = -1.243077366619723806134e-02 */ + .quad 0xBFCD000000000000 /* B = -.226563 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6AC6C889D8111D /* PL0 = +1.161245469312620769170e-17 */ + .quad 0x3FCE6864FE55A3D0 /* PH0 = +2.375608674877001114112e-01 */ + .quad 0x3FEE31AEE116B82B /* P1 = +9.435648342384913826391e-01 */ + .quad 0xBFCCB114B69E808B /* P2 = -2.241540805525839833707e-01 */ + .quad 0xBFD0B8AB913BA99D /* P3 = -2.612713735858507980441e-01 */ + .quad 0x3FC1823322BED48A /* P4 = +1.367858810096190233514e-01 */ + .quad 0x3FB35822B7929893 /* P5 = +7.556359273675842651653e-02 */ + .quad 0xBFB18B03CC78D2DA /* P6 = -6.852744810096158580830e-02 */ + .quad 0xBF911CCC3C8D5E5D /* P7 = -1.671141738492420009734e-02 */ + .quad 0x3F9F0DEC2D99B12F /* P8 = +3.032654789278515819797e-02 */ + .quad 0x3F4A28398B4EBD98 /* P9 = +7.982521989244205404918e-04 */ + .quad 0xBF88E60CB2FAB9A4 /* P10 = -1.215753480150000985458e-02 */ + .quad 0xBFCF000000000000 /* B = -.242188 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C89D2B6774FB61D /* PL0 = +4.479593208720169247958e-17 */ + .quad 0x3FD09C744F539BE4 /* PH0 = +2.595492148088267558848e-01 */ + .quad 0x3FEDD823B0400D42 /* P1 = +9.326342050921214825882e-01 */ + .quad 0xBFCEFBF7FF305FCC /* P2 = -2.420644756355144687086e-01 */ + .quad 0xBFCFC01DC4F24A41 /* P3 = -2.480504237797323303990e-01 */ + .quad 0x3FC291A2C26D5548 /* P4 = +1.450694512701977626753e-01 */ + .quad 0x3FB0D562E672D188 /* P5 = +6.575601698097532991976e-02 */ + .quad 0xBFB2201ECC119E06 /* P6 = -7.080261690281738261872e-02 */ + .quad 0xBF8695D50F778D31 /* P7 = -1.102796987010509974642e-02 */ + .quad 0x3F9EEC8CFBC031A0 /* P8 = +3.019924437107734972427e-02 */ + .quad 0xBF6030F0A4D3660A /* P9 = -1.976461417694923328722e-03 */ + .quad 0xBF87845288A4AEF5 /* P10 = -1.148285369398347838494e-02 */ + .quad 0xBFD1000000000000 /* B = -.265625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8B6AAB614D1C8D /* PL0 = +4.756035418366735312727e-17 */ + .quad 0x3FD275F7E1CF7F63 /* PH0 = +2.884502129727392616410e-01 */ + .quad 0x3FED56658F74C9CC /* P1 = +9.167964746359813351341e-01 */ + .quad 0xBFD0ECC045EBD596 /* P2 = -2.644501383614054083635e-01 */ + .quad 0xBFCD5A4BDE179180 /* P3 = -2.293181261476426808811e-01 */ + .quad 0x3FC3C00047D34767 /* P4 = +1.542969084462655120552e-01 */ + .quad 0x3FAAC7CE84FD609F /* P5 = +5.230565427217581251974e-02 */ + .quad 0xBFB288948D2E8B43 /* P6 = -7.239654967137902384931e-02 */ + .quad 0xBF6D6605AAD5A1C0 /* P7 = -3.588687008847041164896e-03 */ + .quad 0x3F9DDB0790848E97 /* P8 = +2.915584392134337382866e-02 */ + .quad 0xBF75FDE291BAD5B4 /* P9 = -5.369076763306269573660e-03 */ + .quad 0xBF84CEA5C52E0A78 /* P10 = -1.015977390284671071888e-02 */ + .quad 0xBFD3000000000000 /* B = -.296875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7139A81C8A6ECF /* PL0 = +1.494049799478574591322e-17 */ + .quad 0x3FD4470650036407 /* PH0 = +3.168350011233659890841e-01 */ + .quad 0x3FECC9A69DFDDD48 /* P1 = +8.996155820631566629678e-01 */ + .quad 0xBFD23DED3A37A09F /* P2 = -2.850297039535778028925e-01 */ + .quad 0xBFCAD302395D51C1 /* P3 = -2.095644741153943890185e-01 */ + .quad 0x3FC4A8FE3F309C22 /* P4 = +1.614072617096278705115e-01 */ + .quad 0x3FA3D161188AA436 /* P5 = +3.870681213931741151586e-02 */ + .quad 0xBFB288CFE5494E98 /* P6 = -7.240008685885823969403e-02 */ + .quad 0x3F6C7903EED8D334 /* P7 = +3.475673371918475361081e-03 */ + .quad 0x3F9BE023CDFB02F6 /* P8 = +2.722221321778569498033e-02 */ + .quad 0xBF80F8296F2C3A95 /* P9 = -8.285831170295390358336e-03 */ + .quad 0xBF8152DF4790049B /* P10 = -8.458847400108650973189e-03 */ + .quad 0xBFD5000000000000 /* B = -.328125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7751FE0FEE8335 /* PL0 = +2.022712113430213599928e-17 */ + .quad 0x3FD60EF7120502A9 /* PH0 = +3.446633983585721261456e-01 */ + .quad 0x3FEC32D951E56E6F /* P1 = +8.812071418319202070776e-01 */ + .quad 0xBFD370255FC004F8 /* P2 = -3.037198481616338996824e-01 */ + .quad 0xBFC832F0EBC6BB41 /* P3 = -1.890545989276351359107e-01 */ + .quad 0x3FC54C99A0FF432F /* P4 = +1.664001499289269127540e-01 */ + .quad 0x3F99DAC0CC283C18 /* P5 = +2.524853941036661688369e-02 */ + .quad 0xBFB227B3896A026D /* P6 = -7.091829399906553280461e-02 */ + .quad 0x3F84663364E1FB19 /* P7 = +9.960557476231411602383e-03 */ + .quad 0x3F9922D70DE07C57 /* P8 = +2.454696676442965935283e-02 */ + .quad 0xBF85C4A4EB6F86BC /* P9 = -1.062897532932837635222e-02 */ + .quad 0xBF7AAB61214FFE17 /* P10 = -6.511096396024671890972e-03 */ + .quad 0xBFD7000000000000 /* B = -.359375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3BFE67F266843B2C /* PL0 = +1.030196791298162288777e-19 */ + .quad 0x3FD7CD3115FC0F16 /* PH0 = +3.718989100163850869407e-01 */ + .quad 0x3FEB92F96CCC2C5B /* P1 = +8.616912007286247079761e-01 */ + .quad 0xBFD4827320135092 /* P2 = -3.204620183216856200247e-01 */ + .quad 0xBFC582B15550168A /* P3 = -1.680509249273891977521e-01 */ + .quad 0x3FC5AC3B9A2E4C31 /* P4 = +1.693186285816366254244e-01 */ + .quad 0x3F88FA599FCADAFB /* P5 = +1.219625491044728129762e-02 */ + .quad 0xBFB16EC8F5CA169E /* P6 = -6.809669495313605642174e-02 */ + .quad 0x3F90140EFC748BBE /* P7 = +1.570151725639922719844e-02 */ + .quad 0x3F95CFC49C1A28DC /* P8 = +2.130038454792147768770e-02 */ + .quad 0xBF8946ED8B1BF454 /* P9 = -1.234231549050882816697e-02 */ + .quad 0xBF7239E55C1DD50F /* P10 = -4.449745117985472755606e-03 */ + .quad 0xBFD9000000000000 /* B = -.390625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6412330191189C /* PL0 = +8.704448096175471149661e-18 */ + .quad 0x3FD9812B3B03F0A5 /* PH0 = +3.985088421175169703936e-01 */ + .quad 0x3FEAEB08C3C0E84D /* P1 = +8.411907027541559254748e-01 */ + .quad 0xBFD57446B1BC46CF /* P2 = -3.352219329545790787820e-01 */ + .quad 0xBFC2CA9ABC0444AD /* P3 = -1.468079965639267634401e-01 */ + .quad 0x3FC5CA95F9460D18 /* P4 = +1.702449290424759093710e-01 */ + .quad 0xBF2C2DAA35DD05C3 /* P5 = -2.149839664813813012186e-04 */ + .quad 0xBFB069A516EEB75D /* P6 = -6.411201295733578195472e-02 */ + .quad 0x3F9512716416FDC7 /* P7 = +2.057816670798986720058e-02 */ + .quad 0x3F921630CB1319A3 /* P8 = +1.766277541607908852593e-02 */ + .quad 0xBF8B76DA2EC99526 /* P9 = -1.341028647693549562145e-02 */ + .quad 0xBF63A97474A161E4 /* P10 = -2.400138332671485493040e-03 */ + .quad 0xBFDB000000000000 /* B = -.421875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C89B79F5783381C /* PL0 = +4.461236087774530799537e-17 */ + .quad 0x3FDB2A6C993B829D /* PH0 = +4.244643684778937609003e-01 */ + .quad 0x3FEA3C0C1FBA328C /* P1 = +8.198299998926627915155e-01 */ + .quad 0xBFD6457212F78DE0 /* P2 = -3.479886231636708581604e-01 */ + .quad 0xBFC0129BDA380A66 /* P3 = -1.255678954622282824818e-01 */ + .quad 0x3FC5AB77F388FBDE /* P4 = +1.692953051696965507089e-01 */ + .quad 0xBF8822F3A6CADB7C /* P5 = -1.178541519889874597783e-02 */ + .quad 0xBFAE4A876370A4BD /* P6 = -5.916236008517603590739e-02 */ + .quad 0x3F991A89BC3B7710 /* P7 = +2.451529704455085335710e-02 */ + .quad 0x3F8C4A4328204D4B /* P8 = +1.381351915555364098800e-02 */ + .quad 0xBF8C5F921D01EC0B /* P9 = -1.385416174911393178490e-02 */ + .quad 0xBF3EE844C5B79FB8 /* P10 = -4.716079617694784908234e-04 */ + .quad 0xBFDD000000000000 /* B = -.453125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C73FA437AD7AD87 /* PL0 = +1.732779905745858845932e-17 */ + .quad 0x3FDCC88C9902CF45 /* PH0 = +4.497405523536495697279e-01 */ + .quad 0x3FE9870845162D1D /* P1 = +7.977334355686341748810e-01 */ + .quad 0xBFD6F62358F73DA8 /* P2 = -3.587730759436120677668e-01 */ + .quad 0xBFBAC4345D675FE1 /* P3 = -1.045563438450467661101e-01 */ + .quad 0x3FC5539DA8287019 /* P4 = +1.666142531474868131862e-01 */ + .quad 0xBF96E3E0DC04A09F /* P5 = -2.235366194614185212822e-02 */ + .quad 0xBFAB5EC7147C207D /* P6 = -5.345747113284546871398e-02 */ + .quad 0x3F9C24166FFA7A58 /* P7 = +2.748141344511120915667e-02 */ + .quad 0x3F8451B907819844 /* P8 = +9.921498815128277696693e-03 */ + .quad 0xBF8C1C6D19191FCB /* P9 = -1.372609360545586670239e-02 */ + .quad 0x3F547372DF72E35A /* P10 = +1.248228245272117756098e-03 */ + .quad 0xBFDF000000000000 /* B = -.484375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C848FE06EE49950 /* PL0 = +3.566941590788961528958e-17 */ + .quad 0x3FDF20211A36475D /* PH0 = +4.863360172249622803697e-01 */ + .quad 0x3FE86E67E6B80AC2 /* P1 = +7.634772783497611574659e-01 */ + .quad 0xBFD7C37C55474D9B /* P2 = -3.713064987943767913461e-01 */ + .quad 0xBFB2EBF15F3CB036 /* P3 = -7.391270232318521952684e-02 */ + .quad 0x3FC4718C8EF6E3AA /* P4 = +1.597152422016539530950e-01 */ + .quad 0xBFA277F8394E9B07 /* P5 = -3.607154559658991932071e-02 */ + .quad 0xBFA680312AB207E3 /* P6 = -4.394677778419955009224e-02 */ + .quad 0x3F9EDC9A8B57E286 /* P7 = +3.013841128810892143223e-02 */ + .quad 0x3F71B8C5E648EAF6 /* P8 = +4.326603932492947851719e-03 */ + .quad 0xBF89DB218356730C /* P9 = -1.262499029217558458029e-02 */ + .quad 0x3F6B05728E6EBC8E /* P10 = +3.298496001171330815865e-03 */ + .quad 0xBFE1000000000000 /* B = -.53125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8429831EDD94DE /* PL0 = +3.497576705878673192147e-17 */ + .quad 0x3FE10AF47E0BF610 /* PH0 = +5.325872861719194162333e-01 */ + .quad 0x3FE6EC5879F87EEE /* P1 = +7.163507826080299761242e-01 */ + .quad 0xBFD86AD001BFE200 /* P2 = -3.815193192563413204129e-01 */ + .quad 0xBFA239045B661385 /* P3 = -3.559125533778398983564e-02 */ + .quad 0x3FC2B4572D9CC147 /* P4 = +1.461285565105845078038e-01 */ + .quad 0xBFA99F4F01740705 /* P5 = -5.004355328311586406115e-02 */ + .quad 0xBF9F449C484F4879 /* P6 = -3.053516570418721511214e-02 */ + .quad 0x3F9F5F42169D7DDE /* P7 = +3.063681853325116830798e-02 */ + .quad 0xBF6111B1BA632A97 /* P8 = -2.083632588527460989469e-03 */ + .quad 0xBF84725FBE5B6E61 /* P9 = -9.983776089419639342530e-03 */ + .quad 0x3F7438A2986CFA9C /* P10 = +4.936823976832951342488e-03 */ + .quad 0xBFE3000000000000 /* B = -.59375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6BE9160BFB3505 /* PL0 = +1.210424670976053242391e-17 */ + .quad 0x3FE26D76F73233C7 /* PH0 = +5.758623912857893101247e-01 */ + .quad 0x3FE56363B5B93937 /* P1 = +6.683825063026124740752e-01 */ + .quad 0xBFD8A2244B27297E /* P2 = -3.848963483730115724200e-01 */ + .quad 0xBF52CA2F101EEF63 /* P3 = -1.146837196286797844817e-03 */ + .quad 0x3FC081BC342243AD /* P4 = +1.289592032012739958675e-01 */ + .quad 0xBFAE38DB4A932344 /* P5 = -5.902753148399722719732e-02 */ + .quad 0xBF91F814D4AE90C6 /* P6 = -1.754791782481459457885e-02 */ + .quad 0x3F9D056AE193C4F3 /* P7 = +2.834097863973723355792e-02 */ + .quad 0xBF7BD0B502D8F3A0 /* P8 = -6.790835451792626336974e-03 */ + .quad 0xBF7B763F7BB8AE2F /* P9 = -6.704566938008179114124e-03 */ + .quad 0x3F76036F42D9AB69 /* P10 = +5.374369252971835729099e-03 */ + .quad 0xBFE5000000000000 /* B = -.65625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8B64AF0450486E /* PL0 = +4.751979286662385162741e-17 */ + .quad 0x3FE3B75F8BCB742D /* PH0 = +6.161344271055263499548e-01 */ + .quad 0x3FE3DA23BC12369F /* P1 = +6.203783677353447780947e-01 */ + .quad 0xBFD8768FF4B46416 /* P2 = -3.822364701932782367281e-01 */ + .quad 0x3F9D67CB8AD9CB1A /* P3 = +2.871625933625941117406e-02 */ + .quad 0x3FBC168CB7827DF4 /* P4 = +1.097190807363331305006e-01 */ + .quad 0xBFB03A2B83C9272E /* P5 = -6.338760344911228324430e-02 */ + .quad 0xBF789FEB595297DC /* P6 = -6.011885959344067548074e-03 */ + .quad 0x3F98BD01B4C335E7 /* P7 = +2.415850320612902513532e-02 */ + .quad 0xBF83BADC303D6535 /* P8 = -9.633751127398152979976e-03 */ + .quad 0xBF6C54E7A1C1E3F3 /* P9 = -3.458454519258407989501e-03 */ + .quad 0x3F7408394B7EF3E7 /* P10 = +4.890655334688332484537e-03 */ + .quad 0xBFE7000000000000 /* B = -.71875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6A48557F6E0D3E /* PL0 = +1.139824111505584215867e-17 */ + .quad 0x3FE4E8D895B010DC /* PH0 = +6.534235881413468227663e-01 */ + .quad 0x3FE25652FAAF8A73 /* P1 = +5.730376144604875448991e-01 */ + .quad 0xBFD7F6C3A57C444B /* P2 = -3.744362941807295084434e-01 */ + .quad 0x3FAB7866E3F99EBE /* P3 = +5.365296872042567001598e-02 */ + .quad 0x3FB6FA1DF47CCD40 /* P4 = +8.975398272450707099784e-02 */ + .quad 0xBFB05508D3741B8E /* P5 = -6.379752314033580026840e-02 */ + .quad 0x3F6C3EFDF7BB279C /* P6 = +3.448005705512137236209e-03 */ + .quad 0x3F9372BADD6D3E27 /* P7 = +1.899234749299530050806e-02 */ + .quad 0xBF860FD5AE65F3DA /* P8 = -1.077238977881649471165e-02 */ + .quad 0xBF47266FFB07E628 /* P9 = -7.064863949032872448118e-04 */ + .quad 0x3F6F9763992C2A05 /* P10 = +3.856367614735181120799e-03 */ + .quad 0xBFE9000000000000 /* B = -.78125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6BB6A2B194E3AB /* PL0 = +1.201878007209462528697e-17 */ + .quad 0x3FE602609AAE7C22 /* PH0 = +6.877902051090851731630e-01 */ + .quad 0x3FE0DCBAFE191C7F /* P1 = +5.269446337560025312137e-01 */ + .quad 0xBFD732028428A9FB /* P2 = -3.624273577321727538225e-01 */ + .quad 0x3FB2D92389BE065B /* P3 = +7.362577545975439796588e-02 */ + .quad 0x3FB1F6A9C8C49993 /* P4 = +7.017003203927733370937e-02 */ + .quad 0xBFAF47C0B50B56EE /* P5 = -6.109430513394707378526e-02 */ + .quad 0x3F85A8EDD1356223 /* P6 = +1.057611269668352068104e-02 */ + .quad 0x3F8BE05C5CD1B4FA /* P7 = +1.361152799855823798207e-02 */ + .quad 0xBF85A0EFE4552F76 /* P8 = -1.056086936537046752272e-02 */ + .quad 0x3F559F2A6A356194 /* P9 = +1.319686337259627831943e-03 */ + .quad 0x3F6576F5E989208D /* P10 = +2.620201394425042596201e-03 */ + .quad 0xBFEB000000000000 /* B = -.84375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C80328BD86C8B74 /* PL0 = +2.809809047161267929701e-17 */ + .quad 0x3FE704BB1B7FCB81 /* PH0 = +7.193275010198335595035e-01 */ + .quad 0x3FDEE264AAD6C40C /* P1 = +4.825679462765613089739e-01 */ + .quad 0xBFD637493CE659F1 /* P2 = -3.471243948673921548357e-01 */ + .quad 0x3FB6BE3A3DEE6F4A /* P3 = +8.884014141079635303208e-02 */ + .quad 0x3FAA85EB6470AC0F /* P4 = +5.180297471118688523488e-02 */ + .quad 0xBFACC0146EA4858D /* P5 = -5.615295267694895314457e-02 */ + .quad 0x3F8F8FB683CDDAC5 /* P6 = +1.541082944616557159055e-02 */ + .quad 0x3F819515DEE2CB91 /* P7 = +8.585139145315585602547e-03 */ + .quad 0xBF834E45E6AF9EA1 /* P8 = -9.426637747267209169415e-03 */ + .quad 0x3F65250F197CA56D /* P9 = +2.581147662472352252568e-03 */ + .quad 0x3F57A766026D036C /* P10 = +1.443719500187702367690e-03 */ + .quad 0xBFED000000000000 /* B = -.90625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C716F7EEF7B61AD /* PL0 = +1.512291215142578135651e-17 */ + .quad 0x3FE7F0E1A4CD846E /* PH0 = +7.481544703297353660076e-01 */ + .quad 0x3FDC2D4CC872DC09 /* P1 = +4.402648885256331012598e-01 */ + .quad 0xBFD514A99F92ED53 /* P2 = -3.293861444796750250530e-01 */ + .quad 0x3FB9846A6CF2F337 /* P3 = +9.967675361526749494844e-02 */ + .quad 0x3FA20896939AB161 /* P4 = +3.522177268800664413493e-02 */ + .quad 0xBFA97E801F31EE0D /* P5 = -4.979324703978358553405e-02 */ + .quad 0x3F92A11F47B82085 /* P6 = +1.819275737037219740638e-02 */ + .quad 0x3F717D70FE289C34 /* P7 = +4.270020845559097605514e-03 */ + .quad 0xBF7FDCF1D3F6CE2D /* P8 = -7.779068604054678540132e-03 */ + .quad 0x3F69F607E81AF6B6 /* P9 = +3.169074480722534625181e-03 */ + .quad 0x3F3F925C80D0F889 /* P10 = +4.817462766516585511824e-04 */ + .quad 0xBFEF000000000000 /* B = -.96875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C931A11D7E8606E /* PL0 = +6.627280241435322692188e-17 */ + .quad 0x3FE92BFB370D9B71 /* PH0 = +7.866188121086975515439e-01 */ + .quad 0x3FD866160E454111 /* P1 = +3.812308444367014680480e-01 */ + .quad 0xBFD33149F3801DBA /* P2 = -2.998833539899937679796e-01 */ + .quad 0x3FBBDB6D4C949899 /* P3 = +1.088169395412442909023e-01 */ + .quad 0x3F8D6AB2A74B9343 /* P4 = +1.436366627735597372494e-02 */ + .quad 0xBFA404D1047C5D72 /* P5 = -3.909924678571997970917e-02 */ + .quad 0x3F93C47D9ACCD919 /* P6 = +1.930423981976856424661e-02 */ + .quad 0xBF41B755642CFF1B /* P7 = -5.406538915408738478158e-04 */ + .quad 0xBF74B5301AA1E788 /* P8 = -5.055606752756853900641e-03 */ + .quad 0x3F69A84C5B2A3E68 /* P9 = +3.132008679422249529120e-03 */ + .quad 0xBF3CF47830328C11 /* P10 = -4.418176105877589308931e-04 */ + .quad 0xBFF1000000000000 /* B = -1.0625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C884D471B8FD396 /* PL0 = +4.215701792312937090514e-17 */ + .quad 0x3FEA8DBCBC31897A /* PH0 = +8.298019099859594849278e-01 */ + .quad 0x3FD3EE730537C8EA /* P1 = +3.114287901836535219818e-01 */ + .quad 0xBFD08A05AD27CE32 /* P2 = -2.584242049190123217982e-01 */ + .quad 0x3FBC5255406F84B6 /* P3 = +1.106313021005175045399e-01 */ + .quad 0xBF772FA2F633AA5E /* P4 = -5.660664147607434209241e-03 */ + .quad 0xBF99DD8E4C473FC4 /* P5 = -2.525923100057504533247e-02 */ + .quad 0x3F9183C935B6495D /* P6 = +1.710428610165003372069e-02 */ + .quad 0xBF70471A3A591480 /* P7 = -3.974058583087303228038e-03 */ + .quad 0xBF603DDD4DEBB9A4 /* P8 = -1.982624278176818987264e-03 */ + .quad 0x3F62591E44D3C17F /* P9 = +2.239760512218135956425e-03 */ + .quad 0xBF4C195D3A9B1AB4 /* P10 = -8.575158328419569430544e-04 */ + .quad 0xBFF3000000000000 /* B = -1.1875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C90DD1C9BFF7F64 /* PL0 = +5.850777430004479798187e-17 */ + .quad 0x3FEBAD50A4A68BC1 /* PH0 = +8.649066177207417327466e-01 */ + .quad 0x3FD01FBA72CEE1A5 /* P1 = +2.519365426228666233893e-01 */ + .quad 0xBFCBE432F647C4D6 /* P2 = -2.179015829602010702633e-01 */ + .quad 0x3FBABF92B6E5AC73 /* P3 = +1.044856735731387955105e-01 */ + .quad 0xBF922983AA24E217 /* P4 = -1.773648954369563555378e-02 */ + .quad 0xBF8C72214C14E23A /* P5 = -1.388956082756564056328e-02 */ + .quad 0x3F8ACB4D1F388E8B /* P6 = +1.308307887581540972153e-02 */ + .quad 0xBF740EF8B4A2EE3B /* P7 = -4.897090441029978580995e-03 */ + .quad 0xBF0EA9F30C8DC900 /* P8 = -5.848668076326342477133e-05 */ + .quad 0x3F53CC40D18713AE /* P9 = +1.208365725788622757410e-03 */ + .quad 0xBF4848B86029CBA1 /* P10 = -7.410908004444779592485e-04 */ + .quad 0xBFF5000000000000 /* B = -1.3125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8FB61781D22681 /* PL0 = +5.501032995458057064843e-17 */ + .quad 0x3FEC950A3340C8BF /* PH0 = +8.931933404003514764824e-01 */ + .quad 0x3FC9E1DFFD385423 /* P1 = +2.022056566644617586005e-01 */ + .quad 0xBFC71E2FF88EBA23 /* P2 = -1.806087459239772032583e-01 */ + .quad 0x3FB80AEBD07AB5BA /* P3 = +9.391664352252506838449e-02 */ + .quad 0xBF98404E27EAE6ED /* P4 = -2.368280523908243895884e-02 */ + .quad 0xBF772DA520B5006E /* P5 = -5.658764868087568802107e-03 */ + .quad 0x3F824C9268AF9423 /* P6 = +8.935111827620250551925e-03 */ + .quad 0xBF722AE76D206AE3 /* P7 = -4.435447701349490160113e-03 */ + .quad 0x3F4B807F56298D5E /* P8 = +8.392926941493230644497e-04 */ + .quad 0x3F3D71027DF95D2A /* P9 = +4.492407879061627603159e-04 */ + .quad 0xBF3EBD17676755FB /* P10 = -4.690343988874298905483e-04 */ + .quad 0xBFF7000000000000 /* B = -1.4375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C95393C63CE8224 /* PL0 = +7.363407705201031038415e-17 */ + .quad 0x3FED4E6F464286B0 /* PH0 = +9.158245441687622445670e-01 */ + .quad 0x3FC4A45842B7DE1E /* P1 = +1.612654042980787191461e-01 */ + .quad 0xBFC2E7885AFDD3D0 /* P2 = -1.476908153814791087327e-01 */ + .quad 0x3FB4DD6DD51D3FEB /* P3 = +8.150373890862254580204e-02 */ + .quad 0xBF9A05D3ADAB489C /* P4 = -2.541285274021075503042e-02 */ + .quad 0xBF3459B643B4995C /* P5 = -3.105230313899165257622e-04 */ + .quad 0x3F766B30745F2E3A /* P6 = +5.473317409222350365811e-03 */ + .quad 0xBF6C2C891E555BDF /* P7 = -3.439204988051155730940e-03 */ + .quad 0x3F5194F30D6C576D /* P8 = +1.073109966176012791522e-03 */ + .quad 0x3EF4DBB43C3132A2 /* P9 = +1.989194766975849961365e-05 */ + .quad 0xBF2E45EBAB3C15A0 /* P10 = -2.309656316514087783666e-04 */ + .quad 0xBFF9000000000000 /* B = -1.5625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C75111669651DAA /* PL0 = +1.827249135453834384396e-17 */ + .quad 0x3FEDE1EB5937518F /* PH0 = +9.338280432225917193634e-01 */ + .quad 0x3FC06129C7C8EBB1 /* P1 = +1.279651856910653382507e-01 */ + .quad 0xBFBE9763041064E1 /* P2 = -1.194974789545031421774e-01 */ + .quad 0x3FB1A5B9F9113928 /* P3 = +6.893503504509068635308e-02 */ + .quad 0xBF992145039F9AFE /* P4 = -2.454097590080105816526e-02 */ + .quad 0x3F66CB116EA49C89 /* P5 = +2.782377288116648315142e-03 */ + .quad 0x3F67F972FDF30001 /* P6 = +2.926563829163342740100e-03 */ + .quad 0xBF63A7B5975F02F3 /* P7 = -2.399305983061922438601e-03 */ + .quad 0x3F4FDE7B8777F4C8 /* P8 = +9.725669069095216373599e-04 */ + .quad 0xBF25918876626BA4 /* P9 = -1.645545082212515656240e-04 */ + .quad 0xBF1495123C991F00 /* P10 = -7.851527984669912693674e-05 */ + .quad 0xBFFB000000000000 /* B = -1.6875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9F29A5B7426D27 /* PL0 = +1.081172820484012446345e-16 */ + .quad 0x3FEE56B6F3EFABFC /* PH0 = +9.480852856044061915952e-01 */ + .quad 0x3FB9E3EFD94BB9FC /* P1 = +1.011342912204113371518e-01 */ + .quad 0xBFB88BD9760FECA7 /* P2 = -9.588393337610288420285e-02 */ + .quad 0x3FAD48A0350B3ACF /* P3 = +5.719471595295077387313e-02 */ + .quad 0xBF96CC6A5110F129 /* P4 = -2.226415748394675367257e-02 */ + .quad 0x3F71934687170384 /* P5 = +4.290843485649345772606e-03 */ + .quad 0x3F5407BAF73B3DF9 /* P6 = +1.222546180475235334287e-03 */ + .quad 0xBF591B626C0646DD /* P7 = -1.532407870488964407324e-03 */ + .quad 0x3F48B0E1DD283558 /* P8 = +7.535078860329375669277e-04 */ + .quad 0xBF2B322292840D2B /* P9 = -2.074877932117605962646e-04 */ + .quad 0xBE99E4061120C741 /* P10 = -3.858017559892704559672e-07 */ + .quad 0xBFFD000000000000 /* B = -1.8125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6AF8C2041C67CD /* PL0 = +1.169711482626385762338e-17 */ + .quad 0x3FEEB2DFEDD5EC93 /* PH0 = +9.593352933146824801369e-01 */ + .quad 0x3FB465A205CFB638 /* P1 = +7.967579500083210999681e-02 */ + .quad 0xBFB3914BF68D39FF /* P2 = -7.643580216720378576778e-02 */ + .quad 0x3FA7F21A08C5C734 /* P3 = +4.676896435820623621673e-02 */ + .quad 0xBF93DA9560EA9960 /* P4 = -1.938851741820124550772e-02 */ + .quad 0x3F73953FEC62820E /* P5 = +4.781007481284861359820e-03 */ + .quad 0x3F2749D5E1273E3C /* P6 = +1.776765426044646108071e-04 */ + .quad 0xBF4D46B0B498CE5A /* P7 = -8.934367007839658352859e-04 */ + .quad 0x3F4153D680E1F4C4 /* P8 = +5.287930851093571206574e-04 */ + .quad 0xBF28477014ECA6A2 /* P9 = -1.852344816708944640949e-04 */ + .quad 0x3EFFAC54E07CEB4B /* P10 = +3.020588886147182143902e-05 */ + .quad 0xBFFF000000000000 /* B = -1.9375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7A8AF2BB2231F2 /* PL0 = +2.302217989249372577466e-17 */ + .quad 0x3FEF1994DF724FC8 /* PH0 = +9.718727459135090285258e-01 */ + .quad 0x3FAC65B1BC0C9D58 /* P1 = +5.546336575053583942603e-02 */ + .quad 0xBFAB9937BDA747C8 /* P2 = -5.390333356957871365599e-02 */ + .quad 0x3FA15B42D9EF931C /* P3 = +3.389939222669210777241e-02 */ + .quad 0xBF8EACD8E8507A3C /* P4 = -1.497811755149058215502e-02 */ + .quad 0x3F7263A15721C682 /* P5 = +4.489546046998806349050e-03 */ + .quad 0xBF42A032ACDC3B32 /* P6 = -5.684134900735048121829e-04 */ + .quad 0xBF3431E79B5AD185 /* P7 = -3.081503340170088810438e-04 */ + .quad 0x3F31B51667C7DF5E /* P8 = +2.701930714290502424828e-04 */ + .quad 0xBF1F8709579250AD /* P9 = -1.202678157759563704341e-04 */ + .quad 0x3F01ED8ED1BF9595 /* P10 = +3.419487094883790833778e-05 */ + .quad 0xC001000000000000 /* B = -2.125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C86F3F7C3DAFC55 /* PL0 = +3.981710680748877459333e-17 */ + .quad 0x3FEF73776B2AA2DB /* PH0 = +9.828450291725759901951e-01 */ + .quad 0x3FA16A7FC4D7B900 /* P1 = +3.401564863075812007064e-02 */ + .quad 0xBFA11E03803AD621 /* P2 = -3.343211117082156940532e-02 */ + .quad 0x3F9609591597297F /* P3 = +2.152003473546803654658e-02 */ + .quad 0xBF847E74ED9BBB0C /* P4 = -1.000682211039596246436e-02 */ + .quad 0x3F6BFF771725CD65 /* P5 = +3.417713736035987187864e-03 */ + .quad 0xBF491D1FF73C18FA /* P6 = -7.664114077392807421000e-04 */ + .quad 0x3EF53EE467B51DC5 /* P7 = +2.026145237479599375099e-05 */ + .quad 0x3F160135BE0D94A0 /* P8 = +8.394136922403255700685e-05 */ + .quad 0xBF0B32CB1D276A40 /* P9 = -5.187685350778849443841e-05 */ + .quad 0x3EF4DAF70C12D555 /* P10 = +1.988919462255396826584e-05 */ + .quad 0xC003000000000000 /* B = -2.375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C19DBF4E2E5B7DC /* PL0 = +3.504575836708380670219e-19 */ + .quad 0x3FEFAA7934B75EBD /* PH0 = +9.895597486128832054320e-01 */ + .quad 0x3F9545200830A42C /* P1 = +2.077150392520736492125e-02 */ + .quad 0xBF950C46D285F6BC /* P2 = -2.055464420253970271376e-02 */ + .quad 0x3F8B79F5BFC6513F /* P3 = +1.341621390819425058164e-02 */ + .quad 0xBF7A50ADAD777898 /* P4 = -6.424597194806612772505e-03 */ + .quad 0x3F633A19BE8255E3 /* P5 = +2.347040444940816227383e-03 */ + .quad 0xBF44E609BC2557B7 /* P6 = -6.377742322836087134324e-04 */ + .quad 0x3F1AFCBAD60EAACD /* P7 = +1.029480968230231421206e-04 */ + .quad 0x3EE80476AC34A8EF /* P8 = +1.145240583485084317660e-05 */ + .quad 0xBEF278E23DE463E9 /* P9 = -1.761646478213091821804e-05 */ + .quad 0x3EE209FAF377264D /* P10 = +8.601658563106529694651e-06 */ + .quad 0xC005000000000000 /* B = -2.625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C979D62702C631C /* PL0 = +8.193023793215066385979e-17 */ + .quad 0x3FEFCC04CDBCDC4B /* PH0 = +9.936546343150295390600e-01 */ + .quad 0x3F89E87D088D269A /* P1 = +1.265046770426474576547e-02 */ + .quad 0xBF89BE6721012B80 /* P2 = -1.257019586059526836624e-02 */ + .quad 0x3F80F1C13E8D39D3 /* P3 = +8.273610803056031004326e-03 */ + .quad 0xBF7082DBC9602757 /* P4 = -4.031046430108839563004e-03 */ + .quad 0x3F590BE9BD4E0A11 /* P5 = +1.528719197467002507978e-03 */ + .quad 0xBF3DCC2BEF6D0283 /* P6 = -4.546744598208711809986e-04 */ + .quad 0x3F1A08065C4A8E85 /* P7 = +9.930170842636406837764e-05 */ + .quad 0xBEE528117D0410F3 /* P8 = -1.008821337267942266431e-05 */ + .quad 0xBED0BE73A44FF565 /* P9 = -3.992069257383521775961e-06 */ + .quad 0x3EC9B0C11E342E38 /* P10 = +3.062539904901699218737e-06 */ + .quad 0xC007000000000000 /* B = -2.875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C804B931AD7A3CC /* PL0 = +2.826768921701616830245e-17 */ + .quad 0x3FEFE06EB0688212 /* PH0 = +9.961465306733450209009e-01 */ + .quad 0x3F7F81BD8876224D /* P1 = +7.692089427458426472642e-03 */ + .quad 0xBF7F62A8C699A963 /* P2 = -7.662448196791823756776e-03 */ + .quad 0x3F74C31E2B2A6A28 /* P3 = +5.068891378551522166321e-03 */ + .quad 0xBF6470D537F16227 /* P4 = -2.495209162173734080001e-03 */ + .quad 0x3F4FAEEF61C89673 /* P5 = +9.668988091717359455754e-04 */ + .quad 0xBF33C5E80B349783 /* P6 = -3.017131341088651514023e-04 */ + .quad 0x3F138F3D31037A6B /* P7 = +7.461367590931028650557e-05 */ + .quad 0xBEEB3C780996FFE3 /* P8 = -1.298723536791163711556e-05 */ + .quad 0x3E9D0C75BC8BFEFC /* P9 = +4.328589367358221917138e-07 */ + .quad 0x3EAC3865227764D4 /* P10 = +8.410302755848104487452e-07 */ + .quad 0xC009000000000000 /* B = -3.125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C5B978B202749F9 /* PL0 = +5.983054034451594408315e-18 */ + .quad 0x3FEFECD6B7EA3128 /* PH0 = +9.976609794698889643882e-01 */ + .quad 0x3F73238B786137FE /* P1 = +4.672570043181776968058e-03 */ + .quad 0xBF731815ACEA072E /* P2 = -4.661640805922390930706e-03 */ + .quad 0x3F6956F0816D5AEE /* P3 = +3.093213784647877798933e-03 */ + .quad 0xBF591A16286C4885 /* P4 = -1.532098425461232453877e-03 */ + .quad 0x3F43B3E3A00C6096 /* P5 = +6.012784434430592468442e-04 */ + .quad 0xBF29441B2A56DEC7 /* P6 = -1.927645836710038499293e-04 */ + .quad 0x3F0A99C3A2E857B6 /* P7 = +5.073669705184196724674e-05 */ + .quad 0xBEE61CB034DDC151 /* P8 = -1.054385361573597042258e-05 */ + .quad 0x3EB792BBC76D6107 /* P9 = +1.405070887824641788698e-06 */ + .quad 0x3E761472362A16F0 /* P10 = +8.225391704739515383837e-08 */ + .quad 0xC00B000000000000 /* B = -3.375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9C290AFCBDE00D /* PL0 = +9.770074992945060684926e-17 */ + .quad 0x3FEFF45F6D36133A /* PH0 = +9.985806592017987259879e-01 */ + .quad 0x3F673CEC093032DE /* P1 = +2.836667068100913999228e-03 */ + .quad 0xBF67347A7CD844D5 /* P2 = -2.832640870800243808078e-03 */ + .quad 0x3F5EDA25530355DB /* P3 = +1.883064698679040793627e-03 */ + .quad 0xBF4EAD3BBABC1BA9 /* P4 = -9.361783645268534848806e-04 */ + .quad 0x3F3842E61CD35432 /* P5 = +3.701984213198588740338e-04 */ + .quad 0xBF1F9AB7FD1A3DDD /* P6 = -1.205611036090218544867e-04 */ + .quad 0x3F0136C154EA3DED /* P7 = +3.283288480304320224929e-05 */ + .quad 0xBEDF12807F721E66 /* P8 = -7.408207230892235753013e-06 */ + .quad 0x3EB5B53687AD5112 /* P9 = +1.293889481520047941659e-06 */ + .quad 0xBE801E90FBFED147 /* P10 = -1.200988872775447204019e-07 */ + .quad 0xC00D000000000000 /* B = -3.625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9E323294294877 /* PL0 = +1.047637125334028950603e-16 */ + .quad 0x3FEFF8F21CDAAA62 /* PH0 = +9.991388858373506653976e-01 */ + .quad 0x3F5C3470628813F2 /* P1 = +1.721486807697344658108e-03 */ + .quad 0xBF5C2E38AC6FF8D2 /* P2 = -1.720004411026422324849e-03 */ + .quad 0x3F52C13234626F43 /* P3 = +1.144694354969070234454e-03 */ + .quad 0xBF42B0A47DF47BB4 /* P4 = -5.703738387728891173354e-04 */ + .quad 0x3F2DB2889E32FBFD /* P5 = +2.265731592156760387344e-04 */ + .quad 0xBF1385FBD54C5A55 /* P6 = -7.447576110695385196414e-05 */ + .quad 0x3EF5AFA812C6984E /* P7 = +2.068153223579892541184e-05 */ + .quad 0xBED47097C188A03C /* P8 = -4.873231795467276043290e-06 */ + .quad 0x3EAFF2B982F7EE8C /* P9 = +9.521288628073486288914e-07 */ + .quad 0xBE828EC5B57D424D /* P10 = -1.382656715739529384702e-07 */ + .quad 0xC00F000000000000 /* B = -3.875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9BA40DA6983BEC /* PL0 = +9.589840482158163453169e-17 */ + .quad 0x3FEFFCAAC3F20E65 /* PH0 = +9.995931460438894911036e-01 */ + .quad 0x3F4AA87CF664754C /* P1 = +8.135423820793490331956e-04 */ + .quad 0xBF4AA5B62919E224 /* P2 = -8.132113891426467676310e-04 */ + .quad 0x3F41C01B53B0B312 /* P3 = +5.416997368051531710388e-04 */ + .quad 0xBF31B8B54D091751 /* P4 = -2.704088811110632606347e-04 */ + .quad 0x3F1C431305954ECC /* P5 = +1.078110084525254933728e-04 */ + .quad 0xBF02B7DEAD0D44E6 /* P6 = -3.570221236393906131126e-05 */ + .quad 0x3EE51C6EFF109EA9 /* P7 = +1.006654199116272154479e-05 */ + .quad 0xBEC48CFB08072D17 /* P8 = -2.449834994621594976610e-06 */ + .quad 0x3EA1585EC59CAE34 /* P9 = +5.169271261920604503617e-07 */ + .quad 0xBE78832BAF950BA9 /* P10 = -9.131575131209528255629e-08 */ + .quad 0xC011000000000000 /* B = -4.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8FBF237F4AFE10 /* PL0 = +5.507163370275307643966e-17 */ + .quad 0x3FEFFEC61279A3A4 /* PH0 = +9.998503075449787225182e-01 */ + .quad 0x3F339E78281A00EA /* P1 = +2.993625022114214863645e-04 */ + .quad 0xBF339DB7B072AD62 /* P2 = -2.993176899035080028902e-04 */ + .quad 0x3F2A259E658EF4E4 /* P3 = +1.994853835451177669594e-04 */ + .quad 0xBF1A219C312B10BA /* P4 = -9.968295880030927192162e-05 */ + .quad 0x3F04E146B4F5F4B7 /* P5 = +3.982541113154699160876e-05 */ + .quad 0xBEEBC5F137088210 /* P6 = -1.324329943580649487333e-05 */ + .quad 0x3ECF96736E300B00 /* P7 = +3.765547135882256916132e-06 */ + .quad 0xBEAF4874840B91EB /* P8 = -9.323068824421825762292e-07 */ + .quad 0x3E8B6AB2B5C8FD3F /* P9 = +2.042709991312793245971e-07 */ + .quad 0xBE650BCCE62FD2B7 /* P10 = -3.920140725219944650830e-08 */ + .quad 0xC013000000000000 /* B = -4.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9C869C85471703 /* PL0 = +9.896883942603146946483e-17 */ + .quad 0x3FEFFF8C81C6DC33 /* PH0 = +9.999449286177707341139e-01 */ + .quad 0x3F1CDF5A2E4D7C69 /* P1 = +1.101397316012206760643e-04 */ + .quad 0xBF1CDEF1F9BE63BE /* P2 = -1.101336660539594564027e-04 */ + .quad 0x3F133EC10C83AAA0 /* P3 = +7.341435696487731017506e-05 */ + .quad 0xBF033DAB325FAACB /* P4 = -3.669909192168459445238e-05 */ + .quad 0x3EEEC598FA98BAD8 /* P5 = +1.467316890843338172161e-05 */ + .quad 0xBED47F1A15BA368E /* P6 = -4.886744445221253126882e-06 */ + .quad 0x3EB761FBE7D201C1 /* P7 = +1.393720509029845064726e-06 */ + .quad 0xBE974CD75A43BF6B /* P8 = -3.471994551992448536007e-07 */ + .quad 0x3E74B02965BBF8DC /* P9 = +7.706929621914905669946e-08 */ + .quad 0xBE504EF4E3892A66 /* P10 = -1.518840362012570189110e-08 */ + .quad 0xC015000000000000 /* B = -5.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C643810400471B0 /* PL0 = +8.768592603904887599187e-18 */ + .quad 0x3FEFFFD583014825 /* PH0 = +9.999797400180382433987e-01 */ + .quad 0x3F053E71416C43CA /* P1 = +4.051955345663706869871e-05 */ + .quad 0xBF053E550C7C8CC9 /* P2 = -4.051873253121394012080e-05 */ + .quad 0x3EFC52D0D90D4843 /* P3 = +2.701139380018752534477e-05 */ + .quad 0xBEEC523A6ADBE142 /* P4 = -1.350460237457883558350e-05 */ + .quad 0x3ED6A73E22D844B3 /* P5 = +5.400965660055565196396e-06 */ + .quad 0xBEBE31D10F23ACD0 /* P6 = -1.799738182979224868919e-06 */ + .quad 0x3EA13E14264DEAB2 /* P7 = +5.138663935333241981438e-07 */ + .quad 0xBE81385ABB98EDCC /* P8 = -1.282999997786486835638e-07 */ + .quad 0x3E5EB9164593E0B6 /* P9 = +2.861301981891537161158e-08 */ + .quad 0xBE387218CFE7772E /* P10 = -5.691705994073124478195e-09 */ + .quad 0xC017000000000000 /* B = -5.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C92530433F4C703 /* PL0 = +6.357512739163799046861e-17 */ + .quad 0x3FEFFFF05E8D3191 /* PH0 = +9.999925467214315633058e-01 */ + .quad 0x3EEF42DDFA52B575 /* P1 = +1.490650158538873335176e-05 */ + .quad 0xBEEF42CEB54212AA /* P2 = -1.490639048307961378200e-05 */ + .quad 0x3EE4D7201CBCB853 /* P3 = +9.937445518550804010127e-06 */ + .quad 0xBED4D6F764B66C37 /* P4 = -4.968574624976280456686e-06 */ + .quad 0x3EC0ABB806EBDE71 /* P5 = +1.987311456171617620608e-06 */ + .quad 0xBEA6399CF854F876 /* P6 = -6.623581475862682369330e-07 */ + .quad 0x3E8964B91728D7C9 /* P7 = +1.891959403186505598965e-07 */ + .quad 0xBE6961A0528444D6 /* P8 = -4.727645325404986954168e-08 */ + .quad 0x3E46AE3B0814EE00 /* P9 = +1.056147192151514779549e-08 */ + .quad 0xBE221B8194DACD16 /* P10 = -2.107984154277957626641e-09 */ + .quad 0xC019000000000000 /* B = -6.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7BB5622CE1A79E /* PL0 = +2.403331811901679167526e-17 */ + .quad 0x3FEFFFFA3FF22708 /* PH0 = +9.999972580855862602789e-01 */ + .quad 0x3ED7003552D53503 /* P1 = +5.483821309338170039906e-06 */ + .quad 0xBED7003130C1AB92 /* P2 = -5.483806273169366545037e-06 */ + .quad 0x3ECEAAE13B699C45 /* P3 = +3.655850800133043324271e-06 */ + .quad 0xBEBEAACB305F3D07 /* P4 = -1.827905351959291114416e-06 */ + .quad 0x3EA8887F5F9C87EF /* P5 = +7.311461438267648556646e-07 */ + .quad 0xBE905AD08DF8454F /* P6 = -2.437046884027860662692e-07 */ + .quad 0x3E72B068300B703F /* P7 = +6.962228483613086736676e-08 */ + .quad 0xBE52AF921A71C058 /* P8 = -1.740252888706390465423e-08 */ + .quad 0x3E30B53EAA35300D /* P9 = +3.890131469838137725119e-09 */ + .quad 0xBE0AB60CDAD7E22E /* P10 = -7.773963050435300060566e-10 */ + .quad 0xC01B000000000000 /* B = -6.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8BD1ACF80D7256 /* PL0 = +4.825835138930451121169e-17 */ + .quad 0x3FEFFFFDE2760A41 /* PH0 = +9.999989913051835488389e-01 */ + .quad 0x3EC0EC4F1EC27E55 /* P1 = +2.017388615341105998718e-06 */ + .quad 0xBEC0EC4E005E6EAC /* P2 = -2.017386580411626200507e-06 */ + .quad 0x3EB6906504BC4610 /* P3 = +1.344921673533307001969e-06 */ + .quad 0xBEA6905F0D52C8B5 /* P4 = -6.724581235377781360384e-07 */ + .quad 0x3E920D0F5CCE152B /* P5 = +2.689810941136721216499e-07 */ + .quad 0xBE7811505B10E753 /* P6 = -8.965891741619763761543e-08 */ + .quad 0x3E5B811EE4F9B8EE /* P7 = +2.561544781706659619288e-08 */ + .quad 0xBE3B80ABC067E840 /* P8 = -6.403452884688571158579e-09 */ + .quad 0x3E1898E394E09335 /* P9 = +1.431746793613569087489e-09 */ + .quad 0xBDF3ABB5BA711DB7 /* P10 = -2.862469657501951918569e-10 */ + .quad 0xC01D000000000000 /* B = -7.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8AE01DB39A3791 /* PL0 = +4.662147961093911873193e-17 */ + .quad 0x3FEFFFFF38C76668 /* PH0 = +9.999996289217962797125e-01 */ + .quad 0x3EA8E712E56E1188 /* P1 = +7.421562696484951529573e-07 */ + .quad 0xBEA8E7124A650791 /* P2 = -7.421559942504648535596e-07 */ + .quad 0x3EA09A0B62D8EF94 /* P3 = +4.947702955735978541097e-07 */ + .quad 0xBE909A09C56C2107 /* P4 = -2.473847805916120382218e-07 */ + .quad 0x3E7A900A90A54A6E /* P5 = +9.895362410487317236618e-08 */ + .quad 0xBE61B5557BB449B6 /* P6 = -3.298434544432568302770e-08 */ + .quad 0x3E443CC74732CDCA /* P7 = +9.423781066565733462466e-09 */ + .quad 0xBE243CA8AA8D6E54 /* P8 = -2.355890888986360997159e-09 */ + .quad 0x3E0219C341E0D1B4 /* P9 = +5.267978308406275552691e-10 */ + .quad 0xBDDCF49A10950F13 /* P10 = -1.053394074620716018815e-10 */ + .quad 0xC01F000000000000 /* B = -7.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C75CB18F3775414 /* PL0 = +1.890271747518592444083e-17 */ + .quad 0x3FEFFFFFD38C39F0 /* PH0 = +9.999999172012490333827e-01 */ + .quad 0x3E8639E2F89493BB /* P1 = +1.655974950855472979393e-07 */ + .quad 0xBE8639E2D9B29562 /* P2 = -1.655974813708346974914e-07 */ + .quad 0x3E7DA2836A1F706E /* P3 = +1.103982989742589616541e-07 */ + .quad 0xBE6DA282C6733DAE /* P4 = -5.519913131581509871840e-08 */ + .quad 0x3E57B53A278851FD /* P5 = +2.207971980430773309147e-08 */ + .quad 0xBE3F9C4A72536E22 /* P6 = -7.359895614149337484810e-09 */ + .quad 0x3E220E81FBE19CDD /* P7 = +2.102073153607135257714e-09 */ + .quad 0xBE020E8875ADA8D8 /* P8 = -5.255211642212584097407e-10 */ + .quad 0x3DE07634328384FC /* P9 = +1.197748786062966341989e-10 */ + .quad 0xBDBA54078E3C351F /* P10 = -2.394539505021488953905e-11 */ + .quad 0xC021000000000000 /* B = -8.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C98B78738B0EDEF /* PL0 = +8.575399788039081964921e-17 */ + .quad 0x3FEFFFFFF9FBEA40 /* PH0 = +9.999999887944071019774e-01 */ + .quad 0x3E581056FAC28C46 /* P1 = +2.241118550516412682327e-08 */ + .quad 0xBE581056F63A4351 /* P2 = -2.241118525356742542550e-08 */ + .quad 0x3E500AE49533790A /* P3 = +1.494078933911655875521e-08 */ + .quad 0xBE400AE489ACBA90 /* P4 = -7.470394349637968945652e-09 */ + .quad 0x3E29AB0D59A1967B /* P5 = +2.988168557255271725494e-09 */ + .quad 0xBE111CB32D6EEF2B /* P6 = -9.960558400070350772418e-10 */ + .quad 0x3DF38CBADF396908 /* P7 = +2.844859618921805216353e-10 */ + .quad 0xBDD38CC7B92CECD3 /* P8 = -7.112220386749926320915e-11 */ + .quad 0x3DB1D2BBE2705032 /* P9 = +1.621008722427575444686e-11 */ + .quad 0xBD8C8199294E6380 /* P10 = -3.240784656869469020111e-12 */ + .quad 0xC023000000000000 /* B = -9.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8EEEC16618B984 /* PL0 = +5.365957423487855307906e-17 */ + .quad 0x3FEFFFFFFF2F9279 /* PH0 = +9.999999984834878619111e-01 */ + .quad 0x3E2A0DB0D052B148 /* P1 = +3.033024167396880687734e-09 */ + .quad 0xBE2A0DB0CFA6AB71 /* P2 = -3.033024162734192808028e-09 */ + .quad 0x3E215E75D53A3105 /* P3 = +2.022016035353114070618e-09 */ + .quad 0xBE115E75D40AA47F /* P4 = -1.011008013562702155050e-09 */ + .quad 0x3DFBCA5CDC12ED1C /* P5 = +4.044047007631481841556e-10 */ + .quad 0xBDE286E85704FC22 /* P6 = -1.348015410318274576187e-10 */ + .quad 0x3DC52A8925354517 /* P7 = +3.850101197145027796396e-11 */ + .quad 0xBDA52A97EA3F5F4A /* P8 = -9.625355478142550638468e-12 */ + .quad 0x3D834C011A2AC0F7 /* P9 = +2.193802608697321032841e-12 */ + .quad 0xBD5EDD05BDCB3A62 /* P10 = -4.385948508419928563300e-13 */ + .quad 0xC025000000000000 /* B = -10.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6BD8B474BBF792 /* PL0 = +1.207649585364892639612e-17 */ + .quad 0x3FEFFFFFFFE3CAD8 /* PH0 = +9.999999997947623953110e-01 */ + .quad 0x3DFC3527E43C565F /* P1 = +4.104751852963940338559e-10 */ + .quad 0xBDFC3527E420F415 /* P2 = -4.104751852036136216697e-10 */ + .quad 0x3DF2CE1A8D806DAD /* P3 = +2.736501142887952919489e-10 */ + .quad 0xBDE2CE1A8DDF690A /* P4 = -1.368250573053032426141e-10 */ + .quad 0x3DCE169832D8BD68 /* P5 = +5.473022586854025789680e-11 */ + .quad 0xBDB40F0FE853DA5B /* P6 = -1.824340550195944358477e-11 */ + .quad 0x3D96EA8D930D31A1 /* P7 = +5.210545794901128943676e-12 */ + .quad 0xBD76EA9DB0D09839 /* P8 = -1.302650427355019556441e-12 */ + .quad 0x3D54E474FD4303A1 /* P9 = +2.968990047962355000258e-13 */ + .quad 0xBD30B526CA2B228A /* P10 = -5.935740124899435401321e-14 */ + .quad 0xC027000000000000 /* B = -11.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C56E8953D525FD5 /* PL0 = +4.967494994909661698725e-18 */ + .quad 0x3FEFFFFFFFFC2EB9 /* PH0 = +9.999999999722241073030e-01 */ + .quad 0x3DCE8A37A48016C2 /* P1 = +5.555177547354687971427e-11 */ + .quad 0xBDCE8A37A479B7D4 /* P2 = -5.555177547084873157964e-11 */ + .quad 0x3DC45C250CFA9C16 /* P3 = +3.703451575129414499553e-11 */ + .quad 0xBDB45C250D9F8467 /* P4 = -1.851725791056759260154e-11 */ + .quad 0x3DA049BB33CBD4E9 /* P5 = +7.406930640558963265190e-12 */ + .quad 0xBD85B7A407C422C1 /* P6 = -2.468976464832073512208e-12 */ + .quad 0x3D68CF9CED2B3FD5 /* P7 = +7.051706989348171774536e-13 */ + .quad 0xBD48CFAE64C352B3 /* P8 = -1.762945685274427023683e-13 */ + .quad 0x3D269EAE08690D52 /* P9 = +4.018091287355461204663e-14 */ + .quad 0xBD0216CBEAFFF5AA /* P10 = -8.033151495672990022322e-15 */ + .quad 0xC029000000000000 /* B = -12.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8ACF1392B106D3 /* PL0 = +4.650601502940921454330e-17 */ + .quad 0x3FEFFFFFFFFF7BBD /* PH0 = +9.999999999962408958609e-01 */ + .quad 0x3DA088529889B316 /* P1 = +7.518115268189742464885e-12 */ + .quad 0xBDA088529887F4C4 /* P2 = -7.518115268005149164680e-12 */ + .quad 0x3D960B18BF1DF711 /* P3 = +5.012076679213679703380e-12 */ + .quad 0xBD860B18BFD99A48 /* P4 = -2.506038344573564868987e-12 */ + .quad 0x3D71A27E7CA64143 /* P5 = +1.002419056539285288454e-12 */ + .quad 0xBD5783530EA76D91 /* P6 = -3.341396294294381580191e-13 */ + .quad 0x3D3ADCC75CBD2A03 /* P7 = +9.543447641637910477850e-14 */ + .quad 0xBD1ADCDA46BE5F17 /* P8 = -2.385887543769010971872e-14 */ + .quad 0x3CF87D77650BE5B8 /* P9 = +5.437895260471143131391e-15 */ + .quad 0xBCD395AE6E74C6D2 /* P10 = -1.087168847335561258239e-15 */ + .quad 0xC02B000000000000 /* B = -13.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C97A8A295292858 /* PL0 = +8.208271151146829171896e-17 */ + .quad 0x3FEFFFFFFFFFEE19 /* PH0 = +9.999999999994911847878e-01 */ + .quad 0x3D71E642BB008F95 /* P1 = +1.017466259229268282255e-12 */ + .quad 0xBD71E642BAFEEC54 /* P2 = -1.017466259207593392022e-12 */ + .quad 0x3D67DDAE41647741 /* P3 = +6.783108169938233581038e-13 */ + .quad 0xBD57DDAE4230F34B /* P4 = -3.391554091734942426856e-13 */ + .quad 0x3D4317C33FAE2536 /* P5 = +1.356626669455791324801e-13 */ + .quad 0xBD2975040D3E26B9 /* P6 = -4.522088139411435138867e-14 */ + .quad 0x3D0D155DCD0F0AFB /* P7 = +1.291565189902030307333e-14 */ + .quad 0xBCED157247832B20 /* P8 = -3.228947666403019234175e-15 */ + .quad 0x3CCA83D70F607C28 /* P9 = +7.359390959466796619024e-16 */ + .quad 0xBCA5343952C1E19E /* P10 = -1.471323041436694087188e-16 */ + .quad 0xC02D000000000000 /* B = -14.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9B7876CBC5306E /* PL0 = +9.530765996816607711732e-17 */ + .quad 0x3FEFFFFFFFFFFD93 /* PH0 = +9.999999999999310551502e-01 */ + .quad 0x3D436121E2640D76 /* P1 = +1.376990843765503869546e-13 */ + .quad 0xBD436121E26250EA /* P2 = -1.376990843736775811281e-13 */ + .quad 0x3D39D6D7CA259186 /* P3 = +9.179938654047876451320e-14 */ + .quad 0xBD29D6D7CB0327CE /* P4 = -4.589969336188563660531e-14 */ + .quad 0x3D14ABE4DC31244A /* P5 = +1.835994545584345768382e-14 */ + .quad 0xBCFB8FDB82AB6BB7 /* P6 = -6.119980791767901275443e-15 */ + .quad 0x3CDF7CF757491B60 /* P7 = +1.747943407988343076526e-15 */ + .quad 0xBCBF7D0D833640FB /* P8 = -4.369905470133249448357e-16 */ + .quad 0x3C9CB512F6BDC754 /* P9 = +9.959852600692493655511e-17 */ + .quad 0xBC76F50AB1B0E9BA /* P10 = -1.991219205936492089091e-17 */ + .quad 0xC02F000000000000 /* B = -15.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6FFE15D5F78543 /* PL0 = +1.387454417328248962819e-17 */ + .quad 0x3FEFFFFFFFFFFFE1 /* PH0 = +9.999999999999965583086e-01 */ + .quad 0x3CFEE00288B99C26 /* P1 = +6.855635762864742358597e-15 */ + .quad 0xBCFEE0027D060EE2 /* P2 = -6.855635607998342735403e-15 */ + .quad 0x3CF4954AA23148A2 /* P3 = +4.570381865813341696777e-15 */ + .quad 0xBCE4954B5DAD3010 /* P4 = -2.285192173571711474199e-15 */ + .quad 0x3CD07883DD8793BD /* P5 = +9.143109661358222028007e-16 */ + .quad 0xBCB5F5F4BB87ADCF /* P6 = -3.047668447080103869032e-16 */ + .quad 0x3C98F1A905097685 /* P7 = +8.654183371862458774513e-17 */ + .quad 0xBC78F2D585007222 /* P8 = -2.163943551222030413627e-17 */ + .quad 0x3C58A37CC5082B5F /* P9 = +5.342649626494471588064e-18 */ + .quad 0xBC33AE7917F94D17 /* P10 = -1.066938163384541013918e-18 */ + .quad 0xC031000000000000 /* B = -17 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C91BF1D80474F0F /* PL0 = +6.157069264461989135096e-17 */ + .quad 0x3FEFFFFFFFFFFFFE /* PH0 = +9.999999999999997779554e-01 */ + .quad 0x3CB72071400E6275 /* P1 = +3.209478247225075961360e-16 */ + .quad 0xBCB72071400A9F37 /* P2 = -3.209478247103497434502e-16 */ + .quad 0x3CAED5EC39A77629 /* P3 = +2.139652050028423711308e-16 */ + .quad 0xBC9ED5EC3B530600 /* P4 = -1.069826028468029104719e-16 */ + .quad 0x3C88AB2BFED159DE /* P5 = +4.279326904335078988705e-17 */ + .quad 0xBC70721D1220B3FC /* P6 = -1.426441958074916244382e-17 */ + .quad 0x3C52C96049721FB8 /* P7 = +4.073700029965821523731e-18 */ + .quad 0xBC32C971215735DC /* P8 = -1.018438939975201710113e-18 */ + .quad 0x3C112EF658AB41A9 /* P9 = +2.328791246104218830028e-19 */ + .quad 0xBBEB7B598C6AD3DE /* P10 = -4.655603964908654142787e-20 */ + .quad 0xC03287E0C98F84E5 /* B = -18.530774 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ + .quad 0x3FF0000000000000 /* PH0 = +1.000000000000000000000e+00 */ + .quad 0x0000000000000000 /* P1 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P2 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P3 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P4 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P5 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P6 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P7 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P8 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P9 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P10 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* B = +0 */ + .quad 0x0000000000000000 /* A = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .align 16 + .quad 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */ + .align 16 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */ + .align 16 + .long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */ + .align 16 + .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */ + .align 16 + .long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */ + .align 16 + .long 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */ + .align 16 + .type __svml_dtanh_data_internal, @object + .size __svml_dtanh_data_internal, .-__svml_dtanh_data_internal From patchwork Mon Mar 7 15:02:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602270 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=uhuV71DG; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC2QC3XDkz9sFk for ; Tue, 8 Mar 2022 02:27:31 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 376283858426 for ; Mon, 7 Mar 2022 15:27:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 376283858426 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646666849; bh=r80lShcWCeL73faBMZvWvE32RcQ3SIfFYzyYD01ng8E=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=uhuV71DGUkd/yMkDgSekYX1L8Ue7+a9lpcXf46OodBYhTY1Bgyb1R9Nhvt+t0Ixia yurZzuhOt658uAhVNYu4F8gAR0ttovWfbV1vZL4StYfGY/W9RoYbOsEAu9bYLSQhfF WO0M54zZsmyXk5vXrJTqBBDvqgClU9UjASn6zjGY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id D7065385843D for ; Mon, 7 Mar 2022 15:02:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D7065385843D X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="253240012" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="253240012" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="687561749" Received: from scymds01.sc.intel.com ([10.148.94.138]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2022 07:02:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fd016772; Mon, 7 Mar 2022 07:02:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 125/126] x86_64: Fix svml_d_tanh4_core_avx2.S code formatting Date: Mon, 7 Mar 2022 07:02:00 -0800 Message-Id: <20220307150201.10590-126-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LOTSOFHASH, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_tanh4_core_avx2.S | 2330 ++++++++--------- 1 file changed, 1164 insertions(+), 1166 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S index d2a971ead5..7ddf145b25 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh4_core_avx2.S @@ -28,7 +28,7 @@ * and to approximate tanh(.) with a polynomial on each of them. * * IEEE SPECIAL CONDITIONS: - * x = [+,-]0, r = [+,-]0 + * x = [+, -]0, r = [+, -]0 * x = +Inf, r = +1 * x = -Inf, r = -1 * x = QNaN, r = QNaN @@ -72,1208 +72,1206 @@ /* Offsets for data table __svml_dtanh_data_internal */ -#define _dbP 0 -#define _dbSignMask 7680 -#define _dbAbsMask 7712 -#define _iExpMantMask 7744 -#define _iExpMask 7776 -#define _iMinIdxOfsMask 7808 -#define _iMaxIdxMask 7840 +#define _dbP 0 +#define _dbSignMask 7680 +#define _dbAbsMask 7712 +#define _iExpMantMask 7744 +#define _iExpMask 7776 +#define _iMinIdxOfsMask 7808 +#define _iMaxIdxMask 7840 #include - .text - .section .text.avx2,"ax",@progbits + .section .text.avx2, "ax", @progbits ENTRY(_ZGVdN4v_tanh_avx2) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-32, %rsp - subq $96, %rsp - lea _dbP+96+__svml_dtanh_data_internal(%rip), %r8 - vmovupd %ymm0, (%rsp) + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-32, %rsp + subq $96, %rsp + lea _dbP+96+__svml_dtanh_data_internal(%rip), %r8 + vmovupd %ymm0, (%rsp) -/* if VMIN, VMAX is defined for I type */ - vpxor %xmm11, %xmm11, %xmm11 + /* if VMIN, VMAX is defined for I type */ + vpxor %xmm11, %xmm11, %xmm11 -/* Constant loading */ - vmovups _iMaxIdxMask+__svml_dtanh_data_internal(%rip), %xmm8 - vandpd _dbAbsMask+__svml_dtanh_data_internal(%rip), %ymm0, %ymm1 - vandpd _dbSignMask+__svml_dtanh_data_internal(%rip), %ymm0, %ymm2 - vextractf128 $1, %ymm0, %xmm15 - vshufps $221, %xmm15, %xmm0, %xmm14 + /* Constant loading */ + vmovups _iMaxIdxMask+__svml_dtanh_data_internal(%rip), %xmm8 + vandpd _dbAbsMask+__svml_dtanh_data_internal(%rip), %ymm0, %ymm1 + vandpd _dbSignMask+__svml_dtanh_data_internal(%rip), %ymm0, %ymm2 + vextractf128 $1, %ymm0, %xmm15 + vshufps $221, %xmm15, %xmm0, %xmm14 -/* Here huge arguments, INF and NaNs are filtered out to callout. */ - vpand _iExpMantMask+__svml_dtanh_data_internal(%rip), %xmm14, %xmm12 - vpsubd _iMinIdxOfsMask+__svml_dtanh_data_internal(%rip), %xmm12, %xmm9 - vpcmpgtd %xmm11, %xmm9, %xmm10 - vpcmpgtd %xmm8, %xmm9, %xmm0 - vpand %xmm10, %xmm9, %xmm7 - blendvps %xmm0, %xmm8, %xmm7 + /* Here huge arguments, INF and NaNs are filtered out to callout. */ + vpand _iExpMantMask+__svml_dtanh_data_internal(%rip), %xmm14, %xmm12 + vpsubd _iMinIdxOfsMask+__svml_dtanh_data_internal(%rip), %xmm12, %xmm9 + vpcmpgtd %xmm11, %xmm9, %xmm10 + vpcmpgtd %xmm8, %xmm9, %xmm0 + vpand %xmm10, %xmm9, %xmm7 + blendvps %xmm0, %xmm8, %xmm7 -/* - * VSHRIMM( I, iIndex, = iIndex, (17 - 4) ); - * VGATHER_MATRIX( L2D, p, TAB._dbP, iIndex, 0, T_ITEM_SIZE, T_ITEM_GRAN, 13, 0, 0 ); - */ - vpsrld $10, %xmm7, %xmm6 - vmovd %xmm6, %edx - vpcmpgtd _iExpMask+__svml_dtanh_data_internal(%rip), %xmm12, %xmm13 - vmovmskps %xmm13, %eax - vpextrd $1, %xmm6, %ecx - movslq %edx, %rdx - movslq %ecx, %rcx - vpextrd $2, %xmm6, %esi - vpextrd $3, %xmm6, %edi - movslq %esi, %rsi - movslq %edi, %rdi - vmovupd -96(%rdx,%r8), %xmm3 - vmovupd -96(%rcx,%r8), %xmm4 - vmovupd -80(%rcx,%r8), %xmm13 - vmovupd -64(%rcx,%r8), %xmm9 - vmovupd -80(%rdx,%r8), %xmm14 - vmovupd -64(%rdx,%r8), %xmm10 - vmovupd -48(%rdx,%r8), %xmm6 - vinsertf128 $1, -96(%rsi,%r8), %ymm3, %ymm0 - vinsertf128 $1, -96(%rdi,%r8), %ymm4, %ymm15 - vmovupd -48(%rcx,%r8), %xmm3 - vunpckhpd %ymm15, %ymm0, %ymm0 - vinsertf128 $1, -80(%rsi,%r8), %ymm14, %ymm12 - vinsertf128 $1, -64(%rsi,%r8), %ymm10, %ymm8 - vinsertf128 $1, -80(%rdi,%r8), %ymm13, %ymm11 - vinsertf128 $1, -64(%rdi,%r8), %ymm9, %ymm7 - vunpcklpd %ymm11, %ymm12, %ymm15 - vunpckhpd %ymm11, %ymm12, %ymm14 - vunpcklpd %ymm7, %ymm8, %ymm13 - vunpckhpd %ymm7, %ymm8, %ymm12 - vmovupd -32(%rdx,%r8), %xmm9 - vmovupd -32(%rcx,%r8), %xmm8 - vinsertf128 $1, -48(%rsi,%r8), %ymm6, %ymm4 - vinsertf128 $1, -48(%rdi,%r8), %ymm3, %ymm5 - vunpcklpd %ymm5, %ymm4, %ymm11 - vunpckhpd %ymm5, %ymm4, %ymm10 - vmovupd -16(%rdx,%r8), %xmm3 - vmovupd -16(%rcx,%r8), %xmm4 - vinsertf128 $1, -32(%rsi,%r8), %ymm9, %ymm7 - vinsertf128 $1, -32(%rdi,%r8), %ymm8, %ymm6 - vunpcklpd %ymm6, %ymm7, %ymm9 - vunpckhpd %ymm6, %ymm7, %ymm8 - vinsertf128 $1, -16(%rsi,%r8), %ymm3, %ymm5 - vinsertf128 $1, -16(%rdi,%r8), %ymm4, %ymm6 - vunpcklpd %ymm6, %ymm5, %ymm7 - vunpckhpd %ymm6, %ymm5, %ymm6 - vmovupd (%rdx,%r8), %xmm3 - vmovupd (%rcx,%r8), %xmm5 - vinsertf128 $1, (%rsi,%r8), %ymm3, %ymm4 - vinsertf128 $1, (%rdi,%r8), %ymm5, %ymm5 - vunpcklpd %ymm5, %ymm4, %ymm3 - vaddpd %ymm3, %ymm1, %ymm1 - vfmadd213pd %ymm7, %ymm1, %ymm6 - vfmadd213pd %ymm8, %ymm1, %ymm6 - vfmadd213pd %ymm9, %ymm1, %ymm6 - vfmadd213pd %ymm10, %ymm1, %ymm6 - vfmadd213pd %ymm11, %ymm1, %ymm6 - vfmadd213pd %ymm12, %ymm1, %ymm6 - vfmadd213pd %ymm13, %ymm1, %ymm6 - vfmadd213pd %ymm14, %ymm1, %ymm6 - vfmadd213pd %ymm15, %ymm1, %ymm6 - vfmadd213pd %ymm0, %ymm1, %ymm6 - vorpd %ymm2, %ymm6, %ymm0 - testl %eax, %eax + /* + * VSHRIMM( I, iIndex, = iIndex, (17 - 4) ); + * VGATHER_MATRIX( L2D, p, TAB._dbP, iIndex, 0, T_ITEM_SIZE, T_ITEM_GRAN, 13, 0, 0 ); + */ + vpsrld $10, %xmm7, %xmm6 + vmovd %xmm6, %edx + vpcmpgtd _iExpMask+__svml_dtanh_data_internal(%rip), %xmm12, %xmm13 + vmovmskps %xmm13, %eax + vpextrd $1, %xmm6, %ecx + movslq %edx, %rdx + movslq %ecx, %rcx + vpextrd $2, %xmm6, %esi + vpextrd $3, %xmm6, %edi + movslq %esi, %rsi + movslq %edi, %rdi + vmovupd -96(%rdx, %r8), %xmm3 + vmovupd -96(%rcx, %r8), %xmm4 + vmovupd -80(%rcx, %r8), %xmm13 + vmovupd -64(%rcx, %r8), %xmm9 + vmovupd -80(%rdx, %r8), %xmm14 + vmovupd -64(%rdx, %r8), %xmm10 + vmovupd -48(%rdx, %r8), %xmm6 + vinsertf128 $1, -96(%rsi, %r8), %ymm3, %ymm0 + vinsertf128 $1, -96(%rdi, %r8), %ymm4, %ymm15 + vmovupd -48(%rcx, %r8), %xmm3 + vunpckhpd %ymm15, %ymm0, %ymm0 + vinsertf128 $1, -80(%rsi, %r8), %ymm14, %ymm12 + vinsertf128 $1, -64(%rsi, %r8), %ymm10, %ymm8 + vinsertf128 $1, -80(%rdi, %r8), %ymm13, %ymm11 + vinsertf128 $1, -64(%rdi, %r8), %ymm9, %ymm7 + vunpcklpd %ymm11, %ymm12, %ymm15 + vunpckhpd %ymm11, %ymm12, %ymm14 + vunpcklpd %ymm7, %ymm8, %ymm13 + vunpckhpd %ymm7, %ymm8, %ymm12 + vmovupd -32(%rdx, %r8), %xmm9 + vmovupd -32(%rcx, %r8), %xmm8 + vinsertf128 $1, -48(%rsi, %r8), %ymm6, %ymm4 + vinsertf128 $1, -48(%rdi, %r8), %ymm3, %ymm5 + vunpcklpd %ymm5, %ymm4, %ymm11 + vunpckhpd %ymm5, %ymm4, %ymm10 + vmovupd -16(%rdx, %r8), %xmm3 + vmovupd -16(%rcx, %r8), %xmm4 + vinsertf128 $1, -32(%rsi, %r8), %ymm9, %ymm7 + vinsertf128 $1, -32(%rdi, %r8), %ymm8, %ymm6 + vunpcklpd %ymm6, %ymm7, %ymm9 + vunpckhpd %ymm6, %ymm7, %ymm8 + vinsertf128 $1, -16(%rsi, %r8), %ymm3, %ymm5 + vinsertf128 $1, -16(%rdi, %r8), %ymm4, %ymm6 + vunpcklpd %ymm6, %ymm5, %ymm7 + vunpckhpd %ymm6, %ymm5, %ymm6 + vmovupd (%rdx, %r8), %xmm3 + vmovupd (%rcx, %r8), %xmm5 + vinsertf128 $1, (%rsi, %r8), %ymm3, %ymm4 + vinsertf128 $1, (%rdi, %r8), %ymm5, %ymm5 + vunpcklpd %ymm5, %ymm4, %ymm3 + vaddpd %ymm3, %ymm1, %ymm1 + vfmadd213pd %ymm7, %ymm1, %ymm6 + vfmadd213pd %ymm8, %ymm1, %ymm6 + vfmadd213pd %ymm9, %ymm1, %ymm6 + vfmadd213pd %ymm10, %ymm1, %ymm6 + vfmadd213pd %ymm11, %ymm1, %ymm6 + vfmadd213pd %ymm12, %ymm1, %ymm6 + vfmadd213pd %ymm13, %ymm1, %ymm6 + vfmadd213pd %ymm14, %ymm1, %ymm6 + vfmadd213pd %ymm15, %ymm1, %ymm6 + vfmadd213pd %ymm0, %ymm1, %ymm6 + vorpd %ymm2, %ymm6, %ymm0 + testl %eax, %eax -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 eax ymm0 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 eax ymm0 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovupd (%rsp), %ymm1 - vmovupd %ymm0, 64(%rsp) - vmovupd %ymm1, 32(%rsp) - # LOE rbx r12 r13 r14 r15 eax ymm0 + vmovupd (%rsp), %ymm1 + vmovupd %ymm0, 64(%rsp) + vmovupd %ymm1, 32(%rsp) + # LOE rbx r12 r13 r14 r15 eax ymm0 - xorl %edx, %edx - # LOE rbx r12 r13 r14 r15 eax edx + xorl %edx, %edx + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 - movl %edx, %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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 - movl %eax, %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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 0xff, 0xff, 0xff, 0x22 + movl %edx, %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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 0xff, 0xff, 0xff, 0x22 + movl %eax, %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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $4, %r12d + incl %r12d + cmpl $4, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovupd 64(%rsp), %ymm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovupd 64(%rsp), %ymm0 -/* 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: -80; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 ymm0 + /* 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: -80; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xb0, 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: -88; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa8, 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: -96; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xe0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xa0, 0xff, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 ymm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 32(%rsp,%r14,8), %xmm0 - call tanh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 32(%rsp, %r14, 8), %xmm0 + call tanh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 64(%rsp,%r14,8) + movsd %xmm0, 64(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVdN4v_tanh_avx2) - .section .rodata, "a" - .align 32 + .section .rodata, "a" + .align 32 #ifdef __svml_dtanh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(32)) VUINT32 _dbP[60*16][2]; - __declspec(align(32)) VUINT32 _dbSignMask[4][2]; - __declspec(align(32)) VUINT32 _dbAbsMask[4][2]; - __declspec(align(32)) VUINT32 _iExpMantMask[8][1]; - __declspec(align(32)) VUINT32 _iExpMask[8][1]; - __declspec(align(32)) VUINT32 _iMinIdxOfsMask[8][1]; - __declspec(align(32)) VUINT32 _iMaxIdxMask[8][1]; +typedef struct { + __declspec(align(32)) VUINT32 _dbP[60*16][2]; + __declspec(align(32)) VUINT32 _dbSignMask[4][2]; + __declspec(align(32)) VUINT32 _dbAbsMask[4][2]; + __declspec(align(32)) VUINT32 _iExpMantMask[8][1]; + __declspec(align(32)) VUINT32 _iExpMask[8][1]; + __declspec(align(32)) VUINT32 _iMinIdxOfsMask[8][1]; + __declspec(align(32)) VUINT32 _iMaxIdxMask[8][1]; } __svml_dtanh_data_internal; #endif __svml_dtanh_data_internal: - /* Polynomial coefficients */ - .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* PH0 = +0.000000000000000000000e-01 */ - .quad 0x3FF0000000000000 /* P1 = +1.000000000000000014103e+00 */ - .quad 0xBD197DEAD79668D3 /* P2 = -2.264132406596103056796e-14 */ - .quad 0xBFD555555553AF3C /* P3 = -3.333333333273349741024e-01 */ - .quad 0xBE052F7CCA134846 /* P4 = -6.165791385711493738399e-10 */ - .quad 0x3FC11111563849D6 /* P5 = +1.333333655353061107201e-01 */ - .quad 0xBEB038623673FFB2 /* P6 = -9.668021563879858950855e-07 */ - .quad 0xBFAB9F685E64022E /* P7 = -5.395055916051593179252e-02 */ - .quad 0xBF2A54E2B28F2207 /* P8 = -2.008940439550829012647e-04 */ - .quad 0x3F97CFB9328A230E /* P9 = +2.325333949059698582189e-02 */ - .quad 0xBF75CA6D61723E02 /* P10 = -5.320002811586290441790e-03 */ - .quad 0x0000000000000000 /* B = +0 */ - .quad 0x3FF0000000000000 /* A = +1.0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C3708A564FAD29A /* PL0 = +1.248663375337163807466e-18 */ - .quad 0x3FC0E6973998DA48 /* PH0 = +1.320370703922029154143e-01 */ - .quad 0x3FEF712EB25C0888 /* P1 = +9.825662120422444519229e-01 */ - .quad 0xBFC09B296F7C1EA9 /* P2 = -1.297351641044220078331e-01 */ - .quad 0xBFD3DD77541EDDA7 /* P3 = -3.103922196855485849143e-01 */ - .quad 0x3FB58FFCF4309615 /* P4 = +8.422833406128689275566e-02 */ - .quad 0x3FBD3ABE845DCF49 /* P5 = +1.141776154670967208833e-01 */ - .quad 0xBFA791DF538C37FA /* P6 = -4.603479285115947936529e-02 */ - .quad 0xBFA4F872F69CD6E8 /* P7 = -4.095801601799370195284e-02 */ - .quad 0x3F9772E49EF6412B /* P8 = +2.289921970583567527179e-02 */ - .quad 0x3F8CBC0807393909 /* P9 = +1.403051635784581776625e-02 */ - .quad 0xBF85F06A30F93319 /* P10 = -1.071246110873285040939e-02 */ - .quad 0xBFC1000000000000 /* B = -.132813 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6004EE5739DEAC /* PL0 = +6.947247374112211856530e-18 */ - .quad 0x3FC2DC968E6E0D62 /* PH0 = +1.473568149050193398786e-01 */ - .quad 0x3FEF4E1E606D96DF /* P1 = +9.782859691010478680677e-01 */ - .quad 0xBFC273BD70994AB9 /* P2 = -1.441571044730005866646e-01 */ - .quad 0xBFD382B548270D2C /* P3 = -3.048527912726111386771e-01 */ - .quad 0x3FB7CD2D582A6B29 /* P4 = +9.297450449450351894400e-02 */ - .quad 0x3FBC1278CCCBF0DB /* P5 = +1.096568584434324642303e-01 */ - .quad 0xBFA9C7F5115B86A1 /* P6 = -5.035367810138536095866e-02 */ - .quad 0xBFA371C21BAF618E /* P7 = -3.797728145554222910481e-02 */ - .quad 0x3F9958943F68417E /* P8 = +2.475196492201935923783e-02 */ - .quad 0x3F8930D5CFFD4152 /* P9 = +1.230017701132682667572e-02 */ - .quad 0xBF875CF7ADD31B76 /* P10 = -1.140779017658897660092e-02 */ - .quad 0xBFC3000000000000 /* B = -.148438 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7EABE24E052A1F /* PL0 = +2.660321779421749543501e-17 */ - .quad 0x3FC4D04783618C71 /* PH0 = +1.626061812886266111366e-01 */ - .quad 0x3FEF2765AF97A4B3 /* P1 = +9.735592298067302883212e-01 */ - .quad 0xBFC443654205FEA5 /* P2 = -1.583067486171689074207e-01 */ - .quad 0xBFD31F2E208A5B97 /* P3 = -2.987780874040536844467e-01 */ - .quad 0x3FB9F235BD339878 /* P4 = +1.013520800512156573576e-01 */ - .quad 0x3FBAD0B0DFCCA141 /* P5 = +1.047468706498238100104e-01 */ - .quad 0xBFABD1B9600E608E /* P6 = -5.433444306908184548967e-02 */ - .quad 0xBFA1CEBEAF07DB58 /* P7 = -3.478046309094534453598e-02 */ - .quad 0x3F9AFC9FB1D8EFD2 /* P8 = +2.635430834764902126383e-02 */ - .quad 0x3F8573444F1AB502 /* P9 = +1.047376028449287564018e-02 */ - .quad 0xBF8874FBC8F24406 /* P10 = -1.194187838544459322219e-02 */ - .quad 0xBFC5000000000000 /* B = -.164063 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7FB199D361A790 /* PL0 = +2.748994907060158996213e-17 */ - .quad 0x3FC6C170259E21F7 /* PH0 = +1.777782615356639783766e-01 */ - .quad 0x3FEEFD17479F7C65 /* P1 = +9.683948897253570478266e-01 */ - .quad 0xBFC609530FE4DF8D /* P2 = -1.721595599753950294577e-01 */ - .quad 0xBFD2B3465D71B4DE /* P3 = -2.921920692959484052676e-01 */ - .quad 0x3FBBFD2D34AC509B /* P4 = +1.093319181057403192166e-01 */ - .quad 0x3FB9778C3C16A0FE /* P5 = +9.948040453912551395183e-02 */ - .quad 0xBFADAC4D9E63C665 /* P6 = -5.795519407719210697372e-02 */ - .quad 0xBFA0139CCAD02D60 /* P7 = -3.139963126894929339124e-02 */ - .quad 0x3F9C5BF43BA6F19D /* P8 = +2.769452680671379432854e-02 */ - .quad 0x3F8190B703350341 /* P9 = +8.576803002712575184772e-03 */ - .quad 0xBF8936606782858A /* P10 = -1.231074634444230850234e-02 */ - .quad 0xBFC7000000000000 /* B = -.179688 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6A917CA3624D50 /* PL0 = +1.152216693509785660691e-17 */ - .quad 0x3FC8AFD7B974FABB /* PH0 = +1.928662925292508878439e-01 */ - .quad 0x3FEECF47624A5D03 /* P1 = +9.628025932060214187231e-01 */ - .quad 0xBFC7C4C2CB4FDE4D /* P2 = -1.856921665891938814679e-01 */ - .quad 0xBFD23F69CB2C1F9D /* P3 = -2.851204380135586155453e-01 */ - .quad 0x3FBDEC5703A03814 /* P4 = +1.168875106670557712458e-01 */ - .quad 0x3FB8095003D0CF15 /* P5 = +9.389209836154706616487e-02 */ - .quad 0xBFAF554B47B10CBB /* P6 = -6.119761705533607365968e-02 */ - .quad 0xBF9C89743FE7BC1B /* P7 = -2.786809577986213853937e-02 */ - .quad 0x3F9D74725B746E7C /* P8 = +2.876452143855921824991e-02 */ - .quad 0x3F7B2D8AFB70B88C /* P9 = +6.635229968237631511880e-03 */ - .quad 0xBF89A0A2883EF6CB /* P10 = -1.251341799058582545252e-02 */ - .quad 0xBFC9000000000000 /* B = -.195313 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7608279E8609CB /* PL0 = +1.910958764623660748269e-17 */ - .quad 0x3FCA9B46D2DDC5E3 /* PH0 = +2.078636674519166172015e-01 */ - .quad 0x3FEE9E0BB72A01A1 /* P1 = +9.567926957534390123919e-01 */ - .quad 0xBFC974FAD10C5330 /* P2 = -1.988824387305156976885e-01 */ - .quad 0xBFD1C40ACCBA4044 /* P3 = -2.775904654781735703430e-01 */ - .quad 0x3FBFBE24E2987853 /* P4 = +1.239951184474830487522e-01 */ - .quad 0x3FB6885B4345E47F /* P5 = +8.801813499839460539687e-02 */ - .quad 0xBFB06563D5670584 /* P6 = -6.404708824176991770896e-02 */ - .quad 0xBF98CD1D620DF6E2 /* P7 = -2.421995078065365147772e-02 */ - .quad 0x3F9E44EF3E844D21 /* P8 = +2.955983943054463683119e-02 */ - .quad 0x3F7325FA0148CAAE /* P9 = +4.674889165971292322643e-03 */ - .quad 0xBF89B4C8556C2D92 /* P10 = -1.255184660614964011319e-02 */ - .quad 0xBFCB000000000000 /* B = -.210938 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6F19DAA20F51D5 /* PL0 = +1.348790537832000351176e-17 */ - .quad 0x3FCC83876CA98E15 /* PH0 = +2.227639465883021474557e-01 */ - .quad 0x3FEE697B662D07CD /* P1 = +9.503762241004040620296e-01 */ - .quad 0xBFCB194C7ED76ACF /* P2 = -2.117095584242946953999e-01 */ - .quad 0xBFD141A19E419762 /* P3 = -2.696308179350720680191e-01 */ - .quad 0x3FC0B89C64BC7B98 /* P4 = +1.306338779331468503007e-01 */ - .quad 0x3FB4F721150BBFC5 /* P5 = +8.189589275184434216748e-02 */ - .quad 0xBFB105AAFAB87898 /* P6 = -6.649273511036069461061e-02 */ - .quad 0xBF94FB3B31248C01 /* P7 = -2.048962104266749732921e-02 */ - .quad 0x3F9ECD31E588709C /* P8 = +3.007963145692880855964e-02 */ - .quad 0x3F664A91A335C105 /* P9 = +2.721104095762541127495e-03 */ - .quad 0xBF89754E32E1E26E /* P10 = -1.243077366619723806134e-02 */ - .quad 0xBFCD000000000000 /* B = -.226563 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6AC6C889D8111D /* PL0 = +1.161245469312620769170e-17 */ - .quad 0x3FCE6864FE55A3D0 /* PH0 = +2.375608674877001114112e-01 */ - .quad 0x3FEE31AEE116B82B /* P1 = +9.435648342384913826391e-01 */ - .quad 0xBFCCB114B69E808B /* P2 = -2.241540805525839833707e-01 */ - .quad 0xBFD0B8AB913BA99D /* P3 = -2.612713735858507980441e-01 */ - .quad 0x3FC1823322BED48A /* P4 = +1.367858810096190233514e-01 */ - .quad 0x3FB35822B7929893 /* P5 = +7.556359273675842651653e-02 */ - .quad 0xBFB18B03CC78D2DA /* P6 = -6.852744810096158580830e-02 */ - .quad 0xBF911CCC3C8D5E5D /* P7 = -1.671141738492420009734e-02 */ - .quad 0x3F9F0DEC2D99B12F /* P8 = +3.032654789278515819797e-02 */ - .quad 0x3F4A28398B4EBD98 /* P9 = +7.982521989244205404918e-04 */ - .quad 0xBF88E60CB2FAB9A4 /* P10 = -1.215753480150000985458e-02 */ - .quad 0xBFCF000000000000 /* B = -.242188 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C89D2B6774FB61D /* PL0 = +4.479593208720169247958e-17 */ - .quad 0x3FD09C744F539BE4 /* PH0 = +2.595492148088267558848e-01 */ - .quad 0x3FEDD823B0400D42 /* P1 = +9.326342050921214825882e-01 */ - .quad 0xBFCEFBF7FF305FCC /* P2 = -2.420644756355144687086e-01 */ - .quad 0xBFCFC01DC4F24A41 /* P3 = -2.480504237797323303990e-01 */ - .quad 0x3FC291A2C26D5548 /* P4 = +1.450694512701977626753e-01 */ - .quad 0x3FB0D562E672D188 /* P5 = +6.575601698097532991976e-02 */ - .quad 0xBFB2201ECC119E06 /* P6 = -7.080261690281738261872e-02 */ - .quad 0xBF8695D50F778D31 /* P7 = -1.102796987010509974642e-02 */ - .quad 0x3F9EEC8CFBC031A0 /* P8 = +3.019924437107734972427e-02 */ - .quad 0xBF6030F0A4D3660A /* P9 = -1.976461417694923328722e-03 */ - .quad 0xBF87845288A4AEF5 /* P10 = -1.148285369398347838494e-02 */ - .quad 0xBFD1000000000000 /* B = -.265625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8B6AAB614D1C8D /* PL0 = +4.756035418366735312727e-17 */ - .quad 0x3FD275F7E1CF7F63 /* PH0 = +2.884502129727392616410e-01 */ - .quad 0x3FED56658F74C9CC /* P1 = +9.167964746359813351341e-01 */ - .quad 0xBFD0ECC045EBD596 /* P2 = -2.644501383614054083635e-01 */ - .quad 0xBFCD5A4BDE179180 /* P3 = -2.293181261476426808811e-01 */ - .quad 0x3FC3C00047D34767 /* P4 = +1.542969084462655120552e-01 */ - .quad 0x3FAAC7CE84FD609F /* P5 = +5.230565427217581251974e-02 */ - .quad 0xBFB288948D2E8B43 /* P6 = -7.239654967137902384931e-02 */ - .quad 0xBF6D6605AAD5A1C0 /* P7 = -3.588687008847041164896e-03 */ - .quad 0x3F9DDB0790848E97 /* P8 = +2.915584392134337382866e-02 */ - .quad 0xBF75FDE291BAD5B4 /* P9 = -5.369076763306269573660e-03 */ - .quad 0xBF84CEA5C52E0A78 /* P10 = -1.015977390284671071888e-02 */ - .quad 0xBFD3000000000000 /* B = -.296875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7139A81C8A6ECF /* PL0 = +1.494049799478574591322e-17 */ - .quad 0x3FD4470650036407 /* PH0 = +3.168350011233659890841e-01 */ - .quad 0x3FECC9A69DFDDD48 /* P1 = +8.996155820631566629678e-01 */ - .quad 0xBFD23DED3A37A09F /* P2 = -2.850297039535778028925e-01 */ - .quad 0xBFCAD302395D51C1 /* P3 = -2.095644741153943890185e-01 */ - .quad 0x3FC4A8FE3F309C22 /* P4 = +1.614072617096278705115e-01 */ - .quad 0x3FA3D161188AA436 /* P5 = +3.870681213931741151586e-02 */ - .quad 0xBFB288CFE5494E98 /* P6 = -7.240008685885823969403e-02 */ - .quad 0x3F6C7903EED8D334 /* P7 = +3.475673371918475361081e-03 */ - .quad 0x3F9BE023CDFB02F6 /* P8 = +2.722221321778569498033e-02 */ - .quad 0xBF80F8296F2C3A95 /* P9 = -8.285831170295390358336e-03 */ - .quad 0xBF8152DF4790049B /* P10 = -8.458847400108650973189e-03 */ - .quad 0xBFD5000000000000 /* B = -.328125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7751FE0FEE8335 /* PL0 = +2.022712113430213599928e-17 */ - .quad 0x3FD60EF7120502A9 /* PH0 = +3.446633983585721261456e-01 */ - .quad 0x3FEC32D951E56E6F /* P1 = +8.812071418319202070776e-01 */ - .quad 0xBFD370255FC004F8 /* P2 = -3.037198481616338996824e-01 */ - .quad 0xBFC832F0EBC6BB41 /* P3 = -1.890545989276351359107e-01 */ - .quad 0x3FC54C99A0FF432F /* P4 = +1.664001499289269127540e-01 */ - .quad 0x3F99DAC0CC283C18 /* P5 = +2.524853941036661688369e-02 */ - .quad 0xBFB227B3896A026D /* P6 = -7.091829399906553280461e-02 */ - .quad 0x3F84663364E1FB19 /* P7 = +9.960557476231411602383e-03 */ - .quad 0x3F9922D70DE07C57 /* P8 = +2.454696676442965935283e-02 */ - .quad 0xBF85C4A4EB6F86BC /* P9 = -1.062897532932837635222e-02 */ - .quad 0xBF7AAB61214FFE17 /* P10 = -6.511096396024671890972e-03 */ - .quad 0xBFD7000000000000 /* B = -.359375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3BFE67F266843B2C /* PL0 = +1.030196791298162288777e-19 */ - .quad 0x3FD7CD3115FC0F16 /* PH0 = +3.718989100163850869407e-01 */ - .quad 0x3FEB92F96CCC2C5B /* P1 = +8.616912007286247079761e-01 */ - .quad 0xBFD4827320135092 /* P2 = -3.204620183216856200247e-01 */ - .quad 0xBFC582B15550168A /* P3 = -1.680509249273891977521e-01 */ - .quad 0x3FC5AC3B9A2E4C31 /* P4 = +1.693186285816366254244e-01 */ - .quad 0x3F88FA599FCADAFB /* P5 = +1.219625491044728129762e-02 */ - .quad 0xBFB16EC8F5CA169E /* P6 = -6.809669495313605642174e-02 */ - .quad 0x3F90140EFC748BBE /* P7 = +1.570151725639922719844e-02 */ - .quad 0x3F95CFC49C1A28DC /* P8 = +2.130038454792147768770e-02 */ - .quad 0xBF8946ED8B1BF454 /* P9 = -1.234231549050882816697e-02 */ - .quad 0xBF7239E55C1DD50F /* P10 = -4.449745117985472755606e-03 */ - .quad 0xBFD9000000000000 /* B = -.390625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6412330191189C /* PL0 = +8.704448096175471149661e-18 */ - .quad 0x3FD9812B3B03F0A5 /* PH0 = +3.985088421175169703936e-01 */ - .quad 0x3FEAEB08C3C0E84D /* P1 = +8.411907027541559254748e-01 */ - .quad 0xBFD57446B1BC46CF /* P2 = -3.352219329545790787820e-01 */ - .quad 0xBFC2CA9ABC0444AD /* P3 = -1.468079965639267634401e-01 */ - .quad 0x3FC5CA95F9460D18 /* P4 = +1.702449290424759093710e-01 */ - .quad 0xBF2C2DAA35DD05C3 /* P5 = -2.149839664813813012186e-04 */ - .quad 0xBFB069A516EEB75D /* P6 = -6.411201295733578195472e-02 */ - .quad 0x3F9512716416FDC7 /* P7 = +2.057816670798986720058e-02 */ - .quad 0x3F921630CB1319A3 /* P8 = +1.766277541607908852593e-02 */ - .quad 0xBF8B76DA2EC99526 /* P9 = -1.341028647693549562145e-02 */ - .quad 0xBF63A97474A161E4 /* P10 = -2.400138332671485493040e-03 */ - .quad 0xBFDB000000000000 /* B = -.421875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C89B79F5783381C /* PL0 = +4.461236087774530799537e-17 */ - .quad 0x3FDB2A6C993B829D /* PH0 = +4.244643684778937609003e-01 */ - .quad 0x3FEA3C0C1FBA328C /* P1 = +8.198299998926627915155e-01 */ - .quad 0xBFD6457212F78DE0 /* P2 = -3.479886231636708581604e-01 */ - .quad 0xBFC0129BDA380A66 /* P3 = -1.255678954622282824818e-01 */ - .quad 0x3FC5AB77F388FBDE /* P4 = +1.692953051696965507089e-01 */ - .quad 0xBF8822F3A6CADB7C /* P5 = -1.178541519889874597783e-02 */ - .quad 0xBFAE4A876370A4BD /* P6 = -5.916236008517603590739e-02 */ - .quad 0x3F991A89BC3B7710 /* P7 = +2.451529704455085335710e-02 */ - .quad 0x3F8C4A4328204D4B /* P8 = +1.381351915555364098800e-02 */ - .quad 0xBF8C5F921D01EC0B /* P9 = -1.385416174911393178490e-02 */ - .quad 0xBF3EE844C5B79FB8 /* P10 = -4.716079617694784908234e-04 */ - .quad 0xBFDD000000000000 /* B = -.453125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C73FA437AD7AD87 /* PL0 = +1.732779905745858845932e-17 */ - .quad 0x3FDCC88C9902CF45 /* PH0 = +4.497405523536495697279e-01 */ - .quad 0x3FE9870845162D1D /* P1 = +7.977334355686341748810e-01 */ - .quad 0xBFD6F62358F73DA8 /* P2 = -3.587730759436120677668e-01 */ - .quad 0xBFBAC4345D675FE1 /* P3 = -1.045563438450467661101e-01 */ - .quad 0x3FC5539DA8287019 /* P4 = +1.666142531474868131862e-01 */ - .quad 0xBF96E3E0DC04A09F /* P5 = -2.235366194614185212822e-02 */ - .quad 0xBFAB5EC7147C207D /* P6 = -5.345747113284546871398e-02 */ - .quad 0x3F9C24166FFA7A58 /* P7 = +2.748141344511120915667e-02 */ - .quad 0x3F8451B907819844 /* P8 = +9.921498815128277696693e-03 */ - .quad 0xBF8C1C6D19191FCB /* P9 = -1.372609360545586670239e-02 */ - .quad 0x3F547372DF72E35A /* P10 = +1.248228245272117756098e-03 */ - .quad 0xBFDF000000000000 /* B = -.484375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C848FE06EE49950 /* PL0 = +3.566941590788961528958e-17 */ - .quad 0x3FDF20211A36475D /* PH0 = +4.863360172249622803697e-01 */ - .quad 0x3FE86E67E6B80AC2 /* P1 = +7.634772783497611574659e-01 */ - .quad 0xBFD7C37C55474D9B /* P2 = -3.713064987943767913461e-01 */ - .quad 0xBFB2EBF15F3CB036 /* P3 = -7.391270232318521952684e-02 */ - .quad 0x3FC4718C8EF6E3AA /* P4 = +1.597152422016539530950e-01 */ - .quad 0xBFA277F8394E9B07 /* P5 = -3.607154559658991932071e-02 */ - .quad 0xBFA680312AB207E3 /* P6 = -4.394677778419955009224e-02 */ - .quad 0x3F9EDC9A8B57E286 /* P7 = +3.013841128810892143223e-02 */ - .quad 0x3F71B8C5E648EAF6 /* P8 = +4.326603932492947851719e-03 */ - .quad 0xBF89DB218356730C /* P9 = -1.262499029217558458029e-02 */ - .quad 0x3F6B05728E6EBC8E /* P10 = +3.298496001171330815865e-03 */ - .quad 0xBFE1000000000000 /* B = -.53125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8429831EDD94DE /* PL0 = +3.497576705878673192147e-17 */ - .quad 0x3FE10AF47E0BF610 /* PH0 = +5.325872861719194162333e-01 */ - .quad 0x3FE6EC5879F87EEE /* P1 = +7.163507826080299761242e-01 */ - .quad 0xBFD86AD001BFE200 /* P2 = -3.815193192563413204129e-01 */ - .quad 0xBFA239045B661385 /* P3 = -3.559125533778398983564e-02 */ - .quad 0x3FC2B4572D9CC147 /* P4 = +1.461285565105845078038e-01 */ - .quad 0xBFA99F4F01740705 /* P5 = -5.004355328311586406115e-02 */ - .quad 0xBF9F449C484F4879 /* P6 = -3.053516570418721511214e-02 */ - .quad 0x3F9F5F42169D7DDE /* P7 = +3.063681853325116830798e-02 */ - .quad 0xBF6111B1BA632A97 /* P8 = -2.083632588527460989469e-03 */ - .quad 0xBF84725FBE5B6E61 /* P9 = -9.983776089419639342530e-03 */ - .quad 0x3F7438A2986CFA9C /* P10 = +4.936823976832951342488e-03 */ - .quad 0xBFE3000000000000 /* B = -.59375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6BE9160BFB3505 /* PL0 = +1.210424670976053242391e-17 */ - .quad 0x3FE26D76F73233C7 /* PH0 = +5.758623912857893101247e-01 */ - .quad 0x3FE56363B5B93937 /* P1 = +6.683825063026124740752e-01 */ - .quad 0xBFD8A2244B27297E /* P2 = -3.848963483730115724200e-01 */ - .quad 0xBF52CA2F101EEF63 /* P3 = -1.146837196286797844817e-03 */ - .quad 0x3FC081BC342243AD /* P4 = +1.289592032012739958675e-01 */ - .quad 0xBFAE38DB4A932344 /* P5 = -5.902753148399722719732e-02 */ - .quad 0xBF91F814D4AE90C6 /* P6 = -1.754791782481459457885e-02 */ - .quad 0x3F9D056AE193C4F3 /* P7 = +2.834097863973723355792e-02 */ - .quad 0xBF7BD0B502D8F3A0 /* P8 = -6.790835451792626336974e-03 */ - .quad 0xBF7B763F7BB8AE2F /* P9 = -6.704566938008179114124e-03 */ - .quad 0x3F76036F42D9AB69 /* P10 = +5.374369252971835729099e-03 */ - .quad 0xBFE5000000000000 /* B = -.65625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8B64AF0450486E /* PL0 = +4.751979286662385162741e-17 */ - .quad 0x3FE3B75F8BCB742D /* PH0 = +6.161344271055263499548e-01 */ - .quad 0x3FE3DA23BC12369F /* P1 = +6.203783677353447780947e-01 */ - .quad 0xBFD8768FF4B46416 /* P2 = -3.822364701932782367281e-01 */ - .quad 0x3F9D67CB8AD9CB1A /* P3 = +2.871625933625941117406e-02 */ - .quad 0x3FBC168CB7827DF4 /* P4 = +1.097190807363331305006e-01 */ - .quad 0xBFB03A2B83C9272E /* P5 = -6.338760344911228324430e-02 */ - .quad 0xBF789FEB595297DC /* P6 = -6.011885959344067548074e-03 */ - .quad 0x3F98BD01B4C335E7 /* P7 = +2.415850320612902513532e-02 */ - .quad 0xBF83BADC303D6535 /* P8 = -9.633751127398152979976e-03 */ - .quad 0xBF6C54E7A1C1E3F3 /* P9 = -3.458454519258407989501e-03 */ - .quad 0x3F7408394B7EF3E7 /* P10 = +4.890655334688332484537e-03 */ - .quad 0xBFE7000000000000 /* B = -.71875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6A48557F6E0D3E /* PL0 = +1.139824111505584215867e-17 */ - .quad 0x3FE4E8D895B010DC /* PH0 = +6.534235881413468227663e-01 */ - .quad 0x3FE25652FAAF8A73 /* P1 = +5.730376144604875448991e-01 */ - .quad 0xBFD7F6C3A57C444B /* P2 = -3.744362941807295084434e-01 */ - .quad 0x3FAB7866E3F99EBE /* P3 = +5.365296872042567001598e-02 */ - .quad 0x3FB6FA1DF47CCD40 /* P4 = +8.975398272450707099784e-02 */ - .quad 0xBFB05508D3741B8E /* P5 = -6.379752314033580026840e-02 */ - .quad 0x3F6C3EFDF7BB279C /* P6 = +3.448005705512137236209e-03 */ - .quad 0x3F9372BADD6D3E27 /* P7 = +1.899234749299530050806e-02 */ - .quad 0xBF860FD5AE65F3DA /* P8 = -1.077238977881649471165e-02 */ - .quad 0xBF47266FFB07E628 /* P9 = -7.064863949032872448118e-04 */ - .quad 0x3F6F9763992C2A05 /* P10 = +3.856367614735181120799e-03 */ - .quad 0xBFE9000000000000 /* B = -.78125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6BB6A2B194E3AB /* PL0 = +1.201878007209462528697e-17 */ - .quad 0x3FE602609AAE7C22 /* PH0 = +6.877902051090851731630e-01 */ - .quad 0x3FE0DCBAFE191C7F /* P1 = +5.269446337560025312137e-01 */ - .quad 0xBFD732028428A9FB /* P2 = -3.624273577321727538225e-01 */ - .quad 0x3FB2D92389BE065B /* P3 = +7.362577545975439796588e-02 */ - .quad 0x3FB1F6A9C8C49993 /* P4 = +7.017003203927733370937e-02 */ - .quad 0xBFAF47C0B50B56EE /* P5 = -6.109430513394707378526e-02 */ - .quad 0x3F85A8EDD1356223 /* P6 = +1.057611269668352068104e-02 */ - .quad 0x3F8BE05C5CD1B4FA /* P7 = +1.361152799855823798207e-02 */ - .quad 0xBF85A0EFE4552F76 /* P8 = -1.056086936537046752272e-02 */ - .quad 0x3F559F2A6A356194 /* P9 = +1.319686337259627831943e-03 */ - .quad 0x3F6576F5E989208D /* P10 = +2.620201394425042596201e-03 */ - .quad 0xBFEB000000000000 /* B = -.84375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C80328BD86C8B74 /* PL0 = +2.809809047161267929701e-17 */ - .quad 0x3FE704BB1B7FCB81 /* PH0 = +7.193275010198335595035e-01 */ - .quad 0x3FDEE264AAD6C40C /* P1 = +4.825679462765613089739e-01 */ - .quad 0xBFD637493CE659F1 /* P2 = -3.471243948673921548357e-01 */ - .quad 0x3FB6BE3A3DEE6F4A /* P3 = +8.884014141079635303208e-02 */ - .quad 0x3FAA85EB6470AC0F /* P4 = +5.180297471118688523488e-02 */ - .quad 0xBFACC0146EA4858D /* P5 = -5.615295267694895314457e-02 */ - .quad 0x3F8F8FB683CDDAC5 /* P6 = +1.541082944616557159055e-02 */ - .quad 0x3F819515DEE2CB91 /* P7 = +8.585139145315585602547e-03 */ - .quad 0xBF834E45E6AF9EA1 /* P8 = -9.426637747267209169415e-03 */ - .quad 0x3F65250F197CA56D /* P9 = +2.581147662472352252568e-03 */ - .quad 0x3F57A766026D036C /* P10 = +1.443719500187702367690e-03 */ - .quad 0xBFED000000000000 /* B = -.90625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C716F7EEF7B61AD /* PL0 = +1.512291215142578135651e-17 */ - .quad 0x3FE7F0E1A4CD846E /* PH0 = +7.481544703297353660076e-01 */ - .quad 0x3FDC2D4CC872DC09 /* P1 = +4.402648885256331012598e-01 */ - .quad 0xBFD514A99F92ED53 /* P2 = -3.293861444796750250530e-01 */ - .quad 0x3FB9846A6CF2F337 /* P3 = +9.967675361526749494844e-02 */ - .quad 0x3FA20896939AB161 /* P4 = +3.522177268800664413493e-02 */ - .quad 0xBFA97E801F31EE0D /* P5 = -4.979324703978358553405e-02 */ - .quad 0x3F92A11F47B82085 /* P6 = +1.819275737037219740638e-02 */ - .quad 0x3F717D70FE289C34 /* P7 = +4.270020845559097605514e-03 */ - .quad 0xBF7FDCF1D3F6CE2D /* P8 = -7.779068604054678540132e-03 */ - .quad 0x3F69F607E81AF6B6 /* P9 = +3.169074480722534625181e-03 */ - .quad 0x3F3F925C80D0F889 /* P10 = +4.817462766516585511824e-04 */ - .quad 0xBFEF000000000000 /* B = -.96875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C931A11D7E8606E /* PL0 = +6.627280241435322692188e-17 */ - .quad 0x3FE92BFB370D9B71 /* PH0 = +7.866188121086975515439e-01 */ - .quad 0x3FD866160E454111 /* P1 = +3.812308444367014680480e-01 */ - .quad 0xBFD33149F3801DBA /* P2 = -2.998833539899937679796e-01 */ - .quad 0x3FBBDB6D4C949899 /* P3 = +1.088169395412442909023e-01 */ - .quad 0x3F8D6AB2A74B9343 /* P4 = +1.436366627735597372494e-02 */ - .quad 0xBFA404D1047C5D72 /* P5 = -3.909924678571997970917e-02 */ - .quad 0x3F93C47D9ACCD919 /* P6 = +1.930423981976856424661e-02 */ - .quad 0xBF41B755642CFF1B /* P7 = -5.406538915408738478158e-04 */ - .quad 0xBF74B5301AA1E788 /* P8 = -5.055606752756853900641e-03 */ - .quad 0x3F69A84C5B2A3E68 /* P9 = +3.132008679422249529120e-03 */ - .quad 0xBF3CF47830328C11 /* P10 = -4.418176105877589308931e-04 */ - .quad 0xBFF1000000000000 /* B = -1.0625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C884D471B8FD396 /* PL0 = +4.215701792312937090514e-17 */ - .quad 0x3FEA8DBCBC31897A /* PH0 = +8.298019099859594849278e-01 */ - .quad 0x3FD3EE730537C8EA /* P1 = +3.114287901836535219818e-01 */ - .quad 0xBFD08A05AD27CE32 /* P2 = -2.584242049190123217982e-01 */ - .quad 0x3FBC5255406F84B6 /* P3 = +1.106313021005175045399e-01 */ - .quad 0xBF772FA2F633AA5E /* P4 = -5.660664147607434209241e-03 */ - .quad 0xBF99DD8E4C473FC4 /* P5 = -2.525923100057504533247e-02 */ - .quad 0x3F9183C935B6495D /* P6 = +1.710428610165003372069e-02 */ - .quad 0xBF70471A3A591480 /* P7 = -3.974058583087303228038e-03 */ - .quad 0xBF603DDD4DEBB9A4 /* P8 = -1.982624278176818987264e-03 */ - .quad 0x3F62591E44D3C17F /* P9 = +2.239760512218135956425e-03 */ - .quad 0xBF4C195D3A9B1AB4 /* P10 = -8.575158328419569430544e-04 */ - .quad 0xBFF3000000000000 /* B = -1.1875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C90DD1C9BFF7F64 /* PL0 = +5.850777430004479798187e-17 */ - .quad 0x3FEBAD50A4A68BC1 /* PH0 = +8.649066177207417327466e-01 */ - .quad 0x3FD01FBA72CEE1A5 /* P1 = +2.519365426228666233893e-01 */ - .quad 0xBFCBE432F647C4D6 /* P2 = -2.179015829602010702633e-01 */ - .quad 0x3FBABF92B6E5AC73 /* P3 = +1.044856735731387955105e-01 */ - .quad 0xBF922983AA24E217 /* P4 = -1.773648954369563555378e-02 */ - .quad 0xBF8C72214C14E23A /* P5 = -1.388956082756564056328e-02 */ - .quad 0x3F8ACB4D1F388E8B /* P6 = +1.308307887581540972153e-02 */ - .quad 0xBF740EF8B4A2EE3B /* P7 = -4.897090441029978580995e-03 */ - .quad 0xBF0EA9F30C8DC900 /* P8 = -5.848668076326342477133e-05 */ - .quad 0x3F53CC40D18713AE /* P9 = +1.208365725788622757410e-03 */ - .quad 0xBF4848B86029CBA1 /* P10 = -7.410908004444779592485e-04 */ - .quad 0xBFF5000000000000 /* B = -1.3125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8FB61781D22681 /* PL0 = +5.501032995458057064843e-17 */ - .quad 0x3FEC950A3340C8BF /* PH0 = +8.931933404003514764824e-01 */ - .quad 0x3FC9E1DFFD385423 /* P1 = +2.022056566644617586005e-01 */ - .quad 0xBFC71E2FF88EBA23 /* P2 = -1.806087459239772032583e-01 */ - .quad 0x3FB80AEBD07AB5BA /* P3 = +9.391664352252506838449e-02 */ - .quad 0xBF98404E27EAE6ED /* P4 = -2.368280523908243895884e-02 */ - .quad 0xBF772DA520B5006E /* P5 = -5.658764868087568802107e-03 */ - .quad 0x3F824C9268AF9423 /* P6 = +8.935111827620250551925e-03 */ - .quad 0xBF722AE76D206AE3 /* P7 = -4.435447701349490160113e-03 */ - .quad 0x3F4B807F56298D5E /* P8 = +8.392926941493230644497e-04 */ - .quad 0x3F3D71027DF95D2A /* P9 = +4.492407879061627603159e-04 */ - .quad 0xBF3EBD17676755FB /* P10 = -4.690343988874298905483e-04 */ - .quad 0xBFF7000000000000 /* B = -1.4375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C95393C63CE8224 /* PL0 = +7.363407705201031038415e-17 */ - .quad 0x3FED4E6F464286B0 /* PH0 = +9.158245441687622445670e-01 */ - .quad 0x3FC4A45842B7DE1E /* P1 = +1.612654042980787191461e-01 */ - .quad 0xBFC2E7885AFDD3D0 /* P2 = -1.476908153814791087327e-01 */ - .quad 0x3FB4DD6DD51D3FEB /* P3 = +8.150373890862254580204e-02 */ - .quad 0xBF9A05D3ADAB489C /* P4 = -2.541285274021075503042e-02 */ - .quad 0xBF3459B643B4995C /* P5 = -3.105230313899165257622e-04 */ - .quad 0x3F766B30745F2E3A /* P6 = +5.473317409222350365811e-03 */ - .quad 0xBF6C2C891E555BDF /* P7 = -3.439204988051155730940e-03 */ - .quad 0x3F5194F30D6C576D /* P8 = +1.073109966176012791522e-03 */ - .quad 0x3EF4DBB43C3132A2 /* P9 = +1.989194766975849961365e-05 */ - .quad 0xBF2E45EBAB3C15A0 /* P10 = -2.309656316514087783666e-04 */ - .quad 0xBFF9000000000000 /* B = -1.5625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C75111669651DAA /* PL0 = +1.827249135453834384396e-17 */ - .quad 0x3FEDE1EB5937518F /* PH0 = +9.338280432225917193634e-01 */ - .quad 0x3FC06129C7C8EBB1 /* P1 = +1.279651856910653382507e-01 */ - .quad 0xBFBE9763041064E1 /* P2 = -1.194974789545031421774e-01 */ - .quad 0x3FB1A5B9F9113928 /* P3 = +6.893503504509068635308e-02 */ - .quad 0xBF992145039F9AFE /* P4 = -2.454097590080105816526e-02 */ - .quad 0x3F66CB116EA49C89 /* P5 = +2.782377288116648315142e-03 */ - .quad 0x3F67F972FDF30001 /* P6 = +2.926563829163342740100e-03 */ - .quad 0xBF63A7B5975F02F3 /* P7 = -2.399305983061922438601e-03 */ - .quad 0x3F4FDE7B8777F4C8 /* P8 = +9.725669069095216373599e-04 */ - .quad 0xBF25918876626BA4 /* P9 = -1.645545082212515656240e-04 */ - .quad 0xBF1495123C991F00 /* P10 = -7.851527984669912693674e-05 */ - .quad 0xBFFB000000000000 /* B = -1.6875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9F29A5B7426D27 /* PL0 = +1.081172820484012446345e-16 */ - .quad 0x3FEE56B6F3EFABFC /* PH0 = +9.480852856044061915952e-01 */ - .quad 0x3FB9E3EFD94BB9FC /* P1 = +1.011342912204113371518e-01 */ - .quad 0xBFB88BD9760FECA7 /* P2 = -9.588393337610288420285e-02 */ - .quad 0x3FAD48A0350B3ACF /* P3 = +5.719471595295077387313e-02 */ - .quad 0xBF96CC6A5110F129 /* P4 = -2.226415748394675367257e-02 */ - .quad 0x3F71934687170384 /* P5 = +4.290843485649345772606e-03 */ - .quad 0x3F5407BAF73B3DF9 /* P6 = +1.222546180475235334287e-03 */ - .quad 0xBF591B626C0646DD /* P7 = -1.532407870488964407324e-03 */ - .quad 0x3F48B0E1DD283558 /* P8 = +7.535078860329375669277e-04 */ - .quad 0xBF2B322292840D2B /* P9 = -2.074877932117605962646e-04 */ - .quad 0xBE99E4061120C741 /* P10 = -3.858017559892704559672e-07 */ - .quad 0xBFFD000000000000 /* B = -1.8125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6AF8C2041C67CD /* PL0 = +1.169711482626385762338e-17 */ - .quad 0x3FEEB2DFEDD5EC93 /* PH0 = +9.593352933146824801369e-01 */ - .quad 0x3FB465A205CFB638 /* P1 = +7.967579500083210999681e-02 */ - .quad 0xBFB3914BF68D39FF /* P2 = -7.643580216720378576778e-02 */ - .quad 0x3FA7F21A08C5C734 /* P3 = +4.676896435820623621673e-02 */ - .quad 0xBF93DA9560EA9960 /* P4 = -1.938851741820124550772e-02 */ - .quad 0x3F73953FEC62820E /* P5 = +4.781007481284861359820e-03 */ - .quad 0x3F2749D5E1273E3C /* P6 = +1.776765426044646108071e-04 */ - .quad 0xBF4D46B0B498CE5A /* P7 = -8.934367007839658352859e-04 */ - .quad 0x3F4153D680E1F4C4 /* P8 = +5.287930851093571206574e-04 */ - .quad 0xBF28477014ECA6A2 /* P9 = -1.852344816708944640949e-04 */ - .quad 0x3EFFAC54E07CEB4B /* P10 = +3.020588886147182143902e-05 */ - .quad 0xBFFF000000000000 /* B = -1.9375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7A8AF2BB2231F2 /* PL0 = +2.302217989249372577466e-17 */ - .quad 0x3FEF1994DF724FC8 /* PH0 = +9.718727459135090285258e-01 */ - .quad 0x3FAC65B1BC0C9D58 /* P1 = +5.546336575053583942603e-02 */ - .quad 0xBFAB9937BDA747C8 /* P2 = -5.390333356957871365599e-02 */ - .quad 0x3FA15B42D9EF931C /* P3 = +3.389939222669210777241e-02 */ - .quad 0xBF8EACD8E8507A3C /* P4 = -1.497811755149058215502e-02 */ - .quad 0x3F7263A15721C682 /* P5 = +4.489546046998806349050e-03 */ - .quad 0xBF42A032ACDC3B32 /* P6 = -5.684134900735048121829e-04 */ - .quad 0xBF3431E79B5AD185 /* P7 = -3.081503340170088810438e-04 */ - .quad 0x3F31B51667C7DF5E /* P8 = +2.701930714290502424828e-04 */ - .quad 0xBF1F8709579250AD /* P9 = -1.202678157759563704341e-04 */ - .quad 0x3F01ED8ED1BF9595 /* P10 = +3.419487094883790833778e-05 */ - .quad 0xC001000000000000 /* B = -2.125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C86F3F7C3DAFC55 /* PL0 = +3.981710680748877459333e-17 */ - .quad 0x3FEF73776B2AA2DB /* PH0 = +9.828450291725759901951e-01 */ - .quad 0x3FA16A7FC4D7B900 /* P1 = +3.401564863075812007064e-02 */ - .quad 0xBFA11E03803AD621 /* P2 = -3.343211117082156940532e-02 */ - .quad 0x3F9609591597297F /* P3 = +2.152003473546803654658e-02 */ - .quad 0xBF847E74ED9BBB0C /* P4 = -1.000682211039596246436e-02 */ - .quad 0x3F6BFF771725CD65 /* P5 = +3.417713736035987187864e-03 */ - .quad 0xBF491D1FF73C18FA /* P6 = -7.664114077392807421000e-04 */ - .quad 0x3EF53EE467B51DC5 /* P7 = +2.026145237479599375099e-05 */ - .quad 0x3F160135BE0D94A0 /* P8 = +8.394136922403255700685e-05 */ - .quad 0xBF0B32CB1D276A40 /* P9 = -5.187685350778849443841e-05 */ - .quad 0x3EF4DAF70C12D555 /* P10 = +1.988919462255396826584e-05 */ - .quad 0xC003000000000000 /* B = -2.375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C19DBF4E2E5B7DC /* PL0 = +3.504575836708380670219e-19 */ - .quad 0x3FEFAA7934B75EBD /* PH0 = +9.895597486128832054320e-01 */ - .quad 0x3F9545200830A42C /* P1 = +2.077150392520736492125e-02 */ - .quad 0xBF950C46D285F6BC /* P2 = -2.055464420253970271376e-02 */ - .quad 0x3F8B79F5BFC6513F /* P3 = +1.341621390819425058164e-02 */ - .quad 0xBF7A50ADAD777898 /* P4 = -6.424597194806612772505e-03 */ - .quad 0x3F633A19BE8255E3 /* P5 = +2.347040444940816227383e-03 */ - .quad 0xBF44E609BC2557B7 /* P6 = -6.377742322836087134324e-04 */ - .quad 0x3F1AFCBAD60EAACD /* P7 = +1.029480968230231421206e-04 */ - .quad 0x3EE80476AC34A8EF /* P8 = +1.145240583485084317660e-05 */ - .quad 0xBEF278E23DE463E9 /* P9 = -1.761646478213091821804e-05 */ - .quad 0x3EE209FAF377264D /* P10 = +8.601658563106529694651e-06 */ - .quad 0xC005000000000000 /* B = -2.625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C979D62702C631C /* PL0 = +8.193023793215066385979e-17 */ - .quad 0x3FEFCC04CDBCDC4B /* PH0 = +9.936546343150295390600e-01 */ - .quad 0x3F89E87D088D269A /* P1 = +1.265046770426474576547e-02 */ - .quad 0xBF89BE6721012B80 /* P2 = -1.257019586059526836624e-02 */ - .quad 0x3F80F1C13E8D39D3 /* P3 = +8.273610803056031004326e-03 */ - .quad 0xBF7082DBC9602757 /* P4 = -4.031046430108839563004e-03 */ - .quad 0x3F590BE9BD4E0A11 /* P5 = +1.528719197467002507978e-03 */ - .quad 0xBF3DCC2BEF6D0283 /* P6 = -4.546744598208711809986e-04 */ - .quad 0x3F1A08065C4A8E85 /* P7 = +9.930170842636406837764e-05 */ - .quad 0xBEE528117D0410F3 /* P8 = -1.008821337267942266431e-05 */ - .quad 0xBED0BE73A44FF565 /* P9 = -3.992069257383521775961e-06 */ - .quad 0x3EC9B0C11E342E38 /* P10 = +3.062539904901699218737e-06 */ - .quad 0xC007000000000000 /* B = -2.875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C804B931AD7A3CC /* PL0 = +2.826768921701616830245e-17 */ - .quad 0x3FEFE06EB0688212 /* PH0 = +9.961465306733450209009e-01 */ - .quad 0x3F7F81BD8876224D /* P1 = +7.692089427458426472642e-03 */ - .quad 0xBF7F62A8C699A963 /* P2 = -7.662448196791823756776e-03 */ - .quad 0x3F74C31E2B2A6A28 /* P3 = +5.068891378551522166321e-03 */ - .quad 0xBF6470D537F16227 /* P4 = -2.495209162173734080001e-03 */ - .quad 0x3F4FAEEF61C89673 /* P5 = +9.668988091717359455754e-04 */ - .quad 0xBF33C5E80B349783 /* P6 = -3.017131341088651514023e-04 */ - .quad 0x3F138F3D31037A6B /* P7 = +7.461367590931028650557e-05 */ - .quad 0xBEEB3C780996FFE3 /* P8 = -1.298723536791163711556e-05 */ - .quad 0x3E9D0C75BC8BFEFC /* P9 = +4.328589367358221917138e-07 */ - .quad 0x3EAC3865227764D4 /* P10 = +8.410302755848104487452e-07 */ - .quad 0xC009000000000000 /* B = -3.125 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C5B978B202749F9 /* PL0 = +5.983054034451594408315e-18 */ - .quad 0x3FEFECD6B7EA3128 /* PH0 = +9.976609794698889643882e-01 */ - .quad 0x3F73238B786137FE /* P1 = +4.672570043181776968058e-03 */ - .quad 0xBF731815ACEA072E /* P2 = -4.661640805922390930706e-03 */ - .quad 0x3F6956F0816D5AEE /* P3 = +3.093213784647877798933e-03 */ - .quad 0xBF591A16286C4885 /* P4 = -1.532098425461232453877e-03 */ - .quad 0x3F43B3E3A00C6096 /* P5 = +6.012784434430592468442e-04 */ - .quad 0xBF29441B2A56DEC7 /* P6 = -1.927645836710038499293e-04 */ - .quad 0x3F0A99C3A2E857B6 /* P7 = +5.073669705184196724674e-05 */ - .quad 0xBEE61CB034DDC151 /* P8 = -1.054385361573597042258e-05 */ - .quad 0x3EB792BBC76D6107 /* P9 = +1.405070887824641788698e-06 */ - .quad 0x3E761472362A16F0 /* P10 = +8.225391704739515383837e-08 */ - .quad 0xC00B000000000000 /* B = -3.375 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9C290AFCBDE00D /* PL0 = +9.770074992945060684926e-17 */ - .quad 0x3FEFF45F6D36133A /* PH0 = +9.985806592017987259879e-01 */ - .quad 0x3F673CEC093032DE /* P1 = +2.836667068100913999228e-03 */ - .quad 0xBF67347A7CD844D5 /* P2 = -2.832640870800243808078e-03 */ - .quad 0x3F5EDA25530355DB /* P3 = +1.883064698679040793627e-03 */ - .quad 0xBF4EAD3BBABC1BA9 /* P4 = -9.361783645268534848806e-04 */ - .quad 0x3F3842E61CD35432 /* P5 = +3.701984213198588740338e-04 */ - .quad 0xBF1F9AB7FD1A3DDD /* P6 = -1.205611036090218544867e-04 */ - .quad 0x3F0136C154EA3DED /* P7 = +3.283288480304320224929e-05 */ - .quad 0xBEDF12807F721E66 /* P8 = -7.408207230892235753013e-06 */ - .quad 0x3EB5B53687AD5112 /* P9 = +1.293889481520047941659e-06 */ - .quad 0xBE801E90FBFED147 /* P10 = -1.200988872775447204019e-07 */ - .quad 0xC00D000000000000 /* B = -3.625 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9E323294294877 /* PL0 = +1.047637125334028950603e-16 */ - .quad 0x3FEFF8F21CDAAA62 /* PH0 = +9.991388858373506653976e-01 */ - .quad 0x3F5C3470628813F2 /* P1 = +1.721486807697344658108e-03 */ - .quad 0xBF5C2E38AC6FF8D2 /* P2 = -1.720004411026422324849e-03 */ - .quad 0x3F52C13234626F43 /* P3 = +1.144694354969070234454e-03 */ - .quad 0xBF42B0A47DF47BB4 /* P4 = -5.703738387728891173354e-04 */ - .quad 0x3F2DB2889E32FBFD /* P5 = +2.265731592156760387344e-04 */ - .quad 0xBF1385FBD54C5A55 /* P6 = -7.447576110695385196414e-05 */ - .quad 0x3EF5AFA812C6984E /* P7 = +2.068153223579892541184e-05 */ - .quad 0xBED47097C188A03C /* P8 = -4.873231795467276043290e-06 */ - .quad 0x3EAFF2B982F7EE8C /* P9 = +9.521288628073486288914e-07 */ - .quad 0xBE828EC5B57D424D /* P10 = -1.382656715739529384702e-07 */ - .quad 0xC00F000000000000 /* B = -3.875 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9BA40DA6983BEC /* PL0 = +9.589840482158163453169e-17 */ - .quad 0x3FEFFCAAC3F20E65 /* PH0 = +9.995931460438894911036e-01 */ - .quad 0x3F4AA87CF664754C /* P1 = +8.135423820793490331956e-04 */ - .quad 0xBF4AA5B62919E224 /* P2 = -8.132113891426467676310e-04 */ - .quad 0x3F41C01B53B0B312 /* P3 = +5.416997368051531710388e-04 */ - .quad 0xBF31B8B54D091751 /* P4 = -2.704088811110632606347e-04 */ - .quad 0x3F1C431305954ECC /* P5 = +1.078110084525254933728e-04 */ - .quad 0xBF02B7DEAD0D44E6 /* P6 = -3.570221236393906131126e-05 */ - .quad 0x3EE51C6EFF109EA9 /* P7 = +1.006654199116272154479e-05 */ - .quad 0xBEC48CFB08072D17 /* P8 = -2.449834994621594976610e-06 */ - .quad 0x3EA1585EC59CAE34 /* P9 = +5.169271261920604503617e-07 */ - .quad 0xBE78832BAF950BA9 /* P10 = -9.131575131209528255629e-08 */ - .quad 0xC011000000000000 /* B = -4.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8FBF237F4AFE10 /* PL0 = +5.507163370275307643966e-17 */ - .quad 0x3FEFFEC61279A3A4 /* PH0 = +9.998503075449787225182e-01 */ - .quad 0x3F339E78281A00EA /* P1 = +2.993625022114214863645e-04 */ - .quad 0xBF339DB7B072AD62 /* P2 = -2.993176899035080028902e-04 */ - .quad 0x3F2A259E658EF4E4 /* P3 = +1.994853835451177669594e-04 */ - .quad 0xBF1A219C312B10BA /* P4 = -9.968295880030927192162e-05 */ - .quad 0x3F04E146B4F5F4B7 /* P5 = +3.982541113154699160876e-05 */ - .quad 0xBEEBC5F137088210 /* P6 = -1.324329943580649487333e-05 */ - .quad 0x3ECF96736E300B00 /* P7 = +3.765547135882256916132e-06 */ - .quad 0xBEAF4874840B91EB /* P8 = -9.323068824421825762292e-07 */ - .quad 0x3E8B6AB2B5C8FD3F /* P9 = +2.042709991312793245971e-07 */ - .quad 0xBE650BCCE62FD2B7 /* P10 = -3.920140725219944650830e-08 */ - .quad 0xC013000000000000 /* B = -4.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9C869C85471703 /* PL0 = +9.896883942603146946483e-17 */ - .quad 0x3FEFFF8C81C6DC33 /* PH0 = +9.999449286177707341139e-01 */ - .quad 0x3F1CDF5A2E4D7C69 /* P1 = +1.101397316012206760643e-04 */ - .quad 0xBF1CDEF1F9BE63BE /* P2 = -1.101336660539594564027e-04 */ - .quad 0x3F133EC10C83AAA0 /* P3 = +7.341435696487731017506e-05 */ - .quad 0xBF033DAB325FAACB /* P4 = -3.669909192168459445238e-05 */ - .quad 0x3EEEC598FA98BAD8 /* P5 = +1.467316890843338172161e-05 */ - .quad 0xBED47F1A15BA368E /* P6 = -4.886744445221253126882e-06 */ - .quad 0x3EB761FBE7D201C1 /* P7 = +1.393720509029845064726e-06 */ - .quad 0xBE974CD75A43BF6B /* P8 = -3.471994551992448536007e-07 */ - .quad 0x3E74B02965BBF8DC /* P9 = +7.706929621914905669946e-08 */ - .quad 0xBE504EF4E3892A66 /* P10 = -1.518840362012570189110e-08 */ - .quad 0xC015000000000000 /* B = -5.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C643810400471B0 /* PL0 = +8.768592603904887599187e-18 */ - .quad 0x3FEFFFD583014825 /* PH0 = +9.999797400180382433987e-01 */ - .quad 0x3F053E71416C43CA /* P1 = +4.051955345663706869871e-05 */ - .quad 0xBF053E550C7C8CC9 /* P2 = -4.051873253121394012080e-05 */ - .quad 0x3EFC52D0D90D4843 /* P3 = +2.701139380018752534477e-05 */ - .quad 0xBEEC523A6ADBE142 /* P4 = -1.350460237457883558350e-05 */ - .quad 0x3ED6A73E22D844B3 /* P5 = +5.400965660055565196396e-06 */ - .quad 0xBEBE31D10F23ACD0 /* P6 = -1.799738182979224868919e-06 */ - .quad 0x3EA13E14264DEAB2 /* P7 = +5.138663935333241981438e-07 */ - .quad 0xBE81385ABB98EDCC /* P8 = -1.282999997786486835638e-07 */ - .quad 0x3E5EB9164593E0B6 /* P9 = +2.861301981891537161158e-08 */ - .quad 0xBE387218CFE7772E /* P10 = -5.691705994073124478195e-09 */ - .quad 0xC017000000000000 /* B = -5.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C92530433F4C703 /* PL0 = +6.357512739163799046861e-17 */ - .quad 0x3FEFFFF05E8D3191 /* PH0 = +9.999925467214315633058e-01 */ - .quad 0x3EEF42DDFA52B575 /* P1 = +1.490650158538873335176e-05 */ - .quad 0xBEEF42CEB54212AA /* P2 = -1.490639048307961378200e-05 */ - .quad 0x3EE4D7201CBCB853 /* P3 = +9.937445518550804010127e-06 */ - .quad 0xBED4D6F764B66C37 /* P4 = -4.968574624976280456686e-06 */ - .quad 0x3EC0ABB806EBDE71 /* P5 = +1.987311456171617620608e-06 */ - .quad 0xBEA6399CF854F876 /* P6 = -6.623581475862682369330e-07 */ - .quad 0x3E8964B91728D7C9 /* P7 = +1.891959403186505598965e-07 */ - .quad 0xBE6961A0528444D6 /* P8 = -4.727645325404986954168e-08 */ - .quad 0x3E46AE3B0814EE00 /* P9 = +1.056147192151514779549e-08 */ - .quad 0xBE221B8194DACD16 /* P10 = -2.107984154277957626641e-09 */ - .quad 0xC019000000000000 /* B = -6.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C7BB5622CE1A79E /* PL0 = +2.403331811901679167526e-17 */ - .quad 0x3FEFFFFA3FF22708 /* PH0 = +9.999972580855862602789e-01 */ - .quad 0x3ED7003552D53503 /* P1 = +5.483821309338170039906e-06 */ - .quad 0xBED7003130C1AB92 /* P2 = -5.483806273169366545037e-06 */ - .quad 0x3ECEAAE13B699C45 /* P3 = +3.655850800133043324271e-06 */ - .quad 0xBEBEAACB305F3D07 /* P4 = -1.827905351959291114416e-06 */ - .quad 0x3EA8887F5F9C87EF /* P5 = +7.311461438267648556646e-07 */ - .quad 0xBE905AD08DF8454F /* P6 = -2.437046884027860662692e-07 */ - .quad 0x3E72B068300B703F /* P7 = +6.962228483613086736676e-08 */ - .quad 0xBE52AF921A71C058 /* P8 = -1.740252888706390465423e-08 */ - .quad 0x3E30B53EAA35300D /* P9 = +3.890131469838137725119e-09 */ - .quad 0xBE0AB60CDAD7E22E /* P10 = -7.773963050435300060566e-10 */ - .quad 0xC01B000000000000 /* B = -6.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8BD1ACF80D7256 /* PL0 = +4.825835138930451121169e-17 */ - .quad 0x3FEFFFFDE2760A41 /* PH0 = +9.999989913051835488389e-01 */ - .quad 0x3EC0EC4F1EC27E55 /* P1 = +2.017388615341105998718e-06 */ - .quad 0xBEC0EC4E005E6EAC /* P2 = -2.017386580411626200507e-06 */ - .quad 0x3EB6906504BC4610 /* P3 = +1.344921673533307001969e-06 */ - .quad 0xBEA6905F0D52C8B5 /* P4 = -6.724581235377781360384e-07 */ - .quad 0x3E920D0F5CCE152B /* P5 = +2.689810941136721216499e-07 */ - .quad 0xBE7811505B10E753 /* P6 = -8.965891741619763761543e-08 */ - .quad 0x3E5B811EE4F9B8EE /* P7 = +2.561544781706659619288e-08 */ - .quad 0xBE3B80ABC067E840 /* P8 = -6.403452884688571158579e-09 */ - .quad 0x3E1898E394E09335 /* P9 = +1.431746793613569087489e-09 */ - .quad 0xBDF3ABB5BA711DB7 /* P10 = -2.862469657501951918569e-10 */ - .quad 0xC01D000000000000 /* B = -7.25 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8AE01DB39A3791 /* PL0 = +4.662147961093911873193e-17 */ - .quad 0x3FEFFFFF38C76668 /* PH0 = +9.999996289217962797125e-01 */ - .quad 0x3EA8E712E56E1188 /* P1 = +7.421562696484951529573e-07 */ - .quad 0xBEA8E7124A650791 /* P2 = -7.421559942504648535596e-07 */ - .quad 0x3EA09A0B62D8EF94 /* P3 = +4.947702955735978541097e-07 */ - .quad 0xBE909A09C56C2107 /* P4 = -2.473847805916120382218e-07 */ - .quad 0x3E7A900A90A54A6E /* P5 = +9.895362410487317236618e-08 */ - .quad 0xBE61B5557BB449B6 /* P6 = -3.298434544432568302770e-08 */ - .quad 0x3E443CC74732CDCA /* P7 = +9.423781066565733462466e-09 */ - .quad 0xBE243CA8AA8D6E54 /* P8 = -2.355890888986360997159e-09 */ - .quad 0x3E0219C341E0D1B4 /* P9 = +5.267978308406275552691e-10 */ - .quad 0xBDDCF49A10950F13 /* P10 = -1.053394074620716018815e-10 */ - .quad 0xC01F000000000000 /* B = -7.75 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C75CB18F3775414 /* PL0 = +1.890271747518592444083e-17 */ - .quad 0x3FEFFFFFD38C39F0 /* PH0 = +9.999999172012490333827e-01 */ - .quad 0x3E8639E2F89493BB /* P1 = +1.655974950855472979393e-07 */ - .quad 0xBE8639E2D9B29562 /* P2 = -1.655974813708346974914e-07 */ - .quad 0x3E7DA2836A1F706E /* P3 = +1.103982989742589616541e-07 */ - .quad 0xBE6DA282C6733DAE /* P4 = -5.519913131581509871840e-08 */ - .quad 0x3E57B53A278851FD /* P5 = +2.207971980430773309147e-08 */ - .quad 0xBE3F9C4A72536E22 /* P6 = -7.359895614149337484810e-09 */ - .quad 0x3E220E81FBE19CDD /* P7 = +2.102073153607135257714e-09 */ - .quad 0xBE020E8875ADA8D8 /* P8 = -5.255211642212584097407e-10 */ - .quad 0x3DE07634328384FC /* P9 = +1.197748786062966341989e-10 */ - .quad 0xBDBA54078E3C351F /* P10 = -2.394539505021488953905e-11 */ - .quad 0xC021000000000000 /* B = -8.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C98B78738B0EDEF /* PL0 = +8.575399788039081964921e-17 */ - .quad 0x3FEFFFFFF9FBEA40 /* PH0 = +9.999999887944071019774e-01 */ - .quad 0x3E581056FAC28C46 /* P1 = +2.241118550516412682327e-08 */ - .quad 0xBE581056F63A4351 /* P2 = -2.241118525356742542550e-08 */ - .quad 0x3E500AE49533790A /* P3 = +1.494078933911655875521e-08 */ - .quad 0xBE400AE489ACBA90 /* P4 = -7.470394349637968945652e-09 */ - .quad 0x3E29AB0D59A1967B /* P5 = +2.988168557255271725494e-09 */ - .quad 0xBE111CB32D6EEF2B /* P6 = -9.960558400070350772418e-10 */ - .quad 0x3DF38CBADF396908 /* P7 = +2.844859618921805216353e-10 */ - .quad 0xBDD38CC7B92CECD3 /* P8 = -7.112220386749926320915e-11 */ - .quad 0x3DB1D2BBE2705032 /* P9 = +1.621008722427575444686e-11 */ - .quad 0xBD8C8199294E6380 /* P10 = -3.240784656869469020111e-12 */ - .quad 0xC023000000000000 /* B = -9.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8EEEC16618B984 /* PL0 = +5.365957423487855307906e-17 */ - .quad 0x3FEFFFFFFF2F9279 /* PH0 = +9.999999984834878619111e-01 */ - .quad 0x3E2A0DB0D052B148 /* P1 = +3.033024167396880687734e-09 */ - .quad 0xBE2A0DB0CFA6AB71 /* P2 = -3.033024162734192808028e-09 */ - .quad 0x3E215E75D53A3105 /* P3 = +2.022016035353114070618e-09 */ - .quad 0xBE115E75D40AA47F /* P4 = -1.011008013562702155050e-09 */ - .quad 0x3DFBCA5CDC12ED1C /* P5 = +4.044047007631481841556e-10 */ - .quad 0xBDE286E85704FC22 /* P6 = -1.348015410318274576187e-10 */ - .quad 0x3DC52A8925354517 /* P7 = +3.850101197145027796396e-11 */ - .quad 0xBDA52A97EA3F5F4A /* P8 = -9.625355478142550638468e-12 */ - .quad 0x3D834C011A2AC0F7 /* P9 = +2.193802608697321032841e-12 */ - .quad 0xBD5EDD05BDCB3A62 /* P10 = -4.385948508419928563300e-13 */ - .quad 0xC025000000000000 /* B = -10.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6BD8B474BBF792 /* PL0 = +1.207649585364892639612e-17 */ - .quad 0x3FEFFFFFFFE3CAD8 /* PH0 = +9.999999997947623953110e-01 */ - .quad 0x3DFC3527E43C565F /* P1 = +4.104751852963940338559e-10 */ - .quad 0xBDFC3527E420F415 /* P2 = -4.104751852036136216697e-10 */ - .quad 0x3DF2CE1A8D806DAD /* P3 = +2.736501142887952919489e-10 */ - .quad 0xBDE2CE1A8DDF690A /* P4 = -1.368250573053032426141e-10 */ - .quad 0x3DCE169832D8BD68 /* P5 = +5.473022586854025789680e-11 */ - .quad 0xBDB40F0FE853DA5B /* P6 = -1.824340550195944358477e-11 */ - .quad 0x3D96EA8D930D31A1 /* P7 = +5.210545794901128943676e-12 */ - .quad 0xBD76EA9DB0D09839 /* P8 = -1.302650427355019556441e-12 */ - .quad 0x3D54E474FD4303A1 /* P9 = +2.968990047962355000258e-13 */ - .quad 0xBD30B526CA2B228A /* P10 = -5.935740124899435401321e-14 */ - .quad 0xC027000000000000 /* B = -11.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C56E8953D525FD5 /* PL0 = +4.967494994909661698725e-18 */ - .quad 0x3FEFFFFFFFFC2EB9 /* PH0 = +9.999999999722241073030e-01 */ - .quad 0x3DCE8A37A48016C2 /* P1 = +5.555177547354687971427e-11 */ - .quad 0xBDCE8A37A479B7D4 /* P2 = -5.555177547084873157964e-11 */ - .quad 0x3DC45C250CFA9C16 /* P3 = +3.703451575129414499553e-11 */ - .quad 0xBDB45C250D9F8467 /* P4 = -1.851725791056759260154e-11 */ - .quad 0x3DA049BB33CBD4E9 /* P5 = +7.406930640558963265190e-12 */ - .quad 0xBD85B7A407C422C1 /* P6 = -2.468976464832073512208e-12 */ - .quad 0x3D68CF9CED2B3FD5 /* P7 = +7.051706989348171774536e-13 */ - .quad 0xBD48CFAE64C352B3 /* P8 = -1.762945685274427023683e-13 */ - .quad 0x3D269EAE08690D52 /* P9 = +4.018091287355461204663e-14 */ - .quad 0xBD0216CBEAFFF5AA /* P10 = -8.033151495672990022322e-15 */ - .quad 0xC029000000000000 /* B = -12.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C8ACF1392B106D3 /* PL0 = +4.650601502940921454330e-17 */ - .quad 0x3FEFFFFFFFFF7BBD /* PH0 = +9.999999999962408958609e-01 */ - .quad 0x3DA088529889B316 /* P1 = +7.518115268189742464885e-12 */ - .quad 0xBDA088529887F4C4 /* P2 = -7.518115268005149164680e-12 */ - .quad 0x3D960B18BF1DF711 /* P3 = +5.012076679213679703380e-12 */ - .quad 0xBD860B18BFD99A48 /* P4 = -2.506038344573564868987e-12 */ - .quad 0x3D71A27E7CA64143 /* P5 = +1.002419056539285288454e-12 */ - .quad 0xBD5783530EA76D91 /* P6 = -3.341396294294381580191e-13 */ - .quad 0x3D3ADCC75CBD2A03 /* P7 = +9.543447641637910477850e-14 */ - .quad 0xBD1ADCDA46BE5F17 /* P8 = -2.385887543769010971872e-14 */ - .quad 0x3CF87D77650BE5B8 /* P9 = +5.437895260471143131391e-15 */ - .quad 0xBCD395AE6E74C6D2 /* P10 = -1.087168847335561258239e-15 */ - .quad 0xC02B000000000000 /* B = -13.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C97A8A295292858 /* PL0 = +8.208271151146829171896e-17 */ - .quad 0x3FEFFFFFFFFFEE19 /* PH0 = +9.999999999994911847878e-01 */ - .quad 0x3D71E642BB008F95 /* P1 = +1.017466259229268282255e-12 */ - .quad 0xBD71E642BAFEEC54 /* P2 = -1.017466259207593392022e-12 */ - .quad 0x3D67DDAE41647741 /* P3 = +6.783108169938233581038e-13 */ - .quad 0xBD57DDAE4230F34B /* P4 = -3.391554091734942426856e-13 */ - .quad 0x3D4317C33FAE2536 /* P5 = +1.356626669455791324801e-13 */ - .quad 0xBD2975040D3E26B9 /* P6 = -4.522088139411435138867e-14 */ - .quad 0x3D0D155DCD0F0AFB /* P7 = +1.291565189902030307333e-14 */ - .quad 0xBCED157247832B20 /* P8 = -3.228947666403019234175e-15 */ - .quad 0x3CCA83D70F607C28 /* P9 = +7.359390959466796619024e-16 */ - .quad 0xBCA5343952C1E19E /* P10 = -1.471323041436694087188e-16 */ - .quad 0xC02D000000000000 /* B = -14.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C9B7876CBC5306E /* PL0 = +9.530765996816607711732e-17 */ - .quad 0x3FEFFFFFFFFFFD93 /* PH0 = +9.999999999999310551502e-01 */ - .quad 0x3D436121E2640D76 /* P1 = +1.376990843765503869546e-13 */ - .quad 0xBD436121E26250EA /* P2 = -1.376990843736775811281e-13 */ - .quad 0x3D39D6D7CA259186 /* P3 = +9.179938654047876451320e-14 */ - .quad 0xBD29D6D7CB0327CE /* P4 = -4.589969336188563660531e-14 */ - .quad 0x3D14ABE4DC31244A /* P5 = +1.835994545584345768382e-14 */ - .quad 0xBCFB8FDB82AB6BB7 /* P6 = -6.119980791767901275443e-15 */ - .quad 0x3CDF7CF757491B60 /* P7 = +1.747943407988343076526e-15 */ - .quad 0xBCBF7D0D833640FB /* P8 = -4.369905470133249448357e-16 */ - .quad 0x3C9CB512F6BDC754 /* P9 = +9.959852600692493655511e-17 */ - .quad 0xBC76F50AB1B0E9BA /* P10 = -1.991219205936492089091e-17 */ - .quad 0xC02F000000000000 /* B = -15.5 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C6FFE15D5F78543 /* PL0 = +1.387454417328248962819e-17 */ - .quad 0x3FEFFFFFFFFFFFE1 /* PH0 = +9.999999999999965583086e-01 */ - .quad 0x3CFEE00288B99C26 /* P1 = +6.855635762864742358597e-15 */ - .quad 0xBCFEE0027D060EE2 /* P2 = -6.855635607998342735403e-15 */ - .quad 0x3CF4954AA23148A2 /* P3 = +4.570381865813341696777e-15 */ - .quad 0xBCE4954B5DAD3010 /* P4 = -2.285192173571711474199e-15 */ - .quad 0x3CD07883DD8793BD /* P5 = +9.143109661358222028007e-16 */ - .quad 0xBCB5F5F4BB87ADCF /* P6 = -3.047668447080103869032e-16 */ - .quad 0x3C98F1A905097685 /* P7 = +8.654183371862458774513e-17 */ - .quad 0xBC78F2D585007222 /* P8 = -2.163943551222030413627e-17 */ - .quad 0x3C58A37CC5082B5F /* P9 = +5.342649626494471588064e-18 */ - .quad 0xBC33AE7917F94D17 /* P10 = -1.066938163384541013918e-18 */ - .quad 0xC031000000000000 /* B = -17 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x3C91BF1D80474F0F /* PL0 = +6.157069264461989135096e-17 */ - .quad 0x3FEFFFFFFFFFFFFE /* PH0 = +9.999999999999997779554e-01 */ - .quad 0x3CB72071400E6275 /* P1 = +3.209478247225075961360e-16 */ - .quad 0xBCB72071400A9F37 /* P2 = -3.209478247103497434502e-16 */ - .quad 0x3CAED5EC39A77629 /* P3 = +2.139652050028423711308e-16 */ - .quad 0xBC9ED5EC3B530600 /* P4 = -1.069826028468029104719e-16 */ - .quad 0x3C88AB2BFED159DE /* P5 = +4.279326904335078988705e-17 */ - .quad 0xBC70721D1220B3FC /* P6 = -1.426441958074916244382e-17 */ - .quad 0x3C52C96049721FB8 /* P7 = +4.073700029965821523731e-18 */ - .quad 0xBC32C971215735DC /* P8 = -1.018438939975201710113e-18 */ - .quad 0x3C112EF658AB41A9 /* P9 = +2.328791246104218830028e-19 */ - .quad 0xBBEB7B598C6AD3DE /* P10 = -4.655603964908654142787e-20 */ - .quad 0xC03287E0C98F84E5 /* B = -18.530774 */ - .quad 0x3FF0000000000000 /* A = +1 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ - .quad 0x3FF0000000000000 /* PH0 = +1.000000000000000000000e+00 */ - .quad 0x0000000000000000 /* P1 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P2 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P3 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P4 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P5 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P6 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P7 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P8 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P9 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* P10 = +0.000000000000000000000e-01 */ - .quad 0x0000000000000000 /* B = +0 */ - .quad 0x0000000000000000 /* A = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .quad 0x0000000000000000 /* Align value = +0 */ - .align 32 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */ - .align 32 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */ - .align 32 - .long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */ - .align 32 - .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */ - .align 32 - .long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */ - .align 32 - .long 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */ - .align 32 - .type __svml_dtanh_data_internal,@object - .size __svml_dtanh_data_internal,.-__svml_dtanh_data_internal + /* Polynomial coefficients */ + .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* PH0 = +0.000000000000000000000e-01 */ + .quad 0x3FF0000000000000 /* P1 = +1.000000000000000014103e+00 */ + .quad 0xBD197DEAD79668D3 /* P2 = -2.264132406596103056796e-14 */ + .quad 0xBFD555555553AF3C /* P3 = -3.333333333273349741024e-01 */ + .quad 0xBE052F7CCA134846 /* P4 = -6.165791385711493738399e-10 */ + .quad 0x3FC11111563849D6 /* P5 = +1.333333655353061107201e-01 */ + .quad 0xBEB038623673FFB2 /* P6 = -9.668021563879858950855e-07 */ + .quad 0xBFAB9F685E64022E /* P7 = -5.395055916051593179252e-02 */ + .quad 0xBF2A54E2B28F2207 /* P8 = -2.008940439550829012647e-04 */ + .quad 0x3F97CFB9328A230E /* P9 = +2.325333949059698582189e-02 */ + .quad 0xBF75CA6D61723E02 /* P10 = -5.320002811586290441790e-03 */ + .quad 0x0000000000000000 /* B = +0 */ + .quad 0x3FF0000000000000 /* A = +1.0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C3708A564FAD29A /* PL0 = +1.248663375337163807466e-18 */ + .quad 0x3FC0E6973998DA48 /* PH0 = +1.320370703922029154143e-01 */ + .quad 0x3FEF712EB25C0888 /* P1 = +9.825662120422444519229e-01 */ + .quad 0xBFC09B296F7C1EA9 /* P2 = -1.297351641044220078331e-01 */ + .quad 0xBFD3DD77541EDDA7 /* P3 = -3.103922196855485849143e-01 */ + .quad 0x3FB58FFCF4309615 /* P4 = +8.422833406128689275566e-02 */ + .quad 0x3FBD3ABE845DCF49 /* P5 = +1.141776154670967208833e-01 */ + .quad 0xBFA791DF538C37FA /* P6 = -4.603479285115947936529e-02 */ + .quad 0xBFA4F872F69CD6E8 /* P7 = -4.095801601799370195284e-02 */ + .quad 0x3F9772E49EF6412B /* P8 = +2.289921970583567527179e-02 */ + .quad 0x3F8CBC0807393909 /* P9 = +1.403051635784581776625e-02 */ + .quad 0xBF85F06A30F93319 /* P10 = -1.071246110873285040939e-02 */ + .quad 0xBFC1000000000000 /* B = -.132813 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6004EE5739DEAC /* PL0 = +6.947247374112211856530e-18 */ + .quad 0x3FC2DC968E6E0D62 /* PH0 = +1.473568149050193398786e-01 */ + .quad 0x3FEF4E1E606D96DF /* P1 = +9.782859691010478680677e-01 */ + .quad 0xBFC273BD70994AB9 /* P2 = -1.441571044730005866646e-01 */ + .quad 0xBFD382B548270D2C /* P3 = -3.048527912726111386771e-01 */ + .quad 0x3FB7CD2D582A6B29 /* P4 = +9.297450449450351894400e-02 */ + .quad 0x3FBC1278CCCBF0DB /* P5 = +1.096568584434324642303e-01 */ + .quad 0xBFA9C7F5115B86A1 /* P6 = -5.035367810138536095866e-02 */ + .quad 0xBFA371C21BAF618E /* P7 = -3.797728145554222910481e-02 */ + .quad 0x3F9958943F68417E /* P8 = +2.475196492201935923783e-02 */ + .quad 0x3F8930D5CFFD4152 /* P9 = +1.230017701132682667572e-02 */ + .quad 0xBF875CF7ADD31B76 /* P10 = -1.140779017658897660092e-02 */ + .quad 0xBFC3000000000000 /* B = -.148438 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7EABE24E052A1F /* PL0 = +2.660321779421749543501e-17 */ + .quad 0x3FC4D04783618C71 /* PH0 = +1.626061812886266111366e-01 */ + .quad 0x3FEF2765AF97A4B3 /* P1 = +9.735592298067302883212e-01 */ + .quad 0xBFC443654205FEA5 /* P2 = -1.583067486171689074207e-01 */ + .quad 0xBFD31F2E208A5B97 /* P3 = -2.987780874040536844467e-01 */ + .quad 0x3FB9F235BD339878 /* P4 = +1.013520800512156573576e-01 */ + .quad 0x3FBAD0B0DFCCA141 /* P5 = +1.047468706498238100104e-01 */ + .quad 0xBFABD1B9600E608E /* P6 = -5.433444306908184548967e-02 */ + .quad 0xBFA1CEBEAF07DB58 /* P7 = -3.478046309094534453598e-02 */ + .quad 0x3F9AFC9FB1D8EFD2 /* P8 = +2.635430834764902126383e-02 */ + .quad 0x3F8573444F1AB502 /* P9 = +1.047376028449287564018e-02 */ + .quad 0xBF8874FBC8F24406 /* P10 = -1.194187838544459322219e-02 */ + .quad 0xBFC5000000000000 /* B = -.164063 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7FB199D361A790 /* PL0 = +2.748994907060158996213e-17 */ + .quad 0x3FC6C170259E21F7 /* PH0 = +1.777782615356639783766e-01 */ + .quad 0x3FEEFD17479F7C65 /* P1 = +9.683948897253570478266e-01 */ + .quad 0xBFC609530FE4DF8D /* P2 = -1.721595599753950294577e-01 */ + .quad 0xBFD2B3465D71B4DE /* P3 = -2.921920692959484052676e-01 */ + .quad 0x3FBBFD2D34AC509B /* P4 = +1.093319181057403192166e-01 */ + .quad 0x3FB9778C3C16A0FE /* P5 = +9.948040453912551395183e-02 */ + .quad 0xBFADAC4D9E63C665 /* P6 = -5.795519407719210697372e-02 */ + .quad 0xBFA0139CCAD02D60 /* P7 = -3.139963126894929339124e-02 */ + .quad 0x3F9C5BF43BA6F19D /* P8 = +2.769452680671379432854e-02 */ + .quad 0x3F8190B703350341 /* P9 = +8.576803002712575184772e-03 */ + .quad 0xBF8936606782858A /* P10 = -1.231074634444230850234e-02 */ + .quad 0xBFC7000000000000 /* B = -.179688 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6A917CA3624D50 /* PL0 = +1.152216693509785660691e-17 */ + .quad 0x3FC8AFD7B974FABB /* PH0 = +1.928662925292508878439e-01 */ + .quad 0x3FEECF47624A5D03 /* P1 = +9.628025932060214187231e-01 */ + .quad 0xBFC7C4C2CB4FDE4D /* P2 = -1.856921665891938814679e-01 */ + .quad 0xBFD23F69CB2C1F9D /* P3 = -2.851204380135586155453e-01 */ + .quad 0x3FBDEC5703A03814 /* P4 = +1.168875106670557712458e-01 */ + .quad 0x3FB8095003D0CF15 /* P5 = +9.389209836154706616487e-02 */ + .quad 0xBFAF554B47B10CBB /* P6 = -6.119761705533607365968e-02 */ + .quad 0xBF9C89743FE7BC1B /* P7 = -2.786809577986213853937e-02 */ + .quad 0x3F9D74725B746E7C /* P8 = +2.876452143855921824991e-02 */ + .quad 0x3F7B2D8AFB70B88C /* P9 = +6.635229968237631511880e-03 */ + .quad 0xBF89A0A2883EF6CB /* P10 = -1.251341799058582545252e-02 */ + .quad 0xBFC9000000000000 /* B = -.195313 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7608279E8609CB /* PL0 = +1.910958764623660748269e-17 */ + .quad 0x3FCA9B46D2DDC5E3 /* PH0 = +2.078636674519166172015e-01 */ + .quad 0x3FEE9E0BB72A01A1 /* P1 = +9.567926957534390123919e-01 */ + .quad 0xBFC974FAD10C5330 /* P2 = -1.988824387305156976885e-01 */ + .quad 0xBFD1C40ACCBA4044 /* P3 = -2.775904654781735703430e-01 */ + .quad 0x3FBFBE24E2987853 /* P4 = +1.239951184474830487522e-01 */ + .quad 0x3FB6885B4345E47F /* P5 = +8.801813499839460539687e-02 */ + .quad 0xBFB06563D5670584 /* P6 = -6.404708824176991770896e-02 */ + .quad 0xBF98CD1D620DF6E2 /* P7 = -2.421995078065365147772e-02 */ + .quad 0x3F9E44EF3E844D21 /* P8 = +2.955983943054463683119e-02 */ + .quad 0x3F7325FA0148CAAE /* P9 = +4.674889165971292322643e-03 */ + .quad 0xBF89B4C8556C2D92 /* P10 = -1.255184660614964011319e-02 */ + .quad 0xBFCB000000000000 /* B = -.210938 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6F19DAA20F51D5 /* PL0 = +1.348790537832000351176e-17 */ + .quad 0x3FCC83876CA98E15 /* PH0 = +2.227639465883021474557e-01 */ + .quad 0x3FEE697B662D07CD /* P1 = +9.503762241004040620296e-01 */ + .quad 0xBFCB194C7ED76ACF /* P2 = -2.117095584242946953999e-01 */ + .quad 0xBFD141A19E419762 /* P3 = -2.696308179350720680191e-01 */ + .quad 0x3FC0B89C64BC7B98 /* P4 = +1.306338779331468503007e-01 */ + .quad 0x3FB4F721150BBFC5 /* P5 = +8.189589275184434216748e-02 */ + .quad 0xBFB105AAFAB87898 /* P6 = -6.649273511036069461061e-02 */ + .quad 0xBF94FB3B31248C01 /* P7 = -2.048962104266749732921e-02 */ + .quad 0x3F9ECD31E588709C /* P8 = +3.007963145692880855964e-02 */ + .quad 0x3F664A91A335C105 /* P9 = +2.721104095762541127495e-03 */ + .quad 0xBF89754E32E1E26E /* P10 = -1.243077366619723806134e-02 */ + .quad 0xBFCD000000000000 /* B = -.226563 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6AC6C889D8111D /* PL0 = +1.161245469312620769170e-17 */ + .quad 0x3FCE6864FE55A3D0 /* PH0 = +2.375608674877001114112e-01 */ + .quad 0x3FEE31AEE116B82B /* P1 = +9.435648342384913826391e-01 */ + .quad 0xBFCCB114B69E808B /* P2 = -2.241540805525839833707e-01 */ + .quad 0xBFD0B8AB913BA99D /* P3 = -2.612713735858507980441e-01 */ + .quad 0x3FC1823322BED48A /* P4 = +1.367858810096190233514e-01 */ + .quad 0x3FB35822B7929893 /* P5 = +7.556359273675842651653e-02 */ + .quad 0xBFB18B03CC78D2DA /* P6 = -6.852744810096158580830e-02 */ + .quad 0xBF911CCC3C8D5E5D /* P7 = -1.671141738492420009734e-02 */ + .quad 0x3F9F0DEC2D99B12F /* P8 = +3.032654789278515819797e-02 */ + .quad 0x3F4A28398B4EBD98 /* P9 = +7.982521989244205404918e-04 */ + .quad 0xBF88E60CB2FAB9A4 /* P10 = -1.215753480150000985458e-02 */ + .quad 0xBFCF000000000000 /* B = -.242188 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C89D2B6774FB61D /* PL0 = +4.479593208720169247958e-17 */ + .quad 0x3FD09C744F539BE4 /* PH0 = +2.595492148088267558848e-01 */ + .quad 0x3FEDD823B0400D42 /* P1 = +9.326342050921214825882e-01 */ + .quad 0xBFCEFBF7FF305FCC /* P2 = -2.420644756355144687086e-01 */ + .quad 0xBFCFC01DC4F24A41 /* P3 = -2.480504237797323303990e-01 */ + .quad 0x3FC291A2C26D5548 /* P4 = +1.450694512701977626753e-01 */ + .quad 0x3FB0D562E672D188 /* P5 = +6.575601698097532991976e-02 */ + .quad 0xBFB2201ECC119E06 /* P6 = -7.080261690281738261872e-02 */ + .quad 0xBF8695D50F778D31 /* P7 = -1.102796987010509974642e-02 */ + .quad 0x3F9EEC8CFBC031A0 /* P8 = +3.019924437107734972427e-02 */ + .quad 0xBF6030F0A4D3660A /* P9 = -1.976461417694923328722e-03 */ + .quad 0xBF87845288A4AEF5 /* P10 = -1.148285369398347838494e-02 */ + .quad 0xBFD1000000000000 /* B = -.265625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8B6AAB614D1C8D /* PL0 = +4.756035418366735312727e-17 */ + .quad 0x3FD275F7E1CF7F63 /* PH0 = +2.884502129727392616410e-01 */ + .quad 0x3FED56658F74C9CC /* P1 = +9.167964746359813351341e-01 */ + .quad 0xBFD0ECC045EBD596 /* P2 = -2.644501383614054083635e-01 */ + .quad 0xBFCD5A4BDE179180 /* P3 = -2.293181261476426808811e-01 */ + .quad 0x3FC3C00047D34767 /* P4 = +1.542969084462655120552e-01 */ + .quad 0x3FAAC7CE84FD609F /* P5 = +5.230565427217581251974e-02 */ + .quad 0xBFB288948D2E8B43 /* P6 = -7.239654967137902384931e-02 */ + .quad 0xBF6D6605AAD5A1C0 /* P7 = -3.588687008847041164896e-03 */ + .quad 0x3F9DDB0790848E97 /* P8 = +2.915584392134337382866e-02 */ + .quad 0xBF75FDE291BAD5B4 /* P9 = -5.369076763306269573660e-03 */ + .quad 0xBF84CEA5C52E0A78 /* P10 = -1.015977390284671071888e-02 */ + .quad 0xBFD3000000000000 /* B = -.296875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7139A81C8A6ECF /* PL0 = +1.494049799478574591322e-17 */ + .quad 0x3FD4470650036407 /* PH0 = +3.168350011233659890841e-01 */ + .quad 0x3FECC9A69DFDDD48 /* P1 = +8.996155820631566629678e-01 */ + .quad 0xBFD23DED3A37A09F /* P2 = -2.850297039535778028925e-01 */ + .quad 0xBFCAD302395D51C1 /* P3 = -2.095644741153943890185e-01 */ + .quad 0x3FC4A8FE3F309C22 /* P4 = +1.614072617096278705115e-01 */ + .quad 0x3FA3D161188AA436 /* P5 = +3.870681213931741151586e-02 */ + .quad 0xBFB288CFE5494E98 /* P6 = -7.240008685885823969403e-02 */ + .quad 0x3F6C7903EED8D334 /* P7 = +3.475673371918475361081e-03 */ + .quad 0x3F9BE023CDFB02F6 /* P8 = +2.722221321778569498033e-02 */ + .quad 0xBF80F8296F2C3A95 /* P9 = -8.285831170295390358336e-03 */ + .quad 0xBF8152DF4790049B /* P10 = -8.458847400108650973189e-03 */ + .quad 0xBFD5000000000000 /* B = -.328125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7751FE0FEE8335 /* PL0 = +2.022712113430213599928e-17 */ + .quad 0x3FD60EF7120502A9 /* PH0 = +3.446633983585721261456e-01 */ + .quad 0x3FEC32D951E56E6F /* P1 = +8.812071418319202070776e-01 */ + .quad 0xBFD370255FC004F8 /* P2 = -3.037198481616338996824e-01 */ + .quad 0xBFC832F0EBC6BB41 /* P3 = -1.890545989276351359107e-01 */ + .quad 0x3FC54C99A0FF432F /* P4 = +1.664001499289269127540e-01 */ + .quad 0x3F99DAC0CC283C18 /* P5 = +2.524853941036661688369e-02 */ + .quad 0xBFB227B3896A026D /* P6 = -7.091829399906553280461e-02 */ + .quad 0x3F84663364E1FB19 /* P7 = +9.960557476231411602383e-03 */ + .quad 0x3F9922D70DE07C57 /* P8 = +2.454696676442965935283e-02 */ + .quad 0xBF85C4A4EB6F86BC /* P9 = -1.062897532932837635222e-02 */ + .quad 0xBF7AAB61214FFE17 /* P10 = -6.511096396024671890972e-03 */ + .quad 0xBFD7000000000000 /* B = -.359375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3BFE67F266843B2C /* PL0 = +1.030196791298162288777e-19 */ + .quad 0x3FD7CD3115FC0F16 /* PH0 = +3.718989100163850869407e-01 */ + .quad 0x3FEB92F96CCC2C5B /* P1 = +8.616912007286247079761e-01 */ + .quad 0xBFD4827320135092 /* P2 = -3.204620183216856200247e-01 */ + .quad 0xBFC582B15550168A /* P3 = -1.680509249273891977521e-01 */ + .quad 0x3FC5AC3B9A2E4C31 /* P4 = +1.693186285816366254244e-01 */ + .quad 0x3F88FA599FCADAFB /* P5 = +1.219625491044728129762e-02 */ + .quad 0xBFB16EC8F5CA169E /* P6 = -6.809669495313605642174e-02 */ + .quad 0x3F90140EFC748BBE /* P7 = +1.570151725639922719844e-02 */ + .quad 0x3F95CFC49C1A28DC /* P8 = +2.130038454792147768770e-02 */ + .quad 0xBF8946ED8B1BF454 /* P9 = -1.234231549050882816697e-02 */ + .quad 0xBF7239E55C1DD50F /* P10 = -4.449745117985472755606e-03 */ + .quad 0xBFD9000000000000 /* B = -.390625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6412330191189C /* PL0 = +8.704448096175471149661e-18 */ + .quad 0x3FD9812B3B03F0A5 /* PH0 = +3.985088421175169703936e-01 */ + .quad 0x3FEAEB08C3C0E84D /* P1 = +8.411907027541559254748e-01 */ + .quad 0xBFD57446B1BC46CF /* P2 = -3.352219329545790787820e-01 */ + .quad 0xBFC2CA9ABC0444AD /* P3 = -1.468079965639267634401e-01 */ + .quad 0x3FC5CA95F9460D18 /* P4 = +1.702449290424759093710e-01 */ + .quad 0xBF2C2DAA35DD05C3 /* P5 = -2.149839664813813012186e-04 */ + .quad 0xBFB069A516EEB75D /* P6 = -6.411201295733578195472e-02 */ + .quad 0x3F9512716416FDC7 /* P7 = +2.057816670798986720058e-02 */ + .quad 0x3F921630CB1319A3 /* P8 = +1.766277541607908852593e-02 */ + .quad 0xBF8B76DA2EC99526 /* P9 = -1.341028647693549562145e-02 */ + .quad 0xBF63A97474A161E4 /* P10 = -2.400138332671485493040e-03 */ + .quad 0xBFDB000000000000 /* B = -.421875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C89B79F5783381C /* PL0 = +4.461236087774530799537e-17 */ + .quad 0x3FDB2A6C993B829D /* PH0 = +4.244643684778937609003e-01 */ + .quad 0x3FEA3C0C1FBA328C /* P1 = +8.198299998926627915155e-01 */ + .quad 0xBFD6457212F78DE0 /* P2 = -3.479886231636708581604e-01 */ + .quad 0xBFC0129BDA380A66 /* P3 = -1.255678954622282824818e-01 */ + .quad 0x3FC5AB77F388FBDE /* P4 = +1.692953051696965507089e-01 */ + .quad 0xBF8822F3A6CADB7C /* P5 = -1.178541519889874597783e-02 */ + .quad 0xBFAE4A876370A4BD /* P6 = -5.916236008517603590739e-02 */ + .quad 0x3F991A89BC3B7710 /* P7 = +2.451529704455085335710e-02 */ + .quad 0x3F8C4A4328204D4B /* P8 = +1.381351915555364098800e-02 */ + .quad 0xBF8C5F921D01EC0B /* P9 = -1.385416174911393178490e-02 */ + .quad 0xBF3EE844C5B79FB8 /* P10 = -4.716079617694784908234e-04 */ + .quad 0xBFDD000000000000 /* B = -.453125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C73FA437AD7AD87 /* PL0 = +1.732779905745858845932e-17 */ + .quad 0x3FDCC88C9902CF45 /* PH0 = +4.497405523536495697279e-01 */ + .quad 0x3FE9870845162D1D /* P1 = +7.977334355686341748810e-01 */ + .quad 0xBFD6F62358F73DA8 /* P2 = -3.587730759436120677668e-01 */ + .quad 0xBFBAC4345D675FE1 /* P3 = -1.045563438450467661101e-01 */ + .quad 0x3FC5539DA8287019 /* P4 = +1.666142531474868131862e-01 */ + .quad 0xBF96E3E0DC04A09F /* P5 = -2.235366194614185212822e-02 */ + .quad 0xBFAB5EC7147C207D /* P6 = -5.345747113284546871398e-02 */ + .quad 0x3F9C24166FFA7A58 /* P7 = +2.748141344511120915667e-02 */ + .quad 0x3F8451B907819844 /* P8 = +9.921498815128277696693e-03 */ + .quad 0xBF8C1C6D19191FCB /* P9 = -1.372609360545586670239e-02 */ + .quad 0x3F547372DF72E35A /* P10 = +1.248228245272117756098e-03 */ + .quad 0xBFDF000000000000 /* B = -.484375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C848FE06EE49950 /* PL0 = +3.566941590788961528958e-17 */ + .quad 0x3FDF20211A36475D /* PH0 = +4.863360172249622803697e-01 */ + .quad 0x3FE86E67E6B80AC2 /* P1 = +7.634772783497611574659e-01 */ + .quad 0xBFD7C37C55474D9B /* P2 = -3.713064987943767913461e-01 */ + .quad 0xBFB2EBF15F3CB036 /* P3 = -7.391270232318521952684e-02 */ + .quad 0x3FC4718C8EF6E3AA /* P4 = +1.597152422016539530950e-01 */ + .quad 0xBFA277F8394E9B07 /* P5 = -3.607154559658991932071e-02 */ + .quad 0xBFA680312AB207E3 /* P6 = -4.394677778419955009224e-02 */ + .quad 0x3F9EDC9A8B57E286 /* P7 = +3.013841128810892143223e-02 */ + .quad 0x3F71B8C5E648EAF6 /* P8 = +4.326603932492947851719e-03 */ + .quad 0xBF89DB218356730C /* P9 = -1.262499029217558458029e-02 */ + .quad 0x3F6B05728E6EBC8E /* P10 = +3.298496001171330815865e-03 */ + .quad 0xBFE1000000000000 /* B = -.53125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8429831EDD94DE /* PL0 = +3.497576705878673192147e-17 */ + .quad 0x3FE10AF47E0BF610 /* PH0 = +5.325872861719194162333e-01 */ + .quad 0x3FE6EC5879F87EEE /* P1 = +7.163507826080299761242e-01 */ + .quad 0xBFD86AD001BFE200 /* P2 = -3.815193192563413204129e-01 */ + .quad 0xBFA239045B661385 /* P3 = -3.559125533778398983564e-02 */ + .quad 0x3FC2B4572D9CC147 /* P4 = +1.461285565105845078038e-01 */ + .quad 0xBFA99F4F01740705 /* P5 = -5.004355328311586406115e-02 */ + .quad 0xBF9F449C484F4879 /* P6 = -3.053516570418721511214e-02 */ + .quad 0x3F9F5F42169D7DDE /* P7 = +3.063681853325116830798e-02 */ + .quad 0xBF6111B1BA632A97 /* P8 = -2.083632588527460989469e-03 */ + .quad 0xBF84725FBE5B6E61 /* P9 = -9.983776089419639342530e-03 */ + .quad 0x3F7438A2986CFA9C /* P10 = +4.936823976832951342488e-03 */ + .quad 0xBFE3000000000000 /* B = -.59375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6BE9160BFB3505 /* PL0 = +1.210424670976053242391e-17 */ + .quad 0x3FE26D76F73233C7 /* PH0 = +5.758623912857893101247e-01 */ + .quad 0x3FE56363B5B93937 /* P1 = +6.683825063026124740752e-01 */ + .quad 0xBFD8A2244B27297E /* P2 = -3.848963483730115724200e-01 */ + .quad 0xBF52CA2F101EEF63 /* P3 = -1.146837196286797844817e-03 */ + .quad 0x3FC081BC342243AD /* P4 = +1.289592032012739958675e-01 */ + .quad 0xBFAE38DB4A932344 /* P5 = -5.902753148399722719732e-02 */ + .quad 0xBF91F814D4AE90C6 /* P6 = -1.754791782481459457885e-02 */ + .quad 0x3F9D056AE193C4F3 /* P7 = +2.834097863973723355792e-02 */ + .quad 0xBF7BD0B502D8F3A0 /* P8 = -6.790835451792626336974e-03 */ + .quad 0xBF7B763F7BB8AE2F /* P9 = -6.704566938008179114124e-03 */ + .quad 0x3F76036F42D9AB69 /* P10 = +5.374369252971835729099e-03 */ + .quad 0xBFE5000000000000 /* B = -.65625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8B64AF0450486E /* PL0 = +4.751979286662385162741e-17 */ + .quad 0x3FE3B75F8BCB742D /* PH0 = +6.161344271055263499548e-01 */ + .quad 0x3FE3DA23BC12369F /* P1 = +6.203783677353447780947e-01 */ + .quad 0xBFD8768FF4B46416 /* P2 = -3.822364701932782367281e-01 */ + .quad 0x3F9D67CB8AD9CB1A /* P3 = +2.871625933625941117406e-02 */ + .quad 0x3FBC168CB7827DF4 /* P4 = +1.097190807363331305006e-01 */ + .quad 0xBFB03A2B83C9272E /* P5 = -6.338760344911228324430e-02 */ + .quad 0xBF789FEB595297DC /* P6 = -6.011885959344067548074e-03 */ + .quad 0x3F98BD01B4C335E7 /* P7 = +2.415850320612902513532e-02 */ + .quad 0xBF83BADC303D6535 /* P8 = -9.633751127398152979976e-03 */ + .quad 0xBF6C54E7A1C1E3F3 /* P9 = -3.458454519258407989501e-03 */ + .quad 0x3F7408394B7EF3E7 /* P10 = +4.890655334688332484537e-03 */ + .quad 0xBFE7000000000000 /* B = -.71875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6A48557F6E0D3E /* PL0 = +1.139824111505584215867e-17 */ + .quad 0x3FE4E8D895B010DC /* PH0 = +6.534235881413468227663e-01 */ + .quad 0x3FE25652FAAF8A73 /* P1 = +5.730376144604875448991e-01 */ + .quad 0xBFD7F6C3A57C444B /* P2 = -3.744362941807295084434e-01 */ + .quad 0x3FAB7866E3F99EBE /* P3 = +5.365296872042567001598e-02 */ + .quad 0x3FB6FA1DF47CCD40 /* P4 = +8.975398272450707099784e-02 */ + .quad 0xBFB05508D3741B8E /* P5 = -6.379752314033580026840e-02 */ + .quad 0x3F6C3EFDF7BB279C /* P6 = +3.448005705512137236209e-03 */ + .quad 0x3F9372BADD6D3E27 /* P7 = +1.899234749299530050806e-02 */ + .quad 0xBF860FD5AE65F3DA /* P8 = -1.077238977881649471165e-02 */ + .quad 0xBF47266FFB07E628 /* P9 = -7.064863949032872448118e-04 */ + .quad 0x3F6F9763992C2A05 /* P10 = +3.856367614735181120799e-03 */ + .quad 0xBFE9000000000000 /* B = -.78125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6BB6A2B194E3AB /* PL0 = +1.201878007209462528697e-17 */ + .quad 0x3FE602609AAE7C22 /* PH0 = +6.877902051090851731630e-01 */ + .quad 0x3FE0DCBAFE191C7F /* P1 = +5.269446337560025312137e-01 */ + .quad 0xBFD732028428A9FB /* P2 = -3.624273577321727538225e-01 */ + .quad 0x3FB2D92389BE065B /* P3 = +7.362577545975439796588e-02 */ + .quad 0x3FB1F6A9C8C49993 /* P4 = +7.017003203927733370937e-02 */ + .quad 0xBFAF47C0B50B56EE /* P5 = -6.109430513394707378526e-02 */ + .quad 0x3F85A8EDD1356223 /* P6 = +1.057611269668352068104e-02 */ + .quad 0x3F8BE05C5CD1B4FA /* P7 = +1.361152799855823798207e-02 */ + .quad 0xBF85A0EFE4552F76 /* P8 = -1.056086936537046752272e-02 */ + .quad 0x3F559F2A6A356194 /* P9 = +1.319686337259627831943e-03 */ + .quad 0x3F6576F5E989208D /* P10 = +2.620201394425042596201e-03 */ + .quad 0xBFEB000000000000 /* B = -.84375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C80328BD86C8B74 /* PL0 = +2.809809047161267929701e-17 */ + .quad 0x3FE704BB1B7FCB81 /* PH0 = +7.193275010198335595035e-01 */ + .quad 0x3FDEE264AAD6C40C /* P1 = +4.825679462765613089739e-01 */ + .quad 0xBFD637493CE659F1 /* P2 = -3.471243948673921548357e-01 */ + .quad 0x3FB6BE3A3DEE6F4A /* P3 = +8.884014141079635303208e-02 */ + .quad 0x3FAA85EB6470AC0F /* P4 = +5.180297471118688523488e-02 */ + .quad 0xBFACC0146EA4858D /* P5 = -5.615295267694895314457e-02 */ + .quad 0x3F8F8FB683CDDAC5 /* P6 = +1.541082944616557159055e-02 */ + .quad 0x3F819515DEE2CB91 /* P7 = +8.585139145315585602547e-03 */ + .quad 0xBF834E45E6AF9EA1 /* P8 = -9.426637747267209169415e-03 */ + .quad 0x3F65250F197CA56D /* P9 = +2.581147662472352252568e-03 */ + .quad 0x3F57A766026D036C /* P10 = +1.443719500187702367690e-03 */ + .quad 0xBFED000000000000 /* B = -.90625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C716F7EEF7B61AD /* PL0 = +1.512291215142578135651e-17 */ + .quad 0x3FE7F0E1A4CD846E /* PH0 = +7.481544703297353660076e-01 */ + .quad 0x3FDC2D4CC872DC09 /* P1 = +4.402648885256331012598e-01 */ + .quad 0xBFD514A99F92ED53 /* P2 = -3.293861444796750250530e-01 */ + .quad 0x3FB9846A6CF2F337 /* P3 = +9.967675361526749494844e-02 */ + .quad 0x3FA20896939AB161 /* P4 = +3.522177268800664413493e-02 */ + .quad 0xBFA97E801F31EE0D /* P5 = -4.979324703978358553405e-02 */ + .quad 0x3F92A11F47B82085 /* P6 = +1.819275737037219740638e-02 */ + .quad 0x3F717D70FE289C34 /* P7 = +4.270020845559097605514e-03 */ + .quad 0xBF7FDCF1D3F6CE2D /* P8 = -7.779068604054678540132e-03 */ + .quad 0x3F69F607E81AF6B6 /* P9 = +3.169074480722534625181e-03 */ + .quad 0x3F3F925C80D0F889 /* P10 = +4.817462766516585511824e-04 */ + .quad 0xBFEF000000000000 /* B = -.96875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C931A11D7E8606E /* PL0 = +6.627280241435322692188e-17 */ + .quad 0x3FE92BFB370D9B71 /* PH0 = +7.866188121086975515439e-01 */ + .quad 0x3FD866160E454111 /* P1 = +3.812308444367014680480e-01 */ + .quad 0xBFD33149F3801DBA /* P2 = -2.998833539899937679796e-01 */ + .quad 0x3FBBDB6D4C949899 /* P3 = +1.088169395412442909023e-01 */ + .quad 0x3F8D6AB2A74B9343 /* P4 = +1.436366627735597372494e-02 */ + .quad 0xBFA404D1047C5D72 /* P5 = -3.909924678571997970917e-02 */ + .quad 0x3F93C47D9ACCD919 /* P6 = +1.930423981976856424661e-02 */ + .quad 0xBF41B755642CFF1B /* P7 = -5.406538915408738478158e-04 */ + .quad 0xBF74B5301AA1E788 /* P8 = -5.055606752756853900641e-03 */ + .quad 0x3F69A84C5B2A3E68 /* P9 = +3.132008679422249529120e-03 */ + .quad 0xBF3CF47830328C11 /* P10 = -4.418176105877589308931e-04 */ + .quad 0xBFF1000000000000 /* B = -1.0625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C884D471B8FD396 /* PL0 = +4.215701792312937090514e-17 */ + .quad 0x3FEA8DBCBC31897A /* PH0 = +8.298019099859594849278e-01 */ + .quad 0x3FD3EE730537C8EA /* P1 = +3.114287901836535219818e-01 */ + .quad 0xBFD08A05AD27CE32 /* P2 = -2.584242049190123217982e-01 */ + .quad 0x3FBC5255406F84B6 /* P3 = +1.106313021005175045399e-01 */ + .quad 0xBF772FA2F633AA5E /* P4 = -5.660664147607434209241e-03 */ + .quad 0xBF99DD8E4C473FC4 /* P5 = -2.525923100057504533247e-02 */ + .quad 0x3F9183C935B6495D /* P6 = +1.710428610165003372069e-02 */ + .quad 0xBF70471A3A591480 /* P7 = -3.974058583087303228038e-03 */ + .quad 0xBF603DDD4DEBB9A4 /* P8 = -1.982624278176818987264e-03 */ + .quad 0x3F62591E44D3C17F /* P9 = +2.239760512218135956425e-03 */ + .quad 0xBF4C195D3A9B1AB4 /* P10 = -8.575158328419569430544e-04 */ + .quad 0xBFF3000000000000 /* B = -1.1875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C90DD1C9BFF7F64 /* PL0 = +5.850777430004479798187e-17 */ + .quad 0x3FEBAD50A4A68BC1 /* PH0 = +8.649066177207417327466e-01 */ + .quad 0x3FD01FBA72CEE1A5 /* P1 = +2.519365426228666233893e-01 */ + .quad 0xBFCBE432F647C4D6 /* P2 = -2.179015829602010702633e-01 */ + .quad 0x3FBABF92B6E5AC73 /* P3 = +1.044856735731387955105e-01 */ + .quad 0xBF922983AA24E217 /* P4 = -1.773648954369563555378e-02 */ + .quad 0xBF8C72214C14E23A /* P5 = -1.388956082756564056328e-02 */ + .quad 0x3F8ACB4D1F388E8B /* P6 = +1.308307887581540972153e-02 */ + .quad 0xBF740EF8B4A2EE3B /* P7 = -4.897090441029978580995e-03 */ + .quad 0xBF0EA9F30C8DC900 /* P8 = -5.848668076326342477133e-05 */ + .quad 0x3F53CC40D18713AE /* P9 = +1.208365725788622757410e-03 */ + .quad 0xBF4848B86029CBA1 /* P10 = -7.410908004444779592485e-04 */ + .quad 0xBFF5000000000000 /* B = -1.3125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8FB61781D22681 /* PL0 = +5.501032995458057064843e-17 */ + .quad 0x3FEC950A3340C8BF /* PH0 = +8.931933404003514764824e-01 */ + .quad 0x3FC9E1DFFD385423 /* P1 = +2.022056566644617586005e-01 */ + .quad 0xBFC71E2FF88EBA23 /* P2 = -1.806087459239772032583e-01 */ + .quad 0x3FB80AEBD07AB5BA /* P3 = +9.391664352252506838449e-02 */ + .quad 0xBF98404E27EAE6ED /* P4 = -2.368280523908243895884e-02 */ + .quad 0xBF772DA520B5006E /* P5 = -5.658764868087568802107e-03 */ + .quad 0x3F824C9268AF9423 /* P6 = +8.935111827620250551925e-03 */ + .quad 0xBF722AE76D206AE3 /* P7 = -4.435447701349490160113e-03 */ + .quad 0x3F4B807F56298D5E /* P8 = +8.392926941493230644497e-04 */ + .quad 0x3F3D71027DF95D2A /* P9 = +4.492407879061627603159e-04 */ + .quad 0xBF3EBD17676755FB /* P10 = -4.690343988874298905483e-04 */ + .quad 0xBFF7000000000000 /* B = -1.4375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C95393C63CE8224 /* PL0 = +7.363407705201031038415e-17 */ + .quad 0x3FED4E6F464286B0 /* PH0 = +9.158245441687622445670e-01 */ + .quad 0x3FC4A45842B7DE1E /* P1 = +1.612654042980787191461e-01 */ + .quad 0xBFC2E7885AFDD3D0 /* P2 = -1.476908153814791087327e-01 */ + .quad 0x3FB4DD6DD51D3FEB /* P3 = +8.150373890862254580204e-02 */ + .quad 0xBF9A05D3ADAB489C /* P4 = -2.541285274021075503042e-02 */ + .quad 0xBF3459B643B4995C /* P5 = -3.105230313899165257622e-04 */ + .quad 0x3F766B30745F2E3A /* P6 = +5.473317409222350365811e-03 */ + .quad 0xBF6C2C891E555BDF /* P7 = -3.439204988051155730940e-03 */ + .quad 0x3F5194F30D6C576D /* P8 = +1.073109966176012791522e-03 */ + .quad 0x3EF4DBB43C3132A2 /* P9 = +1.989194766975849961365e-05 */ + .quad 0xBF2E45EBAB3C15A0 /* P10 = -2.309656316514087783666e-04 */ + .quad 0xBFF9000000000000 /* B = -1.5625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C75111669651DAA /* PL0 = +1.827249135453834384396e-17 */ + .quad 0x3FEDE1EB5937518F /* PH0 = +9.338280432225917193634e-01 */ + .quad 0x3FC06129C7C8EBB1 /* P1 = +1.279651856910653382507e-01 */ + .quad 0xBFBE9763041064E1 /* P2 = -1.194974789545031421774e-01 */ + .quad 0x3FB1A5B9F9113928 /* P3 = +6.893503504509068635308e-02 */ + .quad 0xBF992145039F9AFE /* P4 = -2.454097590080105816526e-02 */ + .quad 0x3F66CB116EA49C89 /* P5 = +2.782377288116648315142e-03 */ + .quad 0x3F67F972FDF30001 /* P6 = +2.926563829163342740100e-03 */ + .quad 0xBF63A7B5975F02F3 /* P7 = -2.399305983061922438601e-03 */ + .quad 0x3F4FDE7B8777F4C8 /* P8 = +9.725669069095216373599e-04 */ + .quad 0xBF25918876626BA4 /* P9 = -1.645545082212515656240e-04 */ + .quad 0xBF1495123C991F00 /* P10 = -7.851527984669912693674e-05 */ + .quad 0xBFFB000000000000 /* B = -1.6875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9F29A5B7426D27 /* PL0 = +1.081172820484012446345e-16 */ + .quad 0x3FEE56B6F3EFABFC /* PH0 = +9.480852856044061915952e-01 */ + .quad 0x3FB9E3EFD94BB9FC /* P1 = +1.011342912204113371518e-01 */ + .quad 0xBFB88BD9760FECA7 /* P2 = -9.588393337610288420285e-02 */ + .quad 0x3FAD48A0350B3ACF /* P3 = +5.719471595295077387313e-02 */ + .quad 0xBF96CC6A5110F129 /* P4 = -2.226415748394675367257e-02 */ + .quad 0x3F71934687170384 /* P5 = +4.290843485649345772606e-03 */ + .quad 0x3F5407BAF73B3DF9 /* P6 = +1.222546180475235334287e-03 */ + .quad 0xBF591B626C0646DD /* P7 = -1.532407870488964407324e-03 */ + .quad 0x3F48B0E1DD283558 /* P8 = +7.535078860329375669277e-04 */ + .quad 0xBF2B322292840D2B /* P9 = -2.074877932117605962646e-04 */ + .quad 0xBE99E4061120C741 /* P10 = -3.858017559892704559672e-07 */ + .quad 0xBFFD000000000000 /* B = -1.8125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6AF8C2041C67CD /* PL0 = +1.169711482626385762338e-17 */ + .quad 0x3FEEB2DFEDD5EC93 /* PH0 = +9.593352933146824801369e-01 */ + .quad 0x3FB465A205CFB638 /* P1 = +7.967579500083210999681e-02 */ + .quad 0xBFB3914BF68D39FF /* P2 = -7.643580216720378576778e-02 */ + .quad 0x3FA7F21A08C5C734 /* P3 = +4.676896435820623621673e-02 */ + .quad 0xBF93DA9560EA9960 /* P4 = -1.938851741820124550772e-02 */ + .quad 0x3F73953FEC62820E /* P5 = +4.781007481284861359820e-03 */ + .quad 0x3F2749D5E1273E3C /* P6 = +1.776765426044646108071e-04 */ + .quad 0xBF4D46B0B498CE5A /* P7 = -8.934367007839658352859e-04 */ + .quad 0x3F4153D680E1F4C4 /* P8 = +5.287930851093571206574e-04 */ + .quad 0xBF28477014ECA6A2 /* P9 = -1.852344816708944640949e-04 */ + .quad 0x3EFFAC54E07CEB4B /* P10 = +3.020588886147182143902e-05 */ + .quad 0xBFFF000000000000 /* B = -1.9375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7A8AF2BB2231F2 /* PL0 = +2.302217989249372577466e-17 */ + .quad 0x3FEF1994DF724FC8 /* PH0 = +9.718727459135090285258e-01 */ + .quad 0x3FAC65B1BC0C9D58 /* P1 = +5.546336575053583942603e-02 */ + .quad 0xBFAB9937BDA747C8 /* P2 = -5.390333356957871365599e-02 */ + .quad 0x3FA15B42D9EF931C /* P3 = +3.389939222669210777241e-02 */ + .quad 0xBF8EACD8E8507A3C /* P4 = -1.497811755149058215502e-02 */ + .quad 0x3F7263A15721C682 /* P5 = +4.489546046998806349050e-03 */ + .quad 0xBF42A032ACDC3B32 /* P6 = -5.684134900735048121829e-04 */ + .quad 0xBF3431E79B5AD185 /* P7 = -3.081503340170088810438e-04 */ + .quad 0x3F31B51667C7DF5E /* P8 = +2.701930714290502424828e-04 */ + .quad 0xBF1F8709579250AD /* P9 = -1.202678157759563704341e-04 */ + .quad 0x3F01ED8ED1BF9595 /* P10 = +3.419487094883790833778e-05 */ + .quad 0xC001000000000000 /* B = -2.125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C86F3F7C3DAFC55 /* PL0 = +3.981710680748877459333e-17 */ + .quad 0x3FEF73776B2AA2DB /* PH0 = +9.828450291725759901951e-01 */ + .quad 0x3FA16A7FC4D7B900 /* P1 = +3.401564863075812007064e-02 */ + .quad 0xBFA11E03803AD621 /* P2 = -3.343211117082156940532e-02 */ + .quad 0x3F9609591597297F /* P3 = +2.152003473546803654658e-02 */ + .quad 0xBF847E74ED9BBB0C /* P4 = -1.000682211039596246436e-02 */ + .quad 0x3F6BFF771725CD65 /* P5 = +3.417713736035987187864e-03 */ + .quad 0xBF491D1FF73C18FA /* P6 = -7.664114077392807421000e-04 */ + .quad 0x3EF53EE467B51DC5 /* P7 = +2.026145237479599375099e-05 */ + .quad 0x3F160135BE0D94A0 /* P8 = +8.394136922403255700685e-05 */ + .quad 0xBF0B32CB1D276A40 /* P9 = -5.187685350778849443841e-05 */ + .quad 0x3EF4DAF70C12D555 /* P10 = +1.988919462255396826584e-05 */ + .quad 0xC003000000000000 /* B = -2.375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C19DBF4E2E5B7DC /* PL0 = +3.504575836708380670219e-19 */ + .quad 0x3FEFAA7934B75EBD /* PH0 = +9.895597486128832054320e-01 */ + .quad 0x3F9545200830A42C /* P1 = +2.077150392520736492125e-02 */ + .quad 0xBF950C46D285F6BC /* P2 = -2.055464420253970271376e-02 */ + .quad 0x3F8B79F5BFC6513F /* P3 = +1.341621390819425058164e-02 */ + .quad 0xBF7A50ADAD777898 /* P4 = -6.424597194806612772505e-03 */ + .quad 0x3F633A19BE8255E3 /* P5 = +2.347040444940816227383e-03 */ + .quad 0xBF44E609BC2557B7 /* P6 = -6.377742322836087134324e-04 */ + .quad 0x3F1AFCBAD60EAACD /* P7 = +1.029480968230231421206e-04 */ + .quad 0x3EE80476AC34A8EF /* P8 = +1.145240583485084317660e-05 */ + .quad 0xBEF278E23DE463E9 /* P9 = -1.761646478213091821804e-05 */ + .quad 0x3EE209FAF377264D /* P10 = +8.601658563106529694651e-06 */ + .quad 0xC005000000000000 /* B = -2.625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C979D62702C631C /* PL0 = +8.193023793215066385979e-17 */ + .quad 0x3FEFCC04CDBCDC4B /* PH0 = +9.936546343150295390600e-01 */ + .quad 0x3F89E87D088D269A /* P1 = +1.265046770426474576547e-02 */ + .quad 0xBF89BE6721012B80 /* P2 = -1.257019586059526836624e-02 */ + .quad 0x3F80F1C13E8D39D3 /* P3 = +8.273610803056031004326e-03 */ + .quad 0xBF7082DBC9602757 /* P4 = -4.031046430108839563004e-03 */ + .quad 0x3F590BE9BD4E0A11 /* P5 = +1.528719197467002507978e-03 */ + .quad 0xBF3DCC2BEF6D0283 /* P6 = -4.546744598208711809986e-04 */ + .quad 0x3F1A08065C4A8E85 /* P7 = +9.930170842636406837764e-05 */ + .quad 0xBEE528117D0410F3 /* P8 = -1.008821337267942266431e-05 */ + .quad 0xBED0BE73A44FF565 /* P9 = -3.992069257383521775961e-06 */ + .quad 0x3EC9B0C11E342E38 /* P10 = +3.062539904901699218737e-06 */ + .quad 0xC007000000000000 /* B = -2.875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C804B931AD7A3CC /* PL0 = +2.826768921701616830245e-17 */ + .quad 0x3FEFE06EB0688212 /* PH0 = +9.961465306733450209009e-01 */ + .quad 0x3F7F81BD8876224D /* P1 = +7.692089427458426472642e-03 */ + .quad 0xBF7F62A8C699A963 /* P2 = -7.662448196791823756776e-03 */ + .quad 0x3F74C31E2B2A6A28 /* P3 = +5.068891378551522166321e-03 */ + .quad 0xBF6470D537F16227 /* P4 = -2.495209162173734080001e-03 */ + .quad 0x3F4FAEEF61C89673 /* P5 = +9.668988091717359455754e-04 */ + .quad 0xBF33C5E80B349783 /* P6 = -3.017131341088651514023e-04 */ + .quad 0x3F138F3D31037A6B /* P7 = +7.461367590931028650557e-05 */ + .quad 0xBEEB3C780996FFE3 /* P8 = -1.298723536791163711556e-05 */ + .quad 0x3E9D0C75BC8BFEFC /* P9 = +4.328589367358221917138e-07 */ + .quad 0x3EAC3865227764D4 /* P10 = +8.410302755848104487452e-07 */ + .quad 0xC009000000000000 /* B = -3.125 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C5B978B202749F9 /* PL0 = +5.983054034451594408315e-18 */ + .quad 0x3FEFECD6B7EA3128 /* PH0 = +9.976609794698889643882e-01 */ + .quad 0x3F73238B786137FE /* P1 = +4.672570043181776968058e-03 */ + .quad 0xBF731815ACEA072E /* P2 = -4.661640805922390930706e-03 */ + .quad 0x3F6956F0816D5AEE /* P3 = +3.093213784647877798933e-03 */ + .quad 0xBF591A16286C4885 /* P4 = -1.532098425461232453877e-03 */ + .quad 0x3F43B3E3A00C6096 /* P5 = +6.012784434430592468442e-04 */ + .quad 0xBF29441B2A56DEC7 /* P6 = -1.927645836710038499293e-04 */ + .quad 0x3F0A99C3A2E857B6 /* P7 = +5.073669705184196724674e-05 */ + .quad 0xBEE61CB034DDC151 /* P8 = -1.054385361573597042258e-05 */ + .quad 0x3EB792BBC76D6107 /* P9 = +1.405070887824641788698e-06 */ + .quad 0x3E761472362A16F0 /* P10 = +8.225391704739515383837e-08 */ + .quad 0xC00B000000000000 /* B = -3.375 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9C290AFCBDE00D /* PL0 = +9.770074992945060684926e-17 */ + .quad 0x3FEFF45F6D36133A /* PH0 = +9.985806592017987259879e-01 */ + .quad 0x3F673CEC093032DE /* P1 = +2.836667068100913999228e-03 */ + .quad 0xBF67347A7CD844D5 /* P2 = -2.832640870800243808078e-03 */ + .quad 0x3F5EDA25530355DB /* P3 = +1.883064698679040793627e-03 */ + .quad 0xBF4EAD3BBABC1BA9 /* P4 = -9.361783645268534848806e-04 */ + .quad 0x3F3842E61CD35432 /* P5 = +3.701984213198588740338e-04 */ + .quad 0xBF1F9AB7FD1A3DDD /* P6 = -1.205611036090218544867e-04 */ + .quad 0x3F0136C154EA3DED /* P7 = +3.283288480304320224929e-05 */ + .quad 0xBEDF12807F721E66 /* P8 = -7.408207230892235753013e-06 */ + .quad 0x3EB5B53687AD5112 /* P9 = +1.293889481520047941659e-06 */ + .quad 0xBE801E90FBFED147 /* P10 = -1.200988872775447204019e-07 */ + .quad 0xC00D000000000000 /* B = -3.625 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9E323294294877 /* PL0 = +1.047637125334028950603e-16 */ + .quad 0x3FEFF8F21CDAAA62 /* PH0 = +9.991388858373506653976e-01 */ + .quad 0x3F5C3470628813F2 /* P1 = +1.721486807697344658108e-03 */ + .quad 0xBF5C2E38AC6FF8D2 /* P2 = -1.720004411026422324849e-03 */ + .quad 0x3F52C13234626F43 /* P3 = +1.144694354969070234454e-03 */ + .quad 0xBF42B0A47DF47BB4 /* P4 = -5.703738387728891173354e-04 */ + .quad 0x3F2DB2889E32FBFD /* P5 = +2.265731592156760387344e-04 */ + .quad 0xBF1385FBD54C5A55 /* P6 = -7.447576110695385196414e-05 */ + .quad 0x3EF5AFA812C6984E /* P7 = +2.068153223579892541184e-05 */ + .quad 0xBED47097C188A03C /* P8 = -4.873231795467276043290e-06 */ + .quad 0x3EAFF2B982F7EE8C /* P9 = +9.521288628073486288914e-07 */ + .quad 0xBE828EC5B57D424D /* P10 = -1.382656715739529384702e-07 */ + .quad 0xC00F000000000000 /* B = -3.875 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9BA40DA6983BEC /* PL0 = +9.589840482158163453169e-17 */ + .quad 0x3FEFFCAAC3F20E65 /* PH0 = +9.995931460438894911036e-01 */ + .quad 0x3F4AA87CF664754C /* P1 = +8.135423820793490331956e-04 */ + .quad 0xBF4AA5B62919E224 /* P2 = -8.132113891426467676310e-04 */ + .quad 0x3F41C01B53B0B312 /* P3 = +5.416997368051531710388e-04 */ + .quad 0xBF31B8B54D091751 /* P4 = -2.704088811110632606347e-04 */ + .quad 0x3F1C431305954ECC /* P5 = +1.078110084525254933728e-04 */ + .quad 0xBF02B7DEAD0D44E6 /* P6 = -3.570221236393906131126e-05 */ + .quad 0x3EE51C6EFF109EA9 /* P7 = +1.006654199116272154479e-05 */ + .quad 0xBEC48CFB08072D17 /* P8 = -2.449834994621594976610e-06 */ + .quad 0x3EA1585EC59CAE34 /* P9 = +5.169271261920604503617e-07 */ + .quad 0xBE78832BAF950BA9 /* P10 = -9.131575131209528255629e-08 */ + .quad 0xC011000000000000 /* B = -4.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8FBF237F4AFE10 /* PL0 = +5.507163370275307643966e-17 */ + .quad 0x3FEFFEC61279A3A4 /* PH0 = +9.998503075449787225182e-01 */ + .quad 0x3F339E78281A00EA /* P1 = +2.993625022114214863645e-04 */ + .quad 0xBF339DB7B072AD62 /* P2 = -2.993176899035080028902e-04 */ + .quad 0x3F2A259E658EF4E4 /* P3 = +1.994853835451177669594e-04 */ + .quad 0xBF1A219C312B10BA /* P4 = -9.968295880030927192162e-05 */ + .quad 0x3F04E146B4F5F4B7 /* P5 = +3.982541113154699160876e-05 */ + .quad 0xBEEBC5F137088210 /* P6 = -1.324329943580649487333e-05 */ + .quad 0x3ECF96736E300B00 /* P7 = +3.765547135882256916132e-06 */ + .quad 0xBEAF4874840B91EB /* P8 = -9.323068824421825762292e-07 */ + .quad 0x3E8B6AB2B5C8FD3F /* P9 = +2.042709991312793245971e-07 */ + .quad 0xBE650BCCE62FD2B7 /* P10 = -3.920140725219944650830e-08 */ + .quad 0xC013000000000000 /* B = -4.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9C869C85471703 /* PL0 = +9.896883942603146946483e-17 */ + .quad 0x3FEFFF8C81C6DC33 /* PH0 = +9.999449286177707341139e-01 */ + .quad 0x3F1CDF5A2E4D7C69 /* P1 = +1.101397316012206760643e-04 */ + .quad 0xBF1CDEF1F9BE63BE /* P2 = -1.101336660539594564027e-04 */ + .quad 0x3F133EC10C83AAA0 /* P3 = +7.341435696487731017506e-05 */ + .quad 0xBF033DAB325FAACB /* P4 = -3.669909192168459445238e-05 */ + .quad 0x3EEEC598FA98BAD8 /* P5 = +1.467316890843338172161e-05 */ + .quad 0xBED47F1A15BA368E /* P6 = -4.886744445221253126882e-06 */ + .quad 0x3EB761FBE7D201C1 /* P7 = +1.393720509029845064726e-06 */ + .quad 0xBE974CD75A43BF6B /* P8 = -3.471994551992448536007e-07 */ + .quad 0x3E74B02965BBF8DC /* P9 = +7.706929621914905669946e-08 */ + .quad 0xBE504EF4E3892A66 /* P10 = -1.518840362012570189110e-08 */ + .quad 0xC015000000000000 /* B = -5.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C643810400471B0 /* PL0 = +8.768592603904887599187e-18 */ + .quad 0x3FEFFFD583014825 /* PH0 = +9.999797400180382433987e-01 */ + .quad 0x3F053E71416C43CA /* P1 = +4.051955345663706869871e-05 */ + .quad 0xBF053E550C7C8CC9 /* P2 = -4.051873253121394012080e-05 */ + .quad 0x3EFC52D0D90D4843 /* P3 = +2.701139380018752534477e-05 */ + .quad 0xBEEC523A6ADBE142 /* P4 = -1.350460237457883558350e-05 */ + .quad 0x3ED6A73E22D844B3 /* P5 = +5.400965660055565196396e-06 */ + .quad 0xBEBE31D10F23ACD0 /* P6 = -1.799738182979224868919e-06 */ + .quad 0x3EA13E14264DEAB2 /* P7 = +5.138663935333241981438e-07 */ + .quad 0xBE81385ABB98EDCC /* P8 = -1.282999997786486835638e-07 */ + .quad 0x3E5EB9164593E0B6 /* P9 = +2.861301981891537161158e-08 */ + .quad 0xBE387218CFE7772E /* P10 = -5.691705994073124478195e-09 */ + .quad 0xC017000000000000 /* B = -5.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C92530433F4C703 /* PL0 = +6.357512739163799046861e-17 */ + .quad 0x3FEFFFF05E8D3191 /* PH0 = +9.999925467214315633058e-01 */ + .quad 0x3EEF42DDFA52B575 /* P1 = +1.490650158538873335176e-05 */ + .quad 0xBEEF42CEB54212AA /* P2 = -1.490639048307961378200e-05 */ + .quad 0x3EE4D7201CBCB853 /* P3 = +9.937445518550804010127e-06 */ + .quad 0xBED4D6F764B66C37 /* P4 = -4.968574624976280456686e-06 */ + .quad 0x3EC0ABB806EBDE71 /* P5 = +1.987311456171617620608e-06 */ + .quad 0xBEA6399CF854F876 /* P6 = -6.623581475862682369330e-07 */ + .quad 0x3E8964B91728D7C9 /* P7 = +1.891959403186505598965e-07 */ + .quad 0xBE6961A0528444D6 /* P8 = -4.727645325404986954168e-08 */ + .quad 0x3E46AE3B0814EE00 /* P9 = +1.056147192151514779549e-08 */ + .quad 0xBE221B8194DACD16 /* P10 = -2.107984154277957626641e-09 */ + .quad 0xC019000000000000 /* B = -6.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C7BB5622CE1A79E /* PL0 = +2.403331811901679167526e-17 */ + .quad 0x3FEFFFFA3FF22708 /* PH0 = +9.999972580855862602789e-01 */ + .quad 0x3ED7003552D53503 /* P1 = +5.483821309338170039906e-06 */ + .quad 0xBED7003130C1AB92 /* P2 = -5.483806273169366545037e-06 */ + .quad 0x3ECEAAE13B699C45 /* P3 = +3.655850800133043324271e-06 */ + .quad 0xBEBEAACB305F3D07 /* P4 = -1.827905351959291114416e-06 */ + .quad 0x3EA8887F5F9C87EF /* P5 = +7.311461438267648556646e-07 */ + .quad 0xBE905AD08DF8454F /* P6 = -2.437046884027860662692e-07 */ + .quad 0x3E72B068300B703F /* P7 = +6.962228483613086736676e-08 */ + .quad 0xBE52AF921A71C058 /* P8 = -1.740252888706390465423e-08 */ + .quad 0x3E30B53EAA35300D /* P9 = +3.890131469838137725119e-09 */ + .quad 0xBE0AB60CDAD7E22E /* P10 = -7.773963050435300060566e-10 */ + .quad 0xC01B000000000000 /* B = -6.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8BD1ACF80D7256 /* PL0 = +4.825835138930451121169e-17 */ + .quad 0x3FEFFFFDE2760A41 /* PH0 = +9.999989913051835488389e-01 */ + .quad 0x3EC0EC4F1EC27E55 /* P1 = +2.017388615341105998718e-06 */ + .quad 0xBEC0EC4E005E6EAC /* P2 = -2.017386580411626200507e-06 */ + .quad 0x3EB6906504BC4610 /* P3 = +1.344921673533307001969e-06 */ + .quad 0xBEA6905F0D52C8B5 /* P4 = -6.724581235377781360384e-07 */ + .quad 0x3E920D0F5CCE152B /* P5 = +2.689810941136721216499e-07 */ + .quad 0xBE7811505B10E753 /* P6 = -8.965891741619763761543e-08 */ + .quad 0x3E5B811EE4F9B8EE /* P7 = +2.561544781706659619288e-08 */ + .quad 0xBE3B80ABC067E840 /* P8 = -6.403452884688571158579e-09 */ + .quad 0x3E1898E394E09335 /* P9 = +1.431746793613569087489e-09 */ + .quad 0xBDF3ABB5BA711DB7 /* P10 = -2.862469657501951918569e-10 */ + .quad 0xC01D000000000000 /* B = -7.25 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8AE01DB39A3791 /* PL0 = +4.662147961093911873193e-17 */ + .quad 0x3FEFFFFF38C76668 /* PH0 = +9.999996289217962797125e-01 */ + .quad 0x3EA8E712E56E1188 /* P1 = +7.421562696484951529573e-07 */ + .quad 0xBEA8E7124A650791 /* P2 = -7.421559942504648535596e-07 */ + .quad 0x3EA09A0B62D8EF94 /* P3 = +4.947702955735978541097e-07 */ + .quad 0xBE909A09C56C2107 /* P4 = -2.473847805916120382218e-07 */ + .quad 0x3E7A900A90A54A6E /* P5 = +9.895362410487317236618e-08 */ + .quad 0xBE61B5557BB449B6 /* P6 = -3.298434544432568302770e-08 */ + .quad 0x3E443CC74732CDCA /* P7 = +9.423781066565733462466e-09 */ + .quad 0xBE243CA8AA8D6E54 /* P8 = -2.355890888986360997159e-09 */ + .quad 0x3E0219C341E0D1B4 /* P9 = +5.267978308406275552691e-10 */ + .quad 0xBDDCF49A10950F13 /* P10 = -1.053394074620716018815e-10 */ + .quad 0xC01F000000000000 /* B = -7.75 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C75CB18F3775414 /* PL0 = +1.890271747518592444083e-17 */ + .quad 0x3FEFFFFFD38C39F0 /* PH0 = +9.999999172012490333827e-01 */ + .quad 0x3E8639E2F89493BB /* P1 = +1.655974950855472979393e-07 */ + .quad 0xBE8639E2D9B29562 /* P2 = -1.655974813708346974914e-07 */ + .quad 0x3E7DA2836A1F706E /* P3 = +1.103982989742589616541e-07 */ + .quad 0xBE6DA282C6733DAE /* P4 = -5.519913131581509871840e-08 */ + .quad 0x3E57B53A278851FD /* P5 = +2.207971980430773309147e-08 */ + .quad 0xBE3F9C4A72536E22 /* P6 = -7.359895614149337484810e-09 */ + .quad 0x3E220E81FBE19CDD /* P7 = +2.102073153607135257714e-09 */ + .quad 0xBE020E8875ADA8D8 /* P8 = -5.255211642212584097407e-10 */ + .quad 0x3DE07634328384FC /* P9 = +1.197748786062966341989e-10 */ + .quad 0xBDBA54078E3C351F /* P10 = -2.394539505021488953905e-11 */ + .quad 0xC021000000000000 /* B = -8.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C98B78738B0EDEF /* PL0 = +8.575399788039081964921e-17 */ + .quad 0x3FEFFFFFF9FBEA40 /* PH0 = +9.999999887944071019774e-01 */ + .quad 0x3E581056FAC28C46 /* P1 = +2.241118550516412682327e-08 */ + .quad 0xBE581056F63A4351 /* P2 = -2.241118525356742542550e-08 */ + .quad 0x3E500AE49533790A /* P3 = +1.494078933911655875521e-08 */ + .quad 0xBE400AE489ACBA90 /* P4 = -7.470394349637968945652e-09 */ + .quad 0x3E29AB0D59A1967B /* P5 = +2.988168557255271725494e-09 */ + .quad 0xBE111CB32D6EEF2B /* P6 = -9.960558400070350772418e-10 */ + .quad 0x3DF38CBADF396908 /* P7 = +2.844859618921805216353e-10 */ + .quad 0xBDD38CC7B92CECD3 /* P8 = -7.112220386749926320915e-11 */ + .quad 0x3DB1D2BBE2705032 /* P9 = +1.621008722427575444686e-11 */ + .quad 0xBD8C8199294E6380 /* P10 = -3.240784656869469020111e-12 */ + .quad 0xC023000000000000 /* B = -9.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8EEEC16618B984 /* PL0 = +5.365957423487855307906e-17 */ + .quad 0x3FEFFFFFFF2F9279 /* PH0 = +9.999999984834878619111e-01 */ + .quad 0x3E2A0DB0D052B148 /* P1 = +3.033024167396880687734e-09 */ + .quad 0xBE2A0DB0CFA6AB71 /* P2 = -3.033024162734192808028e-09 */ + .quad 0x3E215E75D53A3105 /* P3 = +2.022016035353114070618e-09 */ + .quad 0xBE115E75D40AA47F /* P4 = -1.011008013562702155050e-09 */ + .quad 0x3DFBCA5CDC12ED1C /* P5 = +4.044047007631481841556e-10 */ + .quad 0xBDE286E85704FC22 /* P6 = -1.348015410318274576187e-10 */ + .quad 0x3DC52A8925354517 /* P7 = +3.850101197145027796396e-11 */ + .quad 0xBDA52A97EA3F5F4A /* P8 = -9.625355478142550638468e-12 */ + .quad 0x3D834C011A2AC0F7 /* P9 = +2.193802608697321032841e-12 */ + .quad 0xBD5EDD05BDCB3A62 /* P10 = -4.385948508419928563300e-13 */ + .quad 0xC025000000000000 /* B = -10.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6BD8B474BBF792 /* PL0 = +1.207649585364892639612e-17 */ + .quad 0x3FEFFFFFFFE3CAD8 /* PH0 = +9.999999997947623953110e-01 */ + .quad 0x3DFC3527E43C565F /* P1 = +4.104751852963940338559e-10 */ + .quad 0xBDFC3527E420F415 /* P2 = -4.104751852036136216697e-10 */ + .quad 0x3DF2CE1A8D806DAD /* P3 = +2.736501142887952919489e-10 */ + .quad 0xBDE2CE1A8DDF690A /* P4 = -1.368250573053032426141e-10 */ + .quad 0x3DCE169832D8BD68 /* P5 = +5.473022586854025789680e-11 */ + .quad 0xBDB40F0FE853DA5B /* P6 = -1.824340550195944358477e-11 */ + .quad 0x3D96EA8D930D31A1 /* P7 = +5.210545794901128943676e-12 */ + .quad 0xBD76EA9DB0D09839 /* P8 = -1.302650427355019556441e-12 */ + .quad 0x3D54E474FD4303A1 /* P9 = +2.968990047962355000258e-13 */ + .quad 0xBD30B526CA2B228A /* P10 = -5.935740124899435401321e-14 */ + .quad 0xC027000000000000 /* B = -11.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C56E8953D525FD5 /* PL0 = +4.967494994909661698725e-18 */ + .quad 0x3FEFFFFFFFFC2EB9 /* PH0 = +9.999999999722241073030e-01 */ + .quad 0x3DCE8A37A48016C2 /* P1 = +5.555177547354687971427e-11 */ + .quad 0xBDCE8A37A479B7D4 /* P2 = -5.555177547084873157964e-11 */ + .quad 0x3DC45C250CFA9C16 /* P3 = +3.703451575129414499553e-11 */ + .quad 0xBDB45C250D9F8467 /* P4 = -1.851725791056759260154e-11 */ + .quad 0x3DA049BB33CBD4E9 /* P5 = +7.406930640558963265190e-12 */ + .quad 0xBD85B7A407C422C1 /* P6 = -2.468976464832073512208e-12 */ + .quad 0x3D68CF9CED2B3FD5 /* P7 = +7.051706989348171774536e-13 */ + .quad 0xBD48CFAE64C352B3 /* P8 = -1.762945685274427023683e-13 */ + .quad 0x3D269EAE08690D52 /* P9 = +4.018091287355461204663e-14 */ + .quad 0xBD0216CBEAFFF5AA /* P10 = -8.033151495672990022322e-15 */ + .quad 0xC029000000000000 /* B = -12.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C8ACF1392B106D3 /* PL0 = +4.650601502940921454330e-17 */ + .quad 0x3FEFFFFFFFFF7BBD /* PH0 = +9.999999999962408958609e-01 */ + .quad 0x3DA088529889B316 /* P1 = +7.518115268189742464885e-12 */ + .quad 0xBDA088529887F4C4 /* P2 = -7.518115268005149164680e-12 */ + .quad 0x3D960B18BF1DF711 /* P3 = +5.012076679213679703380e-12 */ + .quad 0xBD860B18BFD99A48 /* P4 = -2.506038344573564868987e-12 */ + .quad 0x3D71A27E7CA64143 /* P5 = +1.002419056539285288454e-12 */ + .quad 0xBD5783530EA76D91 /* P6 = -3.341396294294381580191e-13 */ + .quad 0x3D3ADCC75CBD2A03 /* P7 = +9.543447641637910477850e-14 */ + .quad 0xBD1ADCDA46BE5F17 /* P8 = -2.385887543769010971872e-14 */ + .quad 0x3CF87D77650BE5B8 /* P9 = +5.437895260471143131391e-15 */ + .quad 0xBCD395AE6E74C6D2 /* P10 = -1.087168847335561258239e-15 */ + .quad 0xC02B000000000000 /* B = -13.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C97A8A295292858 /* PL0 = +8.208271151146829171896e-17 */ + .quad 0x3FEFFFFFFFFFEE19 /* PH0 = +9.999999999994911847878e-01 */ + .quad 0x3D71E642BB008F95 /* P1 = +1.017466259229268282255e-12 */ + .quad 0xBD71E642BAFEEC54 /* P2 = -1.017466259207593392022e-12 */ + .quad 0x3D67DDAE41647741 /* P3 = +6.783108169938233581038e-13 */ + .quad 0xBD57DDAE4230F34B /* P4 = -3.391554091734942426856e-13 */ + .quad 0x3D4317C33FAE2536 /* P5 = +1.356626669455791324801e-13 */ + .quad 0xBD2975040D3E26B9 /* P6 = -4.522088139411435138867e-14 */ + .quad 0x3D0D155DCD0F0AFB /* P7 = +1.291565189902030307333e-14 */ + .quad 0xBCED157247832B20 /* P8 = -3.228947666403019234175e-15 */ + .quad 0x3CCA83D70F607C28 /* P9 = +7.359390959466796619024e-16 */ + .quad 0xBCA5343952C1E19E /* P10 = -1.471323041436694087188e-16 */ + .quad 0xC02D000000000000 /* B = -14.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C9B7876CBC5306E /* PL0 = +9.530765996816607711732e-17 */ + .quad 0x3FEFFFFFFFFFFD93 /* PH0 = +9.999999999999310551502e-01 */ + .quad 0x3D436121E2640D76 /* P1 = +1.376990843765503869546e-13 */ + .quad 0xBD436121E26250EA /* P2 = -1.376990843736775811281e-13 */ + .quad 0x3D39D6D7CA259186 /* P3 = +9.179938654047876451320e-14 */ + .quad 0xBD29D6D7CB0327CE /* P4 = -4.589969336188563660531e-14 */ + .quad 0x3D14ABE4DC31244A /* P5 = +1.835994545584345768382e-14 */ + .quad 0xBCFB8FDB82AB6BB7 /* P6 = -6.119980791767901275443e-15 */ + .quad 0x3CDF7CF757491B60 /* P7 = +1.747943407988343076526e-15 */ + .quad 0xBCBF7D0D833640FB /* P8 = -4.369905470133249448357e-16 */ + .quad 0x3C9CB512F6BDC754 /* P9 = +9.959852600692493655511e-17 */ + .quad 0xBC76F50AB1B0E9BA /* P10 = -1.991219205936492089091e-17 */ + .quad 0xC02F000000000000 /* B = -15.5 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C6FFE15D5F78543 /* PL0 = +1.387454417328248962819e-17 */ + .quad 0x3FEFFFFFFFFFFFE1 /* PH0 = +9.999999999999965583086e-01 */ + .quad 0x3CFEE00288B99C26 /* P1 = +6.855635762864742358597e-15 */ + .quad 0xBCFEE0027D060EE2 /* P2 = -6.855635607998342735403e-15 */ + .quad 0x3CF4954AA23148A2 /* P3 = +4.570381865813341696777e-15 */ + .quad 0xBCE4954B5DAD3010 /* P4 = -2.285192173571711474199e-15 */ + .quad 0x3CD07883DD8793BD /* P5 = +9.143109661358222028007e-16 */ + .quad 0xBCB5F5F4BB87ADCF /* P6 = -3.047668447080103869032e-16 */ + .quad 0x3C98F1A905097685 /* P7 = +8.654183371862458774513e-17 */ + .quad 0xBC78F2D585007222 /* P8 = -2.163943551222030413627e-17 */ + .quad 0x3C58A37CC5082B5F /* P9 = +5.342649626494471588064e-18 */ + .quad 0xBC33AE7917F94D17 /* P10 = -1.066938163384541013918e-18 */ + .quad 0xC031000000000000 /* B = -17 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x3C91BF1D80474F0F /* PL0 = +6.157069264461989135096e-17 */ + .quad 0x3FEFFFFFFFFFFFFE /* PH0 = +9.999999999999997779554e-01 */ + .quad 0x3CB72071400E6275 /* P1 = +3.209478247225075961360e-16 */ + .quad 0xBCB72071400A9F37 /* P2 = -3.209478247103497434502e-16 */ + .quad 0x3CAED5EC39A77629 /* P3 = +2.139652050028423711308e-16 */ + .quad 0xBC9ED5EC3B530600 /* P4 = -1.069826028468029104719e-16 */ + .quad 0x3C88AB2BFED159DE /* P5 = +4.279326904335078988705e-17 */ + .quad 0xBC70721D1220B3FC /* P6 = -1.426441958074916244382e-17 */ + .quad 0x3C52C96049721FB8 /* P7 = +4.073700029965821523731e-18 */ + .quad 0xBC32C971215735DC /* P8 = -1.018438939975201710113e-18 */ + .quad 0x3C112EF658AB41A9 /* P9 = +2.328791246104218830028e-19 */ + .quad 0xBBEB7B598C6AD3DE /* P10 = -4.655603964908654142787e-20 */ + .quad 0xC03287E0C98F84E5 /* B = -18.530774 */ + .quad 0x3FF0000000000000 /* A = +1 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* PL0 = +0.000000000000000000000e-01 */ + .quad 0x3FF0000000000000 /* PH0 = +1.000000000000000000000e+00 */ + .quad 0x0000000000000000 /* P1 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P2 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P3 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P4 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P5 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P6 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P7 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P8 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P9 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* P10 = +0.000000000000000000000e-01 */ + .quad 0x0000000000000000 /* B = +0 */ + .quad 0x0000000000000000 /* A = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .quad 0x0000000000000000 /* Align value = +0 */ + .align 32 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */ + .align 32 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */ + .align 32 + .long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */ + .align 32 + .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */ + .align 32 + .long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */ + .align 32 + .long 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */ + .align 32 + .type __svml_dtanh_data_internal, @object + .size __svml_dtanh_data_internal, .-__svml_dtanh_data_internal From patchwork Mon Mar 7 15:02:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Pandey X-Patchwork-Id: 1602413 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=YEDshhO6; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4KC41R1g1Gz9sFt for ; Tue, 8 Mar 2022 03:39:39 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E5C893857C50 for ; Mon, 7 Mar 2022 16:39:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5C893857C50 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1646671176; bh=0F8tyCSJ3N+RUFwIoH6FhA8gYDSNqBuzwC+CghqLDpY=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=YEDshhO6NDKv2pLtxkYYho2BH7VBIcdp0oELwYTQ7GxHTeI1Lurxw+blLbBQpZUj8 HoyP2NFqO5iU5jr+jlEq5ezm12qAhW+Pl5jUryBSE/1w0WhsVlO1ka8VE7m7pf3lm6 33IpqEkHNnYplfW5nKd2cZbkeVB/Ru0l3NX0VYSY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 2DE4C3858428 for ; Mon, 7 Mar 2022 15:03:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2DE4C3858428 X-IronPort-AV: E=McAfee;i="6200,9189,10278"; a="235017306" X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="235017306" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2022 07:02:12 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,162,1643702400"; d="scan'208";a="631871427" Received: from scymds01.sc.intel.com ([10.148.94.138]) by FMSMGA003.fm.intel.com with ESMTP; 07 Mar 2022 07:02:12 -0800 Received: from gskx-1.sc.intel.com (gskx-1.sc.intel.com [172.25.149.211]) by scymds01.sc.intel.com with ESMTP id 227F21fe016772; Mon, 7 Mar 2022 07:02:12 -0800 To: libc-alpha@sourceware.org Subject: [PATCH 126/126] x86_64: Fix svml_d_tanh8_core_avx512.S code formatting Date: Mon, 7 Mar 2022 07:02:01 -0800 Message-Id: <20220307150201.10590-127-skpgkp2@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220307150201.10590-1-skpgkp2@gmail.com> References: <20220307150201.10590-1-skpgkp2@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=2.3 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_DMARC_NONE, KAM_DMARC_STATUS, NML_ADSP_CUSTOM_MED, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE, UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Sunil K Pandey via Libc-alpha From: Sunil Pandey Reply-To: Sunil K Pandey Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This commit contains following formatting changes 1. Instructions proceeded by a tab. 2. Instruction less than 8 characters in length have a tab between it and the first operand. 3. Instruction greater than 7 characters in length have a space between it and the first operand. 4. Tabs after `#define`d names and their value. 5. 8 space at the beginning of line replaced by tab. 6. Indent comments with code. 7. Remove redundent .text section. --- .../fpu/multiarch/svml_d_tanh8_core_avx512.S | 718 +++++++++--------- 1 file changed, 358 insertions(+), 360 deletions(-) diff --git a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S index c96f6e5960..82c0119500 100644 --- a/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S +++ b/sysdeps/x86_64/fpu/multiarch/svml_d_tanh8_core_avx512.S @@ -28,7 +28,7 @@ * and to approximate tanh(.) with a polynomial on each of them. * * IEEE SPECIAL CONDITIONS: - * x = [+,-]0, r = [+,-]0 + * x = [+, -]0, r = [+, -]0 * x = +Inf, r = +1 * x = -Inf, r = -1 * x = QNaN, r = QNaN @@ -72,401 +72,399 @@ /* Offsets for data table __svml_dtanh_data_internal */ -#define _dC 0 -#define _dP0 128 -#define _dP1 256 -#define _dP2 384 -#define _dP3 512 -#define _dP4 640 -#define _dP5 768 -#define _dP6 896 -#define _dP7 1024 -#define _dP8 1152 -#define _dP9 1280 -#define _dP10 1408 -#define _dP11 1536 -#define _dP12 1664 -#define _dP13 1792 -#define _dP14 1920 -#define _dP15 2048 -#define _dP16 2176 -#define _dP17 2304 -#define _iExpMantMask_UISA 2432 -#define _iMinIdxOfsMask_UISA 2496 -#define _iMaxIdxMask_UISA 2560 -#define _dbSignMask 2624 -#define _dbAbsMask 2688 -#define _iExpMantMask 2752 -#define _iExpMask 2816 -#define _iMinIdxOfsMask 2880 -#define _iMaxIdxMask 2944 +#define _dC 0 +#define _dP0 128 +#define _dP1 256 +#define _dP2 384 +#define _dP3 512 +#define _dP4 640 +#define _dP5 768 +#define _dP6 896 +#define _dP7 1024 +#define _dP8 1152 +#define _dP9 1280 +#define _dP10 1408 +#define _dP11 1536 +#define _dP12 1664 +#define _dP13 1792 +#define _dP14 1920 +#define _dP15 2048 +#define _dP16 2176 +#define _dP17 2304 +#define _iExpMantMask_UISA 2432 +#define _iMinIdxOfsMask_UISA 2496 +#define _iMaxIdxMask_UISA 2560 +#define _dbSignMask 2624 +#define _dbAbsMask 2688 +#define _iExpMantMask 2752 +#define _iExpMask 2816 +#define _iMinIdxOfsMask 2880 +#define _iMaxIdxMask 2944 #include - .text - .section .text.evex512,"ax",@progbits + .section .text.evex512, "ax", @progbits ENTRY(_ZGVeN8v_tanh_skx) - pushq %rbp - cfi_def_cfa_offset(16) - movq %rsp, %rbp - cfi_def_cfa(6, 16) - cfi_offset(6, -16) - andq $-64, %rsp - subq $320, %rsp - vpsrlq $32, %zmm0, %zmm4 - vmovups %zmm0, (%rsp) - vmovups __svml_dtanh_data_internal(%rip), %zmm14 - vmovups _dP0+__svml_dtanh_data_internal(%rip), %zmm15 - vpmovqd %zmm4, %ymm5 + pushq %rbp + cfi_def_cfa_offset(16) + movq %rsp, %rbp + cfi_def_cfa(6, 16) + cfi_offset(6, -16) + andq $-64, %rsp + subq $320, %rsp + vpsrlq $32, %zmm0, %zmm4 + vmovups %zmm0, (%rsp) + vmovups __svml_dtanh_data_internal(%rip), %zmm14 + vmovups _dP0+__svml_dtanh_data_internal(%rip), %zmm15 + vpmovqd %zmm4, %ymm5 -/* Constant loading */ - vandpd _dbAbsMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm13 - vandpd _dbSignMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm3 + /* Constant loading */ + vandpd _dbAbsMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm13 + vandpd _dbSignMask+__svml_dtanh_data_internal(%rip), %zmm0, %zmm3 -/* Here huge arguments, INF and NaNs are filtered out to callout. */ - vpand _iExpMantMask_UISA+__svml_dtanh_data_internal(%rip), %ymm5, %ymm7 - vmovups _dP2+__svml_dtanh_data_internal(%rip), %zmm0 - vmovups _dP16+__svml_dtanh_data_internal(%rip), %zmm4 - vmovups _dP15+__svml_dtanh_data_internal(%rip), %zmm5 - vmovups %zmm3, 64(%rsp) - vmovups _dP3+__svml_dtanh_data_internal(%rip), %zmm3 - vpsubd _iMinIdxOfsMask_UISA+__svml_dtanh_data_internal(%rip), %ymm7, %ymm8 + /* Here huge arguments, INF and NaNs are filtered out to callout. */ + vpand _iExpMantMask_UISA+__svml_dtanh_data_internal(%rip), %ymm5, %ymm7 + vmovups _dP2+__svml_dtanh_data_internal(%rip), %zmm0 + vmovups _dP16+__svml_dtanh_data_internal(%rip), %zmm4 + vmovups _dP15+__svml_dtanh_data_internal(%rip), %zmm5 + vmovups %zmm3, 64(%rsp) + vmovups _dP3+__svml_dtanh_data_internal(%rip), %zmm3 + vpsubd _iMinIdxOfsMask_UISA+__svml_dtanh_data_internal(%rip), %ymm7, %ymm8 -/* if VMIN, VMAX is defined for I type */ - vxorps %ymm9, %ymm9, %ymm9 - vpmaxsd %ymm9, %ymm8, %ymm10 - vpminsd _iMaxIdxMask_UISA+__svml_dtanh_data_internal(%rip), %ymm10, %ymm11 - vpsrld $19, %ymm11, %ymm12 - vmovups _dP12+__svml_dtanh_data_internal(%rip), %zmm8 - vmovups _dP11+__svml_dtanh_data_internal(%rip), %zmm9 - vmovups _dP10+__svml_dtanh_data_internal(%rip), %zmm10 - vmovups _dP9+__svml_dtanh_data_internal(%rip), %zmm11 - vpmovzxdq %ymm12, %zmm2 - vmovups _dP8+__svml_dtanh_data_internal(%rip), %zmm12 - vpermt2pd _dP2+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0 - vpermt2pd _dC+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14 - vpermt2pd _dP16+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm4 - vpermt2pd _dP15+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm5 - vsubpd {rn-sae}, %zmm14, %zmm13, %zmm1 - vpermt2pd _dP12+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm8 - vpermt2pd _dP11+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm9 - vpermt2pd _dP10+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm10 - vpermt2pd _dP9+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm11 - vpermt2pd _dP8+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm12 - vpermt2pd _dP3+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3 - vpermt2pd _dP0+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15 - vmovups %zmm0, 192(%rsp) - vmovups _dP17+__svml_dtanh_data_internal(%rip), %zmm0 - vmovups _dP7+__svml_dtanh_data_internal(%rip), %zmm13 - vmovups _dP6+__svml_dtanh_data_internal(%rip), %zmm14 - vmovups %zmm3, 256(%rsp) - vmovups _dP5+__svml_dtanh_data_internal(%rip), %zmm3 - vmovups %zmm15, 128(%rsp) - vmovups _dP4+__svml_dtanh_data_internal(%rip), %zmm15 - vpermt2pd _dP17+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0 - vpermt2pd _dP7+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm13 - vpermt2pd _dP6+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14 - vpermt2pd _dP5+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3 - vpermt2pd _dP4+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15 - vfmadd213pd {rn-sae}, %zmm4, %zmm1, %zmm0 - vpcmpgtd _iExpMask+__svml_dtanh_data_internal(%rip), %ymm7, %ymm6 - vmovmskps %ymm6, %edx - vmovups _dP14+__svml_dtanh_data_internal(%rip), %zmm6 - vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm0 - vmovups _dP13+__svml_dtanh_data_internal(%rip), %zmm7 - vpermt2pd _dP14+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm6 - vpermt2pd _dP13+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm7 - vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0 - vmovups 256(%rsp), %zmm2 - vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm8, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm9, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm10, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm11, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm12, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm13, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm14, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0 - vmovups 128(%rsp), %zmm3 - vfmadd213pd {rn-sae}, %zmm15, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 - vmovups 192(%rsp), %zmm2 - vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 - vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0 - vorpd 64(%rsp), %zmm0, %zmm0 - testl %edx, %edx + /* if VMIN, VMAX is defined for I type */ + vxorps %ymm9, %ymm9, %ymm9 + vpmaxsd %ymm9, %ymm8, %ymm10 + vpminsd _iMaxIdxMask_UISA+__svml_dtanh_data_internal(%rip), %ymm10, %ymm11 + vpsrld $19, %ymm11, %ymm12 + vmovups _dP12+__svml_dtanh_data_internal(%rip), %zmm8 + vmovups _dP11+__svml_dtanh_data_internal(%rip), %zmm9 + vmovups _dP10+__svml_dtanh_data_internal(%rip), %zmm10 + vmovups _dP9+__svml_dtanh_data_internal(%rip), %zmm11 + vpmovzxdq %ymm12, %zmm2 + vmovups _dP8+__svml_dtanh_data_internal(%rip), %zmm12 + vpermt2pd _dP2+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0 + vpermt2pd _dC+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14 + vpermt2pd _dP16+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm4 + vpermt2pd _dP15+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm5 + vsubpd {rn-sae}, %zmm14, %zmm13, %zmm1 + vpermt2pd _dP12+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm8 + vpermt2pd _dP11+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm9 + vpermt2pd _dP10+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm10 + vpermt2pd _dP9+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm11 + vpermt2pd _dP8+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm12 + vpermt2pd _dP3+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3 + vpermt2pd _dP0+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15 + vmovups %zmm0, 192(%rsp) + vmovups _dP17+__svml_dtanh_data_internal(%rip), %zmm0 + vmovups _dP7+__svml_dtanh_data_internal(%rip), %zmm13 + vmovups _dP6+__svml_dtanh_data_internal(%rip), %zmm14 + vmovups %zmm3, 256(%rsp) + vmovups _dP5+__svml_dtanh_data_internal(%rip), %zmm3 + vmovups %zmm15, 128(%rsp) + vmovups _dP4+__svml_dtanh_data_internal(%rip), %zmm15 + vpermt2pd _dP17+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm0 + vpermt2pd _dP7+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm13 + vpermt2pd _dP6+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm14 + vpermt2pd _dP5+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm3 + vpermt2pd _dP4+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm15 + vfmadd213pd {rn-sae}, %zmm4, %zmm1, %zmm0 + vpcmpgtd _iExpMask+__svml_dtanh_data_internal(%rip), %ymm7, %ymm6 + vmovmskps %ymm6, %edx + vmovups _dP14+__svml_dtanh_data_internal(%rip), %zmm6 + vfmadd213pd {rn-sae}, %zmm5, %zmm1, %zmm0 + vmovups _dP13+__svml_dtanh_data_internal(%rip), %zmm7 + vpermt2pd _dP14+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm6 + vpermt2pd _dP13+64+__svml_dtanh_data_internal(%rip), %zmm2, %zmm7 + vfmadd213pd {rn-sae}, %zmm6, %zmm1, %zmm0 + vmovups 256(%rsp), %zmm2 + vfmadd213pd {rn-sae}, %zmm7, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm8, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm9, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm10, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm11, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm12, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm13, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm14, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0 + vmovups 128(%rsp), %zmm3 + vfmadd213pd {rn-sae}, %zmm15, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 + vmovups 192(%rsp), %zmm2 + vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 + vfmadd213pd {rn-sae}, %zmm3, %zmm1, %zmm0 + vorpd 64(%rsp), %zmm0, %zmm0 + testl %edx, %edx -/* Go to special inputs processing branch */ - jne L(SPECIAL_VALUES_BRANCH) - # LOE rbx r12 r13 r14 r15 edx zmm0 + /* Go to special inputs processing branch */ + jne L(SPECIAL_VALUES_BRANCH) + # LOE rbx r12 r13 r14 r15 edx zmm0 -/* Restore registers - * and exit the function - */ + /* Restore registers + * and exit the function + */ L(EXIT): - movq %rbp, %rsp - popq %rbp - cfi_def_cfa(7, 8) - cfi_restore(6) - ret - cfi_def_cfa(6, 16) - cfi_offset(6, -16) + 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 - */ + /* Branch to process + * special inputs + */ L(SPECIAL_VALUES_BRANCH): - vmovups (%rsp), %zmm1 - vmovups %zmm0, 128(%rsp) - vmovups %zmm1, 64(%rsp) - # LOE rbx r12 r13 r14 r15 edx zmm0 + vmovups (%rsp), %zmm1 + vmovups %zmm0, 128(%rsp) + vmovups %zmm1, 64(%rsp) + # LOE rbx r12 r13 r14 r15 edx zmm0 - xorl %eax, %eax - # LOE rbx r12 r13 r14 r15 eax edx + xorl %eax, %eax + # LOE rbx r12 r13 r14 r15 eax edx - vzeroupper - movq %r12, 16(%rsp) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 - movl %eax, %r12d - movq %r13, 8(%rsp) - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22 - movl %edx, %r13d - movq %r14, (%rsp) - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 - # LOE rbx r15 r12d r13d + vzeroupper + movq %r12, 16(%rsp) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + movl %eax, %r12d + movq %r13, 8(%rsp) + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22 + movl %edx, %r13d + movq %r14, (%rsp) + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + # LOE rbx r15 r12d r13d -/* Range mask - * bits check - */ + /* Range mask + * bits check + */ L(RANGEMASK_CHECK): - btl %r12d, %r13d + btl %r12d, %r13d -/* Call scalar math function */ - jc L(SCALAR_MATH_CALL) - # LOE rbx r15 r12d r13d + /* Call scalar math function */ + jc L(SCALAR_MATH_CALL) + # LOE rbx r15 r12d r13d -/* Special inputs - * processing loop - */ + /* Special inputs + * processing loop + */ L(SPECIAL_VALUES_LOOP): - incl %r12d - cmpl $8, %r12d + incl %r12d + cmpl $8, %r12d -/* Check bits in range mask */ - jl L(RANGEMASK_CHECK) - # LOE rbx r15 r12d r13d + /* 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) - vmovups 128(%rsp), %zmm0 + movq 16(%rsp), %r12 + cfi_restore(12) + movq 8(%rsp), %r13 + cfi_restore(13) + movq (%rsp), %r14 + cfi_restore(14) + vmovups 128(%rsp), %zmm0 -/* Go to exit */ - jmp L(EXIT) - /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */ - .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */ - .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22 - /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */ - .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 - # LOE rbx r12 r13 r14 r15 zmm0 + /* Go to exit */ + jmp L(EXIT) + /* DW_CFA_expression: r12 (r12) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -304; DW_OP_plus) */ + .cfi_escape 0x10, 0x0c, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xd0, 0xfe, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r13 (r13) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -312; DW_OP_plus) */ + .cfi_escape 0x10, 0x0d, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc8, 0xfe, 0xff, 0xff, 0x22 + /* DW_CFA_expression: r14 (r14) (DW_OP_lit8; DW_OP_minus; DW_OP_const4s: -64; DW_OP_and; DW_OP_const4s: -320; DW_OP_plus) */ + .cfi_escape 0x10, 0x0e, 0x0e, 0x38, 0x1c, 0x0d, 0xc0, 0xff, 0xff, 0xff, 0x1a, 0x0d, 0xc0, 0xfe, 0xff, 0xff, 0x22 + # LOE rbx r12 r13 r14 r15 zmm0 -/* Scalar math fucntion call - * to process special input - */ + /* Scalar math fucntion call + * to process special input + */ L(SCALAR_MATH_CALL): - movl %r12d, %r14d - movsd 64(%rsp,%r14,8), %xmm0 - call tanh@PLT - # LOE rbx r14 r15 r12d r13d xmm0 + movl %r12d, %r14d + movsd 64(%rsp, %r14, 8), %xmm0 + call tanh@PLT + # LOE rbx r14 r15 r12d r13d xmm0 - movsd %xmm0, 128(%rsp,%r14,8) + movsd %xmm0, 128(%rsp, %r14, 8) -/* Process special inputs in loop */ - jmp L(SPECIAL_VALUES_LOOP) - # LOE rbx r15 r12d r13d + /* Process special inputs in loop */ + jmp L(SPECIAL_VALUES_LOOP) + # LOE rbx r15 r12d r13d END(_ZGVeN8v_tanh_skx) - .section .rodata, "a" - .align 64 + .section .rodata, "a" + .align 64 #ifdef __svml_dtanh_data_internal_typedef typedef unsigned int VUINT32; -typedef struct -{ - __declspec(align(64)) VUINT32 _dC[16][2]; - __declspec(align(64)) VUINT32 _dP0[16][2]; - __declspec(align(64)) VUINT32 _dP1[16][2]; - __declspec(align(64)) VUINT32 _dP2[16][2]; - __declspec(align(64)) VUINT32 _dP3[16][2]; - __declspec(align(64)) VUINT32 _dP4[16][2]; - __declspec(align(64)) VUINT32 _dP5[16][2]; - __declspec(align(64)) VUINT32 _dP6[16][2]; - __declspec(align(64)) VUINT32 _dP7[16][2]; - __declspec(align(64)) VUINT32 _dP8[16][2]; - __declspec(align(64)) VUINT32 _dP9[16][2]; - __declspec(align(64)) VUINT32 _dP10[16][2]; - __declspec(align(64)) VUINT32 _dP11[16][2]; - __declspec(align(64)) VUINT32 _dP12[16][2]; - __declspec(align(64)) VUINT32 _dP13[16][2]; - __declspec(align(64)) VUINT32 _dP14[16][2]; - __declspec(align(64)) VUINT32 _dP15[16][2]; - __declspec(align(64)) VUINT32 _dP16[16][2]; - __declspec(align(64)) VUINT32 _dP17[16][2]; - __declspec(align(64)) VUINT32 _iExpMantMask_UISA[16][1]; - __declspec(align(64)) VUINT32 _iMinIdxOfsMask_UISA[16][1]; - __declspec(align(64)) VUINT32 _iMaxIdxMask_UISA[16][1]; - __declspec(align(64)) VUINT32 _dbSignMask[8][2]; - __declspec(align(64)) VUINT32 _dbAbsMask[8][2]; - __declspec(align(64)) VUINT32 _iExpMantMask[16][1]; - __declspec(align(64)) VUINT32 _iExpMask[16][1]; - __declspec(align(64)) VUINT32 _iMinIdxOfsMask[16][1]; - __declspec(align(64)) VUINT32 _iMaxIdxMask[16][1]; +typedef struct { + __declspec(align(64)) VUINT32 _dC[16][2]; + __declspec(align(64)) VUINT32 _dP0[16][2]; + __declspec(align(64)) VUINT32 _dP1[16][2]; + __declspec(align(64)) VUINT32 _dP2[16][2]; + __declspec(align(64)) VUINT32 _dP3[16][2]; + __declspec(align(64)) VUINT32 _dP4[16][2]; + __declspec(align(64)) VUINT32 _dP5[16][2]; + __declspec(align(64)) VUINT32 _dP6[16][2]; + __declspec(align(64)) VUINT32 _dP7[16][2]; + __declspec(align(64)) VUINT32 _dP8[16][2]; + __declspec(align(64)) VUINT32 _dP9[16][2]; + __declspec(align(64)) VUINT32 _dP10[16][2]; + __declspec(align(64)) VUINT32 _dP11[16][2]; + __declspec(align(64)) VUINT32 _dP12[16][2]; + __declspec(align(64)) VUINT32 _dP13[16][2]; + __declspec(align(64)) VUINT32 _dP14[16][2]; + __declspec(align(64)) VUINT32 _dP15[16][2]; + __declspec(align(64)) VUINT32 _dP16[16][2]; + __declspec(align(64)) VUINT32 _dP17[16][2]; + __declspec(align(64)) VUINT32 _iExpMantMask_UISA[16][1]; + __declspec(align(64)) VUINT32 _iMinIdxOfsMask_UISA[16][1]; + __declspec(align(64)) VUINT32 _iMaxIdxMask_UISA[16][1]; + __declspec(align(64)) VUINT32 _dbSignMask[8][2]; + __declspec(align(64)) VUINT32 _dbAbsMask[8][2]; + __declspec(align(64)) VUINT32 _iExpMantMask[16][1]; + __declspec(align(64)) VUINT32 _iExpMask[16][1]; + __declspec(align(64)) VUINT32 _iMinIdxOfsMask[16][1]; + __declspec(align(64)) VUINT32 _iMaxIdxMask[16][1]; } __svml_dtanh_data_internal; #endif __svml_dtanh_data_internal: - /*== _dC ==*/ - .quad 0x0000000000000000, 0x3fcc000000000000, 0x3fd4000000000000, 0x3fdc000000000000 - .quad 0x3fe4000000000000, 0x3fec000000000000, 0x3ff4000000000000, 0x3ffc000000000000 - .quad 0x4004000000000000, 0x400c000000000000, 0x4014000000000000, 0x401c000000000000 - .quad 0x4024000000000000, 0x402c000000000000, 0x4034000000000000, 0x0000000000000000 - /*== p0 ==*/ - .align 64 - .quad 0x0000000000000000, 0x3fcb8fd0416a7c92, 0x3fd35f98a0ea650e, 0x3fda5729ee488037 - .quad 0x3fe1bf47eabb8f95, 0x3fe686650b8c2015, 0x3feb2523bb6b2dee, 0x3fee1fbf97e33527 - .quad 0x3fef9258260a71c2, 0x3feff112c63a9077, 0x3fefff419668df11, 0x3feffffc832750f2 - .quad 0x3feffffffdc96f35, 0x3fefffffffffcf58, 0x3ff0000000000000, 0x3ff0000000000000 - /*== p1 ==*/ - .align 64 - .quad 0x0000000000000000, 0x3c65e23ebcd3bcbe, 0xbc4c600bac3adf00, 0x3c6c44091785d040 - .quad 0x3c8221d7a6e3674b, 0x3c69f89d2cf6b85c, 0x3c73b3e9ec0b8f1c, 0xbc7f8d4b0428aada - .quad 0xbc7c52d880cf43c0, 0x3c7dd36e37096480, 0x3c7b4f6380c442ca, 0xbc729755de470096 - .quad 0x3c84cf852845efbd, 0x3c6fc4fb440a5378, 0xbc63981083b55870, 0x0000000000000000 - /*== p2 ==*/ - .align 64 - .quad 0x3ff0000000000000, 0x3fee842ca3f08532, 0x3fed11574af58f1b, 0x3fea945b9c24e4f9 - .quad 0x3fe6284c3374f815, 0x3fe02500a09f8d6e, 0x3fd1f25131e3a8c0, 0x3fbd22ca1c24a139 - .quad 0x3f9b3afe1fba5c76, 0x3f6dd37d19b22b21, 0x3f27ccec13a9ef96, 0x3ecbe6c3f33250ae - .quad 0x3e41b4865394f75f, 0x3d8853f01bda5f28, 0x3c73953c0197ef58, 0x0000000000000000 - /*== p3 ==*/ - .align 64 - .quad 0xbbf0b3ea3fdfaa19, 0xbfca48aaeb53bc21, 0xbfd19921f4329916, 0xbfd5e0f09bef8011 - .quad 0xbfd893b59c35c882, 0xbfd6ba7cb7576538, 0xbfce7291743d7555, 0xbfbb6d85a01efb80 - .quad 0xbf9addae58c7141a, 0xbf6dc59376c7aa19, 0xbf27cc5e74677410, 0xbecbe6c0e8b4cc87 - .quad 0xbe41b486526b0565, 0xbd8853f01bef63a4, 0xbc73955be519be31, 0x0000000000000000 - /*== p4 ==*/ - .align 64 - .quad 0xbfd5555555555555, 0xbfd183afc292ba11, 0xbfcc1a4b039c9bfa, 0xbfc16e1e6d8d0be6 - .quad 0xbf92426c751e48a2, 0x3fb4f152b2bad124, 0x3fbbba40cbef72be, 0x3fb01ba038be6a3d - .quad 0x3f916df44871efc8, 0x3f63c6869dfc8870, 0x3f1fb9aef915d828, 0x3ec299d1e27c6e11 - .quad 0x3e379b5ddcca334c, 0x3d8037f57bc62c9a, 0x3c6a2d4b50a2cff7, 0x0000000000000000 - /*== p5 ==*/ - .align 64 - .quad 0xbce6863ee44ed636, 0x3fc04dcd0476c75e, 0x3fc43d3449a80f08, 0x3fc5c26f3699b7e7 - .quad 0x3fc1a686f6ab2533, 0x3faf203c316ce730, 0xbf89c7a02788557c, 0xbf98157e26e0d541 - .quad 0xbf807b55c1c7d278, 0xbf53a18d5843190f, 0xbf0fb6bbc89b1a5b, 0xbeb299c9c684a963 - .quad 0xbe279b5dd4fb3d01, 0xbd7037f57ae72aa6, 0xbc5a2ca2bba78e86, 0x0000000000000000 - /*== p6 ==*/ - .align 64 - .quad 0x3fc1111111112ab5, 0x3fb5c19efdfc08ad, 0x3fa74c98dc34fbac, 0xbf790d6a8eff0a77 - .quad 0xbfac3c021789a786, 0xbfae2196b7326859, 0xbf93a7a011ff8c2a, 0x3f6e4709c7e8430e - .quad 0x3f67682afa611151, 0x3f3ef2ee77717cbf, 0x3ef95a4482f180b7, 0x3e9dc2c27da3b603 - .quad 0x3e12e2afd9f7433e, 0x3d59f320348679ba, 0x3c44b61d9bbcc940, 0x0000000000000000 - /*== p7 ==*/ - .align 64 - .quad 0xbda1ea19ddddb3b4, 0xbfb0b8df995ce4df, 0xbfb2955cf41e8164, 0xbfaf9d05c309f7c6 - .quad 0xbf987d27ccff4291, 0x3f8b2ca62572b098, 0x3f8f1cf6c7f5b00a, 0x3f60379811e43dd5 - .quad 0xbf4793826f78537e, 0xbf2405695e36240f, 0xbee0e08de39ce756, 0xbe83d709ba5f714e - .quad 0xbdf92e3fc5ee63e0, 0xbd414cc030f2110e, 0xbc2ba022e8d82a87, 0x0000000000000000 - /*== p8 ==*/ - .align 64 - .quad 0xbfaba1ba1990520b, 0xbf96e37bba52f6fc, 0x3ecff7df18455399, 0x3f97362834d33a4e - .quad 0x3f9e7f8380184b45, 0x3f869543e7c420d4, 0xbf7326bd4914222a, 0xbf5fc15b0a9d98fa - .quad 0x3f14cffcfa69fbb6, 0x3f057e48e5b79d10, 0x3ec33b66d7d77264, 0x3e66ac4e578b9b10 - .quad 0x3ddcc74b8d3d5c42, 0x3d23c589137f92b4, 0x3c107f8e2c8707a1, 0x0000000000000000 - /*== p9 ==*/ - .align 64 - .quad 0xbe351ca7f096011f, 0x3f9eaaf3320c3851, 0x3f9cf823fe761fc1, 0x3f9022271754ff1f - .quad 0xbf731fe77c9c60af, 0xbf84a6046865ec7d, 0xbf4ca3f1f2b9192b, 0x3f4c77dee0afd227 - .quad 0x3f04055bce68597a, 0xbee2bf0cb4a71647, 0xbea31eaafe73efd5, 0xbe46abb02c4368ed - .quad 0xbdbcc749ca8079dd, 0xbd03c5883836b9d2, 0xbbf07a5416264aec, 0x0000000000000000 - /*== p10 ==*/ - .align 64 - .quad 0x3f9664f94e6ac14e, 0xbf94d3343bae39dd, 0xbf7bc748e60df843, 0xbf8c89372b43ba85 - .quad 0xbf8129a092de747a, 0x3f60c85b4d538746, 0x3f5be9392199ec18, 0xbf2a0c68a4489f10 - .quad 0xbf00462601dc2faa, 0x3eb7b6a219dea9f4, 0x3e80cbcc8d4c5c8a, 0x3e2425bb231a5e29 - .quad 0x3d9992a4beac8662, 0x3ce191ba5ed3fb67, 0x3bc892450bad44c4, 0x0000000000000000 - /*== p11 ==*/ - .align 64 - .quad 0xbea8c4c1fd7852fe, 0xbfccce16b1046f13, 0xbf81a16f224bb7b6, 0xbf62cbf00406bc09 - .quad 0x3f75b29bb02cf69b, 0x3f607df0f9f90c17, 0xbf4b852a6e0758d5, 0xbf0078c63d1b8445 - .quad 0x3eec12eadd55be7a, 0xbe6fa600f593181b, 0xbe5a3c935dce3f7d, 0xbe001c6d95e3ae96 - .quad 0xbd74755a00ea1fd3, 0xbcbc1c6c063bb7ac, 0xbba3be9a4460fe00, 0x0000000000000000 - /*== p12 ==*/ - .align 64 - .quad 0xbf822404577aa9dd, 0x403d8b07f7a82aa3, 0xbf9f44ab92fbab0a, 0x3fb2eac604473d6a - .quad 0x3f45f87d903aaac8, 0xbf5e104671036300, 0x3f19bc98ddf0f340, 0x3f0d4304bc9246e8 - .quad 0xbed13c415f7b9d41, 0xbe722b8d9720cdb0, 0x3e322666d739bec0, 0x3dd76a553d7e7918 - .quad 0x3d4de0fa59416a39, 0x3c948716cf3681b4, 0x3b873f9f2d2fda99, 0x0000000000000000 - /*== p13 ==*/ - .align 64 - .quad 0xbefdd99a221ed573, 0x4070593a3735bab4, 0xbfccab654e44835e, 0x3fd13ed80037dbac - .quad 0xbf6045b9076cc487, 0x3f2085ee7e8ac170, 0x3f23524622610430, 0xbeff12a6626911b4 - .quad 0x3eab9008bca408af, 0x3e634df71865f620, 0xbe05bb1bcf83ca73, 0xbdaf2ac143fb6762 - .quad 0xbd23eae52a3dbf57, 0xbc6b5e3e9ca0955e, 0xbb5eca68e2c1ba2e, 0x0000000000000000 - /*== p14 ==*/ - .align 64 - .quad 0x3f6e3be689423841, 0xc0d263511f5baac1, 0x40169f73b15ebe5c, 0xc025c1dd41cd6cb5 - .quad 0xbf58fd89fe05e0d1, 0x3f73f7af01d5af7a, 0xbf1e40bdead17e6b, 0x3ee224cd6c4513e5 - .quad 0xbe24b645e68eeaa3, 0xbe4abfebfb72bc83, 0x3dd51c38f8695ed3, 0x3d8313ac38c6832b - .quad 0x3cf7787935626685, 0x3c401ffc49c6bc29, 0xbabf0b21acfa52ab, 0x0000000000000000 - /*== p15 ==*/ - .align 64 - .quad 0xbf2a1306713a4f3a, 0xc1045e509116b066, 0x4041fab9250984ce, 0xc0458d090ec3de95 - .quad 0xbf74949d60113d63, 0x3f7c9fd6200d0ade, 0x3f02cd40e0ad0a9f, 0xbe858ab8e019f311 - .quad 0xbe792fa6323b7cf8, 0x3e2df04d67876402, 0xbd95c72be95e4d2c, 0xbd55a89c30203106 - .quad 0xbccad6b3bb9eff65, 0xbc12705ccd3dd884, 0xba8e0a4c47ae75f5, 0x0000000000000000 - /*== p16 ==*/ - .align 64 - .quad 0xbf55d7e76dc56871, 0x41528c38809c90c7, 0xc076d57fb5190b02, 0x4085f09f888f8ada - .quad 0x3fa246332a2fcba5, 0xbfb29d851a896fcd, 0x3ed9065ae369b212, 0xbeb8e1ba4c98a030 - .quad 0x3e6ffd0766ad4016, 0xbe0c63c29f505f5b, 0xbd7fab216b9e0e49, 0x3d2826b62056aa27 - .quad 0x3ca313e31762f523, 0x3bea37aa21895319, 0x3ae5c7f1fd871496, 0x0000000000000000 - /*== p17 ==*/ - .align 64 - .quad 0x3f35e67ab76a26e7, 0x41848ee0627d8206, 0xc0a216d618b489ec, 0x40a5b89107c8af4f - .quad 0x3fb69d8374520eda, 0xbfbded519f981716, 0xbef02d288b5b3371, 0x3eb290981209c1a6 - .quad 0xbe567e924bf5ff6e, 0x3de3f7f7de6b0eb6, 0x3d69ed18bae3ebbc, 0xbcf7534c4f3dfa71 - .quad 0xbc730b73f1eaff20, 0xbbba2cff8135d462, 0xbab5a71b5f7d9035, 0x0000000000000000 - .align 64 - .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask_UISA */ - .align 64 - .long 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000 /* _iMinIdxOfsMask_UISA */ - .align 64 - .long 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000 /* _iMaxIdxMask_UISA */ - .align 64 - .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */ - .align 64 - .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */ - .align 64 - .long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */ - .align 64 - .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */ - .align 64 - .long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */ - .align 64 - .long 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */ - .align 64 - .type __svml_dtanh_data_internal,@object - .size __svml_dtanh_data_internal,.-__svml_dtanh_data_internal + /* _dC */ + .quad 0x0000000000000000, 0x3fcc000000000000, 0x3fd4000000000000, 0x3fdc000000000000 + .quad 0x3fe4000000000000, 0x3fec000000000000, 0x3ff4000000000000, 0x3ffc000000000000 + .quad 0x4004000000000000, 0x400c000000000000, 0x4014000000000000, 0x401c000000000000 + .quad 0x4024000000000000, 0x402c000000000000, 0x4034000000000000, 0x0000000000000000 + /* p0 */ + .align 64 + .quad 0x0000000000000000, 0x3fcb8fd0416a7c92, 0x3fd35f98a0ea650e, 0x3fda5729ee488037 + .quad 0x3fe1bf47eabb8f95, 0x3fe686650b8c2015, 0x3feb2523bb6b2dee, 0x3fee1fbf97e33527 + .quad 0x3fef9258260a71c2, 0x3feff112c63a9077, 0x3fefff419668df11, 0x3feffffc832750f2 + .quad 0x3feffffffdc96f35, 0x3fefffffffffcf58, 0x3ff0000000000000, 0x3ff0000000000000 + /* p1 */ + .align 64 + .quad 0x0000000000000000, 0x3c65e23ebcd3bcbe, 0xbc4c600bac3adf00, 0x3c6c44091785d040 + .quad 0x3c8221d7a6e3674b, 0x3c69f89d2cf6b85c, 0x3c73b3e9ec0b8f1c, 0xbc7f8d4b0428aada + .quad 0xbc7c52d880cf43c0, 0x3c7dd36e37096480, 0x3c7b4f6380c442ca, 0xbc729755de470096 + .quad 0x3c84cf852845efbd, 0x3c6fc4fb440a5378, 0xbc63981083b55870, 0x0000000000000000 + /* p2 */ + .align 64 + .quad 0x3ff0000000000000, 0x3fee842ca3f08532, 0x3fed11574af58f1b, 0x3fea945b9c24e4f9 + .quad 0x3fe6284c3374f815, 0x3fe02500a09f8d6e, 0x3fd1f25131e3a8c0, 0x3fbd22ca1c24a139 + .quad 0x3f9b3afe1fba5c76, 0x3f6dd37d19b22b21, 0x3f27ccec13a9ef96, 0x3ecbe6c3f33250ae + .quad 0x3e41b4865394f75f, 0x3d8853f01bda5f28, 0x3c73953c0197ef58, 0x0000000000000000 + /* p3 */ + .align 64 + .quad 0xbbf0b3ea3fdfaa19, 0xbfca48aaeb53bc21, 0xbfd19921f4329916, 0xbfd5e0f09bef8011 + .quad 0xbfd893b59c35c882, 0xbfd6ba7cb7576538, 0xbfce7291743d7555, 0xbfbb6d85a01efb80 + .quad 0xbf9addae58c7141a, 0xbf6dc59376c7aa19, 0xbf27cc5e74677410, 0xbecbe6c0e8b4cc87 + .quad 0xbe41b486526b0565, 0xbd8853f01bef63a4, 0xbc73955be519be31, 0x0000000000000000 + /* p4 */ + .align 64 + .quad 0xbfd5555555555555, 0xbfd183afc292ba11, 0xbfcc1a4b039c9bfa, 0xbfc16e1e6d8d0be6 + .quad 0xbf92426c751e48a2, 0x3fb4f152b2bad124, 0x3fbbba40cbef72be, 0x3fb01ba038be6a3d + .quad 0x3f916df44871efc8, 0x3f63c6869dfc8870, 0x3f1fb9aef915d828, 0x3ec299d1e27c6e11 + .quad 0x3e379b5ddcca334c, 0x3d8037f57bc62c9a, 0x3c6a2d4b50a2cff7, 0x0000000000000000 + /* p5 */ + .align 64 + .quad 0xbce6863ee44ed636, 0x3fc04dcd0476c75e, 0x3fc43d3449a80f08, 0x3fc5c26f3699b7e7 + .quad 0x3fc1a686f6ab2533, 0x3faf203c316ce730, 0xbf89c7a02788557c, 0xbf98157e26e0d541 + .quad 0xbf807b55c1c7d278, 0xbf53a18d5843190f, 0xbf0fb6bbc89b1a5b, 0xbeb299c9c684a963 + .quad 0xbe279b5dd4fb3d01, 0xbd7037f57ae72aa6, 0xbc5a2ca2bba78e86, 0x0000000000000000 + /* p6 */ + .align 64 + .quad 0x3fc1111111112ab5, 0x3fb5c19efdfc08ad, 0x3fa74c98dc34fbac, 0xbf790d6a8eff0a77 + .quad 0xbfac3c021789a786, 0xbfae2196b7326859, 0xbf93a7a011ff8c2a, 0x3f6e4709c7e8430e + .quad 0x3f67682afa611151, 0x3f3ef2ee77717cbf, 0x3ef95a4482f180b7, 0x3e9dc2c27da3b603 + .quad 0x3e12e2afd9f7433e, 0x3d59f320348679ba, 0x3c44b61d9bbcc940, 0x0000000000000000 + /* p7 */ + .align 64 + .quad 0xbda1ea19ddddb3b4, 0xbfb0b8df995ce4df, 0xbfb2955cf41e8164, 0xbfaf9d05c309f7c6 + .quad 0xbf987d27ccff4291, 0x3f8b2ca62572b098, 0x3f8f1cf6c7f5b00a, 0x3f60379811e43dd5 + .quad 0xbf4793826f78537e, 0xbf2405695e36240f, 0xbee0e08de39ce756, 0xbe83d709ba5f714e + .quad 0xbdf92e3fc5ee63e0, 0xbd414cc030f2110e, 0xbc2ba022e8d82a87, 0x0000000000000000 + /* p8 */ + .align 64 + .quad 0xbfaba1ba1990520b, 0xbf96e37bba52f6fc, 0x3ecff7df18455399, 0x3f97362834d33a4e + .quad 0x3f9e7f8380184b45, 0x3f869543e7c420d4, 0xbf7326bd4914222a, 0xbf5fc15b0a9d98fa + .quad 0x3f14cffcfa69fbb6, 0x3f057e48e5b79d10, 0x3ec33b66d7d77264, 0x3e66ac4e578b9b10 + .quad 0x3ddcc74b8d3d5c42, 0x3d23c589137f92b4, 0x3c107f8e2c8707a1, 0x0000000000000000 + /* p9 */ + .align 64 + .quad 0xbe351ca7f096011f, 0x3f9eaaf3320c3851, 0x3f9cf823fe761fc1, 0x3f9022271754ff1f + .quad 0xbf731fe77c9c60af, 0xbf84a6046865ec7d, 0xbf4ca3f1f2b9192b, 0x3f4c77dee0afd227 + .quad 0x3f04055bce68597a, 0xbee2bf0cb4a71647, 0xbea31eaafe73efd5, 0xbe46abb02c4368ed + .quad 0xbdbcc749ca8079dd, 0xbd03c5883836b9d2, 0xbbf07a5416264aec, 0x0000000000000000 + /* p10 */ + .align 64 + .quad 0x3f9664f94e6ac14e, 0xbf94d3343bae39dd, 0xbf7bc748e60df843, 0xbf8c89372b43ba85 + .quad 0xbf8129a092de747a, 0x3f60c85b4d538746, 0x3f5be9392199ec18, 0xbf2a0c68a4489f10 + .quad 0xbf00462601dc2faa, 0x3eb7b6a219dea9f4, 0x3e80cbcc8d4c5c8a, 0x3e2425bb231a5e29 + .quad 0x3d9992a4beac8662, 0x3ce191ba5ed3fb67, 0x3bc892450bad44c4, 0x0000000000000000 + /* p11 */ + .align 64 + .quad 0xbea8c4c1fd7852fe, 0xbfccce16b1046f13, 0xbf81a16f224bb7b6, 0xbf62cbf00406bc09 + .quad 0x3f75b29bb02cf69b, 0x3f607df0f9f90c17, 0xbf4b852a6e0758d5, 0xbf0078c63d1b8445 + .quad 0x3eec12eadd55be7a, 0xbe6fa600f593181b, 0xbe5a3c935dce3f7d, 0xbe001c6d95e3ae96 + .quad 0xbd74755a00ea1fd3, 0xbcbc1c6c063bb7ac, 0xbba3be9a4460fe00, 0x0000000000000000 + /* p12 */ + .align 64 + .quad 0xbf822404577aa9dd, 0x403d8b07f7a82aa3, 0xbf9f44ab92fbab0a, 0x3fb2eac604473d6a + .quad 0x3f45f87d903aaac8, 0xbf5e104671036300, 0x3f19bc98ddf0f340, 0x3f0d4304bc9246e8 + .quad 0xbed13c415f7b9d41, 0xbe722b8d9720cdb0, 0x3e322666d739bec0, 0x3dd76a553d7e7918 + .quad 0x3d4de0fa59416a39, 0x3c948716cf3681b4, 0x3b873f9f2d2fda99, 0x0000000000000000 + /* p13 */ + .align 64 + .quad 0xbefdd99a221ed573, 0x4070593a3735bab4, 0xbfccab654e44835e, 0x3fd13ed80037dbac + .quad 0xbf6045b9076cc487, 0x3f2085ee7e8ac170, 0x3f23524622610430, 0xbeff12a6626911b4 + .quad 0x3eab9008bca408af, 0x3e634df71865f620, 0xbe05bb1bcf83ca73, 0xbdaf2ac143fb6762 + .quad 0xbd23eae52a3dbf57, 0xbc6b5e3e9ca0955e, 0xbb5eca68e2c1ba2e, 0x0000000000000000 + /* p14 */ + .align 64 + .quad 0x3f6e3be689423841, 0xc0d263511f5baac1, 0x40169f73b15ebe5c, 0xc025c1dd41cd6cb5 + .quad 0xbf58fd89fe05e0d1, 0x3f73f7af01d5af7a, 0xbf1e40bdead17e6b, 0x3ee224cd6c4513e5 + .quad 0xbe24b645e68eeaa3, 0xbe4abfebfb72bc83, 0x3dd51c38f8695ed3, 0x3d8313ac38c6832b + .quad 0x3cf7787935626685, 0x3c401ffc49c6bc29, 0xbabf0b21acfa52ab, 0x0000000000000000 + /* p15 */ + .align 64 + .quad 0xbf2a1306713a4f3a, 0xc1045e509116b066, 0x4041fab9250984ce, 0xc0458d090ec3de95 + .quad 0xbf74949d60113d63, 0x3f7c9fd6200d0ade, 0x3f02cd40e0ad0a9f, 0xbe858ab8e019f311 + .quad 0xbe792fa6323b7cf8, 0x3e2df04d67876402, 0xbd95c72be95e4d2c, 0xbd55a89c30203106 + .quad 0xbccad6b3bb9eff65, 0xbc12705ccd3dd884, 0xba8e0a4c47ae75f5, 0x0000000000000000 + /* p16 */ + .align 64 + .quad 0xbf55d7e76dc56871, 0x41528c38809c90c7, 0xc076d57fb5190b02, 0x4085f09f888f8ada + .quad 0x3fa246332a2fcba5, 0xbfb29d851a896fcd, 0x3ed9065ae369b212, 0xbeb8e1ba4c98a030 + .quad 0x3e6ffd0766ad4016, 0xbe0c63c29f505f5b, 0xbd7fab216b9e0e49, 0x3d2826b62056aa27 + .quad 0x3ca313e31762f523, 0x3bea37aa21895319, 0x3ae5c7f1fd871496, 0x0000000000000000 + /* p17 */ + .align 64 + .quad 0x3f35e67ab76a26e7, 0x41848ee0627d8206, 0xc0a216d618b489ec, 0x40a5b89107c8af4f + .quad 0x3fb69d8374520eda, 0xbfbded519f981716, 0xbef02d288b5b3371, 0x3eb290981209c1a6 + .quad 0xbe567e924bf5ff6e, 0x3de3f7f7de6b0eb6, 0x3d69ed18bae3ebbc, 0xbcf7534c4f3dfa71 + .quad 0xbc730b73f1eaff20, 0xbbba2cff8135d462, 0xbab5a71b5f7d9035, 0x0000000000000000 + .align 64 + .long 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000, 0x7ff80000 /* _iExpMantMask_UISA */ + .align 64 + .long 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000, 0x3fc00000 /* _iMinIdxOfsMask_UISA */ + .align 64 + .long 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000, 0x00780000 /* _iMaxIdxMask_UISA */ + .align 64 + .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dbSignMask */ + .align 64 + .quad 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff /* _dbAbsMask */ + .align 64 + .long 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000, 0x7ffe0000 /* _iExpMantMask */ + .align 64 + .long 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000, 0x7fe00000 /* _iExpMask */ + .align 64 + .long 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000, 0x3fbe0000 /* _iMinIdxOfsMask */ + .align 64 + .long 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000, 0x00760000 /* _iMaxIdxMask */ + .align 64 + .type __svml_dtanh_data_internal, @object + .size __svml_dtanh_data_internal, .-__svml_dtanh_data_internal