diff --git a/changelog b/changelog
index a92ed95..077ceb3 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20090830 tpd src/axiom-website/patches.html 20090830.05.tpd.patch
+20090830 tpd src/interp/Makefile move nag-c02.boot to nag-c02.lisp
+20090830 tpd src/interp/nag-c02.lisp added, rewritten from nag-c02.boot
+20090830 tpd src/interp/nag-c02.boot removed, rewritten to nag-c02.lisp
 20090830 tpd src/axiom-website/patches.html 20090830.04.tpd.patch
 20090830 tpd src/interp/Makefile move as.boot to as.lisp
 20090830 tpd src/interp/as.lisp added, rewritten from as.boot
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 40c43dc..4b49cf9 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1946,5 +1946,7 @@ src/interp/bc-matrix rewrite from boot to lisp<br/>
 src/interp/hashcode rewrite from boot to lisp<br/>
 <a href="patches/20090830.04.tpd.patch">20090830.04.tpd.patch</a>
 src/interp/as.lisp rewrite from boot to lisp<br/>
+<a href="patches/20090830.05.tpd.patch">20090830.05.tpd.patch</a>
+src/interp/nag-c02.lisp rewrite from boot to lisp<br/>
  </body>
 </html>
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 6622785..5a2a769 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -1345,48 +1345,39 @@ ${MID}/c-util.lisp: ${IN}/c-util.lisp.pamphlet
 @
 <<c-util.lisp (OUT from IN)>>=
 ${OUT}/c-util.lisp: ${IN}/c-util.lisp.pamphlet
-	@ echo 221 making ${OUT}/c-util.lisp from ${IN}/c-util.boot.pamphlet
+	@ echo 221 making ${OUT}/c-util.lisp from ${IN}/c-util.lisp.pamphlet
 	@ rm -f ${OUT}/c-util.${O}
 	@( cd ${OUT} ; \
 	   ${TANGLE} ${IN}/c-util.lisp.pamphlet >c-util.lisp )
 
 @
 
-\subsection{nag-c02.boot \cite{43}}
+\subsection{nag-c02.lisp}
 <<nag-c02.o (AUTO from OUT)>>=
 ${AUTO}/nag-c02.${O}: ${OUT}/nag-c02.${O}
-	@ echo 150 making${AUTO}/nag-c02.${O} from ${OUT}/nag-c02.${O}
+	@ echo 154 making ${AUTO}/nag-c02.${O} from ${OUT}/nag-c02.${O}
 	@ cp ${OUT}/nag-c02.${O} ${AUTO}
 
 @
 <<nag-c02.o (OUT from MID)>>=
-${OUT}/nag-c02.${O}: ${MID}/nag-c02.clisp
-	@ echo 151 making ${OUT}/nag-c02.${O} from ${MID}/nag-c02.clisp
-	@ (cd ${MID} ; \
+${OUT}/nag-c02.${O}: ${MID}/nag-c02.lisp
+	@ echo 136 making ${OUT}/nag-c02.${O} from ${MID}/nag-c02.lisp
+	@ ( cd ${MID} ; \
 	  if [ -z "${NOISE}" ] ; then \
-           echo '(progn  (compile-file "${MID}/nag-c02.clisp"' \
+	   echo '(progn  (compile-file "${MID}/nag-c02.lisp"' \
              ':output-file "${OUT}/nag-c02.${O}") (${BYE}))' | ${DEPSYS} ; \
 	  else \
-           echo '(progn  (compile-file "${MID}/nag-c02.clisp"' \
+	   echo '(progn  (compile-file "${MID}/nag-c02.lisp"' \
              ':output-file "${OUT}/nag-c02.${O}") (${BYE}))' | ${DEPSYS} \
              >${TMP}/trace ; \
 	  fi )
 
 @
-<<nag-c02.clisp (MID from IN)>>=
-${MID}/nag-c02.clisp: ${IN}/nag-c02.boot.pamphlet
-	@ echo 152 making ${MID}/nag-c02.clisp from ${IN}/nag-c02.boot.pamphlet
+<<nag-c02.lisp (MID from IN)>>=
+${MID}/nag-c02.lisp: ${IN}/nag-c02.lisp.pamphlet
+	@ echo 137 making ${MID}/nag-c02.lisp from ${IN}/nag-c02.lisp.pamphlet
 	@ (cd ${MID} ; \
-	  ${TANGLE} ${IN}/nag-c02.boot.pamphlet >nag-c02.boot ; \
-	  if [ -z "${NOISE}" ] ; then \
-	    echo '(progn (boot::reroot "${SPAD}")' \
-             '(boottran::boottocl "nag-c02.boot") (${BYE}))' | ${DEPSYS} ; \
-	  else \
-	    echo '(progn (boot::reroot "${SPAD}")' \
-             '(boottran::boottocl "nag-c02.boot") (${BYE}))' | ${DEPSYS} \
-             >${TMP}/trace ; \
-	  fi ; \
-	  rm nag-c02.boot )
+	   ${TANGLE} ${IN}/nag-c02.lisp.pamphlet >nag-c02.lisp )
 
 @
 
