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 *
FROM   rec
WHERE  diff <= 1e-38
;