let binop = function
| PlusA -> `Badd
| PlusPI -> `Badd
| IndexPI -> `Badd
| MinusA -> `Bsub
| MinusPI -> `Bsub
| MinusPP -> `Bsub
| Mult -> `Bmul
| Div -> `Bdiv
| Mod -> `Bmod
| Shiftlt -> `Bshift_left
| Shiftrt -> assert false (* Should be decided at point used *)
| Lt -> `Blt
| Gt -> `Bgt
| Le -> `Ble
| Ge -> `Bge
| Eq -> `Beq
| Ne -> `Bneq
| BAnd -> `Bbw_and
| BXor -> `Bbw_xor
| BOr -> `Bbw_or
| LAnd -> `Bland
| LOr -> `Blor