try to avoid races again (cf. 8c37cb84065f and fd3a36e48b09);
package body Sqrt is
function Isqrt(N: Natural) return Natural
is
R: Natural;
begin
R := 0;
loop
--# assert R * R <= N;
exit when N - R * R < 2 * R + 1;
R := R + 1;
end loop;
return R;
end Isqrt;
end Sqrt;