Instance CompSpecs : compspecs.Definition Vprog : varspecs.Fixpoint fib_of_nat (n: nat): Z :=
  match n with
  | O => 0
  | S n' =>
    match n' with
    | O => 1
    | S n'' => fib_of_nat n'' + fib_of_nat n'
    end
  end.Definition fib_of_Z (n: Z): Z := fib_of_nat (nat_of_Z n).

Lemma fib_bound: forall n, 0 <= n < 46 -> 0 <= fib_of_Z n < Int.max_signed.