diff --git a/changelog b/changelog
index 783bae7..490045e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20090831 tpd src/axiom-website/patches.html 20090831.04.tpd.patch
+20090831 tpd src/interp/Makefile move nag-e01.boot to nag-e01.lisp
+20090831 tpd src/interp/nag-e01.lisp added, rewritten from nag-e01.boot
+20090831 tpd src/interp/nag-e01.boot removed, rewritten to nag-e01.lisp
 20090831 tpd src/axiom-website/patches.html 20090831.03.tpd.patch
 20090831 tpd src/interp/Makefile move nag-d02.boot to nag-d02.lisp
 20090831 tpd src/interp/nag-d02.lisp added, rewritten from nag-d02.boot
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 5ede1e8..0a71899 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1956,5 +1956,7 @@ src/interp/nag-c06.lisp rewrite from boot to lisp<br/>
 src/interp/nag-d01.lisp rewrite from boot to lisp<br/>
 <a href="patches/20090831.03.tpd.patch">20090831.03.tpd.patch</a>
 src/interp/nag-d02.lisp rewrite from boot to lisp<br/>
+<a href="patches/20090831.04.tpd.patch">20090831.04.tpd.patch</a>
+src/interp/nag-e01.lisp rewrite from boot to lisp<br/>
  </body>
 </html>
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 610d768..81061c5 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -1497,79 +1497,61 @@ ${MID}/nag-d02.lisp: ${IN}/nag-d02.lisp.pamphlet
 
 @
 
-\subsection{nag-d03.boot \cite{48}}
+\subsection{nag-d03.lisp}
 <<nag-d03.o (AUTO from OUT)>>=
 ${AUTO}/nag-d03.${O}: ${OUT}/nag-d03.${O}
-	@ echo 170 making${AUTO}/nag-d03.${O} from ${OUT}/nag-d03.${O}
+	@ echo 154 making ${AUTO}/nag-d03.${O} from ${OUT}/nag-d03.${O}
 	@ cp ${OUT}/nag-d03.${O} ${AUTO}
 
 @
 <<nag-d03.o (OUT from MID)>>=
-${OUT}/nag-d03.${O}: ${MID}/nag-d03.clisp
-	@ echo 171 making ${OUT}/nag-d03.${O} from ${MID}/nag-d03.clisp
-	@ (cd ${MID} ; \
+${OUT}/nag-d03.${O}: ${MID}/nag-d03.lisp
+	@ echo 136 making ${OUT}/nag-d03.${O} from ${MID}/nag-d03.lisp
+	@ ( cd ${MID} ; \
 	  if [ -z "${NOISE}" ] ; then \
-           echo '(progn  (compile-file "${MID}/nag-d03.clisp"' \
+	   echo '(progn  (compile-file "${MID}/nag-d03.lisp"' \
              ':output-file "${OUT}/nag-d03.${O}") (${BYE}))' | ${DEPSYS} ; \
 	  else \
-           echo '(progn  (compile-file "${MID}/nag-d03.clisp"' \
+	   echo '(progn  (compile-file "${MID}/nag-d03.lisp"' \
              ':output-file "${OUT}/nag-d03.${O}") (${BYE}))' | ${DEPSYS} \
              >${TMP}/trace ; \
 	  fi )
 
 @
-<<nag-d03.clisp (MID from IN)>>=
-${MID}/nag-d03.clisp: ${IN}/nag-d03.boot.pamphlet
-	@ echo 172 making ${MID}/nag-d03.clisp from ${IN}/nag-d03.boot.pamphlet
+<<nag-d03.lisp (MID from IN)>>=
+${MID}/nag-d03.lisp: ${IN}/nag-d03.lisp.pamphlet
+	@ echo 137 making ${MID}/nag-d03.lisp from ${IN}/nag-d03.lisp.pamphlet
 	@ (cd ${MID} ; \
-	  ${TANGLE} ${IN}/nag-d03.boot.pamphlet >nag-d03.boot ; \
-	  if [ -z "${NOISE}" ] ; then \
-	    echo '(progn (boot::reroot "${SPAD}")' \
-              '(boottran::boottocl "nag-d03.boot") (${BYE}))' | ${DEPSYS} ; \
-	  else \
-	    echo '(progn (boot::reroot "${SPAD}")' \
-              '(boottran::boottocl "nag-d03.boot") (${BYE}))' | ${DEPSYS} \
-              >${TMP}/trace ; \
-	  fi ; \
-	  rm nag-d03.boot )
+	   ${TANGLE} ${IN}/nag-d03.lisp.pamphlet >nag-d03.lisp )
 
 @
 
-\subsection{nag-e01.boot \cite{49}}
+\subsection{nag-e01.lisp}
 <<nag-e01.o (AUTO from OUT)>>=
 ${AUTO}/nag-e01.${O}: ${OUT}/nag-e01.${O}
-	@ echo 174 making ${AUTO}/nag-e01.${O} from ${OUT}/nag-e01.${O}
+	@ echo 154 making ${AUTO}/nag-e01.${O} from ${OUT}/nag-e01.${O}
 	@ cp ${OUT}/nag-e01.${O} ${AUTO}
 
 @
 <<nag-e01.o (OUT from MID)>>=
-${OUT}/nag-e01.${O}: ${MID}/nag-e01.clisp
-	@ echo 175 making ${OUT}/nag-e01.${O} from ${MID}/nag-e01.clisp
-	@ (cd ${MID} ; \
+${OUT}/nag-e01.${O}: ${MID}/nag-e01.lisp
+	@ echo 136 making ${OUT}/nag-e01.${O} from ${MID}/nag-e01.lisp
+	@ ( cd ${MID} ; \
 	  if [ -z "${NOISE}" ] ; then \
-	   echo '(progn  (compile-file "${MID}/nag-e01.clisp"' \
+	   echo '(progn  (compile-file "${MID}/nag-e01.lisp"' \
              ':output-file "${OUT}/nag-e01.${O}") (${BYE}))' | ${DEPSYS} ; \
 	  else \
-	   echo '(progn  (compile-file "${MID}/nag-e01.clisp"' \
+	   echo '(progn  (compile-file "${MID}/nag-e01.lisp"' \
              ':output-file "${OUT}/nag-e01.${O}") (${BYE}))' | ${DEPSYS} \
              >${TMP}/trace ; \
 	  fi )
 
 @
-<<nag-e01.clisp (MID from IN)>>=
-${MID}/nag-e01.clisp: ${IN}/nag-e01.boot.pamphlet
-	@ echo 176 making ${MID}/nag-e01.clisp from ${IN}/nag-e01.boot.pamphlet
+<<nag-e01.lisp (MID from IN)>>=
+${MID}/nag-e01.lisp: ${IN}/nag-e01.lisp.pamphlet
+	@ echo 137 making ${MID}/nag-e01.lisp from ${IN}/nag-e01.lisp.pamphlet
 	@ (cd ${MID} ; \
-	  ${TANGLE} ${IN}/nag-e01.boot.pamphlet >nag-e01.boot ; \
-	  if [ -z "${NOISE}" ] ; then \
-	    echo '(progn (boot::reroot "${SPAD}")' \
-              '(boottran::boottocl "nag-e01.boot") (${BYE}))' | ${DEPSYS} ; \
-	  else \
-	    echo '(progn (boot::reroot "${SPAD}")' \
-              '(boottran::boottocl "nag-e01.boot") (${BYE}))' | ${DEPSYS} \
-              >${TMP}/trace ; \
-	  fi ; \
-	  rm nag-e01.boot )
+	   ${TANGLE} ${IN}/nag-e01.lisp.pamphlet >nag-e01.lisp )
 
 @
 
@@ -4693,11 +4675,11 @@ clean:
 
 <<nag-d03.o (AUTO from OUT)>>
 <<nag-d03.o (OUT from MID)>>
-<<nag-d03.clisp (MID from IN)>>
+<<nag-d03.lisp (MID from IN)>>
 
 <<nag-e01.o (AUTO from OUT)>>
 <<nag-e01.o (OUT from MID)>>
-<<nag-e01.clisp (MID from IN)>>
+<<nag-e01.lisp (MID from IN)>>
 
 <<nag-e02.o (AUTO from OUT)>>
 <<nag-e02.o (OUT from MID)>>
