use crate::tfhe::bdd_arithmetic::{BitCircuit, BitCircuitInfo, Circuit, GetBitCircuitInfo, Node}; pub(crate) enum AnyBitCircuit { B0(BitCircuit<63, 6>), B1(BitCircuit<62, 6>), B2(BitCircuit<61, 6>), B3(BitCircuit<60, 6>), B4(BitCircuit<59, 6>), B5(BitCircuit<58, 6>), B6(BitCircuit<57, 6>), B7(BitCircuit<56, 6>), B8(BitCircuit<55, 6>), B9(BitCircuit<54, 6>), B10(BitCircuit<53, 6>), B11(BitCircuit<52, 6>), B12(BitCircuit<51, 6>), B13(BitCircuit<50, 6>), B14(BitCircuit<49, 6>), B15(BitCircuit<48, 6>), B16(BitCircuit<47, 6>), B17(BitCircuit<45, 6>), B18(BitCircuit<43, 6>), B19(BitCircuit<41, 6>), B20(BitCircuit<39, 6>), B21(BitCircuit<37, 6>), B22(BitCircuit<35, 6>), B23(BitCircuit<33, 6>), B24(BitCircuit<31, 6>), B25(BitCircuit<28, 6>), B26(BitCircuit<25, 6>), B27(BitCircuit<22, 6>), B28(BitCircuit<19, 6>), B29(BitCircuit<15, 6>), B30(BitCircuit<11, 6>), B31(BitCircuit<1, 1>), } impl BitCircuitInfo for AnyBitCircuit { fn info(&self) -> (&[Node], &[usize], usize) { match self { AnyBitCircuit::B0(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B1(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B2(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B3(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B4(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B5(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B6(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B7(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B8(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B9(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B10(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B11(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B12(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B13(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B14(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B15(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B16(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B17(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B18(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B19(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B20(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B21(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B22(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B23(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B24(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B25(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B26(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B27(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B28(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B29(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B30(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), AnyBitCircuit::B31(bit_circuit) => ( bit_circuit.nodes.as_ref(), bit_circuit.levels.as_ref(), bit_circuit.max_inter_state, ), } } } impl GetBitCircuitInfo for Circuit { fn input_size(&self) -> usize { 2 * u32::BITS as usize } fn output_size(&self) -> usize { u32::BITS as usize } fn get_circuit(&self, bit: usize) -> (&[Node], &[usize], usize) { self.0[bit].info() } } pub(crate) static OUTPUT_CIRCUITS: Circuit = Circuit([ AnyBitCircuit::B0(BitCircuit::new( [ Node::new(13, 1, 0), Node::new(11, 1, 0), Node::new(8, 1, 0), Node::new(14, 1, 0), Node::new(21, 1, 0), Node::new(23, 1, 0), Node::new(24, 1, 0), Node::new(17, 1, 0), Node::new(6, 1, 0), Node::new(3, 1, 0), Node::new(29, 1, 0), Node::new(1, 1, 0), Node::new(20, 1, 0), Node::new(28, 1, 0), Node::new(10, 1, 0), Node::new(18, 1, 0), Node::new(19, 1, 0), Node::new(15, 1, 0), Node::new(7, 1, 0), Node::new(0, 1, 0), Node::new(30, 1, 0), Node::new(5, 1, 0), Node::new(27, 1, 0), Node::new(9, 1, 0), Node::new(2, 1, 0), Node::new(25, 1, 0), Node::new(12, 1, 0), Node::new(31, 1, 0), Node::new(16, 1, 0), Node::new(22, 1, 0), Node::new(26, 1, 0), Node::new(4, 1, 0), Node::new(36, 15, 24), Node::new(36, 12, 31), Node::new(36, 7, 11), Node::new(36, 5, 18), Node::new(36, 4, 21), Node::new(36, 30, 14), Node::new(36, 6, 2), Node::new(36, 29, 8), Node::new(36, 16, 9), Node::new(36, 20, 3), Node::new(36, 25, 23), Node::new(36, 27, 17), Node::new(36, 13, 26), Node::new(36, 10, 0), Node::new(36, 28, 19), Node::new(36, 22, 1), Node::new(35, 5, 0), Node::new(35, 12, 1), Node::new(35, 9, 7), Node::new(35, 11, 3), Node::new(35, 10, 2), Node::new(35, 15, 8), Node::new(35, 6, 14), Node::new(35, 13, 4), Node::new(34, 7, 4), Node::new(34, 1, 6), Node::new(34, 2, 0), Node::new(34, 3, 5), Node::new(33, 3, 0), Node::new(33, 2, 1), Node::new(32, 0, 1), ], [0, 32, 48, 56, 60, 62], 32, )), AnyBitCircuit::B1(BitCircuit::new( [ Node::new(3, 1, 0), Node::new(1, 1, 0), Node::new(27, 1, 0), Node::new(2, 1, 0), Node::new(5, 1, 0), Node::new(17, 1, 0), Node::new(10, 1, 0), Node::new(30, 1, 0), Node::new(24, 1, 0), Node::new(22, 1, 0), Node::new(20, 1, 0), Node::new(8, 1, 0), Node::new(16, 1, 0), Node::new(11, 1, 0), Node::new(15, 1, 0), Node::new(12, 1, 0), Node::new(23, 1, 0), Node::new(29, 1, 0), Node::new(25, 1, 0), Node::new(13, 1, 0), Node::new(14, 1, 0), Node::new(21, 1, 0), Node::new(7, 1, 0), Node::new(18, 1, 0), Node::new(26, 1, 0), Node::new(9, 1, 0), Node::new(19, 1, 0), Node::new(4, 1, 0), Node::new(31, 1, 0), Node::new(28, 1, 0), Node::new(6, 1, 0), Node::new(36, 26, 0), Node::new(36, 8, 11), Node::new(36, 23, 3), Node::new(36, 2, 13), Node::new(36, 29, 15), Node::new(36, 28, 12), Node::new(36, 9, 30), Node::new(36, 5, 1), Node::new(36, 21, 4), Node::new(36, 10, 27), Node::new(36, 18, 25), Node::new(36, 28, 14), Node::new(36, 7, 20), Node::new(36, 16, 22), Node::new(36, 17, 19), Node::new(36, 24, 6), Node::new(35, 14, 8), Node::new(35, 12, 6), Node::new(35, 11, 13), Node::new(35, 3, 0), Node::new(35, 10, 7), Node::new(35, 4, 9), Node::new(35, 5, 1), Node::new(35, 15, 2), Node::new(34, 1, 7), Node::new(34, 6, 5), Node::new(34, 0, 4), Node::new(34, 2, 3), Node::new(33, 3, 2), Node::new(33, 1, 0), Node::new(32, 1, 0), ], [0, 31, 47, 55, 59, 61], 31, )), AnyBitCircuit::B2(BitCircuit::new( [ Node::new(8, 1, 0), Node::new(28, 1, 0), Node::new(4, 1, 0), Node::new(20, 1, 0), Node::new(27, 1, 0), Node::new(7, 1, 0), Node::new(23, 1, 0), Node::new(26, 1, 0), Node::new(17, 1, 0), Node::new(6, 1, 0), Node::new(29, 1, 0), Node::new(2, 1, 0), Node::new(9, 1, 0), Node::new(21, 1, 0), Node::new(25, 1, 0), Node::new(31, 1, 0), Node::new(15, 1, 0), Node::new(18, 1, 0), Node::new(10, 1, 0), Node::new(30, 1, 0), Node::new(5, 1, 0), Node::new(13, 1, 0), Node::new(24, 1, 0), Node::new(12, 1, 0), Node::new(19, 1, 0), Node::new(22, 1, 0), Node::new(16, 1, 0), Node::new(3, 1, 0), Node::new(11, 1, 0), Node::new(14, 1, 0), Node::new(36, 10, 21), Node::new(36, 3, 2), Node::new(36, 22, 0), Node::new(36, 13, 20), Node::new(36, 6, 5), Node::new(36, 25, 9), Node::new(36, 15, 16), Node::new(36, 15, 8), Node::new(36, 4, 28), Node::new(36, 1, 23), Node::new(36, 17, 11), Node::new(36, 19, 29), Node::new(36, 24, 27), Node::new(36, 14, 12), Node::new(36, 7, 18), Node::new(36, 15, 26), Node::new(35, 11, 5), Node::new(35, 14, 10), Node::new(35, 9, 1), Node::new(35, 6, 4), Node::new(35, 7, 13), Node::new(35, 8, 12), Node::new(35, 0, 3), Node::new(35, 15, 2), Node::new(34, 7, 2), Node::new(34, 0, 1), Node::new(34, 3, 5), Node::new(34, 4, 6), Node::new(33, 3, 2), Node::new(33, 0, 1), Node::new(32, 0, 1), ], [0, 30, 46, 54, 58, 60], 30, )), AnyBitCircuit::B3(BitCircuit::new( [ Node::new(28, 1, 0), Node::new(3, 1, 0), Node::new(16, 1, 0), Node::new(14, 1, 0), Node::new(29, 1, 0), Node::new(13, 1, 0), Node::new(27, 1, 0), Node::new(10, 1, 0), Node::new(8, 1, 0), Node::new(31, 1, 0), Node::new(24, 1, 0), Node::new(9, 1, 0), Node::new(5, 1, 0), Node::new(6, 1, 0), Node::new(7, 1, 0), Node::new(30, 1, 0), Node::new(25, 1, 0), Node::new(20, 1, 0), Node::new(18, 1, 0), Node::new(21, 1, 0), Node::new(12, 1, 0), Node::new(4, 1, 0), Node::new(26, 1, 0), Node::new(17, 1, 0), Node::new(19, 1, 0), Node::new(11, 1, 0), Node::new(23, 1, 0), Node::new(15, 1, 0), Node::new(22, 1, 0), Node::new(36, 4, 5), Node::new(36, 19, 12), Node::new(36, 26, 14), Node::new(36, 6, 25), Node::new(36, 9, 23), Node::new(36, 16, 11), Node::new(36, 15, 3), Node::new(36, 10, 8), Node::new(36, 0, 20), Node::new(36, 9, 27), Node::new(36, 9, 18), Node::new(36, 9, 2), Node::new(36, 28, 13), Node::new(36, 24, 1), Node::new(36, 17, 21), Node::new(36, 22, 7), Node::new(35, 8, 14), Node::new(35, 3, 13), Node::new(35, 11, 7), Node::new(35, 10, 15), Node::new(35, 0, 1), Node::new(35, 4, 5), Node::new(35, 6, 12), Node::new(35, 9, 2), Node::new(34, 5, 4), Node::new(34, 3, 6), Node::new(34, 2, 0), Node::new(34, 7, 1), Node::new(33, 1, 2), Node::new(33, 0, 3), Node::new(32, 0, 1), ], [0, 29, 45, 53, 57, 59], 29, )), AnyBitCircuit::B4(BitCircuit::new( [ Node::new(27, 1, 0), Node::new(8, 1, 0), Node::new(9, 1, 0), Node::new(11, 1, 0), Node::new(29, 1, 0), Node::new(16, 1, 0), Node::new(10, 1, 0), Node::new(30, 1, 0), Node::new(21, 1, 0), Node::new(25, 1, 0), Node::new(14, 1, 0), Node::new(5, 1, 0), Node::new(15, 1, 0), Node::new(23, 1, 0), Node::new(24, 1, 0), Node::new(26, 1, 0), Node::new(17, 1, 0), Node::new(20, 1, 0), Node::new(13, 1, 0), Node::new(4, 1, 0), Node::new(28, 1, 0), Node::new(18, 1, 0), Node::new(6, 1, 0), Node::new(7, 1, 0), Node::new(22, 1, 0), Node::new(19, 1, 0), Node::new(12, 1, 0), Node::new(31, 1, 0), Node::new(36, 7, 10), Node::new(36, 15, 6), Node::new(36, 4, 18), Node::new(36, 27, 21), Node::new(36, 9, 2), Node::new(36, 27, 12), Node::new(36, 0, 3), Node::new(36, 14, 1), Node::new(36, 8, 11), Node::new(36, 17, 19), Node::new(36, 20, 26), Node::new(36, 27, 25), Node::new(36, 27, 16), Node::new(36, 24, 22), Node::new(36, 27, 5), Node::new(36, 13, 23), Node::new(35, 10, 9), Node::new(35, 5, 15), Node::new(35, 3, 1), Node::new(35, 12, 4), Node::new(35, 2, 8), Node::new(35, 0, 13), Node::new(35, 14, 7), Node::new(35, 11, 6), Node::new(34, 7, 1), Node::new(34, 6, 0), Node::new(34, 2, 5), Node::new(34, 3, 4), Node::new(33, 2, 1), Node::new(33, 0, 3), Node::new(32, 1, 0), ], [0, 28, 44, 52, 56, 58], 28, )), AnyBitCircuit::B5(BitCircuit::new( [ Node::new(29, 1, 0), Node::new(15, 1, 0), Node::new(5, 1, 0), Node::new(13, 1, 0), Node::new(31, 1, 0), Node::new(21, 1, 0), Node::new(7, 1, 0), Node::new(27, 1, 0), Node::new(24, 1, 0), Node::new(12, 1, 0), Node::new(16, 1, 0), Node::new(8, 1, 0), Node::new(30, 1, 0), Node::new(22, 1, 0), Node::new(11, 1, 0), Node::new(28, 1, 0), Node::new(26, 1, 0), Node::new(6, 1, 0), Node::new(10, 1, 0), Node::new(9, 1, 0), Node::new(23, 1, 0), Node::new(19, 1, 0), Node::new(20, 1, 0), Node::new(25, 1, 0), Node::new(17, 1, 0), Node::new(18, 1, 0), Node::new(14, 1, 0), Node::new(36, 20, 6), Node::new(36, 4, 24), Node::new(36, 4, 25), Node::new(36, 16, 18), Node::new(36, 4, 10), Node::new(36, 8, 11), Node::new(36, 7, 14), Node::new(36, 15, 9), Node::new(36, 0, 3), Node::new(36, 4, 21), Node::new(36, 5, 2), Node::new(36, 23, 19), Node::new(36, 13, 17), Node::new(36, 4, 22), Node::new(36, 12, 26), Node::new(36, 4, 1), Node::new(35, 8, 10), Node::new(35, 15, 0), Node::new(35, 13, 7), Node::new(35, 9, 6), Node::new(35, 1, 11), Node::new(35, 4, 5), Node::new(35, 2, 3), Node::new(35, 14, 12), Node::new(34, 4, 0), Node::new(34, 2, 5), Node::new(34, 3, 1), Node::new(34, 6, 7), Node::new(33, 1, 3), Node::new(33, 2, 0), Node::new(32, 0, 1), ], [0, 27, 43, 51, 55, 57], 27, )), AnyBitCircuit::B6(BitCircuit::new( [ Node::new(24, 1, 0), Node::new(18, 1, 0), Node::new(17, 1, 0), Node::new(29, 1, 0), Node::new(16, 1, 0), Node::new(7, 1, 0), Node::new(30, 1, 0), Node::new(13, 1, 0), Node::new(6, 1, 0), Node::new(28, 1, 0), Node::new(26, 1, 0), Node::new(12, 1, 0), Node::new(19, 1, 0), Node::new(9, 1, 0), Node::new(20, 1, 0), Node::new(21, 1, 0), Node::new(14, 1, 0), Node::new(8, 1, 0), Node::new(10, 1, 0), Node::new(22, 1, 0), Node::new(25, 1, 0), Node::new(15, 1, 0), Node::new(11, 1, 0), Node::new(23, 1, 0), Node::new(31, 1, 0), Node::new(27, 1, 0), Node::new(36, 24, 14), Node::new(36, 24, 12), Node::new(36, 25, 22), Node::new(36, 0, 17), Node::new(36, 24, 4), Node::new(36, 23, 5), Node::new(36, 9, 11), Node::new(36, 3, 7), Node::new(36, 24, 2), Node::new(36, 24, 15), Node::new(36, 10, 18), Node::new(36, 24, 1), Node::new(36, 6, 16), Node::new(36, 20, 13), Node::new(36, 24, 21), Node::new(36, 19, 8), Node::new(35, 11, 10), Node::new(35, 12, 15), Node::new(35, 4, 3), Node::new(35, 9, 7), Node::new(35, 1, 2), Node::new(35, 8, 13), Node::new(35, 14, 5), Node::new(35, 0, 6), Node::new(34, 4, 6), Node::new(34, 7, 2), Node::new(34, 0, 1), Node::new(34, 3, 5), Node::new(33, 1, 2), Node::new(33, 3, 0), Node::new(32, 1, 0), ], [0, 26, 42, 50, 54, 56], 26, )), AnyBitCircuit::B7(BitCircuit::new( [ Node::new(18, 1, 0), Node::new(26, 1, 0), Node::new(27, 1, 0), Node::new(11, 1, 0), Node::new(15, 1, 0), Node::new(23, 1, 0), Node::new(31, 1, 0), Node::new(21, 1, 0), Node::new(9, 1, 0), Node::new(10, 1, 0), Node::new(13, 1, 0), Node::new(20, 1, 0), Node::new(17, 1, 0), Node::new(24, 1, 0), Node::new(14, 1, 0), Node::new(22, 1, 0), Node::new(7, 1, 0), Node::new(29, 1, 0), Node::new(30, 1, 0), Node::new(19, 1, 0), Node::new(12, 1, 0), Node::new(28, 1, 0), Node::new(25, 1, 0), Node::new(8, 1, 0), Node::new(16, 1, 0), Node::new(36, 6, 0), Node::new(36, 6, 15), Node::new(36, 22, 8), Node::new(36, 6, 19), Node::new(36, 13, 23), Node::new(36, 21, 20), Node::new(36, 6, 7), Node::new(36, 2, 3), Node::new(36, 6, 24), Node::new(36, 6, 11), Node::new(36, 6, 4), Node::new(36, 5, 16), Node::new(36, 1, 9), Node::new(36, 18, 14), Node::new(36, 6, 12), Node::new(36, 17, 10), Node::new(35, 6, 15), Node::new(35, 9, 5), Node::new(35, 10, 11), Node::new(35, 8, 4), Node::new(35, 14, 2), Node::new(35, 0, 12), Node::new(35, 1, 13), Node::new(35, 3, 7), Node::new(34, 7, 2), Node::new(34, 1, 3), Node::new(34, 0, 4), Node::new(34, 6, 5), Node::new(33, 3, 1), Node::new(33, 2, 0), Node::new(32, 0, 1), ], [0, 25, 41, 49, 53, 55], 25, )), AnyBitCircuit::B8(BitCircuit::new( [ Node::new(21, 1, 0), Node::new(22, 1, 0), Node::new(15, 1, 0), Node::new(20, 1, 0), Node::new(11, 1, 0), Node::new(24, 1, 0), Node::new(18, 1, 0), Node::new(13, 1, 0), Node::new(9, 1, 0), Node::new(10, 1, 0), Node::new(26, 1, 0), Node::new(27, 1, 0), Node::new(19, 1, 0), Node::new(23, 1, 0), Node::new(12, 1, 0), Node::new(29, 1, 0), Node::new(8, 1, 0), Node::new(17, 1, 0), Node::new(14, 1, 0), Node::new(25, 1, 0), Node::new(28, 1, 0), Node::new(31, 1, 0), Node::new(16, 1, 0), Node::new(30, 1, 0), Node::new(36, 21, 13), Node::new(36, 21, 22), Node::new(36, 19, 8), Node::new(36, 21, 12), Node::new(36, 23, 18), Node::new(36, 5, 16), Node::new(36, 20, 14), Node::new(36, 21, 3), Node::new(36, 21, 0), Node::new(36, 21, 17), Node::new(36, 11, 4), Node::new(36, 21, 2), Node::new(36, 21, 1), Node::new(36, 21, 6), Node::new(36, 15, 7), Node::new(36, 10, 9), Node::new(35, 1, 5), Node::new(35, 13, 15), Node::new(35, 9, 2), Node::new(35, 12, 4), Node::new(35, 3, 10), Node::new(35, 7, 6), Node::new(35, 0, 11), Node::new(35, 8, 14), Node::new(34, 3, 1), Node::new(34, 7, 2), Node::new(34, 6, 4), Node::new(34, 5, 0), Node::new(33, 2, 1), Node::new(33, 0, 3), Node::new(32, 0, 1), ], [0, 24, 40, 48, 52, 54], 24, )), AnyBitCircuit::B9(BitCircuit::new( [ Node::new(12, 1, 0), Node::new(15, 1, 0), Node::new(22, 1, 0), Node::new(20, 1, 0), Node::new(16, 1, 0), Node::new(23, 1, 0), Node::new(17, 1, 0), Node::new(11, 1, 0), Node::new(21, 1, 0), Node::new(14, 1, 0), Node::new(30, 1, 0), Node::new(28, 1, 0), Node::new(25, 1, 0), Node::new(18, 1, 0), Node::new(27, 1, 0), Node::new(9, 1, 0), Node::new(29, 1, 0), Node::new(24, 1, 0), Node::new(31, 1, 0), Node::new(26, 1, 0), Node::new(19, 1, 0), Node::new(13, 1, 0), Node::new(10, 1, 0), Node::new(36, 12, 15), Node::new(36, 16, 21), Node::new(36, 18, 6), Node::new(36, 19, 22), Node::new(36, 18, 17), Node::new(36, 18, 3), Node::new(36, 14, 7), Node::new(36, 18, 4), Node::new(36, 18, 5), Node::new(36, 18, 8), Node::new(36, 18, 2), Node::new(36, 18, 1), Node::new(36, 10, 9), Node::new(36, 11, 0), Node::new(36, 18, 20), Node::new(36, 18, 13), Node::new(35, 5, 13), Node::new(35, 2, 0), Node::new(35, 9, 1), Node::new(35, 8, 11), Node::new(35, 14, 6), Node::new(35, 10, 12), Node::new(35, 4, 7), Node::new(35, 15, 3), Node::new(34, 6, 0), Node::new(34, 3, 4), Node::new(34, 5, 7), Node::new(34, 2, 1), Node::new(33, 1, 3), Node::new(33, 0, 2), Node::new(32, 1, 0), ], [0, 23, 39, 47, 51, 53], 23, )), AnyBitCircuit::B10(BitCircuit::new( [ Node::new(26, 1, 0), Node::new(23, 1, 0), Node::new(31, 1, 0), Node::new(10, 1, 0), Node::new(18, 1, 0), Node::new(17, 1, 0), Node::new(30, 1, 0), Node::new(29, 1, 0), Node::new(22, 1, 0), Node::new(12, 1, 0), Node::new(19, 1, 0), Node::new(15, 1, 0), Node::new(11, 1, 0), Node::new(16, 1, 0), Node::new(13, 1, 0), Node::new(24, 1, 0), Node::new(25, 1, 0), Node::new(14, 1, 0), Node::new(28, 1, 0), Node::new(21, 1, 0), Node::new(27, 1, 0), Node::new(20, 1, 0), Node::new(36, 2, 11), Node::new(36, 2, 16), Node::new(36, 0, 3), Node::new(36, 18, 9), Node::new(36, 20, 12), Node::new(36, 2, 4), Node::new(36, 7, 14), Node::new(36, 2, 10), Node::new(36, 6, 17), Node::new(36, 2, 13), Node::new(36, 2, 1), Node::new(36, 2, 15), Node::new(36, 2, 8), Node::new(36, 2, 21), Node::new(36, 2, 19), Node::new(36, 2, 5), Node::new(35, 12, 8), Node::new(35, 14, 6), Node::new(35, 13, 3), Node::new(35, 7, 4), Node::new(35, 11, 9), Node::new(35, 10, 0), Node::new(35, 5, 2), Node::new(35, 1, 15), Node::new(34, 4, 2), Node::new(34, 0, 6), Node::new(34, 5, 3), Node::new(34, 7, 1), Node::new(33, 0, 1), Node::new(33, 3, 2), Node::new(32, 1, 0), ], [0, 22, 38, 46, 50, 52], 22, )), AnyBitCircuit::B11(BitCircuit::new( [ Node::new(28, 1, 0), Node::new(24, 1, 0), Node::new(11, 1, 0), Node::new(31, 1, 0), Node::new(21, 1, 0), Node::new(26, 1, 0), Node::new(22, 1, 0), Node::new(14, 1, 0), Node::new(30, 1, 0), Node::new(15, 1, 0), Node::new(12, 1, 0), Node::new(29, 1, 0), Node::new(19, 1, 0), Node::new(20, 1, 0), Node::new(25, 1, 0), Node::new(27, 1, 0), Node::new(23, 1, 0), Node::new(13, 1, 0), Node::new(18, 1, 0), Node::new(17, 1, 0), Node::new(16, 1, 0), Node::new(36, 3, 14), Node::new(36, 3, 13), Node::new(36, 3, 1), Node::new(36, 8, 7), Node::new(36, 3, 12), Node::new(36, 11, 17), Node::new(36, 3, 19), Node::new(36, 3, 20), Node::new(36, 3, 18), Node::new(36, 3, 16), Node::new(36, 3, 9), Node::new(36, 15, 2), Node::new(36, 0, 10), Node::new(36, 3, 4), Node::new(36, 3, 6), Node::new(36, 3, 5), Node::new(35, 0, 6), Node::new(35, 9, 10), Node::new(35, 13, 5), Node::new(35, 2, 7), Node::new(35, 4, 11), Node::new(35, 15, 8), Node::new(35, 1, 12), Node::new(35, 14, 3), Node::new(34, 0, 2), Node::new(34, 1, 4), Node::new(34, 3, 6), Node::new(34, 5, 7), Node::new(33, 3, 2), Node::new(33, 0, 1), Node::new(32, 0, 1), ], [0, 21, 37, 45, 49, 51], 21, )), AnyBitCircuit::B12(BitCircuit::new( [ Node::new(23, 1, 0), Node::new(22, 1, 0), Node::new(13, 1, 0), Node::new(12, 1, 0), Node::new(26, 1, 0), Node::new(25, 1, 0), Node::new(15, 1, 0), Node::new(31, 1, 0), Node::new(24, 1, 0), Node::new(29, 1, 0), Node::new(18, 1, 0), Node::new(21, 1, 0), Node::new(14, 1, 0), Node::new(20, 1, 0), Node::new(27, 1, 0), Node::new(19, 1, 0), Node::new(16, 1, 0), Node::new(28, 1, 0), Node::new(17, 1, 0), Node::new(30, 1, 0), Node::new(36, 7, 6), Node::new(36, 7, 0), Node::new(36, 9, 2), Node::new(36, 7, 5), Node::new(36, 7, 15), Node::new(36, 7, 18), Node::new(36, 19, 12), Node::new(36, 7, 8), Node::new(36, 7, 1), Node::new(36, 7, 11), Node::new(36, 7, 16), Node::new(36, 7, 10), Node::new(36, 7, 4), Node::new(36, 7, 14), Node::new(36, 7, 13), Node::new(36, 17, 3), Node::new(35, 14, 15), Node::new(35, 13, 4), Node::new(35, 8, 6), Node::new(35, 9, 2), Node::new(35, 12, 11), Node::new(35, 1, 0), Node::new(35, 3, 5), Node::new(35, 7, 10), Node::new(34, 6, 3), Node::new(34, 4, 2), Node::new(34, 7, 0), Node::new(34, 1, 5), Node::new(33, 3, 0), Node::new(33, 1, 2), Node::new(32, 0, 1), ], [0, 20, 36, 44, 48, 50], 20, )), AnyBitCircuit::B13(BitCircuit::new( [ Node::new(27, 1, 0), Node::new(20, 1, 0), Node::new(13, 1, 0), Node::new(28, 1, 0), Node::new(22, 1, 0), Node::new(15, 1, 0), Node::new(25, 1, 0), Node::new(29, 1, 0), Node::new(23, 1, 0), Node::new(21, 1, 0), Node::new(19, 1, 0), Node::new(16, 1, 0), Node::new(26, 1, 0), Node::new(24, 1, 0), Node::new(30, 1, 0), Node::new(17, 1, 0), Node::new(18, 1, 0), Node::new(14, 1, 0), Node::new(31, 1, 0), Node::new(36, 18, 12), Node::new(36, 18, 6), Node::new(36, 18, 16), Node::new(36, 18, 0), Node::new(36, 18, 11), Node::new(36, 18, 13), Node::new(36, 18, 8), Node::new(36, 14, 17), Node::new(36, 7, 2), Node::new(36, 18, 1), Node::new(36, 18, 5), Node::new(36, 18, 9), Node::new(36, 18, 10), Node::new(36, 18, 4), Node::new(36, 18, 3), Node::new(36, 18, 15), Node::new(35, 3, 12), Node::new(35, 14, 9), Node::new(35, 11, 8), Node::new(35, 13, 7), Node::new(35, 5, 4), Node::new(35, 6, 10), Node::new(35, 0, 2), Node::new(35, 1, 15), Node::new(34, 6, 3), Node::new(34, 7, 2), Node::new(34, 0, 5), Node::new(34, 1, 4), Node::new(33, 2, 1), Node::new(33, 3, 0), Node::new(32, 1, 0), ], [0, 19, 35, 43, 47, 49], 19, )), AnyBitCircuit::B14(BitCircuit::new( [ Node::new(26, 1, 0), Node::new(21, 1, 0), Node::new(20, 1, 0), Node::new(29, 1, 0), Node::new(31, 1, 0), Node::new(22, 1, 0), Node::new(19, 1, 0), Node::new(23, 1, 0), Node::new(16, 1, 0), Node::new(15, 1, 0), Node::new(14, 1, 0), Node::new(18, 1, 0), Node::new(17, 1, 0), Node::new(28, 1, 0), Node::new(24, 1, 0), Node::new(30, 1, 0), Node::new(25, 1, 0), Node::new(27, 1, 0), Node::new(36, 4, 8), Node::new(36, 4, 6), Node::new(36, 4, 13), Node::new(36, 4, 12), Node::new(36, 4, 1), Node::new(36, 4, 14), Node::new(36, 4, 0), Node::new(36, 4, 11), Node::new(36, 4, 9), Node::new(36, 4, 3), Node::new(36, 4, 17), Node::new(36, 4, 2), Node::new(36, 4, 16), Node::new(36, 4, 7), Node::new(36, 4, 5), Node::new(36, 15, 10), Node::new(35, 12, 3), Node::new(35, 10, 1), Node::new(35, 2, 11), Node::new(35, 13, 8), Node::new(35, 6, 7), Node::new(35, 9, 4), Node::new(35, 5, 0), Node::new(35, 14, 15), Node::new(34, 4, 7), Node::new(34, 1, 3), Node::new(34, 5, 0), Node::new(34, 2, 6), Node::new(33, 2, 1), Node::new(33, 3, 0), Node::new(32, 0, 1), ], [0, 18, 34, 42, 46, 48], 18, )), AnyBitCircuit::B15(BitCircuit::new( [ Node::new(30, 1, 0), Node::new(15, 1, 0), Node::new(24, 1, 0), Node::new(17, 1, 0), Node::new(29, 1, 0), Node::new(26, 1, 0), Node::new(19, 1, 0), Node::new(21, 1, 0), Node::new(18, 1, 0), Node::new(23, 1, 0), Node::new(31, 1, 0), Node::new(22, 1, 0), Node::new(28, 1, 0), Node::new(27, 1, 0), Node::new(16, 1, 0), Node::new(20, 1, 0), Node::new(25, 1, 0), Node::new(36, 10, 4), Node::new(36, 10, 3), Node::new(36, 10, 6), Node::new(36, 10, 7), Node::new(36, 10, 13), Node::new(36, 10, 15), Node::new(36, 10, 1), Node::new(36, 10, 16), Node::new(36, 10, 9), Node::new(36, 10, 11), Node::new(36, 10, 2), Node::new(36, 10, 14), Node::new(36, 10, 8), Node::new(36, 10, 0), Node::new(36, 10, 12), Node::new(36, 10, 5), Node::new(35, 10, 11), Node::new(35, 15, 12), Node::new(35, 8, 6), Node::new(35, 4, 2), Node::new(35, 0, 3), Node::new(35, 13, 9), Node::new(35, 7, 1), Node::new(35, 14, 5), Node::new(34, 3, 2), Node::new(34, 4, 6), Node::new(34, 5, 1), Node::new(34, 7, 0), Node::new(33, 2, 3), Node::new(33, 1, 0), Node::new(32, 0, 1), ], [0, 17, 33, 41, 45, 47], 17, )), AnyBitCircuit::B16(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(24, 1, 0), Node::new(21, 1, 0), Node::new(29, 1, 0), Node::new(26, 1, 0), Node::new(17, 1, 0), Node::new(18, 1, 0), Node::new(28, 1, 0), Node::new(19, 1, 0), Node::new(22, 1, 0), Node::new(25, 1, 0), Node::new(23, 1, 0), Node::new(20, 1, 0), Node::new(16, 1, 0), Node::new(27, 1, 0), Node::new(30, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 10), Node::new(36, 0, 3), Node::new(36, 0, 8), Node::new(36, 0, 1), Node::new(36, 0, 7), Node::new(36, 0, 2), Node::new(36, 0, 12), Node::new(36, 0, 6), Node::new(36, 0, 13), Node::new(36, 0, 5), Node::new(36, 0, 14), Node::new(36, 0, 11), Node::new(36, 0, 4), Node::new(36, 0, 9), Node::new(36, 0, 15), Node::new(35, 5, 7), Node::new(35, 11, 3), Node::new(35, 15, 14), Node::new(35, 4, 9), Node::new(35, 13, 8), Node::new(35, 1, 10), Node::new(35, 2, 6), Node::new(35, 0, 12), Node::new(34, 6, 5), Node::new(34, 7, 1), Node::new(34, 2, 4), Node::new(34, 0, 3), Node::new(33, 2, 3), Node::new(33, 1, 0), Node::new(32, 1, 0), ], [0, 16, 32, 40, 44, 46], 16, )), AnyBitCircuit::B17(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(28, 1, 0), Node::new(27, 1, 0), Node::new(29, 1, 0), Node::new(17, 1, 0), Node::new(23, 1, 0), Node::new(22, 1, 0), Node::new(19, 1, 0), Node::new(30, 1, 0), Node::new(21, 1, 0), Node::new(25, 1, 0), Node::new(24, 1, 0), Node::new(18, 1, 0), Node::new(20, 1, 0), Node::new(26, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 1), Node::new(36, 0, 11), Node::new(36, 0, 5), Node::new(36, 0, 14), Node::new(36, 0, 7), Node::new(36, 0, 6), Node::new(36, 0, 2), Node::new(36, 0, 10), Node::new(36, 0, 13), Node::new(36, 0, 3), Node::new(36, 0, 12), Node::new(36, 0, 4), Node::new(36, 0, 9), Node::new(36, 0, 8), Node::new(35, 1, 9), Node::new(35, 0, 3), Node::new(35, 8, 12), Node::new(35, 4, 11), Node::new(35, 0, 2), Node::new(35, 10, 13), Node::new(35, 14, 6), Node::new(35, 7, 5), Node::new(34, 6, 3), Node::new(34, 4, 0), Node::new(34, 5, 2), Node::new(34, 1, 7), Node::new(33, 3, 2), Node::new(33, 1, 0), Node::new(32, 1, 0), ], [0, 15, 30, 38, 42, 44], 15, )), AnyBitCircuit::B18(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(22, 1, 0), Node::new(20, 1, 0), Node::new(23, 1, 0), Node::new(25, 1, 0), Node::new(19, 1, 0), Node::new(21, 1, 0), Node::new(18, 1, 0), Node::new(29, 1, 0), Node::new(27, 1, 0), Node::new(26, 1, 0), Node::new(30, 1, 0), Node::new(28, 1, 0), Node::new(24, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 1), Node::new(36, 0, 5), Node::new(36, 0, 7), Node::new(36, 0, 13), Node::new(36, 0, 9), Node::new(36, 0, 6), Node::new(36, 0, 3), Node::new(36, 0, 10), Node::new(36, 0, 2), Node::new(36, 0, 12), Node::new(36, 0, 11), Node::new(36, 0, 8), Node::new(36, 0, 4), Node::new(35, 0, 4), Node::new(35, 0, 7), Node::new(35, 8, 3), Node::new(35, 5, 2), Node::new(35, 11, 1), Node::new(35, 12, 6), Node::new(35, 10, 9), Node::new(35, 0, 13), Node::new(34, 1, 3), Node::new(34, 0, 6), Node::new(34, 7, 5), Node::new(34, 4, 2), Node::new(33, 1, 3), Node::new(33, 2, 0), Node::new(32, 1, 0), ], [0, 14, 28, 36, 40, 42], 14, )), AnyBitCircuit::B19(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(27, 1, 0), Node::new(22, 1, 0), Node::new(23, 1, 0), Node::new(19, 1, 0), Node::new(24, 1, 0), Node::new(20, 1, 0), Node::new(28, 1, 0), Node::new(29, 1, 0), Node::new(21, 1, 0), Node::new(25, 1, 0), Node::new(26, 1, 0), Node::new(30, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 7), Node::new(36, 0, 5), Node::new(36, 0, 11), Node::new(36, 0, 2), Node::new(36, 0, 3), Node::new(36, 0, 1), Node::new(36, 0, 4), Node::new(36, 0, 9), Node::new(36, 0, 10), Node::new(36, 0, 6), Node::new(36, 0, 12), Node::new(36, 0, 8), Node::new(35, 0, 9), Node::new(35, 12, 8), Node::new(35, 6, 7), Node::new(35, 0, 5), Node::new(35, 11, 4), Node::new(35, 0, 2), Node::new(35, 1, 10), Node::new(35, 0, 3), Node::new(34, 7, 4), Node::new(34, 5, 6), Node::new(34, 3, 2), Node::new(34, 0, 1), Node::new(33, 0, 1), Node::new(33, 3, 2), Node::new(32, 0, 1), ], [0, 13, 26, 34, 38, 40], 13, )), AnyBitCircuit::B20(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(30, 1, 0), Node::new(29, 1, 0), Node::new(20, 1, 0), Node::new(27, 1, 0), Node::new(25, 1, 0), Node::new(26, 1, 0), Node::new(24, 1, 0), Node::new(28, 1, 0), Node::new(21, 1, 0), Node::new(23, 1, 0), Node::new(22, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 7), Node::new(36, 0, 8), Node::new(36, 0, 10), Node::new(36, 0, 11), Node::new(36, 0, 2), Node::new(36, 0, 3), Node::new(36, 0, 9), Node::new(36, 0, 1), Node::new(36, 0, 4), Node::new(36, 0, 6), Node::new(36, 0, 5), Node::new(35, 2, 6), Node::new(35, 0, 11), Node::new(35, 0, 10), Node::new(35, 5, 7), Node::new(35, 0, 1), Node::new(35, 8, 4), Node::new(35, 0, 3), Node::new(35, 0, 9), Node::new(34, 1, 3), Node::new(34, 2, 5), Node::new(34, 4, 0), Node::new(34, 7, 6), Node::new(33, 3, 0), Node::new(33, 1, 2), Node::new(32, 0, 1), ], [0, 12, 24, 32, 36, 38], 12, )), AnyBitCircuit::B21(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(23, 1, 0), Node::new(26, 1, 0), Node::new(30, 1, 0), Node::new(22, 1, 0), Node::new(21, 1, 0), Node::new(29, 1, 0), Node::new(28, 1, 0), Node::new(27, 1, 0), Node::new(24, 1, 0), Node::new(25, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 7), Node::new(36, 0, 1), Node::new(36, 0, 8), Node::new(36, 0, 4), Node::new(36, 0, 2), Node::new(36, 0, 10), Node::new(36, 0, 6), Node::new(36, 0, 5), Node::new(36, 0, 9), Node::new(36, 0, 3), Node::new(35, 0, 3), Node::new(35, 0, 6), Node::new(35, 10, 4), Node::new(35, 0, 1), Node::new(35, 0, 9), Node::new(35, 0, 2), Node::new(35, 0, 5), Node::new(35, 7, 8), Node::new(34, 6, 2), Node::new(34, 0, 5), Node::new(34, 1, 7), Node::new(34, 3, 4), Node::new(33, 3, 0), Node::new(33, 1, 2), Node::new(32, 0, 1), ], [0, 11, 22, 30, 34, 36], 11, )), AnyBitCircuit::B22(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(25, 1, 0), Node::new(23, 1, 0), Node::new(28, 1, 0), Node::new(27, 1, 0), Node::new(22, 1, 0), Node::new(24, 1, 0), Node::new(30, 1, 0), Node::new(29, 1, 0), Node::new(26, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 9), Node::new(36, 0, 5), Node::new(36, 0, 4), Node::new(36, 0, 1), Node::new(36, 0, 2), Node::new(36, 0, 8), Node::new(36, 0, 3), Node::new(36, 0, 6), Node::new(36, 0, 7), Node::new(35, 9, 2), Node::new(35, 0, 5), Node::new(35, 0, 3), Node::new(35, 0, 1), Node::new(35, 0, 8), Node::new(35, 0, 7), Node::new(35, 0, 4), Node::new(35, 0, 6), Node::new(34, 5, 4), Node::new(34, 7, 6), Node::new(34, 3, 0), Node::new(34, 2, 1), Node::new(33, 0, 2), Node::new(33, 1, 3), Node::new(32, 1, 0), ], [0, 10, 20, 28, 32, 34], 10, )), AnyBitCircuit::B23(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(23, 1, 0), Node::new(27, 1, 0), Node::new(28, 1, 0), Node::new(29, 1, 0), Node::new(25, 1, 0), Node::new(30, 1, 0), Node::new(24, 1, 0), Node::new(26, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 7), Node::new(36, 0, 3), Node::new(36, 0, 2), Node::new(36, 0, 6), Node::new(36, 0, 4), Node::new(36, 0, 8), Node::new(36, 0, 1), Node::new(36, 0, 5), Node::new(35, 0, 2), Node::new(35, 0, 7), Node::new(35, 0, 5), Node::new(35, 0, 4), Node::new(35, 0, 3), Node::new(35, 0, 1), Node::new(35, 0, 6), Node::new(35, 0, 8), Node::new(34, 0, 5), Node::new(34, 3, 6), Node::new(34, 4, 1), Node::new(34, 2, 7), Node::new(33, 1, 0), Node::new(33, 3, 2), Node::new(32, 0, 1), ], [0, 9, 18, 26, 30, 32], 9, )), AnyBitCircuit::B24(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(29, 1, 0), Node::new(30, 1, 0), Node::new(24, 1, 0), Node::new(28, 1, 0), Node::new(25, 1, 0), Node::new(26, 1, 0), Node::new(27, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 6), Node::new(36, 0, 2), Node::new(36, 0, 5), Node::new(36, 0, 1), Node::new(36, 0, 4), Node::new(36, 0, 3), Node::new(36, 0, 7), Node::new(31, 0, 0), Node::new(35, 0, 1), Node::new(35, 0, 5), Node::new(35, 0, 2), Node::new(35, 0, 7), Node::new(35, 0, 6), Node::new(35, 0, 3), Node::new(35, 0, 4), Node::new(34, 3, 1), Node::new(34, 0, 4), Node::new(34, 2, 5), Node::new(34, 7, 6), Node::new(33, 1, 3), Node::new(33, 0, 2), Node::new(32, 0, 1), ], [0, 8, 16, 24, 28, 30], 8, )), AnyBitCircuit::B25(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(27, 1, 0), Node::new(26, 1, 0), Node::new(30, 1, 0), Node::new(28, 1, 0), Node::new(25, 1, 0), Node::new(29, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 4), Node::new(36, 0, 3), Node::new(36, 0, 6), Node::new(36, 0, 2), Node::new(36, 0, 5), Node::new(36, 0, 1), Node::new(31, 0, 0), Node::new(35, 0, 2), Node::new(35, 0, 1), Node::new(35, 0, 5), Node::new(35, 0, 3), Node::new(35, 0, 6), Node::new(35, 0, 4), Node::new(34, 4, 3), Node::new(34, 1, 6), Node::new(34, 0, 2), Node::new(34, 0, 5), Node::new(33, 3, 0), Node::new(33, 2, 1), Node::new(32, 1, 0), ], [0, 7, 14, 21, 25, 27], 7, )), AnyBitCircuit::B26(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(26, 1, 0), Node::new(27, 1, 0), Node::new(29, 1, 0), Node::new(30, 1, 0), Node::new(28, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 2), Node::new(36, 0, 1), Node::new(36, 0, 4), Node::new(36, 0, 5), Node::new(36, 0, 3), Node::new(31, 0, 0), Node::new(35, 0, 3), Node::new(35, 0, 1), Node::new(35, 0, 4), Node::new(35, 0, 5), Node::new(35, 0, 2), Node::new(34, 0, 2), Node::new(34, 0, 3), Node::new(34, 0, 4), Node::new(34, 1, 5), Node::new(33, 1, 3), Node::new(33, 2, 0), Node::new(32, 1, 0), ], [0, 6, 12, 18, 22, 24], 6, )), AnyBitCircuit::B27(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(30, 1, 0), Node::new(27, 1, 0), Node::new(29, 1, 0), Node::new(28, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 3), Node::new(36, 0, 1), Node::new(36, 0, 4), Node::new(36, 0, 2), Node::new(31, 0, 0), Node::new(35, 0, 4), Node::new(35, 0, 2), Node::new(35, 0, 1), Node::new(35, 0, 3), Node::new(34, 0, 3), Node::new(34, 0, 2), Node::new(34, 0, 1), Node::new(34, 0, 4), Node::new(33, 0, 2), Node::new(33, 1, 3), Node::new(32, 1, 0), ], [0, 5, 10, 15, 19, 21], 5, )), AnyBitCircuit::B28(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(28, 1, 0), Node::new(30, 1, 0), Node::new(29, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 2), Node::new(36, 0, 1), Node::new(36, 0, 3), Node::new(31, 0, 0), Node::new(35, 0, 2), Node::new(35, 0, 3), Node::new(35, 0, 1), Node::new(31, 0, 0), Node::new(34, 0, 3), Node::new(34, 0, 2), Node::new(34, 0, 1), Node::new(33, 0, 2), Node::new(33, 1, 3), Node::new(32, 0, 1), ], [0, 4, 8, 12, 16, 18], 4, )), AnyBitCircuit::B29(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(30, 1, 0), Node::new(29, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 2), Node::new(36, 0, 1), Node::new(31, 0, 0), Node::new(35, 0, 1), Node::new(35, 0, 2), Node::new(31, 0, 0), Node::new(34, 0, 1), Node::new(34, 0, 2), Node::new(33, 0, 1), Node::new(33, 0, 2), Node::new(32, 1, 0), ], [0, 3, 6, 9, 12, 14], 3, )), AnyBitCircuit::B30(BitCircuit::new( [ Node::new(31, 1, 0), Node::new(30, 1, 0), Node::new(31, 0, 0), Node::new(36, 0, 1), Node::new(31, 0, 0), Node::new(35, 0, 1), Node::new(31, 0, 0), Node::new(34, 0, 1), Node::new(31, 0, 0), Node::new(33, 0, 1), Node::new(32, 0, 1), ], [0, 2, 4, 6, 8, 10], 2, )), AnyBitCircuit::B31(BitCircuit::new([Node::new(31, 1, 0)], [0], 2)), ]);