diff --git a/research/paired-query-only-bit/EFREE-CALLER.json.gz b/research/paired-query-only-bit/EFREE-CALLER.json.gz new file mode 100644 index 0000000000..f022272a8d Binary files /dev/null and b/research/paired-query-only-bit/EFREE-CALLER.json.gz differ diff --git a/research/paired-query-only-bit/EFREE-RESULT.json b/research/paired-query-only-bit/EFREE-RESULT.json new file mode 100644 index 0000000000..575f76487f --- /dev/null +++ b/research/paired-query-only-bit/EFREE-RESULT.json @@ -0,0 +1,19787 @@ +{ + "status": "PASS_PAIRED_EFREE_BIT_EXISTING_00385248", + "ordinary_admitted": "12039/3125000", + "previous_ordinary": "17/5000", + "ordinary_gain": null, + "existing_same_profile_ordinary": "12039/3125000", + "raw_tested": "385253/100000000", + "raw_crossing": [ + "19262696967/5000000000000", + "7705078787/2000000000000" + ], + "covered_saving": "19262649/5000000000", + "caller_sha256": "757b3523798f840bdb02028b23708c3416627a99ea09e7a3c4bcdc5cd0c7ce4b", + "native_source_sha256": "51203e7fc75ba10bd3ac3f8e675759f47e13d262bea66b6600d1e515095cad78", + "source_pins": { + "bit": "435bbe91fb28cb1d7a569ca70c6c4e9eb302d486", + "main_wire": "d360b1182b6d21b1ee2354856abcb50646ad618b", + "main": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "query_only": "617903497387a98f7ca929ad0b6928dd32abffec", + "prior_same_invoice": "79603d1f7d243f1d034613df84991673a94ad5ae" + }, + "forward_coefficients": 1444, + "reverse_coefficients": 1444, + "source": { + "public": 659, + "owned_labels": 237, + "owned_lifetimes": 237, + "peak_owned": 237, + "nonzero_owned_erasures": 237, + "checked_public_matrix_coefficients": 434281, + "exact_scalar_endpoint": "X_i\u2192X_i; Y_i\u2192Y_i+X_i; each helper independent", + "native_edges": 2871, + "charts": [ + { + "port": 0, + "input_frame": 2, + "output_frame": 525, + "basis": [ + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "1" + }, + { + "port": 1, + "input_frame": 3, + "output_frame": 526, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-1" + }, + { + "port": 2, + "input_frame": 4, + "output_frame": 527, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "1" + }, + { + "port": 3, + "input_frame": 5, + "output_frame": 528, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-1" + }, + { + "port": 4, + "input_frame": 6, + "output_frame": 529, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "1" + }, + { + "port": 5, + "input_frame": 7, + "output_frame": 530, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-1" + }, + { + "port": 6, + "input_frame": 8, + "output_frame": 531, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "1" + }, + { + "port": 7, + "input_frame": 9, + "output_frame": 532, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-1" + }, + { + "port": 8, + "input_frame": 10, + "output_frame": 533, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + -1, + -1, + 0, + -1, + 0, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "-1/4", + "3/4", + "0", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "3/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 9, + "input_frame": 11, + "output_frame": 534, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 1, + 1, + 0, + 1, + 0, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "-1/4", + "3/4", + "0", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "3/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 10, + "input_frame": 12, + "output_frame": 535, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 1, + 1, + 0, + -1, + 0, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "-1/4", + "3/4", + "0", + "1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "3/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 11, + "input_frame": 13, + "output_frame": 536, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + -1, + 1, + 0, + -1, + 0, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "1/4", + "3/4", + "0", + "1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "3/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 12, + "input_frame": 14, + "output_frame": 537, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 1, + -1, + 0, + 1, + 0, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "1/4", + "3/4", + "0", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "3/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 13, + "input_frame": 15, + "output_frame": 538, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + -1, + 1, + 0, + 1, + 0, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "1/4", + "3/4", + "0", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "3/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 14, + "input_frame": 16, + "output_frame": 539, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + -1, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 15, + "input_frame": 17, + "output_frame": 540, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + 1, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 16, + "input_frame": 18, + "output_frame": 541, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + -1, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 17, + "input_frame": 19, + "output_frame": 542, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + 1, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 18, + "input_frame": 20, + "output_frame": 543, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + 1, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0" + ], + [ + "3/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 19, + "input_frame": 21, + "output_frame": 544, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + -1, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 20, + "input_frame": 22, + "output_frame": 545, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + 1, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "3/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 21, + "input_frame": 23, + "output_frame": 546, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + -1, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 22, + "input_frame": 24, + "output_frame": 547, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + -1, + 0, + 0, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 23, + "input_frame": 25, + "output_frame": 548, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 1, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "3/4", + "1/4" + ] + ], + "determinant": "4" + }, + { + "port": 24, + "input_frame": 26, + "output_frame": 549, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + -1, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "3/4", + "1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 25, + "input_frame": 27, + "output_frame": 550, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 1, + 0, + 0, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "4" + }, + { + "port": 26, + "input_frame": 28, + "output_frame": 551, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 1, + 0, + 0, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4" + ], + [ + "3/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "1/4", + "3/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 27, + "input_frame": 29, + "output_frame": 552, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + -1, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "3/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "1/4", + "3/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "3/4", + "1/4" + ] + ], + "determinant": "4" + }, + { + "port": 28, + "input_frame": 30, + "output_frame": 553, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 1, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "3/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "1/4", + "3/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "3/4", + "1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 29, + "input_frame": 31, + "output_frame": 554, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + -1, + 0, + 0, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "3/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4" + ], + [ + "1/4", + "3/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "4" + }, + { + "port": 30, + "input_frame": 32, + "output_frame": 555, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + -1, + -1, + 0, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 31, + "input_frame": 33, + "output_frame": 556, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 32, + "input_frame": 34, + "output_frame": 557, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + -1, + -1, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 33, + "input_frame": 35, + "output_frame": 558, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "3/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0" + ], + [ + "-1/4", + "3/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 34, + "input_frame": 36, + "output_frame": 559, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + -1, + 1, + 0, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0" + ], + [ + "3/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "1/4", + "3/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 35, + "input_frame": 37, + "output_frame": 560, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 1, + -1, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "3/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "1/4", + "3/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 36, + "input_frame": 38, + "output_frame": 561, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + -1, + 1, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "3/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "1/4", + "3/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 37, + "input_frame": 39, + "output_frame": 562, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 1, + -1, + 0, + 0, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "3/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0" + ], + [ + "1/4", + "3/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 38, + "input_frame": 40, + "output_frame": 563, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 0, + -1, + 0, + 0, + -1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "3/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 39, + "input_frame": 41, + "output_frame": 564, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + 1, + 0, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 40, + "input_frame": 42, + "output_frame": 565, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 0, + -1, + 0, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 41, + "input_frame": 43, + "output_frame": 566, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + 1, + 0, + 0, + -1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "3/4", + "0", + "0", + "1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "3/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 42, + "input_frame": 44, + "output_frame": 567, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 0, + 1, + 0, + 0, + -1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4" + ], + [ + "3/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "0", + "1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "3/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 43, + "input_frame": 45, + "output_frame": 568, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + -1, + 0, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 44, + "input_frame": 46, + "output_frame": 569, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 0, + 1, + 0, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "3/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 45, + "input_frame": 47, + "output_frame": 570, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + -1, + 0, + 0, + -1, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "3/4", + "0", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "3/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 46, + "input_frame": 48, + "output_frame": 571, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + -1, + 0, + 0, + -1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "-1/4", + "3/4", + "0", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "3/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 47, + "input_frame": 49, + "output_frame": 572, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 1, + 1, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "0", + "-1/4", + "3/4", + "0", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "3/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 48, + "input_frame": 50, + "output_frame": 573, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + -1, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "0", + "-1/4", + "3/4", + "0", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "3/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 49, + "input_frame": 51, + "output_frame": 574, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + 1, + 0, + 0, + -1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "1/4", + "3/4", + "0", + "0", + "1/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "3/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 50, + "input_frame": 52, + "output_frame": 575, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + 1, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "0", + "1/4", + "3/4", + "0", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "3/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 51, + "input_frame": 53, + "output_frame": 576, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 1, + -1, + 0, + 0, + -1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0" + ], + [ + "0", + "1/4", + "3/4", + "0", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "3/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 52, + "input_frame": 54, + "output_frame": 577, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 1, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "3/4", + "-1/4", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "3/4", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "3/4", + "1/4" + ] + ], + "determinant": "4" + }, + { + "port": 53, + "input_frame": 55, + "output_frame": 578, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + -1, + -1, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "3/4", + "-1/4", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "3/4", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "3/4", + "1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 54, + "input_frame": 56, + "output_frame": 579, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 1, + -1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "3/4", + "-1/4", + "1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "3/4", + "1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "3/4", + "-1/4" + ] + ], + "determinant": "4" + }, + { + "port": 55, + "input_frame": 57, + "output_frame": 580, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + -1, + 1, + -1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "3/4", + "1/4", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "3/4", + "1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "3/4", + "-1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 56, + "input_frame": 58, + "output_frame": 581, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + -1, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "3/4", + "1/4", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "3/4", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "3/4", + "1/4" + ] + ], + "determinant": "4" + }, + { + "port": 57, + "input_frame": 59, + "output_frame": 582, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + -1, + 1, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "3/4", + "1/4", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "3/4", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "3/4", + "1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 58, + "input_frame": 60, + "output_frame": 583, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + -1, + -1 + ] + ], + "inverse": [ + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "3/4", + "1/4", + "1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "3/4", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "3/4", + "-1/4" + ] + ], + "determinant": "4" + }, + { + "port": 59, + "input_frame": 61, + "output_frame": 584, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + -1, + -1, + -1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "3/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "3/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "3/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 60, + "input_frame": 62, + "output_frame": 585, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "3/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "3/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "3/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 61, + "input_frame": 63, + "output_frame": 586, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + -1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "3/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "3/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "3/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 62, + "input_frame": 64, + "output_frame": 587, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + -1, + 1, + -1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "3/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "3/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "3/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 63, + "input_frame": 65, + "output_frame": 588, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "3/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "3/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "3/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 64, + "input_frame": 66, + "output_frame": 589, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + -1, + 1, + 1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "3/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "3/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "3/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 65, + "input_frame": 67, + "output_frame": 590, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + -1, + -1, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "3/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "3/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "3/4", + "-1/4", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 66, + "input_frame": 68, + "output_frame": 591, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + 0, + 1, + 1, + 0, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "3/4", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "3/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 67, + "input_frame": 69, + "output_frame": 592, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 0, + 0, + -1, + 1, + 0, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "3/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "1/4", + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 68, + "input_frame": 70, + "output_frame": 593, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + 0, + 1, + -1, + 0, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "1/4" + ], + [ + "1/4", + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 69, + "input_frame": 71, + "output_frame": 594, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 0, + 0, + 1, + -1, + 0, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4" + ], + [ + "3/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "1/4" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 70, + "input_frame": 72, + "output_frame": 595, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + 0, + -1, + 1, + 0, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 71, + "input_frame": 73, + "output_frame": 596, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + -1, + 0, + 0, + 1, + 1, + 0, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "3/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "-1/4", + "0", + "0", + "1/4" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "3/4", + "0", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 72, + "input_frame": 74, + "output_frame": 597, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 1, + 0, + 0, + -1, + -1, + 0, + 0 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "3/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "-1/4", + "0", + "0", + "-1/4" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "3/4", + "0", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 73, + "input_frame": 75, + "output_frame": 598, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + 0, + -1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 74, + "input_frame": 76, + "output_frame": 599, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 1, + 0, + 1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 75, + "input_frame": 77, + "output_frame": 600, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + 0, + -1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 76, + "input_frame": 78, + "output_frame": 601, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 1, + 0, + 1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 77, + "input_frame": 79, + "output_frame": 602, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + 0, + 1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "3/4", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 78, + "input_frame": 80, + "output_frame": 603, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 1, + 0, + -1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "3/4", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 79, + "input_frame": 81, + "output_frame": 604, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + -1, + 0, + 1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "3/4", + "-1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "3/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 80, + "input_frame": 82, + "output_frame": 605, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 1, + 0, + -1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "3/4", + "-1/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "3/4", + "0", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 81, + "input_frame": 83, + "output_frame": 606, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + -1, + -1, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "-1/4", + "3/4", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 82, + "input_frame": 84, + "output_frame": 607, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + -1, + -1, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "-1/4", + "3/4", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "3/4", + "1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 83, + "input_frame": 85, + "output_frame": 608, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 0, + 1, + 1, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "-1/4", + "0", + "0", + "1/4", + "1/4" + ], + [ + "0", + "0", + "-1/4", + "3/4", + "0", + "0", + "1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "4" + }, + { + "port": 84, + "input_frame": 86, + "output_frame": 609, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + -1, + 1, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 85, + "input_frame": 87, + "output_frame": 610, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 0, + 1, + -1, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "3/4", + "1/4" + ] + ], + "determinant": "4" + }, + { + "port": 86, + "input_frame": 88, + "output_frame": 611, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + 0, + -1, + 1, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "1/4", + "-1/4" + ], + [ + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "-1/4", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "3/4", + "1/4" + ] + ], + "determinant": "-4" + }, + { + "port": 87, + "input_frame": 89, + "output_frame": 612, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 0, + 1, + -1, + 0, + 0, + -1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "0", + "0", + "1/4", + "1/4" + ], + [ + "0", + "0", + "1/4", + "3/4", + "0", + "0", + "-1/4", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "3/4", + "-1/4" + ] + ], + "determinant": "4" + }, + { + "port": 88, + "input_frame": 90, + "output_frame": 613, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + -1, + -1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "3/4", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 89, + "input_frame": 91, + "output_frame": 614, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "3/4", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 90, + "input_frame": 92, + "output_frame": 615, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + -1, + -1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "3/4", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 91, + "input_frame": 93, + "output_frame": 616, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + 1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "-1/4", + "1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "3/4", + "1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 92, + "input_frame": 94, + "output_frame": 617, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + -1, + 1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "3/4", + "1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 93, + "input_frame": 95, + "output_frame": 618, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + -1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "3/4", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 94, + "input_frame": 96, + "output_frame": 619, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + -1, + 1, + 1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "3/4", + "-1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "3/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 95, + "input_frame": 97, + "output_frame": 620, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 1, + -1, + -1, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "3/4", + "1/4", + "1/4", + "1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "3/4", + "-1/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "3/4", + "-1/4", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 96, + "input_frame": 98, + "output_frame": 621, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + -1, + 0, + -1, + 0, + -1, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "3/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 97, + "input_frame": 99, + "output_frame": 622, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 1, + 0, + 1, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 98, + "input_frame": 100, + "output_frame": 623, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + -1, + 0, + -1, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 99, + "input_frame": 101, + "output_frame": 624, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 1, + 0, + 1, + 0, + -1, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 100, + "input_frame": 102, + "output_frame": 625, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + -1, + 0, + 1, + 0, + -1, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 101, + "input_frame": 103, + "output_frame": 626, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + -1, + 0, + 1, + 0, + -1, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "3/4", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "4" + }, + { + "port": 102, + "input_frame": 104, + "output_frame": 627, + "basis": [ + [ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + [ + 1, + 0, + -1, + 0, + 1, + 0, + 1, + 0 + ] + ], + "inverse": [ + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "3/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "3/4", + "0", + "-1/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "3/4", + "0", + "1/4" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ] + ], + "determinant": "-4" + }, + { + "port": 103, + "input_frame": 105, + "output_frame": 628, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + 0, + -1, + 0, + -1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "3/4", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "3/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 104, + "input_frame": 106, + "output_frame": 629, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + 0, + 1, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "3/4", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "3/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 105, + "input_frame": 107, + "output_frame": 630, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + 0, + -1, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "3/4", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "3/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 106, + "input_frame": 108, + "output_frame": 631, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + 0, + 1, + 0, + -1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "3/4", + "0", + "1/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "3/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 107, + "input_frame": 109, + "output_frame": 632, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + 0, + 1, + 0, + -1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "0", + "1/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "3/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 108, + "input_frame": 110, + "output_frame": 633, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + 0, + -1, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "3/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + }, + { + "port": 109, + "input_frame": 111, + "output_frame": 634, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + 1, + -1, + 0, + 0, + 1, + 0, + 1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "0", + "-1/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "3/4", + "1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "4" + }, + { + "port": 110, + "input_frame": 112, + "output_frame": 635, + "basis": [ + [ + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 1, + 0 + ], + [ + -1, + 1, + 0, + 0, + -1, + 0, + -1, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ] + ], + "inverse": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "3/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "3/4", + "0", + "-1/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "3/4", + "-1/4", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "determinant": "-4" + } + ] + }, + "native_paid": { + "1": 1386, + "2": 1253, + "3": 62, + "4": 47, + "5": 9, + "6": 104, + "7": 10 + }, + "native_helpers": { + "2": 1, + "4": 25, + "6": 1, + "8": 410 + }, + "paid": { + "1": 50340, + "2": 45108, + "3": 2232, + "4": 1692, + "5": 324, + "6": 3744, + "7": 804, + "14": 444, + "21": 444, + "28": 444, + "35": 444, + "42": 444, + "49": 444, + "56": 444 + }, + "targets": { + "2": 36, + "4": 900, + "6": 36, + "8": 15204, + "15": 444, + "22": 444, + "29": 444, + "36": 444, + "43": 444, + "50": 444, + "57": 444, + "64": 444, + "127": 222 + }, + "paid_jobs": 107352, + "productive_fields": 19950, + "rank_surplus": 1506, + "native_calls": 36, + "native_instances": [ + { + "stage": 1, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage1_copy0", + "body_axes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + { + "stage": 1, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage1_copy1", + "body_axes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + }, + { + "stage": 2, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage2_copy0", + "body_axes": [ + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ] + }, + { + "stage": 2, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage2_copy1", + "body_axes": [ + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ] + }, + { + "stage": 3, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage3_copy0", + "body_axes": [ + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ] + }, + { + "stage": 3, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage3_copy1", + "body_axes": [ + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ] + }, + { + "stage": 4, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage4_copy0", + "body_axes": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + }, + { + "stage": 4, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage4_copy1", + "body_axes": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + }, + { + "stage": 5, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage5_copy0", + "body_axes": [ + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + }, + { + "stage": 5, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage5_copy1", + "body_axes": [ + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + }, + { + "stage": 6, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage6_copy0", + "body_axes": [ + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ] + }, + { + "stage": 6, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage6_copy1", + "body_axes": [ + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ] + }, + { + "stage": 7, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage7_copy0", + "body_axes": [ + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + }, + { + "stage": 7, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage7_copy1", + "body_axes": [ + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + }, + { + "stage": 8, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage8_copy0", + "body_axes": [ + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + }, + { + "stage": 8, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage8_copy1", + "body_axes": [ + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + }, + { + "stage": 9, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage9_copy0", + "body_axes": [ + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + }, + { + "stage": 9, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage9_copy1", + "body_axes": [ + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + }, + { + "stage": 10, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage10_copy0", + "body_axes": [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + }, + { + "stage": 10, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage10_copy1", + "body_axes": [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + }, + { + "stage": 11, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage11_copy0", + "body_axes": [ + 71, + 72, + 73, + 74, + 75, + 76, + 77 + ] + }, + { + "stage": 11, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage11_copy1", + "body_axes": [ + 71, + 72, + 73, + 74, + 75, + 76, + 77 + ] + }, + { + "stage": 12, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage12_copy0", + "body_axes": [ + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ] + }, + { + "stage": 12, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage12_copy1", + "body_axes": [ + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ] + }, + { + "stage": 13, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage13_copy0", + "body_axes": [ + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + }, + { + "stage": 13, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage13_copy1", + "body_axes": [ + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + }, + { + "stage": 14, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage14_copy0", + "body_axes": [ + 92, + 93, + 94, + 95, + 96, + 97, + 98 + ] + }, + { + "stage": 14, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage14_copy1", + "body_axes": [ + 92, + 93, + 94, + 95, + 96, + 97, + 98 + ] + }, + { + "stage": 15, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage15_copy0", + "body_axes": [ + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + }, + { + "stage": 15, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage15_copy1", + "body_axes": [ + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + }, + { + "stage": 16, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage16_copy0", + "body_axes": [ + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + }, + { + "stage": 16, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage16_copy1", + "body_axes": [ + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + }, + { + "stage": 17, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage17_copy0", + "body_axes": [ + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + }, + { + "stage": 17, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage17_copy1", + "body_axes": [ + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + }, + { + "stage": 18, + "copy": 0, + "source_register": 1, + "destination_register": 0, + "ports": 111, + "fresh_helper_namespace": "stage18_copy0", + "body_axes": [ + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + }, + { + "stage": 18, + "copy": 1, + "source_register": 20, + "destination_register": 19, + "ports": 111, + "fresh_helper_namespace": "stage18_copy1", + "body_axes": [ + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + } + ], + "independent_moment_intervals": { + "385253/100000000": { + "lower": "0.0036436256394743949296533752", + "upper": "0.0036436256394743949296533753" + }, + "19262696967/5000000000000": { + "lower": "0.0000000177738444696303501702", + "upper": "0.0000000177738444696303501703" + }, + "7705078787/2000000000000": { + "lower": "-0.0000000210151754464759206813", + "upper": "-0.0000000210151754464759206812" + } + }, + "finite_admission": { + "label": "paired_efree_bit", + "source_status": "Integral caller with38independent roles; unchanged #6726 BIT native111 ports per actual call; 36actual calls; all1444forward and reverse coefficients", + "targets": { + "2": 36, + "4": 900, + "6": 36, + "8": 15204, + "15": 444, + "22": 444, + "29": 444, + "36": 444, + "43": 444, + "50": 444, + "57": 444, + "64": 444, + "127": 222 + }, + "paid": { + "1": 50340, + "2": 45108, + "3": 2232, + "4": 1692, + "5": 324, + "6": 3744, + "7": 804, + "14": 444, + "21": 444, + "28": 444, + "35": 444, + "42": 444, + "49": 444, + "56": 444 + }, + "tested_saving": "385253/100000000", + "tensor_power": 768, + "cutoff_base": 15, + "floor_base": 16, + "paid_tail_offset": "1/5", + "target_tail_offset": "1/5", + "alpha": { + "lower": "0.999999987456792518482620787614", + "upper": "0.999999987456792518482620787615" + }, + "gamma": { + "lower": "0.873285149195037839608624837051", + "upper": "0.873285149195037839608624837052" + }, + "lambda": { + "lower": "0.949370882291320583076906294105", + "upper": "0.949370882291320583076906294106" + }, + "rational_upper_limits": [ + "999999987456793/1000000000000000", + "436642574597519/500000000000000", + "949370882291321/1000000000000000" + ], + "normalized_paid_plus_lost_target_upper": { + "lower": "0.999990366909821325001257063996", + "upper": "0.999990366909821325001257063997" + }, + "strict_normalized_gap": { + "lower": "0.000009633090178674998742936003", + "upper": "0.000009633090178674998742936004" + }, + "ambient": "127^768", + "maximum_paid": "15^768", + "minimum_retained_target": "16^768", + "source_public_fields": 19950, + "source_paid_calls": 107352, + "source_paid_rank_mass": 292512, + "retained_productive_fields": "W = sum over target tuples with product >= 16^768 of their multiplicities", + "specialized_owned_fields": "D = 19950^768 - W", + "specialized_initial_and_final": 0, + "owned_allocation_records_bound": "2*19950^768", + "product_raw_invocation_count": "sum(i=0..767, 19950^(767-i)*107352^i)", + "split_paid_calls_upper": "292512^768", + "product_or_uniform_word_materialized": false, + "rank_mass_surplus": "positive by separated t-moment advantage; no discarded target mass retained as credit", + "construction": "chronological product; specialize low complete targets to owned zero; retain all original paid calls; split paid calls on disjoint axes", + "uniform_compiler": { + "uniform_saving": "38525299/10000000000", + "gap": "1/10000000000", + "theta": "42/43", + "logarithm_power": 610, + "eta": { + "lower": "0.000000593894111688079899290956", + "upper": "0.000000593894111688079899290957" + }, + "ordinary_base_bound": { + "lower": "1677314.946209111847437090130884726124", + "upper": "1677314.946209111847437090130884726125" + }, + "previous_logarithm_power_fails": true, + "H": 293160000000000, + "N": "2^293160000000000", + "integer_test_exponent": 29316, + "preceding_integer_grid_fails": true, + "proof": "retained separated finite compiler and logarithmic majorant, with all new owned fields charged" + } + }, + "independent_finite_ratios": [ + { + "lower": "0.9999999874567925184826207876", + "upper": "0.9999999874567925184826207877" + }, + { + "lower": "0.8732851491950378396086248370", + "upper": "0.8732851491950378396086248371" + }, + { + "lower": "0.9493708822913205830769062941", + "upper": "0.9493708822913205830769062942" + } + ], + "independent_normalized_upper": { + "lower": "0.9999903669098213250012570639", + "upper": "0.9999903669098213250012570640" + }, + "event_counts": { + "ADD": 362, + "SWAP": 364, + "LOCAL": 36, + "IDLE_ONE": 32, + "QUERY": 4 + }, + "events": 798, + "discarded_source_stream": { + "ADD": 1682, + "SCALE": 100, + "LAMBDA": 82, + "IDLE_ONE": 68, + "SWAP": 91, + "QUERY": 4 + }, + "empty_body_targets": { + "count": 0, + "rank1_productive_credit": 0 + }, + "ordinary_basis_records": 1291152, + "ordinary_visible_records": 363507600, + "whole_job_route_count": 569592, + "whole_job_route_records": 740743004160, + "ordinary_record_allowance": 1000000000000, + "owned_bank_bound": 6878988, + "compiler_constants": { + "U_raw": "sum(i=0..767,19950^(767-i)*107352^i)", + "D": "19950^768-W", + "O": "6878988*U_raw+D", + "G": "1000000000000*U_raw+8*R+2*19950^768", + "E": "64*(Z+N+P+G+1)^3", + "B_constant": "P+E", + "C0": "32*N*B_constant^2" + }, + "ordinary_bootstrap": [ + { + "previous": "17/5000", + "covered": "19262649/5000000000", + "atom": "1/250", + "envelope": "4813399601/1250000000000", + "admitted": "38507/10000000", + "strict_debit": "24601/1250000000000" + }, + { + "previous": "38507/10000000", + "covered": "19262649/5000000000", + "atom": "1/250", + "envelope": "4815653101/1250000000000", + "admitted": "12039/3125000", + "strict_debit": "53101/1250000000000" + } + ], + "negative_controls": { + "missing_LOCAL": "reverse coefficient 0,0", + "missing_QUERY": "reverse coefficient 0,0", + "missing_IDLE_ONE": "reverse coefficient 0,1", + "missing_ADD": "reverse coefficient 0,1", + "missing_SWAP": "reverse coefficient 1,0", + "missing_second_native_in_pair": "reverse coefficient 19,19", + "division_by2_after_specialization": "integral A coefficient after lambda removal", + "QUERY_replaced_by_ADD_despite_q1_pass": "reverse coefficient 1,0", + "root_header_target_declared_identity": "reverse coefficient 19,19" + }, + "odd_port_determinant": { + "ring": "F2[q]/(q^2-1)", + "q_ne_1": true, + "single_layer_root_targets": 2109, + "single_layer_target_determinant": "q", + "allowed_D1_gate_determinants": "1", + "doubled_root_targets": 4218, + "doubled_target_determinant": "1", + "scope": "Fixed19q-targets per chain,111ports,existing scalar caller operations; no extra target or QSELF/owned operator. Not a general obstruction on BIT algorithms." + }, + "assumptions": [ + "native_all_columns", + "owned_erasure", + "compiler", + "precision_tape", + "analytic_recovery" + ], + "scope": "Paired E-free BIT specialization of#6980 with two actual native copies per stage; removes empty-body credit with unchanged complete signed moment crossing of#6834; inherited framework; no new kappa or native theorem reproof.", + "new_global_kappa_claim": false, + "seconds": 11.418902893999984 +} diff --git a/research/paired-query-only-bit/INDEPENDENT-REVIEW.json b/research/paired-query-only-bit/INDEPENDENT-REVIEW.json new file mode 100644 index 0000000000..8364f39a42 --- /dev/null +++ b/research/paired-query-only-bit/INDEPENDENT-REVIEW.json @@ -0,0 +1,139 @@ +{ + "reviewed_result_sha256": "a46b6c6040f75184cab5467656811ad988c216e3bc8e44d595a5015b6e49620b", + "ordinary": { + "visible": 363507600, + "routes": 740743004160, + "total": 741106511760, + "owned_bank": 6878988 + }, + "status": "INDEPENDENT_BIT_REVIEW_PASS", + "caller_sha256": "757b3523798f840bdb02028b23708c3416627a99ea09e7a3c4bcdc5cd0c7ce4b", + "native_sha256": "51203e7fc75ba10bd3ac3f8e675759f47e13d262bea66b6600d1e515095cad78", + "native_exact_input_rows": 659, + "caller_exact_input_rows": 38, + "native_calls": 36, + "paid": { + "1": 50340, + "2": 45108, + "3": 2232, + "4": 1692, + "5": 324, + "6": 3744, + "7": 804, + "14": 444, + "21": 444, + "28": 444, + "35": 444, + "42": 444, + "49": 444, + "56": 444 + }, + "targets": { + "2": 36, + "4": 900, + "6": 36, + "8": 15204, + "15": 444, + "22": 444, + "29": 444, + "36": 444, + "43": 444, + "50": 444, + "57": 444, + "64": 444, + "127": 222 + }, + "rank_surplus": 1506, + "margins": { + "385253/100000000": [ + 0.003643625639474395, + 0.003643625639474395 + ], + "19262696967/5000000000000": [ + 1.777384446963035e-08, + 1.777384446963035e-08 + ], + "7705078787/2000000000000": [ + -2.101517544647592e-08, + -2.101517544647592e-08 + ] + }, + "finite_ratios": [ + [ + 0.9999999874567925, + 0.9999999874567925 + ], + [ + 0.8732851491950379, + 0.8732851491950379 + ], + [ + 0.9493708822913206, + 0.9493708822913206 + ] + ], + "normalized_upper_float": 0.9999903669094515, + "LP": 610, + "H": 293160000000000, + "bootstrap": [ + { + "previous": "17/5000", + "admitted": "38507/10000000", + "envelope": "4813399601/1250000000000", + "margin": "24601/1250000000000" + }, + { + "previous": "38507/10000000", + "admitted": "12039/3125000", + "envelope": "4815653101/1250000000000", + "margin": "53101/1250000000000" + } + ], + "controls": { + "LOCAL": { + "deleted": 4, + "bad_input_rows": [ + 0, + 1 + ] + }, + "QUERY": { + "deleted": 196, + "bad_input_rows": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + }, + "IDLE_ONE": { + "deleted": 19, + "bad_input_rows": [ + 0, + 1 + ] + }, + "ADD": { + "deleted": 0, + "bad_input_rows": [ + 1 + ] + }, + "SWAP": { + "deleted": 1, + "bad_input_rows": [ + 0 + ] + }, + "QUERY_without_q": [ + 0 + ] + }, + "scope": "Exact scalar operator and arithmetic; no chart-provider/tape implementation or tariff re-admission; Efree caller removes empty q-only credits and bootstraps only selected .0034; five foundational framework premises remain." +} diff --git a/research/paired-query-only-bit/INPUT-PINS.json b/research/paired-query-only-bit/INPUT-PINS.json new file mode 100644 index 0000000000..11e6eb68b2 --- /dev/null +++ b/research/paired-query-only-bit/INPUT-PINS.json @@ -0,0 +1,118 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "pins": { + "bit": "435bbe91fb28cb1d7a569ca70c6c4e9eb302d486", + "main_wire": "d360b1182b6d21b1ee2354856abcb50646ad618b", + "main": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "query_only": "617903497387a98f7ca929ad0b6928dd32abffec", + "prior_same_invoice": "79603d1f7d243f1d034613df84991673a94ad5ae" + }, + "source_export_scope": "Each vendored file is byte-authenticated at its local path against its immutable exported source SHA256. Original remote heads and Git blobs are provenance, not required Git dependencies for standalone replay.", + "files": [ + { + "local": "retained/audit_binary_mixed.py", + "path": "research/p104-paid-idle-fragmentation/frozen/bit/retained/root/audit_binary_mixed.py", + "usage": "provenance", + "git_blob": "4e685c0906dbd64b97661a3f9693dfb3b673be41", + "sha256": "bb6616dbf536acf10163b8fff65ebfa69d01dfdeda3c0ead388c03377361b298", + "pin": "head:435bbe91fb28cb1d7a569ca70c6c4e9eb302d486:research/p104-paid-idle-fragmentation/frozen/bit/retained/root/audit_binary_mixed.py" + }, + { + "local": "retained/inputs/credited_trim.py", + "path": "research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/credited_trim.py", + "usage": "provenance", + "git_blob": "33645029117c8f027443d5aa93764cf06c23338a", + "sha256": "fcff17fdd3108be68761fbde0fcbfe218be166cf518c99f7163e60d53ab785d9", + "pin": "head:435bbe91fb28cb1d7a569ca70c6c4e9eb302d486:research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/credited_trim.py" + }, + { + "local": "retained/inputs/independent_interval.py", + "path": "research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/independent_interval.py", + "usage": "provenance", + "git_blob": "30ae586ea0714513802930561b6223065f377573", + "sha256": "9293f567aa4afd9b4e618f1cddd3cf66eea51c5e194e3c578e7a8f4db6e04a57", + "pin": "head:435bbe91fb28cb1d7a569ca70c6c4e9eb302d486:research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/independent_interval.py" + }, + { + "local": "retained/inputs/inputs/exact_arithmetic.py", + "path": "research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/inputs/exact_arithmetic.py", + "usage": "provenance", + "git_blob": "4b24a5096154736ce060474eb8c72dc64c303699", + "sha256": "0ce7e7137422d5ffeda22085c81fa88471bbe963100fdad62e659f1e3bf89326", + "pin": "head:435bbe91fb28cb1d7a569ca70c6c4e9eb302d486:research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/inputs/exact_arithmetic.py" + }, + { + "local": "retained/inputs/BIT-NATIVE-WORD.json.gz", + "path": "research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/BIT-NATIVE-WORD.json.gz", + "usage": "provenance", + "git_blob": "b718d6b2848215ad785022106dfa9f871a3d1c0c", + "sha256": "51203e7fc75ba10bd3ac3f8e675759f47e13d262bea66b6600d1e515095cad78", + "pin": "head:435bbe91fb28cb1d7a569ca70c6c4e9eb302d486:research/p104-paid-idle-fragmentation/frozen/bit/retained/root/inputs/BIT-NATIVE-WORD.json.gz" + }, + { + "local": "retained/NOTICE", + "path": "research/p104-paid-idle-fragmentation/frozen/bit/retained/bit_mixed_caller/NOTICE", + "usage": "provenance", + "git_blob": "16c9afd68ed47b0e1ebb1421ffddb41719e3195b", + "sha256": "620e4ec6f537fa1c071f019ac92fa0e4eec8ab487c811e84153292b981de0424", + "pin": "head:435bbe91fb28cb1d7a569ca70c6c4e9eb302d486:research/p104-paid-idle-fragmentation/frozen/bit/retained/bit_mixed_caller/NOTICE" + }, + { + "local": "LICENSE", + "path": "research/p104-paid-idle-fragmentation/frozen/bit/retained/bit_mixed_caller/LICENSE", + "usage": "provenance", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "pin": "head:435bbe91fb28cb1d7a569ca70c6c4e9eb302d486:research/p104-paid-idle-fragmentation/frozen/bit/retained/bit_mixed_caller/LICENSE" + }, + { + "local": "data/query_only_6980.json", + "path": "research/p104-query-only-interval/QUERY-ONLY-CALLER.json", + "usage": "provenance", + "git_blob": "cf55f4271009a06ad192a070d330a4466b6d44fa", + "sha256": "3828d53e80ea97e8b866320f081af20b6b93bfebd58b95b56b85a7afe151af5e", + "pin": "head:617903497387a98f7ca929ad0b6928dd32abffec:research/p104-query-only-interval/QUERY-ONLY-CALLER.json" + }, + { + "local": "data/6980_PROOF.md", + "path": "research/p104-query-only-interval/PROOF.md", + "usage": "provenance", + "git_blob": "2f8610ae455bb8c6b79161223cc948e136253add", + "sha256": "0cede285a98dd61b78020651202729c6d9cd16fb078ee5fe9a01aa2400df5432", + "pin": "head:617903497387a98f7ca929ad0b6928dd32abffec:research/p104-query-only-interval/PROOF.md" + }, + { + "local": "data/6834_result.json", + "path": "research/bit-chain-nested-root/BIT-CHAIN-ADMISSION.json", + "usage": "provenance", + "git_blob": "6d01ba48a30d13401262aa75f50ab1c08adf01bb", + "sha256": "5c3dd8b954de767e41ec7b3d51895ed8c28968d39cb6af57a84c01683f5780ae", + "pin": "head:79603d1f7d243f1d034613df84991673a94ad5ae:research/bit-chain-nested-root/BIT-CHAIN-ADMISSION.json" + }, + { + "local": "data/selected_claim.json", + "path": "certificates/frontier6030/CLAIM.json", + "usage": "provenance", + "git_blob": "f32ff3779274a349dc8af2e84a4c6234c6d62406", + "sha256": "9cee8a1304fa893be3d3b641eda42fdd9b2fd6a5ac2124fb891de7a1a5e8d92e", + "pin": "head:7c49fe32c55de02c2c873655c804b16e4c3fef0a:certificates/frontier6030/CLAIM.json" + }, + { + "local": "data/selected_record.json", + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa", + "pin": "head:7c49fe32c55de02c2c873655c804b16e4c3fef0a:certificates/selected-result.json" + }, + { + "local": "data/selected_review.md", + "path": "docs/research/pr-intake-evidence/pr6030-audit/PROOF-REVIEW.md", + "usage": "provenance", + "git_blob": "26f2f6324bce57e69e861d2aae5a27c9de325a8e", + "sha256": "8bd158b8ef68202000f167b9b78db0b31531b5b067b5cbd91b5bf35f3ddd1ab6", + "pin": "head:7c49fe32c55de02c2c873655c804b16e4c3fef0a:docs/research/pr-intake-evidence/pr6030-audit/PROOF-REVIEW.md" + } + ] +} diff --git a/research/paired-query-only-bit/LICENSE b/research/paired-query-only-bit/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/paired-query-only-bit/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/paired-query-only-bit/NOTICE b/research/paired-query-only-bit/NOTICE new file mode 100644 index 0000000000..32c2936ea0 --- /dev/null +++ b/research/paired-query-only-bit/NOTICE @@ -0,0 +1,26 @@ +Paired E-free BIT specialization and complete accounting, with substantial +OpenAI Codex assistance, for the integer-multiplication research project. +Apache-2.0; LICENSE is retained from the source project. + +DreamingOfClouds (Claude Opus assistance) receives credit for #6834's chain-root +BIT caller, #6937's E-free roots and the underlying two-chain construction. +@CubeJerry (OpenAI assistance) receives credit for #6980's four-input three-query +identity, separated interval replacement and QUERY-only caller. The complete +#6980 proof is retained byte-for-byte in data/6980_PROOF.md. + +The new contribution specializes that existing caller to the actual #6726 BIT +native, supplies the parity-driven pairing of two real 111-port invocations, +and checks the complete E-free finite/compiler/ordinary budget from the selected +ordinary backend. No general QUERY-only mechanism, chain root or new raw kappa +is claimed as new here. + +independent/bit_review.py and independent/interval_gate.py were written by a +separate OpenAI Codex research worker for an implementation-independent scalar +and arithmetic audit. This is model-run checking, not external human review. + +zxv and retained predecessor authors receive credit for #6726's source-native +export, integer-before-mod2 transfer, complete source checking and admission +framework. Ali Romman and Cinna Davis retain the root/native lineage credit. +The copied arithmetic and native checker retain their original headers; see +retained/NOTICE. The selected .0034 backend retains the source and contributor +credits in data/selected_record.json and data/selected_review.md. diff --git a/research/paired-query-only-bit/PROOF.md b/research/paired-query-only-bit/PROOF.md new file mode 100644 index 0000000000..ae16ecbd52 --- /dev/null +++ b/research/paired-query-only-bit/PROOF.md @@ -0,0 +1,203 @@ +# Paired E-free BIT caller at the existing ordinary saving 0.00385248 + +This is a conditional premise reduction, **not a new kappa or a new raw paid-profile advantage**. +The old chain-root BIT construction of DreamingOfClouds in #6834 already has +the raw crossing `(0.0038525393934, 0.0038525393935)` and ordinary saving +`0.00385248`. An initial independent reconstruction here rediscovered that +invoice. Its slightly tighter ordinary margin is not presented as a research +advance. The contribution below removes all its empty-body root credits by +pairing actual BIT native calls and specializing CubeJerry's #6980 caller. + +## 1. Sources and exact statement + +Exported source inputs are listed with byte hashes in `INPUT-PINS.json`; +`SOURCES.json` keeps only base-main Git provenance: + +* #6834, `79603d1f7d243f1d034613df84991673a94ad5ae`: existing chain-root BIT invoice. +* #6726, `435bbe91fb28cb1d7a569ca70c6c4e9eb302d486`: actual unchanged BIT native, + integral-transfer method, independent source checker, finite compiler, + independent interval arithmetic, ordinary/route/ownership allowances. +* #6980, `617903497387a98f7ca929ad0b6928dd32abffec`: QUERY-only replacement of the + two separated QSELF sites in DreamingOfClouds' E-free two-chain caller. +* Main `7c49fe32c55de02c2c873655c804b16e4c3fef0a`: selected ordinary BIT backend + `17/5000`, not the empty-credit supplier, is the bootstrap starting point. + +The new 38-input caller uses only ADD, SWAP, QUERY, LOCAL and IDLE_ONE. It has +798 events: 362 ADD, 364 SWAP, 36 LOCAL, 32 IDLE_ONE and 4 QUERY. Its diagonal +has 38 entries, each `q` times a **nonempty** monomial in the independent body +operators `D1,...,D18`. Every coefficient is checked in +`F2[q,D1,...,D18]/(q²-1)`, retaining repeated powers of D. No inverse, +idempotence or numerical specialization of D is used. + +The direct row engine and the retained independent reverse-functional engine +each verify all 1,444 coefficients. Their agreement establishes the stated +finite formal identity; it does not prove the inherited physical all-width +native/QUERY/erasure contracts. + +## 2. Integral specialization, without dividing by two in F2 + +The #6980 source is a mixed A/B caller. Each joint event has a block-diagonal +action: a two-shear HOST2 block on the 38 A roles and a separate hosted block +on the B roles. All other events remain within their type. Retain only A. +This selection is checked from every event's literal role indices, not inferred +from counts. + +First impose `q²=1` over characteristic zero. The source normalization + +`lambda_s = ((1+s*i)+(1-s*i)*q²)/2` + +is exactly 1 in this quotient. Delete those normalization operations there. +Every remaining A ADD coefficient is an integer, every SCALE is ±1, and +the HOST2 second shear has coefficient -1. The result is an integer identity: +the relevant quotient of `Z[q,D1,...,D18]` is free as a Z-module on the +standard monomials. Only now reduce coefficients modulo two. Odd ADDs become +XOR, even ADDs disappear, SCALE ±1 disappears, and `q^-1=q`. + +The resulting identity is also replayed directly in the characteristic-two +ring, so it does not rest solely on the source complex proof. In particular, +the test replacing QUERY by ADD passes after the unfaithful specialization +`q=1`, but fails in the actual quotient. A mutated scalar 1/2 is rejected; +there is no map that treats the source 1/2 as a characteristic-two scalar. + +## 3. Why two real native copies are necessary in this fixed interface + +For a fixed scalar caller with only ADD, SWAP, QUERY, LOCAL and IDLE_ONE, +specialize every D to 1. Every allowed event has determinant 1 over +`R=F2[q]/(q²-1)`: ADD and QUERY are transvections, SWAP has determinant +`-1=1`, LOCAL is the same transvection, and IDLE_ONE becomes identity. + +A single E-free chain has 19 q-bearing outputs. For the native's 111 ports, +the desired determinant would be `q^(19*111)=q`, whereas `q != 1` in R +(equivalently write `q=1+epsilon`, `epsilon²=0`, `epsilon != 0`). Therefore +that exact odd-port target contract cannot be obtained by those gates on +those root roles. Evaluating q=1 would erase this obstruction. This is a +fixed-interface argument, not a universal no-go result for BIT algorithms; +additional targets, QSELF, new owned interfaces or different target contracts +are outside it. + +Two copies give 222 chains and even q degree. Pair the corresponding port +from the two native copies, producing 111 independent 38-role groups. The +#6980 replacement couples only the two chains within each group. At each +of the 18 stage cuts, the first actual native supplies the first shear of +all 111 groups and the second supplies the other shear. These are **36 +actual native invocations**, with disjoint fresh public helpers and owned +lifetimes. They use the same seven body axes within one stage, on disjoint +arrays; different stages use disjoint body axes. The ambient remains +`1+7*18=127`. `native_instances` in the receipt lists all 36 occurrences, +root role maps, helper namespaces and body axes. + +The native file SHA256 is +`51203e7fc75ba10bd3ac3f8e675759f47e13d262bea66b6600d1e515095cad78`. +Its unchanged source checker replays all 659 public scalar inputs, all +owned lifetimes and native MOVE ranks, and checks the 111 rational +head/body charts. The all-width transform theorem is inherited, not reproved. + +## 4. Complete recursive invoice + +Write `H_r=r^(1-kappa)`. The unchanged native contributes, per actual call, + +`P0={1:1386,2:1253,3:62,4:47,5:9,6:104,7:10}` and +`T0={2:1,4:25,6:1,8:410}`. + +The new complete profiles are + +`Pnew = 36 P0 + 444 H1 + 444 sum(j=1..8) H_(7j)` and + +`Tnew = 36 T0 + 222 H127 + 444 sum(j=1..9) H_(1+7j)`. + +This counts both native copies, every one-field whole idle, every thin query, +every fresh native helper and every independent root target exactly once. +The totals are 19,950 productive fields, 107,352 paid jobs and rank surplus +1,506. There is no productive rank-1 credit, and every root target has a +nonempty body mask. + +Relative to the complete #6834 invoice, + +`Tnew = 2 Told - 222 H1`, `Pnew = 2 Pold - 222 H1`. + +These are exact all-rank histogram equalities, checked against the pinned +#6834 receipt. Hence every complete signed moment is doubled and the raw +crossing is unchanged. This is not a numeric improvement disguised as a +change of root size. + +## 5. Finite loss, compiler, ordinary work and bootstrap + +At tested saving `0.00385253`, two separate rational interval engines bound +the signed margin and all three finite-tail ratios. With chronological +product power 768, paid cutoff 15, productive floor 16 and both tail offsets +1/5, the normalized paid-plus-discarded-target bound is strictly below one. +All discarded complete productive outputs become owned zero inputs and are +charged in `D=19950^768-W`. Their productive mass is not retained. + +The uniform compiler uses gap `10^-10`, theta `42/43`, logarithm power 610, +and integer threshold `H=293160000000000`. The integer inequality is checked +at the displayed threshold, and the preceding grid point fails. Cover loss +is separately debited by another `10^-10`, leaving covered saving +`0.0038525298`. The receipt supplies the product, reset, owned and ordinary +compiler constants rather than omitting these enormous finite costs. + +The full changed ordinary recount is: + +| Quantity | Bound | +| --- | ---: | +| Visible native/caller work | 363,507,600 | +| Routed whole-job work | 740,743,004,160 | +| Combined ordinary work | 741,106,511,760 < 10^12 | +| Owned bank | 6,878,988 < 10^7 | + +The same fixed `10^12` allowance funds the two native copies; it is not +doubled for free. The source tariff is inherited. Neither the emitted +enormous product nor a physical fixed-tape implementation is materialized. + +Crucially, the ordinary bootstrap does **not** use #6726 or #6834 as its +starting backend, since that would re-import their empty-credit dependency. +It starts from the selected `17/5000=0.0034`, authenticated by the selected +record and `frontier6030/CLAIM.json`. For atom `a=1/250`, each step checks +the full envelope `(1-a)*covered + a*previous`, strict improvement and both +stock inequalities. The steps are + +`0.0034 -> 0.0038507 -> 0.00385248`. + +The first envelope is `0.0038507196808`; the second is +`0.0038525224808`. One step cannot justify the retained final saving. +The selected backend is a source-bound inherited contract, not rerun here. + +## 6. Validation and limits + +Run `python3 -I -B check.py` with Python 3.11+ and the standard library. +It authenticates retained sources, recomputes the caller and receipt, compares +all proof-relevant fields against the frozen artifacts without writing, and +checks exact identities and the full displayed budget. Artifact generation is +available only through explicit `--write`. Negative controls +remove a LOCAL, the second native in a pair, QUERY, IDLE_ONE, ADD or SWAP; +replace QUERY with ADD; erase a target's q factor; and introduce a 1/2 +coefficient. Each relevant formal or integrality gate rejects it. The +determinant fixtures retain q distinct from 1 and show why QSELF would fall +outside the obstruction. + +The five framework assumptions remain: native_all_columns, owned_erasure, +compiler, precision_tape and analytic_recovery. The inherited one-field idle, +whole-job adapter, scalar and routing tariffs still require their usual +source-contract review. No new opcode is introduced; no empty-body root +input is assumed acceptable. The paired composition is a concrete formal +caller and complete conditional invoice, not an unconditional multiplication +theorem or a maintainer-admitted frontier update. + +## Open next questions + +1. Independently review the 36 native-call embeddings and the reuse of the + common head/body interface on two disjoint arrays per port. The finite + caller equality does not establish every physical all-width contract. +2. Can two actual BIT copies share productive helper infrastructure while + retaining the E-free caller? First require a complete F2 endpoint and + frame invoice; simple identification of helper registers can leak old + inputs and must not be credited from the complex construction. +3. Can a different fixed target contract avoid doubling an odd 111-port layer? + The determinant proof says exactly which current assumptions must change. + +Credit: DreamingOfClouds for the chain-root BIT and E-free roots; @CubeJerry +for #6912 caller blocks and #6980's separated QUERY-only replacement; zxv +and the retained authors for #6726's integral transfer and full admission +framework; Ali Romman and Cinna Davis for the root/native lineage. Source +notices remain unchanged. This specialization, parity analysis and complete +recount were prepared with substantial OpenAI Codex assistance. Apache-2.0. diff --git a/research/paired-query-only-bit/README.md b/research/paired-query-only-bit/README.md new file mode 100644 index 0000000000..d19e0fe255 --- /dev/null +++ b/research/paired-query-only-bit/README.md @@ -0,0 +1,83 @@ +# E-free BIT dependency at the existing ordinary saving 0.00385248 + +This package removes the empty-body root-credit premise from the chain-root +BIT dependency while retaining **ordinary saving 0.00385248**, already declared +by #6834. **No new kappa or raw-moment improvement is claimed.** + +CubeJerry's #6980 QUERY-only replacement is specialized integrally to BIT. +Two actual 111-port native calls at each of 18 body stages supply 111 pairs +of E-free chains. The resulting 798-event, 38-input caller has no QSELF, +empty-body target or productive rank-1 credit. Its complete profiles satisfy +`Tnew = 2 Told - 222 H1` and `Pnew = 2 Pold - 222 H1` for the pinned #6834 +invoice, so every signed moment and the existing crossing are preserved up to +the common factor two. The parity argument in [PROOF.md](PROOF.md) explains +why the same fixed target contract cannot remove all empty fields on just +111 chains using the existing scalar caller operations. + +| Complete check | Result | +| --- | --- | +| Formal caller coefficients | 1,444 forward + 1,444 reverse | +| Actual native invocations | 36; each has its own helper inputs | +| Productive fields / paid jobs | 19,950 / 107,352 | +| Rank surplus | 1,506 | +| Raw crossing | (0.0038525393934, 0.0038525393935), unchanged | +| Visible + routed ordinary work | 741,106,511,760 < 10^12 | +| Owned bank | 6,878,988 < 10^7 | +| Ordinary bootstrap | selected 0.0034 → 0.0038507 → 0.00385248 | + +The bootstrap begins with the source-bound selected BIT backend, so it does +not re-import #6726's or #6834's empty-credit supplier as an ordinary backend. +All finite target losses, paid splits, compiler and cover margins, routes, +owned reserves and both ordinary wrapper envelopes are recomputed. + +## Reproduce + +Python 3.11+; standard library; about 12 seconds: + +```sh +python3 -I -B research/paired-query-only-bit/check.py +``` + +From a standalone exported package, use `python3 -I -B check.py` instead. +Expected status: `PASS_PAIRED_EFREE_BIT_EXISTING_00385248`. +`INPUT-PINS.json` authenticates vendored source bytes and records their original +Git heads, paths and blobs; these off-main Git objects are not required for +replay. `SOURCES.json` pins only base-main provenance. Package-local changes +trigger replay automatically. `TASK.json` retains the canonical task +card and declares the change of scope. `VERIFY.json` provides the bounded hook. +Default replay is read-only: it compares the caller's decompressed payload and +every proof-relevant receipt field. Elapsed time and gzip container bytes are +not mathematical identity tests. Authors may regenerate with `check.py --write`. + +An additional independently written model-run replay is included: + +```sh +python3 -I -B independent/bit_review.py --efree --package . --out - +``` + +It uses a separate reverse bitset engine and certified 80-digit fixed-grid +intervals. Its frozen receipt is `INDEPENDENT-REVIEW.json`; both registered +commands are read-only. This is independent implementation evidence, not an +external human scientific review. + +The exact caller and the accounting are conditional on the retained native, +owned, whole-job/one-field idle, compiler, precision/tape and analytic +contracts. This package does not rerun the selected backend or independently +prove the all-width native theorem. The same five framework assumptions +remain; maintainer acceptance and an unconditional multiplier are not claimed. + +## Open next questions + +1. Review the 36 explicit native embeddings and the unchanged head/body and + owned interface contracts; finite scalar equality alone is insufficient. +2. Build a genuinely shared paired BIT native word, if one exists, with a + complete F2 endpoint and paid frame invoice. No sharing gain is claimed here. +3. Investigate a changed target contract outside the fixed odd-port determinant + obstruction. See `TASK.json` for first steps and blockers. + +DreamingOfClouds supplied the chain-root BIT and E-free roots; @CubeJerry supplied +#6980's QUERY-only replacement; zxv and the retained authors supplied #6726's +integral transfer and admission framework. Ali Romman and Cinna Davis retain +the root/native lineage credit. This paired specialization, parity analysis +and complete accounting were prepared with substantial OpenAI Codex assistance. +See [NOTICE](NOTICE) and the retained source notices. Apache-2.0. diff --git a/research/paired-query-only-bit/SOURCES.json b/research/paired-query-only-bit/SOURCES.json new file mode 100644 index 0000000000..92ffea8fd2 --- /dev/null +++ b/research/paired-query-only-bit/SOURCES.json @@ -0,0 +1,31 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "files": [ + { + "path": "certificates/frontier6030/CLAIM.json", + "usage": "provenance", + "git_blob": "f32ff3779274a349dc8af2e84a4c6234c6d62406", + "sha256": "9cee8a1304fa893be3d3b641eda42fdd9b2fd6a5ac2124fb891de7a1a5e8d92e" + }, + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + }, + { + "path": "docs/research/pr-intake-evidence/pr6030-audit/PROOF-REVIEW.md", + "usage": "provenance", + "git_blob": "26f2f6324bce57e69e861d2aae5a27c9de325a8e", + "sha256": "8bd158b8ef68202000f167b9b78db0b31531b5b067b5cbd91b5bf35f3ddd1ab6" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + } + ], + "source_exports": "INPUT-PINS.json authenticates package-local copies of off-main source artifacts without requiring their Git objects." +} diff --git a/research/paired-query-only-bit/TASK.json b/research/paired-query-only-bit/TASK.json new file mode 100644 index 0000000000..c161e2f623 --- /dev/null +++ b/research/paired-query-only-bit/TASK.json @@ -0,0 +1,82 @@ +{ + "schema_version": 1, + "task_id": "bit-helper-contract", + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_card": { + "id": "bit-helper-contract", + "question": "Can a changed G20 helper path or independent-target split improve the complete BIT moment without losing its physical endpoint?", + "starting_points": [ + "docs/research/current-priorities.md", + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "research/g20-helper-split/README.md", + "research/g20-conjugation-admission/README.md" + ], + "methods": [ + "Construct and independently check one source-bound instance of the stated first experiment.", + "Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change." + ], + "acceptance_gate": "A full boundary contract and paid profile; unchanged scalar counts alone are insufficient. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.", + "scope": "Source-bound orientation only, not a supplier replay or theorem proof." + }, + "first_experiment": "First read #5679/#5708 and their audits as pending component proposals. Choose one uncovered helper group/cut on an exact word; compare arbitrary-input native action, targets, owned storage, both orientations and full signed bill. Stop if the gain is only a scalar count or repaid by lost targets. Do not rerun the frozen #5609 common-frame domain without changing its hypothesis.", + "bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.", + "allowed_variations": [ + "One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes." + ], + "scope_change_triggers": [ + "Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.", + "Treating an archived proposal or local numerical pass as complete supplier admission." + ], + "overlap_terms": [ + "G20", + "helper split", + "5679", + "5708", + "independent target" + ], + "existing_checks": [ + { + "scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.", + "evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.", + "status": "reviewed", + "source_commit": "09dd0965711ca7eeb169057a420abab1c9052137", + "selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5" + } + ] + }, + "scope_status": "changed", + "scope_change_reason": "Assigned changed BIT root/retirement screen rediscovered #6834; after overlap check pivoted to complete E-free BIT specialization of #6980 with a parity-driven doubled native layer. No new kappa is claimed.", + "actual_scope": "Exact paired QUERY-only E-free BIT caller, all-rank signed-moment identity, odd-port determinant obstruction and complete finite/compiler/ordinary budget from selected .0034 backend.", + "bottleneck_link": "Remove the empty-body root-credit premise from an existing BIT dependency without borrowing native ports or omitting ordinary costs.", + "time_budget_minutes": 70, + "outcome": "partial", + "evidence": "PROOF.md; EFREE-RESULT.json; EFREE-CALLER.json.gz; check.py; retained byte-authenticated native/compiler/interval sources.", + "stop_rule": "Stop if the exact paired caller or complete finite/ordinary bill fails, or if older work already removes the BIT empty-body credit with the same source contract. No same-profile numeric tightening is claimed.", + "author": "Integer-multiplication research contribution; retained predecessor credit includes @CubeJerry, DreamingOfClouds, zxv, Ali Romman and Cinna Davis.", + "ai_assistance": "Substantial OpenAI Codex assistance for construction, proof, source checks and independent review.", + "open_questions": [ + { + "question": "Do the two actual native invocations satisfy every physical head/body/owned contract at their 36 embeddings?", + "why_it_matters": "Formal endpoint equality does not reprove all-width native or tape tariffs.", + "first_step": "Review native_instances and the unchanged rational chart source certificate.", + "blocked_by": "Inherited native_all_columns, owned_erasure and precision_tape contracts." + }, + { + "question": "Can paired BIT native copies share helper infrastructure profitably?", + "why_it_matters": "A real native profile change could improve the still limiting raw moment.", + "first_step": "Build one exact F2 helper-sharing word with all old inputs and chart endpoints preserved.", + "blocked_by": "No verified shared BIT source word yet." + } + ] +} diff --git a/research/paired-query-only-bit/VALIDATION.md b/research/paired-query-only-bit/VALIDATION.md new file mode 100644 index 0000000000..24015ba128 --- /dev/null +++ b/research/paired-query-only-bit/VALIDATION.md @@ -0,0 +1,12 @@ +# Publication validation + +Python 3.12, standard library, base `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. + +- `python3 -B scripts/research_package.py --package research/paired-query-only-bit`: PASS, including the primary reconstruction and the independently implemented reverse/operator/arithmetic check. +- `python3 -I -O -B research/paired-query-only-bit/check.py`: PASS. The independent checker separately requires assertions enabled and rejects optimized mode. +- `git diff --check` and the committed-byte/mode preflight: PASS for the tested package. No unrelated tracked paths are changed. +- The two verification commands are read-only. Exact caller/receipt hashes and the independent proof-relevant results are retained in the package; the primary receipt's elapsed time is observational only. + +The optional `--check-source-history` preflight refused this deliberately shallow checkout because it requires full Git history. No full-history pass is claimed. Main-commit provenance validation and all vendored source byte checks passed; off-main source exports are authenticated locally by INPUT-PINS.json and require no foreign Git objects for replay. + +No hosted CI, maintainer acceptance, formal proof-assistant verification or complete physical multiplier is claimed. The source tariff, compiler and five framework assumptions remain explicit in PROOF.md. diff --git a/research/paired-query-only-bit/VERIFY.json b/research/paired-query-only-bit/VERIFY.json new file mode 100644 index 0000000000..947d52114c --- /dev/null +++ b/research/paired-query-only-bit/VERIFY.json @@ -0,0 +1,34 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/check.py" + ], + "timeout_seconds": 120, + "checks": "Source hashes, exact798-event38-role characteristic-two caller (1444 forward/reverse coefficients), all36 actual native occurrences, full native/helper/root/idle/query invoice, paired moment identity, no empty target/rank1credit, independent interval/finite/compiler/ordinary bootstrap, missing-gate/division/header/parity controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/independent/bit_review.py", + "--efree", + "--package", + "{package}", + "--out", + "-" + ], + "timeout_seconds": 120, + "checks": "Separate reverse bitset caller/native endpoint, source-bounded exponent packing, all native/root/idle/query histogram terms, 80-digit fixed-grid intervals, finite loss and uniform compiler, ordinary recount and selected .0034 bootstrap; stdout only." + } + ] +} diff --git a/research/paired-query-only-bit/check.py b/research/paired-query-only-bit/check.py new file mode 100644 index 0000000000..0f27d6b90c --- /dev/null +++ b/research/paired-query-only-bit/check.py @@ -0,0 +1,343 @@ +#!/usr/bin/env python3 +"""Paired E-free BIT specialization and complete conditional accounting. +Only the E-free caller is emitted. Apache-2.0. +Source authors retained in NOTICE and SOURCES. OpenAI Codex assistance. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +from functools import lru_cache +import gzip, hashlib, importlib.util, json, time, sys +H = Path(__file__).resolve().parent +RAW = Q('.00385253') +GAP = Q(1, 10 ** 10) + +def need(ok, msg): + if not ok: + raise ValueError(msg) + +def load(path, name): + spec = importlib.util.spec_from_file_location(name, path) + m = importlib.util.module_from_spec(spec) + spec.loader.exec_module(m) + return m + +def encode(x): + if isinstance(x, Q): + return str(x) + if isinstance(x, dict): + return {str(k): encode(v) for k, v in x.items()} + if isinstance(x, (tuple, list)): + return [encode(v) for v in x] + return x + +def authenticate(): + manifest = json.loads((H / 'INPUT-PINS.json').read_text()) + for f in manifest['files']: + if 'local' not in f: + continue + need(hashlib.sha256((H / f['local']).read_bytes()).hexdigest() == f['sha256'], 'source hash ' + f['local']) + return manifest + +def construct_efree(c=None): + """Specialize #6980's type-A QUERY-only pair; instantiate111 pairs. + Each of18 body stages executes TWO actual111-port native calls. First + call handles the first shear in every pair, second the other shear. + Their body axes agree, but inputs, helpers and owned lifetimes are distinct. + """ + c = json.loads((H / 'data/query_only_6980.json').read_text()) if c is None else c + events = [] + discarded = Counter() + need((c['roles'], c['stages'], c['types']['A']['roles'], c['types']['A']['alpha2']) == (76, 18, 38, '-1'), 'exact #6980 paired interface') + for e in c['events']: + if e[0] == 'J': + _, s, (src, dst, x2, y2), other = e + need(len({src, dst, x2, y2}) == 4 and all((0 <= r < 38 for r in (src, dst, x2, y2))), 'two disjoint native shears') + events += [['LOCAL', s, src, dst], ['LOCAL', s, y2, x2]] + continue + tag, op, *a = e + roles = a[:2] if op in ('ADD', 'SWAP', 'QUERY') else a[:1] + if tag == 'B': + need(all((38 <= r < 76 for r in roles)), 'B support disjoint') + discarded[op] += 1 + continue + need(tag == 'A' and all((0 <= r < 38 for r in roles)), 'only A support') + if op == 'LAMBDA': + need(a[1] in (-1, 1), 'lambda becomes1 before mod2') + elif op == 'SCALE': + need(Q(a[1]) in (-1, 1), 'integral unit') + elif op == 'ADD': + v = Q(a[2]) + need(v.denominator == 1, 'integral A coefficient after lambda removal') + if v.numerator % 2: + events.append(['ADD', *a[:2]]) + elif op == 'QUERY': + need(a[2] in (-1, 1), 'central involution') + events.append(['QUERY', *a[:2]]) + elif op in ('SWAP', 'IDLE_ONE'): + events.append([op, *a]) + else: + raise ValueError('unimplemented A opcode ' + op) + diagonal = [{'q': d[0] % 2, 'stages': [j + 1 for j, x in enumerate(d[2:]) if x]} for d in c['types']['A']['diagonal']] + need(len(diagonal) == 38 and all((d['stages'] for d in diagonal)), 'all root targets have nonempty body masks') + return (dict(schema='paired-efree-bit/1', roles=38, stages=18, ports=111, native_per_stage=2, body_rank=7, ambient_rank=127, events=events, diagonal=diagonal), dict(discarded)) + +def parity_certificate(): + """Finite algebra fixtures for the determinant argument in PROOF.md.""" + + def mul(a, b): + return (a & 1) * (b & 1) ^ (a >> 1 & 1) * (b >> 1 & 1) | ((a & 1) * (b >> 1 & 1) ^ (a >> 1 & 1) * (b & 1)) << 1 + + def power(a, n): + out = 1 + for _ in range(n): + out = mul(out, a) + return out + + def det2(a, b, c, d): + return mul(a, d) ^ mul(b, c) + need(mul(2, 2) == 1 and 2 != 1, 'formal q is an involution distinct from1') + need(det2(1, 2, 0, 1) == det2(1, 1, 0, 1) == det2(0, 1, 1, 0) == 1, 'QUERY,ADD,SWAP determinants1') + need(power(2, 19 * 111) == 2 and power(2, 19 * 222) == 1, 'odd root target determinant obstruction; doubled target passes') + need(det2(2, 0, 0, 1) == 2, 'QSELF changes the excluded determinant') + return {'ring': 'F2[q]/(q^2-1)', 'q_ne_1': True, 'single_layer_root_targets': 19 * 111, 'single_layer_target_determinant': 'q', 'allowed_D1_gate_determinants': '1', 'doubled_root_targets': 19 * 222, 'doubled_target_determinant': '1', 'scope': 'Fixed19q-targets per chain,111ports,existing scalar caller operations; no extra target or QSELF/owned operator. Not a general obstruction on BIT algorithms.'} + +def forward(w, collapse_header=False): + n = w['roles'] + width = w['stages'] + 1 + zero = (0,) * width + rows = [[{zero} if i == j else set() for j in range(n)] for i in range(n)] + + def shift(row, ss=(), q=0): + out = [] + for cell in row: + cc = set() + for key in cell: + k = list(key) + k[0] = 0 if collapse_header else k[0] ^ q + for s in ss: + k[s] += 1 + z = tuple(k) + if z in cc: + cc.remove(z) + else: + cc.add(z) + out.append(cc) + return out + seen = [] + for e in w['events']: + op = e[0] + if op == 'ADD': + _, a, b = e + rows[a] = [x ^ y for x, y in zip(rows[a], rows[b])] + elif op == 'SWAP': + _, a, b = e + rows[a], rows[b] = (rows[b], rows[a]) + elif op in ('LOCAL', 'QUERY'): + if op == 'LOCAL': + _, s, src, dst = e + seen.append(s) + else: + _, dst, src = e + rows[dst] = [x ^ y for x, y in zip(rows[dst], shift(rows[src], q=1))] + if op == 'LOCAL': + rows[src] = shift(rows[src], [s]) + rows[dst] = shift(rows[dst], [s]) + elif op == 'IDLE_ONE': + _, a, ss = e + need(len(ss) == len(set(ss)), 'fresh idle axes') + rows[a] = shift(rows[a], ss) + else: + raise ValueError(op) + need(sorted(seen) == [s for s in range(1, width) for _ in range(w.get('native_per_stage', 1))], 'every real native occurrence counted') + for i, d in enumerate(w['diagonal']): + key = (0 if collapse_header else d['q'],) + tuple((int(s in d['stages']) for s in range(1, width))) + for j in range(n): + need(rows[i][j] == ({key} if i == j else set()), f'forward coefficient {i},{j}') + return n * n + +def main(): + started = time.monotonic() + write_artifacts = '--write' in sys.argv + manifest = authenticate() + efree = True + w, discarded = construct_efree() + forward_count = forward(w) + F = 36 + scale = 2 + root_thin = 4 + prior_chain = json.loads((H / 'data/6834_result.json').read_text()) + claim = Q(prior_chain['ordinary_admitted']) + need(claim == Q('.00385248'), 'retain existing #6834 saving') + audit = load(H / 'retained/audit_binary_mixed.py', 'retained_audit') + reverse_count = audit.backward(w) + sourceblob = (H / 'retained/inputs/BIT-NATIVE-WORD.json.gz').read_bytes() + p0, t0, source = audit.source_audit(json.loads(gzip.decompress(sourceblob))) + need(hashlib.sha256(sourceblob).hexdigest() == prior_chain['native_source_sha256'], 'same actual native as #6834') + P = Counter({r: F * c for r, c in p0.items()}) + T = Counter({r: F * c for r, c in t0.items()}) + for e in w['events']: + if e[0] == 'QUERY': + P[1] += 111 + elif e[0] == 'IDLE_ONE': + P[7 * len(e[2])] += 111 + for d in w['diagonal']: + T[d['q'] + 7 * len(d['stages'])] += 111 + expectedP = Counter({r: F * c for r, c in p0.items()}) + expectedP[1] += root_thin * 111 + for size in range(1, 9): + expectedP[7 * size] += scale * 222 + expectedT = Counter({r: F * c for r, c in t0.items()}) + expectedT[127] += scale * 111 + if not True: + expectedT[1] += 111 + for size in range(1, 10): + expectedT[1 + 7 * size] += scale * 222 + need(T == expectedT and P == expectedP, 'independent closed-form actual-source invoice') + need(sum((r * v for r, v in T.items())) - sum((r * v for r, v in P.items())) == scale * 753, 'no invented rank mass') + baseline = prior_chain + for current, oldhist in ((T, baseline['targets']), (P, baseline['paid'])): + scaled = Counter({int(r): 2 * v for r, v in oldhist.items()}) + scaled[1] -= 222 + scaled = Counter({r: v for r, v in scaled.items() if v}) + need(current == scaled, 'all-rank identity: twice original profile minus222 rank1 jobs') + negative = {} + for op in ('LOCAL', 'QUERY', 'IDLE_ONE', 'ADD', 'SWAP'): + bad = json.loads(json.dumps(w)) + del bad['events'][next((i for i, e in enumerate(bad['events']) if e[0] == op))] + try: + audit.backward(bad) + except ValueError as e: + negative['missing_' + op] = str(e) + else: + raise ValueError('corruption accepted: ' + op) + bad = json.loads(json.dumps(w)) + at = [i for i, e in enumerate(bad['events']) if e[0] == 'LOCAL'][1] + del bad['events'][at] + try: + audit.backward(bad) + except ValueError as e: + negative['missing_second_native_in_pair'] = str(e) + else: + raise ValueError('free second native accepted') + bad = json.loads((H / 'data/query_only_6980.json').read_text()) + at = next((i for i, e in enumerate(bad['events']) if e[:2] == ['A', 'ADD'])) + bad['events'][at][-1] = '1/2' + try: + construct_efree(bad) + except ValueError as e: + negative['division_by2_after_specialization'] = str(e) + else: + raise ValueError('illegal mod2 coefficient accepted') + parity = parity_certificate() + bad = json.loads(json.dumps(w)) + at = next((i for i, e in enumerate(bad['events']) if e[0] == 'QUERY')) + bad['events'][at][0] = 'ADD' + need(forward(bad, collapse_header=True) == w['roles'] ** 2, 'q=1 specialization is blind to QUERY replaced by ADD') + try: + audit.backward(bad) + except ValueError as e: + negative['QUERY_replaced_by_ADD_despite_q1_pass'] = str(e) + else: + raise ValueError('formal involution corruption accepted') + bad = json.loads(json.dumps(w)) + bad['diagonal'][19]['q'] = 0 + try: + audit.backward(bad) + except ValueError as e: + negative['root_header_target_declared_identity'] = str(e) + else: + raise ValueError('root header work silently dropped') + need(all((d['stages'] for d in w['diagonal'])) and 1 not in T, 'no empty root and no productive rank1 credit') + C = load(H / 'retained/inputs/credited_trim.py', 'finite_compiler') + I = load(H / 'retained/inputs/independent_interval.py', 'independent_interval') + cert = C.certificate(T, P, RAW, 768, 15, 16, Q(1, 5), Q(1, 5), uniform_gap=GAP, label='paired_efree_bit', source_status=f"Integral caller with{w['roles']}independent roles; unchanged #6726 BIT native111 ports per actual call; {F}actual calls; all{w['roles'] ** 2}forward and reverse coefficients") + + @lru_cache(None) + def power(r, t): + lo, hi = I.power(r, t) + s = 10 ** 65 + return (Q((lo * s).__floor__(), s), Q(-(-hi * s).__floor__(), s)) + + def moment(hist, t): + lo = hi = Q(0) + for r, n in hist.items(): + x, y = power(r, t) + lo += n * x + hi += n * y + return (lo, hi) + + def margin(k, targets=T, paid=P): + tt, pp = (moment(targets, 1 - k), moment(paid, 1 - k)) + return (tt[0] - pp[1], tt[1] - pp[0]) + low, high = (Q('.0038525393934'), Q('.0038525393935')) + need(margin(low)[0] > 0 and margin(high)[1] < 0, 'independent crossing bracket') + need(margin(RAW)[0] > 0, 'strict raw saving') + t = 1 - RAW + tt = moment(T, t) + u = Q(1, 5) + ratios = (I.div(moment(P, t), tt), I.div(moment(P, t + u), I.mul(power(15, u), tt)), I.div(I.mul(power(16, u), moment(T, t - u)), tt)) + limits = list(map(Q, cert['rational_upper_limits'])) + for r, bound in zip(ratios, limits): + need(0 < r[0] <= r[1] <= bound < 1, 'independent finite tail bound') + aa, gg, ll = limits + norm = 1 / (1 + 768 * (1 - aa)) + 2 * gg ** 768 + ll ** 768 + need(norm < 1, 'all discarded targets and paid splits funded') + compiler = cert['uniform_compiler'] + threshold = compiler['H'] + p = compiler['logarithm_power'] + e = compiler['integer_test_exponent'] + need(threshold == GAP.denominator * e and (threshold + 1) ** p < 2 ** e, 'independent uniform integer threshold') + need(not (GAP.denominator * (e - 1) + 1) ** p < 2 ** (e - 1), 'previous compiler grid rejected') + ops = Counter((e[0] for e in w['events'])) + n, m, h = (111, w['roles'], 127) + thin = ops['QUERY'] + idles = ops['IDLE_ONE'] + basis = n * 8 * (ops['ADD'] + 3 * ops['SWAP']) + visible = F * 10 ** 7 + basis + 256 * n * (F + thin + m) + route_per = 8 * (10 * h * h + 10 * h) + route_count = 4 * (sum(P.values()) + sum(T.values())) + 8 * n * F + 8 * n * idles + routes = route_per * route_count + owned = F * source['owned_labels'] + 2 * n * m * len(w['events']) + 16 * n * (F + thin + m) + need(visible + routes < 10 ** 12 and owned < 10 ** 7, 'all ordinary work and storage funded') + selected = json.loads((H / 'data/selected_claim.json').read_text()) + record = json.loads((H / 'data/selected_record.json').read_text()) + need(hashlib.sha256((H / 'data/selected_claim.json').read_bytes()).hexdigest() == record['certificate_sha256'], 'selected BIT bootstrap certificate binding') + seed = Q(selected['admitted_BIT_saving']) + need(seed == Q('17/5000'), 'source-backed ordinary bootstrap') + previous = seed + covered = RAW - 2 * GAP + atom = Q('.004') + stages = [] + for admitted in (Q('.0038507'), claim): + envelope = (1 - atom) * covered + atom * previous + need(atom > envelope > admitted > previous and atom < 1 - envelope, 'full wrapper envelope and stock') + stages.append(dict(previous=previous, covered=covered, atom=atom, envelope=envelope, admitted=admitted, strict_debit=envelope - admitted)) + previous = admitted + need(stages[0]['envelope'] < claim, 'one wrapper cannot justify final claimed saving') + instances = [] + for index, event in enumerate((e for e in w['events'] if e[0] == 'LOCAL')): + stage = event[1] + copy = index % scale + instances.append({'stage': stage, 'copy': copy, 'source_register': event[2], 'destination_register': event[3], 'ports': 111, 'fresh_helper_namespace': f'stage{stage}_copy{copy}', 'body_axes': list(range(1 + 7 * (stage - 1), 1 + 7 * stage))}) + need(len(instances) == F and len({(i['stage'], i['copy']) for i in instances}) == F, 'every distinct native call supplied') + stem = 'EFREE-' + blob = gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0) + caller_path = H / (stem + 'CALLER.json.gz') + if write_artifacts: + caller_path.write_bytes(blob) + else: + frozen_blob = caller_path.read_bytes() + need(json.loads(gzip.decompress(frozen_blob)) == w, 'deterministic caller payload equals frozen artifact') + blob = frozen_blob + out = dict(status='PASS_PAIRED_EFREE_BIT_EXISTING_00385248', ordinary_admitted=claim, previous_ordinary=seed, ordinary_gain=None, existing_same_profile_ordinary=prior_chain['ordinary_admitted'], raw_tested=RAW, raw_crossing=[low, high], covered_saving=covered, caller_sha256=hashlib.sha256(blob).hexdigest(), native_source_sha256=hashlib.sha256(sourceblob).hexdigest(), source_pins=manifest['pins'], forward_coefficients=forward_count, reverse_coefficients=reverse_count, source=source, native_paid=dict(sorted(p0.items())), native_helpers=dict(sorted(t0.items())), paid=dict(sorted(P.items())), targets=dict(sorted(T.items())), paid_jobs=sum(P.values()), productive_fields=sum(T.values()), rank_surplus=scale * 753, native_calls=F, native_instances=instances, independent_moment_intervals={str(k): I.bounds_text(margin(k), 28) for k in (RAW, low, high)}, finite_admission=cert, independent_finite_ratios=[I.bounds_text(r, 28) for r in ratios], independent_normalized_upper=I.bounds_text((norm, norm), 28), event_counts=dict(ops), events=len(w['events']), discarded_source_stream=discarded, empty_body_targets={'count': 0, 'rank1_productive_credit': 0}, ordinary_basis_records=basis, ordinary_visible_records=visible, whole_job_route_count=route_count, whole_job_route_records=routes, ordinary_record_allowance=10 ** 12, owned_bank_bound=owned, compiler_constants={'U_raw': f'sum(i=0..767,{sum(T.values())}^(767-i)*{sum(P.values())}^i)', 'D': f'{sum(T.values())}^768-W', 'O': f'{owned}*U_raw+D', 'G': f'1000000000000*U_raw+8*R+2*{sum(T.values())}^768', 'E': '64*(Z+N+P+G+1)^3', 'B_constant': 'P+E', 'C0': '32*N*B_constant^2'}, ordinary_bootstrap=stages, negative_controls=negative, odd_port_determinant=parity, assumptions=['native_all_columns', 'owned_erasure', 'compiler', 'precision_tape', 'analytic_recovery'], scope='Paired E-free BIT specialization of#6980 with two actual native copies per stage; removes empty-body credit with unchanged complete signed moment crossing of#6834; inherited framework; no new kappa or native theorem reproof.', new_global_kappa_claim=False, seconds=time.monotonic() - started) + result_path = H / (stem + 'RESULT.json') + if write_artifacts: + result_path.write_text(json.dumps(encode(out), indent=2) + '\n') + else: + frozen = json.loads(result_path.read_text()) + compared = {k: v for k, v in encode(out).items() if k != 'seconds'} + need(compared == {k: v for k, v in frozen.items() if k != 'seconds'}, 'every proof-relevant receipt field equals frozen artifact') + print(json.dumps(encode({k: out[k] for k in ('status', 'ordinary_admitted', 'ordinary_gain', 'raw_crossing', 'events', 'event_counts', 'productive_fields', 'paid_jobs', 'ordinary_visible_records', 'whole_job_route_records', 'owned_bank_bound', 'seconds')}), indent=2)) +if __name__ == '__main__': + main() diff --git a/research/paired-query-only-bit/data/6834_result.json b/research/paired-query-only-bit/data/6834_result.json new file mode 100644 index 0000000000..6d01ba48a3 --- /dev/null +++ b/research/paired-query-only-bit/data/6834_result.json @@ -0,0 +1,210 @@ +{ + "assumptions": [ + "native_all_columns", + "owned_erasure", + "compiler", + "precision_tape", + "analytic_recovery" + ], + "caller_binary_sha256": "37882e89f07ecb9fd745983114d45fd44372f5f0408c70e9d3a17c93068b0a24", + "caller_complex_sha256": "91ae353aa5c3b7bbbeccccb1b05f330174eb587e890639549b35ba509dfd6d73", + "details": { + "binary_events": { + "ADD": 240, + "IDLE_ONE": 16, + "LOCAL": 18, + "QUERY": 3, + "SWAP": 393 + }, + "complex_coefficients": 400, + "complex_events": 1237, + "f2_forward_coefficients": 400, + "integer_forward_coefficients": 400, + "negative_controls": { + "dyadic_basis_not_integral": "integral coefficient", + "missing_IDLE_ONE": "reverse coefficient 0,1", + "missing_IDLE_ONE_f2": "('F2 coefficient', 0, 1)", + "missing_LAMBDA": "('complex coefficient', 0, 1)", + "missing_LOCAL": "reverse coefficient 0,0", + "missing_LOCAL_f2": "All native stages once", + "missing_QUERY": "reverse coefficient 0,0", + "missing_QUERY_f2": "('F2 coefficient', 0, 0)", + "missing_even_ADD_integer_engine": "('Z coefficient', 0, 2)", + "missing_input_basis": "reverse coefficient 0,1", + "missing_output_basis": "reverse coefficient 18,0", + "saving_above_crossing": "unfunded above crossing", + "shrunk_idle": "('F2 coefficient', 0, 1)", + "stray_xor": "('F2 coefficient', 3, 5)" + }, + "owned_bank_bound": 3051882, + "paid_jobs": 53787, + "productive_fields": 10086, + "rank_mass_surplus": 753, + "retained_inputs": 7, + "reverse_coefficients": 400, + "route_records": 371526328320, + "visible_records": 182425128, + "wrapper": [ + { + "admitted": "77/20000", + "atom": "1/250", + "covered": "19262499/5000000000", + "envelope": "4815112151/1250000000000", + "previous": "187499/50000000", + "strict_debit": "2612151/1250000000000" + }, + { + "admitted": "12039/3125000", + "atom": "1/250", + "covered": "19262499/5000000000", + "envelope": "4815612251/1250000000000", + "previous": "77/20000", + "strict_debit": "12251/1250000000000" + } + ] + }, + "finite_admission": { + "alpha": { + "lower": "0.999999947437519652905010351617", + "upper": "0.999999947437519652905010351618" + }, + "ambient": "127^768", + "construction": "chronological product; specialize low complete targets to owned zero; retain all original paid calls; split paid calls on disjoint axes", + "cutoff_base": 15, + "floor_base": 16, + "gamma": { + "lower": "0.873062541103340723286507104516", + "upper": "0.873062541103340723286507104517" + }, + "label": "binary_chain_nested_root", + "lambda": { + "lower": "0.949975483607972772783239386665", + "upper": "0.949975483607972772783239386666" + }, + "maximum_paid": "15^768", + "minimum_retained_target": "16^768", + "normalized_paid_plus_lost_target_upper": { + "lower": "0.999959633644868411565545713992", + "upper": "0.999959633644868411565545713993" + }, + "owned_allocation_records_bound": "2*10086^768", + "paid": { + "1": 25281, + "14": 222, + "2": 22554, + "21": 222, + "28": 222, + "3": 1116, + "35": 222, + "4": 846, + "42": 222, + "49": 222, + "5": 162, + "56": 222, + "6": 1872, + "7": 402 + }, + "paid_tail_offset": "1/5", + "product_or_uniform_word_materialized": false, + "product_raw_invocation_count": "sum(i=0..767, 10086^(767-i)*53787^i)", + "rank_mass_surplus": "positive by separated t-moment advantage; no discarded target mass retained as credit", + "rational_upper_limits": [ + "12499999342969/12500000000000", + "873062541103341/1000000000000000", + "949975483607973/1000000000000000" + ], + "retained_productive_fields": "W = sum over target tuples with product >= 16^768 of their multiplicities", + "source_paid_calls": 53787, + "source_paid_rank_mass": 146367, + "source_public_fields": 10086, + "source_status": "Literal 670-event integral-reduction caller; 400 forward and reverse coefficients; unchanged inherited all-width native theorem", + "specialized_initial_and_final": 0, + "specialized_owned_fields": "D = 10086^768 - W", + "split_paid_calls_upper": "146367^768", + "strict_normalized_gap": { + "lower": "0.000040366355131588434454286007", + "upper": "0.000040366355131588434454286008" + }, + "target_tail_offset": "1/5", + "targets": { + "1": 111, + "127": 111, + "15": 222, + "2": 18, + "22": 222, + "29": 222, + "36": 222, + "4": 450, + "43": 222, + "50": 222, + "57": 222, + "6": 18, + "64": 222, + "8": 7602 + }, + "tensor_power": 768, + "tested_saving": "1541/400000", + "uniform_compiler": { + "H": 293160000000000, + "N": "2^293160000000000", + "eta": { + "lower": "0.000000593960417838613341040722", + "upper": "0.000000593960417838613341040723" + }, + "gap": "1/10000000000", + "integer_test_exponent": 29316, + "logarithm_power": 610, + "ordinary_base_bound": { + "lower": "1677127.751416368025468277615234271455", + "upper": "1677127.751416368025468277615234271456" + }, + "preceding_integer_grid_fails": true, + "previous_logarithm_power_fails": true, + "proof": "retained separated finite compiler and logarithmic majorant, with all new owned fields charged", + "theta": "42/43", + "uniform_saving": "38524999/10000000000" + } + }, + "native_source_sha256": "51203e7fc75ba10bd3ac3f8e675759f47e13d262bea66b6600d1e515095cad78", + "ordinary_admitted": "12039/3125000", + "paid": { + "1": 25281, + "2": 22554, + "3": 1116, + "4": 846, + "5": 162, + "6": 1872, + "7": 402, + "14": 222, + "21": 222, + "28": 222, + "35": 222, + "42": 222, + "49": 222, + "56": 222 + }, + "previous_ordinary": "187499/50000000", + "raw_crossing": [ + "19262696967/5000000000000", + "7705078787/2000000000000" + ], + "raw_tested": "1541/400000", + "scope": "BIT dependency bound only; no overall kappa claim.", + "status": "PASS_BIT_CHAIN_NESTED_ROOT", + "targets": { + "1": 111, + "2": 18, + "4": 450, + "6": 18, + "8": 7602, + "15": 222, + "22": 222, + "29": 222, + "36": 222, + "43": 222, + "50": 222, + "57": 222, + "64": 222, + "127": 111 + } +} diff --git a/research/paired-query-only-bit/data/6980_PROOF.md b/research/paired-query-only-bit/data/6980_PROOF.md new file mode 100644 index 0000000000..2f8610ae45 --- /dev/null +++ b/research/paired-query-only-bit/data/6980_PROOF.md @@ -0,0 +1,287 @@ +# Removing both separated QSELF sites within the existing paid budget + +Prepared for **@CubeJerry**, with substantial OpenAI assistance. Apache-2.0. +**No new kappa. Exact formal caller identity; physical and rounded interfaces remain conditional.** + +## 1. Exact claim, sources and novelty + +Canonical base: `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +The source is DreamingOfClouds' [#6937](https://github.com/CrocSwap/integer-mult-bounds/pull/6937), +head `a98df73ddae1d1ea85a62b6bdf2714b28cb7b359`, +`research/p104-two-chain-findings/data/caller_efree.json` (Git blob +`5a71ca9f80ced1aeb8a68e97516cab52eb72a52a`). The unchanged local native word +is from [#6936](https://github.com/CrocSwap/integer-mult-bounds/pull/6936), +head `03626137d0bd57f09b0bf9597376183ce6fa9683`. + +The E-free root and caller are entirely DreamingOfClouds' work. Its README +reports a QUERY-only gadget with a projected cost loss, while saying the +whole QUERY-only caller was not built. The preceding public package +`CubeJerry/integer-mult-bounds@4e2fd1b6abed49c202a057fd5c73ead0a460f976`, +`research/p104-qself-owned-lowering`, supplies the reproducible formal caller +certificate and an owned QSELF expansion with an explicitly uninstalled new +token registry. Its single-QSELF determinant obstruction expressly leaves +paired source synthesis open. This package supplies a different result: a +whole actual separated interval replacement with the same paid profile and +only existing caller operations. It does not rerun or extend that obstruction. + +**Theorem.** Let Q,D_1,...,D_18 be commuting operators on any complex vector +space V, with Q^4=I. Interpret the exact pinned caller with its stated scalar, +QUERY, LAMBDA, IDLE_ONE and joint-contact semantics. Replace zero-based events +457 through 575 inclusive by the 223 events emitted by `replacement.py`. +The resulting 3,095-event caller has exactly the same operator on all 76 +independent inputs. It has no QSELF event. The replaced interval uses exactly +three QUERY(-1) events, the same number of rank-one jobs as its former two +QSELF(-1) events and one QUERY(-1). It uses the same public roles and no new +owned role, arbitrary helper, productive credit, or operation type. + +This theorem includes all input columns and absolute coefficients in the +commutative operator model. It does not assert success on the same finite +signed or rounded inputs, install a physical compiler/service binding, or +prove the retained scalar and routing rates. Those are separate obligations. + +## 2. A three-query identity on four arbitrary fields + +Work first in R=Q(i)[q]/(q^4-1). Put x=q^-1 and t=x^2=q^2, so t^2=1 and +x^-1=t*x. The source's actual phase units are + + lambda_s = ((1+s*i)+(1-s*i)*q^2)/2, s in {+1,-1}. + +They satisfy lambda_+*lambda_-=1 and lambda_+^2=lambda_-^2=t. They are +**units, not the projection (1+q^2)/2**. No inverse of a projection or of any +D variable is used anywhere below. + +For four arbitrary independent fields (a,b,c,d), perform the invertible +q-even preprocessing + + (w1,w2,w3,w4) = (c, a+d, b+t*c, t*d). + +Then perform exactly three generalized query shears in this order: + + w1 <- w1 + x*w2; + w2 <- w2 + x*(w3-t*w1); + w3 <- w3 + x*(w4-t*w2). + +Each query is one literal QUERY(-1). Its indicated source is made by an even +ADD into the other existing public field, then restored after the query. +The query destination differs from that source, so restoring the source +does not undo the update. Multiplication by t uses two source LAMBDA(+1) +events. A temporary t scaling is undone by two LAMBDA(-1) events. These +scans and field transformations are charged; they are not a free oracle. + +After these three steps direct substitution gives + + w1 = c+x*(a+d), + w2 = x*b, + w3 = t*c+t*x*d, + w4 = t*d. + +The even postprocessing + + (w1-t*w3, w2, t*w3, t*w4) + +therefore returns exactly + + (x*a, x*b, c+x*d, d). + +The gadget is a genuine four-input map. In particular d is arbitrary and +restored, and c is arbitrary and receives the prescribed shear. No field is +assumed zero. The emitted word uses 38 existing events: three QUERYs, +26 LAMBDAs, seven ADDs and two SWAPs. The inverse even basis exists over the +entire quotient ring, including q=+/-i. The exact local matrix certificate +checks every coefficient, and a separate unit-basis round trip detects loss +of either q^2 sector. + +## 3. Why that gadget replaces the actual separated sites + +Use column-vector convention: later operations multiply on the left. Let +S_0 multiply role0 by x, S_19 multiply role19 by x, and let +U=I+x*e0*e1^T be the actual QUERY at event495. Partition the intervening +even source events exactly as follows: + +| Block | Zero-based source events | Roles | Content | +| --- | --- | --- | --- | +| E1 | 458..494 | 0..18 | Invertible ADD/SCALE/LAMBDA prefix | +| E2 | 496..544 | 0..18 | Invertible ADD/SCALE/SWAP/LAMBDA suffix | +| B | 545..574 | 19..37 | Other chain prefix, including IDLE_ONE(28,[9]) | + +The original complete interval is the matrix S_19 B E2 U E1 S_0. +Every operation in B has support disjoint from every first-chain operation. +Thus B may move to the right of all first-chain factors, and S_19 may move +leftward across first-chain factors. We obtain + + E2 E1 (E1^-1 U E1) S_0 S_19 B. + +**B is never inverted.** Its IDLE_ONE multiplies by the unrestricted formal +D9 and may be noninvertible. It moves only across disjoint role supports. +E1 alone is conjugated, and its scalar factors are units. + +Let + + s = e1+...+e18, + w = sum_{k=1}^{18} (-1)^k e_k^T, + lambda = lambda_+. + +Then w*s=0 and w*e0=w*e19=0. Reading the actual E1 events gives + + E1^-1 e0 = lambda*(-e0+s), e1^T E1 = w. + +For example, E1 sends role0 to -lambda_- times its old value, sends each +rolek for 2<=k<=18 to old rolek+old role0, and sends role1 to w applied to +the old roles. Solving E1 v=e0 gives the displayed inverse column; this does +not infer a source relation from a finite input probe. Hence + + E1^-1 U E1 = I + x*lambda*(s-e0)*w. + +Writing S=S_0 S_19, the three paid source operations reduce to + + (E1^-1 U E1) S + = S (I+x*lambda*s*w) (I-lambda*e0*w). + +All cross terms vanish because w kills s,e0,e19. This is the source-specific +correction missed by treating the two QSELF sites as an adjacent pair. +The original QUERY contributes the nontrivial independent shear along s. + +Now change the first-chain coordinates using only existing even events. +Subtract role1 from each role2..18. Into role2 add (-1)^k times rolek for +k=3..18, then apply LAMBDA(+1) to role2. The new coordinates include + + c = old role1, + d = lambda*w(old roles). + +The other residual roles retain all remaining independent input information. +The inverse first applies LAMBDA(-1) to role2, undoes its signed sum, and +adds the new role1 into roles2..18. Increasing c in these coordinates +increases every original role1..18 by the same amount: its direction is s. + +Call this invertible coordinate map P^-1. Its two emitted directions each +cost 34 events. In coordinates (a,b,c,d)=(role0,role19,role1,role2), the +factor I-lambda*e0*w is simply ADD(0,2,-1). The factor +S(I+x*lambda*s*w) is exactly the four-field map in section2. + +The complete replacement is therefore, chronologically: + + B; P^-1; ADD(0,2,-1); THREE_QUERIES; P; E1; E2. + +Its event count is 30+34+1+38+34+37+49=223. All source events before457 and +after575 remain byte-for-byte equal as parsed records. This construction +replaces the whole separated interval, not merely a same-cut subexpression. + +## 4. Formal certificates and failure detection + +`interval_certificate.py` is a separate exact sparse-matrix implementation. +It starts with 38 independent interval input generators. Coefficients are +Gaussian rationals, q exponents are reduced only modulo4, and D monomials +are sorted tuples with repetitions retained. The complete two interval +matrices agree in all 180 nonzero endpoint entries. The interval uses D9, +but never specializes it or assumes its inverse or idempotence. + +The full generated caller is also replayed by the unchanged public forward +certificate over Q(i)[q,D1,...,D18]/(q^4-1). All 18 D variables remain +formal and all 76 input generators remain independent. It returns the same +76 diagonal monomials as the source. A different unchanged backward-covector +checker uses integer dyadics at q=1,i,-1,-i, with D variables still formal. +Evaluation at all four distinct fourth roots is injective coefficientwise +on this quotient, so these checks are faithful operator certificates, not +sampled D or sampled field-value experiments. + +The newly supplied interval arithmetic imports none of those predecessor +arithmetic routines. The reused forward and backward engines are credited; +replaying either alone would be regression evidence, not a new independent +implementation. The proof above derives the identity without their code. + +Controls change a query orientation, delete one query, omit the source +conjugation correction, break a t scaling/restoration, repeat D9, contaminate +another independent input, replace lambda with a projection, and remove the +q^4 relation by working modulo q^8-1. Each changes the exact interval matrix. +These controls do not prove minimality of three queries or a general lower +bound for another word. + +Induction over the exact source semantics proves that each matrix entry is +the indicated formal coefficient. A homomorphism into the commuting operator +algebra generated by Q,D maps the identity to every V and every collection +of input fields. No dimension bound, sampled numerical values, or rounded +input assumptions enter that exact theorem. + +## 5. Complete recursive profile and positive ordinary invoice + +Each A event occurs at 96 actual ports. The replacement deletes 192 QSELF +instances, adds 192 QUERY instances, and leaves the former QUERY instances +in the total paid count. Across the full caller, the source has 224 QUERYs +plus 192 QSELFs; the new caller has 416 QUERYs and zero QSELFs. All queries +here have exponent -1, so both complete frame conversions and the return +translation have the same inherited charge per job. + +The 18 local native words, their 400 actual main fields per call, and their +1,061 fresh arbitrary helper fields per call are unchanged. The caller still +has 3,952 actual A/B main inputs and 19,098 fresh local helpers. The root +targets are unchanged, with no empty-mask E input restored or credited. +For every rank r, T_new(r)=T_source(r) and P_new(r)=P_source(r). Thus every +signed target/paid moment agrees identically as a function of kappa. The +complete totals remain T=23,050, P=117,846; surplus=1,520; paid rank mass=317,324. + +No public role is newly allocated. The temporary linear sources in section2 +use already live roles and are restored by ordinary invertible operations. +The existing QUERY contract still needs its copied owned bank and completed +query lifecycle. Three serial query jobs can reuse its fixed inventory; there +are 416 outer query lifetimes overall, the same total as QUERY plus owned +QSELF lifetimes in the baseline. No uninitialized or arbitrary helper is +treated as zero, and no productive target is claimed for query scratch. +All private native workspace, historical backing and parked ancestors remain +charged by the inherited QUERY/LAMBDA/scalar interfaces. + +Under the **inherited scalar/routing convention**, the extra 104 A events +cost 104*32*38*96=12,140,544 units. The extra 28 A LAMBDAs receive the +separate conservative charge 28*1,000*96=2,688,000. The eliminated owned +QSELF-specific macro surcharge is 192*128=24,576. Every other term remains. + +| Complete conditional invoice | QSELF baseline | QUERY-only caller | +| --- | ---: | ---: | +| Reviewed raw ordinary upper | 796,934,944 | 809,050,912 | +| Separate LAMBDA reading | 11,792,000 | 14,480,000 | +| Per-call 1125 conversion reading | 2,734,992 | 2,734,992 | +| All displayed readings included | 811,461,936 | 826,265,904 | +| Margin below inherited 10^9 cap | 188,538,064 | 173,734,096 | + +`complete_invoice.py` reconstructs the unchanged local word and both caller +profiles and checks each changed term. These are conditional scalar/pass +counts, not a new proof of the complete bit-tape tariff. Increased arithmetic +length, temporary coefficients and cross-chain intermediate values require +fresh rounding, signed-width, common-grid and source-placement bounds. There +is no claimed improvement to the accepted kappa or unconditional theorem. + +## 6. Remaining obligations and credit + +The substitution removes the need for a new abstract QSELF operation in this +exact proposed caller. It does not prove arbitrary-Q synthesis: the gadget +and actual source phase algebra use Q^4=I. It neither changes the selected +certificate nor discharges all native_all_columns, owned_erasure, compiler, +precision_tape or analytic_recovery premises. + +Before physical supplier use, regenerate the actual compiler records and +bind the new source occurrences to the existing QUERY, LAMBDA and scalar +providers; prove matching formats and all intermediate signed admission; +reprice complete bit-tape work and historical backing; and propagate errors +through the changed order and additional even operations. Existing opcode +semantics alone do not install an exact source-specific service registry. + +DreamingOfClouds receives credit for #6936/#6937, the E-free construction and +prior QUERY-only feasibility suggestion. The public owned-lowering package +receives credit for the prior formal engines, exact semantics/source pins and +full invoice baseline. Its underlying native, caller, compiler and physical +predecessors retain their attribution. The three-query four-input identity, +its exact separated-source reduction, emitted whole caller and new interval +certificate were prepared for @CubeJerry with substantial OpenAI assistance. + +## Open next questions + +1. Can the regenerated caller satisfy the actual common-format and rounded + QUERY/LAMBDA contracts at this interval? Start with its 223 new intermediate + coefficient rows and the actual source compiler; exact operator equality + does not establish headroom or an error budget. +2. Can the 28 added LAMBDA occurrences be reduced without increasing the paid + profile or changing arbitrary-input restoration? Preserve this complete + verified source as the baseline; an isolated two-register identity is + insufficient. This optimization is outside the present bounded task. +3. Can the resulting existing-op caller be admitted with all native/owned + dependencies and a complete bit-tape certificate? The inherited tariff, + literal source registry and universal proof assumptions remain blockers. diff --git a/research/paired-query-only-bit/data/query_only_6980.json b/research/paired-query-only-bit/data/query_only_6980.json new file mode 100644 index 0000000000..cf55f42710 --- /dev/null +++ b/research/paired-query-only-bit/data/query_only_6980.json @@ -0,0 +1 @@ +{"schema":"mixed-root-caller/1","stages":18,"ambient_rank":153,"roles":76,"types":{"A":{"form":"two-chain-HOST2","roles":38,"offset":0,"ports":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,36,37,38,39,40,41,43,44,45,46,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],"alpha2":"-1","beta2":"0","diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]]},"B":{"form":"hosted-HOST","roles":38,"offset":38,"ports":[15,17,27,34,35,42,47,55],"diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]],"pairs":[[0,1,"-1","1/2","-1/2"],[2,3,"-1","1/2","-1/2"],[4,5,"-1","1/2","-1/2"],[6,7,"-1","1/2","-1/2"],[8,9,"-1","1/2","-1/2"],[10,11,"-1","1/2","-1/2"],[12,13,"-1","1/2","-1/2"],[14,15,"-1","1/2","-1/2"],[16,17,"-1","1/2","-1/2"],[22,23,"-1","1/2","-1/2"],[24,25,"-1","1/2","-1/2"],[26,27,"-1","1/2","-1/2"],[28,29,"-1","1/2","-1/2"],[30,31,"-1","1/2","-1/2"],[32,33,"-1","1/2","-1/2"],[34,35,"-1","1/2","-1/2"],[36,37,"-1","1/2","-1/2"],[38,39,"-1","1/2","-1/2"]]}},"events":[["A","ADD",0,1,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","SWAP",19,20],["A","SCALE",20,"-1"],["A","LAMBDA",19,1],["B","ADD",40,41,"-2"],["B","ADD",39,41,"1"],["B","ADD",38,41,"2"],["B","ADD",39,40,"1"],["B","ADD",38,40,"1"],["B","ADD",38,39,"-2"],["B","SCALE",39,"256"],["B","ADD",41,39,"-1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"1/64"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["J",1,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",1,2,"1"],["A","ADD",0,2,"-1"],["A","SCALE",1,"-1"],["A","SWAP",1,2],["A","ADD",2,0,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",20,21,"1"],["A","ADD",19,21,"-1"],["A","SCALE",20,"-1"],["A","SWAP",20,21],["A","SCALE",19,"-1"],["A","ADD",21,19,"1"],["A","SWAP",19,20],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[1]],["B","IDLE_ONE",41,[1]],["B","ADD",42,43,"-2"],["B","ADD",40,43,"-2"],["B","ADD",39,43,"-256"],["B","ADD",38,43,"-128"],["B","ADD",41,42,"1"],["B","ADD",40,42,"-2"],["B","ADD",39,42,"-256"],["B","ADD",39,41,"256"],["B","ADD",38,41,"-128"],["B","ADD",38,40,"-128"],["B","ADD",41,40,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",43,39,"-1/128"],["B","ADD",42,39,"1/128"],["B","ADD",41,39,"1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",43,38,"1/128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",2,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[2,3,4,5,6,7,8,9]],["A","ADD",1,3,"1"],["A","ADD",0,3,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,3],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[2,3,4,5,6,7,8,9]],["A","ADD",20,22,"1"],["A","ADD",19,22,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,22],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",41,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",42,[2]],["B","IDLE_ONE",43,[2]],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",39,45,"-256"],["B","ADD",38,45,"-128"],["B","ADD",43,44,"1"],["B","ADD",42,44,"-2"],["B","ADD",39,44,"-256"],["B","ADD",39,43,"256"],["B","ADD",38,43,"-128"],["B","ADD",38,42,"-128"],["B","ADD",43,42,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",45,39,"-1/128"],["B","ADD",44,39,"1/128"],["B","ADD",43,39,"1/128"],["B","ADD",42,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",45,38,"1/128"],["B","ADD",43,38,"-1/128"],["B","ADD",42,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",3,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",3,[3,4,5,6,7,8,9]],["A","ADD",1,4,"1"],["A","ADD",0,4,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,4],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",22,[3,4,5,6,7,8,9]],["A","ADD",20,23,"1"],["A","ADD",19,23,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,23],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",42,[3,4,5,6,7,8,9]],["B","IDLE_ONE",43,[3,4,5,6,7,8,9]],["B","IDLE_ONE",44,[3]],["B","IDLE_ONE",45,[3]],["B","ADD",46,47,"-2"],["B","ADD",44,47,"-2"],["B","ADD",39,47,"-256"],["B","ADD",38,47,"-128"],["B","ADD",45,46,"1"],["B","ADD",44,46,"-2"],["B","ADD",39,46,"-256"],["B","ADD",39,45,"256"],["B","ADD",38,45,"-128"],["B","ADD",38,44,"-128"],["B","ADD",45,44,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",47,39,"-1/128"],["B","ADD",46,39,"1/128"],["B","ADD",45,39,"1/128"],["B","ADD",44,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",47,38,"1/128"],["B","ADD",45,38,"-1/128"],["B","ADD",44,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",4,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",4,[4,5,6,7,8,9]],["A","ADD",1,5,"1"],["A","ADD",0,5,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,5],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",23,[4,5,6,7,8,9]],["A","ADD",20,24,"1"],["A","ADD",19,24,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,24],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",44,[4,5,6,7,8,9]],["B","IDLE_ONE",45,[4,5,6,7,8,9]],["B","IDLE_ONE",46,[4]],["B","IDLE_ONE",47,[4]],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",39,49,"-256"],["B","ADD",38,49,"-128"],["B","ADD",47,48,"1"],["B","ADD",46,48,"-2"],["B","ADD",39,48,"-256"],["B","ADD",39,47,"256"],["B","ADD",38,47,"-128"],["B","ADD",38,46,"-128"],["B","ADD",47,46,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",49,39,"-1/128"],["B","ADD",48,39,"1/128"],["B","ADD",47,39,"1/128"],["B","ADD",46,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",49,38,"1/128"],["B","ADD",47,38,"-1/128"],["B","ADD",46,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",5,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",5,[5,6,7,8,9]],["A","ADD",1,6,"1"],["A","ADD",0,6,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,6],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",24,[5,6,7,8,9]],["A","ADD",20,25,"1"],["A","ADD",19,25,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,25],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",46,[5,6,7,8,9]],["B","IDLE_ONE",47,[5,6,7,8,9]],["B","IDLE_ONE",48,[5]],["B","IDLE_ONE",49,[5]],["B","ADD",50,51,"-2"],["B","ADD",48,51,"-2"],["B","ADD",39,51,"-256"],["B","ADD",38,51,"-128"],["B","ADD",49,50,"1"],["B","ADD",48,50,"-2"],["B","ADD",39,50,"-256"],["B","ADD",39,49,"256"],["B","ADD",38,49,"-128"],["B","ADD",38,48,"-128"],["B","ADD",49,48,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",51,39,"-1/128"],["B","ADD",50,39,"1/128"],["B","ADD",49,39,"1/128"],["B","ADD",48,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",51,38,"1/128"],["B","ADD",49,38,"-1/128"],["B","ADD",48,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",6,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",6,[6,7,8,9]],["A","ADD",1,7,"1"],["A","ADD",0,7,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,7],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",25,[6,7,8,9]],["A","ADD",20,26,"1"],["A","ADD",19,26,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,26],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",48,[6,7,8,9]],["B","IDLE_ONE",49,[6,7,8,9]],["B","IDLE_ONE",50,[6]],["B","IDLE_ONE",51,[6]],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",39,53,"-256"],["B","ADD",38,53,"-128"],["B","ADD",51,52,"1"],["B","ADD",50,52,"-2"],["B","ADD",39,52,"-256"],["B","ADD",39,51,"256"],["B","ADD",38,51,"-128"],["B","ADD",38,50,"-128"],["B","ADD",51,50,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",53,39,"-1/128"],["B","ADD",52,39,"1/128"],["B","ADD",51,39,"1/128"],["B","ADD",50,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",53,38,"1/128"],["B","ADD",51,38,"-1/128"],["B","ADD",50,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",7,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",7,[7,8,9]],["A","ADD",1,8,"1"],["A","ADD",0,8,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,8],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",26,[7,8,9]],["A","ADD",20,27,"1"],["A","ADD",19,27,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,27],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",50,[7,8,9]],["B","IDLE_ONE",51,[7,8,9]],["B","IDLE_ONE",52,[7]],["B","IDLE_ONE",53,[7]],["B","ADD",54,55,"-2"],["B","ADD",52,55,"-2"],["B","ADD",39,55,"-256"],["B","ADD",38,55,"-128"],["B","ADD",53,54,"1"],["B","ADD",52,54,"-2"],["B","ADD",39,54,"-256"],["B","ADD",39,53,"256"],["B","ADD",38,53,"-128"],["B","ADD",38,52,"-128"],["B","ADD",53,52,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",55,39,"-1/128"],["B","ADD",54,39,"1/128"],["B","ADD",53,39,"1/128"],["B","ADD",52,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",55,38,"1/128"],["B","ADD",53,38,"-1/128"],["B","ADD",52,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",8,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",8,[8,9]],["A","ADD",1,9,"1"],["A","ADD",0,9,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,9],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",27,[8,9]],["A","ADD",20,28,"1"],["A","ADD",19,28,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,28],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",52,[8,9]],["B","IDLE_ONE",53,[8,9]],["B","IDLE_ONE",54,[8]],["B","IDLE_ONE",55,[8]],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",39,57,"-256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"1"],["B","ADD",54,56,"-2"],["B","ADD",39,56,"-256"],["B","ADD",39,55,"256"],["B","ADD",38,55,"-128"],["B","ADD",38,54,"-128"],["B","ADD",55,54,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",57,39,"-1/128"],["B","ADD",56,39,"1/128"],["B","ADD",55,39,"1/128"],["B","ADD",54,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",57,38,"1/128"],["B","ADD",55,38,"-1/128"],["B","ADD",54,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",9,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",9,[9]],["A","SWAP",9,8],["A","SWAP",9,7],["A","SWAP",9,6],["A","SWAP",9,5],["A","SWAP",9,4],["A","SWAP",9,3],["A","SWAP",9,2],["A","ADD",0,1,"1"],["A","SCALE",1,"-1"],["A","SWAP",9,1],["A","ADD",18,0,"1"],["A","ADD",17,0,"1"],["A","ADD",16,0,"1"],["A","ADD",15,0,"1"],["A","ADD",14,0,"1"],["A","ADD",13,0,"1"],["A","ADD",12,0,"1"],["A","ADD",11,0,"1"],["A","ADD",10,0,"1"],["A","ADD",8,0,"1"],["A","ADD",7,0,"1"],["A","ADD",6,0,"1"],["A","ADD",5,0,"1"],["A","ADD",4,0,"1"],["A","ADD",3,0,"1"],["A","ADD",2,0,"1"],["A","ADD",1,0,"1"],["A","LAMBDA",0,1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",28,[9]],["A","SWAP",28,27],["A","SWAP",28,26],["A","SWAP",28,25],["A","SWAP",28,24],["A","SWAP",28,23],["A","SWAP",28,22],["A","SWAP",28,21],["A","ADD",19,20,"1"],["A","SCALE",20,"-1"],["A","SWAP",28,20],["A","ADD",37,19,"1"],["A","ADD",36,19,"1"],["A","ADD",35,19,"1"],["A","ADD",34,19,"1"],["A","ADD",33,19,"1"],["A","ADD",32,19,"1"],["A","ADD",31,19,"1"],["A","ADD",30,19,"1"],["A","ADD",29,19,"1"],["A","ADD",27,19,"1"],["A","ADD",26,19,"1"],["A","ADD",25,19,"1"],["A","ADD",24,19,"1"],["A","ADD",23,19,"1"],["A","ADD",22,19,"1"],["A","ADD",21,19,"1"],["A","ADD",20,19,"1"],["A","LAMBDA",19,1],["A","ADD",2,1,"-1"],["A","ADD",3,1,"-1"],["A","ADD",4,1,"-1"],["A","ADD",5,1,"-1"],["A","ADD",6,1,"-1"],["A","ADD",7,1,"-1"],["A","ADD",8,1,"-1"],["A","ADD",9,1,"-1"],["A","ADD",10,1,"-1"],["A","ADD",11,1,"-1"],["A","ADD",12,1,"-1"],["A","ADD",13,1,"-1"],["A","ADD",14,1,"-1"],["A","ADD",15,1,"-1"],["A","ADD",16,1,"-1"],["A","ADD",17,1,"-1"],["A","ADD",18,1,"-1"],["A","ADD",2,3,"-1"],["A","ADD",2,4,"1"],["A","ADD",2,5,"-1"],["A","ADD",2,6,"1"],["A","ADD",2,7,"-1"],["A","ADD",2,8,"1"],["A","ADD",2,9,"-1"],["A","ADD",2,10,"1"],["A","ADD",2,11,"-1"],["A","ADD",2,12,"1"],["A","ADD",2,13,"-1"],["A","ADD",2,14,"1"],["A","ADD",2,15,"-1"],["A","ADD",2,16,"1"],["A","ADD",2,17,"-1"],["A","ADD",2,18,"1"],["A","LAMBDA",2,1],["A","ADD",0,2,"-1"],["A","SWAP",0,1],["A","SWAP",19,1],["A","ADD",19,2,"1"],["A","LAMBDA",2,1],["A","LAMBDA",2,1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","QUERY",0,19,-1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","QUERY",19,1,-1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","LAMBDA",19,1],["A","LAMBDA",19,1],["A","ADD",2,19,"-1"],["A","LAMBDA",19,-1],["A","LAMBDA",19,-1],["A","QUERY",1,2,-1],["A","LAMBDA",19,1],["A","LAMBDA",19,1],["A","ADD",2,19,"1"],["A","LAMBDA",19,-1],["A","LAMBDA",19,-1],["A","LAMBDA",1,1],["A","LAMBDA",1,1],["A","ADD",0,1,"-1"],["A","LAMBDA",2,1],["A","LAMBDA",2,1],["A","LAMBDA",2,-1],["A","ADD",2,3,"1"],["A","ADD",2,4,"-1"],["A","ADD",2,5,"1"],["A","ADD",2,6,"-1"],["A","ADD",2,7,"1"],["A","ADD",2,8,"-1"],["A","ADD",2,9,"1"],["A","ADD",2,10,"-1"],["A","ADD",2,11,"1"],["A","ADD",2,12,"-1"],["A","ADD",2,13,"1"],["A","ADD",2,14,"-1"],["A","ADD",2,15,"1"],["A","ADD",2,16,"-1"],["A","ADD",2,17,"1"],["A","ADD",2,18,"-1"],["A","ADD",2,1,"1"],["A","ADD",3,1,"1"],["A","ADD",4,1,"1"],["A","ADD",5,1,"1"],["A","ADD",6,1,"1"],["A","ADD",7,1,"1"],["A","ADD",8,1,"1"],["A","ADD",9,1,"1"],["A","ADD",10,1,"1"],["A","ADD",11,1,"1"],["A","ADD",12,1,"1"],["A","ADD",13,1,"1"],["A","ADD",14,1,"1"],["A","ADD",15,1,"1"],["A","ADD",16,1,"1"],["A","ADD",17,1,"1"],["A","ADD",18,1,"1"],["A","ADD",1,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",1,10,"-1"],["A","ADD",1,9,"1"],["A","ADD",1,8,"-1"],["A","ADD",1,7,"1"],["A","ADD",1,6,"-1"],["A","ADD",1,5,"1"],["A","ADD",1,4,"-1"],["A","ADD",1,3,"1"],["A","ADD",1,2,"-1"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","ADD",17,0,"-1"],["A","ADD",16,0,"-1"],["A","ADD",15,0,"-1"],["A","ADD",14,0,"-1"],["A","ADD",13,0,"-1"],["A","ADD",12,0,"-1"],["A","ADD",11,0,"-1"],["A","ADD",10,0,"-1"],["A","ADD",9,0,"-1"],["A","ADD",8,0,"-1"],["A","ADD",7,0,"-1"],["A","ADD",6,0,"-1"],["A","ADD",5,0,"-1"],["A","ADD",4,0,"-1"],["A","ADD",3,0,"-1"],["A","ADD",2,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,1],["A","ADD",1,18,"-1"],["A","ADD",0,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",0,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",0,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",0,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",0,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",0,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",0,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",0,11,"1"],["A","ADD",1,10,"-1"],["A","SCALE",10,"-1"],["A","ADD",1,9,"1"],["A","ADD",0,9,"1"],["A","SWAP",18,9],["A","ADD",1,8,"-1"],["A","ADD",0,8,"-1"],["A","SWAP",17,8],["A","ADD",1,7,"1"],["A","ADD",0,7,"1"],["A","SWAP",16,7],["A","ADD",1,6,"-1"],["A","ADD",0,6,"-1"],["A","SWAP",15,6],["A","ADD",1,5,"1"],["A","ADD",0,5,"1"],["A","SWAP",14,5],["A","ADD",1,4,"-1"],["A","ADD",0,4,"-1"],["A","SWAP",13,4],["A","ADD",1,3,"1"],["A","ADD",0,3,"1"],["A","SWAP",12,3],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SWAP",11,2],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","SWAP",10,1],["A","SWAP",1,0],["A","ADD",0,1,"2"],["A","LAMBDA",0,-1],["A","ADD",20,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",20,29,"-1"],["A","ADD",20,28,"1"],["A","ADD",20,27,"-1"],["A","ADD",20,26,"1"],["A","ADD",20,25,"-1"],["A","ADD",20,24,"1"],["A","ADD",20,23,"-1"],["A","ADD",20,22,"1"],["A","ADD",20,21,"-1"],["A","SCALE",20,"-1"],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","ADD",36,19,"-1"],["A","ADD",35,19,"-1"],["A","ADD",34,19,"-1"],["A","ADD",33,19,"-1"],["A","ADD",32,19,"-1"],["A","ADD",31,19,"-1"],["A","ADD",30,19,"-1"],["A","ADD",29,19,"-1"],["A","ADD",28,19,"-1"],["A","ADD",27,19,"-1"],["A","ADD",26,19,"-1"],["A","ADD",25,19,"-1"],["A","ADD",24,19,"-1"],["A","ADD",23,19,"-1"],["A","ADD",22,19,"-1"],["A","ADD",21,19,"-1"],["A","LAMBDA",19,-1],["A","QUERY",19,20,-1],["A","LAMBDA",19,1],["A","ADD",20,37,"-1"],["A","ADD",19,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",19,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",19,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",19,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",19,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",19,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",19,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",19,30,"1"],["A","ADD",20,29,"-1"],["A","SCALE",29,"-1"],["A","ADD",20,28,"1"],["A","ADD",19,28,"1"],["A","SWAP",37,28],["A","ADD",20,27,"-1"],["A","ADD",19,27,"-1"],["A","SWAP",36,27],["A","ADD",20,26,"1"],["A","ADD",19,26,"1"],["A","SWAP",35,26],["A","ADD",20,25,"-1"],["A","ADD",19,25,"-1"],["A","SWAP",34,25],["A","ADD",20,24,"1"],["A","ADD",19,24,"1"],["A","SWAP",33,24],["A","ADD",20,23,"-1"],["A","ADD",19,23,"-1"],["A","SWAP",32,23],["A","ADD",20,22,"1"],["A","ADD",19,22,"1"],["A","SWAP",31,22],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SWAP",30,21],["A","ADD",19,20,"-1"],["A","SCALE",20,"-1"],["A","SWAP",29,20],["A","SCALE",19,"-1"],["A","SWAP",20,19],["A","ADD",19,20,"-2"],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",54,[9]],["B","IDLE_ONE",55,[9]],["B","IDLE_ONE",56,[9]],["B","IDLE_ONE",57,[9]],["B","ADD",56,75,"1"],["B","ADD",55,75,"1"],["B","ADD",53,75,"1"],["B","ADD",51,75,"1"],["B","ADD",49,75,"1"],["B","ADD",47,75,"1"],["B","ADD",45,75,"1"],["B","ADD",43,75,"1"],["B","ADD",41,75,"1"],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","ADD",56,73,"-1"],["B","ADD",55,73,"-1"],["B","ADD",53,73,"-1"],["B","ADD",51,73,"-1"],["B","ADD",49,73,"-1"],["B","ADD",47,73,"-1"],["B","ADD",45,73,"-1"],["B","ADD",43,73,"-1"],["B","ADD",41,73,"-1"],["B","ADD",39,73,"128"],["B","ADD",38,73,"-64"],["B","ADD",56,72,"2"],["B","ADD",55,72,"2"],["B","ADD",53,72,"2"],["B","ADD",51,72,"2"],["B","ADD",49,72,"2"],["B","ADD",47,72,"2"],["B","ADD",45,72,"2"],["B","ADD",43,72,"2"],["B","ADD",41,72,"2"],["B","ADD",39,72,"-256"],["B","ADD",38,72,"128"],["B","ADD",56,71,"-1"],["B","ADD",55,71,"-1"],["B","ADD",53,71,"-1"],["B","ADD",51,71,"-1"],["B","ADD",49,71,"-1"],["B","ADD",47,71,"-1"],["B","ADD",45,71,"-1"],["B","ADD",43,71,"-1"],["B","ADD",41,71,"-1"],["B","ADD",39,71,"128"],["B","ADD",38,71,"-64"],["B","ADD",56,69,"1"],["B","ADD",55,69,"1"],["B","ADD",53,69,"1"],["B","ADD",51,69,"1"],["B","ADD",49,69,"1"],["B","ADD",47,69,"1"],["B","ADD",45,69,"1"],["B","ADD",43,69,"1"],["B","ADD",41,69,"1"],["B","ADD",39,69,"-128"],["B","ADD",38,69,"64"],["B","ADD",56,68,"-2"],["B","ADD",55,68,"-2"],["B","ADD",53,68,"-2"],["B","ADD",51,68,"-2"],["B","ADD",49,68,"-2"],["B","ADD",47,68,"-2"],["B","ADD",45,68,"-2"],["B","ADD",43,68,"-2"],["B","ADD",41,68,"-2"],["B","ADD",39,68,"256"],["B","ADD",38,68,"-128"],["B","ADD",56,67,"1"],["B","ADD",55,67,"1"],["B","ADD",53,67,"1"],["B","ADD",51,67,"1"],["B","ADD",49,67,"1"],["B","ADD",47,67,"1"],["B","ADD",45,67,"1"],["B","ADD",43,67,"1"],["B","ADD",41,67,"1"],["B","ADD",39,67,"-128"],["B","ADD",38,67,"64"],["B","ADD",56,65,"-1"],["B","ADD",55,65,"-1"],["B","ADD",53,65,"-1"],["B","ADD",51,65,"-1"],["B","ADD",49,65,"-1"],["B","ADD",47,65,"-1"],["B","ADD",45,65,"-1"],["B","ADD",43,65,"-1"],["B","ADD",41,65,"-1"],["B","ADD",39,65,"128"],["B","ADD",38,65,"-64"],["B","ADD",56,64,"2"],["B","ADD",55,64,"2"],["B","ADD",53,64,"2"],["B","ADD",51,64,"2"],["B","ADD",49,64,"2"],["B","ADD",47,64,"2"],["B","ADD",45,64,"2"],["B","ADD",43,64,"2"],["B","ADD",41,64,"2"],["B","ADD",39,64,"-256"],["B","ADD",38,64,"128"],["B","ADD",56,63,"-1"],["B","ADD",55,63,"-1"],["B","ADD",53,63,"-1"],["B","ADD",51,63,"-1"],["B","ADD",49,63,"-1"],["B","ADD",47,63,"-1"],["B","ADD",45,63,"-1"],["B","ADD",43,63,"-1"],["B","ADD",41,63,"-1"],["B","ADD",39,63,"128"],["B","ADD",38,63,"-64"],["B","ADD",56,61,"1"],["B","ADD",55,61,"1"],["B","ADD",53,61,"1"],["B","ADD",51,61,"1"],["B","ADD",49,61,"1"],["B","ADD",47,61,"1"],["B","ADD",45,61,"1"],["B","ADD",43,61,"1"],["B","ADD",41,61,"1"],["B","ADD",39,61,"-128"],["B","ADD",38,61,"64"],["B","ADD",56,60,"-2"],["B","ADD",55,60,"-2"],["B","ADD",53,60,"-2"],["B","ADD",51,60,"-2"],["B","ADD",49,60,"-2"],["B","ADD",47,60,"-2"],["B","ADD",45,60,"-2"],["B","ADD",43,60,"-2"],["B","ADD",41,60,"-2"],["B","ADD",39,60,"256"],["B","ADD",38,60,"-128"],["B","ADD",56,59,"1"],["B","ADD",55,59,"1"],["B","ADD",53,59,"1"],["B","ADD",51,59,"1"],["B","ADD",49,59,"1"],["B","ADD",47,59,"1"],["B","ADD",45,59,"1"],["B","ADD",43,59,"1"],["B","ADD",41,59,"1"],["B","ADD",39,59,"-128"],["B","ADD",38,59,"64"],["B","ADD",39,57,"256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"-3/2"],["B","ADD",53,56,"-1"],["B","ADD",51,56,"-1"],["B","ADD",49,56,"-1"],["B","ADD",47,56,"-1"],["B","ADD",45,56,"-1"],["B","ADD",43,56,"-1"],["B","ADD",41,56,"-1"],["B","ADD",39,56,"128"],["B","ADD",38,56,"-64"],["B","SCALE",56,"1/2"],["B","ADD",53,55,"-1"],["B","ADD",51,55,"-1"],["B","ADD",49,55,"-1"],["B","ADD",47,55,"-1"],["B","ADD",45,55,"-1"],["B","ADD",43,55,"-1"],["B","ADD",41,55,"-1"],["B","ADD",39,55,"128"],["B","ADD",38,55,"64"],["B","SCALE",55,"-1"],["B","ADD",57,55,"1"],["B","SWAP",55,56],["B","ADD",53,54,"1/2"],["B","ADD",51,54,"1/2"],["B","ADD",49,54,"1/2"],["B","ADD",47,54,"1/2"],["B","ADD",45,54,"1/2"],["B","ADD",43,54,"1/2"],["B","ADD",41,54,"1/2"],["B","ADD",39,54,"-64"],["B","ADD",38,54,"-32"],["B","ADD",57,54,"1/2"],["B","ADD",56,54,"1/2"],["B","ADD",55,54,"1/2"],["B","ADD",51,52,"-1/2"],["B","ADD",49,52,"-1/2"],["B","ADD",47,52,"-1/2"],["B","ADD",45,52,"-1/2"],["B","ADD",43,52,"-1/2"],["B","ADD",41,52,"-1/2"],["B","ADD",39,52,"64"],["B","ADD",38,52,"32"],["B","ADD",57,52,"-1/2"],["B","ADD",56,52,"-1/2"],["B","ADD",55,52,"-1/2"],["B","ADD",53,52,"-1/2"],["B","ADD",49,51,"-1"],["B","ADD",47,51,"-2"],["B","ADD",45,51,"-1"],["B","ADD",43,51,"-1"],["B","ADD",41,51,"-1"],["B","ADD",39,51,"128"],["B","ADD",38,51,"64"],["B","ADD",57,51,"-1"],["B","ADD",56,51,"-1"],["B","ADD",55,51,"-1"],["B","ADD",53,51,"-1"],["B","ADD",47,50,"1/2"],["B","ADD",51,50,"-1/2"],["B","ADD",47,49,"-1"],["B","ADD",45,49,"-1"],["B","ADD",43,49,"-1"],["B","ADD",41,49,"-1"],["B","ADD",39,49,"128"],["B","ADD",38,49,"64"],["B","SCALE",49,"-1"],["B","ADD",57,49,"1"],["B","ADD",56,49,"1"],["B","ADD",55,49,"1"],["B","ADD",53,49,"1"],["B","SWAP",49,51],["B","ADD",47,48,"-1/2"],["B","ADD",49,48,"1/2"],["B","ADD",45,47,"-1"],["B","ADD",43,47,"-1"],["B","ADD",41,47,"-1"],["B","ADD",39,47,"128"],["B","ADD",38,47,"64"],["B","SCALE",47,"-1"],["B","ADD",57,47,"1"],["B","ADD",56,47,"1"],["B","ADD",55,47,"1"],["B","ADD",53,47,"1"],["B","ADD",51,47,"1"],["B","SWAP",47,49],["B","ADD",45,46,"1/2"],["B","ADD",43,46,"1/2"],["B","ADD",41,46,"1/2"],["B","ADD",39,46,"-64"],["B","ADD",38,46,"-32"],["B","ADD",57,46,"1/2"],["B","ADD",56,46,"1/2"],["B","ADD",55,46,"1/2"],["B","ADD",53,46,"1/2"],["B","ADD",51,46,"1/2"],["B","ADD",49,46,"1/2"],["B","ADD",47,46,"1/2"],["B","ADD",43,44,"-1/2"],["B","ADD",41,44,"-1/2"],["B","ADD",39,44,"64"],["B","ADD",38,44,"32"],["B","ADD",57,44,"-1/2"],["B","ADD",56,44,"-1/2"],["B","ADD",55,44,"-1/2"],["B","ADD",53,44,"-1/2"],["B","ADD",51,44,"-1/2"],["B","ADD",49,44,"-1/2"],["B","ADD",47,44,"-1/2"],["B","ADD",45,44,"-1/2"],["B","ADD",41,43,"-1"],["B","ADD",39,43,"128"],["B","ADD",38,43,"64"],["B","SCALE",43,"2"],["B","ADD",57,43,"-1/2"],["B","ADD",56,43,"-1/2"],["B","ADD",55,43,"-1/2"],["B","ADD",53,43,"-1/2"],["B","ADD",51,43,"-1/2"],["B","ADD",49,43,"-1/2"],["B","ADD",47,43,"-1/2"],["B","ADD",45,43,"-1/2"],["B","ADD",43,42,"-1"],["B","ADD",39,41,"128"],["B","ADD",38,41,"64"],["B","SCALE",41,"-1"],["B","ADD",57,41,"1"],["B","ADD",56,41,"1"],["B","ADD",55,41,"1"],["B","ADD",53,41,"1"],["B","ADD",51,41,"1"],["B","ADD",49,41,"1"],["B","ADD",47,41,"1"],["B","ADD",45,41,"1"],["B","SWAP",41,43],["B","ADD",41,40,"1"],["B","ADD",38,39,"-1/2"],["B","SCALE",39,"1/128"],["B","ADD",57,39,"1"],["B","ADD",56,39,"1"],["B","ADD",55,39,"1"],["B","ADD",53,39,"1"],["B","ADD",51,39,"1"],["B","ADD",49,39,"1"],["B","ADD",47,39,"1"],["B","ADD",45,39,"1"],["B","ADD",43,39,"1"],["B","SWAP",39,41],["B","SCALE",38,"1/128"],["B","ADD",57,38,"2"],["B","ADD",56,38,"2"],["B","ADD",55,38,"1"],["B","ADD",53,38,"1"],["B","ADD",51,38,"1"],["B","ADD",49,38,"1"],["B","ADD",47,38,"1"],["B","ADD",45,38,"1"],["B","ADD",43,38,"1"],["B","ADD",41,38,"1"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"-1"],["B","ADD",39,73,"1"],["B","ADD",39,72,"-2"],["B","ADD",39,71,"1"],["B","ADD",39,69,"-1"],["B","ADD",39,68,"2"],["B","ADD",39,67,"-1"],["B","ADD",39,65,"1"],["B","ADD",39,64,"-2"],["B","ADD",39,63,"1"],["B","ADD",39,61,"-1"],["B","ADD",39,60,"2"],["B","ADD",39,59,"-1"],["B","ADD",39,56,"-1"],["B","ADD",39,55,"2"],["B","ADD",39,54,"-1"],["B","ADD",39,52,"1"],["B","ADD",39,51,"-2"],["B","ADD",39,50,"1"],["B","ADD",39,48,"-1"],["B","ADD",39,47,"2"],["B","ADD",39,46,"-1"],["B","ADD",39,44,"1"],["B","ADD",39,43,"-2"],["B","ADD",39,42,"1"],["B","ADD",39,40,"-1"],["B","ADD",38,39,"-1"],["B","ADD",57,39,"-1"],["B","ADD",56,39,"-2"],["B","ADD",55,39,"-1"],["B","ADD",54,39,"-2"],["B","ADD",53,39,"-1"],["B","ADD",52,39,"-2"],["B","ADD",51,39,"-1"],["B","ADD",50,39,"-2"],["B","ADD",49,39,"-1"],["B","ADD",48,39,"-2"],["B","ADD",47,39,"-1"],["B","ADD",46,39,"-2"],["B","ADD",45,39,"-1"],["B","ADD",44,39,"-2"],["B","ADD",43,39,"-1"],["B","ADD",42,39,"-2"],["B","ADD",41,39,"-1"],["B","ADD",40,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",74,38,"-1"],["B","ADD",72,38,"-1"],["B","ADD",70,38,"-1"],["B","ADD",68,38,"-1"],["B","ADD",66,38,"-1"],["B","ADD",64,38,"-1"],["B","ADD",62,38,"-1"],["B","ADD",60,38,"-1"],["B","ADD",58,38,"-1"],["B","ADD",57,38,"-1"],["B","ADD",56,38,"-2"],["B","ADD",55,38,"-1"],["B","ADD",54,38,"-2"],["B","ADD",53,38,"-1"],["B","ADD",52,38,"-2"],["B","ADD",51,38,"-1"],["B","ADD",50,38,"-2"],["B","ADD",49,38,"-1"],["B","ADD",48,38,"-2"],["B","ADD",47,38,"-1"],["B","ADD",46,38,"-2"],["B","ADD",45,38,"-1"],["B","ADD",44,38,"-2"],["B","ADD",43,38,"-1"],["B","ADD",42,38,"-2"],["B","ADD",41,38,"-1"],["B","ADD",40,38,"-2"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","SCALE",38,"2"],["B","ADD",75,38,"-1"],["B","ADD",74,38,"-1/2"],["B","ADD",73,38,"-1"],["B","ADD",72,38,"-1/2"],["B","ADD",71,38,"-1"],["B","ADD",70,38,"-1/2"],["B","ADD",69,38,"-1"],["B","ADD",68,38,"-1/2"],["B","ADD",67,38,"-1"],["B","ADD",66,38,"-1/2"],["B","ADD",65,38,"-1"],["B","ADD",64,38,"-1/2"],["B","ADD",63,38,"-1"],["B","ADD",62,38,"-1/2"],["B","ADD",61,38,"-1"],["B","ADD",60,38,"-1/2"],["B","ADD",59,38,"-1"],["B","ADD",58,38,"-1/2"],["B","ADD",57,38,"-1/2"],["B","ADD",55,38,"-1/2"],["B","ADD",53,38,"-1/2"],["B","ADD",51,38,"-1/2"],["B","ADD",49,38,"-1/2"],["B","ADD",47,38,"-1/2"],["B","ADD",45,38,"-1/2"],["B","ADD",43,38,"-1/2"],["B","ADD",41,38,"-1/2"],["B","ADD",39,38,"1/2"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"-1"],["B","ADD",71,75,"-1"],["B","ADD",70,75,"-1"],["B","ADD",69,75,"-1"],["B","ADD",68,75,"-1"],["B","ADD",67,75,"-1"],["B","ADD",66,75,"-1"],["B","ADD",65,75,"-1"],["B","ADD",64,75,"-1"],["B","ADD",63,75,"-1"],["B","ADD",62,75,"-1"],["B","ADD",61,75,"-1"],["B","ADD",60,75,"-1"],["B","ADD",59,75,"-1"],["B","ADD",58,75,"-1"],["B","ADD",56,75,"1"],["B","ADD",54,75,"1"],["B","ADD",52,75,"1"],["B","ADD",50,75,"1"],["B","ADD",48,75,"1"],["B","ADD",46,75,"1"],["B","ADD",44,75,"1"],["B","ADD",42,75,"1"],["B","ADD",40,75,"1"],["B","ADD",38,75,"1"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"2"],["B","ADD",72,74,"2"],["B","ADD",71,74,"2"],["B","ADD",70,74,"2"],["B","ADD",69,74,"2"],["B","ADD",68,74,"2"],["B","ADD",67,74,"2"],["B","ADD",66,74,"2"],["B","ADD",65,74,"2"],["B","ADD",64,74,"2"],["B","ADD",63,74,"2"],["B","ADD",62,74,"2"],["B","ADD",61,74,"2"],["B","ADD",60,74,"2"],["B","ADD",59,74,"2"],["B","ADD",58,74,"2"],["B","ADD",56,74,"-2"],["B","ADD",54,74,"-2"],["B","ADD",52,74,"-2"],["B","ADD",50,74,"-2"],["B","ADD",48,74,"-2"],["B","ADD",46,74,"-2"],["B","ADD",44,74,"-2"],["B","ADD",42,74,"-2"],["B","ADD",40,74,"-2"],["B","ADD",38,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"3/2"],["B","SWAP",74,75],["B","ADD",71,72,"-1/2"],["B","ADD",70,72,"-1"],["B","ADD",69,72,"-1"],["B","ADD",68,72,"-1"],["B","ADD",67,72,"-1"],["B","ADD",66,72,"-1"],["B","ADD",65,72,"-1"],["B","ADD",64,72,"-1"],["B","ADD",63,72,"-1"],["B","ADD",62,72,"-1"],["B","ADD",61,72,"-1"],["B","ADD",60,72,"-1"],["B","ADD",59,72,"-1"],["B","ADD",58,72,"-1"],["B","ADD",56,72,"1"],["B","ADD",54,72,"1"],["B","ADD",52,72,"1"],["B","ADD",50,72,"1"],["B","ADD",48,72,"1"],["B","ADD",46,72,"1"],["B","ADD",44,72,"1"],["B","ADD",42,72,"1"],["B","ADD",40,72,"1"],["B","ADD",38,72,"1"],["B","SCALE",72,"-1/2"],["B","ADD",75,72,"2"],["B","ADD",74,72,"2"],["B","ADD",73,72,"2"],["B","ADD",70,71,"2"],["B","ADD",69,71,"2"],["B","ADD",68,71,"2"],["B","ADD",67,71,"2"],["B","ADD",66,71,"2"],["B","ADD",65,71,"2"],["B","ADD",64,71,"2"],["B","ADD",63,71,"2"],["B","ADD",62,71,"2"],["B","ADD",61,71,"2"],["B","ADD",60,71,"2"],["B","ADD",59,71,"2"],["B","ADD",58,71,"2"],["B","ADD",56,71,"-2"],["B","ADD",54,71,"-2"],["B","ADD",52,71,"-2"],["B","ADD",50,71,"-2"],["B","ADD",48,71,"-2"],["B","ADD",46,71,"-2"],["B","ADD",44,71,"-2"],["B","ADD",42,71,"-2"],["B","ADD",40,71,"-2"],["B","ADD",38,71,"-2"],["B","SCALE",71,"2"],["B","ADD",75,71,"1"],["B","ADD",74,71,"1"],["B","ADD",73,71,"1"],["B","ADD",72,71,"3/2"],["B","SWAP",71,72],["B","ADD",69,70,"-1"],["B","ADD",68,70,"-1/2"],["B","ADD",67,70,"-1"],["B","ADD",66,70,"-1"],["B","ADD",65,70,"-1"],["B","ADD",64,70,"-1"],["B","ADD",63,70,"-1"],["B","ADD",62,70,"-1"],["B","ADD",61,70,"-1"],["B","ADD",60,70,"-1"],["B","ADD",59,70,"-1"],["B","ADD",58,70,"-1"],["B","ADD",56,70,"1"],["B","ADD",54,70,"1"],["B","ADD",52,70,"1"],["B","ADD",50,70,"1"],["B","ADD",48,70,"1"],["B","ADD",46,70,"1"],["B","ADD",44,70,"1"],["B","ADD",42,70,"1"],["B","ADD",40,70,"1"],["B","ADD",38,70,"1"],["B","SCALE",70,"-1/2"],["B","ADD",75,70,"2"],["B","ADD",74,70,"2"],["B","ADD",73,70,"2"],["B","ADD",72,70,"2"],["B","ADD",71,70,"2"],["B","ADD",68,69,"1/2"],["B","ADD",67,69,"-1"],["B","ADD",66,69,"-1"],["B","ADD",65,69,"-1"],["B","ADD",64,69,"-1"],["B","ADD",63,69,"-1"],["B","ADD",62,69,"-1"],["B","ADD",61,69,"-1"],["B","ADD",60,69,"-1"],["B","ADD",59,69,"-1"],["B","ADD",58,69,"-1"],["B","ADD",56,69,"1"],["B","ADD",54,69,"1"],["B","ADD",52,69,"1"],["B","ADD",50,69,"1"],["B","ADD",48,69,"1"],["B","ADD",46,69,"1"],["B","ADD",44,69,"1"],["B","ADD",42,69,"1"],["B","ADD",40,69,"1"],["B","ADD",38,69,"1"],["B","SCALE",69,"-1"],["B","ADD",75,69,"1"],["B","ADD",74,69,"1"],["B","ADD",73,69,"1"],["B","ADD",72,69,"1"],["B","ADD",71,69,"1"],["B","ADD",70,69,"3/2"],["B","SWAP",69,70],["B","ADD",67,68,"2"],["B","ADD",66,68,"2"],["B","ADD",65,68,"2"],["B","ADD",64,68,"2"],["B","ADD",63,68,"2"],["B","ADD",62,68,"2"],["B","ADD",61,68,"2"],["B","ADD",60,68,"2"],["B","ADD",59,68,"2"],["B","ADD",58,68,"2"],["B","ADD",56,68,"-2"],["B","ADD",54,68,"-2"],["B","ADD",52,68,"-2"],["B","ADD",50,68,"-2"],["B","ADD",48,68,"-2"],["B","ADD",46,68,"-2"],["B","ADD",44,68,"-2"],["B","ADD",42,68,"-2"],["B","ADD",40,68,"-2"],["B","ADD",38,68,"-2"],["B","SCALE",68,"2"],["B","ADD",75,68,"1"],["B","ADD",74,68,"1"],["B","ADD",73,68,"1"],["B","ADD",72,68,"1"],["B","ADD",71,68,"1"],["B","ADD",70,68,"1"],["B","ADD",69,68,"3/2"],["B","SWAP",68,69],["B","ADD",66,67,"-1/2"],["B","ADD",65,67,"-1"],["B","ADD",64,67,"-1"],["B","ADD",63,67,"-1"],["B","ADD",62,67,"-1"],["B","ADD",61,67,"-1"],["B","ADD",60,67,"-1"],["B","ADD",59,67,"-1"],["B","ADD",58,67,"-1"],["B","ADD",56,67,"1"],["B","ADD",54,67,"1"],["B","ADD",52,67,"1"],["B","ADD",50,67,"1"],["B","ADD",48,67,"1"],["B","ADD",46,67,"1"],["B","ADD",44,67,"1"],["B","ADD",42,67,"1"],["B","ADD",40,67,"1"],["B","ADD",38,67,"1"],["B","SCALE",67,"-1/2"],["B","ADD",75,67,"2"],["B","ADD",74,67,"2"],["B","ADD",73,67,"2"],["B","ADD",72,67,"2"],["B","ADD",71,67,"2"],["B","ADD",70,67,"2"],["B","ADD",69,67,"2"],["B","ADD",68,67,"2"],["B","ADD",65,66,"2"],["B","ADD",64,66,"2"],["B","ADD",63,66,"2"],["B","ADD",62,66,"2"],["B","ADD",61,66,"2"],["B","ADD",60,66,"2"],["B","ADD",59,66,"2"],["B","ADD",58,66,"2"],["B","ADD",56,66,"-2"],["B","ADD",54,66,"-2"],["B","ADD",52,66,"-2"],["B","ADD",50,66,"-2"],["B","ADD",48,66,"-2"],["B","ADD",46,66,"-2"],["B","ADD",44,66,"-2"],["B","ADD",42,66,"-2"],["B","ADD",40,66,"-2"],["B","ADD",38,66,"-2"],["B","SCALE",66,"2"],["B","ADD",75,66,"1"],["B","ADD",74,66,"1"],["B","ADD",73,66,"1"],["B","ADD",72,66,"1"],["B","ADD",71,66,"1"],["B","ADD",70,66,"1"],["B","ADD",69,66,"1"],["B","ADD",68,66,"1"],["B","ADD",67,66,"3/2"],["B","SWAP",66,67],["B","ADD",63,64,"-1/2"],["B","ADD",62,64,"-1"],["B","ADD",61,64,"-1"],["B","ADD",60,64,"-1"],["B","ADD",59,64,"-1"],["B","ADD",58,64,"-1"],["B","ADD",56,64,"1"],["B","ADD",54,64,"1"],["B","ADD",52,64,"1"],["B","ADD",50,64,"1"],["B","ADD",48,64,"1"],["B","ADD",46,64,"1"],["B","ADD",44,64,"1"],["B","ADD",42,64,"1"],["B","ADD",40,64,"1"],["B","ADD",38,64,"1"],["B","SCALE",64,"-1/2"],["B","ADD",75,64,"2"],["B","ADD",74,64,"2"],["B","ADD",73,64,"2"],["B","ADD",72,64,"2"],["B","ADD",71,64,"2"],["B","ADD",70,64,"2"],["B","ADD",69,64,"2"],["B","ADD",68,64,"2"],["B","ADD",67,64,"2"],["B","ADD",66,64,"2"],["B","ADD",65,64,"2"],["B","ADD",62,63,"2"],["B","ADD",61,63,"2"],["B","ADD",60,63,"2"],["B","ADD",59,63,"2"],["B","ADD",58,63,"2"],["B","ADD",56,63,"-2"],["B","ADD",54,63,"-2"],["B","ADD",52,63,"-2"],["B","ADD",50,63,"-2"],["B","ADD",48,63,"-2"],["B","ADD",46,63,"-2"],["B","ADD",44,63,"-2"],["B","ADD",42,63,"-2"],["B","ADD",40,63,"-2"],["B","ADD",38,63,"-2"],["B","SCALE",63,"2"],["B","ADD",75,63,"1"],["B","ADD",74,63,"1"],["B","ADD",73,63,"1"],["B","ADD",72,63,"1"],["B","ADD",71,63,"1"],["B","ADD",70,63,"1"],["B","ADD",69,63,"1"],["B","ADD",68,63,"1"],["B","ADD",67,63,"1"],["B","ADD",66,63,"1"],["B","ADD",65,63,"1"],["B","ADD",64,63,"3/2"],["B","SWAP",63,64],["B","ADD",61,62,"-1"],["B","ADD",60,62,"-1/2"],["B","ADD",59,62,"-1"],["B","ADD",58,62,"-1"],["B","ADD",56,62,"1"],["B","ADD",54,62,"1"],["B","ADD",52,62,"1"],["B","ADD",50,62,"1"],["B","ADD",48,62,"1"],["B","ADD",46,62,"1"],["B","ADD",44,62,"1"],["B","ADD",42,62,"1"],["B","ADD",40,62,"1"],["B","ADD",38,62,"1"],["B","SCALE",62,"-1/2"],["B","ADD",75,62,"2"],["B","ADD",74,62,"2"],["B","ADD",73,62,"2"],["B","ADD",72,62,"2"],["B","ADD",71,62,"2"],["B","ADD",70,62,"2"],["B","ADD",69,62,"2"],["B","ADD",68,62,"2"],["B","ADD",67,62,"2"],["B","ADD",66,62,"2"],["B","ADD",65,62,"2"],["B","ADD",64,62,"2"],["B","ADD",63,62,"2"],["B","ADD",60,61,"1/2"],["B","ADD",59,61,"-1"],["B","ADD",58,61,"-1"],["B","ADD",56,61,"1"],["B","ADD",54,61,"1"],["B","ADD",52,61,"1"],["B","ADD",50,61,"1"],["B","ADD",48,61,"1"],["B","ADD",46,61,"1"],["B","ADD",44,61,"1"],["B","ADD",42,61,"1"],["B","ADD",40,61,"1"],["B","ADD",38,61,"1"],["B","SCALE",61,"-1"],["B","ADD",75,61,"1"],["B","ADD",74,61,"1"],["B","ADD",73,61,"1"],["B","ADD",72,61,"1"],["B","ADD",71,61,"1"],["B","ADD",70,61,"1"],["B","ADD",69,61,"1"],["B","ADD",68,61,"1"],["B","ADD",67,61,"1"],["B","ADD",66,61,"1"],["B","ADD",65,61,"1"],["B","ADD",64,61,"1"],["B","ADD",63,61,"1"],["B","ADD",62,61,"3/2"],["B","SWAP",61,62],["B","ADD",59,60,"2"],["B","ADD",58,60,"2"],["B","ADD",56,60,"-2"],["B","ADD",54,60,"-2"],["B","ADD",52,60,"-2"],["B","ADD",50,60,"-2"],["B","ADD",48,60,"-2"],["B","ADD",46,60,"-2"],["B","ADD",44,60,"-2"],["B","ADD",42,60,"-2"],["B","ADD",40,60,"-2"],["B","ADD",38,60,"-2"],["B","SCALE",60,"2"],["B","ADD",75,60,"1"],["B","ADD",74,60,"1"],["B","ADD",73,60,"1"],["B","ADD",72,60,"1"],["B","ADD",71,60,"1"],["B","ADD",70,60,"1"],["B","ADD",69,60,"1"],["B","ADD",68,60,"1"],["B","ADD",67,60,"1"],["B","ADD",66,60,"1"],["B","ADD",65,60,"1"],["B","ADD",64,60,"1"],["B","ADD",63,60,"1"],["B","ADD",62,60,"1"],["B","ADD",61,60,"3/2"],["B","SWAP",60,61],["B","ADD",58,59,"-1/2"],["B","ADD",56,59,"1"],["B","ADD",54,59,"1"],["B","ADD",52,59,"1"],["B","ADD",50,59,"1"],["B","ADD",48,59,"1"],["B","ADD",46,59,"1"],["B","ADD",44,59,"1"],["B","ADD",42,59,"1"],["B","ADD",40,59,"1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-1/2"],["B","ADD",75,59,"2"],["B","ADD",74,59,"2"],["B","ADD",73,59,"2"],["B","ADD",72,59,"2"],["B","ADD",71,59,"2"],["B","ADD",70,59,"2"],["B","ADD",69,59,"2"],["B","ADD",68,59,"2"],["B","ADD",67,59,"2"],["B","ADD",66,59,"2"],["B","ADD",65,59,"2"],["B","ADD",64,59,"2"],["B","ADD",63,59,"2"],["B","ADD",62,59,"2"],["B","ADD",61,59,"2"],["B","ADD",60,59,"2"],["B","ADD",56,58,"-2"],["B","ADD",54,58,"-2"],["B","ADD",52,58,"-2"],["B","ADD",50,58,"-2"],["B","ADD",48,58,"-2"],["B","ADD",46,58,"-2"],["B","ADD",44,58,"-2"],["B","ADD",42,58,"-2"],["B","ADD",40,58,"-2"],["B","ADD",38,58,"-2"],["B","SCALE",58,"2"],["B","ADD",75,58,"1"],["B","ADD",74,58,"1"],["B","ADD",73,58,"1"],["B","ADD",72,58,"1"],["B","ADD",71,58,"1"],["B","ADD",70,58,"1"],["B","ADD",69,58,"1"],["B","ADD",68,58,"1"],["B","ADD",67,58,"1"],["B","ADD",66,58,"1"],["B","ADD",65,58,"1"],["B","ADD",64,58,"1"],["B","ADD",63,58,"1"],["B","ADD",62,58,"1"],["B","ADD",61,58,"1"],["B","ADD",60,58,"1"],["B","ADD",59,58,"3/2"],["B","SWAP",58,59],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",52,57,"-2"],["B","ADD",50,57,"-2"],["B","ADD",48,57,"-2"],["B","ADD",46,57,"-2"],["B","ADD",44,57,"-2"],["B","ADD",42,57,"-2"],["B","ADD",40,57,"-2"],["B","ADD",38,57,"-2"],["B","ADD",75,57,"2"],["B","ADD",74,57,"2"],["B","ADD",73,57,"2"],["B","ADD",72,57,"2"],["B","ADD",71,57,"2"],["B","ADD",70,57,"2"],["B","ADD",69,57,"2"],["B","ADD",68,57,"2"],["B","ADD",67,57,"2"],["B","ADD",66,57,"2"],["B","ADD",65,57,"2"],["B","ADD",64,57,"2"],["B","ADD",63,57,"2"],["B","ADD",62,57,"2"],["B","ADD",61,57,"2"],["B","ADD",60,57,"2"],["B","ADD",59,57,"2"],["B","ADD",58,57,"2"],["B","ADD",54,56,"-2"],["B","ADD",52,56,"-2"],["B","ADD",50,56,"-2"],["B","ADD",48,56,"-2"],["B","ADD",46,56,"-2"],["B","ADD",44,56,"-2"],["B","ADD",42,56,"-2"],["B","ADD",40,56,"-2"],["B","ADD",38,56,"-2"],["B","SCALE",56,"-1"],["B","ADD",75,56,"-2"],["B","ADD",74,56,"-2"],["B","ADD",73,56,"-2"],["B","ADD",72,56,"-2"],["B","ADD",71,56,"-2"],["B","ADD",70,56,"-2"],["B","ADD",69,56,"-2"],["B","ADD",68,56,"-2"],["B","ADD",67,56,"-2"],["B","ADD",66,56,"-2"],["B","ADD",65,56,"-2"],["B","ADD",64,56,"-2"],["B","ADD",63,56,"-2"],["B","ADD",62,56,"-2"],["B","ADD",61,56,"-2"],["B","ADD",60,56,"-2"],["B","ADD",59,56,"-2"],["B","ADD",58,56,"-2"],["B","ADD",54,55,"2"],["B","ADD",52,55,"2"],["B","ADD",50,55,"2"],["B","ADD",48,55,"2"],["B","ADD",46,55,"2"],["B","ADD",44,55,"2"],["B","ADD",42,55,"2"],["B","ADD",40,55,"2"],["B","ADD",38,55,"2"],["B","ADD",75,55,"-2"],["B","ADD",74,55,"-2"],["B","ADD",73,55,"-2"],["B","ADD",72,55,"-2"],["B","ADD",71,55,"-2"],["B","ADD",70,55,"-2"],["B","ADD",69,55,"-2"],["B","ADD",68,55,"-2"],["B","ADD",67,55,"-2"],["B","ADD",66,55,"-2"],["B","ADD",65,55,"-2"],["B","ADD",64,55,"-2"],["B","ADD",63,55,"-2"],["B","ADD",62,55,"-2"],["B","ADD",61,55,"-2"],["B","ADD",60,55,"-2"],["B","ADD",59,55,"-2"],["B","ADD",58,55,"-2"],["B","ADD",56,55,"2"],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",48,53,"-2"],["B","ADD",46,53,"-2"],["B","ADD",44,53,"-2"],["B","ADD",42,53,"-2"],["B","ADD",40,53,"-2"],["B","ADD",38,53,"-2"],["B","ADD",75,53,"2"],["B","ADD",74,53,"2"],["B","ADD",73,53,"2"],["B","ADD",72,53,"2"],["B","ADD",71,53,"2"],["B","ADD",70,53,"2"],["B","ADD",69,53,"2"],["B","ADD",68,53,"2"],["B","ADD",67,53,"2"],["B","ADD",66,53,"2"],["B","ADD",65,53,"2"],["B","ADD",64,53,"2"],["B","ADD",63,53,"2"],["B","ADD",62,53,"2"],["B","ADD",61,53,"2"],["B","ADD",60,53,"2"],["B","ADD",59,53,"2"],["B","ADD",58,53,"2"],["B","ADD",56,53,"-2"],["B","ADD",54,53,"-2"],["B","ADD",50,52,"-2"],["B","ADD",48,52,"-2"],["B","ADD",46,52,"-2"],["B","ADD",44,52,"-2"],["B","ADD",42,52,"-2"],["B","ADD",40,52,"-2"],["B","ADD",38,52,"-2"],["B","SCALE",52,"-1"],["B","ADD",75,52,"-2"],["B","ADD",74,52,"-2"],["B","ADD",73,52,"-2"],["B","ADD",72,52,"-2"],["B","ADD",71,52,"-2"],["B","ADD",70,52,"-2"],["B","ADD",69,52,"-2"],["B","ADD",68,52,"-2"],["B","ADD",67,52,"-2"],["B","ADD",66,52,"-2"],["B","ADD",65,52,"-2"],["B","ADD",64,52,"-2"],["B","ADD",63,52,"-2"],["B","ADD",62,52,"-2"],["B","ADD",61,52,"-2"],["B","ADD",60,52,"-2"],["B","ADD",59,52,"-2"],["B","ADD",58,52,"-2"],["B","ADD",56,52,"2"],["B","ADD",54,52,"2"],["B","ADD",50,51,"2"],["B","ADD",48,51,"2"],["B","ADD",46,51,"2"],["B","ADD",44,51,"2"],["B","ADD",42,51,"2"],["B","ADD",40,51,"2"],["B","ADD",38,51,"2"],["B","ADD",75,51,"-2"],["B","ADD",74,51,"-2"],["B","ADD",73,51,"-2"],["B","ADD",72,51,"-2"],["B","ADD",71,51,"-2"],["B","ADD",70,51,"-2"],["B","ADD",69,51,"-2"],["B","ADD",68,51,"-2"],["B","ADD",67,51,"-2"],["B","ADD",66,51,"-2"],["B","ADD",65,51,"-2"],["B","ADD",64,51,"-2"],["B","ADD",63,51,"-2"],["B","ADD",62,51,"-2"],["B","ADD",61,51,"-2"],["B","ADD",60,51,"-2"],["B","ADD",59,51,"-2"],["B","ADD",58,51,"-2"],["B","ADD",56,51,"2"],["B","ADD",54,51,"2"],["B","ADD",52,51,"2"],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",44,49,"-2"],["B","ADD",42,49,"-2"],["B","ADD",40,49,"-2"],["B","ADD",38,49,"-2"],["B","ADD",75,49,"2"],["B","ADD",74,49,"2"],["B","ADD",73,49,"2"],["B","ADD",72,49,"2"],["B","ADD",71,49,"2"],["B","ADD",70,49,"2"],["B","ADD",69,49,"2"],["B","ADD",68,49,"2"],["B","ADD",67,49,"2"],["B","ADD",66,49,"2"],["B","ADD",65,49,"2"],["B","ADD",64,49,"2"],["B","ADD",63,49,"2"],["B","ADD",62,49,"2"],["B","ADD",61,49,"2"],["B","ADD",60,49,"2"],["B","ADD",59,49,"2"],["B","ADD",58,49,"2"],["B","ADD",56,49,"-2"],["B","ADD",54,49,"-2"],["B","ADD",52,49,"-2"],["B","ADD",50,49,"-2"],["B","ADD",46,48,"-2"],["B","ADD",44,48,"-2"],["B","ADD",42,48,"-2"],["B","ADD",40,48,"-2"],["B","ADD",38,48,"-2"],["B","SCALE",48,"-1"],["B","ADD",75,48,"-2"],["B","ADD",74,48,"-2"],["B","ADD",73,48,"-2"],["B","ADD",72,48,"-2"],["B","ADD",71,48,"-2"],["B","ADD",70,48,"-2"],["B","ADD",69,48,"-2"],["B","ADD",68,48,"-2"],["B","ADD",67,48,"-2"],["B","ADD",66,48,"-2"],["B","ADD",65,48,"-2"],["B","ADD",64,48,"-2"],["B","ADD",63,48,"-2"],["B","ADD",62,48,"-2"],["B","ADD",61,48,"-2"],["B","ADD",60,48,"-2"],["B","ADD",59,48,"-2"],["B","ADD",58,48,"-2"],["B","ADD",56,48,"2"],["B","ADD",54,48,"2"],["B","ADD",52,48,"2"],["B","ADD",50,48,"2"],["B","ADD",46,47,"2"],["B","ADD",44,47,"2"],["B","ADD",42,47,"2"],["B","ADD",40,47,"2"],["B","ADD",38,47,"2"],["B","ADD",75,47,"-2"],["B","ADD",74,47,"-2"],["B","ADD",73,47,"-2"],["B","ADD",72,47,"-2"],["B","ADD",71,47,"-2"],["B","ADD",70,47,"-2"],["B","ADD",69,47,"-2"],["B","ADD",68,47,"-2"],["B","ADD",67,47,"-2"],["B","ADD",66,47,"-2"],["B","ADD",65,47,"-2"],["B","ADD",64,47,"-2"],["B","ADD",63,47,"-2"],["B","ADD",62,47,"-2"],["B","ADD",61,47,"-2"],["B","ADD",60,47,"-2"],["B","ADD",59,47,"-2"],["B","ADD",58,47,"-2"],["B","ADD",56,47,"2"],["B","ADD",54,47,"2"],["B","ADD",52,47,"2"],["B","ADD",50,47,"2"],["B","ADD",48,47,"2"],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",40,45,"-2"],["B","ADD",38,45,"-2"],["B","ADD",75,45,"2"],["B","ADD",74,45,"2"],["B","ADD",73,45,"2"],["B","ADD",72,45,"2"],["B","ADD",71,45,"2"],["B","ADD",70,45,"2"],["B","ADD",69,45,"2"],["B","ADD",68,45,"2"],["B","ADD",67,45,"2"],["B","ADD",66,45,"2"],["B","ADD",65,45,"2"],["B","ADD",64,45,"2"],["B","ADD",63,45,"2"],["B","ADD",62,45,"2"],["B","ADD",61,45,"2"],["B","ADD",60,45,"2"],["B","ADD",59,45,"2"],["B","ADD",58,45,"2"],["B","ADD",56,45,"-2"],["B","ADD",54,45,"-2"],["B","ADD",52,45,"-2"],["B","ADD",50,45,"-2"],["B","ADD",48,45,"-2"],["B","ADD",46,45,"-2"],["B","ADD",42,44,"-2"],["B","ADD",40,44,"-2"],["B","ADD",38,44,"-2"],["B","SCALE",44,"-1"],["B","ADD",75,44,"-2"],["B","ADD",74,44,"-2"],["B","ADD",73,44,"-2"],["B","ADD",72,44,"-2"],["B","ADD",71,44,"-2"],["B","ADD",70,44,"-2"],["B","ADD",69,44,"-2"],["B","ADD",68,44,"-2"],["B","ADD",67,44,"-2"],["B","ADD",66,44,"-2"],["B","ADD",65,44,"-2"],["B","ADD",64,44,"-2"],["B","ADD",63,44,"-2"],["B","ADD",62,44,"-2"],["B","ADD",61,44,"-2"],["B","ADD",60,44,"-2"],["B","ADD",59,44,"-2"],["B","ADD",58,44,"-2"],["B","ADD",56,44,"2"],["B","ADD",54,44,"2"],["B","ADD",52,44,"2"],["B","ADD",50,44,"2"],["B","ADD",48,44,"2"],["B","ADD",46,44,"2"],["B","ADD",42,43,"2"],["B","ADD",40,43,"2"],["B","ADD",38,43,"2"],["B","ADD",75,43,"-2"],["B","ADD",74,43,"-2"],["B","ADD",73,43,"-2"],["B","ADD",72,43,"-2"],["B","ADD",71,43,"-2"],["B","ADD",70,43,"-2"],["B","ADD",69,43,"-2"],["B","ADD",68,43,"-2"],["B","ADD",67,43,"-2"],["B","ADD",66,43,"-2"],["B","ADD",65,43,"-2"],["B","ADD",64,43,"-2"],["B","ADD",63,43,"-2"],["B","ADD",62,43,"-2"],["B","ADD",61,43,"-2"],["B","ADD",60,43,"-2"],["B","ADD",59,43,"-2"],["B","ADD",58,43,"-2"],["B","ADD",56,43,"2"],["B","ADD",54,43,"2"],["B","ADD",52,43,"2"],["B","ADD",50,43,"2"],["B","ADD",48,43,"2"],["B","ADD",46,43,"2"],["B","ADD",44,43,"2"],["B","ADD",40,41,"-2"],["B","ADD",38,41,"-2"],["B","ADD",75,41,"2"],["B","ADD",74,41,"2"],["B","ADD",73,41,"2"],["B","ADD",72,41,"2"],["B","ADD",71,41,"2"],["B","ADD",70,41,"2"],["B","ADD",69,41,"2"],["B","ADD",68,41,"2"],["B","ADD",67,41,"2"],["B","ADD",66,41,"2"],["B","ADD",65,41,"2"],["B","ADD",64,41,"2"],["B","ADD",63,41,"2"],["B","ADD",62,41,"2"],["B","ADD",61,41,"2"],["B","ADD",60,41,"2"],["B","ADD",59,41,"2"],["B","ADD",58,41,"2"],["B","ADD",56,41,"-2"],["B","ADD",54,41,"-2"],["B","ADD",52,41,"-2"],["B","ADD",50,41,"-2"],["B","ADD",48,41,"-2"],["B","ADD",46,41,"-2"],["B","ADD",44,41,"-2"],["B","ADD",42,41,"-2"],["B","ADD",38,40,"-2"],["B","SCALE",40,"-1"],["B","ADD",75,40,"-2"],["B","ADD",74,40,"-2"],["B","ADD",73,40,"-2"],["B","ADD",72,40,"-2"],["B","ADD",71,40,"-2"],["B","ADD",70,40,"-2"],["B","ADD",69,40,"-2"],["B","ADD",68,40,"-2"],["B","ADD",67,40,"-2"],["B","ADD",66,40,"-2"],["B","ADD",65,40,"-2"],["B","ADD",64,40,"-2"],["B","ADD",63,40,"-2"],["B","ADD",62,40,"-2"],["B","ADD",61,40,"-2"],["B","ADD",60,40,"-2"],["B","ADD",59,40,"-2"],["B","ADD",58,40,"-2"],["B","ADD",56,40,"2"],["B","ADD",54,40,"2"],["B","ADD",52,40,"2"],["B","ADD",50,40,"2"],["B","ADD",48,40,"2"],["B","ADD",46,40,"2"],["B","ADD",44,40,"2"],["B","ADD",42,40,"2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-2"],["B","ADD",73,39,"-2"],["B","ADD",72,39,"-2"],["B","ADD",71,39,"-2"],["B","ADD",70,39,"-2"],["B","ADD",69,39,"-2"],["B","ADD",68,39,"-2"],["B","ADD",67,39,"-2"],["B","ADD",66,39,"-2"],["B","ADD",65,39,"-2"],["B","ADD",64,39,"-2"],["B","ADD",63,39,"-2"],["B","ADD",62,39,"-2"],["B","ADD",61,39,"-2"],["B","ADD",60,39,"-2"],["B","ADD",59,39,"-2"],["B","ADD",58,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","ADD",73,38,"2"],["B","ADD",72,38,"2"],["B","ADD",71,38,"2"],["B","ADD",70,38,"2"],["B","ADD",69,38,"2"],["B","ADD",68,38,"2"],["B","ADD",67,38,"2"],["B","ADD",66,38,"2"],["B","ADD",65,38,"2"],["B","ADD",64,38,"2"],["B","ADD",63,38,"2"],["B","ADD",62,38,"2"],["B","ADD",61,38,"2"],["B","ADD",60,38,"2"],["B","ADD",59,38,"2"],["B","ADD",58,38,"2"],["B","ADD",56,38,"-2"],["B","ADD",54,38,"-2"],["B","ADD",52,38,"-2"],["B","ADD",50,38,"-2"],["B","ADD",48,38,"-2"],["B","ADD",46,38,"-2"],["B","ADD",44,38,"-2"],["B","ADD",42,38,"-2"],["B","ADD",40,38,"-2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"1"],["B","ADD",72,74,"-1"],["B","ADD",70,74,"-1"],["B","ADD",68,74,"-1"],["B","ADD",66,74,"-1"],["B","ADD",64,74,"-1"],["B","ADD",62,74,"-1"],["B","ADD",58,74,"-1/2"],["B","ADD",39,74,"1"],["B","SWAP",73,75],["B","ADD",39,72,"1"],["B","SWAP",72,74],["B","ADD",39,71,"-1"],["B","ADD",39,70,"1"],["B","ADD",39,68,"-1"],["B","ADD",39,67,"1"],["B","ADD",39,66,"-1"],["B","SWAP",65,69],["B","ADD",39,64,"1"],["B","SWAP",64,68],["B","ADD",39,63,"-1"],["B","SWAP",63,71],["B","ADD",39,62,"1"],["B","SWAP",62,70],["B","SWAP",61,75],["B","ADD",39,60,"-1"],["B","SWAP",60,74],["B","ADD",58,59,"-1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-2"],["B","ADD",75,59,"1"],["B","ADD",74,59,"1"],["B","SWAP",59,73],["B","SCALE",58,"-2"],["B","ADD",72,58,"-1"],["B","ADD",70,58,"1"],["B","ADD",68,58,"1"],["B","ADD",66,58,"1"],["B","ADD",64,58,"1"],["B","ADD",62,58,"1"],["B","ADD",60,58,"1"],["B","ADD",39,57,"-1"],["B","ADD",39,56,"1"],["B","ADD",39,55,"-1"],["B","ADD",39,53,"1"],["B","ADD",39,52,"-1"],["B","ADD",39,51,"1"],["B","ADD",39,49,"-1"],["B","ADD",39,48,"1"],["B","ADD",39,47,"-1"],["B","ADD",39,45,"1"],["B","ADD",39,44,"-1"],["B","ADD",39,43,"1"],["B","ADD",39,41,"-1"],["B","ADD",39,40,"1"],["B","ADD",38,39,"1"],["B","SCALE",39,"-128"],["B","ADD",72,39,"1/64"],["B","ADD",70,39,"-1/64"],["B","ADD",68,39,"-1/64"],["B","ADD",66,39,"-1/64"],["B","ADD",64,39,"-1/64"],["B","ADD",62,39,"-1/64"],["B","ADD",60,39,"-1/64"],["B","ADD",58,39,"-1/64"],["B","SCALE",38,"128"],["B","ADD",75,38,"1/32"],["B","ADD",74,38,"1/64"],["B","ADD",73,38,"1/32"],["B","ADD",72,38,"-1/64"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["J",10,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[10]],["A","IDLE_ONE",3,[10,11]],["A","IDLE_ONE",4,[10,11,12]],["A","IDLE_ONE",5,[10,11,12,13]],["A","IDLE_ONE",6,[10,11,12,13,14]],["A","IDLE_ONE",7,[10,11,12,13,14,15]],["A","IDLE_ONE",8,[10,11,12,13,14,15,16]],["A","IDLE_ONE",9,[10,11,12,13,14,15,16,17]],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[10]],["A","IDLE_ONE",22,[10,11]],["A","IDLE_ONE",23,[10,11,12]],["A","IDLE_ONE",24,[10,11,12,13]],["A","IDLE_ONE",25,[10,11,12,13,14]],["A","IDLE_ONE",26,[10,11,12,13,14,15]],["A","IDLE_ONE",27,[10,11,12,13,14,15,16]],["A","IDLE_ONE",28,[10,11,12,13,14,15,16,17]],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",58,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",59,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",60,[10,11,12,13,14,15,16]],["B","IDLE_ONE",61,[10,11,12,13,14,15,16]],["B","IDLE_ONE",62,[10,11,12,13,14,15]],["B","IDLE_ONE",63,[10,11,12,13,14,15]],["B","IDLE_ONE",64,[10,11,12,13,14]],["B","IDLE_ONE",65,[10,11,12,13,14]],["B","IDLE_ONE",66,[10,11,12,13]],["B","IDLE_ONE",67,[10,11,12,13]],["B","IDLE_ONE",68,[10,11,12]],["B","IDLE_ONE",69,[10,11,12]],["B","IDLE_ONE",70,[10,11]],["B","IDLE_ONE",71,[10,11]],["B","IDLE_ONE",72,[10]],["B","IDLE_ONE",73,[10]],["B","IDLE_ONE",74,[10]],["B","IDLE_ONE",75,[10]],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"1/2"],["B","ADD",39,75,"-64"],["B","SCALE",75,"1/4"],["B","ADD",72,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"1/2"],["B","ADD",72,73,"3/2"],["B","ADD",39,73,"64"],["B","ADD",38,73,"64"],["B","SCALE",73,"2"],["B","ADD",75,73,"-5/8"],["B","ADD",74,73,"-3/2"],["B","SWAP",73,75],["B","ADD",38,72,"-64"],["B","ADD",74,72,"2"],["B","ADD",73,72,"3/2"],["B","SWAP",72,73],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","SWAP",59,61],["B","SWAP",58,60],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",59,39,"1/64"],["B","ADD",58,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",59,38,"-1/64"],["B","ADD",58,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",11,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[11]],["B","IDLE_ONE",75,[11]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",61,39,"1/64"],["B","ADD",60,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",61,38,"-1/64"],["B","ADD",60,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",12,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[12]],["B","IDLE_ONE",75,[12]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",63,39,"1/64"],["B","ADD",62,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",63,38,"-1/64"],["B","ADD",62,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",13,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[13]],["B","IDLE_ONE",75,[13]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",65,39,"1/64"],["B","ADD",64,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",65,38,"-1/64"],["B","ADD",64,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",14,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[14]],["B","IDLE_ONE",75,[14]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",67,39,"1/64"],["B","ADD",66,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",67,38,"-1/64"],["B","ADD",66,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",15,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[15]],["B","IDLE_ONE",75,[15]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",69,39,"1/64"],["B","ADD",68,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",69,38,"-1/64"],["B","ADD",68,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",16,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[16]],["B","IDLE_ONE",75,[16]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",71,39,"1/64"],["B","ADD",70,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",71,38,"-1/64"],["B","ADD",70,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",17,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[17]],["B","IDLE_ONE",75,[17]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/4"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SCALE",74,"1/2"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"1"],["B","ADD",74,73,"-1/2"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1/2"],["B","ADD",73,72,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/64"],["B","ADD",74,39,"-1/128"],["B","ADD",73,39,"1/64"],["B","ADD",72,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/64"],["B","ADD",73,38,"-1/64"],["B","ADD",72,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",18,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","SWAP",2,18],["A","ADD",0,1,"-2"],["A","SWAP",1,18],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",1,-1],["A","LAMBDA",2,-1],["A","LAMBDA",3,-1],["A","LAMBDA",4,-1],["A","LAMBDA",5,-1],["A","LAMBDA",6,-1],["A","LAMBDA",7,-1],["A","LAMBDA",8,-1],["A","LAMBDA",9,-1],["A","LAMBDA",10,-1],["A","LAMBDA",11,-1],["A","LAMBDA",12,-1],["A","LAMBDA",13,-1],["A","LAMBDA",14,-1],["A","LAMBDA",15,-1],["A","LAMBDA",16,-1],["A","LAMBDA",17,-1],["A","LAMBDA",18,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","SWAP",21,37],["A","ADD",19,20,"-2"],["A","SWAP",20,37],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","LAMBDA",19,-1],["A","LAMBDA",20,-1],["A","LAMBDA",21,-1],["A","LAMBDA",22,-1],["A","LAMBDA",23,-1],["A","LAMBDA",24,-1],["A","LAMBDA",25,-1],["A","LAMBDA",26,-1],["A","LAMBDA",27,-1],["A","LAMBDA",28,-1],["A","LAMBDA",29,-1],["A","LAMBDA",30,-1],["A","LAMBDA",31,-1],["A","LAMBDA",32,-1],["A","LAMBDA",33,-1],["A","LAMBDA",34,-1],["A","LAMBDA",35,-1],["A","LAMBDA",36,-1],["A","LAMBDA",37,-1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[18]],["B","IDLE_ONE",75,[18]],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","SCALE",75,"-1"],["B","ADD",38,74,"128"],["B","SCALE",74,"-1"],["B","ADD",75,74,"2"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"1/128"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-1"],["B","SCALE",38,"1/128"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","LAMBDA",39,-1],["B","LAMBDA",40,-1],["B","LAMBDA",41,-1],["B","LAMBDA",42,-1],["B","LAMBDA",43,-1],["B","LAMBDA",44,-1],["B","LAMBDA",45,-1],["B","LAMBDA",46,-1],["B","LAMBDA",47,-1],["B","LAMBDA",48,-1],["B","LAMBDA",49,-1],["B","LAMBDA",50,-1],["B","LAMBDA",51,-1],["B","LAMBDA",52,-1],["B","LAMBDA",53,-1],["B","LAMBDA",54,-1],["B","LAMBDA",55,-1],["B","LAMBDA",56,-1],["B","LAMBDA",57,-1],["B","LAMBDA",58,-1],["B","LAMBDA",59,-1],["B","LAMBDA",60,-1],["B","LAMBDA",61,-1],["B","LAMBDA",62,-1],["B","LAMBDA",63,-1],["B","LAMBDA",64,-1],["B","LAMBDA",65,-1],["B","LAMBDA",66,-1],["B","LAMBDA",67,-1],["B","LAMBDA",68,-1],["B","LAMBDA",69,-1],["B","LAMBDA",70,-1],["B","LAMBDA",71,-1],["B","LAMBDA",72,-1],["B","LAMBDA",73,-1],["B","LAMBDA",74,-1],["B","LAMBDA",75,-1]],"ops_note":"QSELF(x, k): R[x] *= q^k, one paid rank-1 job on one register (new op; not in the retained alphabet).; source interval457..575 replaced by a three-QUERY even-basis factorization; no QSELF"} diff --git a/research/paired-query-only-bit/data/selected_claim.json b/research/paired-query-only-bit/data/selected_claim.json new file mode 100644 index 0000000000..f32ff37792 --- /dev/null +++ b/research/paired-query-only-bit/data/selected_claim.json @@ -0,0 +1,33 @@ +{ + "schema": "proposed-conditional-integer-multiplication-claim/1", + "kappa": "781451/250000000", + "source_result": "research/p104-helper470-twin-rung-removal/RESULT.json", + "uniform_templates": [ + { + "family": "complex", + "rank_encoding": "2^65807000000000", + "saving": "10940329/3500000000" + }, + { + "family": "BIT before cover", + "rank_encoding": "2^25986965159937", + "saving": "3459/1000000" + } + ], + "ordinary_BIT_saving": "8590884599/2500000000000", + "admitted_BIT_saving": "17/5000", + "nine_outer_savings": { + "boundary_algebraic_matrix": "30632907178119357/9800000000000000000", + "fused_gaussian": "30632907134358071/9800000000000000000", + "global_coordinate_router": "2735081/875000000", + "group_bit_router": "3829114266794757/1225000000000000000", + "group_scans": "699999999/700000000", + "main_transform": "30632900178119357/9800000000000000000", + "microbox_face_corrections": "26950000001/350000000", + "polynomial_products": "1399999999/1400000000", + "sparse_union_movement": "4011882907178119357/9800000000000000000" + }, + "limiting_outer_saving": "30632900178119357/9800000000000000000", + "strict_limiting_slack": "20978119357/9800000000000000000", + "scope": "Conditional P104 helper-470 rung removal on the cumulative P104 construction and all-forward productive caller. The five inherited framework assumptions remain; no materialized uniform word or complete rounded multiplier." +} diff --git a/research/paired-query-only-bit/data/selected_record.json b/research/paired-query-only-bit/data/selected_record.json new file mode 100644 index 0000000000..d59b5035e7 --- /dev/null +++ b/research/paired-query-only-bit/data/selected_record.json @@ -0,0 +1,120 @@ +{ + "status": "Selected maintainer-reviewed conditional P104 twin-rung construction with full primary and independent application audits", + "kappa": "781451/250000000", + "decimal": "0.003125804", + "source_prs": [ + 6030, + 5907, + 5827, + 5811, + 5960, + 5599, + 5565, + 5580, + 5569, + 5561, + 5551, + 5545, + 5544, + 5550, + 5567, + 2305, + 2152, + 2219, + 5398, + 5400, + 4610, + 5241, + 4470, + 4447, + 4441, + 4440, + 4416, + 4433, + 4359, + 4268, + 3945, + 4085, + 2979, + 4076, + 4088, + 1673, + 1758, + 1786, + 23, + 555, + 589 + ], + "source_manifest": "certificates/frontier6030-source.json", + "certificate": "certificates/frontier6030/CLAIM.json", + "certificate_sha256": "9cee8a1304fa893be3d3b641eda42fdd9b2fd6a5ac2124fb891de7a1a5e8d92e", + "proof": "docs/research/pr-intake-evidence/pr6030-audit/PROOF-REVIEW.md", + "proof_supplements": { + "notes/batched-bit-rows.tex": "ef72c0ead19373cbc19c8a3aacb44dd0f75353ee5f4d055f775a986a4878022c", + "notes/batched-complex-rows.tex": "64c70926a8705874f1c9b42a2f703e42cad4e90f927f544458cfdf729540236c", + "notes/compact-control-movement.tex": "b963c3d2f4e1b7059aa289bb4b4ac89b688920bcf42f5b20d7698cdef0132cc6", + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "notes/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "notes/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "notes/three-stage-cover-rows.tex": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "references/semantic-bulk/pr23/semantic-bulk-17-note.tex": "652242b05174bb776ffc6165af170df9c8cf220dbd0fc26c24d778f320dbabc8", + "research/e8-bit-carrier-skeleton/code/bit/export_records.py": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "research/e8-bit-carrier-skeleton/code/nine/geometry.py": "36eeda3184bd009e89462b65c8725d10860c444f8da8f1f87e5f6e50120011ca", + "research/e8-bit-p111-tuned/code/gen_p3.py": "438b83f10d70ceca7cf78049420204b7de2dc61682f913c50a62596106ad84cd", + "research/e8-bit-p111-tuned/code/xcheck_p.py": "af3decc877e27c00001cf56f50c6c09566e8e101297ab34c7860aed96a06d80e", + "research/e8-bit-p111-tuned/tune/EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/e8-bit-p111-tuned/tune/apply.py": "806ae4cb2648e4f05dcf56bd089891fd3ba33a6ee5fe76d3329e322c6770c1a1", + "research/e8-bit-p111-tuned/tune/wlib.py": "a37fdf3cdf5f62945c2a90193401c0e9edc9dd3cda8d8cb36a3b9c329ebe4dbc", + "research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "docs/research/pr-intake-evidence/pr4359/PROOF-REVIEW.md": "7d67bb814285f7634029fbd378c6457156545f0b38858cc1c6ec34b68cd9d162", + "docs/research/pr-intake-evidence/pr4470/PROOF-REVIEW.md": "5c111dd56beb53dc44ab727d96e1af03aaf50f3023d4342e2b0a89ede6cf585b", + "docs/research/pr-intake-evidence/pr4416/PROOF-REVIEW.md": "2c2bbe6fe1bab44778192118f27e59a0d23dbe02c47aa8a42845093f1ce46f49", + "docs/research/pr-intake-evidence/pr4610/PROOF-REVIEW.md": "b84f833e3072cbab372fbda2ece98fbc031c15e590cf73003ddea35a5222e148", + "research/final4610-independent-admission/PROOF.md": "e573cbbe6fa5481c0533e773de404e10f4dc7907b5ebfe404bdcd02dcf9844d8", + "research/final4610-independent-admission/SPECIALIZATION.md": "70430114f744108223bc1d44b98bc25b696c4b408b7b044c2a8bbdfdb434ac5c", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md": "7688e5d8bf40fcdfb5bea43ba47e1f8d60a77a91ede6c307bb8163a9a7e16b3f", + "research/p104-helper-subspace-splits/PROOF.md": "f4c68acf9373e34d88e14e1a7791b4b739c8b5297a1ae4c0121f579a02fde04e", + "research/p104-productive-controller/PROOF.md": "f4c4e400092954562252df6c4dd157a9b4c1642252168ce72738cdbecfc5ad41", + "research/p104-caller-independent-audit/PROOF.md": "d73ff9587a85db8063391919ffc4a17521ccd5759cdaf6338ba036703239d839", + "research/p104-free-endpoint-contract-audit/PROOF.md": "43aeae1c090b5657f326fd7c56a5e5fbe062db29591b660a903305ca58ce9598", + "docs/research/pr-intake-evidence/pr6030-audit/PROOF-REVIEW.md": "8bd158b8ef68202000f167b9b78db0b31531b5b067b5cbd91b5bf35f3ddd1ab6", + "research/higher-moment-strictification/README.md": "ebe80b68ff026ce90f71f274c31744f4c0b36132d15ebb7e39cf2d5df4df270d" + }, + "review": "docs/research/pr-intake-evidence/pr6030-audit/PROOF-REVIEW.md", + "validation": "docs/research/pr-intake-evidence/pr6030-audit/VALIDATION.json", + "integration": "docs/research/pr-intake-evidence/pr6030-audit/INTEGRATION.json", + "reproduce": "make frontier6030-verify", + "scope": "Conditional P104 helper-470 rung removal on the cumulative P104 construction and all-forward productive caller. The five inherited framework assumptions remain; no materialized uniform word or complete rounded multiplier.", + "previous_kappa": "62009/20000000", + "previous_record": "certificates/checkpoints/frontier5599.json", + "audited_source_head": "772dd10a5859a1d15f4851feb371519789213ad8", + "source_certificate": "research/p104-helper470-twin-rung-removal/RESULT.json", + "source_certificate_sha256": "84fcbe2a0b64307b5703c363408042bdd91555b0419509aa50daa43b3b1924ad", + "replay_mode": "Exact-source macOS/Linux primary evidence reused; fresh bounded macOS independent full-word/invoice/new-native checks, original caller positive control, candidate caller and optimized primary. Five framework assumptions retained.", + "contributors": "docs/research/community-p1046030-contributors.md", + "assumptions": [ + { + "id": "native_all_columns", + "statement": "Retained native operators, phase conventions, spectators and whole-job adapters work at every positive column multiplicity." + }, + { + "id": "owned_erasure", + "statement": "Owned streams and suspended centers obey the retained allocation, erasure and ownership contracts." + }, + { + "id": "compiler", + "statement": "The finite mixed-target compiler and chronological product, completion and splitting satisfy the retained uniform closure contract." + }, + { + "id": "precision_tape", + "statement": "Retained fixed-tape movement and precision/storage prescriptions apply to the new fixed finite template." + }, + { + "id": "analytic_recovery", + "statement": "Analytic decomposition, fine-prime avoidance and exact integer recovery follow the retained upstream/outer framework." + } + ], + "audit_pr": 5550, + "audit_head": "6125c07ae8ba4b8550e2a0a28a2c6be503153059", + "repaired_source_head": "746ee5e1160ae64a15a81b2a432d5566142db850" +} diff --git a/research/paired-query-only-bit/data/selected_review.md b/research/paired-query-only-bit/data/selected_review.md new file mode 100644 index 0000000000..26f2f6324b --- /dev/null +++ b/research/paired-query-only-bit/data/selected_review.md @@ -0,0 +1,187 @@ +# PR6030: independent conditional application review + +Reviewed construction: DreamingOfClouds' PR6030, original head +`772dd10a5859a1d15f4851feb371519789213ad8`, with the maintainer portability +repair at `746ee5e1160ae64a15a81b2a432d5566142db850`. The original word, +edit, pricing, expected result and source archives are unchanged by that repair. +The reviewed claim is **κ = 781451/250000000 = 0.003125804**. + +**Decision: admit the conditional κ = 0.003125804 under the five retained assumptions.** +The independent word/new-native/invoice run, original caller positive control, +candidate caller, and optimized primary pass in 39.16, 84.67, 130.11 and +461.15 seconds respectively. Peak sampled descendant RSS is 578000 KiB. +The exact-source normal primary macOS and hosted Linux evidence is reused. +Normal and optimized primary outputs agree byte for byte; the original caller +positive control has its exact frozen digest. + +Execution completion is recorded in VALIDATION.json. This text alone does not +turn an incomplete run into a pass. Admission is conditional on the same five +framework assumptions as the preceding selected PR5599; it is not a formal +proof or an independent human verification of the full multiplication theorem. + +## Complete word and independence + +The review checks the final word, not merely the small changed histogram. +Matarener's PR5960 independent interpreter, importing no author replay or +pricing routines, checks every scalar event, strict span nesting on every +MOVE, common-chart scalar operation, COPY into cleared owned storage, and all +799 endpoint rows over the rationals. The endpoints are identity on every +public helper and the prescribed X-to-Y shear on all 104 live main pairs. +The author primary also independently checks the dense transpose (638,401 +coefficients). Missing events and changed signs are rejected. + +There are 770 public inputs, including 562 helpers, 29 owned labels and 31 +owned lifetimes, with peak 13. The INIT/CLEAR/COPY multisets match PR5907; +the independent chronological replay checks their actual ordering rather than +assuming multiset equality suffices. All owned fields are cleared at return. +The 22,803-event word obeys the retained 26,000-event bound. Relative to PR5907, +only initial boundaries 713: 3→76 and 736: 424→749, and final boundary 115: +105→189 change; frames, live ports and port ordering are unchanged. + +The helper-470 rung removal and read rerouting are accompanied by a substantial +ordinary-program rewrite. The complete replay, rather than a presumed local +commutation, establishes its scalar identity. Independent helper endpoints are +strictly nested and implement their own positive Gaussian jobs after whole-job +normalization. Owned scratch has no productive credit. There are no new inputs +credited merely from correlated values or spectators. + +The paid change per local call is +−2H1+H2−2H3+H4+H6−H7+H8, while the helper change is +−H1+H2−H3+H6−H7+H8. Thus the signed moment gain is +H1+H3−H4, strictly positive for 0(63/64)^1024. With d=(C−κ)/7=1/1400000000, +H=65807000000000 and j=47005, exact integers give +(H+1)^1024<2^j; the preceding grid point fails. This supplies a sufficient +finite threshold, not a least possible uniform rank or a materialized word. + +The complete nine-row outer ledger retains b=κ+5d, a=κ+4d, q=κ+3d, +complex uniform saving κ+6d, ε=1−d, β=1−3d, and the positive guard/layout +slacks. All 54 strict and four functional predicates pass. The same admitted +BIT saving 17/5000 exceeds C; its stock guard is checked separately. No new +BIT construction or analytic decomposition is inferred from the complex gain. + +## Ordinary work, precision and storage + +The independently recounted local scalar allowance is 189,428; local routes, +normalizers, adapters and all 31 owned lifetimes cost at most 5,325,000 +ordinary primitives under the retained per-pass contract. The complete +caller bound is 126,626,680, below the retained allowance 184,647,552<10^9. +The caller result explicitly retains `paid_native_maps_replayed: false` and +`machine_and_precision_admitted: false`; it independently checks the caller, +not the full machine theorem. Paid maps are covered by the primary and new-map +checks described above. + +Dyadic coefficients and SCALE units obey the primary's fixed bounds. For +coordinate sup norms, scalar additions and dyadic scalings admit elementary +majorants; monomial routes have norm one; a rank-r Gaussian has row-norm bound +at most 2^(rf). Using every elementary majorant at least one controls every +prefix, suffix and subinterval, not merely the final operator. A conservative +complete envelope is 2^(10^9+240152f), plus the retained fixed local realization +guards. COPY is implemented as ADD into owned zero and must propagate residual +errors as an ADD; approximate residuals are not erased from the error analysis +merely because ideal scratch was zero. INIT/CLEAR use the explicit inherited +owned-erasure premise. Summing defect propagation against the envelope gives +finite precision choices under the retained implementation contract. + +The storage count uses all 13,444 productive fields and disjoint owned/query +slots, plus explicit movement scratch under the inherited tape contract. +Fixed descriptor and precision constants are absorbed at fresh outer thresholds +using strict exponent gaps, not assumed absorbed at the fixed carrier N. +The rounded multiplier and enormous uniform word remain unmaterialized. + +## Scope and attribution + +The five assumptions remain exactly native_all_columns, owned_erasure, +compiler, precision_tape, analytic_recovery. No universal barrier or search +optimality claim is admitted. Independent means separate implementations and +source-bound cross-checks with a maintainer application review; it does not +mean independent human or Lean acceptance of the complete multiplication theorem. + +DreamingOfClouds supplied PR6030 and PR5907. Ali Romman supplied PR5827 and the +successive P104 constructions/pricing chain, including the selected PR5599 +foundation. Mason Hale supplied PR5811; Pierre-Loic Doulcet/hexapode supplied +PR5565. Retain Scratch-net, flyingviper, Joel Pulikkan, Dugongue, unpaidmoon, +zxv, thu-nmrc, GamingPuzzled and all source-specific predecessors. Matarener +supplied the independent word/invoice/dense-map audit; Chris R/Clear1nsight +supplied independent native and caller machinery. David Arias, Cinna Davis, +Gareth Davidson, Cao Yifan and Jacob Alan Sussman retain the native, controller, +compiler and productive-recursion credit, together with the BIT/analytic lineage. +This application review and bounded adaptation are by Douglas Colkitt with +OpenAI Codex assistance, Apache-2.0. diff --git a/research/paired-query-only-bit/independent/bit_review.py b/research/paired-query-only-bit/independent/bit_review.py new file mode 100644 index 0000000000..ebfcb8d48d --- /dev/null +++ b/research/paired-query-only-bit/independent/bit_review.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +"""Independent reverse GF(2) native/caller and fixed-grid moment arithmetic.""" +from pathlib import Path +from collections import Counter +from fractions import Fraction as F +import json,gzip,hashlib,argparse +import importlib.util +_spec=importlib.util.spec_from_file_location('independent_intervals',Path(__file__).with_name('interval_gate.py'));G=importlib.util.module_from_spec(_spec);_spec.loader.exec_module(G) +if not __debug__: raise RuntimeError('Run without -O; assertions are proof checks.') +B=Path(__file__).resolve().parents[2];D=B/'workers/d' +read=lambda p:json.loads(gzip.decompress(p.read_bytes()) if p.suffix=='.gz' else p.read_bytes()) +ap=argparse.ArgumentParser();ap.add_argument('--efree',action='store_true');ap.add_argument('--package',default=str(D));ap.add_argument('--out');args=ap.parse_args();D=Path(args.package);callfile='EFREE-CALLER.json.gz' if args.efree else 'CALLER.json.gz';resultfile='EFREE-RESULT.json' if args.efree else 'RESULT.json';outname='bit-efree-review.json' if args.efree else 'bit-review.json' +w=read(D/callfile);n=read(D/'retained/inputs/BIT-NATIVE-WORD.json.gz');record=read(D/resultfile) +adj=[1<0 and margins[str(lo)][0]>0 and margins[str(hi)][1]<0 +def exppos(x):return G.div(G.exact(1),G.expminus(x)) +def shifted(hist,offset): + s=(0,0) + for r,c in hist.items(): + fac=exppos(G.smul(G.log(r),offset)) if offset>0 else G.expminus(G.smul(G.log(r),-offset)) + s=G.add(s,G.smul(G.mul(G.power(r,raw),fac),c)) + return s +u=F(1,5);target=G.moment(T,raw) +alpha=G.div(G.moment(P,raw),target) +gamma=G.div(shifted(P,u),G.mul(exppos(G.smul(G.log(15),u)),target)) +lam=G.div(G.mul(exppos(G.smul(G.log(16),u)),shifted(T,-u)),target) +upper=[F(v[1],G.B) for v in (alpha,gamma,lam)];aa,gg,ll=upper +norm=1/(1+768*(1-aa))+2*gg**768+ll**768;assert norm<1 +fac=G.exact(1);z=exppos(G.smul(G.log(127),raw));power=768 +while power: + if power&1:fac=G.mul(fac,z) + power//=2 + if power:z=G.mul(z,z) +eta=G.div(G.exact(1-raw),fac);theta=F(42,43);p=1 +assert 15**43<16**42 and not 15**42<16**41 +while theta**p>=F(eta[0],G.B) or F(fac[1],G.B)>=2**p:p+=1 +assert p==610 and theta**609>=F(eta[1],G.B) +H=293160000000000;assert(H+1)**p<2**29316 and(H-10**10+1)**p>=2**29315 +covered=raw-2*F(1,10**10);bootstrap=[] +if args.efree: + selected=read(D/'data/selected_claim.json');previous=F(selected['admitted_BIT_saving']);assert previous==F('.0034') + selected_pins={'selected_claim.json':'9cee8a1304fa893be3d3b641eda42fdd9b2fd6a5ac2124fb891de7a1a5e8d92e','selected_record.json':'9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa','selected_review.md':'8bd158b8ef68202000f167b9b78db0b31531b5b067b5cbd91b5bf35f3ddd1ab6'} + for filename,digest in selected_pins.items():assert hashlib.sha256((D/'data'/filename).read_bytes()).hexdigest()==digest + assert read(D/'data/selected_record.json')['certificate_sha256']==selected_pins['selected_claim.json'] + admissions=(F('.0038507'),F('.00385248')) +else:previous=F('.00376669');admissions=(F('.00385218'),F('.00385252')) +for stepindex,admitted in enumerate(admissions): + cap=(1-F(1,250))*covered+F(1,250)*previous;assert previouscap + assert cap==F(record['ordinary_bootstrap'][stepindex]['envelope']) and admitted==F(record['ordinary_bootstrap'][stepindex]['admitted']) + bootstrap.append({'previous':str(previous),'admitted':str(admitted),'envelope':str(cap),'margin':str(cap-admitted)});previous=admitted +ops=Counter(e[0] for e in w['events']);ports=w['ports'];roles=w['roles'];ambient=w['ambient_rank'] +basis=ports*8*(ops['ADD']+3*ops['SWAP']);visible=calls*10**7+basis+256*ports*(calls+ops['QUERY']+roles) +routecount=4*(sum(T.values())+sum(P.values()))+8*ports*calls+8*ports*ops['IDLE_ONE'];routes=8*(10*ambient*ambient+10*ambient)*routecount +owned=calls*n['owned_fields']+2*ports*roles*len(w['events'])+16*ports*(calls+ops['QUERY']+roles) +assert visible+routes<10**12 and owned<10**7 +assert visible==record['ordinary_visible_records'] and routes==record['whole_job_route_records'] and owned==record['owned_bank_bound'] +assert previous==F(record['ordinary_admitted']) +out=dict(reviewed_result_sha256=hashlib.sha256((D/resultfile).read_bytes()).hexdigest(),ordinary=dict(visible=visible,routes=routes,total=visible+routes,owned_bank=owned),status='INDEPENDENT_BIT_REVIEW_PASS',caller_sha256=hashlib.sha256((D/callfile).read_bytes()).hexdigest(),native_sha256=hashlib.sha256((D/'retained/inputs/BIT-NATIVE-WORD.json.gz').read_bytes()).hexdigest(),native_exact_input_rows=659,caller_exact_input_rows=w['roles'],native_calls=calls,paid=dict(sorted(P.items())),targets=dict(sorted(T.items())),rank_surplus=(1506 if args.efree else 753),margins={k:G.value(v) for k,v in margins.items()},finite_ratios=[G.value(v) for v in (alpha,gamma,lam)],normalized_upper_float=float(norm),LP=p,H=H,bootstrap=bootstrap,controls=controls,scope='Exact scalar operator and arithmetic; no chart-provider/tape implementation or tariff re-admission; Efree caller removes empty q-only credits and bootstraps only selected .0034; five foundational framework premises remain.') +if args.out!='-':(Path(args.out) if args.out else B/'workers/e'/outname).write_text(json.dumps(out,indent=2)+'\n') +print(json.dumps(out,indent=2)) diff --git a/research/paired-query-only-bit/independent/interval_gate.py b/research/paired-query-only-bit/independent/interval_gate.py new file mode 100644 index 0000000000..6d5a751dde --- /dev/null +++ b/research/paired-query-only-bit/independent/interval_gate.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python3 +"""Independent certified fixed-grid intervals (80 decimal places). +ln via 2 atanh after binary range reduction; exp(-x) via alternating +Taylor brackets. Uses only integer floor/ceiling, not Decimal transcendents. +""" +from fractions import Fraction as F +from functools import lru_cache +from pathlib import Path +import json,argparse +B=10**80 + +def ceildiv(a,b):return -((-a)//b) +def exact(q): + q=F(q);return q.numerator*B//q.denominator,ceildiv(q.numerator*B,q.denominator) +def add(a,b):return a[0]+b[0],a[1]+b[1] +def sub(a,b):return a[0]-b[1],a[1]-b[0] +def mul(a,b): + p=[a[i]*b[j] for i in (0,1) for j in (0,1)];return min(p)//B,ceildiv(max(p),B) +def div(a,b): + assert b[0]>0 + p=[F(a[i]*B,b[j]) for i in (0,1) for j in (0,1)] + return min(p).__floor__(),max(p).__ceil__() +def smul(a,q):return mul(a,exact(q)) +def atanh_log(y): + yi=exact(y);yy=mul(yi,yi);p=yi;s=(0,0) + for j in range(100):s=add(s,smul(p,F(2,2*j+1)));p=mul(p,yy) + # 0 <= tail <= 2 y^201/[201(1-y^2)] < 3*(1/3)^201. + return s[0],s[1]+ceildiv(3*B,3**201) +@lru_cache(None) +def log(r): + assert r>=1 + k=r.bit_length()-1;y=F(r-2**k,r+2**k) + a=atanh_log(y);b=atanh_log(F(1,3));return add(a,smul(b,k)) +def expminus(x): + assert 0<=x[0]<=x[1]0 and margins[str(hi)][1]<0 and margins[str(tested)][0]>0 + target=moment(T,tested);paid=moment(P,tested) + alpha=div(paid,target) + # Tail exponent = 1-tested+1/7; argument exp may not be negative. + # r^(1-tested+1/7)=r^(1-tested)* exp(log(r)/7). + def exppos(x): + assert 0<=x[0]<=x[1]0 and gap.numerator==1;step=gap.denominator + wins=lambda j:(step*j+1)**written<2**j + l,h=1,2 + while not wins(h):l,h=h,2*h + while h-l>1: + m=(l+h)//2 + if wins(m):h=m + else:l=m + assert wins(h) and not wins(h-1) + # Monotonicity: upper derivative bound on [0, cap]. + derivative=(0,0) + for rr in T.keys()|P.keys(): + c=T.get(rr,0)-P.get(rr,0);r=int(rr) + term=mul(power(r,cap if c>=0 else 0),log(r));derivative=add(derivative,smul(term,-c)) + assert derivative[1]<0 + result=dict(claim=str(claim),tested=str(tested),raw_bracket=[str(lo),str(hi)],moment_margins={k:show(v) for k,v in margins.items()},moment_margin_float={k:value(v) for k,v in margins.items()},derivative_upper=float(F(derivative[1],B)),alpha=value(alpha),gamma=value(gamma),delta=value(delta),minimum_log_power=lp,written_log_power=written,compiler_gap=str(gap),H=str(step*h),BIT_pin=str(cap),BIT_margin=str(cap-tested)) + # Outer formulas evaluated independently after algebraically substituting + # b=k+5g,a=k+4g,q=k+3g,epsilon=1-g,beta=1-3g. + k=claim;g=gap;b=k+5*g;a=k+4*g;q=k+3*g;ep=1-g;be=1-3*g;r0=g/10;stop=layout=g + sig=1-b;tau=1-a;internal=tau+(1-stop)*max(sig-tau,0);leaf=sig+stop*(1-sig);lam=1-(q+a)/2;xi=ep*(1+q)-F(3,32)+layout;key=be+1-ep + M=[ep*q,a,1-ep+q*be,1-ep+a*be,1-ep+be,F(3,32)+xi-ep,xi+F(1,2)-ep,ep,1-(ep+be+48-128+2)] + checks=[cap-a,b-a,q,b-q,a-q,stop,1-stop,(1-stop)*b-a,1-internal-q,1-leaf-q,lam-tau,lam-sig,lam-internal,1-q-lam,1-q-leaf,ep,1-ep,xi-F(1,2),ep-xi,be,ep-be,1-be,1-(2*xi-2)-r0-be,1-(2*xi-2)-be,1-ep-r0,1-ep,r0,1-key,1-be-2*(1-ep),128-48-be,layout,ep-a,F(1,32)-b,F(2**45-7**16),F(2),2-xi,F(5),1-be,1-be,1-ep,M[2]-M[0],g,k-F('.001730970419199163702738'),1-ep,F(11,2)]+[x-k for x in M] + functional=[1-be,be*(1-F(3,1000)),128-48-ep-be-1,be*(1-F(1,250))] + assert len(checks)==54 and len(functional)==4 and min(checks+functional)>0 + result['outer']=dict(strict_count=54,functional_count=4,minimum_margin=str(min(checks+functional)),BIT_just_below_effective_rejected=(a-F(1,10**12))-a<0) + # Input-lift is only needed on [1-tested_complex,1]. A stronger BIT + # pin is irrelevant to this interval; the source's crude BIT-wide bound + # is not imported beyond its valid range. + pos={7:1,3:1,5:1};neg={9:1,4:1,1:2};d1=(0,0);curvature=(0,0) + for hist,sign in ((pos,1),(neg,-1)): + for r,c in hist.items(): + d1=add(d1,smul(log(r),sign*c*r)) + curvature=add(curvature,smul(mul(log(r),log(r)),c*r)) + lift_cap=cap if cap<=F('.00376669') else tested + assert tested<=lift_cap and F(d1[1],B)+lift_cap*F(curvature[1],B)<0 + lifts={} + for price in (claim,tested): + lift=sub(moment(pos,price),moment(neg,price));assert lift[0]>0 + assert price*(-F(d1[1],B))-price*price*F(curvature[1],B)/2>0 + lifts[str(price)]=show(lift) + result['input_lift']=dict(margins=lifts,interval_kappa_cap=str(lift_cap),derivative_upper_on_required_interval=str(F(d1[1],B)+lift_cap*F(curvature[1],B)),source_BIT_wide_crude_bound_would_be=str(F(d1[1],B)+cap*F(curvature[1],B))) + return result +if __name__=='__main__': + p=argparse.ArgumentParser();p.add_argument('audit');p.add_argument('--claim',default='.00362852408');p.add_argument('--tested',default='.00362852408007');p.add_argument('--lower',default='.00362852408398727978896072723289');p.add_argument('--upper',default='.00362852408398727978896072723290');p.add_argument('--out',required=True);p.add_argument('--bit-pin',default='.00376669');a=p.parse_args() + r=gate(json.loads(Path(a.audit).read_text())['invoice'],a.claim,a.tested,a.lower,a.upper,a.bit_pin);Path(a.out).write_text(json.dumps(r,indent=2)+'\n');print(json.dumps(r,indent=2)) diff --git a/research/paired-query-only-bit/retained/NOTICE b/research/paired-query-only-bit/retained/NOTICE new file mode 100644 index 0000000000..16c9afd68e --- /dev/null +++ b/research/paired-query-only-bit/retained/NOTICE @@ -0,0 +1,25 @@ +This research package contains and adapts Apache-2.0 material from +CrocSwap/integer-mult-bounds. The repository's Apache-2.0 license is +provided as LICENSE. + +The six-field mixed-projector architecture and binary-child recursion +are adapted from research/mixed-projector-query-root and its PR6348/PR6398 +lineage, credited there to Ali Romman and Cinna Davis with substantial +OpenAI Codex assistance. The public complex normalization, dyadic bases +and proof by two central characters are not imported as a binary proof. + +The binary projectors, direct characteristic-two operator verification, +complete binary staged callers, exact incidence enumeration and target +economic relaxation in this directory were constructed and checked in +this research session. No novelty or priority assertion is made. + +inputs/interval_engine.py is an unchanged copy of +research/higher-moment-strictification/verify.py, credited to zxv with +substantial OpenAI Codex assistance; its own source notices remain intact. +The broader finite/compiler/ordinary admission in the sibling root +package retains the credit and assumptions of its pinned predecessors. + +The unchanged native source and baseline construction retain all their +original attribution, including their functional kernel, receiver +compensation, temporal retiming, helper exchange and ordinary admission +lineages. No new source-word saving is claimed by this caller package. diff --git a/research/paired-query-only-bit/retained/audit_binary_mixed.py b/research/paired-query-only-bit/retained/audit_binary_mixed.py new file mode 100644 index 0000000000..4e685c0906 --- /dev/null +++ b/research/paired-query-only-bit/retained/audit_binary_mixed.py @@ -0,0 +1,146 @@ +#!/usr/bin/env python3 +"""Independent reverse-functionals, source frames and full BIT invoice audit. + +Imports neither the new caller emitter nor its binary matrix/search code. +The unchanged native realization and common-head interface theorem are retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +import gzip,hashlib,json,time +H=Path(__file__).resolve().parent +BASE=H.parent +CALLER=BASE/'bit_mixed_caller/BINARY-MIXED-CALLER.json.gz' +SOURCE=H/'inputs/BIT-NATIVE-WORD.json.gz' +CALLER_SHA='86c4574d47e406e560b3ae2602e52501d4da4bc4c082b4f31b21f6cfef362cc3' +SOURCE_SHA='51203e7fc75ba10bd3ac3f8e675759f47e13d262bea66b6600d1e515095cad78' + +def need(v,s): + if not v:raise ValueError(s) + +def load(p,sha): + b=p.read_bytes();need(hashlib.sha256(b).hexdigest()==sha,'exact input bytes') + return json.loads(gzip.decompress(b)) + +def toggle(dst,src): + dst.symmetric_difference_update(src) + +def shift(a,body=(),head=False): + out=set() + for q,dd in a: + r=list(dd) + for s in body:r[s-1]+=1 + z=(q^int(head),tuple(r)) + if z in out:out.remove(z) + else:out.add(z) + return out + +def backward(c,events=None): + events=c['events']if events is None else events + n=c['roles'];s=c['stages'];zero=(0,(0,)*s);checked=0 + for output in range(n): + rr=[set()for _ in range(n)];rr[output]={zero} + for e in reversed(events): + op=e[0] + if op=='ADD':_,a,b=e;toggle(rr[b],rr[a]) + elif op=='SWAP':_,a,b=e;rr[a],rr[b]=rr[b],rr[a] + elif op=='QUERY':_,a,b=e;toggle(rr[b],shift(rr[a],head=True)) + elif op=='LOCAL': + _,j,a,b=e + rr[a]=shift(rr[a],[j])^shift(rr[b],[j],True) + rr[b]=shift(rr[b],[j]) + elif op=='IDLE':_,a,b,ss=e;rr[a]=shift(rr[a],ss);rr[b]=shift(rr[b],ss) + elif op=='IDLE_ONE':_,a,ss=e;rr[a]=shift(rr[a],ss) + else:raise ValueError(op) + diag=c['diagonal'][output] + target=(diag['q'],tuple(int(j in diag['stages'])for j in range(1,s+1))) + for i,row in enumerate(rr): + need(row==({target}if i==output else set()),f'reverse coefficient {output},{i}') + checked+=1 + return checked + +def included(a,b): + return all(sum(Q(x)*Q(y)for x,y in zip(v,w))==0 for v in a['B']for w in b['A']) + +def matrix_inverse(a): + n=len(a);r=[[Q(x)for x in row]+[Q(i==j)for j in range(n)]for i,row in enumerate(a)] + det=Q(1) + for j in range(n): + k=next((i for i in range(j,n)if r[i][j]),None);need(k is not None,'invertible physical chart') + if k!=j:r[k],r[j]=r[j],r[k];det=-det + z=r[j][j];det*=z;r[j]=[x/z for x in r[j]] + for i in range(n): + if i!=j: + z=r[i][j];r[i]=[x-z*y for x,y in zip(r[i],r[j])] + return [row[n:]for row in r],det + +def source_audit(w): + n=w['public'];N=n+w['owned_fields'];at=w['start']+[None]*(N-n) + rows=[1<=n and at[a]is None,'fresh owned activation');at[a]=e[2];rows[a]=0;lives+=1;live+=1;peak=max(peak,live) + elif op=='CLEAR': + need(a>=n and at[a]==e[2],'owned erasure');cleared_nonzero+=bool(rows[a]);at[a]=None;rows[a]=0;live-=1 + elif op=='ADD': + b=e[2];need(a!=b and at[a]==at[b]==e[3],'literal same-frame contact');rows[a]^=rows[b] + elif op=='SWAP': + b=e[2];at[a],at[b]=at[b],at[a];rows[a],rows[b]=rows[b],rows[a] + elif op=='MOVE': + old,new=e[2:];need(at[a]==old,'literal native entrance') + A,B=ff[str(old)],ff[str(new)];r=abs(A['dim']-B['dim']) + need(r>0 and(included(A,B)or included(B,A)),'nested native interface');at[a]=new;paid[r]+=1 + else:raise ValueError(op) + need(at==w['final']+[None]*(N-n)and live==0,'all endpoints and owned lifetimes') + for i in range(n): + expected=(1<=222 else(1<0 and n>0 for k,n in q.items()),'positive integer inventories') + return q + +def rational_up(x,digits=15): + scale=10**digits + return Q(-((-x*scale).__floor__()),scale) + +def display_point(x): + return E.display((x,x)) + +def certificate(T,P,C,v,c,b,u,w,uniform_gap=None,label='source',source_status='unadmitted'): + T,P=load_hist(T),load_hist(P) + C,u,w=Q(C),Q(u),Q(w);t=1-C + require(0=C and w>0,'valid moment exponents') + require(isinstance(v,int) and v>=1,'positive integer power') + m=max(T) + require(1= {b}^{v} of their multiplicities', + 'specialized_owned_fields':f'D = {b0}^{v} - W', + 'specialized_initial_and_final':0, + 'owned_allocation_records_bound':f'2*{b0}^{v}', + 'product_raw_invocation_count':f'sum(i=0..{v-1}, {b0}^({v-1}-i)*{p0}^i)', + 'split_paid_calls_upper':f'{p1}^{v}', + 'product_or_uniform_word_materialized':False, + 'rank_mass_surplus':'positive by separated t-moment advantage; no discarded target mass retained as credit', + 'construction':'chronological product; specialize low complete targets to owned zero; retain all original paid calls; split paid calls on disjoint axes', + } + if uniform_gap is not None: + result['uniform_compiler']=uniform_certificate(C,v,c,b,m,Q(uniform_gap)) + return result + +def uniform_certificate(C,v,c,b,m,gap): + C,gap=Q(C),Q(gap);t=1-C + require(0=eta[1] or base[0]>=2**(p-1)) + step=gap.denominator + def passes(j): return (step*j+1)**p < 2**j + lo,hi=1,2 + while not passes(hi):lo,hi=hi,hi*2 + while hi-lo>1: + mid=(lo+hi)//2 + if passes(mid):hi=mid + else:lo=mid + require(passes(hi) and not passes(hi-1),'integer uniform threshold and preceding grid point') + H=step*hi + return {'uniform_saving':str(C-gap),'gap':str(gap),'theta':str(theta), + 'logarithm_power':p,'eta':E.display(eta),'ordinary_base_bound':E.display(base), + 'previous_logarithm_power_fails':previous_p_fails,'H':H,'N':f'2^{H}', + 'integer_test_exponent':hi,'preceding_integer_grid_fails':True, + 'proof':'retained separated finite compiler and logarithmic majorant, with all new owned fields charged'} + +def product_hist(hist,v): + out=Counter({1:1}) + for _ in range(v): + nxt=Counter() + for a,n in out.items(): + for b,k in hist.items():nxt[a*b]+=n*k + out=nxt + return out + +def split_hist(hist,J): + out=Counter() + for r,n in hist.items(): + q,s=divmod(r,J) + if q:out[J]+=n*q + if s:out[s]+=n + return out + +def exact_small_inventory(): + # A rank-inventory check only: no physical source is claimed for this toy. + T={2:2,5:1};P={1:3,3:1};v=3;c=2;b=3 + TT=product_hist(T,v);PP=product_hist(P,v) + keep={k:n for k,n in TT.items() if k>=b**v} + drop={k:n for k,n in TT.items() if k0,'small example positive mass') + return {'scope':'rank-inventory mechanism; no physical source claimed','original_targets':dict(TT), + 'retained_targets':keep,'specialized_zero_targets':drop,'all_paid_after_split':dict(paid), + 'before_surplus':original_mass,'after_surplus':final_mass,'no_hidden_completion_calls':True} + +def restriction_probe(): + # Exact 2-register, 2-coordinate example. Both registers receive H2. + # The second register starts at zero but is nonzero in the middle. + H=lambda a:[a[0]+a[1],a[0]-a[1]] + for a in ([1,0],[0,1],[5,-2]): + x=list(a);z=[0,0] + z=[v+u for v,u in zip(z,x)] + require(z!=[0,0],'discarded owner can be polluted') + x=H(x);z=H(z) + z=[v-u for v,u in zip(z,x)] + require(x==H(a) and z==[0,0],'independent complete endpoint specialization') + x=[1,0];z=x.copy();x=H(x) + z=[v-u for v,u in zip(z,x)] # illegally omit query on zero-at-entrance owner + require(z!=[0,0],'omitting intermediate paid call is rejected') + return {'arithmetic':'integers','retained_columns':2,'intermediate_zero_assumption_rejected':True, + 'complete_endpoint_verified':True,'source_paid_calls_retained':2, + 'scope':'restriction lemma toy; not a native supplier improvement'} + +def authenticate(): + rows=json.loads((HERE/'INPUTS.json').read_text()) + for row in rows: + require(sha256((HERE/row['path']).read_bytes()).hexdigest()==row['sha256'],'input hash '+row['path']) + return rows + +def main(): + inputs=authenticate() + old=json.loads((HERE/'inputs/selected-p104-result.json').read_text())['complete_cost'] + pending=json.loads((HERE/'inputs/pending-pr5827-result.json').read_text())['complete_cost'] + cases=[] + cases.append(certificate(old['targets'],old['paid'],'0.0031004505',256,19,20,'1/5','1/5', + uniform_gap=Q(1,14000000000),label='selected_p104_unchanged',source_status='selected conditional physical source; no new kappa')) + cases.append(certificate(pending['targets'],pending['paid'],'0.003124766805',384,19,20,'1/5','1/5', + uniform_gap=Q(1,1400000000000),label='pending_pr5827',source_status='pending predecessor physical source; local independent admission handled separately')) + reduced=json.loads((HERE/'inputs/integrated-owned-reduction.json').read_text()) + require(reduced['word_sha256']=='81e996a7452d9eee04e2641ce2b2db06464145607792d476d59ab55f91852d7c' + and len(reduced['selected_helpers'])==23,'frozen V1 integrated complex word, not interim 37-helper screen') + cases.append(certificate(reduced['complete_targets'],reduced['complete_paid'],'0.003124766805',384,19,20,'1/5','1/5', + uniform_gap=Q(1,1400000000000),label='integrated_neutral_reduced_complex',source_status='actual kappa010 finite source; complete source admission in complex/review')) + cases[-1]['source_word_sha256']=reduced['word_sha256'] + cases[-1]['owned_helper_specializations']=len(reduced['selected_helpers']) + bit=json.loads((HERE/'inputs/integrated-bit-construction.json').read_text()) + cases.append(certificate(bit['targets'],bit['paid'],'0.0034754',192,19,20,'3/10','1/2', + uniform_gap=Q(1,10000000),label='integrated_compact436_BIT',source_status='actual kappa010 complete BIT caller; admission and delayed cover in bit/review')) + T=load_hist(old['targets']);T[3]=T.get(3,0)+3*T.pop(9) + cases.append(certificate(T,old['paid'],'0.0041',256,15,16,'1/10','1/20', + uniform_gap=Q(1,100000),label='all_H9_ternary_relaxation',source_status='ACCOUNTING RELAXATION ONLY; physical helper cuts not supplied')) + controls={} + try:certificate(old['targets'],old['paid'],'0.0041',256,19,20,'1/5','1/5') + except ValueError as e:controls['unfunded_current_0041']=str(e) + else:raise ValueError('unfunded current 0.0041 accepted') + try:certificate(old['targets'],old['paid'],'0.0031004505',256,19,20,'1/10000','1/5') + except ValueError as e:controls['illegal_paid_tail_exponent']=str(e) + else:raise ValueError('sublinear paid tail accepted') + result={'schema':'kappa010-target-restriction-compiler/1','status':'PASS','inputs':inputs, + 'cases':cases,'small_inventory':exact_small_inventory(),'restriction_probe':restriction_probe(), + 'negative_controls':controls,'limits':['No source tensor product or uniform word materialized.', + 'All-column native implementation, owned erasure, original compiler semantics, precision/tape and analytic recovery remain conditional.', + 'An arithmetic certificate on a hypothetical histogram does not establish its physical construction.']} + (HERE/'RESULT.json').write_text(json.dumps(result,indent=2,sort_keys=True)+'\n') + print(json.dumps({'status':'PASS','cases':[{'label':r['label'],'v':r['tensor_power'],'gap':r['strict_normalized_gap'],'compiler':r.get('uniform_compiler')} for r in cases]},indent=2)) + +if __name__=='__main__':main() diff --git a/research/paired-query-only-bit/retained/inputs/independent_interval.py b/research/paired-query-only-bit/retained/inputs/independent_interval.py new file mode 100644 index 0000000000..30ae586ea0 --- /dev/null +++ b/research/paired-query-only-bit/retained/inputs/independent_interval.py @@ -0,0 +1,155 @@ +#!/usr/bin/env python3 +"""Independent rational arithmetic for the complete exchanged-forest invoice. + +The interval implementation below is new and imports no proposer arithmetic. +Logarithms use an atanh series after binary range reduction; exponentials use +a positive Taylor series with a geometric bound on the full remainder. +""" +from pathlib import Path +from fractions import Fraction as Q +from functools import lru_cache +from collections import Counter +import hashlib, json, time + +HERE=Path(__file__).resolve().parent + +def need(ok,message): + if not ok:raise ValueError(message) + +def add(a,b):return a[0]+b[0],a[1]+b[1] +def mul(a,b): + z=[x*y for x in a for y in b] + return min(z),max(z) +def div(a,b): + need(b[0]>0,'positive interval divisor') + return mul(a,(1/b[1],1/b[0])) + +def small_log(z): + # log((1+z)/(1-z)), 0<=z<=1/3. + need(0<=z<=Q(1,3),'range-reduced logarithm') + acc=Q(0);term=z;N=40 + for k in range(N): + acc+=term/Q(2*k+1);term*=z*z + lo=2*acc;tail=2*term/(Q(2*N+1)*(1-z*z)) + return lo,lo+tail + +@lru_cache(None) +def logarithm(r): + need(r>=1,'positive integer rank') + k=r.bit_length()-1;z=Q(r-(1<0,'lower crossing endpoint') + if k==Q(cert['raw_crossing_bracket'][1]):need(g[1]<0,'upper crossing endpoint') + if k==C:need(g[0]>0,'strict selected raw saving') + tt=moment(T,t);pt=moment(P,t) + u=Q(a['paid_tail_offset']);z=Q(a['target_tail_offset']) + c=a['cutoff_base'];b=a['floor_base'];v=a['tensor_power'] + alpha=div(pt,tt) + gamma=div(moment(P,t+u),mul(power(c,u),tt)) + lam=div(mul(power(b,z),moment(T,t-z)),tt) + claimed=list(map(Q,a['rational_upper_limits'])) + for interval,limit in zip((alpha,gamma,lam),claimed): + need(0exact>new and atom<1-exact, + 'complete ordinary bootstrap envelope') + previous=new + need(previous==Q(cert['ordinary_admitted']),'final ordinary claim') + result['branches'][branch]={'controller_sha256':hashlib.sha256(raw).hexdigest(), + 'targets':dict(sorted(T.items())),'paid':dict(sorted(P.items())), + 'moment_intervals':margins,'alpha':bounds_text(alpha),'gamma':bounds_text(gamma), + 'lambda':bounds_text(lam),'normalized_upper':bounds_text((norm,norm)), + 'strict_raw_saving':str(C),'uniform_saving':uniform['uniform_saving'], + 'ordinary_saving':cert.get('ordinary_admitted'), + 'effective_uniform_rank_encoding':uniform['N']} + result['seconds']=time.monotonic()-started + result['scope']='Independent invoice, exact interval and finite-tail arithmetic; retained all-column native, physical realization and outer transfer premises are separate.' + return result + +if __name__=='__main__': + import sys + version07='--functional07'in sys.argv;version06='--functional06'in sys.argv;version05='--functional05'in sys.argv;version04='--functional04'in sys.argv;version02='--functional02'in sys.argv;functional='--functional'in sys.argv or version02 or version04 or version05 or version06 or version07 + r=audit(functional,version02,version04,version05,version06,version07);(HERE/('FUNCTIONAL-KERNEL-07-ADMISSION-INDEPENDENT.json'if version07 else'FUNCTIONAL-KERNEL-06-ADMISSION-INDEPENDENT.json'if version06 else'FUNCTIONAL-KERNEL-05-ADMISSION-INDEPENDENT.json'if version05 else'FUNCTIONAL-KERNEL-04-ADMISSION-INDEPENDENT.json'if version04 else'FUNCTIONAL-KERNEL-02-ADMISSION-INDEPENDENT.json'if version02 else'FUNCTIONAL-KERNEL-ADMISSION-INDEPENDENT.json'if functional else'EXCHANGE-ADMISSION-INDEPENDENT.json')).write_text(json.dumps(r,indent=2)+'\n') + print(json.dumps({'status':r['status'],'seconds':r['seconds'], + 'savings':{k:v['uniform_saving'] for k,v in r['branches'].items()}},indent=2)) diff --git a/research/paired-query-only-bit/retained/inputs/inputs/exact_arithmetic.py b/research/paired-query-only-bit/retained/inputs/inputs/exact_arithmetic.py new file mode 100644 index 0000000000..4b24a50961 --- /dev/null +++ b/research/paired-query-only-bit/retained/inputs/inputs/exact_arithmetic.py @@ -0,0 +1,421 @@ +#!/usr/bin/env python3 +"""Higher-moment strictification and a polynomial-logarithm compiler bound. + +New arithmetic is independent of predecessor interval code. The unchanged +invoice replay and two outer ledgers are credited, byte-pinned oracles. +zxv with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +import ast +from collections import Counter +from contextlib import redirect_stdout +from fractions import Fraction as Q +from functools import lru_cache +from hashlib import sha256, sha1 +import io +import json +from pathlib import Path + +HERE = Path(__file__).resolve().parent +GRID = 2**192 +C = Q('0.00268648') +KAPPA = Q('0.00268647') +T = {5:420, 6:270, 7:840, 8:1395, 9:3195, + 25:448, 41:448, 57:448, 121:224} +P = {1:37305, 2:10695, 3:3360, 4:1530, 5:300, + 8:1464, 16:448, 32:448, 48:448} + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def down(x): + return Q((x*GRID).__floor__(), GRID) + + +def up(x): + return Q(-((-x*GRID).__floor__()), GRID) + + +def rounded(lo, hi): + return down(lo), up(hi) + + +def mul(a, b): + products = [x*y for x in a for y in b] + return rounded(min(products), max(products)) + + +def scale(a, x): + return mul(a, (x, x)) + + +def divide(a, b): + need(b[0] > 0, 'positive interval denominator') + return mul(a, rounded(1/b[1], 1/b[0])) + + +@lru_cache(None) +def log_bounds(n): + """Exact atanh series, binary reduction; round only the final interval.""" + need(isinstance(n, int) and n >= 1, 'positive integer logarithm') + + def series(x): + u = (x-1)/(x+1) + term, total = u, Q(0) + for j in range(80): + total += 2*term/(2*j+1) + term *= u*u + tail = 2*term/(161*(1-u*u)) + return total, total+tail + + k = n.bit_length()-1 + a, b = series(Q(2)) + c, d = series(Q(n, 2**k)) + return rounded(k*a+c, k*b+d) + + +def exp_point(x): + """Outward fixed-point Taylor enclosure, with binary scaling/squaring.""" + need(abs(x) < 16, 'bounded exponential argument') + if x < 0: + a, b = exp_point(-x) + return rounded(1/b, 1/a) + divisions = 0 + while x > Q(1, 2): + x /= 2 + divisions += 1 + term = total = (Q(1), Q(1)) + for j in range(1, 65): + term = scale(term, x/j) + total = rounded(total[0]+term[0], total[1]+term[1]) + following = scale(term, x/65) + # Every remaining ratio is <= 1/132. Twice the next term is safe. + result = rounded(total[0], total[1]+2*following[1]) + for _ in range(divisions): + result = mul(result, result) + return result + + +def exp_interval(a): + return exp_point(a[0])[0], exp_point(a[1])[1] + + +@lru_cache(None) +def power(n, exponent): + return exp_interval(scale(log_bounds(n), exponent)) + + +def moment(histogram, exponent): + low = high = Q(0) + for n, count in histogram.items(): + a, b = power(n, exponent) + low += count*a + high += count*b + return rounded(low, high) + + +def display(a): + unit = 10**30 + + def fixed(n): + sign = '-' if n < 0 else '' + s = str(abs(n)).rjust(31, '0') + return sign+s[:-30]+'.'+s[-30:] + + return {'lower': fixed((a[0]*unit).__floor__()), + 'upper': fixed(-((-a[1]*unit).__floor__()))} + + +def encoded(x): + if isinstance(x, Q): + return str(x) + if isinstance(x, dict): + return {str(k): encoded(v) for k, v in x.items()} + if isinstance(x, (list, tuple)): + return [encoded(v) for v in x] + return x + + +def source_environment(path): + env = {'__file__': str(path), '__name__': 'pinned_source_oracle'} + exec(compile(path.read_bytes(), str(path), 'exec'), env) + return env + + +def authenticate(): + result = {} + for row in json.loads((HERE/'VENDOR.json').read_text())['files']: + path = HERE/'vendor'/Path(row['path']).relative_to( + 'research/higher-moment-strictification/vendor') + digest = sha256(path.read_bytes()).hexdigest() + need(digest == row['sha256'], 'changed source: '+row['path']) + raw = path.read_bytes() + need(sha1(b'blob '+str(len(raw)).encode()+b'\0'+raw).hexdigest() + == row['git_blob'], 'changed Git source blob') + result[row['path']] = digest + return result + + +def invoice_oracle(): + """Run #4426 unchanged, rebinding only its two file-location globals.""" + path = HERE/'vendor/invoice-review/verify.py' + env = source_environment(path) + env.update(ROOT=path.parent, PHASES='DATA-PHASES.json') + output = io.StringIO() + with redirect_stdout(output): + env['main']() + result = json.loads(output.getvalue()) + need(result['status'] == 'PASS_PR4416_INVOICE_REBUILD', 'source invoice oracle') + need({int(k): v for k, v in result['targets'].items()} == T + and {int(k): v for k, v in result['paid'].items()} == P, + 'exact literal-word invoice') + return result + + +def tail_certificate(v=150, cutoff=10, floor=15, u=Q(3, 10)): + t = 1-C + need(v >= 1 and 1 < cutoff < floor < 121, 'strict finite ranks') + need(t+u >= 1, 'tail moment exponent at least one') + target, paid = moment(T, t), moment(P, t) + alpha = divide(paid, target) + gamma = divide(moment(P, t+u), mul(power(cutoff, u), target)) + delta = divide((Q(sum(T.values())*floor),)*2, + mul(power(cutoff, C), target)) + limits = (1-Q(1, 10**8), Q(181, 200), Q(439, 500)) + for name, bounds, limit in zip(('alpha', 'gamma', 'delta'), + (alpha, gamma, delta), limits): + need(0 < bounds[0] <= bounds[1] < limit < 1, name+' certified limit') + a, g, d = limits + bound = 1/(1+v*(1-a))+2*g**v+2*d**v + need(bound < 1, 'complete charged normalized moment') + old_gamma = divide((Q(sum(k*n for k, n in P.items())),)*2, + mul(power(cutoff, C), target)) + old_lower = alpha[0]**v+2*old_gamma[0]**v + need(old_lower > 1, 'rank-one-tail estimate fails at this tensor power') + return {'tensor_power': v, 'cutoff_base': cutoff, 'floor_base': floor, + 'paid_moment_exponent': t+u, 'tail_offset_u': u, + 'tested_saving': C, 'alpha': display(alpha), 'gamma': display(gamma), + 'delta': display(delta), 'rational_upper_limits': limits, + 'normalized_paid_upper': bound, 'strict_moment_gap': display((1-bound,)*2), + 'old_rank_one_gamma': display(old_gamma), + 'old_rank_one_bound_lower': display((old_lower, old_lower)), + 'ambient': '121^'+str(v), 'minimum_target': str(floor)+'^'+str(v), + 'maximum_paid': str(cutoff)+'^'+str(v), + 'productive_fields_before_uniform_compiler': '7688^'+str(v), + 'rank_one_surplus': '131723^'+str(v)+'-131115^'+str(v), + 'materialized_product_or_uniform_word': False} + + +def uniform_rank(v): + t, p, theta = 1-C, 13, Q(6, 7) + gap = (C-KAPPA)/7 + uniform_saving = C-gap + need(10**7 < 15**6, 'theta upper bound') + need(2*(10**v)**7 <= (121**v)**6, 'shifted logarithm inequality') + eta = scale(exp_interval(scale(log_bounds(121), -v*C)), t) + need(eta[0] > theta**p, 'exit contraction below complement capacity') + base = exp_interval(scale(log_bounds(121), v*C)) + need(base[1] < 2**p, 'entire ordinary base range fits') + # Integer grid: gap*H is integral, avoiding enormous rational powers. + step = gap.denominator + need(gap.numerator == 1, 'chosen rational gap grid') + + def passes(j): + H = step*j + return (H+1)**p < 2**j + + lo, hi = 1, 2 + while not passes(hi): + lo, hi = hi, 2*hi + while hi-lo > 1: + mid = (lo+hi)//2 + if passes(mid): + hi = mid + else: + lo = mid + H = step*hi + need(H > 7*v and passes(hi) and not passes(hi-1), 'final integer comparison') + need(eta[1] < theta**(p-1), 'one smaller logarithmic power fails') + return {'t': t, 'uniform_saving': uniform_saving, 'gap': gap, + 'logarithm_power': p, 'theta_upper': theta, 'eta': display(eta), + 'eta_minus_theta_to_p': display((eta[0]-theta**p, eta[1]-theta**p)), + 'm_to_saving': display(base), 'H': H, 'N': '2^'+str(H), + 'integer_test': {'left_base': H+1, 'left_exponent': p, + 'right_base': 2, 'right_exponent': hi}, + 'grid_step': step, 'previous_grid_point_rejected': True, + 'smaller_logarithmic_power_rejected': True} + + +def power_majorant_comparison(v, uniform_saving): + """Retain #4416's older power proof, changing only the new unit's ranks.""" + t, z, h = 1-C, 1-uniform_saving, Q(1, 7) + z0 = (t+z)/2 + delta = z0-t + B, debt = (4+7*h)*v, 1+7*v*(1-z0) + ratio = (delta*B+debt)/(h*delta) + H0 = -((-ratio.numerator)//ratio.denominator) + ratio = H0*(1-z0)/(z-z0) + H1 = ratio.numerator//ratio.denominator+1 + need(H0 >= 7*v and H0*h*delta >= delta*B+debt, 'power majorant threshold') + need((H0-1)*h*delta < delta*B+debt, 'previous power threshold rejected') + need(H1*(z-z0) > H0*(1-z0) >= (H1-1)*(z-z0), + 'strict power-majorant comparison and previous-rank control') + return {'H0': H0, 'H1': H1, 'N': '2^'+str(H1), 'theta_upper': 1-h, + 'scope': 'Tail transformation alone, retaining the older power majorant.'} + + +def outer_ledger(uniform_saving): + d = (C-KAPPA)/7 + params = {'kappa': KAPPA, 'tested_saving': C, + 'complex_uniform_saving': uniform_saving, 'b': KAPPA+5*d, + 'a': KAPPA+4*d, 'q': KAPPA+3*d, 'bit_saving': Q('0.0027'), + 'epsilon': 1-d, 'beta': 1-3*d, 'r0': d/10, + 'stop': d, 'layout': d, 'd': d} + env = source_environment(HERE/'vendor/outer_endpoint.py') + row = env['ledger'](params) + need(len(row['strict_checks']) == 54 and len(row['functional_checks']) == 3, + 'complete first outer ledger') + need(all(v > 0 for group in ('strict_checks', 'functional_checks') + for v in row[group].values()), 'all outer predicates') + frozen = json.loads((HERE/'vendor/p7-RESULT.json').read_text())['endpoint']['outer'] + need(encoded(row) == frozen, 'unchanged full p7 endpoint ledger') + parsed = ast.parse((HERE/'vendor/check_ledger.py').read_bytes()) + function = next(n for n in parsed.body + if isinstance(n, ast.FunctionDef) and n.name == 'ledger') + constants = [n for n in parsed.body if isinstance(n, ast.Assign) + and any(isinstance(t, ast.Name) and t.id.startswith('KAPPA_') + for t in n.targets)] + eps, beta, q, a = (params[k] for k in ('epsilon', 'beta', 'q', 'a')) + grid = 10**10 + backoff = Q((eps*q*grid).__floor__(), grid)-KAPPA + need(backoff > 0, 'strict derived oracle grid backoff') + oracle = {'Q': Q, 'R0': params['r0'], 'ZETA': Q(1, 10**8), + 'SLACK': d, 'STOP': d, 'FLOOR': grid, 'BACKOFF': backoff, + 'EPS': eps, 'BETA': beta, 'THETA_POWER': Q(2), + 'HALO_POWER': 48, 'CORE_POWER': 128, 'STRASSEN_TAU': Q(45, 16), + 'b': params['b'], 'q': q, 'a': a, 'bit': params['bit_saving'], + 'online': Q('0.001730970419199163702738'), + 'old': Q('0.001730970419199163702738')} + code = ast.fix_missing_locations(ast.Module(body=constants+[function], type_ignores=[])) + exec(compile(code, 'pinned 63-predicate ledger', 'exec'), oracle) + second = oracle['ledger']('higher_moment_smaller_ranks') + need(second['kappa'] == KAPPA and second['margins'] == row['margins'], + 'all nine rows match both ledgers') + need(len(second['strict_checks']) == 63 and + all(v > 0 for v in second['strict_checks'].values()), 'all 63 legacy predicates') + controls = {} + for name, updates in [('closed_epsilon', {'epsilon': Q(1)}), + ('missing_layout', {'layout': Q(0)}), + ('unfunded_kappa', {'kappa': C}), + ('closed_uniform_gap', {'complex_uniform_saving': params['b']}), + ('insufficient_BIT', {'bit_saving': Q('0.0023')})]: + bad = env['ledger'](dict(params, **updates)) + failed = sorted(k for k, v in bad['strict_checks'].items() if v <= 0) + need(failed, 'outer control rejected: '+name) + controls[name] = failed + for name, options in [('old_per_axis_scan', {'old_scan': True}), + ('group_equals_dimension', {'beta_': eps})]: + bad = oracle['ledger']('reject_'+name, **options) + failed = sorted(k for k, v in bad['strict_checks'].items() if v <= 0) + need(failed, 'legacy control rejected: '+name) + controls[name] = failed + return {'ledger': row, 'legacy_63_checks': second['strict_checks'], + 'legacy_grid': grid, 'legacy_backoff': backoff, + 'minimum_margin_minus_kappa': min(row['margins'].values())-KAPPA, + 'rejected_controls': controls} + + +def finite_controls(): + def tensor(histogram): + out = Counter() + for k, n in histogram.items(): + for h, b in histogram.items(): + out[k*h] += n*b + return out + + def split(histogram, cutoff): + out = Counter() + for k, n in histogram.items(): + q, r = divmod(k, cutoff) + out[cutoff] += q*n + if r: + out[r] += n + return +out + + target, paid = tensor({2:1, 5:1}), tensor({1:2, 4:1}) + padded, completion = Counter(), Counter() + for k, n in target.items(): + padded[max(k, 9)] += n + if k < 9: + completion[9-k] += n + final = split(paid+completion, 4) + mass = lambda x: sum(k*n for k, n in x.items()) + need(mass(padded)-mass(final) == 7**2-6**2 == 13, 'exact paid padding mass') + need(min(padded) > max(final), 'exact toy separation') + need(final == Counter({1:5, 4:9}), 'literal toy expanded inventory') + # t=1/2, sigma=3/4, R=100, J=1 refutes a sublinear tail extension. + invalid = power(100, Q(1, 2))[1]+2*power(100, Q(3, 4))[1] + need(invalid < 100, 'sublinear upper-tail moment cannot bound splitting') + return {'toy_targets': padded, 'toy_paid': final, 'rank_one_surplus': 13, + 'sublinear_tail_counterexample': {'R': 100, 'J': 1, 't': '1/2', + 'sigma': '3/4', 'actual_charge': 100, + 'invalid_upper': display((invalid, invalid))}} + + +def verify(): + sources = authenticate() + invoice = invoice_oracle() + tail = tail_certificate() + rank = uniform_rank(tail['tensor_power']) + endpoint = outer_ledger(rank['uniform_saving']) + controls = finite_controls() + rejected = [] + for name, updates, expected in [ + ('too_short_product', {'v': 100}, 'complete charged normalized moment'), + ('sublinear_tail', {'u': C/2}, 'tail moment exponent at least one'), + ('lost_separation', {'floor': 10}, 'strict finite ranks'), + ]: + try: + tail_certificate(**updates) + except ValueError as error: + need(str(error) == expected, 'wrong rejection: '+name) + rejected.append({'mutation': name, 'failed_at': str(error)}) + else: + raise ValueError('accepted mutation: '+name) + old = json.loads((HERE/'vendor/p7-RESULT.json').read_text())['endpoint']['compiler'] + return encoded({'schema': 'higher-moment-native-strictification/1', + 'status': 'PASS_HIGHER_MOMENT_STRICTIFICATION', 'kappa': KAPPA, + 'invoice_oracle': invoice, 'strictification': tail, + 'uniform_rank': rank, 'outer': endpoint, + 'tail_only_power_majorant': power_majorant_comparison( + tail['tensor_power'], rank['uniform_saving']), + 'finite_controls': controls, 'rejected_mutations': rejected, + 'predecessor_H': old['H1'], + 'rank_exponent_reduction_factor': Q(old['H1'], rank['H']), + 'tensor_power_reduction_factor': Q(6240, tail['tensor_power']), + 'source_sha256': sources, + 'verifier_sha256': sha256(Path(__file__).read_bytes()).hexdigest(), + 'scope': 'Conditional charged transformation and finite compiler rank. Native all-column, physical, analytic, precision, storage, fixed-tape and recovery premises remain inherited. No new kappa, selected frontier or practical word.'}) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--out', type=Path) + args = parser.parse_args() + result = verify() + if args.out: + need(not args.out.exists(), 'new output path required') + args.out.write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + else: + need(json.loads((HERE/'RESULT.json').read_text()) == result, 'changed saved receipt') + print(json.dumps({'status': result['status'], 'tensor_power': result['strictification']['tensor_power'], + 'uniform_rank': result['uniform_rank']['N'], + 'strict_moment_gap': result['strictification']['strict_moment_gap'], + 'kappa': result['kappa']})) + + +if __name__ == '__main__': + main()