diff --git a/basis-splines.lisp b/basis-splines.lisp
index f93aaf35207eb31b9848c687db322ab3403e7ca4..e9215f22dd8df38930f718bfbf677c7a64e06e8a 100644
--- a/basis-splines.lisp
+++ b/basis-splines.lisp
@@ -1,6 +1,6 @@
 ;; Basis splines.
 ;; Liam Healy 2008-02-18 14:43:20EST basis-splines.lisp
-;; Time-stamp: <2009-01-25 10:11:48EST basis-splines.lisp>
+;; Time-stamp: <2009-01-28 20:55:57EST basis-splines.lisp>
 ;; $Id$
 
 (in-package :gsl)
@@ -12,6 +12,7 @@
 (defmobject basis-spline "gsl_bspline"
   ((order sizet) (number-of-breakpoints sizet))
   "basis spline"
+  :gsl-version (1 9)
   :documentation			; FDL
   "Allocate a workspace for computing B-splines. The number of
    breakpoints is given by number-of-breakpoints.  This leads to n =
@@ -22,6 +23,7 @@
 (defmfun knots (breakpoints workspace)
   "gsl_bspline_knots"
   (((mpointer breakpoints) :pointer) ((mpointer workspace) :pointer))
+  :gsl-version (1 9)
   :documentation			; FDL
   "Compute the knots associated with the given breakpoints and store
    them in the workspace.")
@@ -30,16 +32,22 @@
   "gsl_bspline_knots_uniform"
   ((a :double) (b :double) ((mpointer workspace) :pointer))
   :return (workspace)
+  :gsl-version (1 9)
   :documentation			; FDL
   "Compute knots uniformly on the interval [a, b] and store
    them in the workspace.")
 
 ;;; Evaluation of B-splines
 
-(defmfun evaluate-bspline (x B workspace)
+(defmfun evaluate
+    ((workspace basis-spline) x
+     &key (B (make-marray 'double-float
+			  :dimensions (number-of-coefficients workspace))))
   "gsl_bspline_eval"
   ((x :double) ((mpointer B) :pointer) ((mpointer workspace) :pointer))
+  :definition :method
   :outputs (B)
+  :gsl-version (1 9)
   :documentation			; FDL
   "Evaluate all B-spline basis functions at the position x and store
    them in the GSL vector B, so that the ith element of B is B_i(x).
@@ -53,27 +61,31 @@
 ;;; These are not documented but are in
 ;;; /usr/include/gsl/gsl_bspline.h; are they officially supported?
 
-(defmfun bspline-ncoeffs (B)
+(defmfun number-of-coefficients (bspline)
   "gsl_bspline_ncoeffs"
-  (((mpointer B) :pointer))
-  :c-return sizet)
+  (((mpointer bspline) :pointer))
+  :c-return sizet
+  :gsl-version (1 9))
 
-(defmfun bspline-order (B)
+(defmfun order (bspline)
   "gsl_bspline_order"
-  (((mpointer B) :pointer))
-  :c-return sizet)
+  (((mpointer bspline) :pointer))
+  :c-return sizet
+  :gsl-version (1 9))
 
-(defmfun number-of-breakpoints (B)
+(defmfun number-of-breakpoints (bspline)
   "gsl_bspline_nbreak"
-  (((mpointer B) :pointer))
+  (((mpointer bspline) :pointer))
   :c-return sizet
-  :documentation "The number of breakpoints of the basis spline B.")
+  :gsl-version (1 9)
+  :documentation "The number of breakpoints of the basis spline bspline.")
 
-(defmfun breakpoint (i B)
+(defmfun breakpoint (i bspline)
   "gsl_bspline_breakpoint"
-  ((i sizet) ((mpointer B) :pointer))
+  ((i sizet) ((mpointer bspline) :pointer))
   :c-return :double
-  :documentation "The ith breakpoint of the basis spline B.")
+  :gsl-version (1 9)
+  :documentation "The ith breakpoint of the basis spline bspline.")
 
 ;;; Examples and unit test
 
@@ -105,7 +117,7 @@
     ;; Fit matrix
     (dotimes (i ndata)
       ;; Compute B_j
-      (evaluate-bspline (maref x i) B bw)
+      (evaluate bw (maref x i) :b B)
       ;; Fill in row i of X
       (dotimes (j ncoeffs)
 	(setf (maref Xmatrix i j) (maref B j))))
@@ -115,9 +127,11 @@
     (loop for xi from 0.0d0 to 15.0d0 by 0.1d0
        with yval and yerr
        do
-       (evaluate-bspline xi B bw)
+       (evaluate bw xi :b B)
        (multiple-value-setq (yval yerr)
 	 (multi-linear-estimate B c cov))
        collect yval into yvals 
        collect yerr into yerrs
        finally (return (values yvals yerrs)))))
+
+(save-test basis-spline (bspline-example))
diff --git a/chebyshev.lisp b/chebyshev.lisp
index 67b551ccc810bc8b7f6dc5b6965bfb6170782fc5..bbf3c920e8cc389a3c376977499834d009a78544 100644
--- a/chebyshev.lisp
+++ b/chebyshev.lisp
@@ -1,6 +1,6 @@
 ;; Chebyshev Approximations
 ;; Liam Healy Sat Nov 17 2007 - 20:36
-;; Time-stamp: <2009-01-25 10:12:45EST chebyshev.lisp>
+;; Time-stamp: <2009-01-28 19:05:30EST chebyshev.lisp>
 ;; $Id$
 
 (in-package :gsl)
@@ -26,12 +26,13 @@
 
 ;;; The functions that don't return are defined, but it is recommended
 ;;; to use the functions that do return error (and ignore it if
-;;; desired) in the form of #'evaluate-chebyshev.
+;;; desired) in the form of #'evaluate.
 
-(defmfun evaluate-chebyshev (chebyshev x &optional order)
+(defmfun evaluate ((object chebyshev) x &key order)
   ("gsl_cheb_eval" "gsl_cheb_eval_n")
-  ((((mpointer chebyshev) :pointer) (x :double))
-   (((mpointer chebyshev) :pointer) (order sizet) (x :double)))
+  ((((mpointer object) :pointer) (x :double))
+   (((mpointer object) :pointer) (order sizet) (x :double)))
+  :definition :method
   :c-return :double
   :documentation			; FDL
   "Evaluate the Chebyshev series at a point x.  If order is supplied,
@@ -89,8 +90,8 @@
 	  (format t "~&~a ~a ~a ~a"
 		  x
 		  (chebyshev-step x)
-		  (evaluate-chebyshev cheb x 10)
-		  (evaluate-chebyshev cheb x)))))))
+		  (evaluate cheb x :order 10)
+		  (evaluate cheb x)))))))
 
 (defun chebyshev-point-example (x)
   (check-type x double-float)
@@ -101,9 +102,9 @@
     (derivative-chebyshev deriv cheb)
     (integral-chebyshev integ cheb)
     (list
-     (evaluate-chebyshev cheb x)
-     (evaluate-chebyshev deriv x)
-     (evaluate-chebyshev integ x))))
+     (evaluate cheb x)
+     (evaluate deriv x)
+     (evaluate integ x))))
 
 ;;; Unit test
 (save-test chebyshev
diff --git a/documentation/status.text b/documentation/status.text
index 5f345c4d4f88dca6d5e8634f4cf03d25d06389d7..09d580a4cda9f4edf587efc87da0eda903ed411e 100644
--- a/documentation/status.text
+++ b/documentation/status.text
@@ -35,6 +35,7 @@ series-acceleration
 linear-least-squares
 nonlinear-least-squares
 minimization-multi
+basis-spline
 
 === GSL questions ===
 Sun Nov  9 2008:
@@ -48,3 +49,6 @@ Sun Jan 11 2009:
 gsl_permutation_valid (presumably combination too) signals an error if
 the permutation is invalid, rather than just returning an error code.
 Is this intentional?
+Wed Jan 28 2009:
+What are the _e functions in interpolation for, how are the results to
+be interpreted?
diff --git a/gsll-tests.asd b/gsll-tests.asd
index 6036e1866c367b7cd2691b5fcd9f3735bd51d0bd..6c8100572f86c64a6916036bdd53b60d95b03a35 100644
--- a/gsll-tests.asd
+++ b/gsll-tests.asd
@@ -1,6 +1,6 @@
 ;; Definition of GSLL system 
 ;; Liam Healy
-;; Time-stamp: <2009-01-26 22:45:42EST gsll-tests.asd>
+;; Time-stamp: <2009-01-28 20:59:16EST gsll-tests.asd>
 ;; $Id$
 
 (asdf:defsystem "gsll-tests"
@@ -24,6 +24,7 @@
 	     (:file "airy")
 	     (:file "autocorrelation")
 	     (:file "axpy")
+	     (:file "basis-spline")
 	     (:file "bernoulli")
 	     (:file "bessel")
 	     (:file "beta")
diff --git a/gsll.asd b/gsll.asd
index 975c2a05b2bfa03bcda2ed9caccf2ba02db4a499..f40230c6b851f694b41551b3ee773e812df2de93 100644
--- a/gsll.asd
+++ b/gsll.asd
@@ -1,6 +1,6 @@
 ;; Definition of GSLL system 
 ;; Liam Healy
-;; Time-stamp: <2009-01-24 16:56:13EST gsll.asd>
+;; Time-stamp: <2009-01-28 21:05:10EST gsll.asd>
 ;; $Id$
 
 (asdf:defsystem "gsll"
@@ -196,4 +196,4 @@
 	       (:file "minimization-multi" :depends-on (generic))
 	       (:file "linear-least-squares")
 	       (:file "nonlinear-least-squares" :depends-on (generic))))
-     (:file "basis-splines" :depends-on (init data))))
+     (:file "basis-splines" :depends-on (init data random))))
diff --git a/init/init.lisp b/init/init.lisp
index 0c606ffa8d3030296fe9203cf3f3c9455ac99c1d..01ad46714ebf9d71be89a06383ec9a9e47f1eb79 100644
--- a/init/init.lisp
+++ b/init/init.lisp
@@ -1,6 +1,6 @@
 ;; Load GSL
 ;; Liam Healy Sat Mar  4 2006 - 18:53
