Ltac loadind_correct_solve :=
  match goal with
  | H: Error _ = OK _ |- _ => discriminate H
  | H: OK _ = OK _ |- _ => inv H
  | H: match ?x with _ => _ end = OK _ |- _ => destruct x eqn:?; loadind_correct_solve
  | _ => idtac
  end.

Lemma int64_sub_overflow: forall x y, Int.xor (Int.repr (Int64.unsigned (Int64.sub_overflow x y Int64.zero))) (Int.repr (Int64.unsigned (Int64.negative (Int64.sub x y)))) = (if Int64.lt x y then Int.one else Int.zero).