: sqrt2 ( n+1 -- ~ ) [ 0 > ] [| n+1 | n+1 1 - :> n n sqrt2 2 / n sqrt2 recip + ] [ 1 ] smart-if* ; inline recursive