Source
%% auteur : 

35 setxunit
7.5 setborder
90 setangle_repere
-2 10 setxrange
-1 8 setyrange
1 1 settkstep
.5 .5 setsubtkstep
2 2 setmkstep
traceaxes
unites
/f {setxvar
 11 126 div x 3 exp mul 1.146825 x 2 exp mul sub 3.821429 x mul add 1 2 div add
} def

gsave
   bleu
   0.75 setlinewidth
   continu
   {f} courbe
grestore

/0 {0 0} def
/I {1 0} def
/J {0 1} def
/A {1.8 4.172} def
/A' {1.8 0} def
/A'' {0 4.172} def
/A''' {1 4.172} def
/A'''' {1.8 1.8} def
/X {1.2 3.585143} def
/X' {1.2 0} def
/X'' {0 3.585143} def
/B {0 2} def
/B0 {2.5 2} def
/B1 {4 2} def
/B' {4.8653 2.000008} def
/B2 {6.5 2} def
/B3 {7.8194 1.999952} def
/B'' {4.8653 0} def
/B''' {7.8194 0} def
/B'''' {7.8194 -0.3} def

gsave
pointilles
[X'' X] ligne
[X X'] ligne
[A'' A] (<-) ligne
[A''' A] (<-) ligne
[A' A''''] (->) ligne
[A A'] (<-) ligne
[B B0] (->) ligne
[B0 B1] (->) ligne
[B1 B'] (-) ligne
[B' B''] (->) ligne
[B' B2] (->) ligne
[B2 B3] (-) ligne
[B3 B'''] (->) ligne
grestore

12 setfontsize
setTimesItalic
    (O) O dltext
    (I) I dltext
    (J) J cltext
    (x) X' dctext
    (a) A' dctext
    (f(x)) X'' cltext
    (image de a) A'' cltext
    (b) B cltext
    (un antécédent de b) B'' dctext
    (un autre antécédent) B''' dctext
    (de b) B'''' dctext

 noir
/dotscale {0.7 0.7} def

      /l1 [1 1.1 1.2 1.3 1.4] def       
      /l2 l1 {f} apply def          
      l1 l2 fuz {point} plot

setTimesItalic
   (C) 9 7 ultext
   (f) indice