Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
use std::thread;
static NEED: [u8; 21] = [43, 25, 20, 16, 15, 13, 12, 12, 11, 10, 10, 8, 8, 4, 4, 3, 3, 1, 1, 1, 1];
fn is_ok<F>(pred: F) -> bool
where F: Fn(u8) -> u8
{
let mut counts = [0; 256];
for tok in 0..256 {
counts[pred(tok as u8) as usize] += 1;
}
if counts.iter().cloned().max().unwrap() < 43 {
return false;
}
let mut counts2 = [0; 256];
let mut end = 0;
for src in counts.iter().cloned().filter(|&x| x > 0) {
counts2[end] = src;
end += 1;
}
counts2[..end].sort_by(|a, b| b.cmp(a)); // reverse
for i in 0..21 {
if counts2[i] < NEED[i] {
return false;
}
}
return true;
}
type Op = fn(u8, u8) -> u8;
fn and(x: u8, y: u8) -> u8 { x & y }
fn add(x: u8, y: u8) -> u8 { x + y }
fn xor(x: u8, y: u8) -> u8 { x ^ y }
fn or (x: u8, y: u8) -> u8 { x | y }
fn sub(x: u8, y: u8) -> u8 { x - y }
fn bus(x: u8, y: u8) -> u8 { y - x }
fn mul(x: u8, y: u8) -> u8 { x * y }
fn rsh(x: u8, y: u8) -> u8 { if y >= 8 { 0 } else { x >> y } }
fn hsr(x: u8, y: u8) -> u8 { if x >= 8 { 0 } else { y >> x } }
#[inline(always)]
fn run<Shape>(s: &'static str, n_args: usize, shape: Shape)
where Shape: Fn(Op, Op, Op, Op, u8, u8, u8, u8, u8) -> u8 + Send + Sync + Copy + 'static
{
let mut threads = Vec::new();
threads.push(thread::spawn(move || {
run_inner(s, n_args, shape, and, and, and, and, "&", "&", "&", "&");
run_inner(s, n_args, shape, and, and, and, add, "&", "&", "&", "+");
run_inner(s, n_args, shape, and, and, and, xor, "&", "&", "&", "^");
run_inner(s, n_args, shape, and, and, and, or, "&", "&", "&", "|");
run_inner(s, n_args, shape, and, and, and, sub, "&", "&", "&", "-");
run_inner(s, n_args, shape, and, and, and, bus, "&", "&", "&", "←");
run_inner(s, n_args, shape, and, and, and, mul, "&", "&", "&", "*");
run_inner(s, n_args, shape, and, and, and, rsh, "&", "&", "&", ">>");
run_inner(s, n_args, shape, and, and, and, hsr, "&", "&", "&", "<<");
run_inner(s, n_args, shape, and, and, add, and, "&", "&", "+", "&");
run_inner(s, n_args, shape, and, and, add, add, "&", "&", "+", "+");
run_inner(s, n_args, shape, and, and, add, xor, "&", "&", "+", "^");
run_inner(s, n_args, shape, and, and, add, or, "&", "&", "+", "|");
run_inner(s, n_args, shape, and, and, add, sub, "&", "&", "+", "-");
run_inner(s, n_args, shape, and, and, add, bus, "&", "&", "+", "←");
run_inner(s, n_args, shape, and, and, add, mul, "&", "&", "+", "*");
run_inner(s, n_args, shape, and, and, add, rsh, "&", "&", "+", ">>");
run_inner(s, n_args, shape, and, and, add, hsr, "&", "&", "+", "<<");
run_inner(s, n_args, shape, and, and, xor, and, "&", "&", "^", "&");
run_inner(s, n_args, shape, and, and, xor, add, "&", "&", "^", "+");
run_inner(s, n_args, shape, and, and, xor, xor, "&", "&", "^", "^");
run_inner(s, n_args, shape, and, and, xor, or, "&", "&", "^", "|");
run_inner(s, n_args, shape, and, and, xor, sub, "&", "&", "^", "-");
run_inner(s, n_args, shape, and, and, xor, bus, "&", "&", "^", "←");
run_inner(s, n_args, shape, and, and, xor, mul, "&", "&", "^", "*");
run_inner(s, n_args, shape, and, and, xor, rsh, "&", "&", "^", ">>");
run_inner(s, n_args, shape, and, and, xor, hsr, "&", "&", "^", "<<");
run_inner(s, n_args, shape, and, and, or, and, "&", "&", "|", "&");
run_inner(s, n_args, shape, and, and, or, add, "&", "&", "|", "+");
run_inner(s, n_args, shape, and, and, or, xor, "&", "&", "|", "^");
run_inner(s, n_args, shape, and, and, or, or, "&", "&", "|", "|");
run_inner(s, n_args, shape, and, and, or, sub, "&", "&", "|", "-");
run_inner(s, n_args, shape, and, and, or, bus, "&", "&", "|", "←");
run_inner(s, n_args, shape, and, and, or, mul, "&", "&", "|", "*");
run_inner(s, n_args, shape, and, and, or, rsh, "&", "&", "|", ">>");
run_inner(s, n_args, shape, and, and, or, hsr, "&", "&", "|", "<<");
run_inner(s, n_args, shape, and, and, sub, and, "&", "&", "-", "&");
run_inner(s, n_args, shape, and, and, sub, add, "&", "&", "-", "+");
run_inner(s, n_args, shape, and, and, sub, xor, "&", "&", "-", "^");
run_inner(s, n_args, shape, and, and, sub, or, "&", "&", "-", "|");
run_inner(s, n_args, shape, and, and, sub, sub, "&", "&", "-", "-");
run_inner(s, n_args, shape, and, and, sub, bus, "&", "&", "-", "←");
run_inner(s, n_args, shape, and, and, sub, mul, "&", "&", "-", "*");
run_inner(s, n_args, shape, and, and, sub, rsh, "&", "&", "-", ">>");
run_inner(s, n_args, shape, and, and, sub, hsr, "&", "&", "-", "<<");
run_inner(s, n_args, shape, and, and, bus, and, "&", "&", "←", "&");
run_inner(s, n_args, shape, and, and, bus, add, "&", "&", "←", "+");
run_inner(s, n_args, shape, and, and, bus, xor, "&", "&", "←", "^");
run_inner(s, n_args, shape, and, and, bus, or, "&", "&", "←", "|");
run_inner(s, n_args, shape, and, and, bus, sub, "&", "&", "←", "-");
run_inner(s, n_args, shape, and, and, bus, bus, "&", "&", "←", "←");
run_inner(s, n_args, shape, and, and, bus, mul, "&", "&", "←", "*");
run_inner(s, n_args, shape, and, and, bus, rsh, "&", "&", "←", ">>");
run_inner(s, n_args, shape, and, and, bus, hsr, "&", "&", "←", "<<");
run_inner(s, n_args, shape, and, and, mul, and, "&", "&", "*", "&");
run_inner(s, n_args, shape, and, and, mul, add, "&", "&", "*", "+");
run_inner(s, n_args, shape, and, and, mul, xor, "&", "&", "*", "^");
run_inner(s, n_args, shape, and, and, mul, or, "&", "&", "*", "|");
run_inner(s, n_args, shape, and, and, mul, sub, "&", "&", "*", "-");
run_inner(s, n_args, shape, and, and, mul, bus, "&", "&", "*", "←");
run_inner(s, n_args, shape, and, and, mul, mul, "&", "&", "*", "*");
run_inner(s, n_args, shape, and, and, mul, rsh, "&", "&", "*", ">>");
run_inner(s, n_args, shape, and, and, mul, hsr, "&", "&", "*", "<<");
run_inner(s, n_args, shape, and, and, rsh, and, "&", "&", ">>", "&");
run_inner(s, n_args, shape, and, and, rsh, add, "&", "&", ">>", "+");
run_inner(s, n_args, shape, and, and, rsh, xor, "&", "&", ">>", "^");
run_inner(s, n_args, shape, and, and, rsh, or, "&", "&", ">>", "|");
run_inner(s, n_args, shape, and, and, rsh, sub, "&", "&", ">>", "-");
run_inner(s, n_args, shape, and, and, rsh, bus, "&", "&", ">>", "←");
run_inner(s, n_args, shape, and, and, rsh, mul, "&", "&", ">>", "*");
run_inner(s, n_args, shape, and, and, rsh, rsh, "&", "&", ">>", ">>");
run_inner(s, n_args, shape, and, and, rsh, hsr, "&", "&", ">>", "<<");
run_inner(s, n_args, shape, and, and, hsr, and, "&", "&", "<<", "&");
run_inner(s, n_args, shape, and, and, hsr, add, "&", "&", "<<", "+");
run_inner(s, n_args, shape, and, and, hsr, xor, "&", "&", "<<", "^");
run_inner(s, n_args, shape, and, and, hsr, or, "&", "&", "<<", "|");
run_inner(s, n_args, shape, and, and, hsr, sub, "&", "&", "<<", "-");
run_inner(s, n_args, shape, and, and, hsr, bus, "&", "&", "<<", "←");
run_inner(s, n_args, shape, and, and, hsr, mul, "&", "&", "<<", "*");
run_inner(s, n_args, shape, and, and, hsr, rsh, "&", "&", "<<", ">>");
run_inner(s, n_args, shape, and, and, hsr, hsr, "&", "&", "<<", "<<");
run_inner(s, n_args, shape, and, add, and, and, "&", "+", "&", "&");
run_inner(s, n_args, shape, and, add, and, add, "&", "+", "&", "+");
run_inner(s, n_args, shape, and, add, and, xor, "&", "+", "&", "^");
run_inner(s, n_args, shape, and, add, and, or, "&", "+", "&", "|");
run_inner(s, n_args, shape, and, add, and, sub, "&", "+", "&", "-");
run_inner(s, n_args, shape, and, add, and, bus, "&", "+", "&", "←");
run_inner(s, n_args, shape, and, add, and, mul, "&", "+", "&", "*");
run_inner(s, n_args, shape, and, add, and, rsh, "&", "+", "&", ">>");
run_inner(s, n_args, shape, and, add, and, hsr, "&", "+", "&", "<<");
run_inner(s, n_args, shape, and, add, add, and, "&", "+", "+", "&");
run_inner(s, n_args, shape, and, add, add, add, "&", "+", "+", "+");
run_inner(s, n_args, shape, and, add, add, xor, "&", "+", "+", "^");
run_inner(s, n_args, shape, and, add, add, or, "&", "+", "+", "|");
run_inner(s, n_args, shape, and, add, add, sub, "&", "+", "+", "-");
run_inner(s, n_args, shape, and, add, add, bus, "&", "+", "+", "←");
run_inner(s, n_args, shape, and, add, add, mul, "&", "+", "+", "*");
run_inner(s, n_args, shape, and, add, add, rsh, "&", "+", "+", ">>");
run_inner(s, n_args, shape, and, add, add, hsr, "&", "+", "+", "<<");
run_inner(s, n_args, shape, and, add, xor, and, "&", "+", "^", "&");
run_inner(s, n_args, shape, and, add, xor, add, "&", "+", "^", "+");
run_inner(s, n_args, shape, and, add, xor, xor, "&", "+", "^", "^");
run_inner(s, n_args, shape, and, add, xor, or, "&", "+", "^", "|");
run_inner(s, n_args, shape, and, add, xor, sub, "&", "+", "^", "-");
run_inner(s, n_args, shape, and, add, xor, bus, "&", "+", "^", "←");
run_inner(s, n_args, shape, and, add, xor, mul, "&", "+", "^", "*");
run_inner(s, n_args, shape, and, add, xor, rsh, "&", "+", "^", ">>");
run_inner(s, n_args, shape, and, add, xor, hsr, "&", "+", "^", "<<");
run_inner(s, n_args, shape, and, add, or, and, "&", "+", "|", "&");
run_inner(s, n_args, shape, and, add, or, add, "&", "+", "|", "+");
run_inner(s, n_args, shape, and, add, or, xor, "&", "+", "|", "^");
run_inner(s, n_args, shape, and, add, or, or, "&", "+", "|", "|");
run_inner(s, n_args, shape, and, add, or, sub, "&", "+", "|", "-");
run_inner(s, n_args, shape, and, add, or, bus, "&", "+", "|", "←");
run_inner(s, n_args, shape, and, add, or, mul, "&", "+", "|", "*");
run_inner(s, n_args, shape, and, add, or, rsh, "&", "+", "|", ">>");
run_inner(s, n_args, shape, and, add, or, hsr, "&", "+", "|", "<<");
run_inner(s, n_args, shape, and, add, sub, and, "&", "+", "-", "&");
run_inner(s, n_args, shape, and, add, sub, add, "&", "+", "-", "+");
run_inner(s, n_args, shape, and, add, sub, xor, "&", "+", "-", "^");
run_inner(s, n_args, shape, and, add, sub, or, "&", "+", "-", "|");
run_inner(s, n_args, shape, and, add, sub, sub, "&", "+", "-", "-");
run_inner(s, n_args, shape, and, add, sub, bus, "&", "+", "-", "←");
run_inner(s, n_args, shape, and, add, sub, mul, "&", "+", "-", "*");
run_inner(s, n_args, shape, and, add, sub, rsh, "&", "+", "-", ">>");
run_inner(s, n_args, shape, and, add, sub, hsr, "&", "+", "-", "<<");
run_inner(s, n_args, shape, and, add, bus, and, "&", "+", "←", "&");
run_inner(s, n_args, shape, and, add, bus, add, "&", "+", "←", "+");
run_inner(s, n_args, shape, and, add, bus, xor, "&", "+", "←", "^");
run_inner(s, n_args, shape, and, add, bus, or, "&", "+", "←", "|");
run_inner(s, n_args, shape, and, add, bus, sub, "&", "+", "←", "-");
run_inner(s, n_args, shape, and, add, bus, bus, "&", "+", "←", "←");
run_inner(s, n_args, shape, and, add, bus, mul, "&", "+", "←", "*");
run_inner(s, n_args, shape, and, add, bus, rsh, "&", "+", "←", ">>");
run_inner(s, n_args, shape, and, add, bus, hsr, "&", "+", "←", "<<");
run_inner(s, n_args, shape, and, add, mul, and, "&", "+", "*", "&");
run_inner(s, n_args, shape, and, add, mul, add, "&", "+", "*", "+");
run_inner(s, n_args, shape, and, add, mul, xor, "&", "+", "*", "^");
run_inner(s, n_args, shape, and, add, mul, or, "&", "+", "*", "|");
run_inner(s, n_args, shape, and, add, mul, sub, "&", "+", "*", "-");
run_inner(s, n_args, shape, and, add, mul, bus, "&", "+", "*", "←");
run_inner(s, n_args, shape, and, add, mul, mul, "&", "+", "*", "*");
run_inner(s, n_args, shape, and, add, mul, rsh, "&", "+", "*", ">>");
run_inner(s, n_args, shape, and, add, mul, hsr, "&", "+", "*", "<<");
run_inner(s, n_args, shape, and, add, rsh, and, "&", "+", ">>", "&");
run_inner(s, n_args, shape, and, add, rsh, add, "&", "+", ">>", "+");
run_inner(s, n_args, shape, and, add, rsh, xor, "&", "+", ">>", "^");
run_inner(s, n_args, shape, and, add, rsh, or, "&", "+", ">>", "|");
run_inner(s, n_args, shape, and, add, rsh, sub, "&", "+", ">>", "-");
run_inner(s, n_args, shape, and, add, rsh, bus, "&", "+", ">>", "←");
run_inner(s, n_args, shape, and, add, rsh, mul, "&", "+", ">>", "*");
run_inner(s, n_args, shape, and, add, rsh, rsh, "&", "+", ">>", ">>");
run_inner(s, n_args, shape, and, add, rsh, hsr, "&", "+", ">>", "<<");
run_inner(s, n_args, shape, and, add, hsr, and, "&", "+", "<<", "&");
run_inner(s, n_args, shape, and, add, hsr, add, "&", "+", "<<", "+");
run_inner(s, n_args, shape, and, add, hsr, xor, "&", "+", "<<", "^");
run_inner(s, n_args, shape, and, add, hsr, or, "&", "+", "<<", "|");
run_inner(s, n_args, shape, and, add, hsr, sub, "&", "+", "<<", "-");
run_inner(s, n_args, shape, and, add, hsr, bus, "&", "+", "<<", "←");
run_inner(s, n_args, shape, and, add, hsr, mul, "&", "+", "<<", "*");
run_inner(s, n_args, shape, and, add, hsr, rsh, "&", "+", "<<", ">>");
run_inner(s, n_args, shape, and, add, hsr, hsr, "&", "+", "<<", "<<");
run_inner(s, n_args, shape, and, xor, and, and, "&", "^", "&", "&");
run_inner(s, n_args, shape, and, xor, and, add, "&", "^", "&", "+");
run_inner(s, n_args, shape, and, xor, and, xor, "&", "^", "&", "^");
run_inner(s, n_args, shape, and, xor, and, or, "&", "^", "&", "|");
run_inner(s, n_args, shape, and, xor, and, sub, "&", "^", "&", "-");
run_inner(s, n_args, shape, and, xor, and, bus, "&", "^", "&", "←");
run_inner(s, n_args, shape, and, xor, and, mul, "&", "^", "&", "*");
run_inner(s, n_args, shape, and, xor, and, rsh, "&", "^", "&", ">>");
run_inner(s, n_args, shape, and, xor, and, hsr, "&", "^", "&", "<<");
run_inner(s, n_args, shape, and, xor, add, and, "&", "^", "+", "&");
run_inner(s, n_args, shape, and, xor, add, add, "&", "^", "+", "+");
run_inner(s, n_args, shape, and, xor, add, xor, "&", "^", "+", "^");
run_inner(s, n_args, shape, and, xor, add, or, "&", "^", "+", "|");
run_inner(s, n_args, shape, and, xor, add, sub, "&", "^", "+", "-");
run_inner(s, n_args, shape, and, xor, add, bus, "&", "^", "+", "←");
run_inner(s, n_args, shape, and, xor, add, mul, "&", "^", "+", "*");
run_inner(s, n_args, shape, and, xor, add, rsh, "&", "^", "+", ">>");
run_inner(s, n_args, shape, and, xor, add, hsr, "&", "^", "+", "<<");
run_inner(s, n_args, shape, and, xor, xor, and, "&", "^", "^", "&");
run_inner(s, n_args, shape, and, xor, xor, add, "&", "^", "^", "+");
run_inner(s, n_args, shape, and, xor, xor, xor, "&", "^", "^", "^");
run_inner(s, n_args, shape, and, xor, xor, or, "&", "^", "^", "|");
run_inner(s, n_args, shape, and, xor, xor, sub, "&", "^", "^", "-");
run_inner(s, n_args, shape, and, xor, xor, bus, "&", "^", "^", "←");
run_inner(s, n_args, shape, and, xor, xor, mul, "&", "^", "^", "*");
run_inner(s, n_args, shape, and, xor, xor, rsh, "&", "^", "^", ">>");
run_inner(s, n_args, shape, and, xor, xor, hsr, "&", "^", "^", "<<");
run_inner(s, n_args, shape, and, xor, or, and, "&", "^", "|", "&");
run_inner(s, n_args, shape, and, xor, or, add, "&", "^", "|", "+");
run_inner(s, n_args, shape, and, xor, or, xor, "&", "^", "|", "^");
run_inner(s, n_args, shape, and, xor, or, or, "&", "^", "|", "|");
run_inner(s, n_args, shape, and, xor, or, sub, "&", "^", "|", "-");
run_inner(s, n_args, shape, and, xor, or, bus, "&", "^", "|", "←");
run_inner(s, n_args, shape, and, xor, or, mul, "&", "^", "|", "*");
run_inner(s, n_args, shape, and, xor, or, rsh, "&", "^", "|", ">>");
run_inner(s, n_args, shape, and, xor, or, hsr, "&", "^", "|", "<<");
run_inner(s, n_args, shape, and, xor, sub, and, "&", "^", "-", "&");
run_inner(s, n_args, shape, and, xor, sub, add, "&", "^", "-", "+");
run_inner(s, n_args, shape, and, xor, sub, xor, "&", "^", "-", "^");
run_inner(s, n_args, shape, and, xor, sub, or, "&", "^", "-", "|");
run_inner(s, n_args, shape, and, xor, sub, sub, "&", "^", "-", "-");
run_inner(s, n_args, shape, and, xor, sub, bus, "&", "^", "-", "←");
run_inner(s, n_args, shape, and, xor, sub, mul, "&", "^", "-", "*");
run_inner(s, n_args, shape, and, xor, sub, rsh, "&", "^", "-", ">>");
run_inner(s, n_args, shape, and, xor, sub, hsr, "&", "^", "-", "<<");
run_inner(s, n_args, shape, and, xor, bus, and, "&", "^", "←", "&");
run_inner(s, n_args, shape, and, xor, bus, add, "&", "^", "←", "+");
run_inner(s, n_args, shape, and, xor, bus, xor, "&", "^", "←", "^");
run_inner(s, n_args, shape, and, xor, bus, or, "&", "^", "←", "|");
run_inner(s, n_args, shape, and, xor, bus, sub, "&", "^", "←", "-");
run_inner(s, n_args, shape, and, xor, bus, bus, "&", "^", "←", "←");
run_inner(s, n_args, shape, and, xor, bus, mul, "&", "^", "←", "*");
run_inner(s, n_args, shape, and, xor, bus, rsh, "&", "^", "←", ">>");
run_inner(s, n_args, shape, and, xor, bus, hsr, "&", "^", "←", "<<");
run_inner(s, n_args, shape, and, xor, mul, and, "&", "^", "*", "&");
run_inner(s, n_args, shape, and, xor, mul, add, "&", "^", "*", "+");
run_inner(s, n_args, shape, and, xor, mul, xor, "&", "^", "*", "^");
run_inner(s, n_args, shape, and, xor, mul, or, "&", "^", "*", "|");
run_inner(s, n_args, shape, and, xor, mul, sub, "&", "^", "*", "-");
run_inner(s, n_args, shape, and, xor, mul, bus, "&", "^", "*", "←");
run_inner(s, n_args, shape, and, xor, mul, mul, "&", "^", "*", "*");
run_inner(s, n_args, shape, and, xor, mul, rsh, "&", "^", "*", ">>");
run_inner(s, n_args, shape, and, xor, mul, hsr, "&", "^", "*", "<<");
run_inner(s, n_args, shape, and, xor, rsh, and, "&", "^", ">>", "&");
run_inner(s, n_args, shape, and, xor, rsh, add, "&", "^", ">>", "+");
run_inner(s, n_args, shape, and, xor, rsh, xor, "&", "^", ">>", "^");
run_inner(s, n_args, shape, and, xor, rsh, or, "&", "^", ">>", "|");
run_inner(s, n_args, shape, and, xor, rsh, sub, "&", "^", ">>", "-");
run_inner(s, n_args, shape, and, xor, rsh, bus, "&", "^", ">>", "←");
run_inner(s, n_args, shape, and, xor, rsh, mul, "&", "^", ">>", "*");
run_inner(s, n_args, shape, and, xor, rsh, rsh, "&", "^", ">>", ">>");
run_inner(s, n_args, shape, and, xor, rsh, hsr, "&", "^", ">>", "<<");
run_inner(s, n_args, shape, and, xor, hsr, and, "&", "^", "<<", "&");
run_inner(s, n_args, shape, and, xor, hsr, add, "&", "^", "<<", "+");
run_inner(s, n_args, shape, and, xor, hsr, xor, "&", "^", "<<", "^");
run_inner(s, n_args, shape, and, xor, hsr, or, "&", "^", "<<", "|");
run_inner(s, n_args, shape, and, xor, hsr, sub, "&", "^", "<<", "-");
run_inner(s, n_args, shape, and, xor, hsr, bus, "&", "^", "<<", "←");
run_inner(s, n_args, shape, and, xor, hsr, mul, "&", "^", "<<", "*");
run_inner(s, n_args, shape, and, xor, hsr, rsh, "&", "^", "<<", ">>");
run_inner(s, n_args, shape, and, xor, hsr, hsr, "&", "^", "<<", "<<");
run_inner(s, n_args, shape, and, or, and, and, "&", "|", "&", "&");
run_inner(s, n_args, shape, and, or, and, add, "&", "|", "&", "+");
run_inner(s, n_args, shape, and, or, and, xor, "&", "|", "&", "^");
run_inner(s, n_args, shape, and, or, and, or, "&", "|", "&", "|");
run_inner(s, n_args, shape, and, or, and, sub, "&", "|", "&", "-");
run_inner(s, n_args, shape, and, or, and, bus, "&", "|", "&", "←");
run_inner(s, n_args, shape, and, or, and, mul, "&", "|", "&", "*");
run_inner(s, n_args, shape, and, or, and, rsh, "&", "|", "&", ">>");
run_inner(s, n_args, shape, and, or, and, hsr, "&", "|", "&", "<<");
run_inner(s, n_args, shape, and, or, add, and, "&", "|", "+", "&");
run_inner(s, n_args, shape, and, or, add, add, "&", "|", "+", "+");
run_inner(s, n_args, shape, and, or, add, xor, "&", "|", "+", "^");
run_inner(s, n_args, shape, and, or, add, or, "&", "|", "+", "|");
run_inner(s, n_args, shape, and, or, add, sub, "&", "|", "+", "-");
run_inner(s, n_args, shape, and, or, add, bus, "&", "|", "+", "←");
run_inner(s, n_args, shape, and, or, add, mul, "&", "|", "+", "*");
run_inner(s, n_args, shape, and, or, add, rsh, "&", "|", "+", ">>");
run_inner(s, n_args, shape, and, or, add, hsr, "&", "|", "+", "<<");
run_inner(s, n_args, shape, and, or, xor, and, "&", "|", "^", "&");
run_inner(s, n_args, shape, and, or, xor, add, "&", "|", "^", "+");
run_inner(s, n_args, shape, and, or, xor, xor, "&", "|", "^", "^");
run_inner(s, n_args, shape, and, or, xor, or, "&", "|", "^", "|");
run_inner(s, n_args, shape, and, or, xor, sub, "&", "|", "^", "-");
run_inner(s, n_args, shape, and, or, xor, bus, "&", "|", "^", "←");
run_inner(s, n_args, shape, and, or, xor, mul, "&", "|", "^", "*");
run_inner(s, n_args, shape, and, or, xor, rsh, "&", "|", "^", ">>");
run_inner(s, n_args, shape, and, or, xor, hsr, "&", "|", "^", "<<");
run_inner(s, n_args, shape, and, or, or, and, "&", "|", "|", "&");
run_inner(s, n_args, shape, and, or, or, add, "&", "|", "|", "+");
run_inner(s, n_args, shape, and, or, or, xor, "&", "|", "|", "^");
run_inner(s, n_args, shape, and, or, or, or, "&", "|", "|", "|");
run_inner(s, n_args, shape, and, or, or, sub, "&", "|", "|", "-");
run_inner(s, n_args, shape, and, or, or, bus, "&", "|", "|", "←");
run_inner(s, n_args, shape, and, or, or, mul, "&", "|", "|", "*");
run_inner(s, n_args, shape, and, or, or, rsh, "&", "|", "|", ">>");
run_inner(s, n_args, shape, and, or, or, hsr, "&", "|", "|", "<<");
run_inner(s, n_args, shape, and, or, sub, and, "&", "|", "-", "&");
run_inner(s, n_args, shape, and, or, sub, add, "&", "|", "-", "+");
run_inner(s, n_args, shape, and, or, sub, xor, "&", "|", "-", "^");
run_inner(s, n_args, shape, and, or, sub, or, "&", "|", "-", "|");
run_inner(s, n_args, shape, and, or, sub, sub, "&", "|", "-", "-");
run_inner(s, n_args, shape, and, or, sub, bus, "&", "|", "-", "←");
run_inner(s, n_args, shape, and, or, sub, mul, "&", "|", "-", "*");
run_inner(s, n_args, shape, and, or, sub, rsh, "&", "|", "-", ">>");
run_inner(s, n_args, shape, and, or, sub, hsr, "&", "|", "-", "<<");
run_inner(s, n_args, shape, and, or, bus, and, "&", "|", "←", "&");
run_inner(s, n_args, shape, and, or, bus, add, "&", "|", "←", "+");
run_inner(s, n_args, shape, and, or, bus, xor, "&", "|", "←", "^");
run_inner(s, n_args, shape, and, or, bus, or, "&", "|", "←", "|");
run_inner(s, n_args, shape, and, or, bus, sub, "&", "|", "←", "-");
run_inner(s, n_args, shape, and, or, bus, bus, "&", "|", "←", "←");
run_inner(s, n_args, shape, and, or, bus, mul, "&", "|", "←", "*");
run_inner(s, n_args, shape, and, or, bus, rsh, "&", "|", "←", ">>");
run_inner(s, n_args, shape, and, or, bus, hsr, "&", "|", "←", "<<");
run_inner(s, n_args, shape, and, or, mul, and, "&", "|", "*", "&");
run_inner(s, n_args, shape, and, or, mul, add, "&", "|", "*", "+");
run_inner(s, n_args, shape, and, or, mul, xor, "&", "|", "*", "^");
run_inner(s, n_args, shape, and, or, mul, or, "&", "|", "*", "|");
run_inner(s, n_args, shape, and, or, mul, sub, "&", "|", "*", "-");
run_inner(s, n_args, shape, and, or, mul, bus, "&", "|", "*", "←");
run_inner(s, n_args, shape, and, or, mul, mul, "&", "|", "*", "*");
run_inner(s, n_args, shape, and, or, mul, rsh, "&", "|", "*", ">>");
run_inner(s, n_args, shape, and, or, mul, hsr, "&", "|", "*", "<<");
run_inner(s, n_args, shape, and, or, rsh, and, "&", "|", ">>", "&");
run_inner(s, n_args, shape, and, or, rsh, add, "&", "|", ">>", "+");
run_inner(s, n_args, shape, and, or, rsh, xor, "&", "|", ">>", "^");
run_inner(s, n_args, shape, and, or, rsh, or, "&", "|", ">>", "|");
run_inner(s, n_args, shape, and, or, rsh, sub, "&", "|", ">>", "-");
run_inner(s, n_args, shape, and, or, rsh, bus, "&", "|", ">>", "←");
run_inner(s, n_args, shape, and, or, rsh, mul, "&", "|", ">>", "*");
run_inner(s, n_args, shape, and, or, rsh, rsh, "&", "|", ">>", ">>");
run_inner(s, n_args, shape, and, or, rsh, hsr, "&", "|", ">>", "<<");
run_inner(s, n_args, shape, and, or, hsr, and, "&", "|", "<<", "&");
run_inner(s, n_args, shape, and, or, hsr, add, "&", "|", "<<", "+");
run_inner(s, n_args, shape, and, or, hsr, xor, "&", "|", "<<", "^");
run_inner(s, n_args, shape, and, or, hsr, or, "&", "|", "<<", "|");
run_inner(s, n_args, shape, and, or, hsr, sub, "&", "|", "<<", "-");
run_inner(s, n_args, shape, and, or, hsr, bus, "&", "|", "<<", "←");
run_inner(s, n_args, shape, and, or, hsr, mul, "&", "|", "<<", "*");
run_inner(s, n_args, shape, and, or, hsr, rsh, "&", "|", "<<", ">>");
run_inner(s, n_args, shape, and, or, hsr, hsr, "&", "|", "<<", "<<");
run_inner(s, n_args, shape, and, sub, and, and, "&", "-", "&", "&");
run_inner(s, n_args, shape, and, sub, and, add, "&", "-", "&", "+");
run_inner(s, n_args, shape, and, sub, and, xor, "&", "-", "&", "^");
run_inner(s, n_args, shape, and, sub, and, or, "&", "-", "&", "|");
run_inner(s, n_args, shape, and, sub, and, sub, "&", "-", "&", "-");
run_inner(s, n_args, shape, and, sub, and, bus, "&", "-", "&", "←");
run_inner(s, n_args, shape, and, sub, and, mul, "&", "-", "&", "*");
run_inner(s, n_args, shape, and, sub, and, rsh, "&", "-", "&", ">>");
run_inner(s, n_args, shape, and, sub, and, hsr, "&", "-", "&", "<<");
run_inner(s, n_args, shape, and, sub, add, and, "&", "-", "+", "&");
run_inner(s, n_args, shape, and, sub, add, add, "&", "-", "+", "+");
run_inner(s, n_args, shape, and, sub, add, xor, "&", "-", "+", "^");
run_inner(s, n_args, shape, and, sub, add, or, "&", "-", "+", "|");
run_inner(s, n_args, shape, and, sub, add, sub, "&", "-", "+", "-");
run_inner(s, n_args, shape, and, sub, add, bus, "&", "-", "+", "←");
run_inner(s, n_args, shape, and, sub, add, mul, "&", "-", "+", "*");
run_inner(s, n_args, shape, and, sub, add, rsh, "&", "-", "+", ">>");
run_inner(s, n_args, shape, and, sub, add, hsr, "&", "-", "+", "<<");
run_inner(s, n_args, shape, and, sub, xor, and, "&", "-", "^", "&");
run_inner(s, n_args, shape, and, sub, xor, add, "&", "-", "^", "+");
run_inner(s, n_args, shape, and, sub, xor, xor, "&", "-", "^", "^");
run_inner(s, n_args, shape, and, sub, xor, or, "&", "-", "^", "|");
run_inner(s, n_args, shape, and, sub, xor, sub, "&", "-", "^", "-");
run_inner(s, n_args, shape, and, sub, xor, bus, "&", "-", "^", "←");
run_inner(s, n_args, shape, and, sub, xor, mul, "&", "-", "^", "*");
run_inner(s, n_args, shape, and, sub, xor, rsh, "&", "-", "^", ">>");
run_inner(s, n_args, shape, and, sub, xor, hsr, "&", "-", "^", "<<");
run_inner(s, n_args, shape, and, sub, or, and, "&", "-", "|", "&");
run_inner(s, n_args, shape, and, sub, or, add, "&", "-", "|", "+");
run_inner(s, n_args, shape, and, sub, or, xor, "&", "-", "|", "^");
run_inner(s, n_args, shape, and, sub, or, or, "&", "-", "|", "|");
run_inner(s, n_args, shape, and, sub, or, sub, "&", "-", "|", "-");
run_inner(s, n_args, shape, and, sub, or, bus, "&", "-", "|", "←");
run_inner(s, n_args, shape, and, sub, or, mul, "&", "-", "|", "*");
run_inner(s, n_args, shape, and, sub, or, rsh, "&", "-", "|", ">>");
run_inner(s, n_args, shape, and, sub, or, hsr, "&", "-", "|", "<<");
run_inner(s, n_args, shape, and, sub, sub, and, "&", "-", "-", "&");
run_inner(s, n_args, shape, and, sub, sub, add, "&", "-", "-", "+");
run_inner(s, n_args, shape, and, sub, sub, xor, "&", "-", "-", "^");
run_inner(s, n_args, shape, and, sub, sub, or, "&", "-", "-", "|");
run_inner(s, n_args, shape, and, sub, sub, sub, "&", "-", "-", "-");
run_inner(s, n_args, shape, and, sub, sub, bus, "&", "-", "-", "←");
run_inner(s, n_args, shape, and, sub, sub, mul, "&", "-", "-", "*");
run_inner(s, n_args, shape, and, sub, sub, rsh, "&", "-", "-", ">>");
run_inner(s, n_args, shape, and, sub, sub, hsr, "&", "-", "-", "<<");
run_inner(s, n_args, shape, and, sub, bus, and, "&", "-", "←", "&");
run_inner(s, n_args, shape, and, sub, bus, add, "&", "-", "←", "+");
run_inner(s, n_args, shape, and, sub, bus, xor, "&", "-", "←", "^");
run_inner(s, n_args, shape, and, sub, bus, or, "&", "-", "←", "|");
run_inner(s, n_args, shape, and, sub, bus, sub, "&", "-", "←", "-");
run_inner(s, n_args, shape, and, sub, bus, bus, "&", "-", "←", "←");
run_inner(s, n_args, shape, and, sub, bus, mul, "&", "-", "←", "*");
run_inner(s, n_args, shape, and, sub, bus, rsh, "&", "-", "←", ">>");
run_inner(s, n_args, shape, and, sub, bus, hsr, "&", "-", "←", "<<");
run_inner(s, n_args, shape, and, sub, mul, and, "&", "-", "*", "&");
run_inner(s, n_args, shape, and, sub, mul, add, "&", "-", "*", "+");
run_inner(s, n_args, shape, and, sub, mul, xor, "&", "-", "*", "^");
run_inner(s, n_args, shape, and, sub, mul, or, "&", "-", "*", "|");
run_inner(s, n_args, shape, and, sub, mul, sub, "&", "-", "*", "-");
run_inner(s, n_args, shape, and, sub, mul, bus, "&", "-", "*", "←");
run_inner(s, n_args, shape, and, sub, mul, mul, "&", "-", "*", "*");
run_inner(s, n_args, shape, and, sub, mul, rsh, "&", "-", "*", ">>");
run_inner(s, n_args, shape, and, sub, mul, hsr, "&", "-", "*", "<<");
run_inner(s, n_args, shape, and, sub, rsh, and, "&", "-", ">>", "&");
run_inner(s, n_args, shape, and, sub, rsh, add, "&", "-", ">>", "+");
run_inner(s, n_args, shape, and, sub, rsh, xor, "&", "-", ">>", "^");
run_inner(s, n_args, shape, and, sub, rsh, or, "&", "-", ">>", "|");
run_inner(s, n_args, shape, and, sub, rsh, sub, "&", "-", ">>", "-");
run_inner(s, n_args, shape, and, sub, rsh, bus, "&", "-", ">>", "←");
run_inner(s, n_args, shape, and, sub, rsh, mul, "&", "-", ">>", "*");
run_inner(s, n_args, shape, and, sub, rsh, rsh, "&", "-", ">>", ">>");
run_inner(s, n_args, shape, and, sub, rsh, hsr, "&", "-", ">>", "<<");
run_inner(s, n_args, shape, and, sub, hsr, and, "&", "-", "<<", "&");
run_inner(s, n_args, shape, and, sub, hsr, add, "&", "-", "<<", "+");
run_inner(s, n_args, shape, and, sub, hsr, xor, "&", "-", "<<", "^");
run_inner(s, n_args, shape, and, sub, hsr, or, "&", "-", "<<", "|");
run_inner(s, n_args, shape, and, sub, hsr, sub, "&", "-", "<<", "-");
run_inner(s, n_args, shape, and, sub, hsr, bus, "&", "-", "<<", "←");
run_inner(s, n_args, shape, and, sub, hsr, mul, "&", "-", "<<", "*");
run_inner(s, n_args, shape, and, sub, hsr, rsh, "&", "-", "<<", ">>");
run_inner(s, n_args, shape, and, sub, hsr, hsr, "&", "-", "<<", "<<");
run_inner(s, n_args, shape, and, bus, and, and, "&", "←", "&", "&");
run_inner(s, n_args, shape, and, bus, and, add, "&", "←", "&", "+");
run_inner(s, n_args, shape, and, bus, and, xor, "&", "←", "&", "^");
run_inner(s, n_args, shape, and, bus, and, or, "&", "←", "&", "|");
run_inner(s, n_args, shape, and, bus, and, sub, "&", "←", "&", "-");
run_inner(s, n_args, shape, and, bus, and, bus, "&", "←", "&", "←");
run_inner(s, n_args, shape, and, bus, and, mul, "&", "←", "&", "*");
run_inner(s, n_args, shape, and, bus, and, rsh, "&", "←", "&", ">>");
run_inner(s, n_args, shape, and, bus, and, hsr, "&", "←", "&", "<<");
run_inner(s, n_args, shape, and, bus, add, and, "&", "←", "+", "&");
run_inner(s, n_args, shape, and, bus, add, add, "&", "←", "+", "+");
run_inner(s, n_args, shape, and, bus, add, xor, "&", "←", "+", "^");
run_inner(s, n_args, shape, and, bus, add, or, "&", "←", "+", "|");
run_inner(s, n_args, shape, and, bus, add, sub, "&", "←", "+", "-");
run_inner(s, n_args, shape, and, bus, add, bus, "&", "←", "+", "←");
run_inner(s, n_args, shape, and, bus, add, mul, "&", "←", "+", "*");
run_inner(s, n_args, shape, and, bus, add, rsh, "&", "←", "+", ">>");
run_inner(s, n_args, shape, and, bus, add, hsr, "&", "←", "+", "<<");
run_inner(s, n_args, shape, and, bus, xor, and, "&", "←", "^", "&");
run_inner(s, n_args, shape, and, bus, xor, add, "&", "←", "^", "+");
run_inner(s, n_args, shape, and, bus, xor, xor, "&", "←", "^", "^");
run_inner(s, n_args, shape, and, bus, xor, or, "&", "←", "^", "|");
run_inner(s, n_args, shape, and, bus, xor, sub, "&", "←", "^", "-");
run_inner(s, n_args, shape, and, bus, xor, bus, "&", "←", "^", "←");
run_inner(s, n_args, shape, and, bus, xor, mul, "&", "←", "^", "*");
run_inner(s, n_args, shape, and, bus, xor, rsh, "&", "←", "^", ">>");
run_inner(s, n_args, shape, and, bus, xor, hsr, "&", "←", "^", "<<");
run_inner(s, n_args, shape, and, bus, or, and, "&", "←", "|", "&");
run_inner(s, n_args, shape, and, bus, or, add, "&", "←", "|", "+");
run_inner(s, n_args, shape, and, bus, or, xor, "&", "←", "|", "^");
run_inner(s, n_args, shape, and, bus, or, or, "&", "←", "|", "|");
run_inner(s, n_args, shape, and, bus, or, sub, "&", "←", "|", "-");
run_inner(s, n_args, shape, and, bus, or, bus, "&", "←", "|", "←");
run_inner(s, n_args, shape, and, bus, or, mul, "&", "←", "|", "*");
run_inner(s, n_args, shape, and, bus, or, rsh, "&", "←", "|", ">>");
run_inner(s, n_args, shape, and, bus, or, hsr, "&", "←", "|", "<<");
run_inner(s, n_args, shape, and, bus, sub, and, "&", "←", "-", "&");
run_inner(s, n_args, shape, and, bus, sub, add, "&", "←", "-", "+");
run_inner(s, n_args, shape, and, bus, sub, xor, "&", "←", "-", "^");
run_inner(s, n_args, shape, and, bus, sub, or, "&", "←", "-", "|");
run_inner(s, n_args, shape, and, bus, sub, sub, "&", "←", "-", "-");
run_inner(s, n_args, shape, and, bus, sub, bus, "&", "←", "-", "←");
run_inner(s, n_args, shape, and, bus, sub, mul, "&", "←", "-", "*");
run_inner(s, n_args, shape, and, bus, sub, rsh, "&", "←", "-", ">>");
run_inner(s, n_args, shape, and, bus, sub, hsr, "&", "←", "-", "<<");
run_inner(s, n_args, shape, and, bus, bus, and, "&", "←", "←", "&");
run_inner(s, n_args, shape, and, bus, bus, add, "&", "←", "←", "+");
run_inner(s, n_args, shape, and, bus, bus, xor, "&", "←", "←", "^");
run_inner(s, n_args, shape, and, bus, bus, or, "&", "←", "←", "|");
run_inner(s, n_args, shape, and, bus, bus, sub, "&", "←", "←", "-");
run_inner(s, n_args, shape, and, bus, bus, bus, "&", "←", "←", "←");
run_inner(s, n_args, shape, and, bus, bus, mul, "&", "←", "←", "*");
run_inner(s, n_args, shape, and, bus, bus, rsh, "&", "←", "←", ">>");
run_inner(s, n_args, shape, and, bus, bus, hsr, "&", "←", "←", "<<");
run_inner(s, n_args, shape, and, bus, mul, and, "&", "←", "*", "&");
run_inner(s, n_args, shape, and, bus, mul, add, "&", "←", "*", "+");
run_inner(s, n_args, shape, and, bus, mul, xor, "&", "←", "*", "^");
run_inner(s, n_args, shape, and, bus, mul, or, "&", "←", "*", "|");
run_inner(s, n_args, shape, and, bus, mul, sub, "&", "←", "*", "-");
run_inner(s, n_args, shape, and, bus, mul, bus, "&", "←", "*", "←");
run_inner(s, n_args, shape, and, bus, mul, mul, "&", "←", "*", "*");
run_inner(s, n_args, shape, and, bus, mul, rsh, "&", "←", "*", ">>");
run_inner(s, n_args, shape, and, bus, mul, hsr, "&", "←", "*", "<<");
run_inner(s, n_args, shape, and, bus, rsh, and, "&", "←", ">>", "&");
run_inner(s, n_args, shape, and, bus, rsh, add, "&", "←", ">>", "+");
run_inner(s, n_args, shape, and, bus, rsh, xor, "&", "←", ">>", "^");
run_inner(s, n_args, shape, and, bus, rsh, or, "&", "←", ">>", "|");
run_inner(s, n_args, shape, and, bus, rsh, sub, "&", "←", ">>", "-");
run_inner(s, n_args, shape, and, bus, rsh, bus, "&", "←", ">>", "←");
run_inner(s, n_args, shape, and, bus, rsh, mul, "&", "←", ">>", "*");
run_inner(s, n_args, shape, and, bus, rsh, rsh, "&", "←", ">>", ">>");
run_inner(s, n_args, shape, and, bus, rsh, hsr, "&", "←", ">>", "<<");
run_inner(s, n_args, shape, and, bus, hsr, and, "&", "←", "<<", "&");
run_inner(s, n_args, shape, and, bus, hsr, add, "&", "←", "<<", "+");
run_inner(s, n_args, shape, and, bus, hsr, xor, "&", "←", "<<", "^");
run_inner(s, n_args, shape, and, bus, hsr, or, "&", "←", "<<", "|");
run_inner(s, n_args, shape, and, bus, hsr, sub, "&", "←", "<<", "-");
run_inner(s, n_args, shape, and, bus, hsr, bus, "&", "←", "<<", "←");
run_inner(s, n_args, shape, and, bus, hsr, mul, "&", "←", "<<", "*");
run_inner(s, n_args, shape, and, bus, hsr, rsh, "&", "←", "<<", ">>");
run_inner(s, n_args, shape, and, bus, hsr, hsr, "&", "←", "<<", "<<");
run_inner(s, n_args, shape, and, mul, and, and, "&", "*", "&", "&");
run_inner(s, n_args, shape, and, mul, and, add, "&", "*", "&", "+");
run_inner(s, n_args, shape, and, mul, and, xor, "&", "*", "&", "^");
run_inner(s, n_args, shape, and, mul, and, or, "&", "*", "&", "|");
run_inner(s, n_args, shape, and, mul, and, sub, "&", "*", "&", "-");
run_inner(s, n_args, shape, and, mul, and, bus, "&", "*", "&", "←");
run_inner(s, n_args, shape, and, mul, and, mul, "&", "*", "&", "*");
run_inner(s, n_args, shape, and, mul, and, rsh, "&", "*", "&", ">>");
run_inner(s, n_args, shape, and, mul, and, hsr, "&", "*", "&", "<<");
run_inner(s, n_args, shape, and, mul, add, and, "&", "*", "+", "&");
run_inner(s, n_args, shape, and, mul, add, add, "&", "*", "+", "+");
run_inner(s, n_args, shape, and, mul, add, xor, "&", "*", "+", "^");
run_inner(s, n_args, shape, and, mul, add, or, "&", "*", "+", "|");
run_inner(s, n_args, shape, and, mul, add, sub, "&", "*", "+", "-");
run_inner(s, n_args, shape, and, mul, add, bus, "&", "*", "+", "←");
run_inner(s, n_args, shape, and, mul, add, mul, "&", "*", "+", "*");
run_inner(s, n_args, shape, and, mul, add, rsh, "&", "*", "+", ">>");
run_inner(s, n_args, shape, and, mul, add, hsr, "&", "*", "+", "<<");
run_inner(s, n_args, shape, and, mul, xor, and, "&", "*", "^", "&");
run_inner(s, n_args, shape, and, mul, xor, add, "&", "*", "^", "+");
run_inner(s, n_args, shape, and, mul, xor, xor, "&", "*", "^", "^");
run_inner(s, n_args, shape, and, mul, xor, or, "&", "*", "^", "|");
run_inner(s, n_args, shape, and, mul, xor, sub, "&", "*", "^", "-");
run_inner(s, n_args, shape, and, mul, xor, bus, "&", "*", "^", "←");
run_inner(s, n_args, shape, and, mul, xor, mul, "&", "*", "^", "*");
run_inner(s, n_args, shape, and, mul, xor, rsh, "&", "*", "^", ">>");
run_inner(s, n_args, shape, and, mul, xor, hsr, "&", "*", "^", "<<");
run_inner(s, n_args, shape, and, mul, or, and, "&", "*", "|", "&");
run_inner(s, n_args, shape, and, mul, or, add, "&", "*", "|", "+");
run_inner(s, n_args, shape, and, mul, or, xor, "&", "*", "|", "^");
run_inner(s, n_args, shape, and, mul, or, or, "&", "*", "|", "|");
run_inner(s, n_args, shape, and, mul, or, sub, "&", "*", "|", "-");
run_inner(s, n_args, shape, and, mul, or, bus, "&", "*", "|", "←");
run_inner(s, n_args, shape, and, mul, or, mul, "&", "*", "|", "*");
run_inner(s, n_args, shape, and, mul, or, rsh, "&", "*", "|", ">>");
run_inner(s, n_args, shape, and, mul, or, hsr, "&", "*", "|", "<<");
run_inner(s, n_args, shape, and, mul, sub, and, "&", "*", "-", "&");
run_inner(s, n_args, shape, and, mul, sub, add, "&", "*", "-", "+");
run_inner(s, n_args, shape, and, mul, sub, xor, "&", "*", "-", "^");
run_inner(s, n_args, shape, and, mul, sub, or, "&", "*", "-", "|");
run_inner(s, n_args, shape, and, mul, sub, sub, "&", "*", "-", "-");
run_inner(s, n_args, shape, and, mul, sub, bus, "&", "*", "-", "←");
run_inner(s, n_args, shape, and, mul, sub, mul, "&", "*", "-", "*");
run_inner(s, n_args, shape, and, mul, sub, rsh, "&", "*", "-", ">>");
run_inner(s, n_args, shape, and, mul, sub, hsr, "&", "*", "-", "<<");
run_inner(s, n_args, shape, and, mul, bus, and, "&", "*", "←", "&");
run_inner(s, n_args, shape, and, mul, bus, add, "&", "*", "←", "+");
run_inner(s, n_args, shape, and, mul, bus, xor, "&", "*", "←", "^");
run_inner(s, n_args, shape, and, mul, bus, or, "&", "*", "←", "|");
run_inner(s, n_args, shape, and, mul, bus, sub, "&", "*", "←", "-");
run_inner(s, n_args, shape, and, mul, bus, bus, "&", "*", "←", "←");
run_inner(s, n_args, shape, and, mul, bus, mul, "&", "*", "←", "*");
run_inner(s, n_args, shape, and, mul, bus, rsh, "&", "*", "←", ">>");
run_inner(s, n_args, shape, and, mul, bus, hsr, "&", "*", "←", "<<");
run_inner(s, n_args, shape, and, mul, mul, and, "&", "*", "*", "&");
run_inner(s, n_args, shape, and, mul, mul, add, "&", "*", "*", "+");
run_inner(s, n_args, shape, and, mul, mul, xor, "&", "*", "*", "^");
run_inner(s, n_args, shape, and, mul, mul, or, "&", "*", "*", "|");
run_inner(s, n_args, shape, and, mul, mul, sub, "&", "*", "*", "-");
run_inner(s, n_args, shape, and, mul, mul, bus, "&", "*", "*", "←");
run_inner(s, n_args, shape, and, mul, mul, mul, "&", "*", "*", "*");
run_inner(s, n_args, shape, and, mul, mul, rsh, "&", "*", "*", ">>");
run_inner(s, n_args, shape, and, mul, mul, hsr, "&", "*", "*", "<<");
run_inner(s, n_args, shape, and, mul, rsh, and, "&", "*", ">>", "&");
run_inner(s, n_args, shape, and, mul, rsh, add, "&", "*", ">>", "+");
run_inner(s, n_args, shape, and, mul, rsh, xor, "&", "*", ">>", "^");
run_inner(s, n_args, shape, and, mul, rsh, or, "&", "*", ">>", "|");
run_inner(s, n_args, shape, and, mul, rsh, sub, "&", "*", ">>", "-");
run_inner(s, n_args, shape, and, mul, rsh, bus, "&", "*", ">>", "←");
run_inner(s, n_args, shape, and, mul, rsh, mul, "&", "*", ">>", "*");
run_inner(s, n_args, shape, and, mul, rsh, rsh, "&", "*", ">>", ">>");
run_inner(s, n_args, shape, and, mul, rsh, hsr, "&", "*", ">>", "<<");
run_inner(s, n_args, shape, and, mul, hsr, and, "&", "*", "<<", "&");
run_inner(s, n_args, shape, and, mul, hsr, add, "&", "*", "<<", "+");
run_inner(s, n_args, shape, and, mul, hsr, xor, "&", "*", "<<", "^");
run_inner(s, n_args, shape, and, mul, hsr, or, "&", "*", "<<", "|");
run_inner(s, n_args, shape, and, mul, hsr, sub, "&", "*", "<<", "-");
run_inner(s, n_args, shape, and, mul, hsr, bus, "&", "*", "<<", "←");
run_inner(s, n_args, shape, and, mul, hsr, mul, "&", "*", "<<", "*");
run_inner(s, n_args, shape, and, mul, hsr, rsh, "&", "*", "<<", ">>");
run_inner(s, n_args, shape, and, mul, hsr, hsr, "&", "*", "<<", "<<");
run_inner(s, n_args, shape, and, rsh, and, and, "&", ">>", "&", "&");
run_inner(s, n_args, shape, and, rsh, and, add, "&", ">>", "&", "+");
run_inner(s, n_args, shape, and, rsh, and, xor, "&", ">>", "&", "^");
run_inner(s, n_args, shape, and, rsh, and, or, "&", ">>", "&", "|");
run_inner(s, n_args, shape, and, rsh, and, sub, "&", ">>", "&", "-");
run_inner(s, n_args, shape, and, rsh, and, bus, "&", ">>", "&", "←");
run_inner(s, n_args, shape, and, rsh, and, mul, "&", ">>", "&", "*");
run_inner(s, n_args, shape, and, rsh, and, rsh, "&", ">>", "&", ">>");
run_inner(s, n_args, shape, and, rsh, and, hsr, "&", ">>", "&", "<<");
run_inner(s, n_args, shape, and, rsh, add, and, "&", ">>", "+", "&");
run_inner(s, n_args, shape, and, rsh, add, add, "&", ">>", "+", "+");
run_inner(s, n_args, shape, and, rsh, add, xor, "&", ">>", "+", "^");
run_inner(s, n_args, shape, and, rsh, add, or, "&", ">>", "+", "|");
run_inner(s, n_args, shape, and, rsh, add, sub, "&", ">>", "+", "-");
run_inner(s, n_args, shape, and, rsh, add, bus, "&", ">>", "+", "←");
run_inner(s, n_args, shape, and, rsh, add, mul, "&", ">>", "+", "*");
run_inner(s, n_args, shape, and, rsh, add, rsh, "&", ">>", "+", ">>");
run_inner(s, n_args, shape, and, rsh, add, hsr, "&", ">>", "+", "<<");
run_inner(s, n_args, shape, and, rsh, xor, and, "&", ">>", "^", "&");
run_inner(s, n_args, shape, and, rsh, xor, add, "&", ">>", "^", "+");
run_inner(s, n_args, shape, and, rsh, xor, xor, "&", ">>", "^", "^");
run_inner(s, n_args, shape, and, rsh, xor, or, "&", ">>", "^", "|");
run_inner(s, n_args, shape, and, rsh, xor, sub, "&", ">>", "^", "-");
run_inner(s, n_args, shape, and, rsh, xor, bus, "&", ">>", "^", "←");
run_inner(s, n_args, shape, and, rsh, xor, mul, "&", ">>", "^", "*");
run_inner(s, n_args, shape, and, rsh, xor, rsh, "&", ">>", "^", ">>");
run_inner(s, n_args, shape, and, rsh, xor, hsr, "&", ">>", "^", "<<");
run_inner(s, n_args, shape, and, rsh, or, and, "&", ">>", "|", "&");
run_inner(s, n_args, shape, and, rsh, or, add, "&", ">>", "|", "+");
run_inner(s, n_args, shape, and, rsh, or, xor, "&", ">>", "|", "^");
run_inner(s, n_args, shape, and, rsh, or, or, "&", ">>", "|", "|");
run_inner(s, n_args, shape, and, rsh, or, sub, "&", ">>", "|", "-");
run_inner(s, n_args, shape, and, rsh, or, bus, "&", ">>", "|", "←");
run_inner(s, n_args, shape, and, rsh, or, mul, "&", ">>", "|", "*");
run_inner(s, n_args, shape, and, rsh, or, rsh, "&", ">>", "|", ">>");
run_inner(s, n_args, shape, and, rsh, or, hsr, "&", ">>", "|", "<<");
run_inner(s, n_args, shape, and, rsh, sub, and, "&", ">>", "-", "&");
run_inner(s, n_args, shape, and, rsh, sub, add, "&", ">>", "-", "+");
run_inner(s, n_args, shape, and, rsh, sub, xor, "&", ">>", "-", "^");
run_inner(s, n_args, shape, and, rsh, sub, or, "&", ">>", "-", "|");
run_inner(s, n_args, shape, and, rsh, sub, sub, "&", ">>", "-", "-");
run_inner(s, n_args, shape, and, rsh, sub, bus, "&", ">>", "-", "←");
run_inner(s, n_args, shape, and, rsh, sub, mul, "&", ">>", "-", "*");
run_inner(s, n_args, shape, and, rsh, sub, rsh, "&", ">>", "-", ">>");
run_inner(s, n_args, shape, and, rsh, sub, hsr, "&", ">>", "-", "<<");
run_inner(s, n_args, shape, and, rsh, bus, and, "&", ">>", "←", "&");
run_inner(s, n_args, shape, and, rsh, bus, add, "&", ">>", "←", "+");
run_inner(s, n_args, shape, and, rsh, bus, xor, "&", ">>", "←", "^");
run_inner(s, n_args, shape, and, rsh, bus, or, "&", ">>", "←", "|");
run_inner(s, n_args, shape, and, rsh, bus, sub, "&", ">>", "←", "-");
run_inner(s, n_args, shape, and, rsh, bus, bus, "&", ">>", "←", "←");
run_inner(s, n_args, shape, and, rsh, bus, mul, "&", ">>", "←", "*");
run_inner(s, n_args, shape, and, rsh, bus, rsh, "&", ">>", "←", ">>");
run_inner(s, n_args, shape, and, rsh, bus, hsr, "&", ">>", "←", "<<");
run_inner(s, n_args, shape, and, rsh, mul, and, "&", ">>", "*", "&");
run_inner(s, n_args, shape, and, rsh, mul, add, "&", ">>", "*", "+");
run_inner(s, n_args, shape, and, rsh, mul, xor, "&", ">>", "*", "^");
run_inner(s, n_args, shape, and, rsh, mul, or, "&", ">>", "*", "|");
run_inner(s, n_args, shape, and, rsh, mul, sub, "&", ">>", "*", "-");
run_inner(s, n_args, shape, and, rsh, mul, bus, "&", ">>", "*", "←");
run_inner(s, n_args, shape, and, rsh, mul, mul, "&", ">>", "*", "*");
run_inner(s, n_args, shape, and, rsh, mul, rsh, "&", ">>", "*", ">>");
run_inner(s, n_args, shape, and, rsh, mul, hsr, "&", ">>", "*", "<<");
run_inner(s, n_args, shape, and, rsh, rsh, and, "&", ">>", ">>", "&");
run_inner(s, n_args, shape, and, rsh, rsh, add, "&", ">>", ">>", "+");
run_inner(s, n_args, shape, and, rsh, rsh, xor, "&", ">>", ">>", "^");
run_inner(s, n_args, shape, and, rsh, rsh, or, "&", ">>", ">>", "|");
run_inner(s, n_args, shape, and, rsh, rsh, sub, "&", ">>", ">>", "-");
run_inner(s, n_args, shape, and, rsh, rsh, bus, "&", ">>", ">>", "←");
run_inner(s, n_args, shape, and, rsh, rsh, mul, "&", ">>", ">>", "*");
run_inner(s, n_args, shape, and, rsh, rsh, rsh, "&", ">>", ">>", ">>");
run_inner(s, n_args, shape, and, rsh, rsh, hsr, "&", ">>", ">>", "<<");
run_inner(s, n_args, shape, and, rsh, hsr, and, "&", ">>", "<<", "&");
run_inner(s, n_args, shape, and, rsh, hsr, add, "&", ">>", "<<", "+");
run_inner(s, n_args, shape, and, rsh, hsr, xor, "&", ">>", "<<", "^");
run_inner(s, n_args, shape, and, rsh, hsr, or, "&", ">>", "<<", "|");
run_inner(s, n_args, shape, and, rsh, hsr, sub, "&", ">>", "<<", "-");
run_inner(s, n_args, shape, and, rsh, hsr, bus, "&", ">>", "<<", "←");
run_inner(s, n_args, shape, and, rsh, hsr, mul, "&", ">>", "<<", "*");
run_inner(s, n_args, shape, and, rsh, hsr, rsh, "&", ">>", "<<", ">>");
run_inner(s, n_args, shape, and, rsh, hsr, hsr, "&", ">>", "<<", "<<");
run_inner(s, n_args, shape, and, hsr, and, and, "&", "<<", "&", "&");
run_inner(s, n_args, shape, and, hsr, and, add, "&", "<<", "&", "+");
run_inner(s, n_args, shape, and, hsr, and, xor, "&", "<<", "&", "^");
run_inner(s, n_args, shape, and, hsr, and, or, "&", "<<", "&", "|");
run_inner(s, n_args, shape, and, hsr, and, sub, "&", "<<", "&", "-");
run_inner(s, n_args, shape, and, hsr, and, bus, "&", "<<", "&", "←");
run_inner(s, n_args, shape, and, hsr, and, mul, "&", "<<", "&", "*");
run_inner(s, n_args, shape, and, hsr, and, rsh, "&", "<<", "&", ">>");
run_inner(s, n_args, shape, and, hsr, and, hsr, "&", "<<", "&", "<<");
run_inner(s, n_args, shape, and, hsr, add, and, "&", "<<", "+", "&");
run_inner(s, n_args, shape, and, hsr, add, add, "&", "<<", "+", "+");
run_inner(s, n_args, shape, and, hsr, add, xor, "&", "<<", "+", "^");
run_inner(s, n_args, shape, and, hsr, add, or, "&", "<<", "+", "|");
run_inner(s, n_args, shape, and, hsr, add, sub, "&", "<<", "+", "-");
run_inner(s, n_args, shape, and, hsr, add, bus, "&", "<<", "+", "←");
run_inner(s, n_args, shape, and, hsr, add, mul, "&", "<<", "+", "*");
run_inner(s, n_args, shape, and, hsr, add, rsh, "&", "<<", "+", ">>");
run_inner(s, n_args, shape, and, hsr, add, hsr, "&", "<<", "+", "<<");
run_inner(s, n_args, shape, and, hsr, xor, and, "&", "<<", "^", "&");
run_inner(s, n_args, shape, and, hsr, xor, add, "&", "<<", "^", "+");
run_inner(s, n_args, shape, and, hsr, xor, xor, "&", "<<", "^", "^");
run_inner(s, n_args, shape, and, hsr, xor, or, "&", "<<", "^", "|");
run_inner(s, n_args, shape, and, hsr, xor, sub, "&", "<<", "^", "-");
run_inner(s, n_args, shape, and, hsr, xor, bus, "&", "<<", "^", "←");
run_inner(s, n_args, shape, and, hsr, xor, mul, "&", "<<", "^", "*");
run_inner(s, n_args, shape, and, hsr, xor, rsh, "&", "<<", "^", ">>");
run_inner(s, n_args, shape, and, hsr, xor, hsr, "&", "<<", "^", "<<");
run_inner(s, n_args, shape, and, hsr, or, and, "&", "<<", "|", "&");
run_inner(s, n_args, shape, and, hsr, or, add, "&", "<<", "|", "+");
run_inner(s, n_args, shape, and, hsr, or, xor, "&", "<<", "|", "^");
run_inner(s, n_args, shape, and, hsr, or, or, "&", "<<", "|", "|");
run_inner(s, n_args, shape, and, hsr, or, sub, "&", "<<", "|", "-");
run_inner(s, n_args, shape, and, hsr, or, bus, "&", "<<", "|", "←");
run_inner(s, n_args, shape, and, hsr, or, mul, "&", "<<", "|", "*");
run_inner(s, n_args, shape, and, hsr, or, rsh, "&", "<<", "|", ">>");
run_inner(s, n_args, shape, and, hsr, or, hsr, "&", "<<", "|", "<<");
run_inner(s, n_args, shape, and, hsr, sub, and, "&", "<<", "-", "&");
run_inner(s, n_args, shape, and, hsr, sub, add, "&", "<<", "-", "+");
run_inner(s, n_args, shape, and, hsr, sub, xor, "&", "<<", "-", "^");
run_inner(s, n_args, shape, and, hsr, sub, or, "&", "<<", "-", "|");
run_inner(s, n_args, shape, and, hsr, sub, sub, "&", "<<", "-", "-");
run_inner(s, n_args, shape, and, hsr, sub, bus, "&", "<<", "-", "←");
run_inner(s, n_args, shape, and, hsr, sub, mul, "&", "<<", "-", "*");
run_inner(s, n_args, shape, and, hsr, sub, rsh, "&", "<<", "-", ">>");
run_inner(s, n_args, shape, and, hsr, sub, hsr, "&", "<<", "-", "<<");
run_inner(s, n_args, shape, and, hsr, bus, and, "&", "<<", "←", "&");
run_inner(s, n_args, shape, and, hsr, bus, add, "&", "<<", "←", "+");
run_inner(s, n_args, shape, and, hsr, bus, xor, "&", "<<", "←", "^");
run_inner(s, n_args, shape, and, hsr, bus, or, "&", "<<", "←", "|");
run_inner(s, n_args, shape, and, hsr, bus, sub, "&", "<<", "←", "-");
run_inner(s, n_args, shape, and, hsr, bus, bus, "&", "<<", "←", "←");
run_inner(s, n_args, shape, and, hsr, bus, mul, "&", "<<", "←", "*");
run_inner(s, n_args, shape, and, hsr, bus, rsh, "&", "<<", "←", ">>");
run_inner(s, n_args, shape, and, hsr, bus, hsr, "&", "<<", "←", "<<");
run_inner(s, n_args, shape, and, hsr, mul, and, "&", "<<", "*", "&");
run_inner(s, n_args, shape, and, hsr, mul, add, "&", "<<", "*", "+");
run_inner(s, n_args, shape, and, hsr, mul, xor, "&", "<<", "*", "^");
run_inner(s, n_args, shape, and, hsr, mul, or, "&", "<<", "*", "|");
run_inner(s, n_args, shape, and, hsr, mul, sub, "&", "<<", "*", "-");
run_inner(s, n_args, shape, and, hsr, mul, bus, "&", "<<", "*", "←");
run_inner(s, n_args, shape, and, hsr, mul, mul, "&", "<<", "*", "*");
run_inner(s, n_args, shape, and, hsr, mul, rsh, "&", "<<", "*", ">>");
run_inner(s, n_args, shape, and, hsr, mul, hsr, "&", "<<", "*", "<<");
run_inner(s, n_args, shape, and, hsr, rsh, and, "&", "<<", ">>", "&");
run_inner(s, n_args, shape, and, hsr, rsh, add, "&", "<<", ">>", "+");
run_inner(s, n_args, shape, and, hsr, rsh, xor, "&", "<<", ">>", "^");
run_inner(s, n_args, shape, and, hsr, rsh, or, "&", "<<", ">>", "|");
run_inner(s, n_args, shape, and, hsr, rsh, sub, "&", "<<", ">>", "-");
run_inner(s, n_args, shape, and, hsr, rsh, bus, "&", "<<", ">>", "←");
run_inner(s, n_args, shape, and, hsr, rsh, mul, "&", "<<", ">>", "*");
run_inner(s, n_args, shape, and, hsr, rsh, rsh, "&", "<<", ">>", ">>");
run_inner(s, n_args, shape, and, hsr, rsh, hsr, "&", "<<", ">>", "<<");
run_inner(s, n_args, shape, and, hsr, hsr, and, "&", "<<", "<<", "&");
run_inner(s, n_args, shape, and, hsr, hsr, add, "&", "<<", "<<", "+");
run_inner(s, n_args, shape, and, hsr, hsr, xor, "&", "<<", "<<", "^");
run_inner(s, n_args, shape, and, hsr, hsr, or, "&", "<<", "<<", "|");
run_inner(s, n_args, shape, and, hsr, hsr, sub, "&", "<<", "<<", "-");
run_inner(s, n_args, shape, and, hsr, hsr, bus, "&", "<<", "<<", "←");
run_inner(s, n_args, shape, and, hsr, hsr, mul, "&", "<<", "<<", "*");
run_inner(s, n_args, shape, and, hsr, hsr, rsh, "&", "<<", "<<", ">>");
run_inner(s, n_args, shape, and, hsr, hsr, hsr, "&", "<<", "<<", "<<");
}));
threads.push(thread::spawn(move || {
run_inner(s, n_args, shape, add, and, and, and, "+", "&", "&", "&");
run_inner(s, n_args, shape, add, and, and, add, "+", "&", "&", "+");
run_inner(s, n_args, shape, add, and, and, xor, "+", "&", "&", "^");
run_inner(s, n_args, shape, add, and, and, or, "+", "&", "&", "|");
run_inner(s, n_args, shape, add, and, and, sub, "+", "&", "&", "-");
run_inner(s, n_args, shape, add, and, and, bus, "+", "&", "&", "←");
run_inner(s, n_args, shape, add, and, and, mul, "+", "&", "&", "*");
run_inner(s, n_args, shape, add, and, and, rsh, "+", "&", "&", ">>");
run_inner(s, n_args, shape, add, and, and, hsr, "+", "&", "&", "<<");
run_inner(s, n_args, shape, add, and, add, and, "+", "&", "+", "&");
run_inner(s, n_args, shape, add, and, add, add, "+", "&", "+", "+");
run_inner(s, n_args, shape, add, and, add, xor, "+", "&", "+", "^");
run_inner(s, n_args, shape, add, and, add, or, "+", "&", "+", "|");
run_inner(s, n_args, shape, add, and, add, sub, "+", "&", "+", "-");
run_inner(s, n_args, shape, add, and, add, bus, "+", "&", "+", "←");
run_inner(s, n_args, shape, add, and, add, mul, "+", "&", "+", "*");
run_inner(s, n_args, shape, add, and, add, rsh, "+", "&", "+", ">>");
run_inner(s, n_args, shape, add, and, add, hsr, "+", "&", "+", "<<");
run_inner(s, n_args, shape, add, and, xor, and, "+", "&", "^", "&");
run_inner(s, n_args, shape, add, and, xor, add, "+", "&", "^", "+");
run_inner(s, n_args, shape, add, and, xor, xor, "+", "&", "^", "^");
run_inner(s, n_args, shape, add, and, xor, or, "+", "&", "^", "|");
run_inner(s, n_args, shape, add, and, xor, sub, "+", "&", "^", "-");
run_inner(s, n_args, shape, add, and, xor, bus, "+", "&", "^", "←");
run_inner(s, n_args, shape, add, and, xor, mul, "+", "&", "^", "*");
run_inner(s, n_args, shape, add, and, xor, rsh, "+", "&", "^", ">>");
run_inner(s, n_args, shape, add, and, xor, hsr, "+", "&", "^", "<<");
run_inner(s, n_args, shape, add, and, or, and, "+", "&", "|", "&");
run_inner(s, n_args, shape, add, and, or, add, "+", "&", "|", "+");
run_inner(s, n_args, shape, add, and, or, xor, "+", "&", "|", "^");
run_inner(s, n_args, shape, add, and, or, or, "+", "&", "|", "|");
run_inner(s, n_args, shape, add, and, or, sub, "+", "&", "|", "-");
run_inner(s, n_args, shape, add, and, or, bus, "+", "&", "|", "←");
run_inner(s, n_args, shape, add, and, or, mul, "+", "&", "|", "*");
run_inner(s, n_args, shape, add, and, or, rsh, "+", "&", "|", ">>");
run_inner(s, n_args, shape, add, and, or, hsr, "+", "&", "|", "<<");
run_inner(s, n_args, shape, add, and, sub, and, "+", "&", "-", "&");
run_inner(s, n_args, shape, add, and, sub, add, "+", "&", "-", "+");
run_inner(s, n_args, shape, add, and, sub, xor, "+", "&", "-", "^");
run_inner(s, n_args, shape, add, and, sub, or, "+", "&", "-", "|");
run_inner(s, n_args, shape, add, and, sub, sub, "+", "&", "-", "-");
run_inner(s, n_args, shape, add, and, sub, bus, "+", "&", "-", "←");
run_inner(s, n_args, shape, add, and, sub, mul, "+", "&", "-", "*");
run_inner(s, n_args, shape, add, and, sub, rsh, "+", "&", "-", ">>");
run_inner(s, n_args, shape, add, and, sub, hsr, "+", "&", "-", "<<");
run_inner(s, n_args, shape, add, and, bus, and, "+", "&", "←", "&");
run_inner(s, n_args, shape, add, and, bus, add, "+", "&", "←", "+");
run_inner(s, n_args, shape, add, and, bus, xor, "+", "&", "←", "^");
run_inner(s, n_args, shape, add, and, bus, or, "+", "&", "←", "|");
run_inner(s, n_args, shape, add, and, bus, sub, "+", "&", "←", "-");
run_inner(s, n_args, shape, add, and, bus, bus, "+", "&", "←", "←");
run_inner(s, n_args, shape, add, and, bus, mul, "+", "&", "←", "*");
run_inner(s, n_args, shape, add, and, bus, rsh, "+", "&", "←", ">>");
run_inner(s, n_args, shape, add, and, bus, hsr, "+", "&", "←", "<<");
run_inner(s, n_args, shape, add, and, mul, and, "+", "&", "*", "&");
run_inner(s, n_args, shape, add, and, mul, add, "+", "&", "*", "+");
run_inner(s, n_args, shape, add, and, mul, xor, "+", "&", "*", "^");
run_inner(s, n_args, shape, add, and, mul, or, "+", "&", "*", "|");
run_inner(s, n_args, shape, add, and, mul, sub, "+", "&", "*", "-");
run_inner(s, n_args, shape, add, and, mul, bus, "+", "&", "*", "←");
run_inner(s, n_args, shape, add, and, mul, mul, "+", "&", "*", "*");
run_inner(s, n_args, shape, add, and, mul, rsh, "+", "&", "*", ">>");
run_inner(s, n_args, shape, add, and, mul, hsr, "+", "&", "*", "<<");
run_inner(s, n_args, shape, add, and, rsh, and, "+", "&", ">>", "&");
run_inner(s, n_args, shape, add, and, rsh, add, "+", "&", ">>", "+");
run_inner(s, n_args, shape, add, and, rsh, xor, "+", "&", ">>", "^");
run_inner(s, n_args, shape, add, and, rsh, or, "+", "&", ">>", "|");
run_inner(s, n_args, shape, add, and, rsh, sub, "+", "&", ">>", "-");
run_inner(s, n_args, shape, add, and, rsh, bus, "+", "&", ">>", "←");
run_inner(s, n_args, shape, add, and, rsh, mul, "+", "&", ">>", "*");
run_inner(s, n_args, shape, add, and, rsh, rsh, "+", "&", ">>", ">>");
run_inner(s, n_args, shape, add, and, rsh, hsr, "+", "&", ">>", "<<");
run_inner(s, n_args, shape, add, and, hsr, and, "+", "&", "<<", "&");
run_inner(s, n_args, shape, add, and, hsr, add, "+", "&", "<<", "+");
run_inner(s, n_args, shape, add, and, hsr, xor, "+", "&", "<<", "^");
run_inner(s, n_args, shape, add, and, hsr, or, "+", "&", "<<", "|");
run_inner(s, n_args, shape, add, and, hsr, sub, "+", "&", "<<", "-");
run_inner(s, n_args, shape, add, and, hsr, bus, "+", "&", "<<", "←");
run_inner(s, n_args, shape, add, and, hsr, mul, "+", "&", "<<", "*");
run_inner(s, n_args, shape, add, and, hsr, rsh, "+", "&", "<<", ">>");
run_inner(s, n_args, shape, add, and, hsr, hsr, "+", "&", "<<", "<<");
run_inner(s, n_args, shape, add, add, and, and, "+", "+", "&", "&");
run_inner(s, n_args, shape, add, add, and, add, "+", "+", "&", "+");
run_inner(s, n_args, shape, add, add, and, xor, "+", "+", "&", "^");
run_inner(s, n_args, shape, add, add, and, or, "+", "+", "&", "|");
run_inner(s, n_args, shape, add, add, and, sub, "+", "+", "&", "-");
run_inner(s, n_args, shape, add, add, and, bus, "+", "+", "&", "←");
run_inner(s, n_args, shape, add, add, and, mul, "+", "+", "&", "*");
run_inner(s, n_args, shape, add, add, and, rsh, "+", "+", "&", ">>");
run_inner(s, n_args, shape, add, add, and, hsr, "+", "+", "&", "<<");
run_inner(s, n_args, shape, add, add, add, and, "+", "+", "+", "&");
run_inner(s, n_args, shape, add, add, add, add, "+", "+", "+", "+");
run_inner(s, n_args, shape, add, add, add, xor, "+", "+", "+", "^");
run_inner(s, n_args, shape, add, add, add, or, "+", "+", "+", "|");
run_inner(s, n_args, shape, add, add, add, sub, "+", "+", "+", "-");
run_inner(s, n_args, shape, add, add, add, bus, "+", "+", "+", "←");
run_inner(s, n_args, shape, add, add, add, mul, "+", "+", "+", "*");
run_inner(s, n_args, shape, add, add, add, rsh, "+", "+", "+", ">>");
run_inner(s, n_args, shape, add, add, add, hsr, "+", "+", "+", "<<");
run_inner(s, n_args, shape, add, add, xor, and, "+", "+", "^", "&");
run_inner(s, n_args, shape, add, add, xor, add, "+", "+", "^", "+");
run_inner(s, n_args, shape, add, add, xor, xor, "+", "+", "^", "^");
run_inner(s, n_args, shape, add, add, xor, or, "+", "+", "^", "|");
run_inner(s, n_args, shape, add, add, xor, sub, "+", "+", "^", "-");
run_inner(s, n_args, shape, add, add, xor, bus, "+", "+", "^", "←");
run_inner(s, n_args, shape, add, add, xor, mul, "+", "+", "^", "*");
run_inner(s, n_args, shape, add, add, xor, rsh, "+", "+", "^", ">>");
run_inner(s, n_args, shape, add, add, xor, hsr, "+", "+", "^", "<<");
run_inner(s, n_args, shape, add, add, or, and, "+", "+", "|", "&");
run_inner(s, n_args, shape, add, add, or, add, "+", "+", "|", "+");
run_inner(s, n_args, shape, add, add, or, xor, "+", "+", "|", "^");
run_inner(s, n_args, shape, add, add, or, or, "+", "+", "|", "|");
run_inner(s, n_args, shape, add, add, or, sub, "+", "+", "|", "-");
run_inner(s, n_args, shape, add, add, or, bus, "+", "+", "|", "←");
run_inner(s, n_args, shape, add, add, or, mul, "+", "+", "|", "*");
run_inner(s, n_args, shape, add, add, or, rsh, "+", "+", "|", ">>");
run_inner(s, n_args, shape, add, add, or, hsr, "+", "+", "|", "<<");
run_inner(s, n_args, shape, add, add, sub, and, "+", "+", "-", "&");
run_inner(s, n_args, shape, add, add, sub, add, "+", "+", "-", "+");
run_inner(s, n_args, shape, add, add, sub, xor, "+", "+", "-", "^");
run_inner(s, n_args, shape, add, add, sub, or, "+", "+", "-", "|");
run_inner(s, n_args, shape, add, add, sub, sub, "+", "+", "-", "-");
run_inner(s, n_args, shape, add, add, sub, bus, "+", "+", "-", "←");
run_inner(s, n_args, shape, add, add, sub, mul, "+", "+", "-", "*");
run_inner(s, n_args, shape, add, add, sub, rsh, "+", "+", "-", ">>");
run_inner(s, n_args, shape, add, add, sub, hsr, "+", "+", "-", "<<");
run_inner(s, n_args, shape, add, add, bus, and, "+", "+", "←", "&");
run_inner(s, n_args, shape, add, add, bus, add, "+", "+", "←", "+");
run_inner(s, n_args, shape, add, add, bus, xor, "+", "+", "←", "^");
run_inner(s, n_args, shape, add, add, bus, or, "+", "+", "←", "|");
run_inner(s, n_args, shape, add, add, bus, sub, "+", "+", "←", "-");
run_inner(s, n_args, shape, add, add, bus, bus, "+", "+", "←", "←");
run_inner(s, n_args, shape, add, add, bus, mul, "+", "+", "←", "*");
run_inner(s, n_args, shape, add, add, bus, rsh, "+", "+", "←", ">>");
run_inner(s, n_args, shape, add, add, bus, hsr, "+", "+", "←", "<<");
run_inner(s, n_args, shape, add, add, mul, and, "+", "+", "*", "&");
run_inner(s, n_args, shape, add, add, mul, add, "+", "+", "*", "+");
run_inner(s, n_args, shape, add, add, mul, xor, "+", "+", "*", "^");
run_inner(s, n_args, shape, add, add, mul, or, "+", "+", "*", "|");
run_inner(s, n_args, shape, add, add, mul, sub, "+", "+", "*", "-");
run_inner(s, n_args, shape, add, add, mul, bus, "+", "+", "*", "←");
run_inner(s, n_args, shape, add, add, mul, mul, "+", "+", "*", "*");
run_inner(s, n_args, shape, add, add, mul, rsh, "+", "+", "*", ">>");
run_inner(s, n_args, shape, add, add, mul, hsr, "+", "+", "*", "<<");
run_inner(s, n_args, shape, add, add, rsh, and, "+", "+", ">>", "&");
run_inner(s, n_args, shape, add, add, rsh, add, "+", "+", ">>", "+");
run_inner(s, n_args, shape, add, add, rsh, xor, "+", "+", ">>", "^");
run_inner(s, n_args, shape, add, add, rsh, or, "+", "+", ">>", "|");
run_inner(s, n_args, shape, add, add, rsh, sub, "+", "+", ">>", "-");
run_inner(s, n_args, shape, add, add, rsh, bus, "+", "+", ">>", "←");
run_inner(s, n_args, shape, add, add, rsh, mul, "+", "+", ">>", "*");
run_inner(s, n_args, shape, add, add, rsh, rsh, "+", "+", ">>", ">>");
run_inner(s, n_args, shape, add, add, rsh, hsr, "+", "+", ">>", "<<");
run_inner(s, n_args, shape, add, add, hsr, and, "+", "+", "<<", "&");
run_inner(s, n_args, shape, add, add, hsr, add, "+", "+", "<<", "+");
run_inner(s, n_args, shape, add, add, hsr, xor, "+", "+", "<<", "^");
run_inner(s, n_args, shape, add, add, hsr, or, "+", "+", "<<", "|");
run_inner(s, n_args, shape, add, add, hsr, sub, "+", "+", "<<", "-");
run_inner(s, n_args, shape, add, add, hsr, bus, "+", "+", "<<", "←");
run_inner(s, n_args, shape, add, add, hsr, mul, "+", "+", "<<", "*");
run_inner(s, n_args, shape, add, add, hsr, rsh, "+", "+", "<<", ">>");
run_inner(s, n_args, shape, add, add, hsr, hsr, "+", "+", "<<", "<<");
run_inner(s, n_args, shape, add, xor, and, and, "+", "^", "&", "&");
run_inner(s, n_args, shape, add, xor, and, add, "+", "^", "&", "+");
run_inner(s, n_args, shape, add, xor, and, xor, "+", "^", "&", "^");
run_inner(s, n_args, shape, add, xor, and, or, "+", "^", "&", "|");
run_inner(s, n_args, shape, add, xor, and, sub, "+", "^", "&", "-");
run_inner(s, n_args, shape, add, xor, and, bus, "+", "^", "&", "←");
run_inner(s, n_args, shape, add, xor, and, mul, "+", "^", "&", "*");
run_inner(s, n_args, shape, add, xor, and, rsh, "+", "^", "&", ">>");
run_inner(s, n_args, shape, add, xor, and, hsr, "+", "^", "&", "<<");
run_inner(s, n_args, shape, add, xor, add, and, "+", "^", "+", "&");
run_inner(s, n_args, shape, add, xor, add, add, "+", "^", "+", "+");
run_inner(s, n_args, shape, add, xor, add, xor, "+", "^", "+", "^");
run_inner(s, n_args, shape, add, xor, add, or, "+", "^", "+", "|");
run_inner(s, n_args, shape, add, xor, add, sub, "+", "^", "+", "-");
run_inner(s, n_args, shape, add, xor, add, bus, "+", "^", "+", "←");
run_inner(s, n_args, shape, add, xor, add, mul, "+", "^", "+", "*");
run_inner(s, n_args, shape, add, xor, add, rsh, "+", "^", "+", ">>");
run_inner(s, n_args, shape, add, xor, add, hsr, "+", "^", "+", "<<");
run_inner(s, n_args, shape, add, xor, xor, and, "+", "^", "^", "&");
run_inner(s, n_args, shape, add, xor, xor, add, "+", "^", "^", "+");
run_inner(s, n_args, shape, add, xor, xor, xor, "+", "^", "^", "^");
run_inner(s, n_args, shape, add, xor, xor, or, "+", "^", "^", "|");
run_inner(s, n_args, shape, add, xor, xor, sub, "+", "^", "^", "-");
run_inner(s, n_args, shape, add, xor, xor, bus, "+", "^", "^", "←");
run_inner(s, n_args, shape, add, xor, xor, mul, "+", "^", "^", "*");
run_inner(s, n_args, shape, add, xor, xor, rsh, "+", "^", "^", ">>");
run_inner(s, n_args, shape, add, xor, xor, hsr, "+", "^", "^", "<<");
run_inner(s, n_args, shape, add, xor, or, and, "+", "^", "|", "&");
run_inner(s, n_args, shape, add, xor, or, add, "+", "^", "|", "+");
run_inner(s, n_args, shape, add, xor, or, xor, "+", "^", "|", "^");
run_inner(s, n_args, shape, add, xor, or, or, "+", "^", "|", "|");
run_inner(s, n_args, shape, add, xor, or, sub, "+", "^", "|", "-");
run_inner(s, n_args, shape, add, xor, or, bus, "+", "^", "|", "←");
run_inner(s, n_args, shape, add, xor, or, mul, "+", "^", "|", "*");
run_inner(s, n_args, shape, add, xor, or, rsh, "+", "^", "|", ">>");
run_inner(s, n_args, shape, add, xor, or, hsr, "+", "^", "|", "<<");
run_inner(s, n_args, shape, add, xor, sub, and, "+", "^", "-", "&");
run_inner(s, n_args, shape, add, xor, sub, add, "+", "^", "-", "+");
run_inner(s, n_args, shape, add, xor, sub, xor, "+", "^", "-", "^");
run_inner(s, n_args, shape, add, xor, sub, or, "+", "^", "-", "|");
run_inner(s, n_args, shape, add, xor, sub, sub, "+", "^", "-", "-");
run_inner(s, n_args, shape, add, xor, sub, bus, "+", "^", "-", "←");
run_inner(s, n_args, shape, add, xor, sub, mul, "+", "^", "-", "*");
run_inner(s, n_args, shape, add, xor, sub, rsh, "+", "^", "-", ">>");
run_inner(s, n_args, shape, add, xor, sub, hsr, "+", "^", "-", "<<");
run_inner(s, n_args, shape, add, xor, bus, and, "+", "^", "←", "&");
run_inner(s, n_args, shape, add, xor, bus, add, "+", "^", "←", "+");
run_inner(s, n_args, shape, add, xor, bus, xor, "+", "^", "←", "^");
run_inner(s, n_args, shape, add, xor, bus, or, "+", "^", "←", "|");
run_inner(s, n_args, shape, add, xor, bus, sub, "+", "^", "←", "-");
run_inner(s, n_args, shape, add, xor, bus, bus, "+", "^", "←", "←");
run_inner(s, n_args, shape, add, xor, bus, mul, "+", "^", "←", "*");
run_inner(s, n_args, shape, add, xor, bus, rsh, "+", "^", "←", ">>");
run_inner(s, n_args, shape, add, xor, bus, hsr, "+", "^", "←", "<<");
run_inner(s, n_args, shape, add, xor, mul, and, "+", "^", "*", "&");
run_inner(s, n_args, shape, add, xor, mul, add, "+", "^", "*", "+");
run_inner(s, n_args, shape, add, xor, mul, xor, "+", "^", "*", "^");
run_inner(s, n_args, shape, add, xor, mul, or, "+", "^", "*", "|");
run_inner(s, n_args, shape, add, xor, mul, sub, "+", "^", "*", "-");
run_inner(s, n_args, shape, add, xor, mul, bus, "+", "^", "*", "←");
run_inner(s, n_args, shape, add, xor, mul, mul, "+", "^", "*", "*");
run_inner(s, n_args, shape, add, xor, mul, rsh, "+", "^", "*", ">>");
run_inner(s, n_args, shape, add, xor, mul, hsr, "+", "^", "*", "<<");
run_inner(s, n_args, shape, add, xor, rsh, and, "+", "^", ">>", "&");
run_inner(s, n_args, shape, add, xor, rsh, add, "+", "^", ">>", "+");
run_inner(s, n_args, shape, add, xor, rsh, xor, "+", "^", ">>", "^");
run_inner(s, n_args, shape, add, xor, rsh, or, "+", "^", ">>", "|");
run_inner(s, n_args, shape, add, xor, rsh, sub, "+", "^", ">>", "-");
run_inner(s, n_args, shape, add, xor, rsh, bus, "+", "^", ">>", "←");
run_inner(s, n_args, shape, add, xor, rsh, mul, "+", "^", ">>", "*");
run_inner(s, n_args, shape, add, xor, rsh, rsh, "+", "^", ">>", ">>");
run_inner(s, n_args, shape, add, xor, rsh, hsr, "+", "^", ">>", "<<");
run_inner(s, n_args, shape, add, xor, hsr, and, "+", "^", "<<", "&");
run_inner(s, n_args, shape, add, xor, hsr, add, "+", "^", "<<", "+");
run_inner(s, n_args, shape, add, xor, hsr, xor, "+", "^", "<<", "^");
run_inner(s, n_args, shape, add, xor, hsr, or, "+", "^", "<<", "|");
run_inner(s, n_args, shape, add, xor, hsr, sub, "+", "^", "<<", "-");
run_inner(s, n_args, shape, add, xor, hsr, bus, "+", "^", "<<", "←");
run_inner(s, n_args, shape, add, xor, hsr, mul, "+", "^", "<<", "*");
run_inner(s, n_args, shape, add, xor, hsr, rsh, "+", "^", "<<", ">>");
run_inner(s, n_args, shape, add, xor, hsr, hsr, "+", "^", "<<", "<<");
run_inner(s, n_args, shape, add, or, and, and, "+", "|", "&", "&");
run_inner(s, n_args, shape, add, or, and, add, "+", "|", "&", "+");
run_inner(s, n_args, shape, add, or, and, xor, "+", "|", "&", "^");
run_inner(s, n_args, shape, add, or, and, or, "+", "|", "&", "|");
run_inner(s, n_args, shape, add, or, and, sub, "+", "|", "&", "-");
run_inner(s, n_args, shape, add, or, and, bus, "+", "|", "&", "←");
run_inner(s, n_args, shape, add, or, and, mul, "+", "|", "&", "*");
run_inner(s, n_args, shape, add, or, and, rsh, "+", "|", "&", ">>");
run_inner(s, n_args, shape, add, or, and, hsr, "+", "|", "&", "<<");
run_inner(s, n_args, shape, add, or, add, and, "+", "|", "+", "&");
run_inner(s, n_args, shape, add, or, add, add, "+", "|", "+", "+");
run_inner(s, n_args, shape, add, or, add, xor, "+", "|", "+", "^");
run_inner(s, n_args, shape, add, or, add, or, "+", "|", "+", "|");
run_inner(s, n_args, shape, add, or, add, sub, "+", "|", "+", "-");
run_inner(s, n_args, shape, add, or, add, bus, "+", "|", "+", "←");
run_inner(s, n_args, shape, add, or, add, mul, "+", "|", "+", "*");
run_inner(s, n_args, shape, add, or, add, rsh, "+", "|", "+", ">>");
run_inner(s, n_args, shape, add, or, add, hsr, "+", "|", "+", "<<");
run_inner(s, n_args, shape, add, or, xor, and, "+", "|", "^", "&");
run_inner(s, n_args, shape, add, or, xor, add, "+", "|", "^", "+");
run_inner(s, n_args, shape, add, or, xor, xor, "+", "|", "^", "^");
run_inner(s, n_args, shape, add, or, xor, or, "+", "|", "^", "|");
run_inner(s, n_args, shape, add, or, xor, sub, "+", "|", "^", "-");
run_inner(s, n_args, shape, add, or, xor, bus, "+", "|", "^", "←");
run_inner(s, n_args, shape, add, or, xor, mul, "+", "|", "^", "*");
run_inner(s, n_args, shape, add, or, xor, rsh, "+", "|", "^", ">>");
run_inner(s, n_args, shape, add, or, xor, hsr, "+", "|", "^", "<<");
run_inner(s, n_args, shape, add, or, or, and, "+", "|", "|", "&");
run_inner(s, n_args, shape, add, or, or, add, "+", "|", "|", "+");
run_inner(s, n_args, shape, add, or, or, xor, "+", "|", "|", "^");
run_inner(s, n_args, shape, add, or, or, or, "+", "|", "|", "|");
run_inner(s, n_args, shape, add, or, or, sub, "+", "|", "|", "-");
run_inner(s, n_args, shape, add, or, or, bus, "+", "|", "|", "←");
run_inner(s, n_args, shape, add, or, or, mul, "+", "|", "|", "*");
run_inner(s, n_args, shape, add, or, or, rsh, "+", "|", "|", ">>");
run_inner(s, n_args, shape, add, or, or, hsr, "+", "|", "|", "<<");
run_inner(s, n_args, shape, add, or, sub, and, "+", "|", "-", "&");
run_inner(s, n_args, shape, add, or, sub, add, "+", "|", "-", "+");
run_inner(s, n_args, shape, add, or, sub, xor, "+", "|", "-", "^");
run_inner(s, n_args, shape, add, or, sub, or, "+", "|", "-", "|");
run_inner(s, n_args, shape, add, or, sub, sub, "+", "|", "-", "-");
run_inner(s, n_args, shape, add, or, sub, bus, "+", "|", "-", "←");
run_inner(s, n_args, shape, add, or, sub, mul, "+", "|", "-", "*");
run_inner(s, n_args, shape, add, or, sub, rsh, "+", "|", "-", ">>");
run_inner(s, n_args, shape, add, or, sub, hsr, "+", "|", "-", "<<");
run_inner(s, n_args, shape, add, or, bus, and, "+", "|", "←", "&");
run_inner(s, n_args, shape, add, or, bus, add, "+", "|", "←", "+");
run_inner(s, n_args, shape, add, or, bus, xor, "+", "|", "←", "^");
run_inner(s, n_args, shape, add, or, bus, or, "+", "|", "←", "|");
run_inner(s, n_args, shape, add, or, bus, sub, "+", "|", "←", "-");
run_inner(s, n_args, shape, add, or, bus, bus, "+", "|", "←", "←");
run_inner(s, n_args, shape, add, or, bus, mul, "+", "|", "←", "*");
run_inner(s, n_args, shape, add, or, bus, rsh, "+", "|", "←", ">>");
run_inner(s, n_args, shape, add, or, bus, hsr, "+", "|", "←", "<<");
run_inner(s, n_args, shape, add, or, mul, and, "+", "|", "*", "&");
run_inner(s, n_args, shape, add, or, mul, add, "+", "|", "*", "+");
run_inner(s, n_args, shape, add, or, mul, xor, "+", "|", "*", "^");
run_inner(s, n_args, shape, add, or, mul, or, "+", "|", "*", "|");
run_inner(s, n_args, shape, add, or, mul, sub, "+", "|", "*", "-");
run_inner(s, n_args, shape, add, or, mul, bus, "+", "|", "*", "←");
run_inner(s, n_args, shape, add, or, mul, mul, "+", "|", "*", "*");
run_inner(s, n_args, shape, add, or, mul, rsh, "+", "|", "*", ">>");
run_inner(s, n_args, shape, add, or, mul, hsr, "+", "|", "*", "<<");
run_inner(s, n_args, shape, add, or, rsh, and, "+", "|", ">>", "&");
run_inner(s, n_args, shape, add, or, rsh, add, "+", "|", ">>", "+");
run_inner(s, n_args, shape, add, or, rsh, xor, "+", "|", ">>", "^");
run_inner(s, n_args, shape, add, or, rsh, or, "+", "|", ">>", "|");
run_inner(s, n_args, shape, add, or, rsh, sub, "+", "|", ">>", "-");
run_inner(s, n_args, shape, add, or, rsh, bus, "+", "|", ">>", "←");
run_inner(s, n_args, shape, add, or, rsh, mul, "+", "|", ">>", "*");
run_inner(s, n_args, shape, add, or, rsh, rsh, "+", "|", ">>", ">>");
run_inner(s, n_args, shape, add, or, rsh, hsr, "+", "|", ">>", "<<");
run_inner(s, n_args, shape, add, or, hsr, and, "+", "|", "<<", "&");
run_inner(s, n_args, shape, add, or, hsr, add, "+", "|", "<<", "+");
run_inner(s, n_args, shape, add, or, hsr, xor, "+", "|", "<<", "^");
run_inner(s, n_args, shape, add, or, hsr, or, "+", "|", "<<", "|");
run_inner(s, n_args, shape, add, or, hsr, sub, "+", "|", "<<", "-");
run_inner(s, n_args, shape, add, or, hsr, bus, "+", "|", "<<", "←");
run_inner(s, n_args, shape, add, or, hsr, mul, "+", "|", "<<", "*");
run_inner(s, n_args, shape, add, or, hsr, rsh, "+", "|", "<<", ">>");
run_inner(s, n_args, shape, add, or, hsr, hsr, "+", "|", "<<", "<<");
run_inner(s, n_args, shape, add, sub, and, and, "+", "-", "&", "&");
run_inner(s, n_args, shape, add, sub, and, add, "+", "-", "&", "+");
run_inner(s, n_args, shape, add, sub, and, xor, "+", "-", "&", "^");
run_inner(s, n_args, shape, add, sub, and, or, "+", "-", "&", "|");
run_inner(s, n_args, shape, add, sub, and, sub, "+", "-", "&", "-");
run_inner(s, n_args, shape, add, sub, and, bus, "+", "-", "&", "←");
run_inner(s, n_args, shape, add, sub, and, mul, "+", "-", "&", "*");
run_inner(s, n_args, shape, add, sub, and, rsh, "+", "-", "&", ">>");
run_inner(s, n_args, shape, add, sub, and, hsr, "+", "-", "&", "<<");
run_inner(s, n_args, shape, add, sub, add, and, "+", "-", "+", "&");
run_inner(s, n_args, shape, add, sub, add, add, "+", "-", "+", "+");
run_inner(s, n_args, shape, add, sub, add, xor, "+", "-", "+", "^");
run_inner(s, n_args, shape, add, sub, add, or, "+", "-", "+", "|");
run_inner(s, n_args, shape, add, sub, add, sub, "+", "-", "+", "-");
run_inner(s, n_args, shape, add, sub, add, bus, "+", "-", "+", "←");
run_inner(s, n_args, shape, add, sub, add, mul, "+", "-", "+", "*");
run_inner(s, n_args, shape, add, sub, add, rsh, "+", "-", "+", ">>");
run_inner(s, n_args, shape, add, sub, add, hsr, "+", "-", "+", "<<");
run_inner(s, n_args, shape, add, sub, xor, and, "+", "-", "^", "&");
run_inner(s, n_args, shape, add, sub, xor, add, "+", "-", "^", "+");
run_inner(s, n_args, shape, add, sub, xor, xor, "+", "-", "^", "^");
run_inner(s, n_args, shape, add, sub, xor, or, "+", "-", "^", "|");
run_inner(s, n_args, shape, add, sub, xor, sub, "+", "-", "^", "-");
run_inner(s, n_args, shape, add, sub, xor, bus, "+", "-", "^", "←");
run_inner(s, n_args, shape, add, sub, xor, mul, "+", "-", "^", "*");
run_inner(s, n_args, shape, add, sub, xor, rsh, "+", "-", "^", ">>");
run_inner(s, n_args, shape, add, sub, xor, hsr, "+", "-", "^", "<<");
run_inner(s, n_args, shape, add, sub, or, and, "+", "-", "|", "&");
run_inner(s, n_args, shape, add, sub, or, add, "+", "-", "|", "+");
run_inner(s, n_args, shape, add, sub, or, xor, "+", "-", "|", "^");
run_inner(s, n_args, shape, add, sub, or, or, "+", "-", "|", "|");
run_inner(s, n_args, shape, add, sub, or, sub, "+", "-", "|", "-");
run_inner(s, n_args, shape, add, sub, or, bus, "+", "-", "|", "←");
run_inner(s, n_args, shape, add, sub, or, mul, "+", "-", "|", "*");
run_inner(s, n_args, shape, add, sub, or, rsh, "+", "-", "|", ">>");
run_inner(s, n_args, shape, add, sub, or, hsr, "+", "-", "|", "<<");
run_inner(s, n_args, shape, add, sub, sub, and, "+", "-", "-", "&");
run_inner(s, n_args, shape, add, sub, sub, add, "+", "-", "-", "+");
run_inner(s, n_args, shape, add, sub, sub, xor, "+", "-", "-", "^");
run_inner(s, n_args, shape, add, sub, sub, or, "+", "-", "-", "|");
run_inner(s, n_args, shape, add, sub, sub, sub, "+", "-", "-", "-");
run_inner(s, n_args, shape, add, sub, sub, bus, "+", "-", "-", "←");
run_inner(s, n_args, shape, add, sub, sub, mul, "+", "-", "-", "*");
run_inner(s, n_args, shape, add, sub, sub, rsh, "+", "-", "-", ">>");
run_inner(s, n_args, shape, add, sub, sub, hsr, "+", "-", "-", "<<");
run_inner(s, n_args, shape, add, sub, bus, and, "+", "-", "←", "&");
run_inner(s, n_args, shape, add, sub, bus, add, "+", "-", "←", "+");
run_inner(s, n_args, shape, add, sub, bus, xor, "+", "-", "←", "^");
run_inner(s, n_args, shape, add, sub, bus, or, "+", "-", "←", "|");
run_inner(s, n_args, shape, add, sub, bus, sub, "+", "-", "←", "-");
run_inner(s, n_args, shape, add, sub, bus, bus, "+", "-", "←", "←");
run_inner(s, n_args, shape, add, sub, bus, mul, "+", "-", "←", "*");
run_inner(s, n_args, shape, add, sub, bus, rsh, "+", "-", "←", ">>");
run_inner(s, n_args, shape, add, sub, bus, hsr, "+", "-", "←", "<<");
run_inner(s, n_args, shape, add, sub, mul, and, "+", "-", "*", "&");
run_inner(s, n_args, shape, add, sub, mul, add, "+", "-", "*", "+");
run_inner(s, n_args, shape, add, sub, mul, xor, "+", "-", "*", "^");
run_inner(s, n_args, shape, add, sub, mul, or, "+", "-", "*", "|");
run_inner(s, n_args, shape, add, sub, mul, sub, "+", "-", "*", "-");
run_inner(s, n_args, shape, add, sub, mul, bus, "+", "-", "*", "←");
run_inner(s, n_args, shape, add, sub, mul, mul, "+", "-", "*", "*");
run_inner(s, n_args, shape, add, sub, mul, rsh, "+", "-", "*", ">>");
run_inner(s, n_args, shape, add, sub, mul, hsr, "+", "-", "*", "<<");
run_inner(s, n_args, shape, add, sub, rsh, and, "+", "-", ">>", "&");
run_inner(s, n_args, shape, add, sub, rsh, add, "+", "-", ">>", "+");
run_inner(s, n_args, shape, add, sub, rsh, xor, "+", "-", ">>", "^");
run_inner(s, n_args, shape, add, sub, rsh, or, "+", "-", ">>", "|");
run_inner(s, n_args, shape, add, sub, rsh, sub, "+", "-", ">>", "-");
run_inner(s, n_args, shape, add, sub, rsh, bus, "+", "-", ">>", "←");
run_inner(s, n_args, shape, add, sub, rsh, mul, "+", "-", ">>", "*");
run_inner(s, n_args, shape, add, sub, rsh, rsh, "+", "-", ">>", ">>");
run_inner(s, n_args, shape, add, sub, rsh, hsr, "+", "-", ">>", "<<");
run_inner(s, n_args, shape, add, sub, hsr, and, "+", "-", "<<", "&");
run_inner(s, n_args, shape, add, sub, hsr, add, "+", "-", "<<", "+");
run_inner(s, n_args, shape, add, sub, hsr, xor, "+", "-", "<<", "^");
run_inner(s, n_args, shape, add, sub, hsr, or, "+", "-", "<<", "|");
run_inner(s, n_args, shape, add, sub, hsr, sub, "+", "-", "<<", "-");
run_inner(s, n_args, shape, add, sub, hsr, bus, "+", "-", "<<", "←");
run_inner(s, n_args, shape, add, sub, hsr, mul, "+", "-", "<<", "*");
run_inner(s, n_args, shape, add, sub, hsr, rsh, "+", "-", "<<", ">>");
run_inner(s, n_args, shape, add, sub, hsr, hsr, "+", "-", "<<", "<<");
run_inner(s, n_args, shape, add, bus, and, and, "+", "←", "&", "&");
run_inner(s, n_args, shape, add, bus, and, add, "+", "←", "&", "+");
run_inner(s, n_args, shape, add, bus, and, xor, "+", "←", "&", "^");
run_inner(s, n_args, shape, add, bus, and, or, "+", "←", "&", "|");
run_inner(s, n_args, shape, add, bus, and, sub, "+", "←", "&", "-");
run_inner(s, n_args, shape, add, bus, and, bus, "+", "←", "&", "←");
run_inner(s, n_args, shape, add, bus, and, mul, "+", "←", "&", "*");
run_inner(s, n_args, shape, add, bus, and, rsh, "+", "←", "&", ">>");
run_inner(s, n_args, shape, add, bus, and, hsr, "+", "←", "&", "<<");
run_inner(s, n_args, shape, add, bus, add, and, "+", "←", "+", "&");
run_inner(s, n_args, shape, add, bus, add, add, "+", "←", "+", "+");
run_inner(s, n_args, shape, add, bus, add, xor, "+", "←", "+", "^");
run_inner(s, n_args, shape, add, bus, add, or, "+", "←", "+", "|");
run_inner(s, n_args, shape, add, bus, add, sub, "+", "←", "+", "-");
run_inner(s, n_args, shape, add, bus, add, bus, "+", "←", "+", "←");
run_inner(s, n_args, shape, add, bus, add, mul, "+", "←", "+", "*");
run_inner(s, n_args, shape, add, bus, add, rsh, "+", "←", "+", ">>");
run_inner(s, n_args, shape, add, bus, add, hsr, "+", "←", "+", "<<");
run_inner(s, n_args, shape, add, bus, xor, and, "+", "←", "^", "&");
run_inner(s, n_args, shape, add, bus, xor, add, "+", "←", "^", "+");
run_inner(s, n_args, shape, add, bus, xor, xor, "+", "←", "^", "^");
run_inner(s, n_args, shape, add, bus, xor, or, "+", "←", "^", "|");
run_inner(s, n_args, shape, add, bus, xor, sub, "+", "←", "^", "-");
run_inner(s, n_args, shape, add, bus, xor, bus, "+", "←", "^", "←");
run_inner(s, n_args, shape, add, bus, xor, mul, "+", "←", "^", "*");
run_inner(s, n_args, shape, add, bus, xor, rsh, "+", "←", "^", ">>");
run_inner(s, n_args, shape, add, bus, xor, hsr, "+", "←", "^", "<<");
run_inner(s, n_args, shape, add, bus, or, and, "+", "←", "|", "&");
run_inner(s, n_args, shape, add, bus, or, add, "+", "←", "|", "+");
run_inner(s, n_args, shape, add, bus, or, xor, "+", "←", "|", "^");
run_inner(s, n_args, shape, add, bus, or, or, "+", "←", "|", "|");
run_inner(s, n_args, shape, add, bus, or, sub, "+", "←", "|", "-");
run_inner(s, n_args, shape, add, bus, or, bus, "+", "←", "|", "←");
run_inner(s, n_args, shape, add, bus, or, mul, "+", "←", "|", "*");
run_inner(s, n_args, shape, add, bus, or, rsh, "+", "←", "|", ">>");
run_inner(s, n_args, shape, add, bus, or, hsr, "+", "←", "|", "<<");
run_inner(s, n_args, shape, add, bus, sub, and, "+", "←", "-", "&");
run_inner(s, n_args, shape, add, bus, sub, add, "+", "←", "-", "+");
run_inner(s, n_args, shape, add, bus, sub, xor, "+", "←", "-", "^");
run_inner(s, n_args, shape, add, bus, sub, or, "+", "←", "-", "|");
run_inner(s, n_args, shape, add, bus, sub, sub, "+", "←", "-", "-");
run_inner(s, n_args, shape, add, bus, sub, bus, "+", "←", "-", "←");
run_inner(s, n_args, shape, add, bus, sub, mul, "+", "←", "-", "*");
run_inner(s, n_args, shape, add, bus, sub, rsh, "+", "←", "-", ">>");
run_inner(s, n_args, shape, add, bus, sub, hsr, "+", "←", "-", "<<");
run_inner(s, n_args, shape, add, bus, bus, and, "+", "←", "←", "&");
run_inner(s, n_args, shape, add, bus, bus, add, "+", "←", "←", "+");
run_inner(s, n_args, shape, add, bus, bus, xor, "+", "←", "←", "^");
run_inner(s, n_args, shape, add, bus, bus, or, "+", "←", "←", "|");
run_inner(s, n_args, shape, add, bus, bus, sub, "+", "←", "←", "-");
run_inner(s, n_args, shape, add, bus, bus, bus, "+", "←", "←", "←");
run_inner(s, n_args, shape, add, bus, bus, mul, "+", "←", "←", "*");
run_inner(s, n_args, shape, add, bus, bus, rsh, "+", "←", "←", ">>");
run_inner(s, n_args, shape, add, bus, bus, hsr, "+", "←", "←", "<<");
run_inner(s, n_args, shape, add, bus, mul, and, "+", "←", "*", "&");
run_inner(s, n_args, shape, add, bus, mul, add, "+", "←", "*", "+");
run_inner(s, n_args, shape, add, bus, mul, xor, "+", "←", "*", "^");
run_inner(s, n_args, shape, add, bus, mul, or, "+", "←", "*", "|");
run_inner(s, n_args, shape, add, bus, mul, sub, "+", "←", "*", "-");
run_inner(s, n_args, shape, add, bus, mul, bus, "+", "←", "*", "←");
run_inner(s, n_args, shape, add, bus, mul, mul, "+", "←", "*", "*");
run_inner(s, n_args, shape, add, bus, mul, rsh, "+", "←", "*", ">>");
run_inner(s, n_args, shape, add, bus, mul, hsr, "+", "←", "*", "<<");
run_inner(s, n_args, shape, add, bus, rsh, and, "+", "←", ">>", "&");
run_inner(s, n_args, shape, add, bus, rsh, add, "+", "←", ">>", "+");
run_inner(s, n_args, shape, add, bus, rsh, xor, "+", "←", ">>", "^");
run_inner(s, n_args, shape, add, bus, rsh, or, "+", "←", ">>", "|");
run_inner(s, n_args, shape, add, bus, rsh, sub, "+", "←", ">>", "-");
run_inner(s, n_args, shape, add, bus, rsh, bus, "+", "←", ">>", "←");
run_inner(s, n_args, shape, add, bus, rsh, mul, "+", "←", ">>", "*");
run_inner(s, n_args, shape, add, bus, rsh, rsh, "+", "←", ">>", ">>");
run_inner(s, n_args, shape, add, bus, rsh, hsr, "+", "←", ">>", "<<");
run_inner(s, n_args, shape, add, bus, hsr, and, "+", "←", "<<", "&");
run_inner(s, n_args, shape, add, bus, hsr, add, "+", "←", "<<", "+");
run_inner(s, n_args, shape, add, bus, hsr, xor, "+", "←", "<<", "^");
run_inner(s, n_args, shape, add, bus, hsr, or, "+", "←", "<<", "|");
run_inner(s, n_args, shape, add, bus, hsr, sub, "+", "←", "<<", "-");
run_inner(s, n_args, shape, add, bus, hsr, bus, "+", "←", "<<", "←");
run_inner(s, n_args, shape, add, bus, hsr, mul, "+", "←", "<<", "*");
run_inner(s, n_args, shape, add, bus, hsr, rsh, "+", "←", "<<", ">>");
run_inner(s, n_args, shape, add, bus, hsr, hsr, "+", "←", "<<", "<<");
run_inner(s, n_args, shape, add, mul, and, and, "+", "*", "&", "&");
run_inner(s, n_args, shape, add, mul, and, add, "+", "*", "&", "+");
run_inner(s, n_args, shape, add, mul, and, xor, "+", "*", "&", "^");
run_inner(s, n_args, shape, add, mul, and, or, "+", "*", "&", "|");
run_inner(s, n_args, shape, add, mul, and, sub, "+", "*", "&", "-");
run_inner(s, n_args, shape, add, mul, and, bus, "+", "*", "&", "←");
run_inner(s, n_args, shape, add, mul, and, mul, "+", "*", "&", "*");
run_inner(s, n_args, shape, add, mul, and, rsh, "+", "*", "&", ">>");
run_inner(s, n_args, shape, add, mul, and, hsr, "+", "*", "&", "<<");
run_inner(s, n_args, shape, add, mul, add, and, "+", "*", "+", "&");
run_inner(s, n_args, shape, add, mul, add, add, "+", "*", "+", "+");
run_inner(s, n_args, shape, add, mul, add, xor, "+", "*", "+", "^");
run_inner(s, n_args, shape, add, mul, add, or, "+", "*", "+", "|");
run_inner(s, n_args, shape, add, mul, add, sub, "+", "*", "+", "-");
run_inner(s, n_args, shape, add, mul, add, bus, "+", "*", "+", "←");
run_inner(s, n_args, shape, add, mul, add, mul, "+", "*", "+", "*");
run_inner(s, n_args, shape, add, mul, add, rsh, "+", "*", "+", ">>");
run_inner(s, n_args, shape, add, mul, add, hsr, "+", "*", "+", "<<");
run_inner(s, n_args, shape, add, mul, xor, and, "+", "*", "^", "&");
run_inner(s, n_args, shape, add, mul, xor, add, "+", "*", "^", "+");
run_inner(s, n_args, shape, add, mul, xor, xor, "+", "*", "^", "^");
run_inner(s, n_args, shape, add, mul, xor, or, "+", "*", "^", "|");
run_inner(s, n_args, shape, add, mul, xor, sub, "+", "*", "^", "-");
run_inner(s, n_args, shape, add, mul, xor, bus, "+", "*", "^", "←");
run_inner(s, n_args, shape, add, mul, xor, mul, "+", "*", "^", "*");
run_inner(s, n_args, shape, add, mul, xor, rsh, "+", "*", "^", ">>");
run_inner(s, n_args, shape, add, mul, xor, hsr, "+", "*", "^", "<<");
run_inner(s, n_args, shape, add, mul, or, and, "+", "*", "|", "&");
run_inner(s, n_args, shape, add, mul, or, add, "+", "*", "|", "+");
run_inner(s, n_args, shape, add, mul, or, xor, "+", "*", "|", "^");
run_inner(s, n_args, shape, add, mul, or, or, "+", "*", "|", "|");
run_inner(s, n_args, shape, add, mul, or, sub, "+", "*", "|", "-");
run_inner(s, n_args, shape, add, mul, or, bus, "+", "*", "|", "←");
run_inner(s, n_args, shape, add, mul, or, mul, "+", "*", "|", "*");
run_inner(s, n_args, shape, add, mul, or, rsh, "+", "*", "|", ">>");
run_inner(s, n_args, shape, add, mul, or, hsr, "+", "*", "|", "<<");
run_inner(s, n_args, shape, add, mul, sub, and, "+", "*", "-", "&");
run_inner(s, n_args, shape, add, mul, sub, add, "+", "*", "-", "+");
run_inner(s, n_args, shape, add, mul, sub, xor, "+", "*", "-", "^");
run_inner(s, n_args, shape, add, mul, sub, or, "+", "*", "-", "|");
run_inner(s, n_args, shape, add, mul, sub, sub, "+", "*", "-", "-");
run_inner(s, n_args, shape, add, mul, sub, bus, "+", "*", "-", "←");
run_inner(s, n_args, shape, add, mul, sub, mul, "+", "*", "-", "*");
run_inner(s, n_args, shape, add, mul, sub, rsh, "+", "*", "-", ">>");
run_inner(s, n_args, shape, add, mul, sub, hsr, "+", "*", "-", "<<");
run_inner(s, n_args, shape, add, mul, bus, and, "+", "*", "←", "&");
run_inner(s, n_args, shape, add, mul, bus, add, "+", "*", "←", "+");
run_inner(s, n_args, shape, add, mul, bus, xor, "+", "*", "←", "^");
run_inner(s, n_args, shape, add, mul, bus, or, "+", "*", "←", "|");
run_inner(s, n_args, shape, add, mul, bus, sub, "+", "*", "←", "-");
run_inner(s, n_args, shape, add, mul, bus, bus, "+", "*", "←", "←");
run_inner(s, n_args, shape, add, mul, bus, mul, "+", "*", "←", "*");
run_inner(s, n_args, shape, add, mul, bus, rsh, "+", "*", "←", ">>");
run_inner(s, n_args, shape, add, mul, bus, hsr, "+", "*", "←", "<<");
run_inner(s, n_args, shape, add, mul, mul, and, "+", "*", "*", "&");
run_inner(s, n_args, shape, add, mul, mul, add, "+", "*", "*", "+");
run_inner(s, n_args, shape, add, mul, mul, xor, "+", "*", "*", "^");
run_inner(s, n_args, shape, add, mul, mul, or, "+", "*", "*", "|");
run_inner(s, n_args, shape, add, mul, mul, sub, "+", "*", "*", "-");
run_inner(s, n_args, shape, add, mul, mul, bus, "+", "*", "*", "←");
run_inner(s, n_args, shape, add, mul, mul, mul, "+", "*", "*", "*");
run_inner(s, n_args, shape, add, mul, mul, rsh, "+", "*", "*", ">>");
run_inner(s, n_args, shape, add, mul, mul, hsr, "+", "*", "*", "<<");
run_inner(s, n_args, shape, add, mul, rsh, and, "+", "*", ">>", "&");
run_inner(s, n_args, shape, add, mul, rsh, add, "+", "*", ">>", "+");
run_inner(s, n_args, shape, add, mul, rsh, xor, "+", "*", ">>", "^");
run_inner(s, n_args, shape, add, mul, rsh, or, "+", "*", ">>", "|");
run_inner(s, n_args, shape, add, mul, rsh, sub, "+", "*", ">>", "-");
run_inner(s, n_args, shape, add, mul, rsh, bus, "+", "*", ">>", "←");
run_inner(s, n_args, shape, add, mul, rsh, mul, "+", "*", ">>", "*");
run_inner(s, n_args, shape, add, mul, rsh, rsh, "+", "*", ">>", ">>");
run_inner(s, n_args, shape, add, mul, rsh, hsr, "+", "*", ">>", "<<");
run_inner(s, n_args, shape, add, mul, hsr, and, "+", "*", "<<", "&");
run_inner(s, n_args, shape, add, mul, hsr, add, "+", "*", "<<", "+");
run_inner(s, n_args, shape, add, mul, hsr, xor, "+", "*", "<<", "^");
run_inner(s, n_args, shape, add, mul, hsr, or, "+", "*", "<<", "|");
run_inner(s, n_args, shape, add, mul, hsr, sub, "+", "*", "<<", "-");
run_inner(s, n_args, shape, add, mul, hsr, bus, "+", "*", "<<", "←");
run_inner(s, n_args, shape, add, mul, hsr, mul, "+", "*", "<<", "*");
run_inner(s, n_args, shape, add, mul, hsr, rsh, "+", "*", "<<", ">>");
run_inner(s, n_args, shape, add, mul, hsr, hsr, "+", "*", "<<", "<<");
run_inner(s, n_args, shape, add, rsh, and, and, "+", ">>", "&", "&");
run_inner(s, n_args, shape, add, rsh, and, add, "+", ">>", "&", "+");
run_inner(s, n_args, shape, add, rsh, and, xor, "+", ">>", "&", "^");
run_inner(s, n_args, shape, add, rsh, and, or, "+", ">>", "&", "|");
run_inner(s, n_args, shape, add, rsh, and, sub, "+", ">>", "&", "-");
run_inner(s, n_args, shape, add, rsh, and, bus, "+", ">>", "&", "←");
run_inner(s, n_args, shape, add, rsh, and, mul, "+", ">>", "&", "*");
run_inner(s, n_args, shape, add, rsh, and, rsh, "+", ">>", "&", ">>");
run_inner(s, n_args, shape, add, rsh, and, hsr, "+", ">>", "&", "<<");
run_inner(s, n_args, shape, add, rsh, add, and, "+", ">>", "+", "&");
run_inner(s, n_args, shape, add, rsh, add, add, "+", ">>", "+", "+");
run_inner(s, n_args, shape, add, rsh, add, xor, "+", ">>", "+", "^");
run_inner(s, n_args, shape, add, rsh, add, or, "+", ">>", "+", "|");
run_inner(s, n_args, shape, add, rsh, add, sub, "+", ">>", "+", "-");
run_inner(s, n_args, shape, add, rsh, add, bus, "+", ">>", "+", "←");
run_inner(s, n_args, shape, add, rsh, add, mul, "+", ">>", "+", "*");
run_inner(s, n_args, shape, add, rsh, add, rsh, "+", ">>", "+", ">>");
run_inner(s, n_args, shape, add, rsh, add, hsr, "+", ">>", "+", "<<");
run_inner(s, n_args, shape, add, rsh, xor, and, "+", ">>", "^", "&");
run_inner(s, n_args, shape, add, rsh, xor, add, "+", ">>", "^", "+");
run_inner(s, n_args, shape, add, rsh, xor, xor, "+", ">>", "^", "^");
run_inner(s, n_args, shape, add, rsh, xor, or, "+", ">>", "^", "|");
run_inner(s, n_args, shape, add, rsh, xor, sub, "+", ">>", "^", "-");
run_inner(s, n_args, shape, add, rsh, xor, bus, "+", ">>", "^", "←");
run_inner(s, n_args, shape, add, rsh, xor, mul, "+", ">>", "^", "*");
run_inner(s, n_args, shape, add, rsh, xor, rsh, "+", ">>", "^", ">>");
run_inner(s, n_args, shape, add, rsh, xor, hsr, "+", ">>", "^", "<<");
run_inner(s, n_args, shape, add, rsh, or, and, "+", ">>", "|", "&");
run_inner(s, n_args, shape, add, rsh, or, add, "+", ">>", "|", "+");
run_inner(s, n_args, shape, add, rsh, or, xor, "+", ">>", "|", "^");
run_inner(s, n_args, shape, add, rsh, or, or, "+", ">>", "|", "|");
run_inner(s, n_args, shape, add, rsh, or, sub, "+", ">>", "|", "-");
run_inner(s, n_args, shape, add, rsh, or, bus, "+", ">>", "|", "←");
run_inner(s, n_args, shape, add, rsh, or, mul, "+", ">>", "|", "*");
run_inner(s, n_args, shape, add, rsh, or, rsh, "+", ">>", "|", ">>");
run_inner(s, n_args, shape, add, rsh, or, hsr, "+", ">>", "|", "<<");
run_inner(s, n_args, shape, add, rsh, sub, and, "+", ">>", "-", "&");
run_inner(s, n_args, shape, add, rsh, sub, add, "+", ">>", "-", "+");
run_inner(s, n_args, shape, add, rsh, sub, xor, "+", ">>", "-", "^");
run_inner(s, n_args, shape, add, rsh, sub, or, "+", ">>", "-", "|");
run_inner(s, n_args, shape, add, rsh, sub, sub, "+", ">>", "-", "-");
run_inner(s, n_args, shape, add, rsh, sub, bus, "+", ">>", "-", "←");
run_inner(s, n_args, shape, add, rsh, sub, mul, "+", ">>", "-", "*");
run_inner(s, n_args, shape, add, rsh, sub, rsh, "+", ">>", "-", ">>");
run_inner(s, n_args, shape, add, rsh, sub, hsr, "+", ">>", "-", "<<");
run_inner(s, n_args, shape, add, rsh, bus, and, "+", ">>", "←", "&");
run_inner(s, n_args, shape, add, rsh, bus, add, "+", ">>", "←", "+");
run_inner(s, n_args, shape, add, rsh, bus, xor, "+", ">>", "←", "^");
run_inner(s, n_args, shape, add, rsh, bus, or, "+", ">>", "←", "|");
run_inner(s, n_args, shape, add, rsh, bus, sub, "+", ">>", "←", "-");
run_inner(s, n_args, shape, add, rsh, bus, bus, "+", ">>", "←", "←");
run_inner(s, n_args, shape, add, rsh, bus, mul, "+", ">>", "←", "*");
run_inner(s, n_args, shape, add, rsh, bus, rsh, "+", ">>", "←", ">>");
run_inner(s, n_args, shape, add, rsh, bus, hsr, "+", ">>", "←", "<<");
run_inner(s, n_args, shape, add, rsh, mul, and, "+", ">>", "*", "&");
run_inner(s, n_args, shape, add, rsh, mul, add, "+", ">>", "*", "+");
run_inner(s, n_args, shape, add, rsh, mul, xor, "+", ">>", "*", "^");
run_inner(s, n_args, shape, add, rsh, mul, or, "+", ">>", "*", "|");
run_inner(s, n_args, shape, add, rsh, mul, sub, "+", ">>", "*", "-");
run_inner(s, n_args, shape, add, rsh, mul, bus, "+", ">>", "*", "←");
run_inner(s, n_args, shape, add, rsh, mul, mul, "+", ">>", "*", "*");
run_inner(s, n_args, shape, add, rsh, mul, rsh, "+", ">>", "*", ">>");
run_inner(s, n_args, shape, add, rsh, mul, hsr, "+", ">>", "*", "<<");
run_inner(s, n_args, shape, add, rsh, rsh, and, "+", ">>", ">>", "&");
run_inner(s, n_args, shape, add, rsh, rsh, add, "+", ">>", ">>", "+");
run_inner(s, n_args, shape, add, rsh, rsh, xor, "+", ">>", ">>", "^");
run_inner(s, n_args, shape, add, rsh, rsh, or, "+", ">>", ">>", "|");
run_inner(s, n_args, shape, add, rsh, rsh, sub, "+", ">>", ">>", "-");
run_inner(s, n_args, shape, add, rsh, rsh, bus, "+", ">>", ">>", "←");
run_inner(s, n_args, shape, add, rsh, rsh, mul, "+", ">>", ">>", "*");
run_inner(s, n_args, shape, add, rsh, rsh, rsh, "+", ">>", ">>", ">>");
run_inner(s, n_args, shape, add, rsh, rsh, hsr, "+", ">>", ">>", "<<");
run_inner(s, n_args, shape, add, rsh, hsr, and, "+", ">>", "<<", "&");
run_inner(s, n_args, shape, add, rsh, hsr, add, "+", ">>", "<<", "+");
run_inner(s, n_args, shape, add, rsh, hsr, xor, "+", ">>", "<<", "^");
run_inner(s, n_args, shape, add, rsh, hsr, or, "+", ">>", "<<", "|");
run_inner(s, n_args, shape, add, rsh, hsr, sub, "+", ">>", "<<", "-");
run_inner(s, n_args, shape, add, rsh, hsr, bus, "+", ">>", "<<", "←");
run_inner(s, n_args, shape, add, rsh, hsr, mul, "+", ">>", "<<", "*");
run_inner(s, n_args, shape, add, rsh, hsr, rsh, "+", ">>", "<<", ">>");
run_inner(s, n_args, shape, add, rsh, hsr, hsr, "+", ">>", "<<", "<<");
run_inner(s, n_args, shape, add, hsr, and, and, "+", "<<", "&", "&");
run_inner(s, n_args, shape, add, hsr, and, add, "+", "<<", "&", "+");
run_inner(s, n_args, shape, add, hsr, and, xor, "+", "<<", "&", "^");
run_inner(s, n_args, shape, add, hsr, and, or, "+", "<<", "&", "|");
run_inner(s, n_args, shape, add, hsr, and, sub, "+", "<<", "&", "-");
run_inner(s, n_args, shape, add, hsr, and, bus, "+", "<<", "&", "←");
run_inner(s, n_args, shape, add, hsr, and, mul, "+", "<<", "&", "*");
run_inner(s, n_args, shape, add, hsr, and, rsh, "+", "<<", "&", ">>");
run_inner(s, n_args, shape, add, hsr, and, hsr, "+", "<<", "&", "<<");
run_inner(s, n_args, shape, add, hsr, add, and, "+", "<<", "+", "&");
run_inner(s, n_args, shape, add, hsr, add, add, "+", "<<", "+", "+");
run_inner(s, n_args, shape, add, hsr, add, xor, "+", "<<", "+", "^");
run_inner(s, n_args, shape, add, hsr, add, or, "+", "<<", "+", "|");
run_inner(s, n_args, shape, add, hsr, add, sub, "+", "<<", "+", "-");
run_inner(s, n_args, shape, add, hsr, add, bus, "+", "<<", "+", "←");
run_inner(s, n_args, shape, add, hsr, add, mul, "+", "<<", "+", "*");
run_inner(s, n_args, shape, add, hsr, add, rsh, "+", "<<", "+", ">>");
run_inner(s, n_args, shape, add, hsr, add, hsr, "+", "<<", "+", "<<");
run_inner(s, n_args, shape, add, hsr, xor, and, "+", "<<", "^", "&");
run_inner(s, n_args, shape, add, hsr, xor, add, "+", "<<", "^", "+");
run_inner(s, n_args, shape, add, hsr, xor, xor, "+", "<<", "^", "^");
run_inner(s, n_args, shape, add, hsr, xor, or, "+", "<<", "^", "|");
run_inner(s, n_args, shape, add, hsr, xor, sub, "+", "<<", "^", "-");
run_inner(s, n_args, shape, add, hsr, xor, bus, "+", "<<", "^", "←");
run_inner(s, n_args, shape, add, hsr, xor, mul, "+", "<<", "^", "*");
run_inner(s, n_args, shape, add, hsr, xor, rsh, "+", "<<", "^", ">>");
run_inner(s, n_args, shape, add, hsr, xor, hsr, "+", "<<", "^", "<<");
run_inner(s, n_args, shape, add, hsr, or, and, "+", "<<", "|", "&");
run_inner(s, n_args, shape, add, hsr, or, add, "+", "<<", "|", "+");
run_inner(s, n_args, shape, add, hsr, or, xor, "+", "<<", "|", "^");
run_inner(s, n_args, shape, add, hsr, or, or, "+", "<<", "|", "|");
run_inner(s, n_args, shape, add, hsr, or, sub, "+", "<<", "|", "-");
run_inner(s, n_args, shape, add, hsr, or, bus, "+", "<<", "|", "←");
run_inner(s, n_args, shape, add, hsr, or, mul, "+", "<<", "|", "*");
run_inner(s, n_args, shape, add, hsr, or, rsh, "+", "<<", "|", ">>");
run_inner(s, n_args, shape, add, hsr, or, hsr, "+", "<<", "|", "<<");
run_inner(s, n_args, shape, add, hsr, sub, and, "+", "<<", "-", "&");
run_inner(s, n_args, shape, add, hsr, sub, add, "+", "<<", "-", "+");
run_inner(s, n_args, shape, add, hsr, sub, xor, "+", "<<", "-", "^");
run_inner(s, n_args, shape, add, hsr, sub, or, "+", "<<", "-", "|");
run_inner(s, n_args, shape, add, hsr, sub, sub, "+", "<<", "-", "-");
run_inner(s, n_args, shape, add, hsr, sub, bus, "+", "<<", "-", "←");
run_inner(s, n_args, shape, add, hsr, sub, mul, "+", "<<", "-", "*");
run_inner(s, n_args, shape, add, hsr, sub, rsh, "+", "<<", "-", ">>");
run_inner(s, n_args, shape, add, hsr, sub, hsr, "+", "<<", "-", "<<");
run_inner(s, n_args, shape, add, hsr, bus, and, "+", "<<", "←", "&");
run_inner(s, n_args, shape, add, hsr, bus, add, "+", "<<", "←", "+");
run_inner(s, n_args, shape, add, hsr, bus, xor, "+", "<<", "←", "^");
run_inner(s, n_args, shape, add, hsr, bus, or, "+", "<<", "←", "|");
run_inner(s, n_args, shape, add, hsr, bus, sub, "+", "<<", "←", "-");
run_inner(s, n_args, shape, add, hsr, bus, bus, "+", "<<", "←", "←");
run_inner(s, n_args, shape, add, hsr, bus, mul, "+", "<<", "←", "*");
run_inner(s, n_args, shape, add, hsr, bus, rsh, "+", "<<", "←", ">>");
run_inner(s, n_args, shape, add, hsr, bus, hsr, "+", "<<", "←", "<<");
run_inner(s, n_args, shape, add, hsr, mul, and, "+", "<<", "*", "&");
run_inner(s, n_args, shape, add, hsr, mul, add, "+", "<<", "*", "+");
run_inner(s, n_args, shape, add, hsr, mul, xor, "+", "<<", "*", "^");
run_inner(s, n_args, shape, add, hsr, mul, or, "+", "<<", "*", "|");
run_inner(s, n_args, shape, add, hsr, mul, sub, "+", "<<", "*", "-");
run_inner(s, n_args, shape, add, hsr, mul, bus, "+", "<<", "*", "←");
run_inner(s, n_args, shape, add, hsr, mul, mul, "+", "<<", "*", "*");
run_inner(s, n_args, shape, add, hsr, mul, rsh, "+", "<<", "*", ">>");
run_inner(s, n_args, shape, add, hsr, mul, hsr, "+", "<<", "*", "<<");
run_inner(s, n_args, shape, add, hsr, rsh, and, "+", "<<", ">>", "&");
run_inner(s, n_args, shape, add, hsr, rsh, add, "+", "<<", ">>", "+");
run_inner(s, n_args, shape, add, hsr, rsh, xor, "+", "<<", ">>", "^");
run_inner(s, n_args, shape, add, hsr, rsh, or, "+", "<<", ">>", "|");
run_inner(s, n_args, shape, add, hsr, rsh, sub, "+", "<<", ">>", "-");
run_inner(s, n_args, shape, add, hsr, rsh, bus, "+", "<<", ">>", "←");
run_inner(s, n_args, shape, add, hsr, rsh, mul, "+", "<<", ">>", "*");
run_inner(s, n_args, shape, add, hsr, rsh, rsh, "+", "<<", ">>", ">>");
run_inner(s, n_args, shape, add, hsr, rsh, hsr, "+", "<<", ">>", "<<");
run_inner(s, n_args, shape, add, hsr, hsr, and, "+", "<<", "<<", "&");
run_inner(s, n_args, shape, add, hsr, hsr, add, "+", "<<", "<<", "+");
run_inner(s, n_args, shape, add, hsr, hsr, xor, "+", "<<", "<<", "^");
run_inner(s, n_args, shape, add, hsr, hsr, or, "+", "<<", "<<", "|");
run_inner(s, n_args, shape, add, hsr, hsr, sub, "+", "<<", "<<", "-");
run_inner(s, n_args, shape, add, hsr, hsr, bus, "+", "<<", "<<", "←");
run_inner(s, n_args, shape, add, hsr, hsr, mul, "+", "<<", "<<", "*");
run_inner(s, n_args, shape, add, hsr, hsr, rsh, "+", "<<", "<<", ">>");
run_inner(s, n_args, shape, add, hsr, hsr, hsr, "+", "<<", "<<", "<<");
}));
threads.push(thread::spawn(move || {
run_inner(s, n_args, shape, xor, and, and, and, "^", "&", "&", "&");
run_inner(s, n_args, shape, xor, and, and, add, "^", "&", "&", "+");
run_inner(s, n_args, shape, xor, and, and, xor, "^", "&", "&", "^");
run_inner(s, n_args, shape, xor, and, and, or, "^", "&", "&", "|");
run_inner(s, n_args, shape, xor, and, and, sub, "^", "&", "&", "-");
run_inner(s, n_args, shape, xor, and, and, bus, "^", "&", "&", "←");
run_inner(s, n_args, shape, xor, and, and, mul, "^", "&", "&", "*");
run_inner(s, n_args, shape, xor, and, and, rsh, "^", "&", "&", ">>");
run_inner(s, n_args, shape, xor, and, and, hsr, "^", "&", "&", "<<");
run_inner(s, n_args, shape, xor, and, add, and, "^", "&", "+", "&");
run_inner(s, n_args, shape, xor, and, add, add, "^", "&", "+", "+");
run_inner(s, n_args, shape, xor, and, add, xor, "^", "&", "+", "^");
run_inner(s, n_args, shape, xor, and, add, or, "^", "&", "+", "|");
run_inner(s, n_args, shape, xor, and, add, sub, "^", "&", "+", "-");
run_inner(s, n_args, shape, xor, and, add, bus, "^", "&", "+", "←");
run_inner(s, n_args, shape, xor, and, add, mul, "^", "&", "+", "*");
run_inner(s, n_args, shape, xor, and, add, rsh, "^", "&", "+", ">>");
run_inner(s, n_args, shape, xor, and, add, hsr, "^", "&", "+", "<<");
run_inner(s, n_args, shape, xor, and, xor, and, "^", "&", "^", "&");
run_inner(s, n_args, shape, xor, and, xor, add, "^", "&", "^", "+");
run_inner(s, n_args, shape, xor, and, xor, xor, "^", "&", "^", "^");
run_inner(s, n_args, shape, xor, and, xor, or, "^", "&", "^", "|");
run_inner(s, n_args, shape, xor, and, xor, sub, "^", "&", "^", "-");
run_inner(s, n_args, shape, xor, and, xor, bus, "^", "&", "^", "←");
run_inner(s, n_args, shape, xor, and, xor, mul, "^", "&", "^", "*");
run_inner(s, n_args, shape, xor, and, xor, rsh, "^", "&", "^", ">>");
run_inner(s, n_args, shape, xor, and, xor, hsr, "^", "&", "^", "<<");
run_inner(s, n_args, shape, xor, and, or, and, "^", "&", "|", "&");
run_inner(s, n_args, shape, xor, and, or, add, "^", "&", "|", "+");
run_inner(s, n_args, shape, xor, and, or, xor, "^", "&", "|", "^");
run_inner(s, n_args, shape, xor, and, or, or, "^", "&", "|", "|");
run_inner(s, n_args, shape, xor, and, or, sub, "^", "&", "|", "-");
run_inner(s, n_args, shape, xor, and, or, bus, "^", "&", "|", "←");
run_inner(s, n_args, shape, xor, and, or, mul, "^", "&", "|", "*");
run_inner(s, n_args, shape, xor, and, or, rsh, "^", "&", "|", ">>");
run_inner(s, n_args, shape, xor, and, or, hsr, "^", "&", "|", "<<");
run_inner(s, n_args, shape, xor, and, sub, and, "^", "&", "-", "&");
run_inner(s, n_args, shape, xor, and, sub, add, "^", "&", "-", "+");
run_inner(s, n_args, shape, xor, and, sub, xor, "^", "&", "-", "^");
run_inner(s, n_args, shape, xor, and, sub, or, "^", "&", "-", "|");
run_inner(s, n_args, shape, xor, and, sub, sub, "^", "&", "-", "-");
run_inner(s, n_args, shape, xor, and, sub, bus, "^", "&", "-", "←");
run_inner(s, n_args, shape, xor, and, sub, mul, "^", "&", "-", "*");
run_inner(s, n_args, shape, xor, and, sub, rsh, "^", "&", "-", ">>");
run_inner(s, n_args, shape, xor, and, sub, hsr, "^", "&", "-", "<<");
run_inner(s, n_args, shape, xor, and, bus, and, "^", "&", "←", "&");
run_inner(s, n_args, shape, xor, and, bus, add, "^", "&", "←", "+");
run_inner(s, n_args, shape, xor, and, bus, xor, "^", "&", "←", "^");
run_inner(s, n_args, shape, xor, and, bus, or, "^", "&", "←", "|");
run_inner(s, n_args, shape, xor, and, bus, sub, "^", "&", "←", "-");
run_inner(s, n_args, shape, xor, and, bus, bus, "^", "&", "←", "←");
run_inner(s, n_args, shape, xor, and, bus, mul, "^", "&", "←", "*");
run_inner(s, n_args, shape, xor, and, bus, rsh, "^", "&", "←", ">>");
run_inner(s, n_args, shape, xor, and, bus, hsr, "^", "&", "←", "<<");
run_inner(s, n_args, shape, xor, and, mul, and, "^", "&", "*", "&");
run_inner(s, n_args, shape, xor, and, mul, add, "^", "&", "*", "+");
run_inner(s, n_args, shape, xor, and, mul, xor, "^", "&", "*", "^");
run_inner(s, n_args, shape, xor, and, mul, or, "^", "&", "*", "|");
run_inner(s, n_args, shape, xor, and, mul, sub, "^", "&", "*", "-");
run_inner(s, n_args, shape, xor, and, mul, bus, "^", "&", "*", "←");
run_inner(s, n_args, shape, xor, and, mul, mul, "^", "&", "*", "*");
run_inner(s, n_args, shape, xor, and, mul, rsh, "^", "&", "*", ">>");
run_inner(s, n_args, shape, xor, and, mul, hsr, "^", "&", "*", "<<");
run_inner(s, n_args, shape, xor, and, rsh, and, "^", "&", ">>", "&");
run_inner(s, n_args, shape, xor, and, rsh, add, "^", "&", ">>", "+");
run_inner(s, n_args, shape, xor, and, rsh, xor, "^", "&", ">>", "^");
run_inner(s, n_args, shape, xor, and, rsh, or, "^", "&", ">>", "|");
run_inner(s, n_args, shape, xor, and, rsh, sub, "^", "&", ">>", "-");
run_inner(s, n_args, shape, xor, and, rsh, bus, "^", "&", ">>", "←");
run_inner(s, n_args, shape, xor, and, rsh, mul, "^", "&", ">>", "*");
run_inner(s, n_args, shape, xor, and, rsh, rsh, "^", "&", ">>", ">>");
run_inner(s, n_args, shape, xor, and, rsh, hsr, "^", "&", ">>", "<<");
run_inner(s, n_args, shape, xor, and, hsr, and, "^", "&", "<<", "&");
run_inner(s, n_args, shape, xor, and, hsr, add, "^", "&", "<<", "+");
run_inner(s, n_args, shape, xor, and, hsr, xor, "^", "&", "<<", "^");
run_inner(s, n_args, shape, xor, and, hsr, or, "^", "&", "<<", "|");
run_inner(s, n_args, shape, xor, and, hsr, sub, "^", "&", "<<", "-");
run_inner(s, n_args, shape, xor, and, hsr, bus, "^", "&", "<<", "←");
run_inner(s, n_args, shape, xor, and, hsr, mul, "^", "&", "<<", "*");
run_inner(s, n_args, shape, xor, and, hsr, rsh, "^", "&", "<<", ">>");
run_inner(s, n_args, shape, xor, and, hsr, hsr, "^", "&", "<<", "<<");
run_inner(s, n_args, shape, xor, add, and, and, "^", "+", "&", "&");
run_inner(s, n_args, shape, xor, add, and, add, "^", "+", "&", "+");
run_inner(s, n_args, shape, xor, add, and, xor, "^", "+", "&", "^");
run_inner(s, n_args, shape, xor, add, and, or, "^", "+", "&", "|");
run_inner(s, n_args, shape, xor, add, and, sub, "^", "+", "&", "-");
run_inner(s, n_args, shape, xor, add, and, bus, "^", "+", "&", "←");
run_inner(s, n_args, shape, xor, add, and, mul, "^", "+", "&", "*");
run_inner(s, n_args, shape, xor, add, and, rsh, "^", "+", "&", ">>");
run_inner(s, n_args, shape, xor, add, and, hsr, "^", "+", "&", "<<");
run_inner(s, n_args, shape, xor, add, add, and, "^", "+", "+", "&");
run_inner(s, n_args, shape, xor, add, add, add, "^", "+", "+", "+");
run_inner(s, n_args, shape, xor, add, add, xor, "^", "+", "+", "^");
run_inner(s, n_args, shape, xor, add, add, or, "^", "+", "+", "|");
run_inner(s, n_args, shape, xor, add, add, sub, "^", "+", "+", "-");
run_inner(s, n_args, shape, xor, add, add, bus, "^", "+", "+", "←");
run_inner(s, n_args, shape, xor, add, add, mul, "^", "+", "+", "*");
run_inner(s, n_args, shape, xor, add, add, rsh, "^", "+", "+", ">>");
run_inner(s, n_args, shape, xor, add, add, hsr, "^", "+", "+", "<<");
run_inner(s, n_args, shape, xor, add, xor, and, "^", "+", "^", "&");
run_inner(s, n_args, shape, xor, add, xor, add, "^", "+", "^", "+");
run_inner(s, n_args, shape, xor, add, xor, xor, "^", "+", "^", "^");
run_inner(s, n_args, shape, xor, add, xor, or, "^", "+", "^", "|");
run_inner(s, n_args, shape, xor, add, xor, sub, "^", "+", "^", "-");
run_inner(s, n_args, shape, xor, add, xor, bus, "^", "+", "^", "←");
run_inner(s, n_args, shape, xor, add, xor, mul, "^", "+", "^", "*");
run_inner(s, n_args, shape, xor, add, xor, rsh, "^", "+", "^", ">>");
run_inner(s, n_args, shape, xor, add, xor, hsr, "^", "+", "^", "<<");
run_inner(s, n_args, shape, xor, add, or, and, "^", "+", "|", "&");
run_inner(s, n_args, shape, xor, add, or, add, "^", "+", "|", "+");
run_inner(s, n_args, shape, xor, add, or, xor, "^", "+", "|", "^");
run_inner(s, n_args, shape, xor, add, or, or, "^", "+", "|", "|");
run_inner(s, n_args, shape, xor, add, or, sub, "^", "+", "|", "-");
run_inner(s, n_args, shape, xor, add, or, bus, "^", "+", "|", "←");
run_inner(s, n_args, shape, xor, add, or, mul, "^", "+", "|", "*");
run_inner(s, n_args, shape, xor, add, or, rsh, "^", "+", "|", ">>");
run_inner(s, n_args, shape, xor, add, or, hsr, "^", "+", "|", "<<");
run_inner(s, n_args, shape, xor, add, sub, and, "^", "+", "-", "&");
run_inner(s, n_args, shape, xor, add, sub, add, "^", "+", "-", "+");
run_inner(s, n_args, shape, xor, add, sub, xor, "^", "+", "-", "^");
run_inner(s, n_args, shape, xor, add, sub, or, "^", "+", "-", "|");
run_inner(s, n_args, shape, xor, add, sub, sub, "^", "+", "-", "-");
run_inner(s, n_args, shape, xor, add, sub, bus, "^", "+", "-", "←");
run_inner(s, n_args, shape, xor, add, sub, mul, "^", "+", "-", "*");
run_inner(s, n_args, shape, xor, add, sub, rsh, "^", "+", "-", ">>");
run_inner(s, n_args, shape, xor, add, sub, hsr, "^", "+", "-", "<<");
run_inner(s, n_args, shape, xor, add, bus, and, "^", "+", "←", "&");
run_inner(s, n_args, shape, xor, add, bus, add, "^", "+", "←", "+");
run_inner(s, n_args, shape, xor, add, bus, xor, "^", "+", "←", "^");
run_inner(s, n_args, shape, xor, add, bus, or, "^", "+", "←", "|");
run_inner(s, n_args, shape, xor, add, bus, sub, "^", "+", "←", "-");
run_inner(s, n_args, shape, xor, add, bus, bus, "^", "+", "←", "←");
run_inner(s, n_args, shape, xor, add, bus, mul, "^", "+", "←", "*");
run_inner(s, n_args, shape, xor, add, bus, rsh, "^", "+", "←", ">>");
run_inner(s, n_args, shape, xor, add, bus, hsr, "^", "+", "←", "<<");
run_inner(s, n_args, shape, xor, add, mul, and, "^", "+", "*", "&");
run_inner(s, n_args, shape, xor, add, mul, add, "^", "+", "*", "+");
run_inner(s, n_args, shape, xor, add, mul, xor, "^", "+", "*", "^");
run_inner(s, n_args, shape, xor, add, mul, or, "^", "+", "*", "|");
run_inner(s, n_args, shape, xor, add, mul, sub, "^", "+", "*", "-");
run_inner(s, n_args, shape, xor, add, mul, bus, "^", "+", "*", "←");
run_inner(s, n_args, shape, xor, add, mul, mul, "^", "+", "*", "*");
run_inner(s, n_args, shape, xor, add, mul, rsh, "^", "+", "*", ">>");
run_inner(s, n_args, shape, xor, add, mul, hsr, "^", "+", "*", "<<");
run_inner(s, n_args, shape, xor, add, rsh, and, "^", "+", ">>", "&");
run_inner(s, n_args, shape, xor, add, rsh, add, "^", "+", ">>", "+");
run_inner(s, n_args, shape, xor, add, rsh, xor, "^", "+", ">>", "^");
run_inner(s, n_args, shape, xor, add, rsh, or, "^", "+", ">>", "|");
run_inner(s, n_args, shape, xor, add, rsh, sub, "^", "+", ">>", "-");
run_inner(s, n_args, shape, xor, add, rsh, bus, "^", "+", ">>", "←");
run_inner(s, n_args, shape, xor, add, rsh, mul, "^", "+", ">>", "*");
run_inner(s, n_args, shape, xor, add, rsh, rsh, "^", "+", ">>", ">>");
run_inner(s, n_args, shape, xor, add, rsh, hsr, "^", "+", ">>", "<<");
run_inner(s, n_args, shape, xor, add, hsr, and, "^", "+", "<<", "&");
run_inner(s, n_args, shape, xor, add, hsr, add, "^", "+", "<<", "+");
run_inner(s, n_args, shape, xor, add, hsr, xor, "^", "+", "<<", "^");
run_inner(s, n_args, shape, xor, add, hsr, or, "^", "+", "<<", "|");
run_inner(s, n_args, shape, xor, add, hsr, sub, "^", "+", "<<", "-");
run_inner(s, n_args, shape, xor, add, hsr, bus, "^", "+", "<<", "←");
run_inner(s, n_args, shape, xor, add, hsr, mul, "^", "+", "<<", "*");
run_inner(s, n_args, shape, xor, add, hsr, rsh, "^", "+", "<<", ">>");
run_inner(s, n_args, shape, xor, add, hsr, hsr, "^", "+", "<<", "<<");
run_inner(s, n_args, shape, xor, xor, and, and, "^", "^", "&", "&");
run_inner(s, n_args, shape, xor, xor, and, add, "^", "^", "&", "+");
run_inner(s, n_args, shape, xor, xor, and, xor, "^", "^", "&", "^");
run_inner(s, n_args, shape, xor, xor, and, or, "^", "^", "&", "|");
run_inner(s, n_args, shape, xor, xor, and, sub, "^", "^", "&", "-");
run_inner(s, n_args, shape, xor, xor, and, bus, "^", "^", "&", "←");
run_inner(s, n_args, shape, xor, xor, and, mul, "^", "^", "&", "*");
run_inner(s, n_args, shape, xor, xor, and, rsh, "^", "^", "&", ">>");
run_inner(s, n_args, shape, xor, xor, and, hsr, "^", "^", "&", "<<");
run_inner(s, n_args, shape, xor, xor, add, and, "^", "^", "+", "&");
run_inner(s, n_args, shape, xor, xor, add, add, "^", "^", "+", "+");
run_inner(s, n_args, shape, xor, xor, add, xor, "^", "^", "+", "^");
run_inner(s, n_args, shape, xor, xor, add, or, "^", "^", "+", "|");
run_inner(s, n_args, shape, xor, xor, add, sub, "^", "^", "+", "-");
run_inner(s, n_args, shape, xor, xor, add, bus, "^", "^", "+", "←");
run_inner(s, n_args, shape, xor, xor, add, mul, "^", "^", "+", "*");
run_inner(s, n_args, shape, xor, xor, add, rsh, "^", "^", "+", ">>");
run_inner(s, n_args, shape, xor, xor, add, hsr, "^", "^", "+", "<<");
run_inner(s, n_args, shape, xor, xor, xor, and, "^", "^", "^", "&");
run_inner(s, n_args, shape, xor, xor, xor, add, "^", "^", "^", "+");
run_inner(s, n_args, shape, xor, xor, xor, xor, "^", "^", "^", "^");
run_inner(s, n_args, shape, xor, xor, xor, or, "^", "^", "^", "|");
run_inner(s, n_args, shape, xor, xor, xor, sub, "^", "^", "^", "-");
run_inner(s, n_args, shape, xor, xor, xor, bus, "^", "^", "^", "←");
run_inner(s, n_args, shape, xor, xor, xor, mul, "^", "^", "^", "*");
run_inner(s, n_args, shape, xor, xor, xor, rsh, "^", "^", "^", ">>");
run_inner(s, n_args, shape, xor, xor, xor, hsr, "^", "^", "^", "<<");
run_inner(s, n_args, shape, xor, xor, or, and, "^", "^", "|", "&");
run_inner(s, n_args, shape, xor, xor, or, add, "^", "^", "|", "+");
run_inner(s, n_args, shape, xor, xor, or, xor, "^", "^", "|", "^");
run_inner(s, n_args, shape, xor, xor, or, or, "^", "^", "|", "|");
run_inner(s, n_args, shape, xor, xor, or, sub, "^", "^", "|", "-");
run_inner(s, n_args, shape, xor, xor, or, bus, "^", "^", "|", "←");
run_inner(s, n_args, shape, xor, xor, or, mul, "^", "^", "|", "*");
run_inner(s, n_args, shape, xor, xor, or, rsh, "^", "^", "|", ">>");
run_inner(s, n_args, shape, xor, xor, or, hsr, "^", "^", "|", "<<");
run_inner(s, n_args, shape, xor, xor, sub, and, "^", "^", "-", "&");
run_inner(s, n_args, shape, xor, xor, sub, add, "^", "^", "-", "+");
run_inner(s, n_args, shape, xor, xor, sub, xor, "^", "^", "-", "^");
run_inner(s, n_args, shape, xor, xor, sub, or, "^", "^", "-", "|");
run_inner(s, n_args, shape, xor, xor, sub, sub, "^", "^", "-", "-");
run_inner(s, n_args, shape, xor, xor, sub, bus, "^", "^", "-", "←");
run_inner(s, n_args, shape, xor, xor, sub, mul, "^", "^", "-", "*");
run_inner(s, n_args, shape, xor, xor, sub, rsh, "^", "^", "-", ">>");
run_inner(s, n_args, shape, xor, xor, sub, hsr, "^", "^", "-", "<<");
run_inner(s, n_args, shape, xor, xor, bus, and, "^", "^", "←", "&");
run_inner(s, n_args, shape, xor, xor, bus, add, "^", "^", "←", "+");
run_inner(s, n_args, shape, xor, xor, bus, xor, "^", "^", "←", "^");
run_inner(s, n_args, shape, xor, xor, bus, or, "^", "^", "←", "|");
run_inner(s, n_args, shape, xor, xor, bus, sub, "^", "^", "←", "-");
run_inner(s, n_args, shape, xor, xor, bus, bus, "^", "^", "←", "←");
run_inner(s, n_args, shape, xor, xor, bus, mul, "^", "^", "←", "*");
run_inner(s, n_args, shape, xor, xor, bus, rsh, "^", "^", "←", ">>");
run_inner(s, n_args, shape, xor, xor, bus, hsr, "^", "^", "←", "<<");
run_inner(s, n_args, shape, xor, xor, mul, and, "^", "^", "*", "&");
run_inner(s, n_args, shape, xor, xor, mul, add, "^", "^", "*", "+");
run_inner(s, n_args, shape, xor, xor, mul, xor, "^", "^", "*", "^");
run_inner(s, n_args, shape, xor, xor, mul, or, "^", "^", "*", "|");
run_inner(s, n_args, shape, xor, xor, mul, sub, "^", "^", "*", "-");
run_inner(s, n_args, shape, xor, xor, mul, bus, "^", "^", "*", "←");
run_inner(s, n_args, shape, xor, xor, mul, mul, "^", "^", "*", "*");
run_inner(s, n_args, shape, xor, xor, mul, rsh, "^", "^", "*", ">>");
run_inner(s, n_args, shape, xor, xor, mul, hsr, "^", "^", "*", "<<");
run_inner(s, n_args, shape, xor, xor, rsh, and, "^", "^", ">>", "&");
run_inner(s, n_args, shape, xor, xor, rsh, add, "^", "^", ">>", "+");
run_inner(s, n_args, shape, xor, xor, rsh, xor, "^", "^", ">>", "^");
run_inner(s, n_args, shape, xor, xor, rsh, or, "^", "^", ">>", "|");
run_inner(s, n_args, shape, xor, xor, rsh, sub, "^", "^", ">>", "-");
run_inner(s, n_args, shape, xor, xor, rsh, bus, "^", "^", ">>", "←");
run_inner(s, n_args, shape, xor, xor, rsh, mul, "^", "^", ">>", "*");
run_inner(s, n_args, shape, xor, xor, rsh, rsh, "^", "^", ">>", ">>");
run_inner(s, n_args, shape, xor, xor, rsh, hsr, "^", "^", ">>", "<<");
run_inner(s, n_args, shape, xor, xor, hsr, and, "^", "^", "<<", "&");
run_inner(s, n_args, shape, xor, xor, hsr, add, "^", "^", "<<", "+");
run_inner(s, n_args, shape, xor, xor, hsr, xor, "^", "^", "<<", "^");
run_inner(s, n_args, shape, xor, xor, hsr, or, "^", "^", "<<", "|");
run_inner(s, n_args, shape, xor, xor, hsr, sub, "^", "^", "<<", "-");
run_inner(s, n_args, shape, xor, xor, hsr, bus, "^", "^", "<<", "←");
run_inner(s, n_args, shape, xor, xor, hsr, mul, "^", "^", "<<", "*");
run_inner(s, n_args, shape, xor, xor, hsr, rsh, "^", "^", "<<", ">>");
run_inner(s, n_args, shape, xor, xor, hsr, hsr, "^", "^", "<<", "<<");
run_inner(s, n_args, shape, xor, or, and, and, "^", "|", "&", "&");
run_inner(s, n_args, shape, xor, or, and, add, "^", "|", "&", "+");
run_inner(s, n_args, shape, xor, or, and, xor, "^", "|", "&", "^");
run_inner(s, n_args, shape, xor, or, and, or, "^", "|", "&", "|");
run_inner(s, n_args, shape, xor, or, and, sub, "^", "|", "&", "-");
run_inner(s, n_args, shape, xor, or, and, bus, "^", "|", "&", "←");
run_inner(s, n_args, shape, xor, or, and, mul, "^", "|", "&", "*");
run_inner(s, n_args, shape, xor, or, and, rsh, "^", "|", "&", ">>");
run_inner(s, n_args, shape, xor, or, and, hsr, "^", "|", "&", "<<");
run_inner(s, n_args, shape, xor, or, add, and, "^", "|", "+", "&");
run_inner(s, n_args, shape, xor, or, add, add, "^", "|", "+", "+");
run_inner(s, n_args, shape, xor, or, add, xor, "^", "|", "+", "^");
run_inner(s, n_args, shape, xor, or, add, or, "^", "|", "+", "|");
run_inner(s, n_args, shape, xor, or, add, sub, "^", "|", "+", "-");
run_inner(s, n_args, shape, xor, or, add, bus, "^", "|", "+", "←");
run_inner(s, n_args, shape, xor, or, add, mul, "^", "|", "+", "*");
run_inner(s, n_args, shape, xor, or, add, rsh, "^", "|", "+", ">>");
run_inner(s, n_args, shape, xor, or, add, hsr, "^", "|", "+", "<<");
run_inner(s, n_args, shape, xor, or, xor, and, "^", "|", "^", "&");
run_inner(s, n_args, shape, xor, or, xor, add, "^", "|", "^", "+");
run_inner(s, n_args, shape, xor, or, xor, xor, "^", "|", "^", "^");
run_inner(s, n_args, shape, xor, or, xor, or, "^", "|", "^", "|");
run_inner(s, n_args, shape, xor, or, xor, sub, "^", "|", "^", "-");
run_inner(s, n_args, shape, xor, or, xor, bus, "^", "|", "^", "←");
run_inner(s, n_args, shape, xor, or, xor, mul, "^", "|", "^", "*");
run_inner(s, n_args, shape, xor, or, xor, rsh, "^", "|", "^", ">>");
run_inner(s, n_args, shape, xor, or, xor, hsr, "^", "|", "^", "<<");
run_inner(s, n_args, shape, xor, or, or, and, "^", "|", "|", "&");
run_inner(s, n_args, shape, xor, or, or, add, "^", "|", "|", "+");
run_inner(s, n_args, shape, xor, or, or, xor, "^", "|", "|", "^");
run_inner(s, n_args, shape, xor, or, or, or, "^", "|", "|", "|");
run_inner(s, n_args, shape, xor, or, or, sub, "^", "|", "|", "-");
run_inner(s, n_args, shape, xor, or, or, bus, "^", "|", "|", "←");
run_inner(s, n_args, shape, xor, or, or, mul, "^", "|", "|", "*");
run_inner(s, n_args, shape, xor, or, or, rsh, "^", "|", "|", ">>");
run_inner(s, n_args, shape, xor, or, or, hsr, "^", "|", "|", "<<");
run_inner(s, n_args, shape, xor, or, sub, and, "^", "|", "-", "&");
run_inner(s, n_args, shape, xor, or, sub, add, "^", "|", "-", "+");
run_inner(s, n_args, shape, xor, or, sub, xor, "^", "|", "-", "^");
run_inner(s, n_args, shape, xor, or, sub, or, "^", "|", "-", "|");
run_inner(s, n_args, shape, xor, or, sub, sub, "^", "|", "-", "-");
run_inner(s, n_args, shape, xor, or, sub, bus, "^", "|", "-", "←");
run_inner(s, n_args, shape, xor, or, sub, mul, "^", "|", "-", "*");
run_inner(s, n_args, shape, xor, or, sub, rsh, "^", "|", "-", ">>");
run_inner(s, n_args, shape, xor, or, sub, hsr, "^", "|", "-", "<<");
run_inner(s, n_args, shape, xor, or, bus, and, "^", "|", "←", "&");
run_inner(s, n_args, shape, xor, or, bus, add, "^", "|", "←", "+");
run_inner(s, n_args, shape, xor, or, bus, xor, "^", "|", "←", "^");
run_inner(s, n_args, shape, xor, or, bus, or, "^", "|", "←", "|");
run_inner(s, n_args, shape, xor, or, bus, sub, "^", "|", "←", "-");
run_inner(s, n_args, shape, xor, or, bus, bus, "^", "|", "←", "←");
run_inner(s, n_args, shape, xor, or, bus, mul, "^", "|", "←", "*");
run_inner(s, n_args, shape, xor, or, bus, rsh, "^", "|", "←", ">>");
run_inner(s, n_args, shape, xor, or, bus, hsr, "^", "|", "←", "<<");
run_inner(s, n_args, shape, xor, or, mul, and, "^", "|", "*", "&");
run_inner(s, n_args, shape, xor, or, mul, add, "^", "|", "*", "+");
run_inner(s, n_args, shape, xor, or, mul, xor, "^", "|", "*", "^");
run_inner(s, n_args, shape, xor, or, mul, or, "^", "|", "*", "|");
run_inner(s, n_args, shape, xor, or, mul, sub, "^", "|", "*", "-");
run_inner(s, n_args, shape, xor, or, mul, bus, "^", "|", "*", "←");
run_inner(s, n_args, shape, xor, or, mul, mul, "^", "|", "*", "*");
run_inner(s, n_args, shape, xor, or, mul, rsh, "^", "|", "*", ">>");
run_inner(s, n_args, shape, xor, or, mul, hsr, "^", "|", "*", "<<");
run_inner(s, n_args, shape, xor, or, rsh, and, "^", "|", ">>", "&");
run_inner(s, n_args, shape, xor, or, rsh, add, "^", "|", ">>", "+");
run_inner(s, n_args, shape, xor, or, rsh, xor, "^", "|", ">>", "^");
run_inner(s, n_args, shape, xor, or, rsh, or, "^", "|", ">>", "|");
run_inner(s, n_args, shape, xor, or, rsh, sub, "^", "|", ">>", "-");
run_inner(s, n_args, shape, xor, or, rsh, bus, "^", "|", ">>", "←");
run_inner(s, n_args, shape, xor, or, rsh, mul, "^", "|", ">>", "*");
run_inner(s, n_args, shape, xor, or, rsh, rsh, "^", "|", ">>", ">>");
run_inner(s, n_args, shape, xor, or, rsh, hsr, "^", "|", ">>", "<<");
run_inner(s, n_args, shape, xor, or, hsr, and, "^", "|", "<<", "&");
run_inner(s, n_args, shape, xor, or, hsr, add, "^", "|", "<<", "+");
run_inner(s, n_args, shape, xor, or, hsr, xor, "^", "|", "<<", "^");
run_inner(s, n_args, shape, xor, or, hsr, or, "^", "|", "<<", "|");
run_inner(s, n_args, shape, xor, or, hsr, sub, "^", "|", "<<", "-");
run_inner(s, n_args, shape, xor, or, hsr, bus, "^", "|", "<<", "←");
run_inner(s, n_args, shape, xor, or, hsr, mul, "^", "|", "<<", "*");
run_inner(s, n_args, shape, xor, or, hsr, rsh, "^", "|", "<<", ">>");
run_inner(s, n_args, shape, xor, or, hsr, hsr, "^", "|", "<<", "<<");
run_inner(s, n_args, shape, xor, sub, and, and, "^", "-", "&", "&");
run_inner(s, n_args, shape, xor, sub, and, add, "^", "-", "&", "+");
run_inner(s, n_args, shape, xor, sub, and, xor, "^", "-", "&", "^");
run_inner(s, n_args, shape, xor, sub, and, or, "^", "-", "&", "|");
run_inner(s, n_args, shape, xor, sub, and, sub, "^", "-", "&", "-");
run_inner(s, n_args, shape, xor, sub, and, bus, "^", "-", "&", "←");
run_inner(s, n_args, shape, xor, sub, and, mul, "^", "-", "&", "*");
run_inner(s, n_args, shape, xor, sub, and, rsh, "^", "-", "&", ">>");
run_inner(s, n_args, shape, xor, sub, and, hsr, "^", "-", "&", "<<");
run_inner(s, n_args, shape, xor, sub, add, and, "^", "-", "+", "&");
run_inner(s, n_args, shape, xor, sub, add, add, "^", "-", "+", "+");
run_inner(s, n_args, shape, xor, sub, add, xor, "^", "-", "+", "^");
run_inner(s, n_args, shape, xor, sub, add, or, "^", "-", "+", "|");
run_inner(s, n_args, shape, xor, sub, add, sub, "^", "-", "+", "-");
run_inner(s, n_args, shape, xor, sub, add, bus, "^", "-", "+", "←");
run_inner(s, n_args, shape, xor, sub, add, mul, "^", "-", "+", "*");
run_inner(s, n_args, shape, xor, sub, add, rsh, "^", "-", "+", ">>");
run_inner(s, n_args, shape, xor, sub, add, hsr, "^", "-", "+", "<<");
run_inner(s, n_args, shape, xor, sub, xor, and, "^", "-", "^", "&");
run_inner(s, n_args, shape, xor, sub, xor, add, "^", "-", "^", "+");
run_inner(s, n_args, shape, xor, sub, xor, xor, "^", "-", "^", "^");
run_inner(s, n_args, shape, xor, sub, xor, or, "^", "-", "^", "|");
run_inner(s, n_args, shape, xor, sub, xor, sub, "^", "-", "^", "-");
run_inner(s, n_args, shape, xor, sub, xor, bus, "^", "-", "^", "←");
run_inner(s, n_args, shape, xor, sub, xor, mul, "^", "-", "^", "*");
run_inner(s, n_args, shape, xor, sub, xor, rsh, "^", "-", "^", ">>");
run_inner(s, n_args, shape, xor, sub, xor, hsr, "^", "-", "^", "<<");
run_inner(s, n_args, shape, xor, sub, or, and, "^", "-", "|", "&");
run_inner(s, n_args, shape, xor, sub, or, add, "^", "-", "|", "+");
run_inner(s, n_args, shape, xor, sub, or, xor, "^", "-", "|", "^");
run_inner(s, n_args, shape, xor, sub, or, or, "^", "-", "|", "|");
run_inner(s, n_args, shape, xor, sub, or, sub, "^", "-", "|", "-");
run_inner(s, n_args, shape, xor, sub, or, bus, "^", "-", "|", "←");
run_inner(s, n_args, shape, xor, sub, or, mul, "^", "-", "|", "*");
run_inner(s, n_args, shape, xor, sub, or, rsh, "^", "-", "|", ">>");
run_inner(s, n_args, shape, xor, sub, or, hsr, "^", "-", "|", "<<");
run_inner(s, n_args, shape, xor, sub, sub, and, "^", "-", "-", "&");
run_inner(s, n_args, shape, xor, sub, sub, add, "^", "-", "-", "+");
run_inner(s, n_args, shape, xor, sub, sub, xor, "^", "-", "-", "^");
run_inner(s, n_args, shape, xor, sub, sub, or, "^", "-", "-", "|");
run_inner(s, n_args, shape, xor, sub, sub, sub, "^", "-", "-", "-");
run_inner(s, n_args, shape, xor, sub, sub, bus, "^", "-", "-", "←");
run_inner(s, n_args, shape, xor, sub, sub, mul, "^", "-", "-", "*");
run_inner(s, n_args, shape, xor, sub, sub, rsh, "^", "-", "-", ">>");
run_inner(s, n_args, shape, xor, sub, sub, hsr, "^", "-", "-", "<<");
run_inner(s, n_args, shape, xor, sub, bus, and, "^", "-", "←", "&");
run_inner(s, n_args, shape, xor, sub, bus, add, "^", "-", "←", "+");
run_inner(s, n_args, shape, xor, sub, bus, xor, "^", "-", "←", "^");
run_inner(s, n_args, shape, xor, sub, bus, or, "^", "-", "←", "|");
run_inner(s, n_args, shape, xor, sub, bus, sub, "^", "-", "←", "-");
run_inner(s, n_args, shape, xor, sub, bus, bus, "^", "-", "←", "←");
run_inner(s, n_args, shape, xor, sub, bus, mul, "^", "-", "←", "*");
run_inner(s, n_args, shape, xor, sub, bus, rsh, "^", "-", "←", ">>");
run_inner(s, n_args, shape, xor, sub, bus, hsr, "^", "-", "←", "<<");
run_inner(s, n_args, shape, xor, sub, mul, and, "^", "-", "*", "&");
run_inner(s, n_args, shape, xor, sub, mul, add, "^", "-", "*", "+");
run_inner(s, n_args, shape, xor, sub, mul, xor, "^", "-", "*", "^");
run_inner(s, n_args, shape, xor, sub, mul, or, "^", "-", "*", "|");
run_inner(s, n_args, shape, xor, sub, mul, sub, "^", "-", "*", "-");
run_inner(s, n_args, shape, xor, sub, mul, bus, "^", "-", "*", "←");
run_inner(s, n_args, shape, xor, sub, mul, mul, "^", "-", "*", "*");
run_inner(s, n_args, shape, xor, sub, mul, rsh, "^", "-", "*", ">>");
run_inner(s, n_args, shape, xor, sub, mul, hsr, "^", "-", "*", "<<");
run_inner(s, n_args, shape, xor, sub, rsh, and, "^", "-", ">>", "&");
run_inner(s, n_args, shape, xor, sub, rsh, add, "^", "-", ">>", "+");
run_inner(s, n_args, shape, xor, sub, rsh, xor, "^", "-", ">>", "^");
run_inner(s, n_args, shape, xor, sub, rsh, or, "^", "-", ">>", "|");
run_inner(s, n_args, shape, xor, sub, rsh, sub, "^", "-", ">>", "-");
run_inner(s, n_args, shape, xor, sub, rsh, bus, "^", "-", ">>", "←");
run_inner(s, n_args, shape, xor, sub, rsh, mul, "^", "-", ">>", "*");
run_inner(s, n_args, shape, xor, sub, rsh, rsh, "^", "-", ">>", ">>");
run_inner(s, n_args, shape, xor, sub, rsh, hsr, "^", "-", ">>", "<<");
run_inner(s, n_args, shape, xor, sub, hsr, and, "^", "-", "<<", "&");
run_inner(s, n_args, shape, xor, sub, hsr, add, "^", "-", "<<", "+");
run_inner(s, n_args, shape, xor, sub, hsr, xor, "^", "-", "<<", "^");
run_inner(s, n_args, shape, xor, sub, hsr, or, "^", "-", "<<", "|");
run_inner(s, n_args, shape, xor, sub, hsr, sub, "^", "-", "<<", "-");
run_inner(s, n_args, shape, xor, sub, hsr, bus, "^", "-", "<<", "←");
run_inner(s, n_args, shape, xor, sub, hsr, mul, "^", "-", "<<", "*");
run_inner(s, n_args, shape, xor, sub, hsr, rsh, "^", "-", "<<", ">>");
run_inner(s, n_args, shape, xor, sub, hsr, hsr, "^", "-", "<<", "<<");
run_inner(s, n_args, shape, xor, bus, and, and, "^", "←", "&", "&");
run_inner(s, n_args, shape, xor, bus, and, add, "^", "←", "&", "+");
run_inner(s, n_args, shape, xor, bus, and, xor, "^", "←", "&", "^");
run_inner(s, n_args, shape, xor, bus, and, or, "^", "←", "&", "|");
run_inner(s, n_args, shape, xor, bus, and, sub, "^", "←", "&", "-");
run_inner(s, n_args, shape, xor, bus, and, bus, "^", "←", "&", "←");
run_inner(s, n_args, shape, xor, bus, and, mul, "^", "←", "&", "*");
run_inner(s, n_args, shape, xor, bus, and, rsh, "^", "←", "&", ">>");
run_inner(s, n_args, shape, xor, bus, and, hsr, "^", "←", "&", "<<");
run_inner(s, n_args, shape, xor, bus, add, and, "^", "←", "+", "&");
run_inner(s, n_args, shape, xor, bus, add, add, "^", "←", "+", "+");
run_inner(s, n_args, shape, xor, bus, add, xor, "^", "←", "+", "^");
run_inner(s, n_args, shape, xor, bus, add, or, "^", "←", "+", "|");
run_inner(s, n_args, shape, xor, bus, add, sub, "^", "←", "+", "-");
run_inner(s, n_args, shape, xor, bus, add, bus, "^", "←", "+", "←");
run_inner(s, n_args, shape, xor, bus, add, mul, "^", "←", "+", "*");
run_inner(s, n_args, shape, xor, bus, add, rsh, "^", "←", "+", ">>");
run_inner(s, n_args, shape, xor, bus, add, hsr, "^", "←", "+", "<<");
run_inner(s, n_args, shape, xor, bus, xor, and, "^", "←", "^", "&");
run_inner(s, n_args, shape, xor, bus, xor, add, "^", "←", "^", "+");
run_inner(s, n_args, shape, xor, bus, xor, xor, "^", "←", "^", "^");
run_inner(s, n_args, shape, xor, bus, xor, or, "^", "←", "^", "|");
run_inner(s, n_args, shape, xor, bus, xor, sub, "^", "←", "^", "-");
run_inner(s, n_args, shape, xor, bus, xor, bus, "^", "←", "^", "←");
run_inner(s, n_args, shape, xor, bus, xor, mul, "^", "←", "^", "*");
run_inner(s, n_args, shape, xor, bus, xor, rsh, "^", "←", "^", ">>");
run_inner(s, n_args, shape, xor, bus, xor, hsr, "^", "←", "^", "<<");
run_inner(s, n_args, shape, xor, bus, or, and, "^", "←", "|", "&");
run_inner(s, n_args, shape, xor, bus, or, add, "^", "←", "|", "+");
run_inner(s, n_args, shape, xor, bus, or, xor, "^", "←", "|", "^");
run_inner(s, n_args, shape, xor, bus, or, or, "^", "←", "|", "|");
run_inner(s, n_args, shape, xor, bus, or, sub, "^", "←", "|", "-");
run_inner(s, n_args, shape, xor, bus, or, bus, "^", "←", "|", "←");
run_inner(s, n_args, shape, xor, bus, or, mul, "^", "←", "|", "*");
run_inner(s, n_args, shape, xor, bus, or, rsh, "^", "←", "|", ">>");
run_inner(s, n_args, shape, xor, bus, or, hsr, "^", "←", "|", "<<");
run_inner(s, n_args, shape, xor, bus, sub, and, "^", "←", "-", "&");
run_inner(s, n_args, shape, xor, bus, sub, add, "^", "←", "-", "+");
run_inner(s, n_args, shape, xor, bus, sub, xor, "^", "←", "-", "^");
run_inner(s, n_args, shape, xor, bus, sub, or, "^", "←", "-", "|");
run_inner(s, n_args, shape, xor, bus, sub, sub, "^", "←", "-", "-");
run_inner(s, n_args, shape, xor, bus, sub, bus, "^", "←", "-", "←");
run_inner(s, n_args, shape, xor, bus, sub, mul, "^", "←", "-", "*");
run_inner(s, n_args, shape, xor, bus, sub, rsh, "^", "←", "-", ">>");
run_inner(s, n_args, shape, xor, bus, sub, hsr, "^", "←", "-", "<<");
run_inner(s, n_args, shape, xor, bus, bus, and, "^", "←", "←", "&");
run_inner(s, n_args, shape, xor, bus, bus, add, "^", "←", "←", "+");
run_inner(s, n_args, shape, xor, bus, bus, xor, "^", "←", "←", "^");
run_inner(s, n_args, shape, xor, bus, bus, or, "^", "←", "←", "|");
run_inner(s, n_args, shape, xor, bus, bus, sub, "^", "←", "←", "-");
run_inner(s, n_args, shape, xor, bus, bus, bus, "^", "←", "←", "←");
run_inner(s, n_args, shape, xor, bus, bus, mul, "^", "←", "←", "*");
run_inner(s, n_args, shape, xor, bus, bus, rsh, "^", "←", "←", ">>");
run_inner(s, n_args, shape, xor, bus, bus, hsr, "^", "←", "←", "<<");
run_inner(s, n_args, shape, xor, bus, mul, and, "^", "←", "*", "&");
run_inner(s, n_args, shape, xor, bus, mul, add, "^", "←", "*", "+");
run_inner(s, n_args, shape, xor, bus, mul, xor, "^", "←", "*", "^");
run_inner(s, n_args, shape, xor, bus, mul, or, "^", "←", "*", "|");
run_inner(s, n_args, shape, xor, bus, mul, sub, "^", "←", "*", "-");
run_inner(s, n_args, shape, xor, bus, mul, bus, "^", "←", "*", "←");
run_inner(s, n_args, shape, xor, bus, mul, mul, "^", "←", "*", "*");
run_inner(s, n_args, shape, xor, bus, mul, rsh, "^", "←", "*", ">>");
run_inner(s, n_args, shape, xor, bus, mul, hsr, "^", "←", "*", "<<");
run_inner(s, n_args, shape, xor, bus, rsh, and, "^", "←", ">>", "&");
run_inner(s, n_args, shape, xor, bus, rsh, add, "^", "←", ">>", "+");
run_inner(s, n_args, shape, xor, bus, rsh, xor, "^", "←", ">>", "^");
run_inner(s, n_args, shape, xor, bus, rsh, or, "^", "←", ">>", "|");
run_inner(s, n_args, shape, xor, bus, rsh, sub, "^", "←", ">>", "-");
run_inner(s, n_args, shape, xor, bus, rsh, bus, "^", "←", ">>", "←");
run_inner(s, n_args, shape, xor, bus, rsh, mul, "^", "←", ">>", "*");
run_inner(s, n_args, shape, xor, bus, rsh, rsh, "^", "←", ">>", ">>");
run_inner(s, n_args, shape, xor, bus, rsh, hsr, "^", "←", ">>", "<<");
run_inner(s, n_args, shape, xor, bus, hsr, and, "^", "←", "<<", "&");
run_inner(s, n_args, shape, xor, bus, hsr, add, "^", "←", "<<", "+");
run_inner(s, n_args, shape, xor, bus, hsr, xor, "^", "←", "<<", "^");
run_inner(s, n_args, shape, xor, bus, hsr, or, "^", "←", "<<", "|");
run_inner(s, n_args, shape, xor, bus, hsr, sub, "^", "←", "<<", "-");
run_inner(s, n_args, shape, xor, bus, hsr, bus, "^", "←", "<<", "←");
run_inner(s, n_args, shape, xor, bus, hsr, mul, "^", "←", "<<", "*");
run_inner(s, n_args, shape, xor, bus, hsr, rsh, "^", "←", "<<", ">>");
run_inner(s, n_args, shape, xor, bus, hsr, hsr, "^", "←", "<<", "<<");