ARM 5.5 says "The discrete_subtype_definition of a for loop is
elaborated just once." The call to the Sqrt function is part of the
discrete_subtype_definition, so it is called just once.

--
Jeff Carter
"You tiny-brained wipers of other people's bottoms!"
Monty Python & the Holy Grail