diff --git a/research/complex-swap-runs-seed37/CLAIM.json b/research/complex-swap-runs-seed37/CLAIM.json new file mode 100644 index 0000000000..a7fba19232 --- /dev/null +++ b/research/complex-swap-runs-seed37/CLAIM.json @@ -0,0 +1,38 @@ +{ + "status": "COMPLETE", + "track": "Complex supplier", + "assignment_seed": 37, + "seed_origin": "secrets.randbelow(100), operating-system randomness", + "base_commit": "007664306fff84fbb1c9a1b4053b69f439764034", + "claimed_at_utc": "2026-10-13T14:53:45+00:00", + "expected_finish_utc": "2026-10-13T15:18:34Z", + "coordination": "Open issues 650 and 913 are not sprint coordination issues; no pinned coordination issue found. Initial claim and this single result update are local.", + "candidates": [ + "Lower maximal contiguous same-frame scalar SWAP runs of historical PR626 CK/JP8 into paid scratch-copy permutation cycles", + "Fuse historical full-frame helper negation/scale runs; adjacent prior PR919 sign normalization makes this less distinct", + "Resynthesize historical common-frame source-scale/add/restore coefficient runs; PR750 and later coefficient-route work make overlap likely" + ], + "chosen_object": "Historical PR626 CK and JP8 literal SWAPs across intervening macros within maximal common-frame scalar runs, in both orientations.", + "method": "One evidence-driven refinement from adjacent swaps: defer permutations across intervening scalar macros, remap both operands, then pay every boundary COPY and final CLEAR using existing work. Compare complete PR696 and identically clear-elided words. Exact arbitrary-input replay and independent dense checking.", + "domain": "Four frozen local programs (CK and JP8, forward and backward); exhaustive deterministic scan of all 8,836 scalar runs and 504 swaps. Seed 37 diversifies provider/report/control order; no random sampling.", + "stopping_rule": "One completed historical scan and explicit deferred-permutation lowering. No frame or word-order search. Final 7.5 minutes reserved for verification and publication; external submission and handoff completed after the expected finish.", + "expected_deliverable": "One opt-in finite circuit construction with exact primitive bills, source pins, strong comparator, arbitrary dirty-work tests and scoped mathematical argument. No new kappa.", + "overlap": "Initial claim checked ledger, batch 932 and recent PRs through 961. Final metadata through 968 and targeted swap/deferred-permutation searches show distinct objects; no pending executable code imported.", + "delegation": "One bounded read-only scout, then independent permutation checker in its own file; root owns compiler, whole replay and packaging.", + "completed_at_utc": "2026-10-13T15:19:52.368625+00:00", + "result_url": "https://github.com/CrocSwap/integer-mult-bounds/pull/969", + "refreshed_upstream": "bbc600db2fc15007b7c914f4f2b2ed55fa909c87", + "refreshed_sources": "All 11 consumed source bytes unchanged on refreshed main; moving selected record is not a runtime pin.", + "result": { + "saved_per_orientation_after_identical_clear_elision": 560, + "saved_against_pr696": 1316, + "changed_blocks": 168, + "independent_local_columns": 840, + "full_projections": 16, + "columns_per_full_projection": 725, + "deleted_actual_copies_rejected": 728, + "mathematical_mutations_rejected": 13, + "boundary_checks": 2, + "new_kappa": false + } +} diff --git a/research/complex-swap-runs-seed37/EXPECTED.json b/research/complex-swap-runs-seed37/EXPECTED.json new file mode 100644 index 0000000000..995ec843df --- /dev/null +++ b/research/complex-swap-runs-seed37/EXPECTED.json @@ -0,0 +1,13456 @@ +{ + "assignment_seed": 37, + "base_commit": "007664306fff84fbb1c9a1b4053b69f439764034", + "candidate_blocks": { + "ck/backward": [ + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ] + ], + "end": 10268, + "frame": 52, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ], + [ + [ + "L", + 229 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10264, + "swap_starts": [ + 10264 + ] + }, + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ] + ], + "end": 10277, + "frame": 52, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ], + [ + [ + "L", + 227 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10273, + "swap_starts": [ + 10273 + ] + }, + { + "cycles": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ] + ], + "end": 10357, + "frame": 52, + "permutation": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 81 + ], + [ + "L", + 57 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ] + ], + [ + [ + "L", + 224 + ], + [ + "L", + 92 + ] + ], + [ + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ], + [ + [ + "L", + 234 + ], + [ + "L", + 234 + ] + ] + ], + "start": 10282, + "swap_starts": [ + 10282, + 10287, + 10292, + 10300, + 10321, + 10337, + 10349 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ] + ], + "end": 10467, + "frame": 81, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ], + [ + [ + "L", + 245 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10463, + "swap_starts": [ + 10463 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ] + ], + "end": 10476, + "frame": 81, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ], + [ + [ + "L", + 243 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10472, + "swap_starts": [ + 10472 + ] + }, + { + "cycles": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ] + ], + "end": 10556, + "frame": 81, + "permutation": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 62 + ], + [ + "L", + 11 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ] + ], + [ + [ + "L", + 240 + ], + [ + "L", + 63 + ] + ], + [ + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ], + [ + [ + "L", + 250 + ], + [ + "L", + 250 + ] + ] + ], + "start": 10481, + "swap_starts": [ + 10481, + 10486, + 10491, + 10499, + 10520, + 10536, + 10548 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ] + ], + "end": 10666, + "frame": 110, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ], + [ + [ + "L", + 261 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10662, + "swap_starts": [ + 10662 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ] + ], + "end": 10675, + "frame": 110, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ], + [ + [ + "L", + 259 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10671, + "swap_starts": [ + 10671 + ] + }, + { + "cycles": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ] + ], + "end": 10755, + "frame": 110, + "permutation": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ] + ], + [ + [ + "L", + 94 + ], + [ + "L", + 9 + ] + ], + [ + [ + "L", + 256 + ], + [ + "L", + 61 + ] + ], + [ + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ], + [ + [ + "L", + 266 + ], + [ + "L", + 266 + ] + ] + ], + "start": 10680, + "swap_starts": [ + 10680, + 10685, + 10690, + 10698, + 10719, + 10735, + 10747 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ] + ], + "end": 10865, + "frame": 139, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ], + [ + [ + "L", + 277 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10861, + "swap_starts": [ + 10861 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ] + ], + "end": 10874, + "frame": 139, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ], + [ + [ + "L", + 275 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10870, + "swap_starts": [ + 10870 + ] + }, + { + "cycles": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ] + ], + "end": 10955, + "frame": 139, + "permutation": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 77 + ], + [ + "L", + 17 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ] + ], + [ + [ + "L", + 272 + ], + [ + "L", + 103 + ] + ], + [ + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ], + [ + [ + "L", + 282 + ], + [ + "L", + 282 + ] + ] + ], + "start": 10879, + "swap_starts": [ + 10879, + 10884, + 10889, + 10897, + 10918, + 10935, + 10947 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ] + ], + "end": 11065, + "frame": 168, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ], + [ + [ + "L", + 293 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11061, + "swap_starts": [ + 11061 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ] + ], + "end": 11074, + "frame": 168, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ], + [ + [ + "L", + 291 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11070, + "swap_starts": [ + 11070 + ] + }, + { + "cycles": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ] + ], + "end": 11155, + "frame": 168, + "permutation": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ], + [ + [ + "L", + 40 + ], + [ + "L", + 39 + ] + ], + [ + [ + "L", + 288 + ], + [ + "L", + 18 + ] + ], + [ + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 298 + ], + [ + "L", + 298 + ] + ] + ], + "start": 11079, + "swap_starts": [ + 11079, + 11084, + 11089, + 11097, + 11118, + 11135, + 11147 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ] + ], + "end": 11265, + "frame": 197, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ], + [ + [ + "L", + 309 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11261, + "swap_starts": [ + 11261 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ] + ], + "end": 11274, + "frame": 197, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ], + [ + [ + "L", + 307 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11270, + "swap_starts": [ + 11270 + ] + }, + { + "cycles": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ] + ], + "end": 11355, + "frame": 197, + "permutation": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ] + ], + [ + [ + "L", + 107 + ], + [ + "L", + 35 + ] + ], + [ + [ + "L", + 304 + ], + [ + "L", + 45 + ] + ], + [ + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ], + [ + [ + "L", + 314 + ], + [ + "L", + 314 + ] + ] + ], + "start": 11279, + "swap_starts": [ + 11279, + 11284, + 11289, + 11297, + 11318, + 11335, + 11347 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ] + ], + "end": 11465, + "frame": 226, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ], + [ + [ + "L", + 325 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11461, + "swap_starts": [ + 11461 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ] + ], + "end": 11474, + "frame": 226, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ], + [ + [ + "L", + 323 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11470, + "swap_starts": [ + 11470 + ] + }, + { + "cycles": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ] + ], + "end": 11555, + "frame": 226, + "permutation": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 23 + ], + [ + "L", + 22 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ] + ], + [ + [ + "L", + 320 + ], + [ + "L", + 108 + ] + ], + [ + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ], + [ + [ + "L", + 330 + ], + [ + "L", + 330 + ] + ] + ], + "start": 11479, + "swap_starts": [ + 11479, + 11484, + 11489, + 11497, + 11518, + 11535, + 11547 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ] + ], + "end": 11665, + "frame": 255, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ], + [ + [ + "L", + 341 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11661, + "swap_starts": [ + 11661 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ] + ], + "end": 11674, + "frame": 255, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ], + [ + [ + "L", + 339 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11670, + "swap_starts": [ + 11670 + ] + }, + { + "cycles": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ] + ], + "end": 11755, + "frame": 255, + "permutation": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 86 + ], + [ + "L", + 58 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ] + ], + [ + [ + "L", + 336 + ], + [ + "L", + 93 + ] + ], + [ + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ], + [ + [ + "L", + 346 + ], + [ + "L", + 346 + ] + ] + ], + "start": 11679, + "swap_starts": [ + 11679, + 11684, + 11689, + 11697, + 11718, + 11735, + 11747 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ] + ], + "end": 11865, + "frame": 284, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ], + [ + [ + "L", + 357 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11861, + "swap_starts": [ + 11861 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ] + ], + "end": 11874, + "frame": 284, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ], + [ + [ + "L", + 355 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11870, + "swap_starts": [ + 11870 + ] + }, + { + "cycles": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ] + ], + "end": 11955, + "frame": 284, + "permutation": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 30 + ], + [ + "L", + 29 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ] + ], + [ + [ + "L", + 352 + ], + [ + "L", + 59 + ] + ], + [ + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ], + [ + [ + "L", + 362 + ], + [ + "L", + 362 + ] + ] + ], + "start": 11879, + "swap_starts": [ + 11879, + 11884, + 11889, + 11897, + 11918, + 11935, + 11947 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ] + ], + "end": 12065, + "frame": 313, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ], + [ + [ + "L", + 373 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12061, + "swap_starts": [ + 12061 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ] + ], + "end": 12074, + "frame": 313, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ], + [ + [ + "L", + 371 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12070, + "swap_starts": [ + 12070 + ] + }, + { + "cycles": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ] + ], + "end": 12155, + "frame": 313, + "permutation": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ], + [ + [ + "L", + 95 + ], + [ + "L", + 26 + ] + ], + [ + [ + "L", + 368 + ], + [ + "L", + 8 + ] + ], + [ + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 378 + ], + [ + "L", + 378 + ] + ] + ], + "start": 12079, + "swap_starts": [ + 12079, + 12084, + 12089, + 12097, + 12118, + 12135, + 12147 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ] + ], + "end": 12265, + "frame": 342, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ], + [ + [ + "L", + 389 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12261, + "swap_starts": [ + 12261 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ] + ], + "end": 12274, + "frame": 342, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ], + [ + [ + "L", + 387 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12270, + "swap_starts": [ + 12270 + ] + }, + { + "cycles": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ] + ], + "end": 12355, + "frame": 342, + "permutation": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 65 + ], + [ + "L", + 64 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ] + ], + [ + [ + "L", + 384 + ], + [ + "L", + 96 + ] + ], + [ + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ], + [ + [ + "L", + 394 + ], + [ + "L", + 394 + ] + ] + ], + "start": 12279, + "swap_starts": [ + 12279, + 12284, + 12289, + 12297, + 12318, + 12335, + 12347 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ] + ], + "end": 12465, + "frame": 371, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ], + [ + [ + "L", + 405 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12461, + "swap_starts": [ + 12461 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ] + ], + "end": 12474, + "frame": 371, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ], + [ + [ + "L", + 403 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12470, + "swap_starts": [ + 12470 + ] + }, + { + "cycles": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ] + ], + "end": 12554, + "frame": 371, + "permutation": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ], + [ + [ + "L", + 106 + ], + [ + "L", + 42 + ] + ], + [ + [ + "L", + 400 + ], + [ + "L", + 41 + ] + ], + [ + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 410 + ], + [ + "L", + 410 + ] + ] + ], + "start": 12479, + "swap_starts": [ + 12479, + 12484, + 12489, + 12497, + 12518, + 12534, + 12546 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ] + ], + "end": 12664, + "frame": 400, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ], + [ + [ + "L", + 421 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12660, + "swap_starts": [ + 12660 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ] + ], + "end": 12673, + "frame": 400, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ], + [ + [ + "L", + 419 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12669, + "swap_starts": [ + 12669 + ] + }, + { + "cycles": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ] + ], + "end": 12753, + "frame": 400, + "permutation": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ] + ], + [ + [ + "L", + 104 + ], + [ + "L", + 16 + ] + ], + [ + [ + "L", + 416 + ], + [ + "L", + 43 + ] + ], + [ + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ], + [ + [ + "L", + 426 + ], + [ + "L", + 426 + ] + ] + ], + "start": 12678, + "swap_starts": [ + 12678, + 12683, + 12688, + 12696, + 12717, + 12733, + 12745 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ] + ], + "end": 12863, + "frame": 429, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ], + [ + [ + "L", + 437 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12859, + "swap_starts": [ + 12859 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ] + ], + "end": 12872, + "frame": 429, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ], + [ + [ + "L", + 435 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12868, + "swap_starts": [ + 12868 + ] + }, + { + "cycles": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ] + ], + "end": 12952, + "frame": 429, + "permutation": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ] + ], + [ + [ + "L", + 110 + ], + [ + "L", + 20 + ] + ], + [ + [ + "L", + 432 + ], + [ + "L", + 37 + ] + ], + [ + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ], + [ + [ + "L", + 442 + ], + [ + "L", + 442 + ] + ] + ], + "start": 12877, + "swap_starts": [ + 12877, + 12882, + 12887, + 12895, + 12916, + 12932, + 12944 + ] + } + ], + "ck/forward": [ + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ] + ], + "end": 10268, + "frame": 52, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ], + [ + [ + "L", + 229 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10264, + "swap_starts": [ + 10264 + ] + }, + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ] + ], + "end": 10277, + "frame": 52, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ], + [ + [ + "L", + 227 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10273, + "swap_starts": [ + 10273 + ] + }, + { + "cycles": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ] + ], + "end": 10357, + "frame": 52, + "permutation": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 81 + ], + [ + "L", + 57 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ] + ], + [ + [ + "L", + 224 + ], + [ + "L", + 92 + ] + ], + [ + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ], + [ + [ + "L", + 234 + ], + [ + "L", + 234 + ] + ] + ], + "start": 10282, + "swap_starts": [ + 10282, + 10287, + 10292, + 10300, + 10321, + 10337, + 10349 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ] + ], + "end": 10467, + "frame": 81, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ], + [ + [ + "L", + 245 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10463, + "swap_starts": [ + 10463 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ] + ], + "end": 10476, + "frame": 81, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ], + [ + [ + "L", + 243 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10472, + "swap_starts": [ + 10472 + ] + }, + { + "cycles": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ] + ], + "end": 10556, + "frame": 81, + "permutation": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 62 + ], + [ + "L", + 11 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ] + ], + [ + [ + "L", + 240 + ], + [ + "L", + 63 + ] + ], + [ + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ], + [ + [ + "L", + 250 + ], + [ + "L", + 250 + ] + ] + ], + "start": 10481, + "swap_starts": [ + 10481, + 10486, + 10491, + 10499, + 10520, + 10536, + 10548 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ] + ], + "end": 10666, + "frame": 110, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ], + [ + [ + "L", + 261 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10662, + "swap_starts": [ + 10662 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ] + ], + "end": 10675, + "frame": 110, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ], + [ + [ + "L", + 259 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10671, + "swap_starts": [ + 10671 + ] + }, + { + "cycles": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ] + ], + "end": 10755, + "frame": 110, + "permutation": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ] + ], + [ + [ + "L", + 94 + ], + [ + "L", + 9 + ] + ], + [ + [ + "L", + 256 + ], + [ + "L", + 61 + ] + ], + [ + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ], + [ + [ + "L", + 266 + ], + [ + "L", + 266 + ] + ] + ], + "start": 10680, + "swap_starts": [ + 10680, + 10685, + 10690, + 10698, + 10719, + 10735, + 10747 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ] + ], + "end": 10865, + "frame": 139, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ], + [ + [ + "L", + 277 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10861, + "swap_starts": [ + 10861 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ] + ], + "end": 10874, + "frame": 139, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ], + [ + [ + "L", + 275 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10870, + "swap_starts": [ + 10870 + ] + }, + { + "cycles": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ] + ], + "end": 10955, + "frame": 139, + "permutation": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 77 + ], + [ + "L", + 17 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ] + ], + [ + [ + "L", + 272 + ], + [ + "L", + 103 + ] + ], + [ + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ], + [ + [ + "L", + 282 + ], + [ + "L", + 282 + ] + ] + ], + "start": 10879, + "swap_starts": [ + 10879, + 10884, + 10889, + 10897, + 10918, + 10935, + 10947 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ] + ], + "end": 11065, + "frame": 168, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ], + [ + [ + "L", + 293 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11061, + "swap_starts": [ + 11061 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ] + ], + "end": 11074, + "frame": 168, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ], + [ + [ + "L", + 291 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11070, + "swap_starts": [ + 11070 + ] + }, + { + "cycles": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ] + ], + "end": 11155, + "frame": 168, + "permutation": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ], + [ + [ + "L", + 40 + ], + [ + "L", + 39 + ] + ], + [ + [ + "L", + 288 + ], + [ + "L", + 18 + ] + ], + [ + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 298 + ], + [ + "L", + 298 + ] + ] + ], + "start": 11079, + "swap_starts": [ + 11079, + 11084, + 11089, + 11097, + 11118, + 11135, + 11147 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ] + ], + "end": 11265, + "frame": 197, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ], + [ + [ + "L", + 309 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11261, + "swap_starts": [ + 11261 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ] + ], + "end": 11274, + "frame": 197, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ], + [ + [ + "L", + 307 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11270, + "swap_starts": [ + 11270 + ] + }, + { + "cycles": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ] + ], + "end": 11355, + "frame": 197, + "permutation": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ] + ], + [ + [ + "L", + 107 + ], + [ + "L", + 35 + ] + ], + [ + [ + "L", + 304 + ], + [ + "L", + 45 + ] + ], + [ + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ], + [ + [ + "L", + 314 + ], + [ + "L", + 314 + ] + ] + ], + "start": 11279, + "swap_starts": [ + 11279, + 11284, + 11289, + 11297, + 11318, + 11335, + 11347 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ] + ], + "end": 11465, + "frame": 226, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ], + [ + [ + "L", + 325 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11461, + "swap_starts": [ + 11461 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ] + ], + "end": 11474, + "frame": 226, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ], + [ + [ + "L", + 323 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11470, + "swap_starts": [ + 11470 + ] + }, + { + "cycles": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ] + ], + "end": 11555, + "frame": 226, + "permutation": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 23 + ], + [ + "L", + 22 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ] + ], + [ + [ + "L", + 320 + ], + [ + "L", + 108 + ] + ], + [ + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ], + [ + [ + "L", + 330 + ], + [ + "L", + 330 + ] + ] + ], + "start": 11479, + "swap_starts": [ + 11479, + 11484, + 11489, + 11497, + 11518, + 11535, + 11547 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ] + ], + "end": 11665, + "frame": 255, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ], + [ + [ + "L", + 341 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11661, + "swap_starts": [ + 11661 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ] + ], + "end": 11674, + "frame": 255, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ], + [ + [ + "L", + 339 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11670, + "swap_starts": [ + 11670 + ] + }, + { + "cycles": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ] + ], + "end": 11755, + "frame": 255, + "permutation": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 86 + ], + [ + "L", + 58 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ] + ], + [ + [ + "L", + 336 + ], + [ + "L", + 93 + ] + ], + [ + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ], + [ + [ + "L", + 346 + ], + [ + "L", + 346 + ] + ] + ], + "start": 11679, + "swap_starts": [ + 11679, + 11684, + 11689, + 11697, + 11718, + 11735, + 11747 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ] + ], + "end": 11865, + "frame": 284, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ], + [ + [ + "L", + 357 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11861, + "swap_starts": [ + 11861 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ] + ], + "end": 11874, + "frame": 284, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ], + [ + [ + "L", + 355 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11870, + "swap_starts": [ + 11870 + ] + }, + { + "cycles": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ] + ], + "end": 11955, + "frame": 284, + "permutation": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 30 + ], + [ + "L", + 29 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ] + ], + [ + [ + "L", + 352 + ], + [ + "L", + 59 + ] + ], + [ + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ], + [ + [ + "L", + 362 + ], + [ + "L", + 362 + ] + ] + ], + "start": 11879, + "swap_starts": [ + 11879, + 11884, + 11889, + 11897, + 11918, + 11935, + 11947 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ] + ], + "end": 12065, + "frame": 313, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ], + [ + [ + "L", + 373 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12061, + "swap_starts": [ + 12061 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ] + ], + "end": 12074, + "frame": 313, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ], + [ + [ + "L", + 371 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12070, + "swap_starts": [ + 12070 + ] + }, + { + "cycles": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ] + ], + "end": 12155, + "frame": 313, + "permutation": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ], + [ + [ + "L", + 95 + ], + [ + "L", + 26 + ] + ], + [ + [ + "L", + 368 + ], + [ + "L", + 8 + ] + ], + [ + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 378 + ], + [ + "L", + 378 + ] + ] + ], + "start": 12079, + "swap_starts": [ + 12079, + 12084, + 12089, + 12097, + 12118, + 12135, + 12147 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ] + ], + "end": 12265, + "frame": 342, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ], + [ + [ + "L", + 389 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12261, + "swap_starts": [ + 12261 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ] + ], + "end": 12274, + "frame": 342, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ], + [ + [ + "L", + 387 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12270, + "swap_starts": [ + 12270 + ] + }, + { + "cycles": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ] + ], + "end": 12355, + "frame": 342, + "permutation": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 65 + ], + [ + "L", + 64 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ] + ], + [ + [ + "L", + 384 + ], + [ + "L", + 96 + ] + ], + [ + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ], + [ + [ + "L", + 394 + ], + [ + "L", + 394 + ] + ] + ], + "start": 12279, + "swap_starts": [ + 12279, + 12284, + 12289, + 12297, + 12318, + 12335, + 12347 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ] + ], + "end": 12465, + "frame": 371, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ], + [ + [ + "L", + 405 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12461, + "swap_starts": [ + 12461 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ] + ], + "end": 12474, + "frame": 371, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ], + [ + [ + "L", + 403 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12470, + "swap_starts": [ + 12470 + ] + }, + { + "cycles": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ] + ], + "end": 12554, + "frame": 371, + "permutation": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ], + [ + [ + "L", + 106 + ], + [ + "L", + 42 + ] + ], + [ + [ + "L", + 400 + ], + [ + "L", + 41 + ] + ], + [ + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 410 + ], + [ + "L", + 410 + ] + ] + ], + "start": 12479, + "swap_starts": [ + 12479, + 12484, + 12489, + 12497, + 12518, + 12534, + 12546 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ] + ], + "end": 12664, + "frame": 400, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ], + [ + [ + "L", + 421 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12660, + "swap_starts": [ + 12660 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ] + ], + "end": 12673, + "frame": 400, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ], + [ + [ + "L", + 419 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12669, + "swap_starts": [ + 12669 + ] + }, + { + "cycles": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ] + ], + "end": 12753, + "frame": 400, + "permutation": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ] + ], + [ + [ + "L", + 104 + ], + [ + "L", + 16 + ] + ], + [ + [ + "L", + 416 + ], + [ + "L", + 43 + ] + ], + [ + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ], + [ + [ + "L", + 426 + ], + [ + "L", + 426 + ] + ] + ], + "start": 12678, + "swap_starts": [ + 12678, + 12683, + 12688, + 12696, + 12717, + 12733, + 12745 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ] + ], + "end": 12863, + "frame": 429, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ], + [ + [ + "L", + 437 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12859, + "swap_starts": [ + 12859 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ] + ], + "end": 12872, + "frame": 429, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ], + [ + [ + "L", + 435 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12868, + "swap_starts": [ + 12868 + ] + }, + { + "cycles": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ] + ], + "end": 12952, + "frame": 429, + "permutation": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ] + ], + [ + [ + "L", + 110 + ], + [ + "L", + 20 + ] + ], + [ + [ + "L", + 432 + ], + [ + "L", + 37 + ] + ], + [ + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ], + [ + [ + "L", + 442 + ], + [ + "L", + 442 + ] + ] + ], + "start": 12877, + "swap_starts": [ + 12877, + 12882, + 12887, + 12895, + 12916, + 12932, + 12944 + ] + } + ], + "jp8/backward": [ + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ] + ], + "end": 10324, + "frame": 36, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ], + [ + [ + "L", + 229 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10320, + "swap_starts": [ + 10320 + ] + }, + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ] + ], + "end": 10333, + "frame": 36, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ], + [ + [ + "L", + 227 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10329, + "swap_starts": [ + 10329 + ] + }, + { + "cycles": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ] + ], + "end": 10413, + "frame": 36, + "permutation": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 81 + ], + [ + "L", + 57 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ] + ], + [ + [ + "L", + 224 + ], + [ + "L", + 92 + ] + ], + [ + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ], + [ + [ + "L", + 234 + ], + [ + "L", + 234 + ] + ] + ], + "start": 10338, + "swap_starts": [ + 10338, + 10343, + 10348, + 10356, + 10377, + 10393, + 10405 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ] + ], + "end": 10523, + "frame": 65, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ], + [ + [ + "L", + 245 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10519, + "swap_starts": [ + 10519 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ] + ], + "end": 10532, + "frame": 65, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ], + [ + [ + "L", + 243 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10528, + "swap_starts": [ + 10528 + ] + }, + { + "cycles": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ] + ], + "end": 10612, + "frame": 65, + "permutation": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 62 + ], + [ + "L", + 11 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ] + ], + [ + [ + "L", + 240 + ], + [ + "L", + 63 + ] + ], + [ + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ], + [ + [ + "L", + 250 + ], + [ + "L", + 250 + ] + ] + ], + "start": 10537, + "swap_starts": [ + 10537, + 10542, + 10547, + 10555, + 10576, + 10592, + 10604 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ] + ], + "end": 10722, + "frame": 94, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ], + [ + [ + "L", + 261 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10718, + "swap_starts": [ + 10718 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ] + ], + "end": 10731, + "frame": 94, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ], + [ + [ + "L", + 259 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10727, + "swap_starts": [ + 10727 + ] + }, + { + "cycles": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ] + ], + "end": 10811, + "frame": 94, + "permutation": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ] + ], + [ + [ + "L", + 94 + ], + [ + "L", + 9 + ] + ], + [ + [ + "L", + 256 + ], + [ + "L", + 61 + ] + ], + [ + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ], + [ + [ + "L", + 266 + ], + [ + "L", + 266 + ] + ] + ], + "start": 10736, + "swap_starts": [ + 10736, + 10741, + 10746, + 10754, + 10775, + 10791, + 10803 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ] + ], + "end": 10921, + "frame": 123, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ], + [ + [ + "L", + 277 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10917, + "swap_starts": [ + 10917 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ] + ], + "end": 10930, + "frame": 123, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ], + [ + [ + "L", + 275 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10926, + "swap_starts": [ + 10926 + ] + }, + { + "cycles": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ] + ], + "end": 11011, + "frame": 123, + "permutation": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 77 + ], + [ + "L", + 17 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ] + ], + [ + [ + "L", + 272 + ], + [ + "L", + 103 + ] + ], + [ + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ], + [ + [ + "L", + 282 + ], + [ + "L", + 282 + ] + ] + ], + "start": 10935, + "swap_starts": [ + 10935, + 10940, + 10945, + 10953, + 10974, + 10991, + 11003 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ] + ], + "end": 11121, + "frame": 152, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ], + [ + [ + "L", + 293 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11117, + "swap_starts": [ + 11117 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ] + ], + "end": 11130, + "frame": 152, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ], + [ + [ + "L", + 291 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11126, + "swap_starts": [ + 11126 + ] + }, + { + "cycles": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ] + ], + "end": 11211, + "frame": 152, + "permutation": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ], + [ + [ + "L", + 40 + ], + [ + "L", + 39 + ] + ], + [ + [ + "L", + 288 + ], + [ + "L", + 18 + ] + ], + [ + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 298 + ], + [ + "L", + 298 + ] + ] + ], + "start": 11135, + "swap_starts": [ + 11135, + 11140, + 11145, + 11153, + 11174, + 11191, + 11203 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ] + ], + "end": 11321, + "frame": 181, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ], + [ + [ + "L", + 309 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11317, + "swap_starts": [ + 11317 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ] + ], + "end": 11330, + "frame": 181, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ], + [ + [ + "L", + 307 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11326, + "swap_starts": [ + 11326 + ] + }, + { + "cycles": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ] + ], + "end": 11411, + "frame": 181, + "permutation": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ] + ], + [ + [ + "L", + 107 + ], + [ + "L", + 35 + ] + ], + [ + [ + "L", + 304 + ], + [ + "L", + 45 + ] + ], + [ + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ], + [ + [ + "L", + 314 + ], + [ + "L", + 314 + ] + ] + ], + "start": 11335, + "swap_starts": [ + 11335, + 11340, + 11345, + 11353, + 11374, + 11391, + 11403 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ] + ], + "end": 11521, + "frame": 210, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ], + [ + [ + "L", + 325 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11517, + "swap_starts": [ + 11517 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ] + ], + "end": 11530, + "frame": 210, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ], + [ + [ + "L", + 323 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11526, + "swap_starts": [ + 11526 + ] + }, + { + "cycles": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ] + ], + "end": 11611, + "frame": 210, + "permutation": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 23 + ], + [ + "L", + 22 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ] + ], + [ + [ + "L", + 320 + ], + [ + "L", + 108 + ] + ], + [ + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ], + [ + [ + "L", + 330 + ], + [ + "L", + 330 + ] + ] + ], + "start": 11535, + "swap_starts": [ + 11535, + 11540, + 11545, + 11553, + 11574, + 11591, + 11603 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ] + ], + "end": 11721, + "frame": 239, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ], + [ + [ + "L", + 341 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11717, + "swap_starts": [ + 11717 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ] + ], + "end": 11730, + "frame": 239, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ], + [ + [ + "L", + 339 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11726, + "swap_starts": [ + 11726 + ] + }, + { + "cycles": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ] + ], + "end": 11811, + "frame": 239, + "permutation": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 86 + ], + [ + "L", + 58 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ] + ], + [ + [ + "L", + 336 + ], + [ + "L", + 93 + ] + ], + [ + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ], + [ + [ + "L", + 346 + ], + [ + "L", + 346 + ] + ] + ], + "start": 11735, + "swap_starts": [ + 11735, + 11740, + 11745, + 11753, + 11774, + 11791, + 11803 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ] + ], + "end": 11921, + "frame": 268, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ], + [ + [ + "L", + 357 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11917, + "swap_starts": [ + 11917 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ] + ], + "end": 11930, + "frame": 268, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ], + [ + [ + "L", + 355 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11926, + "swap_starts": [ + 11926 + ] + }, + { + "cycles": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ] + ], + "end": 12011, + "frame": 268, + "permutation": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 30 + ], + [ + "L", + 29 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ] + ], + [ + [ + "L", + 352 + ], + [ + "L", + 59 + ] + ], + [ + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ], + [ + [ + "L", + 362 + ], + [ + "L", + 362 + ] + ] + ], + "start": 11935, + "swap_starts": [ + 11935, + 11940, + 11945, + 11953, + 11974, + 11991, + 12003 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ] + ], + "end": 12121, + "frame": 297, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ], + [ + [ + "L", + 373 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12117, + "swap_starts": [ + 12117 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ] + ], + "end": 12130, + "frame": 297, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ], + [ + [ + "L", + 371 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12126, + "swap_starts": [ + 12126 + ] + }, + { + "cycles": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ] + ], + "end": 12211, + "frame": 297, + "permutation": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ], + [ + [ + "L", + 95 + ], + [ + "L", + 26 + ] + ], + [ + [ + "L", + 368 + ], + [ + "L", + 8 + ] + ], + [ + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 378 + ], + [ + "L", + 378 + ] + ] + ], + "start": 12135, + "swap_starts": [ + 12135, + 12140, + 12145, + 12153, + 12174, + 12191, + 12203 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ] + ], + "end": 12321, + "frame": 326, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ], + [ + [ + "L", + 389 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12317, + "swap_starts": [ + 12317 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ] + ], + "end": 12330, + "frame": 326, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ], + [ + [ + "L", + 387 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12326, + "swap_starts": [ + 12326 + ] + }, + { + "cycles": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ] + ], + "end": 12411, + "frame": 326, + "permutation": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 65 + ], + [ + "L", + 64 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ] + ], + [ + [ + "L", + 384 + ], + [ + "L", + 96 + ] + ], + [ + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ], + [ + [ + "L", + 394 + ], + [ + "L", + 394 + ] + ] + ], + "start": 12335, + "swap_starts": [ + 12335, + 12340, + 12345, + 12353, + 12374, + 12391, + 12403 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ] + ], + "end": 12521, + "frame": 355, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ], + [ + [ + "L", + 405 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12517, + "swap_starts": [ + 12517 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ] + ], + "end": 12530, + "frame": 355, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ], + [ + [ + "L", + 403 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12526, + "swap_starts": [ + 12526 + ] + }, + { + "cycles": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ] + ], + "end": 12610, + "frame": 355, + "permutation": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ], + [ + [ + "L", + 106 + ], + [ + "L", + 42 + ] + ], + [ + [ + "L", + 400 + ], + [ + "L", + 41 + ] + ], + [ + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 410 + ], + [ + "L", + 410 + ] + ] + ], + "start": 12535, + "swap_starts": [ + 12535, + 12540, + 12545, + 12553, + 12574, + 12590, + 12602 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ] + ], + "end": 12720, + "frame": 384, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ], + [ + [ + "L", + 421 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12716, + "swap_starts": [ + 12716 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ] + ], + "end": 12729, + "frame": 384, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ], + [ + [ + "L", + 419 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12725, + "swap_starts": [ + 12725 + ] + }, + { + "cycles": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ] + ], + "end": 12809, + "frame": 384, + "permutation": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ] + ], + [ + [ + "L", + 104 + ], + [ + "L", + 16 + ] + ], + [ + [ + "L", + 416 + ], + [ + "L", + 43 + ] + ], + [ + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ], + [ + [ + "L", + 426 + ], + [ + "L", + 426 + ] + ] + ], + "start": 12734, + "swap_starts": [ + 12734, + 12739, + 12744, + 12752, + 12773, + 12789, + 12801 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ] + ], + "end": 12919, + "frame": 413, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ], + [ + [ + "L", + 437 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12915, + "swap_starts": [ + 12915 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ] + ], + "end": 12928, + "frame": 413, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ], + [ + [ + "L", + 435 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12924, + "swap_starts": [ + 12924 + ] + }, + { + "cycles": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ] + ], + "end": 13008, + "frame": 413, + "permutation": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ] + ], + [ + [ + "L", + 110 + ], + [ + "L", + 20 + ] + ], + [ + [ + "L", + 432 + ], + [ + "L", + 37 + ] + ], + [ + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ], + [ + [ + "L", + 442 + ], + [ + "L", + 442 + ] + ] + ], + "start": 12933, + "swap_starts": [ + 12933, + 12938, + 12943, + 12951, + 12972, + 12988, + 13000 + ] + } + ], + "jp8/forward": [ + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ] + ], + "end": 10324, + "frame": 36, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 229 + ] + ], + [ + [ + "L", + 229 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10320, + "swap_starts": [ + 10320 + ] + }, + { + "cycles": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ] + ], + "end": 10333, + "frame": 36, + "permutation": [ + [ + [ + "L", + 224 + ], + [ + "L", + 227 + ] + ], + [ + [ + "L", + 227 + ], + [ + "L", + 224 + ] + ] + ], + "start": 10329, + "swap_starts": [ + 10329 + ] + }, + { + "cycles": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ] + ], + "end": 10413, + "frame": 36, + "permutation": [ + [ + [ + "L", + 57 + ], + [ + "L", + 81 + ] + ], + [ + [ + "L", + 81 + ], + [ + "L", + 57 + ] + ], + [ + [ + "L", + 92 + ], + [ + "L", + 225 + ] + ], + [ + [ + "L", + 224 + ], + [ + "L", + 92 + ] + ], + [ + [ + "L", + 225 + ], + [ + "L", + 224 + ] + ], + [ + [ + "L", + 234 + ], + [ + "L", + 234 + ] + ] + ], + "start": 10338, + "swap_starts": [ + 10338, + 10343, + 10348, + 10356, + 10377, + 10393, + 10405 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ] + ], + "end": 10523, + "frame": 65, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 245 + ] + ], + [ + [ + "L", + 245 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10519, + "swap_starts": [ + 10519 + ] + }, + { + "cycles": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ] + ], + "end": 10532, + "frame": 65, + "permutation": [ + [ + [ + "L", + 240 + ], + [ + "L", + 243 + ] + ], + [ + [ + "L", + 243 + ], + [ + "L", + 240 + ] + ] + ], + "start": 10528, + "swap_starts": [ + 10528 + ] + }, + { + "cycles": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ] + ], + "end": 10612, + "frame": 65, + "permutation": [ + [ + [ + "L", + 11 + ], + [ + "L", + 62 + ] + ], + [ + [ + "L", + 62 + ], + [ + "L", + 11 + ] + ], + [ + [ + "L", + 63 + ], + [ + "L", + 241 + ] + ], + [ + [ + "L", + 240 + ], + [ + "L", + 63 + ] + ], + [ + [ + "L", + 241 + ], + [ + "L", + 240 + ] + ], + [ + [ + "L", + 250 + ], + [ + "L", + 250 + ] + ] + ], + "start": 10537, + "swap_starts": [ + 10537, + 10542, + 10547, + 10555, + 10576, + 10592, + 10604 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ] + ], + "end": 10722, + "frame": 94, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 261 + ] + ], + [ + [ + "L", + 261 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10718, + "swap_starts": [ + 10718 + ] + }, + { + "cycles": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ] + ], + "end": 10731, + "frame": 94, + "permutation": [ + [ + [ + "L", + 256 + ], + [ + "L", + 259 + ] + ], + [ + [ + "L", + 259 + ], + [ + "L", + 256 + ] + ] + ], + "start": 10727, + "swap_starts": [ + 10727 + ] + }, + { + "cycles": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ] + ], + "end": 10811, + "frame": 94, + "permutation": [ + [ + [ + "L", + 9 + ], + [ + "L", + 94 + ] + ], + [ + [ + "L", + 61 + ], + [ + "L", + 257 + ] + ], + [ + [ + "L", + 94 + ], + [ + "L", + 9 + ] + ], + [ + [ + "L", + 256 + ], + [ + "L", + 61 + ] + ], + [ + [ + "L", + 257 + ], + [ + "L", + 256 + ] + ], + [ + [ + "L", + 266 + ], + [ + "L", + 266 + ] + ] + ], + "start": 10736, + "swap_starts": [ + 10736, + 10741, + 10746, + 10754, + 10775, + 10791, + 10803 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ] + ], + "end": 10921, + "frame": 123, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 277 + ] + ], + [ + [ + "L", + 277 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10917, + "swap_starts": [ + 10917 + ] + }, + { + "cycles": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ] + ], + "end": 10930, + "frame": 123, + "permutation": [ + [ + [ + "L", + 272 + ], + [ + "L", + 275 + ] + ], + [ + [ + "L", + 275 + ], + [ + "L", + 272 + ] + ] + ], + "start": 10926, + "swap_starts": [ + 10926 + ] + }, + { + "cycles": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ] + ], + "end": 11011, + "frame": 123, + "permutation": [ + [ + [ + "L", + 17 + ], + [ + "L", + 77 + ] + ], + [ + [ + "L", + 77 + ], + [ + "L", + 17 + ] + ], + [ + [ + "L", + 103 + ], + [ + "L", + 273 + ] + ], + [ + [ + "L", + 272 + ], + [ + "L", + 103 + ] + ], + [ + [ + "L", + 273 + ], + [ + "L", + 272 + ] + ], + [ + [ + "L", + 282 + ], + [ + "L", + 282 + ] + ] + ], + "start": 10935, + "swap_starts": [ + 10935, + 10940, + 10945, + 10953, + 10974, + 10991, + 11003 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ] + ], + "end": 11121, + "frame": 152, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 293 + ] + ], + [ + [ + "L", + 293 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11117, + "swap_starts": [ + 11117 + ] + }, + { + "cycles": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ] + ], + "end": 11130, + "frame": 152, + "permutation": [ + [ + [ + "L", + 288 + ], + [ + "L", + 291 + ] + ], + [ + [ + "L", + 291 + ], + [ + "L", + 288 + ] + ] + ], + "start": 11126, + "swap_starts": [ + 11126 + ] + }, + { + "cycles": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ] + ], + "end": 11211, + "frame": 152, + "permutation": [ + [ + [ + "L", + 18 + ], + [ + "L", + 289 + ] + ], + [ + [ + "L", + 39 + ], + [ + "L", + 40 + ] + ], + [ + [ + "L", + 40 + ], + [ + "L", + 39 + ] + ], + [ + [ + "L", + 288 + ], + [ + "L", + 18 + ] + ], + [ + [ + "L", + 289 + ], + [ + "L", + 288 + ] + ], + [ + [ + "L", + 298 + ], + [ + "L", + 298 + ] + ] + ], + "start": 11135, + "swap_starts": [ + 11135, + 11140, + 11145, + 11153, + 11174, + 11191, + 11203 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ] + ], + "end": 11321, + "frame": 181, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 309 + ] + ], + [ + [ + "L", + 309 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11317, + "swap_starts": [ + 11317 + ] + }, + { + "cycles": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ] + ], + "end": 11330, + "frame": 181, + "permutation": [ + [ + [ + "L", + 304 + ], + [ + "L", + 307 + ] + ], + [ + [ + "L", + 307 + ], + [ + "L", + 304 + ] + ] + ], + "start": 11326, + "swap_starts": [ + 11326 + ] + }, + { + "cycles": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ] + ], + "end": 11411, + "frame": 181, + "permutation": [ + [ + [ + "L", + 35 + ], + [ + "L", + 107 + ] + ], + [ + [ + "L", + 45 + ], + [ + "L", + 305 + ] + ], + [ + [ + "L", + 107 + ], + [ + "L", + 35 + ] + ], + [ + [ + "L", + 304 + ], + [ + "L", + 45 + ] + ], + [ + [ + "L", + 305 + ], + [ + "L", + 304 + ] + ], + [ + [ + "L", + 314 + ], + [ + "L", + 314 + ] + ] + ], + "start": 11335, + "swap_starts": [ + 11335, + 11340, + 11345, + 11353, + 11374, + 11391, + 11403 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ] + ], + "end": 11521, + "frame": 210, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 325 + ] + ], + [ + [ + "L", + 325 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11517, + "swap_starts": [ + 11517 + ] + }, + { + "cycles": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ] + ], + "end": 11530, + "frame": 210, + "permutation": [ + [ + [ + "L", + 320 + ], + [ + "L", + 323 + ] + ], + [ + [ + "L", + 323 + ], + [ + "L", + 320 + ] + ] + ], + "start": 11526, + "swap_starts": [ + 11526 + ] + }, + { + "cycles": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ] + ], + "end": 11611, + "frame": 210, + "permutation": [ + [ + [ + "L", + 22 + ], + [ + "L", + 23 + ] + ], + [ + [ + "L", + 23 + ], + [ + "L", + 22 + ] + ], + [ + [ + "L", + 108 + ], + [ + "L", + 321 + ] + ], + [ + [ + "L", + 320 + ], + [ + "L", + 108 + ] + ], + [ + [ + "L", + 321 + ], + [ + "L", + 320 + ] + ], + [ + [ + "L", + 330 + ], + [ + "L", + 330 + ] + ] + ], + "start": 11535, + "swap_starts": [ + 11535, + 11540, + 11545, + 11553, + 11574, + 11591, + 11603 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ] + ], + "end": 11721, + "frame": 239, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 341 + ] + ], + [ + [ + "L", + 341 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11717, + "swap_starts": [ + 11717 + ] + }, + { + "cycles": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ] + ], + "end": 11730, + "frame": 239, + "permutation": [ + [ + [ + "L", + 336 + ], + [ + "L", + 339 + ] + ], + [ + [ + "L", + 339 + ], + [ + "L", + 336 + ] + ] + ], + "start": 11726, + "swap_starts": [ + 11726 + ] + }, + { + "cycles": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ] + ], + "end": 11811, + "frame": 239, + "permutation": [ + [ + [ + "L", + 58 + ], + [ + "L", + 86 + ] + ], + [ + [ + "L", + 86 + ], + [ + "L", + 58 + ] + ], + [ + [ + "L", + 93 + ], + [ + "L", + 337 + ] + ], + [ + [ + "L", + 336 + ], + [ + "L", + 93 + ] + ], + [ + [ + "L", + 337 + ], + [ + "L", + 336 + ] + ], + [ + [ + "L", + 346 + ], + [ + "L", + 346 + ] + ] + ], + "start": 11735, + "swap_starts": [ + 11735, + 11740, + 11745, + 11753, + 11774, + 11791, + 11803 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ] + ], + "end": 11921, + "frame": 268, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 357 + ] + ], + [ + [ + "L", + 357 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11917, + "swap_starts": [ + 11917 + ] + }, + { + "cycles": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ] + ], + "end": 11930, + "frame": 268, + "permutation": [ + [ + [ + "L", + 352 + ], + [ + "L", + 355 + ] + ], + [ + [ + "L", + 355 + ], + [ + "L", + 352 + ] + ] + ], + "start": 11926, + "swap_starts": [ + 11926 + ] + }, + { + "cycles": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ] + ], + "end": 12011, + "frame": 268, + "permutation": [ + [ + [ + "L", + 29 + ], + [ + "L", + 30 + ] + ], + [ + [ + "L", + 30 + ], + [ + "L", + 29 + ] + ], + [ + [ + "L", + 59 + ], + [ + "L", + 353 + ] + ], + [ + [ + "L", + 352 + ], + [ + "L", + 59 + ] + ], + [ + [ + "L", + 353 + ], + [ + "L", + 352 + ] + ], + [ + [ + "L", + 362 + ], + [ + "L", + 362 + ] + ] + ], + "start": 11935, + "swap_starts": [ + 11935, + 11940, + 11945, + 11953, + 11974, + 11991, + 12003 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ] + ], + "end": 12121, + "frame": 297, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 373 + ] + ], + [ + [ + "L", + 373 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12117, + "swap_starts": [ + 12117 + ] + }, + { + "cycles": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ] + ], + "end": 12130, + "frame": 297, + "permutation": [ + [ + [ + "L", + 368 + ], + [ + "L", + 371 + ] + ], + [ + [ + "L", + 371 + ], + [ + "L", + 368 + ] + ] + ], + "start": 12126, + "swap_starts": [ + 12126 + ] + }, + { + "cycles": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ] + ], + "end": 12211, + "frame": 297, + "permutation": [ + [ + [ + "L", + 8 + ], + [ + "L", + 369 + ] + ], + [ + [ + "L", + 26 + ], + [ + "L", + 95 + ] + ], + [ + [ + "L", + 95 + ], + [ + "L", + 26 + ] + ], + [ + [ + "L", + 368 + ], + [ + "L", + 8 + ] + ], + [ + [ + "L", + 369 + ], + [ + "L", + 368 + ] + ], + [ + [ + "L", + 378 + ], + [ + "L", + 378 + ] + ] + ], + "start": 12135, + "swap_starts": [ + 12135, + 12140, + 12145, + 12153, + 12174, + 12191, + 12203 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ] + ], + "end": 12321, + "frame": 326, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 389 + ] + ], + [ + [ + "L", + 389 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12317, + "swap_starts": [ + 12317 + ] + }, + { + "cycles": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ] + ], + "end": 12330, + "frame": 326, + "permutation": [ + [ + [ + "L", + 384 + ], + [ + "L", + 387 + ] + ], + [ + [ + "L", + 387 + ], + [ + "L", + 384 + ] + ] + ], + "start": 12326, + "swap_starts": [ + 12326 + ] + }, + { + "cycles": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ] + ], + "end": 12411, + "frame": 326, + "permutation": [ + [ + [ + "L", + 64 + ], + [ + "L", + 65 + ] + ], + [ + [ + "L", + 65 + ], + [ + "L", + 64 + ] + ], + [ + [ + "L", + 96 + ], + [ + "L", + 385 + ] + ], + [ + [ + "L", + 384 + ], + [ + "L", + 96 + ] + ], + [ + [ + "L", + 385 + ], + [ + "L", + 384 + ] + ], + [ + [ + "L", + 394 + ], + [ + "L", + 394 + ] + ] + ], + "start": 12335, + "swap_starts": [ + 12335, + 12340, + 12345, + 12353, + 12374, + 12391, + 12403 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ] + ], + "end": 12521, + "frame": 355, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 405 + ] + ], + [ + [ + "L", + 405 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12517, + "swap_starts": [ + 12517 + ] + }, + { + "cycles": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ] + ], + "end": 12530, + "frame": 355, + "permutation": [ + [ + [ + "L", + 400 + ], + [ + "L", + 403 + ] + ], + [ + [ + "L", + 403 + ], + [ + "L", + 400 + ] + ] + ], + "start": 12526, + "swap_starts": [ + 12526 + ] + }, + { + "cycles": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ] + ], + "end": 12610, + "frame": 355, + "permutation": [ + [ + [ + "L", + 41 + ], + [ + "L", + 401 + ] + ], + [ + [ + "L", + 42 + ], + [ + "L", + 106 + ] + ], + [ + [ + "L", + 106 + ], + [ + "L", + 42 + ] + ], + [ + [ + "L", + 400 + ], + [ + "L", + 41 + ] + ], + [ + [ + "L", + 401 + ], + [ + "L", + 400 + ] + ], + [ + [ + "L", + 410 + ], + [ + "L", + 410 + ] + ] + ], + "start": 12535, + "swap_starts": [ + 12535, + 12540, + 12545, + 12553, + 12574, + 12590, + 12602 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ] + ], + "end": 12720, + "frame": 384, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 421 + ] + ], + [ + [ + "L", + 421 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12716, + "swap_starts": [ + 12716 + ] + }, + { + "cycles": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ] + ], + "end": 12729, + "frame": 384, + "permutation": [ + [ + [ + "L", + 416 + ], + [ + "L", + 419 + ] + ], + [ + [ + "L", + 419 + ], + [ + "L", + 416 + ] + ] + ], + "start": 12725, + "swap_starts": [ + 12725 + ] + }, + { + "cycles": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ] + ], + "end": 12809, + "frame": 384, + "permutation": [ + [ + [ + "L", + 16 + ], + [ + "L", + 104 + ] + ], + [ + [ + "L", + 43 + ], + [ + "L", + 417 + ] + ], + [ + [ + "L", + 104 + ], + [ + "L", + 16 + ] + ], + [ + [ + "L", + 416 + ], + [ + "L", + 43 + ] + ], + [ + [ + "L", + 417 + ], + [ + "L", + 416 + ] + ], + [ + [ + "L", + 426 + ], + [ + "L", + 426 + ] + ] + ], + "start": 12734, + "swap_starts": [ + 12734, + 12739, + 12744, + 12752, + 12773, + 12789, + 12801 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ] + ], + "end": 12919, + "frame": 413, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 437 + ] + ], + [ + [ + "L", + 437 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12915, + "swap_starts": [ + 12915 + ] + }, + { + "cycles": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ] + ], + "end": 12928, + "frame": 413, + "permutation": [ + [ + [ + "L", + 432 + ], + [ + "L", + 435 + ] + ], + [ + [ + "L", + 435 + ], + [ + "L", + 432 + ] + ] + ], + "start": 12924, + "swap_starts": [ + 12924 + ] + }, + { + "cycles": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ] + ], + "end": 13008, + "frame": 413, + "permutation": [ + [ + [ + "L", + 20 + ], + [ + "L", + 110 + ] + ], + [ + [ + "L", + 37 + ], + [ + "L", + 433 + ] + ], + [ + [ + "L", + 110 + ], + [ + "L", + 20 + ] + ], + [ + [ + "L", + 432 + ], + [ + "L", + 37 + ] + ], + [ + [ + "L", + 433 + ], + [ + "L", + 432 + ] + ], + [ + [ + "L", + 442 + ], + [ + "L", + 442 + ] + ] + ], + "start": 12933, + "swap_starts": [ + 12933, + 12938, + 12943, + 12951, + 12972, + 12988, + 13000 + ] + } + ] + }, + "controls": { + "barriers": [ + "mixed_frame_rejected", + "non_scalar_stops_run" + ], + "independent_block_controls": { + "cycle": { + "input_columns": 4, + "native_coordinates": 3, + "original_PR696_count": 14, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 4 + }, + "replacement_count": 5, + "saved": 9 + }, + "interleaved": { + "input_columns": 4, + "native_coordinates": 3, + "original_PR696_count": 16, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "3", + "prefix_l1_replacement": "2", + "primitive_tags": { + "add": 1, + "clear": 1 + }, + "replacement_count": 2, + "saved": 14 + }, + "rejected": [ + "cycle_missing_clear", + "cycle_missing_save", + "cycle_wrong_order", + "cycle_endpoint_neutral_growth", + "cross_frame_block" + ] + }, + "positive": [ + "intervening_remapped_fraction", + "three_cycle_direction", + "cancelled_swaps_dirty_work" + ], + "rejected": [ + "missing_final_clear", + "unremapped_intervening_read", + "missing_intervening_update", + "missing_clear", + "missing_save", + "premature_clear", + "wrong_copy_direction", + "unknown_source" + ] + }, + "programs": { + "ck/backward": { + "additional_saved_after_known_zero_elision": 560, + "changed_runs": 42, + "cycles_materialized": 56, + "independent_changed_block_checks": [ + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + } + ], + "paid_profile_unchanged": { + "1": 2596, + "2": 552, + "3": 304, + "4": 160, + "5": 70, + "6": 8, + "8": 8 + }, + "receipts": { + "deferred": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 8, + "prefix_row_l1": "4847", + "primitive_tags_per_component": { + "add": 11992, + "clear": 21131, + "copy": 15408, + "double": 5585, + "halve": 19499, + "negate": 222, + "subtract": 10322 + }, + "primitive_word_sha256": "f68164d5b8e2a587161168ab95f67fbb35aa2f9cdf8ba6ac82ca3371be309806", + "private_columns_cleared": 9, + "real_primitives": 168318 + }, + "deferred_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 8, + "prefix_row_l1": "4847", + "primitive_tags_per_component": { + "add": 11992, + "clear": 15284, + "copy": 15408, + "double": 5585, + "halve": 19499, + "negate": 222, + "subtract": 10322 + }, + "primitive_word_sha256": "7d965f7fce60fb3e0b32b2a38e2418c9c7b2d6660055ccbb161eecac21350961", + "private_columns_cleared": 9, + "real_primitives": 156624 + }, + "pr696": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 8, + "prefix_row_l1": "4847", + "primitive_tags_per_component": { + "add": 12118, + "clear": 21467, + "copy": 15226, + "double": 5585, + "halve": 19499, + "negate": 348, + "subtract": 10574 + }, + "primitive_word_sha256": "e342c630489789aa7e2aa938d8740ffc63d267d2420994be902893e7d9b50bf4", + "private_columns_cleared": 9, + "real_primitives": 169634 + }, + "pr696_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 8, + "prefix_row_l1": "4847", + "primitive_tags_per_component": { + "add": 12118, + "clear": 15242, + "copy": 15226, + "double": 5585, + "halve": 19499, + "negate": 348, + "subtract": 10574 + }, + "primitive_word_sha256": "8cd948f4a72fd0127e14a624bf9340a1712ad97d8533ca684e901f4c7f98a0a7", + "private_columns_cleared": 9, + "real_primitives": 157184 + } + }, + "saved_against_pr696": 1316, + "scalar_runs": 2219, + "swaps_elided": 126 + }, + "ck/forward": { + "additional_saved_after_known_zero_elision": 560, + "changed_runs": 42, + "cycles_materialized": 56, + "independent_changed_block_checks": [ + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + } + ], + "paid_profile_unchanged": { + "1": 2596, + "2": 552, + "3": 304, + "4": 160, + "5": 70, + "6": 8, + "8": 8 + }, + "receipts": { + "deferred": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 3, + "prefix_row_l1": "5120", + "primitive_tags_per_component": { + "add": 11667, + "clear": 21123, + "copy": 15416, + "double": 5585, + "halve": 19499, + "negate": 222, + "subtract": 10639 + }, + "primitive_word_sha256": "9e18b15c0b844457da74926785f17b2f7e6510568cc293f9be54b79e50769157", + "private_columns_cleared": 9, + "real_primitives": 168302 + }, + "deferred_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 3, + "prefix_row_l1": "5120", + "primitive_tags_per_component": { + "add": 11667, + "clear": 15284, + "copy": 15416, + "double": 5585, + "halve": 19499, + "negate": 222, + "subtract": 10639 + }, + "primitive_word_sha256": "509cea88ef8b8bcd4b13c50d17696c6678568976d0466e0107764e787d1edfb8", + "private_columns_cleared": 9, + "real_primitives": 156624 + }, + "pr696": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 3, + "prefix_row_l1": "5120", + "primitive_tags_per_component": { + "add": 11919, + "clear": 21459, + "copy": 15234, + "double": 5585, + "halve": 19499, + "negate": 348, + "subtract": 10765 + }, + "primitive_word_sha256": "16ae874e3352c4df265026f62db95359a30399f1edc4c1b151d564d71902380c", + "private_columns_cleared": 9, + "real_primitives": 169618 + }, + "pr696_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 3, + "prefix_row_l1": "5120", + "primitive_tags_per_component": { + "add": 11919, + "clear": 15242, + "copy": 15234, + "double": 5585, + "halve": 19499, + "negate": 348, + "subtract": 10765 + }, + "primitive_word_sha256": "dc9b23697c2e147b43f29a4c8a1e5fcf1bd22551eaf270dfb2efdd4039d2ab44", + "private_columns_cleared": 9, + "real_primitives": 157184 + } + }, + "saved_against_pr696": 1316, + "scalar_runs": 2219, + "swaps_elided": 126 + }, + "jp8/backward": { + "additional_saved_after_known_zero_elision": 560, + "changed_runs": 42, + "cycles_materialized": 56, + "independent_changed_block_checks": [ + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 20, + "clear": 43, + "copy": 8, + "halve": 6, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "11", + "prefix_l1_replacement": "11", + "primitive_tags": { + "add": 19, + "clear": 42, + "copy": 7, + "halve": 5, + "negate": 5, + "subtract": 22 + }, + "replacement_count": 100, + "saved": 41 + } + ], + "paid_profile_unchanged": { + "1": 2512, + "2": 400, + "3": 448, + "4": 160, + "5": 70, + "6": 8, + "8": 8 + }, + "receipts": { + "deferred": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 27, + "prefix_row_l1": "1469388997/2", + "primitive_tags_per_component": { + "add": 14462, + "clear": 21899, + "copy": 16178, + "double": 16288, + "halve": 19719, + "negate": 220, + "subtract": 10774 + }, + "primitive_word_sha256": "dfc440b557de7c6a41bbe6deebef51b2a4820fe74d39a1f20c0afd13cadbffd0", + "private_columns_cleared": 9, + "real_primitives": 199080 + }, + "deferred_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 27, + "prefix_row_l1": "1469388997/2", + "primitive_tags_per_component": { + "add": 14462, + "clear": 16054, + "copy": 16178, + "double": 16288, + "halve": 19719, + "negate": 220, + "subtract": 10774 + }, + "primitive_word_sha256": "62e08cd5ace86a4b19ffe241157ba58f63760691d0f47410dd1f94fa6f39883a", + "private_columns_cleared": 9, + "real_primitives": 187390 + }, + "pr696": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 27, + "prefix_row_l1": "1469388997/2", + "primitive_tags_per_component": { + "add": 14588, + "clear": 22235, + "copy": 15996, + "double": 16288, + "halve": 19719, + "negate": 346, + "subtract": 11026 + }, + "primitive_word_sha256": "c71f7fd2d52031e730f3ed42e56e38878e5746c053d990aad9d6e5c0d55d2bbd", + "private_columns_cleared": 9, + "real_primitives": 200396 + }, + "pr696_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 27, + "prefix_row_l1": "1469388997/2", + "primitive_tags_per_component": { + "add": 14588, + "clear": 16012, + "copy": 15996, + "double": 16288, + "halve": 19719, + "negate": 346, + "subtract": 11026 + }, + "primitive_word_sha256": "ad8c58ea83b109db5ca4944b00f1c5bd50532d5da9ccd0487a197db517084255", + "private_columns_cleared": 9, + "real_primitives": 187950 + } + }, + "saved_against_pr696": 1316, + "scalar_runs": 2199, + "swaps_elided": 126 + }, + "jp8/forward": { + "additional_saved_after_known_zero_elision": 560, + "changed_runs": 42, + "cycles_materialized": 56, + "independent_changed_block_checks": [ + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 145, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 43, + "copy": 8, + "double": 5, + "halve": 1, + "negate": 5, + "subtract": 20 + }, + "replacement_count": 104, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 3, + "native_coordinates": 2, + "original_PR696_count": 7, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "2", + "prefix_l1_replacement": "1", + "primitive_tags": { + "clear": 1, + "copy": 3 + }, + "replacement_count": 4, + "saved": 3 + }, + { + "input_columns": 9, + "native_coordinates": 8, + "original_PR696_count": 141, + "prefix_containment": "exact cross-register rows", + "prefix_l1_original": "20", + "prefix_l1_replacement": "12", + "primitive_tags": { + "add": 22, + "clear": 42, + "copy": 7, + "double": 5, + "negate": 5, + "subtract": 19 + }, + "replacement_count": 100, + "saved": 41 + } + ], + "paid_profile_unchanged": { + "1": 2512, + "2": 400, + "3": 448, + "4": 160, + "5": 70, + "6": 8, + "8": 8 + }, + "receipts": { + "deferred": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 4, + "prefix_row_l1": "503316465", + "primitive_tags_per_component": { + "add": 14273, + "clear": 21891, + "copy": 16186, + "double": 16288, + "halve": 19719, + "negate": 220, + "subtract": 10955 + }, + "primitive_word_sha256": "4d9d94c753a573b79978c710f12f84ff0ef097381abd2bff4b33876db548a2c2", + "private_columns_cleared": 9, + "real_primitives": 199064 + }, + "deferred_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 4, + "prefix_row_l1": "503316465", + "primitive_tags_per_component": { + "add": 14273, + "clear": 16054, + "copy": 16186, + "double": 16288, + "halve": 19719, + "negate": 220, + "subtract": 10955 + }, + "primitive_word_sha256": "68928d26e2ecf4ab6f26079ed78b598fb75b81b047d06edb8bee0d5e502e587a", + "private_columns_cleared": 9, + "real_primitives": 187390 + }, + "pr696": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 4, + "prefix_row_l1": "503316465", + "primitive_tags_per_component": { + "add": 14525, + "clear": 22227, + "copy": 16004, + "double": 16288, + "halve": 19719, + "negate": 346, + "subtract": 11081 + }, + "primitive_word_sha256": "21bdebedaf5ef43d0a9149e56d15e6287c87d5031bcfaad13973fb5c24a662fe", + "private_columns_cleared": 9, + "real_primitives": 200380 + }, + "pr696_known_zero": { + "arbitrary_input_columns": 725, + "dirty_helpers_restored": 492, + "fractional_depth": 4, + "prefix_row_l1": "503316465", + "primitive_tags_per_component": { + "add": 14525, + "clear": 16012, + "copy": 16004, + "double": 16288, + "halve": 19719, + "negate": 346, + "subtract": 11081 + }, + "primitive_word_sha256": "6418cc40c0c17826a6e60a80c337b2cd57cc0389a0df7f14e25a87ffdb1518bb", + "private_columns_cleared": 9, + "real_primitives": 187950 + } + }, + "saved_against_pr696": 1316, + "scalar_runs": 2199, + "swaps_elided": 126 + } + }, + "scope": "Historical PR626 scalar projections only; no new kappa or physical admission.", + "status": "PASS_DEFERRED_SWAP_SCALAR" +} diff --git a/research/complex-swap-runs-seed37/NOTICE.md b/research/complex-swap-runs-seed37/NOTICE.md new file mode 100644 index 0000000000..f2590ea966 --- /dev/null +++ b/research/complex-swap-runs-seed37/NOTICE.md @@ -0,0 +1,33 @@ +# Attribution and AI disclosure + +New material: Apache-2.0, under the repository license. Prepared for ToikY +with substantial OpenAI Codex assistance in scope selection, implementation, +exact replay, proof writing and packaging. The independent checker was written +by a separate Codex worker; a second worker performed read-only mathematical +and code review. Both are AI-assisted checks, not independent human review. + +Retain credit to: + +- **icekylinx** for the scalar elementary-operation, coefficient-work, factory + and source-gauge lineage through PR425/433/531 and earlier work. +- **Jeremy Kothe**, PR622 at `f69477f4f6d3c7eb1f740b166881bffed4ffa9f6`, + for the historical K492 words and schedules. +- **Chafik Boukhalfa**, PR626 at `660de893d27bb7abd1d5b01b1640207528a5c851`, + for the frozen CK/JP8 composition and source-bound retained artifacts. +- **Sagar Thakrar**, PR696, for the unchanged copy/unit coefficient lowering + consumed here at the exact base Git blob listed in SOURCES.json. +- **PR839** for recognizing redundant clears when coefficient work is known + zero. Our comparator applies the same principle to both frozen words; no + novelty is claimed for clear elision or elementary permutation identities. +- DreamingOfClouds, eumemic, Rohan Arun, and the predecessor notices retained + in the source packages and CONTRIBUTORS.md. + +At the research base, PR890/869/870 and Hao Yan's PR858 mechanism establish the separate +selected frontier context. The source words are historical PR626, so their +local bills are not transported into that selected supplier by this package. + +Related concurrent work is acknowledged without importing code: Ross +Richardson's PR919 sign normalization, PR883's X4 two-register preconditions, +PR945's joint Horner work, and CubeJerry's PR922/924 factory work with PR949's +fixed-topology scale optimum. Metadata inspection does not certify those +entire PRs. No savings from them are composed or claimed here. diff --git a/research/complex-swap-runs-seed37/PROOF.md b/research/complex-swap-runs-seed37/PROOF.md new file mode 100644 index 0000000000..427f98b902 --- /dev/null +++ b/research/complex-swap-runs-seed37/PROOF.md @@ -0,0 +1,86 @@ +# Exact scalar argument and its boundary + +## Transposition recognition + +The source uses two chronological four-macro representations. For distinct +registers a,b, the forward representation is +`a += b; b -= a; a += b; b = -b`. It maps `(a,b)` to `(b,a)`. +The inverse-transpose representation is +`a -= b; b += a; a -= b; a = -a`, and gives the same transposition. +All four macros must share the same frame and use native L coordinates. +The compiler recognizes these literal forms. The separate checker multiplies +actual two-coordinate integer matrices; it does not use the literal recognizer. + +## Location invariant + +A run ends at every non-scalar event or frame change. Let `loc(r)` be the +physical slot currently containing the original logical register r. Initially +loc is the identity. Maintain `physical[loc(r)] = logical[r]` for every +persistent/center coordinate. Omitting an exact SWAP(a,b) and exchanging +loc(a),loc(b) preserves that equality. Any other scalar macro reads and writes +only the remapped slots; therefore it makes exactly the original logical +update. Both COPY operands must be remapped. All untouched registers retain +identity locations. Coefficient work W is outside the native permutation. + +The invariant is a statement about exact scalar values in the common frame. +It is not an assertion that all physical primitive-array and phase contracts +have been admitted. No replacement spans a frame/event boundary. Scalar +common-frame membership follows because every moved slot appears in a swap +at that frame; production address/chart transport is a separate obligation. + +## Paid materialization and arbitrary dirt + +At the end the required assignment is `slot[r] = old_slot[loc(r)]`. For each +nontrivial cycle `(r0,r1,...,r[l-1])`, pay + +1. COPY W <- r0; +2. COPY r[j] <- r[j+1] for j=0,...,l-2; +3. COPY r[l-1] <- W. + +Each cycle costs l+1 COPY primitives. Overwrite W at the beginning of the next +cycle; no incoming clean value is needed. Pay one final CLEAR(W), even if all +swaps cancel and there is no nontrivial cycle. The original swap's additions +clear W, so surviving arbitrary initial work would violate the boundary. +Consequently d moved slots in c cycles cost d+c+1 primitives. The compiler does +not restore incoming coefficient dirt; the pinned original macro interface +erases it too. Native helper dirt is restored by the complete scalar endpoint. + +With s omitted swaps, PR696 charges 7s primitives (three ADD/CLEAR pairs and +one NEG). The clean-work comparator charges 4s (three ADDs and one NEG), when +W is already known zero. Other remapped macros retain their cost. Actual runs +have either s=1,d=2,c=1 (tie with clean-work arithmetic), or s=7,d=5,c=2 +(28 versus8). Per component, fourteen larger runs save14*20=280 against that +comparator. Both real components give560. These are exact finite paid counts, +not a whole-circuit optimum or a runtime measurement. + +Clear elision is applied identically to both complete words. Initially W is +unknown. A retained CLEAR establishes W=0; a write invalidates that fact. +Only a further CLEAR known to write zero into an already-zero W is dropped. +Induction proves that each deleted event is the identity on the admitted +incoming states. No source read, copy, coefficient operation or restoration +is removed by this rule. PR839's known-zero principle retains credit. + +## Prefixes and linear extension + +Inside a transformed run, a native logical value sits in a different physical +register but equals its original value. The remapped coefficient preparation +computes the same scalar work values as the original at its corresponding +non-swap macro. During materialization only boundary values are copied. Every +replacement row therefore occurs among original prefix/register rows; an +independent dense-rational checker enforces this for every changed block. +For arbitrary correlated incoming data, evaluation of the same row gives the +same scalar value. Taking a maximum over registers and prefixes establishes +containment of that magnitude envelope. Register-by-register containment is +not claimed. Rows copied into W may originate in other native registers. + +All operations are linear over the rationals and have real coefficients. +Equality on every independent scalar input column therefore extends to +arbitrary real/complex inputs, separately on real and imaginary components. +The finite full words include every native helper and all private input dirt. +Exact dyadic denominators and row-L1 peaks are recomputed for all four versions. +No denominator or row-growth inference replaces those complete replays. + +This argument establishes the declared scalar substitution and its finite +implementation evidence. It does not prove approximate-arithmetic rounding, +address/phase realization, whole-call hosting, complete compiler precision, +physical tape cost, the outer multiplication theorem or a new exponent. diff --git a/research/complex-swap-runs-seed37/README.md b/research/complex-swap-runs-seed37/README.md new file mode 100644 index 0000000000..ff2b9dcaa1 --- /dev/null +++ b/research/complex-swap-runs-seed37/README.md @@ -0,0 +1,126 @@ +# Historical complex scalar swaps: deferred names, paid boundary copies + +**Finite complex-supplier circuit construction; no new kappa.** This opt-in +compiler removes exact SWAP blocks inside uninterrupted common-frame scalar +runs of the historical PR626 CK/JP8 words. It renames both operands of every +intervening macro, then pays for the resulting permutation with the existing +coefficient-work register and COPY/CLEAR primitives. No free SWAP, clean +scratch, unpaid source read, or boundary crossing is used. + +The main comparison applies identical known-zero CLEAR removal to both sides: + +| Complete scalar projection | PR696 | Deferred swaps | Both with clear elision: original -> deferred | +|---|---:|---:|---:| +| CK forward | 169,618 | 168,302 | 157,184 -> 156,624 | +| CK inverse transpose | 169,634 | 168,318 | 157,184 -> 156,624 | +| JP8 forward | 200,380 | 199,064 | 187,950 -> 187,390 | +| JP8 inverse transpose | 200,396 | 199,080 | 187,950 -> 187,390 | + +Every count includes both real components, all emitted scalar primitives, +coefficient preparation, source reads, final copies and work clearing. The +incremental saving is **560 real primitives per complete orientation** after +clear elision, or **1,316 against PR696**. The clear-elision gain itself is not +new; credit remains with PR839's known-zero work principle. This comparator +applies only that principle to the frozen PR696 words. It does not assert a +comparison against the entirety of PR839 or composition with other PRs. + +Each of the four programs has 126 exact swaps in 42 affected runs: 28 singleton +runs and fourteen 75-event runs with seven swaps separated by other macros. +Their final permutations require 56 cycles, 182 COPYs and 42 CLEARs per real +component, replacing 882 PR696 swap primitives. Keeping only the swaps' known +clean ADDs and NEG costs 504, so the paid 224-operation permutation bill still +saves 280 per real component. All other macro charges cancel in that comparison. +The final optimized whole-program bills above also check the same clear elision +on every remaining macro, starting with arbitrary incoming work. + +## Reproduce + +Python 3.10+, standard library only; from the repository root: + +```sh +python3 -I -B research/complex-swap-runs-seed37/verify.py +python3 -I -O -B research/complex-swap-runs-seed37/test_package.py +``` + +Expected primary marker: + +```text +PASS_DEFERRED_SWAP_SCALAR programs=4 columns=725 swaps=126_each extra_after_clear_elision=560,560,560,560 no_new_kappa +``` + +The verifier writes nothing by default. `--output NEW.json` writes only after +source admission and typed equality against the complete EXPECTED receipt; +an existing path is never overwritten. Exact certificates, event indices, +permutations, cycles, paid counts, source SHA256/Git blobs and stream hashes +are in EXPECTED.json and SOURCES.json. No Git executable or network is needed +for verification. Git-blob digests are computed directly from committed bytes. + +## Evidence and scope + +Two implementations inspect all 8,836 common-frame scalar runs and all 504 +swaps. The independent checker imports no compiler or predecessor lowering: +it recognizes each swap by a dense two-coordinate matrix, reconstructs the +original PR696 trace separately, and checks all 168 replacement blocks on 840 +local input columns, including arbitrary work. Every replacement prefix row +occurs among the original register rows. This is exact cross-register prefix +containment for arbitrary correlated inputs, not merely a sampled norm check. + +All sixteen complete primitive projections (four words, four lowerings) check +725 arbitrary input columns each: 224 data/target coordinates, 492 dirty +helpers, eight dirty centers and coefficient work. Forward implements +`y += x`; inverse transpose implements `x -= y`. Helpers restore, all nine +private input columns clear, and coefficient work is clear at every relevant +frame/event boundary. Work need not clear after each omitted macro. + +The exact scalar row-L1 maxima and fractional denominator depths are: + +| Provider | Forward peak / guard bits | Inverse-transpose peak / guard bits | +|---|---|---| +| CK | 5,120 / 3 | 4,847 / 8 | +| JP8 | 503,316,465 / 4 | 1,469,388,997/2 / 27 | + +They agree across all four lowerings. The copies themselves introduce no new +denominators. These are exact scalar-prefix facts, not cancellation-free +triangle envelopes or a rounded physical-array precision certificate. + +Thirteen injected mathematical mutations and two barrier checks distinguish +missing saves/clears, wrong cycle direction, unremapped reads, dirty work, +endpoint-neutral growth and crossing a frame/event boundary. Tests also delete +all **728 actual permutation-materialization COPYs**; each deletion fails the +independent block checker. Typed receipt/count corruption, source drift, dirty +work initialization and complete optimized minimal relocation are covered. +See VALIDATION.json for executed checks and limitations. + +The paid child profile and non-scalar source event inventory are retained. +The compiler handles scalar projections; it does not execute phase/frame/ +wrapper events or certify physical array copies at their address charts. +Typed production substitution, ordered physical admission, global owner and +invoice reconstruction, precision/tape realization and outer assembly remain +integration work. Existing realization, all-size compilation and analytic +hypotheses remain. Finite linear checks are not a proof of the full +multiplication theorem or a general circuit optimum. No selected supplier, +frontier certificate, generator, default command or upstream file is changed. + +## Sprint and provenance + +Exact base: `007664306fff84fbb1c9a1b4053b69f439764034`; OS assignment seed **37**, +complex-supplier track. The selected conditional saving at this base is +`1661957774647029/10^18` (PR890); the experiment deliberately uses historical +PR626 words. The historical inputs and PR696 lowering have exact base-bound +pins. Current selection prose is context, not an input that must keep moving. + +CLAIM.json records the three candidates, local reservation, stopping rule and +result. An initial singleton-only swap lowering tied the stronger clean-work +comparator; one evidence-driven refinement deferred the swaps across intervening +macros inside a common-frame run. No frame, gate-order or wider search is done. +The seed fixes JP8-first report/control ordering, not sampled correctness. + +PR919 normalizes CK signs; PR945 changes backward joint Horner lowering; +PR883 changes X4 precondition pairs; PR922/924/949 change or bound a factory +ADD topology. Their metadata were checked for overlap. This contribution +instead defers exact permutations in fixed historical common-frame runs, using +no pending executable code. Other reported savings are not added here. + +Prepared for **ToikY** with substantial **OpenAI Codex assistance**, including +separately implemented local arithmetic checks and scoped AI review. No +independent human review is claimed. See NOTICE.md and PROOF.md. diff --git a/research/complex-swap-runs-seed37/SOURCES.json b/research/complex-swap-runs-seed37/SOURCES.json new file mode 100644 index 0000000000..f4ce2bb7e7 --- /dev/null +++ b/research/complex-swap-runs-seed37/SOURCES.json @@ -0,0 +1,50 @@ +{ + "base_commit": "007664306fff84fbb1c9a1b4053b69f439764034", + "hash_semantics": "SHA256 exact committed bytes including gzip containers; Git blobs bound to base", + "files": { + "research/complex-dyadic-lowering/lower.py": { + "sha256": "eb37d00063dc09323e9aca041d23da749ce17fbd71dade9aaf1c059cab0b9753", + "git_blob": "a2c2889e5be41a0fc30d4dfa5dfcebb03d6d47f8" + }, + "research/complex-k492-owner-repair/code/hpe_emit_local.py": { + "sha256": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "git_blob": "534fdc71f7641c704575efc038363d7eb206b2df" + }, + "research/complex-k492-owner-repair/code/construct_k_triangle.py": { + "sha256": "66fc460df8eb8067efe3d8a3f9e97a7244aacd7bf11650a6ce656e868ce053da", + "git_blob": "763a2b3f5fca283fdb713ff02fc1d1a0a887a26d" + }, + "docs/research/community-k492-review.md": { + "sha256": "3b731d30e80010b15408a289b0b32192700885474c8b36d48ee3320a7a8c5c47", + "git_blob": "11efcd07ae2b9d93d355c6adaf773dca70dbce91" + }, + "docs/research/community-frontier890-review.md": { + "sha256": "cd03b7c2c6c09db2cfa89ae40133ae44e1deb6e32ec5ddd23aacecc9c50f2fea", + "git_blob": "6b65461724ba99a36333cb3a8f443cf5f648ca67" + }, + "research/community-k492-audit/pr626/replay/mixed-global/base/providers/ck/LOCAL-PROGRAMS.json.gz": { + "sha256": "b5da54e049cc127a1065190a647cb71cac0c6ba03d9ccdb71719f4fcbfa886f3", + "git_blob": "61ef73c1f958e0d26f3e7a3a82bc3826b7098c93" + }, + "research/community-k492-audit/pr626/replay/mixed-global/base/providers/ck/LOCAL-CHECKS.json": { + "sha256": "059c4e59142bdf5c19dc7c0afebcddfec28e6e60cbc7299b8bdcc624afbc0cbe", + "git_blob": "d2b8854114b19b88e14d2af0dd84ad79e9eedbaa" + }, + "research/community-k492-audit/pr626/replay/mixed-global/base/providers/ck/INDEPENDENT-LOCAL-REPLAY.json": { + "sha256": "ecefb9e661301d8081522be68bbe6640e175c011eb1177f643383d193c6fb2f0", + "git_blob": "ec8d742c3d932160fac10d0d9befdd2056cb240e" + }, + "research/community-k492-audit/pr626/replay/mixed-global/base/providers/jp8/LOCAL-PROGRAMS.json.gz": { + "sha256": "fa0c196f65bd6ec1424fdf7d789f6972075c7bb02bf43f573ea85eafab31be98", + "git_blob": "e22169a1633638213a5c63425a1919c7185f4c43" + }, + "research/community-k492-audit/pr626/replay/mixed-global/base/providers/jp8/LOCAL-CHECKS.json": { + "sha256": "0fad744aa863eedb288a9f87b1c23225a36b316b6275cc3b1bcedd42afe28a67", + "git_blob": "0d84d903086993330ddcd871e66b15854f0c3ccd" + }, + "research/community-k492-audit/pr626/replay/mixed-global/base/providers/jp8/INDEPENDENT-LOCAL-REPLAY.json": { + "sha256": "cb2f99ed351925dd35434b73de16f4085884fe81a35a69e1c7ce2d5e96cb975b", + "git_blob": "19a4edfa2091d4cf38db49d7a780d29232badb49" + } + } +} diff --git a/research/complex-swap-runs-seed37/VALIDATION.json b/research/complex-swap-runs-seed37/VALIDATION.json new file mode 100644 index 0000000000..60eb80fad9 --- /dev/null +++ b/research/complex-swap-runs-seed37/VALIDATION.json @@ -0,0 +1,43 @@ +{ + "environment": "macOS arm64 / CPython 3.12.14 bundled runtime", + "checks": [ + { + "command": "python3 -I -B research/complex-swap-runs-seed37/verify.py --output NEW.json", + "result": "PASS full typed EXPECTED receipt; 16 complete scalar projections on 725 arbitrary columns each" + }, + { + "command": "python3 -I -O -B research/complex-swap-runs-seed37/test_package.py", + "result": "6 test groups PASS in 42.575 seconds; includes complete optimized minimal offline relocation, source corruption and output preservation" + }, + { + "command": "python3 -I -O -B research/complex-swap-runs-seed37/verify.py --output NEW.json", + "result": "PASS final code, including independent complete 504-swap coverage" + }, + { + "command": "python3 -I -B scripts/verify_selected_result.py", + "result": "PASS exact current selected kappa, source inventory and proof supplements" + }, + { + "command": "git diff --cached --check", + "result": "PASS atpublication" + } + ], + "expected_sha256": "b1d3b19f360c611802f105382e969f26e15bdbf57dae19264e412554805e43d5", + "negative_evidence": { + "actual_deleted_materialization_copies_rejected": 728, + "mathematical_mutations_rejected": 13, + "frame_event_barrier_checks": 2 + }, + "review": "Independent dense block checker and scoped read-only AI code/math review. An endpoint-neutral negative control was corrected before validation; final checks have no remaining known failure.", + "not_run": [ + "Full repository make verify", + "Selected supplier cold rebuild", + "Physical array, phase or wrapper admission", + "Global owner, invoice or outer assembly", + "Lean", + "Linux", + "Hosted CI", + "Independent human review" + ], + "limitations": "Exact historical scalar construction only; no new kappa, global optimum or runtime claim. Inherited all-size, realization, hosting, precision, tape and analytic obligations remain." +} diff --git a/research/complex-swap-runs-seed37/compiler.py b/research/complex-swap-runs-seed37/compiler.py new file mode 100644 index 0000000000..1d5cd6c423 --- /dev/null +++ b/research/complex-swap-runs-seed37/compiler.py @@ -0,0 +1,112 @@ +"""Paid common-frame deferred SWAP lowering; ToikY / Codex, Apache-2.0. + +Historical scalar projections only. Native physical admission is not supplied. +""" +from fractions import Fraction as Q + +WORK = ('W', 0) + + +def require(ok, message): + if not ok: + raise ValueError(message) + + +def swapped_pair(events, i): + """Two literal chronological representations of an exact transposition.""" + block = events[i:i + 4] + if len(block) != 4 or any(e[0] != 'scalar' or e[2] != block[0][2] for e in block): + return None + ops = [e[1] for e in block] + if [op[0] for op in ops] != ['add', 'add', 'add', 'scale']: + return None + a, b = tuple(ops[0][1]), tuple(ops[0][2]) + if a == b or a[0] != 'L' or b[0] != 'L': + return None + if tuple(ops[1][1]) != b or tuple(ops[1][2]) != a: + return None + if tuple(ops[2][1]) != a or tuple(ops[2][2]) != b: + return None + q = Q(*ops[0][3:5]) + if q not in (-1, 1) or Q(*ops[1][3:5]) != -q or Q(*ops[2][3:5]) != q: + return None + if Q(*ops[3][2:4]) != -1 or tuple(ops[3][1]) != (b if q == 1 else a): + return None + return a, b + + +def scalar_runs(events): + runs = [] + i = 0 + while i < len(events): + if events[i][0] != 'scalar': + i += 1 + continue + start, frame = i, events[i][2] + while i < len(events) and events[i][0] == 'scalar' and events[i][2] == frame: + i += 1 + runs.append((start, i, frame)) + return runs + + +def materialize(locations, work=WORK): + """Output slot r receives the current slot locations[r], all costs paid.""" + require(work not in locations and set(locations) == set(locations.values()), 'invalid permutation') + pending = {r for r, s in locations.items() if r != s} + word, cycles = [], [] + while pending: + first = min(pending) + cycle, cursor = [first], locations[first] + while cursor != first: + require(cursor in pending and cursor not in cycle, 'invalid cycle') + cycle.append(cursor) + cursor = locations[cursor] + word.append(('copy', work, first)) + for target, source in zip(cycle, cycle[1:]): + word.append(('copy', target, source)) + word.append(('copy', cycle[-1], work)) + pending.difference_update(cycle) + cycles.append(cycle) + # Original swap's unit ADDs erase arbitrary coefficient dirt. This clear + # is required even when several swaps compose to the identity. + word.append(('clear', work)) + return word, cycles + + +def remap(op, locations): + op = list(op) + op[1] = locations.get(tuple(op[1]), tuple(op[1])) + if op[0] in ('add', 'copy'): + op[2] = locations.get(tuple(op[2]), tuple(op[2])) + return op + + +def compile_block(events, start, end, lower): + require(0 <= start < end <= len(events), 'invalid block') + frame = events[start][2] + require(all(e[0] == 'scalar' and e[2] == frame for e in events[start:end]), 'frame/event barrier') + locations, primitives, swaps = {}, [], [] + i = start + while i < end: + pair = swapped_pair(events, i) if i + 4 <= end else None + if pair is not None: + a, b = pair + locations.setdefault(a, a) + locations.setdefault(b, b) + locations[a], locations[b] = locations[b], locations[a] + swaps.append(i) + i += 4 + else: + primitives.extend(lower(remap(events[i][1], locations), WORK)) + i += 1 + cycles = [] + if swaps: + restore, cycles = materialize(locations) + primitives.extend(restore) + return {'start': start, 'end': end, 'frame': frame, 'swap_starts': swaps, + 'permutation': [[list(r), list(s)] for r, s in sorted(locations.items())], + 'cycles': [[list(r) for r in c] for c in cycles], 'primitives': primitives} + + +def compile_program(events, lower): + return [compile_block(events, a, b, lower) for a, b, _ in scalar_runs(events)] diff --git a/research/complex-swap-runs-seed37/independent_checker.py b/research/complex-swap-runs-seed37/independent_checker.py new file mode 100644 index 0000000000..a3576146e8 --- /dev/null +++ b/research/complex-swap-runs-seed37/independent_checker.py @@ -0,0 +1,376 @@ +"""Independent integer-matrix checker for the frozen scalar SWAP experiment. + +Prepared for ToikY with substantial OpenAI Codex assistance. Apache-2.0. +No compiler import: recognition multiplies actual two-coordinate integer maps; +replacement checking uses dense integer input columns, including arbitrary dirt. +""" + +from collections import Counter +from fractions import Fraction + + +WORK = ("W", 0) + + +def require(condition, detail): + if not condition: + raise ValueError(detail) + + +def register(value): + require(isinstance(value, (tuple, list)) and len(value) == 2, + "invalid register") + require(isinstance(value[0], str) and type(value[1]) is int, + "invalid register coordinate") + return tuple(value) + + +def recognize(events, start): + """Return the two swapped coordinates/frame, or None, for four events. + + The class is exactly three unit ADD macros followed by a unit SCALE, + all at one frame, involving two distinct native coordinates. Recognition + checks the resulting dense matrix rather than either known literal pattern. + """ + block = events[start:start + 4] + if len(block) != 4 or any(event[0] != "scalar" for event in block): + return None + if any(event[2] != block[0][2] for event in block): + return None + ops = [event[1] for event in block] + if [op[0] for op in ops] != ["add", "add", "add", "scale"]: + return None + coordinates = set() + coefficients = [] + for op in ops: + target = register(op[1]) + if target[0] != "L": + return None + coordinates.add(target) + if op[0] == "add": + source = register(op[2]) + if source[0] != "L" or source == target: + return None + coordinates.add(source) + q = Fraction(op[3], op[4]) + else: + q = Fraction(op[2], op[3]) + if abs(q) != 1: + return None + coefficients.append(int(q)) + if len(coordinates) != 2: + return None + a, b = sorted(coordinates) + positions = {a: 0, b: 1} + rows = [[1, 0], [0, 1]] + for op, q in zip(ops, coefficients): + target = positions[register(op[1])] + if op[0] == "add": + source = positions[register(op[2])] + rows[target] = [x + q * y for x, y in zip(rows[target], rows[source])] + else: + rows[target] = [q * x for x in rows[target]] + if rows != [[0, 1], [1, 0]]: + return None + return a, b, block[0][2] + + +def detect_runs(events): + """Exhaustively scan; group only adjacent swaps at an identical frame.""" + runs = [] + i = 0 + while i < len(events): + found = recognize(events, i) + if found is None: + i += 1 + continue + a, b, frame = found + start = i + swaps = [] + permutation = {} + while found is not None and found[2] == frame: + a, b, _ = found + swaps.append((a, b)) + permutation.setdefault(a, a) + permutation.setdefault(b, b) + permutation[a], permutation[b] = permutation[b], permutation[a] + i += 4 + found = recognize(events, i) + runs.append({"start": start, "end": i, "frame": frame, + "swaps": tuple(swaps), + "permutation": tuple(sorted(permutation.items()))}) + return runs + + +def check_replacement(run, primitives, work=WORK): + """Prove complete local COPY/CLEAR map, with arbitrary work on entry. + + Every involved native coordinate and work is a separate input column. + Replacements may overwrite work between cycles; no implicit clean input, + free copy, free clear, or source restoration is supplied by this checker. + """ + work = register(work) + permutation = dict(run["permutation"]) + coordinates = sorted(permutation) + require(work not in permutation, "work aliases native coordinate") + require(set(permutation.values()) == set(coordinates), "not a permutation") + order = coordinates + [work] + positions = {r: i for i, r in enumerate(order)} + width = len(order) + rows = [[int(i == j) for j in range(width)] for i in range(width)] + peak = 1 + counts = Counter() + for primitive in primitives: + require(isinstance(primitive, (list, tuple)) and primitive, + "invalid primitive") + tag = primitive[0] + require(tag in ("copy", "clear"), "not a COPY/CLEAR replacement") + require(len(primitive) == (3 if tag == "copy" else 2), + "invalid primitive arity") + target = register(primitive[1]) + require(target in positions, "unknown target coordinate") + if tag == "clear": + rows[positions[target]] = [0] * width + else: + source = register(primitive[2]) + require(source in positions and source != target, + "invalid copy source") + rows[positions[target]] = rows[positions[source]].copy() + counts[tag] += 1 + peak = max(peak, max(sum(abs(x) for x in row) for row in rows)) + expected = [[int(j == positions[permutation[r]]) for j in range(width)] + for r in coordinates] + [[0] * width] + require(rows == expected, "replacement permutation or dirty-work cleanup") + return {"input_columns": width, "primitives": sum(counts.values()), + "copies": counts["copy"], "clears": counts["clear"], + "local_prefix_l1": peak} + + +def negative_controls(): + """Independent boundary controls, including incoming scratch dirt.""" + a, b = ("L", 0), ("L", 1) + run = {"permutation": ((a, b), (b, a))} + good = [("copy", WORK, a), ("copy", a, b), + ("copy", b, WORK), ("clear", WORK)] + require(check_replacement(run, good)["local_prefix_l1"] == 1, + "positive swap control") + bad = { + "missing_clear": good[:-1], + "missing_save": good[1:], + "premature_clear": good[:2] + [good[-1], good[2]], + "wrong_copy_direction": [good[0], ("copy", b, a), *good[2:]], + "unknown_source": [("copy", WORK, ("L", 2)), *good[1:]], + } + rejected = [] + for name, word in bad.items(): + try: + check_replacement(run, word) + except ValueError: + rejected.append(name) + else: + raise ValueError("accepted negative control: " + name) + return rejected + + +def scalar_runs(events): + """Independently segment maximal adjacent scalar runs at one frame.""" + runs = [] + i = 0 + while i < len(events): + if events[i][0] != "scalar": + i += 1 + continue + start, frame = i, events[i][2] + while i < len(events) and events[i][0] == "scalar" and events[i][2] == frame: + i += 1 + runs.append({"start": start, "end": i, "frame": frame}) + return runs + + +def _macro_count(op): + """Independent PR696 per-real-component primitive formula.""" + tag = op[0] + if tag in ("clear", "copy"): + return 1 + q = Fraction(op[3], op[4]) if tag == "add" else Fraction(op[2], op[3]) + require(q != 0 and q.denominator & (q.denominator - 1) == 0, + "invalid dyadic macro coefficient") + a, b = abs(q.numerator), q.denominator + if tag == "scale": + require(a & (a - 1) == 0, "invalid scale coefficient") + return abs(a.bit_length() - b.bit_length()) + int(q < 0) + require(tag == "add", "unknown macro") + return 2 if abs(q) == 1 else a.bit_length() + a.bit_count() + b.bit_length() + + +def _reference(op, work): + """Literal PR696 trace, reconstructed without importing its lowering.""" + tag, target = op[0], register(op[1]) + if tag == "clear": + return [("clear", target)] + if tag == "copy": + return [("copy", target, register(op[2]))] + q = Fraction(op[3], op[4]) if tag == "add" else Fraction(op[2], op[3]) + if tag == "scale": + exponent = abs(q.numerator).bit_length() - q.denominator.bit_length() + word = [("double" if exponent > 0 else "halve", target)] * abs(exponent) + return word + ([("negate", target)] if q < 0 else []) + source = register(op[2]) + sign = "add" if q > 0 else "subtract" + if abs(q) == 1: + return [(sign, target, source), ("clear", work)] + numerator = abs(q.numerator) + word = [("copy", work, source)] + for bit in range(numerator.bit_length() - 2, -1, -1): + word.append(("double", work)) + if numerator & (1 << bit): + word.append(("add", work, source)) + word += [("halve", work)] * (q.denominator.bit_length() - 1) + return word + [(sign, target, work), ("clear", work)] + + +def _step(rows, primitive, width): + require(isinstance(primitive, (tuple, list)) and primitive, "invalid primitive") + tag = primitive[0] + binary = tag in ("add", "subtract", "copy") + require(tag in ("clear", "copy", "double", "halve", "negate", "add", "subtract"), + "unknown primitive") + require(len(primitive) == (3 if binary else 2), "invalid primitive arity") + target = register(primitive[1]) + require(target in rows, "unknown target coordinate") + if tag == "clear": + rows[target] = [0] * width + elif binary: + source = register(primitive[2]) + require(source in rows and source != target, "invalid primitive source") + if tag == "copy": + rows[target] = rows[source].copy() + else: + sign = 1 if tag == "add" else -1 + rows[target] = [x + sign * y for x, y in zip(rows[target], rows[source])] + else: + factor = {"double": 2, "halve": Fraction(1, 2), "negate": -1}[tag] + rows[target] = [factor * x for x in rows[target]] + return target + + +def check_block(events, start, end, primitives, work=WORK): + """Check remapped-run primitives against the original exact macro map. + + Dense Fraction columns include every touched scalar coordinate plus dirty + coefficient work. Each replacement prefix row must occur somewhere in the + original PR696 prefix trace. This cross-register equality, stronger than + comparing row norms, preserves the maximum over registers for arbitrary + correlated incoming values. Register names may differ during the run. + """ + work = register(work) + require(type(start) is int and type(end) is int and 0 <= start < end <= len(events), + "invalid block interval") + block = events[start:end] + require(all(event[0] == "scalar" and event[2] == block[0][2] for event in block), + "block crosses scalar/frame boundary") + coordinates = set() + for event in block: + op = event[1] + coordinates.add(register(op[1])) + if op[0] in ("add", "copy"): + coordinates.add(register(op[2])) + require(work not in coordinates, "work aliases native coordinate") + order = sorted(coordinates) + [work] + width = len(order) + identity = {r: [int(i == j) for j in range(width)] for i, r in enumerate(order)} + expected = {r: row.copy() for r, row in identity.items()} + reference = {r: row.copy() for r, row in identity.items()} + seen = {tuple(row) for row in identity.values()} + old_peak, old_count = 1, 0 + for event in block: + op = event[1] + tag, target = op[0], register(op[1]) + count = _macro_count(op) + word = _reference(op, work) + require(len(word) == count, "independent reference count") + old_count += count + for primitive in word: + changed = _step(reference, primitive, width) + row = reference[changed] + seen.add(tuple(row)) + old_peak = max(old_peak, sum(abs(x) for x in row)) + if tag == "clear": + expected[target] = [0] * width + elif tag == "copy": + expected[target] = expected[register(op[2])].copy() + elif tag == "scale": + q = Fraction(op[2], op[3]) + expected[target] = [q * x for x in expected[target]] + else: + require(tag == "add", "unknown macro") + q, source = Fraction(op[3], op[4]), register(op[2]) + require(source != target, "aliased macro addition") + expected[target] = [x + q * y for x, y in zip(expected[target], expected[source])] + expected[work] = [0] * width + require(reference == expected, "reference trace does not implement original macros") + candidate = {r: row.copy() for r, row in identity.items()} + peak, counts = 1, Counter() + for primitive in primitives: + changed = _step(candidate, primitive, width) + row = candidate[changed] + require(tuple(row) in seen, "replacement prefix row absent from original trace") + peak = max(peak, sum(abs(x) for x in row)) + counts[primitive[0]] += 1 + require(candidate == expected, "replacement block map or dirty-work cleanup") + return {"input_columns": width, "native_coordinates": len(coordinates), + "original_PR696_count": old_count, + "replacement_count": sum(counts.values()), + "saved": old_count - sum(counts.values()), + "prefix_l1_original": str(old_peak), "prefix_l1_replacement": str(peak), + "prefix_containment": "exact cross-register rows", + "primitive_tags": dict(sorted(counts.items()))} + + +def block_controls(): + """Synthetic cycle, interleaved-operation, dirt and prefix controls.""" + a, b, c = ("L", 0), ("L", 1), ("L", 2) + + def swap(x, y): + return [["scalar", ["add", list(x), list(y), 1, 1], 7], + ["scalar", ["add", list(y), list(x), -1, 1], 7], + ["scalar", ["add", list(x), list(y), 1, 1], 7], + ["scalar", ["scale", list(y), -1, 1], 7]] + + cycle = swap(a, b) + swap(a, c) + word = [("copy", WORK, a), ("copy", a, c), ("copy", c, b), + ("copy", b, WORK), ("clear", WORK)] + cycle_receipt = check_block(cycle, 0, len(cycle), word) + require(cycle_receipt["replacement_count"] == 5, "cycle positive control") + interleaved = swap(a, b) + [["scalar", ["add", list(a), list(c), 1, 1], 7]] + swap(a, b) + identity_receipt = check_block(interleaved, 0, len(interleaved), + [("add", b, c), ("clear", WORK)]) + require(identity_receipt["replacement_count"] == 2, "remapped operation control") + rejected = [] + mutations = { + "cycle_missing_clear": word[:-1], + "cycle_missing_save": word[1:], + "cycle_wrong_order": [word[0], word[2], word[1], *word[3:]], + "cycle_endpoint_neutral_growth": [("double", a), ("halve", a)] + word, + } + for name, candidate in mutations.items(): + try: + check_block(cycle, 0, len(cycle), candidate) + except ValueError as error: + if name == "cycle_endpoint_neutral_growth": + require(str(error) == "replacement prefix row absent from original trace", + "growth control failed for another reason") + rejected.append(name) + else: + raise ValueError("accepted negative control: " + name) + wrong_frame = [event.copy() for event in cycle] + wrong_frame[-1][2] = 8 + try: + check_block(wrong_frame, 0, len(wrong_frame), word) + except ValueError as error: + require(str(error) == "block crosses scalar/frame boundary", "frame control") + rejected.append("cross_frame_block") + else: + raise ValueError("accepted cross-frame block") + return {"cycle": cycle_receipt, "interleaved": identity_receipt, + "rejected": rejected} diff --git a/research/complex-swap-runs-seed37/test_package.py b/research/complex-swap-runs-seed37/test_package.py new file mode 100644 index 0000000000..04557de341 --- /dev/null +++ b/research/complex-swap-runs-seed37/test_package.py @@ -0,0 +1,120 @@ +"""Boundary, corruption and relocation checks. ToikY/Codex, Apache-2.0.""" +import copy +import json +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile +import unittest + +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +import compiler +import independent_checker as independent +import verify + + +class PackageTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.lower = staticmethod(verify.sources()) + + def test_mathematical_controls(self): + result = verify.controls(self.lower) + self.assertEqual(len(result['rejected']), 8) + self.assertEqual(len(result['independent_block_controls']['rejected']), 5) + + def test_actual_materialization_copy_deletions(self): + rejected = 0 + for provider in ('ck', 'jp8'): + programs = verify.read(verify.ROOT / verify.PROVIDERS / provider / 'LOCAL-PROGRAMS.json.gz') + for events in programs.values(): + for block in compiler.compile_program(events, self.lower): + if not block['swap_starts']: + continue + locations = {tuple(a): tuple(b) for a, b in block['permutation']} + tail, _ = compiler.materialize(locations) + begin = len(block['primitives']) - len(tail) + for k, op in enumerate(tail): + if op[0] != 'copy': + continue + bad = block['primitives'][:begin + k] + block['primitives'][begin + k + 1:] + with self.assertRaises(ValueError): + independent.check_block(events, block['start'], block['end'], bad) + rejected += 1 + self.assertEqual(rejected, 728) + + def test_copy_remapping_and_barriers(self): + a, b, c = ['L', 0], ['L', 1], ['L', 2] + swap = [['scalar', ['add', a, b, 1, 1], 3], ['scalar', ['add', b, a, -1, 1], 3], + ['scalar', ['add', a, b, 1, 1], 3], ['scalar', ['scale', b, -1, 1], 3]] + events = swap + [['scalar', ['copy', c, a], 3]] + swap + block = compiler.compile_block(events, 0, len(events), self.lower) + independent.check_block(events, 0, len(events), block['primitives']) + bad = copy.deepcopy(swap) + bad[-1][1][1] = a + self.assertIsNone(compiler.swapped_pair(bad, 0)) + for barrier in (['phase', 'boundary'], ['climb', 0, 0, 1, 0, 1]): + split = swap + [barrier] + swap + self.assertEqual(len(compiler.scalar_runs(split)), 2) + with self.assertRaises(ValueError): + compiler.compile_block(swap + [['phase', 'stop']], 0, 5, self.lower) + + def test_known_zero_clear_elision_starts_dirty(self): + w = compiler.WORK + word = [('clear', w), ('clear', w), ('copy', w, ('L', 0)), ('clear', w), ('clear', w)] + actual, zero = verify.clear_elision(word) + self.assertEqual(actual, [word[0], word[2], word[3]]) + self.assertTrue(zero) + # Arbitrary incoming W must be erased, even for identity permutations. + self.assertEqual(compiler.materialize({('L', 0): ('L', 0)})[0], [('clear', w)]) + + def test_source_inventory_and_typed_receipt(self): + expected = verify.read(HERE / 'EXPECTED.json') + wrong = copy.deepcopy(expected) + wrong['assignment_seed'] = 37.0 + self.assertNotEqual(verify.canonical(expected), verify.canonical(wrong)) + wrong = copy.deepcopy(expected) + wrong['programs']['ck/forward']['receipts']['deferred']['real_primitives'] -= 2 + self.assertNotEqual(verify.canonical(expected), verify.canonical(wrong)) + pins = verify.read(HERE / 'SOURCES.json') + self.assertEqual(set(pins['files']), set(verify.INPUTS)) + with tempfile.TemporaryDirectory(prefix='source corruption ') as folder: + closure = Path(folder) + for path in pins['files']: + target = closure / path + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(verify.ROOT / path, target) + path = closure / verify.LOWER_PATH + path.write_bytes(path.read_bytes() + b'\n# source drift\n') + with self.assertRaisesRegex(ValueError, 'source SHA256'): + verify.sources(closure) + + def test_complete_optimized_minimal_relocation_and_output_preservation(self): + with tempfile.TemporaryDirectory(prefix='deferred swaps offline ') as folder: + closure = Path(folder) / 'checkout with spaces' + package = closure / 'research/complex-swap-runs-seed37' + shutil.copytree(HERE, package) + for path in verify.INPUTS: + target = closure / path + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(verify.ROOT / path, target) + output = Path(folder) / 'receipt.json' + command = [sys.executable, '-I', '-O', '-B', str(package / 'verify.py'), '--output', str(output)] + completed = subprocess.run(command, cwd=folder, capture_output=True, text=True, timeout=240) + self.assertEqual(completed.returncode, 0, completed.stderr) + self.assertIn('PASS_DEFERRED_SWAP_SCALAR', completed.stdout) + self.assertEqual(output.read_bytes(), (package / 'EXPECTED.json').read_bytes()) + # Source corruption fails before trying to write an existing result. + source = closure / verify.LOWER_PATH + source.write_bytes(source.read_bytes() + b'\n# bad source\n') + prior = output.read_bytes() + failed = subprocess.run(command, cwd=folder, capture_output=True, text=True, timeout=20) + self.assertNotEqual(failed.returncode, 0) + self.assertIn('source SHA256', failed.stderr) + self.assertEqual(output.read_bytes(), prior) + + +if __name__ == '__main__': + unittest.main(verbosity=2) diff --git a/research/complex-swap-runs-seed37/verify.py b/research/complex-swap-runs-seed37/verify.py new file mode 100644 index 0000000000..d152498446 --- /dev/null +++ b/research/complex-swap-runs-seed37/verify.py @@ -0,0 +1,267 @@ +"""Exact historical scalar SWAP-run construction. ToikY/Codex, Apache-2.0.""" +import argparse +from collections import Counter +from fractions import Fraction as Q +import gzip +import hashlib +import json +from pathlib import Path +import sys + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +sys.path.insert(0, str(HERE)) +import compiler +import independent_checker as independent + +BASE = '007664306fff84fbb1c9a1b4053b69f439764034' +PROVIDERS = 'research/community-k492-audit/pr626/replay/mixed-global/base/providers/' +WORK = compiler.WORK +LOWER_PATH = 'research/complex-dyadic-lowering/lower.py' +INPUTS = [LOWER_PATH, 'research/complex-k492-owner-repair/code/hpe_emit_local.py', + 'research/complex-k492-owner-repair/code/construct_k_triangle.py', + 'docs/research/community-k492-review.md', 'docs/research/community-frontier890-review.md'] +INPUTS += [PROVIDERS + p + '/' + f for p in ('ck', 'jp8') + for f in ('LOCAL-PROGRAMS.json.gz', 'LOCAL-CHECKS.json', 'INDEPENDENT-LOCAL-REPLAY.json')] + + +def require(ok, message): + if not ok: + raise ValueError(message) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def sources(root=ROOT): + pins = read(HERE / 'SOURCES.json') + require(pins['base_commit'] == BASE and set(pins['files']) == set(INPUTS), 'source inventory/base') + for path, pin in pins['files'].items(): + resolved = (root / path).resolve() + require(resolved.is_relative_to(root.resolve()) and resolved.is_file(), 'source path: ' + path) + raw = resolved.read_bytes() + require(hashlib.sha256(raw).hexdigest() == pin['sha256'], 'source SHA256: ' + path) + blob = hashlib.sha1(b'blob ' + str(len(raw)).encode() + b'\0' + raw).hexdigest() + require(blob == pin['git_blob'], 'source Git blob: ' + path) + namespace = {'__name__': 'pinned_pr696'} + exec(compile((root / LOWER_PATH).read_bytes(), LOWER_PATH, 'exec', optimize=0), namespace) + return namespace['lower'] + + +def step(rows, op): + tag, target = op[0], tuple(op[1]) + require(target in rows, 'unknown primitive target') + if tag == 'clear': + rows[target] = {} + elif tag == 'copy': + source = tuple(op[2]); require(source in rows and source != target, 'copy source') + rows[target] = rows[source].copy() + elif tag in ('double', 'halve', 'negate'): + q = {'double': Q(2), 'halve': Q(1, 2), 'negate': Q(-1)}[tag] + rows[target] = {k: q * v for k, v in rows[target].items()} + elif tag in ('add', 'subtract'): + source = tuple(op[2]); require(source in rows and source != target, 'add source') + sign = 1 if tag == 'add' else -1 + for k, v in rows[source].items(): + x = rows[target].get(k, Q(0)) + sign * v + if x: + rows[target][k] = x + else: + rows[target].pop(k, None) + else: + raise ValueError('unknown primitive tag') + + +def clear_elision(word, known_zero=False): + """Only erase a CLEAR whose target is already proven zero in this word. + + Matches the stronger known-zero idea credited to PR839; no arithmetic or + frame reordering. Copy/add/scale writes conservatively invalidate the fact. + """ + result = [] + for op in word: + if tuple(op[1]) == WORK: + if op[0] == 'clear': + if known_zero: + continue + known_zero = True + else: + known_zero = False + result.append(op) + return result, known_zero + + +def direct_blocks(events, lower): + return [{'start': a, 'end': b, 'frame': frame, + 'primitives': [primitive for e in events[a:b] for primitive in lower(e[1], WORK)]} + for a, b, frame in compiler.scalar_runs(events)] + + +def elide_blocks(blocks): + result, known_zero = [], False + for block in blocks: + word, known_zero = clear_elision(block['primitives'], known_zero) + result.append(dict(block, primitives=word)) + return result + + +def replay(events, blocks, orientation): + coordinates = [('L', r) for r in range(716)] + [('C', r) for r in range(8)] + [WORK] + rows = {r: {i: Q(1)} for i, r in enumerate(coordinates)} + peak, fractional_depth = Q(1), 0 + counts, stream = Counter(), hashlib.sha256() + for block in blocks: + for op in block['primitives']: + step(rows, op) + row = rows[tuple(op[1])] + peak = max(peak, sum(abs(x) for x in row.values())) + for x in row.values(): + d = x.denominator + require(d > 0 and d & (d - 1) == 0, 'non-dyadic prefix') + fractional_depth = max(fractional_depth, d.bit_length() - 1) + counts[op[0]] += 1 + stream.update(canonical([block['frame'], op]) + b'\n') + if any(e[1][0] == 'add' for e in events[block['start']:block['end']]): + require(not rows[WORK], 'private work at frame/event boundary') + for r in range(716): + expected = {r: Q(1)} + if orientation == 'forward' and 112 <= r < 224: + expected[r - 112] = Q(1) + if orientation == 'backward' and r < 112: + expected[r + 112] = Q(-1) + require(rows['L', r] == expected, 'persistent endpoint at ' + str(r)) + require(all(not rows[r] for r in coordinates if r[0] != 'L'), 'dirty private endpoint') + return {'real_primitives': 2 * sum(counts.values()), + 'primitive_tags_per_component': dict(sorted(counts.items())), + 'primitive_word_sha256': stream.hexdigest(), 'prefix_row_l1': str(peak), + 'fractional_depth': fractional_depth, 'arbitrary_input_columns': len(coordinates), + 'dirty_helpers_restored': 492, 'private_columns_cleared': 9} + + +def controls(lower): + a, b, c = ['L', 0], ['L', 1], ['L', 2] + swap = [['scalar', ['add', a, b, 1, 1], 0], + ['scalar', ['add', b, a, -1, 1], 0], + ['scalar', ['add', a, b, 1, 1], 0], + ['scalar', ['scale', b, -1, 1], 0]] + events = swap + [['scalar', ['add', c, a, 3, 2], 0]] + swap + block = compiler.compile_block(events, 0, len(events), lower) + independent.check_block(events, 0, len(events), block['primitives']) + # A non-involutive three-cycle checks which direction gets materialized. + perm = {tuple(a): tuple(b), tuple(b): tuple(c), tuple(c): tuple(a)} + word, cycles = compiler.materialize(perm) + independent.check_replacement({'permutation': tuple(perm.items())}, word) + rejected = [] + mutants = { + 'missing_final_clear': None, + 'unremapped_intervening_read': lower(['add', c, a, 3, 2], WORK) + [('clear', WORK)], + 'missing_intervening_update': [('clear', WORK)], + } + for name, bad in mutants.items(): + control_events = events + if name == 'missing_final_clear': + control_events = swap + swap + bad = [] + try: + independent.check_block(control_events, 0, len(control_events), bad) + except ValueError: + rejected.append(name) + else: + raise ValueError('accepted mutant ' + name) + altered = json.loads(json.dumps(swap)) + altered[1][2] = 1 + require(compiler.swapped_pair(altered, 0) is None, 'mixed-frame swap accepted') + require(len(compiler.scalar_runs(swap[:2] + [['phase', 'barrier']] + swap[2:])) == 2, + 'non-scalar barrier crossed') + require(compiler.swapped_pair(swap + swap, 0) == (tuple(a), tuple(b)), 'positive swap') + cancelled = compiler.compile_block(swap + swap, 0, 8, lower) + require(cancelled['primitives'] == [('clear', WORK)], 'identity permutation dirty-work clear') + independent.check_block(swap + swap, 0, 8, cancelled['primitives']) + return {'rejected': rejected + independent.negative_controls(), + 'positive': ['intervening_remapped_fraction', 'three_cycle_direction', 'cancelled_swaps_dirty_work'], + 'barriers': ['mixed_frame_rejected', 'non_scalar_stops_run'], + 'independent_block_controls': independent.block_controls()} + + +def run(root=ROOT): + lower = sources(root) + results, candidates = {}, {} + for provider in ('jp8', 'ck'): # Seed37 diversified provider/report ordering. + directory = root / PROVIDERS / provider + programs, checks = read(directory / 'LOCAL-PROGRAMS.json.gz'), read(directory / 'LOCAL-CHECKS.json') + require(set(programs) == {'forward', 'backward'}, 'orientation inventory') + for orientation in ('forward', 'backward'): + events = programs[orientation] + require(hashlib.sha256(canonical(events)).hexdigest() == checks[orientation]['sha256'], 'program semantic hash') + scalar_count = sum(e[0] == 'scalar' for e in events) + source_bill = 0 + for e in events: + if e[0] != 'scalar': + continue + op = e[1] + if op[0] in ('clear', 'copy'): + source_bill += 2 + else: + q = Q(*op[3:5]) if op[0] == 'add' else Q(*op[2:4]) + a, b = abs(q.numerator), q.denominator + per_component = (3 + a.bit_length() - 1 + a.bit_count() + b.bit_length() - 1) if op[0] == 'add' else (abs(a.bit_length() - b.bit_length()) + int(q < 0)) + source_bill += 2 * per_component + require(source_bill == checks[orientation]['real_component_primitive_bound'], 'original Horner source bill') + require(scalar_count == checks[orientation]['scalar_macros'], 'macro count') + paid = Counter() + for e in events: + if e[0] == 'climb': paid[e[5]] += 1 + elif e[0] == 'center': paid[e[4]] += 1 + else: require(e[0] in ('scalar', 'phase', 'adapter', 'residual_adapter'), 'event kind') + require(dict(paid) == {int(k): v for k, v in checks[orientation]['paid_profile'].items()}, 'paid profile') + original = direct_blocks(events, lower) + compiled = compiler.compile_program(events, lower) + require(compiler.scalar_runs(events) == [(z['start'], z['end'], z['frame']) for z in independent.scalar_runs(events)], 'independent run partition') + changed = [z for z in compiled if z['swap_starts']] + complete_independent_swaps = [i for i in range(len(events) - 3) if independent.recognize(events, i) is not None] + require(complete_independent_swaps == [i for z in changed for i in z['swap_starts']], 'independent complete swap coverage') + local = [] + for block in changed: + found = [i for i in range(block['start'], block['end']) if independent.recognize(events, i) is not None and i + 4 <= block['end']] + require(found == block['swap_starts'], 'independent exhaustive swap census') + local.append(independent.check_block(events, block['start'], block['end'], block['primitives'])) + versions = {'pr696': original, 'pr696_known_zero': elide_blocks(original), + 'deferred': compiled, 'deferred_known_zero': elide_blocks(compiled)} + receipts = {name: replay(events, words, orientation) for name, words in versions.items()} + require(Q(receipts['deferred']['prefix_row_l1']) <= Q(receipts['pr696']['prefix_row_l1']), 'whole prefix growth') + require(receipts['deferred']['fractional_depth'] == receipts['pr696']['fractional_depth'], 'whole fractional depth changed') + require(Q(receipts['deferred_known_zero']['prefix_row_l1']) <= Q(receipts['pr696_known_zero']['prefix_row_l1']), 'strong prefix growth') + gain = receipts['pr696']['real_primitives'] - receipts['deferred']['real_primitives'] + strong_gain = receipts['pr696_known_zero']['real_primitives'] - receipts['deferred_known_zero']['real_primitives'] + require(gain > 0 and strong_gain > 0, 'no strict paid circuit gain') + key = provider + '/' + orientation + results[key] = {'receipts': receipts, 'saved_against_pr696': gain, + 'additional_saved_after_known_zero_elision': strong_gain, + 'scalar_runs': len(compiled), 'changed_runs': len(changed), + 'swaps_elided': sum(len(z['swap_starts']) for z in changed), + 'cycles_materialized': sum(len(z['cycles']) for z in changed), + 'independent_changed_block_checks': local, + 'paid_profile_unchanged': {str(k): v for k, v in sorted(paid.items())}} + candidates[key] = [{k: v for k, v in z.items() if k != 'primitives'} for z in changed] + return {'status': 'PASS_DEFERRED_SWAP_SCALAR', 'base_commit': BASE, 'assignment_seed': 37, + 'programs': results, 'candidate_blocks': candidates, 'controls': controls(lower), + 'scope': 'Historical PR626 scalar projections only; no new kappa or physical admission.'} + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output', type=Path, help='write verified receipt to a NEW file') + args = parser.parse_args() + result = run() + require(canonical(result) == canonical(read(HERE / 'EXPECTED.json')), 'typed full receipt mismatch') + if args.output: + with args.output.open('x') as handle: + handle.write(json.dumps(result, indent=2, sort_keys=True) + '\n') + gains = ','.join(str(z['additional_saved_after_known_zero_elision']) for z in result['programs'].values()) + print('PASS_DEFERRED_SWAP_SCALAR programs=4 columns=725 swaps=126_each extra_after_clear_elision=' + gains + ' no_new_kappa')