public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [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).