Definition mul' (x y: Int.int) : int := repr (Int.unsigned x * Int.unsigned y).

Lemma decompose_mul:
forall xh xl yh yl,
mul (ofwords xh xl) (ofwords yh yl) =
ofwords (Int.add (Int.add (hiword (mul' xl yl)) (Int.mul xl yh)) (Int.mul xh yl))
(loword (mul' xl yl)).