with Instrument; use Instrument; procedure Akera3 is pragma Suppress (Access_Check); pragma Suppress (Discriminant_Check); pragma Suppress (Index_Check); pragma Suppress (Length_Check); pragma Suppress (Range_Check); pragma Suppress (Division_Check); pragma Suppress (Overflow_Check); pragma Suppress (Storage_Check); I : Integer; function Ackermann (N, M : Integer) return Integer is begin if N = 0 then return M + 1; elsif M = 0 then return Ackermann (N - 1, 1); else return Ackermann (N - 1, Ackermann (N, M - 1)); end if; end Ackermann; begin Start ("AKERA3", "Ackerman function (pragma suppress)"); I := Ackermann (3, 4); Stop; end Akera3;