diff mbox series

aarch64: Optimized strcpy for Kunpeng processor.

Message ID 20191017145059.8732-1-zhangxuelei4@huawei.com
State New
Headers show
Series aarch64: Optimized strcpy for Kunpeng processor. | expand

Commit Message

Xuelei Zhang Oct. 17, 2019, 2:50 p.m. UTC
Optimize the strcpy implementation by using vector loads and operations
in main loop.Compared to aarch64/strcpy.S, it reduces latency of cases
in bench-strlen by 5%~18% when the length of src is greater than 64
bytes, with gains throughout the benchmark.

Here is the result:
                       	simple_strcpy	__strcpy_kunpeng	__strcpy_generic
Length    0, alignments in bytes  0/ 0:	14.375	11.875	11.7188
Length    0, alignments in bytes  0/ 0:	10.9375	12.0312	12.0312
Length    0, alignments in bytes  0/ 0:	10.625	12.3438	11.875
Length    0, alignments in bytes  0/ 0:	10.7812	12.1875	11.7188
Length    1, alignments in bytes  0/ 0:	11.0938	12.0312	11.5625
Length    1, alignments in bytes  0/ 0:	10.4688	12.0312	11.7188
Length    1, alignments in bytes  0/ 1:	10.4688	12.1875	11.875
Length    1, alignments in bytes  1/ 0:	10.625	13.4375	11.0938
Length    2, alignments in bytes  0/ 0:	12.6562	11.875	11.875
Length    2, alignments in bytes  0/ 0:	12.8125	11.7188	11.4062
Length    2, alignments in bytes  0/ 2:	12.1875	11.5625	11.25
Length    2, alignments in bytes  2/ 0:	11.7188	11.5625	11.25
Length    3, alignments in bytes  0/ 0:	12.9688	11.7188	11.5625
Length    3, alignments in bytes  0/ 0:	11.875	11.4062	11.25
Length    3, alignments in bytes  0/ 3:	11.5625	11.5625	11.4062
Length    3, alignments in bytes  3/ 0:	11.5625	11.25	11.25
Length    4, alignments in bytes  0/ 0:	13.2812	12.1875	11.4062
Length    4, alignments in bytes  0/ 0:	12.1875	11.5625	11.25
Length    4, alignments in bytes  0/ 4:	12.1875	11.7188	11.0938
Length    4, alignments in bytes  4/ 0:	11.7188	11.875	11.25
Length    5, alignments in bytes  0/ 0:	13.5938	11.875	11.4062
Length    5, alignments in bytes  0/ 0:	12.6562	11.7188	11.4062
Length    5, alignments in bytes  0/ 5:	12.3438	11.4062	11.0938
Length    5, alignments in bytes  5/ 0:	12.1875	11.5625	11.5625
Length    6, alignments in bytes  0/ 0:	13.2812	11.5625	11.5625
Length    6, alignments in bytes  0/ 0:	12.9688	11.5625	11.25
Length    6, alignments in bytes  0/ 6:	12.8125	11.875	11.0938
Length    6, alignments in bytes  6/ 0:	12.8125	11.5625	12.0312
Length    7, alignments in bytes  0/ 0:	14.0625	12.0312	11.25
Length    7, alignments in bytes  0/ 0:	14.0625	11.875	11.875
Length    7, alignments in bytes  0/ 7:	13.4375	11.5625	11.0938
Length    7, alignments in bytes  7/ 0:	13.5938	11.7188	11.7188
Length    8, alignments in bytes  0/ 0:	15	11.0938	11.0938
Length    8, alignments in bytes  0/ 0:	15.7812	11.5625	11.0938
Length    8, alignments in bytes  0/ 0:	14.5312	11.0938	10.9375
Length    8, alignments in bytes  0/ 0:	13.9062	11.4062	11.0938
Length    9, alignments in bytes  0/ 0:	14.6875	11.4062	11.25
Length    9, alignments in bytes  0/ 0:	13.9062	11.0938	10.9375
Length    9, alignments in bytes  0/ 1:	14.0625	11.5625	10.7812
Length    9, alignments in bytes  1/ 0:	13.75	11.875	11.0938
Length   10, alignments in bytes  0/ 0:	16.4062	11.4062	11.25
Length   10, alignments in bytes  0/ 0:	15.3125	11.0938	11.0938
Length   10, alignments in bytes  0/ 2:	14.8438	11.875	11.4062
Length   10, alignments in bytes  2/ 0:	14.5312	11.5625	10.9375
Length   11, alignments in bytes  0/ 0:	15.3125	11.4062	11.25
Length   11, alignments in bytes  0/ 0:	15	11.5625	11.0938
Length   11, alignments in bytes  0/ 3:	15.3125	11.25	10.9375
Length   11, alignments in bytes  3/ 0:	15.4688	11.5625	10.9375
Length   12, alignments in bytes  0/ 0:	16.0938	11.4062	11.25
Length   12, alignments in bytes  0/ 0:	15.7812	11.5625	11.25
Length   12, alignments in bytes  0/ 4:	15.4688	11.0938	10.9375
Length   12, alignments in bytes  4/ 0:	15.7812	11.5625	11.0938
Length   13, alignments in bytes  0/ 0:	16.0938	11.7188	11.7188
Length   13, alignments in bytes  0/ 0:	16.4062	11.5625	11.0938
Length   13, alignments in bytes  0/ 5:	16.25	11.0938	10.7812
Length   13, alignments in bytes  5/ 0:	15.9375	11.5625	11.25
Length   14, alignments in bytes  0/ 0:	15.9375	11.0938	11.0938
Length   14, alignments in bytes  0/ 0:	15.625	11.5625	11.25
Length   14, alignments in bytes  0/ 6:	15.9375	11.25	10.9375
Length   14, alignments in bytes  6/ 0:	15.7812	11.7188	10.9375
Length   15, alignments in bytes  0/ 0:	16.4062	11.25	10.9375
Length   15, alignments in bytes  0/ 0:	16.25	11.7188	11.4062
Length   15, alignments in bytes  0/ 7:	16.25	11.4062	10.9375
Length   15, alignments in bytes  7/ 0:	16.25	12.1875	11.4062
Length   16, alignments in bytes  0/ 0:	18.125	12.9688	13.125
Length   16, alignments in bytes  7/ 2:	16.875	12.8125	13.125
Length   32, alignments in bytes  0/ 0:	24.6875	14.0625	14.5312
Length   32, alignments in bytes  6/ 4:	22.8125	13.125	13.9062
Length   64, alignments in bytes  0/ 0:	57.3438	17.5	17.9688
Length   64, alignments in bytes  5/ 6:	57.5	15.9375	17.6562
Length  128, alignments in bytes  0/ 0:	81.0938	21.4062	23.5938
Length  128, alignments in bytes  4/ 0:	75.625	19.6875	23.2812
Length  256, alignments in bytes  0/ 0:	144.531	28.125	34.5312
Length  256, alignments in bytes  3/ 2:	147.5	28.4375	34.375
Length  512, alignments in bytes  0/ 0:	329.219	44.8438	55.1562
Length  512, alignments in bytes  2/ 4:	330.312	45.4688	54.8438
Length 1024, alignments in bytes  0/ 0:	527.031	79.0625	118.125
Length 1024, alignments in bytes  1/ 6:	585.469	78.4375	118.438
Length   16, alignments in bytes  1/ 2:	17.3438	13.75	13.5938
Length   16, alignments in bytes  2/ 1:	17.0312	12.1875	12.3438
Length   16, alignments in bytes  1/ 1:	17.0312	12.1875	12.5
Length   16, alignments in bytes  1/ 1:	17.9688	12.6562	12.5
Length   32, alignments in bytes  2/ 4:	25.1562	13.9062	14.5312
Length   32, alignments in bytes  4/ 2:	23.125	13.2812	13.75
Length   32, alignments in bytes  2/ 2:	22.9688	13.4375	14.0625
Length   32, alignments in bytes  2/ 2:	23.2812	13.9062	13.9062
Length   64, alignments in bytes  3/ 6:	41.875	16.4062	18.5938
Length   64, alignments in bytes  6/ 3:	37.8125	16.0938	17.8125
Length   64, alignments in bytes  3/ 3:	35.625	15.3125	16.5625
Length   64, alignments in bytes  3/ 3:	35.625	15.7812	17.3438
Length  128, alignments in bytes  4/ 0:	75.4688	19.6875	23.9062
Length  128, alignments in bytes  0/ 4:	80.625	19.5312	23.125
Length  128, alignments in bytes  4/ 4:	78.75	19.2188	23.125
Length  128, alignments in bytes  4/ 4:	76.0938	18.5938	23.2812
Length  256, alignments in bytes  5/ 2:	123.906	28.9062	34.375
Length  256, alignments in bytes  2/ 5:	119.062	28.75	34.375
Length  256, alignments in bytes  5/ 5:	123.594	28.5938	34.0625
Length  256, alignments in bytes  5/ 5:	149.531	28.5938	34.2188
Length  512, alignments in bytes  6/ 4:	230.312	45.1562	55.4688
Length  512, alignments in bytes  4/ 6:	276.719	45.3125	54.6875
Length  512, alignments in bytes  6/ 6:	229.219	45.4688	54.6875
Length  512, alignments in bytes  6/ 6:	321.094	44.6875	55
Length 1024, alignments in bytes  7/ 6:	549.531	78.2812	119.375
Length 1024, alignments in bytes  6/ 7:	545.469	79.0625	118.75
Length 1024, alignments in bytes  7/ 7:	548.438	78.75	95.4688
Length 1024, alignments in bytes  7/ 7:	581.562	78.4375	95.625
Length   16, alignments in bytes  0/ 4:	16.875	12.1875	13.2812
Length   16, alignments in bytes  4/ 0:	17.1875	12.3438	12.9688
Length   16, alignments in bytes  4/ 4:	17.0312	12.6562	12.5
Length   16, alignments in bytes  2/ 2:	17.0312	12.0312	12.1875
Length   16, alignments in bytes  2/ 6:	16.875	12.1875	12.6562
Length   16, alignments in bytes  6/ 2:	16.7188	12.8125	12.1875
Length   16, alignments in bytes  1/ 7:	17.1875	12.5	12.5
Length   16, alignments in bytes  7/ 1:	16.875	12.3438	12.5
Length   16, alignments in bytes  3/ 4:	16.875	12.5	12.6562
Length   16, alignments in bytes  4/ 3:	17.0312	12.6562	12.3438
Length   16, alignments in bytes  5/ 7:	16.7188	12.5	12.5
Length   16, alignments in bytes  7/ 5:	16.875	12.6562	12.6562
Length   20, alignments in bytes  0/ 4:	19.5312	12.5	12.5
Length   20, alignments in bytes  4/ 0:	18.2812	12.3438	12.3438
Length   20, alignments in bytes  4/ 4:	18.2812	12.5	12.5
Length   20, alignments in bytes  2/ 2:	18.75	12.5	12.3438
Length   20, alignments in bytes  2/ 6:	18.4375	12.1875	12.5
Length   20, alignments in bytes  6/ 2:	18.5938	12.5	12.5
Length   20, alignments in bytes  1/ 7:	19.0625	12.3438	12.6562
Length   20, alignments in bytes  7/ 1:	18.2812	12.1875	12.8125
Length   20, alignments in bytes  3/ 4:	18.75	12.8125	12.5
Length   20, alignments in bytes  4/ 3:	18.125	12.6562	12.8125
Length   20, alignments in bytes  5/ 7:	18.4375	12.1875	12.1875
Length   20, alignments in bytes  7/ 5:	18.2812	12.8125	12.6562
Length   24, alignments in bytes  0/ 4:	21.7188	12.5	12.5
Length   24, alignments in bytes  4/ 0:	20.1562	12.6562	12.9688
Length   24, alignments in bytes  4/ 4:	20.4688	12.3438	12.3438
Length   24, alignments in bytes  2/ 2:	20.4688	12.3438	12.6562
Length   24, alignments in bytes  2/ 6:	19.8438	12.1875	12.3438
Length   24, alignments in bytes  6/ 2:	20.4688	12.6562	12.3438
Length   24, alignments in bytes  1/ 7:	20.3125	12.5	12.6562
Length   24, alignments in bytes  7/ 1:	20	11.875	11.875
Length   24, alignments in bytes  3/ 4:	20.1562	12.0312	12.3438
Length   24, alignments in bytes  4/ 3:	20.3125	12.5	12.3438
Length   24, alignments in bytes  5/ 7:	20.1562	12.8125	12.3438
Length   24, alignments in bytes  7/ 5:	19.8438	11.875	12.1875
Length   28, alignments in bytes  0/ 4:	23.125	12.0312	12.3438
Length   28, alignments in bytes  4/ 0:	21.875	13.5938	14.2188
Length   28, alignments in bytes  4/ 4:	21.7188	14.0625	13.9062
Length   28, alignments in bytes  2/ 2:	21.7188	12.3438	12.6562
Length   28, alignments in bytes  2/ 6:	21.7188	12.1875	12.8125
Length   28, alignments in bytes  6/ 2:	21.875	13.5938	13.9062
Length   28, alignments in bytes  1/ 7:	21.875	12.5	12.6562
Length   28, alignments in bytes  7/ 1:	21.875	13.9062	14.0625
Length   28, alignments in bytes  3/ 4:	21.5625	12.1875	12.5
Length   28, alignments in bytes  4/ 3:	21.875	13.75	13.75
Length   28, alignments in bytes  5/ 7:	21.875	13.2812	14.0625
Length   28, alignments in bytes  7/ 5:	21.875	13.4375	14.0625
Length   32, alignments in bytes  0/ 4:	23.5938	12.9688	14.0625
Length   32, alignments in bytes  4/ 0:	23.75	13.2812	14.0625
Length   32, alignments in bytes  4/ 4:	23.4375	13.125	13.9062
Length   32, alignments in bytes  2/ 2:	23.75	13.2812	13.9062
Length   32, alignments in bytes  2/ 6:	23.5938	13.4375	13.75
Length   32, alignments in bytes  6/ 2:	23.2812	13.4375	14.2188
Length   32, alignments in bytes  1/ 7:	23.4375	12.9688	13.9062
Length   32, alignments in bytes  7/ 1:	23.2812	13.2812	14.375
Length   32, alignments in bytes  3/ 4:	23.2812	13.2812	14.0625
Length   32, alignments in bytes  4/ 3:	22.8125	13.125	14.0625
Length   32, alignments in bytes  5/ 7:	22.9688	12.9688	14.375
Length   32, alignments in bytes  7/ 5:	23.4375	13.75	14.0625
Length   36, alignments in bytes  0/ 4:	25.1562	12.9688	14.2188
Length   36, alignments in bytes  4/ 0:	25	13.125	14.0625
Length   36, alignments in bytes  4/ 4:	24.8438	13.125	14.0625
Length   36, alignments in bytes  2/ 2:	25	13.5938	14.2188
Length   36, alignments in bytes  2/ 6:	24.8438	13.75	14.0625
Length   36, alignments in bytes  6/ 2:	24.8438	13.2812	14.0625
Length   36, alignments in bytes  1/ 7:	24.5312	13.125	13.9062
Length   36, alignments in bytes  7/ 1:	25	13.125	14.2188
Length   36, alignments in bytes  3/ 4:	24.8438	12.9688	14.0625
Length   36, alignments in bytes  4/ 3:	25	12.9688	14.375
Length   36, alignments in bytes  5/ 7:	25.3125	13.2812	14.375
Length   36, alignments in bytes  7/ 5:	25	13.2812	14.2188
Length   40, alignments in bytes  0/ 4:	26.875	12.6562	14.0625
Length   40, alignments in bytes  4/ 0:	26.5625	13.125	14.2188
Length   40, alignments in bytes  4/ 4:	26.4062	12.9688	14.2188
Length   40, alignments in bytes  2/ 2:	26.875	13.2812	14.0625
Length   40, alignments in bytes  2/ 6:	26.5625	13.125	13.9062
Length   40, alignments in bytes  6/ 2:	27.1875	13.125	14.2188
Length   40, alignments in bytes  1/ 7:	26.25	13.4375	14.0625
Length   40, alignments in bytes  7/ 1:	27.0312	12.8125	13.4375
Length   40, alignments in bytes  3/ 4:	26.7188	13.2812	14.375
Length   40, alignments in bytes  4/ 3:	27.0312	12.9688	14.375
Length   40, alignments in bytes  5/ 7:	27.0312	13.125	14.0625
Length   40, alignments in bytes  7/ 5:	27.6562	12.6562	13.2812
Length   44, alignments in bytes  0/ 4:	28.2812	13.125	13.75
Length   44, alignments in bytes  4/ 0:	27.9688	15.7812	17.1875
Length   44, alignments in bytes  4/ 4:	28.2812	15	15.625
Length   44, alignments in bytes  2/ 2:	27.9688	13.4375	14.0625
Length   44, alignments in bytes  2/ 6:	27.8125	13.125	14.0625
Length   44, alignments in bytes  6/ 2:	27.9688	15	15.625
Length   44, alignments in bytes  1/ 7:	27.9688	12.9688	13.9062
Length   44, alignments in bytes  7/ 1:	27.9688	14.5312	15.625
Length   44, alignments in bytes  3/ 4:	27.9688	12.9688	13.5938
Length   44, alignments in bytes  4/ 3:	28.125	14.375	15.7812
Length   44, alignments in bytes  5/ 7:	28.125	14.5312	15.1562
Length   44, alignments in bytes  7/ 5:	28.2812	14.2188	15.625
Length   48, alignments in bytes  0/ 4:	32.8125	13.75	15.1562
Length   48, alignments in bytes  4/ 0:	32.1875	14.0625	15.625
Length   48, alignments in bytes  4/ 4:	32.3438	14.2188	15.4688
Length   48, alignments in bytes  2/ 2:	32.5	14.0625	15.3125
Length   48, alignments in bytes  2/ 6:	33.125	14.0625	15.3125
Length   48, alignments in bytes  6/ 2:	32.5	14.0625	15.1562
Length   48, alignments in bytes  1/ 7:	32.5	13.9062	15.4688
Length   48, alignments in bytes  7/ 1:	32.3438	14.0625	15.4688
Length   48, alignments in bytes  3/ 4:	32.5	13.9062	15.3125
Length   48, alignments in bytes  4/ 3:	32.6562	14.0625	15.3125
Length   48, alignments in bytes  5/ 7:	32.1875	13.75	15.625
Length   48, alignments in bytes  7/ 5:	32.5	13.75	15.3125
Length   52, alignments in bytes  0/ 4:	31.0938	13.9062	15.4688
Length   52, alignments in bytes  4/ 0:	31.4062	13.9062	15.1562
Length   52, alignments in bytes  4/ 4:	31.0938	14.375	15.4688
Length   52, alignments in bytes  2/ 2:	31.25	14.0625	15.625
Length   52, alignments in bytes  2/ 6:	31.25	14.2188	15.3125
Length   52, alignments in bytes  6/ 2:	31.25	13.9062	15.3125
Length   52, alignments in bytes  1/ 7:	31.25	14.2188	15.1562
Length   52, alignments in bytes  7/ 1:	31.0938	14.2188	16.5625
Length   52, alignments in bytes  3/ 4:	31.4062	14.2188	15.3125
Length   52, alignments in bytes  4/ 3:	30.7812	14.2188	15.1562
Length   52, alignments in bytes  5/ 7:	30.7812	13.9062	15.1562
Length   52, alignments in bytes  7/ 5:	30.7812	14.0625	15.4688
Length   56, alignments in bytes  0/ 4:	37.5	13.9062	15.7812
Length   56, alignments in bytes  4/ 0:	34.2188	14.0625	15.3125
Length   56, alignments in bytes  4/ 4:	34.0625	13.9062	15.625
Length   56, alignments in bytes  2/ 2:	33.75	13.9062	15.625
Length   56, alignments in bytes  2/ 6:	33.9062	14.2188	15.625
Length   56, alignments in bytes  6/ 2:	34.0625	14.0625	15.3125
Length   56, alignments in bytes  1/ 7:	34.0625	14.2188	15.4688
Length   56, alignments in bytes  7/ 1:	34.0625	13.75	15
Length   56, alignments in bytes  3/ 4:	34.0625	14.0625	15.7812
Length   56, alignments in bytes  4/ 3:	34.0625	14.5312	15.3125
Length   56, alignments in bytes  5/ 7:	33.9062	14.5312	15.4688
Length   56, alignments in bytes  7/ 5:	34.0625	14.5312	15
Length   60, alignments in bytes  0/ 4:	35.1562	14.375	15.3125
Length   60, alignments in bytes  4/ 0:	34.8438	16.875	17.0312
Length   60, alignments in bytes  4/ 4:	34.0625	15.7812	17.5
Length   60, alignments in bytes  2/ 2:	34.8438	14.375	15.4688
Length   60, alignments in bytes  2/ 6:	34.8438	14.375	15.7812
Length   60, alignments in bytes  6/ 2:	37.9688	17.0312	17.6562
Length   60, alignments in bytes  1/ 7:	35	14.8438	15.625
Length   60, alignments in bytes  7/ 1:	34.6875	16.0938	17.5
Length   60, alignments in bytes  3/ 4:	34.8438	14.2188	15.1562
Length   60, alignments in bytes  4/ 3:	33.9062	16.25	17.6562
Length   60, alignments in bytes  5/ 7:	33.75	15.625	17.3438
Length   60, alignments in bytes  7/ 5:	34.0625	15.625	17.8125
Length   64, alignments in bytes  0/ 4:	38.2812	14.8438	17.5
Length   64, alignments in bytes  4/ 0:	37.6562	15.625	16.7188
Length   64, alignments in bytes  4/ 4:	35.4688	15.9375	17.1875
Length   64, alignments in bytes  2/ 2:	35.625	15.4688	17.3438
Length   64, alignments in bytes  2/ 6:	35.4688	15.4688	17.5
Length   64, alignments in bytes  6/ 2:	35.4688	15.4688	17.6562
Length   64, alignments in bytes  1/ 7:	35.625	15.9375	17.3438
Length   64, alignments in bytes  7/ 1:	39.5312	15.625	17.5
Length   64, alignments in bytes  3/ 4:	38.4375	14.8438	16.7188
Length   64, alignments in bytes  4/ 3:	37.6562	15.4688	16.7188
Length   64, alignments in bytes  5/ 7:	39.8438	15.4688	17.5
Length   64, alignments in bytes  7/ 5:	40.4688	15.4688	17.3438
Length   68, alignments in bytes  0/ 4:	38.9062	14.5312	17.3438
Length   68, alignments in bytes  4/ 0:	38.125	15.625	16.5625
Length   68, alignments in bytes  4/ 4:	37.3438	14.8438	17.3438
Length   68, alignments in bytes  2/ 2:	38.4375	15.7812	16.4062
Length   68, alignments in bytes  2/ 6:	42.1875	14.8438	17.5
Length   68, alignments in bytes  6/ 2:	38.2812	15.7812	16.4062
Length   68, alignments in bytes  1/ 7:	37.0312	14.8438	16.7188
Length   68, alignments in bytes  7/ 1:	38.9062	15.9375	17.0312
Length   68, alignments in bytes  3/ 4:	37.0312	15.4688	17.6562
Length   68, alignments in bytes  4/ 3:	37.0312	15.4688	17.1875
Length   68, alignments in bytes  5/ 7:	38.9062	15.4688	17.5
Length   68, alignments in bytes  7/ 5:	43.2812	15.3125	17.6562
Length   72, alignments in bytes  0/ 4:	40.3125	15.9375	17.5
Length   72, alignments in bytes  4/ 0:	45	15.7812	17.5
Length   72, alignments in bytes  4/ 4:	45.3125	15.625	17.6562
Length   72, alignments in bytes  2/ 2:	44.8438	15.4688	17.3438
Length   72, alignments in bytes  2/ 6:	45.4688	15.4688	17.5
Length   72, alignments in bytes  6/ 2:	45.4688	15.625	17.5
Length   72, alignments in bytes  1/ 7:	38.9062	15.7812	17.6562
Length   72, alignments in bytes  7/ 1:	44.8438	14.6875	16.0938
Length   72, alignments in bytes  3/ 4:	40.3125	15.9375	17.6562
Length   72, alignments in bytes  4/ 3:	45.1562	15.4688	17.3438
Length   72, alignments in bytes  5/ 7:	44.8438	15.625	17.5
Length   72, alignments in bytes  7/ 5:	45	14.375	16.0938
Length   76, alignments in bytes  0/ 4:	40.3125	15.625	16.25
Length   76, alignments in bytes  4/ 0:	47.3438	18.5938	19.0625
Length   76, alignments in bytes  4/ 4:	44.375	16.4062	17.6562
Length   76, alignments in bytes  2/ 2:	45.9375	15	17.5
Length   76, alignments in bytes  2/ 6:	44.375	15.625	17.6562
Length   76, alignments in bytes  6/ 2:	47.6562	16.5625	17.5
Length   76, alignments in bytes  1/ 7:	40.3125	15.4688	17.3438
Length   76, alignments in bytes  7/ 1:	47.1875	16.25	17.6562
Length   76, alignments in bytes  3/ 4:	47.5	14.8438	15.7812
Length   76, alignments in bytes  4/ 3:	47.1875	16.4062	17.5
Length   76, alignments in bytes  5/ 7:	44.5312	15.9375	17.5
Length   76, alignments in bytes  7/ 5:	47.1875	15.9375	17.8125
Length   80, alignments in bytes  0/ 4:	43.9062	15.7812	17.8125
Length   80, alignments in bytes  4/ 0:	41.7188	16.25	17.6562
Length   80, alignments in bytes  4/ 4:	43.9062	16.0938	18.125
Length   80, alignments in bytes  2/ 2:	49.0625	16.0938	17.6562
Length   80, alignments in bytes  2/ 6:	43.9062	15.625	17.5
Length   80, alignments in bytes  6/ 2:	49.0625	15.9375	17.6562
Length   80, alignments in bytes  1/ 7:	41.5625	15.625	17.6562
Length   80, alignments in bytes  7/ 1:	49.0625	15.7812	17.5
Length   80, alignments in bytes  3/ 4:	49.5312	15.7812	17.8125
Length   80, alignments in bytes  4/ 3:	41.875	15.625	17.8125
Length   80, alignments in bytes  5/ 7:	41.7188	15.7812	17.8125
Length   80, alignments in bytes  7/ 5:	42.0312	15.4688	18.125
Length   84, alignments in bytes  0/ 4:	47.3438	15.625	17.3438
Length   84, alignments in bytes  4/ 0:	43.4375	15.625	17.9688
Length   84, alignments in bytes  4/ 4:	43.2812	15.7812	17.9688
Length   84, alignments in bytes  2/ 2:	47.0312	15.9375	17.6562
Length   84, alignments in bytes  2/ 6:	46.875	15.625	18.2812
Length   84, alignments in bytes  6/ 2:	50.9375	15.625	17.5
Length   84, alignments in bytes  1/ 7:	46.7188	15.625	17.8125
Length   84, alignments in bytes  7/ 1:	50.625	15.625	17.9688
Length   84, alignments in bytes  3/ 4:	43.2812	15.7812	18.2812
Length   84, alignments in bytes  4/ 3:	43.5938	15.625	17.8125
Length   84, alignments in bytes  5/ 7:	51.25	15.625	17.6562
Length   84, alignments in bytes  7/ 5:	50.7812	15.4688	17.9688
Length   88, alignments in bytes  0/ 4:	45.4688	15.9375	17.3438
Length   88, alignments in bytes  4/ 0:	45.3125	15.625	17.5
Length   88, alignments in bytes  4/ 4:	52.9688	15.625	17.8125
Length   88, alignments in bytes  2/ 2:	52.8125	15.625	17.8125
Length   88, alignments in bytes  2/ 6:	45.7812	16.4062	17.6562
Length   88, alignments in bytes  6/ 2:	45.625	15.4688	17.6562
Length   88, alignments in bytes  1/ 7:	45.7812	15.7812	17.5
Length   88, alignments in bytes  7/ 1:	45.3125	15.625	17.6562
Length   88, alignments in bytes  3/ 4:	53.2812	15.4688	17.9688
Length   88, alignments in bytes  4/ 3:	45.3125	15.9375	17.8125
Length   88, alignments in bytes  5/ 7:	45.4688	15.7812	17.6562
Length   88, alignments in bytes  7/ 5:	45.3125	15.625	17.9688
Length   92, alignments in bytes  0/ 4:	50.625	15.9375	17.5
Length   92, alignments in bytes  4/ 0:	50.4688	18.9062	20.4688
Length   92, alignments in bytes  4/ 4:	55.7812	17.1875	19.375
Length   92, alignments in bytes  2/ 2:	54.5312	16.7188	17.5
Length   92, alignments in bytes  2/ 6:	55.4688	15.7812	17.5
Length   92, alignments in bytes  6/ 2:	56.4062	17.5	19.2188
Length   92, alignments in bytes  1/ 7:	50.625	16.4062	17.5
Length   92, alignments in bytes  7/ 1:	55.625	17.0312	19.8438
Length   92, alignments in bytes  3/ 4:	54.8438	15.9375	17.3438
Length   92, alignments in bytes  4/ 3:	55.1562	17.1875	19.8438
Length   92, alignments in bytes  5/ 7:	55.1562	17.0312	19.0625
Length   92, alignments in bytes  7/ 5:	47.0312	16.5625	19.0625
Length   96, alignments in bytes  0/ 4:	54.375	16.25	18.9062
Length   96, alignments in bytes  4/ 0:	53.75	16.5625	19.2188
Length   96, alignments in bytes  4/ 4:	57.1875	17.0312	19.6875
Length   96, alignments in bytes  2/ 2:	48.5938	16.875	19.0625
Length   96, alignments in bytes  2/ 6:	56.875	16.7188	19.0625
Length   96, alignments in bytes  6/ 2:	57.6562	16.7188	19.375
Length   96, alignments in bytes  1/ 7:	48.5938	16.7188	19.0625
Length   96, alignments in bytes  7/ 1:	64.8438	16.5625	19.6875
Length   96, alignments in bytes  3/ 4:	65.7812	16.5625	19.2188
Length   96, alignments in bytes  4/ 3:	63.2812	16.7188	19.5312
Length   96, alignments in bytes  5/ 7:	64.0625	16.5625	19.2188
Length   96, alignments in bytes  7/ 5:	65.4688	16.5625	18.9062
Length  100, alignments in bytes  0/ 4:	73.2812	16.25	18.9062
Length  100, alignments in bytes  4/ 0:	66.7188	17.3438	19.375
Length  100, alignments in bytes  4/ 4:	66.7188	16.7188	19.0625
Length  100, alignments in bytes  2/ 2:	65.625	16.5625	19.375
Length  100, alignments in bytes  2/ 6:	65.625	17.0312	19.0625
Length  100, alignments in bytes  6/ 2:	65.3125	16.5625	18.75
Length  100, alignments in bytes  1/ 7:	72.9688	16.7188	19.375
Length  100, alignments in bytes  7/ 1:	64.6875	16.7188	18.75
Length  100, alignments in bytes  3/ 4:	72.9688	17.0312	19.5312
Length  100, alignments in bytes  4/ 3:	72.9688	17.1875	19.2188
Length  100, alignments in bytes  5/ 7:	65.9375	16.7188	19.375
Length  100, alignments in bytes  7/ 5:	72.8125	17.1875	19.0625
Length  104, alignments in bytes  0/ 4:	74.375	16.25	19.0625
Length  104, alignments in bytes  4/ 0:	68.4375	16.7188	19.2188
Length  104, alignments in bytes  4/ 4:	68.2812	16.875	19.2188
Length  104, alignments in bytes  2/ 2:	66.4062	16.875	18.9062
Length  104, alignments in bytes  2/ 6:	66.875	16.875	19.2188
Length  104, alignments in bytes  6/ 2:	68.9062	16.4062	19.0625
Length  104, alignments in bytes  1/ 7:	66.0938	16.5625	18.9062
Length  104, alignments in bytes  7/ 1:	74.375	16.4062	18.5938
Length  104, alignments in bytes  3/ 4:	68.2812	16.5625	19.0625
Length  104, alignments in bytes  4/ 3:	68.4375	16.5625	18.9062
Length  104, alignments in bytes  5/ 7:	67.5	16.4062	19.2188
Length  104, alignments in bytes  7/ 5:	68.5938	16.25	18.5938
Length  108, alignments in bytes  0/ 4:	77.0312	16.875	19.0625
Length  108, alignments in bytes  4/ 0:	76.7188	20.1562	22.1875
Length  108, alignments in bytes  4/ 4:	76.875	18.75	20.7812
Length  108, alignments in bytes  2/ 2:	76.875	17.6562	19.8438
Length  108, alignments in bytes  2/ 6:	70.1562	17.0312	19.2188
Length  108, alignments in bytes  6/ 2:	70.3125	18.2812	20.625
Length  108, alignments in bytes  1/ 7:	67.1875	17.0312	18.9062
Length  108, alignments in bytes  7/ 1:	70.7812	17.9688	20.9375
Length  108, alignments in bytes  3/ 4:	58.125	16.5625	18.5938
Length  108, alignments in bytes  4/ 3:	69.6875	17.8125	20.9375
Length  108, alignments in bytes  5/ 7:	69.375	17.6562	20.9375
Length  108, alignments in bytes  7/ 5:	76.25	18.125	20.9375
Length  112, alignments in bytes  0/ 4:	74.8438	17.3438	20.4688
Length  112, alignments in bytes  4/ 0:	70	17.3438	20.625
Length  112, alignments in bytes  4/ 4:	70.1562	17.3438	20.7812
Length  112, alignments in bytes  2/ 2:	70	17.5	20.9375
Length  112, alignments in bytes  2/ 6:	75.7812	17.6562	20.7812
Length  112, alignments in bytes  6/ 2:	75.4688	17.6562	20.7812
Length  112, alignments in bytes  1/ 7:	72.3438	17.5	20.625
Length  112, alignments in bytes  7/ 1:	78.9062	17.6562	20.625
Length  112, alignments in bytes  3/ 4:	74.0625	17.5	20.4688
Length  112, alignments in bytes  4/ 3:	74.375	17.8125	20.4688
Length  112, alignments in bytes  5/ 7:	73.125	17.6562	20.7812
Length  112, alignments in bytes  7/ 5:	73.75	17.5	21.0938
Length  116, alignments in bytes  0/ 4:	74.2188	17.1875	20.3125
Length  116, alignments in bytes  4/ 0:	73.9062	17.5	20.4688
Length  116, alignments in bytes  4/ 4:	71.875	17.6562	20.4688
Length  116, alignments in bytes  2/ 2:	74.2188	17.5	20.625
Length  116, alignments in bytes  2/ 6:	72.0312	17.6562	20.7812
Length  116, alignments in bytes  6/ 2:	71.0938	17.6562	20.4688
Length  116, alignments in bytes  1/ 7:	74.0625	17.1875	20.625
Length  116, alignments in bytes  7/ 1:	70.9375	17.5	20.625
Length  116, alignments in bytes  3/ 4:	74.0625	17.6562	20.625
Length  116, alignments in bytes  4/ 3:	71.875	17.3438	20.625
Length  116, alignments in bytes  5/ 7:	71.4062	17.6562	20.625
Length  116, alignments in bytes  7/ 5:	71.25	17.5	20.4688
Length  120, alignments in bytes  0/ 4:	74.6875	17.3438	20.3125
Length  120, alignments in bytes  4/ 0:	75.3125	17.5	20.4688
Length  120, alignments in bytes  4/ 4:	75.3125	17.8125	20.4688
Length  120, alignments in bytes  2/ 2:	75.3125	17.6562	20.625
Length  120, alignments in bytes  2/ 6:	78.4375	17.6562	20.625
Length  120, alignments in bytes  6/ 2:	76.5625	17.5	20.4688
Length  120, alignments in bytes  1/ 7:	72.0312	17.6562	20.4688
Length  120, alignments in bytes  7/ 1:	72.5	18.125	20.1562
Length  120, alignments in bytes  3/ 4:	78.125	17.6562	20.625
Length  120, alignments in bytes  4/ 3:	76.0938	17.5	20.4688
Length  120, alignments in bytes  5/ 7:	73.5938	17.8125	20.4688
Length  120, alignments in bytes  7/ 5:	72.5	17.8125	19.6875
Length  124, alignments in bytes  0/ 4:	84.5312	17.1875	20.1562
Length  124, alignments in bytes  4/ 0:	76.7188	20.4688	35.4688
Length  124, alignments in bytes  4/ 4:	76.7188	19.6875	23.125
Length  124, alignments in bytes  2/ 2:	81.7188	18.5938	20.625
Length  124, alignments in bytes  2/ 6:	81.875	17.9688	21.0938
Length  124, alignments in bytes  6/ 2:	68.4375	20.625	22.8125
Length  124, alignments in bytes  1/ 7:	77.3438	17.8125	20.9375
Length  124, alignments in bytes  7/ 1:	87.0312	19.6875	23.5938
Length  124, alignments in bytes  3/ 4:	74.0625	17.6562	20
Length  124, alignments in bytes  4/ 3:	68.125	19.5312	21.875
Length  124, alignments in bytes  5/ 7:	58.4375	19.2188	22.8125
Length  124, alignments in bytes  7/ 5:	60.9375	20	21.875
Length  128, alignments in bytes  0/ 4:	80.625	18.9062	22.8125
Length  128, alignments in bytes  4/ 0:	69.8438	18.9062	22.1875
Length  128, alignments in bytes  4/ 4:	77.6562	19.5312	22.6562
Length  128, alignments in bytes  2/ 2:	80.9375	18.9062	22.9688
Length  128, alignments in bytes  2/ 6:	77.3438	18.9062	22.6562
Length  128, alignments in bytes  6/ 2:	83.125	19.0625	22.9688
Length  128, alignments in bytes  1/ 7:	81.875	18.9062	22.6562
Length  128, alignments in bytes  7/ 1:	84.5312	19.0625	22.8125
Length  128, alignments in bytes  3/ 4:	80.3125	18.9062	22.9688
Length  128, alignments in bytes  4/ 3:	76.0938	19.5312	22.5
Length  128, alignments in bytes  5/ 7:	72.1875	18.9062	22.6562
Length  128, alignments in bytes  7/ 5:	84.8438	18.9062	22.8125
Length  132, alignments in bytes  0/ 4:	87.5	18.75	23.2812
Length  132, alignments in bytes  4/ 0:	76.4062	18.9062	21.7188
Length  132, alignments in bytes  4/ 4:	76.5625	19.375	22.6562
Length  132, alignments in bytes  2/ 2:	85	19.5312	22.6562
Length  132, alignments in bytes  2/ 6:	87.6562	18.9062	21.875
Length  132, alignments in bytes  6/ 2:	91.0938	18.9062	22.5
Length  132, alignments in bytes  1/ 7:	71.0938	18.9062	22.1875
Length  132, alignments in bytes  7/ 1:	82.8125	19.375	22.5
Length  132, alignments in bytes  3/ 4:	72.8125	19.2188	21.875
Length  132, alignments in bytes  4/ 3:	76.5625	18.9062	22.8125
Length  132, alignments in bytes  5/ 7:	71.25	19.2188	22.0312
Length  132, alignments in bytes  7/ 5:	90.1562	19.375	22.9688
Length  136, alignments in bytes  0/ 4:	99.8438	18.75	22.9688
Length  136, alignments in bytes  4/ 0:	84.8438	18.75	22.8125
Length  136, alignments in bytes  4/ 4:	85	19.6875	22.5
Length  136, alignments in bytes  2/ 2:	78.5938	18.75	22.8125
Length  136, alignments in bytes  2/ 6:	79.0625	18.5938	22.8125
Length  136, alignments in bytes  6/ 2:	72.8125	18.9062	21.875
Length  136, alignments in bytes  1/ 7:	82.0312	18.5938	22.8125
Length  136, alignments in bytes  7/ 1:	74.0625	18.75	21.5625
Length  136, alignments in bytes  3/ 4:	77.8125	18.9062	22.8125
Length  136, alignments in bytes  4/ 3:	77.3438	19.5312	22.8125
Length  136, alignments in bytes  5/ 7:	77.6562	18.9062	22.9688
Length  136, alignments in bytes  7/ 5:	81.25	19.6875	21.25
Length  140, alignments in bytes  0/ 4:	91.25	18.9062	21.5625
Length  140, alignments in bytes  4/ 0:	87.3438	20.9375	24.0625
Length  140, alignments in bytes  4/ 4:	87.5	20.625	23.5938
Length  140, alignments in bytes  2/ 2:	91.875	19.0625	22.9688
Length  140, alignments in bytes  2/ 6:	87.9688	19.0625	22.6562
Length  140, alignments in bytes  6/ 2:	88.2812	20.7812	23.4375
Length  140, alignments in bytes  1/ 7:	93.4375	18.9062	22.5
Length  140, alignments in bytes  7/ 1:	85.7812	20.3125	23.5938
Length  140, alignments in bytes  3/ 4:	76.5625	18.5938	21.0938
Length  140, alignments in bytes  4/ 3:	80.1562	21.7188	23.125
Length  140, alignments in bytes  5/ 7:	79.375	20.4688	23.2812
Length  140, alignments in bytes  7/ 5:	88.2812	21.0938	23.125
Length  144, alignments in bytes  0/ 4:	103.281	20.4688	23.125
Length  144, alignments in bytes  4/ 0:	77.1875	20.4688	23.2812
Length  144, alignments in bytes  4/ 4:	91.4062	20.7812	23.4375
Length  144, alignments in bytes  2/ 2:	75	20.4688	23.4375
Length  144, alignments in bytes  2/ 6:	97.5	20.3125	23.75
Length  144, alignments in bytes  6/ 2:	102.656	20.1562	23.4375
Length  144, alignments in bytes  1/ 7:	87.5	20.7812	22.9688
Length  144, alignments in bytes  7/ 1:	86.4062	20.3125	23.75
Length  144, alignments in bytes  3/ 4:	75.4688	20.7812	22.9688
Length  144, alignments in bytes  4/ 3:	76.875	20.1562	23.9062
Length  144, alignments in bytes  5/ 7:	75.625	20.625	23.2812
Length  144, alignments in bytes  7/ 5:	102.5	20.4688	23.9062
Length  148, alignments in bytes  0/ 4:	106.719	20.7812	23.5938
Length  148, alignments in bytes  4/ 0:	102.031	20.3125	23.4375
Length  148, alignments in bytes  4/ 4:	101.875	20.1562	23.75
Length  148, alignments in bytes  2/ 2:	77.5	20.3125	23.2812
Length  148, alignments in bytes  2/ 6:	98.2812	20.625	23.4375
Length  148, alignments in bytes  6/ 2:	85.9375	20.1562	23.75
Length  148, alignments in bytes  1/ 7:	78.9062	20.625	22.9688
Length  148, alignments in bytes  7/ 1:	100.312	20.3125	23.75
Length  148, alignments in bytes  3/ 4:	77.3438	20.9375	23.5938
Length  148, alignments in bytes  4/ 3:	96.7188	20.1562	23.2812
Length  148, alignments in bytes  5/ 7:	78.2812	20.1562	23.9062
Length  148, alignments in bytes  7/ 5:	100.469	20.3125	23.9062
Length  152, alignments in bytes  0/ 4:	93.75	20.9375	22.9688
Length  152, alignments in bytes  4/ 0:	79.2188	20.3125	23.5938
Length  152, alignments in bytes  4/ 4:	79.2188	20.1562	23.9062
Length  152, alignments in bytes  2/ 2:	82.8125	21.0938	22.9688
Length  152, alignments in bytes  2/ 6:	94.6875	20.1562	23.9062
Length  152, alignments in bytes  6/ 2:	91.5625	20.625	23.2812
Length  152, alignments in bytes  1/ 7:	78.4375	20.1562	23.75
Length  152, alignments in bytes  7/ 1:	79.8438	19.8438	22.6562
Length  152, alignments in bytes  3/ 4:	95.7812	20.1562	23.2812
Length  152, alignments in bytes  4/ 3:	88.125	20.4688	23.2812
Length  152, alignments in bytes  5/ 7:	99.0625	20.625	23.4375
Length  152, alignments in bytes  7/ 5:	99.2188	20.3125	22.8125
Length  156, alignments in bytes  0/ 4:	100.156	20	22.8125
Length  156, alignments in bytes  4/ 0:	100	24.375	25.4688
Length  156, alignments in bytes  4/ 4:	99.8438	22.3438	25.1562
Length  156, alignments in bytes  2/ 2:	90	21.25	23.5938
Length  156, alignments in bytes  2/ 6:	80.625	20.3125	23.5938
Length  156, alignments in bytes  6/ 2:	82.1875	22.9688	24.6875
Length  156, alignments in bytes  1/ 7:	80.4688	20	23.75
Length  156, alignments in bytes  7/ 1:	95.4688	22.3438	24.8438
Length  156, alignments in bytes  3/ 4:	80.625	20.4688	22.8125
Length  156, alignments in bytes  4/ 3:	82.5	22.6562	24.6875
Length  156, alignments in bytes  5/ 7:	80.625	21.875	25.1562
Length  156, alignments in bytes  7/ 5:	102.344	22.8125	24.8438
Length  160, alignments in bytes  0/ 4:	112.812	21.4062	24.6875
Length  160, alignments in bytes  4/ 0:	84.375	22.5	24.5312
Length  160, alignments in bytes  4/ 4:	99.2188	21.7188	25.1562
Length  160, alignments in bytes  2/ 2:	85.7812	21.7188	24.6875
Length  160, alignments in bytes  2/ 6:	102.812	21.4062	25
Length  160, alignments in bytes  6/ 2:	104.531	21.5625	24.375
Length  160, alignments in bytes  1/ 7:	82.0312	21.875	24.8438
Length  160, alignments in bytes  7/ 1:	98.125	22.6562	24.375
Length  160, alignments in bytes  3/ 4:	103.906	21.7188	24.5312
Length  160, alignments in bytes  4/ 3:	84.0625	22.3438	24.6875
Length  160, alignments in bytes  5/ 7:	98.9062	21.875	24.8438
Length  160, alignments in bytes  7/ 5:	83.9062	22.5	25
Length  164, alignments in bytes  0/ 4:	99.375	21.0938	24.6875
Length  164, alignments in bytes  4/ 0:	100.469	22.3438	24.5312
Length  164, alignments in bytes  4/ 4:	84.0625	21.7188	25.1562
Length  164, alignments in bytes  2/ 2:	96.5625	21.7188	24.5312
Length  164, alignments in bytes  2/ 6:	100.625	22.0312	25
Length  164, alignments in bytes  6/ 2:	85	21.875	25
Length  164, alignments in bytes  1/ 7:	100.938	22.0312	24.8438
Length  164, alignments in bytes  7/ 1:	85.9375	21.875	24.375
Length  164, alignments in bytes  3/ 4:	87.5	22.0312	24.8438
Length  164, alignments in bytes  4/ 3:	92.5	22.5	24.5312
Length  164, alignments in bytes  5/ 7:	85.4688	22.1875	25.3125
Length  164, alignments in bytes  7/ 5:	86.875	22.1875	25.3125
Length  168, alignments in bytes  0/ 4:	107.031	21.0938	24.6875
Length  168, alignments in bytes  4/ 0:	87.6562	22.5	24.8438
Length  168, alignments in bytes  4/ 4:	87.3438	21.5625	24.8438
Length  168, alignments in bytes  2/ 2:	85.4688	21.875	24.8438
Length  168, alignments in bytes  2/ 6:	95.7812	21.875	24.8438
Length  168, alignments in bytes  6/ 2:	87.3438	21.7188	24.5312
Length  168, alignments in bytes  1/ 7:	86.4062	21.5625	24.5312
Length  168, alignments in bytes  7/ 1:	101.25	21.875	24.6875
Length  168, alignments in bytes  3/ 4:	91.0938	21.875	25
Length  168, alignments in bytes  4/ 3:	94.5312	21.5625	25.3125
Length  168, alignments in bytes  5/ 7:	86.7188	21.875	24.8438
Length  168, alignments in bytes  7/ 5:	100.938	21.7188	24.2188
Length  172, alignments in bytes  0/ 4:	103.75	21.0938	24.375
Length  172, alignments in bytes  4/ 0:	88.9062	26.0938	25.9375
Length  172, alignments in bytes  4/ 4:	96.5625	23.9062	26.4062
Length  172, alignments in bytes  2/ 2:	101.25	23.125	25.3125
Length  172, alignments in bytes  2/ 6:	88.125	21.7188	24.8438
Length  172, alignments in bytes  6/ 2:	88.5938	24.8438	26.0938
Length  172, alignments in bytes  1/ 7:	100.469	22.1875	25
Length  172, alignments in bytes  7/ 1:	101.406	23.75	26.4062
Length  172, alignments in bytes  3/ 4:	94.5312	22.3438	24.2188
Length  172, alignments in bytes  4/ 3:	115	23.9062	25.7812
Length  172, alignments in bytes  5/ 7:	93.75	24.6875	26.4062
Length  172, alignments in bytes  7/ 5:	101.406	23.4375	26.0938
Length  176, alignments in bytes  0/ 4:	111.562	22.6562	25.625
Length  176, alignments in bytes  4/ 0:	106.875	24.2188	25.7812
Length  176, alignments in bytes  4/ 4:	106.875	23.125	25.9375
Length  176, alignments in bytes  2/ 2:	92.1875	22.8125	25.7812
Length  176, alignments in bytes  2/ 6:	105.938	23.75	25.625
Length  176, alignments in bytes  6/ 2:	90.4688	23.2812	26.0938
Length  176, alignments in bytes  1/ 7:	99.5312	23.5938	25.7812
Length  176, alignments in bytes  7/ 1:	102.344	23.2812	25.7812
Length  176, alignments in bytes  3/ 4:	100.938	23.4375	26.0938
Length  176, alignments in bytes  4/ 3:	107.969	22.8125	25.7812
Length  176, alignments in bytes  5/ 7:	98.4375	23.2812	25.7812
Length  176, alignments in bytes  7/ 5:	91.4062	22.8125	25.7812
Length  180, alignments in bytes  0/ 4:	125.938	22.5	25.4688
Length  180, alignments in bytes  4/ 0:	101.25	22.8125	25.7812
Length  180, alignments in bytes  4/ 4:	96.875	23.2812	25.625
Length  180, alignments in bytes  2/ 2:	97.5	23.2812	25.625
Length  180, alignments in bytes  2/ 6:	97.8125	22.8125	25.625
Length  180, alignments in bytes  6/ 2:	100.781	22.9688	25.625
Length  180, alignments in bytes  1/ 7:	90.1562	23.2812	25.625
Length  180, alignments in bytes  7/ 1:	105.469	23.2812	25.7812
Length  180, alignments in bytes  3/ 4:	97.0312	23.125	25.625
Length  180, alignments in bytes  4/ 3:	120.156	22.9688	25.7812
Length  180, alignments in bytes  5/ 7:	106.562	22.9688	25.7812
Length  180, alignments in bytes  7/ 5:	125.625	23.2812	25.625
Length  184, alignments in bytes  0/ 4:	115.625	22.6562	25.7812
Length  184, alignments in bytes  4/ 0:	112.5	22.9688	25.9375
Length  184, alignments in bytes  4/ 4:	117.656	22.8125	25.9375
Length  184, alignments in bytes  2/ 2:	93.5938	23.125	25.7812
Length  184, alignments in bytes  2/ 6:	102.031	24.0625	26.4062
Length  184, alignments in bytes  6/ 2:	105.156	22.8125	25.9375
Length  184, alignments in bytes  1/ 7:	99.8438	23.75	25.7812
Length  184, alignments in bytes  7/ 1:	102.656	23.75	25.4688
Length  184, alignments in bytes  3/ 4:	100.938	23.9062	25.7812
Length  184, alignments in bytes  4/ 3:	94.5312	23.2812	26.0938
Length  184, alignments in bytes  5/ 7:	110.625	23.5938	26.25
Length  184, alignments in bytes  7/ 5:	110.312	24.2188	25.3125
Length  188, alignments in bytes  0/ 4:	112.188	22.8125	25.625
Length  188, alignments in bytes  4/ 0:	106.094	24.8438	29.2188
Length  188, alignments in bytes  4/ 4:	119.688	24.2188	29.0625
Length  188, alignments in bytes  2/ 2:	117.188	23.9062	25.7812
Length  188, alignments in bytes  2/ 6:	109.219	23.75	25.9375
Length  188, alignments in bytes  6/ 2:	130.625	24.6875	29.0625
Length  188, alignments in bytes  1/ 7:	110.469	23.75	26.0938
Length  188, alignments in bytes  7/ 1:	110.781	24.0625	28.5938
Length  188, alignments in bytes  3/ 4:	111.406	24.8438	25.4688
Length  188, alignments in bytes  4/ 3:	97.6562	25.3125	29.2188
Length  188, alignments in bytes  5/ 7:	118.125	24.375	29.375
Length  188, alignments in bytes  7/ 5:	112.5	24.6875	28.75
Length  192, alignments in bytes  0/ 4:	120.156	23.75	28.9062
Length  192, alignments in bytes  4/ 0:	99.2188	24.5312	29.0625
Length  192, alignments in bytes  4/ 4:	115.781	25	28.5938
Length  192, alignments in bytes  2/ 2:	98.9062	24.2188	29.375
Length  192, alignments in bytes  2/ 6:	112.031	24.5312	28.9062
Length  192, alignments in bytes  6/ 2:	97.9688	24.0625	28.75
Length  192, alignments in bytes  1/ 7:	101.875	24.6875	28.75
Length  192, alignments in bytes  7/ 1:	105.781	24.2188	28.75
Length  192, alignments in bytes  3/ 4:	107.031	24.8438	28.75
Length  192, alignments in bytes  4/ 3:	115.312	24.0625	29.2188
Length  192, alignments in bytes  5/ 7:	97.8125	24.5312	28.9062
Length  192, alignments in bytes  7/ 5:	109.062	24.375	29.2188
Length  196, alignments in bytes  0/ 4:	93.4375	24.0625	28.75
Length  196, alignments in bytes  4/ 0:	97.8125	24.5312	29.0625
Length  196, alignments in bytes  4/ 4:	117.188	24.8438	28.5938
Length  196, alignments in bytes  2/ 2:	100.625	24.0625	29.0625
Length  196, alignments in bytes  2/ 6:	101.094	24.8438	29.0625
Length  196, alignments in bytes  6/ 2:	106.875	24.375	28.75
Length  196, alignments in bytes  1/ 7:	98.4375	24.6875	28.75
Length  196, alignments in bytes  7/ 1:	116.719	24.375	28.5938
Length  196, alignments in bytes  3/ 4:	118.125	24.2188	28.75
Length  196, alignments in bytes  4/ 3:	119.531	24.375	28.5938
Length  196, alignments in bytes  5/ 7:	132.969	24.375	28.9062
Length  196, alignments in bytes  7/ 5:	116.875	24.6875	28.75
Length  200, alignments in bytes  0/ 4:	123.125	23.75	28.75
Length  200, alignments in bytes  4/ 0:	115.781	24.8438	28.4375
Length  200, alignments in bytes  4/ 4:	115.469	24.2188	28.75
Length  200, alignments in bytes  2/ 2:	124.219	24.5312	28.5938
Length  200, alignments in bytes  2/ 6:	128.438	24.2188	28.4375
Length  200, alignments in bytes  6/ 2:	109.375	24.8438	28.4375
Length  200, alignments in bytes  1/ 7:	99.375	24.2188	28.5938
Length  200, alignments in bytes  7/ 1:	118.594	23.75	26.0938
Length  200, alignments in bytes  3/ 4:	114.375	24.2188	28.5938
Length  200, alignments in bytes  4/ 3:	118.438	24.8438	28.5938
Length  200, alignments in bytes  5/ 7:	117.5	24.5312	28.9062
Length  200, alignments in bytes  7/ 5:	126.094	24.375	26.25
Length  204, alignments in bytes  0/ 4:	140	23.9062	28.75
Length  204, alignments in bytes  4/ 0:	112.188	26.25	28.5938
Length  204, alignments in bytes  4/ 4:	101.719	25.3125	28.5938
Length  204, alignments in bytes  2/ 2:	107.031	24.2188	28.75
Length  204, alignments in bytes  2/ 6:	116.719	24.375	29.0625
Length  204, alignments in bytes  6/ 2:	100.625	26.4062	28.2812
Length  204, alignments in bytes  1/ 7:	110.625	24.0625	28.9062
Length  204, alignments in bytes  7/ 1:	127.5	26.25	28.4375
Length  204, alignments in bytes  3/ 4:	126.719	23.9062	26.4062
Length  204, alignments in bytes  4/ 3:	101.719	25.4688	29.0625
Length  204, alignments in bytes  5/ 7:	100.781	25.4688	28.5938
Length  204, alignments in bytes  7/ 5:	127.812	25.4688	28.5938
Length  208, alignments in bytes  0/ 4:	143.125	24.6875	28.2812
Length  208, alignments in bytes  4/ 0:	102.969	25.3125	28.125
Length  208, alignments in bytes  4/ 4:	119.219	26.0938	28.2812
Length  208, alignments in bytes  2/ 2:	107.969	25.625	28.75
Length  208, alignments in bytes  2/ 6:	111.719	26.25	28.2812
Length  208, alignments in bytes  6/ 2:	103.281	25.625	28.5938
Length  208, alignments in bytes  1/ 7:	102.969	26.0938	28.5938
Length  208, alignments in bytes  7/ 1:	103.438	25.7812	29.375
Length  208, alignments in bytes  3/ 4:	146.719	25.625	28.2812
Length  208, alignments in bytes  4/ 3:	122.656	25.7812	28.5938
Length  208, alignments in bytes  5/ 7:	102.5	26.25	28.9062
Length  208, alignments in bytes  7/ 5:	100.781	25	28.9062
Length  212, alignments in bytes  0/ 4:	122.5	24.5312	28.4375
Length  212, alignments in bytes  4/ 0:	106.25	25.625	28.2812
Length  212, alignments in bytes  4/ 4:	125.938	26.5625	28.75
Length  212, alignments in bytes  2/ 2:	104.375	25.3125	28.75
Length  212, alignments in bytes  2/ 6:	107.344	26.0938	28.4375
Length  212, alignments in bytes  6/ 2:	103.125	26.7188	29.375
Length  212, alignments in bytes  1/ 7:	125.625	25.625	28.5938
Length  212, alignments in bytes  7/ 1:	103.906	25.4688	28.5938
Length  212, alignments in bytes  3/ 4:	115.469	25.9375	28.75
Length  212, alignments in bytes  4/ 3:	123.438	25.1562	28.5938
Length  212, alignments in bytes  5/ 7:	105.938	25.4688	28.2812
Length  212, alignments in bytes  7/ 5:	123.125	25.7812	28.9062
Length  216, alignments in bytes  0/ 4:	132.188	25.625	28.5938
Length  216, alignments in bytes  4/ 0:	107.5	26.0938	28.2812
Length  216, alignments in bytes  4/ 4:	127.656	25.4688	28.5938
Length  216, alignments in bytes  2/ 2:	126.406	25.9375	28.4375
Length  216, alignments in bytes  2/ 6:	125.781	25.625	28.75
Length  216, alignments in bytes  6/ 2:	107.031	25.7812	28.9062
Length  216, alignments in bytes  1/ 7:	142.188	26.4062	28.9062
Length  216, alignments in bytes  7/ 1:	107.969	25	27.8125
Length  216, alignments in bytes  3/ 4:	111.25	25.625	28.5938
Length  216, alignments in bytes  4/ 3:	124.375	25.625	28.2812
Length  216, alignments in bytes  5/ 7:	106.875	25.1562	28.5938
Length  216, alignments in bytes  7/ 5:	107.969	25	27.8125
Length  220, alignments in bytes  0/ 4:	149.531	25.3125	28.2812
Length  220, alignments in bytes  4/ 0:	128.906	26.7188	30.1562
Length  220, alignments in bytes  4/ 4:	140.312	27.0312	29.6875
Length  220, alignments in bytes  2/ 2:	128.594	25.7812	28.4375
Length  220, alignments in bytes  2/ 6:	111.406	25.1562	28.75
Length  220, alignments in bytes  6/ 2:	130.469	26.7188	30.1562
Length  220, alignments in bytes  1/ 7:	108.594	26.0938	29.2188
Length  220, alignments in bytes  7/ 1:	129.219	28.2812	30.4688
Length  220, alignments in bytes  3/ 4:	135.625	25.7812	28.5938
Length  220, alignments in bytes  4/ 3:	145.625	27.0312	30
Length  220, alignments in bytes  5/ 7:	150.312	26.7188	29.5312
Length  220, alignments in bytes  7/ 5:	129.219	26.5625	29.8438
Length  224, alignments in bytes  0/ 4:	153.281	26.7188	29.375
Length  224, alignments in bytes  4/ 0:	114.531	27.0312	29.6875
Length  224, alignments in bytes  4/ 4:	108.438	26.5625	29.8438
Length  224, alignments in bytes  2/ 2:	116.719	26.7188	29.6875
Length  224, alignments in bytes  2/ 6:	112.969	26.875	29.8438
Length  224, alignments in bytes  6/ 2:	132.031	26.875	29.5312
Length  224, alignments in bytes  1/ 7:	110.156	26.0938	30.3125
Length  224, alignments in bytes  7/ 1:	130.625	26.5625	29.5312
Length  224, alignments in bytes  3/ 4:	135.156	26.7188	29.6875
Length  224, alignments in bytes  4/ 3:	131.25	26.4062	29.5312
Length  224, alignments in bytes  5/ 7:	133.75	26.7188	29.5312
Length  224, alignments in bytes  7/ 5:	131.562	26.7188	29.375
Length  228, alignments in bytes  0/ 4:	130.625	26.7188	29.6875
Length  228, alignments in bytes  4/ 0:	130.469	26.7188	29.5312
Length  228, alignments in bytes  4/ 4:	112.656	27.0312	29.6875
Length  228, alignments in bytes  2/ 2:	114.062	26.25	29.6875
Length  228, alignments in bytes  2/ 6:	133.125	26.5625	29.8438
Length  228, alignments in bytes  6/ 2:	139.844	26.875	29.5312
Length  228, alignments in bytes  1/ 7:	111.875	26.7188	29.6875
Length  228, alignments in bytes  7/ 1:	132.031	26.4062	29.6875
Length  228, alignments in bytes  3/ 4:	123.281	26.4062	29.8438
Length  228, alignments in bytes  4/ 3:	130.312	26.7188	29.5312
Length  228, alignments in bytes  5/ 7:	111.562	26.7188	29.5312
Length  228, alignments in bytes  7/ 5:	132.031	26.7188	29.6875
Length  232, alignments in bytes  0/ 4:	158.125	25.9375	29.375
Length  232, alignments in bytes  4/ 0:	114.219	26.7188	29.5312
Length  232, alignments in bytes  4/ 4:	114.219	26.7188	29.6875
Length  232, alignments in bytes  2/ 2:	133.75	26.5625	29.6875
Length  232, alignments in bytes  2/ 6:	134.062	26.7188	30
Length  232, alignments in bytes  6/ 2:	112.969	26.7188	29.6875
Length  232, alignments in bytes  1/ 7:	112.344	26.25	29.6875
Length  232, alignments in bytes  7/ 1:	115.312	26.4062	29.375
Length  232, alignments in bytes  3/ 4:	139.375	26.7188	30
Length  232, alignments in bytes  4/ 3:	133.438	26.4062	29.6875
Length  232, alignments in bytes  5/ 7:	113.281	26.5625	29.8438
Length  232, alignments in bytes  7/ 5:	142.344	26.5625	29.375
Length  236, alignments in bytes  0/ 4:	143.594	26.7188	29.8438
Length  236, alignments in bytes  4/ 0:	133.906	29.5312	31.5625
Length  236, alignments in bytes  4/ 4:	134.062	26.875	30.7812
Length  236, alignments in bytes  2/ 2:	137.188	27.0312	30
Length  236, alignments in bytes  2/ 6:	140	26.5625	29.8438
Length  236, alignments in bytes  6/ 2:	113.75	28.9062	32.0312
Length  236, alignments in bytes  1/ 7:	117.656	27.0312	30
Length  236, alignments in bytes  7/ 1:	143.75	30.625	31.875
Length  236, alignments in bytes  3/ 4:	114.844	26.7188	29.375
Length  236, alignments in bytes  4/ 3:	133.281	29.6875	31.875
Length  236, alignments in bytes  5/ 7:	114.844	27.3438	30.9375
Length  236, alignments in bytes  7/ 5:	120	27.1875	30.7812
Length  240, alignments in bytes  0/ 4:	137.188	26.7188	30.7812
Length  240, alignments in bytes  4/ 0:	117.031	28.125	31.0938
Length  240, alignments in bytes  4/ 4:	116.562	26.875	30.9375
Length  240, alignments in bytes  2/ 2:	118.75	27.3438	30.7812
Length  240, alignments in bytes  2/ 6:	116.25	27.8125	31.25
Length  240, alignments in bytes  6/ 2:	116.094	27.6562	30.9375
Length  240, alignments in bytes  1/ 7:	116.094	28.2812	31.0938
Length  240, alignments in bytes  7/ 1:	146.406	28.125	31.0938
Length  240, alignments in bytes  3/ 4:	116.562	27.0312	31.5625
Length  240, alignments in bytes  4/ 3:	117.344	27.1875	31.0938
Length  240, alignments in bytes  5/ 7:	138.75	27.3438	30.9375
Length  240, alignments in bytes  7/ 5:	117.812	27.0312	30.7812
Length  244, alignments in bytes  0/ 4:	113.125	26.7188	30.9375
Length  244, alignments in bytes  4/ 0:	141.562	27.0312	31.25
Length  244, alignments in bytes  4/ 4:	142.812	27.9688	31.4062
Length  244, alignments in bytes  2/ 2:	120.781	27.1875	30.9375
Length  244, alignments in bytes  2/ 6:	120.781	27.0312	30.7812
Length  244, alignments in bytes  6/ 2:	117.812	27.6562	30.7812
Length  244, alignments in bytes  1/ 7:	117.344	27.0312	30.9375
Length  244, alignments in bytes  7/ 1:	140.312	28.125	30.7812
Length  244, alignments in bytes  3/ 4:	119.062	28.2812	30.7812
Length  244, alignments in bytes  4/ 3:	143.438	27.0312	31.0938
Length  244, alignments in bytes  5/ 7:	117.969	26.875	31.0938
Length  244, alignments in bytes  7/ 5:	132.344	27.0312	31.25
Length  248, alignments in bytes  0/ 4:	141.094	26.875	30.7812
Length  248, alignments in bytes  4/ 0:	144.375	27.8125	31.0938
Length  248, alignments in bytes  4/ 4:	145.312	27.3438	30.7812
Length  248, alignments in bytes  2/ 2:	123.125	27.1875	31.25
Length  248, alignments in bytes  2/ 6:	123.125	27.0312	31.7188
Length  248, alignments in bytes  6/ 2:	145	27.8125	31.0938
Length  248, alignments in bytes  1/ 7:	144.844	28.4375	31.0938
Length  248, alignments in bytes  7/ 1:	120.625	27.5	30.3125
Length  248, alignments in bytes  3/ 4:	123.281	27.0312	31.25
Length  248, alignments in bytes  4/ 3:	145.625	27.0312	31.7188
Length  248, alignments in bytes  5/ 7:	145.312	27.6562	30.625
Length  248, alignments in bytes  7/ 5:	119.844	27.3438	30.4688
Length  252, alignments in bytes  0/ 4:	152.031	26.4062	31.25
Length  252, alignments in bytes  4/ 0:	135.938	29.2188	34.2188
Length  252, alignments in bytes  4/ 4:	143.125	28.9062	34.375
Length  252, alignments in bytes  2/ 2:	124.531	27.1875	31.4062
Length  252, alignments in bytes  2/ 6:	140	27.0312	31.4062
Length  252, alignments in bytes  6/ 2:	120.781	29.5312	34.8438
Length  252, alignments in bytes  1/ 7:	120.781	27.6562	31.875
Length  252, alignments in bytes  7/ 1:	136.562	29.2188	34.375
Length  252, alignments in bytes  3/ 4:	125.312	27.6562	30.9375
Length  252, alignments in bytes  4/ 3:	143.438	30.1562	34.375
Length  252, alignments in bytes  5/ 7:	144.219	28.9062	34.8438
Length  252, alignments in bytes  7/ 5:	129.531	28.9062	34.0625
Length  256, alignments in bytes  0/ 4:	144.688	28.2812	34.6875
Length  256, alignments in bytes  4/ 0:	136.406	28.9062	34.375
Length  256, alignments in bytes  4/ 4:	135.938	28.5938	34.375
Length  256, alignments in bytes  2/ 2:	125.938	28.75	34.5312
Length  256, alignments in bytes  2/ 6:	141.719	28.4375	34.375
Length  256, alignments in bytes  6/ 2:	124.219	29.2188	34.2188
Length  256, alignments in bytes  1/ 7:	140.312	29.375	34.375
Length  256, alignments in bytes  7/ 1:	154.688	28.75	34.375
Length  256, alignments in bytes  3/ 4:	145.938	28.5938	34.2188
Length  256, alignments in bytes  4/ 3:	141.406	28.5938	34.5312
Length  256, alignments in bytes  5/ 7:	124.375	29.2188	34.375
Length  256, alignments in bytes  7/ 5:	154.531	28.5938	34.6875
Length  260, alignments in bytes  0/ 4:	156.25	28.125	33.9062
Length  260, alignments in bytes  4/ 0:	150.469	28.5938	34.2188
Length  260, alignments in bytes  4/ 4:	150.312	28.4375	34.5312
Length  260, alignments in bytes  2/ 2:	132.344	28.9062	34.375
Length  260, alignments in bytes  2/ 6:	149.688	29.0625	34.2188
Length  260, alignments in bytes  6/ 2:	126.562	28.75	34.6875
Length  260, alignments in bytes  1/ 7:	149.062	28.4375	34.2188
Length  260, alignments in bytes  7/ 1:	125.938	28.5938	34.2188
Length  260, alignments in bytes  3/ 4:	148.281	29.0625	34.375
Length  260, alignments in bytes  4/ 3:	129.375	28.5938	34.8438
Length  260, alignments in bytes  5/ 7:	150.625	28.9062	34.5312
Length  260, alignments in bytes  7/ 5:	126.25	29.375	34.5312
Length  264, alignments in bytes  0/ 4:	149.844	28.2812	34.0625
Length  264, alignments in bytes  4/ 0:	130	28.75	34.6875
Length  264, alignments in bytes  4/ 4:	153.281	28.9062	34.2188
Length  264, alignments in bytes  2/ 2:	131.562	28.9062	34.2188
Length  264, alignments in bytes  2/ 6:	128.594	28.75	34.2188
Length  264, alignments in bytes  6/ 2:	125.781	29.0625	34.2188
Length  264, alignments in bytes  1/ 7:	142.969	28.9062	34.2188
Length  264, alignments in bytes  7/ 1:	136.094	28.125	31.875
Length  264, alignments in bytes  3/ 4:	151.25	28.5938	34.2188
Length  264, alignments in bytes  4/ 3:	130.156	28.75	34.5312
Length  264, alignments in bytes  5/ 7:	137.969	29.0625	34.2188
Length  264, alignments in bytes  7/ 5:	125.156	28.2812	32.3438
Length  268, alignments in bytes  0/ 4:	180	28.125	34.0625
Length  268, alignments in bytes  4/ 0:	133.594	29.5312	34.0625
Length  268, alignments in bytes  4/ 4:	140.938	29.2188	34.2188
Length  268, alignments in bytes  2/ 2:	173.75	28.75	35
Length  268, alignments in bytes  2/ 6:	130.312	28.9062	34.375
Length  268, alignments in bytes  6/ 2:	155	30.4688	33.9062
Length  268, alignments in bytes  1/ 7:	126.406	28.9062	34.8438
Length  268, alignments in bytes  7/ 1:	128.438	29.5312	34.375
Length  268, alignments in bytes  3/ 4:	145.469	28.5938	31.875
Length  268, alignments in bytes  4/ 3:	128.125	30	33.9062
Length  268, alignments in bytes  5/ 7:	127.656	30	33.9062
Length  268, alignments in bytes  7/ 5:	127.344	30.1562	33.9062
Length  272, alignments in bytes  0/ 4:	152.812	29.375	33.75
Length  272, alignments in bytes  4/ 0:	156.094	30	34.2188
Length  272, alignments in bytes  4/ 4:	156.25	29.375	33.5938
Length  272, alignments in bytes  2/ 2:	134.844	29.5312	33.9062
Length  272, alignments in bytes  2/ 6:	131.719	29.5312	34.375
Length  272, alignments in bytes  6/ 2:	157.188	29.6875	33.75
Length  272, alignments in bytes  1/ 7:	128.125	30.4688	34.375
Length  272, alignments in bytes  7/ 1:	130.938	29.375	34.0625
Length  272, alignments in bytes  3/ 4:	131.719	29.5312	34.0625
Length  272, alignments in bytes  4/ 3:	155.938	29.6875	33.5938
Length  272, alignments in bytes  5/ 7:	128.438	30	34.375
Length  272, alignments in bytes  7/ 5:	130.625	29.5312	34.0625
Length  276, alignments in bytes  0/ 4:	164.375	29.2188	33.9062
Length  276, alignments in bytes  4/ 0:	132.344	30	34.0625
Length  276, alignments in bytes  4/ 4:	132.812	29.8438	34.2188
Length  276, alignments in bytes  2/ 2:	138.125	29.6875	33.5938
Length  276, alignments in bytes  2/ 6:	168.906	30.3125	34.0625
Length  276, alignments in bytes  6/ 2:	131.562	29.8438	34.0625
Length  276, alignments in bytes  1/ 7:	148.125	29.5312	33.75
Length  276, alignments in bytes  7/ 1:	158.594	30	33.9062
Length  276, alignments in bytes  3/ 4:	136.094	29.5312	34.5312
Length  276, alignments in bytes  4/ 3:	147.031	30.3125	34.0625
Length  276, alignments in bytes  5/ 7:	159.375	29.5312	34.0625
Length  276, alignments in bytes  7/ 5:	158.75	29.375	33.75
Length  280, alignments in bytes  0/ 4:	186.094	29.375	33.9062
Length  280, alignments in bytes  4/ 0:	133.594	30	34.0625
Length  280, alignments in bytes  4/ 4:	160.938	29.6875	33.5938
Length  280, alignments in bytes  2/ 2:	135.938	30.1562	34.0625
Length  280, alignments in bytes  2/ 6:	136.406	30	34.0625
Length  280, alignments in bytes  6/ 2:	161.25	29.5312	33.9062
Length  280, alignments in bytes  1/ 7:	136.719	29.6875	33.75
Length  280, alignments in bytes  7/ 1:	133.125	29.6875	33.4375
Length  280, alignments in bytes  3/ 4:	163.125	29.6875	33.5938
Length  280, alignments in bytes  4/ 3:	140.312	29.375	34.0625
Length  280, alignments in bytes  5/ 7:	159.531	30	34.0625
Length  280, alignments in bytes  7/ 5:	134.375	29.6875	33.125
Length  284, alignments in bytes  0/ 4:	189.375	29.375	33.5938
Length  284, alignments in bytes  4/ 0:	134.688	31.4062	35.3125
Length  284, alignments in bytes  4/ 4:	135.938	30.4688	35.3125
Length  284, alignments in bytes  2/ 2:	182.188	32.3438	34.5312
Length  284, alignments in bytes  2/ 6:	182.5	30.1562	33.5938
Length  284, alignments in bytes  6/ 2:	133.75	30.625	35.1562
Length  284, alignments in bytes  1/ 7:	128.906	29.8438	34.0625
Length  284, alignments in bytes  7/ 1:	136.406	30.4688	35.4688
Length  284, alignments in bytes  3/ 4:	138.281	30	33.4375
Length  284, alignments in bytes  4/ 3:	135.156	30.7812	35.1562
Length  284, alignments in bytes  5/ 7:	161.719	30.7812	35.1562
Length  284, alignments in bytes  7/ 5:	141.406	31.0938	35.4688
Length  288, alignments in bytes  0/ 4:	161.562	30.7812	35.1562
Length  288, alignments in bytes  4/ 0:	141.875	30.7812	35.7812
Length  288, alignments in bytes  4/ 4:	137.812	30.9375	35.3125
Length  288, alignments in bytes  2/ 2:	170.312	30.625	35.7812
Length  288, alignments in bytes  2/ 6:	139.844	30.7812	35.625
Length  288, alignments in bytes  6/ 2:	136.094	30.4688	35.625
Length  288, alignments in bytes  1/ 7:	136.094	31.25	35.4688
Length  288, alignments in bytes  7/ 1:	137.812	30.7812	35.3125
Length  288, alignments in bytes  3/ 4:	139.688	30.9375	35.625
Length  288, alignments in bytes  4/ 3:	137.031	30.7812	35.1562
Length  288, alignments in bytes  5/ 7:	136.406	30.7812	35.3125
Length  288, alignments in bytes  7/ 5:	136.406	30.4688	35.4688
Length  292, alignments in bytes  0/ 4:	194.688	30.7812	35.3125
Length  292, alignments in bytes  4/ 0:	138.125	30.7812	35.1562
Length  292, alignments in bytes  4/ 4:	158.594	30.9375	35.4688
Length  292, alignments in bytes  2/ 2:	140	31.0938	35.3125
Length  292, alignments in bytes  2/ 6:	192.344	31.25	35.4688
Length  292, alignments in bytes  6/ 2:	137.812	31.25	35.1562
Length  292, alignments in bytes  1/ 7:	137.344	31.25	35.4688
Length  292, alignments in bytes  7/ 1:	161.094	30.7812	35.3125
Length  292, alignments in bytes  3/ 4:	157.5	31.0938	35.4688
Length  292, alignments in bytes  4/ 3:	145.312	30.7812	35.4688
Length  292, alignments in bytes  5/ 7:	137.812	30.4688	35.7812
Length  292, alignments in bytes  7/ 5:	174.375	30.9375	35.4688
Length  296, alignments in bytes  0/ 4:	175.156	30.4688	35.7812
Length  296, alignments in bytes  4/ 0:	139.844	31.5625	35.625
Length  296, alignments in bytes  4/ 4:	168.906	30.7812	35.7812
Length  296, alignments in bytes  2/ 2:	191.25	31.0938	35.4688
Length  296, alignments in bytes  2/ 6:	172.5	30.7812	35.4688
Length  296, alignments in bytes  6/ 2:	139.531	30.7812	35.3125
Length  296, alignments in bytes  1/ 7:	138.906	30.7812	36.0938
Length  296, alignments in bytes  7/ 1:	140.469	30.7812	34.375
Length  296, alignments in bytes  3/ 4:	142.812	30.625	35.7812
Length  296, alignments in bytes  4/ 3:	139.844	31.5625	35.4688
Length  296, alignments in bytes  5/ 7:	139.375	30.7812	35.625
Length  296, alignments in bytes  7/ 5:	140.781	31.25	34.375
Length  300, alignments in bytes  0/ 4:	166.562	30.3125	35.625
Length  300, alignments in bytes  4/ 0:	149.062	32.3438	36.7188
Length  300, alignments in bytes  4/ 4:	165.312	32.3438	36.5625
Length  300, alignments in bytes  2/ 2:	167.656	31.7188	35.9375
Length  300, alignments in bytes  2/ 6:	175	30.3125	35.9375
Length  300, alignments in bytes  6/ 2:	140.938	32.3438	36.7188
Length  300, alignments in bytes  1/ 7:	140	31.4062	35.625
Length  300, alignments in bytes  7/ 1:	141.094	31.7188	36.7188
Length  300, alignments in bytes  3/ 4:	144.531	31.0938	34.6875
Length  300, alignments in bytes  4/ 3:	140.625	31.7188	36.7188
Length  300, alignments in bytes  5/ 7:	161.719	32.0312	37.3438
Length  300, alignments in bytes  7/ 5:	188.281	31.875	36.7188
Length  304, alignments in bytes  0/ 4:	179.375	32.0312	36.25
Length  304, alignments in bytes  4/ 0:	162.812	32.0312	37.0312
Length  304, alignments in bytes  4/ 4:	163.125	32.6562	36.5625
Length  304, alignments in bytes  2/ 2:	144.375	32.5	36.875
Length  304, alignments in bytes  2/ 6:	182.031	32.3438	37.1875
Length  304, alignments in bytes  6/ 2:	173.438	31.875	36.7188
Length  304, alignments in bytes  1/ 7:	141.562	32.3438	36.7188
Length  304, alignments in bytes  7/ 1:	142.344	31.7188	36.875
Length  304, alignments in bytes  3/ 4:	145.781	32.8125	37.1875
Length  304, alignments in bytes  4/ 3:	172.188	31.875	36.7188
Length  304, alignments in bytes  5/ 7:	167.969	32.0312	36.875
Length  304, alignments in bytes  7/ 5:	190	32.1875	36.7188
Length  308, alignments in bytes  0/ 4:	171.25	31.875	36.4062
Length  308, alignments in bytes  4/ 0:	184.219	32.0312	37.0312
Length  308, alignments in bytes  4/ 4:	184.219	31.7188	36.4062
Length  308, alignments in bytes  2/ 2:	182.656	31.875	36.5625
Length  308, alignments in bytes  2/ 6:	146.094	31.5625	36.875
Length  308, alignments in bytes  6/ 2:	167.812	31.7188	36.5625
Length  308, alignments in bytes  1/ 7:	169.531	32.1875	37.1875
Length  308, alignments in bytes  7/ 1:	169.531	31.875	36.5625
Length  308, alignments in bytes  3/ 4:	197.188	32.3438	37.1875
Length  308, alignments in bytes  4/ 3:	168.281	31.875	36.875
Length  308, alignments in bytes  5/ 7:	143.75	32.5	36.5625
Length  308, alignments in bytes  7/ 5:	158.438	32.8125	37.0312
Length  312, alignments in bytes  0/ 4:	184.219	31.25	36.25
Length  312, alignments in bytes  4/ 0:	165.625	33.2812	36.7188
Length  312, alignments in bytes  4/ 4:	170.625	32.3438	37.5
Length  312, alignments in bytes  2/ 2:	148.281	33.75	37.5
Length  312, alignments in bytes  2/ 6:	200.781	32.5	36.7188
Length  312, alignments in bytes  6/ 2:	195	31.7188	36.5625
Length  312, alignments in bytes  1/ 7:	145.156	32.5	36.5625
Length  312, alignments in bytes  7/ 1:	145.781	31.7188	36.0938
Length  312, alignments in bytes  3/ 4:	173.75	32.0312	37.3438
Length  312, alignments in bytes  4/ 3:	176.875	31.5625	36.7188
Length  312, alignments in bytes  5/ 7:	145.781	32.1875	37.0312
Length  312, alignments in bytes  7/ 5:	145.312	31.875	36.25
Length  316, alignments in bytes  0/ 4:	175	31.4062	36.4062
Length  316, alignments in bytes  4/ 0:	170.625	34.2188	39.5312
Length  316, alignments in bytes  4/ 4:	172.5	33.4375	39.5312
Length  316, alignments in bytes  2/ 2:	204.375	32.6562	36.7188
Length  316, alignments in bytes  2/ 6:	151.406	32.3438	37.0312
Length  316, alignments in bytes  6/ 2:	147.656	35	39.0625
Length  316, alignments in bytes  1/ 7:	147.812	32.3438	36.875
Length  316, alignments in bytes  7/ 1:	165.781	33.2812	39.0625
Length  316, alignments in bytes  3/ 4:	151.562	31.875	36.4062
Length  316, alignments in bytes  4/ 3:	180	33.75	39.2188
Length  316, alignments in bytes  5/ 7:	149.219	33.125	39.2188
Length  316, alignments in bytes  7/ 5:	165.625	33.2812	39.0625
Length  320, alignments in bytes  0/ 4:	188.281	32.6562	39.5312
Length  320, alignments in bytes  4/ 0:	165	33.9062	39.5312
Length  320, alignments in bytes  4/ 4:	165.312	33.125	39.8438
Length  320, alignments in bytes  2/ 2:	166.875	33.4375	38.75
Length  320, alignments in bytes  2/ 6:	153.281	33.4375	39.8438
Length  320, alignments in bytes  6/ 2:	182.344	33.125	39.2188
Length  320, alignments in bytes  1/ 7:	163.906	33.75	38.9062
Length  320, alignments in bytes  7/ 1:	179.375	33.2812	39.375
Length  320, alignments in bytes  3/ 4:	175.312	33.125	39.8438
Length  320, alignments in bytes  4/ 3:	164.688	33.5938	38.9062
Length  320, alignments in bytes  5/ 7:	150.625	33.4375	38.9062
Length  320, alignments in bytes  7/ 5:	179.375	32.9688	38.9062
Length  324, alignments in bytes  0/ 4:	180.312	32.6562	39.6875
Length  324, alignments in bytes  4/ 0:	172.344	33.4375	39.375
Length  324, alignments in bytes  4/ 4:	181.25	33.4375	39.5312
Length  324, alignments in bytes  2/ 2:	156.562	33.5938	39.0625
Length  324, alignments in bytes  2/ 6:	154.531	33.125	39.6875
Length  324, alignments in bytes  6/ 2:	212.969	33.75	39.8438
Length  324, alignments in bytes  1/ 7:	152.5	33.2812	39.8438
Length  324, alignments in bytes  7/ 1:	152.188	33.125	39.5312
Length  324, alignments in bytes  3/ 4:	173.281	32.8125	38.9062
Length  324, alignments in bytes  4/ 3:	182.5	32.8125	39.375
Length  324, alignments in bytes  5/ 7:	180.469	33.4375	39.5312
Length  324, alignments in bytes  7/ 5:	152.5	33.2812	39.375
Length  328, alignments in bytes  0/ 4:	216.875	32.6562	39.8438
Length  328, alignments in bytes  4/ 0:	153.125	32.8125	39.5312
Length  328, alignments in bytes  4/ 4:	175.625	34.2188	40
Length  328, alignments in bytes  2/ 2:	203.594	33.4375	39.5312
Length  328, alignments in bytes  2/ 6:	159.062	33.125	38.9062
Length  328, alignments in bytes  6/ 2:	185.781	33.75	38.75
Length  328, alignments in bytes  1/ 7:	151.875	33.4375	39.6875
Length  328, alignments in bytes  7/ 1:	167.969	32.9688	36.875
Length  328, alignments in bytes  3/ 4:	188.906	33.2812	40
Length  328, alignments in bytes  4/ 3:	152.969	33.5938	39.2188
Length  328, alignments in bytes  5/ 7:	185.469	33.9062	38.75
Length  328, alignments in bytes  7/ 5:	152.969	33.4375	37.0312
Length  332, alignments in bytes  0/ 4:	183.125	32.6562	39.8438
Length  332, alignments in bytes  4/ 0:	170.938	33.9062	39.375
Length  332, alignments in bytes  4/ 4:	155.625	34.2188	39.2188
Length  332, alignments in bytes  2/ 2:	165.938	33.75	39.0625
Length  332, alignments in bytes  2/ 6:	221.25	33.4375	39.8438
Length  332, alignments in bytes  6/ 2:	207.656	35.3125	39.6875
Length  332, alignments in bytes  1/ 7:	152.188	33.75	39.0625
Length  332, alignments in bytes  7/ 1:	153.438	34.2188	39.2188
Length  332, alignments in bytes  3/ 4:	171.406	33.125	36.875
Length  332, alignments in bytes  4/ 3:	172.812	34.0625	39.5312
Length  332, alignments in bytes  5/ 7:	168.125	34.0625	39.2188
Length  332, alignments in bytes  7/ 5:	153.281	34.0625	39.0625
Length  336, alignments in bytes  0/ 4:	197.188	33.125	38.9062
Length  336, alignments in bytes  4/ 0:	156.094	34.0625	39.375
Length  336, alignments in bytes  4/ 4:	155.938	34.375	39.0625
Length  336, alignments in bytes  2/ 2:	214.531	34.0625	39.375
Length  336, alignments in bytes  2/ 6:	193.75	34.0625	39.0625
Length  336, alignments in bytes  6/ 2:	194.062	34.375	39.2188
Length  336, alignments in bytes  1/ 7:	155.469	34.0625	39.0625
Length  336, alignments in bytes  7/ 1:	156.406	33.75	39.0625
Length  336, alignments in bytes  3/ 4:	179.844	34.375	39.375
Length  336, alignments in bytes  4/ 3:	156.875	34.2188	39.0625
Length  336, alignments in bytes  5/ 7:	187.812	34.0625	39.0625
Length  336, alignments in bytes  7/ 5:	156.25	33.75	38.9062
Length  340, alignments in bytes  0/ 4:	223.594	33.2812	38.75
Length  340, alignments in bytes  4/ 0:	191.562	33.9062	39.2188
Length  340, alignments in bytes  4/ 4:	168.906	33.5938	39.375
Length  340, alignments in bytes  2/ 2:	191.25	34.375	39.375
Length  340, alignments in bytes  2/ 6:	160.625	33.5938	39.2188
Length  340, alignments in bytes  6/ 2:	190	34.0625	39.0625
Length  340, alignments in bytes  1/ 7:	193.438	33.5938	39.375
Length  340, alignments in bytes  7/ 1:	158.594	34.2188	39.0625
Length  340, alignments in bytes  3/ 4:	199.219	33.9062	39.2188
Length  340, alignments in bytes  4/ 3:	176.406	34.0625	38.75
Length  340, alignments in bytes  5/ 7:	156.406	34.5312	38.9062
Length  340, alignments in bytes  7/ 5:	183.594	34.0625	39.0625
Length  344, alignments in bytes  0/ 4:	226.562	33.125	38.9062
Length  344, alignments in bytes  4/ 0:	160.625	34.2188	39.2188
Length  344, alignments in bytes  4/ 4:	193.75	33.75	39.375
Length  344, alignments in bytes  2/ 2:	180.938	34.2188	39.0625
Length  344, alignments in bytes  2/ 6:	219.375	33.75	38.9062
Length  344, alignments in bytes  6/ 2:	158.75	34.2188	38.9062
Length  344, alignments in bytes  1/ 7:	158.281	34.0625	38.9062
Length  344, alignments in bytes  7/ 1:	158.438	33.75	38.125
Length  344, alignments in bytes  3/ 4:	175	34.0625	39.2188
Length  344, alignments in bytes  4/ 3:	160.625	34.2188	39.0625
Length  344, alignments in bytes  5/ 7:	188.438	34.2188	39.375
Length  344, alignments in bytes  7/ 5:	159.688	33.5938	38.125
Length  348, alignments in bytes  0/ 4:	191.562	33.2812	38.5938
Length  348, alignments in bytes  4/ 0:	161.094	34.6875	40.7812
Length  348, alignments in bytes  4/ 4:	205.938	35	40.3125
Length  348, alignments in bytes  2/ 2:	165.312	33.9062	39.2188
Length  348, alignments in bytes  2/ 6:	181.719	33.75	39.0625
Length  348, alignments in bytes  6/ 2:	160	35.1562	40.3125
Length  348, alignments in bytes  1/ 7:	159.844	36.0938	39.375
Length  348, alignments in bytes  7/ 1:	190.312	35	41.0938
Length  348, alignments in bytes  3/ 4:	163.438	33.75	39.375
Length  348, alignments in bytes  4/ 3:	161.25	35.4688	40.7812
Length  348, alignments in bytes  5/ 7:	183.906	34.6875	40.7812
Length  348, alignments in bytes  7/ 5:	191.875	34.8438	40.7812
Length  352, alignments in bytes  0/ 4:	231.406	34.6875	40.1562
Length  352, alignments in bytes  4/ 0:	190.156	34.6875	40.4688
Length  352, alignments in bytes  4/ 4:	220.938	35.3125	40.4688
Length  352, alignments in bytes  2/ 2:	197.031	34.6875	40.9375
Length  352, alignments in bytes  2/ 6:	168.75	34.5312	40.7812
Length  352, alignments in bytes  6/ 2:	229.844	34.6875	40.4688
Length  352, alignments in bytes  1/ 7:	228.75	35	40.7812
Length  352, alignments in bytes  7/ 1:	188.438	35	40.3125
Length  352, alignments in bytes  3/ 4:	194.375	35.3125	40.625
Length  352, alignments in bytes  4/ 3:	190.312	34.8438	40.4688
Length  352, alignments in bytes  5/ 7:	161.562	34.6875	40.1562
Length  352, alignments in bytes  7/ 5:	188.438	35	40.625
Length  356, alignments in bytes  0/ 4:	207.5	34.375	40.4688
Length  356, alignments in bytes  4/ 0:	165.938	35	40.4688
Length  356, alignments in bytes  4/ 4:	165	34.5312	40.625
Length  356, alignments in bytes  2/ 2:	166.562	35	40.3125
Length  356, alignments in bytes  2/ 6:	185	35	40.625
Length  356, alignments in bytes  6/ 2:	191.719	35.1562	40.3125
Length  356, alignments in bytes  1/ 7:	232.344	34.6875	40.1562
Length  356, alignments in bytes  7/ 1:	191.094	35.1562	40.625
Length  356, alignments in bytes  3/ 4:	182.5	34.8438	40.625
Length  356, alignments in bytes  4/ 3:	185	35	40.1562
Length  356, alignments in bytes  5/ 7:	193.438	34.8438	40.3125
Length  356, alignments in bytes  7/ 5:	164.062	34.8438	40.3125
Length  360, alignments in bytes  0/ 4:	196.875	34.5312	40
Length  360, alignments in bytes  4/ 0:	165.781	35	40.3125
Length  360, alignments in bytes  4/ 4:	165.781	35.3125	40.625
Length  360, alignments in bytes  2/ 2:	170.469	34.8438	40.4688
Length  360, alignments in bytes  2/ 6:	197.812	35.1562	40.3125
Length  360, alignments in bytes  6/ 2:	198.75	34.8438	40.4688
Length  360, alignments in bytes  1/ 7:	165.156	34.6875	40.4688
Length  360, alignments in bytes  7/ 1:	200.469	34.6875	40
Length  360, alignments in bytes  3/ 4:	205.781	35	40.3125
Length  360, alignments in bytes  4/ 3:	202.344	34.5312	40.7812
Length  360, alignments in bytes  5/ 7:	203.125	34.8438	40.625
Length  360, alignments in bytes  7/ 5:	208.125	34.8438	40.1562
Length  364, alignments in bytes  0/ 4:	211.875	34.2188	40.1562
Length  364, alignments in bytes  4/ 0:	196.562	36.25	42.3438
Length  364, alignments in bytes  4/ 4:	203.438	36.5625	41.25
Length  364, alignments in bytes  2/ 2:	197.656	35.625	40.3125
Length  364, alignments in bytes  2/ 6:	230.625	34.8438	40.625
Length  364, alignments in bytes  6/ 2:	166.25	36.25	42.0312
Length  364, alignments in bytes  1/ 7:	165.938	35.3125	40.625
Length  364, alignments in bytes  7/ 1:	166.25	37.6562	42.0312
Length  364, alignments in bytes  3/ 4:	227.969	34.6875	39.8438
Length  364, alignments in bytes  4/ 3:	227.812	37.5	41.875
Length  364, alignments in bytes  5/ 7:	203.281	36.5625	41.7188
Length  364, alignments in bytes  7/ 5:	229.531	35.9375	41.875
Length  368, alignments in bytes  0/ 4:	201.406	35.9375	42.0312
Length  368, alignments in bytes  4/ 0:	191.562	35.7812	41.4062
Length  368, alignments in bytes  4/ 4:	162.031	36.875	41.25
Length  368, alignments in bytes  2/ 2:	209.688	36.25	41.875
Length  368, alignments in bytes  2/ 6:	172.188	36.7188	41.25
Length  368, alignments in bytes  6/ 2:	237.812	36.5625	41.875
Length  368, alignments in bytes  1/ 7:	202.5	35.7812	41.4062
Length  368, alignments in bytes  7/ 1:	195.938	36.4062	41.875
Length  368, alignments in bytes  3/ 4:	234.531	36.5625	41.4062
Length  368, alignments in bytes  4/ 3:	190.625	36.4062	41.7188
Length  368, alignments in bytes  5/ 7:	205.312	35.7812	41.875
Length  368, alignments in bytes  7/ 5:	230	35.9375	42.0312
Length  372, alignments in bytes  0/ 4:	216.406	35.3125	41.7188
Length  372, alignments in bytes  4/ 0:	219.531	36.5625	41.5625
Length  372, alignments in bytes  4/ 4:	228.438	35.7812	41.5625
Length  372, alignments in bytes  2/ 2:	205.312	37.3438	41.7188
Length  372, alignments in bytes  2/ 6:	205	36.7188	41.7188
Length  372, alignments in bytes  6/ 2:	189.375	35.7812	41.5625
Length  372, alignments in bytes  1/ 7:	170	35.7812	41.4062
Length  372, alignments in bytes  7/ 1:	192.188	36.5625	41.4062
Length  372, alignments in bytes  3/ 4:	174.688	36.875	41.5625
Length  372, alignments in bytes  4/ 3:	172.188	36.0938	42.0312
Length  372, alignments in bytes  5/ 7:	208.906	35.7812	41.5625
Length  372, alignments in bytes  7/ 5:	172.188	35.7812	41.7188
Length  376, alignments in bytes  0/ 4:	241.25	36.875	41.875
Length  376, alignments in bytes  4/ 0:	195.312	36.4062	41.7188
Length  376, alignments in bytes  4/ 4:	172.656	36.5625	42.3438
Length  376, alignments in bytes  2/ 2:	175.781	36.7188	41.7188
Length  376, alignments in bytes  2/ 6:	215	37.0312	41.875
Length  376, alignments in bytes  6/ 2:	233.125	36.5625	41.875
Length  376, alignments in bytes  1/ 7:	170.938	36.25	42.1875
Length  376, alignments in bytes  7/ 1:	201.406	36.875	41.7188
Length  376, alignments in bytes  3/ 4:	225.625	36.5625	42.1875
Length  376, alignments in bytes  4/ 3:	195.312	36.4062	41.7188
Length  376, alignments in bytes  5/ 7:	197.031	36.4062	41.875
Length  376, alignments in bytes  7/ 5:	172.344	36.4062	41.7188
Length  380, alignments in bytes  0/ 4:	220.625	36.25	41.875
Length  380, alignments in bytes  4/ 0:	237.5	37.5	45.3125
Length  380, alignments in bytes  4/ 4:	236.406	37.1875	44.8438
Length  380, alignments in bytes  2/ 2:	177.344	36.5625	42.6562
Length  380, alignments in bytes  2/ 6:	210.781	36.5625	42.3438
Length  380, alignments in bytes  6/ 2:	174.688	37.3438	45.3125
Length  380, alignments in bytes  1/ 7:	174.375	36.4062	42.1875
Length  380, alignments in bytes  7/ 1:	208.906	37.3438	45.7812
Length  380, alignments in bytes  3/ 4:	202.5	36.25	41.5625
Length  380, alignments in bytes  4/ 3:	213.281	38.125	45.1562
Length  380, alignments in bytes  5/ 7:	175.625	37.6562	44.8438
Length  380, alignments in bytes  7/ 5:	216.094	37.0312	45.1562
Length  384, alignments in bytes  0/ 4:	210.312	37.0312	45.625
Length  384, alignments in bytes  4/ 0:	214.531	37.0312	45.3125
Length  384, alignments in bytes  4/ 4:	214.844	37.5	44.8438
Length  384, alignments in bytes  2/ 2:	179.375	37.1875	45
Length  384, alignments in bytes  2/ 6:	181.406	37.0312	45.3125
Length  384, alignments in bytes  6/ 2:	220.781	37.8125	45
Length  384, alignments in bytes  1/ 7:	192.969	37.1875	45
Length  384, alignments in bytes  7/ 1:	195	37.3438	45
Length  384, alignments in bytes  3/ 4:	200.312	37.3438	45.625
Length  384, alignments in bytes  4/ 3:	194.531	37.1875	45
Length  384, alignments in bytes  5/ 7:	212.969	37.5	45.1562
Length  384, alignments in bytes  7/ 5:	168.594	37.1875	45.3125
Length  388, alignments in bytes  0/ 4:	253.75	37.0312	45
Length  388, alignments in bytes  4/ 0:	215.938	37.3438	45.3125
Length  388, alignments in bytes  4/ 4:	210.312	37.0312	45
Length  388, alignments in bytes  2/ 2:	192.031	37.8125	45.3125
Length  388, alignments in bytes  2/ 6:	211.719	37.5	45.3125
Length  388, alignments in bytes  6/ 2:	200	37.1875	44.8438
Length  388, alignments in bytes  1/ 7:	196.562	37.1875	45.4688
Length  388, alignments in bytes  7/ 1:	221.562	37.1875	44.8438
Length  388, alignments in bytes  3/ 4:	201.719	37.3438	45.3125
Length  388, alignments in bytes  4/ 3:	195.625	37.5	45.1562
Length  388, alignments in bytes  5/ 7:	196.719	37.1875	45.1562
Length  388, alignments in bytes  7/ 5:	221.562	37.3438	45.1562
Length  392, alignments in bytes  0/ 4:	213.281	37.3438	45.3125
Length  392, alignments in bytes  4/ 0:	218.594	37.0312	45.1562
Length  392, alignments in bytes  4/ 4:	214.531	37.3438	45.1562
Length  392, alignments in bytes  2/ 2:	183.594	37.5	45.1562
Length  392, alignments in bytes  2/ 6:	183.75	37.8125	45.4688
Length  392, alignments in bytes  6/ 2:	251.406	37.1875	44.8438
Length  392, alignments in bytes  1/ 7:	196.562	37.0312	45
Length  392, alignments in bytes  7/ 1:	224.375	36.875	42.6562
Length  392, alignments in bytes  3/ 4:	205.625	37.5	45.1562
Length  392, alignments in bytes  4/ 3:	208.75	37.0312	44.8438
Length  392, alignments in bytes  5/ 7:	244.062	37.1875	45
Length  392, alignments in bytes  7/ 5:	177.969	37.1875	42.9688
Length  396, alignments in bytes  0/ 4:	229.688	36.875	45.3125
Length  396, alignments in bytes  4/ 0:	216.562	39.0625	45.1562
Length  396, alignments in bytes  4/ 4:	245.781	38.4375	44.6875
Length  396, alignments in bytes  2/ 2:	223.125	37.8125	45.3125
Length  396, alignments in bytes  2/ 6:	176.719	37.0312	45.1562
Length  396, alignments in bytes  6/ 2:	224.531	38.5938	44.8438
Length  396, alignments in bytes  1/ 7:	240.938	37.3438	45.1562
Length  396, alignments in bytes  7/ 1:	229.219	38.9062	44.8438
Length  396, alignments in bytes  3/ 4:	254.062	37.3438	43.4375
Length  396, alignments in bytes  4/ 3:	192.031	38.5938	44.8438
Length  396, alignments in bytes  5/ 7:	245.781	38.125	44.8438
Length  396, alignments in bytes  7/ 5:	181.562	38.125	44.8438
Length  400, alignments in bytes  0/ 4:	260.625	37.6562	44.5312
Length  400, alignments in bytes  4/ 0:	182.188	38.125	45
Length  400, alignments in bytes  4/ 4:	178.594	38.75	45.1562
Length  400, alignments in bytes  2/ 2:	236.406	38.4375	44.5312
Length  400, alignments in bytes  2/ 6:	236.406	38.2812	44.6875
Length  400, alignments in bytes  6/ 2:	227.969	38.2812	44.5312
Length  400, alignments in bytes  1/ 7:	181.875	38.5938	44.8438
Length  400, alignments in bytes  7/ 1:	184.062	38.5938	44.8438
Length  400, alignments in bytes  3/ 4:	220	38.125	45.1562
Length  400, alignments in bytes  4/ 3:	223.594	38.5938	44.8438
Length  400, alignments in bytes  5/ 7:	182.031	38.125	44.6875
Length  400, alignments in bytes  7/ 5:	182.969	38.125	45
Length  404, alignments in bytes  0/ 4:	263.75	37.9688	44.6875
Length  404, alignments in bytes  4/ 0:	220.938	38.5938	44.5312
Length  404, alignments in bytes  4/ 4:	221.25	38.75	44.6875
Length  404, alignments in bytes  2/ 2:	219.375	38.2812	44.6875
Length  404, alignments in bytes  2/ 6:	192.812	38.5938	44.8438
Length  404, alignments in bytes  6/ 2:	204.062	38.75	45
Length  404, alignments in bytes  1/ 7:	180.781	38.9062	45.1562
Length  404, alignments in bytes  7/ 1:	224.531	38.2812	44.6875
Length  404, alignments in bytes  3/ 4:	248.594	38.9062	45
Length  404, alignments in bytes  4/ 3:	221.875	38.125	44.6875
Length  404, alignments in bytes  5/ 7:	250.469	38.2812	45
Length  404, alignments in bytes  7/ 5:	232.656	38.75	45
Length  408, alignments in bytes  0/ 4:	221.875	37.9688	44.6875
Length  408, alignments in bytes  4/ 0:	187.344	38.5938	44.6875
Length  408, alignments in bytes  4/ 4:	187.188	38.2812	44.8438
Length  408, alignments in bytes  2/ 2:	230.469	38.5938	45.1562
Length  408, alignments in bytes  2/ 6:	247.812	37.9688	44.5312
Length  408, alignments in bytes  6/ 2:	206.719	38.75	45
Length  408, alignments in bytes  1/ 7:	195.625	38.75	45
Length  408, alignments in bytes  7/ 1:	259.375	38.2812	44.375
Length  408, alignments in bytes  3/ 4:	223.906	38.5938	45
Length  408, alignments in bytes  4/ 3:	197.812	38.125	44.5312
Length  408, alignments in bytes  5/ 7:	251.875	38.125	45
Length  408, alignments in bytes  7/ 5:	206.562	38.2812	44.2188
Length  412, alignments in bytes  0/ 4:	268.906	37.6562	44.2188
Length  412, alignments in bytes  4/ 0:	199.844	39.6875	46.5625
Length  412, alignments in bytes  4/ 4:	253.281	39.2188	45.9375
Length  412, alignments in bytes  2/ 2:	232.812	38.9062	45.1562
Length  412, alignments in bytes  2/ 6:	199.531	37.9688	44.6875
Length  412, alignments in bytes  6/ 2:	213.906	39.375	46.4062
Length  412, alignments in bytes  1/ 7:	215	38.125	45.1562
Length  412, alignments in bytes  7/ 1:	188.125	39.8438	46.4062
Length  412, alignments in bytes  3/ 4:	252.5	37.8125	44.6875
Length  412, alignments in bytes  4/ 3:	200	39.375	46.25
Length  412, alignments in bytes  5/ 7:	230.469	39.5312	46.25
Length  412, alignments in bytes  7/ 5:	188.281	39.6875	46.25
Length  416, alignments in bytes  0/ 4:	240.469	39.375	46.875
Length  416, alignments in bytes  4/ 0:	236.25	39.5312	45.9375
Length  416, alignments in bytes  4/ 4:	226.562	40	46.25
Length  416, alignments in bytes  2/ 2:	191.25	39.5312	46.25
Length  416, alignments in bytes  2/ 6:	193.438	39.5312	46.0938
Length  416, alignments in bytes  6/ 2:	189.844	39.5312	45.9375
Length  416, alignments in bytes  1/ 7:	188.906	39.5312	45.9375
Length  416, alignments in bytes  7/ 1:	190.625	39.6875	46.25
Length  416, alignments in bytes  3/ 4:	192.656	39.5312	46.4062
Length  416, alignments in bytes  4/ 3:	190.625	39.6875	45.7812
Length  416, alignments in bytes  5/ 7:	232.344	39.2188	46.0938
Length  416, alignments in bytes  7/ 5:	191.094	39.2188	45.9375
Length  420, alignments in bytes  0/ 4:	227.5	39.375	45.4688
Length  420, alignments in bytes  4/ 0:	233.125	39.2188	45.9375
Length  420, alignments in bytes  4/ 4:	234.375	39.8438	45.9375
Length  420, alignments in bytes  2/ 2:	259.844	39.6875	46.0938
Length  420, alignments in bytes  2/ 6:	223.281	39.375	46.25
Length  420, alignments in bytes  6/ 2:	210.469	39.8438	45.625
Length  420, alignments in bytes  1/ 7:	220	39.6875	46.25
Length  420, alignments in bytes  7/ 1:	267.344	39.375	46.0938
Length  420, alignments in bytes  3/ 4:	243.125	39.5312	46.4062
Length  420, alignments in bytes  4/ 3:	240.781	39.375	46.25
Length  420, alignments in bytes  5/ 7:	186.875	39.6875	45.9375
Length  420, alignments in bytes  7/ 5:	230.781	39.8438	45.9375
Length  424, alignments in bytes  0/ 4:	244.375	39.2188	45.4688
Length  424, alignments in bytes  4/ 0:	231.25	39.375	45.9375
Length  424, alignments in bytes  4/ 4:	234.219	39.8438	45.9375
Length  424, alignments in bytes  2/ 2:	244.375	39.2188	46.0938
Length  424, alignments in bytes  2/ 6:	237.969	39.2188	46.4062
Length  424, alignments in bytes  6/ 2:	192.656	39.375	46.0938
Length  424, alignments in bytes  1/ 7:	189.062	39.6875	46.4062
Length  424, alignments in bytes  7/ 1:	232.188	39.2188	45.3125
Length  424, alignments in bytes  3/ 4:	258.906	39.6875	46.0938
Length  424, alignments in bytes  4/ 3:	232.188	39.5312	45.9375
Length  424, alignments in bytes  5/ 7:	224.219	39.375	46.0938
Length  424, alignments in bytes  7/ 5:	231.875	39.375	45.625
Length  428, alignments in bytes  0/ 4:	231.406	39.2188	45.7812
Length  428, alignments in bytes  4/ 0:	195.938	41.5625	47.8125
Length  428, alignments in bytes  4/ 4:	233.594	40.1562	47.5
Length  428, alignments in bytes  2/ 2:	265.625	40.4688	45.7812
Length  428, alignments in bytes  2/ 6:	236.562	39.6875	46.0938
Length  428, alignments in bytes  6/ 2:	261.562	40.3125	47.1875
Length  428, alignments in bytes  1/ 7:	193.75	40.4688	46.0938
Length  428, alignments in bytes  7/ 1:	195	41.25	47.3438
Length  428, alignments in bytes  3/ 4:	241.406	40	45.4688
Length  428, alignments in bytes  4/ 3:	233.438	41.25	47.6562
Length  428, alignments in bytes  5/ 7:	194.062	40	47.0312
Length  428, alignments in bytes  7/ 5:	195	41.0938	47.1875
Length  432, alignments in bytes  0/ 4:	249.219	40	47.3438
Length  432, alignments in bytes  4/ 0:	196.562	40.4688	47.5
Length  432, alignments in bytes  4/ 4:	231.25	40.9375	47.1875
Length  432, alignments in bytes  2/ 2:	233.125	40.1562	47.3438
Length  432, alignments in bytes  2/ 6:	209.375	40.1562	47.9688
Length  432, alignments in bytes  6/ 2:	194.219	40.625	47.6562
Length  432, alignments in bytes  1/ 7:	190.938	40.7812	47.8125
Length  432, alignments in bytes  7/ 1:	196.094	40.1562	47.6562
Length  432, alignments in bytes  3/ 4:	235.469	40	47.5
Length  432, alignments in bytes  4/ 3:	235	40.625	47.5
Length  432, alignments in bytes  5/ 7:	265.312	40.3125	47.6562
Length  432, alignments in bytes  7/ 5:	234.844	40.4688	47.5
Length  436, alignments in bytes  0/ 4:	187.031	40.3125	47.1875
Length  436, alignments in bytes  4/ 0:	270	40.1562	47.6562
Length  436, alignments in bytes  4/ 4:	266.562	40.1562	47.3438
Length  436, alignments in bytes  2/ 2:	244.062	40.4688	47.6562
Length  436, alignments in bytes  2/ 6:	200.938	40.9375	47.5
Length  436, alignments in bytes  6/ 2:	246.25	40.7812	47.3438
Length  436, alignments in bytes  1/ 7:	195.938	40	47.3438
Length  436, alignments in bytes  7/ 1:	197.344	40.4688	47.3438
Length  436, alignments in bytes  3/ 4:	199.219	40.3125	47.5
Length  436, alignments in bytes  4/ 3:	242.5	40.3125	47.6562
Length  436, alignments in bytes  5/ 7:	198.594	40.9375	47.5
Length  436, alignments in bytes  7/ 5:	249.062	40.3125	47.1875
Length  440, alignments in bytes  0/ 4:	252.969	40	47.0312
Length  440, alignments in bytes  4/ 0:	220.312	40.7812	47.0312
Length  440, alignments in bytes  4/ 4:	199.688	40.4688	47.0312
Length  440, alignments in bytes  2/ 2:	246.562	40.7812	47.1875
Length  440, alignments in bytes  2/ 6:	201.25	40.7812	47.1875
Length  440, alignments in bytes  6/ 2:	197.344	40.4688	47.1875
Length  440, alignments in bytes  1/ 7:	198.125	40.625	47.3438
Length  440, alignments in bytes  7/ 1:	200.469	40.4688	46.5625
Length  440, alignments in bytes  3/ 4:	243.594	40.7812	47.1875
Length  440, alignments in bytes  4/ 3:	239.219	40.3125	47.1875
Length  440, alignments in bytes  5/ 7:	220	41.25	47.8125
Length  440, alignments in bytes  7/ 5:	200.625	40.4688	46.7188
Length  444, alignments in bytes  0/ 4:	240.625	40	47.5
Length  444, alignments in bytes  4/ 0:	241.875	42.6562	48.75
Length  444, alignments in bytes  4/ 4:	241.562	41.5625	48.5938
Length  444, alignments in bytes  2/ 2:	200.469	40.1562	47.8125
Length  444, alignments in bytes  2/ 6:	240.469	42.0312	47.1875
Length  444, alignments in bytes  6/ 2:	250.625	41.875	49.0625
Length  444, alignments in bytes  1/ 7:	199.688	40.3125	47.1875
Length  444, alignments in bytes  7/ 1:	200.781	42.8125	49.0625
Length  444, alignments in bytes  3/ 4:	243.75	40.625	46.7188
Length  444, alignments in bytes  4/ 3:	241.875	42.8125	49.2188
Length  444, alignments in bytes  5/ 7:	200.469	41.875	48.75
Length  444, alignments in bytes  7/ 5:	202.031	41.4062	48.4375
Length  448, alignments in bytes  0/ 4:	290.781	40.9375	48.5938
Length  448, alignments in bytes  4/ 0:	243.75	41.7188	48.4375
Length  448, alignments in bytes  4/ 4:	202.188	41.5625	48.2812
Length  448, alignments in bytes  2/ 2:	201.406	41.5625	48.5938
Length  448, alignments in bytes  2/ 6:	204.375	41.7188	48.4375
Length  448, alignments in bytes  6/ 2:	248.594	41.5625	48.4375
Length  448, alignments in bytes  1/ 7:	224.531	41.5625	48.4375
Length  448, alignments in bytes  7/ 1:	254.844	41.4062	48.5938
Length  448, alignments in bytes  3/ 4:	244.844	41.7188	48.5938
Length  448, alignments in bytes  4/ 3:	202.344	41.875	48.4375
Length  448, alignments in bytes  5/ 7:	202.656	41.5625	48.2812
Length  448, alignments in bytes  7/ 5:	203.438	41.25	48.5938
Length  452, alignments in bytes  0/ 4:	243.75	40.7812	48.125
Length  452, alignments in bytes  4/ 0:	246.406	41.875	48.4375
Length  452, alignments in bytes  4/ 4:	203.906	41.25	48.4375
Length  452, alignments in bytes  2/ 2:	238.438	42.0312	48.9062
Length  452, alignments in bytes  2/ 6:	250.156	41.5625	48.4375
Length  452, alignments in bytes  6/ 2:	202.188	41.7188	48.9062
Length  452, alignments in bytes  1/ 7:	202.812	41.4062	48.5938
Length  452, alignments in bytes  7/ 1:	204.375	41.5625	48.75
Length  452, alignments in bytes  3/ 4:	205.625	41.5625	59.2188
Length  452, alignments in bytes  4/ 3:	203.125	44.375	48.75
Length  452, alignments in bytes  5/ 7:	286.25	42.1875	48.9062
Length  452, alignments in bytes  7/ 5:	281.562	41.5625	48.5938
Length  456, alignments in bytes  0/ 4:	261.875	41.0938	47.9688
Length  456, alignments in bytes  4/ 0:	202.188	41.5625	48.4375
Length  456, alignments in bytes  4/ 4:	248.594	41.5625	48.75
Length  456, alignments in bytes  2/ 2:	207.188	41.7188	48.75
Length  456, alignments in bytes  2/ 6:	294.531	41.5625	48.75
Length  456, alignments in bytes  6/ 2:	277.344	41.5625	48.5938
Length  456, alignments in bytes  1/ 7:	204.219	41.5625	48.5938
Length  456, alignments in bytes  7/ 1:	205	41.4062	47.9688
Length  456, alignments in bytes  3/ 4:	249.375	41.5625	48.75
Length  456, alignments in bytes  4/ 3:	248.438	41.7188	48.5938
Length  456, alignments in bytes  5/ 7:	252.812	41.7188	48.4375
Length  456, alignments in bytes  7/ 5:	251.406	40.9375	47.8125
Length  460, alignments in bytes  0/ 4:	297.188	41.5625	50
Length  460, alignments in bytes  4/ 0:	277.812	45	50.3125
Length  460, alignments in bytes  4/ 4:	225.938	43.5938	50.1562
Length  460, alignments in bytes  2/ 2:	228.594	42.3438	50.3125
Length  460, alignments in bytes  2/ 6:	209.844	41.875	50.3125
Length  460, alignments in bytes  6/ 2:	267.5	44.375	50.4688
Length  460, alignments in bytes  1/ 7:	206.25	42.3438	50.3125
Length  460, alignments in bytes  7/ 1:	202.656	44.2188	50.4688
Length  460, alignments in bytes  3/ 4:	224.844	41.7188	48.4375
Length  460, alignments in bytes  4/ 3:	277.812	43.75	50.3125
Length  460, alignments in bytes  5/ 7:	291.719	43.4375	50.1562
Length  460, alignments in bytes  7/ 5:	280.625	43.75	50.1562
Length  464, alignments in bytes  0/ 4:	300.469	42.0312	49.6875
Length  464, alignments in bytes  4/ 0:	207.5	42.9688	50
Length  464, alignments in bytes  4/ 4:	247.969	42.9688	49.6875
Length  464, alignments in bytes  2/ 2:	231.406	43.4375	50.1562
Length  464, alignments in bytes  2/ 6:	231.25	44.0625	50.1562
Length  464, alignments in bytes  6/ 2:	226.406	43.5938	49.8438
Length  464, alignments in bytes  1/ 7:	207.969	43.2812	49.8438
Length  464, alignments in bytes  7/ 1:	210.156	43.4375	50.3125
Length  464, alignments in bytes  3/ 4:	260.156	42.8125	49.6875
Length  464, alignments in bytes  4/ 3:	248.281	43.2812	50
Length  464, alignments in bytes  5/ 7:	254.375	43.4375	50.3125
Length  464, alignments in bytes  7/ 5:	210.781	42.8125	49.8438
Length  468, alignments in bytes  0/ 4:	251.562	42.1875	49.8438
Length  468, alignments in bytes  4/ 0:	251.25	43.4375	50.1562
Length  468, alignments in bytes  4/ 4:	283.594	42.5	49.8438
Length  468, alignments in bytes  2/ 2:	252.031	43.125	49.8438
Length  468, alignments in bytes  2/ 6:	271.406	43.5938	50.1562
Length  468, alignments in bytes  6/ 2:	210.938	43.5938	49.8438
Length  468, alignments in bytes  1/ 7:	258.75	42.9688	49.6875
Length  468, alignments in bytes  7/ 1:	210.938	43.5938	50
Length  468, alignments in bytes  3/ 4:	255.469	43.5938	50.3125
Length  468, alignments in bytes  4/ 3:	212.188	42.6562	50.1562
Length  468, alignments in bytes  5/ 7:	211.562	42.8125	49.5312
Length  468, alignments in bytes  7/ 5:	212.656	42.9688	49.6875
Length  472, alignments in bytes  0/ 4:	305.156	42.8125	49.8438
Length  472, alignments in bytes  4/ 0:	214.688	42.6562	50.1562
Length  472, alignments in bytes  4/ 4:	259.688	43.4375	50
Length  472, alignments in bytes  2/ 2:	261.25	42.9688	49.8438
Length  472, alignments in bytes  2/ 6:	217.188	43.5938	50.1562
Length  472, alignments in bytes  6/ 2:	212.5	43.5938	50
Length  472, alignments in bytes  1/ 7:	210.938	42.9688	49.8438
Length  472, alignments in bytes  7/ 1:	212.656	42.9688	49.5312
Length  472, alignments in bytes  3/ 4:	218.125	43.75	50.1562
Length  472, alignments in bytes  4/ 3:	259.844	42.6562	50.1562
Length  472, alignments in bytes  5/ 7:	257.969	42.8125	49.8438
Length  472, alignments in bytes  7/ 5:	212.5	42.9688	49.5312
Length  476, alignments in bytes  0/ 4:	272.5	43.2812	49.8438
Length  476, alignments in bytes  4/ 0:	254.844	43.4375	51.5625
Length  476, alignments in bytes  4/ 4:	285.938	44.0625	51.0938
Length  476, alignments in bytes  2/ 2:	259.844	44.375	50.4688
Length  476, alignments in bytes  2/ 6:	260	43.5938	49.8438
Length  476, alignments in bytes  6/ 2:	214.062	43.4375	51.25
Length  476, alignments in bytes  1/ 7:	237.5	43.5938	50.3125
Length  476, alignments in bytes  7/ 1:	214.844	44.375	51.4062
Length  476, alignments in bytes  3/ 4:	218.281	43.4375	50
Length  476, alignments in bytes  4/ 3:	206.094	44.2188	51.4062
Length  476, alignments in bytes  5/ 7:	214.219	43.4375	51.0938
Length  476, alignments in bytes  7/ 5:	214.062	43.75	51.0938
Length  480, alignments in bytes  0/ 4:	257.5	43.125	52.0312
Length  480, alignments in bytes  4/ 0:	257.656	44.375	51.0938
Length  480, alignments in bytes  4/ 4:	255.469	44.2188	50.9375
Length  480, alignments in bytes  2/ 2:	259.062	44.375	51.0938
Length  480, alignments in bytes  2/ 6:	258.125	43.75	50.9375
Length  480, alignments in bytes  6/ 2:	265.625	43.4375	51.0938
Length  480, alignments in bytes  1/ 7:	223.75	44.375	51.0938
Length  480, alignments in bytes  7/ 1:	263.594	44.2188	51.25
Length  480, alignments in bytes  3/ 4:	268.906	43.75	51.25
Length  480, alignments in bytes  4/ 3:	254.219	43.5938	50.9375
Length  480, alignments in bytes  5/ 7:	262.5	44.375	51.25
Length  480, alignments in bytes  7/ 5:	217.5	43.75	50.9375
Length  484, alignments in bytes  0/ 4:	207.812	42.9688	51.25
Length  484, alignments in bytes  4/ 0:	245.781	44.0625	51.0938
Length  484, alignments in bytes  4/ 4:	265.156	43.9062	51.0938
Length  484, alignments in bytes  2/ 2:	271.406	43.4375	51.0938
Length  484, alignments in bytes  2/ 6:	222.5	43.9062	51.25
Length  484, alignments in bytes  6/ 2:	256.094	44.0625	51.0938
Length  484, alignments in bytes  1/ 7:	215.781	44.2188	51.25
Length  484, alignments in bytes  7/ 1:	218.125	43.75	51.0938
Length  484, alignments in bytes  3/ 4:	222.812	43.75	51.25
Length  484, alignments in bytes  4/ 3:	245.156	44.2188	51.0938
Length  484, alignments in bytes  5/ 7:	217.188	43.75	50.9375
Length  484, alignments in bytes  7/ 5:	217.344	43.5938	51.0938
Length  488, alignments in bytes  0/ 4:	261.406	43.4375	51.5625
Length  488, alignments in bytes  4/ 0:	220.938	43.4375	51.0938
Length  488, alignments in bytes  4/ 4:	264.375	44.0625	51.0938
Length  488, alignments in bytes  2/ 2:	283.75	43.9062	51.0938
Length  488, alignments in bytes  2/ 6:	267.344	44.375	51.0938
Length  488, alignments in bytes  6/ 2:	218.906	43.75	50.9375
Length  488, alignments in bytes  1/ 7:	306.406	44.375	51.0938
Length  488, alignments in bytes  7/ 1:	219.062	43.4375	50.625
Length  488, alignments in bytes  3/ 4:	250.156	44.2188	51.0938
Length  488, alignments in bytes  4/ 3:	296.719	43.5938	51.25
Length  488, alignments in bytes  5/ 7:	252.344	44.0625	50.9375
Length  488, alignments in bytes  7/ 5:	222.5	43.125	50.7812
Length  492, alignments in bytes  0/ 4:	281.25	43.2812	51.5625
Length  492, alignments in bytes  4/ 0:	270	45.3125	52.9688
Length  492, alignments in bytes  4/ 4:	264.219	44.6875	52.8125
Length  492, alignments in bytes  2/ 2:	226.25	44.0625	51.25
Length  492, alignments in bytes  2/ 6:	267.812	44.0625	51.0938
Length  492, alignments in bytes  6/ 2:	221.25	44.8438	53.125
Length  492, alignments in bytes  1/ 7:	219.688	44.2188	51.25
Length  492, alignments in bytes  7/ 1:	221.562	45.3125	52.6562
Length  492, alignments in bytes  3/ 4:	227.031	43.2812	51.0938
Length  492, alignments in bytes  4/ 3:	265	44.5312	52.8125
Length  492, alignments in bytes  5/ 7:	220.312	45	52.6562
Length  492, alignments in bytes  7/ 5:	221.875	44.6875	52.8125
Length  496, alignments in bytes  0/ 4:	265.156	44.0625	52.5
Length  496, alignments in bytes  4/ 0:	270.781	45.3125	52.6562
Length  496, alignments in bytes  4/ 4:	270.156	45.3125	52.6562
Length  496, alignments in bytes  2/ 2:	228.75	45.3125	52.6562
Length  496, alignments in bytes  2/ 6:	228.906	45	52.5
Length  496, alignments in bytes  6/ 2:	270.938	44.5312	52.5
Length  496, alignments in bytes  1/ 7:	221.094	44.5312	52.8125
Length  496, alignments in bytes  7/ 1:	223.281	44.6875	52.3438
Length  496, alignments in bytes  3/ 4:	228.594	44.5312	52.1875
Length  496, alignments in bytes  4/ 3:	224.375	44.6875	52.5
Length  496, alignments in bytes  5/ 7:	222.344	45	52.6562
Length  496, alignments in bytes  7/ 5:	222.969	45.1562	52.9688
Length  500, alignments in bytes  0/ 4:	285.312	43.75	52.3438
Length  500, alignments in bytes  4/ 0:	272.344	45	52.5
Length  500, alignments in bytes  4/ 4:	272.344	44.5312	52.8125
Length  500, alignments in bytes  2/ 2:	268.125	44.5312	52.6562
Length  500, alignments in bytes  2/ 6:	284.844	44.6875	52.8125
Length  500, alignments in bytes  6/ 2:	280.312	44.8438	52.8125
Length  500, alignments in bytes  1/ 7:	222.656	45.3125	52.3438
Length  500, alignments in bytes  7/ 1:	274.062	45.1562	52.6562
Length  500, alignments in bytes  3/ 4:	264.688	44.6875	52.6562
Length  500, alignments in bytes  4/ 3:	225.781	44.5312	52.5
Length  500, alignments in bytes  5/ 7:	223.125	44.5312	52.3438
Length  500, alignments in bytes  7/ 5:	274.062	45.1562	52.5
Length  504, alignments in bytes  0/ 4:	270.156	44.0625	52.6562
Length  504, alignments in bytes  4/ 0:	276.094	45	52.5
Length  504, alignments in bytes  4/ 4:	276.25	44.6875	52.8125
Length  504, alignments in bytes  2/ 2:	269.219	44.8438	52.6562
Length  504, alignments in bytes  2/ 6:	276.562	45.7812	52.8125
Length  504, alignments in bytes  6/ 2:	226.25	45.3125	52.5
Length  504, alignments in bytes  1/ 7:	218.125	45.3125	52.6562
Length  504, alignments in bytes  7/ 1:	224.844	44.8438	52.0312
Length  504, alignments in bytes  3/ 4:	268.125	44.6875	52.9688
Length  504, alignments in bytes  4/ 3:	275	44.5312	52.6562
Length  504, alignments in bytes  5/ 7:	225.469	45	52.6562
Length  504, alignments in bytes  7/ 5:	224.844	44.8438	52.3438
Length  508, alignments in bytes  0/ 4:	327.344	43.9062	52.6562
Length  508, alignments in bytes  4/ 0:	279.844	46.0938	54.375
Length  508, alignments in bytes  4/ 4:	272.5	45.7812	54.6875
Length  508, alignments in bytes  2/ 2:	272.5	45.1562	52.9688
Length  508, alignments in bytes  2/ 6:	270.938	45.4688	52.1875
Length  508, alignments in bytes  6/ 2:	225.312	45.9375	55.9375
Length  508, alignments in bytes  1/ 7:	226.875	44.8438	53.125
Length  508, alignments in bytes  7/ 1:	226.406	46.25	55.625
Length  508, alignments in bytes  3/ 4:	268.75	44.8438	52.3438
Length  508, alignments in bytes  4/ 3:	262.969	46.5625	55
Length  508, alignments in bytes  5/ 7:	228.125	46.0938	54.8438
Length  508, alignments in bytes  7/ 5:	226.719	45.7812	55.1562
Length  512, alignments in bytes  0/ 4:	329.844	45.4688	55.625
Length  512, alignments in bytes  4/ 0:	247.969	45.7812	55.3125
Length  512, alignments in bytes  4/ 4:	279.219	46.0938	53.5938
Length  512, alignments in bytes  2/ 2:	303.906	45.7812	55.4688
Length  512, alignments in bytes  2/ 6:	274.688	45.625	54.6875
Length  512, alignments in bytes  6/ 2:	230.625	46.25	55.1562
Length  512, alignments in bytes  1/ 7:	220.781	45.7812	54.5312
Length  512, alignments in bytes  7/ 1:	255.469	45.9375	55.3125
Length  512, alignments in bytes  3/ 4:	271.562	45.9375	55.1562
Length  512, alignments in bytes  4/ 3:	247.812	45.9375	54.6875
Length  512, alignments in bytes  5/ 7:	229.844	45.7812	55.625
Length  512, alignments in bytes  7/ 5:	254.531	45.625	54.8438
---
 sysdeps/aarch64/multiarch/Makefile          |   1 +
 sysdeps/aarch64/multiarch/ifunc-impl-list.c |   4 +
 sysdeps/aarch64/multiarch/strcpy.c          |  37 ++++
 sysdeps/aarch64/multiarch/strcpy_generic.S  |  35 ++++
 sysdeps/aarch64/multiarch/strcpy_kunpeng.S  | 313 ++++++++++++++++++++++++++++
 sysdeps/aarch64/strcpy.S                    |  10 +-
 6 files changed, 396 insertions(+), 4 deletions(-)
 create mode 100644 sysdeps/aarch64/multiarch/strcpy.c
 create mode 100644 sysdeps/aarch64/multiarch/strcpy_generic.S
 create mode 100644 sysdeps/aarch64/multiarch/strcpy_kunpeng.S