-;; Time-stamp: <2009-01-26 21:39:39EST init.lisp>
+;; Time-stamp: <2009-01-27 21:32:59EST init.lisp>
 ;; $Id$
 
 (defpackage gsll
@@ -44,8 +44,9 @@
   (pushnew :callback-toplevel-only *features*))
 
 ;;; CFFI currently doesn't allow uninterned callback names for CCL;
-;;; patch here.
-
+;;; patch here.  This patch can be removed once the fix in CFFI:
+;;; http://common-lisp.net/pipermail/cffi-devel/2009-January/003046.html
+;;; makes it into a released version.
 #-openmcl (import 'cl-utilities:with-unique-names :gsll)
 
 #+openmcl
diff --git a/init/mobject.lisp b/init/mobject.lisp
index 9a63b10bc72f483f74a155a4ba3baa36cf1cabd1..4e43f43ffac6a2a3203b546776d2f9180018ee75 100644
--- a/init/mobject.lisp
+++ b/init/mobject.lisp
@@ -1,7 +1,6 @@
 ;; Definition of GSL objects and ways to use them.
 ;; Liam Healy, Sun Dec  3 2006 - 10:21
-;; Time-stamp: <2009-01-25 17:27:46EST mobject.lisp>
-;; $Id$
+;; Time-stamp: <2009-01-28 19:19:54EST mobject.lisp>
 
 ;;; GSL objects are represented in GSLL as and instance of a 'mobject.
 ;;; The macro demobject takes care of defining the appropriate
