%!PS
%%BoundingBox: 110 50 560 780
/doos { newpath dup 3 2 roll dup 6 1 roll exch moveto
        3 2 roll dup 4 1 roll exch lineto
        dup 4 1 roll lineto  exch lineto  closepath stroke } def
%
% 110 50 560 780 doos
%
/Times-Roman findfont 0.12 scalefont setfont
%
0 20 translate  100 100 scale        0.006 setlinewidth
% X-axis and Y-axis:
newpath 0.8 2 moveto 2.9 0 rlineto  1 0.4 moveto 0 4.5 rlineto  stroke
% Origin, start & increments:
1 2 translate
/x 2.7 def   /dx { x /x x 0.01 sub def } def
% Function  y = 1/x - A :
/A 1.75 def    /fun { 1 exch div A sub } def
newpath dx dup fun moveto
249 { dx dup fun lineto } repeat stroke
%
0.002 setlinewidth
%
% Iterates (starting with Unity):
/pn 1 def   /dp { /pn pn 2 mul A pn mul pn mul sub def } def
/rc { -1 pn pn mul div } def
/Pee { gsave
       +0.02 +0.02 rmoveto (y\50p) show -0.01 -0.05 rmoveto show
       0 +0.05 rmoveto (\51) show
       grestore } def
%
newpath
     pn 0 moveto   pn dup fun lineto
(0) Pee
1 dup rc mul rmoveto  -2 dup rc mul rlineto
dp   pn 0 moveto   pn dup fun lineto
(1) Pee
0.16 dup rc mul rmoveto  -0.2 dup rc mul rlineto
dp   pn 0 moveto   pn dup fun lineto
(2) Pee
0.2 dup rc mul rmoveto  -0.4 dup rc mul rlineto
dp   pn 0 moveto   pn dup fun lineto
(3) Pee
0.2 dup rc mul rmoveto  -0.4 dup rc mul rlineto
dp   pn 0 moveto   pn dup fun lineto
%
gsave +0.05 -0.12 rmoveto (1/A) show grestore
%
stroke
%
% More labels:
1.8 -1.1 moveto (y\50x\51 = 1/x - A) show
2.5 0.05 moveto (x) show
-0.1 2.5 moveto (y) show
-0.1 -0.1 moveto (O) show
showpage