diff mbox series

Patch

diff --git a/sysdeps/aarch64/multiarch/Makefile b/sysdeps/aarch64/multiarch/Makefile
index 4150b89a90..896faa260e 100644
--- a/sysdeps/aarch64/multiarch/Makefile
+++ b/sysdeps/aarch64/multiarch/Makefile
@@ -3,5 +3,6 @@  sysdep_routines += memcpy_generic memcpy_thunderx memcpy_thunderx2 \
 		   memcpy_falkor memmove_falkor \
 		   memset_generic memset_falkor memset_emag \
 		   memchr_generic memchr_nosimd \
+		   strcpy_generic strcpy_kunpeng \
 		   strlen_generic strlen_asimd
 endif
diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
index be13b916e5..b7877137ac 100644
--- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c
@@ -62,5 +62,9 @@  __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 	      IFUNC_IMPL_ADD (array, i, strlen, 1, __strlen_asimd)
 	      IFUNC_IMPL_ADD (array, i, strlen, 1, __strlen_generic))
 
+  IFUNC_IMPL (i, name, strcpy,
+	      IFUNC_IMPL_ADD (array, i, strcpy, 1, __strcpy_kunpeng)
+	      IFUNC_IMPL_ADD (array, i, strcpy, 1, __strcpy_generic))
+
   return i;
 }
