Apple Microarchitecture Research by Dougall Johnson M1/A14 P-core (Firestorm): Overview | Base Instructions | SIMD and FP Instructions M1/A14 E-core (Icestorm): Overview | Base Instructions | SIMD and FP Instructions
Code:
ld2r { v0.8h, v1.8h }, [x6], x8 nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop ; nop
mov x0, 1 mov x1, 2 mov x8, 0
(no loop instructions)
Retires (minus 60 nops): 3.000
Issues: 4.002
Integer unit issues: 1.001
Load/store unit issues: 1.000
SIMD/FP unit issues: 2.002
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map ldst uop (7d) | map simd uop (7e) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) |
63005 | 29577 | 4033 | 1003 | 2028 | 1002 | 1002 | 2004 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29667 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3003 | 15280 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 30002 | 4011 | 1003 | 2006 | 1002 | 1002 | 2004 | 1000 | 3000 | 3000 | 15276 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29822 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29323 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29303 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29727 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29325 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29301 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
63004 | 29336 | 4003 | 1001 | 2002 | 1000 | 1000 | 2000 | 1000 | 3000 | 3000 | 15274 | 4000 | 1000 | 2000 | 2000 | 2000 | 1001 | 1000 | 2000 |
Chain cycles: 3
Code:
ld2r { v0.8h, v1.8h }, [x6], x8 fmov x0, d0 eor x8, x8, x0 eor x8, x8, x0 add x6, x6, x8
mov x0, 1 mov x1, 2 mov x8, 0
(fused SUBS/B.cc loop)
Result (median cycles for code, minus 3 chain cycles): 9.0049
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70205 | 120156 | 90121 | 50102 | 30018 | 10001 | 40132 | 30033 | 10003 | 3199229 | 949307 | 2906425 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60276 | 20026 | 30037 | 50007 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 120049 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3199340 | 949450 | 2906742 | 80114 | 30208 | 10003 | 30009 | 60280 | 20028 | 30038 | 50009 | 10000 | 20000 | 40100 |
Result (median cycles for code, minus 3 chain cycles): 9.0040
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70025 | 120147 | 90031 | 50012 | 30018 | 10001 | 40042 | 30031 | 10000 | 3199350 | 949653 | 2909282 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3199161 | 949597 | 2909107 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3199161 | 949597 | 2909107 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10012 | 3199557 | 949746 | 2909463 | 80090 | 30057 | 10012 | 30037 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3199161 | 949597 | 2909107 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3199161 | 949597 | 2909107 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3199161 | 949597 | 2909107 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3199161 | 949597 | 2909107 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10012 | 3199572 | 949750 | 2909597 | 80091 | 30058 | 10013 | 30037 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 120040 | 90014 | 50011 | 30003 | 10000 | 40010 | 30000 | 10000 | 3199161 | 949597 | 2909107 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
Chain cycles: 3
Code:
ld2r { v0.8h, v1.8h }, [x6], x8 fmov x1, d1 eor x8, x8, x1 eor x8, x8, x1 add x6, x6, x8
mov x0, 1 mov x1, 2 mov x8, 0
(fused SUBS/B.cc loop)
Result (median cycles for code, minus 3 chain cycles): 9.2444
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70205 | 122545 | 90121 | 50102 | 30018 | 10001 | 40132 | 30032 | 10003 | 3263977 | 968490 | 2958432 | 80115 | 30209 | 10004 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263907 | 968577 | 2958603 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263907 | 968577 | 2958603 | 80114 | 30208 | 10003 | 30009 | 60276 | 20026 | 30037 | 50006 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263907 | 968577 | 2958603 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263907 | 968577 | 2958603 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263907 | 968577 | 2958603 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3263907 | 968577 | 2958603 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122442 | 90107 | 50101 | 30006 | 10000 | 40104 | 30007 | 10003 | 3264101 | 968578 | 2958650 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122437 | 90104 | 50101 | 30003 | 10000 | 40104 | 30007 | 10003 | 3263772 | 968537 | 2958478 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
70204 | 122444 | 90104 | 50101 | 30003 | 10000 | 40104 | 30007 | 10003 | 3263772 | 968537 | 2958478 | 80114 | 30208 | 10003 | 30009 | 60216 | 20006 | 30009 | 50001 | 10000 | 20000 | 40100 |
Result (median cycles for code, minus 3 chain cycles): 9.2917
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
70025 | 123269 | 90031 | 50012 | 30018 | 10001 | 40042 | 30031 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10012 | 3280644 | 973767 | 2974412 | 80092 | 30059 | 10012 | 30037 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70025 | 122974 | 90028 | 50017 | 30010 | 10001 | 40045 | 30034 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
70024 | 122917 | 90017 | 50011 | 30006 | 10000 | 40010 | 30000 | 10000 | 3276828 | 972607 | 2970849 | 80010 | 30020 | 10000 | 30000 | 60020 | 20000 | 30000 | 50001 | 10000 | 20000 | 40010 |
Count: 8
Code:
ld2r { v0.8h, v1.8h }, [x6], x8 ld2r { v0.8h, v1.8h }, [x6], x8 ld2r { v0.8h, v1.8h }, [x6], x8 ld2r { v0.8h, v1.8h }, [x6], x8 ld2r { v0.8h, v1.8h }, [x6], x8 ld2r { v0.8h, v1.8h }, [x6], x8 ld2r { v0.8h, v1.8h }, [x6], x8 ld2r { v0.8h, v1.8h }, [x6], x8
mov x7, x6 mov x8, x6 mov x9, x6 mov x10, x6 mov x11, x6 mov x12, x6 mov x13, x6 mov x8, 0
(fused SUBS/B.cc loop)
Result (median cycles for code divided by count): 1.0012
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
240205 | 80206 | 320248 | 80121 | 160107 | 80020 | 80123 | 160036 | 80006 | 354610 | 354257 | 1255116 | 320122 | 200 | 80006 | 160012 | 200 | 160018 | 160017 | 80007 | 80000 | 160000 | 100 |
240204 | 80098 | 320141 | 80106 | 160030 | 80005 | 80107 | 160010 | 80008 | 336105 | 335773 | 1270385 | 320128 | 200 | 80008 | 160016 | 200 | 160012 | 160010 | 80004 | 80000 | 160000 | 100 |
240204 | 80103 | 320137 | 80105 | 160028 | 80004 | 80106 | 160010 | 80007 | 332708 | 332371 | 1271142 | 320124 | 200 | 80007 | 160013 | 200 | 160014 | 160013 | 80005 | 80000 | 160000 | 100 |
240204 | 80098 | 320141 | 80106 | 160030 | 80005 | 80108 | 160012 | 80007 | 337917 | 337591 | 1283009 | 320124 | 200 | 80007 | 160013 | 200 | 160016 | 160016 | 80006 | 80000 | 160000 | 100 |
240204 | 80098 | 320141 | 80106 | 160030 | 80005 | 80108 | 160012 | 80007 | 338295 | 337961 | 1273142 | 320124 | 200 | 80007 | 160013 | 200 | 160012 | 160010 | 80005 | 80000 | 160000 | 100 |
240205 | 80136 | 320252 | 80134 | 160085 | 80033 | 80135 | 160066 | 80007 | 332098 | 331777 | 1269272 | 320124 | 200 | 80007 | 160013 | 200 | 160014 | 160013 | 80006 | 80000 | 160000 | 100 |
240204 | 80098 | 320139 | 80105 | 160030 | 80004 | 80107 | 160010 | 80008 | 334455 | 334119 | 1271292 | 320128 | 200 | 80008 | 160016 | 200 | 160014 | 160013 | 80005 | 80000 | 160000 | 100 |
240204 | 80098 | 320138 | 80105 | 160029 | 80004 | 80107 | 160010 | 80008 | 340870 | 340537 | 1279001 | 320128 | 200 | 80008 | 160016 | 200 | 160014 | 160013 | 80006 | 80000 | 160000 | 100 |
240204 | 80097 | 320133 | 80104 | 160026 | 80003 | 80106 | 160008 | 80007 | 332708 | 332371 | 1271142 | 320124 | 200 | 80007 | 160013 | 200 | 160016 | 160016 | 80006 | 80000 | 160000 | 100 |
240204 | 80098 | 320141 | 80106 | 160030 | 80005 | 80108 | 160012 | 80007 | 335299 | 334965 | 1272176 | 320123 | 200 | 80007 | 160013 | 200 | 160016 | 160016 | 80006 | 80000 | 160000 | 100 |
Result (median cycles for code divided by count): 1.0006
retire uop (01) | cycle (02) | schedule uop (52) | schedule int uop (53) | schedule simd uop (54) | schedule ldst uop (55) | dispatch int uop (56) | dispatch simd uop (57) | dispatch ldst uop (58) | int uops in schedulers (59) | simd uops in schedulers (5a) | ldst uops in schedulers (5b) | dispatch uop (78) | map int uop (7c) | map ldst uop (7d) | map simd uop (7e) | map int uop inputs (7f) | map ldst uop inputs (80) | map simd uop inputs (81) | ? int output thing (e9) | ? ldst retires (ed) | ? simd retires (ee) | ? int retires (ef) |
240025 | 80165 | 320151 | 80030 | 160102 | 80019 | 80032 | 160034 | 80009 | 404090 | 404062 | 1312540 | 320042 | 20 | 80009 | 160017 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 334298 | 334273 | 1570223 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 344522 | 344497 | 1569723 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 321395 | 321371 | 1558441 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 323740 | 323715 | 1568683 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 337800 | 337777 | 1574447 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 321395 | 321371 | 1558441 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 324040 | 324014 | 1559119 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 330239 | 330215 | 1576131 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |
240024 | 80048 | 320035 | 80011 | 160024 | 80000 | 80010 | 160000 | 80000 | 336171 | 336145 | 1576499 | 320010 | 20 | 80000 | 160000 | 20 | 160000 | 160000 | 80001 | 80000 | 160000 | 10 |