>
>
>Outer_Loop:
>   for Outer in This_Value .. That_Value loop
>   Inner_Loop:
>      for Inner in Lower_Limit ..
>                      Integer(Sqrt.(Float.Outer)) loop
>         Blah;
>         Blah;
>         Blah;
>      end loop Inner_Loop;
>   end loop Outer_Loop;
>
>Does Ada require evaluation of the upper limit at each iteration of the
>inner loop or is the square root function (with the attendant coercions)
>only called once?
>

The truth is in the RM. In this case, it is in RM 5.5 (9).
With an explicit note in RM 5.5 (12).

--  Vincent