diff --git a/src/interp/nag-e01.boot.pamphlet b/src/interp/nag-e01.boot.pamphlet
deleted file mode 100644
index 227dabd..0000000
--- a/src/interp/nag-e01.boot.pamphlet
+++ /dev/null
@@ -1,1780 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp nag-e01.boot}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
--- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
--- All rights reserved.
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
---     - Redistributions of source code must retain the above copyright
---       notice, this list of conditions and the following disclaimer.
---
---     - Redistributions in binary form must reproduce the above copyright
---       notice, this list of conditions and the following disclaimer in
---       the documentation and/or other materials provided with the
---       distribution.
---
---     - Neither the name of The Numerical ALgorithms Group Ltd. nor the
---       names of its contributors may be used to endorse or promote products
---       derived from this software without specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
--- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
--- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
--- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
--- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
--- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
--- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
--- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-@
-<<*>>=
-<<license>>
-
-e01baf() ==
-  htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01baf} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01baf| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Determines a cubic B-spline interpolant ")
-    (text . "\center{s(x) = \htbitmap{e01baf}} to the points ")
-    (text . "(\htbitmap{xiii}, \htbitmap{yi}), for i = 1,2,...,m. ")
-    (text . "\blankline ")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "Enter the number of data points, {\it m}:")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 7 m PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01bafSolve)
-  htShowPage()
-
-e01bafSolve htPage ==
-  m :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
-    objValUnwrap htpLabelSpadValue(htPage, 'm)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  m = '7 => e01bafDefaultSolve(htPage,ifail)
-  labelList :=
-    "append"/[f(i) for i in 1..m] where f(i) ==
-      prefix := ('"\newline \tab{2} ")
-      post   := ('"\tab{32} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
-      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], 
-       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-          (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage)
-  htSay '"\menuitemstyle{}\tab{2} Values of x: \tab{30} "
-  htSay '"\menuitemstyle{}\tab{32} Corresponding values of y: "
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01bafGen)
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01bafDefaultSolve (htPage, ifail) ==
-  m := '7
-  page := htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\newline ")
-    (text . "\menuitemstyle{}\tab{2} Values of x: \tab{30} ")
-    (text . "\menuitemstyle{}\tab{32} Corresponding values of y: ")
-    (text . "\newline \tab{2}")
-    (bcStrings (10 "0.0" x1 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "1.0000" y1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.2" x2 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "1.2214" y2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.4" x3 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "1.4918" y3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.6" x4 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "1.8221" y4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.75" x5 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "2.1170" y5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.9" x6 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "2.4596" y6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "1.0" x7 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "2.7183" y7 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01bafGen)    	
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01bafGen htPage ==
-  m := htpProperty(htPage,'m)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  lck := m + 4
-  lwrk := 6*m+16
-  y := alist
-  while y repeat
-    right := STRCONC ((first y).1," ")
-    y := rest y
-    left :=  STRCONC ((first y).1," ")
-    y := rest y
-    reallist := [left,:reallist]
-    imaglist := [right,:imaglist]
-  realstring := bcwords2liststring reallist
-  imagstring := bcwords2liststring imaglist
-  pre := STRCONC ('"e01baf(",STRINGIMAGE m,",[",realstring,"],[",imagstring)
-  post := STRCONC ('"],",STRINGIMAGE lck,",",STRINGIMAGE lwrk,",")
-  linkGen STRCONC (pre,post,STRINGIMAGE ifail,")")
-
-e01bef() ==
-  htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01bef} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Brow[Cser operation page}{(|oPageFrom| '|e01bef| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Determines derivative estimates defining a monoticity preserving")
-    (text . " piecewise cubic Hermite interpolant to the set of points ")
-    (text . "(\htbitmap{xr}, \htbitmap{fr}), ")
-    (text . "for r = 1,2,...,m. The interpolant, its derivative, and its ")
-    (text . "integral can be evaluated by calls to E01BFF, E01BGF or E01BHF. ")
-    (text . "\blankline ")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "Enter the number of data points {\it n} \htbitmap{great=} 2:")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 9 n PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01befSolve)
-  htShowPage()
-
-e01befSolve htPage ==
-  n :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
-    objValUnwrap htpLabelSpadValue(htPage, 'n)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    error = 'zero => '0
-    '-1
-  n = '9 => e01befDefaultSolve(htPage,ifail)
-  labelList :=
-    "append"/[f(i) for i in 1..n] where f(i) ==
-      prefix := ('"\newline \tab{2} ")
-      post   := ('"\tab{32} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
-      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], 
-       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-          (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage)
-  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
-  htSay '"\htbitmap{xr}: \tab{30} "
-  htSay '"\menuitemstyle{}\tab{32} Values of \space{1} "
-  htSay '"\htbitmap{fr}: "
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01befGen)
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01befDefaultSolve (htPage, ifail) ==
-  n := '9
-  page := htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\newline ")
-    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
-    (text . "\htbitmap{xr}: \tab{30} ")
-    (text . "\menuitemstyle{}\tab{32} Values of \space{1} \htbitmap{fr}: ")
-    (text . "\newline \tab{2}")
-    (bcStrings (10 "7.99" x1 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.00000e+0" y1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.09" x2 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.27643e-4" y2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.19" x3 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.43750e-1" y3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.70" x4 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.16918" y4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.20" x5 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.46943" y5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "10.00" x6 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.94374" y6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.00" x7 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.99864" y7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.00" x8 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.99992" y8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.00" x9 F))
-    (text . "\tab{32} ")
-    (bcStrings (10 "0.99999" y9 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01befGen)    	
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01befGen htPage ==
-  n := htpProperty(htPage,'n)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  lck := n + 4
-  lwrk := 6*n+16
-  y := alist
-  while y repeat
-    right := STRCONC ((first y).1," ")
-    y := rest y
-    left :=  STRCONC ((first y).1," ")
-    y := rest y
-    reallist := [left,:reallist]
-    imaglist := [right,:imaglist]
-  realstring := bcwords2liststring reallist
-  imagstring := bcwords2liststring imaglist
-  linkGen STRCONC ('"e01bef(",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],",STRINGIMAGE ifail,")")
-
-
-e01bff() ==
-  htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01bff} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bff| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Evaluates the piecewise cubic Hermite interpolant computed ")
-    (text . "by E01BEF at the set of points \htbitmap{xiii}, ")
-    (text . "for i = 1,2,...,m. ")
-    (text . "\blankline ")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "Enter the number of data points {\em n}: ")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 9 n PI))
-    (text . "\blankline ")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "Enter the number of evaluation points {\em m}: ")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 11 m PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01bffSolve)
-  htShowPage()
-
-e01bffSolve htPage ==
-  n :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
-    objValUnwrap htpLabelSpadValue(htPage, 'n)
-  m :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
-    objValUnwrap htpLabelSpadValue(htPage, 'm)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  (n = '9 and m = '11) => e01bffDefaultSolve(htPage,ifail)
-  labelList :=
-    "append"/[f(i) for i in 1..n] where f(i) ==
-      prefix := ('"\newline \tab{2} ")
-      middle := ('"\tab{22} ")
-      post   := ('" \tab{42} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
-      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], 
-       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
-        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
-  pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ")
-  pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ")
-  pxwords := cons('text,pxwords)
-  pointList :=
-    "append"/[g(j) for j in 1..m] where g(j) ==
-      preamb := ('"\newline \tab{2} ")
-      pnam := INTERN STRCONC ('"px",STRINGIMAGE j)
-      [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]]
-  labelList := [:labelList,pxwords,:pointList]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-           (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage)
-  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
-  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
-  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
-  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
-  htSay '"\htbitmap{dr}: "
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01bffGen)
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01bffDefaultSolve (htPage, ifail) ==
-  n := '9
-  m := '11
-  page := htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\newline ")
-    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
-    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
-    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
-    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
-    (text . "\htbitmap{dr}: ")
-    (text . "\newline \tab{2}")
-    (bcStrings (10 "7.99" x1 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.00000e+0" y1 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.00000e+0" z1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.09" x2 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.27643e-4" y2 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.52510e-4" z2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.19" x3 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.43750e-1" y3 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.33587" z3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.70" x4 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.16918" y4 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.34944" z4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.20" x5 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.46943" y5 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.59696" z5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "10.00" x6 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.94374" y6 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "6.03260e-2" z6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.00" x7 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99864" y7 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "8.98335e-4" z7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.00" x8 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99992" y8 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "2.93954e-5" z8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.00" x9 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99999" y9 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.00000" z9 F))
-    (text . "\blankline")
-    (text . "\menuitemstyle{}\tab{2} ")
-    (text . "Values of array {\it Px}: ")
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "7.99" px1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.191" px2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "10.392" px3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "11.593" px4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.794" px5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "13.995" px6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.196" px7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "16.397" px8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.598" px9 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "18.799" px10 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.0" px11 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01bffGen)    	
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01bffGen htPage ==
-  n := htpProperty(htPage,'n)
-  m := htpProperty(htPage,'m)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  lck := n + 4
-  lwrk := 6*n+16
-  y := alist
-  for i in 1..m repeat
-    px := STRCONC ((first y).1," ")
-    y := rest y
-    pxlist := [px,:pxlist]
-  pxstring := bcwords2liststring pxlist
-  while y repeat
-    right := STRCONC ((first y).1," ")
-    y := rest y    
-    mid :=  STRCONC ((first y).1," ")
-    y := rest y
-    left :=  STRCONC ((first y).1," ")
-    y := rest y
-    xlist := [left,:xlist]
-    flist := [mid,:flist]
-    dlist := [right,:dlist]
-  xstring := bcwords2liststring xlist
-  fstring := bcwords2liststring flist
-  dstring := bcwords2liststring dlist
-  prefix := STRCONC('"e01bff(",STRINGIMAGE n,",[",xstring,"],[",fstring)
-  prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],")
-  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
-  linkGen prefix
-
-e01bgf() ==
-  htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01bgf} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bgf| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Evaluates the piecewise cubic Hermite interpolant computed ")
-    (text . "by E01BEF and its 1st derivative at the set of points \space{1} ")
-    (text . "\htbitmap{xiii}, for i = 1,2,...,m. ")
-    (text . "\blankline ")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "Enter the number of data points {\em n}: ")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 9 n PI))
-    (text . "\blankline ")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "Enter the number of evaluation points {\em m}: ")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 11 m PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01bgfSolve)
-  htShowPage()
-
-e01bgfSolve htPage ==
-  n :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
-    objValUnwrap htpLabelSpadValue(htPage, 'n)
-  m :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
-    objValUnwrap htpLabelSpadValue(htPage, 'm)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  (n = '9 and m = '11) => e01bgfDefaultSolve(htPage,ifail)
-  labelList :=
-    "append"/[f(i) for i in 1..n] where f(i) ==
-      prefix := ('"\newline \tab{2} ")
-      middle := ('"\tab{22} ")
-      post   := ('" \tab{42} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
-      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], 
-       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
-        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
-  pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ")
-  pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ")
-  pxwords := cons('text,pxwords)
-  pointList :=
-    "append"/[g(j) for j in 1..m] where g(j) ==
-      preamb := ('"\newline \tab{2} ")
-      pnam := INTERN STRCONC ('"px",STRINGIMAGE j)
-      [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]]
-  labelList := [:labelList,pxwords,:pointList]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-           (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage)
-  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
-  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
-  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
-  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
-  htSay '"\htbitmap{dr}: "
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01bgfGen)
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01bgfDefaultSolve (htPage, ifail) ==
-  n := '9
-  m := '11
-  page := htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
-    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
-    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
-    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
-    (text . "\htbitmap{dr}: ")
-    (text . "\newline \tab{2}")
-    (bcStrings (10 "7.99" x1 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.00000e+0" y1 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.00000e+0" z1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.09" x2 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.27643e-4" y2 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.52510e-4" z2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.19" x3 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.43750e-1" y3 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.33587" z3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.70" x4 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.16918" y4 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.34944" z4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.20" x5 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.46943" y5 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.59696" z5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "10.00" x6 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.94374" y6 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "6.03260e-2" z6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.00" x7 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99864" y7 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "8.98335e-4" z7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.00" x8 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99992" y8 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "2.93954e-5" z8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.00" x9 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99999" y9 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.00000" z9 F))
-    (text . "\blankline")
-    (text . "\menuitemstyle{}\tab{2} ")
-    (text . "Values of array {\it Px}: ")
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "7.99" px1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.191" px2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "10.392" px3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "11.593" px4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.794" px5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "13.995" px6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.196" px7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "16.397" px8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.598" px9 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "18.799" px10 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.0" px11 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01bgfGen)    	
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01bgfGen htPage ==
-  n := htpProperty(htPage,'n)
-  m := htpProperty(htPage,'m)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  lck := n + 4
-  lwrk := 6*n+16
-  y := alist
-  for i in 1..m repeat
-    px := STRCONC ((first y).1," ")
-    y := rest y
-    pxlist := [px,:pxlist]
-  pxstring := bcwords2liststring pxlist
-  while y repeat
-    right := STRCONC ((first y).1," ")
-    y := rest y    
-    mid :=  STRCONC ((first y).1," ")
-    y := rest y
-    left :=  STRCONC ((first y).1," ")
-    y := rest y
-    xlist := [left,:xlist]
-    flist := [mid,:flist]
-    dlist := [right,:dlist]
-  xstring := bcwords2liststring xlist
-  fstring := bcwords2liststring flist
-  dstring := bcwords2liststring dlist
-  prefix := STRCONC('"e01bgf(",STRINGIMAGE n,",[",xstring,"],[",fstring)
-  prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],")
-  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
-  linkGen prefix
-
-e01bhf() ==
-  htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01bhf} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bhf| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Evaluates the definite integral of the piecewise cubic Hermite ")
-    (text . "interpolant computed by E01BEF over the interval [a,b]. ")
-    (text . "\blankline ")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "Enter the number of data points {\em n}: ")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 9 n PI))
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{}\tab{2} ")
-    (text . "\newline {\em Lower} bound {\it a}: ")
-    (text . "\tab{32} \menuitemstyle{}\tab{34} ")
-    (text . "{\em Upper} bound {\it b}:")
-    (text . "\newline\tab{2} ")
-    (bcStrings (20 "7.99" a F))
-    (text . "\tab{34} ")
-    (bcStrings (20 "20.0" b EM))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01bhfSolve)
-  htShowPage()
-
-e01bhfSolve htPage ==
-  n :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
-    objValUnwrap htpLabelSpadValue(htPage, 'n)
-  a := htpLabelInputString(htPage,'a)
-  b := htpLabelInputString(htPage,'b)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  n = '9 => e01bhfDefaultSolve(htPage,a,b,ifail)
-  labelList :=
-    "append"/[f(i) for i in 1..n] where f(i) ==
-      prefix := ('"\newline \tab{2} ")
-      middle := ('"\tab{22} ")
-      post   := ('" \tab{42} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
-      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], 
-       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
-        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-           (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage)
-  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
-  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
-  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
-  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
-  htSay '"\htbitmap{dr}: "
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01bhfGen)
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'a,a)
-  htpSetProperty(page,'b,b)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01bhfDefaultSolve (htPage,a,b,ifail) ==
-  n := '9
-  page := htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
-    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
-    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
-    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
-    (text . "\htbitmap{dr}: ")
-    (text . "\newline \tab{2}")
-    (bcStrings (10 "7.99" x1 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.00000e+0" y1 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.00000e+0" z1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.09" x2 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.27643e-4" y2 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.52510e-4" z2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.19" x3 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.43750e-1" y3 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.33587" z3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "8.70" x4 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.16918" y4 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.34944" z4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.20" x5 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.46943" y5 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.59696" z5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "10.00" x6 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.94374" y6 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "6.03260e-2" z6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.00" x7 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99864" y7 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "8.98335e-4" z7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.00" x8 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99992" y8 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "2.93954e-5" z8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.00" x9 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.99999" y9 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "0.00000" z9 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01bhfGen)    	
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'a,a)
-  htpSetProperty(page,'b,b)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01bhfGen htPage ==
-  n := htpProperty(htPage,'n)
-  a := htpProperty(htPage,'a)
-  b := htpProperty(htPage,'b)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  lck := n + 4
-  lwrk := 6*n+16
-  y := alist
-  while y repeat
-    right := STRCONC ((first y).1," ")
-    y := rest y    
-    mid :=  STRCONC ((first y).1," ")
-    y := rest y
-    left :=  STRCONC ((first y).1," ")
-    y := rest y
-    xlist := [left,:xlist]
-    flist := [mid,:flist]
-    dlist := [right,:dlist]
-  xstring := bcwords2liststring xlist
-  fstring := bcwords2liststring flist
-  dstring := bcwords2liststring dlist
-  prefix := STRCONC('"e01bhf(",STRINGIMAGE n,",[",xstring,"],[",fstring,"],[")
-  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE a,",",STRINGIMAGE b,",",STRINGIMAGE ifail,")")
-  linkGen prefix
-
-
-e01daf() ==
-  htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on a rectangular grid", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01daf} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01daf| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Determines a bicubic spline surface interpolating the set of ")
-    (text . "data values (\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}) ")
-    (text . "given on a rectangular grid. The grid is defined by ")
-    (text . "\space{1} \htbitmap{mx} points along the x-axis and ")
-    (text . "\space{1} \htbitmap{my} points along the y-axis. The ")
-    (text . "spline has \space{1} \htbitmap{px} knots ")
-    (text . "\htbitmap{lamdai} and \space{1}\htbitmap{py}")
-    (text . " knots  \htbitmap{mui} in the x- and y-directions ")
-    (text . "respectively, and is given in the B-spline representation ")
-    (text . "\center{s(x,y) = \htbitmap{e01daf1}} ")
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{}\tab{2} ")
-    (text . "\newline The value \space{1} \htbitmap{mx}: ")
-    (text . "\tab{32} \menuitemstyle{}\tab{34} ")
-    (text . "The value \space{1} \htbitmap{my}:")
-    (text . "\newline\tab{2} ")
-    (bcStrings (6 7 mx PI))
-    (text . "\tab{34} ")
-    (bcStrings (6 6 my PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01dafSolve)
-  htShowPage()
-
-e01dafSolve htPage ==
-  mx :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'mx)
-    objValUnwrap htpLabelSpadValue(htPage, 'mx)
-  my :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'my)
-    objValUnwrap htpLabelSpadValue(htPage, 'my)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  (mx = '7 and my = '6) => e01dafDefaultSolve(htPage,ifail)
-  xList :=
-    "append"/[f(i) for i in 1..mx] where f(i) ==
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      [['bcStrings,[6, 0.0, xnam, 'F]]]
-  prefix := ('"\newline \menuitemstyle{}\tab{2} Values of X(1) to X(MX): \newline ")
-  xList := [['text,:prefix],:xList]
-  yList :=
-    "append"/[g(i) for i in 1..my] where g(i) ==
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      [['bcStrings,[6, 0.0, ynam, 'F]]]
-  prefix := ('"\blankline\menuitemstyle{}\tab{2}Values of Y(1) to Y(MY): \newline ")
-  yList := [['text,:prefix],:yList]
-  fList := 
-    "append"/[h(j,my) for j in 1..mx] where h(j,my) ==
-      tempList := 
-        "append"/[k(j,m) for m in 1..my] where k(j,m) == 
-          fnam := INTERN STRCONC ('"f",STRINGIMAGE j, STRINGIMAGE m)
-          [['bcStrings,[6, 0.0, fnam, 'F]]]
-      prefix := ('"\newline ")
-      tempList := [['text,:prefix],:tempList]
-  prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of F(MX*MY) ")
-  prefix := STRCONC(prefix,'"(x down, y across): ")
-  fList := [['text,:prefix],:fList]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-           (isDomain PI (PositiveInteger))),
-               :xList,:yList,:fList]
-  page := htInitPage("E01DAF - Interpolating functions, fitting bicubic spline, data on a rectanglar grid",htpPropertyList htPage)
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01dafGen)
-  htpSetProperty(page,'mx,mx)
-  htpSetProperty(page,'my,my)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01dafDefaultSolve (htPage,ifail) ==
-  mx := '7
-  my := '6
-  page := htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on rectangular grid",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\menuitemstyle{}\tab{2} Values of X(1) to X(MX): ")
-    (text . "\newline ")
-    (bcStrings (6 "1.00" x1 F))
-    (bcStrings (6 "1.10" x2 F))
-    (bcStrings (6 "1.30" x3 F))
-    (bcStrings (6 "1.50" x4 F))
-    (bcStrings (6 "1.60" x5 F))
-    (bcStrings (6 "1.80" x6 F))
-    (bcStrings (6 "2.00" x7 F))
-    (text . "\blankline ")
-    (text . "\newline ")
-    (text ."\menuitemstyle{} \tab{2} Values of Y(1) to Y(MY): ")
-    (text . "\newline  ")
-    (bcStrings (6 "0.00" y1 F))
-    (bcStrings (6 "0.10" y2 F))
-    (bcStrings (6 "0.40" y3 F))
-    (bcStrings (6 "0.70" y4 F))
-    (bcStrings (6 "0.90" y5 F))
-    (bcStrings (6 "1.00" y6 F))
-    (text . "\blankline ")
-    (text . "\newline ")
-    (text . "\menuitemstyle{} \tab{2} Values of F(MX*MY) (x down, y across): ")
-    (text . "\newline ")
-    (bcStrings (6 "1.00" z11 F))
-    (bcStrings (6 "1.10" z21 F))
-    (bcStrings (6 "1.40" z31 F))
-    (bcStrings (6 "1.70" z41 F))
-    (bcStrings (6 "1.90" z51 F))
-    (bcStrings (6 "2.00" z61 F))
-    (text . "\newline ")
-    (bcStrings (6 "1.21" z12 F))
-    (bcStrings (6 "1.31" z22 F))
-    (bcStrings (6 "1.61" z32 F))
-    (bcStrings (6 "1.91" z42 F))
-    (bcStrings (6 "2.11" z52 F))
-    (bcStrings (6 "2.21" z62 F))
-    (text . "\newline ")
-    (bcStrings (6 "1.69" z13 F))
-    (bcStrings (6 "1.79" z23 F))
-    (bcStrings (6 "2.09" z33 F))
-    (bcStrings (6 "2.39" z43 F))
-    (bcStrings (6 "2.59" z53 F))
-    (bcStrings (6 "2.69" z63 F))
-    (text . "\newline ")
-    (bcStrings (6 "2.25" z14 F))
-    (bcStrings (6 "2.35" z24 F))
-    (bcStrings (6 "2.65" z34 F))
-    (bcStrings (6 "2.95" z44 F))
-    (bcStrings (6 "3.15" z54 F))
-    (bcStrings (6 "3.25" z64 F))
-    (text . "\newline ")
-    (bcStrings (6 "2.56" z15 F))
-    (bcStrings (6 "2.66" z25 F))
-    (bcStrings (6 "2.96" z35 F))
-    (bcStrings (6 "3.26" z45 F))
-    (bcStrings (6 "3.46" z55 F))
-    (bcStrings (6 "3.56" z65 F))
-    (text . "\newline ")
-    (bcStrings (6 "3.24" z16 F))
-    (bcStrings (6 "3.34" z26 F))
-    (bcStrings (6 "3.64" z36 F))
-    (bcStrings (6 "3.94" z46 F))
-    (bcStrings (6 "4.14" z56 F))
-    (bcStrings (6 "4.24" z66 F))
-    (text . "\newline ")
-    (bcStrings (6 "4.00" z17 F))
-    (bcStrings (6 "4.10" z27 F))
-    (bcStrings (6 "4.40" z37 F))
-    (bcStrings (6 "4.70" z47 F))
-    (bcStrings (6 "4.90" z57 F))
-    (bcStrings (6 "5.00" z67 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01dafGen)    	
-  htpSetProperty(page,'mx,mx)
-  htpSetProperty(page,'my,my)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01dafGen htPage ==
-  mx := htpProperty(htPage,'mx)
-  my := htpProperty(htPage,'my)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  y := alist
-  while y repeat
-    right := STRCONC ((first y).1, " ")
-    y := rest y
-    xlist := [right,:xlist]
-  for i in 1..mx repeat
-    xmx := [:xmx,(first xlist)] 
-    xlist := rest xlist
-  xstring := bcwords2liststring xmx
-  for i in 1..my repeat
-    ymy := [:ymy,(first xlist)]
-    xlist := rest xlist
-  ystring := bcwords2liststring ymy
-  fstring := bcwords2liststring xlist
-  prefix := STRCONC('"e01daf(",STRINGIMAGE mx,", ",STRINGIMAGE my,",[")
-  midd := STRCONC(xstring, "], [",ystring,"], [",fstring,"], ")
-  linkGen STRCONC(prefix,midd,STRINGIMAGE ifail,")")
-
-e01saf() ==
-  htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01saf} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01saf| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Determines a \htbitmap{c1} piecewise polynomial ")
-    (text . "surface F(x,y) interpolating the set of scattered points ")
-    (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ")
-    (text . "for r = 1,2,...,m, using a method of Renka and Cline. ")
-    (text . "The interpolant can be evaluated using E01SBF. ")
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{}\tab{2} \newline ")
-    (text . "Number of data points {\em m} \htbitmap{great=} 3:")
-    (text . "\newline \tab{2} ")
-    (bcStrings (6 30 m PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01safSolve)
-  htShowPage()
-
-e01safSolve htPage ==
-  m :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
-    objValUnwrap htpLabelSpadValue(htPage, 'm)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  m = '30 => e01safDefaultSolve(htPage,ifail)
-  labelList :=
-    "append"/[f(i) for i in 1..m] where f(i) ==
-      prefix := ('"\newline \tab{2} ")
-      middle := ('"\tab{22} ")
-      post   := ('" \tab{42} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
-      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], 
-       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
-        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-           (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("E01SAF - Interpolating functions, method of Renka and Cline,two variables",htpPropertyList htPage)
-  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
-  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
-  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
-  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
-  htSay '"\htbitmap{dr}: "
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01safGen)
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01safDefaultSolve  (htPage, ifail) ==
-  m := '30
-  page := htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
-    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
-    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
-    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
-    (text . "\htbitmap{dr}: ")
-    (text . "\newline \tab{2}")
-    (bcStrings (10 "11.16" x1 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "1.24" y1 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "22.15" z1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.85" x2 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "3.06" y2 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "22.11" z2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "19.85" x3 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "10.72" y3 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "7.97" z3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "19.72" x4 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "1.39" y4 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "16.83" z4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.91" x5 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "7.74" y5 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "15.30" z5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.00" x6 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "20.00" y6 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "34.60" z6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.87" x7 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "20.00" y7 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.74" z7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "3.45" x8 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "12.78" y8 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "41.24" z8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "14.26" x9 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "17.87" y9 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "10.74" z9 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.43" x10 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "3.46" y10 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "18.60" z10 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "22.80" x11 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "12.39" y11 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.47" z11 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "7.58" x12 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "1.98" y12 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "29.87" z12 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "25.00" x13 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "11.87" y13 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "4.40" z13 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.00" x14 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.00" y14 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "58.20" z14 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.66" x15 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "20.00" y15 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "4.73" z15 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "5.22" x16 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "14.66" y16 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "40.36" z16 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.25" x17 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "19.57" y17 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "6.43" z17 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "25.00" x18 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "3.87" y18 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "8.74" z18 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.13" x19 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "10.79" y19 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "13.71" z19 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "22.23" x20 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "6.21" y20 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "10.25" z20 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "11.52" x21 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "8.53" y21 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "15.74" z21 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.20" x22 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.0" y22 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "21.60" z22 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "7.54" x23 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "10.69" y23 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "19.31" z23 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.32" x24 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "13.78" y24 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "12.11" z24 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "2.14" x25 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "15.03" y25 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "53.10" z25 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.51" x26 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "8.37" y26 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "49.43" z26 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "22.69" x27 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "19.63" y27 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "3.25" z27 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "5.47" x28 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "17.13" y28 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "28.63" z28 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "21.67" x29 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "14.36" y29 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.52" z29 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "3.31" x30 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.33" y30 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "44.08" z30 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01safGen)    	
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01safGen htPage ==
-  m := htpProperty(htPage,'m)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  y := alist
-  while y repeat
-    right := STRCONC ((first y).1," ")
-    y := rest y    
-    mid :=  STRCONC ((first y).1," ")
-    y := rest y
-    left :=  STRCONC ((first y).1," ")
-    y := rest y
-    xlist := [left,:xlist]
-    flist := [mid,:flist]
-    dlist := [right,:dlist]
-  xstring := bcwords2liststring xlist
-  fstring := bcwords2liststring flist
-  dstring := bcwords2liststring dlist
-  prefix := STRCONC('"e01saf(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[")
-  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE ifail,")")
-  linkGen prefix
-
-e01sef() ==
-  htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables", nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXe01sef} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01sef| '|NagInterpolationPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Determines a \htbitmap{c1} piecewise polynomial ")
-    (text . "surface F(x,y) interpolating the set of scattered points ")
-    (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ")
-    (text . "for r = 1,2,...,m, using a modified Shepard method. ")
-    (text . "The interpolant can be evaluated using E01SFF. ")
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{}\tab{2} \newline ")
-    (text . "Number of data points {\em m} \htbitmap{great=} 3:")
-    (text . "\newline \tab{2} ")
-    (bcStrings (6 30 m PI))
-    (text . "\blankline ")
-    (text . "Note: RNW, RNQ, NW, NQ set to zero for default value. ")
-    (text . "On exit, they contain the value actually used. ")
-    (text . "\blankline ")
-    (text . "\newline ")
-    (text . "\menuitemstyle{}\tab{2}")
-    (text . "\newline {\em RNW} weight locality radius: ")
-    (text . "\tab{32} \menuitemstyle{}\tab{34}")
-    (text . "{\em RNQ} point locality radius:")
-    (text . "\newline\tab{2} ")
-    (bcStrings (6 "0.0" rnw F))
-    (text . "\tab{34} ")
-    (bcStrings (6 "0.0" rnq F))
-    (text . "\blankline ")
-    (text . "\newline ")
-    (text . "\menuitemstyle{}\tab{2} \newline")
-    (text . "{\em NW} average number of points within RNW of each point: ")
-    (text . "\newline \tab{2} ")
-    (bcStrings (6 0 nw I))
-    (text . "\blankline ")
-    (text . "\newline ")
-    (text . "\menuitemstyle{}\tab{2} \newline")
-    (text . "{\em NQ} average number of points within RNQ of each point: ")
-    (text . "\newline \tab{2} ")
-    (bcStrings (6 0  nq I))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\menuitemstyle{} \tab{2} ")
-    (text . "\newline \tab{2} ")
-    (text . "Ifail value: ")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'e01sefSolve)
-  htShowPage()
-
-e01sefSolve htPage ==
-  m :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
-    objValUnwrap htpLabelSpadValue(htPage, 'm)
-  nw :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nw)
-    objValUnwrap htpLabelSpadValue(htPage, 'nw)
-  nq :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nq)
-    objValUnwrap htpLabelSpadValue(htPage, 'nq)
-  rnq := htpLabelInputString(htPage,'rnq)
-  rnw := htpLabelInputString(htPage,'rnw)
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  m = '30 => e01sefDefaultSolve(htPage,rnq,rnw,nq,nw,ifail)
-  labelList :=
-    "append"/[f(i) for i in 1..m] where f(i) ==
-      prefix := ('"\newline \tab{2} ")
-      middle := ('"\tab{22} ")
-      post   := ('" \tab{42} ")
-      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
-      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
-      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
-      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
-      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], 
-       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
-        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain F (Float))
-           (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage)
-  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
-  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
-  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
-  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
-  htSay '"\htbitmap{dr}: "
-  htMakePage equationPart
-  htSay '"\blankline "
-  htMakeDoneButton('"Continue",'e01sefGen)
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'rnq,rnq)
-  htpSetProperty(page,'rnw,rnw)
-  htpSetProperty(page,'nq,nq)
-  htpSetProperty(page,'nw,nw)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-e01sefDefaultSolve  (htPage,rnq,rnw,nq,nw,ifail) ==
-  m := '30
-  page := htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
-    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
-    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
-    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
-    (text . "\htbitmap{dr}: ")
-    (text . "\newline \tab{2}")
-    (bcStrings (10 "11.16" x1 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "1.24" y1 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "22.15" z1 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.85" x2 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "3.06" y2 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "22.11" z2 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "19.85" x3 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "10.72" y3 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "7.97" z3 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "19.72" x4 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "1.39" y4 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "16.83" z4 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.91" x5 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "7.74" y5 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "15.30" z5 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.00" x6 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "20.00" y6 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "34.60" z6 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "20.87" x7 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "20.00" y7 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.74" z7 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "3.45" x8 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "12.78" y8 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "41.24" z8 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "14.26" x9 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "17.87" y9 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "10.74" z9 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.43" x10 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "3.46" y10 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "18.60" z10 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "22.80" x11 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "12.39" y11 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.47" z11 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "7.58" x12 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "1.98" y12 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "29.87" z12 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "25.00" x13 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "11.87" y13 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "4.40" z13 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.00" x14 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.00" y14 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "58.20" z14 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "9.66" x15 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "20.00" y15 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "4.73" z15 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "5.22" x16 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "14.66" y16 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "40.36" z16 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.25" x17 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "19.57" y17 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "6.43" z17 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "25.00" x18 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "3.87" y18 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "8.74" z18 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "12.13" x19 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "10.79" y19 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "13.71" z19 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "22.23" x20 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "6.21" y20 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "10.25" z20 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "11.52" x21 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "8.53" y21 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "15.74" z21 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "15.20" x22 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.0" y22 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "21.60" z22 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "7.54" x23 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "10.69" y23 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "19.31" z23 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "17.32" x24 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "13.78" y24 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "12.11" z24 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "2.14" x25 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "15.03" y25 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "53.10" z25 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "0.51" x26 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "8.37" y26 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "49.43" z26 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "22.69" x27 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "19.63" y27 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "3.25" z27 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "5.47" x28 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "17.13" y28 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "28.63" z28 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "21.67" x29 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "14.36" y29 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "5.52" z29 F))
-    (text . "\newline \tab{2} ")
-    (bcStrings (10 "3.31" x30 F))
-    (text . "\tab{22} ")
-    (bcStrings (10 "0.33" y30 F))
-    (text . "\tab{42} ")
-    (bcStrings (10 "44.08" z30 F))
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'e01sefGen)    	
-  htpSetProperty(page,'m,m)
-  htpSetProperty(page,'rnq,rnq)
-  htpSetProperty(page,'rnw,rnw)
-  htpSetProperty(page,'nq,nq)
-  htpSetProperty(page,'nw,nw)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-e01sefGen htPage ==
-  m := htpProperty(htPage,'m)
-  rnw := htpProperty(htPage,'rnw)
-  rnq := htpProperty(htPage,'rnq)
-  nw := htpProperty(htPage,'nw)
-  nq := htpProperty(htPage,'nq)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  y := alist
-  while y repeat
-    right := STRCONC ((first y).1," ")
-    y := rest y    
-    mid :=  STRCONC ((first y).1," ")
-    y := rest y
-    left :=  STRCONC ((first y).1," ")
-    y := rest y
-    xlist := [left,:xlist]
-    flist := [mid,:flist]
-    dlist := [right,:dlist]
-  xstring := bcwords2liststring xlist
-  fstring := bcwords2liststring flist
-  dstring := bcwords2liststring dlist
-  prefix := STRCONC('"e01sef(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[")
-  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE nw,", ",STRINGIMAGE nq)
-  prefix := STRCONC(prefix,", ",rnw,", ",rnq,", ",STRINGIMAGE ifail,")")
-  linkGen prefix
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/nag-e01.lisp.pamphlet b/src/interp/nag-e01.lisp.pamphlet
new file mode 100644
index 0000000..0e2aafa
--- /dev/null
+++ b/src/interp/nag-e01.lisp.pamphlet
@@ -0,0 +1,4161 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/interp nag-e01.lisp}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+(IN-PACKAGE "BOOT" )
+
+;e01baf() ==
+;  htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01baf} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01baf| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Determines a cubic B-spline interpolant ")
+;    (text . "\center{s(x) = \htbitmap{e01baf}} to the points ")
+;    (text . "(\htbitmap{xiii}, \htbitmap{yi}), for i = 1,2,...,m. ")
+;    (text . "\blankline ")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "Enter the number of data points, {\it m}:")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 7 m PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01bafSolve)
+;  htShowPage()
+
+(DEFUN |e01baf| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01BAF - Interpolating functions, cubic spline interpolant, one variable")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01baf} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01baf| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text| . "Determines a cubic B-spline interpolant ")
+          (|text|
+           . "\\center{s(x) = \\htbitmap{e01baf}} to the points ")
+          (|text|
+           . "(\\htbitmap{xiii}, \\htbitmap{yi}), for i = 1,2,...,m. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "Enter the number of data points, {\\it m}:")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 7 |m| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bafSolve|)
+    (|htShowPage|)))
+
+;e01bafSolve htPage ==
+;  m :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
+;    objValUnwrap htpLabelSpadValue(htPage, 'm)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  m = '7 => e01bafDefaultSolve(htPage,ifail)
+;  labelList :=
+;    "append"/[f(i) for i in 1..m] where f(i) ==
+;      prefix := ('"\newline \tab{2} ")
+;      post   := ('"\tab{32} ")
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
+;       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;          (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage)
+;  htSay '"\menuitemstyle{}\tab{2} Values of x: \tab{30} "
+;  htSay '"\menuitemstyle{}\tab{32} Corresponding values of y: "
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01bafGen)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bafSolve,f| (|i|)
+  (PROG (|prefix| |post| |xnam| |ynam| |num|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |post| (MAKESTRING "\\tab{32} "))
+           (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |num|
+                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                                     (INTERN "." "BOOT")
+                                     (STRINGIMAGE (REM |i| 10)))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS |num|
+                                      (CONS |xnam| (CONS 'F NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |post|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |ynam| (CONS 'F NIL))))
+                                      NIL))
+                                    NIL)))))))))
+
+(DEFUN |e01bafSolve| (|htPage|)
+  (PROG (|m| |error| |ifail| |labelList| |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |m|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|m|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|m|)))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((BOOT-EQUAL |m| '7)
+                (|e01bafDefaultSolve| |htPage| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166074)
+                           (SPADLET G166074 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |m|) G166074)
+                               (SEQ (EXIT
+                                     (SETQ G166074
+                                      (APPEND G166074
+                                       (|e01bafSolve,f| |i|)))))))))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+    '|E01BAF - Interpolating functions, cubic spline interpolant, one variable|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+                          "\\menuitemstyle{}\\tab{2} Values of x: \\tab{30} "))
+                (|htSay| (MAKESTRING
+                     "\\menuitemstyle{}\\tab{32} Corresponding values of y: "))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01bafGen|)
+                (|htpSetProperty| |page| '|m| |m|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01bafDefaultSolve (htPage, ifail) ==
+;  m := '7
+;  page := htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\newline ")
+;    (text . "\menuitemstyle{}\tab{2} Values of x: \tab{30} ")
+;    (text . "\menuitemstyle{}\tab{32} Corresponding values of y: ")
+;    (text . "\newline \tab{2}")
+;    (bcStrings (10 "0.0" x1 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "1.0000" y1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.2" x2 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "1.2214" y2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.4" x3 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "1.4918" y3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.6" x4 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "1.8221" y4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.75" x5 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "2.1170" y5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.9" x6 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "2.4596" y6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "1.0" x7 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "2.7183" y7 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01bafGen)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bafDefaultSolve| (|htPage| |ifail|)
+  (PROG (|m| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |m| '7)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01BAF - Interpolating functions, cubic spline interpolant, one variable")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text| . "\\newline ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of x: \\tab{30} ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{32} Corresponding values of y: ")
+              (|text| . "\\newline \\tab{2}")
+              (|bcStrings| (10 "0.0" |x1| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "1.0000" |y1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.2" |x2| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "1.2214" |y2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.4" |x3| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "1.4918" |y3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.6" |x4| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "1.8221" |y4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.75" |x5| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "2.1170" |y5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.9" |x6| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "2.4596" |y6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "1.0" |x7| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "2.7183" |y7| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bafGen|)
+        (|htpSetProperty| |page| '|m| |m|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01bafGen htPage ==
+;  m := htpProperty(htPage,'m)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  lck := m + 4
+;  lwrk := 6*m+16
+;  y := alist
+;  while y repeat
+;    right := STRCONC ((first y).1," ")
+;    y := rest y
+;    left :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    reallist := [left,:reallist]
+;    imaglist := [right,:imaglist]
+;  realstring := bcwords2liststring reallist
+;  imagstring := bcwords2liststring imaglist
+;  pre := STRCONC ('"e01baf(",STRINGIMAGE m,",[",realstring,"],[",imagstring)
+;  post := STRCONC ('"],",STRINGIMAGE lck,",",STRINGIMAGE lwrk,",")
+;  linkGen STRCONC (pre,post,STRINGIMAGE ifail,")")
+
+(DEFUN |e01bafGen| (|htPage|)
+  (PROG (|m| |ifail| |alist| |lck| |lwrk| |right| |left| |y| |reallist|
+             |imaglist| |realstring| |imagstring| |pre| |post|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |m| (|htpProperty| |htPage| '|m|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |lck| (PLUS |m| 4))
+             (SPADLET |lwrk| (PLUS (TIMES 6 |m|) 16))
+             (SPADLET |y| |alist|)
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |reallist|
+                                     (CONS |left| |reallist|))
+                            (SPADLET |imaglist|
+                                     (CONS |right| |imaglist|))))))
+             (SPADLET |realstring| (|bcwords2liststring| |reallist|))
+             (SPADLET |imagstring| (|bcwords2liststring| |imaglist|))
+             (SPADLET |pre|
+                      (STRCONC (MAKESTRING "e01baf(") (STRINGIMAGE |m|)
+                               '|,[| |realstring| '|],[| |imagstring|))
+             (SPADLET |post|
+                      (STRCONC (MAKESTRING "],") (STRINGIMAGE |lck|)
+                               '|,| (STRINGIMAGE |lwrk|) '|,|))
+             (|linkGen|
+                 (STRCONC |pre| |post| (STRINGIMAGE |ifail|) '|)|)))))))
+
+;e01bef() ==
+;  htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01bef} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Brow[Cser operation page}{(|oPageFrom| '|e01bef| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Determines derivative estimates defining a monoticity preserving")
+;    (text . " piecewise cubic Hermite interpolant to the set of points ")
+;    (text . "(\htbitmap{xr}, \htbitmap{fr}), ")
+;    (text . "for r = 1,2,...,m. The interpolant, its derivative, and its ")
+;    (text . "integral can be evaluated by calls to E01BFF, E01BGF or E01BHF. ")
+;    (text . "\blankline ")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "Enter the number of data points {\it n} \htbitmap{great=} 2:")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 9 n PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01befSolve)
+;  htShowPage()
+
+(DEFUN |e01bef| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01bef} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Brow[Cser operation page}{(|oPageFrom| '|e01bef| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Determines derivative estimates defining a monoticity preserving")
+          (|text|
+           . " piecewise cubic Hermite interpolant to the set of points ")
+          (|text| . "(\\htbitmap{xr}, \\htbitmap{fr}), ")
+          (|text|
+           . "for r = 1,2,...,m. The interpolant, its derivative, and its ")
+          (|text|
+           . "integral can be evaluated by calls to E01BFF, E01BGF or E01BHF. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text|
+           . "Enter the number of data points {\\it n} \\htbitmap{great=} 2:")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01befSolve|)
+    (|htShowPage|)))
+
+;e01befSolve htPage ==
+;  n :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
+;    objValUnwrap htpLabelSpadValue(htPage, 'n)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    error = 'zero => '0
+;    '-1
+;  n = '9 => e01befDefaultSolve(htPage,ifail)
+;  labelList :=
+;    "append"/[f(i) for i in 1..n] where f(i) ==
+;      prefix := ('"\newline \tab{2} ")
+;      post   := ('"\tab{32} ")
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
+;       ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;          (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage)
+;  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
+;  htSay '"\htbitmap{xr}: \tab{30} "
+;  htSay '"\menuitemstyle{}\tab{32} Values of \space{1} "
+;  htSay '"\htbitmap{fr}: "
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01befGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01befSolve,f| (|i|)
+  (PROG (|prefix| |post| |xnam| |ynam| |num|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |post| (MAKESTRING "\\tab{32} "))
+           (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |num|
+                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                                     (INTERN "." "BOOT")
+                                     (STRINGIMAGE (REM |i| 10)))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS |num|
+                                      (CONS |xnam| (CONS 'F NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |post|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |ynam| (CONS 'F NIL))))
+                                      NIL))
+                                    NIL)))))))))
+
+(DEFUN |e01befSolve| (|htPage|)
+  (PROG (|n| |error| |ifail| |labelList| |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|n|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|n|)))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND
+                        ((BOOT-EQUAL |error| '|one|) '1)
+                        ((BOOT-EQUAL |error| '|zero|) '0)
+                        ('T '-1)))
+             (COND
+               ((BOOT-EQUAL |n| '9)
+                (|e01befDefaultSolve| |htPage| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166148)
+                           (SPADLET G166148 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |n|) G166148)
+                               (SEQ (EXIT
+                                     (SETQ G166148
+                                      (APPEND G166148
+                                       (|e01befSolve,f| |i|)))))))))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+                             "\\menuitemstyle{}\\tab{2} Values of \\space{1} "))
+                (|htSay| (MAKESTRING "\\htbitmap{xr}: \\tab{30} "))
+                (|htSay| (MAKESTRING
+                             "\\menuitemstyle{}\\tab{32} Values of \\space{1} "))
+                (|htSay| (MAKESTRING "\\htbitmap{fr}: "))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01befGen|)
+                (|htpSetProperty| |page| '|n| |n|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01befDefaultSolve (htPage, ifail) ==
+;  n := '9
+;  page := htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\newline ")
+;    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
+;    (text . "\htbitmap{xr}: \tab{30} ")
+;    (text . "\menuitemstyle{}\tab{32} Values of \space{1} \htbitmap{fr}: ")
+;    (text . "\newline \tab{2}")
+;    (bcStrings (10 "7.99" x1 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.00000e+0" y1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.09" x2 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.27643e-4" y2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.19" x3 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.43750e-1" y3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.70" x4 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.16918" y4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.20" x5 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.46943" y5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "10.00" x6 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.94374" y6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.00" x7 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.99864" y7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.00" x8 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.99992" y8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.00" x9 F))
+;    (text . "\tab{32} ")
+;    (bcStrings (10 "0.99999" y9 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01befGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01befDefaultSolve| (|htPage| |ifail|)
+  (PROG (|n| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |n| '9)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text| . "\\newline ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")
+              (|text| . "\\htbitmap{xr}: \\tab{30} ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{32} Values of \\space{1} \\htbitmap{fr}: ")
+              (|text| . "\\newline \\tab{2}")
+              (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.00000e+0" |y1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.27643e-4" |y2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.43750e-1" |y3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.16918" |y4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.46943" |y5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.94374" |y6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.99864" |y7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.99992" |y8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{32} ")
+              (|bcStrings| (10 "0.99999" |y9| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01befGen|)
+        (|htpSetProperty| |page| '|n| |n|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01befGen htPage ==
+;  n := htpProperty(htPage,'n)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  lck := n + 4
+;  lwrk := 6*n+16
+;  y := alist
+;  while y repeat
+;    right := STRCONC ((first y).1," ")
+;    y := rest y
+;    left :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    reallist := [left,:reallist]
+;    imaglist := [right,:imaglist]
+;  realstring := bcwords2liststring reallist
+;  imagstring := bcwords2liststring imaglist
+;  linkGen STRCONC ('"e01bef(",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],",STRINGIMAGE ifail,")")
+
+(DEFUN |e01befGen| (|htPage|)
+  (PROG (|n| |ifail| |alist| |lck| |lwrk| |right| |left| |y| |reallist|
+             |imaglist| |realstring| |imagstring|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n| (|htpProperty| |htPage| '|n|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |lck| (PLUS |n| 4))
+             (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16))
+             (SPADLET |y| |alist|)
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |reallist|
+                                     (CONS |left| |reallist|))
+                            (SPADLET |imaglist|
+                                     (CONS |right| |imaglist|))))))
+             (SPADLET |realstring| (|bcwords2liststring| |reallist|))
+             (SPADLET |imagstring| (|bcwords2liststring| |imaglist|))
+             (|linkGen|
+                 (STRCONC (MAKESTRING "e01bef(") (STRINGIMAGE |n|)
+                          '|,[| |realstring| '|],[| |imagstring| '|],|
+                          (STRINGIMAGE |ifail|) '|)|)))))))
+
+;e01bff() ==
+;  htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01bff} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bff| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Evaluates the piecewise cubic Hermite interpolant computed ")
+;    (text . "by E01BEF at the set of points \htbitmap{xiii}, ")
+;    (text . "for i = 1,2,...,m. ")
+;    (text . "\blankline ")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "Enter the number of data points {\em n}: ")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 9 n PI))
+;    (text . "\blankline ")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "Enter the number of evaluation points {\em m}: ")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 11 m PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01bffSolve)
+;  htShowPage()
+
+(DEFUN |e01bff| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01bff} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bff| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Evaluates the piecewise cubic Hermite interpolant computed ")
+          (|text|
+           . "by E01BEF at the set of points \\htbitmap{xiii}, ")
+          (|text| . "for i = 1,2,...,m. ") (|text| . "\\blankline ")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "Enter the number of data points {\\em n}: ")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI))
+          (|text| . "\\blankline ")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "Enter the number of evaluation points {\\em m}: ")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 11 |m| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bffSolve|)
+    (|htShowPage|)))
+
+;e01bffSolve htPage ==
+;  n :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
+;    objValUnwrap htpLabelSpadValue(htPage, 'n)
+;  m :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
+;    objValUnwrap htpLabelSpadValue(htPage, 'm)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  (n = '9 and m = '11) => e01bffDefaultSolve(htPage,ifail)
+;  labelList :=
+;    "append"/[f(i) for i in 1..n] where f(i) ==
+;      prefix := ('"\newline \tab{2} ")
+;      middle := ('"\tab{22} ")
+;      post   := ('" \tab{42} ")
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
+;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
+;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
+;  pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ")
+;  pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ")
+;  pxwords := cons('text,pxwords)
+;  pointList :=
+;    "append"/[g(j) for j in 1..m] where g(j) ==
+;      preamb := ('"\newline \tab{2} ")
+;      pnam := INTERN STRCONC ('"px",STRINGIMAGE j)
+;      [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]]
+;  labelList := [:labelList,pxwords,:pointList]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;           (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage)
+;  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
+;  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
+;  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
+;  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
+;  htSay '"\htbitmap{dr}: "
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01bffGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bffSolve,f| (|i|)
+  (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |middle| (MAKESTRING "\\tab{22} "))
+           (SPADLET |post| (MAKESTRING " \\tab{42} "))
+           (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |znam|
+                    (INTERN (STRCONC (MAKESTRING "z")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |num|
+                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                                     (INTERN "." "BOOT")
+                                     (STRINGIMAGE (REM |i| 10)))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS |num|
+                                      (CONS |xnam| (CONS 'F NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |middle|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |ynam| (CONS 'F NIL))))
+                                      NIL))
+                                    (CONS (CONS '|text| |post|)
+                                     (CONS
+                                      (CONS '|bcStrings|
+                                       (CONS
+                                        (CONS 10
+                                         (CONS 0.0
+                                          (CONS |znam| (CONS 'F NIL))))
+                                        NIL))
+                                      NIL)))))))))))
+
+(DEFUN |e01bffSolve,g| (|j|)
+  (PROG (|preamb| |pnam|)
+    (RETURN
+      (SEQ (SPADLET |preamb| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |pnam|
+                    (INTERN (STRCONC (MAKESTRING "px")
+                                     (STRINGIMAGE |j|))))
+           (EXIT (CONS (CONS '|text| |preamb|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS 0.0
+                                      (CONS |pnam| (CONS 'F NIL))))
+                                    NIL))
+                             NIL)))))))
+
+(DEFUN |e01bffSolve| (|htPage|)
+  (PROG (|n| |m| |error| |ifail| |pxwords| |pointList| |labelList|
+             |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|n|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|n|)))))
+             (SPADLET |m|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|m|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|m|)))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((AND (BOOT-EQUAL |n| '9) (BOOT-EQUAL |m| '11))
+                (|e01bffDefaultSolve| |htPage| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166230)
+                           (SPADLET G166230 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |n|) G166230)
+                               (SEQ (EXIT
+                                     (SETQ G166230
+                                      (APPEND G166230
+                                       (|e01bffSolve,f| |i|)))))))))
+                (SPADLET |pxwords|
+                         (MAKESTRING
+                             "\\blankline \\menuitemstyle{}\\tab{2} Values of "))
+                (SPADLET |pxwords|
+                         (STRCONC |pxwords|
+                                  (MAKESTRING
+                                      "array {\\it Px}: \\newline ")))
+                (SPADLET |pxwords| (CONS '|text| |pxwords|))
+                (SPADLET |pointList|
+                         (PROG (G166238)
+                           (SPADLET G166238 NIL)
+                           (RETURN
+                             (DO ((|j| 1 (QSADD1 |j|)))
+                                 ((QSGREATERP |j| |m|) G166238)
+                               (SEQ (EXIT
+                                     (SETQ G166238
+                                      (APPEND G166238
+                                       (|e01bffSolve,g| |j|)))))))))
+                (SPADLET |labelList|
+                         (APPEND |labelList|
+                                 (CONS |pxwords| |pointList|)))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+                             "\\menuitemstyle{}\\tab{2} Values of \\space{1} "))
+                (|htSay| (MAKESTRING
+                             "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} "))
+                (|htSay| (MAKESTRING
+                             "Values of \\space{1} \\htbitmap{fr}: \\tab{40}"))
+                (|htSay| (MAKESTRING
+                           "\\menuitemstyle{}\\tab{42} Values of \\space{1} "))
+                (|htSay| (MAKESTRING "\\htbitmap{dr}: "))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01bffGen|)
+                (|htpSetProperty| |page| '|n| |n|)
+                (|htpSetProperty| |page| '|m| |m|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01bffDefaultSolve (htPage, ifail) ==
+;  n := '9
+;  m := '11
+;  page := htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\newline ")
+;    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
+;    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
+;    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
+;    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
+;    (text . "\htbitmap{dr}: ")
+;    (text . "\newline \tab{2}")
+;    (bcStrings (10 "7.99" x1 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.00000e+0" y1 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.00000e+0" z1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.09" x2 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.27643e-4" y2 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.52510e-4" z2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.19" x3 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.43750e-1" y3 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.33587" z3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.70" x4 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.16918" y4 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.34944" z4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.20" x5 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.46943" y5 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.59696" z5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "10.00" x6 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.94374" y6 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "6.03260e-2" z6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.00" x7 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99864" y7 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "8.98335e-4" z7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.00" x8 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99992" y8 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "2.93954e-5" z8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.00" x9 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99999" y9 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.00000" z9 F))
+;    (text . "\blankline")
+;    (text . "\menuitemstyle{}\tab{2} ")
+;    (text . "Values of array {\it Px}: ")
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "7.99" px1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.191" px2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "10.392" px3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "11.593" px4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.794" px5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "13.995" px6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.196" px7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "16.397" px8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.598" px9 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "18.799" px10 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.0" px11 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01bffGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bffDefaultSolve| (|htPage| |ifail|)
+  (PROG (|n| |m| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |n| '9)
+        (SPADLET |m| '11)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text| . "\\newline ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")
+              (|text|
+               . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")
+              (|text|
+               . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")
+              (|text| . "\\htbitmap{dr}: ")
+              (|text| . "\\newline \\tab{2}")
+              (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.00000e+0" |y1| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.00000e+0" |z1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.27643e-4" |y2| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "5.52510e-4" |z2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.43750e-1" |y3| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.33587" |z3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.16918" |y4| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.34944" |z4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.46943" |y5| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.59696" |z5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.94374" |y6| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "6.03260e-2" |z6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99864" |y7| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "8.98335e-4" |z7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99992" |y8| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "2.93954e-5" |z8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99999" |y9| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.00000" |z9| F))
+              (|text| . "\\blankline")
+              (|text| . "\\menuitemstyle{}\\tab{2} ")
+              (|text| . "Values of array {\\it Px}: ")
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "7.99" |px1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.191" |px2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "10.392" |px3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "11.593" |px4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.794" |px5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "13.995" |px6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.196" |px7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "16.397" |px8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.598" |px9| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "18.799" |px10| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.0" |px11| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bffGen|)
+        (|htpSetProperty| |page| '|n| |n|)
+        (|htpSetProperty| |page| '|m| |m|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01bffGen htPage ==
+;  n := htpProperty(htPage,'n)
+;  m := htpProperty(htPage,'m)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  lck := n + 4
+;  lwrk := 6*n+16
+;  y := alist
+;  for i in 1..m repeat
+;    px := STRCONC ((first y).1," ")
+;    y := rest y
+;    pxlist := [px,:pxlist]
+;  pxstring := bcwords2liststring pxlist
+;  while y repeat
+;    right := STRCONC ((first y).1," ")
+;    y := rest y
+;    mid :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    left :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    xlist := [left,:xlist]
+;    flist := [mid,:flist]
+;    dlist := [right,:dlist]
+;  xstring := bcwords2liststring xlist
+;  fstring := bcwords2liststring flist
+;  dstring := bcwords2liststring dlist
+;  prefix := STRCONC('"e01bff(",STRINGIMAGE n,",[",xstring,"],[",fstring)
+;  prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],")
+;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  linkGen prefix
+
+(DEFUN |e01bffGen| (|htPage|)
+  (PROG (|n| |m| |ifail| |alist| |lck| |lwrk| |px| |pxlist| |pxstring|
+             |right| |mid| |left| |y| |xlist| |flist| |dlist| |xstring|
+             |fstring| |dstring| |prefix|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n| (|htpProperty| |htPage| '|n|))
+             (SPADLET |m| (|htpProperty| |htPage| '|m|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |lck| (PLUS |n| 4))
+             (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16))
+             (SPADLET |y| |alist|)
+             (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |m|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |px|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |pxlist| (CONS |px| |pxlist|))))))
+             (SPADLET |pxstring| (|bcwords2liststring| |pxlist|))
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |mid|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |xlist| (CONS |left| |xlist|))
+                            (SPADLET |flist| (CONS |mid| |flist|))
+                            (SPADLET |dlist| (CONS |right| |dlist|))))))
+             (SPADLET |xstring| (|bcwords2liststring| |xlist|))
+             (SPADLET |fstring| (|bcwords2liststring| |flist|))
+             (SPADLET |dstring| (|bcwords2liststring| |dlist|))
+             (SPADLET |prefix|
+                      (STRCONC (MAKESTRING "e01bff(") (STRINGIMAGE |n|)
+                               '|,[| |xstring| '|],[| |fstring|))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| '|],[| |dstring| '|],|
+                               (STRINGIMAGE |m|) '|,[| |pxstring|
+                               '|],|))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+             (|linkGen| |prefix|))))))
+
+;e01bgf() ==
+;  htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01bgf} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bgf| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Evaluates the piecewise cubic Hermite interpolant computed ")
+;    (text . "by E01BEF and its 1st derivative at the set of points \space{1} ")
+;    (text . "\htbitmap{xiii}, for i = 1,2,...,m. ")
+;    (text . "\blankline ")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "Enter the number of data points {\em n}: ")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 9 n PI))
+;    (text . "\blankline ")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "Enter the number of evaluation points {\em m}: ")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 11 m PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01bgfSolve)
+;  htShowPage()
+
+(DEFUN |e01bgf| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01bgf} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bgf| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Evaluates the piecewise cubic Hermite interpolant computed ")
+          (|text|
+           . "by E01BEF and its 1st derivative at the set of points \\space{1} ")
+          (|text| . "\\htbitmap{xiii}, for i = 1,2,...,m. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "Enter the number of data points {\\em n}: ")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI))
+          (|text| . "\\blankline ")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "Enter the number of evaluation points {\\em m}: ")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 11 |m| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bgfSolve|)
+    (|htShowPage|)))
+
+;e01bgfSolve htPage ==
+;  n :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
+;    objValUnwrap htpLabelSpadValue(htPage, 'n)
+;  m :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
+;    objValUnwrap htpLabelSpadValue(htPage, 'm)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  (n = '9 and m = '11) => e01bgfDefaultSolve(htPage,ifail)
+;  labelList :=
+;    "append"/[f(i) for i in 1..n] where f(i) ==
+;      prefix := ('"\newline \tab{2} ")
+;      middle := ('"\tab{22} ")
+;      post   := ('" \tab{42} ")
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
+;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
+;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
+;  pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ")
+;  pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ")
+;  pxwords := cons('text,pxwords)
+;  pointList :=
+;    "append"/[g(j) for j in 1..m] where g(j) ==
+;      preamb := ('"\newline \tab{2} ")
+;      pnam := INTERN STRCONC ('"px",STRINGIMAGE j)
+;      [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]]
+;  labelList := [:labelList,pxwords,:pointList]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;           (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage)
+;  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
+;  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
+;  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
+;  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
+;  htSay '"\htbitmap{dr}: "
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01bgfGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bgfSolve,f| (|i|)
+  (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |middle| (MAKESTRING "\\tab{22} "))
+           (SPADLET |post| (MAKESTRING " \\tab{42} "))
+           (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |znam|
+                    (INTERN (STRCONC (MAKESTRING "z")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |num|
+                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                                     (INTERN "." "BOOT")
+                                     (STRINGIMAGE (REM |i| 10)))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS |num|
+                                      (CONS |xnam| (CONS 'F NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |middle|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |ynam| (CONS 'F NIL))))
+                                      NIL))
+                                    (CONS (CONS '|text| |post|)
+                                     (CONS
+                                      (CONS '|bcStrings|
+                                       (CONS
+                                        (CONS 10
+                                         (CONS 0.0
+                                          (CONS |znam| (CONS 'F NIL))))
+                                        NIL))
+                                      NIL)))))))))))
+
+(DEFUN |e01bgfSolve,g| (|j|)
+  (PROG (|preamb| |pnam|)
+    (RETURN
+      (SEQ (SPADLET |preamb| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |pnam|
+                    (INTERN (STRCONC (MAKESTRING "px")
+                                     (STRINGIMAGE |j|))))
+           (EXIT (CONS (CONS '|text| |preamb|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS 0.0
+                                      (CONS |pnam| (CONS 'F NIL))))
+                                    NIL))
+                             NIL)))))))
+
+(DEFUN |e01bgfSolve| (|htPage|)
+  (PROG (|n| |m| |error| |ifail| |pxwords| |pointList| |labelList|
+             |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|n|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|n|)))))
+             (SPADLET |m|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|m|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|m|)))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((AND (BOOT-EQUAL |n| '9) (BOOT-EQUAL |m| '11))
+                (|e01bgfDefaultSolve| |htPage| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166353)
+                           (SPADLET G166353 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |n|) G166353)
+                               (SEQ (EXIT
+                                     (SETQ G166353
+                                      (APPEND G166353
+                                       (|e01bgfSolve,f| |i|)))))))))
+                (SPADLET |pxwords|
+                         (MAKESTRING
+                           "\\blankline \\menuitemstyle{}\\tab{2} Values of "))
+                (SPADLET |pxwords|
+                         (STRCONC |pxwords|
+                                  (MAKESTRING
+                                      "array {\\it Px}: \\newline ")))
+                (SPADLET |pxwords| (CONS '|text| |pxwords|))
+                (SPADLET |pointList|
+                         (PROG (G166361)
+                           (SPADLET G166361 NIL)
+                           (RETURN
+                             (DO ((|j| 1 (QSADD1 |j|)))
+                                 ((QSGREATERP |j| |m|) G166361)
+                               (SEQ (EXIT
+                                     (SETQ G166361
+                                      (APPEND G166361
+                                       (|e01bgfSolve,g| |j|)))))))))
+                (SPADLET |labelList|
+                         (APPEND |labelList|
+                                 (CONS |pxwords| |pointList|)))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+                            "\\menuitemstyle{}\\tab{2} Values of \\space{1} "))
+                (|htSay| (MAKESTRING
+                      "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} "))
+                (|htSay| (MAKESTRING
+                             "Values of \\space{1} \\htbitmap{fr}: \\tab{40}"))
+                (|htSay| (MAKESTRING
+                           "\\menuitemstyle{}\\tab{42} Values of \\space{1} "))
+                (|htSay| (MAKESTRING "\\htbitmap{dr}: "))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01bgfGen|)
+                (|htpSetProperty| |page| '|n| |n|)
+                (|htpSetProperty| |page| '|m| |m|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01bgfDefaultSolve (htPage, ifail) ==
+;  n := '9
+;  m := '11
+;  page := htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
+;    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
+;    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
+;    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
+;    (text . "\htbitmap{dr}: ")
+;    (text . "\newline \tab{2}")
+;    (bcStrings (10 "7.99" x1 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.00000e+0" y1 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.00000e+0" z1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.09" x2 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.27643e-4" y2 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.52510e-4" z2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.19" x3 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.43750e-1" y3 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.33587" z3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.70" x4 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.16918" y4 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.34944" z4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.20" x5 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.46943" y5 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.59696" z5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "10.00" x6 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.94374" y6 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "6.03260e-2" z6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.00" x7 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99864" y7 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "8.98335e-4" z7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.00" x8 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99992" y8 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "2.93954e-5" z8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.00" x9 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99999" y9 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.00000" z9 F))
+;    (text . "\blankline")
+;    (text . "\menuitemstyle{}\tab{2} ")
+;    (text . "Values of array {\it Px}: ")
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "7.99" px1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.191" px2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "10.392" px3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "11.593" px4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.794" px5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "13.995" px6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.196" px7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "16.397" px8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.598" px9 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "18.799" px10 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.0" px11 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01bgfGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bgfDefaultSolve| (|htPage| |ifail|)
+  (PROG (|n| |m| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |n| '9)
+        (SPADLET |m| '11)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")
+              (|text|
+               . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")
+              (|text|
+               . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")
+              (|text| . "\\htbitmap{dr}: ")
+              (|text| . "\\newline \\tab{2}")
+              (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.00000e+0" |y1| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.00000e+0" |z1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.27643e-4" |y2| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "5.52510e-4" |z2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.43750e-1" |y3| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.33587" |z3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.16918" |y4| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.34944" |z4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.46943" |y5| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.59696" |z5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.94374" |y6| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "6.03260e-2" |z6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99864" |y7| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "8.98335e-4" |z7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99992" |y8| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "2.93954e-5" |z8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99999" |y9| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.00000" |z9| F))
+              (|text| . "\\blankline")
+              (|text| . "\\menuitemstyle{}\\tab{2} ")
+              (|text| . "Values of array {\\it Px}: ")
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "7.99" |px1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.191" |px2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "10.392" |px3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "11.593" |px4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.794" |px5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "13.995" |px6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.196" |px7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "16.397" |px8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.598" |px9| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "18.799" |px10| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.0" |px11| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bgfGen|)
+        (|htpSetProperty| |page| '|n| |n|)
+        (|htpSetProperty| |page| '|m| |m|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01bgfGen htPage ==
+;  n := htpProperty(htPage,'n)
+;  m := htpProperty(htPage,'m)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  lck := n + 4
+;  lwrk := 6*n+16
+;  y := alist
+;  for i in 1..m repeat
+;    px := STRCONC ((first y).1," ")
+;    y := rest y
+;    pxlist := [px,:pxlist]
+;  pxstring := bcwords2liststring pxlist
+;  while y repeat
+;    right := STRCONC ((first y).1," ")
+;    y := rest y
+;    mid :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    left :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    xlist := [left,:xlist]
+;    flist := [mid,:flist]
+;    dlist := [right,:dlist]
+;  xstring := bcwords2liststring xlist
+;  fstring := bcwords2liststring flist
+;  dstring := bcwords2liststring dlist
+;  prefix := STRCONC('"e01bgf(",STRINGIMAGE n,",[",xstring,"],[",fstring)
+;  prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],")
+;  prefix := STRCONC(prefix,STRINGIMAGE ifail,")")
+;  linkGen prefix
+
+(DEFUN |e01bgfGen| (|htPage|)
+  (PROG (|n| |m| |ifail| |alist| |lck| |lwrk| |px| |pxlist| |pxstring|
+             |right| |mid| |left| |y| |xlist| |flist| |dlist| |xstring|
+             |fstring| |dstring| |prefix|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n| (|htpProperty| |htPage| '|n|))
+             (SPADLET |m| (|htpProperty| |htPage| '|m|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |lck| (PLUS |n| 4))
+             (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16))
+             (SPADLET |y| |alist|)
+             (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |m|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |px|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |pxlist| (CONS |px| |pxlist|))))))
+             (SPADLET |pxstring| (|bcwords2liststring| |pxlist|))
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |mid|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |xlist| (CONS |left| |xlist|))
+                            (SPADLET |flist| (CONS |mid| |flist|))
+                            (SPADLET |dlist| (CONS |right| |dlist|))))))
+             (SPADLET |xstring| (|bcwords2liststring| |xlist|))
+             (SPADLET |fstring| (|bcwords2liststring| |flist|))
+             (SPADLET |dstring| (|bcwords2liststring| |dlist|))
+             (SPADLET |prefix|
+                      (STRCONC (MAKESTRING "e01bgf(") (STRINGIMAGE |n|)
+                               '|,[| |xstring| '|],[| |fstring|))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| '|],[| |dstring| '|],|
+                               (STRINGIMAGE |m|) '|,[| |pxstring|
+                               '|],|))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|))
+             (|linkGen| |prefix|))))))
+
+;e01bhf() ==
+;  htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01bhf} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bhf| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Evaluates the definite integral of the piecewise cubic Hermite ")
+;    (text . "interpolant computed by E01BEF over the interval [a,b]. ")
+;    (text . "\blankline ")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "Enter the number of data points {\em n}: ")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 9 n PI))
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{}\tab{2} ")
+;    (text . "\newline {\em Lower} bound {\it a}: ")
+;    (text . "\tab{32} \menuitemstyle{}\tab{34} ")
+;    (text . "{\em Upper} bound {\it b}:")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (20 "7.99" a F))
+;    (text . "\tab{34} ")
+;    (bcStrings (20 "20.0" b EM))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01bhfSolve)
+;  htShowPage()
+
+(DEFUN |e01bhf| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01bhf} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bhf| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Evaluates the definite integral of the piecewise cubic Hermite ")
+          (|text|
+           . "interpolant computed by E01BEF over the interval [a,b]. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "Enter the number of data points {\\em n}: ")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI))
+          (|text| . "\\blankline ")
+          (|text| . "\\newline \\menuitemstyle{}\\tab{2} ")
+          (|text| . "\\newline {\\em Lower} bound {\\it a}: ")
+          (|text| . "\\tab{32} \\menuitemstyle{}\\tab{34} ")
+          (|text| . "{\\em Upper} bound {\\it b}:")
+          (|text| . "\\newline\\tab{2} ")
+          (|bcStrings| (20 "7.99" |a| F)) (|text| . "\\tab{34} ")
+          (|bcStrings| (20 "20.0" |b| EM)) (|text| . "\\blankline")
+          (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bhfSolve|)
+    (|htShowPage|)))
+
+;e01bhfSolve htPage ==
+;  n :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
+;    objValUnwrap htpLabelSpadValue(htPage, 'n)
+;  a := htpLabelInputString(htPage,'a)
+;  b := htpLabelInputString(htPage,'b)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  n = '9 => e01bhfDefaultSolve(htPage,a,b,ifail)
+;  labelList :=
+;    "append"/[f(i) for i in 1..n] where f(i) ==
+;      prefix := ('"\newline \tab{2} ")
+;      middle := ('"\tab{22} ")
+;      post   := ('" \tab{42} ")
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
+;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
+;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;           (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage)
+;  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
+;  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
+;  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
+;  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
+;  htSay '"\htbitmap{dr}: "
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01bhfGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'a,a)
+;  htpSetProperty(page,'b,b)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bhfSolve,f| (|i|)
+  (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |middle| (MAKESTRING "\\tab{22} "))
+           (SPADLET |post| (MAKESTRING " \\tab{42} "))
+           (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |znam|
+                    (INTERN (STRCONC (MAKESTRING "z")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |num|
+                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                                     (INTERN "." "BOOT")
+                                     (STRINGIMAGE (REM |i| 10)))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS |num|
+                                      (CONS |xnam| (CONS 'F NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |middle|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |ynam| (CONS 'F NIL))))
+                                      NIL))
+                                    (CONS (CONS '|text| |post|)
+                                     (CONS
+                                      (CONS '|bcStrings|
+                                       (CONS
+                                        (CONS 10
+                                         (CONS 0.0
+                                          (CONS |znam| (CONS 'F NIL))))
+                                        NIL))
+                                      NIL)))))))))))
+
+(DEFUN |e01bhfSolve| (|htPage|)
+  (PROG (|n| |a| |b| |error| |ifail| |labelList| |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|n|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|n|)))))
+             (SPADLET |a| (|htpLabelInputString| |htPage| '|a|))
+             (SPADLET |b| (|htpLabelInputString| |htPage| '|b|))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((BOOT-EQUAL |n| '9)
+                (|e01bhfDefaultSolve| |htPage| |a| |b| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166468)
+                           (SPADLET G166468 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |n|) G166468)
+                               (SEQ (EXIT
+                                     (SETQ G166468
+                                      (APPEND G166468
+                                       (|e01bhfSolve,f| |i|)))))))))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+                             "\\menuitemstyle{}\\tab{2} Values of \\space{1} "))
+                (|htSay| (MAKESTRING
+                             "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} "))
+                (|htSay| (MAKESTRING
+                             "Values of \\space{1} \\htbitmap{fr}: \\tab{40}"))
+                (|htSay| (MAKESTRING
+                           "\\menuitemstyle{}\\tab{42} Values of \\space{1} "))
+                (|htSay| (MAKESTRING "\\htbitmap{dr}: "))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01bhfGen|)
+                (|htpSetProperty| |page| '|n| |n|)
+                (|htpSetProperty| |page| '|a| |a|)
+                (|htpSetProperty| |page| '|b| |b|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01bhfDefaultSolve (htPage,a,b,ifail) ==
+;  n := '9
+;  page := htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
+;    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
+;    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
+;    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
+;    (text . "\htbitmap{dr}: ")
+;    (text . "\newline \tab{2}")
+;    (bcStrings (10 "7.99" x1 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.00000e+0" y1 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.00000e+0" z1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.09" x2 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.27643e-4" y2 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.52510e-4" z2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.19" x3 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.43750e-1" y3 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.33587" z3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "8.70" x4 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.16918" y4 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.34944" z4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.20" x5 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.46943" y5 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.59696" z5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "10.00" x6 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.94374" y6 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "6.03260e-2" z6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.00" x7 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99864" y7 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "8.98335e-4" z7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.00" x8 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99992" y8 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "2.93954e-5" z8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.00" x9 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.99999" y9 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "0.00000" z9 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01bhfGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'a,a)
+;  htpSetProperty(page,'b,b)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01bhfDefaultSolve| (|htPage| |a| |b| |ifail|)
+  (PROG (|n| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |n| '9)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")
+              (|text|
+               . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")
+              (|text|
+               . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")
+              (|text| . "\\htbitmap{dr}: ")
+              (|text| . "\\newline \\tab{2}")
+              (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.00000e+0" |y1| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.00000e+0" |z1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.27643e-4" |y2| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "5.52510e-4" |z2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.43750e-1" |y3| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.33587" |z3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.16918" |y4| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.34944" |z4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.46943" |y5| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.59696" |z5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.94374" |y6| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "6.03260e-2" |z6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99864" |y7| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "8.98335e-4" |z7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99992" |y8| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "2.93954e-5" |z8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.99999" |y9| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "0.00000" |z9| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bhfGen|)
+        (|htpSetProperty| |page| '|n| |n|)
+        (|htpSetProperty| |page| '|a| |a|)
+        (|htpSetProperty| |page| '|b| |b|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01bhfGen htPage ==
+;  n := htpProperty(htPage,'n)
+;  a := htpProperty(htPage,'a)
+;  b := htpProperty(htPage,'b)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  lck := n + 4
+;  lwrk := 6*n+16
+;  y := alist
+;  while y repeat
+;    right := STRCONC ((first y).1," ")
+;    y := rest y
+;    mid :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    left :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    xlist := [left,:xlist]
+;    flist := [mid,:flist]
+;    dlist := [right,:dlist]
+;  xstring := bcwords2liststring xlist
+;  fstring := bcwords2liststring flist
+;  dstring := bcwords2liststring dlist
+;  prefix := STRCONC('"e01bhf(",STRINGIMAGE n,",[",xstring,"],[",fstring,"],[")
+;  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE a,",",STRINGIMAGE b,",",STRINGIMAGE ifail,")")
+;  linkGen prefix
+
+(DEFUN |e01bhfGen| (|htPage|)
+  (PROG (|n| |a| |b| |ifail| |alist| |lck| |lwrk| |right| |mid| |left|
+             |y| |xlist| |flist| |dlist| |xstring| |fstring| |dstring|
+             |prefix|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n| (|htpProperty| |htPage| '|n|))
+             (SPADLET |a| (|htpProperty| |htPage| '|a|))
+             (SPADLET |b| (|htpProperty| |htPage| '|b|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |lck| (PLUS |n| 4))
+             (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16))
+             (SPADLET |y| |alist|)
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |mid|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |xlist| (CONS |left| |xlist|))
+                            (SPADLET |flist| (CONS |mid| |flist|))
+                            (SPADLET |dlist| (CONS |right| |dlist|))))))
+             (SPADLET |xstring| (|bcwords2liststring| |xlist|))
+             (SPADLET |fstring| (|bcwords2liststring| |flist|))
+             (SPADLET |dstring| (|bcwords2liststring| |dlist|))
+             (SPADLET |prefix|
+                      (STRCONC (MAKESTRING "e01bhf(") (STRINGIMAGE |n|)
+                               '|,[| |xstring| '|],[| |fstring| '|],[|))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| |dstring| '|],|
+                               (STRINGIMAGE |a|) '|,| (STRINGIMAGE |b|)
+                               '|,| (STRINGIMAGE |ifail|) '|)|))
+             (|linkGen| |prefix|))))))
+
+;e01daf() ==
+;  htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on a rectangular grid", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01daf} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01daf| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Determines a bicubic spline surface interpolating the set of ")
+;    (text . "data values (\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}) ")
+;    (text . "given on a rectangular grid. The grid is defined by ")
+;    (text . "\space{1} \htbitmap{mx} points along the x-axis and ")
+;    (text . "\space{1} \htbitmap{my} points along the y-axis. The ")
+;    (text . "spline has \space{1} \htbitmap{px} knots ")
+;    (text . "\htbitmap{lamdai} and \space{1}\htbitmap{py}")
+;    (text . " knots  \htbitmap{mui} in the x- and y-directions ")
+;    (text . "respectively, and is given in the B-spline representation ")
+;    (text . "\center{s(x,y) = \htbitmap{e01daf1}} ")
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{}\tab{2} ")
+;    (text . "\newline The value \space{1} \htbitmap{mx}: ")
+;    (text . "\tab{32} \menuitemstyle{}\tab{34} ")
+;    (text . "The value \space{1} \htbitmap{my}:")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (6 7 mx PI))
+;    (text . "\tab{34} ")
+;    (bcStrings (6 6 my PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01dafSolve)
+;  htShowPage()
+
+(DEFUN |e01daf| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01DAF - Interpolating functions, fitting bicubic spline, data on a rectangular grid")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01daf} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01daf| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Determines a bicubic spline surface interpolating the set of ")
+          (|text|
+           . "data values (\\htbitmap{xr}, \\htbitmap{yr}, \\htbitmap{fqr}) ")
+          (|text|
+           . "given on a rectangular grid. The grid is defined by ")
+          (|text|
+           . "\\space{1} \\htbitmap{mx} points along the x-axis and ")
+          (|text|
+           . "\\space{1} \\htbitmap{my} points along the y-axis. The ")
+          (|text| . "spline has \\space{1} \\htbitmap{px} knots ")
+          (|text| . "\\htbitmap{lamdai} and \\space{1}\\htbitmap{py}")
+          (|text|
+           . " knots  \\htbitmap{mui} in the x- and y-directions ")
+          (|text|
+           . "respectively, and is given in the B-spline representation ")
+          (|text| . "\\center{s(x,y) = \\htbitmap{e01daf1}} ")
+          (|text| . "\\blankline ")
+          (|text| . "\\newline \\menuitemstyle{}\\tab{2} ")
+          (|text| . "\\newline The value \\space{1} \\htbitmap{mx}: ")
+          (|text| . "\\tab{32} \\menuitemstyle{}\\tab{34} ")
+          (|text| . "The value \\space{1} \\htbitmap{my}:")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (6 7 |mx| PI))
+          (|text| . "\\tab{34} ") (|bcStrings| (6 6 |my| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01dafSolve|)
+    (|htShowPage|)))
+
+;e01dafSolve htPage ==
+;  mx :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'mx)
+;    objValUnwrap htpLabelSpadValue(htPage, 'mx)
+;  my :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'my)
+;    objValUnwrap htpLabelSpadValue(htPage, 'my)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  (mx = '7 and my = '6) => e01dafDefaultSolve(htPage,ifail)
+;  xList :=
+;    "append"/[f(i) for i in 1..mx] where f(i) ==
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      [['bcStrings,[6, 0.0, xnam, 'F]]]
+;  prefix := ('"\newline \menuitemstyle{}\tab{2} Values of X(1) to X(MX): \newline ")
+;  xList := [['text,:prefix],:xList]
+;  yList :=
+;    "append"/[g(i) for i in 1..my] where g(i) ==
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      [['bcStrings,[6, 0.0, ynam, 'F]]]
+;  prefix := ('"\blankline\menuitemstyle{}\tab{2}Values of Y(1) to Y(MY): \newline ")
+;  yList := [['text,:prefix],:yList]
+;  fList :=
+;    "append"/[h(j,my) for j in 1..mx] where h(j,my) ==
+;      tempList :=
+;        "append"/[k(j,m) for m in 1..my] where k(j,m) ==
+;          fnam := INTERN STRCONC ('"f",STRINGIMAGE j, STRINGIMAGE m)
+;          [['bcStrings,[6, 0.0, fnam, 'F]]]
+;      prefix := ('"\newline ")
+;      tempList := [['text,:prefix],:tempList]
+;  prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of F(MX*MY) ")
+;  prefix := STRCONC(prefix,'"(x down, y across): ")
+;  fList := [['text,:prefix],:fList]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;           (isDomain PI (PositiveInteger))),
+;               :xList,:yList,:fList]
+;  page := htInitPage("E01DAF - Interpolating functions, fitting bicubic spline, data on a rectanglar grid",htpPropertyList htPage)
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01dafGen)
+;  htpSetProperty(page,'mx,mx)
+;  htpSetProperty(page,'my,my)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01dafSolve,f| (|i|)
+  (PROG (|xnam|)
+    (RETURN
+      (SEQ (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (EXIT (CONS (CONS '|bcStrings|
+                             (CONS (CONS 6
+                                    (CONS 0.0
+                                     (CONS |xnam| (CONS 'F NIL))))
+                                   NIL))
+                       NIL))))))
+
+(DEFUN |e01dafSolve,g| (|i|)
+  (PROG (|ynam|)
+    (RETURN
+      (SEQ (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (EXIT (CONS (CONS '|bcStrings|
+                             (CONS (CONS 6
+                                    (CONS 0.0
+                                     (CONS |ynam| (CONS 'F NIL))))
+                                   NIL))
+                       NIL))))))
+
+(DEFUN |e01dafSolve,k| (|j| |m|)
+  (PROG (|fnam|)
+    (RETURN
+      (SEQ (SPADLET |fnam|
+                    (INTERN (STRCONC (MAKESTRING "f") (STRINGIMAGE |j|)
+                                     (STRINGIMAGE |m|))))
+           (EXIT (CONS (CONS '|bcStrings|
+                             (CONS (CONS 6
+                                    (CONS 0.0
+                                     (CONS |fnam| (CONS 'F NIL))))
+                                   NIL))
+                       NIL))))))
+
+(DEFUN |e01dafSolve,h| (|j| |my|)
+  (PROG (|prefix| |tempList|)
+    (RETURN
+      (SEQ (SPADLET |tempList|
+                    (PROG (G166562)
+                      (SPADLET G166562 NIL)
+                      (RETURN
+                        (DO ((|m| 1 (QSADD1 |m|)))
+                            ((QSGREATERP |m| |my|) G166562)
+                          (SEQ (EXIT (SETQ G166562
+                                      (APPEND G166562
+                                       (|e01dafSolve,k| |j| |m|)))))))))
+           (SPADLET |prefix| (MAKESTRING "\\newline "))
+           (EXIT (SPADLET |tempList|
+                          (CONS (CONS '|text| |prefix|) |tempList|)))))))
+
+(DEFUN |e01dafSolve| (|htPage|)
+  (PROG (|mx| |my| |error| |ifail| |xList| |yList| |prefix| |fList|
+              |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |mx|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|mx|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|mx|)))))
+             (SPADLET |my|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|my|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|my|)))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((AND (BOOT-EQUAL |mx| '7) (BOOT-EQUAL |my| '6))
+                (|e01dafDefaultSolve| |htPage| |ifail|))
+               ('T
+                (SPADLET |xList|
+                         (PROG (G166579)
+                           (SPADLET G166579 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |mx|) G166579)
+                               (SEQ (EXIT
+                                     (SETQ G166579
+                                      (APPEND G166579
+                                       (|e01dafSolve,f| |i|)))))))))
+                (SPADLET |prefix|
+                         (MAKESTRING
+                             "\\newline \\menuitemstyle{}\\tab{2} Values of X(1) to X(MX): \\newline "))
+                (SPADLET |xList|
+                         (CONS (CONS '|text| |prefix|) |xList|))
+                (SPADLET |yList|
+                         (PROG (G166587)
+                           (SPADLET G166587 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |my|) G166587)
+                               (SEQ (EXIT
+                                     (SETQ G166587
+                                      (APPEND G166587
+                                       (|e01dafSolve,g| |i|)))))))))
+                (SPADLET |prefix|
+                         (MAKESTRING
+                             "\\blankline\\menuitemstyle{}\\tab{2}Values of Y(1) to Y(MY): \\newline "))
+                (SPADLET |yList|
+                         (CONS (CONS '|text| |prefix|) |yList|))
+                (SPADLET |fList|
+                         (PROG (G166595)
+                           (SPADLET G166595 NIL)
+                           (RETURN
+                             (DO ((|j| 1 (QSADD1 |j|)))
+                                 ((QSGREATERP |j| |mx|) G166595)
+                               (SEQ (EXIT
+                                     (SETQ G166595
+                                      (APPEND G166595
+                                       (|e01dafSolve,h| |j| |my|)))))))))
+                (SPADLET |prefix|
+                         (MAKESTRING
+                             "\\blankline \\menuitemstyle{} \\tab{2} Values of F(MX*MY) "))
+                (SPADLET |prefix|
+                         (STRCONC |prefix|
+                                  (MAKESTRING "(x down, y across): ")))
+                (SPADLET |fList|
+                         (CONS (CONS '|text| |prefix|) |fList|))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               (APPEND |xList|
+                                       (APPEND |yList| |fList|))))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|E01DAF - Interpolating functions, fitting bicubic spline, data on a rectanglar grid|
+                             (|htpPropertyList| |htPage|)))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01dafGen|)
+                (|htpSetProperty| |page| '|mx| |mx|)
+                (|htpSetProperty| |page| '|my| |my|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01dafDefaultSolve (htPage,ifail) ==
+;  mx := '7
+;  my := '6
+;  page := htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on rectangular grid",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\menuitemstyle{}\tab{2} Values of X(1) to X(MX): ")
+;    (text . "\newline ")
+;    (bcStrings (6 "1.00" x1 F))
+;    (bcStrings (6 "1.10" x2 F))
+;    (bcStrings (6 "1.30" x3 F))
+;    (bcStrings (6 "1.50" x4 F))
+;    (bcStrings (6 "1.60" x5 F))
+;    (bcStrings (6 "1.80" x6 F))
+;    (bcStrings (6 "2.00" x7 F))
+;    (text . "\blankline ")
+;    (text . "\newline ")
+;    (text ."\menuitemstyle{} \tab{2} Values of Y(1) to Y(MY): ")
+;    (text . "\newline  ")
+;    (bcStrings (6 "0.00" y1 F))
+;    (bcStrings (6 "0.10" y2 F))
+;    (bcStrings (6 "0.40" y3 F))
+;    (bcStrings (6 "0.70" y4 F))
+;    (bcStrings (6 "0.90" y5 F))
+;    (bcStrings (6 "1.00" y6 F))
+;    (text . "\blankline ")
+;    (text . "\newline ")
+;    (text . "\menuitemstyle{} \tab{2} Values of F(MX*MY) (x down, y across): ")
+;    (text . "\newline ")
+;    (bcStrings (6 "1.00" z11 F))
+;    (bcStrings (6 "1.10" z21 F))
+;    (bcStrings (6 "1.40" z31 F))
+;    (bcStrings (6 "1.70" z41 F))
+;    (bcStrings (6 "1.90" z51 F))
+;    (bcStrings (6 "2.00" z61 F))
+;    (text . "\newline ")
+;    (bcStrings (6 "1.21" z12 F))
+;    (bcStrings (6 "1.31" z22 F))
+;    (bcStrings (6 "1.61" z32 F))
+;    (bcStrings (6 "1.91" z42 F))
+;    (bcStrings (6 "2.11" z52 F))
+;    (bcStrings (6 "2.21" z62 F))
+;    (text . "\newline ")
+;    (bcStrings (6 "1.69" z13 F))
+;    (bcStrings (6 "1.79" z23 F))
+;    (bcStrings (6 "2.09" z33 F))
+;    (bcStrings (6 "2.39" z43 F))
+;    (bcStrings (6 "2.59" z53 F))
+;    (bcStrings (6 "2.69" z63 F))
+;    (text . "\newline ")
+;    (bcStrings (6 "2.25" z14 F))
+;    (bcStrings (6 "2.35" z24 F))
+;    (bcStrings (6 "2.65" z34 F))
+;    (bcStrings (6 "2.95" z44 F))
+;    (bcStrings (6 "3.15" z54 F))
+;    (bcStrings (6 "3.25" z64 F))
+;    (text . "\newline ")
+;    (bcStrings (6 "2.56" z15 F))
+;    (bcStrings (6 "2.66" z25 F))
+;    (bcStrings (6 "2.96" z35 F))
+;    (bcStrings (6 "3.26" z45 F))
+;    (bcStrings (6 "3.46" z55 F))
+;    (bcStrings (6 "3.56" z65 F))
+;    (text . "\newline ")
+;    (bcStrings (6 "3.24" z16 F))
+;    (bcStrings (6 "3.34" z26 F))
+;    (bcStrings (6 "3.64" z36 F))
+;    (bcStrings (6 "3.94" z46 F))
+;    (bcStrings (6 "4.14" z56 F))
+;    (bcStrings (6 "4.24" z66 F))
+;    (text . "\newline ")
+;    (bcStrings (6 "4.00" z17 F))
+;    (bcStrings (6 "4.10" z27 F))
+;    (bcStrings (6 "4.40" z37 F))
+;    (bcStrings (6 "4.70" z47 F))
+;    (bcStrings (6 "4.90" z57 F))
+;    (bcStrings (6 "5.00" z67 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01dafGen)
+;  htpSetProperty(page,'mx,mx)
+;  htpSetProperty(page,'my,my)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01dafDefaultSolve| (|htPage| |ifail|)
+  (PROG (|mx| |my| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |mx| '7)
+        (SPADLET |my| '6)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01DAF - Interpolating functions, fitting bicubic spline, data on rectangular grid")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of X(1) to X(MX): ")
+              (|text| . "\\newline ") (|bcStrings| (6 "1.00" |x1| F))
+              (|bcStrings| (6 "1.10" |x2| F))
+              (|bcStrings| (6 "1.30" |x3| F))
+              (|bcStrings| (6 "1.50" |x4| F))
+              (|bcStrings| (6 "1.60" |x5| F))
+              (|bcStrings| (6 "1.80" |x6| F))
+              (|bcStrings| (6 "2.00" |x7| F)) (|text| . "\\blankline ")
+              (|text| . "\\newline ")
+              (|text|
+               . "\\menuitemstyle{} \\tab{2} Values of Y(1) to Y(MY): ")
+              (|text| . "\\newline  ") (|bcStrings| (6 "0.00" |y1| F))
+              (|bcStrings| (6 "0.10" |y2| F))
+              (|bcStrings| (6 "0.40" |y3| F))
+              (|bcStrings| (6 "0.70" |y4| F))
+              (|bcStrings| (6 "0.90" |y5| F))
+              (|bcStrings| (6 "1.00" |y6| F)) (|text| . "\\blankline ")
+              (|text| . "\\newline ")
+              (|text|
+               . "\\menuitemstyle{} \\tab{2} Values of F(MX*MY) (x down, y across): ")
+              (|text| . "\\newline ") (|bcStrings| (6 "1.00" |z11| F))
+              (|bcStrings| (6 "1.10" |z21| F))
+              (|bcStrings| (6 "1.40" |z31| F))
+              (|bcStrings| (6 "1.70" |z41| F))
+              (|bcStrings| (6 "1.90" |z51| F))
+              (|bcStrings| (6 "2.00" |z61| F)) (|text| . "\\newline ")
+              (|bcStrings| (6 "1.21" |z12| F))
+              (|bcStrings| (6 "1.31" |z22| F))
+              (|bcStrings| (6 "1.61" |z32| F))
+              (|bcStrings| (6 "1.91" |z42| F))
+              (|bcStrings| (6 "2.11" |z52| F))
+              (|bcStrings| (6 "2.21" |z62| F)) (|text| . "\\newline ")
+              (|bcStrings| (6 "1.69" |z13| F))
+              (|bcStrings| (6 "1.79" |z23| F))
+              (|bcStrings| (6 "2.09" |z33| F))
+              (|bcStrings| (6 "2.39" |z43| F))
+              (|bcStrings| (6 "2.59" |z53| F))
+              (|bcStrings| (6 "2.69" |z63| F)) (|text| . "\\newline ")
+              (|bcStrings| (6 "2.25" |z14| F))
+              (|bcStrings| (6 "2.35" |z24| F))
+              (|bcStrings| (6 "2.65" |z34| F))
+              (|bcStrings| (6 "2.95" |z44| F))
+              (|bcStrings| (6 "3.15" |z54| F))
+              (|bcStrings| (6 "3.25" |z64| F)) (|text| . "\\newline ")
+              (|bcStrings| (6 "2.56" |z15| F))
+              (|bcStrings| (6 "2.66" |z25| F))
+              (|bcStrings| (6 "2.96" |z35| F))
+              (|bcStrings| (6 "3.26" |z45| F))
+              (|bcStrings| (6 "3.46" |z55| F))
+              (|bcStrings| (6 "3.56" |z65| F)) (|text| . "\\newline ")
+              (|bcStrings| (6 "3.24" |z16| F))
+              (|bcStrings| (6 "3.34" |z26| F))
+              (|bcStrings| (6 "3.64" |z36| F))
+              (|bcStrings| (6 "3.94" |z46| F))
+              (|bcStrings| (6 "4.14" |z56| F))
+              (|bcStrings| (6 "4.24" |z66| F)) (|text| . "\\newline ")
+              (|bcStrings| (6 "4.00" |z17| F))
+              (|bcStrings| (6 "4.10" |z27| F))
+              (|bcStrings| (6 "4.40" |z37| F))
+              (|bcStrings| (6 "4.70" |z47| F))
+              (|bcStrings| (6 "4.90" |z57| F))
+              (|bcStrings| (6 "5.00" |z67| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01dafGen|)
+        (|htpSetProperty| |page| '|mx| |mx|)
+        (|htpSetProperty| |page| '|my| |my|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01dafGen htPage ==
+;  mx := htpProperty(htPage,'mx)
+;  my := htpProperty(htPage,'my)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  y := alist
+;  while y repeat
+;    right := STRCONC ((first y).1, " ")
+;    y := rest y
+;    xlist := [right,:xlist]
+;  for i in 1..mx repeat
+;    xmx := [:xmx,(first xlist)]
+;    xlist := rest xlist
+;  xstring := bcwords2liststring xmx
+;  for i in 1..my repeat
+;    ymy := [:ymy,(first xlist)]
+;    xlist := rest xlist
+;  ystring := bcwords2liststring ymy
+;  fstring := bcwords2liststring xlist
+;  prefix := STRCONC('"e01daf(",STRINGIMAGE mx,", ",STRINGIMAGE my,",[")
+;  midd := STRCONC(xstring, "], [",ystring,"], [",fstring,"], ")
+;  linkGen STRCONC(prefix,midd,STRINGIMAGE ifail,")")
+
+(DEFUN |e01dafGen| (|htPage|)
+  (PROG (|mx| |my| |ifail| |alist| |right| |y| |xmx| |xstring| |ymy|
+              |xlist| |ystring| |fstring| |prefix| |midd|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |mx| (|htpProperty| |htPage| '|mx|))
+             (SPADLET |my| (|htpProperty| |htPage| '|my|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |y| |alist|)
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |xlist| (CONS |right| |xlist|))))))
+             (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |mx|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |xmx|
+                                     (APPEND |xmx|
+                                      (CONS (CAR |xlist|) NIL)))
+                            (SPADLET |xlist| (CDR |xlist|))))))
+             (SPADLET |xstring| (|bcwords2liststring| |xmx|))
+             (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |my|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |ymy|
+                                     (APPEND |ymy|
+                                      (CONS (CAR |xlist|) NIL)))
+                            (SPADLET |xlist| (CDR |xlist|))))))
+             (SPADLET |ystring| (|bcwords2liststring| |ymy|))
+             (SPADLET |fstring| (|bcwords2liststring| |xlist|))
+             (SPADLET |prefix|
+                      (STRCONC (MAKESTRING "e01daf(")
+                               (STRINGIMAGE |mx|) '|, |
+                               (STRINGIMAGE |my|) '|,[|))
+             (SPADLET |midd|
+                      (STRCONC |xstring| '|], [| |ystring| '|], [|
+                               |fstring| '|], |))
+             (|linkGen|
+                 (STRCONC |prefix| |midd| (STRINGIMAGE |ifail|) '|)|)))))))
+
+;e01saf() ==
+;  htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01saf} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01saf| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Determines a \htbitmap{c1} piecewise polynomial ")
+;    (text . "surface F(x,y) interpolating the set of scattered points ")
+;    (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ")
+;    (text . "for r = 1,2,...,m, using a method of Renka and Cline. ")
+;    (text . "The interpolant can be evaluated using E01SBF. ")
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{}\tab{2} \newline ")
+;    (text . "Number of data points {\em m} \htbitmap{great=} 3:")
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (6 30 m PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01safSolve)
+;  htShowPage()
+
+(DEFUN |e01saf| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01SAF - Interpolating functions, method of Renka and Cline, two variables")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01saf} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01saf| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Determines a \\htbitmap{c1} piecewise polynomial ")
+          (|text|
+           . "surface F(x,y) interpolating the set of scattered points ")
+          (|text|
+           . "(\\htbitmap{xr}, \\htbitmap{yr}, \\htbitmap{fqr}), ")
+          (|text|
+           . "for r = 1,2,...,m, using a method of Renka and Cline. ")
+          (|text| . "The interpolant can be evaluated using E01SBF. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\newline \\menuitemstyle{}\\tab{2} \\newline ")
+          (|text|
+           . "Number of data points {\\em m} \\htbitmap{great=} 3:")
+          (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 30 |m| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01safSolve|)
+    (|htShowPage|)))
+
+;e01safSolve htPage ==
+;  m :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
+;    objValUnwrap htpLabelSpadValue(htPage, 'm)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  m = '30 => e01safDefaultSolve(htPage,ifail)
+;  labelList :=
+;    "append"/[f(i) for i in 1..m] where f(i) ==
+;      prefix := ('"\newline \tab{2} ")
+;      middle := ('"\tab{22} ")
+;      post   := ('" \tab{42} ")
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
+;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
+;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;           (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("E01SAF - Interpolating functions, method of Renka and Cline,two variables",htpPropertyList htPage)
+;  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
+;  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
+;  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
+;  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
+;  htSay '"\htbitmap{dr}: "
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01safGen)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01safSolve,f| (|i|)
+  (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |middle| (MAKESTRING "\\tab{22} "))
+           (SPADLET |post| (MAKESTRING " \\tab{42} "))
+           (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |znam|
+                    (INTERN (STRCONC (MAKESTRING "z")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |num|
+                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                                     (INTERN "." "BOOT")
+                                     (STRINGIMAGE (REM |i| 10)))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS |num|
+                                      (CONS |xnam| (CONS 'F NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |middle|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |ynam| (CONS 'F NIL))))
+                                      NIL))
+                                    (CONS (CONS '|text| |post|)
+                                     (CONS
+                                      (CONS '|bcStrings|
+                                       (CONS
+                                        (CONS 10
+                                         (CONS 0.0
+                                          (CONS |znam| (CONS 'F NIL))))
+                                        NIL))
+                                      NIL)))))))))))
+
+(DEFUN |e01safSolve| (|htPage|)
+  (PROG (|m| |error| |ifail| |labelList| |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |m|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|m|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|m|)))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((BOOT-EQUAL |m| '30)
+                (|e01safDefaultSolve| |htPage| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166700)
+                           (SPADLET G166700 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |m|) G166700)
+                               (SEQ (EXIT
+                                     (SETQ G166700
+                                      (APPEND G166700
+                                       (|e01safSolve,f| |i|)))))))))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|E01SAF - Interpolating functions, method of Renka and Cline,two variables|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+                             "\\menuitemstyle{}\\tab{2} Values of \\space{1} "))
+                (|htSay| (MAKESTRING
+                             "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} "))
+                (|htSay| (MAKESTRING
+                             "Values of \\space{1} \\htbitmap{fr}: \\tab{40}"))
+                (|htSay| (MAKESTRING
+                           "\\menuitemstyle{}\\tab{42} Values of \\space{1} "))
+                (|htSay| (MAKESTRING "\\htbitmap{dr}: "))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01safGen|)
+                (|htpSetProperty| |page| '|m| |m|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01safDefaultSolve  (htPage, ifail) ==
+;  m := '30
+;  page := htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
+;    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
+;    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
+;    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
+;    (text . "\htbitmap{dr}: ")
+;    (text . "\newline \tab{2}")
+;    (bcStrings (10 "11.16" x1 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "1.24" y1 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "22.15" z1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.85" x2 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "3.06" y2 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "22.11" z2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "19.85" x3 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "10.72" y3 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "7.97" z3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "19.72" x4 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "1.39" y4 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "16.83" z4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.91" x5 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "7.74" y5 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "15.30" z5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.00" x6 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "20.00" y6 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "34.60" z6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.87" x7 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "20.00" y7 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.74" z7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "3.45" x8 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "12.78" y8 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "41.24" z8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "14.26" x9 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "17.87" y9 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "10.74" z9 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.43" x10 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "3.46" y10 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "18.60" z10 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "22.80" x11 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "12.39" y11 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.47" z11 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "7.58" x12 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "1.98" y12 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "29.87" z12 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "25.00" x13 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "11.87" y13 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "4.40" z13 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.00" x14 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.00" y14 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "58.20" z14 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.66" x15 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "20.00" y15 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "4.73" z15 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "5.22" x16 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "14.66" y16 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "40.36" z16 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.25" x17 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "19.57" y17 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "6.43" z17 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "25.00" x18 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "3.87" y18 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "8.74" z18 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.13" x19 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "10.79" y19 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "13.71" z19 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "22.23" x20 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "6.21" y20 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "10.25" z20 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "11.52" x21 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "8.53" y21 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "15.74" z21 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.20" x22 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.0" y22 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "21.60" z22 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "7.54" x23 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "10.69" y23 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "19.31" z23 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.32" x24 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "13.78" y24 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "12.11" z24 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "2.14" x25 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "15.03" y25 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "53.10" z25 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.51" x26 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "8.37" y26 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "49.43" z26 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "22.69" x27 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "19.63" y27 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "3.25" z27 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "5.47" x28 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "17.13" y28 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "28.63" z28 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "21.67" x29 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "14.36" y29 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.52" z29 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "3.31" x30 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.33" y30 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "44.08" z30 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01safGen)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01safDefaultSolve| (|htPage| |ifail|)
+  (PROG (|m| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |m| '30)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01SAF - Interpolating functions, method of Renka and Cline, two variables")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")
+              (|text|
+               . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")
+              (|text|
+               . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")
+              (|text| . "\\htbitmap{dr}: ")
+              (|text| . "\\newline \\tab{2}")
+              (|bcStrings| (10 "11.16" |x1| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "1.24" |y1| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "22.15" |z1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.85" |x2| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "3.06" |y2| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "22.11" |z2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "19.85" |x3| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "10.72" |y3| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "7.97" |z3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "19.72" |x4| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "1.39" |y4| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "16.83" |z4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.91" |x5| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "7.74" |y5| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "15.30" |z5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.00" |x6| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "20.00" |y6| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "34.60" |z6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.87" |x7| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "20.00" |y7| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "5.74" |z7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "3.45" |x8| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "12.78" |y8| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "41.24" |z8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "14.26" |x9| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "17.87" |y9| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "10.74" |z9| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.43" |x10| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "3.46" |y10| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "18.60" |z10| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "22.80" |x11| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "12.39" |y11| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "5.47" |z11| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "7.58" |x12| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "1.98" |y12| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "29.87" |z12| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "25.00" |x13| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "11.87" |y13| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "4.40" |z13| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.00" |x14| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.00" |y14| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "58.20" |z14| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.66" |x15| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "20.00" |y15| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "4.73" |z15| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "5.22" |x16| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "14.66" |y16| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "40.36" |z16| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.25" |x17| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "19.57" |y17| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "6.43" |z17| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "25.00" |x18| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "3.87" |y18| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "8.74" |z18| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.13" |x19| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "10.79" |y19| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "13.71" |z19| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "22.23" |x20| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "6.21" |y20| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "10.25" |z20| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "11.52" |x21| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "8.53" |y21| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "15.74" |z21| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.20" |x22| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "0.0" |y22| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "21.60" |z22| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "7.54" |x23| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "10.69" |y23| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "19.31" |z23| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.32" |x24| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "13.78" |y24| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "12.11" |z24| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "2.14" |x25| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "15.03" |y25| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "53.10" |z25| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.51" |x26| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "8.37" |y26| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "49.43" |z26| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "22.69" |x27| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "19.63" |y27| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "3.25" |z27| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "5.47" |x28| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "17.13" |y28| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "28.63" |z28| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "21.67" |x29| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "14.36" |y29| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "5.52" |z29| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "3.31" |x30| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.33" |y30| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "44.08" |z30| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01safGen|)
+        (|htpSetProperty| |page| '|m| |m|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01safGen htPage ==
+;  m := htpProperty(htPage,'m)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  y := alist
+;  while y repeat
+;    right := STRCONC ((first y).1," ")
+;    y := rest y
+;    mid :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    left :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    xlist := [left,:xlist]
+;    flist := [mid,:flist]
+;    dlist := [right,:dlist]
+;  xstring := bcwords2liststring xlist
+;  fstring := bcwords2liststring flist
+;  dstring := bcwords2liststring dlist
+;  prefix := STRCONC('"e01saf(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[")
+;  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE ifail,")")
+;  linkGen prefix
+
+(DEFUN |e01safGen| (|htPage|)
+  (PROG (|m| |ifail| |alist| |right| |mid| |left| |y| |xlist| |flist|
+             |dlist| |xstring| |fstring| |dstring| |prefix|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |m| (|htpProperty| |htPage| '|m|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |y| |alist|)
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |mid|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |xlist| (CONS |left| |xlist|))
+                            (SPADLET |flist| (CONS |mid| |flist|))
+                            (SPADLET |dlist| (CONS |right| |dlist|))))))
+             (SPADLET |xstring| (|bcwords2liststring| |xlist|))
+             (SPADLET |fstring| (|bcwords2liststring| |flist|))
+             (SPADLET |dstring| (|bcwords2liststring| |dlist|))
+             (SPADLET |prefix|
+                      (STRCONC (MAKESTRING "e01saf(") (STRINGIMAGE |m|)
+                               '|,[| |xstring| '|],[| |fstring| '|],[|))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| |dstring| '|],|
+                               (STRINGIMAGE |ifail|) '|)|))
+             (|linkGen| |prefix|))))))
+
+;e01sef() ==
+;  htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables", nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXe01sef} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01sef| '|NagInterpolationPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Determines a \htbitmap{c1} piecewise polynomial ")
+;    (text . "surface F(x,y) interpolating the set of scattered points ")
+;    (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ")
+;    (text . "for r = 1,2,...,m, using a modified Shepard method. ")
+;    (text . "The interpolant can be evaluated using E01SFF. ")
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{}\tab{2} \newline ")
+;    (text . "Number of data points {\em m} \htbitmap{great=} 3:")
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (6 30 m PI))
+;    (text . "\blankline ")
+;    (text . "Note: RNW, RNQ, NW, NQ set to zero for default value. ")
+;    (text . "On exit, they contain the value actually used. ")
+;    (text . "\blankline ")
+;    (text . "\newline ")
+;    (text . "\menuitemstyle{}\tab{2}")
+;    (text . "\newline {\em RNW} weight locality radius: ")
+;    (text . "\tab{32} \menuitemstyle{}\tab{34}")
+;    (text . "{\em RNQ} point locality radius:")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (6 "0.0" rnw F))
+;    (text . "\tab{34} ")
+;    (bcStrings (6 "0.0" rnq F))
+;    (text . "\blankline ")
+;    (text . "\newline ")
+;    (text . "\menuitemstyle{}\tab{2} \newline")
+;    (text . "{\em NW} average number of points within RNW of each point: ")
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (6 0 nw I))
+;    (text . "\blankline ")
+;    (text . "\newline ")
+;    (text . "\menuitemstyle{}\tab{2} \newline")
+;    (text . "{\em NQ} average number of points within RNQ of each point: ")
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (6 0  nq I))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\menuitemstyle{} \tab{2} ")
+;    (text . "\newline \tab{2} ")
+;    (text . "Ifail value: ")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'e01sefSolve)
+;  htShowPage()
+
+(DEFUN |e01sef| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING
+            "E01SEF - Interpolating functions, modified Shepard's method, two variables")
+        NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXe01sef} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01sef| '|NagInterpolationPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Determines a \\htbitmap{c1} piecewise polynomial ")
+          (|text|
+           . "surface F(x,y) interpolating the set of scattered points ")
+          (|text|
+           . "(\\htbitmap{xr}, \\htbitmap{yr}, \\htbitmap{fqr}), ")
+          (|text|
+           . "for r = 1,2,...,m, using a modified Shepard method. ")
+          (|text| . "The interpolant can be evaluated using E01SFF. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\newline \\menuitemstyle{}\\tab{2} \\newline ")
+          (|text|
+           . "Number of data points {\\em m} \\htbitmap{great=} 3:")
+          (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 30 |m| PI))
+          (|text| . "\\blankline ")
+          (|text|
+           . "Note: RNW, RNQ, NW, NQ set to zero for default value. ")
+          (|text| . "On exit, they contain the value actually used. ")
+          (|text| . "\\blankline ") (|text| . "\\newline ")
+          (|text| . "\\menuitemstyle{}\\tab{2}")
+          (|text| . "\\newline {\\em RNW} weight locality radius: ")
+          (|text| . "\\tab{32} \\menuitemstyle{}\\tab{34}")
+          (|text| . "{\\em RNQ} point locality radius:")
+          (|text| . "\\newline\\tab{2} ")
+          (|bcStrings| (6 "0.0" |rnw| F)) (|text| . "\\tab{34} ")
+          (|bcStrings| (6 "0.0" |rnq| F)) (|text| . "\\blankline ")
+          (|text| . "\\newline ")
+          (|text| . "\\menuitemstyle{}\\tab{2} \\newline")
+          (|text|
+           . "{\\em NW} average number of points within RNW of each point: ")
+          (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 0 |nw| I))
+          (|text| . "\\blankline ") (|text| . "\\newline ")
+          (|text| . "\\menuitemstyle{}\\tab{2} \\newline")
+          (|text|
+           . "{\\em NQ} average number of points within RNQ of each point: ")
+          (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 0 |nq| I))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text| . "\\menuitemstyle{} \\tab{2} ")
+          (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|e01sefSolve|)
+    (|htShowPage|)))
+
+;e01sefSolve htPage ==
+;  m :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm)
+;    objValUnwrap htpLabelSpadValue(htPage, 'm)
+;  nw :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nw)
+;    objValUnwrap htpLabelSpadValue(htPage, 'nw)
+;  nq :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nq)
+;    objValUnwrap htpLabelSpadValue(htPage, 'nq)
+;  rnq := htpLabelInputString(htPage,'rnq)
+;  rnw := htpLabelInputString(htPage,'rnw)
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  m = '30 => e01sefDefaultSolve(htPage,rnq,rnw,nq,nw,ifail)
+;  labelList :=
+;    "append"/[f(i) for i in 1..m] where f(i) ==
+;      prefix := ('"\newline \tab{2} ")
+;      middle := ('"\tab{22} ")
+;      post   := ('" \tab{42} ")
+;      xnam := INTERN STRCONC ('"x",STRINGIMAGE i)
+;      ynam := INTERN STRCONC ('"y",STRINGIMAGE i)
+;      znam := INTERN STRCONC ('"z",STRINGIMAGE i)
+;      num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10)))
+;      [['text,:prefix],['bcStrings,[10, num, xnam, 'F]],
+;       ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]],
+;        ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain F (Float))
+;           (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage)
+;  htSay '"\menuitemstyle{}\tab{2} Values of \space{1} "
+;  htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} "
+;  htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}"
+;  htSay '"\menuitemstyle{}\tab{42} Values of \space{1} "
+;  htSay '"\htbitmap{dr}: "
+;  htMakePage equationPart
+;  htSay '"\blankline "
+;  htMakeDoneButton('"Continue",'e01sefGen)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'rnq,rnq)
+;  htpSetProperty(page,'rnw,rnw)
+;  htpSetProperty(page,'nq,nq)
+;  htpSetProperty(page,'nw,nw)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01sefSolve,f| (|i|)
+  (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} "))
+           (SPADLET |middle| (MAKESTRING "\\tab{22} "))
+           (SPADLET |post| (MAKESTRING " \\tab{42} "))
+           (SPADLET |xnam|
+                    (INTERN (STRCONC (MAKESTRING "x")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |ynam|
+                    (INTERN (STRCONC (MAKESTRING "y")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |znam|
+                    (INTERN (STRCONC (MAKESTRING "z")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |num|
+                    (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10))
+                                     (INTERN "." "BOOT")
+                                     (STRINGIMAGE (REM |i| 10)))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS |num|
+                                      (CONS |xnam| (CONS 'F NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |middle|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |ynam| (CONS 'F NIL))))
+                                      NIL))
+                                    (CONS (CONS '|text| |post|)
+                                     (CONS
+                                      (CONS '|bcStrings|
+                                       (CONS
+                                        (CONS 10
+                                         (CONS 0.0
+                                          (CONS |znam| (CONS 'F NIL))))
+                                        NIL))
+                                      NIL)))))))))))
+
+(DEFUN |e01sefSolve| (|htPage|)
+  (PROG (|m| |nw| |nq| |rnq| |rnw| |error| |ifail| |labelList|
+             |equationPart| |page|)
+  (declare (special |$EmptyMode| |$bcParseOnly|))
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |m|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|m|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|m|)))))
+             (SPADLET |nw|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|nw|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|nw|)))))
+             (SPADLET |nq|
+                      (COND
+                        (|$bcParseOnly|
+                            (PARSE-INTEGER
+                                (|htpLabelInputString| |htPage| '|nq|)))
+                        ('T
+                         (|objValUnwrap|
+                             (|htpLabelSpadValue| |htPage| '|nq|)))))
+             (SPADLET |rnq| (|htpLabelInputString| |htPage| '|rnq|))
+             (SPADLET |rnw| (|htpLabelInputString| |htPage| '|rnw|))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((BOOT-EQUAL |m| '30)
+                (|e01sefDefaultSolve| |htPage| |rnq| |rnw| |nq| |nw|
+                    |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166783)
+                           (SPADLET G166783 NIL)
+                           (RETURN
+                             (DO ((|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| |m|) G166783)
+                               (SEQ (EXIT
+                                     (SETQ G166783
+                                      (APPEND G166783
+                                       (|e01sefSolve,f| |i|)))))))))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| F (|Float|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|E01SEF - Interpolating functions, modified Shepard's method, two variables|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+                            "\\menuitemstyle{}\\tab{2} Values of \\space{1} "))
+                (|htSay| (MAKESTRING
+                      "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} "))
+                (|htSay| (MAKESTRING
+                             "Values of \\space{1} \\htbitmap{fr}: \\tab{40}"))
+                (|htSay| (MAKESTRING
+                           "\\menuitemstyle{}\\tab{42} Values of \\space{1} "))
+                (|htSay| (MAKESTRING "\\htbitmap{dr}: "))
+                (|htMakePage| |equationPart|)
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|e01sefGen|)
+                (|htpSetProperty| |page| '|m| |m|)
+                (|htpSetProperty| |page| '|rnq| |rnq|)
+                (|htpSetProperty| |page| '|rnw| |rnw|)
+                (|htpSetProperty| |page| '|nq| |nq|)
+                (|htpSetProperty| |page| '|nw| |nw|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;e01sefDefaultSolve  (htPage,rnq,rnw,nq,nw,ifail) ==
+;  m := '30
+;  page := htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\menuitemstyle{}\tab{2} Values of \space{1} ")
+;    (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ")
+;    (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ")
+;    (text . "\menuitemstyle{}\tab{42} Values of \space{1} ")
+;    (text . "\htbitmap{dr}: ")
+;    (text . "\newline \tab{2}")
+;    (bcStrings (10 "11.16" x1 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "1.24" y1 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "22.15" z1 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.85" x2 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "3.06" y2 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "22.11" z2 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "19.85" x3 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "10.72" y3 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "7.97" z3 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "19.72" x4 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "1.39" y4 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "16.83" z4 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.91" x5 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "7.74" y5 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "15.30" z5 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.00" x6 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "20.00" y6 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "34.60" z6 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "20.87" x7 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "20.00" y7 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.74" z7 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "3.45" x8 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "12.78" y8 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "41.24" z8 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "14.26" x9 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "17.87" y9 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "10.74" z9 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.43" x10 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "3.46" y10 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "18.60" z10 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "22.80" x11 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "12.39" y11 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.47" z11 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "7.58" x12 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "1.98" y12 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "29.87" z12 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "25.00" x13 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "11.87" y13 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "4.40" z13 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.00" x14 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.00" y14 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "58.20" z14 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "9.66" x15 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "20.00" y15 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "4.73" z15 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "5.22" x16 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "14.66" y16 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "40.36" z16 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.25" x17 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "19.57" y17 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "6.43" z17 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "25.00" x18 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "3.87" y18 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "8.74" z18 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "12.13" x19 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "10.79" y19 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "13.71" z19 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "22.23" x20 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "6.21" y20 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "10.25" z20 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "11.52" x21 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "8.53" y21 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "15.74" z21 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "15.20" x22 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.0" y22 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "21.60" z22 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "7.54" x23 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "10.69" y23 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "19.31" z23 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "17.32" x24 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "13.78" y24 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "12.11" z24 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "2.14" x25 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "15.03" y25 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "53.10" z25 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "0.51" x26 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "8.37" y26 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "49.43" z26 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "22.69" x27 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "19.63" y27 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "3.25" z27 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "5.47" x28 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "17.13" y28 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "28.63" z28 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "21.67" x29 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "14.36" y29 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "5.52" z29 F))
+;    (text . "\newline \tab{2} ")
+;    (bcStrings (10 "3.31" x30 F))
+;    (text . "\tab{22} ")
+;    (bcStrings (10 "0.33" y30 F))
+;    (text . "\tab{42} ")
+;    (bcStrings (10 "44.08" z30 F))
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'e01sefGen)
+;  htpSetProperty(page,'m,m)
+;  htpSetProperty(page,'rnq,rnq)
+;  htpSetProperty(page,'rnw,rnw)
+;  htpSetProperty(page,'nq,nq)
+;  htpSetProperty(page,'nw,nw)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |e01sefDefaultSolve| (|htPage| |rnq| |rnw| |nq| |nw| |ifail|)
+  (PROG (|m| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |m| '30)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "E01SEF - Interpolating functions, modified Shepard's method, two variables")
+                     (|htpPropertyList| |htPage|)))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text|
+               . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")
+              (|text|
+               . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")
+              (|text|
+               . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ")
+              (|text|
+               . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")
+              (|text| . "\\htbitmap{dr}: ")
+              (|text| . "\\newline \\tab{2}")
+              (|bcStrings| (10 "11.16" |x1| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "1.24" |y1| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "22.15" |z1| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.85" |x2| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "3.06" |y2| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "22.11" |z2| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "19.85" |x3| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "10.72" |y3| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "7.97" |z3| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "19.72" |x4| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "1.39" |y4| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "16.83" |z4| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.91" |x5| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "7.74" |y5| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "15.30" |z5| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.00" |x6| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "20.00" |y6| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "34.60" |z6| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "20.87" |x7| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "20.00" |y7| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "5.74" |z7| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "3.45" |x8| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "12.78" |y8| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "41.24" |z8| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "14.26" |x9| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "17.87" |y9| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "10.74" |z9| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.43" |x10| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "3.46" |y10| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "18.60" |z10| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "22.80" |x11| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "12.39" |y11| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "5.47" |z11| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "7.58" |x12| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "1.98" |y12| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "29.87" |z12| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "25.00" |x13| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "11.87" |y13| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "4.40" |z13| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.00" |x14| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.00" |y14| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "58.20" |z14| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "9.66" |x15| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "20.00" |y15| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "4.73" |z15| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "5.22" |x16| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "14.66" |y16| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "40.36" |z16| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.25" |x17| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "19.57" |y17| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "6.43" |z17| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "25.00" |x18| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "3.87" |y18| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "8.74" |z18| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "12.13" |x19| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "10.79" |y19| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "13.71" |z19| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "22.23" |x20| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "6.21" |y20| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "10.25" |z20| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "11.52" |x21| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "8.53" |y21| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "15.74" |z21| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "15.20" |x22| F))
+              (|text| . "\\tab{22} ") (|bcStrings| (10 "0.0" |y22| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "21.60" |z22| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "7.54" |x23| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "10.69" |y23| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "19.31" |z23| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "17.32" |x24| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "13.78" |y24| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "12.11" |z24| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "2.14" |x25| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "15.03" |y25| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "53.10" |z25| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "0.51" |x26| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "8.37" |y26| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "49.43" |z26| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "22.69" |x27| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "19.63" |y27| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "3.25" |z27| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "5.47" |x28| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "17.13" |y28| F))
+              (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "28.63" |z28| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "21.67" |x29| F))
+              (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "14.36" |y29| F))
+              (|text| . "\\tab{42} ") (|bcStrings| (10 "5.52" |z29| F))
+              (|text| . "\\newline \\tab{2} ")
+              (|bcStrings| (10 "3.31" |x30| F)) (|text| . "\\tab{22} ")
+              (|bcStrings| (10 "0.33" |y30| F)) (|text| . "\\tab{42} ")
+              (|bcStrings| (10 "44.08" |z30| F))
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|e01sefGen|)
+        (|htpSetProperty| |page| '|m| |m|)
+        (|htpSetProperty| |page| '|rnq| |rnq|)
+        (|htpSetProperty| |page| '|rnw| |rnw|)
+        (|htpSetProperty| |page| '|nq| |nq|)
+        (|htpSetProperty| |page| '|nw| |nw|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;e01sefGen htPage ==
+;  m := htpProperty(htPage,'m)
+;  rnw := htpProperty(htPage,'rnw)
+;  rnq := htpProperty(htPage,'rnq)
+;  nw := htpProperty(htPage,'nw)
+;  nq := htpProperty(htPage,'nq)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  y := alist
+;  while y repeat
+;    right := STRCONC ((first y).1," ")
+;    y := rest y
+;    mid :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    left :=  STRCONC ((first y).1," ")
+;    y := rest y
+;    xlist := [left,:xlist]
+;    flist := [mid,:flist]
+;    dlist := [right,:dlist]
+;  xstring := bcwords2liststring xlist
+;  fstring := bcwords2liststring flist
+;  dstring := bcwords2liststring dlist
+;  prefix := STRCONC('"e01sef(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[")
+;  prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE nw,", ",STRINGIMAGE nq)
+;  prefix := STRCONC(prefix,", ",rnw,", ",rnq,", ",STRINGIMAGE ifail,")")
+;  linkGen prefix
+
+(DEFUN |e01sefGen| (|htPage|)
+  (PROG (|m| |rnw| |rnq| |nw| |nq| |ifail| |alist| |right| |mid| |left|
+             |y| |xlist| |flist| |dlist| |xstring| |fstring| |dstring|
+             |prefix|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |m| (|htpProperty| |htPage| '|m|))
+             (SPADLET |rnw| (|htpProperty| |htPage| '|rnw|))
+             (SPADLET |rnq| (|htpProperty| |htPage| '|rnq|))
+             (SPADLET |nw| (|htpProperty| |htPage| '|nw|))
+             (SPADLET |nq| (|htpProperty| |htPage| '|nq|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |y| |alist|)
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |right|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |mid|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |xlist| (CONS |left| |xlist|))
+                            (SPADLET |flist| (CONS |mid| |flist|))
+                            (SPADLET |dlist| (CONS |right| |dlist|))))))
+             (SPADLET |xstring| (|bcwords2liststring| |xlist|))
+             (SPADLET |fstring| (|bcwords2liststring| |flist|))
+             (SPADLET |dstring| (|bcwords2liststring| |dlist|))
+             (SPADLET |prefix|
+                      (STRCONC (MAKESTRING "e01sef(") (STRINGIMAGE |m|)
+                               '|,[| |xstring| '|],[| |fstring| '|],[|))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| |dstring| '|],|
+                               (STRINGIMAGE |nw|) '|, |
+                               (STRINGIMAGE |nq|)))
+             (SPADLET |prefix|
+                      (STRCONC |prefix| '|, | |rnw| '|, | |rnq| '|, |
+                               (STRINGIMAGE |ifail|) '|)|))
+             (|linkGen| |prefix|))))))
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
