Definition tc_numeric_val (v: val) (t: type) : Prop :=
 match v,t with
 | Vint _, Tint _ _ _ => True
 | Vlong _, Tlong _ _ => True
 | Vfloat _, Tfloat F64 _ => True
 | _, _ => False
 end.

Lemma tc_val_sem_cmp: forall op v1 t1 v2 t2 i3 s3 a3, tc_numeric_val v1 t1 -> tc_numeric_val v2 t2 -> tc_val (Tint i3 s3 a3) (force_val (Clight_Cop2.sem_cmp op t1 t2 v1 v2)).