Hint Extern 3 (_ <= Int.signed (Int.sign_ext _ _) <= _) =>
(apply sign_ext_range2; [computable | reflexivity | reflexivity]).
Hint Extern 3 (_ <= Int.unsigned (Int.zero_ext _ _) <= _) =>
(apply zero_ext_range2; [computable | reflexivity | reflexivity]).
Hint Rewrite sign_ext_inrange using assumption : norm.
Hint Rewrite zero_ext_inrange using assumption : norm.
Definition repable_signed (z: Z) :=
Int.min_signed <= z <= Int.max_signed.
Definition repable_signed_dec (z: Z) : {repable_signed z}+{~repable_signed z}.

Lemma repable_signed_mult1:
forall i j, j<>0 ->  (i <= Int.max_signed \/ j <> -1) ->
repable_signed (i*j) -> repable_signed i.