public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v2] x86_64: Implement evex512 version of strrchr and wcsrchr
@ 2022-11-03 20:08 Sunil K Pandey
  2022-11-03 22:45 ` Sunil Pandey
  2022-11-03 22:47 ` Noah Goldstein
  0 siblings, 2 replies; 3+ messages in thread
From: Sunil K Pandey @ 2022-11-03 20:08 UTC (permalink / raw)
  To: libc-alpha

Changes from v1:
  Use vec api for register.
  Replace VPCMP with VPCMPEQ
  Restructure and remove 1 unconditional jump.
  Change page cross logic to use sall.

This patch implements following evex512 version of string functions.
evex512 version takes up to 30% less cycle as compared to evex,
depending on length and alignment.

- strrchr function using 512 bit vectors.
- wcsrchr function using 512 bit vectors.

Code size data:

strrchr-evex.o		879 byte
strrchr-evex512.o	601 byte (-32%)

wcsrchr-evex.o		882 byte
wcsrchr-evex512.o	572 byte (-35%)

Placeholder function, not used by any processor at the moment.
---
 sysdeps/x86_64/multiarch/Makefile            |   2 +
 sysdeps/x86_64/multiarch/ifunc-impl-list.c   |  10 +
 sysdeps/x86_64/multiarch/strrchr-evex-base.S | 264 +++++++++++++++++++
 sysdeps/x86_64/multiarch/strrchr-evex512.S   |   8 +
 sysdeps/x86_64/multiarch/wcsrchr-evex512.S   |  13 +
 5 files changed, 297 insertions(+)
 create mode 100644 sysdeps/x86_64/multiarch/strrchr-evex-base.S
 create mode 100644 sysdeps/x86_64/multiarch/strrchr-evex512.S
 create mode 100644 sysdeps/x86_64/multiarch/wcsrchr-evex512.S

diff --git a/sysdeps/x86_64/multiarch/Makefile b/sysdeps/x86_64/multiarch/Makefile
index 597ac9d5e9..066bfa48d9 100644
--- a/sysdeps/x86_64/multiarch/Makefile
+++ b/sysdeps/x86_64/multiarch/Makefile
@@ -114,6 +114,7 @@ sysdep_routines += \
   strrchr-avx2 \
   strrchr-avx2-rtm \
   strrchr-evex \
+  strrchr-evex512 \
   strrchr-sse2 \
   strspn-sse4 \
   strstr-avx512 \
@@ -157,6 +158,7 @@ sysdep_routines += \
   wcsrchr-avx2 \
   wcsrchr-avx2-rtm \
   wcsrchr-evex \
+  wcsrchr-evex512 \
   wcsrchr-sse2 \
   wmemchr-avx2 \
   wmemchr-avx2-rtm \
diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
index c3d75a09f4..7cebee7ec7 100644
--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
@@ -600,6 +600,11 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 				      && CPU_FEATURE_USABLE (BMI1)
 				      && CPU_FEATURE_USABLE (BMI2)),
 				     __strrchr_evex)
+	      X86_IFUNC_IMPL_ADD_V4 (array, i, strrchr,
+				     (CPU_FEATURE_USABLE (AVX512VL)
+				      && CPU_FEATURE_USABLE (AVX512BW)
+				      && CPU_FEATURE_USABLE (BMI2)),
+				     __strrchr_evex512)
 	      X86_IFUNC_IMPL_ADD_V3 (array, i, strrchr,
 				     (CPU_FEATURE_USABLE (AVX2)
 				      && CPU_FEATURE_USABLE (BMI1)
@@ -828,6 +833,11 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 				      && CPU_FEATURE_USABLE (BMI1)
 				      && CPU_FEATURE_USABLE (BMI2)),
 				     __wcsrchr_evex)
+	      X86_IFUNC_IMPL_ADD_V4 (array, i, wcsrchr,
+				     (CPU_FEATURE_USABLE (AVX512VL)
+				      && CPU_FEATURE_USABLE (AVX512BW)
+				      && CPU_FEATURE_USABLE (BMI2)),
+				     __wcsrchr_evex512)
 	      X86_IFUNC_IMPL_ADD_V3 (array, i, wcsrchr,
 				     (CPU_FEATURE_USABLE (AVX2)
 				      && CPU_FEATURE_USABLE (BMI1)
diff --git a/sysdeps/x86_64/multiarch/strrchr-evex-base.S b/sysdeps/x86_64/multiarch/strrchr-evex-base.S
new file mode 100644
index 0000000000..6698fe8b78
--- /dev/null
+++ b/sysdeps/x86_64/multiarch/strrchr-evex-base.S
@@ -0,0 +1,264 @@
+/* Placeholder function, not used by any processor at the moment.
+   Copyright (C) 2022 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* UNUSED. Exists purely as reference implementation.  */
+
+#include <isa-level.h>
+
+#if ISA_SHOULD_BUILD (4)
+
+# include <sysdep.h>
+
+# ifdef USE_AS_WCSRCHR
+#  define CHAR_SIZE	4
+#  define VPBROADCAST   vpbroadcastd
+#  define VPCMPEQ	vpcmpeqd
+#  define VPMINU	vpminud
+#  define VPTESTN	vptestnmd
+# else
+#  define CHAR_SIZE	1
+#  define VPBROADCAST   vpbroadcastb
+#  define VPCMPEQ	vpcmpeqb
+#  define VPMINU	vpminub
+#  define VPTESTN	vptestnmb
+# endif
+
+# define PAGE_SIZE	4096
+# define CHAR_PER_VEC	(VEC_SIZE / CHAR_SIZE)
+
+	.section SECTION(.text), "ax", @progbits
+/* Aligning entry point to 64 byte, provides better performance for
+   one vector length string.  */
+ENTRY_P2ALIGN (STRRCHR, 6)
+
+	/* Broadcast CHAR to VMM(0).  */
+	VPBROADCAST %esi, %VMM(0)
+	movl	%edi, %eax
+	sall	$20, %eax
+	cmpl	$((PAGE_SIZE - VEC_SIZE) << 20), %eax
+	ja	L(page_cross)
+
+L(page_cross_continue):
+	/* Compare [w]char for null, mask bit will be set for match.  */
+	VMOVU	(%rdi), %VMM(1)
+
+	VPTESTN	%VMM(1), %VMM(1), %k1
+	KMOV	%k1, %VRCX
+	test	%VRCX, %VRCX
+	jz	L(align_more)
+
+	VPCMPEQ	%VMM(1), %VMM(0), %k0
+	KMOV	%k0, %VRAX
+	BLSMSK	%VRCX, %VRCX
+	and	%VRCX, %VRAX
+	jz	L(ret)
+
+	BSR	%VRAX, %VRAX
+# ifdef USE_AS_WCSRCHR
+	leaq	(%rdi, %rax, CHAR_SIZE), %rax
+# else
+	add	%rdi, %rax
+# endif
+L(ret):
+	ret
+
+L(vector_x2_end):
+	VPCMPEQ	%VMM(2), %VMM(0), %k2
+	KMOV	%k2, %VRAX
+	BLSMSK	%VRCX, %VRCX
+	and	%VRCX, %VRAX
+	jz	L(vector_x1_ret)
+
+	BSR	%VRAX, %VRAX
+	leaq	(VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
+	ret
+
+	/* Check the first vector at very last to look for match.  */
+L(vector_x1_ret):
+	VPCMPEQ %VMM(1), %VMM(0), %k2
+	KMOV	%k2, %VRAX
+	test	%VRAX, %VRAX
+	jz	L(ret)
+
+	BSR	%VRAX, %VRAX
+# ifdef USE_AS_WCSRCHR
+	leaq	(%rsi, %rax, CHAR_SIZE), %rax
+# else
+	add	%rsi, %rax
+# endif
+	ret
+
+L(align_more):
+	/* Zero r8 to store match result.  */
+	xorl	%r8d, %r8d
+	/* Save pointer of first vector, in case if no match found.  */
+	movq	%rdi, %rsi
+	/* Align pointer to vector size.  */
+	andq	$-VEC_SIZE, %rdi
+	/* Loop unroll 2 times for 2 vector loop.  */
+	VMOVA	(VEC_SIZE)(%rdi), %VMM(2)
+	VPTESTN	%VMM(2), %VMM(2), %k0
+	KMOV	%k0, %VRCX
+	test	%VRCX, %VRCX
+	jnz	L(vector_x2_end)
+
+	/* Save pointer of second vector, in case if no match
+	   found.  */
+	movq	%rdi, %r9
+	/* Align address to VEC_SIZE * 2 for loop.  */
+	andq	$-(VEC_SIZE * 2), %rdi
+
+	.p2align 4,,11
+L(loop):
+	/* 2 vector loop, as it provide better performance as compared
+	   to 4 vector loop.  */
+	VMOVA	(VEC_SIZE * 2)(%rdi), %VMM(3)
+	VMOVA	(VEC_SIZE * 3)(%rdi), %VMM(4)
+	VPCMPEQ	%VMM(3), %VMM(0), %k1
+	VPCMPEQ	%VMM(4), %VMM(0), %k2
+	VPMINU	%VMM(3), %VMM(4), %VMM(5)
+	VPTESTN	%VMM(5), %VMM(5), %k0
+	KOR	%k1, %k2, %k3
+	subq	$-(VEC_SIZE * 2), %rdi
+	/* If k0 and k3 zero, match and end of string not found.  */
+	KORTEST	%k0, %k3
+	jz	L(loop)
+
+	/* If k0 is non zero, end of string found.  */
+	KORTEST %k0, %k0
+	jnz	L(endloop)
+
+	lea	VEC_SIZE(%rdi), %r8
+	/* A match found, it need to be stored in r8 before loop
+	   continue.  */
+	/* Check second vector first.  */
+	KMOV	%k2, %VRDX
+	test	%VRDX, %VRDX
+	jnz	L(loop_vec_x2_match)
+
+	KMOV	%k1, %VRDX
+	/* Match is in first vector, rdi offset need to be substracted
+	  by VEC_SIZE.  */
+	sub	$VEC_SIZE, %r8
+
+	/* If second vector doesn't have match, first vector must
+	   have match.  */
+L(loop_vec_x2_match):
+	BSR	%VRDX, %VRDX
+# ifdef USE_AS_WCSRCHR
+	sal	$2, %rdx
+# endif
+	add	%rdx, %r8
+	jmp	L(loop)
+
+L(endloop):
+	/* Check if string end in first loop vector.  */
+	VPTESTN	%VMM(3), %VMM(3), %k0
+	KMOV	%k0, %VRCX
+	test	%VRCX, %VRCX
+	jnz	L(loop_vector_x1_end)
+
+	/* Check if it has match in first loop vector.  */
+	KMOV	%k1, %VRAX
+	test	%VRAX, %VRAX
+	jz	L(loop_vector_x2_end)
+
+	BSR	%VRAX, %VRAX
+	leaq	(%rdi, %rax, CHAR_SIZE), %r8
+
+	/* String must end in second loop vector.  */
+L(loop_vector_x2_end):
+	VPTESTN	%VMM(4), %VMM(4), %k0
+	KMOV	%k0, %VRCX
+	KMOV	%k2, %VRAX
+	BLSMSK	%VRCX, %VRCX
+	/* Check if it has match in second loop vector.  */
+	and	%VRCX, %VRAX
+	jz	L(check_last_match)
+
+	BSR	%VRAX, %VRAX
+	leaq	(VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
+	ret
+
+	/* String end in first loop vector.  */
+L(loop_vector_x1_end):
+	KMOV	%k1, %VRAX
+	BLSMSK	%VRCX, %VRCX
+	/* Check if it has match in second loop vector.  */
+	and	%VRCX, %VRAX
+	jz	L(check_last_match)
+
+	BSR	%VRAX, %VRAX
+	leaq	(%rdi, %rax, CHAR_SIZE), %rax
+	ret
+
+	/* No match in first and second loop vector.  */
+L(check_last_match):
+	/* Check if any match recorded in r8.  */
+	test	%r8, %r8
+	jz	L(vector_x2_ret)
+	movq	%r8, %rax
+	ret
+
+	/* No match recorded in r8. Check the second saved vector
+	   in begining.  */
+L(vector_x2_ret):
+	VPCMPEQ %VMM(2), %VMM(0), %k2
+	KMOV	%k2, %VRAX
+	test	%VRAX, %VRAX
+	jz	L(vector_x1_ret)
+
+	/* Match found in the second saved vector.  */
+	BSR	%VRAX, %VRAX
+	leaq	(VEC_SIZE)(%r9, %rax, CHAR_SIZE), %rax
+	ret
+
+L(page_cross):
+	mov	%rdi, %rax
+	movl	%edi, %ecx
+
+# ifdef USE_AS_WCSRCHR
+	/* Calculate number of compare result bits to be skipped for
+	   wide string alignment adjustment.  */
+	andl	$(VEC_SIZE - 1), %ecx
+	sarl	$2, %ecx
+# endif
+	/* ecx contains number of w[char] to be skipped as a result
+	   of address alignment.  */
+	andq    $-VEC_SIZE, %rax
+	VMOVA	(%rax), %VMM(1)
+	VPTESTN	%VMM(1), %VMM(1), %k1
+	KMOV	%k1, %VRAX
+	SHR     %cl, %VRAX
+	jz	L(page_cross_continue)
+	VPCMPEQ	%VMM(1), %VMM(0), %k0
+	KMOV	%k0, %VRDX
+	SHR     %cl, %VRDX
+	BLSMSK	%VRAX, %VRAX
+	and	%VRDX, %VRAX
+	jz	L(ret)
+	BSR	%VRAX, %VRAX
+# ifdef USE_AS_WCSRCHR
+	leaq	(%rdi, %rax, CHAR_SIZE), %rax
+# else
+	add	%rdi, %rax
+# endif
+
+	ret
+END (STRRCHR)
+#endif
diff --git a/sysdeps/x86_64/multiarch/strrchr-evex512.S b/sysdeps/x86_64/multiarch/strrchr-evex512.S
new file mode 100644
index 0000000000..7d81e66375
--- /dev/null
+++ b/sysdeps/x86_64/multiarch/strrchr-evex512.S
@@ -0,0 +1,8 @@
+# ifndef STRRCHR
+#  define STRRCHR	__strrchr_evex512
+# endif
+
+#include "x86-evex512-vecs.h"
+#include "reg-macros.h"
+
+#include "strrchr-evex-base.S"
diff --git a/sysdeps/x86_64/multiarch/wcsrchr-evex512.S b/sysdeps/x86_64/multiarch/wcsrchr-evex512.S
new file mode 100644
index 0000000000..f241f63716
--- /dev/null
+++ b/sysdeps/x86_64/multiarch/wcsrchr-evex512.S
@@ -0,0 +1,13 @@
+#ifndef WCSRCHR
+# define WCSRCHR	__wcsrchr_evex512
+#endif
+
+#define STRRCHR	WCSRCHR
+#define USE_AS_WCSRCHR 1
+
+#define USE_WIDE_CHAR 1
+
+#include "x86-evex512-vecs.h"
+#include "reg-macros.h"
+
+#include "strrchr-evex512.S"
-- 
2.38.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] x86_64: Implement evex512 version of strrchr and wcsrchr
  2022-11-03 20:08 [PATCH v2] x86_64: Implement evex512 version of strrchr and wcsrchr Sunil K Pandey
@ 2022-11-03 22:45 ` Sunil Pandey
  2022-11-03 22:47 ` Noah Goldstein
  1 sibling, 0 replies; 3+ messages in thread
From: Sunil Pandey @ 2022-11-03 22:45 UTC (permalink / raw)
  To: Sunil K Pandey; +Cc: libc-alpha

[-- Attachment #1: Type: text/plain, Size: 13420 bytes --]

On Thu, Nov 3, 2022 at 1:08 PM Sunil K Pandey via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> Changes from v1:
>   Use vec api for register.
>   Replace VPCMP with VPCMPEQ
>   Restructure and remove 1 unconditional jump.
>   Change page cross logic to use sall.
>
> This patch implements following evex512 version of string functions.
> evex512 version takes up to 30% less cycle as compared to evex,
> depending on length and alignment.
>
> - strrchr function using 512 bit vectors.
> - wcsrchr function using 512 bit vectors.
>
> Code size data:
>
> strrchr-evex.o          879 byte
> strrchr-evex512.o       601 byte (-32%)
>
> wcsrchr-evex.o          882 byte
> wcsrchr-evex512.o       572 byte (-35%)
>
> Placeholder function, not used by any processor at the moment.
> ---
>  sysdeps/x86_64/multiarch/Makefile            |   2 +
>  sysdeps/x86_64/multiarch/ifunc-impl-list.c   |  10 +
>  sysdeps/x86_64/multiarch/strrchr-evex-base.S | 264 +++++++++++++++++++
>  sysdeps/x86_64/multiarch/strrchr-evex512.S   |   8 +
>  sysdeps/x86_64/multiarch/wcsrchr-evex512.S   |  13 +
>  5 files changed, 297 insertions(+)
>  create mode 100644 sysdeps/x86_64/multiarch/strrchr-evex-base.S
>  create mode 100644 sysdeps/x86_64/multiarch/strrchr-evex512.S
>  create mode 100644 sysdeps/x86_64/multiarch/wcsrchr-evex512.S
>
> diff --git a/sysdeps/x86_64/multiarch/Makefile b/sysdeps/x86_64/multiarch/Makefile
> index 597ac9d5e9..066bfa48d9 100644
> --- a/sysdeps/x86_64/multiarch/Makefile
> +++ b/sysdeps/x86_64/multiarch/Makefile
> @@ -114,6 +114,7 @@ sysdep_routines += \
>    strrchr-avx2 \
>    strrchr-avx2-rtm \
>    strrchr-evex \
> +  strrchr-evex512 \
>    strrchr-sse2 \
>    strspn-sse4 \
>    strstr-avx512 \
> @@ -157,6 +158,7 @@ sysdep_routines += \
>    wcsrchr-avx2 \
>    wcsrchr-avx2-rtm \
>    wcsrchr-evex \
> +  wcsrchr-evex512 \
>    wcsrchr-sse2 \
>    wmemchr-avx2 \
>    wmemchr-avx2-rtm \
> diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
> index c3d75a09f4..7cebee7ec7 100644
> --- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
> +++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
> @@ -600,6 +600,11 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
>                                       && CPU_FEATURE_USABLE (BMI1)
>                                       && CPU_FEATURE_USABLE (BMI2)),
>                                      __strrchr_evex)
> +             X86_IFUNC_IMPL_ADD_V4 (array, i, strrchr,
> +                                    (CPU_FEATURE_USABLE (AVX512VL)
> +                                     && CPU_FEATURE_USABLE (AVX512BW)
> +                                     && CPU_FEATURE_USABLE (BMI2)),
> +                                    __strrchr_evex512)
>               X86_IFUNC_IMPL_ADD_V3 (array, i, strrchr,
>                                      (CPU_FEATURE_USABLE (AVX2)
>                                       && CPU_FEATURE_USABLE (BMI1)
> @@ -828,6 +833,11 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
>                                       && CPU_FEATURE_USABLE (BMI1)
>                                       && CPU_FEATURE_USABLE (BMI2)),
>                                      __wcsrchr_evex)
> +             X86_IFUNC_IMPL_ADD_V4 (array, i, wcsrchr,
> +                                    (CPU_FEATURE_USABLE (AVX512VL)
> +                                     && CPU_FEATURE_USABLE (AVX512BW)
> +                                     && CPU_FEATURE_USABLE (BMI2)),
> +                                    __wcsrchr_evex512)
>               X86_IFUNC_IMPL_ADD_V3 (array, i, wcsrchr,
>                                      (CPU_FEATURE_USABLE (AVX2)
>                                       && CPU_FEATURE_USABLE (BMI1)
> diff --git a/sysdeps/x86_64/multiarch/strrchr-evex-base.S b/sysdeps/x86_64/multiarch/strrchr-evex-base.S
> new file mode 100644
> index 0000000000..6698fe8b78
> --- /dev/null
> +++ b/sysdeps/x86_64/multiarch/strrchr-evex-base.S
> @@ -0,0 +1,264 @@
> +/* Placeholder function, not used by any processor at the moment.
> +   Copyright (C) 2022 Free Software Foundation, Inc.
> +   This file is part of the GNU C Library.
> +
> +   The GNU C Library is free software; you can redistribute it and/or
> +   modify it under the terms of the GNU Lesser General Public
> +   License as published by the Free Software Foundation; either
> +   version 2.1 of the License, or (at your option) any later version.
> +
> +   The GNU C Library is distributed in the hope that it will be useful,
> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> +   Lesser General Public License for more details.
> +
> +   You should have received a copy of the GNU Lesser General Public
> +   License along with the GNU C Library; if not, see
> +   <https://www.gnu.org/licenses/>.  */
> +
> +/* UNUSED. Exists purely as reference implementation.  */
> +
> +#include <isa-level.h>
> +
> +#if ISA_SHOULD_BUILD (4)
> +
> +# include <sysdep.h>
> +
> +# ifdef USE_AS_WCSRCHR
> +#  define CHAR_SIZE    4
> +#  define VPBROADCAST   vpbroadcastd
> +#  define VPCMPEQ      vpcmpeqd
> +#  define VPMINU       vpminud
> +#  define VPTESTN      vptestnmd
> +# else
> +#  define CHAR_SIZE    1
> +#  define VPBROADCAST   vpbroadcastb
> +#  define VPCMPEQ      vpcmpeqb
> +#  define VPMINU       vpminub
> +#  define VPTESTN      vptestnmb
> +# endif
> +
> +# define PAGE_SIZE     4096
> +# define CHAR_PER_VEC  (VEC_SIZE / CHAR_SIZE)
> +
> +       .section SECTION(.text), "ax", @progbits
> +/* Aligning entry point to 64 byte, provides better performance for
> +   one vector length string.  */
> +ENTRY_P2ALIGN (STRRCHR, 6)
> +
> +       /* Broadcast CHAR to VMM(0).  */
> +       VPBROADCAST %esi, %VMM(0)
> +       movl    %edi, %eax
> +       sall    $20, %eax
> +       cmpl    $((PAGE_SIZE - VEC_SIZE) << 20), %eax
> +       ja      L(page_cross)
> +
> +L(page_cross_continue):
> +       /* Compare [w]char for null, mask bit will be set for match.  */
> +       VMOVU   (%rdi), %VMM(1)
> +
> +       VPTESTN %VMM(1), %VMM(1), %k1
> +       KMOV    %k1, %VRCX
> +       test    %VRCX, %VRCX
> +       jz      L(align_more)
> +
> +       VPCMPEQ %VMM(1), %VMM(0), %k0
> +       KMOV    %k0, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       and     %VRCX, %VRAX
> +       jz      L(ret)
> +
> +       BSR     %VRAX, %VRAX
> +# ifdef USE_AS_WCSRCHR
> +       leaq    (%rdi, %rax, CHAR_SIZE), %rax
> +# else
> +       add     %rdi, %rax
> +# endif
> +L(ret):
> +       ret
> +
> +L(vector_x2_end):
> +       VPCMPEQ %VMM(2), %VMM(0), %k2
> +       KMOV    %k2, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       and     %VRCX, %VRAX
> +       jz      L(vector_x1_ret)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +       /* Check the first vector at very last to look for match.  */
> +L(vector_x1_ret):
> +       VPCMPEQ %VMM(1), %VMM(0), %k2
> +       KMOV    %k2, %VRAX
> +       test    %VRAX, %VRAX
> +       jz      L(ret)
> +
> +       BSR     %VRAX, %VRAX
> +# ifdef USE_AS_WCSRCHR
> +       leaq    (%rsi, %rax, CHAR_SIZE), %rax
> +# else
> +       add     %rsi, %rax
> +# endif
> +       ret
> +
> +L(align_more):
> +       /* Zero r8 to store match result.  */
> +       xorl    %r8d, %r8d
> +       /* Save pointer of first vector, in case if no match found.  */
> +       movq    %rdi, %rsi
> +       /* Align pointer to vector size.  */
> +       andq    $-VEC_SIZE, %rdi
> +       /* Loop unroll 2 times for 2 vector loop.  */
> +       VMOVA   (VEC_SIZE)(%rdi), %VMM(2)
> +       VPTESTN %VMM(2), %VMM(2), %k0
> +       KMOV    %k0, %VRCX
> +       test    %VRCX, %VRCX
> +       jnz     L(vector_x2_end)
> +
> +       /* Save pointer of second vector, in case if no match
> +          found.  */
> +       movq    %rdi, %r9
> +       /* Align address to VEC_SIZE * 2 for loop.  */
> +       andq    $-(VEC_SIZE * 2), %rdi
> +
> +       .p2align 4,,11
> +L(loop):
> +       /* 2 vector loop, as it provide better performance as compared
> +          to 4 vector loop.  */
> +       VMOVA   (VEC_SIZE * 2)(%rdi), %VMM(3)
> +       VMOVA   (VEC_SIZE * 3)(%rdi), %VMM(4)
> +       VPCMPEQ %VMM(3), %VMM(0), %k1
> +       VPCMPEQ %VMM(4), %VMM(0), %k2
> +       VPMINU  %VMM(3), %VMM(4), %VMM(5)
> +       VPTESTN %VMM(5), %VMM(5), %k0
> +       KOR     %k1, %k2, %k3
> +       subq    $-(VEC_SIZE * 2), %rdi
> +       /* If k0 and k3 zero, match and end of string not found.  */
> +       KORTEST %k0, %k3
> +       jz      L(loop)
> +
> +       /* If k0 is non zero, end of string found.  */
> +       KORTEST %k0, %k0
> +       jnz     L(endloop)
> +
> +       lea     VEC_SIZE(%rdi), %r8
> +       /* A match found, it need to be stored in r8 before loop
> +          continue.  */
> +       /* Check second vector first.  */
> +       KMOV    %k2, %VRDX
> +       test    %VRDX, %VRDX
> +       jnz     L(loop_vec_x2_match)
> +
> +       KMOV    %k1, %VRDX
> +       /* Match is in first vector, rdi offset need to be substracted
> +         by VEC_SIZE.  */
> +       sub     $VEC_SIZE, %r8
> +
> +       /* If second vector doesn't have match, first vector must
> +          have match.  */
> +L(loop_vec_x2_match):
> +       BSR     %VRDX, %VRDX
> +# ifdef USE_AS_WCSRCHR
> +       sal     $2, %rdx
> +# endif
> +       add     %rdx, %r8
> +       jmp     L(loop)
> +
> +L(endloop):
> +       /* Check if string end in first loop vector.  */
> +       VPTESTN %VMM(3), %VMM(3), %k0
> +       KMOV    %k0, %VRCX
> +       test    %VRCX, %VRCX
> +       jnz     L(loop_vector_x1_end)
> +
> +       /* Check if it has match in first loop vector.  */
> +       KMOV    %k1, %VRAX
> +       test    %VRAX, %VRAX
> +       jz      L(loop_vector_x2_end)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (%rdi, %rax, CHAR_SIZE), %r8
> +
> +       /* String must end in second loop vector.  */
> +L(loop_vector_x2_end):
> +       VPTESTN %VMM(4), %VMM(4), %k0
> +       KMOV    %k0, %VRCX
> +       KMOV    %k2, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       /* Check if it has match in second loop vector.  */
> +       and     %VRCX, %VRAX
> +       jz      L(check_last_match)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +       /* String end in first loop vector.  */
> +L(loop_vector_x1_end):
> +       KMOV    %k1, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       /* Check if it has match in second loop vector.  */
> +       and     %VRCX, %VRAX
> +       jz      L(check_last_match)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (%rdi, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +       /* No match in first and second loop vector.  */
> +L(check_last_match):
> +       /* Check if any match recorded in r8.  */
> +       test    %r8, %r8
> +       jz      L(vector_x2_ret)
> +       movq    %r8, %rax
> +       ret
> +
> +       /* No match recorded in r8. Check the second saved vector
> +          in begining.  */
> +L(vector_x2_ret):
> +       VPCMPEQ %VMM(2), %VMM(0), %k2
> +       KMOV    %k2, %VRAX
> +       test    %VRAX, %VRAX
> +       jz      L(vector_x1_ret)
> +
> +       /* Match found in the second saved vector.  */
> +       BSR     %VRAX, %VRAX
> +       leaq    (VEC_SIZE)(%r9, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +L(page_cross):
> +       mov     %rdi, %rax
> +       movl    %edi, %ecx
> +
> +# ifdef USE_AS_WCSRCHR
> +       /* Calculate number of compare result bits to be skipped for
> +          wide string alignment adjustment.  */
> +       andl    $(VEC_SIZE - 1), %ecx
> +       sarl    $2, %ecx
> +# endif
> +       /* ecx contains number of w[char] to be skipped as a result
> +          of address alignment.  */
> +       andq    $-VEC_SIZE, %rax
> +       VMOVA   (%rax), %VMM(1)
> +       VPTESTN %VMM(1), %VMM(1), %k1
> +       KMOV    %k1, %VRAX
> +       SHR     %cl, %VRAX
> +       jz      L(page_cross_continue)
> +       VPCMPEQ %VMM(1), %VMM(0), %k0
> +       KMOV    %k0, %VRDX
> +       SHR     %cl, %VRDX
> +       BLSMSK  %VRAX, %VRAX
> +       and     %VRDX, %VRAX
> +       jz      L(ret)
> +       BSR     %VRAX, %VRAX
> +# ifdef USE_AS_WCSRCHR
> +       leaq    (%rdi, %rax, CHAR_SIZE), %rax
> +# else
> +       add     %rdi, %rax
> +# endif
> +
> +       ret
> +END (STRRCHR)
> +#endif
> diff --git a/sysdeps/x86_64/multiarch/strrchr-evex512.S b/sysdeps/x86_64/multiarch/strrchr-evex512.S
> new file mode 100644
> index 0000000000..7d81e66375
> --- /dev/null
> +++ b/sysdeps/x86_64/multiarch/strrchr-evex512.S
> @@ -0,0 +1,8 @@
> +# ifndef STRRCHR
> +#  define STRRCHR      __strrchr_evex512
> +# endif
> +
> +#include "x86-evex512-vecs.h"
> +#include "reg-macros.h"
> +
> +#include "strrchr-evex-base.S"
> diff --git a/sysdeps/x86_64/multiarch/wcsrchr-evex512.S b/sysdeps/x86_64/multiarch/wcsrchr-evex512.S
> new file mode 100644
> index 0000000000..f241f63716
> --- /dev/null
> +++ b/sysdeps/x86_64/multiarch/wcsrchr-evex512.S
> @@ -0,0 +1,13 @@
> +#ifndef WCSRCHR
> +# define WCSRCHR       __wcsrchr_evex512
> +#endif
> +
> +#define STRRCHR        WCSRCHR
> +#define USE_AS_WCSRCHR 1
> +
> +#define USE_WIDE_CHAR 1
> +
> +#include "x86-evex512-vecs.h"
> +#include "reg-macros.h"
> +
> +#include "strrchr-evex512.S"
> --
> 2.38.1
>

SKX microbenchmark data:

[-- Attachment #2: strrchr_10.txt --]
[-- Type: text/plain, Size: 167618 bytes --]

Function: strrchr
Variant: 
                                    __strrchr_evex	__strrchr_evex512
========================================================================================================================
           len=2048, pos=32, align=0:        13.21	        9.51 ( 28.01%)	
           len=2048, pos=32, align=1:        14.40	        9.53 ( 33.80%)	
           len=2048, pos=64, align=0:        15.13	       14.68 (  2.92%)	
           len=2048, pos=64, align=2:        15.21	       14.19 (  6.71%)	
          len=2048, pos=128, align=0:        23.92	       19.05 ( 20.35%)	
          len=2048, pos=128, align=3:        24.27	       16.80 ( 30.78%)	
          len=2048, pos=256, align=0:        29.69	       21.35 ( 28.10%)	
          len=2048, pos=256, align=4:        29.86	       21.40 ( 28.34%)	
          len=2048, pos=512, align=0:        39.77	       29.41 ( 26.05%)	
          len=2048, pos=512, align=5:        39.61	       29.88 ( 24.57%)	
         len=2048, pos=1024, align=0:        65.70	       44.33 ( 32.53%)	
         len=2048, pos=1024, align=6:        65.72	       43.21 ( 34.26%)	
         len=2048, pos=2048, align=0:       117.04	       75.87 ( 35.18%)	
         len=2048, pos=2048, align=7:       117.49	       75.96 ( 35.35%)	
         len=2048, pos=4096, align=0:       116.65	       75.90 ( 34.93%)	
         len=2048, pos=4096, align=8:       115.89	       75.06 ( 35.23%)	
            len=256, pos=64, align=1:        16.14	       13.20 ( 18.20%)	
            len=256, pos=64, align=1:        15.22	       14.19 (  6.75%)	
           len=256, pos=64, align=15:        15.49	       14.20 (  8.30%)	
           len=256, pos=64, align=15:        15.12	       14.44 (  4.47%)	
            len=256, pos=64, align=2:        15.98	       13.20 ( 17.40%)	
            len=256, pos=64, align=2:        15.16	       14.18 (  6.46%)	
           len=256, pos=64, align=30:        15.48	       14.20 (  8.24%)	
           len=256, pos=64, align=30:        15.13	       14.17 (  6.37%)	
            len=256, pos=64, align=3:        15.19	       14.69 (  3.27%)	
            len=256, pos=64, align=3:        15.42	       14.55 (  5.66%)	
           len=256, pos=64, align=45:        15.10	       14.58 (  3.46%)	
           len=256, pos=64, align=45:        15.91	       13.20 ( 17.05%)	
            len=256, pos=64, align=4:        15.22	       14.19 (  6.78%)	
            len=256, pos=64, align=4:        15.58	       14.17 (  9.06%)	
           len=256, pos=64, align=60:        16.21	       13.20 ( 18.54%)	
           len=256, pos=64, align=60:        15.20	       14.21 (  6.51%)	
            len=256, pos=64, align=5:        15.13	       14.18 (  6.25%)	
            len=256, pos=64, align=5:        15.10	       14.43 (  4.44%)	
           len=256, pos=64, align=75:        15.27	       14.16 (  7.30%)	
           len=256, pos=64, align=75:        15.20	       14.16 (  6.83%)	
            len=256, pos=64, align=6:        15.41	       14.17 (  8.04%)	
            len=256, pos=64, align=6:        15.15	       14.19 (  6.35%)	
           len=256, pos=64, align=90:        15.11	       14.11 (  6.63%)	
           len=256, pos=64, align=90:        15.11	       14.16 (  6.27%)	
            len=256, pos=64, align=7:        15.17	       14.54 (  4.14%)	
            len=256, pos=64, align=7:        16.39	       13.20 ( 19.45%)	
          len=256, pos=64, align=105:        15.17	       14.11 (  6.99%)	
          len=256, pos=64, align=105:        15.49	       14.11 (  8.90%)	
               len=1, pos=0, align=0:         9.61	        9.60 (  0.02%)	
               len=1, pos=0, align=0:         8.72	        8.40 (  3.62%)	
            len=1, pos=0, align=4095:        12.05	       13.28 (-10.17%)	
               len=2, pos=1, align=0:         8.73	        8.40 (  3.78%)	
               len=2, pos=1, align=0:         8.40	        8.40 (  0.00%)	
            len=2, pos=1, align=4095:        42.33	       42.39 ( -0.15%)	
               len=3, pos=2, align=0:         8.41	        8.40 (  0.03%)	
               len=3, pos=2, align=0:         8.40	        8.40 (  0.00%)	
            len=3, pos=2, align=4094:        42.00	       42.42 ( -1.00%)	
               len=4, pos=3, align=0:         8.40	        8.42 ( -0.18%)	
               len=4, pos=3, align=0:         8.72	        8.41 (  3.59%)	
            len=4, pos=3, align=4094:        43.17	       43.02 (  0.34%)	
               len=5, pos=4, align=0:         8.73	        8.42 (  3.49%)	
               len=5, pos=4, align=0:         8.40	        8.42 ( -0.20%)	
            len=5, pos=4, align=4093:        42.33	       42.40 ( -0.16%)	
               len=6, pos=5, align=0:         8.40	        8.42 ( -0.20%)	
               len=6, pos=5, align=0:         8.40	        8.42 ( -0.19%)	
            len=6, pos=5, align=4093:        42.86	       42.06 (  1.86%)	
               len=7, pos=6, align=0:         8.40	        8.42 ( -0.19%)	
               len=7, pos=6, align=0:         8.40	        8.42 ( -0.21%)	
            len=7, pos=6, align=4092:        42.00	       42.53 ( -1.25%)	
               len=8, pos=7, align=0:         8.40	        8.71 ( -3.65%)	
               len=8, pos=7, align=0:         8.40	        8.40 (  0.00%)	
            len=8, pos=7, align=4092:        42.81	       42.42 (  0.91%)	
               len=9, pos=8, align=0:         8.40	        8.73 ( -3.94%)	
               len=9, pos=8, align=0:         8.40	        8.42 ( -0.22%)	
            len=9, pos=8, align=4091:        42.81	       42.89 ( -0.19%)	
              len=10, pos=9, align=0:         8.40	        8.73 ( -3.92%)	
              len=10, pos=9, align=0:         8.40	        8.42 ( -0.21%)	
           len=10, pos=9, align=4091:        42.81	       42.36 (  1.05%)	
             len=11, pos=10, align=0:         8.76	        8.42 (  3.83%)	
             len=11, pos=10, align=0:         8.40	        8.42 ( -0.23%)	
          len=11, pos=10, align=4090:        42.32	       42.00 (  0.75%)	
             len=12, pos=11, align=0:         8.40	        8.42 ( -0.19%)	
             len=12, pos=11, align=0:         8.76	        8.42 (  3.81%)	
          len=12, pos=11, align=4090:        42.36	       42.06 (  0.72%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.20%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.17%)	
          len=13, pos=12, align=4089:        42.81	       42.93 ( -0.29%)	
             len=14, pos=13, align=0:         8.40	        8.73 ( -3.88%)	
             len=14, pos=13, align=0:         8.40	        8.42 ( -0.21%)	
          len=14, pos=13, align=4089:        42.91	       42.06 (  1.99%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.19%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.19%)	
          len=15, pos=14, align=4088:        42.81	       42.35 (  1.07%)	
             len=16, pos=15, align=0:         8.71	        8.42 (  3.29%)	
             len=16, pos=15, align=0:         8.80	        8.42 (  4.33%)	
          len=16, pos=15, align=4088:        42.56	       42.06 (  1.18%)	
             len=17, pos=16, align=0:         8.40	        8.42 ( -0.19%)	
             len=17, pos=16, align=0:         8.40	        8.42 ( -0.19%)	
          len=17, pos=16, align=4087:        43.12	       42.06 (  2.47%)	
             len=18, pos=17, align=0:         8.40	        8.42 ( -0.22%)	
             len=18, pos=17, align=0:         8.40	        8.42 ( -0.19%)	
          len=18, pos=17, align=4087:        43.04	       42.06 (  2.28%)	
             len=19, pos=18, align=0:         8.40	        8.42 ( -0.20%)	
             len=19, pos=18, align=0:         8.40	        8.42 ( -0.17%)	
          len=19, pos=18, align=4086:        42.37	       42.05 (  0.74%)	
             len=20, pos=19, align=0:         8.40	        8.42 ( -0.20%)	
             len=20, pos=19, align=0:         8.40	        8.42 ( -0.19%)	
          len=20, pos=19, align=4086:        42.32	       42.00 (  0.74%)	
             len=21, pos=20, align=0:         8.41	        8.42 ( -0.17%)	
             len=21, pos=20, align=0:         8.40	        8.42 ( -0.17%)	
          len=21, pos=20, align=4085:        42.73	       42.42 (  0.73%)	
             len=22, pos=21, align=0:        10.12	        8.42 ( 16.78%)	
             len=22, pos=21, align=0:         9.37	        9.55 ( -1.97%)	
          len=22, pos=21, align=4085:        42.66	       42.35 (  0.72%)	
             len=23, pos=22, align=0:         9.24	        9.52 ( -3.07%)	
             len=23, pos=22, align=0:         8.42	        8.42 (  0.04%)	
          len=23, pos=22, align=4084:        42.01	       42.48 ( -1.13%)	
             len=24, pos=23, align=0:         8.42	        8.42 (  0.03%)	
             len=24, pos=23, align=0:         9.20	        9.61 ( -4.45%)	
          len=24, pos=23, align=4084:        42.71	       42.77 ( -0.14%)	
             len=25, pos=24, align=0:        10.09	        8.42 ( 16.56%)	
             len=25, pos=24, align=0:         8.42	        8.42 (  0.05%)	
          len=25, pos=24, align=4083:        42.33	       42.00 (  0.77%)	
             len=26, pos=25, align=0:         9.76	       10.46 ( -7.14%)	
             len=26, pos=25, align=0:         9.87	        9.67 (  2.04%)	
          len=26, pos=25, align=4083:        42.32	       43.49 ( -2.77%)	
             len=27, pos=26, align=0:         8.40	        8.42 ( -0.17%)	
             len=27, pos=26, align=0:         9.30	        9.58 ( -3.01%)	
          len=27, pos=26, align=4082:        42.67	       43.35 ( -1.60%)	
             len=28, pos=27, align=0:         9.28	        9.58 ( -3.22%)	
             len=28, pos=27, align=0:         8.40	        8.42 ( -0.21%)	
          len=28, pos=27, align=4082:        42.66	       43.03 ( -0.87%)	
             len=29, pos=28, align=0:        10.11	        8.42 ( 16.73%)	
             len=29, pos=28, align=0:         8.40	        8.42 ( -0.17%)	
          len=29, pos=28, align=4081:        43.47	       43.05 (  0.97%)	
             len=30, pos=29, align=0:        10.09	        8.42 ( 16.54%)	
             len=30, pos=29, align=0:        10.13	        8.42 ( 16.92%)	
          len=30, pos=29, align=4081:        42.35	       42.80 ( -1.05%)	
             len=31, pos=30, align=0:        10.12	        8.42 ( 16.81%)	
             len=31, pos=30, align=0:         9.58	       10.17 ( -6.19%)	
          len=31, pos=30, align=4080:        42.44	       42.34 (  0.23%)	
             len=32, pos=31, align=0:         9.31	        9.44 ( -1.44%)	
             len=32, pos=31, align=0:         9.23	        9.52 ( -3.11%)	
          len=32, pos=31, align=4080:        42.69	       42.05 (  1.49%)	
              len=16, pos=0, align=0:         8.40	        8.42 ( -0.17%)	
             len=32, pos=16, align=0:         9.20	        9.51 ( -3.44%)	
             len=48, pos=32, align=0:        14.00	        9.56 ( 31.76%)	
             len=64, pos=48, align=0:        14.00	        9.52 ( 32.00%)	
             len=80, pos=64, align=0:        15.18	       14.21 (  6.37%)	
             len=96, pos=80, align=0:        15.54	       14.93 (  3.92%)	
            len=112, pos=96, align=0:        16.39	       14.11 ( 13.96%)	
           len=128, pos=112, align=0:        16.31	       14.47 ( 11.31%)	
           len=144, pos=128, align=0:        23.99	       18.01 ( 24.93%)	
           len=160, pos=144, align=0:        23.86	       19.03 ( 20.25%)	
           len=176, pos=160, align=0:        24.53	       16.80 ( 31.51%)	
           len=192, pos=176, align=0:        23.58	       17.82 ( 24.40%)	
           len=208, pos=192, align=0:        27.50	       16.82 ( 38.83%)	
           len=224, pos=208, align=0:        27.53	       16.76 ( 39.14%)	
           len=240, pos=224, align=0:        27.09	       17.09 ( 36.90%)	
           len=256, pos=240, align=0:        27.89	       15.98 ( 42.71%)	
           len=272, pos=256, align=0:        29.61	       21.42 ( 27.66%)	
           len=288, pos=272, align=0:        28.86	       22.05 ( 23.61%)	
              len=16, pos=0, align=0:         9.61	        9.60 (  0.01%)	
             len=16, pos=16, align=0:         8.40	        8.40 (  0.01%)	
             len=16, pos=16, align=0:         8.40	        8.40 (  0.02%)	
              len=16, pos=0, align=0:         8.40	        8.71 ( -3.70%)	
             len=16, pos=16, align=0:         8.40	        8.40 (  0.00%)	
             len=16, pos=48, align=0:         8.40	        8.40 (  0.00%)	
             len=64, pos=16, align=0:         8.40	        8.40 (  0.02%)	
             len=16, pos=96, align=0:         8.40	        8.40 (  0.03%)	
            len=112, pos=16, align=0:         8.40	        8.40 (  0.03%)	
            len=16, pos=144, align=0:         8.40	        8.40 (  0.03%)	
            len=160, pos=16, align=0:         8.40	        8.40 (  0.03%)	
            len=16, pos=192, align=0:         8.40	        8.40 (  0.03%)	
            len=208, pos=16, align=0:         8.40	        8.40 (  0.03%)	
            len=16, pos=240, align=0:         8.40	        8.40 (  0.03%)	
            len=256, pos=16, align=0:         8.40	        8.40 (  0.03%)	
            len=16, pos=288, align=0:         8.40	        8.40 (  0.03%)	
            len=304, pos=16, align=0:         8.40	        8.40 (  0.03%)	
              len=32, pos=0, align=0:         8.40	        8.40 (  0.01%)	
             len=32, pos=32, align=0:        13.97	        9.44 ( 32.42%)	
             len=32, pos=32, align=0:        13.20	        8.40 ( 36.36%)	
              len=32, pos=0, align=0:         8.40	        8.40 (  0.03%)	
             len=32, pos=32, align=0:        13.20	        8.40 ( 36.37%)	
             len=32, pos=48, align=0:        13.99	        9.51 ( 32.03%)	
             len=80, pos=32, align=0:        14.19	        9.81 ( 30.84%)	
             len=32, pos=96, align=0:        13.95	        9.55 ( 31.54%)	
            len=128, pos=32, align=0:        14.30	        9.51 ( 33.52%)	
            len=32, pos=144, align=0:        14.01	        9.51 ( 32.10%)	
            len=176, pos=32, align=0:        14.35	        9.55 ( 33.41%)	
            len=32, pos=192, align=0:        13.21	        8.40 ( 36.38%)	
            len=224, pos=32, align=0:        14.22	        9.42 ( 33.74%)	
            len=32, pos=240, align=0:        14.36	        9.54 ( 33.56%)	
            len=272, pos=32, align=0:        14.70	        8.40 ( 42.83%)	
            len=32, pos=288, align=0:        14.32	        9.57 ( 33.14%)	
            len=320, pos=32, align=0:        14.70	        8.40 ( 42.84%)	
              len=64, pos=0, align=0:         8.72	        8.40 (  3.64%)	
             len=64, pos=64, align=0:        15.95	       13.21 ( 17.21%)	
             len=64, pos=64, align=0:        15.19	       14.16 (  6.73%)	
              len=64, pos=0, align=0:         9.60	        9.86 ( -2.62%)	
             len=64, pos=64, align=0:        15.91	       13.20 ( 17.00%)	
             len=64, pos=48, align=0:        13.89	        9.55 ( 31.30%)	
            len=112, pos=64, align=0:        15.25	       14.11 (  7.48%)	
             len=64, pos=16, align=0:         8.40	        9.60 (-14.26%)	
             len=16, pos=48, align=0:         8.40	        8.40 (  0.03%)	
             len=16, pos=64, align=0:         8.40	        8.40 (  0.03%)	
             len=64, pos=96, align=0:        15.34	       14.48 (  5.56%)	
            len=160, pos=64, align=0:        16.00	       13.20 ( 17.51%)	
            len=64, pos=144, align=0:        15.20	       14.20 (  6.58%)	
            len=208, pos=64, align=0:        15.59	       14.19 (  8.98%)	
            len=64, pos=192, align=0:        16.08	       13.20 ( 17.92%)	
            len=256, pos=64, align=0:        15.19	       14.14 (  6.93%)	
            len=64, pos=240, align=0:        15.54	       14.23 (  8.45%)	
            len=304, pos=64, align=0:        15.86	       13.56 ( 14.51%)	
            len=64, pos=288, align=0:        15.16	       14.11 (  6.93%)	
            len=352, pos=64, align=0:        15.22	       14.10 (  7.32%)	
             len=128, pos=0, align=0:         8.40	        8.40 (  0.00%)	
           len=128, pos=128, align=0:        23.83	       18.99 ( 20.31%)	
           len=128, pos=128, align=0:        24.28	       16.80 ( 30.81%)	
             len=128, pos=0, align=0:         9.29	        8.40 (  9.52%)	
           len=128, pos=128, align=0:        24.32	       16.80 ( 30.91%)	
            len=128, pos=48, align=0:        13.24	        9.51 ( 28.19%)	
           len=176, pos=128, align=0:        23.55	       18.19 ( 22.73%)	
            len=128, pos=80, align=0:        15.74	       13.20 ( 16.12%)	
             len=80, pos=48, align=0:        13.94	        9.63 ( 30.90%)	
            len=80, pos=128, align=0:        15.17	       14.17 (  6.57%)	
            len=128, pos=96, align=0:        16.34	       14.87 (  9.04%)	
           len=224, pos=128, align=0:        23.49	       18.09 ( 22.98%)	
            len=128, pos=32, align=0:        14.74	        8.40 ( 43.00%)	
             len=32, pos=96, align=0:        14.00	        9.57 ( 31.60%)	
            len=32, pos=128, align=0:        13.21	        9.60 ( 27.30%)	
           len=128, pos=144, align=0:        23.89	       17.85 ( 25.27%)	
           len=272, pos=128, align=0:        23.46	       17.75 ( 24.33%)	
           len=128, pos=192, align=0:        23.64	       18.16 ( 23.20%)	
           len=320, pos=128, align=0:        24.30	       16.80 ( 30.87%)	
           len=128, pos=240, align=0:        23.56	       17.75 ( 24.64%)	
           len=368, pos=128, align=0:        24.01	       17.96 ( 25.17%)	
           len=128, pos=288, align=0:        24.23	       16.80 ( 30.65%)	
           len=416, pos=128, align=0:        23.48	       17.85 ( 23.98%)	
             len=256, pos=0, align=0:         8.40	        8.40 (  0.01%)	
           len=256, pos=256, align=0:        30.81	       20.41 ( 33.78%)	
           len=256, pos=256, align=0:        29.52	       21.65 ( 26.68%)	
             len=256, pos=0, align=0:         8.40	        8.40 (  0.01%)	
           len=256, pos=256, align=0:        30.78	       21.08 ( 31.52%)	
            len=256, pos=48, align=0:        13.20	       10.70 ( 18.98%)	
           len=304, pos=256, align=0:        29.69	       21.81 ( 26.53%)	
           len=256, pos=208, align=0:        27.76	       17.12 ( 38.33%)	
            len=208, pos=48, align=0:        14.29	       10.75 ( 24.83%)	
           len=208, pos=256, align=0:        28.58	       16.80 ( 41.21%)	
            len=256, pos=96, align=0:        16.40	       14.17 ( 13.58%)	
           len=352, pos=256, align=0:        29.74	       22.10 ( 25.68%)	
           len=256, pos=160, align=0:        24.56	       16.80 ( 31.57%)	
            len=160, pos=96, align=0:        16.38	       14.10 ( 13.92%)	
           len=160, pos=256, align=0:        23.84	       17.88 ( 24.98%)	
           len=256, pos=144, align=0:        24.85	       16.80 ( 32.37%)	
           len=400, pos=256, align=0:        29.72	       22.16 ( 25.44%)	
           len=256, pos=112, align=0:        17.47	       13.20 ( 24.41%)	
           len=112, pos=144, align=0:        16.46	       14.11 ( 14.27%)	
           len=112, pos=256, align=0:        16.38	       14.55 ( 11.17%)	
           len=256, pos=192, align=0:        29.27	       15.60 ( 46.68%)	
           len=448, pos=256, align=0:        30.03	       21.41 ( 28.69%)	
            len=256, pos=64, align=0:        15.97	       13.52 ( 15.34%)	
            len=64, pos=192, align=0:        15.17	       14.34 (  5.47%)	
            len=64, pos=256, align=0:        15.13	       14.16 (  6.39%)	
           len=256, pos=240, align=0:        27.08	       16.73 ( 38.20%)	
           len=496, pos=256, align=0:        29.99	       21.34 ( 28.84%)	
            len=256, pos=16, align=0:         8.41	        8.40 (  0.06%)	
            len=16, pos=240, align=0:         8.40	        8.40 (  0.02%)	
            len=16, pos=256, align=0:         8.40	        8.40 (  0.03%)	
           len=256, pos=288, align=0:        29.70	       21.34 ( 28.16%)	
           len=544, pos=256, align=0:        30.25	       21.42 ( 29.19%)	
             len=512, pos=0, align=0:         9.28	        8.40 (  9.41%)	
           len=512, pos=512, align=0:        40.43	       27.61 ( 31.71%)	
           len=512, pos=512, align=0:        39.21	       30.19 ( 23.00%)	
             len=512, pos=0, align=0:         9.60	        8.40 ( 12.50%)	
           len=512, pos=512, align=0:        38.41	       29.88 ( 22.22%)	
            len=512, pos=48, align=0:        14.17	        9.72 ( 31.39%)	
           len=560, pos=512, align=0:        40.39	       27.61 ( 31.64%)	
           len=512, pos=464, align=0:        36.73	       25.35 ( 30.96%)	
            len=464, pos=48, align=0:        14.99	        8.40 ( 43.96%)	
           len=464, pos=512, align=0:        36.86	       25.41 ( 31.06%)	
            len=512, pos=96, align=0:        17.76	       13.20 ( 25.67%)	
           len=608, pos=512, align=0:        41.10	       28.56 ( 30.50%)	
           len=512, pos=416, align=0:        34.43	       25.03 ( 27.32%)	
            len=416, pos=96, align=0:        16.30	       14.54 ( 10.82%)	
           len=416, pos=512, align=0:        33.67	       25.41 ( 24.52%)	
           len=512, pos=144, align=0:        24.53	       18.32 ( 25.31%)	
           len=656, pos=512, align=0:        39.56	       28.56 ( 27.80%)	
           len=512, pos=368, align=0:        33.20	       24.33 ( 26.72%)	
           len=368, pos=144, align=0:        23.49	       18.26 ( 22.27%)	
           len=368, pos=512, align=0:        33.23	       24.01 ( 27.75%)	
           len=512, pos=192, align=0:        28.32	       18.24 ( 35.62%)	
           len=704, pos=512, align=0:        40.47	       25.21 ( 37.71%)	
           len=512, pos=320, align=0:        31.54	       23.82 ( 24.45%)	
           len=320, pos=192, align=0:        28.28	       15.96 ( 43.58%)	
           len=320, pos=512, align=0:        33.82	       21.50 ( 36.42%)	
           len=512, pos=240, align=0:        27.15	       16.94 ( 37.61%)	
           len=752, pos=512, align=0:        40.70	       27.61 ( 32.17%)	
           len=512, pos=272, align=0:        30.79	       21.40 ( 30.51%)	
           len=272, pos=240, align=0:        27.19	       16.69 ( 38.61%)	
           len=272, pos=512, align=0:        29.57	       22.12 ( 25.18%)	
           len=512, pos=288, align=0:        29.66	       22.20 ( 25.17%)	
           len=800, pos=512, align=0:        38.81	       28.66 ( 26.14%)	
           len=512, pos=224, align=0:        27.19	       17.85 ( 34.34%)	
           len=224, pos=288, align=0:        27.19	       16.70 ( 38.60%)	
           len=224, pos=512, align=0:        27.51	       16.79 ( 38.97%)	
            len=1024, pos=0, align=0:         8.40	        8.40 (  0.02%)	
         len=1024, pos=1024, align=0:        65.30	       44.25 ( 32.23%)	
         len=1024, pos=1024, align=0:        64.30	       43.11 ( 32.96%)	
            len=1024, pos=0, align=0:         8.43	        8.72 ( -3.47%)	
         len=1024, pos=1024, align=0:        66.42	       43.52 ( 34.47%)	
           len=1024, pos=48, align=0:        15.05	        8.40 ( 44.17%)	
         len=1072, pos=1024, align=0:        65.03	       42.71 ( 34.32%)	
          len=1024, pos=976, align=0:        61.36	       41.03 ( 33.13%)	
            len=976, pos=48, align=0:        14.90	        8.40 ( 43.63%)	
          len=976, pos=1024, align=0:        63.13	       39.61 ( 37.26%)	
           len=1024, pos=96, align=0:        16.42	       14.19 ( 13.60%)	
         len=1120, pos=1024, align=0:        65.18	       41.91 ( 35.71%)	
          len=1024, pos=928, align=0:        57.79	       40.42 ( 30.06%)	
            len=928, pos=96, align=0:        16.39	       14.10 ( 14.00%)	
          len=928, pos=1024, align=0:        60.17	       40.17 ( 33.24%)	
          len=1024, pos=144, align=0:        24.30	       17.15 ( 29.42%)	
         len=1168, pos=1024, align=0:        65.31	       44.60 ( 31.71%)	
          len=1024, pos=880, align=0:        54.50	       38.66 ( 29.06%)	
           len=880, pos=144, align=0:        24.89	       16.81 ( 32.48%)	
          len=880, pos=1024, align=0:        55.30	       37.51 ( 32.17%)	
          len=1024, pos=192, align=0:        28.04	       16.80 ( 40.08%)	
         len=1216, pos=1024, align=0:        65.07	       44.20 ( 32.08%)	
          len=1024, pos=832, align=0:        54.50	       38.78 ( 28.84%)	
           len=832, pos=192, align=0:        27.17	       16.73 ( 38.43%)	
          len=832, pos=1024, align=0:        55.35	       38.74 ( 30.01%)	
          len=1024, pos=240, align=0:        28.48	       15.60 ( 45.20%)	
         len=1264, pos=1024, align=0:        65.42	       44.61 ( 31.80%)	
          len=1024, pos=784, align=0:        52.31	       36.26 ( 30.69%)	
           len=784, pos=240, align=0:        27.47	       16.67 ( 39.30%)	
          len=784, pos=1024, align=0:        52.52	       37.09 ( 29.38%)	
          len=1024, pos=288, align=0:        29.66	       22.89 ( 22.85%)	
         len=1312, pos=1024, align=0:        64.32	       44.58 ( 30.69%)	
          len=1024, pos=736, align=0:        51.16	       31.64 ( 38.15%)	
           len=736, pos=288, align=0:        29.67	       22.65 ( 23.66%)	
          len=736, pos=1024, align=0:        47.68	       32.53 ( 31.77%)	
            len=2048, pos=0, align=0:         8.40	        8.40 (  0.02%)	
         len=2048, pos=2048, align=0:       169.37	      121.13 ( 28.48%)	
         len=2048, pos=2048, align=0:       169.28	      121.20 ( 28.41%)	
            len=2048, pos=0, align=0:         8.43	        8.72 ( -3.45%)	
         len=2048, pos=2048, align=0:       170.25	      120.94 ( 28.96%)	
           len=2048, pos=48, align=0:        14.66	        9.43 ( 35.68%)	
         len=2096, pos=2048, align=0:       169.47	      119.73 ( 29.35%)	
         len=2048, pos=2000, align=0:       114.57	       72.43 ( 36.78%)	
           len=2000, pos=48, align=0:        15.00	        8.40 ( 44.01%)	
         len=2000, pos=2048, align=0:       114.38	       72.31 ( 36.78%)	
           len=2048, pos=96, align=0:        16.35	       14.21 ( 13.05%)	
         len=2144, pos=2048, align=0:       148.94	      119.04 ( 20.08%)	
         len=2048, pos=1952, align=0:       111.08	       71.09 ( 35.99%)	
           len=1952, pos=96, align=0:        16.30	       14.19 ( 12.93%)	
         len=1952, pos=2048, align=0:       111.14	       63.30 ( 43.05%)	
          len=2048, pos=144, align=0:        23.47	       19.42 ( 17.25%)	
         len=2192, pos=2048, align=0:       161.16	      120.23 ( 25.39%)	
         len=2048, pos=1904, align=0:       110.04	       68.78 ( 37.50%)	
          len=1904, pos=144, align=0:        24.86	       18.00 ( 27.59%)	
         len=1904, pos=2048, align=0:       109.60	       60.46 ( 44.83%)	
          len=2048, pos=192, align=0:        27.17	       17.95 ( 33.93%)	
         len=2240, pos=2048, align=0:       169.82	      121.01 ( 28.74%)	
         len=2048, pos=1856, align=0:       108.04	       62.45 ( 42.20%)	
          len=1856, pos=192, align=0:        27.15	       18.10 ( 33.32%)	
         len=1856, pos=2048, align=0:       107.80	       68.59 ( 36.38%)	
          len=2048, pos=240, align=0:        27.17	       17.87 ( 34.25%)	
         len=2288, pos=2048, align=0:       164.58	      121.22 ( 26.35%)	
         len=2048, pos=1808, align=0:       104.75	       68.67 ( 34.44%)	
          len=1808, pos=240, align=0:        28.03	       15.60 ( 44.33%)	
         len=1808, pos=2048, align=0:       103.89	       65.94 ( 36.52%)	
          len=2048, pos=288, align=0:        29.91	       21.40 ( 28.44%)	
         len=2336, pos=2048, align=0:       171.76	       65.07 ( 62.12%)	
         len=2048, pos=1760, align=0:       100.02	       65.08 ( 34.93%)	
          len=1760, pos=288, align=0:        29.59	       22.89 ( 22.65%)	
         len=1760, pos=2048, align=0:        99.27	       65.30 ( 34.22%)	
           len=2048, pos=32, align=0:       121.31	       69.98 ( 42.31%)	
           len=2048, pos=32, align=1:       118.91	       82.92 ( 30.27%)	
           len=2048, pos=64, align=0:       118.95	       79.41 ( 33.24%)	
           len=2048, pos=64, align=2:       120.58	       79.46 ( 34.10%)	
          len=2048, pos=128, align=0:       119.36	       82.99 ( 30.48%)	
          len=2048, pos=128, align=3:       119.22	       83.03 ( 30.35%)	
          len=2048, pos=256, align=0:       118.29	       80.64 ( 31.82%)	
          len=2048, pos=256, align=4:       123.60	       85.57 ( 30.77%)	
          len=2048, pos=512, align=0:       117.17	       79.79 ( 31.90%)	
          len=2048, pos=512, align=5:       121.28	       83.03 ( 31.54%)	
         len=2048, pos=1024, align=0:       125.04	       87.84 ( 29.75%)	
         len=2048, pos=1024, align=6:       122.67	       84.27 ( 31.30%)	
         len=2048, pos=2048, align=0:       117.76	       79.44 ( 32.54%)	
         len=2048, pos=2048, align=7:       115.56	       73.70 ( 36.23%)	
         len=2048, pos=4096, align=0:       113.98	       72.28 ( 36.59%)	
         len=2048, pos=4096, align=8:       116.09	       71.51 ( 38.41%)	
            len=256, pos=64, align=1:        28.06	       26.12 (  6.92%)	
            len=256, pos=64, align=1:        27.97	       25.80 (  7.74%)	
           len=256, pos=64, align=15:        27.69	       26.69 (  3.62%)	
           len=256, pos=64, align=15:        28.69	       25.20 ( 12.14%)	
            len=256, pos=64, align=2:        27.14	       26.99 (  0.52%)	
            len=256, pos=64, align=2:        28.32	       25.80 (  8.89%)	
           len=256, pos=64, align=30:        27.51	       26.30 (  4.40%)	
           len=256, pos=64, align=30:        27.60	       26.46 (  4.14%)	
            len=256, pos=64, align=3:        26.41	       27.07 ( -2.50%)	
            len=256, pos=64, align=3:        27.16	       27.04 (  0.42%)	
           len=256, pos=64, align=45:        27.14	       26.68 (  1.69%)	
           len=256, pos=64, align=45:        27.52	       26.83 (  2.53%)	
            len=256, pos=64, align=4:        28.18	       26.11 (  7.33%)	
            len=256, pos=64, align=4:        27.26	       27.02 (  0.90%)	
           len=256, pos=64, align=60:        28.19	       25.80 (  8.47%)	
           len=256, pos=64, align=60:        27.57	       26.27 (  4.71%)	
            len=256, pos=64, align=5:        28.69	       25.20 ( 12.16%)	
            len=256, pos=64, align=5:        27.23	       26.99 (  0.87%)	
           len=256, pos=64, align=75:        27.17	       26.46 (  2.61%)	
           len=256, pos=64, align=75:        27.61	       25.83 (  6.43%)	
            len=256, pos=64, align=6:        27.47	       26.78 (  2.49%)	
            len=256, pos=64, align=6:        28.32	       26.15 (  7.66%)	
           len=256, pos=64, align=90:        27.23	       25.08 (  7.88%)	
           len=256, pos=64, align=90:        27.24	       23.94 ( 12.13%)	
            len=256, pos=64, align=7:        27.46	       26.78 (  2.50%)	
            len=256, pos=64, align=7:        28.33	       26.16 (  7.66%)	
          len=256, pos=64, align=105:        27.21	       25.95 (  4.63%)	
          len=256, pos=64, align=105:        28.32	       24.61 ( 13.10%)	
               len=1, pos=0, align=0:         8.72	        9.61 (-10.14%)	
               len=1, pos=0, align=0:         8.40	        8.40 (  0.00%)	
            len=1, pos=0, align=4095:        42.32	       42.06 (  0.62%)	
               len=2, pos=1, align=0:         8.40	        8.40 ( -0.00%)	
               len=2, pos=1, align=0:         8.40	        8.40 (  0.01%)	
            len=2, pos=1, align=4095:        42.00	       42.77 ( -1.83%)	
               len=3, pos=2, align=0:         8.40	        8.42 ( -0.20%)	
               len=3, pos=2, align=0:         8.72	        8.42 (  3.40%)	
            len=3, pos=2, align=4094:        43.03	       42.00 (  2.40%)	
               len=4, pos=3, align=0:         8.71	        8.42 (  3.34%)	
               len=4, pos=3, align=0:         8.40	        8.42 ( -0.24%)	
            len=4, pos=3, align=4094:        42.01	       42.37 ( -0.86%)	
               len=5, pos=4, align=0:         8.40	        8.42 ( -0.23%)	
               len=5, pos=4, align=0:         8.40	        8.42 ( -0.19%)	
            len=5, pos=4, align=4093:        42.33	       42.06 (  0.64%)	
               len=6, pos=5, align=0:         8.40	        8.42 ( -0.20%)	
               len=6, pos=5, align=0:         8.40	        8.77 ( -4.40%)	
            len=6, pos=5, align=4093:        42.01	       43.26 ( -2.98%)	
               len=7, pos=6, align=0:         8.72	        8.41 (  3.56%)	
               len=7, pos=6, align=0:         8.40	        8.40 (  0.00%)	
            len=7, pos=6, align=4092:        42.01	       43.19 ( -2.82%)	
               len=8, pos=7, align=0:         8.40	        8.71 ( -3.61%)	
               len=8, pos=7, align=0:         8.40	        8.40 (  0.00%)	
            len=8, pos=7, align=4092:        42.82	       42.63 (  0.44%)	
               len=9, pos=8, align=0:         8.75	        8.40 (  4.00%)	
               len=9, pos=8, align=0:         8.40	        8.40 (  0.00%)	
            len=9, pos=8, align=4091:        42.01	       42.32 ( -0.74%)	
              len=10, pos=9, align=0:         8.40	        8.40 (  0.00%)	
              len=10, pos=9, align=0:         8.40	        8.88 ( -5.71%)	
           len=10, pos=9, align=4091:        42.98	       42.00 (  2.27%)	
             len=11, pos=10, align=0:         8.40	        8.40 (  0.02%)	
             len=11, pos=10, align=0:         8.40	        8.40 (  0.03%)	
          len=11, pos=10, align=4090:        42.85	       42.06 (  1.85%)	
             len=12, pos=11, align=0:         8.40	        8.40 (  0.00%)	
             len=12, pos=11, align=0:         8.40	        8.40 (  0.02%)	
          len=12, pos=11, align=4090:        42.00	       42.35 ( -0.82%)	
             len=13, pos=12, align=0:         8.72	        8.40 (  3.60%)	
             len=13, pos=12, align=0:         8.40	        8.71 ( -3.69%)	
          len=13, pos=12, align=4089:        42.84	       42.00 (  1.95%)	
             len=14, pos=13, align=0:         8.40	        8.40 (  0.02%)	
             len=14, pos=13, align=0:         8.40	        8.40 (  0.03%)	
          len=14, pos=13, align=4089:        42.01	       42.35 ( -0.82%)	
             len=15, pos=14, align=0:         8.40	        8.40 (  0.02%)	
             len=15, pos=14, align=0:         8.71	        8.40 (  3.52%)	
          len=15, pos=14, align=4088:        42.36	       42.53 ( -0.41%)	
             len=16, pos=15, align=0:         8.40	        8.72 ( -3.73%)	
             len=16, pos=15, align=0:         8.40	        8.40 (  0.00%)	
          len=16, pos=15, align=4088:        42.36	       42.00 (  0.84%)	
             len=17, pos=16, align=0:         8.40	        8.40 (  0.02%)	
             len=17, pos=16, align=0:         8.40	        8.40 (  0.03%)	
          len=17, pos=16, align=4087:        42.32	       42.00 (  0.75%)	
             len=18, pos=17, align=0:         8.40	        8.40 (  0.02%)	
             len=18, pos=17, align=0:         8.40	        8.40 (  0.03%)	
          len=18, pos=17, align=4087:        43.00	       42.06 (  2.18%)	
             len=19, pos=18, align=0:        10.11	        8.71 ( 13.77%)	
             len=19, pos=18, align=0:         9.27	        9.42 ( -1.65%)	
          len=19, pos=18, align=4086:        42.44	       42.00 (  1.02%)	
             len=20, pos=19, align=0:         8.40	        8.40 (  0.02%)	
             len=20, pos=19, align=0:         8.40	        8.40 (  0.03%)	
          len=20, pos=19, align=4086:        43.32	       42.49 (  1.92%)	
             len=21, pos=20, align=0:        10.03	        8.40 ( 16.23%)	
             len=21, pos=20, align=0:         9.31	        9.42 ( -1.25%)	
          len=21, pos=20, align=4085:        42.66	       42.65 (  0.03%)	
             len=22, pos=21, align=0:         9.31	        9.53 ( -2.38%)	
             len=22, pos=21, align=0:         8.40	        8.40 (  0.03%)	
          len=22, pos=21, align=4085:        42.01	       42.37 ( -0.87%)	
             len=23, pos=22, align=0:         8.40	        8.40 (  0.02%)	
             len=23, pos=22, align=0:         9.26	        9.43 ( -1.90%)	
          len=23, pos=22, align=4084:        42.72	       42.81 ( -0.22%)	
             len=24, pos=23, align=0:         9.44	        8.40 ( 10.96%)	
             len=24, pos=23, align=0:         8.40	        8.40 (  0.02%)	
          len=24, pos=23, align=4084:        43.01	       42.06 (  2.22%)	
             len=25, pos=24, align=0:         9.73	        9.56 (  1.83%)	
             len=25, pos=24, align=0:         9.59	        9.51 (  0.81%)	
          len=25, pos=24, align=4083:        42.33	       42.85 ( -1.24%)	
             len=26, pos=25, align=0:         8.40	        8.40 (  0.03%)	
             len=26, pos=25, align=0:         9.17	        9.56 ( -4.22%)	
          len=26, pos=25, align=4083:        42.34	       42.77 ( -0.99%)	
             len=27, pos=26, align=0:         9.26	        9.56 ( -3.26%)	
             len=27, pos=26, align=0:         8.40	        8.40 (  0.02%)	
          len=27, pos=26, align=4082:        43.38	       43.76 ( -0.87%)	
             len=28, pos=27, align=0:        10.03	        8.40 ( 16.21%)	
             len=28, pos=27, align=0:         8.40	        8.40 (  0.02%)	
          len=28, pos=27, align=4082:        42.66	       42.98 ( -0.73%)	
             len=29, pos=28, align=0:        10.09	        8.40 ( 16.74%)	
             len=29, pos=28, align=0:         8.40	        8.40 (  0.01%)	
          len=29, pos=28, align=4081:        42.33	       43.52 ( -2.82%)	
             len=30, pos=29, align=0:        10.14	        8.42 ( 16.98%)	
             len=30, pos=29, align=0:         9.28	        9.77 ( -5.25%)	
          len=30, pos=29, align=4081:        42.65	       42.36 (  0.69%)	
             len=31, pos=30, align=0:         8.40	        8.42 ( -0.22%)	
             len=31, pos=30, align=0:         9.56	        9.51 (  0.49%)	
          len=31, pos=30, align=4080:        42.36	       42.00 (  0.84%)	
             len=32, pos=31, align=0:        16.20	        8.40 ( 48.11%)	
             len=32, pos=31, align=0:        14.40	        8.40 ( 41.66%)	
          len=32, pos=31, align=4080:        39.70	       43.23 ( -8.89%)	
              len=16, pos=0, align=0:         8.76	        8.40 (  4.09%)	
             len=32, pos=16, align=0:        14.45	        9.43 ( 34.77%)	
             len=48, pos=32, align=0:        13.99	        9.56 ( 31.66%)	
             len=64, pos=48, align=0:        15.16	       14.87 (  1.94%)	
             len=80, pos=64, align=0:        16.39	       13.21 ( 19.43%)	
             len=96, pos=80, align=0:        18.77	       13.20 ( 29.66%)	
            len=112, pos=96, align=0:        17.16	       13.56 ( 20.99%)	
           len=128, pos=112, align=0:        23.95	       21.41 ( 10.61%)	
           len=144, pos=128, align=0:        24.93	       16.80 ( 32.60%)	
           len=160, pos=144, align=0:        23.86	       17.97 ( 24.70%)	
           len=176, pos=160, align=0:        23.60	       17.78 ( 24.65%)	
           len=192, pos=176, align=0:        28.66	       19.00 ( 33.69%)	
           len=208, pos=192, align=0:        29.25	       17.89 ( 38.85%)	
           len=224, pos=208, align=0:        29.08	       15.92 ( 45.25%)	
           len=240, pos=224, align=0:        28.72	       16.75 ( 41.66%)	
           len=256, pos=240, align=0:        30.69	       25.59 ( 16.60%)	
           len=272, pos=256, align=0:        30.03	       21.33 ( 28.97%)	
           len=288, pos=272, align=0:        30.16	       25.36 ( 15.90%)	
              len=16, pos=0, align=0:         8.72	        9.60 (-10.09%)	
             len=16, pos=16, align=0:        10.49	        9.61 (  8.40%)	
             len=16, pos=16, align=0:         9.99	       10.00 ( -0.09%)	
              len=16, pos=0, align=0:         8.74	        8.41 (  3.80%)	
             len=16, pos=16, align=0:         9.63	       10.33 ( -7.18%)	
             len=16, pos=48, align=0:         9.64	       10.44 ( -8.25%)	
             len=64, pos=16, align=0:        16.40	       14.97 (  8.71%)	
             len=16, pos=96, align=0:         9.63	       10.00 ( -3.82%)	
            len=112, pos=16, align=0:        18.48	       13.92 ( 24.67%)	
            len=16, pos=144, align=0:         9.63	       10.00 ( -3.82%)	
            len=160, pos=16, align=0:        26.01	       24.13 (  7.23%)	
            len=16, pos=192, align=0:        10.01	       10.33 ( -3.12%)	
            len=208, pos=16, align=0:        24.79	       25.34 ( -2.22%)	
            len=16, pos=240, align=0:        10.00	       10.81 ( -8.07%)	
            len=256, pos=16, align=0:        32.88	       27.97 ( 14.94%)	
            len=16, pos=288, align=0:         9.63	       10.36 ( -7.65%)	
            len=304, pos=16, align=0:        28.42	       27.60 (  2.86%)	
              len=32, pos=0, align=0:        15.11	        9.88 ( 34.63%)	
             len=32, pos=32, align=0:        15.49	       10.00 ( 35.42%)	
             len=32, pos=32, align=0:        15.48	       11.04 ( 28.68%)	
              len=32, pos=0, align=0:        15.88	        8.40 ( 47.09%)	
             len=32, pos=32, align=0:        15.18	       11.05 ( 27.23%)	
             len=32, pos=48, align=0:        15.10	       11.37 ( 24.67%)	
             len=80, pos=32, align=0:        17.31	       15.00 ( 13.35%)	
             len=32, pos=96, align=0:        15.31	       11.07 ( 27.70%)	
            len=128, pos=32, align=0:        23.59	       22.64 (  4.00%)	
            len=32, pos=144, align=0:        15.14	       11.00 ( 27.33%)	
            len=176, pos=32, align=0:        23.88	       22.60 (  5.33%)	
            len=32, pos=192, align=0:        15.09	       12.13 ( 19.61%)	
            len=224, pos=32, align=0:        24.86	       25.82 ( -3.88%)	
            len=32, pos=240, align=0:        15.50	       11.02 ( 28.89%)	
            len=272, pos=32, align=0:        26.74	       28.55 ( -6.78%)	
            len=32, pos=288, align=0:        15.54	       11.79 ( 24.12%)	
            len=320, pos=32, align=0:        30.90	       29.12 (  5.75%)	
              len=64, pos=0, align=0:        16.35	       15.24 (  6.81%)	
             len=64, pos=64, align=0:        18.36	       13.97 ( 23.91%)	
             len=64, pos=64, align=0:        16.41	       15.64 (  4.71%)	
              len=64, pos=0, align=0:        16.65	       14.99 (  9.96%)	
             len=64, pos=64, align=0:        18.31	       14.31 ( 21.86%)	
             len=64, pos=48, align=0:        16.38	       15.88 (  3.08%)	
            len=112, pos=64, align=0:        17.61	       14.17 ( 19.54%)	
             len=64, pos=16, align=0:        16.69	       15.85 (  5.02%)	
             len=16, pos=48, align=0:        10.29	       10.04 (  2.43%)	
             len=16, pos=64, align=0:        10.21	       10.04 (  1.65%)	
             len=64, pos=96, align=0:        17.27	       13.99 ( 19.00%)	
            len=160, pos=64, align=0:        23.92	       23.74 (  0.74%)	
            len=64, pos=144, align=0:        17.90	       13.99 ( 21.83%)	
            len=208, pos=64, align=0:        25.10	       22.03 ( 12.24%)	
            len=64, pos=192, align=0:        17.16	       14.41 ( 16.06%)	
            len=256, pos=64, align=0:        27.20	       26.79 (  1.52%)	
            len=64, pos=240, align=0:        16.52	       14.83 ( 10.23%)	
            len=304, pos=64, align=0:        27.20	       26.75 (  1.65%)	
            len=64, pos=288, align=0:        16.43	       15.42 (  6.11%)	
            len=352, pos=64, align=0:        29.13	       27.41 (  5.89%)	
             len=128, pos=0, align=0:        23.58	       23.63 ( -0.21%)	
           len=128, pos=128, align=0:        24.49	       21.61 ( 11.79%)	
           len=128, pos=128, align=0:        23.63	       23.00 (  2.68%)	
             len=128, pos=0, align=0:        24.65	       21.62 ( 12.27%)	
           len=128, pos=128, align=0:        24.84	       22.94 (  7.67%)	
            len=128, pos=48, align=0:        24.59	       21.61 ( 12.14%)	
           len=176, pos=128, align=0:        24.75	       16.81 ( 32.09%)	
            len=128, pos=80, align=0:        24.39	       20.41 ( 16.34%)	
             len=80, pos=48, align=0:        15.33	       16.18 ( -5.49%)	
            len=80, pos=128, align=0:        16.73	       15.29 (  8.56%)	
            len=128, pos=96, align=0:        21.93	       19.20 ( 12.45%)	
           len=224, pos=128, align=0:        29.86	       19.00 ( 36.39%)	
            len=128, pos=32, align=0:        24.49	       22.80 (  6.88%)	
             len=32, pos=96, align=0:        15.10	       13.00 ( 13.91%)	
            len=32, pos=128, align=0:        15.17	       11.36 ( 25.14%)	
           len=128, pos=144, align=0:        24.60	       21.61 ( 12.16%)	
           len=272, pos=128, align=0:        31.89	       26.26 ( 17.65%)	
           len=128, pos=192, align=0:        23.90	       22.56 (  5.60%)	
           len=320, pos=128, align=0:        35.78	       24.61 ( 31.22%)	
           len=128, pos=240, align=0:        23.53	       22.66 (  3.69%)	
           len=368, pos=128, align=0:        34.76	       25.62 ( 26.31%)	
           len=128, pos=288, align=0:        24.75	       21.61 ( 12.68%)	
           len=416, pos=128, align=0:        36.82	       30.11 ( 18.22%)	
             len=256, pos=0, align=0:        27.81	       29.74 ( -6.95%)	
           len=256, pos=256, align=0:        27.42	       28.53 ( -4.06%)	
           len=256, pos=256, align=0:        29.30	       28.80 (  1.71%)	
             len=256, pos=0, align=0:        27.22	       28.71 ( -5.47%)	
           len=256, pos=256, align=0:        28.03	       27.72 (  1.10%)	
            len=256, pos=48, align=0:        27.01	       28.51 ( -5.54%)	
           len=304, pos=256, align=0:        29.58	       21.50 ( 27.30%)	
           len=256, pos=208, align=0:        31.96	       26.17 ( 18.11%)	
            len=208, pos=48, align=0:        26.03	       24.48 (  5.94%)	
           len=208, pos=256, align=0:        25.88	       23.41 (  9.55%)	
            len=256, pos=96, align=0:        24.77	       27.11 ( -9.43%)	
           len=352, pos=256, align=0:        35.43	       23.86 ( 32.66%)	
           len=256, pos=160, align=0:        30.80	       23.80 ( 22.73%)	
            len=160, pos=96, align=0:        21.55	       21.42 (  0.57%)	
           len=160, pos=256, align=0:        24.33	       21.61 ( 11.18%)	
           len=256, pos=144, align=0:        32.31	       25.09 ( 22.35%)	
           len=400, pos=256, align=0:        36.31	       29.77 ( 18.02%)	
           len=256, pos=112, align=0:        25.96	       26.99 ( -3.97%)	
           len=112, pos=144, align=0:        18.79	       14.40 ( 23.34%)	
           len=112, pos=256, align=0:        17.56	       15.36 ( 12.54%)	
           len=256, pos=192, align=0:        32.39	       23.90 ( 26.20%)	
           len=448, pos=256, align=0:        40.54	       28.82 ( 28.92%)	
            len=256, pos=64, align=0:        28.85	       25.81 ( 10.54%)	
            len=64, pos=192, align=0:        17.40	       14.40 ( 17.25%)	
            len=64, pos=256, align=0:        16.45	       15.42 (  6.28%)	
           len=256, pos=240, align=0:        30.98	       23.93 ( 22.77%)	
           len=496, pos=256, align=0:        39.61	       29.92 ( 24.46%)	
            len=256, pos=16, align=0:        28.32	       28.48 ( -0.57%)	
            len=16, pos=240, align=0:        10.01	       10.80 ( -7.99%)	
            len=16, pos=256, align=0:         9.63	       10.00 ( -3.85%)	
           len=256, pos=288, align=0:        27.24	       29.46 ( -8.14%)	
           len=544, pos=256, align=0:        44.03	       36.02 ( 18.20%)	
             len=512, pos=0, align=0:        39.80	       37.25 (  6.39%)	
           len=512, pos=512, align=0:        40.67	       33.61 ( 17.36%)	
           len=512, pos=512, align=0:        39.21	       34.65 ( 11.62%)	
             len=512, pos=0, align=0:        40.11	       36.33 (  9.42%)	
           len=512, pos=512, align=0:        39.64	       34.54 ( 12.85%)	
            len=512, pos=48, align=0:        38.94	       36.36 (  6.62%)	
           len=560, pos=512, align=0:        42.54	       32.74 ( 23.03%)	
           len=512, pos=464, align=0:        46.72	       38.25 ( 18.13%)	
            len=464, pos=48, align=0:        37.79	       33.61 ( 11.05%)	
           len=464, pos=512, align=0:        35.32	       33.41 (  5.41%)	
            len=512, pos=96, align=0:        36.89	       36.02 (  2.36%)	
           len=608, pos=512, align=0:        45.69	       28.91 ( 36.74%)	
           len=512, pos=416, align=0:        42.40	       36.33 ( 14.31%)	
            len=416, pos=96, align=0:        32.11	       26.41 ( 17.74%)	
           len=416, pos=512, align=0:        34.11	       30.94 (  9.29%)	
           len=512, pos=144, align=0:        40.82	       33.15 ( 18.79%)	
           len=656, pos=512, align=0:        53.56	       39.62 ( 26.02%)	
           len=512, pos=368, align=0:        40.43	       34.15 ( 15.53%)	
           len=368, pos=144, align=0:        34.40	       23.90 ( 30.52%)	
           len=368, pos=512, align=0:        30.88	       30.12 (  2.46%)	
           len=512, pos=192, align=0:        42.84	       33.62 ( 21.52%)	
           len=704, pos=512, align=0:        54.55	       40.69 ( 25.40%)	
           len=512, pos=320, align=0:        43.83	       34.67 ( 20.88%)	
           len=320, pos=192, align=0:        36.72	       22.81 ( 37.88%)	
           len=320, pos=512, align=0:        31.38	       29.92 (  4.65%)	
           len=512, pos=240, align=0:        41.21	       36.32 ( 11.86%)	
           len=752, pos=512, align=0:        49.48	       37.11 ( 25.00%)	
           len=512, pos=272, align=0:        42.59	       33.99 ( 20.19%)	
           len=272, pos=240, align=0:        30.72	       23.89 ( 22.22%)	
           len=272, pos=512, align=0:        29.03	       28.74 (  1.01%)	
           len=512, pos=288, align=0:        41.55	       33.01 ( 20.57%)	
           len=800, pos=512, align=0:        57.90	       44.56 ( 23.03%)	
           len=512, pos=224, align=0:        39.93	       33.46 ( 16.20%)	
           len=224, pos=288, align=0:        26.76	       23.41 ( 12.53%)	
           len=224, pos=512, align=0:        24.73	       24.45 (  1.16%)	
            len=1024, pos=0, align=0:        65.43	       52.79 ( 19.32%)	
         len=1024, pos=1024, align=0:        65.38	       51.83 ( 20.73%)	
         len=1024, pos=1024, align=0:        65.39	       51.73 ( 20.89%)	
            len=1024, pos=0, align=0:        65.29	       48.32 ( 26.00%)	
         len=1024, pos=1024, align=0:        65.21	       51.36 ( 21.24%)	
           len=1024, pos=48, align=0:        65.97	       48.20 ( 26.94%)	
         len=1072, pos=1024, align=0:        74.95	       54.02 ( 27.93%)	
          len=1024, pos=976, align=0:        71.64	       57.28 ( 20.05%)	
            len=976, pos=48, align=0:        61.61	       49.47 ( 19.70%)	
          len=976, pos=1024, align=0:        62.26	       46.66 ( 25.06%)	
           len=1024, pos=96, align=0:        63.84	       49.21 ( 22.91%)	
         len=1120, pos=1024, align=0:        74.30	       46.98 ( 36.78%)	
          len=1024, pos=928, align=0:        78.38	       52.31 ( 33.27%)	
            len=928, pos=96, align=0:        55.64	       45.46 ( 18.29%)	
          len=928, pos=1024, align=0:        59.88	       43.21 ( 27.84%)	
          len=1024, pos=144, align=0:        67.80	       50.30 ( 25.81%)	
         len=1168, pos=1024, align=0:        83.47	       62.71 ( 24.87%)	
          len=1024, pos=880, align=0:        74.44	       55.51 ( 25.42%)	
           len=880, pos=144, align=0:        58.45	       39.97 ( 31.61%)	
          len=880, pos=1024, align=0:        55.23	       42.24 ( 23.52%)	
          len=1024, pos=192, align=0:        67.03	       50.13 ( 25.21%)	
         len=1216, pos=1024, align=0:        81.46	       55.36 ( 32.04%)	
          len=1024, pos=832, align=0:        70.44	       50.59 ( 28.18%)	
           len=832, pos=192, align=0:        58.43	       42.01 ( 28.11%)	
          len=832, pos=1024, align=0:        55.57	       44.06 ( 20.72%)	
          len=1024, pos=240, align=0:        66.62	       51.70 ( 22.40%)	
         len=1264, pos=1024, align=0:        80.98	       55.45 ( 31.52%)	
          len=1024, pos=784, align=0:        70.79	       53.96 ( 23.78%)	
           len=784, pos=240, align=0:        50.96	       42.09 ( 17.41%)	
          len=784, pos=1024, align=0:        54.35	       42.72 ( 21.39%)	
          len=1024, pos=288, align=0:        64.82	       51.25 ( 20.94%)	
         len=1312, pos=1024, align=0:        86.49	       64.61 ( 25.30%)	
          len=1024, pos=736, align=0:        67.51	       52.79 ( 21.81%)	
           len=736, pos=288, align=0:        48.79	       37.09 ( 23.98%)	
          len=736, pos=1024, align=0:        51.84	       38.41 ( 25.90%)	
            len=2048, pos=0, align=0:       116.87	       82.46 ( 29.45%)	
         len=2048, pos=2048, align=0:       115.13	       79.50 ( 30.95%)	
         len=2048, pos=2048, align=0:       117.07	       79.44 ( 32.15%)	
            len=2048, pos=0, align=0:       117.02	       76.37 ( 34.74%)	
         len=2048, pos=2048, align=0:       115.31	       72.77 ( 36.89%)	
           len=2048, pos=48, align=0:       119.55	       72.79 ( 39.11%)	
         len=2096, pos=2048, align=0:       145.64	       97.43 ( 33.10%)	
         len=2048, pos=2000, align=0:       133.63	       99.04 ( 25.89%)	
           len=2000, pos=48, align=0:       115.95	       78.33 ( 32.44%)	
         len=2000, pos=2048, align=0:       113.77	       76.89 ( 32.41%)	
           len=2048, pos=96, align=0:       112.32	       81.92 ( 27.06%)	
         len=2144, pos=2048, align=0:       135.52	       89.49 ( 33.97%)	
         len=2048, pos=1952, align=0:       131.08	       90.38 ( 31.04%)	
           len=1952, pos=96, align=0:       106.53	       75.85 ( 28.80%)	
         len=1952, pos=2048, align=0:       110.67	       75.82 ( 31.49%)	
          len=2048, pos=144, align=0:       121.10	       82.98 ( 31.48%)	
         len=2192, pos=2048, align=0:       138.26	       97.54 ( 29.45%)	
         len=2048, pos=1904, align=0:       134.33	      103.76 ( 22.76%)	
          len=1904, pos=144, align=0:       109.71	       72.16 ( 34.23%)	
         len=1904, pos=2048, align=0:       104.05	       72.19 ( 30.61%)	
          len=2048, pos=192, align=0:       117.44	       80.00 ( 31.88%)	
         len=2240, pos=2048, align=0:       142.29	       97.02 ( 31.82%)	
         len=2048, pos=1856, align=0:       129.75	       94.01 ( 27.54%)	
          len=1856, pos=192, align=0:       112.26	       71.18 ( 36.60%)	
         len=1856, pos=2048, align=0:       106.34	       71.11 ( 33.13%)	
          len=2048, pos=240, align=0:       116.59	       79.52 ( 31.80%)	
         len=2288, pos=2048, align=0:       141.98	      100.37 ( 29.31%)	
         len=2048, pos=1808, align=0:       129.63	       90.55 ( 30.14%)	
          len=1808, pos=240, align=0:       104.42	       72.33 ( 30.73%)	
         len=1808, pos=2048, align=0:       102.03	       61.48 ( 39.74%)	
          len=2048, pos=288, align=0:       120.42	       82.97 ( 31.10%)	
         len=2336, pos=2048, align=0:       142.21	      102.39 ( 28.00%)	
         len=2048, pos=1760, align=0:       132.71	      100.33 ( 24.40%)	
          len=1760, pos=288, align=0:       102.92	       69.78 ( 32.20%)	
         len=1760, pos=2048, align=0:       101.42	       69.86 ( 31.12%)	
           len=2048, pos=32, align=0:       119.13	       80.24 ( 32.65%)	
           len=2048, pos=32, align=1:       120.36	       81.89 ( 31.97%)	
           len=2048, pos=64, align=0:       118.45	       80.53 ( 32.01%)	
           len=2048, pos=64, align=2:       118.82	       73.69 ( 37.98%)	
          len=2048, pos=128, align=0:       119.20	       80.21 ( 32.71%)	
          len=2048, pos=128, align=3:       120.57	       79.47 ( 34.08%)	
          len=2048, pos=256, align=0:       119.95	       83.07 ( 30.75%)	
          len=2048, pos=256, align=4:       121.51	       83.09 ( 31.62%)	
          len=2048, pos=512, align=0:       129.58	       85.47 ( 34.04%)	
          len=2048, pos=512, align=5:       124.29	       87.02 ( 29.99%)	
         len=2048, pos=1024, align=0:       127.70	       94.21 ( 26.22%)	
         len=2048, pos=1024, align=6:       127.68	       85.79 ( 32.81%)	
         len=2048, pos=2048, align=0:       123.04	       85.18 ( 30.78%)	
         len=2048, pos=2048, align=7:       123.91	       86.64 ( 30.07%)	
         len=2048, pos=4096, align=0:       119.20	       72.89 ( 38.86%)	
         len=2048, pos=4096, align=8:       118.45	       80.63 ( 31.93%)	
            len=256, pos=64, align=1:        28.67	       27.34 (  4.66%)	
            len=256, pos=64, align=1:        28.44	       27.22 (  4.29%)	
           len=256, pos=64, align=15:        27.20	       27.09 (  0.42%)	
           len=256, pos=64, align=15:        27.28	       26.78 (  1.84%)	
            len=256, pos=64, align=2:        26.73	       26.15 (  2.15%)	
            len=256, pos=64, align=2:        28.39	       26.12 (  8.00%)	
           len=256, pos=64, align=30:        27.22	       27.06 (  0.60%)	
           len=256, pos=64, align=30:        28.09	       25.80 (  8.16%)	
            len=256, pos=64, align=3:        27.49	       26.75 (  2.70%)	
            len=256, pos=64, align=3:        28.41	       25.80 (  9.17%)	
           len=256, pos=64, align=45:        27.25	       27.68 ( -1.61%)	
           len=256, pos=64, align=45:        28.20	       25.80 (  8.50%)	
            len=256, pos=64, align=4:        27.43	       26.15 (  4.64%)	
            len=256, pos=64, align=4:        28.27	       25.80 (  8.74%)	
           len=256, pos=64, align=60:        27.22	       27.06 (  0.61%)	
           len=256, pos=64, align=60:        26.41	       27.14 ( -2.76%)	
            len=256, pos=64, align=5:        27.26	       26.78 (  1.73%)	
            len=256, pos=64, align=5:        27.50	       26.77 (  2.66%)	
           len=256, pos=64, align=75:        28.25	       24.99 ( 11.53%)	
           len=256, pos=64, align=75:        27.20	       24.41 ( 10.25%)	
            len=256, pos=64, align=6:        28.33	       25.81 (  8.91%)	
            len=256, pos=64, align=6:        27.56	       26.10 (  5.32%)	
           len=256, pos=64, align=90:        28.33	       24.92 ( 12.02%)	
           len=256, pos=64, align=90:        27.17	       26.03 (  4.21%)	
            len=256, pos=64, align=7:        28.31	       25.81 (  8.85%)	
            len=256, pos=64, align=7:        26.73	       26.68 (  0.16%)	
          len=256, pos=64, align=105:        28.07	       24.78 ( 11.70%)	
          len=256, pos=64, align=105:        27.16	       24.39 ( 10.20%)	
               len=1, pos=0, align=0:         9.61	        9.61 (  0.00%)	
               len=1, pos=0, align=0:         8.40	        8.40 (  0.00%)	
            len=1, pos=0, align=4095:        42.81	       42.38 (  1.01%)	
               len=2, pos=1, align=0:         8.40	        8.40 ( -0.03%)	
               len=2, pos=1, align=0:         8.72	        8.40 (  3.61%)	
            len=2, pos=1, align=4095:        42.00	       43.39 ( -3.31%)	
               len=3, pos=2, align=0:         8.40	        8.77 ( -4.41%)	
               len=3, pos=2, align=0:         8.40	        8.40 (  0.00%)	
            len=3, pos=2, align=4094:        42.32	       42.00 (  0.74%)	
               len=4, pos=3, align=0:         8.40	        8.42 ( -0.21%)	
               len=4, pos=3, align=0:         8.40	        8.73 ( -3.92%)	
            len=4, pos=3, align=4094:        42.00	       42.42 ( -1.00%)	
               len=5, pos=4, align=0:         8.40	        8.73 ( -3.94%)	
               len=5, pos=4, align=0:         8.40	        8.42 ( -0.20%)	
            len=5, pos=4, align=4093:        42.31	       42.41 ( -0.22%)	
               len=6, pos=5, align=0:         8.40	        8.42 ( -0.22%)	
               len=6, pos=5, align=0:         8.40	        8.42 ( -0.19%)	
            len=6, pos=5, align=4093:        42.78	       42.00 (  1.82%)	
               len=7, pos=6, align=0:         8.40	        8.42 ( -0.21%)	
               len=7, pos=6, align=0:         8.76	        8.42 (  3.81%)	
            len=7, pos=6, align=4092:        42.49	       42.00 (  1.14%)	
               len=8, pos=7, align=0:         8.40	        8.42 ( -0.20%)	
               len=8, pos=7, align=0:         8.40	        8.73 ( -3.92%)	
            len=8, pos=7, align=4092:        43.23	       42.00 (  2.83%)	
               len=9, pos=8, align=0:         8.40	        8.42 ( -0.22%)	
               len=9, pos=8, align=0:         8.72	        8.42 (  3.34%)	
            len=9, pos=8, align=4091:        42.36	       42.00 (  0.84%)	
              len=10, pos=9, align=0:         8.40	        8.42 ( -0.21%)	
              len=10, pos=9, align=0:         8.40	        8.42 ( -0.21%)	
           len=10, pos=9, align=4091:        42.62	       42.00 (  1.44%)	
             len=11, pos=10, align=0:         8.40	        8.42 ( -0.22%)	
             len=11, pos=10, align=0:         8.40	        8.42 ( -0.21%)	
          len=11, pos=10, align=4090:        42.01	       42.75 ( -1.76%)	
             len=12, pos=11, align=0:         8.40	        8.77 ( -4.41%)	
             len=12, pos=11, align=0:         8.40	        8.42 ( -0.20%)	
          len=12, pos=11, align=4090:        42.32	       42.00 (  0.74%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.20%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.19%)	
          len=13, pos=12, align=4089:        42.45	       42.33 (  0.29%)	
             len=14, pos=13, align=0:         8.40	        8.42 ( -0.21%)	
             len=14, pos=13, align=0:         8.40	        8.42 ( -0.20%)	
          len=14, pos=13, align=4089:        43.04	       42.00 (  2.40%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.20%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.20%)	
          len=15, pos=14, align=4088:        42.00	       42.36 ( -0.85%)	
             len=16, pos=15, align=0:         8.40	        8.42 ( -0.20%)	
             len=16, pos=15, align=0:         8.75	        8.42 (  3.75%)	
          len=16, pos=15, align=4088:        42.32	       42.36 ( -0.08%)	
             len=17, pos=16, align=0:         9.60	        9.82 ( -2.31%)	
             len=17, pos=16, align=0:         9.59	        9.66 ( -0.69%)	
          len=17, pos=16, align=4087:        42.77	       42.77 (  0.02%)	
             len=18, pos=17, align=0:         9.38	        9.89 ( -5.48%)	
             len=18, pos=17, align=0:         9.33	        9.53 ( -2.12%)	
          len=18, pos=17, align=4087:        42.71	       42.77 ( -0.14%)	
             len=19, pos=18, align=0:         9.68	        9.76 ( -0.77%)	
             len=19, pos=18, align=0:         9.71	        9.56 (  1.52%)	
          len=19, pos=18, align=4086:        42.34	       42.83 ( -1.15%)	
             len=20, pos=19, align=0:         9.29	        9.53 ( -2.58%)	
             len=20, pos=19, align=0:         8.40	        8.42 ( -0.21%)	
          len=20, pos=19, align=4086:        42.81	       42.41 (  0.93%)	
             len=21, pos=20, align=0:         8.40	        8.42 ( -0.19%)	
             len=21, pos=20, align=0:         8.40	        8.42 ( -0.17%)	
          len=21, pos=20, align=4085:        42.37	       42.00 (  0.87%)	
             len=22, pos=21, align=0:         8.40	        8.42 ( -0.18%)	
             len=22, pos=21, align=0:         9.31	       10.20 ( -9.60%)	
          len=22, pos=21, align=4085:        42.70	       42.75 ( -0.13%)	
             len=23, pos=22, align=0:         9.35	        9.52 ( -1.86%)	
             len=23, pos=22, align=0:         8.40	        8.42 ( -0.18%)	
          len=23, pos=22, align=4084:        42.00	       42.37 ( -0.86%)	
             len=24, pos=23, align=0:         8.40	        8.42 ( -0.20%)	
             len=24, pos=23, align=0:         9.22	       10.09 ( -9.48%)	
          len=24, pos=23, align=4084:        42.32	       42.77 ( -1.06%)	
             len=25, pos=24, align=0:         8.40	        9.53 (-13.37%)	
             len=25, pos=24, align=0:         8.40	        8.42 ( -0.20%)	
          len=25, pos=24, align=4083:        42.69	       42.00 (  1.60%)	
             len=26, pos=25, align=0:         9.62	        9.56 (  0.58%)	
             len=26, pos=25, align=0:         9.51	        9.55 ( -0.38%)	
          len=26, pos=25, align=4083:        42.94	       42.00 (  2.19%)	
             len=27, pos=26, align=0:        10.13	        8.77 ( 13.39%)	
             len=27, pos=26, align=0:         9.31	        9.57 ( -2.81%)	
          len=27, pos=26, align=4082:        42.32	       42.05 (  0.62%)	
             len=28, pos=27, align=0:         9.26	        9.58 ( -3.42%)	
             len=28, pos=27, align=0:         9.28	        9.53 ( -2.62%)	
          len=28, pos=27, align=4082:        43.07	       42.06 (  2.35%)	
             len=29, pos=28, align=0:        10.11	        8.73 ( 13.65%)	
             len=29, pos=28, align=0:         9.30	        9.54 ( -2.63%)	
          len=29, pos=28, align=4081:        42.32	       43.04 ( -1.70%)	
             len=30, pos=29, align=0:         9.60	        9.59 (  0.12%)	
             len=30, pos=29, align=0:         9.19	        9.44 ( -2.72%)	
          len=30, pos=29, align=4081:        42.65	       42.90 ( -0.58%)	
             len=31, pos=30, align=0:        10.13	        8.42 ( 16.88%)	
             len=31, pos=30, align=0:        10.14	        8.42 ( 16.96%)	
          len=31, pos=30, align=4080:        42.81	       42.81 ( -0.01%)	
             len=32, pos=31, align=0:        15.61	        8.42 ( 46.05%)	
             len=32, pos=31, align=0:        15.10	        9.52 ( 36.95%)	
          len=32, pos=31, align=4080:        40.05	       42.82 ( -6.92%)	
              len=16, pos=0, align=0:         9.61	        8.42 ( 12.37%)	
             len=32, pos=16, align=0:        15.21	        9.56 ( 37.17%)	
             len=48, pos=32, align=0:        14.70	        8.42 ( 42.72%)	
             len=64, pos=48, align=0:        16.48	       14.96 (  9.24%)	
             len=80, pos=64, align=0:        16.86	       13.20 ( 21.67%)	
             len=96, pos=80, align=0:        17.59	       14.51 ( 17.50%)	
            len=112, pos=96, align=0:        17.19	       13.20 ( 23.20%)	
           len=128, pos=112, align=0:        24.74	       20.56 ( 16.91%)	
           len=144, pos=128, align=0:        23.58	       18.16 ( 23.00%)	
           len=160, pos=144, align=0:        23.56	       17.77 ( 24.56%)	
           len=176, pos=160, align=0:        23.69	       17.79 ( 24.89%)	
           len=192, pos=176, align=0:        29.09	       18.36 ( 36.88%)	
           len=208, pos=192, align=0:        28.24	       18.22 ( 35.49%)	
           len=224, pos=208, align=0:        27.61	       16.73 ( 39.43%)	
           len=240, pos=224, align=0:        28.37	       16.62 ( 41.42%)	
           len=256, pos=240, align=0:        32.28	       25.09 ( 22.28%)	
           len=272, pos=256, align=0:        32.98	       23.12 ( 29.88%)	
           len=288, pos=272, align=0:        32.09	       23.87 ( 25.61%)	
              len=16, pos=0, align=0:         9.60	        8.40 ( 12.49%)	
             len=16, pos=16, align=0:         8.40	        8.40 ( -0.01%)	
             len=16, pos=16, align=0:         8.40	        8.40 (  0.02%)	
              len=16, pos=0, align=0:         8.40	        8.40 (  0.01%)	
             len=16, pos=16, align=0:         8.40	        8.40 (  0.03%)	
             len=16, pos=48, align=0:         8.40	        8.40 (  0.03%)	
             len=64, pos=16, align=0:        16.42	       14.99 (  8.74%)	
             len=16, pos=96, align=0:        10.01	       10.81 ( -7.99%)	
            len=112, pos=16, align=0:        17.58	       16.09 (  8.50%)	
            len=16, pos=144, align=0:        10.28	        9.62 (  6.46%)	
            len=160, pos=16, align=0:        26.03	       23.81 (  8.52%)	
            len=16, pos=192, align=0:         9.63	       10.03 ( -4.17%)	
            len=208, pos=16, align=0:        25.94	       25.03 (  3.49%)	
            len=16, pos=240, align=0:         9.63	        9.98 ( -3.65%)	
            len=256, pos=16, align=0:        32.86	       28.56 ( 13.09%)	
            len=16, pos=288, align=0:         9.60	       10.04 ( -4.51%)	
            len=304, pos=16, align=0:        27.23	       28.84 ( -5.91%)	
              len=32, pos=0, align=0:        15.95	        9.63 ( 39.60%)	
             len=32, pos=32, align=0:        15.63	        9.46 ( 39.48%)	
             len=32, pos=32, align=0:        15.91	        8.43 ( 47.00%)	
              len=32, pos=0, align=0:        14.77	        9.56 ( 35.29%)	
             len=32, pos=32, align=0:        15.26	       10.12 ( 33.66%)	
             len=32, pos=48, align=0:        15.89	        8.40 ( 47.14%)	
             len=80, pos=32, align=0:        16.90	       14.24 ( 15.76%)	
             len=32, pos=96, align=0:        14.40	        8.40 ( 41.66%)	
            len=128, pos=32, align=0:        24.87	       21.61 ( 13.14%)	
            len=32, pos=144, align=0:        14.44	       10.04 ( 30.48%)	
            len=176, pos=32, align=0:        23.57	       22.57 (  4.25%)	
            len=32, pos=192, align=0:        15.11	       11.11 ( 26.47%)	
            len=224, pos=32, align=0:        24.85	       25.42 ( -2.29%)	
            len=32, pos=240, align=0:        15.99	        9.95 ( 37.79%)	
            len=272, pos=32, align=0:        27.22	       28.90 ( -6.16%)	
            len=32, pos=288, align=0:        15.97	       10.04 ( 37.17%)	
            len=320, pos=32, align=0:        30.00	       29.78 (  0.73%)	
              len=64, pos=0, align=0:        16.45	       15.91 (  3.24%)	
             len=64, pos=64, align=0:        15.23	       16.06 ( -5.48%)	
             len=64, pos=64, align=0:        15.21	       14.92 (  1.86%)	
              len=64, pos=0, align=0:        16.37	       14.94 (  8.76%)	
             len=64, pos=64, align=0:        15.51	       14.98 (  3.41%)	
             len=64, pos=48, align=0:        15.95	       14.92 (  6.50%)	
            len=112, pos=64, align=0:        17.63	       14.14 ( 19.77%)	
             len=64, pos=16, align=0:        16.45	       14.90 (  9.45%)	
             len=16, pos=48, align=0:         8.41	        9.63 (-14.49%)	
             len=16, pos=64, align=0:         9.63	       10.04 ( -4.18%)	
             len=64, pos=96, align=0:        15.59	       14.86 (  4.63%)	
            len=160, pos=64, align=0:        24.68	       21.61 ( 12.45%)	
            len=64, pos=144, align=0:        15.15	       15.98 ( -5.48%)	
            len=208, pos=64, align=0:        24.38	       21.41 ( 12.17%)	
            len=64, pos=192, align=0:        16.53	       13.92 ( 15.76%)	
            len=256, pos=64, align=0:        27.23	       27.09 (  0.52%)	
            len=64, pos=240, align=0:        16.31	       14.40 ( 11.70%)	
            len=304, pos=64, align=0:        27.28	       27.06 (  0.83%)	
            len=64, pos=288, align=0:        18.53	       13.98 ( 24.56%)	
            len=352, pos=64, align=0:        30.29	       28.50 (  5.91%)	
             len=128, pos=0, align=0:        24.01	       23.77 (  1.01%)	
           len=128, pos=128, align=0:        22.13	       20.41 (  7.80%)	
           len=128, pos=128, align=0:        21.15	       21.82 ( -3.15%)	
             len=128, pos=0, align=0:        24.39	       22.80 (  6.51%)	
           len=128, pos=128, align=0:        21.15	       21.21 ( -0.28%)	
            len=128, pos=48, align=0:        24.53	       24.00 (  2.14%)	
           len=176, pos=128, align=0:        23.54	       17.83 ( 24.29%)	
            len=128, pos=80, align=0:        23.60	       21.83 (  7.49%)	
             len=80, pos=48, align=0:        16.32	       13.92 ( 14.68%)	
            len=80, pos=128, align=0:        16.00	       13.21 ( 17.44%)	
            len=128, pos=96, align=0:        21.96	       20.40 (  7.09%)	
           len=224, pos=128, align=0:        29.13	       19.24 ( 33.95%)	
            len=128, pos=32, align=0:        24.28	       21.61 ( 11.02%)	
             len=32, pos=96, align=0:        15.09	        9.57 ( 36.58%)	
            len=32, pos=128, align=0:        15.21	       11.44 ( 24.78%)	
           len=128, pos=144, align=0:        22.26	       20.40 (  8.33%)	
           len=272, pos=128, align=0:        32.01	       25.09 ( 21.63%)	
           len=128, pos=192, align=0:        21.42	       21.46 ( -0.16%)	
           len=320, pos=128, align=0:        35.86	       24.01 ( 33.06%)	
           len=128, pos=240, align=0:        21.20	       21.43 ( -1.06%)	
           len=368, pos=128, align=0:        34.43	       26.05 ( 24.33%)	
           len=128, pos=288, align=0:        24.52	       20.40 ( 16.78%)	
           len=416, pos=128, align=0:        36.79	       30.10 ( 18.18%)	
             len=256, pos=0, align=0:        30.09	       27.61 (  8.25%)	
           len=256, pos=256, align=0:        32.78	       23.87 ( 27.18%)	
           len=256, pos=256, align=0:        33.46	       23.89 ( 28.62%)	
             len=256, pos=0, align=0:        27.26	       28.79 ( -5.60%)	
           len=256, pos=256, align=0:        33.21	       24.42 ( 26.47%)	
            len=256, pos=48, align=0:        28.34	       27.60 (  2.59%)	
           len=304, pos=256, align=0:        31.95	       24.75 ( 22.54%)	
           len=256, pos=208, align=0:        34.28	       23.32 ( 31.97%)	
            len=208, pos=48, align=0:        25.96	       24.29 (  6.46%)	
           len=208, pos=256, align=0:        29.60	       18.01 ( 39.16%)	
            len=256, pos=96, align=0:        27.20	       27.15 (  0.18%)	
           len=352, pos=256, align=0:        37.63	       25.57 ( 32.05%)	
           len=256, pos=160, align=0:        30.01	       23.91 ( 20.33%)	
            len=160, pos=96, align=0:        21.43	       20.29 (  5.29%)	
           len=160, pos=256, align=0:        24.28	       16.81 ( 30.76%)	
           len=256, pos=144, align=0:        32.30	       22.81 ( 29.38%)	
           len=400, pos=256, align=0:        40.18	       31.74 ( 21.00%)	
           len=256, pos=112, align=0:        25.90	       27.05 ( -4.41%)	
           len=112, pos=144, align=0:        17.12	       13.20 ( 22.88%)	
           len=112, pos=256, align=0:        17.64	       14.20 ( 19.48%)	
           len=256, pos=192, align=0:        33.24	       24.26 ( 27.02%)	
           len=448, pos=256, align=0:        43.02	       33.01 ( 23.27%)	
            len=256, pos=64, align=0:        27.46	       26.75 (  2.58%)	
            len=64, pos=192, align=0:        17.49	       15.00 ( 14.20%)	
            len=64, pos=256, align=0:        17.69	       13.99 ( 20.95%)	
           len=256, pos=240, align=0:        32.60	       22.87 ( 29.85%)	
           len=496, pos=256, align=0:        43.04	       32.21 ( 25.18%)	
            len=256, pos=16, align=0:        29.46	       27.61 (  6.27%)	
            len=16, pos=240, align=0:        10.80	       10.00 (  7.39%)	
            len=16, pos=256, align=0:        10.80	       10.01 (  7.38%)	
           len=256, pos=288, align=0:        33.49	       25.06 ( 25.18%)	
           len=544, pos=256, align=0:        46.64	       36.54 ( 21.64%)	
             len=512, pos=0, align=0:        40.75	       36.01 ( 11.64%)	
           len=512, pos=512, align=0:        44.42	       39.39 ( 11.32%)	
           len=512, pos=512, align=0:        46.53	       38.41 ( 17.45%)	
             len=512, pos=0, align=0:        39.37	       37.20 (  5.53%)	
           len=512, pos=512, align=0:        46.47	       34.91 ( 24.88%)	
            len=512, pos=48, align=0:        41.04	       36.01 ( 12.26%)	
           len=560, pos=512, align=0:        49.18	       37.02 ( 24.72%)	
           len=512, pos=464, align=0:        44.76	       39.71 ( 11.27%)	
            len=464, pos=48, align=0:        37.20	       32.72 ( 12.06%)	
           len=464, pos=512, align=0:        41.67	       30.99 ( 25.64%)	
            len=512, pos=96, align=0:        36.90	       34.59 (  6.27%)	
           len=608, pos=512, align=0:        53.20	       40.70 ( 23.49%)	
           len=512, pos=416, align=0:        45.86	       36.69 ( 20.01%)	
            len=416, pos=96, align=0:        31.11	       30.88 (  0.74%)	
           len=416, pos=512, align=0:        38.25	       27.61 ( 27.82%)	
           len=512, pos=144, align=0:        41.53	       33.20 ( 20.07%)	
           len=656, pos=512, align=0:        54.93	       40.82 ( 25.69%)	
           len=512, pos=368, align=0:        43.96	       37.45 ( 14.82%)	
           len=368, pos=144, align=0:        34.54	       24.33 ( 29.55%)	
           len=368, pos=512, align=0:        35.98	       22.81 ( 36.60%)	
           len=512, pos=192, align=0:        43.82	       35.69 ( 18.55%)	
           len=704, pos=512, align=0:        59.90	       41.50 ( 30.71%)	
           len=512, pos=320, align=0:        46.26	       34.82 ( 24.73%)	
           len=320, pos=192, align=0:        36.34	       27.74 ( 23.65%)	
           len=320, pos=512, align=0:        35.62	       25.32 ( 28.91%)	
           len=512, pos=240, align=0:        42.88	       33.61 ( 21.61%)	
           len=752, pos=512, align=0:        62.03	       46.00 ( 25.84%)	
           len=512, pos=272, align=0:        46.43	       37.23 ( 19.81%)	
           len=272, pos=240, align=0:        32.23	       23.95 ( 25.71%)	
           len=272, pos=512, align=0:        32.81	       22.81 ( 30.49%)	
           len=512, pos=288, align=0:        46.71	       37.07 ( 20.63%)	
           len=800, pos=512, align=0:        62.83	       47.23 ( 24.82%)	
           len=512, pos=224, align=0:        42.83	       33.60 ( 21.53%)	
           len=224, pos=288, align=0:        28.37	       18.36 ( 35.29%)	
           len=224, pos=512, align=0:        30.30	       18.01 ( 40.56%)	
            len=1024, pos=0, align=0:        70.24	       51.37 ( 26.87%)	
         len=1024, pos=1024, align=0:        73.49	       56.74 ( 22.80%)	
         len=1024, pos=1024, align=0:        74.20	       53.92 ( 27.34%)	
            len=1024, pos=0, align=0:        69.71	       52.11 ( 25.25%)	
         len=1024, pos=1024, align=0:        73.72	       55.48 ( 24.74%)	
           len=1024, pos=48, align=0:        69.93	       50.40 ( 27.92%)	
         len=1072, pos=1024, align=0:        74.82	       56.94 ( 23.90%)	
          len=1024, pos=976, align=0:        80.33	       58.81 ( 26.79%)	
            len=976, pos=48, align=0:        62.79	       49.38 ( 21.35%)	
          len=976, pos=1024, align=0:        66.88	       51.50 ( 22.99%)	
           len=1024, pos=96, align=0:        63.37	       49.22 ( 22.34%)	
         len=1120, pos=1024, align=0:        87.08	       59.76 ( 31.38%)	
          len=1024, pos=928, align=0:        74.85	       61.43 ( 17.93%)	
            len=928, pos=96, align=0:        56.92	       45.84 ( 19.46%)	
          len=928, pos=1024, align=0:        65.15	       49.17 ( 24.53%)	
          len=1024, pos=144, align=0:        68.12	       48.63 ( 28.61%)	
         len=1168, pos=1024, align=0:        89.01	       65.26 ( 26.69%)	
          len=1024, pos=880, align=0:        79.04	       60.51 ( 23.44%)	
           len=880, pos=144, align=0:        56.90	       39.53 ( 30.52%)	
          len=880, pos=1024, align=0:        62.75	       42.02 ( 33.04%)	
          len=1024, pos=192, align=0:        68.55	       51.78 ( 24.46%)	
         len=1216, pos=1024, align=0:        88.41	       64.78 ( 26.73%)	
          len=1024, pos=832, align=0:        77.59	       63.33 ( 18.39%)	
           len=832, pos=192, align=0:        59.79	       42.01 ( 29.75%)	
          len=832, pos=1024, align=0:        60.63	       41.32 ( 31.85%)	
          len=1024, pos=240, align=0:        68.96	       50.19 ( 27.22%)	
         len=1264, pos=1024, align=0:        95.13	       64.75 ( 31.93%)	
          len=1024, pos=784, align=0:        74.21	       55.95 ( 24.61%)	
           len=784, pos=240, align=0:        55.58	       43.48 ( 21.78%)	
          len=784, pos=1024, align=0:        58.57	       40.82 ( 30.30%)	
          len=1024, pos=288, align=0:        68.99	       55.30 ( 19.84%)	
         len=1312, pos=1024, align=0:        90.42	       66.30 ( 26.68%)	
          len=1024, pos=736, align=0:        76.65	       62.15 ( 18.92%)	
           len=736, pos=288, align=0:        53.70	       39.55 ( 26.35%)	
          len=736, pos=1024, align=0:        54.24	       37.31 ( 31.21%)	
            len=2048, pos=0, align=0:       114.91	       79.56 ( 30.76%)	
         len=2048, pos=2048, align=0:       123.45	       83.89 ( 32.05%)	
         len=2048, pos=2048, align=0:       121.73	       83.00 ( 31.81%)	
            len=2048, pos=0, align=0:       115.19	       79.42 ( 31.06%)	
         len=2048, pos=2048, align=0:       122.30	       86.70 ( 29.11%)	
           len=2048, pos=48, align=0:       119.26	       83.34 ( 30.12%)	
         len=2096, pos=2048, align=0:       137.97	       93.70 ( 32.09%)	
         len=2048, pos=2000, align=0:       142.49	      101.60 ( 28.70%)	
           len=2000, pos=48, align=0:       117.56	       78.49 ( 33.24%)	
         len=2000, pos=2048, align=0:       121.34	       79.43 ( 34.54%)	
           len=2048, pos=96, align=0:       113.34	       81.84 ( 27.79%)	
         len=2144, pos=2048, align=0:       156.85	       97.91 ( 37.58%)	
         len=2048, pos=1952, align=0:       136.36	       96.41 ( 29.30%)	
           len=1952, pos=96, align=0:       107.36	       75.79 ( 29.40%)	
         len=1952, pos=2048, align=0:       119.75	       77.60 ( 35.20%)	
          len=2048, pos=144, align=0:       117.58	       80.14 ( 31.85%)	
         len=2192, pos=2048, align=0:       146.38	      100.61 ( 31.27%)	
         len=2048, pos=1904, align=0:       135.51	      101.31 ( 25.24%)	
          len=1904, pos=144, align=0:       111.28	       72.17 ( 35.15%)	
         len=1904, pos=2048, align=0:       111.16	       76.47 ( 31.20%)	
          len=2048, pos=192, align=0:       121.05	       80.52 ( 33.48%)	
         len=2240, pos=2048, align=0:       144.91	       96.62 ( 33.32%)	
         len=2048, pos=1856, align=0:       135.94	      103.58 ( 23.81%)	
          len=1856, pos=192, align=0:       112.07	       72.27 ( 35.52%)	
         len=1856, pos=2048, align=0:       113.06	       77.09 ( 31.81%)	
          len=2048, pos=240, align=0:       119.70	       80.65 ( 32.62%)	
         len=2288, pos=2048, align=0:       143.57	       94.11 ( 34.45%)	
         len=2048, pos=1808, align=0:       132.39	       93.93 ( 29.05%)	
          len=1808, pos=240, align=0:       106.68	       73.40 ( 31.20%)	
         len=1808, pos=2048, align=0:       110.77	       77.09 ( 30.40%)	
          len=2048, pos=288, align=0:       121.40	       82.12 ( 32.35%)	
         len=2336, pos=2048, align=0:       145.91	      104.56 ( 28.34%)	
         len=2048, pos=1760, align=0:       132.01	       97.85 ( 25.88%)	
          len=1760, pos=288, align=0:       106.39	       62.69 ( 41.07%)	
         len=1760, pos=2048, align=0:       103.83	       71.01 ( 31.60%)	
           len=2048, pos=32, align=0:       118.33	       83.04 ( 29.82%)	
           len=2048, pos=32, align=1:       120.22	       83.03 ( 30.93%)	
           len=2048, pos=64, align=0:       118.17	       81.26 ( 31.24%)	
           len=2048, pos=64, align=2:       116.94	       81.46 ( 30.34%)	
          len=2048, pos=128, align=0:       118.86	       79.77 ( 32.89%)	
          len=2048, pos=128, align=3:       119.22	       82.58 ( 30.74%)	
          len=2048, pos=256, align=0:       123.18	       71.04 ( 42.33%)	
          len=2048, pos=256, align=4:       118.34	       83.05 ( 29.83%)	
          len=2048, pos=512, align=0:       130.65	       88.46 ( 32.30%)	
          len=2048, pos=512, align=5:       130.19	       88.19 ( 32.26%)	
         len=2048, pos=1024, align=0:       145.91	      100.33 ( 31.24%)	
         len=2048, pos=1024, align=6:       145.96	      100.75 ( 30.97%)	
         len=2048, pos=2048, align=0:       147.83	      119.49 ( 19.17%)	
         len=2048, pos=2048, align=7:       146.27	      119.52 ( 18.29%)	
         len=2048, pos=4096, align=0:       129.78	       91.45 ( 29.54%)	
         len=2048, pos=4096, align=8:       129.76	       91.45 ( 29.52%)	
            len=256, pos=64, align=1:        33.51	       26.74 ( 20.21%)	
            len=256, pos=64, align=1:        32.40	       27.34 ( 15.62%)	
           len=256, pos=64, align=15:        27.96	       26.42 (  5.50%)	
           len=256, pos=64, align=15:        27.16	       26.76 (  1.48%)	
            len=256, pos=64, align=2:        27.45	       26.73 (  2.60%)	
            len=256, pos=64, align=2:        27.52	       26.83 (  2.51%)	
           len=256, pos=64, align=30:        27.23	       26.99 (  0.89%)	
           len=256, pos=64, align=30:        28.03	       26.15 (  6.69%)	
            len=256, pos=64, align=3:        27.27	       26.77 (  1.82%)	
            len=256, pos=64, align=3:        27.59	       26.09 (  5.42%)	
           len=256, pos=64, align=45:        26.41	       27.12 ( -2.71%)	
           len=256, pos=64, align=45:        27.20	       27.08 (  0.45%)	
            len=256, pos=64, align=4:        28.38	       25.80 (  9.08%)	
            len=256, pos=64, align=4:        27.62	       26.87 (  2.72%)	
           len=256, pos=64, align=60:        27.59	       26.78 (  2.93%)	
           len=256, pos=64, align=60:        27.21	       27.11 (  0.38%)	
            len=256, pos=64, align=5:        28.37	       25.80 (  9.04%)	
            len=256, pos=64, align=5:        27.48	       26.72 (  2.77%)	
           len=256, pos=64, align=75:        27.49	       26.25 (  4.53%)	
           len=256, pos=64, align=75:        27.30	       26.02 (  4.69%)	
            len=256, pos=64, align=6:        26.41	       27.07 ( -2.49%)	
            len=256, pos=64, align=6:        27.24	       26.77 (  1.75%)	
           len=256, pos=64, align=90:        27.47	       24.74 (  9.97%)	
           len=256, pos=64, align=90:        27.26	       25.69 (  5.79%)	
            len=256, pos=64, align=7:        27.21	       27.18 (  0.11%)	
            len=256, pos=64, align=7:        29.40	       25.80 ( 12.22%)	
          len=256, pos=64, align=105:        27.46	       23.91 ( 12.90%)	
          len=256, pos=64, align=105:        28.38	       23.23 ( 18.15%)	
               len=1, pos=0, align=0:         9.61	        9.61 (  0.04%)	
               len=1, pos=0, align=0:         8.76	        8.40 (  4.09%)	
            len=1, pos=0, align=4095:        42.01	       42.32 ( -0.75%)	
               len=2, pos=1, align=0:         8.40	        8.40 (  0.01%)	
               len=2, pos=1, align=0:         8.40	        8.40 (  0.00%)	
            len=2, pos=1, align=4095:        42.36	       43.15 ( -1.87%)	
               len=3, pos=2, align=0:         8.41	        8.42 ( -0.18%)	
               len=3, pos=2, align=0:         8.40	        8.42 ( -0.22%)	
            len=3, pos=2, align=4094:        42.81	       42.34 (  1.09%)	
               len=4, pos=3, align=0:         8.40	        8.42 ( -0.22%)	
               len=4, pos=3, align=0:         8.40	        8.42 ( -0.20%)	
            len=4, pos=3, align=4094:        42.32	       42.06 (  0.61%)	
               len=5, pos=4, align=0:         8.40	        8.42 ( -0.20%)	
               len=5, pos=4, align=0:         8.40	        8.42 ( -0.21%)	
            len=5, pos=4, align=4093:        42.81	       43.26 ( -1.06%)	
               len=6, pos=5, align=0:         8.40	        8.73 ( -3.91%)	
               len=6, pos=5, align=0:         8.40	        8.40 (  0.00%)	
            len=6, pos=5, align=4093:        42.31	       42.51 ( -0.47%)	
               len=7, pos=6, align=0:         8.40	        8.42 ( -0.22%)	
               len=7, pos=6, align=0:         8.40	        8.42 ( -0.22%)	
            len=7, pos=6, align=4092:        42.32	       42.36 ( -0.11%)	
               len=8, pos=7, align=0:         8.40	        8.42 ( -0.22%)	
               len=8, pos=7, align=0:         8.40	        8.42 ( -0.20%)	
            len=8, pos=7, align=4092:        42.32	       42.00 (  0.75%)	
               len=9, pos=8, align=0:         8.40	        8.42 ( -0.21%)	
               len=9, pos=8, align=0:         8.40	        8.42 ( -0.22%)	
            len=9, pos=8, align=4091:        42.36	       42.31 (  0.11%)	
              len=10, pos=9, align=0:         8.40	        8.42 ( -0.20%)	
              len=10, pos=9, align=0:         8.40	        8.42 ( -0.21%)	
           len=10, pos=9, align=4091:        42.00	       43.03 ( -2.45%)	
             len=11, pos=10, align=0:         8.40	        8.74 ( -3.99%)	
             len=11, pos=10, align=0:         8.40	        8.42 ( -0.21%)	
          len=11, pos=10, align=4090:        42.81	       43.38 ( -1.34%)	
             len=12, pos=11, align=0:         8.40	        8.42 ( -0.21%)	
             len=12, pos=11, align=0:         8.72	        8.42 (  3.39%)	
          len=12, pos=11, align=4090:        42.67	       42.00 (  1.57%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.18%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.17%)	
          len=13, pos=12, align=4089:        42.01	       42.83 ( -1.95%)	
             len=14, pos=13, align=0:         8.40	        8.42 ( -0.20%)	
             len=14, pos=13, align=0:         8.72	        8.42 (  3.41%)	
          len=14, pos=13, align=4089:        43.11	       42.06 (  2.44%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.22%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.17%)	
          len=15, pos=14, align=4088:        42.32	       42.00 (  0.74%)	
             len=16, pos=15, align=0:         8.40	        8.42 ( -0.20%)	
             len=16, pos=15, align=0:         8.40	        8.42 ( -0.21%)	
          len=16, pos=15, align=4088:        42.01	       42.74 ( -1.75%)	
             len=17, pos=16, align=0:         8.40	        8.42 ( -0.19%)	
             len=17, pos=16, align=0:         8.40	        8.42 ( -0.18%)	
          len=17, pos=16, align=4087:        42.81	       42.92 ( -0.27%)	
             len=18, pos=17, align=0:         8.40	        8.42 ( -0.19%)	
             len=18, pos=17, align=0:         8.40	        8.42 ( -0.19%)	
          len=18, pos=17, align=4087:        42.81	       42.94 ( -0.32%)	
             len=19, pos=18, align=0:         8.40	        8.42 ( -0.18%)	
             len=19, pos=18, align=0:         8.40	        8.42 ( -0.17%)	
          len=19, pos=18, align=4086:        42.00	       42.38 ( -0.89%)	
             len=20, pos=19, align=0:         8.40	        8.42 ( -0.21%)	
             len=20, pos=19, align=0:         8.40	        8.42 ( -0.17%)	
          len=20, pos=19, align=4086:        42.81	       42.37 (  1.03%)	
             len=21, pos=20, align=0:         8.40	        8.42 ( -0.18%)	
             len=21, pos=20, align=0:         8.40	        8.42 ( -0.18%)	
          len=21, pos=20, align=4085:        43.12	       42.06 (  2.46%)	
             len=22, pos=21, align=0:        10.11	        8.42 ( 16.68%)	
             len=22, pos=21, align=0:         9.69	        9.51 (  1.86%)	
          len=22, pos=21, align=4085:        42.91	       42.53 (  0.86%)	
             len=23, pos=22, align=0:         9.18	        9.56 ( -4.16%)	
             len=23, pos=22, align=0:         8.40	        8.42 ( -0.19%)	
          len=23, pos=22, align=4084:        42.90	       42.00 (  2.09%)	
             len=24, pos=23, align=0:        10.12	        8.42 ( 16.80%)	
             len=24, pos=23, align=0:         9.55	        9.53 (  0.28%)	
          len=24, pos=23, align=4084:        42.65	       42.71 ( -0.14%)	
             len=25, pos=24, align=0:         8.40	        8.42 ( -0.19%)	
             len=25, pos=24, align=0:         8.40	        8.42 ( -0.17%)	
          len=25, pos=24, align=4083:        42.84	       42.79 (  0.11%)	
             len=26, pos=25, align=0:        10.04	        8.42 ( 16.19%)	
             len=26, pos=25, align=0:         8.40	        8.42 ( -0.18%)	
          len=26, pos=25, align=4083:        43.36	       43.62 ( -0.60%)	
             len=27, pos=26, align=0:         9.55	        9.53 (  0.19%)	
             len=27, pos=26, align=0:         9.18	        9.54 ( -3.93%)	
          len=27, pos=26, align=4082:        42.87	       42.00 (  2.01%)	
             len=28, pos=27, align=0:        10.34	        8.42 ( 18.54%)	
             len=28, pos=27, align=0:         9.19	        9.55 ( -3.98%)	
          len=28, pos=27, align=4082:        43.12	       42.06 (  2.45%)	
             len=29, pos=28, align=0:        10.41	        8.42 ( 19.11%)	
             len=29, pos=28, align=0:         9.27	        9.57 ( -3.30%)	
          len=29, pos=28, align=4081:        42.66	       42.50 (  0.38%)	
             len=30, pos=29, align=0:         9.17	        9.52 ( -3.86%)	
             len=30, pos=29, align=0:         8.40	        8.42 ( -0.20%)	
          len=30, pos=29, align=4081:        42.68	       42.80 ( -0.29%)	
             len=31, pos=30, align=0:         9.28	        9.49 ( -2.27%)	
             len=31, pos=30, align=0:        10.12	        8.76 ( 13.39%)	
          len=31, pos=30, align=4080:        42.35	       43.05 ( -1.63%)	
             len=32, pos=31, align=0:        16.31	        8.77 ( 46.21%)	
             len=32, pos=31, align=0:        15.97	        8.42 ( 47.27%)	
          len=32, pos=31, align=4080:        40.06	       42.49 ( -6.08%)	
              len=16, pos=0, align=0:         9.61	        8.42 ( 12.35%)	
             len=32, pos=16, align=0:        15.86	        8.42 ( 46.90%)	
             len=48, pos=32, align=0:        13.97	        9.52 ( 31.89%)	
             len=64, pos=48, align=0:        15.48	       14.95 (  3.46%)	
             len=80, pos=64, align=0:        15.97	       13.52 ( 15.35%)	
             len=96, pos=80, align=0:        17.89	       14.56 ( 18.60%)	
            len=112, pos=96, align=0:        15.61	       13.20 ( 15.42%)	
           len=128, pos=112, align=0:        24.62	       22.60 (  8.23%)	
           len=144, pos=128, align=0:        24.74	       16.81 ( 32.08%)	
           len=160, pos=144, align=0:        23.59	       17.75 ( 24.74%)	
           len=176, pos=160, align=0:        23.48	       17.77 ( 24.30%)	
           len=192, pos=176, align=0:        28.66	       19.04 ( 33.55%)	
           len=208, pos=192, align=0:        29.74	       16.81 ( 43.49%)	
           len=224, pos=208, align=0:        28.35	       16.73 ( 40.97%)	
           len=240, pos=224, align=0:        28.41	       17.00 ( 40.15%)	
           len=256, pos=240, align=0:        31.98	       23.81 ( 25.54%)	
           len=272, pos=256, align=0:        32.07	       24.51 ( 23.56%)	
           len=288, pos=272, align=0:        32.99	       23.13 ( 29.90%)	
              len=16, pos=0, align=0:         8.43	        8.76 ( -3.90%)	
             len=16, pos=16, align=0:         8.43	        8.40 (  0.30%)	
             len=16, pos=16, align=0:         8.43	        8.40 (  0.32%)	
              len=16, pos=0, align=0:         8.43	        8.40 (  0.30%)	
             len=16, pos=16, align=0:         8.43	        8.40 (  0.35%)	
             len=16, pos=48, align=0:         8.43	        8.40 (  0.33%)	
             len=64, pos=16, align=0:        16.44	       14.87 (  9.59%)	
             len=16, pos=96, align=0:         8.43	        8.40 (  0.30%)	
            len=112, pos=16, align=0:        16.86	       15.05 ( 10.70%)	
            len=16, pos=144, align=0:         9.01	        8.43 (  6.44%)	
            len=160, pos=16, align=0:        26.81	       22.81 ( 14.94%)	
            len=16, pos=192, align=0:         8.43	        8.43 (  0.03%)	
            len=208, pos=16, align=0:        29.62	       23.96 ( 19.12%)	
            len=16, pos=240, align=0:         8.43	        8.43 (  0.03%)	
            len=256, pos=16, align=0:        33.07	       29.11 ( 11.99%)	
            len=16, pos=288, align=0:        10.02	       10.01 (  0.07%)	
            len=304, pos=16, align=0:        27.78	       28.80 ( -3.67%)	
              len=32, pos=0, align=0:        15.87	        8.43 ( 46.86%)	
             len=32, pos=32, align=0:        15.50	        9.56 ( 38.35%)	
             len=32, pos=32, align=0:        15.87	        8.43 ( 46.89%)	
              len=32, pos=0, align=0:        15.23	        9.53 ( 37.40%)	
             len=32, pos=32, align=0:        14.40	        8.43 ( 41.49%)	
             len=32, pos=48, align=0:        15.18	        9.57 ( 36.98%)	
             len=80, pos=32, align=0:        15.29	       15.06 (  1.46%)	
             len=32, pos=96, align=0:        15.12	        9.52 ( 37.00%)	
            len=128, pos=32, align=0:        23.49	       23.12 (  1.57%)	
            len=32, pos=144, align=0:        15.96	        8.43 ( 47.19%)	
            len=176, pos=32, align=0:        23.60	       22.62 (  4.15%)	
            len=32, pos=192, align=0:        15.17	        9.57 ( 36.88%)	
            len=224, pos=32, align=0:        24.81	       24.61 (  0.84%)	
            len=32, pos=240, align=0:        15.93	        8.43 ( 47.08%)	
            len=272, pos=32, align=0:        27.27	       28.84 ( -5.78%)	
            len=32, pos=288, align=0:        16.00	        8.43 ( 47.31%)	
            len=320, pos=32, align=0:        29.15	       29.80 ( -2.23%)	
              len=64, pos=0, align=0:        17.47	       13.94 ( 20.19%)	
             len=64, pos=64, align=0:        15.12	       15.56 ( -2.89%)	
             len=64, pos=64, align=0:        16.02	       15.00 (  6.36%)	
              len=64, pos=0, align=0:        16.48	       14.94 (  9.35%)	
             len=64, pos=64, align=0:        15.44	       16.01 ( -3.67%)	
             len=64, pos=48, align=0:        16.01	       13.92 ( 13.04%)	
            len=112, pos=64, align=0:        17.51	       14.17 ( 19.10%)	
             len=64, pos=16, align=0:        16.73	       15.99 (  4.41%)	
             len=16, pos=48, align=0:         8.41	        8.43 ( -0.27%)	
             len=16, pos=64, align=0:         8.40	        8.43 ( -0.32%)	
             len=64, pos=96, align=0:        15.18	       16.26 ( -7.13%)	
            len=160, pos=64, align=0:        24.59	       22.81 (  7.24%)	
            len=64, pos=144, align=0:        15.52	       14.93 (  3.80%)	
            len=208, pos=64, align=0:        25.82	       21.01 ( 18.64%)	
            len=64, pos=192, align=0:        16.28	       14.86 (  8.76%)	
            len=256, pos=64, align=0:        28.10	       25.82 (  8.12%)	
            len=64, pos=240, align=0:        15.24	       14.86 (  2.50%)	
            len=304, pos=64, align=0:        27.28	       26.78 (  1.80%)	
            len=64, pos=288, align=0:        15.24	       14.99 (  1.65%)	
            len=352, pos=64, align=0:        29.93	       27.44 (  8.32%)	
             len=128, pos=0, align=0:        24.45	       23.13 (  5.42%)	
           len=128, pos=128, align=0:        21.48	       22.66 ( -5.47%)	
           len=128, pos=128, align=0:        21.98	       19.20 ( 12.62%)	
             len=128, pos=0, align=0:        23.84	       22.62 (  5.11%)	
           len=128, pos=128, align=0:        22.08	       20.40 (  7.62%)	
            len=128, pos=48, align=0:        23.83	       22.66 (  4.90%)	
           len=176, pos=128, align=0:        24.00	       17.75 ( 26.03%)	
            len=128, pos=80, align=0:        23.47	       21.46 (  8.57%)	
             len=80, pos=48, align=0:        15.14	       16.02 ( -5.81%)	
            len=80, pos=128, align=0:        15.09	       14.46 (  4.23%)	
            len=128, pos=96, align=0:        22.05	       19.20 ( 12.92%)	
           len=224, pos=128, align=0:        30.21	       17.94 ( 40.60%)	
            len=128, pos=32, align=0:        23.33	       23.75 ( -1.79%)	
             len=32, pos=96, align=0:        15.45	        9.56 ( 38.12%)	
            len=32, pos=128, align=0:        15.95	        8.43 ( 47.16%)	
           len=128, pos=144, align=0:        21.25	       21.83 ( -2.75%)	
           len=272, pos=128, align=0:        33.08	       24.01 ( 27.41%)	
           len=128, pos=192, align=0:        21.24	       21.81 ( -2.69%)	
           len=320, pos=128, align=0:        35.10	       22.81 ( 35.02%)	
           len=128, pos=240, align=0:        21.53	       20.18 (  6.24%)	
           len=368, pos=128, align=0:        33.61	       23.92 ( 28.83%)	
           len=128, pos=288, align=0:        21.54	       21.40 (  0.66%)	
           len=416, pos=128, align=0:        37.89	       28.81 ( 23.96%)	
             len=256, pos=0, align=0:        28.09	       28.57 ( -1.69%)	
           len=256, pos=256, align=0:        32.81	       24.45 ( 25.47%)	
           len=256, pos=256, align=0:        32.01	       24.58 ( 23.21%)	
             len=256, pos=0, align=0:        28.05	       27.61 (  1.59%)	
           len=256, pos=256, align=0:        32.28	       23.87 ( 26.05%)	
            len=256, pos=48, align=0:        28.52	       27.61 (  3.22%)	
           len=304, pos=256, align=0:        32.05	       23.77 ( 25.82%)	
           len=256, pos=208, align=0:        33.50	       23.90 ( 28.66%)	
            len=208, pos=48, align=0:        26.99	       26.52 (  1.73%)	
           len=208, pos=256, align=0:        28.31	       17.81 ( 37.08%)	
            len=256, pos=96, align=0:        26.52	       26.81 ( -1.12%)	
           len=352, pos=256, align=0:        38.06	       24.01 ( 36.92%)	
           len=256, pos=160, align=0:        31.06	       23.91 ( 23.00%)	
            len=160, pos=96, align=0:        21.89	       19.20 ( 12.27%)	
           len=160, pos=256, align=0:        23.84	       17.77 ( 25.46%)	
           len=256, pos=144, align=0:        31.91	       24.52 ( 23.15%)	
           len=400, pos=256, align=0:        39.59	       32.26 ( 18.51%)	
           len=256, pos=112, align=0:        26.65	       26.75 ( -0.35%)	
           len=112, pos=144, align=0:        16.38	       14.23 ( 13.14%)	
           len=112, pos=256, align=0:        16.41	       14.49 ( 11.69%)	
           len=256, pos=192, align=0:        33.18	       23.31 ( 29.76%)	
           len=448, pos=256, align=0:        43.09	       33.33 ( 22.66%)	
            len=256, pos=64, align=0:        28.41	       27.18 (  4.31%)	
            len=64, pos=192, align=0:        15.23	       14.87 (  2.32%)	
            len=64, pos=256, align=0:        15.24	       14.90 (  2.23%)	
           len=256, pos=240, align=0:        32.33	       23.89 ( 26.09%)	
           len=496, pos=256, align=0:        43.16	       28.81 ( 33.25%)	
            len=256, pos=16, align=0:        27.20	       28.91 ( -6.28%)	
            len=16, pos=240, align=0:         9.59	        8.43 ( 12.09%)	
            len=16, pos=256, align=0:        11.12	       10.81 (  2.79%)	
           len=256, pos=288, align=0:        32.00	       23.81 ( 25.61%)	
           len=544, pos=256, align=0:        45.03	       38.21 ( 15.15%)	
             len=512, pos=0, align=0:        40.04	       36.72 (  8.28%)	
           len=512, pos=512, align=0:        50.35	       37.12 ( 26.28%)	
           len=512, pos=512, align=0:        50.37	       37.02 ( 26.50%)	
             len=512, pos=0, align=0:        39.28	       37.20 (  5.29%)	
           len=512, pos=512, align=0:        49.52	       39.39 ( 20.47%)	
            len=512, pos=48, align=0:        38.92	       37.38 (  3.98%)	
           len=560, pos=512, align=0:        53.95	       37.31 ( 30.85%)	
           len=512, pos=464, align=0:        54.35	       37.87 ( 30.32%)	
            len=464, pos=48, align=0:        35.54	       33.71 (  5.16%)	
           len=464, pos=512, align=0:        47.63	       28.06 ( 41.09%)	
            len=512, pos=96, align=0:        36.27	       34.51 (  4.87%)	
           len=608, pos=512, align=0:        57.52	       34.66 ( 39.74%)	
           len=512, pos=416, align=0:        48.87	       39.53 ( 19.12%)	
            len=416, pos=96, align=0:        30.51	       30.98 ( -1.52%)	
           len=416, pos=512, align=0:        41.36	       27.94 ( 32.46%)	
           len=512, pos=144, align=0:        41.94	       33.54 ( 20.04%)	
           len=656, pos=512, align=0:        60.92	       47.00 ( 22.84%)	
           len=512, pos=368, align=0:        48.01	       39.77 ( 17.18%)	
           len=368, pos=144, align=0:        35.75	       24.61 ( 31.15%)	
           len=368, pos=512, align=0:        36.87	       24.22 ( 34.32%)	
           len=512, pos=192, align=0:        44.09	       33.62 ( 23.75%)	
           len=704, pos=512, align=0:        63.79	       45.92 ( 28.02%)	
           len=512, pos=320, align=0:        48.98	       38.41 ( 21.59%)	
           len=320, pos=192, align=0:        36.37	       27.55 ( 24.23%)	
           len=320, pos=512, align=0:        36.34	       24.01 ( 33.94%)	
           len=512, pos=240, align=0:        41.77	       37.27 ( 10.77%)	
           len=752, pos=512, align=0:        64.59	       42.18 ( 34.70%)	
           len=512, pos=272, align=0:        45.05	       36.82 ( 18.27%)	
           len=272, pos=240, align=0:        32.31	       23.93 ( 25.94%)	
           len=272, pos=512, align=0:        32.39	       23.83 ( 26.41%)	
           len=512, pos=288, align=0:        47.14	       36.49 ( 22.59%)	
           len=800, pos=512, align=0:        67.06	       51.84 ( 22.70%)	
           len=512, pos=224, align=0:        42.91	       33.01 ( 23.07%)	
           len=224, pos=288, align=0:        28.81	       17.11 ( 40.61%)	
           len=224, pos=512, align=0:        28.38	       17.10 ( 39.73%)	
            len=1024, pos=0, align=0:        70.09	       52.64 ( 24.89%)	
         len=1024, pos=1024, align=0:        99.27	       62.71 ( 36.83%)	
         len=1024, pos=1024, align=0:        98.61	       59.09 ( 40.08%)	
            len=1024, pos=0, align=0:        70.92	       50.76 ( 28.43%)	
         len=1024, pos=1024, align=0:       100.03	       58.83 ( 41.19%)	
           len=1024, pos=48, align=0:        70.20	       51.52 ( 26.61%)	
         len=1072, pos=1024, align=0:        96.23	       56.69 ( 41.09%)	
          len=1024, pos=976, align=0:        95.97	       55.70 ( 41.96%)	
            len=976, pos=48, align=0:        61.20	       48.97 ( 19.99%)	
          len=976, pos=1024, align=0:        91.24	       54.22 ( 40.57%)	
           len=1024, pos=96, align=0:        64.21	       48.02 ( 25.22%)	
         len=1120, pos=1024, align=0:       100.04	       61.06 ( 38.96%)	
          len=1024, pos=928, align=0:        93.73	       59.20 ( 36.84%)	
            len=928, pos=96, align=0:        57.28	       44.27 ( 22.70%)	
          len=928, pos=1024, align=0:        85.86	       51.57 ( 39.94%)	
          len=1024, pos=144, align=0:        67.35	       50.26 ( 25.37%)	
         len=1168, pos=1024, align=0:       104.03	       70.33 ( 32.39%)	
          len=1024, pos=880, align=0:        91.46	       59.91 ( 34.49%)	
           len=880, pos=144, align=0:        57.25	       40.72 ( 28.89%)	
          len=880, pos=1024, align=0:        80.31	       46.41 ( 42.20%)	
          len=1024, pos=192, align=0:        68.02	       50.60 ( 25.61%)	
         len=1216, pos=1024, align=0:       106.87	       71.08 ( 33.49%)	
          len=1024, pos=832, align=0:        90.43	       59.11 ( 34.64%)	
           len=832, pos=192, align=0:        60.29	       42.01 ( 30.33%)	
          len=832, pos=1024, align=0:        79.24	       45.93 ( 42.04%)	
          len=1024, pos=240, align=0:        68.94	       51.51 ( 25.29%)	
         len=1264, pos=1024, align=0:       107.21	       67.83 ( 36.74%)	
          len=1024, pos=784, align=0:        90.35	       58.63 ( 35.11%)	
           len=784, pos=240, align=0:        54.05	       44.17 ( 18.28%)	
          len=784, pos=1024, align=0:        75.47	       46.70 ( 38.12%)	
          len=1024, pos=288, align=0:        70.91	       51.51 ( 27.36%)	
         len=1312, pos=1024, align=0:       110.21	       74.65 ( 32.26%)	
          len=1024, pos=736, align=0:        86.67	       59.91 ( 30.87%)	
           len=736, pos=288, align=0:        54.44	       41.02 ( 24.65%)	
          len=736, pos=1024, align=0:        70.77	       38.43 ( 45.70%)	
            len=2048, pos=0, align=0:       117.06	       83.01 ( 29.08%)	
         len=2048, pos=2048, align=0:       146.48	      127.65 ( 12.85%)	
         len=2048, pos=2048, align=0:       146.29	      119.44 ( 18.35%)	
            len=2048, pos=0, align=0:       118.48	       81.53 ( 31.18%)	
         len=2048, pos=2048, align=0:       146.36	      119.52 ( 18.34%)	
           len=2048, pos=48, align=0:       120.97	       81.74 ( 32.43%)	
         len=2096, pos=2048, align=0:       147.64	      119.10 ( 19.33%)	
         len=2048, pos=2000, align=0:       155.48	      108.82 ( 30.01%)	
           len=2000, pos=48, align=0:       115.61	       78.29 ( 32.28%)	
         len=2000, pos=2048, align=0:       144.76	      114.63 ( 20.81%)	
           len=2048, pos=96, align=0:       113.26	       79.34 ( 29.95%)	
         len=2144, pos=2048, align=0:       160.44	      117.64 ( 26.67%)	
         len=2048, pos=1952, align=0:       158.73	      113.24 ( 28.66%)	
           len=1952, pos=96, align=0:       106.75	       76.55 ( 28.28%)	
         len=1952, pos=2048, align=0:       139.10	      112.08 ( 19.43%)	
          len=2048, pos=144, align=0:       120.11	       80.07 ( 33.33%)	
         len=2192, pos=2048, align=0:       167.38	      122.37 ( 26.89%)	
         len=2048, pos=1904, align=0:       156.70	      113.41 ( 27.63%)	
          len=1904, pos=144, align=0:       108.97	       70.99 ( 34.86%)	
         len=1904, pos=2048, align=0:       136.28	      107.40 ( 21.19%)	
          len=2048, pos=192, align=0:       121.11	       79.72 ( 34.18%)	
         len=2240, pos=2048, align=0:       167.52	      125.06 ( 25.35%)	
         len=2048, pos=1856, align=0:       157.57	      109.47 ( 30.52%)	
          len=1856, pos=192, align=0:       110.49	       72.19 ( 34.66%)	
         len=1856, pos=2048, align=0:       136.69	      107.91 ( 21.05%)	
          len=2048, pos=240, align=0:       121.57	       79.28 ( 34.79%)	
         len=2288, pos=2048, align=0:       169.34	      122.70 ( 27.54%)	
         len=2048, pos=1808, align=0:       149.49	      108.59 ( 27.36%)	
          len=1808, pos=240, align=0:       107.64	      117.86 ( -9.50%)	
         len=1808, pos=2048, align=0:       131.58	      104.75 ( 20.39%)	
          len=2048, pos=288, align=0:       121.24	       82.48 ( 31.97%)	
         len=2336, pos=2048, align=0:       177.60	      124.06 ( 30.15%)	
         len=2048, pos=1760, align=0:       150.63	      105.41 ( 30.02%)	
          len=1760, pos=288, align=0:       104.90	       70.24 ( 33.04%)	
         len=1760, pos=2048, align=0:       128.78	      100.11 ( 22.27%)	
           len=2048, pos=32, align=0:       119.61	       83.02 ( 30.59%)	
           len=2048, pos=32, align=1:       119.45	       83.04 ( 30.48%)	
           len=2048, pos=64, align=0:       120.44	       79.39 ( 34.09%)	
           len=2048, pos=64, align=2:       120.20	       66.67 ( 44.54%)	
          len=2048, pos=128, align=0:       117.56	       79.71 ( 32.20%)	
          len=2048, pos=128, align=3:       118.84	       79.67 ( 32.96%)	
          len=2048, pos=256, align=0:       122.54	       81.29 ( 33.67%)	
          len=2048, pos=256, align=4:       122.70	       81.81 ( 33.33%)	
          len=2048, pos=512, align=0:       132.23	       87.04 ( 34.18%)	
          len=2048, pos=512, align=5:       130.40	       88.42 ( 32.19%)	
         len=2048, pos=1024, align=0:       148.12	       98.84 ( 33.27%)	
         len=2048, pos=1024, align=6:       148.27	       99.27 ( 33.05%)	
         len=2048, pos=2048, align=0:       179.54	      103.85 ( 42.16%)	
         len=2048, pos=2048, align=7:       179.51	      103.98 ( 42.08%)	
         len=2048, pos=4096, align=0:       181.77	      103.59 ( 43.01%)	
         len=2048, pos=4096, align=8:       183.31	      103.54 ( 43.52%)	
            len=256, pos=64, align=1:        34.99	       26.41 ( 24.52%)	
            len=256, pos=64, align=1:        32.07	       27.09 ( 15.54%)	
           len=256, pos=64, align=15:        28.09	       26.13 (  6.98%)	
           len=256, pos=64, align=15:        27.19	       26.69 (  1.86%)	
            len=256, pos=64, align=2:        27.50	       26.77 (  2.67%)	
            len=256, pos=64, align=2:        27.56	       27.23 (  1.20%)	
           len=256, pos=64, align=30:        27.26	       27.02 (  0.86%)	
           len=256, pos=64, align=30:        28.03	       25.80 (  7.95%)	
            len=256, pos=64, align=3:        27.16	       26.77 (  1.41%)	
            len=256, pos=64, align=3:        27.60	       26.77 (  3.00%)	
           len=256, pos=64, align=45:        27.24	       27.09 (  0.53%)	
           len=256, pos=64, align=45:        27.19	       27.12 (  0.28%)	
            len=256, pos=64, align=4:        27.15	       26.74 (  1.48%)	
            len=256, pos=64, align=4:        26.73	       26.75 ( -0.08%)	
           len=256, pos=64, align=60:        28.39	       25.80 (  9.10%)	
           len=256, pos=64, align=60:        27.25	       27.03 (  0.81%)	
            len=256, pos=64, align=5:        28.23	       26.23 (  7.06%)	
            len=256, pos=64, align=5:        27.16	       26.67 (  1.81%)	
           len=256, pos=64, align=75:        27.63	       23.83 ( 13.73%)	
           len=256, pos=64, align=75:        27.22	       26.17 (  3.86%)	
            len=256, pos=64, align=6:        27.20	       27.06 (  0.51%)	
            len=256, pos=64, align=6:        27.99	       25.80 (  7.81%)	
           len=256, pos=64, align=90:        27.56	       25.73 (  6.67%)	
           len=256, pos=64, align=90:        28.64	       22.81 ( 20.36%)	
            len=256, pos=64, align=7:        26.40	       27.09 ( -2.60%)	
            len=256, pos=64, align=7:        27.22	       26.67 (  2.03%)	
          len=256, pos=64, align=105:        27.55	       25.73 (  6.59%)	
          len=256, pos=64, align=105:        28.66	       24.06 ( 16.03%)	
               len=1, pos=0, align=0:         9.61	        9.61 (  0.02%)	
               len=1, pos=0, align=0:         8.40	        8.40 (  0.01%)	
            len=1, pos=0, align=4095:        42.32	       42.00 (  0.75%)	
               len=2, pos=1, align=0:         8.40	        8.72 ( -3.79%)	
               len=2, pos=1, align=0:         8.40	        8.40 (  0.01%)	
            len=2, pos=1, align=4095:        42.32	       42.46 ( -0.33%)	
               len=3, pos=2, align=0:         8.40	        8.42 ( -0.18%)	
               len=3, pos=2, align=0:         8.40	        8.42 ( -0.20%)	
            len=3, pos=2, align=4094:        42.01	       42.92 ( -2.19%)	
               len=4, pos=3, align=0:         8.40	        8.42 ( -0.20%)	
               len=4, pos=3, align=0:         8.40	        8.42 ( -0.18%)	
            len=4, pos=3, align=4094:        42.32	       42.06 (  0.61%)	
               len=5, pos=4, align=0:         8.40	        8.40 (  0.00%)	
               len=5, pos=4, align=0:         8.40	        8.40 ( -0.02%)	
            len=5, pos=4, align=4093:        42.83	       42.50 (  0.77%)	
               len=6, pos=5, align=0:         8.40	        8.72 ( -3.76%)	
               len=6, pos=5, align=0:         8.40	        8.40 (  0.00%)	
            len=6, pos=5, align=4093:        42.00	       42.37 ( -0.87%)	
               len=7, pos=6, align=0:         8.40	        8.40 ( -0.01%)	
               len=7, pos=6, align=0:         8.40	        8.40 (  0.03%)	
            len=7, pos=6, align=4092:        42.98	       42.32 (  1.55%)	
               len=8, pos=7, align=0:         8.40	        8.42 ( -0.20%)	
               len=8, pos=7, align=0:         8.40	        8.42 ( -0.19%)	
            len=8, pos=7, align=4092:        43.27	       42.42 (  1.95%)	
               len=9, pos=8, align=0:         8.40	        8.42 ( -0.19%)	
               len=9, pos=8, align=0:         8.40	        8.42 ( -0.19%)	
            len=9, pos=8, align=4091:        42.35	       42.33 (  0.07%)	
              len=10, pos=9, align=0:         8.40	        8.42 ( -0.20%)	
              len=10, pos=9, align=0:         8.40	        8.42 ( -0.20%)	
           len=10, pos=9, align=4091:        42.01	       42.95 ( -2.24%)	
             len=11, pos=10, align=0:         8.40	        8.74 ( -3.97%)	
             len=11, pos=10, align=0:         8.40	        8.40 ( -0.01%)	
          len=11, pos=10, align=4090:        43.18	       42.00 (  2.73%)	
             len=12, pos=11, align=0:         8.40	        8.42 ( -0.19%)	
             len=12, pos=11, align=0:         8.73	        8.42 (  3.50%)	
          len=12, pos=11, align=4090:        42.86	       42.00 (  1.99%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.20%)	
             len=13, pos=12, align=0:         8.40	        8.42 ( -0.19%)	
          len=13, pos=12, align=4089:        42.01	       42.32 ( -0.75%)	
             len=14, pos=13, align=0:         8.40	        8.42 ( -0.19%)	
             len=14, pos=13, align=0:         8.71	        8.42 (  3.33%)	
          len=14, pos=13, align=4089:        42.54	       42.42 (  0.28%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.21%)	
             len=15, pos=14, align=0:         8.40	        8.42 ( -0.20%)	
          len=15, pos=14, align=4088:        43.14	       42.00 (  2.63%)	
             len=16, pos=15, align=0:         8.40	        8.42 ( -0.21%)	
             len=16, pos=15, align=0:         8.40	        8.42 ( -0.18%)	
          len=16, pos=15, align=4088:        42.01	       42.37 ( -0.86%)	
             len=17, pos=16, align=0:         8.40	        8.42 ( -0.18%)	
             len=17, pos=16, align=0:         8.40	        8.42 ( -0.18%)	
          len=17, pos=16, align=4087:        42.01	       42.33 ( -0.78%)	
             len=18, pos=17, align=0:         8.40	        8.42 ( -0.21%)	
             len=18, pos=17, align=0:         8.40	        8.42 ( -0.18%)	
          len=18, pos=17, align=4087:        42.01	       42.41 ( -0.96%)	
             len=19, pos=18, align=0:         8.40	        8.42 ( -0.19%)	
             len=19, pos=18, align=0:         9.58	        9.55 (  0.29%)	
          len=19, pos=18, align=4086:        42.99	       42.00 (  2.29%)	
             len=20, pos=19, align=0:         9.29	        9.87 ( -6.28%)	
             len=20, pos=19, align=0:        10.01	        8.42 ( 15.92%)	
          len=20, pos=19, align=4086:        42.65	       42.82 ( -0.39%)	
             len=21, pos=20, align=0:        10.68	        9.53 ( 10.78%)	
             len=21, pos=20, align=0:        10.02	        8.42 ( 15.97%)	
          len=21, pos=20, align=4085:        42.00	       42.37 ( -0.87%)	
             len=22, pos=21, align=0:         8.40	        8.42 ( -0.18%)	
             len=22, pos=21, align=0:         8.40	        8.42 ( -0.17%)	
          len=22, pos=21, align=4085:        42.36	       42.00 (  0.84%)	
             len=23, pos=22, align=0:         9.24	        9.45 ( -2.23%)	
             len=23, pos=22, align=0:         9.72	        9.52 (  2.00%)	
          len=23, pos=22, align=4084:        42.31	       42.76 ( -1.08%)	
             len=24, pos=23, align=0:         8.40	        8.42 ( -0.20%)	
             len=24, pos=23, align=0:         8.40	        8.42 ( -0.18%)	
          len=24, pos=23, align=4084:        43.52	       42.79 (  1.68%)	
             len=25, pos=24, align=0:         9.62	        9.53 (  0.86%)	
             len=25, pos=24, align=0:         9.18	        9.44 ( -2.89%)	
          len=25, pos=24, align=4083:        42.36	       42.06 (  0.71%)	
             len=26, pos=25, align=0:         8.40	        8.42 ( -0.19%)	
             len=26, pos=25, align=0:         9.57	        9.90 ( -3.43%)	
          len=26, pos=25, align=4083:        42.36	       43.61 ( -2.94%)	
             len=27, pos=26, align=0:         8.40	        8.42 ( -0.18%)	
             len=27, pos=26, align=0:         9.28	        9.91 ( -6.84%)	
          len=27, pos=26, align=4082:        42.68	       43.26 ( -1.37%)	
             len=28, pos=27, align=0:         8.40	        8.40 (  0.01%)	
             len=28, pos=27, align=0:         9.28	        9.85 ( -6.19%)	
          len=28, pos=27, align=4082:        42.81	       42.59 (  0.51%)	
             len=29, pos=28, align=0:         8.40	        8.42 ( -0.18%)	
             len=29, pos=28, align=0:         9.17	        9.52 ( -3.90%)	
          len=29, pos=28, align=4081:        42.68	       42.37 (  0.73%)	
             len=30, pos=29, align=0:         8.40	        8.42 ( -0.18%)	
             len=30, pos=29, align=0:         9.26	        9.67 ( -4.40%)	
          len=30, pos=29, align=4081:        43.05	       42.00 (  2.43%)	
             len=31, pos=30, align=0:        10.06	        8.70 ( 13.52%)	
             len=31, pos=30, align=0:         9.37	        9.56 ( -2.06%)	
          len=31, pos=30, align=4080:        42.83	       43.62 ( -1.85%)	
             len=32, pos=31, align=0:        15.92	        8.42 ( 47.11%)	
             len=32, pos=31, align=0:        15.59	        9.57 ( 38.60%)	
          len=32, pos=31, align=4080:        39.79	       42.36 ( -6.47%)	
              len=16, pos=0, align=0:         8.41	        8.42 ( -0.16%)	
             len=32, pos=16, align=0:        15.94	        8.73 ( 45.22%)	
             len=48, pos=32, align=0:        15.06	        8.42 ( 44.08%)	
             len=64, pos=48, align=0:        15.22	       15.91 ( -4.53%)	
             len=80, pos=64, align=0:        15.21	       14.17 (  6.82%)	
             len=96, pos=80, align=0:        17.51	       14.17 ( 19.08%)	
            len=112, pos=96, align=0:        16.32	       14.17 ( 13.19%)	
           len=128, pos=112, align=0:        24.74	       21.35 ( 13.70%)	
           len=144, pos=128, align=0:        23.56	       17.78 ( 24.52%)	
           len=160, pos=144, align=0:        23.90	       17.79 ( 25.54%)	
           len=176, pos=160, align=0:        23.55	       17.84 ( 24.23%)	
           len=192, pos=176, align=0:        27.61	       19.39 ( 29.77%)	
           len=208, pos=192, align=0:        28.38	       16.66 ( 41.30%)	
           len=224, pos=208, align=0:        28.69	       16.72 ( 41.73%)	
           len=240, pos=224, align=0:        28.40	       16.73 ( 41.10%)	
           len=256, pos=240, align=0:        33.07	       22.81 ( 31.02%)	
           len=272, pos=256, align=0:        33.19	       22.82 ( 31.24%)	
           len=288, pos=272, align=0:        33.47	       22.81 ( 31.85%)	
              len=16, pos=0, align=0:         8.41	        8.43 ( -0.26%)	
             len=16, pos=16, align=0:         8.40	        8.43 ( -0.30%)	
             len=16, pos=16, align=0:         8.40	        8.43 ( -0.29%)	
              len=16, pos=0, align=0:         8.40	        8.43 ( -0.30%)	
             len=16, pos=16, align=0:         8.40	        8.43 ( -0.28%)	
             len=16, pos=48, align=0:         8.40	        8.43 ( -0.31%)	
             len=64, pos=16, align=0:        17.01	       15.50 (  8.86%)	
             len=16, pos=96, align=0:         8.43	        8.88 ( -5.40%)	
            len=112, pos=16, align=0:        18.76	       15.00 ( 20.03%)	
            len=16, pos=144, align=0:         8.43	        8.40 (  0.34%)	
            len=160, pos=16, align=0:        27.15	       23.12 ( 14.86%)	
            len=16, pos=192, align=0:         8.72	        8.43 (  3.28%)	
            len=208, pos=16, align=0:        31.67	       23.02 ( 27.31%)	
            len=16, pos=240, align=0:         8.40	        8.43 ( -0.29%)	
            len=256, pos=16, align=0:        32.77	       28.81 ( 12.08%)	
            len=16, pos=288, align=0:         9.51	        8.43 ( 11.38%)	
            len=304, pos=16, align=0:        28.27	       27.60 (  2.37%)	
              len=32, pos=0, align=0:        15.51	        9.54 ( 38.48%)	
             len=32, pos=32, align=0:        14.40	        8.43 ( 41.47%)	
             len=32, pos=32, align=0:        15.41	        9.52 ( 38.21%)	
              len=32, pos=0, align=0:        14.40	        8.43 ( 41.49%)	
             len=32, pos=32, align=0:        15.10	        9.56 ( 36.68%)	
             len=32, pos=48, align=0:        15.17	       10.34 ( 31.83%)	
             len=80, pos=32, align=0:        16.18	       15.00 (  7.26%)	
             len=32, pos=96, align=0:        14.87	        9.51 ( 36.03%)	
            len=128, pos=32, align=0:        24.28	       22.81 (  6.05%)	
            len=32, pos=144, align=0:        15.18	        9.59 ( 36.83%)	
            len=176, pos=32, align=0:        23.92	       22.56 (  5.70%)	
            len=32, pos=192, align=0:        15.46	       10.15 ( 34.36%)	
            len=224, pos=32, align=0:        24.90	       23.97 (  3.72%)	
            len=32, pos=240, align=0:        16.34	        8.40 ( 48.55%)	
            len=272, pos=32, align=0:        27.48	       28.60 ( -4.06%)	
            len=32, pos=288, align=0:        16.19	        8.43 ( 47.93%)	
            len=320, pos=32, align=0:        29.57	       30.08 ( -1.72%)	
              len=64, pos=0, align=0:        17.17	       15.00 ( 12.62%)	
             len=64, pos=64, align=0:        15.21	       15.90 ( -4.54%)	
             len=64, pos=64, align=0:        15.53	       15.01 (  3.37%)	
              len=64, pos=0, align=0:        17.22	       15.52 (  9.87%)	
             len=64, pos=64, align=0:        15.18	       15.93 ( -4.99%)	
             len=64, pos=48, align=0:        15.33	       14.93 (  2.60%)	
            len=112, pos=64, align=0:        17.94	       14.11 ( 21.38%)	
             len=64, pos=16, align=0:        17.19	       15.65 (  8.95%)	
             len=16, pos=48, align=0:         8.40	        8.43 ( -0.32%)	
             len=16, pos=64, align=0:         8.40	        8.43 ( -0.33%)	
             len=64, pos=96, align=0:        14.64	       14.98 ( -2.31%)	
            len=160, pos=64, align=0:        24.35	       20.60 ( 15.40%)	
            len=64, pos=144, align=0:        15.13	       14.93 (  1.35%)	
            len=208, pos=64, align=0:        24.73	       22.08 ( 10.71%)	
            len=64, pos=192, align=0:        15.25	       15.97 ( -4.72%)	
            len=256, pos=64, align=0:        27.57	       26.75 (  2.97%)	
            len=64, pos=240, align=0:        16.35	       15.34 (  6.22%)	
            len=304, pos=64, align=0:        27.58	       26.76 (  2.99%)	
            len=64, pos=288, align=0:        16.64	       13.92 ( 16.34%)	
            len=352, pos=64, align=0:        29.56	       27.74 (  6.15%)	
             len=128, pos=0, align=0:        24.40	       24.09 (  1.27%)	
           len=128, pos=128, align=0:        21.13	       22.54 ( -6.67%)	
           len=128, pos=128, align=0:        22.00	       19.20 ( 12.71%)	
             len=128, pos=0, align=0:        23.52	       23.21 (  1.35%)	
           len=128, pos=128, align=0:        22.29	       20.40 (  8.45%)	
            len=128, pos=48, align=0:        23.83	       22.67 (  4.86%)	
           len=176, pos=128, align=0:        23.57	       17.76 ( 24.64%)	
            len=128, pos=80, align=0:        23.12	       21.39 (  7.47%)	
             len=80, pos=48, align=0:        15.39	       16.05 ( -4.32%)	
            len=80, pos=128, align=0:        15.52	       13.21 ( 14.91%)	
            len=128, pos=96, align=0:        21.19	       21.80 ( -2.86%)	
           len=224, pos=128, align=0:        29.52	       19.19 ( 35.01%)	
            len=128, pos=32, align=0:        23.50	       23.93 ( -1.83%)	
             len=32, pos=96, align=0:        14.40	        8.43 ( 41.49%)	
            len=32, pos=128, align=0:        15.09	        9.53 ( 36.85%)	
           len=128, pos=144, align=0:        21.18	       21.40 ( -1.03%)	
           len=272, pos=128, align=0:        32.88	       23.33 ( 29.06%)	
           len=128, pos=192, align=0:        21.24	       21.34 ( -0.51%)	
           len=320, pos=128, align=0:        35.41	       24.01 ( 32.18%)	
           len=128, pos=240, align=0:        22.00	       20.71 (  5.84%)	
           len=368, pos=128, align=0:        34.67	       23.83 ( 31.27%)	
           len=128, pos=288, align=0:        22.00	       20.71 (  5.88%)	
           len=416, pos=128, align=0:        36.01	       29.25 ( 18.79%)	
             len=256, pos=0, align=0:        27.86	       28.80 ( -3.35%)	
           len=256, pos=256, align=0:        32.80	       24.01 ( 26.79%)	
           len=256, pos=256, align=0:        32.29	       23.82 ( 26.23%)	
             len=256, pos=0, align=0:        29.90	       27.60 (  7.68%)	
           len=256, pos=256, align=0:        32.03	       23.88 ( 25.44%)	
            len=256, pos=48, align=0:        28.05	       27.92 (  0.48%)	
           len=304, pos=256, align=0:        32.33	       23.81 ( 26.36%)	
           len=256, pos=208, align=0:        34.64	       22.81 ( 34.16%)	
            len=208, pos=48, align=0:        26.34	       23.97 (  8.98%)	
           len=208, pos=256, align=0:        29.51	       16.81 ( 43.04%)	
            len=256, pos=96, align=0:        25.22	       27.10 ( -7.48%)	
           len=352, pos=256, align=0:        36.81	       26.24 ( 28.70%)	
           len=256, pos=160, align=0:        31.53	       24.33 ( 22.85%)	
            len=160, pos=96, align=0:        21.12	       21.36 ( -1.10%)	
           len=160, pos=256, align=0:        23.58	       18.21 ( 22.77%)	
           len=256, pos=144, align=0:        32.79	       22.81 ( 30.44%)	
           len=400, pos=256, align=0:        40.23	       31.09 ( 22.72%)	
           len=256, pos=112, align=0:        26.87	       25.80 (  3.96%)	
           len=112, pos=144, align=0:        16.41	       14.52 ( 11.55%)	
           len=112, pos=256, align=0:        17.32	       13.20 ( 23.76%)	
           len=256, pos=192, align=0:        33.42	       23.85 ( 28.63%)	
           len=448, pos=256, align=0:        44.97	       34.43 ( 23.43%)	
            len=256, pos=64, align=0:        28.42	       26.71 (  5.99%)	
            len=64, pos=192, align=0:        15.21	       14.86 (  2.27%)	
            len=64, pos=256, align=0:        16.10	       14.92 (  7.29%)	
           len=256, pos=240, align=0:        31.99	       25.33 ( 20.82%)	
           len=496, pos=256, align=0:        43.69	       32.03 ( 26.70%)	
            len=256, pos=16, align=0:        28.05	       27.61 (  1.59%)	
            len=16, pos=240, align=0:         8.40	        8.40 ( -0.02%)	
            len=16, pos=256, align=0:         8.40	        8.40 (  0.02%)	
           len=256, pos=288, align=0:        32.32	       23.80 ( 26.36%)	
           len=544, pos=256, align=0:        46.34	       37.65 ( 18.76%)	
             len=512, pos=0, align=0:        39.19	       35.72 (  8.85%)	
           len=512, pos=512, align=0:        51.38	       37.06 ( 27.87%)	
           len=512, pos=512, align=0:        50.50	       38.76 ( 23.25%)	
             len=512, pos=0, align=0:        40.26	       35.72 ( 11.28%)	
           len=512, pos=512, align=0:        51.16	       39.44 ( 22.90%)	
            len=512, pos=48, align=0:        38.63	       36.30 (  6.03%)	
           len=560, pos=512, align=0:        51.64	       37.50 ( 27.38%)	
           len=512, pos=464, align=0:        54.32	       37.53 ( 30.91%)	
            len=464, pos=48, align=0:        37.24	       32.73 ( 12.11%)	
           len=464, pos=512, align=0:        48.84	       30.02 ( 38.54%)	
            len=512, pos=96, align=0:        36.67	       33.66 (  8.22%)	
           len=608, pos=512, align=0:        57.62	       35.09 ( 39.09%)	
           len=512, pos=416, align=0:        49.19	       38.86 ( 21.01%)	
            len=416, pos=96, align=0:        31.62	       26.77 ( 15.35%)	
           len=416, pos=512, align=0:        42.80	       28.81 ( 32.68%)	
           len=512, pos=144, align=0:        42.56	       32.80 ( 22.95%)	
           len=656, pos=512, align=0:        61.69	       46.66 ( 24.37%)	
           len=512, pos=368, align=0:        46.85	       36.20 ( 22.73%)	
           len=368, pos=144, align=0:        34.35	       25.40 ( 26.05%)	
           len=368, pos=512, align=0:        36.88	       24.01 ( 34.90%)	
           len=512, pos=192, align=0:        43.88	       35.28 ( 19.59%)	
           len=704, pos=512, align=0:        66.12	       42.32 ( 35.99%)	
           len=512, pos=320, align=0:        49.13	       36.27 ( 26.18%)	
           len=320, pos=192, align=0:        34.81	       24.96 ( 28.30%)	
           len=320, pos=512, align=0:        36.42	       24.32 ( 33.23%)	
           len=512, pos=240, align=0:        42.11	       35.22 ( 16.36%)	
           len=752, pos=512, align=0:        65.60	       45.54 ( 30.59%)	
           len=512, pos=272, align=0:        46.15	       36.37 ( 21.19%)	
           len=272, pos=240, align=0:        33.31	       22.81 ( 31.53%)	
           len=272, pos=512, align=0:        33.17	       25.23 ( 23.92%)	
           len=512, pos=288, align=0:        45.92	       37.09 ( 19.24%)	
           len=800, pos=512, align=0:        67.51	       51.74 ( 23.35%)	
           len=512, pos=224, align=0:        42.03	       33.44 ( 20.42%)	
           len=224, pos=288, align=0:        29.40	       16.81 ( 42.83%)	
           len=224, pos=512, align=0:        28.42	       17.63 ( 37.98%)	
            len=1024, pos=0, align=0:        69.13	       52.69 ( 23.78%)	
         len=1024, pos=1024, align=0:        99.39	       56.92 ( 42.73%)	
         len=1024, pos=1024, align=0:        99.68	       57.91 ( 41.90%)	
            len=1024, pos=0, align=0:        69.45	       51.81 ( 25.40%)	
         len=1024, pos=1024, align=0:       100.00	       56.88 ( 43.12%)	
           len=1024, pos=48, align=0:        69.25	       52.05 ( 24.84%)	
         len=1072, pos=1024, align=0:        96.33	       56.69 ( 41.15%)	
          len=1024, pos=976, align=0:        96.24	       58.74 ( 38.96%)	
            len=976, pos=48, align=0:        62.95	       49.35 ( 21.59%)	
          len=976, pos=1024, align=0:        92.35	       50.20 ( 45.64%)	
           len=1024, pos=96, align=0:        63.25	       48.37 ( 23.52%)	
         len=1120, pos=1024, align=0:       101.83	       60.44 ( 40.65%)	
          len=1024, pos=928, align=0:        91.58	       60.20 ( 34.27%)	
            len=928, pos=96, align=0:        57.34	       44.72 ( 22.01%)	
          len=928, pos=1024, align=0:        87.50	       52.73 ( 39.74%)	
          len=1024, pos=144, align=0:        66.55	       50.56 ( 24.02%)	
         len=1168, pos=1024, align=0:       106.17	       69.80 ( 34.26%)	
          len=1024, pos=880, align=0:        89.17	       60.25 ( 32.43%)	
           len=880, pos=144, align=0:        58.42	       40.72 ( 30.30%)	
          len=880, pos=1024, align=0:        80.49	       47.82 ( 40.59%)	
          len=1024, pos=192, align=0:        68.39	       49.40 ( 27.77%)	
         len=1216, pos=1024, align=0:       110.90	       64.33 ( 41.99%)	
          len=1024, pos=832, align=0:        92.27	       59.93 ( 35.05%)	
           len=832, pos=192, align=0:        57.83	       43.36 ( 25.02%)	
          len=832, pos=1024, align=0:        78.46	       45.05 ( 42.59%)	
          len=1024, pos=240, align=0:        68.39	       50.19 ( 26.61%)	
         len=1264, pos=1024, align=0:       106.70	       68.59 ( 35.72%)	
          len=1024, pos=784, align=0:        89.64	       57.93 ( 35.38%)	
           len=784, pos=240, align=0:        54.95	       42.80 ( 22.12%)	
          len=784, pos=1024, align=0:        73.60	       49.98 ( 32.10%)	
          len=1024, pos=288, align=0:        70.40	       55.06 ( 21.78%)	
         len=1312, pos=1024, align=0:       110.73	       74.61 ( 32.62%)	
          len=1024, pos=736, align=0:        84.68	       59.87 ( 29.30%)	
           len=736, pos=288, align=0:        55.04	       38.89 ( 29.33%)	
          len=736, pos=1024, align=0:        67.80	       40.16 ( 40.76%)	
            len=2048, pos=0, align=0:       116.91	       81.34 ( 30.42%)	
         len=2048, pos=2048, align=0:       180.02	      103.47 ( 42.52%)	
         len=2048, pos=2048, align=0:       182.66	      107.47 ( 41.16%)	
            len=2048, pos=0, align=0:       115.97	       82.97 ( 28.46%)	
         len=2048, pos=2048, align=0:       181.76	      109.53 ( 39.74%)	
           len=2048, pos=48, align=0:       120.20	       79.32 ( 34.01%)	
         len=2096, pos=2048, align=0:       183.27	      109.37 ( 40.33%)	
         len=2048, pos=2000, align=0:       181.09	      103.89 ( 42.63%)	
           len=2000, pos=48, align=0:       117.54	       78.41 ( 33.29%)	
         len=2000, pos=2048, align=0:       177.11	      114.20 ( 35.52%)	
           len=2048, pos=96, align=0:       113.46	       79.39 ( 30.03%)	
         len=2144, pos=2048, align=0:       189.05	      126.45 ( 33.11%)	
         len=2048, pos=1952, align=0:       178.23	      112.20 ( 37.05%)	
           len=1952, pos=96, align=0:       107.75	       75.81 ( 29.64%)	
         len=1952, pos=2048, align=0:       173.93	      103.42 ( 40.54%)	
          len=2048, pos=144, align=0:       118.98	       79.52 ( 33.17%)	
         len=2192, pos=2048, align=0:       190.59	      116.85 ( 38.69%)	
         len=2048, pos=1904, align=0:       175.94	      100.66 ( 42.79%)	
          len=1904, pos=144, align=0:       110.06	       73.04 ( 33.64%)	
         len=1904, pos=2048, align=0:       166.64	       97.06 ( 41.76%)	
          len=2048, pos=192, align=0:       119.50	       80.58 ( 32.57%)	
         len=2240, pos=2048, align=0:       194.68	      116.28 ( 40.27%)	
         len=2048, pos=1856, align=0:       178.91	      100.32 ( 43.93%)	
          len=1856, pos=192, align=0:       110.28	       72.14 ( 34.59%)	
         len=1856, pos=2048, align=0:       165.86	       96.62 ( 41.75%)	
          len=2048, pos=240, align=0:       119.67	       80.68 ( 32.58%)	
         len=2288, pos=2048, align=0:       194.33	      117.98 ( 39.29%)	
         len=2048, pos=1808, align=0:       176.40	      110.92 ( 37.12%)	
          len=1808, pos=240, align=0:       105.44	       73.34 ( 30.45%)	
         len=1808, pos=2048, align=0:       161.48	       97.47 ( 39.64%)	
          len=2048, pos=288, align=0:       122.04	       83.07 ( 31.93%)	
         len=2336, pos=2048, align=0:       196.84	      122.63 ( 37.70%)	
         len=2048, pos=1760, align=0:       171.20	       97.26 ( 43.19%)	
          len=1760, pos=288, align=0:       105.79	       71.05 ( 32.84%)	
         len=1760, pos=2048, align=0:       155.55	       90.71 ( 41.69%)	
           len=2048, pos=32, align=0:       119.45	       82.83 ( 30.66%)	
           len=2048, pos=32, align=1:       119.47	       83.33 ( 30.25%)	
           len=2048, pos=64, align=0:       118.59	       79.45 ( 33.01%)	
           len=2048, pos=64, align=2:       118.86	       79.80 ( 32.86%)	
          len=2048, pos=128, align=0:       118.01	       68.67 ( 41.81%)	
          len=2048, pos=128, align=3:       117.88	       79.36 ( 32.68%)	
          len=2048, pos=256, align=0:       122.42	       82.94 ( 32.25%)	
          len=2048, pos=256, align=4:       123.20	       82.97 ( 32.65%)	
          len=2048, pos=512, align=0:       131.09	       87.93 ( 32.92%)	
          len=2048, pos=512, align=5:       130.63	       88.31 ( 32.40%)	
         len=2048, pos=1024, align=0:       148.44	       99.06 ( 33.27%)	
         len=2048, pos=1024, align=6:       148.26	      100.39 ( 32.28%)	
         len=2048, pos=2048, align=0:       181.14	      103.39 ( 42.92%)	
         len=2048, pos=2048, align=7:       180.36	      103.89 ( 42.40%)	
         len=2048, pos=4096, align=0:       181.20	      103.81 ( 42.71%)	
         len=2048, pos=4096, align=8:       181.56	      104.37 ( 42.51%)	
            len=256, pos=64, align=1:        34.05	       26.12 ( 23.28%)	
            len=256, pos=64, align=1:        32.03	       27.50 ( 14.16%)	
           len=256, pos=64, align=15:        32.89	       25.80 ( 21.54%)	
           len=256, pos=64, align=15:        32.38	       26.76 ( 17.36%)	
            len=256, pos=64, align=2:        32.35	       26.68 ( 17.54%)	
            len=256, pos=64, align=2:        31.56	       26.19 ( 17.03%)	
           len=256, pos=64, align=30:        32.83	       26.12 ( 20.43%)	
           len=256, pos=64, align=30:        32.04	       27.09 ( 15.47%)	
            len=256, pos=64, align=3:        32.98	       25.80 ( 21.75%)	
            len=256, pos=64, align=3:        32.08	       26.74 ( 16.65%)	
           len=256, pos=64, align=45:        32.25	       26.80 ( 16.90%)	
           len=256, pos=64, align=45:        33.34	       25.80 ( 22.60%)	
            len=256, pos=64, align=4:        32.14	       26.88 ( 16.37%)	
            len=256, pos=64, align=4:        33.02	       26.11 ( 20.92%)	
           len=256, pos=64, align=60:        27.26	       26.73 (  1.94%)	
           len=256, pos=64, align=60:        27.21	       26.68 (  1.92%)	
            len=256, pos=64, align=5:        26.73	       26.79 ( -0.24%)	
            len=256, pos=64, align=5:        28.00	       26.16 (  6.58%)	
           len=256, pos=64, align=75:        31.93	       27.06 ( 15.25%)	
           len=256, pos=64, align=75:        32.88	       24.61 ( 25.16%)	
            len=256, pos=64, align=6:        27.06	       26.86 (  0.73%)	
            len=256, pos=64, align=6:        28.36	       25.80 (  9.00%)	
           len=256, pos=64, align=90:        32.05	       25.71 ( 19.77%)	
           len=256, pos=64, align=90:        32.65	       25.00 ( 23.44%)	
            len=256, pos=64, align=7:        27.18	       26.76 (  1.55%)	
            len=256, pos=64, align=7:        28.18	       26.74 (  5.09%)	
          len=256, pos=64, align=105:        31.84	       23.97 ( 24.74%)	
          len=256, pos=64, align=105:        33.20	       24.06 ( 27.52%)	
               len=1, pos=0, align=0:         9.61	        9.60 (  0.02%)	
               len=1, pos=0, align=0:         8.40	        8.40 (  0.02%)	
            len=1, pos=0, align=4095:        42.32	       42.06 (  0.62%)	
               len=2, pos=1, align=0:         8.40	        8.79 ( -4.65%)	
               len=2, pos=1, align=0:         8.40	        8.40 ( -0.00%)	
            len=2, pos=1, align=4095:        42.38	       42.00 (  0.89%)	
               len=3, pos=2, align=0:         8.40	        8.40 (  0.01%)	
               len=3, pos=2, align=0:         8.40	        8.40 (  0.00%)	
            len=3, pos=2, align=4094:        42.83	       42.44 (  0.90%)	
               len=4, pos=3, align=0:         8.40	        8.40 ( -0.01%)	
               len=4, pos=3, align=0:         8.40	        8.40 (  0.02%)	
            len=4, pos=3, align=4094:        42.85	       42.00 (  1.99%)	
               len=5, pos=4, align=0:         8.40	        8.40 (  0.01%)	
               len=5, pos=4, align=0:         8.40	        8.40 (  0.00%)	
            len=5, pos=4, align=4093:        42.82	       43.48 ( -1.54%)	
               len=6, pos=5, align=0:         8.40	        8.72 ( -3.80%)	
               len=6, pos=5, align=0:         8.40	        8.40 (  0.00%)	
            len=6, pos=5, align=4093:        42.83	       42.98 ( -0.36%)	
               len=7, pos=6, align=0:         8.40	        8.40 (  0.00%)	
               len=7, pos=6, align=0:         8.40	        8.40 (  0.03%)	
            len=7, pos=6, align=4092:        42.41	       42.51 ( -0.23%)	
               len=8, pos=7, align=0:         8.40	        8.40 (  0.00%)	
               len=8, pos=7, align=0:         8.40	        8.40 (  0.02%)	
            len=8, pos=7, align=4092:        43.18	       42.44 (  1.71%)	
               len=9, pos=8, align=0:         8.40	        8.40 (  0.00%)	
               len=9, pos=8, align=0:         8.40	        8.40 (  0.02%)	
            len=9, pos=8, align=4091:        42.32	       42.39 ( -0.17%)	
              len=10, pos=9, align=0:         8.40	        8.40 (  0.00%)	
              len=10, pos=9, align=0:         8.40	        8.40 (  0.02%)	
           len=10, pos=9, align=4091:        42.00	       42.96 ( -2.29%)	
             len=11, pos=10, align=0:         8.40	        8.78 ( -4.46%)	
             len=11, pos=10, align=0:         8.40	        8.40 (  0.00%)	
          len=11, pos=10, align=4090:        42.35	       42.00 (  0.81%)	
             len=12, pos=11, align=0:         8.40	        8.40 (  0.03%)	
             len=12, pos=11, align=0:         8.40	        8.40 ( -0.02%)	
          len=12, pos=11, align=4090:        42.88	       42.06 (  1.91%)	
             len=13, pos=12, align=0:         8.40	        8.40 (  0.00%)	
             len=13, pos=12, align=0:         8.40	        8.40 (  0.02%)	
          len=13, pos=12, align=4089:        42.01	       42.37 ( -0.87%)	
             len=14, pos=13, align=0:         8.40	        8.40 (  0.02%)	
             len=14, pos=13, align=0:         8.71	        8.40 (  3.52%)	
          len=14, pos=13, align=4089:        42.95	       42.37 (  1.35%)	
             len=15, pos=14, align=0:         8.40	        8.40 (  0.00%)	
             len=15, pos=14, align=0:         8.40	        8.40 (  0.00%)	
          len=15, pos=14, align=4088:        42.33	       42.00 (  0.76%)	
             len=16, pos=15, align=0:         8.40	        8.40 (  0.03%)	
             len=16, pos=15, align=0:         8.40	        8.40 (  0.03%)	
          len=16, pos=15, align=4088:        42.00	       42.47 ( -1.10%)	
             len=17, pos=16, align=0:         8.40	        9.60 (-14.25%)	
             len=17, pos=16, align=0:         8.40	        8.40 (  0.03%)	
          len=17, pos=16, align=4087:        42.01	       43.04 ( -2.46%)	
             len=18, pos=17, align=0:         8.40	        8.40 (  0.02%)	
             len=18, pos=17, align=0:         8.40	        8.40 (  0.03%)	
          len=18, pos=17, align=4087:        42.83	       42.34 (  1.14%)	
             len=19, pos=18, align=0:         8.40	        8.40 (  0.01%)	
             len=19, pos=18, align=0:         8.40	        8.40 (  0.03%)	
          len=19, pos=18, align=4086:        42.83	       42.41 (  0.97%)	
             len=20, pos=19, align=0:         8.40	        8.40 (  0.01%)	
             len=20, pos=19, align=0:         9.19	        9.43 ( -2.54%)	
          len=20, pos=19, align=4086:        42.67	       42.48 (  0.43%)	
             len=21, pos=20, align=0:        10.09	        8.40 ( 16.69%)	
             len=21, pos=20, align=0:         9.74	        9.59 (  1.56%)	
          len=21, pos=20, align=4085:        42.74	       43.26 ( -1.22%)	
             len=22, pos=21, align=0:        10.07	        8.40 ( 16.58%)	
             len=22, pos=21, align=0:         8.40	        8.40 (  0.03%)	
          len=22, pos=21, align=4085:        42.31	       42.06 (  0.60%)	
             len=23, pos=22, align=0:         8.40	        8.40 (  0.01%)	
             len=23, pos=22, align=0:         9.31	        9.44 ( -1.40%)	
          len=23, pos=22, align=4084:        42.69	       42.77 ( -0.18%)	
             len=24, pos=23, align=0:        10.93	        8.40 ( 23.13%)	
             len=24, pos=23, align=0:         8.40	        8.40 (  0.02%)	
          len=24, pos=23, align=4084:        42.36	       42.00 (  0.84%)	
             len=25, pos=24, align=0:        10.10	        8.40 ( 16.83%)	
             len=25, pos=24, align=0:         9.68	        9.43 (  2.60%)	
          len=25, pos=24, align=4083:        42.68	       43.08 ( -0.93%)	
             len=26, pos=25, align=0:         8.40	        8.40 (  0.02%)	
             len=26, pos=25, align=0:         9.31	       10.76 (-15.67%)	
          len=26, pos=25, align=4083:        43.53	       42.97 (  1.27%)	
             len=27, pos=26, align=0:         9.28	        9.43 ( -1.53%)	
             len=27, pos=26, align=0:         9.74	        9.52 (  2.22%)	
          len=27, pos=26, align=4082:        42.31	       42.82 ( -1.22%)	
             len=28, pos=27, align=0:         9.26	        9.53 ( -2.91%)	
             len=28, pos=27, align=0:         9.74	        9.51 (  2.36%)	
          len=28, pos=27, align=4082:        42.83	       42.35 (  1.11%)	
             len=29, pos=28, align=0:        10.09	        8.40 ( 16.75%)	
             len=29, pos=28, align=0:         9.28	        9.83 ( -5.89%)	
          len=29, pos=28, align=4081:        42.74	       42.39 (  0.83%)	
             len=30, pos=29, align=0:         8.40	        8.40 (  0.03%)	
             len=30, pos=29, align=0:         9.57	        9.47 (  1.00%)	
          len=30, pos=29, align=4081:        42.65	       42.43 (  0.51%)	
             len=31, pos=30, align=0:         9.24	        9.73 ( -5.30%)	
             len=31, pos=30, align=0:        10.02	        8.40 ( 16.19%)	
          len=31, pos=30, align=4080:        42.78	       42.54 (  0.57%)	
             len=32, pos=31, align=0:        16.09	        8.40 ( 47.78%)	
             len=32, pos=31, align=0:        15.17	        9.84 ( 35.16%)	
          len=32, pos=31, align=4080:        39.80	       42.35 ( -6.43%)	
              len=16, pos=0, align=0:         9.63	        8.40 ( 12.73%)	
             len=32, pos=16, align=0:        14.40	        8.40 ( 41.67%)	
             len=48, pos=32, align=0:        13.94	        9.79 ( 29.77%)	
             len=64, pos=48, align=0:        16.32	       15.01 (  8.03%)	
             len=80, pos=64, align=0:        15.21	       14.19 (  6.72%)	
             len=96, pos=80, align=0:        17.59	       14.18 ( 19.35%)	
            len=112, pos=96, align=0:        16.71	       14.10 ( 15.63%)	
           len=128, pos=112, align=0:        24.39	       22.81 (  6.48%)	
           len=144, pos=128, align=0:        23.54	       17.85 ( 24.15%)	
           len=160, pos=144, align=0:        23.56	       18.14 ( 23.00%)	
           len=176, pos=160, align=0:        24.44	       17.11 ( 29.98%)	
           len=192, pos=176, align=0:        28.31	       18.14 ( 35.92%)	
           len=208, pos=192, align=0:        28.41	       17.79 ( 37.39%)	
           len=224, pos=208, align=0:        28.67	       16.92 ( 40.97%)	
           len=240, pos=224, align=0:        27.92	       16.62 ( 40.47%)	
           len=256, pos=240, align=0:        31.92	       24.28 ( 23.93%)	
           len=272, pos=256, align=0:        33.13	       22.82 ( 31.14%)	
           len=288, pos=272, align=0:        32.31	       24.43 ( 24.37%)	
              len=16, pos=0, align=0:         8.40	        8.43 ( -0.29%)	
             len=16, pos=16, align=0:         8.40	        8.43 ( -0.29%)	
             len=16, pos=16, align=0:         8.40	        8.43 ( -0.30%)	
              len=16, pos=0, align=0:         8.40	        8.43 ( -0.27%)	
             len=16, pos=16, align=0:         8.40	        8.43 ( -0.28%)	
             len=16, pos=48, align=0:         8.72	        8.43 (  3.29%)	
             len=64, pos=16, align=0:        17.23	       15.01 ( 12.91%)	
             len=16, pos=96, align=0:         8.43	        8.40 (  0.30%)	
            len=112, pos=16, align=0:        17.59	       14.93 ( 15.15%)	
            len=16, pos=144, align=0:         8.43	        8.43 (  0.03%)	
            len=160, pos=16, align=0:        25.93	       23.56 (  9.14%)	
            len=16, pos=192, align=0:         8.43	        8.76 ( -3.97%)	
            len=208, pos=16, align=0:        30.42	       24.08 ( 20.85%)	
            len=16, pos=240, align=0:         9.65	        8.43 ( 12.63%)	
            len=256, pos=16, align=0:        33.44	       27.93 ( 16.48%)	
            len=16, pos=288, align=0:         8.40	        8.74 ( -4.07%)	
            len=304, pos=16, align=0:        28.45	       26.40 (  7.20%)	
              len=32, pos=0, align=0:        14.40	        8.43 ( 41.48%)	
             len=32, pos=32, align=0:        15.16	        9.53 ( 37.16%)	
             len=32, pos=32, align=0:        15.42	        9.54 ( 38.14%)	
              len=32, pos=0, align=0:        15.19	        9.51 ( 37.36%)	
             len=32, pos=32, align=0:        15.54	        9.53 ( 38.67%)	
             len=32, pos=48, align=0:        14.40	        8.43 ( 41.48%)	
             len=80, pos=32, align=0:        15.61	       15.97 ( -2.36%)	
             len=32, pos=96, align=0:        15.39	        9.57 ( 37.82%)	
            len=128, pos=32, align=0:        23.60	       24.95 ( -5.73%)	
            len=32, pos=144, align=0:        15.47	        9.74 ( 37.04%)	
            len=176, pos=32, align=0:        24.29	       22.80 (  6.11%)	
            len=32, pos=192, align=0:        14.40	        8.43 ( 41.49%)	
            len=224, pos=32, align=0:        25.09	       24.05 (  4.16%)	
            len=32, pos=240, align=0:        15.17	        9.77 ( 35.58%)	
            len=272, pos=32, align=0:        27.58	       28.66 ( -3.95%)	
            len=32, pos=288, align=0:        15.87	        8.73 ( 44.97%)	
            len=320, pos=32, align=0:        34.42	       29.31 ( 14.85%)	
              len=64, pos=0, align=0:        16.37	       15.95 (  2.52%)	
             len=64, pos=64, align=0:        15.20	       16.11 ( -5.98%)	
             len=64, pos=64, align=0:        15.52	       15.41 (  0.74%)	
              len=64, pos=0, align=0:        17.21	       13.93 ( 19.04%)	
             len=64, pos=64, align=0:        15.25	       15.98 ( -4.76%)	
             len=64, pos=48, align=0:        15.23	       14.96 (  1.75%)	
            len=112, pos=64, align=0:        17.93	       14.18 ( 20.90%)	
             len=64, pos=16, align=0:        17.25	       13.92 ( 19.30%)	
             len=16, pos=48, align=0:         8.43	        9.63 (-14.20%)	
             len=16, pos=64, align=0:         8.43	        8.43 ( -0.01%)	
             len=64, pos=96, align=0:        15.17	       15.97 ( -5.26%)	
            len=160, pos=64, align=0:        23.59	       22.44 (  4.90%)	
            len=64, pos=144, align=0:        16.33	       13.92 ( 14.77%)	
            len=208, pos=64, align=0:        26.11	       21.01 ( 19.56%)	
            len=64, pos=192, align=0:        15.21	       14.96 (  1.69%)	
            len=256, pos=64, align=0:        26.73	       26.70 (  0.11%)	
            len=64, pos=240, align=0:        15.26	       15.92 ( -4.32%)	
            len=304, pos=64, align=0:        27.53	       26.85 (  2.45%)	
            len=64, pos=288, align=0:        15.54	       16.00 ( -2.99%)	
            len=352, pos=64, align=0:        34.42	       27.68 ( 19.58%)	
             len=128, pos=0, align=0:        23.64	       22.67 (  4.11%)	
           len=128, pos=128, align=0:        21.20	       21.80 ( -2.83%)	
           len=128, pos=128, align=0:        21.37	       21.35 (  0.13%)	
             len=128, pos=0, align=0:        24.42	       23.25 (  4.80%)	
           len=128, pos=128, align=0:        21.57	       21.35 (  1.00%)	
            len=128, pos=48, align=0:        24.69	       21.60 ( 12.52%)	
           len=176, pos=128, align=0:        23.53	       17.77 ( 24.50%)	
            len=128, pos=80, align=0:        23.97	       21.36 ( 10.87%)	
             len=80, pos=48, align=0:        15.25	       15.87 ( -4.05%)	
            len=80, pos=128, align=0:        16.25	       13.20 ( 18.75%)	
            len=128, pos=96, align=0:        21.22	       22.06 ( -3.96%)	
           len=224, pos=128, align=0:        29.57	       19.08 ( 35.48%)	
            len=128, pos=32, align=0:        23.12	       22.78 (  1.48%)	
             len=32, pos=96, align=0:        14.40	        8.43 ( 41.48%)	
            len=32, pos=128, align=0:        15.14	        9.55 ( 36.88%)	
           len=128, pos=144, align=0:        21.12	       21.46 ( -1.64%)	
           len=272, pos=128, align=0:        31.89	       25.49 ( 20.06%)	
           len=128, pos=192, align=0:        22.28	       20.40 (  8.45%)	
           len=320, pos=128, align=0:        35.87	       23.83 ( 33.57%)	
           len=128, pos=240, align=0:        21.12	       21.83 ( -3.36%)	
           len=368, pos=128, align=0:        35.86	       25.72 ( 28.29%)	
           len=128, pos=288, align=0:        21.15	       21.70 ( -2.60%)	
           len=416, pos=128, align=0:        39.20	       28.81 ( 26.51%)	
             len=256, pos=0, align=0:        27.26	       28.91 ( -6.05%)	
           len=256, pos=256, align=0:        32.93	       23.24 ( 29.43%)	
           len=256, pos=256, align=0:        31.20	       23.90 ( 23.42%)	
             len=256, pos=0, align=0:        28.69	       28.54 (  0.53%)	
           len=256, pos=256, align=0:        33.36	       22.80 ( 31.65%)	
            len=256, pos=48, align=0:        28.55	       27.95 (  2.10%)	
           len=304, pos=256, align=0:        33.21	       22.81 ( 31.32%)	
           len=256, pos=208, align=0:        34.65	       22.81 ( 34.19%)	
            len=208, pos=48, align=0:        27.34	       22.97 ( 16.00%)	
           len=208, pos=256, align=0:        28.39	       20.15 ( 29.03%)	
            len=256, pos=96, align=0:        25.94	       26.19 ( -0.97%)	
           len=352, pos=256, align=0:        38.00	       24.01 ( 36.81%)	
           len=256, pos=160, align=0:        30.01	       24.73 ( 17.61%)	
            len=160, pos=96, align=0:        22.00	       19.21 ( 12.69%)	
           len=160, pos=256, align=0:        23.55	       18.10 ( 23.11%)	
           len=256, pos=144, align=0:        32.77	       24.01 ( 26.72%)	
           len=400, pos=256, align=0:        41.93	       32.23 ( 23.14%)	
           len=256, pos=112, align=0:        26.98	       25.81 (  4.35%)	
           len=112, pos=144, align=0:        16.75	       14.10 ( 15.84%)	
           len=112, pos=256, align=0:        17.46	       13.20 ( 24.39%)	
           len=256, pos=192, align=0:        33.01	       23.87 ( 27.70%)	
           len=448, pos=256, align=0:        43.92	       31.71 ( 27.81%)	
            len=256, pos=64, align=0:        29.21	       26.12 ( 10.56%)	
            len=64, pos=192, align=0:        16.05	       13.92 ( 13.26%)	
            len=64, pos=256, align=0:        15.14	       16.01 ( -5.71%)	
           len=256, pos=240, align=0:        31.21	       24.16 ( 22.59%)	
           len=496, pos=256, align=0:        44.64	       33.92 ( 24.01%)	
            len=256, pos=16, align=0:        27.81	       28.95 ( -4.10%)	
            len=16, pos=240, align=0:         9.61	        9.57 (  0.32%)	
            len=16, pos=256, align=0:         8.40	        8.76 ( -4.29%)	
           len=256, pos=288, align=0:        32.76	       25.20 ( 23.07%)	
           len=544, pos=256, align=0:        47.95	       36.54 ( 23.79%)	
             len=512, pos=0, align=0:        44.26	       36.32 ( 17.93%)	
           len=512, pos=512, align=0:        55.18	       40.63 ( 26.36%)	
           len=512, pos=512, align=0:        53.29	       39.49 ( 25.90%)	
             len=512, pos=0, align=0:        44.36	       36.33 ( 18.10%)	
           len=512, pos=512, align=0:        54.12	       37.73 ( 30.28%)	
            len=512, pos=48, align=0:        43.60	       36.99 ( 15.15%)	
           len=560, pos=512, align=0:        54.29	       39.92 ( 26.46%)	
           len=512, pos=464, align=0:        56.37	       36.01 ( 36.11%)	
            len=464, pos=48, align=0:        37.23	       33.39 ( 10.30%)	
           len=464, pos=512, align=0:        48.84	       28.81 ( 41.00%)	
            len=512, pos=96, align=0:        41.23	       33.67 ( 18.33%)	
           len=608, pos=512, align=0:        61.18	       33.77 ( 44.80%)	
           len=512, pos=416, align=0:        49.93	       37.22 ( 25.47%)	
            len=416, pos=96, align=0:        30.01	       31.43 ( -4.71%)	
           len=416, pos=512, align=0:        41.65	       31.11 ( 25.30%)	
           len=512, pos=144, align=0:        41.85	       32.79 ( 21.65%)	
           len=656, pos=512, align=0:        64.73	       46.65 ( 27.93%)	
           len=512, pos=368, align=0:        47.63	       36.29 ( 23.82%)	
           len=368, pos=144, align=0:        34.33	       25.10 ( 26.88%)	
           len=368, pos=512, align=0:        35.69	       23.93 ( 32.95%)	
           len=512, pos=192, align=0:        43.07	       34.91 ( 18.96%)	
           len=704, pos=512, align=0:        67.32	       45.91 ( 31.80%)	
           len=512, pos=320, align=0:        49.78	       33.97 ( 31.75%)	
           len=320, pos=192, align=0:        35.64	       28.15 ( 21.00%)	
           len=320, pos=512, align=0:        36.44	       24.32 ( 33.26%)	
           len=512, pos=240, align=0:        41.29	       35.18 ( 14.80%)	
           len=752, pos=512, align=0:        67.70	       46.70 ( 31.01%)	
           len=512, pos=272, align=0:        46.79	       38.41 ( 17.90%)	
           len=272, pos=240, align=0:        32.76	       24.91 ( 23.97%)	
           len=272, pos=512, align=0:        32.03	       24.10 ( 24.76%)	
           len=512, pos=288, align=0:        47.54	       36.01 ( 24.27%)	
           len=800, pos=512, align=0:        69.73	       50.73 ( 27.24%)	
           len=512, pos=224, align=0:        42.87	       34.04 ( 20.61%)	
           len=224, pos=288, align=0:        30.54	       15.65 ( 48.75%)	
           len=224, pos=512, align=0:        28.73	       17.97 ( 37.44%)	
            len=1024, pos=0, align=0:        71.21	       52.06 ( 26.90%)	
         len=1024, pos=1024, align=0:        98.72	       62.65 ( 36.54%)	
         len=1024, pos=1024, align=0:        99.53	       62.52 ( 37.18%)	
            len=1024, pos=0, align=0:        70.56	       50.41 ( 28.57%)	
         len=1024, pos=1024, align=0:        97.86	       59.48 ( 39.22%)	
           len=1024, pos=48, align=0:        70.04	       52.45 ( 25.11%)	
         len=1072, pos=1024, align=0:        96.45	       55.61 ( 42.35%)	
          len=1024, pos=976, align=0:       100.03	       54.83 ( 45.18%)	
            len=976, pos=48, align=0:        63.54	       49.38 ( 22.29%)	
          len=976, pos=1024, align=0:        90.39	       60.62 ( 32.94%)	
           len=1024, pos=96, align=0:        68.63	       49.44 ( 27.97%)	
         len=1120, pos=1024, align=0:       104.49	       56.86 ( 45.58%)	
          len=1024, pos=928, align=0:        91.86	       62.31 ( 32.16%)	
            len=928, pos=96, align=0:        56.42	       44.52 ( 21.09%)	
          len=928, pos=1024, align=0:        86.33	       51.77 ( 40.03%)	
          len=1024, pos=144, align=0:        66.57	       50.25 ( 24.52%)	
         len=1168, pos=1024, align=0:       107.11	       69.82 ( 34.82%)	
          len=1024, pos=880, align=0:        90.94	       60.03 ( 33.99%)	
           len=880, pos=144, align=0:        58.22	       39.62 ( 31.95%)	
          len=880, pos=1024, align=0:        81.22	       46.75 ( 42.44%)	
          len=1024, pos=192, align=0:        69.65	       50.71 ( 27.19%)	
         len=1216, pos=1024, align=0:       109.23	       71.08 ( 34.92%)	
          len=1024, pos=832, align=0:        92.51	       58.70 ( 36.55%)	
           len=832, pos=192, align=0:        59.18	       43.36 ( 26.73%)	
          len=832, pos=1024, align=0:        77.14	       48.22 ( 37.50%)	
          len=1024, pos=240, align=0:        68.14	       50.67 ( 25.64%)	
         len=1264, pos=1024, align=0:       110.65	       68.55 ( 38.05%)	
          len=1024, pos=784, align=0:        89.98	       62.62 ( 30.41%)	
           len=784, pos=240, align=0:        54.91	       42.46 ( 22.66%)	
          len=784, pos=1024, align=0:        77.20	       49.11 ( 36.38%)	
          len=1024, pos=288, align=0:        68.98	       51.41 ( 25.47%)	
         len=1312, pos=1024, align=0:       114.18	       74.53 ( 34.73%)	
          len=1024, pos=736, align=0:        86.40	       59.83 ( 30.75%)	
           len=736, pos=288, align=0:        53.99	       40.95 ( 24.16%)	
          len=736, pos=1024, align=0:        70.58	       38.56 ( 45.36%)	
            len=2048, pos=0, align=0:       115.65	       83.02 ( 28.22%)	
         len=2048, pos=2048, align=0:       181.83	      109.44 ( 39.81%)	
         len=2048, pos=2048, align=0:       179.42	      103.46 ( 42.34%)	
            len=2048, pos=0, align=0:       116.03	       82.41 ( 28.98%)	
         len=2048, pos=2048, align=0:       181.43	      103.77 ( 42.80%)	
           len=2048, pos=48, align=0:       118.75	       79.99 ( 32.64%)	
         len=2096, pos=2048, align=0:       182.17	      108.25 ( 40.58%)	
         len=2048, pos=2000, align=0:       181.55	      103.67 ( 42.90%)	
           len=2000, pos=48, align=0:       115.23	       78.23 ( 32.11%)	
         len=2000, pos=2048, align=0:       176.44	       98.96 ( 43.91%)	
           len=2048, pos=96, align=0:       114.11	       79.39 ( 30.42%)	
         len=2144, pos=2048, align=0:       188.66	      106.46 ( 43.57%)	
         len=2048, pos=1952, align=0:       178.61	      111.73 ( 37.45%)	
           len=1952, pos=96, align=0:       107.94	       75.87 ( 29.71%)	
         len=1952, pos=2048, align=0:       174.58	       97.40 ( 44.21%)	
          len=2048, pos=144, align=0:       119.14	       80.70 ( 32.26%)	
         len=2192, pos=2048, align=0:       190.90	      118.10 ( 38.14%)	
         len=2048, pos=1904, align=0:       177.92	      100.68 ( 43.42%)	
          len=1904, pos=144, align=0:       108.06	       70.95 ( 34.35%)	
         len=1904, pos=2048, align=0:       168.29	       95.45 ( 43.29%)	
          len=2048, pos=192, align=0:       121.77	       79.88 ( 34.40%)	
         len=2240, pos=2048, align=0:       194.70	      114.60 ( 41.14%)	
         len=2048, pos=1856, align=0:       177.08	      109.75 ( 38.02%)	
          len=1856, pos=192, align=0:       111.80	       72.20 ( 35.42%)	
         len=1856, pos=2048, align=0:       165.94	       96.97 ( 41.56%)	
          len=2048, pos=240, align=0:       121.03	       80.02 ( 33.88%)	
         len=2288, pos=2048, align=0:       193.75	      116.07 ( 40.09%)	
         len=2048, pos=1808, align=0:       176.61	      112.18 ( 36.49%)	
          len=1808, pos=240, align=0:       105.40	      118.03 (-11.99%)	
         len=1808, pos=2048, align=0:       162.78	       97.47 ( 40.13%)	
          len=2048, pos=288, align=0:       122.02	       83.00 ( 31.98%)	
         len=2336, pos=2048, align=0:       197.18	      121.43 ( 38.42%)	
         len=2048, pos=1760, align=0:       171.26	       98.67 ( 42.38%)	
          len=1760, pos=288, align=0:       106.67	       68.31 ( 35.96%)	
         len=1760, pos=2048, align=0:       156.39	       87.35 ( 44.15%)	

[-- Attachment #3: wcsrchr_10.txt --]
[-- Type: text/plain, Size: 140642 bytes --]

Function: wcsrchr
Variant: 
                                    __wcsrchr_evex	__wcsrchr_evex512
========================================================================================================================
            len=256, pos=64, align=1:        26.00	       20.23 ( 22.20%)	
            len=256, pos=64, align=1:        26.99	       20.27 ( 24.90%)	
           len=256, pos=64, align=15:        26.48	       20.33 ( 23.21%)	
           len=256, pos=64, align=15:        26.38	       20.61 ( 21.88%)	
            len=256, pos=64, align=2:        25.11	       21.91 ( 12.78%)	
            len=256, pos=64, align=2:        25.98	       21.62 ( 16.77%)	
           len=256, pos=64, align=30:        26.50	       20.74 ( 21.73%)	
           len=256, pos=64, align=30:        26.52	       18.00 ( 32.10%)	
            len=256, pos=64, align=3:        25.14	       20.28 ( 19.35%)	
            len=256, pos=64, align=3:        24.93	       20.19 ( 19.02%)	
           len=256, pos=64, align=45:        26.72	       20.23 ( 24.32%)	
           len=256, pos=64, align=45:        26.78	       20.15 ( 24.74%)	
            len=256, pos=64, align=4:        25.28	       20.32 ( 19.61%)	
            len=256, pos=64, align=4:        26.96	       20.16 ( 25.24%)	
           len=256, pos=64, align=60:        26.20	       22.01 ( 16.00%)	
           len=256, pos=64, align=60:        26.27	       21.99 ( 16.30%)	
            len=256, pos=64, align=5:        25.60	       20.22 ( 20.99%)	
            len=256, pos=64, align=5:        26.86	       19.20 ( 28.51%)	
           len=256, pos=64, align=75:        25.67	       20.16 ( 21.45%)	
           len=256, pos=64, align=75:        27.64	       21.60 ( 21.84%)	
            len=256, pos=64, align=6:        25.33	       20.26 ( 20.00%)	
            len=256, pos=64, align=6:        26.16	       21.96 ( 16.05%)	
           len=256, pos=64, align=90:        25.72	       19.63 ( 23.67%)	
           len=256, pos=64, align=90:        24.83	       19.46 ( 21.65%)	
            len=256, pos=64, align=7:        26.84	       27.08 ( -0.89%)	
            len=256, pos=64, align=7:        27.29	       21.20 ( 22.32%)	
          len=256, pos=64, align=105:        25.84	       21.91 ( 15.20%)	
          len=256, pos=64, align=105:        25.68	       21.60 ( 15.90%)	
               len=1, pos=0, align=0:         7.21	        8.41 (-16.66%)	
               len=1, pos=0, align=0:         7.20	        8.41 (-16.68%)	
               len=2, pos=1, align=0:         7.53	        8.40 (-11.61%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.67%)	
               len=3, pos=2, align=0:         7.20	        8.77 (-21.83%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.69%)	
               len=4, pos=3, align=0:         7.20	        8.74 (-21.27%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.66%)	
               len=5, pos=4, align=0:         7.20	        8.73 (-21.21%)	
               len=5, pos=4, align=0:         7.20	        8.40 (-16.69%)	
               len=6, pos=5, align=0:         7.56	        8.40 (-11.13%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.67%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.69%)	
               len=7, pos=6, align=0:         7.20	        8.72 (-21.14%)	
               len=8, pos=7, align=0:         7.20	        8.40 (-16.70%)	
               len=8, pos=7, align=0:         7.20	        8.40 (-16.70%)	
               len=9, pos=8, align=0:        11.17	        8.40 ( 24.79%)	
               len=9, pos=8, align=0:        10.80	        8.40 ( 22.20%)	
              len=10, pos=9, align=0:        10.81	        8.40 ( 22.23%)	
              len=10, pos=9, align=0:        10.80	        8.40 ( 22.22%)	
             len=11, pos=10, align=0:        10.81	        8.40 ( 22.22%)	
             len=11, pos=10, align=0:        10.81	        8.40 ( 22.25%)	
             len=12, pos=11, align=0:        10.81	        8.40 ( 22.23%)	
             len=12, pos=11, align=0:        11.12	        9.60 ( 13.67%)	
             len=13, pos=12, align=0:        11.16	        8.40 ( 24.68%)	
             len=13, pos=12, align=0:        11.12	        8.40 ( 24.42%)	
             len=14, pos=13, align=0:        12.46	        8.40 ( 32.55%)	
             len=14, pos=13, align=0:        10.81	        8.40 ( 22.22%)	
             len=15, pos=14, align=0:        10.80	        8.40 ( 22.23%)	
             len=15, pos=14, align=0:        10.80	        8.40 ( 22.22%)	
             len=16, pos=15, align=0:        10.81	        8.40 ( 22.22%)	
             len=16, pos=15, align=0:        10.80	        8.40 ( 22.22%)	
             len=17, pos=16, align=0:        12.01	       10.81 ( 10.00%)	
             len=17, pos=16, align=0:        13.18	       11.88 (  9.86%)	
             len=18, pos=17, align=0:        13.97	       10.80 ( 22.70%)	
             len=18, pos=17, align=0:        12.00	       10.80 (  9.99%)	
             len=19, pos=18, align=0:        12.84	       12.00 (  6.54%)	
             len=19, pos=18, align=0:        13.72	       10.80 ( 21.29%)	
             len=20, pos=19, align=0:        12.01	       10.80 ( 10.03%)	
             len=20, pos=19, align=0:        13.05	       11.86 (  9.07%)	
             len=21, pos=20, align=0:        12.00	       10.80 ( 10.00%)	
             len=21, pos=20, align=0:        13.18	       11.94 (  9.43%)	
             len=22, pos=21, align=0:        12.00	       10.80 (  9.99%)	
             len=22, pos=21, align=0:        12.76	       11.93 (  6.56%)	
             len=23, pos=22, align=0:        13.96	       10.80 ( 22.62%)	
             len=23, pos=22, align=0:        13.16	       11.87 (  9.84%)	
             len=24, pos=23, align=0:        12.87	       11.84 (  7.98%)	
             len=24, pos=23, align=0:        12.87	       11.87 (  7.74%)	
             len=25, pos=24, align=0:        14.09	       12.21 ( 13.33%)	
             len=25, pos=24, align=0:        14.88	       10.80 ( 27.41%)	
             len=26, pos=25, align=0:        14.07	       11.93 ( 15.16%)	
             len=26, pos=25, align=0:        14.45	       11.92 ( 17.48%)	
             len=27, pos=26, align=0:        15.22	       10.80 ( 29.02%)	
             len=27, pos=26, align=0:        14.91	       10.80 ( 27.56%)	
             len=28, pos=27, align=0:        14.04	       11.93 ( 15.05%)	
             len=28, pos=27, align=0:        14.06	       12.32 ( 12.34%)	
             len=29, pos=28, align=0:        14.35	       11.87 ( 17.29%)	
             len=29, pos=28, align=0:        14.82	       11.15 ( 24.74%)	
             len=30, pos=29, align=0:        14.83	       11.12 ( 25.02%)	
             len=30, pos=29, align=0:        13.21	       11.79 ( 10.73%)	
             len=31, pos=30, align=0:        13.98	       11.82 ( 15.43%)	
             len=31, pos=30, align=0:        13.98	       11.85 ( 15.29%)	
             len=32, pos=31, align=0:        14.01	       11.94 ( 14.76%)	
             len=32, pos=31, align=0:        14.02	       11.87 ( 15.33%)	
len=4, pos=18446744073709551604, align=0:         7.21	        8.41 (-16.65%)	
              len=20, pos=4, align=0:         7.20	        9.92 (-37.68%)	
             len=36, pos=20, align=0:        14.01	       10.80 ( 22.88%)	
             len=52, pos=36, align=0:        20.03	       15.50 ( 22.63%)	
             len=68, pos=52, align=0:        22.10	       17.00 ( 23.11%)	
             len=84, pos=68, align=0:        25.61	       21.92 ( 14.41%)	
               len=4, pos=0, align=0:         7.21	        9.63 (-33.58%)	
               len=4, pos=4, align=0:         7.53	        9.63 (-27.83%)	
               len=4, pos=4, align=0:         7.20	        9.63 (-33.66%)	
               len=4, pos=0, align=0:         7.57	        9.63 (-27.20%)	
               len=4, pos=4, align=0:         7.20	        9.62 (-33.64%)	
              len=4, pos=12, align=0:         7.20	        8.43 (-17.06%)	
              len=16, pos=4, align=0:         7.20	        8.43 (-17.03%)	
              len=4, pos=24, align=0:         7.20	        8.43 (-17.01%)	
              len=28, pos=4, align=0:         7.20	        8.43 (-17.04%)	
              len=4, pos=36, align=0:         7.20	        8.43 (-17.05%)	
              len=40, pos=4, align=0:         7.20	        8.43 (-17.08%)	
              len=4, pos=48, align=0:         7.20	        8.43 (-17.01%)	
              len=52, pos=4, align=0:         7.20	        8.43 (-17.03%)	
              len=4, pos=60, align=0:         7.20	        8.43 (-17.04%)	
              len=64, pos=4, align=0:         7.20	        8.79 (-22.08%)	
              len=4, pos=72, align=0:         7.20	        8.40 (-16.67%)	
              len=76, pos=4, align=0:         7.20	        8.72 (-21.01%)	
               len=8, pos=0, align=0:         7.20	        8.40 (-16.67%)	
               len=8, pos=8, align=0:        10.80	        8.40 ( 22.21%)	
               len=8, pos=8, align=0:        10.80	        8.72 ( 19.28%)	
               len=8, pos=0, align=0:         7.21	        8.40 (-16.64%)	
               len=8, pos=8, align=0:        11.12	        8.40 ( 24.40%)	
              len=8, pos=12, align=0:        10.80	        8.40 ( 22.22%)	
              len=20, pos=8, align=0:        10.80	        8.40 ( 22.22%)	
              len=8, pos=24, align=0:        10.80	        8.40 ( 22.20%)	
              len=32, pos=8, align=0:        10.80	        8.40 ( 22.23%)	
              len=8, pos=36, align=0:        11.13	        9.60 ( 13.73%)	
              len=44, pos=8, align=0:        10.80	        8.40 ( 22.20%)	
              len=8, pos=48, align=0:        10.80	        8.40 ( 22.19%)	
              len=56, pos=8, align=0:        10.81	        8.40 ( 22.22%)	
              len=8, pos=60, align=0:        10.81	        8.40 ( 22.25%)	
              len=68, pos=8, align=0:        10.80	        8.72 ( 19.24%)	
              len=8, pos=72, align=0:        10.81	        8.40 ( 22.22%)	
              len=80, pos=8, align=0:        10.80	        8.40 ( 22.19%)	
              len=16, pos=0, align=0:         7.20	        8.72 (-21.07%)	
             len=16, pos=16, align=0:        13.20	       11.89 (  9.94%)	
             len=16, pos=16, align=0:        13.95	       10.80 ( 22.56%)	
              len=16, pos=0, align=0:         7.20	        8.41 (-16.70%)	
             len=16, pos=16, align=0:        12.76	       11.94 (  6.42%)	
             len=16, pos=12, align=0:        11.12	        8.43 ( 24.17%)	
             len=28, pos=16, align=0:        13.92	       10.80 ( 22.37%)	
              len=16, pos=4, align=0:         7.20	        8.43 (-17.01%)	
              len=4, pos=12, align=0:         7.20	        8.43 (-17.06%)	
              len=4, pos=16, align=0:         7.20	        8.43 (-17.07%)	
             len=16, pos=24, align=0:        13.25	       11.97 (  9.66%)	
             len=40, pos=16, align=0:        13.72	       10.80 ( 21.29%)	
             len=16, pos=36, align=0:        12.00	       10.80 ( 10.00%)	
             len=52, pos=16, align=0:        12.00	       10.80 ( 10.01%)	
             len=16, pos=48, align=0:        13.14	       11.91 (  9.34%)	
             len=64, pos=16, align=0:        14.15	       10.80 ( 23.68%)	
             len=16, pos=60, align=0:        12.00	       10.80 ( 10.00%)	
             len=76, pos=16, align=0:        12.01	       10.80 ( 10.03%)	
             len=16, pos=72, align=0:        13.23	       11.96 (  9.62%)	
             len=88, pos=16, align=0:        13.87	       10.80 ( 22.10%)	
              len=32, pos=0, align=0:         7.20	        9.63 (-33.62%)	
             len=32, pos=32, align=0:        20.07	       15.77 ( 21.43%)	
             len=32, pos=32, align=0:        21.13	       14.41 ( 31.83%)	
              len=32, pos=0, align=0:         7.20	        9.63 (-33.60%)	
             len=32, pos=32, align=0:        20.02	       15.54 ( 22.37%)	
             len=32, pos=12, align=0:        10.81	        8.43 ( 21.97%)	
             len=44, pos=32, align=0:        20.02	       15.88 ( 20.72%)	
             len=32, pos=20, align=0:        14.00	       10.81 ( 22.82%)	
             len=20, pos=12, align=0:        10.81	        9.62 ( 10.93%)	
             len=20, pos=32, align=0:        13.12	       11.79 ( 10.15%)	
             len=32, pos=24, align=0:        15.17	       10.80 ( 28.77%)	
             len=56, pos=32, align=0:        20.00	       15.86 ( 20.70%)	
              len=32, pos=8, align=0:        10.80	        9.63 ( 10.88%)	
              len=8, pos=24, align=0:        10.80	        8.43 ( 21.97%)	
              len=8, pos=32, align=0:        10.80	        9.63 ( 10.88%)	
             len=32, pos=36, align=0:        20.03	       15.53 ( 22.44%)	
             len=68, pos=32, align=0:        20.07	       15.53 ( 22.62%)	
             len=32, pos=48, align=0:        20.06	       15.85 ( 20.98%)	
             len=80, pos=32, align=0:        21.22	       14.41 ( 32.12%)	
             len=32, pos=60, align=0:        21.10	       14.41 ( 31.72%)	
             len=92, pos=32, align=0:        20.01	       15.55 ( 22.30%)	
             len=32, pos=72, align=0:        20.10	       15.42 ( 23.31%)	
            len=104, pos=32, align=0:        19.21	       20.01 ( -4.17%)	
              len=64, pos=0, align=0:         7.21	        9.60 (-33.25%)	
             len=64, pos=64, align=0:        24.51	       20.27 ( 17.31%)	
             len=64, pos=64, align=0:        26.15	       20.35 ( 22.18%)	
              len=64, pos=0, align=0:         7.20	        8.43 (-17.02%)	
             len=64, pos=64, align=0:        24.86	       20.24 ( 18.57%)	
             len=64, pos=12, align=0:        10.80	        9.63 ( 10.88%)	
             len=76, pos=64, align=0:        24.92	       20.21 ( 18.91%)	
             len=64, pos=52, align=0:        22.06	       16.62 ( 24.66%)	
             len=52, pos=12, align=0:        10.80	        9.63 ( 10.88%)	
             len=52, pos=64, align=0:        22.38	       17.07 ( 23.72%)	
             len=64, pos=24, align=0:        15.24	       10.81 ( 29.09%)	
             len=88, pos=64, align=0:        26.66	       20.23 ( 24.11%)	
             len=64, pos=40, align=0:        19.99	       15.49 ( 22.52%)	
             len=40, pos=24, align=0:        14.10	       11.88 ( 15.72%)	
             len=40, pos=64, align=0:        20.03	       15.42 ( 22.98%)	
             len=64, pos=36, align=0:        20.04	       15.43 ( 23.00%)	
            len=100, pos=64, align=0:        24.81	       20.18 ( 18.65%)	
             len=64, pos=28, align=0:        13.97	       12.07 ( 13.59%)	
             len=28, pos=36, align=0:        14.01	       11.80 ( 15.76%)	
             len=28, pos=64, align=0:        14.06	       11.81 ( 16.02%)	
             len=64, pos=48, align=0:        22.52	       16.76 ( 25.58%)	
            len=112, pos=64, align=0:        27.08	       21.60 ( 20.23%)	
             len=64, pos=16, align=0:        12.01	       10.80 ( 10.02%)	
             len=16, pos=48, align=0:        12.00	       10.80 ( 10.00%)	
             len=16, pos=64, align=0:        12.86	       12.16 (  5.47%)	
             len=64, pos=60, align=0:        23.23	       15.60 ( 32.85%)	
            len=124, pos=64, align=0:        25.93	       20.22 ( 22.04%)	
              len=64, pos=4, align=0:         7.23	        9.63 (-33.23%)	
              len=4, pos=60, align=0:         7.23	        9.63 (-33.24%)	
              len=4, pos=64, align=0:         7.22	        8.43 (-16.69%)	
             len=64, pos=72, align=0:        25.08	       22.61 (  9.82%)	
            len=136, pos=64, align=0:        24.95	       22.40 ( 10.21%)	
             len=128, pos=0, align=0:         7.22	        9.63 (-33.22%)	
           len=128, pos=128, align=0:        39.72	       25.09 ( 36.82%)	
           len=128, pos=128, align=0:        39.29	       25.46 ( 35.19%)	
             len=128, pos=0, align=0:         7.23	        8.43 (-16.70%)	
           len=128, pos=128, align=0:        39.74	       25.09 ( 36.87%)	
            len=128, pos=12, align=0:        10.81	        9.63 ( 10.90%)	
           len=140, pos=128, align=0:        40.04	       25.41 ( 36.53%)	
           len=128, pos=116, align=0:        35.65	       22.66 ( 36.45%)	
            len=116, pos=12, align=0:        10.81	        8.43 ( 21.96%)	
           len=116, pos=128, align=0:        35.59	       22.71 ( 36.20%)	
            len=128, pos=24, align=0:        14.43	       12.01 ( 16.74%)	
           len=152, pos=128, align=0:        40.47	       26.27 ( 35.09%)	
           len=128, pos=104, align=0:        32.81	       22.60 ( 31.11%)	
            len=104, pos=24, align=0:        14.35	       11.84 ( 17.47%)	
           len=104, pos=128, align=0:        32.79	       22.70 ( 30.78%)	
            len=128, pos=36, align=0:        20.00	       15.82 ( 20.90%)	
           len=164, pos=128, align=0:        38.89	       25.08 ( 35.52%)	
            len=128, pos=92, align=0:        29.68	       20.21 ( 31.91%)	
             len=92, pos=36, align=0:        20.75	       14.41 ( 30.56%)	
            len=92, pos=128, align=0:        29.38	       20.09 ( 31.61%)	
            len=128, pos=48, align=0:        23.32	       15.93 ( 31.71%)	
           len=176, pos=128, align=0:        40.20	       24.00 ( 40.29%)	
            len=128, pos=80, align=0:        29.38	       20.89 ( 28.88%)	
             len=80, pos=48, align=0:        22.90	       15.93 ( 30.44%)	
            len=80, pos=128, align=0:        30.47	       18.01 ( 40.90%)	
            len=128, pos=60, align=0:        22.47	       16.75 ( 25.47%)	
           len=188, pos=128, align=0:        39.83	       25.03 ( 37.16%)	
            len=128, pos=68, align=0:        26.69	       20.25 ( 24.12%)	
             len=68, pos=60, align=0:        23.36	       16.66 ( 28.67%)	
            len=68, pos=128, align=0:        25.06	       20.17 ( 19.54%)	
            len=128, pos=72, align=0:        26.16	       20.95 ( 19.91%)	
           len=200, pos=128, align=0:        39.90	       25.04 ( 37.25%)	
            len=128, pos=56, align=0:        22.89	       16.74 ( 26.86%)	
             len=56, pos=72, align=0:        22.51	       16.62 ( 26.15%)	
            len=56, pos=128, align=0:        22.56	       17.08 ( 24.29%)	
             len=256, pos=0, align=0:         7.23	        9.63 (-33.18%)	
           len=256, pos=256, align=0:        64.22	       37.39 ( 41.77%)	
           len=256, pos=256, align=0:        64.15	       37.09 ( 42.18%)	
             len=256, pos=0, align=0:         7.21	        8.43 (-16.93%)	
           len=256, pos=256, align=0:        64.21	       37.05 ( 42.30%)	
            len=256, pos=12, align=0:        10.80	        8.43 ( 21.97%)	
           len=268, pos=256, align=0:        64.22	       37.20 ( 42.08%)	
           len=256, pos=244, align=0:        60.28	       35.26 ( 41.50%)	
            len=244, pos=12, align=0:        10.81	        9.63 ( 10.92%)	
           len=244, pos=256, align=0:        61.17	       35.33 ( 42.25%)	
            len=256, pos=24, align=0:        13.88	       11.91 ( 14.19%)	
           len=280, pos=256, align=0:        64.12	       37.48 ( 41.55%)	
           len=256, pos=232, align=0:        57.88	       33.80 ( 41.61%)	
            len=232, pos=24, align=0:        14.06	       12.29 ( 12.62%)	
           len=232, pos=256, align=0:        57.87	       33.90 ( 41.42%)	
            len=256, pos=36, align=0:        20.03	       15.56 ( 22.32%)	
           len=292, pos=256, align=0:        64.28	       37.14 ( 42.23%)	
           len=256, pos=220, align=0:        54.61	       32.19 ( 41.05%)	
            len=220, pos=36, align=0:        20.03	       15.41 ( 23.05%)	
           len=220, pos=256, align=0:        54.32	       32.22 ( 40.68%)	
            len=256, pos=48, align=0:        22.61	       16.65 ( 26.35%)	
           len=304, pos=256, align=0:        64.23	       37.49 ( 41.63%)	
           len=256, pos=208, align=0:        55.29	       32.30 ( 41.59%)	
            len=208, pos=48, align=0:        22.53	       16.98 ( 24.64%)	
           len=208, pos=256, align=0:        54.60	       32.20 ( 41.02%)	
            len=256, pos=60, align=0:        22.20	       16.76 ( 24.50%)	
           len=316, pos=256, align=0:        64.26	       37.07 ( 42.30%)	
           len=256, pos=196, align=0:        51.90	       30.02 ( 42.15%)	
            len=196, pos=60, align=0:        22.55	       16.63 ( 26.26%)	
           len=196, pos=256, align=0:        52.05	       30.36 ( 41.66%)	
            len=256, pos=72, align=0:        26.84	       20.22 ( 24.67%)	
           len=328, pos=256, align=0:        63.54	       37.48 ( 41.02%)	
           len=256, pos=184, align=0:        49.41	       28.66 ( 42.00%)	
            len=184, pos=72, align=0:        26.23	       21.87 ( 16.63%)	
           len=184, pos=256, align=0:        49.40	       28.74 ( 41.82%)	
             len=512, pos=0, align=0:         7.23	        9.63 (-33.13%)	
           len=512, pos=512, align=0:       115.09	       66.00 ( 42.65%)	
           len=512, pos=512, align=0:       115.48	       66.02 ( 42.83%)	
             len=512, pos=0, align=0:         7.23	        8.43 (-16.66%)	
           len=512, pos=512, align=0:       114.62	       66.07 ( 42.36%)	
            len=512, pos=12, align=0:        11.13	        8.43 ( 24.21%)	
           len=524, pos=512, align=0:       115.99	       66.00 ( 43.10%)	
           len=512, pos=500, align=0:       111.14	       63.92 ( 42.49%)	
            len=500, pos=12, align=0:        10.81	        8.43 ( 21.97%)	
           len=500, pos=512, align=0:       112.94	       63.91 ( 43.41%)	
            len=512, pos=24, align=0:        14.26	       11.84 ( 17.00%)	
           len=536, pos=512, align=0:       132.63	       65.98 ( 50.25%)	
           len=512, pos=488, align=0:       108.61	       62.40 ( 42.55%)	
            len=488, pos=24, align=0:        14.13	       11.90 ( 15.77%)	
           len=488, pos=512, align=0:       108.67	       62.49 ( 42.50%)	
            len=512, pos=36, align=0:        20.02	       15.51 ( 22.52%)	
           len=548, pos=512, align=0:       114.81	       66.12 ( 42.41%)	
           len=512, pos=476, align=0:       104.82	       60.37 ( 42.40%)	
            len=476, pos=36, align=0:        19.94	       15.77 ( 20.92%)	
           len=476, pos=512, align=0:       105.32	       60.57 ( 42.49%)	
            len=512, pos=48, align=0:        22.37	       16.62 ( 25.68%)	
           len=560, pos=512, align=0:       113.20	       65.94 ( 41.75%)	
           len=512, pos=464, align=0:       104.93	       60.09 ( 42.74%)	
            len=464, pos=48, align=0:        22.18	       16.68 ( 24.79%)	
           len=464, pos=512, align=0:       105.13	       60.13 ( 42.80%)	
            len=512, pos=60, align=0:        22.47	       16.63 ( 25.96%)	
           len=572, pos=512, align=0:       115.65	       65.63 ( 43.25%)	
           len=512, pos=452, align=0:       101.51	       58.78 ( 42.10%)	
            len=452, pos=60, align=0:        22.21	       16.67 ( 24.95%)	
           len=452, pos=512, align=0:       101.68	       58.58 ( 42.39%)	
            len=512, pos=72, align=0:        27.68	       21.60 ( 21.95%)	
           len=584, pos=512, align=0:       115.20	       66.06 ( 42.65%)	
           len=512, pos=440, align=0:        98.72	       56.78 ( 42.48%)	
            len=440, pos=72, align=0:        26.70	       20.24 ( 24.22%)	
           len=440, pos=512, align=0:        98.97	       56.82 ( 42.59%)	
            len=256, pos=64, align=1:        66.80	       40.66 ( 39.12%)	
            len=256, pos=64, align=1:        66.42	       40.76 ( 38.63%)	
           len=256, pos=64, align=15:        64.34	       41.05 ( 36.21%)	
           len=256, pos=64, align=15:        64.33	       41.12 ( 36.08%)	
            len=256, pos=64, align=2:        67.42	       39.60 ( 41.25%)	
            len=256, pos=64, align=2:        67.15	       42.11 ( 37.29%)	
           len=256, pos=64, align=30:        65.35	       41.27 ( 36.85%)	
           len=256, pos=64, align=30:        64.51	       41.08 ( 36.33%)	
            len=256, pos=64, align=3:        67.54	       39.61 ( 41.36%)	
            len=256, pos=64, align=3:        67.21	       39.96 ( 40.55%)	
           len=256, pos=64, align=45:        66.38	       41.30 ( 37.79%)	
           len=256, pos=64, align=45:        66.32	       39.60 ( 40.29%)	
            len=256, pos=64, align=4:        66.33	       40.67 ( 38.68%)	
            len=256, pos=64, align=4:        65.81	       41.09 ( 37.56%)	
           len=256, pos=64, align=60:        64.58	       42.10 ( 34.81%)	
           len=256, pos=64, align=60:        64.44	       42.02 ( 34.79%)	
            len=256, pos=64, align=5:        66.73	       40.73 ( 38.96%)	
            len=256, pos=64, align=5:        67.09	       41.15 ( 38.66%)	
           len=256, pos=64, align=75:        65.74	       39.92 ( 39.27%)	
           len=256, pos=64, align=75:        65.99	       40.95 ( 37.94%)	
            len=256, pos=64, align=6:        67.29	       39.95 ( 40.63%)	
            len=256, pos=64, align=6:        67.90	       41.11 ( 39.45%)	
           len=256, pos=64, align=90:        65.25	       39.91 ( 38.83%)	
           len=256, pos=64, align=90:        63.54	       40.83 ( 35.74%)	
            len=256, pos=64, align=7:        67.37	       41.10 ( 38.99%)	
            len=256, pos=64, align=7:        66.68	       41.04 ( 38.45%)	
          len=256, pos=64, align=105:        64.66	       39.60 ( 38.75%)	
          len=256, pos=64, align=105:        63.05	       40.77 ( 35.33%)	
               len=1, pos=0, align=0:         7.20	        8.72 (-21.03%)	
               len=1, pos=0, align=0:         7.20	        8.40 (-16.70%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.69%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.70%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.67%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.67%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.70%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.67%)	
               len=5, pos=4, align=0:         7.20	        8.40 (-16.70%)	
               len=5, pos=4, align=0:         7.20	        8.40 (-16.70%)	
               len=6, pos=5, align=0:         7.52	        9.60 (-27.59%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.67%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.70%)	
               len=7, pos=6, align=0:         7.52	        9.60 (-27.64%)	
               len=8, pos=7, align=0:        12.01	        8.73 ( 27.35%)	
               len=8, pos=7, align=0:        12.01	        8.40 ( 30.00%)	
               len=9, pos=8, align=0:        10.81	        8.40 ( 22.23%)	
               len=9, pos=8, align=0:        10.81	        8.40 ( 22.22%)	
              len=10, pos=9, align=0:        10.81	        8.40 ( 22.22%)	
              len=10, pos=9, align=0:        11.12	        9.60 ( 13.69%)	
             len=11, pos=10, align=0:        11.12	        8.40 ( 24.43%)	
             len=11, pos=10, align=0:        11.17	        8.40 ( 24.73%)	
             len=12, pos=11, align=0:        10.81	        8.72 ( 19.28%)	
             len=12, pos=11, align=0:        10.81	        8.73 ( 19.21%)	
             len=13, pos=12, align=0:        12.02	        9.54 ( 20.69%)	
             len=13, pos=12, align=0:        11.98	        9.51 ( 20.61%)	
             len=14, pos=13, align=0:        12.71	        8.40 ( 33.86%)	
             len=14, pos=13, align=0:        10.80	        8.40 ( 22.20%)	
             len=15, pos=14, align=0:        10.81	        8.40 ( 22.22%)	
             len=15, pos=14, align=0:        10.80	        8.40 ( 22.19%)	
             len=16, pos=15, align=0:        12.61	       13.24 ( -5.03%)	
             len=16, pos=15, align=0:        13.76	       13.00 (  5.51%)	
             len=17, pos=16, align=0:        12.83	       11.89 (  7.31%)	
             len=17, pos=16, align=0:        12.00	       10.80 (  9.99%)	
             len=18, pos=17, align=0:        12.82	       12.23 (  4.57%)	
             len=18, pos=17, align=0:        13.99	       10.80 ( 22.78%)	
             len=19, pos=18, align=0:        12.01	       10.80 ( 10.01%)	
             len=19, pos=18, align=0:        13.19	       11.89 (  9.84%)	
             len=20, pos=19, align=0:        13.96	       10.80 ( 22.62%)	
             len=20, pos=19, align=0:        12.80	       11.87 (  7.23%)	
             len=21, pos=20, align=0:        12.83	       12.02 (  6.29%)	
             len=21, pos=20, align=0:        13.21	       11.80 ( 10.67%)	
             len=22, pos=21, align=0:        12.85	       11.86 (  7.76%)	
             len=22, pos=21, align=0:        13.18	       11.90 (  9.73%)	
             len=23, pos=22, align=0:        12.01	       10.80 ( 10.01%)	
             len=23, pos=22, align=0:        12.89	       11.89 (  7.73%)	
             len=24, pos=23, align=0:        15.20	       12.14 ( 20.15%)	
             len=24, pos=23, align=0:        15.27	       11.79 ( 22.80%)	
             len=25, pos=24, align=0:        14.05	       11.89 ( 15.39%)	
             len=25, pos=24, align=0:        14.29	       11.80 ( 17.43%)	
             len=26, pos=25, align=0:        13.98	       12.22 ( 12.62%)	
             len=26, pos=25, align=0:        14.05	       11.99 ( 14.60%)	
             len=27, pos=26, align=0:        14.09	       11.88 ( 15.64%)	
             len=27, pos=26, align=0:        13.98	       11.85 ( 15.23%)	
             len=28, pos=27, align=0:        14.29	       11.92 ( 16.63%)	
             len=28, pos=27, align=0:        14.51	       11.80 ( 18.68%)	
             len=29, pos=28, align=0:        14.05	       12.20 ( 13.16%)	
             len=29, pos=28, align=0:        14.10	       12.11 ( 14.11%)	
             len=30, pos=29, align=0:        13.96	       11.78 ( 15.60%)	
             len=30, pos=29, align=0:        14.04	       11.90 ( 15.24%)	
             len=31, pos=30, align=0:        14.05	       11.91 ( 15.24%)	
             len=31, pos=30, align=0:        14.09	       11.80 ( 16.27%)	
             len=32, pos=31, align=0:        19.59	       18.36 (  6.26%)	
             len=32, pos=31, align=0:        20.14	       18.00 ( 10.62%)	
len=4, pos=18446744073709551604, align=0:         9.63	       10.97 (-13.91%)	
              len=20, pos=4, align=0:        14.13	       14.30 ( -1.22%)	
             len=36, pos=20, align=0:        21.21	       19.07 ( 10.10%)	
             len=52, pos=36, align=0:        28.58	       15.61 ( 45.39%)	
             len=68, pos=52, align=0:        32.59	       22.82 ( 29.97%)	
             len=84, pos=68, align=0:        32.61	       21.52 ( 34.01%)	
               len=4, pos=0, align=0:         7.21	        9.63 (-33.62%)	
               len=4, pos=4, align=0:         9.95	       10.81 ( -8.68%)	
               len=4, pos=4, align=0:         9.62	       10.80 (-12.22%)	
               len=4, pos=0, align=0:         7.21	        9.60 (-33.29%)	
               len=4, pos=4, align=0:         9.60	       10.80 (-12.49%)	
              len=4, pos=12, align=0:         9.60	        9.64 ( -0.38%)	
              len=16, pos=4, align=0:        13.21	       13.24 ( -0.21%)	
              len=4, pos=24, align=0:         9.63	        9.64 ( -0.07%)	
              len=28, pos=4, align=0:        15.51	       14.22 (  8.35%)	
              len=4, pos=36, align=0:         9.66	       10.80 (-11.85%)	
              len=40, pos=4, align=0:        22.13	       18.33 ( 17.19%)	
              len=4, pos=48, align=0:         9.64	       10.81 (-12.10%)	
              len=52, pos=4, align=0:        23.60	       18.01 ( 23.69%)	
              len=4, pos=60, align=0:         9.64	        9.64 (  0.04%)	
              len=64, pos=4, align=0:        30.17	       23.78 ( 21.17%)	
              len=4, pos=72, align=0:         9.65	       10.29 ( -6.62%)	
              len=76, pos=4, align=0:        27.98	       24.29 ( 13.19%)	
               len=8, pos=0, align=0:        12.01	        9.63 ( 19.81%)	
               len=8, pos=8, align=0:        12.01	       10.80 ( 10.01%)	
               len=8, pos=8, align=0:        12.01	        9.64 ( 19.72%)	
               len=8, pos=0, align=0:        12.01	        9.60 ( 20.03%)	
               len=8, pos=8, align=0:        12.34	       10.80 ( 12.47%)	
              len=8, pos=12, align=0:        12.00	        9.97 ( 16.90%)	
              len=20, pos=8, align=0:        14.51	       13.24 (  8.76%)	
              len=8, pos=24, align=0:        12.00	        9.64 ( 19.71%)	
              len=32, pos=8, align=0:        21.29	       19.14 ( 10.10%)	
              len=8, pos=36, align=0:        12.01	        9.64 ( 19.73%)	
              len=44, pos=8, align=0:        21.15	       19.16 (  9.40%)	
              len=8, pos=48, align=0:        12.00	        9.64 ( 19.70%)	
              len=56, pos=8, align=0:        22.81	       19.16 ( 16.00%)	
              len=8, pos=60, align=0:        12.01	        9.64 ( 19.73%)	
              len=68, pos=8, align=0:        24.89	       23.84 (  4.21%)	
              len=8, pos=72, align=0:        12.01	       10.80 ( 10.05%)	
              len=80, pos=8, align=0:        29.41	       22.62 ( 23.06%)	
              len=16, pos=0, align=0:        14.47	       13.00 ( 10.17%)	
             len=16, pos=16, align=0:        15.87	       15.38 (  3.14%)	
             len=16, pos=16, align=0:        14.40	       13.24 (  8.10%)	
              len=16, pos=0, align=0:        14.40	       13.00 (  9.72%)	
             len=16, pos=16, align=0:        16.60	       13.24 ( 20.28%)	
             len=16, pos=12, align=0:        13.20	       13.24 ( -0.25%)	
             len=28, pos=16, align=0:        15.31	       11.91 ( 22.20%)	
              len=16, pos=4, align=0:        14.40	       13.23 (  8.12%)	
              len=4, pos=12, align=0:         9.66	        9.64 (  0.17%)	
              len=4, pos=16, align=0:        10.00	       10.80 ( -8.04%)	
             len=16, pos=24, align=0:        15.32	       14.44 (  5.71%)	
             len=40, pos=16, align=0:        21.20	       19.07 ( 10.06%)	
             len=16, pos=36, align=0:        13.20	       13.23 ( -0.23%)	
             len=52, pos=16, align=0:        22.89	       18.21 ( 20.43%)	
             len=16, pos=48, align=0:        17.18	       14.44 ( 15.95%)	
             len=64, pos=16, align=0:        26.09	       25.21 (  3.36%)	
             len=16, pos=60, align=0:        13.21	       14.44 ( -9.33%)	
             len=76, pos=16, align=0:        24.80	       23.84 (  3.87%)	
             len=16, pos=72, align=0:        14.01	       15.67 (-11.85%)	
             len=88, pos=16, align=0:        29.53	       21.61 ( 26.82%)	
              len=32, pos=0, align=0:        22.45	       19.04 ( 15.19%)	
             len=32, pos=32, align=0:        22.39	       21.58 (  3.60%)	
             len=32, pos=32, align=0:        21.31	       21.50 ( -0.90%)	
              len=32, pos=0, align=0:        21.37	       19.14 ( 10.42%)	
             len=32, pos=32, align=0:        22.47	       23.28 ( -3.61%)	
             len=32, pos=12, align=0:        21.57	       19.04 ( 11.72%)	
             len=44, pos=32, align=0:        21.23	       14.41 ( 32.11%)	
             len=32, pos=20, align=0:        21.60	       19.01 ( 11.97%)	
             len=20, pos=12, align=0:        13.65	       14.25 ( -4.43%)	
             len=20, pos=32, align=0:        14.62	       15.40 ( -5.35%)	
             len=32, pos=24, align=0:        19.65	       18.01 (  8.36%)	
             len=56, pos=32, align=0:        27.12	       17.04 ( 37.15%)	
              len=32, pos=8, align=0:        22.40	       18.01 ( 19.62%)	
              len=8, pos=24, align=0:        12.00	        9.64 ( 19.69%)	
              len=8, pos=32, align=0:        12.00	       10.80 ( 10.01%)	
             len=32, pos=36, align=0:        21.27	       21.76 ( -2.30%)	
             len=68, pos=32, align=0:        30.69	       21.61 ( 29.59%)	
             len=32, pos=48, align=0:        22.24	       20.41 (  8.27%)	
             len=80, pos=32, align=0:        31.94	       23.14 ( 27.54%)	
             len=32, pos=60, align=0:        21.20	       21.56 ( -1.72%)	
             len=92, pos=32, align=0:        32.25	       22.71 ( 29.58%)	
             len=32, pos=72, align=0:        21.19	       21.82 ( -2.94%)	
            len=104, pos=32, align=0:        35.40	       28.67 ( 19.00%)	
              len=64, pos=0, align=0:        27.06	       23.88 ( 11.74%)	
             len=64, pos=64, align=0:        26.68	       28.60 ( -7.19%)	
             len=64, pos=64, align=0:        27.53	       28.60 ( -3.89%)	
              len=64, pos=0, align=0:        27.15	       23.80 ( 12.33%)	
             len=64, pos=64, align=0:        25.98	       28.50 ( -9.67%)	
             len=64, pos=12, align=0:        24.85	       23.77 (  4.35%)	
             len=76, pos=64, align=0:        26.48	       20.22 ( 23.67%)	
             len=64, pos=52, align=0:        29.63	       23.85 ( 19.48%)	
             len=52, pos=12, align=0:        23.76	       19.52 ( 17.86%)	
             len=52, pos=64, align=0:        24.81	       19.21 ( 22.57%)	
             len=64, pos=24, align=0:        23.96	       26.28 ( -9.70%)	
             len=88, pos=64, align=0:        31.81	       21.97 ( 30.91%)	
             len=64, pos=40, align=0:        28.53	       23.07 ( 19.13%)	
             len=40, pos=24, align=0:        19.63	       19.00 (  3.18%)	
             len=40, pos=64, align=0:        22.41	       20.76 (  7.39%)	
             len=64, pos=36, align=0:        30.45	       21.92 ( 28.02%)	
            len=100, pos=64, align=0:        34.96	       28.70 ( 17.91%)	
             len=64, pos=28, align=0:        24.82	       22.80 (  8.13%)	
             len=28, pos=36, align=0:        18.21	       14.42 ( 20.84%)	
             len=28, pos=64, align=0:        17.07	       15.39 (  9.83%)	
             len=64, pos=48, align=0:        31.25	       24.39 ( 21.95%)	
            len=112, pos=64, align=0:        39.12	       25.21 ( 35.54%)	
             len=64, pos=16, align=0:        27.60	       22.80 ( 17.37%)	
             len=16, pos=48, align=0:        14.40	       14.44 ( -0.24%)	
             len=16, pos=64, align=0:        15.61	       15.34 (  1.75%)	
             len=64, pos=60, align=0:        29.40	       23.16 ( 21.23%)	
            len=124, pos=64, align=0:        39.10	       25.21 ( 35.52%)	
              len=64, pos=4, align=0:        27.36	       22.80 ( 16.65%)	
              len=4, pos=60, align=0:         9.63	        9.64 ( -0.11%)	
              len=4, pos=64, align=0:         9.63	        9.95 ( -3.40%)	
             len=64, pos=72, align=0:        28.32	       27.98 (  1.21%)	
            len=136, pos=64, align=0:        41.91	       29.22 ( 30.28%)	
             len=128, pos=0, align=0:        40.19	       29.15 ( 27.49%)	
           len=128, pos=128, align=0:        40.17	       30.37 ( 24.40%)	
           len=128, pos=128, align=0:        39.42	       30.32 ( 23.09%)	
             len=128, pos=0, align=0:        39.66	       28.80 ( 27.38%)	
           len=128, pos=128, align=0:        41.40	       30.01 ( 27.53%)	
            len=128, pos=12, align=0:        39.63	       28.73 ( 27.50%)	
           len=140, pos=128, align=0:        39.49	       25.43 ( 35.60%)	
           len=128, pos=116, align=0:        40.85	       32.67 ( 20.04%)	
            len=116, pos=12, align=0:        34.85	       25.40 ( 27.10%)	
           len=116, pos=128, align=0:        36.05	       27.59 ( 23.46%)	
            len=128, pos=24, align=0:        38.05	       28.39 ( 25.38%)	
           len=152, pos=128, align=0:        45.59	       25.60 ( 43.84%)	
           len=128, pos=104, align=0:        39.80	       29.81 ( 25.10%)	
            len=104, pos=24, align=0:        31.98	       27.61 ( 13.69%)	
           len=104, pos=128, align=0:        33.04	       30.04 (  9.06%)	
            len=128, pos=36, align=0:        41.44	       31.47 ( 24.05%)	
           len=164, pos=128, align=0:        51.46	       33.91 ( 34.11%)	
            len=128, pos=92, align=0:        39.31	       33.76 ( 14.11%)	
             len=92, pos=36, align=0:        33.42	       21.61 ( 35.34%)	
            len=92, pos=128, align=0:        31.74	       24.36 ( 23.26%)	
            len=128, pos=48, align=0:        40.34	       33.62 ( 16.64%)	
           len=176, pos=128, align=0:        50.96	       32.72 ( 35.80%)	
            len=128, pos=80, align=0:        41.48	       33.15 ( 20.08%)	
             len=80, pos=48, align=0:        32.55	       22.72 ( 30.22%)	
            len=80, pos=128, align=0:        30.62	       26.46 ( 13.59%)	
            len=128, pos=60, align=0:        38.71	       33.41 ( 13.69%)	
           len=188, pos=128, align=0:        51.87	       31.20 ( 39.84%)	
            len=128, pos=68, align=0:        41.52	       29.92 ( 27.94%)	
             len=68, pos=60, align=0:        29.50	       24.38 ( 17.34%)	
            len=68, pos=128, align=0:        27.25	       29.06 ( -6.61%)	
            len=128, pos=72, align=0:        39.13	       30.32 ( 22.53%)	
           len=200, pos=128, align=0:        54.59	       33.62 ( 38.42%)	
            len=128, pos=56, align=0:        38.97	       33.46 ( 14.14%)	
             len=56, pos=72, align=0:        24.50	       19.60 ( 19.99%)	
            len=56, pos=128, align=0:        24.48	       19.20 ( 21.56%)	
             len=256, pos=0, align=0:        65.93	       39.89 ( 39.49%)	
           len=256, pos=256, align=0:        65.81	       39.96 ( 39.27%)	
           len=256, pos=256, align=0:        65.71	       39.60 ( 39.73%)	
             len=256, pos=0, align=0:        67.84	       38.41 ( 43.38%)	
           len=256, pos=256, align=0:        65.47	       41.15 ( 37.14%)	
            len=256, pos=12, align=0:        66.18	       39.81 ( 39.84%)	
           len=268, pos=256, align=0:        65.17	       37.49 ( 42.47%)	
           len=256, pos=244, align=0:        67.48	       39.94 ( 40.82%)	
            len=244, pos=12, align=0:        64.45	       36.98 ( 42.63%)	
           len=244, pos=256, align=0:        64.11	       37.53 ( 41.47%)	
            len=256, pos=24, align=0:        63.23	       37.22 ( 41.14%)	
           len=280, pos=256, align=0:        69.11	       39.13 ( 43.39%)	
           len=256, pos=232, align=0:        63.93	       41.12 ( 35.67%)	
            len=232, pos=24, align=0:        57.91	       40.81 ( 29.53%)	
           len=232, pos=256, align=0:        59.73	       38.58 ( 35.41%)	
            len=256, pos=36, align=0:        67.19	       41.02 ( 38.95%)	
           len=292, pos=256, align=0:        72.77	       43.33 ( 40.46%)	
           len=256, pos=220, align=0:        65.30	       41.03 ( 37.17%)	
            len=220, pos=36, align=0:        58.04	       35.34 ( 39.10%)	
           len=220, pos=256, align=0:        56.12	       34.86 ( 37.89%)	
            len=256, pos=48, align=0:        66.47	       40.73 ( 38.72%)	
           len=304, pos=256, align=0:        76.11	       46.00 ( 39.56%)	
           len=256, pos=208, align=0:        66.63	       40.77 ( 38.81%)	
            len=208, pos=48, align=0:        58.15	       34.81 ( 40.13%)	
           len=208, pos=256, align=0:        57.60	       35.10 ( 39.05%)	
            len=256, pos=60, align=0:        64.86	       40.65 ( 37.32%)	
           len=316, pos=256, align=0:        75.18	       45.57 ( 39.38%)	
           len=256, pos=196, align=0:        67.13	       41.13 ( 38.73%)	
            len=196, pos=60, align=0:        53.24	       34.81 ( 34.61%)	
           len=196, pos=256, align=0:        53.60	       36.26 ( 32.34%)	
            len=256, pos=72, align=0:        65.29	       40.01 ( 38.72%)	
           len=328, pos=256, align=0:        78.90	       46.69 ( 40.83%)	
           len=256, pos=184, align=0:        64.88	       41.06 ( 36.72%)	
            len=184, pos=72, align=0:        47.79	       32.67 ( 31.63%)	
           len=184, pos=256, align=0:        52.05	       33.60 ( 35.45%)	
             len=512, pos=0, align=0:       116.60	       68.62 ( 41.15%)	
           len=512, pos=512, align=0:       115.64	       68.18 ( 41.04%)	
           len=512, pos=512, align=0:       114.34	       68.19 ( 40.36%)	
             len=512, pos=0, align=0:       116.20	       68.59 ( 40.97%)	
           len=512, pos=512, align=0:       112.41	       68.31 ( 39.23%)	
            len=512, pos=12, align=0:       120.64	       68.71 ( 43.04%)	
           len=524, pos=512, align=0:       115.22	       67.50 ( 41.42%)	
           len=512, pos=500, align=0:       117.13	       67.85 ( 42.07%)	
            len=500, pos=12, align=0:       109.79	       66.68 ( 39.27%)	
           len=500, pos=512, align=0:       114.55	       66.24 ( 42.17%)	
            len=512, pos=24, align=0:       112.35	       67.39 ( 40.02%)	
           len=536, pos=512, align=0:       176.33	       67.91 ( 61.49%)	
           len=512, pos=488, align=0:       115.56	       68.71 ( 40.55%)	
            len=488, pos=24, align=0:       107.93	       64.01 ( 40.69%)	
           len=488, pos=512, align=0:       105.42	       64.80 ( 38.54%)	
            len=512, pos=36, align=0:       119.09	       68.61 ( 42.39%)	
           len=548, pos=512, align=0:       124.90	       72.26 ( 42.15%)	
           len=512, pos=476, align=0:       115.09	       67.41 ( 41.43%)	
            len=476, pos=36, align=0:       108.86	       64.03 ( 41.18%)	
           len=476, pos=512, align=0:       106.78	       62.64 ( 41.34%)	
            len=512, pos=48, align=0:       117.96	       67.46 ( 42.81%)	
           len=560, pos=512, align=0:       126.28	       74.89 ( 40.69%)	
           len=512, pos=464, align=0:       118.23	       67.47 ( 42.94%)	
            len=464, pos=48, align=0:       107.92	       62.69 ( 41.91%)	
           len=464, pos=512, align=0:       106.85	       62.61 ( 41.40%)	
            len=512, pos=60, align=0:       114.11	       67.53 ( 40.83%)	
           len=572, pos=512, align=0:       127.34	       74.65 ( 41.38%)	
           len=512, pos=452, align=0:       118.80	       68.78 ( 42.10%)	
            len=452, pos=60, align=0:       103.69	       60.20 ( 41.95%)	
           len=452, pos=512, align=0:       100.82	       60.94 ( 39.55%)	
            len=512, pos=72, align=0:       116.47	       68.74 ( 40.98%)	
           len=584, pos=512, align=0:       131.46	       75.80 ( 42.34%)	
           len=512, pos=440, align=0:       113.73	       67.44 ( 40.71%)	
            len=440, pos=72, align=0:       100.63	       60.30 ( 40.07%)	
           len=440, pos=512, align=0:       102.12	       59.09 ( 42.14%)	
            len=256, pos=64, align=1:        72.48	       44.60 ( 38.47%)	
            len=256, pos=64, align=1:        72.42	       47.17 ( 34.86%)	
           len=256, pos=64, align=15:        68.76	       46.46 ( 32.43%)	
           len=256, pos=64, align=15:        67.69	       44.73 ( 33.92%)	
            len=256, pos=64, align=2:        71.61	       44.82 ( 37.41%)	
            len=256, pos=64, align=2:        71.68	       44.39 ( 38.08%)	
           len=256, pos=64, align=30:        70.43	       43.33 ( 38.47%)	
           len=256, pos=64, align=30:        68.10	       43.67 ( 35.88%)	
            len=256, pos=64, align=3:        72.94	       47.07 ( 35.47%)	
            len=256, pos=64, align=3:        73.02	       44.63 ( 38.87%)	
           len=256, pos=64, align=45:        68.42	       45.39 ( 33.65%)	
           len=256, pos=64, align=45:        70.30	       44.38 ( 36.87%)	
            len=256, pos=64, align=4:        72.42	       44.33 ( 38.79%)	
            len=256, pos=64, align=4:        72.39	       44.26 ( 38.85%)	
           len=256, pos=64, align=60:        68.68	       43.91 ( 36.07%)	
           len=256, pos=64, align=60:        69.77	       43.94 ( 37.03%)	
            len=256, pos=64, align=5:        71.95	       45.94 ( 36.14%)	
            len=256, pos=64, align=5:        73.57	       47.15 ( 35.91%)	
           len=256, pos=64, align=75:        69.40	       47.13 ( 32.09%)	
           len=256, pos=64, align=75:        69.37	       46.80 ( 32.54%)	
            len=256, pos=64, align=6:        72.50	       44.47 ( 38.66%)	
            len=256, pos=64, align=6:        72.95	       44.34 ( 39.23%)	
           len=256, pos=64, align=90:        68.29	       43.61 ( 36.15%)	
           len=256, pos=64, align=90:        68.42	       42.43 ( 37.99%)	
            len=256, pos=64, align=7:        70.94	       45.15 ( 36.35%)	
            len=256, pos=64, align=7:        72.44	       44.39 ( 38.73%)	
          len=256, pos=64, align=105:        68.56	       46.80 ( 31.74%)	
          len=256, pos=64, align=105:        70.64	       44.37 ( 37.20%)	
               len=1, pos=0, align=0:         7.21	        8.73 (-21.07%)	
               len=1, pos=0, align=0:         7.20	        8.40 (-16.69%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.67%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.70%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.70%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.70%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.67%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.70%)	
               len=5, pos=4, align=0:         7.20	        8.76 (-21.63%)	
               len=5, pos=4, align=0:         7.20	        8.40 (-16.67%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.67%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.67%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.67%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.70%)	
               len=8, pos=7, align=0:        12.01	        8.76 ( 27.02%)	
               len=8, pos=7, align=0:        12.00	        8.40 ( 29.98%)	
               len=9, pos=8, align=0:        10.81	        8.40 ( 22.22%)	
               len=9, pos=8, align=0:        10.80	        9.60 ( 11.12%)	
              len=10, pos=9, align=0:        10.80	        8.40 ( 22.20%)	
              len=10, pos=9, align=0:        10.81	        9.60 ( 11.16%)	
             len=11, pos=10, align=0:        10.81	        9.60 ( 11.15%)	
             len=11, pos=10, align=0:        11.12	        9.60 ( 13.69%)	
             len=12, pos=11, align=0:        11.16	        8.40 ( 24.71%)	
             len=12, pos=11, align=0:        11.12	        8.40 ( 24.43%)	
             len=13, pos=12, align=0:        11.98	        9.51 ( 20.67%)	
             len=13, pos=12, align=0:        12.78	        8.40 ( 34.25%)	
             len=14, pos=13, align=0:        10.80	        8.40 ( 22.23%)	
             len=14, pos=13, align=0:        10.80	        8.40 ( 22.20%)	
             len=15, pos=14, align=0:        10.80	        9.60 ( 11.12%)	
             len=15, pos=14, align=0:        10.81	        8.40 ( 22.25%)	
             len=16, pos=15, align=0:        13.91	       13.73 (  1.25%)	
             len=16, pos=15, align=0:        13.35	       14.26 ( -6.84%)	
             len=17, pos=16, align=0:        12.01	       10.80 ( 10.04%)	
             len=17, pos=16, align=0:        12.01	       10.80 ( 10.03%)	
             len=18, pos=17, align=0:        13.09	       11.86 (  9.40%)	
             len=18, pos=17, align=0:        12.85	       11.88 (  7.55%)	
             len=19, pos=18, align=0:        12.00	       11.79 (  1.80%)	
             len=19, pos=18, align=0:        12.83	       11.86 (  7.57%)	
             len=20, pos=19, align=0:        12.00	       10.80 ( 10.00%)	
             len=20, pos=19, align=0:        13.20	       11.87 ( 10.04%)	
             len=21, pos=20, align=0:        12.01	       10.81 ( 10.00%)	
             len=21, pos=20, align=0:        13.06	       11.87 (  9.08%)	
             len=22, pos=21, align=0:        12.86	       11.85 (  7.83%)	
             len=22, pos=21, align=0:        12.77	       11.90 (  6.82%)	
             len=23, pos=22, align=0:        12.01	       10.80 ( 10.02%)	
             len=23, pos=22, align=0:        12.87	       11.87 (  7.76%)	
             len=24, pos=23, align=0:        15.60	       11.92 ( 23.56%)	
             len=24, pos=23, align=0:        14.41	       11.80 ( 18.08%)	
             len=25, pos=24, align=0:        14.10	       12.52 ( 11.20%)	
             len=25, pos=24, align=0:        14.12	       11.87 ( 15.92%)	
             len=26, pos=25, align=0:        13.97	       12.20 ( 12.69%)	
             len=26, pos=25, align=0:        13.80	       11.84 ( 14.21%)	
             len=27, pos=26, align=0:        14.05	       11.80 ( 16.04%)	
             len=27, pos=26, align=0:        14.07	       11.90 ( 15.46%)	
             len=28, pos=27, align=0:        14.03	       11.91 ( 15.16%)	
             len=28, pos=27, align=0:        14.47	       11.87 ( 17.97%)	
             len=29, pos=28, align=0:        14.62	       11.80 ( 19.32%)	
             len=29, pos=28, align=0:        14.07	       12.15 ( 13.66%)	
             len=30, pos=29, align=0:        13.98	       12.16 ( 13.00%)	
             len=30, pos=29, align=0:        13.99	       12.15 ( 13.12%)	
             len=31, pos=30, align=0:        14.08	       12.11 ( 14.00%)	
             len=31, pos=30, align=0:        14.06	       12.16 ( 13.51%)	
             len=32, pos=31, align=0:        21.56	       19.15 ( 11.16%)	
             len=32, pos=31, align=0:        21.25	       19.11 ( 10.07%)	
len=4, pos=18446744073709551604, align=0:         9.94	       10.81 ( -8.68%)	
              len=20, pos=4, align=0:        14.11	       13.04 (  7.59%)	
             len=36, pos=20, align=0:        22.94	       19.06 ( 16.89%)	
             len=52, pos=36, align=0:        29.54	       16.80 ( 43.14%)	
             len=68, pos=52, align=0:        33.57	       23.86 ( 28.92%)	
             len=84, pos=68, align=0:        35.10	       22.86 ( 34.88%)	
               len=4, pos=0, align=0:         7.21	        9.55 (-32.46%)	
               len=4, pos=4, align=0:         7.21	        9.60 (-33.25%)	
               len=4, pos=4, align=0:         7.62	        9.60 (-26.05%)	
               len=4, pos=0, align=0:         7.20	        8.40 (-16.70%)	
               len=4, pos=4, align=0:         7.20	        8.40 (-16.66%)	
              len=4, pos=12, align=0:         7.20	        8.40 (-16.67%)	
              len=16, pos=4, align=0:        14.06	       14.08 ( -0.17%)	
              len=4, pos=24, align=0:         9.63	        9.64 ( -0.12%)	
              len=28, pos=4, align=0:        16.31	       13.24 ( 18.84%)	
              len=4, pos=36, align=0:         9.94	       10.80 ( -8.62%)	
              len=40, pos=4, align=0:        22.47	       22.81 ( -1.53%)	
              len=4, pos=48, align=0:         9.64	        9.64 (  0.02%)	
              len=52, pos=4, align=0:        22.80	       19.43 ( 14.78%)	
              len=4, pos=60, align=0:         9.64	        9.64 ( -0.01%)	
              len=64, pos=4, align=0:        29.65	       23.83 ( 19.62%)	
              len=4, pos=72, align=0:         9.64	        9.63 (  0.08%)	
              len=76, pos=4, align=0:        26.88	       23.76 ( 11.60%)	
               len=8, pos=0, align=0:        12.34	        9.60 ( 22.16%)	
               len=8, pos=8, align=0:        12.01	        9.05 ( 24.65%)	
               len=8, pos=8, align=0:        12.00	        8.40 ( 29.98%)	
               len=8, pos=0, align=0:        12.00	        8.40 ( 29.98%)	
               len=8, pos=8, align=0:        12.01	        8.40 ( 30.00%)	
              len=8, pos=12, align=0:        12.31	        9.60 ( 22.02%)	
              len=20, pos=8, align=0:        13.49	       13.18 (  2.27%)	
              len=8, pos=24, align=0:        12.00	        8.40 ( 29.99%)	
              len=32, pos=8, align=0:        21.27	       19.35 (  9.01%)	
              len=8, pos=36, align=0:        12.01	       10.73 ( 10.67%)	
              len=44, pos=8, align=0:        21.20	       19.14 (  9.73%)	
              len=8, pos=48, align=0:        12.01	       10.80 ( 10.04%)	
              len=56, pos=8, align=0:        22.91	       19.57 ( 14.56%)	
              len=8, pos=60, align=0:        12.01	       10.79 ( 10.12%)	
              len=68, pos=8, align=0:        24.86	       24.17 (  2.77%)	
              len=8, pos=72, align=0:        12.01	        9.95 ( 17.10%)	
              len=80, pos=8, align=0:        29.62	       22.99 ( 22.40%)	
              len=16, pos=0, align=0:        13.20	       13.11 (  0.75%)	
             len=16, pos=16, align=0:        12.60	       13.23 ( -5.01%)	
             len=16, pos=16, align=0:        13.45	       14.16 ( -5.33%)	
              len=16, pos=0, align=0:        14.45	       13.07 (  9.54%)	
             len=16, pos=16, align=0:        12.60	       13.23 ( -5.01%)	
             len=16, pos=12, align=0:        12.01	       13.23 (-10.22%)	
             len=28, pos=16, align=0:        15.35	       11.89 ( 22.53%)	
              len=16, pos=4, align=0:        14.01	       14.57 ( -4.05%)	
              len=4, pos=12, align=0:         7.21	        9.60 (-33.23%)	
              len=4, pos=16, align=0:         9.95	       10.80 ( -8.55%)	
             len=16, pos=24, align=0:        12.01	       13.23 (-10.22%)	
             len=40, pos=16, align=0:        21.18	       19.69 (  7.05%)	
             len=16, pos=36, align=0:        12.01	       13.23 (-10.21%)	
             len=52, pos=16, align=0:        23.68	       18.27 ( 22.85%)	
             len=16, pos=48, align=0:        12.81	       14.24 (-11.17%)	
             len=64, pos=16, align=0:        25.37	       23.84 (  6.04%)	
             len=16, pos=60, align=0:        12.01	       13.23 (-10.21%)	
             len=76, pos=16, align=0:        26.22	       23.82 (  9.15%)	
             len=16, pos=72, align=0:        14.39	       14.43 ( -0.26%)	
             len=88, pos=16, align=0:        30.36	       21.42 ( 29.46%)	
              len=32, pos=0, align=0:        21.31	       19.20 (  9.91%)	
             len=32, pos=32, align=0:        18.85	       19.31 ( -2.45%)	
             len=32, pos=32, align=0:        19.21	       19.06 (  0.75%)	
              len=32, pos=0, align=0:        21.17	       19.21 (  9.27%)	
             len=32, pos=32, align=0:        18.77	       19.14 ( -1.95%)	
             len=32, pos=12, align=0:        21.23	       21.32 ( -0.45%)	
             len=44, pos=32, align=0:        20.07	       15.42 ( 23.17%)	
             len=32, pos=20, align=0:        21.18	       19.43 (  8.27%)	
             len=20, pos=12, align=0:        13.47	       13.35 (  0.89%)	
             len=20, pos=32, align=0:        12.87	       11.92 (  7.36%)	
             len=32, pos=24, align=0:        18.88	       19.36 ( -2.54%)	
             len=56, pos=32, align=0:        27.22	       16.79 ( 38.31%)	
              len=32, pos=8, align=0:        21.17	       19.16 (  9.47%)	
              len=8, pos=24, align=0:        12.00	        9.60 ( 20.01%)	
              len=8, pos=32, align=0:        12.00	        9.64 ( 19.70%)	
             len=32, pos=36, align=0:        18.80	       19.04 ( -1.28%)	
             len=68, pos=32, align=0:        29.62	       22.70 ( 23.36%)	
             len=32, pos=48, align=0:        18.90	       19.38 ( -2.57%)	
             len=80, pos=32, align=0:        32.31	       22.71 ( 29.72%)	
             len=32, pos=60, align=0:        18.83	       19.05 ( -1.17%)	
             len=92, pos=32, align=0:        32.04	       23.18 ( 27.65%)	
             len=32, pos=72, align=0:        21.46	       19.01 ( 11.41%)	
            len=104, pos=32, align=0:        35.05	       28.95 ( 17.40%)	
              len=64, pos=0, align=0:        25.82	       24.23 (  6.16%)	
             len=64, pos=64, align=0:        30.81	       24.22 ( 21.38%)	
             len=64, pos=64, align=0:        30.81	       24.80 ( 19.49%)	
              len=64, pos=0, align=0:        26.61	       24.17 (  9.18%)	
             len=64, pos=64, align=0:        30.86	       24.14 ( 21.77%)	
             len=64, pos=12, align=0:        24.87	       24.17 (  2.80%)	
             len=76, pos=64, align=0:        29.65	       22.92 ( 22.69%)	
             len=64, pos=52, align=0:        30.77	       24.12 ( 21.62%)	
             len=52, pos=12, align=0:        23.23	       19.18 ( 17.44%)	
             len=52, pos=64, align=0:        23.96	       16.74 ( 30.17%)	
             len=64, pos=24, align=0:        23.99	       23.73 (  1.07%)	
             len=88, pos=64, align=0:        35.15	       22.85 ( 34.98%)	
             len=64, pos=40, align=0:        28.70	       22.72 ( 20.85%)	
             len=40, pos=24, align=0:        19.97	       18.00 (  9.85%)	
             len=40, pos=64, align=0:        19.94	       15.41 ( 22.70%)	
             len=64, pos=36, align=0:        29.94	       22.67 ( 24.28%)	
            len=100, pos=64, align=0:        39.25	       30.52 ( 22.24%)	
             len=64, pos=28, align=0:        24.89	       25.53 ( -2.54%)	
             len=28, pos=36, align=0:        14.00	       11.86 ( 15.29%)	
             len=28, pos=64, align=0:        15.20	       11.85 ( 22.07%)	
             len=64, pos=48, align=0:        30.82	       23.88 ( 22.53%)	
            len=112, pos=64, align=0:        45.28	       29.11 ( 35.72%)	
             len=64, pos=16, align=0:        27.73	       23.12 ( 16.62%)	
             len=16, pos=48, align=0:        13.58	       13.08 (  3.63%)	
             len=16, pos=64, align=0:        15.00	       13.24 ( 11.74%)	
             len=64, pos=60, align=0:        30.00	       23.80 ( 20.67%)	
            len=124, pos=64, align=0:        42.19	       28.53 ( 32.38%)	
              len=64, pos=4, align=0:        27.76	       22.81 ( 17.86%)	
              len=4, pos=60, align=0:         9.65	        9.64 (  0.14%)	
              len=4, pos=64, align=0:         9.66	        9.64 (  0.20%)	
             len=64, pos=72, align=0:        31.20	       23.80 ( 23.72%)	
            len=136, pos=64, align=0:        49.72	       35.10 ( 29.41%)	
             len=128, pos=0, align=0:        47.43	       31.47 ( 33.65%)	
           len=128, pos=128, align=0:        48.85	       34.98 ( 28.41%)	
           len=128, pos=128, align=0:        50.27	       33.92 ( 32.53%)	
             len=128, pos=0, align=0:        44.97	       28.04 ( 37.66%)	
           len=128, pos=128, align=0:        50.26	       33.93 ( 32.49%)	
            len=128, pos=12, align=0:        43.61	       28.00 ( 35.79%)	
           len=140, pos=128, align=0:        47.89	       33.04 ( 31.00%)	
           len=128, pos=116, align=0:        46.34	       33.01 ( 28.77%)	
            len=116, pos=12, align=0:        39.05	       26.36 ( 32.49%)	
           len=116, pos=128, align=0:        41.01	       30.22 ( 26.31%)	
            len=128, pos=24, align=0:        36.21	       29.02 ( 19.85%)	
           len=152, pos=128, align=0:        55.46	       37.22 ( 32.90%)	
           len=128, pos=104, align=0:        43.90	       35.12 ( 19.99%)	
            len=104, pos=24, align=0:        31.76	       25.27 ( 20.43%)	
           len=104, pos=128, align=0:        37.59	       26.44 ( 29.67%)	
            len=128, pos=36, align=0:        42.93	       30.10 ( 29.90%)	
           len=164, pos=128, align=0:        57.40	       41.57 ( 27.59%)	
            len=128, pos=92, align=0:        44.44	       32.83 ( 26.12%)	
             len=92, pos=36, align=0:        32.01	       23.12 ( 27.76%)	
            len=92, pos=128, align=0:        34.35	       22.81 ( 33.60%)	
            len=128, pos=48, align=0:        44.28	       32.42 ( 26.80%)	
           len=176, pos=128, align=0:        57.91	       43.16 ( 25.47%)	
            len=128, pos=80, align=0:        45.79	       35.30 ( 22.91%)	
             len=80, pos=48, align=0:        33.68	       22.73 ( 32.51%)	
            len=80, pos=128, align=0:        32.77	       23.97 ( 26.85%)	
            len=128, pos=60, align=0:        42.37	       33.41 ( 21.15%)	
           len=188, pos=128, align=0:        57.96	       43.16 ( 25.54%)	
            len=128, pos=68, align=0:        45.65	       32.72 ( 28.33%)	
             len=68, pos=60, align=0:        29.61	       25.06 ( 15.38%)	
            len=68, pos=128, align=0:        29.41	       21.01 ( 28.56%)	
            len=128, pos=72, align=0:        43.41	       32.77 ( 24.51%)	
           len=200, pos=128, align=0:        60.69	       44.79 ( 26.20%)	
            len=128, pos=56, align=0:        41.64	       33.78 ( 18.88%)	
             len=56, pos=72, align=0:        24.96	       16.76 ( 32.83%)	
            len=56, pos=128, align=0:        27.53	       16.70 ( 39.34%)	
             len=256, pos=0, align=0:        65.67	       39.56 ( 39.76%)	
           len=256, pos=256, align=0:        70.61	       47.28 ( 33.04%)	
           len=256, pos=256, align=0:        67.84	       46.96 ( 30.77%)	
             len=256, pos=0, align=0:        65.50	       39.87 ( 39.13%)	
           len=256, pos=256, align=0:        71.33	       47.48 ( 33.43%)	
            len=256, pos=12, align=0:        66.95	       39.88 ( 40.43%)	
           len=268, pos=256, align=0:        71.47	       47.41 ( 33.66%)	
           len=256, pos=244, align=0:        73.61	       51.90 ( 29.49%)	
            len=244, pos=12, align=0:        64.29	       37.51 ( 41.65%)	
           len=244, pos=256, align=0:        66.41	       46.10 ( 30.59%)	
            len=256, pos=24, align=0:        62.28	       38.68 ( 37.89%)	
           len=280, pos=256, align=0:        77.09	       49.82 ( 35.37%)	
           len=256, pos=232, align=0:        69.96	       50.82 ( 27.35%)	
            len=232, pos=24, align=0:        56.74	       35.85 ( 36.82%)	
           len=232, pos=256, align=0:        63.10	       44.82 ( 28.97%)	
            len=256, pos=36, align=0:        67.30	       41.02 ( 39.06%)	
           len=292, pos=256, align=0:        78.21	       55.41 ( 29.15%)	
           len=256, pos=220, align=0:        70.22	       50.24 ( 28.45%)	
            len=220, pos=36, align=0:        57.86	       35.10 ( 39.33%)	
           len=220, pos=256, align=0:        59.25	       39.11 ( 33.98%)	
            len=256, pos=48, align=0:        69.95	       41.03 ( 41.35%)	
           len=304, pos=256, align=0:        83.11	       57.07 ( 31.33%)	
           len=256, pos=208, align=0:        73.39	       51.86 ( 29.34%)	
            len=208, pos=48, align=0:        58.40	       36.26 ( 37.91%)	
           len=208, pos=256, align=0:        60.71	       39.80 ( 34.45%)	
            len=256, pos=60, align=0:        67.15	       42.17 ( 37.20%)	
           len=316, pos=256, align=0:        82.23	       57.11 ( 30.55%)	
           len=256, pos=196, align=0:        71.72	       51.20 ( 28.61%)	
            len=196, pos=60, align=0:        56.02	       35.88 ( 35.96%)	
           len=196, pos=256, align=0:        56.30	       37.09 ( 34.12%)	
            len=256, pos=72, align=0:        66.82	       46.62 ( 30.23%)	
           len=328, pos=256, align=0:        85.35	       57.95 ( 32.11%)	
           len=256, pos=184, align=0:        70.90	       52.67 ( 25.70%)	
            len=184, pos=72, align=0:        53.86	       35.22 ( 34.61%)	
           len=184, pos=256, align=0:        54.27	       35.31 ( 34.93%)	
             len=512, pos=0, align=0:       116.29	       68.78 ( 40.85%)	
           len=512, pos=512, align=0:       120.81	       76.41 ( 36.75%)	
           len=512, pos=512, align=0:       123.49	       75.91 ( 38.53%)	
             len=512, pos=0, align=0:       116.13	       68.66 ( 40.87%)	
           len=512, pos=512, align=0:       121.24	       75.96 ( 37.35%)	
            len=512, pos=12, align=0:       120.57	       68.56 ( 43.14%)	
           len=524, pos=512, align=0:       122.91	       75.79 ( 38.34%)	
           len=512, pos=500, align=0:       125.24	       79.41 ( 36.59%)	
            len=500, pos=12, align=0:       116.36	       66.50 ( 42.85%)	
           len=500, pos=512, align=0:       119.11	       74.74 ( 37.25%)	
            len=512, pos=24, align=0:       115.31	       67.40 ( 41.55%)	
           len=536, pos=512, align=0:       126.31	       78.29 ( 38.02%)	
           len=512, pos=488, align=0:       124.40	       77.11 ( 38.02%)	
            len=488, pos=24, align=0:       105.80	       63.82 ( 39.68%)	
           len=488, pos=512, align=0:       116.08	       72.35 ( 37.67%)	
            len=512, pos=36, align=0:       119.86	       68.70 ( 42.68%)	
           len=548, pos=512, align=0:       129.38	       83.22 ( 35.68%)	
           len=512, pos=476, align=0:       122.19	       77.16 ( 36.86%)	
            len=476, pos=36, align=0:       109.81	       63.90 ( 41.81%)	
           len=476, pos=512, align=0:       115.47	       71.13 ( 38.40%)	
            len=512, pos=48, align=0:       121.56	       67.50 ( 44.47%)	
           len=560, pos=512, align=0:       136.12	       85.47 ( 37.21%)	
           len=512, pos=464, align=0:       123.85	       76.70 ( 38.07%)	
            len=464, pos=48, align=0:       109.27	       62.78 ( 42.54%)	
           len=464, pos=512, align=0:       114.63	       71.12 ( 37.96%)	
            len=512, pos=60, align=0:       120.25	       67.59 ( 43.79%)	
           len=572, pos=512, align=0:       136.53	       85.44 ( 37.42%)	
           len=512, pos=452, align=0:       123.34	       77.09 ( 37.50%)	
            len=452, pos=60, align=0:       104.68	       60.29 ( 42.41%)	
           len=452, pos=512, align=0:       108.07	       68.74 ( 36.40%)	
            len=512, pos=72, align=0:       119.38	       71.18 ( 40.37%)	
           len=584, pos=512, align=0:       136.28	       86.69 ( 36.39%)	
           len=512, pos=440, align=0:       120.39	       77.15 ( 35.92%)	
            len=440, pos=72, align=0:       101.08	       62.73 ( 37.94%)	
           len=440, pos=512, align=0:       105.16	       67.49 ( 35.82%)	
            len=256, pos=64, align=1:        70.55	       44.34 ( 37.15%)	
            len=256, pos=64, align=1:        70.56	       48.22 ( 31.67%)	
           len=256, pos=64, align=15:        68.41	       48.16 ( 29.60%)	
           len=256, pos=64, align=15:        68.38	       45.10 ( 34.05%)	
            len=256, pos=64, align=2:        70.49	       44.98 ( 36.18%)	
            len=256, pos=64, align=2:        72.00	       44.34 ( 38.41%)	
           len=256, pos=64, align=30:        66.39	       43.30 ( 34.78%)	
           len=256, pos=64, align=30:        68.02	       43.60 ( 35.90%)	
            len=256, pos=64, align=3:        70.79	       46.68 ( 34.07%)	
            len=256, pos=64, align=3:        71.04	       46.03 ( 35.21%)	
           len=256, pos=64, align=45:        69.32	       45.08 ( 34.97%)	
           len=256, pos=64, align=45:        69.94	       44.31 ( 36.65%)	
            len=256, pos=64, align=4:        70.47	       44.25 ( 37.20%)	
            len=256, pos=64, align=4:        69.83	       44.34 ( 36.50%)	
           len=256, pos=64, align=60:        71.78	       43.98 ( 38.73%)	
           len=256, pos=64, align=60:        70.25	       44.12 ( 37.20%)	
            len=256, pos=64, align=5:        71.74	       46.51 ( 35.16%)	
            len=256, pos=64, align=5:        73.11	       46.08 ( 36.97%)	
           len=256, pos=64, align=75:        70.42	       46.80 ( 33.54%)	
           len=256, pos=64, align=75:        71.55	       46.80 ( 34.59%)	
            len=256, pos=64, align=6:        69.75	       44.25 ( 36.55%)	
            len=256, pos=64, align=6:        72.06	       45.85 ( 36.37%)	
           len=256, pos=64, align=90:        68.88	       43.53 ( 36.80%)	
           len=256, pos=64, align=90:        69.31	       43.62 ( 37.07%)	
            len=256, pos=64, align=7:        71.45	       44.75 ( 37.37%)	
            len=256, pos=64, align=7:        71.65	       44.39 ( 38.06%)	
          len=256, pos=64, align=105:        69.32	       44.38 ( 35.97%)	
          len=256, pos=64, align=105:        67.76	       45.81 ( 32.40%)	
               len=1, pos=0, align=0:         7.21	        9.60 (-33.18%)	
               len=1, pos=0, align=0:         7.20	        9.60 (-33.31%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.67%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.67%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.67%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.67%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.67%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.67%)	
               len=5, pos=4, align=0:         7.20	        8.72 (-21.07%)	
               len=5, pos=4, align=0:         7.20	        8.40 (-16.66%)	
               len=6, pos=5, align=0:         7.20	        9.60 (-33.27%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.67%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.67%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.66%)	
               len=8, pos=7, align=0:        12.01	        9.47 ( 21.17%)	
               len=8, pos=7, align=0:        12.00	        8.40 ( 29.98%)	
               len=9, pos=8, align=0:        10.81	        8.40 ( 22.23%)	
               len=9, pos=8, align=0:        10.80	        8.40 ( 22.20%)	
              len=10, pos=9, align=0:        10.80	        9.60 ( 11.12%)	
              len=10, pos=9, align=0:        10.81	        9.60 ( 11.15%)	
             len=11, pos=10, align=0:        11.16	        9.60 ( 13.97%)	
             len=11, pos=10, align=0:        11.12	        8.40 ( 24.45%)	
             len=12, pos=11, align=0:        11.12	        8.40 ( 24.41%)	
             len=12, pos=11, align=0:        11.12	        8.40 ( 24.43%)	
             len=13, pos=12, align=0:        12.04	        9.54 ( 20.79%)	
             len=13, pos=12, align=0:        11.95	        9.51 ( 20.38%)	
             len=14, pos=13, align=0:        11.67	        9.52 ( 18.43%)	
             len=14, pos=13, align=0:        10.80	        8.40 ( 22.19%)	
             len=15, pos=14, align=0:        10.81	        8.40 ( 22.22%)	
             len=15, pos=14, align=0:        10.81	        8.40 ( 22.22%)	
             len=16, pos=15, align=0:        12.61	       13.24 ( -4.99%)	
             len=16, pos=15, align=0:        13.19	       13.08 (  0.78%)	
             len=17, pos=16, align=0:        12.85	       11.88 (  7.52%)	
             len=17, pos=16, align=0:        12.00	       10.80 (  9.98%)	
             len=18, pos=17, align=0:        13.15	       11.89 (  9.62%)	
             len=18, pos=17, align=0:        12.85	       11.82 (  7.99%)	
             len=19, pos=18, align=0:        12.00	       10.80 (  9.98%)	
             len=19, pos=18, align=0:        13.15	       12.03 (  8.47%)	
             len=20, pos=19, align=0:        12.01	       10.80 ( 10.01%)	
             len=20, pos=19, align=0:        13.12	       11.85 (  9.69%)	
             len=21, pos=20, align=0:        12.84	       11.82 (  7.98%)	
             len=21, pos=20, align=0:        13.11	       11.87 (  9.45%)	
             len=22, pos=21, align=0:        12.80	       11.81 (  7.74%)	
             len=22, pos=21, align=0:        13.09	       11.90 (  9.03%)	
             len=23, pos=22, align=0:        12.01	       10.80 ( 10.00%)	
             len=23, pos=22, align=0:        12.86	       11.89 (  7.56%)	
             len=24, pos=23, align=0:        15.58	       11.87 ( 23.85%)	
             len=24, pos=23, align=0:        15.29	       11.94 ( 21.89%)	
             len=25, pos=24, align=0:        14.06	       11.93 ( 15.14%)	
             len=25, pos=24, align=0:        14.26	       11.91 ( 16.53%)	
             len=26, pos=25, align=0:        14.10	       12.27 ( 12.96%)	
             len=26, pos=25, align=0:        14.31	       11.79 ( 17.59%)	
             len=27, pos=26, align=0:        14.08	       11.89 ( 15.54%)	
             len=27, pos=26, align=0:        14.04	       11.88 ( 15.39%)	
             len=28, pos=27, align=0:        14.44	       11.87 ( 17.78%)	
             len=28, pos=27, align=0:        14.30	       11.89 ( 16.80%)	
             len=29, pos=28, align=0:        14.08	       12.23 ( 13.18%)	
             len=29, pos=28, align=0:        14.09	       12.11 ( 14.04%)	
             len=30, pos=29, align=0:        13.98	       11.79 ( 15.68%)	
             len=30, pos=29, align=0:        14.00	       11.81 ( 15.66%)	
             len=31, pos=30, align=0:        14.04	       11.94 ( 15.00%)	
             len=31, pos=30, align=0:        13.97	       11.84 ( 15.27%)	
             len=32, pos=31, align=0:        21.20	       19.15 (  9.66%)	
             len=32, pos=31, align=0:        21.46	       19.09 ( 11.07%)	
len=4, pos=18446744073709551604, align=0:         9.63	       11.16 (-15.90%)	
              len=20, pos=4, align=0:        14.12	       13.11 (  7.18%)	
             len=36, pos=20, align=0:        22.98	       19.11 ( 16.83%)	
             len=52, pos=36, align=0:        27.75	       17.27 ( 37.76%)	
             len=68, pos=52, align=0:        33.13	       24.67 ( 25.53%)	
             len=84, pos=68, align=0:        35.63	       22.86 ( 35.83%)	
               len=4, pos=0, align=0:         7.21	        9.52 (-32.06%)	
               len=4, pos=4, align=0:         7.20	        8.40 (-16.70%)	
               len=4, pos=4, align=0:         7.20	        9.60 (-33.34%)	
               len=4, pos=0, align=0:         7.20	        8.40 (-16.66%)	
               len=4, pos=4, align=0:         7.20	        9.60 (-33.26%)	
              len=4, pos=12, align=0:         7.20	        8.40 (-16.70%)	
              len=16, pos=4, align=0:        14.44	       13.60 (  5.85%)	
              len=4, pos=24, align=0:         7.23	        9.60 (-32.88%)	
              len=28, pos=4, align=0:        16.15	       13.23 ( 18.04%)	
              len=4, pos=36, align=0:         7.21	        9.92 (-37.58%)	
              len=40, pos=4, align=0:        23.36	       18.33 ( 21.53%)	
              len=4, pos=48, align=0:         7.23	        9.60 (-32.86%)	
              len=52, pos=4, align=0:        27.28	       19.59 ( 28.18%)	
              len=4, pos=60, align=0:         7.23	        9.63 (-33.22%)	
              len=64, pos=4, align=0:        29.95	       23.87 ( 20.29%)	
              len=4, pos=72, align=0:         9.99	        9.64 (  3.46%)	
              len=76, pos=4, align=0:        26.41	       26.38 (  0.13%)	
               len=8, pos=0, align=0:        12.34	        8.43 ( 31.65%)	
               len=8, pos=8, align=0:        12.00	        8.43 ( 29.75%)	
               len=8, pos=8, align=0:        12.00	        8.43 ( 29.75%)	
               len=8, pos=0, align=0:        12.01	        8.43 ( 29.76%)	
               len=8, pos=8, align=0:        12.01	        8.43 ( 29.79%)	
              len=8, pos=12, align=0:        12.00	        9.60 ( 19.99%)	
              len=20, pos=8, align=0:        13.50	       13.07 (  3.18%)	
              len=8, pos=24, align=0:        12.01	        8.40 ( 30.03%)	
              len=32, pos=8, align=0:        21.28	       19.09 ( 10.27%)	
              len=8, pos=36, align=0:        12.01	        8.43 ( 29.79%)	
              len=44, pos=8, align=0:        21.35	       19.13 ( 10.40%)	
              len=8, pos=48, align=0:        12.01	        8.43 ( 29.78%)	
              len=56, pos=8, align=0:        24.23	       18.01 ( 25.69%)	
              len=8, pos=60, align=0:        12.00	        8.43 ( 29.76%)	
              len=68, pos=8, align=0:        24.97	       23.86 (  4.43%)	
              len=8, pos=72, align=0:        12.01	        8.43 ( 29.76%)	
              len=80, pos=8, align=0:        29.49	       22.74 ( 22.89%)	
              len=16, pos=0, align=0:        14.00	       14.41 ( -2.93%)	
             len=16, pos=16, align=0:        15.03	       13.23 ( 11.95%)	
             len=16, pos=16, align=0:        12.01	       13.23 (-10.22%)	
              len=16, pos=0, align=0:        13.20	       13.55 ( -2.63%)	
             len=16, pos=16, align=0:        14.48	       13.13 (  9.28%)	
             len=16, pos=12, align=0:        12.60	       13.23 ( -5.01%)	
             len=28, pos=16, align=0:        15.18	       12.00 ( 20.91%)	
              len=16, pos=4, align=0:        13.20	       13.23 ( -0.24%)	
              len=4, pos=12, align=0:         7.23	        9.63 (-33.09%)	
              len=4, pos=16, align=0:         7.21	        9.63 (-33.56%)	
             len=16, pos=24, align=0:        13.10	       13.43 ( -2.55%)	
             len=40, pos=16, align=0:        22.36	       18.45 ( 17.45%)	
             len=16, pos=36, align=0:        13.39	       13.14 (  1.85%)	
             len=52, pos=16, align=0:        24.73	       16.81 ( 32.03%)	
             len=16, pos=48, align=0:        12.90	       13.39 ( -3.81%)	
             len=64, pos=16, align=0:        25.69	       25.74 ( -0.19%)	
             len=16, pos=60, align=0:        13.27	       13.12 (  1.11%)	
             len=76, pos=16, align=0:        24.89	       24.68 (  0.83%)	
             len=16, pos=72, align=0:        12.60	       13.23 ( -5.00%)	
             len=88, pos=16, align=0:        29.30	       24.18 ( 17.47%)	
              len=32, pos=0, align=0:        22.28	       18.01 ( 19.20%)	
             len=32, pos=32, align=0:        18.75	       19.13 ( -2.03%)	
             len=32, pos=32, align=0:        18.83	       19.04 ( -1.12%)	
              len=32, pos=0, align=0:        21.16	       19.10 (  9.73%)	
             len=32, pos=32, align=0:        20.01	       18.00 ( 10.01%)	
             len=32, pos=12, align=0:        20.41	       19.16 (  6.09%)	
             len=44, pos=32, align=0:        20.01	       15.54 ( 22.37%)	
             len=32, pos=20, align=0:        21.28	       19.10 ( 10.22%)	
             len=20, pos=12, align=0:        12.81	       13.01 ( -1.56%)	
             len=20, pos=32, align=0:        12.77	       11.79 (  7.73%)	
             len=32, pos=24, align=0:        18.00	       20.40 (-13.33%)	
             len=56, pos=32, align=0:        27.59	       17.34 ( 37.13%)	
              len=32, pos=8, align=0:        22.50	       18.00 ( 19.98%)	
              len=8, pos=24, align=0:        12.00	        9.62 ( 19.83%)	
              len=8, pos=32, align=0:        12.32	        9.62 ( 21.89%)	
             len=32, pos=36, align=0:        20.05	       18.00 ( 10.22%)	
             len=68, pos=32, align=0:        30.69	       21.61 ( 29.56%)	
             len=32, pos=48, align=0:        18.80	       19.12 ( -1.67%)	
             len=80, pos=32, align=0:        31.94	       23.11 ( 27.64%)	
             len=32, pos=60, align=0:        19.15	       19.12 (  0.14%)	
             len=92, pos=32, align=0:        33.10	       21.63 ( 34.64%)	
             len=32, pos=72, align=0:        20.14	       18.00 ( 10.59%)	
            len=104, pos=32, align=0:        38.36	       28.76 ( 25.04%)	
              len=64, pos=0, align=0:        27.75	       22.81 ( 17.82%)	
             len=64, pos=64, align=0:        30.70	       23.41 ( 23.75%)	
             len=64, pos=64, align=0:        31.01	       24.00 ( 22.60%)	
              len=64, pos=0, align=0:        27.87	       25.21 (  9.55%)	
             len=64, pos=64, align=0:        30.70	       24.00 ( 21.82%)	
             len=64, pos=12, align=0:        27.81	       22.80 ( 18.00%)	
             len=76, pos=64, align=0:        29.65	       22.72 ( 23.38%)	
             len=64, pos=52, align=0:        30.88	       23.88 ( 22.66%)	
             len=52, pos=12, align=0:        23.56	       19.49 ( 17.28%)	
             len=52, pos=64, align=0:        25.22	       15.61 ( 38.11%)	
             len=64, pos=24, align=0:        25.13	       25.21 ( -0.31%)	
             len=88, pos=64, align=0:        35.26	       23.93 ( 32.14%)	
             len=64, pos=40, align=0:        29.11	       21.93 ( 24.66%)	
             len=40, pos=24, align=0:        18.91	       19.42 ( -2.68%)	
             len=40, pos=64, align=0:        20.38	       15.63 ( 23.31%)	
             len=64, pos=36, align=0:        30.41	       24.11 ( 20.73%)	
            len=100, pos=64, align=0:        42.06	       27.61 ( 34.34%)	
             len=64, pos=28, align=0:        24.67	       24.01 (  2.70%)	
             len=28, pos=36, align=0:        14.08	       11.88 ( 15.60%)	
             len=28, pos=64, align=0:        14.04	       11.84 ( 15.71%)	
             len=64, pos=48, align=0:        31.36	       23.90 ( 23.79%)	
            len=112, pos=64, align=0:        46.73	       28.28 ( 39.48%)	
             len=64, pos=16, align=0:        28.18	       25.20 ( 10.57%)	
             len=16, pos=48, align=0:        12.01	       13.56 (-12.91%)	
             len=16, pos=64, align=0:        13.32	       14.25 ( -6.92%)	
             len=64, pos=60, align=0:        30.74	       22.81 ( 25.78%)	
            len=124, pos=64, align=0:        46.64	       28.58 ( 38.73%)	
              len=64, pos=4, align=0:        27.55	       23.16 ( 15.91%)	
              len=4, pos=60, align=0:         7.23	        9.63 (-33.17%)	
              len=4, pos=64, align=0:         9.95	        9.64 (  3.10%)	
             len=64, pos=72, align=0:        30.75	       24.00 ( 21.94%)	
            len=136, pos=64, align=0:        50.22	       31.22 ( 37.84%)	
             len=128, pos=0, align=0:        47.43	       27.68 ( 41.64%)	
           len=128, pos=128, align=0:        57.69	       36.02 ( 37.57%)	
           len=128, pos=128, align=0:        58.52	       33.40 ( 42.92%)	
             len=128, pos=0, align=0:        48.28	       27.69 ( 42.65%)	
           len=128, pos=128, align=0:        54.24	       35.75 ( 34.09%)	
            len=128, pos=12, align=0:        42.41	       29.05 ( 31.51%)	
           len=140, pos=128, align=0:        51.92	       32.37 ( 37.66%)	
           len=128, pos=116, align=0:        53.29	       34.22 ( 35.78%)	
            len=116, pos=12, align=0:        38.03	       25.36 ( 33.32%)	
           len=116, pos=128, align=0:        46.45	       28.80 ( 37.99%)	
            len=128, pos=24, align=0:        38.77	       28.91 ( 25.43%)	
           len=152, pos=128, align=0:        58.76	       34.76 ( 40.84%)	
           len=128, pos=104, align=0:        49.39	       37.16 ( 24.76%)	
            len=104, pos=24, align=0:        31.29	       26.57 ( 15.06%)	
           len=104, pos=128, align=0:        42.40	       25.81 ( 39.12%)	
            len=128, pos=36, align=0:        41.46	       31.24 ( 24.66%)	
           len=164, pos=128, align=0:        62.61	       41.42 ( 33.84%)	
            len=128, pos=92, align=0:        45.95	       33.88 ( 26.27%)	
             len=92, pos=36, align=0:        33.12	       21.65 ( 34.63%)	
            len=92, pos=128, align=0:        35.75	       21.77 ( 39.09%)	
            len=128, pos=48, align=0:        43.98	       32.41 ( 26.30%)	
           len=176, pos=128, align=0:        64.30	       41.51 ( 35.45%)	
            len=128, pos=80, align=0:        47.88	       33.71 ( 29.59%)	
             len=80, pos=48, align=0:        34.28	       21.93 ( 36.03%)	
            len=80, pos=128, align=0:        35.63	       21.68 ( 39.15%)	
            len=128, pos=60, align=0:        40.60	       32.82 ( 19.17%)	
           len=188, pos=128, align=0:        64.64	       40.44 ( 37.43%)	
            len=128, pos=68, align=0:        46.45	       33.62 ( 27.61%)	
             len=68, pos=60, align=0:        30.35	       24.01 ( 20.90%)	
            len=68, pos=128, align=0:        28.92	       21.36 ( 26.14%)	
            len=128, pos=72, align=0:        44.71	       33.22 ( 25.70%)	
           len=200, pos=128, align=0:        65.29	       43.89 ( 32.78%)	
            len=128, pos=56, align=0:        42.88	       33.74 ( 21.32%)	
             len=56, pos=72, align=0:        25.61	       15.61 ( 39.04%)	
            len=56, pos=128, align=0:        23.95	       17.04 ( 28.86%)	
             len=256, pos=0, align=0:        66.86	       39.49 ( 40.94%)	
           len=256, pos=256, align=0:        95.65	       58.77 ( 38.56%)	
           len=256, pos=256, align=0:        95.90	       58.80 ( 38.69%)	
             len=256, pos=0, align=0:        66.40	       41.67 ( 37.24%)	
           len=256, pos=256, align=0:        94.73	       58.84 ( 37.89%)	
            len=256, pos=12, align=0:        66.36	       39.85 ( 39.95%)	
           len=268, pos=256, align=0:        95.65	       58.53 ( 38.81%)	
           len=256, pos=244, align=0:        94.93	       58.66 ( 38.20%)	
            len=244, pos=12, align=0:        63.60	       37.77 ( 40.61%)	
           len=244, pos=256, align=0:        88.76	       54.77 ( 38.30%)	
            len=256, pos=24, align=0:        62.97	       39.85 ( 36.72%)	
           len=280, pos=256, align=0:       101.09	       60.91 ( 39.75%)	
           len=256, pos=232, align=0:        90.51	       59.69 ( 34.05%)	
            len=232, pos=24, align=0:        56.38	       36.00 ( 36.15%)	
           len=232, pos=256, align=0:        85.37	       52.32 ( 38.71%)	
            len=256, pos=36, align=0:        67.20	       41.13 ( 38.80%)	
           len=292, pos=256, align=0:       103.25	       65.68 ( 36.39%)	
           len=256, pos=220, align=0:        88.99	       55.11 ( 38.07%)	
            len=220, pos=36, align=0:        57.31	       35.08 ( 38.79%)	
           len=220, pos=256, align=0:        77.13	       47.99 ( 37.78%)	
            len=256, pos=48, align=0:        68.89	       40.78 ( 40.80%)	
           len=304, pos=256, align=0:       105.82	       67.35 ( 36.36%)	
           len=256, pos=208, align=0:        90.27	       55.18 ( 38.88%)	
            len=208, pos=48, align=0:        59.33	       36.19 ( 39.00%)	
           len=208, pos=256, align=0:        79.14	       48.66 ( 38.51%)	
            len=256, pos=60, align=0:        67.98	       41.92 ( 38.33%)	
           len=316, pos=256, align=0:       105.04	       67.35 ( 35.88%)	
           len=256, pos=196, align=0:        87.88	       55.82 ( 36.48%)	
            len=196, pos=60, align=0:        56.37	       34.81 ( 38.24%)	
           len=196, pos=256, align=0:        74.46	       44.66 ( 40.03%)	
            len=256, pos=72, align=0:        68.62	       44.54 ( 35.10%)	
           len=328, pos=256, align=0:       109.21	       68.51 ( 37.26%)	
           len=256, pos=184, align=0:        83.87	       54.23 ( 35.34%)	
            len=184, pos=72, align=0:        53.25	       34.79 ( 34.66%)	
           len=184, pos=256, align=0:        67.32	       42.34 ( 37.11%)	
             len=512, pos=0, align=0:       116.65	       68.77 ( 41.04%)	
           len=512, pos=512, align=0:       148.06	      121.68 ( 17.82%)	
           len=512, pos=512, align=0:       147.84	      121.94 ( 17.51%)	
             len=512, pos=0, align=0:       117.30	       68.72 ( 41.42%)	
           len=512, pos=512, align=0:       148.44	      121.80 ( 17.94%)	
            len=512, pos=12, align=0:       113.23	       68.74 ( 39.29%)	
           len=524, pos=512, align=0:       147.07	      120.55 ( 18.04%)	
           len=512, pos=500, align=0:       147.20	      110.27 ( 25.09%)	
            len=500, pos=12, align=0:       117.82	       66.62 ( 43.45%)	
           len=500, pos=512, align=0:       145.28	      116.74 ( 19.65%)	
            len=512, pos=24, align=0:       109.94	       67.33 ( 38.76%)	
           len=536, pos=512, align=0:       153.21	      123.94 ( 19.11%)	
           len=512, pos=488, align=0:       144.38	      115.80 ( 19.80%)	
            len=488, pos=24, align=0:       107.71	      114.44 ( -6.26%)	
           len=488, pos=512, align=0:       138.99	      114.08 ( 17.92%)	
            len=512, pos=36, align=0:       118.15	       68.68 ( 41.87%)	
           len=548, pos=512, align=0:       199.51	      129.03 ( 35.33%)	
           len=512, pos=476, align=0:       143.53	      109.78 ( 23.51%)	
            len=476, pos=36, align=0:       110.78	       63.93 ( 42.29%)	
           len=476, pos=512, align=0:       135.07	      108.99 ( 19.31%)	
            len=512, pos=48, align=0:       120.49	       67.42 ( 44.05%)	
           len=560, pos=512, align=0:       159.17	      131.10 ( 17.63%)	
           len=512, pos=464, align=0:       147.11	      109.51 ( 25.56%)	
            len=464, pos=48, align=0:       112.46	       62.81 ( 44.15%)	
           len=464, pos=512, align=0:       133.64	      108.91 ( 18.51%)	
            len=512, pos=60, align=0:       117.40	       67.46 ( 42.54%)	
           len=572, pos=512, align=0:       158.12	      130.74 ( 17.32%)	
           len=512, pos=452, align=0:       145.90	      111.72 ( 23.43%)	
            len=452, pos=60, align=0:       104.52	       60.36 ( 42.25%)	
           len=452, pos=512, align=0:       129.43	      106.82 ( 17.47%)	
            len=512, pos=72, align=0:       120.18	       71.24 ( 40.72%)	
           len=584, pos=512, align=0:       161.39	      131.16 ( 18.73%)	
           len=512, pos=440, align=0:       145.32	      105.83 ( 27.17%)	
            len=440, pos=72, align=0:       100.75	       62.50 ( 37.96%)	
           len=440, pos=512, align=0:       127.66	      101.78 ( 20.27%)	
            len=256, pos=64, align=1:        71.68	       45.16 ( 37.00%)	
            len=256, pos=64, align=1:        70.87	       44.82 ( 36.76%)	
           len=256, pos=64, align=15:        68.80	       44.37 ( 35.51%)	
           len=256, pos=64, align=15:        68.42	       44.27 ( 35.30%)	
            len=256, pos=64, align=2:        72.33	       44.26 ( 38.80%)	
            len=256, pos=64, align=2:        72.59	       47.57 ( 34.47%)	
           len=256, pos=64, align=30:        69.09	       45.17 ( 34.63%)	
           len=256, pos=64, align=30:        68.07	       43.68 ( 35.83%)	
            len=256, pos=64, align=3:        70.87	       44.74 ( 36.87%)	
            len=256, pos=64, align=3:        72.20	       44.26 ( 38.69%)	
           len=256, pos=64, align=45:        70.25	       46.80 ( 33.37%)	
           len=256, pos=64, align=45:        70.80	       44.27 ( 37.47%)	
            len=256, pos=64, align=4:        72.88	       44.70 ( 38.66%)	
            len=256, pos=64, align=4:        72.65	       45.43 ( 37.48%)	
           len=256, pos=64, align=60:        69.59	       42.79 ( 38.51%)	
           len=256, pos=64, align=60:        67.89	       43.84 ( 35.44%)	
            len=256, pos=64, align=5:        72.82	       46.80 ( 35.73%)	
            len=256, pos=64, align=5:        73.02	       44.31 ( 39.32%)	
           len=256, pos=64, align=75:        69.14	       44.79 ( 35.21%)	
           len=256, pos=64, align=75:        69.76	       44.67 ( 35.96%)	
            len=256, pos=64, align=6:        72.85	       44.62 ( 38.75%)	
            len=256, pos=64, align=6:        72.85	       47.11 ( 35.33%)	
           len=256, pos=64, align=90:        66.61	       43.61 ( 34.52%)	
           len=256, pos=64, align=90:        70.76	       43.28 ( 38.83%)	
            len=256, pos=64, align=7:        73.49	       46.80 ( 36.32%)	
            len=256, pos=64, align=7:        73.23	       44.59 ( 39.12%)	
          len=256, pos=64, align=105:        68.22	       47.27 ( 30.71%)	
          len=256, pos=64, align=105:        68.42	       46.48 ( 32.06%)	
               len=1, pos=0, align=0:         7.21	        8.41 (-16.61%)	
               len=1, pos=0, align=0:         7.52	        8.41 (-11.73%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.66%)	
               len=2, pos=1, align=0:         7.20	        8.87 (-23.17%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.67%)	
               len=3, pos=2, align=0:         7.20	        8.73 (-21.24%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.67%)	
               len=4, pos=3, align=0:         7.52	        8.41 (-11.81%)	
               len=5, pos=4, align=0:         7.20	        8.41 (-16.67%)	
               len=5, pos=4, align=0:         7.20	        9.60 (-33.31%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.66%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.67%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.61%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.66%)	
               len=8, pos=7, align=0:        12.01	        8.40 ( 30.01%)	
               len=8, pos=7, align=0:        12.00	        8.40 ( 29.97%)	
               len=9, pos=8, align=0:        10.80	        8.40 ( 22.22%)	
               len=9, pos=8, align=0:        11.13	        9.60 ( 13.72%)	
              len=10, pos=9, align=0:        11.12	        8.40 ( 24.42%)	
              len=10, pos=9, align=0:        10.81	        8.76 ( 18.91%)	
             len=11, pos=10, align=0:        10.80	        8.40 ( 22.19%)	
             len=11, pos=10, align=0:        10.80	        8.40 ( 22.19%)	
             len=12, pos=11, align=0:        10.80	        9.60 ( 11.12%)	
             len=12, pos=11, align=0:        10.81	        8.40 ( 22.25%)	
             len=13, pos=12, align=0:        10.81	        9.60 ( 11.15%)	
             len=13, pos=12, align=0:        12.04	        9.44 ( 21.61%)	
             len=14, pos=13, align=0:        11.62	        9.82 ( 15.56%)	
             len=14, pos=13, align=0:        11.94	        9.54 ( 20.13%)	
             len=15, pos=14, align=0:        11.65	        9.53 ( 18.21%)	
             len=15, pos=14, align=0:        10.81	        8.40 ( 22.22%)	
             len=16, pos=15, align=0:        12.01	       13.24 (-10.26%)	
             len=16, pos=15, align=0:        12.60	       13.55 ( -7.48%)	
             len=17, pos=16, align=0:        13.15	       11.90 (  9.50%)	
             len=17, pos=16, align=0:        12.00	       10.81 (  9.98%)	
             len=18, pos=17, align=0:        12.01	       10.80 ( 10.03%)	
             len=18, pos=17, align=0:        13.22	       11.89 ( 10.00%)	
             len=19, pos=18, align=0:        12.83	       12.16 (  5.21%)	
             len=19, pos=18, align=0:        13.93	       11.16 ( 19.88%)	
             len=20, pos=19, align=0:        13.66	       10.80 ( 20.88%)	
             len=20, pos=19, align=0:        12.00	       10.80 ( 10.00%)	
             len=21, pos=20, align=0:        12.87	       11.92 (  7.38%)	
             len=21, pos=20, align=0:        12.00	       10.80 (  9.99%)	
             len=22, pos=21, align=0:        12.86	       11.93 (  7.23%)	
             len=22, pos=21, align=0:        12.01	       10.80 ( 10.03%)	
             len=23, pos=22, align=0:        12.01	       11.86 (  1.22%)	
             len=23, pos=22, align=0:        12.86	       12.16 (  5.47%)	
             len=24, pos=23, align=0:        16.02	       10.80 ( 32.58%)	
             len=24, pos=23, align=0:        15.31	       11.86 ( 22.53%)	
             len=25, pos=24, align=0:        14.36	       11.79 ( 17.89%)	
             len=25, pos=24, align=0:        13.97	       11.86 ( 15.11%)	
             len=26, pos=25, align=0:        14.05	       11.92 ( 15.13%)	
             len=26, pos=25, align=0:        14.03	       11.90 ( 15.15%)	
             len=27, pos=26, align=0:        14.37	       11.87 ( 17.39%)	
             len=27, pos=26, align=0:        14.03	       12.15 ( 13.44%)	
             len=28, pos=27, align=0:        15.17	       10.80 ( 28.78%)	
             len=28, pos=27, align=0:        14.08	       11.79 ( 16.31%)	
             len=29, pos=28, align=0:        14.12	       11.91 ( 15.64%)	
             len=29, pos=28, align=0:        14.05	       11.90 ( 15.29%)	
             len=30, pos=29, align=0:        14.05	       11.84 ( 15.69%)	
             len=30, pos=29, align=0:        14.05	       12.01 ( 14.52%)	
             len=31, pos=30, align=0:        14.08	       11.99 ( 14.83%)	
             len=31, pos=30, align=0:        14.08	       11.87 ( 15.74%)	
             len=32, pos=31, align=0:        21.22	       19.14 (  9.80%)	
             len=32, pos=31, align=0:        21.12	       19.31 (  8.58%)	
len=4, pos=18446744073709551604, align=0:         9.61	       10.81 (-12.47%)	
              len=20, pos=4, align=0:        15.62	       13.24 ( 15.22%)	
             len=36, pos=20, align=0:        23.45	       18.00 ( 23.21%)	
             len=52, pos=36, align=0:        29.61	       17.09 ( 42.27%)	
             len=68, pos=52, align=0:        34.78	       22.81 ( 34.39%)	
             len=84, pos=68, align=0:        35.99	       21.61 ( 39.95%)	
               len=4, pos=0, align=0:         7.23	        9.61 (-32.84%)	
               len=4, pos=4, align=0:         7.23	        9.60 (-32.87%)	
               len=4, pos=4, align=0:         7.23	        8.40 (-16.28%)	
               len=4, pos=0, align=0:         7.23	        8.76 (-21.24%)	
               len=4, pos=4, align=0:         7.23	        8.40 (-16.23%)	
              len=4, pos=12, align=0:         7.54	        8.40 (-11.50%)	
              len=16, pos=4, align=0:        14.05	       14.26 ( -1.48%)	
              len=4, pos=24, align=0:         7.21	        8.72 (-21.04%)	
              len=28, pos=4, align=0:        14.41	       13.23 (  8.16%)	
              len=4, pos=36, align=0:         7.23	        8.40 (-16.27%)	
              len=40, pos=4, align=0:        22.47	       19.15 ( 14.79%)	
              len=4, pos=48, align=0:         7.23	        8.73 (-20.72%)	
              len=52, pos=4, align=0:        28.44	       18.01 ( 36.68%)	
              len=4, pos=60, align=0:         7.23	        8.43 (-16.64%)	
              len=64, pos=4, align=0:        30.58	       25.52 ( 16.54%)	
              len=4, pos=72, align=0:         7.23	        8.43 (-16.70%)	
              len=76, pos=4, align=0:        25.75	       23.89 (  7.21%)	
               len=8, pos=0, align=0:        12.01	        8.41 ( 29.99%)	
               len=8, pos=8, align=0:        12.32	        9.60 ( 22.08%)	
               len=8, pos=8, align=0:        12.00	        8.72 ( 27.30%)	
               len=8, pos=0, align=0:        12.01	        8.40 ( 30.00%)	
               len=8, pos=8, align=0:        12.00	        8.40 ( 29.97%)	
              len=8, pos=12, align=0:        12.00	        8.40 ( 29.97%)	
              len=20, pos=8, align=0:        14.31	       14.41 ( -0.69%)	
              len=8, pos=24, align=0:        12.36	        8.41 ( 32.00%)	
              len=32, pos=8, align=0:        22.37	       18.01 ( 19.51%)	
              len=8, pos=36, align=0:        12.32	        8.41 ( 31.78%)	
              len=44, pos=8, align=0:        22.06	       18.33 ( 16.91%)	
              len=8, pos=48, align=0:        12.00	        8.41 ( 29.96%)	
              len=56, pos=8, align=0:        24.31	       20.41 ( 16.03%)	
              len=8, pos=60, align=0:        12.36	        8.43 ( 31.81%)	
              len=68, pos=8, align=0:        25.58	       22.81 ( 10.85%)	
              len=8, pos=72, align=0:        12.32	        8.43 ( 31.59%)	
              len=80, pos=8, align=0:        30.81	       22.69 ( 26.35%)	
              len=16, pos=0, align=0:        13.20	       13.23 ( -0.23%)	
             len=16, pos=16, align=0:        12.60	       13.23 ( -4.99%)	
             len=16, pos=16, align=0:        13.24	       13.13 (  0.83%)	
              len=16, pos=0, align=0:        14.88	       13.23 ( 11.06%)	
             len=16, pos=16, align=0:        12.01	       13.23 (-10.20%)	
             len=16, pos=12, align=0:        12.95	       13.82 ( -6.71%)	
             len=28, pos=16, align=0:        16.17	       10.81 ( 33.18%)	
              len=16, pos=4, align=0:        14.46	       13.01 ( 10.02%)	
              len=4, pos=12, align=0:         7.21	        8.40 (-16.65%)	
              len=4, pos=16, align=0:         7.20	        9.60 (-33.31%)	
             len=16, pos=24, align=0:        12.01	       13.23 (-10.21%)	
             len=40, pos=16, align=0:        21.28	       19.01 ( 10.65%)	
             len=16, pos=36, align=0:        12.01	       13.23 (-10.21%)	
             len=52, pos=16, align=0:        22.78	       18.16 ( 20.27%)	
             len=16, pos=48, align=0:        14.34	       13.23 (  7.71%)	
             len=64, pos=16, align=0:        25.32	       23.79 (  6.06%)	
             len=16, pos=60, align=0:        12.01	       13.23 (-10.20%)	
             len=76, pos=16, align=0:        24.85	       23.79 (  4.25%)	
             len=16, pos=72, align=0:        12.01	       13.23 (-10.21%)	
             len=88, pos=16, align=0:        29.86	       23.74 ( 20.48%)	
              len=32, pos=0, align=0:        22.11	       18.00 ( 18.59%)	
             len=32, pos=32, align=0:        18.94	       19.38 ( -2.32%)	
             len=32, pos=32, align=0:        20.23	       18.00 ( 11.00%)	
              len=32, pos=0, align=0:        21.27	       19.04 ( 10.46%)	
             len=32, pos=32, align=0:        18.85	       19.12 ( -1.41%)	
             len=32, pos=12, align=0:        21.26	       19.45 (  8.49%)	
             len=44, pos=32, align=0:        19.97	       15.53 ( 22.24%)	
             len=32, pos=20, align=0:        21.23	       19.43 (  8.48%)	
             len=20, pos=12, align=0:        13.48	       13.08 (  2.96%)	
             len=20, pos=32, align=0:        13.21	       11.80 ( 10.71%)	
             len=32, pos=24, align=0:        18.85	       19.13 ( -1.50%)	
             len=56, pos=32, align=0:        27.14	       17.09 ( 37.02%)	
              len=32, pos=8, align=0:        21.62	       19.07 ( 11.83%)	
              len=8, pos=24, align=0:        12.01	        8.80 ( 26.69%)	
              len=8, pos=32, align=0:        12.00	        9.60 ( 20.00%)	
             len=32, pos=36, align=0:        18.01	       19.35 ( -7.47%)	
             len=68, pos=32, align=0:        30.03	       24.83 ( 17.30%)	
             len=32, pos=48, align=0:        18.86	       19.00 ( -0.74%)	
             len=80, pos=32, align=0:        31.97	       22.84 ( 28.56%)	
             len=32, pos=60, align=0:        18.84	       19.31 ( -2.50%)	
             len=92, pos=32, align=0:        33.14	       21.64 ( 34.70%)	
             len=32, pos=72, align=0:        19.91	       18.01 (  9.55%)	
            len=104, pos=32, align=0:        37.48	       28.73 ( 23.34%)	
              len=64, pos=0, align=0:        27.77	       22.81 ( 17.86%)	
             len=64, pos=64, align=0:        30.79	       22.81 ( 25.91%)	
             len=64, pos=64, align=0:        30.85	       24.00 ( 22.20%)	
              len=64, pos=0, align=0:        27.80	       22.81 ( 17.96%)	
             len=64, pos=64, align=0:        30.76	       22.83 ( 25.78%)	
             len=64, pos=12, align=0:        26.39	       25.20 (  4.51%)	
             len=76, pos=64, align=0:        30.84	       21.61 ( 29.94%)	
             len=64, pos=52, align=0:        32.00	       24.01 ( 24.98%)	
             len=52, pos=12, align=0:        24.69	       18.01 ( 27.02%)	
             len=52, pos=64, align=0:        23.65	       17.37 ( 26.57%)	
             len=64, pos=24, align=0:        24.09	       24.87 ( -3.25%)	
             len=88, pos=64, align=0:        35.71	       21.68 ( 39.29%)	
             len=64, pos=40, align=0:        29.43	       21.61 ( 26.57%)	
             len=40, pos=24, align=0:        18.85	       19.13 ( -1.51%)	
             len=40, pos=64, align=0:        19.99	       15.49 ( 22.55%)	
             len=64, pos=36, align=0:        29.55	       22.70 ( 23.17%)	
            len=100, pos=64, align=0:        41.20	       28.73 ( 30.27%)	
             len=64, pos=28, align=0:        25.10	       22.80 (  9.15%)	
             len=28, pos=36, align=0:        13.61	       11.92 ( 12.44%)	
             len=28, pos=64, align=0:        14.34	       11.92 ( 16.85%)	
             len=64, pos=48, align=0:        31.56	       23.14 ( 26.68%)	
            len=112, pos=64, align=0:        46.38	       28.51 ( 38.52%)	
             len=64, pos=16, align=0:        26.45	       22.80 ( 13.80%)	
             len=16, pos=48, align=0:        12.01	       13.24 (-10.19%)	
             len=16, pos=64, align=0:        12.60	       12.00 (  4.76%)	
             len=64, pos=60, align=0:        29.60	       23.79 ( 19.64%)	
            len=124, pos=64, align=0:        45.87	       28.74 ( 37.33%)	
              len=64, pos=4, align=0:        27.78	       22.80 ( 17.91%)	
              len=4, pos=60, align=0:         7.52	        9.63 (-28.03%)	
              len=4, pos=64, align=0:         7.20	        9.62 (-33.60%)	
             len=64, pos=72, align=0:        30.47	       24.00 ( 21.22%)	
            len=136, pos=64, align=0:        48.55	       33.84 ( 30.30%)	
             len=128, pos=0, align=0:        46.73	       28.01 ( 40.06%)	
           len=128, pos=128, align=0:        55.95	       34.50 ( 38.35%)	
           len=128, pos=128, align=0:        55.78	       34.21 ( 38.67%)	
             len=128, pos=0, align=0:        46.45	       28.80 ( 37.99%)	
           len=128, pos=128, align=0:        55.79	       36.25 ( 35.02%)	
            len=128, pos=12, align=0:        43.12	       28.83 ( 33.15%)	
           len=140, pos=128, align=0:        50.71	       32.78 ( 35.37%)	
           len=128, pos=116, align=0:        53.09	       34.41 ( 35.19%)	
            len=116, pos=12, align=0:        37.29	       25.19 ( 32.46%)	
           len=116, pos=128, align=0:        46.31	       28.70 ( 38.03%)	
            len=128, pos=24, align=0:        39.53	       28.72 ( 27.35%)	
           len=152, pos=128, align=0:        60.00	       35.02 ( 41.63%)	
           len=128, pos=104, align=0:        49.75	       36.81 ( 26.01%)	
            len=104, pos=24, align=0:        32.28	       25.27 ( 21.71%)	
           len=104, pos=128, align=0:        42.78	       25.81 ( 39.67%)	
            len=128, pos=36, align=0:        41.30	       31.25 ( 24.35%)	
           len=164, pos=128, align=0:        62.72	       40.07 ( 36.10%)	
            len=128, pos=92, align=0:        47.24	       35.04 ( 25.84%)	
             len=92, pos=36, align=0:        32.05	       23.02 ( 28.19%)	
            len=92, pos=128, align=0:        34.89	       22.86 ( 34.48%)	
            len=128, pos=48, align=0:        42.60	       33.34 ( 21.72%)	
           len=176, pos=128, align=0:        63.26	       41.86 ( 33.83%)	
            len=128, pos=80, align=0:        48.24	       33.22 ( 31.13%)	
             len=80, pos=48, align=0:        33.70	       22.76 ( 32.45%)	
            len=80, pos=128, align=0:        35.45	       22.81 ( 35.65%)	
            len=128, pos=60, align=0:        42.59	       33.41 ( 21.56%)	
           len=188, pos=128, align=0:        63.30	       41.80 ( 33.97%)	
            len=128, pos=68, align=0:        45.38	       33.18 ( 26.88%)	
             len=68, pos=60, align=0:        29.93	       23.79 ( 20.50%)	
            len=68, pos=128, align=0:        30.73	       21.44 ( 30.25%)	
            len=128, pos=72, align=0:        43.85	       32.32 ( 26.28%)	
           len=200, pos=128, align=0:        66.70	       44.23 ( 33.68%)	
            len=128, pos=56, align=0:        42.74	       33.49 ( 21.65%)	
             len=56, pos=72, align=0:        23.91	       16.62 ( 30.49%)	
            len=56, pos=128, align=0:        23.49	       16.86 ( 28.22%)	
             len=256, pos=0, align=0:        66.14	       39.90 ( 39.67%)	
           len=256, pos=256, align=0:        93.58	       58.72 ( 37.25%)	
           len=256, pos=256, align=0:        93.91	       58.63 ( 37.57%)	
             len=256, pos=0, align=0:        65.54	       39.59 ( 39.60%)	
           len=256, pos=256, align=0:        93.88	       58.45 ( 37.74%)	
            len=256, pos=12, align=0:        66.88	       39.62 ( 40.76%)	
           len=268, pos=256, align=0:        94.26	       58.41 ( 38.04%)	
           len=256, pos=244, align=0:        95.14	       58.54 ( 38.47%)	
            len=244, pos=12, align=0:        65.99	       37.84 ( 42.66%)	
           len=244, pos=256, align=0:        88.68	       54.86 ( 38.13%)	
            len=256, pos=24, align=0:        62.32	       38.71 ( 37.89%)	
           len=280, pos=256, align=0:       100.99	       60.74 ( 39.86%)	
           len=256, pos=232, align=0:        91.32	       59.64 ( 34.69%)	
            len=232, pos=24, align=0:        55.98	       35.86 ( 35.94%)	
           len=232, pos=256, align=0:        84.26	       52.24 ( 38.00%)	
            len=256, pos=36, align=0:        68.08	       41.04 ( 39.72%)	
           len=292, pos=256, align=0:       103.21	       65.60 ( 36.44%)	
           len=256, pos=220, align=0:        90.05	       54.36 ( 39.63%)	
            len=220, pos=36, align=0:        58.69	       33.97 ( 42.12%)	
           len=220, pos=256, align=0:        79.59	       47.03 ( 40.91%)	
            len=256, pos=48, align=0:        68.67	       40.95 ( 40.38%)	
           len=304, pos=256, align=0:       105.81	       67.41 ( 36.29%)	
           len=256, pos=208, align=0:        91.21	       55.82 ( 38.80%)	
            len=208, pos=48, align=0:        59.20	       36.28 ( 38.72%)	
           len=208, pos=256, align=0:        78.29	       48.67 ( 37.84%)	
            len=256, pos=60, align=0:        67.05	       40.77 ( 39.20%)	
           len=316, pos=256, align=0:       106.12	       67.40 ( 36.49%)	
           len=256, pos=196, align=0:        86.77	       55.90 ( 35.58%)	
            len=196, pos=60, align=0:        56.21	       36.63 ( 34.83%)	
           len=196, pos=256, align=0:        73.16	       45.18 ( 38.24%)	
            len=256, pos=72, align=0:        67.65	       44.32 ( 34.49%)	
           len=328, pos=256, align=0:       109.45	       68.49 ( 37.42%)	
           len=256, pos=184, align=0:        84.01	       53.58 ( 36.22%)	
            len=184, pos=72, align=0:        54.13	       35.46 ( 34.49%)	
           len=184, pos=256, align=0:        67.21	       42.36 ( 36.97%)	
             len=512, pos=0, align=0:       115.85	       68.59 ( 40.79%)	
           len=512, pos=512, align=0:       180.79	      110.05 ( 39.13%)	
           len=512, pos=512, align=0:       180.70	      110.01 ( 39.12%)	
             len=512, pos=0, align=0:       116.20	       69.47 ( 40.22%)	
           len=512, pos=512, align=0:       180.53	      110.28 ( 38.91%)	
            len=512, pos=12, align=0:       121.00	       68.68 ( 43.24%)	
           len=524, pos=512, align=0:       182.37	      109.47 ( 39.97%)	
           len=512, pos=500, align=0:       180.79	      110.28 ( 39.00%)	
            len=500, pos=12, align=0:       114.71	       66.62 ( 41.92%)	
           len=500, pos=512, align=0:       175.38	      105.91 ( 39.61%)	
            len=512, pos=24, align=0:       111.99	       67.39 ( 39.82%)	
           len=536, pos=512, align=0:       186.83	      111.96 ( 40.07%)	
           len=512, pos=488, align=0:       178.12	      110.47 ( 37.98%)	
            len=488, pos=24, align=0:       107.57	       63.47 ( 41.00%)	
           len=488, pos=512, align=0:       169.92	      103.12 ( 39.31%)	
            len=512, pos=36, align=0:       118.69	       68.75 ( 42.07%)	
           len=548, pos=512, align=0:       190.21	      117.03 ( 38.47%)	
           len=512, pos=476, align=0:       175.72	      106.62 ( 39.33%)	
            len=476, pos=36, align=0:       111.34	       63.78 ( 42.71%)	
           len=476, pos=512, align=0:       165.67	       99.46 ( 39.97%)	
            len=512, pos=48, align=0:       120.52	       67.50 ( 43.99%)	
           len=560, pos=512, align=0:       191.99	      119.19 ( 37.92%)	
           len=512, pos=464, align=0:       176.69	      106.73 ( 39.60%)	
            len=464, pos=48, align=0:       111.88	       62.28 ( 44.33%)	
           len=464, pos=512, align=0:       166.24	      100.10 ( 39.78%)	
            len=512, pos=60, align=0:       116.91	       67.48 ( 42.28%)	
           len=572, pos=512, align=0:       193.07	      119.02 ( 38.35%)	
           len=512, pos=452, align=0:       174.75	      106.82 ( 38.87%)	
            len=452, pos=60, align=0:       104.87	       60.02 ( 42.77%)	
           len=452, pos=512, align=0:       160.25	       96.17 ( 39.99%)	
            len=512, pos=72, align=0:       120.28	       71.16 ( 40.84%)	
           len=584, pos=512, align=0:       196.24	      119.88 ( 38.91%)	
           len=512, pos=440, align=0:       170.27	      102.28 ( 39.93%)	
            len=440, pos=72, align=0:       101.48	       62.65 ( 38.26%)	
           len=440, pos=512, align=0:       153.98	       92.91 ( 39.66%)	
            len=256, pos=64, align=1:        74.14	       47.91 ( 35.39%)	
            len=256, pos=64, align=1:        74.26	       44.38 ( 40.24%)	
           len=256, pos=64, align=15:        69.46	       44.39 ( 36.09%)	
           len=256, pos=64, align=15:        69.59	       47.79 ( 31.33%)	
            len=256, pos=64, align=2:        71.69	       47.19 ( 34.17%)	
            len=256, pos=64, align=2:        72.10	       46.60 ( 35.36%)	
           len=256, pos=64, align=30:        67.40	       43.74 ( 35.10%)	
           len=256, pos=64, align=30:        67.29	       43.35 ( 35.57%)	
            len=256, pos=64, align=3:        70.56	       44.34 ( 37.17%)	
            len=256, pos=64, align=3:        69.69	       44.39 ( 36.31%)	
           len=256, pos=64, align=45:        69.37	       47.51 ( 31.52%)	
           len=256, pos=64, align=45:        69.86	       45.37 ( 35.05%)	
            len=256, pos=64, align=4:        71.22	       46.09 ( 35.28%)	
            len=256, pos=64, align=4:        72.12	       45.12 ( 37.44%)	
           len=256, pos=64, align=60:        68.33	       43.54 ( 36.29%)	
           len=256, pos=64, align=60:        70.34	       43.61 ( 38.00%)	
            len=256, pos=64, align=5:        70.39	       45.85 ( 34.86%)	
            len=256, pos=64, align=5:        72.15	       45.69 ( 36.68%)	
           len=256, pos=64, align=75:        71.51	       46.74 ( 34.63%)	
           len=256, pos=64, align=75:        70.68	       45.94 ( 35.01%)	
            len=256, pos=64, align=6:        70.62	       45.27 ( 35.90%)	
            len=256, pos=64, align=6:        71.44	       44.39 ( 37.86%)	
           len=256, pos=64, align=90:        68.54	       43.28 ( 36.86%)	
           len=256, pos=64, align=90:        70.16	       43.29 ( 38.30%)	
            len=256, pos=64, align=7:        71.82	       47.64 ( 33.67%)	
            len=256, pos=64, align=7:        71.74	       46.98 ( 34.51%)	
          len=256, pos=64, align=105:        69.80	       46.15 ( 33.89%)	
          len=256, pos=64, align=105:        70.38	       47.12 ( 33.04%)	
               len=1, pos=0, align=0:         7.21	        8.41 (-16.60%)	
               len=1, pos=0, align=0:         7.20	        8.40 (-16.66%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.67%)	
               len=2, pos=1, align=0:         7.20	        8.40 (-16.67%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.66%)	
               len=3, pos=2, align=0:         7.20	        8.40 (-16.67%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.67%)	
               len=4, pos=3, align=0:         7.20	        8.40 (-16.66%)	
               len=5, pos=4, align=0:         7.20	        8.40 (-16.67%)	
               len=5, pos=4, align=0:         7.20	        8.73 (-21.19%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.66%)	
               len=6, pos=5, align=0:         7.20	        8.40 (-16.70%)	
               len=7, pos=6, align=0:         7.20	        8.77 (-21.73%)	
               len=7, pos=6, align=0:         7.20	        8.40 (-16.67%)	
               len=8, pos=7, align=0:        12.01	        9.60 ( 20.07%)	
               len=8, pos=7, align=0:        12.00	        9.60 ( 20.01%)	
               len=9, pos=8, align=0:        11.20	        8.40 ( 24.93%)	
               len=9, pos=8, align=0:        10.81	        8.73 ( 19.18%)	
              len=10, pos=9, align=0:        10.81	        8.40 ( 22.22%)	
              len=10, pos=9, align=0:        10.81	        8.40 ( 22.25%)	
             len=11, pos=10, align=0:        10.81	        8.40 ( 22.25%)	
             len=11, pos=10, align=0:        10.81	        8.40 ( 22.25%)	
             len=12, pos=11, align=0:        10.81	        8.40 ( 22.25%)	
             len=12, pos=11, align=0:        10.81	        8.40 ( 22.25%)	
             len=13, pos=12, align=0:        10.81	        8.40 ( 22.25%)	
             len=13, pos=12, align=0:        10.81	        8.40 ( 22.25%)	
             len=14, pos=13, align=0:        10.81	        8.40 ( 22.22%)	
             len=14, pos=13, align=0:        10.81	        8.40 ( 22.25%)	
             len=15, pos=14, align=0:        11.67	        9.51 ( 18.51%)	
             len=15, pos=14, align=0:        12.00	        8.41 ( 29.96%)	
             len=16, pos=15, align=0:        14.31	       13.24 (  7.47%)	
             len=16, pos=15, align=0:        12.60	       13.23 ( -5.01%)	
             len=17, pos=16, align=0:        12.01	       10.80 ( 10.03%)	
             len=17, pos=16, align=0:        13.23	       11.91 ( 10.04%)	
             len=18, pos=17, align=0:        12.00	       10.80 (  9.99%)	
             len=18, pos=17, align=0:        12.01	       10.80 ( 10.01%)	
             len=19, pos=18, align=0:        13.02	       11.85 (  8.93%)	
             len=19, pos=18, align=0:        12.01	       10.80 ( 10.01%)	
             len=20, pos=19, align=0:        13.28	       11.79 ( 11.28%)	
             len=20, pos=19, align=0:        12.88	       11.88 (  7.78%)	
             len=21, pos=20, align=0:        12.89	       11.97 (  7.13%)	
             len=21, pos=20, align=0:        12.89	       11.91 (  7.61%)	
             len=22, pos=21, align=0:        13.16	       11.90 (  9.58%)	
             len=22, pos=21, align=0:        12.86	       11.86 (  7.76%)	
             len=23, pos=22, align=0:        12.89	       11.93 (  7.49%)	
             len=23, pos=22, align=0:        12.01	       10.80 ( 10.01%)	
             len=24, pos=23, align=0:        16.43	       10.80 ( 34.26%)	
             len=24, pos=23, align=0:        15.56	       11.90 ( 23.55%)	
             len=25, pos=24, align=0:        14.57	       11.17 ( 23.29%)	
             len=25, pos=24, align=0:        14.06	       11.87 ( 15.59%)	
             len=26, pos=25, align=0:        14.04	       11.90 ( 15.29%)	
             len=26, pos=25, align=0:        14.30	       11.83 ( 17.22%)	
             len=27, pos=26, align=0:        15.05	       11.16 ( 25.81%)	
             len=27, pos=26, align=0:        14.10	       11.87 ( 15.79%)	
             len=28, pos=27, align=0:        14.07	       11.87 ( 15.69%)	
             len=28, pos=27, align=0:        13.99	       11.86 ( 15.21%)	
             len=29, pos=28, align=0:        14.06	       11.89 ( 15.42%)	
             len=29, pos=28, align=0:        14.06	       11.91 ( 15.29%)	
             len=30, pos=29, align=0:        14.17	       11.85 ( 16.40%)	
             len=30, pos=29, align=0:        14.10	       11.91 ( 15.55%)	
             len=31, pos=30, align=0:        14.00	       11.80 ( 15.77%)	
             len=31, pos=30, align=0:        14.08	       11.93 ( 15.31%)	
             len=32, pos=31, align=0:        21.13	       19.07 (  9.74%)	
             len=32, pos=31, align=0:        21.25	       19.00 ( 10.59%)	
len=4, pos=18446744073709551604, align=0:         9.61	       10.81 (-12.49%)	
              len=20, pos=4, align=0:        14.07	       13.20 (  6.15%)	
             len=36, pos=20, align=0:        22.59	       19.07 ( 15.60%)	
             len=52, pos=36, align=0:        29.65	       16.74 ( 43.53%)	
             len=68, pos=52, align=0:        33.76	       25.12 ( 25.58%)	
             len=84, pos=68, align=0:        35.34	       22.83 ( 35.38%)	
               len=4, pos=0, align=0:         7.21	        8.43 (-17.02%)	
               len=4, pos=4, align=0:         7.20	        9.63 (-33.62%)	
               len=4, pos=4, align=0:         7.20	        9.63 (-33.64%)	
               len=4, pos=0, align=0:         7.20	        9.62 (-33.64%)	
               len=4, pos=4, align=0:         7.20	        9.63 (-33.64%)	
              len=4, pos=12, align=0:         7.20	        8.74 (-21.35%)	
              len=16, pos=4, align=0:        14.57	       13.05 ( 10.46%)	
              len=4, pos=24, align=0:         7.23	        8.41 (-16.32%)	
              len=28, pos=4, align=0:        15.31	       13.02 ( 14.93%)	
              len=4, pos=36, align=0:         7.23	        8.41 (-16.30%)	
              len=40, pos=4, align=0:        22.82	       19.03 ( 16.62%)	
              len=4, pos=48, align=0:         7.23	        8.43 (-16.65%)	
              len=52, pos=4, align=0:        29.40	       18.01 ( 38.74%)	
              len=4, pos=60, align=0:         7.23	        8.43 (-16.65%)	
              len=64, pos=4, align=0:        30.39	       25.21 ( 17.04%)	
              len=4, pos=72, align=0:         7.23	        8.43 (-16.59%)	
              len=76, pos=4, align=0:        27.00	       23.89 ( 11.50%)	
               len=8, pos=0, align=0:        12.32	        8.43 ( 31.58%)	
               len=8, pos=8, align=0:        12.00	        8.74 ( 27.14%)	
               len=8, pos=8, align=0:        12.01	        8.43 ( 29.76%)	
               len=8, pos=0, align=0:        12.01	        8.43 ( 29.78%)	
               len=8, pos=8, align=0:        12.01	        8.43 ( 29.79%)	
              len=8, pos=12, align=0:        12.32	        9.63 ( 21.86%)	
              len=20, pos=8, align=0:        13.50	       13.09 (  3.05%)	
              len=8, pos=24, align=0:        12.01	        9.63 ( 19.82%)	
              len=32, pos=8, align=0:        22.20	       18.36 ( 17.29%)	
              len=8, pos=36, align=0:        12.00	        9.94 ( 17.22%)	
              len=44, pos=8, align=0:        21.97	       18.01 ( 18.04%)	
              len=8, pos=48, align=0:        12.00	        9.63 ( 19.80%)	
              len=56, pos=8, align=0:        23.17	       19.49 ( 15.87%)	
              len=8, pos=60, align=0:        12.00	        9.61 ( 19.94%)	
              len=68, pos=8, align=0:        24.92	       25.72 ( -3.20%)	
              len=8, pos=72, align=0:        12.01	        9.95 ( 17.11%)	
              len=80, pos=8, align=0:        30.21	       25.14 ( 16.77%)	
              len=16, pos=0, align=0:        13.21	       12.01 (  9.08%)	
             len=16, pos=16, align=0:        12.60	       12.00 (  4.77%)	
             len=16, pos=16, align=0:        13.49	       14.26 ( -5.77%)	
              len=16, pos=0, align=0:        14.01	       14.26 ( -1.82%)	
             len=16, pos=16, align=0:        12.01	       13.23 (-10.22%)	
             len=16, pos=12, align=0:        12.00	       13.23 (-10.27%)	
             len=28, pos=16, align=0:        15.41	       11.95 ( 22.43%)	
              len=16, pos=4, align=0:        14.20	       14.58 ( -2.71%)	
              len=4, pos=12, align=0:         7.23	        9.63 (-33.25%)	
              len=4, pos=16, align=0:         7.23	        9.63 (-33.23%)	
             len=16, pos=24, align=0:        12.85	       14.20 (-10.56%)	
             len=40, pos=16, align=0:        21.15	       19.05 (  9.93%)	
             len=16, pos=36, align=0:        12.01	       13.23 (-10.20%)	
             len=52, pos=16, align=0:        23.11	       18.25 ( 21.05%)	
             len=16, pos=48, align=0:        12.92	       13.04 ( -0.95%)	
             len=64, pos=16, align=0:        25.68	       23.81 (  7.28%)	
             len=16, pos=60, align=0:        12.60	       13.24 ( -5.03%)	
             len=76, pos=16, align=0:        24.84	       23.81 (  4.18%)	
             len=16, pos=72, align=0:        12.01	       13.23 (-10.23%)	
             len=88, pos=16, align=0:        30.52	       21.47 ( 29.67%)	
              len=32, pos=0, align=0:        22.00	       21.61 (  1.81%)	
             len=32, pos=32, align=0:        18.85	       19.46 ( -3.24%)	
             len=32, pos=32, align=0:        20.28	       18.01 ( 11.20%)	
              len=32, pos=0, align=0:        22.09	       18.00 ( 18.51%)	
             len=32, pos=32, align=0:        18.87	       19.12 ( -1.36%)	
             len=32, pos=12, align=0:        21.29	       19.47 (  8.55%)	
             len=44, pos=32, align=0:        20.01	       15.52 ( 22.44%)	
             len=32, pos=20, align=0:        21.31	       19.45 (  8.72%)	
             len=20, pos=12, align=0:        14.69	       13.55 (  7.73%)	
             len=20, pos=32, align=0:        12.86	       11.90 (  7.48%)	
             len=32, pos=24, align=0:        18.90	       19.39 ( -2.62%)	
             len=56, pos=32, align=0:        28.13	       15.61 ( 44.52%)	
              len=32, pos=8, align=0:        21.22	       19.10 ( 10.00%)	
              len=8, pos=24, align=0:        12.01	        9.62 ( 19.86%)	
              len=8, pos=32, align=0:        12.00	        9.62 ( 19.81%)	
             len=32, pos=36, align=0:        18.76	       19.00 ( -1.27%)	
             len=68, pos=32, align=0:        29.52	       23.98 ( 18.75%)	
             len=32, pos=48, align=0:        19.14	       19.14 (  0.02%)	
             len=80, pos=32, align=0:        33.45	       21.64 ( 35.31%)	
             len=32, pos=60, align=0:        18.76	       19.04 ( -1.52%)	
             len=92, pos=32, align=0:        31.20	       23.09 ( 26.02%)	
             len=32, pos=72, align=0:        19.12	       19.02 (  0.54%)	
            len=104, pos=32, align=0:        37.72	       29.05 ( 22.98%)	
              len=64, pos=0, align=0:        27.66	       24.20 ( 12.54%)	
             len=64, pos=64, align=0:        29.54	       24.23 ( 17.97%)	
             len=64, pos=64, align=0:        29.59	       25.03 ( 15.41%)	
              len=64, pos=0, align=0:        26.53	       24.14 (  9.00%)	
             len=64, pos=64, align=0:        29.66	       25.04 ( 15.56%)	
             len=64, pos=12, align=0:        24.78	       24.18 (  2.41%)	
             len=76, pos=64, align=0:        29.64	       22.88 ( 22.83%)	
             len=64, pos=52, align=0:        30.86	       25.36 ( 17.84%)	
             len=52, pos=12, align=0:        23.62	       19.14 ( 18.95%)	
             len=52, pos=64, align=0:        23.95	       16.76 ( 30.05%)	
             len=64, pos=24, align=0:        24.04	       23.77 (  1.13%)	
             len=88, pos=64, align=0:        35.50	       22.80 ( 35.78%)	
             len=64, pos=40, align=0:        28.71	       23.90 ( 16.76%)	
             len=40, pos=24, align=0:        18.89	       19.04 ( -0.81%)	
             len=40, pos=64, align=0:        20.02	       15.55 ( 22.32%)	
             len=64, pos=36, align=0:        29.84	       22.75 ( 23.74%)	
            len=100, pos=64, align=0:        40.69	       30.54 ( 24.96%)	
             len=64, pos=28, align=0:        23.99	       26.21 ( -9.22%)	
             len=28, pos=36, align=0:        15.22	       11.14 ( 26.81%)	
             len=28, pos=64, align=0:        14.07	       11.80 ( 16.13%)	
             len=64, pos=48, align=0:        30.85	       23.81 ( 22.84%)	
            len=112, pos=64, align=0:        45.76	       29.16 ( 36.28%)	
             len=64, pos=16, align=0:        27.00	       24.10 ( 10.77%)	
             len=16, pos=48, align=0:        12.86	       14.26 (-10.90%)	
             len=16, pos=64, align=0:        12.60	       13.23 ( -5.00%)	
             len=64, pos=60, align=0:        29.67	       23.83 ( 19.71%)	
            len=124, pos=64, align=0:        45.84	       28.77 ( 37.24%)	
              len=64, pos=4, align=0:        27.80	       25.21 (  9.34%)	
              len=4, pos=60, align=0:         7.23	        8.73 (-20.84%)	
              len=4, pos=64, align=0:         7.23	        8.41 (-16.33%)	
             len=64, pos=72, align=0:        29.93	       23.91 ( 20.11%)	
            len=136, pos=64, align=0:        49.21	       32.84 ( 33.27%)	
             len=128, pos=0, align=0:        44.77	       27.69 ( 38.16%)	
           len=128, pos=128, align=0:        58.53	       37.46 ( 35.99%)	
           len=128, pos=128, align=0:        57.28	       34.45 ( 39.86%)	
             len=128, pos=0, align=0:        42.55	       29.03 ( 31.76%)	
           len=128, pos=128, align=0:        56.40	       34.25 ( 39.27%)	
            len=128, pos=12, align=0:        42.59	       28.89 ( 32.17%)	
           len=140, pos=128, align=0:        51.94	       32.64 ( 37.16%)	
           len=128, pos=116, align=0:        53.33	       34.53 ( 35.25%)	
            len=116, pos=12, align=0:        37.52	       25.04 ( 33.26%)	
           len=116, pos=128, align=0:        46.38	       28.80 ( 37.90%)	
            len=128, pos=24, align=0:        41.16	       28.71 ( 30.24%)	
           len=152, pos=128, align=0:        58.81	       35.15 ( 40.23%)	
           len=128, pos=104, align=0:        49.40	       35.33 ( 28.48%)	
            len=104, pos=24, align=0:        31.28	       26.29 ( 15.95%)	
           len=104, pos=128, align=0:        41.36	       27.88 ( 32.61%)	
            len=128, pos=36, align=0:        41.39	       31.42 ( 24.07%)	
           len=164, pos=128, align=0:        62.38	       42.06 ( 32.57%)	
            len=128, pos=92, align=0:        47.10	       32.73 ( 30.52%)	
             len=92, pos=36, align=0:        32.13	       22.74 ( 29.22%)	
            len=92, pos=128, align=0:        34.62	       22.90 ( 33.85%)	
            len=128, pos=48, align=0:        42.58	       33.73 ( 20.79%)	
           len=176, pos=128, align=0:        63.51	       41.98 ( 33.90%)	
            len=128, pos=80, align=0:        47.35	       34.11 ( 27.98%)	
             len=80, pos=48, align=0:        33.79	       22.65 ( 32.97%)	
            len=80, pos=128, align=0:        34.75	       22.74 ( 34.56%)	
            len=128, pos=60, align=0:        41.57	       33.35 ( 19.78%)	
           len=188, pos=128, align=0:        62.73	       41.68 ( 33.56%)	
            len=128, pos=68, align=0:        45.70	       32.39 ( 29.12%)	
             len=68, pos=60, align=0:        29.59	       24.22 ( 18.14%)	
            len=68, pos=128, align=0:        30.09	       21.43 ( 28.80%)	
            len=128, pos=72, align=0:        43.76	       34.22 ( 21.81%)	
           len=200, pos=128, align=0:        65.89	       45.00 ( 31.70%)	
            len=128, pos=56, align=0:        41.33	       33.74 ( 18.36%)	
             len=56, pos=72, align=0:        25.65	       16.63 ( 35.15%)	
            len=56, pos=128, align=0:        24.05	       16.85 ( 29.96%)	
             len=256, pos=0, align=0:        66.30	       39.53 ( 40.37%)	
           len=256, pos=256, align=0:        92.98	       58.80 ( 36.75%)	
           len=256, pos=256, align=0:        93.77	       58.70 ( 37.40%)	
             len=256, pos=0, align=0:        66.18	       39.85 ( 39.79%)	
           len=256, pos=256, align=0:        93.81	       58.82 ( 37.29%)	
            len=256, pos=12, align=0:        73.08	       39.59 ( 45.83%)	
           len=268, pos=256, align=0:        94.69	       58.23 ( 38.51%)	
           len=256, pos=244, align=0:        94.29	       58.43 ( 38.03%)	
            len=244, pos=12, align=0:        66.03	       37.65 ( 42.98%)	
           len=244, pos=256, align=0:        88.71	       54.87 ( 38.15%)	
            len=256, pos=24, align=0:        63.01	       38.61 ( 38.73%)	
           len=280, pos=256, align=0:       100.43	       60.61 ( 39.65%)	
           len=256, pos=232, align=0:        91.22	       59.62 ( 34.64%)	
            len=232, pos=24, align=0:        56.83	       35.96 ( 36.73%)	
           len=232, pos=256, align=0:        85.40	       52.30 ( 38.76%)	
            len=256, pos=36, align=0:        67.04	       41.68 ( 37.82%)	
           len=292, pos=256, align=0:       103.11	       72.10 ( 30.07%)	
           len=256, pos=220, align=0:        88.69	       55.46 ( 37.47%)	
            len=220, pos=36, align=0:        56.99	       35.10 ( 38.40%)	
           len=220, pos=256, align=0:        77.99	       48.15 ( 38.26%)	
            len=256, pos=48, align=0:        68.74	       40.76 ( 40.70%)	
           len=304, pos=256, align=0:       104.91	       67.35 ( 35.80%)	
           len=256, pos=208, align=0:        90.01	       55.51 ( 38.34%)	
            len=208, pos=48, align=0:        59.35	       36.30 ( 38.83%)	
           len=208, pos=256, align=0:        78.12	       48.62 ( 37.77%)	
            len=256, pos=60, align=0:        67.06	       40.74 ( 39.24%)	
           len=316, pos=256, align=0:       106.12	       67.35 ( 36.54%)	
           len=256, pos=196, align=0:        87.55	       55.83 ( 36.23%)	
            len=196, pos=60, align=0:        55.54	       36.42 ( 34.42%)	
           len=196, pos=256, align=0:        73.09	       45.69 ( 37.49%)	
            len=256, pos=72, align=0:        68.60	       44.30 ( 35.42%)	
           len=328, pos=256, align=0:       110.65	       68.64 ( 37.97%)	
           len=256, pos=184, align=0:        84.00	       53.07 ( 36.82%)	
            len=184, pos=72, align=0:        54.81	       35.20 ( 35.77%)	
           len=184, pos=256, align=0:        67.24	       42.42 ( 36.91%)	
             len=512, pos=0, align=0:       116.59	       68.70 ( 41.07%)	
           len=512, pos=512, align=0:       180.91	      109.96 ( 39.22%)	
           len=512, pos=512, align=0:       180.99	      109.99 ( 39.23%)	
             len=512, pos=0, align=0:       116.78	       68.59 ( 41.26%)	
           len=512, pos=512, align=0:       179.67	      110.35 ( 38.58%)	
            len=512, pos=12, align=0:       121.78	       68.71 ( 43.58%)	
           len=524, pos=512, align=0:       181.53	      109.86 ( 39.48%)	
           len=512, pos=500, align=0:       182.18	      110.30 ( 39.46%)	
            len=500, pos=12, align=0:       117.79	       66.70 ( 43.37%)	
           len=500, pos=512, align=0:       176.70	      105.78 ( 40.14%)	
            len=512, pos=24, align=0:       113.98	       67.64 ( 40.66%)	
           len=536, pos=512, align=0:       186.56	      112.21 ( 39.85%)	
           len=512, pos=488, align=0:       179.11	      110.32 ( 38.41%)	
            len=488, pos=24, align=0:       108.11	       63.80 ( 40.99%)	
           len=488, pos=512, align=0:       171.80	      103.11 ( 39.98%)	
            len=512, pos=36, align=0:       119.27	       68.76 ( 42.35%)	
           len=548, pos=512, align=0:       190.22	      117.22 ( 38.38%)	
           len=512, pos=476, align=0:       177.09	      105.39 ( 40.49%)	
            len=476, pos=36, align=0:       108.46	       63.95 ( 41.04%)	
           len=476, pos=512, align=0:       164.99	       99.77 ( 39.53%)	
            len=512, pos=48, align=0:       120.43	       67.45 ( 43.99%)	
           len=560, pos=512, align=0:       192.24	      119.70 ( 37.74%)	
           len=512, pos=464, align=0:       176.08	      106.85 ( 39.32%)	
            len=464, pos=48, align=0:       110.44	       62.59 ( 43.32%)	
           len=464, pos=512, align=0:       167.49	       99.68 ( 40.49%)	
            len=512, pos=60, align=0:       117.56	       67.81 ( 42.32%)	
           len=572, pos=512, align=0:       192.66	      119.08 ( 38.19%)	
           len=512, pos=452, align=0:       174.32	      106.83 ( 38.71%)	
            len=452, pos=60, align=0:       107.50	       60.29 ( 43.92%)	
           len=452, pos=512, align=0:       159.98	       96.78 ( 39.51%)	
            len=512, pos=72, align=0:       119.48	       71.11 ( 40.49%)	
           len=584, pos=512, align=0:       196.59	      120.08 ( 38.92%)	
           len=512, pos=440, align=0:       169.90	      102.48 ( 39.68%)	
            len=440, pos=72, align=0:       100.85	       62.64 ( 37.89%)	
           len=440, pos=512, align=0:       154.43	       93.17 ( 39.67%)	

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] x86_64: Implement evex512 version of strrchr and wcsrchr
  2022-11-03 20:08 [PATCH v2] x86_64: Implement evex512 version of strrchr and wcsrchr Sunil K Pandey
  2022-11-03 22:45 ` Sunil Pandey
@ 2022-11-03 22:47 ` Noah Goldstein
  1 sibling, 0 replies; 3+ messages in thread
From: Noah Goldstein @ 2022-11-03 22:47 UTC (permalink / raw)
  To: Sunil K Pandey; +Cc: libc-alpha

On Thu, Nov 3, 2022 at 1:08 PM Sunil K Pandey via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> Changes from v1:
>   Use vec api for register.
>   Replace VPCMP with VPCMPEQ
>   Restructure and remove 1 unconditional jump.
>   Change page cross logic to use sall.
>
> This patch implements following evex512 version of string functions.
> evex512 version takes up to 30% less cycle as compared to evex,
> depending on length and alignment.
>
> - strrchr function using 512 bit vectors.
> - wcsrchr function using 512 bit vectors.
>
> Code size data:
>
> strrchr-evex.o          879 byte
> strrchr-evex512.o       601 byte (-32%)
>
> wcsrchr-evex.o          882 byte
> wcsrchr-evex512.o       572 byte (-35%)
>
> Placeholder function, not used by any processor at the moment.
> ---
>  sysdeps/x86_64/multiarch/Makefile            |   2 +
>  sysdeps/x86_64/multiarch/ifunc-impl-list.c   |  10 +
>  sysdeps/x86_64/multiarch/strrchr-evex-base.S | 264 +++++++++++++++++++
>  sysdeps/x86_64/multiarch/strrchr-evex512.S   |   8 +
>  sysdeps/x86_64/multiarch/wcsrchr-evex512.S   |  13 +
>  5 files changed, 297 insertions(+)
>  create mode 100644 sysdeps/x86_64/multiarch/strrchr-evex-base.S
>  create mode 100644 sysdeps/x86_64/multiarch/strrchr-evex512.S
>  create mode 100644 sysdeps/x86_64/multiarch/wcsrchr-evex512.S
>
> diff --git a/sysdeps/x86_64/multiarch/Makefile b/sysdeps/x86_64/multiarch/Makefile
> index 597ac9d5e9..066bfa48d9 100644
> --- a/sysdeps/x86_64/multiarch/Makefile
> +++ b/sysdeps/x86_64/multiarch/Makefile
> @@ -114,6 +114,7 @@ sysdep_routines += \
>    strrchr-avx2 \
>    strrchr-avx2-rtm \
>    strrchr-evex \
> +  strrchr-evex512 \
>    strrchr-sse2 \
>    strspn-sse4 \
>    strstr-avx512 \
> @@ -157,6 +158,7 @@ sysdep_routines += \
>    wcsrchr-avx2 \
>    wcsrchr-avx2-rtm \
>    wcsrchr-evex \
> +  wcsrchr-evex512 \
>    wcsrchr-sse2 \
>    wmemchr-avx2 \
>    wmemchr-avx2-rtm \
> diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
> index c3d75a09f4..7cebee7ec7 100644
> --- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
> +++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
> @@ -600,6 +600,11 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
>                                       && CPU_FEATURE_USABLE (BMI1)
>                                       && CPU_FEATURE_USABLE (BMI2)),
>                                      __strrchr_evex)
> +             X86_IFUNC_IMPL_ADD_V4 (array, i, strrchr,
> +                                    (CPU_FEATURE_USABLE (AVX512VL)
> +                                     && CPU_FEATURE_USABLE (AVX512BW)
> +                                     && CPU_FEATURE_USABLE (BMI2)),
> +                                    __strrchr_evex512)
>               X86_IFUNC_IMPL_ADD_V3 (array, i, strrchr,
>                                      (CPU_FEATURE_USABLE (AVX2)
>                                       && CPU_FEATURE_USABLE (BMI1)
> @@ -828,6 +833,11 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
>                                       && CPU_FEATURE_USABLE (BMI1)
>                                       && CPU_FEATURE_USABLE (BMI2)),
>                                      __wcsrchr_evex)
> +             X86_IFUNC_IMPL_ADD_V4 (array, i, wcsrchr,
> +                                    (CPU_FEATURE_USABLE (AVX512VL)
> +                                     && CPU_FEATURE_USABLE (AVX512BW)
> +                                     && CPU_FEATURE_USABLE (BMI2)),
> +                                    __wcsrchr_evex512)
>               X86_IFUNC_IMPL_ADD_V3 (array, i, wcsrchr,
>                                      (CPU_FEATURE_USABLE (AVX2)
>                                       && CPU_FEATURE_USABLE (BMI1)
> diff --git a/sysdeps/x86_64/multiarch/strrchr-evex-base.S b/sysdeps/x86_64/multiarch/strrchr-evex-base.S
> new file mode 100644
> index 0000000000..6698fe8b78
> --- /dev/null
> +++ b/sysdeps/x86_64/multiarch/strrchr-evex-base.S
> @@ -0,0 +1,264 @@
> +/* Placeholder function, not used by any processor at the moment.
> +   Copyright (C) 2022 Free Software Foundation, Inc.
> +   This file is part of the GNU C Library.
> +
> +   The GNU C Library is free software; you can redistribute it and/or
> +   modify it under the terms of the GNU Lesser General Public
> +   License as published by the Free Software Foundation; either
> +   version 2.1 of the License, or (at your option) any later version.
> +
> +   The GNU C Library is distributed in the hope that it will be useful,
> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> +   Lesser General Public License for more details.
> +
> +   You should have received a copy of the GNU Lesser General Public
> +   License along with the GNU C Library; if not, see
> +   <https://www.gnu.org/licenses/>.  */
> +
> +/* UNUSED. Exists purely as reference implementation.  */
> +
> +#include <isa-level.h>
> +
> +#if ISA_SHOULD_BUILD (4)
> +
> +# include <sysdep.h>
> +
> +# ifdef USE_AS_WCSRCHR
> +#  define CHAR_SIZE    4
> +#  define VPBROADCAST   vpbroadcastd
> +#  define VPCMPEQ      vpcmpeqd
> +#  define VPMINU       vpminud
> +#  define VPTESTN      vptestnmd
> +# else
> +#  define CHAR_SIZE    1
> +#  define VPBROADCAST   vpbroadcastb
> +#  define VPCMPEQ      vpcmpeqb
> +#  define VPMINU       vpminub
> +#  define VPTESTN      vptestnmb
> +# endif
> +
> +# define PAGE_SIZE     4096
> +# define CHAR_PER_VEC  (VEC_SIZE / CHAR_SIZE)
> +
> +       .section SECTION(.text), "ax", @progbits
> +/* Aligning entry point to 64 byte, provides better performance for
> +   one vector length string.  */
> +ENTRY_P2ALIGN (STRRCHR, 6)
> +
> +       /* Broadcast CHAR to VMM(0).  */
> +       VPBROADCAST %esi, %VMM(0)
> +       movl    %edi, %eax
> +       sall    $20, %eax
> +       cmpl    $((PAGE_SIZE - VEC_SIZE) << 20), %eax
> +       ja      L(page_cross)
> +
> +L(page_cross_continue):
> +       /* Compare [w]char for null, mask bit will be set for match.  */
> +       VMOVU   (%rdi), %VMM(1)
> +
> +       VPTESTN %VMM(1), %VMM(1), %k1
> +       KMOV    %k1, %VRCX
> +       test    %VRCX, %VRCX
> +       jz      L(align_more)
> +
> +       VPCMPEQ %VMM(1), %VMM(0), %k0
> +       KMOV    %k0, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       and     %VRCX, %VRAX
> +       jz      L(ret)
> +
> +       BSR     %VRAX, %VRAX
> +# ifdef USE_AS_WCSRCHR
> +       leaq    (%rdi, %rax, CHAR_SIZE), %rax
> +# else
> +       add     %rdi, %rax
> +# endif
> +L(ret):
> +       ret
> +
> +L(vector_x2_end):
> +       VPCMPEQ %VMM(2), %VMM(0), %k2
> +       KMOV    %k2, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       and     %VRCX, %VRAX
> +       jz      L(vector_x1_ret)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +       /* Check the first vector at very last to look for match.  */
> +L(vector_x1_ret):
> +       VPCMPEQ %VMM(1), %VMM(0), %k2
> +       KMOV    %k2, %VRAX
> +       test    %VRAX, %VRAX
> +       jz      L(ret)
> +
> +       BSR     %VRAX, %VRAX
> +# ifdef USE_AS_WCSRCHR
> +       leaq    (%rsi, %rax, CHAR_SIZE), %rax
> +# else
> +       add     %rsi, %rax
> +# endif
> +       ret
> +
> +L(align_more):
> +       /* Zero r8 to store match result.  */
> +       xorl    %r8d, %r8d
> +       /* Save pointer of first vector, in case if no match found.  */
> +       movq    %rdi, %rsi
> +       /* Align pointer to vector size.  */
> +       andq    $-VEC_SIZE, %rdi
> +       /* Loop unroll 2 times for 2 vector loop.  */
> +       VMOVA   (VEC_SIZE)(%rdi), %VMM(2)
> +       VPTESTN %VMM(2), %VMM(2), %k0
> +       KMOV    %k0, %VRCX
> +       test    %VRCX, %VRCX
> +       jnz     L(vector_x2_end)
> +
> +       /* Save pointer of second vector, in case if no match
> +          found.  */
> +       movq    %rdi, %r9
> +       /* Align address to VEC_SIZE * 2 for loop.  */
> +       andq    $-(VEC_SIZE * 2), %rdi
> +
> +       .p2align 4,,11
> +L(loop):
> +       /* 2 vector loop, as it provide better performance as compared
> +          to 4 vector loop.  */
> +       VMOVA   (VEC_SIZE * 2)(%rdi), %VMM(3)
> +       VMOVA   (VEC_SIZE * 3)(%rdi), %VMM(4)
> +       VPCMPEQ %VMM(3), %VMM(0), %k1
> +       VPCMPEQ %VMM(4), %VMM(0), %k2
> +       VPMINU  %VMM(3), %VMM(4), %VMM(5)
> +       VPTESTN %VMM(5), %VMM(5), %k0
> +       KOR     %k1, %k2, %k3
> +       subq    $-(VEC_SIZE * 2), %rdi
> +       /* If k0 and k3 zero, match and end of string not found.  */
> +       KORTEST %k0, %k3
> +       jz      L(loop)
> +
> +       /* If k0 is non zero, end of string found.  */
> +       KORTEST %k0, %k0
> +       jnz     L(endloop)
> +
> +       lea     VEC_SIZE(%rdi), %r8
> +       /* A match found, it need to be stored in r8 before loop
> +          continue.  */
> +       /* Check second vector first.  */
> +       KMOV    %k2, %VRDX
> +       test    %VRDX, %VRDX
> +       jnz     L(loop_vec_x2_match)
> +
> +       KMOV    %k1, %VRDX
> +       /* Match is in first vector, rdi offset need to be substracted
> +         by VEC_SIZE.  */
> +       sub     $VEC_SIZE, %r8
> +
> +       /* If second vector doesn't have match, first vector must
> +          have match.  */
> +L(loop_vec_x2_match):
> +       BSR     %VRDX, %VRDX
> +# ifdef USE_AS_WCSRCHR
> +       sal     $2, %rdx
> +# endif
> +       add     %rdx, %r8
> +       jmp     L(loop)
> +
> +L(endloop):
> +       /* Check if string end in first loop vector.  */
> +       VPTESTN %VMM(3), %VMM(3), %k0
> +       KMOV    %k0, %VRCX
> +       test    %VRCX, %VRCX
> +       jnz     L(loop_vector_x1_end)
> +
> +       /* Check if it has match in first loop vector.  */
> +       KMOV    %k1, %VRAX
> +       test    %VRAX, %VRAX
> +       jz      L(loop_vector_x2_end)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (%rdi, %rax, CHAR_SIZE), %r8
> +
> +       /* String must end in second loop vector.  */
> +L(loop_vector_x2_end):
> +       VPTESTN %VMM(4), %VMM(4), %k0
> +       KMOV    %k0, %VRCX
> +       KMOV    %k2, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       /* Check if it has match in second loop vector.  */
> +       and     %VRCX, %VRAX
> +       jz      L(check_last_match)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +       /* String end in first loop vector.  */
> +L(loop_vector_x1_end):
> +       KMOV    %k1, %VRAX
> +       BLSMSK  %VRCX, %VRCX
> +       /* Check if it has match in second loop vector.  */
> +       and     %VRCX, %VRAX
> +       jz      L(check_last_match)
> +
> +       BSR     %VRAX, %VRAX
> +       leaq    (%rdi, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +       /* No match in first and second loop vector.  */
> +L(check_last_match):
> +       /* Check if any match recorded in r8.  */
> +       test    %r8, %r8
> +       jz      L(vector_x2_ret)
> +       movq    %r8, %rax
> +       ret
> +
> +       /* No match recorded in r8. Check the second saved vector
> +          in begining.  */
> +L(vector_x2_ret):
> +       VPCMPEQ %VMM(2), %VMM(0), %k2
> +       KMOV    %k2, %VRAX
> +       test    %VRAX, %VRAX
> +       jz      L(vector_x1_ret)
> +
> +       /* Match found in the second saved vector.  */
> +       BSR     %VRAX, %VRAX
> +       leaq    (VEC_SIZE)(%r9, %rax, CHAR_SIZE), %rax
> +       ret
> +
> +L(page_cross):
> +       mov     %rdi, %rax
> +       movl    %edi, %ecx
> +
> +# ifdef USE_AS_WCSRCHR
> +       /* Calculate number of compare result bits to be skipped for
> +          wide string alignment adjustment.  */
> +       andl    $(VEC_SIZE - 1), %ecx
> +       sarl    $2, %ecx
> +# endif
> +       /* ecx contains number of w[char] to be skipped as a result
> +          of address alignment.  */
> +       andq    $-VEC_SIZE, %rax
> +       VMOVA   (%rax), %VMM(1)
> +       VPTESTN %VMM(1), %VMM(1), %k1
> +       KMOV    %k1, %VRAX
> +       SHR     %cl, %VRAX
> +       jz      L(page_cross_continue)
> +       VPCMPEQ %VMM(1), %VMM(0), %k0
> +       KMOV    %k0, %VRDX
> +       SHR     %cl, %VRDX
> +       BLSMSK  %VRAX, %VRAX
> +       and     %VRDX, %VRAX
> +       jz      L(ret)
> +       BSR     %VRAX, %VRAX
> +# ifdef USE_AS_WCSRCHR
> +       leaq    (%rdi, %rax, CHAR_SIZE), %rax
> +# else
> +       add     %rdi, %rax
> +# endif
> +
> +       ret
> +END (STRRCHR)
> +#endif
> diff --git a/sysdeps/x86_64/multiarch/strrchr-evex512.S b/sysdeps/x86_64/multiarch/strrchr-evex512.S
> new file mode 100644
> index 0000000000..7d81e66375
> --- /dev/null
> +++ b/sysdeps/x86_64/multiarch/strrchr-evex512.S
> @@ -0,0 +1,8 @@
> +# ifndef STRRCHR
> +#  define STRRCHR      __strrchr_evex512
> +# endif
> +
> +#include "x86-evex512-vecs.h"
> +#include "reg-macros.h"
> +
> +#include "strrchr-evex-base.S"
> diff --git a/sysdeps/x86_64/multiarch/wcsrchr-evex512.S b/sysdeps/x86_64/multiarch/wcsrchr-evex512.S
> new file mode 100644
> index 0000000000..f241f63716
> --- /dev/null
> +++ b/sysdeps/x86_64/multiarch/wcsrchr-evex512.S
> @@ -0,0 +1,13 @@
> +#ifndef WCSRCHR
> +# define WCSRCHR       __wcsrchr_evex512
> +#endif
> +
> +#define STRRCHR        WCSRCHR
> +#define USE_AS_WCSRCHR 1
> +
> +#define USE_WIDE_CHAR 1
> +
> +#include "x86-evex512-vecs.h"
> +#include "reg-macros.h"
> +
> +#include "strrchr-evex512.S"
> --
> 2.38.1
>

LGTM.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-03 22:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-03 20:08 [PATCH v2] x86_64: Implement evex512 version of strrchr and wcsrchr Sunil K Pandey
2022-11-03 22:45 ` Sunil Pandey
2022-11-03 22:47 ` Noah Goldstein

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).