fact: Fixpoint iter_int63_aux (n : nat) (i : int) (A : Type) (f : A -> A) : A -> A := match n with | O => fun x => x | S n => if i =? 0 then fun x => x else let g := iter_int63_aux n (i >> 1) A f in fun x => if bit i 0 then f (g (g x)) else g (g x) end.
imports: Bool List PArray Int63 Ring63 ZArith Psatz