Module ESD2 := FSetDecide.Decide(EqSet2).
Remark val_lessdef_normalize:
forall v v' ty,
Val.has_type v ty -> Val.lessdef v v' ->
Val.lessdef v (Val.load_result (chunk_of_type ty) v').

Lemma parallel_set_builtin_res_satisf:
forall env res res' e0 e1 rs ls v v',
remove_equations_builtin_res env res res' e0 = Some e1 ->
forallb (fun r => reg_unconstrained r e1) (params_of_builtin_res res) = true ->
forallb (fun mr => loc_unconstrained (R mr) e1) (params_of_builtin_res res') = true ->
satisf rs ls e1 ->
Val.lessdef v v' ->
satisf (regmap_setres res v rs) (Locmap.setres res' v' ls) e0.