Lemma eval_binop_relate':
forall {CS: compspecs} (ge: genv) te ve rho b e1 e2 t m
(Hcenv: cenv_sub (@cenv_cs CS) (genv_cenv ge))
(H1: Clight.eval_expr ge ve te (m_dry m) e1 (eval_expr e1 rho))
(H2: Clight.eval_expr ge ve te (m_dry m) e2 (eval_expr e2 rho))
(H3: app_pred (denote_tc_assert (isBinOpResultType b e1 e2 t) rho) (m_phi m))
(TC1 : tc_val (typeof e1) (eval_expr e1 rho))
(TC2 : tc_val (typeof e2) (eval_expr e2 rho)),
Clight.eval_expr ge ve te (m_dry m) (Ebinop b e1 e2 t)
(force_val2 (sem_binary_operation' b (typeof e1) (typeof e2))
(eval_expr e1 rho) (eval_expr e2 rho)).