poulpy/poulpy-schemes/src/bin_fhe/bdd_arithmetic/circuits/u32/srl_codegen.rs
poulpy-schemes/src/bin_fhe/bdd_arithmetic/circuits/u32/srl_codegen.rsRaw
1use crate::bin_fhe::bdd_arithmetic::{BitCircuit, BitCircuitFamily, BitCircuitInfo, Circuit, Node};
2pub(crate) enum AnyBitCircuit {
3 B0(BitCircuit<192>),
4 B1(BitCircuit<192>),
5 B2(BitCircuit<186>),
6 B3(BitCircuit<180>),
7 B4(BitCircuit<174>),
8 B5(BitCircuit<168>),
9 B6(BitCircuit<162>),
10 B7(BitCircuit<156>),
11 B8(BitCircuit<150>),
12 B9(BitCircuit<144>),
13 B10(BitCircuit<138>),
14 B11(BitCircuit<132>),
15 B12(BitCircuit<126>),
16 B13(BitCircuit<120>),
17 B14(BitCircuit<114>),
18 B15(BitCircuit<108>),
19 B16(BitCircuit<102>),
20 B17(BitCircuit<96>),
21 B18(BitCircuit<90>),
22 B19(BitCircuit<84>),
23 B20(BitCircuit<78>),
24 B21(BitCircuit<72>),
25 B22(BitCircuit<66>),
26 B23(BitCircuit<60>),
27 B24(BitCircuit<54>),
28 B25(BitCircuit<48>),
29 B26(BitCircuit<42>),
30 B27(BitCircuit<36>),
31 B28(BitCircuit<30>),
32 B29(BitCircuit<24>),
33 B30(BitCircuit<18>),
34 B31(BitCircuit<12>),
35}
36impl BitCircuitInfo for AnyBitCircuit {
37 fn info(&self) -> (&[Node], usize) {
38 match self {
39 AnyBitCircuit::B0(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
40 AnyBitCircuit::B1(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
41 AnyBitCircuit::B2(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
42 AnyBitCircuit::B3(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
43 AnyBitCircuit::B4(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
44 AnyBitCircuit::B5(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
45 AnyBitCircuit::B6(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
46 AnyBitCircuit::B7(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
47 AnyBitCircuit::B8(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
48 AnyBitCircuit::B9(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
49 AnyBitCircuit::B10(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
50 AnyBitCircuit::B11(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
51 AnyBitCircuit::B12(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
52 AnyBitCircuit::B13(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
53 AnyBitCircuit::B14(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
54 AnyBitCircuit::B15(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
55 AnyBitCircuit::B16(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
56 AnyBitCircuit::B17(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
57 AnyBitCircuit::B18(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
58 AnyBitCircuit::B19(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
59 AnyBitCircuit::B20(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
60 AnyBitCircuit::B21(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
61 AnyBitCircuit::B22(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
62 AnyBitCircuit::B23(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
63 AnyBitCircuit::B24(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
64 AnyBitCircuit::B25(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
65 AnyBitCircuit::B26(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
66 AnyBitCircuit::B27(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
67 AnyBitCircuit::B28(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
68 AnyBitCircuit::B29(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
69 AnyBitCircuit::B30(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
70 AnyBitCircuit::B31(bit_circuit) => (bit_circuit.nodes.as_ref(), bit_circuit.max_inter_state),
71 }
72 }
73}
74
75impl BitCircuitFamily for AnyBitCircuit {
76 const INPUT_BITS: usize = 37;
77 const OUTPUT_BITS: usize = 32;
78}
79
80pub(crate) static OUTPUT_CIRCUITS: Circuit<AnyBitCircuit, 32usize> = Circuit([
81 AnyBitCircuit::B0(BitCircuit::new(
82 [
83 Node::Cmux(6, 1, 0),
84 Node::Cmux(31, 1, 0),
85 Node::Cmux(27, 1, 0),
86 Node::Cmux(26, 1, 0),
87 Node::Cmux(4, 1, 0),
88 Node::Cmux(25, 1, 0),
89 Node::Cmux(29, 1, 0),
90 Node::Cmux(9, 1, 0),
91 Node::Cmux(19, 1, 0),
92 Node::Cmux(30, 1, 0),
93 Node::Cmux(3, 1, 0),
94 Node::Cmux(17, 1, 0),
95 Node::Cmux(21, 1, 0),
96 Node::Cmux(24, 1, 0),
97 Node::Cmux(14, 1, 0),
98 Node::Cmux(2, 1, 0),
99 Node::Cmux(22, 1, 0),
100 Node::Cmux(1, 1, 0),
101 Node::Cmux(7, 1, 0),
102 Node::Cmux(16, 1, 0),
103 Node::Cmux(20, 1, 0),
104 Node::Cmux(10, 1, 0),
105 Node::Cmux(13, 1, 0),
106 Node::Cmux(12, 1, 0),
107 Node::Cmux(0, 1, 0),
108 Node::Cmux(18, 1, 0),
109 Node::Cmux(5, 1, 0),
110 Node::Cmux(23, 1, 0),
111 Node::Cmux(8, 1, 0),
112 Node::Cmux(11, 1, 0),
113 Node::Cmux(28, 1, 0),
114 Node::Cmux(15, 1, 0),
115 Node::None,
116 Node::None,
117 Node::None,
118 Node::None,
119 Node::Cmux(36, 25, 15),
120 Node::Cmux(36, 11, 17),
121 Node::Cmux(36, 6, 22),
122 Node::Cmux(36, 8, 10),
123 Node::Cmux(36, 16, 0),
124 Node::Cmux(36, 30, 23),
125 Node::None,
126 Node::Cmux(36, 19, 24),
127 Node::None,
128 Node::None,
129 Node::None,
130 Node::None,
131 Node::None,
132 Node::Cmux(36, 3, 21),
133 Node::None,
134 Node::None,
135 Node::Cmux(36, 27, 18),
136 Node::None,
137 Node::None,
138 Node::Cmux(36, 1, 31),
139 Node::Cmux(36, 9, 14),
140 Node::Cmux(36, 13, 28),
141 Node::None,
142 Node::Cmux(36, 20, 4),
143 Node::Cmux(36, 2, 29),
144 Node::Cmux(36, 5, 7),
145 Node::None,
146 Node::Cmux(36, 12, 26),
147 Node::None,
148 Node::None,
149 Node::None,
150 Node::None,
151 Node::None,
152 Node::Cmux(35, 6, 31),
153 Node::None,
154 Node::None,
155 Node::None,
156 Node::None,
157 Node::Cmux(35, 24, 8),
158 Node::None,
159 Node::None,
160 Node::Cmux(35, 25, 11),
161 Node::None,
162 Node::Cmux(35, 28, 7),
163 Node::Cmux(35, 23, 20),
164 Node::None,
165 Node::None,
166 Node::None,
167 Node::Cmux(35, 17, 4),
168 Node::None,
169 Node::None,
170 Node::None,
171 Node::Cmux(35, 9, 27),
172 Node::None,
173 Node::None,
174 Node::None,
175 Node::None,
176 Node::None,
177 Node::None,
178 Node::Cmux(35, 29, 5),
179 Node::Cmux(34, 24, 13),
180 Node::None,
181 Node::None,
182 Node::None,
183 Node::None,
184 Node::None,
185 Node::None,
186 Node::None,
187 Node::None,
188 Node::None,
189 Node::Cmux(34, 10, 20),
190 Node::None,
191 Node::None,
192 Node::None,
193 Node::None,
194 Node::None,
195 Node::None,
196 Node::None,
197 Node::None,
198 Node::None,
199 Node::None,
200 Node::None,
201 Node::None,
202 Node::Cmux(34, 16, 15),
203 Node::None,
204 Node::None,
205 Node::None,
206 Node::None,
207 Node::None,
208 Node::None,
209 Node::None,
210 Node::Cmux(34, 5, 31),
211 Node::None,
212 Node::None,
213 Node::None,
214 Node::None,
215 Node::None,
216 Node::None,
217 Node::None,
218 Node::None,
219 Node::None,
220 Node::Cmux(33, 10, 0),
221 Node::None,
222 Node::None,
223 Node::None,
224 Node::None,
225 Node::None,
226 Node::None,
227 Node::None,
228 Node::None,
229 Node::None,
230 Node::None,
231 Node::None,
232 Node::None,
233 Node::None,
234 Node::None,
235 Node::None,
236 Node::None,
237 Node::Cmux(33, 23, 31),
238 Node::None,
239 Node::None,
240 Node::None,
241 Node::None,
242 Node::None,
243 Node::Cmux(32, 26, 9),
244 Node::None,
245 Node::None,
246 Node::None,
247 Node::None,
248 Node::None,
249 Node::None,
250 Node::None,
251 Node::None,
252 Node::None,
253 Node::None,
254 Node::None,
255 Node::None,
256 Node::None,
257 Node::None,
258 Node::None,
259 Node::None,
260 Node::None,
261 Node::None,
262 Node::None,
263 Node::None,
264 Node::None,
265 Node::None,
266 Node::None,
267 Node::None,
268 Node::None,
269 Node::None,
270 Node::None,
271 Node::None,
272 Node::None,
273 Node::None,
274 Node::None,
275 ],
276 32,
277 )),
278 AnyBitCircuit::B1(BitCircuit::new(
279 [
280 Node::Copy,
281 Node::Cmux(15, 1, 0),
282 Node::Cmux(14, 1, 0),
283 Node::Cmux(23, 1, 0),
284 Node::Cmux(21, 1, 0),
285 Node::Cmux(17, 1, 0),
286 Node::Cmux(8, 1, 0),
287 Node::Cmux(19, 1, 0),
288 Node::Cmux(10, 1, 0),
289 Node::Cmux(16, 1, 0),
290 Node::Cmux(30, 1, 0),
291 Node::Cmux(4, 1, 0),
292 Node::Cmux(6, 1, 0),
293 Node::Cmux(31, 1, 0),
294 Node::Cmux(18, 1, 0),
295 Node::Cmux(29, 1, 0),
296 Node::Cmux(5, 1, 0),
297 Node::Cmux(20, 1, 0),
298 Node::Cmux(13, 1, 0),
299 Node::Cmux(11, 1, 0),
300 Node::Cmux(2, 1, 0),
301 Node::Cmux(22, 1, 0),
302 Node::Cmux(12, 1, 0),
303 Node::Cmux(26, 1, 0),
304 Node::Cmux(7, 1, 0),
305 Node::Cmux(25, 1, 0),
306 Node::Cmux(27, 1, 0),
307 Node::Cmux(3, 1, 0),
308 Node::Cmux(28, 1, 0),
309 Node::Cmux(9, 1, 0),
310 Node::Cmux(1, 1, 0),
311 Node::Cmux(24, 1, 0),
312 Node::None,
313 Node::Cmux(36, 4, 16),
314 Node::None,
315 Node::Cmux(36, 31, 6),
316 Node::None,
317 Node::None,
318 Node::None,
319 Node::Cmux(36, 26, 19),
320 Node::None,
321 Node::None,
322 Node::Cmux(36, 23, 8),
323 Node::Cmux(36, 21, 12),
324 Node::Cmux(36, 7, 27),
325 Node::None,
326 Node::None,
327 Node::Cmux(36, 25, 29),
328 Node::Cmux(36, 28, 22),
329 Node::None,
330 Node::Cmux(36, 14, 20),
331 Node::None,
332 Node::Cmux(36, 10, 2),
333 Node::None,
334 Node::Cmux(36, 0, 9),
335 Node::Cmux(36, 15, 18),
336 Node::Cmux(36, 17, 11),
337 Node::None,
338 Node::None,
339 Node::Cmux(36, 13, 1),
340 Node::Cmux(36, 5, 30),
341 Node::None,
342 Node::None,
343 Node::Cmux(36, 3, 24),
344 Node::None,
345 Node::Cmux(35, 22, 3),
346 Node::None,
347 Node::None,
348 Node::None,
349 Node::None,
350 Node::None,
351 Node::None,
352 Node::None,
353 Node::None,
354 Node::Cmux(35, 23, 1),
355 Node::None,
356 Node::None,
357 Node::Cmux(35, 10, 18),
358 Node::Cmux(35, 20, 11),
359 Node::Cmux(35, 27, 31),
360 Node::None,
361 Node::Cmux(35, 15, 28),
362 Node::Cmux(35, 16, 24),
363 Node::None,
364 Node::None,
365 Node::Cmux(35, 7, 12),
366 Node::None,
367 Node::None,
368 Node::None,
369 Node::None,
370 Node::None,
371 Node::None,
372 Node::None,
373 Node::None,
374 Node::None,
375 Node::None,
376 Node::Cmux(34, 15, 21),
377 Node::None,
378 Node::Cmux(34, 10, 17),
379 Node::None,
380 Node::Cmux(34, 14, 13),
381 Node::None,
382 Node::None,
383 Node::None,
384 Node::None,
385 Node::None,
386 Node::None,
387 Node::None,
388 Node::None,
389 Node::None,
390 Node::None,
391 Node::None,
392 Node::None,
393 Node::None,
394 Node::None,
395 Node::None,
396 Node::None,
397 Node::None,
398 Node::None,
399 Node::None,
400 Node::None,
401 Node::None,
402 Node::Cmux(34, 1, 18),
403 Node::None,
404 Node::None,
405 Node::None,
406 Node::None,
407 Node::None,
408 Node::None,
409 Node::Cmux(33, 26, 4),
410 Node::None,
411 Node::None,
412 Node::None,
413 Node::None,
414 Node::None,
415 Node::None,
416 Node::None,
417 Node::None,
418 Node::None,
419 Node::None,
420 Node::Cmux(33, 0, 2),
421 Node::None,
422 Node::None,
423 Node::None,
424 Node::None,
425 Node::None,
426 Node::None,
427 Node::None,
428 Node::None,
429 Node::None,
430 Node::None,
431 Node::None,
432 Node::None,
433 Node::None,
434 Node::None,
435 Node::None,
436 Node::None,
437 Node::None,
438 Node::None,
439 Node::None,
440 Node::Cmux(32, 1, 12),
441 Node::None,
442 Node::None,
443 Node::None,
444 Node::None,
445 Node::None,
446 Node::None,
447 Node::None,
448 Node::None,
449 Node::None,
450 Node::None,
451 Node::None,
452 Node::None,
453 Node::None,
454 Node::None,
455 Node::None,
456 Node::None,
457 Node::None,
458 Node::None,
459 Node::None,
460 Node::None,
461 Node::None,
462 Node::None,
463 Node::None,
464 Node::None,
465 Node::None,
466 Node::None,
467 Node::None,
468 Node::None,
469 Node::None,
470 Node::None,
471 Node::None,
472 ],
473 32,
474 )),
475 AnyBitCircuit::B2(BitCircuit::new(
476 [
477 Node::Copy,
478 Node::Cmux(22, 1, 0),
479 Node::Cmux(21, 1, 0),
480 Node::Cmux(31, 1, 0),
481 Node::Cmux(10, 1, 0),
482 Node::Cmux(19, 1, 0),
483 Node::Cmux(25, 1, 0),
484 Node::Cmux(27, 1, 0),
485 Node::Cmux(20, 1, 0),
486 Node::Cmux(5, 1, 0),
487 Node::Cmux(11, 1, 0),
488 Node::Cmux(7, 1, 0),
489 Node::Cmux(12, 1, 0),
490 Node::Cmux(2, 1, 0),
491 Node::Cmux(3, 1, 0),
492 Node::Cmux(17, 1, 0),
493 Node::Cmux(9, 1, 0),
494 Node::Cmux(13, 1, 0),
495 Node::Cmux(15, 1, 0),
496 Node::Cmux(26, 1, 0),
497 Node::Cmux(24, 1, 0),
498 Node::Cmux(6, 1, 0),
499 Node::Cmux(16, 1, 0),
500 Node::Cmux(4, 1, 0),
501 Node::Cmux(28, 1, 0),
502 Node::Cmux(8, 1, 0),
503 Node::Cmux(29, 1, 0),
504 Node::Cmux(30, 1, 0),
505 Node::Cmux(23, 1, 0),
506 Node::Cmux(18, 1, 0),
507 Node::Cmux(14, 1, 0),
508 Node::Cmux(36, 29, 13),
509 Node::Cmux(36, 3, 18),
510 Node::None,
511 Node::Cmux(36, 26, 17),
512 Node::None,
513 Node::None,
514 Node::None,
515 Node::Cmux(36, 19, 4),
516 Node::Cmux(36, 8, 23),
517 Node::None,
518 Node::Cmux(36, 7, 10),
519 Node::None,
520 Node::Cmux(36, 24, 12),
521 Node::Cmux(36, 6, 16),
522 Node::None,
523 Node::None,
524 Node::Cmux(36, 5, 14),
525 Node::Cmux(36, 0, 22),
526 Node::Cmux(36, 27, 30),
527 Node::Cmux(36, 20, 25),
528 Node::None,
529 Node::Cmux(36, 28, 11),
530 Node::Cmux(36, 1, 21),
531 Node::None,
532 Node::None,
533 Node::None,
534 Node::None,
535 Node::None,
536 Node::Cmux(36, 2, 9),
537 Node::Cmux(36, 0, 15),
538 Node::None,
539 Node::Cmux(35, 7, 0),
540 Node::None,
541 Node::None,
542 Node::None,
543 Node::Cmux(35, 17, 19),
544 Node::Cmux(35, 3, 28),
545 Node::None,
546 Node::None,
547 Node::Cmux(35, 10, 16),
548 Node::Cmux(35, 12, 8),
549 Node::None,
550 Node::None,
551 Node::None,
552 Node::None,
553 Node::None,
554 Node::None,
555 Node::None,
556 Node::Cmux(35, 29, 13),
557 Node::Cmux(35, 18, 22),
558 Node::None,
559 Node::None,
560 Node::None,
561 Node::None,
562 Node::None,
563 Node::None,
564 Node::None,
565 Node::None,
566 Node::None,
567 Node::Cmux(35, 1, 21),
568 Node::None,
569 Node::None,
570 Node::None,
571 Node::Cmux(34, 17, 5),
572 Node::None,
573 Node::None,
574 Node::None,
575 Node::None,
576 Node::None,
577 Node::None,
578 Node::None,
579 Node::None,
580 Node::None,
581 Node::None,
582 Node::None,
583 Node::None,
584 Node::None,
585 Node::None,
586 Node::None,
587 Node::None,
588 Node::None,
589 Node::None,
590 Node::Cmux(34, 28, 8),
591 Node::Cmux(34, 4, 9),
592 Node::None,
593 Node::None,
594 Node::None,
595 Node::None,
596 Node::None,
597 Node::None,
598 Node::None,
599 Node::None,
600 Node::Cmux(34, 18, 0),
601 Node::None,
602 Node::None,
603 Node::None,
604 Node::None,
605 Node::None,
606 Node::None,
607 Node::Cmux(33, 21, 30),
608 Node::None,
609 Node::None,
610 Node::None,
611 Node::None,
612 Node::None,
613 Node::None,
614 Node::None,
615 Node::Cmux(33, 1, 20),
616 Node::None,
617 Node::None,
618 Node::None,
619 Node::None,
620 Node::None,
621 Node::None,
622 Node::None,
623 Node::None,
624 Node::None,
625 Node::None,
626 Node::None,
627 Node::None,
628 Node::None,
629 Node::None,
630 Node::None,
631 Node::None,
632 Node::Cmux(32, 14, 6),
633 Node::None,
634 Node::None,
635 Node::None,
636 Node::None,
637 Node::None,
638 Node::None,
639 Node::None,
640 Node::None,
641 Node::None,
642 Node::None,
643 Node::None,
644 Node::None,
645 Node::None,
646 Node::None,
647 Node::None,
648 Node::None,
649 Node::None,
650 Node::None,
651 Node::None,
652 Node::None,
653 Node::None,
654 Node::None,
655 Node::None,
656 Node::None,
657 Node::None,
658 Node::None,
659 Node::None,
660 Node::None,
661 Node::None,
662 Node::None,
663 ],
664 31,
665 )),
666 AnyBitCircuit::B3(BitCircuit::new(
667 [
668 Node::Copy,
669 Node::Cmux(21, 1, 0),
670 Node::Cmux(29, 1, 0),
671 Node::Cmux(15, 1, 0),
672 Node::Cmux(5, 1, 0),
673 Node::Cmux(18, 1, 0),
674 Node::Cmux(22, 1, 0),
675 Node::Cmux(27, 1, 0),
676 Node::Cmux(26, 1, 0),
677 Node::Cmux(23, 1, 0),
678 Node::Cmux(24, 1, 0),
679 Node::Cmux(13, 1, 0),
680 Node::Cmux(10, 1, 0),
681 Node::Cmux(8, 1, 0),
682 Node::Cmux(31, 1, 0),
683 Node::Cmux(16, 1, 0),
684 Node::Cmux(3, 1, 0),
685 Node::Cmux(7, 1, 0),
686 Node::Cmux(20, 1, 0),
687 Node::Cmux(14, 1, 0),
688 Node::Cmux(9, 1, 0),
689 Node::Cmux(12, 1, 0),
690 Node::Cmux(4, 1, 0),
691 Node::Cmux(19, 1, 0),
692 Node::Cmux(6, 1, 0),
693 Node::Cmux(11, 1, 0),
694 Node::Cmux(25, 1, 0),
695 Node::Cmux(30, 1, 0),
696 Node::Cmux(28, 1, 0),
697 Node::Cmux(17, 1, 0),
698 Node::Cmux(36, 23, 16),
699 Node::Cmux(36, 9, 17),
700 Node::None,
701 Node::None,
702 Node::None,
703 Node::None,
704 Node::Cmux(36, 26, 20),
705 Node::None,
706 Node::None,
707 Node::Cmux(36, 0, 15),
708 Node::Cmux(36, 7, 25),
709 Node::Cmux(36, 8, 12),
710 Node::Cmux(36, 10, 13),
711 Node::None,
712 Node::Cmux(36, 18, 22),
713 Node::None,
714 Node::Cmux(36, 6, 24),
715 Node::Cmux(36, 28, 21),
716 Node::Cmux(36, 1, 4),
717 Node::Cmux(36, 0, 5),
718 Node::None,
719 Node::None,
720 Node::None,
721 Node::None,
722 Node::None,
723 Node::Cmux(36, 2, 11),
724 Node::Cmux(36, 14, 3),
725 Node::Cmux(36, 27, 19),
726 Node::None,
727 Node::Cmux(36, 0, 29),
728 Node::Cmux(35, 27, 16),
729 Node::None,
730 Node::None,
731 Node::None,
732 Node::None,
733 Node::Cmux(35, 19, 11),
734 Node::Cmux(35, 17, 14),
735 Node::None,
736 Node::None,
737 Node::Cmux(35, 10, 0),
738 Node::Cmux(35, 29, 6),
739 Node::None,
740 Node::None,
741 Node::Cmux(35, 25, 18),
742 Node::None,
743 Node::None,
744 Node::None,
745 Node::None,
746 Node::Cmux(35, 26, 1),
747 Node::None,
748 Node::None,
749 Node::None,
750 Node::None,
751 Node::None,
752 Node::None,
753 Node::None,
754 Node::Cmux(35, 9, 12),
755 Node::None,
756 Node::None,
757 Node::None,
758 Node::None,
759 Node::None,
760 Node::None,
761 Node::None,
762 Node::Cmux(34, 10, 13),
763 Node::None,
764 Node::None,
765 Node::None,
766 Node::None,
767 Node::None,
768 Node::None,
769 Node::None,
770 Node::None,
771 Node::Cmux(34, 5, 0),
772 Node::None,
773 Node::None,
774 Node::None,
775 Node::None,
776 Node::None,
777 Node::None,
778 Node::None,
779 Node::None,
780 Node::None,
781 Node::None,
782 Node::Cmux(34, 18, 9),
783 Node::None,
784 Node::None,
785 Node::None,
786 Node::Cmux(34, 26, 6),
787 Node::None,
788 Node::None,
789 Node::None,
790 Node::None,
791 Node::None,
792 Node::None,
793 Node::None,
794 Node::None,
795 Node::None,
796 Node::None,
797 Node::None,
798 Node::Cmux(33, 4, 24),
799 Node::None,
800 Node::None,
801 Node::None,
802 Node::None,
803 Node::None,
804 Node::None,
805 Node::None,
806 Node::None,
807 Node::None,
808 Node::None,
809 Node::None,
810 Node::None,
811 Node::Cmux(33, 13, 28),
812 Node::None,
813 Node::None,
814 Node::None,
815 Node::None,
816 Node::None,
817 Node::None,
818 Node::Cmux(32, 23, 10),
819 Node::None,
820 Node::None,
821 Node::None,
822 Node::None,
823 Node::None,
824 Node::None,
825 Node::None,
826 Node::None,
827 Node::None,
828 Node::None,
829 Node::None,
830 Node::None,
831 Node::None,
832 Node::None,
833 Node::None,
834 Node::None,
835 Node::None,
836 Node::None,
837 Node::None,
838 Node::None,
839 Node::None,
840 Node::None,
841 Node::None,
842 Node::None,
843 Node::None,
844 Node::None,
845 Node::None,
846 Node::None,
847 Node::None,
848 ],
849 30,
850 )),
851 AnyBitCircuit::B4(BitCircuit::new(
852 [
853 Node::Copy,
854 Node::Cmux(16, 1, 0),
855 Node::Cmux(12, 1, 0),
856 Node::Cmux(24, 1, 0),
857 Node::Cmux(23, 1, 0),
858 Node::Cmux(21, 1, 0),
859 Node::Cmux(31, 1, 0),
860 Node::Cmux(9, 1, 0),
861 Node::Cmux(11, 1, 0),
862 Node::Cmux(6, 1, 0),
863 Node::Cmux(28, 1, 0),
864 Node::Cmux(10, 1, 0),
865 Node::Cmux(4, 1, 0),
866 Node::Cmux(19, 1, 0),
867 Node::Cmux(25, 1, 0),
868 Node::Cmux(20, 1, 0),
869 Node::Cmux(15, 1, 0),
870 Node::Cmux(14, 1, 0),
871 Node::Cmux(29, 1, 0),
872 Node::Cmux(5, 1, 0),
873 Node::Cmux(30, 1, 0),
874 Node::Cmux(27, 1, 0),
875 Node::Cmux(18, 1, 0),
876 Node::Cmux(7, 1, 0),
877 Node::Cmux(13, 1, 0),
878 Node::Cmux(22, 1, 0),
879 Node::Cmux(8, 1, 0),
880 Node::Cmux(17, 1, 0),
881 Node::Cmux(26, 1, 0),
882 Node::None,
883 Node::Cmux(36, 14, 7),
884 Node::Cmux(36, 0, 13),
885 Node::None,
886 Node::Cmux(36, 5, 19),
887 Node::Cmux(36, 0, 27),
888 Node::Cmux(36, 6, 16),
889 Node::Cmux(36, 3, 26),
890 Node::Cmux(36, 28, 11),
891 Node::Cmux(36, 21, 8),
892 Node::None,
893 Node::None,
894 Node::Cmux(36, 0, 22),
895 Node::None,
896 Node::Cmux(36, 15, 12),
897 Node::Cmux(36, 10, 2),
898 Node::None,
899 Node::None,
900 Node::Cmux(36, 4, 23),
901 Node::Cmux(36, 25, 9),
902 Node::None,
903 Node::None,
904 Node::Cmux(36, 0, 1),
905 Node::None,
906 Node::None,
907 Node::None,
908 Node::None,
909 Node::Cmux(36, 20, 17),
910 Node::Cmux(36, 18, 24),
911 Node::None,
912 Node::Cmux(35, 15, 14),
913 Node::None,
914 Node::None,
915 Node::None,
916 Node::None,
917 Node::None,
918 Node::Cmux(35, 27, 19),
919 Node::None,
920 Node::None,
921 Node::None,
922 Node::None,
923 Node::None,
924 Node::Cmux(35, 22, 7),
925 Node::Cmux(35, 12, 8),
926 Node::Cmux(35, 28, 4),
927 Node::Cmux(35, 5, 1),
928 Node::None,
929 Node::None,
930 Node::None,
931 Node::None,
932 Node::None,
933 Node::None,
934 Node::None,
935 Node::Cmux(35, 2, 9),
936 Node::None,
937 Node::Cmux(35, 6, 18),
938 Node::None,
939 Node::None,
940 Node::Cmux(34, 16, 15),
941 Node::Cmux(34, 14, 7),
942 Node::None,
943 Node::None,
944 Node::None,
945 Node::None,
946 Node::None,
947 Node::None,
948 Node::None,
949 Node::None,
950 Node::None,
951 Node::None,
952 Node::None,
953 Node::None,
954 Node::None,
955 Node::None,
956 Node::None,
957 Node::Cmux(34, 13, 1),
958 Node::None,
959 Node::Cmux(34, 24, 26),
960 Node::None,
961 Node::None,
962 Node::None,
963 Node::None,
964 Node::None,
965 Node::None,
966 Node::None,
967 Node::None,
968 Node::None,
969 Node::None,
970 Node::None,
971 Node::None,
972 Node::None,
973 Node::None,
974 Node::None,
975 Node::None,
976 Node::None,
977 Node::None,
978 Node::None,
979 Node::None,
980 Node::Cmux(33, 1, 17),
981 Node::None,
982 Node::None,
983 Node::None,
984 Node::None,
985 Node::None,
986 Node::Cmux(33, 19, 0),
987 Node::None,
988 Node::None,
989 Node::None,
990 Node::None,
991 Node::None,
992 Node::None,
993 Node::None,
994 Node::None,
995 Node::None,
996 Node::None,
997 Node::None,
998 Node::Cmux(32, 17, 11),
999 Node::None,
1000 Node::None,
1001 Node::None,
1002 Node::None,
1003 Node::None,
1004 Node::None,
1005 Node::None,
1006 Node::None,
1007 Node::None,
1008 Node::None,
1009 Node::None,
1010 Node::None,
1011 Node::None,
1012 Node::None,
1013 Node::None,
1014 Node::None,
1015 Node::None,
1016 Node::None,
1017 Node::None,
1018 Node::None,
1019 Node::None,
1020 Node::None,
1021 Node::None,
1022 Node::None,
1023 Node::None,
1024 Node::None,
1025 Node::None,
1026 Node::None,
1027 ],
1028 29,
1029 )),
1030 AnyBitCircuit::B5(BitCircuit::new(
1031 [
1032 Node::Copy,
1033 Node::Cmux(15, 1, 0),
1034 Node::Cmux(29, 1, 0),
1035 Node::Cmux(28, 1, 0),
1036 Node::Cmux(14, 1, 0),
1037 Node::Cmux(10, 1, 0),
1038 Node::Cmux(16, 1, 0),
1039 Node::Cmux(21, 1, 0),
1040 Node::Cmux(24, 1, 0),
1041 Node::Cmux(31, 1, 0),
1042 Node::Cmux(30, 1, 0),
1043 Node::Cmux(12, 1, 0),
1044 Node::Cmux(19, 1, 0),
1045 Node::Cmux(22, 1, 0),
1046 Node::Cmux(5, 1, 0),
1047 Node::Cmux(13, 1, 0),
1048 Node::Cmux(23, 1, 0),
1049 Node::Cmux(26, 1, 0),
1050 Node::Cmux(9, 1, 0),
1051 Node::Cmux(17, 1, 0),
1052 Node::Cmux(25, 1, 0),
1053 Node::Cmux(20, 1, 0),
1054 Node::Cmux(11, 1, 0),
1055 Node::Cmux(8, 1, 0),
1056 Node::Cmux(7, 1, 0),
1057 Node::Cmux(18, 1, 0),
1058 Node::Cmux(27, 1, 0),
1059 Node::Cmux(6, 1, 0),
1060 Node::Cmux(36, 0, 12),
1061 Node::None,
1062 Node::None,
1063 Node::None,
1064 Node::Cmux(36, 13, 27),
1065 Node::Cmux(36, 3, 11),
1066 Node::Cmux(36, 8, 23),
1067 Node::Cmux(36, 17, 5),
1068 Node::Cmux(36, 0, 19),
1069 Node::Cmux(36, 2, 15),
1070 Node::Cmux(36, 16, 24),
1071 Node::None,
1072 Node::None,
1073 Node::Cmux(36, 7, 14),
1074 Node::None,
1075 Node::Cmux(36, 9, 1),
1076 Node::Cmux(36, 0, 21),
1077 Node::Cmux(36, 20, 18),
1078 Node::None,
1079 Node::None,
1080 Node::None,
1081 Node::None,
1082 Node::Cmux(36, 10, 4),
1083 Node::None,
1084 Node::Cmux(36, 26, 22),
1085 Node::Cmux(36, 0, 25),
1086 Node::None,
1087 Node::Cmux(36, 0, 6),
1088 Node::Cmux(35, 9, 13),
1089 Node::None,
1090 Node::None,
1091 Node::None,
1092 Node::None,
1093 Node::None,
1094 Node::None,
1095 Node::None,
1096 Node::None,
1097 Node::None,
1098 Node::Cmux(35, 22, 4),
1099 Node::None,
1100 Node::Cmux(35, 15, 10),
1101 Node::None,
1102 Node::None,
1103 Node::Cmux(35, 8, 17),
1104 Node::None,
1105 Node::None,
1106 Node::Cmux(35, 16, 5),
1107 Node::Cmux(35, 0, 24),
1108 Node::None,
1109 Node::Cmux(35, 27, 6),
1110 Node::None,
1111 Node::None,
1112 Node::None,
1113 Node::None,
1114 Node::Cmux(35, 25, 7),
1115 Node::None,
1116 Node::None,
1117 Node::None,
1118 Node::None,
1119 Node::None,
1120 Node::None,
1121 Node::None,
1122 Node::None,
1123 Node::Cmux(34, 18, 21),
1124 Node::None,
1125 Node::None,
1126 Node::None,
1127 Node::None,
1128 Node::None,
1129 Node::None,
1130 Node::None,
1131 Node::None,
1132 Node::Cmux(34, 19, 12),
1133 Node::None,
1134 Node::Cmux(34, 15, 0),
1135 Node::Cmux(34, 26, 10),
1136 Node::None,
1137 Node::None,
1138 Node::None,
1139 Node::None,
1140 Node::None,
1141 Node::None,
1142 Node::None,
1143 Node::None,
1144 Node::None,
1145 Node::None,
1146 Node::None,
1147 Node::None,
1148 Node::None,
1149 Node::None,
1150 Node::None,
1151 Node::None,
1152 Node::None,
1153 Node::None,
1154 Node::None,
1155 Node::None,
1156 Node::None,
1157 Node::None,
1158 Node::None,
1159 Node::None,
1160 Node::None,
1161 Node::None,
1162 Node::None,
1163 Node::None,
1164 Node::None,
1165 Node::None,
1166 Node::None,
1167 Node::None,
1168 Node::Cmux(33, 16, 18),
1169 Node::None,
1170 Node::Cmux(33, 7, 19),
1171 Node::None,
1172 Node::Cmux(32, 26, 24),
1173 Node::None,
1174 Node::None,
1175 Node::None,
1176 Node::None,
1177 Node::None,
1178 Node::None,
1179 Node::None,
1180 Node::None,
1181 Node::None,
1182 Node::None,
1183 Node::None,
1184 Node::None,
1185 Node::None,
1186 Node::None,
1187 Node::None,
1188 Node::None,
1189 Node::None,
1190 Node::None,
1191 Node::None,
1192 Node::None,
1193 Node::None,
1194 Node::None,
1195 Node::None,
1196 Node::None,
1197 Node::None,
1198 Node::None,
1199 Node::None,
1200 ],
1201 28,
1202 )),
1203 AnyBitCircuit::B6(BitCircuit::new(
1204 [
1205 Node::Copy,
1206 Node::Cmux(19, 1, 0),
1207 Node::Cmux(11, 1, 0),
1208 Node::Cmux(29, 1, 0),
1209 Node::Cmux(10, 1, 0),
1210 Node::Cmux(9, 1, 0),
1211 Node::Cmux(15, 1, 0),
1212 Node::Cmux(21, 1, 0),
1213 Node::Cmux(7, 1, 0),
1214 Node::Cmux(13, 1, 0),
1215 Node::Cmux(28, 1, 0),
1216 Node::Cmux(30, 1, 0),
1217 Node::Cmux(12, 1, 0),
1218 Node::Cmux(8, 1, 0),
1219 Node::Cmux(26, 1, 0),
1220 Node::Cmux(14, 1, 0),
1221 Node::Cmux(24, 1, 0),
1222 Node::Cmux(17, 1, 0),
1223 Node::Cmux(27, 1, 0),
1224 Node::Cmux(22, 1, 0),
1225 Node::Cmux(23, 1, 0),
1226 Node::Cmux(6, 1, 0),
1227 Node::Cmux(20, 1, 0),
1228 Node::Cmux(18, 1, 0),
1229 Node::Cmux(25, 1, 0),
1230 Node::Cmux(31, 1, 0),
1231 Node::Cmux(16, 1, 0),
1232 Node::Cmux(36, 3, 9),
1233 Node::Cmux(36, 10, 12),
1234 Node::None,
1235 Node::None,
1236 Node::Cmux(36, 24, 5),
1237 Node::None,
1238 Node::None,
1239 Node::Cmux(36, 19, 21),
1240 Node::None,
1241 Node::Cmux(36, 11, 15),
1242 Node::Cmux(36, 20, 8),
1243 Node::Cmux(36, 0, 1),
1244 Node::Cmux(36, 16, 13),
1245 Node::None,
1246 Node::Cmux(36, 18, 2),
1247 Node::Cmux(36, 0, 23),
1248 Node::Cmux(36, 0, 17),
1249 Node::None,
1250 Node::Cmux(36, 0, 7),
1251 Node::Cmux(36, 0, 22),
1252 Node::Cmux(36, 25, 6),
1253 Node::None,
1254 Node::None,
1255 Node::Cmux(36, 14, 4),
1256 Node::None,
1257 Node::None,
1258 Node::Cmux(36, 0, 26),
1259 Node::None,
1260 Node::Cmux(35, 26, 12),
1261 Node::Cmux(35, 16, 4),
1262 Node::Cmux(35, 11, 14),
1263 Node::Cmux(35, 9, 7),
1264 Node::None,
1265 Node::None,
1266 Node::Cmux(35, 20, 10),
1267 Node::Cmux(35, 15, 23),
1268 Node::None,
1269 Node::None,
1270 Node::Cmux(35, 18, 0),
1271 Node::None,
1272 Node::None,
1273 Node::None,
1274 Node::None,
1275 Node::Cmux(35, 19, 1),
1276 Node::None,
1277 Node::None,
1278 Node::None,
1279 Node::None,
1280 Node::None,
1281 Node::None,
1282 Node::None,
1283 Node::None,
1284 Node::None,
1285 Node::None,
1286 Node::None,
1287 Node::None,
1288 Node::Cmux(34, 11, 2),
1289 Node::None,
1290 Node::None,
1291 Node::Cmux(34, 16, 1),
1292 Node::None,
1293 Node::None,
1294 Node::None,
1295 Node::None,
1296 Node::None,
1297 Node::None,
1298 Node::None,
1299 Node::None,
1300 Node::Cmux(34, 3, 7),
1301 Node::None,
1302 Node::None,
1303 Node::None,
1304 Node::None,
1305 Node::Cmux(34, 8, 4),
1306 Node::None,
1307 Node::None,
1308 Node::None,
1309 Node::None,
1310 Node::None,
1311 Node::None,
1312 Node::None,
1313 Node::None,
1314 Node::None,
1315 Node::None,
1316 Node::None,
1317 Node::None,
1318 Node::None,
1319 Node::None,
1320 Node::None,
1321 Node::None,
1322 Node::None,
1323 Node::None,
1324 Node::Cmux(33, 2, 14),
1325 Node::None,
1326 Node::None,
1327 Node::None,
1328 Node::None,
1329 Node::Cmux(33, 5, 19),
1330 Node::None,
1331 Node::None,
1332 Node::None,
1333 Node::None,
1334 Node::None,
1335 Node::None,
1336 Node::None,
1337 Node::None,
1338 Node::None,
1339 Node::None,
1340 Node::Cmux(32, 11, 16),
1341 Node::None,
1342 Node::None,
1343 Node::None,
1344 Node::None,
1345 Node::None,
1346 Node::None,
1347 Node::None,
1348 Node::None,
1349 Node::None,
1350 Node::None,
1351 Node::None,
1352 Node::None,
1353 Node::None,
1354 Node::None,
1355 Node::None,
1356 Node::None,
1357 Node::None,
1358 Node::None,
1359 Node::None,
1360 Node::None,
1361 Node::None,
1362 Node::None,
1363 Node::None,
1364 Node::None,
1365 Node::None,
1366 Node::None,
1367 ],
1368 27,
1369 )),
1370 AnyBitCircuit::B7(BitCircuit::new(
1371 [
1372 Node::Copy,
1373 Node::Cmux(7, 1, 0),
1374 Node::Cmux(30, 1, 0),
1375 Node::Cmux(27, 1, 0),
1376 Node::Cmux(26, 1, 0),
1377 Node::Cmux(16, 1, 0),
1378 Node::Cmux(31, 1, 0),
1379 Node::Cmux(21, 1, 0),
1380 Node::Cmux(8, 1, 0),
1381 Node::Cmux(29, 1, 0),
1382 Node::Cmux(15, 1, 0),
1383 Node::Cmux(22, 1, 0),
1384 Node::Cmux(19, 1, 0),
1385 Node::Cmux(12, 1, 0),
1386 Node::Cmux(24, 1, 0),
1387 Node::Cmux(23, 1, 0),
1388 Node::Cmux(13, 1, 0),
1389 Node::Cmux(20, 1, 0),
1390 Node::Cmux(14, 1, 0),
1391 Node::Cmux(28, 1, 0),
1392 Node::Cmux(10, 1, 0),
1393 Node::Cmux(9, 1, 0),
1394 Node::Cmux(17, 1, 0),
1395 Node::Cmux(18, 1, 0),
1396 Node::Cmux(25, 1, 0),
1397 Node::Cmux(11, 1, 0),
1398 Node::Cmux(36, 0, 11),
1399 Node::Cmux(36, 4, 20),
1400 Node::Cmux(36, 2, 18),
1401 Node::Cmux(36, 3, 25),
1402 Node::Cmux(36, 0, 17),
1403 Node::None,
1404 Node::None,
1405 Node::Cmux(36, 0, 5),
1406 Node::None,
1407 Node::Cmux(36, 14, 8),
1408 Node::None,
1409 Node::Cmux(36, 24, 21),
1410 Node::None,
1411 Node::Cmux(36, 15, 1),
1412 Node::Cmux(36, 0, 7),
1413 Node::Cmux(36, 0, 12),
1414 Node::None,
1415 Node::Cmux(36, 0, 22),
1416 Node::None,
1417 Node::Cmux(36, 9, 16),
1418 Node::Cmux(36, 0, 23),
1419 Node::None,
1420 Node::None,
1421 Node::Cmux(36, 6, 10),
1422 Node::None,
1423 Node::Cmux(36, 19, 13),
1424 Node::None,
1425 Node::None,
1426 Node::None,
1427 Node::None,
1428 Node::Cmux(35, 7, 9),
1429 Node::None,
1430 Node::None,
1431 Node::None,
1432 Node::Cmux(35, 14, 19),
1433 Node::None,
1434 Node::None,
1435 Node::Cmux(35, 0, 2),
1436 Node::None,
1437 Node::None,
1438 Node::None,
1439 Node::None,
1440 Node::None,
1441 Node::None,
1442 Node::Cmux(35, 4, 25),
1443 Node::Cmux(35, 15, 3),
1444 Node::Cmux(35, 17, 11),
1445 Node::None,
1446 Node::None,
1447 Node::Cmux(35, 20, 1),
1448 Node::Cmux(35, 23, 13),
1449 Node::None,
1450 Node::None,
1451 Node::None,
1452 Node::None,
1453 Node::None,
1454 Node::None,
1455 Node::None,
1456 Node::Cmux(34, 18, 4),
1457 Node::None,
1458 Node::None,
1459 Node::None,
1460 Node::None,
1461 Node::None,
1462 Node::None,
1463 Node::None,
1464 Node::None,
1465 Node::None,
1466 Node::None,
1467 Node::None,
1468 Node::None,
1469 Node::Cmux(34, 19, 24),
1470 Node::Cmux(34, 8, 20),
1471 Node::None,
1472 Node::None,
1473 Node::None,
1474 Node::Cmux(34, 11, 23),
1475 Node::None,
1476 Node::None,
1477 Node::None,
1478 Node::None,
1479 Node::None,
1480 Node::None,
1481 Node::Cmux(33, 20, 19),
1482 Node::None,
1483 Node::None,
1484 Node::None,
1485 Node::None,
1486 Node::Cmux(33, 24, 6),
1487 Node::None,
1488 Node::None,
1489 Node::None,
1490 Node::None,
1491 Node::None,
1492 Node::None,
1493 Node::None,
1494 Node::None,
1495 Node::None,
1496 Node::None,
1497 Node::None,
1498 Node::None,
1499 Node::None,
1500 Node::None,
1501 Node::None,
1502 Node::Cmux(32, 10, 5),
1503 Node::None,
1504 Node::None,
1505 Node::None,
1506 Node::None,
1507 Node::None,
1508 Node::None,
1509 Node::None,
1510 Node::None,
1511 Node::None,
1512 Node::None,
1513 Node::None,
1514 Node::None,
1515 Node::None,
1516 Node::None,
1517 Node::None,
1518 Node::None,
1519 Node::None,
1520 Node::None,
1521 Node::None,
1522 Node::None,
1523 Node::None,
1524 Node::None,
1525 Node::None,
1526 Node::None,
1527 Node::None,
1528 ],
1529 26,
1530 )),
1531 AnyBitCircuit::B8(BitCircuit::new(
1532 [
1533 Node::Copy,
1534 Node::Cmux(14, 1, 0),
1535 Node::Cmux(16, 1, 0),
1536 Node::Cmux(15, 1, 0),
1537 Node::Cmux(8, 1, 0),
1538 Node::Cmux(23, 1, 0),
1539 Node::Cmux(19, 1, 0),
1540 Node::Cmux(10, 1, 0),
1541 Node::Cmux(13, 1, 0),
1542 Node::Cmux(30, 1, 0),
1543 Node::Cmux(22, 1, 0),
1544 Node::Cmux(20, 1, 0),
1545 Node::Cmux(24, 1, 0),
1546 Node::Cmux(29, 1, 0),
1547 Node::Cmux(21, 1, 0),
1548 Node::Cmux(18, 1, 0),
1549 Node::Cmux(26, 1, 0),
1550 Node::Cmux(28, 1, 0),
1551 Node::Cmux(27, 1, 0),
1552 Node::Cmux(31, 1, 0),
1553 Node::Cmux(25, 1, 0),
1554 Node::Cmux(17, 1, 0),
1555 Node::Cmux(9, 1, 0),
1556 Node::Cmux(11, 1, 0),
1557 Node::Cmux(12, 1, 0),
1558 Node::Cmux(36, 16, 7),
1559 Node::None,
1560 Node::Cmux(36, 0, 6),
1561 Node::None,
1562 Node::Cmux(36, 0, 14),
1563 Node::Cmux(36, 13, 8),
1564 Node::None,
1565 Node::Cmux(36, 18, 23),
1566 Node::Cmux(36, 0, 5),
1567 Node::Cmux(36, 20, 22),
1568 Node::Cmux(36, 0, 21),
1569 Node::Cmux(36, 0, 10),
1570 Node::Cmux(36, 19, 3),
1571 Node::None,
1572 Node::Cmux(36, 0, 2),
1573 Node::None,
1574 Node::None,
1575 Node::Cmux(36, 0, 11),
1576 Node::Cmux(36, 12, 4),
1577 Node::None,
1578 Node::Cmux(36, 0, 15),
1579 Node::None,
1580 Node::None,
1581 Node::Cmux(36, 17, 24),
1582 Node::Cmux(36, 9, 1),
1583 Node::None,
1584 Node::None,
1585 Node::Cmux(35, 8, 12),
1586 Node::Cmux(35, 17, 23),
1587 Node::None,
1588 Node::None,
1589 Node::None,
1590 Node::Cmux(35, 10, 9),
1591 Node::None,
1592 Node::Cmux(35, 14, 18),
1593 Node::None,
1594 Node::None,
1595 Node::None,
1596 Node::None,
1597 Node::Cmux(35, 4, 5),
1598 Node::Cmux(35, 20, 0),
1599 Node::Cmux(35, 11, 24),
1600 Node::None,
1601 Node::None,
1602 Node::Cmux(35, 2, 7),
1603 Node::None,
1604 Node::None,
1605 Node::None,
1606 Node::None,
1607 Node::None,
1608 Node::None,
1609 Node::None,
1610 Node::Cmux(34, 14, 7),
1611 Node::None,
1612 Node::Cmux(34, 2, 19),
1613 Node::None,
1614 Node::None,
1615 Node::None,
1616 Node::None,
1617 Node::None,
1618 Node::None,
1619 Node::None,
1620 Node::None,
1621 Node::None,
1622 Node::None,
1623 Node::None,
1624 Node::None,
1625 Node::None,
1626 Node::None,
1627 Node::None,
1628 Node::Cmux(34, 16, 15),
1629 Node::Cmux(34, 3, 9),
1630 Node::None,
1631 Node::None,
1632 Node::None,
1633 Node::None,
1634 Node::None,
1635 Node::None,
1636 Node::None,
1637 Node::Cmux(33, 20, 21),
1638 Node::None,
1639 Node::None,
1640 Node::Cmux(33, 4, 2),
1641 Node::None,
1642 Node::None,
1643 Node::None,
1644 Node::None,
1645 Node::None,
1646 Node::None,
1647 Node::None,
1648 Node::None,
1649 Node::None,
1650 Node::None,
1651 Node::None,
1652 Node::None,
1653 Node::None,
1654 Node::None,
1655 Node::None,
1656 Node::None,
1657 Node::None,
1658 Node::Cmux(32, 7, 4),
1659 Node::None,
1660 Node::None,
1661 Node::None,
1662 Node::None,
1663 Node::None,
1664 Node::None,
1665 Node::None,
1666 Node::None,
1667 Node::None,
1668 Node::None,
1669 Node::None,
1670 Node::None,
1671 Node::None,
1672 Node::None,
1673 Node::None,
1674 Node::None,
1675 Node::None,
1676 Node::None,
1677 Node::None,
1678 Node::None,
1679 Node::None,
1680 Node::None,
1681 Node::None,
1682 Node::None,
1683 ],
1684 25,
1685 )),
1686 AnyBitCircuit::B9(BitCircuit::new(
1687 [
1688 Node::Copy,
1689 Node::Cmux(23, 1, 0),
1690 Node::Cmux(10, 1, 0),
1691 Node::Cmux(20, 1, 0),
1692 Node::Cmux(16, 1, 0),
1693 Node::Cmux(11, 1, 0),
1694 Node::Cmux(13, 1, 0),
1695 Node::Cmux(9, 1, 0),
1696 Node::Cmux(18, 1, 0),
1697 Node::Cmux(14, 1, 0),
1698 Node::Cmux(12, 1, 0),
1699 Node::Cmux(19, 1, 0),
1700 Node::Cmux(25, 1, 0),
1701 Node::Cmux(27, 1, 0),
1702 Node::Cmux(31, 1, 0),
1703 Node::Cmux(30, 1, 0),
1704 Node::Cmux(28, 1, 0),
1705 Node::Cmux(26, 1, 0),
1706 Node::Cmux(24, 1, 0),
1707 Node::Cmux(22, 1, 0),
1708 Node::Cmux(17, 1, 0),
1709 Node::Cmux(29, 1, 0),
1710 Node::Cmux(15, 1, 0),
1711 Node::Cmux(21, 1, 0),
1712 Node::None,
1713 Node::Cmux(36, 16, 10),
1714 Node::Cmux(36, 15, 9),
1715 Node::Cmux(36, 0, 11),
1716 Node::Cmux(36, 0, 8),
1717 Node::Cmux(36, 0, 3),
1718 Node::Cmux(36, 0, 4),
1719 Node::None,
1720 Node::Cmux(36, 17, 2),
1721 Node::Cmux(36, 21, 6),
1722 Node::Cmux(36, 0, 19),
1723 Node::Cmux(36, 12, 7),
1724 Node::Cmux(36, 0, 23),
1725 Node::Cmux(36, 14, 22),
1726 Node::Cmux(36, 0, 20),
1727 Node::Cmux(36, 13, 5),
1728 Node::Cmux(36, 0, 1),
1729 Node::None,
1730 Node::None,
1731 Node::Cmux(36, 0, 18),
1732 Node::None,
1733 Node::None,
1734 Node::None,
1735 Node::None,
1736 Node::None,
1737 Node::Cmux(35, 12, 9),
1738 Node::None,
1739 Node::None,
1740 Node::Cmux(35, 14, 11),
1741 Node::None,
1742 Node::None,
1743 Node::Cmux(35, 5, 1),
1744 Node::Cmux(35, 4, 8),
1745 Node::None,
1746 Node::None,
1747 Node::None,
1748 Node::Cmux(35, 3, 15),
1749 Node::None,
1750 Node::None,
1751 Node::None,
1752 Node::Cmux(35, 10, 2),
1753 Node::None,
1754 Node::None,
1755 Node::Cmux(35, 19, 6),
1756 Node::None,
1757 Node::Cmux(35, 16, 13),
1758 Node::None,
1759 Node::None,
1760 Node::None,
1761 Node::None,
1762 Node::None,
1763 Node::None,
1764 Node::None,
1765 Node::Cmux(34, 1, 4),
1766 Node::None,
1767 Node::None,
1768 Node::None,
1769 Node::None,
1770 Node::None,
1771 Node::None,
1772 Node::None,
1773 Node::None,
1774 Node::Cmux(34, 16, 8),
1775 Node::None,
1776 Node::None,
1777 Node::None,
1778 Node::Cmux(34, 21, 12),
1779 Node::Cmux(34, 19, 7),
1780 Node::None,
1781 Node::None,
1782 Node::None,
1783 Node::None,
1784 Node::None,
1785 Node::None,
1786 Node::None,
1787 Node::None,
1788 Node::None,
1789 Node::None,
1790 Node::None,
1791 Node::None,
1792 Node::None,
1793 Node::None,
1794 Node::Cmux(33, 18, 5),
1795 Node::None,
1796 Node::None,
1797 Node::None,
1798 Node::None,
1799 Node::None,
1800 Node::None,
1801 Node::Cmux(33, 19, 14),
1802 Node::None,
1803 Node::None,
1804 Node::None,
1805 Node::None,
1806 Node::None,
1807 Node::None,
1808 Node::Cmux(32, 17, 10),
1809 Node::None,
1810 Node::None,
1811 Node::None,
1812 Node::None,
1813 Node::None,
1814 Node::None,
1815 Node::None,
1816 Node::None,
1817 Node::None,
1818 Node::None,
1819 Node::None,
1820 Node::None,
1821 Node::None,
1822 Node::None,
1823 Node::None,
1824 Node::None,
1825 Node::None,
1826 Node::None,
1827 Node::None,
1828 Node::None,
1829 Node::None,
1830 Node::None,
1831 Node::None,
1832 ],
1833 24,
1834 )),
1835 AnyBitCircuit::B10(BitCircuit::new(
1836 [
1837 Node::Copy,
1838 Node::Cmux(17, 1, 0),
1839 Node::Cmux(22, 1, 0),
1840 Node::Cmux(29, 1, 0),
1841 Node::Cmux(27, 1, 0),
1842 Node::Cmux(15, 1, 0),
1843 Node::Cmux(16, 1, 0),
1844 Node::Cmux(20, 1, 0),
1845 Node::Cmux(25, 1, 0),
1846 Node::Cmux(13, 1, 0),
1847 Node::Cmux(11, 1, 0),
1848 Node::Cmux(31, 1, 0),
1849 Node::Cmux(19, 1, 0),
1850 Node::Cmux(24, 1, 0),
1851 Node::Cmux(23, 1, 0),
1852 Node::Cmux(12, 1, 0),
1853 Node::Cmux(30, 1, 0),
1854 Node::Cmux(21, 1, 0),
1855 Node::Cmux(28, 1, 0),
1856 Node::Cmux(18, 1, 0),
1857 Node::Cmux(14, 1, 0),
1858 Node::Cmux(26, 1, 0),
1859 Node::Cmux(10, 1, 0),
1860 Node::None,
1861 Node::Cmux(36, 0, 14),
1862 Node::None,
1863 Node::Cmux(36, 4, 10),
1864 Node::Cmux(36, 0, 7),
1865 Node::None,
1866 Node::Cmux(36, 0, 17),
1867 Node::Cmux(36, 11, 5),
1868 Node::Cmux(36, 0, 1),
1869 Node::Cmux(36, 0, 2),
1870 Node::None,
1871 Node::Cmux(36, 0, 6),
1872 Node::Cmux(36, 21, 22),
1873 Node::Cmux(36, 16, 20),
1874 Node::None,
1875 Node::Cmux(36, 18, 15),
1876 Node::Cmux(36, 3, 9),
1877 Node::None,
1878 Node::Cmux(36, 0, 13),
1879 Node::Cmux(36, 0, 19),
1880 Node::Cmux(36, 0, 8),
1881 Node::Cmux(36, 0, 12),
1882 Node::None,
1883 Node::Cmux(35, 4, 15),
1884 Node::None,
1885 Node::Cmux(35, 20, 8),
1886 Node::None,
1887 Node::None,
1888 Node::Cmux(35, 1, 7),
1889 Node::None,
1890 Node::None,
1891 Node::None,
1892 Node::None,
1893 Node::None,
1894 Node::Cmux(35, 18, 11),
1895 Node::Cmux(35, 21, 3),
1896 Node::None,
1897 Node::None,
1898 Node::Cmux(35, 19, 12),
1899 Node::Cmux(35, 9, 13),
1900 Node::None,
1901 Node::None,
1902 Node::None,
1903 Node::Cmux(35, 6, 16),
1904 Node::None,
1905 Node::None,
1906 Node::None,
1907 Node::None,
1908 Node::None,
1909 Node::None,
1910 Node::None,
1911 Node::None,
1912 Node::None,
1913 Node::None,
1914 Node::None,
1915 Node::None,
1916 Node::Cmux(34, 16, 15),
1917 Node::Cmux(34, 11, 0),
1918 Node::None,
1919 Node::None,
1920 Node::None,
1921 Node::None,
1922 Node::Cmux(34, 5, 12),
1923 Node::None,
1924 Node::None,
1925 Node::None,
1926 Node::None,
1927 Node::Cmux(34, 2, 20),
1928 Node::None,
1929 Node::None,
1930 Node::None,
1931 Node::Cmux(33, 21, 16),
1932 Node::None,
1933 Node::None,
1934 Node::None,
1935 Node::None,
1936 Node::None,
1937 Node::None,
1938 Node::None,
1939 Node::None,
1940 Node::None,
1941 Node::None,
1942 Node::None,
1943 Node::None,
1944 Node::None,
1945 Node::None,
1946 Node::None,
1947 Node::None,
1948 Node::None,
1949 Node::None,
1950 Node::None,
1951 Node::Cmux(33, 11, 10),
1952 Node::Cmux(32, 2, 22),
1953 Node::None,
1954 Node::None,
1955 Node::None,
1956 Node::None,
1957 Node::None,
1958 Node::None,
1959 Node::None,
1960 Node::None,
1961 Node::None,
1962 Node::None,
1963 Node::None,
1964 Node::None,
1965 Node::None,
1966 Node::None,
1967 Node::None,
1968 Node::None,
1969 Node::None,
1970 Node::None,
1971 Node::None,
1972 Node::None,
1973 Node::None,
1974 Node::None,
1975 ],
1976 23,
1977 )),
1978 AnyBitCircuit::B11(BitCircuit::new(
1979 [
1980 Node::Copy,
1981 Node::Cmux(29, 1, 0),
1982 Node::Cmux(25, 1, 0),
1983 Node::Cmux(18, 1, 0),
1984 Node::Cmux(22, 1, 0),
1985 Node::Cmux(11, 1, 0),
1986 Node::Cmux(27, 1, 0),
1987 Node::Cmux(23, 1, 0),
1988 Node::Cmux(14, 1, 0),
1989 Node::Cmux(21, 1, 0),
1990 Node::Cmux(16, 1, 0),
1991 Node::Cmux(13, 1, 0),
1992 Node::Cmux(20, 1, 0),
1993 Node::Cmux(26, 1, 0),
1994 Node::Cmux(28, 1, 0),
1995 Node::Cmux(30, 1, 0),
1996 Node::Cmux(19, 1, 0),
1997 Node::Cmux(15, 1, 0),
1998 Node::Cmux(17, 1, 0),
1999 Node::Cmux(24, 1, 0),
2000 Node::Cmux(31, 1, 0),
2001 Node::Cmux(12, 1, 0),
2002 Node::Cmux(36, 20, 17),
2003 Node::None,
2004 Node::Cmux(36, 0, 2),
2005 Node::Cmux(36, 0, 9),
2006 Node::Cmux(36, 6, 5),
2007 Node::Cmux(36, 0, 4),
2008 Node::Cmux(36, 0, 10),
2009 Node::None,
2010 Node::Cmux(36, 1, 11),
2011 Node::Cmux(36, 0, 16),
2012 Node::Cmux(36, 0, 3),
2013 Node::None,
2014 Node::Cmux(36, 0, 13),
2015 Node::None,
2016 Node::Cmux(36, 0, 7),
2017 Node::Cmux(36, 0, 12),
2018 Node::None,
2019 Node::Cmux(36, 14, 21),
2020 Node::Cmux(36, 15, 8),
2021 Node::Cmux(36, 0, 18),
2022 Node::Cmux(36, 0, 19),
2023 Node::None,
2024 Node::None,
2025 Node::None,
2026 Node::Cmux(35, 14, 0),
2027 Node::None,
2028 Node::None,
2029 Node::None,
2030 Node::None,
2031 Node::None,
2032 Node::None,
2033 Node::None,
2034 Node::Cmux(35, 12, 10),
2035 Node::None,
2036 Node::Cmux(35, 3, 8),
2037 Node::None,
2038 Node::None,
2039 Node::Cmux(35, 15, 17),
2040 Node::Cmux(35, 20, 6),
2041 Node::None,
2042 Node::None,
2043 Node::Cmux(35, 9, 4),
2044 Node::Cmux(35, 2, 19),
2045 Node::Cmux(35, 5, 18),
2046 Node::None,
2047 Node::None,
2048 Node::Cmux(34, 20, 12),
2049 Node::None,
2050 Node::None,
2051 Node::None,
2052 Node::None,
2053 Node::None,
2054 Node::None,
2055 Node::None,
2056 Node::None,
2057 Node::Cmux(34, 10, 21),
2058 Node::Cmux(34, 16, 15),
2059 Node::None,
2060 Node::Cmux(34, 2, 19),
2061 Node::None,
2062 Node::None,
2063 Node::None,
2064 Node::None,
2065 Node::None,
2066 Node::None,
2067 Node::None,
2068 Node::None,
2069 Node::None,
2070 Node::None,
2071 Node::None,
2072 Node::None,
2073 Node::None,
2074 Node::Cmux(33, 11, 12),
2075 Node::None,
2076 Node::None,
2077 Node::None,
2078 Node::None,
2079 Node::None,
2080 Node::None,
2081 Node::None,
2082 Node::None,
2083 Node::None,
2084 Node::Cmux(33, 2, 14),
2085 Node::None,
2086 Node::None,
2087 Node::None,
2088 Node::None,
2089 Node::None,
2090 Node::Cmux(32, 6, 16),
2091 Node::None,
2092 Node::None,
2093 Node::None,
2094 Node::None,
2095 Node::None,
2096 Node::None,
2097 Node::None,
2098 Node::None,
2099 Node::None,
2100 Node::None,
2101 Node::None,
2102 Node::None,
2103 Node::None,
2104 Node::None,
2105 Node::None,
2106 Node::None,
2107 Node::None,
2108 Node::None,
2109 Node::None,
2110 Node::None,
2111 Node::None,
2112 ],
2113 22,
2114 )),
2115 AnyBitCircuit::B12(BitCircuit::new(
2116 [
2117 Node::Copy,
2118 Node::Cmux(15, 1, 0),
2119 Node::Cmux(24, 1, 0),
2120 Node::Cmux(20, 1, 0),
2121 Node::Cmux(14, 1, 0),
2122 Node::Cmux(13, 1, 0),
2123 Node::Cmux(25, 1, 0),
2124 Node::Cmux(26, 1, 0),
2125 Node::Cmux(29, 1, 0),
2126 Node::Cmux(30, 1, 0),
2127 Node::Cmux(17, 1, 0),
2128 Node::Cmux(31, 1, 0),
2129 Node::Cmux(21, 1, 0),
2130 Node::Cmux(23, 1, 0),
2131 Node::Cmux(12, 1, 0),
2132 Node::Cmux(28, 1, 0),
2133 Node::Cmux(19, 1, 0),
2134 Node::Cmux(27, 1, 0),
2135 Node::Cmux(16, 1, 0),
2136 Node::Cmux(22, 1, 0),
2137 Node::Cmux(18, 1, 0),
2138 Node::Cmux(36, 0, 19),
2139 Node::Cmux(36, 9, 4),
2140 Node::Cmux(36, 0, 16),
2141 Node::Cmux(36, 0, 6),
2142 Node::None,
2143 Node::Cmux(36, 0, 12),
2144 Node::Cmux(36, 0, 3),
2145 Node::Cmux(36, 11, 1),
2146 Node::Cmux(36, 0, 18),
2147 Node::Cmux(36, 15, 14),
2148 Node::Cmux(36, 0, 17),
2149 Node::Cmux(36, 0, 13),
2150 Node::Cmux(36, 0, 10),
2151 Node::Cmux(36, 0, 7),
2152 Node::Cmux(36, 8, 5),
2153 Node::None,
2154 Node::Cmux(36, 0, 2),
2155 Node::None,
2156 Node::None,
2157 Node::Cmux(36, 0, 20),
2158 Node::None,
2159 Node::Cmux(35, 5, 14),
2160 Node::None,
2161 Node::None,
2162 Node::Cmux(35, 6, 9),
2163 Node::None,
2164 Node::None,
2165 Node::None,
2166 Node::Cmux(35, 13, 19),
2167 Node::Cmux(35, 16, 8),
2168 Node::None,
2169 Node::Cmux(35, 11, 7),
2170 Node::None,
2171 Node::None,
2172 Node::None,
2173 Node::Cmux(35, 0, 1),
2174 Node::Cmux(35, 3, 12),
2175 Node::None,
2176 Node::None,
2177 Node::None,
2178 Node::Cmux(35, 10, 2),
2179 Node::None,
2180 Node::None,
2181 Node::None,
2182 Node::None,
2183 Node::None,
2184 Node::None,
2185 Node::None,
2186 Node::None,
2187 Node::None,
2188 Node::None,
2189 Node::None,
2190 Node::None,
2191 Node::None,
2192 Node::Cmux(34, 8, 3),
2193 Node::None,
2194 Node::Cmux(34, 19, 10),
2195 Node::None,
2196 Node::None,
2197 Node::None,
2198 Node::Cmux(34, 7, 14),
2199 Node::None,
2200 Node::Cmux(34, 15, 0),
2201 Node::None,
2202 Node::None,
2203 Node::None,
2204 Node::None,
2205 Node::None,
2206 Node::None,
2207 Node::Cmux(33, 18, 12),
2208 Node::None,
2209 Node::None,
2210 Node::None,
2211 Node::None,
2212 Node::None,
2213 Node::None,
2214 Node::None,
2215 Node::None,
2216 Node::None,
2217 Node::None,
2218 Node::Cmux(33, 14, 20),
2219 Node::None,
2220 Node::None,
2221 Node::None,
2222 Node::Cmux(32, 17, 6),
2223 Node::None,
2224 Node::None,
2225 Node::None,
2226 Node::None,
2227 Node::None,
2228 Node::None,
2229 Node::None,
2230 Node::None,
2231 Node::None,
2232 Node::None,
2233 Node::None,
2234 Node::None,
2235 Node::None,
2236 Node::None,
2237 Node::None,
2238 Node::None,
2239 Node::None,
2240 Node::None,
2241 Node::None,
2242 Node::None,
2243 ],
2244 21,
2245 )),
2246 AnyBitCircuit::B13(BitCircuit::new(
2247 [
2248 Node::Copy,
2249 Node::Cmux(31, 1, 0),
2250 Node::Cmux(24, 1, 0),
2251 Node::Cmux(20, 1, 0),
2252 Node::Cmux(22, 1, 0),
2253 Node::Cmux(13, 1, 0),
2254 Node::Cmux(18, 1, 0),
2255 Node::Cmux(28, 1, 0),
2256 Node::Cmux(17, 1, 0),
2257 Node::Cmux(15, 1, 0),
2258 Node::Cmux(23, 1, 0),
2259 Node::Cmux(29, 1, 0),
2260 Node::Cmux(14, 1, 0),
2261 Node::Cmux(27, 1, 0),
2262 Node::Cmux(25, 1, 0),
2263 Node::Cmux(26, 1, 0),
2264 Node::Cmux(21, 1, 0),
2265 Node::Cmux(19, 1, 0),
2266 Node::Cmux(16, 1, 0),
2267 Node::Cmux(30, 1, 0),
2268 Node::Cmux(36, 0, 3),
2269 Node::Cmux(36, 0, 18),
2270 Node::None,
2271 Node::Cmux(36, 0, 17),
2272 Node::None,
2273 Node::Cmux(36, 11, 5),
2274 Node::Cmux(36, 0, 13),
2275 Node::None,
2276 Node::Cmux(36, 0, 8),
2277 Node::Cmux(36, 0, 16),
2278 Node::Cmux(36, 0, 7),
2279 Node::Cmux(36, 1, 9),
2280 Node::Cmux(36, 0, 14),
2281 Node::Cmux(36, 0, 10),
2282 Node::Cmux(36, 0, 15),
2283 Node::Cmux(36, 19, 12),
2284 Node::Cmux(36, 0, 6),
2285 Node::Cmux(36, 0, 2),
2286 Node::Cmux(36, 0, 4),
2287 Node::None,
2288 Node::Cmux(35, 18, 15),
2289 Node::Cmux(35, 10, 0),
2290 Node::None,
2291 Node::None,
2292 Node::None,
2293 Node::Cmux(35, 13, 11),
2294 Node::None,
2295 Node::None,
2296 Node::None,
2297 Node::None,
2298 Node::None,
2299 Node::Cmux(35, 17, 1),
2300 Node::None,
2301 Node::Cmux(35, 12, 8),
2302 Node::Cmux(35, 9, 5),
2303 Node::None,
2304 Node::Cmux(35, 6, 3),
2305 Node::Cmux(35, 14, 16),
2306 Node::None,
2307 Node::None,
2308 Node::None,
2309 Node::None,
2310 Node::None,
2311 Node::None,
2312 Node::None,
2313 Node::None,
2314 Node::None,
2315 Node::Cmux(34, 13, 14),
2316 Node::Cmux(34, 16, 5),
2317 Node::Cmux(34, 1, 11),
2318 Node::None,
2319 Node::None,
2320 Node::None,
2321 Node::Cmux(34, 17, 0),
2322 Node::None,
2323 Node::None,
2324 Node::None,
2325 Node::None,
2326 Node::None,
2327 Node::None,
2328 Node::None,
2329 Node::None,
2330 Node::Cmux(33, 8, 7),
2331 Node::None,
2332 Node::None,
2333 Node::None,
2334 Node::None,
2335 Node::None,
2336 Node::None,
2337 Node::None,
2338 Node::None,
2339 Node::None,
2340 Node::Cmux(33, 9, 13),
2341 Node::None,
2342 Node::None,
2343 Node::None,
2344 Node::None,
2345 Node::None,
2346 Node::None,
2347 Node::None,
2348 Node::Cmux(32, 12, 2),
2349 Node::None,
2350 Node::None,
2351 Node::None,
2352 Node::None,
2353 Node::None,
2354 Node::None,
2355 Node::None,
2356 Node::None,
2357 Node::None,
2358 Node::None,
2359 Node::None,
2360 Node::None,
2361 Node::None,
2362 Node::None,
2363 Node::None,
2364 Node::None,
2365 Node::None,
2366 Node::None,
2367 Node::None,
2368 ],
2369 20,
2370 )),
2371 AnyBitCircuit::B14(BitCircuit::new(
2372 [
2373 Node::Copy,
2374 Node::Cmux(15, 1, 0),
2375 Node::Cmux(30, 1, 0),
2376 Node::Cmux(16, 1, 0),
2377 Node::Cmux(19, 1, 0),
2378 Node::Cmux(23, 1, 0),
2379 Node::Cmux(31, 1, 0),
2380 Node::Cmux(21, 1, 0),
2381 Node::Cmux(22, 1, 0),
2382 Node::Cmux(20, 1, 0),
2383 Node::Cmux(27, 1, 0),
2384 Node::Cmux(17, 1, 0),
2385 Node::Cmux(14, 1, 0),
2386 Node::Cmux(26, 1, 0),
2387 Node::Cmux(24, 1, 0),
2388 Node::Cmux(18, 1, 0),
2389 Node::Cmux(25, 1, 0),
2390 Node::Cmux(28, 1, 0),
2391 Node::Cmux(29, 1, 0),
2392 Node::None,
2393 Node::Cmux(36, 0, 3),
2394 Node::Cmux(36, 2, 12),
2395 Node::Cmux(36, 0, 18),
2396 Node::Cmux(36, 0, 7),
2397 Node::None,
2398 Node::Cmux(36, 0, 4),
2399 Node::Cmux(36, 0, 8),
2400 Node::Cmux(36, 0, 15),
2401 Node::Cmux(36, 0, 9),
2402 Node::Cmux(36, 0, 5),
2403 Node::Cmux(36, 0, 16),
2404 Node::Cmux(36, 0, 11),
2405 Node::Cmux(36, 6, 1),
2406 Node::Cmux(36, 0, 10),
2407 Node::Cmux(36, 0, 14),
2408 Node::None,
2409 Node::Cmux(36, 0, 13),
2410 Node::Cmux(36, 0, 17),
2411 Node::Cmux(35, 7, 2),
2412 Node::None,
2413 Node::Cmux(35, 10, 13),
2414 Node::Cmux(35, 14, 6),
2415 Node::Cmux(35, 3, 4),
2416 Node::None,
2417 Node::None,
2418 Node::None,
2419 Node::None,
2420 Node::Cmux(35, 15, 1),
2421 Node::None,
2422 Node::Cmux(35, 18, 9),
2423 Node::Cmux(35, 17, 8),
2424 Node::None,
2425 Node::None,
2426 Node::Cmux(35, 11, 12),
2427 Node::None,
2428 Node::None,
2429 Node::None,
2430 Node::None,
2431 Node::None,
2432 Node::None,
2433 Node::None,
2434 Node::None,
2435 Node::Cmux(34, 4, 15),
2436 Node::None,
2437 Node::Cmux(34, 12, 0),
2438 Node::None,
2439 Node::None,
2440 Node::None,
2441 Node::Cmux(34, 3, 2),
2442 Node::None,
2443 Node::None,
2444 Node::None,
2445 Node::None,
2446 Node::None,
2447 Node::Cmux(34, 11, 9),
2448 Node::None,
2449 Node::None,
2450 Node::None,
2451 Node::None,
2452 Node::None,
2453 Node::None,
2454 Node::None,
2455 Node::None,
2456 Node::None,
2457 Node::None,
2458 Node::None,
2459 Node::Cmux(33, 17, 7),
2460 Node::None,
2461 Node::None,
2462 Node::None,
2463 Node::Cmux(33, 5, 11),
2464 Node::None,
2465 Node::None,
2466 Node::None,
2467 Node::None,
2468 Node::Cmux(32, 14, 10),
2469 Node::None,
2470 Node::None,
2471 Node::None,
2472 Node::None,
2473 Node::None,
2474 Node::None,
2475 Node::None,
2476 Node::None,
2477 Node::None,
2478 Node::None,
2479 Node::None,
2480 Node::None,
2481 Node::None,
2482 Node::None,
2483 Node::None,
2484 Node::None,
2485 Node::None,
2486 Node::None,
2487 ],
2488 19,
2489 )),
2490 AnyBitCircuit::B15(BitCircuit::new(
2491 [
2492 Node::Copy,
2493 Node::Cmux(20, 1, 0),
2494 Node::Cmux(18, 1, 0),
2495 Node::Cmux(27, 1, 0),
2496 Node::Cmux(25, 1, 0),
2497 Node::Cmux(24, 1, 0),
2498 Node::Cmux(15, 1, 0),
2499 Node::Cmux(28, 1, 0),
2500 Node::Cmux(22, 1, 0),
2501 Node::Cmux(21, 1, 0),
2502 Node::Cmux(30, 1, 0),
2503 Node::Cmux(17, 1, 0),
2504 Node::Cmux(26, 1, 0),
2505 Node::Cmux(16, 1, 0),
2506 Node::Cmux(29, 1, 0),
2507 Node::Cmux(23, 1, 0),
2508 Node::Cmux(19, 1, 0),
2509 Node::Cmux(31, 1, 0),
2510 Node::Cmux(36, 0, 10),
2511 Node::None,
2512 Node::Cmux(36, 0, 7),
2513 Node::Cmux(36, 0, 9),
2514 Node::Cmux(36, 0, 12),
2515 Node::Cmux(36, 0, 2),
2516 Node::None,
2517 Node::Cmux(36, 0, 14),
2518 Node::Cmux(36, 0, 15),
2519 Node::Cmux(36, 0, 3),
2520 Node::Cmux(36, 0, 4),
2521 Node::Cmux(36, 0, 16),
2522 Node::Cmux(36, 0, 11),
2523 Node::Cmux(36, 0, 8),
2524 Node::Cmux(36, 0, 1),
2525 Node::Cmux(36, 0, 13),
2526 Node::Cmux(36, 0, 5),
2527 Node::Cmux(36, 17, 6),
2528 Node::Cmux(35, 7, 3),
2529 Node::Cmux(35, 10, 12),
2530 Node::None,
2531 Node::None,
2532 Node::None,
2533 Node::None,
2534 Node::Cmux(35, 4, 5),
2535 Node::None,
2536 Node::None,
2537 Node::None,
2538 Node::None,
2539 Node::Cmux(35, 0, 13),
2540 Node::None,
2541 Node::None,
2542 Node::Cmux(35, 9, 11),
2543 Node::Cmux(35, 2, 14),
2544 Node::Cmux(35, 16, 15),
2545 Node::Cmux(35, 8, 17),
2546 Node::Cmux(34, 0, 1),
2547 Node::None,
2548 Node::None,
2549 Node::None,
2550 Node::Cmux(34, 14, 17),
2551 Node::None,
2552 Node::None,
2553 Node::None,
2554 Node::None,
2555 Node::None,
2556 Node::None,
2557 Node::Cmux(34, 11, 6),
2558 Node::None,
2559 Node::None,
2560 Node::None,
2561 Node::None,
2562 Node::None,
2563 Node::Cmux(34, 15, 16),
2564 Node::None,
2565 Node::None,
2566 Node::None,
2567 Node::Cmux(33, 11, 17),
2568 Node::Cmux(33, 0, 4),
2569 Node::None,
2570 Node::None,
2571 Node::None,
2572 Node::None,
2573 Node::None,
2574 Node::None,
2575 Node::None,
2576 Node::None,
2577 Node::None,
2578 Node::None,
2579 Node::None,
2580 Node::None,
2581 Node::None,
2582 Node::Cmux(32, 3, 4),
2583 Node::None,
2584 Node::None,
2585 Node::None,
2586 Node::None,
2587 Node::None,
2588 Node::None,
2589 Node::None,
2590 Node::None,
2591 Node::None,
2592 Node::None,
2593 Node::None,
2594 Node::None,
2595 Node::None,
2596 Node::None,
2597 Node::None,
2598 Node::None,
2599 Node::None,
2600 ],
2601 18,
2602 )),
2603 AnyBitCircuit::B16(BitCircuit::new(
2604 [
2605 Node::Copy,
2606 Node::Cmux(18, 1, 0),
2607 Node::Cmux(21, 1, 0),
2608 Node::Cmux(16, 1, 0),
2609 Node::Cmux(31, 1, 0),
2610 Node::Cmux(30, 1, 0),
2611 Node::Cmux(26, 1, 0),
2612 Node::Cmux(19, 1, 0),
2613 Node::Cmux(29, 1, 0),
2614 Node::Cmux(24, 1, 0),
2615 Node::Cmux(28, 1, 0),
2616 Node::Cmux(22, 1, 0),
2617 Node::Cmux(25, 1, 0),
2618 Node::Cmux(27, 1, 0),
2619 Node::Cmux(20, 1, 0),
2620 Node::Cmux(23, 1, 0),
2621 Node::Cmux(17, 1, 0),
2622 Node::Cmux(36, 0, 11),
2623 Node::Cmux(36, 0, 6),
2624 Node::Cmux(36, 0, 16),
2625 Node::Cmux(36, 0, 1),
2626 Node::Cmux(36, 0, 3),
2627 Node::Cmux(36, 0, 15),
2628 Node::Cmux(36, 0, 10),
2629 Node::Cmux(36, 0, 9),
2630 Node::Cmux(36, 0, 7),
2631 Node::Cmux(36, 0, 5),
2632 Node::Cmux(36, 0, 14),
2633 Node::Cmux(36, 0, 13),
2634 Node::Cmux(36, 0, 12),
2635 Node::Cmux(36, 0, 2),
2636 Node::None,
2637 Node::Cmux(36, 0, 4),
2638 Node::Cmux(36, 0, 8),
2639 Node::None,
2640 Node::None,
2641 Node::Cmux(35, 1, 3),
2642 Node::Cmux(35, 12, 2),
2643 Node::Cmux(35, 11, 8),
2644 Node::None,
2645 Node::Cmux(35, 15, 5),
2646 Node::None,
2647 Node::Cmux(35, 7, 4),
2648 Node::None,
2649 Node::Cmux(35, 16, 13),
2650 Node::None,
2651 Node::Cmux(35, 9, 0),
2652 Node::Cmux(35, 6, 10),
2653 Node::None,
2654 Node::None,
2655 Node::None,
2656 Node::Cmux(34, 13, 8),
2657 Node::None,
2658 Node::None,
2659 Node::None,
2660 Node::None,
2661 Node::None,
2662 Node::Cmux(34, 6, 4),
2663 Node::None,
2664 Node::None,
2665 Node::None,
2666 Node::Cmux(34, 12, 2),
2667 Node::Cmux(34, 10, 3),
2668 Node::None,
2669 Node::None,
2670 Node::None,
2671 Node::None,
2672 Node::None,
2673 Node::None,
2674 Node::None,
2675 Node::None,
2676 Node::None,
2677 Node::None,
2678 Node::None,
2679 Node::None,
2680 Node::None,
2681 Node::None,
2682 Node::None,
2683 Node::None,
2684 Node::None,
2685 Node::None,
2686 Node::None,
2687 Node::Cmux(33, 10, 0),
2688 Node::None,
2689 Node::Cmux(33, 6, 11),
2690 Node::Cmux(32, 16, 14),
2691 Node::None,
2692 Node::None,
2693 Node::None,
2694 Node::None,
2695 Node::None,
2696 Node::None,
2697 Node::None,
2698 Node::None,
2699 Node::None,
2700 Node::None,
2701 Node::None,
2702 Node::None,
2703 Node::None,
2704 Node::None,
2705 Node::None,
2706 Node::None,
2707 ],
2708 17,
2709 )),
2710 AnyBitCircuit::B17(BitCircuit::new(
2711 [
2712 Node::Copy,
2713 Node::Cmux(29, 1, 0),
2714 Node::Cmux(18, 1, 0),
2715 Node::Cmux(31, 1, 0),
2716 Node::Cmux(26, 1, 0),
2717 Node::Cmux(25, 1, 0),
2718 Node::Cmux(27, 1, 0),
2719 Node::Cmux(30, 1, 0),
2720 Node::Cmux(23, 1, 0),
2721 Node::Cmux(22, 1, 0),
2722 Node::Cmux(17, 1, 0),
2723 Node::Cmux(19, 1, 0),
2724 Node::Cmux(21, 1, 0),
2725 Node::Cmux(28, 1, 0),
2726 Node::Cmux(20, 1, 0),
2727 Node::Cmux(24, 1, 0),
2728 Node::Copy,
2729 Node::Cmux(36, 0, 13),
2730 Node::Cmux(36, 0, 12),
2731 Node::Cmux(36, 0, 4),
2732 Node::Cmux(36, 0, 10),
2733 Node::Cmux(36, 0, 8),
2734 Node::Cmux(36, 0, 5),
2735 Node::Cmux(36, 0, 6),
2736 Node::Cmux(36, 0, 15),
2737 Node::Cmux(36, 0, 9),
2738 Node::Cmux(36, 0, 7),
2739 Node::Cmux(36, 0, 3),
2740 Node::Cmux(36, 0, 11),
2741 Node::Cmux(36, 0, 14),
2742 Node::Cmux(36, 0, 1),
2743 Node::Cmux(36, 0, 2),
2744 Node::Cmux(35, 1, 13),
2745 Node::Cmux(35, 6, 4),
2746 Node::None,
2747 Node::None,
2748 Node::None,
2749 Node::None,
2750 Node::Cmux(35, 7, 12),
2751 Node::Cmux(35, 14, 2),
2752 Node::Cmux(35, 3, 15),
2753 Node::Cmux(35, 11, 5),
2754 Node::None,
2755 Node::None,
2756 Node::None,
2757 Node::Cmux(35, 10, 9),
2758 Node::Cmux(35, 0, 8),
2759 Node::None,
2760 Node::Cmux(34, 13, 8),
2761 Node::None,
2762 Node::None,
2763 Node::None,
2764 Node::None,
2765 Node::None,
2766 Node::None,
2767 Node::None,
2768 Node::None,
2769 Node::Cmux(34, 7, 1),
2770 Node::Cmux(34, 14, 0),
2771 Node::None,
2772 Node::None,
2773 Node::Cmux(34, 9, 6),
2774 Node::None,
2775 Node::None,
2776 Node::None,
2777 Node::None,
2778 Node::None,
2779 Node::None,
2780 Node::None,
2781 Node::None,
2782 Node::None,
2783 Node::None,
2784 Node::None,
2785 Node::None,
2786 Node::None,
2787 Node::Cmux(33, 13, 9),
2788 Node::None,
2789 Node::None,
2790 Node::Cmux(33, 10, 0),
2791 Node::None,
2792 Node::Cmux(32, 14, 11),
2793 Node::None,
2794 Node::None,
2795 Node::None,
2796 Node::None,
2797 Node::None,
2798 Node::None,
2799 Node::None,
2800 Node::None,
2801 Node::None,
2802 Node::None,
2803 Node::None,
2804 Node::None,
2805 Node::None,
2806 Node::None,
2807 Node::None,
2808 ],
2809 16,
2810 )),
2811 AnyBitCircuit::B18(BitCircuit::new(
2812 [
2813 Node::Copy,
2814 Node::Cmux(22, 1, 0),
2815 Node::Cmux(30, 1, 0),
2816 Node::Cmux(29, 1, 0),
2817 Node::Cmux(21, 1, 0),
2818 Node::Cmux(27, 1, 0),
2819 Node::Cmux(31, 1, 0),
2820 Node::Cmux(23, 1, 0),
2821 Node::Cmux(19, 1, 0),
2822 Node::Cmux(25, 1, 0),
2823 Node::Cmux(26, 1, 0),
2824 Node::Cmux(18, 1, 0),
2825 Node::Cmux(28, 1, 0),
2826 Node::Cmux(20, 1, 0),
2827 Node::Cmux(24, 1, 0),
2828 Node::Copy,
2829 Node::Cmux(36, 0, 14),
2830 Node::Cmux(36, 0, 5),
2831 Node::Cmux(36, 0, 7),
2832 Node::Cmux(36, 0, 9),
2833 Node::Cmux(36, 0, 4),
2834 Node::Cmux(36, 0, 3),
2835 Node::Cmux(36, 0, 12),
2836 Node::Cmux(36, 0, 11),
2837 Node::Cmux(36, 0, 10),
2838 Node::Cmux(36, 0, 2),
2839 Node::Cmux(36, 0, 1),
2840 Node::Cmux(36, 0, 8),
2841 Node::Cmux(36, 0, 6),
2842 Node::Cmux(36, 0, 13),
2843 Node::None,
2844 Node::Cmux(35, 10, 11),
2845 Node::Cmux(35, 7, 14),
2846 Node::None,
2847 Node::None,
2848 Node::None,
2849 Node::None,
2850 Node::Cmux(35, 9, 8),
2851 Node::Cmux(35, 6, 5),
2852 Node::Cmux(35, 0, 4),
2853 Node::Cmux(35, 2, 12),
2854 Node::None,
2855 Node::Cmux(35, 0, 1),
2856 Node::None,
2857 Node::Cmux(35, 13, 3),
2858 Node::None,
2859 Node::None,
2860 Node::None,
2861 Node::None,
2862 Node::None,
2863 Node::None,
2864 Node::None,
2865 Node::None,
2866 Node::Cmux(34, 9, 8),
2867 Node::Cmux(34, 1, 7),
2868 Node::Cmux(34, 14, 10),
2869 Node::None,
2870 Node::None,
2871 Node::None,
2872 Node::Cmux(34, 12, 2),
2873 Node::None,
2874 Node::None,
2875 Node::None,
2876 Node::Cmux(33, 8, 10),
2877 Node::None,
2878 Node::Cmux(33, 14, 9),
2879 Node::None,
2880 Node::None,
2881 Node::None,
2882 Node::None,
2883 Node::None,
2884 Node::None,
2885 Node::None,
2886 Node::None,
2887 Node::None,
2888 Node::Cmux(32, 3, 5),
2889 Node::None,
2890 Node::None,
2891 Node::None,
2892 Node::None,
2893 Node::None,
2894 Node::None,
2895 Node::None,
2896 Node::None,
2897 Node::None,
2898 Node::None,
2899 Node::None,
2900 Node::None,
2901 Node::None,
2902 Node::None,
2903 ],
2904 15,
2905 )),
2906 AnyBitCircuit::B19(BitCircuit::new(
2907 [
2908 Node::Copy,
2909 Node::Cmux(31, 1, 0),
2910 Node::Cmux(20, 1, 0),
2911 Node::Cmux(30, 1, 0),
2912 Node::Cmux(27, 1, 0),
2913 Node::Cmux(24, 1, 0),
2914 Node::Cmux(28, 1, 0),
2915 Node::Cmux(21, 1, 0),
2916 Node::Cmux(26, 1, 0),
2917 Node::Cmux(19, 1, 0),
2918 Node::Cmux(22, 1, 0),
2919 Node::Cmux(29, 1, 0),
2920 Node::Cmux(25, 1, 0),
2921 Node::Cmux(23, 1, 0),
2922 Node::Copy,
2923 Node::Cmux(36, 0, 1),
2924 Node::Cmux(36, 0, 3),
2925 Node::Cmux(36, 0, 13),
2926 Node::Cmux(36, 0, 11),
2927 Node::Cmux(36, 0, 10),
2928 Node::Cmux(36, 0, 6),
2929 Node::Cmux(36, 0, 5),
2930 Node::Cmux(36, 0, 4),
2931 Node::Cmux(36, 0, 7),
2932 Node::Cmux(36, 0, 8),
2933 Node::Cmux(36, 0, 9),
2934 Node::Cmux(36, 0, 12),
2935 Node::Cmux(36, 0, 2),
2936 Node::Cmux(35, 4, 9),
2937 Node::Cmux(35, 1, 3),
2938 Node::Cmux(35, 0, 12),
2939 Node::Cmux(35, 0, 10),
2940 Node::None,
2941 Node::None,
2942 Node::None,
2943 Node::Cmux(35, 6, 13),
2944 Node::Cmux(35, 2, 5),
2945 Node::Cmux(35, 8, 11),
2946 Node::Cmux(35, 0, 7),
2947 Node::None,
2948 Node::None,
2949 Node::None,
2950 Node::Cmux(34, 3, 8),
2951 Node::None,
2952 Node::None,
2953 Node::Cmux(34, 1, 9),
2954 Node::None,
2955 Node::None,
2956 Node::Cmux(34, 10, 7),
2957 Node::None,
2958 Node::None,
2959 Node::None,
2960 Node::Cmux(34, 2, 0),
2961 Node::None,
2962 Node::None,
2963 Node::None,
2964 Node::None,
2965 Node::None,
2966 Node::None,
2967 Node::None,
2968 Node::None,
2969 Node::None,
2970 Node::Cmux(33, 0, 6),
2971 Node::None,
2972 Node::None,
2973 Node::None,
2974 Node::None,
2975 Node::None,
2976 Node::None,
2977 Node::Cmux(33, 10, 3),
2978 Node::Cmux(32, 6, 13),
2979 Node::None,
2980 Node::None,
2981 Node::None,
2982 Node::None,
2983 Node::None,
2984 Node::None,
2985 Node::None,
2986 Node::None,
2987 Node::None,
2988 Node::None,
2989 Node::None,
2990 Node::None,
2991 Node::None,
2992 ],
2993 14,
2994 )),
2995 AnyBitCircuit::B20(BitCircuit::new(
2996 [
2997 Node::Copy,
2998 Node::Cmux(29, 1, 0),
2999 Node::Cmux(27, 1, 0),
3000 Node::Cmux(21, 1, 0),
3001 Node::Cmux(20, 1, 0),
3002 Node::Cmux(31, 1, 0),
3003 Node::Cmux(22, 1, 0),
3004 Node::Cmux(28, 1, 0),
3005 Node::Cmux(26, 1, 0),
3006 Node::Cmux(23, 1, 0),
3007 Node::Cmux(24, 1, 0),
3008 Node::Cmux(30, 1, 0),
3009 Node::Cmux(25, 1, 0),
3010 Node::Copy,
3011 Node::Cmux(36, 0, 8),
3012 Node::Cmux(36, 0, 4),
3013 Node::Cmux(36, 0, 7),
3014 Node::Cmux(36, 0, 9),
3015 Node::Cmux(36, 0, 3),
3016 Node::Cmux(36, 0, 12),
3017 Node::Cmux(36, 0, 11),
3018 Node::Cmux(36, 0, 2),
3019 Node::Cmux(36, 0, 5),
3020 Node::Cmux(36, 0, 10),
3021 Node::Cmux(36, 0, 6),
3022 Node::Cmux(36, 0, 1),
3023 Node::Cmux(35, 9, 4),
3024 Node::None,
3025 Node::Cmux(35, 7, 11),
3026 Node::Cmux(35, 0, 1),
3027 Node::Cmux(35, 0, 10),
3028 Node::None,
3029 Node::None,
3030 Node::Cmux(35, 3, 2),
3031 Node::Cmux(35, 12, 5),
3032 Node::None,
3033 Node::Cmux(35, 0, 8),
3034 Node::Cmux(35, 0, 6),
3035 Node::None,
3036 Node::Cmux(34, 11, 8),
3037 Node::None,
3038 Node::None,
3039 Node::Cmux(34, 3, 2),
3040 Node::None,
3041 Node::None,
3042 Node::Cmux(34, 10, 0),
3043 Node::None,
3044 Node::Cmux(34, 4, 7),
3045 Node::None,
3046 Node::None,
3047 Node::None,
3048 Node::None,
3049 Node::Cmux(33, 3, 8),
3050 Node::None,
3051 Node::Cmux(33, 6, 0),
3052 Node::None,
3053 Node::None,
3054 Node::None,
3055 Node::None,
3056 Node::None,
3057 Node::None,
3058 Node::None,
3059 Node::None,
3060 Node::None,
3061 Node::None,
3062 Node::Cmux(32, 2, 0),
3063 Node::None,
3064 Node::None,
3065 Node::None,
3066 Node::None,
3067 Node::None,
3068 Node::None,
3069 Node::None,
3070 Node::None,
3071 Node::None,
3072 Node::None,
3073 Node::None,
3074 Node::None,
3075 ],
3076 13,
3077 )),
3078 AnyBitCircuit::B21(BitCircuit::new(
3079 [
3080 Node::Copy,
3081 Node::Cmux(21, 1, 0),
3082 Node::Cmux(28, 1, 0),
3083 Node::Cmux(24, 1, 0),
3084 Node::Cmux(31, 1, 0),
3085 Node::Cmux(25, 1, 0),
3086 Node::Cmux(30, 1, 0),
3087 Node::Cmux(26, 1, 0),
3088 Node::Cmux(27, 1, 0),
3089 Node::Cmux(29, 1, 0),
3090 Node::Cmux(23, 1, 0),
3091 Node::Cmux(22, 1, 0),
3092 Node::Copy,
3093 Node::Cmux(36, 0, 10),
3094 Node::Cmux(36, 0, 3),
3095 Node::Cmux(36, 0, 1),
3096 Node::Cmux(36, 0, 5),
3097 Node::Cmux(36, 0, 2),
3098 Node::Cmux(36, 0, 8),
3099 Node::Cmux(36, 0, 6),
3100 Node::Cmux(36, 0, 9),
3101 Node::Cmux(36, 0, 11),
3102 Node::Cmux(36, 0, 4),
3103 Node::Cmux(36, 0, 7),
3104 Node::Cmux(35, 7, 9),
3105 Node::Cmux(35, 0, 2),
3106 Node::Cmux(35, 0, 5),
3107 Node::Cmux(35, 0, 6),
3108 Node::None,
3109 Node::Cmux(35, 0, 11),
3110 Node::Cmux(35, 8, 3),
3111 Node::None,
3112 Node::Cmux(35, 0, 4),
3113 Node::None,
3114 Node::Cmux(35, 10, 1),
3115 Node::None,
3116 Node::None,
3117 Node::None,
3118 Node::None,
3119 Node::None,
3120 Node::None,
3121 Node::None,
3122 Node::None,
3123 Node::Cmux(34, 5, 0),
3124 Node::Cmux(34, 2, 1),
3125 Node::Cmux(34, 8, 6),
3126 Node::Cmux(34, 3, 10),
3127 Node::None,
3128 Node::None,
3129 Node::None,
3130 Node::None,
3131 Node::Cmux(33, 10, 9),
3132 Node::None,
3133 Node::None,
3134 Node::Cmux(33, 8, 7),
3135 Node::None,
3136 Node::None,
3137 Node::None,
3138 Node::None,
3139 Node::None,
3140 Node::Cmux(32, 6, 3),
3141 Node::None,
3142 Node::None,
3143 Node::None,
3144 Node::None,
3145 Node::None,
3146 Node::None,
3147 Node::None,
3148 Node::None,
3149 Node::None,
3150 Node::None,
3151 Node::None,
3152 ],
3153 12,
3154 )),
3155 AnyBitCircuit::B22(BitCircuit::new(
3156 [
3157 Node::Copy,
3158 Node::Cmux(22, 1, 0),
3159 Node::Cmux(29, 1, 0),
3160 Node::Cmux(30, 1, 0),
3161 Node::Cmux(31, 1, 0),
3162 Node::Cmux(24, 1, 0),
3163 Node::Cmux(28, 1, 0),
3164 Node::Cmux(23, 1, 0),
3165 Node::Cmux(27, 1, 0),
3166 Node::Cmux(25, 1, 0),
3167 Node::Cmux(26, 1, 0),
3168 Node::Copy,
3169 Node::Cmux(36, 0, 9),
3170 Node::Cmux(36, 0, 2),
3171 Node::Cmux(36, 0, 5),
3172 Node::Cmux(36, 0, 3),
3173 Node::Cmux(36, 0, 1),
3174 Node::Cmux(36, 0, 7),
3175 Node::Cmux(36, 0, 8),
3176 Node::Cmux(36, 0, 4),
3177 Node::Cmux(36, 0, 6),
3178 Node::Cmux(36, 0, 10),
3179 Node::None,
3180 Node::Cmux(35, 0, 3),
3181 Node::Cmux(35, 0, 10),
3182 Node::Cmux(35, 0, 2),
3183 Node::Cmux(35, 0, 9),
3184 Node::Cmux(35, 0, 7),
3185 Node::None,
3186 Node::Cmux(35, 4, 5),
3187 Node::Cmux(35, 8, 6),
3188 Node::None,
3189 Node::Cmux(35, 0, 1),
3190 Node::None,
3191 Node::None,
3192 Node::None,
3193 Node::Cmux(34, 4, 1),
3194 Node::Cmux(34, 2, 7),
3195 Node::None,
3196 Node::None,
3197 Node::None,
3198 Node::Cmux(34, 3, 10),
3199 Node::None,
3200 Node::Cmux(34, 5, 8),
3201 Node::None,
3202 Node::Cmux(33, 8, 10),
3203 Node::None,
3204 Node::Cmux(33, 3, 4),
3205 Node::None,
3206 Node::None,
3207 Node::None,
3208 Node::None,
3209 Node::None,
3210 Node::None,
3211 Node::None,
3212 Node::Cmux(32, 1, 3),
3213 Node::None,
3214 Node::None,
3215 Node::None,
3216 Node::None,
3217 Node::None,
3218 Node::None,
3219 Node::None,
3220 Node::None,
3221 Node::None,
3222 Node::None,
3223 ],
3224 11,
3225 )),
3226 AnyBitCircuit::B23(BitCircuit::new(
3227 [
3228 Node::Copy,
3229 Node::Cmux(23, 1, 0),
3230 Node::Cmux(26, 1, 0),
3231 Node::Cmux(29, 1, 0),
3232 Node::Cmux(27, 1, 0),
3233 Node::Cmux(31, 1, 0),
3234 Node::Cmux(25, 1, 0),
3235 Node::Cmux(24, 1, 0),
3236 Node::Cmux(28, 1, 0),
3237 Node::Cmux(30, 1, 0),
3238 Node::Copy,
3239 Node::Cmux(36, 0, 4),
3240 Node::Cmux(36, 0, 7),
3241 Node::Cmux(36, 0, 5),
3242 Node::Cmux(36, 0, 8),
3243 Node::Cmux(36, 0, 3),
3244 Node::Cmux(36, 0, 6),
3245 Node::Cmux(36, 0, 9),
3246 Node::Cmux(36, 0, 2),
3247 Node::Cmux(36, 0, 1),
3248 Node::Cmux(35, 0, 4),
3249 Node::Cmux(35, 0, 1),
3250 Node::None,
3251 Node::Cmux(35, 0, 7),
3252 Node::None,
3253 Node::Cmux(35, 0, 6),
3254 Node::Cmux(35, 0, 2),
3255 Node::Cmux(35, 0, 5),
3256 Node::Cmux(35, 0, 8),
3257 Node::Cmux(35, 3, 9),
3258 Node::None,
3259 Node::None,
3260 Node::Cmux(34, 0, 6),
3261 Node::Cmux(34, 3, 8),
3262 Node::None,
3263 Node::Cmux(34, 1, 9),
3264 Node::None,
3265 Node::None,
3266 Node::None,
3267 Node::Cmux(34, 7, 5),
3268 Node::Cmux(33, 9, 5),
3269 Node::None,
3270 Node::None,
3271 Node::None,
3272 Node::None,
3273 Node::None,
3274 Node::None,
3275 Node::None,
3276 Node::None,
3277 Node::Cmux(33, 3, 2),
3278 Node::Cmux(32, 9, 0),
3279 Node::None,
3280 Node::None,
3281 Node::None,
3282 Node::None,
3283 Node::None,
3284 Node::None,
3285 Node::None,
3286 Node::None,
3287 Node::None,
3288 ],
3289 10,
3290 )),
3291 AnyBitCircuit::B24(BitCircuit::new(
3292 [
3293 Node::Copy,
3294 Node::Cmux(26, 1, 0),
3295 Node::Cmux(29, 1, 0),
3296 Node::Cmux(30, 1, 0),
3297 Node::Cmux(27, 1, 0),
3298 Node::Cmux(24, 1, 0),
3299 Node::Cmux(25, 1, 0),
3300 Node::Cmux(28, 1, 0),
3301 Node::Cmux(31, 1, 0),
3302 Node::Copy,
3303 Node::Cmux(36, 0, 6),
3304 Node::Cmux(36, 0, 4),
3305 Node::Cmux(36, 0, 2),
3306 Node::Cmux(36, 0, 5),
3307 Node::Cmux(36, 0, 3),
3308 Node::Cmux(36, 0, 1),
3309 Node::Cmux(36, 0, 8),
3310 Node::Cmux(36, 0, 7),
3311 Node::Cmux(35, 0, 7),
3312 Node::Cmux(35, 0, 8),
3313 Node::Cmux(35, 0, 1),
3314 Node::Cmux(35, 0, 2),
3315 Node::Cmux(35, 0, 6),
3316 Node::Cmux(35, 0, 3),
3317 Node::None,
3318 Node::Cmux(35, 0, 4),
3319 Node::Cmux(35, 0, 5),
3320 Node::Cmux(34, 5, 2),
3321 Node::Cmux(34, 1, 7),
3322 Node::None,
3323 Node::None,
3324 Node::None,
3325 Node::Cmux(34, 8, 4),
3326 Node::None,
3327 Node::Cmux(34, 0, 3),
3328 Node::None,
3329 Node::None,
3330 Node::Cmux(33, 5, 1),
3331 Node::None,
3332 Node::Cmux(33, 7, 0),
3333 Node::None,
3334 Node::None,
3335 Node::None,
3336 Node::None,
3337 Node::None,
3338 Node::Cmux(32, 3, 1),
3339 Node::None,
3340 Node::None,
3341 Node::None,
3342 Node::None,
3343 Node::None,
3344 Node::None,
3345 Node::None,
3346 Node::None,
3347 ],
3348 9,
3349 )),
3350 AnyBitCircuit::B25(BitCircuit::new(
3351 [
3352 Node::Copy,
3353 Node::Cmux(28, 1, 0),
3354 Node::Cmux(30, 1, 0),
3355 Node::Cmux(31, 1, 0),
3356 Node::Cmux(25, 1, 0),
3357 Node::Cmux(27, 1, 0),
3358 Node::Cmux(29, 1, 0),
3359 Node::Cmux(26, 1, 0),
3360 Node::Copy,
3361 Node::Cmux(36, 0, 1),
3362 Node::Cmux(36, 0, 5),
3363 Node::Cmux(36, 0, 6),
3364 Node::Cmux(36, 0, 4),
3365 Node::Cmux(36, 0, 2),
3366 Node::Cmux(36, 0, 3),
3367 Node::Cmux(36, 0, 7),
3368 Node::Copy,
3369 Node::Cmux(35, 0, 7),
3370 Node::Cmux(35, 0, 1),
3371 Node::Cmux(35, 0, 4),
3372 Node::Cmux(35, 0, 3),
3373 Node::Cmux(35, 0, 5),
3374 Node::Cmux(35, 0, 2),
3375 Node::Cmux(35, 0, 6),
3376 Node::Cmux(34, 0, 2),
3377 Node::None,
3378 Node::None,
3379 Node::Cmux(34, 4, 3),
3380 Node::Cmux(34, 5, 1),
3381 Node::Cmux(34, 7, 6),
3382 Node::None,
3383 Node::None,
3384 Node::Cmux(33, 5, 3),
3385 Node::None,
3386 Node::None,
3387 Node::Cmux(33, 0, 4),
3388 Node::None,
3389 Node::None,
3390 Node::None,
3391 Node::None,
3392 Node::Cmux(32, 3, 0),
3393 Node::None,
3394 Node::None,
3395 Node::None,
3396 Node::None,
3397 Node::None,
3398 Node::None,
3399 Node::None,
3400 ],
3401 8,
3402 )),
3403 AnyBitCircuit::B26(BitCircuit::new(
3404 [
3405 Node::Copy,
3406 Node::Cmux(26, 1, 0),
3407 Node::Cmux(27, 1, 0),
3408 Node::Cmux(29, 1, 0),
3409 Node::Cmux(28, 1, 0),
3410 Node::Cmux(31, 1, 0),
3411 Node::Cmux(30, 1, 0),
3412 Node::Copy,
3413 Node::Cmux(36, 0, 2),
3414 Node::Cmux(36, 0, 3),
3415 Node::Cmux(36, 0, 5),
3416 Node::Cmux(36, 0, 1),
3417 Node::Cmux(36, 0, 4),
3418 Node::Cmux(36, 0, 6),
3419 Node::Copy,
3420 Node::Cmux(35, 0, 5),
3421 Node::Cmux(35, 0, 4),
3422 Node::Cmux(35, 0, 3),
3423 Node::Cmux(35, 0, 2),
3424 Node::Cmux(35, 0, 6),
3425 Node::Cmux(35, 0, 1),
3426 Node::None,
3427 Node::Cmux(34, 3, 6),
3428 Node::Cmux(34, 0, 4),
3429 Node::None,
3430 Node::Cmux(34, 0, 1),
3431 Node::Cmux(34, 5, 2),
3432 Node::None,
3433 Node::Cmux(33, 4, 5),
3434 Node::None,
3435 Node::None,
3436 Node::Cmux(33, 2, 1),
3437 Node::None,
3438 Node::None,
3439 Node::None,
3440 Node::Cmux(32, 3, 0),
3441 Node::None,
3442 Node::None,
3443 Node::None,
3444 Node::None,
3445 Node::None,
3446 Node::None,
3447 ],
3448 7,
3449 )),
3450 AnyBitCircuit::B27(BitCircuit::new(
3451 [
3452 Node::Copy,
3453 Node::Cmux(31, 1, 0),
3454 Node::Cmux(28, 1, 0),
3455 Node::Cmux(30, 1, 0),
3456 Node::Cmux(29, 1, 0),
3457 Node::Cmux(27, 1, 0),
3458 Node::Copy,
3459 Node::Cmux(36, 0, 2),
3460 Node::Cmux(36, 0, 5),
3461 Node::Cmux(36, 0, 1),
3462 Node::Cmux(36, 0, 4),
3463 Node::Cmux(36, 0, 3),
3464 Node::Copy,
3465 Node::Cmux(35, 0, 5),
3466 Node::Cmux(35, 0, 1),
3467 Node::Cmux(35, 0, 4),
3468 Node::Cmux(35, 0, 2),
3469 Node::Cmux(35, 0, 3),
3470 Node::Cmux(34, 0, 1),
3471 Node::Cmux(34, 0, 3),
3472 Node::Cmux(34, 0, 2),
3473 Node::Cmux(34, 5, 4),
3474 Node::None,
3475 Node::None,
3476 Node::None,
3477 Node::None,
3478 Node::None,
3479 Node::Cmux(33, 0, 2),
3480 Node::None,
3481 Node::Cmux(33, 1, 3),
3482 Node::Cmux(32, 3, 5),
3483 Node::None,
3484 Node::None,
3485 Node::None,
3486 Node::None,
3487 Node::None,
3488 ],
3489 6,
3490 )),
3491 AnyBitCircuit::B28(BitCircuit::new(
3492 [
3493 Node::Copy,
3494 Node::Cmux(28, 1, 0),
3495 Node::Cmux(30, 1, 0),
3496 Node::Cmux(29, 1, 0),
3497 Node::Cmux(31, 1, 0),
3498 Node::Copy,
3499 Node::Cmux(36, 0, 3),
3500 Node::Cmux(36, 0, 2),
3501 Node::Cmux(36, 0, 4),
3502 Node::Cmux(36, 0, 1),
3503 Node::Copy,
3504 Node::Cmux(35, 0, 1),
3505 Node::Cmux(35, 0, 4),
3506 Node::Cmux(35, 0, 2),
3507 Node::Cmux(35, 0, 3),
3508 Node::Cmux(34, 0, 2),
3509 Node::Cmux(34, 0, 1),
3510 Node::Cmux(34, 0, 3),
3511 Node::None,
3512 Node::Cmux(34, 0, 4),
3513 Node::Cmux(33, 2, 0),
3514 Node::None,
3515 Node::Cmux(33, 4, 1),
3516 Node::None,
3517 Node::None,
3518 Node::Cmux(32, 2, 0),
3519 Node::None,
3520 Node::None,
3521 Node::None,
3522 Node::None,
3523 ],
3524 5,
3525 )),
3526 AnyBitCircuit::B29(BitCircuit::new(
3527 [
3528 Node::Copy,
3529 Node::Cmux(30, 1, 0),
3530 Node::Cmux(29, 1, 0),
3531 Node::Cmux(31, 1, 0),
3532 Node::Copy,
3533 Node::Cmux(36, 0, 2),
3534 Node::Cmux(36, 0, 1),
3535 Node::Cmux(36, 0, 3),
3536 Node::Copy,
3537 Node::Cmux(35, 0, 1),
3538 Node::Cmux(35, 0, 3),
3539 Node::Cmux(35, 0, 2),
3540 Node::Copy,
3541 Node::Cmux(34, 0, 3),
3542 Node::Cmux(34, 0, 2),
3543 Node::Cmux(34, 0, 1),
3544 Node::Cmux(33, 2, 3),
3545 Node::None,
3546 Node::Cmux(33, 0, 1),
3547 Node::None,
3548 Node::Cmux(32, 2, 0),
3549 Node::None,
3550 Node::None,
3551 Node::None,
3552 ],
3553 4,
3554 )),
3555 AnyBitCircuit::B30(BitCircuit::new(
3556 [
3557 Node::Copy,
3558 Node::Cmux(30, 1, 0),
3559 Node::Cmux(31, 1, 0),
3560 Node::Copy,
3561 Node::Cmux(36, 0, 1),
3562 Node::Cmux(36, 0, 2),
3563 Node::Copy,
3564 Node::Cmux(35, 0, 1),
3565 Node::Cmux(35, 0, 2),
3566 Node::Copy,
3567 Node::Cmux(34, 0, 1),
3568 Node::Cmux(34, 0, 2),
3569 Node::Cmux(33, 0, 1),
3570 Node::None,
3571 Node::Cmux(33, 0, 2),
3572 Node::Cmux(32, 2, 0),
3573 Node::None,
3574 Node::None,
3575 ],
3576 3,
3577 )),
3578 AnyBitCircuit::B31(BitCircuit::new(
3579 [
3580 Node::Copy,
3581 Node::Cmux(31, 1, 0),
3582 Node::Copy,
3583 Node::Cmux(36, 0, 1),
3584 Node::Copy,
3585 Node::Cmux(35, 0, 1),
3586 Node::Copy,
3587 Node::Cmux(34, 0, 1),
3588 Node::Copy,
3589 Node::Cmux(33, 0, 1),
3590 Node::Cmux(32, 0, 1),
3591 Node::None,
3592 ],
3593 2,
3594 )),
3595]);