let convert_binop = function
CTTbinTimes -> PbinTimes
| CTTbinDiv -> PbinDiv
| CTTbinPlusVV -> PbinPlus
| CTTbinMinusVV -> PbinMinus
| CTTbinPostPlusVV -> assert false
| CTTbinPostMinusVV -> assert false
| CTTbinPlusPV -> PbinPlus
| CTTbinMinusPP -> PbinMinus
| CTTbinMinusPV -> PbinMinus
| CTTbinPostPlusPV -> assert false
| CTTbinPostMinusPV -> assert false
| CTTbinModulo -> PbinModulo
| CTTbinLshift -> PbinLshift
| CTTbinRshift -> PbinRshift
| CTTbinLogAnd -> PbinLogAnd
| CTTbinLogOr -> PbinLogOr
| CTTbinIntAnd -> PbinIntAnd
| CTTbinIntOr -> PbinIntOr
| CTTbinIntXor -> PbinIntXor
| CTTbinLessThan -> PbinLessThan
| CTTbinLessEqual -> PbinLessEqual
| CTTbinGtrThan -> PbinGtrThan
| CTTbinGtrEqual -> PbinGtrEqual
| CTTbinEqual -> PbinEqual
| CTTbinNotEqual -> PbinNotEqual