(** Add offset to pointer *)

(* Specifications: *)
Lemma addptrofs_correct:
forall rd r1 n k rs m,
r1 <> X31 ->
exists rs',
exec_straight ge fn (addptrofs rd r1 n k) rs m k rs' m
/\ Val.lessdef (Val.offset_ptr rs#r1 n) rs'#rd
/\ forall r, r <> PC -> r <> rd -> r <> X31 -> rs'#r = rs#r.
Lemma addptrofs_correct_2:
forall rd r1 n k (rs: regset) m b ofs,
r1 <> X31 -> rs#r1 = Vptr b ofs ->
exists rs',
exec_straight ge fn (addptrofs rd r1 n k) rs m k rs' m
/\ rs'#rd = Vptr b (Ptrofs.add ofs n)
/\ forall r, r <> PC -> r <> rd -> r <> X31 -> rs'#r = rs#r.