let int_operator iota = function
    | PlusA  -> A.i_op iota Formula.Iadd
    | MinusA -> A.i_op iota Formula.Isub
    | Mult   -> A.i_op iota Formula.Imul
    | Div    -> A.i_op iota Formula.Idiv
    | Mod    -> A.i_op iota Formula.Imod
    | BAnd   -> A.bits_and iota
    | BXor   -> A.bits_xor iota
    | BOr    -> A.bits_or iota
    | Shiftlt -> A.bits_lshift iota
    | Shiftrt -> A.bits_rshift iota
    | _ -> assert false