Remark eq_same_bits:
  forall i x y, x = y -> Int.testbit x i = Int.testbit y i.

Lemma iagree_bitwise_binop: forall sem f, (forall x y i, 0 <= i < Int.zwordsize -> Int.testbit (f x y) i = sem (Int.testbit x i) (Int.testbit y i)) -> forall x1 x2 y1 y2 m, iagree x1 y1 m -> iagree x2 y2 m -> iagree (f x1 x2) (f y1 y2) m.