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