Definition double d :=
  match d with
  | Pos u => Pos (Unsigned.double u)
  | Neg u => Neg (Unsigned.double u)
  end.

(* Specifications: *)
Lemma double_norm d : double (norm d) = norm (double d).
Lemma of_hex_int_double d : Z.of_hex_int (double d) = Z.double (Z.of_hex_int d).
Lemma double_to_hex_int n : double (Z.to_hex_int n) = Z.to_hex_int (Z.double n).
Lemma nztail_to_hex_uint_pow16 n : Hexadecimal.nztail (Pos.to_hex_uint (Nat.iter n (Pos.mul 16) 1%positive)) = (D1 Nil, n).