diff --git a/sysdeps/aarch64/multiarch/strcpy.c b/sysdeps/aarch64/multiarch/strcpy.c
new file mode 100644
index 0000000000..582c7c70d1
--- /dev/null
+++ b/sysdeps/aarch64/multiarch/strcpy.c
@@ -0,0 +1,37 @@ 
+/* Multiple versions of strlen. AARCH64 version.
+   Copyright (C) 2019-2020 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* Define multiple versions only for the definition in libc.  */
+#if IS_IN (libc)
+# undef strcpy
+# define strcpy __redirect_strcpy
+# include <string.h>
+# include <init-arch.h>
+
+
+extern __typeof (__redirect_strcpy) __strcpy;
+
+extern __typeof (__redirect_strcpy) __strcpy_generic attribute_hidden;
+extern __typeof (__redirect_strcpy) __strcpy_kunpeng attribute_hidden;
+
+libc_ifunc (__strcpy,
+	    (IS_KUNPENG (midr) ? __strcpy_kunpeng : __strcpy_generic));
+
+# undef strcpy
+strong_alias (__strcpy, strcpy);
+#endif
diff --git a/sysdeps/aarch64/multiarch/strcpy_generic.S b/sysdeps/aarch64/multiarch/strcpy_generic.S
new file mode 100644
index 0000000000..30e5838edd
--- /dev/null
+++ b/sysdeps/aarch64/multiarch/strcpy_generic.S
@@ -0,0 +1,35 @@ 
+/* strcpy/stpcpy - copy a string returning pointer to start/end.
+   Copyright (C) 2013-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#if IS_IN (libc)
+
+# define STRCPY __strcpy_generic
+
+/* Do not hide the generic version of strcpy, we use it internally.  */
+# undef libc_hidden_builtin_def
+# define libc_hidden_builtin_def(name)
+
+# ifdef SHARED
+/* It doesn't make sense to send libc-internal strcpy calls through a PLT. */
+	.globl __GI_strcpy; __GI_strcpy = __strcpy_generic
+# endif
+#endif
+weak_alias (STRCPY, strcpy)
+#include "../strcpy.S"
diff --git a/sysdeps/aarch64/multiarch/strcpy_kunpeng.S b/sysdeps/aarch64/multiarch/strcpy_kunpeng.S
new file mode 100644
index 0000000000..6a897405a2
--- /dev/null
+++ b/sysdeps/aarch64/multiarch/strcpy_kunpeng.S
@@ -0,0 +1,313 @@ 
+/* Optimized strcpy for Huawei Kunpeng processor.
+   Copyright (C) 2013-2019 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+/* To build as stpcpy, define BUILD_STPCPY before compiling this file.
+
+   To test the page crossing code path more thoroughly, compile with
+   -DSTRCPY_TEST_PAGE_CROSS - this will force all unaligned copies through
+   the slower entry path.  This option is not intended for production use.  */
+
+#include <sysdep.h>
+
+/* Assumptions:
+ *
+ * ARMv8-a, AArch64, unaligned accesses, min page size 4k.
+ */
+
+/* Arguments and results.  */
+#define dstin		x0
+#define srcin		x1
+
+/* Locals and temporaries.  */
+#define src		x2
+#define dst		x3
+#define data1		x4
+#define data1w		w4
+#define data2		x5
+#define data2w		w5
+#define has_nul1	x6
+#define has_nul2	x7
+#define tmp1		x8
+#define tmp2		x9
+#define tmp3		x10
+#define tmp4		x11
+#define zeroones	x12
+#define data1a		x13
+#define data2a		x14
+#define pos		x15
+#define len		x16
+#define to_align	x17
+
+/* NEON register */
+#define dataq		q2
+#define datav		v2
+#define datab2		b3
+#define datav2		v3
+
+#define STRCPY __strcpy_kunpeng
+
+	/* NUL detection works on the principle that (X - 1) & (~X) & 0x80
+	   (=> (X - 1) & ~(X | 0x7f)) is non-zero iff a byte is zero, and
+	   can be done in parallel across the entire word.  */
+
+#define REP8_01 0x0101010101010101
+#define REP8_7f 0x7f7f7f7f7f7f7f7f
+#define REP8_80 0x8080808080808080
+
+	/* AArch64 systems have a minimum page size of 4k.  We can do a quick
+	   page size check for crossing this boundary on entry and if we
+	   do not, then we can short-circuit much of the entry code.  We
+	   expect early page-crossing strings to be rare (probability of
+	   16/MIN_PAGE_SIZE ~= 0.4%), so the branch should be quite
+	   predictable, even with random strings.
+
+	   We don't bother checking for larger page sizes, the cost of setting
+	   up the correct page size is just not worth the extra gain from
+	   a small reduction in the cases taking the slow path.  Note that
+	   we only care about whether the first fetch, which may be
+	   misaligned, crosses a page boundary - after that we move to aligned
+	   fetches for the remainder of the string.  */
+
+#ifdef STRCPY_TEST_PAGE_CROSS
+	/* Make everything that isn't Qword aligned look like a page cross.  */
+#define MIN_PAGE_P2 4
+#else
+#define MIN_PAGE_P2 12
+#endif
+
+#define MIN_PAGE_SIZE (1 << MIN_PAGE_P2)
+
+ENTRY_ALIGN (STRCPY, 6)
+	DELOUSE (0)
+	DELOUSE (1)
+	/* For moderately short strings, the fastest way to do the copy is to
+	   calculate the length of the string in the same way as strlen, then
+	   essentially do a memcpy of the result.  This avoids the need for
+	   multiple byte copies and further means that by the time we
+	   reach the bulk copy loop we know we can always use DWord
+	   accesses.  We expect strcpy to rarely be called repeatedly
+	   with the same source string, so branch prediction is likely to
+	   always be difficult - we mitigate against this by preferring
+	   conditional select operations over branches whenever this is
+	   feasible.  */
+	and	tmp2, srcin, #(MIN_PAGE_SIZE - 1)
+	mov	zeroones, #REP8_01
+	and	to_align, srcin, #15
+	cmp	tmp2, #(MIN_PAGE_SIZE - 16)
+	neg	tmp1, to_align
+	/* The first fetch will straddle a (possible) page boundary iff
+	   srcin + 15 causes bit[MIN_PAGE_P2] to change value.  A 16-byte
+	   aligned string will never fail the page align check, so will
+	   always take the fast path.  */
+	b.gt	L(page_cross)
+
+L(page_cross_ok):
+	ldp	data1, data2, [srcin]
+#ifdef __AARCH64EB__
+	/* Because we expect the end to be found within 16 characters
+	   (profiling shows this is the most common case), it's worth
+	   swapping the bytes now to save having to recalculate the
+	   termination syndrome later.  We preserve data1 and data2
+	   so that we can re-use the values later on.  */
+	rev	tmp2, data1
+	sub	tmp1, tmp2, zeroones
+	orr	tmp2, tmp2, #REP8_7f
+	bics	has_nul1, tmp1, tmp2
+	b.ne	L(fp_le8)
+	rev	tmp4, data2
+	sub	tmp3, tmp4, zeroones
+	orr	tmp4, tmp4, #REP8_7f
+#else
+	sub	tmp1, data1, zeroones
+	orr	tmp2, data1, #REP8_7f
+	bics	has_nul1, tmp1, tmp2
+	b.ne	L(fp_le8)
+	sub	tmp3, data2, zeroones
+	orr	tmp4, data2, #REP8_7f
+#endif
+	bics	has_nul2, tmp3, tmp4
+	b.eq	L(bulk_entry)
+
+	/* The string is short (<=16 bytes).  We don't know exactly how
+	   short though, yet.  Work out the exact length so that we can
+	   quickly select the optimal copy strategy.  */
+L(fp_gt8):
+	rev	has_nul2, has_nul2
+	clz	pos, has_nul2
+	mov	tmp2, #56
+	add	dst, dstin, pos, lsr #3		/* Bits to bytes.  */
+	sub	pos, tmp2, pos
+#ifdef __AARCH64EB__
+	lsr	data2, data2, pos
+#else
+	lsl	data2, data2, pos
+#endif
+	str	data2, [dst, #1]
+	str	data1, [dstin]
+#ifdef BUILD_STPCPY
+	add	dstin, dst, #8
+#endif
+	ret
+
+L(fp_le8):
+	rev	has_nul1, has_nul1
+	clz	pos, has_nul1
+	add	dst, dstin, pos, lsr #3		/* Bits to bytes.  */
+	subs	tmp2, pos, #24			/* Pos in bits. */
+	b.lt	L(fp_lt4)
+#ifdef __AARCH64EB__
+	mov	tmp2, #56
+	sub	pos, tmp2, pos
+	lsr	data2, data1, pos
+	lsr	data1, data1, #32
+#else
+	lsr	data2, data1, tmp2
+#endif
+	/* 4->7 bytes to copy.  */
+	str	data2w, [dst, #-3]
+	str	data1w, [dstin]
+#ifdef BUILD_STPCPY
+	mov	dstin, dst
+#endif
+	ret
+L(fp_lt4):
+	cbz	pos, L(fp_lt2)
+	/* 2->3 bytes to copy.  */
+#ifdef __AARCH64EB__
+	lsr	data1, data1, #48
+#endif
+	strh	data1w, [dstin]
+	/* Fall-through, one byte (max) to go.  */
+L(fp_lt2):
+	/* Null-terminated string.  Last character must be zero!  */
+	strb	wzr, [dst]
+#ifdef BUILD_STPCPY
+	mov	dstin, dst
+#endif
+	ret
+
+	/* Aligning here ensures that the entry code and main loop all lies
+	   within one 64-byte cache line.  */
+L(bulk_entry):
+	sub	to_align, to_align, #16
+	stp	data1, data2, [dstin]
+	sub	src, srcin, to_align
+	sub	dst, dstin, to_align
+	b	L(entry_no_page_cross)
+
+	/* The inner loop deals with two Dwords at a time.  This has a
+	   slightly higher start-up cost, but we should win quite quickly,
+	   especially on cores with a high number of issue slots per
+	   cycle, as we get much better parallelism out of the operations.  */
+L(main_loop):
+	str	dataq, [dst], #16
+L(entry_no_page_cross):
+	ldr	dataq, [src], #16
+	uminv	datab2, datav.16b
+	mov	tmp3, datav2.d[0]
+	cbnz	tmp3, L(main_loop)
+
+	/* Since we know we are copying at least 16 bytes, the fastest way
+	   to deal with the tail is to determine the location of the
+	   trailing NUL, then (re)copy the 16 bytes leading up to that.  */
+#ifdef __AARCH64EB__
+	rev64	datav.16b, datav.16b
+#endif
+	/* 算出loc */
+	cmeq	datav.16b, datav.16b, #0
+	mov	data1, datav.d[0]
+	mov	data2, datav.d[1]
+	cmp	data1, 0
+	csel	data1, data1, data2, ne
+	mov	pos, 8
+	rev	data1, data1
+	clz	tmp1, data1
+	csel	pos, xzr, pos, ne
+	add	pos, pos, tmp1, lsr 3
+	add	src, src, pos
+	add	dst, dst, pos
+	ldr	dataq,[src, #-31]
+	str	dataq,[dst, #-15]
+#ifdef BUILD_STPCPY
+	mov	dstin, dst
+#endif
+	ret
+
+L(page_cross):
+	bic	src, srcin, #15
+	/* Start by loading two words at [srcin & ~15], then forcing the
+	   bytes that precede srcin to 0xff.  This means they never look
+	   like termination bytes.  */
+	ldp	data1, data2, [src]
+	lsl	tmp1, tmp1, #3	/* Bytes beyond alignment -> bits.  */
+	tst	to_align, #7
+	csetm	tmp2, ne
+#ifdef __AARCH64EB__
+	lsl	tmp2, tmp2, tmp1	/* Shift (tmp1 & 63).  */
+#else
+	lsr	tmp2, tmp2, tmp1	/* Shift (tmp1 & 63).  */
+#endif
+	orr	data1, data1, tmp2
+	orr	data2a, data2, tmp2
+	cmp	to_align, #8
+	csinv	data1, data1, xzr, lt
+	csel	data2, data2, data2a, lt
+	sub	tmp1, data1, zeroones
+	orr	tmp2, data1, #REP8_7f
+	sub	tmp3, data2, zeroones
+	orr	tmp4, data2, #REP8_7f
+	bic	has_nul1, tmp1, tmp2
+	bics	has_nul2, tmp3, tmp4
+	ccmp	has_nul1, #0, #0, eq	/* NZCV = 0000  */
+	b.eq	L(page_cross_ok)
+	/* We now need to make data1 and data2 look like they've been
+	   loaded directly from srcin.  Do a rotate on the 128-bit value.  */
+	lsl	tmp1, to_align, #3	/* Bytes->bits.  */
+	neg	tmp2, to_align, lsl #3
+#ifdef __AARCH64EB__
+	lsl	data1a, data1, tmp1
+	lsr	tmp4, data2, tmp2
+	lsl	data2, data2, tmp1
+	orr	tmp4, tmp4, data1a
+	cmp	to_align, #8
+	csel	data1, tmp4, data2, lt
+	rev	tmp2, data1
+	rev	tmp4, data2
+	sub	tmp1, tmp2, zeroones
+	orr	tmp2, tmp2, #REP8_7f
+	sub	tmp3, tmp4, zeroones
+	orr	tmp4, tmp4, #REP8_7f
+#else
+	lsr	data1a, data1, tmp1
+	lsl	tmp4, data2, tmp2
+	lsr	data2, data2, tmp1
+	orr	tmp4, tmp4, data1a
+	cmp	to_align, #8
+	csel	data1, tmp4, data2, lt
+	sub	tmp1, data1, zeroones
+	orr	tmp2, data1, #REP8_7f
+	sub	tmp3, data2, zeroones
+	orr	tmp4, data2, #REP8_7f
+#endif
+	bic	has_nul1, tmp1, tmp2
+	cbnz	has_nul1, L(fp_le8)
+	bic	has_nul2, tmp3, tmp4
+	b	L(fp_gt8)
+END (STRCPY)
+weak_alias (STRCPY, strcpy_kunpeng)
+libc_hidden_builtin_def (strcpy_kunpeng)
diff --git a/sysdeps/aarch64/strcpy.S b/sysdeps/aarch64/strcpy.S
index edc16252f6..12767c05d6 100644
--- a/sysdeps/aarch64/strcpy.S
+++ b/sysdeps/aarch64/strcpy.S
@@ -54,9 +54,11 @@ 
 #define to_align	x17
 
 #ifdef BUILD_STPCPY
-#define STRCPY __stpcpy
+# define STRCPY __stpcpy
 #else
-#define STRCPY strcpy
+# ifndef STRCPY
+# define STRCPY strcpy
+# endif
 #endif
 
 	/* NUL detection works on the principle that (X - 1) & (~X) & 0x80
@@ -320,8 +322,8 @@  L(page_cross):
 END (STRCPY)
 
 #ifdef BUILD_STPCPY
-weak_alias (__stpcpy, stpcpy)
-libc_hidden_def (__stpcpy)
+weak_alias (STRCPY, stpcpy)
+libc_hidden_def (STRCPY)
 libc_hidden_builtin_def (stpcpy)
 #else
 libc_hidden_builtin_def (strcpy)