* [PATCH 000/126] x86_64: Fix libmvec assembly code formatting
@ 2022-03-07 14:59 Sunil K Pandey
2022-03-07 14:59 ` [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S " Sunil K Pandey
` (125 more replies)
0 siblings, 126 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 14:59 UTC (permalink / raw)
To: 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.
Sunil K Pandey (126):
x86_64: Fix svml_s_acosf16_core_avx512.S code formatting
x86_64: Fix svml_s_acosf4_core_sse4.S code formatting
x86_64: Fix svml_s_acosf8_core_avx2.S code formatting
x86_64: Fix svml_d_acos2_core_sse4.S code formatting
x86_64: Fix svml_d_acos4_core_avx2.S code formatting
x86_64: Fix svml_d_acos8_core_avx512.S code formatting
x86_64: Fix svml_s_acoshf16_core_avx512.S code formatting
x86_64: Fix svml_s_acoshf4_core_sse4.S code formatting
x86_64: Fix svml_s_acoshf8_core_avx2.S code formatting
x86_64: Fix svml_d_acosh2_core_sse4.S code formatting
x86_64: Fix svml_d_acosh4_core_avx2.S code formatting
x86_64: Fix svml_d_acosh8_core_avx512.S code formatting
x86_64: Fix svml_s_asinf16_core_avx512.S code formatting
x86_64: Fix svml_s_asinf4_core_sse4.S code formatting
x86_64: Fix svml_s_asinf8_core_avx2.S code formatting
x86_64: Fix svml_d_asin2_core_sse4.S code formatting
x86_64: Fix svml_d_asin4_core_avx2.S code formatting
x86_64: Fix svml_d_asin8_core_avx512.S code formatting
x86_64: Fix svml_s_asinhf16_core_avx512.S code formatting
x86_64: Fix svml_s_asinhf4_core_sse4.S code formatting
x86_64: Fix svml_s_asinhf8_core_avx2.S code formatting
x86_64: Fix svml_d_asinh2_core_sse4.S code formatting
x86_64: Fix svml_d_asinh4_core_avx2.S code formatting
x86_64: Fix svml_d_asinh8_core_avx512.S code formatting
x86_64: Fix svml_s_atanf16_core_avx512.S code formatting
x86_64: Fix svml_s_atanf4_core_sse4.S code formatting
x86_64: Fix svml_s_atanf8_core_avx2.S code formatting
x86_64: Fix svml_d_atan2_core_sse4.S code formatting
x86_64: Fix svml_d_atan4_core_avx2.S code formatting
x86_64: Fix svml_d_atan8_core_avx512.S code formatting
x86_64: Fix svml_s_atan2f16_core_avx512.S code formatting
x86_64: Fix svml_s_atan2f4_core_sse4.S code formatting
x86_64: Fix svml_s_atan2f8_core_avx2.S code formatting
x86_64: Fix svml_d_atan22_core_sse4.S code formatting
x86_64: Fix svml_d_atan24_core_avx2.S code formatting
x86_64: Fix svml_d_atan28_core_avx512.S code formatting
x86_64: Fix svml_s_atanhf16_core_avx512.S code formatting
x86_64: Fix svml_s_atanhf4_core_sse4.S code formatting
x86_64: Fix svml_s_atanhf8_core_avx2.S code formatting
x86_64: Fix svml_d_atanh2_core_sse4.S code formatting
x86_64: Fix svml_d_atanh4_core_avx2.S code formatting
x86_64: Fix svml_d_atanh8_core_avx512.S code formatting
x86_64: Fix svml_s_cbrtf16_core_avx512.S code formatting
x86_64: Fix svml_s_cbrtf4_core_sse4.S code formatting
x86_64: Fix svml_s_cbrtf8_core_avx2.S code formatting
x86_64: Fix svml_d_cbrt2_core_sse4.S code formatting
x86_64: Fix svml_d_cbrt4_core_avx2.S code formatting
x86_64: Fix svml_d_cbrt8_core_avx512.S code formatting
x86_64: Fix svml_s_coshf16_core_avx512.S code formatting
x86_64: Fix svml_s_coshf4_core_sse4.S code formatting
x86_64: Fix svml_s_coshf8_core_avx2.S code formatting
x86_64: Fix svml_d_cosh2_core_sse4.S code formatting
x86_64: Fix svml_d_cosh4_core_avx2.S code formatting
x86_64: Fix svml_d_cosh8_core_avx512.S code formatting
x86_64: Fix svml_s_erff16_core_avx512.S code formatting
x86_64: Fix svml_s_erff4_core_sse4.S code formatting
x86_64: Fix svml_s_erff8_core_avx2.S code formatting
x86_64: Fix svml_d_erf2_core_sse4.S code formatting
x86_64: Fix svml_d_erf4_core_avx2.S code formatting
x86_64: Fix svml_d_erf8_core_avx512.S code formatting
x86_64: Fix svml_s_erfcf16_core_avx512.S code formatting
x86_64: Fix svml_s_erfcf4_core_sse4.S code formatting
x86_64: Fix svml_s_erfcf8_core_avx2.S code formatting
x86_64: Fix svml_d_erfc2_core_sse4.S code formatting
x86_64: Fix svml_d_erfc4_core_avx2.S code formatting
x86_64: Fix svml_d_erfc8_core_avx512.S code formatting
x86_64: Fix svml_s_exp10f16_core_avx512.S code formatting
x86_64: Fix svml_s_exp10f4_core_sse4.S code formatting
x86_64: Fix svml_s_exp10f8_core_avx2.S code formatting
x86_64: Fix svml_d_exp102_core_sse4.S code formatting
x86_64: Fix svml_d_exp104_core_avx2.S code formatting
x86_64: Fix svml_d_exp108_core_avx512.S code formatting
x86_64: Fix svml_s_exp2f16_core_avx512.S code formatting
x86_64: Fix svml_s_exp2f4_core_sse4.S code formatting
x86_64: Fix svml_s_exp2f8_core_avx2.S code formatting
x86_64: Fix svml_d_exp22_core_sse4.S code formatting
x86_64: Fix svml_d_exp24_core_avx2.S code formatting
x86_64: Fix svml_d_exp28_core_avx512.S code formatting
x86_64: Fix svml_s_expm1f16_core_avx512.S code formatting
x86_64: Fix svml_s_expm1f4_core_sse4.S code formatting
x86_64: Fix svml_s_expm1f8_core_avx2.S code formatting
x86_64: Fix svml_d_expm12_core_sse4.S code formatting
x86_64: Fix svml_d_expm14_core_avx2.S code formatting
x86_64: Fix svml_d_expm18_core_avx512.S code formatting
x86_64: Fix svml_s_hypotf16_core_avx512.S code formatting
x86_64: Fix svml_s_hypotf4_core_sse4.S code formatting
x86_64: Fix svml_s_hypotf8_core_avx2.S code formatting
x86_64: Fix svml_d_hypot2_core_sse4.S code formatting
x86_64: Fix svml_d_hypot4_core_avx2.S code formatting
x86_64: Fix svml_d_hypot8_core_avx512.S code formatting
x86_64: Fix svml_s_log10f16_core_avx512.S code formatting
x86_64: Fix svml_s_log10f4_core_sse4.S code formatting
x86_64: Fix svml_s_log10f8_core_avx2.S code formatting
x86_64: Fix svml_d_log102_core_sse4.S code formatting
x86_64: Fix svml_d_log104_core_avx2.S code formatting
x86_64: Fix svml_d_log108_core_avx512.S code formatting
x86_64: Fix svml_s_log1pf16_core_avx512.S code formatting
x86_64: Fix svml_s_log1pf4_core_sse4.S code formatting
x86_64: Fix svml_s_log1pf8_core_avx2.S code formatting
x86_64: Fix svml_d_log1p2_core_sse4.S code formatting
x86_64: Fix svml_d_log1p4_core_avx2.S code formatting
x86_64: Fix svml_d_log1p8_core_avx512.S code formatting
x86_64: Fix svml_s_log2f16_core_avx512.S code formatting
x86_64: Fix svml_s_log2f4_core_sse4.S code formatting
x86_64: Fix svml_s_log2f8_core_avx2.S code formatting
x86_64: Fix svml_d_log22_core_sse4.S code formatting
x86_64: Fix svml_d_log24_core_avx2.S code formatting
x86_64: Fix svml_d_log28_core_avx512.S code formatting
x86_64: Fix svml_s_sinhf16_core_avx512.S code formatting
x86_64: Fix svml_s_sinhf4_core_sse4.S code formatting
x86_64: Fix svml_s_sinhf8_core_avx2.S code formatting
x86_64: Fix svml_d_sinh2_core_sse4.S code formatting
x86_64: Fix svml_d_sinh4_core_avx2.S code formatting
x86_64: Fix svml_d_sinh8_core_avx512.S code formatting
x86_64: Fix svml_s_tanf16_core_avx512.S code formatting
x86_64: Fix svml_s_tanf4_core_sse4.S code formatting
x86_64: Fix svml_s_tanf8_core_avx2.S code formatting
x86_64: Fix svml_d_tan2_core_sse4.S code formatting
x86_64: Fix svml_d_tan4_core_avx2.S code formatting
x86_64: Fix svml_d_tan8_core_avx512.S code formatting
x86_64: Fix svml_s_tanhf16_core_avx512.S code formatting
x86_64: Fix svml_s_tanhf4_core_sse4.S code formatting
x86_64: Fix svml_s_tanhf8_core_avx2.S code formatting
x86_64: Fix svml_d_tanh2_core_sse4.S code formatting
x86_64: Fix svml_d_tanh4_core_avx2.S code formatting
x86_64: Fix svml_d_tanh8_core_avx512.S code formatting
.../fpu/multiarch/svml_d_acos2_core_sse4.S | 489 +-
.../fpu/multiarch/svml_d_acos4_core_avx2.S | 455 +-
.../fpu/multiarch/svml_d_acos8_core_avx512.S | 499 +-
.../fpu/multiarch/svml_d_acosh2_core_sse4.S | 2741 ++--
.../fpu/multiarch/svml_d_acosh4_core_avx2.S | 2871 ++--
.../fpu/multiarch/svml_d_acosh8_core_avx512.S | 831 +-
.../fpu/multiarch/svml_d_asin2_core_sse4.S | 461 +-
.../fpu/multiarch/svml_d_asin4_core_avx2.S | 433 +-
.../fpu/multiarch/svml_d_asin8_core_avx512.S | 477 +-
.../fpu/multiarch/svml_d_asinh2_core_sse4.S | 3195 ++--
.../fpu/multiarch/svml_d_asinh4_core_avx2.S | 3077 ++--
.../fpu/multiarch/svml_d_asinh8_core_avx512.S | 871 +-
.../fpu/multiarch/svml_d_atan22_core_sse4.S | 861 +-
.../fpu/multiarch/svml_d_atan24_core_avx2.S | 775 +-
.../fpu/multiarch/svml_d_atan28_core_avx512.S | 823 +-
.../fpu/multiarch/svml_d_atan2_core_sse4.S | 395 +-
.../fpu/multiarch/svml_d_atan4_core_avx2.S | 355 +-
.../fpu/multiarch/svml_d_atan8_core_avx512.S | 331 +-
.../fpu/multiarch/svml_d_atanh2_core_sse4.S | 2835 ++--
.../fpu/multiarch/svml_d_atanh4_core_avx2.S | 2757 ++--
.../fpu/multiarch/svml_d_atanh8_core_avx512.S | 679 +-
.../fpu/multiarch/svml_d_cbrt2_core_sse4.S | 814 +-
.../fpu/multiarch/svml_d_cbrt4_core_avx2.S | 880 +-
.../fpu/multiarch/svml_d_cbrt8_core_avx512.S | 413 +-
.../fpu/multiarch/svml_d_cosh2_core_sse4.S | 664 +-
.../fpu/multiarch/svml_d_cosh4_core_avx2.S | 698 +-
.../fpu/multiarch/svml_d_cosh8_core_avx512.S | 520 +-
.../fpu/multiarch/svml_d_erf2_core_sse4.S | 1848 ++-
.../fpu/multiarch/svml_d_erf4_core_avx2.S | 1842 ++-
.../fpu/multiarch/svml_d_erf8_core_avx512.S | 1840 ++-
.../fpu/multiarch/svml_d_erfc2_core_sse4.S | 7548 +++++-----
.../fpu/multiarch/svml_d_erfc4_core_avx2.S | 7552 +++++-----
.../fpu/multiarch/svml_d_erfc8_core_avx512.S | 7560 +++++-----
.../fpu/multiarch/svml_d_exp102_core_sse4.S | 694 +-
.../fpu/multiarch/svml_d_exp104_core_avx2.S | 716 +-
.../fpu/multiarch/svml_d_exp108_core_avx512.S | 457 +-
.../fpu/multiarch/svml_d_exp22_core_sse4.S | 508 +-
.../fpu/multiarch/svml_d_exp24_core_avx2.S | 540 +-
.../fpu/multiarch/svml_d_exp28_core_avx512.S | 439 +-
.../fpu/multiarch/svml_d_expm12_core_sse4.S | 723 +-
.../fpu/multiarch/svml_d_expm14_core_avx2.S | 701 +-
.../fpu/multiarch/svml_d_expm18_core_avx512.S | 549 +-
.../fpu/multiarch/svml_d_hypot2_core_sse4.S | 374 +-
.../fpu/multiarch/svml_d_hypot4_core_avx2.S | 394 +-
.../fpu/multiarch/svml_d_hypot8_core_avx512.S | 286 +-
.../fpu/multiarch/svml_d_log102_core_sse4.S | 2011 ++-
.../fpu/multiarch/svml_d_log104_core_avx2.S | 1983 ++-
.../fpu/multiarch/svml_d_log108_core_avx512.S | 483 +-
.../fpu/multiarch/svml_d_log1p2_core_sse4.S | 2615 ++--
.../fpu/multiarch/svml_d_log1p4_core_avx2.S | 2587 ++--
.../fpu/multiarch/svml_d_log1p8_core_avx512.S | 519 +-
.../fpu/multiarch/svml_d_log22_core_sse4.S | 2511 ++--
.../fpu/multiarch/svml_d_log24_core_avx2.S | 2483 ++--
.../fpu/multiarch/svml_d_log28_core_avx512.S | 471 +-
.../fpu/multiarch/svml_d_sinh2_core_sse4.S | 784 +-
.../fpu/multiarch/svml_d_sinh4_core_avx2.S | 814 +-
.../fpu/multiarch/svml_d_sinh8_core_avx512.S | 796 +-
.../fpu/multiarch/svml_d_tan2_core_sse4.S | 12143 ++++++++--------
.../fpu/multiarch/svml_d_tan4_core_avx2.S | 12091 ++++++++-------
.../fpu/multiarch/svml_d_tan8_core_avx512.S | 5245 ++++---
.../fpu/multiarch/svml_d_tanh2_core_sse4.S | 2318 ++-
.../fpu/multiarch/svml_d_tanh4_core_avx2.S | 2330 ++-
.../fpu/multiarch/svml_d_tanh8_core_avx512.S | 718 +-
.../multiarch/svml_s_acosf16_core_avx512.S | 28 +-
.../fpu/multiarch/svml_s_acosf4_core_sse4.S | 423 +-
.../fpu/multiarch/svml_s_acosf8_core_avx2.S | 411 +-
.../multiarch/svml_s_acoshf16_core_avx512.S | 743 +-
.../fpu/multiarch/svml_s_acoshf4_core_sse4.S | 653 +-
.../fpu/multiarch/svml_s_acoshf8_core_avx2.S | 615 +-
.../multiarch/svml_s_asinf16_core_avx512.S | 405 +-
.../fpu/multiarch/svml_s_asinf4_core_sse4.S | 387 +-
.../fpu/multiarch/svml_s_asinf8_core_avx2.S | 383 +-
.../multiarch/svml_s_asinhf16_core_avx512.S | 739 +-
.../fpu/multiarch/svml_s_asinhf4_core_sse4.S | 895 +-
.../fpu/multiarch/svml_s_asinhf8_core_avx2.S | 793 +-
.../multiarch/svml_s_atan2f16_core_avx512.S | 669 +-
.../fpu/multiarch/svml_s_atan2f4_core_sse4.S | 639 +-
.../fpu/multiarch/svml_s_atan2f8_core_avx2.S | 593 +-
.../multiarch/svml_s_atanf16_core_avx512.S | 257 +-
.../fpu/multiarch/svml_s_atanf4_core_sse4.S | 229 +-
.../fpu/multiarch/svml_s_atanf8_core_avx2.S | 197 +-
.../multiarch/svml_s_atanhf16_core_avx512.S | 663 +-
.../fpu/multiarch/svml_s_atanhf4_core_sse4.S | 597 +-
.../fpu/multiarch/svml_s_atanhf8_core_avx2.S | 547 +-
.../multiarch/svml_s_cbrtf16_core_avx512.S | 377 +-
.../fpu/multiarch/svml_s_cbrtf4_core_sse4.S | 856 +-
.../fpu/multiarch/svml_s_cbrtf8_core_avx2.S | 898 +-
.../multiarch/svml_s_coshf16_core_avx512.S | 516 +-
.../fpu/multiarch/svml_s_coshf4_core_sse4.S | 484 +-
.../fpu/multiarch/svml_s_coshf8_core_avx2.S | 490 +-
.../multiarch/svml_s_erfcf16_core_avx512.S | 1744 ++-
.../fpu/multiarch/svml_s_erfcf4_core_sse4.S | 1756 ++-
.../fpu/multiarch/svml_s_erfcf8_core_avx2.S | 1794 ++-
.../fpu/multiarch/svml_s_erff16_core_avx512.S | 260 +-
.../fpu/multiarch/svml_s_erff4_core_sse4.S | 1208 +-
.../fpu/multiarch/svml_s_erff8_core_avx2.S | 1218 +-
.../multiarch/svml_s_exp10f16_core_avx512.S | 421 +-
.../fpu/multiarch/svml_s_exp10f4_core_sse4.S | 478 +-
.../fpu/multiarch/svml_s_exp10f8_core_avx2.S | 520 +-
.../multiarch/svml_s_exp2f16_core_avx512.S | 379 +-
.../fpu/multiarch/svml_s_exp2f4_core_sse4.S | 334 +-
.../fpu/multiarch/svml_s_exp2f8_core_avx2.S | 348 +-
.../multiarch/svml_s_expm1f16_core_avx512.S | 443 +-
.../fpu/multiarch/svml_s_expm1f4_core_sse4.S | 597 +-
.../fpu/multiarch/svml_s_expm1f8_core_avx2.S | 587 +-
.../multiarch/svml_s_hypotf16_core_avx512.S | 274 +-
.../fpu/multiarch/svml_s_hypotf4_core_sse4.S | 326 +-
.../fpu/multiarch/svml_s_hypotf8_core_avx2.S | 334 +-
.../multiarch/svml_s_log10f16_core_avx512.S | 361 +-
.../fpu/multiarch/svml_s_log10f4_core_sse4.S | 369 +-
.../fpu/multiarch/svml_s_log10f8_core_avx2.S | 369 +-
.../multiarch/svml_s_log1pf16_core_avx512.S | 425 +-
.../fpu/multiarch/svml_s_log1pf4_core_sse4.S | 387 +-
.../fpu/multiarch/svml_s_log1pf8_core_avx2.S | 391 +-
.../multiarch/svml_s_log2f16_core_avx512.S | 347 +-
.../fpu/multiarch/svml_s_log2f4_core_sse4.S | 329 +-
.../fpu/multiarch/svml_s_log2f8_core_avx2.S | 335 +-
.../multiarch/svml_s_sinhf16_core_avx512.S | 510 +-
.../fpu/multiarch/svml_s_sinhf4_core_sse4.S | 490 +-
.../fpu/multiarch/svml_s_sinhf8_core_avx2.S | 492 +-
.../fpu/multiarch/svml_s_tanf16_core_avx512.S | 1633 ++-
.../fpu/multiarch/svml_s_tanf4_core_sse4.S | 5019 ++++---
.../fpu/multiarch/svml_s_tanf8_core_avx2.S | 4937 ++++---
.../multiarch/svml_s_tanhf16_core_avx512.S | 536 +-
.../fpu/multiarch/svml_s_tanhf4_core_sse4.S | 1440 +-
.../fpu/multiarch/svml_s_tanhf8_core_avx2.S | 1462 +-
126 files changed, 82414 insertions(+), 82599 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
@ 2022-03-07 14:59 ` Sunil K Pandey
2022-03-07 21:50 ` Sunil Pandey
2022-03-07 14:59 ` [PATCH 002/126] x86_64: Fix svml_s_acosf4_core_sse4.S " Sunil K Pandey
` (124 subsequent siblings)
125 siblings, 1 reply; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 14:59 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 002/126] x86_64: Fix svml_s_acosf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
2022-03-07 14:59 ` [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 14:59 ` Sunil K Pandey
2022-03-07 14:59 ` [PATCH 003/126] x86_64: Fix svml_s_acosf8_core_avx2.S " Sunil K Pandey
` (123 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 14:59 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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^2 iff X<0 */
- movaps %xmm0, %xmm14
-
-/*
- * 2*sqrt(X) ~ Sh - Sl (to 24+ bits)
- * SQ ~ 2*sqrt(X)
- */
- movups __svml_sacos_data_internal(%rip), %xmm3
- movups OneHalf+__svml_sacos_data_internal(%rip), %xmm5
-
-/* x = -|arg| */
- movaps %xmm3, %xmm4
- orps %xmm0, %xmm4
-
-/* Y = 0.5 + 0.5*(-x) */
- movaps %xmm5, %xmm6
- mulps %xmm4, %xmm6
-
-/* x^2 */
- movaps %xmm4, %xmm13
- mulps %xmm4, %xmm13
- addps %xmm6, %xmm5
-
-/* SQ ~ 2*sqrt(Y) */
- rsqrtps %xmm5, %xmm8
- minps %xmm5, %xmm13
- movaps %xmm5, %xmm2
- movaps %xmm13, %xmm1
- cmpltps SmallNorm+__svml_sacos_data_internal(%rip), %xmm2
- cmpnltps %xmm5, %xmm1
- cmpltps %xmm13, %xmm14
- addps %xmm5, %xmm5
- andnps %xmm8, %xmm2
- movaps %xmm13, %xmm11
- movaps %xmm2, %xmm9
- movaps %xmm1, %xmm6
- mulps %xmm2, %xmm9
- andnps %xmm4, %xmm6
- mulps %xmm5, %xmm2
- mulps %xmm13, %xmm11
- mulps %xmm9, %xmm5
- movups sqrt_coeff+__svml_sacos_data_internal(%rip), %xmm10
- andps %xmm0, %xmm3
-
-/* polynomial */
- movups poly_coeff+__svml_sacos_data_internal(%rip), %xmm12
- movaps %xmm1, %xmm15
- mulps %xmm13, %xmm12
- subps Two+__svml_sacos_data_internal(%rip), %xmm5
- mulps %xmm5, %xmm10
- addps poly_coeff+16+__svml_sacos_data_internal(%rip), %xmm12
- mulps %xmm2, %xmm5
- mulps %xmm11, %xmm12
- addps sqrt_coeff+16+__svml_sacos_data_internal(%rip), %xmm10
- mulps %xmm5, %xmm10
- movups poly_coeff+32+__svml_sacos_data_internal(%rip), %xmm5
- subps %xmm10, %xmm2
- mulps %xmm13, %xmm5
- movups MOne+__svml_sacos_data_internal(%rip), %xmm7
- andps %xmm1, %xmm2
- cmpnleps %xmm4, %xmm7
- addps poly_coeff+48+__svml_sacos_data_internal(%rip), %xmm5
- movmskps %xmm7, %edx
- orps %xmm2, %xmm6
- addps %xmm12, %xmm5
- mulps %xmm13, %xmm5
- pxor %xmm3, %xmm6
- movups PiH+__svml_sacos_data_internal(%rip), %xmm7
- andps %xmm1, %xmm7
- addps poly_coeff+64+__svml_sacos_data_internal(%rip), %xmm5
- mulps %xmm13, %xmm5
- andps %xmm14, %xmm7
- mulps %xmm6, %xmm5
- andnps Pi2H+__svml_sacos_data_internal(%rip), %xmm15
- addps %xmm5, %xmm6
- addps %xmm15, %xmm7
- addps %xmm6, %xmm7
- testl %edx, %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)
+
+ /* X<X^2 iff X<0 */
+ movaps %xmm0, %xmm14
+
+ /*
+ * 2*sqrt(X) ~ Sh - Sl (to 24+ bits)
+ * SQ ~ 2*sqrt(X)
+ */
+ movups __svml_sacos_data_internal(%rip), %xmm3
+ movups OneHalf+__svml_sacos_data_internal(%rip), %xmm5
+
+ /* x = -|arg| */
+ movaps %xmm3, %xmm4
+ orps %xmm0, %xmm4
+
+ /* Y = 0.5 + 0.5*(-x) */
+ movaps %xmm5, %xmm6
+ mulps %xmm4, %xmm6
+
+ /* x^2 */
+ movaps %xmm4, %xmm13
+ mulps %xmm4, %xmm13
+ addps %xmm6, %xmm5
+
+ /* SQ ~ 2*sqrt(Y) */
+ rsqrtps %xmm5, %xmm8
+ minps %xmm5, %xmm13
+ movaps %xmm5, %xmm2
+ movaps %xmm13, %xmm1
+ cmpltps SmallNorm+__svml_sacos_data_internal(%rip), %xmm2
+ cmpnltps %xmm5, %xmm1
+ cmpltps %xmm13, %xmm14
+ addps %xmm5, %xmm5
+ andnps %xmm8, %xmm2
+ movaps %xmm13, %xmm11
+ movaps %xmm2, %xmm9
+ movaps %xmm1, %xmm6
+ mulps %xmm2, %xmm9
+ andnps %xmm4, %xmm6
+ mulps %xmm5, %xmm2
+ mulps %xmm13, %xmm11
+ mulps %xmm9, %xmm5
+ movups sqrt_coeff+__svml_sacos_data_internal(%rip), %xmm10
+ andps %xmm0, %xmm3
+
+ /* polynomial */
+ movups poly_coeff+__svml_sacos_data_internal(%rip), %xmm12
+ movaps %xmm1, %xmm15
+ mulps %xmm13, %xmm12
+ subps Two+__svml_sacos_data_internal(%rip), %xmm5
+ mulps %xmm5, %xmm10
+ addps poly_coeff+16+__svml_sacos_data_internal(%rip), %xmm12
+ mulps %xmm2, %xmm5
+ mulps %xmm11, %xmm12
+ addps sqrt_coeff+16+__svml_sacos_data_internal(%rip), %xmm10
+ mulps %xmm5, %xmm10
+ movups poly_coeff+32+__svml_sacos_data_internal(%rip), %xmm5
+ subps %xmm10, %xmm2
+ mulps %xmm13, %xmm5
+ movups MOne+__svml_sacos_data_internal(%rip), %xmm7
+ andps %xmm1, %xmm2
+ cmpnleps %xmm4, %xmm7
+ addps poly_coeff+48+__svml_sacos_data_internal(%rip), %xmm5
+ movmskps %xmm7, %edx
+ orps %xmm2, %xmm6
+ addps %xmm12, %xmm5
+ mulps %xmm13, %xmm5
+ pxor %xmm3, %xmm6
+ movups PiH+__svml_sacos_data_internal(%rip), %xmm7
+ andps %xmm1, %xmm7
+ addps poly_coeff+64+__svml_sacos_data_internal(%rip), %xmm5
+ mulps %xmm13, %xmm5
+ andps %xmm14, %xmm7
+ mulps %xmm6, %xmm5
+ andnps Pi2H+__svml_sacos_data_internal(%rip), %xmm15
+ addps %xmm5, %xmm6
+ addps %xmm15, %xmm7
+ addps %xmm6, %xmm7
+ testl %edx, %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):
- movaps %xmm7, %xmm0
- addq $72, %rsp
- cfi_def_cfa_offset(8)
- ret
- cfi_def_cfa_offset(80)
-
-/* Branch to process
- * special inputs
- */
+ movaps %xmm7, %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 %xmm7, 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 %xmm7, 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), %xmm7
-
-/* 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 xmm7
-
-/* 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), %xmm7
+
+ /* 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 xmm7
+
+ /* Scalar math fucntion call
+ * to process special input
+ */
L(SCALAR_MATH_CALL):
- movl %r12d, %r14d
- movss 32(%rsp,%r14,4), %xmm0
- call acosf@PLT
- # LOE rbx rbp r14 r15 r12d r13d xmm0
+ movl %r12d, %r14d
+ movss 32(%rsp, %r14, 4), %xmm0
+ call acosf@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_acosf_sse4)
- .section .rodata, "a"
- .align 16
+ .section .rodata, "a"
+ .align 16
#ifdef __svml_sacos_data_internal_typedef
typedef unsigned int VUINT32;
typedef struct {
- __declspec(align(16)) VUINT32 SgnBit[4][1];
- __declspec(align(16)) VUINT32 OneHalf[4][1];
- __declspec(align(16)) VUINT32 SmallNorm[4][1];
- __declspec(align(16)) VUINT32 MOne[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 PiH[4][1];
+ __declspec(align(16)) VUINT32 SgnBit[4][1];
+ __declspec(align(16)) VUINT32 OneHalf[4][1];
+ __declspec(align(16)) VUINT32 SmallNorm[4][1];
+ __declspec(align(16)) VUINT32 MOne[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 PiH[4][1];
} __svml_sacos_data_internal;
#endif
__svml_sacos_data_internal:
- /*== SgnBit ==*/
- .long 0x80000000, 0x80000000, 0x80000000, 0x80000000
- /*== OneHalf ==*/
- .align 16
- .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000
- /*== SmallNorm ==*/
- .align 16
- .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000
- /*== MOne ==*/
- .align 16
- .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000
- /*== 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
- /*== PiH ==*/
- .align 16
- .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB
- .align 16
- .type __svml_sacos_data_internal,@object
- .size __svml_sacos_data_internal,.-__svml_sacos_data_internal
+ /* SgnBit */
+ .long 0x80000000, 0x80000000, 0x80000000, 0x80000000
+ /* OneHalf */
+ .align 16
+ .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000
+ /* SmallNorm */
+ .align 16
+ .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000
+ /* MOne */
+ .align 16
+ .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000
+ /* 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
+ /* PiH */
+ .align 16
+ .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB
+ .align 16
+ .type __svml_sacos_data_internal, @object
+ .size __svml_sacos_data_internal, .-__svml_sacos_data_internal
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 003/126] x86_64: Fix svml_s_acosf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
2022-03-07 14:59 ` [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S " Sunil K Pandey
2022-03-07 14:59 ` [PATCH 002/126] x86_64: Fix svml_s_acosf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 14:59 ` Sunil K Pandey
2022-03-07 14:59 ` [PATCH 004/126] x86_64: Fix svml_d_acos2_core_sse4.S " Sunil K Pandey
` (122 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 14:59 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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^2 iff X<0 */
- vcmplt_oqps %ymm2, %ymm5, %ymm10
- vfmadd213ps %ymm8, %ymm7, %ymm9
- vandps %ymm5, %ymm6, %ymm3
- vmulps %ymm14, %ymm12, %ymm6
- vfmsub213ps Two+__svml_sacos_data_internal(%rip), %ymm13, %ymm14
- vfmadd213ps poly_coeff+128+__svml_sacos_data_internal(%rip), %ymm2, %ymm9
- vfmadd213ps sqrt_coeff+32+__svml_sacos_data_internal(%rip), %ymm14, %ymm0
- vmulps %ymm14, %ymm6, %ymm15
- vmulps %ymm9, %ymm2, %ymm14
- vfnmadd213ps %ymm6, %ymm15, %ymm0
- vblendvps %ymm1, %ymm0, %ymm4, %ymm0
- vandps PiH+__svml_sacos_data_internal(%rip), %ymm1, %ymm2
- vandnps Pi2H+__svml_sacos_data_internal(%rip), %ymm1, %ymm12
- vxorps %ymm3, %ymm0, %ymm1
- vfmadd213ps %ymm1, %ymm1, %ymm14
- vandps %ymm10, %ymm2, %ymm11
- vaddps %ymm12, %ymm11, %ymm13
- vaddps %ymm14, %ymm13, %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
+
+ /*
+ * 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^2 iff X<0 */
+ vcmplt_oqps %ymm2, %ymm5, %ymm10
+ vfmadd213ps %ymm8, %ymm7, %ymm9
+ vandps %ymm5, %ymm6, %ymm3
+ vmulps %ymm14, %ymm12, %ymm6
+ vfmsub213ps Two+__svml_sacos_data_internal(%rip), %ymm13, %ymm14
+ vfmadd213ps poly_coeff+128+__svml_sacos_data_internal(%rip), %ymm2, %ymm9
+ vfmadd213ps sqrt_coeff+32+__svml_sacos_data_internal(%rip), %ymm14, %ymm0
+ vmulps %ymm14, %ymm6, %ymm15
+ vmulps %ymm9, %ymm2, %ymm14
+ vfnmadd213ps %ymm6, %ymm15, %ymm0
+ vblendvps %ymm1, %ymm0, %ymm4, %ymm0
+ vandps PiH+__svml_sacos_data_internal(%rip), %ymm1, %ymm2
+ vandnps Pi2H+__svml_sacos_data_internal(%rip), %ymm1, %ymm12
+ vxorps %ymm3, %ymm0, %ymm1
+ vfmadd213ps %ymm1, %ymm1, %ymm14
+ vandps %ymm10, %ymm2, %ymm11
+ vaddps %ymm12, %ymm11, %ymm13
+ vaddps %ymm14, %ymm13, %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):
- vmovups %ymm5, 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 %ymm5, 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 acosf@PLT
- # LOE rbx r14 r15 r12d r13d xmm0
+ movl %r12d, %r14d
+ movss 32(%rsp, %r14, 4), %xmm0
+ call acosf@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_acosf_avx2)
- .section .rodata, "a"
- .align 32
+ .section .rodata, "a"
+ .align 32
#ifdef __svml_sacos_data_internal_typedef
typedef unsigned int VUINT32;
typedef struct {
- __declspec(align(32)) VUINT32 SgnBit[8][1];
- __declspec(align(32)) VUINT32 OneHalf[8][1];
- __declspec(align(32)) VUINT32 SmallNorm[8][1];
- __declspec(align(32)) VUINT32 MOne[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 PiH[8][1];
+ __declspec(align(32)) VUINT32 SgnBit[8][1];
+ __declspec(align(32)) VUINT32 OneHalf[8][1];
+ __declspec(align(32)) VUINT32 SmallNorm[8][1];
+ __declspec(align(32)) VUINT32 MOne[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 PiH[8][1];
} __svml_sacos_data_internal;
#endif
__svml_sacos_data_internal:
- /*== SgnBit ==*/
- .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000
- /*== OneHalf ==*/
- .align 32
- .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000
- /*== SmallNorm ==*/
- .align 32
- .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000
- /*== MOne ==*/
- .align 32
- .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000
- /*== 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
- /*== PiH ==*/
- .align 32
- .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB
- .align 32
- .type __svml_sacos_data_internal,@object
- .size __svml_sacos_data_internal,.-__svml_sacos_data_internal
+ /* SgnBit */
+ .long 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000
+ /* OneHalf */
+ .align 32
+ .long 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000, 0x3f000000
+ /* SmallNorm */
+ .align 32
+ .long 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000, 0x2f800000
+ /* MOne */
+ .align 32
+ .long 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000
+ /* 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
+ /* PiH */
+ .align 32
+ .long 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB, 0x40490FDB
+ .align 32
+ .type __svml_sacos_data_internal, @object
+ .size __svml_sacos_data_internal, .-__svml_sacos_data_internal
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 004/126] x86_64: Fix svml_d_acos2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (2 preceding siblings ...)
2022-03-07 14:59 ` [PATCH 003/126] x86_64: Fix svml_s_acosf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 14:59 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 005/126] x86_64: Fix svml_d_acos4_core_avx2.S " Sunil K Pandey
` (121 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 14:59 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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^2 iff X<0 */
- movaps %xmm5, %xmm12
- movups poly_coeff+32+__svml_dacos_data_internal(%rip), %xmm8
- movaps %xmm2, %xmm13
- movups poly_coeff+64+__svml_dacos_data_internal(%rip), %xmm6
- mulpd %xmm0, %xmm8
- mulpd %xmm0, %xmm6
- addpd poly_coeff+48+__svml_dacos_data_internal(%rip), %xmm8
- addpd poly_coeff+80+__svml_dacos_data_internal(%rip), %xmm6
- cmpltpd %xmm0, %xmm12
- addpd %xmm15, %xmm8
- mulpd %xmm11, %xmm6
- mulpd %xmm7, %xmm8
- movups poly_coeff+96+__svml_dacos_data_internal(%rip), %xmm9
- mulpd %xmm0, %xmm9
- addpd poly_coeff+112+__svml_dacos_data_internal(%rip), %xmm9
- addpd %xmm6, %xmm9
- movups poly_coeff+128+__svml_dacos_data_internal(%rip), %xmm10
- movaps %xmm2, %xmm6
- mulpd %xmm0, %xmm10
- addpd %xmm8, %xmm9
- addpd poly_coeff+144+__svml_dacos_data_internal(%rip), %xmm10
- mulpd %xmm11, %xmm9
- movups poly_coeff+160+__svml_dacos_data_internal(%rip), %xmm14
- andnps %xmm4, %xmm6
- addpd %xmm9, %xmm10
- mulpd %xmm0, %xmm14
- mulpd %xmm10, %xmm11
- addpd poly_coeff+176+__svml_dacos_data_internal(%rip), %xmm14
- addpd %xmm11, %xmm14
- mulpd %xmm0, %xmm14
- orps %xmm1, %xmm6
- pxor %xmm3, %xmm6
- mulpd %xmm6, %xmm14
- movups PiH+__svml_dacos_data_internal(%rip), %xmm0
- andps %xmm2, %xmm0
- andnps Pi2H+__svml_dacos_data_internal(%rip), %xmm13
- andps %xmm12, %xmm0
- addpd %xmm13, %xmm0
- addpd %xmm14, %xmm6
- addpd %xmm6, %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_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^2 iff X<0 */
+ movaps %xmm5, %xmm12
+ movups poly_coeff+32+__svml_dacos_data_internal(%rip), %xmm8
+ movaps %xmm2, %xmm13
+ movups poly_coeff+64+__svml_dacos_data_internal(%rip), %xmm6
+ mulpd %xmm0, %xmm8
+ mulpd %xmm0, %xmm6
+ addpd poly_coeff+48+__svml_dacos_data_internal(%rip), %xmm8
+ addpd poly_coeff+80+__svml_dacos_data_internal(%rip), %xmm6
+ cmpltpd %xmm0, %xmm12
+ addpd %xmm15, %xmm8
+ mulpd %xmm11, %xmm6
+ mulpd %xmm7, %xmm8
+ movups poly_coeff+96+__svml_dacos_data_internal(%rip), %xmm9
+ mulpd %xmm0, %xmm9
+ addpd poly_coeff+112+__svml_dacos_data_internal(%rip), %xmm9
+ addpd %xmm6, %xmm9
+ movups poly_coeff+128+__svml_dacos_data_internal(%rip), %xmm10
+ movaps %xmm2, %xmm6
+ mulpd %xmm0, %xmm10
+ addpd %xmm8, %xmm9
+ addpd poly_coeff+144+__svml_dacos_data_internal(%rip), %xmm10
+ mulpd %xmm11, %xmm9
+ movups poly_coeff+160+__svml_dacos_data_internal(%rip), %xmm14
+ andnps %xmm4, %xmm6
+ addpd %xmm9, %xmm10
+ mulpd %xmm0, %xmm14
+ mulpd %xmm10, %xmm11
+ addpd poly_coeff+176+__svml_dacos_data_internal(%rip), %xmm14
+ addpd %xmm11, %xmm14
+ mulpd %xmm0, %xmm14
+ orps %xmm1, %xmm6
+ pxor %xmm3, %xmm6
+ mulpd %xmm6, %xmm14
+ movups PiH+__svml_dacos_data_internal(%rip), %xmm0
+ andps %xmm2, %xmm0
+ andnps Pi2H+__svml_dacos_data_internal(%rip), %xmm13
+ andps %xmm12, %xmm0
+ addpd %xmm13, %xmm0
+ addpd %xmm14, %xmm6
+ addpd %xmm6, %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 acos@PLT
- # LOE rbx rbp r14 r15 r12d r13d xmm0
+ movl %r12d, %r14d
+ movsd 32(%rsp, %r14, 8), %xmm0
+ call acos@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_acos_sse4)
- .section .rodata, "a"
- .align 16
+ .section .rodata, "a"
+ .align 16
#ifdef __svml_dacos_data_internal_typedef
typedef unsigned int VUINT32;
typedef struct {
- __declspec(align(16)) VUINT32 SgnBit[2][2];
- __declspec(align(16)) VUINT32 OneHalf[2][2];
- __declspec(align(16)) VUINT32 SmallNorm[2][2];
- __declspec(align(16)) VUINT32 MOne[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 PiH[2][2];
- __declspec(align(16)) VUINT32 Pi2H[2][2];
+ __declspec(align(16)) VUINT32 SgnBit[2][2];
+ __declspec(align(16)) VUINT32 OneHalf[2][2];
+ __declspec(align(16)) VUINT32 SmallNorm[2][2];
+ __declspec(align(16)) VUINT32 MOne[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 PiH[2][2];
+ __declspec(align(16)) VUINT32 Pi2H[2][2];
} __svml_dacos_data_internal;
#endif
__svml_dacos_data_internal:
- /*== SgnBit ==*/
- .quad 0x8000000000000000, 0x8000000000000000
- /*== OneHalf ==*/
- .align 16
- .quad 0x3fe0000000000000, 0x3fe0000000000000
- /*== SmallNorm ==*/
- .align 16
- .quad 0x3000000000000000, 0x3000000000000000
- /*== MOne ==*/
- .align 16
- .quad 0xbff0000000000000, 0xbff0000000000000
- /*== 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 */
- /*== PiH ==*/
- .align 16
- .quad 0x400921fb54442d18, 0x400921fb54442d18
- /*== Pi2H ==*/
- .align 16
- .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18
- .align 16
- .type __svml_dacos_data_internal,@object
- .size __svml_dacos_data_internal,.-__svml_dacos_data_internal
+ /* SgnBit */
+ .quad 0x8000000000000000, 0x8000000000000000
+ /* OneHalf */
+ .align 16
+ .quad 0x3fe0000000000000, 0x3fe0000000000000
+ /* SmallNorm */
+ .align 16
+ .quad 0x3000000000000000, 0x3000000000000000
+ /* MOne */
+ .align 16
+ .quad 0xbff0000000000000, 0xbff0000000000000
+ /* 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 */
+ /* PiH */
+ .align 16
+ .quad 0x400921fb54442d18, 0x400921fb54442d18
+ /* Pi2H */
+ .align 16
+ .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18
+ .align 16
+ .type __svml_dacos_data_internal, @object
+ .size __svml_dacos_data_internal, .-__svml_dacos_data_internal
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 005/126] x86_64: Fix svml_d_acos4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (3 preceding siblings ...)
2022-03-07 14:59 ` [PATCH 004/126] x86_64: Fix svml_d_acos2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 006/126] x86_64: Fix svml_d_acos8_core_avx512.S " Sunil K Pandey
` (120 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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^2 iff X<0 */
- vcmplt_oqpd %ymm2, %ymm5, %ymm6
- vandpd PiH+__svml_dacos_data_internal(%rip), %ymm1, %ymm2
- vandnpd Pi2H+__svml_dacos_data_internal(%rip), %ymm1, %ymm7
- vxorpd %ymm3, %ymm0, %ymm1
- vfmadd213pd %ymm1, %ymm1, %ymm9
- vandpd %ymm6, %ymm2, %ymm2
- vaddpd %ymm7, %ymm2, %ymm8
- vaddpd %ymm9, %ymm8, %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_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^2 iff X<0 */
+ vcmplt_oqpd %ymm2, %ymm5, %ymm6
+ vandpd PiH+__svml_dacos_data_internal(%rip), %ymm1, %ymm2
+ vandnpd Pi2H+__svml_dacos_data_internal(%rip), %ymm1, %ymm7
+ vxorpd %ymm3, %ymm0, %ymm1
+ vfmadd213pd %ymm1, %ymm1, %ymm9
+ vandpd %ymm6, %ymm2, %ymm2
+ vaddpd %ymm7, %ymm2, %ymm8
+ vaddpd %ymm9, %ymm8, %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 acos@PLT
- # LOE rbx r14 r15 r12d r13d xmm0
+ movl %r12d, %r14d
+ movsd 32(%rsp, %r14, 8), %xmm0
+ call acos@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_acos_avx2)
- .section .rodata, "a"
- .align 32
+ .section .rodata, "a"
+ .align 32
#ifdef __svml_dacos_data_internal_typedef
typedef unsigned int VUINT32;
typedef struct {
- __declspec(align(32)) VUINT32 SgnBit[4][2];
- __declspec(align(32)) VUINT32 OneHalf[4][2];
- __declspec(align(32)) VUINT32 SmallNorm[4][2];
- __declspec(align(32)) VUINT32 MOne[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 PiH[4][2];
- __declspec(align(32)) VUINT32 Pi2H[4][2];
+ __declspec(align(32)) VUINT32 SgnBit[4][2];
+ __declspec(align(32)) VUINT32 OneHalf[4][2];
+ __declspec(align(32)) VUINT32 SmallNorm[4][2];
+ __declspec(align(32)) VUINT32 MOne[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 PiH[4][2];
+ __declspec(align(32)) VUINT32 Pi2H[4][2];
} __svml_dacos_data_internal;
#endif
__svml_dacos_data_internal:
- /*== SgnBit ==*/
- .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000
- /*== OneHalf ==*/
- .align 32
- .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000
- /*== SmallNorm ==*/
- .align 32
- .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000
- /*== MOne ==*/
- .align 32
- .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000
- /*== 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 */
- /*== PiH ==*/
- .align 32
- .quad 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18
- /*== Pi2H ==*/
- .align 32
- .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18
- .align 32
- .type __svml_dacos_data_internal,@object
- .size __svml_dacos_data_internal,.-__svml_dacos_data_internal
+ /* SgnBit */
+ .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000
+ /* OneHalf */
+ .align 32
+ .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000
+ /* SmallNorm */
+ .align 32
+ .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000
+ /* MOne */
+ .align 32
+ .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000
+ /* 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 */
+ /* PiH */
+ .align 32
+ .quad 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18
+ /* Pi2H */
+ .align 32
+ .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18
+ .align 32
+ .type __svml_dacos_data_internal, @object
+ .size __svml_dacos_data_internal, .-__svml_dacos_data_internal
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 006/126] x86_64: Fix svml_d_acos8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (4 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 005/126] x86_64: Fix svml_d_acos4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 007/126] x86_64: Fix svml_s_acoshf16_core_avx512.S " Sunil K Pandey
` (119 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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^2 iff X<0 */
- vcmppd $17, {sae}, %zmm3, %zmm6, %k2
- vmulpd {rn-sae}, %zmm12, %zmm12, %zmm13
- vmulpd {rn-sae}, %zmm12, %zmm0, %zmm7
- vmovups poly_coeff_4+__svml_dacos_data_internal(%rip), %zmm12
-
-/* polynomial */
- vmovups poly_coeff_1+__svml_dacos_data_internal(%rip), %zmm8
- vfmsub213pd {rn-sae}, %zmm14, %zmm13, %zmm0
- vmovups sqrt_coeff_4+__svml_dacos_data_internal(%rip), %zmm13
- vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm12
- vmovups poly_coeff_11+__svml_dacos_data_internal(%rip), %zmm9
- vfmadd231pd {rn-sae}, %zmm0, %zmm15, %zmm2
- vmovups poly_coeff_9+__svml_dacos_data_internal(%rip), %zmm15
- vmulpd {rn-sae}, %zmm0, %zmm7, %zmm14
- vfmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm2
- vmovups poly_coeff_2+__svml_dacos_data_internal(%rip), %zmm1
- kmovw %k0, %edx
- vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm2
- vfmadd231pd {rn-sae}, %zmm3, %zmm8, %zmm1
- vmovups poly_coeff_10+__svml_dacos_data_internal(%rip), %zmm8
- vmulpd {rn-sae}, %zmm3, %zmm3, %zmm0
- vfnmadd213pd {rn-sae}, %zmm7, %zmm14, %zmm2
- vmovups poly_coeff_6+__svml_dacos_data_internal(%rip), %zmm7
- vfmadd231pd {rn-sae}, %zmm3, %zmm15, %zmm8
- vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm1
- vblendmpd %zmm2, %zmm5, %zmm2{%k4}
- vfmadd231pd {rn-sae}, %zmm3, %zmm10, %zmm7
- vmovups poly_coeff_8+__svml_dacos_data_internal(%rip), %zmm10
- vfmadd231pd {rn-sae}, %zmm3, %zmm11, %zmm10
- vmovups poly_coeff_12+__svml_dacos_data_internal(%rip), %zmm11
- kandw %k4, %k2, %k3
- 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
- vmovups Pi2H+__svml_dacos_data_internal(%rip), %zmm0
- vmulpd {rn-sae}, %zmm3, %zmm1, %zmm1
- vxorpd %zmm4, %zmm2, %zmm3
- vxorpd %zmm0, %zmm0, %zmm0{%k4}
- vfmadd213pd {rn-sae}, %zmm3, %zmm3, %zmm1
- vorpd PiH+__svml_dacos_data_internal(%rip), %zmm0, %zmm0{%k3}
- vaddpd {rn-sae}, %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 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 __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^2 iff X<0 */
+ vcmppd $17, {sae}, %zmm3, %zmm6, %k2
+ vmulpd {rn-sae}, %zmm12, %zmm12, %zmm13
+ vmulpd {rn-sae}, %zmm12, %zmm0, %zmm7
+ vmovups poly_coeff_4+__svml_dacos_data_internal(%rip), %zmm12
+
+ /* polynomial */
+ vmovups poly_coeff_1+__svml_dacos_data_internal(%rip), %zmm8
+ vfmsub213pd {rn-sae}, %zmm14, %zmm13, %zmm0
+ vmovups sqrt_coeff_4+__svml_dacos_data_internal(%rip), %zmm13
+ vfmadd231pd {rn-sae}, %zmm3, %zmm9, %zmm12
+ vmovups poly_coeff_11+__svml_dacos_data_internal(%rip), %zmm9
+ vfmadd231pd {rn-sae}, %zmm0, %zmm15, %zmm2
+ vmovups poly_coeff_9+__svml_dacos_data_internal(%rip), %zmm15
+ vmulpd {rn-sae}, %zmm0, %zmm7, %zmm14
+ vfmadd213pd {rn-sae}, %zmm1, %zmm0, %zmm2
+ vmovups poly_coeff_2+__svml_dacos_data_internal(%rip), %zmm1
+ kmovw %k0, %edx
+ vfmadd213pd {rn-sae}, %zmm13, %zmm0, %zmm2
+ vfmadd231pd {rn-sae}, %zmm3, %zmm8, %zmm1
+ vmovups poly_coeff_10+__svml_dacos_data_internal(%rip), %zmm8
+ vmulpd {rn-sae}, %zmm3, %zmm3, %zmm0
+ vfnmadd213pd {rn-sae}, %zmm7, %zmm14, %zmm2
+ vmovups poly_coeff_6+__svml_dacos_data_internal(%rip), %zmm7
+ vfmadd231pd {rn-sae}, %zmm3, %zmm15, %zmm8
+ vfmadd213pd {rn-sae}, %zmm12, %zmm0, %zmm1
+ vblendmpd %zmm2, %zmm5, %zmm2{%k4}
+ vfmadd231pd {rn-sae}, %zmm3, %zmm10, %zmm7
+ vmovups poly_coeff_8+__svml_dacos_data_internal(%rip), %zmm10
+ vfmadd231pd {rn-sae}, %zmm3, %zmm11, %zmm10
+ vmovups poly_coeff_12+__svml_dacos_data_internal(%rip), %zmm11
+ kandw %k4, %k2, %k3
+ 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
+ vmovups Pi2H+__svml_dacos_data_internal(%rip), %zmm0
+ vmulpd {rn-sae}, %zmm3, %zmm1, %zmm1
+ vxorpd %zmm4, %zmm2, %zmm3
+ vxorpd %zmm0, %zmm0, %zmm0{%k4}
+ vfmadd213pd {rn-sae}, %zmm3, %zmm3, %zmm1
+ vorpd PiH+__svml_dacos_data_internal(%rip), %zmm0, %zmm0{%k3}
+ vaddpd {rn-sae}, %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 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 acos@PLT
- # LOE rbx r14 r15 r12d r13d xmm0
+ movl %r12d, %r14d
+ movsd 64(%rsp, %r14, 8), %xmm0
+ call acos@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_acos_skx)
- .section .rodata, "a"
- .align 64
+ .section .rodata, "a"
+ .align 64
#ifdef __svml_dacos_data_internal_typedef
typedef unsigned int VUINT32;
typedef struct {
- __declspec(align(64)) VUINT32 SgnBit[8][2];
- __declspec(align(64)) VUINT32 OneHalf[8][2];
- __declspec(align(64)) VUINT32 SmallNorm[8][2];
- __declspec(align(64)) VUINT32 MOne[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 PiH[8][2];
- __declspec(align(64)) VUINT32 Pi2H[8][2];
+ __declspec(align(64)) VUINT32 SgnBit[8][2];
+ __declspec(align(64)) VUINT32 OneHalf[8][2];
+ __declspec(align(64)) VUINT32 SmallNorm[8][2];
+ __declspec(align(64)) VUINT32 MOne[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 PiH[8][2];
+ __declspec(align(64)) VUINT32 Pi2H[8][2];
} __svml_dacos_data_internal;
#endif
__svml_dacos_data_internal:
- /*== SgnBit ==*/
- .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000
- /*== OneHalf ==*/
- .align 64
- .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000
- /*== SmallNorm ==*/
- .align 64
- .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000
- /*== MOne ==*/
- .align 64
- .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000
- /*== 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 */
- /*== PiH ==*/
- .align 64
- .quad 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18
- /*== Pi2H ==*/
- .align 64
- .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18
- .align 64
- .type __svml_dacos_data_internal,@object
- .size __svml_dacos_data_internal,.-__svml_dacos_data_internal
+ /* SgnBit */
+ .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000
+ /* OneHalf */
+ .align 64
+ .quad 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000, 0x3fe0000000000000
+ /* SmallNorm */
+ .align 64
+ .quad 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000, 0x3000000000000000
+ /* MOne */
+ .align 64
+ .quad 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000, 0xbff0000000000000
+ /* 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 */
+ /* PiH */
+ .align 64
+ .quad 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18, 0x400921fb54442d18
+ /* Pi2H */
+ .align 64
+ .quad 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18, 0x3ff921fb54442d18
+ .align 64
+ .type __svml_dacos_data_internal, @object
+ .size __svml_dacos_data_internal, .-__svml_dacos_data_internal
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 007/126] x86_64: Fix svml_s_acoshf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (5 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 006/126] x86_64: Fix svml_d_acos8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 008/126] x86_64: Fix svml_s_acoshf4_core_sse4.S " Sunil K Pandey
` (118 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 008/126] x86_64: Fix svml_s_acoshf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (6 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 007/126] x86_64: Fix svml_s_acoshf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 009/126] x86_64: Fix svml_s_acoshf8_core_avx2.S " Sunil K Pandey
` (117 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 009/126] x86_64: Fix svml_s_acoshf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (7 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 008/126] x86_64: Fix svml_s_acoshf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 010/126] x86_64: Fix svml_d_acosh2_core_sse4.S " Sunil K Pandey
` (116 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 010/126] x86_64: Fix svml_d_acosh2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (8 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 009/126] x86_64: Fix svml_s_acoshf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 011/126] x86_64: Fix svml_d_acosh4_core_avx2.S " Sunil K Pandey
` (115 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 011/126] x86_64: Fix svml_d_acosh4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (9 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 010/126] x86_64: Fix svml_d_acosh2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 012/126] x86_64: Fix svml_d_acosh8_core_avx512.S " Sunil K Pandey
` (114 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 012/126] x86_64: Fix svml_d_acosh8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (10 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 011/126] x86_64: Fix svml_d_acosh4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 013/126] x86_64: Fix svml_s_asinf16_core_avx512.S " Sunil K Pandey
` (113 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 013/126] x86_64: Fix svml_s_asinf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (11 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 012/126] x86_64: Fix svml_d_acosh8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 014/126] x86_64: Fix svml_s_asinf4_core_sse4.S " Sunil K Pandey
` (112 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 014/126] x86_64: Fix svml_s_asinf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (12 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 013/126] x86_64: Fix svml_s_asinf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 015/126] x86_64: Fix svml_s_asinf8_core_avx2.S " Sunil K Pandey
` (111 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 015/126] x86_64: Fix svml_s_asinf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (13 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 014/126] x86_64: Fix svml_s_asinf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 016/126] x86_64: Fix svml_d_asin2_core_sse4.S " Sunil K Pandey
` (110 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 016/126] x86_64: Fix svml_d_asin2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (14 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 015/126] x86_64: Fix svml_s_asinf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 017/126] x86_64: Fix svml_d_asin4_core_avx2.S " Sunil K Pandey
` (109 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 017/126] x86_64: Fix svml_d_asin4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (15 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 016/126] x86_64: Fix svml_d_asin2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 018/126] x86_64: Fix svml_d_asin8_core_avx512.S " Sunil K Pandey
` (108 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 018/126] x86_64: Fix svml_d_asin8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (16 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 017/126] x86_64: Fix svml_d_asin4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 019/126] x86_64: Fix svml_s_asinhf16_core_avx512.S " Sunil K Pandey
` (107 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 019/126] x86_64: Fix svml_s_asinhf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (17 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 018/126] x86_64: Fix svml_d_asin8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 020/126] x86_64: Fix svml_s_asinhf4_core_sse4.S " Sunil K Pandey
` (106 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 020/126] x86_64: Fix svml_s_asinhf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (18 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 019/126] x86_64: Fix svml_s_asinhf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 021/126] x86_64: Fix svml_s_asinhf8_core_avx2.S " Sunil K Pandey
` (105 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 021/126] x86_64: Fix svml_s_asinhf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (19 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 020/126] x86_64: Fix svml_s_asinhf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 022/126] x86_64: Fix svml_d_asinh2_core_sse4.S " Sunil K Pandey
` (104 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 022/126] x86_64: Fix svml_d_asinh2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (20 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 021/126] x86_64: Fix svml_s_asinhf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 023/126] x86_64: Fix svml_d_asinh4_core_avx2.S " Sunil K Pandey
` (103 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 023/126] x86_64: Fix svml_d_asinh4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (21 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 022/126] x86_64: Fix svml_d_asinh2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 024/126] x86_64: Fix svml_d_asinh8_core_avx512.S " Sunil K Pandey
` (102 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 024/126] x86_64: Fix svml_d_asinh8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (22 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 023/126] x86_64: Fix svml_d_asinh4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 025/126] x86_64: Fix svml_s_atanf16_core_avx512.S " Sunil K Pandey
` (101 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 025/126] x86_64: Fix svml_s_atanf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (23 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 024/126] x86_64: Fix svml_d_asinh8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 026/126] x86_64: Fix svml_s_atanf4_core_sse4.S " Sunil K Pandey
` (100 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 026/126] x86_64: Fix svml_s_atanf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (24 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 025/126] x86_64: Fix svml_s_atanf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 027/126] x86_64: Fix svml_s_atanf8_core_avx2.S " Sunil K Pandey
` (99 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 027/126] x86_64: Fix svml_s_atanf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (25 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 026/126] x86_64: Fix svml_s_atanf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 028/126] x86_64: Fix svml_d_atan2_core_sse4.S " Sunil K Pandey
` (98 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 028/126] x86_64: Fix svml_d_atan2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (26 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 027/126] x86_64: Fix svml_s_atanf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 029/126] x86_64: Fix svml_d_atan4_core_avx2.S " Sunil K Pandey
` (97 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 029/126] x86_64: Fix svml_d_atan4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (27 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 028/126] x86_64: Fix svml_d_atan2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 030/126] x86_64: Fix svml_d_atan8_core_avx512.S " Sunil K Pandey
` (96 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 030/126] x86_64: Fix svml_d_atan8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (28 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 029/126] x86_64: Fix svml_d_atan4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 031/126] x86_64: Fix svml_s_atan2f16_core_avx512.S " Sunil K Pandey
` (95 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 031/126] x86_64: Fix svml_s_atan2f16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (29 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 030/126] x86_64: Fix svml_d_atan8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 032/126] x86_64: Fix svml_s_atan2f4_core_sse4.S " Sunil K Pandey
` (94 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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 y<x then a= y, b=x, PIO2=0
- * 2) If y>x 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 y<x then a= y, b=x, PIO2=0
+ * 2) If y>x 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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 032/126] x86_64: Fix svml_s_atan2f4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (30 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 031/126] x86_64: Fix svml_s_atan2f16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 033/126] x86_64: Fix svml_s_atan2f8_core_avx2.S " Sunil K Pandey
` (93 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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 y<x then a= y, b=x, PIO2=0
- * 2) If y>x 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 y<x then a= y, b=x, PIO2=0
+ * 2) If y>x 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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 033/126] x86_64: Fix svml_s_atan2f8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (31 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 032/126] x86_64: Fix svml_s_atan2f4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 034/126] x86_64: Fix svml_d_atan22_core_sse4.S " Sunil K Pandey
` (92 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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 y<x then a= y, b=x, PIO2=0
- * 2) If y>x 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 y<x then a= y, b=x, PIO2=0
+ * 2) If y>x 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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 034/126] x86_64: Fix svml_d_atan22_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (32 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 033/126] x86_64: Fix svml_s_atan2f8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 035/126] x86_64: Fix svml_d_atan24_core_avx2.S " Sunil K Pandey
` (91 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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 y<x then a= y, b=x, PIO2=0
- * 2) If y>x 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 y<x then a= y, b=x, PIO2=0
+ * 2) If y>x 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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 035/126] x86_64: Fix svml_d_atan24_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (33 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 034/126] x86_64: Fix svml_d_atan22_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 036/126] x86_64: Fix svml_d_atan28_core_avx512.S " Sunil K Pandey
` (90 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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 y<x then a= y, b=x, PIO2=0
- * 2) If y>x 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 y<x then a= y, b=x, PIO2=0
+ * 2) If y>x 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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 036/126] x86_64: Fix svml_d_atan28_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (34 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 035/126] x86_64: Fix svml_d_atan24_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 037/126] x86_64: Fix svml_s_atanhf16_core_avx512.S " Sunil K Pandey
` (89 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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 y<x then a= y, b=x, PIO2=0
- * 2) If y>x 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 y<x then a= y, b=x, PIO2=0
+ * 2) If y>x 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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 037/126] x86_64: Fix svml_s_atanhf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (35 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 036/126] x86_64: Fix svml_d_atan28_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 038/126] x86_64: Fix svml_s_atanhf4_core_sse4.S " Sunil K Pandey
` (88 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 038/126] x86_64: Fix svml_s_atanhf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (36 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 037/126] x86_64: Fix svml_s_atanhf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 039/126] x86_64: Fix svml_s_atanhf8_core_avx2.S " Sunil K Pandey
` (87 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 039/126] x86_64: Fix svml_s_atanhf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (37 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 038/126] x86_64: Fix svml_s_atanhf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 040/126] x86_64: Fix svml_d_atanh2_core_sse4.S " Sunil K Pandey
` (86 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 040/126] x86_64: Fix svml_d_atanh2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (38 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 039/126] x86_64: Fix svml_s_atanhf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 041/126] x86_64: Fix svml_d_atanh4_core_avx2.S " Sunil K Pandey
` (85 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 041/126] x86_64: Fix svml_d_atanh4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (39 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 040/126] x86_64: Fix svml_d_atanh2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 042/126] x86_64: Fix svml_d_atanh8_core_avx512.S " Sunil K Pandey
` (84 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 042/126] x86_64: Fix svml_d_atanh8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (40 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 041/126] x86_64: Fix svml_d_atanh4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 043/126] x86_64: Fix svml_s_cbrtf16_core_avx512.S " Sunil K Pandey
` (83 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 043/126] x86_64: Fix svml_s_cbrtf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (41 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 042/126] x86_64: Fix svml_d_atanh8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 044/126] x86_64: Fix svml_s_cbrtf4_core_sse4.S " Sunil K Pandey
` (82 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 044/126] x86_64: Fix svml_s_cbrtf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (42 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 043/126] x86_64: Fix svml_s_cbrtf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 045/126] x86_64: Fix svml_s_cbrtf8_core_avx2.S " Sunil K Pandey
` (81 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 045/126] x86_64: Fix svml_s_cbrtf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (43 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 044/126] x86_64: Fix svml_s_cbrtf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 046/126] x86_64: Fix svml_d_cbrt2_core_sse4.S " Sunil K Pandey
` (80 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 046/126] x86_64: Fix svml_d_cbrt2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (44 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 045/126] x86_64: Fix svml_s_cbrtf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 047/126] x86_64: Fix svml_d_cbrt4_core_avx2.S " Sunil K Pandey
` (79 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 047/126] x86_64: Fix svml_d_cbrt4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (45 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 046/126] x86_64: Fix svml_d_cbrt2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 048/126] x86_64: Fix svml_d_cbrt8_core_avx512.S " Sunil K Pandey
` (78 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 048/126] x86_64: Fix svml_d_cbrt8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (46 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 047/126] x86_64: Fix svml_d_cbrt4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 049/126] x86_64: Fix svml_s_coshf16_core_avx512.S " Sunil K Pandey
` (77 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 049/126] x86_64: Fix svml_s_coshf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (47 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 048/126] x86_64: Fix svml_d_cbrt8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 050/126] x86_64: Fix svml_s_coshf4_core_sse4.S " Sunil K Pandey
` (76 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 050/126] x86_64: Fix svml_s_coshf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (48 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 049/126] x86_64: Fix svml_s_coshf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 051/126] x86_64: Fix svml_s_coshf8_core_avx2.S " Sunil K Pandey
` (75 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 051/126] x86_64: Fix svml_s_coshf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (49 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 050/126] x86_64: Fix svml_s_coshf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 052/126] x86_64: Fix svml_d_cosh2_core_sse4.S " Sunil K Pandey
` (74 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 052/126] x86_64: Fix svml_d_cosh2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (50 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 051/126] x86_64: Fix svml_s_coshf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 053/126] x86_64: Fix svml_d_cosh4_core_avx2.S " Sunil K Pandey
` (73 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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<<K)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 _iMaxIndex[4][1]; //(1<<K)
- __declspec(align(16)) VUINT32 _lExpMask[2][2];
- __declspec(align(16)) VUINT32 _dSign[2][2]; //0x8000000000000000
- __declspec(align(16)) VUINT32 _iDomainRange[4][1];
+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<<K)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 _iMaxIndex[4][1]; // (1<<K)
+ __declspec(align(16)) VUINT32 _lExpMask[2][2];
+ __declspec(align(16)) VUINT32 _dSign[2][2]; // 0x8000000000000000
+ __declspec(align(16)) VUINT32 _iDomainRange[4][1];
} __svml_dcosh_data_internal;
#endif
__svml_dcosh_data_internal:
- /*== _dbT ==*/
- .quad 0x3fe0000000000000, 0x3fe00b1afa5abcbf, 0x3fe0163da9fb3335, 0x3fe02168143b0281
- .quad 0x3fe02c9a3e778061, 0x3fe037d42e11bbcc, 0x3fe04315e86e7f85, 0x3fe04e5f72f654b1
- .quad 0x3fe059b0d3158574, 0x3fe0650a0e3c1f89, 0x3fe0706b29ddf6de, 0x3fe07bd42b72a836
- .quad 0x3fe0874518759bc8, 0x3fe092bdf66607e0, 0x3fe09e3ecac6f383, 0x3fe0a9c79b1f3919
- .quad 0x3fe0b5586cf9890f, 0x3fe0c0f145e46c85, 0x3fe0cc922b7247f7, 0x3fe0d83b23395dec
- .quad 0x3fe0e3ec32d3d1a2, 0x3fe0efa55fdfa9c5, 0x3fe0fb66affed31b, 0x3fe1073028d7233e
- .quad 0x3fe11301d0125b51, 0x3fe11edbab5e2ab6, 0x3fe12abdc06c31cc, 0x3fe136a814f204ab
- .quad 0x3fe1429aaea92de0, 0x3fe14e95934f312e, 0x3fe15a98c8a58e51, 0x3fe166a45471c3c2
- .quad 0x3fe172b83c7d517b, 0x3fe17ed48695bbc0, 0x3fe18af9388c8dea, 0x3fe1972658375d2f
- .quad 0x3fe1a35beb6fcb75, 0x3fe1af99f8138a1c, 0x3fe1bbe084045cd4, 0x3fe1c82f95281c6b
- .quad 0x3fe1d4873168b9aa, 0x3fe1e0e75eb44027, 0x3fe1ed5022fcd91d, 0x3fe1f9c18438ce4d
- .quad 0x3fe2063b88628cd6, 0x3fe212be3578a819, 0x3fe21f49917ddc96, 0x3fe22bdda27912d1
- .quad 0x3fe2387a6e756238, 0x3fe2451ffb82140a, 0x3fe251ce4fb2a63f, 0x3fe25e85711ece75
- .quad 0x3fe26b4565e27cdd, 0x3fe2780e341ddf29, 0x3fe284dfe1f56381, 0x3fe291ba7591bb70
- .quad 0x3fe29e9df51fdee1, 0x3fe2ab8a66d10f13, 0x3fe2b87fd0dad990, 0x3fe2c57e39771b2f
- .quad 0x3fe2d285a6e4030b, 0x3fe2df961f641589, 0x3fe2ecafa93e2f56, 0x3fe2f9d24abd886b
- .quad 0x3fe306fe0a31b715, 0x3fe31432edeeb2fd, 0x3fe32170fc4cd831, 0x3fe32eb83ba8ea32
- .quad 0x3fe33c08b26416ff, 0x3fe3496266e3fa2d, 0x3fe356c55f929ff1, 0x3fe36431a2de883b
- .quad 0x3fe371a7373aa9cb, 0x3fe37f26231e754a, 0x3fe38cae6d05d866, 0x3fe39a401b7140ef
- .quad 0x3fe3a7db34e59ff7, 0x3fe3b57fbfec6cf4, 0x3fe3c32dc313a8e5, 0x3fe3d0e544ede173
- .quad 0x3fe3dea64c123422, 0x3fe3ec70df1c5175, 0x3fe3fa4504ac801c, 0x3fe40822c367a024
- .quad 0x3fe4160a21f72e2a, 0x3fe423fb2709468a, 0x3fe431f5d950a897, 0x3fe43ffa3f84b9d4
- .quad 0x3fe44e086061892d, 0x3fe45c2042a7d232, 0x3fe46a41ed1d0057, 0x3fe4786d668b3237
- .quad 0x3fe486a2b5c13cd0, 0x3fe494e1e192aed2, 0x3fe4a32af0d7d3de, 0x3fe4b17dea6db7d7
- .quad 0x3fe4bfdad5362a27, 0x3fe4ce41b817c114, 0x3fe4dcb299fddd0d, 0x3fe4eb2d81d8abff
- .quad 0x3fe4f9b2769d2ca7, 0x3fe508417f4531ee, 0x3fe516daa2cf6642, 0x3fe5257de83f4eef
- .quad 0x3fe5342b569d4f82, 0x3fe542e2f4f6ad27, 0x3fe551a4ca5d920f, 0x3fe56070dde910d2
- .quad 0x3fe56f4736b527da, 0x3fe57e27dbe2c4cf, 0x3fe58d12d497c7fd, 0x3fe59c0827ff07cc
- .quad 0x3fe5ab07dd485429, 0x3fe5ba11fba87a03, 0x3fe5c9268a5946b7, 0x3fe5d84590998b93
- .quad 0x3fe5e76f15ad2148, 0x3fe5f6a320dceb71, 0x3fe605e1b976dc09, 0x3fe6152ae6cdf6f4
- .quad 0x3fe6247eb03a5585, 0x3fe633dd1d1929fd, 0x3fe6434634ccc320, 0x3fe652b9febc8fb7
- .quad 0x3fe6623882552225, 0x3fe671c1c70833f6, 0x3fe68155d44ca973, 0x3fe690f4b19e9538
- .quad 0x3fe6a09e667f3bcd, 0x3fe6b052fa75173e, 0x3fe6c012750bdabf, 0x3fe6cfdcddd47645
- .quad 0x3fe6dfb23c651a2f, 0x3fe6ef9298593ae5, 0x3fe6ff7df9519484, 0x3fe70f7466f42e87
- .quad 0x3fe71f75e8ec5f74, 0x3fe72f8286ead08a, 0x3fe73f9a48a58174, 0x3fe74fbd35d7cbfd
- .quad 0x3fe75feb564267c9, 0x3fe77024b1ab6e09, 0x3fe780694fde5d3f, 0x3fe790b938ac1cf6
- .quad 0x3fe7a11473eb0187, 0x3fe7b17b0976cfdb, 0x3fe7c1ed0130c132, 0x3fe7d26a62ff86f0
- .quad 0x3fe7e2f336cf4e62, 0x3fe7f3878491c491, 0x3fe80427543e1a12, 0x3fe814d2add106d9
- .quad 0x3fe82589994cce13, 0x3fe8364c1eb941f7, 0x3fe8471a4623c7ad, 0x3fe857f4179f5b21
- .quad 0x3fe868d99b4492ed, 0x3fe879cad931a436, 0x3fe88ac7d98a6699, 0x3fe89bd0a478580f
- .quad 0x3fe8ace5422aa0db, 0x3fe8be05bad61778, 0x3fe8cf3216b5448c, 0x3fe8e06a5e0866d9
- .quad 0x3fe8f1ae99157736, 0x3fe902fed0282c8a, 0x3fe9145b0b91ffc6, 0x3fe925c353aa2fe2
- .quad 0x3fe93737b0cdc5e5, 0x3fe948b82b5f98e5, 0x3fe95a44cbc8520f, 0x3fe96bdd9a7670b3
- .quad 0x3fe97d829fde4e50, 0x3fe98f33e47a22a2, 0x3fe9a0f170ca07ba, 0x3fe9b2bb4d53fe0d
- .quad 0x3fe9c49182a3f090, 0x3fe9d674194bb8d5, 0x3fe9e86319e32323, 0x3fe9fa5e8d07f29e
- .quad 0x3fea0c667b5de565, 0x3fea1e7aed8eb8bb, 0x3fea309bec4a2d33, 0x3fea42c980460ad8
- .quad 0x3fea5503b23e255d, 0x3fea674a8af46052, 0x3fea799e1330b358, 0x3fea8bfe53c12e59
- .quad 0x3fea9e6b5579fdbf, 0x3feab0e521356eba, 0x3feac36bbfd3f37a, 0x3fead5ff3a3c2774
- .quad 0x3feae89f995ad3ad, 0x3feafb4ce622f2ff, 0x3feb0e07298db666, 0x3feb20ce6c9a8952
- .quad 0x3feb33a2b84f15fb, 0x3feb468415b749b1, 0x3feb59728de5593a, 0x3feb6c6e29f1c52a
- .quad 0x3feb7f76f2fb5e47, 0x3feb928cf22749e4, 0x3feba5b030a1064a, 0x3febb8e0b79a6f1f
- .quad 0x3febcc1e904bc1d2, 0x3febdf69c3f3a207, 0x3febf2c25bd71e09, 0x3fec06286141b33d
- .quad 0x3fec199bdd85529c, 0x3fec2d1cd9fa652c, 0x3fec40ab5fffd07a, 0x3fec544778fafb22
- .quad 0x3fec67f12e57d14b, 0x3fec7ba88988c933, 0x3fec8f6d9406e7b5, 0x3feca3405751c4db
- .quad 0x3fecb720dcef9069, 0x3feccb0f2e6d1675, 0x3fecdf0b555dc3fa, 0x3fecf3155b5bab74
- .quad 0x3fed072d4a07897c, 0x3fed1b532b08c968, 0x3fed2f87080d89f2, 0x3fed43c8eacaa1d6
- .quad 0x3fed5818dcfba487, 0x3fed6c76e862e6d3, 0x3fed80e316c98398, 0x3fed955d71ff6075
- .quad 0x3feda9e603db3285, 0x3fedbe7cd63a8315, 0x3fedd321f301b460, 0x3fede7d5641c0658
- .quad 0x3fedfc97337b9b5f, 0x3fee11676b197d17, 0x3fee264614f5a129, 0x3fee3b333b16ee12
- .quad 0x3fee502ee78b3ff6, 0x3fee653924676d76, 0x3fee7a51fbc74c83, 0x3fee8f7977cdb740
- .quad 0x3feea4afa2a490da, 0x3feeb9f4867cca6e, 0x3feecf482d8e67f1, 0x3feee4aaa2188510
- .quad 0x3feefa1bee615a27, 0x3fef0f9c1cb6412a, 0x3fef252b376bba97, 0x3fef3ac948dd7274
- .quad 0x3fef50765b6e4540, 0x3fef6632798844f8, 0x3fef7bfdad9cbe14, 0x3fef91d802243c89
- .quad 0x3fefa7c1819e90d8, 0x3fefbdba3692d514, 0x3fefd3c22b8f71f1, 0x3fefe9d96b2a23d9
- .quad 0x3ff0000000000000
- .align 16
- .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe /* _dbInvLn2 = 1/log(2) */
- .align 16
- .quad 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000 /* _dbLn2hi = log(2) hi*/
- .align 16
- .quad 0xBDAC610CA86C3899, 0xBDAC610CA86C3899 /* _dbLn2lo = log(2) lo*/
- .align 16
- .quad 0x42B8000000000000, 0x42B8000000000000 /* _dbShifter */
- .align 16
- .long 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF /* _iIndexMask */
- .align 16
- .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */
- .align 16
- .quad 0x3FC5555570813E14, 0x3FC5555570813E14 /* _dPC3 */
- .align 16
- .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */
- .align 16
- .long 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iMaxIndex */
- .align 16
- .quad 0x7ff0000000000000, 0x7ff0000000000000 /* _lExpMask */
- .align 16
- .quad 0x8000000000000000, 0x8000000000000000 /* _dSign*/
- .align 16
- .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp*/
- .align 16
- .type __svml_dcosh_data_internal,@object
- .size __svml_dcosh_data_internal,.-__svml_dcosh_data_internal
+ /* _dbT */
+ .quad 0x3fe0000000000000, 0x3fe00b1afa5abcbf, 0x3fe0163da9fb3335, 0x3fe02168143b0281
+ .quad 0x3fe02c9a3e778061, 0x3fe037d42e11bbcc, 0x3fe04315e86e7f85, 0x3fe04e5f72f654b1
+ .quad 0x3fe059b0d3158574, 0x3fe0650a0e3c1f89, 0x3fe0706b29ddf6de, 0x3fe07bd42b72a836
+ .quad 0x3fe0874518759bc8, 0x3fe092bdf66607e0, 0x3fe09e3ecac6f383, 0x3fe0a9c79b1f3919
+ .quad 0x3fe0b5586cf9890f, 0x3fe0c0f145e46c85, 0x3fe0cc922b7247f7, 0x3fe0d83b23395dec
+ .quad 0x3fe0e3ec32d3d1a2, 0x3fe0efa55fdfa9c5, 0x3fe0fb66affed31b, 0x3fe1073028d7233e
+ .quad 0x3fe11301d0125b51, 0x3fe11edbab5e2ab6, 0x3fe12abdc06c31cc, 0x3fe136a814f204ab
+ .quad 0x3fe1429aaea92de0, 0x3fe14e95934f312e, 0x3fe15a98c8a58e51, 0x3fe166a45471c3c2
+ .quad 0x3fe172b83c7d517b, 0x3fe17ed48695bbc0, 0x3fe18af9388c8dea, 0x3fe1972658375d2f
+ .quad 0x3fe1a35beb6fcb75, 0x3fe1af99f8138a1c, 0x3fe1bbe084045cd4, 0x3fe1c82f95281c6b
+ .quad 0x3fe1d4873168b9aa, 0x3fe1e0e75eb44027, 0x3fe1ed5022fcd91d, 0x3fe1f9c18438ce4d
+ .quad 0x3fe2063b88628cd6, 0x3fe212be3578a819, 0x3fe21f49917ddc96, 0x3fe22bdda27912d1
+ .quad 0x3fe2387a6e756238, 0x3fe2451ffb82140a, 0x3fe251ce4fb2a63f, 0x3fe25e85711ece75
+ .quad 0x3fe26b4565e27cdd, 0x3fe2780e341ddf29, 0x3fe284dfe1f56381, 0x3fe291ba7591bb70
+ .quad 0x3fe29e9df51fdee1, 0x3fe2ab8a66d10f13, 0x3fe2b87fd0dad990, 0x3fe2c57e39771b2f
+ .quad 0x3fe2d285a6e4030b, 0x3fe2df961f641589, 0x3fe2ecafa93e2f56, 0x3fe2f9d24abd886b
+ .quad 0x3fe306fe0a31b715, 0x3fe31432edeeb2fd, 0x3fe32170fc4cd831, 0x3fe32eb83ba8ea32
+ .quad 0x3fe33c08b26416ff, 0x3fe3496266e3fa2d, 0x3fe356c55f929ff1, 0x3fe36431a2de883b
+ .quad 0x3fe371a7373aa9cb, 0x3fe37f26231e754a, 0x3fe38cae6d05d866, 0x3fe39a401b7140ef
+ .quad 0x3fe3a7db34e59ff7, 0x3fe3b57fbfec6cf4, 0x3fe3c32dc313a8e5, 0x3fe3d0e544ede173
+ .quad 0x3fe3dea64c123422, 0x3fe3ec70df1c5175, 0x3fe3fa4504ac801c, 0x3fe40822c367a024
+ .quad 0x3fe4160a21f72e2a, 0x3fe423fb2709468a, 0x3fe431f5d950a897, 0x3fe43ffa3f84b9d4
+ .quad 0x3fe44e086061892d, 0x3fe45c2042a7d232, 0x3fe46a41ed1d0057, 0x3fe4786d668b3237
+ .quad 0x3fe486a2b5c13cd0, 0x3fe494e1e192aed2, 0x3fe4a32af0d7d3de, 0x3fe4b17dea6db7d7
+ .quad 0x3fe4bfdad5362a27, 0x3fe4ce41b817c114, 0x3fe4dcb299fddd0d, 0x3fe4eb2d81d8abff
+ .quad 0x3fe4f9b2769d2ca7, 0x3fe508417f4531ee, 0x3fe516daa2cf6642, 0x3fe5257de83f4eef
+ .quad 0x3fe5342b569d4f82, 0x3fe542e2f4f6ad27, 0x3fe551a4ca5d920f, 0x3fe56070dde910d2
+ .quad 0x3fe56f4736b527da, 0x3fe57e27dbe2c4cf, 0x3fe58d12d497c7fd, 0x3fe59c0827ff07cc
+ .quad 0x3fe5ab07dd485429, 0x3fe5ba11fba87a03, 0x3fe5c9268a5946b7, 0x3fe5d84590998b93
+ .quad 0x3fe5e76f15ad2148, 0x3fe5f6a320dceb71, 0x3fe605e1b976dc09, 0x3fe6152ae6cdf6f4
+ .quad 0x3fe6247eb03a5585, 0x3fe633dd1d1929fd, 0x3fe6434634ccc320, 0x3fe652b9febc8fb7
+ .quad 0x3fe6623882552225, 0x3fe671c1c70833f6, 0x3fe68155d44ca973, 0x3fe690f4b19e9538
+ .quad 0x3fe6a09e667f3bcd, 0x3fe6b052fa75173e, 0x3fe6c012750bdabf, 0x3fe6cfdcddd47645
+ .quad 0x3fe6dfb23c651a2f, 0x3fe6ef9298593ae5, 0x3fe6ff7df9519484, 0x3fe70f7466f42e87
+ .quad 0x3fe71f75e8ec5f74, 0x3fe72f8286ead08a, 0x3fe73f9a48a58174, 0x3fe74fbd35d7cbfd
+ .quad 0x3fe75feb564267c9, 0x3fe77024b1ab6e09, 0x3fe780694fde5d3f, 0x3fe790b938ac1cf6
+ .quad 0x3fe7a11473eb0187, 0x3fe7b17b0976cfdb, 0x3fe7c1ed0130c132, 0x3fe7d26a62ff86f0
+ .quad 0x3fe7e2f336cf4e62, 0x3fe7f3878491c491, 0x3fe80427543e1a12, 0x3fe814d2add106d9
+ .quad 0x3fe82589994cce13, 0x3fe8364c1eb941f7, 0x3fe8471a4623c7ad, 0x3fe857f4179f5b21
+ .quad 0x3fe868d99b4492ed, 0x3fe879cad931a436, 0x3fe88ac7d98a6699, 0x3fe89bd0a478580f
+ .quad 0x3fe8ace5422aa0db, 0x3fe8be05bad61778, 0x3fe8cf3216b5448c, 0x3fe8e06a5e0866d9
+ .quad 0x3fe8f1ae99157736, 0x3fe902fed0282c8a, 0x3fe9145b0b91ffc6, 0x3fe925c353aa2fe2
+ .quad 0x3fe93737b0cdc5e5, 0x3fe948b82b5f98e5, 0x3fe95a44cbc8520f, 0x3fe96bdd9a7670b3
+ .quad 0x3fe97d829fde4e50, 0x3fe98f33e47a22a2, 0x3fe9a0f170ca07ba, 0x3fe9b2bb4d53fe0d
+ .quad 0x3fe9c49182a3f090, 0x3fe9d674194bb8d5, 0x3fe9e86319e32323, 0x3fe9fa5e8d07f29e
+ .quad 0x3fea0c667b5de565, 0x3fea1e7aed8eb8bb, 0x3fea309bec4a2d33, 0x3fea42c980460ad8
+ .quad 0x3fea5503b23e255d, 0x3fea674a8af46052, 0x3fea799e1330b358, 0x3fea8bfe53c12e59
+ .quad 0x3fea9e6b5579fdbf, 0x3feab0e521356eba, 0x3feac36bbfd3f37a, 0x3fead5ff3a3c2774
+ .quad 0x3feae89f995ad3ad, 0x3feafb4ce622f2ff, 0x3feb0e07298db666, 0x3feb20ce6c9a8952
+ .quad 0x3feb33a2b84f15fb, 0x3feb468415b749b1, 0x3feb59728de5593a, 0x3feb6c6e29f1c52a
+ .quad 0x3feb7f76f2fb5e47, 0x3feb928cf22749e4, 0x3feba5b030a1064a, 0x3febb8e0b79a6f1f
+ .quad 0x3febcc1e904bc1d2, 0x3febdf69c3f3a207, 0x3febf2c25bd71e09, 0x3fec06286141b33d
+ .quad 0x3fec199bdd85529c, 0x3fec2d1cd9fa652c, 0x3fec40ab5fffd07a, 0x3fec544778fafb22
+ .quad 0x3fec67f12e57d14b, 0x3fec7ba88988c933, 0x3fec8f6d9406e7b5, 0x3feca3405751c4db
+ .quad 0x3fecb720dcef9069, 0x3feccb0f2e6d1675, 0x3fecdf0b555dc3fa, 0x3fecf3155b5bab74
+ .quad 0x3fed072d4a07897c, 0x3fed1b532b08c968, 0x3fed2f87080d89f2, 0x3fed43c8eacaa1d6
+ .quad 0x3fed5818dcfba487, 0x3fed6c76e862e6d3, 0x3fed80e316c98398, 0x3fed955d71ff6075
+ .quad 0x3feda9e603db3285, 0x3fedbe7cd63a8315, 0x3fedd321f301b460, 0x3fede7d5641c0658
+ .quad 0x3fedfc97337b9b5f, 0x3fee11676b197d17, 0x3fee264614f5a129, 0x3fee3b333b16ee12
+ .quad 0x3fee502ee78b3ff6, 0x3fee653924676d76, 0x3fee7a51fbc74c83, 0x3fee8f7977cdb740
+ .quad 0x3feea4afa2a490da, 0x3feeb9f4867cca6e, 0x3feecf482d8e67f1, 0x3feee4aaa2188510
+ .quad 0x3feefa1bee615a27, 0x3fef0f9c1cb6412a, 0x3fef252b376bba97, 0x3fef3ac948dd7274
+ .quad 0x3fef50765b6e4540, 0x3fef6632798844f8, 0x3fef7bfdad9cbe14, 0x3fef91d802243c89
+ .quad 0x3fefa7c1819e90d8, 0x3fefbdba3692d514, 0x3fefd3c22b8f71f1, 0x3fefe9d96b2a23d9
+ .quad 0x3ff0000000000000
+ .align 16
+ .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe /* _dbInvLn2 = 1/log(2) */
+ .align 16
+ .quad 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000 /* _dbLn2hi = log(2) hi */
+ .align 16
+ .quad 0xBDAC610CA86C3899, 0xBDAC610CA86C3899 /* _dbLn2lo = log(2) lo */
+ .align 16
+ .quad 0x42B8000000000000, 0x42B8000000000000 /* _dbShifter */
+ .align 16
+ .long 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF /* _iIndexMask */
+ .align 16
+ .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */
+ .align 16
+ .quad 0x3FC5555570813E14, 0x3FC5555570813E14 /* _dPC3 */
+ .align 16
+ .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */
+ .align 16
+ .long 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iMaxIndex */
+ .align 16
+ .quad 0x7ff0000000000000, 0x7ff0000000000000 /* _lExpMask */
+ .align 16
+ .quad 0x8000000000000000, 0x8000000000000000 /* _dSign */
+ .align 16
+ .long 0x40861d99, 0x40861d99, 0x40861d99, 0x40861d99 /* _iDomainRange 0x40861d9ac12a3e85 =(1021*2^K-0.5)*log(2)/2^K -needed for quick exp */
+ .align 16
+ .type __svml_dcosh_data_internal, @object
+ .size __svml_dcosh_data_internal, .-__svml_dcosh_data_internal
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 053/126] x86_64: Fix svml_d_cosh4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (51 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 052/126] x86_64: Fix svml_d_cosh2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 054/126] x86_64: Fix svml_d_cosh8_core_avx512.S " Sunil K Pandey
` (72 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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<<K)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 _iMaxIndex[8][1]; //(1<<K)
- __declspec(align(32)) VUINT32 _lExpMask[4][2];
- __declspec(align(32)) VUINT32 _dSign[4][2]; //0x8000000000000000
- __declspec(align(32)) VUINT32 _iDomainRange[8][1];
+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<<K)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 _iMaxIndex[8][1]; // (1<<K)
+ __declspec(align(32)) VUINT32 _lExpMask[4][2];
+ __declspec(align(32)) VUINT32 _dSign[4][2]; // 0x8000000000000000
+ __declspec(align(32)) VUINT32 _iDomainRange[8][1];
} __svml_dcosh_data_internal;
#endif
__svml_dcosh_data_internal:
- /*== _dbT ==*/
- .quad 0x3fe0000000000000, 0x3fe00b1afa5abcbf, 0x3fe0163da9fb3335, 0x3fe02168143b0281
- .quad 0x3fe02c9a3e778061, 0x3fe037d42e11bbcc, 0x3fe04315e86e7f85, 0x3fe04e5f72f654b1
- .quad 0x3fe059b0d3158574, 0x3fe0650a0e3c1f89, 0x3fe0706b29ddf6de, 0x3fe07bd42b72a836
- .quad 0x3fe0874518759bc8, 0x3fe092bdf66607e0, 0x3fe09e3ecac6f383, 0x3fe0a9c79b1f3919
- .quad 0x3fe0b5586cf9890f, 0x3fe0c0f145e46c85, 0x3fe0cc922b7247f7, 0x3fe0d83b23395dec
- .quad 0x3fe0e3ec32d3d1a2, 0x3fe0efa55fdfa9c5, 0x3fe0fb66affed31b, 0x3fe1073028d7233e
- .quad 0x3fe11301d0125b51, 0x3fe11edbab5e2ab6, 0x3fe12abdc06c31cc, 0x3fe136a814f204ab
- .quad 0x3fe1429aaea92de0, 0x3fe14e95934f312e, 0x3fe15a98c8a58e51, 0x3fe166a45471c3c2
- .quad 0x3fe172b83c7d517b, 0x3fe17ed48695bbc0, 0x3fe18af9388c8dea, 0x3fe1972658375d2f
- .quad 0x3fe1a35beb6fcb75, 0x3fe1af99f8138a1c, 0x3fe1bbe084045cd4, 0x3fe1c82f95281c6b
- .quad 0x3fe1d4873168b9aa, 0x3fe1e0e75eb44027, 0x3fe1ed5022fcd91d, 0x3fe1f9c18438ce4d
- .quad 0x3fe2063b88628cd6, 0x3fe212be3578a819, 0x3fe21f49917ddc96, 0x3fe22bdda27912d1
- .quad 0x3fe2387a6e756238, 0x3fe2451ffb82140a, 0x3fe251ce4fb2a63f, 0x3fe25e85711ece75
- .quad 0x3fe26b4565e27cdd, 0x3fe2780e341ddf29, 0x3fe284dfe1f56381, 0x3fe291ba7591bb70
- .quad 0x3fe29e9df51fdee1, 0x3fe2ab8a66d10f13, 0x3fe2b87fd0dad990, 0x3fe2c57e39771b2f
- .quad 0x3fe2d285a6e4030b, 0x3fe2df961f641589, 0x3fe2ecafa93e2f56, 0x3fe2f9d24abd886b
- .quad 0x3fe306fe0a31b715, 0x3fe31432edeeb2fd, 0x3fe32170fc4cd831, 0x3fe32eb83ba8ea32
- .quad 0x3fe33c08b26416ff, 0x3fe3496266e3fa2d, 0x3fe356c55f929ff1, 0x3fe36431a2de883b
- .quad 0x3fe371a7373aa9cb, 0x3fe37f26231e754a, 0x3fe38cae6d05d866, 0x3fe39a401b7140ef
- .quad 0x3fe3a7db34e59ff7, 0x3fe3b57fbfec6cf4, 0x3fe3c32dc313a8e5, 0x3fe3d0e544ede173
- .quad 0x3fe3dea64c123422, 0x3fe3ec70df1c5175, 0x3fe3fa4504ac801c, 0x3fe40822c367a024
- .quad 0x3fe4160a21f72e2a, 0x3fe423fb2709468a, 0x3fe431f5d950a897, 0x3fe43ffa3f84b9d4
- .quad 0x3fe44e086061892d, 0x3fe45c2042a7d232, 0x3fe46a41ed1d0057, 0x3fe4786d668b3237
- .quad 0x3fe486a2b5c13cd0, 0x3fe494e1e192aed2, 0x3fe4a32af0d7d3de, 0x3fe4b17dea6db7d7
- .quad 0x3fe4bfdad5362a27, 0x3fe4ce41b817c114, 0x3fe4dcb299fddd0d, 0x3fe4eb2d81d8abff
- .quad 0x3fe4f9b2769d2ca7, 0x3fe508417f4531ee, 0x3fe516daa2cf6642, 0x3fe5257de83f4eef
- .quad 0x3fe5342b569d4f82, 0x3fe542e2f4f6ad27, 0x3fe551a4ca5d920f, 0x3fe56070dde910d2
- .quad 0x3fe56f4736b527da, 0x3fe57e27dbe2c4cf, 0x3fe58d12d497c7fd, 0x3fe59c0827ff07cc
- .quad 0x3fe5ab07dd485429, 0x3fe5ba11fba87a03, 0x3fe5c9268a5946b7, 0x3fe5d84590998b93
- .quad 0x3fe5e76f15ad2148, 0x3fe5f6a320dceb71, 0x3fe605e1b976dc09, 0x3fe6152ae6cdf6f4
- .quad 0x3fe6247eb03a5585, 0x3fe633dd1d1929fd, 0x3fe6434634ccc320, 0x3fe652b9febc8fb7
- .quad 0x3fe6623882552225, 0x3fe671c1c70833f6, 0x3fe68155d44ca973, 0x3fe690f4b19e9538
- .quad 0x3fe6a09e667f3bcd, 0x3fe6b052fa75173e, 0x3fe6c012750bdabf, 0x3fe6cfdcddd47645
- .quad 0x3fe6dfb23c651a2f, 0x3fe6ef9298593ae5, 0x3fe6ff7df9519484, 0x3fe70f7466f42e87
- .quad 0x3fe71f75e8ec5f74, 0x3fe72f8286ead08a, 0x3fe73f9a48a58174, 0x3fe74fbd35d7cbfd
- .quad 0x3fe75feb564267c9, 0x3fe77024b1ab6e09, 0x3fe780694fde5d3f, 0x3fe790b938ac1cf6
- .quad 0x3fe7a11473eb0187, 0x3fe7b17b0976cfdb, 0x3fe7c1ed0130c132, 0x3fe7d26a62ff86f0
- .quad 0x3fe7e2f336cf4e62, 0x3fe7f3878491c491, 0x3fe80427543e1a12, 0x3fe814d2add106d9
- .quad 0x3fe82589994cce13, 0x3fe8364c1eb941f7, 0x3fe8471a4623c7ad, 0x3fe857f4179f5b21
- .quad 0x3fe868d99b4492ed, 0x3fe879cad931a436, 0x3fe88ac7d98a6699, 0x3fe89bd0a478580f
- .quad 0x3fe8ace5422aa0db, 0x3fe8be05bad61778, 0x3fe8cf3216b5448c, 0x3fe8e06a5e0866d9
- .quad 0x3fe8f1ae99157736, 0x3fe902fed0282c8a, 0x3fe9145b0b91ffc6, 0x3fe925c353aa2fe2
- .quad 0x3fe93737b0cdc5e5, 0x3fe948b82b5f98e5, 0x3fe95a44cbc8520f, 0x3fe96bdd9a7670b3
- .quad 0x3fe97d829fde4e50, 0x3fe98f33e47a22a2, 0x3fe9a0f170ca07ba, 0x3fe9b2bb4d53fe0d
- .quad 0x3fe9c49182a3f090, 0x3fe9d674194bb8d5, 0x3fe9e86319e32323, 0x3fe9fa5e8d07f29e
- .quad 0x3fea0c667b5de565, 0x3fea1e7aed8eb8bb, 0x3fea309bec4a2d33, 0x3fea42c980460ad8
- .quad 0x3fea5503b23e255d, 0x3fea674a8af46052, 0x3fea799e1330b358, 0x3fea8bfe53c12e59
- .quad 0x3fea9e6b5579fdbf, 0x3feab0e521356eba, 0x3feac36bbfd3f37a, 0x3fead5ff3a3c2774
- .quad 0x3feae89f995ad3ad, 0x3feafb4ce622f2ff, 0x3feb0e07298db666, 0x3feb20ce6c9a8952
- .quad 0x3feb33a2b84f15fb, 0x3feb468415b749b1, 0x3feb59728de5593a, 0x3feb6c6e29f1c52a
- .quad 0x3feb7f76f2fb5e47, 0x3feb928cf22749e4, 0x3feba5b030a1064a, 0x3febb8e0b79a6f1f
- .quad 0x3febcc1e904bc1d2, 0x3febdf69c3f3a207, 0x3febf2c25bd71e09, 0x3fec06286141b33d
- .quad 0x3fec199bdd85529c, 0x3fec2d1cd9fa652c, 0x3fec40ab5fffd07a, 0x3fec544778fafb22
- .quad 0x3fec67f12e57d14b, 0x3fec7ba88988c933, 0x3fec8f6d9406e7b5, 0x3feca3405751c4db
- .quad 0x3fecb720dcef9069, 0x3feccb0f2e6d1675, 0x3fecdf0b555dc3fa, 0x3fecf3155b5bab74
- .quad 0x3fed072d4a07897c, 0x3fed1b532b08c968, 0x3fed2f87080d89f2, 0x3fed43c8eacaa1d6
- .quad 0x3fed5818dcfba487, 0x3fed6c76e862e6d3, 0x3fed80e316c98398, 0x3fed955d71ff6075
- .quad 0x3feda9e603db3285, 0x3fedbe7cd63a8315, 0x3fedd321f301b460, 0x3fede7d5641c0658
- .quad 0x3fedfc97337b9b5f, 0x3fee11676b197d17, 0x3fee264614f5a129, 0x3fee3b333b16ee12
- .quad 0x3fee502ee78b3ff6, 0x3fee653924676d76, 0x3fee7a51fbc74c83, 0x3fee8f7977cdb740
- .quad 0x3feea4afa2a490da, 0x3feeb9f4867cca6e, 0x3feecf482d8e67f1, 0x3feee4aaa2188510
- .quad 0x3feefa1bee615a27, 0x3fef0f9c1cb6412a, 0x3fef252b376bba97, 0x3fef3ac948dd7274
- .quad 0x3fef50765b6e4540, 0x3fef6632798844f8, 0x3fef7bfdad9cbe14, 0x3fef91d802243c89
- .quad 0x3fefa7c1819e90d8, 0x3fefbdba3692d514, 0x3fefd3c22b8f71f1, 0x3fefe9d96b2a23d9
- .quad 0x3ff0000000000000
- .align 32
- .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe /* _dbInvLn2 = 1/log(2) */
- .align 32
- .quad 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000 /* _dbLn2hi = log(2) hi*/
- .align 32
- .quad 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899 /* _dbLn2lo = log(2) lo*/
- .align 32
- .quad 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000 /* _dbShifter */
- .align 32
- .long 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF /* _iIndexMask */
- .align 32
- .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */
- .align 32
- .quad 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14 /* _dPC3 */
- .align 32
- .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */
- .align 32
- .long 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iMaxIndex */
- .align 32
- .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 /* _lExpMask */
- .align 32
- .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign*/
- .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
- .type __svml_dcosh_data_internal,@object
- .size __svml_dcosh_data_internal,.-__svml_dcosh_data_internal
+ /* _dbT */
+ .quad 0x3fe0000000000000, 0x3fe00b1afa5abcbf, 0x3fe0163da9fb3335, 0x3fe02168143b0281
+ .quad 0x3fe02c9a3e778061, 0x3fe037d42e11bbcc, 0x3fe04315e86e7f85, 0x3fe04e5f72f654b1
+ .quad 0x3fe059b0d3158574, 0x3fe0650a0e3c1f89, 0x3fe0706b29ddf6de, 0x3fe07bd42b72a836
+ .quad 0x3fe0874518759bc8, 0x3fe092bdf66607e0, 0x3fe09e3ecac6f383, 0x3fe0a9c79b1f3919
+ .quad 0x3fe0b5586cf9890f, 0x3fe0c0f145e46c85, 0x3fe0cc922b7247f7, 0x3fe0d83b23395dec
+ .quad 0x3fe0e3ec32d3d1a2, 0x3fe0efa55fdfa9c5, 0x3fe0fb66affed31b, 0x3fe1073028d7233e
+ .quad 0x3fe11301d0125b51, 0x3fe11edbab5e2ab6, 0x3fe12abdc06c31cc, 0x3fe136a814f204ab
+ .quad 0x3fe1429aaea92de0, 0x3fe14e95934f312e, 0x3fe15a98c8a58e51, 0x3fe166a45471c3c2
+ .quad 0x3fe172b83c7d517b, 0x3fe17ed48695bbc0, 0x3fe18af9388c8dea, 0x3fe1972658375d2f
+ .quad 0x3fe1a35beb6fcb75, 0x3fe1af99f8138a1c, 0x3fe1bbe084045cd4, 0x3fe1c82f95281c6b
+ .quad 0x3fe1d4873168b9aa, 0x3fe1e0e75eb44027, 0x3fe1ed5022fcd91d, 0x3fe1f9c18438ce4d
+ .quad 0x3fe2063b88628cd6, 0x3fe212be3578a819, 0x3fe21f49917ddc96, 0x3fe22bdda27912d1
+ .quad 0x3fe2387a6e756238, 0x3fe2451ffb82140a, 0x3fe251ce4fb2a63f, 0x3fe25e85711ece75
+ .quad 0x3fe26b4565e27cdd, 0x3fe2780e341ddf29, 0x3fe284dfe1f56381, 0x3fe291ba7591bb70
+ .quad 0x3fe29e9df51fdee1, 0x3fe2ab8a66d10f13, 0x3fe2b87fd0dad990, 0x3fe2c57e39771b2f
+ .quad 0x3fe2d285a6e4030b, 0x3fe2df961f641589, 0x3fe2ecafa93e2f56, 0x3fe2f9d24abd886b
+ .quad 0x3fe306fe0a31b715, 0x3fe31432edeeb2fd, 0x3fe32170fc4cd831, 0x3fe32eb83ba8ea32
+ .quad 0x3fe33c08b26416ff, 0x3fe3496266e3fa2d, 0x3fe356c55f929ff1, 0x3fe36431a2de883b
+ .quad 0x3fe371a7373aa9cb, 0x3fe37f26231e754a, 0x3fe38cae6d05d866, 0x3fe39a401b7140ef
+ .quad 0x3fe3a7db34e59ff7, 0x3fe3b57fbfec6cf4, 0x3fe3c32dc313a8e5, 0x3fe3d0e544ede173
+ .quad 0x3fe3dea64c123422, 0x3fe3ec70df1c5175, 0x3fe3fa4504ac801c, 0x3fe40822c367a024
+ .quad 0x3fe4160a21f72e2a, 0x3fe423fb2709468a, 0x3fe431f5d950a897, 0x3fe43ffa3f84b9d4
+ .quad 0x3fe44e086061892d, 0x3fe45c2042a7d232, 0x3fe46a41ed1d0057, 0x3fe4786d668b3237
+ .quad 0x3fe486a2b5c13cd0, 0x3fe494e1e192aed2, 0x3fe4a32af0d7d3de, 0x3fe4b17dea6db7d7
+ .quad 0x3fe4bfdad5362a27, 0x3fe4ce41b817c114, 0x3fe4dcb299fddd0d, 0x3fe4eb2d81d8abff
+ .quad 0x3fe4f9b2769d2ca7, 0x3fe508417f4531ee, 0x3fe516daa2cf6642, 0x3fe5257de83f4eef
+ .quad 0x3fe5342b569d4f82, 0x3fe542e2f4f6ad27, 0x3fe551a4ca5d920f, 0x3fe56070dde910d2
+ .quad 0x3fe56f4736b527da, 0x3fe57e27dbe2c4cf, 0x3fe58d12d497c7fd, 0x3fe59c0827ff07cc
+ .quad 0x3fe5ab07dd485429, 0x3fe5ba11fba87a03, 0x3fe5c9268a5946b7, 0x3fe5d84590998b93
+ .quad 0x3fe5e76f15ad2148, 0x3fe5f6a320dceb71, 0x3fe605e1b976dc09, 0x3fe6152ae6cdf6f4
+ .quad 0x3fe6247eb03a5585, 0x3fe633dd1d1929fd, 0x3fe6434634ccc320, 0x3fe652b9febc8fb7
+ .quad 0x3fe6623882552225, 0x3fe671c1c70833f6, 0x3fe68155d44ca973, 0x3fe690f4b19e9538
+ .quad 0x3fe6a09e667f3bcd, 0x3fe6b052fa75173e, 0x3fe6c012750bdabf, 0x3fe6cfdcddd47645
+ .quad 0x3fe6dfb23c651a2f, 0x3fe6ef9298593ae5, 0x3fe6ff7df9519484, 0x3fe70f7466f42e87
+ .quad 0x3fe71f75e8ec5f74, 0x3fe72f8286ead08a, 0x3fe73f9a48a58174, 0x3fe74fbd35d7cbfd
+ .quad 0x3fe75feb564267c9, 0x3fe77024b1ab6e09, 0x3fe780694fde5d3f, 0x3fe790b938ac1cf6
+ .quad 0x3fe7a11473eb0187, 0x3fe7b17b0976cfdb, 0x3fe7c1ed0130c132, 0x3fe7d26a62ff86f0
+ .quad 0x3fe7e2f336cf4e62, 0x3fe7f3878491c491, 0x3fe80427543e1a12, 0x3fe814d2add106d9
+ .quad 0x3fe82589994cce13, 0x3fe8364c1eb941f7, 0x3fe8471a4623c7ad, 0x3fe857f4179f5b21
+ .quad 0x3fe868d99b4492ed, 0x3fe879cad931a436, 0x3fe88ac7d98a6699, 0x3fe89bd0a478580f
+ .quad 0x3fe8ace5422aa0db, 0x3fe8be05bad61778, 0x3fe8cf3216b5448c, 0x3fe8e06a5e0866d9
+ .quad 0x3fe8f1ae99157736, 0x3fe902fed0282c8a, 0x3fe9145b0b91ffc6, 0x3fe925c353aa2fe2
+ .quad 0x3fe93737b0cdc5e5, 0x3fe948b82b5f98e5, 0x3fe95a44cbc8520f, 0x3fe96bdd9a7670b3
+ .quad 0x3fe97d829fde4e50, 0x3fe98f33e47a22a2, 0x3fe9a0f170ca07ba, 0x3fe9b2bb4d53fe0d
+ .quad 0x3fe9c49182a3f090, 0x3fe9d674194bb8d5, 0x3fe9e86319e32323, 0x3fe9fa5e8d07f29e
+ .quad 0x3fea0c667b5de565, 0x3fea1e7aed8eb8bb, 0x3fea309bec4a2d33, 0x3fea42c980460ad8
+ .quad 0x3fea5503b23e255d, 0x3fea674a8af46052, 0x3fea799e1330b358, 0x3fea8bfe53c12e59
+ .quad 0x3fea9e6b5579fdbf, 0x3feab0e521356eba, 0x3feac36bbfd3f37a, 0x3fead5ff3a3c2774
+ .quad 0x3feae89f995ad3ad, 0x3feafb4ce622f2ff, 0x3feb0e07298db666, 0x3feb20ce6c9a8952
+ .quad 0x3feb33a2b84f15fb, 0x3feb468415b749b1, 0x3feb59728de5593a, 0x3feb6c6e29f1c52a
+ .quad 0x3feb7f76f2fb5e47, 0x3feb928cf22749e4, 0x3feba5b030a1064a, 0x3febb8e0b79a6f1f
+ .quad 0x3febcc1e904bc1d2, 0x3febdf69c3f3a207, 0x3febf2c25bd71e09, 0x3fec06286141b33d
+ .quad 0x3fec199bdd85529c, 0x3fec2d1cd9fa652c, 0x3fec40ab5fffd07a, 0x3fec544778fafb22
+ .quad 0x3fec67f12e57d14b, 0x3fec7ba88988c933, 0x3fec8f6d9406e7b5, 0x3feca3405751c4db
+ .quad 0x3fecb720dcef9069, 0x3feccb0f2e6d1675, 0x3fecdf0b555dc3fa, 0x3fecf3155b5bab74
+ .quad 0x3fed072d4a07897c, 0x3fed1b532b08c968, 0x3fed2f87080d89f2, 0x3fed43c8eacaa1d6
+ .quad 0x3fed5818dcfba487, 0x3fed6c76e862e6d3, 0x3fed80e316c98398, 0x3fed955d71ff6075
+ .quad 0x3feda9e603db3285, 0x3fedbe7cd63a8315, 0x3fedd321f301b460, 0x3fede7d5641c0658
+ .quad 0x3fedfc97337b9b5f, 0x3fee11676b197d17, 0x3fee264614f5a129, 0x3fee3b333b16ee12
+ .quad 0x3fee502ee78b3ff6, 0x3fee653924676d76, 0x3fee7a51fbc74c83, 0x3fee8f7977cdb740
+ .quad 0x3feea4afa2a490da, 0x3feeb9f4867cca6e, 0x3feecf482d8e67f1, 0x3feee4aaa2188510
+ .quad 0x3feefa1bee615a27, 0x3fef0f9c1cb6412a, 0x3fef252b376bba97, 0x3fef3ac948dd7274
+ .quad 0x3fef50765b6e4540, 0x3fef6632798844f8, 0x3fef7bfdad9cbe14, 0x3fef91d802243c89
+ .quad 0x3fefa7c1819e90d8, 0x3fefbdba3692d514, 0x3fefd3c22b8f71f1, 0x3fefe9d96b2a23d9
+ .quad 0x3ff0000000000000
+ .align 32
+ .quad 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe, 0x3ff71547652b82fe /* _dbInvLn2 = 1/log(2) */
+ .align 32
+ .quad 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000, 0x3FE62E42FEFC0000 /* _dbLn2hi = log(2) hi */
+ .align 32
+ .quad 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899, 0xBDAC610CA86C3899 /* _dbLn2lo = log(2) lo */
+ .align 32
+ .quad 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000, 0x42B8000000000000 /* _dbShifter */
+ .align 32
+ .long 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF /* _iIndexMask */
+ .align 32
+ .quad 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD, 0x3FDFFFFFFFFFFDBD /* _dPC2 */
+ .align 32
+ .quad 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14, 0x3FC5555570813E14 /* _dPC3 */
+ .align 32
+ .quad 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299, 0x3FA55555CF16D299 /* _dPC4 */
+ .align 32
+ .long 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100, 0x00000100 /* _iMaxIndex */
+ .align 32
+ .quad 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000, 0x7ff0000000000000 /* _lExpMask */
+ .align 32
+ .quad 0x8000000000000000, 0x8000000000000000, 0x8000000000000000, 0x8000000000000000 /* _dSign */
+ .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
+ .type __svml_dcosh_data_internal, @object
+ .size __svml_dcosh_data_internal, .-__svml_dcosh_data_internal
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 054/126] x86_64: Fix svml_d_cosh8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (52 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 053/126] x86_64: Fix svml_d_cosh4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 055/126] x86_64: Fix svml_s_erff16_core_avx512.S " Sunil K Pandey
` (71 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 055/126] x86_64: Fix svml_s_erff16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (53 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 054/126] x86_64: Fix svml_d_cosh8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 056/126] x86_64: Fix svml_s_erff4_core_sse4.S " Sunil K Pandey
` (70 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 056/126] x86_64: Fix svml_s_erff4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (54 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 055/126] x86_64: Fix svml_s_erff16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 057/126] x86_64: Fix svml_s_erff8_core_avx2.S " Sunil K Pandey
` (69 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 057/126] x86_64: Fix svml_s_erff8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (55 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 056/126] x86_64: Fix svml_s_erff4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 058/126] x86_64: Fix svml_d_erf2_core_sse4.S " Sunil K Pandey
` (68 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 058/126] x86_64: Fix svml_d_erf2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (56 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 057/126] x86_64: Fix svml_s_erff8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 059/126] x86_64: Fix svml_d_erf4_core_avx2.S " Sunil K Pandey
` (67 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 059/126] x86_64: Fix svml_d_erf4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (57 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 058/126] x86_64: Fix svml_d_erf2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 060/126] x86_64: Fix svml_d_erf8_core_avx512.S " Sunil K Pandey
` (66 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 060/126] x86_64: Fix svml_d_erf8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (58 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 059/126] x86_64: Fix svml_d_erf4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 061/126] x86_64: Fix svml_s_erfcf16_core_avx512.S " Sunil K Pandey
` (65 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 061/126] x86_64: Fix svml_s_erfcf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (59 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 060/126] x86_64: Fix svml_d_erf8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 062/126] x86_64: Fix svml_s_erfcf4_core_sse4.S " Sunil K Pandey
` (64 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 062/126] x86_64: Fix svml_s_erfcf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (60 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 061/126] x86_64: Fix svml_s_erfcf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 063/126] x86_64: Fix svml_s_erfcf8_core_avx2.S " Sunil K Pandey
` (63 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 063/126] x86_64: Fix svml_s_erfcf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (61 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 062/126] x86_64: Fix svml_s_erfcf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:00 ` [PATCH 064/126] x86_64: Fix svml_d_erfc2_core_sse4.S " Sunil K Pandey
` (62 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 064/126] x86_64: Fix svml_d_erfc2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (62 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 063/126] x86_64: Fix svml_s_erfcf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:00 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 065/126] x86_64: Fix svml_d_erfc4_core_avx2.S " Sunil K Pandey
` (61 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:00 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 065/126] x86_64: Fix svml_d_erfc4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (63 preceding siblings ...)
2022-03-07 15:00 ` [PATCH 064/126] x86_64: Fix svml_d_erfc2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 066/126] x86_64: Fix svml_d_erfc8_core_avx512.S " Sunil K Pandey
` (60 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 066/126] x86_64: Fix svml_d_erfc8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (64 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 065/126] x86_64: Fix svml_d_erfc4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 067/126] x86_64: Fix svml_s_exp10f16_core_avx512.S " Sunil K Pandey
` (59 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 067/126] x86_64: Fix svml_s_exp10f16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (65 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 066/126] x86_64: Fix svml_d_erfc8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 068/126] x86_64: Fix svml_s_exp10f4_core_sse4.S " Sunil K Pandey
` (58 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 068/126] x86_64: Fix svml_s_exp10f4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (66 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 067/126] x86_64: Fix svml_s_exp10f16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 069/126] x86_64: Fix svml_s_exp10f8_core_avx2.S " Sunil K Pandey
` (57 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 069/126] x86_64: Fix svml_s_exp10f8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (67 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 068/126] x86_64: Fix svml_s_exp10f4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 070/126] x86_64: Fix svml_d_exp102_core_sse4.S " Sunil K Pandey
` (56 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 070/126] x86_64: Fix svml_d_exp102_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (68 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 069/126] x86_64: Fix svml_s_exp10f8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 071/126] x86_64: Fix svml_d_exp104_core_avx2.S " Sunil K Pandey
` (55 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 071/126] x86_64: Fix svml_d_exp104_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (69 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 070/126] x86_64: Fix svml_d_exp102_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 072/126] x86_64: Fix svml_d_exp108_core_avx512.S " Sunil K Pandey
` (54 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 072/126] x86_64: Fix svml_d_exp108_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (70 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 071/126] x86_64: Fix svml_d_exp104_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 073/126] x86_64: Fix svml_s_exp2f16_core_avx512.S " Sunil K Pandey
` (53 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 073/126] x86_64: Fix svml_s_exp2f16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (71 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 072/126] x86_64: Fix svml_d_exp108_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 074/126] x86_64: Fix svml_s_exp2f4_core_sse4.S " Sunil K Pandey
` (52 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 074/126] x86_64: Fix svml_s_exp2f4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (72 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 073/126] x86_64: Fix svml_s_exp2f16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 075/126] x86_64: Fix svml_s_exp2f8_core_avx2.S " Sunil K Pandey
` (51 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 075/126] x86_64: Fix svml_s_exp2f8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (73 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 074/126] x86_64: Fix svml_s_exp2f4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 076/126] x86_64: Fix svml_d_exp22_core_sse4.S " Sunil K Pandey
` (50 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 076/126] x86_64: Fix svml_d_exp22_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (74 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 075/126] x86_64: Fix svml_s_exp2f8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 077/126] x86_64: Fix svml_d_exp24_core_avx2.S " Sunil K Pandey
` (49 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 077/126] x86_64: Fix svml_d_exp24_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (75 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 076/126] x86_64: Fix svml_d_exp22_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 078/126] x86_64: Fix svml_d_exp28_core_avx512.S " Sunil K Pandey
` (48 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 078/126] x86_64: Fix svml_d_exp28_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (76 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 077/126] x86_64: Fix svml_d_exp24_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 079/126] x86_64: Fix svml_s_expm1f16_core_avx512.S " Sunil K Pandey
` (47 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 079/126] x86_64: Fix svml_s_expm1f16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (77 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 078/126] x86_64: Fix svml_d_exp28_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 080/126] x86_64: Fix svml_s_expm1f4_core_sse4.S " Sunil K Pandey
` (46 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 080/126] x86_64: Fix svml_s_expm1f4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (78 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 079/126] x86_64: Fix svml_s_expm1f16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 081/126] x86_64: Fix svml_s_expm1f8_core_avx2.S " Sunil K Pandey
` (45 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 081/126] x86_64: Fix svml_s_expm1f8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (79 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 080/126] x86_64: Fix svml_s_expm1f4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 082/126] x86_64: Fix svml_d_expm12_core_sse4.S " Sunil K Pandey
` (44 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 082/126] x86_64: Fix svml_d_expm12_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (80 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 081/126] x86_64: Fix svml_s_expm1f8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 083/126] x86_64: Fix svml_d_expm14_core_avx2.S " Sunil K Pandey
` (43 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 083/126] x86_64: Fix svml_d_expm14_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (81 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 082/126] x86_64: Fix svml_d_expm12_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 084/126] x86_64: Fix svml_d_expm18_core_avx512.S " Sunil K Pandey
` (42 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 084/126] x86_64: Fix svml_d_expm18_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (82 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 083/126] x86_64: Fix svml_d_expm14_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 085/126] x86_64: Fix svml_s_hypotf16_core_avx512.S " Sunil K Pandey
` (41 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 085/126] x86_64: Fix svml_s_hypotf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (83 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 084/126] x86_64: Fix svml_d_expm18_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 086/126] x86_64: Fix svml_s_hypotf4_core_sse4.S " Sunil K Pandey
` (40 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 086/126] x86_64: Fix svml_s_hypotf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (84 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 085/126] x86_64: Fix svml_s_hypotf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 087/126] x86_64: Fix svml_s_hypotf8_core_avx2.S " Sunil K Pandey
` (39 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 087/126] x86_64: Fix svml_s_hypotf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (85 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 086/126] x86_64: Fix svml_s_hypotf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 088/126] x86_64: Fix svml_d_hypot2_core_sse4.S " Sunil K Pandey
` (38 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 088/126] x86_64: Fix svml_d_hypot2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (86 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 087/126] x86_64: Fix svml_s_hypotf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 089/126] x86_64: Fix svml_d_hypot4_core_avx2.S " Sunil K Pandey
` (37 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 089/126] x86_64: Fix svml_d_hypot4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (87 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 088/126] x86_64: Fix svml_d_hypot2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 090/126] x86_64: Fix svml_d_hypot8_core_avx512.S " Sunil K Pandey
` (36 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 090/126] x86_64: Fix svml_d_hypot8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (88 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 089/126] x86_64: Fix svml_d_hypot4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 091/126] x86_64: Fix svml_s_log10f16_core_avx512.S " Sunil K Pandey
` (35 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 091/126] x86_64: Fix svml_s_log10f16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (89 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 090/126] x86_64: Fix svml_d_hypot8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 092/126] x86_64: Fix svml_s_log10f4_core_sse4.S " Sunil K Pandey
` (34 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 092/126] x86_64: Fix svml_s_log10f4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (90 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 091/126] x86_64: Fix svml_s_log10f16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 093/126] x86_64: Fix svml_s_log10f8_core_avx2.S " Sunil K Pandey
` (33 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 093/126] x86_64: Fix svml_s_log10f8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (91 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 092/126] x86_64: Fix svml_s_log10f4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 094/126] x86_64: Fix svml_d_log102_core_sse4.S " Sunil K Pandey
` (32 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 094/126] x86_64: Fix svml_d_log102_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (92 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 093/126] x86_64: Fix svml_s_log10f8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 095/126] x86_64: Fix svml_d_log104_core_avx2.S " Sunil K Pandey
` (31 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 095/126] x86_64: Fix svml_d_log104_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (93 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 094/126] x86_64: Fix svml_d_log102_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 096/126] x86_64: Fix svml_d_log108_core_avx512.S " Sunil K Pandey
` (30 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 096/126] x86_64: Fix svml_d_log108_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (94 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 095/126] x86_64: Fix svml_d_log104_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 097/126] x86_64: Fix svml_s_log1pf16_core_avx512.S " Sunil K Pandey
` (29 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 097/126] x86_64: Fix svml_s_log1pf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (95 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 096/126] x86_64: Fix svml_d_log108_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 098/126] x86_64: Fix svml_s_log1pf4_core_sse4.S " Sunil K Pandey
` (28 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 098/126] x86_64: Fix svml_s_log1pf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (96 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 097/126] x86_64: Fix svml_s_log1pf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 099/126] x86_64: Fix svml_s_log1pf8_core_avx2.S " Sunil K Pandey
` (27 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 099/126] x86_64: Fix svml_s_log1pf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (97 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 098/126] x86_64: Fix svml_s_log1pf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 100/126] x86_64: Fix svml_d_log1p2_core_sse4.S " Sunil K Pandey
` (26 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 100/126] x86_64: Fix svml_d_log1p2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (98 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 099/126] x86_64: Fix svml_s_log1pf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 101/126] x86_64: Fix svml_d_log1p4_core_avx2.S " Sunil K Pandey
` (25 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 101/126] x86_64: Fix svml_d_log1p4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (99 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 100/126] x86_64: Fix svml_d_log1p2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 102/126] x86_64: Fix svml_d_log1p8_core_avx512.S " Sunil K Pandey
` (24 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 102/126] x86_64: Fix svml_d_log1p8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (100 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 101/126] x86_64: Fix svml_d_log1p4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 103/126] x86_64: Fix svml_s_log2f16_core_avx512.S " Sunil K Pandey
` (23 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 103/126] x86_64: Fix svml_s_log2f16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (101 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 102/126] x86_64: Fix svml_d_log1p8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 104/126] x86_64: Fix svml_s_log2f4_core_sse4.S " Sunil K Pandey
` (22 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 104/126] x86_64: Fix svml_s_log2f4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (102 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 103/126] x86_64: Fix svml_s_log2f16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 105/126] x86_64: Fix svml_s_log2f8_core_avx2.S " Sunil K Pandey
` (21 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 105/126] x86_64: Fix svml_s_log2f8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (103 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 104/126] x86_64: Fix svml_s_log2f4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 106/126] x86_64: Fix svml_d_log22_core_sse4.S " Sunil K Pandey
` (20 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 106/126] x86_64: Fix svml_d_log22_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (104 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 105/126] x86_64: Fix svml_s_log2f8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 107/126] x86_64: Fix svml_d_log24_core_avx2.S " Sunil K Pandey
` (19 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 107/126] x86_64: Fix svml_d_log24_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (105 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 106/126] x86_64: Fix svml_d_log22_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 108/126] x86_64: Fix svml_d_log28_core_avx512.S " Sunil K Pandey
` (18 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 108/126] x86_64: Fix svml_d_log28_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (106 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 107/126] x86_64: Fix svml_d_log24_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 109/126] x86_64: Fix svml_s_sinhf16_core_avx512.S " Sunil K Pandey
` (17 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 109/126] x86_64: Fix svml_s_sinhf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (107 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 108/126] x86_64: Fix svml_d_log28_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 110/126] x86_64: Fix svml_s_sinhf4_core_sse4.S " Sunil K Pandey
` (16 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 110/126] x86_64: Fix svml_s_sinhf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (108 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 109/126] x86_64: Fix svml_s_sinhf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 111/126] x86_64: Fix svml_s_sinhf8_core_avx2.S " Sunil K Pandey
` (15 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 111/126] x86_64: Fix svml_s_sinhf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (109 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 110/126] x86_64: Fix svml_s_sinhf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 112/126] x86_64: Fix svml_d_sinh2_core_sse4.S " Sunil K Pandey
` (14 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 112/126] x86_64: Fix svml_d_sinh2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (110 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 111/126] x86_64: Fix svml_s_sinhf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 113/126] x86_64: Fix svml_d_sinh4_core_avx2.S " Sunil K Pandey
` (13 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 113/126] x86_64: Fix svml_d_sinh4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (111 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 112/126] x86_64: Fix svml_d_sinh2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 114/126] x86_64: Fix svml_d_sinh8_core_avx512.S " Sunil K Pandey
` (12 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 114/126] x86_64: Fix svml_d_sinh8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (112 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 113/126] x86_64: Fix svml_d_sinh4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 115/126] x86_64: Fix svml_s_tanf16_core_avx512.S " Sunil K Pandey
` (11 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 115/126] x86_64: Fix svml_s_tanf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (113 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 114/126] x86_64: Fix svml_d_sinh8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 116/126] x86_64: Fix svml_s_tanf4_core_sse4.S " Sunil K Pandey
` (10 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 116/126] x86_64: Fix svml_s_tanf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (114 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 115/126] x86_64: Fix svml_s_tanf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 117/126] x86_64: Fix svml_s_tanf8_core_avx2.S " Sunil K Pandey
` (9 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 117/126] x86_64: Fix svml_s_tanf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (115 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 116/126] x86_64: Fix svml_s_tanf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 118/126] x86_64: Fix svml_d_tan2_core_sse4.S " Sunil K Pandey
` (8 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 118/126] x86_64: Fix svml_d_tan2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (116 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 117/126] x86_64: Fix svml_s_tanf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 119/126] x86_64: Fix svml_d_tan4_core_avx2.S " Sunil K Pandey
` (7 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 119/126] x86_64: Fix svml_d_tan4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (117 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 118/126] x86_64: Fix svml_d_tan2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 120/126] x86_64: Fix svml_d_tan8_core_avx512.S " Sunil K Pandey
` (6 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 120/126] x86_64: Fix svml_d_tan8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (118 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 119/126] x86_64: Fix svml_d_tan4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 121/126] x86_64: Fix svml_s_tanhf16_core_avx512.S " Sunil K Pandey
` (5 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 121/126] x86_64: Fix svml_s_tanhf16_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (119 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 120/126] x86_64: Fix svml_d_tan8_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 122/126] x86_64: Fix svml_s_tanhf4_core_sse4.S " Sunil K Pandey
` (4 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 122/126] x86_64: Fix svml_s_tanhf4_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (120 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 121/126] x86_64: Fix svml_s_tanhf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 123/126] x86_64: Fix svml_s_tanhf8_core_avx2.S " Sunil K Pandey
` (3 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 123/126] x86_64: Fix svml_s_tanhf8_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (121 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 122/126] x86_64: Fix svml_s_tanhf4_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:01 ` [PATCH 124/126] x86_64: Fix svml_d_tanh2_core_sse4.S " Sunil K Pandey
` (2 subsequent siblings)
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 124/126] x86_64: Fix svml_d_tanh2_core_sse4.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (122 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 123/126] x86_64: Fix svml_s_tanhf8_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:01 ` Sunil K Pandey
2022-03-07 15:02 ` [PATCH 125/126] x86_64: Fix svml_d_tanh4_core_avx2.S " Sunil K Pandey
2022-03-07 15:02 ` [PATCH 126/126] x86_64: Fix svml_d_tanh8_core_avx512.S " Sunil K Pandey
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:01 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 125/126] x86_64: Fix svml_d_tanh4_core_avx2.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (123 preceding siblings ...)
2022-03-07 15:01 ` [PATCH 124/126] x86_64: Fix svml_d_tanh2_core_sse4.S " Sunil K Pandey
@ 2022-03-07 15:02 ` Sunil K Pandey
2022-03-07 15:02 ` [PATCH 126/126] x86_64: Fix svml_d_tanh8_core_avx512.S " Sunil K Pandey
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:02 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* [PATCH 126/126] x86_64: Fix svml_d_tanh8_core_avx512.S code formatting
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
` (124 preceding siblings ...)
2022-03-07 15:02 ` [PATCH 125/126] x86_64: Fix svml_d_tanh4_core_avx2.S " Sunil K Pandey
@ 2022-03-07 15:02 ` Sunil K Pandey
125 siblings, 0 replies; 129+ messages in thread
From: Sunil K Pandey @ 2022-03-07 15:02 UTC (permalink / raw)
To: 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 <sysdep.h>
- .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
--
2.34.1
^ permalink raw reply [flat|nested] 129+ messages in thread
* Re: [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S code formatting
2022-03-07 14:59 ` [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S " Sunil K Pandey
@ 2022-03-07 21:50 ` Sunil Pandey
2022-03-07 22:52 ` Noah Goldstein
0 siblings, 1 reply; 129+ messages in thread
From: Sunil Pandey @ 2022-03-07 21:50 UTC (permalink / raw)
To: Sunil K Pandey, Noah Goldstein; +Cc: GNU C Library
On Mon, Mar 7, 2022 at 7:25 AM Sunil K Pandey via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> 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.
Following are revised commit message
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.
8. 1 space between line content and line comment.
9. Space after all commas.
All other patches have the same commit message.
> ---
> .../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 <sysdep.h>
>
> - .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
> --
> 2.34.1
>
Is this patch with revised commit message is OK?
Same question for rest of the patches in this patch set?
^ permalink raw reply [flat|nested] 129+ messages in thread
* Re: [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S code formatting
2022-03-07 21:50 ` Sunil Pandey
@ 2022-03-07 22:52 ` Noah Goldstein
0 siblings, 0 replies; 129+ messages in thread
From: Noah Goldstein @ 2022-03-07 22:52 UTC (permalink / raw)
To: Sunil Pandey; +Cc: GNU C Library
On Mon, Mar 7, 2022 at 3:51 PM Sunil Pandey <skpgkp2@gmail.com> wrote:
>
> On Mon, Mar 7, 2022 at 7:25 AM Sunil K Pandey via Libc-alpha
> <libc-alpha@sourceware.org> wrote:
> >
> > 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.
>
> Following are revised commit message
>
> 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.
> 8. 1 space between line content and line comment.
> 9. Space after all commas.
>
> All other patches have the same commit message.
>
>
> > ---
> > .../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 <sysdep.h>
> >
> > - .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
> > --
> > 2.34.1
> >
>
> Is this patch with revised commit message is OK?
Yes.
> Same question for rest of the patches in this patch set?
LGTM. Verified that there is difference in the generated assembly between any
of the files before/after formatting.
^ permalink raw reply [flat|nested] 129+ messages in thread
end of thread, other threads:[~2022-03-07 22:52 UTC | newest]
Thread overview: 129+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-07 14:59 [PATCH 000/126] x86_64: Fix libmvec assembly code formatting Sunil K Pandey
2022-03-07 14:59 ` [PATCH 001/126] x86_64: Fix svml_s_acosf16_core_avx512.S " Sunil K Pandey
2022-03-07 21:50 ` Sunil Pandey
2022-03-07 22:52 ` Noah Goldstein
2022-03-07 14:59 ` [PATCH 002/126] x86_64: Fix svml_s_acosf4_core_sse4.S " Sunil K Pandey
2022-03-07 14:59 ` [PATCH 003/126] x86_64: Fix svml_s_acosf8_core_avx2.S " Sunil K Pandey
2022-03-07 14:59 ` [PATCH 004/126] x86_64: Fix svml_d_acos2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 005/126] x86_64: Fix svml_d_acos4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 006/126] x86_64: Fix svml_d_acos8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 007/126] x86_64: Fix svml_s_acoshf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 008/126] x86_64: Fix svml_s_acoshf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 009/126] x86_64: Fix svml_s_acoshf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 010/126] x86_64: Fix svml_d_acosh2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 011/126] x86_64: Fix svml_d_acosh4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 012/126] x86_64: Fix svml_d_acosh8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 013/126] x86_64: Fix svml_s_asinf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 014/126] x86_64: Fix svml_s_asinf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 015/126] x86_64: Fix svml_s_asinf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 016/126] x86_64: Fix svml_d_asin2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 017/126] x86_64: Fix svml_d_asin4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 018/126] x86_64: Fix svml_d_asin8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 019/126] x86_64: Fix svml_s_asinhf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 020/126] x86_64: Fix svml_s_asinhf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 021/126] x86_64: Fix svml_s_asinhf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 022/126] x86_64: Fix svml_d_asinh2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 023/126] x86_64: Fix svml_d_asinh4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 024/126] x86_64: Fix svml_d_asinh8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 025/126] x86_64: Fix svml_s_atanf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 026/126] x86_64: Fix svml_s_atanf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 027/126] x86_64: Fix svml_s_atanf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 028/126] x86_64: Fix svml_d_atan2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 029/126] x86_64: Fix svml_d_atan4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 030/126] x86_64: Fix svml_d_atan8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 031/126] x86_64: Fix svml_s_atan2f16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 032/126] x86_64: Fix svml_s_atan2f4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 033/126] x86_64: Fix svml_s_atan2f8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 034/126] x86_64: Fix svml_d_atan22_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 035/126] x86_64: Fix svml_d_atan24_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 036/126] x86_64: Fix svml_d_atan28_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 037/126] x86_64: Fix svml_s_atanhf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 038/126] x86_64: Fix svml_s_atanhf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 039/126] x86_64: Fix svml_s_atanhf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 040/126] x86_64: Fix svml_d_atanh2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 041/126] x86_64: Fix svml_d_atanh4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 042/126] x86_64: Fix svml_d_atanh8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 043/126] x86_64: Fix svml_s_cbrtf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 044/126] x86_64: Fix svml_s_cbrtf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 045/126] x86_64: Fix svml_s_cbrtf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 046/126] x86_64: Fix svml_d_cbrt2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 047/126] x86_64: Fix svml_d_cbrt4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 048/126] x86_64: Fix svml_d_cbrt8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 049/126] x86_64: Fix svml_s_coshf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 050/126] x86_64: Fix svml_s_coshf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 051/126] x86_64: Fix svml_s_coshf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 052/126] x86_64: Fix svml_d_cosh2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 053/126] x86_64: Fix svml_d_cosh4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 054/126] x86_64: Fix svml_d_cosh8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 055/126] x86_64: Fix svml_s_erff16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 056/126] x86_64: Fix svml_s_erff4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 057/126] x86_64: Fix svml_s_erff8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 058/126] x86_64: Fix svml_d_erf2_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 059/126] x86_64: Fix svml_d_erf4_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 060/126] x86_64: Fix svml_d_erf8_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 061/126] x86_64: Fix svml_s_erfcf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 062/126] x86_64: Fix svml_s_erfcf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 063/126] x86_64: Fix svml_s_erfcf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:00 ` [PATCH 064/126] x86_64: Fix svml_d_erfc2_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 065/126] x86_64: Fix svml_d_erfc4_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 066/126] x86_64: Fix svml_d_erfc8_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 067/126] x86_64: Fix svml_s_exp10f16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 068/126] x86_64: Fix svml_s_exp10f4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 069/126] x86_64: Fix svml_s_exp10f8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 070/126] x86_64: Fix svml_d_exp102_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 071/126] x86_64: Fix svml_d_exp104_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 072/126] x86_64: Fix svml_d_exp108_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 073/126] x86_64: Fix svml_s_exp2f16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 074/126] x86_64: Fix svml_s_exp2f4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 075/126] x86_64: Fix svml_s_exp2f8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 076/126] x86_64: Fix svml_d_exp22_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 077/126] x86_64: Fix svml_d_exp24_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 078/126] x86_64: Fix svml_d_exp28_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 079/126] x86_64: Fix svml_s_expm1f16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 080/126] x86_64: Fix svml_s_expm1f4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 081/126] x86_64: Fix svml_s_expm1f8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 082/126] x86_64: Fix svml_d_expm12_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 083/126] x86_64: Fix svml_d_expm14_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 084/126] x86_64: Fix svml_d_expm18_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 085/126] x86_64: Fix svml_s_hypotf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 086/126] x86_64: Fix svml_s_hypotf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 087/126] x86_64: Fix svml_s_hypotf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 088/126] x86_64: Fix svml_d_hypot2_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 089/126] x86_64: Fix svml_d_hypot4_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 090/126] x86_64: Fix svml_d_hypot8_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 091/126] x86_64: Fix svml_s_log10f16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 092/126] x86_64: Fix svml_s_log10f4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 093/126] x86_64: Fix svml_s_log10f8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 094/126] x86_64: Fix svml_d_log102_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 095/126] x86_64: Fix svml_d_log104_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 096/126] x86_64: Fix svml_d_log108_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 097/126] x86_64: Fix svml_s_log1pf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 098/126] x86_64: Fix svml_s_log1pf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 099/126] x86_64: Fix svml_s_log1pf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 100/126] x86_64: Fix svml_d_log1p2_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 101/126] x86_64: Fix svml_d_log1p4_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 102/126] x86_64: Fix svml_d_log1p8_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 103/126] x86_64: Fix svml_s_log2f16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 104/126] x86_64: Fix svml_s_log2f4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 105/126] x86_64: Fix svml_s_log2f8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 106/126] x86_64: Fix svml_d_log22_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 107/126] x86_64: Fix svml_d_log24_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 108/126] x86_64: Fix svml_d_log28_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 109/126] x86_64: Fix svml_s_sinhf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 110/126] x86_64: Fix svml_s_sinhf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 111/126] x86_64: Fix svml_s_sinhf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 112/126] x86_64: Fix svml_d_sinh2_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 113/126] x86_64: Fix svml_d_sinh4_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 114/126] x86_64: Fix svml_d_sinh8_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 115/126] x86_64: Fix svml_s_tanf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 116/126] x86_64: Fix svml_s_tanf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 117/126] x86_64: Fix svml_s_tanf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 118/126] x86_64: Fix svml_d_tan2_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 119/126] x86_64: Fix svml_d_tan4_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 120/126] x86_64: Fix svml_d_tan8_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 121/126] x86_64: Fix svml_s_tanhf16_core_avx512.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 122/126] x86_64: Fix svml_s_tanhf4_core_sse4.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 123/126] x86_64: Fix svml_s_tanhf8_core_avx2.S " Sunil K Pandey
2022-03-07 15:01 ` [PATCH 124/126] x86_64: Fix svml_d_tanh2_core_sse4.S " Sunil K Pandey
2022-03-07 15:02 ` [PATCH 125/126] x86_64: Fix svml_d_tanh4_core_avx2.S " Sunil K Pandey
2022-03-07 15:02 ` [PATCH 126/126] x86_64: Fix svml_d_tanh8_core_avx512.S " Sunil K Pandey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).