Definition cast_pointer_to_bool t1 t2 :=
match t1 with (Tpointer _ _ | Tarray _ _ _ | Tfunction _ _ _) =>
match t2 with Tint IBool _ _ => true | _ => false end
| _ => false
end.

Lemma eval_expr_relate:
forall {CS: compspecs} Delta ge te ve rho e m,
genv_cenv ge = cenv_cs ->
rho = construct_rho (filter_genv ge) ve te ->
typecheck_environ Delta rho ->
(denote_tc_assert (typecheck_expr Delta e) rho (m_phi m) ->
Clight.eval_expr ge ve te (m_dry m) e  (eval_expr e rho)).