smooth.spline()  [R]
 |
 \--> qsbart()                          ./qsbart.f
      |
      \--> sbart()                      ./sbart.c
           |--> sgram()                 ./sgram.f  [was ratfor !]
           |    |--> interv()           ./bvalue.f [was ratfor !]
           |    \--> bsplvd()           ./bsplvd.f [was ratfor !]
           |         \--> bsplvb()          "
           |--> stxwx()                 ./stxwx.f  [was ratfor !]
           |    |--> interv()             (see above)
           |    \--> bsplvd()               "
           |         \--> bsplvb()          "
           \--> sslvrg()                ./sslvrg.f [was ratfor !]
                |--> sinerp()           ./sinerp.f [was ratfor !]
                |--> bvalue()           ./bvalue.f   (above)
                |    \--> interv()        (see above)
                |--> interv()               "
                |--> bsplvd()               "
                |    \--> bsplvb()          "
                |--> dpbfa()            ../../../appl/dpbfa.f  {Linpack}
                \--> dpbsl()            ../../../appl/dpbsl.f


predict.smooth.spline()  [R]
 |
 \--> bvalus()                          ./bvalus.f
       \--> bvalue()                    (see above)
             \--> interv()                "


-------------

But note that supsmu() / ppr() also call on smoothing splines :

supsmu() [R]
 |
 |-> setsmu				./ppr.f
 \-> supsmu                               "
     |
     |--> smooth                          "
     \--> spline                          "
          |
          |- intpr()
          |- dblepr()
          |- bdrsplerr()                ./ksmooth.c
          |
          \- qsbart()                   (see above)
             \-> sbart()  .....etc..... (see above)



ppr()   [R]
 |
 |-> setppr				./ppr.f
 |
 |-> pppred				  "
 |   \-> fsort                            "
 |       \-> sort                         "
 |
 \-> smart                                "
     \-> smart1                           "
         |
         |-> sort			(see above)
         |
         |-> subfit                       "
         |   |
         |   |-> newb
         |   |
         \---+-> fulfit
             |   |
             |   v
             \-> onetrm
                 |
                 \-> oneone
                     |
                     |--> supsmu	(see above)
                     |--> sort		(see above)
                     |
                     |--> pprdir
                     |    \-> ppconj
                     |
                     \--> pprder
                          \-> pool


predict.ppr() [R]
 |
 pppred					(see above)

-------

Note that CRAN package "mda" also relies on these (identical) six files :

bsplvd.f bvalue.f
sgram.f sinerp.f sslvrg.f stxwx.f
