diff --git a/research/t74-cleanup-buffer-pooling/EXPECTED.json b/research/t74-cleanup-buffer-pooling/EXPECTED.json new file mode 100644 index 0000000000..4365e8d959 --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/EXPECTED.json @@ -0,0 +1,14596 @@ +{ + "schema_version": 1, + "result": "EXACT_LITERAL_INTERVAL_POOL", + "words": { + "base": [ + { + "orientation": "forward", + "events": 4500, + "entry_columns": 661, + "private_buffers": 76, + "pool_slots": 44, + "interval_count": 81, + "intervals": [ + { + "buffer": 1295, + "start": 2, + "end": 722 + }, + { + "buffer": 1294, + "start": 3, + "end": 723 + }, + { + "buffer": 1293, + "start": 5, + "end": 726 + }, + { + "buffer": 1292, + "start": 6, + "end": 727 + }, + { + "buffer": 1291, + "start": 8, + "end": 730 + }, + { + "buffer": 1290, + "start": 9, + "end": 731 + }, + { + "buffer": 1289, + "start": 11, + "end": 734 + }, + { + "buffer": 1288, + "start": 12, + "end": 735 + }, + { + "buffer": 1271, + "start": 14, + "end": 752 + }, + { + "buffer": 1270, + "start": 17, + "end": 753 + }, + { + "buffer": 1261, + "start": 18, + "end": 763 + }, + { + "buffer": 1260, + "start": 20, + "end": 765 + }, + { + "buffer": 1259, + "start": 23, + "end": 776 + }, + { + "buffer": 1247, + "start": 26, + "end": 800 + }, + { + "buffer": 1236, + "start": 28, + "end": 813 + }, + { + "buffer": 1235, + "start": 31, + "end": 824 + }, + { + "buffer": 1217, + "start": 33, + "end": 855 + }, + { + "buffer": 1216, + "start": 34, + "end": 856 + }, + { + "buffer": 1214, + "start": 35, + "end": 858 + }, + { + "buffer": 1213, + "start": 36, + "end": 860 + }, + { + "buffer": 1212, + "start": 38, + "end": 862 + }, + { + "buffer": 1205, + "start": 40, + "end": 880 + }, + { + "buffer": 1204, + "start": 41, + "end": 881 + }, + { + "buffer": 1202, + "start": 43, + "end": 883 + }, + { + "buffer": 1189, + "start": 47, + "end": 909 + }, + { + "buffer": 1188, + "start": 49, + "end": 911 + }, + { + "buffer": 1159, + "start": 52, + "end": 962 + }, + { + "buffer": 1158, + "start": 54, + "end": 963 + }, + { + "buffer": 1157, + "start": 56, + "end": 964 + }, + { + "buffer": 1156, + "start": 58, + "end": 965 + }, + { + "buffer": 1155, + "start": 60, + "end": 966 + }, + { + "buffer": 1154, + "start": 62, + "end": 967 + }, + { + "buffer": 1153, + "start": 64, + "end": 968 + }, + { + "buffer": 1152, + "start": 66, + "end": 969 + }, + { + "buffer": 1031, + "start": 68, + "end": 4472 + }, + { + "buffer": 1015, + "start": 73, + "end": 4470 + }, + { + "buffer": 1287, + "start": 75, + "end": 736 + }, + { + "buffer": 1286, + "start": 76, + "end": 737 + }, + { + "buffer": 1285, + "start": 77, + "end": 738 + }, + { + "buffer": 1284, + "start": 78, + "end": 739 + }, + { + "buffer": 1279, + "start": 79, + "end": 744 + }, + { + "buffer": 1278, + "start": 80, + "end": 745 + }, + { + "buffer": 1277, + "start": 81, + "end": 746 + }, + { + "buffer": 1276, + "start": 82, + "end": 747 + }, + { + "buffer": 1091, + "start": 766, + "end": 3427 + }, + { + "buffer": 1098, + "start": 769, + "end": 3441 + }, + { + "buffer": 1089, + "start": 771, + "end": 3425 + }, + { + "buffer": 1093, + "start": 774, + "end": 3445 + }, + { + "buffer": 1075, + "start": 790, + "end": 3569 + }, + { + "buffer": 1082, + "start": 793, + "end": 3583 + }, + { + "buffer": 1073, + "start": 795, + "end": 3567 + }, + { + "buffer": 1077, + "start": 798, + "end": 3587 + }, + { + "buffer": 1059, + "start": 814, + "end": 3711 + }, + { + "buffer": 1066, + "start": 817, + "end": 3725 + }, + { + "buffer": 1057, + "start": 819, + "end": 3709 + }, + { + "buffer": 1061, + "start": 822, + "end": 3729 + }, + { + "buffer": 1043, + "start": 838, + "end": 3853 + }, + { + "buffer": 1050, + "start": 841, + "end": 3867 + }, + { + "buffer": 1041, + "start": 843, + "end": 3851 + }, + { + "buffer": 1045, + "start": 846, + "end": 3871 + }, + { + "buffer": 1027, + "start": 863, + "end": 3995 + }, + { + "buffer": 1034, + "start": 866, + "end": 4009 + }, + { + "buffer": 1025, + "start": 868, + "end": 3993 + }, + { + "buffer": 1029, + "start": 871, + "end": 4013 + }, + { + "buffer": 1011, + "start": 888, + "end": 4128 + }, + { + "buffer": 1018, + "start": 891, + "end": 4146 + }, + { + "buffer": 1009, + "start": 893, + "end": 4027 + }, + { + "buffer": 1013, + "start": 896, + "end": 4150 + }, + { + "buffer": 995, + "start": 912, + "end": 4265 + }, + { + "buffer": 1002, + "start": 915, + "end": 4283 + }, + { + "buffer": 993, + "start": 917, + "end": 4164 + }, + { + "buffer": 997, + "start": 920, + "end": 4287 + }, + { + "buffer": 979, + "start": 936, + "end": 4402 + }, + { + "buffer": 986, + "start": 939, + "end": 4420 + }, + { + "buffer": 977, + "start": 941, + "end": 4301 + }, + { + "buffer": 981, + "start": 944, + "end": 4424 + }, + { + "buffer": 1292, + "start": 1046, + "end": 4439 + }, + { + "buffer": 1290, + "start": 1047, + "end": 4438 + }, + { + "buffer": 1009, + "start": 4045, + "end": 4127 + }, + { + "buffer": 993, + "start": 4182, + "end": 4264 + }, + { + "buffer": 977, + "start": 4319, + "end": 4401 + } + ], + "static_plan": [ + { + "buffer": 1295, + "start": 2, + "end": 722, + "slot": 0 + }, + { + "buffer": 1294, + "start": 3, + "end": 723, + "slot": 1 + }, + { + "buffer": 1293, + "start": 5, + "end": 726, + "slot": 2 + }, + { + "buffer": 1292, + "start": 6, + "end": 4439, + "slot": 3 + }, + { + "buffer": 1291, + "start": 8, + "end": 730, + "slot": 4 + }, + { + "buffer": 1290, + "start": 9, + "end": 4438, + "slot": 5 + }, + { + "buffer": 1289, + "start": 11, + "end": 734, + "slot": 6 + }, + { + "buffer": 1288, + "start": 12, + "end": 735, + "slot": 7 + }, + { + "buffer": 1271, + "start": 14, + "end": 752, + "slot": 8 + }, + { + "buffer": 1270, + "start": 17, + "end": 753, + "slot": 9 + }, + { + "buffer": 1261, + "start": 18, + "end": 763, + "slot": 10 + }, + { + "buffer": 1260, + "start": 20, + "end": 765, + "slot": 11 + }, + { + "buffer": 1259, + "start": 23, + "end": 776, + "slot": 12 + }, + { + "buffer": 1247, + "start": 26, + "end": 800, + "slot": 13 + }, + { + "buffer": 1236, + "start": 28, + "end": 813, + "slot": 14 + }, + { + "buffer": 1235, + "start": 31, + "end": 824, + "slot": 15 + }, + { + "buffer": 1217, + "start": 33, + "end": 855, + "slot": 16 + }, + { + "buffer": 1216, + "start": 34, + "end": 856, + "slot": 17 + }, + { + "buffer": 1214, + "start": 35, + "end": 858, + "slot": 18 + }, + { + "buffer": 1213, + "start": 36, + "end": 860, + "slot": 19 + }, + { + "buffer": 1212, + "start": 38, + "end": 862, + "slot": 20 + }, + { + "buffer": 1205, + "start": 40, + "end": 880, + "slot": 21 + }, + { + "buffer": 1204, + "start": 41, + "end": 881, + "slot": 22 + }, + { + "buffer": 1202, + "start": 43, + "end": 883, + "slot": 23 + }, + { + "buffer": 1189, + "start": 47, + "end": 909, + "slot": 24 + }, + { + "buffer": 1188, + "start": 49, + "end": 911, + "slot": 25 + }, + { + "buffer": 1159, + "start": 52, + "end": 962, + "slot": 26 + }, + { + "buffer": 1158, + "start": 54, + "end": 963, + "slot": 27 + }, + { + "buffer": 1157, + "start": 56, + "end": 964, + "slot": 28 + }, + { + "buffer": 1156, + "start": 58, + "end": 965, + "slot": 29 + }, + { + "buffer": 1155, + "start": 60, + "end": 966, + "slot": 30 + }, + { + "buffer": 1154, + "start": 62, + "end": 967, + "slot": 31 + }, + { + "buffer": 1153, + "start": 64, + "end": 968, + "slot": 32 + }, + { + "buffer": 1152, + "start": 66, + "end": 969, + "slot": 33 + }, + { + "buffer": 1031, + "start": 68, + "end": 4472, + "slot": 34 + }, + { + "buffer": 1015, + "start": 73, + "end": 4470, + "slot": 35 + }, + { + "buffer": 1287, + "start": 75, + "end": 736, + "slot": 36 + }, + { + "buffer": 1286, + "start": 76, + "end": 737, + "slot": 37 + }, + { + "buffer": 1285, + "start": 77, + "end": 738, + "slot": 38 + }, + { + "buffer": 1284, + "start": 78, + "end": 739, + "slot": 39 + }, + { + "buffer": 1279, + "start": 79, + "end": 744, + "slot": 40 + }, + { + "buffer": 1278, + "start": 80, + "end": 745, + "slot": 41 + }, + { + "buffer": 1277, + "start": 81, + "end": 746, + "slot": 42 + }, + { + "buffer": 1276, + "start": 82, + "end": 747, + "slot": 43 + }, + { + "buffer": 1091, + "start": 766, + "end": 3427, + "slot": 0 + }, + { + "buffer": 1098, + "start": 769, + "end": 3441, + "slot": 1 + }, + { + "buffer": 1089, + "start": 771, + "end": 3425, + "slot": 2 + }, + { + "buffer": 1093, + "start": 774, + "end": 3445, + "slot": 4 + }, + { + "buffer": 1075, + "start": 790, + "end": 3569, + "slot": 6 + }, + { + "buffer": 1082, + "start": 793, + "end": 3583, + "slot": 7 + }, + { + "buffer": 1073, + "start": 795, + "end": 3567, + "slot": 8 + }, + { + "buffer": 1077, + "start": 798, + "end": 3587, + "slot": 9 + }, + { + "buffer": 1059, + "start": 814, + "end": 3711, + "slot": 10 + }, + { + "buffer": 1066, + "start": 817, + "end": 3725, + "slot": 11 + }, + { + "buffer": 1057, + "start": 819, + "end": 3709, + "slot": 12 + }, + { + "buffer": 1061, + "start": 822, + "end": 3729, + "slot": 13 + }, + { + "buffer": 1043, + "start": 838, + "end": 3853, + "slot": 14 + }, + { + "buffer": 1050, + "start": 841, + "end": 3867, + "slot": 15 + }, + { + "buffer": 1041, + "start": 843, + "end": 3851, + "slot": 36 + }, + { + "buffer": 1045, + "start": 846, + "end": 3871, + "slot": 37 + }, + { + "buffer": 1027, + "start": 863, + "end": 3995, + "slot": 16 + }, + { + "buffer": 1034, + "start": 866, + "end": 4009, + "slot": 17 + }, + { + "buffer": 1025, + "start": 868, + "end": 3993, + "slot": 18 + }, + { + "buffer": 1029, + "start": 871, + "end": 4013, + "slot": 19 + }, + { + "buffer": 1011, + "start": 888, + "end": 4128, + "slot": 20 + }, + { + "buffer": 1018, + "start": 891, + "end": 4146, + "slot": 21 + }, + { + "buffer": 1009, + "start": 893, + "end": 4127, + "slot": 22 + }, + { + "buffer": 1013, + "start": 896, + "end": 4150, + "slot": 23 + }, + { + "buffer": 995, + "start": 912, + "end": 4265, + "slot": 24 + }, + { + "buffer": 1002, + "start": 915, + "end": 4283, + "slot": 25 + }, + { + "buffer": 993, + "start": 917, + "end": 4264, + "slot": 38 + }, + { + "buffer": 997, + "start": 920, + "end": 4287, + "slot": 39 + }, + { + "buffer": 979, + "start": 936, + "end": 4402, + "slot": 40 + }, + { + "buffer": 986, + "start": 939, + "end": 4420, + "slot": 41 + }, + { + "buffer": 977, + "start": 941, + "end": 4401, + "slot": 42 + }, + { + "buffer": 981, + "start": 944, + "end": 4424, + "slot": 43 + } + ], + "allocated_logical_buffers": 76, + "zero_noop_events": [ + 1, + 4, + 7, + 10, + 13, + 16, + 22, + 25, + 30, + 45, + 51, + 53, + 55, + 57, + 59, + 61, + 63, + 65, + 70, + 72, + 768, + 773, + 792, + 797, + 816, + 821, + 840, + 845, + 865, + 870, + 890, + 895, + 914, + 919, + 938, + 943, + 994, + 995, + 997, + 998, + 999, + 1028, + 1029, + 1030, + 1031, + 1032, + 1035, + 1036, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1048, + 1049, + 3313, + 3314, + 3455, + 3456, + 3597, + 3598, + 3739, + 3740, + 3881, + 3882, + 4023, + 4024, + 4025, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4160, + 4161, + 4162, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4297, + 4298, + 4299, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500 + ], + "peak_after_event": 82, + "zero_noop_counts": { + "add": 123, + "scale": 28 + }, + "retained_events": 4349, + "peak_buffers": [ + 1015, + 1031, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1188, + 1189, + 1202, + 1204, + 1205, + 1212, + 1213, + 1214, + 1216, + 1217, + 1235, + 1236, + 1247, + 1259, + 1260, + 1261, + 1270, + 1271, + 1276, + 1277, + 1278, + 1279, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295 + ], + "endpoint_sha256": "6f503c1a8c9695ecc717c6573531dcbf61e35dc2ac7fa0246fb3c7d157f38825", + "peak_rows": [ + [ + 1015, + [ + [ + 499, + [], + "1" + ] + ] + ], + [ + 1031, + [ + [ + 511, + [], + "1" + ] + ] + ], + [ + 1152, + [ + [ + 231, + [], + "1" + ] + ] + ], + [ + 1153, + [ + [ + 226, + [], + "1" + ] + ] + ], + [ + 1154, + [ + [ + 230, + [], + "1" + ] + ] + ], + [ + 1155, + [ + [ + 228, + [], + "1" + ] + ] + ], + [ + 1156, + [ + [ + 232, + [], + "1" + ] + ] + ], + [ + 1157, + [ + [ + 7, + [], + "1" + ] + ] + ], + [ + 1158, + [ + [ + 236, + [], + "1" + ] + ] + ], + [ + 1159, + [ + [ + 238, + [], + "1" + ] + ] + ], + [ + 1188, + [ + [ + 231, + [], + "1" + ], + [ + 299, + [], + "1" + ] + ] + ], + [ + 1189, + [ + [ + 54, + [], + "1" + ], + [ + 226, + [], + "1" + ] + ] + ], + [ + 1202, + [ + [ + 499, + [], + "1" + ] + ] + ], + [ + 1204, + [ + [ + 310, + [], + "1" + ] + ] + ], + [ + 1205, + [ + [ + 308, + [], + "1" + ] + ] + ], + [ + 1212, + [ + [ + 230, + [], + "1" + ], + [ + 331, + [], + "1" + ] + ] + ], + [ + 1213, + [ + [ + 34, + [], + "1" + ], + [ + 228, + [], + "1" + ] + ] + ], + [ + 1214, + [ + [ + 511, + [], + "1" + ] + ] + ], + [ + 1216, + [ + [ + 326, + [], + "1" + ] + ] + ], + [ + 1217, + [ + [ + 324, + [], + "1" + ] + ] + ], + [ + 1235, + [ + [ + 351, + [], + "1" + ], + [ + 436, + [], + "1/2" + ] + ] + ], + [ + 1236, + [ + [ + 232, + [], + "-2" + ], + [ + 363, + [], + "1" + ] + ] + ], + [ + 1247, + [ + [ + 46, + [], + "-1" + ], + [ + 367, + [], + "1" + ] + ] + ], + [ + 1259, + [ + [ + 383, + [], + "1" + ], + [ + 434, + [], + "1/2" + ] + ] + ], + [ + 1260, + [ + [ + 236, + [], + "-2" + ], + [ + 395, + [], + "1" + ] + ] + ], + [ + 1261, + [ + [ + 5, + [], + "1" + ], + [ + 238, + [], + "-2" + ] + ] + ], + [ + 1270, + [ + [ + 69, + [], + "1" + ] + ] + ], + [ + 1271, + [ + [ + 399, + [], + "1" + ], + [ + 446, + [], + "-1" + ] + ] + ], + [ + 1276, + [ + [ + 408, + [], + "1" + ] + ] + ], + [ + 1277, + [ + [ + 105, + [], + "1" + ] + ] + ], + [ + 1278, + [ + [ + 412, + [], + "1" + ] + ] + ], + [ + 1279, + [ + [ + 414, + [], + "1" + ] + ] + ], + [ + 1284, + [ + [ + 424, + [], + "1" + ] + ] + ], + [ + 1285, + [ + [ + 44, + [], + "1" + ] + ] + ], + [ + 1286, + [ + [ + 428, + [], + "1" + ] + ] + ], + [ + 1287, + [ + [ + 430, + [], + "1" + ] + ] + ], + [ + 1288, + [ + [ + 439, + [], + "1" + ] + ] + ], + [ + 1289, + [ + [ + 434, + [], + "1" + ] + ] + ], + [ + 1290, + [ + [ + 438, + [], + "1" + ] + ] + ], + [ + 1291, + [ + [ + 436, + [], + "1" + ] + ] + ], + [ + 1292, + [ + [ + 440, + [], + "1" + ] + ] + ], + [ + 1293, + [ + [ + 46, + [], + "1" + ] + ] + ], + [ + 1294, + [ + [ + 444, + [], + "1" + ] + ] + ], + [ + 1295, + [ + [ + 446, + [], + "1" + ] + ] + ] + ], + "peak_distinct_values": 42, + "peak_equal_value_groups": [ + [ + 1015, + 1202 + ], + [ + 1031, + 1214 + ] + ], + "distinct_value_witness": null, + "controls": [ + "overlap_at_clique", + "early_release", + "dirty_pool_entry", + "closing_add_wrong_sign", + "unallocated_zero_read", + "inverse_warp_sign_changes_endpoint" + ] + }, + { + "orientation": "dual", + "events": 4500, + "entry_columns": 661, + "private_buffers": 76, + "pool_slots": 48, + "interval_count": 65, + "intervals": [ + { + "buffer": 1295, + "start": 1, + "end": 14 + }, + { + "buffer": 1293, + "start": 4, + "end": 26 + }, + { + "buffer": 1291, + "start": 7, + "end": 31 + }, + { + "buffer": 1289, + "start": 10, + "end": 23 + }, + { + "buffer": 1271, + "start": 13, + "end": 995 + }, + { + "buffer": 1270, + "start": 16, + "end": 994 + }, + { + "buffer": 1259, + "start": 22, + "end": 997 + }, + { + "buffer": 1247, + "start": 25, + "end": 998 + }, + { + "buffer": 1235, + "start": 30, + "end": 999 + }, + { + "buffer": 1202, + "start": 44, + "end": 73 + }, + { + "buffer": 1157, + "start": 55, + "end": 810 + }, + { + "buffer": 1031, + "start": 69, + "end": 4491 + }, + { + "buffer": 1015, + "start": 72, + "end": 4477 + }, + { + "buffer": 1287, + "start": 630, + "end": 4468 + }, + { + "buffer": 1286, + "start": 631, + "end": 4452 + }, + { + "buffer": 1279, + "start": 632, + "end": 4443 + }, + { + "buffer": 1278, + "start": 633, + "end": 4446 + }, + { + "buffer": 1285, + "start": 638, + "end": 4449 + }, + { + "buffer": 1284, + "start": 639, + "end": 4465 + }, + { + "buffer": 1277, + "start": 640, + "end": 4441 + }, + { + "buffer": 1276, + "start": 641, + "end": 4462 + }, + { + "buffer": 1205, + "start": 682, + "end": 4483 + }, + { + "buffer": 1204, + "start": 683, + "end": 4480 + }, + { + "buffer": 1214, + "start": 685, + "end": 4486 + }, + { + "buffer": 1217, + "start": 690, + "end": 4456 + }, + { + "buffer": 1216, + "start": 691, + "end": 4459 + }, + { + "buffer": 1202, + "start": 693, + "end": 4500 + }, + { + "buffer": 1270, + "start": 1028, + "end": 1029 + }, + { + "buffer": 1270, + "start": 1030, + "end": 1048 + }, + { + "buffer": 1247, + "start": 1031, + "end": 1032 + }, + { + "buffer": 1235, + "start": 1035, + "end": 1036 + }, + { + "buffer": 1271, + "start": 1039, + "end": 1040 + }, + { + "buffer": 1259, + "start": 1043, + "end": 1044 + }, + { + "buffer": 1089, + "start": 1579, + "end": 3322 + }, + { + "buffer": 1091, + "start": 1593, + "end": 3340 + }, + { + "buffer": 1093, + "start": 1604, + "end": 3366 + }, + { + "buffer": 1098, + "start": 1608, + "end": 3422 + }, + { + "buffer": 1073, + "start": 1733, + "end": 3464 + }, + { + "buffer": 1075, + "start": 1747, + "end": 3482 + }, + { + "buffer": 1077, + "start": 1758, + "end": 3508 + }, + { + "buffer": 1082, + "start": 1762, + "end": 3564 + }, + { + "buffer": 1057, + "start": 1887, + "end": 3606 + }, + { + "buffer": 1059, + "start": 1901, + "end": 3624 + }, + { + "buffer": 1061, + "start": 1912, + "end": 3650 + }, + { + "buffer": 1066, + "start": 1916, + "end": 3706 + }, + { + "buffer": 1041, + "start": 2041, + "end": 3748 + }, + { + "buffer": 1043, + "start": 2055, + "end": 3766 + }, + { + "buffer": 1045, + "start": 2066, + "end": 3792 + }, + { + "buffer": 1050, + "start": 2070, + "end": 3848 + }, + { + "buffer": 1025, + "start": 2195, + "end": 3890 + }, + { + "buffer": 1027, + "start": 2209, + "end": 3908 + }, + { + "buffer": 1029, + "start": 2220, + "end": 3934 + }, + { + "buffer": 1034, + "start": 2224, + "end": 3990 + }, + { + "buffer": 1009, + "start": 2349, + "end": 4034 + }, + { + "buffer": 1011, + "start": 2363, + "end": 4052 + }, + { + "buffer": 1013, + "start": 2374, + "end": 4078 + }, + { + "buffer": 1018, + "start": 2378, + "end": 4133 + }, + { + "buffer": 993, + "start": 2503, + "end": 4171 + }, + { + "buffer": 995, + "start": 2517, + "end": 4189 + }, + { + "buffer": 997, + "start": 2528, + "end": 4215 + }, + { + "buffer": 1002, + "start": 2532, + "end": 4270 + }, + { + "buffer": 977, + "start": 2657, + "end": 4308 + }, + { + "buffer": 979, + "start": 2671, + "end": 4326 + }, + { + "buffer": 981, + "start": 2682, + "end": 4352 + }, + { + "buffer": 986, + "start": 2686, + "end": 4407 + } + ], + "static_plan": [ + { + "buffer": 1295, + "start": 1, + "end": 14, + "slot": 0 + }, + { + "buffer": 1293, + "start": 4, + "end": 26, + "slot": 1 + }, + { + "buffer": 1291, + "start": 7, + "end": 31, + "slot": 2 + }, + { + "buffer": 1289, + "start": 10, + "end": 23, + "slot": 3 + }, + { + "buffer": 1271, + "start": 13, + "end": 1040, + "slot": 4 + }, + { + "buffer": 1270, + "start": 16, + "end": 1048, + "slot": 0 + }, + { + "buffer": 1259, + "start": 22, + "end": 1044, + "slot": 5 + }, + { + "buffer": 1247, + "start": 25, + "end": 1032, + "slot": 3 + }, + { + "buffer": 1235, + "start": 30, + "end": 1036, + "slot": 1 + }, + { + "buffer": 1202, + "start": 44, + "end": 4500, + "slot": 2 + }, + { + "buffer": 1157, + "start": 55, + "end": 810, + "slot": 6 + }, + { + "buffer": 1031, + "start": 69, + "end": 4491, + "slot": 7 + }, + { + "buffer": 1015, + "start": 72, + "end": 4477, + "slot": 8 + }, + { + "buffer": 1287, + "start": 630, + "end": 4468, + "slot": 9 + }, + { + "buffer": 1286, + "start": 631, + "end": 4452, + "slot": 10 + }, + { + "buffer": 1279, + "start": 632, + "end": 4443, + "slot": 11 + }, + { + "buffer": 1278, + "start": 633, + "end": 4446, + "slot": 12 + }, + { + "buffer": 1285, + "start": 638, + "end": 4449, + "slot": 13 + }, + { + "buffer": 1284, + "start": 639, + "end": 4465, + "slot": 14 + }, + { + "buffer": 1277, + "start": 640, + "end": 4441, + "slot": 15 + }, + { + "buffer": 1276, + "start": 641, + "end": 4462, + "slot": 16 + }, + { + "buffer": 1205, + "start": 682, + "end": 4483, + "slot": 17 + }, + { + "buffer": 1204, + "start": 683, + "end": 4480, + "slot": 18 + }, + { + "buffer": 1214, + "start": 685, + "end": 4486, + "slot": 19 + }, + { + "buffer": 1217, + "start": 690, + "end": 4456, + "slot": 20 + }, + { + "buffer": 1216, + "start": 691, + "end": 4459, + "slot": 21 + }, + { + "buffer": 1089, + "start": 1579, + "end": 3322, + "slot": 0 + }, + { + "buffer": 1091, + "start": 1593, + "end": 3340, + "slot": 1 + }, + { + "buffer": 1093, + "start": 1604, + "end": 3366, + "slot": 3 + }, + { + "buffer": 1098, + "start": 1608, + "end": 3422, + "slot": 4 + }, + { + "buffer": 1073, + "start": 1733, + "end": 3464, + "slot": 5 + }, + { + "buffer": 1075, + "start": 1747, + "end": 3482, + "slot": 6 + }, + { + "buffer": 1077, + "start": 1758, + "end": 3508, + "slot": 22 + }, + { + "buffer": 1082, + "start": 1762, + "end": 3564, + "slot": 23 + }, + { + "buffer": 1057, + "start": 1887, + "end": 3606, + "slot": 24 + }, + { + "buffer": 1059, + "start": 1901, + "end": 3624, + "slot": 25 + }, + { + "buffer": 1061, + "start": 1912, + "end": 3650, + "slot": 26 + }, + { + "buffer": 1066, + "start": 1916, + "end": 3706, + "slot": 27 + }, + { + "buffer": 1041, + "start": 2041, + "end": 3748, + "slot": 28 + }, + { + "buffer": 1043, + "start": 2055, + "end": 3766, + "slot": 29 + }, + { + "buffer": 1045, + "start": 2066, + "end": 3792, + "slot": 30 + }, + { + "buffer": 1050, + "start": 2070, + "end": 3848, + "slot": 31 + }, + { + "buffer": 1025, + "start": 2195, + "end": 3890, + "slot": 32 + }, + { + "buffer": 1027, + "start": 2209, + "end": 3908, + "slot": 33 + }, + { + "buffer": 1029, + "start": 2220, + "end": 3934, + "slot": 34 + }, + { + "buffer": 1034, + "start": 2224, + "end": 3990, + "slot": 35 + }, + { + "buffer": 1009, + "start": 2349, + "end": 4034, + "slot": 36 + }, + { + "buffer": 1011, + "start": 2363, + "end": 4052, + "slot": 37 + }, + { + "buffer": 1013, + "start": 2374, + "end": 4078, + "slot": 38 + }, + { + "buffer": 1018, + "start": 2378, + "end": 4133, + "slot": 39 + }, + { + "buffer": 993, + "start": 2503, + "end": 4171, + "slot": 40 + }, + { + "buffer": 995, + "start": 2517, + "end": 4189, + "slot": 41 + }, + { + "buffer": 997, + "start": 2528, + "end": 4215, + "slot": 42 + }, + { + "buffer": 1002, + "start": 2532, + "end": 4270, + "slot": 43 + }, + { + "buffer": 977, + "start": 2657, + "end": 4308, + "slot": 44 + }, + { + "buffer": 979, + "start": 2671, + "end": 4326, + "slot": 45 + }, + { + "buffer": 981, + "start": 2682, + "end": 4352, + "slot": 46 + }, + { + "buffer": 986, + "start": 2686, + "end": 4407, + "slot": 47 + } + ], + "allocated_logical_buffers": 58, + "zero_noop_events": [ + 3, + 6, + 9, + 12, + 18, + 19, + 20, + 21, + 28, + 29, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 43, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 68, + 71, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 721, + 722, + 723, + 725, + 726, + 727, + 729, + 730, + 731, + 733, + 734, + 735, + 762, + 763, + 764, + 765, + 766, + 768, + 769, + 771, + 773, + 774, + 790, + 792, + 793, + 795, + 797, + 798, + 812, + 813, + 814, + 816, + 817, + 819, + 821, + 822, + 838, + 840, + 841, + 843, + 845, + 846, + 859, + 860, + 861, + 862, + 863, + 865, + 866, + 868, + 870, + 871, + 888, + 890, + 891, + 893, + 895, + 896, + 908, + 909, + 910, + 911, + 912, + 914, + 915, + 917, + 919, + 920, + 936, + 938, + 939, + 941, + 943, + 944, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 1045, + 1046, + 1047, + 1049, + 1563, + 1564, + 1571, + 1572, + 1575, + 1576, + 1578, + 1581, + 1590, + 1591, + 1592, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1607, + 1717, + 1718, + 1725, + 1726, + 1729, + 1730, + 1732, + 1735, + 1744, + 1745, + 1746, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1761, + 1871, + 1872, + 1879, + 1880, + 1883, + 1884, + 1886, + 1889, + 1898, + 1899, + 1900, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1915, + 2025, + 2026, + 2033, + 2034, + 2037, + 2038, + 2040, + 2043, + 2052, + 2053, + 2054, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2069, + 2179, + 2180, + 2187, + 2188, + 2191, + 2192, + 2194, + 2197, + 2206, + 2207, + 2208, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2223, + 2333, + 2334, + 2341, + 2342, + 2345, + 2346, + 2348, + 2351, + 2360, + 2361, + 2362, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2377, + 2487, + 2488, + 2495, + 2496, + 2499, + 2500, + 2502, + 2505, + 2514, + 2515, + 2516, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2531, + 2641, + 2642, + 2649, + 2650, + 2653, + 2654, + 2656, + 2659, + 2668, + 2669, + 2670, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2685, + 3333, + 3347, + 3349, + 3376, + 3385, + 3399, + 3401, + 3403, + 3416, + 3417, + 3418, + 3425, + 3427, + 3429, + 3431, + 3441, + 3445, + 3475, + 3489, + 3491, + 3518, + 3527, + 3541, + 3543, + 3545, + 3558, + 3559, + 3560, + 3567, + 3569, + 3571, + 3573, + 3583, + 3587, + 3617, + 3631, + 3633, + 3660, + 3669, + 3683, + 3685, + 3687, + 3700, + 3701, + 3702, + 3709, + 3711, + 3713, + 3715, + 3725, + 3729, + 3759, + 3773, + 3775, + 3802, + 3811, + 3825, + 3827, + 3829, + 3842, + 3843, + 3844, + 3851, + 3853, + 3855, + 3857, + 3867, + 3871, + 3901, + 3915, + 3917, + 3944, + 3953, + 3967, + 3969, + 3971, + 3984, + 3985, + 3986, + 3993, + 3995, + 3997, + 3999, + 4009, + 4013, + 4045, + 4059, + 4061, + 4088, + 4096, + 4110, + 4112, + 4114, + 4127, + 4128, + 4129, + 4138, + 4146, + 4150, + 4182, + 4196, + 4198, + 4225, + 4233, + 4247, + 4249, + 4251, + 4264, + 4265, + 4266, + 4275, + 4283, + 4287, + 4319, + 4333, + 4335, + 4362, + 4370, + 4384, + 4386, + 4388, + 4401, + 4402, + 4403, + 4412, + 4420, + 4424, + 4438, + 4439, + 4497 + ], + "peak_after_event": 2686, + "zero_noop_counts": { + "add": 361, + "scale": 48 + }, + "retained_events": 4091, + "peak_buffers": [ + 977, + 979, + 981, + 986, + 993, + 995, + 997, + 1002, + 1009, + 1011, + 1013, + 1015, + 1018, + 1025, + 1027, + 1029, + 1031, + 1034, + 1041, + 1043, + 1045, + 1050, + 1057, + 1059, + 1061, + 1066, + 1073, + 1075, + 1077, + 1082, + 1089, + 1091, + 1093, + 1098, + 1202, + 1204, + 1205, + 1214, + 1216, + 1217, + 1276, + 1277, + 1278, + 1279, + 1284, + 1285, + 1286, + 1287 + ], + "endpoint_sha256": "7a9580e5d6080400a9c419132326da2d179b91e60213dba7a662093709469fca", + "peak_rows": [ + [ + 977, + [ + [ + 9, + [], + "1" + ], + [ + 11, + [], + "1" + ], + [ + 17, + [], + "-1" + ], + [ + 77, + [], + "1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 103, + [], + "1" + ], + [ + 272, + [], + "1" + ] + ] + ], + [ + 979, + [ + [ + 9, + [], + "-1" + ], + [ + 11, + [], + "1" + ], + [ + 17, + [], + "-1" + ], + [ + 77, + [], + "1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 103, + [], + "1" + ], + [ + 272, + [], + "-1" + ] + ] + ], + [ + 981, + [ + [ + 9, + [], + "1" + ], + [ + 11, + [], + "-1" + ], + [ + 17, + [], + "-1" + ], + [ + 77, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 103, + [], + "1" + ], + [ + 272, + [], + "1" + ] + ] + ], + [ + 986, + [ + [ + 9, + [], + "-1" + ], + [ + 11, + [], + "-1" + ], + [ + 17, + [], + "1" + ], + [ + 77, + [], + "-1" + ], + [ + 81, + [], + "1" + ], + [ + 92, + [], + "-1" + ], + [ + 103, + [], + "-1" + ], + [ + 272, + [], + "-1" + ] + ] + ], + [ + 993, + [ + [ + 18, + [], + "1" + ], + [ + 19, + [], + "-1/4" + ], + [ + 39, + [], + "-1" + ], + [ + 40, + [], + "-1" + ], + [ + 66, + [], + "1/4" + ], + [ + 79, + [], + "-1/2" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 285, + [], + "-1/2" + ], + [ + 288, + [], + "1" + ], + [ + 292, + [], + "1" + ], + [ + 317, + [], + "-1/4" + ], + [ + 356, + [], + "-1/2" + ], + [ + 410, + [], + "1" + ], + [ + 467, + [], + "1" + ], + [ + 489, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 612, + [], + "-1/2" + ], + [ + 635, + [], + "1" + ], + [ + 636, + [], + "1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 995, + [ + [ + 18, + [], + "2" + ], + [ + 19, + [], + "-1/4" + ], + [ + 39, + [], + "2" + ], + [ + 79, + [], + "-1/2" + ], + [ + 92, + [], + "2" + ], + [ + 240, + [], + "2" + ], + [ + 285, + [], + "-1/2" + ], + [ + 294, + [], + "1" + ], + [ + 317, + [], + "-1/4" + ], + [ + 358, + [], + "-1/2" + ], + [ + 376, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 466, + [], + "1" + ], + [ + 488, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 610, + [], + "1" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 997, + [ + [ + 10, + [], + "-1/2" + ], + [ + 18, + [], + "1" + ], + [ + 39, + [], + "-1" + ], + [ + 40, + [], + "1" + ], + [ + 81, + [], + "1" + ], + [ + 92, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 261, + [], + "1/4" + ], + [ + 288, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 302, + [], + "-1/4" + ], + [ + 343, + [], + "-1/2" + ], + [ + 380, + [], + "1/4" + ], + [ + 397, + [], + "-1/2" + ], + [ + 403, + [], + "-1/2" + ], + [ + 442, + [], + "-1/4" + ], + [ + 458, + [], + "1" + ], + [ + 486, + [], + "1" + ], + [ + 493, + [], + "-1/2" + ], + [ + 517, + [], + "1/4" + ], + [ + 602, + [], + "1" + ], + [ + 640, + [], + "1" + ], + [ + 648, + [], + "-1/2" + ], + [ + 692, + [], + "1/4" + ] + ] + ], + [ + 1002, + [ + [ + 18, + [], + "-1" + ], + [ + 39, + [], + "1" + ], + [ + 40, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 240, + [], + "1" + ], + [ + 256, + [], + "1" + ], + [ + 264, + [], + "1/2" + ], + [ + 288, + [], + "1" + ], + [ + 294, + [], + "1" + ], + [ + 296, + [], + "1/4" + ], + [ + 333, + [], + "1/2" + ], + [ + 358, + [], + "-1/2" + ], + [ + 376, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 466, + [], + "1" + ], + [ + 488, + [], + "1" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "-1/4" + ], + [ + 610, + [], + "1" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "1/4" + ], + [ + 660, + [], + "1/4" + ], + [ + 682, + [], + "1/2" + ] + ] + ], + [ + 1009, + [ + [ + 11, + [], + "-1" + ], + [ + 24, + [], + "-1/4" + ], + [ + 35, + [], + "-1" + ], + [ + 45, + [], + "1" + ], + [ + 60, + [], + "1/4" + ], + [ + 92, + [], + "1" + ], + [ + 107, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 256, + [], + "1" + ], + [ + 260, + [], + "1" + ], + [ + 292, + [], + "1" + ], + [ + 304, + [], + "1" + ], + [ + 308, + [], + "1" + ], + [ + 356, + [], + "-1/2" + ], + [ + 410, + [], + "1" + ], + [ + 426, + [], + "1" + ], + [ + 469, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 612, + [], + "-1/2" + ], + [ + 628, + [], + "1/4" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "-1/4" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1011, + [ + [ + 11, + [], + "2" + ], + [ + 24, + [], + "-1/4" + ], + [ + 35, + [], + "2" + ], + [ + 45, + [], + "2" + ], + [ + 92, + [], + "2" + ], + [ + 225, + [], + "-1/4" + ], + [ + 262, + [], + "1" + ], + [ + 294, + [], + "1" + ], + [ + 310, + [], + "1" + ], + [ + 358, + [], + "-1/2" + ], + [ + 360, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 433, + [], + "1/4" + ], + [ + 469, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 610, + [], + "1" + ], + [ + 626, + [], + "1" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "-1/4" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1013, + [ + [ + 11, + [], + "-1" + ], + [ + 35, + [], + "-1" + ], + [ + 45, + [], + "1" + ], + [ + 92, + [], + "1" + ], + [ + 107, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 227, + [], + "-1/4" + ], + [ + 247, + [], + "1" + ], + [ + 256, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 304, + [], + "1" + ], + [ + 318, + [], + "-1/4" + ], + [ + 345, + [], + "-1/4" + ], + [ + 359, + [], + "-1/2" + ], + [ + 364, + [], + "1/4" + ], + [ + 405, + [], + "-1/2" + ], + [ + 463, + [], + "-1/2" + ], + [ + 481, + [], + "-1/2" + ], + [ + 499, + [], + "1" + ], + [ + 505, + [], + "-1/4" + ], + [ + 600, + [], + "1" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "1/4" + ], + [ + 672, + [], + "-1/2" + ], + [ + 688, + [], + "-1/2" + ] + ] + ], + [ + 1015, + [ + [ + 229, + [], + "-1/4" + ], + [ + 247, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 316, + [], + "-1/4" + ], + [ + 359, + [], + "-1/2" + ], + [ + 364, + [], + "1/4" + ], + [ + 381, + [], + "-1/4" + ], + [ + 405, + [], + "-1/2" + ], + [ + 462, + [], + "-1/2" + ], + [ + 480, + [], + "-1/2" + ], + [ + 499, + [], + "1" + ], + [ + 504, + [], + "-1/4" + ], + [ + 600, + [], + "1" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "1/4" + ], + [ + 673, + [], + "-1/2" + ], + [ + 689, + [], + "-1/2" + ] + ] + ], + [ + 1018, + [ + [ + 11, + [], + "1" + ], + [ + 35, + [], + "1" + ], + [ + 45, + [], + "-1" + ], + [ + 92, + [], + "-1" + ], + [ + 107, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 262, + [], + "1" + ], + [ + 285, + [], + "1/2" + ], + [ + 294, + [], + "1" + ], + [ + 304, + [], + "1" + ], + [ + 310, + [], + "1" + ], + [ + 312, + [], + "1/4" + ], + [ + 358, + [], + "-1/2" + ], + [ + 360, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 433, + [], + "1/4" + ], + [ + 468, + [], + "1/2" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "1/4" + ], + [ + 610, + [], + "1" + ], + [ + 626, + [], + "1" + ], + [ + 667, + [], + "1/2" + ], + [ + 668, + [], + "1/4" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1025, + [ + [ + 9, + [], + "1" + ], + [ + 22, + [], + "-1" + ], + [ + 23, + [], + "-1" + ], + [ + 28, + [], + "1/4" + ], + [ + 92, + [], + "1" + ], + [ + 108, + [], + "1" + ], + [ + 109, + [], + "-1/4" + ], + [ + 224, + [], + "-1" + ], + [ + 234, + [], + "-1/4" + ], + [ + 240, + [], + "-1" + ], + [ + 258, + [], + "1" + ], + [ + 276, + [], + "1" + ], + [ + 320, + [], + "1" + ], + [ + 324, + [], + "1" + ], + [ + 340, + [], + "-1/2" + ], + [ + 393, + [], + "-1/4" + ], + [ + 419, + [], + "-1/2" + ], + [ + 471, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 609, + [], + "1" + ], + [ + 619, + [], + "1" + ], + [ + 620, + [], + "1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1027, + [ + [ + 23, + [], + "2" + ], + [ + 92, + [], + "2" + ], + [ + 108, + [], + "2" + ], + [ + 109, + [], + "-1/4" + ], + [ + 234, + [], + "-1/4" + ], + [ + 240, + [], + "2" + ], + [ + 263, + [], + "1" + ], + [ + 278, + [], + "1" + ], + [ + 326, + [], + "1" + ], + [ + 342, + [], + "-1/2" + ], + [ + 344, + [], + "1/4" + ], + [ + 393, + [], + "-1/4" + ], + [ + 421, + [], + "-1/2" + ], + [ + 471, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 608, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1029, + [ + [ + 9, + [], + "1" + ], + [ + 22, + [], + "1" + ], + [ + 23, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 108, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 246, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 320, + [], + "1" + ], + [ + 334, + [], + "-1/4" + ], + [ + 343, + [], + "-1/2" + ], + [ + 348, + [], + "1/4" + ], + [ + 377, + [], + "-1/4" + ], + [ + 403, + [], + "-1/2" + ], + [ + 437, + [], + "1/4" + ], + [ + 461, + [], + "-1/2" + ], + [ + 493, + [], + "-1/2" + ], + [ + 511, + [], + "1" + ], + [ + 517, + [], + "-1/4" + ], + [ + 602, + [], + "1" + ], + [ + 624, + [], + "1" + ], + [ + 664, + [], + "-1/2" + ], + [ + 671, + [], + "-1/4" + ], + [ + 690, + [], + "-1/2" + ] + ] + ], + [ + 1031, + [ + [ + 246, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 332, + [], + "-1/4" + ], + [ + 343, + [], + "-1/2" + ], + [ + 348, + [], + "1/4" + ], + [ + 397, + [], + "-1/2" + ], + [ + 403, + [], + "-1/2" + ], + [ + 437, + [], + "1/4" + ], + [ + 460, + [], + "-1/2" + ], + [ + 492, + [], + "-1/2" + ], + [ + 511, + [], + "1" + ], + [ + 516, + [], + "-1/4" + ], + [ + 602, + [], + "1" + ], + [ + 624, + [], + "1" + ], + [ + 665, + [], + "-1/2" + ], + [ + 670, + [], + "-1/4" + ], + [ + 692, + [], + "-1/4" + ] + ] + ], + [ + 1034, + [ + [ + 9, + [], + "1" + ], + [ + 22, + [], + "-1" + ], + [ + 23, + [], + "1" + ], + [ + 92, + [], + "-1" + ], + [ + 108, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 240, + [], + "1" + ], + [ + 241, + [], + "1/2" + ], + [ + 263, + [], + "1" + ], + [ + 278, + [], + "1" + ], + [ + 281, + [], + "1/4" + ], + [ + 320, + [], + "1" + ], + [ + 326, + [], + "1" + ], + [ + 328, + [], + "1/4" + ], + [ + 342, + [], + "-1/2" + ], + [ + 344, + [], + "1/4" + ], + [ + 421, + [], + "-1/2" + ], + [ + 470, + [], + "1/2" + ], + [ + 478, + [], + "1/2" + ], + [ + 514, + [], + "1/4" + ], + [ + 608, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "1/4" + ], + [ + 676, + [], + "1/4" + ], + [ + 681, + [], + "1/2" + ] + ] + ], + [ + 1041, + [ + [ + 11, + [], + "-1" + ], + [ + 28, + [], + "-1/4" + ], + [ + 57, + [], + "1" + ], + [ + 58, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 86, + [], + "-1" + ], + [ + 93, + [], + "1" + ], + [ + 109, + [], + "1/4" + ], + [ + 241, + [], + "-1/2" + ], + [ + 256, + [], + "1" + ], + [ + 258, + [], + "1" + ], + [ + 276, + [], + "1" + ], + [ + 281, + [], + "1/4" + ], + [ + 336, + [], + "1" + ], + [ + 340, + [], + "1/2" + ], + [ + 421, + [], + "1/2" + ], + [ + 471, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "1/4" + ], + [ + 525, + [], + "1" + ], + [ + 527, + [], + "-1/2" + ], + [ + 608, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "-1/4" + ], + [ + 676, + [], + "1/4" + ], + [ + 681, + [], + "-1/2" + ] + ] + ], + [ + 1043, + [ + [ + 11, + [], + "2" + ], + [ + 28, + [], + "-1/4" + ], + [ + 57, + [], + "2" + ], + [ + 86, + [], + "2" + ], + [ + 93, + [], + "2" + ], + [ + 234, + [], + "1/4" + ], + [ + 258, + [], + "1" + ], + [ + 278, + [], + "1" + ], + [ + 281, + [], + "1/4" + ], + [ + 328, + [], + "1/4" + ], + [ + 342, + [], + "1/2" + ], + [ + 419, + [], + "1/2" + ], + [ + 470, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "1/4" + ], + [ + 524, + [], + "1" + ], + [ + 527, + [], + "-1/2" + ], + [ + 609, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "-1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 681, + [], + "-1/2" + ] + ] + ], + [ + 1045, + [ + [ + 11, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 58, + [], + "1" + ], + [ + 81, + [], + "1" + ], + [ + 86, + [], + "-1" + ], + [ + 93, + [], + "1" + ], + [ + 244, + [], + "1" + ], + [ + 256, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 332, + [], + "1/4" + ], + [ + 336, + [], + "1" + ], + [ + 343, + [], + "1/2" + ], + [ + 350, + [], + "-1/4" + ], + [ + 397, + [], + "-1/2" + ], + [ + 401, + [], + "1" + ], + [ + 437, + [], + "-1/4" + ], + [ + 460, + [], + "-1/2" + ], + [ + 493, + [], + "-1/2" + ], + [ + 517, + [], + "1/4" + ], + [ + 522, + [], + "1" + ], + [ + 529, + [], + "-1/2" + ], + [ + 604, + [], + "1/2" + ], + [ + 624, + [], + "1" + ], + [ + 664, + [], + "-1/2" + ], + [ + 671, + [], + "1/4" + ], + [ + 692, + [], + "1/4" + ] + ] + ], + [ + 1050, + [ + [ + 11, + [], + "1" + ], + [ + 57, + [], + "-1" + ], + [ + 58, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 86, + [], + "1" + ], + [ + 93, + [], + "-1" + ], + [ + 234, + [], + "1/4" + ], + [ + 256, + [], + "1" + ], + [ + 263, + [], + "-1" + ], + [ + 278, + [], + "1" + ], + [ + 328, + [], + "1/4" + ], + [ + 336, + [], + "1" + ], + [ + 342, + [], + "1/2" + ], + [ + 344, + [], + "1/4" + ], + [ + 393, + [], + "-1/4" + ], + [ + 419, + [], + "1/2" + ], + [ + 470, + [], + "-1/2" + ], + [ + 478, + [], + "1/2" + ], + [ + 514, + [], + "-1/4" + ], + [ + 524, + [], + "1" + ], + [ + 526, + [], + "1/2" + ], + [ + 609, + [], + "1" + ], + [ + 619, + [], + "-1" + ], + [ + 620, + [], + "1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 680, + [], + "1/2" + ] + ] + ], + [ + 1057, + [ + [ + 9, + [], + "1" + ], + [ + 24, + [], + "1/4" + ], + [ + 29, + [], + "-1" + ], + [ + 30, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 59, + [], + "1" + ], + [ + 60, + [], + "-1/4" + ], + [ + 81, + [], + "-1" + ], + [ + 240, + [], + "-1" + ], + [ + 260, + [], + "1" + ], + [ + 285, + [], + "-1/2" + ], + [ + 292, + [], + "1" + ], + [ + 352, + [], + "1" + ], + [ + 356, + [], + "1/2" + ], + [ + 417, + [], + "1/2" + ], + [ + 433, + [], + "-1/4" + ], + [ + 469, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 537, + [], + "1" + ], + [ + 539, + [], + "-1/2" + ], + [ + 610, + [], + "1" + ], + [ + 626, + [], + "1" + ], + [ + 667, + [], + "-1/2" + ], + [ + 668, + [], + "1/4" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1059, + [ + [ + 29, + [], + "2" + ], + [ + 57, + [], + "2" + ], + [ + 59, + [], + "2" + ], + [ + 60, + [], + "-1/4" + ], + [ + 240, + [], + "2" + ], + [ + 260, + [], + "1" + ], + [ + 285, + [], + "-1/2" + ], + [ + 294, + [], + "1" + ], + [ + 312, + [], + "1/4" + ], + [ + 358, + [], + "1/2" + ], + [ + 410, + [], + "1" + ], + [ + 433, + [], + "-1/4" + ], + [ + 468, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 536, + [], + "1" + ], + [ + 539, + [], + "-1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 626, + [], + "1" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "1/4" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1061, + [ + [ + 9, + [], + "1" + ], + [ + 29, + [], + "-1" + ], + [ + 30, + [], + "1" + ], + [ + 57, + [], + "1" + ], + [ + 59, + [], + "1" + ], + [ + 81, + [], + "1" + ], + [ + 227, + [], + "1/4" + ], + [ + 240, + [], + "-1" + ], + [ + 242, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 316, + [], + "1/4" + ], + [ + 352, + [], + "1" + ], + [ + 359, + [], + "1/2" + ], + [ + 366, + [], + "-1/4" + ], + [ + 381, + [], + "1/4" + ], + [ + 462, + [], + "-1/2" + ], + [ + 481, + [], + "-1/2" + ], + [ + 505, + [], + "1/4" + ], + [ + 534, + [], + "1" + ], + [ + 541, + [], + "-1/2" + ], + [ + 601, + [], + "1" + ], + [ + 606, + [], + "1/2" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "-1/4" + ], + [ + 672, + [], + "-1/2" + ], + [ + 689, + [], + "-1/2" + ] + ] + ], + [ + 1066, + [ + [ + 9, + [], + "1" + ], + [ + 29, + [], + "1" + ], + [ + 30, + [], + "-1" + ], + [ + 57, + [], + "-1" + ], + [ + 59, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 240, + [], + "1" + ], + [ + 262, + [], + "-1" + ], + [ + 294, + [], + "1" + ], + [ + 312, + [], + "1/4" + ], + [ + 352, + [], + "1" + ], + [ + 358, + [], + "1/2" + ], + [ + 360, + [], + "1/4" + ], + [ + 410, + [], + "1" + ], + [ + 426, + [], + "-1" + ], + [ + 468, + [], + "-1/2" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "-1/4" + ], + [ + 536, + [], + "1" + ], + [ + 538, + [], + "1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 628, + [], + "1/4" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "1/4" + ], + [ + 682, + [], + "1/2" + ] + ] + ], + [ + 1073, + [ + [ + 8, + [], + "1" + ], + [ + 9, + [], + "1" + ], + [ + 11, + [], + "-1" + ], + [ + 19, + [], + "1/4" + ], + [ + 26, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 66, + [], + "-1/4" + ], + [ + 79, + [], + "-1/2" + ], + [ + 95, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 292, + [], + "1" + ], + [ + 333, + [], + "-1/2" + ], + [ + 356, + [], + "1/2" + ], + [ + 368, + [], + "1" + ], + [ + 372, + [], + "1" + ], + [ + 417, + [], + "1/2" + ], + [ + 467, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 549, + [], + "1" + ], + [ + 551, + [], + "-1/2" + ], + [ + 610, + [], + "1" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "-1/4" + ], + [ + 660, + [], + "1/4" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1075, + [ + [ + 8, + [], + "2" + ], + [ + 11, + [], + "2" + ], + [ + 26, + [], + "2" + ], + [ + 57, + [], + "2" + ], + [ + 66, + [], + "-1/4" + ], + [ + 225, + [], + "-1/4" + ], + [ + 264, + [], + "-1/2" + ], + [ + 294, + [], + "1" + ], + [ + 296, + [], + "1/4" + ], + [ + 317, + [], + "1/4" + ], + [ + 358, + [], + "1/2" + ], + [ + 374, + [], + "1" + ], + [ + 410, + [], + "1" + ], + [ + 467, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 548, + [], + "1" + ], + [ + 551, + [], + "-1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "-1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1077, + [ + [ + 8, + [], + "1" + ], + [ + 9, + [], + "1" + ], + [ + 11, + [], + "-1" + ], + [ + 26, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 95, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 248, + [], + "-1/2" + ], + [ + 261, + [], + "-1/4" + ], + [ + 295, + [], + "1" + ], + [ + 300, + [], + "1/4" + ], + [ + 343, + [], + "1/2" + ], + [ + 368, + [], + "1" + ], + [ + 375, + [], + "1" + ], + [ + 377, + [], + "-1/4" + ], + [ + 382, + [], + "-1/4" + ], + [ + 401, + [], + "1" + ], + [ + 442, + [], + "1/4" + ], + [ + 459, + [], + "1" + ], + [ + 493, + [], + "-1/2" + ], + [ + 517, + [], + "-1/4" + ], + [ + 546, + [], + "1" + ], + [ + 553, + [], + "-1/2" + ], + [ + 604, + [], + "1/2" + ], + [ + 640, + [], + "1" + ], + [ + 648, + [], + "-1/2" + ], + [ + 690, + [], + "-1/2" + ] + ] + ], + [ + 1082, + [ + [ + 8, + [], + "-1" + ], + [ + 9, + [], + "1" + ], + [ + 11, + [], + "1" + ], + [ + 26, + [], + "1" + ], + [ + 57, + [], + "-1" + ], + [ + 95, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 264, + [], + "-1/2" + ], + [ + 285, + [], + "1/2" + ], + [ + 294, + [], + "1" + ], + [ + 296, + [], + "1/4" + ], + [ + 317, + [], + "1/4" + ], + [ + 358, + [], + "1/2" + ], + [ + 368, + [], + "1" + ], + [ + 374, + [], + "1" + ], + [ + 376, + [], + "1/4" + ], + [ + 410, + [], + "1" + ], + [ + 466, + [], + "-1" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "1/4" + ], + [ + 548, + [], + "1" + ], + [ + 550, + [], + "1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 635, + [], + "-1" + ], + [ + 636, + [], + "1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1089, + [ + [ + 38, + [], + "1/4" + ], + [ + 57, + [], + "1" + ], + [ + 64, + [], + "-1" + ], + [ + 65, + [], + "-1" + ], + [ + 96, + [], + "1" + ], + [ + 97, + [], + "-1/4" + ], + [ + 224, + [], + "-1" + ], + [ + 240, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 266, + [], + "-1/4" + ], + [ + 270, + [], + "-1/2" + ], + [ + 276, + [], + "1" + ], + [ + 340, + [], + "1/2" + ], + [ + 384, + [], + "1" + ], + [ + 388, + [], + "1" + ], + [ + 393, + [], + "-1/4" + ], + [ + 421, + [], + "1/2" + ], + [ + 465, + [], + "1" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 554, + [], + "-1/2" + ], + [ + 561, + [], + "1" + ], + [ + 563, + [], + "-1/2" + ], + [ + 608, + [], + "1" + ], + [ + 642, + [], + "1" + ], + [ + 652, + [], + "1/4" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1091, + [ + [ + 57, + [], + "2" + ], + [ + 65, + [], + "2" + ], + [ + 73, + [], + "1/4" + ], + [ + 96, + [], + "2" + ], + [ + 97, + [], + "-1/4" + ], + [ + 240, + [], + "2" + ], + [ + 266, + [], + "-1/4" + ], + [ + 268, + [], + "-1/2" + ], + [ + 278, + [], + "1" + ], + [ + 280, + [], + "1/4" + ], + [ + 342, + [], + "1/2" + ], + [ + 390, + [], + "1" + ], + [ + 393, + [], + "-1/4" + ], + [ + 419, + [], + "1/2" + ], + [ + 465, + [], + "1" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 560, + [], + "1" + ], + [ + 563, + [], + "-1/2" + ], + [ + 609, + [], + "1" + ], + [ + 642, + [], + "1" + ], + [ + 650, + [], + "-1/2" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1093, + [ + [ + 57, + [], + "1" + ], + [ + 64, + [], + "1" + ], + [ + 65, + [], + "-1" + ], + [ + 96, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 245, + [], + "1/4" + ], + [ + 252, + [], + "-1/2" + ], + [ + 256, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 284, + [], + "1/4" + ], + [ + 345, + [], + "-1/4" + ], + [ + 359, + [], + "1/2" + ], + [ + 384, + [], + "1" + ], + [ + 391, + [], + "1" + ], + [ + 398, + [], + "-1/4" + ], + [ + 457, + [], + "1" + ], + [ + 481, + [], + "-1/2" + ], + [ + 505, + [], + "-1/4" + ], + [ + 558, + [], + "1" + ], + [ + 565, + [], + "-1/2" + ], + [ + 601, + [], + "1" + ], + [ + 606, + [], + "1/2" + ], + [ + 632, + [], + "1" + ], + [ + 639, + [], + "-1/4" + ], + [ + 656, + [], + "-1/2" + ], + [ + 688, + [], + "-1/2" + ] + ] + ], + [ + 1098, + [ + [ + 57, + [], + "-1" + ], + [ + 64, + [], + "-1" + ], + [ + 65, + [], + "1" + ], + [ + 73, + [], + "1/4" + ], + [ + 96, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 240, + [], + "1" + ], + [ + 250, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 268, + [], + "-1/2" + ], + [ + 278, + [], + "1" + ], + [ + 280, + [], + "1/4" + ], + [ + 281, + [], + "1/4" + ], + [ + 342, + [], + "1/2" + ], + [ + 384, + [], + "1" + ], + [ + 390, + [], + "1" + ], + [ + 392, + [], + "1/4" + ], + [ + 419, + [], + "1/2" + ], + [ + 464, + [], + "-1" + ], + [ + 478, + [], + "1/2" + ], + [ + 514, + [], + "1/4" + ], + [ + 560, + [], + "1" + ], + [ + 562, + [], + "1/2" + ], + [ + 609, + [], + "1" + ], + [ + 644, + [], + "1/4" + ], + [ + 650, + [], + "-1/2" + ], + [ + 681, + [], + "1/2" + ] + ] + ], + [ + 1202, + [ + [ + 247, + [], + "1" + ], + [ + 364, + [], + "1/4" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "1/4" + ] + ] + ], + [ + 1204, + [ + [ + 262, + [], + "1" + ], + [ + 360, + [], + "1/4" + ], + [ + 433, + [], + "1/4" + ], + [ + 626, + [], + "1" + ] + ] + ], + [ + 1205, + [ + [ + 60, + [], + "1/4" + ], + [ + 260, + [], + "1" + ], + [ + 426, + [], + "1" + ], + [ + 628, + [], + "1/4" + ] + ] + ], + [ + 1214, + [ + [ + 246, + [], + "1" + ], + [ + 348, + [], + "1/4" + ], + [ + 437, + [], + "1/4" + ], + [ + 624, + [], + "1" + ] + ] + ], + [ + 1216, + [ + [ + 263, + [], + "1" + ], + [ + 344, + [], + "1/4" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "1/4" + ] + ] + ], + [ + 1217, + [ + [ + 28, + [], + "1/4" + ], + [ + 258, + [], + "1" + ], + [ + 619, + [], + "1" + ], + [ + 620, + [], + "1/4" + ] + ] + ], + [ + 1276, + [ + [ + 312, + [], + "1/2" + ], + [ + 468, + [], + "1" + ], + [ + 667, + [], + "1" + ], + [ + 668, + [], + "1/2" + ] + ] + ], + [ + 1277, + [ + [ + 24, + [], + "1/2" + ], + [ + 469, + [], + "1" + ], + [ + 666, + [], + "1" + ], + [ + 669, + [], + "1/2" + ] + ] + ], + [ + 1278, + [ + [ + 241, + [], + "1" + ], + [ + 328, + [], + "1/2" + ], + [ + 470, + [], + "1" + ], + [ + 676, + [], + "1/2" + ] + ] + ], + [ + 1279, + [ + [ + 109, + [], + "1/2" + ], + [ + 234, + [], + "1/2" + ], + [ + 471, + [], + "1" + ], + [ + 674, + [], + "1" + ] + ] + ], + [ + 1284, + [ + [ + 332, + [], + "1/2" + ], + [ + 460, + [], + "1" + ], + [ + 665, + [], + "1" + ], + [ + 670, + [], + "1/2" + ] + ] + ], + [ + 1285, + [ + [ + 334, + [], + "1/2" + ], + [ + 461, + [], + "1" + ], + [ + 664, + [], + "1" + ], + [ + 671, + [], + "1/2" + ] + ] + ], + [ + 1286, + [ + [ + 229, + [], + "1/2" + ], + [ + 316, + [], + "1/2" + ], + [ + 462, + [], + "1" + ], + [ + 673, + [], + "1" + ] + ] + ], + [ + 1287, + [ + [ + 227, + [], + "1/2" + ], + [ + 318, + [], + "1/2" + ], + [ + 463, + [], + "1" + ], + [ + 672, + [], + "1" + ] + ] + ] + ], + "peak_distinct_values": 48, + "peak_equal_value_groups": [], + "distinct_value_witness": { + "seed": 0, + "input_rule": "int.from_bytes(SHA256(UTF8('T74-pool/{seed}/{register}'))[:2], 'big') - 32768", + "unused_inputs": 0, + "max_input_abs": 32736, + "buffer_values": [ + [ + 977, + "-66443" + ], + [ + 979, + "15277" + ], + [ + 981, + "-99997" + ], + [ + 986, + "66443" + ], + [ + 993, + "-87491/2" + ], + [ + 995, + "-474879/4" + ], + [ + 997, + "-35913/4" + ], + [ + 1002, + "22855" + ], + [ + 1009, + "-26207/4" + ], + [ + 1011, + "-197065/4" + ], + [ + 1013, + "-193075/4" + ], + [ + 1015, + "-257885/4" + ], + [ + 1018, + "32893/4" + ], + [ + 1025, + "-231577/4" + ], + [ + 1027, + "-278197/4" + ], + [ + 1029, + "-463285/4" + ], + [ + 1031, + "-63744" + ], + [ + 1034, + "89511/2" + ], + [ + 1041, + "64565/4" + ], + [ + 1043, + "309287/4" + ], + [ + 1045, + "-122713/2" + ], + [ + 1050, + "-17479" + ], + [ + 1057, + "150591/4" + ], + [ + 1059, + "-218197/4" + ], + [ + 1061, + "-57671/2" + ], + [ + 1066, + "-549403/4" + ], + [ + 1073, + "17550" + ], + [ + 1075, + "153965/4" + ], + [ + 1077, + "-115307/2" + ], + [ + 1082, + "165043/2" + ], + [ + 1089, + "39693" + ], + [ + 1091, + "64171/2" + ], + [ + 1093, + "169471/4" + ], + [ + 1098, + "-707881/4" + ], + [ + 1202, + "-190673/4" + ], + [ + 1204, + "17437/2" + ], + [ + 1205, + "17079" + ], + [ + 1214, + "-220961/4" + ], + [ + 1216, + "-52681/4" + ], + [ + 1217, + "148565/4" + ], + [ + 1276, + "1391" + ], + [ + 1277, + "5616" + ], + [ + 1278, + "24198" + ], + [ + 1279, + "16530" + ], + [ + 1284, + "-20556" + ], + [ + 1285, + "23907" + ], + [ + 1286, + "-20955/2" + ], + [ + 1287, + "-63499/2" + ] + ] + }, + "controls": [ + "overlap_at_clique", + "early_release", + "dirty_pool_entry", + "closing_add_wrong_sign", + "unallocated_zero_read", + "inverse_warp_sign_changes_endpoint" + ] + } + ], + "extra": [ + { + "orientation": "forward", + "events": 4500, + "entry_columns": 661, + "private_buffers": 76, + "pool_slots": 44, + "interval_count": 81, + "intervals": [ + { + "buffer": 1295, + "start": 2, + "end": 722 + }, + { + "buffer": 1294, + "start": 3, + "end": 723 + }, + { + "buffer": 1293, + "start": 5, + "end": 726 + }, + { + "buffer": 1292, + "start": 6, + "end": 727 + }, + { + "buffer": 1291, + "start": 8, + "end": 730 + }, + { + "buffer": 1290, + "start": 9, + "end": 731 + }, + { + "buffer": 1289, + "start": 11, + "end": 734 + }, + { + "buffer": 1288, + "start": 12, + "end": 735 + }, + { + "buffer": 1271, + "start": 14, + "end": 752 + }, + { + "buffer": 1270, + "start": 17, + "end": 753 + }, + { + "buffer": 1261, + "start": 18, + "end": 763 + }, + { + "buffer": 1260, + "start": 20, + "end": 765 + }, + { + "buffer": 1259, + "start": 23, + "end": 776 + }, + { + "buffer": 1247, + "start": 26, + "end": 800 + }, + { + "buffer": 1236, + "start": 28, + "end": 813 + }, + { + "buffer": 1235, + "start": 31, + "end": 824 + }, + { + "buffer": 1217, + "start": 33, + "end": 855 + }, + { + "buffer": 1216, + "start": 34, + "end": 856 + }, + { + "buffer": 1214, + "start": 35, + "end": 858 + }, + { + "buffer": 1213, + "start": 36, + "end": 860 + }, + { + "buffer": 1212, + "start": 38, + "end": 862 + }, + { + "buffer": 1205, + "start": 40, + "end": 880 + }, + { + "buffer": 1204, + "start": 41, + "end": 881 + }, + { + "buffer": 1202, + "start": 43, + "end": 883 + }, + { + "buffer": 1189, + "start": 47, + "end": 909 + }, + { + "buffer": 1188, + "start": 49, + "end": 911 + }, + { + "buffer": 1159, + "start": 52, + "end": 962 + }, + { + "buffer": 1158, + "start": 54, + "end": 963 + }, + { + "buffer": 1157, + "start": 56, + "end": 964 + }, + { + "buffer": 1156, + "start": 58, + "end": 965 + }, + { + "buffer": 1155, + "start": 60, + "end": 966 + }, + { + "buffer": 1154, + "start": 62, + "end": 967 + }, + { + "buffer": 1153, + "start": 64, + "end": 968 + }, + { + "buffer": 1152, + "start": 66, + "end": 969 + }, + { + "buffer": 1031, + "start": 68, + "end": 4472 + }, + { + "buffer": 1015, + "start": 73, + "end": 4470 + }, + { + "buffer": 1287, + "start": 75, + "end": 736 + }, + { + "buffer": 1286, + "start": 76, + "end": 737 + }, + { + "buffer": 1285, + "start": 77, + "end": 738 + }, + { + "buffer": 1284, + "start": 78, + "end": 739 + }, + { + "buffer": 1279, + "start": 79, + "end": 744 + }, + { + "buffer": 1278, + "start": 80, + "end": 745 + }, + { + "buffer": 1277, + "start": 81, + "end": 746 + }, + { + "buffer": 1276, + "start": 82, + "end": 747 + }, + { + "buffer": 1091, + "start": 766, + "end": 3427 + }, + { + "buffer": 1098, + "start": 769, + "end": 3441 + }, + { + "buffer": 1089, + "start": 771, + "end": 3425 + }, + { + "buffer": 1093, + "start": 774, + "end": 3445 + }, + { + "buffer": 1075, + "start": 790, + "end": 3569 + }, + { + "buffer": 1082, + "start": 793, + "end": 3583 + }, + { + "buffer": 1073, + "start": 795, + "end": 3567 + }, + { + "buffer": 1077, + "start": 798, + "end": 3587 + }, + { + "buffer": 1059, + "start": 814, + "end": 3711 + }, + { + "buffer": 1066, + "start": 817, + "end": 3725 + }, + { + "buffer": 1057, + "start": 819, + "end": 3709 + }, + { + "buffer": 1061, + "start": 822, + "end": 3729 + }, + { + "buffer": 1043, + "start": 838, + "end": 3853 + }, + { + "buffer": 1050, + "start": 841, + "end": 3867 + }, + { + "buffer": 1041, + "start": 843, + "end": 3851 + }, + { + "buffer": 1045, + "start": 846, + "end": 3871 + }, + { + "buffer": 1027, + "start": 863, + "end": 3995 + }, + { + "buffer": 1034, + "start": 866, + "end": 4009 + }, + { + "buffer": 1025, + "start": 868, + "end": 3993 + }, + { + "buffer": 1029, + "start": 871, + "end": 4013 + }, + { + "buffer": 1011, + "start": 888, + "end": 4128 + }, + { + "buffer": 1018, + "start": 891, + "end": 4146 + }, + { + "buffer": 1009, + "start": 893, + "end": 4027 + }, + { + "buffer": 1013, + "start": 896, + "end": 4150 + }, + { + "buffer": 995, + "start": 912, + "end": 4265 + }, + { + "buffer": 1002, + "start": 915, + "end": 4283 + }, + { + "buffer": 993, + "start": 917, + "end": 4164 + }, + { + "buffer": 997, + "start": 920, + "end": 4287 + }, + { + "buffer": 979, + "start": 936, + "end": 4402 + }, + { + "buffer": 986, + "start": 939, + "end": 4420 + }, + { + "buffer": 977, + "start": 941, + "end": 4301 + }, + { + "buffer": 981, + "start": 944, + "end": 4424 + }, + { + "buffer": 1292, + "start": 1046, + "end": 4439 + }, + { + "buffer": 1290, + "start": 1047, + "end": 4438 + }, + { + "buffer": 1009, + "start": 4045, + "end": 4127 + }, + { + "buffer": 993, + "start": 4182, + "end": 4264 + }, + { + "buffer": 977, + "start": 4319, + "end": 4401 + } + ], + "static_plan": [ + { + "buffer": 1295, + "start": 2, + "end": 722, + "slot": 0 + }, + { + "buffer": 1294, + "start": 3, + "end": 723, + "slot": 1 + }, + { + "buffer": 1293, + "start": 5, + "end": 726, + "slot": 2 + }, + { + "buffer": 1292, + "start": 6, + "end": 4439, + "slot": 3 + }, + { + "buffer": 1291, + "start": 8, + "end": 730, + "slot": 4 + }, + { + "buffer": 1290, + "start": 9, + "end": 4438, + "slot": 5 + }, + { + "buffer": 1289, + "start": 11, + "end": 734, + "slot": 6 + }, + { + "buffer": 1288, + "start": 12, + "end": 735, + "slot": 7 + }, + { + "buffer": 1271, + "start": 14, + "end": 752, + "slot": 8 + }, + { + "buffer": 1270, + "start": 17, + "end": 753, + "slot": 9 + }, + { + "buffer": 1261, + "start": 18, + "end": 763, + "slot": 10 + }, + { + "buffer": 1260, + "start": 20, + "end": 765, + "slot": 11 + }, + { + "buffer": 1259, + "start": 23, + "end": 776, + "slot": 12 + }, + { + "buffer": 1247, + "start": 26, + "end": 800, + "slot": 13 + }, + { + "buffer": 1236, + "start": 28, + "end": 813, + "slot": 14 + }, + { + "buffer": 1235, + "start": 31, + "end": 824, + "slot": 15 + }, + { + "buffer": 1217, + "start": 33, + "end": 855, + "slot": 16 + }, + { + "buffer": 1216, + "start": 34, + "end": 856, + "slot": 17 + }, + { + "buffer": 1214, + "start": 35, + "end": 858, + "slot": 18 + }, + { + "buffer": 1213, + "start": 36, + "end": 860, + "slot": 19 + }, + { + "buffer": 1212, + "start": 38, + "end": 862, + "slot": 20 + }, + { + "buffer": 1205, + "start": 40, + "end": 880, + "slot": 21 + }, + { + "buffer": 1204, + "start": 41, + "end": 881, + "slot": 22 + }, + { + "buffer": 1202, + "start": 43, + "end": 883, + "slot": 23 + }, + { + "buffer": 1189, + "start": 47, + "end": 909, + "slot": 24 + }, + { + "buffer": 1188, + "start": 49, + "end": 911, + "slot": 25 + }, + { + "buffer": 1159, + "start": 52, + "end": 962, + "slot": 26 + }, + { + "buffer": 1158, + "start": 54, + "end": 963, + "slot": 27 + }, + { + "buffer": 1157, + "start": 56, + "end": 964, + "slot": 28 + }, + { + "buffer": 1156, + "start": 58, + "end": 965, + "slot": 29 + }, + { + "buffer": 1155, + "start": 60, + "end": 966, + "slot": 30 + }, + { + "buffer": 1154, + "start": 62, + "end": 967, + "slot": 31 + }, + { + "buffer": 1153, + "start": 64, + "end": 968, + "slot": 32 + }, + { + "buffer": 1152, + "start": 66, + "end": 969, + "slot": 33 + }, + { + "buffer": 1031, + "start": 68, + "end": 4472, + "slot": 34 + }, + { + "buffer": 1015, + "start": 73, + "end": 4470, + "slot": 35 + }, + { + "buffer": 1287, + "start": 75, + "end": 736, + "slot": 36 + }, + { + "buffer": 1286, + "start": 76, + "end": 737, + "slot": 37 + }, + { + "buffer": 1285, + "start": 77, + "end": 738, + "slot": 38 + }, + { + "buffer": 1284, + "start": 78, + "end": 739, + "slot": 39 + }, + { + "buffer": 1279, + "start": 79, + "end": 744, + "slot": 40 + }, + { + "buffer": 1278, + "start": 80, + "end": 745, + "slot": 41 + }, + { + "buffer": 1277, + "start": 81, + "end": 746, + "slot": 42 + }, + { + "buffer": 1276, + "start": 82, + "end": 747, + "slot": 43 + }, + { + "buffer": 1091, + "start": 766, + "end": 3427, + "slot": 0 + }, + { + "buffer": 1098, + "start": 769, + "end": 3441, + "slot": 1 + }, + { + "buffer": 1089, + "start": 771, + "end": 3425, + "slot": 2 + }, + { + "buffer": 1093, + "start": 774, + "end": 3445, + "slot": 4 + }, + { + "buffer": 1075, + "start": 790, + "end": 3569, + "slot": 6 + }, + { + "buffer": 1082, + "start": 793, + "end": 3583, + "slot": 7 + }, + { + "buffer": 1073, + "start": 795, + "end": 3567, + "slot": 8 + }, + { + "buffer": 1077, + "start": 798, + "end": 3587, + "slot": 9 + }, + { + "buffer": 1059, + "start": 814, + "end": 3711, + "slot": 10 + }, + { + "buffer": 1066, + "start": 817, + "end": 3725, + "slot": 11 + }, + { + "buffer": 1057, + "start": 819, + "end": 3709, + "slot": 12 + }, + { + "buffer": 1061, + "start": 822, + "end": 3729, + "slot": 13 + }, + { + "buffer": 1043, + "start": 838, + "end": 3853, + "slot": 14 + }, + { + "buffer": 1050, + "start": 841, + "end": 3867, + "slot": 15 + }, + { + "buffer": 1041, + "start": 843, + "end": 3851, + "slot": 36 + }, + { + "buffer": 1045, + "start": 846, + "end": 3871, + "slot": 37 + }, + { + "buffer": 1027, + "start": 863, + "end": 3995, + "slot": 16 + }, + { + "buffer": 1034, + "start": 866, + "end": 4009, + "slot": 17 + }, + { + "buffer": 1025, + "start": 868, + "end": 3993, + "slot": 18 + }, + { + "buffer": 1029, + "start": 871, + "end": 4013, + "slot": 19 + }, + { + "buffer": 1011, + "start": 888, + "end": 4128, + "slot": 20 + }, + { + "buffer": 1018, + "start": 891, + "end": 4146, + "slot": 21 + }, + { + "buffer": 1009, + "start": 893, + "end": 4127, + "slot": 22 + }, + { + "buffer": 1013, + "start": 896, + "end": 4150, + "slot": 23 + }, + { + "buffer": 995, + "start": 912, + "end": 4265, + "slot": 24 + }, + { + "buffer": 1002, + "start": 915, + "end": 4283, + "slot": 25 + }, + { + "buffer": 993, + "start": 917, + "end": 4264, + "slot": 38 + }, + { + "buffer": 997, + "start": 920, + "end": 4287, + "slot": 39 + }, + { + "buffer": 979, + "start": 936, + "end": 4402, + "slot": 40 + }, + { + "buffer": 986, + "start": 939, + "end": 4420, + "slot": 41 + }, + { + "buffer": 977, + "start": 941, + "end": 4401, + "slot": 42 + }, + { + "buffer": 981, + "start": 944, + "end": 4424, + "slot": 43 + } + ], + "allocated_logical_buffers": 76, + "zero_noop_events": [ + 1, + 4, + 7, + 10, + 13, + 16, + 22, + 25, + 30, + 45, + 51, + 53, + 55, + 57, + 59, + 61, + 63, + 65, + 70, + 72, + 768, + 773, + 792, + 797, + 816, + 821, + 840, + 845, + 865, + 870, + 890, + 895, + 914, + 919, + 938, + 943, + 994, + 995, + 997, + 998, + 999, + 1028, + 1029, + 1030, + 1031, + 1032, + 1035, + 1036, + 1039, + 1040, + 1041, + 1042, + 1043, + 1044, + 1045, + 1048, + 1049, + 3313, + 3314, + 3455, + 3456, + 3597, + 3598, + 3739, + 3740, + 3881, + 3882, + 4023, + 4024, + 4025, + 4029, + 4030, + 4031, + 4032, + 4033, + 4034, + 4160, + 4161, + 4162, + 4166, + 4167, + 4168, + 4169, + 4170, + 4171, + 4297, + 4298, + 4299, + 4303, + 4304, + 4305, + 4306, + 4307, + 4308, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4446, + 4447, + 4448, + 4449, + 4450, + 4451, + 4452, + 4453, + 4454, + 4455, + 4456, + 4457, + 4458, + 4459, + 4460, + 4461, + 4462, + 4463, + 4464, + 4465, + 4466, + 4467, + 4468, + 4473, + 4474, + 4475, + 4476, + 4477, + 4478, + 4479, + 4480, + 4481, + 4482, + 4483, + 4484, + 4485, + 4486, + 4487, + 4488, + 4489, + 4490, + 4491, + 4492, + 4493, + 4494, + 4495, + 4496, + 4497, + 4498, + 4499, + 4500 + ], + "peak_after_event": 82, + "zero_noop_counts": { + "add": 123, + "scale": 28 + }, + "retained_events": 4349, + "peak_buffers": [ + 1015, + 1031, + 1152, + 1153, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1188, + 1189, + 1202, + 1204, + 1205, + 1212, + 1213, + 1214, + 1216, + 1217, + 1235, + 1236, + 1247, + 1259, + 1260, + 1261, + 1270, + 1271, + 1276, + 1277, + 1278, + 1279, + 1284, + 1285, + 1286, + 1287, + 1288, + 1289, + 1290, + 1291, + 1292, + 1293, + 1294, + 1295 + ], + "endpoint_sha256": "6f503c1a8c9695ecc717c6573531dcbf61e35dc2ac7fa0246fb3c7d157f38825", + "peak_rows": [ + [ + 1015, + [ + [ + 499, + [], + "1" + ] + ] + ], + [ + 1031, + [ + [ + 511, + [], + "1" + ] + ] + ], + [ + 1152, + [ + [ + 231, + [], + "1" + ] + ] + ], + [ + 1153, + [ + [ + 226, + [], + "1" + ] + ] + ], + [ + 1154, + [ + [ + 230, + [], + "1" + ] + ] + ], + [ + 1155, + [ + [ + 228, + [], + "1" + ] + ] + ], + [ + 1156, + [ + [ + 232, + [], + "1" + ] + ] + ], + [ + 1157, + [ + [ + 7, + [], + "1" + ] + ] + ], + [ + 1158, + [ + [ + 236, + [], + "1" + ] + ] + ], + [ + 1159, + [ + [ + 238, + [], + "1" + ] + ] + ], + [ + 1188, + [ + [ + 231, + [], + "1" + ], + [ + 299, + [], + "1" + ] + ] + ], + [ + 1189, + [ + [ + 54, + [], + "1" + ], + [ + 226, + [], + "1" + ] + ] + ], + [ + 1202, + [ + [ + 499, + [], + "1" + ] + ] + ], + [ + 1204, + [ + [ + 310, + [], + "1" + ] + ] + ], + [ + 1205, + [ + [ + 308, + [], + "1" + ] + ] + ], + [ + 1212, + [ + [ + 230, + [], + "1" + ], + [ + 331, + [], + "1" + ] + ] + ], + [ + 1213, + [ + [ + 34, + [], + "1" + ], + [ + 228, + [], + "1" + ] + ] + ], + [ + 1214, + [ + [ + 511, + [], + "1" + ] + ] + ], + [ + 1216, + [ + [ + 326, + [], + "1" + ] + ] + ], + [ + 1217, + [ + [ + 324, + [], + "1" + ] + ] + ], + [ + 1235, + [ + [ + 351, + [], + "1" + ], + [ + 436, + [], + "1/2" + ] + ] + ], + [ + 1236, + [ + [ + 232, + [], + "-2" + ], + [ + 363, + [], + "1" + ] + ] + ], + [ + 1247, + [ + [ + 46, + [], + "-1" + ], + [ + 367, + [], + "1" + ] + ] + ], + [ + 1259, + [ + [ + 383, + [], + "1" + ], + [ + 434, + [], + "1/2" + ] + ] + ], + [ + 1260, + [ + [ + 236, + [], + "-2" + ], + [ + 395, + [], + "1" + ] + ] + ], + [ + 1261, + [ + [ + 5, + [], + "1" + ], + [ + 238, + [], + "-2" + ] + ] + ], + [ + 1270, + [ + [ + 69, + [], + "1" + ] + ] + ], + [ + 1271, + [ + [ + 399, + [], + "1" + ], + [ + 446, + [], + "-1" + ] + ] + ], + [ + 1276, + [ + [ + 408, + [], + "1" + ] + ] + ], + [ + 1277, + [ + [ + 105, + [], + "1" + ] + ] + ], + [ + 1278, + [ + [ + 412, + [], + "1" + ] + ] + ], + [ + 1279, + [ + [ + 414, + [], + "1" + ] + ] + ], + [ + 1284, + [ + [ + 424, + [], + "1" + ] + ] + ], + [ + 1285, + [ + [ + 44, + [], + "1" + ] + ] + ], + [ + 1286, + [ + [ + 428, + [], + "1" + ] + ] + ], + [ + 1287, + [ + [ + 430, + [], + "1" + ] + ] + ], + [ + 1288, + [ + [ + 439, + [], + "1" + ] + ] + ], + [ + 1289, + [ + [ + 434, + [], + "1" + ] + ] + ], + [ + 1290, + [ + [ + 438, + [], + "1" + ] + ] + ], + [ + 1291, + [ + [ + 436, + [], + "1" + ] + ] + ], + [ + 1292, + [ + [ + 440, + [], + "1" + ] + ] + ], + [ + 1293, + [ + [ + 46, + [], + "1" + ] + ] + ], + [ + 1294, + [ + [ + 444, + [], + "1" + ] + ] + ], + [ + 1295, + [ + [ + 446, + [], + "1" + ] + ] + ] + ], + "peak_distinct_values": 42, + "peak_equal_value_groups": [ + [ + 1015, + 1202 + ], + [ + 1031, + 1214 + ] + ], + "distinct_value_witness": null, + "controls": [ + "overlap_at_clique", + "early_release", + "dirty_pool_entry", + "closing_add_wrong_sign", + "unallocated_zero_read", + "inverse_warp_sign_changes_endpoint" + ] + }, + { + "orientation": "dual", + "events": 4500, + "entry_columns": 661, + "private_buffers": 76, + "pool_slots": 48, + "interval_count": 65, + "intervals": [ + { + "buffer": 1295, + "start": 1, + "end": 14 + }, + { + "buffer": 1293, + "start": 4, + "end": 26 + }, + { + "buffer": 1291, + "start": 7, + "end": 31 + }, + { + "buffer": 1289, + "start": 10, + "end": 23 + }, + { + "buffer": 1271, + "start": 13, + "end": 995 + }, + { + "buffer": 1270, + "start": 16, + "end": 994 + }, + { + "buffer": 1259, + "start": 22, + "end": 997 + }, + { + "buffer": 1247, + "start": 25, + "end": 998 + }, + { + "buffer": 1235, + "start": 30, + "end": 999 + }, + { + "buffer": 1202, + "start": 44, + "end": 73 + }, + { + "buffer": 1157, + "start": 55, + "end": 810 + }, + { + "buffer": 1031, + "start": 69, + "end": 4491 + }, + { + "buffer": 1015, + "start": 72, + "end": 4477 + }, + { + "buffer": 1287, + "start": 630, + "end": 4468 + }, + { + "buffer": 1286, + "start": 631, + "end": 4452 + }, + { + "buffer": 1279, + "start": 632, + "end": 4443 + }, + { + "buffer": 1278, + "start": 633, + "end": 4446 + }, + { + "buffer": 1285, + "start": 638, + "end": 4449 + }, + { + "buffer": 1284, + "start": 639, + "end": 4465 + }, + { + "buffer": 1277, + "start": 640, + "end": 4441 + }, + { + "buffer": 1276, + "start": 641, + "end": 4462 + }, + { + "buffer": 1205, + "start": 682, + "end": 4483 + }, + { + "buffer": 1204, + "start": 683, + "end": 4480 + }, + { + "buffer": 1214, + "start": 685, + "end": 4486 + }, + { + "buffer": 1217, + "start": 690, + "end": 4456 + }, + { + "buffer": 1216, + "start": 691, + "end": 4459 + }, + { + "buffer": 1202, + "start": 693, + "end": 4500 + }, + { + "buffer": 1270, + "start": 1028, + "end": 1029 + }, + { + "buffer": 1270, + "start": 1030, + "end": 1048 + }, + { + "buffer": 1247, + "start": 1031, + "end": 1032 + }, + { + "buffer": 1235, + "start": 1035, + "end": 1036 + }, + { + "buffer": 1271, + "start": 1039, + "end": 1040 + }, + { + "buffer": 1259, + "start": 1043, + "end": 1044 + }, + { + "buffer": 1089, + "start": 1579, + "end": 3322 + }, + { + "buffer": 1091, + "start": 1593, + "end": 3340 + }, + { + "buffer": 1093, + "start": 1604, + "end": 3366 + }, + { + "buffer": 1098, + "start": 1608, + "end": 3422 + }, + { + "buffer": 1073, + "start": 1733, + "end": 3464 + }, + { + "buffer": 1075, + "start": 1747, + "end": 3482 + }, + { + "buffer": 1077, + "start": 1758, + "end": 3508 + }, + { + "buffer": 1082, + "start": 1762, + "end": 3564 + }, + { + "buffer": 1057, + "start": 1887, + "end": 3606 + }, + { + "buffer": 1059, + "start": 1901, + "end": 3624 + }, + { + "buffer": 1061, + "start": 1912, + "end": 3650 + }, + { + "buffer": 1066, + "start": 1916, + "end": 3706 + }, + { + "buffer": 1041, + "start": 2041, + "end": 3748 + }, + { + "buffer": 1043, + "start": 2055, + "end": 3766 + }, + { + "buffer": 1045, + "start": 2066, + "end": 3792 + }, + { + "buffer": 1050, + "start": 2070, + "end": 3848 + }, + { + "buffer": 1025, + "start": 2195, + "end": 3890 + }, + { + "buffer": 1027, + "start": 2209, + "end": 3908 + }, + { + "buffer": 1029, + "start": 2220, + "end": 3934 + }, + { + "buffer": 1034, + "start": 2224, + "end": 3990 + }, + { + "buffer": 1009, + "start": 2349, + "end": 4034 + }, + { + "buffer": 1011, + "start": 2363, + "end": 4052 + }, + { + "buffer": 1013, + "start": 2374, + "end": 4078 + }, + { + "buffer": 1018, + "start": 2378, + "end": 4133 + }, + { + "buffer": 993, + "start": 2503, + "end": 4171 + }, + { + "buffer": 995, + "start": 2517, + "end": 4189 + }, + { + "buffer": 997, + "start": 2528, + "end": 4215 + }, + { + "buffer": 1002, + "start": 2532, + "end": 4270 + }, + { + "buffer": 977, + "start": 2657, + "end": 4308 + }, + { + "buffer": 979, + "start": 2671, + "end": 4326 + }, + { + "buffer": 981, + "start": 2682, + "end": 4352 + }, + { + "buffer": 986, + "start": 2686, + "end": 4407 + } + ], + "static_plan": [ + { + "buffer": 1295, + "start": 1, + "end": 14, + "slot": 0 + }, + { + "buffer": 1293, + "start": 4, + "end": 26, + "slot": 1 + }, + { + "buffer": 1291, + "start": 7, + "end": 31, + "slot": 2 + }, + { + "buffer": 1289, + "start": 10, + "end": 23, + "slot": 3 + }, + { + "buffer": 1271, + "start": 13, + "end": 1040, + "slot": 4 + }, + { + "buffer": 1270, + "start": 16, + "end": 1048, + "slot": 0 + }, + { + "buffer": 1259, + "start": 22, + "end": 1044, + "slot": 5 + }, + { + "buffer": 1247, + "start": 25, + "end": 1032, + "slot": 3 + }, + { + "buffer": 1235, + "start": 30, + "end": 1036, + "slot": 1 + }, + { + "buffer": 1202, + "start": 44, + "end": 4500, + "slot": 2 + }, + { + "buffer": 1157, + "start": 55, + "end": 810, + "slot": 6 + }, + { + "buffer": 1031, + "start": 69, + "end": 4491, + "slot": 7 + }, + { + "buffer": 1015, + "start": 72, + "end": 4477, + "slot": 8 + }, + { + "buffer": 1287, + "start": 630, + "end": 4468, + "slot": 9 + }, + { + "buffer": 1286, + "start": 631, + "end": 4452, + "slot": 10 + }, + { + "buffer": 1279, + "start": 632, + "end": 4443, + "slot": 11 + }, + { + "buffer": 1278, + "start": 633, + "end": 4446, + "slot": 12 + }, + { + "buffer": 1285, + "start": 638, + "end": 4449, + "slot": 13 + }, + { + "buffer": 1284, + "start": 639, + "end": 4465, + "slot": 14 + }, + { + "buffer": 1277, + "start": 640, + "end": 4441, + "slot": 15 + }, + { + "buffer": 1276, + "start": 641, + "end": 4462, + "slot": 16 + }, + { + "buffer": 1205, + "start": 682, + "end": 4483, + "slot": 17 + }, + { + "buffer": 1204, + "start": 683, + "end": 4480, + "slot": 18 + }, + { + "buffer": 1214, + "start": 685, + "end": 4486, + "slot": 19 + }, + { + "buffer": 1217, + "start": 690, + "end": 4456, + "slot": 20 + }, + { + "buffer": 1216, + "start": 691, + "end": 4459, + "slot": 21 + }, + { + "buffer": 1089, + "start": 1579, + "end": 3322, + "slot": 0 + }, + { + "buffer": 1091, + "start": 1593, + "end": 3340, + "slot": 1 + }, + { + "buffer": 1093, + "start": 1604, + "end": 3366, + "slot": 3 + }, + { + "buffer": 1098, + "start": 1608, + "end": 3422, + "slot": 4 + }, + { + "buffer": 1073, + "start": 1733, + "end": 3464, + "slot": 5 + }, + { + "buffer": 1075, + "start": 1747, + "end": 3482, + "slot": 6 + }, + { + "buffer": 1077, + "start": 1758, + "end": 3508, + "slot": 22 + }, + { + "buffer": 1082, + "start": 1762, + "end": 3564, + "slot": 23 + }, + { + "buffer": 1057, + "start": 1887, + "end": 3606, + "slot": 24 + }, + { + "buffer": 1059, + "start": 1901, + "end": 3624, + "slot": 25 + }, + { + "buffer": 1061, + "start": 1912, + "end": 3650, + "slot": 26 + }, + { + "buffer": 1066, + "start": 1916, + "end": 3706, + "slot": 27 + }, + { + "buffer": 1041, + "start": 2041, + "end": 3748, + "slot": 28 + }, + { + "buffer": 1043, + "start": 2055, + "end": 3766, + "slot": 29 + }, + { + "buffer": 1045, + "start": 2066, + "end": 3792, + "slot": 30 + }, + { + "buffer": 1050, + "start": 2070, + "end": 3848, + "slot": 31 + }, + { + "buffer": 1025, + "start": 2195, + "end": 3890, + "slot": 32 + }, + { + "buffer": 1027, + "start": 2209, + "end": 3908, + "slot": 33 + }, + { + "buffer": 1029, + "start": 2220, + "end": 3934, + "slot": 34 + }, + { + "buffer": 1034, + "start": 2224, + "end": 3990, + "slot": 35 + }, + { + "buffer": 1009, + "start": 2349, + "end": 4034, + "slot": 36 + }, + { + "buffer": 1011, + "start": 2363, + "end": 4052, + "slot": 37 + }, + { + "buffer": 1013, + "start": 2374, + "end": 4078, + "slot": 38 + }, + { + "buffer": 1018, + "start": 2378, + "end": 4133, + "slot": 39 + }, + { + "buffer": 993, + "start": 2503, + "end": 4171, + "slot": 40 + }, + { + "buffer": 995, + "start": 2517, + "end": 4189, + "slot": 41 + }, + { + "buffer": 997, + "start": 2528, + "end": 4215, + "slot": 42 + }, + { + "buffer": 1002, + "start": 2532, + "end": 4270, + "slot": 43 + }, + { + "buffer": 977, + "start": 2657, + "end": 4308, + "slot": 44 + }, + { + "buffer": 979, + "start": 2671, + "end": 4326, + "slot": 45 + }, + { + "buffer": 981, + "start": 2682, + "end": 4352, + "slot": 46 + }, + { + "buffer": 986, + "start": 2686, + "end": 4407, + "slot": 47 + } + ], + "allocated_logical_buffers": 58, + "zero_noop_events": [ + 3, + 6, + 9, + 12, + 18, + 19, + 20, + 21, + 28, + 29, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 43, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 68, + 71, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 721, + 722, + 723, + 725, + 726, + 727, + 729, + 730, + 731, + 733, + 734, + 735, + 762, + 763, + 764, + 765, + 766, + 768, + 769, + 771, + 773, + 774, + 790, + 792, + 793, + 795, + 797, + 798, + 812, + 813, + 814, + 816, + 817, + 819, + 821, + 822, + 838, + 840, + 841, + 843, + 845, + 846, + 859, + 860, + 861, + 862, + 863, + 865, + 866, + 868, + 870, + 871, + 888, + 890, + 891, + 893, + 895, + 896, + 908, + 909, + 910, + 911, + 912, + 914, + 915, + 917, + 919, + 920, + 936, + 938, + 939, + 941, + 943, + 944, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 1045, + 1046, + 1047, + 1049, + 1563, + 1564, + 1571, + 1572, + 1575, + 1576, + 1578, + 1581, + 1590, + 1591, + 1592, + 1598, + 1599, + 1600, + 1601, + 1602, + 1603, + 1607, + 1717, + 1718, + 1725, + 1726, + 1729, + 1730, + 1732, + 1735, + 1744, + 1745, + 1746, + 1752, + 1753, + 1754, + 1755, + 1756, + 1757, + 1761, + 1871, + 1872, + 1879, + 1880, + 1883, + 1884, + 1886, + 1889, + 1898, + 1899, + 1900, + 1906, + 1907, + 1908, + 1909, + 1910, + 1911, + 1915, + 2025, + 2026, + 2033, + 2034, + 2037, + 2038, + 2040, + 2043, + 2052, + 2053, + 2054, + 2060, + 2061, + 2062, + 2063, + 2064, + 2065, + 2069, + 2179, + 2180, + 2187, + 2188, + 2191, + 2192, + 2194, + 2197, + 2206, + 2207, + 2208, + 2214, + 2215, + 2216, + 2217, + 2218, + 2219, + 2223, + 2333, + 2334, + 2341, + 2342, + 2345, + 2346, + 2348, + 2351, + 2360, + 2361, + 2362, + 2368, + 2369, + 2370, + 2371, + 2372, + 2373, + 2377, + 2487, + 2488, + 2495, + 2496, + 2499, + 2500, + 2502, + 2505, + 2514, + 2515, + 2516, + 2522, + 2523, + 2524, + 2525, + 2526, + 2527, + 2531, + 2641, + 2642, + 2649, + 2650, + 2653, + 2654, + 2656, + 2659, + 2668, + 2669, + 2670, + 2676, + 2677, + 2678, + 2679, + 2680, + 2681, + 2685, + 3333, + 3347, + 3349, + 3376, + 3385, + 3399, + 3401, + 3403, + 3416, + 3417, + 3418, + 3425, + 3427, + 3429, + 3431, + 3441, + 3445, + 3475, + 3489, + 3491, + 3518, + 3527, + 3541, + 3543, + 3545, + 3558, + 3559, + 3560, + 3567, + 3569, + 3571, + 3573, + 3583, + 3587, + 3617, + 3631, + 3633, + 3660, + 3669, + 3683, + 3685, + 3687, + 3700, + 3701, + 3702, + 3709, + 3711, + 3713, + 3715, + 3725, + 3729, + 3759, + 3773, + 3775, + 3802, + 3811, + 3825, + 3827, + 3829, + 3842, + 3843, + 3844, + 3851, + 3853, + 3855, + 3857, + 3867, + 3871, + 3901, + 3915, + 3917, + 3944, + 3953, + 3967, + 3969, + 3971, + 3984, + 3985, + 3986, + 3993, + 3995, + 3997, + 3999, + 4009, + 4013, + 4045, + 4059, + 4061, + 4088, + 4096, + 4110, + 4112, + 4114, + 4127, + 4128, + 4129, + 4138, + 4146, + 4150, + 4182, + 4196, + 4198, + 4225, + 4233, + 4247, + 4249, + 4251, + 4264, + 4265, + 4266, + 4275, + 4283, + 4287, + 4319, + 4333, + 4335, + 4362, + 4370, + 4384, + 4386, + 4388, + 4401, + 4402, + 4403, + 4412, + 4420, + 4424, + 4438, + 4439, + 4497 + ], + "peak_after_event": 2686, + "zero_noop_counts": { + "add": 361, + "scale": 48 + }, + "retained_events": 4091, + "peak_buffers": [ + 977, + 979, + 981, + 986, + 993, + 995, + 997, + 1002, + 1009, + 1011, + 1013, + 1015, + 1018, + 1025, + 1027, + 1029, + 1031, + 1034, + 1041, + 1043, + 1045, + 1050, + 1057, + 1059, + 1061, + 1066, + 1073, + 1075, + 1077, + 1082, + 1089, + 1091, + 1093, + 1098, + 1202, + 1204, + 1205, + 1214, + 1216, + 1217, + 1276, + 1277, + 1278, + 1279, + 1284, + 1285, + 1286, + 1287 + ], + "endpoint_sha256": "7a9580e5d6080400a9c419132326da2d179b91e60213dba7a662093709469fca", + "peak_rows": [ + [ + 977, + [ + [ + 9, + [], + "1" + ], + [ + 11, + [], + "1" + ], + [ + 17, + [], + "-1" + ], + [ + 77, + [], + "1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 103, + [], + "1" + ], + [ + 272, + [], + "1" + ] + ] + ], + [ + 979, + [ + [ + 9, + [], + "-1" + ], + [ + 11, + [], + "1" + ], + [ + 17, + [], + "-1" + ], + [ + 77, + [], + "1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 103, + [], + "1" + ], + [ + 272, + [], + "-1" + ] + ] + ], + [ + 981, + [ + [ + 9, + [], + "1" + ], + [ + 11, + [], + "-1" + ], + [ + 17, + [], + "-1" + ], + [ + 77, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 103, + [], + "1" + ], + [ + 272, + [], + "1" + ] + ] + ], + [ + 986, + [ + [ + 9, + [], + "-1" + ], + [ + 11, + [], + "-1" + ], + [ + 17, + [], + "1" + ], + [ + 77, + [], + "-1" + ], + [ + 81, + [], + "1" + ], + [ + 92, + [], + "-1" + ], + [ + 103, + [], + "-1" + ], + [ + 272, + [], + "-1" + ] + ] + ], + [ + 993, + [ + [ + 18, + [], + "1" + ], + [ + 19, + [], + "-1/4" + ], + [ + 39, + [], + "-1" + ], + [ + 40, + [], + "-1" + ], + [ + 66, + [], + "1/4" + ], + [ + 79, + [], + "-1/2" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 285, + [], + "-1/2" + ], + [ + 288, + [], + "1" + ], + [ + 292, + [], + "1" + ], + [ + 317, + [], + "-1/4" + ], + [ + 356, + [], + "-1/2" + ], + [ + 410, + [], + "1" + ], + [ + 467, + [], + "1" + ], + [ + 489, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 612, + [], + "-1/2" + ], + [ + 635, + [], + "1" + ], + [ + 636, + [], + "1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 995, + [ + [ + 18, + [], + "2" + ], + [ + 19, + [], + "-1/4" + ], + [ + 39, + [], + "2" + ], + [ + 79, + [], + "-1/2" + ], + [ + 92, + [], + "2" + ], + [ + 240, + [], + "2" + ], + [ + 285, + [], + "-1/2" + ], + [ + 294, + [], + "1" + ], + [ + 317, + [], + "-1/4" + ], + [ + 358, + [], + "-1/2" + ], + [ + 376, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 466, + [], + "1" + ], + [ + 488, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 610, + [], + "1" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 997, + [ + [ + 10, + [], + "-1/2" + ], + [ + 18, + [], + "1" + ], + [ + 39, + [], + "-1" + ], + [ + 40, + [], + "1" + ], + [ + 81, + [], + "1" + ], + [ + 92, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 261, + [], + "1/4" + ], + [ + 288, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 302, + [], + "-1/4" + ], + [ + 343, + [], + "-1/2" + ], + [ + 380, + [], + "1/4" + ], + [ + 397, + [], + "-1/2" + ], + [ + 403, + [], + "-1/2" + ], + [ + 442, + [], + "-1/4" + ], + [ + 458, + [], + "1" + ], + [ + 486, + [], + "1" + ], + [ + 493, + [], + "-1/2" + ], + [ + 517, + [], + "1/4" + ], + [ + 602, + [], + "1" + ], + [ + 640, + [], + "1" + ], + [ + 648, + [], + "-1/2" + ], + [ + 692, + [], + "1/4" + ] + ] + ], + [ + 1002, + [ + [ + 18, + [], + "-1" + ], + [ + 39, + [], + "1" + ], + [ + 40, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 92, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 240, + [], + "1" + ], + [ + 256, + [], + "1" + ], + [ + 264, + [], + "1/2" + ], + [ + 288, + [], + "1" + ], + [ + 294, + [], + "1" + ], + [ + 296, + [], + "1/4" + ], + [ + 333, + [], + "1/2" + ], + [ + 358, + [], + "-1/2" + ], + [ + 376, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 466, + [], + "1" + ], + [ + 488, + [], + "1" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "-1/4" + ], + [ + 610, + [], + "1" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "1/4" + ], + [ + 660, + [], + "1/4" + ], + [ + 682, + [], + "1/2" + ] + ] + ], + [ + 1009, + [ + [ + 11, + [], + "-1" + ], + [ + 24, + [], + "-1/4" + ], + [ + 35, + [], + "-1" + ], + [ + 45, + [], + "1" + ], + [ + 60, + [], + "1/4" + ], + [ + 92, + [], + "1" + ], + [ + 107, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 256, + [], + "1" + ], + [ + 260, + [], + "1" + ], + [ + 292, + [], + "1" + ], + [ + 304, + [], + "1" + ], + [ + 308, + [], + "1" + ], + [ + 356, + [], + "-1/2" + ], + [ + 410, + [], + "1" + ], + [ + 426, + [], + "1" + ], + [ + 469, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 612, + [], + "-1/2" + ], + [ + 628, + [], + "1/4" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "-1/4" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1011, + [ + [ + 11, + [], + "2" + ], + [ + 24, + [], + "-1/4" + ], + [ + 35, + [], + "2" + ], + [ + 45, + [], + "2" + ], + [ + 92, + [], + "2" + ], + [ + 225, + [], + "-1/4" + ], + [ + 262, + [], + "1" + ], + [ + 294, + [], + "1" + ], + [ + 310, + [], + "1" + ], + [ + 358, + [], + "-1/2" + ], + [ + 360, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 433, + [], + "1/4" + ], + [ + 469, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 610, + [], + "1" + ], + [ + 626, + [], + "1" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "-1/4" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1013, + [ + [ + 11, + [], + "-1" + ], + [ + 35, + [], + "-1" + ], + [ + 45, + [], + "1" + ], + [ + 92, + [], + "1" + ], + [ + 107, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 227, + [], + "-1/4" + ], + [ + 247, + [], + "1" + ], + [ + 256, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 304, + [], + "1" + ], + [ + 318, + [], + "-1/4" + ], + [ + 345, + [], + "-1/4" + ], + [ + 359, + [], + "-1/2" + ], + [ + 364, + [], + "1/4" + ], + [ + 405, + [], + "-1/2" + ], + [ + 463, + [], + "-1/2" + ], + [ + 481, + [], + "-1/2" + ], + [ + 499, + [], + "1" + ], + [ + 505, + [], + "-1/4" + ], + [ + 600, + [], + "1" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "1/4" + ], + [ + 672, + [], + "-1/2" + ], + [ + 688, + [], + "-1/2" + ] + ] + ], + [ + 1015, + [ + [ + 229, + [], + "-1/4" + ], + [ + 247, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 316, + [], + "-1/4" + ], + [ + 359, + [], + "-1/2" + ], + [ + 364, + [], + "1/4" + ], + [ + 381, + [], + "-1/4" + ], + [ + 405, + [], + "-1/2" + ], + [ + 462, + [], + "-1/2" + ], + [ + 480, + [], + "-1/2" + ], + [ + 499, + [], + "1" + ], + [ + 504, + [], + "-1/4" + ], + [ + 600, + [], + "1" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "1/4" + ], + [ + 673, + [], + "-1/2" + ], + [ + 689, + [], + "-1/2" + ] + ] + ], + [ + 1018, + [ + [ + 11, + [], + "1" + ], + [ + 35, + [], + "1" + ], + [ + 45, + [], + "-1" + ], + [ + 92, + [], + "-1" + ], + [ + 107, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 262, + [], + "1" + ], + [ + 285, + [], + "1/2" + ], + [ + 294, + [], + "1" + ], + [ + 304, + [], + "1" + ], + [ + 310, + [], + "1" + ], + [ + 312, + [], + "1/4" + ], + [ + 358, + [], + "-1/2" + ], + [ + 360, + [], + "1/4" + ], + [ + 417, + [], + "-1/2" + ], + [ + 433, + [], + "1/4" + ], + [ + 468, + [], + "1/2" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "1/4" + ], + [ + 610, + [], + "1" + ], + [ + 626, + [], + "1" + ], + [ + 667, + [], + "1/2" + ], + [ + 668, + [], + "1/4" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1025, + [ + [ + 9, + [], + "1" + ], + [ + 22, + [], + "-1" + ], + [ + 23, + [], + "-1" + ], + [ + 28, + [], + "1/4" + ], + [ + 92, + [], + "1" + ], + [ + 108, + [], + "1" + ], + [ + 109, + [], + "-1/4" + ], + [ + 224, + [], + "-1" + ], + [ + 234, + [], + "-1/4" + ], + [ + 240, + [], + "-1" + ], + [ + 258, + [], + "1" + ], + [ + 276, + [], + "1" + ], + [ + 320, + [], + "1" + ], + [ + 324, + [], + "1" + ], + [ + 340, + [], + "-1/2" + ], + [ + 393, + [], + "-1/4" + ], + [ + 419, + [], + "-1/2" + ], + [ + 471, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 609, + [], + "1" + ], + [ + 619, + [], + "1" + ], + [ + 620, + [], + "1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1027, + [ + [ + 23, + [], + "2" + ], + [ + 92, + [], + "2" + ], + [ + 108, + [], + "2" + ], + [ + 109, + [], + "-1/4" + ], + [ + 234, + [], + "-1/4" + ], + [ + 240, + [], + "2" + ], + [ + 263, + [], + "1" + ], + [ + 278, + [], + "1" + ], + [ + 326, + [], + "1" + ], + [ + 342, + [], + "-1/2" + ], + [ + 344, + [], + "1/4" + ], + [ + 393, + [], + "-1/4" + ], + [ + 421, + [], + "-1/2" + ], + [ + 471, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 608, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1029, + [ + [ + 9, + [], + "1" + ], + [ + 22, + [], + "1" + ], + [ + 23, + [], + "-1" + ], + [ + 92, + [], + "1" + ], + [ + 108, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 246, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 320, + [], + "1" + ], + [ + 334, + [], + "-1/4" + ], + [ + 343, + [], + "-1/2" + ], + [ + 348, + [], + "1/4" + ], + [ + 377, + [], + "-1/4" + ], + [ + 403, + [], + "-1/2" + ], + [ + 437, + [], + "1/4" + ], + [ + 461, + [], + "-1/2" + ], + [ + 493, + [], + "-1/2" + ], + [ + 511, + [], + "1" + ], + [ + 517, + [], + "-1/4" + ], + [ + 602, + [], + "1" + ], + [ + 624, + [], + "1" + ], + [ + 664, + [], + "-1/2" + ], + [ + 671, + [], + "-1/4" + ], + [ + 690, + [], + "-1/2" + ] + ] + ], + [ + 1031, + [ + [ + 246, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 332, + [], + "-1/4" + ], + [ + 343, + [], + "-1/2" + ], + [ + 348, + [], + "1/4" + ], + [ + 397, + [], + "-1/2" + ], + [ + 403, + [], + "-1/2" + ], + [ + 437, + [], + "1/4" + ], + [ + 460, + [], + "-1/2" + ], + [ + 492, + [], + "-1/2" + ], + [ + 511, + [], + "1" + ], + [ + 516, + [], + "-1/4" + ], + [ + 602, + [], + "1" + ], + [ + 624, + [], + "1" + ], + [ + 665, + [], + "-1/2" + ], + [ + 670, + [], + "-1/4" + ], + [ + 692, + [], + "-1/4" + ] + ] + ], + [ + 1034, + [ + [ + 9, + [], + "1" + ], + [ + 22, + [], + "-1" + ], + [ + 23, + [], + "1" + ], + [ + 92, + [], + "-1" + ], + [ + 108, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 240, + [], + "1" + ], + [ + 241, + [], + "1/2" + ], + [ + 263, + [], + "1" + ], + [ + 278, + [], + "1" + ], + [ + 281, + [], + "1/4" + ], + [ + 320, + [], + "1" + ], + [ + 326, + [], + "1" + ], + [ + 328, + [], + "1/4" + ], + [ + 342, + [], + "-1/2" + ], + [ + 344, + [], + "1/4" + ], + [ + 421, + [], + "-1/2" + ], + [ + 470, + [], + "1/2" + ], + [ + 478, + [], + "1/2" + ], + [ + 514, + [], + "1/4" + ], + [ + 608, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "1/4" + ], + [ + 676, + [], + "1/4" + ], + [ + 681, + [], + "1/2" + ] + ] + ], + [ + 1041, + [ + [ + 11, + [], + "-1" + ], + [ + 28, + [], + "-1/4" + ], + [ + 57, + [], + "1" + ], + [ + 58, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 86, + [], + "-1" + ], + [ + 93, + [], + "1" + ], + [ + 109, + [], + "1/4" + ], + [ + 241, + [], + "-1/2" + ], + [ + 256, + [], + "1" + ], + [ + 258, + [], + "1" + ], + [ + 276, + [], + "1" + ], + [ + 281, + [], + "1/4" + ], + [ + 336, + [], + "1" + ], + [ + 340, + [], + "1/2" + ], + [ + 421, + [], + "1/2" + ], + [ + 471, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "1/4" + ], + [ + 525, + [], + "1" + ], + [ + 527, + [], + "-1/2" + ], + [ + 608, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "-1/4" + ], + [ + 676, + [], + "1/4" + ], + [ + 681, + [], + "-1/2" + ] + ] + ], + [ + 1043, + [ + [ + 11, + [], + "2" + ], + [ + 28, + [], + "-1/4" + ], + [ + 57, + [], + "2" + ], + [ + 86, + [], + "2" + ], + [ + 93, + [], + "2" + ], + [ + 234, + [], + "1/4" + ], + [ + 258, + [], + "1" + ], + [ + 278, + [], + "1" + ], + [ + 281, + [], + "1/4" + ], + [ + 328, + [], + "1/4" + ], + [ + 342, + [], + "1/2" + ], + [ + 419, + [], + "1/2" + ], + [ + 470, + [], + "-1/2" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "1/4" + ], + [ + 524, + [], + "1" + ], + [ + 527, + [], + "-1/2" + ], + [ + 609, + [], + "1" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "-1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 681, + [], + "-1/2" + ] + ] + ], + [ + 1045, + [ + [ + 11, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 58, + [], + "1" + ], + [ + 81, + [], + "1" + ], + [ + 86, + [], + "-1" + ], + [ + 93, + [], + "1" + ], + [ + 244, + [], + "1" + ], + [ + 256, + [], + "1" + ], + [ + 295, + [], + "1" + ], + [ + 332, + [], + "1/4" + ], + [ + 336, + [], + "1" + ], + [ + 343, + [], + "1/2" + ], + [ + 350, + [], + "-1/4" + ], + [ + 397, + [], + "-1/2" + ], + [ + 401, + [], + "1" + ], + [ + 437, + [], + "-1/4" + ], + [ + 460, + [], + "-1/2" + ], + [ + 493, + [], + "-1/2" + ], + [ + 517, + [], + "1/4" + ], + [ + 522, + [], + "1" + ], + [ + 529, + [], + "-1/2" + ], + [ + 604, + [], + "1/2" + ], + [ + 624, + [], + "1" + ], + [ + 664, + [], + "-1/2" + ], + [ + 671, + [], + "1/4" + ], + [ + 692, + [], + "1/4" + ] + ] + ], + [ + 1050, + [ + [ + 11, + [], + "1" + ], + [ + 57, + [], + "-1" + ], + [ + 58, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 86, + [], + "1" + ], + [ + 93, + [], + "-1" + ], + [ + 234, + [], + "1/4" + ], + [ + 256, + [], + "1" + ], + [ + 263, + [], + "-1" + ], + [ + 278, + [], + "1" + ], + [ + 328, + [], + "1/4" + ], + [ + 336, + [], + "1" + ], + [ + 342, + [], + "1/2" + ], + [ + 344, + [], + "1/4" + ], + [ + 393, + [], + "-1/4" + ], + [ + 419, + [], + "1/2" + ], + [ + 470, + [], + "-1/2" + ], + [ + 478, + [], + "1/2" + ], + [ + 514, + [], + "-1/4" + ], + [ + 524, + [], + "1" + ], + [ + 526, + [], + "1/2" + ], + [ + 609, + [], + "1" + ], + [ + 619, + [], + "-1" + ], + [ + 620, + [], + "1/4" + ], + [ + 674, + [], + "-1/2" + ], + [ + 680, + [], + "1/2" + ] + ] + ], + [ + 1057, + [ + [ + 9, + [], + "1" + ], + [ + 24, + [], + "1/4" + ], + [ + 29, + [], + "-1" + ], + [ + 30, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 59, + [], + "1" + ], + [ + 60, + [], + "-1/4" + ], + [ + 81, + [], + "-1" + ], + [ + 240, + [], + "-1" + ], + [ + 260, + [], + "1" + ], + [ + 285, + [], + "-1/2" + ], + [ + 292, + [], + "1" + ], + [ + 352, + [], + "1" + ], + [ + 356, + [], + "1/2" + ], + [ + 417, + [], + "1/2" + ], + [ + 433, + [], + "-1/4" + ], + [ + 469, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 537, + [], + "1" + ], + [ + 539, + [], + "-1/2" + ], + [ + 610, + [], + "1" + ], + [ + 626, + [], + "1" + ], + [ + 667, + [], + "-1/2" + ], + [ + 668, + [], + "1/4" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1059, + [ + [ + 29, + [], + "2" + ], + [ + 57, + [], + "2" + ], + [ + 59, + [], + "2" + ], + [ + 60, + [], + "-1/4" + ], + [ + 240, + [], + "2" + ], + [ + 260, + [], + "1" + ], + [ + 285, + [], + "-1/2" + ], + [ + 294, + [], + "1" + ], + [ + 312, + [], + "1/4" + ], + [ + 358, + [], + "1/2" + ], + [ + 410, + [], + "1" + ], + [ + 433, + [], + "-1/4" + ], + [ + 468, + [], + "-1/2" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "1/4" + ], + [ + 536, + [], + "1" + ], + [ + 539, + [], + "-1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 626, + [], + "1" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "1/4" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1061, + [ + [ + 9, + [], + "1" + ], + [ + 29, + [], + "-1" + ], + [ + 30, + [], + "1" + ], + [ + 57, + [], + "1" + ], + [ + 59, + [], + "1" + ], + [ + 81, + [], + "1" + ], + [ + 227, + [], + "1/4" + ], + [ + 240, + [], + "-1" + ], + [ + 242, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 316, + [], + "1/4" + ], + [ + 352, + [], + "1" + ], + [ + 359, + [], + "1/2" + ], + [ + 366, + [], + "-1/4" + ], + [ + 381, + [], + "1/4" + ], + [ + 462, + [], + "-1/2" + ], + [ + 481, + [], + "-1/2" + ], + [ + 505, + [], + "1/4" + ], + [ + 534, + [], + "1" + ], + [ + 541, + [], + "-1/2" + ], + [ + 601, + [], + "1" + ], + [ + 606, + [], + "1/2" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "-1/4" + ], + [ + 672, + [], + "-1/2" + ], + [ + 689, + [], + "-1/2" + ] + ] + ], + [ + 1066, + [ + [ + 9, + [], + "1" + ], + [ + 29, + [], + "1" + ], + [ + 30, + [], + "-1" + ], + [ + 57, + [], + "-1" + ], + [ + 59, + [], + "-1" + ], + [ + 81, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 240, + [], + "1" + ], + [ + 262, + [], + "-1" + ], + [ + 294, + [], + "1" + ], + [ + 312, + [], + "1/4" + ], + [ + 352, + [], + "1" + ], + [ + 358, + [], + "1/2" + ], + [ + 360, + [], + "1/4" + ], + [ + 410, + [], + "1" + ], + [ + 426, + [], + "-1" + ], + [ + 468, + [], + "-1/2" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "-1/4" + ], + [ + 536, + [], + "1" + ], + [ + 538, + [], + "1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 628, + [], + "1/4" + ], + [ + 666, + [], + "-1/2" + ], + [ + 669, + [], + "1/4" + ], + [ + 682, + [], + "1/2" + ] + ] + ], + [ + 1073, + [ + [ + 8, + [], + "1" + ], + [ + 9, + [], + "1" + ], + [ + 11, + [], + "-1" + ], + [ + 19, + [], + "1/4" + ], + [ + 26, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 66, + [], + "-1/4" + ], + [ + 79, + [], + "-1/2" + ], + [ + 95, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 225, + [], + "-1/4" + ], + [ + 292, + [], + "1" + ], + [ + 333, + [], + "-1/2" + ], + [ + 356, + [], + "1/2" + ], + [ + 368, + [], + "1" + ], + [ + 372, + [], + "1" + ], + [ + 417, + [], + "1/2" + ], + [ + 467, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 549, + [], + "1" + ], + [ + 551, + [], + "-1/2" + ], + [ + 610, + [], + "1" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "-1/4" + ], + [ + 660, + [], + "1/4" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1075, + [ + [ + 8, + [], + "2" + ], + [ + 11, + [], + "2" + ], + [ + 26, + [], + "2" + ], + [ + 57, + [], + "2" + ], + [ + 66, + [], + "-1/4" + ], + [ + 225, + [], + "-1/4" + ], + [ + 264, + [], + "-1/2" + ], + [ + 294, + [], + "1" + ], + [ + 296, + [], + "1/4" + ], + [ + 317, + [], + "1/4" + ], + [ + 358, + [], + "1/2" + ], + [ + 374, + [], + "1" + ], + [ + 410, + [], + "1" + ], + [ + 467, + [], + "1" + ], + [ + 491, + [], + "-1/2" + ], + [ + 503, + [], + "-1/4" + ], + [ + 548, + [], + "1" + ], + [ + 551, + [], + "-1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 634, + [], + "1" + ], + [ + 637, + [], + "-1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 682, + [], + "-1/2" + ] + ] + ], + [ + 1077, + [ + [ + 8, + [], + "1" + ], + [ + 9, + [], + "1" + ], + [ + 11, + [], + "-1" + ], + [ + 26, + [], + "-1" + ], + [ + 57, + [], + "1" + ], + [ + 95, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 248, + [], + "-1/2" + ], + [ + 261, + [], + "-1/4" + ], + [ + 295, + [], + "1" + ], + [ + 300, + [], + "1/4" + ], + [ + 343, + [], + "1/2" + ], + [ + 368, + [], + "1" + ], + [ + 375, + [], + "1" + ], + [ + 377, + [], + "-1/4" + ], + [ + 382, + [], + "-1/4" + ], + [ + 401, + [], + "1" + ], + [ + 442, + [], + "1/4" + ], + [ + 459, + [], + "1" + ], + [ + 493, + [], + "-1/2" + ], + [ + 517, + [], + "-1/4" + ], + [ + 546, + [], + "1" + ], + [ + 553, + [], + "-1/2" + ], + [ + 604, + [], + "1/2" + ], + [ + 640, + [], + "1" + ], + [ + 648, + [], + "-1/2" + ], + [ + 690, + [], + "-1/2" + ] + ] + ], + [ + 1082, + [ + [ + 8, + [], + "-1" + ], + [ + 9, + [], + "1" + ], + [ + 11, + [], + "1" + ], + [ + 26, + [], + "1" + ], + [ + 57, + [], + "-1" + ], + [ + 95, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 264, + [], + "-1/2" + ], + [ + 285, + [], + "1/2" + ], + [ + 294, + [], + "1" + ], + [ + 296, + [], + "1/4" + ], + [ + 317, + [], + "1/4" + ], + [ + 358, + [], + "1/2" + ], + [ + 368, + [], + "1" + ], + [ + 374, + [], + "1" + ], + [ + 376, + [], + "1/4" + ], + [ + 410, + [], + "1" + ], + [ + 466, + [], + "-1" + ], + [ + 490, + [], + "1/2" + ], + [ + 502, + [], + "1/4" + ], + [ + 548, + [], + "1" + ], + [ + 550, + [], + "1/2" + ], + [ + 612, + [], + "1/2" + ], + [ + 635, + [], + "-1" + ], + [ + 636, + [], + "1/4" + ], + [ + 658, + [], + "-1/2" + ], + [ + 684, + [], + "1/4" + ] + ] + ], + [ + 1089, + [ + [ + 38, + [], + "1/4" + ], + [ + 57, + [], + "1" + ], + [ + 64, + [], + "-1" + ], + [ + 65, + [], + "-1" + ], + [ + 96, + [], + "1" + ], + [ + 97, + [], + "-1/4" + ], + [ + 224, + [], + "-1" + ], + [ + 240, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 266, + [], + "-1/4" + ], + [ + 270, + [], + "-1/2" + ], + [ + 276, + [], + "1" + ], + [ + 340, + [], + "1/2" + ], + [ + 384, + [], + "1" + ], + [ + 388, + [], + "1" + ], + [ + 393, + [], + "-1/4" + ], + [ + 421, + [], + "1/2" + ], + [ + 465, + [], + "1" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 554, + [], + "-1/2" + ], + [ + 561, + [], + "1" + ], + [ + 563, + [], + "-1/2" + ], + [ + 608, + [], + "1" + ], + [ + 642, + [], + "1" + ], + [ + 652, + [], + "1/4" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1091, + [ + [ + 57, + [], + "2" + ], + [ + 65, + [], + "2" + ], + [ + 73, + [], + "1/4" + ], + [ + 96, + [], + "2" + ], + [ + 97, + [], + "-1/4" + ], + [ + 240, + [], + "2" + ], + [ + 266, + [], + "-1/4" + ], + [ + 268, + [], + "-1/2" + ], + [ + 278, + [], + "1" + ], + [ + 280, + [], + "1/4" + ], + [ + 342, + [], + "1/2" + ], + [ + 390, + [], + "1" + ], + [ + 393, + [], + "-1/4" + ], + [ + 419, + [], + "1/2" + ], + [ + 465, + [], + "1" + ], + [ + 479, + [], + "-1/2" + ], + [ + 515, + [], + "-1/4" + ], + [ + 560, + [], + "1" + ], + [ + 563, + [], + "-1/2" + ], + [ + 609, + [], + "1" + ], + [ + 642, + [], + "1" + ], + [ + 650, + [], + "-1/2" + ], + [ + 680, + [], + "-1/2" + ] + ] + ], + [ + 1093, + [ + [ + 57, + [], + "1" + ], + [ + 64, + [], + "1" + ], + [ + 65, + [], + "-1" + ], + [ + 96, + [], + "1" + ], + [ + 224, + [], + "1" + ], + [ + 240, + [], + "-1" + ], + [ + 245, + [], + "1/4" + ], + [ + 252, + [], + "-1/2" + ], + [ + 256, + [], + "1" + ], + [ + 279, + [], + "1" + ], + [ + 284, + [], + "1/4" + ], + [ + 345, + [], + "-1/4" + ], + [ + 359, + [], + "1/2" + ], + [ + 384, + [], + "1" + ], + [ + 391, + [], + "1" + ], + [ + 398, + [], + "-1/4" + ], + [ + 457, + [], + "1" + ], + [ + 481, + [], + "-1/2" + ], + [ + 505, + [], + "-1/4" + ], + [ + 558, + [], + "1" + ], + [ + 565, + [], + "-1/2" + ], + [ + 601, + [], + "1" + ], + [ + 606, + [], + "1/2" + ], + [ + 632, + [], + "1" + ], + [ + 639, + [], + "-1/4" + ], + [ + 656, + [], + "-1/2" + ], + [ + 688, + [], + "-1/2" + ] + ] + ], + [ + 1098, + [ + [ + 57, + [], + "-1" + ], + [ + 64, + [], + "-1" + ], + [ + 65, + [], + "1" + ], + [ + 73, + [], + "1/4" + ], + [ + 96, + [], + "-1" + ], + [ + 224, + [], + "-1" + ], + [ + 240, + [], + "1" + ], + [ + 250, + [], + "-1" + ], + [ + 256, + [], + "1" + ], + [ + 268, + [], + "-1/2" + ], + [ + 278, + [], + "1" + ], + [ + 280, + [], + "1/4" + ], + [ + 281, + [], + "1/4" + ], + [ + 342, + [], + "1/2" + ], + [ + 384, + [], + "1" + ], + [ + 390, + [], + "1" + ], + [ + 392, + [], + "1/4" + ], + [ + 419, + [], + "1/2" + ], + [ + 464, + [], + "-1" + ], + [ + 478, + [], + "1/2" + ], + [ + 514, + [], + "1/4" + ], + [ + 560, + [], + "1" + ], + [ + 562, + [], + "1/2" + ], + [ + 609, + [], + "1" + ], + [ + 644, + [], + "1/4" + ], + [ + 650, + [], + "-1/2" + ], + [ + 681, + [], + "1/2" + ] + ] + ], + [ + 1202, + [ + [ + 247, + [], + "1" + ], + [ + 364, + [], + "1/4" + ], + [ + 616, + [], + "1" + ], + [ + 623, + [], + "1/4" + ] + ] + ], + [ + 1204, + [ + [ + 262, + [], + "1" + ], + [ + 360, + [], + "1/4" + ], + [ + 433, + [], + "1/4" + ], + [ + 626, + [], + "1" + ] + ] + ], + [ + 1205, + [ + [ + 60, + [], + "1/4" + ], + [ + 260, + [], + "1" + ], + [ + 426, + [], + "1" + ], + [ + 628, + [], + "1/4" + ] + ] + ], + [ + 1214, + [ + [ + 246, + [], + "1" + ], + [ + 348, + [], + "1/4" + ], + [ + 437, + [], + "1/4" + ], + [ + 624, + [], + "1" + ] + ] + ], + [ + 1216, + [ + [ + 263, + [], + "1" + ], + [ + 344, + [], + "1/4" + ], + [ + 618, + [], + "1" + ], + [ + 621, + [], + "1/4" + ] + ] + ], + [ + 1217, + [ + [ + 28, + [], + "1/4" + ], + [ + 258, + [], + "1" + ], + [ + 619, + [], + "1" + ], + [ + 620, + [], + "1/4" + ] + ] + ], + [ + 1276, + [ + [ + 312, + [], + "1/2" + ], + [ + 468, + [], + "1" + ], + [ + 667, + [], + "1" + ], + [ + 668, + [], + "1/2" + ] + ] + ], + [ + 1277, + [ + [ + 24, + [], + "1/2" + ], + [ + 469, + [], + "1" + ], + [ + 666, + [], + "1" + ], + [ + 669, + [], + "1/2" + ] + ] + ], + [ + 1278, + [ + [ + 241, + [], + "1" + ], + [ + 328, + [], + "1/2" + ], + [ + 470, + [], + "1" + ], + [ + 676, + [], + "1/2" + ] + ] + ], + [ + 1279, + [ + [ + 109, + [], + "1/2" + ], + [ + 234, + [], + "1/2" + ], + [ + 471, + [], + "1" + ], + [ + 674, + [], + "1" + ] + ] + ], + [ + 1284, + [ + [ + 332, + [], + "1/2" + ], + [ + 460, + [], + "1" + ], + [ + 665, + [], + "1" + ], + [ + 670, + [], + "1/2" + ] + ] + ], + [ + 1285, + [ + [ + 334, + [], + "1/2" + ], + [ + 461, + [], + "1" + ], + [ + 664, + [], + "1" + ], + [ + 671, + [], + "1/2" + ] + ] + ], + [ + 1286, + [ + [ + 229, + [], + "1/2" + ], + [ + 316, + [], + "1/2" + ], + [ + 462, + [], + "1" + ], + [ + 673, + [], + "1" + ] + ] + ], + [ + 1287, + [ + [ + 227, + [], + "1/2" + ], + [ + 318, + [], + "1/2" + ], + [ + 463, + [], + "1" + ], + [ + 672, + [], + "1" + ] + ] + ] + ], + "peak_distinct_values": 48, + "peak_equal_value_groups": [], + "distinct_value_witness": { + "seed": 0, + "input_rule": "int.from_bytes(SHA256(UTF8('T74-pool/{seed}/{register}'))[:2], 'big') - 32768", + "unused_inputs": 0, + "max_input_abs": 32736, + "buffer_values": [ + [ + 977, + "-66443" + ], + [ + 979, + "15277" + ], + [ + 981, + "-99997" + ], + [ + 986, + "66443" + ], + [ + 993, + "-87491/2" + ], + [ + 995, + "-474879/4" + ], + [ + 997, + "-35913/4" + ], + [ + 1002, + "22855" + ], + [ + 1009, + "-26207/4" + ], + [ + 1011, + "-197065/4" + ], + [ + 1013, + "-193075/4" + ], + [ + 1015, + "-257885/4" + ], + [ + 1018, + "32893/4" + ], + [ + 1025, + "-231577/4" + ], + [ + 1027, + "-278197/4" + ], + [ + 1029, + "-463285/4" + ], + [ + 1031, + "-63744" + ], + [ + 1034, + "89511/2" + ], + [ + 1041, + "64565/4" + ], + [ + 1043, + "309287/4" + ], + [ + 1045, + "-122713/2" + ], + [ + 1050, + "-17479" + ], + [ + 1057, + "150591/4" + ], + [ + 1059, + "-218197/4" + ], + [ + 1061, + "-57671/2" + ], + [ + 1066, + "-549403/4" + ], + [ + 1073, + "17550" + ], + [ + 1075, + "153965/4" + ], + [ + 1077, + "-115307/2" + ], + [ + 1082, + "165043/2" + ], + [ + 1089, + "39693" + ], + [ + 1091, + "64171/2" + ], + [ + 1093, + "169471/4" + ], + [ + 1098, + "-707881/4" + ], + [ + 1202, + "-190673/4" + ], + [ + 1204, + "17437/2" + ], + [ + 1205, + "17079" + ], + [ + 1214, + "-220961/4" + ], + [ + 1216, + "-52681/4" + ], + [ + 1217, + "148565/4" + ], + [ + 1276, + "1391" + ], + [ + 1277, + "5616" + ], + [ + 1278, + "24198" + ], + [ + 1279, + "16530" + ], + [ + 1284, + "-20556" + ], + [ + 1285, + "23907" + ], + [ + 1286, + "-20955/2" + ], + [ + 1287, + "-63499/2" + ] + ] + }, + "controls": [ + "overlap_at_clique", + "early_release", + "dirty_pool_entry", + "closing_add_wrong_sign", + "unallocated_zero_read", + "inverse_warp_sign_changes_endpoint" + ] + } + ] + } +} diff --git a/research/t74-cleanup-buffer-pooling/INPUTS.json b/research/t74-cleanup-buffer-pooling/INPUTS.json new file mode 100644 index 0000000000..01c6d3612b --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/INPUTS.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "files": [ + { + "path": "source/BORROW-WORD-43base.json.gz", + "source_path": "research/gmx-t74-borrow43/new/borrow/words/BORROW-WORD-43base.json.gz", + "source_commit": "b479fc5567bc09ab9185bffe89b62594f36d74e5", + "git_blob": "448dd795adba29392a90b34aa3f1b1b796c7e0bd", + "sha256": "9492a5537fb87d9ca98dffcd0230f7625b3789744fa94e2f18acf23d91d998b5" + }, + { + "path": "source/BORROW-WORD-43extra.json.gz", + "source_path": "research/gmx-t74-borrow43/new/borrow/words/BORROW-WORD-43extra.json.gz", + "source_commit": "b479fc5567bc09ab9185bffe89b62594f36d74e5", + "git_blob": "2b51ba96256283bbc5578f99b694c50edd8a0e35", + "sha256": "87d51f5298101d5947f45c43ee02f0ec45d6acbddabb808d0d02db1eaf063734" + }, + { + "path": "source/NOTICE", + "source_path": "research/gmx-t74-borrow43/NOTICE", + "source_commit": "b479fc5567bc09ab9185bffe89b62594f36d74e5", + "git_blob": "46411b80b277d7dcd653a6d1999eaf12975b1103", + "sha256": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b" + }, + { + "path": "source/NOTICE-PR2226.md", + "source_path": "research/gmx-t74-borrow43/new/code/borrow/NOTICE-PR2226.md", + "source_commit": "b479fc5567bc09ab9185bffe89b62594f36d74e5", + "git_blob": "05c74506185550dd47277d6d6aff8e1f4110c97d", + "sha256": "9bd600b2a7aa46da910548d619e362e0540772da5f271b74d8f58de5d153ee0e" + }, + { + "path": "source/PR2226-NOTICE.md", + "source_path": "research/gmx-t74-borrow43/new/code/borrow/vendor/PR2226-NOTICE.md", + "source_commit": "b479fc5567bc09ab9185bffe89b62594f36d74e5", + "git_blob": "5ea70357a04d083dba066fbc5c809a5736d8edd6", + "sha256": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422" + } + ] +} diff --git a/research/t74-cleanup-buffer-pooling/README.md b/research/t74-cleanup-buffer-pooling/README.md new file mode 100644 index 0000000000..2a120441b5 --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/README.md @@ -0,0 +1,183 @@ +# A 48-field private pool for the borrowed T74 cleanup + +**The frozen PR2269 cleanup can use 48 private FULL-frame fields in place of +76 dedicated buffers.** The forward orientation needs 44 slots in the certified +interval schedule; the inverse-transpose orientation needs 48. A shared-capacity +bank therefore saves **28 fields**. No scalar operation is added: 151 and 409 +proved zero operations, respectively, are omitted, and the remaining operations +keep their original order. All 661 ordinary entry arrays are arbitrary. + +This is a finite allocation construction with a scoped proof, author-checked +with an independently represented dense cross-check. It is not an admitted +supplier, a new recursive profile, a new κ, or independent human review. + +## Exact source and result + +The claim is in [Discussion #2609](https://github.com/CrocSwap/integer-mult-bounds/discussions/2609). + +The two `BORROW-WORD-43base/extra.json.gz` files are byte-for-byte copies from +Jeremy Kothe's [PR2269](https://github.com/CrocSwap/integer-mult-bounds/pull/2269), +head `b479fc5567bc09ab9185bffe89b62594f36d74e5`. Their serialized cleanup lists +are identical, although their enclosing words differ. We bind both files and +check both orientations; this is one common cleanup stream, not four different +constructions. [INPUTS.json](INPUTS.json) records original paths, commit, Git +blob IDs and SHA256 hashes. Source notices are retained unchanged. + +[Sagar Thakrar's PR2315](https://github.com/CrocSwap/integer-mult-bounds/pull/2315), +head `4a2f20ea339e30348448096ca789d0efe55df9bb`, reproduced the words and found +that the 76 eagerly allocated buffers had not been charged. Later constructions +charge dedicated banks. This package addresses the distinct storage-reuse +question; it does not repair or endorse the rest of PR2269's record claim. + +| Per enclosing word | Forward | Inverse transpose | +| --- | ---: | ---: | +| Original private buffers | 76 | 76 | +| Buffers ever formally nonzero | 76 | 58 | +| Maximal nonzero intervals | 81 | 65 | +| Optimal interval-pool slots | 44 | 48 | +| First maximum, after cleanup event (one-based) | 82 | 2686 | +| Zero ADDs omitted | 123 | 361 | +| Zero SCALEs omitted | 28 | 48 | +| WARP operations retained | 43 | 43 | +| Original / retained total operations | 4500 / 4349 | 4500 / 4091 | + +[EXPECTED.json](EXPECTED.json) contains every nonzero interval, a **static +per-logical-buffer** slot assignment over the hull of its intervals, the exact +peak rows, the omitted event numbers, and the ordinary endpoint digest. The +static hull coloring already attains the same peak as splitting lifetimes; +no mid-lifetime copying, dynamic allocator, or value-dependent decision is +required. `pooled_replay` in [verify.py](verify.py) executes that allocation. + +## Model and proof + +Let `A = Q[F_43]` be the group algebra of the free group on the 43 invertible +warp symbols. Each of the 661 ordinary registers starts as a separate free +module generator `x_r`; every private buffer starts at zero. A scalar gate +adds a rational multiple of one row to another or scales one row. A warp +left-multiplies every term by its symbol; only adjacent inverse symbols cancel. +This is exact symbolic arithmetic, not numerical sampling. For the second +orientation, ADDs reverse source/destination and negate their coefficient, +SCALEs invert their coefficient, and symbol `j` denotes `K_j^(-T)`. +Applying inverse transpose to each chronological gate preserves gate order. + +A reduced row is zero exactly when all its coefficients vanish. Trace each +buffer's maximal nonzero intervals. A zero source makes an ADD the identity; +a SCALE or WARP applied to a zero buffer is also the identity. Removing exactly +these events is valid for arbitrary ordinary inputs and for **any** invertible +substitution for the warp symbols. Both buffers and ordinary data are checked +as part of the final boundary. No caller-specific reachable-state restriction +is used: the proof checks all independent cleanup-entry arrays. + +For each logical buffer, take the hull from its first nonzero write through +its last zero-return event. Color these inclusive integer intervals by the +usual earliest-available-slot rule. Each assigned field is zero at allocation, +contains the logical value while allocated, and is zero at release. An +induction over events proves that renamed execution equals the original +execution: skipped events are identities, and every retained source and target +is allocated or ordinary. The verifier checks the zero boundary at each +allocation/release and compares every ordinary endpoint coefficient. All pool +fields return to zero. + +The 44 forward and 48 dual simultaneous-live intervals certify lower bounds +for **interval allocation with distinct storage for overlapping lifetimes**; +the displayed colorings attain them. This alone would not exclude equal-value +coalescing. Indeed, at the first forward peak two pairs of buffers carry equal +expressions, so we do not claim a forward minimum under that broader model. + +There is a stronger certificate for the **common 48-field bank**. At dual cut +2686, all 48 private rows are distinct and nonzero, and every row is a plain +rational linear form: all warp symbols have canceled. The receipt gives an +explicit small input witness using SHA256-derived signed 16-bit integers +(seed 0, maximum absolute input 32736). Its 48 outputs are distinct and nonzero; +maximum absolute output is `707881/4`, and denominators divide 4. The witness +therefore survives the actual invertible warp specialization. On this input, +a field storing one literal buffer value cannot store another different +buffer value at the same cut. Thus 48 is also a sharp common capacity for +**direct literal storage**, even allowing equal-value coalescing, when ordinary +registers and the declared event boundaries are retained. + +That lower bound does **not** allow encoding several values into a field, +address packing, borrowing ordinary/cold storage, recomputation, spilling, +changes to precision, or resynthesis/reordering of the cleanup. It is not an +information-theoretic scratch lower bound for arbitrary circuits. + +## Cost and interface boundary + +All original cleanup gates carry the FULL frame; preserved cold helpers are +never touched directly. The checker binds the private namespace to exactly +`704 + cold_helper` and confirms that no earlier section touches those buffers. +The new bank is used only in the same cleanup interval. Logical scalar work +decreases by the zero operations above, and the retained warp count is unchanged. +The construction adds no arithmetic, transport, copy, or recursive call. + +Under a convention that clears each physical private field once at allocation +and once at release, the candidate uses 88 forward or 96 dual CLEARs instead of +152, or 96 for a common 48-field bank. These are conditional invoice counts, +not a checked native emitter patch. Static routing, array allocation, exact +native phase bindings, precision/tape constants, full hosted admission, and +integration with later 78-buffer words remain to be checked. A smaller private +bank by itself does not establish any change in κ. + +## Reproduce + +Python 3.12, standard library only, from the repository root: + +```sh +python3 -I -B scripts/research_package.py --package research/t74-cleanup-buffer-pooling +``` + +Equivalent direct commands: + +```sh +python3 -I -O -B research/t74-cleanup-buffer-pooling/verify.py +python3 -I -B research/t74-cleanup-buffer-pooling/check_dense.py +``` + +Expected final markers are `PASS_T74_CLEANUP_BUFFER_POOLING` and +`PASS_DENSE_POOL_ORACLE cases=8 columns_per_case=1322 primes=65537,1000003 noncommuting=PASS`. +Replay is read-only. `verify.py --write FRESH_PATH` explicitly creates a fresh +receipt and refuses to overwrite an existing path. Default replay recomputes +and compares every stored certificate field, preserving JSON type distinctions. + +The primary has six semantic controls per word/orientation: overlapping +allocation, release before zero, dirty pool entry, a wrong-sign closing ADD, +a re-enabled unallocated zero read, and an inverse-warp sign change that alters +the ordinary endpoint despite scratch cleanup. `check_dense.py` imports neither +the primary nor predecessor code. It separately interprets literal gates using +noncommuting determinant-one 2-by-2 matrices over each of two prime fields, +checks all 1322 scalar basis inputs, every zero/nonzero lifetime, the peak-row +certificate, the pooled boundary and scratch restoration. This finite-field +cross-check supports implementation confidence; the group-algebra derivation +and rational replay establish the exact identities. + +## Open next questions + +- **Native adoption on this pinned word.** Emit the static slot renaming and + skipped identities in the native cleanup, then price allocation and routing. + This would turn the logical pool into an admitted physical saving; the native + stream and whole-call accounting are the missing artifacts. +- **Later borrowed words.** Apply the same independently derived lifetime test + to a named 78-buffer successor, checking its exact cleanup instead of carrying + forward the number 48. Changed kernels and source-partner lifetimes may change + the intervals and peak; no such transfer is established here. +- **Forward equal-value coalescing.** At forward cut 82, `(1015,1202)` and + `(1031,1214)` coincide. Examine their next writes before trying a smaller + forward-only bank. Equal values at one cut do not authorize merging complete + lifetimes, and cannot defeat the dual 48-value witness in the direct-storage + model. + +Structured questions and the changed task scope are in [TASK.json](TASK.json). + +## Credit + +Prepared for commdata2338 (@commdata2338), with substantial OpenAI Codex assistance. + +Jeremy Kothe/PR2269 supplies the frozen T74 words. Sagar Thakrar/PR2315 supplies +the independent accounting finding. Cinna Davis (@1337isnot1337)/PR2226 supplies +the anticipatory dirty-borrowing mechanism, early restoration and private-zero +cleanup. Dugongue/PR2309 supplies dedicated private-stock accounting in the +successor line. Rohan Arun, Marius-Paul Dumitrean, icekylinx and the retained +T74/provider/compiler lineage keep the attribution in `source/` notices. +No predecessor code is imported, executed or copied into the new checkers. +The copied words and notices retain their original Apache-2.0 context. +No independent human review or hosted-CI success is claimed. diff --git a/research/t74-cleanup-buffer-pooling/SOURCES.json b/research/t74-cleanup-buffer-pooling/SOURCES.json new file mode 100644 index 0000000000..392737aa2a --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "0fdd7d82de03e43c9e5a1000dfbcd380d1b687d2", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "e8870e5917057d59b730eb14721a778639eca050", + "sha256": "d46eb6d5b3e279428753d770653663fbdf1063e55c255ea073d768f344927ef7" + } + ] +} diff --git a/research/t74-cleanup-buffer-pooling/TASK.json b/research/t74-cleanup-buffer-pooling/TASK.json new file mode 100644 index 0000000000..0b253492aa --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/TASK.json @@ -0,0 +1,95 @@ +{ + "schema_version": 1, + "task_id": "complex-new-helper-inventory", + "priority_revision": 4, + "base_commit": "0fdd7d82de03e43c9e5a1000dfbcd380d1b687d2", + "original_card": { + "id": "complex-new-helper-inventory", + "question": "Can a new local cost interface change the deficit-to-recursive-cost ratio beyond current packing?", + "starting_points": [ + "research/complex-local-word-ceiling/README.md", + "research/heterogeneous-owner-assembly/README.md", + "certificates/selected-result.json", + "research/selected-k8-unrestricted-ends/README.md" + ], + "methods": [ + "Propose a changed helper inventory and derive an optimistic exact moment.", + "Design a small completed instance and independently verify its endpoint and rank bill." + ], + "acceptance_gate": "A new physically realizable contract outside the frozen catalogue whose per-call profile, screened with ceiling.ceiling(), beats the selected word's packing ceiling; a lower cap does not establish identical circuitry or order attainable optima, and is insufficient to pass the stronger-budget target under this model.", + "first_step": { + "command": [ + "python3", + "-B", + "research/complex-local-word-ceiling/verify.py" + ], + "expected": "PASS_COMPLEX_LOCAL_WORD_CEILING", + "inspect": "Read the selected word's per-call local profile, its packing ceiling and the lever table; run levers.py for the ideal budget of the lever you target.", + "scope": "Positive control and planning budget only; this is not a new construction or full cold replay." + }, + "first_experiment": "Before any synthesis, write the candidate per-call local profile (and centre charge / unpaid coordinates if changed) and screen it with ceiling.ceiling(); reject it if even the ideal ceiling does not beat the selected word's by your stated margin.", + "bottleneck_link": "Packing of the selected word is capped at +0.87% (ceiling model); only a lower local excess spend or a changed coverage law raises the cap.", + "allowed_variations": [ + "Narrow to one changed boundary or helper type with explicit counts.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Mixing only providers already inside the pinned catalogue.", + "Only changing helper terminal subspaces and monotone frames within the fixed scalar word, entrances and cleanup contract already covered by #1995/#2013." + ], + "overlap_terms": [ + "helper inventory", + "heterogeneous-owner", + "mutable leaver" + ] + }, + "scope_status": "changed", + "actual_scope": "Exact zero-to-zero private-buffer allocation for the two frozen PR2269 cleanup words, with a 48-field common pool and scoped direct-storage lower bound.", + "scope_change_reason": "Take the central private-buffer accounting question identified by PR2315. This finite storage construction does not claim the catalogue construction/ceiling acceptance gate.", + "bottleneck_link": "Dirty borrowing introduces private FULL-frame cleanup fields. Safe interval reuse reduces the physical bank without altering the paid recursive profile; native integration remains open.", + "budget_minutes": 60, + "stop_rule": "Stop after the two pinned cleanup words, both orientations, exact pooled boundary and lower-bound witness, with source and semantic controls. No record search or global admission.", + "outcome": "completed", + "evidence": "EXPECTED.json: 44 forward / 48 dual slots; all 661 ordinary entry columns; six controls in each of four bound cases. check_dense.py independently checks 1322 scalar columns in each of eight cases.", + "author": "commdata2338", + "ai_assistance": "OpenAI Codex (GPT-6 Astra) derived, implemented, checked and wrote the contribution; no independent human review.", + "open_questions": [ + { + "question": "Can the 48-field pool be emitted and admitted natively on these pinned words?", + "why_it_matters": "Turns a logical scratch reduction into a checked physical invoice.", + "first_step": "Translate the static slot map and zero-event omissions into the native cleanup and verify allocation, routing and exact boundary.", + "blocked_by": "No native emitter patch or whole-call accounting replay is supplied." + }, + { + "question": "What pool is valid for a named later 78-buffer successor?", + "why_it_matters": "New source partners and kernels may change the actual private-storage peak.", + "first_step": "Pin that successor and recompute its complete cleanup lifetimes before making a capacity claim.", + "blocked_by": "Later cleanup words are outside this certificate." + }, + { + "question": "Can forward-only equal-value coalescing improve on its 44-slot interval schedule?", + "why_it_matters": "Two pairs agree at the first peak, but later writes may split them.", + "first_step": "Trace the next writes of pairs (1015,1202) and (1031,1214) with a charged split rule.", + "blocked_by": "Equal-value lifetime coalescing and modified circuits are not certified; the dual common-bank floor remains 48." + } + ], + "scope_key": "f3b0895a4f9f1cc62e75/PR2269-private-zero-pool", + "predecessors": [ + { + "pr": 2269, + "head": "b479fc5567bc09ab9185bffe89b62594f36d74e5" + }, + { + "pr": 2315, + "head": "4a2f20ea339e30348448096ca789d0efe55df9bb" + } + ], + "result_kind": "finite construction and scoped proof", + "discussion": "https://github.com/CrocSwap/integer-mult-bounds/discussions/2609", + "refresh_checkpoint": { + "main_commit": "0fdd7d82de03e43c9e5a1000dfbcd380d1b687d2", + "priority_revision": 4, + "checked_utc": "2026-10-15T16:24:54.125659+00:00", + "decision": "Main and contribution guidance unchanged. Retain PR2269 as the intentional frozen scientific input; no transfer to later cleanup words or selected frontier is claimed." + } +} diff --git a/research/t74-cleanup-buffer-pooling/VERIFY.json b/research/t74-cleanup-buffer-pooling/VERIFY.json new file mode 100644 index 0000000000..77aeaae1ed --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/VERIFY.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 120, + "checks": "Exact source-bound free-group-algebra lifetime, pooled endpoint, scoped minimum witness, stored receipt and six semantic controls per case." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/check_dense.py" + ], + "timeout_seconds": 180, + "checks": "Code-disjoint noncommuting dense finite-field all-column cross-check of lifetimes, peak rows and pooled endpoints." + } + ] +} diff --git a/research/t74-cleanup-buffer-pooling/check_dense.py b/research/t74-cleanup-buffer-pooling/check_dense.py new file mode 100644 index 0000000000..934fa0c916 --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/check_dense.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 +"""Independent dense finite-field controls for the exact free-algebra certificate. + +No imports from verify.py or a predecessor. This is a cross-check, not the +rational identity proof. All 1,322 input coordinates are distinct columns. +Prepared for commdata2338 with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +import gzip +import hashlib +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parent + + +def need(value, message): + if not value: + raise RuntimeError(message) + + +def matrix(number, modulus, dual, inverse): + # Determinant-one, noncommuting matrices: [[1,a],[b,1+ab]]. + a = number + 1 + b = number * number + 1 + m = (1, a, b, 1 + a*b) + if dual: # K^{-T} + m = (m[3], -m[2], -m[1], m[0]) + if inverse: + m = (m[3], -m[1], -m[2], m[0]) + return tuple(x % modulus for x in m) + + +def run(word, receipt, modulus): + dual = receipt["orientation"] == "dual" + n = 2 * word["report"]["v"] + word["report"]["R"] + ordinary = sorted(set(range(n)) - set(word["removed"])) + scratch = sorted(n + int(r) for r in word["helper_final"]) + width = 2 * len(ordinary) + state = {} + for j, r in enumerate(ordinary): + state[r] = [[int(i == 2*j+k) for i in range(width)] for k in (0, 1)] + for r in scratch: + state[r] = [[0] * width, [0] * width] + original = {r: [x.copy() for x in rows] for r, rows in state.items()} + pool = {r: [x.copy() for x in rows] for r, rows in state.items() if r in ordinary} + for slot in range(receipt["pool_slots"]): + pool[-slot-1] = [[0]*width, [0]*width] + allocation = {x["buffer"]: -x["slot"]-1 for x in receipt["static_plan"]} + skipped = set(receipt["zero_noop_events"]) + active, observed = {}, [] + peak = 0 + column = {r: j for j, r in enumerate(ordinary)} + + def operation(storage, gate, renamed=False): + kind = gate[0] + destination = gate[1] + if kind == "add": + source = gate[2] + q = gate[3] * pow(gate[4], -1, modulus) % modulus + if dual: + destination, source, q = source, destination, -q % modulus + if renamed: + destination = allocation.get(destination, destination) + source = allocation.get(source, source) + rows = storage[destination] + other = storage[source] + storage[destination] = [[(x + q*y) % modulus for x, y in zip(a, b)] + for a, b in zip(rows, other)] + elif kind == "scale": + q = gate[2] * pow(gate[3], -1, modulus) % modulus + if dual: + q = pow(q, -1, modulus) + if renamed: + destination = allocation.get(destination, destination) + storage[destination] = [[q*x % modulus for x in row] for row in storage[destination]] + elif kind == "warp": + if renamed: + destination = allocation.get(destination, destination) + a, b, c, d = matrix(abs(gate[2]), modulus, dual, gate[2] < 0) + x, y = storage[destination] + storage[destination] = [[(a*u+b*v) % modulus for u, v in zip(x, y)], + [(c*u+d*v) % modulus for u, v in zip(x, y)]] + else: + raise RuntimeError("unknown literal opcode") + return destination + + for step, gate in enumerate(word["cleanup"], 1): + destination = gate[2] if dual and gate[0] == "add" else gate[1] + before = any(any(row) for row in original[destination]) + destination = operation(original, gate) + after = any(any(row) for row in original[destination]) + if destination in scratch: + if after and not before: + active[destination] = step + elif before and not after: + observed.append(dict(buffer=destination, start=active.pop(destination), end=step)) + peak = max(peak, len(active)) + if step == receipt["peak_after_event"]: + for r, terms in receipt["peak_rows"]: + expected = [[0]*width, [0]*width] + for source, letters, text in terms: + need(not letters, "claimed peak is not operator-free") + numerator, slash, denominator = text.partition("/") + q = int(numerator) * pow(int(denominator) if slash else 1, -1, modulus) % modulus + expected[0][2*column[source]] = q + expected[1][2*column[source]+1] = q + need(original[r] == expected, "dense peak-row certificate mismatch") + if step not in skipped: + operation(pool, gate, True) + else: + # Independently verify every skipped operator acts on a zero source. + if gate[0] == "add": + r = gate[1] if dual else gate[2] + need(not any(any(row) for row in original[r]), "skipped nonzero ADD") + else: + need(not after, "skipped nonzero SCALE/WARP") + observed.sort(key=lambda x: (x["start"], x["buffer"])) + need(observed == receipt["intervals"], "dense and formal lifetimes differ") + need(peak == receipt["pool_slots"], "dense and formal peaks differ") + need(not active, "dense private exit") + need(all(original[r] == pool[r] for r in ordinary), "dense pooled boundary mismatch") + need(all(not any(any(row) for row in pool[-slot-1]) for slot in range(receipt["pool_slots"])), + "dense pool exit") + # A scalar commutative interpretation could conceal incorrect word order. + k1 = matrix(1, modulus, False, False) + k2 = matrix(2, modulus, False, False) + product12 = (k1[0]*k2[1]+k1[1]*k2[3]) % modulus + product21 = (k2[0]*k1[1]+k2[1]*k1[3]) % modulus + need(product12 != product21, "commuting oracle control") + return width + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--receipt", type=Path, default=ROOT / "EXPECTED.json") + args = parser.parse_args() + receipt = json.loads(args.receipt.read_text()) + inputs = json.loads((ROOT / "INPUTS.json").read_text()) + for item in inputs["files"]: + need(hashlib.sha256((ROOT/item["path"]).read_bytes()).hexdigest() == item["sha256"], "source pin") + cases = 0 + for name in ("base", "extra"): + word = json.loads(gzip.decompress((ROOT/"source"/f"BORROW-WORD-43{name}.json.gz").read_bytes())) + for orientation in receipt["words"][name]: + for modulus in (65537, 1000003): + columns = run(word, orientation, modulus) + cases += 1 + print(f"PASS_DENSE_POOL_ORACLE cases={cases} columns_per_case={columns} primes=65537,1000003 noncommuting=PASS") + + +if __name__ == "__main__": + main() diff --git a/research/t74-cleanup-buffer-pooling/source/BORROW-WORD-43base.json.gz b/research/t74-cleanup-buffer-pooling/source/BORROW-WORD-43base.json.gz new file mode 100644 index 0000000000..448dd795ad Binary files /dev/null and b/research/t74-cleanup-buffer-pooling/source/BORROW-WORD-43base.json.gz differ diff --git a/research/t74-cleanup-buffer-pooling/source/BORROW-WORD-43extra.json.gz b/research/t74-cleanup-buffer-pooling/source/BORROW-WORD-43extra.json.gz new file mode 100644 index 0000000000..2b51ba9625 Binary files /dev/null and b/research/t74-cleanup-buffer-pooling/source/BORROW-WORD-43extra.json.gz differ diff --git a/research/t74-cleanup-buffer-pooling/source/NOTICE b/research/t74-cleanup-buffer-pooling/source/NOTICE new file mode 100644 index 0000000000..46411b80b2 --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/source/NOTICE @@ -0,0 +1,10 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. diff --git a/research/t74-cleanup-buffer-pooling/source/NOTICE-PR2226.md b/research/t74-cleanup-buffer-pooling/source/NOTICE-PR2226.md new file mode 100644 index 0000000000..05c7450618 --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/source/NOTICE-PR2226.md @@ -0,0 +1,21 @@ +# Credit: anticipatory dirty borrowing (PR2226) + +The construction realised by this native chain is **PR2226, "anticipatory dirty borrowing"**, by Cinna Davis +(@1337isnot1337), prepared with substantial OpenAI Codex assistance (Apache-2.0): the logical reference change +K_G of a lender register (a monomial Clifford: a permutation of the 512 columns with phase mod 4), the initial +compensation terms c K_G z, the early cold tail, the exact cold restoration and the private zero buffers of the +FULL-frame cleanup. `vendor/pr2226_operators.py`, `vendor/pr2226_replay.py` and `vendor/PR2226-NOTICE.md` are byte copies +of PR2226's `operators.py`, `replay.py` and `NOTICE.md`. `bw_gauss.py` is a port of `operators.py` (change, monomial, +apply_mono, coord, frame, check) and adds a decoder from a serialized `clifford_exact` monomial to its exact 512 x 512 +Gaussian matrix. + +What this chain adds (the P3 native realisation, with the Borrow campaign's explicit chronological BORROW-WORD as input): +warp events and zero buffers in `LOCAL-PROGRAMS`, warp recipes in `CLIFFORD-RECIPES.json` (lowered with the unchanged +`lower_child`, rank zero, then compared with the exact numpy column product), logical K_G recipes in +`RESIDUAL-ADAPTERS.json`, an independent local replay in both orientations that checks every warp product on all 512 +columns, and the negative controls listed in `INDEPENDENT-LOCAL-REPLAY.json`, `WRAPPER-CHECKS.json`, `WARP-RECIPE-CHECKS.json` +and `bw_tamper.py`. + +Lineage retained: icekylinx (PR425/433/514, scalar and wrapper machinery), DreamingOfClouds (PR458/484/593 hyperplane/cold-HPE +extensions), the clifford_exact compiler (vendor531), and the owners named in the package README. `vendor/clifford/clifford_exact.py` +is a byte copy. diff --git a/research/t74-cleanup-buffer-pooling/source/PR2226-NOTICE.md b/research/t74-cleanup-buffer-pooling/source/PR2226-NOTICE.md new file mode 100644 index 0000000000..5ea70357a0 --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/source/PR2226-NOTICE.md @@ -0,0 +1,22 @@ +# Attribution and license + +New construction, proof text and checkers: Cinna Davis (@1337isnot1337), with +substantial OpenAI Codex assistance, Apache-2.0. + +The selected complex canonical word is the PR1042 ancestry retained in PR1094. +Jeremy Kothe, Rohan Arun, Hao Yan, Chafik Boukhalfa, icekylinx, Jonathan Capalbo +and the source package's full provider/frame/controller lineage retain credit. +Ali Romman supplied the source-bound fixed-block theorem and certificate; +Thomas DiFiore supplied the earlier block discovery. The borrowing construction +does not attribute its changed interface to those predecessor results. + +`price_engine.py` is an unchanged copy of the incorporated +`research/complex-local-word-ceiling/ceiling.py`: Douglas Colkitt, with Claude +(Anthropic) assistance; original SPDX/license context and docstring retained. +General Clifford frame and exact Gaussian normal forms are inherited from +`notes/general-clifford-frames.tex` and the repository's credited phase/compiler +lineage. The package independently checks its actual local Gaussian products. + +Source hashes, base commits and the copied engine's Git blob are in SOURCES.json. +No full native supplier, all-size compiler, precision theorem or new kappa is +claimed. No independent human review is claimed. diff --git a/research/t74-cleanup-buffer-pooling/verify.py b/research/t74-cleanup-buffer-pooling/verify.py new file mode 100644 index 0000000000..10ec35227c --- /dev/null +++ b/research/t74-cleanup-buffer-pooling/verify.py @@ -0,0 +1,351 @@ +#!/usr/bin/env python3 +"""Exact private-buffer lifetimes in two frozen T74 cleanup words. + +Prepared for commdata2338 with substantial OpenAI Codex assistance. +Apache-2.0. No predecessor Python module is imported or executed. +""" +from __future__ import annotations +import argparse +from collections import Counter +import copy +from fractions import Fraction +import gzip +import hashlib +import heapq +import json +from pathlib import Path + +HERE = Path(__file__).resolve().parent + + +def check(condition, message): + if not condition: + raise ValueError(message) + + +def load_inputs(): + manifest = json.loads((HERE / "INPUTS.json").read_text()) + for item in manifest["files"]: + data = (HERE / item["path"]).read_bytes() + check(hashlib.sha256(data).hexdigest() == item["sha256"], "source digest: " + item["path"]) + blob = hashlib.sha1(b"blob " + str(len(data)).encode() + b"\0" + data).hexdigest() + check(blob == item["git_blob"], "Git blob: " + item["path"]) + return {name: json.loads(gzip.decompress( + (HERE / "source" / f"BORROW-WORD-43{name}.json.gz").read_bytes())) + for name in ("base", "extra")} + + +def terms_add(left, right, coefficient): + # Fresh row: no mutable source/destination aliasing. + result = left.copy() + for term, value in right.items(): + value = result.get(term, 0) + coefficient * value + if value: + result[term] = value + else: + result.pop(term, None) + return result + + +def left_warp(row, letter): + result = {} + for (variable, word), coefficient in row.items(): + reduced = word[1:] if word and word[0] == -letter else (letter,) + word + result[variable, reduced] = coefficient + return result + + +def decode(gate, dual=False): + # Inverse transpose of each gate, in original chronological order. + if gate[0] == "add": + _, destination, source, numerator, denominator, _ = gate + q = Fraction(numerator, denominator) + check(destination != source, "self add") + return ("add", source, destination, -q) if dual else ("add", destination, source, q) + if gate[0] == "scale": + _, destination, numerator, denominator, _ = gate + q = Fraction(numerator, denominator) + check(q != 0, "singular scale") + return "scale", destination, 1 / q if dual else q + check(gate[0] == "warp", "unknown opcode") + _, destination, operator, _ = gate + check(operator != 0, "zero warp") + # In the independent dual run generator j means K_j^{-T}. + return "warp", destination, operator + + +def execute(state, event): + op, destination, *args = event + if op == "add": + source, q = args + state[destination] = terms_add(state[destination], state[source], q) + elif op == "scale": + state[destination] = {term: q * args[0] for term, q in state[destination].items()} + else: + state[destination] = left_warp(state[destination], args[0]) + + +def schema(word): + v, h, count = (word["report"][k] for k in ("v", "h", "R")) + check((v, h, count) == (112, 9, 480), "word geometry") + total = 2 * v + count + removed = set(word["removed"]) + check(len(removed) == len(word["removed"]) == 43, "removed helpers") + check(all(2*v <= r < total for r in removed), "removed range") + live = set(range(total)) - removed + cold = set(map(int, word["helper_final"])) + check(len(cold) == 76 and cold <= live, "cold helper inventory") + buffers = {total + r for r in cold} + full = {256, 128, 64, 32, 16, 8, 4, 2, 1} + for gate in word["cleanup"]: + check(set(gate[-1]) == full and len(gate[-1]) == 9, "cleanup FULL frame") + event = decode(gate) + touched = {event[1], event[2]} if event[0] == "add" else {event[1]} + check(touched <= live | buffers, "unknown cleanup role") + check(not touched & cold, "cleanup touches preserved cold helper") + if event[0] == "warp": + check(abs(event[2]) <= len(word["warps"]), "unknown warp") + for section in ("precondition", "compensation", "A", "cut", "B", "restore"): + for gate in word[section]: + touched = gate[1:3] if gate[0] == "add" else gate[1:2] + check(set(touched) <= live, "private buffer touched before cleanup") + return sorted(live), sorted(buffers) + + +def initial(live, buffers): + state = {r: {(r, ()): Fraction(1)} for r in live} + state.update({r: {} for r in buffers}) + return state + + +def row_digest(state, registers): + rows = [[r, [[s, list(w), str(q)] for (s, w), q in sorted(state[r].items())]] + for r in registers] + return hashlib.sha256(json.dumps(rows, separators=(",", ":")).encode()).hexdigest() + + +def trace(word, dual): + live, buffers = schema(word) + private = set(buffers) + events = [decode(g, dual) for g in word["cleanup"]] + state = initial(live, buffers) + active, intervals, omitted = {}, [], [] + peak, peak_event, peak_buffers, peak_rows = 0, 0, [], [] + for step, event in enumerate(events, 1): + op, destination = event[:2] + before = bool(state[destination]) + is_zero_noop = ((op == "add" and not state[event[2]]) or + (op != "add" and not state[destination])) + if is_zero_noop: + omitted.append(step) + execute(state, event) + if destination in private: + after = bool(state[destination]) + if after and not before: + active[destination] = step + elif before and not after: + intervals.append(dict(buffer=destination, start=active.pop(destination), end=step)) + if len(active) > peak: + peak, peak_event, peak_buffers = len(active), step, sorted(active) + peak_rows = [[r, [[s, list(w), str(q)] for (s, w), q in sorted(state[r].items())]] + for r in peak_buffers] + check(not active, "nonzero private field at cleanup exit") + check(all(not state[r] for r in buffers), "private exit not zero") + intervals.sort(key=lambda x: (x["start"], x["buffer"])) + return dict(live=live, buffers=buffers, events=events, endpoint=state, + intervals=intervals, peak=peak, peak_event=peak_event, + peak_buffers=peak_buffers, peak_rows=peak_rows, omitted=omitted) + + +def color(intervals): + # Optimal coloring of inclusive integer event intervals. + pending, available, result = [], [], [] + slots = 0 + for item in intervals: + while pending and pending[0][0] < item["start"]: + _, slot = heapq.heappop(pending) + heapq.heappush(available, slot) + if available: + slot = heapq.heappop(available) + else: + slot = slots + slots += 1 + result.append(dict(item, slot=slot)) + heapq.heappush(pending, (item["end"], slot)) + return slots, result + + +def pooled_replay(data, plan, slots, *, dirty_slot=None, retained_zero_step=None): + live, buffers = data["live"], data["buffers"] + pool = [-(i + 1) for i in range(slots)] + state = initial(live, pool) + if dirty_slot is not None: + state[pool[dirty_slot]] = {(10000, ()): Fraction(1)} + private, current = set(buffers), {} + begins, ends = {}, {} + for interval in plan: + begins.setdefault(interval["start"], []).append(interval) + ends.setdefault(interval["end"], []).append(interval) + omitted = set(data["omitted"]) + if retained_zero_step is not None: + omitted.remove(retained_zero_step) + for step, event in enumerate(data["events"], 1): + for interval in begins.get(step, []): + r, slot = interval["buffer"], pool[interval["slot"]] + check(r not in current and slot not in current.values(), "overlapping buffer allocation") + check(not state[slot], "allocation of dirty pool field") + current[r] = slot + if step not in omitted: + op, destination, *args = event + dst = current[destination] if destination in private else destination + if op == "add": + src, q = args + src = current[src] if src in private else src + check(src != dst, "pooled self add") + execute(state, (op, dst, src, q)) + else: + execute(state, (op, dst, *args)) + for interval in ends.get(step, []): + slot = current.pop(interval["buffer"]) + check(not state[slot], "release of nonzero buffer") + check(not current, "unreleased allocation") + check(all(not state[r] for r in pool), "pool not restored") + check(all(state[r] == data["endpoint"][r] for r in live), "pooled endpoint differs") + return row_digest(state, live) + + +def hulls(intervals): + result = {} + for interval in intervals: + r = interval["buffer"] + if r not in result: + result[r] = dict(interval) + else: + result[r]["end"] = interval["end"] + return sorted(result.values(), key=lambda x: (x["start"], x["buffer"])) + + +def negative_controls(word, dual, data, plan, slots): + def rejected(action, label, expected): + try: + action() + except (ValueError, KeyError) as error: + check(expected in str(error), label + ": wrong rejection: " + str(error)) + return label + raise ValueError("control accepted: " + label) + + results = [] + # Two intervals provably alive at the maximum must not share a slot. + at_peak = [i for i, x in enumerate(plan) + if x["start"] <= data["peak_event"] < x["end"]] + bad = copy.deepcopy(plan) + bad[at_peak[1]]["slot"] = bad[at_peak[0]]["slot"] + results.append(rejected(lambda: pooled_replay(data, bad, slots), + "overlap_at_clique", "overlapping buffer allocation")) + # Releasing one event before a true zero return discards live information. + bad = copy.deepcopy(plan) + candidate = next(i for i, x in enumerate(bad) if x["end"] > x["start"]) + bad[candidate]["end"] -= 1 + results.append(rejected(lambda: pooled_replay(data, bad, slots), + "early_release", "release of nonzero buffer")) + results.append(rejected(lambda: pooled_replay(data, plan, slots, dirty_slot=0), + "dirty_pool_entry", "allocation of dirty pool field")) + # A real closing ADD coefficient is necessary, not merely its label/frame. + closing = next(x for x in data["intervals"] + if data["events"][x["end"]-1][0] == "add") + changed = copy.deepcopy(word) + changed["cleanup"][closing["end"]-1][3] *= -1 + results.append(rejected(lambda: trace(changed, dual), + "closing_add_wrong_sign", "nonzero private field at cleanup exit")) + # Re-enable a dropped read when its logical zero buffer is not allocated. + step = next(i for i in data["omitted"] if data["events"][i-1][0] == "add" + and data["events"][i-1][2] in data["buffers"] + and not any(x["buffer"] == data["events"][i-1][2] + and x["start"] <= i <= x["end"] for x in plan)) + source = data["events"][step-1][2] + results.append(rejected(lambda: pooled_replay(data, plan, slots, retained_zero_step=step), + "unallocated_zero_read", str(source))) + # Same scratch-zero outcome is insufficient if the ordinary endpoint moves. + changed = copy.deepcopy(word) + j = next(i for i, g in enumerate(changed["cleanup"]) if g[0] == "warp") + changed["cleanup"][j][2] *= -1 + changed_data = trace(changed, dual) + check(any(changed_data["endpoint"][r] != data["endpoint"][r] for r in data["live"]), + "warp-sign endpoint control did not change the map") + results.append("inverse_warp_sign_changes_endpoint") + return results + + +def distinct_witness(rows): + """Small explicit entry values separating all operator-free peak rows.""" + check(all(not term[1] for _, row in rows for term in row), "peak still has warp symbols") + variables = sorted({term[0] for _, row in rows for term in row}) + for seed in range(100): + values = {r: int.from_bytes(hashlib.sha256(f"T74-pool/{seed}/{r}".encode()).digest()[:2], + "big") - 32768 for r in variables} + outputs = [sum((Fraction(q)*values[r] for r, _, q in row), Fraction(0)) + for _, row in rows] + if all(outputs) and len(set(outputs)) == len(rows): + return dict(seed=seed, + input_rule="int.from_bytes(SHA256(UTF8('T74-pool/{seed}/{register}'))[:2], 'big') - 32768", + unused_inputs=0, max_input_abs=max(abs(x) for x in values.values()), + buffer_values=[[row[0], str(value)] for row, value in zip(rows, outputs)]) + raise ValueError("no small distinct-value witness") + + +def audit(word, dual): + data = trace(word, dual) + split_slots, _ = color(data["intervals"]) + slots, plan = color(hulls(data["intervals"])) + check(slots == data["peak"], "interval clique/color mismatch") + check(split_slots == slots, "splitting changes optimal capacity") + digest = pooled_replay(data, plan, slots) + controls = negative_controls(word, dual, data, plan, slots) + zero_counts = Counter(data["events"][i-1][0] for i in data["omitted"]) + peak_values = [json.dumps(row[1]) for row in data["peak_rows"]] + # Equal-value coalescing is outside interval allocation: do not turn a + # simultaneous-live count into an unrestricted information lower bound. + equal_groups = {} + for row, value in zip(data["peak_rows"], peak_values): + equal_groups.setdefault(value, []).append(row[0]) + witness = distinct_witness(data["peak_rows"]) if dual else None + return dict(orientation="dual" if dual else "forward", events=len(data["events"]), + entry_columns=len(data["live"]), private_buffers=len(data["buffers"]), + pool_slots=slots, interval_count=len(data["intervals"]), intervals=data["intervals"], + static_plan=plan, allocated_logical_buffers=len(plan), + zero_noop_events=data["omitted"], peak_after_event=data["peak_event"], + zero_noop_counts=dict(sorted(zero_counts.items())), + retained_events=len(data["events"])-len(data["omitted"]), + peak_buffers=data["peak_buffers"], endpoint_sha256=digest, + peak_rows=data["peak_rows"], + peak_distinct_values=len(equal_groups), + peak_equal_value_groups=sorted(g for g in equal_groups.values() if len(g)>1), + distinct_value_witness=witness, + controls=controls) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--write", type=Path, help="exclusive output path for the exact receipt") + args = parser.parse_args() + words = load_inputs() + results = {name: [audit(word, dual) for dual in (False, True)] for name, word in words.items()} + receipt = dict(schema_version=1, result="EXACT_LITERAL_INTERVAL_POOL", words=results) + if args.write: + with args.write.open("x") as output: + json.dump(receipt, output, indent=2) + output.write("\n") + else: + expected = json.loads((HERE / "EXPECTED.json").read_text()) + check(json.dumps(expected, sort_keys=True) == json.dumps(receipt, sort_keys=True), + "stored certificate differs (including JSON types)") + for name, orientations in results.items(): + for result in orientations: + print(name, result["orientation"], "pool", result["pool_slots"], + "intervals", result["interval_count"], "zero_noops", len(result["zero_noop_events"]), + "peak", result["peak_after_event"]) + print("PASS_T74_CLEANUP_BUFFER_POOLING") + + +if __name__ == "__main__": + main()