@@ -149,6 +148,10 @@
 (defgeneric name (object)
   (:documentation "The name given to the GSL object."))
 
+(export 'evaluate)
+(defgeneric evaluate (object point &key)
+  (:documentation "Evaluate the GSL object."))
+
 ;;; Pointer type
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (defconstant +foreign-pointer-class+ (class-name (class-of (cffi:null-pointer)))
diff --git a/interpolation/evaluation.lisp b/interpolation/evaluation.lisp
index 265390059cc010da2421be75aef77ef5f0b9efed..7f453a574f3d087354c7725f34348b340736e2c1 100644
--- a/interpolation/evaluation.lisp
+++ b/interpolation/evaluation.lisp
@@ -1,12 +1,14 @@
 ;; Evaluation of interpolation functions.
-;; Liam Healy, Sun Nov  4 2007 - 18:40
+;; Liam Healy Sun Nov  4 2007 - 18:40
+;; Time-stamp: <2009-01-28 19:22:15EST evaluation.lisp>
 
 (in-package :gsl)
 
-(defmfun evaluate-interpolation (interpolation xa ya x acceleration)
+(defmfun evaluate ((interpolation interpolation) x &key xa ya acceleration)
   "gsl_interp_eval"
   (((mpointer interpolation) :pointer) (xa :pointer) (ya :pointer) (x :double)
    ((mpointer acceleration) :pointer))
+  :definition :method
   :inputs (xa ya)
   :c-return :double
   :documentation			; FDL
@@ -14,73 +16,76 @@
    point x, using the interpolation object interpolation, data arrays
    xa and ya and the accelerator acceleration.")
 
-(defmfun derivative-evaluate-interpolation (interpolation xa ya x acceleration)
+(export 'evaluate-derivative)
+(defgeneric evaluate-derivative (object point &key)
+  (:documentation			; FDL
+   "Find the derivative of an interpolated function for a given point
+   x, using the interpolation object interpolation, data arrays
+   xa and ya and the accelerator acceleration."))
+
+(defmfun evaluate-derivative
+    ((interpolation interpolation) x &key xa ya acceleration)
   "gsl_interp_eval_deriv"
   (((mpointer interpolation) :pointer) (xa :pointer) (ya :pointer) (x :double)
    ((mpointer acceleration) :pointer))
+  :definition :method
   :inputs (xa ya)
-  :c-return :double
-  :documentation			; FDL
-  "Find the derivative of an interpolated function for a given point
+  :c-return :double)
+
+(export 'evaluate-second-derivative)
+(defgeneric evaluate-second-derivative (object point &key)
+  (:documentation			; FDL
+   "Find the second derivative of an interpolated function for a given point
    x, using the interpolation object interpolation, data arrays
-   xa and ya and the accelerator acceleration.")
+   xa and ya and the accelerator acceleration."))
 
-(defmfun second-derivative-evaluate-interpolation (interpolation xa ya x acceleration)
+(defmfun evaluate-second-derivative
+    ((interpolation interpolation) x &key xa ya acceleration)
   "gsl_interp_eval_deriv2"
   (((mpointer interpolation) :pointer) (xa :pointer) (ya :pointer) (x :double)
    ((mpointer acceleration) :pointer))
+  :definition :method
   :inputs (xa ya)
-  :c-return :double
-  :documentation			; FDL
-  "Find the second derivative of an interpolated function for a given point
-   x, using the interpolation object interpolation, data arrays
-   xa and ya and the accelerator acceleration.")
+  :c-return :double)
 
-(defmfun integral-evaluate-interpolation (interpolation xa ya x low high acceleration)
+(export 'evaluate-integral)
+(defgeneric evaluate-integral (object lower-limit upper-limit &key)
+  (:documentation			; FDL
+   "Find the numerical integral of an interpolated function over the
+   range [low, high], using the interpolation object interpolation,
+   data arrays xa and ya and the accelerator 'acceleration."))
+
+(defmfun evaluate-integral
+    ((interpolation interpolation) low high &key xa ya acceleration)
   "gsl_interp_eval_integ"
-  (((mpointer interpolation) :pointer) (xa :pointer) (ya :pointer) (x :double)
+  (((mpointer interpolation) :pointer) (xa :pointer) (ya :pointer)
    (low :double) (high :double) ((mpointer acceleration) :pointer))
+  :definition :method
   :inputs (xa ya)
-  :c-return :double
-  :documentation			; FDL
-  "Find the numerical integral of an interpolated function over the
-   range [low, high], using the interpolation object interpolation,
-   data arrays xa and ya and the accelerator 'acceleration.")
+  :c-return :double)
 
 ;;; Spline
-(defmfun evaluate-spline (spline x acceleration)
+(defmfun evaluate ((spline spline) x &key acceleration)
   "gsl_spline_eval"
   (((mpointer spline) :pointer) (x :double) ((mpointer acceleration) :pointer))
-  :c-return :double
-  :documentation
-  "Find the interpolated value of y for a given
-   point x, using the spline object spline, data arrays
-   xa and ya and the accelerator 'acceleration.")
+  :definition :method
+  :c-return :double)
 
-(defmfun derivative-evaluate-spline (spline x acceleration)
+(defmfun evaluate-derivative ((spline spline) x &key acceleration)
   "gsl_spline_eval_deriv"
   (((mpointer spline) :pointer) (x :double) ((mpointer acceleration) :pointer))
-  :c-return :double
-  :documentation			; FDL
-  "Find the derivative of an interpolated function for a given point
-   x, using the spline object spline, data arrays
-   xa and ya and the accelerator acceleration.")
+  :definition :method
+  :c-return :double)
 
-(defmfun second-derivative-evaluate-spline (spline x acceleration)
+(defmfun evaluate-second-derivative ((spline spline) x &key acceleration)
   "gsl_spline_eval_deriv2"
   (((mpointer spline) :pointer) (x :double) ((mpointer acceleration) :pointer))
-  :c-return :double
-  :documentation			; FDL
-  "Find the second derivative of an interpolated function for a given point
-   x, using the spline object spline, data arrays
-   xa and ya and the accelerator acceleration.")
+  :definition :method
+  :c-return :double)
 
-(defmfun integral-evaluate-spline (spline x low high acceleration)
+(defmfun evaluate-integral ((spline spline) low high &key acceleration)
   "gsl_spline_eval_integ"
-  (((mpointer spline) :pointer) (x :double) (low :double) (high :double)
+  (((mpointer spline) :pointer) (low :double) (high :double)
    ((mpointer acceleration) :pointer))
-  :c-return :double
-  :documentation			; FDL
-  "Find the numerical integral of an interpolated function over the
-   range [low, high], using the spline object spline,
-   data arrays xa and ya and the accelerator acceleration.")
+  :definition :method
+  :c-return :double)
diff --git a/interpolation/spline-example.lisp b/interpolation/spline-example.lisp
index 6cd0b2ac92ab5370171ce5249f63bab79bd30e09..c047e1f22462ab8f653f320a332342b5199113fe 100644
--- a/interpolation/spline-example.lisp
+++ b/interpolation/spline-example.lisp
@@ -1,6 +1,6 @@
 ;; Example spline
 ;; Liam Healy, Sat Nov 10 2007 - 21:18
-;; Time-stamp: <2009-01-26 22:43:41EST spline-example.lisp>
+;; Time-stamp: <2009-01-28 19:05:32EST spline-example.lisp>
 ;; $Id$
 
 (in-package :gsl)
@@ -22,6 +22,6 @@
 	      collect (+ i (cos (expt i 2))))))
 	 (spline (make-spline *cubic-spline-interpolation* xarr yarr)))
     (loop for xi from (maref xarr 0) below (maref xarr 9) by step
-       collect (list xi (evaluate-spline spline xi acc)))))
+       collect (list xi (evaluate spline xi :acceleration acc)))))
 
 (save-test interpolation (spline-example 0.1d0))
diff --git a/interpolation/types.lisp b/interpolation/types.lisp
index a8859dd6bd75b450f52756b26f8f458a6dec7dcc..67448f23938dcca652eaf50be6b4251f0f453fbf 100644
--- a/interpolation/types.lisp
+++ b/interpolation/types.lisp
@@ -1,6 +1,6 @@
 ;; Interpolation types
 ;; Liam Healy, Sun Nov  4 2007 - 17:41
-;; Time-stamp: <2008-12-26 17:23:12EST types.lisp>
+;; Time-stamp: <2009-01-28 21:02:31EST types.lisp>
 ;; $Id$
 
 (in-package :gsl)
@@ -53,28 +53,29 @@
   :documentation			; FDL
   "The name of the interpolation type.")
 
-(defmfun interpolation-minimum-size (interpolation)
-  "gsl_interp_min_size"
-  ((interpolation :pointer))
-  :c-return :uint
-  :documentation			; FDL
-  "The minimum number of points required by the
+(export 'minimum-size)
+(defgeneric minimum-size (object)
+  (:documentation			; FDL
+   "The minimum number of points required by the
    interpolation.  For example, Akima spline interpolation
-   requires a minimum of 5 points.")
+   requires a minimum of 5 points."))
+
+(defmfun minimum-size ((object interpolation))
+  "gsl_interp_min_size"
+  ((object :pointer))
+  :definition :method
+  :c-return :uint)
 
-(defmfun name ((interpolation spline))
+(defmfun name ((object spline))
   "gsl_spline_name"
-  ((interpolation :pointer))
+  ((object :pointer))
   :definition :method
   :c-return :string
   :documentation			; FDL
   "The name of the interpolation type.")
 
-(defmfun spline-minimum-size (interpolation)
+(defmfun minimum-size ((object spline))
   "gsl_spline_min_size"
-  ((interpolation :pointer))
-  :c-return :uint
-  :documentation			; FDL
-  "The minimum number of points required by the
-   interpolation.  For example, Akima spline interpolation
-   requires a minimum of 5 points.")
+  ((object :pointer))
+  :definition :method
+  :c-return :uint)
diff --git a/tests/basis-spline.lisp b/tests/basis-spline.lisp
new file mode 100644
index 0000000000000000000000000000000000000000..65e3471ddd016411bed9cbba10ae66c1ecb45a99
--- /dev/null
+++ b/tests/basis-spline.lisp
@@ -0,0 +1,161 @@
+;; Regression test BASIS-SPLINE for GSLL, automatically generated
+
+(in-package :gsl)
+
+(LISP-UNIT:DEFINE-TEST BASIS-SPLINE
+                       (LISP-UNIT::ASSERT-NUMERICAL-EQUAL
+                        (LIST
+                         (LIST 1.113654203601724d0 1.0568431616397642d0
+                               0.9959492337772601d0 0.9313857548888193d0
+                               0.863566059849049d0 0.7929034835325566d0
+                               0.7198113608139506d0 0.6447030265678376d0
+                               0.567991815668826d0 0.4900910629915223d0
+                               0.4114141034105349d0 0.33237427180047124d0
+                               0.25338490303593875d0 0.17485933199154502d0
+                               0.09721089354189752d0 0.020852922561604002d0
+                               -0.05380124607472819d0 -0.1263382774924911d0
+                               -0.1963448368170776d0 -0.26340758917387974d0
+                               -0.32711319968829033d0 -0.3870483334857016d0
+                               -0.4427996556915059d0 -0.49395383143109584d0
+                               -0.5400975258298641d0 -0.5808174040132021d0
+                               -0.6157001311065035d0 -0.6443323722351599d0
+                               -0.6663007925245643d0 -0.681192057100109d0
+                               -0.6885928310871858d0 -0.6882406224802292d0
+                               -0.6804763107498367d0 -0.6657916182356474d0
+                               -0.6446782672773008d0 -0.6176279802144353d0
+                               -0.5851324793866916d0 -0.547683487133707d0
+                               -0.5057727257951217d0 -0.45989191771057447d0
+                               -0.4105327852197051d0 -0.3581870506621524d0
+                               -0.30334643637755515d0 -0.24650266470555254d0
+                               -0.18814745798578414d0 -0.12877253855788895d0
+                               -0.06886962876150586d0 -0.008930450936274169d0
+                               0.05055327257816704d0 0.10908981944217858d0
+                               0.16618746731612122d0 0.22135449386035613d0
+                               0.27409917673524387d0 0.32392979360114527d0
+                               0.37035462211842163d0 0.41288193994743294d0
+                               0.451020024748541d0 0.48427715418210626d0
+                               0.5121616059084895d0 0.5341816575880516d0
+                               0.5498455868811536d0 0.5588101965535437d0
+                               0.5613263897925215d0 0.5577935948907731d0
+                               0.548611240140985d0 0.5341787538358442d0
+                               0.5148955642680376d0 0.4911610997302516d0
+                               0.4633747885151729d0 0.4319360589154882d0
+                               0.39724433922388425d0 0.35969905773304744d0
+                               0.31969964273566454d0 0.2776455225244224d0
+                               0.23393612539200775d0 0.1889708796311067d0
+                               0.14314921353440657d0 0.09687055539459387d0
+                               0.050534333504354934d0 0.004539976156376795d0
+                               -0.04071308835665385d0 -0.08482543174205076d0
+                               -0.1273976257071268d0 -0.16803024195919558d0
+                               -0.20632385220557026d0 -0.24187902815356413d0
+                               -0.27429634151049076d0 -0.3031763639836635d0
+                               -0.3281196672803953d0 -0.34872682310799963d0
+                               -0.36459840317379d0 -0.3754490487696755d0
+                               -0.38144967952594844d0 -0.3828852846574976d0
+                               -0.38004085337921073d0 -0.37320137490597705d0
+                               -0.36265183845268406d0 -0.3486772332342208d0
+                               -0.3315625484654752d0 -0.31159277336133623d0
+                               -0.28905289713669163d0 -0.2642279090064302d0
+                               -0.23740279818544016d0 -0.2088625538886101d0
+                               -0.1788921653308282d0 -0.14777662172698278d0
+                               -0.11580091229196256d0 -0.0832500262406557d0
+                               -0.050408952787950545d0 -0.017562681148735534d0
+                               0.015003799462100892d0 0.04700549982967023d0
+                               0.07815743073908425d0 0.1081746029754547d0
+                               0.13677202732389296d0 0.16366471456951057d0
+                               0.18856767549741946d0 0.21119592089273095d0
+                               0.23126446154055688d0 0.24848830822600862d0
+                               0.262582471734198d0 0.27333670464506554d0
+                               0.2808397267178692d0 0.2852549995066957d0
+                               0.2867459845656324d0 0.2854761434487657d0
+                               0.28160893771018297d0 0.275307828903971d0
+                               0.2667362785842169d0 0.2560577483050075d0
+                               0.2434356996204298d0 0.22903359408457066d0
+                               0.21301489325151723d0 0.19554305867535646d0
+                               0.17678155191017514d0 0.15689383451006045d0
+                               0.13604336802909917d0 0.11439361402137835d0
+                               0.09210803404098494d0 0.06935008964200592d0
+                               0.04628324237852822d0 0.02307095380463884d0
+                               -1.23314525575291d-4 -0.023136101058027207d0
+                               -0.045803944238629914d0 -0.06796338251329648d0
+                               -0.08945095432793991d0 -0.11010319812847329d0
+                               -0.12975665236080958d0 -0.1482478554708619d0
+                               -0.16541334590454326d0)
+                         (LIST 0.04806705033080089d0 0.04089343066177248d0
+                               0.034838795412388296d0 0.029937767075799458d0
+                               0.026213618017648477d0 0.02364307349757936d0
+                               0.022116901458296107d0 0.021430143053988868d0
+                               0.021322348932951398d0 0.021540474336457206d0
+                               0.02188188435996076d0 0.0222054540673857d0
+                               0.022423602505266982d0 0.022489166302883192d0
+                               0.02238377836450195d0 0.022109367422047044d0
+                               0.02168242334336044d0 0.02113023443609739d0
+                               0.020488349912733197d0 0.019798630587670535d0
+                               0.019107308016746295d0 0.018462493935536436d0
+                               0.01791066877595287d0 0.017491988069952717d0
+                               0.017234883590369513d0 0.017151229365993295d0
+                               0.017233730244902976d0 0.017456620038303405d0
+                               0.017779406748415688d0 0.01815223131949235d0
+                               0.018521196010261802d0 0.018836982485690906d0
+                               0.019073196350902363d0 0.019217327089085613d0
+                               0.019264592249754273d0 0.019215982089075496d0
+                               0.019076879879751867d0 0.018856100653805198d0
+                               0.01856521914615675d0 0.018218084594983138d0
+                               0.017830438293313017d0 0.017419558956751364d0
+                               0.017003863777589945d0 0.01660239464194822d0
+                               0.01623412741882151d0 0.015917067816497d0
+                               0.015667148919313503d0 0.015497022432401463d0
+                               0.0154149182208477d0 0.015423795822817681d0
+                               0.01552098712890699d0 0.015698422254754915d0
+                               0.015943380857972117d0 0.01623958758583504d0
+                               0.016568424163857006d0 0.016910065000328406d0
+                               0.01724442257851929d0 0.017551871015661132d0
+                               0.017813775603460553d0 0.01801288827774422d0
+                               0.018133681647331996d0 0.01816539214712614d0
+                               0.018110548009755003d0 0.017976914236131087d0
+                               0.017774358040422943d0 0.017514489203896186d0
+                               0.017210386693353747d0 0.016876358562229223d0
+                               0.016527686124981858d0 0.016180304623312883d0
+                               0.01585037544111259d0 0.015553715088123652d0
+                               0.015305069750358231d0 0.015117264542195192d0
+                               0.015000309281752947d0 0.014960591645559853d0
+                               0.015000309281752937d0 0.015117264542195157d0
+                               0.01530506975035818d0 0.01555371508812358d0
+                               0.015850375441112518d0 0.016180304623312797d0
+                               0.016527686124981775d0 0.01687635856222915d0
+                               0.01721038669335367d0 0.017514489203896116d0
+                               0.017774358040422877d0 0.01797691423613104d0
+                               0.018110548009754975d0 0.018165392147126116d0
+                               0.018133681647331996d0 0.01801288827774424d0
+                               0.017813775603460587d0 0.017551871015661177d0
+                               0.017244422578519335d0 0.01691006500032847d0
+                               0.016568424163857065d0 0.016239587585835095d0
+                               0.01594338085797217d0 0.015698422254754957d0
+                               0.015520987128907015d0 0.0154237958228177d0
+                               0.015414918220847689d0 0.015497022432401438d0
+                               0.015667148919313464d0 0.015917067816496943d0
+                               0.016234127418821458d0 0.016602394641948143d0
+                               0.017003863777589865d0 0.017419558956751284d0
+                               0.017830438293312937d0 0.01821808459498308d0
+                               0.018565219146156692d0 0.018856100653805146d0
+                               0.01907687987975183d0 0.019215982089075486d0
+                               0.019264592249754298d0 0.01921732708908566d0
+                               0.01907319635090242d0 0.01883698248569099d0
+                               0.018521196010261903d0 0.018152231319492448d0
+                               0.01777940674841578d0 0.01745662003830348d0
+                               0.017233730244903024d0 0.017151229365993295d0
+                               0.017234883590369458d0 0.01749198806995261d0
+                               0.017910668775952716d0 0.018462493935536253d0
+                               0.019107308016746087d0 0.019798630587670316d0
+                               0.02048834991273299d0 0.02113023443609719d0
+                               0.02168242334336027d0 0.022109367422046923d0
+                               0.02238377836450188d0 0.022489166302883185d0
+                               0.022423602505267034d0 0.022205454067385794d0
+                               0.021881884359960874d0 0.021540474336457317d0
+                               0.021322348932951436d0 0.02143014305398876d0
+                               0.022116901458295757d0 0.023643073497578673d0
+                               0.02621361801764738d0 0.029937767075797934d0
+                               0.03483879541238634d0 0.0408934306617701d0
+                               0.04806705033079808d0))
+                        (MULTIPLE-VALUE-LIST (BSPLINE-EXAMPLE))))
+