PROCEDURE Reci(x: REAL): REAL;
(*0 < x < 2*)
VAR y, c: REAL;
BEGIN y := 1.0; c := 1.0 – x;
WHILE c > e DO
(* y×
x = 1-c,
0 < |c| < 1 *)
y := y
× (1.0+c); c := c×c
END
(* (1-e)/x <= y < 1/x *)
RETURN y
END Reci