with Instrument;
use Instrument;
procedure Nl07a2 is

    X : Integer := 1;

    Count : Integer := 0;

    Descending : Boolean := Ident_Bool (True);

    package Pr is new Procs (Integer);
    use Pr;

begin
    Start ("NL07A2", "Overhead for 7 Nested Loops (test)");

    for I in 1 .. 10000 loop

        Let (Global, Ident (Init));

        for I in X .. Ident_Int (1) loop
            while Descending loop
                loop
                    exit when not Descending;

                    for I in X .. Ident_Int (1) loop
                        while Descending loop
                            loop
                                exit when not Descending;

                                for I in X .. Ident_Int (1) loop

                                    Count := Count + 1;
                                    Descending := Ident_Bool (False);

                                end loop;
                            end loop;
                        end loop;
                    end loop;
                end loop;
            end loop;
        end loop;

    end loop;
    Stop;

end Nl07a2;