@@ -4718,7 +4709,7 @@ clean:
 
 <<nag-c02.o (AUTO from OUT)>>
 <<nag-c02.o (OUT from MID)>>
-<<nag-c02.clisp (MID from IN)>>
+<<nag-c02.lisp (MID from IN)>>
 
 <<nag-c05.o (AUTO from OUT)>>
 <<nag-c05.o (OUT from MID)>>
diff --git a/src/interp/nag-c02.boot.pamphlet b/src/interp/nag-c02.boot.pamphlet
deleted file mode 100644
index ed5821e..0000000
--- a/src/interp/nag-c02.boot.pamphlet
+++ /dev/null
@@ -1,316 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp nag-c02.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>>
-
-c02aff() ==
-  htInitPage('"C02AFF - All Zeros of a Complex Polynomial",nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXc02aff} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c02aff| '|NagPolynomialRootsPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Finds all the roots of the complex polynomial equation ")
-    (text . "\htbitmap{c02aff}, using a variant of Laguerre's method. ")
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{} ")
-    (text . "\tab{2} Enter the degree {\em n} of the polynomial:")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 5 n PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\newline \menuitemstyle{} \tab{2} Scale value:")
-    (radioButtons scale
-	("" "  True" true)
-        ("" "  False" false))
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{} \tab{2} Ifail value:")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'c02affSolve)
-  htShowPage()
-
-c02affSolve htPage ==
-  n :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
-    objValUnwrap htpLabelSpadValue(htPage, 'n)
-  logical := htpButtonValue(htPage,'scale)
-  scale := 
-    logical = 'true => '"true"
-    '"false"
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  n = '5 => c02affDefaultSolve(htPage,scale,ifail)
-  labelList :=
-    "append"/[f(i,n) for i in 1..(n+1)] where f(i,n) ==
-      prefix := ('"\newline z**")
-      prefix := STRCONC(prefix,STRINGIMAGE (n-i+1),'"\space{1}") 
-      post   := ('"\tab{30} ")
-      post   := STRCONC(post,'"\space{1}")
-      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
-      inam := INTERN STRCONC ('"i",STRINGIMAGE i)
-      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]], 
-       ['text,:post],['bcStrings,[10, 0.0, inam, 'P]]]
-  equationPart := [
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("C02AFF - All Zeros of a Complex Polynomial", htpPropertyList htPage)
-  htSay '"\menuitemstyle{} \tab{2} Enter the coefficients of the polynomial: "
-  htSay '"\blankline "
-  htSay '"Real parts \tab{30} Imaginary parts "
-  htSay '"\newline "
-  htMakePage equationPart
-  htMakeDoneButton('"Continue",'c02affGen)
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'scale,scale)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-c02affDefaultSolve (htPage, scale, ifail) ==
-  n := '5
-  page := htInitPage('"C02AFF - All Zeros of a Complex Polynomial",nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\newline \menuitemstyle{} \tab{2} ")
-    (text . "Enter the coefficients of the polynomial: ")
-    (text . "\blankline ")
-    (text . "Real parts \tab{30} Imaginary parts ")
-    (text . "\newline z**5 \space{1} ")
-    (bcStrings (10 "5.0" r1 F))
-    (text . "\tab{30} ")
-    (text . "\space{1} ")
-    (bcStrings (10 "6.0" i1 F))
-    (text . "\newline ")
-    (text . "z**4 \space{1} ")
-    (bcStrings (10 "30.0" r2 F))
-    (text . "\tab{30} ")
-    (text . "\space{1} ")
-    (bcStrings (10 "20.0" i2 F))
-    (text . "\newline ")
-    (text . "z**3 \space{1} ")
-    (bcStrings (10 "-0.2" r3 F))
-    (text . "\tab{30} ")
-    (text . "\space{1} ")
-    (bcStrings (10 "-6.0" i3 F))
-    (text . "\newline ")
-    (text . "z**2 \space{1} ")
-    (bcStrings (10 "50.0" r4 F))
-    (text . "\tab{30} ")
-    (text . "\space{1} ")
-    (bcStrings (10 "100000.0" i4 F))
-    (text . "\newline ")
-    (text . "z**1 \space{1} ")
-    (bcStrings (10 "-2.0" r5 F))
-    (text . "\tab{30} ")
-    (text . "\space{1} ")
-    (bcStrings (10 "40.0" i5 F))
-    (text . "\newline ")
-    (text . "z**0 \space{1} ")
-    (bcStrings (10 "10.0" r6 F))
-    (text . "\tab{30} ")
-    (text . "\space{1} ")
-    (bcStrings (10 "1.0" i6 F))
-    (text . "\newline ")
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'c02affGen)    	
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'scale,scale)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-c02affGen htPage ==
-  n := htpProperty(htPage,'n)
-  scale := htpProperty(htPage,'scale)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  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 ('"c02aff([",realstring,",",imagstring,"],",STRINGIMAGE n,",",scale,",",STRINGIMAGE ifail,")")
-
-c02agf() ==
-  htInitPage('"C02AGF - All Zeros of a Real Polynomial",nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain PI (PositiveInteger)))
-    (text . "\windowlink{Manual Page}{manpageXXc02agf} for this routine ")
-    (text . "\newline ")
-    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c02agf| '|NagPolynomialRootsPackage|)} for this routine")
-    (text . "\newline \horizontalline ")
-    (text . "Finds all the roots of the real polynomial equation ")
-    (text . "\htbitmap{c02aff}, using a variant of Laguerre's method. ")
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{} ")
-    (text . "\tab{2} Enter the degree {\em n} of the polynomial:")
-    (text . "\newline\tab{2} ")
-    (bcStrings (5 5 n PI))
-    (text . "\blankline")
-    (text . "\newline")
-    (text . "\newline \menuitemstyle{} \tab{2} Scale value:")
-    (radioButtons scale
-	("" "  True" true)
-        ("" "  False" false))
-    (text . "\blankline ")
-    (text . "\newline \menuitemstyle{} \tab{2} Ifail value:")
-    (radioButtons ifail
-        ("" " -1, Print error messages" minusOne)
-        ("" "  1, Suppress error messages" one)))
-  htMakeDoneButton('"Continue", 'c02agfSolve)
-  htShowPage()
-
-c02agfSolve htPage ==
-  n :=
-    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
-    objValUnwrap htpLabelSpadValue(htPage, 'n)
-  logical := htpButtonValue(htPage,'scale)
-  scale := 
-    logical = 'true => '"true"
-    '"false"
-  error := htpButtonValue(htPage,'ifail)
-  ifail :=
-    error = 'one => '1
-    '-1
-  n = '5 => c02agfDefaultSolve(htPage,scale,ifail)
-  labelList :=
-    "append"/[f(i,n) for i in 1..(n+1)] where f(i,n) ==
-      prefix := ('"\newline z**")
-      prefix := STRCONC(prefix,STRINGIMAGE (n-i+1),'"\space{1}") 
-      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
-      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]]]
-  equationPart := [ 
-     '(domainConditions 
-        (isDomain P (Polynomial $EmptyMode))
-         (isDomain S (String))
-          (isDomain PI (PositiveInteger))),
-	    :labelList]
-  page := htInitPage("C02AGF - All Zeros of a Real Polynomial", htpPropertyList htPage)
-  htSay '"\menuitemstyle{} \tab{2} "
-  htSay '"Enter the coefficients of the polynomial: "
-  htSay '"\newline "
-  htMakePage equationPart
-  htMakeDoneButton('"Continue",'c02agfGen)
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'scale,scale)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()  
-
-
-c02agfDefaultSolve (htPage, scale, ifail) ==
-  n := '5
-  page := htInitPage('"C02AGF - All Zeros of a Real Polynomial",nil)
-  htMakePage '(
-    (domainConditions 
-       (isDomain F (Float)))
-    (text . "\newline \menuitemstyle{} \tab{2} ")
-    (text . "Enter the coefficients of the polynomial: ")
-    (text . "\newline ")
-    (text . "z**5 \space{1} ")
-    (bcStrings (10 "1.0" r1 F))
-    (text . "\newline ")
-    (text . "z**4 \space{1} ")
-    (bcStrings (10 "2.0" r2 F))
-    (text . "\newline ")
-    (text . "z**3 \space{1} ")
-    (bcStrings (10 "3.0" r3 F))
-    (text . "\newline ")
-    (text . "z**2 \space{1} ")
-    (bcStrings (10 "4.0" r4 F))
-    (text . "\newline ")
-    (text . "z**1 \space{1} ")
-    (bcStrings (10 "5.0" r5 F))
-    (text . "\newline ")
-    (text . "z**0 \space{1} ")
-    (bcStrings (10 "6.0" r6 F))
-    (text . "\newline ")
-    (text . "\blankline"))
-  htMakeDoneButton('"Continue",'c02agfGen)    	
-  htpSetProperty(page,'n,n)
-  htpSetProperty(page,'scale,scale)
-  htpSetProperty(page,'ifail,ifail)
-  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
-  htShowPage()
-
-
-c02agfGen htPage ==
-  n := htpProperty(htPage,'n)
-  scale := htpProperty(htPage,'scale)
-  ifail := htpProperty(htPage,'ifail)
-  alist := htpInputAreaAlist htPage
-  y := alist
-  while y repeat
-    left := STRCONC((first y).1," ")
-    y := rest y
-    reallist := [left,:reallist]
-  realstring := bcwords2liststring reallist
-  linkGen STRCONC ('"c02agf([",realstring,"],",STRINGIMAGE n,",",scale,",",STRINGIMAGE ifail,")")
-
-
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/nag-c02.lisp.pamphlet b/src/interp/nag-c02.lisp.pamphlet
new file mode 100644
index 0000000..e358fea
--- /dev/null
+++ b/src/interp/nag-c02.lisp.pamphlet
@@ -0,0 +1,663 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/interp nag-c02.lisp}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+(IN-PACKAGE "BOOT" )
+
+;c02aff() ==
+;  htInitPage('"C02AFF - All Zeros of a Complex Polynomial",nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXc02aff} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c02aff| '|NagPolynomialRootsPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Finds all the roots of the complex polynomial equation ")
+;    (text . "\htbitmap{c02aff}, using a variant of Laguerre's method. ")
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{} ")
+;    (text . "\tab{2} Enter the degree {\em n} of the polynomial:")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 5 n PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\newline \menuitemstyle{} \tab{2} Scale value:")
+;    (radioButtons scale
+;        ("" "  True" true)
+;        ("" "  False" false))
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{} \tab{2} Ifail value:")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'c02affSolve)
+;  htShowPage()
+
+(DEFUN |c02aff| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING "C02AFF - All Zeros of a Complex Polynomial") NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXc02aff} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|c02aff| '|NagPolynomialRootsPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Finds all the roots of the complex polynomial equation ")
+          (|text|
+           . "\\htbitmap{c02aff}, using a variant of Laguerre's method. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\newline \\menuitemstyle{} ")
+          (|text|
+           . "\\tab{2} Enter the degree {\\em n} of the polynomial:")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 5 |n| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text|
+           . "\\newline \\menuitemstyle{} \\tab{2} Scale value:")
+          (|radioButtons| |scale| ("" "  True" |true|)
+              ("" "  False" |false|))
+          (|text| . "\\blankline ")
+          (|text|
+           . "\\newline \\menuitemstyle{} \\tab{2} Ifail value:")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|c02affSolve|)
+    (|htShowPage|)))
+
+;c02affSolve htPage ==
+;  n :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
+;    objValUnwrap htpLabelSpadValue(htPage, 'n)
+;  logical := htpButtonValue(htPage,'scale)
+;  scale :=
+;    logical = 'true => '"true"
+;    '"false"
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  n = '5 => c02affDefaultSolve(htPage,scale,ifail)
+;  labelList :=
+;    "append"/[f(i,n) for i in 1..(n+1)] where f(i,n) ==
+;      prefix := ('"\newline z**")
+;      prefix := STRCONC(prefix,STRINGIMAGE (n-i+1),'"\space{1}")
+;      post   := ('"\tab{30} ")
+;      post   := STRCONC(post,'"\space{1}")
+;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;      inam := INTERN STRCONC ('"i",STRINGIMAGE i)
+;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]],
+;       ['text,:post],['bcStrings,[10, 0.0, inam, 'P]]]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("C02AFF - All Zeros of a Complex Polynomial", htpPropertyList htPage)
+;  htSay '"\menuitemstyle{} \tab{2} Enter the coefficients of the polynomial: "
+;  htSay '"\blankline "
+;  htSay '"Real parts \tab{30} Imaginary parts "
+;  htSay '"\newline "
+;  htMakePage equationPart
+;  htMakeDoneButton('"Continue",'c02affGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'scale,scale)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |c02affSolve,f| (|i| |n|)
+  (PROG (|prefix| |post| |rnam| |inam|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline z**"))
+           (SPADLET |prefix|
+                    (STRCONC |prefix|
+                             (STRINGIMAGE
+                                 (PLUS (SPADDIFFERENCE |n| |i|) 1))
+                             (MAKESTRING "\\space{1}")))
+           (SPADLET |post| (MAKESTRING "\\tab{30} "))
+           (SPADLET |post| (STRCONC |post| (MAKESTRING "\\space{1}")))
+           (SPADLET |rnam|
+                    (INTERN (STRCONC (MAKESTRING "r")
+                                     (STRINGIMAGE |i|))))
+           (SPADLET |inam|
+                    (INTERN (STRCONC (MAKESTRING "i")
+                                     (STRINGIMAGE |i|))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS 0.0
+                                      (CONS |rnam| (CONS 'P NIL))))
+                                    NIL))
+                             (CONS (CONS '|text| |post|)
+                                   (CONS
+                                    (CONS '|bcStrings|
+                                     (CONS
+                                      (CONS 10
+                                       (CONS 0.0
+                                        (CONS |inam| (CONS 'P NIL))))
+                                      NIL))
+                                    NIL)))))))))
+
+(DEFUN |c02affSolve| (|htPage|)
+  (PROG (|n| |logical| |scale| |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 |logical| (|htpButtonValue| |htPage| '|scale|))
+             (SPADLET |scale|
+                      (COND
+                        ((BOOT-EQUAL |logical| '|true|)
+                         (MAKESTRING "true"))
+                        ('T (MAKESTRING "false"))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((BOOT-EQUAL |n| '5)
+                (|c02affDefaultSolve| |htPage| |scale| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166076)
+                           (SPADLET G166076 NIL)
+                           (RETURN
+                             (DO ((G166081 (PLUS |n| 1))
+                                  (|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| G166081) G166076)
+                               (SEQ (EXIT
+                                     (SETQ G166076
+                                      (APPEND G166076
+                                       (|c02affSolve,f| |i| |n|)))))))))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|C02AFF - All Zeros of a Complex Polynomial|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING
+     "\\menuitemstyle{} \\tab{2} Enter the coefficients of the polynomial: "))
+                (|htSay| (MAKESTRING "\\blankline "))
+                (|htSay| (MAKESTRING
+                             "Real parts \\tab{30} Imaginary parts "))
+                (|htSay| (MAKESTRING "\\newline "))
+                (|htMakePage| |equationPart|)
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|c02affGen|)
+                (|htpSetProperty| |page| '|n| |n|)
+                (|htpSetProperty| |page| '|scale| |scale|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;c02affDefaultSolve (htPage, scale, ifail) ==
+;  n := '5
+;  page := htInitPage('"C02AFF - All Zeros of a Complex Polynomial",nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\newline \menuitemstyle{} \tab{2} ")
+;    (text . "Enter the coefficients of the polynomial: ")
+;    (text . "\blankline ")
+;    (text . "Real parts \tab{30} Imaginary parts ")
+;    (text . "\newline z**5 \space{1} ")
+;    (bcStrings (10 "5.0" r1 F))
+;    (text . "\tab{30} ")
+;    (text . "\space{1} ")
+;    (bcStrings (10 "6.0" i1 F))
+;    (text . "\newline ")
+;    (text . "z**4 \space{1} ")
+;    (bcStrings (10 "30.0" r2 F))
+;    (text . "\tab{30} ")
+;    (text . "\space{1} ")
+;    (bcStrings (10 "20.0" i2 F))
+;    (text . "\newline ")
+;    (text . "z**3 \space{1} ")
+;    (bcStrings (10 "-0.2" r3 F))
+;    (text . "\tab{30} ")
+;    (text . "\space{1} ")
+;    (bcStrings (10 "-6.0" i3 F))
+;    (text . "\newline ")
+;    (text . "z**2 \space{1} ")
+;    (bcStrings (10 "50.0" r4 F))
+;    (text . "\tab{30} ")
+;    (text . "\space{1} ")
+;    (bcStrings (10 "100000.0" i4 F))
+;    (text . "\newline ")
+;    (text . "z**1 \space{1} ")
+;    (bcStrings (10 "-2.0" r5 F))
+;    (text . "\tab{30} ")
+;    (text . "\space{1} ")
+;    (bcStrings (10 "40.0" i5 F))
+;    (text . "\newline ")
+;    (text . "z**0 \space{1} ")
+;    (bcStrings (10 "10.0" r6 F))
+;    (text . "\tab{30} ")
+;    (text . "\space{1} ")
+;    (bcStrings (10 "1.0" i6 F))
+;    (text . "\newline ")
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'c02affGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'scale,scale)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |c02affDefaultSolve| (|htPage| |scale| |ifail|)
+  (PROG (|n| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |n| '5)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "C02AFF - All Zeros of a Complex Polynomial")
+                     NIL))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text| . "\\newline \\menuitemstyle{} \\tab{2} ")
+              (|text| . "Enter the coefficients of the polynomial: ")
+              (|text| . "\\blankline ")
+              (|text| . "Real parts \\tab{30} Imaginary parts ")
+              (|text| . "\\newline z**5 \\space{1} ")
+              (|bcStrings| (10 "5.0" |r1| F)) (|text| . "\\tab{30} ")
+              (|text| . "\\space{1} ") (|bcStrings| (10 "6.0" |i1| F))
+              (|text| . "\\newline ") (|text| . "z**4 \\space{1} ")
+              (|bcStrings| (10 "30.0" |r2| F)) (|text| . "\\tab{30} ")
+              (|text| . "\\space{1} ") (|bcStrings| (10 "20.0" |i2| F))
+              (|text| . "\\newline ") (|text| . "z**3 \\space{1} ")
+              (|bcStrings| (10 "-0.2" |r3| F)) (|text| . "\\tab{30} ")
+              (|text| . "\\space{1} ") (|bcStrings| (10 "-6.0" |i3| F))
+              (|text| . "\\newline ") (|text| . "z**2 \\space{1} ")
+              (|bcStrings| (10 "50.0" |r4| F)) (|text| . "\\tab{30} ")
+              (|text| . "\\space{1} ")
+              (|bcStrings| (10 "100000.0" |i4| F))
+              (|text| . "\\newline ") (|text| . "z**1 \\space{1} ")
+              (|bcStrings| (10 "-2.0" |r5| F)) (|text| . "\\tab{30} ")
+              (|text| . "\\space{1} ") (|bcStrings| (10 "40.0" |i5| F))
+              (|text| . "\\newline ") (|text| . "z**0 \\space{1} ")
+              (|bcStrings| (10 "10.0" |r6| F)) (|text| . "\\tab{30} ")
+              (|text| . "\\space{1} ") (|bcStrings| (10 "1.0" |i6| F))
+              (|text| . "\\newline ") (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|c02affGen|)
+        (|htpSetProperty| |page| '|n| |n|)
+        (|htpSetProperty| |page| '|scale| |scale|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;c02affGen htPage ==
+;  n := htpProperty(htPage,'n)
+;  scale := htpProperty(htPage,'scale)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  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 ('"c02aff([",realstring,",",imagstring,"],",STRINGIMAGE n,",",scale,",",STRINGIMAGE ifail,")")
+
+(DEFUN |c02affGen| (|htPage|)
+  (PROG (|n| |scale| |ifail| |alist| |right| |left| |y| |reallist|
+             |imaglist| |realstring| |imagstring|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n| (|htpProperty| |htPage| '|n|))
+             (SPADLET |scale| (|htpProperty| |htPage| '|scale|))
+             (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 |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 "c02aff([") |realstring| '|,|
+                          |imagstring| '|],| (STRINGIMAGE |n|) '|,|
+                          |scale| '|,| (STRINGIMAGE |ifail|) '|)|)))))))
+
+;c02agf() ==
+;  htInitPage('"C02AGF - All Zeros of a Real Polynomial",nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain PI (PositiveInteger)))
+;    (text . "\windowlink{Manual Page}{manpageXXc02agf} for this routine ")
+;    (text . "\newline ")
+;    (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c02agf| '|NagPolynomialRootsPackage|)} for this routine")
+;    (text . "\newline \horizontalline ")
+;    (text . "Finds all the roots of the real polynomial equation ")
+;    (text . "\htbitmap{c02aff}, using a variant of Laguerre's method. ")
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{} ")
+;    (text . "\tab{2} Enter the degree {\em n} of the polynomial:")
+;    (text . "\newline\tab{2} ")
+;    (bcStrings (5 5 n PI))
+;    (text . "\blankline")
+;    (text . "\newline")
+;    (text . "\newline \menuitemstyle{} \tab{2} Scale value:")
+;    (radioButtons scale
+;        ("" "  True" true)
+;        ("" "  False" false))
+;    (text . "\blankline ")
+;    (text . "\newline \menuitemstyle{} \tab{2} Ifail value:")
+;    (radioButtons ifail
+;        ("" " -1, Print error messages" minusOne)
+;        ("" "  1, Suppress error messages" one)))
+;  htMakeDoneButton('"Continue", 'c02agfSolve)
+;  htShowPage()
+
+(DEFUN |c02agf| ()
+  (PROGN
+    (|htInitPage|
+        (MAKESTRING "C02AGF - All Zeros of a Real Polynomial") NIL)
+    (|htMakePage|
+        '((|domainConditions| (|isDomain| PI (|PositiveInteger|)))
+          (|text|
+           . "\\windowlink{Manual Page}{manpageXXc02agf} for this routine ")
+          (|text| . "\\newline ")
+          (|text|
+           . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|c02agf| '|NagPolynomialRootsPackage|)} for this routine")
+          (|text| . "\\newline \\horizontalline ")
+          (|text|
+           . "Finds all the roots of the real polynomial equation ")
+          (|text|
+           . "\\htbitmap{c02aff}, using a variant of Laguerre's method. ")
+          (|text| . "\\blankline ")
+          (|text| . "\\newline \\menuitemstyle{} ")
+          (|text|
+           . "\\tab{2} Enter the degree {\\em n} of the polynomial:")
+          (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 5 |n| PI))
+          (|text| . "\\blankline") (|text| . "\\newline")
+          (|text|
+           . "\\newline \\menuitemstyle{} \\tab{2} Scale value:")
+          (|radioButtons| |scale| ("" "  True" |true|)
+              ("" "  False" |false|))
+          (|text| . "\\blankline ")
+          (|text|
+           . "\\newline \\menuitemstyle{} \\tab{2} Ifail value:")
+          (|radioButtons| |ifail|
+              ("" " -1, Print error messages" |minusOne|)
+              ("" "  1, Suppress error messages" |one|))))
+    (|htMakeDoneButton| (MAKESTRING "Continue") '|c02agfSolve|)
+    (|htShowPage|)))
+
+;c02agfSolve htPage ==
+;  n :=
+;    $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n)
+;    objValUnwrap htpLabelSpadValue(htPage, 'n)
+;  logical := htpButtonValue(htPage,'scale)
+;  scale :=
+;    logical = 'true => '"true"
+;    '"false"
+;  error := htpButtonValue(htPage,'ifail)
+;  ifail :=
+;    error = 'one => '1
+;    '-1
+;  n = '5 => c02agfDefaultSolve(htPage,scale,ifail)
+;  labelList :=
+;    "append"/[f(i,n) for i in 1..(n+1)] where f(i,n) ==
+;      prefix := ('"\newline z**")
+;      prefix := STRCONC(prefix,STRINGIMAGE (n-i+1),'"\space{1}")
+;      rnam := INTERN STRCONC ('"r",STRINGIMAGE i)
+;      [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'P]]]
+;  equationPart := [
+;     '(domainConditions
+;        (isDomain P (Polynomial $EmptyMode))
+;         (isDomain S (String))
+;          (isDomain PI (PositiveInteger))),
+;            :labelList]
+;  page := htInitPage("C02AGF - All Zeros of a Real Polynomial", htpPropertyList htPage)
+;  htSay '"\menuitemstyle{} \tab{2} "
+;  htSay '"Enter the coefficients of the polynomial: "
+;  htSay '"\newline "
+;  htMakePage equationPart
+;  htMakeDoneButton('"Continue",'c02agfGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'scale,scale)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |c02agfSolve,f| (|i| |n|)
+  (PROG (|prefix| |rnam|)
+    (RETURN
+      (SEQ (SPADLET |prefix| (MAKESTRING "\\newline z**"))
+           (SPADLET |prefix|
+                    (STRCONC |prefix|
+                             (STRINGIMAGE
+                                 (PLUS (SPADDIFFERENCE |n| |i|) 1))
+                             (MAKESTRING "\\space{1}")))
+           (SPADLET |rnam|
+                    (INTERN (STRCONC (MAKESTRING "r")
+                                     (STRINGIMAGE |i|))))
+           (EXIT (CONS (CONS '|text| |prefix|)
+                       (CONS (CONS '|bcStrings|
+                                   (CONS
+                                    (CONS 10
+                                     (CONS 0.0
+                                      (CONS |rnam| (CONS 'P NIL))))
+                                    NIL))
+                             NIL)))))))
+
+(DEFUN |c02agfSolve| (|htPage|)
+  (PROG (|n| |logical| |scale| |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 |logical| (|htpButtonValue| |htPage| '|scale|))
+             (SPADLET |scale|
+                      (COND
+                        ((BOOT-EQUAL |logical| '|true|)
+                         (MAKESTRING "true"))
+                        ('T (MAKESTRING "false"))))
+             (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|))
+             (SPADLET |ifail|
+                      (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1)))
+             (COND
+               ((BOOT-EQUAL |n| '5)
+                (|c02agfDefaultSolve| |htPage| |scale| |ifail|))
+               ('T
+                (SPADLET |labelList|
+                         (PROG (G166149)
+                           (SPADLET G166149 NIL)
+                           (RETURN
+                             (DO ((G166154 (PLUS |n| 1))
+                                  (|i| 1 (QSADD1 |i|)))
+                                 ((QSGREATERP |i| G166154) G166149)
+                               (SEQ (EXIT
+                                     (SETQ G166149
+                                      (APPEND G166149
+                                       (|c02agfSolve,f| |i| |n|)))))))))
+                (SPADLET |equationPart|
+                         (CONS '(|domainConditions|
+                                    (|isDomain| P
+                                     (|Polynomial| |$EmptyMode|))
+                                    (|isDomain| S (|String|))
+                                    (|isDomain| PI (|PositiveInteger|)))
+                               |labelList|))
+                (SPADLET |page|
+                         (|htInitPage|
+                             '|C02AGF - All Zeros of a Real Polynomial|
+                             (|htpPropertyList| |htPage|)))
+                (|htSay| (MAKESTRING "\\menuitemstyle{} \\tab{2} "))
+                (|htSay| (MAKESTRING
+                             "Enter the coefficients of the polynomial: "))
+                (|htSay| (MAKESTRING "\\newline "))
+                (|htMakePage| |equationPart|)
+                (|htMakeDoneButton| (MAKESTRING "Continue")
+                    '|c02agfGen|)
+                (|htpSetProperty| |page| '|n| |n|)
+                (|htpSetProperty| |page| '|scale| |scale|)
+                (|htpSetProperty| |page| '|ifail| |ifail|)
+                (|htpSetProperty| |page| '|inputArea|
+                    (|htpInputAreaAlist| |htPage|))
+                (|htShowPage|))))))))
+
+;c02agfDefaultSolve (htPage, scale, ifail) ==
+;  n := '5
+;  page := htInitPage('"C02AGF - All Zeros of a Real Polynomial",nil)
+;  htMakePage '(
+;    (domainConditions
+;       (isDomain F (Float)))
+;    (text . "\newline \menuitemstyle{} \tab{2} ")
+;    (text . "Enter the coefficients of the polynomial: ")
+;    (text . "\newline ")
+;    (text . "z**5 \space{1} ")
+;    (bcStrings (10 "1.0" r1 F))
+;    (text . "\newline ")
+;    (text . "z**4 \space{1} ")
+;    (bcStrings (10 "2.0" r2 F))
+;    (text . "\newline ")
+;    (text . "z**3 \space{1} ")
+;    (bcStrings (10 "3.0" r3 F))
+;    (text . "\newline ")
+;    (text . "z**2 \space{1} ")
+;    (bcStrings (10 "4.0" r4 F))
+;    (text . "\newline ")
+;    (text . "z**1 \space{1} ")
+;    (bcStrings (10 "5.0" r5 F))
+;    (text . "\newline ")
+;    (text . "z**0 \space{1} ")
+;    (bcStrings (10 "6.0" r6 F))
+;    (text . "\newline ")
+;    (text . "\blankline"))
+;  htMakeDoneButton('"Continue",'c02agfGen)
+;  htpSetProperty(page,'n,n)
+;  htpSetProperty(page,'scale,scale)
+;  htpSetProperty(page,'ifail,ifail)
+;  htpSetProperty(page,'inputArea, htpInputAreaAlist htPage)
+;  htShowPage()
+
+(DEFUN |c02agfDefaultSolve| (|htPage| |scale| |ifail|)
+  (PROG (|n| |page|)
+    (RETURN
+      (PROGN
+        (SPADLET |n| '5)
+        (SPADLET |page|
+                 (|htInitPage|
+                     (MAKESTRING
+                         "C02AGF - All Zeros of a Real Polynomial")
+                     NIL))
+        (|htMakePage|
+            '((|domainConditions| (|isDomain| F (|Float|)))
+              (|text| . "\\newline \\menuitemstyle{} \\tab{2} ")
+              (|text| . "Enter the coefficients of the polynomial: ")
+              (|text| . "\\newline ") (|text| . "z**5 \\space{1} ")
+              (|bcStrings| (10 "1.0" |r1| F)) (|text| . "\\newline ")
+              (|text| . "z**4 \\space{1} ")
+              (|bcStrings| (10 "2.0" |r2| F)) (|text| . "\\newline ")
+              (|text| . "z**3 \\space{1} ")
+              (|bcStrings| (10 "3.0" |r3| F)) (|text| . "\\newline ")
+              (|text| . "z**2 \\space{1} ")
+              (|bcStrings| (10 "4.0" |r4| F)) (|text| . "\\newline ")
+              (|text| . "z**1 \\space{1} ")
+              (|bcStrings| (10 "5.0" |r5| F)) (|text| . "\\newline ")
+              (|text| . "z**0 \\space{1} ")
+              (|bcStrings| (10 "6.0" |r6| F)) (|text| . "\\newline ")
+              (|text| . "\\blankline")))
+        (|htMakeDoneButton| (MAKESTRING "Continue") '|c02agfGen|)
+        (|htpSetProperty| |page| '|n| |n|)
+        (|htpSetProperty| |page| '|scale| |scale|)
+        (|htpSetProperty| |page| '|ifail| |ifail|)
+        (|htpSetProperty| |page| '|inputArea|
+            (|htpInputAreaAlist| |htPage|))
+        (|htShowPage|)))))
+
+;c02agfGen htPage ==
+;  n := htpProperty(htPage,'n)
+;  scale := htpProperty(htPage,'scale)
+;  ifail := htpProperty(htPage,'ifail)
+;  alist := htpInputAreaAlist htPage
+;  y := alist
+;  while y repeat
+;    left := STRCONC((first y).1," ")
+;    y := rest y
+;    reallist := [left,:reallist]
+;  realstring := bcwords2liststring reallist
+;  linkGen STRCONC ('"c02agf([",realstring,"],",STRINGIMAGE n,",",scale,",",STRINGIMAGE ifail,")")
+
+(DEFUN |c02agfGen| (|htPage|)
+  (PROG (|n| |scale| |ifail| |alist| |left| |y| |reallist|
+             |realstring|)
+    (RETURN
+      (SEQ (PROGN
+             (SPADLET |n| (|htpProperty| |htPage| '|n|))
+             (SPADLET |scale| (|htpProperty| |htPage| '|scale|))
+             (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|))
+             (SPADLET |alist| (|htpInputAreaAlist| |htPage|))
+             (SPADLET |y| |alist|)
+             (DO () ((NULL |y|) NIL)
+               (SEQ (EXIT (PROGN
+                            (SPADLET |left|
+                                     (STRCONC (ELT (CAR |y|) 1) '| |))
+                            (SPADLET |y| (CDR |y|))
+                            (SPADLET |reallist|
+                                     (CONS |left| |reallist|))))))
+             (SPADLET |realstring| (|bcwords2liststring| |reallist|))
+             (|linkGen|
+                 (STRCONC (MAKESTRING "c02agf([") |realstring| '|],|
+                          (STRINGIMAGE |n|) '|,| |scale| '|,|
+                          (STRINGIMAGE |ifail|) '|)|)))))))
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
