-- trunc (binop (Y, (ext X))) --> binop ((trunc Y), X)
SELECT COUNT() AS COUNT AS "Missing Optimization: trunc (binop (Y, (ext X))) --> binop ((trunc Y), X)"
FROM instructions WHERE m_inst(instruction, m_trunc(m_binop(m_any_inst(), m_zext() || m_sext())));

-- trunc (binop ((ext X), Y)) --> binop (X, (trunc Y))
SELECT instruction AS "Missing Optimization: trunc (binop (ext X), Y) --> binop (X, (trunc Y))"
FROM instructions WHERE m_inst(instruction, m_trunc(m_binop(m_zext() || m_sext())));

-- Constant folding
SELECT instruction AS "Missing Optimization: Constants folding BinOp"
FROM instructions WHERE m_inst(instruction, m_binop(m_const_int(), m_const_int()));





