Section CONSTRUCTORS.
Variable ge: genv.
Variable fn: function.
(** Smart constructor for moves. *)
(** Properties of division *)

Lemma divls_modls_exists:
forall v1 v2,
Val.divls v1 v2 <> None \/ Val.modls v1 v2 <> None ->
exists nh nl d q r,
Val.shrl v1 (Vint (Int.repr 63)) = Vlong nh /\ v1 = Vlong nl /\ v2 = Vlong d
/\ Int64.divmods2 nh nl d = Some(q, r)
/\ Val.divls v1 v2 = Some (Vlong q) /\ Val.modls v1 v2 = Some (Vlong r).