pub const V1: usize = 49;
pub const SLOTS: usize = 17;
pub const V2: usize = 3 * SLOTS + 3;
pub const SUM: usize = 3 * SLOTS;
pub const LIVE: usize = 48;
pub const GATES: usize = 4;
pub fn gate_x(g: usize) -> usize {
12 * g
}
pub fn gate_y(g: usize) -> usize {
12 * g + 3
}
pub fn gate_z(g: usize) -> usize {
12 * g + 6
}
pub fn gate_out(g: usize) -> usize {
12 * g + 9
}
pub const PX: usize = 0; pub const PY1: usize = 16;
pub const PY2: usize = 32;
pub const PY3: usize = 0; pub const PY4: usize = 16;
pub const PW: usize = 32;
pub const PY5: usize = 0; pub const PY6: usize = 16;
pub const PY7: usize = 32;
pub const PY8: usize = 0; pub const PRT: usize = 16;
pub const PBIT: usize = 20;
pub const PBIT2: usize = 21;
pub const BITS_ROW: usize = 16;
pub const BACC: usize = 16;
pub const BVAL: usize = 17;
pub const BLO: usize = 18;
pub const BMINV: usize = 19;
pub const BMAX: usize = 20;
pub mod pre {
pub const ARITH: usize = 0;
pub const BITS: usize = 1;
pub const PERM: usize = 5;
pub const MEM: usize = 9;
pub const ADDR: usize = 10;
pub const E: usize = ADDR + super::SLOTS;
pub const WIDE: usize = E + super::SLOTS;
pub const WIDES: usize = 7;
pub const GATE: usize = WIDE + WIDES;
pub const GATE_COLS: usize = 8;
pub const QM: usize = 0;
pub const QS: usize = 1;
pub const QA: usize = 2;
pub const QB: usize = 3;
pub const QC: usize = 4;
pub const QK: usize = 5;
pub const QCOMP: usize = 6;
pub const QASSERT: usize = 7;
pub fn gate(g: usize, k: usize) -> usize {
GATE + g * GATE_COLS + k
}
pub const CONT: usize = GATE + super::GATES * GATE_COLS;
pub const FRESH: usize = CONT + 1;
pub const TAGV: usize = CONT + 2;
pub const NODE: usize = CONT + 3;
pub const KEEP: usize = CONT + 4;
pub const ZERO: usize = KEEP + super::super::super::perm::RATE;
pub const ROOTCHK: usize = ZERO + super::super::super::perm::RATE;
pub const OUT: usize = ROOTCHK + 1;
pub const NODE4: usize = OUT + 1;
pub const COUNT: usize = NODE4 + 1;
pub const LOG: usize = 7;
}
pub const PIN: usize = 4;
const _: () = assert!(pre::COUNT <= 1 << pre::LOG);
const _: () = assert!(V2 <= 64);