let expr_cond_cmp  mem cmpop t1 e1 t2 e2 =
    let ct1 = Ctypes.object_of t1 in
    let ct2 = Ctypes.object_of t2 in
    begin
      match ct1,ct2 with
        |  C_pointer _,C_pointer _ -> expr_cond_cmp_ptr mem cmpop e1 e2
        | _ -> expr_cond_cmp_arith mem cmpop ct1  e1 ct2 e2
    end