with
rec (rn, a, g, diff) as (
select 1, 1, 1/sqrt(2), 1 - 1/sqrt(2)
from dual
union all
select rn + 1, (a + g)/2, sqrt(a * g), (a + g)/2 - sqrt(a * g)
from rec
where diff > 1e-38
)
select *
where diff <= 1e-38
;