diff mbox series

[v1,5/7] x86: Optimize strrchr-evex.S and implement with VMM headers

Message ID 20221018024901.3381469-5-goldstein.w.n@gmail.com
State New
Headers show
Series [v1,1/7] x86: Optimize memchr-evex.S and implement with VMM headers | expand

Commit Message

Noah Goldstein Oct. 18, 2022, 2:48 a.m. UTC
Optimization is:
1. Cache latest result in "fast path" loop with `vmovdqu` instead of
  `kunpckdq`.  This helps if there are more than one matches.

Code Size Changes:
strrchr-evex.S       :  +30 bytes (Same number of cache lines)

Net perf changes:

Reported as geometric mean of all improvements / regressions from N=10
runs of the benchtests. Value as New Time / Old Time so < 1.0 is
improvement and 1.0 is regression.

strrchr-evex.S       : 0.932 (From cases with higher match frequency)

Full results attached in email.

Full check passes on x86-64.
---
 sysdeps/x86_64/multiarch/strrchr-evex.S | 371 +++++++++++++-----------
 1 file changed, 200 insertions(+), 171 deletions(-)

Comments

Noah Goldstein Oct. 18, 2022, 2:52 a.m. UTC | #1
On Mon, Oct 17, 2022 at 7:49 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> Optimization is:
> 1. Cache latest result in "fast path" loop with `vmovdqu` instead of
>   `kunpckdq`.  This helps if there are more than one matches.
>
> Code Size Changes:
> strrchr-evex.S       :  +30 bytes (Same number of cache lines)
>
> Net perf changes:
>
> Reported as geometric mean of all improvements / regressions from N=10
> runs of the benchtests. Value as New Time / Old Time so < 1.0 is
> improvement and 1.0 is regression.
>
> strrchr-evex.S       : 0.932 (From cases with higher match frequency)
>
> Full results attached in email.
>
> Full check passes on x86-64.
> ---
>  sysdeps/x86_64/multiarch/strrchr-evex.S | 371 +++++++++++++-----------
>  1 file changed, 200 insertions(+), 171 deletions(-)
>
> diff --git a/sysdeps/x86_64/multiarch/strrchr-evex.S b/sysdeps/x86_64/multiarch/strrchr-evex.S
> index 992b45fb47..45487dc87a 100644
> --- a/sysdeps/x86_64/multiarch/strrchr-evex.S
> +++ b/sysdeps/x86_64/multiarch/strrchr-evex.S
> @@ -26,25 +26,30 @@
>  #  define STRRCHR      __strrchr_evex
>  # endif
>
> -# define VMOVU vmovdqu64
> -# define VMOVA vmovdqa64
> +# include "x86-evex256-vecs.h"
>
>  # ifdef USE_AS_WCSRCHR
> -#  define SHIFT_REG    esi
> -
> -#  define kunpck       kunpckbw
> +#  define RCX_M        cl
> +#  define SHIFT_REG    rcx
> +#  define VPCOMPRESS   vpcompressd
> +#  define kunpck_2x    kunpckbw
>  #  define kmov_2x      kmovd
>  #  define maskz_2x     ecx
>  #  define maskm_2x     eax
>  #  define CHAR_SIZE    4
>  #  define VPMIN        vpminud
>  #  define VPTESTN      vptestnmd
> +#  define VPTEST       vptestmd
>  #  define VPBROADCAST  vpbroadcastd
> +#  define VPCMPEQ      vpcmpeqd
>  #  define VPCMP        vpcmpd
> -# else
> -#  define SHIFT_REG    edi
>
> -#  define kunpck       kunpckdq
> +#  define USE_WIDE_CHAR
> +# else
> +#  define RCX_M        ecx
> +#  define SHIFT_REG    rdi
> +#  define VPCOMPRESS   vpcompressb
> +#  define kunpck_2x    kunpckdq
>  #  define kmov_2x      kmovq
>  #  define maskz_2x     rcx
>  #  define maskm_2x     rax
> @@ -52,58 +57,48 @@
>  #  define CHAR_SIZE    1
>  #  define VPMIN        vpminub
>  #  define VPTESTN      vptestnmb
> +#  define VPTEST       vptestmb
>  #  define VPBROADCAST  vpbroadcastb
> +#  define VPCMPEQ      vpcmpeqb
>  #  define VPCMP        vpcmpb
>  # endif
>
> -# define XMMZERO       xmm16
> -# define YMMZERO       ymm16
> -# define YMMMATCH      ymm17
> -# define YMMSAVE       ymm18
> +# include "reg-macros.h"
>
> -# define YMM1  ymm19
> -# define YMM2  ymm20
> -# define YMM3  ymm21
> -# define YMM4  ymm22
> -# define YMM5  ymm23
> -# define YMM6  ymm24
> -# define YMM7  ymm25
> -# define YMM8  ymm26
> -
> -
> -# define VEC_SIZE      32
> +# define VMATCH        VMM(0)
> +# define CHAR_PER_VEC  (VEC_SIZE / CHAR_SIZE)
>  # define PAGE_SIZE     4096
> -       .section .text.evex, "ax", @progbits
> -ENTRY(STRRCHR)
> +
> +       .section SECTION(.text), "ax", @progbits
> +ENTRY_P2ALIGN(STRRCHR, 6)
>         movl    %edi, %eax
> -       /* Broadcast CHAR to YMMMATCH.  */
> -       VPBROADCAST %esi, %YMMMATCH
> +       /* Broadcast CHAR to VMATCH.  */
> +       VPBROADCAST %esi, %VMATCH
>
>         andl    $(PAGE_SIZE - 1), %eax
>         cmpl    $(PAGE_SIZE - VEC_SIZE), %eax
>         jg      L(cross_page_boundary)
>
> -L(page_cross_continue):
> -       VMOVU   (%rdi), %YMM1
> -       /* k0 has a 1 for each zero CHAR in YMM1.  */
> -       VPTESTN %YMM1, %YMM1, %k0
> -       kmovd   %k0, %ecx
> -       testl   %ecx, %ecx
> +       VMOVU   (%rdi), %VMM(1)
> +       /* k0 has a 1 for each zero CHAR in VEC(1).  */
> +       VPTESTN %VMM(1), %VMM(1), %k0
> +       KMOV    %k0, %VRSI
> +       test    %VRSI, %VRSI
>         jz      L(aligned_more)
>         /* fallthrough: zero CHAR in first VEC.  */
> -
> -       /* K1 has a 1 for each search CHAR match in YMM1.  */
> -       VPCMP   $0, %YMMMATCH, %YMM1, %k1
> -       kmovd   %k1, %eax
> +L(page_cross_return):
> +       /* K1 has a 1 for each search CHAR match in VEC(1).  */
> +       VPCMPEQ %VMATCH, %VMM(1), %k1
> +       KMOV    %k1, %VRAX
>         /* Build mask up until first zero CHAR (used to mask of
>            potential search CHAR matches past the end of the string).
>          */
> -       blsmskl %ecx, %ecx
> -       andl    %ecx, %eax
> +       blsmsk  %VRSI, %VRSI
> +       and     %VRSI, %VRAX
>         jz      L(ret0)
> -       /* Get last match (the `andl` removed any out of bounds
> -          matches).  */
> -       bsrl    %eax, %eax
> +       /* Get last match (the `and` removed any out of bounds matches).
> +        */
> +       bsr     %VRAX, %VRAX
>  # ifdef USE_AS_WCSRCHR
>         leaq    (%rdi, %rax, CHAR_SIZE), %rax
>  # else
> @@ -116,22 +111,22 @@ L(ret0):
>            search path for earlier matches.  */
>         .p2align 4,, 6
>  L(first_vec_x1):
> -       VPCMP   $0, %YMMMATCH, %YMM2, %k1
> -       kmovd   %k1, %eax
> -       blsmskl %ecx, %ecx
> +       VPCMPEQ %VMATCH, %VMM(2), %k1
> +       KMOV    %k1, %VRAX
> +       blsmsk  %VRCX, %VRCX
>         /* eax non-zero if search CHAR in range.  */
> -       andl    %ecx, %eax
> +       and     %VRCX, %VRAX
>         jnz     L(first_vec_x1_return)
>
> -       /* fallthrough: no match in YMM2 then need to check for earlier
> -          matches (in YMM1).  */
> +       /* fallthrough: no match in VEC(2) then need to check for
> +          earlier matches (in VEC(1)).  */
>         .p2align 4,, 4
>  L(first_vec_x0_test):
> -       VPCMP   $0, %YMMMATCH, %YMM1, %k1
> -       kmovd   %k1, %eax
> -       testl   %eax, %eax
> +       VPCMPEQ %VMATCH, %VMM(1), %k1
> +       KMOV    %k1, %VRAX
> +       test    %VRAX, %VRAX
>         jz      L(ret1)
> -       bsrl    %eax, %eax
> +       bsr     %VRAX, %VRAX
>  # ifdef USE_AS_WCSRCHR
>         leaq    (%rsi, %rax, CHAR_SIZE), %rax
>  # else
> @@ -142,129 +137,144 @@ L(ret1):
>
>         .p2align 4,, 10
>  L(first_vec_x1_or_x2):
> -       VPCMP   $0, %YMM3, %YMMMATCH, %k3
> -       VPCMP   $0, %YMM2, %YMMMATCH, %k2
> +       VPCMPEQ %VMM(3), %VMATCH, %k3
> +       VPCMPEQ %VMM(2), %VMATCH, %k2
>         /* K2 and K3 have 1 for any search CHAR match. Test if any
> -          matches between either of them. Otherwise check YMM1.  */
> -       kortestd %k2, %k3
> +          matches between either of them. Otherwise check VEC(1).  */
> +       KORTEST %k2, %k3
>         jz      L(first_vec_x0_test)
>
> -       /* Guranteed that YMM2 and YMM3 are within range so merge the
> -          two bitmasks then get last result.  */
> -       kunpck  %k2, %k3, %k3
> -       kmovq   %k3, %rax
> -       bsrq    %rax, %rax
> -       leaq    (VEC_SIZE)(%r8, %rax, CHAR_SIZE), %rax
> +       /* Guranteed that VEC(2) and VEC(3) are within range so merge
> +          the two bitmasks then get last result.  */
> +       kunpck_2x %k2, %k3, %k3
> +       kmov_2x %k3, %maskm_2x
> +       bsr     %maskm_2x, %maskm_2x
> +       leaq    (VEC_SIZE * 1)(%r8, %rax, CHAR_SIZE), %rax
>         ret
>
> -       .p2align 4,, 6
> +       .p2align 4,, 7
>  L(first_vec_x3):
> -       VPCMP   $0, %YMMMATCH, %YMM4, %k1
> -       kmovd   %k1, %eax
> -       blsmskl %ecx, %ecx
> -       /* If no search CHAR match in range check YMM1/YMM2/YMM3.  */
> -       andl    %ecx, %eax
> +       VPCMPEQ %VMATCH, %VMM(4), %k1
> +       KMOV    %k1, %VRAX
> +       blsmsk  %VRCX, %VRCX
> +       /* If no search CHAR match in range check VEC(1)/VEC(2)/VEC(3).
> +        */
> +       and     %VRCX, %VRAX
>         jz      L(first_vec_x1_or_x2)
> -       bsrl    %eax, %eax
> +       bsr     %VRAX, %VRAX
>         leaq    (VEC_SIZE * 3)(%rdi, %rax, CHAR_SIZE), %rax
>         ret
>
> +
>         .p2align 4,, 6
>  L(first_vec_x0_x1_test):
> -       VPCMP   $0, %YMMMATCH, %YMM2, %k1
> -       kmovd   %k1, %eax
> -       /* Check YMM2 for last match first. If no match try YMM1.  */
> -       testl   %eax, %eax
> +       VPCMPEQ %VMATCH, %VMM(2), %k1
> +       KMOV    %k1, %VRAX
> +       /* Check VEC(2) for last match first. If no match try VEC(1).
> +        */
> +       test    %VRAX, %VRAX
>         jz      L(first_vec_x0_test)
>         .p2align 4,, 4
>  L(first_vec_x1_return):
> -       bsrl    %eax, %eax
> +       bsr     %VRAX, %VRAX
>         leaq    (VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
>         ret
>
> +
>         .p2align 4,, 10
>  L(first_vec_x2):
> -       VPCMP   $0, %YMMMATCH, %YMM3, %k1
> -       kmovd   %k1, %eax
> -       blsmskl %ecx, %ecx
> -       /* Check YMM3 for last match first. If no match try YMM2/YMM1.
> -        */
> -       andl    %ecx, %eax
> +       VPCMPEQ %VMATCH, %VMM(3), %k1
> +       KMOV    %k1, %VRAX
> +       blsmsk  %VRCX, %VRCX
> +       /* Check VEC(3) for last match first. If no match try
> +          VEC(2)/VEC(1).  */
> +       and     %VRCX, %VRAX
>         jz      L(first_vec_x0_x1_test)
> -       bsrl    %eax, %eax
> +       bsr     %VRAX, %VRAX
>         leaq    (VEC_SIZE * 2)(%rdi, %rax, CHAR_SIZE), %rax
>         ret
>
>
> -       .p2align 4
> +       .p2align 4,, 12
>  L(aligned_more):
> -       /* Need to keep original pointer incase YMM1 has last match.  */
> +L(page_cross_continue):
> +       /* Need to keep original pointer incase VEC(1) has last match.
> +        */
>         movq    %rdi, %rsi
>         andq    $-VEC_SIZE, %rdi
> -       VMOVU   VEC_SIZE(%rdi), %YMM2
> -       VPTESTN %YMM2, %YMM2, %k0
> -       kmovd   %k0, %ecx
> -       testl   %ecx, %ecx
> +
> +       VMOVU   VEC_SIZE(%rdi), %VMM(2)
> +       VPTESTN %VMM(2), %VMM(2), %k0
> +       KMOV    %k0, %VRCX
> +
> +       test    %VRCX, %VRCX
>         jnz     L(first_vec_x1)
>
> -       VMOVU   (VEC_SIZE * 2)(%rdi), %YMM3
> -       VPTESTN %YMM3, %YMM3, %k0
> -       kmovd   %k0, %ecx
> -       testl   %ecx, %ecx
> +       VMOVU   (VEC_SIZE * 2)(%rdi), %VMM(3)
> +       VPTESTN %VMM(3), %VMM(3), %k0
> +       KMOV    %k0, %VRCX
> +
> +       test    %VRCX, %VRCX
>         jnz     L(first_vec_x2)
>
> -       VMOVU   (VEC_SIZE * 3)(%rdi), %YMM4
> -       VPTESTN %YMM4, %YMM4, %k0
> -       kmovd   %k0, %ecx
> +       VMOVU   (VEC_SIZE * 3)(%rdi), %VMM(4)
> +       VPTESTN %VMM(4), %VMM(4), %k0
> +       KMOV    %k0, %VRCX
>         movq    %rdi, %r8
> -       testl   %ecx, %ecx
> +       test    %VRCX, %VRCX
>         jnz     L(first_vec_x3)
>
>         andq    $-(VEC_SIZE * 2), %rdi
> -       .p2align 4
> +       .p2align 4,, 10
>  L(first_aligned_loop):
> -       /* Preserve YMM1, YMM2, YMM3, and YMM4 until we can gurantee
> -          they don't store a match.  */
> -       VMOVA   (VEC_SIZE * 4)(%rdi), %YMM5
> -       VMOVA   (VEC_SIZE * 5)(%rdi), %YMM6
> +       /* Preserve VEC(1), VEC(2), VEC(3), and VEC(4) until we can
> +          gurantee they don't store a match.  */
> +       VMOVA   (VEC_SIZE * 4)(%rdi), %VMM(5)
> +       VMOVA   (VEC_SIZE * 5)(%rdi), %VMM(6)
>
> -       VPCMP   $0, %YMM5, %YMMMATCH, %k2
> -       vpxord  %YMM6, %YMMMATCH, %YMM7
> +       VPCMPEQ %VMM(5), %VMATCH, %k2
> +       vpxord  %VMM(6), %VMATCH, %VMM(7)
>
> -       VPMIN   %YMM5, %YMM6, %YMM8
> -       VPMIN   %YMM8, %YMM7, %YMM7
> +       VPMIN   %VMM(5), %VMM(6), %VMM(8)
> +       VPMIN   %VMM(8), %VMM(7), %VMM(7)
>
> -       VPTESTN %YMM7, %YMM7, %k1
> +       VPTESTN %VMM(7), %VMM(7), %k1
>         subq    $(VEC_SIZE * -2), %rdi
> -       kortestd %k1, %k2
> +       KORTEST %k1, %k2
>         jz      L(first_aligned_loop)
>
> -       VPCMP   $0, %YMM6, %YMMMATCH, %k3
> -       VPTESTN %YMM8, %YMM8, %k1
> -       ktestd  %k1, %k1
> +       VPCMPEQ %VMM(6), %VMATCH, %k3
> +       VPTESTN %VMM(8), %VMM(8), %k1
> +
> +       /* If k1 is zero, then we found a CHAR match but no null-term.
> +          We can now safely throw out VEC1-4.  */
> +       KTEST   %k1, %k1
>         jz      L(second_aligned_loop_prep)
>
> -       kortestd %k2, %k3
> +       KORTEST %k2, %k3
>         jnz     L(return_first_aligned_loop)
>
> +
>         .p2align 4,, 6
>  L(first_vec_x1_or_x2_or_x3):
> -       VPCMP   $0, %YMM4, %YMMMATCH, %k4
> -       kmovd   %k4, %eax
> -       testl   %eax, %eax
> +       VPCMPEQ %VMM(4), %VMATCH, %k4
> +       KMOV    %k4, %VRAX
> +       bsr     %VRAX, %VRAX
>         jz      L(first_vec_x1_or_x2)
> -       bsrl    %eax, %eax
>         leaq    (VEC_SIZE * 3)(%r8, %rax, CHAR_SIZE), %rax
>         ret
>
> +
>         .p2align 4,, 8
>  L(return_first_aligned_loop):
> -       VPTESTN %YMM5, %YMM5, %k0
> -       kunpck  %k0, %k1, %k0
> +       VPTESTN %VMM(5), %VMM(5), %k0
> +
> +       /* Combined results from VEC5/6.  */
> +       kunpck_2x %k0, %k1, %k0
>         kmov_2x %k0, %maskz_2x
>
>         blsmsk  %maskz_2x, %maskz_2x
> -       kunpck  %k2, %k3, %k3
> +       kunpck_2x %k2, %k3, %k3
>         kmov_2x %k3, %maskm_2x
>         and     %maskz_2x, %maskm_2x
>         jz      L(first_vec_x1_or_x2_or_x3)
> @@ -280,47 +290,62 @@ L(return_first_aligned_loop):
>  L(second_aligned_loop_prep):
>  L(second_aligned_loop_set_furthest_match):
>         movq    %rdi, %rsi
> -       kunpck  %k2, %k3, %k4
> -
> +       /* Ideally we would safe k2/k3 but `kmov/kunpck` take uops on
> +          port0 and have noticable overhead in the loop.  */
> +       VMOVA   %VMM(5), %VMM(7)
> +       VMOVA   %VMM(6), %VMM(8)
>         .p2align 4
>  L(second_aligned_loop):
> -       VMOVU   (VEC_SIZE * 4)(%rdi), %YMM1
> -       VMOVU   (VEC_SIZE * 5)(%rdi), %YMM2
> -
> -       VPCMP   $0, %YMM1, %YMMMATCH, %k2
> -       vpxord  %YMM2, %YMMMATCH, %YMM3
> +       VMOVU   (VEC_SIZE * 4)(%rdi), %VMM(5)
> +       VMOVU   (VEC_SIZE * 5)(%rdi), %VMM(6)
> +       VPCMPEQ %VMM(5), %VMATCH, %k2
> +       vpxord  %VMM(6), %VMATCH, %VMM(3)
>
> -       VPMIN   %YMM1, %YMM2, %YMM4
> -       VPMIN   %YMM3, %YMM4, %YMM3
> +       VPMIN   %VMM(5), %VMM(6), %VMM(4)
> +       VPMIN   %VMM(3), %VMM(4), %VMM(3)
>
> -       VPTESTN %YMM3, %YMM3, %k1
> +       VPTESTN %VMM(3), %VMM(3), %k1
>         subq    $(VEC_SIZE * -2), %rdi
> -       kortestd %k1, %k2
> +       KORTEST %k1, %k2
>         jz      L(second_aligned_loop)
> -
> -       VPCMP   $0, %YMM2, %YMMMATCH, %k3
> -       VPTESTN %YMM4, %YMM4, %k1
> -       ktestd  %k1, %k1
> +       VPCMPEQ %VMM(6), %VMATCH, %k3
> +       VPTESTN %VMM(4), %VMM(4), %k1
> +       KTEST   %k1, %k1
>         jz      L(second_aligned_loop_set_furthest_match)
>
> -       kortestd %k2, %k3
> -       /* branch here because there is a significant advantage interms
> -          of output dependency chance in using edx.  */
> +       /* branch here because we know we have a match in VEC7/8 but
> +          might not in VEC5/6 so the latter is expected to be less
> +          likely.  */
> +       KORTEST %k2, %k3
>         jnz     L(return_new_match)
> +
>  L(return_old_match):
> -       kmovq   %k4, %rax
> -       bsrq    %rax, %rax
> -       leaq    (VEC_SIZE * 2)(%rsi, %rax, CHAR_SIZE), %rax
> +       VPCMPEQ %VMM(8), %VMATCH, %k0
> +       KMOV    %k0, %VRCX
> +       bsr     %VRCX, %VRCX
> +       jnz     L(return_old_match_ret)
> +
> +       VPCMPEQ %VMM(7), %VMATCH, %k0
> +       KMOV    %k0, %VRCX
> +       bsr     %VRCX, %VRCX
> +       subq    $VEC_SIZE, %rsi
> +L(return_old_match_ret):
> +       leaq    (VEC_SIZE * 3)(%rsi, %rcx, CHAR_SIZE), %rax
>         ret
>
> +       .p2align 4,, 10
>  L(return_new_match):
> -       VPTESTN %YMM1, %YMM1, %k0
> -       kunpck  %k0, %k1, %k0
> +       VPTESTN %VMM(5), %VMM(5), %k0
> +
> +       /* Combined results from VEC5/6.  */
> +       kunpck_2x %k0, %k1, %k0
>         kmov_2x %k0, %maskz_2x
>
>         blsmsk  %maskz_2x, %maskz_2x
> -       kunpck  %k2, %k3, %k3
> +       kunpck_2x %k2, %k3, %k3
>         kmov_2x %k3, %maskm_2x
> +
> +       /* Match at end was out-of-bounds so use last known match.  */
>         and     %maskz_2x, %maskm_2x
>         jz      L(return_old_match)
>
> @@ -328,49 +353,53 @@ L(return_new_match):
>         leaq    (VEC_SIZE * 2)(%rdi, %rax, CHAR_SIZE), %rax
>         ret
>
> +       .p2align 4,, 4
>  L(cross_page_boundary):
> -       /* eax contains all the page offset bits of src (rdi). `xor rdi,
> -          rax` sets pointer will all page offset bits cleared so
> -          offset of (PAGE_SIZE - VEC_SIZE) will get last aligned VEC
> -          before page cross (guranteed to be safe to read). Doing this
> -          as opposed to `movq %rdi, %rax; andq $-VEC_SIZE, %rax` saves
> -          a bit of code size.  */
>         xorq    %rdi, %rax
> -       VMOVU   (PAGE_SIZE - VEC_SIZE)(%rax), %YMM1
> -       VPTESTN %YMM1, %YMM1, %k0
> -       kmovd   %k0, %ecx
> +       mov     $-1, %VRDX
> +       VMOVU   (PAGE_SIZE - VEC_SIZE)(%rax), %VMM(6)
> +       VPTESTN %VMM(6), %VMM(6), %k0
> +       KMOV    %k0, %VRSI
> +
> +# ifdef USE_AS_WCSRCHR
> +       movl    %edi, %ecx
> +       and     $(VEC_SIZE - 1), %ecx
> +       shrl    $2, %ecx
> +# endif
> +       shlx    %VGPR(SHIFT_REG), %VRDX, %VRDX
>
> -       /* Shift out zero CHAR matches that are before the begining of
> -          src (rdi).  */
>  # ifdef USE_AS_WCSRCHR
> -       movl    %edi, %esi
> -       andl    $(VEC_SIZE - 1), %esi
> -       shrl    $2, %esi
> +       kmovb   %edx, %k1
> +# else
> +       KMOV    %VRDX, %k1
>  # endif
> -       shrxl   %SHIFT_REG, %ecx, %ecx
>
> -       testl   %ecx, %ecx
> +       /* Need to adjust result to VEC(1) so it can be re-used by
> +          L(return_vec_x0_test).  The alternative is to collect VEC(1)
> +          will a page cross load which is far more expensive.  */
> +       VPCOMPRESS %VMM(6), %VMM(1){%k1}{z}
> +
> +       /* We could technically just jmp back after the vpcompress but
> +          it doesn't save any 16-byte blocks.  */
> +       shrx    %VGPR(SHIFT_REG), %VRSI, %VRSI
> +       test    %VRSI, %VRSI
>         jz      L(page_cross_continue)
>
> -       /* Found zero CHAR so need to test for search CHAR.  */
> -       VPCMP   $0, %YMMMATCH, %YMM1, %k1
> -       kmovd   %k1, %eax
> -       /* Shift out search CHAR matches that are before the begining of
> -          src (rdi).  */
> -       shrxl   %SHIFT_REG, %eax, %eax
> -
> -       /* Check if any search CHAR match in range.  */
> -       blsmskl %ecx, %ecx
> -       andl    %ecx, %eax
> -       jz      L(ret3)
> -       bsrl    %eax, %eax
> +       /* Duplicate of return logic from ENTRY. Doesn't cause spill to
> +          next cache line so might as well copy it here.  */
> +       VPCMPEQ %VMATCH, %VMM(1), %k1
> +       KMOV    %k1, %VRAX
> +       blsmsk  %VRSI, %VRSI
> +       and     %VRSI, %VRAX
> +       jz      L(ret_page_cross)
> +       bsr     %VRAX, %VRAX
>  # ifdef USE_AS_WCSRCHR
>         leaq    (%rdi, %rax, CHAR_SIZE), %rax
>  # else
>         addq    %rdi, %rax
>  # endif
> -L(ret3):
> +L(ret_page_cross):
>         ret
> -
> +       /* 1 byte till next cache line.  */
>  END(STRRCHR)
>  #endif
> --
> 2.34.1
>
Results For: strrchr
align,freq ,len  ,max_char ,pos  ,seek ,__strrchr_evex ,__strrchr_evex_orig 
0    ,1    ,1    ,127      ,0    ,0    ,3.544          ,3.517               ,1.007 
0    ,1    ,1    ,127      ,0    ,23   ,3.516          ,3.443               ,1.021 
0    ,1    ,10   ,127      ,9    ,0    ,3.696          ,3.703               ,0.998 
0    ,1    ,10   ,127      ,9    ,23   ,3.686          ,3.694               ,0.998 
0    ,1    ,1024 ,127      ,0    ,0    ,3.541          ,3.424               ,1.034 
0    ,1    ,1024 ,127      ,0    ,23   ,33.578         ,34.335              ,0.978 
0    ,1    ,1024 ,127      ,1024 ,0    ,32.236         ,33.703              ,0.956 
0    ,1    ,1024 ,127      ,1024 ,23   ,32.255         ,33.207              ,0.971 
0    ,1    ,1024 ,127      ,144  ,0    ,9.681          ,10.761              ,0.9   
0    ,1    ,1024 ,127      ,144  ,23   ,32.131         ,33.112              ,0.97  
0    ,1    ,1024 ,127      ,192  ,0    ,11.173         ,12.72               ,0.878 
0    ,1    ,1024 ,127      ,192  ,23   ,32.363         ,33.122              ,0.977 
0    ,1    ,1024 ,127      ,240  ,0    ,11.068         ,12.692              ,0.872 
0    ,1    ,1024 ,127      ,240  ,23   ,33.127         ,34.004              ,0.974 
0    ,1    ,1024 ,127      ,288  ,0    ,12.579         ,14.452              ,0.87  
0    ,1    ,1024 ,127      ,288  ,23   ,32.186         ,33.59               ,0.958 
0    ,1    ,1024 ,127      ,48   ,0    ,4.728          ,5.669               ,0.834 
0    ,1    ,1024 ,127      ,48   ,23   ,33.103         ,35.064              ,0.944 
0    ,1    ,1024 ,127      ,736  ,0    ,23.846         ,25.818              ,0.924 
0    ,1    ,1024 ,127      ,736  ,23   ,32.278         ,34.687              ,0.931 
0    ,1    ,1024 ,127      ,784  ,0    ,25.566         ,27.51               ,0.929 
0    ,1    ,1024 ,127      ,784  ,23   ,34.801         ,35.27               ,0.987 
0    ,1    ,1024 ,127      ,832  ,0    ,27.218         ,29.017              ,0.938 
0    ,1    ,1024 ,127      ,832  ,23   ,35.255         ,36.369              ,0.969 
0    ,1    ,1024 ,127      ,880  ,0    ,27.413         ,29.169              ,0.94  
0    ,1    ,1024 ,127      ,880  ,23   ,35.739         ,38.252              ,0.934 
0    ,1    ,1024 ,127      ,928  ,0    ,29.056         ,30.715              ,0.946 
0    ,1    ,1024 ,127      ,928  ,23   ,34.646         ,36.301              ,0.954 
0    ,1    ,1024 ,127      ,96   ,0    ,5.923          ,7.163               ,0.827 
0    ,1    ,1024 ,127      ,96   ,23   ,31.587         ,33.085              ,0.955 
0    ,1    ,1024 ,127      ,976  ,0    ,30.784         ,32.313              ,0.953 
0    ,1    ,1024 ,127      ,976  ,23   ,35.76          ,36.116              ,0.99  
0    ,1    ,1072 ,127      ,1024 ,0    ,32.421         ,33.863              ,0.957 
0    ,1    ,1072 ,127      ,1024 ,23   ,35.049         ,37.781              ,0.928 
0    ,1    ,11   ,127      ,10   ,0    ,3.7            ,3.705               ,0.999 
0    ,1    ,11   ,127      ,10   ,23   ,3.697          ,3.699               ,0.999 
0    ,1    ,112  ,127      ,144  ,0    ,5.914          ,7.112               ,0.832 
0    ,1    ,112  ,127      ,144  ,23   ,6.616          ,8.659               ,0.764 
0    ,1    ,112  ,127      ,16   ,0    ,3.565          ,3.576               ,0.997 
0    ,1    ,112  ,127      ,16   ,23   ,7.888          ,8.337               ,0.946 
0    ,1    ,112  ,127      ,256  ,0    ,5.916          ,6.985               ,0.847 
0    ,1    ,112  ,127      ,256  ,23   ,6.581          ,8.642               ,0.762 
0    ,1    ,112  ,127      ,64   ,0    ,5.352          ,6.955               ,0.77  
0    ,1    ,112  ,127      ,64   ,23   ,7.401          ,8.403               ,0.881 
0    ,1    ,112  ,127      ,96   ,0    ,7.084          ,7.239               ,0.979 
0    ,1    ,112  ,127      ,96   ,23   ,6.146          ,7.451               ,0.825 
0    ,1    ,1120 ,127      ,1024 ,0    ,32.469         ,34.045              ,0.954 
0    ,1    ,1120 ,127      ,1024 ,23   ,37.041         ,37.475              ,0.988 
0    ,1    ,1168 ,127      ,1024 ,0    ,32.342         ,34.027              ,0.95  
0    ,1    ,1168 ,127      ,1024 ,23   ,41.858         ,42.644              ,0.982 
0    ,1    ,12   ,127      ,11   ,0    ,3.723          ,3.729               ,0.998 
0    ,1    ,12   ,127      ,11   ,23   ,3.729          ,3.714               ,1.004 
0    ,1    ,1216 ,127      ,1024 ,0    ,32.631         ,34.11               ,0.957 
0    ,1    ,1216 ,127      ,1024 ,23   ,39.96          ,40.846              ,0.978 
0    ,1    ,1264 ,127      ,1024 ,0    ,32.411         ,33.803              ,0.959 
0    ,1    ,1264 ,127      ,1024 ,23   ,40.231         ,41.592              ,0.967 
0    ,1    ,128  ,127      ,0    ,0    ,3.492          ,3.474               ,1.005 
0    ,1    ,128  ,127      ,0    ,23   ,9.893          ,11.676              ,0.847 
0    ,1    ,128  ,127      ,112  ,0    ,5.956          ,6.956               ,0.856 
0    ,1    ,128  ,127      ,112  ,23   ,10.68          ,12.006              ,0.89  
0    ,1    ,128  ,127      ,128  ,0    ,9.81           ,10.775              ,0.91  
0    ,1    ,128  ,127      ,128  ,23   ,8.669          ,9.809               ,0.884 
0    ,1    ,128  ,127      ,144  ,0    ,10.021         ,10.81               ,0.927 
0    ,1    ,128  ,127      ,144  ,23   ,9.02           ,10.357              ,0.871 
0    ,1    ,128  ,127      ,192  ,0    ,9.76           ,10.873              ,0.898 
0    ,1    ,128  ,127      ,192  ,23   ,8.848          ,10.049              ,0.88  
0    ,1    ,128  ,127      ,240  ,0    ,9.979          ,10.941              ,0.912 
0    ,1    ,128  ,127      ,240  ,23   ,8.658          ,10.027              ,0.863 
0    ,1    ,128  ,127      ,288  ,0    ,10.064         ,11.29               ,0.891 
0    ,1    ,128  ,127      ,288  ,23   ,8.632          ,9.855               ,0.876 
0    ,1    ,128  ,127      ,32   ,0    ,4.695          ,5.663               ,0.829 
0    ,1    ,128  ,127      ,32   ,23   ,9.803          ,11.638              ,0.842 
0    ,1    ,128  ,127      ,48   ,0    ,4.642          ,5.951               ,0.78  
0    ,1    ,128  ,127      ,48   ,23   ,9.872          ,11.125              ,0.887 
0    ,1    ,128  ,127      ,80   ,0    ,5.074          ,6.474               ,0.784 
0    ,1    ,128  ,127      ,80   ,23   ,9.745          ,11.426              ,0.853 
0    ,1    ,128  ,127      ,96   ,0    ,6.501          ,7.481               ,0.869 
0    ,1    ,128  ,127      ,96   ,23   ,8.717          ,10.366              ,0.841 
0    ,1    ,13   ,127      ,12   ,0    ,3.737          ,3.739               ,1.0   
0    ,1    ,13   ,127      ,12   ,23   ,3.715          ,3.723               ,0.998 
0    ,1    ,1312 ,127      ,1024 ,0    ,32.427         ,34.083              ,0.951 
0    ,1    ,1312 ,127      ,1024 ,23   ,43.614         ,44.317              ,0.984 
0    ,1    ,14   ,127      ,13   ,0    ,3.739          ,3.748               ,0.997 
0    ,1    ,14   ,127      ,13   ,23   ,3.721          ,3.723               ,0.999 
0    ,1    ,144  ,127      ,128  ,0    ,10.539         ,10.65               ,0.99  
0    ,1    ,144  ,127      ,128  ,23   ,9.751          ,11.0                ,0.886 
0    ,1    ,15   ,127      ,14   ,0    ,3.727          ,3.723               ,1.001 
0    ,1    ,15   ,127      ,14   ,23   ,3.746          ,3.761               ,0.996 
0    ,1    ,16   ,127      ,0    ,0    ,3.416          ,3.418               ,0.999 
0    ,1    ,16   ,127      ,0    ,23   ,3.436          ,3.446               ,0.997 
0    ,1    ,16   ,127      ,144  ,0    ,3.619          ,3.628               ,0.997 
0    ,1    ,16   ,127      ,144  ,23   ,4.019          ,4.016               ,1.001 
0    ,1    ,16   ,127      ,15   ,0    ,3.727          ,3.728               ,1.0   
0    ,1    ,16   ,127      ,15   ,23   ,3.733          ,3.737               ,0.999 
0    ,1    ,16   ,127      ,16   ,0    ,3.42           ,3.416               ,1.001 
0    ,1    ,16   ,127      ,16   ,23   ,3.974          ,3.956               ,1.005 
0    ,1    ,16   ,127      ,192  ,0    ,3.592          ,3.595               ,0.999 
0    ,1    ,16   ,127      ,192  ,23   ,3.981          ,3.992               ,0.997 
0    ,1    ,16   ,127      ,240  ,0    ,3.562          ,3.58                ,0.995 
0    ,1    ,16   ,127      ,240  ,23   ,3.973          ,3.91                ,1.016 
0    ,1    ,16   ,127      ,256  ,0    ,3.529          ,3.523               ,1.002 
0    ,1    ,16   ,127      ,256  ,23   ,4.114          ,4.057               ,1.014 
0    ,1    ,16   ,127      ,288  ,0    ,3.634          ,3.672               ,0.99  
0    ,1    ,16   ,127      ,288  ,23   ,4.061          ,4.511               ,0.9   
0    ,1    ,16   ,127      ,48   ,0    ,3.539          ,3.546               ,0.998 
0    ,1    ,16   ,127      ,48   ,23   ,4.021          ,4.002               ,1.005 
0    ,1    ,16   ,127      ,64   ,0    ,3.514          ,3.512               ,1.001 
0    ,1    ,16   ,127      ,64   ,23   ,3.973          ,3.968               ,1.001 
0    ,1    ,16   ,127      ,96   ,0    ,3.523          ,3.528               ,0.998 
0    ,1    ,16   ,127      ,96   ,23   ,4.019          ,4.016               ,1.001 
0    ,1    ,160  ,127      ,144  ,0    ,9.98           ,10.889              ,0.917 
0    ,1    ,160  ,127      ,144  ,23   ,9.568          ,11.164              ,0.857 
0    ,1    ,160  ,127      ,16   ,0    ,3.6            ,3.606               ,0.998 
0    ,1    ,160  ,127      ,16   ,23   ,12.466         ,13.468              ,0.926 
0    ,1    ,160  ,127      ,256  ,0    ,9.782          ,10.864              ,0.9   
0    ,1    ,160  ,127      ,256  ,23   ,8.74           ,10.167              ,0.86  
0    ,1    ,160  ,127      ,64   ,0    ,5.308          ,6.514               ,0.815 
0    ,1    ,160  ,127      ,64   ,23   ,10.168         ,11.726              ,0.867 
0    ,1    ,160  ,127      ,96   ,0    ,6.254          ,7.071               ,0.885 
0    ,1    ,160  ,127      ,96   ,23   ,8.791          ,10.18               ,0.864 
0    ,1    ,17   ,127      ,16   ,0    ,3.755          ,3.747               ,1.002 
0    ,1    ,17   ,127      ,16   ,23   ,3.749          ,3.742               ,1.002 
0    ,1    ,176  ,127      ,128  ,0    ,10.071         ,10.816              ,0.931 
0    ,1    ,176  ,127      ,128  ,23   ,9.842          ,10.987              ,0.896 
0    ,1    ,176  ,127      ,160  ,0    ,9.943          ,10.917              ,0.911 
0    ,1    ,176  ,127      ,160  ,23   ,9.401          ,10.855              ,0.866 
0    ,1    ,176  ,127      ,32   ,0    ,4.799          ,5.122               ,0.937 
0    ,1    ,176  ,127      ,32   ,23   ,9.912          ,11.536              ,0.859 
0    ,1    ,1760 ,127      ,2048 ,0    ,72.585         ,67.02               ,1.083 
0    ,1    ,1760 ,127      ,2048 ,23   ,72.354         ,70.53               ,1.026 
0    ,1    ,1760 ,127      ,288  ,0    ,13.012         ,14.359              ,0.906 
0    ,1    ,1760 ,127      ,288  ,23   ,53.579         ,75.066              ,0.714 
0    ,1    ,18   ,127      ,17   ,0    ,3.723          ,3.734               ,0.997 
0    ,1    ,18   ,127      ,17   ,23   ,3.719          ,3.723               ,0.999 
0    ,1    ,1808 ,127      ,2048 ,0    ,74.738         ,72.933              ,1.025 
0    ,1    ,1808 ,127      ,2048 ,23   ,73.708         ,69.817              ,1.056 
0    ,1    ,1808 ,127      ,240  ,0    ,11.466         ,12.936              ,0.886 
0    ,1    ,1808 ,127      ,240  ,23   ,52.31          ,74.244              ,0.705 
0    ,1    ,1856 ,127      ,192  ,0    ,11.493         ,12.777              ,0.9   
0    ,1    ,1856 ,127      ,192  ,23   ,56.637         ,75.554              ,0.75  
0    ,1    ,1856 ,127      ,2048 ,0    ,76.752         ,75.005              ,1.023 
0    ,1    ,1856 ,127      ,2048 ,23   ,75.763         ,75.647              ,1.002 
0    ,1    ,19   ,127      ,18   ,0    ,3.733          ,3.737               ,0.999 
0    ,1    ,19   ,127      ,18   ,23   ,3.709          ,3.721               ,0.997 
0    ,1    ,1904 ,127      ,144  ,0    ,9.908          ,10.968              ,0.903 
0    ,1    ,1904 ,127      ,144  ,23   ,54.074         ,73.718              ,0.734 
0    ,1    ,1904 ,127      ,2048 ,0    ,76.284         ,74.221              ,1.028 
0    ,1    ,1904 ,127      ,2048 ,23   ,76.677         ,75.992              ,1.009 
0    ,1    ,192  ,127      ,176  ,0    ,9.472          ,10.994              ,0.862 
0    ,1    ,192  ,127      ,176  ,23   ,11.123         ,12.382              ,0.898 
0    ,1    ,1952 ,127      ,2048 ,0    ,78.545         ,76.143              ,1.032 
0    ,1    ,1952 ,127      ,2048 ,23   ,77.067         ,79.001              ,0.976 
0    ,1    ,1952 ,127      ,96   ,0    ,5.921          ,7.117               ,0.832 
0    ,1    ,1952 ,127      ,96   ,23   ,78.832         ,77.729              ,1.014 
0    ,1    ,2    ,127      ,1    ,0    ,3.567          ,3.564               ,1.001 
0    ,1    ,2    ,127      ,1    ,23   ,3.474          ,3.479               ,0.999 
0    ,1    ,20   ,127      ,19   ,0    ,3.735          ,3.735               ,1.0   
0    ,1    ,20   ,127      ,19   ,23   ,3.724          ,3.732               ,0.998 
0    ,1    ,2000 ,127      ,2048 ,0    ,79.702         ,75.814              ,1.051 
0    ,1    ,2000 ,127      ,2048 ,23   ,82.662         ,80.546              ,1.026 
0    ,1    ,2000 ,127      ,48   ,0    ,4.641          ,5.922               ,0.784 
0    ,1    ,2000 ,127      ,48   ,23   ,78.879         ,80.783              ,0.976 
0    ,1    ,2048 ,127      ,0    ,0    ,3.782          ,3.626               ,1.043 
0    ,1    ,2048 ,127      ,0    ,23   ,88.244         ,81.961              ,1.077 
0    ,1    ,2048 ,127      ,1024 ,0    ,32.647         ,34.351              ,0.95  
0    ,1    ,2048 ,127      ,1024 ,23   ,63.059         ,63.135              ,0.999 
0    ,1    ,2048 ,127      ,128  ,0    ,10.048         ,10.918              ,0.92  
0    ,1    ,2048 ,127      ,128  ,23   ,59.186         ,76.42               ,0.774 
0    ,1    ,2048 ,127      ,144  ,0    ,9.887          ,10.926              ,0.905 
0    ,1    ,2048 ,127      ,144  ,23   ,58.821         ,78.417              ,0.75  
0    ,1    ,2048 ,127      ,1760 ,0    ,72.29          ,65.89               ,1.097 
0    ,1    ,2048 ,127      ,1760 ,23   ,67.317         ,70.046              ,0.961 
0    ,1    ,2048 ,127      ,1808 ,0    ,74.84          ,72.362              ,1.034 
0    ,1    ,2048 ,127      ,1808 ,23   ,66.716         ,67.123              ,0.994 
0    ,1    ,2048 ,127      ,1856 ,0    ,76.885         ,73.468              ,1.047 
0    ,1    ,2048 ,127      ,1856 ,23   ,65.625         ,65.874              ,0.996 
0    ,1    ,2048 ,127      ,1904 ,0    ,76.289         ,73.484              ,1.038 
0    ,1    ,2048 ,127      ,1904 ,23   ,68.284         ,72.223              ,0.945 
0    ,1    ,2048 ,127      ,192  ,0    ,11.595         ,12.834              ,0.903 
0    ,1    ,2048 ,127      ,192  ,23   ,83.689         ,78.987              ,1.06  
0    ,1    ,2048 ,127      ,1952 ,0    ,77.785         ,75.969              ,1.024 
0    ,1    ,2048 ,127      ,1952 ,23   ,66.755         ,70.554              ,0.946 
0    ,1    ,2048 ,127      ,2000 ,0    ,78.418         ,75.695              ,1.036 
0    ,1    ,2048 ,127      ,2000 ,23   ,71.465         ,70.069              ,1.02  
0    ,1    ,2048 ,127      ,2048 ,0    ,77.747         ,79.151              ,0.982 
0    ,1    ,2048 ,127      ,2048 ,23   ,79.178         ,75.595              ,1.047 
0    ,1    ,2048 ,127      ,240  ,0    ,11.527         ,12.989              ,0.887 
0    ,1    ,2048 ,127      ,240  ,23   ,69.117         ,80.272              ,0.861 
0    ,1    ,2048 ,127      ,256  ,0    ,13.007         ,14.606              ,0.891 
0    ,1    ,2048 ,127      ,256  ,23   ,83.298         ,73.27               ,1.137 
0    ,1    ,2048 ,127      ,288  ,0    ,12.933         ,14.597              ,0.886 
0    ,1    ,2048 ,127      ,288  ,23   ,82.111         ,83.34               ,0.985 
0    ,1    ,2048 ,127      ,32   ,0    ,4.737          ,4.775               ,0.992 
0    ,1    ,2048 ,127      ,32   ,23   ,78.505         ,82.154              ,0.956 
0    ,1    ,2048 ,127      ,4096 ,0    ,81.364         ,81.725              ,0.996 
0    ,1    ,2048 ,127      ,4096 ,23   ,80.334         ,74.208              ,1.083 
0    ,1    ,2048 ,127      ,48   ,0    ,4.651          ,5.776               ,0.805 
0    ,1    ,2048 ,127      ,48   ,23   ,85.128         ,83.639              ,1.018 
0    ,1    ,2048 ,127      ,512  ,0    ,19.777         ,20.435              ,0.968 
0    ,1    ,2048 ,127      ,512  ,23   ,72.706         ,76.171              ,0.955 
0    ,1    ,2048 ,127      ,64   ,0    ,7.221          ,8.125               ,0.889 
0    ,1    ,2048 ,127      ,64   ,23   ,78.534         ,81.715              ,0.961 
0    ,1    ,2048 ,127      ,96   ,0    ,6.214          ,7.207               ,0.862 
0    ,1    ,2048 ,127      ,96   ,23   ,82.681         ,82.298              ,1.005 
0    ,1    ,208  ,127      ,16   ,0    ,3.591          ,3.628               ,0.99  
0    ,1    ,208  ,127      ,16   ,23   ,11.938         ,13.415              ,0.89  
0    ,1    ,208  ,127      ,192  ,0    ,11.149         ,12.75               ,0.874 
0    ,1    ,208  ,127      ,192  ,23   ,11.712         ,13.415              ,0.873 
0    ,1    ,208  ,127      ,256  ,0    ,11.173         ,12.8                ,0.873 
0    ,1    ,208  ,127      ,256  ,23   ,10.529         ,12.765              ,0.825 
0    ,1    ,208  ,127      ,48   ,0    ,4.648          ,5.711               ,0.814 
0    ,1    ,208  ,127      ,48   ,23   ,11.612         ,13.052              ,0.89  
0    ,1    ,208  ,127      ,64   ,0    ,5.235          ,6.257               ,0.837 
0    ,1    ,208  ,127      ,64   ,23   ,11.809         ,13.386              ,0.882 
0    ,1    ,2096 ,127      ,2048 ,0    ,80.173         ,79.245              ,1.012 
0    ,1    ,2096 ,127      ,2048 ,23   ,71.71          ,74.296              ,0.965 
0    ,1    ,21   ,127      ,20   ,0    ,3.705          ,3.715               ,0.997 
0    ,1    ,21   ,127      ,20   ,23   ,3.699          ,3.703               ,0.999 
0    ,1    ,2144 ,127      ,2048 ,0    ,81.623         ,79.436              ,1.028 
0    ,1    ,2144 ,127      ,2048 ,23   ,69.342         ,69.534              ,0.997 
0    ,1    ,2192 ,127      ,2048 ,0    ,79.678         ,81.904              ,0.973 
0    ,1    ,2192 ,127      ,2048 ,23   ,70.794         ,72.831              ,0.972 
0    ,1    ,22   ,127      ,21   ,0    ,3.69           ,3.695               ,0.999 
0    ,1    ,22   ,127      ,21   ,23   ,3.691          ,3.7                 ,0.997 
0    ,1    ,224  ,127      ,128  ,0    ,10.675         ,10.772              ,0.991 
0    ,1    ,224  ,127      ,128  ,23   ,12.065         ,12.436              ,0.97  
0    ,1    ,224  ,127      ,208  ,0    ,11.13          ,12.897              ,0.863 
0    ,1    ,224  ,127      ,208  ,23   ,11.075         ,12.8                ,0.865 
0    ,1    ,224  ,127      ,288  ,0    ,11.031         ,12.636              ,0.873 
0    ,1    ,224  ,127      ,288  ,23   ,10.654         ,12.748              ,0.836 
0    ,1    ,224  ,127      ,32   ,0    ,4.819          ,4.812               ,1.001 
0    ,1    ,224  ,127      ,32   ,23   ,11.908         ,13.53               ,0.88  
0    ,1    ,224  ,127      ,512  ,0    ,11.124         ,12.704              ,0.876 
0    ,1    ,224  ,127      ,512  ,23   ,10.477         ,12.634              ,0.829 
0    ,1    ,2240 ,127      ,2048 ,0    ,80.648         ,76.87               ,1.049 
0    ,1    ,2240 ,127      ,2048 ,23   ,71.957         ,72.525              ,0.992 
0    ,1    ,2288 ,127      ,2048 ,0    ,80.434         ,76.598              ,1.05  
0    ,1    ,2288 ,127      ,2048 ,23   ,72.331         ,73.156              ,0.989 
0    ,1    ,23   ,127      ,22   ,0    ,3.704          ,3.709               ,0.999 
0    ,1    ,23   ,127      ,22   ,23   ,3.733          ,3.727               ,1.002 
0    ,1    ,2336 ,127      ,2048 ,0    ,79.963         ,74.387              ,1.075 
0    ,1    ,2336 ,127      ,2048 ,23   ,72.296         ,72.702              ,0.994 
0    ,1    ,24   ,127      ,23   ,0    ,3.71           ,3.719               ,0.998 
0    ,1    ,24   ,127      ,23   ,23   ,3.704          ,3.759               ,0.985 
0    ,1    ,240  ,127      ,224  ,0    ,11.049         ,12.695              ,0.87  
0    ,1    ,240  ,127      ,224  ,23   ,11.624         ,13.28               ,0.875 
0    ,1    ,25   ,127      ,24   ,0    ,3.733          ,3.749               ,0.996 
0    ,1    ,25   ,127      ,24   ,23   ,3.698          ,3.695               ,1.001 
0    ,1    ,256  ,127      ,0    ,0    ,3.37           ,3.366               ,1.001 
0    ,1    ,256  ,127      ,0    ,23   ,13.22          ,14.761              ,0.896 
0    ,1    ,256  ,127      ,112  ,0    ,6.14           ,7.417               ,0.828 
0    ,1    ,256  ,127      ,112  ,23   ,11.638         ,13.641              ,0.853 
0    ,1    ,256  ,127      ,144  ,0    ,9.767          ,10.759              ,0.908 
0    ,1    ,256  ,127      ,144  ,23   ,13.663         ,14.306              ,0.955 
0    ,1    ,256  ,127      ,16   ,0    ,3.506          ,3.647               ,0.961 
0    ,1    ,256  ,127      ,16   ,23   ,14.096         ,16.019              ,0.88  
0    ,1    ,256  ,127      ,160  ,0    ,9.716          ,10.87               ,0.894 
0    ,1    ,256  ,127      ,160  ,23   ,12.678         ,14.429              ,0.879 
0    ,1    ,256  ,127      ,192  ,0    ,11.156         ,12.571              ,0.887 
0    ,1    ,256  ,127      ,192  ,23   ,13.887         ,14.705              ,0.944 
0    ,1    ,256  ,127      ,208  ,0    ,11.074         ,12.458              ,0.889 
0    ,1    ,256  ,127      ,208  ,23   ,13.711         ,14.331              ,0.957 
0    ,1    ,256  ,127      ,240  ,0    ,11.224         ,12.857              ,0.873 
0    ,1    ,256  ,127      ,240  ,23   ,13.125         ,14.22               ,0.923 
0    ,1    ,256  ,127      ,256  ,0    ,12.597         ,14.283              ,0.882 
0    ,1    ,256  ,127      ,256  ,23   ,12.154         ,14.09               ,0.863 
0    ,1    ,256  ,127      ,288  ,0    ,12.885         ,14.712              ,0.876 
0    ,1    ,256  ,127      ,288  ,23   ,12.466         ,14.646              ,0.851 
0    ,1    ,256  ,127      ,48   ,0    ,4.674          ,5.7                 ,0.82  
0    ,1    ,256  ,127      ,48   ,23   ,13.01          ,14.715              ,0.884 
0    ,1    ,256  ,127      ,64   ,0    ,5.267          ,6.387               ,0.825 
0    ,1    ,256  ,127      ,64   ,23   ,13.105         ,15.062              ,0.87  
0    ,1    ,256  ,127      ,96   ,0    ,6.543          ,6.909               ,0.947 
0    ,1    ,256  ,127      ,96   ,23   ,11.623         ,13.606              ,0.854 
0    ,1    ,26   ,127      ,25   ,0    ,3.7            ,3.709               ,0.998 
0    ,1    ,26   ,127      ,25   ,23   ,3.766          ,4.352               ,0.865 
0    ,1    ,27   ,127      ,26   ,0    ,3.681          ,3.947               ,0.933 
0    ,1    ,27   ,127      ,26   ,23   ,3.668          ,4.398               ,0.834 
0    ,1    ,272  ,127      ,128  ,0    ,10.053         ,10.934              ,0.919 
0    ,1    ,272  ,127      ,128  ,23   ,13.747         ,14.33               ,0.959 
0    ,1    ,272  ,127      ,240  ,0    ,11.105         ,12.569              ,0.884 
0    ,1    ,272  ,127      ,240  ,23   ,13.305         ,14.284              ,0.931 
0    ,1    ,272  ,127      ,256  ,0    ,12.583         ,14.344              ,0.877 
0    ,1    ,272  ,127      ,256  ,23   ,12.561         ,14.402              ,0.872 
0    ,1    ,272  ,127      ,32   ,0    ,4.822          ,4.83                ,0.998 
0    ,1    ,272  ,127      ,32   ,23   ,13.325         ,14.978              ,0.89  
0    ,1    ,272  ,127      ,512  ,0    ,12.503         ,14.272              ,0.876 
0    ,1    ,272  ,127      ,512  ,23   ,12.508         ,14.244              ,0.878 
0    ,1    ,28   ,127      ,27   ,0    ,3.672          ,4.37                ,0.84  
0    ,1    ,28   ,127      ,27   ,23   ,3.659          ,4.465               ,0.82  
0    ,1    ,288  ,127      ,272  ,0    ,12.534         ,14.043              ,0.893 
0    ,1    ,288  ,127      ,272  ,23   ,13.204         ,15.618              ,0.845 
0    ,1    ,29   ,127      ,28   ,0    ,3.635          ,4.457               ,0.816 
0    ,1    ,29   ,127      ,28   ,23   ,3.67           ,4.827               ,0.76  
0    ,1    ,3    ,127      ,2    ,0    ,3.584          ,3.592               ,0.998 
0    ,1    ,3    ,127      ,2    ,23   ,3.577          ,3.569               ,1.002 
0    ,1    ,30   ,127      ,29   ,0    ,3.596          ,4.365               ,0.824 
0    ,1    ,30   ,127      ,29   ,23   ,3.62           ,4.661               ,0.777 
0    ,1    ,304  ,127      ,16   ,0    ,3.653          ,3.666               ,0.996 
0    ,1    ,304  ,127      ,16   ,23   ,13.304         ,15.457              ,0.861 
0    ,1    ,304  ,127      ,256  ,0    ,12.587         ,14.097              ,0.893 
0    ,1    ,304  ,127      ,256  ,23   ,12.562         ,14.481              ,0.867 
0    ,1    ,304  ,127      ,64   ,0    ,5.279          ,6.555               ,0.805 
0    ,1    ,304  ,127      ,64   ,23   ,13.121         ,14.861              ,0.883 
0    ,1    ,31   ,127      ,30   ,0    ,3.586          ,4.467               ,0.803 
0    ,1    ,31   ,127      ,30   ,23   ,3.568          ,4.776               ,0.747 
0    ,1    ,32   ,127      ,0    ,0    ,3.645          ,3.648               ,0.999 
0    ,1    ,32   ,127      ,0    ,23   ,4.841          ,5.816               ,0.832 
0    ,1    ,32   ,127      ,128  ,0    ,4.627          ,5.595               ,0.827 
0    ,1    ,32   ,127      ,128  ,23   ,4.649          ,5.333               ,0.872 
0    ,1    ,32   ,127      ,144  ,0    ,4.776          ,5.245               ,0.911 
0    ,1    ,32   ,127      ,144  ,23   ,4.805          ,5.254               ,0.915 
0    ,1    ,32   ,127      ,16   ,0    ,3.53           ,3.534               ,0.999 
0    ,1    ,32   ,127      ,16   ,23   ,4.931          ,5.879               ,0.839 
0    ,1    ,32   ,127      ,192  ,0    ,4.807          ,5.028               ,0.956 
0    ,1    ,32   ,127      ,192  ,23   ,4.66           ,5.322               ,0.876 
0    ,1    ,32   ,127      ,240  ,0    ,4.811          ,4.83                ,0.996 
0    ,1    ,32   ,127      ,240  ,23   ,4.627          ,5.454               ,0.848 
0    ,1    ,32   ,127      ,288  ,0    ,4.822          ,4.831               ,0.998 
0    ,1    ,32   ,127      ,288  ,23   ,4.566          ,4.729               ,0.966 
0    ,1    ,32   ,127      ,31   ,0    ,3.564          ,4.746               ,0.751 
0    ,1    ,32   ,127      ,31   ,23   ,4.92           ,6.186               ,0.795 
0    ,1    ,32   ,127      ,32   ,0    ,4.869          ,5.902               ,0.825 
0    ,1    ,32   ,127      ,32   ,23   ,4.656          ,5.193               ,0.897 
0    ,1    ,32   ,127      ,48   ,0    ,4.859          ,6.062               ,0.802 
0    ,1    ,32   ,127      ,48   ,23   ,4.69           ,5.338               ,0.879 
0    ,1    ,32   ,127      ,96   ,0    ,4.681          ,5.639               ,0.83  
0    ,1    ,32   ,127      ,96   ,23   ,4.766          ,5.533               ,0.861 
0    ,1    ,320  ,127      ,128  ,0    ,9.939          ,10.727              ,0.927 
0    ,1    ,320  ,127      ,128  ,23   ,15.298         ,15.876              ,0.964 
0    ,1    ,320  ,127      ,192  ,0    ,11.04          ,12.492              ,0.884 
0    ,1    ,320  ,127      ,192  ,23   ,16.42          ,17.013              ,0.965 
0    ,1    ,320  ,127      ,32   ,0    ,4.835          ,4.834               ,1.0   
0    ,1    ,320  ,127      ,32   ,23   ,14.782         ,16.742              ,0.883 
0    ,1    ,320  ,127      ,512  ,0    ,14.196         ,15.898              ,0.893 
0    ,1    ,320  ,127      ,512  ,23   ,14.053         ,15.998              ,0.878 
0    ,1    ,352  ,127      ,256  ,0    ,12.7           ,14.27               ,0.89  
0    ,1    ,352  ,127      ,256  ,23   ,15.426         ,15.609              ,0.988 
0    ,1    ,352  ,127      ,64   ,0    ,5.422          ,6.416               ,0.845 
0    ,1    ,352  ,127      ,64   ,23   ,14.687         ,16.523              ,0.889 
0    ,1    ,368  ,127      ,128  ,0    ,9.913          ,10.831              ,0.915 
0    ,1    ,368  ,127      ,128  ,23   ,15.186         ,15.821              ,0.96  
0    ,1    ,368  ,127      ,144  ,0    ,9.51           ,11.059              ,0.86  
0    ,1    ,368  ,127      ,144  ,23   ,15.085         ,15.558              ,0.97  
0    ,1    ,368  ,127      ,512  ,0    ,14.234         ,15.896              ,0.895 
0    ,1    ,368  ,127      ,512  ,23   ,13.945         ,15.618              ,0.893 
0    ,1    ,4    ,127      ,3    ,0    ,3.632          ,3.617               ,1.004 
0    ,1    ,4    ,127      ,3    ,23   ,3.637          ,3.643               ,0.999 
0    ,1    ,400  ,127      ,256  ,0    ,12.559         ,14.284              ,0.879 
0    ,1    ,400  ,127      ,256  ,23   ,16.876         ,17.411              ,0.969 
0    ,1    ,416  ,127      ,128  ,0    ,9.837          ,10.848              ,0.907 
0    ,1    ,416  ,127      ,128  ,23   ,16.675         ,17.163              ,0.972 
0    ,1    ,416  ,127      ,512  ,0    ,16.474         ,17.564              ,0.938 
0    ,1    ,416  ,127      ,512  ,23   ,15.701         ,17.825              ,0.881 
0    ,1    ,416  ,127      ,96   ,0    ,5.938          ,7.292               ,0.814 
0    ,1    ,416  ,127      ,96   ,23   ,15.155         ,17.112              ,0.886 
0    ,1    ,448  ,127      ,256  ,0    ,12.521         ,14.474              ,0.865 
0    ,1    ,448  ,127      ,256  ,23   ,18.264         ,19.268              ,0.948 
0    ,1    ,464  ,127      ,48   ,0    ,4.874          ,5.896               ,0.827 
0    ,1    ,464  ,127      ,48   ,23   ,17.857         ,19.505              ,0.916 
0    ,1    ,464  ,127      ,512  ,0    ,17.821         ,19.223              ,0.927 
0    ,1    ,464  ,127      ,512  ,23   ,17.551         ,19.683              ,0.892 
0    ,1    ,48   ,127      ,32   ,0    ,4.791          ,5.543               ,0.864 
0    ,1    ,48   ,127      ,32   ,23   ,4.744          ,5.872               ,0.808 
0    ,1    ,496  ,127      ,256  ,0    ,12.58          ,14.438              ,0.871 
0    ,1    ,496  ,127      ,256  ,23   ,18.256         ,19.055              ,0.958 
0    ,1    ,5    ,127      ,4    ,0    ,3.653          ,3.663               ,0.997 
0    ,1    ,5    ,127      ,4    ,23   ,3.622          ,3.608               ,1.004 
0    ,1    ,512  ,127      ,0    ,0    ,3.573          ,3.4                 ,1.051 
0    ,1    ,512  ,127      ,0    ,23   ,20.054         ,21.502              ,0.933 
0    ,1    ,512  ,127      ,144  ,0    ,9.761          ,10.997              ,0.888 
0    ,1    ,512  ,127      ,144  ,23   ,19.22          ,20.417              ,0.941 
0    ,1    ,512  ,127      ,192  ,0    ,11.159         ,12.818              ,0.871 
0    ,1    ,512  ,127      ,192  ,23   ,19.607         ,20.825              ,0.941 
0    ,1    ,512  ,127      ,224  ,0    ,11.047         ,12.752              ,0.866 
0    ,1    ,512  ,127      ,224  ,23   ,19.094         ,20.966              ,0.911 
0    ,1    ,512  ,127      ,240  ,0    ,11.033         ,12.452              ,0.886 
0    ,1    ,512  ,127      ,240  ,23   ,19.086         ,20.511              ,0.931 
0    ,1    ,512  ,127      ,272  ,0    ,12.532         ,13.969              ,0.897 
0    ,1    ,512  ,127      ,272  ,23   ,19.826         ,20.773              ,0.954 
0    ,1    ,512  ,127      ,288  ,0    ,12.496         ,14.261              ,0.876 
0    ,1    ,512  ,127      ,288  ,23   ,19.445         ,20.762              ,0.937 
0    ,1    ,512  ,127      ,320  ,0    ,14.078         ,16.046              ,0.877 
0    ,1    ,512  ,127      ,320  ,23   ,20.954         ,21.579              ,0.971 
0    ,1    ,512  ,127      ,368  ,0    ,14.253         ,15.703              ,0.908 
0    ,1    ,512  ,127      ,368  ,23   ,19.604         ,20.677              ,0.948 
0    ,1    ,512  ,127      ,416  ,0    ,16.554         ,17.606              ,0.94  
0    ,1    ,512  ,127      ,416  ,23   ,19.012         ,21.311              ,0.892 
0    ,1    ,512  ,127      ,464  ,0    ,17.839         ,19.299              ,0.924 
0    ,1    ,512  ,127      ,464  ,23   ,22.135         ,22.763              ,0.972 
0    ,1    ,512  ,127      ,48   ,0    ,4.661          ,6.264               ,0.744 
0    ,1    ,512  ,127      ,48   ,23   ,19.491         ,21.405              ,0.911 
0    ,1    ,512  ,127      ,512  ,0    ,19.234         ,20.714              ,0.929 
0    ,1    ,512  ,127      ,512  ,23   ,19.288         ,20.435              ,0.944 
0    ,1    ,512  ,127      ,96   ,0    ,5.952          ,6.848               ,0.869 
0    ,1    ,512  ,127      ,96   ,23   ,18.592         ,20.281              ,0.917 
0    ,1    ,544  ,127      ,256  ,0    ,12.612         ,14.768              ,0.854 
0    ,1    ,544  ,127      ,256  ,23   ,20.733         ,21.594              ,0.96  
0    ,1    ,560  ,127      ,512  ,0    ,19.59          ,20.681              ,0.947 
0    ,1    ,560  ,127      ,512  ,23   ,19.847         ,21.351              ,0.93  
0    ,1    ,6    ,127      ,5    ,0    ,3.671          ,3.658               ,1.003 
0    ,1    ,6    ,127      ,5    ,23   ,3.663          ,3.665               ,1.0   
0    ,1    ,608  ,127      ,512  ,0    ,19.259         ,20.855              ,0.923 
0    ,1    ,608  ,127      ,512  ,23   ,21.831         ,22.177              ,0.984 
0    ,1    ,64   ,127      ,0    ,0    ,3.591          ,3.584               ,1.002 
0    ,1    ,64   ,127      ,0    ,23   ,6.11           ,7.48                ,0.817 
0    ,1    ,64   ,127      ,144  ,0    ,5.299          ,6.624               ,0.8   
0    ,1    ,64   ,127      ,144  ,23   ,6.103          ,7.954               ,0.767 
0    ,1    ,64   ,127      ,16   ,0    ,3.547          ,3.54                ,1.002 
0    ,1    ,64   ,127      ,16   ,23   ,6.239          ,7.433               ,0.839 
0    ,1    ,64   ,127      ,192  ,0    ,5.228          ,6.494               ,0.805 
0    ,1    ,64   ,127      ,192  ,23   ,6.089          ,7.405               ,0.822 
0    ,1    ,64   ,127      ,240  ,0    ,5.337          ,6.325               ,0.844 
0    ,1    ,64   ,127      ,240  ,23   ,5.933          ,7.424               ,0.799 
0    ,1    ,64   ,127      ,256  ,0    ,5.153          ,6.461               ,0.798 
0    ,1    ,64   ,127      ,256  ,23   ,6.065          ,7.338               ,0.827 
0    ,1    ,64   ,127      ,288  ,0    ,5.255          ,6.329               ,0.83  
0    ,1    ,64   ,127      ,288  ,23   ,6.204          ,7.661               ,0.81  
0    ,1    ,64   ,127      ,48   ,0    ,4.77           ,6.012               ,0.793 
0    ,1    ,64   ,127      ,48   ,23   ,6.232          ,6.901               ,0.903 
0    ,1    ,64   ,127      ,64   ,0    ,5.194          ,6.384               ,0.814 
0    ,1    ,64   ,127      ,64   ,23   ,6.168          ,7.698               ,0.801 
0    ,1    ,64   ,127      ,96   ,0    ,5.355          ,6.648               ,0.805 
0    ,1    ,64   ,127      ,96   ,23   ,6.225          ,7.239               ,0.86  
0    ,1    ,656  ,127      ,512  ,0    ,19.237         ,20.849              ,0.923 
0    ,1    ,656  ,127      ,512  ,23   ,25.157         ,25.417              ,0.99  
0    ,1    ,7    ,127      ,6    ,0    ,3.682          ,3.676               ,1.002 
0    ,1    ,7    ,127      ,6    ,23   ,3.681          ,3.686               ,0.999 
0    ,1    ,704  ,127      ,512  ,0    ,19.416         ,20.861              ,0.931 
0    ,1    ,704  ,127      ,512  ,23   ,26.922         ,27.455              ,0.981 
0    ,1    ,736  ,127      ,1024 ,0    ,23.724         ,25.647              ,0.925 
0    ,1    ,736  ,127      ,1024 ,23   ,24.28          ,25.158              ,0.965 
0    ,1    ,736  ,127      ,288  ,0    ,12.557         ,14.263              ,0.88  
0    ,1    ,736  ,127      ,288  ,23   ,24.1           ,25.359              ,0.95  
0    ,1    ,752  ,127      ,512  ,0    ,19.288         ,20.77               ,0.929 
0    ,1    ,752  ,127      ,512  ,23   ,24.721         ,25.492              ,0.97  
0    ,1    ,784  ,127      ,1024 ,0    ,25.562         ,27.595              ,0.926 
0    ,1    ,784  ,127      ,1024 ,23   ,25.672         ,26.564              ,0.966 
0    ,1    ,784  ,127      ,240  ,0    ,11.077         ,12.808              ,0.865 
0    ,1    ,784  ,127      ,240  ,23   ,25.631         ,27.289              ,0.939 
0    ,1    ,8    ,127      ,7    ,0    ,3.672          ,3.684               ,0.997 
0    ,1    ,8    ,127      ,7    ,23   ,3.673          ,3.677               ,0.999 
0    ,1    ,80   ,127      ,128  ,0    ,5.302          ,6.554               ,0.809 
0    ,1    ,80   ,127      ,128  ,23   ,6.077          ,7.276               ,0.835 
0    ,1    ,80   ,127      ,32   ,0    ,4.847          ,5.65                ,0.858 
0    ,1    ,80   ,127      ,32   ,23   ,5.625          ,7.083               ,0.794 
0    ,1    ,80   ,127      ,48   ,0    ,4.631          ,6.016               ,0.77  
0    ,1    ,80   ,127      ,48   ,23   ,5.831          ,7.136               ,0.817 
0    ,1    ,80   ,127      ,64   ,0    ,5.316          ,6.333               ,0.84  
0    ,1    ,80   ,127      ,64   ,23   ,5.267          ,6.441               ,0.818 
0    ,1    ,800  ,127      ,512  ,0    ,19.236         ,20.914              ,0.92  
0    ,1    ,800  ,127      ,512  ,23   ,27.817         ,28.042              ,0.992 
0    ,1    ,832  ,127      ,1024 ,0    ,27.381         ,28.889              ,0.948 
0    ,1    ,832  ,127      ,1024 ,23   ,27.413         ,28.736              ,0.954 
0    ,1    ,832  ,127      ,192  ,0    ,11.178         ,12.692              ,0.881 
0    ,1    ,832  ,127      ,192  ,23   ,27.812         ,28.661              ,0.97  
0    ,1    ,880  ,127      ,1024 ,0    ,27.289         ,29.033              ,0.94  
0    ,1    ,880  ,127      ,1024 ,23   ,27.349         ,28.569              ,0.957 
0    ,1    ,880  ,127      ,144  ,0    ,9.651          ,10.911              ,0.885 
0    ,1    ,880  ,127      ,144  ,23   ,27.463         ,28.561              ,0.962 
0    ,1    ,9    ,127      ,8    ,0    ,3.673          ,3.681               ,0.998 
0    ,1    ,9    ,127      ,8    ,23   ,3.677          ,3.681               ,0.999 
0    ,1    ,928  ,127      ,1024 ,0    ,29.345         ,30.681              ,0.956 
0    ,1    ,928  ,127      ,1024 ,23   ,28.9           ,30.428              ,0.95  
0    ,1    ,928  ,127      ,96   ,0    ,5.816          ,7.183               ,0.81  
0    ,1    ,928  ,127      ,96   ,23   ,28.379         ,30.276              ,0.937 
0    ,1    ,96   ,127      ,80   ,0    ,5.241          ,6.312               ,0.83  
0    ,1    ,96   ,127      ,80   ,23   ,6.822          ,8.131               ,0.839 
0    ,1    ,976  ,127      ,1024 ,0    ,30.829         ,32.366              ,0.953 
0    ,1    ,976  ,127      ,1024 ,23   ,30.546         ,32.039              ,0.953 
0    ,1    ,976  ,127      ,48   ,0    ,4.598          ,5.709               ,0.805 
0    ,1    ,976  ,127      ,48   ,23   ,31.183         ,32.569              ,0.957 
0    ,16   ,1    ,127      ,0    ,23   ,3.423          ,3.476               ,0.985 
0    ,16   ,10   ,127      ,9    ,23   ,3.672          ,3.68                ,0.998 
0    ,16   ,1024 ,127      ,0    ,23   ,35.156         ,35.625              ,0.987 
0    ,16   ,1024 ,127      ,1024 ,23   ,46.115         ,51.936              ,0.888 
0    ,16   ,1024 ,127      ,144  ,23   ,32.346         ,33.068              ,0.978 
0    ,16   ,1024 ,127      ,192  ,23   ,33.999         ,34.024              ,0.999 
0    ,16   ,1024 ,127      ,240  ,23   ,33.276         ,33.903              ,0.981 
0    ,16   ,1024 ,127      ,288  ,23   ,34.194         ,35.141              ,0.973 
0    ,16   ,1024 ,127      ,48   ,23   ,33.991         ,35.283              ,0.963 
0    ,16   ,1024 ,127      ,736  ,23   ,39.45          ,43.531              ,0.906 
0    ,16   ,1024 ,127      ,784  ,23   ,41.73          ,44.826              ,0.931 
0    ,16   ,1024 ,127      ,832  ,23   ,42.524         ,46.58               ,0.913 
0    ,16   ,1024 ,127      ,880  ,23   ,41.334         ,46.709              ,0.885 
0    ,16   ,1024 ,127      ,928  ,23   ,43.223         ,48.508              ,0.891 
0    ,16   ,1024 ,127      ,96   ,23   ,31.878         ,32.982              ,0.967 
0    ,16   ,1024 ,127      ,976  ,23   ,45.181         ,50.271              ,0.899 
0    ,16   ,1072 ,127      ,1024 ,23   ,44.743         ,52.252              ,0.856 
0    ,16   ,11   ,127      ,10   ,23   ,3.676          ,3.681               ,0.999 
0    ,16   ,112  ,127      ,144  ,23   ,6.145          ,7.762               ,0.792 
0    ,16   ,112  ,127      ,16   ,23   ,7.397          ,8.975               ,0.824 
0    ,16   ,112  ,127      ,256  ,23   ,6.223          ,7.516               ,0.828 
0    ,16   ,112  ,127      ,64   ,23   ,6.857          ,8.175               ,0.839 
0    ,16   ,112  ,127      ,96   ,23   ,6.036          ,8.011               ,0.753 
0    ,16   ,1120 ,127      ,1024 ,23   ,47.607         ,53.044              ,0.898 
0    ,16   ,1168 ,127      ,1024 ,23   ,49.148         ,54.622              ,0.9   
0    ,16   ,12   ,127      ,11   ,23   ,3.724          ,3.714               ,1.003 
0    ,16   ,1216 ,127      ,1024 ,23   ,50.295         ,56.053              ,0.897 
0    ,16   ,1264 ,127      ,1024 ,23   ,50.214         ,56.184              ,0.894 
0    ,16   ,128  ,127      ,0    ,23   ,10.092         ,11.285              ,0.894 
0    ,16   ,128  ,127      ,112  ,23   ,10.241         ,12.219              ,0.838 
0    ,16   ,128  ,127      ,128  ,23   ,8.506          ,9.882               ,0.861 
0    ,16   ,128  ,127      ,144  ,23   ,8.673          ,10.425              ,0.832 
0    ,16   ,128  ,127      ,192  ,23   ,8.597          ,10.005              ,0.859 
0    ,16   ,128  ,127      ,240  ,23   ,8.82           ,9.903               ,0.891 
0    ,16   ,128  ,127      ,288  ,23   ,9.115          ,9.831               ,0.927 
0    ,16   ,128  ,127      ,32   ,23   ,9.89           ,11.123              ,0.889 
0    ,16   ,128  ,127      ,48   ,23   ,9.811          ,10.943              ,0.897 
0    ,16   ,128  ,127      ,80   ,23   ,9.694          ,11.279              ,0.859 
0    ,16   ,128  ,127      ,96   ,23   ,8.558          ,10.178              ,0.841 
0    ,16   ,13   ,127      ,12   ,23   ,3.717          ,3.723               ,0.998 
0    ,16   ,1312 ,127      ,1024 ,23   ,51.791         ,56.858              ,0.911 
0    ,16   ,14   ,127      ,13   ,23   ,3.727          ,3.742               ,0.996 
0    ,16   ,144  ,127      ,128  ,23   ,9.626          ,11.354              ,0.848 
0    ,16   ,15   ,127      ,14   ,23   ,3.757          ,3.761               ,0.999 
0    ,16   ,16   ,127      ,0    ,23   ,3.44           ,3.463               ,0.994 
0    ,16   ,16   ,127      ,144  ,23   ,3.494          ,3.485               ,1.002 
0    ,16   ,16   ,127      ,15   ,23   ,3.759          ,3.737               ,1.006 
0    ,16   ,16   ,127      ,16   ,23   ,3.443          ,3.436               ,1.002 
0    ,16   ,16   ,127      ,192  ,23   ,3.441          ,3.446               ,0.998 
0    ,16   ,16   ,127      ,240  ,23   ,3.507          ,3.437               ,1.02  
0    ,16   ,16   ,127      ,256  ,23   ,4.063          ,4.208               ,0.965 
0    ,16   ,16   ,127      ,288  ,23   ,3.942          ,5.13                ,0.768 
0    ,16   ,16   ,127      ,48   ,23   ,3.506          ,3.49                ,1.004 
0    ,16   ,16   ,127      ,64   ,23   ,3.463          ,3.45                ,1.004 
0    ,16   ,16   ,127      ,96   ,23   ,3.556          ,3.59                ,0.991 
0    ,16   ,160  ,127      ,144  ,23   ,9.543          ,10.925              ,0.873 
0    ,16   ,160  ,127      ,16   ,23   ,11.937         ,13.496              ,0.884 
0    ,16   ,160  ,127      ,256  ,23   ,9.598          ,10.946              ,0.877 
0    ,16   ,160  ,127      ,64   ,23   ,9.934          ,11.743              ,0.846 
0    ,16   ,160  ,127      ,96   ,23   ,8.443          ,10.136              ,0.833 
0    ,16   ,17   ,127      ,16   ,23   ,3.727          ,3.732               ,0.999 
0    ,16   ,176  ,127      ,128  ,23   ,9.582          ,11.262              ,0.851 
0    ,16   ,176  ,127      ,160  ,23   ,9.554          ,11.055              ,0.864 
0    ,16   ,176  ,127      ,32   ,23   ,9.86           ,11.081              ,0.89  
0    ,16   ,1760 ,127      ,2048 ,23   ,63.084         ,66.584              ,0.947 
0    ,16   ,1760 ,127      ,288  ,23   ,53.245         ,69.121              ,0.77  
0    ,16   ,18   ,127      ,17   ,23   ,3.742          ,3.752               ,0.997 
0    ,16   ,1808 ,127      ,2048 ,23   ,68.785         ,84.159              ,0.817 
0    ,16   ,1808 ,127      ,240  ,23   ,54.581         ,72.741              ,0.75  
0    ,16   ,1856 ,127      ,192  ,23   ,56.278         ,75.587              ,0.745 
0    ,16   ,1856 ,127      ,2048 ,23   ,73.053         ,80.743              ,0.905 
0    ,16   ,19   ,127      ,18   ,23   ,3.737          ,3.733               ,1.001 
0    ,16   ,1904 ,127      ,144  ,23   ,54.328         ,73.507              ,0.739 
0    ,16   ,1904 ,127      ,2048 ,23   ,74.909         ,92.431              ,0.81  
0    ,16   ,192  ,127      ,176  ,23   ,11.059         ,12.261              ,0.902 
0    ,16   ,1952 ,127      ,2048 ,23   ,78.504         ,90.135              ,0.871 
0    ,16   ,1952 ,127      ,96   ,23   ,79.378         ,74.225              ,1.069 
0    ,16   ,2    ,127      ,1    ,23   ,3.537          ,3.558               ,0.994 
0    ,16   ,20   ,127      ,19   ,23   ,3.709          ,3.708               ,1.0   
0    ,16   ,2000 ,127      ,2048 ,23   ,99.918         ,98.989              ,1.009 
0    ,16   ,2000 ,127      ,48   ,23   ,76.753         ,80.542              ,0.953 
0    ,16   ,2048 ,127      ,0    ,23   ,87.485         ,82.133              ,1.065 
0    ,16   ,2048 ,127      ,1024 ,23   ,72.783         ,76.22               ,0.955 
0    ,16   ,2048 ,127      ,128  ,23   ,59.247         ,78.764              ,0.752 
0    ,16   ,2048 ,127      ,144  ,23   ,59.192         ,79.441              ,0.745 
0    ,16   ,2048 ,127      ,1760 ,23   ,73.833         ,77.765              ,0.949 
0    ,16   ,2048 ,127      ,1808 ,23   ,74.339         ,77.085              ,0.964 
0    ,16   ,2048 ,127      ,1856 ,23   ,77.191         ,81.074              ,0.952 
0    ,16   ,2048 ,127      ,1904 ,23   ,76.824         ,82.066              ,0.936 
0    ,16   ,2048 ,127      ,192  ,23   ,86.203         ,80.613              ,1.069 
0    ,16   ,2048 ,127      ,1952 ,23   ,77.058         ,82.31               ,0.936 
0    ,16   ,2048 ,127      ,2000 ,23   ,77.78          ,81.103              ,0.959 
0    ,16   ,2048 ,127      ,2048 ,23   ,89.228         ,98.592              ,0.905 
0    ,16   ,2048 ,127      ,240  ,23   ,89.15          ,80.75               ,1.104 
0    ,16   ,2048 ,127      ,256  ,23   ,76.621         ,80.8                ,0.948 
0    ,16   ,2048 ,127      ,288  ,23   ,76.627         ,81.19               ,0.944 
0    ,16   ,2048 ,127      ,32   ,23   ,83.681         ,83.687              ,1.0   
0    ,16   ,2048 ,127      ,4096 ,23   ,66.343         ,66.725              ,0.994 
0    ,16   ,2048 ,127      ,48   ,23   ,85.866         ,82.182              ,1.045 
0    ,16   ,2048 ,127      ,512  ,23   ,66.063         ,86.839              ,0.761 
0    ,16   ,2048 ,127      ,64   ,23   ,81.378         ,82.892              ,0.982 
0    ,16   ,2048 ,127      ,96   ,23   ,83.878         ,82.449              ,1.017 
0    ,16   ,208  ,127      ,16   ,23   ,13.435         ,15.442              ,0.87  
0    ,16   ,208  ,127      ,192  ,23   ,11.717         ,13.484              ,0.869 
0    ,16   ,208  ,127      ,256  ,23   ,11.884         ,13.591              ,0.874 
0    ,16   ,208  ,127      ,48   ,23   ,11.524         ,12.662              ,0.91  
0    ,16   ,208  ,127      ,64   ,23   ,11.472         ,13.313              ,0.862 
0    ,16   ,2096 ,127      ,2048 ,23   ,93.442         ,101.974             ,0.916 
0    ,16   ,21   ,127      ,20   ,23   ,3.709          ,3.718               ,0.998 
0    ,16   ,2144 ,127      ,2048 ,23   ,80.888         ,84.367              ,0.959 
0    ,16   ,2192 ,127      ,2048 ,23   ,82.046         ,86.499              ,0.949 
0    ,16   ,22   ,127      ,21   ,23   ,3.733          ,3.746               ,0.997 
0    ,16   ,224  ,127      ,128  ,23   ,12.25          ,12.453              ,0.984 
0    ,16   ,224  ,127      ,208  ,23   ,11.703         ,13.484              ,0.868 
0    ,16   ,224  ,127      ,288  ,23   ,11.943         ,13.419              ,0.89  
0    ,16   ,224  ,127      ,32   ,23   ,11.735         ,13.127              ,0.894 
0    ,16   ,224  ,127      ,512  ,23   ,11.823         ,13.665              ,0.865 
0    ,16   ,2240 ,127      ,2048 ,23   ,82.929         ,86.557              ,0.958 
0    ,16   ,2288 ,127      ,2048 ,23   ,84.119         ,88.351              ,0.952 
0    ,16   ,23   ,127      ,22   ,23   ,3.697          ,3.701               ,0.999 
0    ,16   ,2336 ,127      ,2048 ,23   ,86.203         ,91.177              ,0.945 
0    ,16   ,24   ,127      ,23   ,23   ,3.708          ,3.727               ,0.995 
0    ,16   ,240  ,127      ,224  ,23   ,11.697         ,13.366              ,0.875 
0    ,16   ,25   ,127      ,24   ,23   ,3.686          ,3.691               ,0.998 
0    ,16   ,256  ,127      ,0    ,23   ,13.148         ,14.87               ,0.884 
0    ,16   ,256  ,127      ,112  ,23   ,11.602         ,13.654              ,0.85  
0    ,16   ,256  ,127      ,144  ,23   ,13.744         ,14.255              ,0.964 
0    ,16   ,256  ,127      ,16   ,23   ,14.073         ,15.819              ,0.89  
0    ,16   ,256  ,127      ,160  ,23   ,13.033         ,13.983              ,0.932 
0    ,16   ,256  ,127      ,192  ,23   ,15.173         ,15.751              ,0.963 
0    ,16   ,256  ,127      ,208  ,23   ,15.162         ,15.174              ,0.999 
0    ,16   ,256  ,127      ,240  ,23   ,14.087         ,15.432              ,0.913 
0    ,16   ,256  ,127      ,256  ,23   ,13.781         ,14.937              ,0.923 
0    ,16   ,256  ,127      ,288  ,23   ,14.053         ,15.58               ,0.902 
0    ,16   ,256  ,127      ,48   ,23   ,12.989         ,14.678              ,0.885 
0    ,16   ,256  ,127      ,64   ,23   ,13.104         ,14.815              ,0.885 
0    ,16   ,256  ,127      ,96   ,23   ,12.296         ,13.633              ,0.902 
0    ,16   ,26   ,127      ,25   ,23   ,3.694          ,4.014               ,0.92  
0    ,16   ,27   ,127      ,26   ,23   ,3.667          ,4.435               ,0.827 
0    ,16   ,272  ,127      ,128  ,23   ,14.104         ,14.31               ,0.986 
0    ,16   ,272  ,127      ,240  ,23   ,13.943         ,15.081              ,0.925 
0    ,16   ,272  ,127      ,256  ,23   ,14.874         ,16.778              ,0.886 
0    ,16   ,272  ,127      ,32   ,23   ,13.353         ,14.858              ,0.899 
0    ,16   ,272  ,127      ,512  ,23   ,15.361         ,16.809              ,0.914 
0    ,16   ,28   ,127      ,27   ,23   ,3.61           ,4.249               ,0.85  
0    ,16   ,288  ,127      ,272  ,23   ,14.759         ,16.717              ,0.883 
0    ,16   ,29   ,127      ,28   ,23   ,3.586          ,4.717               ,0.76  
0    ,16   ,3    ,127      ,2    ,23   ,3.55           ,3.552               ,1.0   
0    ,16   ,30   ,127      ,29   ,23   ,3.556          ,4.517               ,0.787 
0    ,16   ,304  ,127      ,16   ,23   ,13.226         ,15.267              ,0.866 
0    ,16   ,304  ,127      ,256  ,23   ,14.781         ,16.331              ,0.905 
0    ,16   ,304  ,127      ,64   ,23   ,13.231         ,14.884              ,0.889 
0    ,16   ,31   ,127      ,30   ,23   ,3.557          ,4.682               ,0.76  
0    ,16   ,32   ,127      ,0    ,23   ,4.746          ,5.742               ,0.827 
0    ,16   ,32   ,127      ,128  ,23   ,4.737          ,5.81                ,0.815 
0    ,16   ,32   ,127      ,144  ,23   ,4.794          ,5.435               ,0.882 
0    ,16   ,32   ,127      ,16   ,23   ,5.018          ,5.978               ,0.839 
0    ,16   ,32   ,127      ,192  ,23   ,4.794          ,5.239               ,0.915 
0    ,16   ,32   ,127      ,240  ,23   ,4.836          ,5.23                ,0.925 
0    ,16   ,32   ,127      ,288  ,23   ,4.991          ,5.088               ,0.981 
0    ,16   ,32   ,127      ,31   ,23   ,4.977          ,6.171               ,0.807 
0    ,16   ,32   ,127      ,32   ,23   ,4.722          ,5.156               ,0.916 
0    ,16   ,32   ,127      ,48   ,23   ,4.839          ,5.381               ,0.899 
0    ,16   ,32   ,127      ,96   ,23   ,4.767          ,5.31                ,0.898 
0    ,16   ,320  ,127      ,128  ,23   ,15.782         ,15.903              ,0.992 
0    ,16   ,320  ,127      ,192  ,23   ,16.323         ,16.866              ,0.968 
0    ,16   ,320  ,127      ,32   ,23   ,14.879         ,16.277              ,0.914 
0    ,16   ,320  ,127      ,512  ,23   ,16.451         ,17.92               ,0.918 
0    ,16   ,352  ,127      ,256  ,23   ,17.511         ,17.819              ,0.983 
0    ,16   ,352  ,127      ,64   ,23   ,14.815         ,16.341              ,0.907 
0    ,16   ,368  ,127      ,128  ,23   ,15.423         ,15.674              ,0.984 
0    ,16   ,368  ,127      ,144  ,23   ,15.187         ,15.589              ,0.974 
0    ,16   ,368  ,127      ,512  ,23   ,17.211         ,18.847              ,0.913 
0    ,16   ,4    ,127      ,3    ,23   ,3.626          ,3.626               ,1.0   
0    ,16   ,400  ,127      ,256  ,23   ,18.667         ,19.108              ,0.977 
0    ,16   ,416  ,127      ,128  ,23   ,17.039         ,17.143              ,0.994 
0    ,16   ,416  ,127      ,512  ,23   ,19.609         ,22.131              ,0.886 
0    ,16   ,416  ,127      ,96   ,23   ,15.149         ,16.801              ,0.902 
0    ,16   ,448  ,127      ,256  ,23   ,20.406         ,20.88               ,0.977 
0    ,16   ,464  ,127      ,48   ,23   ,17.838         ,19.562              ,0.912 
0    ,16   ,464  ,127      ,512  ,23   ,21.966         ,24.893              ,0.882 
0    ,16   ,48   ,127      ,32   ,23   ,4.756          ,5.976               ,0.796 
0    ,16   ,496  ,127      ,256  ,23   ,20.015         ,20.996              ,0.953 
0    ,16   ,5    ,127      ,4    ,23   ,3.64           ,3.645               ,0.999 
0    ,16   ,512  ,127      ,0    ,23   ,20.138         ,21.422              ,0.94  
0    ,16   ,512  ,127      ,144  ,23   ,19.299         ,20.491              ,0.942 
0    ,16   ,512  ,127      ,192  ,23   ,20.641         ,21.228              ,0.972 
0    ,16   ,512  ,127      ,224  ,23   ,19.919         ,21.418              ,0.93  
0    ,16   ,512  ,127      ,240  ,23   ,19.886         ,21.227              ,0.937 
0    ,16   ,512  ,127      ,272  ,23   ,21.673         ,22.245              ,0.974 
0    ,16   ,512  ,127      ,288  ,23   ,20.776         ,22.48               ,0.924 
0    ,16   ,512  ,127      ,320  ,23   ,22.71          ,23.222              ,0.978 
0    ,16   ,512  ,127      ,368  ,23   ,21.441         ,23.129              ,0.927 
0    ,16   ,512  ,127      ,416  ,23   ,22.708         ,24.682              ,0.92  
0    ,16   ,512  ,127      ,464  ,23   ,24.446         ,26.164              ,0.934 
0    ,16   ,512  ,127      ,48   ,23   ,19.545         ,21.413              ,0.913 
0    ,16   ,512  ,127      ,512  ,23   ,23.411         ,25.834              ,0.906 
0    ,16   ,512  ,127      ,96   ,23   ,18.371         ,20.211              ,0.909 
0    ,16   ,544  ,127      ,256  ,23   ,21.697         ,22.356              ,0.971 
0    ,16   ,560  ,127      ,512  ,23   ,23.957         ,27.865              ,0.86  
0    ,16   ,6    ,127      ,5    ,23   ,3.632          ,3.631               ,1.0   
0    ,16   ,608  ,127      ,512  ,23   ,27.142         ,28.995              ,0.936 
0    ,16   ,64   ,127      ,0    ,23   ,5.987          ,7.428               ,0.806 
0    ,16   ,64   ,127      ,144  ,23   ,5.619          ,7.135               ,0.787 
0    ,16   ,64   ,127      ,16   ,23   ,6.311          ,7.747               ,0.815 
0    ,16   ,64   ,127      ,192  ,23   ,5.832          ,6.837               ,0.853 
0    ,16   ,64   ,127      ,240  ,23   ,5.56           ,6.734               ,0.826 
0    ,16   ,64   ,127      ,256  ,23   ,5.577          ,7.227               ,0.772 
0    ,16   ,64   ,127      ,288  ,23   ,5.588          ,6.94                ,0.805 
0    ,16   ,64   ,127      ,48   ,23   ,6.014          ,6.969               ,0.863 
0    ,16   ,64   ,127      ,64   ,23   ,5.462          ,6.745               ,0.81  
0    ,16   ,64   ,127      ,96   ,23   ,5.712          ,6.962               ,0.82  
0    ,16   ,656  ,127      ,512  ,23   ,28.971         ,30.462              ,0.951 
0    ,16   ,7    ,127      ,6    ,23   ,3.667          ,3.676               ,0.998 
0    ,16   ,704  ,127      ,512  ,23   ,30.073         ,32.169              ,0.935 
0    ,16   ,736  ,127      ,1024 ,23   ,32.012         ,37.302              ,0.858 
0    ,16   ,736  ,127      ,288  ,23   ,25.764         ,26.994              ,0.954 
0    ,16   ,752  ,127      ,512  ,23   ,29.962         ,31.965              ,0.937 
0    ,16   ,784  ,127      ,1024 ,23   ,35.242         ,39.835              ,0.885 
0    ,16   ,784  ,127      ,240  ,23   ,26.927         ,27.763              ,0.97  
0    ,16   ,8    ,127      ,7    ,23   ,3.673          ,3.675               ,0.999 
0    ,16   ,80   ,127      ,128  ,23   ,5.101          ,6.469               ,0.789 
0    ,16   ,80   ,127      ,32   ,23   ,5.631          ,6.966               ,0.808 
0    ,16   ,80   ,127      ,48   ,23   ,5.592          ,7.347               ,0.761 
0    ,16   ,80   ,127      ,64   ,23   ,5.51           ,6.519               ,0.845 
0    ,16   ,800  ,127      ,512  ,23   ,31.451         ,33.341              ,0.943 
0    ,16   ,832  ,127      ,1024 ,23   ,37.751         ,41.145              ,0.918 
0    ,16   ,832  ,127      ,192  ,23   ,29.179         ,29.61               ,0.985 
0    ,16   ,880  ,127      ,1024 ,23   ,36.699         ,43.216              ,0.849 
0    ,16   ,880  ,127      ,144  ,23   ,27.501         ,28.428              ,0.967 
0    ,16   ,9    ,127      ,8    ,23   ,3.697          ,3.69                ,1.002 
0    ,16   ,928  ,127      ,1024 ,23   ,39.492         ,45.945              ,0.86  
0    ,16   ,928  ,127      ,96   ,23   ,28.492         ,29.903              ,0.953 
0    ,16   ,96   ,127      ,80   ,23   ,6.925          ,8.89                ,0.779 
0    ,16   ,976  ,127      ,1024 ,23   ,42.324         ,49.155              ,0.861 
0    ,16   ,976  ,127      ,48   ,23   ,30.692         ,33.073              ,0.928 
0    ,256  ,1    ,127      ,0    ,23   ,3.411          ,3.412               ,1.0   
0    ,256  ,10   ,127      ,9    ,23   ,3.686          ,3.684               ,1.0   
0    ,256  ,1024 ,127      ,0    ,23   ,34.709         ,35.556              ,0.976 
0    ,256  ,1024 ,127      ,1024 ,23   ,45.274         ,52.188              ,0.868 
0    ,256  ,1024 ,127      ,144  ,23   ,32.07          ,33.091              ,0.969 
0    ,256  ,1024 ,127      ,192  ,23   ,33.703         ,33.832              ,0.996 
0    ,256  ,1024 ,127      ,240  ,23   ,33.109         ,33.946              ,0.975 
0    ,256  ,1024 ,127      ,288  ,23   ,34.084         ,34.92               ,0.976 
0    ,256  ,1024 ,127      ,48   ,23   ,34.475         ,35.329              ,0.976 
0    ,256  ,1024 ,127      ,736  ,23   ,39.61          ,43.488              ,0.911 
0    ,256  ,1024 ,127      ,784  ,23   ,41.782         ,45.546              ,0.917 
0    ,256  ,1024 ,127      ,832  ,23   ,43.057         ,47.044              ,0.915 
0    ,256  ,1024 ,127      ,880  ,23   ,41.487         ,46.535              ,0.892 
0    ,256  ,1024 ,127      ,928  ,23   ,43.168         ,48.525              ,0.89  
0    ,256  ,1024 ,127      ,96   ,23   ,33.652         ,34.474              ,0.976 
0    ,256  ,1024 ,127      ,976  ,23   ,46.616         ,52.153              ,0.894 
0    ,256  ,1072 ,127      ,1024 ,23   ,44.604         ,52.102              ,0.856 
0    ,256  ,11   ,127      ,10   ,23   ,3.676          ,3.693               ,0.995 
0    ,256  ,112  ,127      ,144  ,23   ,5.759          ,8.036               ,0.717 
0    ,256  ,112  ,127      ,16   ,23   ,7.152          ,8.592               ,0.832 
0    ,256  ,112  ,127      ,256  ,23   ,6.546          ,7.122               ,0.919 
0    ,256  ,112  ,127      ,64   ,23   ,7.357          ,8.239               ,0.893 
0    ,256  ,112  ,127      ,96   ,23   ,6.03           ,7.705               ,0.783 
0    ,256  ,1120 ,127      ,1024 ,23   ,48.567         ,55.012              ,0.883 
0    ,256  ,1168 ,127      ,1024 ,23   ,50.174         ,56.468              ,0.889 
0    ,256  ,12   ,127      ,11   ,23   ,3.694          ,3.7                 ,0.999 
0    ,256  ,1216 ,127      ,1024 ,23   ,52.104         ,62.223              ,0.837 
0    ,256  ,1264 ,127      ,1024 ,23   ,51.973         ,61.665              ,0.843 
0    ,256  ,128  ,127      ,0    ,23   ,10.291         ,11.387              ,0.904 
0    ,256  ,128  ,127      ,112  ,23   ,10.013         ,12.404              ,0.807 
0    ,256  ,128  ,127      ,128  ,23   ,8.508          ,9.901               ,0.859 
0    ,256  ,128  ,127      ,144  ,23   ,8.673          ,10.408              ,0.833 
0    ,256  ,128  ,127      ,192  ,23   ,9.455          ,10.24               ,0.923 
0    ,256  ,128  ,127      ,240  ,23   ,9.477          ,9.951               ,0.952 
0    ,256  ,128  ,127      ,288  ,23   ,8.708          ,10.013              ,0.87  
0    ,256  ,128  ,127      ,32   ,23   ,10.207         ,11.374              ,0.897 
0    ,256  ,128  ,127      ,48   ,23   ,9.979          ,11.239              ,0.888 
0    ,256  ,128  ,127      ,80   ,23   ,9.717          ,11.026              ,0.881 
0    ,256  ,128  ,127      ,96   ,23   ,8.574          ,10.069              ,0.852 
0    ,256  ,13   ,127      ,12   ,23   ,3.728          ,3.724               ,1.001 
0    ,256  ,1312 ,127      ,1024 ,23   ,53.612         ,58.805              ,0.912 
0    ,256  ,14   ,127      ,13   ,23   ,3.758          ,3.727               ,1.008 
0    ,256  ,144  ,127      ,128  ,23   ,9.776          ,11.126              ,0.879 
0    ,256  ,15   ,127      ,14   ,23   ,3.741          ,3.747               ,0.999 
0    ,256  ,16   ,127      ,0    ,23   ,3.42           ,3.427               ,0.998 
0    ,256  ,16   ,127      ,144  ,23   ,3.522          ,3.526               ,0.999 
0    ,256  ,16   ,127      ,15   ,23   ,3.727          ,3.723               ,1.001 
0    ,256  ,16   ,127      ,16   ,23   ,3.44           ,3.436               ,1.001 
0    ,256  ,16   ,127      ,192  ,23   ,3.456          ,3.459               ,0.999 
0    ,256  ,16   ,127      ,240  ,23   ,3.449          ,3.422               ,1.008 
0    ,256  ,16   ,127      ,256  ,23   ,3.465          ,3.458               ,1.002 
0    ,256  ,16   ,127      ,288  ,23   ,3.449          ,3.969               ,0.869 
0    ,256  ,16   ,127      ,48   ,23   ,3.512          ,3.505               ,1.002 
0    ,256  ,16   ,127      ,64   ,23   ,3.448          ,3.455               ,0.998 
0    ,256  ,16   ,127      ,96   ,23   ,3.583          ,3.552               ,1.009 
0    ,256  ,160  ,127      ,144  ,23   ,9.741          ,11.038              ,0.883 
0    ,256  ,160  ,127      ,16   ,23   ,12.077         ,13.522              ,0.893 
0    ,256  ,160  ,127      ,256  ,23   ,9.67           ,10.917              ,0.886 
0    ,256  ,160  ,127      ,64   ,23   ,10.052         ,12.105              ,0.83  
0    ,256  ,160  ,127      ,96   ,23   ,8.69           ,10.045              ,0.865 
0    ,256  ,17   ,127      ,16   ,23   ,3.741          ,3.747               ,0.998 
0    ,256  ,176  ,127      ,128  ,23   ,9.853          ,10.804              ,0.912 
0    ,256  ,176  ,127      ,160  ,23   ,9.652          ,10.972              ,0.88  
0    ,256  ,176  ,127      ,32   ,23   ,9.892          ,11.296              ,0.876 
0    ,256  ,1760 ,127      ,2048 ,23   ,96.6           ,108.661             ,0.889 
0    ,256  ,1760 ,127      ,288  ,23   ,53.499         ,70.529              ,0.759 
0    ,256  ,18   ,127      ,17   ,23   ,3.694          ,3.699               ,0.999 
0    ,256  ,1808 ,127      ,2048 ,23   ,99.662         ,111.351             ,0.895 
0    ,256  ,1808 ,127      ,240  ,23   ,55.199         ,73.631              ,0.75  
0    ,256  ,1856 ,127      ,192  ,23   ,56.473         ,75.74               ,0.746 
0    ,256  ,1856 ,127      ,2048 ,23   ,100.381        ,112.404             ,0.893 
0    ,256  ,19   ,127      ,18   ,23   ,3.725          ,3.73                ,0.999 
0    ,256  ,1904 ,127      ,144  ,23   ,54.26          ,72.948              ,0.744 
0    ,256  ,1904 ,127      ,2048 ,23   ,100.691        ,115.118             ,0.875 
0    ,256  ,192  ,127      ,176  ,23   ,11.119         ,12.39               ,0.897 
0    ,256  ,1952 ,127      ,2048 ,23   ,124.851        ,122.253             ,1.021 
0    ,256  ,1952 ,127      ,96   ,23   ,78.921         ,74.065              ,1.066 
0    ,256  ,2    ,127      ,1    ,23   ,3.481          ,3.487               ,0.998 
0    ,256  ,20   ,127      ,19   ,23   ,3.699          ,3.714               ,0.996 
0    ,256  ,2000 ,127      ,2048 ,23   ,106.015        ,121.298             ,0.874 
0    ,256  ,2000 ,127      ,48   ,23   ,77.55          ,80.627              ,0.962 
0    ,256  ,2048 ,127      ,0    ,23   ,89.12          ,83.645              ,1.065 
0    ,256  ,2048 ,127      ,1024 ,23   ,72.634         ,75.941              ,0.956 
0    ,256  ,2048 ,127      ,128  ,23   ,59.134         ,79.509              ,0.744 
0    ,256  ,2048 ,127      ,144  ,23   ,75.153         ,97.646              ,0.77  
0    ,256  ,2048 ,127      ,1760 ,23   ,102.92         ,118.472             ,0.869 
0    ,256  ,2048 ,127      ,1808 ,23   ,106.085        ,118.723             ,0.894 
0    ,256  ,2048 ,127      ,1856 ,23   ,105.164        ,120.566             ,0.872 
0    ,256  ,2048 ,127      ,1904 ,23   ,103.725        ,120.612             ,0.86  
0    ,256  ,2048 ,127      ,192  ,23   ,85.861         ,80.948              ,1.061 
0    ,256  ,2048 ,127      ,1952 ,23   ,108.137        ,121.018             ,0.894 
0    ,256  ,2048 ,127      ,2000 ,23   ,107.436        ,122.155             ,0.88  
0    ,256  ,2048 ,127      ,2048 ,23   ,105.609        ,121.073             ,0.872 
0    ,256  ,2048 ,127      ,240  ,23   ,86.38          ,81.444              ,1.061 
0    ,256  ,2048 ,127      ,256  ,23   ,77.811         ,81.742              ,0.952 
0    ,256  ,2048 ,127      ,288  ,23   ,82.038         ,82.261              ,0.997 
0    ,256  ,2048 ,127      ,32   ,23   ,83.405         ,82.95               ,1.005 
0    ,256  ,2048 ,127      ,4096 ,23   ,108.251        ,121.632             ,0.89  
0    ,256  ,2048 ,127      ,48   ,23   ,80.984         ,79.95               ,1.013 
0    ,256  ,2048 ,127      ,512  ,23   ,65.482         ,85.708              ,0.764 
0    ,256  ,2048 ,127      ,64   ,23   ,81.546         ,81.911              ,0.996 
0    ,256  ,2048 ,127      ,96   ,23   ,81.451         ,80.689              ,1.009 
0    ,256  ,208  ,127      ,16   ,23   ,13.609         ,15.418              ,0.883 
0    ,256  ,208  ,127      ,192  ,23   ,11.816         ,13.444              ,0.879 
0    ,256  ,208  ,127      ,256  ,23   ,11.905         ,13.285              ,0.896 
0    ,256  ,208  ,127      ,48   ,23   ,11.446         ,12.963              ,0.883 
0    ,256  ,208  ,127      ,64   ,23   ,11.48          ,13.384              ,0.858 
0    ,256  ,2096 ,127      ,2048 ,23   ,109.087        ,126.066             ,0.865 
0    ,256  ,21   ,127      ,20   ,23   ,3.704          ,3.707               ,0.999 
0    ,256  ,2144 ,127      ,2048 ,23   ,109.486        ,125.478             ,0.873 
0    ,256  ,2192 ,127      ,2048 ,23   ,135.983        ,130.385             ,1.043 
0    ,256  ,22   ,127      ,21   ,23   ,3.689          ,3.704               ,0.996 
0    ,256  ,224  ,127      ,128  ,23   ,12.611         ,12.678              ,0.995 
0    ,256  ,224  ,127      ,208  ,23   ,11.663         ,13.529              ,0.862 
0    ,256  ,224  ,127      ,288  ,23   ,11.764         ,13.531              ,0.869 
0    ,256  ,224  ,127      ,32   ,23   ,11.551         ,13.114              ,0.881 
0    ,256  ,224  ,127      ,512  ,23   ,12.103         ,13.777              ,0.879 
0    ,256  ,2240 ,127      ,2048 ,23   ,115.602        ,129.427             ,0.893 
0    ,256  ,2288 ,127      ,2048 ,23   ,113.611        ,131.4               ,0.865 
0    ,256  ,23   ,127      ,22   ,23   ,3.697          ,3.706               ,0.998 
0    ,256  ,2336 ,127      ,2048 ,23   ,116.71         ,131.11              ,0.89  
0    ,256  ,24   ,127      ,23   ,23   ,3.69           ,3.699               ,0.998 
0    ,256  ,240  ,127      ,224  ,23   ,11.676         ,13.415              ,0.87  
0    ,256  ,25   ,127      ,24   ,23   ,3.703          ,3.707               ,0.999 
0    ,256  ,256  ,127      ,0    ,23   ,13.206         ,14.905              ,0.886 
0    ,256  ,256  ,127      ,112  ,23   ,11.793         ,13.555              ,0.87  
0    ,256  ,256  ,127      ,144  ,23   ,14.229         ,14.538              ,0.979 
0    ,256  ,256  ,127      ,16   ,23   ,14.062         ,15.819              ,0.889 
0    ,256  ,256  ,127      ,160  ,23   ,13.551         ,13.99               ,0.969 
0    ,256  ,256  ,127      ,192  ,23   ,15.303         ,15.686              ,0.976 
0    ,256  ,256  ,127      ,208  ,23   ,15.876         ,15.401              ,1.031 
0    ,256  ,256  ,127      ,240  ,23   ,14.077         ,15.305              ,0.92  
0    ,256  ,256  ,127      ,256  ,23   ,13.849         ,15.122              ,0.916 
0    ,256  ,256  ,127      ,288  ,23   ,14.039         ,15.513              ,0.905 
0    ,256  ,256  ,127      ,48   ,23   ,13.063         ,15.006              ,0.87  
0    ,256  ,256  ,127      ,64   ,23   ,13.097         ,14.9                ,0.879 
0    ,256  ,256  ,127      ,96   ,23   ,12.041         ,13.591              ,0.886 
0    ,256  ,26   ,127      ,25   ,23   ,3.684          ,3.919               ,0.94  
0    ,256  ,27   ,127      ,26   ,23   ,3.687          ,4.32                ,0.854 
0    ,256  ,272  ,127      ,128  ,23   ,14.05          ,14.025              ,1.002 
0    ,256  ,272  ,127      ,240  ,23   ,13.934         ,15.159              ,0.919 
0    ,256  ,272  ,127      ,256  ,23   ,14.791         ,16.623              ,0.89  
0    ,256  ,272  ,127      ,32   ,23   ,13.133         ,14.673              ,0.895 
0    ,256  ,272  ,127      ,512  ,23   ,15.565         ,17.073              ,0.912 
0    ,256  ,28   ,127      ,27   ,23   ,3.635          ,4.447               ,0.817 
0    ,256  ,288  ,127      ,272  ,23   ,14.816         ,16.57               ,0.894 
0    ,256  ,29   ,127      ,28   ,23   ,3.599          ,4.758               ,0.756 
0    ,256  ,3    ,127      ,2    ,23   ,3.601          ,3.605               ,0.999 
0    ,256  ,30   ,127      ,29   ,23   ,3.555          ,4.478               ,0.794 
0    ,256  ,304  ,127      ,16   ,23   ,13.191         ,15.236              ,0.866 
0    ,256  ,304  ,127      ,256  ,23   ,14.764         ,16.62               ,0.888 
0    ,256  ,304  ,127      ,64   ,23   ,12.998         ,14.505              ,0.896 
0    ,256  ,31   ,127      ,30   ,23   ,3.566          ,4.646               ,0.767 
0    ,256  ,32   ,127      ,0    ,23   ,4.846          ,5.699               ,0.85  
0    ,256  ,32   ,127      ,128  ,23   ,4.771          ,5.539               ,0.861 
0    ,256  ,32   ,127      ,144  ,23   ,4.874          ,5.301               ,0.919 
0    ,256  ,32   ,127      ,16   ,23   ,4.943          ,6.15                ,0.804 
0    ,256  ,32   ,127      ,192  ,23   ,4.817          ,5.222               ,0.922 
0    ,256  ,32   ,127      ,240  ,23   ,4.759          ,5.217               ,0.912 
0    ,256  ,32   ,127      ,288  ,23   ,4.935          ,4.967               ,0.994 
0    ,256  ,32   ,127      ,31   ,23   ,4.958          ,6.072               ,0.817 
0    ,256  ,32   ,127      ,32   ,23   ,4.797          ,5.177               ,0.927 
0    ,256  ,32   ,127      ,48   ,23   ,4.848          ,5.526               ,0.877 
0    ,256  ,32   ,127      ,96   ,23   ,4.846          ,5.738               ,0.845 
0    ,256  ,320  ,127      ,128  ,23   ,17.561         ,17.135              ,1.025 
0    ,256  ,320  ,127      ,192  ,23   ,16.239         ,16.659              ,0.975 
0    ,256  ,320  ,127      ,32   ,23   ,16.288         ,18.004              ,0.905 
0    ,256  ,320  ,127      ,512  ,23   ,16.393         ,17.792              ,0.921 
0    ,256  ,352  ,127      ,256  ,23   ,17.41          ,17.634              ,0.987 
0    ,256  ,352  ,127      ,64   ,23   ,16.285         ,17.774              ,0.916 
0    ,256  ,368  ,127      ,128  ,23   ,16.755         ,16.958              ,0.988 
0    ,256  ,368  ,127      ,144  ,23   ,15.238         ,15.994              ,0.953 
0    ,256  ,368  ,127      ,512  ,23   ,17.195         ,18.66               ,0.921 
0    ,256  ,4    ,127      ,3    ,23   ,3.618          ,3.613               ,1.001 
0    ,256  ,400  ,127      ,256  ,23   ,20.116         ,20.573              ,0.978 
0    ,256  ,416  ,127      ,128  ,23   ,18.265         ,18.429              ,0.991 
0    ,256  ,416  ,127      ,512  ,23   ,19.667         ,22.126              ,0.889 
0    ,256  ,416  ,127      ,96   ,23   ,15.156         ,17.022              ,0.89  
0    ,256  ,448  ,127      ,256  ,23   ,21.112         ,22.16               ,0.953 
0    ,256  ,464  ,127      ,48   ,23   ,17.832         ,19.4                ,0.919 
0    ,256  ,464  ,127      ,512  ,23   ,21.967         ,24.716              ,0.889 
0    ,256  ,48   ,127      ,32   ,23   ,4.753          ,5.809               ,0.818 
0    ,256  ,496  ,127      ,256  ,23   ,21.503         ,22.245              ,0.967 
0    ,256  ,5    ,127      ,4    ,23   ,3.618          ,3.638               ,0.994 
0    ,256  ,512  ,127      ,0    ,23   ,21.293         ,22.854              ,0.932 
0    ,256  ,512  ,127      ,144  ,23   ,19.517         ,20.58               ,0.948 
0    ,256  ,512  ,127      ,192  ,23   ,20.597         ,21.183              ,0.972 
0    ,256  ,512  ,127      ,224  ,23   ,19.726         ,21.519              ,0.917 
0    ,256  ,512  ,127      ,240  ,23   ,19.967         ,21.324              ,0.936 
0    ,256  ,512  ,127      ,272  ,23   ,21.963         ,22.42               ,0.98  
0    ,256  ,512  ,127      ,288  ,23   ,21.693         ,22.394              ,0.969 
0    ,256  ,512  ,127      ,320  ,23   ,22.427         ,23.135              ,0.969 
0    ,256  ,512  ,127      ,368  ,23   ,21.574         ,23.369              ,0.923 
0    ,256  ,512  ,127      ,416  ,23   ,22.767         ,24.602              ,0.925 
0    ,256  ,512  ,127      ,464  ,23   ,25.806         ,27.773              ,0.929 
0    ,256  ,512  ,127      ,48   ,23   ,20.766         ,22.559              ,0.92  
0    ,256  ,512  ,127      ,512  ,23   ,24.747         ,27.864              ,0.888 
0    ,256  ,512  ,127      ,96   ,23   ,20.261         ,21.807              ,0.929 
0    ,256  ,544  ,127      ,256  ,23   ,22.772         ,23.891              ,0.953 
0    ,256  ,560  ,127      ,512  ,23   ,23.875         ,28.033              ,0.852 
0    ,256  ,6    ,127      ,5    ,23   ,3.635          ,3.652               ,0.995 
0    ,256  ,608  ,127      ,512  ,23   ,27.933         ,30.862              ,0.905 
0    ,256  ,64   ,127      ,0    ,23   ,6.107          ,7.522               ,0.812 
0    ,256  ,64   ,127      ,144  ,23   ,5.573          ,7.086               ,0.787 
0    ,256  ,64   ,127      ,16   ,23   ,6.229          ,7.81                ,0.798 
0    ,256  ,64   ,127      ,192  ,23   ,5.633          ,6.975               ,0.808 
0    ,256  ,64   ,127      ,240  ,23   ,5.521          ,6.79                ,0.813 
0    ,256  ,64   ,127      ,256  ,23   ,5.61           ,6.727               ,0.834 
0    ,256  ,64   ,127      ,288  ,23   ,5.601          ,7.077               ,0.791 
0    ,256  ,64   ,127      ,48   ,23   ,5.888          ,6.835               ,0.861 
0    ,256  ,64   ,127      ,64   ,23   ,5.486          ,6.603               ,0.831 
0    ,256  ,64   ,127      ,96   ,23   ,5.794          ,6.914               ,0.838 
0    ,256  ,656  ,127      ,512  ,23   ,29.612         ,32.328              ,0.916 
0    ,256  ,7    ,127      ,6    ,23   ,3.667          ,3.671               ,0.999 
0    ,256  ,704  ,127      ,512  ,23   ,31.313         ,33.468              ,0.936 
0    ,256  ,736  ,127      ,1024 ,23   ,32.047         ,36.808              ,0.871 
0    ,256  ,736  ,127      ,288  ,23   ,25.736         ,27.07               ,0.951 
0    ,256  ,752  ,127      ,512  ,23   ,31.08          ,33.516              ,0.927 
0    ,256  ,784  ,127      ,1024 ,23   ,34.631         ,39.876              ,0.868 
0    ,256  ,784  ,127      ,240  ,23   ,26.905         ,27.933              ,0.963 
0    ,256  ,8    ,127      ,7    ,23   ,3.68           ,3.69                ,0.997 
0    ,256  ,80   ,127      ,128  ,23   ,5.225          ,6.739               ,0.775 
0    ,256  ,80   ,127      ,32   ,23   ,5.733          ,6.858               ,0.836 
0    ,256  ,80   ,127      ,48   ,23   ,5.568          ,7.196               ,0.774 
0    ,256  ,80   ,127      ,64   ,23   ,5.386          ,7.077               ,0.761 
0    ,256  ,800  ,127      ,512  ,23   ,33.027         ,34.808              ,0.949 
0    ,256  ,832  ,127      ,1024 ,23   ,36.505         ,41.175              ,0.887 
0    ,256  ,832  ,127      ,192  ,23   ,29.101         ,29.286              ,0.994 
0    ,256  ,880  ,127      ,1024 ,23   ,36.353         ,42.688              ,0.852 
0    ,256  ,880  ,127      ,144  ,23   ,27.392         ,28.384              ,0.965 
0    ,256  ,9    ,127      ,8    ,23   ,3.672          ,3.676               ,0.999 
0    ,256  ,928  ,127      ,1024 ,23   ,39.49          ,46.211              ,0.855 
0    ,256  ,928  ,127      ,96   ,23   ,28.702         ,30.43               ,0.943 
0    ,256  ,96   ,127      ,80   ,23   ,6.891          ,8.695               ,0.793 
0    ,256  ,976  ,127      ,1024 ,23   ,42.081         ,49.033              ,0.858 
0    ,256  ,976  ,127      ,48   ,23   ,31.039         ,32.831              ,0.945 
0    ,4    ,1    ,127      ,0    ,23   ,3.487          ,3.483               ,1.001 
0    ,4    ,10   ,127      ,9    ,23   ,3.672          ,3.676               ,0.999 
0    ,4    ,1024 ,127      ,0    ,23   ,35.088         ,35.799              ,0.98  
0    ,4    ,1024 ,127      ,1024 ,23   ,36.532         ,36.781              ,0.993 
0    ,4    ,1024 ,127      ,144  ,23   ,32.306         ,33.063              ,0.977 
0    ,4    ,1024 ,127      ,192  ,23   ,33.842         ,34.018              ,0.995 
0    ,4    ,1024 ,127      ,240  ,23   ,32.997         ,33.75               ,0.978 
0    ,4    ,1024 ,127      ,288  ,23   ,34.319         ,35.103              ,0.978 
0    ,4    ,1024 ,127      ,48   ,23   ,34.234         ,35.567              ,0.963 
0    ,4    ,1024 ,127      ,736  ,23   ,36.362         ,38.79               ,0.937 
0    ,4    ,1024 ,127      ,784  ,23   ,37.155         ,37.523              ,0.99  
0    ,4    ,1024 ,127      ,832  ,23   ,37.483         ,41.873              ,0.895 
0    ,4    ,1024 ,127      ,880  ,23   ,38.046         ,40.079              ,0.949 
0    ,4    ,1024 ,127      ,928  ,23   ,36.544         ,38.781              ,0.942 
0    ,4    ,1024 ,127      ,96   ,23   ,32.139         ,33.166              ,0.969 
0    ,4    ,1024 ,127      ,976  ,23   ,39.354         ,39.628              ,0.993 
0    ,4    ,1072 ,127      ,1024 ,23   ,38.495         ,39.141              ,0.984 
0    ,4    ,11   ,127      ,10   ,23   ,3.695          ,3.691               ,1.001 
0    ,4    ,112  ,127      ,144  ,23   ,5.946          ,7.881               ,0.755 
0    ,4    ,112  ,127      ,16   ,23   ,7.018          ,8.82                ,0.796 
0    ,4    ,112  ,127      ,256  ,23   ,7.148          ,8.811               ,0.811 
0    ,4    ,112  ,127      ,64   ,23   ,7.008          ,8.515               ,0.823 
0    ,4    ,112  ,127      ,96   ,23   ,6.209          ,7.835               ,0.793 
0    ,4    ,1120 ,127      ,1024 ,23   ,41.472         ,42.441              ,0.977 
0    ,4    ,1168 ,127      ,1024 ,23   ,42.698         ,44.814              ,0.953 
0    ,4    ,12   ,127      ,11   ,23   ,3.753          ,3.733               ,1.005 
0    ,4    ,1216 ,127      ,1024 ,23   ,44.024         ,45.246              ,0.973 
0    ,4    ,1264 ,127      ,1024 ,23   ,45.369         ,47.162              ,0.962 
0    ,4    ,128  ,127      ,0    ,23   ,9.94           ,11.416              ,0.871 
0    ,4    ,128  ,127      ,112  ,23   ,9.966          ,12.549              ,0.794 
0    ,4    ,128  ,127      ,128  ,23   ,8.554          ,9.86                ,0.868 
0    ,4    ,128  ,127      ,144  ,23   ,8.637          ,10.054              ,0.859 
0    ,4    ,128  ,127      ,192  ,23   ,8.596          ,10.029              ,0.857 
0    ,4    ,128  ,127      ,240  ,23   ,8.663          ,10.525              ,0.823 
0    ,4    ,128  ,127      ,288  ,23   ,9.681          ,11.264              ,0.859 
0    ,4    ,128  ,127      ,32   ,23   ,10.167         ,11.199              ,0.908 
0    ,4    ,128  ,127      ,48   ,23   ,9.971          ,11.3                ,0.882 
0    ,4    ,128  ,127      ,80   ,23   ,9.776          ,10.966              ,0.892 
0    ,4    ,128  ,127      ,96   ,23   ,8.636          ,10.134              ,0.852 
0    ,4    ,13   ,127      ,12   ,23   ,3.756          ,3.761               ,0.999 
0    ,4    ,1312 ,127      ,1024 ,23   ,44.547         ,45.754              ,0.974 
0    ,4    ,14   ,127      ,13   ,23   ,3.732          ,3.747               ,0.996 
0    ,4    ,144  ,127      ,128  ,23   ,10.127         ,10.97               ,0.923 
0    ,4    ,15   ,127      ,14   ,23   ,3.765          ,3.775               ,0.997 
0    ,4    ,16   ,127      ,0    ,23   ,3.486          ,3.454               ,1.009 
0    ,4    ,16   ,127      ,144  ,23   ,4.053          ,4.049               ,1.001 
0    ,4    ,16   ,127      ,15   ,23   ,3.748          ,3.746               ,1.0   
0    ,4    ,16   ,127      ,16   ,23   ,3.495          ,3.484               ,1.003 
0    ,4    ,16   ,127      ,192  ,23   ,3.997          ,3.997               ,1.0   
0    ,4    ,16   ,127      ,240  ,23   ,4.024          ,3.986               ,1.009 
0    ,4    ,16   ,127      ,256  ,23   ,4.065          ,4.184               ,0.972 
0    ,4    ,16   ,127      ,288  ,23   ,3.979          ,4.677               ,0.851 
0    ,4    ,16   ,127      ,48   ,23   ,3.554          ,3.506               ,1.014 
0    ,4    ,16   ,127      ,64   ,23   ,3.98           ,4.086               ,0.974 
0    ,4    ,16   ,127      ,96   ,23   ,4.047          ,4.051               ,0.999 
0    ,4    ,160  ,127      ,144  ,23   ,9.849          ,11.009              ,0.895 
0    ,4    ,160  ,127      ,16   ,23   ,11.933         ,13.626              ,0.876 
0    ,4    ,160  ,127      ,256  ,23   ,9.79           ,11.149              ,0.878 
0    ,4    ,160  ,127      ,64   ,23   ,9.971          ,11.581              ,0.861 
0    ,4    ,160  ,127      ,96   ,23   ,8.583          ,10.209              ,0.841 
0    ,4    ,17   ,127      ,16   ,23   ,3.734          ,3.748               ,0.996 
0    ,4    ,176  ,127      ,128  ,23   ,9.491          ,11.309              ,0.839 
0    ,4    ,176  ,127      ,160  ,23   ,9.467          ,11.071              ,0.855 
0    ,4    ,176  ,127      ,32   ,23   ,9.901          ,11.688              ,0.847 
0    ,4    ,1760 ,127      ,2048 ,23   ,53.712         ,54.559              ,0.984 
0    ,4    ,1760 ,127      ,288  ,23   ,53.455         ,68.237              ,0.783 
0    ,4    ,18   ,127      ,17   ,23   ,3.708          ,3.72                ,0.997 
0    ,4    ,1808 ,127      ,2048 ,23   ,55.458         ,55.699              ,0.996 
0    ,4    ,1808 ,127      ,240  ,23   ,55.07          ,72.605              ,0.758 
0    ,4    ,1856 ,127      ,192  ,23   ,57.064         ,75.144              ,0.759 
0    ,4    ,1856 ,127      ,2048 ,23   ,57.648         ,57.765              ,0.998 
0    ,4    ,19   ,127      ,18   ,23   ,3.727          ,3.728               ,1.0   
0    ,4    ,1904 ,127      ,144  ,23   ,53.758         ,75.311              ,0.714 
0    ,4    ,1904 ,127      ,2048 ,23   ,58.335         ,57.869              ,1.008 
0    ,4    ,192  ,127      ,176  ,23   ,11.282         ,12.456              ,0.906 
0    ,4    ,1952 ,127      ,2048 ,23   ,59.45          ,59.715              ,0.996 
0    ,4    ,1952 ,127      ,96   ,23   ,78.648         ,74.899              ,1.05  
0    ,4    ,2    ,127      ,1    ,23   ,3.523          ,3.519               ,1.001 
0    ,4    ,20   ,127      ,19   ,23   ,3.699          ,3.701               ,0.999 
0    ,4    ,2000 ,127      ,2048 ,23   ,61.658         ,61.447              ,1.003 
0    ,4    ,2000 ,127      ,48   ,23   ,78.569         ,79.898              ,0.983 
0    ,4    ,2048 ,127      ,0    ,23   ,88.014         ,84.246              ,1.045 
0    ,4    ,2048 ,127      ,1024 ,23   ,64.842         ,65.933              ,0.983 
0    ,4    ,2048 ,127      ,128  ,23   ,58.983         ,78.869              ,0.748 
0    ,4    ,2048 ,127      ,144  ,23   ,59.302         ,80.038              ,0.741 
0    ,4    ,2048 ,127      ,1760 ,23   ,66.634         ,68.68               ,0.97  
0    ,4    ,2048 ,127      ,1808 ,23   ,67.537         ,67.691              ,0.998 
0    ,4    ,2048 ,127      ,1856 ,23   ,68.247         ,69.206              ,0.986 
0    ,4    ,2048 ,127      ,1904 ,23   ,68.615         ,69.063              ,0.994 
0    ,4    ,2048 ,127      ,192  ,23   ,82.408         ,80.87               ,1.019 
0    ,4    ,2048 ,127      ,1952 ,23   ,69.018         ,70.204              ,0.983 
0    ,4    ,2048 ,127      ,2000 ,23   ,71.407         ,71.917              ,0.993 
0    ,4    ,2048 ,127      ,2048 ,23   ,62.308         ,62.297              ,1.0   
0    ,4    ,2048 ,127      ,240  ,23   ,85.405         ,81.052              ,1.054 
0    ,4    ,2048 ,127      ,256  ,23   ,65.475         ,81.985              ,0.799 
0    ,4    ,2048 ,127      ,288  ,23   ,83.898         ,81.127              ,1.034 
0    ,4    ,2048 ,127      ,32   ,23   ,81.603         ,83.495              ,0.977 
0    ,4    ,2048 ,127      ,4096 ,23   ,59.799         ,60.581              ,0.987 
0    ,4    ,2048 ,127      ,48   ,23   ,86.377         ,83.332              ,1.037 
0    ,4    ,2048 ,127      ,512  ,23   ,81.995         ,89.633              ,0.915 
0    ,4    ,2048 ,127      ,64   ,23   ,80.486         ,82.866              ,0.971 
0    ,4    ,2048 ,127      ,96   ,23   ,83.451         ,82.836              ,1.007 
0    ,4    ,208  ,127      ,16   ,23   ,11.882         ,13.43               ,0.885 
0    ,4    ,208  ,127      ,192  ,23   ,11.884         ,13.32               ,0.892 
0    ,4    ,208  ,127      ,256  ,23   ,12.054         ,13.906              ,0.867 
0    ,4    ,208  ,127      ,48   ,23   ,11.496         ,13.008              ,0.884 
0    ,4    ,208  ,127      ,64   ,23   ,11.587         ,13.549              ,0.855 
0    ,4    ,2096 ,127      ,2048 ,23   ,71.654         ,72.334              ,0.991 
0    ,4    ,21   ,127      ,20   ,23   ,3.71           ,3.726               ,0.996 
0    ,4    ,2144 ,127      ,2048 ,23   ,78.692         ,78.067              ,1.008 
0    ,4    ,2192 ,127      ,2048 ,23   ,73.591         ,74.875              ,0.983 
0    ,4    ,22   ,127      ,21   ,23   ,3.733          ,3.731               ,1.0   
0    ,4    ,224  ,127      ,128  ,23   ,12.304         ,12.664              ,0.972 
0    ,4    ,224  ,127      ,208  ,23   ,11.724         ,13.224              ,0.887 
0    ,4    ,224  ,127      ,288  ,23   ,11.811         ,13.797              ,0.856 
0    ,4    ,224  ,127      ,32   ,23   ,11.783         ,13.401              ,0.879 
0    ,4    ,224  ,127      ,512  ,23   ,12.283         ,12.816              ,0.958 
0    ,4    ,2240 ,127      ,2048 ,23   ,71.418         ,71.731              ,0.996 
0    ,4    ,2288 ,127      ,2048 ,23   ,73.787         ,73.959              ,0.998 
0    ,4    ,23   ,127      ,22   ,23   ,3.71           ,3.714               ,0.999 
0    ,4    ,2336 ,127      ,2048 ,23   ,76.417         ,77.051              ,0.992 
0    ,4    ,24   ,127      ,23   ,23   ,3.69           ,3.695               ,0.999 
0    ,4    ,240  ,127      ,224  ,23   ,11.699         ,13.407              ,0.873 
0    ,4    ,25   ,127      ,24   ,23   ,3.696          ,3.7                 ,0.999 
0    ,4    ,256  ,127      ,0    ,23   ,13.175         ,14.916              ,0.883 
0    ,4    ,256  ,127      ,112  ,23   ,11.733         ,13.597              ,0.863 
0    ,4    ,256  ,127      ,144  ,23   ,13.758         ,14.227              ,0.967 
0    ,4    ,256  ,127      ,16   ,23   ,14.011         ,16.088              ,0.871 
0    ,4    ,256  ,127      ,160  ,23   ,12.872         ,14.245              ,0.904 
0    ,4    ,256  ,127      ,192  ,23   ,14.946         ,15.606              ,0.958 
0    ,4    ,256  ,127      ,208  ,23   ,14.959         ,15.547              ,0.962 
0    ,4    ,256  ,127      ,240  ,23   ,14.08          ,15.414              ,0.914 
0    ,4    ,256  ,127      ,256  ,23   ,14.899         ,14.784              ,1.008 
0    ,4    ,256  ,127      ,288  ,23   ,15.122         ,15.701              ,0.963 
0    ,4    ,256  ,127      ,48   ,23   ,13.193         ,14.705              ,0.897 
0    ,4    ,256  ,127      ,64   ,23   ,13.232         ,14.869              ,0.89  
0    ,4    ,256  ,127      ,96   ,23   ,12.125         ,13.907              ,0.872 
0    ,4    ,26   ,127      ,25   ,23   ,3.784          ,3.794               ,0.997 
0    ,4    ,27   ,127      ,26   ,23   ,3.811          ,4.602               ,0.828 
0    ,4    ,272  ,127      ,128  ,23   ,13.842         ,14.291              ,0.969 
0    ,4    ,272  ,127      ,240  ,23   ,14.653         ,15.561              ,0.942 
0    ,4    ,272  ,127      ,256  ,23   ,14.838         ,16.751              ,0.886 
0    ,4    ,272  ,127      ,32   ,23   ,13.459         ,15.027              ,0.896 
0    ,4    ,272  ,127      ,512  ,23   ,13.731         ,15.173              ,0.905 
0    ,4    ,28   ,127      ,27   ,23   ,3.636          ,4.669               ,0.779 
0    ,4    ,288  ,127      ,272  ,23   ,14.789         ,16.787              ,0.881 
0    ,4    ,29   ,127      ,28   ,23   ,3.719          ,4.744               ,0.784 
0    ,4    ,3    ,127      ,2    ,23   ,3.573          ,3.568               ,1.001 
0    ,4    ,30   ,127      ,29   ,23   ,3.614          ,4.445               ,0.813 
0    ,4    ,304  ,127      ,16   ,23   ,13.289         ,15.266              ,0.871 
0    ,4    ,304  ,127      ,256  ,23   ,15.052         ,16.634              ,0.905 
0    ,4    ,304  ,127      ,64   ,23   ,13.123         ,14.957              ,0.877 
0    ,4    ,31   ,127      ,30   ,23   ,3.543          ,4.653               ,0.761 
0    ,4    ,32   ,127      ,0    ,23   ,4.84           ,5.883               ,0.823 
0    ,4    ,32   ,127      ,128  ,23   ,4.882          ,6.274               ,0.778 
0    ,4    ,32   ,127      ,144  ,23   ,4.997          ,5.352               ,0.934 
0    ,4    ,32   ,127      ,16   ,23   ,5.05           ,5.737               ,0.88  
0    ,4    ,32   ,127      ,192  ,23   ,4.696          ,5.292               ,0.887 
0    ,4    ,32   ,127      ,240  ,23   ,4.824          ,5.315               ,0.908 
0    ,4    ,32   ,127      ,288  ,23   ,4.576          ,5.298               ,0.864 
0    ,4    ,32   ,127      ,31   ,23   ,4.885          ,6.199               ,0.788 
0    ,4    ,32   ,127      ,32   ,23   ,4.831          ,5.242               ,0.922 
0    ,4    ,32   ,127      ,48   ,23   ,4.873          ,5.114               ,0.953 
0    ,4    ,32   ,127      ,96   ,23   ,4.817          ,5.54                ,0.87  
0    ,4    ,320  ,127      ,128  ,23   ,15.269         ,16.163              ,0.945 
0    ,4    ,320  ,127      ,192  ,23   ,16.373         ,16.909              ,0.968 
0    ,4    ,320  ,127      ,32   ,23   ,14.899         ,16.804              ,0.887 
0    ,4    ,320  ,127      ,512  ,23   ,16.514         ,16.873              ,0.979 
0    ,4    ,352  ,127      ,256  ,23   ,17.465         ,18.182              ,0.961 
0    ,4    ,352  ,127      ,64   ,23   ,14.578         ,16.396              ,0.889 
0    ,4    ,368  ,127      ,128  ,23   ,15.143         ,15.633              ,0.969 
0    ,4    ,368  ,127      ,144  ,23   ,15.407         ,15.945              ,0.966 
0    ,4    ,368  ,127      ,512  ,23   ,16.472         ,16.683              ,0.987 
0    ,4    ,4    ,127      ,3    ,23   ,3.651          ,3.63                ,1.006 
0    ,4    ,400  ,127      ,256  ,23   ,18.655         ,19.162              ,0.974 
0    ,4    ,416  ,127      ,128  ,23   ,16.666         ,17.079              ,0.976 
0    ,4    ,416  ,127      ,512  ,23   ,17.694         ,19.41               ,0.912 
0    ,4    ,416  ,127      ,96   ,23   ,15.159         ,17.093              ,0.887 
0    ,4    ,448  ,127      ,256  ,23   ,20.259         ,20.835              ,0.972 
0    ,4    ,464  ,127      ,48   ,23   ,17.868         ,19.735              ,0.905 
0    ,4    ,464  ,127      ,512  ,23   ,20.457         ,20.864              ,0.981 
0    ,4    ,48   ,127      ,32   ,23   ,4.758          ,6.032               ,0.789 
0    ,4    ,496  ,127      ,256  ,23   ,20.028         ,21.012              ,0.953 
0    ,4    ,5    ,127      ,4    ,23   ,3.656          ,3.657               ,1.0   
0    ,4    ,512  ,127      ,0    ,23   ,20.213         ,21.638              ,0.934 
0    ,4    ,512  ,127      ,144  ,23   ,19.229         ,20.362              ,0.944 
0    ,4    ,512  ,127      ,192  ,23   ,20.727         ,21.305              ,0.973 
0    ,4    ,512  ,127      ,224  ,23   ,19.978         ,21.341              ,0.936 
0    ,4    ,512  ,127      ,240  ,23   ,19.722         ,21.646              ,0.911 
0    ,4    ,512  ,127      ,272  ,23   ,21.835         ,22.32               ,0.978 
0    ,4    ,512  ,127      ,288  ,23   ,20.791         ,22.309              ,0.932 
0    ,4    ,512  ,127      ,320  ,23   ,21.715         ,22.348              ,0.972 
0    ,4    ,512  ,127      ,368  ,23   ,20.717         ,22.498              ,0.921 
0    ,4    ,512  ,127      ,416  ,23   ,21.48          ,23.417              ,0.917 
0    ,4    ,512  ,127      ,464  ,23   ,21.983         ,22.526              ,0.976 
0    ,4    ,512  ,127      ,48   ,23   ,19.467         ,21.459              ,0.907 
0    ,4    ,512  ,127      ,512  ,23   ,21.556         ,22.18               ,0.972 
0    ,4    ,512  ,127      ,96   ,23   ,18.418         ,20.613              ,0.894 
0    ,4    ,544  ,127      ,256  ,23   ,21.565         ,22.443              ,0.961 
0    ,4    ,560  ,127      ,512  ,23   ,22.296         ,24.882              ,0.896 
0    ,4    ,6    ,127      ,5    ,23   ,3.641          ,3.644               ,0.999 
0    ,4    ,608  ,127      ,512  ,23   ,25.329         ,26.104              ,0.97  
0    ,4    ,64   ,127      ,0    ,23   ,6.115          ,7.521               ,0.813 
0    ,4    ,64   ,127      ,144  ,23   ,5.601          ,7.039               ,0.796 
0    ,4    ,64   ,127      ,16   ,23   ,6.232          ,7.576               ,0.823 
0    ,4    ,64   ,127      ,192  ,23   ,5.577          ,7.049               ,0.791 
0    ,4    ,64   ,127      ,240  ,23   ,5.614          ,7.129               ,0.788 
0    ,4    ,64   ,127      ,256  ,23   ,5.995          ,7.719               ,0.777 
0    ,4    ,64   ,127      ,288  ,23   ,6.475          ,7.773               ,0.833 
0    ,4    ,64   ,127      ,48   ,23   ,5.991          ,7.007               ,0.855 
0    ,4    ,64   ,127      ,64   ,23   ,5.507          ,6.613               ,0.833 
0    ,4    ,64   ,127      ,96   ,23   ,5.654          ,7.243               ,0.781 
0    ,4    ,656  ,127      ,512  ,23   ,26.114         ,26.541              ,0.984 
0    ,4    ,7    ,127      ,6    ,23   ,3.672          ,3.677               ,0.999 
0    ,4    ,704  ,127      ,512  ,23   ,28.874         ,29.88               ,0.966 
0    ,4    ,736  ,127      ,1024 ,23   ,25.831         ,26.654              ,0.969 
0    ,4    ,736  ,127      ,288  ,23   ,25.879         ,27.268              ,0.949 
0    ,4    ,752  ,127      ,512  ,23   ,29.208         ,30.644              ,0.953 
0    ,4    ,784  ,127      ,1024 ,23   ,27.628         ,29.265              ,0.944 
0    ,4    ,784  ,127      ,240  ,23   ,26.804         ,27.815              ,0.964 
0    ,4    ,8    ,127      ,7    ,23   ,3.672          ,3.676               ,0.999 
0    ,4    ,80   ,127      ,128  ,23   ,5.119          ,6.532               ,0.784 
0    ,4    ,80   ,127      ,32   ,23   ,5.646          ,7.295               ,0.774 
0    ,4    ,80   ,127      ,48   ,23   ,5.663          ,7.321               ,0.773 
0    ,4    ,80   ,127      ,64   ,23   ,5.202          ,6.616               ,0.786 
0    ,4    ,800  ,127      ,512  ,23   ,30.149         ,31.294              ,0.963 
0    ,4    ,832  ,127      ,1024 ,23   ,30.554         ,30.594              ,0.999 
0    ,4    ,832  ,127      ,192  ,23   ,29.195         ,29.332              ,0.995 
0    ,4    ,880  ,127      ,1024 ,23   ,30.665         ,31.135              ,0.985 
0    ,4    ,880  ,127      ,144  ,23   ,27.531         ,28.4                ,0.969 
0    ,4    ,9    ,127      ,8    ,23   ,3.676          ,3.68                ,0.999 
0    ,4    ,928  ,127      ,1024 ,23   ,32.165         ,32.648              ,0.985 
0    ,4    ,928  ,127      ,96   ,23   ,29.012         ,29.832              ,0.973 
0    ,4    ,96   ,127      ,80   ,23   ,7.17           ,8.775               ,0.817 
0    ,4    ,976  ,127      ,1024 ,23   ,33.58          ,34.26               ,0.98  
0    ,4    ,976  ,127      ,48   ,23   ,30.879         ,32.767              ,0.942 
0    ,64   ,1    ,127      ,0    ,23   ,3.477          ,3.46                ,1.005 
0    ,64   ,10   ,127      ,9    ,23   ,3.68           ,3.686               ,0.999 
0    ,64   ,1024 ,127      ,0    ,23   ,35.631         ,35.876              ,0.993 
0    ,64   ,1024 ,127      ,1024 ,23   ,45.181         ,51.777              ,0.873 
0    ,64   ,1024 ,127      ,144  ,23   ,32.18          ,33.228              ,0.968 
0    ,64   ,1024 ,127      ,192  ,23   ,34.128         ,34.105              ,1.001 
0    ,64   ,1024 ,127      ,240  ,23   ,33.026         ,33.942              ,0.973 
0    ,64   ,1024 ,127      ,288  ,23   ,34.054         ,35.033              ,0.972 
0    ,64   ,1024 ,127      ,48   ,23   ,34.209         ,35.787              ,0.956 
0    ,64   ,1024 ,127      ,736  ,23   ,39.5           ,43.527              ,0.907 
0    ,64   ,1024 ,127      ,784  ,23   ,41.692         ,44.959              ,0.927 
0    ,64   ,1024 ,127      ,832  ,23   ,42.868         ,46.789              ,0.916 
0    ,64   ,1024 ,127      ,880  ,23   ,41.615         ,46.687              ,0.891 
0    ,64   ,1024 ,127      ,928  ,23   ,42.763         ,48.59               ,0.88  
0    ,64   ,1024 ,127      ,96   ,23   ,31.607         ,33.517              ,0.943 
0    ,64   ,1024 ,127      ,976  ,23   ,45.214         ,50.379              ,0.897 
0    ,64   ,1072 ,127      ,1024 ,23   ,44.69          ,52.169              ,0.857 
0    ,64   ,11   ,127      ,10   ,23   ,3.69           ,3.695               ,0.999 
0    ,64   ,112  ,127      ,144  ,23   ,5.793          ,7.603               ,0.762 
0    ,64   ,112  ,127      ,16   ,23   ,7.068          ,8.932               ,0.791 
0    ,64   ,112  ,127      ,256  ,23   ,6.182          ,7.265               ,0.851 
0    ,64   ,112  ,127      ,64   ,23   ,6.858          ,8.588               ,0.799 
0    ,64   ,112  ,127      ,96   ,23   ,5.911          ,7.981               ,0.741 
0    ,64   ,1120 ,127      ,1024 ,23   ,48.057         ,53.429              ,0.899 
0    ,64   ,1168 ,127      ,1024 ,23   ,48.896         ,54.819              ,0.892 
0    ,64   ,12   ,127      ,11   ,23   ,3.686          ,3.69                ,0.999 
0    ,64   ,1216 ,127      ,1024 ,23   ,52.335         ,60.571              ,0.864 
0    ,64   ,1264 ,127      ,1024 ,23   ,50.943         ,55.742              ,0.914 
0    ,64   ,128  ,127      ,0    ,23   ,10.083         ,11.255              ,0.896 
0    ,64   ,128  ,127      ,112  ,23   ,10.139         ,12.492              ,0.812 
0    ,64   ,128  ,127      ,128  ,23   ,8.529          ,9.939               ,0.858 
0    ,64   ,128  ,127      ,144  ,23   ,8.655          ,10.129              ,0.855 
0    ,64   ,128  ,127      ,192  ,23   ,8.766          ,10.197              ,0.86  
0    ,64   ,128  ,127      ,240  ,23   ,8.902          ,10.167              ,0.876 
0    ,64   ,128  ,127      ,288  ,23   ,8.909          ,10.185              ,0.875 
0    ,64   ,128  ,127      ,32   ,23   ,10.029         ,11.241              ,0.892 
0    ,64   ,128  ,127      ,48   ,23   ,9.828          ,11.021              ,0.892 
0    ,64   ,128  ,127      ,80   ,23   ,9.741          ,10.845              ,0.898 
0    ,64   ,128  ,127      ,96   ,23   ,8.592          ,10.001              ,0.859 
0    ,64   ,13   ,127      ,12   ,23   ,3.724          ,3.726               ,0.999 
0    ,64   ,1312 ,127      ,1024 ,23   ,52.227         ,57.168              ,0.914 
0    ,64   ,14   ,127      ,13   ,23   ,3.732          ,3.733               ,1.0   
0    ,64   ,144  ,127      ,128  ,23   ,9.849          ,11.39               ,0.865 
0    ,64   ,15   ,127      ,14   ,23   ,3.752          ,3.76                ,0.998 
0    ,64   ,16   ,127      ,0    ,23   ,3.444          ,3.423               ,1.006 
0    ,64   ,16   ,127      ,144  ,23   ,3.555          ,3.509               ,1.013 
0    ,64   ,16   ,127      ,15   ,23   ,3.756          ,3.76                ,0.999 
0    ,64   ,16   ,127      ,16   ,23   ,3.467          ,3.473               ,0.998 
0    ,64   ,16   ,127      ,192  ,23   ,3.464          ,3.467               ,0.999 
0    ,64   ,16   ,127      ,240  ,23   ,3.429          ,3.432               ,0.999 
0    ,64   ,16   ,127      ,256  ,23   ,3.533          ,3.541               ,0.998 
0    ,64   ,16   ,127      ,288  ,23   ,3.431          ,3.914               ,0.877 
0    ,64   ,16   ,127      ,48   ,23   ,3.498          ,3.491               ,1.002 
0    ,64   ,16   ,127      ,64   ,23   ,3.462          ,3.488               ,0.993 
0    ,64   ,16   ,127      ,96   ,23   ,3.498          ,3.503               ,0.998 
0    ,64   ,160  ,127      ,144  ,23   ,9.941          ,10.922              ,0.91  
0    ,64   ,160  ,127      ,16   ,23   ,12.535         ,13.57               ,0.924 
0    ,64   ,160  ,127      ,256  ,23   ,9.738          ,11.169              ,0.872 
0    ,64   ,160  ,127      ,64   ,23   ,9.907          ,11.578              ,0.856 
0    ,64   ,160  ,127      ,96   ,23   ,8.759          ,10.112              ,0.866 
0    ,64   ,17   ,127      ,16   ,23   ,3.727          ,3.734               ,0.998 
0    ,64   ,176  ,127      ,128  ,23   ,9.609          ,11.025              ,0.872 
0    ,64   ,176  ,127      ,160  ,23   ,9.717          ,10.7                ,0.908 
0    ,64   ,176  ,127      ,32   ,23   ,9.898          ,11.644              ,0.85  
0    ,64   ,1760 ,127      ,2048 ,23   ,95.593         ,108.833             ,0.878 
0    ,64   ,1760 ,127      ,288  ,23   ,53.134         ,68.014              ,0.781 
0    ,64   ,18   ,127      ,17   ,23   ,3.706          ,3.704               ,1.0   
0    ,64   ,1808 ,127      ,2048 ,23   ,98.905         ,112.156             ,0.882 
0    ,64   ,1808 ,127      ,240  ,23   ,54.856         ,72.125              ,0.761 
0    ,64   ,1856 ,127      ,192  ,23   ,57.624         ,75.466              ,0.764 
0    ,64   ,1856 ,127      ,2048 ,23   ,100.943        ,113.966             ,0.886 
0    ,64   ,19   ,127      ,18   ,23   ,3.723          ,3.734               ,0.997 
0    ,64   ,1904 ,127      ,144  ,23   ,53.812         ,72.327              ,0.744 
0    ,64   ,1904 ,127      ,2048 ,23   ,101.654        ,115.491             ,0.88  
0    ,64   ,192  ,127      ,176  ,23   ,11.159         ,12.463              ,0.895 
0    ,64   ,1952 ,127      ,2048 ,23   ,103.488        ,118.261             ,0.875 
0    ,64   ,1952 ,127      ,96   ,23   ,79.301         ,73.929              ,1.073 
0    ,64   ,2    ,127      ,1    ,23   ,3.515          ,3.483               ,1.009 
0    ,64   ,20   ,127      ,19   ,23   ,3.728          ,3.742               ,0.996 
0    ,64   ,2000 ,127      ,2048 ,23   ,105.812        ,121.233             ,0.873 
0    ,64   ,2000 ,127      ,48   ,23   ,80.643         ,81.529              ,0.989 
0    ,64   ,2048 ,127      ,0    ,23   ,86.262         ,81.948              ,1.053 
0    ,64   ,2048 ,127      ,1024 ,23   ,86.661         ,89.785              ,0.965 
0    ,64   ,2048 ,127      ,128  ,23   ,75.644         ,97.954              ,0.772 
0    ,64   ,2048 ,127      ,144  ,23   ,59.987         ,78.445              ,0.765 
0    ,64   ,2048 ,127      ,1760 ,23   ,102.241        ,118.125             ,0.866 
0    ,64   ,2048 ,127      ,1808 ,23   ,106.846        ,118.735             ,0.9   
0    ,64   ,2048 ,127      ,1856 ,23   ,105.991        ,120.37              ,0.881 
0    ,64   ,2048 ,127      ,1904 ,23   ,105.956        ,120.117             ,0.882 
0    ,64   ,2048 ,127      ,192  ,23   ,85.502         ,80.687              ,1.06  
0    ,64   ,2048 ,127      ,1952 ,23   ,110.138        ,120.182             ,0.916 
0    ,64   ,2048 ,127      ,2000 ,23   ,106.915        ,121.95              ,0.877 
0    ,64   ,2048 ,127      ,2048 ,23   ,105.578        ,120.927             ,0.873 
0    ,64   ,2048 ,127      ,240  ,23   ,83.414         ,80.906              ,1.031 
0    ,64   ,2048 ,127      ,256  ,23   ,93.172         ,100.421             ,0.928 
0    ,64   ,2048 ,127      ,288  ,23   ,78.99          ,81.159              ,0.973 
0    ,64   ,2048 ,127      ,32   ,23   ,83.089         ,81.832              ,1.015 
0    ,64   ,2048 ,127      ,4096 ,23   ,106.049        ,121.237             ,0.875 
0    ,64   ,2048 ,127      ,48   ,23   ,83.57          ,83.426              ,1.002 
0    ,64   ,2048 ,127      ,512  ,23   ,82.349         ,104.994             ,0.784 
0    ,64   ,2048 ,127      ,64   ,23   ,83.331         ,85.268              ,0.977 
0    ,64   ,2048 ,127      ,96   ,23   ,83.696         ,82.087              ,1.02  
0    ,64   ,208  ,127      ,16   ,23   ,13.753         ,15.158              ,0.907 
0    ,64   ,208  ,127      ,192  ,23   ,11.843         ,13.269              ,0.893 
0    ,64   ,208  ,127      ,256  ,23   ,11.776         ,13.823              ,0.852 
0    ,64   ,208  ,127      ,48   ,23   ,11.55          ,13.355              ,0.865 
0    ,64   ,208  ,127      ,64   ,23   ,11.594         ,13.322              ,0.87  
0    ,64   ,2096 ,127      ,2048 ,23   ,107.816        ,124.266             ,0.868 
0    ,64   ,21   ,127      ,20   ,23   ,3.724          ,3.731               ,0.998 
0    ,64   ,2144 ,127      ,2048 ,23   ,109.099        ,125.101             ,0.872 
0    ,64   ,2192 ,127      ,2048 ,23   ,112.059        ,126.594             ,0.885 
0    ,64   ,22   ,127      ,21   ,23   ,3.7            ,3.712               ,0.997 
0    ,64   ,224  ,127      ,128  ,23   ,12.329         ,12.832              ,0.961 
0    ,64   ,224  ,127      ,208  ,23   ,11.74          ,13.336              ,0.88  
0    ,64   ,224  ,127      ,288  ,23   ,11.795         ,13.64               ,0.865 
0    ,64   ,224  ,127      ,32   ,23   ,11.841         ,13.709              ,0.864 
0    ,64   ,224  ,127      ,512  ,23   ,11.797         ,13.576              ,0.869 
0    ,64   ,2240 ,127      ,2048 ,23   ,115.099        ,130.109             ,0.885 
0    ,64   ,2288 ,127      ,2048 ,23   ,115.993        ,130.564             ,0.888 
0    ,64   ,23   ,127      ,22   ,23   ,3.694          ,3.688               ,1.001 
0    ,64   ,2336 ,127      ,2048 ,23   ,116.474        ,131.123             ,0.888 
0    ,64   ,24   ,127      ,23   ,23   ,3.704          ,3.704               ,1.0   
0    ,64   ,240  ,127      ,224  ,23   ,11.727         ,13.426              ,0.873 
0    ,64   ,25   ,127      ,24   ,23   ,3.689          ,3.699               ,0.997 
0    ,64   ,256  ,127      ,0    ,23   ,13.312         ,14.788              ,0.9   
0    ,64   ,256  ,127      ,112  ,23   ,11.622         ,13.572              ,0.856 
0    ,64   ,256  ,127      ,144  ,23   ,13.655         ,14.327              ,0.953 
0    ,64   ,256  ,127      ,16   ,23   ,14.022         ,15.824              ,0.886 
0    ,64   ,256  ,127      ,160  ,23   ,12.666         ,13.875              ,0.913 
0    ,64   ,256  ,127      ,192  ,23   ,15.27          ,15.362              ,0.994 
0    ,64   ,256  ,127      ,208  ,23   ,15.9           ,15.162              ,1.049 
0    ,64   ,256  ,127      ,240  ,23   ,14.188         ,15.325              ,0.926 
0    ,64   ,256  ,127      ,256  ,23   ,13.844         ,14.895              ,0.929 
0    ,64   ,256  ,127      ,288  ,23   ,14.001         ,15.395              ,0.909 
0    ,64   ,256  ,127      ,48   ,23   ,13.079         ,14.809              ,0.883 
0    ,64   ,256  ,127      ,64   ,23   ,13.093         ,14.756              ,0.887 
0    ,64   ,256  ,127      ,96   ,23   ,11.849         ,13.573              ,0.873 
0    ,64   ,26   ,127      ,25   ,23   ,3.693          ,3.791               ,0.974 
0    ,64   ,27   ,127      ,26   ,23   ,3.684          ,4.445               ,0.829 
0    ,64   ,272  ,127      ,128  ,23   ,13.84          ,14.229              ,0.973 
0    ,64   ,272  ,127      ,240  ,23   ,14.123         ,15.343              ,0.92  
0    ,64   ,272  ,127      ,256  ,23   ,15.111         ,16.873              ,0.896 
0    ,64   ,272  ,127      ,32   ,23   ,13.101         ,14.83               ,0.883 
0    ,64   ,272  ,127      ,512  ,23   ,15.437         ,16.894              ,0.914 
0    ,64   ,28   ,127      ,27   ,23   ,3.627          ,4.543               ,0.798 
0    ,64   ,288  ,127      ,272  ,23   ,14.97          ,16.801              ,0.891 
0    ,64   ,29   ,127      ,28   ,23   ,3.621          ,4.85                ,0.746 
0    ,64   ,3    ,127      ,2    ,23   ,3.57           ,3.607               ,0.99  
0    ,64   ,30   ,127      ,29   ,23   ,3.565          ,4.593               ,0.776 
0    ,64   ,304  ,127      ,16   ,23   ,13.418         ,15.238              ,0.881 
0    ,64   ,304  ,127      ,256  ,23   ,14.792         ,16.665              ,0.888 
0    ,64   ,304  ,127      ,64   ,23   ,12.953         ,14.355              ,0.902 
0    ,64   ,31   ,127      ,30   ,23   ,3.56           ,4.69                ,0.759 
0    ,64   ,32   ,127      ,0    ,23   ,4.862          ,5.751               ,0.845 
0    ,64   ,32   ,127      ,128  ,23   ,4.827          ,5.497               ,0.878 
0    ,64   ,32   ,127      ,144  ,23   ,4.828          ,5.031               ,0.96  
0    ,64   ,32   ,127      ,16   ,23   ,4.956          ,5.831               ,0.85  
0    ,64   ,32   ,127      ,192  ,23   ,4.827          ,5.696               ,0.847 
0    ,64   ,32   ,127      ,240  ,23   ,4.771          ,5.059               ,0.943 
0    ,64   ,32   ,127      ,288  ,23   ,4.807          ,5.232               ,0.919 
0    ,64   ,32   ,127      ,31   ,23   ,4.951          ,6.084               ,0.814 
0    ,64   ,32   ,127      ,32   ,23   ,4.786          ,5.448               ,0.878 
0    ,64   ,32   ,127      ,48   ,23   ,4.868          ,5.681               ,0.857 
0    ,64   ,32   ,127      ,96   ,23   ,4.822          ,5.475               ,0.881 
0    ,64   ,320  ,127      ,128  ,23   ,15.677         ,15.721              ,0.997 
0    ,64   ,320  ,127      ,192  ,23   ,16.694         ,17.08               ,0.977 
0    ,64   ,320  ,127      ,32   ,23   ,14.719         ,16.668              ,0.883 
0    ,64   ,320  ,127      ,512  ,23   ,16.663         ,18.256              ,0.913 
0    ,64   ,352  ,127      ,256  ,23   ,17.748         ,17.855              ,0.994 
0    ,64   ,352  ,127      ,64   ,23   ,14.732         ,16.748              ,0.88  
0    ,64   ,368  ,127      ,128  ,23   ,15.716         ,15.943              ,0.986 
0    ,64   ,368  ,127      ,144  ,23   ,15.335         ,15.757              ,0.973 
0    ,64   ,368  ,127      ,512  ,23   ,17.381         ,19.018              ,0.914 
0    ,64   ,4    ,127      ,3    ,23   ,3.602          ,3.604               ,0.999 
0    ,64   ,400  ,127      ,256  ,23   ,19.026         ,19.222              ,0.99  
0    ,64   ,416  ,127      ,128  ,23   ,16.741         ,17.173              ,0.975 
0    ,64   ,416  ,127      ,512  ,23   ,19.657         ,22.136              ,0.888 
0    ,64   ,416  ,127      ,96   ,23   ,14.974         ,16.767              ,0.893 
0    ,64   ,448  ,127      ,256  ,23   ,21.109         ,22.279              ,0.947 
0    ,64   ,464  ,127      ,48   ,23   ,17.829         ,19.286              ,0.924 
0    ,64   ,464  ,127      ,512  ,23   ,22.083         ,25.044              ,0.882 
0    ,64   ,48   ,127      ,32   ,23   ,4.734          ,5.789               ,0.818 
0    ,64   ,496  ,127      ,256  ,23   ,20.453         ,20.97               ,0.975 
0    ,64   ,5    ,127      ,4    ,23   ,3.606          ,3.607               ,1.0   
0    ,64   ,512  ,127      ,0    ,23   ,20.014         ,21.348              ,0.938 
0    ,64   ,512  ,127      ,144  ,23   ,19.349         ,20.692              ,0.935 
0    ,64   ,512  ,127      ,192  ,23   ,20.569         ,21.411              ,0.961 
0    ,64   ,512  ,127      ,224  ,23   ,19.958         ,21.504              ,0.928 
0    ,64   ,512  ,127      ,240  ,23   ,19.893         ,21.299              ,0.934 
0    ,64   ,512  ,127      ,272  ,23   ,21.985         ,22.42               ,0.981 
0    ,64   ,512  ,127      ,288  ,23   ,20.742         ,22.523              ,0.921 
0    ,64   ,512  ,127      ,320  ,23   ,22.376         ,23.266              ,0.962 
0    ,64   ,512  ,127      ,368  ,23   ,21.452         ,23.471              ,0.914 
0    ,64   ,512  ,127      ,416  ,23   ,22.458         ,24.594              ,0.913 
0    ,64   ,512  ,127      ,464  ,23   ,24.658         ,26.085              ,0.945 
0    ,64   ,512  ,127      ,48   ,23   ,19.463         ,21.332              ,0.912 
0    ,64   ,512  ,127      ,512  ,23   ,23.517         ,25.921              ,0.907 
0    ,64   ,512  ,127      ,96   ,23   ,18.336         ,20.142              ,0.91  
0    ,64   ,544  ,127      ,256  ,23   ,21.941         ,22.492              ,0.975 
0    ,64   ,560  ,127      ,512  ,23   ,23.841         ,27.595              ,0.864 
0    ,64   ,6    ,127      ,5    ,23   ,3.681          ,3.685               ,0.999 
0    ,64   ,608  ,127      ,512  ,23   ,27.294         ,29.2                ,0.935 
0    ,64   ,64   ,127      ,0    ,23   ,6.033          ,7.373               ,0.818 
0    ,64   ,64   ,127      ,144  ,23   ,5.558          ,7.033               ,0.79  
0    ,64   ,64   ,127      ,16   ,23   ,6.095          ,7.241               ,0.842 
0    ,64   ,64   ,127      ,192  ,23   ,5.791          ,7.44                ,0.778 
0    ,64   ,64   ,127      ,240  ,23   ,5.507          ,6.615               ,0.833 
0    ,64   ,64   ,127      ,256  ,23   ,5.591          ,7.123               ,0.785 
0    ,64   ,64   ,127      ,288  ,23   ,5.582          ,6.965               ,0.801 
0    ,64   ,64   ,127      ,48   ,23   ,5.855          ,6.783               ,0.863 
0    ,64   ,64   ,127      ,64   ,23   ,5.442          ,6.561               ,0.829 
0    ,64   ,64   ,127      ,96   ,23   ,5.666          ,6.827               ,0.83  
0    ,64   ,656  ,127      ,512  ,23   ,29.126         ,30.657              ,0.95  
0    ,64   ,7    ,127      ,6    ,23   ,3.668          ,3.667               ,1.0   
0    ,64   ,704  ,127      ,512  ,23   ,31.35          ,33.496              ,0.936 
0    ,64   ,736  ,127      ,1024 ,23   ,32.03          ,37.032              ,0.865 
0    ,64   ,736  ,127      ,288  ,23   ,25.77          ,27.312              ,0.944 
0    ,64   ,752  ,127      ,512  ,23   ,30.567         ,32.325              ,0.946 
0    ,64   ,784  ,127      ,1024 ,23   ,34.95          ,39.598              ,0.883 
0    ,64   ,784  ,127      ,240  ,23   ,26.742         ,27.676              ,0.966 
0    ,64   ,8    ,127      ,7    ,23   ,3.673          ,3.676               ,0.999 
0    ,64   ,80   ,127      ,128  ,23   ,5.149          ,6.69                ,0.77  
0    ,64   ,80   ,127      ,32   ,23   ,5.633          ,6.993               ,0.806 
0    ,64   ,80   ,127      ,48   ,23   ,5.498          ,6.875               ,0.8   
0    ,64   ,80   ,127      ,64   ,23   ,5.662          ,6.599               ,0.858 
0    ,64   ,800  ,127      ,512  ,23   ,31.594         ,33.21               ,0.951 
0    ,64   ,832  ,127      ,1024 ,23   ,36.503         ,41.066              ,0.889 
0    ,64   ,832  ,127      ,192  ,23   ,29.027         ,29.238              ,0.993 
0    ,64   ,880  ,127      ,1024 ,23   ,36.586         ,42.805              ,0.855 
0    ,64   ,880  ,127      ,144  ,23   ,27.332         ,28.541              ,0.958 
0    ,64   ,9    ,127      ,8    ,23   ,3.684          ,3.676               ,1.002 
0    ,64   ,928  ,127      ,1024 ,23   ,39.856         ,45.936              ,0.868 
0    ,64   ,928  ,127      ,96   ,23   ,28.458         ,29.941              ,0.95  
0    ,64   ,96   ,127      ,80   ,23   ,7.176          ,8.65                ,0.83  
0    ,64   ,976  ,127      ,1024 ,23   ,42.183         ,49.163              ,0.858 
0    ,64   ,976  ,127      ,48   ,23   ,30.857         ,32.39               ,0.953 
1    ,1    ,2048 ,127      ,32   ,0    ,4.685          ,5.861               ,0.799 
1    ,1    ,2048 ,127      ,32   ,23   ,78.6           ,82.253              ,0.956 
1    ,1    ,256  ,127      ,64   ,0    ,5.233          ,6.673               ,0.784 
1    ,1    ,256  ,127      ,64   ,23   ,13.465         ,14.706              ,0.916 
1    ,16   ,2048 ,127      ,32   ,23   ,82.704         ,83.403              ,0.992 
1    ,16   ,256  ,127      ,64   ,23   ,15.204         ,16.726              ,0.909 
1    ,256  ,2048 ,127      ,32   ,23   ,81.618         ,82.322              ,0.991 
1    ,256  ,256  ,127      ,64   ,23   ,15.03          ,16.798              ,0.895 
1    ,4    ,2048 ,127      ,32   ,23   ,83.859         ,82.807              ,1.013 
1    ,4    ,256  ,127      ,64   ,23   ,13.23          ,15.045              ,0.879 
1    ,64   ,2048 ,127      ,32   ,23   ,81.43          ,82.62               ,0.986 
1    ,64   ,256  ,127      ,64   ,23   ,15.01          ,16.573              ,0.906 
105  ,1    ,256  ,127      ,64   ,0    ,5.352          ,6.474               ,0.827 
105  ,1    ,256  ,127      ,64   ,23   ,13.077         ,14.624              ,0.894 
105  ,16   ,256  ,127      ,64   ,23   ,13.041         ,14.829              ,0.879 
105  ,256  ,256  ,127      ,64   ,23   ,14.802         ,16.29               ,0.909 
105  ,4    ,256  ,127      ,64   ,23   ,12.997         ,14.595              ,0.89  
105  ,64   ,256  ,127      ,64   ,23   ,13.035         ,14.716              ,0.886 
15   ,1    ,256  ,127      ,64   ,0    ,5.226          ,6.566               ,0.796 
15   ,1    ,256  ,127      ,64   ,23   ,13.119         ,14.785              ,0.887 
15   ,16   ,256  ,127      ,64   ,23   ,13.1           ,14.861              ,0.881 
15   ,256  ,256  ,127      ,64   ,23   ,14.709         ,16.324              ,0.901 
15   ,4    ,256  ,127      ,64   ,23   ,13.123         ,14.835              ,0.885 
15   ,64   ,256  ,127      ,64   ,23   ,13.167         ,14.712              ,0.895 
2    ,1    ,2048 ,127      ,64   ,0    ,7.626          ,8.793               ,0.867 
2    ,1    ,2048 ,127      ,64   ,23   ,77.366         ,82.498              ,0.938 
2    ,1    ,256  ,127      ,64   ,0    ,5.227          ,6.64                ,0.787 
2    ,1    ,256  ,127      ,64   ,23   ,12.981         ,14.799              ,0.877 
2    ,16   ,2048 ,127      ,64   ,23   ,83.108         ,81.199              ,1.024 
2    ,16   ,256  ,127      ,64   ,23   ,13.098         ,14.731              ,0.889 
2    ,256  ,2048 ,127      ,64   ,23   ,81.901         ,82.507              ,0.993 
2    ,256  ,256  ,127      ,64   ,23   ,14.835         ,16.387              ,0.905 
2    ,4    ,2048 ,127      ,64   ,23   ,75.757         ,80.933              ,0.936 
2    ,4    ,256  ,127      ,64   ,23   ,13.078         ,14.639              ,0.893 
2    ,64   ,2048 ,127      ,64   ,23   ,82.172         ,83.939              ,0.979 
2    ,64   ,256  ,127      ,64   ,23   ,13.102         ,14.615              ,0.896 
3    ,1    ,2048 ,127      ,128  ,0    ,9.898          ,11.049              ,0.896 
3    ,1    ,2048 ,127      ,128  ,23   ,59.115         ,76.422              ,0.774 
3    ,1    ,256  ,127      ,64   ,0    ,5.225          ,6.408               ,0.815 
3    ,1    ,256  ,127      ,64   ,23   ,13.076         ,14.678              ,0.891 
3    ,16   ,2048 ,127      ,128  ,23   ,59.384         ,78.46               ,0.757 
3    ,16   ,256  ,127      ,64   ,23   ,13.018         ,14.459              ,0.9   
3    ,256  ,2048 ,127      ,128  ,23   ,59.252         ,79.934              ,0.741 
3    ,256  ,256  ,127      ,64   ,23   ,14.763         ,16.14               ,0.915 
3    ,4    ,2048 ,127      ,128  ,23   ,59.275         ,79.176              ,0.749 
3    ,4    ,256  ,127      ,64   ,23   ,13.088         ,14.694              ,0.891 
3    ,64   ,2048 ,127      ,128  ,23   ,76.52          ,98.562              ,0.776 
3    ,64   ,256  ,127      ,64   ,23   ,13.063         ,14.775              ,0.884 
30   ,1    ,256  ,127      ,64   ,0    ,5.241          ,6.562               ,0.799 
30   ,1    ,256  ,127      ,64   ,23   ,12.995         ,14.582              ,0.891 
30   ,16   ,256  ,127      ,64   ,23   ,13.097         ,14.652              ,0.894 
30   ,256  ,256  ,127      ,64   ,23   ,14.91          ,16.136              ,0.924 
30   ,4    ,256  ,127      ,64   ,23   ,13.003         ,14.628              ,0.889 
30   ,64   ,256  ,127      ,64   ,23   ,12.969         ,14.458              ,0.897 
4    ,1    ,2048 ,127      ,256  ,0    ,12.666         ,14.449              ,0.877 
4    ,1    ,2048 ,127      ,256  ,23   ,85.886         ,84.646              ,1.015 
4    ,1    ,256  ,127      ,64   ,0    ,5.269          ,6.734               ,0.783 
4    ,1    ,256  ,127      ,64   ,23   ,13.011         ,14.621              ,0.89  
4    ,16   ,2048 ,127      ,256  ,23   ,75.435         ,80.758              ,0.934 
4    ,16   ,256  ,127      ,64   ,23   ,13.119         ,14.838              ,0.884 
4    ,256  ,2048 ,127      ,256  ,23   ,75.436         ,81.42               ,0.927 
4    ,256  ,256  ,127      ,64   ,23   ,14.658         ,16.187              ,0.905 
4    ,4    ,2048 ,127      ,256  ,23   ,63.209         ,81.426              ,0.776 
4    ,4    ,256  ,127      ,64   ,23   ,13.057         ,14.749              ,0.885 
4    ,64   ,2048 ,127      ,256  ,23   ,88.512         ,101.06              ,0.876 
4    ,64   ,256  ,127      ,64   ,23   ,13.01          ,14.584              ,0.892 
4080 ,1    ,31   ,127      ,30   ,0    ,6.155          ,6.297               ,0.977 
4080 ,1    ,31   ,127      ,30   ,23   ,6.037          ,6.162               ,0.98  
4080 ,1    ,32   ,127      ,31   ,0    ,6.109          ,6.575               ,0.929 
4080 ,1    ,32   ,127      ,31   ,23   ,6.023          ,7.74                ,0.778 
4080 ,16   ,31   ,127      ,30   ,23   ,6.11           ,6.175               ,0.989 
4080 ,16   ,32   ,127      ,31   ,23   ,6.097          ,7.955               ,0.766 
4080 ,256  ,31   ,127      ,30   ,23   ,6.081          ,6.327               ,0.961 
4080 ,256  ,32   ,127      ,31   ,23   ,6.049          ,7.932               ,0.763 
4080 ,4    ,31   ,127      ,30   ,23   ,6.091          ,6.381               ,0.955 
4080 ,4    ,32   ,127      ,31   ,23   ,6.111          ,7.706               ,0.793 
4080 ,64   ,31   ,127      ,30   ,23   ,6.125          ,6.272               ,0.977 
4080 ,64   ,32   ,127      ,31   ,23   ,6.073          ,7.895               ,0.769 
4081 ,1    ,29   ,127      ,28   ,0    ,6.238          ,6.291               ,0.991 
4081 ,1    ,29   ,127      ,28   ,23   ,6.155          ,5.567               ,1.106 
4081 ,1    ,30   ,127      ,29   ,0    ,6.169          ,5.816               ,1.061 
4081 ,1    ,30   ,127      ,29   ,23   ,6.08           ,6.068               ,1.002 
4081 ,16   ,29   ,127      ,28   ,23   ,6.169          ,5.642               ,1.093 
4081 ,16   ,30   ,127      ,29   ,23   ,6.066          ,5.876               ,1.032 
4081 ,256  ,29   ,127      ,28   ,23   ,6.169          ,5.577               ,1.106 
4081 ,256  ,30   ,127      ,29   ,23   ,6.148          ,5.812               ,1.058 
4081 ,4    ,29   ,127      ,28   ,23   ,6.178          ,5.484               ,1.127 
4081 ,4    ,30   ,127      ,29   ,23   ,6.125          ,6.238               ,0.982 
4081 ,64   ,29   ,127      ,28   ,23   ,6.192          ,6.002               ,1.032 
4081 ,64   ,30   ,127      ,29   ,23   ,6.125          ,6.381               ,0.96  
4082 ,1    ,27   ,127      ,26   ,0    ,6.339          ,5.755               ,1.102 
4082 ,1    ,27   ,127      ,26   ,23   ,6.293          ,5.593               ,1.125 
4082 ,1    ,28   ,127      ,27   ,0    ,6.285          ,5.665               ,1.109 
4082 ,1    ,28   ,127      ,27   ,23   ,6.215          ,6.327               ,0.982 
4082 ,16   ,27   ,127      ,26   ,23   ,6.292          ,5.593               ,1.125 
4082 ,16   ,28   ,127      ,27   ,23   ,6.208          ,5.963               ,1.041 
4082 ,256  ,27   ,127      ,26   ,23   ,6.292          ,5.882               ,1.07  
4082 ,256  ,28   ,127      ,27   ,23   ,6.199          ,6.268               ,0.989 
4082 ,4    ,27   ,127      ,26   ,23   ,6.287          ,6.009               ,1.046 
4082 ,4    ,28   ,127      ,27   ,23   ,6.215          ,5.995               ,1.037 
4082 ,64   ,27   ,127      ,26   ,23   ,6.324          ,5.593               ,1.131 
4082 ,64   ,28   ,127      ,27   ,23   ,6.215          ,6.053               ,1.027 
4083 ,1    ,25   ,127      ,24   ,0    ,6.356          ,5.67                ,1.121 
4083 ,1    ,25   ,127      ,24   ,23   ,6.374          ,5.649               ,1.128 
4083 ,1    ,26   ,127      ,25   ,0    ,6.369          ,5.649               ,1.127 
4083 ,1    ,26   ,127      ,25   ,23   ,6.323          ,5.621               ,1.125 
4083 ,16   ,25   ,127      ,24   ,23   ,6.355          ,5.649               ,1.125 
4083 ,16   ,26   ,127      ,25   ,23   ,6.346          ,5.621               ,1.129 
4083 ,256  ,25   ,127      ,24   ,23   ,6.355          ,5.65                ,1.125 
4083 ,256  ,26   ,127      ,25   ,23   ,6.339          ,5.94                ,1.067 
4083 ,4    ,25   ,127      ,24   ,23   ,6.356          ,5.649               ,1.125 
4083 ,4    ,26   ,127      ,25   ,23   ,6.34           ,5.635               ,1.125 
4083 ,64   ,25   ,127      ,24   ,23   ,6.383          ,5.65                ,1.13  
4083 ,64   ,26   ,127      ,25   ,23   ,6.36           ,5.629               ,1.13  
4084 ,1    ,23   ,127      ,22   ,0    ,6.387          ,5.697               ,1.121 
4084 ,1    ,23   ,127      ,22   ,23   ,6.371          ,5.664               ,1.125 
4084 ,1    ,24   ,127      ,23   ,0    ,6.404          ,5.692               ,1.125 
4084 ,1    ,24   ,127      ,23   ,23   ,6.371          ,5.68                ,1.122 
4084 ,16   ,23   ,127      ,22   ,23   ,6.388          ,5.678               ,1.125 
4084 ,16   ,24   ,127      ,23   ,23   ,6.379          ,5.664               ,1.126 
4084 ,256  ,23   ,127      ,22   ,23   ,6.372          ,5.664               ,1.125 
4084 ,256  ,24   ,127      ,23   ,23   ,6.371          ,5.65                ,1.128 
4084 ,4    ,23   ,127      ,22   ,23   ,6.389          ,5.678               ,1.125 
4084 ,4    ,24   ,127      ,23   ,23   ,6.356          ,5.649               ,1.125 
4084 ,64   ,23   ,127      ,22   ,23   ,6.355          ,5.665               ,1.122 
4084 ,64   ,24   ,127      ,23   ,23   ,6.356          ,5.651               ,1.125 
4085 ,1    ,21   ,127      ,20   ,0    ,6.371          ,5.688               ,1.12  
4085 ,1    ,21   ,127      ,20   ,23   ,6.396          ,5.678               ,1.126 
4085 ,1    ,22   ,127      ,21   ,0    ,6.365          ,5.65                ,1.127 
4085 ,1    ,22   ,127      ,21   ,23   ,6.419          ,5.692               ,1.128 
4085 ,16   ,21   ,127      ,20   ,23   ,6.397          ,5.663               ,1.13  
4085 ,16   ,22   ,127      ,21   ,23   ,6.422          ,5.707               ,1.125 
4085 ,256  ,21   ,127      ,20   ,23   ,6.388          ,5.678               ,1.125 
4085 ,256  ,22   ,127      ,21   ,23   ,6.356          ,5.649               ,1.125 
4085 ,4    ,21   ,127      ,20   ,23   ,6.395          ,5.657               ,1.13  
4085 ,4    ,22   ,127      ,21   ,23   ,6.449          ,5.729               ,1.126 
4085 ,64   ,21   ,127      ,20   ,23   ,6.405          ,5.706               ,1.123 
4085 ,64   ,22   ,127      ,21   ,23   ,6.372          ,5.673               ,1.123 
4086 ,1    ,19   ,127      ,18   ,0    ,6.404          ,5.693               ,1.125 
4086 ,1    ,19   ,127      ,18   ,23   ,6.397          ,5.686               ,1.125 
4086 ,1    ,20   ,127      ,19   ,0    ,6.436          ,5.721               ,1.125 
4086 ,1    ,20   ,127      ,19   ,23   ,6.404          ,5.692               ,1.125 
4086 ,16   ,19   ,127      ,18   ,23   ,6.388          ,5.678               ,1.125 
4086 ,16   ,20   ,127      ,19   ,23   ,6.387          ,5.678               ,1.125 
4086 ,256  ,19   ,127      ,18   ,23   ,6.389          ,5.664               ,1.128 
4086 ,256  ,20   ,127      ,19   ,23   ,6.388          ,5.678               ,1.125 
4086 ,4    ,19   ,127      ,18   ,23   ,6.398          ,5.687               ,1.125 
4086 ,4    ,20   ,127      ,19   ,23   ,6.382          ,5.697               ,1.12  
4086 ,64   ,19   ,127      ,18   ,23   ,6.425          ,5.693               ,1.129 
4086 ,64   ,20   ,127      ,19   ,23   ,6.388          ,5.678               ,1.125 
4087 ,1    ,17   ,127      ,16   ,0    ,6.437          ,5.744               ,1.121 
4087 ,1    ,17   ,127      ,16   ,23   ,6.42           ,5.707               ,1.125 
4087 ,1    ,18   ,127      ,17   ,0    ,6.436          ,5.733               ,1.123 
4087 ,1    ,18   ,127      ,17   ,23   ,6.404          ,5.692               ,1.125 
4087 ,16   ,17   ,127      ,16   ,23   ,6.437          ,5.721               ,1.125 
4087 ,16   ,18   ,127      ,17   ,23   ,6.42           ,5.707               ,1.125 
4087 ,256  ,17   ,127      ,16   ,23   ,6.425          ,5.747               ,1.118 
4087 ,256  ,18   ,127      ,17   ,23   ,6.412          ,5.703               ,1.124 
4087 ,4    ,17   ,127      ,16   ,23   ,6.435          ,5.707               ,1.128 
4087 ,4    ,18   ,127      ,17   ,23   ,6.44           ,5.707               ,1.128 
4087 ,64   ,17   ,127      ,16   ,23   ,6.387          ,5.678               ,1.125 
4087 ,64   ,18   ,127      ,17   ,23   ,6.388          ,5.687               ,1.123 
4088 ,1    ,15   ,127      ,14   ,0    ,6.388          ,5.686               ,1.123 
4088 ,1    ,15   ,127      ,14   ,23   ,6.429          ,5.726               ,1.123 
4088 ,1    ,16   ,127      ,15   ,0    ,6.452          ,5.736               ,1.125 
4088 ,1    ,16   ,127      ,15   ,23   ,6.42           ,5.707               ,1.125 
4088 ,16   ,15   ,127      ,14   ,23   ,6.469          ,5.75                ,1.125 
4088 ,16   ,16   ,127      ,15   ,23   ,6.388          ,5.704               ,1.12  
4088 ,256  ,15   ,127      ,14   ,23   ,6.436          ,5.721               ,1.125 
4088 ,256  ,16   ,127      ,15   ,23   ,6.453          ,5.736               ,1.125 
4088 ,4    ,15   ,127      ,14   ,23   ,6.469          ,5.751               ,1.125 
4088 ,4    ,16   ,127      ,15   ,23   ,6.387          ,5.678               ,1.125 
4088 ,64   ,15   ,127      ,14   ,23   ,6.469          ,5.75                ,1.125 
4088 ,64   ,16   ,127      ,15   ,23   ,6.42           ,5.719               ,1.123 
4089 ,1    ,13   ,127      ,12   ,0    ,6.42           ,5.707               ,1.125 
4089 ,1    ,13   ,127      ,12   ,23   ,6.421          ,5.707               ,1.125 
4089 ,1    ,14   ,127      ,13   ,0    ,6.404          ,5.692               ,1.125 
4089 ,1    ,14   ,127      ,13   ,23   ,6.404          ,5.692               ,1.125 
4089 ,16   ,13   ,127      ,12   ,23   ,6.395          ,5.672               ,1.128 
4089 ,16   ,14   ,127      ,13   ,23   ,6.436          ,5.734               ,1.122 
4089 ,256  ,13   ,127      ,12   ,23   ,6.388          ,5.686               ,1.123 
4089 ,256  ,14   ,127      ,13   ,23   ,6.437          ,5.721               ,1.125 
4089 ,4    ,13   ,127      ,12   ,23   ,6.454          ,5.754               ,1.122 
4089 ,4    ,14   ,127      ,13   ,23   ,6.452          ,5.729               ,1.126 
4089 ,64   ,13   ,127      ,12   ,23   ,6.403          ,5.692               ,1.125 
4089 ,64   ,14   ,127      ,13   ,23   ,6.453          ,5.745               ,1.123 
4090 ,1    ,11   ,127      ,10   ,0    ,6.371          ,5.664               ,1.125 
4090 ,1    ,11   ,127      ,10   ,23   ,6.372          ,5.664               ,1.125 
4090 ,1    ,12   ,127      ,11   ,0    ,6.435          ,5.707               ,1.128 
4090 ,1    ,12   ,127      ,11   ,23   ,6.378          ,5.649               ,1.129 
4090 ,16   ,11   ,127      ,10   ,23   ,6.355          ,5.657               ,1.123 
4090 ,16   ,12   ,127      ,11   ,23   ,6.411          ,5.692               ,1.126 
4090 ,256  ,11   ,127      ,10   ,23   ,6.356          ,5.649               ,1.125 
4090 ,256  ,12   ,127      ,11   ,23   ,6.404          ,5.7                 ,1.123 
4090 ,4    ,11   ,127      ,10   ,23   ,6.404          ,5.708               ,1.122 
4090 ,4    ,12   ,127      ,11   ,23   ,6.436          ,5.721               ,1.125 
4090 ,64   ,11   ,127      ,10   ,23   ,6.356          ,5.649               ,1.125 
4090 ,64   ,12   ,127      ,11   ,23   ,6.421          ,5.707               ,1.125 
4091 ,1    ,10   ,127      ,9    ,0    ,6.356          ,5.649               ,1.125 
4091 ,1    ,10   ,127      ,9    ,23   ,6.354          ,5.649               ,1.125 
4091 ,1    ,9    ,127      ,8    ,0    ,6.323          ,5.621               ,1.125 
4091 ,1    ,9    ,127      ,8    ,23   ,6.366          ,5.655               ,1.126 
4091 ,16   ,10   ,127      ,9    ,23   ,6.339          ,5.635               ,1.125 
4091 ,16   ,9    ,127      ,8    ,23   ,6.324          ,5.621               ,1.125 
4091 ,256  ,10   ,127      ,9    ,23   ,6.339          ,5.643               ,1.123 
4091 ,256  ,9    ,127      ,8    ,23   ,6.339          ,5.635               ,1.125 
4091 ,4    ,10   ,127      ,9    ,23   ,6.332          ,5.621               ,1.127 
4091 ,4    ,9    ,127      ,8    ,23   ,6.323          ,5.621               ,1.125 
4091 ,64   ,10   ,127      ,9    ,23   ,6.355          ,5.649               ,1.125 
4091 ,64   ,9    ,127      ,8    ,23   ,6.324          ,5.621               ,1.125 
4092 ,1    ,7    ,127      ,6    ,0    ,6.331          ,5.621               ,1.126 
4092 ,1    ,7    ,127      ,6    ,23   ,6.332          ,5.621               ,1.126 
4092 ,1    ,8    ,127      ,7    ,0    ,6.323          ,5.621               ,1.125 
4092 ,1    ,8    ,127      ,7    ,23   ,6.334          ,5.621               ,1.127 
4092 ,16   ,7    ,127      ,6    ,23   ,6.323          ,5.621               ,1.125 
4092 ,16   ,8    ,127      ,7    ,23   ,6.323          ,5.629               ,1.123 
4092 ,256  ,7    ,127      ,6    ,23   ,6.35           ,5.621               ,1.13  
4092 ,256  ,8    ,127      ,7    ,23   ,6.324          ,5.63                ,1.123 
4092 ,4    ,7    ,127      ,6    ,23   ,6.324          ,5.621               ,1.125 
4092 ,4    ,8    ,127      ,7    ,23   ,6.323          ,5.621               ,1.125 
4092 ,64   ,7    ,127      ,6    ,23   ,6.307          ,5.607               ,1.125 
4092 ,64   ,8    ,127      ,7    ,23   ,6.324          ,5.621               ,1.125 
4093 ,1    ,5    ,127      ,4    ,0    ,6.298          ,5.593               ,1.126 
4093 ,1    ,5    ,127      ,4    ,23   ,6.278          ,5.606               ,1.12  
4093 ,1    ,6    ,127      ,5    ,0    ,6.339          ,5.662               ,1.12  
4093 ,1    ,6    ,127      ,5    ,23   ,6.359          ,5.659               ,1.124 
4093 ,16   ,5    ,127      ,4    ,23   ,6.215          ,5.535               ,1.123 
4093 ,16   ,6    ,127      ,5    ,23   ,6.293          ,5.593               ,1.125 
4093 ,256  ,5    ,127      ,4    ,23   ,6.245          ,5.552               ,1.125 
4093 ,256  ,6    ,127      ,5    ,23   ,6.325          ,5.647               ,1.12  
4093 ,4    ,5    ,127      ,4    ,23   ,6.277          ,5.606               ,1.12  
4093 ,4    ,6    ,127      ,5    ,23   ,6.261          ,5.566               ,1.125 
4093 ,64   ,5    ,127      ,4    ,23   ,6.259          ,5.589               ,1.12  
4093 ,64   ,6    ,127      ,5    ,23   ,6.366          ,5.635               ,1.13  
4094 ,1    ,3    ,127      ,2    ,0    ,6.185          ,5.499               ,1.125 
4094 ,1    ,3    ,127      ,2    ,23   ,6.199          ,5.483               ,1.131 
4094 ,1    ,4    ,127      ,3    ,0    ,6.278          ,5.606               ,1.12  
4094 ,1    ,4    ,127      ,3    ,23   ,6.263          ,5.601               ,1.118 
4094 ,16   ,3    ,127      ,2    ,23   ,6.133          ,5.471               ,1.121 
4094 ,16   ,4    ,127      ,3    ,23   ,6.2            ,5.56                ,1.115 
4094 ,256  ,3    ,127      ,2    ,23   ,6.195          ,5.526               ,1.121 
4094 ,256  ,4    ,127      ,3    ,23   ,6.244          ,5.562               ,1.123 
4094 ,4    ,3    ,127      ,2    ,23   ,6.214          ,5.479               ,1.134 
4094 ,4    ,4    ,127      ,3    ,23   ,6.236          ,5.525               ,1.129 
4094 ,64   ,3    ,127      ,2    ,23   ,6.284          ,5.555               ,1.131 
4094 ,64   ,4    ,127      ,3    ,23   ,6.213          ,5.498               ,1.13  
4095 ,1    ,1    ,127      ,0    ,0    ,4.929          ,4.205               ,1.172 
4095 ,1    ,1    ,127      ,0    ,23   ,6.295          ,5.356               ,1.175 
4095 ,1    ,2    ,127      ,1    ,0    ,6.179          ,5.473               ,1.129 
4095 ,1    ,2    ,127      ,1    ,23   ,6.04           ,5.368               ,1.125 
4095 ,16   ,1    ,127      ,0    ,23   ,6.421          ,5.472               ,1.173 
4095 ,16   ,2    ,127      ,1    ,23   ,6.148          ,5.433               ,1.132 
4095 ,256  ,1    ,127      ,0    ,23   ,6.21           ,5.237               ,1.186 
4095 ,256  ,2    ,127      ,1    ,23   ,6.178          ,5.394               ,1.145 
4095 ,4    ,1    ,127      ,0    ,23   ,6.433          ,5.447               ,1.181 
4095 ,4    ,2    ,127      ,1    ,23   ,6.104          ,5.403               ,1.13  
4095 ,64   ,1    ,127      ,0    ,23   ,6.385          ,5.443               ,1.173 
4095 ,64   ,2    ,127      ,1    ,23   ,6.044          ,5.356               ,1.129 
45   ,1    ,256  ,127      ,64   ,0    ,5.423          ,6.636               ,0.817 
45   ,1    ,256  ,127      ,64   ,23   ,13.085         ,14.98               ,0.873 
45   ,16   ,256  ,127      ,64   ,23   ,13.131         ,14.652              ,0.896 
45   ,256  ,256  ,127      ,64   ,23   ,14.91          ,16.404              ,0.909 
45   ,4    ,256  ,127      ,64   ,23   ,13.095         ,14.858              ,0.881 
45   ,64   ,256  ,127      ,64   ,23   ,13.063         ,14.828              ,0.881 
5    ,1    ,2048 ,127      ,512  ,0    ,19.362         ,20.923              ,0.925 
5    ,1    ,2048 ,127      ,512  ,23   ,84.057         ,83.9                ,1.002 
5    ,1    ,256  ,127      ,64   ,0    ,5.28           ,6.531               ,0.808 
5    ,1    ,256  ,127      ,64   ,23   ,13.172         ,14.676              ,0.898 
5    ,16   ,2048 ,127      ,512  ,23   ,65.801         ,86.021              ,0.765 
5    ,16   ,256  ,127      ,64   ,23   ,13.018         ,14.652              ,0.888 
5    ,256  ,2048 ,127      ,512  ,23   ,65.78          ,85.645              ,0.768 
5    ,256  ,256  ,127      ,64   ,23   ,13.007         ,14.684              ,0.886 
5    ,4    ,2048 ,127      ,512  ,23   ,69.663         ,83.343              ,0.836 
5    ,4    ,256  ,127      ,64   ,23   ,13.015         ,14.68               ,0.887 
5    ,64   ,2048 ,127      ,512  ,23   ,81.575         ,103.302             ,0.79  
5    ,64   ,256  ,127      ,64   ,23   ,13.035         ,14.543              ,0.896 
6    ,1    ,2048 ,127      ,1024 ,0    ,32.464         ,33.905              ,0.957 
6    ,1    ,2048 ,127      ,1024 ,23   ,62.443         ,62.809              ,0.994 
6    ,1    ,256  ,127      ,64   ,0    ,5.3            ,6.445               ,0.822 
6    ,1    ,256  ,127      ,64   ,23   ,13.008         ,14.468              ,0.899 
6    ,16   ,2048 ,127      ,1024 ,23   ,72.848         ,76.0                ,0.959 
6    ,16   ,256  ,127      ,64   ,23   ,12.983         ,14.459              ,0.898 
6    ,256  ,2048 ,127      ,1024 ,23   ,72.617         ,75.992              ,0.956 
6    ,256  ,256  ,127      ,64   ,23   ,13.031         ,14.626              ,0.891 
6    ,4    ,2048 ,127      ,1024 ,23   ,64.053         ,65.069              ,0.984 
6    ,4    ,256  ,127      ,64   ,23   ,13.051         ,14.561              ,0.896 
6    ,64   ,2048 ,127      ,1024 ,23   ,72.693         ,76.084              ,0.955 
6    ,64   ,256  ,127      ,64   ,23   ,13.037         ,14.607              ,0.892 
60   ,1    ,256  ,127      ,64   ,0    ,5.395          ,6.594               ,0.818 
60   ,1    ,256  ,127      ,64   ,23   ,13.131         ,14.686              ,0.894 
60   ,16   ,256  ,127      ,64   ,23   ,13.114         ,14.83               ,0.884 
60   ,256  ,256  ,127      ,64   ,23   ,13.192         ,14.717              ,0.896 
60   ,4    ,256  ,127      ,64   ,23   ,13.162         ,15.038              ,0.875 
60   ,64   ,256  ,127      ,64   ,23   ,13.117         ,14.73               ,0.89  
7    ,1    ,2048 ,127      ,2048 ,0    ,80.932         ,81.343              ,0.995 
7    ,1    ,2048 ,127      ,2048 ,23   ,80.463         ,74.44               ,1.081 
7    ,1    ,256  ,127      ,64   ,0    ,5.323          ,6.552               ,0.812 
7    ,1    ,256  ,127      ,64   ,23   ,13.13          ,14.673              ,0.895 
7    ,16   ,2048 ,127      ,2048 ,23   ,94.479         ,99.784              ,0.947 
7    ,16   ,256  ,127      ,64   ,23   ,13.142         ,14.68               ,0.895 
7    ,256  ,2048 ,127      ,2048 ,23   ,107.288        ,121.184             ,0.885 
7    ,256  ,256  ,127      ,64   ,23   ,13.012         ,14.641              ,0.889 
7    ,4    ,2048 ,127      ,2048 ,23   ,62.841         ,62.668              ,1.003 
7    ,4    ,256  ,127      ,64   ,23   ,13.038         ,14.618              ,0.892 
7    ,64   ,2048 ,127      ,2048 ,23   ,105.909        ,121.875             ,0.869 
7    ,64   ,256  ,127      ,64   ,23   ,13.02          ,14.491              ,0.899 
75   ,1    ,256  ,127      ,64   ,0    ,5.24           ,6.448               ,0.813 
75   ,1    ,256  ,127      ,64   ,23   ,13.071         ,14.458              ,0.904 
75   ,16   ,256  ,127      ,64   ,23   ,13.04          ,14.67               ,0.889 
75   ,256  ,256  ,127      ,64   ,23   ,14.747         ,16.432              ,0.897 
75   ,4    ,256  ,127      ,64   ,23   ,13.025         ,14.718              ,0.885 
75   ,64   ,256  ,127      ,64   ,23   ,13.032         ,14.728              ,0.885 
8    ,1    ,2048 ,127      ,4096 ,0    ,80.369         ,81.326              ,0.988 
8    ,1    ,2048 ,127      ,4096 ,23   ,80.042         ,73.995              ,1.082 
8    ,16   ,2048 ,127      ,4096 ,23   ,66.75          ,67.302              ,0.992 
8    ,256  ,2048 ,127      ,4096 ,23   ,107.316        ,121.695             ,0.882 
8    ,4    ,2048 ,127      ,4096 ,23   ,59.898         ,60.757              ,0.986 
8    ,64   ,2048 ,127      ,4096 ,23   ,105.027        ,121.241             ,0.866 
90   ,1    ,256  ,127      ,64   ,0    ,5.205          ,6.318               ,0.824 
90   ,1    ,256  ,127      ,64   ,23   ,13.045         ,14.626              ,0.892 
90   ,16   ,256  ,127      ,64   ,23   ,13.004         ,14.613              ,0.89  
90   ,256  ,256  ,127      ,64   ,23   ,14.72          ,16.383              ,0.899 
90   ,4    ,256  ,127      ,64   ,23   ,13.025         ,14.953              ,0.871 
90   ,64   ,256  ,127      ,64   ,23   ,12.978         ,14.562              ,0.891 
0.9316776326414105
diff mbox series

Patch

diff --git a/sysdeps/x86_64/multiarch/strrchr-evex.S b/sysdeps/x86_64/multiarch/strrchr-evex.S
index 992b45fb47..45487dc87a 100644
--- a/sysdeps/x86_64/multiarch/strrchr-evex.S
+++ b/sysdeps/x86_64/multiarch/strrchr-evex.S
@@ -26,25 +26,30 @@ 
 #  define STRRCHR	__strrchr_evex
 # endif
 
-# define VMOVU	vmovdqu64
-# define VMOVA	vmovdqa64
+# include "x86-evex256-vecs.h"
 
 # ifdef USE_AS_WCSRCHR
-#  define SHIFT_REG	esi
-
-#  define kunpck	kunpckbw
+#  define RCX_M	cl
+#  define SHIFT_REG	rcx
+#  define VPCOMPRESS	vpcompressd
+#  define kunpck_2x	kunpckbw
 #  define kmov_2x	kmovd
 #  define maskz_2x	ecx
 #  define maskm_2x	eax
 #  define CHAR_SIZE	4
 #  define VPMIN	vpminud
 #  define VPTESTN	vptestnmd
+#  define VPTEST	vptestmd
 #  define VPBROADCAST	vpbroadcastd
+#  define VPCMPEQ	vpcmpeqd
 #  define VPCMP	vpcmpd
-# else
-#  define SHIFT_REG	edi
 
-#  define kunpck	kunpckdq
+#  define USE_WIDE_CHAR
+# else
+#  define RCX_M	ecx
+#  define SHIFT_REG	rdi
+#  define VPCOMPRESS	vpcompressb
+#  define kunpck_2x	kunpckdq
 #  define kmov_2x	kmovq
 #  define maskz_2x	rcx
 #  define maskm_2x	rax
@@ -52,58 +57,48 @@ 
 #  define CHAR_SIZE	1
 #  define VPMIN	vpminub
 #  define VPTESTN	vptestnmb
+#  define VPTEST	vptestmb
 #  define VPBROADCAST	vpbroadcastb
+#  define VPCMPEQ	vpcmpeqb
 #  define VPCMP	vpcmpb
 # endif
 
-# define XMMZERO	xmm16
-# define YMMZERO	ymm16
-# define YMMMATCH	ymm17
-# define YMMSAVE	ymm18
+# include "reg-macros.h"
 
-# define YMM1	ymm19
-# define YMM2	ymm20
-# define YMM3	ymm21
-# define YMM4	ymm22
-# define YMM5	ymm23
-# define YMM6	ymm24
-# define YMM7	ymm25
-# define YMM8	ymm26
-
-
-# define VEC_SIZE	32
+# define VMATCH	VMM(0)
+# define CHAR_PER_VEC	(VEC_SIZE / CHAR_SIZE)
 # define PAGE_SIZE	4096
-	.section .text.evex, "ax", @progbits
-ENTRY(STRRCHR)
+
+	.section SECTION(.text), "ax", @progbits
+ENTRY_P2ALIGN(STRRCHR, 6)
 	movl	%edi, %eax
-	/* Broadcast CHAR to YMMMATCH.  */
-	VPBROADCAST %esi, %YMMMATCH
+	/* Broadcast CHAR to VMATCH.  */
+	VPBROADCAST %esi, %VMATCH
 
 	andl	$(PAGE_SIZE - 1), %eax
 	cmpl	$(PAGE_SIZE - VEC_SIZE), %eax
 	jg	L(cross_page_boundary)
 
-L(page_cross_continue):
-	VMOVU	(%rdi), %YMM1
-	/* k0 has a 1 for each zero CHAR in YMM1.  */
-	VPTESTN	%YMM1, %YMM1, %k0
-	kmovd	%k0, %ecx
-	testl	%ecx, %ecx
+	VMOVU	(%rdi), %VMM(1)
+	/* k0 has a 1 for each zero CHAR in VEC(1).  */
+	VPTESTN	%VMM(1), %VMM(1), %k0
+	KMOV	%k0, %VRSI
+	test	%VRSI, %VRSI
 	jz	L(aligned_more)
 	/* fallthrough: zero CHAR in first VEC.  */
-
-	/* K1 has a 1 for each search CHAR match in YMM1.  */
-	VPCMP	$0, %YMMMATCH, %YMM1, %k1
-	kmovd	%k1, %eax
+L(page_cross_return):
+	/* K1 has a 1 for each search CHAR match in VEC(1).  */
+	VPCMPEQ	%VMATCH, %VMM(1), %k1
+	KMOV	%k1, %VRAX
 	/* Build mask up until first zero CHAR (used to mask of
 	   potential search CHAR matches past the end of the string).
 	 */
-	blsmskl	%ecx, %ecx
-	andl	%ecx, %eax
+	blsmsk	%VRSI, %VRSI
+	and	%VRSI, %VRAX
 	jz	L(ret0)
-	/* Get last match (the `andl` removed any out of bounds
-	   matches).  */
-	bsrl	%eax, %eax
+	/* Get last match (the `and` removed any out of bounds matches).
+	 */
+	bsr	%VRAX, %VRAX
 # ifdef USE_AS_WCSRCHR
 	leaq	(%rdi, %rax, CHAR_SIZE), %rax
 # else
@@ -116,22 +111,22 @@  L(ret0):
 	   search path for earlier matches.  */
 	.p2align 4,, 6
 L(first_vec_x1):
-	VPCMP	$0, %YMMMATCH, %YMM2, %k1
-	kmovd	%k1, %eax
-	blsmskl	%ecx, %ecx
+	VPCMPEQ	%VMATCH, %VMM(2), %k1
+	KMOV	%k1, %VRAX
+	blsmsk	%VRCX, %VRCX
 	/* eax non-zero if search CHAR in range.  */
-	andl	%ecx, %eax
+	and	%VRCX, %VRAX
 	jnz	L(first_vec_x1_return)
 
-	/* fallthrough: no match in YMM2 then need to check for earlier
-	   matches (in YMM1).  */
+	/* fallthrough: no match in VEC(2) then need to check for
+	   earlier matches (in VEC(1)).  */
 	.p2align 4,, 4
 L(first_vec_x0_test):
-	VPCMP	$0, %YMMMATCH, %YMM1, %k1
-	kmovd	%k1, %eax
-	testl	%eax, %eax
+	VPCMPEQ	%VMATCH, %VMM(1), %k1
+	KMOV	%k1, %VRAX
+	test	%VRAX, %VRAX
 	jz	L(ret1)
-	bsrl	%eax, %eax
+	bsr	%VRAX, %VRAX
 # ifdef USE_AS_WCSRCHR
 	leaq	(%rsi, %rax, CHAR_SIZE), %rax
 # else
@@ -142,129 +137,144 @@  L(ret1):
 
 	.p2align 4,, 10
 L(first_vec_x1_or_x2):
-	VPCMP	$0, %YMM3, %YMMMATCH, %k3
-	VPCMP	$0, %YMM2, %YMMMATCH, %k2
+	VPCMPEQ	%VMM(3), %VMATCH, %k3
+	VPCMPEQ	%VMM(2), %VMATCH, %k2
 	/* K2 and K3 have 1 for any search CHAR match. Test if any
-	   matches between either of them. Otherwise check YMM1.  */
-	kortestd %k2, %k3
+	   matches between either of them. Otherwise check VEC(1).  */
+	KORTEST %k2, %k3
 	jz	L(first_vec_x0_test)
 
-	/* Guranteed that YMM2 and YMM3 are within range so merge the
-	   two bitmasks then get last result.  */
-	kunpck	%k2, %k3, %k3
-	kmovq	%k3, %rax
-	bsrq	%rax, %rax
-	leaq	(VEC_SIZE)(%r8, %rax, CHAR_SIZE), %rax
+	/* Guranteed that VEC(2) and VEC(3) are within range so merge
+	   the two bitmasks then get last result.  */
+	kunpck_2x %k2, %k3, %k3
+	kmov_2x	%k3, %maskm_2x
+	bsr	%maskm_2x, %maskm_2x
+	leaq	(VEC_SIZE * 1)(%r8, %rax, CHAR_SIZE), %rax
 	ret
 
-	.p2align 4,, 6
+	.p2align 4,, 7
 L(first_vec_x3):
-	VPCMP	$0, %YMMMATCH, %YMM4, %k1
-	kmovd	%k1, %eax
-	blsmskl	%ecx, %ecx
-	/* If no search CHAR match in range check YMM1/YMM2/YMM3.  */
-	andl	%ecx, %eax
+	VPCMPEQ	%VMATCH, %VMM(4), %k1
+	KMOV	%k1, %VRAX
+	blsmsk	%VRCX, %VRCX
+	/* If no search CHAR match in range check VEC(1)/VEC(2)/VEC(3).
+	 */
+	and	%VRCX, %VRAX
 	jz	L(first_vec_x1_or_x2)
-	bsrl	%eax, %eax
+	bsr	%VRAX, %VRAX
 	leaq	(VEC_SIZE * 3)(%rdi, %rax, CHAR_SIZE), %rax
 	ret
 
+
 	.p2align 4,, 6
 L(first_vec_x0_x1_test):
-	VPCMP	$0, %YMMMATCH, %YMM2, %k1
-	kmovd	%k1, %eax
-	/* Check YMM2 for last match first. If no match try YMM1.  */
-	testl	%eax, %eax
+	VPCMPEQ	%VMATCH, %VMM(2), %k1
+	KMOV	%k1, %VRAX
+	/* Check VEC(2) for last match first. If no match try VEC(1).
+	 */
+	test	%VRAX, %VRAX
 	jz	L(first_vec_x0_test)
 	.p2align 4,, 4
 L(first_vec_x1_return):
-	bsrl	%eax, %eax
+	bsr	%VRAX, %VRAX
 	leaq	(VEC_SIZE)(%rdi, %rax, CHAR_SIZE), %rax
 	ret
 
+
 	.p2align 4,, 10
 L(first_vec_x2):
-	VPCMP	$0, %YMMMATCH, %YMM3, %k1
-	kmovd	%k1, %eax
-	blsmskl	%ecx, %ecx
-	/* Check YMM3 for last match first. If no match try YMM2/YMM1.
-	 */
-	andl	%ecx, %eax
+	VPCMPEQ	%VMATCH, %VMM(3), %k1
+	KMOV	%k1, %VRAX
+	blsmsk	%VRCX, %VRCX
+	/* Check VEC(3) for last match first. If no match try
+	   VEC(2)/VEC(1).  */
+	and	%VRCX, %VRAX
 	jz	L(first_vec_x0_x1_test)
-	bsrl	%eax, %eax
+	bsr	%VRAX, %VRAX
 	leaq	(VEC_SIZE * 2)(%rdi, %rax, CHAR_SIZE), %rax
 	ret
 
 
-	.p2align 4
+	.p2align 4,, 12
 L(aligned_more):
-	/* Need to keep original pointer incase YMM1 has last match.  */
+L(page_cross_continue):
+	/* Need to keep original pointer incase VEC(1) has last match.
+	 */
 	movq	%rdi, %rsi
 	andq	$-VEC_SIZE, %rdi
-	VMOVU	VEC_SIZE(%rdi), %YMM2
-	VPTESTN	%YMM2, %YMM2, %k0
-	kmovd	%k0, %ecx
-	testl	%ecx, %ecx
+
+	VMOVU	VEC_SIZE(%rdi), %VMM(2)
+	VPTESTN	%VMM(2), %VMM(2), %k0
+	KMOV	%k0, %VRCX
+
+	test	%VRCX, %VRCX
 	jnz	L(first_vec_x1)
 
-	VMOVU	(VEC_SIZE * 2)(%rdi), %YMM3
-	VPTESTN	%YMM3, %YMM3, %k0
-	kmovd	%k0, %ecx
-	testl	%ecx, %ecx
+	VMOVU	(VEC_SIZE * 2)(%rdi), %VMM(3)
+	VPTESTN	%VMM(3), %VMM(3), %k0
+	KMOV	%k0, %VRCX
+
+	test	%VRCX, %VRCX
 	jnz	L(first_vec_x2)
 
-	VMOVU	(VEC_SIZE * 3)(%rdi), %YMM4
-	VPTESTN	%YMM4, %YMM4, %k0
-	kmovd	%k0, %ecx
+	VMOVU	(VEC_SIZE * 3)(%rdi), %VMM(4)
+	VPTESTN	%VMM(4), %VMM(4), %k0
+	KMOV	%k0, %VRCX
 	movq	%rdi, %r8
-	testl	%ecx, %ecx
+	test	%VRCX, %VRCX
 	jnz	L(first_vec_x3)
 
 	andq	$-(VEC_SIZE * 2), %rdi
-	.p2align 4
+	.p2align 4,, 10
 L(first_aligned_loop):
-	/* Preserve YMM1, YMM2, YMM3, and YMM4 until we can gurantee
-	   they don't store a match.  */
-	VMOVA	(VEC_SIZE * 4)(%rdi), %YMM5
-	VMOVA	(VEC_SIZE * 5)(%rdi), %YMM6
+	/* Preserve VEC(1), VEC(2), VEC(3), and VEC(4) until we can
+	   gurantee they don't store a match.  */
+	VMOVA	(VEC_SIZE * 4)(%rdi), %VMM(5)
+	VMOVA	(VEC_SIZE * 5)(%rdi), %VMM(6)
 
-	VPCMP	$0, %YMM5, %YMMMATCH, %k2
-	vpxord	%YMM6, %YMMMATCH, %YMM7
+	VPCMPEQ	%VMM(5), %VMATCH, %k2
+	vpxord	%VMM(6), %VMATCH, %VMM(7)
 
-	VPMIN	%YMM5, %YMM6, %YMM8
-	VPMIN	%YMM8, %YMM7, %YMM7
+	VPMIN	%VMM(5), %VMM(6), %VMM(8)
+	VPMIN	%VMM(8), %VMM(7), %VMM(7)
 
-	VPTESTN	%YMM7, %YMM7, %k1
+	VPTESTN	%VMM(7), %VMM(7), %k1
 	subq	$(VEC_SIZE * -2), %rdi
-	kortestd %k1, %k2
+	KORTEST %k1, %k2
 	jz	L(first_aligned_loop)
 
-	VPCMP	$0, %YMM6, %YMMMATCH, %k3
-	VPTESTN	%YMM8, %YMM8, %k1
-	ktestd	%k1, %k1
+	VPCMPEQ	%VMM(6), %VMATCH, %k3
+	VPTESTN	%VMM(8), %VMM(8), %k1
+
+	/* If k1 is zero, then we found a CHAR match but no null-term.
+	   We can now safely throw out VEC1-4.  */
+	KTEST	%k1, %k1
 	jz	L(second_aligned_loop_prep)
 
-	kortestd %k2, %k3
+	KORTEST %k2, %k3
 	jnz	L(return_first_aligned_loop)
 
+
 	.p2align 4,, 6
 L(first_vec_x1_or_x2_or_x3):
-	VPCMP	$0, %YMM4, %YMMMATCH, %k4
-	kmovd	%k4, %eax
-	testl	%eax, %eax
+	VPCMPEQ	%VMM(4), %VMATCH, %k4
+	KMOV	%k4, %VRAX
+	bsr	%VRAX, %VRAX
 	jz	L(first_vec_x1_or_x2)
-	bsrl	%eax, %eax
 	leaq	(VEC_SIZE * 3)(%r8, %rax, CHAR_SIZE), %rax
 	ret
 
+
 	.p2align 4,, 8
 L(return_first_aligned_loop):
-	VPTESTN	%YMM5, %YMM5, %k0
-	kunpck	%k0, %k1, %k0
+	VPTESTN	%VMM(5), %VMM(5), %k0
+
+	/* Combined results from VEC5/6.  */
+	kunpck_2x %k0, %k1, %k0
 	kmov_2x	%k0, %maskz_2x
 
 	blsmsk	%maskz_2x, %maskz_2x
-	kunpck	%k2, %k3, %k3
+	kunpck_2x %k2, %k3, %k3
 	kmov_2x	%k3, %maskm_2x
 	and	%maskz_2x, %maskm_2x
 	jz	L(first_vec_x1_or_x2_or_x3)
@@ -280,47 +290,62 @@  L(return_first_aligned_loop):
 L(second_aligned_loop_prep):
 L(second_aligned_loop_set_furthest_match):
 	movq	%rdi, %rsi
-	kunpck	%k2, %k3, %k4
-
+	/* Ideally we would safe k2/k3 but `kmov/kunpck` take uops on
+	   port0 and have noticable overhead in the loop.  */
+	VMOVA	%VMM(5), %VMM(7)
+	VMOVA	%VMM(6), %VMM(8)
 	.p2align 4
 L(second_aligned_loop):
-	VMOVU	(VEC_SIZE * 4)(%rdi), %YMM1
-	VMOVU	(VEC_SIZE * 5)(%rdi), %YMM2
-
-	VPCMP	$0, %YMM1, %YMMMATCH, %k2
-	vpxord	%YMM2, %YMMMATCH, %YMM3
+	VMOVU	(VEC_SIZE * 4)(%rdi), %VMM(5)
+	VMOVU	(VEC_SIZE * 5)(%rdi), %VMM(6)
+	VPCMPEQ	%VMM(5), %VMATCH, %k2
+	vpxord	%VMM(6), %VMATCH, %VMM(3)
 
-	VPMIN	%YMM1, %YMM2, %YMM4
-	VPMIN	%YMM3, %YMM4, %YMM3
+	VPMIN	%VMM(5), %VMM(6), %VMM(4)
+	VPMIN	%VMM(3), %VMM(4), %VMM(3)
 
-	VPTESTN	%YMM3, %YMM3, %k1
+	VPTESTN	%VMM(3), %VMM(3), %k1
 	subq	$(VEC_SIZE * -2), %rdi
-	kortestd %k1, %k2
+	KORTEST %k1, %k2
 	jz	L(second_aligned_loop)
-
-	VPCMP	$0, %YMM2, %YMMMATCH, %k3
-	VPTESTN	%YMM4, %YMM4, %k1
-	ktestd	%k1, %k1
+	VPCMPEQ	%VMM(6), %VMATCH, %k3
+	VPTESTN	%VMM(4), %VMM(4), %k1
+	KTEST	%k1, %k1
 	jz	L(second_aligned_loop_set_furthest_match)
 
-	kortestd %k2, %k3
-	/* branch here because there is a significant advantage interms
-	   of output dependency chance in using edx.  */
+	/* branch here because we know we have a match in VEC7/8 but
+	   might not in VEC5/6 so the latter is expected to be less
+	   likely.  */
+	KORTEST %k2, %k3
 	jnz	L(return_new_match)
+
 L(return_old_match):
-	kmovq	%k4, %rax
-	bsrq	%rax, %rax
-	leaq	(VEC_SIZE * 2)(%rsi, %rax, CHAR_SIZE), %rax
+	VPCMPEQ	%VMM(8), %VMATCH, %k0
+	KMOV	%k0, %VRCX
+	bsr	%VRCX, %VRCX
+	jnz	L(return_old_match_ret)
+
+	VPCMPEQ	%VMM(7), %VMATCH, %k0
+	KMOV	%k0, %VRCX
+	bsr	%VRCX, %VRCX
+	subq	$VEC_SIZE, %rsi
+L(return_old_match_ret):
+	leaq	(VEC_SIZE * 3)(%rsi, %rcx, CHAR_SIZE), %rax
 	ret
 
+	.p2align 4,, 10
 L(return_new_match):
-	VPTESTN	%YMM1, %YMM1, %k0
-	kunpck	%k0, %k1, %k0
+	VPTESTN	%VMM(5), %VMM(5), %k0
+
+	/* Combined results from VEC5/6.  */
+	kunpck_2x %k0, %k1, %k0
 	kmov_2x	%k0, %maskz_2x
 
 	blsmsk	%maskz_2x, %maskz_2x
-	kunpck	%k2, %k3, %k3
+	kunpck_2x %k2, %k3, %k3
 	kmov_2x	%k3, %maskm_2x
+
+	/* Match at end was out-of-bounds so use last known match.  */
 	and	%maskz_2x, %maskm_2x
 	jz	L(return_old_match)
 
@@ -328,49 +353,53 @@  L(return_new_match):
 	leaq	(VEC_SIZE * 2)(%rdi, %rax, CHAR_SIZE), %rax
 	ret
 
+	.p2align 4,, 4
 L(cross_page_boundary):
-	/* eax contains all the page offset bits of src (rdi). `xor rdi,
-	   rax` sets pointer will all page offset bits cleared so
-	   offset of (PAGE_SIZE - VEC_SIZE) will get last aligned VEC
-	   before page cross (guranteed to be safe to read). Doing this
-	   as opposed to `movq %rdi, %rax; andq $-VEC_SIZE, %rax` saves
-	   a bit of code size.  */
 	xorq	%rdi, %rax
-	VMOVU	(PAGE_SIZE - VEC_SIZE)(%rax), %YMM1
-	VPTESTN	%YMM1, %YMM1, %k0
-	kmovd	%k0, %ecx
+	mov	$-1, %VRDX
+	VMOVU	(PAGE_SIZE - VEC_SIZE)(%rax), %VMM(6)
+	VPTESTN	%VMM(6), %VMM(6), %k0
+	KMOV	%k0, %VRSI
+
+# ifdef USE_AS_WCSRCHR
+	movl	%edi, %ecx
+	and	$(VEC_SIZE - 1), %ecx
+	shrl	$2, %ecx
+# endif
+	shlx	%VGPR(SHIFT_REG), %VRDX, %VRDX
 
-	/* Shift out zero CHAR matches that are before the begining of
-	   src (rdi).  */
 # ifdef USE_AS_WCSRCHR
-	movl	%edi, %esi
-	andl	$(VEC_SIZE - 1), %esi
-	shrl	$2, %esi
+	kmovb	%edx, %k1
+# else
+	KMOV	%VRDX, %k1
 # endif
-	shrxl	%SHIFT_REG, %ecx, %ecx
 
-	testl	%ecx, %ecx
+	/* Need to adjust result to VEC(1) so it can be re-used by
+	   L(return_vec_x0_test).  The alternative is to collect VEC(1)
+	   will a page cross load which is far more expensive.  */
+	VPCOMPRESS %VMM(6), %VMM(1){%k1}{z}
+
+	/* We could technically just jmp back after the vpcompress but
+	   it doesn't save any 16-byte blocks.  */
+	shrx	%VGPR(SHIFT_REG), %VRSI, %VRSI
+	test	%VRSI, %VRSI
 	jz	L(page_cross_continue)
 
-	/* Found zero CHAR so need to test for search CHAR.  */
-	VPCMP	$0, %YMMMATCH, %YMM1, %k1
-	kmovd	%k1, %eax
-	/* Shift out search CHAR matches that are before the begining of
-	   src (rdi).  */
-	shrxl	%SHIFT_REG, %eax, %eax
-
-	/* Check if any search CHAR match in range.  */
-	blsmskl	%ecx, %ecx
-	andl	%ecx, %eax
-	jz	L(ret3)
-	bsrl	%eax, %eax
+	/* Duplicate of return logic from ENTRY. Doesn't cause spill to
+	   next cache line so might as well copy it here.  */
+	VPCMPEQ	%VMATCH, %VMM(1), %k1
+	KMOV	%k1, %VRAX
+	blsmsk	%VRSI, %VRSI
+	and	%VRSI, %VRAX
+	jz	L(ret_page_cross)
+	bsr	%VRAX, %VRAX
 # ifdef USE_AS_WCSRCHR
 	leaq	(%rdi, %rax, CHAR_SIZE), %rax
 # else
 	addq	%rdi, %rax
 # endif
-L(ret3):
+L(ret_page_cross):
 	ret
-
+	/* 1 byte till next cache line.  */
 END(STRRCHR)
 #endif