diff --git a/research/clean-checkpoint/CLAIM.txt b/research/clean-checkpoint/CLAIM.txt new file mode 100644 index 0000000000..231890181c --- /dev/null +++ b/research/clean-checkpoint/CLAIM.txt @@ -0,0 +1,16 @@ +Track: recursive interfaces; OS-random assignment seed 54. +Base: 66849e1475c930fd7732b1a0067ffee7e1e95f60. +Scope: one explicitly clean length-L checkpoint at the root of PR628's dirty product-shear recursion, removing the final right-subtree cancellation and pricing the extra clean storage and both restoration passes. Investigate the optimal root split with unchanged balanced dirty subtrees, n=2..256; seed-selected demonstration n=54. +Method: exact integer/noncommutative execution, complete leaf/resource recurrences, wrong-dirt and omitted-restoration controls. No kappa or rounded-accuracy improvement claim. +Deliverable: standalone research note, executable checker and deterministic certificate. +Candidates: (1) this clean checkpoint, (2) weighted dirty split tree, (3) stride-boundary fusion. Pick (1) because #663 audits the all-dirty dispatcher, #665 concerns spectral hosting, and neither supplies this changed-storage interface. +Coordination: the open-issue query found only unpinned #650 (Discussions request), with no comments; no pinned sprint coordination issue was available. Claim recorded locally. Reviewed recent open PR metadata through #668 plus targeted clean/dirty, checkpoint/commutator and restoration/recursive searches. +Expected finish: 2026-10-13 12:07 Asia/Shanghai (04:07 UTC). Last 10 minutes reserved for verification/packaging. + +RESULT — completed 2026-10-13, final verification/packaging phase. +One clean-root adapter, exact optimal-split proof, full work/storage recurrence, 32,640 split checks, 498 noncommutative cases and 216 rounded dense comparisons. Generic n54: 3,136 -> 2,112 leaves; one clean plus five dirty arrays replaces six dirty arrays. No new kappa. Result: README.md; full proof: PROOF.md; certificate: EXPECTED.json. +Fresh overlap review through #675 found concurrent #673 (head 0e35f56cab3cae1eb0a99447135569d687c5695a), whose distinct multiway echo is credited. Its phase-alias finding was incorporated as a root guard with five alias controls and a removed-guard rejection test; its original patch is pinned. This result retains balanced dirty subtrees and the same total scratch-array count, a different storage tradeoff. +Verification: both local Python versions, isolated optimized execution, standalone relocation, four package corruption controls and selected-record integrity pass. Supported-Python root make verify passed seven historical groups then stopped at gen4 on missing SymPy; no full-suite pass claimed. Exact details: VALIDATION.md. +Initial local handoff: local branch research/seed54-clean-checkpoint, clean patch plus standalone package; GitHub submission unavailable because the connected account has no push permission or existing accessible fork and the initially checked in-app browser was signed out. No coordination post or PR was created; no existing PR was changed. Selected frontier and upstream/ remain unchanged. + +Publication preparation update — 2026-10-13. A user-authorized continuation found the Chrome session signed in as FanPUYen. Refreshed recent PR metadata through #709 and the targeted clean-checkpoint search (no matches). PR689 by Dillon Amburgey refines balanced ternary placement in PR673; this result instead changes the root storage contract while retaining balanced binary dirty children. No PR689 code is consumed. Publication status is tracked in the external handoff record. diff --git a/research/clean-checkpoint/EXPECTED.json b/research/clean-checkpoint/EXPECTED.json new file mode 100644 index 0000000000..517dc8170c --- /dev/null +++ b/research/clean-checkpoint/EXPECTED.json @@ -0,0 +1,9259 @@ +{ + "assignment_seed": 54, + "base_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "controls": [ + "dirty", + "source_alias", + "target_alias", + "shortage", + "phase_alias_0", + "phase_alias_1", + "phase_alias_2", + "phase_alias_3", + "phase_alias_4", + "omitted_checkpoint_restoration", + "wrong_product_order", + "wrong_inverse_chronology", + "dirty_checkpoint_leaks_to_target", + "unpaid_inverse_count" + ], + "noncommutative_cases": [ + { + "leaves": 3, + "n": 2, + "split": 1, + "trace_sha256": "43060a427105b3c67ff33c08a5645c849d4d2c6ba8a31f27ba33b3f963db38c9" + }, + { + "leaves": 6, + "n": 3, + "split": 1, + "trace_sha256": "97dd9ea801042012017c56fca4b255c9007b253c3887767e171727c9ccb0e28d" + }, + { + "leaves": 9, + "n": 3, + "split": 2, + "trace_sha256": "2535d1291ae0f850ae017c3352a14817a56d0e74dc3bb61c7948cabae609d8d1" + }, + { + "leaves": 12, + "n": 4, + "split": 1, + "trace_sha256": "9e4a52888fbb5e26078372bed58efb5b701c3144d9fbd7fd6739ecc29a5e259c" + }, + { + "leaves": 12, + "n": 4, + "split": 2, + "trace_sha256": "9bd1ddb8614ee29d7a66cd8c5a22abc8b50e5510534329a52850f33fd54c918c" + }, + { + "leaves": 21, + "n": 4, + "split": 3, + "trace_sha256": "625edcf62196e1f0fc709c60bdbd8a331a0f565fbaf2b0569db4b02beea09e70" + }, + { + "leaves": 18, + "n": 5, + "split": 1, + "trace_sha256": "732e496c60d42e2c865166dbc626f2cc9488fa8d1dd10f0d0ba3b04dc0bdab1e" + }, + { + "leaves": 18, + "n": 5, + "split": 2, + "trace_sha256": "9842b855d32270edba18cabd44071c70d8098bad8025fbc5b07bdf639b3fad25" + }, + { + "leaves": 24, + "n": 5, + "split": 3, + "trace_sha256": "1b964617ac02d7e8b0297f936d4d49c10dc741ae2143a00b90d9c71d7fd26448" + }, + { + "leaves": 33, + "n": 5, + "split": 4, + "trace_sha256": "cc4ee068de0c277aaf5751902ce8f67286d0843d0c46fd4660ccc0caa2eb8073" + }, + { + "leaves": 30, + "n": 6, + "split": 1, + "trace_sha256": "958727fad5759ca5c314e474bce82ac3a21aee02775cdabf2f62196ae1c49bc5" + }, + { + "leaves": 24, + "n": 6, + "split": 2, + "trace_sha256": "d4ef13f08ab9b3571185fb9b5b74019eddf8a361cf9739784b502d35ff91ff3d" + }, + { + "leaves": 30, + "n": 6, + "split": 3, + "trace_sha256": "22b016f9efb3ad43e7a240d79f30ab86b2846818c64f73e8236567eab618a9fd" + }, + { + "leaves": 36, + "n": 6, + "split": 4, + "trace_sha256": "51d179b81e5f023b39cc7f1cf35c6f19937f2e3b0ce6ec40d7f946342f7d3304" + }, + { + "leaves": 57, + "n": 6, + "split": 5, + "trace_sha256": "f63d6de9ba02d273284efb804c5bbbb768b10dd9579aa2e78f085b93f38168a2" + }, + { + "leaves": 42, + "n": 7, + "split": 1, + "trace_sha256": "0b8bfd50498d3a4c30039b1758ec8e6e71b02aadcc581a337b1b0e59fb8ca1b0" + }, + { + "leaves": 36, + "n": 7, + "split": 2, + "trace_sha256": "7fa2a611d0e767ae40427e41c94413cdb1ff4f1d1020b641beb5fcde7b22c372" + }, + { + "leaves": 36, + "n": 7, + "split": 3, + "trace_sha256": "ab1489162382355d0ac9a469c60f8829a05f09336beeb6da902d5a86828a7ddc" + }, + { + "leaves": 42, + "n": 7, + "split": 4, + "trace_sha256": "ede7fc2442aed6c6886ad3d49ea9c00cb5f4eb40eb92584a72111b36634e3c39" + }, + { + "leaves": 60, + "n": 7, + "split": 5, + "trace_sha256": "da7e3d2e1fa30db912e0cc710aa2e27150dc2b8d9db1eaa8bba3b47f7461b18d" + }, + { + "leaves": 81, + "n": 7, + "split": 6, + "trace_sha256": "2e5c0ac27b0551d9711ca0d5b19b3bc0810d79f9ee069b5b06a7cdaa94ddefff" + }, + { + "leaves": 54, + "n": 8, + "split": 1, + "trace_sha256": "fc2e740f4a23301f97f0e5e913f9341acacffdc1dfcd91d8da84354f277b49a2" + }, + { + "leaves": 48, + "n": 8, + "split": 2, + "trace_sha256": "28304d0c8a400fdc4a6a3a3c43016cb9086abf8471322d32d5594c39d325317b" + }, + { + "leaves": 48, + "n": 8, + "split": 3, + "trace_sha256": "f1a52259b2ab196eaeacba36e76432fc5a626f97e714e935f0c131eb0e2217af" + }, + { + "leaves": 48, + "n": 8, + "split": 4, + "trace_sha256": "8fbc7473d3ae19b0b0d4547a369cf88e6e070fbc53465d656b9a8f562f089d53" + }, + { + "leaves": 66, + "n": 8, + "split": 5, + "trace_sha256": "ebf8117e8a54442ac3fbda1be3afd8f4683cb53b45517e73fb79b0664c31bee6" + }, + { + "leaves": 84, + "n": 8, + "split": 6, + "trace_sha256": "ff6f1c9da257f4af394644f4c981143fb42ebda0e1cc2ffd7b8e4aa4acb91fe8" + }, + { + "leaves": 105, + "n": 8, + "split": 7, + "trace_sha256": "2a7bc7b8eb100ad71db5dc85e1dff27bed394a561911a853b64e5691df1987dc" + }, + { + "leaves": 66, + "n": 9, + "split": 1, + "trace_sha256": "a015552475d191d1407450268eee69738ed669681f637cee55cfe15bf9f8a46c" + }, + { + "leaves": 60, + "n": 9, + "split": 2, + "trace_sha256": "6a9331a45303d99e3883b32ad88fc37b362a486669f963110620258290510f4e" + }, + { + "leaves": 60, + "n": 9, + "split": 3, + "trace_sha256": "5ac31cb826662df0d7bcb729c5be5f6845e3e002ed31e46dad313703fd348ac2" + }, + { + "leaves": 60, + "n": 9, + "split": 4, + "trace_sha256": "ce3adcf0be5681bd8c40c4729dd2e943379a66ef24d746b70088511da53b116e" + }, + { + "leaves": 72, + "n": 9, + "split": 5, + "trace_sha256": "b24c4871d317e0904d92517bced5d94ffc3cd03da0ee48b307944f66ac940305" + }, + { + "leaves": 90, + "n": 9, + "split": 6, + "trace_sha256": "998b1825fe6816281ca197dc121777163cf8a3765eaebbde8760bf47512010f0" + }, + { + "leaves": 108, + "n": 9, + "split": 7, + "trace_sha256": "2b0ed2eef3423dc4a0c58c17392ddd93a956cd5ea1d634bdf4a16a4f01afa043" + }, + { + "leaves": 129, + "n": 9, + "split": 8, + "trace_sha256": "d8738e69e30a9cba610a47367f21418c6227234689325fad362829f89e35db29" + }, + { + "leaves": 90, + "n": 10, + "split": 1, + "trace_sha256": "d3db030f0757105a27cda4b4b77e6da1cf6b25c80b6c1c83c713c38e8988a64f" + }, + { + "leaves": 72, + "n": 10, + "split": 2, + "trace_sha256": "67c1724be177d88b85a5d7e299ff94a7449d89dd1842d101242cb5912a3453a5" + }, + { + "leaves": 72, + "n": 10, + "split": 3, + "trace_sha256": "d3d20051223570a137e048058c9be4f5846888c56e31e1821ecd1244b2eb7ef9" + }, + { + "leaves": 72, + "n": 10, + "split": 4, + "trace_sha256": "5bebfce4f6805d7fd7fed2b6ef5acd0ac4358251c6fcdbc3858f6aa54448fb7b" + }, + { + "leaves": 84, + "n": 10, + "split": 5, + "trace_sha256": "def60319b0707a9c7102e8115b8092579732f17f429f2c53d574822a5f904aea" + }, + { + "leaves": 96, + "n": 10, + "split": 6, + "trace_sha256": "6f4d87965a05a6d427a970e9c02e8ef985f51aace882e1b687d5b5196f0f4ce4" + }, + { + "leaves": 114, + "n": 10, + "split": 7, + "trace_sha256": "3a27743213762fde8b8ae3b04a3b4daf71eda21f36831a953feeda1566caf819" + }, + { + "leaves": 132, + "n": 10, + "split": 8, + "trace_sha256": "1a239a91c9f7cb7ef88ac072388d62c3268418aa5a81fea2e6d427df57ea3a95" + }, + { + "leaves": 177, + "n": 10, + "split": 9, + "trace_sha256": "a3df076f0f5e9ba34c0683c7c91877584d8221f069cb2cf878a15de71793fe2c" + }, + { + "leaves": 114, + "n": 11, + "split": 1, + "trace_sha256": "4da52532232c88069e88bd34885736f4e447d093dc5b951fff1cb88a2895b059" + }, + { + "leaves": 96, + "n": 11, + "split": 2, + "trace_sha256": "6784d3d81b66eb1264a197a61b9bb8545e853bcddc11d5056a873ab99565dd22" + }, + { + "leaves": 84, + "n": 11, + "split": 3, + "trace_sha256": "97525dfdb91a0ffbea61abe17ef63b8c042743c70d3e3197ff4712d4de1a7846" + }, + { + "leaves": 84, + "n": 11, + "split": 4, + "trace_sha256": "38fcc752ffca295bd7d7478349cf8643c2f989822b80785355b43fab58ac547e" + }, + { + "leaves": 96, + "n": 11, + "split": 5, + "trace_sha256": "a5a60fd8532a15a9ed96a2110d7514c9da813515415c955bbb31f168804b0a16" + }, + { + "leaves": 108, + "n": 11, + "split": 6, + "trace_sha256": "02b7e57ec03eb68d1489fbda8d76e01276432a23a1e2ffe6faa973a62a9c645a" + }, + { + "leaves": 120, + "n": 11, + "split": 7, + "trace_sha256": "630862474d5026bb319d5abe8bfe25423b194d6ce9d57a0d339f0a572f927de3" + }, + { + "leaves": 138, + "n": 11, + "split": 8, + "trace_sha256": "bedc663970de52446ab178d7e56993d221a4ea6bbb8c239161617aad9ec61829" + }, + { + "leaves": 180, + "n": 11, + "split": 9, + "trace_sha256": "14118475bbde888522a6768db75e0a959670cfd82f890d1da4da8cd4b0650ff1" + }, + { + "leaves": 225, + "n": 11, + "split": 10, + "trace_sha256": "d619ac9d070aac27c8e11f0170684f8bc34bb2e08eda9cf6323c6c7f97cfd1ee" + }, + { + "leaves": 138, + "n": 12, + "split": 1, + "trace_sha256": "4f1d9fb91159c5aa1793269c6776b808cf7f8433e5db06bdc5c64c165454c158" + }, + { + "leaves": 120, + "n": 12, + "split": 2, + "trace_sha256": "b0461fbdbb089fd493cf3a74b676136b2f946f6158735b1750a7e24a59dba5a7" + }, + { + "leaves": 108, + "n": 12, + "split": 3, + "trace_sha256": "fb139b6c909f6d422046d72fc5c8c0a31e266dff6d159d166d414e2de671d7d1" + }, + { + "leaves": 96, + "n": 12, + "split": 4, + "trace_sha256": "cdadfc03bc5c68f289387354a9adf2681cd787003bcecc46c3de715505a00d57" + }, + { + "leaves": 108, + "n": 12, + "split": 5, + "trace_sha256": "7c2cdb9083c99dd41d53390c7b835e6cba80b603fad83da25ecde8ab6c145670" + }, + { + "leaves": 120, + "n": 12, + "split": 6, + "trace_sha256": "e1275b80058e432d68828cbf708af69865123126eb7850f1776d7f85407c58e3" + }, + { + "leaves": 132, + "n": 12, + "split": 7, + "trace_sha256": "7b8479155a087efac6a5df5558654c9b1446cfdd89de9d0c3029a6df2be0679a" + }, + { + "leaves": 144, + "n": 12, + "split": 8, + "trace_sha256": "7986f258950d382fe55fda1efe4bc3be7d9fcffb029b43c71fe603b08c3f09a1" + }, + { + "leaves": 186, + "n": 12, + "split": 9, + "trace_sha256": "0cca7b9b0a75a650cbb580601c375376b0bae5140e9364e4613aacde3916e8a1" + }, + { + "leaves": 228, + "n": 12, + "split": 10, + "trace_sha256": "492b5cb5e9a8fdd40430668c4f257dd9895262a40ede5bf103acda03bd40bba0" + }, + { + "leaves": 273, + "n": 12, + "split": 11, + "trace_sha256": "a98de3a0492b7b0a3f56059ce07c5bd84a7f497887905f9dd9032dd3cc525b5c" + }, + { + "leaves": 162, + "n": 13, + "split": 1, + "trace_sha256": "8b6b86ac3aa4bab096e92068aaac23ad5ae22676adc1f42df8e1e11d59bf196d" + }, + { + "leaves": 144, + "n": 13, + "split": 2, + "trace_sha256": "85ba36426a22f3a6df363ca4080a2c10784980c217bcff48676e9ff7b2b93828" + }, + { + "leaves": 132, + "n": 13, + "split": 3, + "trace_sha256": "ea15c280595f076e6791a642d925ce2c35a9b6445a97d186d413e4fa3b4a745f" + }, + { + "leaves": 120, + "n": 13, + "split": 4, + "trace_sha256": "95ab9248cbc101694864db935b69a2b2b41ff815be5d0f08963cfce6b13d85e6" + }, + { + "leaves": 120, + "n": 13, + "split": 5, + "trace_sha256": "71f434fd38e4f74c46f6de41ab2dd0e33086779d257e7ddd13fd28e0dfe07488" + }, + { + "leaves": 132, + "n": 13, + "split": 6, + "trace_sha256": "e737be77651a0255b67b211a1cd736731126c40dfb5f91fdaec32f3982c8c1c4" + }, + { + "leaves": 144, + "n": 13, + "split": 7, + "trace_sha256": "d0a22748dda5ad85edae9b56e261d696bc3fa36e1b6e4fc66b04c92d214c40c2" + }, + { + "leaves": 156, + "n": 13, + "split": 8, + "trace_sha256": "193009174f9122f9dec4610cf4b99c4e50d83bed9ac6de3f258969d85a7cf877" + }, + { + "leaves": 192, + "n": 13, + "split": 9, + "trace_sha256": "f48e40b8636f5aadffd20ebbdffbd9cb66b2b2a7d34ff4f4e3728ca86ba07f8f" + }, + { + "leaves": 234, + "n": 13, + "split": 10, + "trace_sha256": "b7ad68a14b9e689f9291a9a9c5597093fe0485dd6ea128f6de657d5a8a69e394" + }, + { + "leaves": 276, + "n": 13, + "split": 11, + "trace_sha256": "c5d7e322d68f24b989a9856dae81afa14d36d44a9990b975bde47ad273f3d772" + }, + { + "leaves": 321, + "n": 13, + "split": 12, + "trace_sha256": "6c93b0ba2981e47c4d81eabe82b6b230ea2fe72bc80b830c32c75cdd93ad3b68" + }, + { + "leaves": 186, + "n": 14, + "split": 1, + "trace_sha256": "d3b8370b58371c0f215a4c2f631ecc6133da71afe2129e23f7dde4c979296579" + }, + { + "leaves": 168, + "n": 14, + "split": 2, + "trace_sha256": "c8018dd7e8e39ecd75b34ee62f93caac5476f2ab6af9ef04fb6748fe5af48cbd" + }, + { + "leaves": 156, + "n": 14, + "split": 3, + "trace_sha256": "c3499ed198a5751c969665deecfb939f08b062ad84639b676ae90a5a208aec16" + }, + { + "leaves": 144, + "n": 14, + "split": 4, + "trace_sha256": "3c59eddab2d79d8889580fd97d12a247204c8487ffc78b2b2320c8fe22f208df" + }, + { + "leaves": 144, + "n": 14, + "split": 5, + "trace_sha256": "2c756b474124c262e90a12027be3b6b317ea38571792b9afd2ca1fe16eb44b5c" + }, + { + "leaves": 144, + "n": 14, + "split": 6, + "trace_sha256": "ff69d10147ac174d4ccc525442a4cfe9d8e84499b6ee6d7499223f914e523b42" + }, + { + "leaves": 156, + "n": 14, + "split": 7, + "trace_sha256": "0bf75c85a37e7341c5a1fcc0ef7016b8d98ff12155b5a69a523fcd6e9b907814" + }, + { + "leaves": 168, + "n": 14, + "split": 8, + "trace_sha256": "036ddadb8aeb70ab729b178082d84f15308527149879eab569340e21006fad2c" + }, + { + "leaves": 204, + "n": 14, + "split": 9, + "trace_sha256": "5063e1d7d77a8dbc4e039ba0a4c7e252a555d38c40f37fc755a92761ae208d13" + }, + { + "leaves": 240, + "n": 14, + "split": 10, + "trace_sha256": "477bb10010df3281844fef73dc3e9f7ad50f8fa1b4c17ba655e2f19d44bfd5fc" + }, + { + "leaves": 282, + "n": 14, + "split": 11, + "trace_sha256": "f8e99d7b6f8b8072926902881722c31ee994513e1351838e31ceb37873b67fe5" + }, + { + "leaves": 324, + "n": 14, + "split": 12, + "trace_sha256": "64c4aa379299db7f3a67fe0b1afd4cded8b46ccb08367d211a7a7cdf9318b650" + }, + { + "leaves": 369, + "n": 14, + "split": 13, + "trace_sha256": "5d2092c83d9c0cd9d4fe33307e5d6f35ff69c2b882a50216c77f868990442374" + }, + { + "leaves": 210, + "n": 15, + "split": 1, + "trace_sha256": "8169db9140f352e95082287412f8e577eb9bbbd5721145d69ae4d70c8a66aca0" + }, + { + "leaves": 192, + "n": 15, + "split": 2, + "trace_sha256": "bafa82b8806e6b561ca12196466628ee18ed6b2267e1244baa353d4e62d36c23" + }, + { + "leaves": 180, + "n": 15, + "split": 3, + "trace_sha256": "4e709910c69d12a54dba4ef33299b2824f1ddf4f958f88b1ea84031ccddfc994" + }, + { + "leaves": 168, + "n": 15, + "split": 4, + "trace_sha256": "94a6059f3649ee6dfcac78aae1421518a4e602144faddf144475559e31a5e0bf" + }, + { + "leaves": 168, + "n": 15, + "split": 5, + "trace_sha256": "734af8399faf501bb71168644a6d1bf7df39086a8cbcdda4ef8f27d00e0f3757" + }, + { + "leaves": 168, + "n": 15, + "split": 6, + "trace_sha256": "531c22674d7600cb5fc97fe9ec3d397355f61fb23bfab3fddcb9fb0456d5172a" + }, + { + "leaves": 168, + "n": 15, + "split": 7, + "trace_sha256": "cd4e7195fd2531cbd02d683f36746bed993be26b9066674e09294aad82b840c6" + }, + { + "leaves": 180, + "n": 15, + "split": 8, + "trace_sha256": "2b24854671c6e87ac3b0c164095c93d41f2f53683582582b2cb28d13fa631b5f" + }, + { + "leaves": 216, + "n": 15, + "split": 9, + "trace_sha256": "180d981d2de32ad5a2bafad764a9c8f5ee683a4844c161fc2451d381a116eab8" + }, + { + "leaves": 252, + "n": 15, + "split": 10, + "trace_sha256": "399b8d291502fca42e783f59c3c7ffdc6158985285e0543a5db705f7d8cf99b9" + }, + { + "leaves": 288, + "n": 15, + "split": 11, + "trace_sha256": "4cc1e800c0d16e39cc6425d1241fc374c72663b62904861aa9a82209ee78db77" + }, + { + "leaves": 330, + "n": 15, + "split": 12, + "trace_sha256": "bb3b913b674d738ea97919c058b9303d0c52a0c337c1ddffb4e94ad4212efaa3" + }, + { + "leaves": 372, + "n": 15, + "split": 13, + "trace_sha256": "8a5b3211404bb8e6b6b98c334bc02a5053a78696eee78de8981fb4ab6c48f60f" + }, + { + "leaves": 417, + "n": 15, + "split": 14, + "trace_sha256": "a5fff4dbbaf40049be8675d82f6c0565dc7c4f6199171de6104fe91f750c93f7" + }, + { + "leaves": 234, + "n": 16, + "split": 1, + "trace_sha256": "fcad8e12f43eceb7789758fece3a69ed9d71ecb45a8bc6afb4362a9b50f838f5" + }, + { + "leaves": 216, + "n": 16, + "split": 2, + "trace_sha256": "524cbb484bb25877301ddf1e1c85672b26abb2963746d0a3048a7c2c14d74866" + }, + { + "leaves": 204, + "n": 16, + "split": 3, + "trace_sha256": "6d625e0a89e4d499be8816235a6a9ec035f3e76bd3846ce172d0e66ed85de108" + }, + { + "leaves": 192, + "n": 16, + "split": 4, + "trace_sha256": "a8e2f33974cb0b0ad4cfd941b8c1846ea86bf6ee23b323a3d9708687098f5b83" + }, + { + "leaves": 192, + "n": 16, + "split": 5, + "trace_sha256": "3a274ec1e81b4badc3cfc436ceedc5d4716733c60a9bc58e353530da96cb39ad" + }, + { + "leaves": 192, + "n": 16, + "split": 6, + "trace_sha256": "055859cdd67fb4503011e4becdaad7007768db62fdee7508998fd03e1d2b407a" + }, + { + "leaves": 192, + "n": 16, + "split": 7, + "trace_sha256": "58147ec5d4a20bcc5c3789484943b778905acbe0280422340484c98ad72dcec6" + }, + { + "leaves": 192, + "n": 16, + "split": 8, + "trace_sha256": "c2d2f8536957bb5d64cca587cd6f8f50d79d9aca2d1156b7c4f139f058af7a87" + }, + { + "leaves": 228, + "n": 16, + "split": 9, + "trace_sha256": "153eb7106c54b116f3ddbab1e98feeb6c4c8e1404db1266ca8bcf71a75934c40" + }, + { + "leaves": 264, + "n": 16, + "split": 10, + "trace_sha256": "ec38ec367effcf7754227c496c6cbdf30d48ff5723a685ba25903180feb2fe8a" + }, + { + "leaves": 300, + "n": 16, + "split": 11, + "trace_sha256": "5eb3f1fe43215a6562572e0636e3a37b95ca5ff04818892e2f5f0ee7c38450cc" + }, + { + "leaves": 336, + "n": 16, + "split": 12, + "trace_sha256": "23073856b79781d5796893db217d9e5dc6248e2d5efcd57c9da095cb536578fb" + }, + { + "leaves": 378, + "n": 16, + "split": 13, + "trace_sha256": "712b82616d405555ef80525c2763571fc105d2a4276c8b0d28a177e451ab972a" + }, + { + "leaves": 420, + "n": 16, + "split": 14, + "trace_sha256": "997836600ed27027834b8f25a0fd30d87daf347e17e2ec9af0c39caa85c2ff22" + }, + { + "leaves": 465, + "n": 16, + "split": 15, + "trace_sha256": "81264cff3fd470058d7416008c5b7100080fc41e492559522c3d5f050174005e" + }, + { + "leaves": 258, + "n": 17, + "split": 1, + "trace_sha256": "95687bdbeb7774b765939f86e316a3fd26afde3e051b76383692f0324d27e79a" + }, + { + "leaves": 240, + "n": 17, + "split": 2, + "trace_sha256": "c83d0bb9a496029b671b9e4557f0e6668ed5b87db15faf6c031ae0cf103515e9" + }, + { + "leaves": 228, + "n": 17, + "split": 3, + "trace_sha256": "9170da952a8dadf5039b78cf095dacd89ea7719d0763e101d9d4f2f549be187a" + }, + { + "leaves": 216, + "n": 17, + "split": 4, + "trace_sha256": "9d898f9a6100a3baf07aa7341f4dbacc497b644454ae07282b9d8aa70ba342dd" + }, + { + "leaves": 216, + "n": 17, + "split": 5, + "trace_sha256": "b00368852054c99dca62c9f371915cb493afec5fc7ef9f168c65dd59a55c5a1c" + }, + { + "leaves": 216, + "n": 17, + "split": 6, + "trace_sha256": "b54be412b83a4468a9ae5a9ff63579ad0bf33f586603dfa2ac9320ef12abad89" + }, + { + "leaves": 216, + "n": 17, + "split": 7, + "trace_sha256": "7565ffbe51dfec3b9da78163ce72d4ff2bc546b9a32f0f22124912ee402379b1" + }, + { + "leaves": 216, + "n": 17, + "split": 8, + "trace_sha256": "cad4c6ea06078a206c7e98f56555588c9ee453a72c043209e14f2dd9e7b81451" + }, + { + "leaves": 240, + "n": 17, + "split": 9, + "trace_sha256": "1cd3541f18d941f0a1d6ecc4e70a81e4870a5082d9391a232a35721a6fadf442" + }, + { + "leaves": 276, + "n": 17, + "split": 10, + "trace_sha256": "9948d2691c301151c87c33f36b094aa7a3b18cc09f1905e097c3149a9529fdae" + }, + { + "leaves": 312, + "n": 17, + "split": 11, + "trace_sha256": "df564a8c9b2c3a160622188abdfc42d89062e56e90b547db33339eeeda2e7288" + }, + { + "leaves": 348, + "n": 17, + "split": 12, + "trace_sha256": "b614917a72f18d44846efd99d8cf024d7693a049371683533b04502e59cad41a" + }, + { + "leaves": 384, + "n": 17, + "split": 13, + "trace_sha256": "cc3a280bcdf26946a94503add6b7b30b288fe2d4f7c7a27d5b8eee1ce2a9d8bd" + }, + { + "leaves": 426, + "n": 17, + "split": 14, + "trace_sha256": "1a5871ebcaa2345328702945afd1ef38b6e638029236e35fba23e728b87896ae" + }, + { + "leaves": 468, + "n": 17, + "split": 15, + "trace_sha256": "a0f4cf5e62bbcc4e74a644afcbe33162c1eb923b41ed433d791af295cfac0027" + }, + { + "leaves": 513, + "n": 17, + "split": 16, + "trace_sha256": "bd9ca3e2c48885d7d3dad928b4be351b22dc74b3ce59196ab3c5466755c9bee7" + }, + { + "leaves": 306, + "n": 18, + "split": 1, + "trace_sha256": "7592e1051107fe4208080f3c22ce66377cb2ddbfbeecb7af3767bad8902f433a" + }, + { + "leaves": 264, + "n": 18, + "split": 2, + "trace_sha256": "62a3380c897d5b88dc67b8594e841ccf68c355443b290ff04d5b75d3640c93d0" + }, + { + "leaves": 252, + "n": 18, + "split": 3, + "trace_sha256": "c5575543a8b41d0de01665c326debbcab1675c7f52934069c7ae990dc89ab74a" + }, + { + "leaves": 240, + "n": 18, + "split": 4, + "trace_sha256": "9e02a62bc295d9dbea63466e9d8b8ebc9b67ac317d608da5a9ae35bab1ce35ca" + }, + { + "leaves": 240, + "n": 18, + "split": 5, + "trace_sha256": "e8a538cce01d2c1cd9ef2cdb4207657bd668c35854ed19a339407c81d677cec1" + }, + { + "leaves": 240, + "n": 18, + "split": 6, + "trace_sha256": "9e2fdf1563785b0dc62e08adec30a1e48a090e397b1944e9845229274bb5f20c" + }, + { + "leaves": 240, + "n": 18, + "split": 7, + "trace_sha256": "71f411711203f9b02ed4f0e558243a580b7d74967aa43a15f62f4bcf119fd81d" + }, + { + "leaves": 240, + "n": 18, + "split": 8, + "trace_sha256": "95dc9364a7137b29790a149edbb82da8fe11f38c81e2f791d4b83279a11e2549" + }, + { + "leaves": 264, + "n": 18, + "split": 9, + "trace_sha256": "3553301e03eb190d04c290e52fb9231dd9b3976f0fe48b16be38800fea132aee" + }, + { + "leaves": 288, + "n": 18, + "split": 10, + "trace_sha256": "4c22ac4c764ee437b10f6096f7310324da2a6feb0a64d8d301435980003f48b1" + }, + { + "leaves": 324, + "n": 18, + "split": 11, + "trace_sha256": "36446b741e11c9a77d3def344aad6eb5b429b39da08178fd7aa30178f32bf7bb" + }, + { + "leaves": 360, + "n": 18, + "split": 12, + "trace_sha256": "e11f0811cdcbf63a7a6b807061b6dad7872817e936cf6b01d9b5177821f0cce0" + }, + { + "leaves": 396, + "n": 18, + "split": 13, + "trace_sha256": "cb9093457d85bb66c2fd59477ffc99aac582df9c96f5b8d19e3e2243cc927e28" + }, + { + "leaves": 432, + "n": 18, + "split": 14, + "trace_sha256": "b5d766f344a0e745f0b5544968d5e61279329b42d170a72e4abc5333df87b9f1" + }, + { + "leaves": 474, + "n": 18, + "split": 15, + "trace_sha256": "b3e16e808433e704fc176f962ce3e16163dbfb011c67c6614a000a022aef16d1" + }, + { + "leaves": 516, + "n": 18, + "split": 16, + "trace_sha256": "1cfbef00c3218f1ffde0821579952ee34085ed1e20a1c310967c786e19a85774" + }, + { + "leaves": 609, + "n": 18, + "split": 17, + "trace_sha256": "78dffa64351528d91093d3e27ccb4e4084f7f7c5151624cad000476b27e0f008" + }, + { + "leaves": 354, + "n": 19, + "split": 1, + "trace_sha256": "30b329ca7537e4dd493dc54ad630532d8dbb789f4b6340ed0f03c775c0de2f81" + }, + { + "leaves": 312, + "n": 19, + "split": 2, + "trace_sha256": "be3c8acd6010728ceaf1f348d8da876a1ff8f4840de6ff9612240a39acc5bc1e" + }, + { + "leaves": 276, + "n": 19, + "split": 3, + "trace_sha256": "2d02565c835bc7755209ea239afa67feeebd88c7d4f9ce36f1067499cb7cc7b3" + }, + { + "leaves": 264, + "n": 19, + "split": 4, + "trace_sha256": "7a7b0fb22daae9577faeef69e9b26c2a877a87b4a50bb0aa2bd87544583de7bf" + }, + { + "leaves": 264, + "n": 19, + "split": 5, + "trace_sha256": "90e53bd519765a29b06fb0f686fff7bbeb9796ecbe3794e85e0103bda24a0783" + }, + { + "leaves": 264, + "n": 19, + "split": 6, + "trace_sha256": "6ebd633045ba5e0cd98cb5bc38b7a71eaa14995a5c77ef5544c56850f6c2df00" + }, + { + "leaves": 264, + "n": 19, + "split": 7, + "trace_sha256": "1cf5ebea28b79e2500e504ab83be74b78a7b7ebcc17bef2a06a39ccb5ba89caa" + }, + { + "leaves": 264, + "n": 19, + "split": 8, + "trace_sha256": "d43e3b33b2bd131ba9195d3519b6bfca806825b5493db98e35f1ea8863769536" + }, + { + "leaves": 288, + "n": 19, + "split": 9, + "trace_sha256": "c3cfbf563eceab7dd5f79447d9bee8dc65ec50ad83e2388f116d51688d6ca64e" + }, + { + "leaves": 312, + "n": 19, + "split": 10, + "trace_sha256": "380c926bc6195c5601e251a961c0576c66d691ffc61611fa1a8164364baacca2" + }, + { + "leaves": 336, + "n": 19, + "split": 11, + "trace_sha256": "ebe8480b1846bf50ffa21e874a2eef87e23e67ec0d3a2acae9ff2d8709eac8ca" + }, + { + "leaves": 372, + "n": 19, + "split": 12, + "trace_sha256": "d358a1a8402f6a36537c811aedb2c43b919e79f0e3e23111f49e217bbd701a1a" + }, + { + "leaves": 408, + "n": 19, + "split": 13, + "trace_sha256": "775161959165cce9d9674cd9c937fb4372213f6e8ada9561c31cf8a140e4ef42" + }, + { + "leaves": 444, + "n": 19, + "split": 14, + "trace_sha256": "b8e0c9317865809aac1b6b3a5c5a4e1d23e8703047245322f85591ea5bd0f7a3" + }, + { + "leaves": 480, + "n": 19, + "split": 15, + "trace_sha256": "526ac45bb3b8e4ba46353fe40f0d130237e3154e26d1b3bcad796a04eac369bd" + }, + { + "leaves": 522, + "n": 19, + "split": 16, + "trace_sha256": "0e9f60aab66ca52c07d50abe52ac037492b83db110580175c3555d01cd235379" + }, + { + "leaves": 612, + "n": 19, + "split": 17, + "trace_sha256": "2db7910345d1a729b54acd7649cdce69cd5f425a79ea21e485ebd51a4df0573e" + }, + { + "leaves": 705, + "n": 19, + "split": 18, + "trace_sha256": "0306a332e2bfc46fb7f6f3defb6b1573ec1c2a6f8f759e737e3ce0ee0d53772e" + }, + { + "leaves": 402, + "n": 20, + "split": 1, + "trace_sha256": "87bfafe9fd90a1b8b1304502d1724addb7159414ab04f3918b3c8bf433b843e9" + }, + { + "leaves": 360, + "n": 20, + "split": 2, + "trace_sha256": "dc0e6a7ee7df6681780cf4bec4228b51551e276bde93e1a9db2b6d1f972ac4df" + }, + { + "leaves": 324, + "n": 20, + "split": 3, + "trace_sha256": "6151f522f208d538321db2501ce52c7a6290ba6dae81389f6bf4020ca4a4b47f" + }, + { + "leaves": 288, + "n": 20, + "split": 4, + "trace_sha256": "5808ac5c2133ee4b1ab87cbd2cb147c679f0eaec9a51871de8bdd7a0355272a1" + }, + { + "leaves": 288, + "n": 20, + "split": 5, + "trace_sha256": "3227a7097f5b0a96429e6bca860def6f2c63d1a5daaa9cbd2d7edd148de122f9" + }, + { + "leaves": 288, + "n": 20, + "split": 6, + "trace_sha256": "f971ad9ea097427ad5c88a6fb55013cf8eedf3b70204c0118dbf7cdd0737a64c" + }, + { + "leaves": 288, + "n": 20, + "split": 7, + "trace_sha256": "4b7de259930a937dfa64585b695114ca85f0ebf6a1a2c5acf56096ba8d558ca0" + }, + { + "leaves": 288, + "n": 20, + "split": 8, + "trace_sha256": "5d8a32c3a14dfef7ed8880f8feabf8b58eb3480e8ca67d6ab5e59b03825216cc" + }, + { + "leaves": 312, + "n": 20, + "split": 9, + "trace_sha256": "26e1d5924d2c475c9ff7a772eac0fd84e8d88e8a91a4d768239ff955244ed2c9" + }, + { + "leaves": 336, + "n": 20, + "split": 10, + "trace_sha256": "cf077a0994d7894a1473056f039c6fe375f2e1020ebfd9d733fc4fb7b9dbee44" + }, + { + "leaves": 360, + "n": 20, + "split": 11, + "trace_sha256": "58102ce71dadae53863e49f20ef3e29188bfe4353f88978ec4b323332041e5f2" + }, + { + "leaves": 384, + "n": 20, + "split": 12, + "trace_sha256": "809daa251fc753c4da23e654b0e922d4fc4fe4ac41442f9eec2219cce70edbea" + }, + { + "leaves": 420, + "n": 20, + "split": 13, + "trace_sha256": "1ae13061545db57ddf0af3e4e23da76be081cc77058495e295f69efc66cef258" + }, + { + "leaves": 456, + "n": 20, + "split": 14, + "trace_sha256": "a5c18794e849150c7ab4c0b96fd23ea6c528e7eb837de6201bbe42898aca4149" + }, + { + "leaves": 492, + "n": 20, + "split": 15, + "trace_sha256": "85cb66ec5318ebf0f6a0ed8cd46e439bc72874b27c5b6a07d1f0eb7c4effa564" + }, + { + "leaves": 528, + "n": 20, + "split": 16, + "trace_sha256": "5689b50d6dd00db749ced14c05bbb13567cca4cec70c8834e120694fecd6c3cc" + }, + { + "leaves": 618, + "n": 20, + "split": 17, + "trace_sha256": "f42a53581d357fd727869c1f06979f8538322933d822939ce863b5b2c48b574c" + }, + { + "leaves": 708, + "n": 20, + "split": 18, + "trace_sha256": "6a2886beb6c75df14308cb75d95cbdc65d9739bce560289b8679d53aeddcdb09" + }, + { + "leaves": 801, + "n": 20, + "split": 19, + "trace_sha256": "851aa73b6d3b3a5fc106e82c2f541a5412b37a2d1595844065862b72851063d1" + }, + { + "leaves": 450, + "n": 21, + "split": 1, + "trace_sha256": "edaad0236059ff9fbaaa72dc8b260f8b384f616e811ca7ccfe877d52658a6f11" + }, + { + "leaves": 408, + "n": 21, + "split": 2, + "trace_sha256": "9bcf89a7d31c53e4e639c60de085ec991e1111f2a33138821cdcafbcacb890bf" + }, + { + "leaves": 372, + "n": 21, + "split": 3, + "trace_sha256": "d6db5eabdf53ad49266d667f06f5428c3b570c601b45bc0da96841b91f89f4be" + }, + { + "leaves": 336, + "n": 21, + "split": 4, + "trace_sha256": "ebb97ace1a1718c4b402899355f7823ed88dcb5e8ee841cf53214db961c66cdb" + }, + { + "leaves": 312, + "n": 21, + "split": 5, + "trace_sha256": "fd69557f3e9c87a4d76b8abd7bce46252d56325fb7fa5bb6c79e6f680cfe0b98" + }, + { + "leaves": 312, + "n": 21, + "split": 6, + "trace_sha256": "5c2e11940805c258ec5244ca98508f5e8a13826810eae0286aaa8318bbd7e187" + }, + { + "leaves": 312, + "n": 21, + "split": 7, + "trace_sha256": "e9c6cbb0079fa7d9449e1557712fa6b8955d1a45a53c9b7100c2c637a95170c4" + }, + { + "leaves": 312, + "n": 21, + "split": 8, + "trace_sha256": "8c15bf96959a3ec71ef4bede8326e108af8d5c8682536ca03ba2f960e09a24d5" + }, + { + "leaves": 336, + "n": 21, + "split": 9, + "trace_sha256": "22f894630515be753ac0485d0132ef45a7681396e70de28e59f5fbbd3e93de31" + }, + { + "leaves": 360, + "n": 21, + "split": 10, + "trace_sha256": "0d5adf11877fff20d8ac46de4e5db742b2ed4842bd14a610c388bf69e6280cbb" + }, + { + "leaves": 384, + "n": 21, + "split": 11, + "trace_sha256": "2e9ee477752528ef096ba921ccbfe6a8d028803a1d4164dd96ece5a00c04024b" + }, + { + "leaves": 408, + "n": 21, + "split": 12, + "trace_sha256": "a4eba07f7fea4648fbfa9fa5b4f0a5bb6e8a8656388e2360b393cd93fb26e638" + }, + { + "leaves": 432, + "n": 21, + "split": 13, + "trace_sha256": "89b8919ea562412b39e043f9d22f890e8cfc3fa906406bec5e9e308b67c50c4a" + }, + { + "leaves": 468, + "n": 21, + "split": 14, + "trace_sha256": "1c5facb2c689f353447adb2357881b3d6daf3cb651556c7c72b4a33fc868c7b1" + }, + { + "leaves": 504, + "n": 21, + "split": 15, + "trace_sha256": "50a188be436a314f6fedf82fbcf2db5ea5744d789b3721d5df33be4d5c49c2d0" + }, + { + "leaves": 540, + "n": 21, + "split": 16, + "trace_sha256": "a196d14aa1af1f9121140e3ae8fb11468aeeda871d94ad7b1abb1dba9f476b65" + }, + { + "leaves": 624, + "n": 21, + "split": 17, + "trace_sha256": "92847f1a4ec036acb2e5b34c817dfe067d3cdd6d83c87e1fddd15faad159ee68" + }, + { + "leaves": 714, + "n": 21, + "split": 18, + "trace_sha256": "e2c70dce3cb81c845cc5c9ed15de737ae98ae98c186fc1e8cf3e730b272672bf" + }, + { + "leaves": 804, + "n": 21, + "split": 19, + "trace_sha256": "ec8cd91fa795601d542f26909bbd3d4aad59335923eeeb92c886ed7cc826c93e" + }, + { + "leaves": 897, + "n": 21, + "split": 20, + "trace_sha256": "1fa19a972d0277422ab3005141c50d4068283072cb885cd9ec354ee0deac00fd" + }, + { + "leaves": 498, + "n": 22, + "split": 1, + "trace_sha256": "e7a868cab2d2e53ed6af2dcbeb565faa49c6d4dcf3d7cd88ba366a0e486797ec" + }, + { + "leaves": 456, + "n": 22, + "split": 2, + "trace_sha256": "1073c05bea27caf45f4fdc4f6512cfd52f3339b17c585f0eec60786ade3df610" + }, + { + "leaves": 420, + "n": 22, + "split": 3, + "trace_sha256": "91fb423f8bb068228776c9a82b02387646cc765967367b11027c01168fdc5afa" + }, + { + "leaves": 384, + "n": 22, + "split": 4, + "trace_sha256": "563500ef03e2358234802cd785a30cdbf833d8624de22cb5e1a473f2503ebeea" + }, + { + "leaves": 360, + "n": 22, + "split": 5, + "trace_sha256": "8f7854912cd8a83a59b864280fc23a5ff700cf61b8faf7981b2e381624a5bf7f" + }, + { + "leaves": 336, + "n": 22, + "split": 6, + "trace_sha256": "49f82c35e664d14af71b99a1f108c9efa51fd7054de793ebba504c51a7315bcb" + }, + { + "leaves": 336, + "n": 22, + "split": 7, + "trace_sha256": "93800c5861e03a7b5f9c8888986cb78322f5dc128c5e6dfd62f299f432a268bf" + }, + { + "leaves": 336, + "n": 22, + "split": 8, + "trace_sha256": "2fd0f248ef4ee77fc38617b00a155cf5ced49933e6d64dbcc385ef25d89d2724" + }, + { + "leaves": 360, + "n": 22, + "split": 9, + "trace_sha256": "5ceebc465e2a80094fa13c479ea06d2ceb352539859b5f702b483b0409a840aa" + }, + { + "leaves": 384, + "n": 22, + "split": 10, + "trace_sha256": "2177e17955d736de65b7ffd36e766916a393515f861396dc6cd3ca1b1c1e683b" + }, + { + "leaves": 408, + "n": 22, + "split": 11, + "trace_sha256": "c688c1395492e5deaae519bb7353518310d2be80667e967104cf1283459fe331" + }, + { + "leaves": 432, + "n": 22, + "split": 12, + "trace_sha256": "61f808757f0df212bf60c49f5b2c5690cf9551d40802499210a73df0c43d1f0b" + }, + { + "leaves": 456, + "n": 22, + "split": 13, + "trace_sha256": "99ec40810c8fae701b91062f7d9c3472a02ada65d15057bf6dba242d789130c0" + }, + { + "leaves": 480, + "n": 22, + "split": 14, + "trace_sha256": "6d4936085ddde7a098147ffb828b85a687b1b9d321a6809be411eb22d8dbfb55" + }, + { + "leaves": 516, + "n": 22, + "split": 15, + "trace_sha256": "f77c73636e33e2b02ac8086702574bdc1dff3a73f6c1a102dcb9e8729c4d708b" + }, + { + "leaves": 552, + "n": 22, + "split": 16, + "trace_sha256": "00f7ef6a190f694e01d178099366ad22c7d74066d042bfbabf85fa76768ec5e6" + }, + { + "leaves": 636, + "n": 22, + "split": 17, + "trace_sha256": "5e3f55941816465f264741bba412b799b8a1bca7b8523f7d8796bc27bd8676f4" + }, + { + "leaves": 720, + "n": 22, + "split": 18, + "trace_sha256": "b616be537f41bb2c62ce30d15635cb6d216db7965e6c01fa523e837b8783109a" + }, + { + "leaves": 810, + "n": 22, + "split": 19, + "trace_sha256": "19223b4ad0379b75fed9f2fd14e258681c19215b47d6bbd717859f7deddbe912" + }, + { + "leaves": 900, + "n": 22, + "split": 20, + "trace_sha256": "f68ca66cb210552e267763d9123748bced4a44bea5a70d0140a64171aeb4c190" + }, + { + "leaves": 993, + "n": 22, + "split": 21, + "trace_sha256": "d4121d41ae2898139b9c0b1fe521121324d62f23bfca4045fc8719b8600d3bc6" + }, + { + "leaves": 546, + "n": 23, + "split": 1, + "trace_sha256": "b070b2e52af60812ee66116aabb576107fe963f9c96745c93d5b2571963b3c24" + }, + { + "leaves": 504, + "n": 23, + "split": 2, + "trace_sha256": "1d79a7ab40a73d9cf44f63139d0ce80045ead6348573be20407bb050b1df4190" + }, + { + "leaves": 468, + "n": 23, + "split": 3, + "trace_sha256": "4a594f6ac12efc1dc41fd08f46b25ba953d7aac1b6a9ba78fdf8c5bbe1cdee23" + }, + { + "leaves": 432, + "n": 23, + "split": 4, + "trace_sha256": "21858fc46d493585d9469a853a02e23986760c55a2f39294444c3629d0018b1c" + }, + { + "leaves": 408, + "n": 23, + "split": 5, + "trace_sha256": "2b06295e0461092fecdf54f3710d4b102629b23a699f9894d74d3e57bc5e7de6" + }, + { + "leaves": 384, + "n": 23, + "split": 6, + "trace_sha256": "cd538568f2aab1152443e401b9a9fc415512bd1ac794abdd6330911c6e629005" + }, + { + "leaves": 360, + "n": 23, + "split": 7, + "trace_sha256": "221c6306d3724dd65dd7882d58bf9e5d23af6d801c7897b24b241ed69c5e0c96" + }, + { + "leaves": 360, + "n": 23, + "split": 8, + "trace_sha256": "01e85159b46014aeb418a937f805fbba4354f3c0f49dcaacc3b2a925c7007568" + }, + { + "leaves": 384, + "n": 23, + "split": 9, + "trace_sha256": "74400a9c6cf47b27e4d8391c9e66f843a995970b1cb85a05a79c0f6d86441274" + }, + { + "leaves": 408, + "n": 23, + "split": 10, + "trace_sha256": "d971837a539333f73cf8f6d41f0ef2ff6d3cfa536fa19be06895111314891623" + }, + { + "leaves": 432, + "n": 23, + "split": 11, + "trace_sha256": "5d2fe28a73df6a1e0753191827b69dbcaf31ce60071bcf27627854653d023011" + }, + { + "leaves": 456, + "n": 23, + "split": 12, + "trace_sha256": "711bcb306f979d21682e2abe2afcee788579a993620c549d67f275e4fea90649" + }, + { + "leaves": 480, + "n": 23, + "split": 13, + "trace_sha256": "e9bef974280e566ddf3fb5584312c79e009b3f6a8556d4f0f36c10cf16afafdc" + }, + { + "leaves": 504, + "n": 23, + "split": 14, + "trace_sha256": "cfece41c12aa0c9dcd8ed45e3e0eff93305523be1a5fe9df1016b11e35dced77" + }, + { + "leaves": 528, + "n": 23, + "split": 15, + "trace_sha256": "70ea65a419c7aa3a65c225c2a5685c4cf69c4457b3427f7bd6661e3e5d7f6576" + }, + { + "leaves": 564, + "n": 23, + "split": 16, + "trace_sha256": "e4c84142f5f0b1dfa25b54dbf1966e7213e1822a8308110d27219511bf312d5c" + }, + { + "leaves": 648, + "n": 23, + "split": 17, + "trace_sha256": "96ecd933c68fbc44f6efff82370715120c186029a9e8f9ca9a678da756baf468" + }, + { + "leaves": 732, + "n": 23, + "split": 18, + "trace_sha256": "e2922ce4ba219a90375e0611559ff592122820455075ba027cb79c6bfb435499" + }, + { + "leaves": 816, + "n": 23, + "split": 19, + "trace_sha256": "ff0c62dd74fc15e35809518de5711af6b0ea1815e721f04e18af33926a9e5e14" + }, + { + "leaves": 906, + "n": 23, + "split": 20, + "trace_sha256": "c4c2476ae303c806e4e3857e4080d7276d8d19a843dd86935dd88528cf2e1c04" + }, + { + "leaves": 996, + "n": 23, + "split": 21, + "trace_sha256": "06401b1346a0e89740c1c40aa8377be6d1ceb3aec6b8d10e18a978f45979fe77" + }, + { + "leaves": 1089, + "n": 23, + "split": 22, + "trace_sha256": "f5b8d6ff8b61c78159d7b1e4ecf2e1bcce6de3ebb650257a24ec55818fb10d1f" + }, + { + "leaves": 594, + "n": 24, + "split": 1, + "trace_sha256": "3a17ae63ca92beec0be5ec9fc01d00dc039c5a544e9d83754a0d3e6f1aeebc9e" + }, + { + "leaves": 552, + "n": 24, + "split": 2, + "trace_sha256": "3b764b9397430ad6d360febcbe32548160f01fd1dc1e5b9cf4a7f39a420d77b6" + }, + { + "leaves": 516, + "n": 24, + "split": 3, + "trace_sha256": "0c8366b6363092a9a1049e3151010d01c4b2ee55d285957e68d7ddc14e67fefb" + }, + { + "leaves": 480, + "n": 24, + "split": 4, + "trace_sha256": "e0f57b84a9905f62d7a9f25fdfed988ce1363d5af6c3a4e21df37a48d63c6d8b" + }, + { + "leaves": 456, + "n": 24, + "split": 5, + "trace_sha256": "917bae83dd1104e724c8f59675b60c10d105a0b335890b97eb7961881595e0bd" + }, + { + "leaves": 432, + "n": 24, + "split": 6, + "trace_sha256": "b21fe42ad4c152ebcff04daa0d5fb5ae1f24589305d6cb8f8fbd151409c5309c" + }, + { + "leaves": 408, + "n": 24, + "split": 7, + "trace_sha256": "c21f89619ff4f775ae74731ae4207c69396a2bd64cc5393e5170b47834a4c6b7" + }, + { + "leaves": 384, + "n": 24, + "split": 8, + "trace_sha256": "39bd44bcaded7906a85fb21162d39a3af2744cc360d2f953bb857302db403f0e" + }, + { + "leaves": 408, + "n": 24, + "split": 9, + "trace_sha256": "a81ad7dbaf3d3e53a388602a9d6d0a0c62d7f35cb5c6480293069b0c74b3ab10" + }, + { + "leaves": 432, + "n": 24, + "split": 10, + "trace_sha256": "05bc2903765d5ec3cfcc2a46f36a596886fe1a110626035cb532a032c86a6c2e" + }, + { + "leaves": 456, + "n": 24, + "split": 11, + "trace_sha256": "8530ab5a32f7c7983345ea65c3f6ca0a53484ae31f6964c91a0eb4807844e488" + }, + { + "leaves": 480, + "n": 24, + "split": 12, + "trace_sha256": "46e367d0c1d77c4281ef1b499cee78653040495fe7338fa63d3320326e38be97" + }, + { + "leaves": 504, + "n": 24, + "split": 13, + "trace_sha256": "ea7cd6f4b89301a7a6d79a8fba32c26dc2ff0186966ea2256287105366a4a0da" + }, + { + "leaves": 528, + "n": 24, + "split": 14, + "trace_sha256": "ee2edc212e5bba89285784743e95809f6a14229ee278c0cfbc6931f75cd3fac6" + }, + { + "leaves": 552, + "n": 24, + "split": 15, + "trace_sha256": "215367344db3ff0ee7b1dd5ec5e90658392c74b9f8a5ee5ccf8358379b8361e3" + }, + { + "leaves": 576, + "n": 24, + "split": 16, + "trace_sha256": "ce7b2bee5fa602133d2441a5a172c17c9c39080cf6785d026fbe2a6402db8baf" + }, + { + "leaves": 660, + "n": 24, + "split": 17, + "trace_sha256": "2b91494551957618d7c26d37bc4d5c15182b64cd312515eebec22e7cfdea759a" + }, + { + "leaves": 744, + "n": 24, + "split": 18, + "trace_sha256": "b9e0adb43a2bb038e4392fe75b8959c8f82d1b26c983f7e97cd881ec3d86f238" + }, + { + "leaves": 828, + "n": 24, + "split": 19, + "trace_sha256": "739362b2555aa35e64fd9a50f8e569e03dd8d7cadd153f7e2feb7ff8c67eafb4" + }, + { + "leaves": 912, + "n": 24, + "split": 20, + "trace_sha256": "d8008003e8c5185144fd9aa8679461afdd773ec1dc5bface326a4dea2522869c" + }, + { + "leaves": 1002, + "n": 24, + "split": 21, + "trace_sha256": "58c39cb5a7f40d63b6fe3abec116760d1edd77a75429bb5ab52ab4a604ec52ca" + }, + { + "leaves": 1092, + "n": 24, + "split": 22, + "trace_sha256": "e16d81b201b197a619d2b98fc7eeff1f3ab9886677976595c6809cc981d349be" + }, + { + "leaves": 1185, + "n": 24, + "split": 23, + "trace_sha256": "ad2b71e8ab0b142f649bd8e4ba5911cb088870534472dff120d43eb6d30e3e27" + }, + { + "leaves": 642, + "n": 25, + "split": 1, + "trace_sha256": "7d6a318446ede3b79da2cd49cccbbfa5bc0a5a03b20b788c28b81fa45279ac2e" + }, + { + "leaves": 600, + "n": 25, + "split": 2, + "trace_sha256": "111ac424a2e34e5d4806321c39bc91165de56653681182e28e1423de9ca940a2" + }, + { + "leaves": 564, + "n": 25, + "split": 3, + "trace_sha256": "0adad794d65a2cba4ff893c0963cc4e0859b5e78b55304a85ff5f872946abd4e" + }, + { + "leaves": 528, + "n": 25, + "split": 4, + "trace_sha256": "fb817bc21873fc2abb606087ecff65c9fd387d9494996f0ee38010642b2a4e65" + }, + { + "leaves": 504, + "n": 25, + "split": 5, + "trace_sha256": "60284884d7eca3ae67b768a0510dddf317f15d36440a45d5b34ce571b68bf6a4" + }, + { + "leaves": 480, + "n": 25, + "split": 6, + "trace_sha256": "818a32929a84a3358f95e54932eb4b478f36d72e324d0d0fc62830a110abe5e5" + }, + { + "leaves": 456, + "n": 25, + "split": 7, + "trace_sha256": "090b8a550efa6498a928cc0462124fdc648dca3b8881a7381179d007abc6c126" + }, + { + "leaves": 432, + "n": 25, + "split": 8, + "trace_sha256": "a139eae3d75e45fadd458808432a3b99e2df2ca07ebdf1f6c9847f913221f1b1" + }, + { + "leaves": 432, + "n": 25, + "split": 9, + "trace_sha256": "8fb298178b0745e16761824712ef1707fb597ca6ccd7439f076aa643bc1874f9" + }, + { + "leaves": 456, + "n": 25, + "split": 10, + "trace_sha256": "f3ce3449caf8c041816310ffdb70c4bba0230d564ff7353de50de1ba10923aa2" + }, + { + "leaves": 480, + "n": 25, + "split": 11, + "trace_sha256": "a8eddaac7ceb83d4e71069135286f9378adcebf9542daf7bb4628143cf68f7d1" + }, + { + "leaves": 504, + "n": 25, + "split": 12, + "trace_sha256": "08cb86c796f0d02540bc42cff2c17726469d2413e730852264095239579587ef" + }, + { + "leaves": 528, + "n": 25, + "split": 13, + "trace_sha256": "14ab3eb2b11bc04804949d8cecf362827ea5735f9fccbe801f93f73aa21393f8" + }, + { + "leaves": 552, + "n": 25, + "split": 14, + "trace_sha256": "27b1fe695641719a3105f927ab8fa57b44777f9b46aac24599cc088263a24b5b" + }, + { + "leaves": 576, + "n": 25, + "split": 15, + "trace_sha256": "cf1718fa3c71e48c98ca5defa4b0a46e729b49ea4ff108a77d5ec5622dc091f7" + }, + { + "leaves": 600, + "n": 25, + "split": 16, + "trace_sha256": "ebb221460f7e4590db621016ef7c178dbe3a41f98348c292566eb1e00e69a19f" + }, + { + "leaves": 672, + "n": 25, + "split": 17, + "trace_sha256": "421f6a5c1bf9db09b786855f5ed82add3826704f8263a600c39971a326492490" + }, + { + "leaves": 756, + "n": 25, + "split": 18, + "trace_sha256": "0e054753003352053f36954fa5650069ac2387859f184ca532d35072b7c204b4" + }, + { + "leaves": 840, + "n": 25, + "split": 19, + "trace_sha256": "2c1f9a0972ce7f2e72502b554356cff5adaa0f5f4180ab4d72665e867f03ac2e" + }, + { + "leaves": 924, + "n": 25, + "split": 20, + "trace_sha256": "ac86da503bee95a8940787065b11da1b42cd3c7e6c7cd81d41a72ac336c6abf3" + }, + { + "leaves": 1008, + "n": 25, + "split": 21, + "trace_sha256": "ac50b01f645fb7df63c001711610a51fb63b48dcac59a1b05230ae1e858a98cb" + }, + { + "leaves": 1098, + "n": 25, + "split": 22, + "trace_sha256": "46a3dfbbe73723767c8c50149e576a996f88b20c861ed45ae2dbb3203e5dc72f" + }, + { + "leaves": 1188, + "n": 25, + "split": 23, + "trace_sha256": "d91c4463a20299f7a6db9373702a6a2bc452491850e8bd697897429e7d811f02" + }, + { + "leaves": 1281, + "n": 25, + "split": 24, + "trace_sha256": "3e943f1572e5d222758c851b1eb9812cffebcd734bb2c340b735c5d9d30f08fc" + }, + { + "leaves": 690, + "n": 26, + "split": 1, + "trace_sha256": "4e8fa7f84a7f0d6ff34794b19a135c4699c2f1fca690173364328cf4551ddac4" + }, + { + "leaves": 648, + "n": 26, + "split": 2, + "trace_sha256": "12a88ec18d1495cfa0fa393680624375e4180456749af1dd37bcbfe6a1750ffd" + }, + { + "leaves": 612, + "n": 26, + "split": 3, + "trace_sha256": "ab5cb4fb44c51d43d79d5d1bd36a3f8ff4aab798cd53324517c17b09eb86fb5a" + }, + { + "leaves": 576, + "n": 26, + "split": 4, + "trace_sha256": "af6ce78cb5b8de570f5c2770fc80a7cb4027df142775ba106596e78cfa8c618b" + }, + { + "leaves": 552, + "n": 26, + "split": 5, + "trace_sha256": "2ee5f42e198908fc1de84674f4caf38ee4ad5e4a404c9f2133309d9040e30019" + }, + { + "leaves": 528, + "n": 26, + "split": 6, + "trace_sha256": "07f35a7178e8c3631fff162d7dbfd99d315c96dc5eaba2f4d545bbeea86709c6" + }, + { + "leaves": 504, + "n": 26, + "split": 7, + "trace_sha256": "08dfb6ae11e5ca1819a1d25e6768602c21b9663a7714130f2d939a757dd94a77" + }, + { + "leaves": 480, + "n": 26, + "split": 8, + "trace_sha256": "76eeec488cddb07a56f9d1cf36ac695508b7f4be5974b9b2c8b042172ee72eb1" + }, + { + "leaves": 480, + "n": 26, + "split": 9, + "trace_sha256": "111b18530832fcc6eef041132b3b05688dcea206fc3c7254356cf42b98c6ddda" + }, + { + "leaves": 480, + "n": 26, + "split": 10, + "trace_sha256": "57af14e65eca891df3a5d642e145f65d1a56c7bb3a2eb7e558b1db62937bc643" + }, + { + "leaves": 504, + "n": 26, + "split": 11, + "trace_sha256": "a33a2c6a1ac2448c417fca82f5f60be07eb44adad2a34ef63b9798641ac47114" + }, + { + "leaves": 528, + "n": 26, + "split": 12, + "trace_sha256": "ec778f688c769ae4d88cadd741922620f00bd4bb7ecf39549443dd4460b3635e" + }, + { + "leaves": 552, + "n": 26, + "split": 13, + "trace_sha256": "0803dd1118a32051f194335546cca87712e50050ce0fc3a4f8baf2cb25287925" + }, + { + "leaves": 576, + "n": 26, + "split": 14, + "trace_sha256": "3a92a9feaefc8069d39d65774a945b7748e76852f170a15c1db05de967b9654e" + }, + { + "leaves": 600, + "n": 26, + "split": 15, + "trace_sha256": "89f9ba47caf63e4f825cf33fbb6afaeb215c2f1140e823d8bc3f223f3cc8a8d5" + }, + { + "leaves": 624, + "n": 26, + "split": 16, + "trace_sha256": "1721b0de25003db6f5dd02187a801343a49894c6a7baeb638b0172b33ea5d568" + }, + { + "leaves": 696, + "n": 26, + "split": 17, + "trace_sha256": "d42efa8b0515825e7d266b093f97a3c2d859e6e0b55416aff0153f9835ba5cea" + }, + { + "leaves": 768, + "n": 26, + "split": 18, + "trace_sha256": "6ffc66eeb58412e4520b9e5ace9a5b1505d74fdaa829610d4f5b3daef3eb6c9a" + }, + { + "leaves": 852, + "n": 26, + "split": 19, + "trace_sha256": "d7d78a7f30ef28c969851f0ec7b95b405bb2cdac24e78eeccfd05ebd3bfaeaa5" + }, + { + "leaves": 936, + "n": 26, + "split": 20, + "trace_sha256": "7b01c8692aa5bf4ed8416242cf6d53ac8cb2ba57aa8c4f7d832d671c9103e75b" + }, + { + "leaves": 1020, + "n": 26, + "split": 21, + "trace_sha256": "49670765f4b6e518623c5849b53feb9ede72d04f506d89731dcb688b05ac1ed3" + }, + { + "leaves": 1104, + "n": 26, + "split": 22, + "trace_sha256": "53f07af0ecbb74905d8384c933f123ed51a8c39564a7c617b20204e314ad5cb0" + }, + { + "leaves": 1194, + "n": 26, + "split": 23, + "trace_sha256": "8c230c819f25d1820457e0b65122a96b73ca8d8d30f3efc051b6879b6e67a72e" + }, + { + "leaves": 1284, + "n": 26, + "split": 24, + "trace_sha256": "f034c63ca0d6b334f4200ea76a37e8a4eead1aa8d5561132d46e848e490e1e7e" + }, + { + "leaves": 1377, + "n": 26, + "split": 25, + "trace_sha256": "7c0e7a7aa7924404307e729259d364a88665215fb33cb8279a733c93d0459052" + }, + { + "leaves": 738, + "n": 27, + "split": 1, + "trace_sha256": "16fb8bef1689037c80f58733e6121ad22eb52a7e34e39ca52424045ba21d859e" + }, + { + "leaves": 696, + "n": 27, + "split": 2, + "trace_sha256": "0851874311d2d24969ed93e235a9c8c9d68cd18bf981fb977415b9cb95ef0bbb" + }, + { + "leaves": 660, + "n": 27, + "split": 3, + "trace_sha256": "30dff265e5f5fd7c91df161be7b29b6a581d1b00624e26576b9604fac47daa84" + }, + { + "leaves": 624, + "n": 27, + "split": 4, + "trace_sha256": "5057b9311d2ff056ec22cf7db6e93ff87fe58a115a301bfb847003f7fd165149" + }, + { + "leaves": 600, + "n": 27, + "split": 5, + "trace_sha256": "bb2341683bf5147b94f1db1cf5542df65aca8706d8ddbfbcecf3e4c26068f63e" + }, + { + "leaves": 576, + "n": 27, + "split": 6, + "trace_sha256": "3c9b482e3afe6b9ebdd18aedccbfc23be63a22351ba289ec31c5ff3539f8a798" + }, + { + "leaves": 552, + "n": 27, + "split": 7, + "trace_sha256": "834a7c4128427cb982b3246bd754d74d7405e1607a5041f14ea1044bd073649d" + }, + { + "leaves": 528, + "n": 27, + "split": 8, + "trace_sha256": "5ccd168c54f2b5811b28a70a345f26f2108506428e9f29ed46a4620b5e2f95bd" + }, + { + "leaves": 528, + "n": 27, + "split": 9, + "trace_sha256": "621353a31c5c4e4b1b7508250af67f9b455fc01f8e32620c8c1af465d42acaf4" + }, + { + "leaves": 528, + "n": 27, + "split": 10, + "trace_sha256": "ecb8fac66dc409e8a514e4ca87cd8df21256b983dd2592e03950abecd1f64c49" + }, + { + "leaves": 528, + "n": 27, + "split": 11, + "trace_sha256": "eb881b5a41cfd69ec6282b9640fae4ec025827bd92cdbda8671be364ba19c177" + }, + { + "leaves": 552, + "n": 27, + "split": 12, + "trace_sha256": "fd4e83daf5f143d9f67c08121147561d4dd83496da21716af60565afe438f14d" + }, + { + "leaves": 576, + "n": 27, + "split": 13, + "trace_sha256": "72cad3fbd5e8a9c0dfadb3c693152ad567bcec88bc367eefb5b43869d1daa9ed" + }, + { + "leaves": 600, + "n": 27, + "split": 14, + "trace_sha256": "8ce1cb9f6c5f068a98d2e3c97d0cff22e3bcc227fc90858bdc4538c2a7e79a03" + }, + { + "leaves": 624, + "n": 27, + "split": 15, + "trace_sha256": "2cf54d9fef375c07112ba3c8b704a873e434ac225519d95bf34744ab0c539776" + }, + { + "leaves": 648, + "n": 27, + "split": 16, + "trace_sha256": "4913c7e909eeefe15810a46a65d0bd7e983aab5a23e506823a2981aed86b2f87" + }, + { + "leaves": 720, + "n": 27, + "split": 17, + "trace_sha256": "cef75a5ee5af738ca50e2ae20332658edcdf87282e3acad7c66d1184778c83ac" + }, + { + "leaves": 792, + "n": 27, + "split": 18, + "trace_sha256": "fc2e36c6c37c7c171ec06337330d584ade856c107f588fb3c674f3db32b07471" + }, + { + "leaves": 864, + "n": 27, + "split": 19, + "trace_sha256": "f9a924ecf7defeec9cad753912604a81eaf5e2086911e95c2e101c7ee6bdffd7" + }, + { + "leaves": 948, + "n": 27, + "split": 20, + "trace_sha256": "b7fd36e684e92353722661ffb14d7d6cc0f2bb1c4a46bb1e7deead95c159d1d4" + }, + { + "leaves": 1032, + "n": 27, + "split": 21, + "trace_sha256": "3d037f5c82b828f5afdfb196584fa4ec59475d97e05d48a503e3ae4938e4ed23" + }, + { + "leaves": 1116, + "n": 27, + "split": 22, + "trace_sha256": "1d4f63e39ec250753cfbfac9ecb289c8ea29c6888edc3856575f7ae5fb00b20c" + }, + { + "leaves": 1200, + "n": 27, + "split": 23, + "trace_sha256": "7f9b8357b6911ba04971182d4ad7a91665c2ceca02ae383d11cddcef3f851052" + }, + { + "leaves": 1290, + "n": 27, + "split": 24, + "trace_sha256": "3fab0e2618cff4e6f657fae83bb9b749487f2aa8105bb0dd9c77aedd633afc3f" + }, + { + "leaves": 1380, + "n": 27, + "split": 25, + "trace_sha256": "78321fcf096842ecc6ad1d796087a24adc1071b3b3852022d536bd101f2dc969" + }, + { + "leaves": 1473, + "n": 27, + "split": 26, + "trace_sha256": "85bbef8b22ff018a61e1826b83c34dd2be661ae48afe0473f5e57fd563436fe3" + }, + { + "leaves": 786, + "n": 28, + "split": 1, + "trace_sha256": "9d4ad3b013fa4888d0c14a2f555f94d0973e2c5eeb199ae313059e25ddb1c982" + }, + { + "leaves": 744, + "n": 28, + "split": 2, + "trace_sha256": "e737d5fd44f29879a836849af80e40128522808a5a1d35edbd0f778a8f0338ca" + }, + { + "leaves": 708, + "n": 28, + "split": 3, + "trace_sha256": "75165608695e7a903091ddaf11f6876d8acebbecd13f209fb6a258b4fcf86047" + }, + { + "leaves": 672, + "n": 28, + "split": 4, + "trace_sha256": "2cf11035ab0271ab68da0cf37143ca18e96821e99c3788ad56e8ee86db3b3086" + }, + { + "leaves": 648, + "n": 28, + "split": 5, + "trace_sha256": "edee8823469e610f5e58f5606b7047677165f2d5e1194a7931d649a41bc46e0a" + }, + { + "leaves": 624, + "n": 28, + "split": 6, + "trace_sha256": "1ae838beaf5f1b1128aa7cd2c5b2a6b72647c6dde4147faa759f572fd5db3fb4" + }, + { + "leaves": 600, + "n": 28, + "split": 7, + "trace_sha256": "71718b332cc36084e52cd8b581293ceeacc9de54e29a74b1cd0dc69b47b856da" + }, + { + "leaves": 576, + "n": 28, + "split": 8, + "trace_sha256": "b1a9ade4a2f853836cfd9710f2697af6abaf0b4883c6f7325abbd833458a9e55" + }, + { + "leaves": 576, + "n": 28, + "split": 9, + "trace_sha256": "e937cd472880576e17a57a0461799c2562d24c8efcbdfcbf056d4383e5982dcc" + }, + { + "leaves": 576, + "n": 28, + "split": 10, + "trace_sha256": "bd6f974d002a19e98b08e5995daa00bb82604a6daf5ab96b0d9806d1b9825de1" + }, + { + "leaves": 576, + "n": 28, + "split": 11, + "trace_sha256": "595fc03dd4aa8f2602b31476ef30a4835a41a1b37168e62f6c3f49fc2ec4eb16" + }, + { + "leaves": 576, + "n": 28, + "split": 12, + "trace_sha256": "20cb475221b0ef5e8e03853e6a6f47868bdb448f577f563dc95cb23fb4871679" + }, + { + "leaves": 600, + "n": 28, + "split": 13, + "trace_sha256": "6d2268a0b6e0d32f4f750d89e53e21a1bceab6eee3a6104a656b2c5a36429133" + }, + { + "leaves": 624, + "n": 28, + "split": 14, + "trace_sha256": "0b94d63b9bb70909a9fbc9186727b97faea6219cdacccea6d5c55737b0b30c92" + }, + { + "leaves": 648, + "n": 28, + "split": 15, + "trace_sha256": "74d73b2e149878b61c57fc68ee08b83e71253d4087561aa5aa84235238ffdc3e" + }, + { + "leaves": 672, + "n": 28, + "split": 16, + "trace_sha256": "8730d6d58cef9b616cfa193dc709f65c9ff6f80d391908899205cdada7959efd" + }, + { + "leaves": 744, + "n": 28, + "split": 17, + "trace_sha256": "a84c24ce568233c86da5e5cb8eaf1a729e670d89f34c98a9cac66656d571f77e" + }, + { + "leaves": 816, + "n": 28, + "split": 18, + "trace_sha256": "91a6d9527e80077c7224a0713ffb46a2bb38ecc9682226cdb94c53248bb42ef9" + }, + { + "leaves": 888, + "n": 28, + "split": 19, + "trace_sha256": "df2ff0506fd305eb19b04a29f7c1d86a95b6a370dfd194f776cc30a335bdf666" + }, + { + "leaves": 960, + "n": 28, + "split": 20, + "trace_sha256": "a5b103512dbc845bb14b62c5ae4a0d97ed9c1e273ce46bfe4538eda729176766" + }, + { + "leaves": 1044, + "n": 28, + "split": 21, + "trace_sha256": "45327be53340fe7aadc5d559c474b23473c5f26169f1ef0d467a857fcb8f2b38" + }, + { + "leaves": 1128, + "n": 28, + "split": 22, + "trace_sha256": "9ece112358659c55b45283d3aca8da7427fce56b210c5b364922872885fbd0cd" + }, + { + "leaves": 1212, + "n": 28, + "split": 23, + "trace_sha256": "6a5308222def5abac3fc34c38f8341e99040389bd41ec98a9626cc55cba8fb27" + }, + { + "leaves": 1296, + "n": 28, + "split": 24, + "trace_sha256": "b679c7b31979ab00015681f0d72cac1b91ddf588d54bc6df738136516270aa81" + }, + { + "leaves": 1386, + "n": 28, + "split": 25, + "trace_sha256": "681f1386c8d4262f321d81a2ed4ee31119ed7c0f02189599a3ef4ee1a7ec9c2b" + }, + { + "leaves": 1476, + "n": 28, + "split": 26, + "trace_sha256": "3898ac9d07fce26ccdd99c62afc0140e655b6a7d453aa441166cb440ac92a9a9" + }, + { + "leaves": 1569, + "n": 28, + "split": 27, + "trace_sha256": "4d916097dd21ef3621c711e26054a16b23957ff4a18721bb2fcb3f2b7f1470b8" + }, + { + "leaves": 834, + "n": 29, + "split": 1, + "trace_sha256": "63f499266fb36b4ad2fb3d822ff962a4392e06a4a24b40533d775062610b20ad" + }, + { + "leaves": 792, + "n": 29, + "split": 2, + "trace_sha256": "77bac1d7d00ae131bce17eb035dc8e63ddc2f00946d05ea53f5eccfbb9600605" + }, + { + "leaves": 756, + "n": 29, + "split": 3, + "trace_sha256": "02b9b1363d512489d3fd8ed39b0dd9b0ff7e586c5fb52b58224822612df168b7" + }, + { + "leaves": 720, + "n": 29, + "split": 4, + "trace_sha256": "d31b4c4f81f47400c0f57bde06da09138bc84e9b3ee75f329e227e7d4bebc336" + }, + { + "leaves": 696, + "n": 29, + "split": 5, + "trace_sha256": "83ca5e12073ea5a73c719255c32a0ffc6c162ac245d4b42d1acabade29f10a3f" + }, + { + "leaves": 672, + "n": 29, + "split": 6, + "trace_sha256": "50b24b60e884f1528ed009cbdd74526aba386312e34e805a94d7a44ee58f2d2d" + }, + { + "leaves": 648, + "n": 29, + "split": 7, + "trace_sha256": "1f2f855529cf2af8459c9e8d763392c4d32c65b3dc27c612dfb91a376875adf2" + }, + { + "leaves": 624, + "n": 29, + "split": 8, + "trace_sha256": "55c03675535a976ba5d85409ab4c406584389d45fd1d512e28b0c3d03a7ab688" + }, + { + "leaves": 624, + "n": 29, + "split": 9, + "trace_sha256": "93d001bd989cefe36b9b7b1d7c1aba7e803e1e0d5743454d12656cbaffbe1bbe" + }, + { + "leaves": 624, + "n": 29, + "split": 10, + "trace_sha256": "e7fa5999e74d6568ebccb06bbc8bed9c80bee5833508a66789ed74f089a67961" + }, + { + "leaves": 624, + "n": 29, + "split": 11, + "trace_sha256": "a517ce9776447f13862507f6c4074b4b8ff41f61ff16e680bf29944af1c0a743" + }, + { + "leaves": 624, + "n": 29, + "split": 12, + "trace_sha256": "ad98ddb382694acc77973eb66b8a6298c767632ce637d425638d3081320b0e6d" + }, + { + "leaves": 624, + "n": 29, + "split": 13, + "trace_sha256": "ae23f173cad63834161d8802bce166fcc764b43e1a0eb511d8b207f9d2a45d64" + }, + { + "leaves": 648, + "n": 29, + "split": 14, + "trace_sha256": "fc246631362d10facd7138734d65d946f97fe4c8e2d675e6b9130ec7200fed21" + }, + { + "leaves": 672, + "n": 29, + "split": 15, + "trace_sha256": "c4681c356ebfeb5e65eb5ecc3ac07cdc851f9a93306548e621321cbfdf55d9c3" + }, + { + "leaves": 696, + "n": 29, + "split": 16, + "trace_sha256": "071ce2ac143369a070ad050b3ec68ffb12f0c103b0d0e72f2024c350fd82b832" + }, + { + "leaves": 768, + "n": 29, + "split": 17, + "trace_sha256": "0b1bde87206e89d61efc3c6fbbb00daf3bd6725b60ff8518dbddd00a9a6a482f" + }, + { + "leaves": 840, + "n": 29, + "split": 18, + "trace_sha256": "65a04f0814d5d37da7fd2c83bb7876f1465939b92617ba89d7eb49d0e46b97e9" + }, + { + "leaves": 912, + "n": 29, + "split": 19, + "trace_sha256": "996f97012182c6b0a88c593d4ce4483b1c728ff0a599203dfba036f62bca48cc" + }, + { + "leaves": 984, + "n": 29, + "split": 20, + "trace_sha256": "3d6577fe46f425366a7d235fe4c7479298d07bc8aa71245ef33a6c0a14d0cad2" + }, + { + "leaves": 1056, + "n": 29, + "split": 21, + "trace_sha256": "1f51294b0e7ecfcd357da5725800d5557af8a986691a3fc1360786ffe55717b3" + }, + { + "leaves": 1140, + "n": 29, + "split": 22, + "trace_sha256": "0769f8a6c08d29e48a30a3e6839b16875fc0c86821c652136f8a9e17f7755f2b" + }, + { + "leaves": 1224, + "n": 29, + "split": 23, + "trace_sha256": "1d02967fd675b222628bb6b00ed20afdbc01faa2490f8e9a5a33a94daefdb682" + }, + { + "leaves": 1308, + "n": 29, + "split": 24, + "trace_sha256": "ab68f6d4a4d43e598225a723507b521750cb6cefa070e420294c08f52783d9c4" + }, + { + "leaves": 1392, + "n": 29, + "split": 25, + "trace_sha256": "78fef2231f2b271496a73f773649f6df1be75e1915b80fa407b018e701a5aed8" + }, + { + "leaves": 1482, + "n": 29, + "split": 26, + "trace_sha256": "2d61b91d2be3cbf8a84e820554cfdf7d76813c3c20ea38512fda3934f217ce63" + }, + { + "leaves": 1572, + "n": 29, + "split": 27, + "trace_sha256": "5a005cd828dab7c75c04bf3595a5a01bc1cd373760fc2a115ddad1cc6d312028" + }, + { + "leaves": 1665, + "n": 29, + "split": 28, + "trace_sha256": "46dece531bd613435c3b6a7b3d25059fa8a510a30b0b251abd8f1f5d1196501d" + }, + { + "leaves": 882, + "n": 30, + "split": 1, + "trace_sha256": "a1ff6e2bcb37199ba0375147413685ce7563ea282a6746f63ca93338af39b731" + }, + { + "leaves": 840, + "n": 30, + "split": 2, + "trace_sha256": "6eb1904cc86357ded74a9ee3c63d7fc252f3d5e3b0478480cee0bb577dbde411" + }, + { + "leaves": 804, + "n": 30, + "split": 3, + "trace_sha256": "36ba9aa64abc509628fdf44379929367ce6aa304aa7f0d22de13a29353ff4462" + }, + { + "leaves": 768, + "n": 30, + "split": 4, + "trace_sha256": "19b2e3f4c9831146b415e9c1bc9071161df02161762e6467ebfb289033966c45" + }, + { + "leaves": 744, + "n": 30, + "split": 5, + "trace_sha256": "2ae8e8af178e7181f3b03ee10f2a878bcebdaf7973fff333ab571af1f3b15607" + }, + { + "leaves": 720, + "n": 30, + "split": 6, + "trace_sha256": "04c6934bb4030bba7e4a5ff074a8a911a407981aff96b8609bff096bad0f1d02" + }, + { + "leaves": 696, + "n": 30, + "split": 7, + "trace_sha256": "59a9f2974f763e36d19cf18b0272a4d6dbafa87a4c2adbdbb21563c6c4285499" + }, + { + "leaves": 672, + "n": 30, + "split": 8, + "trace_sha256": "740722fafd83e423f4f0f0192870ebbb54e451ae234c2a6b4ca713b15652f7b0" + }, + { + "leaves": 672, + "n": 30, + "split": 9, + "trace_sha256": "8de0fc27bf05a129e75d6c78d3604d31e89a2366bfa86c4a4feb78e2d33497c3" + }, + { + "leaves": 672, + "n": 30, + "split": 10, + "trace_sha256": "2ba3f0a4c9fa42fc35b45a2341769370123b22401d73675ebee47398daa172ab" + }, + { + "leaves": 672, + "n": 30, + "split": 11, + "trace_sha256": "128ccb3e0730d7da4d6ae5d0dc64f8bc8410987d2070547042463a5260c5d499" + }, + { + "leaves": 672, + "n": 30, + "split": 12, + "trace_sha256": "834918cea9ae116dc17d2c42b55a83ff67a393fe29d9fd68399dfc673654eeeb" + }, + { + "leaves": 672, + "n": 30, + "split": 13, + "trace_sha256": "4a900d4635f35e9dcc086f82ec08895633e757f2bcd841b2115067293d090029" + }, + { + "leaves": 672, + "n": 30, + "split": 14, + "trace_sha256": "5f5dd3b7e4fa61cf1a30ee558bfe3197a272c3cc0c6083122bb0bd1612dac236" + }, + { + "leaves": 696, + "n": 30, + "split": 15, + "trace_sha256": "c8a1daa7eaa95532f52019e3e3cf0fb01f807fab3dec46b8fa9817e4ed5e67f5" + }, + { + "leaves": 720, + "n": 30, + "split": 16, + "trace_sha256": "77c8297b9249e7a39108222e8c924e3dd208b2ca09e2f38f2c639b9a1e0628d1" + }, + { + "leaves": 792, + "n": 30, + "split": 17, + "trace_sha256": "be3da6966b739bb3ae496333145588d07e2b4c43f3758ceccb963014056a1133" + }, + { + "leaves": 864, + "n": 30, + "split": 18, + "trace_sha256": "ca9e34f99d079f1f6637f596e8bdfd37f10f0000cb758731df876ccafea8376d" + }, + { + "leaves": 936, + "n": 30, + "split": 19, + "trace_sha256": "71e8b9074af5ce9cb1774159f258a1142783700d838da20ab7f1c6d41795f53e" + }, + { + "leaves": 1008, + "n": 30, + "split": 20, + "trace_sha256": "8fa9d37b35a5db635f469686698cb1ffea5c6871676ff8a5bc6bd22114ab6963" + }, + { + "leaves": 1080, + "n": 30, + "split": 21, + "trace_sha256": "ff098a22122a207b19d3bdfd2f0444e3a774dfebe83f412abd53fdce0be07c86" + }, + { + "leaves": 1152, + "n": 30, + "split": 22, + "trace_sha256": "69609a8bac16f4cff18aa917194ee4213196cacdd8a3cf9ac9298b898734020f" + }, + { + "leaves": 1236, + "n": 30, + "split": 23, + "trace_sha256": "89bfb67b6ec192974d0af13ffd907c1723474d355427cb235fbdbed94876d211" + }, + { + "leaves": 1320, + "n": 30, + "split": 24, + "trace_sha256": "9ea31e44fa8b157ef39018a82abff6e061a5d3d8af19f3332ef1cb9762c1b368" + }, + { + "leaves": 1404, + "n": 30, + "split": 25, + "trace_sha256": "2fa6d105118d40fc9e6cc0795b94a6eba643d79ef42e7ca4254d57fb6db83c06" + }, + { + "leaves": 1488, + "n": 30, + "split": 26, + "trace_sha256": "65ad230550b6bc7fd660eb788f49884d9967ca5a34b6444f5fc9c25aedb1d972" + }, + { + "leaves": 1578, + "n": 30, + "split": 27, + "trace_sha256": "11bea5c6cbcbdf13e66580293025442b1f149e28a1dd37fab82662065854d698" + }, + { + "leaves": 1668, + "n": 30, + "split": 28, + "trace_sha256": "038967e5115844dc0cda1bbc22f4285c22b075cada5ad24e0ad543a8a71e1532" + }, + { + "leaves": 1761, + "n": 30, + "split": 29, + "trace_sha256": "56dc9598d0b747bb6c4b1b5006fdad0c01e8237863a75c39896b7df35b252fcd" + }, + { + "leaves": 930, + "n": 31, + "split": 1, + "trace_sha256": "5dcec816254120887a28a6b463d6c67bed9e04e55f1ab75fd5a69a3cbb69d217" + }, + { + "leaves": 888, + "n": 31, + "split": 2, + "trace_sha256": "0834bc2b03d8c69185a5d88b8847027ac50b5d168bcf474f47f53d9cbe0b5e10" + }, + { + "leaves": 852, + "n": 31, + "split": 3, + "trace_sha256": "2087b93c92010ea32dd013f69a9e23542e3a3c894673aae598ceb0c0ca1818d2" + }, + { + "leaves": 816, + "n": 31, + "split": 4, + "trace_sha256": "a506d37da860d8c849fa373a2b0dd5885012af4883fba9c100cbcd113829c8b1" + }, + { + "leaves": 792, + "n": 31, + "split": 5, + "trace_sha256": "8e5c2008077643b56ace359b406cdda2d616677d85a4a6e454467950c78da129" + }, + { + "leaves": 768, + "n": 31, + "split": 6, + "trace_sha256": "ca4a78687cb9a14296f771497459f5d7b541266cd2f5e75234f38521186358e8" + }, + { + "leaves": 744, + "n": 31, + "split": 7, + "trace_sha256": "ef10c43b3d16859465ec184d907b4252580f8b334a597033619981d3a3fe5e9f" + }, + { + "leaves": 720, + "n": 31, + "split": 8, + "trace_sha256": "5df12221f9cca859b3de4664cb33415cc3ab84177ac1b280394bdfb3dc12afe0" + }, + { + "leaves": 720, + "n": 31, + "split": 9, + "trace_sha256": "8e6fe45e94fe22e4aa2021ca6a95cb1d583c52f1c331081c3f381961cafcb39d" + }, + { + "leaves": 720, + "n": 31, + "split": 10, + "trace_sha256": "c67bf723dbd7dbbabb6bd524677d9fd347649e15da5a0618e6ddedb54ac7f88c" + }, + { + "leaves": 720, + "n": 31, + "split": 11, + "trace_sha256": "594c3d93d6b216f88a6c914e2aa31f7e640a9068da993d95bf894dc877e1e769" + }, + { + "leaves": 720, + "n": 31, + "split": 12, + "trace_sha256": "9d60e68309f5745d62d58c9d93548054176eb0c3c9068e1bd85196be5b64d3bf" + }, + { + "leaves": 720, + "n": 31, + "split": 13, + "trace_sha256": "1aa6969b1a873854b3338feb0b88668450bb9078d2446c38fd27661c5352a6bf" + }, + { + "leaves": 720, + "n": 31, + "split": 14, + "trace_sha256": "4e80cc9440384672bbb004054afd85c3be06eebaab952bd308fc2bb5ddd56084" + }, + { + "leaves": 720, + "n": 31, + "split": 15, + "trace_sha256": "a62fc931cd878c90806f08178dda3a0ad5e6fb9f5f7954545d9059d74544b8f7" + }, + { + "leaves": 744, + "n": 31, + "split": 16, + "trace_sha256": "d23e4a4e30be08392ba55c0940357fe76a4cd0558545e32515cf1a038f7f76c7" + }, + { + "leaves": 816, + "n": 31, + "split": 17, + "trace_sha256": "b7f42577cf32cacd28587afa76fed1f3670b145c74c69c0dcd1778130d8a6d2f" + }, + { + "leaves": 888, + "n": 31, + "split": 18, + "trace_sha256": "d90c3e121949556dbca628af83967e90a4e11c0bb1fd638ff1c8605deb171096" + }, + { + "leaves": 960, + "n": 31, + "split": 19, + "trace_sha256": "069abf8de7e4dd4885f8356e8d121ff21bebe1c130c192dab2a5e2567d906670" + }, + { + "leaves": 1032, + "n": 31, + "split": 20, + "trace_sha256": "36141ad134b9d64cec42831a2c861b64f1ea4ff8c240b6743f1b863350ae9079" + }, + { + "leaves": 1104, + "n": 31, + "split": 21, + "trace_sha256": "69f3dd315b7f792e0c6cdadff906bace03d37c166905cf59eb4caf603207a406" + }, + { + "leaves": 1176, + "n": 31, + "split": 22, + "trace_sha256": "29f27319947f018ac85c90857996eb0b4b91cb106ad806993213f21a714eaba8" + }, + { + "leaves": 1248, + "n": 31, + "split": 23, + "trace_sha256": "bf1d56d9d760ecb98b88bb1c3fe40b8752b4342943b787c4d5a6eaf7131691d0" + }, + { + "leaves": 1332, + "n": 31, + "split": 24, + "trace_sha256": "7a6d7616ee986454b6dbb4d96133eb78c717966e44d79eb753330f65baace6ce" + }, + { + "leaves": 1416, + "n": 31, + "split": 25, + "trace_sha256": "421fe8020957997e066d4f36649aab28254b97afa364042a728451ba02b8fd76" + }, + { + "leaves": 1500, + "n": 31, + "split": 26, + "trace_sha256": "71933c3761eb04addce8147554c6084d9848dd5576992685e3739f43acbbe524" + }, + { + "leaves": 1584, + "n": 31, + "split": 27, + "trace_sha256": "0b4ec3a156a06779d2d416686971540649fd3c3e0d8f51a3c00419c2bc56a825" + }, + { + "leaves": 1674, + "n": 31, + "split": 28, + "trace_sha256": "76f6678ddb4388803e598670fb3e1e50317408f3a687a8cd4c1188edd8feaf6e" + }, + { + "leaves": 1764, + "n": 31, + "split": 29, + "trace_sha256": "cc73c22a5336dca458039915e468ea5486f552e5aa765c98bc1224f6662fa5b8" + }, + { + "leaves": 1857, + "n": 31, + "split": 30, + "trace_sha256": "15a9bfe31e2fb2f3f5777a2ed7bbe354088b5d543c6be52af6d7a1c72d09fd50" + }, + { + "leaves": 978, + "n": 32, + "split": 1, + "trace_sha256": "1588ca5645db7f18d77f8aabf11d97e96bfbef2ed1bd82ca15947a3ed3b271ef" + }, + { + "leaves": 936, + "n": 32, + "split": 2, + "trace_sha256": "c0b85da1b94a4273345f37d170e0855e7db80dec02d6f672600d773ab3d82a83" + }, + { + "leaves": 900, + "n": 32, + "split": 3, + "trace_sha256": "fb472af3dc4bcccb52d8f7ba0cd670ef039925e2874e42a40ad5909d1b802d10" + }, + { + "leaves": 864, + "n": 32, + "split": 4, + "trace_sha256": "51551919697bd1d888d53331f1382e9e9b1c7163f54e47ef7de3bfa13b532aac" + }, + { + "leaves": 840, + "n": 32, + "split": 5, + "trace_sha256": "e3112b953d638a0fdeba07045d45c3358df10c62f17895bf070b3e3596d79bb3" + }, + { + "leaves": 816, + "n": 32, + "split": 6, + "trace_sha256": "97ce8e7ada6cd930fc553b5abd9fc63d935d0869b94fe2a01ced41c2c2e92f58" + }, + { + "leaves": 792, + "n": 32, + "split": 7, + "trace_sha256": "11b9e6b00f6c0dbd888e6197c78f3a44ecd73d6479be055a1d5462fa2156bbb0" + }, + { + "leaves": 768, + "n": 32, + "split": 8, + "trace_sha256": "14d5642283e2915a00ab3e941b57d6d1b1127a31deb57273109742c7d46c4697" + }, + { + "leaves": 768, + "n": 32, + "split": 9, + "trace_sha256": "910c9b0e55da14a5f913956fc458b7640a91ef80d471e5003e06cc6ea6207a7f" + }, + { + "leaves": 768, + "n": 32, + "split": 10, + "trace_sha256": "45cc3a3bd77f41c6351948d05c44a92a5bdc5969abe2d8e62f52d3d627a9f97a" + }, + { + "leaves": 768, + "n": 32, + "split": 11, + "trace_sha256": "a3e75e36fe688c723875254854ce2b0ed2a4866d3d2550dfe4ebf51db477987a" + }, + { + "leaves": 768, + "n": 32, + "split": 12, + "trace_sha256": "06d285b0a09b4271d8ccfd5b200b1c25b9203a71fce773ea9570096d1bb1de27" + }, + { + "leaves": 768, + "n": 32, + "split": 13, + "trace_sha256": "e3209acee47dd1f82de39209b6151637ad27586d0ecf5323224bdf2428bede63" + }, + { + "leaves": 768, + "n": 32, + "split": 14, + "trace_sha256": "c70e28941371b3cb0a7c37105cf08f77c7b54526d4e68435bb1ffc3f70a918b8" + }, + { + "leaves": 768, + "n": 32, + "split": 15, + "trace_sha256": "7bf6ced8898010252969d150e5f9c94af7087b5d36cbf0053a04a9abbb2dc1c4" + }, + { + "leaves": 768, + "n": 32, + "split": 16, + "trace_sha256": "76590fddbe90ade3b0e5431539c1346714e578576c955ea3e2aca8436393aec4" + }, + { + "leaves": 840, + "n": 32, + "split": 17, + "trace_sha256": "f98b7f9e3d5768af1fe34c181bf5a06c1df3e60f958e1f5f785741c693f403d9" + }, + { + "leaves": 912, + "n": 32, + "split": 18, + "trace_sha256": "4f362845a6d606d16b249f79d91e59bc36a09fe1731c179616ea978769434b6a" + }, + { + "leaves": 984, + "n": 32, + "split": 19, + "trace_sha256": "2f2393bdc35b3043cc0df9cd69c16aa899202b59e45764818e9526d046110877" + }, + { + "leaves": 1056, + "n": 32, + "split": 20, + "trace_sha256": "220af768a964981c8e03ef18f0ff248d1432dd3a4094cf06424d52e6a53a33b5" + }, + { + "leaves": 1128, + "n": 32, + "split": 21, + "trace_sha256": "5b1e0ce3033745c0c8a2b803f35f4ea89e8599f356738d2ab3fe1e06bb89e6e6" + }, + { + "leaves": 1200, + "n": 32, + "split": 22, + "trace_sha256": "2c5b659b1b66b48c6eb49089bb352bdd2b2869e32971f20e28f44a95b175c3c6" + }, + { + "leaves": 1272, + "n": 32, + "split": 23, + "trace_sha256": "26cfc183785dc6a2dbafd7db68f64d2c026caca526a2de355559bc798c0b5702" + }, + { + "leaves": 1344, + "n": 32, + "split": 24, + "trace_sha256": "a0e54c7a8fda6764465e738b9de0fdb1d41fe3de816b6fe65bca7ba545c98754" + }, + { + "leaves": 1428, + "n": 32, + "split": 25, + "trace_sha256": "89a2d0cec2f62213718c2b44ad266e565323248eede86e320db1a0bee05441ef" + }, + { + "leaves": 1512, + "n": 32, + "split": 26, + "trace_sha256": "6f5dd576d0ecdb55fdbbad3d7e00aecc35644ac5cc182756c07f21a6c001ddf7" + }, + { + "leaves": 1596, + "n": 32, + "split": 27, + "trace_sha256": "402c989ac8d99493cfcb63aba6c2a00960b7cba00300e2c18f6888f2040c7ac0" + }, + { + "leaves": 1680, + "n": 32, + "split": 28, + "trace_sha256": "151f4ea48a2553967e71c0429eb3293357f32184499d6f81df1ee10e090047e0" + }, + { + "leaves": 1770, + "n": 32, + "split": 29, + "trace_sha256": "f73d670bb1f6818b4ec8cf13091ecc187df947b03a5a3c917bad59b4be186d0f" + }, + { + "leaves": 1860, + "n": 32, + "split": 30, + "trace_sha256": "1563d6154c7b1163efb4a230b4937a9da230206b82acff37398b9288b9f3d45c" + }, + { + "leaves": 1953, + "n": 32, + "split": 31, + "trace_sha256": "12204e1375a1ddcf957da1e59901c51196784514a4974af836cf1c0d84dbdd31" + }, + { + "leaves": 2112, + "n": 54, + "split": 22, + "trace_sha256": "44be4a73ba3187c7d9284920f4a8706ee67d623ade1171618eb3e4fad6da590e" + }, + { + "leaves": 2976, + "n": 63, + "split": 31, + "trace_sha256": "0d894b2b3c8c6b939f869db33014ce649b9ebe160948bb17da0eb2be2aee8a4a" + } + ], + "plans": [ + { + "balanced_dirty_arrays": 1, + "balanced_dirty_leaf_calls": 4, + "clean_arrays": 1, + "dirty_arrays": 0, + "factors": 2, + "leaf_calls": 3, + "optimal_splits": [ + 1, + 1 + ], + "split": 1 + }, + { + "balanced_dirty_arrays": 2, + "balanced_dirty_leaf_calls": 10, + "clean_arrays": 1, + "dirty_arrays": 1, + "factors": 3, + "leaf_calls": 6, + "optimal_splits": [ + 1, + 1 + ], + "split": 1 + }, + { + "balanced_dirty_arrays": 2, + "balanced_dirty_leaf_calls": 16, + "clean_arrays": 1, + "dirty_arrays": 1, + "factors": 4, + "leaf_calls": 12, + "optimal_splits": [ + 1, + 2 + ], + "split": 2 + }, + { + "balanced_dirty_arrays": 3, + "balanced_dirty_leaf_calls": 28, + "clean_arrays": 1, + "dirty_arrays": 2, + "factors": 5, + "leaf_calls": 18, + "optimal_splits": [ + 1, + 2 + ], + "split": 2 + }, + { + "balanced_dirty_arrays": 3, + "balanced_dirty_leaf_calls": 40, + "clean_arrays": 1, + "dirty_arrays": 2, + "factors": 6, + "leaf_calls": 24, + "optimal_splits": [ + 2, + 2 + ], + "split": 2 + }, + { + "balanced_dirty_arrays": 3, + "balanced_dirty_leaf_calls": 52, + "clean_arrays": 1, + "dirty_arrays": 2, + "factors": 7, + "leaf_calls": 36, + "optimal_splits": [ + 2, + 3 + ], + "split": 3 + }, + { + "balanced_dirty_arrays": 3, + "balanced_dirty_leaf_calls": 64, + "clean_arrays": 1, + "dirty_arrays": 2, + "factors": 8, + "leaf_calls": 48, + "optimal_splits": [ + 2, + 4 + ], + "split": 4 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 88, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 9, + "leaf_calls": 60, + "optimal_splits": [ + 2, + 4 + ], + "split": 4 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 112, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 10, + "leaf_calls": 72, + "optimal_splits": [ + 2, + 4 + ], + "split": 4 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 136, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 11, + "leaf_calls": 84, + "optimal_splits": [ + 3, + 4 + ], + "split": 4 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 160, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 12, + "leaf_calls": 96, + "optimal_splits": [ + 4, + 4 + ], + "split": 4 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 184, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 13, + "leaf_calls": 120, + "optimal_splits": [ + 4, + 5 + ], + "split": 5 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 208, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 14, + "leaf_calls": 144, + "optimal_splits": [ + 4, + 6 + ], + "split": 6 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 232, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 15, + "leaf_calls": 168, + "optimal_splits": [ + 4, + 7 + ], + "split": 7 + }, + { + "balanced_dirty_arrays": 4, + "balanced_dirty_leaf_calls": 256, + "clean_arrays": 1, + "dirty_arrays": 3, + "factors": 16, + "leaf_calls": 192, + "optimal_splits": [ + 4, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 304, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 17, + "leaf_calls": 216, + "optimal_splits": [ + 4, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 352, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 18, + "leaf_calls": 240, + "optimal_splits": [ + 4, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 400, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 19, + "leaf_calls": 264, + "optimal_splits": [ + 4, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 448, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 20, + "leaf_calls": 288, + "optimal_splits": [ + 4, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 496, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 21, + "leaf_calls": 312, + "optimal_splits": [ + 5, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 544, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 22, + "leaf_calls": 336, + "optimal_splits": [ + 6, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 592, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 23, + "leaf_calls": 360, + "optimal_splits": [ + 7, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 640, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 24, + "leaf_calls": 384, + "optimal_splits": [ + 8, + 8 + ], + "split": 8 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 688, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 25, + "leaf_calls": 432, + "optimal_splits": [ + 8, + 9 + ], + "split": 9 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 736, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 26, + "leaf_calls": 480, + "optimal_splits": [ + 8, + 10 + ], + "split": 10 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 784, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 27, + "leaf_calls": 528, + "optimal_splits": [ + 8, + 11 + ], + "split": 11 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 832, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 28, + "leaf_calls": 576, + "optimal_splits": [ + 8, + 12 + ], + "split": 12 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 880, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 29, + "leaf_calls": 624, + "optimal_splits": [ + 8, + 13 + ], + "split": 13 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 928, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 30, + "leaf_calls": 672, + "optimal_splits": [ + 8, + 14 + ], + "split": 14 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 976, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 31, + "leaf_calls": 720, + "optimal_splits": [ + 8, + 15 + ], + "split": 15 + }, + { + "balanced_dirty_arrays": 5, + "balanced_dirty_leaf_calls": 1024, + "clean_arrays": 1, + "dirty_arrays": 4, + "factors": 32, + "leaf_calls": 768, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1120, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 33, + "leaf_calls": 816, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1216, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 34, + "leaf_calls": 864, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1312, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 35, + "leaf_calls": 912, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1408, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 36, + "leaf_calls": 960, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1504, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 37, + "leaf_calls": 1008, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1600, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 38, + "leaf_calls": 1056, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1696, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 39, + "leaf_calls": 1104, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1792, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 40, + "leaf_calls": 1152, + "optimal_splits": [ + 8, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1888, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 41, + "leaf_calls": 1200, + "optimal_splits": [ + 9, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 1984, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 42, + "leaf_calls": 1248, + "optimal_splits": [ + 10, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2080, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 43, + "leaf_calls": 1296, + "optimal_splits": [ + 11, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2176, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 44, + "leaf_calls": 1344, + "optimal_splits": [ + 12, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2272, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 45, + "leaf_calls": 1392, + "optimal_splits": [ + 13, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2368, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 46, + "leaf_calls": 1440, + "optimal_splits": [ + 14, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2464, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 47, + "leaf_calls": 1488, + "optimal_splits": [ + 15, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2560, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 48, + "leaf_calls": 1536, + "optimal_splits": [ + 16, + 16 + ], + "split": 16 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2656, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 49, + "leaf_calls": 1632, + "optimal_splits": [ + 16, + 17 + ], + "split": 17 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2752, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 50, + "leaf_calls": 1728, + "optimal_splits": [ + 16, + 18 + ], + "split": 18 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2848, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 51, + "leaf_calls": 1824, + "optimal_splits": [ + 16, + 19 + ], + "split": 19 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 2944, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 52, + "leaf_calls": 1920, + "optimal_splits": [ + 16, + 20 + ], + "split": 20 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3040, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 53, + "leaf_calls": 2016, + "optimal_splits": [ + 16, + 21 + ], + "split": 21 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3136, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 54, + "leaf_calls": 2112, + "optimal_splits": [ + 16, + 22 + ], + "split": 22 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3232, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 55, + "leaf_calls": 2208, + "optimal_splits": [ + 16, + 23 + ], + "split": 23 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3328, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 56, + "leaf_calls": 2304, + "optimal_splits": [ + 16, + 24 + ], + "split": 24 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3424, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 57, + "leaf_calls": 2400, + "optimal_splits": [ + 16, + 25 + ], + "split": 25 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3520, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 58, + "leaf_calls": 2496, + "optimal_splits": [ + 16, + 26 + ], + "split": 26 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3616, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 59, + "leaf_calls": 2592, + "optimal_splits": [ + 16, + 27 + ], + "split": 27 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3712, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 60, + "leaf_calls": 2688, + "optimal_splits": [ + 16, + 28 + ], + "split": 28 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3808, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 61, + "leaf_calls": 2784, + "optimal_splits": [ + 16, + 29 + ], + "split": 29 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3904, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 62, + "leaf_calls": 2880, + "optimal_splits": [ + 16, + 30 + ], + "split": 30 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 4000, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 63, + "leaf_calls": 2976, + "optimal_splits": [ + 16, + 31 + ], + "split": 31 + }, + { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 4096, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 64, + "leaf_calls": 3072, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 4288, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 65, + "leaf_calls": 3168, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 4480, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 66, + "leaf_calls": 3264, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 4672, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 67, + "leaf_calls": 3360, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 4864, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 68, + "leaf_calls": 3456, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 5056, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 69, + "leaf_calls": 3552, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 5248, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 70, + "leaf_calls": 3648, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 5440, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 71, + "leaf_calls": 3744, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 5632, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 72, + "leaf_calls": 3840, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 5824, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 73, + "leaf_calls": 3936, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 6016, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 74, + "leaf_calls": 4032, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 6208, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 75, + "leaf_calls": 4128, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 6400, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 76, + "leaf_calls": 4224, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 6592, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 77, + "leaf_calls": 4320, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 6784, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 78, + "leaf_calls": 4416, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 6976, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 79, + "leaf_calls": 4512, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 7168, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 80, + "leaf_calls": 4608, + "optimal_splits": [ + 16, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 7360, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 81, + "leaf_calls": 4704, + "optimal_splits": [ + 17, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 7552, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 82, + "leaf_calls": 4800, + "optimal_splits": [ + 18, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 7744, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 83, + "leaf_calls": 4896, + "optimal_splits": [ + 19, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 7936, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 84, + "leaf_calls": 4992, + "optimal_splits": [ + 20, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 8128, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 85, + "leaf_calls": 5088, + "optimal_splits": [ + 21, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 8320, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 86, + "leaf_calls": 5184, + "optimal_splits": [ + 22, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 8512, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 87, + "leaf_calls": 5280, + "optimal_splits": [ + 23, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 8704, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 88, + "leaf_calls": 5376, + "optimal_splits": [ + 24, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 8896, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 89, + "leaf_calls": 5472, + "optimal_splits": [ + 25, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 9088, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 90, + "leaf_calls": 5568, + "optimal_splits": [ + 26, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 9280, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 91, + "leaf_calls": 5664, + "optimal_splits": [ + 27, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 9472, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 92, + "leaf_calls": 5760, + "optimal_splits": [ + 28, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 9664, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 93, + "leaf_calls": 5856, + "optimal_splits": [ + 29, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 9856, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 94, + "leaf_calls": 5952, + "optimal_splits": [ + 30, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 10048, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 95, + "leaf_calls": 6048, + "optimal_splits": [ + 31, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 10240, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 96, + "leaf_calls": 6144, + "optimal_splits": [ + 32, + 32 + ], + "split": 32 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 10432, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 97, + "leaf_calls": 6336, + "optimal_splits": [ + 32, + 33 + ], + "split": 33 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 10624, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 98, + "leaf_calls": 6528, + "optimal_splits": [ + 32, + 34 + ], + "split": 34 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 10816, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 99, + "leaf_calls": 6720, + "optimal_splits": [ + 32, + 35 + ], + "split": 35 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 11008, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 100, + "leaf_calls": 6912, + "optimal_splits": [ + 32, + 36 + ], + "split": 36 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 11200, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 101, + "leaf_calls": 7104, + "optimal_splits": [ + 32, + 37 + ], + "split": 37 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 11392, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 102, + "leaf_calls": 7296, + "optimal_splits": [ + 32, + 38 + ], + "split": 38 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 11584, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 103, + "leaf_calls": 7488, + "optimal_splits": [ + 32, + 39 + ], + "split": 39 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 11776, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 104, + "leaf_calls": 7680, + "optimal_splits": [ + 32, + 40 + ], + "split": 40 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 11968, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 105, + "leaf_calls": 7872, + "optimal_splits": [ + 32, + 41 + ], + "split": 41 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 12160, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 106, + "leaf_calls": 8064, + "optimal_splits": [ + 32, + 42 + ], + "split": 42 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 12352, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 107, + "leaf_calls": 8256, + "optimal_splits": [ + 32, + 43 + ], + "split": 43 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 12544, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 108, + "leaf_calls": 8448, + "optimal_splits": [ + 32, + 44 + ], + "split": 44 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 12736, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 109, + "leaf_calls": 8640, + "optimal_splits": [ + 32, + 45 + ], + "split": 45 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 12928, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 110, + "leaf_calls": 8832, + "optimal_splits": [ + 32, + 46 + ], + "split": 46 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 13120, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 111, + "leaf_calls": 9024, + "optimal_splits": [ + 32, + 47 + ], + "split": 47 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 13312, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 112, + "leaf_calls": 9216, + "optimal_splits": [ + 32, + 48 + ], + "split": 48 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 13504, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 113, + "leaf_calls": 9408, + "optimal_splits": [ + 32, + 49 + ], + "split": 49 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 13696, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 114, + "leaf_calls": 9600, + "optimal_splits": [ + 32, + 50 + ], + "split": 50 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 13888, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 115, + "leaf_calls": 9792, + "optimal_splits": [ + 32, + 51 + ], + "split": 51 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 14080, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 116, + "leaf_calls": 9984, + "optimal_splits": [ + 32, + 52 + ], + "split": 52 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 14272, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 117, + "leaf_calls": 10176, + "optimal_splits": [ + 32, + 53 + ], + "split": 53 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 14464, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 118, + "leaf_calls": 10368, + "optimal_splits": [ + 32, + 54 + ], + "split": 54 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 14656, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 119, + "leaf_calls": 10560, + "optimal_splits": [ + 32, + 55 + ], + "split": 55 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 14848, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 120, + "leaf_calls": 10752, + "optimal_splits": [ + 32, + 56 + ], + "split": 56 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 15040, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 121, + "leaf_calls": 10944, + "optimal_splits": [ + 32, + 57 + ], + "split": 57 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 15232, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 122, + "leaf_calls": 11136, + "optimal_splits": [ + 32, + 58 + ], + "split": 58 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 15424, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 123, + "leaf_calls": 11328, + "optimal_splits": [ + 32, + 59 + ], + "split": 59 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 15616, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 124, + "leaf_calls": 11520, + "optimal_splits": [ + 32, + 60 + ], + "split": 60 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 15808, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 125, + "leaf_calls": 11712, + "optimal_splits": [ + 32, + 61 + ], + "split": 61 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 16000, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 126, + "leaf_calls": 11904, + "optimal_splits": [ + 32, + 62 + ], + "split": 62 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 16192, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 127, + "leaf_calls": 12096, + "optimal_splits": [ + 32, + 63 + ], + "split": 63 + }, + { + "balanced_dirty_arrays": 7, + "balanced_dirty_leaf_calls": 16384, + "clean_arrays": 1, + "dirty_arrays": 6, + "factors": 128, + "leaf_calls": 12288, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 16768, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 129, + "leaf_calls": 12480, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 17152, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 130, + "leaf_calls": 12672, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 17536, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 131, + "leaf_calls": 12864, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 17920, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 132, + "leaf_calls": 13056, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 18304, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 133, + "leaf_calls": 13248, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 18688, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 134, + "leaf_calls": 13440, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 19072, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 135, + "leaf_calls": 13632, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 19456, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 136, + "leaf_calls": 13824, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 19840, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 137, + "leaf_calls": 14016, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 20224, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 138, + "leaf_calls": 14208, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 20608, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 139, + "leaf_calls": 14400, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 20992, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 140, + "leaf_calls": 14592, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 21376, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 141, + "leaf_calls": 14784, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 21760, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 142, + "leaf_calls": 14976, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 22144, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 143, + "leaf_calls": 15168, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 22528, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 144, + "leaf_calls": 15360, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 22912, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 145, + "leaf_calls": 15552, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 23296, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 146, + "leaf_calls": 15744, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 23680, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 147, + "leaf_calls": 15936, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 24064, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 148, + "leaf_calls": 16128, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 24448, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 149, + "leaf_calls": 16320, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 24832, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 150, + "leaf_calls": 16512, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 25216, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 151, + "leaf_calls": 16704, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 25600, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 152, + "leaf_calls": 16896, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 25984, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 153, + "leaf_calls": 17088, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 26368, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 154, + "leaf_calls": 17280, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 26752, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 155, + "leaf_calls": 17472, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 27136, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 156, + "leaf_calls": 17664, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 27520, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 157, + "leaf_calls": 17856, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 27904, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 158, + "leaf_calls": 18048, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 28288, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 159, + "leaf_calls": 18240, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 28672, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 160, + "leaf_calls": 18432, + "optimal_splits": [ + 32, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 29056, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 161, + "leaf_calls": 18624, + "optimal_splits": [ + 33, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 29440, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 162, + "leaf_calls": 18816, + "optimal_splits": [ + 34, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 29824, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 163, + "leaf_calls": 19008, + "optimal_splits": [ + 35, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 30208, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 164, + "leaf_calls": 19200, + "optimal_splits": [ + 36, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 30592, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 165, + "leaf_calls": 19392, + "optimal_splits": [ + 37, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 30976, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 166, + "leaf_calls": 19584, + "optimal_splits": [ + 38, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 31360, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 167, + "leaf_calls": 19776, + "optimal_splits": [ + 39, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 31744, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 168, + "leaf_calls": 19968, + "optimal_splits": [ + 40, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 32128, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 169, + "leaf_calls": 20160, + "optimal_splits": [ + 41, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 32512, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 170, + "leaf_calls": 20352, + "optimal_splits": [ + 42, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 32896, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 171, + "leaf_calls": 20544, + "optimal_splits": [ + 43, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 33280, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 172, + "leaf_calls": 20736, + "optimal_splits": [ + 44, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 33664, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 173, + "leaf_calls": 20928, + "optimal_splits": [ + 45, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 34048, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 174, + "leaf_calls": 21120, + "optimal_splits": [ + 46, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 34432, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 175, + "leaf_calls": 21312, + "optimal_splits": [ + 47, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 34816, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 176, + "leaf_calls": 21504, + "optimal_splits": [ + 48, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 35200, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 177, + "leaf_calls": 21696, + "optimal_splits": [ + 49, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 35584, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 178, + "leaf_calls": 21888, + "optimal_splits": [ + 50, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 35968, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 179, + "leaf_calls": 22080, + "optimal_splits": [ + 51, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 36352, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 180, + "leaf_calls": 22272, + "optimal_splits": [ + 52, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 36736, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 181, + "leaf_calls": 22464, + "optimal_splits": [ + 53, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 37120, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 182, + "leaf_calls": 22656, + "optimal_splits": [ + 54, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 37504, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 183, + "leaf_calls": 22848, + "optimal_splits": [ + 55, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 37888, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 184, + "leaf_calls": 23040, + "optimal_splits": [ + 56, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 38272, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 185, + "leaf_calls": 23232, + "optimal_splits": [ + 57, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 38656, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 186, + "leaf_calls": 23424, + "optimal_splits": [ + 58, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 39040, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 187, + "leaf_calls": 23616, + "optimal_splits": [ + 59, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 39424, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 188, + "leaf_calls": 23808, + "optimal_splits": [ + 60, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 39808, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 189, + "leaf_calls": 24000, + "optimal_splits": [ + 61, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 40192, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 190, + "leaf_calls": 24192, + "optimal_splits": [ + 62, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 40576, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 191, + "leaf_calls": 24384, + "optimal_splits": [ + 63, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 40960, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 192, + "leaf_calls": 24576, + "optimal_splits": [ + 64, + 64 + ], + "split": 64 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 41344, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 193, + "leaf_calls": 24960, + "optimal_splits": [ + 64, + 65 + ], + "split": 65 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 41728, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 194, + "leaf_calls": 25344, + "optimal_splits": [ + 64, + 66 + ], + "split": 66 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 42112, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 195, + "leaf_calls": 25728, + "optimal_splits": [ + 64, + 67 + ], + "split": 67 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 42496, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 196, + "leaf_calls": 26112, + "optimal_splits": [ + 64, + 68 + ], + "split": 68 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 42880, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 197, + "leaf_calls": 26496, + "optimal_splits": [ + 64, + 69 + ], + "split": 69 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 43264, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 198, + "leaf_calls": 26880, + "optimal_splits": [ + 64, + 70 + ], + "split": 70 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 43648, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 199, + "leaf_calls": 27264, + "optimal_splits": [ + 64, + 71 + ], + "split": 71 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 44032, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 200, + "leaf_calls": 27648, + "optimal_splits": [ + 64, + 72 + ], + "split": 72 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 44416, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 201, + "leaf_calls": 28032, + "optimal_splits": [ + 64, + 73 + ], + "split": 73 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 44800, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 202, + "leaf_calls": 28416, + "optimal_splits": [ + 64, + 74 + ], + "split": 74 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 45184, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 203, + "leaf_calls": 28800, + "optimal_splits": [ + 64, + 75 + ], + "split": 75 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 45568, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 204, + "leaf_calls": 29184, + "optimal_splits": [ + 64, + 76 + ], + "split": 76 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 45952, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 205, + "leaf_calls": 29568, + "optimal_splits": [ + 64, + 77 + ], + "split": 77 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 46336, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 206, + "leaf_calls": 29952, + "optimal_splits": [ + 64, + 78 + ], + "split": 78 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 46720, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 207, + "leaf_calls": 30336, + "optimal_splits": [ + 64, + 79 + ], + "split": 79 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 47104, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 208, + "leaf_calls": 30720, + "optimal_splits": [ + 64, + 80 + ], + "split": 80 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 47488, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 209, + "leaf_calls": 31104, + "optimal_splits": [ + 64, + 81 + ], + "split": 81 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 47872, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 210, + "leaf_calls": 31488, + "optimal_splits": [ + 64, + 82 + ], + "split": 82 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 48256, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 211, + "leaf_calls": 31872, + "optimal_splits": [ + 64, + 83 + ], + "split": 83 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 48640, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 212, + "leaf_calls": 32256, + "optimal_splits": [ + 64, + 84 + ], + "split": 84 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 49024, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 213, + "leaf_calls": 32640, + "optimal_splits": [ + 64, + 85 + ], + "split": 85 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 49408, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 214, + "leaf_calls": 33024, + "optimal_splits": [ + 64, + 86 + ], + "split": 86 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 49792, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 215, + "leaf_calls": 33408, + "optimal_splits": [ + 64, + 87 + ], + "split": 87 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 50176, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 216, + "leaf_calls": 33792, + "optimal_splits": [ + 64, + 88 + ], + "split": 88 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 50560, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 217, + "leaf_calls": 34176, + "optimal_splits": [ + 64, + 89 + ], + "split": 89 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 50944, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 218, + "leaf_calls": 34560, + "optimal_splits": [ + 64, + 90 + ], + "split": 90 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 51328, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 219, + "leaf_calls": 34944, + "optimal_splits": [ + 64, + 91 + ], + "split": 91 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 51712, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 220, + "leaf_calls": 35328, + "optimal_splits": [ + 64, + 92 + ], + "split": 92 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 52096, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 221, + "leaf_calls": 35712, + "optimal_splits": [ + 64, + 93 + ], + "split": 93 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 52480, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 222, + "leaf_calls": 36096, + "optimal_splits": [ + 64, + 94 + ], + "split": 94 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 52864, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 223, + "leaf_calls": 36480, + "optimal_splits": [ + 64, + 95 + ], + "split": 95 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 53248, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 224, + "leaf_calls": 36864, + "optimal_splits": [ + 64, + 96 + ], + "split": 96 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 53632, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 225, + "leaf_calls": 37248, + "optimal_splits": [ + 64, + 97 + ], + "split": 97 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 54016, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 226, + "leaf_calls": 37632, + "optimal_splits": [ + 64, + 98 + ], + "split": 98 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 54400, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 227, + "leaf_calls": 38016, + "optimal_splits": [ + 64, + 99 + ], + "split": 99 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 54784, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 228, + "leaf_calls": 38400, + "optimal_splits": [ + 64, + 100 + ], + "split": 100 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 55168, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 229, + "leaf_calls": 38784, + "optimal_splits": [ + 64, + 101 + ], + "split": 101 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 55552, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 230, + "leaf_calls": 39168, + "optimal_splits": [ + 64, + 102 + ], + "split": 102 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 55936, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 231, + "leaf_calls": 39552, + "optimal_splits": [ + 64, + 103 + ], + "split": 103 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 56320, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 232, + "leaf_calls": 39936, + "optimal_splits": [ + 64, + 104 + ], + "split": 104 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 56704, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 233, + "leaf_calls": 40320, + "optimal_splits": [ + 64, + 105 + ], + "split": 105 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 57088, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 234, + "leaf_calls": 40704, + "optimal_splits": [ + 64, + 106 + ], + "split": 106 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 57472, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 235, + "leaf_calls": 41088, + "optimal_splits": [ + 64, + 107 + ], + "split": 107 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 57856, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 236, + "leaf_calls": 41472, + "optimal_splits": [ + 64, + 108 + ], + "split": 108 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 58240, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 237, + "leaf_calls": 41856, + "optimal_splits": [ + 64, + 109 + ], + "split": 109 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 58624, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 238, + "leaf_calls": 42240, + "optimal_splits": [ + 64, + 110 + ], + "split": 110 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 59008, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 239, + "leaf_calls": 42624, + "optimal_splits": [ + 64, + 111 + ], + "split": 111 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 59392, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 240, + "leaf_calls": 43008, + "optimal_splits": [ + 64, + 112 + ], + "split": 112 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 59776, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 241, + "leaf_calls": 43392, + "optimal_splits": [ + 64, + 113 + ], + "split": 113 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 60160, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 242, + "leaf_calls": 43776, + "optimal_splits": [ + 64, + 114 + ], + "split": 114 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 60544, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 243, + "leaf_calls": 44160, + "optimal_splits": [ + 64, + 115 + ], + "split": 115 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 60928, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 244, + "leaf_calls": 44544, + "optimal_splits": [ + 64, + 116 + ], + "split": 116 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 61312, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 245, + "leaf_calls": 44928, + "optimal_splits": [ + 64, + 117 + ], + "split": 117 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 61696, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 246, + "leaf_calls": 45312, + "optimal_splits": [ + 64, + 118 + ], + "split": 118 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 62080, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 247, + "leaf_calls": 45696, + "optimal_splits": [ + 64, + 119 + ], + "split": 119 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 62464, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 248, + "leaf_calls": 46080, + "optimal_splits": [ + 64, + 120 + ], + "split": 120 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 62848, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 249, + "leaf_calls": 46464, + "optimal_splits": [ + 64, + 121 + ], + "split": 121 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 63232, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 250, + "leaf_calls": 46848, + "optimal_splits": [ + 64, + 122 + ], + "split": 122 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 63616, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 251, + "leaf_calls": 47232, + "optimal_splits": [ + 64, + 123 + ], + "split": 123 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 64000, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 252, + "leaf_calls": 47616, + "optimal_splits": [ + 64, + 124 + ], + "split": 124 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 64384, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 253, + "leaf_calls": 48000, + "optimal_splits": [ + 64, + 125 + ], + "split": 125 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 64768, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 254, + "leaf_calls": 48384, + "optimal_splits": [ + 64, + 126 + ], + "split": 126 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 65152, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 255, + "leaf_calls": 48768, + "optimal_splits": [ + 64, + 127 + ], + "split": 127 + }, + { + "balanced_dirty_arrays": 8, + "balanced_dirty_leaf_calls": 65536, + "clean_arrays": 1, + "dirty_arrays": 7, + "factors": 256, + "leaf_calls": 49152, + "optimal_splits": [ + 64, + 128 + ], + "split": 128 + } + ], + "root_search": { + "candidates": 32640, + "max_n": 256, + "min_n": 2, + "stopping_rule": "all interior root splits; balanced subtrees" + }, + "rounded": { + "case_count": 216, + "cases": [ + { + "bits": 49, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 3, + "length": 1, + "split": 1 + }, + { + "bits": 51, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "1131/8796093022208", + "initial_magnitude": "21/8", + "leaf_calls": 3, + "length": 1, + "split": 1 + }, + { + "bits": 49, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 3, + "length": 1, + "split": 1 + }, + { + "bits": 51, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "1131/8796093022208", + "initial_magnitude": "21/8", + "leaf_calls": 3, + "length": 1, + "split": 1 + }, + { + "bits": 49, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 3, + "length": 2, + "split": 1 + }, + { + "bits": 51, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 3, + "length": 2, + "split": 1 + }, + { + "bits": 49, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 3, + "length": 2, + "split": 1 + }, + { + "bits": 51, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 3, + "length": 2, + "split": 1 + }, + { + "bits": 50, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "195/1099511627776", + "initial_magnitude": "3/2", + "leaf_calls": 3, + "length": 5, + "split": 1 + }, + { + "bits": 51, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "1287/8796093022208", + "initial_magnitude": "25/8", + "leaf_calls": 3, + "length": 5, + "split": 1 + }, + { + "bits": 50, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "195/1099511627776", + "initial_magnitude": "3/2", + "leaf_calls": 3, + "length": 5, + "split": 1 + }, + { + "bits": 51, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 0, + "factors": 2, + "inherited_error_bound": "1287/8796093022208", + "initial_magnitude": "25/8", + "leaf_calls": 3, + "length": 5, + "split": 1 + }, + { + "bits": 59, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 6, + "length": 1, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1131/8796093022208", + "initial_magnitude": "21/8", + "leaf_calls": 6, + "length": 1, + "split": 1 + }, + { + "bits": 59, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 6, + "length": 1, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1131/8796093022208", + "initial_magnitude": "21/8", + "leaf_calls": 6, + "length": 1, + "split": 1 + }, + { + "bits": 60, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "7/8", + "leaf_calls": 6, + "length": 2, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 6, + "length": 2, + "split": 1 + }, + { + "bits": 60, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "7/8", + "leaf_calls": 6, + "length": 2, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 6, + "length": 2, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "7/2", + "leaf_calls": 6, + "length": 5, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1677/8796093022208", + "initial_magnitude": "35/8", + "leaf_calls": 6, + "length": 5, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "7/2", + "leaf_calls": 6, + "length": 5, + "split": 1 + }, + { + "bits": 61, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1677/8796093022208", + "initial_magnitude": "35/8", + "leaf_calls": 6, + "length": 5, + "split": 1 + }, + { + "bits": 69, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 9, + "length": 1, + "split": 2 + }, + { + "bits": 70, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "3393/17592186044416", + "initial_magnitude": "21/8", + "leaf_calls": 9, + "length": 1, + "split": 2 + }, + { + "bits": 69, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 9, + "length": 1, + "split": 2 + }, + { + "bits": 70, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "3393/17592186044416", + "initial_magnitude": "21/8", + "leaf_calls": 9, + "length": 1, + "split": 2 + }, + { + "bits": 69, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "7/8", + "leaf_calls": 9, + "length": 2, + "split": 2 + }, + { + "bits": 70, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 9, + "length": 2, + "split": 2 + }, + { + "bits": 69, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "7/8", + "leaf_calls": 9, + "length": 2, + "split": 2 + }, + { + "bits": 70, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 9, + "length": 2, + "split": 2 + }, + { + "bits": 71, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "7/2", + "leaf_calls": 9, + "length": 5, + "split": 2 + }, + { + "bits": 71, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "5031/35184372088832", + "initial_magnitude": "35/8", + "leaf_calls": 9, + "length": 5, + "split": 2 + }, + { + "bits": 71, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "7/2", + "leaf_calls": 9, + "length": 5, + "split": 2 + }, + { + "bits": 71, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 3, + "inherited_error_bound": "5031/35184372088832", + "initial_magnitude": "35/8", + "leaf_calls": 9, + "length": 5, + "split": 2 + }, + { + "bits": 78, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 12, + "length": 1, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 12, + "length": 1, + "split": 1 + }, + { + "bits": 78, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 12, + "length": 1, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 12, + "length": 1, + "split": 1 + }, + { + "bits": 79, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "5/4", + "leaf_calls": 12, + "length": 2, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "1209/8796093022208", + "initial_magnitude": "23/8", + "leaf_calls": 12, + "length": 2, + "split": 1 + }, + { + "bits": 79, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "5/4", + "leaf_calls": 12, + "length": 2, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "1209/8796093022208", + "initial_magnitude": "23/8", + "leaf_calls": 12, + "length": 2, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "31/8", + "leaf_calls": 12, + "length": 5, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "897/4398046511104", + "initial_magnitude": "19/4", + "leaf_calls": 12, + "length": 5, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "31/8", + "leaf_calls": 12, + "length": 5, + "split": 1 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "897/4398046511104", + "initial_magnitude": "19/4", + "leaf_calls": 12, + "length": 5, + "split": 1 + }, + { + "bits": 78, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 12, + "length": 1, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "1131/8796093022208", + "initial_magnitude": "21/8", + "leaf_calls": 12, + "length": 1, + "split": 2 + }, + { + "bits": 78, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 12, + "length": 1, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "1131/8796093022208", + "initial_magnitude": "21/8", + "leaf_calls": 12, + "length": 1, + "split": 2 + }, + { + "bits": 79, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "7/8", + "leaf_calls": 12, + "length": 2, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 12, + "length": 2, + "split": 2 + }, + { + "bits": 79, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "7/8", + "leaf_calls": 12, + "length": 2, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 12, + "length": 2, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "7/2", + "leaf_calls": 12, + "length": 5, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "1677/8796093022208", + "initial_magnitude": "35/8", + "leaf_calls": 12, + "length": 5, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "7/2", + "leaf_calls": 12, + "length": 5, + "split": 2 + }, + { + "bits": 80, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 1, + "factors": 4, + "inherited_error_bound": "1677/8796093022208", + "initial_magnitude": "35/8", + "leaf_calls": 12, + "length": 5, + "split": 2 + }, + { + "bits": 106, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "3549/17592186044416", + "initial_magnitude": "5/8", + "leaf_calls": 21, + "length": 1, + "split": 3 + }, + { + "bits": 107, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "4095/17592186044416", + "initial_magnitude": "11/4", + "leaf_calls": 21, + "length": 1, + "split": 3 + }, + { + "bits": 106, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "3549/17592186044416", + "initial_magnitude": "5/8", + "leaf_calls": 21, + "length": 1, + "split": 3 + }, + { + "bits": 107, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "4095/17592186044416", + "initial_magnitude": "11/4", + "leaf_calls": 21, + "length": 1, + "split": 3 + }, + { + "bits": 107, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "2457/17592186044416", + "initial_magnitude": "5/4", + "leaf_calls": 21, + "length": 2, + "split": 3 + }, + { + "bits": 108, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "8463/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 21, + "length": 2, + "split": 3 + }, + { + "bits": 107, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "2457/17592186044416", + "initial_magnitude": "5/4", + "leaf_calls": 21, + "length": 2, + "split": 3 + }, + { + "bits": 108, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "8463/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 21, + "length": 2, + "split": 3 + }, + { + "bits": 108, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "10647/70368744177664", + "initial_magnitude": "31/8", + "leaf_calls": 21, + "length": 5, + "split": 3 + }, + { + "bits": 108, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "6279/35184372088832", + "initial_magnitude": "19/4", + "leaf_calls": 21, + "length": 5, + "split": 3 + }, + { + "bits": 108, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "10647/70368744177664", + "initial_magnitude": "31/8", + "leaf_calls": 21, + "length": 5, + "split": 3 + }, + { + "bits": 108, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 4, + "inherited_error_bound": "6279/35184372088832", + "initial_magnitude": "19/4", + "leaf_calls": 21, + "length": 5, + "split": 3 + }, + { + "bits": 97, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 18, + "length": 1, + "split": 1 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 18, + "length": 1, + "split": 1 + }, + { + "bits": 97, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 18, + "length": 1, + "split": 1 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 18, + "length": 1, + "split": 1 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 18, + "length": 2, + "split": 1 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "3627/17592186044416", + "initial_magnitude": "23/8", + "leaf_calls": 18, + "length": 2, + "split": 1 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 18, + "length": 2, + "split": 1 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "3627/17592186044416", + "initial_magnitude": "23/8", + "leaf_calls": 18, + "length": 2, + "split": 1 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "4563/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 18, + "length": 5, + "split": 1 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "2691/17592186044416", + "initial_magnitude": "19/4", + "leaf_calls": 18, + "length": 5, + "split": 1 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "4563/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 18, + "length": 5, + "split": 1 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "2691/17592186044416", + "initial_magnitude": "19/4", + "leaf_calls": 18, + "length": 5, + "split": 1 + }, + { + "bits": 97, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 18, + "length": 1, + "split": 2 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 18, + "length": 1, + "split": 2 + }, + { + "bits": 97, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 18, + "length": 1, + "split": 2 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 18, + "length": 1, + "split": 2 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 18, + "length": 2, + "split": 2 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "3627/17592186044416", + "initial_magnitude": "23/8", + "leaf_calls": 18, + "length": 2, + "split": 2 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 18, + "length": 2, + "split": 2 + }, + { + "bits": 98, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "3627/17592186044416", + "initial_magnitude": "23/8", + "leaf_calls": 18, + "length": 2, + "split": 2 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "4563/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 18, + "length": 5, + "split": 2 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "2691/17592186044416", + "initial_magnitude": "19/4", + "leaf_calls": 18, + "length": 5, + "split": 2 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "4563/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 18, + "length": 5, + "split": 2 + }, + { + "bits": 99, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "2691/17592186044416", + "initial_magnitude": "19/4", + "leaf_calls": 18, + "length": 5, + "split": 2 + }, + { + "bits": 143, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "5577/35184372088832", + "initial_magnitude": "5/8", + "leaf_calls": 33, + "length": 1, + "split": 4 + }, + { + "bits": 144, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "6435/35184372088832", + "initial_magnitude": "11/4", + "leaf_calls": 33, + "length": 1, + "split": 4 + }, + { + "bits": 143, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "5577/35184372088832", + "initial_magnitude": "5/8", + "leaf_calls": 33, + "length": 1, + "split": 4 + }, + { + "bits": 144, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "6435/35184372088832", + "initial_magnitude": "11/4", + "leaf_calls": 33, + "length": 1, + "split": 4 + }, + { + "bits": 143, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "3861/17592186044416", + "initial_magnitude": "5/4", + "leaf_calls": 33, + "length": 2, + "split": 4 + }, + { + "bits": 144, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "13299/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 33, + "length": 2, + "split": 4 + }, + { + "bits": 143, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "3861/17592186044416", + "initial_magnitude": "5/4", + "leaf_calls": 33, + "length": 2, + "split": 4 + }, + { + "bits": 144, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "13299/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 33, + "length": 2, + "split": 4 + }, + { + "bits": 145, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "16731/140737488355328", + "initial_magnitude": "31/8", + "leaf_calls": 33, + "length": 5, + "split": 4 + }, + { + "bits": 145, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "9867/70368744177664", + "initial_magnitude": "19/4", + "leaf_calls": 33, + "length": 5, + "split": 4 + }, + { + "bits": 145, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "16731/140737488355328", + "initial_magnitude": "31/8", + "leaf_calls": 33, + "length": 5, + "split": 4 + }, + { + "bits": 145, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 5, + "inherited_error_bound": "9867/70368744177664", + "initial_magnitude": "19/4", + "leaf_calls": 33, + "length": 5, + "split": 4 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "1365/8796093022208", + "initial_magnitude": "3/4", + "leaf_calls": 30, + "length": 1, + "split": 1 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "6045/35184372088832", + "initial_magnitude": "23/8", + "leaf_calls": 30, + "length": 1, + "split": 1 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "1365/8796093022208", + "initial_magnitude": "3/4", + "leaf_calls": 30, + "length": 1, + "split": 1 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "6045/35184372088832", + "initial_magnitude": "23/8", + "leaf_calls": 30, + "length": 1, + "split": 1 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "4095/17592186044416", + "initial_magnitude": "13/8", + "leaf_calls": 30, + "length": 2, + "split": 1 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "195/1099511627776", + "initial_magnitude": "3", + "leaf_calls": 30, + "length": 2, + "split": 1 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "4095/17592186044416", + "initial_magnitude": "13/8", + "leaf_calls": 30, + "length": 2, + "split": 1 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "195/1099511627776", + "initial_magnitude": "3", + "leaf_calls": 30, + "length": 2, + "split": 1 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "4095/17592186044416", + "initial_magnitude": "17/4", + "leaf_calls": 30, + "length": 5, + "split": 1 + }, + { + "bits": 136, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "9555/70368744177664", + "initial_magnitude": "41/8", + "leaf_calls": 30, + "length": 5, + "split": 1 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "4095/17592186044416", + "initial_magnitude": "17/4", + "leaf_calls": 30, + "length": 5, + "split": 1 + }, + { + "bits": 136, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "9555/70368744177664", + "initial_magnitude": "41/8", + "leaf_calls": 30, + "length": 5, + "split": 1 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "2535/17592186044416", + "initial_magnitude": "5/8", + "leaf_calls": 30, + "length": 1, + "split": 3 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "2925/17592186044416", + "initial_magnitude": "11/4", + "leaf_calls": 30, + "length": 1, + "split": 3 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "2535/17592186044416", + "initial_magnitude": "5/8", + "leaf_calls": 30, + "length": 1, + "split": 3 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "2925/17592186044416", + "initial_magnitude": "11/4", + "leaf_calls": 30, + "length": 1, + "split": 3 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 30, + "length": 2, + "split": 3 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "6045/35184372088832", + "initial_magnitude": "23/8", + "leaf_calls": 30, + "length": 2, + "split": 3 + }, + { + "bits": 134, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 30, + "length": 2, + "split": 3 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "6045/35184372088832", + "initial_magnitude": "23/8", + "leaf_calls": 30, + "length": 2, + "split": 3 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "7605/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 30, + "length": 5, + "split": 3 + }, + { + "bits": 136, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "4485/35184372088832", + "initial_magnitude": "19/4", + "leaf_calls": 30, + "length": 5, + "split": 3 + }, + { + "bits": 135, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "7605/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 30, + "length": 5, + "split": 3 + }, + { + "bits": 136, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 6, + "inherited_error_bound": "4485/35184372088832", + "initial_magnitude": "19/4", + "leaf_calls": 30, + "length": 5, + "split": 3 + }, + { + "bits": 216, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "5187/35184372088832", + "initial_magnitude": "3/4", + "leaf_calls": 57, + "length": 1, + "split": 5 + }, + { + "bits": 217, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "22971/140737488355328", + "initial_magnitude": "23/8", + "leaf_calls": 57, + "length": 1, + "split": 5 + }, + { + "bits": 216, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "5187/35184372088832", + "initial_magnitude": "3/4", + "leaf_calls": 57, + "length": 1, + "split": 5 + }, + { + "bits": 217, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "22971/140737488355328", + "initial_magnitude": "23/8", + "leaf_calls": 57, + "length": 1, + "split": 5 + }, + { + "bits": 216, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "15561/70368744177664", + "initial_magnitude": "13/8", + "leaf_calls": 57, + "length": 2, + "split": 5 + }, + { + "bits": 217, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "741/4398046511104", + "initial_magnitude": "3", + "leaf_calls": 57, + "length": 2, + "split": 5 + }, + { + "bits": 216, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "15561/70368744177664", + "initial_magnitude": "13/8", + "leaf_calls": 57, + "length": 2, + "split": 5 + }, + { + "bits": 217, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "741/4398046511104", + "initial_magnitude": "3", + "leaf_calls": 57, + "length": 2, + "split": 5 + }, + { + "bits": 217, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "15561/70368744177664", + "initial_magnitude": "17/4", + "leaf_calls": 57, + "length": 5, + "split": 5 + }, + { + "bits": 218, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "36309/281474976710656", + "initial_magnitude": "41/8", + "leaf_calls": 57, + "length": 5, + "split": 5 + }, + { + "bits": 217, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "15561/70368744177664", + "initial_magnitude": "17/4", + "leaf_calls": 57, + "length": 5, + "split": 5 + }, + { + "bits": 218, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 6, + "inherited_error_bound": "36309/281474976710656", + "initial_magnitude": "41/8", + "leaf_calls": 57, + "length": 5, + "split": 5 + }, + { + "bits": 170, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "1911/8796093022208", + "initial_magnitude": "3/4", + "leaf_calls": 42, + "length": 1, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "8463/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 42, + "length": 1, + "split": 1 + }, + { + "bits": 170, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "1911/8796093022208", + "initial_magnitude": "3/4", + "leaf_calls": 42, + "length": 1, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "8463/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 42, + "length": 1, + "split": 1 + }, + { + "bits": 171, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "5733/35184372088832", + "initial_magnitude": "13/8", + "leaf_calls": 42, + "length": 2, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "273/2199023255552", + "initial_magnitude": "3", + "leaf_calls": 42, + "length": 2, + "split": 1 + }, + { + "bits": 171, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "5733/35184372088832", + "initial_magnitude": "13/8", + "leaf_calls": 42, + "length": 2, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "273/2199023255552", + "initial_magnitude": "3", + "leaf_calls": 42, + "length": 2, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "5733/35184372088832", + "initial_magnitude": "17/4", + "leaf_calls": 42, + "length": 5, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "13377/70368744177664", + "initial_magnitude": "41/8", + "leaf_calls": 42, + "length": 5, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "5733/35184372088832", + "initial_magnitude": "17/4", + "leaf_calls": 42, + "length": 5, + "split": 1 + }, + { + "bits": 172, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "13377/70368744177664", + "initial_magnitude": "41/8", + "leaf_calls": 42, + "length": 5, + "split": 1 + }, + { + "bits": 152, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 36, + "length": 1, + "split": 3 + }, + { + "bits": 153, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 36, + "length": 1, + "split": 3 + }, + { + "bits": 152, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "5/8", + "leaf_calls": 36, + "length": 1, + "split": 3 + }, + { + "bits": 153, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "1755/8796093022208", + "initial_magnitude": "11/4", + "leaf_calls": 36, + "length": 1, + "split": 3 + }, + { + "bits": 153, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 36, + "length": 2, + "split": 3 + }, + { + "bits": 153, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "3627/17592186044416", + "initial_magnitude": "23/8", + "leaf_calls": 36, + "length": 2, + "split": 3 + }, + { + "bits": 153, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "5/4", + "leaf_calls": 36, + "length": 2, + "split": 3 + }, + { + "bits": 153, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "3627/17592186044416", + "initial_magnitude": "23/8", + "leaf_calls": 36, + "length": 2, + "split": 3 + }, + { + "bits": 154, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "4563/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 36, + "length": 5, + "split": 3 + }, + { + "bits": 154, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "2691/17592186044416", + "initial_magnitude": "19/4", + "leaf_calls": 36, + "length": 5, + "split": 3 + }, + { + "bits": 154, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "4563/35184372088832", + "initial_magnitude": "31/8", + "leaf_calls": 36, + "length": 5, + "split": 3 + }, + { + "bits": 154, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 7, + "inherited_error_bound": "2691/17592186044416", + "initial_magnitude": "19/4", + "leaf_calls": 36, + "length": 5, + "split": 3 + }, + { + "bits": 288, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "7371/35184372088832", + "initial_magnitude": "3/4", + "leaf_calls": 81, + "length": 1, + "split": 6 + }, + { + "bits": 289, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "32643/140737488355328", + "initial_magnitude": "23/8", + "leaf_calls": 81, + "length": 1, + "split": 6 + }, + { + "bits": 288, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "7371/35184372088832", + "initial_magnitude": "3/4", + "leaf_calls": 81, + "length": 1, + "split": 6 + }, + { + "bits": 289, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "32643/140737488355328", + "initial_magnitude": "23/8", + "leaf_calls": 81, + "length": 1, + "split": 6 + }, + { + "bits": 289, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "22113/140737488355328", + "initial_magnitude": "13/8", + "leaf_calls": 81, + "length": 2, + "split": 6 + }, + { + "bits": 290, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "3", + "leaf_calls": 81, + "length": 2, + "split": 6 + }, + { + "bits": 289, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "22113/140737488355328", + "initial_magnitude": "13/8", + "leaf_calls": 81, + "length": 2, + "split": 6 + }, + { + "bits": 290, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "1053/8796093022208", + "initial_magnitude": "3", + "leaf_calls": 81, + "length": 2, + "split": 6 + }, + { + "bits": 290, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "22113/140737488355328", + "initial_magnitude": "17/4", + "leaf_calls": 81, + "length": 5, + "split": 6 + }, + { + "bits": 290, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "51597/281474976710656", + "initial_magnitude": "41/8", + "leaf_calls": 81, + "length": 5, + "split": 6 + }, + { + "bits": 290, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "22113/140737488355328", + "initial_magnitude": "17/4", + "leaf_calls": 81, + "length": 5, + "split": 6 + }, + { + "bits": 290, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 7, + "inherited_error_bound": "51597/281474976710656", + "initial_magnitude": "41/8", + "leaf_calls": 81, + "length": 5, + "split": 6 + }, + { + "bits": 207, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "2457/17592186044416", + "initial_magnitude": "3/4", + "leaf_calls": 54, + "length": 1, + "split": 1 + }, + { + "bits": 208, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "10881/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 54, + "length": 1, + "split": 1 + }, + { + "bits": 207, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "2457/17592186044416", + "initial_magnitude": "3/4", + "leaf_calls": 54, + "length": 1, + "split": 1 + }, + { + "bits": 208, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "10881/70368744177664", + "initial_magnitude": "23/8", + "leaf_calls": 54, + "length": 1, + "split": 1 + }, + { + "bits": 207, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "7371/35184372088832", + "initial_magnitude": "13/8", + "leaf_calls": 54, + "length": 2, + "split": 1 + }, + { + "bits": 208, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "3", + "leaf_calls": 54, + "length": 2, + "split": 1 + }, + { + "bits": 207, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "7371/35184372088832", + "initial_magnitude": "13/8", + "leaf_calls": 54, + "length": 2, + "split": 1 + }, + { + "bits": 208, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "3", + "leaf_calls": 54, + "length": 2, + "split": 1 + }, + { + "bits": 208, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "7371/35184372088832", + "initial_magnitude": "17/4", + "leaf_calls": 54, + "length": 5, + "split": 1 + }, + { + "bits": 209, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "17199/140737488355328", + "initial_magnitude": "41/8", + "leaf_calls": 54, + "length": 5, + "split": 1 + }, + { + "bits": 208, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "7371/35184372088832", + "initial_magnitude": "17/4", + "leaf_calls": 54, + "length": 5, + "split": 1 + }, + { + "bits": 209, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "17199/140737488355328", + "initial_magnitude": "41/8", + "leaf_calls": 54, + "length": 5, + "split": 1 + }, + { + "bits": 188, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 48, + "length": 1, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 48, + "length": 1, + "split": 4 + }, + { + "bits": 188, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "507/2199023255552", + "initial_magnitude": "5/8", + "leaf_calls": 48, + "length": 1, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "585/4398046511104", + "initial_magnitude": "11/4", + "leaf_calls": 48, + "length": 1, + "split": 4 + }, + { + "bits": 189, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "5/4", + "leaf_calls": 48, + "length": 2, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "1209/8796093022208", + "initial_magnitude": "23/8", + "leaf_calls": 48, + "length": 2, + "split": 4 + }, + { + "bits": 189, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "351/2199023255552", + "initial_magnitude": "5/4", + "leaf_calls": 48, + "length": 2, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "1209/8796093022208", + "initial_magnitude": "23/8", + "leaf_calls": 48, + "length": 2, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "31/8", + "leaf_calls": 48, + "length": 5, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "897/4398046511104", + "initial_magnitude": "19/4", + "leaf_calls": 48, + "length": 5, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "1521/8796093022208", + "initial_magnitude": "31/8", + "leaf_calls": 48, + "length": 5, + "split": 4 + }, + { + "bits": 190, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 2, + "factors": 8, + "inherited_error_bound": "897/4398046511104", + "initial_magnitude": "19/4", + "leaf_calls": 48, + "length": 5, + "split": 4 + }, + { + "bits": 361, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "9555/70368744177664", + "initial_magnitude": "3/4", + "leaf_calls": 105, + "length": 1, + "split": 7 + }, + { + "bits": 362, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "42315/281474976710656", + "initial_magnitude": "23/8", + "leaf_calls": 105, + "length": 1, + "split": 7 + }, + { + "bits": 361, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "9555/70368744177664", + "initial_magnitude": "3/4", + "leaf_calls": 105, + "length": 1, + "split": 7 + }, + { + "bits": 362, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "42315/281474976710656", + "initial_magnitude": "23/8", + "leaf_calls": 105, + "length": 1, + "split": 7 + }, + { + "bits": 361, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "28665/140737488355328", + "initial_magnitude": "13/8", + "leaf_calls": 105, + "length": 2, + "split": 7 + }, + { + "bits": 362, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "1365/8796093022208", + "initial_magnitude": "3", + "leaf_calls": 105, + "length": 2, + "split": 7 + }, + { + "bits": 361, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "28665/140737488355328", + "initial_magnitude": "13/8", + "leaf_calls": 105, + "length": 2, + "split": 7 + }, + { + "bits": 362, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "1365/8796093022208", + "initial_magnitude": "3", + "leaf_calls": 105, + "length": 2, + "split": 7 + }, + { + "bits": 362, + "clean_arrays": 1, + "direction": -1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "28665/140737488355328", + "initial_magnitude": "17/4", + "leaf_calls": 105, + "length": 5, + "split": 7 + }, + { + "bits": 363, + "clean_arrays": 1, + "direction": -1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "66885/562949953421312", + "initial_magnitude": "41/8", + "leaf_calls": 105, + "length": 5, + "split": 7 + }, + { + "bits": 362, + "clean_arrays": 1, + "direction": 1, + "dirt": 0, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "28665/140737488355328", + "initial_magnitude": "17/4", + "leaf_calls": 105, + "length": 5, + "split": 7 + }, + { + "bits": 363, + "clean_arrays": 1, + "direction": 1, + "dirt": 7, + "dirty_arrays": 3, + "factors": 8, + "inherited_error_bound": "66885/562949953421312", + "initial_magnitude": "41/8", + "leaf_calls": 105, + "length": 5, + "split": 7 + } + ], + "checks": [ + "dense rational oracle within inherited bound", + "exact source, dirty scratch and clean restoration", + "exact inverse and standalone negative word", + "target independence", + "same-split four-call identity", + "leaf and scalar-step counts" + ], + "controls": [ + { + "bypass_error": [ + "1020847100762815390390123822295304634367/765635325572111542792592866721478475776", + "0" + ], + "bypass_squared_error_greater_than_one": true, + "name": "nonzero_checkpoint", + "rejected": "checkpoint must initially be zero", + "unchanged_on_rejection": true + }, + { + "checkpoint": [ + "453709822561251284617832809909024281941/340282366920938463463374607431768211456", + "0" + ], + "detected_nonzero_checkpoint": true, + "name": "omitted_restore" + } + ], + "error_envelope": { + "G": "2+r/beta", + "N": "actual three-call leaf count", + "a": "13*(r+1)/beta^3", + "beta": "1/2", + "formula": "N*a*(D+1)*2^(-bits)*G^(N-1)", + "precision_target": "2^-32", + "r": 3 + }, + "nonzero_rounding_error_cases": 216, + "scope": "Finite evidence with pinned PR628 rounded leaves; inherited leaf error estimates are assumed, not proved here. No supplier, bit-reversible tape compiler, or multiplication theorem.", + "status": "passed" + }, + "scope": "Paid clean root only; no new kappa, global scheduler optimum, or full theorem", + "selected": { + "balanced_dirty_arrays": 6, + "balanced_dirty_leaf_calls": 3136, + "clean_arrays": 1, + "dirty_arrays": 5, + "factors": 54, + "leaf_calls": 2112, + "optimal_splits": [ + 16, + 22 + ], + "split": 22 + }, + "source_pins": [ + { + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "git_blob": "2b9471083706a37519a1af7598e012f5fecf2636", + "path": "vendor/pr628-dirty.py", + "sha256": "09e7f41141594e6540828330d27be27c083ee6569660ae42c0cd519b09fc8d21", + "source_path": "research/prime-power-cyclic-scan/dirty.py" + }, + { + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "git_blob": "caf4aafc784a630d61ca7874a0bd19cbcb34e585", + "path": "vendor/pr628-DIRTY-PROOF.md", + "sha256": "bb7c2fdc1c4673d56531fd56fb8790c81a16813ac152c10f1afabc9efdd70d61", + "source_path": "research/prime-power-cyclic-scan/DIRTY-PROOF.md" + }, + { + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "git_blob": "22fbeb8ef0a28dd6b3feea718492091319ceb96e", + "path": "vendor/pr628-NOTICE.md", + "sha256": "abeacf1ad1491d5797cfcf1f3832799bbf3b24b99597229d7bc884059a51ec68", + "source_path": "research/prime-power-cyclic-scan/NOTICE.md" + }, + { + "commit": "e0e546fd01b396478c68b6b6c5a16d87515983ba", + "git_blob": "aeed8aeb2667d684786b72617df359f3e7941e96", + "path": "vendor/pr663-README.md", + "sha256": "0fed6e3a82c7c158614c696504d25b5693a0e8b6fe24a2140ced4e8cae2f7582", + "source_path": "research/dirty-commutator-audit/README.md" + }, + { + "commit": "e0e546fd01b396478c68b6b6c5a16d87515983ba", + "git_blob": "f70d7122899b217709597a655443b05ef3c5a338", + "path": "vendor/pr663-NOTICE.md", + "sha256": "39c6f175693297f1e0b24264747aec8dbee09833cb52c585142a7920d80e9d52", + "source_path": "research/dirty-commutator-audit/NOTICE.md" + }, + { + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "git_blob": "d620e493596f12578c1ce47f216c44c79b65de08", + "path": "vendor/pr628-scan.py", + "sha256": "1a9c01ca1a29a9be1e756858161202621db29d5d332a4266b4017a9502a50d7e", + "source_path": "research/prime-power-cyclic-scan/scan.py" + }, + { + "commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "path": "LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "LICENSE" + }, + { + "commit": "0e35f56cab3cae1eb0a99447135569d687c5695a", + "git_blob": "6323498dfb2dfbb7c2252f4fa6fa6a505493651b", + "path": "vendor/pr673-phase-alias-guard.patch", + "sha256": "b752822b2c032eaa4158766922c572c51c67f955e899570df6798c6906f27d9e", + "source_path": "research/cyclic-dirty-commutator-audit/phase-alias-guard.patch" + } + ], + "status": "PASS_CLEAN_CHECKPOINT" +} diff --git a/research/clean-checkpoint/LICENSE b/research/clean-checkpoint/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/clean-checkpoint/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/clean-checkpoint/NOTICE.md b/research/clean-checkpoint/NOTICE.md new file mode 100644 index 0000000000..8c41f77fac --- /dev/null +++ b/research/clean-checkpoint/NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and disclosure + +Prepared for GitHub contributor **FanPUYen**, with substantial **OpenAI Codex** +assistance in mathematical derivation, implementation, verification and writing. +Separate Codex agents reviewed the mathematics and checker and built the rounded +evidence. These are automated reviews, not independent human peer review. + +Chafik Boukhalfa / **chafreaky** contributed PR628's cyclic rounded leaves, +dirty product-shear dispatcher, restoration proof and precision/cost estimates. +Its original notice is retained verbatim in `vendor/pr628-NOTICE.md`. +**@0xkilgore** and OpenAI Codex contributed PR663's exact balanced count and +independent nonlinear-restoration audit; its notice is retained verbatim in +`vendor/pr663-NOTICE.md`. That concurrent result is a credited dependency, +not displaced by the clean-storage tradeoff here. + +**@androolloyd** and OpenAI Codex contributed concurrent PR673's phase-array +alias admission finding and repair. The adapter adopts the corresponding +identity exclusion; its original patch is retained and pinned. PR673's distinct +multiway echo schedule is credited as concurrent work, not incorporated or +independently re-verified here. + +PR628 credits **Ali Romman** for PR621's prime-power circle bound, OpenAI's +exact-DFT manuscript, classical q-Pochhammer/Newton identities and the cited +factorization, elementary-function and recursive-filtering literature. +Those credits are preserved. This contribution claims no literature priority +for compute/use/uncompute or reversible checkpointing. + +The selected #626/#543 construction and its Jeremy Kothe, Chafik Boukhalfa, +eumemic, DreamingOfClouds, Rohan Arun and earlier contributor lineage provide +the repository context. They are not claimed as implementations of this new +interface, and their conditional frontier is not modified. + +New code and writing use the repository's **Apache-2.0** license. All vendored +files are unchanged, with their source-specific notices and exact pins retained. diff --git a/research/clean-checkpoint/PROOF.md b/research/clean-checkpoint/PROOF.md new file mode 100644 index 0000000000..363edd94ac --- /dev/null +++ b/research/clean-checkpoint/PROOF.md @@ -0,0 +1,318 @@ +# One paid clean checkpoint at the root + +This note changes only the root interface of the balanced dirty product-shear +recursion in [PR628's pinned proof](vendor/pr628-DIRTY-PROOF.md) and +[dispatcher](vendor/pr628-dirty.py). It uses the exact dirty recurrence and +restoration argument recorded independently in [PR663](vendor/pr663-README.md). +The new resource is one explicitly supplied zero-filled length-`L` array. +All subtrees retain the balanced dirty recursion. Optimality below concerns +the root split in this family, with unit leaf-call prices. + +## Interface and identity + +Arrays belong to an abelian group, such as complex dyadic arrays under exact +addition. A leaf adds a deterministic function of its source to its target, +restores its source, and has a target-independent increment. It is also +zero-preserving: its increment at source zero is exactly zero. Its negative +call implements its exact inverse. Coefficients, phases, rounding rules and +other read-only parameters remain fixed between paired calls. All source, +target, checkpoint and borrowed arrays are distinct; no ancestor source or +target may serve as deeper scratch. +The phase array is also distinct from every mutable array. This explicit root +guard follows @androolloyd's concurrent PR673 admission finding: initial unit +modulus alone does not imply read-only phase access when Python objects alias. +The pinned original repair is retained in `vendor/pr673-phase-alias-guard.patch`. + +For a dirty child, write `B(x;t)` for its increment, where `t` contains the +initial deeper scratch. The usual parent with checkpoint dirt `z0` executes + +```text +z += B(x;t) +y += A(z;t) +z -= B(x;t) +y -= A(z;t) +``` + +Inductively each child restores its source and deeper scratch. The two `B` +calls therefore see identical inputs, restoring `z` exactly. The increment is + +\[ + A(z_0+B(x;t);t)-A(z_0;t). +\] + +This proves restoration and target independence without assuming linearity. +It also proves zero preservation inductively: `B(0;t)=0` makes the displayed +difference zero for every `z0,t`. Thus arbitrary deeper dirt is allowed even +though the increment can depend on that dirt. + +Now supply `z0=0` and omit the last call. The remaining word is + +```text +U: z += B(x;t) +V: y += A(z;t) +U^-1: z -= B(x;t) +``` + +It restores `x,z,t` and adds `A(B(x;t);t)` to `y`. The omitted call would have +source zero; since `A(0;t)=0`, it leaves every data array unchanged. Consequently +the three-call and four-call words **at the same root split** have identical +final data arrays, including bitwise equality on a fixed dyadic grid. The +negative word is the reverse sequence of inverse calls, chronologically +`U, V^-1, U^-1`; each child's inverse must itself reverse its instruction word. +This yields exact whole-word inversion on the allowed zero-checkpoint states. + +PR628's rounded leaf has zero increment at source zero: every causal state, +closure numerator, closure seed and final multiplied value is then zero. +Its stable denominator remains governed by the inherited leaf assumptions. +This observation does not independently re-prove its nonzero-source accuracy. + +For linear ideal leaves the increment is the ordered product of all factors, +with the first factor in the list applied first. No commutation is needed. +Changing the root split can change the nonlinear rounded increment; it preserves +the ideal ordered product, not necessarily the rounded output of the original +balanced-root program. + +Cleanliness is essential. For identity children, `x=0,z0=1`, the three-call +word increments `y` by one while restoring `z0=1`; the intended product is zero. +Supplying a zero array is a stronger storage assumption than borrowing arbitrary +dirt. Neither the identity nor this implementation erases borrowed information. + +## Exact counts and the optimal root split + +Count every positive and inverse leaf invocation, including invocations whose +net effect happens to be zero. The balanced dirty count is + +\[ + D(1)=1,\qquad D(m)=2D(\lfloor m/2\rfloor)+2D(\lceil m/2\rceil). +\] + +For `p=2^floor(log2(m))`, PR663's formula is + +\[ + D(m)=3pm-2p^2. +\] + +Indeed the ordinary balanced factor tree has `2p-m` leaves at depth `log2(p)` +and `2m-2p` at the next depth; each descent doubles execution multiplicity. +For a root split `k+(n-k)`, with `1<=k=3`, let `q` be the unique power of two satisfying +`3q<=n<6q`. All minimizing splits are the integers in + +\[ + \boxed{\max(q,n-4q)\le k\le\min(2q,n-2q)}, +\] + +and their common count is + +\[ + \boxed{N(n)=6q(n-2q)}. +\] + +For `n=2`, the sole split is `k=1` and `N(2)=3`. + +To prove the theorem, the count formula gives + +\[ + D(m+1)-D(m)=3\,2^{\lfloor\log_2m\rfloor}. +\] + +Hence `F_n(k+1)-F_n(k)` is nondecreasing in `k`: it is twice this slope at +`k`, minus the slope at `n-k-1`. The objective is discretely convex. +On the stated interval, `q<=k<=2q` and `2q<=n-k<=4q`, so + +\[ + 2D(k)+D(n-k) + =2(3qk-2q^2)+(6q(n-k)-8q^2)=6q(n-2q). +\] + +The formula for `D` is valid at these closed dyadic endpoints. If the interval +has a left neighbor, its slope into the interval is strictly negative: either +`k` has just reached `q`, or `n-k` has just dropped to `4q`. If it has a right +neighbor, the outgoing slope is strictly positive: either `k` has reached +`2q`, or `n-k` has dropped to `2q`. Convexity excludes every other minimizer. + +Let `k*=min(2q,n-2q)`, the largest minimizing split. All the minimizing splits +have `k<=n/2`, so this choice minimizes the largest child size. With +`h(m)=ceil(log2(m))` and `h(1)=0`, scratch consists of + +\[ + 1\text{ clean array}+h(\max(k,n-k))\text{ dirty arrays}. +\] + +The children run sequentially and restore the same dirty pool before reuse. +For `3q<=n<=4q`, `n-k*=2q`, so the total is `1+log2(2q)=h(n)`. +For `4q 2112 leaves, 1 clean + 5 dirty arrays +``` + +The command checks immutable predecessor bytes, recomputes the entire receipt +and compares it with [EXPECTED.json](EXPECTED.json). `--write /path/result.json` +instead writes a fresh receipt. Checks stay active under `python3 -I -O -B`. +The package can be copied elsewhere and run without the repository or Git. + +## What is proved and what is checked + +For the inherited balanced dirty count `D`, a clean root at split `k` costs +`2 D(k) + D(n-k)`. The first child is computed and uncomputed; the second child +is used once. If `n >= 3` and `q` is the power of two with `3q <= n < 6q`, +every cost-optimal split lies in + +```text +max(q, n-4q) <= k <= min(2q, n-2q), +N(n) = 6q(n-2q). +``` + +Choose the largest such `k` to minimize the largest child and avoid an extra +scratch array. The proof covers every factor count; the finite checks corroborate +it. The optimum is only over **one clean root and balanced all-dirty subtrees**, +with unit leaf prices. Weighted leaf prices have their own complete recurrence; +neither a globally optimal reversible schedule nor a runtime speedup is claimed. + +The bounded evidence consists of: + +- All 32,640 root splits for `n=2..256`, checking the optimal interval, exact + counts, space equality and relative count bounds. +- 498 exact free noncommutative linear-operator cases: every split for `n=2..32`, + plus the selected splits at 54 and 63. All initial source, target and dirty + columns are tracked. Pinned dispatcher traces match an independent compiler; + restoration, factor order, inversion and weighted leaf bills are checked. +- 216 executions using PR628's actual rounded leaf definitions, with 2–8 + factors, lengths 1/2/5, both directions and two dirty initializations. Independent + dense rational solves check the target against the inherited actual-call-count + error bound. All 216 have nonzero rounding error. Exact restoration, standalone + negative execution, target independence, same-split four-call equality and + `3L` arithmetic-pass steps per leaf are checked. +- Fourteen algebraic/interface controls plus two rounded controls: dirty checkpoint, + source/target aliasing, insufficient scratch, omitted restoration, wrong factor + order, incorrect inverse chronology, dirt leakage, unpriced uncomputation and + five phase-array aliases (source, target, clean checkpoint, each dirty level). + Package/source corruption controls are recorded in [VALIDATION.md](VALIDATION.md). + +The shorter word and the four-call word have identical rounded output **at the +same root split**. Changing the split need not preserve rounded bits; the ideal +ordered product and the conditional accuracy bound are the common comparison. +Finite replay is not formal verification of the full multiplication theorem. + +## Provenance and coordination + +Base: `66849e1475c930fd7732b1a0067ffee7e1e95f60`. +The selected record at that base is #626/#543 with +`κ = 51110230636731/31250000000000000` (0.001635527380375392). +Its record, actual assembly, source manifest, construction and maintainer review +were followed before choosing this distinct interface task. + +Direct dependencies: + +- Chafik Boukhalfa / chafreaky's [PR628](https://github.com/CrocSwap/integer-mult-bounds/pull/628) + at `0768f97d06c623b8211e651543c66135796b62bf`: dirty rounded leaves, + balanced dispatcher and conditional error/cost interface. +- @0xkilgore's concurrent [PR663](https://github.com/CrocSwap/integer-mult-bounds/pull/663) + at `e0e546fd01b396478c68b6b6c5a16d87515983ba`: exact all-dirty call count + and restoration audit. This contribution changes the storage interface and + instruction word; it does not repeat that unchanged-dispatcher audit. +- @androolloyd's concurrent [PR673](https://github.com/CrocSwap/integer-mult-bounds/pull/673) + at `0e35f56cab3cae1eb0a99447135569d687c5695a` was discovered during the final + overlap refresh. Its multiway dirty echo changes a different schedule and can + use more dirty arrays; no superiority over that interface is claimed here. + Its phase-alias finding motivated an explicit root admission guard, credited + and tested here; the original repair patch is pinned in `vendor/` as a reference. + Its broader echo and arithmetic evidence were not re-audited in this package. + +[SOURCE.json](SOURCE.json) records Git commits, paths, blob IDs and SHA-256 +for every vendored predecessor file. [NOTICE.md](NOTICE.md) retains attribution +and substantial AI-assistance disclosure. No upstream or selected-result file +is edited. [CLAIM.txt](CLAIM.txt) records track, OS-random seed 54, three candidate +tasks, selection, bounded coverage and the local coordination claim. No pinned +sprint issue was available. [VALIDATION.md](VALIDATION.md) separates completed +checks from unverified repository-wide and platform obligations. diff --git a/research/clean-checkpoint/SOURCE.json b/research/clean-checkpoint/SOURCE.json new file mode 100644 index 0000000000..9e58fc48b5 --- /dev/null +++ b/research/clean-checkpoint/SOURCE.json @@ -0,0 +1,61 @@ +{ + "base_commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "sources": [ + { + "path": "vendor/pr628-dirty.py", + "source_path": "research/prime-power-cyclic-scan/dirty.py", + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "sha256": "09e7f41141594e6540828330d27be27c083ee6569660ae42c0cd519b09fc8d21", + "git_blob": "2b9471083706a37519a1af7598e012f5fecf2636" + }, + { + "path": "vendor/pr628-DIRTY-PROOF.md", + "source_path": "research/prime-power-cyclic-scan/DIRTY-PROOF.md", + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "sha256": "bb7c2fdc1c4673d56531fd56fb8790c81a16813ac152c10f1afabc9efdd70d61", + "git_blob": "caf4aafc784a630d61ca7874a0bd19cbcb34e585" + }, + { + "path": "vendor/pr628-NOTICE.md", + "source_path": "research/prime-power-cyclic-scan/NOTICE.md", + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "sha256": "abeacf1ad1491d5797cfcf1f3832799bbf3b24b99597229d7bc884059a51ec68", + "git_blob": "22fbeb8ef0a28dd6b3feea718492091319ceb96e" + }, + { + "path": "vendor/pr663-README.md", + "source_path": "research/dirty-commutator-audit/README.md", + "commit": "e0e546fd01b396478c68b6b6c5a16d87515983ba", + "sha256": "0fed6e3a82c7c158614c696504d25b5693a0e8b6fe24a2140ced4e8cae2f7582", + "git_blob": "aeed8aeb2667d684786b72617df359f3e7941e96" + }, + { + "path": "vendor/pr663-NOTICE.md", + "source_path": "research/dirty-commutator-audit/NOTICE.md", + "commit": "e0e546fd01b396478c68b6b6c5a16d87515983ba", + "sha256": "39c6f175693297f1e0b24264747aec8dbee09833cb52c585142a7920d80e9d52", + "git_blob": "f70d7122899b217709597a655443b05ef3c5a338" + }, + { + "path": "vendor/pr628-scan.py", + "source_path": "research/prime-power-cyclic-scan/scan.py", + "commit": "0768f97d06c623b8211e651543c66135796b62bf", + "sha256": "1a9c01ca1a29a9be1e756858161202621db29d5d332a4266b4017a9502a50d7e", + "git_blob": "d620e493596f12578c1ce47f216c44c79b65de08" + }, + { + "path": "LICENSE", + "source_path": "LICENSE", + "commit": "66849e1475c930fd7732b1a0067ffee7e1e95f60", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + { + "path": "vendor/pr673-phase-alias-guard.patch", + "source_path": "research/cyclic-dirty-commutator-audit/phase-alias-guard.patch", + "commit": "0e35f56cab3cae1eb0a99447135569d687c5695a", + "sha256": "b752822b2c032eaa4158766922c572c51c67f955e899570df6798c6906f27d9e", + "git_blob": "6323498dfb2dfbb7c2252f4fa6fa6a505493651b" + } + ] +} diff --git a/research/clean-checkpoint/VALIDATION.md b/research/clean-checkpoint/VALIDATION.md new file mode 100644 index 0000000000..ab641ce253 --- /dev/null +++ b/research/clean-checkpoint/VALIDATION.md @@ -0,0 +1,88 @@ +# Validation record + +Base: `66849e1475c930fd7732b1a0067ffee7e1e95f60`. +Platform: macOS arm64. Focused package requires Python 3.9+ and only the +standard library. Local interpreters are CPython 3.9.6 and 3.12.14. + +## Contribution checks + +The following commands pass and compare the complete deterministic receipt: + +```sh +python3 -B research/clean-checkpoint/verify.py +python3 -I -O -B research/clean-checkpoint/verify.py +python3 -I -O -B research/clean-checkpoint/test_package.py +``` + +The exact package replay passes on both listed interpreters. Coverage: +32,640 root splits; 498 noncommutative symbolic cases; 216 rounded executions +with independent dense rational comparisons and nonzero rounding error in every +case; 14 algebraic/interface rejection controls and two rounded controls. + +`test_package.py` copies the package into a path with spaces, without repository +or Git dependencies, and verifies it under isolated optimized Python. It then +requires failures for four corruptions: a changed pinned source, a changed +expected call count, removal of the clean-checkpoint guard, and removal of the +phase-array alias guard. These check actual subprocess exit status and diagnostic +markers. The temporary copies are restored or deleted; source files stay intact. + +The first implementation review caught and fixed two checker defects before +packaging: Python assertions in the rounded harness would disappear under `-O`, +and a same-order sign-negation control at seven factors happened to invert the +ideal odd-degree product. Explicit checks now remain active under optimization; +the inverse-order control uses two factors where the mutation is nontrivial. +These were checker-development findings, not counterexamples to the clean-root +identity. A separate Codex reviewer subsequently passed the optimized package. + +Concurrent PR673 arrived during the final overlap check. Its phase-alias defect +motivated a guard before any mutable operation. Five phase aliases are rejected, +and removing the guard makes the package control fail. Its original patch and +head are pinned; no broader PR673 replay or review is claimed. + +## Repository checks and limits + +`make selected-record-check` passes at the base, checking the selected κ, +original source inventory and proof supplements. Only the new research package +is changed; selected sources and `upstream/` are preserved. Staged whitespace, +vendored Git-blob/SHA-256 bindings and clean-patch applicability are checked in +the final handoff. + +The repository-wide `make verify` was launched in a separate detached checkout +at the exact base, to avoid regenerating unrelated artifacts in the contribution. +The initial system-Python 3.9 attempt passed the two opening arithmetic audits +but failed in the historical copied-centers producer at `int.bit_count`; the root +suite requires Python 3.11+. It was retried with the available Python 3.12.14. +The supported-interpreter run passed `verify-community`, `verify-producers`, +`verify-partial-gauge`, `verify-three-stage-cover`, `verify-paired-cube`, +`verify-recycled-bit` and `verify-entrance-banks`, including their exact words, +assembly checks and controls. It then stopped in `gen4-bank-verify` at +`research/five-stage-gen4-banks/verify.py:52` with +`ModuleNotFoundError: No module named 'sympy'` (make exit 2). No root-wide pass +is claimed. Later root targets, including `frontier626-verify`, were not reached. +No third-party dependency was installed merely to broaden this additive +standard-library package's scope. + +The complete expected receipt has SHA-256 +`9c7b5aa11a2592547f2432f0d2a6c434b8ab160126c71c07c23a586f54d8bdbd`. +All eight vendored/source-license files were independently compared to the +exact Git objects in SOURCE.json, in addition to the offline checker bindings. + +The initial overlap review covered recent open PRs through #675. The +user-authorized publication continuation refreshed metadata through #709 and +repeated the targeted `clean checkpoint` search (no matches). PR689 by Dillon +Amburgey optimizes balanced ternary placement in PR673's all-dirty echo; our +result instead changes the root storage contract and retains balanced binary +dirty children. No PR689 code is consumed. PR673 remains explicitly credited +and distinguished in README.md. No pinned sprint coordination issue was +available at the initial claim. Main still resolves to the exact base. + +The initial deliverable was a local patch and standalone package because the +connected account lacked upstream push permission and the checked in-app +browser was signed out. The user then authorized publication using Chrome, +where the FanPUYen session is signed in. Final publication status belongs to +the external handoff record, separate from the local verification evidence. + +No selected-supplier cold replay, remote CI, Linux replay, Lean proof or complete +multiplication theorem is claimed for this additive interface package. The +uniform rounded-leaf estimates and preparation/tape/hosting obligations retain +the explicit limits stated in PROOF.md. diff --git a/research/clean-checkpoint/checkpoint.py b/research/clean-checkpoint/checkpoint.py new file mode 100644 index 0000000000..f188e573cf --- /dev/null +++ b/research/clean-checkpoint/checkpoint.py @@ -0,0 +1,68 @@ +"""A paid clean root checkpoint over unchanged balanced dirty subtrees. + +Research adapter, not a supplier or tape compiler. Apache-2.0. +Prepared for FanPUYen with substantial OpenAI Codex assistance. +""" + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def dirty_count(n): + need(type(n) is int and n >= 1, 'positive integer factor count') + q = 1 << (n.bit_length() - 1) + return 3 * q * n - 2 * q * q + + +def optimal_interval(n): + """All optimal root splits, with balanced dirty subtrees on each side.""" + need(type(n) is int and n >= 2, 'at least two factors') + if n == 2: + return 1, 1 + q = 1 << ((n // 3).bit_length() - 1) + return max(q, n - 4 * q), min(2 * q, n - 2 * q) + + +def plan(n, split=None): + lo, hi = optimal_interval(n) + k = hi if split is None else split + need(type(k) is int and 0 < k < n, 'interior split') + return dict(factors=n, split=k, optimal_splits=[lo, hi], + leaf_calls=2 * dirty_count(k) + dirty_count(n - k), + balanced_dirty_leaf_calls=dirty_count(n), + clean_arrays=1, + dirty_arrays=(max(k, n - k) - 1).bit_length(), + balanced_dirty_arrays=(n - 1).bit_length()) + + +def compose_clean(compose, c, x, y, factors, clean, scratch, phases, + beta, bits, d, split=None, sign=1, stats=None): + """Apply a three-call root with the supplied target-additive dispatcher. + + Preconditions inherited from that dispatcher include immutable parameters, + exact inverse signs, source/scratch restoration and zero-preserving leaves. + Initial clean storage is an additional caller obligation, never an erasure + of borrowed data. The adapter checks all root array exclusions before work. + """ + p = plan(len(factors), split) + need(sign in (-1, 1) and d in (-1, 1), 'orientation and sign') + arrays = [x, y, clean] + list(scratch) + need(len({id(a) for a in arrays}) == len(arrays), 'distinct root arrays') + # Credit PR673's concurrent admission finding: phases cannot alias an + # array mutated by the leaf, even if its initial entries are unit phases. + need(all(phases is not a for a in arrays), 'phase array must be distinct') + need(len(x) > 0 and all(len(a) == len(x) for a in arrays), 'array lengths') + need(len(phases) == len(x) and all(c.norm2(t) == 1 for t in phases), + 'unit phase array') + need(len(scratch) >= p['dirty_arrays'], 'dirty depth') + need(all(v == c.ZERO for v in clean), 'checkpoint must initially be zero') + k = p['split'] + operations = [(x, clean, factors[:k], 1), + (clean, y, factors[k:], 1), + (x, clean, factors[:k], -1)] + if sign == -1: + operations = [(a, b, fs, -s) for a, b, fs, s in reversed(operations)] + for a, b, fs, s in operations: + compose(a, b, fs, scratch, phases, beta, bits, d, s, stats) diff --git a/research/clean-checkpoint/rounded_check.py b/research/clean-checkpoint/rounded_check.py new file mode 100644 index 0000000000..13eb9d2bd2 --- /dev/null +++ b/research/clean-checkpoint/rounded_check.py @@ -0,0 +1,224 @@ +"""Finite rounded-leaf evidence for a clean root; no general accuracy theorem. + +Uses only selected definitions of the hash-pinned PR628 dirty prototype. +The error envelope is inherited conditionally from its leaf estimates. +Prepared for FanPUYen with substantial OpenAI Codex assistance. Apache-2.0. +""" +import ast +from fractions import Fraction as F +import importlib.util +import itertools +import json +from pathlib import Path + +HERE = Path(__file__).resolve().parent + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def load_file(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def implementation(): + c = load_file('pinned_scan', HERE / 'vendor/pr628-scan.py') + path = HERE / 'vendor/pr628-dirty.py' + tree = ast.parse(path.read_text(), filename=str(path)) + names = {'scaled', 'conj', 'ordered', 'lift', 'leaf', 'compose'} + definitions = [node for node in tree.body + if isinstance(node, ast.FunctionDef) and node.name in names] + c.need({node.name for node in definitions} == names, 'vendored definitions') + namespace = dict(F=F, c=c, itertools=itertools) + exec(compile(ast.Module(body=definitions, type_ignores=[]), str(path), 'exec'), + namespace) + return c, namespace['compose'] + + +def dense_operator(c, x, factors, phases, direction): + """Gaussian elimination on each cyclic factor, independent of the lifts.""" + out = x[:] + length = len(x) + for inside, b, scale in factors: + root = b if inside else c.div(c.ONE, b) + matrix = [[c.ZERO for _ in range(length)] + [out[i]] + for i in range(length)] + for i in range(length): + matrix[i][i] = c.neg(root) + j = (i - direction) % length + matrix[i][j] = c.add(matrix[i][j], phases[i]) + for col in range(length): + pivot = next(row for row in range(col, length) + if matrix[row][col] != c.ZERO) + matrix[col], matrix[pivot] = matrix[pivot], matrix[col] + divisor = matrix[col][col] + matrix[col] = [c.div(v, divisor) for v in matrix[col]] + for row in range(length): + if row == col: + continue + coefficient = matrix[row][col] + matrix[row] = [c.sub(v, c.mul(coefficient, w)) + for v, w in zip(matrix[row], matrix[col])] + out = [(row[-1][0] * scale, row[-1][1] * scale) for row in matrix] + return out + + +def leaves(n): + return 1 if n == 1 else 2 * (leaves(n // 2) + leaves(n - n // 2)) + + +def ceil_log2(value): + """Nonnegative ceiling, computed with integers only.""" + bits = max(0, value.numerator.bit_length() - value.denominator.bit_length()) + return bits + ((value.denominator << bits) < value.numerator) + + +def precision(calls, magnitude): + beta, r = F(1, 2), 3 + a, growth = 13 * (r + 1) / beta ** 3, 2 + F(r) / beta + numerator = calls * a * (magnitude + 1) * growth ** (calls - 1) + bits = ceil_log2(max(a, 2 / beta ** 2, numerator * (1 << 32))) + bound = numerator / (1 << bits) + need(a / (1 << bits) <= 1 and F(1, 1 << bits) <= beta ** 2 / 2, + 'chosen precision satisfies inherited leaf and closure hypotheses') + need(bound <= F(1, 1 << 32), 'chosen precision meets the error target') + return bits, bound + + +def four_call(compose, x, y, factors, clean, scratch, phases, bits, d, k): + for source, target, fs, sign in ( + (x, clean, factors[:k], 1), (clean, y, factors[k:], 1), + (x, clean, factors[:k], -1), (clean, y, factors[k:], -1), + ): + compose(source, target, fs, scratch, phases, F(1, 2), bits, d, sign) + + +def controls(c, compose, adapter): + factors = [(True, (F(1, 4), F(0)), F(1))] * 2 + x, y, dirty_checkpoint = [c.ONE], [c.ZERO], [c.ONE] + before = [v[:] for v in (x, y, dirty_checkpoint)] + try: + adapter(compose, c, x, y, factors, dirty_checkpoint, [], [c.ONE], + F(1, 2), 128, 1, split=1) + except ValueError as error: + rejected = str(error) + else: + raise AssertionError('nonzero checkpoint accepted') + need([x, y, dirty_checkpoint] == before, + 'nonzero checkpoint rejection must precede mutation') + # Deliberately bypass the clean precondition: A(z + Bx) retains A(z). + compose(x, dirty_checkpoint, factors[:1], [], [c.ONE], F(1, 2), 128, 1) + compose(dirty_checkpoint, y, factors[1:], [], [c.ONE], F(1, 2), 128, 1) + compose(x, dirty_checkpoint, factors[:1], [], [c.ONE], F(1, 2), 128, 1, -1) + ideal = dense_operator(c, x, factors, [c.ONE], 1) + need(c.norm2(c.sub(y[0], ideal[0])) > 1 and dirty_checkpoint == [c.ONE], + 'bypassing the clean precondition must exhibit contamination') + contamination = c.sub(y[0], ideal[0]) + # Deliberately omit the third call: the checkpoint must fail restoration. + clean, target = [c.ZERO], [c.ZERO] + compose(x, clean, factors[:1], [], [c.ONE], F(1, 2), 128, 1) + compose(clean, target, factors[1:], [], [c.ONE], F(1, 2), 128, 1) + need(clean != [c.ZERO] and x == [c.ONE], + 'omitting the restore call must leave a nonzero checkpoint') + return [dict(name='nonzero_checkpoint', rejected=rejected, + unchanged_on_rejection=True, + bypass_error=[str(v) for v in contamination], + bypass_squared_error_greater_than_one=True), + dict(name='omitted_restore', detected_nonzero_checkpoint=True, + checkpoint=[str(v) for v in clean[0]])] + + +def run(): + c, compose = implementation() + checkpoint = load_file('clean_checkpoint', HERE / 'checkpoint.py') + adapter = checkpoint.compose_clean + units = [c.ONE, (F(0), F(1)), (F(3, 5), F(4, 5)), + (F(-5, 13), F(12, 13))] + cases, nonzero_errors = [], 0 + for n in range(2, 9): + factors = [(i % 2 == 0, (F(1, 4), F((-1) ** i, 8)), + F(3) if i == 0 else F(1)) for i in range(n)] + for k in sorted({1, n // 2, n - 1}): + calls = 2 * leaves(k) + leaves(n - k) + depth = (max(k, n - k) - 1).bit_length() + for length, direction, dirt in itertools.product((1, 2, 5), (-1, 1), (0, 7)): + x0 = [(F(i % 5 - 2, 4), F(i % 3 - 1, 8)) for i in range(length)] + y0 = [(F(dirt + i, 4), F(dirt - i, 8)) for i in range(length)] + s0 = [[(F(dirt + 2 * i + j, 4), F(dirt - 3 * i - j, 8)) + for i in range(length)] for j in range(depth)] + phases = [units[(i * i + 3 * i + 1) % 4] for i in range(length)] + magnitude = max(abs(a) + abs(b) for v in [x0, y0] + s0 for a, b in v) + bits, bound = precision(calls, magnitude) + x, y, clean = x0[:], y0[:], [c.ZERO] * length + scratch = [v[:] for v in s0] + stats = dict(leaves=0, scalar_steps=0) + adapter(compose, c, x, y, factors, clean, scratch, phases, + F(1, 2), bits, direction, split=k, stats=stats) + need(x == x0 and scratch == s0 and clean == [c.ZERO] * length, + 'positive word restores source, scratch and checkpoint') + need(stats == dict(leaves=calls, scalar_steps=3 * length * calls), + 'observed leaf and scalar-step counts match recurrence') + need(checkpoint.plan(n, k)['leaf_calls'] == calls, + 'planner leaf count matches independent recurrence') + net = [c.sub(v, w) for v, w in zip(y, y0)] + exact = dense_operator(c, x0, factors, phases, direction) + error2 = max(c.norm2(c.sub(v, w)) for v, w in zip(net, exact)) + need(error2 <= bound ** 2, 'dense oracle error within inherited bound') + nonzero_errors += error2 > 0 + output = y[:] + adapter(compose, c, x, y, factors, clean, scratch, phases, + F(1, 2), bits, direction, split=k, sign=-1) + need(x == x0 and y == y0 and scratch == s0 and clean == [c.ZERO] * length, + 'negative word exactly inverts the positive word') + # From an arbitrary original target, the inverse has net -net. + adapter(compose, c, x, y, factors, clean, scratch, phases, + F(1, 2), bits, direction, split=k, sign=-1) + need([c.sub(v, w) for v, w in zip(y0, y)] == net, + 'standalone negative word has the opposite target increment') + need(x == x0 and scratch == s0 and clean == [c.ZERO] * length, + 'standalone negative word restores all auxiliary arrays') + shifted = [c.add(v, (F(11), F(-3))) for v in y0] + shifted0 = shifted[:] + adapter(compose, c, x, shifted, factors, clean, scratch, phases, + F(1, 2), bits, direction, split=k) + need([c.sub(v, w) for v, w in zip(shifted, shifted0)] == net, + 'target increment is independent of the initial target') + need(x == x0 and scratch == s0 and clean == [c.ZERO] * length, + 'shifted-target word restores all auxiliary arrays') + four = y0[:] + four_call(compose, x, four, factors, clean, scratch, phases, + bits, direction, k) + need(four == output and x == x0 and scratch == s0, + 'same-split four-call word has identical result and restoration') + need(clean == [c.ZERO] * length, 'four-call word restores checkpoint') + cases.append(dict(factors=n, split=k, length=length, + direction=direction, dirt=dirt, leaf_calls=calls, + dirty_arrays=depth, clean_arrays=1, bits=bits, + initial_magnitude=str(magnitude), + inherited_error_bound=str(bound))) + need(nonzero_errors > 0, 'finite cases must exercise nonzero rounding error') + return dict(status='passed', cases=cases, case_count=len(cases), + nonzero_rounding_error_cases=nonzero_errors, + checks=['dense rational oracle within inherited bound', + 'exact source, dirty scratch and clean restoration', + 'exact inverse and standalone negative word', + 'target independence', 'same-split four-call identity', + 'leaf and scalar-step counts'], + controls=controls(c, compose, adapter), + error_envelope=dict(N='actual three-call leaf count', + a='13*(r+1)/beta^3', G='2+r/beta', + beta='1/2', r=3, + formula='N*a*(D+1)*2^(-bits)*G^(N-1)', + precision_target='2^-32'), + scope='Finite evidence with pinned PR628 rounded leaves; inherited ' + 'leaf error estimates are assumed, not proved here. No supplier, ' + 'bit-reversible tape compiler, or multiplication theorem.') + + +if __name__ == '__main__': + print(json.dumps(run(), sort_keys=True, indent=2)) diff --git a/research/clean-checkpoint/test_package.py b/research/clean-checkpoint/test_package.py new file mode 100644 index 0000000000..ded2492142 --- /dev/null +++ b/research/clean-checkpoint/test_package.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +"""Portable-package and optimized-mode corruption controls (standard library).""" +import argparse +import json +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile + +HERE = Path(__file__).resolve().parent + + +def need(ok, why): + if not ok: + raise ValueError(why) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--work', type=Path, help='existing parent for temporary copies') + args = parser.parse_args() + with tempfile.TemporaryDirectory(prefix='checkpoint-controls-', dir=args.work) as temp: + copied = Path(temp) / 'relocated package with spaces' + shutil.copytree(HERE, copied, ignore=shutil.ignore_patterns('__pycache__')) + def run(marker, success): + result = subprocess.run([sys.executable, '-I', '-O', '-B', + str(copied/'verify.py')], + cwd=temp, capture_output=True, text=True) + output = result.stdout+result.stderr + need((result.returncode == 0) == success and marker in output, + 'unexpected subprocess result: '+output) + run('PASS_CLEAN_CHECKPOINT', True) + source = copied/'vendor/pr628-dirty.py' + original = source.read_bytes() + source.write_bytes(original+b'\n# corrupted source\n') + run('source SHA256', False) + source.write_bytes(original) + expected = copied/'EXPECTED.json' + original_receipt = expected.read_bytes() + data = json.loads(original_receipt) + data['selected']['leaf_calls'] -= 1 + expected.write_text(json.dumps(data)) + run('complete certificate mismatch', False) + expected.write_bytes(original_receipt) + adapter = copied/'checkpoint.py' + text = adapter.read_text() + guard = "need(all(v == c.ZERO for v in clean), 'checkpoint must initially be zero')" + need(text.count(guard) == 1, 'unique clean guard mutation site') + adapter.write_text(text.replace(guard, 'pass # deliberately removed clean guard')) + run('accepted interface control: dirty', False) + guard = "need(all(phases is not a for a in arrays), 'phase array must be distinct')" + need(text.count(guard) == 1, 'unique phase guard mutation site') + adapter.write_text(text.replace(guard, 'pass # deliberately removed phase guard')) + run('accepted interface control: phase_alias_0', False) + print('PASS_PACKAGE_CONTROLS: relocation; source, receipt, clean-guard and phase-guard corruptions rejected under -I -O') + + +if __name__ == '__main__': + main() diff --git a/research/clean-checkpoint/vendor/pr628-DIRTY-PROOF.md b/research/clean-checkpoint/vendor/pr628-DIRTY-PROOF.md new file mode 100644 index 0000000000..caf4aafc78 --- /dev/null +++ b/research/clean-checkpoint/vendor/pr628-DIRTY-PROOF.md @@ -0,0 +1,128 @@ +# Cyclic inverse shears with dirty array restoration + +This extends the classical rounded cyclic-inverse primitive of PR628. It removes +its need for a clean length-L intermediate array. It does not supply a common-label +Clifford realization, reversible bit arithmetic, transform layout, or the complete +integer-multiplication reduction. No new kappa follows from this lemma. + +## Contract + +Input x, target y and h borrowed arrays are complex dyadic grids of spacing u=2^-w. +Every array has length L>=1 and may initially contain arbitrary data. The arrays +are distinct. Their initial infinity norms are at most D. Read-only phases tau_i +have modulus one. Phase generation/storage and coefficient preparation are paid; +there is no free phase table. The primitive adds an approximation to Q(W)^-1 x +to y, restores x and every borrowed array exactly, and needs only a constant number +of clean scalar arithmetic registers besides loop counters and factor descriptors. +Here (Wx)_i=tau_i*x_(i-d), initially for d=+/-1 in a cyclic layout, and +Q(z)=r^-1 product_(j=1)^n(z-rho_j), n=r-1, with stable reciprocal/inner factors +of norm at most 1-beta. The final increment can depend on the initial dirt within +the stated approximation error. Exact independence of the increment from dirt is +not claimed for rounded arithmetic. + +## One factor + +First consider T x = y defined by y_i=x_i+b_i*y_(i-d), |b_i|<=1-beta. +Choose the cyclic order in direction d. Let z be the zero-boundary causal solution +and p_i the product of b from the first position through i. Let c be the complete +product. Then y_i=z_i+p_i*s, s=z_last/(1-c). The stable cyclic equation itself +implies ||y||<=B/beta when ||x||<=B, so |s|<=B/beta. + +On the dyadic grid, perform the causal pass directly in x, skipping the first +position: x_i += round(b_i*x_previous). These are integer lifts. Reversing their +order and subtracting the same rounded source products restores x exactly, +including arbitrary nonzero initial values. During the first pass also accumulate +the rounded scalar product c_hat. Compute s_hat=round(z_hat_last/(1-c_hat)). +In a second pass accumulate rounded prefix products p_hat_i and add +round(m_i*(z_hat_i+round(p_hat_i*s_hat))) to the appropriate target position. +Finally undo the causal lifts. Each target position is written exactly once; +its existing value never enters the computed increment. Scalar arithmetic and +coefficient scratch can be cleared classically; no reversible arithmetic gate +claim is made. Three passes suffice, excluding validation scans and paid +coefficient access. O(1) clean scalar words and O(log L) indexing bits suffice. + +Nearest complex rounding has norm error at most u. Assuming u<=beta^2/2, +|z_hat-z|<=u/beta, |p_hat-p|<=u/beta, |c_hat-c|<=u/beta, and +|1-c_hat|>=beta/2. Using s=z_last/(1-c), rather than separately bounding the +numerator and denominator, gives + + |s_hat-s| <= u + (2/beta)*(u/beta + (B/beta)*(u/beta)) + <= 5*(B+1)*u/beta^3. + +Also |p_hat|<=1+u/beta<=3/2. Hence the corrected output before m multiplication +has error at most 12*(B+1)*u/beta^3. If |m_i|<=r, the final rounded multiplication +has error at most a*(B+1)*u, a=13*(r+1)/beta^3. None of these constants depends +on L. + +For an outer root, b_i=rho^-1*tau_i, m_i=-rho^-1. For an inner root, scan in +direction -d with b_i=rho*conjugate(tau_(i+d)); the value at position i is +multiplied by conjugate(tau_i) and added at i-d. This is +(W-rho I)^-1=(I-rho W^-1)^-1 W^-1. The scalar r is included in one leaf's +multiplier. Each exact factor has operator norm at most K=r/beta. No permutation +of the mutable source array is required for the inner factor. + +## Product of factors + +For exact linear maps A,B and a dirty scratch array z, the sequence + + z += B*x; y += A*z; z -= B*x; y -= A*z + +adds AB*x to y and restores z. Split the factor list in halves recursively; +use one distinct borrowed array per recursion depth. A negative call executes +the exact inverse instruction word (reverse operation order and invert signs). +It is not obtained by negating signs in the original order. + +The rounded construction still restores every borrowed array and x exactly. +Inductively each call preserves its input and all deeper scratch, and its increment +is independent of its target. The paired calls computing B therefore see the same +input and deeper initial dirt. Never use an ancestor input or target as deeper +scratch: the ancestor target may have changed between the paired calls. This is +an explicit alias exclusion in the executable contract. + +There are h=ceil(log2 n) borrowed arrays and at most N=4*n^2 leaf calls. Pad to the +next power of two for this count if desired (identity leaves require no rounded +inverse). The implementation splits without padding and checks the actual count. + +For the ideal elementary shears, the joint max norm grows by at most C=1+K per +leaf. With a*u<=1 the computed trajectory satisfies + + M_j+1 <= G^j*(D+1), G=C+1. + +Comparing the complete rounded word with the ideal word on the same initial +arrays, and summing the propagated leaf errors, gives + + E_N <= N*a*(D+1)*u*G^(N-1). + +The ideal word cancels all borrowed initial data exactly. This proves the target +error bound for every length and every initial dirt bounded by D, while actual +restoration is exact without an error allowance. Choosing + + w >= p+1+ceil(log2(N*a*(D+1)))+(N-1)*ceil(log2 G) + +and enforcing a*u<=1 and u<=beta^2/2 gives execution error <=2^(-p-1). +PR628's coefficient/phase perturbation bound, budgeted to <=2^(-p-1) for the +original x, then gives total <=2^-p. That perturbation bound scales with ||x||; +for general input bound X use p+ceil(log2(max(1,X))) in its preparation budget. +The initial borrowed dirt does not enter the ideal operator perturbation bound. + +PR628 has log2(beta^-1)=O(r^3). Therefore these deliberately loose budgets need +w=O(p+log(D+1)+r^5) bits, and O(r^2) passes. Inside a leaf, the causal state and closure scalars add at most another +O(log(beta^-1)+log r) magnitude bits. Maximum transient magnitudes thus add +O(log(D+1)+r^5) integer bits, already covered by this word-size bound. Standard +fast fixed-precision arithmetic yields soft-O((L*r^2+r^3)*(p+log(D+1)+r^5)) +bit work plus charged phase-oracle and routing costs. Factor preparation and +coefficient enclosures are inherited from PR628. Borrowed storage is +O(L log r) words; clean arithmetic storage is O(w+log L) bits up to the chosen +multiplication implementation's workspace, plus O(r) read-only factor descriptors. +A machine with only a fixed number of dirty data arrays is not covered by this +contract. Arbitrary stride still incurs PR628's explicitly charged routing. + +## Executable evidence + +`dirty.py` uses exact rational arithmetic and explicit nearest dyadic rounding. +It checks generic variable-coefficient leaves, dense independently assembled +factor inverses, both orientations, nonzero targets, several initial dirty arrays, +exact source/scratch restoration, exact whole-word inversion, and the leaf count. +Finite checks support the implementation; the inequalities above are the all-L +argument. The exact-rational prototype does not itself implement the claimed +fast fixed-precision arithmetic cost. diff --git a/research/clean-checkpoint/vendor/pr628-NOTICE.md b/research/clean-checkpoint/vendor/pr628-NOTICE.md new file mode 100644 index 0000000000..22fbeb8ef0 --- /dev/null +++ b/research/clean-checkpoint/vendor/pr628-NOTICE.md @@ -0,0 +1,24 @@ +# Attribution and scope + +Ali Romman's PR621, exact head 520774462b19b29af41554b74def31f9d01e997e, +supplies the prime-power kernel circle bound. Its kernel attribution is +OpenAI's exact-DFT preprint at adc7f1241b42e322a6451854ab7e4b4c146bf78a +(`loc:newton`, `loc:fourier-factorization`) and classical q-Pochhammer/Newton +factorization, including Alexey Kuznetsov's cited q-calculus work. This +package does not claim to originate those constructions. + +Pan's approximate-factorization theorem is used in the form stated by +Mehlhorn, Sagraloff and Wang; Brent's work supplies fast elementary-function +evaluation. Causal/anticausal recursive filtering is standard, as illustrated +by the Briand-Davy source listed in SOURCE.json. Sources are cited for these +specific tools, not as proofs of this package's complete claim. + +The scan rounding analysis, explicit budget composition, interval and +factor certificates, routed reference execution, and packaging were +prepared with substantial OpenAI Codex assistance for chafreaky. The dense +matrix solver and algebraic coefficient crosschecks provide independent +computational paths, not human peer review or formal Lean verification. + +No new multiplication exponent, literature priority, maintainer acceptance, +physical tape execution, or production performance result is claimed. +The code and documents use the repository's Apache-2.0 license. diff --git a/research/clean-checkpoint/vendor/pr628-dirty.py b/research/clean-checkpoint/vendor/pr628-dirty.py new file mode 100644 index 0000000000..2b94710837 --- /dev/null +++ b/research/clean-checkpoint/vendor/pr628-dirty.py @@ -0,0 +1,133 @@ +"""Integer lifting for cyclic inverse shears using borrowed dirty arrays. +Exact rational prototype. Arithmetic workspace and phase access are charged in the proof; +this is not a common-label Clifford word or a bit-reversible arithmetic compiler. +""" +from pathlib import Path +from fractions import Fraction as F +import importlib.util,json,argparse,itertools +P=Path(__file__).resolve().parent +s=importlib.util.spec_from_file_location('weighted',P/'weighted.py');w=importlib.util.module_from_spec(s);s.loader.exec_module(w);c=w.c + +def scaled(z,q):return(z[0]*q,z[1]*q) +def conj(z):return(z[0],-z[1]) +def ordered(n,d):return range(n)if d==1 else range(n-1,-1,-1) + +def lift(x,y,coefficient,beta,bits,d,sign=1,destination=None,multiplier=None,stats=None): + """y += sign*F(x), restoring x exactly; no length-dependent clean data array.""" + n=len(x);c.need(x is not y and n==len(y)>0,'distinct equally sized arrays') + c.need(d in(-1,1)and sign in(-1,1),'orientation and sign') + c.need(0=(beta/2)**2,'closure denominator') + seed=c.rounded(c.div(x[previous],denominator),bits) + power=c.ONE + for i in ordered(n,d): + power=c.rounded(c.mul(coefficient(i),power),bits) + value=c.add(x[i],c.rounded(c.mul(power,seed),bits)) + value=c.rounded(c.mul(multiplier(i),value),bits) + j=destination(i);y[j]=c.add(y[j],scaled(value,sign)) + # The scalar seed and coefficient scratch may be cleared by ordinary classical + # arithmetic. The dirty data itself is restored by exact inverse integer lifts. + first=0 if d==1 else n-1 + for i in ordered(n,-d): + if i!=first:x[i]=c.sub(x[i],c.rounded(c.mul(coefficient(i),x[i-d]),bits)) + if stats is not None:stats['leaves']+=1;stats['scalar_steps']+=3*n + +def leaf(x,y,factor,phases,beta,bits,d,sign,stats): + inside,b,scale=factor;n=len(x) + if inside: + lift(x,y,lambda i:c.mul(b,conj(phases[(i+d)%n])),beta,bits,-d,sign, + lambda i:(i-d)%n,lambda i:scaled(conj(phases[i]),scale),stats) + else: + lift(x,y,lambda i:c.mul(b,phases[i]),beta,bits,d,sign, + multiplier=lambda i:scaled(c.neg(b),scale),stats=stats) + +def compose(x,y,factors,scratch,phases,beta,bits,d,sign=1,stats=None): + """Balanced commutator; negative call is the exact inverse instruction word.""" + c.need(sign in(-1,1)and d in(-1,1),'orientation and sign') + c.need(factors and len(scratch)>=(len(factors)-1).bit_length(),'dirty depth') + arrays=[x,y]+scratch;c.need(len({id(v)for v in arrays})==len(arrays),'all ancestor arrays distinct') + c.need(len(x)>0 and all(len(v)==len(x)for v in arrays)and len(phases)==len(x),'array lengths') + c.need(all(c.norm2(t)==1 for t in phases),'unit phases') + if len(factors)==1:return leaf(x,y,factors[0],phases,beta,bits,d,sign,stats) + mid=len(factors)//2;B,A=factors[:mid],factors[mid:];z=scratch[0];rest=scratch[1:] + operations=[(x,z,B,1),(z,y,A,1),(x,z,B,-1),(z,y,A,-1)] + if sign==-1:operations=[(src,dst,fs,-sgn)for src,dst,fs,sgn in reversed(operations)] + for src,dst,fs,sgn in operations:compose(src,dst,fs,rest,phases,beta,bits,d,sgn,stats) + +def exact_operator(x,factors,phases,d): + # Dense rational oracle constructed independently from the lifting recurrence. + n=len(x);out=x[:] + for inside,b,scale in factors: + a=[[c.ZERO for _ in range(n)]for _ in range(n)] + if inside: + for i in range(n):a[i][i]=c.neg(b);a[i][(i-d)%n]=c.add(a[i][(i-d)%n],phases[i]) + else: + rho=c.div(c.ONE,b) + for i in range(n):a[i][i]=c.neg(rho);a[i][(i-d)%n]=c.add(a[i][(i-d)%n],phases[i]) + out=[scaled(z,scale)for z in w.solve(a,out)] + return out + +def certificate(n,beta,r,D,bits): + N=4*n*n;a=13*(r+1)/beta**3;G=2+F(r)/beta;u=F(1,1< 0, 'empty cycle') + need(direction in (-1, 1), 'invalid direction') + need(0 < beta <= 1, 'invalid margin') + need(norm2(b) <= (1-beta)**2, 'uncertified stable factor') + u = F(1, 1 << bits) + need(u <= beta*beta/2, 'precision too low for closure') + order = list(range(len(x))) if direction == 1 else list(reversed(range(len(x)))) + z, power = ZERO, ONE + for i in order: + z = rounded(add(x[i], mul(b, z)), bits) + power = rounded(mul(b, power), bits) + den = sub(ONE, power) + need(norm2(den) >= (beta/2)**2, 'closure lower bound failed') + seed = rounded(div(z, den), bits) + y, previous = [ZERO]*len(x), seed + for i in order: + previous = rounded(add(x[i], mul(b, previous)), bits) + y[i] = previous + return y + +def dense_solve(x, b, direction): + """Independent exact Gaussian elimination on the cyclic matrix.""" + n = len(x) + a = [[ZERO for _ in range(n)] + [x[i]] for i in range(n)] + for i in range(n): + a[i][i] = add(a[i][i], ONE) + j = (i-direction) % n + a[i][j] = sub(a[i][j], b) + for k in range(n): + pivot = next(i for i in range(k, n) if a[i][k] != ZERO) + a[k], a[pivot] = a[pivot], a[k] + p = a[k][k] + a[k] = [div(v, p) for v in a[k]] + for i in range(n): + if i == k: continue + p = a[i][k] + a[i] = [sub(v, mul(p, w)) for v, w in zip(a[i], a[k])] + return [row[-1] for row in a] + +def residual_bound(x, y, b, beta, direction, bound): + # Neumann inverse norm <= 1/beta converts residual to forward error. + for i in range(len(x)): + residual = sub(sub(y[i], mul(b, y[(i-direction) % len(x)])), x[i]) + need(norm2(residual) <= (beta*bound)**2, 'residual error bound failed') + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + cases = [] + for beta in (F(1, 2), F(1, 16), F(1, 4096)): + for unit in (ONE, (F(-1), F(0)), (F(3, 5), F(4, 5))): + b = mul((1-beta, F(0)), unit) + for n in (1, 2, 3, 8, 17, 64): + x = [(F((i*7)%13-6, 8), F((i*11)%17-8, 16)) for i in range(n)] + B = max(abs(v[0])+abs(v[1]) for v in x) + for direction in (-1, 1): + bits = 64 + bound = 6*(B+1)*F(1, 1 << bits)/beta**3 + y = scan(x, b, beta, bits, direction) + residual_bound(x, y, b, beta, direction, bound) + if n <= 8: + exact = dense_solve(x, b, direction) + need(all(norm2(sub(v,w)) <= bound**2 for v,w in zip(y,exact)), 'dense comparison failed') + cases.append(dict(beta=str(beta), b=[str(v) for v in b], length=n, + direction=direction, bits=bits, forward_error_bound=str(bound), + dense_crosscheck=n<=8, residual_check=True)) + controls = [] + for name, x, b, beta, bits, direction in ( + ('unstable', [ONE], ONE, F(1,2), 64, 1), + ('underprecision', [ONE], (F(15,16),F(0)), F(1,16), 3, 1), + ('empty', [], ZERO, F(1,2), 64, 1), + ('bad_direction', [ONE], ZERO, F(1,2), 64, 0), + ): + try: scan(x,b,beta,bits,direction) + except ValueError as error: controls.append(dict(name=name,rejected=str(error))) + else: raise ValueError('negative control accepted: '+name) + x = [ONE, ZERO, ONE] + b, beta = (F(1,2),F(0)), F(1,2) + y = scan(x,b,beta,64,1) + y[0] = add(y[0],ONE) + try: residual_bound(x,y,b,beta,1,F(1,1<<40)) + except ValueError as error: controls.append(dict(name='corrupt_output',rejected=str(error))) + else: raise ValueError('corrupt output accepted') + args.out.write_text(json.dumps(dict(status='passed',cases=cases,controls=controls),indent=2)+'\n') + print(json.dumps(dict(status='passed',cases=len(cases),dense_cases=sum(c['dense_crosscheck'] for c in cases),controls=len(controls)))) + +if __name__ == '__main__': main() diff --git a/research/clean-checkpoint/vendor/pr663-NOTICE.md b/research/clean-checkpoint/vendor/pr663-NOTICE.md new file mode 100644 index 0000000000..f70d712289 --- /dev/null +++ b/research/clean-checkpoint/vendor/pr663-NOTICE.md @@ -0,0 +1,26 @@ +# Attribution, license and assistance + +Prepared for GitHub contributor **@0xkilgore**, with substantial **OpenAI Codex** +assistance. Codex drafted the independent verifier, proof, evidence and packaging; +a separate Codex agent independently derived the restoration and call-count +arguments and checked the error-budget substitution. This is AI-assisted review, +not independent human peer review. + +The rounded dirty cyclic inverse, balanced commutator, its restoration contract, +and the original conservative error budget are from **Chafik Boukhalfa +(@chafreaky), PR628**, at `0768f97d06c623b8211e651543c66135796b62bf`. +`vendor/pr628_dirty.py` preserves the submitted `dirty.py` bytes. Its author's +own substantial OpenAI Codex assistance disclosure is retained verbatim in +`vendor/PR628-NOTICE.md`. The audit does not claim to originate that construction. + +The analytic context retains **Ali Romman's PR621** at +`520774462b19b29af41554b74def31f9d01e997e`, OpenAI's exact-DFT preprint at +`adc7f1241b42e322a6451854ab7e4b4c146bf78a`, and the classical +Newton/q-Pochhammer factorization cited there (including Alexey Kuznetsov). +These analytic results are not premises of the abstract restoration identity. +The current accepted construction's cumulative community attribution and +selected certificate are unchanged. + +All new code and text use the repository's **Apache-2.0** license. Vendored +PR628 code retains its Apache-2.0 provenance and notice. No priority claim, +new multiplication saving, or completed physical implementation is asserted. diff --git a/research/clean-checkpoint/vendor/pr663-README.md b/research/clean-checkpoint/vendor/pr663-README.md new file mode 100644 index 0000000000..aeed8aeb26 --- /dev/null +++ b/research/clean-checkpoint/vendor/pr663-README.md @@ -0,0 +1,214 @@ +# Independent audit: PR628's balanced dirty commutator + +**Result:** the pinned commutator restores its input and borrowed arrays under +its stated leaf contract, including nonlinear rounded leaves. No defect was +found in this scoped obligation. Its exact leaf count is + +\[ + C(n)=3qn-2q^2<\frac98n^2,\qquad q=2^{\lfloor\log_2n\rfloor}. +\] + +This tightens the submitted allowance `4*n*n` without changing the instruction +word, and can replace that allowance in the execution-error budget. It does +not change the asymptotic precision order or establish a new multiplication +exponent. The constant `9/8` is the sharp supremum for this splitting rule. + +The contribution adds an independent free-term audit of the **actual pinned +recursive dispatcher**, a written all-`n` argument, and exact accounting. +PR628 already supplies dense rational accuracy comparisons and instruction +mutations. This audit's different evidence is that leaf functions are left +uninterpreted: they need not be linear, continuous, zero-preserving, or close +to a linear map for the restoration check. A second engine checks the intended +product in a free noncommutative algebra, without assuming that factors commute. +No literature-priority claim is made for the commutator or recurrence. + +Interpreting input generators as initial arrays and function atoms as deterministic +leaf outputs preserves every symbolic cancellation. Thus each checked symbolic +identity holds for every such leaf instantiation at that tested factor count. + +## Reproduce + +From the repository root, with Python 3.9+ and no third-party packages: + +```sh +python3 -B research/dirty-commutator-audit/verify.py --check +``` + +Expected output: + +```text +PASS: 64 symbolic words; 10000 recurrence cases; 7 rejected controls; nonlinear dirt counterexample. n=62: 3904 leaves, 6 scratch arrays. +``` + +The command authenticates the vendored source and compares its complete result +with [EXPECTED.json](EXPECTED.json). `--write /tmp/dirty-audit.json` writes a +new certificate. The checker uses explicit exceptions; checks remain enabled +under optimized Python. It does not import or execute the producer's arithmetic, +root preparation, matrix solver, or top-level module initialization. It extracts +only `compose` from the pinned Python AST and intercepts leaf operations. + +## Mathematical obligation and proof + +Let a primitive on distinct arrays `x,y` add a deterministic function `F(x)` to +`y`, restore `x` exactly, and have a target-independent increment. Its negative +call must implement the exact inverse. Coefficients, phases, and any other +read-only parameters must remain fixed between paired calls. Arrays below are +elements of an abelian group; rounded dyadic arrays satisfy this requirement. + +For a recursive child let `F(x;t)` denote its increment, where `t` contains +the deeper scratch arrays' **initial** contents. Inductively assume it restores +`x,t` and does not depend on its initial target. The parent performs + +```text +z += B(x;t) +y += A(z;t) +z -= B(x;t) +y -= A(z;t) +``` + +Every child restores its deeper scratch. The paired `B` calls see identical +`x,t`, so `z` returns to its initial value `z0`. The net increment is + +\[ + F_n(x;z_0,t)=A(z_0+B(x;t);t)-A(z_0;t). +\] + +It is independent of the initial `y`; all other arrays are restored exactly. +This proves the recursive contract by induction, **without linearity**. With +linear ideal factors, the same induction gives exactly `A B x`, with no +dependence on the initial scratch. The factor list executes in list order, +so the resulting operator is `F_(n-1) ... F_1 F_0`. + +The inverse word reverses the whole instruction sequence and inverts every +sign. The pinned `compose` does this at each recursive call. Just negating signs +in their original order is invalid: for `B(x)=x`, `A(z)=z^2`, and `x=z0=1`, the +positive increment is `3`, the true inverse increment is `-3`, and same-order +sign negation gives `+1`. + +All source, target and scratch arrays must be pairwise distinct. In particular, +an ancestor target cannot be borrowed as deeper scratch: it can change between +the paired calls. The pinned implementation explicitly enforces this exclusion. + +Exact restoration does **not** imply independence from initial scratch for +nonlinear leaves. The same two-factor example with `x=1` gives increments `1` +and `3` at `z0=0` and `z0=1`, respectively, while restoring the source and scratch +in both executions. This concrete example corroborates PR628's stated caveat; +it is not a counterexample to that PR's claim. + +## Complete call recurrence + +Count all forward and inverse primitive leaf calls, without cancellation or +special treatment of identity factors. The exact recurrence is + +\[ + C(1)=1,\qquad C(n)=2C(\lfloor n/2\rfloor)+2C(\lceil n/2\rceil). +\] + +Write `q=2^k <= n < 2q`. Repeated balanced splitting gives `2q-n` ordinary +factor-tree leaves at depth `k` and `2n-2q` at depth `k+1`. To see that these are +the only depths, after `k` splits the group sizes are one or two; each group +of size two splits once more. Each descent in the commutator doubles a factor +leaf's execution multiplicity. Therefore + +\[ + C(n)=(2q-n)q+(2n-2q)2q=3qn-2q^2. +\] + +The exact identity + +\[ + \frac98n^2-C(n)=\frac{(3n-4q)^2}{8} +\] + +proves the strict upper bound: `3n=4q` is impossible for integer `n` when `q` +is a power of two. Along the integers nearest `4q/3`, the square is `1`, so +`C(n)/n^2` tends to `9/8`. The recursion uses exactly +`ceil(log2(n))` distinct scratch arrays, with zero when `n=1`. + +| Factor count | Exact leaf calls | Submitted allowance `4n²` | Scratch arrays | +| ---: | ---: | ---: | ---: | +| 1 | 1 | 4 | 0 | +| 3 | 10 | 36 | 2 | +| 7 | 52 | 196 | 3 | +| 15 | 232 | 900 | 4 | +| 31 | 976 | 3844 | 5 | +| 62 | 3904 | 15376 | 6 | +| 63 | 4000 | 15876 | 6 | +| 64 | 4096 | 16384 | 6 | + +The seed-selected `n=62` case tests the generic dispatcher. It does not assert +a prime-power kernel at radix 63. The neighboring `n=63` case is the factor +count for a radix-64 kernel. + +## Consequence for the inherited execution-error budget + +Retain PR628's assumptions on **both signs** of each leaf: ideal operator norm +at most `K=r/beta`, and local error at most `a*u*(B+1)`, where +`a=13*(r+1)/beta^3`, `u=2^-w`, and `B` bounds the source norm. Let `M_j` be +the maximum array norm after `j` completed leaves and `D` its initial bound. +Under `a*u <= 1`, with `G=2+K`, + +\[ + M_{j+1}\le(1+K)M_j+au(M_j+1),\qquad + M_j+1\le G^j(D+1). +\] + +The second expression means **one plus `M_j`**, not the next indexed norm. +If `e_j` compares computed and ideal completed-leaf states, then + +\[ + e_{j+1}\le(1+K)e_j+auG^j(D+1),\qquad + e_N\le Na(D+1)uG^{N-1}. +\] + +Thus the submitted sufficient execution precision remains valid with the +**exact** `N=C(n)`: + +\[ + w\ge p+1+\lceil\log_2(Na(D+1))\rceil + +(N-1)\lceil\log_2G\rceil, +\] + +together with `a*u<=1` and `u<=beta^2/2`. This is an implication conditional +on the inherited leaf estimates, not a new audit of those estimates. It gives +execution error at most `2^(-p-1)`; coefficient/phase preparation must still +supply the other half of the total error budget, scaled to the original input. +The existing `O(p+log(D+1)+r^5)` precision and `O(r^2)` pass orders remain. +This package does not modify PR628's generator or its certificates. + +## Evidence, coverage and limits + +- **Exact symbolic checks, `1 <= n <= 64`:** source/scratch restoration, + target independence, whole-word inversion, equality of pinned and independently + compiled instruction traces, and the noncommuting ideal linear product. +- **Exact integer checks, `1 <= n <= 10000`:** recursive and closed counts agree, + and the sharp-envelope square identity holds. +- **Seven negative controls:** omitted final subtraction, omitted scratch + restoration, missing inverse reversal, borrowing an ancestor source or target, + reusing a scratch depth, and insufficient scratch depth. +- **Nonlinear example:** exact dirty restoration with different target increments + for two initial scratch values. + +The finite symbolic replay checks these concrete instruction words in an exact +term model; it is not a formal proof of the all-`n` theorem. The induction above +is the written all-`n` argument, independently reviewed by another Codex agent. +No human peer review, Lean certification, or full multiplication theorem follows. +The actual rounded leaf's accuracy and restoration, preparation complexity, +phase access, bit arithmetic, routing, and full-transform composition retain +their separate obligations. Selected supplier assumptions remain unchanged. + +This is a bounded audit, not a parameter search. There is no random search: +seed 62 selected the object and uneven-split case; the enumerations above were +completed in full with no adaptive early stop. + +## Pins and attribution + +Repository base: `66849e1475c930fd7732b1a0067ffee7e1e95f60`. Subject: +[Chafik Boukhalfa's PR628](https://github.com/CrocSwap/integer-mult-bounds/pull/628), +head `0768f97d06c623b8211e651543c66135796b62bf`, specifically +[`DIRTY-PROOF.md`](https://github.com/CrocSwap/integer-mult-bounds/blob/0768f97d06c623b8211e651543c66135796b62bf/research/prime-power-cyclic-scan/DIRTY-PROOF.md) +and [`dirty.py`](https://github.com/CrocSwap/integer-mult-bounds/blob/0768f97d06c623b8211e651543c66135796b62bf/research/prime-power-cyclic-scan/dirty.py). +The latter is retained byte-for-byte for offline replay. SHA-256 pins, +the accepted-frontier snapshot, and analytic predecessor information are in +[SOURCE.json](SOURCE.json). [CLAIM.md](CLAIM.md) records track selection and overlap +review. See [NOTICE.md](NOTICE.md) for source credits and assistance disclosure. diff --git a/research/clean-checkpoint/vendor/pr673-phase-alias-guard.patch b/research/clean-checkpoint/vendor/pr673-phase-alias-guard.patch new file mode 100644 index 0000000000..6323498dfb --- /dev/null +++ b/research/clean-checkpoint/vendor/pr673-phase-alias-guard.patch @@ -0,0 +1,10 @@ +--- a/research/prime-power-cyclic-scan/dirty.py ++++ b/research/prime-power-cyclic-scan/dirty.py +@@ -53,6 +53,7 @@ + c.need(sign in(-1,1)and d in(-1,1),'orientation and sign') + c.need(factors and len(scratch)>=(len(factors)-1).bit_length(),'dirty depth') + arrays=[x,y]+scratch;c.need(len({id(v)for v in arrays})==len(arrays),'all ancestor arrays distinct') ++ c.need(all(phases is not v for v in arrays),'phase array aliases mutable data') + c.need(len(x)>0 and all(len(v)==len(x)for v in arrays)and len(phases)==len(x),'array lengths') + c.need(all(c.norm2(t)==1 for t in phases),'unit phases') + if len(factors)==1:return leaf(x,y,factors[0],phases,beta,bits,d,sign,stats) diff --git a/research/clean-checkpoint/verify.py b/research/clean-checkpoint/verify.py new file mode 100644 index 0000000000..c29cc149f4 --- /dev/null +++ b/research/clean-checkpoint/verify.py @@ -0,0 +1,230 @@ +#!/usr/bin/env python3 +"""Exact bounded replay of a clean root checkpoint; see README and PROOF. + +No third-party dependencies. Checks remain active under python -O. +""" +import argparse +import ast +from collections import Counter +from functools import lru_cache +import hashlib +import importlib.util +import json +from pathlib import Path +from types import SimpleNamespace + +HERE = Path(__file__).resolve().parent + + +def module(name): + spec = importlib.util.spec_from_file_location(name, HERE / (name + '.py')) + out = importlib.util.module_from_spec(spec) + spec.loader.exec_module(out) + return out + + +cp = module('checkpoint') +need = cp.need + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def sources(): + record = json.loads((HERE / 'SOURCE.json').read_text()) + for entry in record['sources']: + data = (HERE / entry['path']).read_bytes() + need(digest(data) == entry['sha256'], 'source SHA256: ' + entry['path']) + blob = b'blob ' + str(len(data)).encode() + b'\0' + data + need(hashlib.sha1(blob).hexdigest() == entry['git_blob'], + 'source Git blob: ' + entry['path']) + return record + + +def inverse(word): + return [(f, x, y, -s) for f, x, y, s in reversed(word)] + + +def reference(fs, x, y, scratch): + if len(fs) == 1: + return [(fs[0], x, y, 1)] + k = len(fs) // 2 + a = reference(fs[:k], x, scratch[0], scratch[1:]) + b = reference(fs[k:], scratch[0], y, scratch[1:]) + return a + b + inverse(a) + inverse(b) + + +def pinned_namespace(): + tree = ast.parse((HERE / 'vendor/pr628-dirty.py').read_text()) + defs = [n for n in tree.body if isinstance(n, ast.FunctionDef) + and n.name == 'compose'] + need(len(defs) == 1, 'unique pinned dispatcher') + ns = {'c': SimpleNamespace(need=need, norm2=lambda t: t*t, ZERO=0)} + exec(compile(ast.Module(body=defs, type_ignores=[]), 'pinned-compose', 'exec'), ns) + return ns + + +def trace(ns, n, k, sign=1, mutation=None): + p = cp.plan(n, k) + arrays = [[0] for _ in range(3 + p['dirty_arrays'])] + if mutation == 'dirty': + arrays[2][0] = 1 + if mutation == 'source_alias': + arrays[2] = arrays[0] + if mutation == 'target_alias': + arrays[-1] = arrays[1] + if mutation == 'shortage': + arrays.pop() + phases = [1] + if mutation and mutation.startswith('phase_alias_'): + role = int(mutation.rsplit('_', 1)[1]) + phases = arrays[role] + phases[:] = [1] + labels = {id(a): i for i, a in enumerate(arrays)} + word = [] + def leaf(x, y, f, phases, beta, bits, d, s, stats): + word.append((f, labels[id(x)], labels[id(y)], s)) + ns['leaf'] = leaf + cp.compose_clean(ns['compose'], ns['c'], arrays[0], arrays[1], + list(range(n)), arrays[2], arrays[3:], phases, 1, 1, 1, + split=k, sign=sign) + return word + + +def initial(size, clean=True): + return [{} if clean and i == 2 else {(i, ()): 1} for i in range(size)] + + +def replay(word, state): + """Free noncommutative linear operators on independent initial columns.""" + result = [dict(v) for v in state] + for f, x, y, s in word: + for (variable, monomial), a in list(result[x].items()): + key = variable, (f,) + monomial + value = result[y].get(key, 0) + s * a + if value: + result[y][key] = value + else: + result[y].pop(key, None) + return result + + +@lru_cache(None) +def recursive_count(n): + return 1 if n == 1 else 2 * (recursive_count(n//2) + recursive_count(n-n//2)) + + +def run(): + src = sources() + ns = pinned_namespace() + plans, candidates = [], 0 + for n in range(2, 257): + need(recursive_count(n) == cp.dirty_count(n), 'inherited count') + costs = [2*recursive_count(k)+recursive_count(n-k) for k in range(1, n)] + candidates += len(costs) + optimum = min(costs) + winners = [k for k in range(1, n) if costs[k-1] == optimum] + p = cp.plan(n) + need(p['optimal_splits'] == [winners[0], winners[-1]], 'optimal interval') + need(winners == list(range(winners[0], winners[-1]+1)), 'no hidden gaps') + need(p['leaf_calls'] == optimum, 'minimum cost') + need(1+p['dirty_arrays'] == p['balanced_dirty_arrays'], 'total array count') + need(5*optimum >= 3*recursive_count(n), 'three-fifths bound') + need(4*optimum <= 3*recursive_count(n), 'three-quarters bound') + plans.append(p) + algebra = [] + cases = [(n, k) for n in range(2, 33) for k in range(1, n)] + cases += [(54, cp.plan(54)['split']), (63, cp.plan(63)['split'])] + for n, k in cases: + p = cp.plan(n, k) + size = 3 + p['dirty_arrays'] + word = trace(ns, n, k) + a = reference(list(range(k)), 0, 2, list(range(3, size))) + b = reference(list(range(k, n)), 2, 1, list(range(3, size))) + need(word == a+b+inverse(a), 'pinned vs independent compiler') + need(len(word) == p['leaf_calls'], 'all forward and reverse calls priced') + state = initial(size) + expected = initial(size) + expected[1][(0, tuple(reversed(range(n))))] = 1 + actual = replay(word, state) + need(actual == expected, 'noncommuting product / all dirty columns restored') + neg = trace(ns, n, k, -1) + need(neg == inverse(word), 'inverse chronology') + need(replay(neg, actual) == state, 'exact inverse') + need(replay(a+b+inverse(a)+inverse(b), state) == actual, + 'same-split omitted zero-source cancellation') + # Nonuniform leaf weights are recounted from the actual emitted word; + # the unit-weight optimum is not asserted for this weighted bill. + counts = Counter(f for f, _, _, _ in word) + wa = sum(1+f%7 for f, _, _, _ in a) + wb = sum(1+f%7 for f, _, _, _ in b) + need(sum(counts[f]*(1+f%7) for f in counts) == 2*wa+wb, 'weighted bill') + algebra.append(dict(n=n, split=k, leaves=len(word), + trace_sha256=digest(json.dumps(word).encode()))) + controls = [] + for name in ('dirty', 'source_alias', 'target_alias', 'shortage', + 'phase_alias_0', 'phase_alias_1', 'phase_alias_2', + 'phase_alias_3', 'phase_alias_4'): + try: + trace(ns, 7, 3, mutation=name) + except ValueError as error: + if name.startswith('phase_alias_'): + need(str(error) == 'phase array must be distinct', 'wrong phase rejection') + controls.append(name) + else: + raise ValueError('accepted interface control: ' + name) + n, k = 7, 3 + p = cp.plan(n, k) + size = 3+p['dirty_arrays'] + a = reference(list(range(k)), 0, 2, list(range(3, size))) + b = reference(list(range(k, n)), 2, 1, list(range(3, size))) + word = a+b+inverse(a) + state = initial(size) + good = replay(word, state) + mutants = { + 'omitted_checkpoint_restoration': a+b, + 'wrong_product_order': [(n-1-f,x,y,s) for f,x,y,s in word], + } + for name, mutant in mutants.items(): + actual = replay(mutant, state) + need(actual != good, 'vacuous mutation: ' + name) + controls.append(name) + # An even two-factor product detects same-order sign inversion. For an + # odd-length ideal product that mutation can accidentally give the inverse. + short_word = trace(ns, 2, 1) + short_state = initial(3) + short_good = replay(short_word, short_state) + wrong_inverse = [(f,x,y,-s) for f,x,y,s in short_word] + need(replay(wrong_inverse, short_good) != short_state, 'wrong inverse control') + controls.append('wrong_inverse_chronology') + need(replay(word, initial(size, clean=False))[1] != good[1], 'dirty counterexample') + controls.append('dirty_checkpoint_leaks_to_target') + need(len(a)+len(b) != len(word), 'unpaid inverse control') + controls.append('unpaid_inverse_count') + rounded = module('rounded_check').run() + return dict(status='PASS_CLEAN_CHECKPOINT', assignment_seed=54, + base_commit=src['base_commit'], source_pins=src['sources'], + root_search=dict(min_n=2, max_n=256, candidates=candidates, + stopping_rule='all interior root splits; balanced subtrees'), + plans=plans, noncommutative_cases=algebra, + controls=controls, rounded=rounded, + selected=cp.plan(54), + scope='Paid clean root only; no new kappa, global scheduler optimum, or full theorem') + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--write', type=Path, help='write a fresh receipt instead of checking EXPECTED') + args = parser.parse_args() + result = run() + if args.write: + args.write.write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + else: + need(result == json.loads((HERE/'EXPECTED.json').read_text()), 'complete certificate mismatch') + print('PASS_CLEAN_CHECKPOINT: 32640 splits; 498 noncommutative cases; ' + 'n=54: 3136 -> 2112 leaves, 1 clean + 5 dirty arrays') + + +if __name__ == '__main__': + main()